$(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)); }); }); }; }; });