Files
monpas/public/js/ijkpartituur/models/modelExtrainfo.js
T
2021-07-10 16:25:16 +02:00

155 lines
4.7 KiB
JavaScript

$(function () {
var appliedBindings = false;
fNewRef = function(data){
this.id = data.id
this.naam = ko.observable(data.naam);
if (data.srtlink == "url"){
this.link = ko.observable(data.link);
}
else {
this.link = ko.observable(data.docnaam);
}
this.opmerking = ko.observable('');
if (data.opmerking && data.opmerking !==null){
this.opmerking(data.opmerking);
}
this.soort = ko.observable(data.soort);
this.srtlink = ko.observable(data.srtlink);
var self = this;
this.show = ko.computed(function(){
if (self.naam ==""){return self.link; }
else {return self.naam;}
});
};
ls.initExtraInfo = function(){
if (ls.ModelExtrainfo !== undefined) {
} else {
ls.ModelExtrainfo = {
litrefs : ko.observableArray([]),
selectedRef: ko.observable(),
isAdmin : ko.observable(),
welkeSoort : ko.observable(1),
zoektekst : ko.observable(),
actionURL : ko.observable(),
upload : ko.observable(true),
LSselectedFile: ko.observable(),
InitValues : function(){
var self =ls.ModelExtrainfo;
self.welkeSoort(1);
self.fgetRefs();
},
fgetRefs : function(){
var self= ls.ModelExtrainfo;
var submitData={'zoek' : self.zoektekst,
'soort' : self.welkeSoort()};
$.post("index.php/ijkpartituur/extrainfo/getRefs", submitData, function(data){
if (data.admin == 1) {self.isAdmin(true) ;}
else {self.isAdmin(false) ; } ;
self.litrefs.removeAll();
$.each(data.refs, function(i,p){
self.litrefs.push(new fNewRef(p));
});
},'json');
return true; // het click event dwingt om hier return true te gebruiken. en click is nodig voor IE8
},
fsaveRef : function(){
if (!appliedBindings) {return ;} ;
var tnaam= this.link();
if (this.link() != null)
{
if (this.srtlink() == "ext.ref" && this.link().length > 4){
this.srtlink("url");
}
};
if (this.srtlink() == 'file'){
tnaam = ''
}
if (this.srtlink() == "url"){
if (this.link().indexOf("http") < 0 ){
this.link("http://" + this.link());
};
}
var submitData = { id : this.id,
naam : this.naam(),
link : tnaam,
opmerking : this.opmerking(),
srtlink : this.srtlink()};
$.post("index.php/ijkpartituur/extrainfo/saveRef", submitData);
},
fNewLitRef : function(){
var self=ls.ModelExtrainfo;
$.post("index.php/ijkpartituur/extrainfo/newLitRef/"+ self.welkeSoort(), function(data){
self.litrefs.push(new fNewRef(data))
},'json');
},
fDelLitRef : function(){
var self = ls.ModelExtrainfo;
var ref = this;
apprise("Weet u zeker dat u " + this.naam() + " wilt verwijderen?",{'verify' : true, 'textYes': 'ja', 'textNo': 'nee'}, function(ans){
if (ans){
$.post("index.php/ijkpartituur/extrainfo/delRef/"+ref.id);
self.litrefs.remove(ref);
};
});
},
fUpload : function (){
var self = ls.ModelExtrainfo;
self.selectedRef(this);
if ( $('#lsOverlay').css('display') == 'none' ) { $("#lsOverlay").fadeIn() };
setDrag("#popUploadADoc")
$('#popUploadADoc').fadeIn();
},
fDownload : function (){
if (this.srtlink() != "file") {return;};
var win=window.open('index.php/ijkpartituur/documents/LSDownloadDoc/' + this.id, '_blank');
win.focus();
},
fSetNaam : function(){
var self = ls.ModelExtrainfo;
if (self.LSselectedFile() ==''){return;}
if (self.selectedRef().naam() == '' || self.selectedRef().naam() =='undefined' ||
self.selectedRef().naam() == null) {
self.selectedRef().naam(self.LSselectedFile().replace("C:\\fakepath\\", ""))
}
if (self.LSselectedFile()) {
self.selectedRef().link(self.LSselectedFile().replace("C:\\fakepath\\", "") );
}
},
fUploadToServer : function(){
var self=ls.ModelExtrainfo;
var originalname ='';
if (self.LSselectedFile()){
originalname=self.LSselectedFile().replace("C:\\fakepath\\", '') ;
}
else originalname = self.selectedRef().link();
self.selectedRef().link(originalname);
var url = 'index.php/ijkpartituur/documents/LSUpload/' + self.selectedRef().id + '/' + self.welkeSoort();
self.actionURL(url);
//$("#LSupload-overlay").fadeIn(100, function(){
$("#LSuploadform").submit();
self.selectedRef().srtlink('file');
// $("#LSupload-overlay").fadeOut(300);
//});
}
};
ls.ModelExtrainfo.InitValues();
ko.applyBindings(ls.ModelExtrainfo, document.getElementById("extrainfo-pagina"));
appliedBindings = true;
}; // else
}; //init
});