Files
monpas/public/js/monpas/models/ontwikkelmodel.js
T

950 lines
30 KiB
JavaScript

$(function(){
ls.initOntwikkelModel = function(){
function fAddSWV(p){
var dit = this;
this.id = p.id;
this.soort = p.soort
this.naam = p.naam
this.plaats = p.plaats
this.geopend = ko.observable(false);
dit.kamers = ko.observableArray([]);
if (p.kamers ){
$.each(p.kamers, function(j,k){
dit.kamers.push(new fAddKamer(k));
})
}
}
function fAddKamer(p){
var dit = this;
this.id = p.id;
this.soort = p.soort
this.naam = p.naam
this.plaats = p.plaats
this.geopend = ko.observable(false);
this.bgs = ko.observableArray([]);
if (p.bgs){
$.each(p.bgs, function(x,z){
dit.bgs.push(new fAddBG(z));
})
}
}
function fAddBG(p){
var dit = this;
this.id = p.id;
this.soort = p.soort
this.naam = p.naam
this.plaats = p.plaats
this.geopend = ko.observable(false);
this.scholen = ko.observableArray([]);
if (p.scholen){
$.each(p.scholen, function(a,b){
dit.scholen.push(new fAddSchool(b));
})
}
}
function fAddSchool(p){
var dit = this;
this.id = p.id;
this.soort = p.soort
this.naam = p.naam
this.plaats = p.plaats
}
function fAddUser(p){
this.orguserid = p.id;
this.usernaam = p.fullname;
}
function fAddOrgversion(p){
this.id = p.id; //orgversion id
this.periodenummer = p.periodenummer
this.versie_id = p.versie_id
this.vorm = p.vorm
var wijik = "schoolversie";
if(p.vorm == 2){
wijik = "individuele versie"
}
this.scoretype = p.scoretype
var scoreomschrijving = p.scoreomschrijving;
if(p.scoreomschrijving === 'included/involved/present/absent')
scoreomschrijving = 'inc/inv/pre/abs'
this.scoreomschrijving = scoreomschrijving;
this.naam = p.naam
this.geldigvanaf = p.geldigvanaf;
this.geldigtm = p.geldigtm;
this.invullentm = p.invullentm;
this.info = ko.computed(function(){
var versieInfostr=this.naam;
versieInfostr += "- periode " + this.periodenummer +
", scoretype: " + this.scoreomschrijving + ", "+ wijik +
", " + this.geldigvanaf + " t/m " + this.geldigtm;
return versieInfostr;
}
,this)
}
function fAddResult(p) {
var dit = this;
this.ijkpuntid = p.ijkpunt_id;
this.wensid = 0;
if (p.gewenstid) { this.wensid = p.gewenstid; }
this.scoretype = p.scoretype;
this.disabled = p.disabled;
this.disablentv = p.disablenvt;
this.huidig = ko.observable(p.huidig);
if (p.disabled == 'T' || p.disablenvt == 'T') this.huidig(5)
this.gewenst = ko.observable(3);
if (p.gewenst) {
this.gewenst(p.gewenst)
}
if (p.disabled == 'T' || p.disablenvt == 'T') this.gewenst(5)
this.nummer = p.nummer;
this.omschrijving = p.omschrijving;
this.toelichting = p.toelichting;
this.aantalscholen = p.aantalscholen;
}
function fAddAdvies(a) {
this.nummer = a.nummer;
this.omschrijving = a.omschrijving;
}
function fIcoon(afbeelding) {
this.afbeelding = ko.observable(afbeelding);
}
if (ls.OntwikkelModel !== undefined){
ls.OntwikkelModel.initModel();
}
else {
ls.OntwikkelModel = {
toporg : ko.observableArray([]),
users : ko.observableArray([]),
selectedOrg : ko.observable(''),
usernivo : ko.observable(),
orgsoort : ko.observable(1),
orgversions : ko.observableArray([]),
selectedOrgversion : ko.observable(''),
selectedUser : ko.observable(''),
instrument : ko.observable(''),
// ijkpunten : ko.observableArray([]),
versieid : ko.observable(), // moet waarschijnlijk orgversie id worden!!
results : ko.observableArray([]),
writeOK : ko.observable(false),
level123 : ko.observable(false),
wijzigRecht : ko.observable(false),
eigenLijst : ko.observable(false),
ingevuld : ko.observable(false),
bezig : ko.observable(false),
verberg : ko.observable(false),
drag_start_index0 : ko.observable(0),
drag_target_index0 : ko.observable(0),
drag_start_index1 : ko.observable(0),
drag_target_index1 : ko.observable(0),
drag_start_index2 : ko.observable(0),
drag_target_index2 : ko.observable(0),
drag_start_index3 : ko.observable(0),
drag_target_index3 : ko.observable(0),
drag_start_index4 : ko.observable(0),
drag_target_index4 : ko.observable(0),
selectedAgenda : ko.observable('standaard'),
geentoegang : ko.observable(false),
orgversie : ko.observable(0),
adviezen : ko.observableArray(),
dragging0 : ko.computed(function() {
if(ls.OntwikkelModel) {
return ls.OntwikkelModel.drag_start_index0() >= 0;
}
}),
dragging1 : ko.computed(function() {
if(ls.OntwikkelModel) {
return ls.OntwikkelModel.drag_start_index1() >= 0;
}
}),
dragging2 : ko.computed(function() {
if(ls.OntwikkelModel) {
return ls.OntwikkelModel.drag_start_index2() >= 0;
}
}),
dragging3 : ko.computed(function() {
if(ls.OntwikkelModel) {
return ls.OntwikkelModel.drag_start_index3() >= 0;
}
}),
dragging4 : ko.computed(function() {
if(ls.OntwikkelModel) {
return ls.OntwikkelModel.drag_start_index4() >= 0;
}
}),
basisACC : ko.observableArray([new fIcoon("acceptGrijs"), new fIcoon("acceptRood"), new fIcoon("acceptOranje"), new fIcoon("acceptGroen"), new fIcoon("acceptBlauw")]),
acceptaties : ko.observableArray([new fIcoon("acceptGrijs"), new fIcoon("leeg"), new fIcoon("leeg"), new fIcoon("leeg"), new fIcoon("leeg")]),
basisBTR : ko.observableArray([new fIcoon("samenGrijs"), new fIcoon("samenRood"), new fIcoon("samenOranje"), new fIcoon("samenGroen"), new fIcoon("samenBlauw")]),
betrokkenen : ko.observableArray(),
basisDIF : ko.observableArray([new fIcoon("diffGrijs"), new fIcoon("diffRood"), new fIcoon("diffOranje"), new fIcoon("diffGroen"), new fIcoon("diffBlauw")]),
diffs : ko.observableArray(),
basisEXT : ko.observableArray([new fIcoon("extraGrijs"), new fIcoon("extraRood"), new fIcoon("extraOranje"), new fIcoon("extraGroen"), new fIcoon("extraBlauw")]),
extras : ko.observableArray(),
basisOMG : ko.observableArray([new fIcoon("omgevingGrijs"), new fIcoon("omgevingRood"), new fIcoon("omgevingOranje"), new fIcoon("omgevingGroen"), new fIcoon("omgevingBlauw")]),
omgevingen : ko.observableArray(),
initBindings :function(){
var self = ls.OntwikkelModel;
if (!ko.dataFor(document.getElementById('pagontwikkel')) ) {
ko.applyBindings(ls.OntwikkelModel, document.getElementById("pagontwikkel"));
}
self.initModel();
},
initModel: function() {
var self = ls.OntwikkelModel;
$.post("index.php/monpas/rapijkpunten/checkLevel", function(data){
if(data){
if(data === 1)
self.level123(true);
}
$.post("index.php/monpas/rapontwikkel/getModule", function(result){
if(result){
self.instrument(result);
if(self.instrument() == '730'){
self.selectedAgenda('dragdrop')
}
}
self.fGetOrganisaties();
},'json')
},'json')
},
fGetOrganisaties: function(){
var self = ls.OntwikkelModel;
self.toporg('');
$.post("index.php/monpas/rapijkpunten/getorgs", function(data){
self.bezig(true);
if (data.organisatie){
self.orgsoort(data.soort);
switch (self.orgsoort()){
case 1: self.toporg(new fAddSWV(data.organisatie));
break;
case 2: self.toporg(new fAddKamer(data.organisatie));
break;
case 3: self.toporg(new fAddBG(data.organisatie));
break;
case 4: self.toporg(new fAddSchool(data.organisatie));
break;
}; // switch
$.post('index.php/monpas/rapijkpunten/getusernivo', function(result){
self.usernivo(result);
self.selectedOrg(self.toporg());
self.fGetWriteAutorisatie(self.fSwitchLevel());
},'json');
} // if
self.bezig(false);
},'json');
},
fGetWriteAutorisatie: function(callback){
var self = ls.OntwikkelModel;
var user = 0;
if(self.selectedUser()){
user = self.selectedUser().id;
}
var submitData = {'orgsoort' : self.selectedOrg().soort,
'orgid' : self.selectedOrg().id,
'user' : user }
$.post("index.php/monpas/rapontwikkel/checkSchrijfrechtenOrg/", submitData, function(result){
self.writeOK(result);
if(typeof callback ==='function' && callback()){
callback();
}
},'json');
},
fToggleGeopend: function(){
this.geopend(!this.geopend());
},
fUpdateGewenst: function(num){
var self=ls.OntwikkelModel;
if(this.huidig() != 5 ) this.gewenst(num);
},
fSwitchOrg: function(){
var self = ls.OntwikkelModel;
if (self.selectedOrg() == undefined) return;
if (this.id == self.selectedOrg().id) return;
self.selectedOrg(this);
self.results.removeAll();
self.ingevuld(false);
self.fGetWriteAutorisatie();
self.fSwitchLevel();
},
fSwitchLevel: function(){
var self = ls.OntwikkelModel;
if (self.selectedOrg() == undefined) return;
if (this.id == self.selectedOrg().id) return;
var versieid = null;
if(self.selectedOrgversion() != undefined ) {
versieid = self.selectedOrgversion().id;
}
$.post("index.php/monpas/rapijkpunten/getperiodes3/" + self.selectedOrg().id, function(data){
self.orgversions.removeAll();
self.results.removeAll();
self.wijzigRecht(false);
self.bezig(true);
if (data){
$.each(data,function(i,p){
self.orgversions.push(new fAddOrgversion(p));
})
}
if(versieid != null ){
$.each(self.orgversions(), function (i, q) {
if (q.id == versieid) {
self.selectedOrgversion(q);
return false;
}
});
}
else if(self.orgversions()) {
self.selectedOrgversion(self.orgversions[0]);
}
else{
self.selectedOrgversion("")
}
if(self.orgsoort()== '4' && self.selectedOrgversion().vorm == '2' && self. usernivo() <= 1){
self.verberg(false);
}
else{
self.verberg(true);
}
if (self.selectedOrgversion().vorm === '1' && self.writeOK()) self.wijzigRecht(true);
if (self.selectedOrgversion().vorm === '2' && self.eigenLijst()) self.wijzigRecht(true);
if (self.selectedOrgversion().vorm === '2' && self.writeOK() &&
self.selectedUser() === undefined) self.wijzigRecht(true);
if(self.level123() && self.writeOK()) self.wijzigRecht(true);
self.fChangeUser(function(){
var zelf = ls.OntwikkelModel;
zelf.bezig(false);
zelf.fChangeVersion2()});
},'json');
},
fChangeUser: function(callback){
var self = ls.OntwikkelModel;
if (self.selectedOrgversion() == undefined) return;
if (self.selectedOrg() == undefined) return;
var submitData = {orgversie : self.selectedOrgversion().id,
orgid : self.selectedOrg().id}
$.post("index.php/monpas/rapijkpunten/getusers", submitData, function(results){
self.users.removeAll();
self.results.removeAll();
if (results){
$.each(results, function(i,p){
self.users.push(new fAddUser(p));
}); // each
}
if(results && results.length == 1) {
self.selectedUser(self.users()[0]);
} else {
self.selectedUser() == undefined;
}
if (typeof callback == "function") callback();
//
},'json'); // post
},
fChangeVersion2: function(){
var self = ls.OntwikkelModel;
if (self.selectedOrgversion() == undefined) return;
if (self.bezig()) return;
if(self.level123()){
self.verberg(true);
self.fHaalOrgScoresOp()}
else {
if (self.selectedOrg().soort == 4 && self.selectedOrgversion().vorm == 2 && self.usernivo() <= 1) {
self.verberg(false);
if (self.selectedUser() == undefined) {
self.fHaalOrgScoresOp();
}
else {
self.fCheckEigenLijst();
self.fGetUserScores();
}
}
else {
self.verberg(true);
self.selectedUser("");
self.fHaalOrgScoresOp();
}
}
},
fHaalOrgScoresOp: function(){
var self = ls.OntwikkelModel;
self.ingevuld(false);
if(self.geentoegang() && self.orgversie() == self.selectedOrgversion().id ) return;
if (self.selectedOrgversion() == undefined) return;
self.orgversie(self.selectedOrgversion().id)
self.geentoegang(true)
var submitData = {orgversieid : self.selectedOrgversion().id,
orgid : self.selectedOrg().id
}
$.post("index.php/monpas/rapontwikkel/getscores", submitData, function(data){
self.results.removeAll();
self.adviezen.removeAll();
if (data){
$.each(data.scores, function(i,p){
self.results.push(new fAddResult(p));
self.ingevuld(true);
})
$.each(data.scores, function(z,s){
switch(Number(s.nummer)) {
case 1: self.fVulAcceptaties(s.gewenst);
break;
case 2: self.fVulBetrokkenen(s.gewenst);
break;
case 3: self.fVulDiffs(s.gewenst);
break;
case 4: self.fVulExtras(s.gewenst);
break;
case 5: self.fVulOmgevingen(s.gewenst);
break;
}
})
self.fGetWriteAutorisatie();
$.each(self.results(), function(i,p){
if(p.gewenst() && p.huidig() < p.gewenst()) {
self.adviezen.push( new fAddAdvies(p));
}
})
}
},'json');
},
fVulAcceptaties: function(gewenst){
var self = ls.OntwikkelModel;
// self.acceptaties.removeAll();
let streven = gewenst;
if(Number(gewenst) === 5) streven = 0;
switch(Number(streven)){
case 0: self.acceptaties([new fIcoon('acceptGrijs'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 1: self.acceptaties([new fIcoon('leeg'), new fIcoon('acceptRood'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 2: self.acceptaties([new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('acceptOranje'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 3: self.acceptaties([new fIcoon('leeg'),new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('acceptGroen'), new fIcoon('leeg')]);
break;
case 4: self.acceptaties([new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'),new fIcoon('acceptBlauw')]);
break;
}
},
fVulBetrokkenen: function(gewenst){
var self = ls.OntwikkelModel;
self.betrokkenen.removeAll();
let streven = gewenst;
if(Number(gewenst) === 5) streven = 0;
switch(Number(streven)){
case 0: self.betrokkenen([new fIcoon('samenGrijs'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 1: self.betrokkenen([new fIcoon('leeg'), new fIcoon('samenRood'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 2: self.betrokkenen([new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('samenOranje'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 3: self.betrokkenen([new fIcoon('leeg'),new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('samenGroen'), new fIcoon('leeg')]);
break;
case 4: self.betrokkenen([new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'),new fIcoon('samenBlauw')]);
break;
}
},
fVulDiffs: function(gewenst){
var self = ls.OntwikkelModel;
self.diffs.removeAll();
let streven = gewenst;
if(Number(gewenst) === 5) streven = 0;
switch(Number(streven)){
case 0: self.diffs([new fIcoon('diffGrijs'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 1: self.diffs([new fIcoon('leeg'), new fIcoon('diffRood'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 2: self.diffs([new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('diffOranje'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 3: self.diffs([new fIcoon('leeg'),new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('diffGroen'), new fIcoon('leeg')]);
break;
case 4: self.diffs([new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'),new fIcoon('diffBlauw')]);
break;
}
},
fVulExtras: function(gewenst){
var self = ls.OntwikkelModel;
self.extras.removeAll();
let streven = gewenst;
if(Number(gewenst) === 5) streven = 0;
switch(Number(streven)){
case 0: self.extras([new fIcoon('extraGrijs'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 1: self.extras([new fIcoon('leeg'), new fIcoon('extraRood'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 2: self.extras([new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('extraOranje'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 3: self.extras([new fIcoon('leeg'),new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('extraGroen'), new fIcoon('leeg')]);
break;
case 4: self.extras([new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'),new fIcoon('extraBlauw')]);
break;
}
},
fVulOmgevingen: function(gewenst){
var self = ls.OntwikkelModel;
self.omgevingen.removeAll();
let streven = gewenst;
if(Number(gewenst) === 5) streven = 0;
switch(Number(streven)){
case 0: self.omgevingen([new fIcoon('omgevingGrijs'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 1: self.omgevingen([new fIcoon('leeg'), new fIcoon('omgevingRood'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 2: self.omgevingen([new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('omgevingOranje'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 3: self.omgevingen([new fIcoon('leeg'),new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('omgevingGroen'), new fIcoon('leeg')]);
break;
case 4: self.omgevingen([new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'),new fIcoon('omgevingBlauw')]);
break;
}
// for(let i = 0; i< 5; i++){
// if(i=== streven){
// switch(streven){
// case 0: self.omgevingen.push(new fIcoon('omgevingGrijs'));
// break;
// case 1: self.omgevingen.push(new fIcoon('omgevingRood'));
// break;
// case 2: self.omgevingen.push(new fIcoon('omgevingOranje'));
// break;
// case 3: self.omgevingen.push(new fIcoon('omgevingGroen'));
// break;
// case 4: self.omgevingen.push(new fIcoon('omgevingBlauw'));
// break;
//
// }
// }
// else{
// self.omgevingen.push(new fIcoon('leeg'))
// }
// }
},
fGetUserScores: function(){
var self = ls.OntwikkelModel;
self.results.removeAll();
self.ingevuld(false);
self.eigenLijst(false);
var submitData ='';
if ( self.selectedOrg() == undefined ||
self.selectedOrgversion() == undefined ||
self.users() == undefined ||
self.usernivo > 1 ) return;
if (self.selectedUser() != undefined){
submitData = { orguserid : self.selectedUser().orguserid,
orgid : self.selectedOrg().id,
orgversie : self.selectedOrgversion().id}
$.post("index.php/monpas/rapontwikkel/scoresindividueel" , submitData, function(data){
self.adviezen.removeAll();
if (data){
$.each(data.scores, function(i,p){
self.results.push(new fAddResult(p));
self.ingevuld(true);
})
$.each(data.scores, function(z,s){
switch(Number(s.nummer)) {
case 1: self.fVulAcceptaties(s.gewenst);
break;
case 2: self.fVulBetrokkenen(s.gewenst);
break;
case 3: self.fVulDiffs(s.gewenst);
break;
case 4: self.fVulExtras(s.gewenst);
break;
case 5: self.fVulOmgevingen(s.gewenst);
break;
}
})
}
self.fCheckEigenLijst();
$.each(self.results(), function(i,p){
if(p.gewenst() && p.huidig() < p.gewenst()) {
self.adviezen.push( new fAddAdvies(p));
}
})
},'json');
}
else {
self.results.removeAll();
self.fHaalOrgScoresOp();
}
},
fCheckEigenLijst: function(){
var self = ls.OntwikkelModel;
self.wijzigRecht(false);
$.post("index.php/monpas/rapontwikkel/checkindividueelschrijfrecht/" +self.selectedUser().orguserid, function(result){
if (result){
self.eigenLijst(result);
}
else{
self.eigenLijst(false);
}
if (self.eigenLijst()) self.wijzigRecht(true);
if (self.writeOK() &&
self.selectedUser() === undefined) self.wijzigRecht(true);
},'json');
},
fToonToelichting: function(){
var self = ls.OntwikkelModel;
var dit = this;
var toelichting = '';
if (dit.toelichting != undefined) toelichting = dit.toelichting;
apprise(dit.nummer + '. ' + dit.omschrijving + '<br/>Toelichting: ' + toelichting);
},
fSaveGewenst: function(){
var self=ls.OntwikkelModel;
var orguserid = 0;
if(self.eigenLijst()){
orguserid = self.selectedUser().orguserid;
}
var wensarray = [];
if(self.selectedAgenda()==='standaard') {
$.each(self.results(), function (i, p) {
wensarray[i] = {
'ijkpuntid': p.ijkpuntid,
'wensid': p.wensid,
'gewenst': p.gewenst()
};
});
}
if(self.selectedAgenda()==='dragdrop') {
$.each(self.results(), function (i, p) {
switch(Number(p.nummer)) {
case 1: $.each(self.acceptaties(), function (x, a) {
if (a.afbeelding() !== 'leeg') {
wensarray.push({'ijkpuntid': p.ijkpuntid,
'wensid': p.wensid,
'gewenst': x})
}
});
break;
case 2: $.each(self.betrokkenen(), function (z, b) {
if (b.afbeelding() !== 'leeg') {
wensarray.push({'ijkpuntid': p.ijkpuntid,
'wensid': p.wensid,
'gewenst': z})
}
});
break;
case 3: $.each(self.diffs(), function (s, d) {
if (d.afbeelding() !== 'leeg') {
wensarray.push({'ijkpuntid': p.ijkpuntid,
'wensid': p.wensid,
'gewenst': s})
}
});
break;
case 4: $.each(self.extras(), function (g, x) {
if (x.afbeelding() !== 'leeg') {
wensarray.push({'ijkpuntid': p.ijkpuntid,
'wensid': p.wensid,
'gewenst': g})
}
});
break;
case 5: $.each(self.omgevingen(), function (f, m) {
if (m.afbeelding() !== 'leeg') {
wensarray.push({'ijkpuntid': p.ijkpuntid,
'wensid': p.wensid,
'gewenst': f})
}
});
break;
}
})
}
//
// return;
var submitData= { 'wensarray' : wensarray,
'orgid' : self.selectedOrg().id,
'orgversionid' : self.selectedOrgversion().id,
'orguserid' : orguserid}
$.post("index.php/monpas/rapontwikkel/savegewenst", submitData, function(wensids){
self.adviezen.removeAll();
$.each(self.results(), function(i,p){
if(p.gewenst() && p.huidig() < p.gewenst()) {
self.adviezen.push(new fAddAdvies(p));
}
})
ls.MsgAutoFade("Gegevens zijn opgeslagen", 600);
;// If wensids
},'json')
},
fDragstart: function( event, index, parent){
var self= ls.OntwikkelModel;
$(event.target).addClass('dragSource')
switch(parent){
case 'ACC': if(self.results()[0] && self.results()[0].disabled=== 'T') {
apprise("Dit ijkpunt is uitgezet.");
return;}
else self.drag_start_index0(index);
break;
case 'BTR': if(self.results()[1] && self.results()[1].disabled=== 'T') {
apprise("Dit ijkpunt is uitgezet.");
return;}
else self.drag_start_index1(index);
break;
case 'DIF': if(self.results()[2] && self.results()[2].disabled=== 'T') {
apprise("Dit ijkpunt is uitgezet.");
return;}
else self.drag_start_index2(index);
break;
case 'EXT': if(self.results()[3] && self.results()[3].disabled=== 'T') {
apprise("Dit ijkpunt is uitgezet.");
return;}
else self.drag_start_index3(index);
break;
case 'OMG': if(self.results()[4] && self.results()[4].disabled=== 'T') {
apprise("Dit ijkpunt is uitgezet.");
return;}
else self.drag_start_index4(index);
break;
}
return $(event.target).hasClass('draggable');
},
fDragend: function( event, index, parent){
var self= ls.OntwikkelModel;
switch(parent){
case 'ACC': self.drag_start_index0(-1);
break;
case 'BTR': self.drag_start_index1(-1);
break;
case 'DIF': self.drag_start_index2(-1);
break;
case 'EXT': self.drag_start_index3(-1);
break;
case 'OMG': self.drag_start_index4(-1);
break;
}
$(event.target).removeClass('dragSource')
return true;
},
fDragover: function( event){
event.preventDefault();
},
fDragenter: function( event, index, parent){
var self= ls.OntwikkelModel;
switch(parent){
case 'ACC': self.drag_target_index0(index);
break;
case 'BTR': self.drag_target_index1(index);
break;
case 'DIF': self.drag_target_index2(index);
break;
case 'EXT': self.drag_target_index3(index);
break;
case 'OMG': self.drag_target_index4(index);
break;
}
var element = $(event.target)
if(element.hasClass('draggable'))
element.toggleClass('dragover');
event.preventDefault();
},
fDragleave: function( event){
var element = $(event.target)
if(element.hasClass('draggable'))
element.toggleClass('dragover');
event.preventDefault();
},
fDrop: function( event, index, parent){
var self= ls.OntwikkelModel;
$(event.target).removeClass('dragover');
switch(parent){
case 'ACC': self.fWissel(self.drag_start_index0(), self.drag_target_index0(), 'ACC')
break;
case 'BTR': self.fWissel(self.drag_start_index1(), self.drag_target_index1(), 'BTR')
break;
case 'DIF': self.fWissel(self.drag_start_index2(), self.drag_target_index2(), 'DIF')
break;
case 'EXT': self.fWissel(self.drag_start_index3(), self.drag_target_index3(), 'EXT')
break;
case 'OMG': self.fWissel(self.drag_start_index4(), self.drag_target_index4(), 'OMG')
break;
}
},
fWissel : function(from, to, parent) {
var self = ls.OntwikkelModel;
switch(parent){
case 'ACC': if (to > self.acceptaties().length - 1 || to < 0) return;
var fromObj = self.basisACC()[to];
var toObj = self.acceptaties()[to];
self.acceptaties()[from] = toObj;
self.acceptaties()[to] = fromObj;
self.acceptaties.valueHasMutated();
break;
case 'BTR': if (to > self.betrokkenen().length - 1 || to < 0) return;
var fromObj = self.basisBTR()[to];
var toObj = self.betrokkenen()[to];
self.betrokkenen()[from] = toObj;
self.betrokkenen()[to] = fromObj;
self.betrokkenen.valueHasMutated();
break;
case 'DIF': if (to > self.diffs().length - 1 || to < 0) return;
var fromObj = self.basisDIF()[to];
var toObj = self.diffs()[to];
self.diffs()[from] = toObj;
self.diffs()[to] = fromObj;
self.diffs.valueHasMutated();
break;
case 'EXT': if (to > self.extras().length - 1 || to < 0) return;
var fromObj = self.basisEXT()[to];
var toObj = self.extras()[to];
self.extras()[from] = toObj;
self.extras()[to] = fromObj;
self.extras.valueHasMutated();
break;
case 'OMG': if (to > self.omgevingen().length - 1 || to < 0) return;
var fromObj = self.basisOMG()[to];
var toObj = self.omgevingen()[to];
self.omgevingen()[from] = toObj;
self.omgevingen()[to] = fromObj;
self.omgevingen.valueHasMutated();
break;
}
},
fPrintOntwikkelmatrix: function(){
var self = ls.OntwikkelModel;
var orgid = self.selectedOrg().id;
var orgversieid = self.selectedOrgversion().id;
var resultaten= [];
if (self.results()){
$.each(self.results(), function(i,p){
resultaten.push({'nummer' : p.nummer, 'ijkpuntid': p.ijkpuntid, 'huidig': p.huidig(), 'wens' : p.gewenst()});
})
}
var data={ 'orgid' : orgid,
"orgversieid" : orgversieid,
"resultaten" : resultaten,
"orgversie" : self.selectedOrgversion(),
"user" : self.selectedUser() ? self.selectedUser().usernaam : ''}
var submitUrl = "index.php/monpas/rapontwikkel/printontwikkelmatrix/?json=" + JSON.stringify(data);
window.open(submitUrl);
}
} ; // definition van model
ls.OntwikkelModel.initBindings();
// ls.OntwikkelModel.wijzigRecht = ko.pureComputed(function () {
// var self = ls.OntwikkelModel;
// if(!self.ingevuld()) return 'Verberg';
// if(self.selectedOrgversion().vorm == 1 && self.writeOK()) return 'Toon';
// if(self.selectedOrgversion().vorm == 2 && self.eigenLijst()) return 'Toon';
// if(self.selectedOrgversion().vorm == 2 && self.writeOK() && self.selectedUser() == undefined) return 'Toon';
// return 'Verberg';
//
// });
}; // else
}// function initOntwikkelModel
});