mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-02-07 15:44:58 +00:00
166 lines
5.2 KiB
JavaScript
166 lines
5.2 KiB
JavaScript
|
||
$(document).ready( function() {
|
||
$('body').on('hidden', '.modal', function () {
|
||
$(this).removeData('modal');
|
||
});
|
||
|
||
$('body').on('touchstart.dropdown', '.dropdown-menu', function (e) { e.stopPropagation(); });
|
||
|
||
$('#expirationdate, #fromdate, #todate, #createstartdate, #createenddate, #expirationstartdate, #expirationenddate')
|
||
.datepicker()
|
||
.on('changeDate', function(ev){
|
||
$('#expirationdate, #fromdate, #todate, #createstartdate, #createenddate, #expirationstartdate, #expirationenddate').datepicker('hide');
|
||
});
|
||
|
||
$(".chzn-select").chosen();
|
||
$(".chzn-select-deselect").chosen({allow_single_deselect:true});
|
||
|
||
$(".pwd").passStrength({
|
||
url: "../op/op.Ajax.php",
|
||
onChange: function(data, target) {
|
||
pwsp = 100*data.score;
|
||
$('#'+target+' div.bar').width(pwsp+'%');
|
||
if(data.ok) {
|
||
$('#'+target+' div.bar').removeClass('bar-danger');
|
||
$('#'+target+' div.bar').addClass('bar-success');
|
||
} else {
|
||
$('#'+target+' div.bar').removeClass('bar-success');
|
||
$('#'+target+' div.bar').addClass('bar-danger');
|
||
}
|
||
}
|
||
});
|
||
|
||
/* The typeahead functionality useѕ the rest api */
|
||
$("#searchfield").typeahead({
|
||
minLength: 3,
|
||
source: function(query, process) {
|
||
$.get('../restapi/index.php/search', { query: query, limit: 8, mode: 'typeahead' }, function(data) {
|
||
process(data);
|
||
});
|
||
},
|
||
/* updater is called when the item in the list is clicked. It is
|
||
* actually provided to update the input field, but here we use
|
||
* it to set the document location. */
|
||
updater: function (item) {
|
||
document.location = "../op/op.Search.php?query=" + encodeURIComponent(item.substring(1));
|
||
return item;
|
||
},
|
||
/* Set a matcher that allows any returned value */
|
||
matcher : function (item) {
|
||
return true;
|
||
},
|
||
highlighter : function (item) {
|
||
if(item.charAt(0) == 'D')
|
||
return '<i class="icon-file"></i> ' + item.substring(1);
|
||
else if(item.charAt(0) == 'F')
|
||
return '<i class="icon-folder-close"></i> ' + item.substring(1);
|
||
else
|
||
return '<i class="icon-search"></i> ' + item.substring(1);
|
||
}
|
||
});
|
||
|
||
/* Document chooser */
|
||
$("#choosedocsearch").typeahead({
|
||
minLength: 3,
|
||
formname: 'form1',
|
||
source: function(query, process) {
|
||
// console.log(this.options);
|
||
$.get('../op/op.Ajax.php', { command: 'searchdocument', query: query, limit: 8 }, function(data) {
|
||
process(data);
|
||
});
|
||
},
|
||
/* updater is called when the item in the list is clicked. It is
|
||
* actually provided to update the input field where you type, but here
|
||
* we use it to update a second input field with the doc id. */
|
||
updater: function (item) {
|
||
strarr = item.split("#");
|
||
//console.log(this.options.formname);
|
||
$('#docid' + this.options.formname).attr('value', strarr[0]);
|
||
return strarr[1];
|
||
},
|
||
/* Set a matcher that allows any returned value */
|
||
matcher : function (item) {
|
||
return true;
|
||
},
|
||
highlighter : function (item) {
|
||
strarr = item.split("#");
|
||
return '<i class="icon-file"></i> ' + strarr[1];
|
||
}
|
||
});
|
||
|
||
/* Folder chooser */
|
||
$("#choosefoldersearch").typeahead({
|
||
minLength: 3,
|
||
formname: 'form1',
|
||
source: function(query, process) {
|
||
// console.log(this.options);
|
||
$.get('../op/op.Ajax.php', { command: 'searchfolder', query: query, limit: 8 }, function(data) {
|
||
process(data);
|
||
});
|
||
},
|
||
/* updater is called when the item in the list is clicked. It is
|
||
* actually provided to update the input field, but here we use
|
||
* it to set the document location. */
|
||
updater: function (item) {
|
||
strarr = item.split("#");
|
||
//console.log(this.options.formname);
|
||
$('#targetid' + this.options.formname).attr('value', strarr[0]);
|
||
return strarr[1];
|
||
},
|
||
/* Set a matcher that allows any returned value */
|
||
matcher : function (item) {
|
||
return true;
|
||
},
|
||
highlighter : function (item) {
|
||
strarr = item.split("#");
|
||
return '<i class="icon-folder-close"></i> ' + strarr[1];
|
||
}
|
||
});
|
||
});
|
||
|
||
function allowDrop(ev) {
|
||
ev.preventDefault();
|
||
return false;
|
||
}
|
||
|
||
function onDragStartDocument(ev) {
|
||
attr_rel = $(ev.target).attr('rel');
|
||
ev.dataTransfer.setData("id", attr_rel.split("_")[1]);
|
||
ev.dataTransfer.setData("type","document");
|
||
}
|
||
|
||
function onDragStartFolder(ev) {
|
||
attr_rel = $(ev.target).attr('rel');
|
||
ev.dataTransfer.setData("id", attr_rel.split("_")[1]);
|
||
ev.dataTransfer.setData("type","folder");
|
||
}
|
||
|
||
function onDrop(ev) {
|
||
ev.preventDefault();
|
||
ev.stopPropagation();
|
||
attr_rel = $(ev.currentTarget).attr('rel');
|
||
target_type = attr_rel.split("_")[0];
|
||
target_id = attr_rel.split("_")[1];
|
||
source_type = ev.dataTransfer.getData("type");
|
||
source_id = ev.dataTransfer.getData("id");
|
||
if(source_type == 'document') {
|
||
url = "../out/out.MoveDocument.php?documentid="+source_id+"&targetid="+target_id;
|
||
document.location = url;
|
||
} else if(source_type == 'folder') {
|
||
url = "../out/out.MoveFolder.php?folderid="+source_id+"&targetid="+target_id;
|
||
document.location = url;
|
||
}
|
||
// console.log(attr_rel);
|
||
// console.log(ev.dataTransfer.getData("type") + ev.dataTransfer.getData("id"));
|
||
}
|
||
|
||
function onAddClipboard(ev) {
|
||
ev.preventDefault();
|
||
source_type = ev.dataTransfer.getData("type");
|
||
source_id = ev.dataTransfer.getData("id");
|
||
if(source_type == 'document' || source_type == 'folder') {
|
||
url = "../op/op.AddToClipboard.php?id="+source_id+"&type="+source_type;
|
||
document.location = url;
|
||
}
|
||
}
|