mirror of https://github.com/avecms/AVE.cms.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
128 lines
3.6 KiB
128 lines
3.6 KiB
7 years ago
|
var DocSearch = {
|
||
|
|
||
|
init: false,
|
||
|
|
||
|
init: function() {
|
||
|
if (this.initialized) return;
|
||
|
this.initialized = true;
|
||
|
|
||
|
this.DocSearch_items();
|
||
|
},
|
||
|
|
||
|
DocSearch_items: function() {
|
||
|
this.DocSearch_sortable();
|
||
|
this.DocSearch_del_item();
|
||
|
this.DocSearch_add();
|
||
|
this.DocSearch_search();
|
||
|
},
|
||
|
|
||
|
DocSearch_update: function() {
|
||
|
this.DocSearch_maxid();
|
||
|
this.DocSearch_del_item();
|
||
|
this.DocSearch_search();
|
||
|
AveAdmin.tooltip();
|
||
|
},
|
||
|
|
||
|
DocSearch_maxid: function(id) {
|
||
|
var maxid = 1;
|
||
|
$('#docsearch_lists_' + id).children('.docsearch_list').each(function() {
|
||
|
maxid = Math.max(maxid, parseInt($(this).attr("data-id")) + 1);
|
||
|
});
|
||
|
return maxid;
|
||
|
},
|
||
|
|
||
|
DocSearch_del_item: function() {
|
||
|
$('.docsearch_list .DelButton').on('click', function(event) {
|
||
|
event.preventDefault();
|
||
|
var id = $(this).attr('data-id');
|
||
|
jConfirm(
|
||
|
docsearch_del_conf,
|
||
|
docsearch_del_head,
|
||
|
function(b) {
|
||
|
if (b) {
|
||
|
$('#docsearch_list_' + id).remove();
|
||
|
}
|
||
|
}
|
||
|
);
|
||
|
});
|
||
|
},
|
||
|
|
||
|
DocSearch_add: function() {
|
||
|
$('.AddButton').on('click', function() {
|
||
|
c_id = $(this).parent().parent('.docsearch_lists').attr("data-id");
|
||
|
d_id = $(this).parent().parent('.docsearch_lists').attr("data-docid");
|
||
|
i_id = DocSearch.DocSearch_maxid(d_id + '_' + c_id);
|
||
|
$('#docsearch_lists_' + d_id + '_' + c_id + ':last').append(
|
||
|
'<div class="docsearch_list fix mb10" id="docsearch_list_' + d_id + '_' + c_id + '_' + i_id + '" data-id="' + i_id + '">' +
|
||
|
'<input class="mousetrap search_docsearch" name="feld[' + c_id + '][' + i_id + '][param]" type="text" value="" placeholder="' + docsearch_param + '" data-docid="' + d_id + '" data-fieldid="' + c_id + '" data-id="' + i_id + '" style="width: 450px;"/> Id: <input type="text" class="mousetrap field_' + d_id + '_' + c_id + '_' + i_id + '" value="" name="feld[' + c_id + '][' + i_id + '][value]" placeholder="' + docsearch_value + '" style="width: 50px;" readonly /> <a href="javascript:void(0);" data-id="' + d_id + '_' + c_id + '_' + i_id + '" class="button redBtn topDir DelButton" title="' + docsearch_del + '">×</a>' +
|
||
|
'<div class="handle" style="float: left; display: inline-block; margin: 4px 7px; cursor: move;"><span class="icon_sprite ico_move"></span></div>' +
|
||
|
'</div>'
|
||
|
);
|
||
|
|
||
|
DocSearch.DocSearch_update();
|
||
|
});
|
||
|
},
|
||
|
|
||
|
DocSearch_sortable: function() {
|
||
|
$('.docsearch_lists').sortable({
|
||
|
handle: ".handle",
|
||
|
placeholder: "ui-state-highlight grey_bg"
|
||
|
});
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* @return {boolean}
|
||
|
*/
|
||
|
DocSearch_search: function() {
|
||
|
|
||
|
$(document).on('input', '.search_docsearch', function(event)
|
||
|
{
|
||
|
event.preventDefault();
|
||
|
|
||
|
var query = $(this);
|
||
|
|
||
|
var did = query.attr('data-docid');
|
||
|
var fid = query.attr('data-fieldid');
|
||
|
var kid = query.attr('data-id');
|
||
|
var field_id_input = $('.field_' + did + '_' + fid + '_' + kid);
|
||
|
|
||
|
query.autocomplete("index.php?do=fields&field=doc_from_rub_search&type=search&doc_id=" + did + "&field_id=" + fid, {
|
||
|
width: query.outerWidth(),
|
||
|
max: 5,
|
||
|
dataType: "json",
|
||
|
matchContains: "word",
|
||
|
scroll: true,
|
||
|
scrollHeight: 200,
|
||
|
parse: function(data) {
|
||
|
return $.map(data, function(row) {
|
||
|
return {
|
||
|
data: row,
|
||
|
value: row.doc_title,
|
||
|
result: query.val()
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
formatItem: function(item) {
|
||
|
return '<div style="padding: 3px 0;"><span style="font-weight: 700;">(' + item.doc_rubric + ')</span> ' + item.doc_title + '</div>';
|
||
|
}
|
||
|
}).result(function(event, item) {
|
||
|
|
||
|
query.val(item.doc_title);
|
||
|
|
||
|
field_id_input.val(item.doc_id);
|
||
|
|
||
|
query.unautocomplete();
|
||
|
});
|
||
|
|
||
|
return false;
|
||
|
});
|
||
|
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$(document).ready(function()
|
||
|
{
|
||
|
DocSearch.init();
|
||
|
});
|