This is still under construction. - Gideon 12 June 2013 This document describes a few framework components and conventions we should use for development of our UI. So we have a hierarchy of classes a module must inherit from. AbstractFormModulePanelBase +rightToolbar +leftToolbar +currentLeftToolbarBus +currentRightToolbarBus +name +id +textNote +sharedStatus +isEditable +module AbstractEntityFormPanelBase +getNameDetailsFromDialog +getNotesFromDialog +getSharedStatusFromDialog ModulePanel +_reportName//config to store the report name +constructor +initComponent//initialize the lefttoolbar to show the buttons for this report panel +_initToolbar //gets the report name save as a config property (_reportName) for this report +getEntityName //OnClose of panel asking to close or don't close that returns true or false +closing //if closing return true call close to actually close the panel +close +isModuleDirty +releaseLock LeftToolbar +buses // set the below config to toolbar i.e this +toolbarReference +showButton +hideButton +enableButton +disableButton +hideAll +toolbarCommonHandler LeftToolbarBus //constructor used to add events +constructor: function () { var me = this; me.addEvents(LEFTBAR_BUTTON_CONST.SAVE); } LefttoolbarButtonConstants //stores the LEFTBAR_BUTTON_CONST as below on its prototype -RUN: 'Run', -VALIDATE: 'Validate', -SAVE: 'Save' , ModulePanelWindow // used for creating a sub window like opening population from report //config modulePanel: undefined, leftToolbar: undefined, rightToolbar: undefined, fnWinClosedCallback: undefined, //-------------------- //the callback function to call on distroy of this subwindow +showSubModule (fnWindowClosedCallback) // method to create a submodule and add it to this i.e. ModulePanelWindow. +setModule (module, param_obj) ----------------------------------------------------------------------------------------------------- AbstractEntityPanelBase PopulationPanel + +