Add a Download Validating Values Action to a Mobile Form
Mobile Framework
Add a Download Validating Values Action to a Mobile Form
Validating tables are read-only tables that contain data for tables such as buildings, floors, rooms, division and department.
The Validating data download process is initiated by the
Common.sync.Manager.downloadValidatingTables
function.
Steps required to add a Validating table action:
-
Create the Model class by extending the
Common.data.Modelclass -
Create the Store class by extending the
Common.store.sync.ValidatingTableStoreclass - Register the Store
Example
Add the Equipment Standard table as a validating table to the Maintenance app. For example, you may wish to include the Equipment Standard Description in the Update Work Request form so that a mobile user can read the description and more easily identify the piece of equipment in question. To add the description, you will need to validate against the Equipment Standard.
Create the Model class.
- In the ab-products/common/mobile/src/Common/model folder, create a new js file titled EquipmentStandard.js.
-
Define a new
Common.model.EquipmentStandardclass and extend theCommon.data.Modelclass. By placing the new class in theCommonnamespace, it will be shared by all applications. -
Provide field definitions for the validating table fields. The 'id' field is an auto-incremented number used by the mobile database to uniquely identify each record. Specify the
eqstdfields to be included in the validating table, 'eq_std' and 'description'.
Ext.define('Common.model.EquipmentStandard', {
extend : 'Common.data.Model',
config : {
fields : [
{ name : 'id', type : 'int' },
{ name : 'eq_std', type : 'string' },
{ name : 'description', type : 'string' }
]
}
});
Create the Store class.
-
In the ab-products/common/mobile/src/Common/store folder, create a new js file titled EquipmentStandards.js.
-
Extend the
Common.store.sync.ValidatingTableStoreclass. This class provides all of the functionality needed to create a validating table. -
Reference the new
Common.model.EquipmentStandardmodel class in the 'requires' property and the 'model' property of the config parameters -
Specify the
eqstdtable as theserverTableName, indicating the validating table to sync with, and list the fields,eq_stdanddescription. -
Use the config parameters to define other properties such as sort field. Assign a unique
storeIdvalue to the Store.
Ext.define('Common.store.EquipmentStandards', {
extend : 'Common.store.sync.ValidatingTableStore',
requires : [ 'Common.model.EquipmentStandard' ],
serverTableName : 'eqstd',
serverFieldNames : [ 'eq_std', 'description' ],
inventoryKeyNames : [ 'eq_std' ],
config : {
model : 'Common.model.EquipmentStandard',
storeId : 'equipmentStandardsStore',
remoteSort : true,
remoteFilter : true,
sorters : [ {
property : 'eq_std',
direction : 'ASC'
} ],
enableAutoLoad : true,
proxy : {
type : 'Sqlite'
}
}
});
Register the Store
- To register the new Store with the Maintenance app, open the ab-products/common/mobile/src/Maintenance/app.js file.
-
Add the new
Common.store.EquipmentStandardsStore to the list of Stores used by the app.
The validating tables are downloaded when the Get Background Data action is selected in the mobile view.
