$(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
'; 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(); } });