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

126 lines
3.6 KiB
JavaScript

$(function(){
$(".LSheaderholder").scroll(function() {
$(".LSscrollkolom").scrollLeft($(".LSheaderholder").scrollLeft());
});
ls.initMensactief = function(){
Pijler = function(data){
var self = this;
self.pijlerNaam = data.pijlernaam;
self.activiteiten = ko.observableArray([]);
$.each(data.activiteiten, function(i,p){
self.activiteiten.push(new Activiteit(p));
});
self.openstatus = ko.observable(true);
}
Activiteit = function(data){
var self = this;
self.naam = data.naam;
self.actief = ko.observableArray([]);
$.each(data.matrix, function(i,p){
self.actief.push(new Actief(p, data.id));
});
}
Actief = function(data, actID){
var that = this;
this.id = data.id;
this.actief = ko.observable(data.actief);
this.verant=ko.observable(data.verant);
this.actID = actID;
this.HoeActief= ko.computed(function(){
if (ls.mensactiefModel.welkeMens() == "1"){
return that.verant() ? "verant" : "";
}
else{
return that.actief() ? "active-user" : "";
}
});
}
if(ls.mensactiefModel!==undefined){
refreshActiviteiten();
}else{
ls.mensactiefModel = {
pijlers : ko.observableArray([]),
users : ko.observableArray([]),
welkeMens : ko.observable("1"),
mensactiefInit : function(){
refreshActiviteiten();
} ,
addUser : function(obj, matrix){
var self = ls.mensactiefModel;
if (self.welkeMens() == "1"){
$.each(matrix.actief(), function(i,v){
if (v.verant()){
v.verant(false);
return;}
});
obj.verant(true);
submitURL = 'index.php/ijkpartituur/planning/addVerantwoordelijke/' + obj.actID + '/' + obj.id;
$.get(submitURL);
}
else {
obj.actief(true);
submitURL = 'index.php/ijkpartituurplanning/addUitvoerende/' + obj.actID + '/' + obj.id;
$.get(submitURL);
}
},
deleteUser : function(obj){
var self=ls.mensactiefModel;
if (self.welkeMens() == "1"){
obj.verant(false);
submitURL="index.php/ijkpartituur/planning/removeVerantwoordelijke/" + obj.actID;
$.get(submitURL);
}
else {
obj.actief(false);
submitURL = 'index.php/ijkpartituur/planning/removeUitvoerende/' + obj.actID + '/' + obj.id;
$.get(submitURL);
}
} ,
DeleteOrAdd : function(matrix){
var self= ls.mensactiefModel;
if (self.welkeMens() == "1"){
if (this.verant()) {self.deleteUser(this);}
else {self.addUser(this, matrix);}
}
else {
if (this.actief() ) { self.deleteUser(this);}
else { self.addUser(this, matrix);};
}
},
fToggleActiviteiten : function(){
if (this.openstatus()) { this.openstatus(false)}
else {this.openstatus(true);};
},
fInit: function(){
return true;
}
};
ls.mensactiefModel.mensactiefInit();
ko.applyBindings(ls.mensactiefModel, document.getElementById("mensactief-container"));
}
function refreshActiviteiten(){
$.getJSON('index.php/ijkpartituur/mensactief', function(data){
var self = ls.mensactiefModel;
self.users(data.users);
self.pijlers.removeAll();
$.each(data.pijlers, function(i,p){
self.pijlers.push(new Pijler(p));
});
});
};
};
});