Files
2021-07-10 16:25:16 +02:00

222 lines
6.0 KiB
JavaScript

$(function(){
tw.initDocuments = function(){
if(tw.documentsModel!==undefined){
tw.documentsModel.refreshDocs();
}else{
tw.documentsModel = {
hulpDocuments : ko.observableArray([]),
selectedHulpID : ko.observable() ,
upload : ko.observable() ,
docTypes : ko.observableArray([]),
selectedDoctype : ko.observable() ,
docName : ko.observable('') ,
actionUrl : ko.observable() ,
docID : ko.observable(0) ,
selectedFile : ko.observable('') ,
nonTags : ko.observableArray([]),
selectedTags : ko.observableArray([]),
tagsToAdd : ko.observableArray([]),
tagsToRemove : ko.observableArray([]),
newTagName : ko.observable() ,
bezig : ko.observable(false) ,
documentsInit : function(){
var self = tw.documentsModel;
$.getJSON('index.php/ijkpartituur/documents', function(data){
self.docTypes(data.doctypes);
});
} ,
setDocument : function(){
setDocument(this);
} ,
refreshDocs : function(){
var self = tw.documentsModel;
self.resetForm();
$("#lsOverlay").fadeIn(500, function(){
$("#upload-form").fadeIn().css('z-index', '310');
});
$.getJSON('index.php/ijkpartituur/documents/get_documents/' + self.selectedHulpID(), function(data){
self.hulpDocuments(data.documents);
self.upload(data.upload);
self.nonTags(data.nontags);
self.selectedTags(data.selectedtags);
if(data.documentid) setDocument(data.documents[0]);
});
},
addTag : function(data, event){
var self = tw.documentsModel;
if(event.keyCode === 13){
if(this.newTagName().length===0) return;
if(self.docID()===0){
apprise('U moet eerst een document selecteren om labels toe te voegen', {animate:true});
return true;
}
var submitDATA = {tagname :this.newTagName()};
var submitURL = 'index.php/ijkpartituur/documents/save_tag/' + self.docID();
$.post(submitURL, submitDATA, function(data){
self.nonTags(data.nontags);
self.selectedTags(data.selectedtags);
self.newTagName('');
}, 'json');
}
} ,
removeTag : function(){
var self = tw.documentsModel;
if(this.tagsToAdd().length===0) return;
apprise('weet u zeker dat u dit/deze label(s) wilt verwijderen', {
animate: true ,
verify : false ,
textYes: 'Ja' ,
textNo : 'Nee'
}, function(response){
if(response){
var submitDATA = {newtags:self.tagsToAdd()};
var submitURL = 'index.php/ijkpartituur/documents/remove_tag/' + self.docID();
$.post(submitURL, submitDATA, function(data){
self.nonTags(data.nontags);
self.selectedTags(data.selectedtags);
}, 'json');
}
});
} ,
addTags : function(){
var self = tw.documentsModel;
if(this.tagsToAdd().length===0) return;
var submitDATA = {newtags:this.tagsToAdd()};
var submitURL = 'index.php/ijkpartituur/documents/add_tags/' + self.docID();
$.post(submitURL, submitDATA, function(data){
self.nonTags(data.nontags);
self.selectedTags(data.selectedtags);
}, 'json');
} ,
removeTags : function(){
var self = tw.documentsModel;
if(this.tagsToRemove().length===0) return;
var submitDATA = {removetags:this.tagsToRemove()};
var submitURL = 'index.php/ijkpartituur/documents/remove_tags/' + self.docID();
$.post(submitURL, submitDATA, function(data){
self.nonTags(data.nontags);
self.selectedTags(data.selectedtags);
}, 'json');
} ,
setName : function(){
var self = tw.documentsModel;
if(self.docName().length===0){
var fileName = /([^\\]+)$/.exec(self.selectedFile())[1];
fileName = fileName.replace(/\..+$/, '');
self.docName(fileName);
}
} ,
resetForm : function(){
var self = tw.documentsModel;
self.docID(0);
self.docName('');
self.selectedFile('');
self.selectedDoctype(undefined);
} ,
saveDocument : function(){
var self = tw.documentsModel;
var msg = '';
if(self.docName().length===0) msg += 'U heeft geen documentnaam ingevoerd<br />';
if(self.selectedDoctype()===undefined) 'U heeft geen type document aangegeven';
if(msg!==''){
apprise(msg, {animate:true});
return;
}
var url = 'index.php/ijkpartituur/documents/upload_document/' + tw.documentsModel.selectedHulpID();
url+= '/' + self.selectedDoctype() + '/' + self.docID();
self.actionUrl(url);
//$("#upload-overlay").fadeIn(100, function(){
$("#upload-form-form").submit();
//});
} ,
downloadDoc : function(){
tw.downLoadDocument(this.id);
} ,
deleteDocument : function(){
var self = tw.documentsModel;
var that = this;
if (self.bezig()) return;
self.bezig(true);
apprise('weet u zeker dat u dit document wilt verwijderen?',
{
animate : true ,
verify : true ,
textYes : 'Ja' ,
textNo : 'Nee'
}, function(response){
if(response){
$.get('index.php/ijkpartituur/documents/delete_document/' + that.id, function(){
self.refreshDocs();
self.bezig(false);
});
}
else { self.bezig(false);}
});
}
};
function setDocument(doc){
var self = tw.documentsModel;
self.docID(doc.id);
self.docName(doc.name);
self.selectedDoctype(doc.doctypeid);
$.getJSON('index.php/ijkpartituur/documents/set_tags/' + doc.id, function(data){
self.nonTags(data.nontags);
self.selectedTags(data.selectedtags);
});
}
tw.documentsModel.documentsInit();
ko.applyBindings(tw.documentsModel, document.getElementById("upload-form"));
}
};
tw.initDocuments();
tw.downLoadDocument = function(docID){
var win=window.open('index.php/ijkpartituur/documents/download_document/' + docID, '_blank');
win.focus();
}
});