mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-02-06 23:24:57 +00:00
781 lines
22 KiB
JavaScript
781 lines
22 KiB
JavaScript
|
||
$(document).ready( function() {
|
||
/* close popovers when clicking somewhere except in the popover or the
|
||
* remove icon
|
||
*/
|
||
$('html').on('click', function(e) {
|
||
if (typeof $(e.target).data('original-title') == 'undefined' && !$(e.target).parents().is('.popover.in') && !$(e.target).is('.icon-remove')) {
|
||
$('[data-original-title]').popover('hide');
|
||
}
|
||
});
|
||
|
||
$('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, #revisionstartdate')
|
||
.datepicker()
|
||
.on('changeDate', function(ev){
|
||
$(ev.currentTarget).datepicker('hide');
|
||
});
|
||
|
||
$(".chzn-select").chosen({width: "95%"});
|
||
$(".chzn-select-deselect").chosen({width: "95%", allow_single_deselect:true});
|
||
|
||
/* change the color and length of the bar graph showing the password
|
||
* strength on each change to the passwod field.
|
||
*/
|
||
$(".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-alt"></i> ' + item.substring(1);
|
||
else
|
||
return '<i class="icon-search"></i> ' + item.substring(1);
|
||
}
|
||
});
|
||
|
||
/* Document chooser */
|
||
$("[id^=choosedocsearch]").typeahead({
|
||
minLength: 3,
|
||
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("#");
|
||
target = this.$element.data('target');
|
||
$('#'+target).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 */
|
||
$("[id^=choosefoldersearch]").typeahead({
|
||
minLength: 3,
|
||
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.$element.data('target'));
|
||
target = this.$element.data('target');
|
||
$('#'+target).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-alt"></i> ' + strarr[1];
|
||
}
|
||
});
|
||
|
||
$('body').on('click', 'button.removedocument', function(ev){
|
||
ev.preventDefault();
|
||
attr_rel = $(ev.currentTarget).attr('rel');
|
||
attr_msg = $(ev.currentTarget).attr('msg');
|
||
attr_formtoken = $(ev.currentTarget).attr('formtoken');
|
||
id = attr_rel;
|
||
$.get('../op/op.Ajax.php',
|
||
{ command: 'deletedocument', id: id, formtoken: attr_formtoken },
|
||
function(data) {
|
||
// console.log(data);
|
||
if(data.success) {
|
||
$('#table-row-document-'+id).hide('slow');
|
||
noty({
|
||
text: attr_msg,
|
||
type: 'success',
|
||
dismissQueue: true,
|
||
layout: 'topRight',
|
||
theme: 'defaultTheme',
|
||
timeout: 1500,
|
||
});
|
||
} else {
|
||
noty({
|
||
text: data.message,
|
||
type: 'error',
|
||
dismissQueue: true,
|
||
layout: 'topRight',
|
||
theme: 'defaultTheme',
|
||
timeout: 3500,
|
||
});
|
||
}
|
||
},
|
||
'json'
|
||
);
|
||
});
|
||
|
||
$('body').on('click', 'button.removefolder', function(ev){
|
||
ev.preventDefault();
|
||
attr_rel = $(ev.currentTarget).attr('rel');
|
||
attr_msg = $(ev.currentTarget).attr('msg');
|
||
attr_formtoken = $(ev.currentTarget).attr('formtoken');
|
||
id = attr_rel;
|
||
$.get('../op/op.Ajax.php',
|
||
{ command: 'deletefolder', id: id, formtoken: attr_formtoken },
|
||
function(data) {
|
||
// console.log(data);
|
||
if(data.success) {
|
||
$('#table-row-folder-'+id).hide('slow');
|
||
noty({
|
||
text: attr_msg,
|
||
type: 'success',
|
||
dismissQueue: true,
|
||
layout: 'topRight',
|
||
theme: 'defaultTheme',
|
||
timeout: 1500,
|
||
});
|
||
} else {
|
||
noty({
|
||
text: data.message,
|
||
type: 'error',
|
||
dismissQueue: true,
|
||
layout: 'topRight',
|
||
theme: 'defaultTheme',
|
||
timeout: 3500,
|
||
});
|
||
}
|
||
},
|
||
'json'
|
||
);
|
||
});
|
||
|
||
$('body').on('click', 'a.addtoclipboard', function(ev){
|
||
ev.preventDefault();
|
||
attr_rel = $(ev.currentTarget).attr('rel');
|
||
attr_msg = $(ev.currentTarget).attr('msg');
|
||
type = attr_rel.substring(0, 1) == 'F' ? 'folder' : 'document';
|
||
id = attr_rel.substring(1);
|
||
$.get('../op/op.Ajax.php',
|
||
{ command: 'addtoclipboard', type: type, id: id },
|
||
function(data) {
|
||
console.log(data);
|
||
if(data.success) {
|
||
$("#main-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=mainclipboard')
|
||
$("#menu-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=menuclipboard')
|
||
noty({
|
||
text: attr_msg,
|
||
type: 'success',
|
||
dismissQueue: true,
|
||
layout: 'topRight',
|
||
theme: 'defaultTheme',
|
||
timeout: 1500,
|
||
});
|
||
} else {
|
||
noty({
|
||
text: data.message,
|
||
type: 'error',
|
||
dismissQueue: true,
|
||
layout: 'topRight',
|
||
theme: 'defaultTheme',
|
||
timeout: 3500,
|
||
});
|
||
}
|
||
},
|
||
'json'
|
||
);
|
||
});
|
||
|
||
$('body').on('click', 'a.removefromclipboard', function(ev){
|
||
ev.preventDefault();
|
||
attr_rel = $(ev.currentTarget).attr('rel');
|
||
attr_msg = $(ev.currentTarget).attr('msg');
|
||
type = attr_rel.substring(0, 1) == 'F' ? 'folder' : 'document';
|
||
id = attr_rel.substring(1);
|
||
$.get('../op/op.Ajax.php',
|
||
{ command: 'removefromclipboard', type: type, id: id },
|
||
function(data) {
|
||
console.log(data);
|
||
if(data.success) {
|
||
$("#main-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=mainclipboard')
|
||
$("#menu-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=menuclipboard')
|
||
noty({
|
||
text: attr_msg,
|
||
type: 'success',
|
||
dismissQueue: true,
|
||
layout: 'topRight',
|
||
theme: 'defaultTheme',
|
||
timeout: 1500,
|
||
});
|
||
} else {
|
||
noty({
|
||
text: data.message,
|
||
type: 'error',
|
||
dismissQueue: true,
|
||
layout: 'topRight',
|
||
theme: 'defaultTheme',
|
||
timeout: 3500,
|
||
});
|
||
}
|
||
},
|
||
'json'
|
||
);
|
||
});
|
||
|
||
$('body').on('click', 'a.lock-document-btn', function(ev){
|
||
ev.preventDefault();
|
||
attr_rel = $(ev.currentTarget).attr('rel');
|
||
attr_msg = $(ev.currentTarget).attr('msg');
|
||
id = attr_rel;
|
||
$.get('../op/op.Ajax.php',
|
||
{ command: 'tooglelockdocument', id: id },
|
||
function(data) {
|
||
console.log(data);
|
||
if(data.success) {
|
||
$("#table-row-document-"+id).html('Loading').load('../op/op.Ajax.php?command=view&view=documentlistrow&id='+id)
|
||
noty({
|
||
text: attr_msg,
|
||
type: 'success',
|
||
dismissQueue: true,
|
||
layout: 'topRight',
|
||
theme: 'defaultTheme',
|
||
timeout: 1500,
|
||
});
|
||
} else {
|
||
noty({
|
||
text: data.message,
|
||
type: 'error',
|
||
dismissQueue: true,
|
||
layout: 'topRight',
|
||
theme: 'defaultTheme',
|
||
timeout: 3500,
|
||
});
|
||
}
|
||
},
|
||
'json'
|
||
);
|
||
});
|
||
$('a.sendtestmail').click(function(ev){
|
||
ev.preventDefault();
|
||
$.ajax({url: '../op/op.Ajax.php',
|
||
type: 'GET',
|
||
dataType: "json",
|
||
data: {command: 'testmail'},
|
||
success: function(data) {
|
||
console.log(data);
|
||
noty({
|
||
text: data.msg,
|
||
type: (data.error) ? 'error' : 'success',
|
||
dismissQueue: true,
|
||
layout: 'topRight',
|
||
theme: 'defaultTheme',
|
||
timeout: 1500,
|
||
});
|
||
}
|
||
});
|
||
});
|
||
|
||
$('a.movefolder').click(function(ev){
|
||
ev.preventDefault();
|
||
attr_source = $(ev.currentTarget).attr('source');
|
||
attr_dest = $(ev.currentTarget).attr('dest');
|
||
attr_msg = $(ev.currentTarget).attr('msg');
|
||
attr_formtoken = $(ev.currentTarget).attr('formtoken');
|
||
$.get('../op/op.Ajax.php',
|
||
{ command: 'movefolder', folderid: attr_source, targetfolderid: attr_dest, formtoken: attr_formtoken },
|
||
function(data) {
|
||
if(data.success) {
|
||
console.log(data);
|
||
noty({
|
||
text: data.msg,
|
||
type: data.success ? 'success' : 'error',
|
||
dismissQueue: true,
|
||
layout: 'topRight',
|
||
theme: 'defaultTheme',
|
||
timeout: 1500,
|
||
});
|
||
}
|
||
},
|
||
'json'
|
||
);
|
||
});
|
||
|
||
$('a.movedocument').click(function(ev){
|
||
ev.preventDefault();
|
||
attr_source = $(ev.currentTarget).attr('source');
|
||
attr_dest = $(ev.currentTarget).attr('dest');
|
||
attr_msg = $(ev.currentTarget).attr('msg');
|
||
attr_formtoken = $(ev.currentTarget).attr('formtoken');
|
||
$.get('../op/op.Ajax.php',
|
||
{ command: 'movedocument', docid: attr_source, targetfolderid: attr_dest, formtoken: attr_formtoken },
|
||
function(data) {
|
||
if(data.success) {
|
||
console.log(data);
|
||
noty({
|
||
text: data.msg,
|
||
type: data.success ? 'success' : 'error',
|
||
dismissQueue: true,
|
||
layout: 'topRight',
|
||
theme: 'defaultTheme',
|
||
timeout: 1500,
|
||
});
|
||
}
|
||
},
|
||
'json'
|
||
);
|
||
});
|
||
|
||
$('.send-missing-translation a').click(function(ev){
|
||
// console.log($(ev.target).parent().children('[name=missing-lang-key]').val());
|
||
// console.log($(ev.target).parent().children('[name=missing-lang-lang]').val());
|
||
// console.log($(ev.target).parent().children('[name=missing-lang-translation]').val());
|
||
$.ajax('../op/op.Ajax.php', {
|
||
type:"POST",
|
||
async:true,
|
||
dataType:"json",
|
||
data: {
|
||
command: 'submittranslation',
|
||
key: $(ev.target).parent().children('[name=missing-lang-key]').val(),
|
||
lang: $(ev.target).parent().children('[name=missing-lang-lang]').val(),
|
||
phrase: $(ev.target).parent().children('[name=missing-lang-translation]').val()
|
||
},
|
||
success: function(data, textStatus) {
|
||
// console.log(data);
|
||
noty({
|
||
text: data.message,
|
||
type: data.success ? 'success' : 'error',
|
||
dismissQueue: true,
|
||
layout: 'topRight',
|
||
theme: 'defaultTheme',
|
||
timeout: 1500,
|
||
});
|
||
}
|
||
});
|
||
});
|
||
|
||
$(document).on('change', '.btn-file :file', function() {
|
||
var input = $(this),
|
||
numFiles = input.get(0).files ? input.get(0).files.length : 1,
|
||
label = input.val().replace(/\\/g, '/').replace(/.*\//, '');
|
||
input.trigger('fileselect', [numFiles, label]);
|
||
});
|
||
|
||
$('#upload-files').on('fileselect', '.btn-file :file', function(event, numFiles, label) {
|
||
var input = $(this).parents('.input-append').find(':text'),
|
||
log = numFiles > 1 ? numFiles + ' files selected' : label;
|
||
|
||
if( input.length ) {
|
||
input.val(log);
|
||
} else {
|
||
if( log ) alert(log);
|
||
}
|
||
});
|
||
|
||
$('div.ajax').each(function(index) {
|
||
var element = $(this);
|
||
var url = '';
|
||
var href = element.data('href');
|
||
var view = element.data('view');
|
||
var action = element.data('action');
|
||
var query = element.data('query');
|
||
if(view && action) {
|
||
url = "out."+view+".php?action="+action;
|
||
if(query) {
|
||
url += "&"+query;
|
||
}
|
||
} else
|
||
url = href;
|
||
// console.log('Calling '+url);
|
||
$.get(url, function(data) {
|
||
element.html(data);
|
||
$(".chzn-select").chosen();
|
||
});
|
||
});
|
||
$('div.ajax').on('update', function(event, param1) {
|
||
var element = $(this);
|
||
var url = '';
|
||
var href = element.data('href');
|
||
var view = element.data('view');
|
||
var action = element.data('action');
|
||
if(view && action)
|
||
url = "out."+view+".php?action="+action;
|
||
else
|
||
url = href;
|
||
if(typeof param1 === 'object') {
|
||
for(var key in param1) {
|
||
url += "&"+key+"="+param1[key];
|
||
}
|
||
} else {
|
||
url += "&"+param1;
|
||
}
|
||
// console.log("Calling: "+url);
|
||
element.prepend('<div style="position: absolute; overflow: hidden; background: #f7f7f7; z-index: 1000; height: '+element.height()+'px; width: '+element.width()+'px; opacity: 0.7; display: table;"><div style="display: table-cell;text-align: center; vertical-align: middle; "><img src="../views/bootstrap/images/ajax-loader.gif"></div>');
|
||
$.get(url, function(data) {
|
||
element.html(data);
|
||
$(".chzn-select").chosen();
|
||
});
|
||
});
|
||
$("body").on("click", ".ajax-click", function() {
|
||
var element = $(this);
|
||
var url = element.data('href')+"?"+element.data('param1');
|
||
$.ajax({
|
||
type: 'GET',
|
||
url: url,
|
||
dataType: 'json',
|
||
success: function(data){
|
||
for (var i = 0; i < data.length; i++) {
|
||
noty({text: data[i].text, type: data[i].type});
|
||
}
|
||
}
|
||
});
|
||
});
|
||
|
||
});
|
||
|
||
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.originalEvent.dataTransfer.getData("type");
|
||
source_id = ev.originalEvent.dataTransfer.getData("id");
|
||
if(source_type == 'document' || source_type == 'folder') {
|
||
$.get('../op/op.Ajax.php',
|
||
{ command: 'addtoclipboard', type: source_type, id: source_id },
|
||
function(data) {
|
||
if(data.success) {
|
||
$("#main-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=mainclipboard')
|
||
$("#menu-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=menuclipboard')
|
||
noty({
|
||
text: data.message,
|
||
type: 'success',
|
||
dismissQueue: true,
|
||
layout: 'topRight',
|
||
theme: 'defaultTheme',
|
||
timeout: 1500,
|
||
});
|
||
} else {
|
||
noty({
|
||
text: data.message,
|
||
type: 'error',
|
||
dismissQueue: true,
|
||
layout: 'topRight',
|
||
theme: 'defaultTheme',
|
||
timeout: 3500,
|
||
});
|
||
}
|
||
},
|
||
'json'
|
||
);
|
||
//url = "../op/op.AddToClipboard.php?id="+source_id+"&type="+source_type;
|
||
//document.location = url;
|
||
}
|
||
}
|
||
|
||
(function( SeedDMSUpload, $, undefined ) {
|
||
var ajaxurl = "../op/op.Ajax.php";
|
||
var editBtnLabel = "Edit";
|
||
var abortBtnLabel = "Abort";
|
||
var maxFileSize = 100000;
|
||
var maxFileSizeMsg = 'File too large';
|
||
var rowCount=0;
|
||
|
||
SeedDMSUpload.setUrl = function(url) {
|
||
ajaxurl = url;
|
||
}
|
||
|
||
SeedDMSUpload.setAbortBtnLabel = function(label) {
|
||
abortBtnLabel = label;
|
||
}
|
||
|
||
SeedDMSUpload.setEditBtnLabel = function(label) {
|
||
editBtnLabel = label;
|
||
}
|
||
|
||
SeedDMSUpload.setMaxFileSize = function(size) {
|
||
maxFileSize = size;
|
||
}
|
||
|
||
SeedDMSUpload.setMaxFileSizeMsg = function(msg) {
|
||
maxFileSizeMsg = msg;
|
||
}
|
||
|
||
function sendFileToServer(formData,status) {
|
||
formData.append('command', 'uploaddocument');
|
||
var uploadURL = ajaxurl; //Upload URL
|
||
var extraData ={}; //Extra Data.
|
||
var jqXHR=$.ajax({
|
||
xhr: function() {
|
||
var xhrobj = $.ajaxSettings.xhr();
|
||
if (xhrobj.upload) {
|
||
xhrobj.upload.addEventListener('progress', function(event) {
|
||
var percent = 0;
|
||
var position = event.loaded || event.position;
|
||
var total = event.total;
|
||
if (event.lengthComputable) {
|
||
percent = Math.ceil(position / total * 100);
|
||
}
|
||
//Set progress
|
||
status.setProgress(percent);
|
||
}, false);
|
||
}
|
||
return xhrobj;
|
||
},
|
||
url: uploadURL,
|
||
type: "POST",
|
||
contentType: false,
|
||
dataType:"json",
|
||
processData: false,
|
||
cache: false,
|
||
data: formData,
|
||
success: function(data){
|
||
status.setProgress(100);
|
||
// console.log(data);
|
||
if(data.success) {
|
||
noty({
|
||
text: data.message,
|
||
type: 'success',
|
||
dismissQueue: true,
|
||
layout: 'topRight',
|
||
theme: 'defaultTheme',
|
||
timeout: 1500,
|
||
});
|
||
status.statusbar.after($('<a href="../out/out.EditDocument.php?documentid=' + data.data + '" class="btn btn-mini btn-primary">' + editBtnLabel + '</a>'));
|
||
} else {
|
||
noty({
|
||
text: data.message,
|
||
type: 'error',
|
||
dismissQueue: true,
|
||
layout: 'topRight',
|
||
theme: 'defaultTheme',
|
||
timeout: 3500,
|
||
});
|
||
}
|
||
}
|
||
});
|
||
|
||
status.setAbort(jqXHR);
|
||
}
|
||
|
||
function createStatusbar(obj) {
|
||
rowCount++;
|
||
var row="odd";
|
||
this.obj = obj;
|
||
if(rowCount %2 ==0) row ="even";
|
||
this.statusbar = $("<div class='statusbar "+row+"'></div>");
|
||
this.filename = $("<div class='filename'></div>").appendTo(this.statusbar);
|
||
this.size = $("<div class='filesize'></div>").appendTo(this.statusbar);
|
||
this.progressBar = $("<div class='progress'><div class='bar bar-success'></div></div>").appendTo(this.statusbar);
|
||
this.abort = $("<div class='btn btn-mini btn-danger'>" + abortBtnLabel + "</div>").appendTo(this.statusbar);
|
||
// $('.statusbar').empty();
|
||
obj.after(this.statusbar);
|
||
this.setFileNameSize = function(name,size) {
|
||
var sizeStr="";
|
||
var sizeKB = size/1024;
|
||
if(parseInt(sizeKB) > 1024) {
|
||
var sizeMB = sizeKB/1024;
|
||
sizeStr = sizeMB.toFixed(2)+" MB";
|
||
} else {
|
||
sizeStr = sizeKB.toFixed(2)+" KB";
|
||
}
|
||
|
||
this.filename.html(name);
|
||
this.size.html(sizeStr);
|
||
}
|
||
this.setProgress = function(progress) {
|
||
var progressBarWidth =progress*this.progressBar.width()/ 100;
|
||
this.progressBar.find('div').animate({ width: progressBarWidth }, 10).html(progress + "% ");
|
||
if(parseInt(progress) >= 100) {
|
||
this.abort.hide();
|
||
}
|
||
}
|
||
this.setAbort = function(jqxhr) {
|
||
var sb = this.statusbar;
|
||
this.abort.click(function() {
|
||
jqxhr.abort();
|
||
sb.hide();
|
||
});
|
||
}
|
||
}
|
||
|
||
SeedDMSUpload.handleFileUpload = function(files,obj) {
|
||
var target = obj.data('target');
|
||
if(target) {
|
||
for (var i = 0; i < files.length; i++) {
|
||
if(files[i].size <= maxFileSize) {
|
||
var fd = new FormData();
|
||
fd.append('folderid', target);
|
||
fd.append('formtoken', obj.data('formtoken'));
|
||
fd.append('userfile', files[i]);
|
||
// fd.append('path', files[i].webkitRelativePath);
|
||
|
||
var status = new createStatusbar(obj);
|
||
status.setFileNameSize(files[i].name,files[i].size);
|
||
sendFileToServer(fd,status);
|
||
} else {
|
||
noty({
|
||
text: maxFileSizeMsg + '<br /><em>' + files[i].name + ' (' + files[i].size + ' Bytes)</em>',
|
||
type: 'error',
|
||
dismissQueue: true,
|
||
layout: 'topRight',
|
||
theme: 'defaultTheme',
|
||
timeout: 5000,
|
||
});
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}( window.SeedDMSUpload = window.SeedDMSUpload || {}, jQuery ));
|
||
|
||
$(document).ready(function() {
|
||
var obj = $("#dragandrophandler");
|
||
obj.on('dragenter', function (e) {
|
||
e.stopPropagation();
|
||
e.preventDefault();
|
||
$(this).css('border', '2px dotted #0B85A1');
|
||
});
|
||
obj.on('dragover', function (e) {
|
||
e.stopPropagation();
|
||
e.preventDefault();
|
||
});
|
||
obj.on('drop', function (e) {
|
||
$(this).css('border', '0px dotted #0B85A1');
|
||
e.preventDefault();
|
||
var files = e.originalEvent.dataTransfer.files;
|
||
|
||
//We need to send dropped files to Server
|
||
SeedDMSUpload.handleFileUpload(files,obj);
|
||
});
|
||
|
||
var clipboard = $("#main-clipboard");
|
||
clipboard.on('dragenter', function (e) {
|
||
e.stopPropagation();
|
||
e.preventDefault();
|
||
$(this).css('border', '2px dotted #0B85A1');
|
||
});
|
||
clipboard.on('drop', function (e) {
|
||
$(this).css('border', '0px dotted #0B85A1');
|
||
onAddClipboard(e);
|
||
});
|
||
|
||
$(document).on('dragenter', function (e) {
|
||
e.stopPropagation();
|
||
e.preventDefault();
|
||
});
|
||
$(document).on('dragover', function (e) {
|
||
e.stopPropagation();
|
||
e.preventDefault();
|
||
});
|
||
$(document).on('drop', function (e) {
|
||
e.stopPropagation();
|
||
e.preventDefault();
|
||
});
|
||
|
||
});
|
||
|
||
var approval_count, review_count, receipt_count, revision_count;
|
||
var checkTasks = function() {
|
||
$.ajax({url: '../op/op.Ajax.php',
|
||
type: 'GET',
|
||
dataType: "json",
|
||
data: {command: 'mytasks'},
|
||
success: function(data) {
|
||
if(approval_count != data.data.approval.length ||
|
||
review_count != data.data.review.length ||
|
||
receipt_count != data.data.receipt.length ||
|
||
revision_count != data.data.revision.length) {
|
||
$("#menu-tasks > ul > li").html('Loading').hide().load('../op/op.Ajax.php?command=view&view=menutasks').fadeIn('500')
|
||
approval_count = data.data.approval.length;
|
||
review_count = data.data.review.length;
|
||
receipt_count = data.data.receipt.length;
|
||
revision_count = data.data.revision.length;
|
||
}
|
||
},
|
||
timeout: 200
|
||
});
|
||
timeOutId = setTimeout(checkTasks, 10000);
|
||
}
|
||
//checkTasks();
|
||
|