52 lines
1.2 KiB
JavaScript
52 lines
1.2 KiB
JavaScript
/**
|
|
* Created by Pensare Software.
|
|
* User: Theo Weijmer
|
|
* Date: 22/12/2017
|
|
* Time: 13:22
|
|
*/
|
|
|
|
|
|
$( function () {
|
|
|
|
dbo.menuModel = {
|
|
|
|
pages : ko.observable(),
|
|
initialized: ko.observable( false ),
|
|
|
|
|
|
init: function () {
|
|
var vm = dbo.menuModel;
|
|
dbo.pageDataservice.getAppPages( function ( data ) {
|
|
vm.pages = data;
|
|
//create for each page an observable
|
|
$.each( data, function ( i, p ) {
|
|
vm[p.pageurl] = ko.observable( false );
|
|
} );
|
|
|
|
// first page will be visible
|
|
vm[data[0].pageurl]( true );
|
|
|
|
ko.applyBindings( dbo.menuModel, document.getElementById( "dbois-app" ) );
|
|
|
|
vm.initialized( true );
|
|
} );
|
|
},
|
|
|
|
setPage: function ( page ) {
|
|
var vm = dbo.menuModel;
|
|
|
|
$.each( vm.pages, function ( i, p ) {
|
|
vm[p.pageurl]( false );
|
|
} );
|
|
vm[page]( true );
|
|
|
|
var func = page.toLowerCase() + 'Init';
|
|
console.log( func );
|
|
window.dbo[func]();
|
|
}
|
|
}
|
|
|
|
dbo.menuModel.init();
|
|
} );
|
|
|