Files
monpas/public/js/monpas/models/mondiv/ondersteuningsomodel.js
T
2021-10-08 14:01:33 +02:00

171 lines
4.9 KiB
JavaScript

$(function(){
mh.initOndersteuningSOModel = function(){
var timeout;
function fAddGroep(p){
this.id = p.id;
this.naam = p.naam;
}
function fAddDag(p){
this.dagnr = p.dagnr;
this.dag = p.dag
this.minutenG = ko.observable(p.minutenG % 60);
this.uurG = ko.observable((p.minutenG - this.minutenG()) / 60);
this.minutenS = ko.observable(p.minutenS % 60);
this.uurS = ko.observable((p.minutenS - this.minutenS()) / 60);
this.minutenI = ko.observable(p.minutenI % 60);
this.uurI = ko.observable((p.minutenI - this.minutenI() )/60);
}
if (mh.OndersteuningSOModel !== undefined){
mh.OndersteuningSOModel.initModel();
}
else {
mh.OndersteuningSOModel = {
schoolid : ko.observable(null),
schooljaarnr : ko.observable(null),
groepen : ko.observableArray([]),
selectedGroep : ko.observable(),
dagen : ko.observableArray([]),
writer : ko.observable(false),
geenOndersteuning : ko.observable(false),
// toonInvoer : ko.computed(function () {
// return mh.OndersteuningSOModel.ondersteuning();
// }),
initBindings :function(){
var self = mh.OndersteuningSOModel;
if (!ko.dataFor(document.getElementById('pagondersteuningso')) ) {
ko.applyBindings(mh.OndersteuningSOModel, document.getElementById("pagondersteuningso"));
}
$.post("index.php/monpas/groepen/getwriter", function(writer){
self.writer(writer);
self.initModel();
},'json');
},
initModel: function(){
var self = mh.OndersteuningSOModel;
if (ls.MenuModel.selectedSchool()){
self.schoolid(ls.MenuModel.selectedSchool().id);
}
if (ls.MenuModel.selectedSchooljaar()){
self.schooljaarnr(ls.MenuModel.selectedSchooljaar().schooljaarnr);
}
$.post("index.php/monpas/ondersteuning/getgroepenso/" + self.schoolid()+
'/' + self.schooljaarnr(), function(result){
self.groepen.removeAll();
self.selectedGroep(null);
self.dagen.removeAll();
if (result){
$.each(result, function(i,p){
self.groepen.push(new fAddGroep(p));
if(p.ondersteuning == 'F') self.geenOndersteuning(true);
});//each
self.selectedGroep(self.groepen()[0]);
// self.fGetUren();
}
},'json');
},
fMeldOndersteuning(){
var self = mh.OndersteuningSOModel;
self.geenOndersteuning(! self.geenOndersteuning())
var ondersteuning = 'T';
if(self.geenOndersteuning()) ondersteuning = 'F'
var submitData = {
'schoolid' : self.schoolid(),
'schooljaar' : self.schooljaarnr(),
'module' : 270,
'ondersteuning' : ondersteuning,
}
$.post("index.php/monpas/ondersteuning/meldondersteuning", submitData , function(result){
},'json');
},
fGetUren : function(){
var self = mh.OndersteuningSOModel;
if (!self.selectedGroep()) return;
$.post("index.php/monpas/ondersteuning/gettijden/" + self.selectedGroep().id, function(result){
self.dagen.removeAll();
if (result){
$.each(result, function(i,p){
self.dagen.push(new fAddDag(p));
});
}
},'json');
},
fSavetijd : function(wat,hoeveel){
var self = mh.OndersteuningSOModel;
var dit = this;
var tijd = 0;
var minuten, uur ;
if (timeout){
clearTimeout(timeout);
timeout= null;
}
timeout = setTimeout(function(){
switch (wat){
case 'G': minuten =parseInt(dit.minutenG());
if (!minuten) minuten =0;
uur = parseInt(dit.uurG());
if (!uur) uur= 0;
if (uur > 24 || uur < 0) {
ls.MsgAutoFade("Aantal uur moet tussen 0 en 24 vallen.", 1000);
uur = 0;
dit.uurG(0);
}
tijd= minuten + (uur * 60);
break;
case 'S': minuten =parseInt(dit.minutenS());
if (!minuten) minuten =0;
uur = parseInt(dit.uurS());
if (!uur) uur= 0;
if (uur > 24 || uur < 0) {
ls.MsgAutoFade("Aantal uur moet tussen 0 en 24 vallen.", 1000);
uur = 0;
dit.uurS(0);
}
tijd= minuten + (uur * 60);
break;
case 'I': minuten =parseInt(dit.minutenI());
if (!minuten) minuten =0;
uur = parseInt(dit.uurI());
if (!uur) uur= 0;
if (uur > 24 || uur < 0) {
ls.MsgAutoFade("Aantal uur moet tussen 0 en 24 vallen.", 1000);
uur = 0;
dit.uurI (0);
}
tijd= minuten + (uur * 60);
break;
}
var submitData={ orgid : ls.MenuModel.selectedSchool().id,
groepid : self.selectedGroep().id,
dagnr : dit.dagnr,
soort : wat,
minuten : tijd
}
$.post("index.php/monpas/ondersteuning/insertorupdatetijd", submitData);
},500);
}
} ; // definition van model
mh.OndersteuningSOModel.initBindings();
}; // else
}// function initOndersteuningModel
});