| // Copyright (c) 2000-2017 Ericsson Telecom AB // |
| // All rights reserved. This program and the accompanying materials are made available under the // |
| // terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at // |
| // http://www.eclipse.org/legal/epl-v10.html // |
| /////////////////////////////////////////////////////////////////////////////////////////////////////// |
| function CViewModel_SetupLoaderBasedOnCondition(p_viewmodel, p_options) { |
| "use strict"; |
| |
| /** constructor */ |
| |
| var base = new CViewModel_Condition(p_viewmodel, p_options); |
| var v_viewmodel = p_viewmodel; |
| var v_options = p_options; |
| |
| var v_dataPaths = []; |
| |
| /** public functions - interface for parent */ |
| |
| this.setSelectionToControl = base.setSelectionToControl; |
| this.setReponseDataPath = base.setReponseDataPath; |
| this.setBinder = base.setBinder; |
| |
| /** private functions - interface for views */ |
| |
| function loadSetup() { |
| if (v_viewmodel.isRunning()) { |
| var value = base.getState(); |
| if (value) { |
| clearInterval(timer); |
| v_viewmodel.loadSetup(v_options.setupToLoad, undefined, true); |
| } |
| } else { |
| clearInterval(timer); |
| } |
| }; |
| |
| var timer = setInterval(loadSetup, 50); |
| } |
| |
| CViewModel_SetupLoaderBasedOnCondition.getHelp = function() { |
| return "A viewmodel that loads a setup given in its custom data when a condition is met."; |
| } |
| |
| CViewModel_SetupLoaderBasedOnCondition.providesInterface = function() { |
| return []; |
| }; |
| |
| CViewModel_SetupLoaderBasedOnCondition.getCustomDataSchema = function() { |
| var schema = CViewModel_Condition.getCustomDataSchema(); |
| schema.properties.setupToLoad = { |
| "description": "The name of the setup to load", |
| "type": "string" |
| }; |
| schema.required = ["setupToLoad"]; |
| return schema; |
| }; |
| |
| //# sourceURL=CustomizableApp\ViewModels\CViewModel_SetupLoaderBasedOnCondition.js |