initial commit
This commit is contained in:
@@ -0,0 +1,478 @@
|
||||
// GLOBAL VARS
|
||||
var kolWidth = [22,22,80,100,80]; // default , days, months, years, weeks
|
||||
var wPerDag =[21, 21, 2.5, 0.25, 2.5]; // default , days, months, years, weeks
|
||||
var MSdag = 24 * 60 * 60 * 1000;
|
||||
|
||||
// var maandArray=['januari', 'februari','maart','april','mei','juni','juli','augustus','september','oktober','november','december']
|
||||
var maandArray2=['jan', 'feb','mrt','apr','mei','jun','jul','aug','sep','okt','nov','dec'];
|
||||
|
||||
var Alles =[];
|
||||
var projStart = new Date();
|
||||
var projEind = new Date();
|
||||
projEind.setYear(projEind.getYear() + 1);
|
||||
var GanttStartDateXX = new Date(projStart.getFullYear(), projStart.getMonth(), projStart.getDate());
|
||||
var graphMinX = 0;
|
||||
var graphMaxX = 700
|
||||
|
||||
function getMinMaxX(periode){
|
||||
graphMinX=Math.round( ( (projStart.getTime() - GanttStartDateXX.getTime() ) / MSdag ) * wPerDag[periode]);
|
||||
graphMaxX=Math.round( ( (projEind.getTime() - GanttStartDateXX.getTime() ) / MSdag) * wPerDag[periode]);
|
||||
};
|
||||
|
||||
// OBJECT CONSTRUCTORS
|
||||
|
||||
function taakbar(start, eind, duur, id, Index, pijlerID, periode, isPijler){
|
||||
this.start = new Date (start.substring(6,10), (start.substring(3,5) -1), start.substring(0,2));
|
||||
this.eind = new Date(eind.substring(6,10), (eind.substring(3,5) -1), eind.substring(0,2) ) ;
|
||||
this.duur = duur;
|
||||
this.periode = periode;
|
||||
this.id = id;
|
||||
this.Index = Index; // rowID is gelijk aan index
|
||||
this.pijlerID = pijlerID ;
|
||||
this.isPijler = isPijler;
|
||||
|
||||
this.width = Math.round( ( (this.eind.getTime() - this.start.getTime())/MSdag) * wPerDag[periode]);
|
||||
this.width = Math.max(this.width,5); //minimum width in pixels
|
||||
dagen = Math.ceil((this.start.getTime() - GanttStartDateXX.getTime())/ MSdag );
|
||||
this.vLeft = dagen * wPerDag[this.periode];
|
||||
|
||||
this.html = "<div class=tbKlas style='width: 5px; ' > </div>" ;
|
||||
this.getHtml = getHtml;
|
||||
this.getNewSize= getNewSize;
|
||||
if (isPijler){
|
||||
this.minX = graphMinX;
|
||||
this.maxX = graphMaxX;
|
||||
}
|
||||
else{
|
||||
var self = this;
|
||||
$.each(Alles, function(j,al){
|
||||
if (al.isPijler && al.id == self.pijlerID) {
|
||||
self.minX = al.vLeft
|
||||
self.maxX= al.vLeft + al.width
|
||||
return false;
|
||||
}; //if al.isPIJler
|
||||
}); // each
|
||||
}; // else
|
||||
function getNewSize(){
|
||||
var dagen= Math.ceil((this.start.getTime() - GanttStartDateXX.getTime())/ MSdag );
|
||||
this.vLeft= dagen * wPerDag[this.periode];
|
||||
var days = Math.ceil((this.eind.getTime() - this.start.getTime())/MSdag);
|
||||
var vWidth =(days * wPerDag[periode]);
|
||||
$("#tbID" + this.Index).css('width',vWidth);
|
||||
$("#tbID" + this.Index).css('left' , this.vLeft);
|
||||
};
|
||||
function getHtml (){
|
||||
var vTop = (this.Index * 39) + 43;
|
||||
// bepaal draggable/uitrekbaar
|
||||
var strDraggable = "";
|
||||
var strRek = '';
|
||||
var PHead ='' ;
|
||||
if( isPijler) {PHead = "tijdPijler"}
|
||||
if (this.code != 'bg') {
|
||||
strDraggable = 'OKdrag' ;
|
||||
strRek = "OKrek" ;
|
||||
}
|
||||
var idNaam = "tbID" + this.Index;
|
||||
this.html ="<div class='" + PHead + " tbKlas " +strDraggable + " " + strRek+ " ' " +
|
||||
"id ='" + idNaam+ "' " +
|
||||
"style='width:" + this.width + "px; top:" + vTop +"px;left: " + this.vLeft + "px; ' ></div>";
|
||||
}; // if bij bereken html
|
||||
}
|
||||
|
||||
//------------------------- functies --------------------------------------------
|
||||
function XtoDate (Xpos, periode) {
|
||||
var dagen =Math.round(Xpos /wPerDag[periode]);
|
||||
var NewDate = new Date(GanttStartDateXX.getFullYear(), GanttStartDateXX.getMonth(), (GanttStartDateXX.getDate() + dagen) )
|
||||
return NewDate;
|
||||
};
|
||||
function XtoDagen(aantalX, periode){
|
||||
return aantalDagen = Math.round(aantalX / wPerDag[periode]);
|
||||
}
|
||||
function DatetoX(Datum, periode){
|
||||
var dageninMS = (Datum.getTime() - GanttStartDateXX.getTime());
|
||||
var dagen = dageninMS / MSdag;
|
||||
var newX = Math.round(dagen * wPerDag[periode]);
|
||||
return newX;
|
||||
}
|
||||
|
||||
function BerekenActiviteit(tbalk, posLinks){
|
||||
|
||||
var Aindex=tbalk.id.substring(4, tbalk.id.length)
|
||||
var periode =Alles[Aindex].periode;
|
||||
var Taakobject = Alles[Aindex];
|
||||
var SetAtX = posLinks.position.left;
|
||||
var newStart = XtoDate(posLinks.position.left, periode);
|
||||
var NuWidth = parseInt(( $(tbalk).css('width') ).replace('px','') ,10);
|
||||
var newEind = XtoDate((posLinks.position.left + NuWidth) , periode);
|
||||
var msg = '';
|
||||
$.post("index.php/ijkpartituur/planning/MinMaxDag/"+ Taakobject.id,function(data){
|
||||
var minstart = EngDatNaarDateObj(data.minStart);
|
||||
var maxstart = EngDatNaarDateObj(data.maxStart);
|
||||
var mineind = EngDatNaarDateObj(data.minEind);
|
||||
var maxeind = EngDatNaarDateObj(data.maxEind);
|
||||
if (newStart.getTime() < minstart.getTime()) {
|
||||
msg +=" startdatum moet ten minste " + data.minStart + ' zijn; ';
|
||||
newStart.setTime(minstart.getTime() )};
|
||||
if (newStart.getTime() > maxstart.getTime()) {
|
||||
msg += " startdatum mag maximaal "+ data.maxStart + ' zijn; ';
|
||||
newStart.setTime(maxstart.getTime() )};
|
||||
if (newEind.getTime() < mineind.getTime()) {
|
||||
msg+= "einddatum moet ten minste " + data.minEind + ' zijn; ';
|
||||
newEind.setTime(mineind.getTime() )};
|
||||
if (newEind.getTime() >maxeind.getTime()) {
|
||||
msg +="einddatum mag maximaal "+data.maxEind + ' zijn; ';
|
||||
newEind.setTime(maxeind.getTime() )};
|
||||
if (msg.length > 0) {
|
||||
alert(msg);
|
||||
};
|
||||
Taakobject.start = newStart;
|
||||
Taakobject.eind = newEind;
|
||||
SetAtX = DatetoX(Taakobject.start, periode);
|
||||
$(tbalk).css('left' , SetAtX);
|
||||
var XvoorEind = DatetoX(newEind, periode)
|
||||
Taakobject.width= (XvoorEind - SetAtX);
|
||||
$(tbalk).css('width', Taakobject.width)
|
||||
var submitData = { 'id' : Taakobject.id,
|
||||
'start' : DateNaarNedDat(Taakobject.start),
|
||||
"eind" : DateNaarNedDat(Taakobject.eind),
|
||||
"duur" : Taakobject.duur}
|
||||
$.post("index.php/ijkpartituur/planning/SaveTaakData", submitData);
|
||||
},'json');
|
||||
}
|
||||
|
||||
function HerberekenDragData(tbalk, posLinks){
|
||||
var Aindex=tbalk.id.substring(4, tbalk.id.length)
|
||||
var Taakobject = Alles[Aindex];
|
||||
|
||||
if (Taakobject.isPijler) {
|
||||
BerekenStretchPijler(tbalk, Taakobject);
|
||||
}
|
||||
else {
|
||||
BerekenActiviteit(tbalk,posLinks)
|
||||
} ;
|
||||
}
|
||||
|
||||
function BerekenStretchPijler (tbalk, Taakobject){
|
||||
var periode = Taakobject.periode ;
|
||||
var pijlerID = Taakobject.pijlerID;
|
||||
var Pleft = parseInt(( $(tbalk).css('left') ).replace('px',''),10);
|
||||
var Pwidth = parseInt(( $(tbalk).css('width') ).replace('px','') ,10);
|
||||
var msg = '';
|
||||
$.post("index.php/ijkpartituur/planning/MinMaxDagVoorPijler/" + pijlerID, function(data){
|
||||
minStart = new Date(data.minStart.substr(0,4), (data.minStart.substr(5,2) - 1),data.minStart.substr(8,2) );
|
||||
maxStart = new Date(data.maxStart.substr(0,4), (data.maxStart.substr(5,2) - 1),data.maxStart.substr(8,2) );
|
||||
minEind = new Date(data.minEind.substr(0,4), (data.minEind.substr(5,2) - 1),data.minEind.substr(8,2) );
|
||||
maxEind = new Date(data.maxEind.substr(0,4), (data.maxEind.substr(5,2) - 1),data.maxEind.substr(8,2) );
|
||||
var newStart = XtoDate(Pleft, periode);
|
||||
var newEind = XtoDate((Pleft + Pwidth) , periode);
|
||||
if (newStart.getTime() < minStart.getTime()){
|
||||
msg = "Start van pijler moet ten minste " + minStart + " zijn. ";
|
||||
newStart.setTime(minStart.getTime());
|
||||
};
|
||||
if (newStart.getTime() > maxStart.getTime()) {
|
||||
msg +=" start van pijler mag maximaal " + maxStart+ " zijn. ";
|
||||
newStart.setTime(maxStart.getTime());
|
||||
};
|
||||
if (newEind.getTime() < minEind.getTime()){
|
||||
msg += " eind van pijler moet ten minste " + minEind + " zijn. ";
|
||||
newEind.setTime(minEind.getTime());
|
||||
}
|
||||
if (newEind.getTime() > maxEind.getTime()){
|
||||
msg +=" eind van pijler mag maximaal " + maxEind + " zijn. ";
|
||||
newEind.setTime(maxEind.getTime());
|
||||
}
|
||||
if (msg.length > 0) {
|
||||
alert(msg);
|
||||
};
|
||||
Taakobject.start = newStart;
|
||||
Taakobject.eind = newEind;
|
||||
Pleft = DatetoX(Taakobject.start, periode);
|
||||
$(tbalk).css('left' , Pleft);
|
||||
var XvoorEind = DatetoX(newEind, periode) ;
|
||||
Taakobject.width = (XvoorEind - Pleft);
|
||||
$(tbalk).css('width', Taakobject.width)
|
||||
|
||||
var submitData = { 'id' : pijlerID,
|
||||
'start' : DateNaarNedDat(Taakobject.start),
|
||||
"eind" : DateNaarNedDat(Taakobject.eind)}
|
||||
$.post("index.php/ijkpartituur/planning/SavePijlerData" , submitData);
|
||||
// pas MaxX voor alle activiteiten aan!
|
||||
$.each(Alles, function(i,p){
|
||||
if (!(p.isPijler) && (p.pijlerID ==Taakobject.id ) ){
|
||||
p.maxX =Pleft + Taakobject.width;
|
||||
p.minX = Pleft;
|
||||
} ; // if
|
||||
});
|
||||
//zet in Gantt de data voor de pijler
|
||||
$.each(ls.ModelPlanning.GanttTaken(), function(i,p){
|
||||
if (p.id == Taakobject.id) {
|
||||
p.start(DateNaarNedDat(Taakobject.start))
|
||||
p.eind(DateNaarNedDat(Taakobject.eind))
|
||||
}
|
||||
})
|
||||
},'json');
|
||||
}
|
||||
|
||||
function HerberekenDatum(tbalk, uidetails){
|
||||
var Aindex=tbalk.id.substring(4, tbalk.id.length)
|
||||
var Taakobject = Alles[Aindex];
|
||||
|
||||
if (Taakobject.isPijler) {
|
||||
BerekenStretchPijler(tbalk, Taakobject);
|
||||
} else {
|
||||
BerekenActiviteit(tbalk, uidetails);
|
||||
};
|
||||
}
|
||||
|
||||
function MaakTaken (pijlerArray, periode){
|
||||
$("#puttablehere").empty();
|
||||
var counter = 0;
|
||||
var isPijler= true;
|
||||
getMinMaxX(periode);
|
||||
$.each(pijlerArray, function(i,p) {
|
||||
isPijler = true;
|
||||
tb= new taakbar( p.start().replace(/-/g,'/'), p.eind().replace(/-/g,'/'),p.duur(), p.id, counter, p.id,periode, isPijler);
|
||||
tb.getHtml();
|
||||
Alles[counter]= tb;
|
||||
counter ++;
|
||||
$("#puttablehere").append(tb.html);
|
||||
if (p.status() == 'o') {
|
||||
$.each(p.taakLijst(), function(j,k){
|
||||
isPijler = false;
|
||||
tb= new taakbar( k.start().replace(/-/g,'/'), k.eind().replace(/-/g,'/'), k.duur(),k.id, counter, k.pijlerID,periode, isPijler);
|
||||
tb.getHtml();
|
||||
Alles[counter]= tb;
|
||||
counter ++;
|
||||
$("#puttablehere").append(tb.html);
|
||||
}) ; // each taaklijst
|
||||
} ; // if
|
||||
}); // for each taken
|
||||
$(".OKdrag").draggable({ axis: "x" ,
|
||||
containment: $('#puttablehere'),
|
||||
scroll: true,
|
||||
"grid": [ wPerDag[periode] , 20 ],
|
||||
stop:function(event, ui){HerberekenDragData(this, ui)}});
|
||||
$(".OKrek").resizable({ghost:false,maxHeight:25,
|
||||
minHeight:25, minWidth:1,
|
||||
stop: function(event, ui){
|
||||
HerberekenDatum(this, ui);
|
||||
}
|
||||
});
|
||||
$("#puttablehere").append(' <div id="todayLine" ></div> ');
|
||||
setCoordinatesToday(periode);
|
||||
}
|
||||
|
||||
function MaakGanttTabel(periode ){
|
||||
// periode: 1 = dag 2 =maand; 4 = week; 3 = jaar
|
||||
|
||||
$("#bgTable").empty();
|
||||
var Today = new Date();
|
||||
var graphStart;
|
||||
|
||||
if (Today.getTime() < projStart.getTime()) {
|
||||
graphStart = new Date (Today.getFullYear(), Today.getMonth(), Today.getDate());
|
||||
}
|
||||
else {
|
||||
graphStart = new Date(projStart.getFullYear(), projStart.getMonth(), projStart.getDate());
|
||||
}
|
||||
var graphEind = new Date(projEind.getFullYear(), projEind.getMonth(),projEind.getDate());
|
||||
switch (periode){
|
||||
case 1:
|
||||
graphStart.setMonth(graphStart.getMonth() -1);
|
||||
graphEind.setMonth(graphEind.getMonth() + 1);
|
||||
break ;
|
||||
case 2:
|
||||
graphStart.setMonth(graphStart.getMonth() - 6);
|
||||
graphEind.setMonth(graphEind.getMonth() + 6);
|
||||
break;
|
||||
case 3:
|
||||
graphStart.setMonth(graphStart.getMonth() -12);
|
||||
graphEind.setMonth(graphEind.getMonth() + 12);
|
||||
break;
|
||||
case 4:
|
||||
graphStart.setMonth(graphStart.getMonth() -6);
|
||||
graphEind.setMonth(graphEind.getMonth() + 6);
|
||||
break;
|
||||
default:
|
||||
graphStart.setMonth(graphStart.getMonth() -1);
|
||||
graphEind.setMonth(graphEind.getMonth() + 1);
|
||||
}
|
||||
// set de globale variabele in overeenstemming met graphStart
|
||||
GanttStartDateXX = graphStart;
|
||||
GanttStartDateXX.setDate(1) ;
|
||||
graphStart.setDate(1);
|
||||
var t1='';
|
||||
var t2='';
|
||||
var t3='';
|
||||
var i=new Date(graphStart.getFullYear(), graphStart.getMonth(), graphStart.getDate());
|
||||
var maand = 0;
|
||||
var jaar = 0;
|
||||
var lbl='';
|
||||
var colcounter =0;
|
||||
var colspan = 0;
|
||||
var totdagen = 0;
|
||||
|
||||
while (i < graphEind){
|
||||
switch (periode)
|
||||
{ case 1:
|
||||
maand = i.getMonth();
|
||||
lbl=maandArray[maand] + " " + i.getFullYear();
|
||||
colspan = GetDagen((maand+ 1), i.getFullYear()) ;
|
||||
totdagen += colspan;
|
||||
colcounter += colspan;
|
||||
t1 +="<td class='gColHeader2' colspan='" + colspan + "'>" + lbl +"</td> ";
|
||||
testdate=new Date(i);
|
||||
for (var j=1; j<=colspan;j++){
|
||||
testdate.setDate(j);
|
||||
if (testdate.getDay() == 0 || testdate.getDay() ==6) {
|
||||
t2 += "<td class='holyH gColHeader2' style='border-right:1px solid #ffffff; width:" + wPerDag[periode] +"px'>" + j +"</td>";
|
||||
t3 += "<td class='gCell holy'> </td>";
|
||||
}
|
||||
else {
|
||||
t2 += "<td class='gColHeader2' style='border-right:1px solid #ffffff; width:" + wPerDag[periode] +"px'>" + j +"</td>";
|
||||
t3 += "<td class='gCell'> </td>" ;
|
||||
};
|
||||
};
|
||||
i.setMonth(i.getMonth() + 1);
|
||||
break; // einde case 1
|
||||
case 2:
|
||||
var colspan2 = 0;
|
||||
var colspan = 0;
|
||||
maand = i.getMonth() + 1;
|
||||
|
||||
lbl= i.getFullYear();
|
||||
for (var j=maand; j<=12;j++){
|
||||
dagen = GetDagen(j, i.getFullYear());
|
||||
totdagen += dagen;
|
||||
colspan += 1;
|
||||
colcounter += 1;
|
||||
t1 +="<td class='gColHeader2' >" + lbl +"</td> ";
|
||||
t2 += "<td class='gColHeader2' style=' width:" + (dagen * wPerDag[periode]) + "px' >" + maandArray[(j - 1)] +"</td>";
|
||||
t3 += "<td class='gCell'> </td>" ;
|
||||
};
|
||||
// t1 +="<td class='gColHeader2' colspan='" + colspan + "'>" + lbl +"</td> ";
|
||||
i.setMonth (i.getMonth() + (12 - maand ) + 1);
|
||||
break; // einde case 2
|
||||
case 3:
|
||||
colcounter += 1;
|
||||
dagen=GetDagen(2,i.getFullYear());
|
||||
dagen =337 + dagen;
|
||||
totdagen += dagen;
|
||||
t1 +="<td class='gColHeader2' style=' width:"+ (dagen * wPerDag[periode])+ "px '>" + " " +"</td> ";
|
||||
t2 += "<td class='gColHeader2' >" + i.getFullYear() +"</td>";
|
||||
t3 += "<td class='gCell'> </td>" ;
|
||||
i.setMonth (i.getMonth() + (12 - maand ) + 1);
|
||||
break;
|
||||
case 4: lbl= i.getFullYear();
|
||||
t1 +="<td class='gColHeader2'>" + lbl +"</td> ";
|
||||
i.setMonth (i.getMonth() + 12);
|
||||
break;
|
||||
default: i = graphEind;
|
||||
}
|
||||
} // einde while
|
||||
|
||||
var tr1 = $("<tr>");
|
||||
tr1.html(t1);
|
||||
var tr2=$("<tr>");
|
||||
tr2.html(t2);
|
||||
var gTHead1=$("<thead>").append(tr1).append(tr2).addClass("gHead floatingHeader");
|
||||
var wTabel = wPerDag[periode] * totdagen;
|
||||
var table=$("<table class='gTable persist-area' id='bgTable' cellspacing=0 cellpadding= 0 cols='" + colcounter + "'>");
|
||||
table.css({width: wTabel + "px"});
|
||||
table.append(gTHead1);
|
||||
// hier voor het aantal lege rijen vul de tabel aan
|
||||
var rows= ls.ModelPlanning.GanttTaken().length;
|
||||
$.each(ls.ModelPlanning.GanttTaken(), function(i,p){
|
||||
rows+= p.taakLijst().length;
|
||||
} ); //each
|
||||
var matrix = '';
|
||||
for (i=0; i<rows;i++){
|
||||
matrix +='<tr>' + t3 + "</tr>";
|
||||
}
|
||||
table.append(matrix);
|
||||
$(table).insertAfter('#puttablehere');
|
||||
$("#puttablehere").css({width: wTabel + "px"});
|
||||
setCoordinatesToday(periode);
|
||||
// floatHeader();
|
||||
}
|
||||
|
||||
// function UpdateTableHeaders() {
|
||||
// consoleMSG('Inside');
|
||||
// $(".persist-area").each(function() {
|
||||
|
||||
// var el = $(this),
|
||||
// offset = el.offset(),
|
||||
// scrollTop = $(window).scrollTop(),
|
||||
// floatingHeader = $(".floatingHeader", this)
|
||||
|
||||
// if ((scrollTop > offset.top) && (scrollTop < offset.top + el.height())) {
|
||||
// floatingHeader.css({
|
||||
// "visibility": "visible"
|
||||
// });
|
||||
// } else {
|
||||
// floatingHeader.css({
|
||||
// "visibility": "hidden"
|
||||
// });
|
||||
// };
|
||||
// });
|
||||
|
||||
// }
|
||||
|
||||
// // DOM Ready
|
||||
// //
|
||||
// function floatHeader(){
|
||||
|
||||
// var clonedHeaderRow;
|
||||
|
||||
// $(".persist-area").each(function() {
|
||||
// clonedHeaderRow = $(".persist-header", this);
|
||||
// clonedHeaderRow
|
||||
// .before(clonedHeaderRow.clone())
|
||||
// .css("width", clonedHeaderRow.width())
|
||||
// .addClass("floatingHeader");
|
||||
|
||||
// });
|
||||
// }
|
||||
|
||||
|
||||
function setCoordinatesToday(periode){
|
||||
var inDag = new Date()
|
||||
var vLeft = 0;
|
||||
dagen= Math.ceil((inDag.getTime() - GanttStartDateXX.getTime()) / MSdag );
|
||||
vLeft= (dagen - 0.5) * wPerDag[periode] ;
|
||||
$('#todayLine').css('left', vLeft);
|
||||
var lengte= ($('#bgTable tr').length -2 ) * 39;
|
||||
$('#todayLine').css('height', lengte);
|
||||
$('.dagenlijst').scrollLeft(vLeft);
|
||||
}
|
||||
|
||||
function goToDay ( inputdag, periode){
|
||||
if (inputdag == undefined) {inputdag = new Date();}
|
||||
var inDag = new Date();
|
||||
inDag.setDate(inputdag.substring(0,2));
|
||||
inDag.setMonth((inputdag.substring(3,5) - 1) );
|
||||
inDag.setYear(inputdag.substring(6,10));
|
||||
var vLeft = parseInt(0,10);
|
||||
dagen = Math.ceil((inDag.getTime() - GanttStartDateXX.getTime()) / MSdag );
|
||||
vLeft = parseInt(Math.round(dagen * wPerDag[periode] ),10 );
|
||||
|
||||
// maar de dag moet in het midden komen, dus moet je de helft van de breedte van de div minder ver naar links:
|
||||
vLeft = vLeft - 300;
|
||||
if (vLeft < 0) vLeft =0;
|
||||
var vWidth =$('#bgTable').css("width");
|
||||
vWidth=vWidth.substring(0 , vWidth.length -2 );
|
||||
if (vLeft > vWidth) vLeft = vWidth - 300;
|
||||
$('div.dagenlijst').scrollLeft(parseInt(vLeft) ,10);
|
||||
}
|
||||
|
||||
|
||||
$(function(){
|
||||
$(".dagenlijst").scroll(function(){
|
||||
var tops = -($(".persist-area").position().top) + 35;
|
||||
$(".floatingHeader").css('top', tops + 'px');
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
// ------------------------------------ einde gantt ---------------------
|
||||
@@ -0,0 +1,398 @@
|
||||
var ls = {};
|
||||
var tw = {};
|
||||
|
||||
var maandArray=['januari', 'februari','maart','april','mei','juni','juli','augustus','september','oktober','november','december'];
|
||||
var maandDagen=[31,28,31,30,31,30,31,31,30,31,30,31];
|
||||
var weekArray=['zondag','maandag', 'dinsdag','woensdag','donderdag','vrijdag','zaterdag'];
|
||||
|
||||
ls.MsgAutoFade = function (msg,duration){
|
||||
var alt = document.createElement("div");
|
||||
alt.setAttribute("style","position:absolute;top:10px;left:80%;background-color:#ffffff; z-index:1120; border:3px solid red; padding:40px; text-align:center");
|
||||
alt.innerHTML = msg;
|
||||
setTimeout(function(){
|
||||
alt.parentNode.removeChild(alt);
|
||||
},duration);
|
||||
document.body.appendChild(alt);
|
||||
};
|
||||
|
||||
$(function () {
|
||||
$.ajaxSetup({cache:false});
|
||||
|
||||
//setInterval(checkSession, 10000);
|
||||
|
||||
// tw.newloginModel.userName($("#username-init").val());
|
||||
// tw.newloginModel.userToken($("#usertoken").val());
|
||||
|
||||
// function checkSession(){
|
||||
// $.getJSON('index.php/home/check_session', function(data){
|
||||
// if(!data.session){
|
||||
// $("#lsOverlay").fadeIn(500, function(){
|
||||
// $("#new-login").fadeIn(500);
|
||||
// });
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
$( document ).ajaxComplete( function ( event, xhr, settings ) {
|
||||
try {
|
||||
var result = JSON.parse(xhr.responseText);
|
||||
if( result.offline === undefined || ! result.offline ) return true;
|
||||
showLogin();
|
||||
} catch (e) {
|
||||
return true;
|
||||
}
|
||||
} );
|
||||
|
||||
function showLogin(){
|
||||
//$("#log-in-jumbo" ).modal('show');
|
||||
$.post("index.php/login/logout",function(){
|
||||
location.reload();
|
||||
});
|
||||
}
|
||||
$(document).on("click", ".help.butfooter", function () {
|
||||
var win=window.open('index.php/ijkpartituur/documents/download_document' , '_blank');
|
||||
win.focus();
|
||||
});
|
||||
|
||||
$(document).on("click", ".popclose", function () {
|
||||
var fade = true;
|
||||
$(this).closest(".popup").css("z-index", 300);
|
||||
$(this).closest(".popup").css("display", "none");
|
||||
$(".popup").each(function (i, p) {
|
||||
if ($(p).css("display") == "block") {
|
||||
fade = false;
|
||||
return false;
|
||||
} // if
|
||||
});
|
||||
if (fade) {
|
||||
$('#lsOverlay').fadeOut();
|
||||
$("#lsOverlay").css({'z-index': 60});
|
||||
}
|
||||
$("#lsOverlay2").fadeOut();
|
||||
});
|
||||
$(document).on("click","#lsOverlay",function(){
|
||||
$(".popclose").click();
|
||||
});
|
||||
|
||||
|
||||
$(document).on('click', '#set-globorg', function(){
|
||||
if ($("#set-globorg").hasClass("disabled")) {return;}
|
||||
tw.initGloborg();
|
||||
});
|
||||
|
||||
$(document).on('click','#back-to-instrumenten', function(){
|
||||
$.post("index.php/shared/portal/naarmodule/0" , function(){
|
||||
location.reload();
|
||||
});
|
||||
});
|
||||
|
||||
$.datepicker.setDefaults({
|
||||
dateFormat: 'dd-mm-yy',
|
||||
changeMonth: true,
|
||||
changeYear: true,
|
||||
showOn: 'focus', // geen images laten zien. is wel zo strak voor wel een image moet deze waarde "both" zijn
|
||||
buttonImage: '../css/images/calendar.gif',
|
||||
buttonImageOnly: true,
|
||||
dayNamesShort: ['zo','ma','di','wo','do','vr','za'],
|
||||
dayNamesMin: ['zo','ma','di','wo','do','vr','za'],
|
||||
firstDay: 1,
|
||||
monthNamesShort:['Jan', 'Feb','Mrt', 'Apr','Mei','Jun','Jul','Aug','Sep','Okt','Nov','Dec'],
|
||||
monthNames:['Januari','Februari','Maart','April','Mei','Juni','Juli','Augustus','September','Oktober','November','December']
|
||||
}
|
||||
,
|
||||
$.datepicker.regional['nl']
|
||||
|
||||
);
|
||||
// $(document).on('focus', '.popdat', function () {
|
||||
// $(".popdat").datepicker({
|
||||
// "dateFormat": "dd-mm-yy",
|
||||
// "dayNamesMin": ["zo", "ma", "di", "wo", "do", "vr", "za"],
|
||||
// "monthNames": ["januari", "februari", "maart", "april", "mei", "juni", "juli",
|
||||
// "augustus", "september", "oktober", "november", "december"],
|
||||
// "changeYear": true
|
||||
// });
|
||||
// });
|
||||
|
||||
$(document).on("change",".bedrag", function(){
|
||||
var testgetal = $(this).attr('value');
|
||||
testgetal =testgetal.replace('.' , '');
|
||||
testgetal= testgetal.replace(',' , '.');
|
||||
var self = this;
|
||||
if (testgetal === '') return;
|
||||
if (! isNumber(testgetal)) {
|
||||
apprise(testgetal + ' is geen valide getal.', { 'textOK': "OK"}, function(){
|
||||
$(self).attr("value", 0,00);
|
||||
$(self).focus();
|
||||
});
|
||||
}
|
||||
else{
|
||||
testgetal=parseFloat(testgetal).toFixed(2);
|
||||
$(self).attr("value" , MaakNedFormat(testgetal, 2) );
|
||||
} });
|
||||
|
||||
$(document).on("change", ".intveld", function () {
|
||||
var testgetal = $(this).attr('value');
|
||||
var self = this;
|
||||
if (testgetal === '') return;
|
||||
if (! isNumber(testgetal)) {
|
||||
apprise(testgetal + ' is geen valide getal.', {
|
||||
'textOK': "OK"
|
||||
}, function (response) {
|
||||
$(self).attr("value", "");
|
||||
$(self).focus();
|
||||
});
|
||||
} // if not an integer
|
||||
}); // function bij document change
|
||||
|
||||
$(document).on("change", ".dubbelint", function () {
|
||||
var testgetal = $(this).attr('value');
|
||||
var self = this;
|
||||
|
||||
if (testgetal === '') {
|
||||
$(self).attr("value", "00");
|
||||
return ;
|
||||
}
|
||||
if (! isNumber(testgetal)) {
|
||||
apprise(testgetal + ' is geen valide getal.', {
|
||||
'textOK': "OK"
|
||||
}, function (response) {
|
||||
$(self).attr("value", "00");
|
||||
$(self).focus();
|
||||
});
|
||||
} // if not an integer
|
||||
else {
|
||||
if (testgetal < 10){
|
||||
$(self).attr("value", "0" + parseInt(testgetal),10);
|
||||
}
|
||||
else {
|
||||
$(self).attr("value", parseInt(testgetal),10);
|
||||
}
|
||||
} // else
|
||||
});
|
||||
|
||||
|
||||
$(document).on("change", ".realveld", function () {
|
||||
var testgetal = $(this).attr('value');
|
||||
var ingetal = testgetal;
|
||||
var self = this;
|
||||
if (testgetal === '') return;
|
||||
testgetal = testgetal.replace(".", "");
|
||||
testgetal = testgetal.replace(',', '.');
|
||||
if (!(parseFloat(testgetal)) || isNaN(testgetal)) {
|
||||
apprise(ingetal + ' is geen valide getal.', {
|
||||
'textOK': "OK"
|
||||
}, function (response) {
|
||||
$(self).attr("value", "");
|
||||
$(self).focus();
|
||||
});
|
||||
} // if not a real
|
||||
|
||||
});
|
||||
|
||||
|
||||
// $(document).on("change", ".datveld", function () {
|
||||
// var testdatum = $(this).attr('value');
|
||||
// var self = this;
|
||||
// if (!isValidDate(testdatum)) {
|
||||
// apprise(testdatum + ' is geen valide datum.', {
|
||||
// 'textOK': "OK"
|
||||
// }, function (response) {
|
||||
// $(self).attr("value", "");
|
||||
// $(self).focus();
|
||||
// }); // end apprise
|
||||
// } // if not valid date
|
||||
// }); // function bij document change
|
||||
});
|
||||
|
||||
$(document).on('mouseover', '.draganchor', function(){
|
||||
$(this).parent().parent('.popup').draggable("enable");
|
||||
});
|
||||
|
||||
$(document).on('mouseleave',".draganchor",function(){
|
||||
var index = $(this).parent().parent('.popup').css('z-index');
|
||||
$(this).parent().parent('.popup').draggable("disable");
|
||||
$(this).parent().parent().css('opacity', 100);
|
||||
});
|
||||
|
||||
function setDrag(elNaam){
|
||||
$(elNaam).draggable();
|
||||
$(elNaam).draggable({containment:"body" });
|
||||
$(elNaam).draggable("option","helper","");
|
||||
$(elNaam).draggable("option","opacity",1);
|
||||
$(elNaam).draggable('disable');
|
||||
};
|
||||
|
||||
function isValidDate(s) {
|
||||
if (s){
|
||||
var bits = s.split('-');
|
||||
var y = bits[2],
|
||||
m = bits[1],
|
||||
d = bits[0];
|
||||
// Assume not leap year by default (note zero index for Jan)
|
||||
var daysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
|
||||
|
||||
// If evenly divisible by 4 and not evenly divisible by 100,
|
||||
// or is evenly divisible by 400, then a leap year
|
||||
if ((!(y % 4) && y % 100) || !(y % 400)) {
|
||||
daysInMonth[1] = 29;
|
||||
}
|
||||
if (y < 1970 || y > 3000) return false;
|
||||
return d <= daysInMonth[--m]
|
||||
}
|
||||
else {return '';}
|
||||
}
|
||||
|
||||
function MaakEnglishFormat(x) {
|
||||
// verwacht een getal in het format 12.345,67
|
||||
var x1 = x.replace('.', '');
|
||||
var x2 = x1.replace(',', '.');
|
||||
var x3 = parseFloat(x2);
|
||||
return x3;
|
||||
}
|
||||
|
||||
function MaakNedFormat(y, decplaces) {
|
||||
var y2 = y * Math.pow(10, decplaces);
|
||||
var fraction = Math.round((y2 - parseInt(y2),10) * 10 / 10);
|
||||
if (fraction == -0.5) fraction = -0.6;
|
||||
var y3 = Math.round(parseInt(y2,10) + fraction) / Math.pow(10, decplaces);
|
||||
y3 += '';
|
||||
var x = y3.split('.');
|
||||
var x1 = x[0];
|
||||
var x2 = x.length > 1 ? ',' + x[1] : '';
|
||||
if (x2== '') {x2=",00"} // moet eigenlijk rekening houden met decplaces
|
||||
var rgx = /(\d+)(\d{3})/;
|
||||
while (rgx.test(x1)) {
|
||||
x1 = x1.replace(rgx, '$1' + '.' + '$2');
|
||||
}
|
||||
return x1 + x2;
|
||||
}
|
||||
|
||||
function NedDatNaarDateObj(nedDate) {
|
||||
var vDate = new Date(nedDate.substr(6, 4), (parseInt(nedDate.substr(3, 2),10) - 1), nedDate.substr(0, 2));
|
||||
vDate.setHours(0,0,0);
|
||||
return vDate;
|
||||
}
|
||||
function EngDatNaarDateObj(engDate){
|
||||
var vDate = new Date(engDate.substr(0, 4), (parseInt(engDate.substr(5, 2),10) - 1), engDate.substr(8, 2));
|
||||
vDate.setHours(0,0,0);
|
||||
return vDate;
|
||||
}
|
||||
function DateNaarNedDat(engDate) {
|
||||
var dag = engDate.getDate();
|
||||
if (parseInt(dag,10) < 10) {
|
||||
dag = "0" + dag;
|
||||
}
|
||||
var maand = engDate.getMonth();
|
||||
maand = parseInt(maand,10) + 1;
|
||||
if (maand < 10) {
|
||||
maand = '0' + maand;
|
||||
}
|
||||
var jaar = engDate.getFullYear();
|
||||
var nieuwdatum = dag + '-' + maand + '-' + jaar;
|
||||
return nieuwdatum;
|
||||
}
|
||||
|
||||
function uploadResult(data){
|
||||
apprise(data, {animate:true});
|
||||
$("#upload-overlay").fadeOut(100);
|
||||
tw.initDocuments();
|
||||
}
|
||||
function LSToonUploadResult(errors,id){
|
||||
apprise(errors, {animate:true});
|
||||
$("#LSupload-overlay").fadeOut(100);
|
||||
$(".popclose").click();
|
||||
}
|
||||
function ToonUploadNote(errors,id){
|
||||
$(".upload-overlay").fadeOut(100);
|
||||
$("#popUploadANote").fadeOut(100);
|
||||
apprise(errors, {animate:true}, function(){
|
||||
ls.ModelPlanning.fSetNieuweNote(id);
|
||||
} );
|
||||
}
|
||||
function GetDagen (maand, jaar){
|
||||
var dagen = 30;
|
||||
if (maand ==1 || maand == 3 || maand==5 ||
|
||||
maand == 7 || maand == 8 || maand == 10 || maand == 12) dagen = 31;
|
||||
if (maand == 2) {
|
||||
dagen = 28;
|
||||
if (jaar%4 == 0) {
|
||||
if (jaar%100 !=0) {dagen = 29}
|
||||
else if(jaar%400 ==0) {dagen = 29}
|
||||
}
|
||||
}
|
||||
return dagen
|
||||
}
|
||||
|
||||
function consoleMSG(msg){
|
||||
var consoleOK = true;
|
||||
if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){
|
||||
var ieversion=new Number(RegExp.$1);
|
||||
if (ieversion<=9) consoleOK = false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function checkEmail(email){
|
||||
var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
|
||||
if(pattern.test(email)){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function ScoreNaarProfiel(score){
|
||||
if (score <= 725) {return 1};
|
||||
if (score > 725 && score <= 880) {return 2};
|
||||
if (score > 880 && score <=964) {return 3};
|
||||
if (score > 965 && score <= 1126) {return 4};
|
||||
if (score >1126 && score <= 1300) {return 5};
|
||||
}
|
||||
function CodeNaarMinScore(code){
|
||||
// code is 1 t/m 5, de "kleuren" dus
|
||||
if (code == 1){return 0; } ;
|
||||
if (code == 2){return 51; } ;
|
||||
if (code == 3){return 66; } ;
|
||||
if (code == 4){return 80; } ;
|
||||
if (code == 5){return 91; } ;
|
||||
}
|
||||
function CodeNaarMaxScore(code){
|
||||
// code is 1 t/m 5, de "kleuren" dus
|
||||
if (code == 1){return 50; } ;
|
||||
if (code == 2){return 65; } ;
|
||||
if (code == 3){return 79; } ;
|
||||
if (code == 4){return 90; } ;
|
||||
if (code == 5){return 100; } ;
|
||||
}
|
||||
|
||||
function SetMenus(partID){
|
||||
// haal de partituur op en kijk of het de active part is. Zo ja, pas targetID aan en zet de menuitems op true
|
||||
$.post("index.php/ijkpartituur/partituur/getPartituurActief/" + partID, function (data){
|
||||
if (data ==1 ) {
|
||||
$(".butTopMenu").removeAttr('disabled');
|
||||
$('.sub').removeAttr("disabled");
|
||||
}
|
||||
else {
|
||||
$.post("index.php/ijkpartituur/partituur/get_submenu", function(data){
|
||||
$.each(data.menu, function(i, menu){
|
||||
if (menu.always == 0) {
|
||||
$("#menu-but-"+menu.id).css('disable', "disable");
|
||||
}else {
|
||||
$("#menu-but-"+menu.id).css('enable', "enable");
|
||||
}
|
||||
$.each(menu.submenu, function(j, submenu){
|
||||
if (submenu.always == 0) {
|
||||
$("#submenu-but-"+submenu.id).attr('disabled','disabled');
|
||||
}else {
|
||||
$("#submenu-but-"+submenu.id).attr('enabled','enabled');
|
||||
}
|
||||
}); // each submenu
|
||||
}); // each data
|
||||
},'json');
|
||||
}
|
||||
},'json');
|
||||
}
|
||||
|
||||
function isNumber(n) {
|
||||
return !isNaN(parseFloat(n)) && isFinite(n);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
$(function(){
|
||||
|
||||
ls.initCommunicatie = function(){
|
||||
|
||||
Mail = function(data){
|
||||
var self = this;
|
||||
self.id = data.id;
|
||||
self.naam = data.naam;
|
||||
self.uitleg = data.uitleg;
|
||||
self.adresses = ko.observableArray([]);
|
||||
$.each(data.adresses, function(i,p){
|
||||
self.adresses.push(new Adress(p, data.id));
|
||||
});
|
||||
};
|
||||
|
||||
Adress = function(data, mailID){
|
||||
var self = this;
|
||||
self.id = data.id;
|
||||
self.mailID = mailID;
|
||||
self.adress = ko.observable(data.adress);
|
||||
self.validEmail = ko.computed(function(item){
|
||||
return checkEmail(self.adress());
|
||||
});
|
||||
};
|
||||
|
||||
setMails = function(data){
|
||||
var self = ls.communicatieModel;
|
||||
|
||||
self.mailNotifies.removeAll();
|
||||
|
||||
$.each(data, function(i,p){
|
||||
self.mailNotifies.push(new Mail(p));
|
||||
}); // each
|
||||
};
|
||||
|
||||
if(ls.communicatieModel!==undefined){
|
||||
ls.communicatieModel.communicatieInit();
|
||||
}
|
||||
else{
|
||||
ls.communicatieModel = {
|
||||
mailNotifies : ko.observableArray([]),
|
||||
|
||||
communicatieInit : function(){
|
||||
var self = ls.communicatieModel;
|
||||
$.getJSON('index.php/ijkpartituur/communicatie', function(data){
|
||||
setMails(data.mails);
|
||||
},'json');
|
||||
} ,
|
||||
|
||||
saveAdress : function(data, e){
|
||||
var self = ls.communicatieModel;
|
||||
|
||||
if(e.keyCode === 13 || e.keyCode === 9){
|
||||
if(!checkEmail(this.adress())){
|
||||
apprise('e-mail adres is niet correct en wordt niet opgeslagen', {animate:true});
|
||||
}else{
|
||||
var submitDATA= {adress:this.adress()};
|
||||
var submitURL = 'index.php/ijkpartituur/communicatie/save_email/' + this.mailID + '/' + this.id;
|
||||
$.post(submitURL, submitDATA, function(data){
|
||||
setMails(data.mails);
|
||||
}, 'json');
|
||||
}
|
||||
}
|
||||
} ,
|
||||
|
||||
addAddress : function(){
|
||||
this.adresses.push(new Adress({adress:'', id:0}, this.id));
|
||||
} ,
|
||||
|
||||
deleteAdress : function(){
|
||||
var self = ls.communicatieModel;
|
||||
|
||||
$.getJSON('index.php/ijkpartituur/communicatie/delete_adress/' + this.id, function(data){
|
||||
setMails(data.mails);
|
||||
});
|
||||
}
|
||||
} // modeldefinitie
|
||||
}; //else
|
||||
|
||||
ls.communicatieModel.communicatieInit();
|
||||
ko.applyBindings(ls.communicatieModel, document.getElementById("communicatie-page"));
|
||||
}; // init
|
||||
});
|
||||
@@ -0,0 +1,222 @@
|
||||
$(function(){
|
||||
|
||||
tw.initDocuments = function(){
|
||||
|
||||
if(tw.documentsModel!==undefined){
|
||||
tw.documentsModel.refreshDocs();
|
||||
|
||||
}else{
|
||||
|
||||
tw.documentsModel = {
|
||||
|
||||
hulpDocuments : ko.observableArray([]),
|
||||
selectedHulpID : ko.observable() ,
|
||||
upload : ko.observable() ,
|
||||
docTypes : ko.observableArray([]),
|
||||
selectedDoctype : ko.observable() ,
|
||||
docName : ko.observable('') ,
|
||||
actionUrl : ko.observable() ,
|
||||
docID : ko.observable(0) ,
|
||||
selectedFile : ko.observable('') ,
|
||||
nonTags : ko.observableArray([]),
|
||||
selectedTags : ko.observableArray([]),
|
||||
tagsToAdd : ko.observableArray([]),
|
||||
tagsToRemove : ko.observableArray([]),
|
||||
newTagName : ko.observable() ,
|
||||
bezig : ko.observable(false) ,
|
||||
|
||||
documentsInit : function(){
|
||||
var self = tw.documentsModel;
|
||||
$.getJSON('index.php/ijkpartituur/documents', function(data){
|
||||
self.docTypes(data.doctypes);
|
||||
});
|
||||
} ,
|
||||
|
||||
setDocument : function(){
|
||||
setDocument(this);
|
||||
} ,
|
||||
|
||||
refreshDocs : function(){
|
||||
var self = tw.documentsModel;
|
||||
self.resetForm();
|
||||
$("#lsOverlay").fadeIn(500, function(){
|
||||
$("#upload-form").fadeIn().css('z-index', '310');
|
||||
});
|
||||
|
||||
$.getJSON('index.php/ijkpartituur/documents/get_documents/' + self.selectedHulpID(), function(data){
|
||||
self.hulpDocuments(data.documents);
|
||||
|
||||
self.upload(data.upload);
|
||||
self.nonTags(data.nontags);
|
||||
self.selectedTags(data.selectedtags);
|
||||
if(data.documentid) setDocument(data.documents[0]);
|
||||
});
|
||||
},
|
||||
|
||||
addTag : function(data, event){
|
||||
var self = tw.documentsModel;
|
||||
|
||||
if(event.keyCode === 13){
|
||||
if(this.newTagName().length===0) return;
|
||||
|
||||
if(self.docID()===0){
|
||||
apprise('U moet eerst een document selecteren om labels toe te voegen', {animate:true});
|
||||
return true;
|
||||
}
|
||||
|
||||
var submitDATA = {tagname :this.newTagName()};
|
||||
var submitURL = 'index.php/ijkpartituur/documents/save_tag/' + self.docID();
|
||||
|
||||
$.post(submitURL, submitDATA, function(data){
|
||||
self.nonTags(data.nontags);
|
||||
self.selectedTags(data.selectedtags);
|
||||
self.newTagName('');
|
||||
}, 'json');
|
||||
}
|
||||
} ,
|
||||
|
||||
removeTag : function(){
|
||||
var self = tw.documentsModel;
|
||||
|
||||
if(this.tagsToAdd().length===0) return;
|
||||
apprise('weet u zeker dat u dit/deze label(s) wilt verwijderen', {
|
||||
animate: true ,
|
||||
verify : false ,
|
||||
textYes: 'Ja' ,
|
||||
textNo : 'Nee'
|
||||
|
||||
}, function(response){
|
||||
if(response){
|
||||
var submitDATA = {newtags:self.tagsToAdd()};
|
||||
var submitURL = 'index.php/ijkpartituur/documents/remove_tag/' + self.docID();
|
||||
|
||||
$.post(submitURL, submitDATA, function(data){
|
||||
self.nonTags(data.nontags);
|
||||
self.selectedTags(data.selectedtags);
|
||||
}, 'json');
|
||||
}
|
||||
});
|
||||
} ,
|
||||
|
||||
addTags : function(){
|
||||
var self = tw.documentsModel;
|
||||
|
||||
if(this.tagsToAdd().length===0) return;
|
||||
|
||||
var submitDATA = {newtags:this.tagsToAdd()};
|
||||
var submitURL = 'index.php/ijkpartituur/documents/add_tags/' + self.docID();
|
||||
|
||||
$.post(submitURL, submitDATA, function(data){
|
||||
self.nonTags(data.nontags);
|
||||
self.selectedTags(data.selectedtags);
|
||||
}, 'json');
|
||||
} ,
|
||||
|
||||
removeTags : function(){
|
||||
var self = tw.documentsModel;
|
||||
|
||||
if(this.tagsToRemove().length===0) return;
|
||||
|
||||
var submitDATA = {removetags:this.tagsToRemove()};
|
||||
var submitURL = 'index.php/ijkpartituur/documents/remove_tags/' + self.docID();
|
||||
|
||||
$.post(submitURL, submitDATA, function(data){
|
||||
self.nonTags(data.nontags);
|
||||
self.selectedTags(data.selectedtags);
|
||||
}, 'json');
|
||||
|
||||
} ,
|
||||
|
||||
setName : function(){
|
||||
var self = tw.documentsModel;
|
||||
|
||||
if(self.docName().length===0){
|
||||
var fileName = /([^\\]+)$/.exec(self.selectedFile())[1];
|
||||
fileName = fileName.replace(/\..+$/, '');
|
||||
self.docName(fileName);
|
||||
}
|
||||
} ,
|
||||
|
||||
resetForm : function(){
|
||||
var self = tw.documentsModel;
|
||||
|
||||
self.docID(0);
|
||||
self.docName('');
|
||||
self.selectedFile('');
|
||||
self.selectedDoctype(undefined);
|
||||
} ,
|
||||
|
||||
saveDocument : function(){
|
||||
var self = tw.documentsModel;
|
||||
var msg = '';
|
||||
|
||||
if(self.docName().length===0) msg += 'U heeft geen documentnaam ingevoerd<br />';
|
||||
if(self.selectedDoctype()===undefined) 'U heeft geen type document aangegeven';
|
||||
if(msg!==''){
|
||||
apprise(msg, {animate:true});
|
||||
return;
|
||||
}
|
||||
|
||||
var url = 'index.php/ijkpartituur/documents/upload_document/' + tw.documentsModel.selectedHulpID();
|
||||
url+= '/' + self.selectedDoctype() + '/' + self.docID();
|
||||
self.actionUrl(url);
|
||||
|
||||
//$("#upload-overlay").fadeIn(100, function(){
|
||||
$("#upload-form-form").submit();
|
||||
//});
|
||||
} ,
|
||||
|
||||
downloadDoc : function(){
|
||||
tw.downLoadDocument(this.id);
|
||||
} ,
|
||||
|
||||
deleteDocument : function(){
|
||||
var self = tw.documentsModel;
|
||||
var that = this;
|
||||
if (self.bezig()) return;
|
||||
self.bezig(true);
|
||||
apprise('weet u zeker dat u dit document wilt verwijderen?',
|
||||
{
|
||||
animate : true ,
|
||||
verify : true ,
|
||||
textYes : 'Ja' ,
|
||||
textNo : 'Nee'
|
||||
}, function(response){
|
||||
if(response){
|
||||
$.get('index.php/ijkpartituur/documents/delete_document/' + that.id, function(){
|
||||
self.refreshDocs();
|
||||
self.bezig(false);
|
||||
});
|
||||
}
|
||||
else { self.bezig(false);}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
function setDocument(doc){
|
||||
var self = tw.documentsModel;
|
||||
|
||||
self.docID(doc.id);
|
||||
self.docName(doc.name);
|
||||
self.selectedDoctype(doc.doctypeid);
|
||||
$.getJSON('index.php/ijkpartituur/documents/set_tags/' + doc.id, function(data){
|
||||
self.nonTags(data.nontags);
|
||||
self.selectedTags(data.selectedtags);
|
||||
});
|
||||
}
|
||||
|
||||
tw.documentsModel.documentsInit();
|
||||
|
||||
ko.applyBindings(tw.documentsModel, document.getElementById("upload-form"));
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
tw.initDocuments();
|
||||
|
||||
tw.downLoadDocument = function(docID){
|
||||
var win=window.open('index.php/ijkpartituur/documents/download_document/' + docID, '_blank');
|
||||
win.focus();
|
||||
}
|
||||
|
||||
});
|
||||
@@ -0,0 +1,154 @@
|
||||
$(function () {
|
||||
var appliedBindings = false;
|
||||
|
||||
|
||||
fNewRef = function(data){
|
||||
this.id = data.id
|
||||
this.naam = ko.observable(data.naam);
|
||||
if (data.srtlink == "url"){
|
||||
this.link = ko.observable(data.link);
|
||||
}
|
||||
else {
|
||||
this.link = ko.observable(data.docnaam);
|
||||
}
|
||||
this.opmerking = ko.observable('');
|
||||
if (data.opmerking && data.opmerking !==null){
|
||||
this.opmerking(data.opmerking);
|
||||
}
|
||||
this.soort = ko.observable(data.soort);
|
||||
this.srtlink = ko.observable(data.srtlink);
|
||||
var self = this;
|
||||
this.show = ko.computed(function(){
|
||||
if (self.naam ==""){return self.link; }
|
||||
else {return self.naam;}
|
||||
});
|
||||
};
|
||||
|
||||
ls.initExtraInfo = function(){
|
||||
|
||||
if (ls.ModelExtrainfo !== undefined) {
|
||||
|
||||
} else {
|
||||
ls.ModelExtrainfo = {
|
||||
litrefs : ko.observableArray([]),
|
||||
selectedRef: ko.observable(),
|
||||
isAdmin : ko.observable(),
|
||||
welkeSoort : ko.observable(1),
|
||||
zoektekst : ko.observable(),
|
||||
actionURL : ko.observable(),
|
||||
upload : ko.observable(true),
|
||||
LSselectedFile: ko.observable(),
|
||||
|
||||
InitValues : function(){
|
||||
var self =ls.ModelExtrainfo;
|
||||
self.welkeSoort(1);
|
||||
self.fgetRefs();
|
||||
},
|
||||
fgetRefs : function(){
|
||||
var self= ls.ModelExtrainfo;
|
||||
var submitData={'zoek' : self.zoektekst,
|
||||
'soort' : self.welkeSoort()};
|
||||
|
||||
$.post("index.php/ijkpartituur/extrainfo/getRefs", submitData, function(data){
|
||||
if (data.admin == 1) {self.isAdmin(true) ;}
|
||||
else {self.isAdmin(false) ; } ;
|
||||
|
||||
self.litrefs.removeAll();
|
||||
$.each(data.refs, function(i,p){
|
||||
self.litrefs.push(new fNewRef(p));
|
||||
});
|
||||
},'json');
|
||||
return true; // het click event dwingt om hier return true te gebruiken. en click is nodig voor IE8
|
||||
},
|
||||
fsaveRef : function(){
|
||||
if (!appliedBindings) {return ;} ;
|
||||
var tnaam= this.link();
|
||||
if (this.link() != null)
|
||||
{
|
||||
if (this.srtlink() == "ext.ref" && this.link().length > 4){
|
||||
this.srtlink("url");
|
||||
}
|
||||
};
|
||||
if (this.srtlink() == 'file'){
|
||||
tnaam = ''
|
||||
}
|
||||
if (this.srtlink() == "url"){
|
||||
if (this.link().indexOf("http") < 0 ){
|
||||
this.link("http://" + this.link());
|
||||
};
|
||||
}
|
||||
var submitData = { id : this.id,
|
||||
naam : this.naam(),
|
||||
link : tnaam,
|
||||
opmerking : this.opmerking(),
|
||||
srtlink : this.srtlink()};
|
||||
$.post("index.php/ijkpartituur/extrainfo/saveRef", submitData);
|
||||
},
|
||||
fNewLitRef : function(){
|
||||
var self=ls.ModelExtrainfo;
|
||||
$.post("index.php/ijkpartituur/extrainfo/newLitRef/"+ self.welkeSoort(), function(data){
|
||||
self.litrefs.push(new fNewRef(data))
|
||||
},'json');
|
||||
},
|
||||
fDelLitRef : function(){
|
||||
var self = ls.ModelExtrainfo;
|
||||
var ref = this;
|
||||
apprise("Weet u zeker dat u " + this.naam() + " wilt verwijderen?",{'verify' : true, 'textYes': 'ja', 'textNo': 'nee'}, function(ans){
|
||||
if (ans){
|
||||
$.post("index.php/ijkpartituur/extrainfo/delRef/"+ref.id);
|
||||
self.litrefs.remove(ref);
|
||||
};
|
||||
});
|
||||
},
|
||||
fUpload : function (){
|
||||
var self = ls.ModelExtrainfo;
|
||||
self.selectedRef(this);
|
||||
if ( $('#lsOverlay').css('display') == 'none' ) { $("#lsOverlay").fadeIn() };
|
||||
setDrag("#popUploadADoc")
|
||||
$('#popUploadADoc').fadeIn();
|
||||
},
|
||||
fDownload : function (){
|
||||
if (this.srtlink() != "file") {return;};
|
||||
var win=window.open('index.php/ijkpartituur/documents/LSDownloadDoc/' + this.id, '_blank');
|
||||
win.focus();
|
||||
},
|
||||
fSetNaam : function(){
|
||||
var self = ls.ModelExtrainfo;
|
||||
if (self.LSselectedFile() ==''){return;}
|
||||
if (self.selectedRef().naam() == '' || self.selectedRef().naam() =='undefined' ||
|
||||
self.selectedRef().naam() == null) {
|
||||
self.selectedRef().naam(self.LSselectedFile().replace("C:\\fakepath\\", ""))
|
||||
}
|
||||
if (self.LSselectedFile()) {
|
||||
self.selectedRef().link(self.LSselectedFile().replace("C:\\fakepath\\", "") );
|
||||
}
|
||||
},
|
||||
|
||||
fUploadToServer : function(){
|
||||
var self=ls.ModelExtrainfo;
|
||||
|
||||
var originalname ='';
|
||||
if (self.LSselectedFile()){
|
||||
originalname=self.LSselectedFile().replace("C:\\fakepath\\", '') ;
|
||||
}
|
||||
else originalname = self.selectedRef().link();
|
||||
|
||||
self.selectedRef().link(originalname);
|
||||
|
||||
var url = 'index.php/ijkpartituur/documents/LSUpload/' + self.selectedRef().id + '/' + self.welkeSoort();
|
||||
self.actionURL(url);
|
||||
//$("#LSupload-overlay").fadeIn(100, function(){
|
||||
$("#LSuploadform").submit();
|
||||
self.selectedRef().srtlink('file');
|
||||
// $("#LSupload-overlay").fadeOut(300);
|
||||
//});
|
||||
}
|
||||
};
|
||||
|
||||
ls.ModelExtrainfo.InitValues();
|
||||
ko.applyBindings(ls.ModelExtrainfo, document.getElementById("extrainfo-pagina"));
|
||||
appliedBindings = true;
|
||||
}; // else
|
||||
}; //init
|
||||
|
||||
});
|
||||
@@ -0,0 +1,67 @@
|
||||
// $(function() {
|
||||
// ls.initModelHome = function(){
|
||||
|
||||
// };
|
||||
// if (ls.ModelHome !==undefined) {
|
||||
// ls.ModelHome.refreshPage(); }
|
||||
// else {
|
||||
// $.getJSON('index.php/home/get_submenu', function(data){
|
||||
// ls.ModelHome = {
|
||||
// kButPartituur : ko.observable("Partituur") ,
|
||||
// kButBeheer : ko.observable("Beheer") ,
|
||||
// kButOverzichten : ko.observable("Overzichten") ,
|
||||
// headItem : ko.observable(1),
|
||||
// subItem : ko.observable(1),
|
||||
// headMenu : ko.observableArray(data.menu),
|
||||
// OrgName : ko.observable(data.orgnaam) ,
|
||||
// UFullName : ko.observable(data.user_fullname),
|
||||
|
||||
// ClickMenu : function(){
|
||||
|
||||
// if (this.id==ls.ModelHome.headItem()) return;
|
||||
// ls.ModelHome.headItem(this.id);
|
||||
// $('.showhoofdpagina').removeClass('showhoofdpagina');
|
||||
// $("#hoofdpag" + this.id).addClass('.showhoofdpagina');
|
||||
// varIndex= -1;
|
||||
// $('.showsubpagina').removeClass('showsubpagina');
|
||||
// ls.ModelHome.subItem(0);
|
||||
// for (var i=0, j= ls.ModelHome.headMenu().length; i < j; i++){
|
||||
// if(ls.ModelHome.headMenu()[i]["id"] == this.id) varIndex = i;
|
||||
// }
|
||||
// if (varIndex > -1){
|
||||
// varSubmenu = ls.ModelHome.headMenu()[varIndex]["submenu"];
|
||||
// varSubpagnr = varSubmenu[0]['id'];
|
||||
// ls.ModelHome.subItem(varSubpagnr);
|
||||
// $('.showsubpagina').removeClass('showsubpagina');
|
||||
// $('#Subpag'+varSubpagnr).addClass('showsubpagina');
|
||||
// }
|
||||
// // tijdelijk uitgesterd if(this.id==6) tw.initOrgs();
|
||||
// } ,
|
||||
|
||||
// ClickSub : function(){
|
||||
// if (this.id == ls.ModelHome.subItem()) return;
|
||||
// ls.ModelHome.subItem(this.id);
|
||||
// $('.showsubpagina').removeClass('showsubpagina');
|
||||
// $('#Subpag'+this.id).addClass('showsubpagina');
|
||||
// } ,
|
||||
// ChangeMyProfile : function(){
|
||||
// alert('hier komt ChangeMyProfile');
|
||||
// } ,
|
||||
// ChangeOrg: function(){
|
||||
// alert('hier komt ChangeOrg');
|
||||
// },
|
||||
|
||||
// ClickLogout: function() {
|
||||
// $.post('index.php/login/logout', function(){
|
||||
// location.reload(true);
|
||||
// });
|
||||
// }
|
||||
// }; // einde bij definitie van ModHome
|
||||
// ko.applyBindings(ls.ModelHome, document.getElementById("databindclass"));
|
||||
// $("#sub2").attr("class","sub selected");
|
||||
// $("#sub1").removeClass("selected");
|
||||
|
||||
// } ) ;// einde bij getJson
|
||||
|
||||
// }; // einde else bij ModHome undefined
|
||||
// });
|
||||
@@ -0,0 +1,200 @@
|
||||
$(function () {
|
||||
var appliedBindings = false;
|
||||
|
||||
function InitPijler(p) {
|
||||
this.id = p.id;
|
||||
this.nummer = p.nummer;
|
||||
this.naam = p.naam;
|
||||
}
|
||||
|
||||
function NulPijler() {
|
||||
this.id = 0;
|
||||
this.nummer = 0;
|
||||
this.naam = "overige";
|
||||
this.hlijst = ko.observableArray([]);
|
||||
}
|
||||
|
||||
|
||||
ls.initHulpmiddelen = function(){
|
||||
if (ls.ModelHulpmiddelen !== undefined) {
|
||||
|
||||
} else {
|
||||
ls.ModelHulpmiddelen = {
|
||||
pijlers : ko.observableArray([]),
|
||||
selectedPijler : ko.observable(0),
|
||||
hlijst : ko.observableArray([]),
|
||||
hulpmiddel : ko.observable(),
|
||||
wijzigbaar : ko.observable(true),
|
||||
|
||||
organisatieTypes : ko.observableArray([
|
||||
{
|
||||
id: 1,
|
||||
type: "alle organisaties"
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
type: "besturen"
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
type: "scholen"
|
||||
}
|
||||
]),
|
||||
selectedType : ko.observable(),
|
||||
filterType : ko.observable('1'),
|
||||
filterNaam : ko.observable(),
|
||||
newSelectedType : ko.observable(),
|
||||
activiteiten : ko.observableArray([]),
|
||||
newNaam : ko.observable(),
|
||||
|
||||
InitValues: function () {
|
||||
var self = ls.ModelHulpmiddelen;
|
||||
self.pijlers.removeAll();
|
||||
self.hlijst.removeAll();
|
||||
$.post('index.php/ijkpartituur/nivoprofielen/getPijlers', function (datPijlers) {
|
||||
$.each(datPijlers, function (i, p) {
|
||||
self.pijlers.push(new InitPijler(p));
|
||||
});
|
||||
if (datPijlers.length > 1) {self.wijzigbaar(true)}
|
||||
else {self.wijzigbaar(false)};
|
||||
self.selectedPijler(datPijlers[0].id);
|
||||
}, 'json');
|
||||
|
||||
},
|
||||
fGetMiddelen: function () {
|
||||
var self = ls.ModelHulpmiddelen;
|
||||
if (self.selectedPijler() === undefined) {return};
|
||||
if (!appliedBindings){return};
|
||||
var pijlerID = self.selectedPijler();
|
||||
self.hlijst.removeAll();
|
||||
var submitData = {
|
||||
pijlerID : pijlerID,
|
||||
filterType : self.filterType(),
|
||||
filterNaam : self.filterNaam()
|
||||
};
|
||||
$.post('index.php/ijkpartituur/hulpmiddelen/getLijst', submitData, function (data) {
|
||||
self.hlijst.removeAll();
|
||||
self.hulpmiddel(null);
|
||||
$.each(data, function (i, p) {
|
||||
self.hlijst.push(p);
|
||||
if (i==0){self.fSetRechts(p.id)}
|
||||
}); //each
|
||||
}, 'json'); //post
|
||||
|
||||
},
|
||||
fSetRechts : function(middelID){
|
||||
var self = ls.ModelHulpmiddelen;
|
||||
$("#tbHL tr.lsSelected").removeClass('lsSelected');
|
||||
$("#trHL" + middelID).addClass("lsSelected");
|
||||
var submitData={middelID : middelID};
|
||||
$.post('index.php/ijkpartituur/hulpmiddelen/getMiddelInfo', submitData, function (data) {
|
||||
self.hulpmiddel(data.middelen[0]);
|
||||
self.activiteiten(data.activiteiten);
|
||||
self.selectedType(self.hulpmiddel().soort);
|
||||
$("#focushierI").focus();
|
||||
}, 'json');
|
||||
},
|
||||
fSelectMiddel: function () {
|
||||
var self = ls.ModelHulpmiddelen;
|
||||
var middelID = this.id;
|
||||
if ($("#trHL" + middelID).hasClass("lsSelected")) {
|
||||
$("#trHL" + middelID).removeClass("lsSelected");
|
||||
} else {
|
||||
self.fSetRechts(middelID);
|
||||
};
|
||||
$("#focushierI").focus();
|
||||
},
|
||||
|
||||
fDeleteHulpmiddel: function () {
|
||||
var self = ls.ModelHulpmiddelen;
|
||||
var currentMiddel = this;
|
||||
var HulpID = this.id;
|
||||
self. fSetRechts(HulpID);
|
||||
|
||||
apprise("Weet u zeker dat u " + this.omschrijving + " wilt verwijderen?", {
|
||||
'verify': true,
|
||||
textYes: 'ja',
|
||||
textNo: 'nee'
|
||||
},
|
||||
function (ans) {
|
||||
if (ans) {
|
||||
var submitData={hulpid : HulpID};
|
||||
$.post("index.php/ijkpartituur/hulpmiddelen/deleteHulpmiddel", submitData, function () {
|
||||
self.hlijst.remove(currentMiddel);
|
||||
|
||||
if (self.hulpmiddel().id == HulpID ) {
|
||||
self.hulpmiddel(null);
|
||||
} // if
|
||||
|
||||
}); // post
|
||||
} //if
|
||||
}); //apprise
|
||||
},
|
||||
OpslaanHulpmiddel: function () {
|
||||
var self = ls.ModelHulpmiddelen;
|
||||
var hulpID = self.hulpmiddel().id;
|
||||
|
||||
var submitData = {
|
||||
id: hulpID,
|
||||
omschrijving: self.hulpmiddel().omschrijving,
|
||||
opmerkingen: self.hulpmiddel().opmerkingen,
|
||||
filenaam: self.hulpmiddel().filenaam,
|
||||
type: self.selectedType()
|
||||
};
|
||||
$.post("index.php/ijkpartituur/hulpmiddelen/updateMiddel", submitData);
|
||||
},
|
||||
fNewMiddelOpslaan: function () {
|
||||
var self = ls.ModelHulpmiddelen;
|
||||
var pijlerID = self.selectedPijler();
|
||||
var submitData = {
|
||||
"pijlerID" : pijlerID,
|
||||
"omschrijving" : self.newNaam(),
|
||||
"type" : self.newSelectedType()
|
||||
};
|
||||
// "bronID" : self.newSelectedBron(), wordt op globorgid gezet in de controller
|
||||
self.ClosePopUp();
|
||||
$.post("index.php/ijkpartituur/hulpmiddelen/addHulpmiddel", submitData, function (newMiddel) {
|
||||
self.hlijst.push(newMiddel[0]);
|
||||
$('#tdHL' + newMiddel[0].id).click();
|
||||
}, 'json'); // post
|
||||
},
|
||||
fGetNewMiddel: function () {
|
||||
var self = ls.ModelHulpmiddelen;
|
||||
self.newNaam('');
|
||||
self.newSelectedType(self.organisatieTypes()[0].id )
|
||||
|
||||
if ($('#lsOverlay').css('display') == 'none') {
|
||||
$("#lsOverlay").fadeIn();
|
||||
}
|
||||
setDrag("#popNewHulpmiddel2");
|
||||
$('#popNewHulpmiddel2').fadeIn();
|
||||
},
|
||||
|
||||
ClosePopUp: function () {
|
||||
$("#lsOverlay").fadeOut();
|
||||
if ($('#popNewHulpmiddel2').css('display') == 'block') {
|
||||
$('#popNewHulpmiddel2').fadeOut();
|
||||
}
|
||||
},
|
||||
fToonActiviteit: function () {
|
||||
if ($('#lsOverlay').css('display') == 'none') {
|
||||
$("#lsOverlay").fadeIn();
|
||||
}
|
||||
setDrag("#popToonAct");
|
||||
$('#popToonAct').fadeIn();
|
||||
|
||||
ls.ModelPopToonAct.InitValues(this.id);
|
||||
//ls.ModelPopToonAct.fTest();
|
||||
},
|
||||
getDocuments: function () {
|
||||
tw.documentsModel.selectedHulpID(this.id);
|
||||
tw.initDocuments();
|
||||
}
|
||||
|
||||
}; // einde model definitie
|
||||
ls.ModelHulpmiddelen.InitValues();
|
||||
ko.applyBindings(ls.ModelHulpmiddelen, document.getElementById("Subpag17"));
|
||||
appliedBindings = true;
|
||||
} // einde else
|
||||
};
|
||||
});
|
||||
@@ -0,0 +1,72 @@
|
||||
$(function () {
|
||||
var appliedBindings = false;
|
||||
|
||||
function fMaakKost(k) {
|
||||
this.omschrijving = k.omschrijving;
|
||||
this.bedrag = k.bedrag.replace('.', ',');
|
||||
}
|
||||
|
||||
if (ls.ModelPopToonAct !== undefined) {
|
||||
|
||||
} else {
|
||||
ls.ModelPopToonAct = {
|
||||
pijlernaam : ko.observable(),
|
||||
taaknaam : ko.observable(),
|
||||
omschrijving : ko.observable(),
|
||||
bron : ko.observable(),
|
||||
// iNiveau : ko.observable(),
|
||||
// niveau : ko.observable(),
|
||||
duur : ko.observable(),
|
||||
faseID : ko.observable(),
|
||||
fase : ko.observable(),
|
||||
email_dagen : ko.observable(),
|
||||
email_pleider : ko.observable(),
|
||||
email_verantwoordelijke : ko.observable(),
|
||||
doelgroepen : ko.observableArray([]),
|
||||
hulpmiddelen : ko.observableArray([]),
|
||||
kosten : ko.observableArray([]),
|
||||
totaalkosten : ko.observable(0),
|
||||
|
||||
InitValues: function (actID) {
|
||||
var self = ls.ModelPopToonAct;
|
||||
if (actID > 0) {
|
||||
var submitData = {aID : actID};
|
||||
$.post("index.php/ijkpartituur/activiteiten/getActiviteitInfo/" + actID, function (data) {
|
||||
self.pijlernaam(data.Ainfo[0].pijlernaam);
|
||||
self.taaknaam(data.Ainfo[0].naam);
|
||||
self.omschrijving(data.Ainfo[0].omschrijving);
|
||||
// self.iNiveau(data.Ainfo[0].inclusiviteitisniveau);
|
||||
// self.niveau(data.Ainfo[0].niveau);
|
||||
self.duur(data.Ainfo[0].duur);
|
||||
self.faseID(data.Ainfo[0].faseID);
|
||||
self.fase(data.Ainfo[0].fasenaam);
|
||||
self.email_dagen(data.Ainfo[0].email_dagen);
|
||||
self.email_pleider(data.Ainfo[0].email_pleider);
|
||||
self.email_verantwoordelijke(data.Ainfo[0].email_verantwoordelijke);
|
||||
self.bron(data.Ainfo[0].bron);
|
||||
self.doelgroepen(data.doelgroepen);
|
||||
self.hulpmiddelen(data.Hulpmiddelen);
|
||||
var totkost = 0;
|
||||
if (data.Kosten) {
|
||||
$.each(data.Kosten, function (i, k) {
|
||||
totkost = totkost + parseFloat(k.bedrag);
|
||||
self.kosten.push(new fMaakKost(k));
|
||||
}); // each
|
||||
}
|
||||
totkost = totkost.toString().replace('.', ',');
|
||||
self.totaalkosten(totkost);
|
||||
}, 'json'); //post
|
||||
} //if
|
||||
},
|
||||
|
||||
fTest: function () {
|
||||
if (appliedBindings) {
|
||||
alert("hi");
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
ls.ModelPopToonAct.InitValues(0);
|
||||
ko.applyBindings(ls.ModelPopToonAct, document.getElementById("popToonAct"));
|
||||
appliedBindings = true;
|
||||
});
|
||||
@@ -0,0 +1,126 @@
|
||||
$(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));
|
||||
});
|
||||
});
|
||||
};
|
||||
};
|
||||
});
|
||||
@@ -0,0 +1,449 @@
|
||||
$(function () {
|
||||
var appliedBindings = false;
|
||||
var totdagen = 365;
|
||||
var projStartM;
|
||||
var projEindM;
|
||||
function MaakGanttAchtergrond(){
|
||||
var self = ls.ModelMensen;
|
||||
|
||||
$("#bgTable2").remove();
|
||||
$("#bgTable3").remove();
|
||||
var Today = new Date();
|
||||
var graphStart;
|
||||
if (Today.getTime() < projStartM.getTime()) {
|
||||
graphStart = new Date (Today.getFullYear(), Today.getMonth(), Today.getDate());
|
||||
}
|
||||
else {
|
||||
graphStart = new Date(projStartM.getFullYear(), projStartM.getMonth(), 1);
|
||||
}
|
||||
var AddToEind = 1;
|
||||
if (self.schuifwidth >= 66){AddToEind= 12};
|
||||
dagen = GetDagen( projEindM.getMonth() + AddToEind, projEindM.getFullYear());
|
||||
var graphEind = new Date(projEindM.getFullYear() + 1, projEindM.getMonth() + AddToEind,dagen);
|
||||
GanttStartDateXX = graphStart;
|
||||
var t1='';
|
||||
var t2='';
|
||||
var t3='';
|
||||
var i=new Date(graphStart.getFullYear(), graphStart.getMonth(), graphStart.getDate());
|
||||
|
||||
var maand = 0;
|
||||
var jaar = 0;
|
||||
var lbl='';
|
||||
var colcounter =0;
|
||||
var colspan = 0;
|
||||
var colspandagen = 0;
|
||||
totdagen = 0;
|
||||
var bgColH = "#975796";
|
||||
var bgColM = "#e9dce9";
|
||||
while (i < graphEind){
|
||||
switch (self.periode())
|
||||
{ case 1:
|
||||
maand = i.getMonth();
|
||||
lbl=maandArray[maand] + " " + i.getFullYear();
|
||||
colspan = GetDagen((maand+ 1), i.getFullYear()) ;
|
||||
totdagen += colspan;
|
||||
colcounter += colspan;
|
||||
|
||||
t1 +="<td class='gColHeader3' " +
|
||||
"style='width: " + (colspan * self.dagwidth()) + "px' " +
|
||||
"coldagen = " + colspan +
|
||||
" colspan='" + colspan + "'>" + lbl +"</td> ";
|
||||
testdate=new Date(i);
|
||||
for (var j=1; j<=colspan;j++){
|
||||
testdate.setDate(j);
|
||||
if (bgColH == "#975796") {
|
||||
bgColH ="#b669b5";
|
||||
bgColM = "#f5eff5";
|
||||
}
|
||||
else {
|
||||
bgColH = "#975796";
|
||||
bgColM = "#e9dce9";
|
||||
}
|
||||
|
||||
if (testdate.getDay() == 0 || testdate.getDay() ==6) {
|
||||
t2 += "<td class='gCellM gColHeader4' style=' width:" + self.dagwidth() +"px; background-color: " + bgColH + "' dagen=1 >" + j +"</td>";
|
||||
t3 += "<td class='gCellM holy' dagen=1 style='width:" + self.dagwidth() +"px;background-color: " + bgColM + "' > </td>";
|
||||
}
|
||||
else {
|
||||
t2 += "<td class='gCellM gColHeader4' style=' width:" + self.dagwidth() +"px;background-color: " + bgColH + "' dagen =1>" + j +"</td>";
|
||||
t3 += "<td class='gCellM' dagen=1 style='width:" + self.dagwidth() +"px;background-color: " + bgColM + "' > </td>" ;
|
||||
};
|
||||
};
|
||||
i.setMonth(i.getMonth() + 1);
|
||||
break; // einde case 1
|
||||
case 2:
|
||||
var colspan2 = 0;
|
||||
var colspan = 0;
|
||||
var colspandagen = 0;
|
||||
maand = i.getMonth() + 1;
|
||||
lbl= i.getFullYear();
|
||||
|
||||
for (var j=maand; j<=12;j++){
|
||||
dagen = GetDagen(j, i.getFullYear());
|
||||
totdagen += dagen;
|
||||
colspandagen += dagen;
|
||||
colspan += 1;
|
||||
colcounter += 1;
|
||||
if (bgColH == "#975796") {
|
||||
bgColH ="#b669b5";
|
||||
bgColM = "#f5eff5";
|
||||
}
|
||||
else {
|
||||
bgColH = "#975796";
|
||||
bgColM = "#e9dce9";
|
||||
}
|
||||
t2 += "<td class='gCellM gColHeader4' style=' width:" + (dagen * self.dagwidth())+ "px; background-color: " + bgColH + "' dagen=" + dagen+ " >" + maandArray2[(j - 1)] +"</td>";
|
||||
t3 += "<td class='gCellM' dagen=" + dagen + " style='width:" + (dagen * self.dagwidth() ) +"px; background-color: " + bgColM + "' > </td>" ;
|
||||
};
|
||||
t1 +="<td class='gColHeader3' " +
|
||||
" style='width:" + (colspandagen * self.dagwidth() ) +"px' " +
|
||||
" coldagen = " + colspandagen +
|
||||
" colspan ='" + colspan + "'>" + lbl +"</td> ";
|
||||
i.setMonth (i.getMonth() + (12 - maand ) + 1);
|
||||
break; // einde case 2
|
||||
case 3:
|
||||
colspandagen = 0;
|
||||
colcounter += 1;
|
||||
dagen=GetDagen(2,i.getFullYear());
|
||||
dagen =337 + dagen;
|
||||
colspandagen += dagen;
|
||||
totdagen += dagen;
|
||||
if (bgColH == "#975796") {
|
||||
bgColH ="#b669b5";
|
||||
bgColM = "#f5eff5";
|
||||
}
|
||||
else {
|
||||
bgColH = "#975796";
|
||||
bgColM = "#e9dce9";
|
||||
}
|
||||
t1 +="<td class='gColHeader3' " +
|
||||
" style='width:" + (colspandagen * self.dagwidth() ) +"px' "+
|
||||
" coldagen =" + dagen +
|
||||
" dagen=" + dagen+ " > " + "</td> ";
|
||||
t2 += "<td class='gCellM gColHeader4' dagen=" + dagen + " style=' width:"+ (dagen * self.dagwidth)+ " px ; background-color: " + bgColH + "'>" + i.getFullYear() +"</td>";
|
||||
t3 += "<td class='gCellM' dagen=" +dagen + " style='width:" + (dagen * self.dagwidth()) +"px; background-color: " + bgColM + "'> </td>" ;
|
||||
i.setMonth (i.getMonth() + (12 - maand ) + 1);
|
||||
break;
|
||||
case 4: lbl= i.getFullYear();
|
||||
t1 +="<td class='gColHeader3'>" + lbl +"</td> ";
|
||||
i.setMonth (i.getMonth() + 12);
|
||||
break;
|
||||
default: i = graphEind;
|
||||
}
|
||||
} // einde while
|
||||
|
||||
var wTabel = self.dagwidth() * totdagen;
|
||||
var tr1 = $("<tr>");
|
||||
tr1.html(t1);
|
||||
var tr2=$("<tr>");
|
||||
tr2.html(t2);
|
||||
var gTHead1=$("<thead>").append(tr1).append(tr2);
|
||||
|
||||
var table=$("<table class='gTable' id='bgTable2' cellspacing=0 cellpadding= 0 cols='" + colcounter + "'>");
|
||||
table.css({width: wTabel + "px"});
|
||||
|
||||
table.append(gTHead1);
|
||||
$(table).insertAfter('#putheaderhere');
|
||||
|
||||
var matrix = '';
|
||||
var rows =13;
|
||||
for (i=0; i<rows;i++){
|
||||
matrix +='<tr>' + t3 + "</tr>";
|
||||
}
|
||||
table=$("<table class='gTable' id='bgTable3' cellspacing=0 cellpadding= 0 cols='" + colcounter + "'>");
|
||||
table.css({width: wTabel + "px"});
|
||||
|
||||
table.append(matrix);
|
||||
$(table).insertAfter('#puttablehere2');
|
||||
$("#puttablehere2").css({width: wTabel + "px"});
|
||||
|
||||
$(".scroller3").width((totdagen * self.dagwidth() ));
|
||||
$(".lijnstuk").each(function(index){
|
||||
$(this).width( $(this).attr('dagen') * self.dagwidth() );
|
||||
});
|
||||
CoordinatesToday(self.periode());
|
||||
};
|
||||
|
||||
function CoordinatesToday(periode){
|
||||
var self = ls.ModelMensen;
|
||||
var inDag = new Date()
|
||||
var startdag = new Date(projStartM.getFullYear(), projStartM.getMonth(),1);
|
||||
var vLeft = 0;
|
||||
dagen= Math.ceil((inDag.getTime() - startdag.getTime()) / MSdag );
|
||||
vLeft= (dagen - 0.5) * self.dagwidth() ;
|
||||
$('#todayLineM').css('left', vLeft);
|
||||
$('#todayLineM').css('height', 430);
|
||||
$("#todayLineM").attr("dagen",(dagen - 0.5) );
|
||||
if (inDag.getTime() > startdag.getTime() && inDag.getTime() < projEindM.getTime()){
|
||||
$('#scroller2').scrollLeft((vLeft - 20) );
|
||||
} ;
|
||||
};
|
||||
$("#scroller2").scroll(function() {
|
||||
$('#scroller1').scrollLeft($( "#scroller2") .scrollLeft()) ;
|
||||
$(".holder3").scrollLeft($("#scroller2").scrollLeft());
|
||||
});
|
||||
$("#scroller1").scroll(function() {
|
||||
$('#scroller2').scrollLeft($( "#scroller1") .scrollLeft()) ;
|
||||
$(".holder3").scrollLeft($("#scroller1").scrollLeft());
|
||||
});
|
||||
|
||||
fNewMens = function (m){
|
||||
var self= this;
|
||||
this.id = m.id;
|
||||
this.naam = m.fullname;
|
||||
this.takenC = ko.observableArray();
|
||||
$.each(m.takenC, function(i,t){
|
||||
self.takenC.push(t);
|
||||
})
|
||||
this.takenU = ko.observableArray();
|
||||
$.each(m.takenU, function(i,t){
|
||||
self.takenU.push(t);
|
||||
})
|
||||
|
||||
var nums = new Array();
|
||||
var dat1 = new Date(projStartM.getTime());
|
||||
dat1.setDate(1);
|
||||
var dat2 = new Date(projEindM.getTime());
|
||||
|
||||
// var i = 0;
|
||||
while (dat1.getTime() <=dat2.getTime()){
|
||||
var actcounter = 0;
|
||||
var vacties = '';
|
||||
var uacties ='';
|
||||
$.each(m.takenC, function(i,t){
|
||||
var datstart = new Date(t.start.substring(0,4), parseInt(t.start.substring(5,7) ,10)-1, t.start.substring(8,10));
|
||||
var dateind =new Date(t.eind.substring(0,4), parseInt(t.eind.substring(5,7) ,10)-1, t.eind.substring(8,10));
|
||||
if (dat1.getTime() >= datstart .getTime() &&
|
||||
dat1.getTime() <= dateind.getTime() ) {
|
||||
actcounter ++;
|
||||
vacties += t.naam + ";";
|
||||
}
|
||||
}); // each
|
||||
$.each(m.takenU, function(i,t){
|
||||
var datstart = new Date(t.start.substring(0,4), parseInt(t.start.substring(5,7),10 )-1, t.start.substring(8,10));
|
||||
var dateind =new Date(t.eind.substring(0,4), parseInt(t.eind.substring(5,7) ,10)-1, t.eind.substring(8,10));
|
||||
if (dat1.getTime() >= datstart .getTime() &&
|
||||
dat1.getTime() <= dateind.getTime() ) {
|
||||
actcounter ++;
|
||||
uacties += t.naam + ";" ;
|
||||
}
|
||||
}); // each
|
||||
|
||||
nums.push({counter : actcounter,
|
||||
vacts : vacties,
|
||||
uacts : uacties});
|
||||
dat1.setDate(dat1.getDate() + 1);
|
||||
i++;
|
||||
}
|
||||
this.html= "<div class='mensregel' id='m" + this.id + "' >"+
|
||||
"<div style='float:left; width: 243px; overflow-x:hidden;'>" + this.naam+"</div>" +
|
||||
"<div class='upholder3' style='float:left; height :15px; overflow-y:hidden; overflow-x:hidden' >" +
|
||||
"<div class ='holder3' style='width: 680px;height:32px; overflow-y:hidden'>" +
|
||||
"<div class='scroller3' style='width:1200px' > " ;
|
||||
|
||||
var dikte = 0;
|
||||
if (nums[0] !==undefined) {dikte= nums[0].counter;};
|
||||
var dagen = 0;
|
||||
var self=this;
|
||||
var colarray = ['576297', '576297','576297','576297','576297','576297','576297','576297','576297','576297'];
|
||||
$.each(nums, function(i,n){
|
||||
|
||||
if (n.counter != dikte){
|
||||
if (dikte > 10) {dikte = 10};
|
||||
self.html += "<div class='lijnstuk' " +
|
||||
"style='float:left;background-color: #" + colarray[(dikte-1)] + " ; height: " + (dikte * 2) + "px; margin-top:" + (10 - (dikte * 2)) + "px;width:" + (dagen * ls.ModelMensen.dagwidth() ) + "px;' " +
|
||||
"title='dagen: " + dagen + " verantwoordelijk:" + vacts + " uitvoerende: " + uacts +"' " +
|
||||
" dagen= " + dagen + "> </div>" ;
|
||||
dagen = 1;
|
||||
dikte = n.counter;
|
||||
vacts = n.vacts;
|
||||
uacts = n.uacts;
|
||||
}
|
||||
else {dagen = dagen + 1;
|
||||
vacts = n.vacts;
|
||||
uacts = n.uacts;}
|
||||
})
|
||||
if (dikte > 0){
|
||||
this.html += "<div class='lijnstuk' " +
|
||||
"style='float:left;background-color:#" + colarray[(dikte-1)] + "; height: " + (dikte * 2) + "px; margin-top:" + (10 - (dikte * 2)) + "px;width:" + (dagen * ls.ModelMensen.dagwidth() ) + "px;' " +
|
||||
" dagen= " + dagen + "> </div>" ;
|
||||
}
|
||||
this.html += "</div></div></div></div> <div class=clearfix></div>"
|
||||
};
|
||||
|
||||
$(document).on("click", ".mensregel", function () {
|
||||
var sID = $(this).attr('id').substring(1);
|
||||
var self= ls.ModelMensen;
|
||||
$.each(self.mensen(), function(i,p){
|
||||
if (p.id ==sID){
|
||||
self.selectedMens(p);
|
||||
return;
|
||||
}; // if
|
||||
}) ; //each
|
||||
if ( $('#lsOverlay').css('display') == 'none' ) { $("#lsOverlay").fadeIn() };
|
||||
$("#lsOverlay").css({'z-index': 500});
|
||||
setDrag("#popMensActiviteiten")
|
||||
$('#popMensActiviteiten').fadeIn();
|
||||
$('#popMensActiviteiten').css({'z-index': 550});
|
||||
});
|
||||
|
||||
|
||||
ls.initMensen = function(){
|
||||
if (ls.ModelMensen !== undefined) {
|
||||
ls.ModelMensen.InitValues();
|
||||
}
|
||||
else {
|
||||
|
||||
ls.ModelMensen = {
|
||||
schuifwidth : ko.observable(),
|
||||
periode : ko.observable(2),
|
||||
mensen : ko.observableArray([]),
|
||||
selectedMens : ko.observable(),
|
||||
deletable : ko.observable(true), // mag de gebruiker activiteiten bij gebruikers weghalen
|
||||
|
||||
InitValues : function(){
|
||||
var self = ls.ModelMensen;
|
||||
$('.mensregel').remove();
|
||||
$('#periodeslider').slider();
|
||||
$("#periodeslider").slider("option","animate","fast");
|
||||
$("#periodeslider").slider("option", "value", 40);
|
||||
self.schuifwidth(33.1);
|
||||
$.post('index.php/ijkpartituur/partituur/getActievePartituur', function(data){
|
||||
projStartM= new Date(data.partituur_start.substring(0,4), (data.partituur_start.substring(5,7)-1), data.partituur_start.substring(8,10));
|
||||
|
||||
projEindM= new Date(data.partituur_eind.substring(0,4), (data.partituur_eind.substring(5,7)-1), data.partituur_eind.substring(8,10));
|
||||
MaakGanttAchtergrond();
|
||||
|
||||
$.post("index.php/ijkpartituur/mensen/getMensen", function(data){
|
||||
self.mensen.removeAll();
|
||||
|
||||
$.each(data, function(i,p){
|
||||
self.mensen.push(new fNewMens(p))
|
||||
}) ; // for each
|
||||
|
||||
$.each(self.mensen(), function(i,m){
|
||||
regel=m.html;
|
||||
$(regel).insertAfter('#mensholder');
|
||||
$("#m"+ m.id).css({top: ((i * 33) + 10) + "px"});
|
||||
});
|
||||
}, 'json');
|
||||
},'json');
|
||||
|
||||
},
|
||||
fDeleteVer : function(pID){
|
||||
var self= ls.ModelMensen;
|
||||
var VID = this.id;
|
||||
var MID = pID;
|
||||
var deze = this;
|
||||
apprise("Weet u zeker dat u de koppeling van verantwoordelijke bij " + this.naam + " wilt verwijderen?", {verify: true, textYes: 'ja', textNo:'nee'}, function(ans){
|
||||
if (ans){
|
||||
$.post("index.php/ijkpartituur/mensen/deleteVer/" + VID + '/' + MID, function(data){
|
||||
$.each(self.mensen(), function(i,p){
|
||||
if (p.id == MID) {
|
||||
var vtop = $("#m"+MID).css("top");
|
||||
self.selectedMens().takenC.remove(deze);
|
||||
self.mensen.remove(p);
|
||||
$("#m" + MID).remove();
|
||||
self.mensen.push(new fNewMens(data));
|
||||
var Indexwaarde = self.mensen().length - 1;
|
||||
regel=self.mensen()[Indexwaarde].html;
|
||||
$(regel).insertAfter('#mensholder');
|
||||
$("#m"+ MID).css('top', vtop);
|
||||
return false;
|
||||
}
|
||||
})
|
||||
},'json');
|
||||
} // if
|
||||
} ); // apprise
|
||||
},
|
||||
fDeleteUit : function(pID){
|
||||
var self= ls.ModelMensen;
|
||||
var UID = this.id;
|
||||
var MID = pID;
|
||||
var deze = this;
|
||||
apprise("Weet u zeker dat u de koppeling van uitvoerende bij " + this.naam + " wilt verwijderen?", {verify: true, textYes: 'ja', textNo:'nee'}, function(ans){
|
||||
if (ans){
|
||||
$.post("index.php/ijkpartituur/mensen/deleteUit/" + UID + '/' + MID, function(data){
|
||||
$.each(self.mensen(), function(i,p){
|
||||
if (p.id == MID) {
|
||||
var vtop = $("#m"+MID).css("top");
|
||||
self.selectedMens().takenU.remove(deze);
|
||||
self.mensen.remove(p);
|
||||
$("#m" + MID).remove();
|
||||
self.mensen.push(new fNewMens(data));
|
||||
var Indexwaarde = self.mensen().length - 1;
|
||||
regel=self.mensen()[Indexwaarde].html;
|
||||
$(regel).insertAfter('#mensholder');
|
||||
$("#m"+ MID).css('top', vtop);
|
||||
return false;
|
||||
}
|
||||
})
|
||||
},'json');
|
||||
} // if
|
||||
} ); // apprise
|
||||
}
|
||||
};// einde model definitie
|
||||
|
||||
$("#periodeslider").slider({ stop: function(event,ui){
|
||||
var self= ls.ModelMensen;
|
||||
var dagen = 0;
|
||||
var wijd = 0;
|
||||
self.schuifwidth( ui.value );
|
||||
if (self.schuifwidth() < 5) {self.schuifwidth(5)};
|
||||
|
||||
if (self.schuifwidth() < 33 && (self.periode() != 1)) {
|
||||
self.periode(1);
|
||||
MaakGanttAchtergrond();
|
||||
return ;
|
||||
};
|
||||
if (self.schuifwidth() >= 33 && self.schuifwidth() <= 66 && self.periode() != 2) {
|
||||
self.periode(2);
|
||||
MaakGanttAchtergrond();
|
||||
return ;
|
||||
};
|
||||
if (self.schuifwidth() >66 && self.periode() != 3) {
|
||||
self.periode(3);
|
||||
MaakGanttAchtergrond();
|
||||
return ;
|
||||
};
|
||||
$(".gColHeader4").each(function (i, p){
|
||||
dagen = $(p).attr("dagen");
|
||||
wijd= (dagen * self.dagwidth() );
|
||||
$(p).width(wijd) ;
|
||||
});
|
||||
$(".gColHeader3").each(function(i,r){
|
||||
wijd=(parseInt($(r).attr("coldagen") ,10 ) * self.dagwidth() ) ;
|
||||
$(r).width(wijd);
|
||||
});
|
||||
$(".gCellM").each(function(i,q){
|
||||
dagen = $(q).attr("dagen");
|
||||
wijd= (dagen * self.dagwidth() );
|
||||
$(q).width(wijd) ;
|
||||
});
|
||||
|
||||
$("#bgTable2").width((totdagen * self.dagwidth() ));
|
||||
$("#bgTable3").width((totdagen * self.dagwidth() ));
|
||||
$(".scroller3").width((totdagen * self.dagwidth() ));
|
||||
$(".lijnstuk").each(function(index){
|
||||
$(this).width( $(this).attr('dagen') * self.dagwidth() );
|
||||
});
|
||||
$("#todayLineM").css({left: ($("#todayLineM").attr('dagen') * self.dagwidth() )});
|
||||
}
|
||||
});
|
||||
ls.ModelMensen.dagwidth =ko.computed(function(){
|
||||
var self=ls.ModelMensen;
|
||||
if (self.schuifwidth() < 33) {
|
||||
return self.schuifwidth(); };
|
||||
if (self.schuifwidth() >= 33 && self.schuifwidth() < 66) {
|
||||
return self.schuifwidth() / 30 ;};
|
||||
if (self.schuifwidth() >= 66) {
|
||||
return self.schuifwidth()/365 ;};
|
||||
});
|
||||
|
||||
ls.ModelMensen.InitValues();
|
||||
ko.applyBindings(ls.ModelMensen, document.getElementById("mensen-pagina"));
|
||||
appliedBindings = true;
|
||||
}; // else
|
||||
}; //init
|
||||
|
||||
});
|
||||
@@ -0,0 +1,793 @@
|
||||
$(function () {
|
||||
|
||||
fPPijler = function (p) {
|
||||
this.id = p.id;
|
||||
this.pijlerID = p.pijlerID;
|
||||
this.volgorde = p.volgorde;
|
||||
this.naam = p.naam;
|
||||
this.omschrijving = p.omschrijving;
|
||||
this.huidig = ko.observable(p.huidig);
|
||||
this.huidigOri = ko.observable(p.huidig);
|
||||
this.gewenst = ko.observable(p.gewenst);
|
||||
this.gewenstOri = ko.observable(p.gewenst);
|
||||
};
|
||||
meterPijler = function (p) {
|
||||
this.id = p.id;
|
||||
this.naam = p.naam;
|
||||
this.score = ko.observable(0);
|
||||
};
|
||||
|
||||
function fAddVersie(p){
|
||||
var dit = this;
|
||||
this.ovid = p.id
|
||||
this.versieid = p.versie_id;
|
||||
this.periodenummer = ko.observable(p.periodenummer);
|
||||
this.naamsolo = ko.observable(p.naam);
|
||||
this.naam = ko.computed(function(){
|
||||
return "Periode-"+dit.periodenummer()+ ' ' +dit.naamsolo();
|
||||
});
|
||||
};
|
||||
var appliedBindings = false;
|
||||
|
||||
ls.initPartituur = function () {
|
||||
|
||||
var newPart = true;
|
||||
|
||||
if (ls.ModelPplan !== undefined) {
|
||||
var self = ls.ModelPplan;
|
||||
if (ls.ModelPplan.partituurID() === undefined || ls.ModelPplan.partituurID() <= 0) {
|
||||
SetMenus(0); // in main js
|
||||
self.MaakNieuwePartituur();
|
||||
} // if partituurID undefined
|
||||
else {
|
||||
$.post("index.php/ijkpartituur/partituur/resetVars/" + ls.ModelPplan.partituurID(), function (data) {
|
||||
ls.ModelPplan.allowDelete(data.allowDelete);
|
||||
ls.ModelPplan.allowChange(data.allowChange);
|
||||
ls.ModelPplan.gemgereed(data.gereed);
|
||||
ls.ModelPplan.totkost(data.kosten);
|
||||
SetMenus(ls.ModelPplan.partituurID());
|
||||
}, "json");
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
ls.ModelPplan = {
|
||||
pijlers : ko.observableArray([]),
|
||||
profielnamen : ko.observableArray(),
|
||||
gekozenProfiel : ko.observable(''),
|
||||
partituren : ko.observableArray([]),
|
||||
partituurID : ko.observable(),
|
||||
selectedPartituurID : ko.observable(),
|
||||
selectedpijlers : ko.observableArray([]),
|
||||
vandatum : ko.observable(''),
|
||||
tmdatum : ko.observable(''),
|
||||
pleiderID : ko.observable(),
|
||||
email : ko.observable(''),
|
||||
gemgereed : ko.observable(''),
|
||||
totkost : ko.observable(''),
|
||||
medewerkers : ko.observableArray([]),
|
||||
newPnaam : ko.observable(""),
|
||||
newPartituurNaam : ko.observable(),
|
||||
schoolmeterpijlers : ko.observableArray([]),
|
||||
newvandatum : ko.observable(),
|
||||
newtotdatum : ko.observable(),
|
||||
hasWrite : ko.observable(false),
|
||||
magNieuw : ko.observable(true),
|
||||
allowChange : ko.observable(false),
|
||||
allowDelete : ko.observable(false),
|
||||
isActievePart : ko.observable(true),
|
||||
somHuidig : ko.observable(0),
|
||||
profielHuidig : ko.observable(0),
|
||||
minSomGewenst : ko.observable(0),
|
||||
maxSomGewenst : ko.observable(0),
|
||||
profielGewenst : ko.observable(0),
|
||||
profielGewenstMax : ko.observable(0),
|
||||
GemSomGewenst : ko.observable(0),
|
||||
gewenstgewijzigd : ko.observable(false),
|
||||
mes3 : '',
|
||||
mes4 : '',
|
||||
mes5 : '',
|
||||
mes6 :'',
|
||||
mes7 :'',
|
||||
mes8: '', mes9: "",mes10:'',mes11: '', mes12:'',mes13:'',mes14:'',
|
||||
mes15:'', mes16: '',
|
||||
lbl1: '', lbl2: '', lbl3: '', lbl4 : '',lblja:'', lblnee:'',
|
||||
versies : ko.observableArray(),
|
||||
selectedVersie : ko.observable(),
|
||||
kleurcodes : ko.observable(),
|
||||
|
||||
InitValues: function () {
|
||||
var self = this;
|
||||
$.getJSON('index.php/ijkpartituur/partituur', function (data) {
|
||||
$.each(data.schoolmeterpijlers, function (i, p) {
|
||||
self.schoolmeterpijlers.push(new meterPijler(p));
|
||||
});
|
||||
self.allowDelete(data.allowDelete);
|
||||
self.hasWrite(data.write);
|
||||
self.magNieuw(data.magNieuw);
|
||||
self.allowChange(data.allowDelete);
|
||||
self.isActievePart(data.isactievepart);
|
||||
self.profielnamen(data.profielen);
|
||||
self.medewerkers(data.medewerkers);
|
||||
self.mes3=data.mes3;
|
||||
self.mes4=data.mes4;
|
||||
self.mes5=data.mes5;
|
||||
self.mes6=data.mes6;
|
||||
self.mes7=data.mes7;
|
||||
self.mes8=data.mes8;
|
||||
self.mes9=data.mes9;
|
||||
self.mes10=data.mes10;
|
||||
self.mes11=data.mes11;
|
||||
self.mes12=data.mes12;
|
||||
self.mes13=data.mes13;
|
||||
self.mes14=data.mes14;
|
||||
self.mes15=data.mes15;
|
||||
self.mes16=data.mes16;
|
||||
self.lbl1=data.lbl1;
|
||||
self.lbl2=data.lbl2;
|
||||
self.lbl3=data.lbl3;
|
||||
self.lbl4=data.lbl4;
|
||||
self.lblja=data.lblja;
|
||||
self.lblnee=data.lblnee;
|
||||
self.kleurcodes(data.kleuren);
|
||||
if (!data.status) {
|
||||
SetMenus(0);
|
||||
} else {
|
||||
SetMenus(data.partituurID);
|
||||
};
|
||||
if (!data.status) {
|
||||
msg = data.mes1;
|
||||
if (!data.write) {
|
||||
msg += " <br />"+data.mes2;
|
||||
}
|
||||
apprise(msg, {animate: true}, function () {
|
||||
if (!data.write) {
|
||||
$.get('index.php/login/logout', function () {
|
||||
$('body').html('');
|
||||
});
|
||||
} else {
|
||||
self.MaakNieuwePartituur();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
self.partituurID(data.partituurID);
|
||||
self.refreshPijlers(data.partituurID);
|
||||
}
|
||||
}); //getjson
|
||||
},
|
||||
|
||||
refreshPijlers: function (partID) {
|
||||
var self = ls.ModelPplan;
|
||||
$.getJSON('index.php/ijkpartituur/partituur/get_partituur/' + partID, function (data2) {
|
||||
SetMenus(partID);
|
||||
if (!data2.status) {
|
||||
apprise(self.mes10, {
|
||||
animate: true
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
self.partituren(data2.partituren);
|
||||
self.allowChange(data2.allowchange);
|
||||
self.isActievePart(data2.isactievepart);
|
||||
self.partituurID(data2.partituur.id);
|
||||
self.selectedPartituurID(data2.partituur.id);
|
||||
self.gekozenProfiel(data2.partituur.profielid);
|
||||
self.vandatum(data2.partituur.startdatum);
|
||||
self.tmdatum(data2.partituur.einddatum);
|
||||
self.email(data2.partituur.email);
|
||||
self.gemgereed(data2.partituur.gereed);
|
||||
self.totkost(data2.partituur.kosten);
|
||||
self.hasWrite(data2.write);
|
||||
if (data2.partituur.projectleider) {
|
||||
self.pleiderID(data2.partituur.projectleider.id);
|
||||
}
|
||||
self.pijlers.removeAll();
|
||||
if (data2.pijlers) {
|
||||
$.each(data2.pijlers, function (i, k) {
|
||||
self.pijlers.push(new fPPijler(k));
|
||||
});
|
||||
};
|
||||
self.somHuidig(0);
|
||||
if (data2.ruwescores) {
|
||||
$.each(data2.ruwescores, function (i, p) {
|
||||
self.somHuidig(self.somHuidig() + parseInt(p.score, 10));
|
||||
});
|
||||
};
|
||||
self.profielHuidig(ScoreNaarProfiel(self.somHuidig()));
|
||||
self.SetSelectedPijlers();
|
||||
});
|
||||
self.gewenstgewijzigd(false);
|
||||
},
|
||||
|
||||
checkInteger: function () {
|
||||
var self = this;
|
||||
if (self.score() === '') return;
|
||||
if (!appliedBindings) return;
|
||||
var testwaarde = self.score();
|
||||
var intRegex = /^\d+$/;
|
||||
if (!intRegex.test(testwaarde)) {
|
||||
apprise(self.mes11, {
|
||||
'textOK': "ok"
|
||||
}, function (response) {
|
||||
self.score(0);
|
||||
id = "#score" + self.id;
|
||||
$(id).focus();
|
||||
}); //function(response)
|
||||
} // if ! int
|
||||
},
|
||||
|
||||
ResetAll: function () {
|
||||
var self = ls.ModelPplan;
|
||||
var pID = self.partituurID();
|
||||
|
||||
//SetMenus(0); // function in Main.js ga er vanuit dat er geen actieve partituur is
|
||||
|
||||
if (self.partituren) {
|
||||
self.partituren.removeAll();
|
||||
}
|
||||
// get de nieuwe lijst van partituren
|
||||
$.post('index.php/ijkpartituur/partituur/get_partituren', function (data) {
|
||||
self.partituren(data.partituren);
|
||||
}, 'json');
|
||||
if (self.selectedpijlers) {
|
||||
self.selectedpijlers.removeAll();
|
||||
}
|
||||
|
||||
self.vandatum('');
|
||||
self.tmdatum('');
|
||||
self.pleiderID();
|
||||
self.email('');
|
||||
self.gemgereed("");
|
||||
self.totkost("");
|
||||
self.newPnaam("");
|
||||
self.pijlers.removeAll();
|
||||
self.gekozenProfiel('');
|
||||
self.gewenstgewijzigd(false);
|
||||
},
|
||||
|
||||
reInit: function () {
|
||||
var self = ls.ModelPplan;
|
||||
|
||||
if (self.selectedPartituurID() < 1 || self.selectedPartituurID() === undefined) {
|
||||
return;
|
||||
} else {
|
||||
self.partituurID(self.selectedPartituurID());
|
||||
}
|
||||
self.ResetAll();
|
||||
self.refreshPijlers(self.partituurID());
|
||||
self.gewenstgewijzigd(false);
|
||||
},
|
||||
resetPijlerprofiel: function () {
|
||||
var self = this;
|
||||
$.each(self.pijlers(), function (i, p) {
|
||||
p.huidig(p.huidigOri());
|
||||
p.gewenst(p.gewenstOri());
|
||||
});
|
||||
self.SetSelectedPijlers();
|
||||
self.gekozenProfiel("");
|
||||
self.gewenstgewijzigd(false);
|
||||
},
|
||||
fWijzigNaam: function () {
|
||||
var self = ls.ModelPplan;
|
||||
var partID = self.selectedPartituurID();
|
||||
var vNaam = '';
|
||||
$.each(self.partituren(), function (i, p) {
|
||||
if (p.id == partID) {
|
||||
vNaam = p.naam;
|
||||
}
|
||||
});
|
||||
apprise(self.mes12, {
|
||||
'input': vNaam
|
||||
}, function (r) {
|
||||
if (r > "" && (r != vNaam)) {
|
||||
var submitData = {
|
||||
id: partID,
|
||||
naam: r
|
||||
};
|
||||
$.post("index.php/ijkpartituur/partituur/setNaam", submitData);
|
||||
ko.utils.arrayForEach(self.partituren(), function (p) {
|
||||
if (p.id == partID) {
|
||||
p.naam = r;
|
||||
$("#partituurnaamTest option:selected").text(r);
|
||||
}
|
||||
});
|
||||
} // if
|
||||
}); // apprise
|
||||
|
||||
},
|
||||
profielOpslaan: function () {
|
||||
var self = ls.ModelPplan;
|
||||
var submitData = {
|
||||
partituurID: self.selectedPartituurID(),
|
||||
profiel: this.pijlers()
|
||||
};
|
||||
var submitURL = "index.php/ijkpartituur/partituur/save_profiel";
|
||||
$.post(submitURL, submitData, function (data) {
|
||||
// helpprofiel moet nu weer de waarde van profiel krijgen
|
||||
ko.utils.arrayForEach(self.pijlers(), function (p) {
|
||||
p.huidigOri(p.huidig());
|
||||
p.gewenstOri(p.gewenst());
|
||||
});
|
||||
self.gewenstgewijzigd(false);
|
||||
}, 'json');
|
||||
},
|
||||
changeProfiel: function () {
|
||||
var self = this;
|
||||
var that = ls.ModelPplan;
|
||||
$.getJSON('index.php/ijkpartituur/partituur/get_standaard/' + self.id + '/' + that.partituurID(), function (data) {
|
||||
$.each(data.standaards, function (i, p) {
|
||||
ls.ModelPplan.pijlers()[i].gewenst(p.waarde);
|
||||
});
|
||||
ls.ModelPplan.SetSelectedPijlers();
|
||||
}); // einde getJSON
|
||||
},
|
||||
SetGewenst: function(wat){
|
||||
var self = ls.ModelPplan;
|
||||
this.gewenst(wat);
|
||||
self.SetSelectedPijlers();
|
||||
},
|
||||
SetSelectedPijlers: function () {
|
||||
if (!appliedBindings) {
|
||||
return;
|
||||
}
|
||||
var self = ls.ModelPplan;
|
||||
self.selectedpijlers.removeAll();
|
||||
ko.utils.arrayForEach(self.pijlers(), function (p) {
|
||||
if (p.huidig() < p.gewenst()) {
|
||||
self.selectedpijlers.push({
|
||||
'id': p.id,
|
||||
'naam': p.naam
|
||||
});
|
||||
}
|
||||
});
|
||||
$.each(self.pijlers(), function (i, p) {
|
||||
if (p.gewenst() != p.gewenstOri()) {
|
||||
self.gewenstgewijzigd(true);
|
||||
}
|
||||
})
|
||||
return true;
|
||||
},
|
||||
Nieuw: function () {
|
||||
var self = this;
|
||||
apprise(self.mes13, {
|
||||
'confirm': true,
|
||||
'textOk': self.lblja,
|
||||
'textCancel': self.lblnee,
|
||||
'animate': true
|
||||
}, function (response) {
|
||||
if (response) {
|
||||
self.MaakNieuwePartituur();
|
||||
} // einde if
|
||||
} // einde function response
|
||||
); // einde apprise
|
||||
},
|
||||
MaakNieuwePartituur: function () {
|
||||
var self = this;
|
||||
|
||||
if (self.schoolmeterpijlers()){
|
||||
$.each(self.schoolmeterpijlers(), function (i,p) {
|
||||
p.score(0);
|
||||
});
|
||||
}
|
||||
|
||||
$.post("index.php/monpas/monitor/getperiodesperschoolvanuitpartituur/1" ,function(data){
|
||||
self.versies.removeAll();
|
||||
if (data.versies){
|
||||
$.each(data.versies, function(i,p){
|
||||
self.versies.push(new fAddVersie(p));
|
||||
});
|
||||
self.selectedVersie(self.versies()[0]);
|
||||
}
|
||||
|
||||
if ($('#lsOverlay').css('display') == 'none') {
|
||||
$("#lsOverlay").fadeIn();
|
||||
}
|
||||
setDrag("#popNewPartituur");
|
||||
$('#popNewPartituur').fadeIn();
|
||||
},'json');
|
||||
},
|
||||
fGetScores: function(){
|
||||
var self = ls.ModelPplan;
|
||||
if (!self.selectedVersie()) return;
|
||||
var submitData= {ovid : self.selectedVersie().ovid};
|
||||
|
||||
$.post("index.php/ijkpartituur/partituur/getscores", submitData, function(results){
|
||||
$.each(results, function(i,p){
|
||||
$.each(self.schoolmeterpijlers(), function(j,k){
|
||||
if (k.id == p.nummer) {
|
||||
k.score(Math.round((parseFloat(p.somscore) / parseFloat(p.num)) * 10) / 10);
|
||||
return false;
|
||||
}
|
||||
});// each self schoolmeterpijlers
|
||||
}); // each results
|
||||
},'json');
|
||||
},
|
||||
opslaanPleider: function () {
|
||||
var self = this;
|
||||
if (self.pleiderID() === undefined) return;
|
||||
|
||||
var submitDATA = {
|
||||
partituurID: self.partituurID(),
|
||||
pleiderID: self.pleiderID()
|
||||
};
|
||||
|
||||
var submitURL = "index.php/ijkpartituur/partituur/opslaan_pleider";
|
||||
$.post(submitURL, submitDATA, function (data) {
|
||||
if (!data.status) {
|
||||
apprise(self.mes14, {
|
||||
animate: true
|
||||
});
|
||||
} else {
|
||||
if (data.email !== self.email() || self.email() === "") {
|
||||
screennaam = $("#DropPleider :selected").text();
|
||||
apprise(self.mes15+ ' ' + screennaam + '?', {
|
||||
'confirm': true,
|
||||
'textOk': self.lblja,
|
||||
'textCancel': self.lblnee,
|
||||
'animate': true
|
||||
}, function (response) {
|
||||
if (response) {
|
||||
self.email(data.email);
|
||||
self.opslaanEmail();
|
||||
}
|
||||
}); // einde if response en einde function response// einde apprise
|
||||
} // einde if dbEmail <> self.email
|
||||
}
|
||||
}, 'json'); // einde function succes en einde post
|
||||
},
|
||||
opslaanEmail: function () {
|
||||
var self = this;
|
||||
var submitData = {
|
||||
partituurID: self.partituurID(),
|
||||
email: self.email()
|
||||
};
|
||||
var submitURL = "index.php/ijkpartituur/partituur/opslaan_email";
|
||||
$.post(submitURL,
|
||||
submitData, function (succes) {});
|
||||
},
|
||||
saveDates: function () {
|
||||
var self = this;
|
||||
var vanDate = NedDatNaarDateObj(self.vandatum());
|
||||
var tmDate = NedDatNaarDateObj(self.tmdatum());
|
||||
if (vanDate == undefined) {
|
||||
vandate = new Date();
|
||||
}
|
||||
if (isNaN(vanDate.getTime())) {
|
||||
vanDate = new Date();
|
||||
apprise(self.mes8, {
|
||||
"textOK": 'OK'
|
||||
});
|
||||
self.vandatum(DateNaarNedDat(vanDate));
|
||||
}
|
||||
if (isNaN(tmDate.getTime())) {
|
||||
tmDate.setTime(vanDate.getTime());
|
||||
tmDate.setFullYear(vanDate.getFullYear() + 1);
|
||||
apprise(self.mes9, {
|
||||
"textOK": 'OK'
|
||||
});
|
||||
self.tmdatum(DateNaarNedDat(tmDate));
|
||||
}
|
||||
|
||||
if (vanDate.getTime() > tmDate.getTime()) {
|
||||
apprise(self.mes5, {
|
||||
verify: true,
|
||||
textYes: self.mes6,
|
||||
textNo: self.mes7,
|
||||
}, function (ans) {
|
||||
if (ans) {
|
||||
vanDate = new Date((tmDate.getFullYear() - 1), tmDate.getMonth(), tmDate.getDate());
|
||||
} else {
|
||||
tmDate = new Date(vanDate.getFullYear() + 1, vanDate.getMonth(), vanDate.getDate());
|
||||
}
|
||||
self.vandatum(DateNaarNedDat(vanDate));
|
||||
self.tmdatum(DateNaarNedDat(tmDate));
|
||||
self.fGoSaveData();
|
||||
}); // Apprise
|
||||
} // if
|
||||
else {
|
||||
self.fGoSaveData();
|
||||
}
|
||||
},
|
||||
fGoSaveData: function () {
|
||||
var self = ls.ModelPplan;
|
||||
var submitDATA = {
|
||||
partituurID: self.partituurID(),
|
||||
vandatum: self.vandatum(),
|
||||
tmdatum: self.tmdatum()
|
||||
};
|
||||
var submitURL = "index.php/ijkpartituur/partituur/opslaan_dates";
|
||||
$.post(submitURL, submitDATA, function (succes) {
|
||||
if (!succes) {
|
||||
return
|
||||
} else {
|
||||
if (succes.errorstr) {
|
||||
apprise(succes.errorstr, {
|
||||
'textOK': 'OK'
|
||||
}, function () {
|
||||
self.vandatum(succes.start);
|
||||
self.tmdatum(succes.eind);
|
||||
}); // apprise
|
||||
};
|
||||
};
|
||||
}, 'json');
|
||||
},
|
||||
// getNewPijler: function () {
|
||||
// // //functie getnew opent de popup om een nieuwe pijler te maken of een bestaande, eigen pijler
|
||||
// // // aan de set van pijlers in de partituur toe te voegen.
|
||||
// ls.ModelPplan.unpijlers.removeAll();
|
||||
// $.getJSON('index.php/ijkpartituur/partituur/get_unused_pijlers/' + this.partituurID(), function (upijlers) {
|
||||
// $.each(upijlers.unusedpijlers, function (i, p) {
|
||||
// ls.ModelPplan.unpijlers.push(p);
|
||||
// });
|
||||
// $("#lsOverlay").fadeIn(200, function () {
|
||||
// setDrag("#popNewPijler");
|
||||
// $('#popNewPijler').fadeIn();
|
||||
// });
|
||||
// }); // einde getJson
|
||||
// },
|
||||
|
||||
// VerwijderPijler: function () {
|
||||
// //delete wordt op twee manieren aangeroepen: vanuit hoofdpagina of vanuit de popup
|
||||
// //dit is de delete vanuit de popup. deze delete verwijderd dus de hele eigenpijler
|
||||
// // maar dat mag alleen als de pijler niet gebruikt wordt in een partituur
|
||||
// var self = this;
|
||||
// var delIDs = [];
|
||||
// $.each(self.unpselected(), function (i, p) {
|
||||
// delIDs[i] = p.id;
|
||||
// });
|
||||
// var submitDATA = {
|
||||
// eigenPijlerIds: delIDs,
|
||||
// partituurID: self.partituurID()
|
||||
// };
|
||||
// var submitURL = "index.php/ijkpartituur/partituur/del_eigen_pijlers";
|
||||
// $.post(submitURL,
|
||||
// submitDATA, function (data) {
|
||||
// if (data) {
|
||||
// self.unpijlers.removeAll();
|
||||
// self.unpijlers(data);
|
||||
// self.unpselected([]);
|
||||
// }
|
||||
// }, 'json');
|
||||
// },
|
||||
|
||||
delPijler: function () {
|
||||
// //delete wordt op twee manieren aangeroepen: vanuit hoofdpagina of vanuit de popup
|
||||
// //dit is de delete vanuit de hoofdpagina
|
||||
var self = this;
|
||||
var delIDs = [];
|
||||
$.each(self.eigenselected(), function (i, p) {
|
||||
delIDs[i] = p.id;
|
||||
});
|
||||
var submitDATA = {
|
||||
eigenPijlerIds: delIDs
|
||||
};
|
||||
var submitURL = "index.php/ijkpartituur/partituur/del_pijlers";
|
||||
$.post(submitURL,
|
||||
submitDATA, function (succes) {
|
||||
self.eigenpijlers.removeAll(self.eigenselected());
|
||||
self.eigenselected([]);
|
||||
}, 'json');
|
||||
},
|
||||
|
||||
DeletePartituur: function () {
|
||||
var self = ls.ModelPplan;
|
||||
apprise(self.mes16, {
|
||||
'confirm': true,
|
||||
'textOk': self.lblja,
|
||||
'textCancel': self.lblnee,
|
||||
'animate': true
|
||||
}, function (response) {
|
||||
if (response) {
|
||||
var submitURL = 'index.php/ijkpartituur/partituur/del_partituur/' + self.partituurID();
|
||||
$.post(submitURL, function (result) {
|
||||
self.ResetAll();
|
||||
self.partituurID(result);
|
||||
self.selectedPartituurID('');
|
||||
|
||||
if (result === false || result === undefined || result < 0 || result == "false" || result == null) {
|
||||
// if ($('#lsOverlay').css('display') == 'none') {
|
||||
// $("#lsOverlay").fadeIn();
|
||||
// }
|
||||
// setDrag("#popNewPartituur");
|
||||
// $('#popNewPartituur').fadeIn();
|
||||
self.MaakNieuwePartituur();
|
||||
} else {
|
||||
self.selectedPartituurID(result);
|
||||
self.refreshPijlers();
|
||||
}
|
||||
}); // einde post
|
||||
} // einde if
|
||||
} // einde function response
|
||||
); // einde apprise
|
||||
},
|
||||
|
||||
|
||||
// addPijler: function () {
|
||||
// var self = this;
|
||||
// if ((self.newPnaam() !== "") && (self.unpijlers.indexOf(self.newPnaam()) < 0) &&
|
||||
// (self.eigenpijlers.indexOf(self.newPnaam()) < 0)) {
|
||||
// var submitDATA = {
|
||||
// pijlernaam: self.newPnaam(),
|
||||
// partituurid: this.partituurID()
|
||||
// };
|
||||
// $.post('index.php/ijkpartituur/partituur/save_new_eigenpijler', submitDATA, function (data) {
|
||||
// if (!data.status) {
|
||||
// apprise('U kunt geen wijzigingen aanbrengen', {
|
||||
// animate: true
|
||||
// });
|
||||
// } else {
|
||||
// if (data.eigenpijlers) {
|
||||
// self.unpijlers(data.eigenpijlers);
|
||||
// }
|
||||
// self.newPnaam('');
|
||||
// }
|
||||
// }, 'json'); //einde getJson
|
||||
// }
|
||||
// },
|
||||
|
||||
// InvoegenPijler: function () {
|
||||
// var self = this;
|
||||
// var eigen = [];
|
||||
// $.each(self.unpselected(), function (i, p) {
|
||||
// eigen[i] = p.id;
|
||||
// }); // each
|
||||
// //now stuur de array met id naar de db om op te worden geslagen
|
||||
// var submitDATA = {
|
||||
// insertpijlerIDs: eigen,
|
||||
// partituurID: self.partituurID()
|
||||
// };
|
||||
// var submitURL = "index.php/ijkpartituur/partituur/insert_eigen_pijlers";
|
||||
// $.post(submitURL,
|
||||
// submitDATA, function (succes) {
|
||||
// if (succes) {
|
||||
// $.each(self.unpselected(), function (i, p) {
|
||||
// self.eigenpijlers.push(p);
|
||||
// }); // each
|
||||
// } // einde if succes
|
||||
// } //einde function succes
|
||||
// ); // einde post
|
||||
// self.ClosePopUp();
|
||||
// }, // einde functie invoegen
|
||||
|
||||
ClosePopUp: function (welke) {
|
||||
var self = ls.ModelPplan
|
||||
$("#lsOverlay").fadeOut();
|
||||
if (ls.ModelPplan.partituurID() === undefined || ls.ModelPplan.partituurID() == 'false') {
|
||||
apprise(self.mes3, {}, function () {
|
||||
$.post("index.php/shared/portal/naarmodule/0" , function(){
|
||||
location.reload();
|
||||
});
|
||||
}); // apprise
|
||||
} // if undefined
|
||||
$("#popNewPartituur").hide();
|
||||
},
|
||||
|
||||
OpslaanNew: function () {
|
||||
if (!newPart) return;
|
||||
newPart = false;
|
||||
var self = this;
|
||||
wtekst = '';
|
||||
|
||||
if (self.newPartituurNaam() <= "" || self.newPartituurNaam() === undefined) {
|
||||
wtekst = self.lbl1 + "; ";
|
||||
}
|
||||
if (self.newvandatum() === undefined) {
|
||||
wtekst +=self.lbl2 + "; ";
|
||||
}
|
||||
if (self.newtotdatum() === undefined) {
|
||||
wtekst += self.lbl3 + "; ";
|
||||
}
|
||||
|
||||
|
||||
if (wtekst > "") {
|
||||
apprise(self.mes4 + wtekst, {
|
||||
'textOk': 'OK'
|
||||
}, function (response) {
|
||||
newPart = true;
|
||||
return;
|
||||
} // einde function response
|
||||
); // einde apprise
|
||||
} // einde if wtekst
|
||||
else {
|
||||
//else 1
|
||||
var vanDate = NedDatNaarDateObj(self.newvandatum());
|
||||
var tmDate = NedDatNaarDateObj(self.newtotdatum());
|
||||
|
||||
if (vanDate.getTime() > tmDate.getTime()) {
|
||||
apprise(self.mes5, {
|
||||
verify: true,
|
||||
textYes: self.mes6,
|
||||
textNo: self.mes7,
|
||||
}, function (ans) {
|
||||
if (ans) {
|
||||
vanDate = new Date((tmDate.getFullYear() - 1), tmDate.getMonth(), tmDate.getDate());
|
||||
} else {
|
||||
tmDate = new Date(vanDate.getFullYear() + 1, vanDate.getMonth(), vanDate.getDate());
|
||||
}
|
||||
self.newvandatum(DateNaarNedDat(vanDate));
|
||||
self.newtotdatum(DateNaarNedDat(tmDate));
|
||||
self.fMaakNewPartituur();
|
||||
});
|
||||
}
|
||||
// dan nu opslaan van de gegevens naar de server
|
||||
else {
|
||||
// else 2
|
||||
self.fMaakNewPartituur();
|
||||
} // else 2
|
||||
} // einde else1
|
||||
newPart = true;
|
||||
},
|
||||
fMaakNewPartituur: function () {
|
||||
var self = ls.ModelPplan;
|
||||
var scoreArray = ko.toJS(self.schoolmeterpijlers);
|
||||
var oldID=null ;
|
||||
if (ls.ModelPplan.partituurID()){oldID = ls.ModelPplan.partituurID() };
|
||||
var submitData = {
|
||||
oldpartituur: oldID,
|
||||
naam: self.newPartituurNaam(),
|
||||
vandatum: self.newvandatum(),
|
||||
tmdatum: self.newtotdatum(),
|
||||
versieid : self.selectedVersie().versieid,
|
||||
ovid : self.selectedVersie().ovid
|
||||
};
|
||||
|
||||
var submitURL = "index.php/ijkpartituur/partituur/nieuwe_partituur";
|
||||
$.post(submitURL, submitData, function (succes) {
|
||||
self.partituurID(succes.id);
|
||||
ls.ModelPplan.ResetAll();
|
||||
|
||||
ls.ModelPplan.refreshPijlers(succes.id);
|
||||
// reset te velden van pop up
|
||||
self.newPartituurNaam('');
|
||||
self.newvandatum('');
|
||||
self.newtotdatum('');
|
||||
self.ClosePopUp('partituur');
|
||||
}, 'json'); // einde post
|
||||
}
|
||||
};
|
||||
ls.ModelPplan.minSomGewenst = ko.computed(function () {
|
||||
var self = ls.ModelPplan;
|
||||
var max = 0;
|
||||
var min = 0;
|
||||
var gem = 0;
|
||||
$.each(self.pijlers(), function (i, p) {
|
||||
min = min + CodeNaarMinScore(p.gewenst());
|
||||
max = max + CodeNaarMaxScore(p.gewenst());
|
||||
});
|
||||
gem = (min + max) / 2;
|
||||
self.maxSomGewenst(max);
|
||||
self.profielGewenst(ScoreNaarProfiel(gem));
|
||||
self.profielGewenstMax(ScoreNaarProfiel(max));
|
||||
self.GemSomGewenst(gem);
|
||||
return min;
|
||||
});
|
||||
|
||||
ls.ModelPplan.WijzigStatus = ko.computed(function () {
|
||||
return this.gewenstgewijzigd() ? "gewijzigd" : "ongewijzigd";
|
||||
}, ls.ModelPplan);
|
||||
ls.ModelPplan.InitValues();
|
||||
ko.applyBindings(ls.ModelPplan, document.getElementById("pijler-pagina"));
|
||||
appliedBindings = true;
|
||||
}
|
||||
|
||||
function getRuwescores(){
|
||||
return;
|
||||
var self = ls.ModelPplan;
|
||||
$.getJSON('index.php/ijkpartituur/partituur/get_ruwe_sopscore', function (data) {
|
||||
$.each(data, function(i,p){
|
||||
if(p.id!='Status'){
|
||||
var curPijler = ko.utils.arrayFirst(self.schoolmeterpijlers(), function(item) {
|
||||
return item.id==p.id;
|
||||
});
|
||||
if(curPijler) curPijler.score(p.value);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
$('#DragTable').draggable();
|
||||
|
||||
});
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,103 @@
|
||||
$(function () {
|
||||
var appliedBindings = false;
|
||||
if (ls.ModelPopToonHulp !== undefined) {
|
||||
ls.ModelPopToonHulp.InitValues(hulpID, wat, callModel);
|
||||
} else {
|
||||
ls.ModelPopToonHulp = {
|
||||
pijlernaam : ko.observable(),
|
||||
omschrijving : ko.observable(),
|
||||
opmerkingen : ko.observable(),
|
||||
filenaam : ko.observable(),
|
||||
bron : ko.observable(),
|
||||
typeOrg : ko.observable(),
|
||||
activiteiten : ko.observableArray([]),
|
||||
setup : ko.observable(1),
|
||||
hulpmiddelen : ko.observableArray([]),
|
||||
fromModel : ko.observable(''),
|
||||
documenten : ko.observableArray([]),
|
||||
|
||||
InitValues: function (hulpID, wat, callModel) {
|
||||
// wat 1= toon 1 hulpmiddel/geen select
|
||||
// wat 2 = toon 1 hulpmiddel/select
|
||||
// wat 3 = toon alle hulpmiddelene/geen select
|
||||
//wat 4 = toon alle hulpmiddelen/select
|
||||
var self = ls.ModelPopToonHulp;
|
||||
self.setup(wat);
|
||||
self.fromModel(callModel);
|
||||
self.hulpmiddelen.removeAll();
|
||||
if (hulpID > -1) {
|
||||
if (self.setup() < 3) {
|
||||
if (hulpID > 0) {
|
||||
self.fGetMiddelInfo(hulpID);
|
||||
}
|
||||
} else {
|
||||
if (self.fromModel()=="ls.ModelPlanning") {
|
||||
var submitData={ pijlerID : ls.ModelPlanning.taak().pijlerID,
|
||||
taakID : ls.ModelPlanning.taak().taakID};
|
||||
$.post("index.php/ijkpartituur/hulpmiddelen/getSelectedHulpmiddelen", submitData,function (data) {
|
||||
$.each(data, function (i, p) {
|
||||
self.hulpmiddelen.push(p);
|
||||
}); // each
|
||||
if (data) {
|
||||
if (hulpID === 0) { hulpID = data[0].id; }
|
||||
$("#liH" + hulpID).click();
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
else {
|
||||
$.post("index.php/ijkpartituur/hulpmiddelen/getAlleHulpmiddelen", function (data) {
|
||||
$.each(data, function (i, p) {
|
||||
self.hulpmiddelen.push(p);
|
||||
}); // each
|
||||
if (data) {
|
||||
if (hulpID === 0) { hulpID = data[0].id; }
|
||||
$("#liH" + hulpID).click();
|
||||
}
|
||||
}, 'json');
|
||||
};
|
||||
} // else
|
||||
} //if
|
||||
}, //init values
|
||||
fGetMiddelInfo: function (hulpID) {
|
||||
var self = ls.ModelPopToonHulp;
|
||||
var sd={middelID: hulpID}
|
||||
$.post("index.php/ijkpartituur/hulpmiddelen/getMiddelInfo" ,sd, function (data) {
|
||||
self.pijlernaam(data.middelen[0].pijlernaam);
|
||||
self.omschrijving(data.middelen[0].omschrijving);
|
||||
self.opmerkingen(data.middelen[0].opmerkingen);
|
||||
self.filenaam(data.middelen[0].filenaam);
|
||||
self.bron(data.middelen[0].bron);
|
||||
self.typeOrg(data.middelen[0].soort);
|
||||
self.activiteiten(data.activiteiten);
|
||||
self.documenten(data.documenten);
|
||||
}, 'json'); //data
|
||||
},
|
||||
fSelectMiddel: function () {
|
||||
var self = ls.ModelPopToonHulp;
|
||||
var hID = "#liH" + this.id;
|
||||
$(".liHulp").removeClass("lsLiSelected");
|
||||
$(hID).addClass("lsLiSelected");
|
||||
self.fGetMiddelInfo(this.id);
|
||||
},
|
||||
fDownload: function () {
|
||||
alert('under construction');
|
||||
},
|
||||
fSelecteerHulp: function () {
|
||||
var self = ls.ModelPopToonHulp;
|
||||
var uitID = $(".lsLiSelected").attr("id").substr(3);
|
||||
$('#popToonHulp').fadeOut();
|
||||
if (self.fromModel() == "ls.ModelPlanning") {
|
||||
ls.ModelPlanning.fHulpmiddelSelected(uitID);
|
||||
}
|
||||
},
|
||||
downloadDocument: function(){
|
||||
tw.downLoadDocument(this.id);
|
||||
}
|
||||
}; //modelPopToonHulp
|
||||
} // else
|
||||
|
||||
|
||||
ls.ModelPopToonHulp.InitValues(-1, 1, '');
|
||||
ko.applyBindings(ls.ModelPopToonHulp, document.getElementById("popToonHulp"));
|
||||
appliedBindings = true;
|
||||
});
|
||||
@@ -0,0 +1,393 @@
|
||||
$(function () {
|
||||
var appliedBindings = false;
|
||||
var dontask = false;
|
||||
|
||||
fNiveau = function (p) {
|
||||
this.actief = ko.observable(p.actief);
|
||||
this.id = ko.observable(p.id);
|
||||
this.nummer = ko.observable(p.nummer);
|
||||
this.omschrijving = ko.observable(p.omschrijving);
|
||||
};
|
||||
|
||||
fPijlers = function (p) {
|
||||
this.fw_versie = p.fw_versie;
|
||||
this.id = p.id;
|
||||
this.volgorde = ko.observable(p.volgorde);
|
||||
this.pijlernaam = ko.observable(p.naam);
|
||||
this.waarde = ko.observable();
|
||||
this.profielID = ko.observable();
|
||||
};
|
||||
|
||||
fVersies = function (p) {
|
||||
this.datum = p.datum;
|
||||
this.omschrijving = p.omschrijving;
|
||||
this.id = p.id;
|
||||
this.vastgelegd = p.vastgelegd;
|
||||
};
|
||||
|
||||
ls.initProfielen = function(){
|
||||
|
||||
if (ls.ModelProfielen !== undefined) {
|
||||
|
||||
} else {
|
||||
ls.ModelProfielen = {
|
||||
versies : ko.observableArray([]),
|
||||
selectedVersieID: ko.observable(),
|
||||
selectedVersie : ko.observable(),
|
||||
newOmschrijving : ko.observable(),
|
||||
newDatum : ko.observable(),
|
||||
copyPrevious : ko.observable('true'),
|
||||
niveaus : ko.observableArray([]),
|
||||
selectedProfiel : ko.observableArray([]),
|
||||
selectedNiveauID: ko.observable(),
|
||||
pijlers : ko.observableArray([]),
|
||||
newProfiel : ko.observable(true),
|
||||
test : ko.observable(),
|
||||
omschrijving : ko.observable(),
|
||||
selectedRow : ko.observable(),
|
||||
newNiveaunaam : ko.observable(),
|
||||
newNiveaunummer : ko.observable(),
|
||||
newPijlernaam : ko.observable(''),
|
||||
kleurcodes : ko.observable(),
|
||||
|
||||
InitValues: function () {
|
||||
var self = ls.ModelProfielen;
|
||||
self.versies.removeAll();
|
||||
self.niveaus.removeAll();
|
||||
self.pijlers.removeAll();
|
||||
|
||||
$.post('index.php/ijkpartituur/nivoprofielen/GetAll/0', function (data) {
|
||||
$.each(data.versies, function (i, p) {
|
||||
self.versies.push(new fVersies(p));
|
||||
}); // each versies
|
||||
|
||||
$.each(data.niveaus, function (i, p) {
|
||||
self.niveaus.push(new fNiveau(p));
|
||||
});
|
||||
|
||||
$.each(data.pijlers, function (i, p) {
|
||||
self.pijlers.push(new fPijlers(p));
|
||||
});
|
||||
if (!$.isEmptyObject(self.niveaus())) {
|
||||
self.selectedNiveauID(self.niveaus()[0].id());
|
||||
self.selectedRow(self.niveaus()[0].id());
|
||||
self.fGetPijlerprofiel(self.selectedNiveauID());
|
||||
}
|
||||
self.kleurcodes(data.kleurcodes);
|
||||
}, 'json');
|
||||
},
|
||||
|
||||
setVersie: function () {
|
||||
var self = ls.ModelProfielen;
|
||||
$.each(self.versies(), function (i, versie) {
|
||||
if (versie.id == self.selectedVersieID()) {
|
||||
self.selectedVersie(versie);
|
||||
} // if
|
||||
}); // each
|
||||
|
||||
$.post('index.php/ijkpartituur/nivoprofielen/GetAll/' + self.selectedVersieID(), function (data) {
|
||||
self.niveaus.removeAll();
|
||||
$.each(data.niveaus, function (i, p) {
|
||||
self.niveaus.push(new fNiveau(p));
|
||||
});
|
||||
self.pijlers.removeAll();
|
||||
$.each(data.pijlers, function (i, p) {
|
||||
self.pijlers.push(new fPijlers(p));
|
||||
});
|
||||
if (!$.isEmptyObject(self.niveaus())) {
|
||||
self.selectedNiveauID(self.niveaus()[0].id());
|
||||
self.selectedRow(self.niveaus()[0].id());
|
||||
self.fGetPijlerprofiel(self.selectedNiveauID());
|
||||
}
|
||||
}, 'json');
|
||||
},
|
||||
fNieuweVersie: function () {
|
||||
var self = ls.ModelProfielen;
|
||||
var naam = '';
|
||||
// een nieuwe versie is alleen toegestaan als er geen nog niet vastgelegde versies zijn
|
||||
$.each(self.versies(), function (i, v) {
|
||||
if (v.vastgelegd === 0) {
|
||||
naam = v.omschrijving;
|
||||
}
|
||||
});
|
||||
if (naam.length > 0) {
|
||||
apprise(naam + " is nog niet vastgelegd. U kunt geen nieuwe versie aanmaken.");
|
||||
return;
|
||||
} else {
|
||||
self.newOmschrijving("");
|
||||
self.newDatum("");
|
||||
if ($('#lsOverlay').css('display') == 'none') {
|
||||
$("#lsOverlay").fadeIn();
|
||||
}
|
||||
setDrag("#popNewVersie");
|
||||
$('#popNewVersie').fadeIn();
|
||||
}
|
||||
},
|
||||
fAskVast: function () {
|
||||
var self = ls.ModelProfielen;
|
||||
if (self.selectedVersie().vastgelegd === 0) {
|
||||
apprise("Weet u zeker dat u " + self.selectedVersie().omschrijving + " wilt vastleggen?", {
|
||||
'verify': true,
|
||||
textYes: 'ja',
|
||||
textNo: 'nee'
|
||||
}, function (ans) {
|
||||
if (!ans) {
|
||||
$("#cbVastgelegd").attr('checked', false);
|
||||
} else {
|
||||
ls.ModelProfielen.fVersieOpslaan();
|
||||
return true;
|
||||
}
|
||||
}); //apprise
|
||||
}
|
||||
},
|
||||
|
||||
fGetPijlerprofiel: function (Nivo) {
|
||||
var self = ls.ModelProfielen;
|
||||
self.selectedProfiel();
|
||||
|
||||
$.post('index.php/ijkpartituur/nivoprofielen/getPijlerprofiel/' + Nivo, function (data) {
|
||||
self.selectedProfiel(data.pijlerprofiel);
|
||||
// reset de waarde
|
||||
$.each(self.pijlers(), function (j, k) {
|
||||
k.waarde(0);
|
||||
k.profielID(0);
|
||||
self.newProfiel(true);
|
||||
}); // each
|
||||
$.each(data.pijlerprofiel, function (i, p) {
|
||||
self.newProfiel(false);
|
||||
$.each(self.pijlers(), function (j, k) {
|
||||
if (k.id == p.pijlerID) {
|
||||
k.waarde(p.waarde);
|
||||
k.profielID(p.profielID);
|
||||
}
|
||||
}); // each pijlers
|
||||
});
|
||||
}, 'json');
|
||||
},
|
||||
fMaakVersie: function () {
|
||||
var self = ls.ModelProfielen;
|
||||
var copyJN = self.copyPrevious();
|
||||
var submitData = {
|
||||
omschrijving: self.newOmschrijving(),
|
||||
datum: self.newDatum()
|
||||
};
|
||||
$.post("index.php/ijkpartituur/nivoprofielen/saveNewVersion/" + copyJN, submitData,
|
||||
function (newVersie) {
|
||||
// select opnieuw vullen
|
||||
self.versies.unshift(new fVersies(newVersie.newVersie));
|
||||
self.selectedVersieID(newVersie.newVersie.id);
|
||||
self.setVersie();
|
||||
}, 'json');
|
||||
self.ClosePopUp();
|
||||
},
|
||||
fVersieOpslaan: function () {
|
||||
var vast;
|
||||
var self = ls.ModelProfielen;
|
||||
if ($("#cbVastgelegd").attr('checked')) self.selectedVersie().vastgelegd = 1;
|
||||
else self.selectedVersie().vastgelegd = 0;
|
||||
var submitData = {
|
||||
omschrijving: self.selectedVersie().omschrijving,
|
||||
datum: self.selectedVersie().datum,
|
||||
vastgelegd: self.selectedVersie().vastgelegd,
|
||||
id: self.selectedVersie().id
|
||||
};
|
||||
$.post("index.php/ijkpartituur/nivoprofielen/saveVersion", submitData, function () {
|
||||
//nu de selectboxwaarden nog aanpassen
|
||||
$.each(self.versies(), function (i, versie) {
|
||||
if (versie.id == self.selectedVersie().id) {
|
||||
versie.omschrijving = self.selectedVersie().omschrijving;
|
||||
versie.datum = self.selectedVersie().datum;
|
||||
versie.vastgelegd = self.selectedVersie().vastgelegd;
|
||||
}
|
||||
}); // each
|
||||
});
|
||||
},
|
||||
fDeleteVersie: function () {
|
||||
var vID = this.id;
|
||||
var self = ls.ModelProfielen;
|
||||
apprise("Weet u zeker dat u " + self.selectedVersie().omschrijving + " wilt verwijderen?", {
|
||||
verify: true,
|
||||
textYes: 'ja',
|
||||
textNo: 'nee'
|
||||
}, function (ans) {
|
||||
if (ans) {
|
||||
$.post('index.php/ijkpartituur/nivoprofielen/deleteVersion/' + vID, function () {
|
||||
self.versies.remove(function (item) {
|
||||
return item.id == vID;
|
||||
});
|
||||
}); // post
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
ClosePopUp: function () {
|
||||
$("#lsOverlay").fadeOut();
|
||||
$('.popup').fadeOut();
|
||||
},
|
||||
fProfielOpslaan: function () {
|
||||
var self = ls.ModelProfielen;
|
||||
var pijlerArray = [];
|
||||
$.each(self.pijlers(), function (i, p) {
|
||||
if (p.waarde() === 0) {
|
||||
apprise("Pijler " + p.pijlernaam() + " is nog niet ingevuld");
|
||||
pijlerArray = [];
|
||||
return false;
|
||||
} else {
|
||||
pijlerArray.push({
|
||||
profielID: p.profielID(),
|
||||
pijlerID: p.id,
|
||||
waarde: p.waarde()
|
||||
});
|
||||
}
|
||||
});
|
||||
if (pijlerArray.length <= 0) return;
|
||||
var submitData = {
|
||||
niveauID: self.selectedNiveauID(),
|
||||
pijlerwaarden: pijlerArray
|
||||
};
|
||||
$.post("index.php/ijkpartituur/nivoprofielen/savePijlerProfiel", submitData);
|
||||
},
|
||||
fNieuwNiveau: function () {
|
||||
var self = ls.ModelProfielen;
|
||||
self.newNiveaunaam("");
|
||||
self.newNiveaunummer("");
|
||||
if ($('#lsOverlay').css('display') == 'none') {
|
||||
$("#lsOverlay").fadeIn();
|
||||
}
|
||||
setDrag("#popNewNiveau");
|
||||
$('#popNewNiveau').fadeIn();
|
||||
},
|
||||
fMaakNiveau: function () {
|
||||
var self = ls.ModelProfielen;
|
||||
submitData = {
|
||||
omschrijving: self.newNiveaunaam(),
|
||||
nummer: self.newNiveaunummer(),
|
||||
versie: self.selectedVersieID
|
||||
};
|
||||
$.post('index.php/ijkpartituur/nivoprofielen/AddNiveau', submitData, function (data) {
|
||||
self.niveaus.push(new fNiveau(data));
|
||||
var newID = data.id;
|
||||
$("#tdNS" + newID).click();
|
||||
}, 'json');
|
||||
self.ClosePopUp();
|
||||
},
|
||||
fSaveNiveau: function () {
|
||||
var self = ls.ModelProfielen;
|
||||
var submitData = {
|
||||
id: this.id(),
|
||||
omschrijving: this.omschrijving(),
|
||||
nummer: this.nummer()
|
||||
};
|
||||
$.post("index.php/ijkpartituur/nivoprofielen/SaveNiveau", submitData);
|
||||
},
|
||||
fNieuwPijler: function () {
|
||||
var self = ls.ModelProfielen;
|
||||
self.newPijlernaam("");
|
||||
if ($('#lsOverlay').css('display') == 'none') {
|
||||
$("#lsOverlay").fadeIn();
|
||||
}
|
||||
setDrag("#popMaakNewPijler");
|
||||
$('#popMaakNewPijler').fadeIn();
|
||||
},
|
||||
fAddPijler: function () {
|
||||
var self = ls.ModelProfielen;
|
||||
var newVolgorde = parseInt(self.pijlers()[self.pijlers().length - 1].volgorde(),10) + 1;
|
||||
var nID = self.selectedNiveauID();
|
||||
if (self.newProfiel()) {
|
||||
nID = 0;
|
||||
}
|
||||
var submitData = {
|
||||
pijlernaam: self.newPijlernaam(),
|
||||
volgorde: newVolgorde,
|
||||
versie: self.selectedVersieID(),
|
||||
niveauID: nID
|
||||
};
|
||||
|
||||
$.post('index.php/ijkpartituur/nivoprofielen/AddPijler', submitData, function (data) {
|
||||
self.pijlers.push(new fPijlers(data));
|
||||
if (!self.newProfiel()) {
|
||||
self.pijlers()[self.pijlers().length - 1].waarde(1);
|
||||
self.pijlers()[self.pijlers().length - 1].profielID(data.profielID);
|
||||
} // if
|
||||
}, 'json');
|
||||
self.ClosePopUp();
|
||||
},
|
||||
fSavePijler: function () {
|
||||
var self = ls.ModelProfielen;
|
||||
var pID = this.id;
|
||||
var submitData = {
|
||||
id: pID,
|
||||
volgorde: this.volgorde(),
|
||||
naam: this.pijlernaam()
|
||||
};
|
||||
$.post("index.php/ijkpartituur/nivoprofielen/SavePijler", submitData);
|
||||
},
|
||||
fSaveProfiel: function () {
|
||||
var self = ls.ModelProfielen;
|
||||
var pID = this.id;
|
||||
if (this.profielID() > 0) {
|
||||
var submitData = {
|
||||
id: this.profielID(),
|
||||
waarde: this.waarde()
|
||||
};
|
||||
$.post('index.php/ijkpartituur/nivoprofielen/SaveProfiel', submitData);
|
||||
}
|
||||
},
|
||||
fDeletePijler: function () {
|
||||
var self = ls.ModelProfielen;
|
||||
var pID = this.id;
|
||||
apprise("Weet u zeker dat u pijler " + this.pijlernaam() + " wilt verwijderen? ", {
|
||||
verify: true,
|
||||
textYes: 'ja',
|
||||
textNo: 'nee'
|
||||
}, function (ans) {
|
||||
if (ans) {
|
||||
$.post("index.php/ijkpartituur/nivoprofielen/deletePijler/" + pID + '/' + self.selectedNiveauID());
|
||||
$.each(self.pijlers(), function (i, p) {
|
||||
if (p.id == pID) {
|
||||
self.pijlers.remove(p);
|
||||
return false;
|
||||
}
|
||||
}); // each
|
||||
} // if ans
|
||||
}); // apprise
|
||||
},
|
||||
fNiveauVerwijderen: function () {
|
||||
var self = ls.ModelProfielen;
|
||||
var niveauID = this.id();
|
||||
|
||||
apprise("Weet u zeker dat u niveau " + this.omschrijving() + " wilt verwijderen?", {
|
||||
'verify': true,
|
||||
textYes: 'ja',
|
||||
textNo: 'nee'
|
||||
}, function (ans) {
|
||||
if (ans) {
|
||||
$.post('index.php/ijkpartituur/nivoprofielen/DeleteNiveaus/' + niveauID, function () {
|
||||
self.niveaus.remove(function (item) {
|
||||
return item.id() == niveauID;
|
||||
}); //remove
|
||||
self.selectedRow('');
|
||||
self.selectedNiveauID('');
|
||||
}, 'json');
|
||||
} // if ans
|
||||
}); // apprise
|
||||
},
|
||||
fSelectNiveau: function () {
|
||||
var self = ls.ModelProfielen;
|
||||
self.selectedRow(this.id());
|
||||
self.selectedNiveauID(this.id());
|
||||
self.fGetPijlerprofiel(this.id()); // dit id moet verwijzen naar niveauID
|
||||
},
|
||||
fReturnTrue : function(){
|
||||
return true;
|
||||
}
|
||||
}; // einde model definitie
|
||||
ls.ModelProfielen.InitValues();
|
||||
ko.applyBindings(ls.ModelProfielen, document.getElementById("profiel-pagina"));
|
||||
appliedBindings = true;
|
||||
|
||||
} // else
|
||||
|
||||
};
|
||||
|
||||
}) // function
|
||||
@@ -0,0 +1,781 @@
|
||||
$(function(){
|
||||
|
||||
tw.initReports = function(callback){
|
||||
|
||||
Report = function(data){
|
||||
this.id = data.id;
|
||||
this.name = data.name;
|
||||
this.reportURL = ko.observable();
|
||||
this.functie = data.functie;
|
||||
}
|
||||
fBeeld = function (data){
|
||||
this.id = data.id;
|
||||
this.checked = ko.observable(true);
|
||||
this.naam = data.omschrijving;
|
||||
}
|
||||
fOrga = function (data){
|
||||
this.id = data.id;
|
||||
this.naamkort = data.naamkort;
|
||||
this.plaats = data.plaats;
|
||||
this.toon = ko.observable(data.toon);
|
||||
}
|
||||
fBG = function(data){
|
||||
this.id = data.id;
|
||||
this.naamkort =data.naamkort;
|
||||
this.plaats = data.plaats;
|
||||
this.toon = ko.observable(true);
|
||||
}
|
||||
fAddUser = function(data){
|
||||
this.id = data.id;
|
||||
this.fullname = data.fullname;
|
||||
}
|
||||
|
||||
if(tw.reportsModel!==undefined){
|
||||
tw.reportsModel.reportsInit();
|
||||
}else{
|
||||
// $.getJSON('index.php/ijkpartituur/reports', function(data){
|
||||
tw.reportsModel = {
|
||||
reports : ko.observableArray([]),
|
||||
selectedReport : ko.observable(),
|
||||
partituren : ko.observableArray([]),
|
||||
partituur : ko.observable(), // de actieve partituur maar dan ook met id etc
|
||||
selectedPartituur : ko.observable(),
|
||||
organisatiesIn : ko.observableArray([]),
|
||||
organisatiesUit : ko.observableArray([]),
|
||||
orgsIn : ko.observableArray([]),
|
||||
orgsUit : ko.observableArray([]),
|
||||
BGsIn : ko.observableArray([]),
|
||||
BGsUit : ko.observableArray([]),
|
||||
PijlersIn : ko.observableArray([]),
|
||||
PijlersUit : ko.observableArray([]),
|
||||
planningPijlers : ko.observableArray([]),
|
||||
planningSelPijler : ko.observable(),
|
||||
|
||||
selectedPijlersID : ko.observableArray([]),
|
||||
selectedPijler : ko.observable(),
|
||||
PaIn : ko.observableArray([]),
|
||||
PaUit : ko.observableArray([]),
|
||||
actievePartituur : ko.observable(),
|
||||
partituurvan : ko.observable(),
|
||||
partituurtot : ko.observable(),
|
||||
vandatum : ko.observable(),
|
||||
tmdatum : ko.observable(),
|
||||
ExtraCriteria : ko.observable(),
|
||||
PrintAgenda : ko.observable(false),
|
||||
beeld : ko.observableArray([]),
|
||||
layout : ko.observable("portrait"),
|
||||
welkrapport : ko.observable(1),
|
||||
periode : ko.observable(2),
|
||||
filtervalue : ko.observable(),
|
||||
filtervalue2 : ko.observable(),
|
||||
PijlerNul : ko.observable(false),
|
||||
schermlabel : ko.observable(),
|
||||
checkTekst : ko.observable(),
|
||||
checkTekst2 : ko.observable("Toon details"),
|
||||
ToonDetails : ko.observable(true),
|
||||
lsmousedown : ko.observable(false),
|
||||
maUsersIn : ko.observableArray([]),
|
||||
maUsersUit : ko.observableArray([]),
|
||||
|
||||
|
||||
reportsInit : function(){
|
||||
var self = tw.reportsModel;
|
||||
$.post("index.php/ijkpartituur/reports/getBeelden",function(data){
|
||||
self.beeld.removeAll();
|
||||
$.each(data.beelden, function(i,p){
|
||||
self.beeld.push(new fBeeld(p));
|
||||
});
|
||||
},'json');
|
||||
$.post("index.php/ijkpartituur/reports", function(results){
|
||||
self.reports.removeAll();
|
||||
$.each(results.reports, function(i, p){
|
||||
self.reports.push(new Report(p));
|
||||
});
|
||||
|
||||
self.actievePartituur('');
|
||||
$.post("index.php/ijkpartituur/reports/getPartituren",function(data){
|
||||
self.partituren.removeAll();
|
||||
$.each(data, function(i,p){
|
||||
self.partituren.push(p);
|
||||
if (p.actief) {self.selectedPartituur(p.id)}
|
||||
})
|
||||
},'json');
|
||||
self.selectedReport(self.reports()[0].functie);
|
||||
$("#" + self.reports()[0].functie).addClass("selected");
|
||||
self.fToonOpties();
|
||||
},'json');
|
||||
} ,
|
||||
fToonOptiesStart : function(){
|
||||
var self=tw.reportsModel;
|
||||
self.selectedReport(this.functie);
|
||||
self.fToonOpties();
|
||||
},
|
||||
fToonOpties : function(){
|
||||
var self=tw.reportsModel;
|
||||
self.layout("portrait");
|
||||
$(".ReportAlg").removeClass("selected");
|
||||
$("#"+ self.selectedReport() ).addClass("selected");
|
||||
if(self.selectedReport() =='mensactief' || self.selectedReport() =='mensen'){
|
||||
$.post('index.php/ijkpartituur/reports/getUsers',function(data){
|
||||
self.maUsersIn.removeAll();
|
||||
self.maUsersUit.removeAll();
|
||||
$.each(data, function(i,p){
|
||||
self.maUsersIn.push(p);
|
||||
});
|
||||
},'json');
|
||||
self.partituur('');
|
||||
$.post("index.php/ijkpartituur/reports/getActievePartituur", function(data){
|
||||
self.partituur(data);
|
||||
|
||||
if (self.partituurvan()== undefined){
|
||||
self.partituurvan(data.partituur_start);
|
||||
self.partituurtot(data.partituur_eind);
|
||||
}
|
||||
if(self.periode() == undefined){self.periode(2);}
|
||||
},'json');
|
||||
}
|
||||
if (self.selectedReport()=='activiteiten'){
|
||||
$.post("index.php/ijkpartituur/reports/getPartituren",function(data){
|
||||
self.partituren.removeAll();
|
||||
$.each(data, function(i,p){
|
||||
self.partituren.push(p);
|
||||
if (p.actief) {self.selectedPartituur(p.id)}
|
||||
}) ;
|
||||
self.fGetPijlers();
|
||||
},'json');
|
||||
};
|
||||
|
||||
if (self.selectedReport()== "schoolmeterscores"){
|
||||
$.post("index.php/ijkpartituur/reports/getOrgs",function(data){
|
||||
self.organisatiesIn.removeAll();
|
||||
self.organisatiesUit.removeAll();
|
||||
$.each(data, function(i,p){
|
||||
self.organisatiesIn.push(p)
|
||||
}) ;
|
||||
var vandatum = new Date();
|
||||
var tmdatum = new Date();
|
||||
vandatum.setYear(tmdatum.getFullYear() -1);
|
||||
self.vandatum(DateNaarNedDat(vandatum) );
|
||||
self.tmdatum(DateNaarNedDat(tmdatum) ) ;
|
||||
|
||||
//TODO bij orgs zouden eigenlijk alleen de IDs van de orgs moeten worden meegegeven
|
||||
},'json')
|
||||
}; // if self.selectedReport()= schoolmeterscores
|
||||
if (self.selectedReport()=="schoolbeelden" ||
|
||||
self.selectedReport()=="organisaties"){
|
||||
self.layout("landscape");
|
||||
};
|
||||
if (self.selectedReport()=="planning"){
|
||||
$.post("index.php/ijkpartituur/reports/getPartPijlers", function(data){
|
||||
self.planningPijlers.removeAll();
|
||||
self.actievePartituur('');
|
||||
self.planningSelPijler(0);
|
||||
self.partituurvan('');
|
||||
self.partituurtot('');
|
||||
self.selectedPijler('');
|
||||
if (data) {
|
||||
self.actievePartituur(data.partituur.partituur_naam);
|
||||
self.selectedPartituur(data.partituur.id)
|
||||
self.partituurvan(data.partituur.partituur_start);
|
||||
self.partituurtot(data.partituur.partituur_eind);
|
||||
$.each(data.pijlers, function(i,p){
|
||||
self.planningPijlers.push(p);
|
||||
});
|
||||
}
|
||||
},'json');
|
||||
};
|
||||
if(self.selectedReport() == "gebruikers"){
|
||||
$.post('index.php/ijkpartituur/reports/getOrganisaties', function(data){
|
||||
self.orgsIn.removeAll();
|
||||
self.orgsUit.removeAll();
|
||||
$.each(data, function(i,p){
|
||||
self.orgsIn.push(new fOrga(p));
|
||||
})
|
||||
},'json');
|
||||
};
|
||||
if (self.selectedReport()=="organisaties"){
|
||||
$.post('index.php/ijkpartituur/reports/getBGs', function(data){
|
||||
self.BGsIn.removeAll();
|
||||
self.BGsUit.removeAll();
|
||||
$.each(data,function(i,p){
|
||||
self.BGsIn.push(new fBG(p));
|
||||
})
|
||||
},'json');
|
||||
};
|
||||
if (self.selectedReport() == "sactiviteiten" ||
|
||||
self.selectedReport() =="inhouden"){
|
||||
$("#schatkist" ).addClass("selected");
|
||||
$.post('index.php/ijkpartituur/reports/getStandaardPijlers', function(data){
|
||||
self.PaIn.removeAll();
|
||||
self.PaUit.removeAll();
|
||||
$.each(data,function(i,p){
|
||||
self.PaIn.push(p);
|
||||
})
|
||||
},'json');
|
||||
if (self.selectedReport() == "sactiviteiten") {
|
||||
self.schermlabel("Totaaloverzicht activiteiten");
|
||||
self.checkTekst("inclusief activiteiten ingevoerd door gebruikers")
|
||||
}
|
||||
else { self.schermlabel("Kennisbank inhouden")
|
||||
self.checkTekst("inclusief inhouden ingevoerd door gebruikers") };
|
||||
}
|
||||
},
|
||||
|
||||
fPrintReport : function(){
|
||||
var self = tw.reportsModel;
|
||||
if (!self.selectedReport()) {return};
|
||||
if (self.selectedReport() == "planning" && self.actievePartituur() == "" ){
|
||||
apprise("Er is geen actieve partituur",{"textOK":"ok"}, function(){
|
||||
return;
|
||||
})
|
||||
return;
|
||||
}
|
||||
|
||||
self.fSetCriteria(self.selectedReport());
|
||||
|
||||
var submitData=JSON.stringify(self.ExtraCriteria() );
|
||||
var submitURL = "index.php/ijkpartituur/reports/PDF" +self.selectedReport() + "/1/1?data=" +submitData;
|
||||
window.open(submitURL);
|
||||
},
|
||||
|
||||
fSetCriteria : function(ReportType){
|
||||
var self =tw.reportsModel;
|
||||
self.ExtraCriteria({});
|
||||
if (ReportType == "mensen"){
|
||||
users = [];
|
||||
if (self.maUsersIn()){
|
||||
$.each(self.maUsersIn(), function(i,p){
|
||||
users[i]={id: p.id, fullname:p.fullname.replace(/'/g, "")} ;
|
||||
})
|
||||
}
|
||||
self.ExtraCriteria({
|
||||
partituur: self.partituur(),
|
||||
van : self.partituurvan(),
|
||||
tot : self.partituurtot(),
|
||||
periode: self.periode(),
|
||||
orgusers: users
|
||||
});
|
||||
return;
|
||||
};
|
||||
if (ReportType =='mensactief'){
|
||||
users = [];
|
||||
if (self.maUsersIn()){
|
||||
$.each(self.maUsersIn(), function(i,p){
|
||||
users[i]={id: p.id, fullname:p.fullname.replace(/'/g, "")} ;
|
||||
})
|
||||
}
|
||||
self.ExtraCriteria( {
|
||||
partituur: self.partituur(),
|
||||
orgusers : users
|
||||
});
|
||||
return;
|
||||
};
|
||||
if (ReportType == "activiteiten"){
|
||||
self.ExtraCriteria( { pijlers : self.selectedPijlersID(),
|
||||
Neepijlers : self.notselectedPijlers(),
|
||||
partituur : self.selectedPartituur(),
|
||||
agenda : self.PrintAgenda()});
|
||||
return;
|
||||
};
|
||||
if (ReportType =="schoolmeterscores"){
|
||||
var orgs = new Array();
|
||||
$.each(self.organisatiesIn(), function(i,p){
|
||||
orgs[i] = p.id;
|
||||
});
|
||||
self.ExtraCriteria( { vandatum : self.vandatum(),
|
||||
tmdatum : self.tmdatum(),
|
||||
orgs : orgs,
|
||||
NeeOrgs : self.notselectedOrgs() } );
|
||||
return;
|
||||
};
|
||||
if (ReportType=='eigenschoolbeeld'){
|
||||
self.ExtraCriteria({partituurID : self.selectedPartituur() });
|
||||
};
|
||||
if (ReportType=="schoolbeelden"){
|
||||
self.ExtraCriteria({beelden: self.beeldIDs()});
|
||||
}
|
||||
if (ReportType=='planning'){
|
||||
var pijler;
|
||||
if(self.welkrapport() == 2) {pijler=self.planningSelPijler()}
|
||||
else {pijler=0};
|
||||
self.ExtraCriteria({
|
||||
partituur : self.selectedPartituur(),
|
||||
vandatum : self.partituurvan(),
|
||||
totdatum : self.partituurtot(),
|
||||
periode : self.periode(),
|
||||
overzicht : self.welkrapport(),
|
||||
selectedPijler : pijler
|
||||
});
|
||||
};
|
||||
if (ReportType == "gebruikers"){
|
||||
var Inorgs = new Array();
|
||||
$.each(self.orgsIn(), function(i,p){
|
||||
if (p.toon()) {Inorgs.push(p.id)};
|
||||
});
|
||||
self.ExtraCriteria({orgs: Inorgs});
|
||||
};
|
||||
if (ReportType == "organisaties"){
|
||||
var Inorgs = new Array();
|
||||
$.each(self.BGsIn(), function(i,p){
|
||||
if (p.toon()) {Inorgs.push(p.id)};
|
||||
});
|
||||
self.ExtraCriteria({BGs: Inorgs});
|
||||
};
|
||||
if(ReportType=="sactiviteiten" ||
|
||||
ReportType =="inhouden"){
|
||||
var Inpijlers= new Array();
|
||||
$.each(self.PaIn(), function(i,p){
|
||||
Inpijlers.push(p.id);
|
||||
});
|
||||
self.ExtraCriteria({pijlers: Inpijlers,
|
||||
pijlerNul: self.PijlerNul(),
|
||||
details: self.ToonDetails()});
|
||||
};
|
||||
|
||||
},
|
||||
|
||||
fToonOpScherm : function(){
|
||||
var self = tw.reportsModel;
|
||||
if (!self.selectedReport()){return};
|
||||
if ((self.selectedReport() == "planning" && self.actievePartituur() == "") ||
|
||||
(self.selectedReport()=="mensactief" && self.partituur() == undefined) ||
|
||||
(self.selectedReport()=="mensen" && self.partituur()==undefined) ){
|
||||
apprise("Er is geen actieve partituur",{"textOK":"ok"}, function(){
|
||||
return;
|
||||
})
|
||||
return;
|
||||
}
|
||||
self.fSetCriteria(self.selectedReport());
|
||||
var submitData=JSON.stringify(self.ExtraCriteria() );
|
||||
var submitURL= "index.php/ijkpartituur/reports/PDF"+self.selectedReport()+"/0/0?data=" +submitData ;
|
||||
|
||||
$.get( submitURL, function(html){
|
||||
$(".PDFcontent").html(html)
|
||||
if ($('#lsOverlay').css('display') == 'none') {
|
||||
$("#lsOverlay").fadeIn(); }
|
||||
setDrag("#popPDF");
|
||||
$('#popPDF').fadeIn();
|
||||
}, 'html');
|
||||
},
|
||||
fSetSelectedIn : function(data,fromevent){
|
||||
var self = tw.reportsModel;
|
||||
if (fromevent.type != "click" ) {
|
||||
if (!self.lsmousedown()) {return};
|
||||
}
|
||||
var fullID = "#OrgIn" + this.id;
|
||||
if ($(fullID).hasClass("selected")){$(fullID).removeClass("selected")}
|
||||
else {$(fullID).addClass('selected')}
|
||||
},
|
||||
fSetSelectedUit : function(data,fromevent){
|
||||
var self = tw.reportsModel;
|
||||
if (fromevent.type != "click" ) {
|
||||
if (!self.lsmousedown()) {return};
|
||||
}
|
||||
var fullID = "#OrgUit" + this.id;
|
||||
if ($(fullID).hasClass("selected")){$(fullID).removeClass("selected")}
|
||||
else {$(fullID).addClass('selected')}
|
||||
},
|
||||
fNaarInclude : function(){
|
||||
var self = tw.reportsModel;
|
||||
var el;
|
||||
$(".cOrgUit.selected").each(function(i){
|
||||
var targetID = this.id.substring(6);
|
||||
el = ko.utils.arrayFirst(self.organisatiesUit(), function (item){
|
||||
if (item.id == targetID ) {return item}
|
||||
});
|
||||
self.organisatiesIn.push(el);
|
||||
self.organisatiesUit.remove(el);
|
||||
});
|
||||
},
|
||||
fUitInclude : function(){
|
||||
var self = tw.reportsModel;
|
||||
var el;
|
||||
$(".cOrgIn.selected").each(function(i){
|
||||
var targetID = this.id.substring(5);
|
||||
el = ko.utils.arrayFirst(self.organisatiesIn(), function (item){
|
||||
if (item.id == targetID ) {return item}
|
||||
});
|
||||
self.organisatiesUit.push(el);
|
||||
self.organisatiesIn.remove(el);
|
||||
});
|
||||
},
|
||||
fSetPijlSelectedIn : function(data,fromevent){
|
||||
var self = tw.reportsModel;
|
||||
if (fromevent.type != "click" ) {
|
||||
if (!self.lsmousedown()) {return};
|
||||
}
|
||||
var fullID = "#PijlIn" + this.id;
|
||||
if ($(fullID).hasClass("selected")){$(fullID).removeClass("selected")}
|
||||
else {$(fullID).addClass('selected')}
|
||||
},
|
||||
fSetPijlSelectedUit : function(data,fromevent){
|
||||
var self = tw.reportsModel;
|
||||
if (fromevent.type != "click" ) {
|
||||
if (!self.lsmousedown()) {return};
|
||||
}
|
||||
var fullID = "#PijlUit" + this.id;
|
||||
if ($(fullID).hasClass("selected")){$(fullID).removeClass("selected")}
|
||||
else {$(fullID).addClass('selected')}
|
||||
},
|
||||
fPijlNaarInclude : function(){
|
||||
var self = tw.reportsModel;
|
||||
var el;
|
||||
$(".cPijlerUit.selected").each(function(i){
|
||||
var targetID = this.id.substring(7);
|
||||
el = ko.utils.arrayFirst(self.PijlersUit(), function (item){
|
||||
if (item.id == targetID ) {
|
||||
return item}
|
||||
});
|
||||
self.PijlersIn.push(el);
|
||||
self.PijlersUit.remove(el);
|
||||
});
|
||||
},
|
||||
fPijlUitInclude : function(){
|
||||
var self = tw.reportsModel;
|
||||
var el;
|
||||
$(".cPijlerIn.selected").each(function(i){
|
||||
var targetID = this.id.substring(6);
|
||||
el = ko.utils.arrayFirst(self.PijlersIn(), function (item){
|
||||
if (item.id == targetID ) {return item}
|
||||
});
|
||||
self.PijlersUit.push(el);
|
||||
self.PijlersIn.remove(el);
|
||||
});
|
||||
},
|
||||
|
||||
fGetPijlers : function(){
|
||||
var self=tw.reportsModel;
|
||||
var partID = self.selectedPartituur();
|
||||
|
||||
if (partID == 'undefined' || partID == null || partID == 0) return;
|
||||
$.post("index.php/ijkpartituur/reports/getPijlers/" + partID, function(data){
|
||||
self.PijlersIn.removeAll();
|
||||
self.PijlersUit.removeAll();
|
||||
|
||||
$.each(data, function(i,p){
|
||||
self.PijlersIn.push(p);
|
||||
});
|
||||
},'json')
|
||||
},
|
||||
fSetOrgSelectedIn : function(data,fromevent){
|
||||
var self = tw.reportsModel;
|
||||
if (fromevent.type != "click" ) {
|
||||
if (!self.lsmousedown()) {return};
|
||||
}
|
||||
var fullID = "#OrgIn" + this.id;
|
||||
if ($(fullID).hasClass("selected")){$(fullID).removeClass("selected")}
|
||||
else {$(fullID).addClass('selected')}
|
||||
},
|
||||
fSetOrgSelectedUit : function(data,fromevent){
|
||||
var self = tw.reportsModel;
|
||||
if (fromevent.type != "click" ) {
|
||||
if (!self.lsmousedown()) {return};
|
||||
}
|
||||
var fullID = "#OrgUit" + this.id;
|
||||
if ($(fullID).hasClass("selected")){$(fullID).removeClass("selected")}
|
||||
else {$(fullID).addClass('selected')}
|
||||
},
|
||||
fSelectAllOrg : function(){
|
||||
var self = tw.reportsModel;
|
||||
$(".cOrgaIn").each(function () {$(this).addClass("selected") });
|
||||
},
|
||||
fDeselectAllOrg : function(){
|
||||
var self = tw.reportsModel;
|
||||
$(".cOrgaIn").each(function () {$(this).removeClass("selected") });
|
||||
},
|
||||
fSelectAllOrgUit : function(){
|
||||
var self = tw.reportsModel;
|
||||
$(".cOrgaUit").each(function () {$(this).addClass("selected") });
|
||||
},
|
||||
fDeselectAllOrgUit : function(){
|
||||
var self = tw.reportsModel;
|
||||
$(".cOrgaUit").each(function () {$(this).removeClass("selected") });
|
||||
},
|
||||
fOrgNaarInclude : function(){
|
||||
var self = tw.reportsModel;
|
||||
var el;
|
||||
$(".cOrgaUit.selected").each(function(i){
|
||||
var targetID = this.id.substring(6);
|
||||
el = ko.utils.arrayFirst(self.orgsUit(), function (item){
|
||||
if (item.id == targetID ) {
|
||||
return item}
|
||||
});
|
||||
self.orgsIn.push(el);
|
||||
self.orgsUit.remove(el);
|
||||
});
|
||||
},
|
||||
fOrgUitInclude : function(){
|
||||
var self = tw.reportsModel;
|
||||
var el;
|
||||
$(".cOrgaIn.selected").each(function(i){
|
||||
var targetID = this.id.substring(5);
|
||||
$(this).removeClass("selected");
|
||||
el = ko.utils.arrayFirst(self.orgsIn(), function (item){
|
||||
if (item.id == targetID ) {return item}
|
||||
});
|
||||
self.orgsUit.push(el);
|
||||
self.orgsIn.remove(el);
|
||||
});
|
||||
},
|
||||
fSetfilter : function() {
|
||||
var self = tw.reportsModel;
|
||||
var test = -1;
|
||||
|
||||
$.each( self.orgsIn(), function(i,p){
|
||||
string1= p.naamkort.toUpperCase()
|
||||
test=string1.indexOf(self.filtervalue().toUpperCase());
|
||||
if (self.filtervalue() == "") {test = 0};
|
||||
if (test > -1){p.toon(true)}
|
||||
else {p.toon(false)}
|
||||
});
|
||||
},
|
||||
fSetfilterUit : function() {
|
||||
var self = tw.reportsModel;
|
||||
var test = -1;
|
||||
|
||||
$.each( self.orgsUit(), function(i,p){
|
||||
string1= p.naamkort.toUpperCase()
|
||||
test=string1.indexOf(self.filtervalue2().toUpperCase());
|
||||
if (self.filtervalue2() == "") {test = 0};
|
||||
if (test > -1){p.toon(true)}
|
||||
else {p.toon(false)}
|
||||
});
|
||||
},
|
||||
fSetfilterInBG : function() {
|
||||
var self = tw.reportsModel;
|
||||
var test = -1;
|
||||
|
||||
$.each( self.BGsIn(), function(i,p){
|
||||
string1= p.naamkort.toUpperCase()
|
||||
test=string1.indexOf(self.filtervalue().toUpperCase());
|
||||
if (self.filtervalue() == "") {test = 0};
|
||||
if (test > -1){p.toon(true)}
|
||||
else {p.toon(false)}
|
||||
});
|
||||
},
|
||||
fSetfilterUitBG : function() {
|
||||
var self = tw.reportsModel;
|
||||
var test = -1;
|
||||
|
||||
$.each( self.BGsUit(), function(i,p){
|
||||
string1= p.naamkort.toUpperCase()
|
||||
test=string1.indexOf(self.filtervalue2().toUpperCase());
|
||||
if (self.filtervalue2() == "") {test = 0};
|
||||
if (test > -1){p.toon(true)}
|
||||
else {p.toon(false)}
|
||||
});
|
||||
},
|
||||
fSetBGSelectedIn : function(data,fromevent){
|
||||
var self = tw.reportsModel;
|
||||
if (fromevent.type != "click" ) {
|
||||
if (!self.lsmousedown()) {return};
|
||||
}
|
||||
var fullID = "#BGIn" + this.id;
|
||||
if ($(fullID).hasClass("selected")){$(fullID).removeClass("selected")}
|
||||
else {$(fullID).addClass('selected')}
|
||||
},
|
||||
fSetBGSelectedUit : function(data,fromevent){
|
||||
var self = tw.reportsModel;
|
||||
if (fromevent.type != "click" ) {
|
||||
if (!self.lsmousedown()) {return};
|
||||
}
|
||||
var fullID = "#BGUit" + this.id;
|
||||
if ($(fullID).hasClass("selected")){$(fullID).removeClass("selected")}
|
||||
else {$(fullID).addClass('selected')}
|
||||
},
|
||||
fSelectAllBG : function(){
|
||||
var self = tw.reportsModel;
|
||||
$(".cBGIn").each(function () {$(this).addClass("selected") });
|
||||
},
|
||||
fDeselectAllBG : function(){
|
||||
var self = tw.reportsModel;
|
||||
$(".cBGIn").each(function () {$(this).removeClass("selected") });
|
||||
},
|
||||
fSelectAllBGUit : function(){
|
||||
var self = tw.reportsModel;
|
||||
$(".cBGUit").each(function () {$(this).addClass("selected") });
|
||||
},
|
||||
fDeselectAllBGUit : function(){
|
||||
var self = tw.reportsModel;
|
||||
$(".cBGUit").each(function () {$(this).removeClass("selected") });
|
||||
},
|
||||
fBGNaarInclude : function(){
|
||||
var self = tw.reportsModel;
|
||||
var el;
|
||||
$(".cBGUit.selected").each(function(i){
|
||||
var targetID = this.id.substring(5);
|
||||
el = ko.utils.arrayFirst(self.BGsUit(), function (item){
|
||||
if (item.id == targetID ) {
|
||||
return item}
|
||||
});
|
||||
self.BGsIn.push(el);
|
||||
self.BGsUit.remove(el);
|
||||
});
|
||||
},
|
||||
fBGUitInclude : function(){
|
||||
var self = tw.reportsModel;
|
||||
var el;
|
||||
$(".cBGIn.selected").each(function(i){
|
||||
var targetID = this.id.substring(4);
|
||||
$(this).removeClass("selected");
|
||||
el = ko.utils.arrayFirst(self.BGsIn(), function (item){
|
||||
if (item.id == targetID ) {return item}
|
||||
});
|
||||
self.BGsUit.push(el);
|
||||
self.BGsIn.remove(el);
|
||||
});
|
||||
},
|
||||
|
||||
setMouseDown: function(){
|
||||
var self= tw.reportsModel;
|
||||
self.lsmousedown(true);
|
||||
},
|
||||
setMouseUp: function(){
|
||||
var self=tw.reportsModel;
|
||||
self.lsmousedown(false);
|
||||
},
|
||||
fSetPaSelectedIn : function(data,fromevent){
|
||||
var self = tw.reportsModel;
|
||||
if (fromevent.type != "click" ) {
|
||||
if (!self.lsmousedown()) {return};
|
||||
}
|
||||
var fullID = "#PaIn" + this.id;
|
||||
if ($(fullID).hasClass("selected")){$(fullID).removeClass("selected")}
|
||||
else {$(fullID).addClass('selected')}
|
||||
},
|
||||
fSetPaSelectedUit : function(data,fromevent){
|
||||
var self = tw.reportsModel;
|
||||
if (fromevent.type != "click" ) {
|
||||
if (!self.lsmousedown()) {return};
|
||||
}
|
||||
var fullID = "#PaUit" + this.id;
|
||||
if ($(fullID).hasClass("selected")){$(fullID).removeClass("selected")}
|
||||
else {$(fullID).addClass('selected')}
|
||||
},
|
||||
fPaNaarInclude : function(){
|
||||
var self = tw.reportsModel;
|
||||
var el;
|
||||
$(".cPaUit.selected").each(function(i){
|
||||
var targetID = this.id.substring(5);
|
||||
el = ko.utils.arrayFirst(self.PaUit(), function (item){
|
||||
if (item.id == targetID ) {
|
||||
return item}
|
||||
});
|
||||
self.PaIn.push(el);
|
||||
self.PaUit.remove(el);
|
||||
});
|
||||
},
|
||||
fPaUitInclude : function(){
|
||||
var self = tw.reportsModel;
|
||||
var el;
|
||||
$(".cPaIn.selected").each(function(i){
|
||||
var targetID = this.id.substring(4);
|
||||
$(this).removeClass("selected");
|
||||
el = ko.utils.arrayFirst(self.PaIn(), function (item){
|
||||
if (item.id == targetID ) {return item}
|
||||
});
|
||||
self.PaUit.push(el);
|
||||
self.PaIn.remove(el);
|
||||
});
|
||||
},
|
||||
|
||||
fSetMASelect : function(data,fromevent){
|
||||
var self = tw.reportsModel;
|
||||
if (fromevent.type != "click" ) {
|
||||
if (!self.lsmousedown()) {return};
|
||||
}
|
||||
if ($(fromevent.currentTarget).hasClass("selected")){$(fromevent.currentTarget).removeClass("selected")}
|
||||
else {$(fromevent.currentTarget).addClass('selected')}
|
||||
},
|
||||
|
||||
fMANaarInclude : function(){
|
||||
var self = tw.reportsModel;
|
||||
var el;
|
||||
$(".cMAUit.selected").each(function(i){
|
||||
var targetID = this.id.substring(3);
|
||||
el = ko.utils.arrayFirst(self.maUsersUit(), function (item){
|
||||
if (item.id == targetID ) {
|
||||
return item}
|
||||
});
|
||||
self.maUsersIn.push(el);
|
||||
self.maUsersUit.remove(el);
|
||||
});
|
||||
},
|
||||
fMAUitInclude : function(){
|
||||
var self = tw.reportsModel;
|
||||
var el;
|
||||
|
||||
$(".cMAIn.selected").each(function(i){
|
||||
var targetID = this.id.substring(3);
|
||||
el = ko.utils.arrayFirst(self.maUsersIn(), function (item){
|
||||
if (item.id == targetID ) {return item}
|
||||
});
|
||||
self.maUsersUit.push(el);
|
||||
self.maUsersIn.remove(el);
|
||||
});
|
||||
},
|
||||
|
||||
fReturnTrue : function(){
|
||||
return true;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
tw.reportsModel.enablebuttons = ko.computed(function(){
|
||||
var self = tw.reportsModel;
|
||||
if (self.selectedReport() == "schoolmeterscores"){
|
||||
if (self.organisatiesIn().length > 0) {return true}
|
||||
else {return false};
|
||||
}
|
||||
else {return true};
|
||||
});
|
||||
tw.reportsModel.selectedPijlersID = ko.computed(function(){
|
||||
var self = tw.reportsModel;
|
||||
var eenArray = [];
|
||||
$.each(self.PijlersIn(), function(){
|
||||
eenArray.push(this.id)
|
||||
})
|
||||
return eenArray;
|
||||
})
|
||||
tw.reportsModel.notselectedPijlers = ko.computed(function(){
|
||||
var self = tw.reportsModel;
|
||||
var eenArray = [];
|
||||
$.each(self.PijlersUit(), function(){
|
||||
eenArray.push(this.pijlerNaam);
|
||||
})
|
||||
return eenArray;
|
||||
})
|
||||
tw.reportsModel.notselectedOrgs = ko.computed(function(){
|
||||
var self = tw.reportsModel;
|
||||
var eenArray = [];
|
||||
$.each(self.organisatiesUit(), function(){
|
||||
eenArray.push(this.naamkort);
|
||||
})
|
||||
return eenArray;
|
||||
})
|
||||
|
||||
tw.reportsModel.beeldIDs = ko.computed(function(){
|
||||
var self = tw.reportsModel;
|
||||
var eenArray = [];
|
||||
$.each(self.beeld(), function(i,p){
|
||||
if (this.checked()){
|
||||
eenArray.push(this.id);
|
||||
}
|
||||
})
|
||||
return eenArray;
|
||||
})
|
||||
|
||||
|
||||
tw.reportsModel.reportsInit();
|
||||
|
||||
ko.applyBindings(tw.reportsModel, document.getElementById("page-overzichten"));
|
||||
//});
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,504 @@
|
||||
$(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;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
});
|
||||
@@ -0,0 +1,550 @@
|
||||
$(function () {
|
||||
var appliedBindings = false;
|
||||
var partituurID;
|
||||
var oldpijlerID;
|
||||
var vandaag = new Date();
|
||||
|
||||
fContent = function(daglijst){
|
||||
this.teller = daglijst.teller;
|
||||
this.dag = ko.observable(daglijst.dag);
|
||||
this.isVandaag = ko.computed(function() {
|
||||
if (ls.ModelAgenda.currentMaand().nummer() == vandaag.getMonth() &&
|
||||
ls.ModelAgenda.currentMaand().jaar() == vandaag.getFullYear() &&
|
||||
this.dag() == vandaag.getDate() ) {
|
||||
return true;
|
||||
}
|
||||
else {return false};
|
||||
|
||||
}, this);
|
||||
this.dagvanweek = ko.observable(daglijst.dagvanweek);
|
||||
this.events = ko.observableArray([]);
|
||||
};
|
||||
fAddEvent = function(data){
|
||||
this. id = data.id;
|
||||
this.owner = data.owner;
|
||||
this.toegang = ko.observable(data.toegang);
|
||||
this.wijzig = ko.observable(data.wijzig);
|
||||
this.schrijf = ko.observable(data.schrijf); // heeft deze gebruiker schrijfrechten
|
||||
//this.schrijf = ko.observable(false);
|
||||
this.pijlerID = ko.observable(data.pijlerID);
|
||||
this.activiteitID = ko.observable(data.activiteitID);
|
||||
this.activiteitNaam = ko.observable(data.actNaam);
|
||||
this.colorcode = ko.observable(data.colorcode);
|
||||
this.dag = ko.observable(data.dag);
|
||||
this.maand = ko.observable(data.maand);
|
||||
this.jaar = ko.observable(data.jaar);
|
||||
this.startUur = ko.observable(data.startUur);
|
||||
this.startMinuut = ko.observable(data.startMinuut);
|
||||
this.eindUur = ko.observable(data.eindUur);
|
||||
this.eindMinuut = ko.observable(data.eindMinuut);
|
||||
this.titel = ko.observable(data.titel);
|
||||
this.Atitel = ko.computed(function() {
|
||||
var uur = this.startUur();
|
||||
if (uur < 10) {uur= "0"+ uur}
|
||||
if (this.startMinuut() < 10){
|
||||
uur= uur + ':0' + this.startMinuut()+ ' ';
|
||||
}
|
||||
else {uur = uur + ":" + this.startMinuut() + ' '}
|
||||
return this.titel().length > 14 ? (uur + this.titel().substring(0,14) + '..') : uur+this.titel();
|
||||
},this); //korte titel voor maandoverzicht
|
||||
this.Info = ko.computed(function(){
|
||||
var uur = this.startUur();
|
||||
if (uur < 10) {uur= "0"+ uur}
|
||||
if (this.startMinuut() < 10){
|
||||
uur= uur + ':0' + this.startMinuut()+ '-' ;
|
||||
}
|
||||
else {uur = uur + ":" + this.startMinuut() + '-' }
|
||||
var uur2 = this.eindUur();
|
||||
if (uur2 < 10) {uur2= "0"+ uur2}
|
||||
if (this.eindMinuut() < 10){
|
||||
uur= uur + uur2 + ':0' + this.eindMinuut()+ ' ' + this.titel();
|
||||
}
|
||||
else {uur = uur +uur2 + ":" + this.eindMinuut() + ' ' + this.titel()}
|
||||
return uur;
|
||||
},this); // voor titel info als je hovert
|
||||
this.opmerking = ko.observable(data.opmerking);
|
||||
this.ChangeActiviteit=ko.observable(false);
|
||||
this.ChangePijler = ko.observable(false);
|
||||
}
|
||||
FcurrentDatum = function(data){
|
||||
this.dagen = ko.observable(data.dagen);
|
||||
this.nummer = ko.observable(data.nummer);
|
||||
this.naam = ko.observable(data.naam);
|
||||
this.jaar = ko.observable(data.jaar);
|
||||
}
|
||||
fVulPijlerset = function(data){
|
||||
this.id = data.id;
|
||||
this.naam = data.pijlerNaam;
|
||||
if (data.id > 0){
|
||||
this.start = data.start;
|
||||
this.eind = data.eind;
|
||||
}
|
||||
}
|
||||
fVulActiviteitenset = function(data) {
|
||||
this.id = data.id;
|
||||
this.naam = data.naam;
|
||||
if (data.id > 0){
|
||||
this.start = data.start;
|
||||
this.eind = data.eind;
|
||||
this.duur = data.duur;
|
||||
}
|
||||
}
|
||||
|
||||
if (ls.ModelAgenda !==undefined) {
|
||||
ls.ModelAgenda.InitValues();
|
||||
}
|
||||
else {
|
||||
ls.ModelAgenda = {
|
||||
|
||||
currentMaand : ko.observable(),
|
||||
Acontent : ko.observableArray([]),
|
||||
selectedContent : ko.observable(),
|
||||
Pijlerset : ko.observableArray([]),
|
||||
DagPijlerset : ko.observableArray([]), // alleen pijlers waarvan de begin en einddatum de geselecteerde datum omvatten
|
||||
selectedPijler : ko.observable(),
|
||||
selectedPijlerInDag : ko.observableArray([{id : ko.observable()} ]),
|
||||
Activiteitenset : ko.observableArray([]),
|
||||
DagActiviteitset : ko.observableArray([]),
|
||||
newDagActiviteitset : ko.observableArray([]),
|
||||
selectedActiviteit : ko.observable(),
|
||||
colorset : ko.observableArray([
|
||||
{naam: 'grijs', colorcode:"#f2f2f2"},
|
||||
{naam: 'paars', colorcode:"#dcc6db"},
|
||||
{naam: 'oranje', colorcode:"#f99443"},
|
||||
{naam: 'rood' , colorcode:"#ea656e"},
|
||||
{naam:'roze' , colorcode:"#fa8dc1"},
|
||||
{naam: 'wit', colorcode:"#ffffff"}
|
||||
]),
|
||||
NewAfspraak : ko.observable(),
|
||||
|
||||
InitValues : function() {
|
||||
var self = ls.ModelAgenda;
|
||||
var vandaag= new Date();
|
||||
var dageninmaand = GetDagen(vandaag.getMonth() + 1, vandaag.getFullYear())
|
||||
$.post("index.php/ijkpartituur/agenda/getPijlers", function(data){
|
||||
partituurID = data.partID;
|
||||
self.Pijlerset.removeAll();
|
||||
self.Pijlerset.push(new fVulPijlerset({id:0, pijlerNaam: "alle ijkpunten"}));
|
||||
$.each(data.pijlers, function(i,p){
|
||||
self.Pijlerset.push(new fVulPijlerset(p));
|
||||
});
|
||||
self.selectedPijler(0)
|
||||
}, 'json');
|
||||
self.currentMaand(new FcurrentDatum({
|
||||
nummer :vandaag.getMonth(),
|
||||
naam : maandArray[vandaag.getMonth()],
|
||||
dagen : dageninmaand,
|
||||
jaar : vandaag.getFullYear()
|
||||
})
|
||||
);
|
||||
|
||||
self.Acontent.removeAll();
|
||||
for (var m=0; m < 42 ; m ++){
|
||||
self.Acontent.push(new fContent({teller: m, dag: 0}));
|
||||
}
|
||||
self.fVulKalender();
|
||||
self.selectedContent(self.Acontent()[0])
|
||||
},
|
||||
|
||||
fVulKalender : function(){
|
||||
var self=ls.ModelAgenda;
|
||||
var firstDayofMonth = new Date(self.currentMaand().jaar(), self.currentMaand().nummer(), 1);
|
||||
var k= firstDayofMonth.getDay();
|
||||
var vandaag = new Date();
|
||||
|
||||
for (var i=1; i<=41; i++ ){
|
||||
self.Acontent()[i-1].dag(0);
|
||||
self.Acontent()[i-1].events.removeAll();
|
||||
}
|
||||
|
||||
if (k==0) {k=6}
|
||||
else {k= k -1}
|
||||
|
||||
for (var i=1; i <= self.currentMaand().dagen() ; i++){
|
||||
self.Acontent()[((i+k) - 1)].dag(i);
|
||||
}
|
||||
self.fFilter();
|
||||
//self.fGetActiviteiten();
|
||||
},
|
||||
fPlus : function(){
|
||||
if (!appliedBindings) {return};
|
||||
var self = ls.ModelAgenda;
|
||||
var datum = new Date(self.currentMaand().jaar(), (self.currentMaand().nummer() + 1), 1);
|
||||
self.currentMaand(new FcurrentDatum({
|
||||
nummer:datum.getMonth(),
|
||||
naam:maandArray[datum.getMonth()],
|
||||
dagen : GetDagen(datum.getMonth() + 1, datum.getFullYear()),
|
||||
jaar : datum.getFullYear()
|
||||
})
|
||||
);
|
||||
self.fVulKalender();
|
||||
},
|
||||
fMinus : function(){
|
||||
if (!appliedBindings) {return};
|
||||
var self = ls.ModelAgenda;
|
||||
var datum = new Date(self.currentMaand().jaar(), (self.currentMaand().nummer() - 1), 1);
|
||||
self.currentMaand(new FcurrentDatum({
|
||||
nummer:datum.getMonth(),
|
||||
naam:maandArray[datum.getMonth()],
|
||||
dagen : GetDagen(datum.getMonth() +1 , datum.getFullYear()),
|
||||
jaar : datum.getFullYear()
|
||||
})
|
||||
);
|
||||
self.fVulKalender();
|
||||
},
|
||||
fToday : function(){
|
||||
if (!appliedBindings) {return};
|
||||
var self = ls.ModelAgenda;
|
||||
var datum = new Date();
|
||||
|
||||
self.currentMaand(new FcurrentDatum({
|
||||
nummer:datum.getMonth(),
|
||||
naam:maandArray[datum.getMonth()],
|
||||
dagen : GetDagen(datum.getMonth() - 1, datum.getFullYear()),
|
||||
jaar : datum.getFullYear()
|
||||
})
|
||||
);
|
||||
self.fVulKalender();
|
||||
},
|
||||
fFilter : function(){
|
||||
var self=ls.ModelAgenda;
|
||||
|
||||
var submitData = {PijlerID : self.selectedPijler(),
|
||||
ActiviteitID : self.selectedActiviteit(),
|
||||
Maand : (self.currentMaand().nummer() + 1),
|
||||
Jaar : self.currentMaand().jaar()};
|
||||
|
||||
$.post("index.php/ijkpartituur/agenda/getItems", submitData,function(data){
|
||||
$.each(self.Acontent(), function(i,p){
|
||||
p.events.removeAll();
|
||||
if (data.items ){
|
||||
$.each(data.items, function(j,k){
|
||||
if (p.dag()==k.dag){
|
||||
p.events.push(new fAddEvent(k))
|
||||
}
|
||||
}); // each data.items
|
||||
} ; // if data
|
||||
}) ; // each Acontent
|
||||
},'json');
|
||||
},
|
||||
|
||||
fGetActiviteiten : function(){
|
||||
if (!appliedBindings){return};
|
||||
var self=ls.ModelAgenda;
|
||||
self.Activiteitenset.removeAll();
|
||||
self.selectedActiviteit(0);
|
||||
if (self.selectedPijler() > 0){
|
||||
var submitData = {pijlerid : self.selectedPijler()};
|
||||
$.post("index.php/ijkpartituur/agenda/getActiviteiten" , submitData, function(data){
|
||||
self.Activiteitenset.push(new fVulActiviteitenset({id:0, naam: "alle activiteiten"}));
|
||||
$.each(data.activiteiten, function(i,p){
|
||||
self.Activiteitenset.push(new fVulActiviteitenset(p));
|
||||
});
|
||||
},'json');
|
||||
}
|
||||
else { if (self.selectedPijler() == 0 ) {self.fFilter(); } }
|
||||
},
|
||||
fOpenCloseEvent : function() {
|
||||
var self=ls.ModelAgenda;
|
||||
var eID = this.id;
|
||||
if ($("#event"+eID).hasClass("DagClose")) {
|
||||
$('#event' + eID).removeClass('DagClose');
|
||||
$("#event"+ eID).addClass("DagOpen");
|
||||
$("#trbij" + eID).removeClass("trClose");
|
||||
$("#trbij" + eID). addClass("trOpen");
|
||||
}
|
||||
else{
|
||||
$('#event' + eID).removeClass('DagOpen');
|
||||
$("#event"+ eID).addClass("DagClose");
|
||||
$("#trbij" + eID).removeClass("trOpen");
|
||||
$("#trbij" + eID). addClass("trClose");
|
||||
}
|
||||
},
|
||||
fADetails : function(){
|
||||
if (this.dag()==0) {return};
|
||||
|
||||
var self=ls.ModelAgenda;
|
||||
self.selectedContent(this);
|
||||
|
||||
var selectedDatum = new Date(self.currentMaand().jaar(),self.currentMaand().nummer(), this.dag());
|
||||
self.selectedContent().dagvanweek(weekArray[selectedDatum.getDay()]) ;
|
||||
var StartAsDate = new Date();
|
||||
var EindAsDate = new Date();
|
||||
appliedBindings=false;
|
||||
self.DagPijlerset.removeAll();
|
||||
$.each(self.Pijlerset(), function(i,p){
|
||||
if (p.id > 0){
|
||||
StartAsDate=new Date(p.start.substr(0,4), (p.start.substr(5,2) -1),p.start.substr(8,2));
|
||||
EindAsDate = new Date(p.eind.substr(0,4), (p.eind.substr(5,2) -1),p.eind.substr(8,2));
|
||||
if ((StartAsDate.getTime() <=selectedDatum.getTime()) &&
|
||||
(EindAsDate.getTime() >= selectedDatum.getTime()) ) {
|
||||
self.DagPijlerset.push( {id: p.id,
|
||||
naam: p.naam,
|
||||
start : p.start,
|
||||
eind: p.eind} );
|
||||
} // if
|
||||
}; // if
|
||||
})
|
||||
|
||||
if ( $('#lsOverlay').css('display') == 'none' ) { $("#lsOverlay").fadeIn() };
|
||||
setDrag("#popDagAgenda");
|
||||
$('#popDagAgenda').fadeIn();
|
||||
|
||||
// zorg voor het juiste format van uur en minuut door event change toe te passen
|
||||
$(".dubbelint").each( function(){
|
||||
$(this).change();
|
||||
});
|
||||
appliedBindings=true;
|
||||
},
|
||||
fSaveEvent : function(inID){
|
||||
if (!appliedBindings){return};
|
||||
var self =ls.ModelAgenda;
|
||||
var eID = this.id;
|
||||
self.fTrueSave(eID)
|
||||
},
|
||||
fTrueSave : function (eID){
|
||||
if (!appliedBindings){return};
|
||||
var self =ls.ModelAgenda;
|
||||
|
||||
$.each(self.selectedContent().events(), function(i,p){
|
||||
if (p.id == eID){
|
||||
var submitData={id : eID,
|
||||
toegang : p.toegang(),
|
||||
wijzig : p.wijzig(),
|
||||
pijlerID : p.pijlerID(),
|
||||
activiteitID : p.activiteitID(),
|
||||
color : p.colorcode(),
|
||||
startUur : p.startUur(),
|
||||
startMinuut : p.startMinuut(),
|
||||
eindUur : p.eindUur(),
|
||||
eindMinuut : p.eindMinuut(),
|
||||
titel : p.titel(),
|
||||
opmerking : p.opmerking()
|
||||
};
|
||||
|
||||
$.post("index.php/ijkpartituur/agenda/saveEvent", submitData, function(){});
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
fCheckUur : function(){
|
||||
if (!appliedBindings) {return}
|
||||
var self = ls.ModelAgenda;
|
||||
var eID = this.id;
|
||||
var thisevent = this;
|
||||
var uurS=parseInt(this.startUur(),10);
|
||||
var uurE=parseInt(this.eindUur(),10);
|
||||
if ((uurS >= 0 ) && (uurS < 24) && (uurE >= 0 ) && (uurE < 24) ){
|
||||
self.fTrueSave(eID);
|
||||
}
|
||||
else {
|
||||
if (uurS > 24 || uurS < 0){
|
||||
apprise("Start uur moet tussen 0 en 24 vallen. ",{} ,function(){
|
||||
thisevent.startUur(9);
|
||||
$("#uurS"+ eID).attr('value',"09");
|
||||
self.fTrueSave(eID);
|
||||
return
|
||||
})
|
||||
};
|
||||
if (uurE > 24 || uurE < 0){
|
||||
apprise("Eind uur moet tussen 0 en 24 vallen. ", {},function(){
|
||||
thisevent.eindUur(17);
|
||||
self.fTrueSave(eID);
|
||||
return
|
||||
});
|
||||
}; // if
|
||||
} // else
|
||||
},
|
||||
fCheckMinuut : function(){
|
||||
if (!appliedBindings) {return}
|
||||
var self = ls.ModelAgenda;
|
||||
var eID = this.id;
|
||||
var thisevent = this;
|
||||
var minuutS=parseInt(this.startMinuut(),10);
|
||||
var minuutE=parseInt(this.eindMinuut() ,10);
|
||||
if ((minuutS >= 0 ) && (minuutS < 60) && (minuutE >= 0 ) && (minuutE < 60) ){
|
||||
self.fTrueSave(eID);
|
||||
}
|
||||
else {
|
||||
if (minuutS >= 60 || minuutS < 0){
|
||||
apprise(eID + '-' + minuutS + " Start minuten moet tussen 0 en 60 vallen. ",{} ,function(){
|
||||
thisevent.startMinuut(0);
|
||||
$('#minuutS' + eID).attr("value", "00");
|
||||
self.fTrueSave(eID);
|
||||
return
|
||||
})
|
||||
};
|
||||
if (minuutE >= 60 || minuutE < 0){
|
||||
apprise(eID + '-' + minuutE + "Eind minuten moet tussen 0 en 60 vallen. ", {},function(){
|
||||
thisevent.eindMinuut(0);
|
||||
$('#minuutE' + eID).attr("value", "00");
|
||||
self.fTrueSave(eID);
|
||||
return
|
||||
});
|
||||
}; // if
|
||||
} // else
|
||||
|
||||
},
|
||||
fSaveOldPijler : function() {
|
||||
oldpijlerID = this.pijlerID();
|
||||
this.ChangePijler(true);
|
||||
},
|
||||
fChangePijler : function() {
|
||||
if (!this.ChangePijler()){return};
|
||||
if (oldpijlerID == this.pijlerID()) {return}
|
||||
var self= ls.ModelAgenda;
|
||||
var eID = this.id;
|
||||
var thisE = this;
|
||||
apprise("Weet u zeker dat u een andere pijler wilt opgeven. U moet dan ook een nieuwe activiteit selecteren.", {verify:true, textYes: "ja", textNo:'nee'},
|
||||
function(ans){
|
||||
if (ans){ thisE.activiteitID(0);
|
||||
thisE.activiteitNaam('geen');
|
||||
thisE.ChangeActiviteit(false);
|
||||
thisE.ChangePijler(false);
|
||||
self.fTrueSave(eID);}
|
||||
else {
|
||||
thisE.pijlerID(oldpijlerID)
|
||||
} ; // else
|
||||
});
|
||||
},
|
||||
|
||||
fChangeActiviteit : function(){
|
||||
if (!appliedBindings) {return};
|
||||
var self = ls.ModelAgenda;
|
||||
var pijlerID = this.pijlerID();
|
||||
var thisE = this;
|
||||
appliedBindings=false;
|
||||
if (pijlerID <= 0 || pijlerID === undefined){
|
||||
apprise("U moet eerst een pijler selecteren", function(){return});
|
||||
}
|
||||
else {
|
||||
submitData= {"pijlerID" : pijlerID,
|
||||
"dag" : this.dag,
|
||||
"maand" : self.currentMaand().nummer() + 1,
|
||||
'jaar' : self.currentMaand().jaar()};
|
||||
|
||||
$.post("index.php/ijkpartituur/agenda/getActiviteitenPerDag", submitData, function(data){
|
||||
self.DagActiviteitset.removeAll();
|
||||
$.each(data.activiteiten, function(i,p){
|
||||
self.DagActiviteitset.push(new fVulActiviteitenset(p))
|
||||
});
|
||||
thisE.ChangeActiviteit(true);
|
||||
},'json');
|
||||
}; // else
|
||||
appliedBindings=true;
|
||||
},
|
||||
fSaveActiviteit : function(){
|
||||
var self =ls.ModelAgenda;
|
||||
var thisE = this;
|
||||
|
||||
if(!thisE.ChangeActiviteit()) {return}
|
||||
|
||||
$.each(self.DagActiviteitset(), function(i,p){
|
||||
if(p.id == thisE.activiteitID()){
|
||||
thisE.activiteitNaam(p.naam);
|
||||
}
|
||||
});
|
||||
this.ChangeActiviteit(false);
|
||||
self.fTrueSave(this.id);
|
||||
},
|
||||
fNewEvent : function() {
|
||||
var self= ls.ModelAgenda;
|
||||
var data={id : 0,
|
||||
owner : 0,
|
||||
toegang : 3,
|
||||
wijzig : 3,
|
||||
schrijf : true,
|
||||
colorcode : '#f2f2f2',
|
||||
dag : self.selectedContent().dag(),
|
||||
maand : self.currentMaand().nummer() + 1,
|
||||
jaar : self.currentMaand().jaar(),
|
||||
startUur : 9,
|
||||
startMinuut : 30,
|
||||
eindUur : 17,
|
||||
eindMinuut: 30,
|
||||
titel: '',
|
||||
opmerking: '',
|
||||
pijlerID: 0,
|
||||
activiteitID: 0,
|
||||
activiteitNaam:'',
|
||||
ChangeActiviteit: true,
|
||||
ChangePijler: false
|
||||
}
|
||||
|
||||
self.NewAfspraak(new fAddEvent(data) );
|
||||
|
||||
if ( $('#lsOverlay2').css('display') == 'none' ) { $("#lsOverlay2").fadeIn() };
|
||||
setDrag("#popNewEvent");
|
||||
$('#popNewEvent').css("z-index" , 510).fadeIn(200,function(){
|
||||
$(this).css('z-index', 510);
|
||||
});
|
||||
$('#newAfspraakTitel').focus();
|
||||
},
|
||||
fAnderePijler : function(){
|
||||
if (!appliedBindings) {return};
|
||||
var self = ls.ModelAgenda;
|
||||
var pijlerID = this.pijlerID();
|
||||
|
||||
var submitData= { "pijlerID" : pijlerID,
|
||||
"dag" : this.dag,
|
||||
"maand" : self.currentMaand().nummer() + 1,
|
||||
'jaar' : self.currentMaand().jaar()};
|
||||
|
||||
$.post("index.php/ijkpartituur/agenda/getActiviteitenPerDag", submitData, function(data){
|
||||
self.newDagActiviteitset.removeAll();
|
||||
$.each(data.activiteiten, function(i,p){
|
||||
self.newDagActiviteitset.push(new fVulActiviteitenset(p))
|
||||
});
|
||||
},'json');
|
||||
},
|
||||
fMaakNewAfspraak : function(){
|
||||
var self = ls.ModelAgenda;
|
||||
var submitData = {
|
||||
"toegang" : self.NewAfspraak().toegang(),
|
||||
"wijzig" : self.NewAfspraak().wijzig(),
|
||||
"colorcode" : self.NewAfspraak().colorcode(),
|
||||
"dag" : self.selectedContent().dag(),
|
||||
"maand" : self.currentMaand().nummer() + 1,
|
||||
"jaar" : self.currentMaand().jaar(),
|
||||
"startUur" : self.NewAfspraak().startUur(),
|
||||
"startMinuut" : self.NewAfspraak().startMinuut(),
|
||||
"eindUur" : self.NewAfspraak().eindUur(),
|
||||
"eindMinuut" : self.NewAfspraak().eindMinuut(),
|
||||
"titel" : self.NewAfspraak().titel(),
|
||||
"opmerking" : self.NewAfspraak().opmerking(),
|
||||
"pijlerID" : self.NewAfspraak().pijlerID(),
|
||||
"activiteitID" : self.NewAfspraak().activiteitID()
|
||||
};
|
||||
$.post("index.php/ijkpartituur/agenda/newAfspraak", submitData,function(data){
|
||||
self.fClosePopUp();
|
||||
if (data.items ){
|
||||
self.Acontent()[self.selectedContent().teller].events.push(new fAddEvent(data.items));
|
||||
// via Acontent word selectedContent aangepast omdat dat een clone is van Acontent
|
||||
} ; // if data
|
||||
},'json');
|
||||
},
|
||||
fClosePopUp : function(){
|
||||
$("#lsOverlay2").fadeOut();
|
||||
$("#popNewEvent").fadeOut();
|
||||
},
|
||||
fDelete : function(){
|
||||
if (!appliedBindings) {return}
|
||||
var self = ls.ModelAgenda;
|
||||
var thisE = this;
|
||||
apprise("Weet u zeker dat u deze afspraak wilt verwijderen?",
|
||||
{verify:true, textYes:'ja', textNo: 'nee'},
|
||||
function(ans){
|
||||
if (ans) {
|
||||
var submitData= {itemid : thisE.id};
|
||||
$.post('index.php/ijkpartituur/agenda/deleteAfspraak', submitData);
|
||||
self.Acontent()[self.selectedContent().teller].events.remove(thisE);
|
||||
} ; // if
|
||||
}); // apprise
|
||||
}
|
||||
} // model definitie
|
||||
ls.ModelAgenda.InitValues();
|
||||
ko.applyBindings(ls.ModelAgenda, document.getElementById("popAgenda"));
|
||||
appliedBindings=true;
|
||||
} // else
|
||||
|
||||
}); // eind hoofdfunction
|
||||
@@ -0,0 +1,92 @@
|
||||
$(function(){
|
||||
//init helpdesk: laadt de helpdeskgegevens
|
||||
$.getJSON("index.php/ijkpartituur/partituur/helpdeskinfo", function(data){
|
||||
$("#helpemail").prop("href", data.email+"?SUBJECT=helpdeskvraag");
|
||||
$("#helptel").text(data.telefoon);
|
||||
});
|
||||
|
||||
// init orgs: zet de optie om van organisatie te veranderen
|
||||
$("#set-globorg").addClass('disabled');
|
||||
|
||||
//init menu toont de standaard menuitems
|
||||
$("#hoofdpag1, #sub-menublok-1").fadeIn(500);
|
||||
$("#menu-but-1").addClass('selected');
|
||||
|
||||
$.getJSON("index.php/ijkpartituur/partituur/WhichPagina", function(answer){
|
||||
if (answer.systemyesno == 1){
|
||||
|
||||
$("#hoofdpag6, #sub-menublok-6").fadeIn(500);
|
||||
$("#menu-but-6").addClass('selected');
|
||||
SetMenus(0);
|
||||
setSubpage(20, 20,'initGebruikers' );
|
||||
}
|
||||
else{
|
||||
setSubpage(answer.pagina, answer.pagina, $("#submenu-but-" + answer.pagina) .data('komodel'));
|
||||
SetMenus(answer.partID);
|
||||
}
|
||||
});
|
||||
|
||||
//paginanavigatie
|
||||
$(document).on("click", ".butTopMenu", function(){
|
||||
var oldID = $("#but-top-menu").children('.selected').attr('id').substr(9);
|
||||
var newID = $(this).attr('id').substr(9);
|
||||
|
||||
if(oldID==newID) return;
|
||||
|
||||
//verplaats de Class selected naar de nieuwe knop
|
||||
$("#but-top-menu").children().removeClass("selected");
|
||||
$(this).addClass('selected');
|
||||
|
||||
//check of er reeds een submenu is geselecteerd
|
||||
if(!$("#sub-menublok-" + newID).children().hasClass('selected')){
|
||||
$("#sub-menublok-" + newID).children().first('span').addClass('selected');
|
||||
$("#hoofdpag" + newID).children().first('Subpagina').fadeIn(500);
|
||||
if(newID==6) ls.initActiviteiten();
|
||||
}
|
||||
if(newID==9) tw.initReports();
|
||||
|
||||
//maak het submenu zichtbaar en het huidige onzichtbaar
|
||||
$("#sub-menublok-" + oldID).fadeOut(10, function(){
|
||||
$("#sub-menublok-" + newID).fadeIn(500);
|
||||
});
|
||||
|
||||
$("#hoofdpag" + oldID).fadeOut(100, function(){
|
||||
$("#hoofdpag" + newID).fadeIn(500);
|
||||
});
|
||||
});
|
||||
|
||||
//submenu
|
||||
$(document).on("click", ".submenu-but", function(){
|
||||
var topID = $("#but-top-menu > .selected").attr('id').substr(9);
|
||||
var oldID = $("#sub-menublok-" + topID +" > .selected").attr('id').substr(12);
|
||||
var newID = $(this).attr('id').substr(12);
|
||||
|
||||
if(oldID==newID) return;
|
||||
|
||||
setSubpage(oldID, newID, $(this).data('komodel'));
|
||||
});
|
||||
|
||||
// function setSubpage(oldID, newID, self){
|
||||
function setSubpage(oldID, newID, model){
|
||||
//execute het model dat bij de pagina hoort (data-komodel is html-attribuut van de knop)
|
||||
|
||||
//ls[self.data('komodel')]();
|
||||
ls[model]();
|
||||
|
||||
$("#submenu-but-" + oldID).removeClass('selected');
|
||||
$("#submenu-but-" + newID).addClass('selected');
|
||||
|
||||
$("#Subpag" + oldID).fadeOut(100, function(){
|
||||
$("#Subpag" + newID).fadeIn(500);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
$(document).on("click", "#log-out", function(){
|
||||
$.get('index.php/login/logout', function(){
|
||||
window.location.reload();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
@@ -0,0 +1,142 @@
|
||||
var ls={};
|
||||
$(function(){
|
||||
|
||||
ls.initLoginModel = function(){
|
||||
|
||||
function checkEmail(email){
|
||||
var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
|
||||
if(pattern.test(email)){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
ko.bindingHandlers.enterkey = {
|
||||
init: function (element, valueAccessor, allBindingsAccessor,viewModel) {
|
||||
var allBindings = allBindingsAccessor()
|
||||
|
||||
$(element).keypress(function (event) {
|
||||
var keyCode = (event.which ? event.which : event.keyCode);
|
||||
if (keyCode === 13) {
|
||||
allBindings.enterkey.call(viewModel, viewModel, event.target, element);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
if (ls.LoginModel !== undefined){
|
||||
ls.LoginModel.initModel();
|
||||
}
|
||||
else {
|
||||
ls.LoginModel = {
|
||||
welkomtekst : ko.observable(''),
|
||||
gnaam : ko.observable(''),
|
||||
wwoord : ko.observable(''),
|
||||
email : ko.observable(''),
|
||||
inloggen : ko.observable(true),
|
||||
focusop : ko.observable(1),
|
||||
|
||||
|
||||
initBindings :function(){
|
||||
var self = ls.LoginModel;
|
||||
if (!ko.dataFor(document.getElementById('pagLogin')) ) {
|
||||
ko.applyBindings(ls.LoginModel, document.getElementById("pagLogin"));
|
||||
}
|
||||
self.initModel();
|
||||
},
|
||||
initModel: function(){
|
||||
var self=ls.LoginModel;
|
||||
var tijd= new Date();
|
||||
self.welkomtekst("Welkom bij Radix");
|
||||
if (tijd.getHours() >=0 && tijd.getHours() < 6) self.welkomtekst("Goedenacht, welkom bij MonPas");
|
||||
if (tijd.getHours() >=6 && tijd.getHours() < 12) self.welkomtekst("Goedemorgen, welkom bij MonPas");
|
||||
if (tijd.getHours() >=12 && tijd.getHours() < 18) self.welkomtekst("Goedemiddag, welkom bij MonPas");
|
||||
if (tijd.getHours() >=18 && tijd.getHours() < 24) self.welkomtekst("Goedenavond, welkom bij MonPas");
|
||||
},
|
||||
fNieuwWachtwoord: function(){
|
||||
var self=ls.LoginModel;
|
||||
self.inloggen(false);
|
||||
if (self.gnaam().length > 2) {self.focusop(4)}
|
||||
else {self.focusop(3) };
|
||||
},
|
||||
fLogin: function(){
|
||||
var self=ls.LoginModel;
|
||||
if (self.gnaam().length<4) {
|
||||
self.focusop(1);
|
||||
return;}
|
||||
if (self.wwoord().length<4) {
|
||||
self.focusop(2);
|
||||
return;}
|
||||
var submitData={gebruikersnaam: self.gnaam()}
|
||||
$.post("index.php/login/controlleergnaam", submitData, function(data){
|
||||
if (!data || data.salt==null || data.challenge == null){
|
||||
alert('Uw gebruikersnaam en/of wachtwoord wordt niet herkend.');
|
||||
}
|
||||
else{
|
||||
var saltedChallenge =hex_md5 (hex_md5(data.salt + self.wwoord())+ data.challenge);
|
||||
submitData= {saltedchallenge:saltedChallenge};
|
||||
|
||||
$.post("index.php/login/controleerwwoord", submitData,function(data){
|
||||
if (!data || data == "geen rechten"){
|
||||
if (data == "geen rechten") {
|
||||
alert('U heeft geen (actieve) rechten binnen deze applicatie.');
|
||||
}
|
||||
else {
|
||||
alert('Uw gebruikersnaam en/of wachtwoord wordt niet herkend.');
|
||||
}
|
||||
}
|
||||
else {
|
||||
location.reload();
|
||||
}; // else
|
||||
},'json');
|
||||
}
|
||||
},'json');
|
||||
|
||||
},
|
||||
fNaarInlog: function(){
|
||||
var self=ls.LoginModel;
|
||||
self.inloggen(true);
|
||||
if (self.gnaam().length > 2) {self.focusop(2)}
|
||||
else {self.focusop(1) };
|
||||
},
|
||||
fMaakWwoord: function(){
|
||||
var self=ls.LoginModel;
|
||||
if (self.gnaam().length < 4){
|
||||
self.focusop(3);
|
||||
return;
|
||||
}
|
||||
if (self.email().length< 4 || !checkEmail(self.email()) ){
|
||||
alert('Incorrect e-mailadres');
|
||||
self.focusop(4);
|
||||
return;
|
||||
}
|
||||
else{
|
||||
var submitData={gnaam: self.gnaam(),
|
||||
email: self.email()}
|
||||
$.post('index.php/login/nieuwwachtwoord', submitData,function(result){
|
||||
alert(result.errortekst);
|
||||
if (result.status){
|
||||
self.inloggen(true);
|
||||
self.focusop(2);
|
||||
}
|
||||
},'json');
|
||||
}
|
||||
},
|
||||
fZetFocus : function(){
|
||||
var self=ls.LoginModel;
|
||||
self.focusop(self.focusop() + 1);
|
||||
if (self.focusop() > 4) self.focusop(1);
|
||||
}
|
||||
} ; // definition van model
|
||||
ls.LoginModel.initBindings();
|
||||
}; // else
|
||||
}// function initLoginModel
|
||||
});
|
||||
|
||||
|
||||
$(document).ready(function(){
|
||||
ls.initLoginModel();
|
||||
}); // document ready function
|
||||
@@ -0,0 +1,122 @@
|
||||
var ls ={}
|
||||
var mh = {}
|
||||
|
||||
$.ajaxSetup({cache: false});
|
||||
|
||||
function showAjaxLoader(){ $("#overlay").fadeIn(10)
|
||||
$("#ajaxloader").fadeIn(20);
|
||||
};
|
||||
|
||||
function hideAjaxLoader(){ $("#ajaxloader").fadeOut(300)
|
||||
$("#overlay").fadeOut(500);
|
||||
};
|
||||
|
||||
function checkEmail(email){
|
||||
var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
|
||||
if(pattern.test(email)){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
ls.MsgAutoFade = function (msg,duration){
|
||||
var alt = document.createElement("div");
|
||||
alt.setAttribute("style","position:absolute;top:10px;left:80%;background-color:#ffffff; z-index:1120; border:3px solid red; padding:40px; text-align:center");
|
||||
alt.innerHTML = msg;
|
||||
setTimeout(function(){
|
||||
alt.parentNode.removeChild(alt);
|
||||
},duration);
|
||||
document.body.appendChild(alt);
|
||||
};
|
||||
|
||||
function datumAgrB(A,B){
|
||||
var dateA = new Date (A.substring(6,10), (A.substring(3,5) - 1), A.substring(0,2));
|
||||
var dateB = new Date (B.substring(6,10), (B.substring(3,5) - 1), B.substring(0,2));
|
||||
return dateA>=dateB;
|
||||
}
|
||||
/**
|
||||
* Number.prototype.format(n, x, s, c)
|
||||
*
|
||||
* @param integer n: length of decimal
|
||||
* @param integer x: length of whole part
|
||||
* @param mixed s: sections delimiter
|
||||
* @param mixed c: decimal delimiter
|
||||
*/
|
||||
Number.prototype.format = function(n, x, s, c) {
|
||||
var re = '\\d(?=(\\d{' + (x || 3) + '})+' + (n > 0 ? '\\D' : '$') + ')',
|
||||
num = this.toFixed(Math.max(0, ~~n));
|
||||
|
||||
return (c ? num.replace('.', c) : num).replace(new RegExp(re, 'g'), '$&' + (s || ','));
|
||||
};
|
||||
|
||||
|
||||
$(document).on("keydown", ".integer", function(event){
|
||||
if ((event.keyCode <= 57 && event.keyCode >=48) || event.keyCode==8||event.keyCode==9 || event.keyCode == 13) {}
|
||||
else return false;
|
||||
});
|
||||
$(document).on('keydown',".decimal", function(event){
|
||||
var alkomma= $(this).val().indexOf(',') >=0;
|
||||
if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode==188 && !alkomma) || event.keyCode==8||event.keyCode==9 || event.keyCode == 13 || event.keyCode==190){ }
|
||||
else {return false};
|
||||
});
|
||||
$(document).on('keydown',".rapport", function(event){
|
||||
var alkomma= $(this).val().indexOf(',') >=0;
|
||||
switch (event.which){
|
||||
case 8: return;
|
||||
break;
|
||||
case 9: return;
|
||||
break;
|
||||
case 13:return;
|
||||
break;
|
||||
}
|
||||
|
||||
if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode==188 && !alkomma) ){ }
|
||||
else {return false};
|
||||
});
|
||||
|
||||
|
||||
$(document).ready(function(){
|
||||
|
||||
|
||||
ls.initMenuModel();
|
||||
$(document).on('click','#start', function(){
|
||||
ls.initMenuModel();
|
||||
});
|
||||
|
||||
$.datepicker.setDefaults({
|
||||
dateFormat: 'dd-mm-yy',
|
||||
changeMonth: true,
|
||||
changeYear: true,
|
||||
showOn: 'focus', // geen images laten zien. is wel zo strak voor wel een image moet deze waarde "both" zijn
|
||||
buttonImage: '../css/images/calendar.gif',
|
||||
buttonImageOnly: true,
|
||||
dayNamesShort: ['zo','ma','di','wo','do','vr','za'],
|
||||
dayNamesMin: ['zo','ma','di','wo','do','vr','za'],
|
||||
firstDay: 1,
|
||||
monthNamesShort:['Jan', 'Feb','Mrt', 'Apr','Mei','Jun','Jul','Aug','Sep','Okt','Nov','Dec'],
|
||||
monthNames:['Januari','Februari','Maart','April','Mei','Juni','Juli','Augustus','September','Oktober','November','December']
|
||||
}
|
||||
,
|
||||
$.datepicker.regional['nl']
|
||||
);
|
||||
|
||||
$( document ).ajaxComplete( function ( event, xhr, settings ) {
|
||||
try {
|
||||
var result = JSON.parse(xhr.responseText);
|
||||
if( result.offline === undefined || ! result.offline ) return true;
|
||||
showLogin();
|
||||
} catch (e) {
|
||||
return true;
|
||||
}
|
||||
} );
|
||||
|
||||
function showLogin(){
|
||||
//$("#log-in-jumbo" ).modal('show');
|
||||
$.post("index.php/login/logout",function(){
|
||||
location.reload();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}); // document ready function
|
||||
@@ -0,0 +1,75 @@
|
||||
$(function(){
|
||||
|
||||
ls.initAccountsModel = function(){
|
||||
function fAddSubmenu(p){
|
||||
this.id = p.id
|
||||
this.naam = p.naam;
|
||||
this.paginanaam = p.paginanaam;
|
||||
}
|
||||
|
||||
if (ls.AccountsModel !== undefined){
|
||||
ls.AccountsModel.initModel();
|
||||
}
|
||||
else {
|
||||
ls.AccountsModel = {
|
||||
selectedMenu : ko.observable(1),
|
||||
accountsmenu : ko.observableArray([]),
|
||||
|
||||
initBindings :function(){
|
||||
var self = ls.AccountsModel;
|
||||
if (!ko.dataFor(document.getElementById('pagaccounts')) ) {
|
||||
ko.applyBindings(ls.AccountsModel, document.getElementById("pagaccounts"));
|
||||
}
|
||||
self.accountsmenu.removeAll();
|
||||
$.post("index.php/shared/menu/getsubmenu/8", function(result){
|
||||
if (result){
|
||||
$.each(result, function(i,p){
|
||||
self.accountsmenu.push(new fAddSubmenu(p));
|
||||
}); // each
|
||||
}
|
||||
self.initModel();
|
||||
},'json');
|
||||
|
||||
},
|
||||
initModel: function(){
|
||||
var self = ls.AccountsModel;
|
||||
self.selectedMenu(self.accountsmenu()[0]);
|
||||
self.fToonPag();
|
||||
},
|
||||
|
||||
fChangeMenu: function(){
|
||||
var self=ls.AccountsModel;
|
||||
if (self.selectedMenu().id == this.id) return;
|
||||
self.selectedMenu(this);
|
||||
self.fToonPag();
|
||||
},
|
||||
|
||||
fToonPag: function(){
|
||||
var self=ls.AccountsModel;
|
||||
if (self.selectedMenu() == undefined) return;
|
||||
switch (self.selectedMenu().paginanaam){
|
||||
case 'organisaties':
|
||||
ls.initOrganisatiesModel();
|
||||
$("#pagGebruikersxx").hide("slide", {direction:"right"} ,200)
|
||||
$("#pagSortering").hide("slide", {direction:"right"} ,200)
|
||||
$("#pagOrganisatiesXL").hide().show("slide", {direction:"right"} ,200)
|
||||
break;
|
||||
case 'gebruikers':
|
||||
ls.initGebruikersModel();
|
||||
$("#pagOrganisatiesXL").hide("slide", {direction:"right"} ,200)
|
||||
$("#pagSortering").hide("slide", {direction:"right"} ,200)
|
||||
$("#pagGebruikersxx").hide().show("slide", {direction:"right"} ,200)
|
||||
break;
|
||||
case 'sortering':
|
||||
mh.initSorteringModel();
|
||||
$("#pagGebruikersxx").hide("slide", {direction:"right"} ,200)
|
||||
$("#pagOrganisatiesXL").hide("slide", {direction:"right"} ,200)
|
||||
$("#pagSortering").hide().show("slide", {direction:"right"} ,200)
|
||||
}
|
||||
},
|
||||
|
||||
} ; // definition van model
|
||||
ls.AccountsModel.initBindings();
|
||||
}; // else
|
||||
}// function initAccountsModel
|
||||
});
|
||||
@@ -0,0 +1,71 @@
|
||||
$(function(){
|
||||
|
||||
ls.initBeheerModel = function(){
|
||||
|
||||
function fAddBeheermenu(p){
|
||||
this.id = p.id
|
||||
this.naam = p.naam;
|
||||
this.paginanaam = p.paginanaam;
|
||||
}
|
||||
|
||||
if (ls.BeheerModel !== undefined){
|
||||
ls.BeheerModel.initModel();
|
||||
}
|
||||
else {
|
||||
ls.BeheerModel = {
|
||||
selectedMenu : ko.observable(''),
|
||||
beheermenu : ko.observableArray([]),
|
||||
|
||||
initBindings :function(){
|
||||
var self = ls.BeheerModel;
|
||||
|
||||
$.post('index.php/shared/menu/getsubmenu/5', function(result){
|
||||
|
||||
if (result){
|
||||
$.each(result, function(i,p){
|
||||
self.beheermenu.push(new fAddBeheermenu(p));
|
||||
})
|
||||
}
|
||||
//if (!ko.dataFor(document.getElementById('pagBindBeheer')) ) {
|
||||
ko.applyBindings(ls.BeheerModel, document.getElementById("pagBindBeheer"));
|
||||
//}
|
||||
self.initModel();
|
||||
},'json');
|
||||
},
|
||||
initModel: function(){
|
||||
var self = ls.BeheerModel;
|
||||
self.selectedMenu(self.beheermenu()[0]);
|
||||
self.fGetPagina();
|
||||
},
|
||||
|
||||
fChangeMenu: function(){
|
||||
var self=ls.BeheerModel;
|
||||
if (self.selectedMenu().id== this.id) return;
|
||||
self.selectedMenu(this);
|
||||
self.fGetPagina();
|
||||
},
|
||||
fGetPagina: function(){
|
||||
var self=ls.BeheerModel;
|
||||
$(".submenupage").fadeOut(0);
|
||||
|
||||
switch (self.selectedMenu().paginanaam){
|
||||
case "versies":
|
||||
ls.initVersiesModel();
|
||||
$("#pagVersies").css('left', 0);
|
||||
$("#pagVersies").hide().show("slide", {direction:"right"} ,200)
|
||||
break;
|
||||
case "swvversies":
|
||||
ls.initSWVversiesModel();
|
||||
$("#pagSWVversies").hide().show("slide", {direction:"right"} ,200)
|
||||
break;
|
||||
case "scoreomschrijving":
|
||||
mh.initScoresModel();
|
||||
$("#pagScores").hide().show("slide", {direction:"right"} ,200)
|
||||
break;
|
||||
}; // switch
|
||||
},
|
||||
} ; // definition van model
|
||||
ls.BeheerModel.initBindings();
|
||||
}; // else
|
||||
}// function initBeheerModel
|
||||
});
|
||||
@@ -0,0 +1,288 @@
|
||||
$( function () {
|
||||
var timer;
|
||||
var timeout = null;
|
||||
|
||||
function fAddBericht( b ) {
|
||||
var dit = this;
|
||||
this.berichtid = b.id;
|
||||
this.kort = ko.observable( '' );
|
||||
if ( b.samenvatting ) {
|
||||
dit.kort( b.samenvatting );
|
||||
}
|
||||
this.lang = ko.observable( '' );
|
||||
this.textarea = ko.observable();
|
||||
if ( b.inhoud ) {
|
||||
this.lang( b.inhoud );
|
||||
}
|
||||
this.startdatum = ko.observable( b.datum );
|
||||
this.froalaDirty = ko.observable( false );
|
||||
this.nogOverKort = ko.pureComputed( function ( i, k ) {
|
||||
if ( dit.kort() ) {
|
||||
return 140 - dit.kort().length;
|
||||
}
|
||||
else {
|
||||
return 140;
|
||||
}
|
||||
} );
|
||||
this.kleurKop = ko.pureComputed( function ( i, k ) {
|
||||
if ( dit.nogOverKort() < 0 ) {
|
||||
return 'red';
|
||||
}
|
||||
if ( dit.nogOverKort() > 136 ) {
|
||||
return 'blue';
|
||||
}
|
||||
else {
|
||||
return 'black';
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
function fAddCluster( c ) {
|
||||
var dit = this;
|
||||
this.clusterid = c.clusterid;
|
||||
this.cluster = c.naam;
|
||||
this.aantalm = ko.observable( c.aantalm );
|
||||
this.bezig = ko.observable( false );
|
||||
this.modules = ko.observableArray( [] );
|
||||
if ( c.modules ) {
|
||||
dit.bezig( true );
|
||||
$.each( c.modules, function ( i, m ) {
|
||||
dit.modules.push( new fAddModule( m ) );
|
||||
} )
|
||||
dit.bezig( false );
|
||||
}
|
||||
if ( !dit.bezig() ) {
|
||||
this.aangevinkt = ko.pureComputed( function ( i, b ) {
|
||||
if ( dit.modules() ) {
|
||||
var gevinkt = false;
|
||||
var teller = 0;
|
||||
$.each( dit.modules(), function ( i, v ) {
|
||||
if ( v.vinkje() == true ) {
|
||||
teller++;
|
||||
}
|
||||
} )
|
||||
if ( teller == dit.modules().length ) {
|
||||
gevinkt = true
|
||||
}
|
||||
return gevinkt;
|
||||
}
|
||||
} );
|
||||
|
||||
this.allesaanvinken = ko.observable( dit.aangevinkt() );
|
||||
}
|
||||
this.allesaanvinken = ko.observable( dit.aangevinkt() );
|
||||
}
|
||||
|
||||
function fAddModule( m ) {
|
||||
var teller = 0;
|
||||
var gekoppeld = 0;
|
||||
var dit = this;
|
||||
this.moduleid = m.modulenr;
|
||||
this.module = m.naam;
|
||||
this.vinkje = ko.observable( false );
|
||||
if ( m.vinkje == 'T' ) {
|
||||
dit.vinkje( true );
|
||||
}
|
||||
|
||||
this.cluster = 0;
|
||||
if ( m.clusterid ) {
|
||||
this.cluster = m.clusterid;
|
||||
}
|
||||
}
|
||||
|
||||
mh.initBerichtBeheerModel = function () {
|
||||
if ( mh.BerichtBeheerModel !== undefined ) {
|
||||
mh.BerichtBeheerModel.initModel();
|
||||
}
|
||||
else {
|
||||
mh.BerichtBeheerModel = {
|
||||
nieuwtjes : ko.observableArray( [] ),
|
||||
clusters : ko.observableArray( [] ),
|
||||
admin : ko.observable(true),
|
||||
selectedBericht: ko.observable( '' ),
|
||||
bezig : ko.observable(false),
|
||||
|
||||
froalaOptions : {
|
||||
key : 'zc1QXIa2QZe1UOXATEX==',
|
||||
toolbarButtons: ['bold', 'italic', 'underline', 'subscript', 'superscript', 'outdent', 'indent', 'formatOL', 'formatUL', 'html']
|
||||
},
|
||||
|
||||
initBindings: function () {
|
||||
var self = mh.BerichtBeheerModel;
|
||||
|
||||
|
||||
if ( !ko.dataFor( document.getElementById( 'pagberichtbeheer' ) ) ) {
|
||||
ko.applyBindings( mh.BerichtBeheerModel, document.getElementById( "pagberichtbeheer" ) );
|
||||
}
|
||||
self.initModel();
|
||||
},
|
||||
|
||||
initModel: function () {
|
||||
var self = mh.BerichtBeheerModel;
|
||||
self.fCheckAdmin();
|
||||
},
|
||||
|
||||
fCheckAdmin: function () {
|
||||
var self = mh.BerichtBeheerModel;
|
||||
$.post( "index.php/monpas/berichten/checkrechten/", function ( data ) {
|
||||
if ( data ) {
|
||||
self.admin( data);
|
||||
}
|
||||
}, 'json' ).always(function(){
|
||||
self.fGetAdminBerichten()
|
||||
});
|
||||
},
|
||||
|
||||
fGetAdminBerichten: function(){
|
||||
var self = mh.BerichtBeheerModel;
|
||||
if ( !self.admin() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
var timeout = null;
|
||||
|
||||
$.post( "index.php/monpas/berichten/getAdminBerichten/", function ( data ) {
|
||||
self.nieuwtjes.removeAll();
|
||||
if ( data ) {
|
||||
$.each( data, function ( i, p ) {
|
||||
initFroalaEditor( '.froala-editor' );
|
||||
self.nieuwtjes.push( new fAddBericht( p ) );
|
||||
} );// each
|
||||
}
|
||||
}, 'json' );
|
||||
|
||||
},
|
||||
|
||||
fMaakBericht: function () {
|
||||
var self = mh.BerichtBeheerModel;
|
||||
if ( ! self.admin() ) {
|
||||
return;
|
||||
}
|
||||
$.get( 'index.php/monpas/berichten/create_empty_bericht', function () {
|
||||
self.fGetAdminBerichten();
|
||||
} );
|
||||
},
|
||||
|
||||
fBewaarBericht: function () {
|
||||
var self = mh.BerichtBeheerModel;
|
||||
var dit = this;
|
||||
if ( !self.admin() ) {
|
||||
return;
|
||||
}
|
||||
dit.froalaDirty( true );
|
||||
if ( timeout ) {
|
||||
clearTimeout( timeout );
|
||||
timeout = null;
|
||||
}
|
||||
timeout = setTimeout( function () {
|
||||
if ( dit.kort().length < 4 || dit.kort().length > 137 ) return;
|
||||
if ( dit.lang().length < 9 ) return;
|
||||
|
||||
var submitDATA = {
|
||||
inhoud : dit.lang(),
|
||||
samenvatting: dit.kort(),
|
||||
datum : dit.startdatum()
|
||||
};
|
||||
$.post( 'index.php/monpas/berichten/saveBericht/' + dit.berichtid, submitDATA, function () {
|
||||
dit.froalaDirty( false );
|
||||
} );
|
||||
}, 700 );
|
||||
},
|
||||
|
||||
fOpenModuleKoppeling: function () {
|
||||
var self = mh.BerichtBeheerModel;
|
||||
self.selectedBericht( this );
|
||||
if ( !self.admin() ) {
|
||||
return;
|
||||
}
|
||||
$( '#popupBerichtModule' ).modal( 'show' );
|
||||
$.post( "index.php/monpas/berichten/getmodules/" + this.berichtid, function ( data ) {
|
||||
if ( data ) {
|
||||
self.clusters.removeAll();
|
||||
$.each( data, function ( i, b ) {
|
||||
self.clusters.push( new fAddCluster( b ) );
|
||||
} );// each
|
||||
}; //if
|
||||
}, 'json' );
|
||||
},
|
||||
|
||||
fEditModuleKeuze: function () {
|
||||
var self = mh.BerichtBeheerModel;
|
||||
var dit = this;
|
||||
if ( !self.admin() ) {
|
||||
return;
|
||||
}
|
||||
var keuze = 'F';
|
||||
if ( dit.vinkje() ) {
|
||||
keuze = 'T';
|
||||
}
|
||||
|
||||
$.each( self.clusters(), function ( i, c ) {
|
||||
if ( c.clusterid == dit.cluster ) {
|
||||
c.allesaanvinken( c.aangevinkt() );
|
||||
}
|
||||
});
|
||||
|
||||
var submitData = {
|
||||
"modulevinkje": keuze,
|
||||
"berichtid" : self.selectedBericht().berichtid,
|
||||
"moduleid" : this.moduleid,
|
||||
}
|
||||
$.post( "index.php/monpas/berichten/koppelmodule", submitData, function ( data ) {
|
||||
}, 'json' );
|
||||
},
|
||||
|
||||
fEditClusterKeuze: function () {
|
||||
var self = mh.BerichtBeheerModel;
|
||||
var dit = this;
|
||||
if ( !self.admin() ) {
|
||||
return;
|
||||
}
|
||||
var keuze;
|
||||
if ( dit.allesaanvinken() ) {
|
||||
keuze = 'T';
|
||||
$.each( dit.modules(), function ( i, b ) {
|
||||
b.vinkje( true );
|
||||
} );// each
|
||||
}
|
||||
else{
|
||||
keuze = 'F';
|
||||
$.each( dit.modules(), function ( i, b ) {
|
||||
b.vinkje( false );
|
||||
} );
|
||||
}
|
||||
|
||||
var submitData = {
|
||||
"clustervinkje": keuze,
|
||||
"berichtid" : self.selectedBericht().berichtid,
|
||||
"clusterid" : dit.clusterid,
|
||||
}
|
||||
$.post( "index.php/monpas/berichten/koppelcluster", submitData, function ( data ) {
|
||||
}, 'json' );
|
||||
},
|
||||
|
||||
fVerwijderBericht: function () {
|
||||
var self = mh.BerichtBeheerModel;
|
||||
var dit = this;
|
||||
if ( !self.admin() ) {
|
||||
return;
|
||||
}
|
||||
apprise("Weet je zeker dat je dit bericht wilt verwijderen? Deze wijziging kan niet ongedaangemaakt worden.",
|
||||
{'verify':true, textYes: "ja", textNo: "nee"}, function(answer) {
|
||||
if (answer) {
|
||||
$.post("index.php/monpas/berichten/berichtomwegtegooien/" + dit.berichtid, function (data) {
|
||||
if (data) {
|
||||
self.fGetAdminBerichten()
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
}; // definition van model
|
||||
|
||||
mh.BerichtBeheerModel.initBindings();
|
||||
}
|
||||
; // else
|
||||
}// function initBerichtBeheerModel
|
||||
} );
|
||||
@@ -0,0 +1,53 @@
|
||||
$(function () {
|
||||
|
||||
function fAddBericht(b) {
|
||||
var dit = this;
|
||||
this.berichtid = b.id;
|
||||
this.kort = ko.observable(b.samenvatting);
|
||||
this.lang = ko.observable(b.inhoud);
|
||||
this.startdatum = ko.observable(b.datum);
|
||||
}
|
||||
|
||||
mh.initBerichtenModel = function () {
|
||||
if (mh.BerichtenModel !== undefined) {
|
||||
mh.BerichtenModel.initModel();
|
||||
}
|
||||
else {
|
||||
mh.BerichtenModel = {
|
||||
nieuwtjes : ko.observableArray([]),
|
||||
admin : ko.observable(false),
|
||||
|
||||
initBindings: function () {
|
||||
var self = mh.BerichtenModel;
|
||||
|
||||
if (!ko.dataFor(document.getElementById('pagberichten'))) {
|
||||
ko.applyBindings(mh.BerichtenModel, document.getElementById("pagberichten"));
|
||||
}
|
||||
|
||||
self.initModel();
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
initModel: function () {
|
||||
var self = mh.BerichtenModel;
|
||||
$.post("index.php/monpas/berichten/getBerichten/", function(data){
|
||||
self.nieuwtjes.removeAll();
|
||||
if (data) {
|
||||
$.each(data, function (i, p) {
|
||||
self.nieuwtjes.push(new fAddBericht(p));
|
||||
});// each
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
|
||||
}; // definition van model
|
||||
|
||||
mh.BerichtenModel.initBindings();
|
||||
|
||||
}
|
||||
; // else
|
||||
}// function initBerichtenModel
|
||||
});
|
||||
@@ -0,0 +1,893 @@
|
||||
$(function(){
|
||||
var timeout;
|
||||
|
||||
mh.initCompactSopModel = function(){
|
||||
|
||||
function fAddSchooljaar(s){
|
||||
this.id = s.schooljaarnr;
|
||||
this.naam = s.naam;
|
||||
}
|
||||
|
||||
function fAddSchool(s){
|
||||
this.schoolid = s.id;
|
||||
this.naam = s.naam;
|
||||
this.straat = ko.observable(s && s.straat ? s.straat: '');
|
||||
this.brin = s.brin;
|
||||
this.plaats = ko.observable(s && s.plaats? s.plaats :'');
|
||||
this.foon = ko.observable(s && s.telefoon ? s.telefoon : '');
|
||||
this.email = ko.observable(s && s.email1 ? s.email1: '');
|
||||
this.site = ko.observable(s && s.web ? s.web: '')
|
||||
this.logo = ko.observable(s.logo)
|
||||
}
|
||||
|
||||
function fAddOnderdeel(o) {
|
||||
var dit = this;
|
||||
this.id = o.id;
|
||||
this.nummer = o.nummer;
|
||||
this.ijkpunten = o.ijkpunten;
|
||||
this.geenLicentie = ko.observable(o.licentie == "T" ? false : true);
|
||||
this.naam = o.naam;
|
||||
this.naamkort2 = ko.observable(o.naamkort);
|
||||
switch(o.nummer){
|
||||
case '1': dit.naamkort2('Diversiteit'); break;
|
||||
case '2': dit.naamkort2('Bas.Ond.'); break;
|
||||
case '3': dit.naamkort2('Omvang Ond.');break;
|
||||
case '4': dit.naamkort2('Kwal. Ond.'); break;
|
||||
case '5': dit.naamkort2('Exp.Team'); break;
|
||||
case '6': dit.naamkort2('Tevr. School'); break;
|
||||
case '7': dit.naamkort2('Middelen'); break;
|
||||
case '8': dit.naamkort2('Insp. indic.');
|
||||
}
|
||||
this.groepen = ko.observable(o && o.groepen && o.groepen > 8 ? o.groepen : 0);
|
||||
this.schooltype = o.schooltype;
|
||||
this.modulenr = o.modulenr;
|
||||
this.versie = o.versie;
|
||||
this.schooljaar = o.schooljaar;
|
||||
// this.schooljaarV = o.schooljaarV;
|
||||
this.aantallln = ko.observable(o && o.aantallln ? o.aantallln : 0);
|
||||
// this.aantalllnV = ko.observable(o && o.aantalllnV ? o.aantalllnV : 0);
|
||||
//
|
||||
this.gekozenVersie = ko.observable('');
|
||||
this.selected = ko.observable(false); // selected om geplaatst te worden
|
||||
this.opA4 = ko.observable(false); // op een pagina gezet
|
||||
this.gekozenVergelijking = ko.observable();
|
||||
// this.tlvs = ko.observableArray([]);
|
||||
// this.arrangementen = ko.observableArray([]);
|
||||
this.orgversies = ko.observableArray([]);
|
||||
this.budgetversies = ko.observableArray([]);
|
||||
this.omvangschooljaren = ko.observableArray([]);
|
||||
this.selectedLijstId = ko.observable(0);
|
||||
|
||||
if(o.filledversies){
|
||||
$.each(o.filledversies, function(z,v){
|
||||
dit.orgversies.push(new fAddOrgversie(z, v))
|
||||
});
|
||||
}
|
||||
|
||||
if(o.budgetversies){
|
||||
$.each(o.budgetversies, function(n,b){
|
||||
dit.budgetversies.push(new fAddBudgetversie(n, b))
|
||||
});
|
||||
}
|
||||
|
||||
if(o.gevuldeschooljaren){
|
||||
$.each(o.gevuldeschooljaren, function(v, g){
|
||||
dit.omvangschooljaren.push(new fAddOmvangSchooljaar(v,g))
|
||||
});
|
||||
}
|
||||
this.geenGegevens = ko.pureComputed(function(){
|
||||
if (o.gegevens == "F") return true
|
||||
else return false
|
||||
},this)
|
||||
|
||||
this.versies = ko.observable(false);
|
||||
this.isBreedBlok = ko.pureComputed(function(){
|
||||
if (this.groepen() >=9 ) return true
|
||||
if (this.nummer == 7) return true
|
||||
if (this.nummer == 8) return true
|
||||
return false
|
||||
}, this)
|
||||
this.infotekst = ko.pureComputed(function(){
|
||||
var schooljaar = mh.CompactSopModel.selectedSchooljaar() ? mh.CompactSopModel.selectedSchooljaar().naam : '' ;
|
||||
var tekst = ''
|
||||
var diversiteit = o.erIsDiversiteit === 'T' ? true : false
|
||||
|
||||
if (this.geenLicentie() ) return "Geen licentie voor het instrument bij dit onderdeel." ;
|
||||
if (diversiteit && this.nummer == 1) return this.versie
|
||||
if (! diversiteit && this.nummer == 1) { return "Vul eerst de diversiteitsmeter" + schooljaar + " in."; }
|
||||
if (this.nummer==7 ){
|
||||
|
||||
if (!this.budgetversies() || this.budgetversies().length === 0 ) return "Vul eerst de monitor financiën in."
|
||||
if (this.budgetversies().length == 1) return "Kalenderjaar: " + this.budgetversies()[0].kalenderjaar()
|
||||
if (this.budgetversies().length > 1) return "Meerdere versies beschikbaar."
|
||||
return 'fout'
|
||||
}
|
||||
if (this.nummer==3){
|
||||
if(this.omvangschooljaren().length > 1) return "Meerdere schooljaren beschikbaar."
|
||||
if(this.omvangschooljaren().length == 1){
|
||||
var tlvs = "geen tlvs, ";
|
||||
var arr = "geen arrangementen";
|
||||
if(this.omvangschooljaren()[0].erZijnTLVs == true){
|
||||
tlvs = "tlvs, ";
|
||||
}
|
||||
if(this.omvangschooljaren()[0].erZijnArrangementen == true){
|
||||
arr = "arrangementen ";
|
||||
}
|
||||
|
||||
return "Schooljaar " + this.omvangschooljaren()[0].schooljaarnaam + ', '+ tlvs + arr
|
||||
}
|
||||
if(!this.geenLicentie() && this.omvangschooljaren().length == 0) return "Vul eerst gegevens bij dit instrument in."
|
||||
}
|
||||
|
||||
if (this.orgversies().length > 1) return "Meerdere versies beschikbaar."
|
||||
if (this.orgversies().length == 1) return this.naam ;
|
||||
|
||||
if (! this.geenLicentie() && this.ijkpunten =="T") return "Vul eerst een lijst bij dit instrument in."
|
||||
return ''
|
||||
},this)
|
||||
}
|
||||
|
||||
|
||||
|
||||
function fAddTLVs(x,t){
|
||||
var dit = this;
|
||||
this.index = x;
|
||||
this.tlvid = t.id;
|
||||
this.schooljaarnr = t.schooljaarnr;
|
||||
this.schooljaar = t.naam;
|
||||
this.sbo = ko.observable(t && t.sbo ? t.sbo: 0 );
|
||||
this.so = ko.observable(t && t.so ? t.so: 0 );
|
||||
this.bewaarSbo = ko.observable(t && t.sbo ? t.sbo: 0 );
|
||||
this.bewaarSo = ko.observable(t && t.so ? t.so: 0 );
|
||||
this.totaal = ko.observable(parseInt(dit.sbo()) + parseInt(dit.so()));
|
||||
this.selected = ko.observable(false);
|
||||
}
|
||||
|
||||
function fAddArrangementen( a){
|
||||
var dit = this;
|
||||
this.arrangementid = a.id;
|
||||
this.naam = ko.observable(a.naam);
|
||||
this.schooljaarnr = a.schooljaarnr;
|
||||
this.schooljaar = a.schooljaar;
|
||||
this.looptijd = ko.observable(a && a.lengte ==='L' ?'≥ 6 wkn': '< 6 wkn' );
|
||||
this.leeftijd = ko.observable(a.leeftijd);
|
||||
this.aantal = ko.observable(a && a.aantal ? a.aantal : 0);
|
||||
this.bewaarAantal = ko.observable(a && a.aantal ? a.aantal : 0);
|
||||
this.bewaarAantalV = ko.observable(a && a.aantalV ? a.aantalV : 0);
|
||||
this.aantalV = ko.observable(a && a.aantalV ? a.aantalV : 0);
|
||||
this.selected = ko.observable(false);
|
||||
this.archief = ko.observable(false);
|
||||
if(a.archief === 'T'){
|
||||
dit.archief(true);
|
||||
}
|
||||
this.archiefV = ko.observable(false);
|
||||
if(a.archiefV === 'T'){
|
||||
dit.archiefV(true);
|
||||
}
|
||||
}
|
||||
|
||||
function fAddBudgetversie(n, b){
|
||||
this.budgetid = ko.observable(n + 1);
|
||||
this.kalenderjaar = ko.observable(b);
|
||||
}
|
||||
|
||||
function fAddOmvangSchooljaar(v,g){
|
||||
this.schooljaarnaam = g.naam;
|
||||
this.schooljaarnr = g.schooljaarnr;
|
||||
this.erZijnTLVs = g.erZijnTLVs;
|
||||
this.erZijnArrangementen = g.erZijnArrangementen;
|
||||
}
|
||||
|
||||
function fAddOrgversie(z, v) {
|
||||
this.orgversieid = ko.observable(v.id);
|
||||
this.naam = v.naam;
|
||||
this.naamkort = v.naamkort;
|
||||
this.scoretype = v.scoretype;
|
||||
this.periodenummer = v.periodenummer;
|
||||
this.versieid = v.versie_id;
|
||||
this.vorm = v.vorm;
|
||||
this.referentieVersies = ko.observableArray([]);
|
||||
}
|
||||
|
||||
function fAddReferentieVersie(r) {
|
||||
this.orgversieid = ko.observable(r.orgversieid());
|
||||
this.naam = r.naam;
|
||||
this.naamkort = r.naamkort;
|
||||
this.scoretype = r.scoretype;
|
||||
this.periodenummer = r.periodenummer;
|
||||
this.versieid = r.versieid;
|
||||
this.insop = r.insop;
|
||||
this.vorm = r.vorm;
|
||||
this.geselecteerd = ko.observable(false);
|
||||
}
|
||||
|
||||
function fAddPagina(index,p){
|
||||
var dit = this;
|
||||
|
||||
this.paginanummer = index + 1;
|
||||
this.blokjes = ko.observableArray();
|
||||
this.selectedBlokje = ko.observable();
|
||||
|
||||
if(p.blokjes){
|
||||
$.each(p.blokjes(), function(i,b){
|
||||
dit.blokjes.push(new fAddBlokje( i, b, dit.paginanummer))
|
||||
})
|
||||
}
|
||||
else {
|
||||
var n = 0;
|
||||
for (var x = 0; x < 4; x++) {
|
||||
dit.blokjes.push(new fAddBlokje(x, n, dit.paginanummer))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function fAddBlokje(teller, bestaandBlokje, paginanummer){
|
||||
this.bloknummer = ko.observable(bestaandBlokje ? bestaandblokje.bloknummer : (teller + 1));
|
||||
this.paginanummer = paginanummer;
|
||||
this.bovenmarge = ko.observable('5px');
|
||||
if(this.bloknummer() === 1 || this.bloknummer() === 2) { this.bovenmarge('30px'); }
|
||||
|
||||
this.linkermarge = ko.observable('5px');
|
||||
if(this.bloknummer() === 1 || this.bloknummer() === 3){this.linkermarge('20px'); }
|
||||
|
||||
this.breedte = ko.observable('col-xs-5');
|
||||
this.nummer = ko.observable(bestaandBlokje ? bestaandBlokje.nummer : null);
|
||||
|
||||
this.naam = ko.observable(bestaandBlokje ? bestaandBlokje.naam : '');
|
||||
|
||||
this.naamkort2 = ko.observable(bestaandBlokje.naamkort2);
|
||||
|
||||
this.kleur = ko.observable(bestaandBlokje ? bestaandBlokje.kleur : 'transparent');
|
||||
this.groepen = ko.observable(bestaandBlokje ? bestaandBlokje.groepen : 0);
|
||||
this.gevuld = ko.observable(false);
|
||||
this.verborgen = ko.observable(false);
|
||||
|
||||
this.modulenr = ko.observable(0);
|
||||
this.kalenderjaar = ko.observable(0);
|
||||
this.gekozenVersie = ko.observable('');
|
||||
this.gekozenVergelijking = ko.observable();
|
||||
this.isBreedBlok = ko.observable(false)
|
||||
}
|
||||
|
||||
if (mh.CompactSopModel !== undefined){
|
||||
mh.CompactSopModel.initModel();
|
||||
}
|
||||
else {
|
||||
mh.CompactSopModel = {
|
||||
schooljaren : ko.observableArray([]),
|
||||
onderdelen : ko.observableArray([]),
|
||||
school : ko.observableArray([]),
|
||||
selectedOmvangJaren : ko.observableArray([]),
|
||||
schoolasobject : ko.observable(),
|
||||
selectedSchooljaar : ko.observable(''),
|
||||
selectedSopID : ko.observable(''),
|
||||
selectedOnderdeel : ko.observable(''),
|
||||
tobemovedOnderdeel : ko.observable(),
|
||||
selectedOrgVersie : ko.observable(''),
|
||||
selectedBudgetVersie : ko.observable(''),
|
||||
selectedBlokje : ko.observable(''),
|
||||
ls_selectedLijstId : ko.observable(),
|
||||
naamNieuw : ko.observable(""),
|
||||
leeftijdNieuw : ko.observable(""),
|
||||
looptijdNieuw : ko.observable('L'),
|
||||
aantalNieuw : ko.observable(0),
|
||||
naamNieuwV : ko.observable(""),
|
||||
leeftijdNieuwV : ko.observable(""),
|
||||
looptijdNieuwV : ko.observable('L'),
|
||||
aantalNieuwV : ko.observable(0),
|
||||
schooljanee : ko.observable(false),
|
||||
editok : ko.observable(false),
|
||||
erIsEenSop : ko.observable(false),
|
||||
druk : ko.observable(false),
|
||||
toonOnderdelen : ko.observable(true),
|
||||
pdfKnop : ko.pureComputed(function(){
|
||||
var model = mh.CompactSopModel;
|
||||
var erzijnonderdelen = false
|
||||
if (! model) return false
|
||||
if (model.onderdelen()){
|
||||
|
||||
$.each(model.onderdelen(), function(j,k){
|
||||
if (k.opA4()) {
|
||||
erzijnonderdelen = true
|
||||
return
|
||||
}
|
||||
})
|
||||
}
|
||||
return erzijnonderdelen
|
||||
}),
|
||||
nieuwArrangement : ko.observable(false),
|
||||
nieuwArrangementV : ko.observable(false),
|
||||
|
||||
selectedOnderdelen : ko.observableArray([]),
|
||||
paginas : ko.observableArray([]),
|
||||
|
||||
uploadLogoNaam : ko.observable(),
|
||||
showLogoNaam : ko.pureComputed(function(){
|
||||
return mh.CompactSopModel.uploadLogoNaam().replace('C:\\fakepath\\', '')
|
||||
}),
|
||||
|
||||
initBindings :function(){
|
||||
var self = mh.CompactSopModel;
|
||||
if (!ko.dataFor(document.getElementById('pagcompactsop')) ) {
|
||||
ko.applyBindings(mh.CompactSopModel, document.getElementById("pagcompactsop"));
|
||||
}
|
||||
$.post('index.php/monpas/sop/getrechten', function (result) {
|
||||
self.editok(result);
|
||||
self.initModel();
|
||||
}, 'json');
|
||||
},
|
||||
|
||||
initModel: function(){
|
||||
var self =mh.CompactSopModel;
|
||||
$.post("index.php/monpas/compactsop/controleerschool", function (result){
|
||||
self.schooljanee(result);
|
||||
if (self.schooljanee() ){
|
||||
self.druk(true);
|
||||
self.fGetSchooljaren(function(){self.fGetCompactSop()})
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
|
||||
fGetSchooljaren: function(callback){
|
||||
var self =mh.CompactSopModel;
|
||||
$.post("index.php/monpas/compactsop/getSchooljaren", function(data){
|
||||
self.selectedSchooljaar(null)
|
||||
self.schooljaren.removeAll();
|
||||
self.toonOnderdelen(true)
|
||||
self.selectedOnderdelen.removeAll()
|
||||
self.paginas.removeAll();
|
||||
|
||||
if(data) {
|
||||
$.each(data, function (i, s) {
|
||||
self.schooljaren.push(new fAddSchooljaar(s));
|
||||
});//each
|
||||
if (self.schooljaren() ) self.selectedSchooljaar(self.schooljaren()[0]);
|
||||
|
||||
} // if
|
||||
self.druk(false);
|
||||
if (typeof callback == "function") callback()
|
||||
},'json')
|
||||
},
|
||||
|
||||
fGetCompactSop: function(){
|
||||
var self =mh.CompactSopModel;
|
||||
if (self.druk()) return;
|
||||
if(self.selectedSchooljaar() === undefined){
|
||||
self.druk(true)
|
||||
self.fGetSchooljaren()
|
||||
return
|
||||
}
|
||||
|
||||
$.post("index.php/monpas/compactsop/getCompactsop/" + self.selectedSchooljaar().id, function(result){
|
||||
self.onderdelen.removeAll();
|
||||
self.selectedOnderdelen.removeAll()
|
||||
self.paginas.removeAll();
|
||||
self.toonOnderdelen(true);
|
||||
self.erIsEenSop(false);
|
||||
if(result){
|
||||
self.selectedSopID(result);
|
||||
self.erIsEenSop(true);
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
|
||||
fOpenPDF: function(){
|
||||
var self =mh.CompactSopModel;
|
||||
window.open( "index.php/monpas/compactsop/download_pdf/" + self.selectedSopID() );
|
||||
},
|
||||
|
||||
fGetOnderdelenEnVersies: function(){
|
||||
var self =mh.CompactSopModel;
|
||||
var schooljaar = self.selectedSchooljaar().id;
|
||||
|
||||
self.toonOnderdelen(true);
|
||||
self.selectedOnderdelen.removeAll();
|
||||
self.paginas.removeAll();
|
||||
|
||||
if(self.erIsEenSop()){
|
||||
apprise("Het nieuwe Compact Sop overschrijft het bestaande Compact Sop bij dit schooljaar. Wilt u doorgaan?",
|
||||
{verify: true, textYes: ' ja ', textNo: "nee"}, function (ans) {
|
||||
if (ans) {
|
||||
$.post("index.php/monpas/compactsop/getOnderdelenEnVersies/" + schooljaar, function(result){
|
||||
self.onderdelen.removeAll();
|
||||
if(result){
|
||||
$.each(result, function(i, o){
|
||||
self.onderdelen.push(new fAddOnderdeel(o))
|
||||
self.selectedOnderdeel(self.onderdelen()[0]);
|
||||
self.toonOnderdelen(true);
|
||||
});
|
||||
}
|
||||
},'json');
|
||||
} // if ans
|
||||
});//apprise
|
||||
} else {
|
||||
$.post("index.php/monpas/compactsop/getOnderdelenEnVersies/" + schooljaar, function(result){
|
||||
self.onderdelen.removeAll();
|
||||
if(result){
|
||||
$.each(result, function(i, o){
|
||||
self.onderdelen.push(new fAddOnderdeel(o))
|
||||
self.toonOnderdelen(true);
|
||||
});
|
||||
}
|
||||
},'json');
|
||||
} // else
|
||||
},
|
||||
|
||||
fGetSchoolgegevens: function(){
|
||||
var self = mh.CompactSopModel;
|
||||
$.post("index.php/monpas/compactsop/getSchoolgegevens", function (result) {
|
||||
if(result){
|
||||
self.school.removeAll();
|
||||
// hier kun je ook
|
||||
//self.school(new fAddSchool(result)) doen.
|
||||
// dan wordt het geen array maar een object
|
||||
self.schoolasobject(new fAddSchool(result))
|
||||
|
||||
self.school.push(new fAddSchool(result));
|
||||
$("#modSchool").modal('show');
|
||||
}
|
||||
}, 'json');
|
||||
},
|
||||
|
||||
fSaveSchool: function(){
|
||||
var self = mh.CompactSopModel;
|
||||
|
||||
if (timeout) {
|
||||
clearTimeout(timeout);
|
||||
timeout = null;
|
||||
}
|
||||
var dit = this;
|
||||
timeout = setTimeout(function () {
|
||||
|
||||
var submitData = {
|
||||
'straat' : dit.straat(),
|
||||
'plaats' : dit.plaats(),
|
||||
'telefoon' : dit.foon(),
|
||||
'email1' : dit.email(),
|
||||
'web' : dit.site(),
|
||||
'id' : dit.schoolid
|
||||
};
|
||||
// je mag ook een post doen zonder dat je resultaat terug verwacht van de server
|
||||
// dan laat je result en de afsluitenden json weg
|
||||
$.post("index.php/monpas/compactsop/saveSchool", submitData, function (result) {
|
||||
if(result){
|
||||
|
||||
}
|
||||
}, 'json');
|
||||
}, 600);
|
||||
},
|
||||
|
||||
|
||||
fSelecteerOnderdeel: function() {
|
||||
var self = mh.CompactSopModel;
|
||||
var dit = this;
|
||||
|
||||
|
||||
if (dit.geenGegevens() || dit.geenLicentie()) return;
|
||||
self.selectedOnderdeel(this);
|
||||
|
||||
if( (dit.orgversies() && dit.orgversies().length > 1) || dit.budgetversies().length > 1 || dit.omvangschooljaren().length > 1) {
|
||||
$.each(self.onderdelen(), function (i, o) {
|
||||
if (o.id !== self.selectedOnderdeel().id) {
|
||||
o.versies(false);
|
||||
}
|
||||
});
|
||||
|
||||
if (dit.orgversies().length > 0) {
|
||||
self.selectedOrgVersie(this.orgversies()[0]);
|
||||
self.ls_selectedLijstId(this.orgversies()[0].orgversieid());
|
||||
self.fGetVergelijkbareVersies();
|
||||
}
|
||||
|
||||
if (dit.budgetversies().length > 0) {
|
||||
self.selectedBudgetVersie(this.budgetversies()[0]);
|
||||
self.ls_selectedLijstId(this.budgetversies()[0].budgetid());
|
||||
}
|
||||
|
||||
|
||||
dit.versies(true);
|
||||
return true;
|
||||
} // if meer versies
|
||||
|
||||
|
||||
|
||||
|
||||
this.selected(true);
|
||||
|
||||
if(self.selectedOnderdeel().nummer === '1' ){
|
||||
self.selectedOnderdeel().gekozenVersie("");
|
||||
}
|
||||
else if(self.selectedOnderdeel().nummer === '3'){
|
||||
self.selectedOmvangJaren.removeAll();
|
||||
if(self.selectedOnderdeel().omvangschooljaren().length == 1) {
|
||||
self.selectedOmvangJaren.push(self.selectedOnderdeel().omvangschooljaren()[0].schooljaarnr);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
else if(self.selectedOnderdeel().nummer === '7') {
|
||||
self.selectedOnderdeel().gekozenVersie(this.budgetversies()[0].kalenderjaar())
|
||||
}
|
||||
else {
|
||||
self.selectedOnderdeel().gekozenVersie(this.orgversies()[0].orgversieid())
|
||||
}
|
||||
|
||||
self.selectedOnderdelen.push(self.selectedOnderdeel());
|
||||
},
|
||||
|
||||
fAnnuleerOnderdeel: function(){
|
||||
var self = mh.CompactSopModel;
|
||||
var dit = this;
|
||||
this.selected(false)
|
||||
this.versies(false);
|
||||
var indexO;
|
||||
return true;
|
||||
},
|
||||
|
||||
fStartUploading: function(){
|
||||
var self = mh.CompactSopModel;
|
||||
var schoolID = self.school()[0].schoolid;
|
||||
|
||||
var vFD = new FormData(document.getElementById('upload_form'));
|
||||
var oXHR = new XMLHttpRequest();
|
||||
oXHR.open('POST', 'index.php/monpas/compactsop/uploadLogo/' + schoolID);
|
||||
oXHR.send(vFD);
|
||||
|
||||
setTimeout(function(){
|
||||
var sd = {schoolID : self.school()[0].schoolid}
|
||||
$.post("index.php/monpas/compactsop/getLogo" , sd, function(result){
|
||||
|
||||
if (result == '') self.school()[0].logo(null)
|
||||
else self.school()[0].logo(result);
|
||||
|
||||
self.schoolasobject().logo(self.school()[0].logo())
|
||||
self.uploadLogoNaam(null);
|
||||
|
||||
}, 'json')
|
||||
}, 500) // set timeout
|
||||
},
|
||||
|
||||
fSelecteerBudgetVersie: function(data, parent){
|
||||
var self = mh.CompactSopModel;
|
||||
var onderdeel = data;
|
||||
var dit = this;
|
||||
|
||||
if (dit.naam) {
|
||||
self.selectedBudgetVersie(this);
|
||||
}
|
||||
return true;
|
||||
},
|
||||
|
||||
fSelecteerOrgversie: function(data, parent){
|
||||
var self = mh.CompactSopModel;
|
||||
var onderdeel = data;
|
||||
var dit = this;
|
||||
|
||||
self.selectedOnderdeel(onderdeel);
|
||||
|
||||
if(dit.naam) {
|
||||
self.selectedOrgVersie(this);
|
||||
self.fGetVergelijkbareVersies();
|
||||
}
|
||||
return true;
|
||||
},
|
||||
|
||||
fGetVergelijkbareVersies: function() {
|
||||
var self = mh.CompactSopModel;
|
||||
var dit = this;
|
||||
|
||||
if(self.selectedOnderdeel().orgversies()) {
|
||||
|
||||
$.each(self.selectedOnderdeel().orgversies(), function (x, o) {
|
||||
o.referentieVersies.removeAll()
|
||||
$.each(self.selectedOnderdeel().orgversies(), function(a,ref){
|
||||
if (ref.versieid == o.versieid &&
|
||||
ref.scoretype == o.scoretype &&
|
||||
|
||||
ref.orgversieid() != o.orgversieid() &&
|
||||
ref.periodenummer < o.periodenummer) {
|
||||
o.referentieVersies.push(new fAddReferentieVersie(ref));
|
||||
}
|
||||
}) // ref zoeken
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
fSelecteerVergelijking: function(parent){
|
||||
var self = mh.CompactSopModel;
|
||||
parent.gekozenVergelijking(this.orgversieid());
|
||||
return true;
|
||||
},
|
||||
|
||||
fSelecteerVersieOnderdeel: function(){
|
||||
var self = mh.CompactSopModel;
|
||||
|
||||
var dit = this;
|
||||
if(dit.geenGegevens() || dit.geenLicentie()) return;
|
||||
|
||||
self.selectedOnderdeel(this);
|
||||
if(self.selectedOmvangJaren().length > 2){
|
||||
apprise("Selecteer maximaal 2 schooljaren");
|
||||
return;
|
||||
}
|
||||
if(self.selectedOnderdeel().nummer == 3 && self.selectedOmvangJaren().length == 0){
|
||||
apprise("Selecteer één of twee schooljaren");
|
||||
return;
|
||||
}
|
||||
|
||||
if(self.selectedOrgVersie()){
|
||||
self.selectedOnderdeel().gekozenVersie(self.selectedOrgVersie().orgversieid());
|
||||
}
|
||||
|
||||
if(self.selectedBudgetVersie()){
|
||||
self.selectedOnderdeel().gekozenVersie(self.selectedBudgetVersie().kalenderjaar());
|
||||
}
|
||||
self.fOnderdelenInArray();
|
||||
return true;
|
||||
},
|
||||
|
||||
fSluitVersieOnderdeel(){
|
||||
var self = mh.CompactSopModel;
|
||||
this.versies(false);
|
||||
},
|
||||
|
||||
fOnderdelenInArray: function() {
|
||||
var self = mh.CompactSopModel;
|
||||
var dit = this;
|
||||
self.selectedOnderdelen.push(self.selectedOnderdeel());
|
||||
self.selectedOnderdeel().selected(true);
|
||||
},
|
||||
|
||||
fTerugNaarOnderdelen: function(){
|
||||
var self = mh.CompactSopModel;
|
||||
self.toonOnderdelen(true)
|
||||
},
|
||||
|
||||
fMaakLayout: function(){
|
||||
var self = mh.CompactSopModel;
|
||||
self.toonOnderdelen(false);
|
||||
|
||||
//reset alle paginas
|
||||
$.each(self.onderdelen() , function(i,onderdeel){
|
||||
onderdeel.opA4(false);
|
||||
})
|
||||
|
||||
self.paginas.removeAll();
|
||||
var aantalOnderdelen =0
|
||||
$.each(self.onderdelen(), function(x,onderdeel){
|
||||
if (onderdeel.selected()){
|
||||
if(onderdeel.nummer === '7' ||parseInt(onderdeel.groepen()) > 8 || onderdeel.nummer === '8' ){
|
||||
aantalOnderdelen = parseInt(aantalOnderdelen) + parseInt(2);
|
||||
} else {
|
||||
aantalOnderdelen += 1
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
var vellen = Math.ceil(aantalOnderdelen/4);
|
||||
var p = 0;
|
||||
|
||||
for(var i = 0; i < vellen; i++){
|
||||
self.paginas.push( new fAddPagina(i, p));
|
||||
}
|
||||
},
|
||||
|
||||
// fAllowDrop: function(data, event){
|
||||
// var self = mh.CompactSopModel;
|
||||
// event.stopPropagation();
|
||||
// event.preventDefault();
|
||||
// },
|
||||
|
||||
// fDragstart: function(data, event){
|
||||
// var self = mh.CompactSopModel;
|
||||
// var dit = this;
|
||||
// data.dataTransfer.setData(event.naam, event.nummer);
|
||||
// },
|
||||
|
||||
// fDrop: function(data, event){
|
||||
// var self = mh.CompactSopModel;
|
||||
// event.preventDefault();
|
||||
// var data2 = event.dataTransfer.getData(event.naam, event.nummer);
|
||||
// event.target.appendChild(document.getElementById(data2));
|
||||
// },
|
||||
|
||||
fSelectVoorPlaatsing: function(){
|
||||
var self = mh.CompactSopModel;
|
||||
if (this == self.tobemovedOnderdeel() ){
|
||||
self.tobemovedOnderdeel(null);
|
||||
} else {
|
||||
self.tobemovedOnderdeel(this)
|
||||
}
|
||||
},
|
||||
|
||||
fHiernaartoe: function(){
|
||||
var self = mh.CompactSopModel;
|
||||
|
||||
if (! self.tobemovedOnderdeel() && this.gevuld()){
|
||||
self.fAnnuleerPlaatsing(this);
|
||||
return
|
||||
}
|
||||
|
||||
if (this.gevuld() ) {
|
||||
apprise("Deze positie is al gevuld.");
|
||||
return;
|
||||
}
|
||||
self.fSetBlokje(this)
|
||||
},
|
||||
|
||||
fSetBlokje:function(selectedBlokje){
|
||||
var self = mh.CompactSopModel;
|
||||
|
||||
if (selectedBlokje.gevuld()) return;
|
||||
if (! self.tobemovedOnderdeel() ) return;
|
||||
if (self.tobemovedOnderdeel().opA4()) return;
|
||||
if (self.tobemovedOnderdeel().isBreedBlok() && ! self.fCheckGrootBlokPast(selectedBlokje)) return;
|
||||
|
||||
var paginanummer = selectedBlokje.paginanummer - 1
|
||||
// als het een breed blok is, ga dan uit van het eerste blok in de
|
||||
//rij om alle waardes te zetten
|
||||
//of dat kan is in fCheckGrootBlokPast gecontroleerd
|
||||
if ((selectedBlokje.bloknummer() ==2 || selectedBlokje.bloknummer() ==4) &&
|
||||
self.tobemovedOnderdeel().isBreedBlok()){
|
||||
selectedBlokje = self.paginas()[paginanummer].blokjes()[selectedBlokje.bloknummer() - 2]
|
||||
} ;
|
||||
|
||||
selectedBlokje.naamkort2(self.tobemovedOnderdeel().naamkort2());
|
||||
selectedBlokje.groepen(self.tobemovedOnderdeel().groepen());
|
||||
selectedBlokje.isBreedBlok(self.tobemovedOnderdeel().isBreedBlok());
|
||||
|
||||
if (selectedBlokje.isBreedBlok()) {
|
||||
self.fVoegGrootBlokToe(selectedBlokje);
|
||||
}
|
||||
|
||||
self.tobemovedOnderdeel().opA4(true);
|
||||
selectedBlokje.modulenr(self.tobemovedOnderdeel().modulenr ? self.tobemovedOnderdeel().modulenr : null)
|
||||
selectedBlokje.gekozenVersie(self.tobemovedOnderdeel().gekozenVersie() ? self.tobemovedOnderdeel().gekozenVersie() : null)
|
||||
selectedBlokje.gekozenVergelijking(self.tobemovedOnderdeel().gekozenVergelijking() ? self.tobemovedOnderdeel().gekozenVergelijking() : null)
|
||||
selectedBlokje.nummer(self.tobemovedOnderdeel().nummer);
|
||||
selectedBlokje.gevuld(true);
|
||||
selectedBlokje.kleur('#930f50');
|
||||
selectedBlokje.naam(self.tobemovedOnderdeel().naam);
|
||||
self.tobemovedOnderdeel(null)
|
||||
},
|
||||
|
||||
fCheckGrootBlokPast :function(blokje){
|
||||
var self = mh.CompactSopModel;
|
||||
var paginanr = parseInt(blokje.paginanummer) -1
|
||||
var targetblokje= parseInt( blokje.bloknummer())
|
||||
var testblokje
|
||||
|
||||
if (targetblokje == 1 || targetblokje == 3) {
|
||||
// check of het volgende blokje leeg is
|
||||
testblokje = self.paginas()[paginanr].blokjes()[targetblokje];
|
||||
}
|
||||
if (targetblokje == 2 || targetblokje == 4) {
|
||||
// check of het vorige blokje leeg is
|
||||
testblokje = self.paginas()[paginanr].blokjes()[(targetblokje - 2)];
|
||||
}
|
||||
|
||||
if (testblokje.gevuld() || blokje.gevuld()){
|
||||
apprise("Voor dit onderdeel is de volle breedte van de pagina nodig. " +
|
||||
"Kies een ander plek of verwijder <i>" +
|
||||
testblokje.naam() + "</i>" )
|
||||
return false
|
||||
}
|
||||
return true
|
||||
},
|
||||
|
||||
fVoegGrootBlokToe: function (blokje){
|
||||
var self = mh.CompactSopModel;
|
||||
// een groot blokje heeft altijd de bloknummer 1 of 3 want
|
||||
//dat is hiervoor al getest en anders gezet op bloknummer 1 of 2
|
||||
var paginanr = parseInt(blokje.paginanummer) -1
|
||||
var targetblokje= parseInt( blokje.bloknummer())
|
||||
var testblokje
|
||||
|
||||
testblokje = self.paginas()[paginanr].blokjes()[targetblokje];
|
||||
testblokje.verborgen(true);
|
||||
},
|
||||
|
||||
fAnnuleerPlaatsing: function(blokje){
|
||||
var self = mh.CompactSopModel;
|
||||
var geplaatst = 0;
|
||||
|
||||
$.each(self.onderdelen(), function(i,p){
|
||||
if (p.nummer == blokje.nummer()) {
|
||||
p.opA4(false)
|
||||
}
|
||||
})
|
||||
|
||||
blokje.gevuld(false);
|
||||
blokje.verborgen(false);
|
||||
blokje.nummer('');
|
||||
blokje.modulenr('');
|
||||
blokje.kalenderjaar('');
|
||||
blokje.gekozenVersie('');
|
||||
blokje.gekozenVergelijking('');
|
||||
blokje.kleur('transparent');
|
||||
blokje.naam('');
|
||||
blokje.naamkort2('');
|
||||
|
||||
if (blokje.isBreedBlok()){
|
||||
blokje.isBreedBlok(false)
|
||||
|
||||
var paginanr = parseInt(blokje.paginanummer) -1
|
||||
var targetblokje= parseInt( blokje.bloknummer()) ;
|
||||
|
||||
// bij een breedblokje is het bloknummer altijd 1 of 3
|
||||
self.paginas()[paginanr].blokjes()[targetblokje].verborgen(false);
|
||||
}
|
||||
},
|
||||
|
||||
fMaakPDF: function(){
|
||||
var self = mh.CompactSopModel;
|
||||
if (! self.selectedSchooljaar()){
|
||||
apprise("Geen schooljaar geselecteerd.")
|
||||
return
|
||||
}
|
||||
var sops = [];
|
||||
var sop;
|
||||
$.each(self.paginas(), function(x, p){
|
||||
$.each(p.blokjes(), function(i, s){
|
||||
if(!s.verborgen()) {
|
||||
sop = {
|
||||
'paginanr' : s.paginanummer,
|
||||
'bloknr' : s.bloknummer(),
|
||||
'onderdeelnr' : s.nummer(),
|
||||
'modulenr' : s.modulenr() ? s.modulenr() : '',
|
||||
'kalenderjaar': s.kalenderjaar() ? s.kalenderjaar() : '',
|
||||
'orgversieid' : s.gekozenVersie() ? s.gekozenVersie() : '',
|
||||
'vergelijkid' : s.gekozenVergelijking() ? s.gekozenVergelijking() : null
|
||||
};
|
||||
sops.push(sop);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
if(self.selectedOmvangJaren().length > 1){
|
||||
self.selectedOmvangJaren.sort(function(a,b){return a-b}) ;
|
||||
}
|
||||
var submitData = {
|
||||
'schooljaarnr' : self.selectedSchooljaar().id,
|
||||
'onderdelen' : sops,
|
||||
'jaren' : self.selectedOmvangJaren()
|
||||
|
||||
};
|
||||
|
||||
$.post("index.php/monpas/compactsop/maakPDF/", submitData, function(result){
|
||||
|
||||
window.open('tmp/temp' + result + '.html');
|
||||
if(result){
|
||||
self.erIsEenSop(true);
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
|
||||
filterSelected: function(onderdelen){
|
||||
if (! onderdelen()) return false;
|
||||
return onderdelen().filter(function(onderdeel){
|
||||
return ( onderdeel.selected() );
|
||||
});
|
||||
},
|
||||
filterSelected_NotPlaced: function(onderdelen){
|
||||
if (! onderdelen()) return false;
|
||||
return onderdelen().filter(function(onderdeel){
|
||||
return ( onderdeel.selected() && ! onderdeel.opA4() );
|
||||
});
|
||||
},
|
||||
fToonUsage: function(wat){
|
||||
switch (wat){
|
||||
case "plaatsen" : apprise("Klik op een onderdeel om het te selecteren. <br>" +
|
||||
"Klik vervolgens onder <i>Plaats onderdelen</i> op het vak waar u het onderdeel wilt plaatsen.");
|
||||
break;
|
||||
case "terugplaatsen" : apprise("Klik op een geplaatst onderdeel om de plaatsing ongedaan te maken.");
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
} ; // definition van model
|
||||
mh.CompactSopModel.initBindings();
|
||||
} // else
|
||||
}// function init mh.SoptestModel
|
||||
});
|
||||
@@ -0,0 +1,514 @@
|
||||
$(function(){
|
||||
|
||||
ls.initFileFoldersModel = function(modulenr){
|
||||
|
||||
function fAddFolder(p, layer){
|
||||
this.id = p.id
|
||||
this.organisatie_id = p.organisatie_id;
|
||||
this.valtonder = p.valtonder;
|
||||
this.nummer = ko.observable(p.nummer);
|
||||
this.naam = ko.observable(p.naam);
|
||||
this.geopend = ko.observable(false);
|
||||
this.selected = ko.observable(false);
|
||||
this.subfolders = ko.observableArray();
|
||||
this.layer = ko.observable(layer);
|
||||
var dit = this
|
||||
this.bestanden = ko.observableArray()
|
||||
if (p.files){
|
||||
$.each(p.files, function(j,k){
|
||||
dit.bestanden.push(new fAddFile(k));
|
||||
});
|
||||
}
|
||||
if (p.subfolders){
|
||||
$.each(p.subfolders, function(j,k){
|
||||
dit.subfolders.push( new fAddFolder(k, dit.layer()+ 1));
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function fAddFile(p){
|
||||
this.id = p.id
|
||||
this.naam = ko.observable(p.naam)
|
||||
this.modified = p.modified
|
||||
this.editMode = ko.observable(false)
|
||||
this.pdf = ko.observable(false)
|
||||
if (p.pdf==true || p.pdf==1) this.pdf(true);
|
||||
this.owner = false;
|
||||
if (p.owner == 1) this.owner = true
|
||||
}
|
||||
|
||||
if (ls.FileFoldersModel !== undefined){
|
||||
ls.FileFoldersModel.initModel(modulenr);
|
||||
}
|
||||
else {
|
||||
ls.FileFoldersModel = {
|
||||
modulenr : ko.observable(),
|
||||
folders : ko.observableArray(),
|
||||
bezig : ko.observable(false),
|
||||
filefocus : ko.observable(),
|
||||
zoekfile : ko.observable(),
|
||||
zoekresultaat : ko.observableArray([]),
|
||||
manager : ko.observable(false),
|
||||
textAfwijkend : ko.observable(false),
|
||||
specialetekst : ko.observable(''),
|
||||
newTopNaam : ko.observable(''),
|
||||
newTopNummer : ko.observable(),
|
||||
newSubNaam : ko.observable(''),
|
||||
newSubNummer : ko.observable(),
|
||||
newNummer : ko.observable(),
|
||||
newNaam : ko.observable(),
|
||||
selectedFolder : ko.observable(),
|
||||
|
||||
|
||||
initBindings :function(modulenr){
|
||||
var vm = ls.FileFoldersModel;
|
||||
if (!ko.dataFor(document.getElementById('pagfilefolders')) ) {
|
||||
ko.applyBindings(ls.FileFoldersModel, document.getElementById("pagfilefolders"));
|
||||
}
|
||||
$.post('index.php/shared/filefolders/getAuth', function(result){
|
||||
if (result > 0) vm.manager(true)
|
||||
else vm.manager(false);
|
||||
|
||||
vm.initModel(modulenr);
|
||||
},'json');
|
||||
},
|
||||
initModel: function(modulenr){
|
||||
var vm = ls.FileFoldersModel;
|
||||
vm.modulenr(modulenr)
|
||||
vm.fGetFileFolders(modulenr);
|
||||
|
||||
var submitData={
|
||||
'modulenr' : modulenr,
|
||||
'paginanaam': 'filefolders',
|
||||
}
|
||||
|
||||
$.post('index.php/shared/filefolders/getafwijkendetekst', submitData, function(result){
|
||||
if (result){
|
||||
vm.textAfwijkend(true);
|
||||
vm.specialetekst(result);
|
||||
}
|
||||
},'json')
|
||||
|
||||
},
|
||||
|
||||
fGetFileFolders: function(){
|
||||
var vm = ls.FileFoldersModel;
|
||||
var dit = this;
|
||||
vm.folders.removeAll();
|
||||
|
||||
$.post('index.php/shared/filefolders/getfolders/' + modulenr, function(result){
|
||||
|
||||
if (result){
|
||||
$.each(result, function(i,p){
|
||||
vm.folders.push(new fAddFolder(p,0));
|
||||
})
|
||||
|
||||
}
|
||||
},'json')
|
||||
},
|
||||
|
||||
fToggleGeopend: function(){
|
||||
this.geopend(! this.geopend())
|
||||
},
|
||||
|
||||
fSetSelected:function(){
|
||||
var vm = ls.FileFoldersModel;
|
||||
var dit = this;
|
||||
var huidig = this.selected();
|
||||
if (vm.folders()){
|
||||
$.each(vm.folders(), function(i,p){
|
||||
vm.fUnselectAll(p)
|
||||
});
|
||||
}
|
||||
dit.selected(! huidig);
|
||||
},
|
||||
|
||||
fUnselectAll:function(folder){
|
||||
var vm =ls.FileFoldersModel;
|
||||
folder.selected(false);
|
||||
if (folder.subfolders()){
|
||||
$.each(folder.subfolders(), function(j,k){
|
||||
vm.fUnselectAll(k);
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
fNewTopFolder: function(){
|
||||
var vm = ls.FileFoldersModel;
|
||||
$(" #modNewTopFolder ").modal('show');
|
||||
vm.newTopNaam('');
|
||||
if(vm.folders && vm.folders().length > 0){
|
||||
var index = vm.folders().length -1;
|
||||
vm.newTopNummer(Number(vm.folders()[index].nummer()) + 1);
|
||||
}
|
||||
else{
|
||||
vm.newTopNummer(1);
|
||||
}
|
||||
},
|
||||
|
||||
fSafeTopfolder: function(){
|
||||
var vm = ls.FileFoldersModel;
|
||||
var dit = this;
|
||||
var nummer = dit.newTopNummer();
|
||||
if(isNaN(nummer) && nummer !== '' ){
|
||||
apprise("Vul bij nummer een getal in of vul niets in.")
|
||||
return;
|
||||
}
|
||||
if(nummer === ''){
|
||||
nummer= false;
|
||||
}
|
||||
|
||||
var sd ={
|
||||
nummer : nummer,
|
||||
naam : dit.newTopNaam(),
|
||||
modulenr : vm.modulenr()}
|
||||
|
||||
|
||||
|
||||
$("#modNewTopFolder").modal('hide');
|
||||
$.post("index.php/shared/filefolders/maakTopFolder" ,sd, function(result){
|
||||
vm.bezig(false);
|
||||
if (! result) return;
|
||||
dit.folders.push(new fAddFolder(result, 0));
|
||||
dit.newTopNummer('');
|
||||
dit.newTopNaam('');
|
||||
},'json')
|
||||
},
|
||||
|
||||
fNewSubFolder: function(){
|
||||
var vm = ls.FileFoldersModel;
|
||||
vm.newSubNummer(1);
|
||||
vm.newSubNaam('');
|
||||
vm.selectedFolder(this);
|
||||
$("#modNieuweSubFolder").modal('show');
|
||||
|
||||
|
||||
if(vm.selectedFolder().subfolders() && vm.selectedFolder().subfolders().length > 0){
|
||||
var index = vm.selectedFolder().subfolders().length -1;
|
||||
vm.newSubNummer( Number(vm.selectedFolder().subfolders()[index].nummer() ) + 1 )
|
||||
}
|
||||
else{
|
||||
vm.newSubNummer(1);
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
fSafeSubfolder: function(){
|
||||
var vm = ls.FileFoldersModel;
|
||||
var dit = this;
|
||||
var nummer = dit.newSubNummer()
|
||||
if(isNaN(nummer) && nummer !== '' ){
|
||||
apprise("Vul bij nummer een getal in of vul niets in.")
|
||||
return;
|
||||
}
|
||||
|
||||
var sd ={
|
||||
nummer : nummer,
|
||||
naam : dit.newSubNaam(),
|
||||
folderID : vm.selectedFolder().id,
|
||||
modulenr : vm.modulenr()}
|
||||
|
||||
|
||||
$("#modNieuweSubFolder").modal('hide');
|
||||
$.post("index.php/shared/filefolders/maakSubFolder" ,sd, function(result){
|
||||
vm.bezig(false);
|
||||
if (! result) return;
|
||||
vm.selectedFolder().subfolders.push(new fAddFolder(result, vm.selectedFolder().layer() + 1))
|
||||
dit.newTopNummer('');
|
||||
dit.newTopNaam('');
|
||||
vm.selectedFolder('');
|
||||
},'json')
|
||||
},
|
||||
|
||||
fStandaardFolders: function(){
|
||||
var vm = ls.FileFoldersModel;
|
||||
var sd ={modulenr : vm.modulenr()}
|
||||
$.post("index.php/shared/filefolders/maakStandaardFolders" ,sd, function(result){
|
||||
if (! result){
|
||||
apprise('Geen standaardfolders beschikbaar.')
|
||||
return;
|
||||
}
|
||||
$.each(result, function(i,p){
|
||||
vm.folders.push(new fAddFolder(p,0))
|
||||
});
|
||||
},'json')
|
||||
},
|
||||
|
||||
fDeleteFolder: function(parent){
|
||||
var vm = ls.FileFoldersModel;
|
||||
if (vm.bezig() ) return;
|
||||
vm.bezig(true);
|
||||
var dit = this;
|
||||
apprise("Weet u zeker dat u <i>" + this.naam() + "</i> wilt verwijderen?", {verify:true, textYes: " ja ",textNo:"nee"},
|
||||
function(ans){
|
||||
if (ans){
|
||||
|
||||
$.post("index.php/shared/filefolders/deleteFolder/" + dit.id,function(){
|
||||
if (parent.constructor.name == "fAddFolder") {
|
||||
parent.subfolders.remove(dit);
|
||||
} else {
|
||||
parent.folders.remove(dit)
|
||||
}
|
||||
vm.bezig(false);
|
||||
})
|
||||
|
||||
} else {
|
||||
vm.bezig(false);
|
||||
}
|
||||
}); // apprise
|
||||
},
|
||||
|
||||
fEditFolder: function(){
|
||||
var vm = ls.FileFoldersModel;
|
||||
if (vm.manager() != 1) {
|
||||
apprise("U bent niet de eigenaar van dit bestand.");
|
||||
return;
|
||||
}
|
||||
vm.selectedFolder(this);
|
||||
vm.newNummer(vm.selectedFolder().nummer())
|
||||
vm.newNaam(vm.selectedFolder().naam())
|
||||
$(" #modEditFolder ").modal('show');
|
||||
|
||||
},
|
||||
|
||||
fSaveEditFolder: function() {
|
||||
var vm = ls.FileFoldersModel;
|
||||
var dit = this;
|
||||
|
||||
if (isNaN(vm.newNummer()) && vm.newNummer() !== '') {
|
||||
apprise("Vul bij nummer een getal in of vul niets in.")
|
||||
return;
|
||||
}
|
||||
$(" #modEditFolder ").modal('hide')
|
||||
var valtonder = vm.selectedFolder().valtonder ? vm.selectedFolder().valtonder : vm.selectedFolder().id;
|
||||
|
||||
var sd = {
|
||||
nummer : vm.newNummer(),
|
||||
naam : vm.newNaam(),
|
||||
valtonderID: valtonder,
|
||||
folderID : vm.selectedFolder().id
|
||||
}
|
||||
|
||||
$.post("index.php/shared/filefolders/editFolder", sd, function (result) {
|
||||
if(result) {
|
||||
vm.fGetFileFolders();
|
||||
vm.bezig(false);
|
||||
vm.selectedFolder('')
|
||||
vm.newNummer('');
|
||||
vm.newNaam('');
|
||||
}
|
||||
|
||||
}, 'json')
|
||||
},
|
||||
|
||||
fSaveFilenaam: function(){
|
||||
var vm = ls.FileFoldersModel;
|
||||
this.editMode(false);
|
||||
vm.filefocus().editMode(false);
|
||||
var sd= {naam: this.naam(),
|
||||
id: this.id}
|
||||
$.post('index.php/shared/filefolders/saveFileNaam', sd);
|
||||
|
||||
},
|
||||
|
||||
fGetSelectedRecursive(folder){
|
||||
var vm = ls.FileFoldersModel;
|
||||
selected = false;
|
||||
if (folder.selected()) {
|
||||
selected= folder;
|
||||
return selected;
|
||||
} else{
|
||||
if (folder.subfolders()){
|
||||
$.each(folder.subfolders(), function(j,k){
|
||||
vm.fGetSelectedRecursive(k);
|
||||
});
|
||||
}
|
||||
}
|
||||
return selected;
|
||||
},
|
||||
|
||||
fGetSelected:function(){
|
||||
var vm = ls.FileFoldersModel;
|
||||
var selected = false;
|
||||
if (vm.folders()){
|
||||
$.each(vm.folders(), function(i,p){
|
||||
if (p.selected()) {
|
||||
selected= p;
|
||||
return false;
|
||||
} else {
|
||||
selected= vm.fGetSelectedRecursive(p);
|
||||
if (selected) return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
return selected;
|
||||
},
|
||||
|
||||
fUploadFile: function(){
|
||||
var vm = ls.FileFoldersModel;
|
||||
var folder = vm.fGetSelected();
|
||||
if (! folder) {
|
||||
apprise("Selecteer eerst een folder");
|
||||
return;
|
||||
}
|
||||
else{
|
||||
var dit = this;
|
||||
var docID = 0;
|
||||
// als this een file is geef dan fileID mee om te overschrijven
|
||||
// docID = this.id
|
||||
ls.initUploader(vm.modulenr(), folder.id,docID,
|
||||
function(succes){
|
||||
if (succes) vm.fRefreshFiles(folder) });
|
||||
}
|
||||
},
|
||||
fRefreshFiles: function(folder){
|
||||
var vm = ls.FileFoldersModel;
|
||||
|
||||
if (vm.bezig()) return
|
||||
vm.bezig(true)
|
||||
var sd ={folderID :folder.id}
|
||||
$.post("index.php/shared/filefolders/getFiles", sd, function(result){
|
||||
folder.bestanden.removeAll();
|
||||
if (result){
|
||||
$.each(result,function(i,p){
|
||||
folder.bestanden.push(new fAddFile(p));
|
||||
});
|
||||
}
|
||||
vm.bezig(false);
|
||||
},'json');
|
||||
},
|
||||
|
||||
|
||||
fSetEditMode: function(){
|
||||
var vm = ls.FileFoldersModel;
|
||||
if (this.owner != 1) {
|
||||
apprise("U bent niet de eigenaar van dit bestand.");
|
||||
return;
|
||||
}
|
||||
if (vm.filefocus()) vm.filefocus().editMode(false);
|
||||
vm.filefocus(this);
|
||||
this.editMode(! this.editMode());
|
||||
},
|
||||
|
||||
fDeleteBestand: function(parent){
|
||||
var vm = ls.FileFoldersModel;
|
||||
if (vm.bezig()) return;
|
||||
vm.bezig(true);
|
||||
|
||||
var that = this
|
||||
apprise("Weet u zeker dat u " + that.naam() + " wilt verwijderen?" , {verify: true, textYes: ' ja ', textNo: 'nee'},
|
||||
function(ans){
|
||||
if (ans){
|
||||
$.post('index.php/shared/filefolders/deleteFile/' + that.id, function(){
|
||||
parent.bestanden.remove(that);
|
||||
vm.bezig(false);
|
||||
});
|
||||
} else {vm.bezig(false); }
|
||||
}); // apprise
|
||||
},
|
||||
fShowDocument:function(){
|
||||
ls.initDownloadModel(this,"INZIEN");
|
||||
},
|
||||
fNoConversionAvailable: function(){
|
||||
ls.initDownloadModel(this,"INZIEN");
|
||||
},
|
||||
fDownloadDoc:function(){
|
||||
ls.initDownloadModel(this,"DOWNLOAD");
|
||||
},
|
||||
|
||||
fStartZoek: function(){
|
||||
var vm = ls.FileFoldersModel;
|
||||
if (! vm.zoekfile() || vm.zoekfile().length < 2) return;
|
||||
if (vm.bezig()) return;
|
||||
vm.bezig(true);
|
||||
var sd = {zoekfile : vm.zoekfile(),
|
||||
modulenr : vm.modulenr()}
|
||||
$.post('index.php/shared/filefolders/zoekFile' , sd, function(result){
|
||||
vm.zoekresultaat.removeAll();
|
||||
if (result) {
|
||||
vm.zoekresultaat(result);
|
||||
$("#modZoekresultaten").modal('show');
|
||||
} else {
|
||||
apprise('Geen bestanden gevonden.');
|
||||
}
|
||||
|
||||
vm.bezig(false);
|
||||
},'json');
|
||||
},
|
||||
|
||||
fCheckEnter:function(d,e){
|
||||
var vm = ls.FileFoldersModel;
|
||||
if (e.keyCode == 13) vm.fStartZoek();
|
||||
return true;
|
||||
},
|
||||
|
||||
fGetZoekResultaatInFolders: function(){
|
||||
var vm = ls.FileFoldersModel;
|
||||
var dit = this;
|
||||
if (! vm.folders() || vm.folders().length< 1) return;
|
||||
if (dit.modulenr !== vm.modulenr() ) {
|
||||
apprise("Dit document bevindt zich in binnen een ander instrument (" +dit.naamkort +"). <br> U dient eerst naar " + dit.naamkort +" te gaan voordat u het document kunt inzien.");
|
||||
return;
|
||||
} else {
|
||||
vm.fGetFolderString( dit.folder_id, vm.folders, '')
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
fOpenFolders: function(folders, folderIDstring){
|
||||
var vm = ls.FileFoldersModel;
|
||||
if (folders()){
|
||||
$.each(folders(), function(j,k){
|
||||
k.geopend(false);
|
||||
if (folderIDstring.indexOf(k.id) > -1) {
|
||||
k.geopend(true)
|
||||
}
|
||||
if (k.subfolders()){
|
||||
vm.fOpenFolders(k.subfolders, folderIDstring);
|
||||
}
|
||||
}) // foreach
|
||||
}
|
||||
$("#modZoekresultaten").modal('hide')
|
||||
},
|
||||
|
||||
fGetFolderString: function(zoekfolderID, folders, folderIDstring){
|
||||
var vm = ls.FileFoldersModel;
|
||||
var found = false;
|
||||
if (folders() ){
|
||||
$.each(folders(), function(i,p){
|
||||
if (p.id == zoekfolderID){
|
||||
if (folderIDstring) folderIDstring= folderIDstring + ',' + p.id
|
||||
else folderIDstring = p.id
|
||||
vm.fOpenFolders(vm.folders, folderIDstring);
|
||||
return false;
|
||||
} else{
|
||||
|
||||
if (p.subfolders && p.subfolders()){
|
||||
if (folderIDstring) folderIDstring= folderIDstring + ',' + p.id
|
||||
else folderIDstring = p.id
|
||||
$.each(p.subfolders(), function(j,k){
|
||||
if (k.id == zoekfolderID){
|
||||
folderIDstring = folderIDstring + ',' + zoekfolderID;
|
||||
vm.fOpenFolders(vm.folders,folderIDstring);
|
||||
return false;
|
||||
}else{
|
||||
folderIDstring = vm.fGetFolderString(zoekfolderID, p.subfolders, folderIDstring);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
},
|
||||
fPrintFolders: function(){
|
||||
var vm = ls.FileFoldersModel;
|
||||
|
||||
window.open("index.php/shared/filefolders/maakpdf/" + vm.modulenr() );
|
||||
}
|
||||
} ; // definition van model
|
||||
ls.FileFoldersModel.initBindings(modulenr);
|
||||
}; // else
|
||||
}// function initFileFoldersModel
|
||||
});
|
||||
@@ -0,0 +1,943 @@
|
||||
function startTinyMCE2(callback) {
|
||||
if ($("#contentSopNew").tinymce()) {
|
||||
// tinyMCE.activeEditor.setContent('');
|
||||
// $("#contentSopNew").tinymce().remove();
|
||||
}
|
||||
tinymce.init({ selector: "textarea#contentSopNew",
|
||||
fontsize_formats: "8pt 9pt 10pt 11pt 12pt 26pt 36pt",
|
||||
fontName: "Verdana",
|
||||
theme: "modern",
|
||||
plugins:"advlist ,paste , table, pagebreak, code",
|
||||
theme_modern_buttons_add: "tablecontrols",
|
||||
menubar:false,
|
||||
statusbar:false,
|
||||
height:554,
|
||||
width: 700,
|
||||
table_class_list: [
|
||||
{title: 'geen', value: ''},
|
||||
{title: 'zonder rand', value: 'without-border'},
|
||||
{title: 'met rand', value: 'with-border'}],
|
||||
table_cell_class_list: [
|
||||
{title: 'geen', value: ''},
|
||||
{title: 'zonder rand', value: 'without-border'},
|
||||
{title: 'met rand', value: 'with-border'}],
|
||||
table_row_class_list: [
|
||||
{title: 'geen', value: ''},
|
||||
{title: 'zonder rand', value: 'without-border'},
|
||||
{title: 'met rand', value: 'with-border'}],
|
||||
content_css: "../css/edcontent.css",
|
||||
browser_spellcheck: true,
|
||||
paste_data_images:true,
|
||||
valid_elements: "b,br,em,h1, h2,h3,h4,i,li,ol,a,pagebreak,strong,style,table[style|class|id], tbody,thead,tr,td,th,ul,#p",
|
||||
extended_valid_elements: "h1[style],h2[style],h3[style],table[style|class|id] ,tr[style|class],td[style|colspan|class],thead[style|class],p[style|class],th[style],div[style|class|id],*[*]",
|
||||
pagebreak_separator: "<div style='page-break-after:always'></div> ",
|
||||
paste_auto_cleanup_on_paste: true,
|
||||
paste_retain_style_properties:"none",
|
||||
paste_strip_class_attributes:"none",
|
||||
font_formats:"Default='Verdana', sans-serif;",
|
||||
toolbar: 'undo redo | fontsizeselect | styleselect | bold italic underline | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | table | pagebreak | code',
|
||||
|
||||
setup:function(ed){
|
||||
ed.on('blur',function(e){
|
||||
// on blur is goed om alle focus verlies van de editor op te
|
||||
//vangen en wijzigingen op te slaan. Maar hierdoor gaat on click verloren.
|
||||
// daarom wordt elk click event in de html afgevangen
|
||||
// met name= savecatched. De functie aangeroepen met
|
||||
// het click event moet dan zelf de save afvangen.
|
||||
if (event){
|
||||
var att = event.target.getAttribute('name')
|
||||
if (att && att =='savecatched') return false
|
||||
}
|
||||
ls.FlexibelSopModel.fSaveChapter();
|
||||
});
|
||||
ed.on('init', function(){
|
||||
ls.FlexibelSopModel.TinymceKlaar(true);
|
||||
})
|
||||
}
|
||||
});
|
||||
if (typeof callback == 'function') callback();
|
||||
}
|
||||
|
||||
$(function(){
|
||||
|
||||
ls.initFlexibelSopModel = function() {
|
||||
|
||||
|
||||
function fAddChapter(p) {
|
||||
var dit = this;
|
||||
this.id = p.id;
|
||||
this.sopinhoudID = p.sopinhoudID;
|
||||
this.nummer = p.nummer;
|
||||
this.naam = p.naam;
|
||||
this.module = p.module;
|
||||
this.selected = ko.observable(false);
|
||||
this.volgorde = ko.observable(p.volgorde);
|
||||
this.standaard = p.standaard;
|
||||
this.insop = ko.observable(p.insop == 1 ? true : false);
|
||||
this.orgversieid = ko.observable(p.orgversieid)
|
||||
}
|
||||
|
||||
function fAddProfiel(p) {
|
||||
this.id = p.profielID;
|
||||
this.soort = p.soort; // geerf vanuit organisatie
|
||||
this.naam = ko.observable(p.naam);
|
||||
this.van = ko.observable(p.van);
|
||||
this.tm = ko.observable(p.tm);
|
||||
}
|
||||
|
||||
|
||||
function fAddTabel(t) {
|
||||
var dit = this;
|
||||
this.tabelid = t.id;
|
||||
this.htmlid = t.tabelid;
|
||||
this.type = t.type;
|
||||
//ls okt 2020 this.imagecode = t.imagecode;
|
||||
this.soort = t.soort;
|
||||
this.css = t.css;
|
||||
this.view = t.tab;
|
||||
}
|
||||
|
||||
|
||||
function fAddVersie(p) {
|
||||
this.orgversieid = ko.observable('');
|
||||
if(p.id){
|
||||
this.orgversieid(p.id);
|
||||
}
|
||||
if(p.schooljaarnr){
|
||||
this.orgversieid(p.schooljaarnr);
|
||||
}
|
||||
this.naam = p.naam;
|
||||
this.naamkort = p.naamkort;
|
||||
this.scoretype = p.scoretype;
|
||||
this.periodenummer = p.periodenummer;
|
||||
this.versieid = p.versie_id;
|
||||
this.insop = p.insop;
|
||||
this.vorm = p.vorm;
|
||||
this.geselecteerd = ko.observable(false);
|
||||
|
||||
}
|
||||
|
||||
function fAddReferentieVersie(r) {
|
||||
this.orgversieid = ko.observable('');
|
||||
this.orgversieid(r.orgversieid());
|
||||
this.naam = r.naam;
|
||||
this.naamkort = r.naamkort;
|
||||
this.scoretype = r.scoretype;
|
||||
this.periodenummer = r.periodenummer;
|
||||
this.versieid = r.versieid;
|
||||
this.insop = r.insop;
|
||||
this.vorm = r.vorm;
|
||||
this.geselecteerd = ko.observable(false);
|
||||
|
||||
|
||||
}
|
||||
|
||||
if (ls.FlexibelSopModel !== undefined) {
|
||||
ls.FlexibelSopModel.initModel();
|
||||
} else {
|
||||
ls.FlexibelSopModel = {
|
||||
profielen : ko.observableArray([]),
|
||||
erZijnProfielen : ko.observable(false),
|
||||
selectedProfiel : ko.observable(),
|
||||
newnaam : ko.observable(''),
|
||||
periodetm : ko.observable(''),
|
||||
periodevan : ko.observable(''),
|
||||
chapters : ko.observableArray([]),
|
||||
selectedChapter : ko.observable(),
|
||||
targetChapter : ko.observable(), // als een nieuw hoofdstuk wordt toegevoegd moetaangepast omdat men eventueel nog kan annuleren
|
||||
modus : ko.observable(null), // nieuw: voeg nieuw hoofdstuk toe
|
||||
// ververs: ververs tabellen met dezelfde versies // bekend zijn welk hoofdstuk wordt toegevoegd maar selectedChapter mag niet worden
|
||||
// wijzig: gebruik nieuwe versies
|
||||
ls_laatstehfst : ko.pureComputed(function(){
|
||||
var vm = ls.FlexibelSopModel
|
||||
var id = null
|
||||
var vorige= 0
|
||||
if (vm){
|
||||
if (vm.chapters()){
|
||||
$.each(vm.chapters(), function( j,k){
|
||||
if (k.insop() && parseFloat(k.volgorde()) >= vorige){
|
||||
id = k.sopinhoudID
|
||||
vorige = k.volgorde()
|
||||
}
|
||||
})
|
||||
} // if chapters
|
||||
} // if vm
|
||||
return id
|
||||
}),
|
||||
ls_eerstehfst : ko.pureComputed(function(){
|
||||
var vm = ls.FlexibelSopModel
|
||||
var id = null
|
||||
var eerstevolgnr= 99999999
|
||||
if (vm){
|
||||
if (vm.chapters()){
|
||||
$.each(vm.chapters(), function( j,k){
|
||||
if (k.insop() && k.module != 0 && parseFloat(k.volgorde()) <= eerstevolgnr){
|
||||
id = k.sopinhoudID
|
||||
eerstevolgnr = k.volgorde()
|
||||
}
|
||||
})
|
||||
} // if chapters
|
||||
} // if vm
|
||||
return id
|
||||
}),
|
||||
schooljanee : ko.observable(false),
|
||||
editok : ko.observable(false),
|
||||
|
||||
versies : ko.observableArray([]),
|
||||
referentieVersies : ko.observableArray([]),
|
||||
selectedReferenties: ko.observableArray([]),
|
||||
selectedVersie : ko.observable(null), // inhoud is een object met versie, orgversie etc
|
||||
aangeklikt : ko.observable(0),
|
||||
ijkpunten : ko.observable(false),
|
||||
erZijnMeerVersies : ko.observable(false),
|
||||
bezig : ko.observable(false),
|
||||
TinymceKlaar : ko.observable(false),
|
||||
|
||||
initBindings: function () {
|
||||
var self = ls.FlexibelSopModel;
|
||||
if (!ko.dataFor(document.getElementById('pagflexibelsop'))) {
|
||||
ko.applyBindings(ls.FlexibelSopModel, document.getElementById('pagflexibelsop'));
|
||||
|
||||
}
|
||||
|
||||
$.post('index.php/monpas/sop/getrechten', function (result) {
|
||||
self.editok(result);
|
||||
|
||||
}, 'json');
|
||||
startTinyMCE2( function(){self.initModel();});
|
||||
},
|
||||
|
||||
initModel: function() {
|
||||
var self = ls.FlexibelSopModel;
|
||||
$.post("index.php/monpas/sop/controleerschool/", function(result){
|
||||
self.schooljanee(result);
|
||||
if (self.schooljanee()){
|
||||
$.post("index.php/monpas/sop/ls_getProfielen", function(data){
|
||||
self.profielen.removeAll();
|
||||
if(data) {
|
||||
self.erZijnProfielen(true);
|
||||
$.each(data, function (i, p) {
|
||||
self.profielen.push(new fAddProfiel(p));
|
||||
});//each
|
||||
self.selectedProfiel(self.profielen()[0])
|
||||
//self.fGetHoofdstukken() wordt getriggerd in de html
|
||||
} // if
|
||||
},'json')
|
||||
}; //if schooljanee
|
||||
},'json');
|
||||
|
||||
},
|
||||
fResetSelectedChapter : function(){
|
||||
var self = ls.FlexibelSopModel
|
||||
if (! self.selectedChapter()) return;
|
||||
self.selectedChapter().id = null
|
||||
self.selectedChapter().sopinhoudID = null
|
||||
self.selectedChapter().nummer = null;
|
||||
self.selectedChapter().naam = null
|
||||
self.selectedChapter().module = null
|
||||
self.selectedChapter().selected(false);
|
||||
self.selectedChapter().volgorde( 0);
|
||||
self.selectedChapter().standaard = null
|
||||
self.selectedChapter().insop(false);
|
||||
self.selectedChapter().orgversieid(null)
|
||||
},
|
||||
fGetHoofdstukken: function(){
|
||||
var self = ls.FlexibelSopModel
|
||||
if (self.bezig() ) return
|
||||
|
||||
if (! self.selectedProfiel()) return;
|
||||
self.bezig(true)
|
||||
var sd = {profielID : self.selectedProfiel().id}
|
||||
$.post("index.php/monpas/sop/ls_getHoofdstukken",sd,function(data){
|
||||
self.chapters.removeAll()
|
||||
self.selectedVersie(null);
|
||||
self.fResetSelectedChapter();
|
||||
|
||||
if (data){
|
||||
$.each(data, function(i,p){
|
||||
self.chapters.push(new fAddChapter(p))
|
||||
}) // each
|
||||
$.each(self.chapters(), function(j,k){
|
||||
if (k.insop()) {
|
||||
self.selectedChapter(self.chapters()[j]);
|
||||
// self.versies is toch een functie?
|
||||
// dit begrijp ik dus niet
|
||||
$.each(self.versies, function (x, v) {
|
||||
if(self.selectedChapter().orgversieid() === v.orgversieid )
|
||||
self.selectedVersie(v);
|
||||
});
|
||||
return false
|
||||
}
|
||||
}) // each chapters
|
||||
if (self.selectedChapter()) self.fGetContent();
|
||||
// else self.fGetInleiding()
|
||||
}
|
||||
},'json').always(function(){self.bezig(false)})
|
||||
},
|
||||
|
||||
fGetContent: function(){
|
||||
var self = ls.FlexibelSopModel
|
||||
if (! self.selectedChapter()) return
|
||||
if (! self.selectedProfiel()) return
|
||||
|
||||
var sd = { inhoudID : self.selectedChapter().sopinhoudID}
|
||||
showAjaxLoader()
|
||||
$.post("index.php/monpas/sop/ls_getHoofdstukContent",sd,function(data){
|
||||
if ( ! data) self.fSetEditorContent('')
|
||||
else self.fSetEditorContent(data)
|
||||
},'json').always(function(){hideAjaxLoader()})
|
||||
},
|
||||
|
||||
fSetEditorContent: function( content){
|
||||
var self = ls.FlexibelSopModel;
|
||||
if (content) tinymce.get('contentSopNew').setContent(content,{format: 'html'});
|
||||
else tinymce.get('contentSopNew').setContent('');
|
||||
if (! self.TinymceKlaar() ) {
|
||||
setTimeout(function() {self.fSetEditorContent(content)},500)
|
||||
} // if not klaar
|
||||
tinymce.activeEditor.isNotDirty = true
|
||||
},
|
||||
|
||||
fSaveChapter: function(){
|
||||
var self =ls.FlexibelSopModel;
|
||||
if (!self.editok()) return;
|
||||
if (! self.selectedChapter() || self.selectedChapter() == null) return;
|
||||
if ( tinymce.activeEditor.isNotDirty) return;
|
||||
var orgversie = 0;
|
||||
if(self.selectedChapter().orgversieid()) {
|
||||
orgversie = self.selectedChapter().orgversieid();
|
||||
}
|
||||
|
||||
var tekst = tinymce.get('contentSopNew').getContent({format: 'html'});
|
||||
var submitData ={ id : self.selectedChapter().sopinhoudID,
|
||||
tekst : tekst,
|
||||
orgversie : orgversie};
|
||||
|
||||
// showAjaxLoader();
|
||||
$.post("index.php/monpas/sop/saveinhoud", submitData)
|
||||
.always(function(){
|
||||
// hideAjaxLoader()
|
||||
})
|
||||
.success(function(){tinymce.activeEditor.isNotDirty = true})
|
||||
},
|
||||
|
||||
fVerversTabellen : function(){
|
||||
var self =ls.FlexibelSopModel;
|
||||
self.fSaveChapter();
|
||||
if (!self.selectedProfiel()) return;
|
||||
if (!self.selectedChapter()) {
|
||||
apprise("U heeft geen hoofdstuk geselecteerd");
|
||||
return;
|
||||
}
|
||||
|
||||
if(self.selectedChapter().id === '49' ||
|
||||
self.selectedChapter().id === '56' ||
|
||||
self.selectedChapter().id === '57' ){
|
||||
apprise("Bij dit hoofdstuk horen geen tabellen uit een instrument" );
|
||||
return;
|
||||
}
|
||||
|
||||
apprise( "Weet u zeker dat u de tabellen wilt updaten? <br>" +
|
||||
"Eventuele nieuw ingevulde en aangepaste lijsten worden in de resultaten meegenomen. <br>" +
|
||||
"Dit kan niet ongedaan gemaakt worden.",
|
||||
{verify:true, textYes: ' ja ', textNo:'nee'}, function(ans){
|
||||
if(ans) {
|
||||
self.modus('ververs');
|
||||
self.fGoEnVerversTabellen();
|
||||
}
|
||||
}); // apprise
|
||||
},
|
||||
|
||||
fGoEnVerversTabellen: function(){
|
||||
var self = ls.FlexibelSopModel;
|
||||
if (! self.selectedProfiel()) return;
|
||||
if (! self.selectedChapter()) {
|
||||
apprise("U heeft geen hoofdstuk geselecteeerd.");
|
||||
return;
|
||||
}
|
||||
var submitData ={ sopinhoudid : self.selectedChapter().sopinhoudID }
|
||||
showAjaxLoader();
|
||||
|
||||
$.post("index.php/monpas/sop/ls_renewTabellen", submitData, function(result) {
|
||||
if (result.error) apprise(result.error);
|
||||
else self.fSetEditorContent(result.nieuweinhoud)
|
||||
}, 'json').always(function(){ hideAjaxLoader() } );
|
||||
},
|
||||
|
||||
fGetNieuweTabellen(){
|
||||
var self = ls.FlexibelSopModel;
|
||||
if (! self.selectedProfiel()) return;
|
||||
if (! self.selectedChapter()) {
|
||||
apprise("U heeft geen hoofdstuk geselecteeerd.");
|
||||
return;
|
||||
}
|
||||
//ook meesturen referentieversie
|
||||
var referenties = []
|
||||
if(self.ijkpunten()) {
|
||||
if (self.selectedReferenties()) {
|
||||
$.each(self.selectedReferenties(), function (i, r){
|
||||
referenties.push(r.orgversieid())
|
||||
})
|
||||
}
|
||||
}
|
||||
var submitData ={ sopinhoudid : self.selectedChapter().sopinhoudID,
|
||||
orgversieID : self.selectedVersie().orgversieid(),
|
||||
referenties : referenties}
|
||||
|
||||
showAjaxLoader();
|
||||
|
||||
$.post("index.php/monpas/sop/ls_nieuweTabellen", submitData, function(result) {
|
||||
if (result.error) {
|
||||
apprise(result.error);
|
||||
} else {
|
||||
// waarom onderstaande. orgversieid verandert toch niet bij ververs tabellen?
|
||||
// hm kan wel veranderen want wordt ook aangeroepen bij
|
||||
// verander versie
|
||||
// daar kan ik beter een andere functie gebruiken
|
||||
|
||||
self.selectedChapter().orgversieid(result.orgversieid);
|
||||
// self.selectedVersie(result.orgversieid);
|
||||
self.fSetEditorContent(result.nieuweinhoud)
|
||||
}
|
||||
}, 'json').always(function(){ hideAjaxLoader() } );
|
||||
},
|
||||
|
||||
fVerversHoofdstuk : function(){
|
||||
var self = ls.FlexibelSopModel;
|
||||
if (! self.TinymceKlaar() ) return
|
||||
if (! self.selectedProfiel()) return
|
||||
if (! self.selectedChapter() ){
|
||||
apprise("U heeft geen hoofdstuk geselecteerd");
|
||||
return;
|
||||
}
|
||||
|
||||
apprise("Weet u zeker dat u het hoofdstuk opnieuw wilt laten maken? <br> " +
|
||||
"Alle wijzigingen die u heeft aangebracht gaan daarmee verloren.",
|
||||
{verify: true, textYes: ' ja ', textNo: 'nee'}, function(ans){
|
||||
if (ans){
|
||||
showAjaxLoader();
|
||||
var submitData ={ inhoudID : self.selectedChapter().sopinhoudID}
|
||||
|
||||
$.post('index.php/monpas/sop/ls_renewChapter/', submitData, function(result){
|
||||
if (result.error) apprise(result.error)
|
||||
else self.fSetEditorContent( result.nieuweinhoud);
|
||||
},'json')
|
||||
.always(function(){hideAjaxLoader() } );
|
||||
} // if ans
|
||||
else {self.fSaveChapter() }
|
||||
}); // apprise
|
||||
},
|
||||
// ********** nieuw hoofdstuk toevoegen ***********//
|
||||
// 1. save het oude hoofdstuk
|
||||
// 2. set het nieuwe hoofdstuk in de tijdelijke variabele targethoofdstuk
|
||||
// 3. haal de versies bij het nieuwe hoofdstuk op
|
||||
// 4. toon de versies in de modal
|
||||
// 5. set selected Versie en sluit de modal
|
||||
// 6. maak het nieuwe hoofdstuk en zet de versie
|
||||
|
||||
|
||||
fCheckIngevuldeVersies : function(){
|
||||
var self = ls.FlexibelSopModel;
|
||||
if ( ! self.TinymceKlaar()) return
|
||||
if ( ! self.editok()) return;
|
||||
if ( ! self.selectedProfiel()) {
|
||||
apprise("Er is nog geen SOP gemaakt.");
|
||||
return;
|
||||
}
|
||||
self.ijkpunten(false);
|
||||
self.erZijnMeerVersies(false);
|
||||
self.fSaveChapter();
|
||||
self.modus('nieuw');
|
||||
var hoofdstuk = this;
|
||||
if(hoofdstuk.id === '56' || hoofdstuk.id === '57' ){
|
||||
self.fNewHoofdstuk(hoofdstuk);
|
||||
return;
|
||||
}
|
||||
|
||||
var submitData = { "chapterid" : hoofdstuk.id,
|
||||
"profielid" : self.selectedProfiel().id};
|
||||
// showAjaxLoader()
|
||||
|
||||
$.post("index.php/monpas/sop/checkLijsten", submitData, function(result){
|
||||
|
||||
if (result) {
|
||||
if (result.ingevuld === 'F'){
|
||||
if (hoofdstuk.id !== '50' && hoofdstuk.id !=='53' && hoofdstuk.id !== '80' && result.standaarden !== 'F') {
|
||||
hideAjaxLoader();
|
||||
apprise("Om dit hoofdstuk te kunnen toevoegen aan het sop <br>" +
|
||||
"moet eerst een lijst bij dit instrument worden ingevuld. ");
|
||||
return;
|
||||
}
|
||||
if (hoofdstuk.id !== '50' && hoofdstuk.id !=='53' && hoofdstuk.id !== '80' && result.standaarden === 'F') {
|
||||
hideAjaxLoader();
|
||||
apprise("Om dit hoofdstuk te kunnen toevoegen aan het sop <br>" +
|
||||
"moet eerst een lijst bij dit instrument worden ingevuld en/of <br>" +
|
||||
"de standaarden moeten nog worden toegevoegd. <br>" +
|
||||
"Neem voor dit laatste contact op met de helpdesk");
|
||||
return;
|
||||
}
|
||||
if(hoofdstuk.id === '50' || hoofdstuk.id ==='53' || hoofdstuk.id === '80' ){
|
||||
hideAjaxLoader();
|
||||
apprise("Om dit hoofdstuk te kunnen toevoegen aan het sop <br>" +
|
||||
"moeten eerst gegevens over de ondersteuning in <br>" +
|
||||
"de verschillende groepen worden ingevuld bij dit instrument. ");
|
||||
return;
|
||||
}
|
||||
} // if ingevuld = F
|
||||
if(result.ingevuld === 'T') {
|
||||
if(result.filledversies.length > 1){
|
||||
self.ijkpunten(result.metijkpunten =="T");
|
||||
self.versies.removeAll();
|
||||
|
||||
self.fVulVersies(result.filledversies, true, function(){self.fOpenModel()});
|
||||
self.targetChapter(hoofdstuk); //hier is de hulpvariabel targetChapter nodig omdat de popup er tussendoor komt
|
||||
} // if length > 1
|
||||
if(result.filledversies.length === 1){
|
||||
self.versies.removeAll();
|
||||
var geenCallback = "";
|
||||
self.fVulVersies(result.filledversies, true, geenCallback)
|
||||
self.fNewHoofdstuk(hoofdstuk);
|
||||
}
|
||||
}
|
||||
} // if result
|
||||
}, 'json')
|
||||
},
|
||||
|
||||
fOpenModel(){
|
||||
var self = ls.FlexibelSopModel;
|
||||
$("#modKiesFilledVersie").modal('show');
|
||||
return true;
|
||||
},
|
||||
|
||||
|
||||
fVulVersies : function(versieSet, setVersie, callback){
|
||||
var self = ls.FlexibelSopModel;
|
||||
self.versies.removeAll();
|
||||
self.erZijnMeerVersies(false);
|
||||
|
||||
$.each(versieSet, function (j, versie) {
|
||||
self.versies.push(new fAddVersie(versie));
|
||||
if (versie.orgversieid == self.selectedChapter().orgversieid())
|
||||
self.selectedVersie(versie);
|
||||
}) // each
|
||||
|
||||
if (setVersie) self.selectedVersie(self.versies()[0]);
|
||||
self.referentieVersies.removeAll();
|
||||
if(self.ijkpunten()){
|
||||
self.fGetVergelijkbareVersies();
|
||||
}
|
||||
|
||||
if(typeof callback ==='function' && callback()){
|
||||
callback();
|
||||
}
|
||||
},
|
||||
|
||||
fSetSelectedVersie:function(){
|
||||
var self = ls.FlexibelSopModel;
|
||||
self.selectedVersie(this);
|
||||
self.erZijnMeerVersies(false);
|
||||
self.referentieVersies.removeAll();
|
||||
if(self.ijkpunten()){
|
||||
self.fGetVergelijkbareVersies();
|
||||
}
|
||||
},
|
||||
|
||||
fGetVergelijkbareVersies: function(){
|
||||
var self = ls.FlexibelSopModel;
|
||||
self.selectedReferenties.removeAll();
|
||||
if (! self.selectedVersie()) self.selectedVersie(self.versies()[0]);
|
||||
|
||||
$.each(self.versies(), function(i,p){
|
||||
if(p.versieid === self.selectedVersie().versieid &&
|
||||
p.scoretype === self.selectedVersie().scoretype &&
|
||||
p.orgversieid() !== self.selectedVersie().orgversieid() &&
|
||||
p.periodenummer < self.selectedVersie().periodenummer){
|
||||
self.referentieVersies.push(new fAddReferentieVersie(p));
|
||||
self.erZijnMeerVersies(true);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
|
||||
fSelecteerReferentie: function(){
|
||||
var self = ls.FlexibelSopModel;
|
||||
this.geselecteerd(! this.geselecteerd());
|
||||
var dit = this;
|
||||
|
||||
if(!dit.geselecteerd()){
|
||||
var delIndex = "";
|
||||
if(self.selectedReferenties()){
|
||||
$.each(self.selectedReferenties(), function(i, r){
|
||||
if(r.orgversieid() === dit.orgversieid()){
|
||||
delIndex = i;
|
||||
}
|
||||
});
|
||||
self.selectedReferenties().splice(delIndex, 1);
|
||||
}
|
||||
}
|
||||
if(dit.geselecteerd() && self.selectedReferenties().length === '3'){
|
||||
dit.geselecteerd(false);
|
||||
apprise("u kunt maximaal 3 lijsten vergelijken");
|
||||
}
|
||||
if(dit.geselecteerd() && self.selectedReferenties().length < '3' ){
|
||||
self.selectedReferenties().push(dit);
|
||||
}
|
||||
return true;
|
||||
},
|
||||
|
||||
fSetFilledVersie: function(){
|
||||
var self = ls.FlexibelSopModel;
|
||||
$("#modKiesFilledVersie").modal('hide');
|
||||
|
||||
if (self.selectedVersie()) {
|
||||
// targetChapter wordt gezet in fCheckIngevuldeVersie
|
||||
// selectedChapter wordt gezet in fNewHoofdstuk
|
||||
switch (self.modus()) {
|
||||
case 'nieuw' :self.fNewHoofdstuk(self.targetChapter());
|
||||
break;
|
||||
case "ververs": // hier komt ie niet
|
||||
// want wordt apart aangeroepen
|
||||
break;
|
||||
case "wijzig" : self.fGetNieuweTabellen();
|
||||
break;
|
||||
} // einde switch
|
||||
} // if selectedVersie
|
||||
else {
|
||||
// uit de modal zonder een versie te selecteren
|
||||
// dat kan eigenlijk niet maar toch controleren
|
||||
//self.selectedVersie().orgversieid(self.selectedChapter().orgversieid);
|
||||
self.selectedVersie(null)
|
||||
self.modus(null)
|
||||
}
|
||||
},
|
||||
|
||||
fCloseModalFilledVersie: function(){
|
||||
var self = ls.FlexibelSopModel;
|
||||
// de modal wordt gesloten zonder een versie te kiezen
|
||||
// selected versie moet dan weer teruggezet worden op null
|
||||
// in het geselecteerde hoofdstuk wordt orgversieid bewaard
|
||||
// eigenlijk kan je dit met 1 modal afhandelen
|
||||
self.selectedVersie(null)
|
||||
$("#modKiesFilledVersie").modal('hide')
|
||||
$("#modkiesversie").modal('hide')
|
||||
},
|
||||
|
||||
fNewHoofdstuk: function(hoofdstuk){
|
||||
// geef het toe te voegen hoofstuk mee
|
||||
// hier kun je immers nog bepalen dat het hoofdstuk niet
|
||||
//toegevoegd wordt
|
||||
//dus je kunt selectedChapter pas zetten als deze functie goed gaat
|
||||
var self =ls.FlexibelSopModel;
|
||||
if ( ! self.editok()) return;
|
||||
var versieid = "";
|
||||
var referenties = [];
|
||||
if (self.selectedVersie() && hoofdstuk.naam !== 'Inleiding' && hoofdstuk.id !== 56 && hoofdstuk.id !== 57) versieid = self.selectedVersie().orgversieid();
|
||||
|
||||
if(self.ijkpunten()) {
|
||||
if (self.selectedReferenties()) {
|
||||
$.each(self.selectedReferenties(), function (i, r){
|
||||
referenties.push(r.orgversieid())
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
var submitData ={"chapterid" : hoofdstuk.id,
|
||||
"profielid" : self.selectedProfiel().id,
|
||||
"versie" : versieid,
|
||||
"referenties" : referenties};
|
||||
|
||||
showAjaxLoader();
|
||||
$.post("index.php/monpas/sop/ls_newChapter", submitData, function(result){
|
||||
if (result.error){
|
||||
apprise(result.error);
|
||||
return;}
|
||||
else {
|
||||
self.selectedChapter(hoofdstuk);
|
||||
self.selectedChapter().insop(true);
|
||||
self.selectedChapter().sopinhoudID = result.nieuweinhoud.id;
|
||||
self.selectedChapter().volgorde ( result.nieuweinhoud.volgorde);
|
||||
self.selectedChapter().orgversieid(result.nieuweinhoud.orgversieid);
|
||||
$.each(self.versies, function (x, v) {
|
||||
if(self.selectedChapter().orgversieid() === v.orgversieid )
|
||||
self.selectedVersie(v);
|
||||
});
|
||||
self.fSetEditorContent( result.nieuweinhoud.content)
|
||||
} // if result
|
||||
}, 'json').always(function(){ hideAjaxLoader() } );
|
||||
},
|
||||
// ************ einde toevoegen nieuw hoofdstuk ****************
|
||||
|
||||
// ************** wijzigen van de versie van een hoofdstuk ***********
|
||||
// 1. save het oude hoofdstuk
|
||||
// 2. haal de versies bij het hoofdstuk op
|
||||
// 3. indien nodig : toon de versies in de modal
|
||||
// 4. set selected Versie en sluit de modal
|
||||
// 5. maak het hoofdstuk en zet de versie
|
||||
|
||||
|
||||
|
||||
fWijzigVersie: function(){
|
||||
var self = ls.FlexibelSopModel;
|
||||
if ( ! self.selectedChapter() ) return;
|
||||
self.fSaveChapter();
|
||||
|
||||
var submitData ={ "chapterid" : self.selectedChapter().id,
|
||||
"profielid" : self.selectedProfiel().id}
|
||||
|
||||
$.post("index.php/monpas/sop/checkLijsten", submitData, function(result){
|
||||
if (result.orgversieid <= 0){
|
||||
apprise("Dit hoofstuk gebruikt geen versies.");
|
||||
return;
|
||||
}
|
||||
// dit gaat niet goed als men ondertussen de huidige versie heeft
|
||||
// uitgeschakeld en er maar 1 andere versie is
|
||||
// vandaar <= 1 gewijzigd naar < 1
|
||||
|
||||
if ( ( result &&
|
||||
result.filledversies.length == 1 &&
|
||||
result.filledversies[0].id == self.selectedChapter().orgversieid()) ||
|
||||
(! result || result.filledversies.length < 1) ) {
|
||||
apprise("Geen (andere) versies gevonden.")
|
||||
return
|
||||
}
|
||||
apprise("Weet u zeker dat u andere versies wilt gebruiken? De huidige tabellen worden dan overschreven.",
|
||||
{verify:true, textYes: 'ja, doorgaan', textNo: 'nee, annuleren'},
|
||||
function(ans){
|
||||
self.modus("wijzig");
|
||||
self.ijkpunten(result.metijkpunten =="T")
|
||||
if (ans) self.fVulVersies(result.filledversies, false, function(){$("#modKiesFilledVersie").modal('show')});
|
||||
})// apprise
|
||||
}, 'json')
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
// fSelecteerVersie: function(){
|
||||
// var self = ls.FlexibelSopModel
|
||||
// // aangeroepen in modal modkiesversie
|
||||
// $("#modkiesversie").modal('hide');
|
||||
// if (confirm("Weet u zeker dat u nieuwe versies wilt gebruiken? De huidige tabellen worden dan overschreven."))
|
||||
// $("#modKiesFilledVersie").modal('show');
|
||||
|
||||
// self.fGetNieuweTabellen();
|
||||
// },
|
||||
// ************ einde maak hoofdstuk met nieuwe versie **************
|
||||
|
||||
|
||||
fGetChapter: function(){
|
||||
var self = ls.FlexibelSopModel;
|
||||
|
||||
self.fSaveChapter()
|
||||
|
||||
if ( ! self.selectedProfiel()) {
|
||||
apprise("Er is geen SOP geselecteerd.");
|
||||
return;
|
||||
}
|
||||
|
||||
var dit = this;
|
||||
if (self.selectedChapter() && dit.id === self.selectedChapter().id) return; //hoofdstuk is al geselecteerd
|
||||
self.selectedChapter(dit);
|
||||
|
||||
self.fGetContent();
|
||||
},
|
||||
|
||||
fNieuwProfiel: function(){
|
||||
var self =ls.FlexibelSopModel;
|
||||
self.fSaveChapter()
|
||||
|
||||
self.newnaam('');
|
||||
self.periodevan('');
|
||||
self.periodetm('');
|
||||
|
||||
$("#modNieuwProfielSop").modal('show');
|
||||
},
|
||||
|
||||
fSaveProfiel: function(){
|
||||
var self =ls.FlexibelSopModel;
|
||||
var submitData ={ naam : self.newnaam(),
|
||||
van : self.periodevan(),
|
||||
tm : self.periodetm()}
|
||||
|
||||
|
||||
self.chapters.removeAll();
|
||||
$.post("index.php/monpas/sop/maaknewprofiel", submitData, function(result){
|
||||
if (result){
|
||||
self.profielen.push(new fAddProfiel(result));
|
||||
self.selectedProfiel(self.profielen()[self.profielen().length-1 ] );
|
||||
self.erZijnProfielen(true);
|
||||
self.chapters.removeAll();
|
||||
self.fGetHoofdstukken();
|
||||
|
||||
// wordt getriggerd in de html
|
||||
}
|
||||
},'json');
|
||||
$("#modNieuwProfielSop").modal('hide');
|
||||
},
|
||||
|
||||
fDeleteProfiel :function(){
|
||||
var self =ls.FlexibelSopModel;
|
||||
apprise("Weet u zeker dat u " + self.selectedProfiel().naam() + " wilt verwijderen?<br> U kunt dit niet ongedaan maken!",
|
||||
{verify:true, textYes:' ja ', textNo:"nee"}, function(ans){
|
||||
if (ans){
|
||||
$.post("index.php/monpas/sop/deleteprofiel/" + self.selectedProfiel().id, function(){
|
||||
self.profielen.remove(self.selectedProfiel());
|
||||
if(self.profielen.length === 0){
|
||||
self.erZijnProfielen(false);
|
||||
}
|
||||
self.chapters.removeAll();
|
||||
|
||||
if (self.profielen().length>0){
|
||||
self.selectedProfiel(self.profielen()[0]);
|
||||
self.fGetHoofdstukken()
|
||||
}
|
||||
|
||||
else{
|
||||
tinyMCE.activeEditor.setContent('');
|
||||
$.each(self.chapters(), function(i,p){
|
||||
p.selected(false);
|
||||
});
|
||||
self.selectedChapter(null);
|
||||
}
|
||||
});
|
||||
} // if ans
|
||||
else {self.fSaveChapter()}
|
||||
});//apprise
|
||||
},
|
||||
|
||||
fEditProfiel:function(){
|
||||
var self = ls.FlexibelSopModel;
|
||||
if (!self.selectedProfiel()) return;
|
||||
self.fSaveChapter()
|
||||
$("#modChangeProfielSop").modal('show');
|
||||
},
|
||||
|
||||
fUpdateProfiel: function(){
|
||||
var self = ls.FlexibelSopModel;
|
||||
var submitData = { id : self.selectedProfiel().id,
|
||||
naam : self.selectedProfiel().naam(),
|
||||
van : self.selectedProfiel().van(),
|
||||
tm : self.selectedProfiel().tm()}
|
||||
$.post('index.php/monpas/sop/updateprofiel', submitData, function(){
|
||||
$("#modChangeProfielSop").modal('hide');
|
||||
},'json');
|
||||
},
|
||||
|
||||
fMaakPdf :function(){
|
||||
var self = ls.FlexibelSopModel;
|
||||
if (!self.selectedProfiel()) return;
|
||||
|
||||
self.fSaveChapter()
|
||||
|
||||
var data={profielid : self.selectedProfiel().id};
|
||||
showAjaxLoader();
|
||||
var submitUrl = "index.php/monpas/sop/maakpdfSopNieuw/?json=" +JSON.stringify(data);
|
||||
hideAjaxLoader();
|
||||
window.open(submitUrl);
|
||||
},
|
||||
|
||||
fMaakWord: function(){
|
||||
var self = ls.FlexibelSopModel;
|
||||
if (!self.selectedProfiel()) return;
|
||||
self.fSaveChapter()
|
||||
showAjaxLoader();
|
||||
var sURL="index.php/monpas/sop/maakwordSopNieuw/" + self.selectedProfiel().id ;
|
||||
hideAjaxLoader();
|
||||
window.open(sURL);
|
||||
},
|
||||
|
||||
fHoofdstukOmhoog: function(){
|
||||
var self = ls.FlexibelSopModel;
|
||||
var dit = this;
|
||||
|
||||
if (self.bezig()) return
|
||||
self.fSaveChapter()
|
||||
self.bezig(true)
|
||||
|
||||
showAjaxLoader();
|
||||
var richting = 'omhoog';
|
||||
|
||||
var submitData={
|
||||
"sopid" : self.selectedProfiel().id,
|
||||
"sopinhoudid" : dit.sopinhoudID,
|
||||
"richting" : richting,
|
||||
}
|
||||
|
||||
$.post("index.php/monpas/sop/verplaatsHoofdstuk", submitData, function(result) {
|
||||
if (result) {
|
||||
$.each(self.chapters(), function(i,p){
|
||||
$.each(result, function(x,y){
|
||||
if (y.sopinhoudID == p.sopinhoudID) p.volgorde( y.volgorde)
|
||||
}) // each result
|
||||
}) // each chapters
|
||||
self.chapters.sort(function(a,b) {
|
||||
return a.volgorde() - b.volgorde()
|
||||
});
|
||||
} // if result
|
||||
}, 'json').always(function(){self.bezig(false)
|
||||
hideAjaxLoader()})
|
||||
},
|
||||
|
||||
fHoofdstukOmlaag: function(){
|
||||
var self = ls.FlexibelSopModel;
|
||||
var dit = this;
|
||||
|
||||
if (self.bezig()) return
|
||||
self.fSaveChapter()
|
||||
self.bezig(true)
|
||||
|
||||
var submitData={
|
||||
"sopid" : self.selectedProfiel().id,
|
||||
"sopinhoudid" : dit.sopinhoudID,
|
||||
"richting" : 'omlaag'
|
||||
};
|
||||
|
||||
$.post("index.php/monpas/sop/verplaatshoofdstuk", submitData, function(result) {
|
||||
if (result) {
|
||||
$.each(self.chapters(), function(i,p){
|
||||
$.each(result, function(x,y){
|
||||
if (y.sopinhoudID == p.sopinhoudID) p.volgorde( y.volgorde)
|
||||
}) // each result
|
||||
}) // each chapters
|
||||
self.chapters.sort(function(a,b) {
|
||||
return a.volgorde() - b.volgorde()
|
||||
});
|
||||
}
|
||||
}, 'json').always(function(){self.bezig(false)})
|
||||
},
|
||||
|
||||
fDeleteChapter: function(){ // gebruikt
|
||||
var self =ls.FlexibelSopModel;
|
||||
var dit = this;
|
||||
|
||||
if ( ! dit.sopinhoudID) return;
|
||||
self.fSaveChapter() // doe dit altijd want het geselecteerd en eventueel gewijzigde chapter hoeft niet gelijk te zijn aan het chapter
|
||||
// dat weggegooid wordt
|
||||
|
||||
apprise("Weet u zeker dat u het hoofdstuk " + dit.naam + " wilt verwijderen? ", {verify:true, textYes:' ja ', textNo: 'nee'}, function(ans){
|
||||
if (ans){
|
||||
|
||||
var submitData ={"tekstid" : dit.sopinhoudID }
|
||||
|
||||
$.post("index.php/monpas/sop/deletechapter", submitData, function(result){
|
||||
if (result ) {
|
||||
dit.insop(false)
|
||||
dit.volgorde(0)
|
||||
if ( dit == self.selectedChapter()) { //verversen hoeft alleen als het weggegooide hoofdstuk het geselecteerde hoofdstuk is
|
||||
self.selectedChapter(self.chapters()[0] );
|
||||
self.fGetContent();
|
||||
} // if dit == selectedChapter
|
||||
}
|
||||
},'json');
|
||||
} // if ans
|
||||
}); // apprise
|
||||
}
|
||||
|
||||
// functies nodig voor wijzig versie
|
||||
|
||||
}; // definition van model
|
||||
ls.FlexibelSopModel.initBindings();
|
||||
}; // else
|
||||
}// function initFlexibelSopModel
|
||||
});
|
||||
@@ -0,0 +1,157 @@
|
||||
$(function(){
|
||||
|
||||
ls.initFunctiesModel = function(){
|
||||
|
||||
function fAddFunctiemenu(p){
|
||||
this.id = p.id
|
||||
this.naam = p.naam;
|
||||
this.paginanaam = p.paginanaam;
|
||||
}
|
||||
|
||||
function fAddModule(m){
|
||||
var dit = this;
|
||||
this.id = m.id;
|
||||
this.sysnr = m.sysnr;
|
||||
this.naam = m.naam;
|
||||
this.naamkort = m.naamkort;
|
||||
}
|
||||
|
||||
function fAddFunctie(m) {
|
||||
this.functieid = m.functie_id;
|
||||
this.functienaam = m.naam;
|
||||
this.functiekort = m.kort;
|
||||
this.doelgroep = ko.observable(m.doelgroep);
|
||||
this.gekoppeld = ko.observable(false);
|
||||
if (m.doelgroep == 'T') {
|
||||
this.gekoppeld(true);
|
||||
}
|
||||
}
|
||||
|
||||
if (ls.FunctiesModel !== undefined) {
|
||||
ls.FunctiesModel.initModel();
|
||||
}
|
||||
else {
|
||||
ls.FunctiesModel = {
|
||||
|
||||
selectedMenu : ko.observable(),
|
||||
functiemenu : ko.observableArray([]),
|
||||
functies : ko.observableArray([]),
|
||||
modules : ko.observableArray([]),
|
||||
modulefuncties : ko.observableArray([]),
|
||||
selectedModule : ko.observable(''),
|
||||
selectedFunctie : ko.observable(''),
|
||||
bezig : ko.observable(false),
|
||||
// gekoppeld : ko.observable(false),
|
||||
|
||||
initBindings :function(){
|
||||
var self = ls.FunctiesModel;
|
||||
$.post('index.php/shared/menu/getsubmenu/137', function(result){
|
||||
if (result){
|
||||
$.each(result, function(i,p){
|
||||
self.functiemenu.push(new fAddFunctiemenu(p));
|
||||
})
|
||||
}
|
||||
|
||||
ko.applyBindings(ls.FunctiesModel, document.getElementById("pagBindFuncties"));
|
||||
|
||||
self.initModel();
|
||||
},'json');
|
||||
},
|
||||
initModel: function(){
|
||||
|
||||
var self = ls.FunctiesModel;
|
||||
self.selectedMenu(self.functiemenu()[0]);
|
||||
self.fGetModules();
|
||||
|
||||
},
|
||||
|
||||
fGetModules: function(){
|
||||
var self = ls.FunctiesModel;
|
||||
$.post("index.php/shared/functies/getModules", function(result){
|
||||
self.modules.removeAll();
|
||||
if (result){
|
||||
$.each(result, function(i,p){
|
||||
self.modules.push(new fAddModule(p));
|
||||
}); // each
|
||||
if(self.modules) {
|
||||
self.selectedModule(self.modules[0]);
|
||||
var selectedid = self.selectedModule()
|
||||
$.post("index.php/shared/functies/getFuncties/" + selectedid, function(functies){
|
||||
self.modulefuncties.removeAll();
|
||||
if(functies){
|
||||
$.each(functies,function(i,f){
|
||||
self.modulefuncties.push(new fAddFunctie(f));
|
||||
})
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
}; // if result
|
||||
},'json');
|
||||
},
|
||||
|
||||
fGetFunctiesBijModule: function(){
|
||||
var self = ls.FunctiesModel;
|
||||
$.post("index.php/shared/functies/getFuncties/" + self.selectedModule(), function(functies){
|
||||
self.modulefuncties.removeAll();
|
||||
if(functies){
|
||||
$.each(functies,function(i,f){
|
||||
self.modulefuncties.push(new fAddFunctie(f));
|
||||
})
|
||||
}
|
||||
}, 'json');
|
||||
},
|
||||
|
||||
fKoppel: function(){
|
||||
var self = ls.FunctiesModel;
|
||||
var dit = this;
|
||||
if(self.bezig()){
|
||||
return
|
||||
}
|
||||
var moduleid = self.selectedModule();
|
||||
|
||||
var submitData = {
|
||||
'moduleid' : moduleid,
|
||||
'functieid' : dit.functieid }
|
||||
self.bezig(true);
|
||||
$.post("index.php/shared/functies/newModuleFunctieKoppeling", submitData, function(functies){
|
||||
self.bezig(false);
|
||||
dit.gekoppeld(!dit.gekoppeld());
|
||||
}, 'json');
|
||||
|
||||
},
|
||||
|
||||
fOntkoppel: function(){
|
||||
var self = ls.FunctiesModel;
|
||||
var dit = this;
|
||||
if(self.bezig()){
|
||||
return
|
||||
}
|
||||
|
||||
var submitData = {
|
||||
'moduleid' : self.selectedModule(),
|
||||
'functieid' : dit.functieid }
|
||||
self.bezig(true);
|
||||
$.post("index.php/shared/functies/deleteModuleFunctieKoppeling", submitData, function(functies){
|
||||
self.bezig(false);
|
||||
dit.gekoppeld(!dit.gekoppeld());
|
||||
}, 'json');
|
||||
|
||||
},
|
||||
|
||||
fGetBolletjesMonPon: function(){
|
||||
var self = ls.FunctiesModel;
|
||||
var dit = this;
|
||||
var filledversionid = 2514;
|
||||
$.post("index.php/shared/portal/getBollenMonPon", function(bolletjes){
|
||||
}, 'json');
|
||||
// $.post("index.php/shared/portal/getAgendaMonPon/" + filledversionid, function(items){
|
||||
// }, 'json');
|
||||
|
||||
},
|
||||
|
||||
|
||||
} ; // definition van model
|
||||
ls.FunctiesModel.initBindings();
|
||||
}; // else
|
||||
}// function initFunctiesModel
|
||||
});
|
||||
@@ -0,0 +1,368 @@
|
||||
$(function(){
|
||||
|
||||
ls.initGebruikersModel = function(){
|
||||
|
||||
function fAddOrgs(p){
|
||||
var dit =this;
|
||||
this.id = p.id;
|
||||
this.naam = p.naam
|
||||
this.geopend = ko.observable(false);
|
||||
this.orgs1 = ko.observableArray([]);
|
||||
if (p.orgs){
|
||||
$.each(p.orgs, function(j,k){
|
||||
dit.orgs1.push(new fAddOrgs1(k));
|
||||
})
|
||||
}
|
||||
}
|
||||
function fAddOrgs1(p){
|
||||
var dit =this;
|
||||
this.id = p.id;
|
||||
this.naam = p.naam
|
||||
this.geopend = ko.observable(false);
|
||||
this.orgs2 = ko.observableArray([]);
|
||||
if (p.orgs){
|
||||
$.each(p.orgs, function(j,k){
|
||||
dit.orgs2.push(new fAddOrgs2(k));
|
||||
})
|
||||
}
|
||||
}
|
||||
function fAddOrgs2(p){
|
||||
var dit =this;
|
||||
this.id = p.id;
|
||||
this.naam = p.naam
|
||||
this.geopend = ko.observable(false);
|
||||
this.orgs3 = ko.observableArray([]);
|
||||
if (p.orgs){
|
||||
$.each(p.orgs, function(j,k){
|
||||
dit.orgs3.push(new fAddOrgs3(k));
|
||||
})
|
||||
}
|
||||
}
|
||||
function fAddOrgs3(p){
|
||||
var dit =this;
|
||||
this.id = p.id;
|
||||
this.naam = p.naam
|
||||
this.brin = p.brin
|
||||
}
|
||||
|
||||
function fAddGebruiker(p){
|
||||
this.userid = p ? p.userid : null;
|
||||
this.actief = ko.observable(p.OUactief );
|
||||
this.voornaam = ko.observable(p.voornaam );
|
||||
this.tussenvoegsel = ko.observable(p.tussenvoegsel);
|
||||
this.achternaam = ko.observable(p.achternaam );
|
||||
this.email = ko.observable(p.email ) ;
|
||||
if (p.gnaam){
|
||||
this.gnaam = ko.observable(p.gnaam);
|
||||
}
|
||||
else{
|
||||
this.gnaam = ko.observable('');
|
||||
}
|
||||
this.autorisatienivoid = ko.observable(p.nivo_id );
|
||||
this.autorisatienaam = ko.observable(p.autorisatienaam );
|
||||
this.deleteOK = ko.observable(true); // wordt nu nog niets meegedaan
|
||||
|
||||
};
|
||||
|
||||
function fMaakEmptyUser(){
|
||||
this.userid = 0;
|
||||
this.actief = ko.observable(1);
|
||||
this.voornaam = ko.observable('');
|
||||
this.tussenvoegsel = ko.observable('');
|
||||
this.achternaam = ko.observable('');
|
||||
this.email = ko.observable('') ;
|
||||
this.gnaam = ko.observable('');
|
||||
this.autorisatienivoid = ko.observable(0);
|
||||
this.autorisatienaam = ko.observable('');
|
||||
this.deleteOK = ko.observable(true);
|
||||
|
||||
}
|
||||
function fAddFunctieNewUser(p){
|
||||
var dit = this;
|
||||
this.id = p.id//functieid
|
||||
this.functienaam = p.functienaam;
|
||||
this.gekoppeld = 'F';
|
||||
this.isFunctie = ko.observable(false);
|
||||
}
|
||||
|
||||
function fAddAutorisatie(p){
|
||||
this.id = p.id; // is autorisatienivo id
|
||||
this.naam = p.naam
|
||||
|
||||
}
|
||||
function fAddOtherUser(p){
|
||||
this.id = p.id ; //userid
|
||||
this.fullname = p.fullname;
|
||||
this.autorisatienivoid = ko.observable(10);
|
||||
}
|
||||
|
||||
|
||||
if (ls.GebruikersModel !== undefined){
|
||||
ls.GebruikersModel.initModel();
|
||||
}
|
||||
else {
|
||||
ls.GebruikersModel = {
|
||||
orgs : ko.observable(''),
|
||||
selectedOrg : ko.observable(),
|
||||
gebruikers : ko.observableArray([]),
|
||||
toonactief : ko.observable('1'),
|
||||
selectedUser : ko.observable(),
|
||||
selectedUserOld : ko.observable(), // een kopie van de geselecteerde user
|
||||
copyUser : ko.observable(),
|
||||
otherUsers : ko.observableArray([]),
|
||||
functies :ko.observableArray([]),
|
||||
zoekstring : ko.observable(''),
|
||||
titel : ko.observable({title: ko.observable(), status: ko.observable()} ),
|
||||
autorisatieopties : ko.observableArray([]),
|
||||
focusop : ko.observable(1), //werkt weer eens niet
|
||||
bezig : ko.observable(false),
|
||||
|
||||
initBindings :function(){
|
||||
var self = ls.GebruikersModel;
|
||||
|
||||
if (!ko.dataFor(document.getElementById('pagGebruikersxx')) ) {
|
||||
ko.applyBindings(ls.GebruikersModel, document.getElementById("pagGebruikersxx"));
|
||||
}
|
||||
self.initModel();
|
||||
},
|
||||
|
||||
initModel: function(){
|
||||
var self=ls.GebruikersModel;
|
||||
self.gebruikers.removeAll();
|
||||
|
||||
$.post("index.php/shared/users/getorgs", function(orgs){
|
||||
|
||||
self.orgs('');
|
||||
if (orgs){
|
||||
self.orgs(new fAddOrgs(orgs));
|
||||
self.selectedOrg(self.orgs());
|
||||
self.fGetGebruikers();
|
||||
}
|
||||
|
||||
self.autorisatieopties.removeAll()
|
||||
$.post("index.php/shared/autorisatienivos/getautorisaties", function(data){
|
||||
if (data){
|
||||
$.each(data, function(i,p){
|
||||
self.autorisatieopties.push(new fAddAutorisatie(p));
|
||||
});
|
||||
}
|
||||
},'json');
|
||||
},'json'); // getorgs
|
||||
},
|
||||
filteruser: function(others, filternaam){
|
||||
return others().filter(function(user){
|
||||
return ( filternaam() == ''||
|
||||
(user.fullname).toUpperCase() == (filternaam()).toUpperCase() ||
|
||||
(user.fullname).toUpperCase().indexOf((filternaam()).toUpperCase() ) > -1
|
||||
);
|
||||
});
|
||||
},
|
||||
|
||||
fGetGebruikers: function(){
|
||||
var self = ls.GebruikersModel;
|
||||
self.gebruikers.removeAll();
|
||||
if (self.selectedOrg() != undefined){
|
||||
$.post("index.php/shared/users/getorggebruikers/" + self.selectedOrg().id, function(data){
|
||||
if (data){
|
||||
$.each(data, function(i,p){
|
||||
self.gebruikers.push(new fAddGebruiker(p));
|
||||
});
|
||||
}
|
||||
},'json'); //getorggebruikers
|
||||
};
|
||||
},
|
||||
fPopNew: function(){
|
||||
var self=ls.GebruikersModel;
|
||||
self.selectedUser(new fMaakEmptyUser());
|
||||
// hier ipv 0 het laagst mogelijke recht?
|
||||
self.selectedUser().autorisatienivoid(self.autorisatieopties()[0].id);
|
||||
self.titel().title("Nieuwe gebruiker");
|
||||
self.titel().status(1);
|
||||
self.focusop(1);
|
||||
$("#modEditUser").modal("show");
|
||||
},
|
||||
fPopEdit: function(){
|
||||
var self=ls.GebruikersModel;
|
||||
self.selectedUser(new fMaakEmptyUser())
|
||||
self.selectedUserOld(this);
|
||||
self.selectedUser().userid=this.userid;
|
||||
self.selectedUser().gnaam(this.gnaam());
|
||||
self.selectedUser().voornaam(this.voornaam());
|
||||
self.selectedUser().tussenvoegsel(this.tussenvoegsel());
|
||||
self.selectedUser().achternaam(this.achternaam());
|
||||
self.selectedUser().email(this.email());
|
||||
self.selectedUser().autorisatienivoid(this.autorisatienivoid());
|
||||
self.titel().title("Wijzig gebruikergegevens");
|
||||
|
||||
self.titel().status(2);
|
||||
if (self.selectedUser().gnaam() == "" ) self.titel().status(3);
|
||||
self.focusop(1);
|
||||
$("#modEditUser").modal("show");
|
||||
},
|
||||
fDelete: function(){
|
||||
var self=ls.GebruikersModel;
|
||||
var that = this;
|
||||
apprise("Weet u zeker dat u deze gebruiker wilt verwijderen? " , {verify:true, textYes:'ja', textNo:'nee'},function(ans){
|
||||
if (ans) {
|
||||
$.post("index.php/shared/users/deleteuser/" + that.userid+ '/'+self.selectedOrg().id, function(result){
|
||||
if (result){
|
||||
if (result.ok) {
|
||||
if (!result.user){
|
||||
self.gebruikers.remove(that);
|
||||
}
|
||||
else{
|
||||
that.actief(result.user.OUactief);
|
||||
that.autorisatienaam(result.user.autorisatienaam);
|
||||
that.autorisatienivoid(result.user.nivo_id);
|
||||
}
|
||||
}
|
||||
if (result.errortekst){
|
||||
apprise(result.errortekst);
|
||||
}
|
||||
}
|
||||
},'json');
|
||||
}; // if ans
|
||||
});
|
||||
},
|
||||
|
||||
fSaveActiefStatus: function(){
|
||||
var self=ls.GebruikersModel;
|
||||
var that = this;
|
||||
var status = 1;
|
||||
if (this.actief() == 1){status = 0 }
|
||||
var submitData ={userid : this.userid,
|
||||
status : status}
|
||||
$.post('index.php/shared/users/savestatus', submitData,function(){
|
||||
that.actief(status);
|
||||
});
|
||||
return true;
|
||||
},
|
||||
fSaveUser: function(){
|
||||
var self =ls.GebruikersModel;
|
||||
var errortekst = '';
|
||||
if (self.bezig() ) return;
|
||||
self.bezig(true);
|
||||
var submitData = {orgid : self.selectedOrg().id,
|
||||
id : self.selectedUser().userid,
|
||||
voornaam : self.selectedUser().voornaam(),
|
||||
tussenvoegsel : self.selectedUser().tussenvoegsel(),
|
||||
achternaam : self.selectedUser().achternaam(),
|
||||
email : self.selectedUser().email(),
|
||||
gnaam : self.selectedUser().gnaam(),
|
||||
autorisatienivoid : self.selectedUser().autorisatienivoid(),
|
||||
status : self.titel().status()} ;
|
||||
// controleer e-mail
|
||||
if (!checkEmail(self.selectedUser().email()) ){
|
||||
apprise("Het e-mailadres is niet correct.");
|
||||
self.focusop(1);
|
||||
self.bezig(false);
|
||||
return;
|
||||
}
|
||||
else {
|
||||
if (self.titel().status()==1){
|
||||
$.post("index.php/shared/users/adduser", submitData,function(result){
|
||||
if (result && result.ok){
|
||||
self.gebruikers.push(new fAddGebruiker(result.user));
|
||||
self.gebruikers.sort(function(left,right){
|
||||
lft = left.achternaam().toUpperCase();
|
||||
rght = right.achternaam().toUpperCase();
|
||||
return lft == rght ? 0 : (lft < rght ? -1 : 1)
|
||||
});
|
||||
self.bezig(false);
|
||||
$("#modEditUser").modal("hide");
|
||||
}
|
||||
else {
|
||||
apprise(result.errortekst);
|
||||
self.bezig(false);
|
||||
self.focusop(1);
|
||||
}
|
||||
self.bezig(false);
|
||||
},'json');
|
||||
}
|
||||
else { // status = 2 dus update
|
||||
$.post("index.php/shared/users/updateuser2",submitData,function(result){
|
||||
|
||||
if (result) {
|
||||
// hier nog alle waarden (terug)zetten.
|
||||
self.selectedUserOld().actief(result.user.OUactief);
|
||||
self.selectedUserOld().voornaam(result.user.voornaam);
|
||||
self.selectedUserOld().tussenvoegsel(result.user.tussenvoegsel);
|
||||
self.selectedUserOld().achternaam(result.user.achternaam);
|
||||
self.selectedUserOld().email(result.user.email);
|
||||
self.selectedUserOld().gnaam(result.user.gnaam);
|
||||
self.selectedUserOld().autorisatienivoid(result.user.nivo_id);
|
||||
self.selectedUserOld().autorisatienaam(result.user.autorisatienaam);
|
||||
self.focusop(1);
|
||||
|
||||
self.gebruikers.sort(function(left,right){
|
||||
lft = left.achternaam().toUpperCase();
|
||||
rght = right.achternaam().toUpperCase();
|
||||
return lft == rght ? 0 : (lft < rght ? -1 : 1)
|
||||
});
|
||||
if (!result.ok){ apprise(result.errortekst);}
|
||||
else{
|
||||
ls.MsgAutoFade(1000,"Gebruikergegevens zijn opgeslagen");
|
||||
self.selectedUserOld().autorisatienaam(result.user.autorisatienaam);
|
||||
// ALS DE GEWIJZIGDE GEGEVENS VAN DE HUIDIGE GEBRUIKER ZIJN MOET DE FULLNAME ONDER HET MENU
|
||||
// WORDEN AANGEPAST
|
||||
if (result.fullname.length > 0){
|
||||
ls.MenuModel.user(result.fullname);
|
||||
}
|
||||
self.bezig(false);
|
||||
$("#modEditUser").modal("hide");
|
||||
}
|
||||
}
|
||||
self.bezig(false);
|
||||
},'json');
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
fSendNewWW: function(){
|
||||
var self = ls.GebruikersModel;
|
||||
$.post("index.php/shared/users/sendnewww/" + self.selectedUser().userid, function(result){
|
||||
if (result) {
|
||||
apprise("Er is een e-mail verstuurd naar " +self.selectedUser().email() + " met daarin het nieuwe wachtwoord.");
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
fToggleGeopend : function(){
|
||||
this.geopend(!this.geopend());
|
||||
},
|
||||
fSetSelected : function(){
|
||||
var self = ls.GebruikersModel;
|
||||
if (self.selectedOrg() && self.selectedOrg().id == this.id) return;
|
||||
self.selectedOrg(this);
|
||||
self.fGetGebruikers();
|
||||
},
|
||||
fPopCopy : function(){
|
||||
var self= ls.GebruikersModel;
|
||||
$.post("index.php/shared/users/getotherusers/" + self.selectedOrg().id, function(data){
|
||||
self.otherUsers.removeAll();
|
||||
if (data){
|
||||
$.each(data, function(i,p){
|
||||
self.otherUsers.push(new fAddOtherUser(p));
|
||||
}); // each
|
||||
}
|
||||
},'json');
|
||||
$("#modCopyUser").modal('show');
|
||||
},
|
||||
fSaveCopyUser :function(){
|
||||
var self= ls.GebruikersModel;
|
||||
var submitData={ userid : self.copyUser().id,
|
||||
orgid : self.selectedOrg().id,
|
||||
autorisatie : self.copyUser().autorisatienivoid()}
|
||||
$.post("index.php/shared/users/savecopyuser", submitData,function(result){
|
||||
if (result){
|
||||
self.gebruikers.push(new fAddGebruiker(result));
|
||||
}
|
||||
$("#modCopyUser").modal("hide");
|
||||
},'json');
|
||||
}
|
||||
} ; // definition van model
|
||||
|
||||
ls.GebruikersModel.initBindings();
|
||||
|
||||
}; // else
|
||||
}// function initGebruikersModel
|
||||
});
|
||||
@@ -0,0 +1,72 @@
|
||||
$(function(){
|
||||
|
||||
ls.initHomeModel = function(){
|
||||
if (ls.HomeModel !== undefined){
|
||||
ls.HomeModel.initModel();
|
||||
}
|
||||
else {
|
||||
ls.HomeModel = {
|
||||
orgnivo : ko.observable(1),
|
||||
welkomtekst : ko.observable(''),
|
||||
modulenr : ko.observable(0),
|
||||
foto : ko.observable("kids.png"),
|
||||
hometekst : ko.observable('In ontwikkeling'),
|
||||
|
||||
initBindings :function(){
|
||||
var self = ls.HomeModel;
|
||||
if (!ko.dataFor(document.getElementById('paghome')) ) {
|
||||
ko.applyBindings(ls.HomeModel, document.getElementById("paghome"));
|
||||
}
|
||||
|
||||
self.initModel();
|
||||
},
|
||||
initModel: function(){
|
||||
var self = ls.HomeModel;
|
||||
$.post("index.php/shared/portal/getmodule", function(result){
|
||||
self.modulenr(parseInt(result.module));
|
||||
if(self.modulenr() == 90 ||self.modulenr() == 610 )self.foto("kokofotoklein.png");
|
||||
|
||||
if (result.hometekst) { self.hometekst(result.hometekst);}
|
||||
else {self.hometekst("In ontwikkeling");}
|
||||
$.post("index.php/shared/organisaties/getorgnivo", function(nivo){
|
||||
self.orgnivo(nivo);
|
||||
switch (parseInt(self.orgnivo())){
|
||||
//case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
switch (self.modulenr()){
|
||||
case 1: self.welkomtekst("Kies <i>ijkpunten</I> of <i>resultatenmatrix</i> voor een overzicht van de resultaten van uw organisatie.");
|
||||
break;
|
||||
case 270:
|
||||
case 660:
|
||||
case 2: self.welkomtekst("Kies <i>Diversiteitsoverzicht</i> voor een overzicht van de stand van zaken binnen uw organisatie.");
|
||||
break;
|
||||
case 3:
|
||||
case 4: self.welkomtekst("Kies <i>Onderdelen</I> of <i>Resultatenmatrix</i> voor een overzicht van de resultaten van uw organisatie.");
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0:
|
||||
case 4 : switch (self.modulenr()){
|
||||
case 1: self.welkomtekst("Kies <i>invullen monitor</i> om te beginnen.");
|
||||
break;
|
||||
case 270:
|
||||
case 660:
|
||||
case 2: self.welkomtekst("Kies <i>schoolgegevens</i> of <i>groepen</i> om te beginnen.");
|
||||
break;
|
||||
case 3:
|
||||
case 4: self.welkomtekst("Kies <i>Invullen </i> om te beginnen.");
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
},'json');
|
||||
|
||||
},'json');
|
||||
},
|
||||
} ; // definition van model
|
||||
ls.HomeModel.initBindings();
|
||||
}; // else
|
||||
}// function initHomeModel
|
||||
});
|
||||
@@ -0,0 +1,876 @@
|
||||
$(function(){
|
||||
|
||||
ls.initIJkpuntenModel = function(){
|
||||
var GrafiekInfo =null;
|
||||
|
||||
function fAddSWV(p){
|
||||
var dit = this;
|
||||
this.id = p.id;
|
||||
this.soort = p.soort;
|
||||
this.brin = p.brin;
|
||||
this.naam = p.naamkort;
|
||||
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.brin = p.brin;
|
||||
this.naam = p.naamkort;
|
||||
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.brin = p.brin;
|
||||
this.naam = p.naamkort;
|
||||
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.brin = p.brin;
|
||||
this.naam = p.naamkort;
|
||||
this.plaats = p.plaats;
|
||||
}
|
||||
|
||||
function fAddSerie(s) {
|
||||
var dit = this;
|
||||
this.versieid = s.versieid;
|
||||
this.scoretype = s.scoretype;
|
||||
var scoreomschrijving = s.omschrijving;
|
||||
if(s.omschrijving == 'included/involved/present/absent')
|
||||
scoreomschrijving = 'inc/inv/pre/abs'
|
||||
this.scoreomschrijving = scoreomschrijving;
|
||||
this.naam = s.naam;
|
||||
this.periodes = ko.observableArray([]);
|
||||
this.vergelijk = ko.observable(false);
|
||||
this.gekozen = ko.observable(false);
|
||||
this.aangeklikt = ko.observable(0);
|
||||
this.toonCheckbox = ko.pureComputed(function () {
|
||||
var wattedoen = 'Verberg';
|
||||
if(dit.vergelijk() === true && dit.gekozen() === true) {
|
||||
wattedoen = 'Toon';
|
||||
}
|
||||
return wattedoen;
|
||||
});
|
||||
|
||||
if (s.specificaties) {
|
||||
|
||||
$.each(s.specificaties, function (l, p) {
|
||||
$.each(p, function (v, w) {
|
||||
dit.periodes.push(new fAddPeriode(w));
|
||||
})
|
||||
});
|
||||
dit.periodes().length >= 2 ? dit.vergelijk(true): dit.vergelijk(false);
|
||||
}
|
||||
}
|
||||
|
||||
function fAddPeriode(p){
|
||||
var dit = this;
|
||||
this.orgversieid = p.orgversieid;
|
||||
this.periodenummer = p.periodenummer;
|
||||
this.geldigvanaf = p.geldigvanaf;
|
||||
this.geldigtm = p.geldigtotenmet;
|
||||
this.invullentm = p.invullentm;
|
||||
this.vorm = p.vorm;
|
||||
this.wijik = "schoolversie";
|
||||
if (p.vorm === '2') {
|
||||
dit.wijik = "individuele versie"
|
||||
}
|
||||
this.geselecteerd = ko.observable(false);
|
||||
}
|
||||
|
||||
function fAddLijst(i, l, nieuw){
|
||||
var dit = this;
|
||||
this.tooninfo = ko.observable(false);
|
||||
if(nieuw === l.orgversie.id) {
|
||||
dit.tooninfo(true);
|
||||
}
|
||||
this.orgversieid = l.orgversie.id;
|
||||
this.scoretype = l.orgversie.scoretype;
|
||||
this.orgnaam = l.orgnaam;
|
||||
this.wijik = "schoolversie";
|
||||
if (l.vorm === '2') {
|
||||
dit.wijik = "individuele versie"
|
||||
}
|
||||
this.naamV = l.vNaam;
|
||||
this.metingen = l.metingen;
|
||||
this.metingenV = l.metingenV;
|
||||
this.vantm = l.vantm;
|
||||
this.periodenummer = l.orgversie.periodenummer
|
||||
this.jaartal = l.jaartal;
|
||||
|
||||
this.label = l.label;
|
||||
this.ambities = ko.observable(false);
|
||||
if(l.ambities) {
|
||||
if (l.ambities.gemscore && l.ambities.xijkpunten && l.ambities.zprocent) {
|
||||
dit.ambities(true);
|
||||
}
|
||||
}
|
||||
this.gemscore = 0;
|
||||
if(l.ambities) {
|
||||
dit.gemscore = l.ambities.gemscore;
|
||||
}
|
||||
this.ijkpunten = 0;
|
||||
if(l.ambities) {
|
||||
dit.ijkpunten = l.ambities.xijkpunten;
|
||||
}
|
||||
this.zprocent = 0;
|
||||
if(l.ambities) {
|
||||
dit.zprocent = l.ambities.zprocent;
|
||||
}
|
||||
|
||||
this.scores = ko.observableArray([]);
|
||||
this.erzijnscores = ko.observable(true);
|
||||
|
||||
if(l.scores){
|
||||
var meegeven = 'scores';
|
||||
$.each(l.scores, function (i, s){
|
||||
dit.scores.push(new fAddScore(i,s, meegeven))
|
||||
})
|
||||
}
|
||||
else if(l.vergelijkingen){
|
||||
var meegeven = 'vergelijkingen';
|
||||
$.each(l.vergelijkingen, function (x, v){
|
||||
dit.scores.push(new fAddScore(x,v, meegeven))
|
||||
})
|
||||
}
|
||||
else{
|
||||
this.erzijnscores(false);
|
||||
}
|
||||
|
||||
|
||||
this.totgem = l.resultaten.totgem;
|
||||
this.ijkpuntenok = l.resultaten.ijkpuntenok;
|
||||
this.welkehoogste = l.resultaten.welkehoogste;
|
||||
this.welkelaagste = l.resultaten.welkelaagste;
|
||||
this.hoogstescore = l.resultaten.hoogstescore;
|
||||
this.laagstescore = l.resultaten.laagstescore;
|
||||
|
||||
}
|
||||
|
||||
function fAddScore(i,s, meegeven){
|
||||
|
||||
var index = i;
|
||||
var dit = this;
|
||||
this.aantalScores = ko.observable(0);
|
||||
if(index){
|
||||
dit.aantalScores(index + 1);
|
||||
}
|
||||
this.nummer = s.nummer;
|
||||
this.omschrijving = s.omschrijving;
|
||||
this.toelichting = s.toelichting;
|
||||
if (meegeven == 'vergelijkingen'){
|
||||
this.gem = 'nvt';
|
||||
this.gemV = s.gem;
|
||||
this.kleur = 'lightgray'
|
||||
this.kleurV = s.kleur;
|
||||
}
|
||||
else {
|
||||
this.gem = s.gem;
|
||||
this.gemV = s.gemV;
|
||||
|
||||
this.kleur = s.kleur;
|
||||
this.kleurV = s.kleurV;
|
||||
}
|
||||
}
|
||||
|
||||
function fAddUser(p){
|
||||
this.userid = p.id;
|
||||
this.naam = p.fullname;
|
||||
}
|
||||
|
||||
function fAddKleur(k){
|
||||
this.grens1 = k.grens1;
|
||||
this.grens2 = k.grens2;
|
||||
this.grens3 = k.grens3;
|
||||
this.grens4 = k.grens4;
|
||||
this.kleur1 = k.kleur1;
|
||||
this.kleur2 = k.kleur2;
|
||||
this.kleur3 = k.kleur3;
|
||||
this.kleur4 = k.kleur4;
|
||||
}
|
||||
|
||||
function fAddIJkpunt(i){
|
||||
this.ijkpuntid = i.id;
|
||||
this.nummer = i.nummer;
|
||||
this.omschrijving = i.omschrijving;
|
||||
this.toelichting = i.toelichting;
|
||||
}
|
||||
|
||||
if (ls.IJkpuntenModel !== undefined){
|
||||
ls.IJkpuntenModel.initModel();
|
||||
}
|
||||
else {
|
||||
ls.IJkpuntenModel = {
|
||||
toporg : ko.observableArray([]),
|
||||
selectedOrg : ko.observable(''),
|
||||
orgsoort : ko.observable(1),
|
||||
orgversions : ko.observableArray([]),
|
||||
selectedOrgversion : ko.observable(''),
|
||||
toonVergelijking : ko.observable(false),
|
||||
//er kan een vergelijking worden getoond (scores van leerkracht, school of bestuur)
|
||||
ijkpunten : ko.observableArray([]),
|
||||
series : ko.observableArray([]),
|
||||
selectedSerie : ko.observable(0),
|
||||
aantal : ko.observable(0),
|
||||
lijnAt : ko.observable(50),
|
||||
targetnaam : ko.observable(''),
|
||||
kleurlegenda : ko.observable(),
|
||||
usernivo : ko.observable(), // het nivo van de ingelogde user; nodig om te bepalen of individuele gegevens moeten worden opgehaald
|
||||
bezig : ko.observable(false),
|
||||
inzage : ko.observable(),
|
||||
nieuwste : ko.observable(0),
|
||||
nietIngevuld : ko.observable(false),
|
||||
erzijnlijsten : ko.observable(false),
|
||||
selectie : ko.observableArray([]),
|
||||
lijsten : ko.observableArray([]),
|
||||
scorekleuren : ko.observable(null),
|
||||
hoogte : ko.observable(0),
|
||||
breedte : ko.observable(0),
|
||||
isSWV : ko.observable(false),
|
||||
nieuwsteVersie : ko.observable(0),
|
||||
users : ko.observableArray([]),
|
||||
selectedUser : ko.observable(),
|
||||
label : ko.observable(),
|
||||
medewerkerKiezen : ko.observable(false),
|
||||
ijkgrafiek : ko.observable(''),
|
||||
scoretype : ko.observable(''),
|
||||
aantalmetingen : ko.observable(0),
|
||||
|
||||
initBindings :function(){
|
||||
var self = ls.IJkpuntenModel;
|
||||
if (!ko.dataFor(document.getElementById('pagijkpunten')) ) {
|
||||
ko.applyBindings(ls.IJkpuntenModel, document.getElementById("pagijkpunten"));
|
||||
}
|
||||
self.initModel();
|
||||
},
|
||||
initModel: function(){
|
||||
var self =ls.IJkpuntenModel;
|
||||
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));
|
||||
self.isSWV(true);
|
||||
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());
|
||||
$.post('index.php/monpas/rapmatrix/checkinzage', function(result){
|
||||
self.inzage(result);
|
||||
},'json');
|
||||
|
||||
},'json');
|
||||
}
|
||||
|
||||
self.bezig(false);
|
||||
|
||||
},'json');
|
||||
},
|
||||
|
||||
fToggleGeopend: function(){
|
||||
this.geopend(!this.geopend());
|
||||
},
|
||||
|
||||
fGetVergelijkbareVersies: function(){
|
||||
var self = ls.IJkpuntenModel;
|
||||
if (self.selectedOrg() === undefined) return;
|
||||
$.post('index.php/monpas/rapijkpunten/getvergelijkbareversies/'+ self.selectedOrg().id, function(result) {
|
||||
|
||||
if (result && result.series. length > 0 ) {
|
||||
|
||||
|
||||
self.series.removeAll();
|
||||
$.each(result.series, function (i, s) {
|
||||
self.series.push(new fAddSerie(s));
|
||||
});
|
||||
self.selectedSerie(self.series()[0]);
|
||||
if(self.series().length > 0) {
|
||||
$("#modIJkpuntenLijst").modal('show');
|
||||
}
|
||||
else{
|
||||
apprise("De organisatie heeft (nog) geen lijsten bij dit instrument ingevuld");
|
||||
}
|
||||
}
|
||||
|
||||
else {
|
||||
apprise("Er is nog geen lijst ingevuld bij dit instrument");
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
|
||||
fSelecteerSerie: function(){
|
||||
var self = ls.IJkpuntenModel;
|
||||
var dit = this;
|
||||
self.selectedSerie(this);
|
||||
if(self.series && self.selectedSerie()){
|
||||
$.each(self.series(), function (i, s) {
|
||||
if (s.versieid === self.selectedSerie().versieid) {
|
||||
s.gekozen(true);
|
||||
}
|
||||
else{
|
||||
s.gekozen(false);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
this.eenPeriode = ko.computed(function(){
|
||||
var eentje = false;
|
||||
if(self.selectedSerie().periodes().length === 1) {
|
||||
eentje = true;
|
||||
}
|
||||
return eentje;
|
||||
});
|
||||
|
||||
$.each(self.selectedSerie().periodes(), function(j,p){
|
||||
p.geselecteerd(false);
|
||||
|
||||
if(dit.eenPeriode()){
|
||||
p.geselecteerd(true);
|
||||
}
|
||||
});
|
||||
return true;
|
||||
},
|
||||
|
||||
fSelecteerPeriode: function(){
|
||||
var self = ls.IJkpuntenModel;
|
||||
var dit = this;
|
||||
this.geselecteerd(!this.geselecteerd());
|
||||
var aantal = self.selectedSerie().aangeklikt();
|
||||
self.selectedSerie().meerdan4 = ko.computed(function(){
|
||||
var teveel = false;
|
||||
if(dit.geselecteerd()){
|
||||
aantal = aantal +1;
|
||||
}
|
||||
if(dit.geselecteerd()===false){
|
||||
aantal = aantal -1;
|
||||
}
|
||||
if(aantal > 4){
|
||||
teveel = true;
|
||||
}
|
||||
|
||||
return teveel;
|
||||
});
|
||||
|
||||
if(self.selectedSerie().meerdan4()){
|
||||
this.geselecteerd(false);
|
||||
apprise("u kunt maximaal 4 lijsten vergelijken");
|
||||
}
|
||||
self.selectedSerie().aangeklikt(aantal);
|
||||
return true;
|
||||
},
|
||||
|
||||
fHaalLijstenOp: function(herkomst){
|
||||
var self = ls.IJkpuntenModel;
|
||||
var dit = this;
|
||||
self.erzijnlijsten(false);
|
||||
self.nietIngevuld(false);
|
||||
self.selectie.removeAll();
|
||||
var selectie = [];
|
||||
if(self.selectedSerie()) {
|
||||
$.each(self.selectedSerie().periodes(), function (i, p) {
|
||||
|
||||
if (p.geselecteerd()=== true) {
|
||||
var orgversie =
|
||||
{'orgversieid': p.orgversieid,
|
||||
'vorm' : p.vorm };
|
||||
|
||||
self.selectie.push(orgversie);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
if(herkomst === 'popup') {
|
||||
$("#modIJkpuntenLijst").modal('hide');
|
||||
}
|
||||
selectie = self.selectie();
|
||||
|
||||
var submitData = {
|
||||
'selectie': selectie,
|
||||
'orgid': self.selectedOrg().id
|
||||
};
|
||||
|
||||
showAjaxLoader();
|
||||
$.post('index.php/monpas/rapijkpunten/getingevuldelijsten/', submitData, function(result){
|
||||
self.erzijnlijsten(false);
|
||||
self.nietIngevuld(false);
|
||||
self.medewerkerKiezen(false);
|
||||
self.nieuwsteVersie(0);
|
||||
self.lijsten.removeAll();
|
||||
self.ijkpunten.removeAll();
|
||||
self.aantal('');
|
||||
var teller = 0;
|
||||
if(result ) {
|
||||
$.each(result.lijsten, function (i, p) {
|
||||
if (p.scores || p.vergelijkingen) {
|
||||
self.erzijnlijsten(true);
|
||||
self.nietIngevuld(false)
|
||||
}
|
||||
if(self.erzijnlijsten === false){
|
||||
self.nietIngevuld(true)
|
||||
}
|
||||
if(i === 0 && p.orgversie){
|
||||
if(p.orgversie.scoretype){
|
||||
self.scoretype(p.orgversie.scoretype);
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
else{
|
||||
self.nietIngevuld(true);
|
||||
}
|
||||
|
||||
if(self.erzijnlijsten()){
|
||||
var nieuw = '';
|
||||
if (result.nieuwsteversie) {
|
||||
nieuw = result.nieuwsteversie;
|
||||
self.nieuwsteVersie(nieuw);
|
||||
}
|
||||
$.each(result.lijsten, function(j,l){
|
||||
if(j == 0){
|
||||
self.label(l.label)
|
||||
self.aantalmetingen(l.metingen)
|
||||
}
|
||||
self.lijsten.push(new fAddLijst(j,l, nieuw))
|
||||
});
|
||||
|
||||
if (result.aantal) {
|
||||
self.aantal(result.aantal);
|
||||
}
|
||||
if(result.kleuren){
|
||||
|
||||
self.scorekleuren(new fAddKleur(result.kleuren));
|
||||
|
||||
}
|
||||
|
||||
if(result.ijkpunten){
|
||||
$.each(result.ijkpunten, function(y, k){
|
||||
self.ijkpunten.push(new fAddIJkpunt( k))
|
||||
}
|
||||
)
|
||||
}
|
||||
self.fOpenGrafiek();
|
||||
|
||||
if(result.users.length > 0 && self.orgsoort()===4){
|
||||
self.medewerkerKiezen(true);
|
||||
self.users.removeAll();
|
||||
$.each(result.users, function(x, u){
|
||||
self.users.push(new fAddUser(u));
|
||||
})
|
||||
self.selectedUser(self.users()[0]);
|
||||
}
|
||||
}
|
||||
else{
|
||||
|
||||
self.fGetVergelijkbareVersies();
|
||||
}
|
||||
|
||||
}, 'json').always(function(){
|
||||
hideAjaxLoader() } );
|
||||
|
||||
return true;
|
||||
},
|
||||
|
||||
fSwitchOrg: function(){
|
||||
var self = ls.IJkpuntenModel;
|
||||
self.isSWV(false);
|
||||
if (self.selectedOrg() === undefined) return;
|
||||
if (this.id === self.selectedOrg().id) return;
|
||||
|
||||
self.selectedOrg(this);
|
||||
if(self.selectedOrg().soort === '1'){
|
||||
self.isSWV(true);
|
||||
}
|
||||
|
||||
if(self.selectedSerie() !== 0) {
|
||||
var herkomst = 'switch';
|
||||
self.fHaalLijstenOp(herkomst);
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
|
||||
fGetUserScores: function(data, event){
|
||||
var self = ls.IJkpuntenModel;
|
||||
|
||||
|
||||
if ( self.selectedOrg() === undefined ||
|
||||
self.users() === undefined ||
|
||||
self.usernivo > 1 ) return;
|
||||
|
||||
if (self.selectedUser() === undefined) return;
|
||||
|
||||
if(! event.originalEvent || ! event.originalEvent.isTrusted) return;
|
||||
if(self.selectedUser().userid === '0') self.fHaalLijstenOp();
|
||||
|
||||
var selectieInd = [];
|
||||
var selectieOrgversies = [];
|
||||
$.each(self.selectie(),function(i, s){
|
||||
if(s.vorm === '2'){
|
||||
selectieInd.push(s);
|
||||
selectieOrgversies.push(s.orgversieid)
|
||||
}
|
||||
});
|
||||
self.selectie(selectieInd);
|
||||
|
||||
var submitData = {
|
||||
'orguserid': self.selectedUser().userid,
|
||||
'selectie': selectieOrgversies,
|
||||
'orgid': self.selectedOrg().id
|
||||
};
|
||||
|
||||
// showAjaxLoader();
|
||||
self.lijsten.removeAll();
|
||||
self.erzijnlijsten(false);
|
||||
self.nietIngevuld(false);
|
||||
$.post('index.php/monpas/rapijkpunten/getuserlijsten/', submitData, function (result) {
|
||||
self.lijsten.removeAll();
|
||||
self.nieuwsteVersie(0);
|
||||
self.aantal('');
|
||||
var teller = 0;
|
||||
if (result && result.lijsten) {
|
||||
$.each(result.lijsten, function (i, p) {
|
||||
if (p.scores) {
|
||||
self.erzijnlijsten(true);
|
||||
self.nietIngevuld(false);
|
||||
}
|
||||
else{self.nietIngevuld(true)}
|
||||
})
|
||||
}
|
||||
else{
|
||||
self.nietIngevuld(true)
|
||||
}
|
||||
if (self.erzijnlijsten()) {
|
||||
var nieuw = '';
|
||||
if (result.nieuwsteversie) {
|
||||
nieuw = result.nieuwsteversie;
|
||||
self.nieuwsteVersie(nieuw);
|
||||
}
|
||||
$.each(result.lijsten, function (j, l) {
|
||||
|
||||
self.lijsten.push(new fAddLijst(j, l, nieuw))
|
||||
|
||||
});
|
||||
|
||||
if (result.aantal) {
|
||||
self.aantal(result.aantal);
|
||||
}
|
||||
if (result.kleuren) {
|
||||
self.scorekleuren(new fAddKleur(result.kleuren));
|
||||
}
|
||||
self.fOpenGrafiek();
|
||||
}
|
||||
}, 'json').always(function () {
|
||||
// hideAjaxLoader()
|
||||
});
|
||||
},
|
||||
|
||||
fOpenGrafiek: function(){
|
||||
|
||||
var self = ls.IJkpuntenModel;
|
||||
|
||||
var dit = this;
|
||||
var lijsten = self.lijsten();
|
||||
var lijsten2 = self.lijsten();
|
||||
var xas = [];
|
||||
var verkorteVersies = [];
|
||||
var extraLijn = [];
|
||||
var balkGegevens = [];
|
||||
var lijnGegevens;
|
||||
var ambitiewaarde = 0;
|
||||
var xastitel;
|
||||
|
||||
$.each(lijsten, function(i, l) {
|
||||
var labels = [];
|
||||
var scores = [];
|
||||
var ambities = [];
|
||||
|
||||
if(l.label){
|
||||
xastitel = l.label;
|
||||
}
|
||||
var zwart = '#0000';
|
||||
if(l.gemscore && parseFloat(l.gemscore) > 0){
|
||||
ambitiewaarde = parseFloat(l.gemscore);
|
||||
}
|
||||
|
||||
lijsten[i].scores = l.scores();
|
||||
$.each(lijsten[i].scores, function (j, g) {
|
||||
var omschrijving = '';
|
||||
if(g.omschrijving){
|
||||
omschrijving = g.omschrijving;
|
||||
}
|
||||
|
||||
labels.push(g.nummer);
|
||||
scores.push({ y : parseFloat(g.gem),
|
||||
color : g.kleur,
|
||||
name : g.nummer,
|
||||
soort : 'score',
|
||||
versie : l.periodenummer,
|
||||
vantm : l.vantm,
|
||||
omschrijving: omschrijving});
|
||||
|
||||
verkorteVersies.push(l.periodenummer);
|
||||
|
||||
|
||||
ambities.push(
|
||||
{
|
||||
y: ambitiewaarde,
|
||||
color: '#000000',
|
||||
name: '',
|
||||
soort: 'ambitie',
|
||||
versie: l.periodenummer,
|
||||
vantm: l.vantm,
|
||||
omschrijving: g.omschrijving
|
||||
}
|
||||
);
|
||||
});
|
||||
labels.unshift(' ');
|
||||
var legescore ={
|
||||
y : null,
|
||||
color : 'transparent',
|
||||
name : '0',
|
||||
soort : 'extra',
|
||||
versie : l.periodenummer,
|
||||
vantm : l.vantm,
|
||||
omschrijving: ''
|
||||
|
||||
};
|
||||
|
||||
scores.unshift(legescore);
|
||||
verkorteVersies.unshift(l.periodenummer);
|
||||
|
||||
labels.push(' ');
|
||||
scores.push(legescore);
|
||||
verkorteVersies.push(l.periodenummer);
|
||||
|
||||
balkGegevens[i] =({
|
||||
dataLabels: {
|
||||
format: '{point.versie}'
|
||||
},
|
||||
type : 'column',
|
||||
name : verkorteVersies,
|
||||
data : scores
|
||||
});
|
||||
|
||||
var extralijn = {
|
||||
y: ambitiewaarde,
|
||||
name: '',
|
||||
soort: 'extra'
|
||||
};
|
||||
ambities.unshift(extralijn);
|
||||
ambities.push(extralijn);
|
||||
|
||||
lijnGegevens = ({
|
||||
dataLabels: {
|
||||
format: ''
|
||||
},
|
||||
type: 'spline',
|
||||
name: verkorteVersies,
|
||||
data: ambities
|
||||
});
|
||||
|
||||
balkGegevens.push(lijnGegevens);
|
||||
xas = labels;
|
||||
});
|
||||
|
||||
|
||||
self.ijkgrafiek = Highcharts.chart('hc-chart1', {
|
||||
title: {
|
||||
text: ''
|
||||
},
|
||||
credits: {
|
||||
enabled: false,
|
||||
},
|
||||
tooltip:{
|
||||
useHTML: true,
|
||||
outside: true,
|
||||
formatter: function() {
|
||||
var txt = null;
|
||||
if(!this.point.omschrijving){
|
||||
this.point.omschrijving = '';
|
||||
}
|
||||
if(this.point.soort === 'score' || this.point.soort === 'ambitie' ) {
|
||||
txt = '<div class="ijktooltip"><p>' + this.point.vantm + '</p>' + '<br/>' + '<p>' + this.x + '. '
|
||||
+ this.point.omschrijving + ' ' + this.point.soort + ': ' + this.y + '</p></div>';
|
||||
return txt;
|
||||
}
|
||||
}
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
categories: xas,
|
||||
title:{
|
||||
text: xastitel
|
||||
}
|
||||
},
|
||||
yAxis: {
|
||||
min:0,
|
||||
max: 100,
|
||||
title: {
|
||||
text: 'Scores'
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
enabled: false
|
||||
},
|
||||
plotOptions: {
|
||||
column:{
|
||||
pointPadding: 0.05,
|
||||
borderWidth:0
|
||||
},
|
||||
series:{
|
||||
groupPadding: 0.05,
|
||||
dataLabels: {
|
||||
enabled: true,
|
||||
inside: true,
|
||||
align: 'center',
|
||||
verticalAlign: 'bottom',
|
||||
color: '#404040',
|
||||
style: {
|
||||
textOutline: false
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
spline: {
|
||||
color: '#404040',
|
||||
pointStart: 0,
|
||||
marker: {
|
||||
enabled: false
|
||||
}
|
||||
}
|
||||
},
|
||||
series:
|
||||
balkGegevens,
|
||||
showInLegend: false
|
||||
});
|
||||
},
|
||||
|
||||
fToonToelichting: function(){
|
||||
var self = ls.IJkpuntenModel;
|
||||
var dit = this;
|
||||
var puntje = '. ';
|
||||
if(dit.nummer === 'gem'){
|
||||
dit.nummer = '';
|
||||
puntje = '';
|
||||
dit.toelichting ='gemiddelde score';
|
||||
}
|
||||
apprise('Toelichting: ' + puntje + dit.toelichting);
|
||||
},
|
||||
|
||||
fPrintIJkpuntenBar : function () {
|
||||
var self = ls.IJkpuntenModel;
|
||||
self.inlineCSStoSVG("hc-chart1")
|
||||
var svgElem = document.querySelector("#hc-chart1 svg");
|
||||
var svgData = new XMLSerializer().serializeToString(svgElem);
|
||||
|
||||
var canvas = document.getElementById('ijkpuntencanvas');
|
||||
var ctx = canvas.getContext('2d');
|
||||
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
||||
ctx.canvas.height = svgElem.clientHeight;
|
||||
ctx.canvas.width = svgElem.clientWidth;
|
||||
|
||||
var img = document.createElement('img');
|
||||
img.setAttribute("src", "data:image/svg+xml;base64," + btoa(svgData));
|
||||
img.onload = function () {
|
||||
ctx.drawImage(img, 0, 0);
|
||||
GrafiekInfo = canvas.toDataURL("image/png")
|
||||
canvas.style.display = "none";
|
||||
self.fPrint();
|
||||
};
|
||||
|
||||
},
|
||||
|
||||
inlineCSStoSVG: function ( id ) {
|
||||
var self = ls.IJkpuntenModel;
|
||||
var nodes = document.querySelectorAll( "#" + id + " *" );
|
||||
|
||||
for ( var i = 0; i < nodes.length; ++i ) {
|
||||
var elemCSS = window.getComputedStyle( nodes[i], null );
|
||||
nodes[i].removeAttribute( 'xmlns' );
|
||||
nodes[i].style.fill = elemCSS.fill;
|
||||
nodes[i].style.fillOpacity = elemCSS.fillOpacity;
|
||||
nodes[i].style.stroke = elemCSS.stroke;
|
||||
nodes[i].style.strokeLinecap = elemCSS.strokeLinecap;
|
||||
nodes[i].style.strokeDasharray = elemCSS.strokeDasharray;
|
||||
nodes[i].style.strokeWidth = elemCSS.strokeWidth;
|
||||
nodes[i].style.fontSize = elemCSS.fontSize;
|
||||
nodes[i].style.fontFamily = elemCSS.fontFamily;
|
||||
//Finally, solution to embbed HTML in foreignObject https://stackoverflow.com/a/37124551
|
||||
if ( nodes[i].nodeName === "SPAN" || nodes[i].nodeName === "span" ) {
|
||||
nodes[i].setAttribute( "xmlns", "http://www.w3.org/1999/xhtml" );
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
|
||||
fPrint: function(){
|
||||
var self = ls.IJkpuntenModel;
|
||||
// var element = document.querySelector('#hc-chart1')
|
||||
// var svgAsXML = (new XMLSerializer).serializeToString(element);
|
||||
var orgid = self.selectedOrg().id;
|
||||
var lijsten = self.lijsten();
|
||||
var nieuwsteversie = self.nieuwsteVersie();
|
||||
var scorekleuren = self.scorekleuren();
|
||||
var versie = 'Versie: ' + self.selectedSerie().naam + ', scoretype: ' +
|
||||
self.selectedSerie().scoreomschrijving;
|
||||
var data = {
|
||||
'image' : GrafiekInfo,
|
||||
'orgid' : orgid,
|
||||
'lijsten' : lijsten,
|
||||
'versie' : versie,
|
||||
'docentnaam' : self.selectedUser() ? self.selectedUser().naam : '',
|
||||
'nieuwsteversie': nieuwsteversie,
|
||||
'scorekleuren' : scorekleuren
|
||||
};
|
||||
data=JSON.stringify(data);
|
||||
var $form = $("<form method='post' action='index.php/monpas/rapijkpunten/maakijkpuntenpdf' target='_blank'>").append($('<input type = "hidden" name="data" id ="data">').val(data) );
|
||||
$form.appendTo("body").submit();
|
||||
}
|
||||
} ; // definition van model
|
||||
ls.IJkpuntenModel.initBindings();
|
||||
} // else
|
||||
}// function initIJkpuntenModel
|
||||
});
|
||||
@@ -0,0 +1,422 @@
|
||||
$(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.brin = p.brin
|
||||
this.plaats = p.plaats
|
||||
}
|
||||
|
||||
function fAddOrgversion(p) {
|
||||
this.id = p.id; //orgversion id
|
||||
this.periodenummer = p.periodenummer
|
||||
this.versie_id = p.versie_id
|
||||
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 +
|
||||
", " + this.geldigvanaf + " t/m " + this.geldigtm;
|
||||
return versieInfostr;
|
||||
}
|
||||
,this)
|
||||
}
|
||||
|
||||
function fAddIndeling(p) {
|
||||
var dit = this;
|
||||
this.id = p.waardeid;
|
||||
this.naam = p.naam
|
||||
this.volgorde = p.volgorde;
|
||||
this.organisaties = ko.observableArray([]);
|
||||
if (p.users) {
|
||||
$.each(p.users, function (j, k) {
|
||||
dit.organisaties.push(new fAddOrgIndeling(k));
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function fAddOrgIndeling(k) {
|
||||
var dit = this;
|
||||
this.subject = k.fullname;
|
||||
this.naamkort = k.naamkort;
|
||||
this.brin = '';
|
||||
if (k.brin) this.brin = k.brin;
|
||||
this.fvid = k.filledversionid;
|
||||
|
||||
this.results = ko.observableArray([]);
|
||||
if (k.oordelen) {
|
||||
$.each(k.oordelen, function (j, k) {
|
||||
dit.results.push(new fAddResult(k));
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function fAddIJkpunt(p) {
|
||||
this.nummer = p.nummer;
|
||||
this.omschrijving = p.omschrijving;
|
||||
this.toelichting = p.toelichting;
|
||||
}
|
||||
|
||||
function fAddResult(k) {
|
||||
|
||||
var dit = this;
|
||||
this.num = k.nummer;
|
||||
this.normId = k.normID;
|
||||
this.kleur = k.kleur;
|
||||
this.waarde = ko.observable("N");
|
||||
switch(dit.normId){
|
||||
case "1" : dit.waarde("Z"); break;
|
||||
case "2" : dit.waarde("O"); break;
|
||||
case "3" : dit.waarde("V"); break;
|
||||
case "4" : dit.waarde ("G"); break;
|
||||
}
|
||||
}
|
||||
|
||||
function fAddCriteria(c) {
|
||||
var dit = this;
|
||||
this.criteriumid = ko.observable(c.id);
|
||||
this.naam = ko.observable(c.naam);
|
||||
}
|
||||
|
||||
|
||||
|
||||
ls.initInspectiematrixModel = function(){
|
||||
if (ls.InspectiematrixModel !== undefined){
|
||||
ls.InspectiematrixModel.initModel();
|
||||
}
|
||||
else {
|
||||
ls.InspectiematrixModel = {
|
||||
bgs : ko.observableArray([]),
|
||||
ijkpunten : ko.observableArray([]),
|
||||
toporg : ko.observableArray([]),
|
||||
kleuren : ko.observableArray([]),
|
||||
criteria : ko.observableArray([]),
|
||||
indelingen : ko.observableArray([]),
|
||||
selectedOrg : ko.observable(''),
|
||||
orgsoort : ko.observable(1),
|
||||
orgversions : ko.observableArray([]),
|
||||
selectedOrgversion : ko.observable(),
|
||||
selectedCriterium : ko.observable(0),
|
||||
versievorm : ko.observable(),
|
||||
inzage : ko.observable(),
|
||||
kleurlegenda : ko.observable(''),
|
||||
invulid : ko.observable(''),
|
||||
bezig : ko.observable(false),
|
||||
druk : ko.observable(false),
|
||||
aantalY : ko.observable(0),
|
||||
data : ko.observable(false),
|
||||
kolombreedte : ko.pureComputed(function(){
|
||||
var row = 708;
|
||||
var orgbreedte = 250
|
||||
var aantal = 15;
|
||||
if(ls.InspectiematrixModel.aantalY()> 1) {
|
||||
aantal = ls.InspectiematrixModel.aantalY();
|
||||
}
|
||||
var breedte = Math.floor((row - orgbreedte)/aantal);
|
||||
return breedte;
|
||||
}),
|
||||
|
||||
|
||||
orgbreedtehead : ko.pureComputed(function(){
|
||||
var aantal = 15;
|
||||
if(ls.InspectiematrixModel.aantalY()> 1) {
|
||||
aantal = ls.InspectiematrixModel.aantalY();
|
||||
}
|
||||
orgpassend = Math.floor(708 - (aantal * ls.InspectiematrixModel.kolombreedte()))
|
||||
return orgpassend;
|
||||
}),
|
||||
|
||||
orgbreedtebody : ko.pureComputed(function(){
|
||||
var aantal = 15;
|
||||
if(ls.InspectiematrixModel.aantalY()> 1) {
|
||||
aantal = ls.InspectiematrixModel.aantalY();
|
||||
}
|
||||
var orgpassend = Math.floor(708- (aantal * ls.InspectiematrixModel.kolombreedte()))
|
||||
return orgpassend;
|
||||
}),
|
||||
|
||||
initBindings :function(){
|
||||
var self = ls.InspectiematrixModel;
|
||||
if (!ko.dataFor(document.getElementById('paginspectiematrix')) ) {
|
||||
ko.applyBindings(ls.InspectiematrixModel, document.getElementById("paginspectiematrix"));
|
||||
}
|
||||
self.initModel();
|
||||
},
|
||||
initModel: function(){
|
||||
var self = ls.InspectiematrixModel;
|
||||
self.toporg('');
|
||||
self.fCheckInzageRecht();
|
||||
$.post("index.php/monpas/rapijkpunten/getorgs", function (data) {
|
||||
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;
|
||||
}
|
||||
self.selectedOrg(self.toporg());
|
||||
|
||||
self.fSwitchLevel();
|
||||
}
|
||||
}, 'json');
|
||||
|
||||
},
|
||||
fToggleGeopend: function () {
|
||||
this.geopend(!this.geopend());
|
||||
},
|
||||
|
||||
fCheckInzageRecht: function () {
|
||||
var self = ls.InspectiematrixModel;
|
||||
$.post("index.php/monpas/rapmatrix/checkinzage/", function (data) {
|
||||
if (data) {
|
||||
self.inzage(data);
|
||||
}
|
||||
}, 'json');
|
||||
},
|
||||
|
||||
fCheckOwner: function () {
|
||||
var self = ls.InspectiematrixModel;
|
||||
var submitData = {
|
||||
"orgversieid": self.selectedOrgversion().id,
|
||||
"orgid": self.selectedOrg().id,
|
||||
}
|
||||
|
||||
$.post("index.php/monpas/rapmatrix/checkowner/", submitData, function (data) {
|
||||
if (data) {
|
||||
self.invulid(parseInt(data));
|
||||
}
|
||||
}, 'json');
|
||||
},
|
||||
|
||||
fSwitchOrg: function () {
|
||||
var self = ls.InspectiematrixModel;
|
||||
if (self.selectedOrg() == undefined) return;
|
||||
if (this.id == self.selectedOrg().id) return;
|
||||
self.selectedOrg(this);
|
||||
self.fSwitchLevel();
|
||||
},
|
||||
fSwitchLevel: function () {
|
||||
var self = ls.InspectiematrixModel;
|
||||
if (self.selectedOrg() == undefined) return;
|
||||
|
||||
var versieid = null;
|
||||
if(self.selectedOrgversion() != undefined ) {
|
||||
versieid = self.selectedOrgversion().id;
|
||||
}
|
||||
|
||||
|
||||
$.post("index.php/monpas/rapijkpunten/getperiodes3/" + self.selectedOrg().id, function (data) {
|
||||
self.bezig(true);
|
||||
self.orgversions.removeAll();
|
||||
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;
|
||||
}
|
||||
});
|
||||
}
|
||||
if(self.toporg().soort == 4) {
|
||||
self.bezig(false);
|
||||
self.fChangeVersion2();
|
||||
}
|
||||
else {
|
||||
self.fGetCriteria();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}, 'json')
|
||||
.always(self.bezig(false));
|
||||
},
|
||||
fChangeVersion2: function () {
|
||||
var self = ls.InspectiematrixModel;
|
||||
if (self.selectedOrgversion() == undefined) return;
|
||||
if (self.bezig()) return;
|
||||
|
||||
self.fHaalScoresOp();
|
||||
},
|
||||
|
||||
fHaalScoresOp: function(){
|
||||
var self = ls.InspectiematrixModel;
|
||||
if(self.druk()) return;
|
||||
var sorteerid = 0;
|
||||
if(self.selectedCriterium())
|
||||
{
|
||||
sorteerid = self.selectedCriterium().criteriumid();
|
||||
}
|
||||
|
||||
|
||||
|
||||
var submitData = {
|
||||
'orgid' : self.selectedOrg().id,
|
||||
'orgsoort' : self.selectedOrg().soort,
|
||||
'criteriumid' : sorteerid,
|
||||
'orgversieid' : self.selectedOrgversion().id,
|
||||
}
|
||||
|
||||
// showAjaxLoader();
|
||||
|
||||
$.post("index.php/monpas/rapmatrix/haalInspectieScoresOp", submitData, function (results) {
|
||||
self.indelingen.removeAll();
|
||||
self.ijkpunten.removeAll();
|
||||
if (results) {
|
||||
self.fCheckOwner();
|
||||
self.aantalY(results.aantalY);
|
||||
self.data(results.uitslagen);
|
||||
self.kleurlegenda(results.kleurtabel);
|
||||
$.each(results.ijkpunten, function (i, p){
|
||||
self.ijkpunten.push(new fAddIJkpunt(p));
|
||||
}); // each
|
||||
|
||||
$.each(results.labels, function (i, p) {
|
||||
self.indelingen.push(new fAddIndeling(p));
|
||||
}); // each
|
||||
|
||||
|
||||
};
|
||||
// if results
|
||||
|
||||
}, 'json');
|
||||
// hideAjaxLoader();
|
||||
},
|
||||
|
||||
fGetCriteria: function(){
|
||||
var self = ls.InspectiematrixModel;
|
||||
var submitData ={
|
||||
'orgid' : self.selectedOrg().id,
|
||||
'orgsoort' : self.selectedOrg().soort
|
||||
}
|
||||
|
||||
$.post("index.php/monpas/rapmatrix/getCriteriaSWV", submitData, function(results) {
|
||||
self.druk(true);
|
||||
self.criteria.removeAll();
|
||||
if (results) {
|
||||
$.each(results, function (i, c) {
|
||||
self.criteria.push(new fAddCriteria(c));
|
||||
if (c.id == 1000) {
|
||||
self.selectedCriterium(c.id);
|
||||
return false;
|
||||
}
|
||||
}); // each
|
||||
}
|
||||
|
||||
self.druk(false);
|
||||
self.fChangeCriterium();
|
||||
},'json')
|
||||
.always(self.druk(false), self.bezig(false));
|
||||
},
|
||||
|
||||
fChangeCriterium: function(){
|
||||
var self = ls.InspectiematrixModel;
|
||||
if (self.selectedOrgversion() == undefined) return;
|
||||
if (self.druk() ) return;
|
||||
self.fHaalScoresOp();
|
||||
},
|
||||
|
||||
fToonToelichting: function () {
|
||||
var self = ls.InspectiematrixModel;
|
||||
var dit = this;
|
||||
apprise("Toelichting bij ijkpunt " + dit.nummer + ":<br/><i>" + dit.omschrijving + "</i><br/><hr/> " + dit.toelichting);
|
||||
},
|
||||
|
||||
fPrint:function(){
|
||||
var self =ls.InspectiematrixModel;
|
||||
// if (self.bezig()) return;
|
||||
// self.bezig(true);
|
||||
|
||||
var criterium= null;
|
||||
if(self.selectedCriterium()){
|
||||
criterium = self.selectedCriterium().naam();
|
||||
}
|
||||
var indelingen = ko.toJSON(self.indelingen());
|
||||
var ijkpunten = ko.toJSON(self.ijkpunten);
|
||||
var data ={
|
||||
'orgversie' : self.selectedOrgversion(),
|
||||
'organisatie' : self.selectedOrg(),
|
||||
'indelingen' : indelingen,
|
||||
'ijkpunten' : ijkpunten,
|
||||
'criterium' : criterium,
|
||||
'kopbreedte' : self.orgbreedtehead()+"px",
|
||||
'orgbreedte' : self.orgbreedtebody()+"px",
|
||||
'kolombreedte' : self.kolombreedte()+"px",
|
||||
'uitslagen' : self.data(),
|
||||
'invulid' : self.invulid(),
|
||||
'inzage' : self.inzage(),
|
||||
'kleurlegenda' : self.kleurlegenda(),
|
||||
}
|
||||
|
||||
data=JSON.stringify(data);
|
||||
var $form = $("<form method='post' action='index.php/monpas/rapmatrix/printinspectie' target='_blank'>").append($('<input type = "hidden" name="data" id ="data">').val(data) );
|
||||
$form.appendTo("body").submit();
|
||||
}
|
||||
|
||||
} ; // definition van model
|
||||
ls.InspectiematrixModel.initBindings();
|
||||
|
||||
}; // else
|
||||
}// function initInspectieInspectiematrixModel
|
||||
});
|
||||
@@ -0,0 +1,562 @@
|
||||
$(function(){
|
||||
var timeout;
|
||||
|
||||
mh.initInvulModel = function(){
|
||||
|
||||
function fAddSchooljaar(s){
|
||||
this.nummer = s.schooljaarnr;
|
||||
this.naam = s.naam;
|
||||
}
|
||||
|
||||
function fAddArrangement( x, a){
|
||||
|
||||
|
||||
var dit = this;
|
||||
this.arrangementid = a.id;
|
||||
this.naam = a.naam;
|
||||
this.looptijd = a && a.lengte ==='L' ?'≥ 6 wkn': '< 6 wkn';
|
||||
this.leeftijd = a.leeftijd;
|
||||
this.aantal = ko.observable(a && a.huidig.aantal ? a.huidig.aantal : 0);
|
||||
this.bewaarAantal = ko.observable(a && a.huidig.aantal ? a.huidig.aantal : 0);
|
||||
this.selected = ko.observable(false);
|
||||
this.archief = ko.observable(false);
|
||||
if(a.huidig.archief && a.huidig.archief === 'T'){
|
||||
dit.archief(true);
|
||||
}
|
||||
}
|
||||
|
||||
function fAddTLV(y,t){
|
||||
this.tlvid = t.id;
|
||||
this.aantal = ko.observable(t.aantal ? t.aantal : 0);
|
||||
this.soort = ko.observable(t.soort ? t.soort.toLowerCase(): '');
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if (mh.InvulModel !== undefined){
|
||||
mh.InvulModel.initModel();
|
||||
}
|
||||
else {
|
||||
mh.InvulModel = {
|
||||
schooljaren : ko.observableArray([]),
|
||||
arrangementen : ko.observableArray([]),
|
||||
selectedSchooljaar : ko.observable(''),
|
||||
schooljanee : ko.observable(false),
|
||||
editok : ko.observable(false),
|
||||
meetellen : ko.observable(false),
|
||||
heeftleerlingen : ko.observable(false),
|
||||
aantalleerlingen : ko.observable(0),
|
||||
bewaarleerlingen : ko.observable(0),
|
||||
toontabel : ko.observable(false),
|
||||
druk : ko.observable(false),
|
||||
nieuwArrangement : ko.observable(false),
|
||||
naamNieuw : ko.observable(''),
|
||||
leeftijdNieuw : ko.observable(''),
|
||||
aantalNieuw : ko.observable(''),
|
||||
looptijdNieuw : ko.observable('L'),
|
||||
laag : ko.observable(0),
|
||||
bewaarLaag : ko.observable(0),
|
||||
laagID : ko.observable(0),
|
||||
midden : ko.observable(0),
|
||||
bewaarMidden : ko.observable(0),
|
||||
middenID : ko.observable(0),
|
||||
hoog : ko.observable(0),
|
||||
bewaarHoog : ko.observable(0),
|
||||
hoogID : ko.observable(0),
|
||||
licht : ko.observable(0),
|
||||
bewaarLicht : ko.observable(0),
|
||||
lichtID : ko.observable(0),
|
||||
zwaar : ko.observable( 0),
|
||||
bewaarZwaar : ko.observable(0),
|
||||
zwaarID : ko.observable(0),
|
||||
notitie : ko.observable(''),
|
||||
totaalTLVs : ko.pureComputed(function(){
|
||||
var som = 0;
|
||||
if(mh.InvulModel){
|
||||
som = Number(mh.InvulModel.laag()) + Number(mh.InvulModel.midden()) +
|
||||
Number(mh.InvulModel.hoog())+ Number(mh.InvulModel.licht())+
|
||||
Number(mh.InvulModel.zwaar())
|
||||
return som;
|
||||
}
|
||||
}),
|
||||
totaalSO : ko.pureComputed(function(){
|
||||
var som = 0;
|
||||
if(mh.InvulModel){
|
||||
som = Number(mh.InvulModel.laag()) + Number(mh.InvulModel.midden()) +
|
||||
Number(mh.InvulModel.hoog());
|
||||
|
||||
return som;
|
||||
}
|
||||
}),
|
||||
totaalSBO : ko.pureComputed(function(){
|
||||
var som = 0;
|
||||
if(mh.InvulModel){
|
||||
som = Number(mh.InvulModel.licht())+
|
||||
Number(mh.InvulModel.zwaar())
|
||||
return som;
|
||||
}
|
||||
}),
|
||||
|
||||
totaalArr : ko.pureComputed(function(){
|
||||
var som = 0;
|
||||
if(mh.InvulModel){
|
||||
if(mh.InvulModel.arrangementen() || mh.InvulModel.aantalNieuw()){
|
||||
if(mh.InvulModel.arrangementen()) {
|
||||
for(var x = 0; x < mh.InvulModel.arrangementen().length; x++){
|
||||
if(mh.InvulModel.arrangementen()[x].archief()== false) {
|
||||
som = som + Number(mh.InvulModel.arrangementen()[x].aantal());
|
||||
}
|
||||
}
|
||||
}
|
||||
if(mh.InvulModel.aantalNieuw()){
|
||||
som = som + Number(mh.InvulModel.aantalNieuw());
|
||||
}
|
||||
}
|
||||
return som;
|
||||
}
|
||||
|
||||
}),
|
||||
tekensTeGaan : ko.pureComputed(function(){
|
||||
var aantal = 20;
|
||||
if(mh.InvulModel && mh.InvulModel.naamNieuw()){
|
||||
aantal = 20 - Number(mh.InvulModel.naamNieuw().length)
|
||||
}
|
||||
return aantal;
|
||||
}),
|
||||
|
||||
|
||||
initBindings :function(){
|
||||
var self = mh.InvulModel;
|
||||
|
||||
ko.applyBindings(mh.InvulModel, document.getElementById("paginvullenextra"));
|
||||
$.post('index.php/monpas/omvang/getrechten', function (result) {
|
||||
self.editok(result);
|
||||
self.initModel();
|
||||
}, 'json');
|
||||
},
|
||||
|
||||
initModel: function(){
|
||||
var self = mh.InvulModel;
|
||||
$.post("index.php/shared/organisaties/controleerschool", function (result){
|
||||
self.schooljanee(result);
|
||||
if (self.schooljanee() ){
|
||||
self.druk(true);
|
||||
self.fGetSchooljaren();
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
|
||||
fGetSchooljaren: function(callback){
|
||||
var self = mh.InvulModel;
|
||||
$.post("index.php/shared/schooljaren/getschooljaren", function(data){
|
||||
self.selectedSchooljaar('')
|
||||
self.schooljaren.removeAll();
|
||||
|
||||
|
||||
if(data) {
|
||||
$.each(data, function (i, s) {
|
||||
self.schooljaren.push(new fAddSchooljaar(s));
|
||||
});//each
|
||||
|
||||
|
||||
} // if
|
||||
|
||||
},'json')
|
||||
},
|
||||
|
||||
|
||||
fSelecteerSchooljaar: function(){
|
||||
var self = mh.InvulModel;
|
||||
if(self.selectedSchooljaar() && self.selectedSchooljaar().nummer > 0){
|
||||
self.fGetOmvang();
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
fGetOmvang: function(){
|
||||
var self = mh.InvulModel;
|
||||
self.aantalleerlingen(0);
|
||||
self.bewaarleerlingen(0);
|
||||
self.laag(0);
|
||||
self.bewaarLaag(0);
|
||||
self.laagID(0);
|
||||
self.midden(0);
|
||||
self.bewaarMidden(0);
|
||||
self.middenID(0);
|
||||
self.hoog(0);
|
||||
self.bewaarHoog(0);
|
||||
self.hoogID(0);
|
||||
self.licht(0);
|
||||
self.bewaarLicht(0);
|
||||
self.lichtID(0);
|
||||
self.zwaar( 0);
|
||||
self.bewaarZwaar(0);
|
||||
self.zwaarID(0);
|
||||
self.notitie('');
|
||||
self.arrangementen.removeAll();
|
||||
|
||||
$.post("index.php/monpas/omvang/getextraomvang/" + self.selectedSchooljaar().nummer, function(result){
|
||||
if(result){
|
||||
self.meetellen(false);
|
||||
if((result.aantal)) {
|
||||
self.aantalleerlingen(Number(result.aantal.aantal));
|
||||
self.bewaarleerlingen(Number(result.aantal.aantal));
|
||||
self.notitie(result.aantal.notitie);
|
||||
if(result.aantal.meetellen == 'T'){
|
||||
self.meetellen(true);
|
||||
}
|
||||
else{self.meetellen(false)}
|
||||
|
||||
}
|
||||
if(result.tlvs){
|
||||
$.each(result.tlvs, function(i, t){
|
||||
if(t.zwaarte)
|
||||
switch(t.zwaarte){
|
||||
case 'LAAG' : self.laag(t.aantal);
|
||||
self.bewaarLaag(t.aantal)
|
||||
self.laagID(t.id);
|
||||
break;
|
||||
case 'MIDDEN': self.midden(t.aantal);
|
||||
self.bewaarMidden(t.aantal);
|
||||
self.middenID(t.id);
|
||||
break;
|
||||
case 'HOOG' : self.hoog(t.aantal);
|
||||
self.bewaarHoog(t.aantal);
|
||||
self.hoogID(t.id)
|
||||
break;
|
||||
case 'LICHT' : self.licht(t.aantal);
|
||||
self.bewaarLicht(t.aantal);
|
||||
self.lichtID(t.id);
|
||||
break;
|
||||
case 'ZWAAR' : self.zwaar(t.aantal);
|
||||
self.bewaarZwaar(t.aantal);
|
||||
self.zwaarID(t.id)
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
if(result.arrangementen){
|
||||
$.each(result.arrangementen, function(x, a){
|
||||
self.arrangementen.push(new fAddArrangement(x,a))
|
||||
});
|
||||
}
|
||||
}
|
||||
self.toontabel(true)
|
||||
},'json');
|
||||
},
|
||||
|
||||
|
||||
fSaveAantalLeerlingen: function(){
|
||||
var self = mh.InvulModel;
|
||||
if(isNaN(self.aantalleerlingen())){
|
||||
apprise("Vul gehele getallen in.");
|
||||
self.aantalleerlingen(self.bewaarleerlingen());
|
||||
return;
|
||||
}
|
||||
|
||||
if (timeout) {
|
||||
clearTimeout(timeout);
|
||||
timeout = null;
|
||||
}
|
||||
timeout = setTimeout(function () {
|
||||
|
||||
var submitData = {
|
||||
'aantalleerlingen' : self.aantalleerlingen(),
|
||||
'schooljaarnr' : self.selectedSchooljaar().nummer
|
||||
};
|
||||
|
||||
$.post("index.php/monpas/omvang/saveAantalLeerlingen", submitData, function (result) {
|
||||
if(result){}
|
||||
}, 'json');
|
||||
|
||||
}, 1000);
|
||||
},
|
||||
|
||||
fSaveSO: function(){
|
||||
var self = mh.InvulModel;
|
||||
var message = false;
|
||||
|
||||
if(isNaN(self.laag())){
|
||||
self.laag(self.bewaarLaag());
|
||||
message = true;
|
||||
}
|
||||
if(isNaN(self.midden())){
|
||||
self.midden(self.bewaarMidden());
|
||||
message = true;
|
||||
}
|
||||
if(isNaN(self.hoog())){
|
||||
self.hoog(self.bewaarHoog());
|
||||
message = true;
|
||||
}
|
||||
|
||||
if(message){
|
||||
apprise("Vul gehele getallen in.");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (timeout) {
|
||||
clearTimeout(timeout);
|
||||
timeout = null;
|
||||
}
|
||||
timeout = setTimeout(function () {
|
||||
|
||||
var submitData = {
|
||||
'laag' : self.laag(),
|
||||
'midden' : self.midden(),
|
||||
'hoog' : self.hoog(),
|
||||
'laagID' : self.laagID(),
|
||||
'middenID' : self.middenID(),
|
||||
'hoogID' :self.hoogID(),
|
||||
'schooljaarnr': self.selectedSchooljaar().nummer,
|
||||
|
||||
};
|
||||
|
||||
$.post("index.php/monpas/omvang/saveTlvsSO", submitData, function (result) {
|
||||
if(result){
|
||||
if(result.laag) self.laagID(result.laag);
|
||||
if(result.midden) self.middenID(result.midden);
|
||||
if(result.hoog) self.hoogID(result.hoog);
|
||||
}
|
||||
}, 'json');
|
||||
|
||||
}, 600);
|
||||
},
|
||||
|
||||
fSaveSBO: function(){
|
||||
var self = mh.InvulModel;
|
||||
var message = false;
|
||||
|
||||
if(isNaN(self.licht())){
|
||||
self.licht(self.bewaarLicht());
|
||||
message = true;
|
||||
}
|
||||
if(isNaN(self.zwaar())){
|
||||
self.zwaar(self.bewaarZwaar());
|
||||
message = true;
|
||||
}
|
||||
if(message){
|
||||
apprise("Vul gehele getallen in.");
|
||||
return;
|
||||
}
|
||||
if (timeout) {
|
||||
clearTimeout(timeout);
|
||||
timeout = null;
|
||||
}
|
||||
timeout = setTimeout(function () {
|
||||
|
||||
var submitData = {
|
||||
'licht' : self.licht(),
|
||||
'zwaar' : self.zwaar(),
|
||||
'lichtID' : self.lichtID(),
|
||||
'zwaarID' : self.zwaarID(),
|
||||
'schooljaarnr': self.selectedSchooljaar().nummer,
|
||||
};
|
||||
$.post("index.php/monpas/omvang/saveTlvsSBO", submitData, function (result) {
|
||||
if(result){
|
||||
if(result.licht) self.lichtID(result.licht);
|
||||
if(result.zwaar) self.zwaarID(result.zwaar);
|
||||
|
||||
}
|
||||
}, 'json');
|
||||
|
||||
}, 600);
|
||||
},
|
||||
|
||||
|
||||
|
||||
fSaveLlnArr: function(versie){
|
||||
var self = mh.InvulModel;
|
||||
var dit = this;
|
||||
if(isNaN(dit.aantal())){
|
||||
apprise("Vul gehele getallen in.");
|
||||
dit.aantal(dit.bewaarAantal());
|
||||
return;
|
||||
}
|
||||
|
||||
if (timeout) {
|
||||
clearTimeout(timeout);
|
||||
timeout = null;
|
||||
}
|
||||
timeout = setTimeout(function () {
|
||||
var submitData = {
|
||||
'aantal' : dit.aantal(),
|
||||
'id' : dit.arrangementid,
|
||||
'schooljaar' : self.selectedSchooljaar().nummer
|
||||
};
|
||||
|
||||
$.post("index.php/monpas/omvang/saveLlnArrangement/", submitData, function () {
|
||||
});
|
||||
}, 600);
|
||||
},
|
||||
|
||||
fDeleteArrangement: function(){
|
||||
var self = mh.InvulModel;
|
||||
|
||||
$.post("index.php/monpas/omvang/deleteArrangement/" + this.arrangementid, function (result) {
|
||||
if(result) {
|
||||
if (result !== "gelukt") {
|
||||
apprise( result);
|
||||
}
|
||||
else{
|
||||
$.post("index.php/monpas/omvang/getArrangementen/" + self.selectedSchooljaar().nummer, function(arr){
|
||||
self.arrangementen.removeAll();
|
||||
if(arr){
|
||||
self.arrangementen.removeAll();
|
||||
$.each(arr, function(i, a){
|
||||
self.arrangementen.push(new fAddArrangement(i, a));
|
||||
});
|
||||
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
}
|
||||
}, 'json'); // delete arrangement
|
||||
},
|
||||
|
||||
fVerbergArrangement: function(versie, data) {
|
||||
var self = mh.InvulModel;
|
||||
var dit = this;
|
||||
|
||||
if(Number(this.aantal()) > 0){
|
||||
apprise("Aan dit arrangement zijn in het gekozen schooljaar leerlingen gekoppeld. <br> " +
|
||||
"Het kan daarom niet worden verborgen"
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
if(Number(this.aantal()) === 0){
|
||||
this.archief(true);
|
||||
var submitData ={
|
||||
'arrangementid' : dit.arrangementid,
|
||||
'schooljaarnr' : self.selectedSchooljaar().nummer
|
||||
};
|
||||
|
||||
$.post("index.php/monpas/omvang/archiveerArrangement/" ,submitData, function (result) {
|
||||
|
||||
}, 'json');
|
||||
}
|
||||
},
|
||||
|
||||
fToggleNieuwArrangement: function(){
|
||||
var self = mh.InvulModel;
|
||||
self.nieuwArrangement(!self.nieuwArrangement());
|
||||
if(!self.nieuwArrangement()){
|
||||
self.naamNieuw('');
|
||||
self.leeftijdNieuw('');
|
||||
self.looptijdNieuw('L');
|
||||
self.aantalNieuw(0);
|
||||
}
|
||||
},
|
||||
|
||||
fSaveNieuwArrangement: function(){
|
||||
var self = mh.InvulModel;
|
||||
|
||||
if(isNaN(self.aantalNieuw())){
|
||||
apprise("Vul gehele getallen in.");
|
||||
self.aantalNieuw(0);
|
||||
return;
|
||||
}
|
||||
var naam = self.naamNieuw().trim();
|
||||
|
||||
if(naam.length < 3){
|
||||
apprise("De naam moet minstens 3 tekens lang zijn.");
|
||||
return;
|
||||
}
|
||||
if(naam.length > 20){
|
||||
apprise("De naam mag maximaal 20 tekens lang zijn.");
|
||||
return;
|
||||
}
|
||||
|
||||
var submitData = {
|
||||
'naam' : self.naamNieuw(),
|
||||
'leeftijd' : self.leeftijdNieuw(),
|
||||
'aantal' : self.aantalNieuw(),
|
||||
'looptijd' : self.looptijdNieuw(),
|
||||
'schooljaarnr': self.selectedSchooljaar().nummer
|
||||
};
|
||||
|
||||
$.post("index.php/monpas/omvang/saveNieuwArrangement/", submitData, function (result) {
|
||||
if (result) {
|
||||
self.nieuwArrangement(false);
|
||||
self.naamNieuw('');
|
||||
self.leeftijdNieuw('');
|
||||
self.looptijdNieuw('L');
|
||||
self.aantalNieuw(0);
|
||||
$.post("index.php/monpas/omvang/getArrangementen/" + self.selectedSchooljaar().nummer, function(arr){
|
||||
if(arr){
|
||||
self.arrangementen.removeAll();
|
||||
$.each(arr, function(i, a){
|
||||
self.arrangementen.push(new fAddArrangement(i, a));
|
||||
});
|
||||
|
||||
} // if arr
|
||||
},'json')
|
||||
} // if result
|
||||
},'json');
|
||||
},
|
||||
|
||||
fToonArchief: function(){
|
||||
var self = mh.InvulModel;
|
||||
$.each(self.arrangementen(), function(i, a){
|
||||
a.archief(false);
|
||||
});
|
||||
$.post("index.php/monpas/omvang/toonAlleArrangmenten/" + self.selectedSchooljaar().nummer, function (result) {
|
||||
}, 'json');
|
||||
},
|
||||
|
||||
|
||||
fUpdateNotitie: function(){
|
||||
var self = mh.InvulModel;
|
||||
if(Number(self.aantalleerlingen() == 0)){
|
||||
apprise("Vul eerst het aantal leerlingen in.");
|
||||
return;
|
||||
}
|
||||
if (timeout){
|
||||
clearTimeout(timeout);
|
||||
timeout = null;
|
||||
}
|
||||
timeout = setTimeout(function(){
|
||||
var submitData= {
|
||||
'notitie' : self.notitie(),
|
||||
'schooljaarnr': self.selectedSchooljaar().nummer
|
||||
}
|
||||
|
||||
$.post("index.php/monpas/omvang/bewaarNotitie/", submitData, function (result) {
|
||||
|
||||
}, 'json');
|
||||
|
||||
}, 600);
|
||||
},
|
||||
|
||||
fTelMee: function(){
|
||||
var self = mh.InvulModel;
|
||||
if(Number(self.aantalleerlingen() == 0)){
|
||||
apprise("Vul eerst het aantal leerlingen in.");
|
||||
return;
|
||||
}
|
||||
|
||||
self.meetellen(!self.meetellen());
|
||||
var dit = this;
|
||||
var meetellen ='T';
|
||||
if(!dit.meetellen()){
|
||||
meetellen = 'F';
|
||||
}
|
||||
|
||||
var submitData = {
|
||||
'meetellen' : meetellen,
|
||||
'schooljaar': self.selectedSchooljaar().nummer
|
||||
}
|
||||
|
||||
$.post("index.php/monpas/omvang/gegevensmeetellen", submitData);
|
||||
},
|
||||
|
||||
|
||||
|
||||
} ; // definition van model
|
||||
mh.InvulModel.initBindings();
|
||||
} // else
|
||||
}// function init
|
||||
});
|
||||
@@ -0,0 +1,138 @@
|
||||
$(function(){
|
||||
|
||||
ls.initLijstenModel = function(){
|
||||
|
||||
function fAddSWV(result, targetorgid){
|
||||
var dit = this;
|
||||
if (typeof result.naam != 'undefined'){
|
||||
this.naam = result.naam;
|
||||
}
|
||||
this.geopend= ko.observable(true);
|
||||
this.kamers = ko.observableArray();
|
||||
if (result.kamers){
|
||||
$.each(result.kamers, function(i,p){
|
||||
dit.kamers.push(new fAddKamer(p,targetorgid));
|
||||
}); //each
|
||||
}; // if result
|
||||
}
|
||||
function fAddKamer(p,targetorgid){
|
||||
var dit = this;
|
||||
if (typeof p.naam != 'undefined'){
|
||||
this.naam= p.naam
|
||||
this.geopend = ko.observable(false);
|
||||
if (targetorgid == p.id) this.geopend(true);
|
||||
}
|
||||
else this.geopend = ko.observable(true);
|
||||
this.bgs = ko.observableArray();
|
||||
if (p.bgs){
|
||||
$.each(p.bgs, function(j,k){
|
||||
dit.bgs.push(new fAddBG(k,targetorgid));
|
||||
}); // each
|
||||
}; // if bgs
|
||||
};
|
||||
function fAddBG(k, targetorgid){
|
||||
var dit = this;
|
||||
if (typeof k.naam != 'undefined'){
|
||||
this.naam = k.naam;
|
||||
this.geopend= ko.observable(false);
|
||||
if (targetorgid == k.id) this.geopend(true);
|
||||
} // if not undefined
|
||||
else this.geopend = ko.observable(true);
|
||||
this.scholen = ko.observableArray();
|
||||
if (k.scholen){
|
||||
$.each(k.scholen, function(i,p){
|
||||
dit.scholen.push(new fAddSchool(p, targetorgid));
|
||||
}); //each
|
||||
}; // if scholen
|
||||
};
|
||||
|
||||
function fAddSchool(p,targetorgid){
|
||||
this.id = p.id;
|
||||
this.naam = p.naam
|
||||
this. selected =ko.observable(false);
|
||||
if (this.id == targetorgid){
|
||||
this.selected(true);
|
||||
ls.LijstenModel.selectedSchool(this);
|
||||
}
|
||||
}
|
||||
function fAddLijst(p){
|
||||
this.fvid = p.fvid;
|
||||
this.periode = p.periodenummer;
|
||||
this.vorm = p.vorm;
|
||||
this.vanaf = p.geldigvanaf
|
||||
this.tm = p.geldigtm
|
||||
this.naam = p. naam;
|
||||
this.usernaam = p.usernaam;
|
||||
}
|
||||
if (ls.LijstenModel !== undefined){
|
||||
ls.LijstenModel.initModel();
|
||||
}
|
||||
else {
|
||||
ls.LijstenModel = {
|
||||
|
||||
selectedSchool : ko.observable(null),
|
||||
swv : ko.observable(),
|
||||
lijsten : ko.observableArray(),
|
||||
|
||||
initBindings :function(){
|
||||
var self = ls.LijstenModel;
|
||||
if (!ko.dataFor(document.getElementById('paglijsten')) ) {
|
||||
ko.applyBindings(ls.LijstenModel, document.getElementById("paglijsten"));
|
||||
}
|
||||
self.initModel();
|
||||
},
|
||||
initModel: function(){
|
||||
var self = ls.LijstenModel;
|
||||
$.post("index.php/monpas/lijsten/getorganisaties", function(result){
|
||||
self.swv(null);
|
||||
if (result.swv){
|
||||
self.swv(new fAddSWV(result.swv,result.targetorg.id));
|
||||
if (self.selectedSchool()) self.fGetLijsten();
|
||||
}; // if result
|
||||
},'json');
|
||||
},
|
||||
fToggle: function(){
|
||||
this.geopend(!this.geopend());
|
||||
},
|
||||
fSetSelected: function(){
|
||||
var self = ls.LijstenModel;
|
||||
if (this == self.selectedSchool){
|
||||
return;
|
||||
};
|
||||
if (self.selectedSchool()) self.selectedSchool().selected(false);
|
||||
self.selectedSchool(this);
|
||||
self.selectedSchool().selected(true);
|
||||
self.fGetLijsten();
|
||||
},
|
||||
fGetLijsten: function(){
|
||||
var self = ls.LijstenModel;
|
||||
if (!self.selectedSchool()) return;
|
||||
$.post("index.php/monpas/lijsten/getlijsten/" + self.selectedSchool().id, function(result){
|
||||
self.lijsten.removeAll();
|
||||
if (result){
|
||||
$.each(result, function(i,p){
|
||||
self.lijsten.push(new fAddLijst(p));
|
||||
}); // each
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
fDeleteLijst: function(){
|
||||
var self =ls.LijstenModel;
|
||||
var dit = this;
|
||||
var naam = "de school ";
|
||||
if (dit.vorm ==2) naam= dit.usernaam
|
||||
apprise("Weet u zeker dat u de lijst <i> " + dit.naam + "</i> ingevuld door " + naam + " wilt verwijderen? ",
|
||||
{verify:true, textYes: 'ja' , textNo: 'nee'}, function(ans){
|
||||
if (ans){
|
||||
$.post("index.php/monpas/lijsten/deletelijst/" + dit.fvid, function(){
|
||||
self.lijsten.remove(dit);
|
||||
},'json');
|
||||
}
|
||||
}); // apprise
|
||||
}
|
||||
|
||||
} ; // definition van model
|
||||
ls.LijstenModel.initBindings();
|
||||
}; // else
|
||||
}// function initLijstenModel
|
||||
});
|
||||
@@ -0,0 +1,464 @@
|
||||
$(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.brin = p.brin
|
||||
this.plaats = p.plaats
|
||||
}
|
||||
|
||||
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 fAddIndeling(p) {
|
||||
var dit = this;
|
||||
this.id = p.waardeid;
|
||||
this.naam = p.naam
|
||||
this.volgorde = p.volgorde;
|
||||
this.organisaties = ko.observableArray([]);
|
||||
if (p.users) {
|
||||
$.each(p.users, function (j, k) {
|
||||
dit.organisaties.push(new fAddOrgIndeling(k));
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function fAddOrgIndeling(k) {
|
||||
var dit = this;
|
||||
this.subject = k.fullname;
|
||||
this.naamkort = k.naamkort;
|
||||
this.brin = '';
|
||||
if (k.brin) this.brin = k.brin;
|
||||
this.fvid = k.filledversionid;
|
||||
|
||||
this.results = ko.observableArray([]);
|
||||
if (k.scores) {
|
||||
$.each(k.scores, function (j, k) {
|
||||
dit.results.push(new fAddResult(k));
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function fAddIJkpunt(p) {
|
||||
this.nummer = p.nummer;
|
||||
this.omschrijving = p.omschrijving;
|
||||
this.toelichting = p.toelichting;
|
||||
}
|
||||
|
||||
function fAddResult(k) {
|
||||
var dit = this;
|
||||
if (k.gem === '' || isNaN(k.gem) || k.gem === null) {
|
||||
this.gem = 0;
|
||||
}
|
||||
else {
|
||||
this.gem = Math.round(parseFloat(k.gem));
|
||||
}
|
||||
this.num = k.nummer;
|
||||
this.colorcode = '#e08885';
|
||||
if(k.kleur) dit.colorcode = k.kleur;
|
||||
}
|
||||
|
||||
function fAddCriteria(c) {
|
||||
var dit = this;
|
||||
this.criteriumid = ko.observable(c.id);
|
||||
this.naam = ko.observable(c.naam);
|
||||
}
|
||||
|
||||
|
||||
|
||||
ls.initMatrixModel = function () {
|
||||
if (ls.MatrixModel !== undefined) {
|
||||
ls.MatrixModel.initModel();
|
||||
}
|
||||
else {
|
||||
ls.MatrixModel = {
|
||||
bgs : ko.observableArray([]),
|
||||
erzijnscores : ko.observable(false),
|
||||
ijkpunten : ko.observableArray([]),
|
||||
toporg : ko.observableArray([]),
|
||||
criteria : ko.observableArray([]),
|
||||
indelingen : ko.observableArray([]),
|
||||
selectedOrg : ko.observable(''),
|
||||
orgsoort : ko.observable(1),
|
||||
orgversions : ko.observableArray([]),
|
||||
selectedOrgversion : ko.observable(''),
|
||||
selectedCriterium : ko.observable(0),
|
||||
versievorm : ko.observable(''),
|
||||
kleurlegenda : ko.observable(''),
|
||||
inzage : ko.observable(),
|
||||
invulid : ko.observable(''),
|
||||
aantalY : ko.observable(0),
|
||||
bezig : ko.observable(false),
|
||||
druk : ko.observable(false),
|
||||
data : ko.observable(false),
|
||||
kolombreedte : ko.pureComputed(function(){
|
||||
var row = 708;
|
||||
var orgbreedte = 250
|
||||
var aantal = 16;
|
||||
if(ls.MatrixModel.aantalY()){
|
||||
aantal = ls.MatrixModel.aantalY()+1;
|
||||
}
|
||||
var breedte = Math.floor((row - orgbreedte)/aantal);
|
||||
return breedte;
|
||||
}),
|
||||
|
||||
orgbreedtehead : ko.pureComputed(function(){
|
||||
var aantal = 16;
|
||||
if(ls.MatrixModel.aantalY()){
|
||||
aantal = ls.MatrixModel.aantalY()+1;
|
||||
}
|
||||
orgpassend = Math.floor(700 - (aantal * ls.MatrixModel.kolombreedte()))
|
||||
|
||||
return orgpassend;
|
||||
}),
|
||||
|
||||
orgbreedtebody : ko.pureComputed(function(){
|
||||
var aantal = 16;
|
||||
if(ls.MatrixModel.aantalY()){
|
||||
aantal = ls.MatrixModel.aantalY()+1;
|
||||
}
|
||||
var orgpassend = Math.floor(710- (aantal * ls.MatrixModel.kolombreedte()))
|
||||
return orgpassend;
|
||||
}),
|
||||
|
||||
initBindings: function () {
|
||||
var self = ls.MatrixModel;
|
||||
if (!ko.dataFor(document.getElementById('pagmatrix'))) {
|
||||
ko.applyBindings(ls.MatrixModel, document.getElementById("pagmatrix"));
|
||||
}
|
||||
self.initModel();
|
||||
},
|
||||
|
||||
initModel: function () {
|
||||
var self = ls.MatrixModel;
|
||||
self.toporg('');
|
||||
|
||||
self.fCheckInzageRecht();
|
||||
$.post("index.php/monpas/rapijkpunten/getorgs", function (data) {
|
||||
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;
|
||||
}
|
||||
self.selectedOrg(self.toporg());
|
||||
self.fSwitchLevel();
|
||||
}
|
||||
}, 'json');
|
||||
|
||||
},
|
||||
|
||||
fCheckInzageRecht: function () {
|
||||
var self = ls.MatrixModel;
|
||||
$.post("index.php/monpas/rapmatrix/checkinzage/", function (data) {
|
||||
if (data) {
|
||||
self.inzage(data);
|
||||
}
|
||||
}, 'json');
|
||||
},
|
||||
|
||||
fSwitchOrg: function () {
|
||||
var self = ls.MatrixModel;
|
||||
if (self.selectedOrg() == undefined) return;
|
||||
if (this.id == self.selectedOrg().id) return;
|
||||
self.selectedOrg(this);
|
||||
self.orgversions.removeAll();
|
||||
self.fSwitchLevel();
|
||||
},
|
||||
|
||||
fSwitchLevel: function () {
|
||||
var self = ls.MatrixModel;
|
||||
if (self.selectedOrg() == undefined) return;
|
||||
var versieid = null;
|
||||
if(self.selectedOrgversion() != undefined ) {
|
||||
versieid = self.selectedOrgversion().id;
|
||||
}
|
||||
$.post("index.php/monpas/rapijkpunten/getperiodes3/" + self.selectedOrg().id, function (data) {
|
||||
// ls: hier self bezig toegevoegd en later weer op false gezet zodat de functie fChangeVersion2 niet
|
||||
// wordt aangeroepen voor dat alle orgversions zijn ingelezen en selectedOrgversion is gezet.
|
||||
self.bezig(true);
|
||||
self.orgversions.removeAll();
|
||||
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;
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
if(self.selectedOrg().soort == 4) {
|
||||
self.bezig(false);
|
||||
self.fChangeVersion2();
|
||||
}
|
||||
else {
|
||||
self.fGetCriteria();
|
||||
}
|
||||
}
|
||||
}, 'json')
|
||||
.always(self.bezig(false) );
|
||||
},
|
||||
|
||||
fToggleGeopend: function () {
|
||||
this.geopend(!this.geopend());
|
||||
},
|
||||
|
||||
fCheckOwner: function () {
|
||||
var self = ls.MatrixModel;
|
||||
var submitData = {
|
||||
"orgversieid" : self.selectedOrgversion().id,
|
||||
"orgid" : self.selectedOrg().id,
|
||||
}
|
||||
// hideAjaxLoader();
|
||||
$.post("index.php/monpas/rapmatrix/checkowner/", submitData, function (data) {
|
||||
if (data) {
|
||||
self.invulid(parseInt(data));
|
||||
}
|
||||
}, 'json');
|
||||
},
|
||||
|
||||
// fSwitchOrg: function () {
|
||||
// var self = ls.MatrixModel;
|
||||
//
|
||||
// if (self.selectedOrg() == undefined) return;
|
||||
// if (this.id == self.selectedOrg().id) return;
|
||||
// self.selectedOrg(this);
|
||||
// self.fSwitchLevel();
|
||||
// },
|
||||
|
||||
fGetCriteria: function(){
|
||||
var self = ls.MatrixModel;
|
||||
var submitData ={
|
||||
'orgid' : self.selectedOrg().id,
|
||||
'orgsoort' : self.selectedOrg().soort
|
||||
}
|
||||
|
||||
$.post("index.php/monpas/rapmatrix/getCriteriaSWV", submitData, function(results) {
|
||||
self.druk(true);
|
||||
self.criteria.removeAll();
|
||||
|
||||
if (results) {
|
||||
$.each(results, function (i, c) {
|
||||
self.criteria.push(new fAddCriteria(c));
|
||||
if (c.id == 1000) {
|
||||
self.selectedCriterium(c.id);
|
||||
return false;
|
||||
}
|
||||
}); // each
|
||||
}
|
||||
|
||||
self.druk(false);
|
||||
self.fChangeCriterium();
|
||||
},'json')
|
||||
.always(self.druk(false), self.bezig(false));
|
||||
},
|
||||
|
||||
fChangeCriterium: function(){
|
||||
var self = ls.MatrixModel;
|
||||
if (self.selectedOrgversion() == undefined) return;
|
||||
if (self.druk() ) return;
|
||||
self.fHaalScoresOp();
|
||||
},
|
||||
|
||||
fChangeVersion2: function () {
|
||||
var self = ls.MatrixModel;
|
||||
if (self.selectedOrgversion() == undefined) return;
|
||||
if (self.bezig() ) return;
|
||||
self.fHaalScoresOp();
|
||||
},
|
||||
|
||||
fHaalScoresOp: function(){
|
||||
var self = ls.MatrixModel;
|
||||
var dit = this;
|
||||
if (self.druk() ) return;
|
||||
|
||||
var sorteerid = 0;
|
||||
if(self.selectedCriterium())
|
||||
{
|
||||
sorteerid = self.selectedCriterium().criteriumid();
|
||||
}
|
||||
|
||||
|
||||
var submitData = {
|
||||
'orgid' : self.selectedOrg().id,
|
||||
'orgsoort' : self.selectedOrg().soort,
|
||||
'toporg' : self.toporg().soort,
|
||||
'criteriumid' : sorteerid,
|
||||
'orgversieid' : self.selectedOrgversion().id,
|
||||
}
|
||||
// showAjaxLoader();
|
||||
|
||||
$.post("index.php/monpas/rapmatrix/haalScoresOp", submitData, function(results) {
|
||||
self.data(false);
|
||||
self.indelingen.removeAll();
|
||||
self.ijkpunten.removeAll();
|
||||
if (results) {
|
||||
self.erzijnscores(results.erzijnscores);
|
||||
|
||||
if(!self.erzijnscores()){
|
||||
apprise("Er is nog geen lijst ingevuld bij dit instrument");
|
||||
return;
|
||||
}
|
||||
else {
|
||||
|
||||
self.data(true);
|
||||
$.each(results.labels, function (i, p) {
|
||||
self.indelingen.push(new fAddIndeling(p));
|
||||
|
||||
}); // each
|
||||
self.fCheckOwner();
|
||||
$.each(results.ijkpunten, function (i, p) {
|
||||
self.ijkpunten.push(new fAddIJkpunt(p));
|
||||
}); // each
|
||||
|
||||
self.aantalY(results.aantalY);
|
||||
self.versievorm(results.vorm);
|
||||
self.kleurlegenda(results.kleurtabel);
|
||||
}
|
||||
}
|
||||
|
||||
}, 'json').always(function(){
|
||||
hideAjaxLoader() } );
|
||||
},
|
||||
|
||||
fToonToelichting: function () {
|
||||
var self = ls.MatrixModel;
|
||||
var dit = this;
|
||||
apprise("Toelichting bij ijkpunt " + dit.nummer + ":<br/><i>" + dit.omschrijving + "</i><br/><hr/> " + dit.toelichting);
|
||||
},
|
||||
|
||||
fPrint:function(){
|
||||
var self =ls.MatrixModel;
|
||||
if (self.bezig()) return;
|
||||
self.bezig(true);
|
||||
var criterium= null;
|
||||
if(self.selectedCriterium()){
|
||||
criterium = self.selectedCriterium().naam();
|
||||
}
|
||||
var indelingen = ko.toJSON(self.indelingen());
|
||||
|
||||
|
||||
var ijkpunten = ko.toJSON(self.ijkpunten);
|
||||
var data ={
|
||||
'orgversie' : self.selectedOrgversion(),
|
||||
'criterium' : criterium,
|
||||
'organisatie' : self.selectedOrg(),
|
||||
'indelingen' : indelingen,
|
||||
'ijkpunten' : ijkpunten,
|
||||
'invulid' : self.invulid(),
|
||||
'inzage' : self.inzage(),
|
||||
'kopbreedte' : self.orgbreedtehead(),
|
||||
'orgbreedte' : self.orgbreedtebody(),
|
||||
'kolombreedte' : self.kolombreedte(),
|
||||
}
|
||||
|
||||
data=JSON.stringify(data);
|
||||
var $form = $("<form method='post' action='index.php/monpas/rapmatrix/printmatrix' target='_blank'>").append($('<input type = "hidden" name="data" id ="data">').val(data) );
|
||||
$form.appendTo("body").submit();
|
||||
self.bezig(false);
|
||||
},
|
||||
|
||||
}; // definition van model
|
||||
|
||||
ls.MatrixModel.initBindings();
|
||||
|
||||
ls.MatrixModel.showMatrix= ko.pureComputed(function () {
|
||||
var self = ls.MatrixModel;
|
||||
if (self.versievorm() != 2) return 'AlleRijen';
|
||||
if (self.selectedOrg().soort != 4) return 'AlleRijen';
|
||||
if (self.inzage() == 256) return 'AlleRijen';
|
||||
if (self.inzage() < 256) return 'GemiddeldeVanInd';
|
||||
if (self.inzage() > 256) return 'EigenEnGemiddelde';
|
||||
return '';
|
||||
});
|
||||
}
|
||||
; // else
|
||||
}// function initMatrixModel
|
||||
});
|
||||
@@ -0,0 +1,464 @@
|
||||
$(function(){
|
||||
|
||||
ls.initMenuModel = function(){
|
||||
|
||||
function fAddMenuitem(p){
|
||||
var dit = this;
|
||||
this.id = p.id;
|
||||
this.naam = p.naam;
|
||||
this.paginanaam = p.paginanaam;
|
||||
this.holdernaam = p.holdernaam;
|
||||
this.gekozen = ko.observable(false);
|
||||
this.subpaginas = ko.observableArray([]);
|
||||
if(p.holdernaam === "sophoofd"){
|
||||
$.each(p.subpaginas, function(i,s){
|
||||
dit.subpaginas.push(new fAddSubpagina(s));
|
||||
})
|
||||
}
|
||||
}
|
||||
function fAddSubpagina(s){
|
||||
this.id = s.id;
|
||||
this.naam = s.naam;
|
||||
this.paginanaam = s.paginanaam;
|
||||
this.holdernaam = s.holdernaam;
|
||||
this.volgorde = s.volgorde;
|
||||
this.subgekozen = ko.observable(false);
|
||||
}
|
||||
|
||||
|
||||
function fAddOrg(p){
|
||||
this.id = p.id;
|
||||
this.brin = p.brin;
|
||||
this.naamkort = p.naamkort;
|
||||
this.naam = p.naam;
|
||||
|
||||
this.valtonderid = p.valtonder_id;
|
||||
}
|
||||
function fAddHandleiding(p){
|
||||
this.id = p.id;
|
||||
this.schermnaam = p.schermnaam;
|
||||
this.documentnaam = p.documentnaam;
|
||||
this.nummer = p.nummer;
|
||||
}
|
||||
|
||||
var module = 0;
|
||||
var vandaag = new Date();
|
||||
|
||||
function fAddSchool(p){
|
||||
this.id = p.id;
|
||||
this.brin = p.brin;
|
||||
this.naamkort = p.naamkort;
|
||||
this.naam = p.naam;
|
||||
this.shownaam = p.brin + ' - ' + p.naamkort;
|
||||
}
|
||||
function fAddSchooljaar(p){
|
||||
this.schooljaarnr = p.schooljaarnr;
|
||||
this.naam = p.naam;
|
||||
this.start = p.start;
|
||||
this.eind = p.eind;
|
||||
}
|
||||
|
||||
|
||||
if (ls.MenuModel !== undefined){
|
||||
ls.MenuModel.initModel();
|
||||
}
|
||||
else {
|
||||
ls.MenuModel = {
|
||||
menuitems : ko.observableArray([]),
|
||||
user : ko.observable(),
|
||||
organisatie : ko.observable(),
|
||||
selectedOrganisatie : ko.observable(),
|
||||
newvoornaam : ko.observable(),
|
||||
newtussenvoegsel : ko.observable(),
|
||||
newachternaam : ko.observable(),
|
||||
newemail : ko.observable(),
|
||||
newwachtwoord1 : ko.observable(''),
|
||||
newwachtwoord2 : ko.observable(''),
|
||||
zout : ko.observable(),
|
||||
zoekstring : ko.observable(''),
|
||||
alleorganisaties : ko.observableArray([]),
|
||||
handleidingen : ko.observableArray([]),
|
||||
module : ko.observable(0),
|
||||
modulenaam : ko.observable('Instrumenten'),
|
||||
boolSchool : ko.observable(false),
|
||||
scholen : ko.observableArray([]),
|
||||
selectedSchool : ko.observable(),
|
||||
filternaam : ko.observable(''),
|
||||
schooljaren : ko.observableArray([]),
|
||||
selectedSchooljaar : ko.observable(),
|
||||
toonScholen : ko.observable(true),
|
||||
logo : ko.observable("monpas.png"),
|
||||
|
||||
|
||||
initModel : function(){
|
||||
var self = ls.MenuModel;
|
||||
self.menuitems.removeAll();
|
||||
$.post("index.php/shared/menu/get_menu",function(data){
|
||||
self.menuitems.removeAll();
|
||||
if (data.menu){
|
||||
$.each(data.menu, function(i,p){
|
||||
self.menuitems.push(new fAddMenuitem(p));
|
||||
}); // foreach
|
||||
if (self.menuitems()[0]){
|
||||
self.menuitems()[0].gekozen(true);
|
||||
}
|
||||
self.user(data.user);
|
||||
self.organisatie(data.organisatie);
|
||||
self.module(data.module);
|
||||
if(self.module() == 90 || self.module() == 610 ) self.logo("logokokoklein.png")
|
||||
};
|
||||
self.modulenaam(data.modulenaam);
|
||||
|
||||
$.post("index.php/shared/organisaties/getscholenvoormenu/" + self.module(), function(result){
|
||||
if (result){
|
||||
self.boolSchool(result.school);
|
||||
self.scholen.removeAll();
|
||||
self.selectedSchool(null);
|
||||
$.each(result.scholen,function(i,p){
|
||||
self.scholen.push(new fAddSchool(p));
|
||||
}); // each
|
||||
self.scholen.sort(function(left,right){
|
||||
return left.naamkort == right.naamkort ? 0 : (left.naamkort < right.naamkort ? -1 : 1)
|
||||
});
|
||||
self.selectedSchool(self.scholen()[0]);
|
||||
}; // if result
|
||||
|
||||
$.post("index.php/shared/schooljaren/getschooljaren", function(result){
|
||||
self.schooljaren.removeAll();
|
||||
if (result){
|
||||
$.each(result, function(i,p){
|
||||
self.schooljaren.push(new fAddSchooljaar(p));
|
||||
}); // each
|
||||
$.each(self.schooljaren(), function(j,k){
|
||||
if (vandaag >= new Date(k.start+"T00:00:00") &&
|
||||
vandaag <= new Date(k.eind+"T00:00:00") ){
|
||||
self.selectedSchooljaar(k);
|
||||
return false;
|
||||
}; //if
|
||||
}); // each
|
||||
}
|
||||
|
||||
// self.fChangeSchooljaar();
|
||||
self.toonScholen(true);
|
||||
self.fGetPagina(self.menuitems()[0].holdernaam);
|
||||
if (self.module() === 0) ls.initPortalModel();
|
||||
},'json');
|
||||
},'json');
|
||||
},'json');
|
||||
},
|
||||
filter: function(scholen, filternaam){
|
||||
return scholen().filter(function(school){
|
||||
return ( filternaam() === '' ||
|
||||
(school.naamkort).toUpperCase() === (filternaam()).toUpperCase() ||
|
||||
(school.naamkort).toUpperCase().indexOf((filternaam()).toUpperCase() ) > -1 ||
|
||||
(school.naam).toUpperCase().indexOf((filternaam()).toUpperCase() ) > -1
|
||||
);
|
||||
});
|
||||
},
|
||||
filterorg: function(alleorganisaties, zoekstring){
|
||||
return alleorganisaties().filter(function(organisatie){
|
||||
return ( zoekstring() === '' ||
|
||||
(organisatie.naamkort).toUpperCase() === (zoekstring()).toUpperCase() ||
|
||||
(organisatie.naamkort).toUpperCase().indexOf((zoekstring()).toUpperCase() ) > -1 ||
|
||||
|
||||
(organisatie.brin).toUpperCase().indexOf((zoekstring()).toUpperCase() ) > -1
|
||||
);
|
||||
});
|
||||
},
|
||||
fChangeSchool : function(){
|
||||
var self = ls.MenuModel;
|
||||
var id = null;
|
||||
var module = self.module();
|
||||
|
||||
if (self.selectedSchool()) {
|
||||
id = self.selectedSchool().id;
|
||||
}
|
||||
|
||||
$.post("index.php/monpas/modulebalk/setselectedschool/" + id, function(result){
|
||||
if(result){
|
||||
if (ls.ColofonModel !== undefined) {ls.ColofonModel.initModel();}
|
||||
if (ls.GroepenModel !== undefined) {ls.GroepenModel.initModel(module);}
|
||||
if (ls.DiversiteitModel !== undefined) {ls.DiversiteitModel.initModel(module);}
|
||||
if (mh.DiversiteitSOModel !== undefined) {mh.DiversiteitSOModel.initModel();}
|
||||
if(ls.OndersteuningModel !== undefined) {ls.OndersteuningModel.initModel(module);}
|
||||
// self.selectedSchool('');
|
||||
}
|
||||
}, 'json');
|
||||
},
|
||||
fChangeSchooljaar: function(){
|
||||
var self = ls.MenuModel;
|
||||
var nr = null;
|
||||
var module = self.module();
|
||||
if (self.selectedSchooljaar()) {nr = self.selectedSchooljaar().schooljaarnr};
|
||||
$.post("index.php/monpas/modulebalk/setselectedschooljaar/" + nr, function(result){
|
||||
if(result) {
|
||||
if (ls.GroepenModel !== undefined) {
|
||||
ls.GroepenModel.initModel(module);
|
||||
}
|
||||
if (ls.DiversiteitModel !== undefined) {
|
||||
|
||||
ls.DiversiteitModel.initModel(module);
|
||||
}
|
||||
if (ls.OndersteuningModel !== undefined) {
|
||||
ls.OndersteuningModel.initModel(module);
|
||||
}
|
||||
if (ls.MonDivModel !== undefined) {
|
||||
if (ls.MonDivModel.selectedCriterium() !== undefined) {
|
||||
ls.MonDivModel.fHaalOverzichtenOp(nr, module);
|
||||
}
|
||||
else {
|
||||
ls.MonDivModel.initModel(module);
|
||||
}
|
||||
}
|
||||
if (mh.DiversiteitSOModel !== undefined) {
|
||||
mh.DiversiteitSOModel.initModel();
|
||||
}
|
||||
if (mh.GroepensoModel !== undefined) {
|
||||
mh.GroepensoModel.initModel();
|
||||
}
|
||||
if (mh.OndersteuningSOModel !== undefined) {
|
||||
mh.OndersteuningSOModel.initModel();
|
||||
}
|
||||
if (mh.MonDivSOModel !== undefined) {
|
||||
mh.MonDivSOModel.initModel();
|
||||
}
|
||||
}
|
||||
}, 'json');
|
||||
},
|
||||
|
||||
fSetMenu: function(){
|
||||
var self=ls.MenuModel;
|
||||
var that = this;
|
||||
self.toonScholen(true);
|
||||
if (this.gekozen() ) return;
|
||||
$.each(self.menuitems(), function(i,p){
|
||||
p.gekozen(false);
|
||||
});
|
||||
that.gekozen(true);
|
||||
if(that.holdernaam === "monitordiversiteit" || that.holdernaam === "monitordiversiteitso" ){
|
||||
self.toonScholen(false);
|
||||
}
|
||||
self.fGetPagina(that.holdernaam);
|
||||
},
|
||||
|
||||
|
||||
fSetSubmenu: function(){
|
||||
var self=ls.MenuModel;
|
||||
var that = this;
|
||||
|
||||
self.toonScholen(true);
|
||||
$.each(self.menuitems(), function (i, m){
|
||||
m.gekozen(false);
|
||||
$.each(m.subpaginas(), function (x, s){
|
||||
|
||||
s.subgekozen(false);
|
||||
if(that.id === s.id){
|
||||
s.subgekozen(true);
|
||||
m.gekozen(true);
|
||||
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
this.subgekozen(true);
|
||||
self.fGetPagina(that.holdernaam);
|
||||
},
|
||||
|
||||
fUitloggen: function(){
|
||||
$.post("index.php/login/logout",function(){
|
||||
location.reload();
|
||||
});
|
||||
},
|
||||
fGetPagina: function(menunaam){
|
||||
var self = ls.MenuModel;
|
||||
var dit = this;
|
||||
var module = self.module();
|
||||
$('.mainpagina').fadeOut();
|
||||
|
||||
switch (menunaam){
|
||||
case "portal" : if (self.module() != 0)
|
||||
{
|
||||
$.post("index.php/shared/portal/naarmodule/0" , function(){
|
||||
location.reload();
|
||||
});
|
||||
}
|
||||
else{
|
||||
$('#pag'+ menunaam).fadeIn(500);
|
||||
}
|
||||
return;
|
||||
break;
|
||||
case "home" : ls.initHomeModel();
|
||||
break;
|
||||
case "ijkpunten" : ls.initIJkpuntenModel();
|
||||
break;
|
||||
case "overzichtscores" : ls.initOverzichtScoresModel();
|
||||
break;
|
||||
case "ontwikkel" : ls.initOntwikkelModel();
|
||||
break;
|
||||
case "ontwikkel2" : ls.initOntwikkelModel2();
|
||||
break;
|
||||
case "monitor" : ls.initMonitorModel();
|
||||
break;
|
||||
case "beheer" : ls.initBeheerModel();
|
||||
break;
|
||||
case "berichtbeheer" : mh.initBerichtBeheerModel();
|
||||
break;
|
||||
case "functies" : ls.initFunctiesModel();
|
||||
break;
|
||||
case "invullenextra" : mh.initInvulModel()
|
||||
break;
|
||||
case "omvangextra" : mh.initOmvangModel();
|
||||
break;
|
||||
case "streefcijfers" : ls.initStreefcijfersModel();
|
||||
break;
|
||||
case "accounts" : ls.initAccountsModel();
|
||||
break;
|
||||
case "sortering" : mh.initSorteringModel();
|
||||
break;
|
||||
case "matrix" : ls.initMatrixModel();
|
||||
break;
|
||||
case "schoolgegevens" : ls.initColofonModel();
|
||||
break;
|
||||
case "groepen" : ls.initGroepenModel(module);
|
||||
break;
|
||||
case "groepenso" : mh.initGroepensoModel();
|
||||
break;
|
||||
case "ondersteuning" : ls.initOndersteuningModel(module);
|
||||
break;
|
||||
case "ondersteuningso" : mh.initOndersteuningSOModel();
|
||||
break;
|
||||
case "diversiteit" : ls.initDiversiteitModel(module);
|
||||
break;
|
||||
case "diversiteitso" : mh.initDiversiteitSOModel();
|
||||
break;
|
||||
case "monitordiversiteit": ls.initMonDivModel(module);
|
||||
break;
|
||||
case "monitordiversiteitso": mh.initMonDivSOModel(module);
|
||||
break;
|
||||
case "sophoofd" : mh.initSopModel();
|
||||
break;
|
||||
case "compactsop" : mh.initCompactSopModel();
|
||||
break;
|
||||
case "standaardsop" : ls.initStandaardSopModel();
|
||||
break;
|
||||
case "flexibelsop" : ls.initFlexibelSopModel();
|
||||
break;
|
||||
case "sopoverzicht" : mh.initSopOverzichtModel();
|
||||
break;
|
||||
case "lijsten" : ls.initLijstenModel();
|
||||
break;
|
||||
case "berichten" : mh.initBerichtenModel(0);
|
||||
break;
|
||||
case "monfinbeheer" : ls.initMonfinBeheerModel();
|
||||
break;
|
||||
case "monfinoverzicht" : ls.initMonfinOverzichtModel();
|
||||
break;
|
||||
case "monfinbestedingen": ls.initBestedingenModel();
|
||||
break;
|
||||
case "monfinbestemmingen2": ls.initBestemmingenModel();
|
||||
break;
|
||||
case "monfinoverzicht2" : ls.initMonfinOverzicht2Model();
|
||||
break;
|
||||
case "monfinbeheer2" : ls.initMonfinBeheer2Model();//oude beheer model kan wordengebruikt
|
||||
break;
|
||||
case "inspectiematrix" : ls.initInspectiematrixModel();
|
||||
break;
|
||||
case "filefolders" : ls.initFileFoldersModel(self.module());
|
||||
break;
|
||||
}
|
||||
|
||||
$('#pag'+ menunaam).fadeIn(500);
|
||||
|
||||
},
|
||||
|
||||
fChangeUserDetails: function(){
|
||||
var self =ls.MenuModel;
|
||||
|
||||
$.post("index.php/shared/users/getuserdetail", function(data){
|
||||
if (data){
|
||||
self.newvoornaam(data.voornaam);
|
||||
self.newtussenvoegsel(data.tussenvoegsel);
|
||||
self.newachternaam(data.achternaam);
|
||||
self.newemail(data.email);
|
||||
self.zout(data.zout);
|
||||
$("#modUserdetails").modal("show");
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
fSaveUserDetails: function(){
|
||||
self=ls.MenuModel;
|
||||
if (self.newwachtwoord1() !== self.newwachtwoord2()){
|
||||
apprise("Wachtwoorden zijn niet identiek.");
|
||||
return;
|
||||
}
|
||||
else if (self.newwachtwoord1() !== undefined && self.newwachtwoord1().length > 0 && self.newwachtwoord1().length < 4){
|
||||
apprise("Wachtwoord moet minimaal 4 tekens lang zijn.")
|
||||
return;
|
||||
}
|
||||
else if (self.newachternaam().length < 2){
|
||||
apprise("Achternaam moet minimaal 2 tekens lang zijn.");
|
||||
}
|
||||
else{
|
||||
if (self.newwachtwoord1().length >= 4){
|
||||
var saltedChallenge =hex_md5(self.zout() + self.newwachtwoord1());
|
||||
}
|
||||
else var saltedChallenge = '';
|
||||
var submitData={ voornaam: self.newvoornaam(),
|
||||
tussenvoegsel: self.newtussenvoegsel(),
|
||||
achternaam: self.newachternaam(),
|
||||
email : self.newemail,
|
||||
wachtwoord: saltedChallenge};
|
||||
$.post("index.php/shared/users/updateuser", submitData,function(result){
|
||||
if (result){
|
||||
self.user(result);
|
||||
$("#modUserdetails").modal("hide");
|
||||
ls.MsgAutoFade(1000,"Gegevens zijn aangepast");
|
||||
}
|
||||
},'json');
|
||||
}
|
||||
},
|
||||
fChangeOrganisatie:function(){
|
||||
var self=ls.MenuModel;
|
||||
self.alleorganisaties.removeAll();
|
||||
$.post('index.php/shared/organisaties/getallowedorgs', function(result){
|
||||
if (result){
|
||||
$.each(result, function(i,p) {
|
||||
self.alleorganisaties.push(new fAddOrg(p));
|
||||
});
|
||||
$("#modSelectGlobOrg").modal("show");
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
|
||||
fSetGlobOrg: function(){
|
||||
var self=ls.MenuModel;
|
||||
$.post("index.php/shared/organisaties/setgloborg/" + self.selectedOrganisatie().id,function(result){
|
||||
$("#modSelectGlobOrg").modal("hide");
|
||||
location.reload();
|
||||
},'json');
|
||||
},
|
||||
|
||||
fToonHandleiding: function(){
|
||||
var self = ls.MenuModel;
|
||||
$.post("index.php/shared/menu/gethandleidingen" , function(results){
|
||||
self.handleidingen.removeAll();
|
||||
if (results){
|
||||
$.each(results, function(i,p){
|
||||
self.handleidingen.push(new fAddHandleiding(p));
|
||||
});
|
||||
$("#modDocumenten").modal("show");
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
fDownloadDocument: function(){
|
||||
var self = ls.MenuModel;
|
||||
submitURL = "index.php/shared/menu/downloadhandleiding/" + this.id;
|
||||
window.open(submitURL);
|
||||
$("#modDocumenten").modal("hide");
|
||||
}
|
||||
} ; // definition van model
|
||||
ls.MenuModel.initModel();
|
||||
ko.applyBindings(ls.MenuModel, document.getElementById("menubalk"));
|
||||
} // else
|
||||
}// function initMenuModel
|
||||
});
|
||||
@@ -0,0 +1,133 @@
|
||||
$(function(){
|
||||
|
||||
ls.initModulebalkModel = function(){
|
||||
var module = 0;
|
||||
var vandaag = new Date();
|
||||
|
||||
function fAddSchool(p){
|
||||
this.id = p.id
|
||||
this.brin = p.brin;
|
||||
this.naamkort = p.naamkort;
|
||||
this.naam = p.naam;
|
||||
this.shownaam = p.brin + ' - ' + p.naamkort;
|
||||
}
|
||||
function fAddSchooljaar(p){
|
||||
this.schooljaarnr = p.schooljaarnr;
|
||||
this.naam = p.naam;
|
||||
this.start = p.start;
|
||||
this.eind = p.eind;
|
||||
}
|
||||
|
||||
if (ls.ModulebalkModel !== undefined){
|
||||
ls.ModulebalkModel.initModel();
|
||||
}
|
||||
else {
|
||||
ls.ModulebalkModel = {
|
||||
boolSchool : ko.observable(false),
|
||||
toonbalk : ko.observable(false),
|
||||
scholen : ko.observableArray([]),
|
||||
soscholen : ko.observableArray([]),
|
||||
selectedSchool : ko.observable(),
|
||||
filternaam : ko.observable(''),
|
||||
module : ko.observable(),
|
||||
schooljaren : ko.observableArray([]),
|
||||
selectedSchooljaar : ko.observableArray([]),
|
||||
|
||||
initBindings :function(){
|
||||
|
||||
var self = ls.ModulebalkModel;
|
||||
if (!ko.dataFor(document.getElementById('modulebalk')) ) {
|
||||
ko.applyBindings(ls.ModulebalkModel, document.getElementById("modulebalk"));
|
||||
}
|
||||
|
||||
|
||||
$.post("index.php/shared/menu/getmodule", function(data) {
|
||||
|
||||
if (data) {
|
||||
self.module(data);
|
||||
if (self.module() == '2' || self.module() == '270' || self.module() == '660') {
|
||||
self.toonbalk(true);
|
||||
|
||||
}
|
||||
|
||||
|
||||
$.post("index.php/shared/organisaties/getscholenvoormenu/" + module, function (result) {
|
||||
if (result) {
|
||||
|
||||
self.boolSchool(result.school);
|
||||
self.scholen.removeAll();
|
||||
self.selectedSchool(null);
|
||||
$.each(result.scholen, function (i, p) {
|
||||
self.scholen.push(new fAddSchool(p));
|
||||
}); // each
|
||||
self.scholen.sort(function (left, right) {
|
||||
return left.naamkort == right.naamkort ? 0 : (left.naamkort < right.naamkort ? -1 : 1)
|
||||
});
|
||||
self.selectedSchooljaar(self.scholen()[0]);
|
||||
}
|
||||
; // if result
|
||||
|
||||
$.post("index.php/shared/schooljaren/getschooljaren", function (result) {
|
||||
self.schooljaren.removeAll();
|
||||
if (result) {
|
||||
$.each(result, function (i, p) {
|
||||
self.schooljaren.push(new fAddSchooljaar(p));
|
||||
}); // each
|
||||
$.each(self.schooljaren(), function (j, k) {
|
||||
if (vandaag >= new Date(k.start + "T00:00:00") &&
|
||||
vandaag <= new Date(k.eind + "T00:00:00")) {
|
||||
self.selectedSchooljaar(k);
|
||||
return false;
|
||||
}
|
||||
; //if
|
||||
}); // each
|
||||
}
|
||||
}, 'json');
|
||||
self.initModel();
|
||||
}, 'json');
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
|
||||
|
||||
|
||||
filter: function(scholen, filternaam){
|
||||
return scholen().filter(function(school){
|
||||
return ( filternaam() == '' ||
|
||||
(school.naamkort).toUpperCase() == (filternaam()).toUpperCase() ||
|
||||
(school.naamkort).toUpperCase().indexOf((filternaam()).toUpperCase() ) > -1 ||
|
||||
(school.naam).toUpperCase().indexOf((filternaam()).toUpperCase() ) > -1
|
||||
);
|
||||
});
|
||||
},
|
||||
|
||||
initModel: function(){
|
||||
|
||||
},
|
||||
fChangeSchool : function(){
|
||||
var self = ls.ModulebalkModel;
|
||||
var id = null
|
||||
if (self.selectedSchool()) id = self.selectedSchool().id;
|
||||
$.post("index.php/monpas/modulebalk/setselectedschool/" + id, function(){
|
||||
if (ls.ColofonModel != undefined) {ls.ColofonModel.initModel();}
|
||||
if (ls.GroepenModel != undefined) {ls.GroepenModel.initModel(self.module());}
|
||||
if (ls.DiversiteitModel != undefined) {ls.DiversiteitModel.initModel(self.module());}
|
||||
});
|
||||
},
|
||||
fChangeSchooljaar: function(){
|
||||
var self = ls.ModulebalkModel;
|
||||
var nr = null;
|
||||
|
||||
|
||||
if (self.selectedSchooljaar()) nr = self.selectedSchooljaar().schooljaarnr;
|
||||
$.post("index.php/monpas/modulebalk/setselectedschooljaar/" + nr, function(){
|
||||
if (ls.GroepenModel != undefined) {
|
||||
ls.GroepenModel.initModel(self.module());}
|
||||
if (ls.DiversiteitModel != undefined) {ls.DiversiteitModel.initModel(self.module());}
|
||||
});
|
||||
}
|
||||
} ; // definition van model
|
||||
ls.ModulebalkModel.initBindings();
|
||||
}; // else
|
||||
}// function initModulebalkModel
|
||||
});
|
||||
@@ -0,0 +1,538 @@
|
||||
$(function(){
|
||||
|
||||
ls.initDiversiteitModel = function(module){
|
||||
|
||||
function fAddGroep(p){
|
||||
var dit = this;
|
||||
this.id = p.id;
|
||||
this.naam = p.naam;
|
||||
this.niveau = p.niveau;
|
||||
this.factor = ls.DiversiteitModel.normaantallen()[1];
|
||||
if (this.niveau.indexOf('1') >= 0 || this.niveau.indexOf('2') >=0) { this.factor = ls.DiversiteitModel.normaantallen()[0]; }
|
||||
this.totaantal = p.totaantal;
|
||||
this.som2 = p.som2;
|
||||
this.som3 = p.som3;
|
||||
this.som4 = p.som4
|
||||
this.som1 = p.totaantal - p.som2 - p.som3 - p.som4;
|
||||
this.diversiteit = this.som1 + (1.5 * p.som2) + (2 * p.som3) + (4 * p.som4) ;
|
||||
if (this.totaantal > 0) {
|
||||
if (p.combi === 2) this.diversiteit = this.diversiteit + parseFloat(ls.DiversiteitModel.combifactor2());
|
||||
if (p.combi >= 3) this.diversiteit = this.diversiteit + parseFloat(ls.DiversiteitModel.combifactor3());
|
||||
}
|
||||
this.combi = p.combi; // voor school moet straks ook gekeken worden of er bij een groep een combifactor is gebruikt
|
||||
this.DQ = Math.round((this.diversiteit /this.factor) * 100) / 100;
|
||||
this.tijden = ko.observableArray([]);
|
||||
if (p.tijden){
|
||||
$.each(p.tijden, function(j,tijd){
|
||||
dit.tijden.push(new fAddTijd(tijd));
|
||||
}); //each
|
||||
}; // if p.tijden
|
||||
this.tottijdInt = ko.computed(function(){
|
||||
var totmin = 0;
|
||||
$.each(this.tijden(), function(b,tijd){
|
||||
totmin = totmin + parseInt(tijd.totminuten);
|
||||
}); // each
|
||||
return totmin;
|
||||
},this);
|
||||
this.tottijd = ko.computed(function(){
|
||||
var tijdstring = "00:00 uur"
|
||||
var totmin = 0;
|
||||
$.each(this.tijden(), function(b,tijd){
|
||||
totmin = totmin + parseInt(tijd.totminuten);
|
||||
}); // each
|
||||
var minuten = totmin % 60;
|
||||
var uur = (totmin - minuten) / 60;
|
||||
// tijdstring = ('0' + uur).slice(-2) + ":" + ('0' + minuten).slice(-2) + ' uur';
|
||||
tijdstring = uur + ":" + ('0' + minuten).slice(-2) + ' uur';
|
||||
|
||||
return tijdstring;
|
||||
},this);
|
||||
}
|
||||
|
||||
function fAddOndersteuningsvorm(p){
|
||||
var dit = this;
|
||||
this.naam = p.naam;
|
||||
this.nivo = p.nivo;
|
||||
this.vormtotaal = p.vormtotaal
|
||||
this.groepsaantallen = ko.observableArray([]);
|
||||
if (p.groepsaantallen){
|
||||
$.each(p.groepsaantallen, function(j,k){
|
||||
dit.groepsaantallen.push(new fAddAantal(k));
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function fAddAantal(p){
|
||||
this.groepid = p.groep_id;
|
||||
this.aantal = p.aantal;
|
||||
}
|
||||
|
||||
function fAddTijd(p){
|
||||
this.dagnr = p.dagnr
|
||||
this.soort = p.soort;
|
||||
this.totminuten = p.minuten;
|
||||
this.minuten = p.minuten % 60;
|
||||
this.uur = (p.minuten - this.minuten)/60;
|
||||
this.tijdstring = p.soort + ': ' + this.uur + ":" + ('0' + this.minuten).slice(-2) ; // + ' uur';
|
||||
}
|
||||
|
||||
|
||||
if (ls.DiversiteitModel !== undefined){
|
||||
ls.DiversiteitModel.initModel(module);
|
||||
}
|
||||
else {
|
||||
ls.DiversiteitModel = {
|
||||
groepen : ko.observableArray([]),
|
||||
schoolid : ko.observable(),
|
||||
schooltotaal : ko.observable(0),
|
||||
schoolsom1 : ko.observable(0),
|
||||
schoolsom2 : ko.observable(0),
|
||||
schoolsom3 : ko.observable(0),
|
||||
schoolsom4 : ko.observable(0),
|
||||
schooldiversiteit : ko.observable(0),
|
||||
schoolDQ : ko.observable(0),
|
||||
ondersteuningsvormen: ko.observableArray([]),
|
||||
lijnAt : ko.observable(137),
|
||||
BC6 : null,
|
||||
groepstijden : ko.observableArray([]),
|
||||
schoolTijd : ko.observable(0),
|
||||
schoolTijdstring : ko.observable(''),
|
||||
totGstring : ko.observable(''),
|
||||
totSstring : ko.observable(''),
|
||||
totIstring : ko.observable(''),
|
||||
normaantallen : ko.observableArray([22,24]),
|
||||
combifactor2 : ko.observable(1.5),
|
||||
combifactor3 : ko.observable(2.5),
|
||||
addtoschool : ko.observable(false),
|
||||
module : ko.observable(),
|
||||
|
||||
initBindings :function(){
|
||||
var self = ls.DiversiteitModel;
|
||||
if (!ko.dataFor(document.getElementById('pagdiversiteit')) ) {
|
||||
ko.applyBindings(ls.DiversiteitModel, document.getElementById("pagdiversiteit"));
|
||||
}
|
||||
|
||||
self.initModel(module);
|
||||
},
|
||||
initModel: function(module){
|
||||
|
||||
var self = ls.DiversiteitModel;
|
||||
var gewogensom = 0;
|
||||
var totG = 0;
|
||||
var totS = 0;
|
||||
var totI = 0;
|
||||
self.schoolid(ls.MenuModel.selectedSchool().id);
|
||||
self.module(module);
|
||||
var schooltype = 'REGULIER';
|
||||
$.post("index.php/monpas/diversiteit/getnormaantallen/" + self.schoolid() + "/" + schooltype, function(result){
|
||||
if (result.normaantallen){
|
||||
self.normaantallen([]);
|
||||
self.normaantallen.push(result.normaantallen.groep12);
|
||||
self.normaantallen.push(result.normaantallen.groep38);
|
||||
}
|
||||
else {self.normaantallen([22,24]); };
|
||||
if (result.combifactoren){
|
||||
self.combifactor2(result.combifactoren.combi2);
|
||||
self.combifactor3(result.combifactoren.combi3);
|
||||
if (result.combifactoren.addtoschool=="T"){
|
||||
self.addtoschool(true);
|
||||
}else{
|
||||
self.addtoschool(false);
|
||||
}
|
||||
}
|
||||
else {
|
||||
self.combifactor2(1.5);
|
||||
self.combifactor3(2.5);
|
||||
self.addtoschool(false);
|
||||
}
|
||||
|
||||
var submitData = {
|
||||
'orgID': self.schoolid(),
|
||||
'schooljaar': ls.MenuModel.selectedSchooljaar().schooljaarnr,
|
||||
'module': self.module()
|
||||
}
|
||||
|
||||
|
||||
$.post("index.php/monpas/diversiteit/getgroepen", submitData , function(data){
|
||||
self.groepen.removeAll();
|
||||
self.schooltotaal(0);
|
||||
self.schoolsom1(0);
|
||||
self.schoolsom2(0);
|
||||
self.schoolsom3(0);
|
||||
self.schoolsom4(0);
|
||||
self.schooldiversiteit(0);
|
||||
self.schoolDQ(0);
|
||||
self.schoolTijd(0);
|
||||
self.ondersteuningsvormen.removeAll();
|
||||
if (data){
|
||||
$.each(data, function(i,p){
|
||||
self.groepen.push(new fAddGroep(p));
|
||||
});//each
|
||||
var combiwaarde = 0;
|
||||
$.each(self.groepen(), function(i,p){
|
||||
self.schooltotaal(self.schooltotaal() + parseInt(p.totaantal));
|
||||
self.schoolsom1(self.schoolsom1() + parseInt(p.som1));
|
||||
self.schoolsom2(self.schoolsom2() + parseInt(p.som2));
|
||||
self.schoolsom3(self.schoolsom3() + parseInt(p.som3));
|
||||
self.schoolsom4(self.schoolsom4() + parseInt(p.som4));
|
||||
|
||||
combiwaarde =0;
|
||||
// if (self.addtoschool()){
|
||||
self.combifactor2(result.combifactoren.combi2);
|
||||
self.combifactor3(result.combifactoren.combi3);
|
||||
if (p.combi=== 2) combiwaarde = self.combifactor2();
|
||||
if (p.combi >= 3) combiwaarde = self.combifactor3();
|
||||
|
||||
|
||||
// }
|
||||
self.schooldiversiteit(self.schooldiversiteit() + parseFloat(p.som1) + (parseFloat(p.som2) *1.5) + (parseFloat(p.som3) * 2) + (parseFloat(p.som4) *4) + parseFloat(combiwaarde));
|
||||
|
||||
self.schoolTijd (parseInt(self.schoolTijd()) + parseInt(p.tottijdInt()));
|
||||
gewogensom = gewogensom + parseInt(p.factor);
|
||||
if (p.tijden){
|
||||
$.each(p.tijden(), function(c,tijd){
|
||||
|
||||
switch (tijd.soort){
|
||||
case "G" : totG = parseInt(totG) + parseInt(tijd.totminuten); break;
|
||||
case "S" : totS = parseInt(totS) + parseInt(tijd.totminuten); break;
|
||||
case "I" : totI = parseInt(totI) + parseInt(tijd.totminuten); break;
|
||||
}
|
||||
}); // each
|
||||
}; // if p.tijden
|
||||
|
||||
}); // each
|
||||
self.schoolDQ(Math.round((self.schooldiversiteit() / gewogensom) * 100 ) / 100);
|
||||
|
||||
var minuten = self.schoolTijd() % 60;
|
||||
var uur = (self.schoolTijd() - minuten) / 60;
|
||||
|
||||
self.schoolTijdstring( uur+ ":" + ('0' + minuten).slice(-2) + ' uur');
|
||||
|
||||
minuten =totG % 60;
|
||||
uur = (totG - minuten)/ 60;
|
||||
self.totGstring ( uur+ ":" + ('0' + minuten).slice(-2) + ' uur');
|
||||
|
||||
minuten =totS % 60;
|
||||
uur = (totS - minuten)/ 60;
|
||||
self.totSstring( uur + ":" + ('0' + minuten).slice(-2) + ' uur');
|
||||
|
||||
minuten =totI % 60;
|
||||
uur = (totI - minuten)/ 60;
|
||||
self.totIstring( uur + ":" + ('0' + minuten).slice(-2) + ' uur');
|
||||
|
||||
var submitData={
|
||||
'orgid' : self.schoolid(),
|
||||
'schooljaarnr' : ls.MenuModel.selectedSchooljaar().schooljaarnr,
|
||||
'module': self.module(),
|
||||
'minnivo' : 2,
|
||||
'maxnivo' : 4
|
||||
}
|
||||
|
||||
|
||||
$.post("index.php/monpas/diversiteit/getondersteuningsvormen/",submitData, function(data){
|
||||
self.ondersteuningsvormen.removeAll();
|
||||
|
||||
if (data){
|
||||
$.each(data, function(j,k){
|
||||
self.ondersteuningsvormen.push(new fAddOndersteuningsvorm(k));
|
||||
});//each
|
||||
|
||||
}; // if data
|
||||
self.fFillGraph();
|
||||
|
||||
},'json');
|
||||
}; // if data
|
||||
},'json');
|
||||
},'json'); // get aantallen
|
||||
},
|
||||
fFillGraph: function(){
|
||||
var self = ls.DiversiteitModel;
|
||||
var scores =[];
|
||||
var slabels =[];
|
||||
var counter = 0;
|
||||
// var aantalgroepen = self.groepen().length + 1;
|
||||
// var bartussenruimte = (580 - (80 * aantalgroepen))/aantalgroepen ;
|
||||
// if (bartussenruimte <=0 ) bartussenruimte = 4;
|
||||
bartussenruimte = 5;
|
||||
|
||||
$.each(self.groepen(), function(i,p){
|
||||
scores[i] = p.DQ;
|
||||
slabels[i] = p.naam;
|
||||
counter = counter + 1;
|
||||
});
|
||||
slabels[counter]='school';
|
||||
scores[counter]=self.schoolDQ();
|
||||
if (self.BC6 ) {self.BC6.destroy(); }
|
||||
|
||||
$("#cdiversiteit").remove();
|
||||
|
||||
var canv = document.createElement('canvas');
|
||||
canv.id = 'cdiversiteit';
|
||||
canv.width = 580;
|
||||
canv.height = 285;
|
||||
document.getElementById('diversiteitcanvasholder').appendChild(canv);
|
||||
|
||||
var ctxDiversiteit=$("#cdiversiteit").get(0).getContext("2d");
|
||||
|
||||
var data6 = {labels :slabels,
|
||||
datasets: [{fillColor: "rgba(147,15,80,0.9)",
|
||||
strokeColor: "rgba(111,11,61,1)",
|
||||
highlightStroke: "rgba(222,22,123,1)",
|
||||
data: scores},
|
||||
]}
|
||||
|
||||
Chart.types.Bar.extend({
|
||||
name: "LineAlt",
|
||||
initialize: function () {
|
||||
|
||||
Chart.types.Bar.prototype.initialize.apply(this, arguments);
|
||||
},
|
||||
draw: function () {
|
||||
|
||||
Chart.types.Bar.prototype.draw.apply(this, arguments);
|
||||
// this.chart.ctx.beginPath();
|
||||
// this.chart.ctx.moveTo(30,137);
|
||||
// this.chart.ctx.lineTo(580, 137);
|
||||
// this.chart.ctx.stroke();
|
||||
// this.chart.ctx.closePath();
|
||||
}
|
||||
});
|
||||
|
||||
self.BC6 = new Chart(ctxDiversiteit).LineAlt(data6,{
|
||||
animation:false,
|
||||
scaleFontFamily: "'lato','Arial'",
|
||||
scaleColor:"rgba(0,0,0,1)",
|
||||
scaleShowGridLines:true,
|
||||
scaleLineColor:"rgba(0,0,0,1)",
|
||||
scaleOverride: true,
|
||||
scaleBeginAtZero :true,
|
||||
scaleSteps: 25,
|
||||
scaleStepWidth: 0.2,
|
||||
scaleStartValue: 0 ,
|
||||
barValueSpacing: bartussenruimte,
|
||||
barStrokeWidth:1,
|
||||
barDatasetSpacing:2,
|
||||
toottipFontFamily:"'lato','Arial'",
|
||||
showTooltips : true,
|
||||
tooltipTemplate: "<%= label %> : <%= value %>"
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
fPrintDiversiteitBar :function(){
|
||||
var self = ls.DiversiteitModel;
|
||||
var base64 = self.BC6.toBase64Image();
|
||||
|
||||
var data = { 'orgid' : self.schoolid(),
|
||||
'schooljaarnr': ls.MenuModel.selectedSchooljaar().schooljaarnr,
|
||||
'image' : base64};
|
||||
data=JSON.stringify(data);
|
||||
var $form = $("<form method='post' action='index.php/monpas/diversiteit/pdfdiversiteitbar' target='_blank'>").append($('<input type = "hidden" name="data" id ="data">').val(data) );
|
||||
$form.appendTo("body").submit();
|
||||
},
|
||||
|
||||
fPrintLeerlingaantallen: function(){
|
||||
var self =ls.DiversiteitModel;
|
||||
var schoolid = self.schoolid();
|
||||
var schooljaarnr = ls.MenuModel.selectedSchooljaar().schooljaarnr;
|
||||
var submiturl="index.php/monpas/diversiteit/printaantallen/" + schoolid + '/' + schooljaarnr;
|
||||
window.open(submiturl);
|
||||
},
|
||||
fPrintQuotienten: function(){
|
||||
var self=ls.DiversiteitModel;
|
||||
var schoolid = self.schoolid();
|
||||
var schooljaarnr = ls.MenuModel.selectedSchooljaar().schooljaarnr;
|
||||
var quot= [];
|
||||
if (self.groepen){
|
||||
$.each(self.groepen(), function(i,p){
|
||||
quot.push({'groep': p.naam, 'quotient': p.DQ});
|
||||
})
|
||||
}
|
||||
quot.push({'groep': 'school', 'quotient': self.schoolDQ()});
|
||||
|
||||
var data={'orgid' : schoolid,
|
||||
"schooljaarnr" : schooljaarnr,
|
||||
"groepen" : quot }
|
||||
var submitUrl = "index.php/monpas/diversiteit/printquotienten/?json=" + JSON.stringify(data);
|
||||
window.open(submitUrl);
|
||||
},
|
||||
fPrintOndersteuningsmatrix :function(){
|
||||
var self = ls.DiversiteitModel;
|
||||
var groeparray=[];
|
||||
if (self.groepen()){
|
||||
$.each(self.groepen(), function(i,groep){
|
||||
groeparray[i]={groep : groep.naam,
|
||||
DQ : groep.DQ,
|
||||
tottijd : groep.tottijd(),
|
||||
tijden : groep.tijden()};
|
||||
});
|
||||
}
|
||||
var schoolid = self.schoolid();
|
||||
var schooljaarnr = ls.MenuModel.selectedSchooljaar().schooljaarnr;
|
||||
var data={ 'orgid' : schoolid,
|
||||
"schooljaarnr" : schooljaarnr,
|
||||
"groepen" : groeparray,
|
||||
"schoolDQ" : self.schoolDQ(),
|
||||
"schooltot" : self.schoolTijdstring() }
|
||||
var submitUrl = "index.php/monpas/diversiteit/printondersteuningsmatrix/?json=" + JSON.stringify(data);
|
||||
window.open(submitUrl);
|
||||
},
|
||||
fPrintOndersteuningstotalen: function(){
|
||||
var self= ls.DiversiteitModel;
|
||||
var schoolid = self.schoolid();
|
||||
var schooljaarnr = ls.MenuModel.selectedSchooljaar().schooljaarnr;
|
||||
var tots = [self.totGstring(), self.totSstring(), self.totIstring()];
|
||||
var data={'orgid' : schoolid,
|
||||
"schooljaarnr" : schooljaarnr,
|
||||
"totalen" : tots }
|
||||
var submitUrl = "index.php/monpas/diversiteit/printtotaaltijden/?json=" + JSON.stringify(data);
|
||||
window.open(submitUrl);
|
||||
},
|
||||
fPrintDiversiteitMatrix: function(){
|
||||
var self=ls.DiversiteitModel;
|
||||
var schoolid = self.schoolid();
|
||||
var schooljaarnr = ls.MenuModel.selectedSchooljaar().schooljaarnr;
|
||||
var regels1 = [];
|
||||
var kolommen = [];
|
||||
kolommen[0]=' ';
|
||||
var i = 1;
|
||||
for (i=1; i<=self.groepen().length; i++){
|
||||
kolommen.push(self.groepen()[i-1].naam);
|
||||
}
|
||||
kolommen.push( "Schooltotaal");
|
||||
regels1.push(kolommen);
|
||||
|
||||
kolommen = [];
|
||||
kolommen[0]="Totaal aantal leerlingen";
|
||||
for (i=1; i<=self.groepen().length; i++){
|
||||
kolommen.push(self.groepen()[i-1].totaantal);
|
||||
}
|
||||
kolommen.push( self.schooltotaal());
|
||||
regels1.push(kolommen);
|
||||
|
||||
kolommen=[];
|
||||
kolommen[0]="Uitsplitsing onderwijsvraag per groep";
|
||||
regels1.push(kolommen);
|
||||
|
||||
kolommen=[];
|
||||
kolommen[0]="Basisondersteuning";
|
||||
regels1.push(kolommen);
|
||||
|
||||
kolommen=[];
|
||||
kolommen[0] = "Totaal";
|
||||
for (i=1; i<=self.groepen().length; i++){
|
||||
kolommen.push(self.groepen()[i-1].som1);
|
||||
}
|
||||
kolommen.push( self.schoolsom1());
|
||||
regels1.push(kolommen);
|
||||
|
||||
regels2=[];
|
||||
kolommen=[]
|
||||
kolommen[0]="Basisondersteuning-plus";
|
||||
regels2.push(kolommen);
|
||||
|
||||
$.each(self.ondersteuningsvormen(), function(j, vorm){
|
||||
if (vorm.nivo == 2){
|
||||
kolommen=[]
|
||||
kolommen[0]=vorm.naam;
|
||||
$.each(vorm.groepsaantallen(), function(k,aantal){
|
||||
kolommen.push(aantal.aantal);
|
||||
}); // each aantallen
|
||||
kolommen.push(vorm.vormtotaal);
|
||||
regels2.push(kolommen);
|
||||
}
|
||||
});// each ondersteuningsvormen
|
||||
kolommen=[];
|
||||
kolommen[0]="Totaal";
|
||||
$.each(self.groepen(), function(c, groep){
|
||||
kolommen.push(groep.som2);
|
||||
});// foreach groepen
|
||||
kolommen.push(self.schoolsom2());
|
||||
regels2.push(kolommen);
|
||||
|
||||
regels3=[];
|
||||
kolommen=[]
|
||||
kolommen[0]="Extra ondersteuning";
|
||||
regels3.push(kolommen);
|
||||
|
||||
$.each(self.ondersteuningsvormen(), function(j, vorm){
|
||||
if (vorm.nivo == 3){
|
||||
kolommen=[]
|
||||
kolommen[0]=vorm.naam;
|
||||
$.each(vorm.groepsaantallen(), function(k,aantal){
|
||||
kolommen.push(aantal.aantal);
|
||||
}); // each aantallen
|
||||
kolommen.push(vorm.vormtotaal);
|
||||
regels3.push(kolommen);
|
||||
}
|
||||
});// each ondersteuningsvormen
|
||||
kolommen=[];
|
||||
kolommen[0]="Totaal";
|
||||
$.each(self.groepen(), function(c, groep){
|
||||
kolommen.push(groep.som3);
|
||||
});// foreach groepen
|
||||
kolommen.push(self.schoolsom3());
|
||||
regels3.push(kolommen);
|
||||
|
||||
|
||||
regels4=[];
|
||||
kolommen=[]
|
||||
kolommen[0]="Extra ondersteuning-plus";
|
||||
regels4.push(kolommen);
|
||||
|
||||
$.each(self.ondersteuningsvormen(), function(j, vorm){
|
||||
if (vorm.nivo == 4){
|
||||
kolommen=[]
|
||||
kolommen[0]=vorm.naam;
|
||||
$.each(vorm.groepsaantallen(), function(k,aantal){
|
||||
kolommen.push(aantal.aantal);
|
||||
}); // each aantallen
|
||||
kolommen.push(vorm.vormtotaal);
|
||||
regels4.push(kolommen);
|
||||
}
|
||||
});// each ondersteuningsvormen
|
||||
kolommen=[];
|
||||
kolommen[0]="Totaal";
|
||||
$.each(self.groepen(), function(c, groep){
|
||||
kolommen.push(groep.som4);
|
||||
});// foreach groepen
|
||||
kolommen.push(self.schoolsom4());
|
||||
regels4.push(kolommen);
|
||||
|
||||
|
||||
regels5=[];
|
||||
kolommen=[]
|
||||
kolommen[0]="Totale diversiteit per groep";
|
||||
$.each(self.groepen(), function(j, groep){
|
||||
kolommen.push(groep.diversiteit);
|
||||
});// each ondersteuningsvormen
|
||||
kolommen.push(self.schooldiversiteit());
|
||||
regels5.push(kolommen);
|
||||
|
||||
kolommen=[];
|
||||
kolommen[0]="DQ's";
|
||||
$.each(self.groepen(), function(c, groep){
|
||||
kolommen.push(groep.DQ);
|
||||
});// foreach groepen
|
||||
kolommen.push(self.schoolDQ());
|
||||
regels5.push(kolommen);
|
||||
|
||||
|
||||
var data={ 'orgid' : schoolid,
|
||||
'schooljaarnr' : schooljaarnr,
|
||||
'regels1' : regels1,
|
||||
'regels2' : regels2,
|
||||
'regels3' : regels3,
|
||||
'regels4' : regels4,
|
||||
'regels5' : regels5}
|
||||
data=JSON.stringify(data);
|
||||
var $form = $("<form method='post' action='index.php/monpas/diversiteit/printdiversiteitmatrix' target='_blank'>").append($('<input type = "hidden" name="data" id ="data">').val(data) );
|
||||
$form.appendTo("body").submit();
|
||||
|
||||
}
|
||||
|
||||
} ; // definition van model
|
||||
ls.DiversiteitModel.initBindings();
|
||||
}; // else
|
||||
}// function initDiversiteitModel
|
||||
});
|
||||
@@ -0,0 +1,450 @@
|
||||
$(function(){
|
||||
|
||||
mh.initDiversiteitSOModel = function(){
|
||||
|
||||
|
||||
function fAddGroep(p){
|
||||
|
||||
var dit = this;
|
||||
this.id = p.id;
|
||||
this.naam = p.naam;
|
||||
this.leerjaar = p.niveau;
|
||||
this.factorsbo = mh.DiversiteitSOModel.normaantallensbo()[1];
|
||||
if (this.leerjaar.indexOf('1') >= 0 || this.leerjaar.indexOf('2') >=0) {this.factorsbo = mh.DiversiteitSOModel.normaantallensbo()[0]; }
|
||||
this.factorso = mh.DiversiteitSOModel.normaantallenso()[1];
|
||||
if (this.leerjaar.indexOf('1') >= 0 || this.leerjaar.indexOf('2') >=0) {this.factorso = mh.DiversiteitSOModel.normaantallenso()[0]; }
|
||||
|
||||
this.totaantal = p.totaantal;
|
||||
this.som5 = p.som5;
|
||||
this.som6 = p.som6;
|
||||
this.som7 = p.som7;
|
||||
this.som8 = p.som8;
|
||||
this.factor = 0;
|
||||
if(p.totaantal > 0) {
|
||||
this.factor = parseFloat((p.som5 / p.totaantal) * this.factorsbo) + (parseFloat(parseFloat(p.totaantal - p.som5) / p.totaantal) * this.factorso);
|
||||
}
|
||||
this.diversiteit = (2 * p.som5) + (3 * p.som6) + (4 * p.som7) + (5 * p.som8) ;
|
||||
this.DQ = Math.round((this.diversiteit /this.factor) * 100) / 100;
|
||||
this.tijden = ko.observableArray([]);
|
||||
if (p.tijden){
|
||||
$.each(p.tijden, function(j,tijd){
|
||||
dit.tijden.push(new fAddTijd(tijd));
|
||||
}); //each
|
||||
}; // if p.tijden
|
||||
this.tottijdInt = ko.computed(function(){
|
||||
var totmin = 0;
|
||||
$.each(this.tijden(), function(b,tijd){
|
||||
totmin = totmin + parseInt(tijd.totminuten);
|
||||
}); // each
|
||||
return totmin;
|
||||
},this);
|
||||
this.tottijd = ko.computed(function(){
|
||||
var tijdstring = "00:00 uur"
|
||||
var totmin = 0;
|
||||
$.each(this.tijden(), function(b,tijd){
|
||||
totmin = totmin + parseInt(tijd.totminuten);
|
||||
}); // each
|
||||
var minuten = totmin % 60;
|
||||
var uur = (totmin - minuten) / 60;
|
||||
// tijdstring = ('0' + uur).slice(-2) + ":" + ('0' + minuten).slice(-2) + ' uur';
|
||||
tijdstring = uur + ":" + ('0' + minuten).slice(-2) + ' uur';
|
||||
|
||||
return tijdstring;
|
||||
},this);
|
||||
}
|
||||
|
||||
function fAddOndersteuningsvorm(p){
|
||||
var dit = this;
|
||||
this.naam = p.naam;
|
||||
this.zwaarte = p.nivo;
|
||||
this.vormtotaal = p.vormtotaal
|
||||
this.groepsaantallen = ko.observableArray([]);
|
||||
if (p.groepsaantallen){
|
||||
$.each(p.groepsaantallen, function(j,k){
|
||||
dit.groepsaantallen.push(new fAddAantal(k));
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function fAddAantal(p){
|
||||
this.groepid = p.groep_id;
|
||||
this.aantal = p.aantal;
|
||||
}
|
||||
|
||||
function fAddTijd(p){
|
||||
this.dagnr = p.dagnr
|
||||
this.soort = p.soort;
|
||||
this.totminuten = p.minuten;
|
||||
this.minuten = p.minuten % 60;
|
||||
this.uur = (p.minuten - this.minuten)/60;
|
||||
this.tijdstring = p.soort + ': ' + this.uur + ":" + ('0' + this.minuten).slice(-2) ; // + ' uur';
|
||||
}
|
||||
|
||||
|
||||
if (mh.DiversiteitSOModel !== undefined){
|
||||
mh.DiversiteitSOModel.initModel();
|
||||
}
|
||||
else {
|
||||
mh.DiversiteitSOModel = {
|
||||
groepen : ko.observableArray([]),
|
||||
schoolid : ko.observable(''),
|
||||
schooltotaal : ko.observable(0),
|
||||
schoolsom5 : ko.observable(0),
|
||||
schoolsom6 : ko.observable(0),
|
||||
schoolsom7 : ko.observable(0),
|
||||
schoolsom8 : ko.observable(0),
|
||||
schooldiversiteit : ko.observable(0),
|
||||
schoolfactor : ko.observable(0),
|
||||
schoolDQ : ko.observable(0),
|
||||
somDQs : ko.observable(0),
|
||||
ondersteuningsvormen: ko.observableArray([]),
|
||||
lijnAt : ko.observable(137),
|
||||
BC6 : null,
|
||||
groepstijden : ko.observableArray([]),
|
||||
schoolTijd : ko.observable(0),
|
||||
schoolTijdstring : ko.observable(''),
|
||||
totGstring : ko.observable(''),
|
||||
totSstring : ko.observable(''),
|
||||
totIstring : ko.observable(''),
|
||||
aantalgroepen : ko.observable(0),
|
||||
normaantallensbo : ko.observableArray([22,24]),
|
||||
normaantallenso : ko.observableArray([22,24]),
|
||||
// combifactor2 : ko.observable(1.5),
|
||||
// combifactor3 : ko.observable(2.5),
|
||||
addtoschool : ko.observable(false),
|
||||
toonMatrix : ko.observable(true),
|
||||
|
||||
initBindings :function(){
|
||||
var self = mh.DiversiteitSOModel;
|
||||
if (!ko.dataFor(document.getElementById('pagdiversiteitso')) ) {
|
||||
ko.applyBindings(mh.DiversiteitSOModel, document.getElementById("pagdiversiteitso"));
|
||||
}
|
||||
self.initModel();
|
||||
},
|
||||
initModel: function(){
|
||||
var self = mh.DiversiteitSOModel;
|
||||
|
||||
var somsbo = 0;
|
||||
var somso =0;
|
||||
var gewogensom = 0;
|
||||
var totG = 0;
|
||||
var totS = 0;
|
||||
var totI = 0;
|
||||
self.schoolid('');
|
||||
self.schoolid(ls.MenuModel.selectedSchool().id);
|
||||
var schooltype = 'SPECIAAL';
|
||||
$.post("index.php/monpas/diversiteit/getnormaantallen/" + self.schoolid() + "/" + schooltype, function(result){
|
||||
if (result.normaantallen.sbo){
|
||||
self.normaantallensbo([]);
|
||||
self.normaantallensbo.push(result.normaantallen.sbo.groep12);
|
||||
self.normaantallensbo.push(result.normaantallen.sbo.groep38);
|
||||
}
|
||||
else {self.normaantallensbo([22,24]); }
|
||||
if (result.normaantallen.so){
|
||||
self.normaantallenso([]);
|
||||
self.normaantallenso.push(result.normaantallen.so.groep12);
|
||||
self.normaantallenso.push(result.normaantallen.so.groep38);
|
||||
}
|
||||
else {self.normaantallenso([22,24]); }
|
||||
|
||||
$.post("index.php/monpas/diversiteit/getgroepenso/" + self.schoolid()+ '/' + ls.MenuModel.selectedSchooljaar().schooljaarnr, function(data){
|
||||
self.groepen.removeAll();
|
||||
self.schooltotaal(0);
|
||||
self.schoolsom5(0);
|
||||
self.schoolsom6(0);
|
||||
self.schoolsom7(0);
|
||||
self.schoolsom8(0);
|
||||
self.schooldiversiteit(0);
|
||||
self.schoolfactor(0);
|
||||
self.somDQs(0);
|
||||
self.schoolDQ(0);
|
||||
self.schoolTijd(0);
|
||||
self.aantalgroepen(0);
|
||||
self.ondersteuningsvormen.removeAll();
|
||||
if (data){
|
||||
|
||||
if(data.groepen) {
|
||||
$.each(data.groepen, function (i, p) {
|
||||
self.groepen.push(new fAddGroep(p));
|
||||
|
||||
});//each
|
||||
if(data.ondersteuning){
|
||||
|
||||
self.toonMatrix(true);
|
||||
if(data.ondersteuning=== 'F'){
|
||||
self.toonMatrix(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
var combiwaarde = 0;
|
||||
$.each(self.groepen(), function (i, p) {
|
||||
self.schooltotaal(self.schooltotaal() + parseInt(p.totaantal));
|
||||
self.schoolsom5(self.schoolsom5() + parseInt(p.som5));
|
||||
self.schoolsom6(self.schoolsom6() + parseInt(p.som6));
|
||||
self.schoolsom7(self.schoolsom7() + parseInt(p.som7));
|
||||
self.schoolsom8(self.schoolsom8() + parseInt(p.som8));
|
||||
self.somDQs(self.somDQs() + parseFloat(p.DQ));
|
||||
self.aantalgroepen(self.aantalgroepen() + parseInt(1));
|
||||
self.schoolfactor(self.schoolfactor() + parseFloat(p.factor));
|
||||
self.schoolTijd(parseInt(self.schoolTijd()) + parseInt(p.tottijdInt()));
|
||||
|
||||
gewogensom = gewogensom + parseInt(p.factor)
|
||||
if (p.tijden) {
|
||||
$.each(p.tijden(), function (c, tijd) {
|
||||
|
||||
switch (tijd.soort) {
|
||||
case "G" :
|
||||
totG = parseInt(totG) + parseInt(tijd.totminuten);
|
||||
break;
|
||||
case "S" :
|
||||
totS = parseInt(totS) + parseInt(tijd.totminuten);
|
||||
break;
|
||||
case "I" :
|
||||
totI = parseInt(totI) + parseInt(tijd.totminuten);
|
||||
break;
|
||||
}
|
||||
}); // each
|
||||
}
|
||||
; // if p.tijden
|
||||
|
||||
}); // each
|
||||
|
||||
var divsbo = self.schoolsom5()* 2;
|
||||
var divso = self.schoolsom6() *3 + self.schoolsom7() * 4 + self.schoolsom8() *5;
|
||||
self.schooldiversiteit(divsbo + divso);
|
||||
|
||||
|
||||
self.schoolDQ(Math.round((self.somDQs() / self.aantalgroepen())*100)/100);
|
||||
|
||||
// self.schoolDQ(Math.round((self.schooldiversiteit() / gewogensom)*100)/100);
|
||||
|
||||
|
||||
var minuten = self.schoolTijd() % 60;
|
||||
var uur = (self.schoolTijd() - minuten) / 60;
|
||||
|
||||
self.schoolTijdstring( uur+ ":" + ('0' + minuten).slice(-2) + ' uur');
|
||||
|
||||
minuten =totG % 60;
|
||||
uur = (totG - minuten)/ 60;
|
||||
self.totGstring ( uur+ ":" + ('0' + minuten).slice(-2) + ' uur');
|
||||
|
||||
minuten =totS % 60;
|
||||
uur = (totS - minuten)/ 60;
|
||||
self.totSstring( uur + ":" + ('0' + minuten).slice(-2) + ' uur');
|
||||
|
||||
minuten =totI % 60;
|
||||
uur = (totI - minuten)/ 60;
|
||||
self.totIstring( uur + ":" + ('0' + minuten).slice(-2) + ' uur');
|
||||
|
||||
|
||||
var submitData ={
|
||||
'orgid' : self.schoolid(),
|
||||
'schooljaarnr' : ls.MenuModel.selectedSchooljaar().schooljaarnr,
|
||||
'minnivo' : 5,
|
||||
'maxnivo' : 8
|
||||
|
||||
}
|
||||
|
||||
$.post("index.php/monpas/diversiteit/getondersteuningsvormen/", submitData, function(data){
|
||||
|
||||
self.ondersteuningsvormen.removeAll();
|
||||
if (data) {
|
||||
if (data) {
|
||||
$.each(data, function (j, k) {
|
||||
self.ondersteuningsvormen.push(new fAddOndersteuningsvorm(k));
|
||||
});//each
|
||||
}
|
||||
// if data
|
||||
|
||||
|
||||
}
|
||||
|
||||
self.fFillGraph();
|
||||
|
||||
},'json');
|
||||
}; // if data
|
||||
},'json');
|
||||
},'json'); // get aantallen
|
||||
},
|
||||
fFillGraph: function(){
|
||||
var self = mh.DiversiteitSOModel;
|
||||
var scores =[];
|
||||
var slabels =[];
|
||||
var counter = 0;
|
||||
// var aantalgroepen = self.groepen().length + 1;
|
||||
// var bartussenruimte = (580 - (80 * aantalgroepen))/aantalgroepen ;
|
||||
// if (bartussenruimte <=0 ) bartussenruimte = 4;
|
||||
bartussenruimte = 5;
|
||||
|
||||
$.each(self.groepen(), function(i,p){
|
||||
scores[i] = p.DQ;
|
||||
slabels[i] = p.naam;
|
||||
counter = counter + 1;
|
||||
|
||||
});
|
||||
slabels[counter]='school';
|
||||
scores[counter]=self.schoolDQ();
|
||||
if (self.BC6 ) {self.BC6.destroy(); }
|
||||
|
||||
$("#cdiversiteitso").remove();
|
||||
|
||||
var canv = document.createElement('canvas');
|
||||
canv.id = 'cdiversiteitso';
|
||||
canv.width = 580;
|
||||
canv.height = 400;
|
||||
document.getElementById('diversiteitsocanvasholderso').appendChild(canv);
|
||||
//var ctxDiversiteit
|
||||
var ctxDiversiteit=$("#cdiversiteitso").get(0).getContext("2d");
|
||||
|
||||
var data7 = {labels :slabels,
|
||||
datasets: [{fillColor: "rgba(147,15,80,0.9)",
|
||||
strokeColor: "rgba(111,11,61,1)",
|
||||
highlightStroke: "rgba(222,22,123,1)",
|
||||
data: scores},
|
||||
]}
|
||||
|
||||
Chart.types.Bar.extend({
|
||||
name: "LineAlt",
|
||||
initialize: function () {
|
||||
|
||||
Chart.types.Bar.prototype.initialize.apply(this, arguments);
|
||||
},
|
||||
draw: function () {
|
||||
|
||||
Chart.types.Bar.prototype.draw.apply(this, arguments);
|
||||
this.chart.ctx.beginPath();
|
||||
// 137
|
||||
// this.chart.ctx.moveTo(30, 137);
|
||||
// this.chart.ctx.lineTo(580, 137);
|
||||
this.chart.ctx.stroke();
|
||||
this.chart.ctx.closePath();
|
||||
}
|
||||
});
|
||||
|
||||
self.BC6 = new Chart(ctxDiversiteit).LineAlt(data7,{
|
||||
animation:false,
|
||||
scaleFontFamily: "'lato','Arial'",
|
||||
scaleColor:"rgba(0,0,0,1)",
|
||||
scaleShowGridLines:true,
|
||||
scaleLineColor:"rgba(0,0,0,1)",
|
||||
scaleOverride: true,
|
||||
scaleBeginAtZero :true,
|
||||
scaleSteps: 6,
|
||||
scaleStepWidth: 0.5,
|
||||
scaleStartValue: 0,
|
||||
barValueSpacing: bartussenruimte,
|
||||
barStrokeWidth:1,
|
||||
barDatasetSpacing:2,
|
||||
|
||||
toottipFontFamily:"'lato','Arial'",
|
||||
showTooltips : true,
|
||||
tooltipTemplate: "<%= label %> : <%= value %>"
|
||||
});
|
||||
|
||||
ctxDiversiteit.stroke();
|
||||
|
||||
},
|
||||
|
||||
fPrintDiversiteitBar :function(){
|
||||
var self = mh.DiversiteitSOModel;
|
||||
var base64 = self.BC6.toBase64Image();
|
||||
|
||||
var data = { 'orgid' : self.schoolid(),
|
||||
'schooljaarnr': ls.MenuModel.selectedSchooljaar().schooljaarnr,
|
||||
'image' : base64};
|
||||
data=JSON.stringify(data);
|
||||
var $form = $("<form method='post' action='index.php/monpas/diversiteit/pdfdiversiteitbar' target='_blank'>").append($('<input type = "hidden" name="data" id ="data">').val(data) );
|
||||
$form.appendTo("body").submit();
|
||||
},
|
||||
|
||||
fPrintLeerlingaantallen: function(){
|
||||
var self =mh.DiversiteitSOModel;
|
||||
var schoolid = self.schoolid();
|
||||
var schooljaarnr = ls.MenuModel.selectedSchooljaar().schooljaarnr;
|
||||
var submiturl="index.php/monpas/diversiteit/printaantallensboso/" + schoolid + '/' + schooljaarnr;
|
||||
window.open(submiturl);
|
||||
},
|
||||
fPrintQuotienten: function(){
|
||||
var self=mh.DiversiteitSOModel;
|
||||
var schoolid = self.schoolid();
|
||||
var schooljaarnr = ls.MenuModel.selectedSchooljaar().schooljaarnr;
|
||||
var quot= [];
|
||||
if (self.groepen){
|
||||
$.each(self.groepen(), function(i,p){
|
||||
quot.push({'groep': p.naam, 'quotient': p.DQ});
|
||||
})
|
||||
}
|
||||
quot.push({'groep': 'school', 'quotient': self.schoolDQ()});
|
||||
|
||||
var data={'orgid' : schoolid,
|
||||
"schooljaarnr" : schooljaarnr,
|
||||
"groepen" : quot }
|
||||
var submitUrl = "index.php/monpas/diversiteit/printquotienten/?json=" + JSON.stringify(data);
|
||||
window.open(submitUrl);
|
||||
},
|
||||
fPrintOndersteuningsmatrix :function(){
|
||||
var self = mh.DiversiteitSOModel;
|
||||
var groeparray=[];
|
||||
if (self.groepen()){
|
||||
$.each(self.groepen(), function(i,groep){
|
||||
groeparray[i]={groep : groep.naam,
|
||||
DQ : groep.DQ,
|
||||
tottijd : groep.tottijd(),
|
||||
tijden : groep.tijden()};
|
||||
});
|
||||
}
|
||||
var schoolid = self.schoolid();
|
||||
var schooljaarnr = ls.MenuModel.selectedSchooljaar().schooljaarnr;
|
||||
var data={ 'orgid' : schoolid,
|
||||
"schooljaarnr" : schooljaarnr,
|
||||
"groepen" : groeparray,
|
||||
"schoolDQ" : self.schoolDQ(),
|
||||
"schooltot" : self.schoolTijdstring() }
|
||||
var submitUrl = "index.php/monpas/diversiteit/printondersteuningsmatrix/?json=" + JSON.stringify(data);
|
||||
window.open(submitUrl);
|
||||
},
|
||||
fPrintOndersteuningstotalen: function(){
|
||||
var self= mh.DiversiteitSOModel;
|
||||
var schoolid = self.schoolid();
|
||||
var schooljaarnr = ls.MenuModel.selectedSchooljaar().schooljaarnr;
|
||||
var tots = [self.totGstring(), self.totSstring(), self.totIstring()];
|
||||
var data={'orgid' : schoolid,
|
||||
"schooljaarnr" : schooljaarnr,
|
||||
"totalen" : tots }
|
||||
var submitUrl = "index.php/monpas/diversiteit/printtotaaltijden/?json=" + JSON.stringify(data);
|
||||
window.open(submitUrl);
|
||||
},
|
||||
fPrintDiversiteitMatrix: function(){
|
||||
var self=mh.DiversiteitSOModel;
|
||||
var schoolid = self.schoolid();
|
||||
var schooljaarnr = ls.MenuModel.selectedSchooljaar().schooljaarnr;
|
||||
var groepen = self.groepen();
|
||||
var leerlingaantal = self.schooltotaal();
|
||||
var schoolsom5 = self.schoolsom5();
|
||||
var schoolsom6 = self.schoolsom6();
|
||||
var schoolsom7 = self.schoolsom7();
|
||||
var schoolsom8 = self.schoolsom8();
|
||||
var schooldq = self.schoolDQ();
|
||||
var schooldiversiteit = self.schooldiversiteit();
|
||||
|
||||
var data={ 'orgid' : schoolid,
|
||||
'schooljaarnr' : schooljaarnr,
|
||||
'groepen' : groepen,
|
||||
'leerlingaantal' : leerlingaantal,
|
||||
'schoolsom5' : schoolsom5,
|
||||
'schoolsom6' : schoolsom6,
|
||||
'schoolsom7' : schoolsom7,
|
||||
'schoolsom8' : schoolsom8,
|
||||
'schooldq' : schooldq,
|
||||
'schooldiversiteit' : schooldiversiteit}
|
||||
data=JSON.stringify(data);
|
||||
var $form = $("<form method='post' action='index.php/monpas/diversiteit/printdiversiteitmatrixsboso' target='_blank'>").append($('<input type = "hidden" name="data" id ="data">').val(data) );
|
||||
$form.appendTo("body").submit();
|
||||
|
||||
}
|
||||
|
||||
} ; // definition van model
|
||||
mh.DiversiteitSOModel.initBindings();
|
||||
}; // else
|
||||
}// function initDiversiteitModel
|
||||
});
|
||||
@@ -0,0 +1,529 @@
|
||||
$(function(){
|
||||
ls.initGroepenModel = function(module){
|
||||
var timeout;
|
||||
|
||||
function fAddGroep(p){
|
||||
this.id = p.id;
|
||||
this.naam = p.naam
|
||||
this.niveau = p.niveau;
|
||||
this.totaantal = ko.observable(p.totaantal);
|
||||
this.aantal2 = ko.observable(p.totaantal);
|
||||
this.som1 = ko.observable(p.som1);
|
||||
this.som2 = ko.observable(p.som2);
|
||||
this.som3 = ko.observable(p.som3);
|
||||
this.som4 = ko.observable(p.som4);
|
||||
this.leerkrachten = ko.observableArray([]);
|
||||
var dit = this;
|
||||
if (p.leerkrachten){
|
||||
$.each(p.leerkrachten, function(j,leerkracht){
|
||||
dit.leerkrachten.push(new fAddLeerkracht(leerkracht));
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function fAddLeerkracht(p){
|
||||
this.userid = p.userid;
|
||||
this.fullname = p.fullname;
|
||||
this.selected = ko.observable(false);
|
||||
}
|
||||
|
||||
function fAddEditGroep(p){
|
||||
var dit = this;
|
||||
this.id = p.id;
|
||||
this.naam = ko.observable(p.naam);
|
||||
this.orgid = p.orgid;
|
||||
this.schooljaar = p.schooljaar;
|
||||
|
||||
this.niveau = ko.observableArray([]);
|
||||
if (p.niveau){
|
||||
$.each(p.niveau, function(j,k){
|
||||
if (!isNaN(parseInt(k)) ){
|
||||
dit.niveau.push(parseInt(k));
|
||||
}
|
||||
}); // each
|
||||
}
|
||||
|
||||
this.totaantal = ko.observable(p.totaantal);
|
||||
this.ondersteuningsvormen = ko.observableArray([]);
|
||||
|
||||
if (p.ondersteuningsvormen){
|
||||
$.each(p.ondersteuningsvormen, function(j,k){
|
||||
dit.ondersteuningsvormen.push(new fAddOndersteuningsvorm(k));
|
||||
});
|
||||
}
|
||||
|
||||
this.totplus = ko.computed(function(){
|
||||
var som = 0;
|
||||
if (dit.ondersteuningsvormen()){
|
||||
$.each(dit.ondersteuningsvormen(), function(x,y){
|
||||
if (y.nivo == 2 && y.aantal()){
|
||||
som = som + parseInt(y.aantal());
|
||||
}
|
||||
});
|
||||
}
|
||||
return som;
|
||||
});
|
||||
this.totextra = ko.computed(function(){
|
||||
var som = 0;
|
||||
if (dit.ondersteuningsvormen()){
|
||||
$.each(dit.ondersteuningsvormen(), function(x,y){
|
||||
if (y.nivo == 3 && y.aantal()){
|
||||
som = som + parseInt(y.aantal());
|
||||
}
|
||||
});
|
||||
}
|
||||
return som;
|
||||
});
|
||||
this.totextraplus = ko.computed(function(){
|
||||
var som = 0;
|
||||
if (dit.ondersteuningsvormen()){
|
||||
$.each(dit.ondersteuningsvormen(), function(x,y){
|
||||
if (y.nivo == 4 && y.aantal()){
|
||||
som = som + parseInt(y.aantal());
|
||||
}
|
||||
});
|
||||
}
|
||||
return som;
|
||||
});
|
||||
this.basis = ko.computed(function(){
|
||||
return parseInt(dit.totaantal()) - (parseInt(dit.totplus()) + dit.totextra()+dit.totextraplus());
|
||||
})
|
||||
this.geopend1 = ko.observable(false);
|
||||
this.geopend2 = ko.observable(false);
|
||||
this.geopend3 = ko.observable(false);
|
||||
this.geopend4 = ko.observable(false);
|
||||
this.toonLK = ko.observable(false);
|
||||
this.notitie = ko.observable(p.notitie);
|
||||
}
|
||||
|
||||
function fAddOndersteuningsvorm(k){
|
||||
var dit = this;
|
||||
this.id = k.id;
|
||||
this.orgid = k.organisatie_id;
|
||||
this.naam = ko.observable(k.naam);
|
||||
this.nivo = k.nivo;
|
||||
this.aantal = ko.observable(k.aantal);
|
||||
|
||||
}
|
||||
|
||||
|
||||
if (ls.GroepenModel !== undefined){
|
||||
ls.GroepenModel.initModel(module);
|
||||
}
|
||||
else {
|
||||
ls.GroepenModel = {
|
||||
module : ko.observable(),
|
||||
label1 : ko.observable(),
|
||||
label2 : ko.observable(),
|
||||
label3 : ko.observable(),
|
||||
label4 : ko.observable(),
|
||||
label1K : ko.observable(),
|
||||
label2K : ko.observable(),
|
||||
label3K : ko.observable(),
|
||||
label4K : ko.observable(),
|
||||
|
||||
|
||||
schoolid : ko.observable(null),
|
||||
schooljaarnr : ko.observable(null),
|
||||
groepen : ko.observableArray([]),
|
||||
selectedGroep : ko.observable(),
|
||||
editGroep : ko.observable(),
|
||||
|
||||
edittekst : ko.observable(''),
|
||||
leerkrachten : ko.observableArray([]),
|
||||
leerjaren : ko.observableArray( [{id : 1 , nivo: 1},
|
||||
{id:2, nivo: 2},
|
||||
{id:3, nivo: 3},
|
||||
{id:4, nivo: 4},
|
||||
{id:5, nivo: 5},
|
||||
{id:6, nivo: 6},
|
||||
{id:7, nivo: 7},
|
||||
{id:8, nivo: 8}]),
|
||||
writer : ko.observable(false),
|
||||
bezig : ko.observable(false),
|
||||
|
||||
|
||||
initBindings :function(){
|
||||
var self = ls.GroepenModel;
|
||||
var vandaag = new Date();
|
||||
|
||||
|
||||
if (!ko.dataFor(document.getElementById('paggroepen')) ) {
|
||||
ko.applyBindings(ls.GroepenModel, document.getElementById("paggroepen"));
|
||||
}
|
||||
$.post("index.php/monpas/groepen/getwriter", function(writer){
|
||||
self.writer(writer);
|
||||
|
||||
},'json');
|
||||
self.initModel(module);
|
||||
},
|
||||
|
||||
initModel: function(module){
|
||||
var self = ls.GroepenModel;
|
||||
self.module(module);
|
||||
|
||||
|
||||
if (ls.MenuModel.selectedSchool()){
|
||||
self.schoolid(ls.MenuModel.selectedSchool().id);
|
||||
}
|
||||
if (ls.MenuModel.selectedSchooljaar()){
|
||||
self.schooljaarnr(ls.MenuModel.selectedSchooljaar().schooljaarnr);
|
||||
}
|
||||
|
||||
$.post("index.php/monpas/groepen/getleerkrachten/" + self.schoolid(), function(data){
|
||||
self.leerkrachten.removeAll();
|
||||
if (data){
|
||||
$.each(data, function(a,b){
|
||||
self.leerkrachten.push(new fAddLeerkracht(b));
|
||||
})
|
||||
}
|
||||
|
||||
self.fGetLabels();
|
||||
self.fGetGroepen(); // als school of schooljaar is aangepast dan groepsgegevens opnieuwe ophalen
|
||||
},'json');
|
||||
},
|
||||
|
||||
fNewGroep: function(){
|
||||
var self = ls.GroepenModel;
|
||||
|
||||
var submitData={
|
||||
schoolid : self.schoolid(),
|
||||
schooljaar : self.schooljaarnr(),
|
||||
minnivo : 2,
|
||||
maxnivo : 4,
|
||||
};
|
||||
|
||||
$.post("index.php/monpas/groepen/getnewgroep/" ,submitData, function(data){
|
||||
if (data){
|
||||
self.editGroep(new fAddEditGroep(data));
|
||||
$.each(self.leerkrachten(), function(f, leerkracht){
|
||||
leerkracht.selected(false);
|
||||
});
|
||||
|
||||
$("#modNewEditGroep").modal('show');
|
||||
}
|
||||
},'json')
|
||||
},
|
||||
|
||||
fGetLabels: function(){
|
||||
var self = ls.GroepenModel;
|
||||
$.post("index.php/monpas/groepen/getlabels/"+ self.module(), function(data){
|
||||
if (data){
|
||||
self.label1(data.label1)
|
||||
self.label2(data.label2);
|
||||
self.label3(data.label3);
|
||||
self.label4(data.label4);
|
||||
|
||||
}// if
|
||||
},'json');
|
||||
},
|
||||
|
||||
|
||||
fGetGroepen: function(){
|
||||
var self = ls.GroepenModel;
|
||||
|
||||
var submitData = {
|
||||
'schoolID' : self.schoolid(),
|
||||
'schooljaar' : self.schooljaarnr(),
|
||||
'module' : self.module()
|
||||
}
|
||||
$.post("index.php/monpas/groepen/getgroepen/", submitData, function(data){
|
||||
self.groepen.removeAll();
|
||||
|
||||
if (data){
|
||||
$.each(data,function(i,p){
|
||||
self.groepen.push(new fAddGroep(p));
|
||||
});
|
||||
}// if
|
||||
},'json');
|
||||
},
|
||||
|
||||
fUpdateGroep: function(){
|
||||
var self = ls.GroepenModel;
|
||||
var errortekst = '';
|
||||
|
||||
if (self.editGroep().naam().length < 1){
|
||||
errortekst = "U moet een naam opgeven voor deze groep"
|
||||
}
|
||||
// if(self.editGroep().totaantal() <=0){
|
||||
// errortekst = errortekst + "</br> Het aantal leerlingen in een groep moet groter zijn dan 0."
|
||||
//
|
||||
// }
|
||||
if ( self.editGroep().niveau().length ==0 ||
|
||||
self.editGroep().niveau()[0]== null ||
|
||||
self.editGroep().niveau()[0] == undefined ||
|
||||
self.editGroep().niveau()[0] == NaN){errortekst +=" U moet het niveau van de groep opgeven."}
|
||||
if (errortekst !=''){
|
||||
apprise(errortekst);
|
||||
return;
|
||||
}
|
||||
else{
|
||||
|
||||
var submitData ={ id : self.editGroep().id,
|
||||
orgid : self.editGroep().orgid,
|
||||
schooljaar : self.editGroep().schooljaar,
|
||||
naam : self.editGroep().naam(),
|
||||
niveauarray : self.editGroep().niveau(),
|
||||
totaantal : self.editGroep().totaantal(),
|
||||
notitie : self.editGroep().notitie(),
|
||||
schooltype : 'R',
|
||||
module : self.module()
|
||||
};
|
||||
|
||||
$.post("index.php/monpas/groepen/insertorupdategroep", submitData, function(result){
|
||||
if (self.editGroep().id ==0 || self.editGroep().id== null || self.editGroep().id==undefined){
|
||||
self.editGroep().id = result.id;
|
||||
self.groepen.push(new fAddGroep(result));
|
||||
$.each(self.groepen(), function(b,groep){
|
||||
if (groep.id == result.id) {self.selectedGroep(groep); return false };
|
||||
});
|
||||
}
|
||||
else{
|
||||
self.selectedGroep().naam = self.editGroep().naam();
|
||||
}; //else
|
||||
$.post("index.php/monpas/groepen/deletegroepxuser/" + self.editGroep().id, function(){
|
||||
|
||||
self.selectedGroep().leerkrachten.removeAll();
|
||||
|
||||
$.each(self.leerkrachten(), function(c , leerkracht){
|
||||
if (leerkracht.selected()){
|
||||
$.post('index.php/monpas/groepen/addgroepxuser/' + self.editGroep().id + '/' + self.schoolid() + '/' + leerkracht.userid);
|
||||
self.selectedGroep().leerkrachten.push(leerkracht);
|
||||
}
|
||||
});
|
||||
}) // delete groepxuser
|
||||
self.selectedGroep().totaantal(self.editGroep().totaantal());
|
||||
|
||||
// hier alle regels en/of aantallen opslaan
|
||||
|
||||
self.selectedGroep().som1(self.selectedGroep().totaantal());
|
||||
self.selectedGroep().som2(0);
|
||||
self.selectedGroep().som3(0);
|
||||
self.selectedGroep().som4(0);
|
||||
|
||||
if (self.editGroep().ondersteuningsvormen()){
|
||||
$.each(self.editGroep().ondersteuningsvormen(), function(i,p){
|
||||
|
||||
submitData={ id : p.id,
|
||||
orgid : self.editGroep().orgid,
|
||||
groepid : self.editGroep().id,
|
||||
nivo : p.nivo,
|
||||
naam : p.naam(),
|
||||
aantal : p.aantal() };
|
||||
|
||||
$.post("index.php/monpas/groepen/insertorupdateOS", submitData, function(result){
|
||||
if (result){
|
||||
if (p.id == null || p.id == 0) p.id = result;
|
||||
}
|
||||
},'json');
|
||||
// HIER NOG OPTELLEN VAN LEERLINGEN PER ONDERSTEUNINGSVORM VOOR SELECTED GROEP
|
||||
if (p.aantal()) {
|
||||
self.selectedGroep().som1(self.selectedGroep().som1() - parseInt(p.aantal()));
|
||||
switch (p.nivo){
|
||||
case '2': self.selectedGroep().som2( self.selectedGroep().som2() + parseInt(p.aantal()));
|
||||
break;
|
||||
case '3': self.selectedGroep().som3( self.selectedGroep().som3() + parseInt(p.aantal()));
|
||||
break;
|
||||
case '4': self.selectedGroep().som4(self.selectedGroep().som4() + parseInt(p.aantal()));
|
||||
break;
|
||||
}
|
||||
} ; // if p.aantal
|
||||
}); // each
|
||||
|
||||
}// if
|
||||
},'json');
|
||||
$("#modNewEditGroep").modal('hide');
|
||||
} // else
|
||||
},
|
||||
|
||||
fToggle : function(data ,wat){
|
||||
var self = ls.GroepenModel;
|
||||
switch (wat){
|
||||
case 1: self.editGroep().geopend1(!self.editGroep().geopend1());
|
||||
break;
|
||||
case 2: self.editGroep().geopend2(!self.editGroep().geopend2());
|
||||
break;
|
||||
case 3: self.editGroep().geopend3(!self.editGroep().geopend3());
|
||||
break;
|
||||
case 4: self.editGroep().geopend4(!self.editGroep().geopend4());
|
||||
break;
|
||||
};
|
||||
},
|
||||
|
||||
fCopyGroep: function(){
|
||||
var self = ls.GroepenModel;
|
||||
if (self.bezig()) return;
|
||||
self.bezig(true);
|
||||
var submitData = {
|
||||
'schooljaar' : self.schooljaarnr(),
|
||||
'orgid' : self.schoolid(),
|
||||
'module' : self.module()
|
||||
}
|
||||
|
||||
|
||||
apprise("Weet u zeker dat u de groepen van het vorig schooljaar wilt kopieren naar het schooljaar " + ls.MenuModel.selectedSchooljaar().naam+ "?", {verify:true, textYes:'ja', textNo:'nee'},
|
||||
function(ans){
|
||||
if (ans){
|
||||
$.post("index.php/monpas/groepen/copygroepregulier", submitData, function(result){
|
||||
if (result) {
|
||||
apprise("Geen groepen gevonden")
|
||||
}
|
||||
else{
|
||||
|
||||
$.post("index.php/monpas/groepen/getgekopieerdegroepen", submitData, function(data){
|
||||
self.groepen.removeAll();
|
||||
if (data){
|
||||
$.each(data,function(i,p){
|
||||
self.groepen.push(new fAddGroep(p));
|
||||
});
|
||||
}// if
|
||||
},'json');
|
||||
}
|
||||
self.bezig(false);
|
||||
},'json');
|
||||
} else {
|
||||
self.bezig(false)
|
||||
}
|
||||
|
||||
}); // apprise
|
||||
},
|
||||
|
||||
fNewOndersteuning: function(wat){
|
||||
var self = ls.GroepenModel;
|
||||
if (!self.editGroep()) return;
|
||||
|
||||
var newos = {id: null,
|
||||
orgid:self.schoolid(),
|
||||
naam: ko.observable(''),
|
||||
nivo: wat,
|
||||
aantal: ko.observable(0)}
|
||||
self. editGroep().ondersteuningsvormen.push( newos);
|
||||
},
|
||||
|
||||
fCheckinput: function(data,elid){
|
||||
var self =ls.GroepenModel;
|
||||
var dit = this;
|
||||
var dat ="#" + data;
|
||||
if (self.bezig()) return;
|
||||
|
||||
if (self.editGroep().basis() < 0) {
|
||||
self.bezig(true);
|
||||
dit.aantal(0);
|
||||
$(dat).focus();
|
||||
apprise("Iedere leerling kan maar binnen 1 ondersteuningsvorm vallen.",
|
||||
{verify: false, textYes: ' ok '}, function(ans){
|
||||
self.bezig(false)
|
||||
});
|
||||
};
|
||||
},
|
||||
|
||||
// functie fEditGroep en overige functies lijken te zijn weggevallen
|
||||
// teruggezet van productie
|
||||
fCheckTotaal: function(){
|
||||
var self = ls.GroepenModel;
|
||||
var sum = self.editGroep().totplus() + self.editGroep().totextra() + self.editGroep().totextraplus();
|
||||
if (self.bezig()) return;
|
||||
if (timeout){
|
||||
clearTimeout(timeout);
|
||||
timeout = null;
|
||||
}
|
||||
timeout = setTimeout(function(){
|
||||
self.bezig(true);
|
||||
|
||||
if (sum > self.editGroep().totaantal()){
|
||||
apprise("Totaal aantal leerlingen mag niet kleiner zijn dan het aantal leerlingen met een speciale onderwijs- en/of zorgvraag.",{},function(){
|
||||
self.editGroep().totaantal(sum);
|
||||
$("#totaal").focus();
|
||||
self.bezig(false);
|
||||
|
||||
})
|
||||
}
|
||||
else {self.bezig(false);}
|
||||
},700);
|
||||
},
|
||||
|
||||
fDeleteGroep : function(){
|
||||
var self = ls.GroepenModel;
|
||||
var dit = this;
|
||||
apprise("Weet u zeker dat u " + dit.naam+ " wilt verwijderen?" , {verify: true, textYes:'ja', textNo:'nee'}, function(ans){
|
||||
if (ans){
|
||||
$.post("index.php/monpas/groepen/deletegroep/" + dit.id, function(){
|
||||
self.groepen.remove(dit);
|
||||
});
|
||||
}
|
||||
}); // apprise
|
||||
},
|
||||
|
||||
fEditGroep : function(){
|
||||
var self = ls.GroepenModel;
|
||||
self.selectedGroep(this);
|
||||
|
||||
var submitData={
|
||||
groepid : self.selectedGroep().id,
|
||||
schoolid : self.schoolid(),
|
||||
minnivo : 2,
|
||||
maxnivo : 4
|
||||
};
|
||||
$.post("index.php/monpas/groepen/getgroep/" , submitData, function(result){
|
||||
|
||||
self.editGroep(null);
|
||||
|
||||
if (result){
|
||||
self.editGroep(new fAddEditGroep(result));
|
||||
|
||||
$.each(self.leerkrachten(), function(d,leerkracht){
|
||||
leerkracht.selected(false);
|
||||
$.each(result.leerkrachten, function(e,lk){
|
||||
if (lk.userid == leerkracht.userid){
|
||||
leerkracht.selected(true);
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
$("#modNewEditGroep").modal('show');
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
|
||||
fDeleteOS : function(){
|
||||
var self = ls.GroepenModel;
|
||||
var dit = this;
|
||||
apprise("Weet u zeker dat u " + dit.naam() + " wilt verwijderen? </br/> Alle leerlingen (in alle groepen) die toegewezen zijn aan deze" +
|
||||
" ondersteuningsvorm worden ingedeeld in de basisondersteuning.", {verify: true, textYes: 'ja', textNo:'nee'}, function(ans){
|
||||
if (ans){
|
||||
$.post("index.php/monpas/groepen/deleteOS/" + dit.id, function(){
|
||||
self.editGroep().ondersteuningsvormen.remove(dit);
|
||||
});
|
||||
};// if ans
|
||||
});//apprise
|
||||
},
|
||||
fWijzigLeerkrachten : function(){
|
||||
var self =ls.GroepenModel;
|
||||
this.toonLK(!this.toonLK());
|
||||
},
|
||||
fToggleLeerkracht : function(){
|
||||
this.selected(!this.selected());
|
||||
},
|
||||
fUpdateNotitie : function(){
|
||||
var self=ls.GroepenModel;
|
||||
var dit = this;
|
||||
if (timeout){
|
||||
clearTimeout(timeout);
|
||||
timeout = null;
|
||||
}
|
||||
timeout = setTimeout(function(){
|
||||
var submitData={ groepid : dit.id,
|
||||
notitie : dit.notitie};
|
||||
if (dit.id == null) return;
|
||||
$.post("index.php/monpas/groepen/updatenotitie", submitData);
|
||||
},600);
|
||||
},
|
||||
|
||||
|
||||
|
||||
} ; // definition van model
|
||||
|
||||
ls.GroepenModel.initBindings();
|
||||
}; // else
|
||||
}// function initGroepenModel
|
||||
});;
|
||||
@@ -0,0 +1,498 @@
|
||||
$(function(){
|
||||
|
||||
mh.initGroepensoModel = function(){
|
||||
var timeout;
|
||||
|
||||
function fAddGroep(p){
|
||||
this.id = p.id;
|
||||
this.naam = p.naam;
|
||||
this.leerjaar = p.niveau;
|
||||
this.totaantal = ko.observable(p.totaantal);
|
||||
this.som5 = ko.observable(p.som5);
|
||||
this.som6 = ko.observable(p.som6);
|
||||
this.som7 = ko.observable(p.som7);
|
||||
this.som8 = ko.observable(p.som8);
|
||||
this.leerkrachten = ko.observableArray([]);
|
||||
var dit = this;
|
||||
if (p.leerkrachten){
|
||||
$.each(p.leerkrachten, function(j,leerkracht){
|
||||
dit.leerkrachten.push(new fAddLeerkracht(leerkracht));
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function fAddLeerkracht(p){
|
||||
this.userid = p.userid;
|
||||
this.fullname = p.fullname;
|
||||
this.selected = ko.observable(false);
|
||||
}
|
||||
|
||||
function fAddEditGroep(p){
|
||||
var dit = this;
|
||||
this.id = p.id;
|
||||
this.naam = ko.observable(p.naam);
|
||||
this.orgid = p.orgid;
|
||||
this.schooljaar = p.schooljaar;
|
||||
|
||||
this.leerjaren = ko.observableArray([]);
|
||||
if (p.niveau){
|
||||
$.each(p.niveau, function(j,k){
|
||||
if (!isNaN(parseInt(k)) ){
|
||||
dit.leerjaren.push(parseInt(k));
|
||||
}
|
||||
}); // each
|
||||
}
|
||||
|
||||
this.totaantal = ko.observable(p.totaantal);
|
||||
this.ondersteuningsvormen = ko.observableArray([]);
|
||||
|
||||
if (p.ondersteuningsvormen){
|
||||
$.each(p.ondersteuningsvormen, function(j,k){
|
||||
dit.ondersteuningsvormen.push(new fAddOndersteuningsvorm(k));
|
||||
});
|
||||
}
|
||||
|
||||
this.totsbo = ko.computed(function(){
|
||||
var som = 0;
|
||||
if (dit.ondersteuningsvormen()){
|
||||
$.each(dit.ondersteuningsvormen(), function(x,y){
|
||||
if (y.zwaarte == 5 && y.aantal()){
|
||||
som = som + parseInt(y.aantal());
|
||||
}
|
||||
});
|
||||
}
|
||||
return som;
|
||||
});
|
||||
this.totso1 = ko.computed(function(){
|
||||
var som = 0;
|
||||
if (dit.ondersteuningsvormen()){
|
||||
$.each(dit.ondersteuningsvormen(), function(x,y){
|
||||
if (y.zwaarte == 6 && y.aantal()){
|
||||
som = som + parseInt(y.aantal());
|
||||
}
|
||||
});
|
||||
}
|
||||
return som;
|
||||
});
|
||||
this.totso2 = ko.computed(function(){
|
||||
var som = 0;
|
||||
if (dit.ondersteuningsvormen()){
|
||||
$.each(dit.ondersteuningsvormen(), function(x,y){
|
||||
if (y.zwaarte == 7 && y.aantal()){
|
||||
som = som + parseInt(y.aantal());
|
||||
}
|
||||
});
|
||||
}
|
||||
return som;
|
||||
});
|
||||
this.totso3 = ko.computed(function(){
|
||||
var som = 0;
|
||||
if (dit.ondersteuningsvormen()){
|
||||
$.each(dit.ondersteuningsvormen(), function(x,y){
|
||||
if (y.zwaarte == 8 && y.aantal()){
|
||||
som = som + parseInt(y.aantal());
|
||||
}
|
||||
});
|
||||
}
|
||||
return som;
|
||||
});
|
||||
|
||||
|
||||
this.nogniet = ko.computed(function(){
|
||||
var groepen =
|
||||
parseInt(dit.totsbo()) +
|
||||
parseInt(dit.totso1()) +
|
||||
parseInt(dit.totso2()) +
|
||||
parseInt(dit.totso3());
|
||||
var nietingedeeld = parseInt(dit.totaantal()) - groepen;
|
||||
|
||||
return nietingedeeld;
|
||||
|
||||
});
|
||||
this.geopend5 = ko.observable(false);
|
||||
this.geopend6 = ko.observable(false);
|
||||
this.geopend7 = ko.observable(false);
|
||||
this. geopend8 = ko.observable(false);
|
||||
this.toonLK = ko.observable(false);
|
||||
this.notitie = ko.observable(p.notitie);
|
||||
}
|
||||
|
||||
function fAddOndersteuningsvorm(k){
|
||||
this.id = k.id;
|
||||
this.orgid = k.organisatie_id;
|
||||
this.naam = ko.observable(k.naam);
|
||||
this.zwaarte = k.nivo;
|
||||
this.aantal = ko.observable(k.aantal);
|
||||
}
|
||||
|
||||
|
||||
if (mh.GroepensoModel !== undefined){
|
||||
mh.GroepensoModel.initModel();
|
||||
}
|
||||
else {
|
||||
mh.GroepensoModel = {
|
||||
schoolid : ko.observable(null),
|
||||
schooljaarnr : ko.observable(null),
|
||||
groepen : ko.observableArray([]),
|
||||
selectedGroep : ko.observable(),
|
||||
editGroep : ko.observable(),
|
||||
|
||||
edittekst : ko.observable(''),
|
||||
leerkrachten : ko.observableArray([]),
|
||||
leerjaren : ko.observableArray( [
|
||||
{id:1 ,leerjaar: 1},
|
||||
{id:2, leerjaar: 2},
|
||||
{id:3, leerjaar: 3},
|
||||
{id:4, leerjaar: 4},
|
||||
{id:5, leerjaar: 5},
|
||||
{id:6, leerjaar: 6},
|
||||
{id:7, leerjaar: 7},
|
||||
{id:8, leerjaar: 8}]),
|
||||
writer : ko.observable(false),
|
||||
bezig : ko.observable(false),
|
||||
|
||||
initBindings :function(){
|
||||
var self = mh.GroepensoModel;
|
||||
var vandaag = new Date();
|
||||
if (!ko.dataFor(document.getElementById('paggroepenso')) ) {
|
||||
ko.applyBindings(mh.GroepensoModel, document.getElementById('paggroepenso'));
|
||||
}
|
||||
$.post("index.php/monpas/groepen/getwriter", function(writer){
|
||||
self.writer(writer);
|
||||
},'json');
|
||||
self.initModel();
|
||||
},
|
||||
initModel: function(){
|
||||
var self = mh.GroepensoModel;
|
||||
if (ls.MenuModel.selectedSchool()){
|
||||
self.schoolid(ls.MenuModel.selectedSchool().id);
|
||||
}
|
||||
if (ls.MenuModel.selectedSchooljaar()){
|
||||
self.schooljaarnr(ls.MenuModel.selectedSchooljaar().schooljaarnr);
|
||||
}
|
||||
|
||||
$.post("index.php/monpas/groepen/getleerkrachten/" + self.schoolid(), function(data){
|
||||
self.leerkrachten.removeAll();
|
||||
if (data){
|
||||
$.each(data, function(a,b){
|
||||
self.leerkrachten.push(new fAddLeerkracht(b));
|
||||
})
|
||||
}
|
||||
|
||||
self.fGetGroepen(); // als school of schooljaar is aangepast dan groepsgegevens opnieuwe ophalen
|
||||
},'json');
|
||||
},
|
||||
|
||||
fNewGroep: function(){
|
||||
var self = mh.GroepensoModel;
|
||||
|
||||
var submitData={
|
||||
schoolid : self.schoolid(),
|
||||
schooljaar : self.schooljaarnr(),
|
||||
minnivo : 5,
|
||||
maxnivo : 8,
|
||||
type : 'SBO'
|
||||
};
|
||||
|
||||
|
||||
$.post("index.php/monpas/groepen/getnewgroep/", submitData, function(data){
|
||||
if (data) {
|
||||
self.editGroep(new fAddEditGroep(data));
|
||||
$.each(self.leerkrachten(), function (f, leerkracht) {
|
||||
leerkracht.selected(false);
|
||||
});
|
||||
$("#modNewEditGroepSO").modal('show');
|
||||
}
|
||||
|
||||
},'json')
|
||||
},
|
||||
|
||||
fGetGroepen: function(){
|
||||
var self = mh.GroepensoModel;
|
||||
$.post("index.php/monpas/groepen/getgroepenso/"+self.schoolid() + '/' + self.schooljaarnr(), function(data){
|
||||
self.groepen.removeAll();
|
||||
if (data) {
|
||||
if (data.groepen) {
|
||||
$.each(data.groepen, function (i, p) {
|
||||
self.groepen.push(new fAddGroep(p));
|
||||
});
|
||||
}// if
|
||||
};
|
||||
},'json');
|
||||
},
|
||||
|
||||
fUpdateGroep: function(){
|
||||
var self = mh.GroepensoModel;
|
||||
var errortekst = '';
|
||||
|
||||
if (self.editGroep().naam().length < 1){
|
||||
errortekst = "U moet een naam opgeven voor deze groep"
|
||||
}
|
||||
if(self.editGroep().totaantal() <=0){
|
||||
errortekst = errortekst + "</br> Het aantal leerlingen in een groep moet groter zijn dan 0."
|
||||
|
||||
}
|
||||
if ( self.editGroep().leerjaren().length ==0 ||
|
||||
self.editGroep().leerjaren()[0]== null ||
|
||||
self.editGroep().leerjaren()[0] == undefined ||
|
||||
self.editGroep().leerjaren()[0] == NaN){errortekst +=" U moet het leerjaar/de leerjaren van de groep opgeven."}
|
||||
if (self.editGroep().nogniet() > 0){
|
||||
errortekst = errortekst + "</br> Alle leerlingen moeten worden ingedeeld."
|
||||
}
|
||||
else {self.bezig(false);}
|
||||
|
||||
|
||||
if (errortekst !=''){
|
||||
apprise(errortekst);
|
||||
return;
|
||||
}
|
||||
else{
|
||||
|
||||
var submitData ={ id : self.editGroep().id,
|
||||
orgid : self.editGroep().orgid,
|
||||
schooljaar : self.editGroep().schooljaar,
|
||||
naam : self.editGroep().naam(),
|
||||
module : 270,
|
||||
niveauarray : self.editGroep().leerjaren(),
|
||||
totaantal : self.editGroep().totaantal(),
|
||||
notitie : self.editGroep().notitie(),
|
||||
schooltype : 'SBO'
|
||||
};
|
||||
$.post("index.php/monpas/groepen/insertorupdategroep", submitData, function(result){
|
||||
if (self.editGroep().id ==0 || self.editGroep().id== null || self.editGroep().id==undefined){
|
||||
self.editGroep().id = result.id;
|
||||
self.groepen.push(new fAddGroep(result));
|
||||
$.each(self.groepen(), function(b,groep){
|
||||
if (groep.id == result.id) {self.selectedGroep(groep); return false };
|
||||
});
|
||||
}
|
||||
else{
|
||||
self.selectedGroep().naam = self.editGroep().naam();
|
||||
}; //else
|
||||
|
||||
$.post("index.php/monpas/groepen/deletegroepxuser/" + self.editGroep().id);
|
||||
|
||||
self.selectedGroep().leerkrachten.removeAll();
|
||||
|
||||
$.each(self.leerkrachten(), function(c , leerkracht){
|
||||
if (leerkracht.selected()){
|
||||
$.post('index.php/monpas/groepen/addgroepxuser/' + self.editGroep().id + '/' + self.schoolid() + '/' + leerkracht.userid);
|
||||
self.selectedGroep().leerkrachten.push(leerkracht);
|
||||
}
|
||||
});
|
||||
self.selectedGroep().totaantal(self.editGroep().totaantal());
|
||||
|
||||
// hier alle regels en/of aantallen opslaan
|
||||
|
||||
self.selectedGroep().som5(0);
|
||||
self.selectedGroep().som6(0);
|
||||
self.selectedGroep().som7(0);
|
||||
self.selectedGroep().som8(0);
|
||||
|
||||
if (self.editGroep().ondersteuningsvormen()){
|
||||
$.each(self.editGroep().ondersteuningsvormen(), function(i,p){
|
||||
if(p.naam()) {
|
||||
|
||||
submitData = {
|
||||
id: p.id,
|
||||
orgid: self.editGroep().orgid,
|
||||
groepid: self.editGroep().id,
|
||||
nivo: p.zwaarte,
|
||||
naam: p.naam(),
|
||||
aantal: p.aantal()
|
||||
};
|
||||
$.post("index.php/monpas/groepen/insertorupdateOS", submitData, function (result) {
|
||||
if (result) {
|
||||
if (p.id == null || p.id == 0) p.id = result;
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
// HIER NOG OPTELLEN VAN LEERLINGEN PER ONDERSTEUNINGSVORM VOOR SELECTED GROEP
|
||||
if (p.aantal()) {
|
||||
switch (p.zwaarte){
|
||||
case '5': self.selectedGroep().som5( self.selectedGroep().som5() + parseInt(p.aantal()));
|
||||
break;
|
||||
case '6': self.selectedGroep().som6( self.selectedGroep().som6() + parseInt(p.aantal()));
|
||||
break;
|
||||
case '7': self.selectedGroep().som7( self.selectedGroep().som7() + parseInt(p.aantal()));
|
||||
break;
|
||||
case '8': self.selectedGroep().som8(self.selectedGroep().som8() + parseInt(p.aantal()));
|
||||
break;
|
||||
}
|
||||
} ; // if p.aantal
|
||||
}); // each
|
||||
|
||||
}// if
|
||||
},'json');
|
||||
$("#modNewEditGroepSO").modal('hide');
|
||||
} // else
|
||||
},
|
||||
fToggle : function(data ,wat){
|
||||
var self = mh.GroepensoModel;
|
||||
switch (wat){
|
||||
case 5: self.editGroep().geopend5(!self.editGroep().geopend5());
|
||||
break;
|
||||
case 6: self.editGroep().geopend6(!self.editGroep().geopend6());
|
||||
break;
|
||||
case 7: self.editGroep().geopend7(!self.editGroep().geopend7());
|
||||
break;
|
||||
case 8: self.editGroep().geopend8(!self.editGroep().geopend8());
|
||||
break;
|
||||
};
|
||||
},
|
||||
fNewOndersteuning: function(data, wat){
|
||||
var self = mh.GroepensoModel;
|
||||
|
||||
if (!self.editGroep()) return;
|
||||
var newos = {id: null,
|
||||
orgid:self.schoolid(),
|
||||
naam: ko.observable(''),
|
||||
zwaarte:data,
|
||||
aantal: ko.observable(0)}
|
||||
|
||||
self. editGroep().ondersteuningsvormen.push( newos);
|
||||
},
|
||||
|
||||
fCheckinput: function(data,elid){
|
||||
var self =mh.GroepensoModel;
|
||||
var dit = this;
|
||||
var dat ="#" + data;
|
||||
if (self.bezig()) return;
|
||||
|
||||
self.bezig(true);
|
||||
if (self.editGroep().nogniet() < 0){
|
||||
apprise("Iedere leerling kan maar binnen 1 ondersteuningsvorm vallen.", {},function(){
|
||||
dit.aantal(0);
|
||||
$(dat).focus();
|
||||
self.bezig(false);
|
||||
});
|
||||
}
|
||||
else {self.bezig(false);}
|
||||
|
||||
},
|
||||
fCheckTotaal: function(){
|
||||
var self = mh.GroepensoModel;
|
||||
var sum = self.editGroep().totsbo() + self.editGroep().totso1() + self.editGroep().totso2() + self.editGroep().totso3();
|
||||
if (self.bezig()) return;
|
||||
if (timeout){
|
||||
clearTimeout(timeout);
|
||||
timeout = null;
|
||||
}
|
||||
timeout = setTimeout(function(){
|
||||
self.bezig(true);
|
||||
if (self.editGroep().nogniet() < 0){
|
||||
apprise("Alle leerlingen moeten worden ingedeeld bij een onderwijsvraag",{},function(){
|
||||
self.editGroep().totaantal(sum);
|
||||
$("#totaal").focus();
|
||||
self.bezig(false);
|
||||
})
|
||||
}
|
||||
self.bezig(false);
|
||||
},700);
|
||||
},
|
||||
fDeleteGroep : function(){
|
||||
var self = mh.GroepensoModel;
|
||||
var dit = this;
|
||||
apprise("Weet u zeker dat u " + dit.naam+ " wilt verwijderen?" , {verify: true, textYes:'ja', textNo:'nee'}, function(ans){
|
||||
if (ans){
|
||||
$.post("index.php/monpas/groepen/deletegroep/" + dit.id, function(){
|
||||
self.groepen.remove(dit);
|
||||
});
|
||||
}
|
||||
}); // apprise
|
||||
},
|
||||
fEditGroep : function(){
|
||||
var self = mh.GroepensoModel;
|
||||
self.selectedGroep(this);
|
||||
|
||||
var submitData ={
|
||||
groepid : self.selectedGroep().id,
|
||||
schoolid : self.schoolid(),
|
||||
minnivo : 5,
|
||||
maxnivo : 8
|
||||
}
|
||||
|
||||
$.post("index.php/monpas/groepen/getgroep/", submitData, function(result){
|
||||
|
||||
self.editGroep(null);
|
||||
|
||||
if (result){
|
||||
self.editGroep(new fAddEditGroep(result));
|
||||
|
||||
$.each(self.leerkrachten(), function(d,leerkracht){
|
||||
leerkracht.selected(false);
|
||||
$.each(result.leerkrachten, function(e,lk){
|
||||
if (lk.userid == leerkracht.userid){
|
||||
leerkracht.selected(true);
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
$("#modNewEditGroepSO").modal('show');
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
|
||||
fDeleteOS : function(){
|
||||
var self = mh.GroepensoModel;
|
||||
var dit = this;
|
||||
apprise("Weet u zeker dat u " + dit.naam() + " wilt verwijderen?", {verify: true, textYes: 'ja', textNo:'nee'}, function(ans){
|
||||
if (ans){
|
||||
$.post("index.php/monpas/groepen/deleteOS/" + dit.id, function(){
|
||||
self.editGroep().ondersteuningsvormen.remove(dit);
|
||||
});
|
||||
};// if ans
|
||||
});//apprise
|
||||
},
|
||||
fWijzigLeerkrachten : function(){
|
||||
var self =mh.GroepensoModel;
|
||||
this.toonLK(!this.toonLK());
|
||||
},
|
||||
fToggleLeerkracht : function(){
|
||||
this.selected(!this.selected());
|
||||
},
|
||||
fUpdateNotitie : function(){
|
||||
var self=mh.GroepensoModel;
|
||||
var dit = this;
|
||||
if (timeout){
|
||||
clearTimeout(timeout);
|
||||
timeout = null;
|
||||
}
|
||||
timeout = setTimeout(function(){
|
||||
var submitData={ groepid : dit.id,
|
||||
notitie : dit.notitie};
|
||||
if (dit.id == null) return;
|
||||
$.post("index.php/monpas/groepen/updatenotitie", submitData);
|
||||
},600);
|
||||
},
|
||||
fCopyGroep: function(){
|
||||
var self = mh.GroepensoModel;
|
||||
|
||||
var submitData = {
|
||||
'schooljaar' : self.schooljaarnr(),
|
||||
'orgid' : self.schoolid(),
|
||||
}
|
||||
apprise("Weet u zeker dat u de groepen van het vorig schooljaar wilt kopieren naar het schooljaar " + ls.MenuModel.selectedSchooljaar().naam+ "?", {verify:true, textYes:'ja', textNo:'nee'},
|
||||
function(ans){
|
||||
if (ans){
|
||||
$.post("index.php/monpas/groepen/copygroepSOSBO", function(result){
|
||||
if (result){
|
||||
if(result.error) {
|
||||
apprise("FOUT: geen groepen gevonden");
|
||||
}
|
||||
if(result.vorigegroepen) {
|
||||
self.groepen.removeAll();
|
||||
$.each(result.vorigegroepen, function (i, p) {
|
||||
self.groepen.push(new fAddGroep(p));
|
||||
});
|
||||
}
|
||||
}
|
||||
},'json');
|
||||
}
|
||||
}); // apprise
|
||||
}
|
||||
} ; // definition van model
|
||||
mh.GroepensoModel.initBindings();
|
||||
}; // else
|
||||
}// function initGroepensoModel
|
||||
});
|
||||
@@ -0,0 +1,303 @@
|
||||
$(function(){
|
||||
|
||||
ls.initMonDivModel = function(module){
|
||||
var Gr01;
|
||||
|
||||
|
||||
function fAddBG(p) {
|
||||
var dit = this;
|
||||
this.id = p.waardeid;
|
||||
this.bgnaam = p.naam;
|
||||
|
||||
this.volgorde = p.volgorde;
|
||||
this.scholen = ko.observableArray([]);
|
||||
if (p.scholen) {
|
||||
$.each(p.scholen, function (j, k) {
|
||||
dit.scholen.push(new fAddSchool(k));
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function fAddSchool(p){
|
||||
var dit = this;
|
||||
this.naam = p.brin + ' - ' + p.naam;
|
||||
if (p.fullname){
|
||||
dit.naam = p.brin + ' - ' + p.fullname;
|
||||
}
|
||||
this.aantallln = p.aantallln;
|
||||
this.groepen = p.aantalgroepen;
|
||||
this.cat1 = p.cat1 ? p.cat1 : 0;
|
||||
this.cat2 = p.cat2 ? p.cat2 : 0;
|
||||
this.cat3 = p.cat3 ? p.cat3 : 0;
|
||||
this.cat4 = p.cat4 ? p.cat4 : 0;
|
||||
this.oov = p.oov;
|
||||
this.tgd = p.tgd;
|
||||
this.dq = p.dq;
|
||||
}
|
||||
|
||||
|
||||
function fAddCriteria(c) {
|
||||
var dit = this;
|
||||
this.criteriumid = c.id;
|
||||
this.naam = c.naam;
|
||||
}
|
||||
|
||||
if (ls.MonDivModel !== undefined){
|
||||
ls.MonDivModel.initModel(module)
|
||||
}
|
||||
else {
|
||||
ls.MonDivModel = {
|
||||
bg : ko.observableArray([]),
|
||||
criteria : ko.observableArray([]),
|
||||
scholen : ko.observableArray([]),
|
||||
baar : ko.observable(''),
|
||||
orgsoort : ko.observable(1),
|
||||
orgversions : ko.observableArray([]),
|
||||
selectedOrgversion : ko.observable(''),
|
||||
selectedCriterium : ko.observable(0),
|
||||
selectedCritNaam : ko.observable('bestuur'),
|
||||
schooljaarnr : ko.observable(),
|
||||
mindq : ko.observable(''),
|
||||
maxdq : ko.observable(''),
|
||||
maxoov : ko.observable(''),
|
||||
grandtotals : ko.observableArray([]),
|
||||
druk : ko.observable(false),
|
||||
gegevens : ko.observable(true),
|
||||
module : ko.observable(),
|
||||
label1 : ko.observable(),
|
||||
label2 : ko.observable(),
|
||||
label3 : ko.observable(),
|
||||
label4 : ko.observable(),
|
||||
|
||||
|
||||
initBindings :function(){
|
||||
var self = ls.MonDivModel;
|
||||
if (!ko.dataFor(document.getElementById('pagmonitordiversiteit')) ) {
|
||||
ko.applyBindings(ls.MonDivModel, document.getElementById("pagmonitordiversiteit"));
|
||||
}
|
||||
self.initModel(module);
|
||||
},
|
||||
initModel: function(module){
|
||||
var self = ls.MonDivModel;
|
||||
self.module(module);
|
||||
if (ls.MenuModel.selectedSchooljaar()){
|
||||
self.schooljaarnr(ls.MenuModel.selectedSchooljaar().schooljaarnr);
|
||||
}
|
||||
|
||||
$.post("index.php/monpas/groepen/getlabels/"+ self.module(), function(data){
|
||||
showAjaxLoader();
|
||||
console.log(data, "data")
|
||||
if (data){
|
||||
self.label1(data.label1)
|
||||
self.label2(data.label2);
|
||||
self.label3(data.label3);
|
||||
self.label4(data.label4);
|
||||
|
||||
}// if
|
||||
|
||||
var submitData={
|
||||
schooljaarnr : self.schooljaarnr(),
|
||||
module : self.module()};
|
||||
|
||||
$.post("index.php/monpas/diversiteitmonitor/haalDiversiteitOverzichtop", submitData,function(result){
|
||||
self.bg.removeAll();
|
||||
if(result.beschikbaar === 'T') {
|
||||
self.gegevens(true);
|
||||
if (result.bg) {
|
||||
$.each(result.bg, function (i, p) {
|
||||
self.bg.push(new fAddBG(p));
|
||||
}); // each
|
||||
}
|
||||
if (result.maxdq) {
|
||||
self.maxdq(result.maxdq)
|
||||
}
|
||||
if (result.mindq) {
|
||||
self.mindq(result.mindq)
|
||||
}
|
||||
if (result.maxoov) {
|
||||
self.maxoov(result.maxoov)
|
||||
}
|
||||
;
|
||||
if (result.grandtotals) self.grandtotals(result.grandtotals);
|
||||
self.fFillGraph();
|
||||
self.fGetCriteria();
|
||||
hideAjaxLoader();
|
||||
}
|
||||
else{
|
||||
self.gegevens(false);
|
||||
hideAjaxLoader();
|
||||
}
|
||||
|
||||
},'json');
|
||||
},'json');
|
||||
|
||||
},
|
||||
|
||||
|
||||
fGetCriteria: function(){
|
||||
var self = ls.MonDivModel;
|
||||
|
||||
$.post("index.php/monpas/diversiteitmonitor/getCriteriaSWV", function(results) {
|
||||
self.druk(true);
|
||||
self.criteria.removeAll();
|
||||
|
||||
if (results) {
|
||||
$.each(results, function (i, c) {
|
||||
self.criteria.push(new fAddCriteria(c));
|
||||
if (c.id === 0) {
|
||||
self.selectedCriterium(c);
|
||||
}
|
||||
}); // each
|
||||
}
|
||||
self.druk(false);
|
||||
self.fChangeCriterium();
|
||||
},'json').always(self.druk(false));
|
||||
},
|
||||
|
||||
|
||||
fChangeCriterium: function(){
|
||||
var self = ls.MonDivModel;
|
||||
if (self.schooljaarnr == undefined) return;
|
||||
if (self.druk() ) return;
|
||||
var nr = self.schooljaarnr;
|
||||
var module = self.module();
|
||||
self.fHaalOverzichtenOp(nr, module);
|
||||
},
|
||||
|
||||
|
||||
fHaalOverzichtenOp: function(schooljaarnr, module){
|
||||
var self = ls.MonDivModel;
|
||||
var dit = this;
|
||||
if (self.druk() ) return;
|
||||
|
||||
|
||||
|
||||
self.selectedCritNaam(self.selectedCriterium().naam);
|
||||
var submitData = {
|
||||
'criteriumid' : self.selectedCriterium().criteriumid,
|
||||
'schooljaarnr': schooljaarnr,
|
||||
'module' : module
|
||||
};
|
||||
|
||||
|
||||
|
||||
$.post("index.php/monpas/diversiteitmonitor/haalDiversiteitOverzichtOp", submitData, function(result) {
|
||||
// self.data(false);
|
||||
self.bg.removeAll();
|
||||
if(result.beschikbaar === 'T') {
|
||||
self.gegevens(true);
|
||||
|
||||
if (result.bg) {
|
||||
$.each(result.bg, function (i, p) {
|
||||
self.bg.push(new fAddBG(p));
|
||||
}); // each
|
||||
|
||||
|
||||
}
|
||||
if (result.maxdq) {
|
||||
self.maxdq(result.maxdq)
|
||||
}
|
||||
if (result.mindq) {
|
||||
self.mindq(result.mindq)
|
||||
}
|
||||
if (result.maxoov) {
|
||||
self.maxoov(result.maxoov)
|
||||
}
|
||||
;
|
||||
if (result.grandtotals) self.grandtotals(result.grandtotals);
|
||||
self.fFillGraph();
|
||||
}
|
||||
|
||||
else{
|
||||
self.gegevens(false);
|
||||
}
|
||||
|
||||
|
||||
}, 'json').always(function(){
|
||||
hideAjaxLoader() } );
|
||||
|
||||
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
fFillGraph : function(){
|
||||
var self = ls.MonDivModel;
|
||||
var scores = [];
|
||||
var slabels =['B','B⁺','E','E⁺','gem'];
|
||||
if (!self.grandtotals() || self.grandtotals().llng <=0) return;
|
||||
|
||||
scores[0]=Math.round((self.grandtotals().cat1 / self.grandtotals().llng) * 100)
|
||||
scores[1]=Math.round((self.grandtotals().cat2 / self.grandtotals().llng) * 100)
|
||||
scores[2]=Math.round((self.grandtotals().cat3 / self.grandtotals().llng) * 100)
|
||||
scores[3]=Math.round((self.grandtotals().cat4 / self.grandtotals().llng) * 100)
|
||||
scores[4] = Math.round((self.grandtotals().cat234 / self.grandtotals().llng) * 100);
|
||||
|
||||
if (Gr01 ) {Gr01.destroy(); }
|
||||
$("#mondiv01").remove();
|
||||
|
||||
var canv = document.createElement('canvas');
|
||||
canv.id = 'mondiv01';
|
||||
canv.width = 280;
|
||||
canv.height = 185;
|
||||
document.getElementById('holdermondiv01').appendChild(canv);
|
||||
var ctxMondiv01=$("#mondiv01").get(0).getContext("2d");
|
||||
var data = {labels : slabels,
|
||||
datasets:[{ label: '',
|
||||
fillColor: "rgba(147,15,80,0.9)",
|
||||
strokeColor: "rgba(111,11,61,1)",
|
||||
highlightStroke: "rgba(222,22,123,1)",
|
||||
data: scores}]
|
||||
};
|
||||
Gr01 = new Chart(ctxMondiv01).Bar(data,{
|
||||
animation: true,
|
||||
scaleShowGridLines:true,
|
||||
scaleLineColor:"rgba(0,0,0,1)",
|
||||
scaleOverride: true,
|
||||
scaleBeginAtZero :true,
|
||||
scaleSteps: 10,
|
||||
scaleStepWidth: 10,
|
||||
scaleStartValue: 0 ,
|
||||
barValueSpacing: 10,
|
||||
barStrokeWidth:1,
|
||||
barDatasetSpacing:2,
|
||||
toottipFontFamily:"'lato','Arial'",
|
||||
|
||||
tooltipTemplate: "<%= label %>: <%= datasetLabel[ (label -1)] %> <%= value %>%",
|
||||
});
|
||||
|
||||
},
|
||||
fPrintDiversiteitMonitor :function(){
|
||||
var self = ls.MonDivModel;
|
||||
var bgs = {};
|
||||
var bg;
|
||||
$.each (self.bg(), function(i,p){
|
||||
bg=ko.toJSON(p);
|
||||
bgs[i]=bg;
|
||||
})
|
||||
var Gr01_64 = '';
|
||||
if (Gr01 !==undefined) Gr01_64=Gr01.toBase64Image();
|
||||
submitData = { 'bgs' : bgs,
|
||||
'maxdq' : ko.toJSON(self.maxdq()),
|
||||
'mindq' : ko.toJSON(self.mindq()),
|
||||
'maxoov' : ko.toJSON(self.maxoov()),
|
||||
"grandtotals" : ko.toJSON(self.grandtotals()),
|
||||
'schooljaarnr' : self.schooljaarnr(),
|
||||
"gr0164" : Gr01_64
|
||||
}
|
||||
|
||||
data=JSON.stringify(submitData);
|
||||
|
||||
var $form = $("<form method='post' action='index.php/monpas/diversiteitmonitor/maakpdf' target='_blank'>").append($('<input type = "hidden" name="data" id ="data">').val(data) );
|
||||
$form.appendTo("body").submit();
|
||||
}
|
||||
} ; // definition van model
|
||||
ls.MonDivModel.initBindings();
|
||||
}; // else
|
||||
}// function initMonDivModel
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,161 @@
|
||||
$(function(){
|
||||
|
||||
mh.initMonDivSOModel = function(module){
|
||||
var Gr01;
|
||||
|
||||
function fAddBg(p){
|
||||
var dit = this;
|
||||
this.bgnaam = p.naam;
|
||||
this.bgkort =p.naamkort;
|
||||
this.scholen = ko.observableArray([]);
|
||||
if (p.scholen){
|
||||
$.each(p.scholen, function(j,k){
|
||||
dit.scholen.push(new fAddSchool(k));
|
||||
}); //each
|
||||
}
|
||||
}
|
||||
function fAddSchool(p){
|
||||
|
||||
this.naam = p.brin + ' - ' + p.naam;
|
||||
this.aantallln = p.aantallln;
|
||||
this.groepen = p.aantalgroepen;
|
||||
this.cat5 = p.cat5;
|
||||
this.cat6 = p.cat6;
|
||||
this.cat7 = p.cat7;
|
||||
this.cat8 = p.cat8;
|
||||
this.tgd = p.tgd;
|
||||
this.dq = p.dq;
|
||||
}
|
||||
|
||||
|
||||
if (mh.MonDivSOModel !== undefined){
|
||||
mh.MonDivSOModel.initModel(module);
|
||||
}
|
||||
else {
|
||||
mh.MonDivSOModel = {
|
||||
bg : ko.observableArray([]),
|
||||
schooljaarnr : ko.observable(),
|
||||
mindq : ko.observable(''),
|
||||
maxdq : ko.observable(''),
|
||||
gegevens : ko.observable(true),
|
||||
grandtotals : ko.observableArray([]),
|
||||
module : ko.observableArray(),
|
||||
|
||||
initBindings :function(){
|
||||
var self = mh.MonDivSOModel;
|
||||
if (!ko.dataFor(document.getElementById('pagmonitordiversiteitso')) ) {
|
||||
ko.applyBindings(mh.MonDivSOModel, document.getElementById("pagmonitordiversiteitso"));
|
||||
}
|
||||
self.initModel(module);
|
||||
},
|
||||
initModel: function(){
|
||||
var self = mh.MonDivSOModel;
|
||||
self.module(module);
|
||||
if (ls.MenuModel.selectedSchooljaar()){
|
||||
self.schooljaarnr(ls.MenuModel.selectedSchooljaar().schooljaarnr);
|
||||
}
|
||||
var submitData={
|
||||
schooljaarnr : self.schooljaarnr(),
|
||||
module : self.module() };
|
||||
$.post("index.php/monpas/diversiteitmonitor/getallsboso", submitData,function(result){
|
||||
self.bg.removeAll();
|
||||
showAjaxLoader()
|
||||
if(result && result.beschikbaar === 'T') {
|
||||
self.gegevens(true);
|
||||
if (result.bg) {
|
||||
$.each(result.bg, function (i, p) {
|
||||
self.bg.push(new fAddBg(p));
|
||||
}); // each
|
||||
}
|
||||
if (result.maxdq) {
|
||||
self.maxdq(result.maxdq)
|
||||
}
|
||||
if (result.mindq) {
|
||||
self.mindq(result.mindq)
|
||||
}
|
||||
if (result.grandtotals) self.grandtotals(result.grandtotals);
|
||||
self.fFillGraph();
|
||||
}
|
||||
else{
|
||||
self.gegevens(false);
|
||||
}
|
||||
hideAjaxLoader()
|
||||
},'json');
|
||||
|
||||
},
|
||||
fFillGraph : function(){
|
||||
var self = mh.MonDivSOModel;
|
||||
var scores = [];
|
||||
var slabels =['SBO','SO-1','SO2','SO-3'];
|
||||
if (!self.grandtotals() || self.grandtotals().llng <=0) return;
|
||||
|
||||
scores[0]=Math.round((self.grandtotals().cat5 / self.grandtotals().llng) * 100)
|
||||
scores[1]=Math.round((self.grandtotals().cat6 / self.grandtotals().llng) * 100)
|
||||
scores[2]=Math.round((self.grandtotals().cat7 / self.grandtotals().llng) * 100)
|
||||
scores[3]=Math.round((self.grandtotals().cat8 / self.grandtotals().llng) * 100)
|
||||
|
||||
if (Gr01 ) {Gr01.destroy(); }
|
||||
$("#mondivSO").remove();
|
||||
|
||||
var canv = document.createElement('canvas');
|
||||
canv.id = 'mondivSO';
|
||||
canv.width = 280;
|
||||
canv.height = 185;
|
||||
document.getElementById('holdermondivSO').appendChild(canv);
|
||||
var ctxMondiv01=$("#mondivSO").get(0).getContext("2d");
|
||||
var data = {labels : slabels,
|
||||
datasets:[{ label: '',
|
||||
fillColor: "rgba(147,15,80,0.9)",
|
||||
strokeColor: "rgba(111,11,61,1)",
|
||||
highlightStroke: "rgba(222,22,123,1)",
|
||||
data: scores}]
|
||||
};
|
||||
Gr01 = new Chart(ctxMondiv01).Bar(data,{
|
||||
animation: true,
|
||||
scaleShowGridLines:true,
|
||||
scaleLineColor:"rgba(0,0,0,1)",
|
||||
scaleOverride: true,
|
||||
scaleBeginAtZero :true,
|
||||
scaleSteps: 10,
|
||||
scaleStepWidth: 10,
|
||||
scaleStartValue: 0 ,
|
||||
barValueSpacing: 10,
|
||||
barStrokeWidth:1,
|
||||
barDatasetSpacing:2,
|
||||
toottipFontFamily:"'lato','Arial'",
|
||||
|
||||
tooltipTemplate: "<%= label %>: <%= datasetLabel[ (label -1)] %> <%= value %>%",
|
||||
});
|
||||
|
||||
},
|
||||
fPrintDiversiteitMonitor :function(){
|
||||
var self = mh.MonDivSOModel;
|
||||
var bgs = {};
|
||||
var bg;
|
||||
$.each (self.bg(), function(i,p){
|
||||
bg=ko.toJSON(p);
|
||||
bgs[i]=bg;
|
||||
})
|
||||
var Gr01_64 = '';
|
||||
if (Gr01 !==undefined) Gr01_64=Gr01.toBase64Image();
|
||||
submitData = { 'bgs' : bgs,
|
||||
'maxdq' : ko.toJSON(self.maxdq()),
|
||||
'mindq' : ko.toJSON(self.mindq()),
|
||||
"grandtotals" : ko.toJSON(self.grandtotals()),
|
||||
'schooljaarnr' : self.schooljaarnr(),
|
||||
"gr0164" : Gr01_64
|
||||
}
|
||||
data=JSON.stringify(submitData);
|
||||
|
||||
var $form = $("<form method='post' action='index.php/monpas/diversiteitmonitor/maakpdfsboso' target='_blank'>").append($('<input type = "hidden" name="data" id ="data">').val(data) );
|
||||
$form.appendTo("body").submit();
|
||||
}
|
||||
} ; // definition van model
|
||||
mh.MonDivSOModel.initBindings();
|
||||
}; // else
|
||||
}// function initMonDivModel
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,147 @@
|
||||
$(function(){
|
||||
|
||||
ls.initOndersteuningModel = function(module){
|
||||
var timeout;
|
||||
|
||||
function fAddGroep(p){
|
||||
this.id = p.id;
|
||||
this.naam = p.naam;
|
||||
}
|
||||
|
||||
function fAddDag(p){
|
||||
this.dagnr = p.dagnr;
|
||||
this.dag = p.dag
|
||||
this.minutenG = ko.observable(p.minutenG % 60);
|
||||
this.uurG = ko.observable((p.minutenG - this.minutenG()) / 60);
|
||||
this.minutenS = ko.observable(p.minutenS % 60);
|
||||
this.uurS = ko.observable((p.minutenS - this.minutenS()) / 60);
|
||||
this.minutenI = ko.observable(p.minutenI % 60);
|
||||
this.uurI = ko.observable((p.minutenI - this.minutenI() )/60);
|
||||
|
||||
}
|
||||
|
||||
if (ls.OndersteuningModel !== undefined){
|
||||
ls.OndersteuningModel.initModel(module);
|
||||
}
|
||||
else {
|
||||
ls.OndersteuningModel = {
|
||||
schoolid : ko.observable(null),
|
||||
schooljaarnr : ko.observable(null),
|
||||
groepen : ko.observableArray([]),
|
||||
selectedGroep : ko.observable(),
|
||||
dagen : ko.observableArray([]),
|
||||
writer : ko.observable(false),
|
||||
module : ko.observable(),
|
||||
|
||||
initBindings :function(){
|
||||
var self = ls.OndersteuningModel;
|
||||
if (!ko.dataFor(document.getElementById('pagondersteuning')) ) {
|
||||
ko.applyBindings(ls.OndersteuningModel, document.getElementById("pagondersteuning"));
|
||||
}
|
||||
$.post("index.php/monpas/groepen/getwriter", function(writer){
|
||||
self.writer(writer);
|
||||
self.initModel(module);
|
||||
},'json');
|
||||
|
||||
},
|
||||
initModel: function(module){
|
||||
var self = ls.OndersteuningModel;
|
||||
if (ls.MenuModel.selectedSchool()){
|
||||
self.schoolid(ls.MenuModel.selectedSchool().id);
|
||||
}
|
||||
if (ls.MenuModel.selectedSchooljaar()){
|
||||
self.schooljaarnr(ls.MenuModel.selectedSchooljaar().schooljaarnr);
|
||||
}
|
||||
self.module(module);
|
||||
var submitData = {
|
||||
'orgID' : self.schoolid(),
|
||||
'schooljaar' : self.schooljaarnr(),
|
||||
'module' : self.module()
|
||||
}
|
||||
$.post("index.php/monpas/ondersteuning/getgroepen", submitData , function(result){
|
||||
self.groepen.removeAll();
|
||||
self.selectedGroep(null);
|
||||
self.dagen.removeAll();
|
||||
if (result){
|
||||
$.each(result, function(i,p){
|
||||
self.groepen.push(new fAddGroep(p));
|
||||
});//each
|
||||
self.selectedGroep(self.groepen()[0]);
|
||||
// self.fGetUren();
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
fGetUren : function(){
|
||||
var self = ls.OndersteuningModel;
|
||||
if (!self.selectedGroep()) return;
|
||||
$.post("index.php/monpas/ondersteuning/gettijden/" + self.selectedGroep().id, function(result){
|
||||
self.dagen.removeAll();
|
||||
if (result){
|
||||
$.each(result, function(i,p){
|
||||
self.dagen.push(new fAddDag(p));
|
||||
});
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
fSavetijd : function(wat,hoeveel){
|
||||
var self = ls.OndersteuningModel;
|
||||
var dit = this;
|
||||
var tijd = 0;
|
||||
var minuten, uur ;
|
||||
if (timeout){
|
||||
clearTimeout(timeout);
|
||||
timeout= null;
|
||||
}
|
||||
timeout = setTimeout(function(){
|
||||
switch (wat){
|
||||
case 'G': minuten =parseInt(dit.minutenG());
|
||||
if (!minuten) minuten =0;
|
||||
uur = parseInt(dit.uurG());
|
||||
if (!uur) uur= 0;
|
||||
if (uur > 24 || uur < 0) {
|
||||
ls.MsgAutoFade("Aantal uur moet tussen 0 en 24 vallen.", 1000);
|
||||
uur = 0;
|
||||
dit.uurG(0);
|
||||
}
|
||||
|
||||
tijd= minuten + (uur * 60);
|
||||
break;
|
||||
case 'S': minuten =parseInt(dit.minutenS());
|
||||
if (!minuten) minuten =0;
|
||||
uur = parseInt(dit.uurS());
|
||||
if (!uur) uur= 0;
|
||||
if (uur > 24 || uur < 0) {
|
||||
ls.MsgAutoFade("Aantal uur moet tussen 0 en 24 vallen.", 1000);
|
||||
uur = 0;
|
||||
dit.uurS(0);
|
||||
}
|
||||
|
||||
tijd= minuten + (uur * 60);
|
||||
break;
|
||||
case 'I': minuten =parseInt(dit.minutenI());
|
||||
if (!minuten) minuten =0;
|
||||
uur = parseInt(dit.uurI());
|
||||
if (!uur) uur= 0;
|
||||
if (uur > 24 || uur < 0) {
|
||||
ls.MsgAutoFade("Aantal uur moet tussen 0 en 24 vallen.", 1000);
|
||||
uur = 0;
|
||||
dit.uurI (0);
|
||||
}
|
||||
|
||||
tijd= minuten + (uur * 60);
|
||||
break;
|
||||
}
|
||||
var submitData={ orgid : ls.MenuModel.selectedSchool().id,
|
||||
groepid : self.selectedGroep().id,
|
||||
dagnr : dit.dagnr,
|
||||
soort : wat,
|
||||
minuten : tijd
|
||||
}
|
||||
$.post("index.php/monpas/ondersteuning/insertorupdatetijd", submitData);
|
||||
},500);
|
||||
}
|
||||
} ; // definition van model
|
||||
ls.OndersteuningModel.initBindings();
|
||||
}; // else
|
||||
}// function initOndersteuningModel
|
||||
});
|
||||
@@ -0,0 +1,178 @@
|
||||
$(function(){
|
||||
|
||||
mh.initOndersteuningSOModel = function(){
|
||||
var timeout;
|
||||
|
||||
function fAddGroep(p){
|
||||
this.id = p.id;
|
||||
this.naam = p.naam;
|
||||
}
|
||||
|
||||
function fAddDag(p){
|
||||
this.dagnr = p.dagnr;
|
||||
this.dag = p.dag
|
||||
this.minutenG = ko.observable(p.minutenG % 60);
|
||||
this.uurG = ko.observable((p.minutenG - this.minutenG()) / 60);
|
||||
this.minutenS = ko.observable(p.minutenS % 60);
|
||||
this.uurS = ko.observable((p.minutenS - this.minutenS()) / 60);
|
||||
this.minutenI = ko.observable(p.minutenI % 60);
|
||||
this.uurI = ko.observable((p.minutenI - this.minutenI() )/60);
|
||||
|
||||
}
|
||||
|
||||
if (mh.OndersteuningSOModel !== undefined){
|
||||
mh.OndersteuningSOModel.initModel();
|
||||
}
|
||||
else {
|
||||
mh.OndersteuningSOModel = {
|
||||
schoolid : ko.observable(null),
|
||||
schooljaarnr : ko.observable(null),
|
||||
groepen : ko.observableArray([]),
|
||||
selectedGroep : ko.observable(),
|
||||
dagen : ko.observableArray([]),
|
||||
writer : ko.observable(false),
|
||||
ondersteuning : ko.observable(true),
|
||||
// toonInvoer : ko.computed(function () {
|
||||
// return mh.OndersteuningSOModel.ondersteuning();
|
||||
// }),
|
||||
|
||||
initBindings :function(){
|
||||
var self = mh.OndersteuningSOModel;
|
||||
if (!ko.dataFor(document.getElementById('pagondersteuningso')) ) {
|
||||
ko.applyBindings(mh.OndersteuningSOModel, document.getElementById("pagondersteuningso"));
|
||||
}
|
||||
$.post("index.php/monpas/groepen/getwriter", function(writer){
|
||||
self.writer(writer);
|
||||
self.initModel();
|
||||
},'json');
|
||||
|
||||
},
|
||||
initModel: function(){
|
||||
var self = mh.OndersteuningSOModel;
|
||||
if (ls.MenuModel.selectedSchool()){
|
||||
self.schoolid(ls.MenuModel.selectedSchool().id);
|
||||
}
|
||||
if (ls.MenuModel.selectedSchooljaar()){
|
||||
self.schooljaarnr(ls.MenuModel.selectedSchooljaar().schooljaarnr);
|
||||
}
|
||||
$.post("index.php/monpas/ondersteuning/getgroepenso/" + self.schoolid()+
|
||||
'/' + self.schooljaarnr(), function(result){
|
||||
|
||||
self.groepen.removeAll();
|
||||
self.selectedGroep(null);
|
||||
self.dagen.removeAll();
|
||||
if (result.groepen){
|
||||
$.each(result.groepen, function(i,p){
|
||||
self.groepen.push(new fAddGroep(p));
|
||||
});//each
|
||||
self.selectedGroep(self.groepen()[0]);
|
||||
// self.fGetUren();
|
||||
}
|
||||
if(result.ondersteuning){
|
||||
if(result.ondersteuning == 'F'){
|
||||
self.ondersteuning(false);
|
||||
}
|
||||
else{
|
||||
self.ondersteuning();
|
||||
}
|
||||
}
|
||||
|
||||
},'json');
|
||||
|
||||
|
||||
},
|
||||
|
||||
fWijzigOndersteuning: function(){
|
||||
var self = mh.OndersteuningSOModel;
|
||||
self.ondersteuning(!self.ondersteuning());
|
||||
var middelen = 'T';
|
||||
if(!self.ondersteuning()){
|
||||
middelen = 'F';
|
||||
}
|
||||
var submitData = {
|
||||
'ondersteuning' : middelen,
|
||||
'orgid' : self.schoolid(),
|
||||
'schooljaar' : self.schooljaarnr(),
|
||||
}
|
||||
$.post("index.php/monpas/ondersteuning/saveondersteuning/", submitData, function(result){
|
||||
|
||||
},'json');
|
||||
|
||||
|
||||
|
||||
},
|
||||
|
||||
fGetUren : function(){
|
||||
var self = mh.OndersteuningSOModel;
|
||||
if (!self.selectedGroep()) return;
|
||||
$.post("index.php/monpas/ondersteuning/gettijden/" + self.selectedGroep().id, function(result){
|
||||
self.dagen.removeAll();
|
||||
if (result){
|
||||
$.each(result, function(i,p){
|
||||
self.dagen.push(new fAddDag(p));
|
||||
});
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
fSavetijd : function(wat,hoeveel){
|
||||
var self = mh.OndersteuningSOModel;
|
||||
var dit = this;
|
||||
var tijd = 0;
|
||||
var minuten, uur ;
|
||||
if (timeout){
|
||||
clearTimeout(timeout);
|
||||
timeout= null;
|
||||
}
|
||||
timeout = setTimeout(function(){
|
||||
switch (wat){
|
||||
case 'G': minuten =parseInt(dit.minutenG());
|
||||
if (!minuten) minuten =0;
|
||||
uur = parseInt(dit.uurG());
|
||||
if (!uur) uur= 0;
|
||||
if (uur > 24 || uur < 0) {
|
||||
ls.MsgAutoFade("Aantal uur moet tussen 0 en 24 vallen.", 1000);
|
||||
uur = 0;
|
||||
dit.uurG(0);
|
||||
}
|
||||
|
||||
tijd= minuten + (uur * 60);
|
||||
break;
|
||||
case 'S': minuten =parseInt(dit.minutenS());
|
||||
if (!minuten) minuten =0;
|
||||
uur = parseInt(dit.uurS());
|
||||
if (!uur) uur= 0;
|
||||
if (uur > 24 || uur < 0) {
|
||||
ls.MsgAutoFade("Aantal uur moet tussen 0 en 24 vallen.", 1000);
|
||||
uur = 0;
|
||||
dit.uurS(0);
|
||||
}
|
||||
|
||||
tijd= minuten + (uur * 60);
|
||||
break;
|
||||
case 'I': minuten =parseInt(dit.minutenI());
|
||||
if (!minuten) minuten =0;
|
||||
uur = parseInt(dit.uurI());
|
||||
if (!uur) uur= 0;
|
||||
if (uur > 24 || uur < 0) {
|
||||
ls.MsgAutoFade("Aantal uur moet tussen 0 en 24 vallen.", 1000);
|
||||
uur = 0;
|
||||
dit.uurI (0);
|
||||
}
|
||||
|
||||
tijd= minuten + (uur * 60);
|
||||
break;
|
||||
}
|
||||
var submitData={ orgid : ls.MenuModel.selectedSchool().id,
|
||||
groepid : self.selectedGroep().id,
|
||||
dagnr : dit.dagnr,
|
||||
soort : wat,
|
||||
minuten : tijd
|
||||
}
|
||||
$.post("index.php/monpas/ondersteuning/insertorupdatetijd", submitData);
|
||||
},500);
|
||||
}
|
||||
} ; // definition van model
|
||||
mh.OndersteuningSOModel.initBindings();
|
||||
}; // else
|
||||
}// function initOndersteuningModel
|
||||
});
|
||||
@@ -0,0 +1,227 @@
|
||||
$(function(){
|
||||
|
||||
ls.initColofonModel = function(){
|
||||
var timer;
|
||||
|
||||
function fAddSchoolgegevens(p){
|
||||
this.id = p.id;
|
||||
this.BGbrin = p.BGbrin;
|
||||
this.naam = ko.observable(p.naam);
|
||||
this.straat = ko.observable(p.straat);
|
||||
this.plaats = ko.observable(p.plaats);
|
||||
this.telefoon = ko.observable(p.telefoon);
|
||||
this.email1 = ko.observable(p.email1);
|
||||
this.web = ko.observable(p.web);
|
||||
this.directie = ko.observable(p.directie);
|
||||
this.ib = ko.observable(p.ib);
|
||||
this.email2 = ko.observable(p.email2);
|
||||
}
|
||||
|
||||
function fAddLeerkracht(p){
|
||||
this.id = p.id; //userid
|
||||
this.aanhef = ko.observable(p.aanhef);
|
||||
this.voornaam = ko.observable(p.voornaam);
|
||||
this.tussenvoegsel = ko.observable(p.tussenvoegsel);
|
||||
this.achternaam = ko.observable(p.achternaam);
|
||||
this.email = ko.observable(p.email);
|
||||
this.recht = p.nivo_id;
|
||||
}
|
||||
|
||||
if (ls.ColofonModel !== undefined){
|
||||
ls.ColofonModel.initModel();
|
||||
}
|
||||
else {
|
||||
ls.ColofonModel = {
|
||||
selectedSchool : ko.observable(),
|
||||
schoolgegevens : ko.observable(),
|
||||
aanhef : ko.observableArray([{id: 1, naam: 'Mevrouw'},
|
||||
{id:2, naam:"Mijnheer"}]),
|
||||
selectedAanhef : ko.observable(),
|
||||
leerkrachten : ko.observableArray([]),
|
||||
selectedLeerkracht : ko.observable(),
|
||||
editLK : ko.observable(),
|
||||
writer : ko.observable(false),
|
||||
|
||||
initBindings :function(){
|
||||
var self = ls.ColofonModel;
|
||||
if (!ko.dataFor(document.getElementById('bindColofon')) ) {
|
||||
ko.applyBindings(ls.ColofonModel, document.getElementById("bindColofon"));
|
||||
}
|
||||
|
||||
self.initModel();
|
||||
|
||||
},
|
||||
|
||||
initModel: function(){
|
||||
var self= ls.ColofonModel;
|
||||
self.selectedSchool(ls.MenuModel.selectedSchool());
|
||||
self.fChangeSchool();
|
||||
},
|
||||
|
||||
fCheckwrite: function(){
|
||||
var self= ls.ColofonModel;
|
||||
$.post("index.php/shared/autorisatienivos/getwriteautorisatie/" + self.selectedSchool().id, function(result){
|
||||
self.writer(result);
|
||||
},'json');
|
||||
},
|
||||
|
||||
fUpdateSchoolgegevens : function(){
|
||||
var self= ls.ColofonModel;
|
||||
if (timer){
|
||||
clearTimeout(timer);
|
||||
timeout = null;
|
||||
}
|
||||
timer = setTimeout(function(){
|
||||
var submitData={orgid : self.schoolgegevens().orgid,
|
||||
naam : self.schoolgegevens().naam(),
|
||||
detailsid : self.schoolgegevens().detailsid,
|
||||
straat : self.schoolgegevens().straat(),
|
||||
plaats : self.schoolgegevens().plaats(),
|
||||
telefoon : self.schoolgegevens().telefoon(),
|
||||
email1 : self.schoolgegevens().email1(),
|
||||
web : self.schoolgegevens().web(),
|
||||
directie : self.schoolgegevens().directie(),
|
||||
ib : self.schoolgegevens().ib(),
|
||||
email2 : self.schoolgegevens().email2() };
|
||||
|
||||
$.post("index.php/monpas/schoolgegevens/updatedetails",submitData, function(resultid){
|
||||
if (self.schoolgegevens().detailsid == null) self.schoolgegevens().detailsid = resultid;
|
||||
},'json');
|
||||
},700);
|
||||
},
|
||||
fChangeSchool:function(){
|
||||
var self = ls.ColofonModel;
|
||||
if ( !self.selectedSchool() || self.selectedSchool() == null ){
|
||||
self.schoolgegevens(null);
|
||||
self.leerkrachten.removeAll();
|
||||
return;
|
||||
}
|
||||
|
||||
$.post("index.php/monpas/schoolgegevens/getschool/" + self.selectedSchool().id , function(result){
|
||||
self.schoolgegevens({ orgid : null,
|
||||
brin : '',
|
||||
bgbrin: ko.observable(null),
|
||||
naam: ko.observable(''),
|
||||
detailsid: null,
|
||||
straat: ko.observable(),
|
||||
plaats: ko.observable(),
|
||||
telefoon: ko.observable(),
|
||||
email1: ko.observable(),
|
||||
web: ko.observable(),
|
||||
directie: ko.observable(),
|
||||
ib: ko.observable(),
|
||||
email2: ko.observable()
|
||||
}); // self schoolgegevens\
|
||||
if (result.org){
|
||||
self.schoolgegevens().orgid = result.org.id;
|
||||
self.schoolgegevens().brin = result.org.brin;
|
||||
self.schoolgegevens().bgbrin(result.org.bgbrin);
|
||||
self.schoolgegevens().naam(result.org.naam);
|
||||
}; // if result
|
||||
if (result.details){
|
||||
self.schoolgegevens().detailsid=result.details.id;
|
||||
self.schoolgegevens().straat(result.details.straat);
|
||||
self.schoolgegevens().plaats(result.details.plaats);
|
||||
self.schoolgegevens().telefoon(result.details.telefoon);
|
||||
self.schoolgegevens().email1(result.details.email1);
|
||||
self.schoolgegevens().web(result.details.web);
|
||||
self.schoolgegevens().directie(result.details.directie);
|
||||
self.schoolgegevens().ib(result.details.ib);
|
||||
self.schoolgegevens().email2(result.details.email2);
|
||||
}; // if result
|
||||
self.fGetLeerkrachten();
|
||||
self.fCheckwrite();
|
||||
},'json');
|
||||
},
|
||||
|
||||
fGetLeerkrachten: function(){
|
||||
var self = ls.ColofonModel;
|
||||
if (!self.selectedSchool()) return;
|
||||
$.post("index.php/monpas/schoolgegevens/getleerkrachten/" + self.selectedSchool().id, function(result){
|
||||
self.leerkrachten.removeAll();
|
||||
if (result){
|
||||
$.each(result, function(i,p){
|
||||
self.leerkrachten.push(new fAddLeerkracht(p));
|
||||
}); // each
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
fDeleteLeerkracht: function(){
|
||||
var self =ls.ColofonModel;
|
||||
var dit = this;
|
||||
apprise("Weet u zeker dat u " + this.achternaam() +" wilt verwijderen? " , {verify:true, textYes:'ja', textNo:'nee'},
|
||||
function(ans){
|
||||
if (ans){
|
||||
var sd = {userid : dit.id,
|
||||
schoolid :self.selectedSchool().id}
|
||||
|
||||
$.post("index.php/monpas/schoolgegevens/deleteleerkracht",sd, function(error){
|
||||
if (error > '') apprise(error)
|
||||
else self.leerkrachten.remove(dit);
|
||||
},'json');
|
||||
|
||||
}
|
||||
});//apprise
|
||||
},
|
||||
fEditLeerkracht: function(){
|
||||
var self = ls.ColofonModel;
|
||||
self.selectedLeerkracht(this);
|
||||
self.editLK({
|
||||
id : self.selectedLeerkracht().id,
|
||||
aanhef : ko.observable(self.selectedLeerkracht().aanhef()),
|
||||
voornaam : ko.observable(self.selectedLeerkracht().voornaam() ),
|
||||
tussenvoegsel : ko.observable(self.selectedLeerkracht().tussenvoegsel()),
|
||||
achternaam : ko.observable(self.selectedLeerkracht().achternaam()),
|
||||
email : ko.observable(self.selectedLeerkracht().email()),
|
||||
});
|
||||
$.each(self.aanhef(), function(i,p){
|
||||
if (p.id == self.editLK().aanhef()) {
|
||||
self.selectedAanhef(p);
|
||||
return false;
|
||||
}
|
||||
}); // each
|
||||
$("#modNewEditLeerkracht").modal('show');
|
||||
},
|
||||
fNewLeerkracht: function(){
|
||||
var self = ls.ColofonModel;
|
||||
self.selectedAanhef(self.aanhef()[0]);
|
||||
self.editLK({
|
||||
id : null,
|
||||
aanhef : ko.observable(1),
|
||||
voornaam : ko.observable(''),
|
||||
tussenvoegsel : ko.observable(''),
|
||||
achternaam : ko.observable(''),
|
||||
email : ko.observable(''),
|
||||
});
|
||||
$("#modNewEditLeerkracht").modal('show');
|
||||
},
|
||||
fUpdateLK: function(){
|
||||
var self = ls.ColofonModel;
|
||||
var submitData={ id : self.editLK().id,
|
||||
orgid : self.selectedSchool().id,
|
||||
aanhef : self.selectedAanhef().id,
|
||||
voornaam : self.editLK().voornaam(),
|
||||
tussenvoegsel : self.editLK().tussenvoegsel(),
|
||||
achternaam : self.editLK().achternaam(),
|
||||
email : self.editLK().email()};
|
||||
$.post("index.php/monpas/schoolgegevens/updateinsertLK", submitData, function(LK){
|
||||
if (LK){
|
||||
if (self.editLK().id == null){
|
||||
self.leerkrachten.push(new fAddLeerkracht(LK));
|
||||
}
|
||||
else {
|
||||
self.selectedLeerkracht().aanhef( self.selectedAanhef().id);
|
||||
self.selectedLeerkracht().voornaam (self.editLK().voornaam());
|
||||
self.selectedLeerkracht().tussenvoegsel(self.editLK().tussenvoegsel());
|
||||
self.selectedLeerkracht().achternaam(self.editLK().achternaam());
|
||||
self.selectedLeerkracht().email(self.editLK().email());
|
||||
}
|
||||
}
|
||||
$("#modNewEditLeerkracht").modal('hide');
|
||||
},'json');
|
||||
}
|
||||
} ; // definition van model
|
||||
ls.ColofonModel.initBindings();
|
||||
}; // else
|
||||
}// function initColofonModel
|
||||
});
|
||||
@@ -0,0 +1,296 @@
|
||||
$(function(){
|
||||
ls.initBestedingenModel = function(){
|
||||
var timeout;
|
||||
|
||||
function fAddKalenderjaar(p){
|
||||
this.jaarnr = p.jaarnr;
|
||||
this.naam = p.naam;
|
||||
}
|
||||
function fAddBedrag(p){
|
||||
this.id = p.id;
|
||||
this.bedrag = ko.observable(p.bedrag.replace('.', ','));
|
||||
this.fbedrag = ko.computed(function(){
|
||||
|
||||
invoer=String( this.bedrag());
|
||||
invoer= invoer.replace(',' , '.');
|
||||
invoer=parseFloat(invoer)
|
||||
invoer = Math.round(invoer * 100) / 100;
|
||||
return invoer.format(2,3,'.',',');
|
||||
|
||||
},this);
|
||||
this.soort = p.soort;
|
||||
this.omschrijving = ko.observable(p.omschrijving);
|
||||
this.labelnr = ko.observable(p.labelnr);
|
||||
}
|
||||
|
||||
|
||||
if (ls.BestedingenModel !== undefined){
|
||||
ls.BestedingenModel.initModel();
|
||||
}
|
||||
else {
|
||||
ls.BestedingenModel = {
|
||||
writer : ko.observable(false),
|
||||
// isschool : ko.observable(false),
|
||||
kalenderjaren : ko.observableArray([]),
|
||||
selectedKalenderjaar : ko.observable(),
|
||||
jaartoewijzing : ko.observable(),
|
||||
basis : ko.observableArray(),
|
||||
extra : ko.observableArray(),
|
||||
som : ko.observableArray(),
|
||||
overig : ko.observableArray(),
|
||||
bestemmingslabels : ko.observableArray(),
|
||||
selectedLabel : ko.observable(), // bestemmingssoort (thema, leerling, groepu)
|
||||
newOmschrijving : ko.observable(''),
|
||||
newBedrag : ko.observable(0),
|
||||
newOndersteuningSoort : ko.observable(0), //ondersteuningstype ( basis/extra/som/overig)
|
||||
soortnaam : ko.observable(''), // naam van het ondersteuningstype
|
||||
basisgeopend : ko.observable(false),
|
||||
extrageopend : ko.observable(false),
|
||||
somgeopend : ko.observable(false),
|
||||
overiggeopend : ko.observable(false),
|
||||
|
||||
totaalextra : ko.observable(),
|
||||
totaalsom : ko.observable(),
|
||||
totaaloverig : ko.observable(),
|
||||
|
||||
opmerking : ko.observable(''),
|
||||
jaarclosed : ko.observable(true),
|
||||
|
||||
initBindings :function(){
|
||||
var self = ls.BestedingenModel;
|
||||
|
||||
if (!ko.dataFor(document.getElementById('pagmonfinbestedingen')) ) {
|
||||
ko.applyBindings(ls.BestedingenModel, document.getElementById("pagmonfinbestedingen"));
|
||||
}
|
||||
$.post("index.php/monpas/monfinbestedingen/getconstants", function(result){
|
||||
self.writer(result.writer);
|
||||
if (result.kalenderjaren){
|
||||
$.each(result.kalenderjaren, function(i,p){
|
||||
self.kalenderjaren.push(new fAddKalenderjaar(p));
|
||||
}); // each
|
||||
self.selectedKalenderjaar(self.kalenderjaren()[0]);
|
||||
};
|
||||
self.bestemmingslabels(result.labels);
|
||||
},'json');
|
||||
self.initModel();
|
||||
},
|
||||
initModel: function(){
|
||||
var self = ls.BestedingenModel;
|
||||
self.fGetBestedingen();
|
||||
},
|
||||
fGetBestedingen: function(){
|
||||
var self = ls.BestedingenModel;
|
||||
if (!self.selectedKalenderjaar()) return;
|
||||
var sd ={jaarnr:self.selectedKalenderjaar().jaarnr}
|
||||
$.post("index.php/monpas/monfinbestedingen/getbestedingen", sd, function(data){
|
||||
if (data.jaartoewijzing){
|
||||
self.jaartoewijzing(data.jaartoewijzing);
|
||||
}
|
||||
else {self.jaartoewijzing(false);}
|
||||
self.jaarclosed(data.jaarclosed);
|
||||
self.basis.removeAll();
|
||||
self.extra.removeAll();
|
||||
self.som.removeAll();
|
||||
self.overig.removeAll();
|
||||
self.opmerking('');
|
||||
if (data.bestedingen){
|
||||
$.each(data.bestedingen, function(i,p){
|
||||
switch (parseInt(p.soort)){
|
||||
case 1: self.basis.push(new fAddBedrag(p)); break;
|
||||
case 2: self.extra.push(new fAddBedrag(p)); break;
|
||||
case 3: self.som.push(new fAddBedrag(p)); break;
|
||||
case 4: self.overig.push(new fAddBedrag(p)); break;
|
||||
}; // switch
|
||||
});// each
|
||||
};// if
|
||||
self.opmerking(data.opmerking);
|
||||
},'json');
|
||||
},
|
||||
fUpdateBedrag: function(){
|
||||
var self = ls.BestedingenModel;
|
||||
if (self.jaarclosed()) return;
|
||||
var dit = this;
|
||||
if (timeout){
|
||||
clearTimeout(timeout);
|
||||
timeout = null;
|
||||
}
|
||||
timeout = setTimeout(function(){
|
||||
invoer=String(dit.bedrag());
|
||||
invoer= invoer.replace(',' , '.');
|
||||
invoer=parseFloat(invoer)
|
||||
invoer = Math.round(invoer * 100) ;
|
||||
var sd = {id : dit.id,
|
||||
bedrag : invoer}
|
||||
$.post("index.php/monpas/monfinbestedingen/updatebedrag", sd);
|
||||
},600);
|
||||
},
|
||||
fDeleteBedrag: function(wat){
|
||||
var self =ls.BestedingenModel;
|
||||
if (self.jaarclosed()) return;
|
||||
var dit = this;
|
||||
apprise('Weet u zeker dat u <i>' + dit.omschrijving() + "</i> wilt verwijderen?", {verify:true, textYes: 'ja', textNo:'nee'},
|
||||
function(ans){
|
||||
if (ans){
|
||||
var sd ={id : dit.id}
|
||||
$.post("index.php/monpas/monfinbestedingen/deletebedrag", sd, function(){
|
||||
switch (wat){
|
||||
case 1: self.basis.remove(dit); break;
|
||||
case 2: self.extra.remove(dit); break;
|
||||
case 3: self.som.remove(dit); break;
|
||||
case 4: self.overig.remove(dit);break;
|
||||
}; // switch
|
||||
}); // post
|
||||
}
|
||||
}); // apprise
|
||||
},
|
||||
fUpdateOmschrijving: function(){
|
||||
var self =ls.BestedingenModel;
|
||||
if (self.jaarclosed()) return;
|
||||
var dit = this;
|
||||
if (timeout){
|
||||
clearTimeout(timeout);
|
||||
timeout = null;
|
||||
}
|
||||
timeout = setTimeout(function(){
|
||||
var sd = {id : dit.id,
|
||||
omschrijving: dit.omschrijving()}
|
||||
$.post("index.php/monpas/monfinbestedingen/updateomschrijving", sd);
|
||||
},500);
|
||||
},
|
||||
fUpdateLabel: function(){
|
||||
var self =ls.BestedingenModel;
|
||||
if (self.jaarclosed()) return;
|
||||
|
||||
var sd = { id : this.id,
|
||||
labelnr : this.labelnr()};
|
||||
$.post("index.php/monpas/monfinbestedingen/updatelabel", sd);
|
||||
},
|
||||
fNewBedrag: function(wat){
|
||||
var self = ls.BestedingenModel;
|
||||
if (self.jaarclosed()) return;
|
||||
|
||||
if (!self.selectedLabel()){
|
||||
self.selectedLabel(self.bestemmingslabels()[0]);
|
||||
};
|
||||
self.newOmschrijving('');
|
||||
self.newBedrag('');
|
||||
self.newOndersteuningSoort(wat);
|
||||
switch (wat){
|
||||
case 1: self.soortnaam('basisondersteuning'); break;
|
||||
case 2: self.soortnaam('extra ondersteuning'); break;
|
||||
case 3: self.soortnaam('ondersteuning'); break;
|
||||
case 4: self.soortnaam('overig'); break;
|
||||
}; // switch
|
||||
$("#modNewBedrag").modal('show');
|
||||
},
|
||||
fSaveNewBedrag:function(){
|
||||
var self = ls.BestedingenModel;
|
||||
if (self.jaarclosed()) return;
|
||||
|
||||
var invoer=String(self.newBedrag());
|
||||
invoer= invoer.replace(',' , '.');
|
||||
invoer=parseFloat(invoer)
|
||||
invoer = Math.round(invoer * 100) ;
|
||||
|
||||
var sd ={
|
||||
jaarnr : self.selectedKalenderjaar().jaarnr,
|
||||
soortondersteuning: self.newOndersteuningSoort(),
|
||||
omschrijving : self.newOmschrijving(),
|
||||
bedrag : invoer,
|
||||
labelnr : self.selectedLabel().labelnr}
|
||||
$.post("index.php/monpas/monfinbestedingen/insertbesteding", sd, function(result){
|
||||
switch(self.newOndersteuningSoort()){
|
||||
case 1: self.basis.unshift(new fAddBedrag(result)); break;
|
||||
case 2: self.extra.unshift(new fAddBedrag(result)); break;
|
||||
case 3: self. som.unshift(new fAddBedrag(result)); break;
|
||||
case 4: self.overig.unshift(new fAddBedrag(result)); break;
|
||||
}; // switch
|
||||
$("#modNewBedrag").modal('hide');
|
||||
},'json');
|
||||
},
|
||||
|
||||
fToggle: function(wat){
|
||||
switch(wat){
|
||||
case 1:this.basisgeopend(!this.basisgeopend()); break;
|
||||
case 2:this.extrageopend(!this.extrageopend()); break;
|
||||
case 3:this.somgeopend(!this.somgeopend()); break;
|
||||
case 4:this.overiggeopend(!this.overiggeopend()); break;
|
||||
};// switch
|
||||
},
|
||||
fSaveOpmerking: function(){
|
||||
var self= ls.BestedingenModel;
|
||||
if (self.jaarclosed()) return;
|
||||
if (timeout){
|
||||
clearTimeout(timeout);
|
||||
timeout = null;
|
||||
}
|
||||
timeout = setTimeout(function(){
|
||||
var sd = {jaarnr: self.selectedKalenderjaar().jaarnr ,
|
||||
opmerking: self.opmerking()}
|
||||
$.post("index.php/monpas/monfinbestedingen/saveopmerking", sd);
|
||||
},500);
|
||||
}
|
||||
} ; // definition van model
|
||||
|
||||
ls.BestedingenModel.totaalbasis = ko.computed(function(){
|
||||
var som =0;
|
||||
var invoer = 0;
|
||||
|
||||
$.each(this.basis(), function(i,p){
|
||||
invoer=String(p.bedrag());
|
||||
invoer= invoer.replace(',' , '.');
|
||||
invoer=parseFloat(invoer)
|
||||
invoer = Math.round(invoer * 100) / 100;
|
||||
som = som + invoer;
|
||||
})
|
||||
|
||||
return som.format(2,3,'.',',');
|
||||
},ls.BestedingenModel);
|
||||
ls.BestedingenModel.totaalextra = ko.computed(function(){
|
||||
var som =0;
|
||||
var invoer = 0;
|
||||
|
||||
$.each(this.extra(), function(i,p){
|
||||
invoer=String(p.bedrag());
|
||||
invoer= invoer.replace(',' , '.');
|
||||
invoer=parseFloat(invoer)
|
||||
invoer = Math.round(invoer * 100) / 100;
|
||||
som = som + invoer;
|
||||
})
|
||||
|
||||
return som.format(2,3,'.',',');
|
||||
},ls.BestedingenModel);
|
||||
|
||||
ls.BestedingenModel.totaalsom = ko.computed(function(){
|
||||
var som =0;
|
||||
var invoer = 0;
|
||||
|
||||
$.each(this.som(), function(i,p){
|
||||
invoer=String(p.bedrag());
|
||||
invoer= invoer.replace(',' , '.');
|
||||
invoer=parseFloat(invoer)
|
||||
invoer = Math.round(invoer * 100) / 100;
|
||||
som = som + invoer;
|
||||
})
|
||||
|
||||
return som.format(2,3,'.',',');
|
||||
},ls.BestedingenModel);
|
||||
ls.BestedingenModel.totaaloverig = ko.computed(function(){
|
||||
var som =0;
|
||||
var invoer = 0;
|
||||
|
||||
$.each(this.overig(), function(i,p){
|
||||
invoer=String(p.bedrag());
|
||||
invoer= invoer.replace(',' , '.');
|
||||
invoer=parseFloat(invoer)
|
||||
invoer = Math.round(invoer * 100) / 100;
|
||||
som = som + invoer;
|
||||
})
|
||||
|
||||
return som.format(2,3,'.',',');
|
||||
},ls.BestedingenModel);
|
||||
|
||||
ls.BestedingenModel.initBindings();
|
||||
}; // else
|
||||
}// function initBestedingenModel
|
||||
});
|
||||
@@ -0,0 +1,262 @@
|
||||
$(function(){
|
||||
|
||||
function fAddOrg(p, targetid){
|
||||
var dit = this;
|
||||
this.geopend = ko.observable(true);
|
||||
|
||||
this.id = p.id
|
||||
if (this.id !== undefined || this.id <=0) {this.geopend(false);}
|
||||
|
||||
this.fnaam = p.brin + ' - ' + p.naamkort;
|
||||
this.soort = p.soort
|
||||
this.suborgs = ko.observableArray([]);
|
||||
if (p.kamers){
|
||||
$.each(p.kamers, function(j,k){
|
||||
dit.suborgs.push(new fAddOrg(k,targetid));
|
||||
});
|
||||
}
|
||||
if (p.bgs){
|
||||
$.each(p.bgs, function(j,k){
|
||||
dit.suborgs.push(new fAddOrg(k,targetid));
|
||||
});
|
||||
}
|
||||
if (p.scholen){
|
||||
$.each(p.scholen, function(j,k){
|
||||
dit.suborgs.push(new fAddOrg(k,targetid));
|
||||
});
|
||||
}
|
||||
if (p.id == targetid){
|
||||
ls.MonfinBeheerModel.selectedOrg(this);
|
||||
}
|
||||
}
|
||||
function fAddBedrag(p){
|
||||
this.id = p.id
|
||||
this.kalenderjaar = p.naam;
|
||||
this.jaarnr = p.jaarnr;
|
||||
this.basisextra = ko.observable(p.basisextra);
|
||||
this.basisextravast = ko.observable(p.basisextravast);
|
||||
this.basis = ko.observable(p.basis);
|
||||
if (this.basis() >=0) this.basis(p.basis/100)
|
||||
else this.basis(0);
|
||||
|
||||
this.extra = ko.observable(p.extra);
|
||||
if (this.extra() >=0) this.extra(p.extra / 100)
|
||||
else this.extra(0);
|
||||
|
||||
this.som = ko.observable(p.som/100);
|
||||
|
||||
this.computedsom = ko.computed(function(){
|
||||
var basis = String(this.basis());
|
||||
basis = basis.replace(',' , '.');
|
||||
basis = parseFloat(basis);
|
||||
if (isNaN(basis)) basis =0 ;
|
||||
|
||||
var extra=String(this.extra());
|
||||
extra = extra.replace(',' , '.');
|
||||
extra = parseFloat(extra);
|
||||
if (isNaN(extra)) extra = 0;
|
||||
|
||||
var som= Math.round((basis + extra) * 100)/100;
|
||||
|
||||
if (som == "NaN") {return 0}
|
||||
else {return som.format(2,3,'.',',') }
|
||||
},this)
|
||||
|
||||
|
||||
|
||||
this.overig = ko.observable(p.overig);
|
||||
if (this.overig() >=0) this.overig(p.overig/100);
|
||||
|
||||
this.vastgelegd = ko.observable(p.vastgelegd);
|
||||
this.jaarclosed = ko.observable(true);
|
||||
if (p.jaarclosed == "F"){this.jaarclosed(false); }
|
||||
|
||||
this.screensom = ko.computed(function(){
|
||||
var ssom;
|
||||
if (this.basisextra() ==1){
|
||||
ssom=this.computedsom() }
|
||||
else { ssom = String(this.som());
|
||||
ssom = ssom.replace(',' , '.');
|
||||
ssom = parseFloat(ssom);
|
||||
if (isNaN(ssom)) ssom =0 ;
|
||||
ssom = ssom.format(2,3,'.',',');
|
||||
}
|
||||
return ssom
|
||||
},this)
|
||||
this.screenbasis = ko.computed(function(){
|
||||
var ssom = String(this.basis());
|
||||
ssom = ssom.replace(',' , '.');
|
||||
ssom = parseFloat(ssom);
|
||||
if (isNaN(ssom)) ssom =0 ;
|
||||
return ssom.format(2,3,'.',',');
|
||||
},this)
|
||||
this.screenextra = ko.computed(function(){
|
||||
var ssom = String(this.extra());
|
||||
ssom = ssom.replace(',' , '.');
|
||||
ssom = parseFloat(ssom);
|
||||
if (isNaN(ssom)) ssom =0 ;
|
||||
return ssom.format(2,3,'.',',');
|
||||
},this)
|
||||
this.screenoverig = ko.computed(function(){
|
||||
var ssom = String(this.overig());
|
||||
ssom = ssom.replace(',' , '.');
|
||||
ssom = parseFloat(ssom);
|
||||
if (isNaN(ssom)) ssom =0 ;
|
||||
return ssom.format(2,3,'.',',');
|
||||
},this)
|
||||
}
|
||||
|
||||
ls.initMonfinBeheerModel = function(){
|
||||
if (ls.MonfinBeheerModel !== undefined){
|
||||
ls.MonfinBeheerModel.initModel();
|
||||
}
|
||||
else {
|
||||
ls.MonfinBeheerModel = {
|
||||
orgs : ko.observableArray(),
|
||||
selectedOrg : ko.observable(),
|
||||
bedragen : ko.observableArray([]),
|
||||
|
||||
initBindings :function(){
|
||||
var self = ls.MonfinBeheerModel;
|
||||
if (!ko.dataFor(document.getElementById('pagmonfinbeheer')) ) {
|
||||
ko.applyBindings(ls.MonfinBeheerModel, document.getElementById("pagmonfinbeheer"));
|
||||
}
|
||||
|
||||
$.post("index.php/monpas/monfinbeheer/getorgs", function(result){
|
||||
self.orgs.removeAll();
|
||||
|
||||
if (result.structuur) {
|
||||
self.orgs.push(new fAddOrg(result.structuur,result.org.id));
|
||||
};
|
||||
if (self.selectedOrg()) {self.fGetBedragen();}
|
||||
},'json');
|
||||
},
|
||||
|
||||
initModel: function(){
|
||||
},
|
||||
|
||||
fToggle: function(){
|
||||
this.geopend(!this.geopend());
|
||||
},
|
||||
fSetSelected: function(){
|
||||
var self = ls.MonfinBeheerModel;
|
||||
self.selectedOrg(this);
|
||||
self.fGetBedragen()
|
||||
},
|
||||
fGetBedragen: function(){
|
||||
var self = ls.MonfinBeheerModel;
|
||||
if (!self.selectedOrg() ) return;
|
||||
$.post("index.php/monpas/monfinbeheer/getbedragen/"+ self.selectedOrg().id, function(result){
|
||||
self.bedragen.removeAll();
|
||||
if (result){
|
||||
$.each(result, function(i,p){
|
||||
self.bedragen.push(new fAddBedrag(p));
|
||||
}); // each
|
||||
}; // if
|
||||
},'json');
|
||||
},
|
||||
|
||||
fUpdatebedrag:function(wat){
|
||||
var self = ls.MonfinBeheerModel;
|
||||
var bedrag;
|
||||
var dit = this;
|
||||
if (dit.jaarclosed() ) return;
|
||||
|
||||
var sd = self.fMaakSubmitData(dit);
|
||||
|
||||
$.post("index.php/monpas/monfinbeheer/updateorinsert",sd,function(newid){
|
||||
if (newid)dit.id=newid;
|
||||
});
|
||||
},
|
||||
|
||||
fLegVast:function(){
|
||||
var self = ls.MonfinBeheerModel;
|
||||
var dit = this;
|
||||
if (dit.jaarclosed() ) return;
|
||||
|
||||
apprise("Weet u zeker dat u de toegewezen bedragen voor " +this.kalenderjaar + " wilt vastleggen? <br> U kunt dan geen wijzigingen meer aanbrengen.",
|
||||
{verify:true , textYes:'ja', textNo:'nee'}, function(ans){
|
||||
if (ans) {
|
||||
var sd =self.fMaakSubmitData(dit);
|
||||
$.post("index.php/monpas/monfinbeheer/legvast",sd,function(newid){
|
||||
if (newid) dit.id = newid;
|
||||
dit.vastgelegd(true);
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
fMaakSubmitData :function(dit){
|
||||
var self = ls.MonfinBeheerModel;
|
||||
var ssom;
|
||||
|
||||
var basis = String(dit.basis());
|
||||
if (basis == null) basis =0;
|
||||
var extra = String(dit.extra());
|
||||
if (extra == null) extra = 0;
|
||||
var overig =String(dit.overig());
|
||||
if (overig == null) overig = 0;
|
||||
var som = String(dit.som());
|
||||
if (som== null) som = 0;
|
||||
if (dit.basisextra()==1) ssom= parseFloat(basis.replace(',' , '.') ) * 100 + parseFloat(extra.replace(',' , '.')) * 100
|
||||
else ssom = parseFloat(som.replace(',' , '.' )) * 100
|
||||
var sd = {id : dit.id,
|
||||
orgid : self.selectedOrg().id,
|
||||
jaarnr : dit.jaarnr,
|
||||
basis : parseFloat(basis.replace(',' , '.') ) * 100,
|
||||
extra : parseFloat(extra.replace(',' , '.')) * 100,
|
||||
som : ssom,
|
||||
overig : parseFloat(overig.replace(',' ,'.')) * 100,
|
||||
basisextra : dit.basisextra()}
|
||||
return sd;
|
||||
},
|
||||
fLegBasisextravast : function(){
|
||||
var self = ls.MonfinBeheerModel;
|
||||
var dit = this;
|
||||
if (dit.jaarclosed() ) return;
|
||||
|
||||
if (!dit.basisextra() || dit.basisextra() == null) return;
|
||||
apprise('Weet u zeker dat u het onderscheid voor kalenderjaar ' + dit.kalenderjaar + " wilt vastleggen? <br> U kunt dit niet ongedaan maken.",
|
||||
{verify: true, textYes: 'ja', textNo: 'nee'}, function(ans){
|
||||
if (ans){
|
||||
var sd =self.fMaakSubmitData(dit);
|
||||
$.post('index.php/monpas/monfinbeheer/legbasisextravast', sd, function(newid){
|
||||
if (newid) dit.id=newid;
|
||||
dit.basisextravast(1);
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
fUpdateBE: function(){
|
||||
var self = ls.MonfinBeheerModel;
|
||||
var dit = this;
|
||||
if (dit.jaarclosed() ) return;
|
||||
|
||||
var sd =self.fMaakSubmitData(dit);
|
||||
$.post('index.php/monpas/monfinbeheer/savebasisextra', sd, function(newid){
|
||||
if (newid) dit.id=newid;
|
||||
});
|
||||
return true;
|
||||
},
|
||||
|
||||
fJaarAfsluiten: function(){
|
||||
var self = ls.MonfinBeheerModel;
|
||||
var dit = this;
|
||||
if (dit.jaarclosed() || !self.selectedOrg() || self.selectedOrg().soort !=1) return;
|
||||
|
||||
apprise("U gaat het jaar afsluiten voor alle organisaties. U kunt deze handeling niet ongedaan maken. <br> Weet u zeker dat u wilt doorgaan?",
|
||||
{verify:true, textYes:'ja', textNo:'nee'}, function(ans){
|
||||
if (ans){
|
||||
var sd ={jaarnr : dit.jaarnr,
|
||||
swv : self.selectedOrg().id }
|
||||
$.post('index.php/monpas/monfinbeheer/sluitjaaraf', sd, function(res){
|
||||
self.fGetBedragen
|
||||
});
|
||||
};// if ans
|
||||
}); // apprise
|
||||
}
|
||||
} ; // definition van model
|
||||
ls.MonfinBeheerModel.initBindings();
|
||||
}; // else
|
||||
}// function initMonfinBeheerModel
|
||||
});
|
||||
@@ -0,0 +1,213 @@
|
||||
$(function(){
|
||||
|
||||
|
||||
ls.initMonfinOverzichtModel = function(){
|
||||
if (ls.MonfinOverzichtModel !== undefined){
|
||||
ls.MonfinOverzichtModel.initModel();
|
||||
}
|
||||
else {
|
||||
ls.MonfinOverzichtModel = {
|
||||
orgs : ko.observableArray(),
|
||||
selectedOrg : ko.observable(),
|
||||
schoolbedragen : ko.observableArray([]),
|
||||
schooltotaal : ko.observable(''),
|
||||
kalenderjaren : ko.observableArray(),
|
||||
selectedKalenderjaar : ko.observable(),
|
||||
zelfjanee : ko.observable('1'),
|
||||
basisextra : ko.observable(true),
|
||||
borganisaties : ko.observableArray([]), //organisatiebudgetten en uitgaven
|
||||
sumarray : ko.observable(''),
|
||||
targetorg : ko.observable(''),
|
||||
grandtot : ko.observable(''),
|
||||
opmerking : ko.observable(''),
|
||||
|
||||
initBindings :function(){
|
||||
var self = ls.MonfinOverzichtModel;
|
||||
if (!ko.dataFor(document.getElementById('pagmonfinoverzicht')) ) {
|
||||
ko.applyBindings(ls.MonfinOverzichtModel, document.getElementById("pagmonfinoverzicht"));
|
||||
}
|
||||
$.post("index.php/monpas/monfinoverzicht/getkalenderjaren", function(data){
|
||||
self.kalenderjaren.removeAll();
|
||||
if (data){
|
||||
$.each(data, function(j,k){
|
||||
self.kalenderjaren.push(new fAddKalenderjaar(k));
|
||||
}); // each
|
||||
self.selectedKalenderjaar(self.kalenderjaren()[0]);
|
||||
}
|
||||
$.post("index.php/monpas/monfinbeheer/getorgs", function(result){
|
||||
self.orgs.removeAll();
|
||||
|
||||
if (result.structuur) {
|
||||
self.orgs.push(new fAddOrg(result.structuur,result.org.id));
|
||||
};
|
||||
if (self.selectedOrg()) {self.fGetBedragen();}
|
||||
},'json');
|
||||
},'json'); //getkalenderjaren
|
||||
},
|
||||
initModel: function(){
|
||||
var self = ls.MonfinOverzichtModel;
|
||||
self.fGetBedragen();
|
||||
},
|
||||
|
||||
fGetBedragen: function(){
|
||||
var self = ls.MonfinOverzichtModel;
|
||||
if (!self.selectedOrg() || !self.selectedKalenderjaar()) return;
|
||||
if (self.zelfjanee()==1 || self.selectedOrg().soort==4){
|
||||
var sd={orgid : self.selectedOrg().id,
|
||||
jaarnr : self.selectedKalenderjaar().jaarnr}
|
||||
$.post("index.php/monpas/monfinoverzicht/getschoolbedragen", sd, function(result){
|
||||
self.schoolbedragen.removeAll();
|
||||
self.schooltotaal( result.schooltotaal) ;
|
||||
if (result.sompersoort){
|
||||
$.each(result.sompersoort, function(i,p){
|
||||
self.schoolbedragen.push(new fAddBedrag(i,p));
|
||||
});// each
|
||||
}; // if
|
||||
self.opmerking(result.opmerking);
|
||||
},'json');
|
||||
} // if zelfjanee = true
|
||||
else{
|
||||
var sd={orgid : self.selectedOrg().id,
|
||||
jaarnr : self.selectedKalenderjaar().jaarnr}
|
||||
$.post("index.php/monpas/monfinoverzicht/getbestuursbedragen", sd, function(result){
|
||||
self.basisextra(result.basisextra);
|
||||
self.borganisaties.removeAll();
|
||||
if (result.organisaties){
|
||||
$.each(result.organisaties, function(i,p){
|
||||
self.borganisaties.push(new fAddBorganisatie(p));
|
||||
}); // each
|
||||
}; // if organisaties
|
||||
self.sumarray('');
|
||||
self.sumarray({basis : (parseFloat(result.sumarray.basisuit) / 100).format(0,3, '.' , ','),
|
||||
extra : (parseFloat(result.sumarray.extrauit) / 100).format(0,3, '.' , ','),
|
||||
besom : (parseFloat(result.sumarray.besomuit) / 100).format(0,3, '.' , ','),
|
||||
overig : (parseFloat(result.sumarray.overiguit) / 100).format(0,3, '.' , ','),
|
||||
totaal : (parseFloat(result.sumarray.totaaluit) / 100).format(0,3, '.' , ','),
|
||||
totaalbudget: (parseFloat(result.sumarray.totaalbudget) / 100).format(0,3, '.' , ','),
|
||||
verschil : (parseFloat(parseInt(result.sumarray.totaalbudget) - parseInt(result.sumarray.totaaluit)) / 100).format(0,3, '.' , ',')
|
||||
});
|
||||
self.targetorg('');
|
||||
self.targetorg(new fAddBorganisatie(result.targetorg));
|
||||
|
||||
self.grandtot('');
|
||||
self.grandtot({basis : (parseFloat(result.grandtot.basisuit) / 100).format(0,3, '.' , ','),
|
||||
extra : (parseFloat(result.grandtot.extrauit) / 100).format(0,3, '.' , ','),
|
||||
besom : (parseFloat(result.grandtot.besomuit) / 100).format(0,3, '.' , ','),
|
||||
overig : (parseFloat(result.grandtot.overiguit) / 100).format(0,3, '.' , ','),
|
||||
totaal : (parseFloat(result.grandtot.totaaluit) / 100).format(0,3, '.' , ','),
|
||||
totaalbudget: (parseFloat(result.grandtot.totaalbudget) / 100).format(0,3, '.' , ','),
|
||||
verschil : (parseFloat(result.grandtot.verschil) / 100).format(0,3, '.' , ',')
|
||||
});
|
||||
|
||||
},'json');
|
||||
}
|
||||
return true;
|
||||
},
|
||||
fToggle :function(){
|
||||
this.geopend(!this.geopend());
|
||||
},
|
||||
fSetSelected: function(){
|
||||
var self = ls.MonfinOverzichtModel;
|
||||
self.selectedOrg(this);
|
||||
self.fGetBedragen()
|
||||
},
|
||||
fMaakPDF: function(){
|
||||
var self = ls.MonfinOverzichtModel;
|
||||
if (!self.selectedOrg() || !self.selectedKalenderjaar()) {return;};
|
||||
if (self.selectedOrg().soort == 4 || self.zelfjanee() == 1){
|
||||
var orgtable = document.getElementById("mytesttable").outerHTML;
|
||||
}
|
||||
else{
|
||||
var orgtable=document.getElementById("suborgtable").outerHTML;
|
||||
}
|
||||
var data ={ orgnaam : self.selectedOrg().fnaam,
|
||||
kalenderjaar : self.selectedKalenderjaar().naam,
|
||||
orgtable : orgtable}
|
||||
data=JSON.stringify(data);
|
||||
var $form = $("<form method='post' action='index.php/monpas/monfinoverzicht/overzichtPDF' target='_blank'>").append($('<input type = "hidden" name="data" id ="data">').val(data) );
|
||||
$form.appendTo("body").submit();
|
||||
}
|
||||
} ; // definition van model
|
||||
ls.MonfinOverzichtModel.initBindings();
|
||||
}; // else
|
||||
|
||||
}// function initMonfinOverzichtModel
|
||||
|
||||
function fAddOrg(p, targetid){
|
||||
var dit = this;
|
||||
this.geopend = ko.observable(true);
|
||||
|
||||
this.id = p.id
|
||||
if (this.id !== undefined || this.id <=0) {this.geopend(false);}
|
||||
|
||||
this.fnaam = p.brin + ' - ' + p.naamkort;
|
||||
this.soort = p.soort
|
||||
this.suborgs = ko.observableArray([]);
|
||||
if (p.kamers){
|
||||
$.each(p.kamers, function(j,k){
|
||||
dit.suborgs.push(new fAddOrg(k,targetid));
|
||||
});
|
||||
}
|
||||
if (p.bgs){
|
||||
$.each(p.bgs, function(j,k){
|
||||
dit.suborgs.push(new fAddOrg(k,targetid));
|
||||
});
|
||||
}
|
||||
if (p.scholen){
|
||||
$.each(p.scholen, function(j,k){
|
||||
dit.suborgs.push(new fAddOrg(k,targetid));
|
||||
});
|
||||
}
|
||||
if (p.id == targetid){
|
||||
ls.MonfinOverzichtModel.selectedOrg(this);
|
||||
}
|
||||
}
|
||||
|
||||
function fAddKalenderjaar(p){
|
||||
this.jaarnr = p.jaarnr;
|
||||
this.naam = p.naam;
|
||||
}
|
||||
|
||||
function fAddBedrag(i,p){
|
||||
var dit = this;
|
||||
dit.soortbestemming= p.naam;
|
||||
|
||||
var verschil = parseFloat(p.budget) - parseFloat(p.totsoort);
|
||||
this.soorttotaal = (parseFloat(p.totsoort) / 100).format(2,3, '.' , ',');
|
||||
this.soortbudget = (parseFloat(p.budget)/ 100).format(2,3, '.' , ',');
|
||||
this.soortverschil = (verschil / 100).format(2,3, '.' , ',');
|
||||
this.labels = ko.observableArray([]);
|
||||
if (p.labels){
|
||||
$.each(p.labels, function(j,k){
|
||||
k.som=(parseFloat(k.som) / 100).format(2,3, '.' , ',')
|
||||
|
||||
if (k.details){
|
||||
$.each(k.details, function(teller, detail){
|
||||
detail.bedrag = (parseFloat(detail.bedrag) / 100).format(2,3, '.' , ',');
|
||||
}); //each
|
||||
}
|
||||
dit.labels.push( {k:k,
|
||||
geopend: ko.observable(false) });
|
||||
});
|
||||
}; // if p.labels
|
||||
}
|
||||
function fAddBorganisatie(p){
|
||||
this.naam = p.brin + ' ' + p.naamkort;
|
||||
this.basis = (parseFloat(p.bestedingen.basis) / 100).format(0,3, '.' , ',');
|
||||
this.extra = (parseFloat(p.bestedingen.extra) / 100).format(0,3, '.' , ',');
|
||||
this.besom = (parseFloat(p.bestedingen.besom) / 100).format(0,3, '.' , ',');
|
||||
this.overig = (parseFloat(p.bestedingen.overig) / 100).format(0,3, '.' , ',');
|
||||
this.totaal = (parseFloat(p.bestedingen.totaal) / 100).format(0,3, '.' , ',');
|
||||
|
||||
this.basisbudget = (parseFloat(p.budgetten.basis) / 100).format(0,3, '.' , ',');
|
||||
this.extrabudget = (parseFloat(p.budgetten.extra) / 100).format(0,3, '.' , ',');
|
||||
this.besombudget = (parseFloat(p.budgetten.som) / 100).format(0,3, '.' , ',');
|
||||
this.overigbudget = (parseFloat(p.budgetten.overig) / 100).format(0,3, '.' , ',');
|
||||
this.totaalbudget = (parseFloat(p.budgetten.totaal) / 100).format(0,3, '.' , ',');
|
||||
var verschil = 0;
|
||||
if (p.budgetten){
|
||||
verschil= parseInt(p.budgetten.totaal) - parseInt(p.bestedingen.totaal);
|
||||
}
|
||||
this.verschil = (parseFloat(verschil) / 100).format(0,3, '.' , ',');
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,227 @@
|
||||
$(function(){
|
||||
ls.initBestemmingenModel = function(){
|
||||
var timeout;
|
||||
|
||||
function fAddKalenderjaar(p){
|
||||
this.jaarnr = p.jaarnr;
|
||||
this.naam = p.naam;
|
||||
}
|
||||
|
||||
function fAddBasissoort(k){
|
||||
var dit = this;
|
||||
this.soortID = k.soortID
|
||||
this.naam = k.naam
|
||||
this.subsoorten = ko.observableArray([]);
|
||||
if (k.subsoorten){
|
||||
$.each(k.subsoorten, function(a,b){
|
||||
dit.subsoorten.push(new fAddSubsoort(b, k.categorie));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function fAddSubsoort(p,categorie){
|
||||
var dit = dit;
|
||||
this.subsoortID = p.subsoortID;
|
||||
this.naam = p.naam;
|
||||
this.categorie = categorie
|
||||
this.uitgavetypes = ko.observableArray()
|
||||
var dit = this;
|
||||
if (p.uitgavetypes){
|
||||
$.each(p.uitgavetypes, function(i,k){
|
||||
dit.uitgavetypes.push(new fAddUitgavetype(k));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function fAddUitgavetype(k){
|
||||
this.finbestemmingID = k.id
|
||||
this.code = k.code
|
||||
this.bedrag = ko.observable(k.bedrag);
|
||||
this.formatted = ko.observable(parseFloat(k.bedrag).format(2,3,'.',','));
|
||||
if (parseFloat(k.bedrag) <= 0) this.formatted('');
|
||||
}
|
||||
|
||||
|
||||
if (ls.BestemmingenModel !== undefined){
|
||||
ls.BestemmingenModel.initModel();
|
||||
}
|
||||
else {
|
||||
ls.BestemmingenModel = {
|
||||
writer : ko.observable(false),
|
||||
kalenderjaren : ko.observableArray([]),
|
||||
selectedKalenderjaar : ko.observable(),
|
||||
jaartoewijzing : ko.observable(),
|
||||
targetjaar : ko.observable(2017), //het jaar waarin met moet werken
|
||||
uitgavetypes : ko.observableArray(),
|
||||
|
||||
basissoorten : ko.observableArray(),
|
||||
extrasoorten : ko.observableArray(),
|
||||
|
||||
opmerking : ko.observable(''),
|
||||
jaarclosed : ko.observable(true),
|
||||
bezig : ko.observable(false),
|
||||
basisgeopend : ko.observable(false),
|
||||
extrageopend : ko.observable(false),
|
||||
|
||||
totaalextra : ko.observable(),
|
||||
totaalbasis : ko.observable(),
|
||||
|
||||
initBindings :function(){
|
||||
var self = ls.BestemmingenModel;
|
||||
|
||||
if (!ko.dataFor(document.getElementById('pagmonfinbestemmingen2')) ) {
|
||||
ko.applyBindings(ls.BestemmingenModel, document.getElementById("pagmonfinbestemmingen2"));
|
||||
}
|
||||
$.post("index.php/monfin2/bestemmingen/getconstants", function(result){
|
||||
self.writer(result.writer);
|
||||
if (result.kalenderjaren){
|
||||
$.each(result.kalenderjaren, function(i,p){
|
||||
self.kalenderjaren.push(new fAddKalenderjaar(p));
|
||||
}); // each
|
||||
self.selectedKalenderjaar(self.kalenderjaren()[0]);
|
||||
self.targetjaar(result.targetjaar);
|
||||
};
|
||||
},'json');
|
||||
$.post("index.php/monfin2/bestemmingen/getUitgavetypes", function(result){
|
||||
self.uitgavetypes.removeAll();
|
||||
self.uitgavetypes(result);
|
||||
self.initModel();
|
||||
},'json');
|
||||
},
|
||||
|
||||
initModel: function(){
|
||||
var self = ls.BestemmingenModel;
|
||||
},
|
||||
fGetAllBestemmingen: function(){
|
||||
var self = ls.BestemmingenModel;
|
||||
if (!self.selectedKalenderjaar()) return;
|
||||
self.fGetBestemmingen();
|
||||
},
|
||||
|
||||
fGetBestemmingen: function(){
|
||||
var self = ls.BestemmingenModel;
|
||||
if (!self.selectedKalenderjaar()) return;
|
||||
var sd ={jaarnr:self.selectedKalenderjaar().jaarnr}
|
||||
$.post("index.php/monfin2/bestemmingen/getBestemmingen", sd, function(data){
|
||||
if (data.jaartoewijzing){
|
||||
self.jaartoewijzing(data.jaartoewijzing);
|
||||
}
|
||||
else {self.jaartoewijzing(false);}
|
||||
self.jaarclosed(data.jaarclosed);
|
||||
|
||||
self.basissoorten.removeAll();
|
||||
if (data.basisbestemmingen){
|
||||
$.each(data.basisbestemmingen,function(j,k){
|
||||
self.basissoorten.push(new fAddBasissoort(k));
|
||||
});
|
||||
}
|
||||
self.extrasoorten.removeAll();
|
||||
if (data.extrabestemmingen){
|
||||
$.each(data.extrabestemmingen,function(j,k){
|
||||
self.extrasoorten.push(new fAddBasissoort(k));
|
||||
});
|
||||
}
|
||||
|
||||
self.opmerking(data.opmerking);
|
||||
},'json');
|
||||
},
|
||||
|
||||
fSaveBedrag:function(){
|
||||
var self = ls.BestemmingenModel;
|
||||
if (self.jaarclosed()) return;
|
||||
var dit = this;
|
||||
|
||||
invoer = dit.formatted();
|
||||
if (invoer <= '' || ! invoer) invoer = '0'
|
||||
invoer = invoer.split('.').join('');
|
||||
invoer= invoer.replace(',' , '.');
|
||||
|
||||
if (isNaN( parseFloat(invoer) ) ) {
|
||||
invoer =0;
|
||||
}
|
||||
else {
|
||||
invoer=parseFloat(invoer)
|
||||
}
|
||||
|
||||
dit.formatted(parseFloat(invoer).format(2,3,'.',','));
|
||||
if (invoer <= 0) dit.formatted('');
|
||||
dit.bedrag(invoer);
|
||||
|
||||
invoer = Math.round(invoer * 100) ;
|
||||
var sd = {id : dit.finbestemmingID,
|
||||
bedrag : invoer}
|
||||
$.post("index.php/monfin2/bestemmingen/updatebedrag", sd);
|
||||
},
|
||||
|
||||
fToggle: function(wat){
|
||||
switch(wat){
|
||||
case 1:this.basisgeopend(!this.basisgeopend()); break;
|
||||
case 2:this.extrageopend(!this.extrageopend()); break;
|
||||
};// switch
|
||||
},
|
||||
|
||||
fSaveOpmerking: function(){
|
||||
var self= ls.BestemmingenModel;
|
||||
if (self.jaarclosed()) return;
|
||||
if (timeout){
|
||||
clearTimeout(timeout);
|
||||
timeout = null;
|
||||
}
|
||||
timeout = setTimeout(function(){
|
||||
var sd = {jaarnr: self.selectedKalenderjaar().jaarnr ,
|
||||
opmerking: self.opmerking()}
|
||||
$.post("index.php/monfin2/bestemmingen/saveopmerking", sd);
|
||||
},500);
|
||||
}
|
||||
} ; // definition van model
|
||||
|
||||
ls.BestemmingenModel.totaalbasis = ko.computed(function(){
|
||||
var som =0;
|
||||
var invoer = 0;
|
||||
if (this.basissoorten()) {
|
||||
$.each(this.basissoorten(), function(i,p){
|
||||
if (p.subsoorten()) {
|
||||
$.each(p.subsoorten(), function(a,b){
|
||||
$.each(b.uitgavetypes(), function(o,s){
|
||||
invoer=String(s.bedrag());
|
||||
invoer= invoer.replace(',' , '');
|
||||
if (! isNaN(invoer) ) {
|
||||
invoer=parseFloat(invoer)
|
||||
invoer = Math.round(invoer * 100) / 100;
|
||||
som = som + invoer;
|
||||
}
|
||||
}); // each uitgavetypes
|
||||
}); // each subsoorten
|
||||
} // if subsoorten
|
||||
}) // each soorten
|
||||
} // if basissoorten
|
||||
return som.format(2,3,'.',',');
|
||||
},ls.BestemmingenModel);
|
||||
|
||||
ls.BestemmingenModel.totaalextra = ko.computed(function(){
|
||||
var som =0;
|
||||
var invoer = 0;
|
||||
if (this.extrasoorten()) {
|
||||
$.each(this.extrasoorten(), function(i,p){
|
||||
if (p.subsoorten()) {
|
||||
$.each(p.subsoorten(), function(a,b){
|
||||
$.each(b.uitgavetypes(), function(o,s){
|
||||
invoer=String(s.bedrag());
|
||||
invoer= invoer.replace(',' , '');
|
||||
if (! isNaN(invoer) ) {
|
||||
invoer=parseFloat(invoer)
|
||||
invoer = Math.round(invoer * 100) / 100;
|
||||
som = som + invoer;
|
||||
}
|
||||
}); // each uitgavetypes
|
||||
}); // each subsoorten
|
||||
} // if subsoorten
|
||||
}) // each soorten
|
||||
} // if basissoorten
|
||||
return som.format(2,3,'.',',');
|
||||
},ls.BestemmingenModel);
|
||||
|
||||
ls.BestemmingenModel.initBindings();
|
||||
}; // else
|
||||
} // function initBestemmingenModel
|
||||
});
|
||||
@@ -0,0 +1,196 @@
|
||||
$(function(){
|
||||
|
||||
function fAddOrg(p, targetid){
|
||||
var dit = this;
|
||||
this.geopend = ko.observable(true);
|
||||
|
||||
this.id = p.id
|
||||
if (this.id !== undefined || this.id <=0) {this.geopend(false);}
|
||||
|
||||
this.fnaam = p.brin + ' - ' + p.naamkort;
|
||||
this.soort = p.soort
|
||||
this.suborgs = ko.observableArray([]);
|
||||
if (p.kamers){
|
||||
$.each(p.kamers, function(j,k){
|
||||
dit.suborgs.push(new fAddOrg(k,targetid));
|
||||
});
|
||||
}
|
||||
if (p.bgs){
|
||||
$.each(p.bgs, function(j,k){
|
||||
dit.suborgs.push(new fAddOrg(k,targetid));
|
||||
});
|
||||
}
|
||||
if (p.scholen){
|
||||
$.each(p.scholen, function(j,k){
|
||||
dit.suborgs.push(new fAddOrg(k,targetid));
|
||||
});
|
||||
}
|
||||
if (p.id == targetid){
|
||||
ls.MonfinBeheer2Model.selectedOrg(this);
|
||||
}
|
||||
}
|
||||
function fAddBedrag(p){
|
||||
this.id = p.id
|
||||
this.kalenderjaar = p.naam;
|
||||
this.jaarnr = p.jaarnr;
|
||||
this.basis = ko.observable(p.basis);
|
||||
if (this.basis() >=0) this.basis(p.basis/100)
|
||||
else this.basis(0);
|
||||
|
||||
this.extra = ko.observable(p.extra);
|
||||
if (this.extra() >=0) this.extra(p.extra / 100)
|
||||
else this.extra(0);
|
||||
|
||||
this.vastgelegd = ko.observable(p.vastgelegd);
|
||||
|
||||
this.jaarclosed = ko.observable(true);
|
||||
if (p.jaarclosed == "F"){this.jaarclosed(false); }
|
||||
|
||||
this.screenbasis = ko.computed(function(){
|
||||
var ssom = String(this.basis());
|
||||
ssom = ssom.replace(',' , '.');
|
||||
ssom = parseFloat(ssom);
|
||||
if (isNaN(ssom)) ssom =0 ;
|
||||
return ssom.format(2,3,'.',',');
|
||||
},this)
|
||||
this.screenextra = ko.computed(function(){
|
||||
var ssom = String(this.extra());
|
||||
ssom = ssom.replace(',' , '.');
|
||||
ssom = parseFloat(ssom);
|
||||
if (isNaN(ssom)) ssom =0 ;
|
||||
return ssom.format(2,3,'.',',');
|
||||
},this)
|
||||
|
||||
}
|
||||
|
||||
ls.initMonfinBeheer2Model = function(){
|
||||
if (ls.MonfinBeheer2Model !== undefined){
|
||||
ls.MonfinBeheer2Model.initModel();
|
||||
}
|
||||
else {
|
||||
ls.MonfinBeheer2Model = {
|
||||
orgs : ko.observableArray(),
|
||||
selectedOrg : ko.observable(),
|
||||
bedragen : ko.observableArray([]),
|
||||
magwijzig : ko.observable(false),
|
||||
|
||||
initBindings :function(){
|
||||
var self = ls.MonfinBeheer2Model;
|
||||
if (!ko.dataFor(document.getElementById('pagmonfinbeheer2')) ) {
|
||||
ko.applyBindings(ls.MonfinBeheer2Model, document.getElementById("pagmonfinbeheer2"));
|
||||
}
|
||||
|
||||
$.post("index.php/monpas/monfinbeheer/getorgs", function(result){
|
||||
self.orgs.removeAll();
|
||||
|
||||
if (result.structuur) {
|
||||
self.orgs.push(new fAddOrg(result.structuur,result.org.id));
|
||||
};
|
||||
if (self.selectedOrg()) {self.fGetBedragen();}
|
||||
self.magwijzig(result.magwijzig);
|
||||
},'json');
|
||||
},
|
||||
|
||||
initModel: function(){
|
||||
},
|
||||
|
||||
fToggle: function(){
|
||||
this.geopend(!this.geopend());
|
||||
},
|
||||
fSetSelected: function(){
|
||||
var self = ls.MonfinBeheer2Model;
|
||||
self.selectedOrg(this);
|
||||
self.fGetBedragen()
|
||||
},
|
||||
fGetBedragen: function(){
|
||||
var self = ls.MonfinBeheer2Model;
|
||||
if (!self.selectedOrg() ) return;
|
||||
$.post("index.php/monpas/monfinbeheer/getbedragen/"+ self.selectedOrg().id, function(result){
|
||||
self.bedragen.removeAll();
|
||||
if (result){
|
||||
$.each(result, function(i,p){
|
||||
self.bedragen.push(new fAddBedrag(p));
|
||||
}); // each
|
||||
}; // if
|
||||
},'json');
|
||||
},
|
||||
|
||||
fUpdatebedrag:function(wat){
|
||||
var self = ls.MonfinBeheer2Model;
|
||||
var bedrag;
|
||||
var dit = this;
|
||||
if (dit.jaarclosed() ) return;
|
||||
|
||||
var sd = self.fMaakSubmitData(dit);
|
||||
|
||||
$.post("index.php/monpas/monfinbeheer/updateorinsert",sd,function(newid){
|
||||
if (newid)dit.id=newid;
|
||||
});
|
||||
},
|
||||
|
||||
fLegVast:function(){
|
||||
var self = ls.MonfinBeheer2Model;
|
||||
var dit = this;
|
||||
if (dit.jaarclosed() ) return;
|
||||
|
||||
apprise("Weet u zeker dat u de toegewezen bedragen voor " +this.kalenderjaar + " wilt vastleggen? <br> U kunt dan geen wijzigingen meer aanbrengen.",
|
||||
{verify:true , textYes:'ja', textNo:'nee'}, function(ans){
|
||||
if (ans) {
|
||||
var sd =self.fMaakSubmitData(dit);
|
||||
$.post("index.php/monpas/monfinbeheer/legvast",sd,function(newid){
|
||||
if (newid) dit.id = newid;
|
||||
dit.vastgelegd(1);
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
fMaakSubmitData :function(dit){
|
||||
var self = ls.MonfinBeheer2Model;
|
||||
var ssom;
|
||||
|
||||
var basis = String(dit.basis());
|
||||
if (basis == null) basis =0;
|
||||
var extra = String(dit.extra());
|
||||
if (extra == null) extra = 0;
|
||||
var sd = {id : dit.id,
|
||||
orgid : self.selectedOrg().id,
|
||||
jaarnr : dit.jaarnr,
|
||||
basis : parseFloat(basis.replace(',' , '.') ) * 100,
|
||||
extra : parseFloat(extra.replace(',' , '.')) * 100
|
||||
}
|
||||
return sd;
|
||||
},
|
||||
|
||||
fUpdateBE: function(){
|
||||
var self = ls.MonfinBeheer2Model;
|
||||
var dit = this;
|
||||
if (dit.jaarclosed() ) return;
|
||||
|
||||
var sd =self.fMaakSubmitData(dit);
|
||||
$.post('index.php/monpas/monfinbeheer/savebasisextra', sd, function(newid){
|
||||
if (newid) dit.id=newid;
|
||||
});
|
||||
return true;
|
||||
},
|
||||
|
||||
fJaarAfsluiten: function(){
|
||||
var self = ls.MonfinBeheer2Model;
|
||||
var dit = this;
|
||||
if (dit.jaarclosed() || !self.selectedOrg() || self.selectedOrg().soort !=1) return;
|
||||
|
||||
apprise("U gaat het jaar afsluiten voor alle organisaties. U kunt deze handeling niet ongedaan maken. <br> Weet u zeker dat u wilt doorgaan?",
|
||||
{verify:true, textYes:'ja', textNo:'nee'}, function(ans){
|
||||
if (ans){
|
||||
var sd ={jaarnr : dit.jaarnr,
|
||||
swv : self.selectedOrg().id }
|
||||
$.post('index.php/monpas/monfinbeheer/sluitjaaraf', sd, function(res){
|
||||
self.fGetBedragen
|
||||
});
|
||||
};// if ans
|
||||
}); // apprise
|
||||
}
|
||||
} ; // definition van model
|
||||
ls.MonfinBeheer2Model.initBindings();
|
||||
}; // else
|
||||
}// function initMonfinBeheer2Model
|
||||
});
|
||||
@@ -0,0 +1,202 @@
|
||||
$(function(){
|
||||
|
||||
ls.initMonfinOverzicht2Model = function(){
|
||||
|
||||
function fAddOrg(p, targetid){
|
||||
var dit = this;
|
||||
this.geopend = ko.observable(true);
|
||||
|
||||
this.id = p.id
|
||||
if (this.id !== undefined || this.id <=0) {this.geopend(false);}
|
||||
|
||||
this.fnaam = p.brin + ' - ' + p.naamkort;
|
||||
this.soort = p.soort
|
||||
this.suborgs = ko.observableArray([]);
|
||||
if (p.kamers){
|
||||
$.each(p.kamers, function(j,k){
|
||||
dit.suborgs.push(new fAddOrg(k,targetid));
|
||||
});
|
||||
}
|
||||
if (p.bgs){
|
||||
$.each(p.bgs, function(j,k){
|
||||
dit.suborgs.push(new fAddOrg(k,targetid));
|
||||
});
|
||||
}
|
||||
if (p.scholen){
|
||||
$.each(p.scholen, function(j,k){
|
||||
dit.suborgs.push(new fAddOrg(k,targetid));
|
||||
});
|
||||
}
|
||||
if (p.id == targetid){
|
||||
ls.MonfinOverzicht2Model.selectedOrg(this);
|
||||
}
|
||||
}
|
||||
|
||||
function fAddKalenderjaar(p){
|
||||
this.jaarnr = p.jaarnr;
|
||||
this.naam = p.naam;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (ls.MonfinOverzicht2Model !== undefined){
|
||||
ls.MonfinOverzicht2Model.initModel();
|
||||
}
|
||||
else {
|
||||
ls.MonfinOverzicht2Model = {
|
||||
|
||||
orgs : ko.observableArray(),
|
||||
selectedOrg : ko.observable(),
|
||||
targetOrg : ko.observable(),
|
||||
otherOrgs : ko.observableArray(),
|
||||
pmsTargetOrg : ko.observable(),
|
||||
otherPMSOrgs : ko.observableArray(),
|
||||
sumotherPMS : ko.observableArray(),
|
||||
sumtotPMS : ko.observableArray(),
|
||||
|
||||
subTot : ko.observable(),
|
||||
grandTot : ko.observable(),
|
||||
//schoolbedragen : ko.observableArray([]),
|
||||
schooltotaal : ko.observable(''),
|
||||
kalenderjaren : ko.observableArray(),
|
||||
selectedKalenderjaar : ko.observable(),
|
||||
zelfjanee : ko.observable('1'),
|
||||
opmerking : ko.observable(),
|
||||
|
||||
uitgavetypes : ko.observableArray(),
|
||||
basis : ko.observableArray(),
|
||||
extra : ko.observableArray(),
|
||||
sombasisperuitgavetype : ko.observableArray(),
|
||||
somextraperuitgavetype : ko.observableArray(),
|
||||
totsomperuitgavetype : ko.observableArray(),
|
||||
basisgeopend : ko.observable(false),
|
||||
extrageopend : ko.observable(false),
|
||||
budgetten : ko.observableArray(),
|
||||
|
||||
initBindings :function(){
|
||||
var self = ls.MonfinOverzicht2Model;
|
||||
if (!ko.dataFor(document.getElementById('pagmonfinoverzicht2')) ) {
|
||||
ko.applyBindings(ls.MonfinOverzicht2Model, document.getElementById("pagmonfinoverzicht2"));
|
||||
}
|
||||
$.post("index.php/monpas/monfinoverzicht/getkalenderjarenMetMax", function(data){
|
||||
self.kalenderjaren.removeAll();
|
||||
if (data){
|
||||
$.each(data, function(j,k){
|
||||
self.kalenderjaren.push(new fAddKalenderjaar(k));
|
||||
}); // each
|
||||
self.selectedKalenderjaar(self.kalenderjaren()[0]);
|
||||
}
|
||||
$.post("index.php/monpas/monfinbeheer/getorgs", function(result){
|
||||
self.orgs.removeAll();
|
||||
|
||||
if (result.structuur) {
|
||||
self.orgs.push(new fAddOrg(result.structuur,result.org.id));
|
||||
};
|
||||
if (self.selectedOrg()) {self.fGetBedragen();}
|
||||
},'json');
|
||||
},'json'); //getkalenderjaren
|
||||
|
||||
},
|
||||
initModel: function(){
|
||||
var self = ls.MonfinOverzicht2Model;
|
||||
self.fGetBedragen();
|
||||
},
|
||||
|
||||
fGetBedragen: function(){
|
||||
var self = ls.MonfinOverzicht2Model;
|
||||
if (!self.selectedOrg() || !self.selectedKalenderjaar()) return;
|
||||
if (self.selectedOrg().soort == 4) { self.zelfjanee('1');};
|
||||
|
||||
if (self.zelfjanee()==1 || self.selectedOrg().soort==4){
|
||||
var sd={orgid : self.selectedOrg().id,
|
||||
jaarnr : self.selectedKalenderjaar().jaarnr}
|
||||
$.post("index.php/monfin2/monfin2overzicht/getschoolbedragen", sd, function(result){
|
||||
self.schooltotaal( result.schooltotaal) ;
|
||||
self.uitgavetypes(result.uitgavetypes);
|
||||
|
||||
self.basis(result.basis);
|
||||
self.extra(result.extra);
|
||||
self.sombasisperuitgavetype(result.sombasisperuitgavetype);
|
||||
self.somextraperuitgavetype(result.somextraperuitgavetype);
|
||||
self.totsomperuitgavetype(result.totsomperuitgavetype);
|
||||
|
||||
self.budgetten(result.budgetten);
|
||||
self.opmerking(result.opmerking);
|
||||
},'json');
|
||||
} // if zelfjanee = true
|
||||
|
||||
else{
|
||||
if (self.zelfjanee() == 0 ){
|
||||
var sd={orgid : self.selectedOrg().id,
|
||||
jaarnr : self.selectedKalenderjaar().jaarnr}
|
||||
$.post("index.php/monfin2/monfin2overzicht/getbestuursbedragen", sd, function(result){
|
||||
|
||||
self.otherOrgs.removeAll();
|
||||
self.otherOrgs(result.others);
|
||||
self.subTot(result.subtot);
|
||||
self.grandTot(result.grandtot);
|
||||
self.targetOrg(result.targetorg);
|
||||
},'json');
|
||||
} else if ( self.zelfjanee() ==3){
|
||||
var sd={orgid : self.selectedOrg().id,
|
||||
jaarnr : self.selectedKalenderjaar().jaarnr,
|
||||
zelfjanee : self.zelfjanee()}
|
||||
$.post("index.php/monfin2/monfin2overzicht/getschoolbedragenNieuw", sd, function(result){
|
||||
self.schooltotaal( result.schooltotaal) ;
|
||||
self.uitgavetypes(result.uitgavetypes);
|
||||
|
||||
self.basis(result.basis);
|
||||
self.extra(result.extra);
|
||||
self.sombasisperuitgavetype(result.sombasisperuitgavetype);
|
||||
self.somextraperuitgavetype(result.somextraperuitgavetype);
|
||||
self.totsomperuitgavetype(result.totsomperuitgavetype);
|
||||
|
||||
self.budgetten(result.budgetten);
|
||||
self.opmerking(result.opmerking);
|
||||
},'json');
|
||||
} else {
|
||||
var sd={orgid : self.selectedOrg().id,
|
||||
jaarnr : self.selectedKalenderjaar().jaarnr}
|
||||
$.post("index.php/monfin2/monfin2overzicht/getbestuurperuitgavetype", sd, function(result){
|
||||
self.pmsTargetOrg(result.targetorg);
|
||||
self.otherPMSOrgs(result.otherorgs);
|
||||
self.sumotherPMS(result.sumother);
|
||||
self.sumtotPMS(result.sumtot);
|
||||
},'json');
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
return true;
|
||||
},
|
||||
fMaakPDF : function(){
|
||||
var self = ls.MonfinOverzicht2Model;
|
||||
var data = {html : $("#finoverzichtpage").html(),
|
||||
jaar : self.selectedKalenderjaar().naam,
|
||||
org : self.selectedOrg().fnaam,
|
||||
soort : self.zelfjanee()}
|
||||
data=JSON.stringify(data);
|
||||
var $form = $("<form method='post' action='index.php/monfin2/monfin2overzicht/PdfFinancien' target='_blank'>").append($('<input type = "hidden" name="data" id ="data">').val(data) );
|
||||
$form.appendTo("body").submit();
|
||||
},
|
||||
|
||||
fToggle: function(wat){
|
||||
var self = ls.MonfinOverzicht2Model;
|
||||
switch (wat){
|
||||
case "BASIS" : self.basisgeopend(! self.basisgeopend()); break;
|
||||
case "EXTRA" : self.extrageopend(! self.extrageopend()); break;
|
||||
}
|
||||
},
|
||||
fToggleOrg :function(){
|
||||
this.geopend(!this.geopend());
|
||||
},
|
||||
fSetSelected: function(){
|
||||
var self = ls.MonfinOverzicht2Model;
|
||||
self.selectedOrg(this);
|
||||
self.fGetBedragen()
|
||||
},
|
||||
} ; // definition van model
|
||||
ls.MonfinOverzicht2Model.initBindings();
|
||||
}; // elses
|
||||
}// function initMonfinOverzicht2Model
|
||||
});
|
||||
@@ -0,0 +1,277 @@
|
||||
$(function(){
|
||||
|
||||
ls.initMonitorModel = function(){
|
||||
var timer;
|
||||
|
||||
function fAddOrgversion(p){
|
||||
|
||||
var dit = this;
|
||||
this.id = p.id; //orgversion id
|
||||
this.periodenummer = p.periodenummer;
|
||||
this.versie_id = p.versie_id;
|
||||
this.vorm = p.vorm;
|
||||
this.scoretype = p.scoretype;
|
||||
this.toonOmschrijving = ko.observable(false);
|
||||
if(p.score_omschrijving == 'T') this.toonOmschrijving(true);
|
||||
this.naam = p.naam;
|
||||
// this.meetellen = ko.observable(false);
|
||||
// if(p.meetellen == 1){
|
||||
// dit.meetellen(true);
|
||||
// }
|
||||
|
||||
this.geldigvanaf = p.geldigvanaf;
|
||||
this.geldigtm = p.geldigtm;
|
||||
this.invullentm = p.invullentm;
|
||||
this.info = ko.computed(function(){
|
||||
var infostr=this.naam + " - periode " + this.periodenummer ;
|
||||
infostr += " van " + this.geldigvanaf + " t/m " + this.geldigtm;
|
||||
return infostr;
|
||||
},this);
|
||||
}
|
||||
|
||||
function fAddListitem(p){
|
||||
|
||||
var dit = this;
|
||||
this.id = p.id
|
||||
this.nummer = p.nummer
|
||||
this.omschrijving = p.omschrijving;
|
||||
this.toelichting = p.toelichting;
|
||||
this.indicatorscores = ko.observableArray([]);
|
||||
$.each(p.indicatorscores, function(j,k){
|
||||
dit.indicatorscores.push(new fAddIndicatorscore(k));
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
function fAddIndicatorscore(k){
|
||||
var dit = this;
|
||||
this.id = k.id
|
||||
this.nummer = k.nummer
|
||||
this.omschrijving = k.omschrijving
|
||||
this.inspectie = k.inspectie
|
||||
this.score = ko.observable(k.score)
|
||||
this.scoretype = k.scoretype;
|
||||
|
||||
// this.jatext = ko.computed(function(){
|
||||
// switch (parseFloat(dit.scoretype)){
|
||||
// case 3:
|
||||
// case 4:
|
||||
// case 5: return 'ja'; break;
|
||||
// case 6: return "onvol."; break;
|
||||
// case 7: return "included"; break;
|
||||
// default: return 'ja';
|
||||
// }
|
||||
// })
|
||||
// this.neetext = ko.computed(function(){
|
||||
// switch (parseFloat(dit.scoretype)){
|
||||
// case 3:
|
||||
// case 4:
|
||||
// case 5: return 'nee'; break;
|
||||
// case 6: return "vol."; break;
|
||||
// case 7: return "involved"; break;
|
||||
// default: return 'nee';
|
||||
// }
|
||||
// })
|
||||
// this.thirdoptiontext = ko.computed(function(){
|
||||
// switch (parseFloat(dit.scoretype)){
|
||||
// case 3: return "bezig"; break;
|
||||
// case 4: return "nvt"; break;
|
||||
// case 5: return "i.o."; break;
|
||||
// case 6: return "goed"; break;
|
||||
// case 7: return "present"; break;
|
||||
// default: return "";
|
||||
// }
|
||||
// });
|
||||
// this.fourthoptiontext = ko.computed(function(){
|
||||
// return 'absent'
|
||||
// });
|
||||
}
|
||||
|
||||
function fAddScoreoptie(o){
|
||||
this.scoreID = o.id;
|
||||
this.type = o.type_nr;
|
||||
this.optie = o.optie;
|
||||
this.value = parseInt(o.score_value);
|
||||
this.scoretekst = o.omschrijving;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
if (ls.MonitorModel !== undefined){
|
||||
ls.MonitorModel.initModel();
|
||||
}
|
||||
else {
|
||||
ls.MonitorModel = {
|
||||
orgversions : ko.observableArray([]),
|
||||
selectedOrgversion : ko.observable(''),
|
||||
listitems : ko.observableArray([]),
|
||||
scoreopties : ko.observableArray(),
|
||||
editok : ko.observable(false),
|
||||
soort : ko.observable(4),
|
||||
erzijnperiodes : ko.observable(false),
|
||||
notitie : ko.observable(''),
|
||||
fvid : ko.observable(null),
|
||||
bezig : ko.observable(false),
|
||||
meetellen : ko.observable(false),
|
||||
optieslengte : ko.observable(0),
|
||||
|
||||
initBindings :function(){
|
||||
var self = ls.MonitorModel;
|
||||
if (!ko.dataFor(document.getElementById('pagmonitor')) ) {
|
||||
ko.applyBindings(ls.MonitorModel, document.getElementById("pagmonitor"));
|
||||
}
|
||||
self.initModel();
|
||||
},
|
||||
initModel: function(){
|
||||
var self=ls.MonitorModel;
|
||||
|
||||
self.orgversions.removeAll();
|
||||
self.listitems.removeAll();
|
||||
showAjaxLoader();
|
||||
$.post("index.php/monpas/monitor/getperiodesperschool", function(data){
|
||||
// get de reeds ingevulde versies of start een nieuwe versie voor de laatste periode
|
||||
self.orgversions.removeAll();
|
||||
|
||||
if (data.versies){
|
||||
$.each(data.versies, function(i,p){
|
||||
self.orgversions.push(new fAddOrgversion(p));
|
||||
});//each
|
||||
self.selectedOrgversion(self.orgversions()[0]);
|
||||
self.erzijnperiodes(true);
|
||||
|
||||
}; // if
|
||||
self.soort(data.soort);
|
||||
hideAjaxLoader();
|
||||
},'json');
|
||||
},
|
||||
|
||||
fChangeVersion: function(){
|
||||
var self = ls.MonitorModel;
|
||||
self.listitems.removeAll();
|
||||
self.scoreopties.removeAll();
|
||||
self.editok(false)
|
||||
if (self.selectedOrgversion() == undefined) return;
|
||||
|
||||
var tm = self.selectedOrgversion().invullentm;
|
||||
var Dtm = new Date(tm.substring(6,10), parseInt(tm.substring(3,5)) -1, tm.substring(0,2),23,59,59,99);
|
||||
var heden= new Date()
|
||||
if (heden.getTime() <= Dtm.getTime() ) self.editok(true);
|
||||
$.post("index.php/monpas/monitor/getlistitems/" + self.selectedOrgversion().id, function(data){
|
||||
if (data.ijkpunten){
|
||||
$.each(data.ijkpunten,function(i,p){
|
||||
self.listitems.push(new fAddListitem(p));
|
||||
});// each
|
||||
}; //if
|
||||
|
||||
if(data.scoreopties){
|
||||
$.each(data.scoreopties,function(x,o){
|
||||
self.scoreopties.push(new fAddScoreoptie(o));
|
||||
});// each
|
||||
self.optieslengte(self.scoreopties().length);
|
||||
}
|
||||
|
||||
self.notitie(data.notitie);
|
||||
if(data.meetellen && data.meetellen == 1) {
|
||||
self.meetellen(true);
|
||||
}
|
||||
else{
|
||||
self.meetellen(false);
|
||||
}
|
||||
self.fvid(data.fvid);
|
||||
|
||||
// als de versie een schoolversie is, dan mag alleen het management invullen
|
||||
// maar ook het management mag niet invullen voorbij de invuldatum
|
||||
if (self.editok() && self.selectedOrgversion().vorm==1) {self.editok(data.writer)}
|
||||
},'json');
|
||||
},
|
||||
|
||||
fUpdateScoretype12: function(){
|
||||
var self= ls.MonitorModel
|
||||
|
||||
|
||||
if (this.scoretype == 1 && (parseFloat(this.score().replace(',','.') ) > 10 ||
|
||||
parseFloat(this.score().replace(',','.')) < 0)){
|
||||
ls.MsgAutoFade("U moet een rapportcijfer tussen 0 en 10 invullen.",1000);
|
||||
this.score(0);
|
||||
};
|
||||
if (this.scoretype ==2 && (parseInt(this.score())> 100 || parseInt(this.score()) < 0)){
|
||||
ls.MsgAutoFade("U moet hier een percentage tussen 0 en 100 invullen.",1000);
|
||||
this.score(0);
|
||||
}
|
||||
var submitData = {indicatorscoreid : this.id,
|
||||
score : this.score()}
|
||||
$.post("index.php/monpas/monitor/updatescore", submitData);
|
||||
return true ; // nodig voor de eventuele radioset
|
||||
},
|
||||
|
||||
fUpdateScoretypeVanaf3: function(data){
|
||||
var self= ls.MonitorModel
|
||||
var indicatorscoreID = data;
|
||||
|
||||
var submitData = {
|
||||
indicatorscoreid : indicatorscoreID,
|
||||
score : this.value }
|
||||
|
||||
$.post("index.php/monpas/monitor/updatescore", submitData);
|
||||
return true ; // nodig voor de eventuele radioset
|
||||
},
|
||||
|
||||
fToonToelichting: function(){
|
||||
var self = ls.MonitorModel;
|
||||
var dit = this;
|
||||
var toelichting = '';
|
||||
if (dit.toelichting != undefined) toelichting = dit.toelichting;
|
||||
apprise(dit.nummer + '. ' + dit.omschrijving + '<br/>Toelichting: ' + toelichting);
|
||||
},
|
||||
|
||||
fUpdateNotitie: function(){
|
||||
var self = ls.MonitorModel;
|
||||
if (timer){
|
||||
clearTimeout(timer);
|
||||
timeout = null;
|
||||
}
|
||||
timer = setTimeout(function(){
|
||||
var submitData= {notitie : self.notitie(),
|
||||
fvID : self.fvid()}
|
||||
$.post('index.php/monpas/monitor/savenotitie', submitData);
|
||||
}, 600);
|
||||
},
|
||||
|
||||
fTelMee: function(){
|
||||
var self = ls.MonitorModel;
|
||||
self.meetellen(!self.meetellen());
|
||||
var dit = this;
|
||||
var meetellen =1;
|
||||
if(!dit.meetellen()){
|
||||
meetellen = 0;
|
||||
}
|
||||
|
||||
var submitData = {
|
||||
meetellen: meetellen,
|
||||
fvID: self.fvid(),
|
||||
}
|
||||
$.post("index.php/monpas/monitor/lijstmeetellen", submitData);
|
||||
},
|
||||
|
||||
fPrint:function(){
|
||||
var self =ls.MonitorModel;
|
||||
if (self.bezig()) return;
|
||||
self.bezig(true);
|
||||
var items = ko.toJSON(self.listitems());
|
||||
var data ={ 'orgversie' : self.selectedOrgversion().info(),
|
||||
'tabelinfo' : items,
|
||||
'notitie' : self.notitie()}
|
||||
data=JSON.stringify(data);
|
||||
|
||||
var $form = $("<form method='post' action='index.php/monpas/monitor/printlijst' target='_blank'>").append($('<input type = "hidden" name="data" id ="data">').val(data) );
|
||||
$form.appendTo("body").submit();
|
||||
self.bezig(false);
|
||||
|
||||
}
|
||||
} ; // definition van model
|
||||
ls.MonitorModel.initBindings();
|
||||
}; // else
|
||||
}// function initMonitorModel
|
||||
});
|
||||
@@ -0,0 +1,735 @@
|
||||
$(function(){
|
||||
|
||||
mh.initOmvangModel = function(){
|
||||
|
||||
function fAddSWV(p){
|
||||
var dit = this;
|
||||
this.id = p.id;
|
||||
this.soort = p.soort;
|
||||
this.brin = p.brin;
|
||||
this.naam = p.naamkort;
|
||||
this.plaats = p.plaats;
|
||||
this.geopend = ko.observable(false);
|
||||
dit.kamers = ko.observableArray([]);
|
||||
if (p.suborgs ){
|
||||
$.each(p.suborgs, function(j,k){
|
||||
dit.kamers.push(new fAddKamer(k));
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function fAddKamer(p){
|
||||
var dit = this;
|
||||
this.id = p.id;
|
||||
this.soort = p.soort;
|
||||
this.brin = p.brin;
|
||||
this.naam = p.naamkort;
|
||||
this.plaats = p.plaats;
|
||||
this.geopend = ko.observable(false);
|
||||
this.bgs = ko.observableArray([]);
|
||||
if (p.suborgs){
|
||||
$.each(p.suborgs, function(x,z){
|
||||
dit.bgs.push(new fAddBG(z));
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function fAddBG(p){
|
||||
var dit = this;
|
||||
this.id = p.id;
|
||||
this.soort = p.soort;
|
||||
this.brin = p.brin;
|
||||
this.naam = p.naamkort;
|
||||
this.plaats = p.plaats;
|
||||
this.geopend = ko.observable(false);
|
||||
this.scholen = ko.observableArray([]);
|
||||
if (p.suborgs){
|
||||
$.each(p.suborgs, function(a,b){
|
||||
dit.scholen.push(new fAddSchool(b));
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function fAddSchool(p){
|
||||
var dit = this;
|
||||
this.id = p.id;
|
||||
this.soort = p.soort;
|
||||
this.brin = p.brin;
|
||||
this.naam = p.naamkort;
|
||||
this.plaats = p.plaats;
|
||||
}
|
||||
|
||||
function fAddSchooljaar(i, s){
|
||||
var dit = this;
|
||||
var aantal = 0;
|
||||
var aantalSO = 0;
|
||||
var aantalSBO = 0;
|
||||
var aantalB = 0;
|
||||
var aantalSOB = 0;
|
||||
var aantalSBOB = 0;
|
||||
this.nummer = s.schooljaarnr;
|
||||
this.schooljaar = s.naam;
|
||||
this.pienaam = ko.observable(null);
|
||||
this.tlvpie = ko.observable(null);
|
||||
this.arrtable = ko.observable(null)
|
||||
this.geselecteerd = ko.observable(false);
|
||||
this.aantalleerlingen = s && s.aantal ? s.aantal : 0;
|
||||
this.aantalllnarr = s && s.aantalllnarr ? s.aantalllnarr : 0;
|
||||
this.naamboven = s && s.naamboven ? s.naamboven : 0;
|
||||
this.brinboven = s && s.brinboven ? s.brinboven : 0;
|
||||
this.aantalboven = s && s.aantalboven ? s.aantalboven : 0;
|
||||
this.totTLVs = ko.observable(0);
|
||||
this.tlvsSBO = ko.observable(0);
|
||||
this.tlvsSO = ko.observable(0);
|
||||
this.totTLVsB = ko.observable(0);
|
||||
this.tlvsSBOB = ko.observable(0);
|
||||
this.tlvsSOB = ko.observable(0);
|
||||
this.laag = ko.observable(0);
|
||||
this.midden = ko.observable(0);
|
||||
this.hoog = ko.observable(0);
|
||||
this.licht = ko.observable(0);
|
||||
this.zwaar = ko.observable(0);
|
||||
this.laagB = ko.observable(0);
|
||||
this.middenB = ko.observable(0);
|
||||
this.hoogB = ko.observable(0);
|
||||
this.lichtB = ko.observable(0);
|
||||
this.zwaarB = ko.observable(0);
|
||||
this.aantalllnarrB = s && s.aantalllnarrB ? s.aantalllnarrB: 0;
|
||||
this.arrangementen = ko.observableArray([]);
|
||||
this.tlvs = ko.observableArray([]);
|
||||
this.tlvsB = ko.observableArray([]);
|
||||
this.totaal
|
||||
if(s.arrangementen){
|
||||
$.each(s.arrangementen, function(x, a){
|
||||
dit.arrangementen.push(new fAddArrangement(x, a));
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
if(s.tlvs){
|
||||
$.each(s.tlvs, function(i, t){
|
||||
if(t.aantal && Number(t.aantal) > 0){
|
||||
aantal = aantal + Number(t.aantal);
|
||||
}
|
||||
if(t.aantal && Number(t.aantal) > 0 && t.soort && t.soort == "SO"){
|
||||
aantalSO = aantalSO + Number(t.aantal);
|
||||
}
|
||||
if(t.aantal && Number(t.aantal) > 0 && t.soort && t.soort == "SBO"){
|
||||
aantalSBO = aantalSBO + Number(t.aantal);
|
||||
}
|
||||
if(t.aantal && Number(t.aantal) > 0 && t.zwaarte && t.zwaarte == "LICHT"){
|
||||
dit.licht(Number(t.aantal));
|
||||
}
|
||||
if(t.aantal && Number(t.aantal) > 0 && t.zwaarte && t.zwaarte == "ZWAAR"){
|
||||
dit.zwaar(Number(t.aantal));
|
||||
}
|
||||
if(t.aantal && Number(t.aantal) > 0 && t.zwaarte && t.zwaarte == "LAAG"){
|
||||
dit.laag(Number(t.aantal));
|
||||
}
|
||||
if(t.aantal && Number(t.aantal) > 0 && t.zwaarte && t.zwaarte == "MIDDEN"){
|
||||
dit.midden(Number(t.aantal));
|
||||
}
|
||||
if(t.aantal && Number(t.aantal) > 0 && t.zwaarte && t.zwaarte == "HOOG"){
|
||||
dit.hoog(Number(t.aantal));
|
||||
}
|
||||
});
|
||||
}
|
||||
dit.totTLVs(aantal);
|
||||
dit.tlvsSO(aantalSO);
|
||||
dit.tlvsSBO(aantalSBO);
|
||||
if(Number(dit.totTLVs()) > 0) {
|
||||
dit.tlvpie = ko.observable('omvang' + s.naam + 'tlv');
|
||||
}
|
||||
// if(Number(dit.aantalllnarr) >0){
|
||||
dit.pienaam('omvang' + s.naam);
|
||||
// }
|
||||
if(Number(dit.aantalllnarr) >0){
|
||||
dit.arrtable('arrtable' + s.naam);
|
||||
}
|
||||
|
||||
if(s.tlvsB){
|
||||
$.each(s.tlvsB, function(x, b){
|
||||
if(b.aantal && Number(b.aantal) > 0){
|
||||
aantalB = aantalB + Number(b.aantal);
|
||||
}
|
||||
if(b.aantal && Number(b.aantal) > 0 && b.soort && b.soort == "SO"){
|
||||
aantalSOB = aantalSOB + Number(b.aantal);
|
||||
}
|
||||
if(b.aantal && Number(b.aantal) > 0 && b.soort && b.soort == "SBO"){
|
||||
aantalSBOB = aantalSBOB + Number(b.aantal);
|
||||
}
|
||||
if(b.aantal && Number(b.aantal) > 0 && b.zwaarte && b.zwaarte == "LICHT"){
|
||||
dit.lichtB(Number(b.aantal));
|
||||
}
|
||||
if(b.aantal && Number(b.aantal) > 0 && b.zwaarte && b.zwaarte == "ZWAAR"){
|
||||
dit.zwaarB(Number(b.aantal));
|
||||
}
|
||||
if(b.aantal && Number(b.aantal) > 0 && b.zwaarte && b.zwaarte == "LAAG"){
|
||||
dit.laagB(Number(b.aantal));
|
||||
}
|
||||
if(b.aantal && Number(b.aantal) > 0 && b.zwaarte && b.zwaarte == "MIDDEN"){
|
||||
dit.middenB(Number(b.aantal));
|
||||
}
|
||||
if(b.aantal && Number(b.aantal) > 0 && b.zwaarte && b.zwaarte == "HOOG"){
|
||||
dit.hoogB(Number(b.aantal));
|
||||
}
|
||||
});
|
||||
}
|
||||
dit.totTLVsB(aantalB);
|
||||
dit.tlvsSOB(aantalSOB);
|
||||
dit.tlvsSBOB(aantalSBOB);
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
function fAddArrangement(x, a){
|
||||
this.arrangementid = a.id;
|
||||
this.arrnaam = a.naam;
|
||||
this.looptijd = a && a.lengte ==='L' ?'≥ 6 wkn': '< 6 wkn';
|
||||
this.leeftijd = a.leeftijd;
|
||||
this.aantal = a && a.aantal ? a.aantal : 0;
|
||||
}
|
||||
|
||||
|
||||
if (mh.OmvangModel !== undefined){
|
||||
mh.OmvangModel.initModel();
|
||||
}
|
||||
else {
|
||||
mh.OmvangModel = {
|
||||
toporg : ko.observableArray([]),
|
||||
gevuldeschooljaren : ko.observableArray([]),
|
||||
selectedSchooljaren : ko.observableArray([]),
|
||||
omvangschooljaren : ko.observableArray([]),
|
||||
selectedOrg : ko.observable(''),
|
||||
orgsoort : ko.observable(1),
|
||||
aantal : ko.observable(),
|
||||
bezig : ko.observable(false),
|
||||
isSWV : ko.observable(false),
|
||||
toonkeuze : ko.observable(false),
|
||||
toonresult : ko.observable(false),
|
||||
geenschooljaren : ko.observable(false),
|
||||
inzage : ko.observable(),
|
||||
lengte : ko.observable(0),
|
||||
lengteTLV : ko.pureComputed( function(){
|
||||
var lengte = 0;
|
||||
if(mh.OmvangModel){
|
||||
if(mh.OmvangModel.omvangschooljaren())
|
||||
for(var i = 0; i < mh.OmvangModel.omvangschooljaren().length; i ++){
|
||||
if( Number(mh.OmvangModel.omvangschooljaren()[i].totTLVs()) > 0){
|
||||
lengte++;
|
||||
}
|
||||
}
|
||||
}
|
||||
return lengte;
|
||||
}),
|
||||
|
||||
|
||||
|
||||
initBindings :function(){
|
||||
var self = mh.OmvangModel;
|
||||
// if (!ko.dataFor(document.getElementById('pagomvangextra')) ) {
|
||||
ko.applyBindings(mh.OmvangModel, document.getElementById("pagomvangextra"));
|
||||
// }
|
||||
self.initModel();
|
||||
},
|
||||
initModel: function(){
|
||||
var self =mh.OmvangModel;
|
||||
self.toporg('');
|
||||
self.gevuldeschooljaren.removeAll();
|
||||
self.omvangschooljaren.removeAll();
|
||||
self.toonresult(false);
|
||||
self.toonkeuze(false);
|
||||
self.geenschooljaren(false);
|
||||
$.post("index.php/monpas/omvang/getOrgsEnSchooljaren", function(data){
|
||||
|
||||
self.bezig(true);
|
||||
if (data.organisatie){
|
||||
|
||||
self.orgsoort(Number(data.soort));
|
||||
switch (self.orgsoort()){
|
||||
case 1: self.toporg(new fAddSWV(data.organisatie));
|
||||
self.isSWV(true);
|
||||
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
|
||||
self.fSetGevuldeSchooljaren(data);
|
||||
$.post('index.php/monpas/rapijkpunten/getusernivo', function(result){
|
||||
self.selectedOrg(self.toporg());
|
||||
$.post('index.php/monpas/rapmatrix/checkinzage', function(result){
|
||||
self.inzage(result);
|
||||
},'json');
|
||||
|
||||
},'json');
|
||||
}
|
||||
self.bezig(false);
|
||||
},'json');
|
||||
},
|
||||
|
||||
fSetGevuldeSchooljaren: function(data){
|
||||
var self = mh.OmvangModel;
|
||||
self.gevuldeschooljaren.removeAll();
|
||||
if(data.schooljaren){
|
||||
self.gevuldeschooljaren.removeAll();
|
||||
$.each(data.schooljaren, function(i, s){
|
||||
self.gevuldeschooljaren.push(new fAddSchooljaar (i, s))
|
||||
});
|
||||
self.toonkeuze(true)
|
||||
}
|
||||
else{
|
||||
self.geenschooljaren(true);
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
fSelecteerSchooljaar: function() {
|
||||
var self = mh.OmvangModel;
|
||||
|
||||
if(Number(self.selectedSchooljaren().length) > 3){
|
||||
apprise('u kunt maximaal 3 schooljaren vergelijken.')
|
||||
self.selectedSchooljaren().pop;
|
||||
return;
|
||||
}
|
||||
self.fGetOmvang();
|
||||
},
|
||||
|
||||
fGetOmvang: function() {
|
||||
var self = mh.OmvangModel;
|
||||
var schooljaren = this.selectedSchooljaren.sort()
|
||||
|
||||
var submitData = {'schooljaren' : schooljaren,
|
||||
'orgid' : self.selectedOrg().id };
|
||||
|
||||
self.omvangschooljaren.removeAll();
|
||||
$.post("index.php/monpas/omvang/getOmvang/", submitData, function (result) {
|
||||
self.omvangschooljaren.removeAll();
|
||||
if(result.schooljaren){
|
||||
self.omvangschooljaren.removeAll();
|
||||
$.each(result.schooljaren, function (i, s){
|
||||
|
||||
self.omvangschooljaren.push(new fAddSchooljaar(i,s))
|
||||
});
|
||||
}
|
||||
if(self.omvangschooljaren().length > 0){
|
||||
self.toonresult(true);
|
||||
self.toonkeuze(false);
|
||||
var index = 0;
|
||||
var indexT = 0
|
||||
$.each(self.omvangschooljaren(), function (i, s) {
|
||||
if(Number(s.aantalllnarr) > 0) index++;
|
||||
|
||||
})
|
||||
|
||||
self.lengte(index);
|
||||
|
||||
self.fMaakChart();
|
||||
self.fSetTLVsPie();
|
||||
if(self.selectedOrg().soort == 4 ) {
|
||||
self.fSetArrangementenPie();
|
||||
}
|
||||
}
|
||||
else{
|
||||
self.toonresult(false);
|
||||
apprise('geen resultaten');
|
||||
}
|
||||
}, 'json')
|
||||
},
|
||||
|
||||
fToggleGeopend: function(){
|
||||
this.geopend(!this.geopend());
|
||||
},
|
||||
|
||||
fKeuze: function(){
|
||||
var self = mh.OmvangModel;
|
||||
self.toonkeuze(true);
|
||||
},
|
||||
|
||||
fSwitchOrg: function(){
|
||||
var self = mh.OmvangModel;
|
||||
if (self.selectedOrg() === undefined) return;
|
||||
if (this.id === self.selectedOrg().id) return;
|
||||
self.selectedOrg(this);
|
||||
self.fGetOmvang();
|
||||
},
|
||||
|
||||
fMaakChart: function(){
|
||||
var self = mh.OmvangModel;
|
||||
var schooljaren = [];
|
||||
var arrangementen = [];
|
||||
var aantal = [];
|
||||
var datasbo = [];
|
||||
var dataso = [];
|
||||
var dataarr = [];
|
||||
var series = [];
|
||||
|
||||
$.each(self.omvangschooljaren(), function(i, o) {
|
||||
schooljaren.push(o.schooljaar);
|
||||
aantal.push(Number(o.aantalleerlingen));
|
||||
var aantalsbo = 0;
|
||||
var aantalso = 0;
|
||||
if(o.licht) aantalsbo = Number(o.licht);
|
||||
if(o.zwaar) aantalsbo = aantalsbo + Number(o.zwaar);
|
||||
datasbo.push(aantalsbo);
|
||||
if(o.laag()) aantalso = (Number(o.laag()));
|
||||
if(o.midden()) aantalso = aantalso + Number(o.midden());
|
||||
if(o.hoog()) aantalso = aantalso + Number(o.hoog());
|
||||
dataso.push(aantalso);
|
||||
|
||||
if(o.aantalllnarr) dataarr.push(Number(o.aantalllnarr));
|
||||
});
|
||||
|
||||
|
||||
if(Number(self.omvangschooljaren().length) == 1){
|
||||
var aantallln = Number(self.omvangschooljaren()[0].aantalleerlingen);
|
||||
aantal.unshift(aantallln);
|
||||
aantal.push(aantallln);
|
||||
schooljaren.unshift(' ');
|
||||
schooljaren.push(' ' );
|
||||
datasbo.unshift(0);
|
||||
datasbo.push(0);
|
||||
dataso.unshift(0);
|
||||
dataso.push(0);
|
||||
dataarr.unshift(0);
|
||||
dataarr.push(0);
|
||||
|
||||
}
|
||||
|
||||
series.push({
|
||||
type: 'column',
|
||||
name: 'tlvs sbo ',
|
||||
color: '#005c99',
|
||||
data: datasbo,
|
||||
stack: 'tlvs'
|
||||
})
|
||||
|
||||
|
||||
series.push({
|
||||
type: 'column',
|
||||
name: 'tlvs so ',
|
||||
color: '#4d9900',
|
||||
data: dataso,
|
||||
stack: 'tlvs'
|
||||
})
|
||||
|
||||
series.push({
|
||||
type: 'column',
|
||||
name: 'arrangementen',
|
||||
color: '#ffcc80',
|
||||
data: dataarr,
|
||||
stack: 'arrangementen'
|
||||
})
|
||||
|
||||
|
||||
series.push({
|
||||
type: 'spline',
|
||||
name: 'totaal leerlingen',
|
||||
color : '#A28A29',
|
||||
data: aantal,
|
||||
marker: {
|
||||
lineWidth: 2
|
||||
}
|
||||
});
|
||||
|
||||
Highcharts.chart('omvangchart', {
|
||||
|
||||
credits: {
|
||||
enabled: false
|
||||
},
|
||||
title: {
|
||||
text: 'Omvang extra ondersteuning',
|
||||
style: {
|
||||
fontSize: '24px'
|
||||
}
|
||||
},
|
||||
|
||||
xAxis: {
|
||||
categories: schooljaren
|
||||
},
|
||||
|
||||
yAxis: {
|
||||
allowDecimals: false,
|
||||
min: 0,
|
||||
title: {
|
||||
text: 'Aantal leerlingen'
|
||||
},
|
||||
stackLabels: {
|
||||
enabled: true,
|
||||
style:{
|
||||
fontSize: '12px',
|
||||
fontWeight: '200'
|
||||
|
||||
|
||||
},
|
||||
allowOverlap: true,
|
||||
formatter: function () {
|
||||
if(this.axis.chart.xAxis[0].categories[this.x]=== ' ') return
|
||||
else
|
||||
return this.stack;
|
||||
},
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
tooltip: {
|
||||
formatter: function () {
|
||||
return '<b>' + this.x + '</b><br/>' +
|
||||
this.series.name + ': ' + this.y + '<br/>'
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
plotOptions: {
|
||||
column: {
|
||||
stacking: 'normal'
|
||||
}
|
||||
},
|
||||
|
||||
series: series
|
||||
});
|
||||
},
|
||||
|
||||
fSetArrangementenPie: function(){
|
||||
var self = mh.OmvangModel;
|
||||
var titel = "";
|
||||
var pienaam = "";
|
||||
var type = 'variablepie'
|
||||
var breedte = 170;
|
||||
var arrangementen = [];
|
||||
var naam = 'aantal leerlingen'
|
||||
// var kleuren = ['#ffcc80','#ffb84d','#ffa31a','#e68a00', '#b36b00', '#804d00', '#4d2e00', '#ffe0b3', '#fff5e6'];
|
||||
|
||||
|
||||
$.each(self.omvangschooljaren(), function (i, o){
|
||||
$.each(o.arrangementen(), function (x, a) {
|
||||
if (arrangementen.indexOf(a.arrangementid) == -1) {
|
||||
arrangementen.push(a.arrangementid);
|
||||
}
|
||||
});
|
||||
});
|
||||
$.each(self.omvangschooljaren(), function (i, o) {
|
||||
titel = o.schooljaar;
|
||||
pienaam = o.pienaam();
|
||||
var pie = [];
|
||||
if(o.arrangementen){
|
||||
$.each(o.arrangementen(), function (x, a) {
|
||||
pie.push({
|
||||
name : a.arrnaam + '(' + a.leeftijd + ')',
|
||||
y : Number(a.aantal),
|
||||
|
||||
})
|
||||
})
|
||||
}
|
||||
self.fMaakPie(titel, pienaam, pie, naam, breedte);
|
||||
|
||||
})
|
||||
|
||||
|
||||
},
|
||||
|
||||
fSetTLVsPie: function(){
|
||||
var self = mh.OmvangModel;
|
||||
|
||||
$.each(self.omvangschooljaren(), function (i, o) {
|
||||
if(Number(o.totTLVs()) > 0 ){
|
||||
|
||||
var titel = o.schooljaar
|
||||
var pienaam = o.tlvpie();
|
||||
var naam = 'aantal'
|
||||
var breedte =300
|
||||
|
||||
var pie = [];
|
||||
|
||||
|
||||
if (Number(o.licht()) > 0) {
|
||||
pie.push(
|
||||
{
|
||||
name: ' sbo licht',
|
||||
y: Number(o.licht()),
|
||||
color: '#99d6ff'
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
if (Number(o.zwaar()) > 0) {
|
||||
pie.push(
|
||||
{
|
||||
name: ' sbo zwaar',
|
||||
y: Number(o.zwaar()),
|
||||
color: '#005c99'
|
||||
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
if (Number(o.laag()) > 0) {
|
||||
pie.push(
|
||||
{
|
||||
name: ' so laag',
|
||||
y: Number(o.laag()),
|
||||
color: '#d9ffb3'
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
if (Number(o.midden()) > 0) {
|
||||
pie.push(
|
||||
{
|
||||
name: ' so midden',
|
||||
y: Number(o.midden()),
|
||||
color: '#66cc00'
|
||||
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (Number(o.hoog()) > 0) {
|
||||
pie.push(
|
||||
{
|
||||
name: ' so hoog',
|
||||
y: Number(o.hoog()),
|
||||
color: '#4d9900',
|
||||
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
self.fMaakPie(titel, pienaam, pie, naam, breedte, );
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
},
|
||||
|
||||
fMaakPie: function(titel, pienaam, pie, naam, breedte){
|
||||
var self = mh.OmvangModel;
|
||||
|
||||
|
||||
Highcharts.chart(pienaam, {
|
||||
chart: {
|
||||
plotBackgroundColor: null,
|
||||
plotBorderWidth: null,
|
||||
height: 800,
|
||||
plotShadow: false,
|
||||
type: 'pie',
|
||||
margin: [0, 0, 0, 0]
|
||||
},
|
||||
title: {
|
||||
text: titel
|
||||
},
|
||||
credits:{
|
||||
enabled: false
|
||||
},
|
||||
|
||||
accessibility: {
|
||||
// point: {
|
||||
// valueSuffix: '%'
|
||||
// }
|
||||
},
|
||||
plotOptions: {
|
||||
pie: {
|
||||
allowPointSelect: true,
|
||||
size: 250,
|
||||
cursor: 'pointer',
|
||||
dataLabels: {
|
||||
enabled: false
|
||||
},
|
||||
showInLegend: true
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
align: 'left',
|
||||
symbolPadding: 1,
|
||||
padding: 0,
|
||||
verticalAlign: 'top',
|
||||
floating: false,
|
||||
x: -5,
|
||||
y: 260,
|
||||
width: 350,
|
||||
height: 500,
|
||||
itemWidth: breedte,
|
||||
itemDistance: 0,
|
||||
|
||||
},
|
||||
|
||||
|
||||
series: [{
|
||||
center: ['50%', '20%'],
|
||||
name: naam,
|
||||
colorByPoint: true,
|
||||
data: pie
|
||||
}]
|
||||
});
|
||||
|
||||
|
||||
},
|
||||
|
||||
|
||||
fPrint: function(){
|
||||
var self = mh.OmvangModel;
|
||||
var hoofdtabel = document.getElementById("omvangTable").outerHTML;
|
||||
var hoofdchart = document.querySelector("#omvangchart svg");
|
||||
if(hoofdchart) var hoofdstring = new XMLSerializer().serializeToString(hoofdchart);
|
||||
var tlvs = [];
|
||||
var arrtables = [];
|
||||
var arrpies = [];
|
||||
var schooljaren = [];
|
||||
$.each(self.omvangschooljaren(), function(i, o){
|
||||
schooljaren.push(o.schooljaar);
|
||||
var tlv;
|
||||
var arr;
|
||||
var arrtable;
|
||||
if(o.tlvpie()){
|
||||
tlv = document.querySelector('#' + o.tlvpie() + ' ' + 'svg')
|
||||
|
||||
}
|
||||
else{
|
||||
tlv = document.querySelector("#leegcol4 svg")
|
||||
}
|
||||
if(tlv) var stringtlv = new XMLSerializer().serializeToString(tlv);
|
||||
tlvs.push(stringtlv);
|
||||
|
||||
if(o.pienaam()){
|
||||
arr = document.querySelector('#' + o.pienaam() + ' ' + 'svg')
|
||||
arrtable = document.getElementById(o.arrtable()). outerHTML;
|
||||
|
||||
}
|
||||
else{
|
||||
arr = document.querySelector("#leegcol4 svg")
|
||||
arrtable = document.getElementById("#leegcol4"). outerHTML;
|
||||
}
|
||||
if(arr) var stringarr = new XMLSerializer().serializeToString(arr);
|
||||
arrpies.push(stringarr);
|
||||
arrtables.push(arrtable);
|
||||
});
|
||||
|
||||
var sd = {
|
||||
hoofdtabel : hoofdtabel,
|
||||
graph : hoofdstring,
|
||||
tlvgraphs : tlvs,
|
||||
arrgraphs : arrpies,
|
||||
arrtables : arrtables,
|
||||
schooljaren : schooljaren,
|
||||
filenaam : 'ExtraOmvang'
|
||||
};
|
||||
|
||||
|
||||
var data = JSON.stringify(sd);
|
||||
var $form = $("<form method='post' action='index.php/monpas/omvang/maakOmvangPDF/' target='_blank'>").append($('<input type = "hidden" name="data" id ="omvangdata">').val(data));
|
||||
$form.appendTo("body").submit();
|
||||
}
|
||||
} ; // definition van model
|
||||
mh.OmvangModel.initBindings();
|
||||
} // else
|
||||
}// function initOmvangModel
|
||||
});
|
||||
@@ -0,0 +1,504 @@
|
||||
$(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){
|
||||
|
||||
this.ijkpuntid = p.ijkpunt_id;
|
||||
this.wensid = 0;
|
||||
|
||||
if (p.gewenstid) { this.wensid = p.gewenstid; }
|
||||
this.scoretype = p.scoretype;
|
||||
|
||||
this.huidig = ko.observable( p.huidig); // observable is niet nodig maar dit was eerst een computed
|
||||
this.gewenst = ko.observable(3);
|
||||
if (p.gewenst) {this.gewenst(p.gewenst)};
|
||||
|
||||
this.nummer = p.nummer;
|
||||
this.omschrijving = p.omschrijving;
|
||||
this.toelichting = p.toelichting;
|
||||
this.aantalscholen = p.aantalscholen;
|
||||
}
|
||||
|
||||
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(''),
|
||||
// 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),
|
||||
|
||||
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);
|
||||
}
|
||||
self.fGetOrganisaties();
|
||||
},'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;
|
||||
|
||||
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.selectedOrgversion().soort == '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.selectedOrgversion() == undefined) return;
|
||||
|
||||
var submitData = {orgversieid : self.selectedOrgversion().id,
|
||||
orgid : self.selectedOrg().id
|
||||
}
|
||||
$.post("index.php/monpas/rapontwikkel/getscores", submitData, function(data){
|
||||
self.results.removeAll();
|
||||
if (data){
|
||||
$.each(data.scores, function(i,p){
|
||||
self.results.push(new fAddResult(p));
|
||||
self.ingevuld(true);
|
||||
})
|
||||
self.fGetWriteAutorisatie();
|
||||
}
|
||||
|
||||
|
||||
|
||||
},'json');
|
||||
|
||||
var submitData = {orgversieid : self.selectedOrgversion().id,
|
||||
orgid : self.selectedOrg().id
|
||||
}
|
||||
$.post("index.php/monpas/rapontwikkel/getscores", submitData, function(data){
|
||||
self.results.removeAll();
|
||||
if (data){
|
||||
$.each(data.scores, function(i,p){
|
||||
self.results.push(new fAddResult(p));
|
||||
self.ingevuld(true);
|
||||
})
|
||||
self.fGetWriteAutorisatie();
|
||||
}
|
||||
|
||||
|
||||
|
||||
},'json');
|
||||
|
||||
|
||||
|
||||
},
|
||||
|
||||
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){
|
||||
if (data){
|
||||
$.each(data.scores, function(i,p){
|
||||
self.results.push(new fAddResult(p));
|
||||
self.ingevuld(true);
|
||||
})
|
||||
}
|
||||
self.fCheckEigenLijst();
|
||||
},'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 = [];
|
||||
$.each(self.results() , function(i,p){
|
||||
wensarray[i]={ 'ijkpuntid' : p.ijkpuntid,
|
||||
'wensid' : p.wensid,
|
||||
'gewenst' : p.gewenst() };
|
||||
|
||||
|
||||
});
|
||||
var submitData= { 'wensarray' : wensarray,
|
||||
'orgid' : self.selectedOrg().id,
|
||||
'orgversionid' : self.selectedOrgversion().id,
|
||||
'orguserid' : orguserid}
|
||||
$.post("index.php/monpas/rapontwikkel/savegewenst", submitData, function(wensids){
|
||||
if (wensids){
|
||||
$.each(self.results(), function(i,p){
|
||||
if (p.wensid == 0){ p.wensid = wensids[i]; }
|
||||
}); // each
|
||||
ls.MsgAutoFade("Gegevens zijn opgeslagen", 600);
|
||||
};// If wensids
|
||||
},'json') ;
|
||||
},
|
||||
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
|
||||
});
|
||||
@@ -0,0 +1,280 @@
|
||||
$(function(){
|
||||
|
||||
ls.initOntwikkelModel2 = 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 fAddOrgversion(p){
|
||||
this.id = p.id; //orgversion id
|
||||
this.periodenummer = p.periodenummer
|
||||
this.versie_id = p.versie_id
|
||||
this.vorm = p.vorm
|
||||
this.scoretype = p.scoretype
|
||||
this.naam = p.naam
|
||||
this.geldigvanaf = p.geldigvanaf;
|
||||
this.geldigtm = p.geldigtm;
|
||||
this.invullentm = p.invullentm;
|
||||
this.info = ko.computed(function(){
|
||||
var infostr=this.naam + "- periode " + this.periodenummer ;
|
||||
infostr += " van " + this.geldigvanaf + " t/m " + this.geldigtm;
|
||||
return infostr;
|
||||
},this)
|
||||
}
|
||||
function fAddResult(p){
|
||||
this.oordeelid = p.oordeelid;
|
||||
this.scoretype = p.scoretype;
|
||||
|
||||
this.huidig = ko.observable( p.normid);
|
||||
this.gewenst = ko.observable(3);
|
||||
if (p.wensid) {this.gewenst(p.wensid)};
|
||||
|
||||
this.omschrijving = p.omschrijving;
|
||||
this.fvID = p.fvID,
|
||||
this.ijkID = p.ijkpuntID
|
||||
}
|
||||
|
||||
if (ls.OntwikkelModel2 !== undefined){
|
||||
ls.OntwikkelModel2.initModel();
|
||||
}
|
||||
else {
|
||||
ls.OntwikkelModel2 = {
|
||||
toporg : ko.observableArray([]),
|
||||
selectedOrg : ko.observable(''),
|
||||
orgsoort : ko.observable(1),
|
||||
orgversions : ko.observableArray([]),
|
||||
selectedOrgversion : ko.observable(''),
|
||||
standaarden : ko.observableArray([]),
|
||||
versieid : ko.observable(), // moet waarschijnlijk orgversie id worden!!
|
||||
writeOK : ko.observable(false),
|
||||
level123 : ko.observable(false),
|
||||
bezig : ko.observable(false),
|
||||
ingevuld : ko.observable(false),
|
||||
wijzigRecht : ko.pureComputed(function () {
|
||||
if(!ls.OntwikkelModel2.ingevuld()) return false;
|
||||
if(ls.OntwikkelModel2.level123() ) return false;
|
||||
if(ls.OntwikkelModel2.writeOK()) return true;
|
||||
return false;
|
||||
|
||||
}),
|
||||
initBindings :function(){
|
||||
var self = ls.OntwikkelModel2;
|
||||
|
||||
if (!ko.dataFor(document.getElementById('pagontwikkel2')) ) {
|
||||
ko.applyBindings(ls.OntwikkelModel2, document.getElementById("pagontwikkel2"));
|
||||
}
|
||||
self.initModel();
|
||||
},
|
||||
|
||||
initModel: function(){
|
||||
var self = ls.OntwikkelModel2;
|
||||
self.toporg('');
|
||||
|
||||
$.post("index.php/monpas/rapijkpunten/getorgs", function(data){
|
||||
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
|
||||
|
||||
self.selectedOrg(self.toporg());
|
||||
self.fGetWriteAutorisatie();
|
||||
self.fGetLevel();
|
||||
self.fSwitchLevel();
|
||||
}; // if
|
||||
},'json');
|
||||
},
|
||||
|
||||
fGetLevel: function(){
|
||||
var self = ls.OntwikkelModel2;
|
||||
$.post("index.php/monpas/rapijkpunten/checkLevelInspectie/", function(result){
|
||||
self.level123(result);
|
||||
},'json');
|
||||
},
|
||||
|
||||
|
||||
fGetWriteAutorisatie: function(){
|
||||
var self = ls.OntwikkelModel2;
|
||||
$.post("index.php/shared/autorisatienivos/getwriteautorisatie/" + self.selectedOrg().id, function(result){
|
||||
self.writeOK(result);
|
||||
},'json');
|
||||
},
|
||||
fToggleGeopend: function(){
|
||||
this.geopend(!this.geopend());
|
||||
},
|
||||
fUpdateGewenst: function(num){
|
||||
var self=ls.OntwikkelModel2;
|
||||
this.gewenst(num);
|
||||
},
|
||||
fSwitchOrg: function(){
|
||||
var self = ls.OntwikkelModel2;
|
||||
if (self.selectedOrg() == undefined) return;
|
||||
if (this.id == self.selectedOrg().id) return;
|
||||
self.selectedOrg(this);
|
||||
self.standaarden.removeAll();
|
||||
self.fGetWriteAutorisatie();
|
||||
self.ingevuld(false);
|
||||
if (self.selectedOrg().soort < 4) return;
|
||||
|
||||
self.fSwitchLevel();
|
||||
},
|
||||
fSwitchLevel: function(){
|
||||
var self = ls.OntwikkelModel2;
|
||||
|
||||
if (self.selectedOrg() == undefined) return;
|
||||
if (this.id == self.selectedOrg().id) return;
|
||||
var versieid = null;
|
||||
if(self.selectedOrgversion()){
|
||||
versieid = self.selectedOrgversion().id;
|
||||
}
|
||||
|
||||
$.post("index.php/monpas/rapijkpunten/getperiodes3/" + self.selectedOrg().id, function(data){
|
||||
self.orgversions.removeAll();
|
||||
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;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
|
||||
fChangeVersion2: function(){
|
||||
var self = ls.OntwikkelModel2;
|
||||
if (self.selectedOrgversion() == undefined) return;
|
||||
|
||||
|
||||
var submitData = { orguserid : false,
|
||||
orgversieid : self.selectedOrgversion().id,
|
||||
orgid : self.selectedOrg().id}
|
||||
|
||||
self.ingevuld(false);
|
||||
$.post("index.php/monpas/overzichtscores/getscores", submitData, function(results){
|
||||
self.standaarden.removeAll();
|
||||
if (results){
|
||||
self.ingevuld(true);
|
||||
$.each(results, function(i,p){
|
||||
self.standaarden.push(new fAddResult(p));
|
||||
})
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
fToonToelichting: function(){
|
||||
var self = ls.OntwikkelModel2;
|
||||
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.OntwikkelModel2;
|
||||
if (self.bezig()) return;
|
||||
self.bezig(true);
|
||||
var wensarray = [];
|
||||
$.each(self.standaarden() , function(i,p){
|
||||
wensarray[i]={ oordeelid : p.oordeelid,
|
||||
ijkID : p.ijkID,
|
||||
fvID : p.fvID,
|
||||
gewenst : p.gewenst() };
|
||||
});
|
||||
var submitData= { wensarray : wensarray}
|
||||
;
|
||||
$.post("index.php/monpas/overzichtscores/savegewenst", submitData, function(wensids){
|
||||
self.fChangeVersion2();
|
||||
self.bezig(false);
|
||||
},'json') ;
|
||||
},
|
||||
fPrintOntwikkelmatrix: function(){
|
||||
var self = ls.OntwikkelModel2;
|
||||
|
||||
if (! self.selectedOrg() ) return;
|
||||
if (! self.selectedOrg().soort == 4) return;
|
||||
|
||||
var versie = self.selectedOrgversion().naam+' - periode ' +
|
||||
self.selectedOrgversion().periodenummer + ' van ' +
|
||||
self.selectedOrgversion().geldigvanaf + ' t/m ' +
|
||||
self.selectedOrgversion().geldigtm;
|
||||
var resultaten= [];
|
||||
|
||||
if (self.standaarden){
|
||||
$.each(self.standaarden(), function(i,p){
|
||||
resultaten.push({'nummer' : (i + 1), 'omschrijving': p.omschrijving, 'huidig': p.huidig(), 'wens' : p.gewenst()});
|
||||
})
|
||||
}
|
||||
|
||||
var data={ 'school' : self.selectedOrg().naam,
|
||||
"versie" : versie,
|
||||
"resultaten" : resultaten }
|
||||
var submitUrl = "index.php/monpas/overzichtscores/printontwikkelmatrix/?json=" + JSON.stringify(data);
|
||||
window.open(submitUrl);
|
||||
}
|
||||
} ; // definition van model
|
||||
ls.OntwikkelModel2.initBindings();
|
||||
}; // else
|
||||
}// function initOntwikkelModel2
|
||||
});
|
||||
@@ -0,0 +1,541 @@
|
||||
$(function(){
|
||||
|
||||
ls.initOrganisatiesModel = function(){
|
||||
|
||||
function fAddOrg(p){
|
||||
this.id = p.id
|
||||
this.naam = ko.observable(p.naam);
|
||||
this.naamkort = ko.observable(p.naamkort);
|
||||
this.plaats = ko.observable(p.plaats);
|
||||
this.nummer = ko.observable(p.brin);
|
||||
this.soort = p.soort;
|
||||
this.valtonder_id = p.valtonder_id;
|
||||
this.actief = ko.observable(false);
|
||||
if (p.actief == 1) this.actief(true);
|
||||
this.monbas = ko.observable(false);
|
||||
if (p.monbas==1) this.monbas(true);
|
||||
this.mondiv = ko.observable(false);
|
||||
if (p.mondiv==1) this.mondiv(true);
|
||||
this.bijlage = ko.observable(p ? p.bijlagefile : '')
|
||||
}
|
||||
|
||||
function fAddEditOrg(p){
|
||||
|
||||
this.id = p.id
|
||||
this.naam = ko.observable(p.naam());
|
||||
this.naamkort = ko.observable(p.naamkort());
|
||||
this.plaats = ko.observable(p.plaats());
|
||||
this.nummer = ko.observable(p.nummer());
|
||||
this.soort = p.soort;
|
||||
this.valtonder_id = p.valtonder_id;
|
||||
this.actief = ko.observable(p.actief());
|
||||
this.monbas = ko.observable(p.monbas());
|
||||
this.mondiv = ko.observable(p.mondiv());
|
||||
this.bijlage = ko.observable(p ? p.bijlage() : '')
|
||||
}
|
||||
|
||||
function fAddZoekresultaat(p){
|
||||
this.id = p.id;
|
||||
this.soort = p.soort;
|
||||
this.nummer = p.brin;
|
||||
this.naamkort = p.naamkort;
|
||||
this.plaats = p.plaats;
|
||||
}
|
||||
function fAddModule(p){
|
||||
this.modulesysnr = p.sysnr;
|
||||
this.naam = p.naam;
|
||||
this.janee = ko.observable(false);
|
||||
if (p.janee) this.janee(true);
|
||||
}
|
||||
|
||||
if (ls.OrganisatiesModel !== undefined){
|
||||
ls.OrganisatiesModel.initModel();
|
||||
}
|
||||
else {
|
||||
ls.OrganisatiesModel = {
|
||||
swvs : ko.observableArray([]),
|
||||
selectedSWV : ko.observable(),
|
||||
kamers : ko.observableArray([]),
|
||||
selectedKamer : ko.observable(),
|
||||
bgs : ko.observableArray([]),
|
||||
selectedBG : ko.observable(),
|
||||
scholen : ko.observableArray([]),
|
||||
targetsoort : ko.observable(1),
|
||||
oldOrg : ko.observable(), // om de oude waardes vast te houden in geval van annuleren
|
||||
editOrg : ko.observable(), // organisatie die geupdate wordt
|
||||
newOrg : ko.observable({
|
||||
newSoort : ko.observable(''),
|
||||
newValtonder : ko.observable(''),
|
||||
newNummer : ko.observable(''),
|
||||
newNaam : ko.observable(''),
|
||||
newNaamkort : ko.observable(''),
|
||||
newPlaats : ko.observable(''),
|
||||
newMonbas : ko.observable(false),
|
||||
newMondiv : ko.observable(false)
|
||||
}),
|
||||
zoekstring : ko.observable(''),
|
||||
zoekresultaten : ko.observableArray([]),
|
||||
ignore : ko.observable(false),
|
||||
beheerder : ko.observable(true), // voorlopig heeft alleen beheerder toegang tot organisaties
|
||||
modules : ko.observableArray([]),
|
||||
|
||||
initBindings :function(){
|
||||
var self = ls.OrganisatiesModel;
|
||||
if (!ko.dataFor(document.getElementById('pagOrganisatiesXL')) ) {
|
||||
ko.applyBindings(ls.OrganisatiesModel, document.getElementById("pagOrganisatiesXL"));
|
||||
}
|
||||
self.initModel();
|
||||
},
|
||||
|
||||
initModel: function(){
|
||||
var self =ls.OrganisatiesModel;
|
||||
self.swvs.removeAll();
|
||||
$.post("index.php/shared/organisaties/getorgsperlevel/1", function(data){
|
||||
if (data){
|
||||
$.each(data, function(i,p){
|
||||
self.swvs.push(new fAddOrg(p));
|
||||
});
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
fChangeSWV : function(data,event){
|
||||
var self = ls.OrganisatiesModel;
|
||||
|
||||
if (self.ignore()) return;
|
||||
|
||||
self.kamers.removeAll();
|
||||
if (self.selectedSWV() != undefined){
|
||||
var submitData={toporgid : self.selectedSWV().id,
|
||||
getlevel : 2};
|
||||
$.post("index.php/shared/organisaties/getorgsperlevel/2", submitData, function(data){
|
||||
if (data){
|
||||
$.each(data,function(i,p){
|
||||
self.kamers.push(new fAddOrg(p));
|
||||
});
|
||||
}
|
||||
},'json');
|
||||
}; // if
|
||||
},
|
||||
fChangeKamer: function(){
|
||||
var self=ls.OrganisatiesModel;
|
||||
if (self.ignore()) return;
|
||||
self.bgs.removeAll();
|
||||
if (self.selectedKamer() == undefined) return;
|
||||
|
||||
var submitData={toporgid : self.selectedKamer().id,
|
||||
getlevel : 3};
|
||||
$.post("index.php/shared/organisaties/getorgsperlevel/3", submitData, function(data){
|
||||
if (data){
|
||||
$.each(data,function(i,p){
|
||||
self.bgs.push(new fAddOrg(p));
|
||||
});
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
|
||||
fChangeBG : function(){
|
||||
var self=ls.OrganisatiesModel;
|
||||
if (self.ignore()) return;
|
||||
self.scholen.removeAll();
|
||||
if (self.selectedBG() == undefined) return;
|
||||
|
||||
var submitData={toporgid : self.selectedBG().id,
|
||||
getlevel : 4};
|
||||
$.post("index.php/shared/organisaties/getorgsperlevel/4", submitData, function(data){
|
||||
if (data){
|
||||
$.each(data,function(i,p){
|
||||
self.scholen.push(new fAddOrg(p));
|
||||
});
|
||||
}
|
||||
},'json')
|
||||
},
|
||||
|
||||
fPopNewSWV: function(){
|
||||
var self = ls.OrganisatiesModel;
|
||||
|
||||
self.newOrg().newSoort(1);
|
||||
self.newOrg().newValtonder(null);
|
||||
self.newOrg().newNummer('');
|
||||
self.newOrg().newNaam('');
|
||||
self.newOrg().newNaamkort('');
|
||||
self.newOrg().newPlaats('');
|
||||
self.newOrg().newMonbas(true);
|
||||
self.newOrg().newMondiv(true);
|
||||
// haal modules op
|
||||
self.fGetModules(0);
|
||||
// $("#modNewOrg").modal('show');
|
||||
},
|
||||
fPopNewKamer: function(){
|
||||
var self = ls.OrganisatiesModel;
|
||||
if (self.selectedSWV() == undefined) return;
|
||||
|
||||
self.newOrg().newSoort(2);
|
||||
self.newOrg().newValtonder(self.selectedSWV().id);
|
||||
self.newOrg().newNummer('');
|
||||
self.newOrg().newNaam('');
|
||||
self.newOrg().newNaamkort('');
|
||||
self.newOrg().newPlaats('');
|
||||
self.newOrg().newMonbas(true);
|
||||
self.newOrg().newMondiv(true);
|
||||
self.fGetModules(0);
|
||||
// $("#modNewOrg").modal('show');
|
||||
},
|
||||
|
||||
fPopNewBG: function(){
|
||||
var self = ls.OrganisatiesModel;
|
||||
if (self.selectedKamer() == undefined) return;
|
||||
self.newOrg().newSoort(3);
|
||||
self.newOrg().newValtonder(self.selectedKamer().id);
|
||||
self.newOrg().newNummer('');
|
||||
self.newOrg().newNaam('');
|
||||
self.newOrg().newNaamkort('');
|
||||
self.newOrg().newPlaats('');
|
||||
self.newOrg().newMonbas(true);
|
||||
self.newOrg().newMondiv(true);
|
||||
self.fGetModules(0);
|
||||
// $("#modNewOrg").modal('show');
|
||||
},
|
||||
|
||||
fPopNewSchool:function(){
|
||||
var self = ls.OrganisatiesModel;
|
||||
if (self.selectedBG() == undefined) return;
|
||||
self.newOrg().newSoort(4);
|
||||
self.newOrg().newValtonder(self.selectedBG().id);
|
||||
self.newOrg().newNummer('');
|
||||
self.newOrg().newNaam('');
|
||||
self.newOrg().newNaamkort('');
|
||||
self.newOrg().newPlaats('');
|
||||
self.newOrg().newMonbas(true);
|
||||
self.newOrg().newMondiv(true);
|
||||
self.fGetModules(0);
|
||||
// $("#modNewOrg").modal('show');
|
||||
},
|
||||
|
||||
fGetModules :function(orgid){
|
||||
var self = ls.OrganisatiesModel;
|
||||
$.post("index.php/shared/organisaties/getmodules/" + orgid, function(result){
|
||||
self.modules.removeAll();
|
||||
if (result){
|
||||
$.each(result, function(i,p){
|
||||
self.modules.push(new fAddModule(p));
|
||||
}); // each
|
||||
};// if
|
||||
if (orgid == 0) { $("#modNewOrg").modal('show');}
|
||||
else { $("#modEditOrg").modal('show');};
|
||||
},'json');
|
||||
},
|
||||
fSaveOrg : function(){
|
||||
var self = ls.OrganisatiesModel;
|
||||
// probeer eerst op te slaan. als nummer al bestaat foutmelding geven en popup niet sluiten
|
||||
var licenties = [];
|
||||
$.each(self.modules(), function(i,p){
|
||||
if (p.janee()){
|
||||
licenties.push( p.modulesysnr);
|
||||
}
|
||||
});
|
||||
var submitData= { 'soort' : self.newOrg().newSoort(),
|
||||
"valtonder" : self.newOrg().newValtonder(),
|
||||
'nummer' : self.newOrg().newNummer(),
|
||||
'naam' : self.newOrg().newNaam(),
|
||||
'naamkort' : self.newOrg().newNaamkort(),
|
||||
'plaats' : self.newOrg().newPlaats(),
|
||||
'licenties' : licenties
|
||||
// 'monbas' : self.newOrg().newMonbas(),
|
||||
// 'mondiv' : self.newOrg().newMondiv()
|
||||
}
|
||||
|
||||
$.post("index.php/shared/organisaties/insertorganisatie", submitData, function(result){
|
||||
if (result.errortekst.length > 0){
|
||||
apprise(result.errortekst);
|
||||
}
|
||||
else{
|
||||
switch (self.newOrg().newSoort() ){
|
||||
case 1: self.swvs.push(new fAddOrg(result.org));
|
||||
$.each(self.swvs(), function(i,p){
|
||||
if (p.id == result.org.id){
|
||||
self.selectedSWV(p);
|
||||
self.fChangeSWV();
|
||||
return false;
|
||||
};
|
||||
});
|
||||
break;
|
||||
case 2: self.kamers.push(new fAddOrg(result.org));
|
||||
$.each(self.kamers(), function(i,p){
|
||||
if (p.id == result.org.id){
|
||||
self.selectedKamer(p);
|
||||
self.fChangeKamer();
|
||||
return false;
|
||||
};
|
||||
});
|
||||
break;
|
||||
case 3: self.bgs.push(new fAddOrg(result.org));
|
||||
$.each(self.bgs(), function(j,k){
|
||||
if (k.id== result.org.id){
|
||||
self.selectedBG(k);
|
||||
self.fChangeBG();
|
||||
return false;
|
||||
};
|
||||
});
|
||||
break;
|
||||
case 4: self.scholen.push(new fAddOrg(result.org));
|
||||
break;
|
||||
}
|
||||
$("#modNewOrg").modal('hide');
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
fPopEditOrg: function(data,gek){
|
||||
var self = ls.OrganisatiesModel;
|
||||
switch (data){
|
||||
case 1: self.oldOrg(self.selectedSWV());
|
||||
break;
|
||||
case 2: self.oldOrg(self.selectedKamer());
|
||||
break;
|
||||
case 3: self.oldOrg(self.selectedBG())
|
||||
break;
|
||||
case 4: self.oldOrg(this);
|
||||
break;
|
||||
}
|
||||
|
||||
self.editOrg( new fAddEditOrg(self.oldOrg() ) );
|
||||
self.fGetModules(self.oldOrg().id);
|
||||
//$("#modEditOrg").modal('show');
|
||||
},
|
||||
|
||||
fDeleteOrg: function(data,gek){
|
||||
var self= ls.OrganisatiesModel;
|
||||
var dit;
|
||||
switch (data){
|
||||
case 1: if (self.selectedSWV() == undefined) return;
|
||||
dit = self.selectedSWV();
|
||||
break;
|
||||
case 2: if (self.selectedKamer() == undefined) return;
|
||||
dit = self.selectedKamer();
|
||||
break;
|
||||
case 3: if (self.selectedBG() == undefined) return;
|
||||
dit = self.selectedBG();
|
||||
break;
|
||||
case 4: if (this== undefined) return;
|
||||
dit = this;
|
||||
break;
|
||||
}
|
||||
|
||||
apprise("Weet u zeker dat u " + dit.naam() + " wilt verwijderen?", {verify: true, textYes: 'ja', textNo: 'nee'}, function(ans){
|
||||
if (ans){
|
||||
$.post("index.php/shared/organisaties/deleteorg/" + dit.id, function(result){
|
||||
if (result && result.length > 0 ){
|
||||
apprise("Verwijderen is niet mogelijk. " + result);
|
||||
}
|
||||
else{
|
||||
switch (dit.soort ){
|
||||
case '1': self.swvs.remove(dit);
|
||||
self.selectedSWV(null);
|
||||
break;
|
||||
case '2': self.kamers.remove(dit);
|
||||
break;
|
||||
case '3': self.bgs.remove(dit);
|
||||
break;
|
||||
case '4': self.scholen.remove(dit);
|
||||
break;
|
||||
};// switch
|
||||
}
|
||||
},'json');
|
||||
}; // if ans
|
||||
});// apprise
|
||||
},
|
||||
fUpdateOrg: function(){
|
||||
var self = ls.OrganisatiesModel;
|
||||
if (self.editOrg() == undefined) return;
|
||||
var licenties = [];
|
||||
$.each(self.modules(), function(i,p){
|
||||
if (p.janee()){
|
||||
licenties.push( p.modulesysnr);
|
||||
}
|
||||
});
|
||||
var submitData = { id : self.editOrg().id,
|
||||
nummer : self.editOrg().nummer(),
|
||||
naamkort : self.editOrg().naamkort(),
|
||||
naam : self.editOrg().naam(),
|
||||
plaats : self.editOrg().plaats(),
|
||||
actief : self.editOrg().actief(),
|
||||
licenties : licenties
|
||||
};
|
||||
|
||||
$.post("index.php/shared/organisaties/update", submitData, function(error){
|
||||
if (error){
|
||||
apprise(error);
|
||||
}
|
||||
else{
|
||||
// zet de editvalues weer terug
|
||||
self.oldOrg().nummer(self.editOrg().nummer());
|
||||
self.oldOrg().naam(self.editOrg().naam());
|
||||
self.oldOrg().naamkort(self.editOrg().naamkort());
|
||||
self.oldOrg().plaats(self.editOrg().plaats());
|
||||
self.oldOrg().actief(self.editOrg().actief());
|
||||
self.oldOrg().monbas(self.editOrg().monbas());
|
||||
self.oldOrg().mondiv(self.editOrg().mondiv());
|
||||
$("#modEditOrg").modal('hide');
|
||||
}
|
||||
},'json')
|
||||
},
|
||||
fStartZoek :function(){
|
||||
var self = ls.OrganisatiesModel;
|
||||
if (self.zoekstring().length < 2) return;
|
||||
self.zoekresultaten.removeAll();
|
||||
var submitData= {zoekstring : self.zoekstring()};
|
||||
|
||||
$.post("index.php/shared/organisaties/zoek", submitData,function(result){
|
||||
|
||||
if (result){
|
||||
if (result.errortekst){
|
||||
apprise(result.errortekst);
|
||||
}
|
||||
else{
|
||||
$.each(result.results, function(i,p){
|
||||
self.zoekresultaten.push(new fAddZoekresultaat(p));
|
||||
});
|
||||
$("#modZoekresults").modal('show');
|
||||
};
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
fGetSelected: function(){
|
||||
var self =ls.OrganisatiesModel;
|
||||
$.post("index.php/shared/organisaties/getselected/"+ this.id, function(result){
|
||||
self.ignore(true);
|
||||
|
||||
self.selectedSWV(null);
|
||||
self.selectedKamer(null);
|
||||
self.selectedBG(null);
|
||||
|
||||
self.kamers.removeAll();
|
||||
self.bgs.removeAll();
|
||||
self.scholen.removeAll();
|
||||
|
||||
if (result.swvid != self.selectedSWV().id){
|
||||
$.each(self.swvs(), function(i,p){
|
||||
if (p.id == result.swvid) {self.selectedSWV(p) };
|
||||
}); // for each swvs
|
||||
}
|
||||
|
||||
$.each(result.kamers, function(j,k){
|
||||
self.kamers.push(new fAddOrg(k));
|
||||
}); // for each kamers
|
||||
|
||||
if (result.kamerid){
|
||||
$.each(self.kamers(), function(j,k){
|
||||
if (k.id == result.kamerid) {self.selectedKamer(k);}
|
||||
})
|
||||
}
|
||||
if (result.bgs) {
|
||||
$.each(result.bgs, function(i,p){
|
||||
self.bgs.push(new fAddOrg(p));
|
||||
});
|
||||
if (result.bgid){
|
||||
$.each(self.bgs(), function(j,k){
|
||||
if (k.id == result.bgid){self.selectedBG(k) ;}
|
||||
})
|
||||
}; // if resultbgid
|
||||
}; // if resultbgs
|
||||
|
||||
if (result.scholen){
|
||||
$.each(result.scholen,function(x,y){
|
||||
self.scholen.push(new fAddOrg(y));
|
||||
});
|
||||
}
|
||||
self.ignore(false);
|
||||
},'json');
|
||||
$("#modZoekresults").modal('hide');
|
||||
},
|
||||
|
||||
fDeleteBijlage: function(){
|
||||
var self =ls.OrganisatiesModel;
|
||||
if (! self.editOrg()) return;
|
||||
if (! self.editOrg().bijlage()) return;
|
||||
apprise("Weet u zeker dat u <i>"+ self.editOrg().bijlage()+"</i> wilt verwijderen?",
|
||||
{verify:true, textYes: ' ja ', textNo: 'nee'}, function(ans){
|
||||
if (ans){
|
||||
var sd = {orgID: self.editOrg().id}
|
||||
$.post("index.php/shared/organisaties/deleteBijlage", sd, function(){
|
||||
self.editOrg().bijlage('');
|
||||
$.each(self.swvs(), function(j,k){
|
||||
if (k.id == self.editOrg().id) k.bijlage('');
|
||||
})
|
||||
$.each(self.kamers(), function(j,k){
|
||||
if (k.id == self.editOrg().id) k.bijlage('');
|
||||
})
|
||||
$.each(self.bgs(), function(j,k){
|
||||
if (k.id == self.editOrg().id) k.bijlage('');
|
||||
})
|
||||
$.each(self.scholen(), function(j,k){
|
||||
if (k.id == self.editOrg().id) k.bijlage('');
|
||||
})
|
||||
})
|
||||
}
|
||||
})//apprise
|
||||
},
|
||||
|
||||
fDownloadBijlage: function(){
|
||||
var self =ls.OrganisatiesModel;
|
||||
if (!self.editOrg()) return;
|
||||
if (! self.editOrg().bijlage()) return;
|
||||
window.open( 'index.php/shared/upload/download_bijlage/' +self.editOrg().id );
|
||||
},
|
||||
|
||||
fUploadBijlage: function(){
|
||||
var self =ls.OrganisatiesModel;
|
||||
if (self.editOrg().bijlage()){
|
||||
apprise("Weet u zeker dat u de huidige file wilt vervangen?",
|
||||
{verify:true, textYes:' ja ' , textNo:'nee'}, function(ans){
|
||||
if (ans){
|
||||
self.fDaadwerkelijkUpload()
|
||||
} else {
|
||||
$("#bijlageFile").val('')
|
||||
}
|
||||
})//apprise
|
||||
}
|
||||
else self.fDaadwerkelijkUpload()
|
||||
},
|
||||
|
||||
fDaadwerkelijkUpload:function(){
|
||||
var self =ls.OrganisatiesModel;
|
||||
let bijlage = document.getElementById("bijlageFile").files[0];
|
||||
let formData = new FormData();
|
||||
formData.append('file', bijlage);
|
||||
formData.append('orgID', self.editOrg().id)
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "index.php/shared/organisaties/saveBijlageFile",
|
||||
contentType: false,
|
||||
processData: false,
|
||||
data: formData,
|
||||
success: function (error) {
|
||||
error = JSON.parse(error);
|
||||
if( error ) apprise(error)
|
||||
else {
|
||||
self.editOrg().bijlage(bijlage.name)
|
||||
$.each(self.swvs(), function(j,k){
|
||||
if (k.id == self.editOrg().id) k.bijlage(bijlage.name);
|
||||
})
|
||||
$.each(self.kamers(), function(j,k){
|
||||
if (k.id == self.editOrg().id) k.bijlage(bijlage.name);
|
||||
})
|
||||
$.each(self.bgs(), function(j,k){
|
||||
if (k.id == self.editOrg().id) k.bijlage(bijlage.name);
|
||||
})
|
||||
$.each(self.scholen(), function(j,k){
|
||||
if (k.id == self.editOrg().id) k.bijlage(bijlage.name);
|
||||
})
|
||||
$("#bijlageFile").val('')
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
} ; // definition van model
|
||||
|
||||
ko.applyBindings(ls.OrganisatiesModel, document.getElementById("pagOrganisatiesXL"));
|
||||
ls.OrganisatiesModel.initModel();
|
||||
|
||||
}; // else
|
||||
}// function initOrganisatiesModel
|
||||
});
|
||||
@@ -0,0 +1,322 @@
|
||||
$(function(){
|
||||
|
||||
ls.initOverzichtScoresModel= function(){
|
||||
|
||||
function fAddSWV(p){
|
||||
var dit = this;
|
||||
this.id = p.id;
|
||||
this.soort = p.soort
|
||||
this.brin = p.brin
|
||||
this.naam = p.naamkort
|
||||
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.brin = p.brin
|
||||
this.naam = p.naamkort
|
||||
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.brin = p.brin
|
||||
this.naam = p.naamkort
|
||||
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.brin = p.brin
|
||||
this.naam = p.naamkort
|
||||
this.plaats = p.plaats
|
||||
}
|
||||
|
||||
function fAddOrgversion(p){
|
||||
this.id = p.id; //orgversion id
|
||||
this.periodenummer = p.periodenummer
|
||||
this.versie_id = p.versie_id
|
||||
this.vorm = p.vorm
|
||||
this.scoretype = p.scoretype
|
||||
this.naam = p.naam
|
||||
this.geldigvanaf = p.geldigvanaf;
|
||||
this.geldigtm = p.geldigtm;
|
||||
this.invullentm = p.invullentm;
|
||||
this.info = ko.computed(function(){
|
||||
var infostr=this.naam + " - periode " + this.periodenummer ;
|
||||
infostr += " van " + this.geldigvanaf + " t/m " + this.geldigtm;
|
||||
return infostr;
|
||||
},this)
|
||||
}
|
||||
|
||||
|
||||
function fAddUser(p){
|
||||
this.userid = p.id;
|
||||
this.naam = p.fullname;
|
||||
}
|
||||
|
||||
function fAddStandaard(p){
|
||||
this.naam = p.omschrijving;
|
||||
this.onvoldoende = p.onvol;
|
||||
this.voldoende = p.vol;
|
||||
this.goed = p.goed;
|
||||
this.fvID = p. fvID;
|
||||
this.ijkpuntID = p.ijkpuntID;
|
||||
this.oordeelid = ko.observable(p.oordeelid);
|
||||
this.normid = ko.observable(p.normid);
|
||||
this.norm = ko.observable(p.norm);
|
||||
this.toelichting = p.toelichting;
|
||||
}
|
||||
|
||||
if (ls.OverzichtScoresModel !== undefined){
|
||||
ls.OverzichtScoresModel.initModel();
|
||||
}
|
||||
else {
|
||||
ls.OverzichtScoresModel = {
|
||||
|
||||
toporg : ko.observableArray([]),
|
||||
selectedOrg : ko.observable(''),
|
||||
orgsoort : ko.observable(1),
|
||||
orgversions : ko.observableArray([]),
|
||||
selectedOrgversion : ko.observable(''),
|
||||
standaarden : ko.observableArray([]),
|
||||
normen : ko.observableArray([
|
||||
{normid: 4, norm:'goed'},
|
||||
{normid: 3, norm:'voldoende'},
|
||||
{normid: 2, norm:'onvoldoende'},
|
||||
{normid: 1, norm:'zeer zwak'}
|
||||
]),
|
||||
users : ko.observableArray(),
|
||||
selectedUser : ko.observable(),
|
||||
usernivo : ko.observable(), // het nivo van de ingelogde user; nodig om te bepalen of individuele gegevens moeten worden opgehaald
|
||||
magWijzigen : ko.observable(false),
|
||||
bezig : ko.observable(false),
|
||||
|
||||
initBindings :function(){
|
||||
var self = ls.OverzichtScoresModel;
|
||||
if (!ko.dataFor(document.getElementById('pagoverzichtscores')) ) {
|
||||
ko.applyBindings(ls.OverzichtScoresModel, document.getElementById("pagoverzichtscores"));
|
||||
}
|
||||
self.initModel();
|
||||
},
|
||||
|
||||
initModel: function(){
|
||||
var self =ls.OverzichtScoresModel;
|
||||
self.toporg('');
|
||||
$.post("index.php/monpas/rapijkpunten/getorgs", function(data){
|
||||
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.fCheckEditRecht();
|
||||
},'json');
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
|
||||
fCheckEditRecht: function(){
|
||||
var self =ls.OverzichtScoresModel;
|
||||
|
||||
$.post('index.php/monpas/overzichtscores/geteditrecht/'+self.selectedOrg().id, function(data){
|
||||
if (data){
|
||||
self.magWijzigen(data);
|
||||
}
|
||||
self.fSwitchLevel();
|
||||
}, 'json');
|
||||
|
||||
},
|
||||
|
||||
|
||||
fToggleGeopend: function(){
|
||||
this.geopend(!this.geopend());
|
||||
},
|
||||
|
||||
fSwitchOrg: function(){
|
||||
var self = ls.OverzichtScoresModel;
|
||||
if (self.selectedOrg() == undefined) return;
|
||||
if (this.id == self.selectedOrg().id) return;
|
||||
self.selectedOrg(this);
|
||||
self.fCheckEditRecht();
|
||||
},
|
||||
|
||||
fSwitchLevel: function(){
|
||||
var self = ls.OverzichtScoresModel;
|
||||
if (self.selectedOrg() == undefined) return;
|
||||
if (this.id == self.selectedOrg().id) return;
|
||||
self.orgversions.removeAll();
|
||||
|
||||
if (self.selectedOrg().soort < 4) return;
|
||||
$.post("index.php/monpas/rapijkpunten/getperiodes3/" + self.selectedOrg().id, function(data){
|
||||
if (data){
|
||||
$.each(data,function(i,p){
|
||||
self.orgversions.push(new fAddOrgversion(p));
|
||||
})
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
|
||||
fChangeUser: function(){
|
||||
var self = ls.OverzichtScoresModel;
|
||||
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();
|
||||
if (results){
|
||||
$.each(results, function(i,p){
|
||||
self.users.push(new fAddUser(p));
|
||||
}); // each
|
||||
self.selectedUser(self.users()[0]);
|
||||
}
|
||||
if (self.selectedUser()) {self.fGetUserScores(); }
|
||||
},'json'); // post
|
||||
},
|
||||
|
||||
fGetUserScores: function(){
|
||||
var self = ls.OverzichtScoresModel;
|
||||
if (! self.selectedOrgversion()) return;
|
||||
var submitData ='';
|
||||
|
||||
if ( self.selectedOrg() == undefined ||
|
||||
self.selectedOrgversion() == undefined ||
|
||||
self.users() == undefined ||
|
||||
self.usernivo > 1 ) return;
|
||||
|
||||
var orguserid =false;
|
||||
if (self.selectedUser() != undefined){ orugserid= self.selectedUser().userid; }
|
||||
submitData = { orguserid : orguserid,
|
||||
orgid : self.selectedOrg().id,
|
||||
orgversieid : self.selectedOrgversion().id}
|
||||
$.post("index.php/monpas/overzichtscores/getscores" , submitData, function(data){
|
||||
self.fFillScores(data)
|
||||
},'json');
|
||||
},
|
||||
|
||||
fFillScores: function(data){
|
||||
var self =ls.OverzichtScoresModel;
|
||||
self.standaarden.removeAll();
|
||||
|
||||
if (data ){
|
||||
$.each(data, function(i,p){
|
||||
self.standaarden.push(new fAddStandaard(p));
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
fChangeVersion2: function(){
|
||||
var self = ls.OverzichtScoresModel;
|
||||
if (self.selectedOrgversion() == undefined) return;
|
||||
|
||||
if (self.selectedOrg().soort == 4 && self.selectedOrgversion().vorm==2 && self.usernivo()<=1) {
|
||||
self.fChangeUser();
|
||||
}
|
||||
else {
|
||||
self.users.removeAll();
|
||||
var submitData = { orguserid : false,
|
||||
orgversieid : self.selectedOrgversion().id,
|
||||
orgid : self.selectedOrg().id}
|
||||
if (! self.selectedOrgversion()) return;
|
||||
self.standaarden.removeAll();
|
||||
$.post("index.php/monpas/overzichtscores/getscores", submitData, function(results){
|
||||
if (results ){
|
||||
$.each(results, function(i,p){
|
||||
self.standaarden.push(new fAddStandaard(p));
|
||||
})
|
||||
}
|
||||
},'json');
|
||||
}
|
||||
},
|
||||
|
||||
fToonToelichting: function(){
|
||||
var self = ls.OverzichtScoresModel;
|
||||
var dit = this;
|
||||
var toelichting = '';
|
||||
if (dit.toelichting != undefined) toelichting = dit.toelichting;
|
||||
apprise( dit.naam + '<br/>Toelichting: ' + toelichting);
|
||||
},
|
||||
|
||||
fPrintStandaarden :function(){
|
||||
var self = ls.OverzichtScoresModel;
|
||||
if (! self.selectedOrg() ) return;
|
||||
if (! self.selectedOrg().soort == 4) return;
|
||||
|
||||
var versie = self.selectedOrgversion().naam+' - periode ' +
|
||||
self.selectedOrgversion().periodenummer + ' van ' +
|
||||
self.selectedOrgversion().geldigvanaf + ' t/m ' +
|
||||
self.selectedOrgversion().geldigtm;
|
||||
var data = {school : self.selectedOrg().naam,
|
||||
versie: versie,
|
||||
standaarden: ko.toJSON(self.standaarden())}
|
||||
data=JSON.stringify(data);
|
||||
var $form = $("<form method='post' action='index.php/monpas/overzichtscores/pdfstandaarden' target='_blank'>").append($('<input type = "hidden" name="data" id ="data">').val(data) );
|
||||
$form.appendTo("body").submit();
|
||||
},
|
||||
fSaveOordeel: function(){
|
||||
var self =ls.OverzichtScoresModel;
|
||||
if (! self.magWijzigen()) return;
|
||||
var dit = this;
|
||||
|
||||
$.each(self.normen(), function(i,p){
|
||||
if (p.normid == dit.normid()) {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
var sd = {'oordeelID' : this.oordeelid(),
|
||||
'fvID' : this.fvID,
|
||||
'ijkID' : this.ijkpuntID,
|
||||
'normID' : this.normid()
|
||||
}
|
||||
$.post("index.php/monpas/overzichtscores/saveOordeel", sd, function(newid){
|
||||
if (newid){
|
||||
|
||||
self.fGetUserScores();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
} ; // definition van model
|
||||
ls.OverzichtScoresModel.initBindings();
|
||||
}; // else
|
||||
}// function initOverzichtScoresModel
|
||||
});
|
||||
@@ -0,0 +1,242 @@
|
||||
$( function () {
|
||||
|
||||
ls.initPortalModel = function () {
|
||||
var timeout;
|
||||
|
||||
function fAddBericht( b ) {
|
||||
var dit = this;
|
||||
this.berichtid = b.id;
|
||||
this.kort = ko.observable( b.samenvatting );
|
||||
this.lang = ko.observable( b.inhoud );
|
||||
this.langPopUp = ko.observable(b.inhoud);
|
||||
if(b.inhoud.length > 600){
|
||||
dit.langPopUp(b.inhoud.slice(0,600)+"...");
|
||||
}
|
||||
this.startdatum = ko.observable( b.startdatum );
|
||||
}
|
||||
|
||||
function shadeColor( color, percent ) {
|
||||
var f = parseInt( color.slice( 1 ), 16 ), t = percent < 0 ? 0 : 255,
|
||||
p = percent < 0 ? percent * -1 : percent, R = f >> 16, G = f >> 8 & 0x00FF, B = f & 0x0000FF;
|
||||
return "#" + (0x1000000 + (Math.round( (t - R) * p ) + R) * 0x10000 + (Math.round( (t - G) * p ) + G) * 0x100 + (Math.round( (t - B) * p ) + B)).toString( 16 ).slice( 1 );
|
||||
}
|
||||
|
||||
|
||||
function fAddLicentie( p, id ) {
|
||||
|
||||
//clusters en ongeclusterde instrumenten
|
||||
this.cluster_id = p.cluster_id; //id van cluster of clusterid waartoe instrument behoort
|
||||
this.sysnr = p.sysnr;
|
||||
this.naam = p.naam;
|
||||
this.naamkort = p.naamkort;
|
||||
|
||||
//this.k1="radial-gradient('"+p.kleur1 + "' , '" + p.kleur2 + "'))";
|
||||
this.k1 = "radial-gradient(#ffffff,#000000)"
|
||||
this.k2 = "radial-gradient(#ffffff,#dddddd)"
|
||||
kleur1 = '#ffffff';
|
||||
kleur2 = '#000000'
|
||||
if ( p.kleur1 ) kleur1 = p.kleur1
|
||||
if ( p.kleur2 ) kleur2 = p.kleur2
|
||||
|
||||
this.k1 = 'radial-gradient(' + kleur1 + ',' + kleur2 + ')';
|
||||
this.k2 = 'radial-gradient(' + shadeColor( kleur1, 0.2 ) + ',' + kleur2 + ' )';
|
||||
|
||||
var dit = this;
|
||||
|
||||
if ( p.wasNiveau2 == 'T' ) {
|
||||
if ( p.cluster_id && p.cluster_id > 0 )
|
||||
this.k2 = 'radial-gradient(' + kleur1 + ',' + shadeColor( kleur2, 0.5 ) + ')';
|
||||
}
|
||||
|
||||
|
||||
this.isCluster = ko.computed( function () {//cluster of instrument
|
||||
var cluster = false;
|
||||
if ( p.isCluster == 'T' ) {
|
||||
cluster = true;
|
||||
}
|
||||
return cluster;
|
||||
} )
|
||||
|
||||
this.selectie = ko.computed( function () {// geslecteerde instrumentn
|
||||
var toon = false;
|
||||
if ( id ) {
|
||||
if ( id == dit.cluster_id ) {
|
||||
toon = true;
|
||||
}
|
||||
return toon;
|
||||
}
|
||||
} )
|
||||
this.geopend = ko.observable( false );
|
||||
this.bolletjes = ko.observableArray();
|
||||
|
||||
if ( p.sub ) {
|
||||
$.each( p.sub, function ( i, k ) {
|
||||
dit.bolletjes.push( new fAddBolletje( i, k, id, kleur1, kleur2 ) )
|
||||
} );
|
||||
}
|
||||
}
|
||||
|
||||
function fAddBolletje( i, b, id, kleur1, kleur2 ) {
|
||||
this.bolletjeId = b.id;
|
||||
this.sysnr = b.sysnr;
|
||||
this.cluster_id = b.cluster_id;//instrumenten die onder cluster hangen
|
||||
this.naam = b.naam;
|
||||
this.naamkort = b.naamkort;
|
||||
this.isCluster = ko.observable( false );
|
||||
this.kleur = ko.observable( 'defaultBol' );
|
||||
if ( b.cluster_id ) this.kleur = 'instrument' + b.cluster_id;
|
||||
|
||||
|
||||
//this.k1="radial-gradient(#ffffff,#777777)"
|
||||
//this.k2="radial-gradient(#ffffff,#dddddd)"
|
||||
//if (kleur1 && kleur2) {
|
||||
this.k1 = 'radial-gradient(' + shadeColor( kleur1, 0.5 ) + ',' + shadeColor( kleur2, 0.5 ) + ')';
|
||||
this.k2 = this.k1;
|
||||
// }
|
||||
|
||||
this.zindex = ko.computed( function () {// om bollen onder cluster te laren vallen
|
||||
var teller = 19 - i;
|
||||
return teller;
|
||||
} )
|
||||
|
||||
this.naarBoven = ko.computed( function () {// om bollen onder cluster te schuiven
|
||||
var schuif = -175 * (i + 1);
|
||||
return schuif + 'px';
|
||||
} )
|
||||
|
||||
var opGaand = this.naarBoven();
|
||||
this.marge = ko.observable( opGaand );
|
||||
}
|
||||
|
||||
if ( ls.PortalModel !== undefined ) {
|
||||
ls.PortalModel.initModel();
|
||||
}
|
||||
else {
|
||||
ls.PortalModel = {
|
||||
licenties : ko.observableArray( [] ),
|
||||
mededelingen : ko.observableArray( [] ),
|
||||
gekozen : ko.observable( false ),
|
||||
bezig : ko.observable( false ),
|
||||
|
||||
initBindings: function () {
|
||||
var self = ls.PortalModel;
|
||||
if ( !ko.dataFor( document.getElementById( 'pagportal' ) ) ) {
|
||||
ko.applyBindings( ls.PortalModel, document.getElementById( "pagportal" ) );
|
||||
}
|
||||
self.bezig( true );
|
||||
self.initModel();
|
||||
},
|
||||
initModel : function () {
|
||||
var self = ls.PortalModel;
|
||||
self.fToonPopup();
|
||||
$.post( "index.php/shared/portal/getlicenties", function ( result ) {
|
||||
self.licenties.removeAll();
|
||||
if ( result ) {
|
||||
$.each( result, function ( i, p ) {
|
||||
var clusterid = '';
|
||||
|
||||
self.licenties.push( new fAddLicentie( p, clusterid ) );
|
||||
} ); // each
|
||||
|
||||
}
|
||||
; // if result
|
||||
self.bezig( false );
|
||||
}, 'json' );
|
||||
|
||||
},
|
||||
|
||||
fToonPopup: function () {
|
||||
var self = ls.PortalModel;
|
||||
$.post( "index.php/monpas/berichten/getberichtenVoorpagina/", function (data) {
|
||||
self.mededelingen.removeAll();
|
||||
if ( data ) {
|
||||
$( '#popupBericht' ).modal( 'show' );
|
||||
$.each( data, function ( i, b ) {
|
||||
self.mededelingen.push( new fAddBericht( b ) );
|
||||
} );// each
|
||||
}
|
||||
; //if
|
||||
}, 'json' );
|
||||
|
||||
},
|
||||
|
||||
fOpenBericht: function () {
|
||||
var self = ls.PortalModel;
|
||||
var anker = this.berichtid;
|
||||
// $.each( ls.MenuModel.menuitems(), function ( i, p ) {
|
||||
// if ( p.naam == 'berichten' ) {
|
||||
// p.gekozen( true );
|
||||
//
|
||||
// }
|
||||
// else {
|
||||
// p.gekozen( false )
|
||||
// }
|
||||
// } );
|
||||
|
||||
$( '#popupBericht' ).modal( 'hide' );
|
||||
|
||||
$( '#pagportal' ).fadeOut( function () {
|
||||
$( '#pagberichten' ).fadeIn( 500 );
|
||||
} );
|
||||
|
||||
mh.initBerichtenModel();
|
||||
|
||||
|
||||
},
|
||||
|
||||
fMeerBerichten: function () {
|
||||
var self = ls.PortalModel;
|
||||
$.each( ls.MenuModel.menuitems(), function ( i, p ) {
|
||||
if ( p.naam == 'berichten' ) {
|
||||
p.gekozen( true );
|
||||
|
||||
}
|
||||
else {
|
||||
p.gekozen( false )
|
||||
}
|
||||
} ),
|
||||
$( '#pagportal' ).fadeOut();
|
||||
$( '#pagberichten' ).fadeIn( 500 );
|
||||
mh.initBerichtenModel( 0 );
|
||||
},
|
||||
|
||||
fNaarModule: function () {
|
||||
var self = ls.PortalModel;
|
||||
var dit = this;
|
||||
|
||||
|
||||
if ( !this.isCluster() ) {// Verwijzen direct naar een instrument.
|
||||
|
||||
$.post( "index.php/shared/portal/naarmodule/" + this.sysnr, function () {
|
||||
location.reload();
|
||||
} );
|
||||
}
|
||||
else {
|
||||
self.gekozen( true );
|
||||
dit.geopend( !dit.geopend() );
|
||||
var clusterid = dit.cluster_id;
|
||||
$.post( "index.php/shared/portal/kiesCluster/" + clusterid, function ( result ) {//haalt alles opnieuw op.
|
||||
// De instrumenten bij het gekozen array worden naast het cluster op rij getoond
|
||||
self.licenties.removeAll();
|
||||
if ( result ) {
|
||||
$.each( result, function ( i, p ) {
|
||||
self.licenties.push( new fAddLicentie( p, clusterid ) );
|
||||
} );
|
||||
}
|
||||
}, 'json' );
|
||||
}
|
||||
},
|
||||
|
||||
fSluitCluster: function () {
|
||||
var self = ls.PortalModel;
|
||||
self.gekozen( false );
|
||||
this.geopend( !this.geopend() )
|
||||
self.initModel();
|
||||
}
|
||||
|
||||
}; // definition van model
|
||||
ls.PortalModel.initBindings();
|
||||
}
|
||||
; // else
|
||||
}// function initPortalModel
|
||||
} );
|
||||
@@ -0,0 +1,98 @@
|
||||
$(function(){
|
||||
|
||||
mh.initScoresModel = function(){
|
||||
var timer;
|
||||
|
||||
function fAddScoreType(i, s){
|
||||
var dit = this;
|
||||
this.nr = s.sysnr;
|
||||
this.omschrijving = s.omschrijving;
|
||||
this.opties = ko.observableArray();
|
||||
if(s.opties){
|
||||
$.each(s.opties, function(x, o){
|
||||
dit.opties.push(new fAddOptie(x, o))
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function fAddOptie(x, o){
|
||||
this.id = o.id;
|
||||
this.optie = o.optie;
|
||||
this.scoretekst = ko.observable(o.omschrijving ? o.omschrijving : 'niet beschikbaar');
|
||||
this.scoretekstoud = ko.observable(o.omschrijving ? o.omschrijving : 'niet beschikbaar');
|
||||
|
||||
}
|
||||
|
||||
if (mh.ScoresModel !== undefined){
|
||||
mh.ScoresModel.initModel();
|
||||
}
|
||||
else {
|
||||
mh.ScoresModel = {
|
||||
scoretypes : ko.observableArray([]),
|
||||
selectedType : ko.observable(),
|
||||
editok : ko.observable(false),
|
||||
newScoretekst : ko.observable(),
|
||||
|
||||
|
||||
initBindings :function(){
|
||||
var self = mh.ScoresModel;
|
||||
if (!ko.dataFor(document.getElementById('pagScores')) ) {
|
||||
ko.applyBindings(mh.ScoresModel, document.getElementById("pagScores"));
|
||||
}
|
||||
$.post("index.php/monpas/swvversies/getAntwoordtypesEnOmschrijving" , function(types){
|
||||
self.scoretypes.removeAll();
|
||||
if (types){
|
||||
|
||||
$.each(types, function(i,s){
|
||||
if(s.opties) {
|
||||
self.scoretypes.push(new fAddScoreType(i, s));
|
||||
}
|
||||
}); // each
|
||||
|
||||
|
||||
}; // if
|
||||
self.initModel();
|
||||
},'json');
|
||||
},
|
||||
initModel: function(){
|
||||
var self =mh.ScoresModel;
|
||||
|
||||
},
|
||||
|
||||
fChangeScoretype: function(){
|
||||
var self = mh.ScoresModel;
|
||||
|
||||
},
|
||||
|
||||
fEditOmschrijving: function(){
|
||||
var self = mh.ScoresModel;
|
||||
self.editok(!self.editok());
|
||||
},
|
||||
|
||||
fSaveEdit: function(){
|
||||
var self = mh.ScoresModel;
|
||||
var dit = this;
|
||||
if (timer){
|
||||
clearTimeout(timer);
|
||||
timeout = null;
|
||||
}
|
||||
timer = setTimeout(function(){
|
||||
var submitData=
|
||||
{id : dit.id,
|
||||
omschrijving : dit.scoretekst(),
|
||||
};
|
||||
|
||||
|
||||
$.post("index.php/monpas/swvversies/updateAntwoordopties",submitData, function(result){
|
||||
|
||||
},'json');
|
||||
},700);
|
||||
|
||||
},
|
||||
|
||||
|
||||
} ; // definition van model
|
||||
mh.ScoresModel.initBindings();
|
||||
}; // else
|
||||
}// function initScoresModel
|
||||
});
|
||||
@@ -0,0 +1,24 @@
|
||||
$(function(){
|
||||
|
||||
ls.initNaamModel = function(){
|
||||
if (ls.NaamModel !== undefined){
|
||||
ls.NaamModel.initModel();
|
||||
}
|
||||
else {
|
||||
ls.NaamModel = {
|
||||
initBindings :function(){
|
||||
var self = ls.NaamModel;
|
||||
if (!ko.dataFor(document.getElementById('pagNaam')) ) {
|
||||
ko.applyBindings(ls.NaamModel, document.getElementById("pagNaam"));
|
||||
}
|
||||
self.initModel();
|
||||
},
|
||||
initModel: function(){
|
||||
|
||||
}
|
||||
|
||||
} ; // definition van model
|
||||
ls.NaamModel.initBindings();
|
||||
}; // else
|
||||
}// function initNaamModel
|
||||
});
|
||||
@@ -0,0 +1,39 @@
|
||||
$(function(){
|
||||
mh.initSopModel = function(){
|
||||
|
||||
function fAddIets(p){
|
||||
var dit = this;
|
||||
this.id = p.id;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (mh.SopModel !== undefined){
|
||||
mh.SopModel.initModel();
|
||||
}
|
||||
else {
|
||||
mh.SopModel = {
|
||||
dingen : ko.observableArray([]),
|
||||
|
||||
|
||||
initBindings :function(){
|
||||
var self = mh.SopModel;
|
||||
|
||||
if (!ko.dataFor(document.getElementById('pagsophoofd')) ) {
|
||||
ko.applyBindings(mh.SopModel, document.getElementById("pagsophoofd"));
|
||||
}
|
||||
self.initModel();
|
||||
},
|
||||
initModel: function(){
|
||||
var self =mh.SopModel;
|
||||
}
|
||||
|
||||
|
||||
|
||||
} ; // definition van model
|
||||
mh.SopModel.initBindings();
|
||||
} // else
|
||||
}// function init mh.SopModel
|
||||
});
|
||||
@@ -0,0 +1,241 @@
|
||||
$(function(){
|
||||
|
||||
mh.initSopOverzichtModel = function(){
|
||||
|
||||
function fAddSWV(p){
|
||||
var dit = this;
|
||||
this.id = p.id;
|
||||
this.soort = p.soort;
|
||||
this.brin = p.brin;
|
||||
this.naam = p.naamkort;
|
||||
this.plaats = p.plaats;
|
||||
this.geopend = ko.observable(false);
|
||||
dit.kamers = ko.observableArray([]);
|
||||
dit.scholen = ko.observableArray([]);
|
||||
if (p.kamers){
|
||||
$.each(p.kamers, function(j,k){
|
||||
dit.kamers.push(new fAddKamer(k));
|
||||
})
|
||||
}
|
||||
if (p.scholen ){
|
||||
$.each(p.scholen, function(i,s){
|
||||
dit.scholen.push(new fAddSchool(s));
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function fAddKamer(p){
|
||||
var dit = this;
|
||||
this.id = p.id;
|
||||
this.soort = p.soort;
|
||||
this.brin = p.brin;
|
||||
this.naam = p.naamkort;
|
||||
this.plaats = p.plaats;
|
||||
this.geopend = ko.observable(false);
|
||||
this.bgs = ko.observableArray([]);
|
||||
this.scholen = ko.observableArray([]);
|
||||
if (p.bgs){
|
||||
$.each(p.bgs, function(x,z){
|
||||
dit.bgs.push(new fAddBG(z));
|
||||
})
|
||||
}
|
||||
if (p.scholen){
|
||||
$.each(p.scholen, function(i,s){
|
||||
dit.scholen.push(new fAddSchool(s));
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function fAddBG(p){
|
||||
var dit = this;
|
||||
this.id = p.id;
|
||||
this.soort = p.soort;
|
||||
this.brin = p.brin;
|
||||
this.naam = p.naamkort;
|
||||
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(b){
|
||||
var dit = this;
|
||||
this.id = b.id;
|
||||
this.soort = b.soort;
|
||||
this.brin = b.brin;
|
||||
this.naam = b.naamkort;
|
||||
this.plaats = b.plaats;
|
||||
this.erIsEenSop = ko.observable(false);
|
||||
if(b.sop === 'T') dit.erIsEenSop(true)
|
||||
}
|
||||
|
||||
function fAddSchooljaar(s){
|
||||
this.id = s.schooljaarnr;
|
||||
this.naam = s.naam;
|
||||
}
|
||||
|
||||
if (mh.SopOverzichtModel !== undefined){
|
||||
mh.SopOverzichtModel.initModel();
|
||||
}
|
||||
else {
|
||||
mh.SopOverzichtModel = {
|
||||
toporg : ko.observable(''),
|
||||
selectedOrg : ko.observable(''),
|
||||
orgsoort : ko.observable(1),
|
||||
keuzesoort : ko.observable(1),
|
||||
geopend : ko.observable(false),
|
||||
schooljaren : ko.observableArray([]),
|
||||
selectedSchooljaar : ko.observable(''),
|
||||
gegevens : ko.observable(true),
|
||||
alfabetisch : ko.observable(false),
|
||||
|
||||
|
||||
|
||||
initBindings :function(){
|
||||
var self = mh.SopOverzichtModel;
|
||||
if (!ko.dataFor(document.getElementById('pagsopoverzicht')) ) {
|
||||
ko.applyBindings(mh.SopOverzichtModel, document.getElementById("pagsopoverzicht"));
|
||||
}
|
||||
self.initModel();
|
||||
},
|
||||
|
||||
initModel: function(){
|
||||
var self =mh.SopOverzichtModel;
|
||||
self.fGetSchooljaren();
|
||||
},
|
||||
|
||||
fGetSchooljaren: function() {
|
||||
var self =mh.SopOverzichtModel;
|
||||
$.post("index.php/monpas/overzichtsop/getSchooljaren", function(data){
|
||||
self.selectedSchooljaar(null);
|
||||
self.schooljaren.removeAll();
|
||||
if(data) {
|
||||
$.each(data, function (i, s) {
|
||||
self.schooljaren.push(new fAddSchooljaar(s));
|
||||
});//each
|
||||
if (self.schooljaren() ) self.selectedSchooljaar(self.schooljaren()[0]);
|
||||
} // if
|
||||
self.fGetMenu();
|
||||
|
||||
},'json')
|
||||
},
|
||||
|
||||
fGetMenu: function(){
|
||||
var self = mh.SopOverzichtModel;
|
||||
self.alfabetisch(false);
|
||||
var submitData = {
|
||||
'schooljaarnr' : self.selectedSchooljaar().id,
|
||||
'orgid' : 0
|
||||
};
|
||||
$.post("index.php/monpas/overzichtsop/getoverzicht", submitData , function(data){
|
||||
self.toporg('');
|
||||
if (data.organisatie){
|
||||
self.orgsoort(data.soort);
|
||||
self.keuzesoort(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
|
||||
self.selectedOrg(self.toporg())}
|
||||
},'json');
|
||||
},
|
||||
|
||||
fChangeSchooljaar: function(){
|
||||
var self = mh.SopOverzichtModel;
|
||||
if(!self.selectedSchooljaar()) return;
|
||||
if(!self.alfabetisch())self.fGetOverzicht();
|
||||
if(self.alfabetisch())self.fGetAlfabetisch();
|
||||
},
|
||||
|
||||
fToggleOrdening: function(){
|
||||
var self = mh.SopOverzichtModel;
|
||||
self.alfabetisch(!self.alfabetisch());
|
||||
if(!self.alfabetisch())self.fGetOverzicht();
|
||||
if(self.alfabetisch())self.fGetAlfabetisch();
|
||||
},
|
||||
|
||||
fGetOverzicht: function(){
|
||||
var self =mh.SopOverzichtModel;
|
||||
|
||||
var submitData = {
|
||||
'schooljaarnr' : self.selectedSchooljaar().id,
|
||||
'orgid' : self.selectedOrg().id
|
||||
};
|
||||
$.post("index.php/monpas/overzichtsop/getoverzicht", submitData , function(data){
|
||||
if (data.organisatie){
|
||||
self.keuzesoort(data.soort);
|
||||
switch (self.keuzesoort()){
|
||||
case 1: self.selectedOrg(new fAddSWV(data.organisatie));
|
||||
break;
|
||||
case 2: self.selectedOrg(new fAddKamer(data.organisatie));
|
||||
break;
|
||||
case 3: self.selectedOrg(new fAddBG(data.organisatie));
|
||||
break;
|
||||
case 4: self.selectedOrg(new fAddSchool(data.organisatie));
|
||||
break;
|
||||
} // switch
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
|
||||
fGetAlfabetisch: function(){
|
||||
var self =mh.SopOverzichtModel;
|
||||
if(self.selectedOrg().soort === '3' || self.selectedOrg().soort === '4'){
|
||||
self.fGetOverzicht();
|
||||
return;
|
||||
}
|
||||
var submitData = {
|
||||
'schooljaarnr' : self.selectedSchooljaar().id,
|
||||
'orgid' : self.selectedOrg().id
|
||||
};
|
||||
$.post("index.php/monpas/overzichtsop/getAlfabetisch", submitData , function(data){
|
||||
if (data.organisatie){
|
||||
self.keuzesoort(data.soort);
|
||||
if(self.keuzesoort() === '1') self.selectedOrg(new fAddSWV(data.organisatie));
|
||||
if(self.keuzesoort() === '2') self.selectedOrg(new fAddKamer(data.organisatie));
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
|
||||
fToggleGeopend: function(){
|
||||
var self =mh.SopOverzichtModel;
|
||||
this.geopend(!this.geopend());
|
||||
},
|
||||
|
||||
fSwitchOrg: function(){
|
||||
var self =mh.SopOverzichtModel;
|
||||
if (self.selectedOrg() === undefined) return;
|
||||
if (this.id === self.selectedOrg().id) return;
|
||||
self.keuzesoort('');
|
||||
self.selectedOrg(this);
|
||||
if (!self.alfabetisch()) self.fGetOverzicht();
|
||||
if (self.alfabetisch()) self.fGetAlfabetisch();
|
||||
|
||||
},
|
||||
|
||||
fOpenPDF: function(){
|
||||
var self =mh.SopOverzichtModel;
|
||||
var dit = this;
|
||||
var submitData = {
|
||||
'orgid' : dit.id,
|
||||
'schooljaarnr': self.selectedSchooljaar().id
|
||||
};
|
||||
window.open("index.php/monpas/overzichtsop/download_pdf/" + dit.id + '/'+ self.selectedSchooljaar().id );
|
||||
}
|
||||
|
||||
} ; // definition van model
|
||||
mh.SopOverzichtModel.initBindings();
|
||||
} // else
|
||||
}// function init mh.SopOverzichtModel
|
||||
});
|
||||
@@ -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
|
||||
});
|
||||
@@ -0,0 +1,731 @@
|
||||
function startTinyMCE(callback){
|
||||
|
||||
if ($("#contentSopoud").tinymce()) {
|
||||
tinyMCE.activeEditor.setContent('');
|
||||
$("#contentSopoud").tinymce().remove();
|
||||
}
|
||||
tinymce.init({ selector: "textarea#contentSopoud",
|
||||
fontsize_formats: "8pt 9pt 10pt 11pt 12pt 26pt 36pt",
|
||||
fontName: "Verdana",
|
||||
theme: "modern",
|
||||
plugins:"advlist ,paste , table, pagebreak, code",
|
||||
theme_modern_buttons_add: "tablecontrols",
|
||||
menubar:false,
|
||||
statusbar:false,
|
||||
height:554,
|
||||
width: 700,
|
||||
table_class_list: [
|
||||
{title: 'geen', value: ''},
|
||||
{title: 'zonder rand', value: 'without-border'},
|
||||
{title: 'met rand', value: 'with-border'}],
|
||||
table_cell_class_list: [
|
||||
{title: 'geen', value: ''},
|
||||
{title: 'zonder rand', value: 'without-border'},
|
||||
{title: 'met rand', value: 'with-border'}],
|
||||
table_row_class_list: [
|
||||
{title: 'geen', value: ''},
|
||||
{title: 'zonder rand', value: 'without-border'},
|
||||
{title: 'met rand', value: 'with-border'}],
|
||||
content_css: "../css/edcontent.css",
|
||||
browser_spellcheck: true,
|
||||
paste_data_images:true,
|
||||
valid_elements: "b,br,em,h1, h2,h3,h4,i,li,ol,a,pagebreak,strong,style,table[style|class|id], tbody,thead,tr,td,th,ul,#p",
|
||||
extended_valid_elements: "h1[style],h2[style],h3[style],table[style|class|id] ,tr[style|class],td[style|colspan|class],thead[style|class],p[style|class],th[style],div[style|class],*[*]",
|
||||
pagebreak_separator: "<div style='page-break-after:always'></div> ",
|
||||
paste_auto_cleanup_on_paste: true,
|
||||
paste_retain_style_properties:"none",
|
||||
paste_strip_class_attributes:"none",
|
||||
font_formats:"Default='Verdana','sans-serif', 'Arial', 'Helvetica' ;",
|
||||
toolbar: 'undo redo | fontsizeselect | styleselect | bold italic underline | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | table | pagebreak | code',
|
||||
|
||||
setup:function(ed){
|
||||
ed.on('blur',function(e){
|
||||
ls.StandaardSopModel.fGetChapterandSave();
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
$(function(){
|
||||
|
||||
ls.initStandaardSopModel = function(){
|
||||
|
||||
|
||||
function fAddChapter(p){
|
||||
this.id = p.id
|
||||
this.naam = p.naam;
|
||||
this.module = p.module;
|
||||
this.selected = ko.observable(false);
|
||||
this.aanwezig = ko.observable(p.aanwezig);
|
||||
|
||||
}
|
||||
function fAddProfiel(p){
|
||||
this.id = p.profielID;
|
||||
this.soort = p.soort; // geerf vanuit organisatie
|
||||
this.naam = ko.observable(p.naam);
|
||||
this.van = ko.observable(p.van);
|
||||
this.tm = ko.observable(p.tm);
|
||||
}
|
||||
function fAddVersie(p){
|
||||
this.orgversie = p.id;
|
||||
this.naam = p.naam;
|
||||
}
|
||||
|
||||
if (ls.StandaardSopModel !== undefined){
|
||||
ls.StandaardSopModel.initModel();
|
||||
}
|
||||
else {
|
||||
|
||||
ls.StandaardSopModel = {
|
||||
profielen : ko.observableArray([]),
|
||||
selectedProfiel : ko.observable(),
|
||||
newnaam : ko.observable(''),
|
||||
periodetm : ko.observable(''),
|
||||
periodevan : ko.observable(''),
|
||||
chapters : ko.observableArray([]),
|
||||
selectedChapter : ko.observable(),
|
||||
inhoud : ko.observable({ id : null,
|
||||
content : ko.observable(''),
|
||||
orgversie : ko.observable('') }),
|
||||
schooljanee : ko.observable(false),
|
||||
editok : ko.observable(false),
|
||||
versies : ko.observableArray([]),
|
||||
selectedVersie : ko.observable(''),
|
||||
loading : ko.observable(false),
|
||||
gebruikVersie : ko.observable(''),
|
||||
gemeld : ko.observable(false),
|
||||
|
||||
initBindings :function(){
|
||||
var self = ls.StandaardSopModel;
|
||||
|
||||
if (!ko.dataFor(document.getElementById('pagstandaardsop')) ) {
|
||||
ko.applyBindings(ls.StandaardSopModel, document.getElementById("pagstandaardsop"));
|
||||
}
|
||||
$.post('index.php/monpas/sopoud/getrechten', function(result){
|
||||
self.editok(result);
|
||||
startTinyMCE();
|
||||
self.initModel();
|
||||
|
||||
},'json');
|
||||
},
|
||||
initModel: function(){
|
||||
var self = ls.StandaardSopModel;
|
||||
|
||||
$.post("index.php/monpas/sopoud/controleerschool", function (result){
|
||||
self.schooljanee(result);
|
||||
|
||||
if (self.schooljanee()){
|
||||
$.post("index.php/monpas/sopoud/getchapters",function(chapters){
|
||||
self.chapters.removeAll();
|
||||
self.selectedChapter(null);
|
||||
if (chapters){
|
||||
$.each(chapters, function(i,p){
|
||||
self.chapters.push(new fAddChapter(p));
|
||||
});
|
||||
self.selectedChapter(self.chapters()[0]);
|
||||
};//if result for chapters
|
||||
|
||||
$.post("index.php/monpas/sopoud/getprofielen", function(data){
|
||||
self.profielen.removeAll();
|
||||
if (data){
|
||||
$.each(data, function(i,p){
|
||||
self.profielen.push(new fAddProfiel(p));
|
||||
});//each
|
||||
self.selectedProfiel(self.profielen()[0]);
|
||||
self.fGetChapterTekst(self.selectedChapter().id);
|
||||
}; //if data
|
||||
},'json');
|
||||
},'json');
|
||||
}; //if schooljanee
|
||||
},'json');
|
||||
},
|
||||
fGetProfiel:function(){
|
||||
var self = ls.StandaardSopModel;
|
||||
var chapterid = 1;
|
||||
if (!self.selectedProfiel()){
|
||||
return;
|
||||
}
|
||||
$.post('index.php/monpas/sopoud/getchapterids/' + self.selectedProfiel().id,function(result){
|
||||
$.each(self.chapters(), function(i,p){
|
||||
p.aanwezig(false);
|
||||
});
|
||||
$.each(self.chapters(), function(j,k){
|
||||
$.each(result, function(a,b){
|
||||
if (b.chapter_id == k.id) {k.aanwezig(true);};
|
||||
});
|
||||
if (k.selected()) self.selectedChapter(k);
|
||||
//chapterid = k.id;
|
||||
});
|
||||
if (!self.selectedChapter()) self.selectedChapter(self.chapters()[0]);
|
||||
self.fGetChapterTekst();
|
||||
},'json');
|
||||
},
|
||||
fGetChapter: function(){
|
||||
var self = ls.StandaardSopModel;
|
||||
var dit = this;
|
||||
if (self.selectedChapter() && dit.id === self.selectedChapter().id ) return; //hoofdstuk is al geselecteerd
|
||||
if (!self.selectedProfiel()) {
|
||||
alert("Er is geen SOP geselecteerd.");
|
||||
return; // er is nog geen profiel geselecteerd
|
||||
}
|
||||
// save het oude hoofdstuk
|
||||
if (self.selectedChapter() && self.selectedChapter().id > 0){
|
||||
self.fSaveChapter(self.selectedChapter().id);
|
||||
}
|
||||
self.loading(true);
|
||||
self.gebruikVersie('');
|
||||
self.gemeld(false);
|
||||
self.selectedChapter(dit);
|
||||
self.fGetChapterTekst();
|
||||
},
|
||||
|
||||
fSaveChapter: function(chapterid){
|
||||
var self =ls.StandaardSopModel;
|
||||
if (!self.editok()) return;
|
||||
if (!self.inhoud().id) return;
|
||||
var tekst = tinymce.get('contentSopoud').getContent({format: 'html'});
|
||||
var submitData ={ id : self.inhoud().id,
|
||||
tekst : tekst,
|
||||
orgversie: self.inhoud().orgversie()}
|
||||
$.post("index.php/monpas/sopoud/saveinhoud", submitData);
|
||||
},
|
||||
|
||||
fGetChapterandSave:function(){
|
||||
var self =ls.StandaardSopModel;
|
||||
var chapID = self.selectedChapter().id;
|
||||
if (!chapID ){
|
||||
alert("U heeft geen hoofdstuk geselecteerd");
|
||||
return;
|
||||
}
|
||||
if (chapID){
|
||||
self.fSaveChapter(chapID);
|
||||
}
|
||||
},
|
||||
fGetChapterTekst: function(){
|
||||
var self=ls.StandaardSopModel;
|
||||
if (!self.selectedProfiel()) return;
|
||||
var nieuw = false
|
||||
var modulenr = 0;
|
||||
|
||||
if (!self.selectedChapter().aanwezig && [0,6,7,11,12].indexOf(self.selectedChapter().id) > 0){
|
||||
nieuw = true;
|
||||
}
|
||||
|
||||
var versieID = null;
|
||||
if (self.gebruikVersie() ) {versieID = self.gebruikVersie()}
|
||||
var submitData = {chapterid : self.selectedChapter().id,
|
||||
profielid : self.selectedProfiel().id,
|
||||
versieid : versieID}
|
||||
|
||||
|
||||
showAjaxLoader();
|
||||
tinymce.activeEditor.setContent('');
|
||||
setTimeout(function(){
|
||||
$.post("index.php/monpas/sopoud/getchaptercontent", submitData, function(result){
|
||||
self.loading(true);
|
||||
self.versies.removeAll();
|
||||
self.selectedVersie(0);
|
||||
self.gebruikVersie('');
|
||||
self.inhoud().id =0;
|
||||
self.inhoud().content('');
|
||||
self.inhoud().orgversie(null);
|
||||
if (result.versies && result.versies.availversies){
|
||||
$.each(result.versies.availversies, function(j, versie){
|
||||
self.versies.push(new fAddVersie(versie));
|
||||
})
|
||||
}
|
||||
if (result.inhoud) {
|
||||
self.inhoud().id = result.inhoud.id;
|
||||
self.inhoud().content(result.inhoud.content);
|
||||
self.inhoud().orgversie(result.inhoud.orgversieid)
|
||||
}
|
||||
if (self.inhoud().orgversie()) {self.selectedVersie(self.inhoud().orgversie());}
|
||||
else {
|
||||
if (self.versies()) {self.selectedVersie(self.versies()[0])}
|
||||
else {self.selectedVersie(null)};
|
||||
}
|
||||
self.gebruikVersie(self.selectedVersie());
|
||||
self.loading(false);
|
||||
tinymce.get('contentSopoud').setContent(result.inhoud.content,{format: 'html'});
|
||||
// tinyMCE.activeEditor.undoManager.clear();
|
||||
self.selectedChapter().aanwezig(true);
|
||||
if (self.selectedChapter().id !== "1" && self.selectedChapter().id !== "5" &&
|
||||
self.selectedChapter().id !== "4" && self.selectedChapter().id !== "10" &&
|
||||
!self.selectedVersie() && !self.gemeld()) {
|
||||
apprise("Er is nog geen instrument bij dit hoofdstuk in gevuld.");
|
||||
self.gemeld(true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// hideAjaxLoader();
|
||||
if (nieuw){
|
||||
if (self.selectedcChapter().id === 6) self.fCheckChapter(11);
|
||||
if (self.selectedcChapter().id === 11) self.fCheckChapter(6);
|
||||
if (self.selectedcChapter().id === 7) self.fCheckChapter(12);
|
||||
if (self.selectedcChapter().id === 12) self.fCheckChapter(7);
|
||||
}; // if nieuw
|
||||
},'json').always(function(){
|
||||
hideAjaxLoader() } );
|
||||
}, 500);
|
||||
},
|
||||
fCheckChapter:function(chapterid){
|
||||
var self = ls.StandaardSopModel;
|
||||
var targetchapter = null;
|
||||
$.each(self.chapters(), function(i,p){
|
||||
if (p.id === chapterid && p.aanwezig()){ targetchapter = p; } ;
|
||||
}); // each
|
||||
if (targetchapter !=null){
|
||||
apprise("Wilt u hoofdstuk <i>" + targetchapter.naam + "</i> nu verversen?", {verify:true, textYes: 'ja', textNo: 'nee'}, function(ans){
|
||||
if (ans){
|
||||
self.fVerversGeenCheck(chapterid);
|
||||
}
|
||||
}); // apprise
|
||||
}; // if targetchapter not null
|
||||
},
|
||||
fVerversGeenCheck: function(chapterid){
|
||||
var self =ls.StandaardSopModel;
|
||||
if (!self.selectedProfiel()) return;
|
||||
|
||||
|
||||
var submitData = { profielid : self.selectedProfiel().id,
|
||||
hoofdstuk : chapterid,
|
||||
versie : self.gebruikVersie()};
|
||||
showAjaxLoader();
|
||||
$.post("index.php/monpas/sopoud/getenquetemoduleandsave", submitData, function(result){
|
||||
hideAjaxLoader();
|
||||
},'json');
|
||||
},
|
||||
fNieuwProfiel: function(){
|
||||
var self =ls.StandaardSopModel;
|
||||
self.newnaam('');
|
||||
$("#modNieuwProfiel").modal('show');
|
||||
},
|
||||
fSaveProfiel: function(){
|
||||
var self =ls.StandaardSopModel;
|
||||
|
||||
var submitData ={ naam : self.newnaam(),
|
||||
van : self.periodevan(),
|
||||
tm : self.periodetm()}
|
||||
$.post("index.php/monpas/sopoud/maaknewprofiel", submitData, function(result){
|
||||
if (result){
|
||||
self.profielen.push(new fAddProfiel(result));
|
||||
self.selectedProfiel(self.profielen()[self.profielen().length-1 ] );
|
||||
$.each(self.chapters(), function(i,p){
|
||||
p.aanwezig(false);
|
||||
}); // each
|
||||
self.selectedChapter(self.chapters()[0]);
|
||||
self.selectedVersie(null);
|
||||
self.fGetChapterTekst(self.selectedChapter().id);
|
||||
}
|
||||
},'json');
|
||||
$("#modNieuwProfiel").modal('hide');
|
||||
},
|
||||
fDeleteProfiel :function(){
|
||||
var self =ls.StandaardSopModel;
|
||||
apprise("Weet u zeker dat u " + self.selectedProfiel().naam() + " wilt verwijderen? U kunt dit niet ongedaan maken!",
|
||||
{verify:true, textYes:'ja', textNo:"nee"}, function(ans){
|
||||
if (ans){
|
||||
$.post("index.php/monpas/sopoud/deleteprofiel/" + self.selectedProfiel().id, function(){
|
||||
self.profielen.remove(self.selectedProfiel());
|
||||
if (self.profielen().length>0){
|
||||
self.selectedProfiel(self.profielen()[0]);
|
||||
self.fGetProfiel();
|
||||
}
|
||||
else{
|
||||
tinyMCE.activeEditor.setContent('');
|
||||
$.each(self.chapters(), function(i,p){
|
||||
p.selected(false);
|
||||
p.aanwezig(false);
|
||||
});
|
||||
self.selectedChapter(null);
|
||||
}
|
||||
});
|
||||
}
|
||||
});//apprise
|
||||
},
|
||||
fEditProfiel:function(){
|
||||
var self = ls.StandaardSopModel;
|
||||
if (!self.selectedProfiel()) return;
|
||||
$("#modEditProfiel").modal('show');
|
||||
},
|
||||
|
||||
fUpdateProfiel: function(){
|
||||
var self = ls.StandaardSopModel;
|
||||
var submitData = { id : self.selectedProfiel().id,
|
||||
naam : self.selectedProfiel().naam(),
|
||||
van : self.selectedProfiel().van(),
|
||||
tm : self.selectedProfiel().tm()}
|
||||
$.post('index.php/monpas/sopoud/updateprofiel', submitData, function(){
|
||||
$("#modEditProfiel").modal('hide');
|
||||
},'json');
|
||||
},
|
||||
fVervers : function(){
|
||||
var self =ls.StandaardSopModel;
|
||||
if (!self.selectedProfiel()) return;
|
||||
if (!self.selectedChapter()) {
|
||||
alert("U heeft geen hoofdstuk geselecteerd");
|
||||
return;
|
||||
}
|
||||
|
||||
apprise("Weet u zeker dat u de tabellen wilt verversen? " +
|
||||
"Wijzigingen die u heeft aangebracht op plaatsen met een lichtgele achtergrond gaan verloren.",
|
||||
{verify:true, textYes: 'ja', textNo:'nee'}, function(ans){
|
||||
self.fGetNieuweTabellen(false);
|
||||
}); // apprise
|
||||
},
|
||||
fGetNieuweTabellen: function(updaterelatedchapters){
|
||||
var self = ls.StandaardSopModel;
|
||||
var newhtml = '';
|
||||
switch (parseInt(self.selectedChapter().id)){
|
||||
case 1: $.post('index.php/monpas/sopoud/getschooldetails', function(result){
|
||||
if (result) {
|
||||
newhtml=result;
|
||||
tinymce.activeEditor.dom.remove("tablesopschooldetails");
|
||||
if (tinymce.get('contentSopoud').dom.select('div.tableholderschooldetails').length > 0){
|
||||
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholderschooldetails')[0], newhtml);
|
||||
}
|
||||
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
|
||||
}
|
||||
},'json'); //post
|
||||
break;
|
||||
case 2: showAjaxLoader();
|
||||
|
||||
$.post("index.php/monpas/sopoud/getdiversiteit1/" + self.selectedProfiel().id + '/' + self.gebruikVersie(), function(result){
|
||||
if (result) {
|
||||
newhtml=result.dvt2;
|
||||
tinymce.activeEditor.dom.remove("tablediversiteit2");
|
||||
if (tinymce.get('contentSopoud').dom.select('div.tableholderdiversiteitsomvang').length > 0){
|
||||
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholderdiversiteitsomvang')[0], newhtml);
|
||||
}
|
||||
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
|
||||
|
||||
newhtml=result.dvt3;
|
||||
tinymce.activeEditor.dom.remove("tablediversiteit3");
|
||||
if (tinymce.get('contentSopoud').dom.select('div.tableholderleerlingaantallen').length > 0){
|
||||
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholderleerlingaantallen')[0], newhtml);
|
||||
}
|
||||
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
|
||||
|
||||
newhtml=result.dvt4;
|
||||
tinymce.activeEditor.dom.remove("tablediversiteit4");
|
||||
if (tinymce.get('contentSopoud').dom.select('div.tableholderdiversiteitsquotienten').length > 0){
|
||||
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholderdiversiteitsquotienten')[0], newhtml);
|
||||
}
|
||||
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
|
||||
|
||||
newimage=result.imagedata;
|
||||
tinymce.activeEditor.dom.remove("divimage1");
|
||||
if (tinymce.get('contentSopoud').dom.select('div.tableholderdiversiteitprofiel').length > 0){
|
||||
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholderdiversiteitprofiel')[0], newimage);
|
||||
}
|
||||
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newimage);};
|
||||
};//if result
|
||||
hideAjaxLoader();
|
||||
},'json');
|
||||
break;
|
||||
case 3: $.post("index.php/monpas/sopoud/getondersteuning1/" + self.selectedProfiel().id + '/' + self.gebruikVersie(), function(result){
|
||||
if (result) {
|
||||
newhtml=result.os1;
|
||||
tinymce.activeEditor.dom.remove("tableondersteuning1");
|
||||
if (tinymce.get('contentSopoud').dom.select('div.tableholderondersteuningsmatrix').length > 0){
|
||||
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholderondersteuningsmatrix')[0], newhtml);
|
||||
}
|
||||
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
|
||||
|
||||
newhtml=result.os2;
|
||||
tinymce.activeEditor.dom.remove("tableondersteuning2");
|
||||
if (tinymce.get('contentSopoud').dom.select('div.tableholderaardondersteuning').length > 0){
|
||||
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholderaardondersteuning')[0], newhtml);
|
||||
}
|
||||
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
|
||||
}
|
||||
},'json');
|
||||
break;
|
||||
case 6:
|
||||
showAjaxLoader();
|
||||
$.post("index.php/monpas/sopoud/getenquetemodule/" + self.selectedProfiel().id + '/' + 1 + '/' +self.selectedChapter().id + '/' + self.gebruikVersie(), function(result){
|
||||
if (result) {
|
||||
newimg = result.imagedata;
|
||||
tinymce.activeEditor.dom.remove("mod1image1");
|
||||
if (tinymce.get('contentSopoud').dom.select('div.grafiekholdermonbas').length > 0){
|
||||
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.grafiekholdermonbas')[0], newimg);
|
||||
}
|
||||
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newimg);};
|
||||
|
||||
newhtml=result.tabel1;
|
||||
tinymce.activeEditor.dom.remove("tabelmb1");
|
||||
if (tinymce.get('contentSopoud').dom.select('div.tableholdermonbasteam').length > 0){
|
||||
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholdermonbasteam')[0], newhtml);
|
||||
}
|
||||
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
|
||||
|
||||
newhtml=result.tabel2;
|
||||
tinymce.activeEditor.dom.remove("tabelmb2");
|
||||
if (tinymce.get('contentSopoud').dom.select('div.tableholdermonbasschool').length > 0){
|
||||
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholdermonbasschool')[0], newhtml);
|
||||
}
|
||||
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
|
||||
}
|
||||
hideAjaxLoader();
|
||||
},'json');
|
||||
break;
|
||||
case 7: showAjaxLoader();
|
||||
$.post("index.php/monpas/sopoud/getenquetemodule/" + self.selectedProfiel().id + '/' + 4+ '/' +self.selectedChapter().id + '/' + self.gebruikVersie(), function(result){
|
||||
if (result) {
|
||||
newimg = result.imagedata;
|
||||
tinymce.activeEditor.dom.remove("mod4image1");
|
||||
if (tinymce.get('contentSopoud').dom.select('div.grafiekholdersm').length > 0){
|
||||
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.grafiekholdersm')[0], newimg);
|
||||
}
|
||||
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newimg);};
|
||||
|
||||
newhtml=result.tabel1;
|
||||
tinymce.activeEditor.dom.remove("tabelsm1");
|
||||
if (tinymce.get('contentSopoud').dom.select('div.tableholdersm1').length > 0){
|
||||
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholdersm1')[0], newhtml);
|
||||
}
|
||||
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
|
||||
|
||||
newhtml=result.tabel2;
|
||||
tinymce.activeEditor.dom.remove("tabelsm2");
|
||||
if (tinymce.get('contentSopoud').dom.select('div.tableholdersm2').length > 0){
|
||||
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholdersm2')[0], newhtml);
|
||||
}
|
||||
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
|
||||
}
|
||||
hideAjaxLoader();
|
||||
},'json');
|
||||
break;
|
||||
case 8: showAjaxLoader();
|
||||
$.post("index.php/monpas/sopoud/getenquetemodule/" + self.selectedProfiel().id + '/' + 5+ '/' +self.selectedChapter().id + '/' + self.gebruikVersie(), function(result){
|
||||
if (result) {
|
||||
newimg = result.imagedata;
|
||||
tinymce.activeEditor.dom.remove("mod5image1");
|
||||
if (tinymce.get('contentSopoud').dom.select('div.grafiekholders').length > 0){
|
||||
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.grafiekholders')[0], newimg);
|
||||
}
|
||||
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newimg);};
|
||||
|
||||
newhtml=result.tabel1;
|
||||
tinymce.activeEditor.dom.remove("estabel1");
|
||||
if (tinymce.get('contentSopoud').dom.select('div.tableholderexpertise1').length > 0){
|
||||
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholderexpertise1')[0], newhtml);
|
||||
}
|
||||
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
|
||||
|
||||
newhtml=result.tabel2;
|
||||
tinymce.activeEditor.dom.remove("estabel2");
|
||||
if (tinymce.get('contentSopoud').dom.select('div.tableholderexpertise2').length > 0){
|
||||
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholderexpertise2')[0], newhtml);
|
||||
}
|
||||
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
|
||||
}
|
||||
hideAjaxLoader();
|
||||
},'json');
|
||||
break;
|
||||
case 9: showAjaxLoader();
|
||||
$.post("index.php/monpas/sopoud/getenquetemodule/" + self.selectedProfiel().id + '/' + 3+ '/' +self.selectedChapter().id + '/' + self.gebruikVersie(), function(result){
|
||||
if (result) {
|
||||
newimg = result.imagedata;
|
||||
tinymce.activeEditor.dom.remove("mod3image1");
|
||||
if (tinymce.get('contentSopoud').dom.select('div.grafiekholdertv').length > 0){
|
||||
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.grafiekholdertv')[0], newimg);
|
||||
}
|
||||
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newimg);};
|
||||
|
||||
newhtml=result.tabel1;
|
||||
tinymce.activeEditor.dom.remove("tvtabel1");
|
||||
if (tinymce.get('contentSopoud').dom.select('div.tableholdertevredenheid1').length > 0){
|
||||
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholdertevredenheid1')[0], newhtml);
|
||||
}
|
||||
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
|
||||
|
||||
newhtml=result.tabel2;
|
||||
tinymce.activeEditor.dom.remove("tvtabel2");
|
||||
if (tinymce.get('contentSopoud').dom.select('div.tableholdertevredenheid2').length > 0){
|
||||
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholdertevredenheid2')[0], newhtml);
|
||||
}
|
||||
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
|
||||
}
|
||||
hideAjaxLoader();
|
||||
},'json');
|
||||
break;
|
||||
case 11: showAjaxLoader();
|
||||
$.post("index.php/monpas/sopoud/getontwikkelagenda/" + self.selectedProfiel().id + '/' + 1 + '/' + self.gebruikVersie(), function(result){
|
||||
if (result) {
|
||||
newhtml=result.image1;
|
||||
tinymce.activeEditor.dom.remove("oa1image1");
|
||||
if (tinymce.get('contentSopoud').dom.select('div.tableholderontwikkelagenda1').length > 0){
|
||||
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholderontwikkelagenda1')[0], newhtml);
|
||||
}
|
||||
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
|
||||
|
||||
newhtml=result.tabel2;
|
||||
tinymce.activeEditor.dom.remove("mod1tabel2");
|
||||
if (tinymce.get('contentSopoud').dom.select('div.tableholderontwikkelagenda2').length > 0){
|
||||
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholderontwikkelagenda2')[0], newhtml);
|
||||
}
|
||||
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
|
||||
}
|
||||
hideAjaxLoader();
|
||||
},'json');
|
||||
break;
|
||||
case 12: showAjaxLoader();
|
||||
$.post("index.php/monpas/sopoud/getontwikkelagenda/" + self.selectedProfiel().id + '/' + 4+ '/' + self.gebruikVersie(), function(result){
|
||||
if (result) {
|
||||
|
||||
newhtml=result.image1;
|
||||
tinymce.activeEditor.dom.remove("oa2image1");
|
||||
if (tinymce.get('contentSopoud').dom.select('div.tableholderontwikkelagenda1').length > 0){
|
||||
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholderontwikkelagenda1')[0], newhtml);
|
||||
}
|
||||
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
|
||||
|
||||
newhtml=result.tabel2;
|
||||
tinymce.activeEditor.dom.remove("mod4tabel2");
|
||||
if (tinymce.get('contentSopoud').dom.select('div.tableholderontwikkelagenda2').length > 0){
|
||||
tinymce.get('contentSopoud').dom.setHTML(tinymce.get('contentSopoud').dom.select('div.tableholderontwikkelagenda2')[0], newhtml);
|
||||
}
|
||||
else {tinymce.activeEditor.execCommand('mceInsertContent',false,newhtml);};
|
||||
}
|
||||
hideAjaxLoader();
|
||||
},'json');
|
||||
break;
|
||||
}; // switch
|
||||
if (updaterelatedchapters){
|
||||
if (self.selectedChapter().id === 6) self.fCheckChapter(11);
|
||||
if (self.selectedChapter().id === 11) self.fCheckChapter(6);
|
||||
if (self.selectedChapter().id === 7) self.fCheckChapter(12);
|
||||
if (self.selectedChapter().id === 12) self.fCheckChapter(7);
|
||||
}
|
||||
},
|
||||
fVerversVersie :function(model, event){
|
||||
var self = ls.StandaardSopModel;
|
||||
if (self.loading()) return;
|
||||
if(event.originalEvent && event.originalEvent.isTrusted){
|
||||
|
||||
|
||||
|
||||
var chaplijst = '';
|
||||
var chapids = [];
|
||||
self.gebruikVersie(self.selectedVersie());
|
||||
$.each(self.chapters(), function (j, k) {
|
||||
if (k.id !== self.selectedChapter().id &&
|
||||
k.aanwezig() &&
|
||||
k.module === self.selectedChapter().module) {
|
||||
chaplijst = chaplijst + k.naam + ", ";
|
||||
chapids.push(k.id);
|
||||
}
|
||||
});
|
||||
var sd = {
|
||||
inhoudid: self.inhoud().id,
|
||||
versie: self.gebruikVersie(),
|
||||
chapterid: self.selectedChapter().id,
|
||||
chapids: chapids,
|
||||
profielid: self.selectedProfiel().id
|
||||
}
|
||||
|
||||
var apprisestring = 'Bij het instellen van een nieuwe versie, worden de tabellen ververst en eventuele wijzigingen die u heeft aangebracht gaan verloren. ';
|
||||
if (chaplijst > '') {
|
||||
chaplijst = "<i>" + chaplijst + "</i>" + " gebruikt dezelfde gegevens. Dit hoofdstuk zal ook worden aangepast.";
|
||||
apprisestring = apprisestring + "<br>" + chaplijst + "<br>";
|
||||
}
|
||||
apprisestring = apprisestring + "<br>Weet u zeker dat u een ander schooljaar of andere lijstversie wilt gebruiken? ";
|
||||
apprise(apprisestring,
|
||||
{verify: true, textYes: 'ja', textNo: 'nee'}, function (ans) {
|
||||
if (ans) {
|
||||
showAjaxLoader();
|
||||
$.post("index.php/monpas/sopoud/saveversie", sd, function (waitfor) {
|
||||
self.inhoud().orgversie(self.gebruikVersie());
|
||||
self.fGetNieuweTabellen(true);
|
||||
hideAjaxLoader();
|
||||
}, 'json');
|
||||
}
|
||||
else {
|
||||
self.loading(true);
|
||||
self.selectedVersie(self.inhoud().orgversie());
|
||||
self.gebruikVersie(self.selectedVersie());
|
||||
self.loading(false);
|
||||
}
|
||||
}); // apprise
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
fOpnieuw: function(){
|
||||
var self = ls.StandaardSopModel;
|
||||
|
||||
if (!self.selectedProfiel()) return;
|
||||
|
||||
if (!self.selectedChapter() ){
|
||||
alert("U heeft geen hoofdstuk geselecteerd");
|
||||
return;
|
||||
}
|
||||
//gooi de oude pagina weg en begin opnieuw.
|
||||
apprise("Weet u zeker dat u het hoofdstuk opnieuw wilt laten maken? Alle wijzigingen die u heeft aangebracht gaan daarmee verloren.",
|
||||
{verify: true, textYes: 'ja', textNo: 'nee'}, function(ans){
|
||||
if (ans){
|
||||
showAjaxLoader();
|
||||
|
||||
$.post('index.php/monpas/sopoud/deletehoofdstuk/' + self.selectedProfiel().id + '/' + self.selectedChapter().id, function(result){
|
||||
self.fGetChapterTekst(self.selectedChapter().id);
|
||||
},'json');
|
||||
|
||||
hideAjaxLoader();
|
||||
if (self.selectedChapter().id === 6) self.fCheckChapter(11);
|
||||
if (self.selectedChapter().id === 11) self.fCheckChapter(6);
|
||||
if (self.selectedChapter().id === 7) self.fCheckChapter(12);
|
||||
if (self.selectedChapter().id === 12) self.fCheckChapter(7);
|
||||
};// if ans
|
||||
|
||||
}); // apprise
|
||||
},
|
||||
|
||||
fMaakPdf :function(){
|
||||
var self = ls.StandaardSopModel;
|
||||
if (!self.selectedProfiel()) return;
|
||||
var data={profielid : self.selectedProfiel().id};
|
||||
var submitUrl = "index.php/monpas/sopoud/maakpdf/?json=" +JSON.stringify(data);
|
||||
window.open(submitUrl);
|
||||
},
|
||||
fMaakWord: function(){
|
||||
var self = ls.StandaardSopModel;
|
||||
if (!self.selectedProfiel()) return;
|
||||
var sURL="index.php/monpas/sopoud/maakword/" + self.selectedProfiel().id ;
|
||||
window.open(sURL);
|
||||
},
|
||||
fDelChapter :function(){
|
||||
var self =ls.StandaardSopModel;
|
||||
var dit = this;
|
||||
apprise("Weet u zeker dat u hoofdstuk " + dit.naam + " wilt verwijderen?", {verify:true, textYes:'ja', textNo: 'nee'}, function(ans){
|
||||
if (ans){
|
||||
$.post("index.php/monpas/sopoud/deletehoofdstuk/" + self.selectedProfiel().id + '/' + dit.id,function(result){
|
||||
self.selectedChapter(null);
|
||||
tinyMCE.activeEditor.setContent('');
|
||||
dit.aanwezig(false);
|
||||
|
||||
$.each(self.chapters(), function(i,p){
|
||||
// if (p.aanwezig){
|
||||
if(p.id === '1'){
|
||||
self.selectedChapter(p);
|
||||
self.selectedVersie(null);
|
||||
self.gebruikVersie('');
|
||||
self.fGetChapterTekst();
|
||||
|
||||
return;
|
||||
|
||||
|
||||
}
|
||||
});//each
|
||||
|
||||
},'json');
|
||||
}
|
||||
}); // apprise
|
||||
}
|
||||
} ; // definition van model
|
||||
ls.StandaardSopModel.initBindings();
|
||||
}; // else
|
||||
}// function initStandaardSopModel
|
||||
});
|
||||
@@ -0,0 +1,168 @@
|
||||
// Streefcijfers biedt de mogelijkheid voor "gewone" gebruikers om de periode versies in te stellen.
|
||||
// In eerste instantie alleen de criteria, maar zou, naar overleg met Rob ook de vorm of het antwoordtype kunnen zijn
|
||||
//hierarchie is SWV ->Kamer->BG.Gebruikers van organisaties op die niveaus mogen de criteria voor de scholen aanpassen.
|
||||
//wanneer de criteria gebruikt worden, wordt altijd gezocht naar het laagste niveau waarop de criteria zijn gedefinieerd.
|
||||
//streefcijfers gelden voor alle scholen onder de organisatie
|
||||
$(function(){
|
||||
|
||||
ls.initStreefcijfersModel = function(){
|
||||
var timeout;
|
||||
|
||||
function fAddVersieAmbitie(p){
|
||||
this.id = p.id; // ambitie id
|
||||
this.periodenummer = p.periodenummer;
|
||||
this.naam = p.naam ; // versienaam
|
||||
this.orgversieid = p.orgversie_id;
|
||||
this.geldigvanaf = p.geldigvanaf;
|
||||
this.geldigtm = p.geldigtm;
|
||||
this.info = ko.computed(function(){
|
||||
var info = this.periodenummer + '. (versie: ' + this.naam + ') geldig vanaf ' + this.geldigvanaf + ' t/m ' + this.geldigtm;
|
||||
return info;
|
||||
},this);
|
||||
|
||||
this.gemscore = ko.observable(p.gemscore);
|
||||
this.xijkpunten = ko.observable(p.xijkpunten);
|
||||
this.zprocent = ko.observable(p.zprocent);
|
||||
this.wijzigok = p.wijzigok;
|
||||
}
|
||||
|
||||
function fAddSwv (p){
|
||||
var dit = this;
|
||||
this.id = p.id;
|
||||
this.brin = p.brin
|
||||
this.naam = p.brin + ' - ' + p.naamkort;
|
||||
this.plaats = p.plaats;
|
||||
this.kamers = ko.observableArray([]);
|
||||
if (p.kamers){
|
||||
$.each(p.kamers, function(j,k){
|
||||
dit.kamers.push(new fAddNivo2(k));
|
||||
})
|
||||
}
|
||||
if (p.bgs){
|
||||
$.each(p.bgs, function(j,k){
|
||||
dit.kamers.push(new fAddBG(k));
|
||||
});
|
||||
}
|
||||
}
|
||||
function fAddNivo2 (p){
|
||||
var dit = this;
|
||||
this.id = p.id;
|
||||
this.naam = p.brin + ' - ' + p.naamkort;
|
||||
this.plaats = p.plaats;
|
||||
this.bgs = ko.observableArray([]);
|
||||
if (p.bgs){
|
||||
$.each(p.bgs, function(j,k){
|
||||
dit.bgs.push(new fAddBG(k));
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function fAddBG (p){
|
||||
var dit = this;
|
||||
this.id = p.id;
|
||||
this.naam = p.brin + ' - ' + p.naamkort;
|
||||
this.plaats = p.plaats;
|
||||
this.bgs = ko.observableArray([]);
|
||||
}
|
||||
|
||||
if (ls.StreefcijfersModel !== undefined){
|
||||
ls.StreefcijfersModel.initModel();
|
||||
}
|
||||
else {
|
||||
ls.StreefcijfersModel = {
|
||||
versieambities : ko.observableArray([]),
|
||||
swv : ko.observableArray([]),
|
||||
selectedOrganisatie : ko.observable(''),
|
||||
zelfniveau : ko.observable(3),
|
||||
bezig : ko.observable(false),
|
||||
|
||||
initBindings :function(){
|
||||
var self = ls.StreefcijfersModel;
|
||||
if (!ko.dataFor(document.getElementById('pagstreefcijfers')) ) {
|
||||
ko.applyBindings(ls.StreefcijfersModel, document.getElementById("pagstreefcijfers"));
|
||||
}
|
||||
self.initModel();
|
||||
},
|
||||
|
||||
initModel: function(){
|
||||
var self = ls.StreefcijfersModel;
|
||||
self.swv.removeAll();
|
||||
|
||||
$.post("index.php/monpas/streefcijfers/getorganisaties", function(swv){
|
||||
if (swv){
|
||||
self.swv.push(new fAddSwv(swv));
|
||||
self.selectedOrganisatie(self.swv()[0]);
|
||||
}
|
||||
|
||||
$.post("index.php/monpas/streefcijfers/getzelfniveau", function(nivo){
|
||||
self.zelfniveau(nivo);
|
||||
self.fGetAmbities();
|
||||
},'json')
|
||||
},'json');
|
||||
},
|
||||
|
||||
fSetSelected : function(){
|
||||
var self = ls.StreefcijfersModel;
|
||||
if (this.id == self.selectedOrganisatie().id) return;
|
||||
self.selectedOrganisatie(this);
|
||||
if (self.selectedOrganisatie() == undefined) return;
|
||||
self.fGetAmbities();
|
||||
},
|
||||
fGetAmbities : function() {
|
||||
var self = ls.StreefcijfersModel;
|
||||
self.versieambities.removeAll();
|
||||
$.post("index.php/monpas/streefcijfers/getorgversies_ambities/" + self.selectedOrganisatie().id, function(data){
|
||||
if (data){
|
||||
$.each(data, function(i,p){
|
||||
self.versieambities.push(new fAddVersieAmbitie(p));
|
||||
});
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
|
||||
fUpdateAmbitie : function(){
|
||||
var self = ls.StreefcijfersModel;
|
||||
var dit = this;
|
||||
if (self.bezig()) return
|
||||
if (timeout){
|
||||
clearTimeout(timeout);
|
||||
timeout = null;
|
||||
}
|
||||
timeout = setTimeout(function(){
|
||||
self.bezig(true);
|
||||
var submitData={ "id" : dit.id,
|
||||
"orgversie_id" : dit.orgversieid,
|
||||
"organisatie_id" : self.selectedOrganisatie().id,
|
||||
"gemscore" : dit.gemscore(),
|
||||
"xijkpunten" : dit.xijkpunten(),
|
||||
"zprocent" : dit.zprocent()}
|
||||
$.post("index.php/monpas/streefcijfers/updateambitie", submitData, function(newid){
|
||||
if (newid) {self.fGetAmbities();};
|
||||
self.bezig(false);
|
||||
},'json');
|
||||
},700);
|
||||
},
|
||||
fDelete:function(){
|
||||
var self = ls.StreefcijfersModel;
|
||||
if (self.bezig()) return;
|
||||
self.bezig(true);
|
||||
var dit = this;
|
||||
|
||||
apprise("Weet u zeker dat u de criteria bij " + dit.naam + " wilt verwijderen?",
|
||||
{verify: true, textYes:'ja', textNo: 'nee'}, function(ans){
|
||||
if (ans){
|
||||
var sd = {id : dit.id}
|
||||
$.post('index.php/monpas/streefcijfers/verwijder', sd, function(result){
|
||||
self.bezig(false);
|
||||
self.versieambities.remove(dit);
|
||||
},'json');
|
||||
} else {
|
||||
self.bezig(false);
|
||||
}
|
||||
}); // apprise
|
||||
}
|
||||
} ; // definition van model
|
||||
ls.StreefcijfersModel.initBindings();
|
||||
}; // else
|
||||
}// function initStreefcijfersModel
|
||||
});
|
||||
@@ -0,0 +1,347 @@
|
||||
$(function(){
|
||||
|
||||
ls.initSWVversiesModel = function(){
|
||||
var vandaag;
|
||||
|
||||
function fAddModule(p){
|
||||
this.sysnr = p.sysnr;
|
||||
this.naam = p.naam;
|
||||
}
|
||||
|
||||
function fAddOrg(p){
|
||||
var dit =this;
|
||||
this.id = p.id
|
||||
this.naam = p.naam;
|
||||
this.brin = p.brin;
|
||||
this.valtonderid = p.valtonder_id;
|
||||
this.soort = p.soort;
|
||||
this.zichtbaar = ko.observable(true);
|
||||
this.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.naam = p.naam;
|
||||
this.brin = p.brin;
|
||||
this.valtonderid = p.valtonder_id;
|
||||
this.soort = p.soort;
|
||||
this.zichtbaar = ko.observable(true);
|
||||
}
|
||||
|
||||
function fAddKoppeling(p){
|
||||
var dit = this;
|
||||
this.id = p.id
|
||||
this.versieid = p.versie_id;
|
||||
this.actief = ko.observable(true);
|
||||
if (p.actief == 0) this.actief(false);
|
||||
this.naam = p.naam;
|
||||
this.geldigvanaf = ko.observable(p.geldigvanaf);
|
||||
this.geldigtm = ko.observable(p.geldigtm);
|
||||
this.invullentm = ko.observable(p.invullentm);
|
||||
this.vorm = ko.observable(p.vorm);
|
||||
this.scoretype = ko.observable(p.scoretype);
|
||||
this.scoretekst = ko.observable(p.scoretekst == '1' ? true: false)
|
||||
this.toonOmschrijving = ko.observable(false);
|
||||
if(p.score_omschrijving == 'T') this.toonOmschrijving(true);
|
||||
this.wijzigok = ko.observable(false);
|
||||
if (p.ingevuld == 0 ) this.wijzigok(true);
|
||||
this.toonTekstoptie = ko.pureComputed(function(){
|
||||
var toon = false;
|
||||
if(dit.scoretekst()== true){
|
||||
toon = true;
|
||||
}
|
||||
return toon;
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function fAddVersie(k){
|
||||
this.id = k.id
|
||||
this.naam = k.naam;
|
||||
this.ingangsdatum = k.ingangsdatum;
|
||||
}
|
||||
|
||||
if (ls.SWVversiesModel !== undefined){
|
||||
ls.SWVversiesModel.initModel();
|
||||
}
|
||||
else {
|
||||
ls.SWVversiesModel = {
|
||||
swvs : ko.observableArray([]),
|
||||
bgs : ko.observableArray([]),
|
||||
orgtype : ko.observable(1), // 1 = swvs en kamers 2=bgs
|
||||
selectedOrg : ko.observable(),
|
||||
versies : ko.observableArray([]),
|
||||
koppelingen : ko.observableArray([]),
|
||||
newKoppelingVersie : ko.observable(),
|
||||
newKoppelingGeldigvanaf : ko.observable(),
|
||||
newKoppelingGeldigtm : ko.observable(),
|
||||
newKoppelingInvullentm : ko.observable(),
|
||||
newKoppelingVorm : ko.observable(),
|
||||
newScoretype : ko.observable(),
|
||||
newOmschrijving : ko.observable(false),
|
||||
vormarray : ko.observableArray([{id: 1 , naam : 'schoolversie'},
|
||||
{id: 2, naam: 'ik-vorm'}]),
|
||||
scoretypes : ko.observableArray([
|
||||
{id: 1 , naam : 'rapportcijfer'},
|
||||
{id: 2, naam: 'percentage'},
|
||||
{id: 3, naam: 'ja/nee/bezig'}]),
|
||||
modules : ko.observableArray([]),
|
||||
selectedModule : ko.observable(''),
|
||||
toonOptie : ko.pureComputed(function(){
|
||||
var toon = true;
|
||||
if(ls.SWVversiesModel && (ls.SWVversiesModel.newScoretype()== '1' ||
|
||||
ls.SWVversiesModel.newScoretype()== '2' )){
|
||||
toon = false;
|
||||
}
|
||||
return toon;
|
||||
}),
|
||||
|
||||
initBindings :function(){
|
||||
var self = ls.SWVversiesModel;
|
||||
if (!ko.dataFor(document.getElementById('pagSWVversies')) ) {
|
||||
ko.applyBindings(ls.SWVversiesModel, document.getElementById("pagSWVversies"));
|
||||
}
|
||||
// get alle modules met een lijst want het swv, kamer of bg hoeft niet gekoppeld te zijn aan een instrument
|
||||
// terwijl de school dat wel is.
|
||||
// versie zijn immers alleen op het hoogste niveau (kamer of SWV) gekoppeld.
|
||||
$.post("index.php/monpas/swvversies/getantwoordtypes" , function(types){
|
||||
|
||||
self.scoretypes.removeAll();
|
||||
if (types){
|
||||
$.each(types, function(i,p){
|
||||
self.scoretypes.push({sysnr: p.sysnr, naam: p.omschrijving, scoretekst: p.scoretekst });
|
||||
}); // each
|
||||
}; // if
|
||||
$.post("index.php/monpas/swvversies/getmodulesmetlijst" , function(result){
|
||||
self.modules.removeAll();
|
||||
if (result){
|
||||
$.each(result, function(i,p){
|
||||
self.modules.push(new fAddModule(p));
|
||||
});
|
||||
self.selectedModule(self.modules[0]);
|
||||
self.initModel();
|
||||
}; // if rsult
|
||||
},'json');
|
||||
},'json');
|
||||
},
|
||||
initModel: function(){
|
||||
var self =ls.SWVversiesModel;
|
||||
var nu = new Date();
|
||||
vandaag= $.datepicker.formatDate("dd-mm-yy",nu);
|
||||
$.post('index.php/monpas/swvversies/getswvs', function(data){
|
||||
self.swvs.removeAll();
|
||||
if (data){
|
||||
$.each(data, function(i,p){
|
||||
self.swvs.push(new fAddOrg(p));
|
||||
});
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
fChangeModule : function(){
|
||||
var self= ls.SWVversiesModel;
|
||||
if (!self.selectedOrg()) return;
|
||||
self.fGetDetails();
|
||||
},
|
||||
fSetSelectedOrg :function(){
|
||||
var self= ls.SWVversiesModel;
|
||||
self.selectedOrg(this);
|
||||
self.fGetDetails();
|
||||
},
|
||||
fGetDetails : function(){
|
||||
var self= ls.SWVversiesModel;
|
||||
// self.selectedOrg(this);
|
||||
if (self.selectedOrg() == undefined) return;
|
||||
|
||||
var submitData = {orgid : self.selectedOrg().id,
|
||||
module: self.selectedModule().sysnr}
|
||||
$.post("index.php/monpas/swvversies/getkoppelingen", submitData, function(data){
|
||||
self.koppelingen.removeAll();
|
||||
|
||||
if (data){
|
||||
$.each(data, function(i,p) {
|
||||
self.koppelingen.push(new fAddKoppeling(p));
|
||||
});
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
|
||||
fToonInfoTekst: function(){
|
||||
var self =ls.SWVversiesModel;
|
||||
apprise('Toon scoreomschrijvingen in de invullijst.')
|
||||
|
||||
},
|
||||
|
||||
fNieuweKoppeling: function(){
|
||||
var self =ls.SWVversiesModel;
|
||||
// hier moet wel rekening gehouden worden met de module!!
|
||||
// en niet met de organisatie.
|
||||
var submitData={module: self.selectedModule().sysnr};
|
||||
$.post("index.php/monpas/swvversies/getversies" ,submitData, function(result){
|
||||
self.versies.removeAll();
|
||||
if (result){
|
||||
$.each(result, function(j,k){
|
||||
self.versies.push(new fAddVersie(k));
|
||||
})
|
||||
}
|
||||
self.newKoppelingGeldigvanaf(vandaag);
|
||||
var d= new Date();
|
||||
d.setFullYear( d.getFullYear() + 2 );
|
||||
d.setDate(d.getDate() - 1);
|
||||
dag= $.datepicker.formatDate("dd-mm-yy",d);
|
||||
self.newKoppelingGeldigtm(dag);
|
||||
self.newKoppelingInvullentm(dag);
|
||||
$("#modNieuweKoppeling").modal('show');
|
||||
},'json');
|
||||
|
||||
},
|
||||
fSaveKoppeling: function(){
|
||||
var self=ls.SWVversiesModel;
|
||||
var gaverder = true;
|
||||
if(self.newOmschrijving()== true){
|
||||
$.each(self.scoretypes(), function (i, s){
|
||||
if(s.sysnr == self.newScoretype()){
|
||||
if(s.scoretekst == '0'){
|
||||
apprise("Maak eerst een scoreomschrijving of vink de optie Toon scoreomschrijving uit")
|
||||
|
||||
gaverder = false;
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
if(gaverder == true) {
|
||||
|
||||
$("#modNieuweKoppeling").modal('hide');
|
||||
|
||||
var submitData = {
|
||||
orgid: self.selectedOrg().id,
|
||||
versieid: self.newKoppelingVersie().id,
|
||||
geldigvanaf: self.newKoppelingGeldigvanaf(),
|
||||
geldigtm: self.newKoppelingGeldigtm(),
|
||||
invullentm: self.newKoppelingInvullentm(),
|
||||
omschrijving: self.newOmschrijving() == true ? 'T' : 'F',
|
||||
vormid: self.newKoppelingVorm(),
|
||||
scoretype: self.newScoretype()
|
||||
}
|
||||
|
||||
$.post("index.php/monpas/swvversies/insertkoppeling", submitData, function (result) {
|
||||
if (result) {
|
||||
self.koppelingen.push(new fAddKoppeling(result));
|
||||
}
|
||||
;
|
||||
}, 'json');
|
||||
}
|
||||
},
|
||||
fDeleteKoppeling : function(){
|
||||
var self = ls.SWVversiesModel;
|
||||
var dit = this;
|
||||
apprise("Weet u zeker dat u de koppeling met <i>" + dit.naam + "</i> wilt verwijderen?" ,
|
||||
{verify: true, textYes: 'ja', textNo: 'nee'}, function(ans){
|
||||
if (ans){
|
||||
$.post("index.php/monpas/swvversies/deletekoppeling/"+ dit.id, function(result){
|
||||
if (result){
|
||||
self.koppelingen.remove(dit);
|
||||
}
|
||||
},'json');
|
||||
}; // if ans
|
||||
});// apprise
|
||||
},
|
||||
fUpdateKoppeling: function(){
|
||||
var self = ls.SWVversiesModel;
|
||||
var dit = this;
|
||||
|
||||
if(dit.toonOmschrijving()== true && dit.scoretype() != '1' && dit.scoretype() != '2'){
|
||||
$.each(self.scoretypes(), function (i, s){
|
||||
if(s.sysnr == dit.scoretype()){
|
||||
if(s.scoretekst == '0'){
|
||||
apprise("Maak eerst een scoreomschrijving.")
|
||||
self.toonOmschrijving(self.toonOmschrijving());
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
|
||||
var submitData={ id : this.id,
|
||||
geldigvanaf : this.geldigvanaf(),
|
||||
geldigtm : this.geldigtm(),
|
||||
invullentm : this.invullentm(),
|
||||
vormid : this.vorm(),
|
||||
scoretype : this.scoretype() }
|
||||
|
||||
$.post("index.php/monpas/swvversies/updatekoppeling", submitData, function(result){
|
||||
},'json');
|
||||
},
|
||||
|
||||
|
||||
fUpdateScores: function(){
|
||||
var self = ls.SWVversiesModel;
|
||||
var dit = this;
|
||||
var toon = "F";
|
||||
dit.toonOmschrijving(!dit.toonOmschrijving());
|
||||
if(dit.toonOmschrijving()== true){
|
||||
$.each(self.scoretypes(), function (i, s){
|
||||
if(s.sysnr == dit.scoretype()){
|
||||
if(s.scoretekst == '0'){
|
||||
apprise("Maak eerst een scoreomschrijving.")
|
||||
self.toonOmschrijving(self.toonOmschrijving());
|
||||
}
|
||||
else{
|
||||
toon = "T";
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
|
||||
var submitData = {
|
||||
id : this.id,
|
||||
omschrijving : toon
|
||||
}
|
||||
|
||||
$.post("index.php/monpas/swvversies/updatetoonomschrijving", submitData, function(result){
|
||||
|
||||
},'json');
|
||||
|
||||
|
||||
return true;
|
||||
},
|
||||
|
||||
fUpdateActief : function(){
|
||||
var self = ls.SWVversiesModel;
|
||||
var dit = this;
|
||||
var tekst = "Weet u zeker dat u " + dit.naam;
|
||||
if (dit.actief()) {
|
||||
tekst += " de actieve versie wilt maken? "
|
||||
}
|
||||
else { tekst += " wilt deactiveren? "}
|
||||
apprise(tekst, {verify: true, textYes: 'ja', textNo: 'nee'}, function(ans){
|
||||
if (ans){
|
||||
if (dit.actief()) {
|
||||
$.post("index.php/monpas/swvversies/maakactief/" + dit.id + '/' + self.selectedModule().sysnr);
|
||||
$.each(self.koppelingen(), function(i,p){
|
||||
if (p.id != dit.id) { p.actief(false);}
|
||||
}); // each
|
||||
}
|
||||
else {
|
||||
$.post("index.php/monpas/swvversies/maakinactief/" + dit.id);
|
||||
} ;
|
||||
} // if ans
|
||||
else {dit.actief(!dit.actief()) }
|
||||
});
|
||||
return true;
|
||||
}
|
||||
} ; // definition van model
|
||||
ls.SWVversiesModel.initBindings();
|
||||
}; // else
|
||||
}// function initSWVversiesModel
|
||||
});
|
||||
@@ -0,0 +1,315 @@
|
||||
$(function(){
|
||||
|
||||
ls.initVersiesModel = function(){
|
||||
var timeout;
|
||||
|
||||
function fAddModule(p){
|
||||
this.sysnr = p.sysnr;
|
||||
this.naam = p.naam;
|
||||
}
|
||||
function fAddVersie(p){
|
||||
this.id = p.id;
|
||||
this.naam = ko.observable(p.naam);
|
||||
this.ingang = ko.observable(p.ingangsdatum);
|
||||
this.systemnorm = ko.observable(p.systemnorm);
|
||||
this.deleteok = ko.observable(p.deleteok);
|
||||
}
|
||||
function fAddIJkpunt(p){
|
||||
var dit = this;
|
||||
this.id = p.id;
|
||||
this.nummer = ko.observable(p.nummer);
|
||||
this.omschrijving = ko.observable(p.omschrijving);
|
||||
this.toelichting = ko.observable(p.toelichting);
|
||||
this.indicatoren = ko.observableArray([]);
|
||||
if (p.indicatoren){
|
||||
$.each(p.indicatoren, function(j,k){
|
||||
dit.indicatoren.push(new fAddIndicator(k));
|
||||
});
|
||||
}
|
||||
this.toonindics = ko.observable(false);
|
||||
}
|
||||
function fAddIndicator(k){
|
||||
this.id = k.id;
|
||||
this.nummer = ko.observable(k.nummer);
|
||||
this.gewicht = ko.observable(k.gewicht);
|
||||
this.omschrijving1 = ko.observable(k.omschrijving1);
|
||||
this.omschrijving2 = ko.observable(k.omschrijving2);
|
||||
this.inspectie = ko.observable(k.inspectie);
|
||||
this.deleteok = k.deleteok;
|
||||
}
|
||||
|
||||
if (ls.VersiesModel !== undefined){
|
||||
ls.VersiesModel.initModel();
|
||||
}
|
||||
else {
|
||||
ls.VersiesModel = {
|
||||
|
||||
autonivo : ko.observable(0),
|
||||
|
||||
versies : ko.observableArray([]),
|
||||
selectedVersie : ko.observable(''),
|
||||
newVersieNaam : ko.observable(''),
|
||||
ijkpunten : ko.observableArray([]),
|
||||
newIJkpunt : ko.observable({nummer: ko.observable(0), naam:ko.observable(''), toelichting: ko.observable('')}),
|
||||
selectedIJkpunt : ko.observable(''),
|
||||
newIndicator : ko.observable({id : null,
|
||||
ijkpunt_id : null,
|
||||
nummer : ko.observable(0),
|
||||
gewicht : ko.observable(1),
|
||||
omschrijving1 : ko.observable(),
|
||||
omschrijving2 : ko.observable(),
|
||||
inspectie : ko.observable(),
|
||||
deleteok : ko.observable(true) }),
|
||||
modules : ko.observableArray([]),
|
||||
selectedModule : ko.observable(''),
|
||||
|
||||
initBindings :function(){
|
||||
var self = ls.VersiesModel;
|
||||
|
||||
if (!ko.dataFor(document.getElementById('pagVersies')) ) {
|
||||
ko.applyBindings(ls.VersiesModel, document.getElementById("pagVersies"));
|
||||
}
|
||||
|
||||
$.post("index.php/monpas/beheer/getmodules", function(result){
|
||||
self.modules.removeAll();
|
||||
|
||||
if (result){
|
||||
$.each(result, function(i,p){
|
||||
self.modules.push(new fAddModule(p));
|
||||
});
|
||||
self.selectedModule(self.modules[0]);
|
||||
}; // if rsult
|
||||
self.initModel();
|
||||
},'json');
|
||||
},
|
||||
initModel: function(){
|
||||
var self = ls.VersiesModel;
|
||||
$.post("index.php/shared/autorisatienivos/getautorisatie", function(result){
|
||||
self.autonivo(result)
|
||||
// self.fGetVersies();
|
||||
},'json');
|
||||
},
|
||||
|
||||
fGetVersies : function(){
|
||||
var self =ls.VersiesModel;
|
||||
$.post("index.php/monpas/beheer/getversies/" + self.selectedModule().sysnr, function(data){
|
||||
self.versies.removeAll();
|
||||
self.ijkpunten.removeAll();
|
||||
if (data) {
|
||||
$.each(data,function(i,p){
|
||||
self.versies.push(new fAddVersie(p));
|
||||
});
|
||||
self.selectedVersie(self.versies()[0] );
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
fChangeModule: function(){
|
||||
var self =ls.VersiesModel;
|
||||
self.fGetVersies();
|
||||
},
|
||||
fMaakNieuweVersie: function(){
|
||||
var self = ls.VersiesModel;
|
||||
self.newVersieNaam('');
|
||||
$("#modNieuweVersie").modal('show');
|
||||
},
|
||||
fUpdateVersie: function(){
|
||||
var self = ls.VersiesModel;
|
||||
var dit = this;
|
||||
if (timeout){
|
||||
clearTimeout(timeout)
|
||||
timeout ==null;
|
||||
}
|
||||
timeout=setTimeout(function(){
|
||||
var submitData = { id : dit.id,
|
||||
naam : dit.naam(),
|
||||
ingangsdatum : dit.ingang(),
|
||||
systemnorm : dit.systemnorm()}
|
||||
$.post("index.php/monpas/beheer/updateversie",submitData, function(){})
|
||||
},700);
|
||||
|
||||
},
|
||||
fSaveVersie: function(){
|
||||
var self = ls.VersiesModel;
|
||||
if (!self.selectedModule()) {
|
||||
apprise("Er is geen instrument geselecteerd. De lijst kan niet worden aangemaakt.");
|
||||
return;
|
||||
}
|
||||
var submitData= {nieuwnaam : self.newVersieNaam(),
|
||||
module : self.selectedModule().sysnr}
|
||||
$.post("index.php/monpas/beheer/insertversie/" ,submitData, function(result){
|
||||
if (result) {
|
||||
self.versies.push(new fAddVersie(result));
|
||||
$.each(self.versies(), function(i,p){
|
||||
if (p.id == result.id){self.selectedVersie(p); return false;}
|
||||
})
|
||||
} ; // if result
|
||||
self.ijkpunten.removeAll();
|
||||
},'json');
|
||||
},
|
||||
fDeleteVersie: function(){
|
||||
var self=ls.VersiesModel;
|
||||
$.post("index.php/monpas/beheer/deleteversie/" + self.selectedVersie().id, function(result){
|
||||
if (result.length > 0){
|
||||
apprise(resulterrortekst);
|
||||
}
|
||||
else{
|
||||
self.versies.remove(self.selectedVersie());
|
||||
}
|
||||
},'json')
|
||||
},
|
||||
fChangeVersie: function(){
|
||||
var self=ls.VersiesModel;
|
||||
self.ijkpunten.removeAll();
|
||||
if (self.selectedVersie() == undefined) return;
|
||||
$.post("index.php/monpas/beheer/getijkpunten/"+ self.selectedVersie().id, function(data){
|
||||
self.ijkpunten.removeAll();
|
||||
if (data){
|
||||
$.each(data, function(i,p){
|
||||
self.ijkpunten.push(new fAddIJkpunt(p));
|
||||
});
|
||||
}
|
||||
},'json');
|
||||
},
|
||||
fNieuwIJkpunt: function(){
|
||||
var self = ls.VersiesModel;
|
||||
var num = 0;
|
||||
var i=self.ijkpunten().length;
|
||||
var i = parseInt(i) - 1;
|
||||
if (i >= 0) {
|
||||
num = self.ijkpunten()[i].nummer();
|
||||
};
|
||||
self.newIJkpunt().nummer(parseInt(num)+ 1);
|
||||
self.newIJkpunt().naam('');
|
||||
self.newIJkpunt().toelichting('');
|
||||
$("#modNieuwIJkpunt").modal('show');
|
||||
},
|
||||
fSaveIJkpunt: function(){
|
||||
var self=ls.VersiesModel;
|
||||
|
||||
var submitData={versie_id : self.selectedVersie().id,
|
||||
nummer : self.newIJkpunt().nummer(),
|
||||
omschrijving : self.newIJkpunt().naam(),
|
||||
toelichting : self.newIJkpunt().toelichting()};
|
||||
$.post("index.php/monpas/beheer/insertijkpunt", submitData, function(data){
|
||||
if (data){
|
||||
self.ijkpunten.push(new fAddIJkpunt(data));
|
||||
$.each(self.ijkpunten(), function(i,p){
|
||||
if (p.id == data.id){
|
||||
self.selectedIJkpunt(p);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
else { apprise("Er is een fout opgetreden bij opslaan."); };
|
||||
},'json');
|
||||
},
|
||||
fToggleIndicatoren: function(){
|
||||
var self= ls.VersiesModel;
|
||||
self.selectedIJkpunt(null);
|
||||
self.selectedIJkpunt(this);
|
||||
this.toonindics(!this.toonindics());
|
||||
},
|
||||
fUpdateIJkpunt: function(){
|
||||
var self= ls.VersiesModel;
|
||||
var dit = this;
|
||||
if (timeout){
|
||||
clearTimeout(timeout)
|
||||
timeout ==null;
|
||||
}
|
||||
timeout=setTimeout(function(){
|
||||
|
||||
var submitData={id : dit.id,
|
||||
nummer : dit.nummer(),
|
||||
versie_id : self.selectedVersie().id,
|
||||
omschrijving : dit.omschrijving(),
|
||||
toelichting : dit.toelichting()}
|
||||
|
||||
$.post("index.php/monpas/beheer/updateijkpunt",submitData, function(){})
|
||||
},800);
|
||||
},
|
||||
fDeleteIJkpunt:function(){
|
||||
var self =ls.VersiesModel;
|
||||
var id = this.id;
|
||||
var dit = this;
|
||||
if ( self.ijkpunten().indicatoren !== undefined && self.ijkpunten().indicatoren().length > 0) {
|
||||
apprise('Er zijn nog indicatoren. IJkpunt mag niet verwijderd worden');
|
||||
return;
|
||||
}
|
||||
else{
|
||||
apprise("Weet u zeker dat u " + this.omschrijving() + " wilt verwijderen? " ,
|
||||
{verify: true, textYes: 'ja', textNo: 'nee'}, function(ans){
|
||||
if (ans){
|
||||
$.post("index.php/monpas/beheer/deleteijkpunt/" + id);
|
||||
self.ijkpunten.remove(dit);
|
||||
}
|
||||
}); // apprise
|
||||
}
|
||||
},
|
||||
fNieuweIndicator: function(){
|
||||
var self = ls.VersiesModel;
|
||||
var num =0
|
||||
self.selectedIJkpunt(this);
|
||||
$.each(self.selectedIJkpunt().indicatoren(), function(j,k){
|
||||
num=k.nummer();
|
||||
})
|
||||
self.newIndicator().nummer(parseInt(num) + 1);
|
||||
self.newIndicator().gewicht(1);
|
||||
self.newIndicator().ijkpunt_id= self.selectedIJkpunt().id;
|
||||
self.newIndicator().omschrijving1('');
|
||||
self.newIndicator().omschrijving2('');
|
||||
self.newIndicator().inspectie('');
|
||||
self.newIndicator().deleteok(true);
|
||||
$("#modNieuwIndicator").modal('show');
|
||||
},
|
||||
fSaveIndicator: function(){
|
||||
var self=ls.VersiesModel;
|
||||
|
||||
var submitData={ ijkpunt_id : self.newIndicator().ijkpunt_id,
|
||||
nummer : self.newIndicator().nummer(),
|
||||
omschrijving1 : self.newIndicator().omschrijving1(),
|
||||
omschrijving2 : self.newIndicator().omschrijving2(),
|
||||
inspectie : self.newIndicator().inspectie(),
|
||||
gewicht : self.newIndicator().gewicht};
|
||||
$.post("index.php/monpas/beheer/insertindicator", submitData, function(data){
|
||||
if (data){
|
||||
self.selectedIJkpunt().indicatoren.push(new fAddIndicator(data));
|
||||
}
|
||||
else { apprise("Er is een fout opgetreden bij opslaan."); };
|
||||
},'json');
|
||||
},
|
||||
fUpdateIndicator: function(){
|
||||
var self = ls.VersiesModel;
|
||||
var dit =this;
|
||||
if (timeout){
|
||||
clearTimeout(timeout);
|
||||
timeout = null;
|
||||
}
|
||||
timeout = setTimeout(function(){
|
||||
var submitData ={ id : dit.id,
|
||||
nummer : dit.nummer(),
|
||||
omschrijving1 : dit.omschrijving1(),
|
||||
omschrijving2 : dit.omschrijving2(),
|
||||
inspectie : dit.inspectie(),
|
||||
gewicht : dit.gewicht()}
|
||||
$.post("index.php/monpas/beheer/updateindicator", submitData);
|
||||
},700);
|
||||
},
|
||||
fDeleteIndicator: function($parent, $data){
|
||||
var self = ls.VersiesModel;
|
||||
var dit = $data;
|
||||
|
||||
apprise ("Weet u zeker dat u <i>" + dit.omschrijving1() + "</i> wilt verwijderen?",
|
||||
{verify:true, textYes:'ja',textNo:'nee'}, function(ans){
|
||||
if (ans){
|
||||
$.post('index.php/monpas/beheer/deleteindicator/' + dit.id,function(result){
|
||||
$parent.indicatoren.remove(dit);
|
||||
},'json');
|
||||
}
|
||||
}); // apprise
|
||||
}
|
||||
|
||||
} ; // definition van model
|
||||
ls.VersiesModel.initBindings();
|
||||
}; // else
|
||||
}// function initVersiesModel
|
||||
});
|
||||
@@ -0,0 +1,62 @@
|
||||
$(function(fileinfo){
|
||||
|
||||
|
||||
ls.initDownloadModel = function(fileinfo,hoe){ // hoe is DOWNLOAD of INZIEN
|
||||
if (ls.DownloadModel !== undefined){
|
||||
ls.DownloadModel.initModel(fileinfo,hoe);
|
||||
}
|
||||
else {
|
||||
ls.DownloadModel = {
|
||||
file : ko.observable(),
|
||||
hoe : ko.observable(),
|
||||
infotekst : ko.observable(),
|
||||
|
||||
initBindings :function(fileinfo,hoe){
|
||||
var self = ls.DownloadModel;
|
||||
if (!ko.dataFor(document.getElementById('modDownloader')) ) {
|
||||
ko.applyBindings(ls.DownloadModel, document.getElementById("modDownloader"));
|
||||
}
|
||||
self.initModel(fileinfo,hoe);
|
||||
},
|
||||
initModel: function(fileinfo,hoe){
|
||||
var vm = ls.DownloadModel;
|
||||
vm.file(fileinfo);
|
||||
vm.hoe(hoe);
|
||||
switch (hoe){
|
||||
case "DOWNLOAD" : if (vm.file().pdf()) vm.fAskDownload();
|
||||
else vm.fDownload()
|
||||
break;
|
||||
case "INZIEN" : if (vm.file().pdf() ) vm.fShowPDF();
|
||||
else vm.fNoPdf();
|
||||
break;
|
||||
}
|
||||
},
|
||||
|
||||
fShowPDF: function(){
|
||||
vm = ls.DownloadModel;
|
||||
window.open( 'index.php/shared/upload/show_pdf/' +vm.file().id);
|
||||
$( "#modDownloader" ).modal( 'hide' );
|
||||
},
|
||||
|
||||
fNoPdf: function(){
|
||||
vm = ls.DownloadModel;
|
||||
vm.infotekst("Voor dit bestand is (nog) geen pdf beschikbaar. U kunt het bestand downloaden. <br>Als u het bestand download wordt een kopie op de harde schijf van uw computer geplaatst.")
|
||||
$("#modDownloader").modal('show');
|
||||
},
|
||||
|
||||
fAskDownload:function(){
|
||||
vm = ls.DownloadModel;
|
||||
vm.infotekst("Voor dit bestand is een pdf beschikbaar. U kunt het bestand downloaden of inzien. <br>Als u het bestand download wordt een kopie op de harde schijf van uw computer geplaatst.")
|
||||
$("#modDownloader").modal('show');
|
||||
},
|
||||
|
||||
fDownload:function(){
|
||||
vm = ls.DownloadModel;
|
||||
window.open( 'index.php/shared/upload/download_file/' +vm.file().id );
|
||||
}
|
||||
|
||||
} ; // definition van model
|
||||
ls.DownloadModel.initBindings(fileinfo,hoe);
|
||||
}; // else
|
||||
}// function initDownloadModel
|
||||
});
|
||||
@@ -0,0 +1,18 @@
|
||||
/**
|
||||
* Created by Pensare Software.
|
||||
* User: Theo Weijmer
|
||||
* Date: 16/12/2017
|
||||
* Time: 13:28
|
||||
*/
|
||||
|
||||
|
||||
var initFroalaEditor = function ( editor, text ) {
|
||||
$( editor ).froalaEditor( {
|
||||
key: 'zc1QXIa2QZe1UOXATEX==',
|
||||
|
||||
toolbarButtons: ['bold', 'italic', 'underline', 'subscript', 'superscript', 'outdent', 'indent', 'formatOL', 'formatUL']
|
||||
});
|
||||
|
||||
$( editor ).froalaEditor( 'html.set', text );
|
||||
};
|
||||
|
||||
@@ -0,0 +1,214 @@
|
||||
$(function(){
|
||||
|
||||
ko.bindingHandlers.dropzone = {
|
||||
init: function ( element, valueAccessor, allBindings, data ) {
|
||||
var options = {
|
||||
// maxFileSize : 10,
|
||||
maxFileSize: 50 ,
|
||||
maxFiles : 25,
|
||||
url : 'temp',
|
||||
accept : function(file,done){
|
||||
if (file.size <= ls.UploaderModel.maxsize()){
|
||||
return done();
|
||||
} else {
|
||||
|
||||
ls.UploaderModel.responses.push(file.name + " bestand is te groot (max 10MB)" );
|
||||
return done("Bestand is te groot.");
|
||||
}
|
||||
},
|
||||
init : function () {
|
||||
var thisDropzone = this;
|
||||
var totalFiles = 0,
|
||||
completeFiles = 0;
|
||||
this.on( "addedfile", function ( file ) {
|
||||
totalFiles += 1;
|
||||
} );
|
||||
this.on( "removed file", function ( file ) {
|
||||
totalFiles -= 1;
|
||||
} );
|
||||
this.on("error", function(file, response){
|
||||
if (file.xhr && file.xhr.responseText) ls.UploaderModel.responses.push( file.xhr.responseText);
|
||||
});
|
||||
this.on( "complete", function ( file ) {
|
||||
completeFiles += 1;
|
||||
if (file.xhr && file.xhr.responseText) ls.UploaderModel.responses.push( file.xhr.responseText);
|
||||
if ( completeFiles === totalFiles ) {
|
||||
ls.UploaderModel.uploadcounter(totalFiles)
|
||||
thisDropzone.removeAllFiles();
|
||||
totalFiles = 0;
|
||||
completeFiles = 0;
|
||||
ls.UploaderModel.fGiveFeedback();
|
||||
}
|
||||
} );
|
||||
this.on( "processing", function ( file ) {
|
||||
this.options.url = ls.UploaderModel.uploadURL();
|
||||
} );
|
||||
|
||||
$( '.dropzone-remove-files' ).click( function () {
|
||||
thisDropzone.removeAllFiles();
|
||||
totalFiles = 0;
|
||||
completeFiles = 0;
|
||||
} );
|
||||
}
|
||||
};
|
||||
|
||||
$( element ).addClass( 'dropzone' );
|
||||
new Dropzone( element, options ); // jshint ignore:line
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
ls.initUploader= function(module,folder,docID,callback){
|
||||
|
||||
if (ls.UploaderModel !== undefined){
|
||||
ls.UploaderModel.initModel(module,folder,docID,callback);
|
||||
}
|
||||
else {
|
||||
ls.UploaderModel = {
|
||||
module : ko.observable(),
|
||||
folder : ko.observable(),
|
||||
vmcallback : ko.observable(),
|
||||
docNaam : ko.observable(),
|
||||
documentID : ko.observable(),
|
||||
fileName : ko.observable(),
|
||||
bestanden : ko.observableArray(),
|
||||
uploadcounter : ko.observable(0),
|
||||
uploadURL : ko.observable(),
|
||||
maxsize : ko.observable(10000000),
|
||||
//maxsize : ko.observable(5000),
|
||||
responses : ko.observableArray(),
|
||||
showfiles : ko.observable(true),
|
||||
toondropzone : ko.observable(true),
|
||||
|
||||
initBindings :function(module,folder,docID,callback){
|
||||
var self = ls.UploaderModel;
|
||||
if (!ko.dataFor(document.getElementById('modUploader')) ) {
|
||||
ko.applyBindings(ls.UploaderModel, document.getElementById("modUploader"));
|
||||
}
|
||||
self.initModel(module,folder,docID , callback);
|
||||
},
|
||||
|
||||
initModel: function(module,folder,docID,callback){
|
||||
var vm = ls.UploaderModel;
|
||||
vm.module(module)
|
||||
vm.folder(folder)
|
||||
vm.documentID(docID)
|
||||
vm.docNaam('');
|
||||
vm.fileName('');
|
||||
vm.bestanden.removeAll();
|
||||
vm.uploadcounter(0);
|
||||
vm.toondropzone(true);
|
||||
if (vm.responses() && vm.responses().length > 0) vm.responses.removeAll();
|
||||
vm.showfiles('true');
|
||||
vm.uploadURL(' index.php/shared/upload/doDropUpload/'+ls.UploaderModel.folder() + '/' + ls.UploaderModel.module() );
|
||||
$("#fileform")[0].reset();
|
||||
|
||||
vm.vmcallback = callback;
|
||||
$("#modUploader").modal('show');
|
||||
},
|
||||
|
||||
fSetFileList: function(){
|
||||
var vm = ls.UploaderModel;
|
||||
vm.bestanden.removeAll();
|
||||
var files=document.getElementById("fileselecter").files
|
||||
for (var i = 0, f; f = files[i]; i++) {
|
||||
vm.bestanden.push(f)
|
||||
};
|
||||
},
|
||||
|
||||
fDoUpload :function(){
|
||||
var vm = ls.UploaderModel;
|
||||
// process all File objects
|
||||
vm.responses.removeAll()
|
||||
vm.showfiles(false);
|
||||
|
||||
if (vm.bestanden() && vm.bestanden().length > 0){
|
||||
showAjaxLoader()
|
||||
|
||||
$.each(vm.bestanden(), function(i,p){
|
||||
if (p.size <= vm.maxsize()){
|
||||
vm.fUploadFile(p);
|
||||
} else {
|
||||
vm.responses.push(p.name + " bestand is te groot (max 10MB)" );
|
||||
}
|
||||
if (i == vm.bestanden().length -1 ) hideAjaxLoader()
|
||||
});
|
||||
|
||||
} // if bestanden
|
||||
else{
|
||||
hideAjaxLoader()
|
||||
|
||||
$("#modUploader").modal('hide');
|
||||
if (typeof vm.vmcallback == 'function'){
|
||||
vm.vmcallback(false);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
fUploadFile: function(file){
|
||||
var vm = ls.UploaderModel;
|
||||
var xhr = new XMLHttpRequest();
|
||||
var url = 'index.php/shared/upload/doUpload';
|
||||
var fd = new FormData();
|
||||
fd.append("upload_file", file);
|
||||
fd.append("module", vm.module());
|
||||
fd.append("folderID", vm.folder());
|
||||
fd.append("oldDocID", vm.documentID());
|
||||
|
||||
// hier daadwerkelijk doorsturen naar server
|
||||
xhr.open("POST", url, true)
|
||||
xhr.onreadystatechange = function() {
|
||||
if (xhr.readyState == 4 && xhr.status == 200) { // Every thing ok, file uploaded
|
||||
if (xhr.responseText) vm.responses.push(xhr.responseText);
|
||||
vm.uploadcounter(parseInt(vm.uploadcounter()) + 1)
|
||||
if (vm.uploadcounter() == vm.bestanden().length){
|
||||
vm.fGiveFeedback();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
xhr.send(fd);
|
||||
|
||||
},
|
||||
|
||||
fGiveFeedback: function(){
|
||||
var vm = ls.UploaderModel;
|
||||
|
||||
vm.toondropzone(false);
|
||||
hideAjaxLoader()
|
||||
vm.showfiles(false);
|
||||
|
||||
var time=300;
|
||||
if (vm.responses() && vm.responses().length <= 0) {
|
||||
setTimeout(function(){
|
||||
$("#modUploader").modal('hide')
|
||||
if (typeof vm.vmcallback == 'function'){ vm.vmcallback(true);}
|
||||
}, time);
|
||||
}
|
||||
},
|
||||
fCloseAndCallback: function(){
|
||||
var vm = ls.UploaderModel;
|
||||
if (typeof vm.vmcallback == 'function') vm.vmcallback(true);
|
||||
},
|
||||
fCloseUploader: function(){
|
||||
var vm = ls.UploaderModel;
|
||||
if (typeof vm.vmcallback == 'function') vm.vmcallback(false);
|
||||
},
|
||||
|
||||
fRemoveBestand: function(){
|
||||
var vm = ls.UploaderModel;
|
||||
if (vm.bestanden() && vm.bestanden().length > 0){
|
||||
vm.bestanden.remove(this);
|
||||
}
|
||||
}
|
||||
} ; // definition van model
|
||||
|
||||
ls.UploaderModel.initBindings(module,folder,docID,callback);
|
||||
}; // else
|
||||
}// function initUploaderModel
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user