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