/** * 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(); } );