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

505 lines
16 KiB
JavaScript

$(function () {
var appliedBindings = false;
function InitPijler(p) {
this.id = p.id;
this.nummer = ko.observable(p.nummer);
this.naam = ko.observable(p.naam);
this.omschrijving = ko.observable(p.omschrijving);
this.alijst = ko.observableArray([]);
}
function NewHulp(p) {
this.id = p.id;
this.omschrijving = p.omschrijving;
this.filenaam = p.filenaam;
}
function NewDoelgroep(d) {
this.id = d.id;
this.omschrijving = d.omschrijving;
}
function fNewKosten(d) {
this.id = d.id;
this.omschrijving = ko.observable(d.omschrijving);
this.bedrag = ko.observable(d.bedrag);
}
ls.initActiviteiten = function () {
if (ls.ModelActiviteiten !== undefined) {
} else {
ls.ModelActiviteiten = {
pijlers : ko.observableArray([]),
selectedPijler : ko.observable(),
alijst : ko.observableArray([]),
filterNaam : ko.observable(),
isAdmin : ko.observable(false),
activiteit : ko.observable(),
show : ko.observable(false),
wijzigbaar : ko.observable(),
hulpmiddelen : ko.observableArray([]),
otherhulpmiddelen : ko.observableArray([]),
doelgroepen : ko.observableArray([]),
AllDoelgroepen : ko.observableArray([]),
NewDoelgroepNaam : ko.observable(''),
otherdoelgroepen : ko.observableArray([]),
niveaus : ko.observableArray([]),
selectedNiveau : ko.observable(),
fases : ko.observableArray([]),
selectedFase : ko.observable(),
kosten : ko.observableArray([]),
newNaam : ko.observable(''),
newOmschrijving : ko.observable(),
newPijlerID : ko.observable(),
newSelectedNiveau : ko.observable(),
newSelectedFase : ko.observable(),
NewKostenOmschrijving : ko.observable(),
NewKostenBedrag : ko.observable(),
InitStamwaardes: function () {
$.post('index.php/ijkpartituur/niveaus/getNiveaus', function (datNiveaus) {
ls.ModelActiviteiten.niveaus(datNiveaus);
}, 'json');
$.post('index.php/ijkpartituur/fases/getFases', function (datFases) {
ls.ModelActiviteiten.fases(datFases);
}, 'json');
},
InitValues: function () {
var self = ls.ModelActiviteiten;
self.InitStamwaardes();
self.pijlers.removeAll();
$.post('index.php/ijkpartituur/nivoprofielen/getPijlers', function (datPijlers) {
$.each(datPijlers, function (i, p) {
self.pijlers.push(new InitPijler(p));
});
self.selectedPijler(self.pijlers()[0].id);
if (datPijlers.length> 1){
self.wijzigbaar(true);
self.isAdmin(true)}
else {
self.wijzigbaar(false);
self.isAdmin(false);
};
//self.fGetActiviteitenlijst();
}, 'json');
},
fGetActiviteitenlijst : function() {
var self = ls.ModelActiviteiten;
var submitData={pijler: self.selectedPijler(),
filter: self.filterNaam()}
$.post("index.php/ijkpartituur/activiteiten/getActiviteiten",submitData, function (lijst) {
self.alijst.removeAll();
self.ResetActiviteit();
$.each(lijst, function (i, p) {
self.alijst.push(p);
if (i==1){self.fShowRechts(p.id);}
}); //each
}, 'json'); // post
},
fShowRechts : function( aID){
var self=ls.ModelActiviteiten;
$("#tbAL tr.lsSelected").removeClass('lsSelected');
$("#trAL" + aID).addClass("lsSelected");
var submitData={aID : aID};
$.post("index.php/ijkpartituur/activiteiten/getActiviteitInfo",submitData, function (data) {
self.activiteit(data.Ainfo[0]);
self.wijzigbaar(data.Ainfo[0].wijzigbaar);
self.hulpmiddelen.removeAll();
$.each(data.Hulpmiddelen, function (i, h) {
self.hulpmiddelen.push(new NewHulp(h));
}); // each
self.doelgroepen.removeAll();
$.each(data.Doelgroepen, function (i, d) {
self.doelgroepen.push(new NewDoelgroep(d));
}); //each
self.otherhulpmiddelen.removeAll();
$.each(data.Other, function (i, o) {
self.otherhulpmiddelen.push(new NewHulp(o));
}); //each
self.otherdoelgroepen.removeAll();
$.each(data.OtherDoel, function (i, o) {
self.otherdoelgroepen.push(new NewDoelgroep(o));
}); // each
self.kosten.removeAll();
$.each(data.Kosten, function (i, k) {
self.kosten.push(new fNewKosten(k));
}); // each
// self.selectedBron(self.activiteit().bronID);
// self.selectedNiveau(self.activiteit().inclusiviteitsniveau);
self.selectedNiveau([]);
self.selectedFase(self.activiteit().faseID);
self.show(true);
$("#focushierA").focus();
}, 'json');
},
toonActiviteit: function () {
var aID = this.id;
var self = ls.ModelActiviteiten;
if (!aID) {
return;
}
if ($("#trAL" + aID).hasClass("lsSelected")) {
$("#trAL" + aID).removeClass("lsSelected");
self.ResetActiviteit();
} else {
self.fShowRechts(aID);
} // else
$("#focushierA").focus();
},
OpslaanAct: function () {
var self = ls.ModelActiviteiten;
var mailleider = 0;
var mailverantwoordelijke = 0;
var bron = self.activiteit().bronID;
var niveau = self.selectedNiveau()[0];
if (self.activiteit().email_pleider) {
mailleider = 1;
}
if (self.activiteit().email_verantwoordelijke) {
mailverantwoordelijke = 1;
}
submitData = {
id: self.activiteit().id,
naam: self.activiteit().naam,
omschrijving: self.activiteit().omschrijving,
inclusiviteitsniveau: niveau,
fase: self.selectedFase(),
resomschrijving: self.activiteit().resultaatomschrijving,
duur: self.activiteit().duur,
dagen: self.activiteit().email_dagen,
mail1: mailleider,
mail2: mailverantwoordelijke,
bron: bron
};
$.post('index.php/ijkpartituur/activiteiten/OpslaanActiviteit', submitData);
return true;
},
MaakNewDoelgroep: function () {
var self = ls.ModelActiviteiten;
$.post("index.php/ijkpartituur/activiteiten/getAlleDoelgroepen", function (data) {
self.AllDoelgroepen(data);
}, 'json');
if ($('#lsOverlay').css('display') == 'none') {
$("#lsOverlay").fadeIn();
}
setDrag("#popNewDoelgroep");
$('#popNewDoelgroep').fadeIn();
},
NewDoelgroepOpslaan: function () {
var self = ls.ModelActiviteiten;
$.post("index.php/ijkpartituur/activiteiten/AddDoelgroep/" + self.NewDoelgroepNaam(), function () {
if (self.activiteit().id > 0) {
self.RefreshOtherDoelgroep();
}
self.ClosePopUp();
}); // post
},
fDeleteDoelgroep: function () {
var self = ls.ModelActiviteiten;
var doelID = this.id;
if (!this.deletable) {
return;
} else {
apprise('Weet u zeker dat u ' + this.omschrijving + ' wilt verwijderen?', {
'verify': true,
textYes: 'ja',
textNo: 'nee'
}, function (ans) {
if (ans) {
var submitData = {doelid : doelID};
$.post("index.php/ijkpartituur/activiteiten/deleteDoelgroep" , submitData);
$.each(self.AllDoelgroepen(), function (i, p) {
if (p.id == doelID) {
self.AllDoelgroepen.remove(p);
return false;
}
}); //each
if (self.activiteit().id > 0) {
self.RefreshOtherDoelgroep();
}
} // if
}); //apprise
}
},
RefreshOtherDoelgroep: function () {
var self = ls.ModelActiviteiten;
var $actID = self.activiteit().id;
$.post('index.php/ijkpartituur/activiteiten/getOtherDoelgroep/' + $actID, function (data) {
self.otherdoelgroepen.removeAll();
$.each(data, function (i, o) {
self.otherdoelgroepen.push(new NewDoelgroep(o));
}); //each
}, 'json'); //post
},
ClosePopUp: function () {
$("#lsOverlay").fadeOut();
if ($('#popNewBeheerActiviteit').css('display') == 'block') {
$('#popNewBeheerActiviteit').fadeOut();
}
if ($('#popNewDoelgroep').css("display") == 'block') {
$('#popNewDoelgroep').fadeOut();
}
if ($('#popNewKostenregel').css("display") == 'block') {
$('#popNewKostenregel').fadeOut();
}
},
fToonHulp: function () {
var hulpID = this.id;
if ($('#lsOverlay').css('display') == 'none') {
$("#lsOverlay").fadeIn();
}
$("#popToonHulp").draggable();
$('#popToonHulp').fadeIn();
ls.ModelPopToonHulp.InitValues(hulpID);
},
fSelectMiddel: function () {
var tdID = "#lsHulp" + this.id;
if ($(tdID).hasClass('LSselected')) {
$(tdID).removeClass('LSselected');
} else {
$(tdID).closest('tbody').find('td').removeClass('LSselected');
$(tdID).addClass('LSselected');
}
},
NaarActiviteit: function () {
var self = ls.ModelActiviteiten;
if (!$("#hulpOut").find('td').hasClass('LSselected')) {
apprise('Selecteer eerst het hulpmiddel dat u wilt overzetten.', function () {
return false;
});
} else {
var hulpID = $("#hulpOut td.LSselected").attr('id').substr(6);
$.each(self.otherhulpmiddelen(), function (i, o) {
if (o.id == hulpID) {
self.hulpmiddelen.push(new NewHulp(o));
self.otherhulpmiddelen.remove(o);
return false;
}
}); // each
var actID = self.activiteit().id;
$.post('index.php/ijkpartituur/activiteiten/AddHulpmiddel/' + actID + '/' + hulpID);
} // else
},
NaarOther: function () {
var self = ls.ModelActiviteiten;
if ($("#hulpIn td.LSselected").length === 0) {
apprise('Selecteer eerst het hulpmiddel dat u wilt overzetten.', function () {
return false;
});
} else {
var hulpID = $("#hulpIn td.LSselected").attr('id').substring(6);
$.each(self.hulpmiddelen(), function (i, p) {
if (p.id == hulpID) {
self.otherhulpmiddelen.push(new NewHulp(p));
self.hulpmiddelen.remove(p);
return false;
}
}); // each
var actID = self.activiteit().id;
$.post('index.php/ijkpartituur/activiteiten/deleteHulpmiddel/' + actID + '/' + hulpID);
} // else
},
fSelectGroep: function () {
var tdID = "#lsGroep" + this.id;
if ($(tdID).hasClass('LSselected')) {
$(tdID).removeClass('LSselected');
} else {
$(tdID).closest('tbody').find('td').removeClass('LSselected');
$(tdID).addClass('LSselected');
}
},
NaarDoelgroep: function () {
var self = ls.ModelActiviteiten;
if ($("#groepOut td.LSselected").length === 0) {
apprise('Selecteer eerst de doelgroep die u wilt overzetten.', function () {
return false;
});
} else {
var groepID = $("#groepOut td.LSselected").attr('id').substring(7);
$.each(self.otherdoelgroepen(), function (i, o) {
if (o.id == groepID) {
self.doelgroepen.push(new NewDoelgroep(o));
self.otherdoelgroepen.remove(o);
return false;
}
}); // each
var actID = self.activiteit().id;
$.post('index.php/ijkpartituur/activiteiten/AddDoelgroeplink/' + actID + '/' + groepID);
} // else
},
UitDoelgroep: function () {
var self = ls.ModelActiviteiten;
if ($("#groepIn td.LSselected").length === 0) {
apprise('Selecteer eerst de doelgroep die u wilt overzetten.', function () {
return false;
});
} else {
var doelID = $("#groepIn td.LSselected").attr('id').substring(7);
$.each(self.doelgroepen(), function (i, p) {
if (p.id == doelID) {
self.otherdoelgroepen.push(new NewDoelgroep(p));
self.doelgroepen.remove(p);
return false;
}
}); // each
var actID = self.activiteit().id;
$.post('index.php/ijkpartituur/activiteiten/deleteDoelgroepLink/' + actID + '/' + doelID);
} // else
},
NewActiviteit: function () {
var self = ls.ModelActiviteiten;
// self.newSelectedBron('1'); weg in de controler wordt globorgID gebruikt
self.newSelectedNiveau('');
self.newOmschrijving('');
self.newNaam('');
self.newPijlerID(this.id);
if ($('#lsOverlay').css('display') == 'none') {
$("#lsOverlay").fadeIn();
}
$("#popNewBeheerActiviteit").draggable();
$('#popNewBeheerActiviteit').fadeIn();
},
NewActiviteitOpslaan: function () {
var self = ls.ModelActiviteiten;
// aanmaken van een nieuwe activiteit altijd onder een pijler!!
var ApijlerID = self.selectedPijler();
var submitData = {
pijlerID : ApijlerID,
naam : self.newNaam(),
omschrijving: self.newOmschrijving(),
niveau : self.newSelectedNiveau(),
fase : self.newSelectedFase()
};
ls.ModelActiviteiten.ClosePopUp();
// open de pijler hoeft niet je kunt alleen onder een pijler toevoegen
$.post('index.php/ijkpartituur/activiteiten/NewActiviteit', submitData, function (newact) {
self.alijst.push(newact);
self.fShowRechts(newact.id)
}, 'json'); //post
},
ResetActiviteit: function () {
var self = ls.ModelActiviteiten;
self.activiteit('');
self.hulpmiddelen.removeAll();
self.otherhulpmiddelen.removeAll();
self.doelgroepen.removeAll();
self.otherdoelgroepen.removeAll();
self.kosten.removeAll();
},
DeleteActiviteit: function () {
var currentAct = this;
var actID = currentAct.id;
var self = ls.ModelActiviteiten;
self.fShowRechts( actID);
apprise("Weet u zeker dat u " + this.naam + " wilt verwijderen?", {
'verify': true,
textYes: 'ja',
textNo: 'nee'
}, function (ans) {
if (ans) {
if (self.activiteit() && self.activiteit().id == actID) {
self.ResetActiviteit();
}
self.alijst.remove(currentAct);
$.post('index.php/ijkpartituur/activiteiten/DeleteActiviteit/' + actID);
} // if
else {
return false;
} //else
}); //apprise
},
fMaakNewKostenregel: function () {
var self = ls.ModelActiviteiten;
self.NewKostenOmschrijving('');
self.NewKostenBedrag('');
if ($('#lsOverlay').css('display') == 'none') {
$("#lsOverlay").fadeIn();
}
$("#popNewKostenregel").draggable();
$("#popNewKostenregel").fadeIn();
$("#NKRO").focus();
},
fDeleteKostenregel: function () {
var self = ls.ModelActiviteiten;
var kostID = this.id;
apprise("Weet u zeker dat u " + this.omschrijving() + " wilt verwijderen?", {
'verify': true,
textYes: 'ja',
textNo: 'nee'
}, function (ans) {
if (ans) {
$.post('index.php/ijkpartituur/activiteiten/DeleteKostenregel/' + kostID);
$.each(self.kosten(), function (i, k) {
if (k.id == kostID) {
self.kosten.remove(k);
return false;
}
}); // each
} //ans
}); //apprise
},
fNewKostenOpslaan: function () {
var self = ls.ModelActiviteiten;
var bedrag = self.NewKostenBedrag();
bedrag = bedrag.replace('.', '');
bedrag = bedrag.replace(',', '.');
var submitData = {
actID: self.activiteit().id,
omschrijving: self.NewKostenOmschrijving(),
bedrag: bedrag
};
$.post("index.php/ijkpartituur/activiteiten/AddKostenregel", submitData, function (data) {
self.kosten.push(new fNewKosten(data[0]));
}, 'json'); //post
self.ClosePopUp();
},
fSaveKosten: function () {
var bedrag = this.bedrag();
bedrag = bedrag.replace('.', '');
bedrag = bedrag.replace(',', '.');
var submitData = {
id: this.id,
omschrijving: this.omschrijving(),
bedrag: bedrag
};
$.post("index.php/ijkpartituur/activiteiten/UpdateKostenregel", submitData);
},
showUploads: function(){
tw.documentsModel.selectedHulpID(this.id);
tw.initDocuments();
}
}; // einde model definitie
ls.ModelActiviteiten.InitValues();
ko.applyBindings(ls.ModelActiviteiten, document.getElementById("Subpag14"));
appliedBindings = true;
}
};
});