initial commit
This commit is contained in:
@@ -0,0 +1,444 @@
|
||||
$(function(){
|
||||
|
||||
mh.initSorteringModel = function(){
|
||||
|
||||
function fAddSWV(p) {
|
||||
this.id = p.id;
|
||||
this.soort = p.soort
|
||||
this.naam = p.naam
|
||||
}
|
||||
|
||||
function fAddSWVIndeling(p) {
|
||||
var dit = this;
|
||||
this.kamers = ko.observableArray([]),
|
||||
this.id = p.id;
|
||||
this.soort = p.soort
|
||||
this.naam = p.naam
|
||||
if (p.kamers) {
|
||||
$.each(p.kamers, function (x, z) {
|
||||
dit.kamers.push(new fAddKamer(z));
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function fAddKamer(p) {
|
||||
var dit = this;
|
||||
this.id = p.id;
|
||||
this.soort = p.soort
|
||||
this.naam = p.naam
|
||||
this.plaats = p.plaats
|
||||
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.indelingen = ko.observableArray([]);
|
||||
if (p.scholen) {
|
||||
$.each(p.scholen, function (a, b) {
|
||||
dit.indelingen.push(new fAddSchoolIndeling(b));
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function fAddSchoolIndeling(s ) {
|
||||
var dit = this;
|
||||
this.schoolid = s.id;
|
||||
this.soort = s.soort;
|
||||
this.naam = s.naam;
|
||||
this.naamkort = s.naamkort;
|
||||
this.brin = s.brin;
|
||||
this.plaats = s.plaats;
|
||||
this.criteriumid = s.criteriumid;
|
||||
this.selectedOptie = ko.observable(null);
|
||||
this.opties = ko.observableArray('');
|
||||
var school = s.id;
|
||||
var gekozenid = s.indeling.waardeid;
|
||||
if(s.opties){
|
||||
var lengte = s.opties.length;
|
||||
if(s.indeling.waardeid == s.opties){
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
if (s.opties) {
|
||||
$.each(s.opties, function (i, o) {
|
||||
dit.opties.push(new fAddOptie(o, i, lengte, school, gekozenid));
|
||||
if(o.waardeid == s.indeling.waardeid){
|
||||
dit.selectedOptie(o.waardeid)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function fAddOptie(o, i, lengte, school, gekozenid){
|
||||
var dit = this;
|
||||
this.optie = o.naam;
|
||||
this.waardeid = o.waardeid;
|
||||
var school = school;
|
||||
var gekozenid = gekozenid;
|
||||
this.selectedSchool = ko.observable(school);
|
||||
|
||||
this.gekozenid = ko.observable(gekozenid);
|
||||
this.kolombreedte2 = ko.pureComputed(function(){
|
||||
var breedte = 0;
|
||||
var kolom1= 210;
|
||||
var tabel = 1000;
|
||||
var min = (tabel - kolom1)/lengte;
|
||||
var max = 210;
|
||||
min > max ? breedte = max : breedte = min;
|
||||
breedte = breedte + 'px';
|
||||
|
||||
return breedte;
|
||||
})
|
||||
}
|
||||
|
||||
function fAddCriteria(c){
|
||||
var dit = this;
|
||||
var lengte = c.labels.length;
|
||||
this.criteriumid = c.id;
|
||||
this.swvid = c.swv_id;
|
||||
this.criterium = ko.observable(c.naam);
|
||||
this.criteriumoud = ko.observable(c.naam);
|
||||
this.labels = ko.observableArray([]);
|
||||
if (c.labels) {
|
||||
$.each(c.labels, function (j, l) {
|
||||
dit.labels.push(new fAddLabels( l, j, lengte));
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function fAddLabels(l, j, lengte){
|
||||
var dit = this;
|
||||
this.index = j;
|
||||
this.waardeid = l.waardeid;
|
||||
this.sorteringid = l.sorteringid;
|
||||
this.label = ko.observable(l.naam);
|
||||
this.volgorde = l.volgorde;
|
||||
|
||||
this.kolombreedte = ko.pureComputed(function(){
|
||||
var breedte = 0;
|
||||
var kolom1 = 210;
|
||||
var tabel = 1000;
|
||||
var min = (tabel - kolom1)/lengte;
|
||||
var max = 210;
|
||||
min > max ? breedte = max : breedte = min;
|
||||
breedte = breedte + 'px';
|
||||
|
||||
return breedte;
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (mh.SorteringModel !== undefined){
|
||||
mh.SorteringModel.initModel();
|
||||
}
|
||||
else {
|
||||
mh.SorteringModel = {
|
||||
swvs : ko.observableArray([]),
|
||||
criteria : ko.observableArray([]),
|
||||
nieuweLabels : ko.observableArray([]),
|
||||
swvindeling : ko.observable(''),
|
||||
selectedSWV : ko.observable(''),
|
||||
selectedCriterium : ko.observable(''),
|
||||
selectedLabel : ko.observable(''),
|
||||
nieuwCriterium : ko.observable(''),
|
||||
nieuwLabel1 : ko.observable(''),
|
||||
nieuwLabel2 : ko.observable(''),
|
||||
toonIndeling : ko.observable(false),
|
||||
legelabels : ko.observable(false),
|
||||
kolom1 : ko.pureComputed(function(){
|
||||
var aantal = 0
|
||||
var kolom1 = 210
|
||||
if(mh.SorteringModel.selectedCriterium().labels> 0){
|
||||
aantal = mh.SorteringModel.selectedCriterium().labels.length;
|
||||
|
||||
var tabel = 1000;
|
||||
var breedte = (tabel - kolom1)% aantal + kolom1;
|
||||
kolom1 = breedte;
|
||||
|
||||
}
|
||||
kolom1 = kolom1 + 'px';
|
||||
|
||||
return kolom1;
|
||||
}),
|
||||
|
||||
initBindings :function(){
|
||||
var self = mh.SorteringModel;
|
||||
if (!ko.dataFor(document.getElementById('pagSortering')) ) {
|
||||
ko.applyBindings(mh.SorteringModel, document.getElementById("pagSortering"));
|
||||
}
|
||||
self.initModel();
|
||||
},
|
||||
initModel: function(){
|
||||
var self =mh.SorteringModel;
|
||||
self.swvs.removeAll();
|
||||
$.post("index.php/shared/organisaties/getorgsperlevel/1", function(data){
|
||||
if (data){
|
||||
$.each(data, function(i,p){
|
||||
self.swvs.push(new fAddSWV(p));
|
||||
});
|
||||
}
|
||||
self.fToonSortering();
|
||||
},'json');
|
||||
},
|
||||
|
||||
fChangeSWV : function(){
|
||||
var self = mh.SorteringModel;
|
||||
self.fSluitIndeling();
|
||||
self.fToonSortering();
|
||||
},
|
||||
|
||||
fToonSortering: function(){
|
||||
var self = mh.SorteringModel;
|
||||
var dit = this;
|
||||
var swvid = dit.selectedSWV().id
|
||||
dit.criteria.removeAll();
|
||||
|
||||
$.post("index.php/monpas/sortering/getsortering/" + swvid, function(data){
|
||||
dit.criteria.removeAll();
|
||||
if (data){
|
||||
$.each(data, function(i,c){
|
||||
self.criteria.push(new fAddCriteria(c));
|
||||
|
||||
});
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
|
||||
fMaakSortering: function(){
|
||||
var self = mh.SorteringModel;
|
||||
var dit = this;
|
||||
},
|
||||
|
||||
fNieuwCriterium: function(){
|
||||
var self = mh.SorteringModel;
|
||||
var dit = this;
|
||||
$("#nieuwCriterium").modal('show');
|
||||
},
|
||||
|
||||
fNieuwLabel: function(){
|
||||
var self = mh.SorteringModel;
|
||||
var dit = this;
|
||||
self.nieuweLabels.push({nieuwLabel:ko.observable('')});
|
||||
},
|
||||
|
||||
fSaveCriterium: function(){
|
||||
var self = mh.SorteringModel;
|
||||
var dit = this;
|
||||
|
||||
if(!self.nieuwCriterium()){
|
||||
apprise("Vul eerst een criterium in.");
|
||||
return;
|
||||
}
|
||||
if(!self.nieuwLabel1() || !self.nieuwLabel2() ){
|
||||
apprise("Vul eerst twee waarden in.");
|
||||
return;
|
||||
}
|
||||
|
||||
if(self.nieuweLabels()){
|
||||
for(var i = 0; i < self.nieuweLabels().length; i++ ){
|
||||
if(self.nieuweLabels()[i].nieuwLabel()==''){
|
||||
self.nieuweLabels.splice(i,1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var submitData = {
|
||||
'swvID' : self.selectedSWV().id,
|
||||
'criterium' : self.nieuwCriterium(),
|
||||
'label1' : self.nieuwLabel1(),
|
||||
'label2' : self.nieuwLabel2(),
|
||||
'labelArray' : self.nieuweLabels(),
|
||||
}
|
||||
|
||||
$.post("index.php/monpas/sortering/saveCriterium/", submitData, function (data) {
|
||||
if (data) {
|
||||
self.fToonSortering();
|
||||
self.nieuwCriterium('');
|
||||
self.nieuwLabel1('');
|
||||
self.nieuwLabel2('');
|
||||
self.nieuweLabels([]);
|
||||
}
|
||||
}, 'json');
|
||||
$("#nieuwCriterium").modal('hide');
|
||||
},
|
||||
|
||||
fSaveEdit: function(){
|
||||
var self = mh.SorteringModel;
|
||||
var dit = this;
|
||||
|
||||
if(!self.selectedCriterium().criterium()){
|
||||
apprise("Vul eerst een criterium in.");
|
||||
self.selectedCriterium().criterium(self.selectedCriterium().criteriumoud());
|
||||
return;
|
||||
}
|
||||
if(self.selectedCriterium().labels().length < 2){
|
||||
apprise("Vul de eerste twee waarden in.");
|
||||
return;
|
||||
}
|
||||
|
||||
if(self.nieuweLabels()){
|
||||
for(var i = 0; i < self.nieuweLabels().length; i++ ){
|
||||
if(self.nieuweLabels()[i].nieuwLabel()==''){
|
||||
self.nieuweLabels.splice(i,1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var submitData = {
|
||||
'swvID' : self.selectedSWV().id,
|
||||
'criteriumid': self.selectedCriterium().criteriumid,
|
||||
'criterium' : self.selectedCriterium().criterium(),
|
||||
'labels' : self.selectedCriterium().labels(),
|
||||
'labelArray' : self.nieuweLabels(),
|
||||
}
|
||||
$.post("index.php/monpas/sortering/editCriterium/", submitData, function (data) {
|
||||
|
||||
if (data) {
|
||||
self.selectedCriterium().labels.removeAll();
|
||||
self.nieuweLabels.removeAll;
|
||||
self.fToonSortering();
|
||||
}
|
||||
}, 'json');
|
||||
$("#editCriterium").modal('hide');
|
||||
},
|
||||
|
||||
|
||||
fAnnuleerCriterium: function(){
|
||||
var self = mh.SorteringModel;
|
||||
var dit = this;
|
||||
self.nieuwCriterium('');
|
||||
self.nieuwLabel1('');
|
||||
self.nieuwLabel2('');
|
||||
self.nieuweLabels([]);
|
||||
$("#nieuwCriterium").modal('hide');
|
||||
},
|
||||
|
||||
fEditCriterium: function(){
|
||||
var self = mh.SorteringModel;
|
||||
var dit = this;
|
||||
self.selectedCriterium(this);
|
||||
$("#editCriterium").modal('show');
|
||||
},
|
||||
|
||||
fDeleteCriterium: function(){
|
||||
var self = mh.SorteringModel;
|
||||
var dit = this;
|
||||
var criteriumid = dit.criteriumid;
|
||||
|
||||
apprise("Weet u zeker dat u <i> " + dit.criterium() + " </i> wilt verwijderen? " +
|
||||
"Ook de waarden worden verwijderd. " +
|
||||
"Dit kan niet ongedaan gemaakt worden.", {
|
||||
'verify': true,
|
||||
textYes: 'ja',
|
||||
textNo: 'nee'
|
||||
}, function (ans) {
|
||||
if (ans) {
|
||||
$.post("index.php/monpas/sortering/deleteCriterium/" + criteriumid, function (data) {
|
||||
if (data) {
|
||||
self.fToonSortering();
|
||||
}
|
||||
}, 'json');
|
||||
} // if
|
||||
else {
|
||||
return false;
|
||||
} //else
|
||||
}); //apprise
|
||||
|
||||
},
|
||||
|
||||
fDeleteLabel: function(){
|
||||
var self = mh.SorteringModel;
|
||||
var dit = this;
|
||||
var labelid = dit.waardeid;
|
||||
self.selectedLabel(this);
|
||||
|
||||
apprise("Weet u zeker dat u <i> " + dit.label() + " </i> wilt verwijderen? ", {
|
||||
'verify': true,
|
||||
textYes: 'ja',
|
||||
textNo: 'nee'
|
||||
}, function (ans) {
|
||||
if (ans) {
|
||||
$.post("index.php/monpas/sortering/deleteLabel/" + labelid, function (data) {
|
||||
if (data) {
|
||||
self.selectedCriterium().labels.remove(self.selectedLabel());
|
||||
}
|
||||
}, 'json');
|
||||
} // if
|
||||
else {
|
||||
return false;
|
||||
} //else
|
||||
}); //apprise
|
||||
},
|
||||
|
||||
fAnnuleerLabel: function(){
|
||||
var self = mh.SorteringModel;
|
||||
var dit = this;
|
||||
self.nieuweLabels.remove(this);
|
||||
},
|
||||
|
||||
fKoppelScholen: function(){
|
||||
var self = mh.SorteringModel;
|
||||
var dit = this;
|
||||
self.toonIndeling(true);
|
||||
self.selectedCriterium(dit);
|
||||
self.fGetIndeling();
|
||||
},
|
||||
|
||||
fSluitIndeling: function(){
|
||||
var self = mh.SorteringModel;
|
||||
var dit = this;
|
||||
self.toonIndeling(false);
|
||||
},
|
||||
|
||||
fGetIndeling: function(){
|
||||
var self = mh.SorteringModel;
|
||||
var dit = this;
|
||||
var submitData ={
|
||||
'swvid' : self.selectedSWV().id,
|
||||
'criteriumid' : self.selectedCriterium().criteriumid
|
||||
}
|
||||
|
||||
$.post("index.php/monpas/sortering/getSchoolIndelingen", submitData, function (data) {
|
||||
self.swvindeling('');
|
||||
if (data) {
|
||||
self.swvindeling(new fAddSWVIndeling(data));
|
||||
|
||||
}
|
||||
}, 'json');
|
||||
},
|
||||
|
||||
fUpdateIndeling: function(parent){
|
||||
var self = mh.SorteringModel;
|
||||
parent.selectedOptie(this.waardeid);
|
||||
|
||||
var submitData ={
|
||||
'orgid' : this.selectedSchool(),
|
||||
'keuzeid' : this.waardeid,
|
||||
'criteriumid' : self.selectedCriterium().criteriumid
|
||||
}
|
||||
|
||||
$.post("index.php/monpas/sortering/updateSortering", submitData, function (data){
|
||||
if(data){
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
} ; // definition van model
|
||||
|
||||
ko.applyBindings(mh.SorteringModel, document.getElementById("pagSortering"));
|
||||
mh.SorteringModel.initModel();
|
||||
|
||||
}; // else
|
||||
}// function initSorteringModel
|
||||
});
|
||||
Reference in New Issue
Block a user