902 lines
32 KiB
JavaScript
902 lines
32 KiB
JavaScript
$(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.naam;
|
|
this.wijik = "schoolversie";
|
|
if (l.vorm === '2') {
|
|
dit.wijik = "individuele versie"
|
|
}
|
|
this.naamV = l.naamV;
|
|
this.metingen = l.metingen;
|
|
this.metingenV = l.metingenV;
|
|
this.vantm = l.vantm;
|
|
this.vantmresult = l.vantmresult;
|
|
this.periodenummer = l.orgversie.periodenummer
|
|
this.jaartal = l.jaartal;
|
|
|
|
this.label = l.label;
|
|
this.label2 = l.label2;
|
|
this.gemscore = l.ambities.gemscore;
|
|
this.ijkpunten = l.ambities.xijkpunten;
|
|
this.zprocent = l.ambities.zprocent;
|
|
this.ambitiesoort = l.ambities.soort;
|
|
this.ambitiesoortV = l.ambities.soortV ? l.ambities.soortV : false;
|
|
this.ambitievan = l.ambities.ambitievan === 'standaard' ? '(standaard ingestelde ambitie)':
|
|
'(ambitie van: ' + l.ambities.ambitievan + ')';
|
|
this.gemscoreV = l.ambitiesV && l.ambitiesV.gemscore ? l.ambitiesV.gemscore: false ;
|
|
this.ijkpuntenV = l.ambitiesV && l.ambitiesV.xijkpunten ? l.ambitiesV.xijkpunten: false;
|
|
this.zprocentV = l.ambitiesV && l.ambitiesV.zprocent ? l.ambitiesV.zprocent: false;
|
|
this.ambitievanV = l.ambitiesV && l.ambitiesV.ambitievan ? l.ambitiesV.ambitievan === 'standaard' ?
|
|
'(standaard ingestelde ambitie)': '(ambitie van: ' + l.ambitiesV.ambitievan: false ;
|
|
|
|
this.scores = ko.observableArray([]);
|
|
this.erzijnscores = ko.observable(true);
|
|
if(l.scores){
|
|
$.each(l.scores, function (i, s){
|
|
dit.scores.push(new fAddScore(i,s))
|
|
})
|
|
}
|
|
//
|
|
//
|
|
// 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){
|
|
|
|
this.nummer = s.nummer;
|
|
this.omschrijving = s.omschrijving;
|
|
this.toelichting = s.toelichting;
|
|
this.disabled = ko.observable(s.disabled === 'T');
|
|
this.disabledV = ko.observable(s.disabledV === 'T');
|
|
this.disablenvt = ko.observable(s.disablenvt === 'T');
|
|
this.disablenvtV = ko.observable(s.disablenvtV === 'T');
|
|
this.gem = s.disablenvt ==='T'? 'nvt' : s.disabled ==='T' ?'uitgezet': s.gem;
|
|
this.gemV = s.disablenvtV ==='T'? 'nvt' : s.disabledV ==='T' ? 'uitgezet' : s.gemV;
|
|
this.kleur = s.disabled === 'F' && s.disablenvt === 'F'? s.kleur : 'lightgray';
|
|
this.kleurV = s.disabledV === 'F' && s.disablenvtV === 'F'? s.kleurV : 'lightgray';
|
|
|
|
}
|
|
|
|
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(''),
|
|
eigenambitie : ko.observable(false),
|
|
|
|
|
|
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('');
|
|
self.eigenambitie(false);
|
|
var teller = 0;
|
|
self.eigenambitie(result.eigenambitie === 'T');
|
|
|
|
$.each(result.lijsten, function (i, p) {
|
|
|
|
if (p.scores || p.vergelijkingen) {
|
|
self.erzijnlijsten(true);
|
|
self.nietIngevuld(false)
|
|
}
|
|
if(!self.erzijnlijsten()){
|
|
self.nietIngevuld(true)
|
|
}
|
|
if(i === 0 && p.orgversie){
|
|
if(p.orgversie.scoretype){
|
|
self.scoretype(p.orgversie.scoretype);
|
|
}
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
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.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();
|
|
let soorten = [0];
|
|
var xas = [];
|
|
|
|
var balkGegevens = [];
|
|
var lijnGegevens = [];
|
|
var ambitiewaarde = 0;
|
|
var xastitel;
|
|
let titel = 'Versie: ' + self.selectedSerie().naam + ', scoretype: ' + self.selectedSerie().scoreomschrijving
|
|
|
|
$.each(lijsten, function(z, a){
|
|
if(!soorten.includes(Number(a.ambitiesoort))) {
|
|
soorten.push(Number(a.ambitiesoort))
|
|
|
|
}
|
|
|
|
})
|
|
|
|
$.each(lijsten, function(i, l) {
|
|
var labels = [];
|
|
var scores = [];
|
|
var ambities = [];
|
|
|
|
|
|
if(l.label){
|
|
xastitel = l.label;
|
|
}
|
|
if(i === 0 || self.eigenambitie()) {
|
|
|
|
if (l.gemscore && Number(l.gemscore) > 0) {
|
|
ambitiewaarde = Number(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 : Number(g.gem) === 0 ? null: Number(g.gem) ,
|
|
color : g.kleur,
|
|
name : l.periodenummer });
|
|
|
|
|
|
if(i === 0 || self.eigenambitie()) {
|
|
ambities.push(ambitiewaarde)
|
|
}
|
|
|
|
});
|
|
labels.unshift(' ');
|
|
var legescore ={
|
|
y : null,
|
|
color : 'transparent',
|
|
name : '0',
|
|
|
|
};
|
|
|
|
scores.unshift(legescore);
|
|
labels.push(' ');
|
|
scores.push(legescore);
|
|
|
|
|
|
balkGegevens.push({
|
|
dataLabels: {
|
|
format: '{point.name}'
|
|
},
|
|
type : 'column',
|
|
color : '#ffffff',
|
|
name : l.vantm,
|
|
data : scores
|
|
});
|
|
|
|
if(i === 0 || self.eigenambitie()) {
|
|
|
|
ambities.unshift(ambitiewaarde);
|
|
ambities.push(ambitiewaarde);
|
|
|
|
|
|
lijnGegevens = ({
|
|
dataLabels: {
|
|
format: ''
|
|
},
|
|
type: 'spline',
|
|
name: self.eigenambitie() ? 'periode ' + l.periodenummer + ', ' + l.ambitievan : 'standaard ingestelde ambitie',
|
|
data: ambities
|
|
});
|
|
|
|
balkGegevens.push(lijnGegevens);
|
|
}
|
|
if(i === 0) {
|
|
xas = labels;
|
|
}
|
|
});
|
|
|
|
self.ijkgrafiek = Highcharts.chart('hc-chart1', {
|
|
chart: {
|
|
margin: [10,45,100,5],
|
|
options3d: {
|
|
enabled: true,
|
|
alpha: 7,
|
|
beta: 20,
|
|
viewDistance: 40,
|
|
depth: 75,
|
|
frame: {
|
|
left: {
|
|
color:'#f8f8f8'
|
|
},
|
|
bottom: {
|
|
color:'#d9d9d9',
|
|
visible: 'auto'
|
|
},
|
|
back: {
|
|
color:'#f8f8f8'
|
|
},
|
|
}
|
|
}
|
|
},
|
|
|
|
title: {
|
|
text: titel
|
|
},
|
|
credits: {
|
|
enabled: false,
|
|
},
|
|
tooltip:{
|
|
enabled: false,
|
|
// useHTML: true,
|
|
// outside: true,
|
|
// formatter: function() {
|
|
// return this.y;
|
|
//
|
|
// }
|
|
},
|
|
xAxis: {
|
|
// type: 'category',
|
|
categories: xas,
|
|
// skew3d: true,
|
|
title:{
|
|
text: xastitel
|
|
}
|
|
},
|
|
yAxis: {
|
|
min:0,
|
|
max: 100,
|
|
|
|
skew3d: true,
|
|
title: {
|
|
text: 'Scores'
|
|
}
|
|
},
|
|
|
|
legend:{
|
|
align: 'left',
|
|
marginLeft: '10px',
|
|
verticalAlign: 'bottom',
|
|
floating: false,
|
|
width: '50%',
|
|
itemStyle: {
|
|
fontSize: '14px',
|
|
fontWeight: 'normal'
|
|
|
|
}
|
|
},
|
|
|
|
plotOptions: {
|
|
column:{
|
|
pointPadding: 0.05,
|
|
borderWidth:0
|
|
},
|
|
series:{
|
|
groupPadding: 0.05,
|
|
dataLabels: {
|
|
enabled: true,
|
|
inside: true,
|
|
align: 'center',
|
|
verticalAlign: 'top',
|
|
color: '#404040',
|
|
style: {
|
|
textOutline: false
|
|
}
|
|
}
|
|
|
|
},
|
|
spline: {
|
|
pointStart: 0,
|
|
marker: {
|
|
enabled: false
|
|
}
|
|
}
|
|
},
|
|
series:
|
|
balkGegevens,
|
|
});
|
|
|
|
},
|
|
|
|
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 chart = document.getElementById("hc-chart1").outerHTML;
|
|
var tabellen = document.getElementById("alleIJktabellen").outerHTML;
|
|
var legenda = document.getElementById("ijktabellegenda").outerHTML;
|
|
var ambities = document.getElementById("ijkambities").outerHTML
|
|
var resultaten = document.getElementById("ijkresultaten").outerHTML;
|
|
|
|
var sd = {
|
|
chart: GrafiekInfo,
|
|
tabellen: tabellen,
|
|
legenda: legenda,
|
|
ambities: ambities,
|
|
resultaten: resultaten,
|
|
versie: self.selectedSerie().versieid
|
|
};
|
|
data = JSON.stringify(sd);
|
|
var $form = $("<form method='post' action='index.php/monpas/rapijkpunten/ijkpuntenpdf/' target='_blank'>").append($('<input type = "hidden" name="data" id ="ijkpdf">').val(data));
|
|
$form.appendTo("body").submit();
|
|
},
|
|
|
|
|
|
|
|
fPrintEvenNiet: 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
|
|
}); |