// // IBM Confidential // OCO Source Materials // BI and PM: Mobile // (C) Copyright IBM Corp. 2013 // US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. // dojo.provide('mobileAdmin.serverConfig.view.MobileConfigurationView'); // dojo dependencies dojo.require('dijit.layout.BorderContainer'); dojo.require('dijit.layout.ContentPane'); dojo.require('dijit.TitlePane'); // Mobile dependencies dojo.require('mobileAdmin.serverConfig.control.MobilePropertyGroup'); dojo.declare('mobileAdmin.serverConfig.view.MobileConfigurationView', null, { constructor: function(_this_Fragment, mobileMsgResources) { this.fragmentResources = _this_Fragment; this.msgResources = mobileMsgResources; this.appBorderContainer = null; this.appCenterContentPane = null; this.groupControls = []; }, initialize: function() { var appUIContainerDiv = dojo.query('#idAppUIContainer', this.fragmentResources.div)[0]; if(appUIContainerDiv) { // Fragment caption bar title dojo.query("#caption_bar_title", this.fragmentResources.div)[0].appendChild(document.createTextNode(this.msgResources.ADM.SRV_CONF_PAGE_CAPTION_BAR_TITLE)); // Fragment button titles dojo.query("#save_button_title", this.fragmentResources.div)[0].appendChild(document.createTextNode(this.msgResources.ADM.SRV_CONF_BUTTON_SAVE_CONFIGURATION)); this.appBorderContainer = new dijit.layout.BorderContainer({style:'height:800px;'}, appUIContainerDiv); var appTopContentPane = new dijit.layout.ContentPane({region:'top', "class":'appTopContentPane', id:"idAppTopContentPane"}); appTopContentPane.domNode.innerHTML = this.msgResources.ADM.SRV_CONF_PAGE_DESCRIPTION; this.appBorderContainer.addChild(appTopContentPane); this.appCenterContentPane = new dijit.layout.ContentPane({region:'center', "class":'appCenterContentPane', id:'idAppCenterContentPane'}); this.appBorderContainer.addChild(this.appCenterContentPane); //a11y - remove unnecessary role attribute from dijit content pane widgets //mirrors dojo patch fix - https://bugs.dojotoolkit.org/attachment/ticket/16241/ContentPane.js.remove.invalid.role.patch appTopContentPane.domNode.removeAttribute('role'); this.appCenterContentPane.domNode.removeAttribute('role'); this.appBorderContainer.startup(); } }, displayMobileConfiguration: function(dataModel) { var configPropertyGroups = dataModel.queryGroupLabels(); for(var i = 0; i < configPropertyGroups.length; i++) { var groupControl = new mobileAdmin.serverConfig.control.MobilePropertyGroup(this.fragmentResources, this.msgResources); this.groupControls.push(groupControl); groupControl.renderGroup(this.appCenterContentPane, configPropertyGroups[i], dataModel); } }, prepareForSave : function(){ for (var i = 0; i < this.groupControls.length; i++){ this.groupControls[i].prepareForSave(); } }, dispose: function() { var captionBarTitleNode = dojo.query("#caption_bar_title", this.fragmentResources.div)[0]; dojo.empty(captionBarTitleNode); captionBarTitleNode = null; var saveButtonTitleNode = dojo.query("#save_button_title", this.fragmentResources.div)[0]; dojo.empty(saveButtonTitleNode); saveButtonTitleNode = null; this.appCenterContentPane = null; this.appBorderContainer.destroyRecursive(false); delete this.appBorderContainer; this.appBorderContainer = null; this.fragmentResources = null; this.msgResources = null; } });