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

133 lines
4.9 KiB
JavaScript

$(function(){
ls.initModulebalkModel = function(){
var module = 0;
var vandaag = new Date();
function fAddSchool(p){
this.id = p.id
this.brin = p.brin;
this.naamkort = p.naamkort;
this.naam = p.naam;
this.shownaam = p.brin + ' - ' + p.naamkort;
}
function fAddSchooljaar(p){
this.schooljaarnr = p.schooljaarnr;
this.naam = p.naam;
this.start = p.start;
this.eind = p.eind;
}
if (ls.ModulebalkModel !== undefined){
ls.ModulebalkModel.initModel();
}
else {
ls.ModulebalkModel = {
boolSchool : ko.observable(false),
toonbalk : ko.observable(false),
scholen : ko.observableArray([]),
soscholen : ko.observableArray([]),
selectedSchool : ko.observable(),
filternaam : ko.observable(''),
module : ko.observable(),
schooljaren : ko.observableArray([]),
selectedSchooljaar : ko.observableArray([]),
initBindings :function(){
var self = ls.ModulebalkModel;
if (!ko.dataFor(document.getElementById('modulebalk')) ) {
ko.applyBindings(ls.ModulebalkModel, document.getElementById("modulebalk"));
}
$.post("index.php/shared/menu/getmodule", function(data) {
if (data) {
self.module(data);
if (self.module() == '2' || self.module() == '270' || self.module() == '660') {
self.toonbalk(true);
}
$.post("index.php/shared/organisaties/getscholenvoormenu/" + module, function (result) {
if (result) {
self.boolSchool(result.school);
self.scholen.removeAll();
self.selectedSchool(null);
$.each(result.scholen, function (i, p) {
self.scholen.push(new fAddSchool(p));
}); // each
self.scholen.sort(function (left, right) {
return left.naamkort == right.naamkort ? 0 : (left.naamkort < right.naamkort ? -1 : 1)
});
self.selectedSchooljaar(self.scholen()[0]);
}
; // if result
$.post("index.php/shared/schooljaren/getschooljaren", function (result) {
self.schooljaren.removeAll();
if (result) {
$.each(result, function (i, p) {
self.schooljaren.push(new fAddSchooljaar(p));
}); // each
$.each(self.schooljaren(), function (j, k) {
if (vandaag >= new Date(k.start + "T00:00:00") &&
vandaag <= new Date(k.eind + "T00:00:00")) {
self.selectedSchooljaar(k);
return false;
}
; //if
}); // each
}
}, 'json');
self.initModel();
}, 'json');
}
},'json');
},
filter: function(scholen, filternaam){
return scholen().filter(function(school){
return ( filternaam() == '' ||
(school.naamkort).toUpperCase() == (filternaam()).toUpperCase() ||
(school.naamkort).toUpperCase().indexOf((filternaam()).toUpperCase() ) > -1 ||
(school.naam).toUpperCase().indexOf((filternaam()).toUpperCase() ) > -1
);
});
},
initModel: function(){
},
fChangeSchool : function(){
var self = ls.ModulebalkModel;
var id = null
if (self.selectedSchool()) id = self.selectedSchool().id;
$.post("index.php/monpas/modulebalk/setselectedschool/" + id, function(){
if (ls.ColofonModel != undefined) {ls.ColofonModel.initModel();}
if (ls.GroepenModel != undefined) {ls.GroepenModel.initModel(self.module());}
if (ls.DiversiteitModel != undefined) {ls.DiversiteitModel.initModel(self.module());}
});
},
fChangeSchooljaar: function(){
var self = ls.ModulebalkModel;
var nr = null;
if (self.selectedSchooljaar()) nr = self.selectedSchooljaar().schooljaarnr;
$.post("index.php/monpas/modulebalk/setselectedschooljaar/" + nr, function(){
if (ls.GroepenModel != undefined) {
ls.GroepenModel.initModel(self.module());}
if (ls.DiversiteitModel != undefined) {ls.DiversiteitModel.initModel(self.module());}
});
}
} ; // definition van model
ls.ModulebalkModel.initBindings();
}; // else
}// function initModulebalkModel
});