@ind-rcg/modeler-sfdx-cli-plugin 246.1042.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. package/LICENSE.md +37 -0
  2. package/README.md +756 -0
  3. package/lib/commands/modeler/workspace/add.js +1 -0
  4. package/lib/commands/modeler/workspace/build.js +1 -0
  5. package/lib/commands/modeler/workspace/cleanup.js +1 -0
  6. package/lib/commands/modeler/workspace/create.js +1 -0
  7. package/lib/commands/modeler/workspace/package.js +1 -0
  8. package/lib/commands/modeler/workspace/refreshLocale.js +1 -0
  9. package/lib/commands/modeler/workspace/server/start.js +1 -0
  10. package/lib/commands/modeler/workspace/upgrade.js +1 -0
  11. package/lib/commands/modeler/workspace/utils/base64encode.js +1 -0
  12. package/lib/commands/modeler/workspace/utils/generateManifest.js +1 -0
  13. package/lib/commands/modeler/workspace/utils/migrateContracts.js +1 -0
  14. package/lib/commands/modeler/workspace/validate.js +1 -0
  15. package/lib/constants.js +1 -0
  16. package/lib/hooks/init/updateCheck.js +1 -0
  17. package/lib/model/buildStatus.js +1 -0
  18. package/lib/model/workspace.js +1 -0
  19. package/lib/model/workspaceCommand.js +1 -0
  20. package/lib/shared/commandBuilder.js +1 -0
  21. package/lib/shared/commandExecutor.js +1 -0
  22. package/lib/shared/commandOutput.js +1 -0
  23. package/lib/types/config.js +1 -0
  24. package/lib/types/errors.js +1 -0
  25. package/lib/types/messages.js +1 -0
  26. package/lib/types/package.js +1 -0
  27. package/lib/types/results.js +1 -0
  28. package/lib/utils/componentHelper.js +1 -0
  29. package/lib/utils/errorHelper.js +1 -0
  30. package/lib/utils/fsHelper.js +1 -0
  31. package/lib/utils/generateManifestHelper.js +1 -0
  32. package/lib/utils/messageHelper.js +1 -0
  33. package/lib/utils/packageHelper.js +1 -0
  34. package/lib/utils/serverHelper.js +1 -0
  35. package/lib/utils/templateEngine.js +1 -0
  36. package/lib/utils/templateHelper.js +1 -0
  37. package/lib/utils/updateChecker.js +1 -0
  38. package/lib/utils/validationHelper.js +1 -0
  39. package/messages/modeler-workspace-add.md +45 -0
  40. package/messages/modeler-workspace-build.md +29 -0
  41. package/messages/modeler-workspace-cleanup.md +17 -0
  42. package/messages/modeler-workspace-create.md +21 -0
  43. package/messages/modeler-workspace-package.md +21 -0
  44. package/messages/modeler-workspace-refresh-locale.md +27 -0
  45. package/messages/modeler-workspace-server-start.md +37 -0
  46. package/messages/modeler-workspace-upgrade.md +21 -0
  47. package/messages/modeler-workspace-utils-base64encode.md +25 -0
  48. package/messages/modeler-workspace-utils-generateManifest.md +15 -0
  49. package/messages/modeler-workspace-utils-migrateContracts.md +23 -0
  50. package/messages/modeler-workspace-validate.md +29 -0
  51. package/messages/modeler-workspace.md +19 -0
  52. package/oclif.manifest.json +429 -0
  53. package/package.json +108 -0
  54. package/templates/.gitignore.tmp +4 -0
  55. package/templates/README.md.tmp +77 -0
  56. package/templates/contractTemplates/#ModuleName#/BO/README.md +1 -0
  57. package/templates/contractTemplates/#ModuleName#/DS/README.md +1 -0
  58. package/templates/contractTemplates/#ModuleName#/PL/README.md +1 -0
  59. package/templates/contractTemplates/#ModuleName#/PR/README.md +1 -0
  60. package/templates/contractTemplates/#ModuleName#/TB/README.md +1 -0
  61. package/templates/contractTemplates/BO_BusinessObject/businessobject/Bo${NAME}/Bo${NAME}.businessobject.xml +22 -0
  62. package/templates/contractTemplates/BO_BusinessObject/businessobject/Bo${NAME}/Mv2/CreateAsync/Bo${NAME}.AfterCreateAsync.bl.js +54 -0
  63. package/templates/contractTemplates/BO_BusinessObject/businessobject/Bo${NAME}/Mv2/CreateAsync/Bo${NAME}.BeforeCreateAsync.bl.js +56 -0
  64. package/templates/contractTemplates/BO_BusinessObject/businessobject/Bo${NAME}/Mv2/DoValidateAsync/Bo${NAME}.AfterDoValidateAsync.bl.js +57 -0
  65. package/templates/contractTemplates/BO_BusinessObject/businessobject/Bo${NAME}/Mv2/DoValidateAsync/Bo${NAME}.BeforeDoValidateAsync.bl.js +56 -0
  66. package/templates/contractTemplates/BO_BusinessObject/businessobject/Bo${NAME}/Mv2/Initialize/Bo${NAME}.AfterInitialize.bl.js +54 -0
  67. package/templates/contractTemplates/BO_BusinessObject/businessobject/Bo${NAME}/Mv2/Initialize/Bo${NAME}.BeforeInitialize.bl.js +54 -0
  68. package/templates/contractTemplates/BO_BusinessObject/businessobject/Bo${NAME}/Mv2/LoadAsync/Bo${NAME}.AfterLoadAsync.bl.js +57 -0
  69. package/templates/contractTemplates/BO_BusinessObject/businessobject/Bo${NAME}/Mv2/LoadAsync/Bo${NAME}.BeforeLoadAsync.bl.js +56 -0
  70. package/templates/contractTemplates/BO_BusinessObject/businessobject/Bo${NAME}/Mv2/SaveAsync/Bo${NAME}.AfterSaveAsync.bl.js +57 -0
  71. package/templates/contractTemplates/BO_BusinessObject/businessobject/Bo${NAME}/Mv2/SaveAsync/Bo${NAME}.BeforeSaveAsync.bl.js +56 -0
  72. package/templates/contractTemplates/BO_BusinessObject/businessobject/BusinessObject.md +186 -0
  73. package/templates/contractTemplates/BO_BusinessObject/businessobject/snippets/BusinessObjectListObjectsListObjectEventsSnipp.xml +3 -0
  74. package/templates/contractTemplates/BO_BusinessObject/businessobject/snippets/BusinessObjectListObjectsListObjectSnipp.xml +1 -0
  75. package/templates/contractTemplates/BO_BusinessObject/businessobject/snippets/BusinessObjectNestedObjectsNestedObjectSnipp.xml +1 -0
  76. package/templates/contractTemplates/BO_BusinessObject/businessobject/snippets/BusinessObjectObjectLookupsObjectLookupEventsSnipp.xml +3 -0
  77. package/templates/contractTemplates/BO_BusinessObject/businessobject/snippets/BusinessObjectObjectLookupsObjectLookupSnipp.xml +1 -0
  78. package/templates/contractTemplates/BO_BusinessObject/businessobject/snippets/BusinessObjectSimplePropertiesSimplePropertyEventsSnipp.xml +3 -0
  79. package/templates/contractTemplates/BO_BusinessObject/businessobject/snippets/BusinessObjectSimplePropertiesSimplePropertySnipp.xml +1 -0
  80. package/templates/contractTemplates/BO_BusinessObject/businessobjecthelper/snippets/BusinessObjectHelperSimplePropertiesSimplePropertySnipp.xml +1 -0
  81. package/templates/contractTemplates/BO_BusinessObject/validationmessages/ValidationMessage.md +38 -0
  82. package/templates/contractTemplates/BO_BusinessObject/validationmessages/snippets/ValidationMessagesValidationMessageSnipp.xml +1 -0
  83. package/templates/contractTemplates/DS_DataSource/DataSource.md +319 -0
  84. package/templates/contractTemplates/DS_DataSource/Ds${NAME}_sf.datasource.xml +11 -0
  85. package/templates/contractTemplates/DS_DataSource/snippets/DataSourceAttributesAttributeSnipp.xml +1 -0
  86. package/templates/contractTemplates/DS_DataSource/snippets/DataSourceAttributesDerivedAttributeSnipp.xml +1 -0
  87. package/templates/contractTemplates/DS_DataSource/snippets/DataSourceEntitiesEntityJoinSimpleJoinConditionAttributeSnipp.xml +1 -0
  88. package/templates/contractTemplates/DS_DataSource/snippets/DataSourceEntitiesEntityJoinSimpleJoinConditionLiteralSnipp.xml +1 -0
  89. package/templates/contractTemplates/DS_DataSource/snippets/DataSourceEntitiesEntitySnipp.xml +1 -0
  90. package/templates/contractTemplates/ExternalFiles/#Name#.externalfile.xml +6 -0
  91. package/templates/contractTemplates/LO_ListObject/Lo${NAME}/Li${NAME}.listitem.xml +5 -0
  92. package/templates/contractTemplates/LO_ListObject/Lo${NAME}/ListItem.md +114 -0
  93. package/templates/contractTemplates/LO_ListObject/Lo${NAME}/ListObject.md +354 -0
  94. package/templates/contractTemplates/LO_ListObject/Lo${NAME}/Lo${NAME}.listobject.xml +12 -0
  95. package/templates/contractTemplates/LO_ListObject/Lo${NAME}/Mv2/DoValidateAsync/Lo${NAME}.AfterDoValidateAsync.bl.js +57 -0
  96. package/templates/contractTemplates/LO_ListObject/Lo${NAME}/Mv2/DoValidateAsync/Lo${NAME}.BeforeDoValidateAsync.bl.js +56 -0
  97. package/templates/contractTemplates/LO_ListObject/Lo${NAME}/Mv2/LoadAsync/Lo${NAME}.AfterLoadAsync.bl.js +57 -0
  98. package/templates/contractTemplates/LO_ListObject/Lo${NAME}/Mv2/LoadAsync/Lo${NAME}.BeforeLoadAsync.bl.js +56 -0
  99. package/templates/contractTemplates/LO_ListObject/Lo${NAME}/Mv2/SaveAsync/Lo${NAME}.AfterSaveAsync.bl.js +57 -0
  100. package/templates/contractTemplates/LO_ListObject/Lo${NAME}/Mv2/SaveAsync/Lo${NAME}.BeforeSaveAsync.bl.js +56 -0
  101. package/templates/contractTemplates/LO_ListObject/snippets/ListItemSimplePropertiesSimplepropertySnipp.xml +1 -0
  102. package/templates/contractTemplates/LU_LookupObject/Lu${NAME}/LookupObject.md +97 -0
  103. package/templates/contractTemplates/LU_LookupObject/Lu${NAME}/Lu${NAME}.lookupobject.xml +12 -0
  104. package/templates/contractTemplates/LU_LookupObject/Lu${NAME}/Mv2/LoadAsync/Lu${NAME}.AfterLoadAsync.bl.js +57 -0
  105. package/templates/contractTemplates/LU_LookupObject/Lu${NAME}/Mv2/LoadAsync/Lu${NAME}.BeforeLoadAsync.bl.js +56 -0
  106. package/templates/contractTemplates/LU_LookupObject/snippets/LookupObjectSimplePropertiesSimplePropertySnipp.xml +1 -0
  107. package/templates/contractTemplates/PL_PrintLayout/#Name#PDF/#Name#PDF.printlayoutv2.xml +4 -0
  108. package/templates/contractTemplates/PR_Process_&_UI/#ModuleName#_#Name#/#ModuleName#_#Name#.userinterface.xml +4 -0
  109. package/templates/contractTemplates/PR_Process_&_UI/#ModuleName#_#Name#/#ModuleName#_#Name#Process.processflow.xml +12 -0
  110. package/templates/contractTemplates/PR_Process_&_UI/Process.md +790 -0
  111. package/templates/contractTemplates/PR_Process_&_UI/UserInterface.md +1545 -0
  112. package/templates/contractTemplates/PR_Process_&_UI/snippets/Process/ProcessBodyActionsActionConfirmSnipp.xml +6 -0
  113. package/templates/contractTemplates/PR_Process_&_UI/snippets/Process/ProcessBodyActionsActionCreateSnipp.xml +7 -0
  114. package/templates/contractTemplates/PR_Process_&_UI/snippets/Process/ProcessBodyActionsActionDecisionSnipp.xml +5 -0
  115. package/templates/contractTemplates/PR_Process_&_UI/snippets/Process/ProcessBodyActionsActionEndSnipp.xml +5 -0
  116. package/templates/contractTemplates/PR_Process_&_UI/snippets/Process/ProcessBodyActionsActionLoadSnipp.xml +7 -0
  117. package/templates/contractTemplates/PR_Process_&_UI/snippets/Process/ProcessBodyActionsActionLogicSnipp.xml +7 -0
  118. package/templates/contractTemplates/PR_Process_&_UI/snippets/Process/ProcessBodyActionsActionMasterDetailSnipp.xml +24 -0
  119. package/templates/contractTemplates/PR_Process_&_UI/snippets/Process/ProcessBodyActionsActionNavigationSnipp.xml +8 -0
  120. package/templates/contractTemplates/PR_Process_&_UI/snippets/Process/ProcessBodyActionsActionPrintSnipp.xml +6 -0
  121. package/templates/contractTemplates/PR_Process_&_UI/snippets/Process/ProcessBodyActionsActionPrintV2Snipp.xml +6 -0
  122. package/templates/contractTemplates/PR_Process_&_UI/snippets/Process/ProcessBodyActionsActionProcessSnipp.xml +9 -0
  123. package/templates/contractTemplates/PR_Process_&_UI/snippets/Process/ProcessBodyActionsActionValidationSnipp.xml +6 -0
  124. package/templates/contractTemplates/PR_Process_&_UI/snippets/Process/ProcessBodyActionsActionViewSnipp.xml +6 -0
  125. package/templates/contractTemplates/PR_Process_&_UI/snippets/Process/ProcessEntryEntryActionsActionCreateSnipp.xml +6 -0
  126. package/templates/contractTemplates/PR_Process_&_UI/snippets/Process/ProcessEntryEntryActionsActionLoadSnipp.xml +6 -0
  127. package/templates/contractTemplates/PR_Process_&_UI/snippets/Process/ProcessEntryEntryActionsActionLogicSnipp.xml +6 -0
  128. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Attachment/AttachmentFolderInfoSectionSnipp.xml +6 -0
  129. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Attachment/AttachmentFolderSnipp.xml +24 -0
  130. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Banner/BannerFilterSnipp.xml +19 -0
  131. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Banner/Banner_WithFilterSnipp.xml +25 -0
  132. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Banner/Banner_WithoutFilterSnipp.xml +6 -0
  133. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/BindingList/BindingsList_DecisionsSnipp.xml +9 -0
  134. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/BindingList/BindingsList_GroupsSnipp.xml +11 -0
  135. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/BindingList/BindingsList_ResultsSnipp.xml +13 -0
  136. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/BreadCrumbControl/BreadCrumbControlEventsSnipp.xml +6 -0
  137. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/BreadCrumbControl/BreadCrumbControlHierarchyBindingsBindingAddItemSnipp.xml +1 -0
  138. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/BreadCrumbControl/BreadCrumbControlHierarchyBindingsBindingCategoriesSnipp.xml +1 -0
  139. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/BreadCrumbControl/BreadCrumbControlHierarchyBindingsBindingShowCategorySnipp.xml +1 -0
  140. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/BreadCrumbControl/BreadCrumbControlHierarchyDataSourcesSnipp.xml +3 -0
  141. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/BreadCrumbControl/BreadCrumbControlItemsBindingsBindingButtonSnipp.xml +1 -0
  142. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/BreadCrumbControl/BreadCrumbControlItemsBindingsBindingComboSnipp.xml +1 -0
  143. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/BreadCrumbControl/BreadCrumbControlItemsBindingsBindingDateSnipp.xml +1 -0
  144. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/BreadCrumbControl/BreadCrumbControlItemsBindingsBindingDecimalSnipp.xml +1 -0
  145. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/BreadCrumbControl/BreadCrumbControlItemsBindingsBindingDynamicSnipp.xml +1 -0
  146. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/BreadCrumbControl/BreadCrumbControlItemsBindingsBindingImageSnipp.xml +1 -0
  147. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/BreadCrumbControl/BreadCrumbControlItemsBindingsBindingStepperSnipp.xml +1 -0
  148. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/BreadCrumbControl/BreadCrumbControlItemsBindingsBindingStepper_CorrelationIdSnipp.xml +1 -0
  149. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/BreadCrumbControl/BreadCrumbControlItemsBindingsBindingTextSnipp.xml +1 -0
  150. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/BreadCrumbControl/BreadCrumbControlItemsBindingsResourceImageSnipp.xml +1 -0
  151. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/BreadCrumbControl/BreadCrumbControlItemsBindingsResourceLabelSnipp.xml +1 -0
  152. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/BreadCrumbControl/BreadCrumbControlItemsContextMenuSnipp.xml +13 -0
  153. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/BreadCrumbControl/BreadCrumbControlSearchAttributesSnipp.xml +3 -0
  154. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/BreadCrumbControl/BreadCrumbControlSnipp.xml +22 -0
  155. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/BreadCrumbControl/MultiSelectionBreadCrumbControlSnipp.xml +23 -0
  156. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Calendar/CalendarControlEventsSnipp.xml +11 -0
  157. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Calendar/CalendarControlItemsBindingsBindingDateSnipp.xml +1 -0
  158. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Calendar/CalendarControlItemsBindingsBindingDecimalSnipp.xml +1 -0
  159. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Calendar/CalendarControlItemsBindingsBindingImageSnipp.xml +1 -0
  160. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Calendar/CalendarControlItemsBindingsBindingLabelSnipp.xml +1 -0
  161. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Calendar/CalendarControlItemsBindingsBindingTextSnipp.xml +1 -0
  162. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Calendar/CalendarControlSettingsSnipp.xml +1 -0
  163. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Calendar/CalendarControlSnipp.xml +8 -0
  164. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/CheckBox/CheckBoxEventsSnipp.xml +3 -0
  165. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/CheckBox/CheckBoxSnipp.xml +6 -0
  166. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Cockpit/CockpitSectionsSnipp.xml +7 -0
  167. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/DataImportWizard/DataImportWizardSnipp.xml +12 -0
  168. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/DatePicker/DatePickerFieldSnipp.xml +6 -0
  169. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/EmbededList/EmbeddedListSnipp.xml +8 -0
  170. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/EnhanceDecisionList/EnhancedDecisionListSnipp.xml +52 -0
  171. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/FastEntry/FastDataEntryGridSnipp.xml +69 -0
  172. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/GoogleMaps/GoogleMapDetailsSnipp.xml +20 -0
  173. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/GoogleMaps/GoogleMapSnipp.xml +7 -0
  174. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/GroupElement/GroupElementSnipp.xml +5 -0
  175. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/GroupedButtonList/GroupedButtonListEventsSnipp.xml +5 -0
  176. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/GroupedButtonList/GroupedButtonListFooterSnipp.xml +8 -0
  177. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/GroupedButtonList/GroupedButtonListSnipp.xml +8 -0
  178. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/GroupedList/GroupedListEventsSnipp.xml +7 -0
  179. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/GroupedList/GroupedListSnipp.xml +5 -0
  180. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/GroupedList/MultiSelectionGroupedListEventsSnipp.xml +7 -0
  181. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/GroupedList/MultiSelectionGroupedListSnipp.xml +6 -0
  182. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/ImageButton/ImageButtonSnipp.xml +10 -0
  183. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/ImageSelector/ImageSelectorSnipp.xml +16 -0
  184. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/InputArea/InputAreaMultiLineSnipp.xml +6 -0
  185. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/InputArea/InputAreaSnipp.xml +6 -0
  186. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/ItemListLayout/ItemListLayout_ComplexSnipp.xml +13 -0
  187. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/ItemListLayout/ItemListLayout_GridSnipp.xml +10 -0
  188. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/ItemListLayout/ItemListLayout_TwoRowsSnipp.xml +8 -0
  189. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/LinkBar/LinkBarSnipp.xml +12 -0
  190. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Lookup/LookupEventSnipp.xml +3 -0
  191. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Lookup/LookupSnipp.xml +6 -0
  192. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/MediaControl/MediaControlSnipp.xml +7 -0
  193. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/MediaListControl/MediaListControlBindingsBindingDescriptionSnipp.xml +1 -0
  194. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/MediaListControl/MediaListControlBindingsBindingIsTaggedSnipp.xml +1 -0
  195. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/MediaListControl/MediaListControlBindingsBindingMediaPathSnipp.xml +1 -0
  196. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/MediaListControl/MediaListControlBindingsBindingTypeSnipp.xml +1 -0
  197. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/MediaListControl/MediaListControlEventsSnipp.xml +4 -0
  198. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/MediaListControl/MediaListControlSnipp.xml +8 -0
  199. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Menu/LongPressMenuSnipp.xml +8 -0
  200. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Menu/MenuItemSnipp.xml +9 -0
  201. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Merger/MergerOneInputControlTwoButtonsMaxSnipp.xml +2 -0
  202. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Merger/MergerTwoInputControlsCombinedSnipp.xml +2 -0
  203. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Merger/MergerTwoInputControlsNoneSnipp.xml +2 -0
  204. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Merger/MergerTwoInputControlsOwnSnipp.xml +5 -0
  205. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/NoDataMessageSnipp.xml +9 -0
  206. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Page/MasterDetail/Page_MasterDetail_WithDetailGroupsSnipp.xml +43 -0
  207. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Page/MasterDetail/Page_MasterDetail_WithDetailListSnipp.xml +44 -0
  208. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Page/MasterDetail/Page_MasterDetail_WithDetailTabsSnipp.xml +61 -0
  209. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Page/MasterDetail/Page_MasterDetail_WithExtendedDetailSnipp.xml +44 -0
  210. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Page/SingleSection/Page_SingleSectionScreens_GroupedElementsSnipp.xml +33 -0
  211. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Page/SingleSection/Page_SingleSectionScreens_ListSnipp.xml +41 -0
  212. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Page/SingleSection/Page_SingleSectionScreens_TabSnipp.xml +39 -0
  213. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Page/SingleSection/Page_SingleSectionScreens_WizardSnipp.xml +34 -0
  214. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Page/SplitScreen/Page_SplitScreenSnipp.xml +27 -0
  215. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/SelectionBox/SelectionBoxBindingSnipp.xml +13 -0
  216. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/SelectionBox/SelectionBoxEventsSnipp.xml +4 -0
  217. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/SelectionBox/SelectionBoxToggleSnipp.xml +13 -0
  218. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/SignatureControl/SignatureControlBindingsBindingEditableParametersSnipp.xml +3 -0
  219. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/SignatureControl/SignatureControlBindingsBindingEditableSnipp.xml +1 -0
  220. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/SignatureControl/SignatureControlBindingsBindingVisibleParametersSnipp.xml +3 -0
  221. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/SignatureControl/SignatureControlBindingsBindingVisibleSnipp.xml +1 -0
  222. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/SignatureControl/SignatureControlEditabilityRolesSnipp.xml +3 -0
  223. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/SignatureControl/SignatureControlSnipp.xml +6 -0
  224. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/SignatureControl/SignatureControlVisibilityRolesSnipp.xml +3 -0
  225. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/Stepper/StepperSnipp.xml +7 -0
  226. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/TextBar/TextBarSnipp.xml +7 -0
  227. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/ThemeSelection/ThemeSelectionSnipp.xml +5 -0
  228. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/TimePicker/TimePickerFieldSnipp.xml +6 -0
  229. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/UserWelcomeSnipp.xml +24 -0
  230. package/templates/contractTemplates/PR_Process_&_UI/snippets/UI/VisitDetailsSnipp.xml +21 -0
  231. package/templates/contractTemplates/TB_Table/#Name#_T.temptable.xml +11 -0
  232. package/templates/contractTemplates/TB_Table/snippets/#Name#.dbtable.xml +10 -0
  233. package/templates/contractTemplates/TB_Table/snippets/dbtable/DBTablecolumnscolumnSnipp.xml +1 -0
  234. package/templates/contractTemplates/TB_Table/snippets/dbtable/DBTableindexesindexSnipp.xml +3 -0
  235. package/templates/contractTemplates/TB_Table/snippets/temptable/TempTableColumnsColumnIsDeletedSnipp.xml +1 -0
  236. package/templates/contractTemplates/TB_Table/snippets/temptable/TempTableColumnsColumnSnipp.xml +1 -0
  237. package/templates/contractTemplates/TB_Table/snippets/temptable/TempTableindexesindexSnipp.xml +3 -0
  238. package/templates/contractTemplates/UI_Plugins/#Name#UiPluginV2.uipluginv2.xml +16 -0
  239. package/templates/templateDefinitions.json +167 -0
@@ -0,0 +1,1545 @@
1
+
2
+ # UserInterface (UI) Contract Definition
3
+
4
+ ## Table of Content
5
+ <ul>
6
+ <li>[Contract definition](#contract-definition)
7
+ <ul>
8
+ <li>[UI definitino contracts](#ui-definition-contracts)
9
+ <ul>
10
+ <li>[Page level](#page-level)
11
+ <li>[Section level](#section-level)
12
+ <li>[Area level](#area-level)
13
+ <li>[UI control level](#ui-control-level)
14
+ </ul>
15
+ </ul>
16
+ <li>[UI patterns](#ui-patterns)
17
+ <ul>
18
+ <li>[Page level UI patterns](#page-level-ui-patterns)
19
+ <ul>
20
+ <li>[Single section page](#single-section-page)
21
+ <li>[Single section dialog page](#single-section-dialog-page)
22
+ <li>[Master detail section page](#master-detail-section-page)
23
+ <li>[Multi section page](#multi-section-page)
24
+ <li>[Split screen page](#split-screen-page)
25
+ </ul>
26
+ <li>[Section level UI patterns](#section-level-ui-patterns)
27
+ <ul>
28
+ <li>[Single area section](#single-area-section)
29
+ <li>[Dashboard section](#dashboard-section)
30
+ <li>[Tabbed View area section](#tabbed-view-area-section)
31
+ <li>[Filtered view area section](#filtered-view-area-section)
32
+ </ul>
33
+ <li>[Area level UI patterns](#area-level-ui-patterns)
34
+ </ul>
35
+ </ul>
36
+
37
+ ## Contract Definition
38
+ Contracts are design time objects that use XML to describe certain aspects of the application. Contracts act as device independent, technology independent and form factor independent design documents that need to be translated into runtime objects to be used in the framework or application.
39
+
40
+ ## UI definition contracts
41
+ There are two types of contracts for the UI: UI patterns and UI definition contracts. This document describes the use, syntax and semantics of both contract types.
42
+ UI contracts describe the UI in different layers, each focusing on different design aspects. The following chapters describe these layers and how they are represented at runtime.
43
+
44
+ ### Page level
45
+ A page is the top level of the UI describing a logical unit belonging to a specific use case. At runtime a page can cover multiple display screens, depending on the device type and device orientation. Pages contain one or more sections.
46
+
47
+ ### Section level
48
+ A section is a part of a page that is never split across multiple display screens at runtime. A section can cover only part of a display screen or all of it. Sections encapsulate smaller logical units than pages. Sections contain one or more areas.
49
+
50
+ ### Area level
51
+ An area is a part of a section. Areas are logical groups of UI controls and encapsulate certain aspects of the use case the UI description is used for.
52
+ Areas contain one or more UI controls
53
+
54
+ ### UI control level
55
+ A UI control is any interface component displayed to the user. This can range from simple labels to complex map or camera controls.
56
+ UI controls define elements that are associated with them like touch events for buttons or text changed events for text fields. The UI description contracts map these technical events to logical events that are handled by the UI controller or application flow controller. There are two sub-types of UI controls: Containers and components. Containers contain other containers or components, while components are at the lowest hierarchy level in the UI and are atomic in nature.
57
+
58
+ ## UI patterns
59
+ UI patterns are the basis of the UI description. UI patterns describe recurring features, layouts and controller structures. UI patterns exist for all the levels described in chapter 1.1. The following chapters describe the UI patterns used in the NextGen mobile framework before describing the UI pattern syntax and semantics in more detail. UI patterns are part for the framework and not meant to be edited by or for projects or customers.
60
+
61
+ ## Page level UI patterns
62
+ The following page level UI patterns are defined for the NextGen mobility framework.
63
+
64
+ ### Single section page
65
+ The single section page pattern describes a situation where a single section fills the entire page. This section is named "masterSection". This indirectly states that the whole page will be visible on all devices and never be split to multiple device screens. No additional logic is contained in this pattern. This pattern supports one child of "section" level only.
66
+
67
+ ### Single section dialog page
68
+ The single section dialog page pattern is similar to the single section page pattern, but the page is displayed in a pop-up dialog instead. This pattern supports one child of "section" level only.
69
+
70
+ ### Master detail section page
71
+ The master detail section page pattern is used, when data in one section influences data in another section. The page using this pattern has exactly two sections, one named "MasterSection" and the other named "DetailSection". This pattern also includes two data sources that need to be linked to data in the process context. Whenever the data in the master data source changes, a special event is thrown to notify the detail data source of the change. A typical use case for this is pattern is a list view that contains overview data and a detail section that contains detailed information about the selected item. This pattern requires two children of "section" level.
72
+
73
+ ### Multi section page
74
+ The multi section page pattern consits of two vertical sections with no dependencies between them like in the master detail pattern. Its purpose is to display or hide dynamically a second section with a multiarea in it. This pattern requires one or more children of "section" level.
75
+
76
+ ### Split Screen page
77
+ The split screen section page pattern consist of exactly two sections side by side named "LeftSection" and "RightSection". It shows two visualizations of a list on a phone formfactor, e.g. to enable the application user to see the map in an Agenda also on phones.On phones a new entry inside the context menu is available to switch between the two views. This pattern requires two children of "section" level.
78
+
79
+ ### Section level UI patterns
80
+ The following section level UI patterns are defined for the NextGen mobility framework.
81
+
82
+ ### Single area section
83
+ The single area section pattern states that there is just a single area named "MainArea" inside the section. No additional logic is contained in this pattern. This pattern supports one child of "area" level only.
84
+
85
+ ### Dashboard section
86
+ The dashboard section pattern is a specialized pattern that is solely used in the main menu screen of the application. It can only contain certain a welcome area and a button grid area. This pattern requires two children of "area" level, one to contain the "Welcome" area, that has to use the "WelcomeArea" pattern and one to contain the dashboard buttons, which has to use the "ButtonGridArea" pattern.
87
+
88
+ ### Tabbed View area section
89
+ The tabbed area section pattern describes a section that contains multiple areas all arranged as tabs in a single section. The section comes with a number of tab selection controls that let the user switch between the areas contained in the section. Only one area is visible at all times and this area covers the whole section minus the space needed for the tab selectors. Tabbed area sections can be customized,  so that  have selected visibility and editability rights. This pattern requires two or more children of "area" level. One has to use the "TabElementArea" pattern, the others can use any area pattern
90
+
91
+ ### Filtered view area section
92
+ The filtered view area section pattern is similar to the master data section page pattern as it too describes a situation where data in one element influences data in another. The differences between these patterns are that the filtered view area section is a section pattern rather than a page pattern and that the filtered view area section pattern does not handle a master detail relationship but is used to filter data in one view based on the selection in another view. The filtered view area section contains two areas, the filter area and the view area. The filter area must be a filter element area. It also defines two data sources which are usually lists and it defines filter properties for the view data source. When the filter data source changes, this data is used to filter the information in the view data source. A typical use case could be that selecting an item in one list filters the content visible in another list. This pattern requires two children of "area" level. One to contain the filter and has to use the "FilterElementArea" pattern and one to contain the data to be filtered.
93
+
94
+ ### Area level UI patterns
95
+ The following area level UI patterns are defined for the NextGen mobility framework.
96
+
97
+ ### Login area
98
+ The login area pattern is a specialized pattern that describes the login screen and is only used there. It can only contain the UI controls necessary to authenticate a user. This pattern requires two "control" level children. A group element to contain the login fields and an image button
99
+
100
+ ### Welcome area
101
+ The welcome area pattern is a specialized pattern that is only used in the main menu screen. It contains a welcome message UI control that displays a welcome message, the company logo, the user name and an image. This pattern supports only one child of "control" level, which needs to be the "Welcome" control
102
+
103
+ ### Button grid area
104
+ The button grid area pattern is used when multiple buttons need to be arranged in a grid. It only contains buttons as UI controls and auto-arranges them in a grid that fits on the device screen. If more buttons are added than fit on one device screen, the button grid area automatically manages navigation between the correct number of screens needed to show all the buttons in the grid. This pattern supports one or more "control" level children, that need to be "ImageButtons"
105
+
106
+ ### Single element area
107
+ The single element area pattern describes a situation where a single UI control is positioned inside the area.
108
+ No additional logic is contained in this pattern. This pattern supports only one child of "control" level.
109
+
110
+ ### Grouped element area
111
+ The grouped element area pattern describes a situation where multiple UI controls need to be arranged in groups. Each group can contain one or more UI controls and the grouped element area pattern contains support for naming the groups and adding UI controls to the groups. Groups are usually displayed inside a border or similar UI elements to separate them visually in the UI and group names are usually displayed in the UI to enhance the user experience. This pattern supports one or more children of control type. Valid controls include "ActionBar", "EmbeddedList", and "GroupElement"
112
+
113
+ ### Filter element area
114
+ The filter element area is a specialized single element area that can act as a filter in the filtered view area section. This pattern supports only one child of "control" level, which needs to be an "ImageSelector"
115
+
116
+ ### Card area
117
+ The card area can be used to arrange the CardContainers by dividing the available area into columns. This pattern supports one or more children of "control" level, which need to be "CardContainers", "NavigationMenuContainer" or "SyncCardContainer".
118
+
119
+ ### Multi area
120
+ The MultiArea is used to display multiple areas in one place, allowing to switch between the areas and thus allowing to display different data in the same area, e.g. an overview and details for one element. This pattern supports one or more children of "area" level.
121
+
122
+ ## UI control level UI patterns.
123
+ UI control level UI patterns describe templates used in UI controls. This can range from image buttons to list elements and each pattern is custom tailored to the control it is used by.
124
+
125
+ ## Pattern syntax and semantics
126
+
127
+ ### Top level element
128
+ The top level element of each pattern states which type of pattern is defined. This can be any level described in this chapter ranging from page to UI control.
129
+
130
+ ### Inner level elements
131
+ The inner level elements are dependent on the pattern described and are a blueprint or template for the UI description element they are used in. The elements contained are named and all events linked to the pattern are defined. If special data stores are needed for the pattern, these are described as well.
132
+
133
+
134
+ ## UI description contract (Contract Reference)
135
+ UI description contracts define the different pages used in an application. They use UI patterns to describe recurring features and they describe the general composition of an UI. As with all contract files, UI description contracts are platform and platform version independent, technology independent, device independent and device orientation independent. UI description contracts describe the patterns to use, the UI controls visible, the logical events thrown by the UI through user interaction and they manage the data binding. UI description contracts are not part of the UI framework, but their syntax and semantics are. The following chapters describe these in more detail. This document does not describe how to transform the design time contracts into runtime artifacts, since this is part of the generator design.
136
+
137
+ ## UIDescription
138
+ The UIDescription element is the top element of any UI description contract. It contains meta information about the contract like its name. The following attributes are available in the UIDescription element.
139
+
140
+ | Name |Name in property grid | Description | Values / Pattern | Required | Validation / Checks |
141
+ |:------|:---------------------|:------------|:-----------------|:---------|:--------------------|
142
+ |name| Name | Application wide unique identifier for the contract| \<DomainName>::\<ContractName> |yes| uniqueness in solution/application|
143
+ |schemaVersion| n.a.|Defines the Version of the XML Syntax for UI Contracts|x.x.x.x|No||
144
+ |xmlns| n.a.|Defines the filename of the relevant XML Schema Definition|\<filename>.xsd|No| existence of .xsd file|
145
+
146
+ ### Example
147
+ ```
148
+ <UIDescription name="Application::LoginUI" schemaVersion="0.0.0.5" xmlns="UISchema.xsd">
149
+
150
+ </UIDescription>
151
+ ```
152
+
153
+ ## Page
154
+ This chapter describes the page level elements available. Pages can contain a PageHeader and one or more Sections depending on the PagePattern. The following PagePatterns are available:
155
+
156
+ | Name | Description | Menu Item |
157
+ |:-----|:------------|:----------|
158
+ |SingleSectionPage|only one section allowed| yes|
159
+ |SingleSectionDialogPage|only one section allowed| yes|
160
+ |MultiSectionPage|multiple sections allowed| yes|
161
+ |MasterDetailSectionPage|one master and one detail section allowed| yes|
162
+ |SplitScreenPage|one left and one right section allowed| yes|
163
+
164
+ The following attributes are available in each Page element, **except** 'Navigation' does not exist for
165
+ SplitScreenPage
166
+ ---
167
+ |Name in XML|Description|Values / Pattern|Required|Validation/Checks|
168
+ |:----------|:----------|:---------------|:-------|:----------------|
169
+ |pagePattern|Defines the Pattern of the Page|\<PagePattern>|yes||
170
+ |see \<PageHeader>|see \<PageHeader>|<ul><li>Binding<li>Label<li>None</ul>|yes||
171
+
172
+ Additional attributes MultiSectionPage
173
+ ---
174
+ |Name in XML|Description|Values / Pattern|Required|Validation/Checks|
175
+ |:----------|:----------|:---------------|:-------|:----------------|
176
+ |masterSectionFlex|Display ratio of the Master section. This is a mendatory field if multiSectionFex is defined.|int|yes|valid value (range)|
177
+ |multiSectionFlex|Display ratio of the multi section. This is a mendatory field if masterSectionFex is defined.|int|yes|valid value (range)|
178
+
179
+ Additional attributes MasterDetailSectionPage
180
+ ---
181
+ |Name in XML|Description|Values / Pattern|Required|Validation/Checks|
182
+ |:----------|:----------|:---------------|:-------|:----------------|
183
+ |masterSectionFlex|Display ratio of the Master section. This is a mendatory field if detailSectionFex is defined.|int|yes| valid value (range)|
184
+ |detailSectionFlex|Display ratio of the detail section. This is a mendatory field if masterSectionFex is defined.|int|yes| valid value (range) |
185
+ |selectFirstItemInList|Prevents the selection of the first List Entry (for Tablet only)|Boolean|no|
186
+ |switchToDetail|Prevents flipping to the Detail Area (for Phones only)|Boolean|no|
187
+
188
+ Additional attributes SplitScreenPage
189
+ ---
190
+ |Name in XML|Description|Values / Pattern|Required|Validation/Checks|
191
+ |:----------|:----------|:---------------|:-------|:----------------|
192
+ |leftSectionFlex|Display ratio of the left section. This is a mandatory field if rightSectionFex is defined.|int|yes|valid value (range)|
193
+ |rightSectionFlex|Display ratio of the detail section. This is a mandatory field if leftSectionFex is defined.|int|yes|valid value (range)|
194
+
195
+ Additional attributes SingleSectionDialogPage
196
+ ---
197
+ |Name in XML|Description|Values / Pattern|Required|Validation/Checks|
198
+ |:----------|:----------|:---------------|:-------|:----------------|
199
+ |onBackDiscard|changes the Discard Handling for Wizards|Boolean|no (default FALSE)|
200
+
201
+
202
+ ## Examples
203
+ ```
204
+ SINGLE SECTION PAGE
205
+ <UIDescription name="Example::SingleSectionPageUI" schemaVersion="0.0.0.5" xmlns="UISchema.xsd">
206
+ <Page pagePattern="SingleSectionPage" />
207
+ </UIDescription>
208
+
209
+
210
+ SINGLE SECTION DIALOG PAGE
211
+ <UIDescription name="Example::SingleSectionDialogPageUI" schemaVersion="0.0.0.5" xmlns="UISchema.xsd">
212
+ <Page pagePattern="SingleSectionDialogPage" onBackDiscard="true"/>
213
+ </UIDescription>
214
+
215
+
216
+ MULTI SECTION PAGE
217
+ <UIDescription name="Example::MultiSectionPageUI" schemaVersion="0.0.0.5" xmlns="UISchema.xsd">
218
+ <Page pagePattern="MultiSectionPage" navigation="Off" masterSectionFlex="0" multiSectionFlex="0">
219
+ <Section sectionName="SingleAreaSection_1" sectionPattern="SingleAreaSection" flex="2" directlyVisible="true" />
220
+ <Section sectionName="SingleAreaSection_2" sectionPattern="SingleAreaSection" flex="1" directlyVisible="true" />
221
+ </Page>
222
+ </UIDescription>
223
+
224
+
225
+ MASTER DETAIL SECTION PAGE
226
+ <UIDescription name="Example::MasterDetailSectionPageUI" schemaVersion="0.0.0.5" xmlns="UISchema.xsd" layoutType="blank">
227
+ <Page pagePattern="MasterDetailSectionPage" navigation="Off" masterSectionFlex="40" detailSectionFlex="60" selectFirstItemInList="true" switchToDetail="true">
228
+ <Section sectionName="masterSection" sectionPattern="SingleAreaSection" />
229
+ <Section sectionName="detailSection" sectionPattern="SingleAreaSection" />
230
+ </Page>
231
+ </UIDescription>
232
+
233
+ SPLIT SCREEN PAGE
234
+ <UIDescription name="Call::AgendaUI" schemaVersion="0.0.0.5">
235
+ <Page pagePattern="SplitScreenPage" leftSectionFlex="1" rightSectionFlex="1">
236
+ <PageHeader titleBinding="ProcessContext::currentDate">
237
+ <SplitScreenButtons>
238
+ <LeftSectionButton>
239
+ <Bindings>
240
+ <Resource target="Text" type="Label" id="MapLabelId" defaultLabel="Map" />
241
+ <Resource target="Icon" type="Image" id="MapIcon" />
242
+ </Bindings>
243
+ </LeftSectionButton>
244
+ <RightSectionButton>
245
+ <Bindings>
246
+ <Resource target="Text" type="Label" id="AgendaLabelId" defaultLabel="Agenda" />
247
+ <Resource target="Icon" type="Image" id="AgendaIcon" />
248
+ </Bindings>
249
+ </RightSectionButton>
250
+ </SplitScreenButtons>
251
+ </PageHeader>
252
+ <Section sectionName="leftSection" sectionPattern="SingleAreaSection">...</Section>
253
+ <Section sectionName="rightSection" sectionPattern="SingleAreaSection">...</Section>
254
+ </Page>
255
+ </UIDescription>
256
+ ```
257
+
258
+ ## PageHeader
259
+
260
+ The PageHeader element is used to bind the Titel of the Page. If no PageHeader is defined the Page will not display the HeaderBar with the Back button. The Page Header can contain MenuItems.
261
+
262
+ ### Attributes:
263
+ |Name|Description|Values/Pattern|Required|
264
+ |:---|:----------|:-------------|:-------|
265
+ |titleBinding|Used to bind the PageTitle to the PageHeaderSection (Process Binding) This attribute could be optional if the PageHeader defines a Title target resource binding.|\<Context>::\<Variable>|Yes|
266
+
267
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
268
+ |:----------|:----------|:---------------|:-------|:-----------------|
269
+ |see \<Bindings>|If \[Title Type\] = Binding|string|yes||
270
+ |see \<Bindings>|If \[Title Type\] = Label|string|yes||
271
+ |see \<Bindings>|If \[Title Type\] = Label|string|yes||
272
+ |bindingMode|mode of binding|predefined string \[ONE\_TIME\]|n.a.||
273
+
274
+
275
+ ## Bindings
276
+ ### Examples
277
+ ```
278
+ LABEL
279
+ <PageHeader>
280
+ <Bindings>
281
+ <Resource target="title" type="Label" id="value_labelId" defaultLabel="value_defaultLabel" bindingMode="ONE_TIME" />
282
+ </Bindings>
283
+ </PageHeader>
284
+
285
+
286
+ BINDING
287
+ <PageHeader titleBinding="value" />
288
+ ```
289
+
290
+ The **PageHeader** in **SplitScreenPage** has an additional child node 'SplitScreenButtons' with two children 'LeftSectionButton' and 'RightSectionButton'. Each of them has a Bindings-Node to maintain a label and an image.
291
+ Hierarchy, e.g. \<PageHeader>\<SplitScreenButtons>\<LeftSectionButton>\<Bindings>\<Resource>
292
+
293
+ In PropertyGrid are the two groups 'Left Section Button' and 'Right Section Button'. Each group has the following properties:
294
+
295
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
296
+ |:----------|:----------|:---------------|:-------|:-----------------|
297
+ |defaultLabel|Default label of the button|string|no||
298
+ |id|Id of the label|string|no||
299
+ |id|The image to display in the button|Id of any image resource available in the project|no, defaults to no image displayed||
300
+
301
+ ### Example
302
+ ```
303
+ <SplitScreenButtons>
304
+ <LeftSectionButton>
305
+ <Bindings>
306
+ <Resource target="Text" type="Label" id="MapLabelId" defaultLabel="Map" />
307
+ <Resource target="Icon" type="Image" id="MapIcon" />
308
+ </Bindings>
309
+ </LeftSectionButton>
310
+ <RightSectionButton>
311
+ <Bindings>
312
+ <Resource target="Text" type="Label" id="AgendaLabelId" defaultLabel="Agenda" />
313
+ <Resource target="Icon" type="Image" id="AgendaIcon" />
314
+ </Bindings>
315
+ </RightSectionButton>
316
+ </SplitScreenButtons>
317
+ ```
318
+
319
+
320
+ ## Header
321
+ The HeaderLine control represents the new section of controls. It will be child element of \<Page pagePattern="SingleSectionPage | MultiSectionPage | MasterDetailSectionPage | SplitScreenPage"> and should be created below PageHeader (optional and maximum one appearance). 
322
+
323
+ The HeaderLine control can contain any number of image buttons and dropdowns.
324
+
325
+ ### Example
326
+ ```
327
+ <UIDescription name="Test::SingleSectionUI" schemaVersion="0.0.0.5" xmlns="UISchema.xsd">
328
+ <Page pagePattern="SingleSectionPage">
329
+ <HeaderLine name="Header">
330
+ <ImageButton name="testImage">
331
+
332
+ </ImageButton>
333
+ <Dropdown name="testDropdown">
334
+
335
+ </Dropdown>
336
+ </HeaderLine>
337
+ <Section sectionName="singleAreaSection" sectionPattern="SingleAreaSection">
338
+ <Area areaName="singleElementArea" areaPattern="SingleElementArea">
339
+ <BreadCrumbControl name="" searchBarPlacement="HeaderLine" >
340
+
341
+ </BreadCrumbControl>
342
+ </Area>
343
+ </Section>
344
+ </Page>
345
+ </UIDescription>
346
+ ```
347
+
348
+ The new optional attribute "searchBarPlacement" in used in the example is allowed in: GroupedList, MultiSelectionGroupedList, BreadCrumbControl and MultiSelectionBreadCrumbControl.
349
+
350
+ ## Section
351
+
352
+ This chapter describes the section level elements available.
353
+ The Section element defines generic section that has the following attributes and acts as a base class for all specialized sections.
354
+
355
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
356
+ |:----------|:----------|:---------------|:-------|:-----------------|
357
+ |sectionName|Identification of this section|"Main"|yes||
358
+ |sectionPattern|Defines the pattern to use for this section|"DashboardSection"|yes||
359
+ |showInfoArea|predefined attribute for DashboardUI|Boolean|only for DashboardSection Pattern||
360
+ |showPasswordChangeButton|predefined attribute for DashboardUI|Boolean|only for DashboardSection Pattern| |
361
+ |showLogOffButton| predefined attribute for DashboardUI|Boolean|only for DashboardSection Pattern| |
362
+
363
+ ## GroupElement Control
364
+ Child Elements are one or more Areas depending on the SectionPattern
365
+ The following SectionPatterns are available:
366
+
367
+ |Section Name|Description|
368
+ |:-----------|:----------|
369
+ |DashboardSection|The following child elements are available for the DashboardSection:<ul><li>Area with areaName "WelcomeArea" and areaPattern "welcomeArea"<li>Area with areaName "ButtonGridArea" and areaPattern "buttonGridArea"</ul>|
370
+ |LoginSection|The following child elements are available for the LoginSection:<ul><li>Area with areaName "LoginArea"<li>Area with areaName "InfoArea"</ul>|
371
+ |FilteredViewAreaSection|The following child elements are available for the FilteredViewAreaSection:<ul><li>Area with areaName "filterArea" and areaPattern "FilterElementArea"<li>Area with areaName "viewArea" and areaPattern SingleElementArea" or "GroupedElementsArea"</ul>|
372
+ |SingleAreaSection| The following child elements are available for the SingleAreaSection:<ul><li>Area with areaName mainArea" and areaPattern "SingleElementArea" or "GroupedElementsArea"<ul>|
373
+ |TabbedViewAreaSection|The following child elements are available for the TabbedViewAreaSection:<ul><li>Area with reaName "tabArea" and areaPattern "TabElementArea"<li>Areas for every Tab</ul>|
374
+
375
+ ### Example
376
+ ```
377
+ <Section sectionName="[SectionName]" sectionPattern="DashboardSection">
378
+ <Section sectionName="[SectionName]" sectionPattern="LoginSection">
379
+ <Section sectionName="[SectionName]" sectionPattern="FilteredViewAreaSection">
380
+ <Section sectionName="[SectionName]" sectionPattern="SingleAreaSection">
381
+ <Section sectionName="[SectionName]" sectionPattern="TabbedViewAreaSection">
382
+ ```
383
+
384
+ ## Area
385
+ This chapter describes the area level elements available.
386
+
387
+ The following attributes are available in the Area element.
388
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
389
+ |:----------|:----------|:---------------|:-------|:-----------------|
390
+ |areaName|Identification of this area|string|yes| uniqueness in contract|
391
+ |areaPattern|Defines the pattern to use for this area|area pattern|yes||
392
+ |lazyLoading|Some Area types like MultiArea support lazy loading. This feature could be enabled by setting the attribute **lazyLoading** to true.|Boolean|no||
393
+
394
+ Child Elements are one or more Control Elements depending on the AreaPattern
395
+ The following AreaPatterns are available:
396
+
397
+ |Area Name|Description|
398
+ |:--------|:----------|
399
+ |WelcomeArea|The WelcomeArea element defines a special area that contains a welcome message for the user. It is only used in the main menu screen. The only available child element is the WelcomeMessage. No special attributes are available in the LogoutArea element. (**notice**: the WelcomeArea is not producible via ContextMenu. It is directly dependent on parent "DashboardSection".)|
400
+ |LoginArea|The LoginArea is a special Area of the LoginSection. (**notice**: the LoginArea is not producible via ContextMenu. It is directly dependent on parent "LoginSection".)|
401
+ |GroupedElementsArea|The GroupedElementsArea is a special area used to contain GroupElements. No special attributes are available for this area. The FilterArea can contain any elements as children.|
402
+ |FilterElementArea|The FilterElementArea is a special area used to contain the filter elements used in the filtered view pattern. No special attributes are available for this area. The FilterArea can contain any elements as children.|
403
+ |ButtonGridArea|The ButtonGridArea defines a grid that contains any number of buttons. The layout of the grid and the number of rows and columns depends on the device, device OS and device orientation. No special attributes are available for this area. The ButtonGridArea can contain any number of ImageButton elements as children.|
404
+ |SingleElementArea|The SingleElementArea describes an area which contains one arbitrary UI control.|
405
+ |TabElementArea|The TabElementArea describes an area used in a tabbed view area pattern. It contains the TabSelector control. No special attributes are available in the TabArea element. (**notice**: the TabElementArea is not producible via ContextMenu. It is directly dependent on parent "TabbedViewAreaSection".)|
406
+ |MultiArea|The MultiArea Pattern could be used to define an Area that contains many Areas from different types. To switch between the Areas you could make usage of special event handling.|
407
+ |Card|The card area can be used to arrange the CardContainers by dividing the available area into columns.|
408
+
409
+ ### Example
410
+ ```
411
+ SPECIAL AREAS
412
+ <Area areaName="welcomeArea" areaPattern="WelcomeArea">
413
+ <Area areaName="mainArea" areaPattern="LoginArea">
414
+
415
+ AREAS
416
+ <Area areaName="[AreaName]" areaPattern="GroupedElementsArea">
417
+ <Area areaName="[AreaName]" areaPattern="FilterElementArea">
418
+ <Area areaName="[AreaName]" areaPattern="ButtonGridArea">
419
+ <Area areaName="[AreaName]" areaPattern="SingleElementArea">
420
+ <Area areaName="[AreaName]" areaPattern="TabElementArea">
421
+ <Area areaName="[AreaName]" areaPattern="MultiArea">
422
+ ```
423
+
424
+ ## UI controls
425
+ This chapter describes the UI control elements available.
426
+
427
+ ## Calendar Control
428
+ The Calendar Control element defines special calendar view that contains date related data.
429
+ Following attributes are available for the Calendar element.
430
+
431
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
432
+ |:----------|:----------|:---------------|:-------|:-----------------|
433
+ |name|Identification of Calendar|string|yes| uniqueness (contract)|
434
+ |dataSource||string|yes|ListObject Reference|
435
+ |dateFromAttribute||string|||
436
+ |dateThruAttribute||string|||
437
+ |timeFromAttribute||string|||
438
+ |timeThruAttribute||string|||
439
+ |allDayAttribute||string|||
440
+ |firstLine||string|||
441
+ |secondLine||string|||
442
+ |backgoundColorAttribute||string|||
443
+
444
+ ### ChildNodes of CalendarControl
445
+
446
+ |Node Name|Description|
447
+ |:--------|:----------|
448
+ |Bindings||
449
+ |Items||
450
+ |Settings||
451
+
452
+
453
+ CalendarControl \<Binding> node \[count 2\]:
454
+
455
+ #### DateRangeStartDate Binding
456
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
457
+ |:----------|:----------|:---------------|:-------|:-----------------|
458
+ |target|(grey lightbulb)|string|(grey lightbulb)||
459
+ |binding|(grey lightbulb)|string|(grey lightbulb)||
460
+ |bindingMode|(grey lightbulb)|string [ONE_WAY]|(grey lightbulb)||
461
+
462
+ #### ShowCalendarWeek Binding (boolean, used to control display of calendar week at the top of the control)
463
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
464
+ |:----------|:----------|:---------------|:-------|:-----------------|
465
+ |target|(grey lightbulb)|string|(grey lightbulb)||
466
+ |binding|(grey lightbulb)|string|(grey lightbulb)||
467
+ |bindingMode|(grey lightbulb)|string [ONE_WAY]|(grey lightbulb)||
468
+
469
+ #### CalendarControl \<Items> node:
470
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
471
+ |:----------|:----------|:---------------|:-------|:-----------------|
472
+ |name|(grey lightbulb)|string [Items]|yes||
473
+ |itemPattern|(grey lightbulb)|string [calendarItemPattern]|yes||
474
+
475
+ #### ChildNodes of CaIendarControl Items:
476
+ |Node Name|Description|
477
+ |:--------|:----------|
478
+ |ContextMenu| see **passage "ContextMenu"**|
479
+ |Bindings||
480
+
481
+ #### CalendarControl \<Items>\<Bindings>\<Binding> node \[count n\]:
482
+ (notice: represents Attribute of CalendarControl)
483
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
484
+ |:----------|:----------|:---------------|:-------|:-----------------|
485
+ |target|(grey lightbulb)|string|(grey lightbulb)||
486
+ |type|(grey lightbulb)|string|(grey lightbulb)||
487
+ |binding|(grey lightbulb)|string|(grey lightbulb)||
488
+ |bindingMode|(grey lightbulb)|string [ONE_WAY]|(grey lightbulb)||
489
+ |defaultLabel (if [Type] = "Label"]|(grey lightbulb)|string|(grey lightbulb)||
490
+ |id (if [Type] = "Label"]|(grey lightbulb)|string|(grey lightbulb)||
491
+ |format (if [Type] = "Decimal"]|(grey lightbulb)|int|(grey lightbulb)||
492
+
493
+  CalendarControl \<Settings> node:
494
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
495
+ |:----------|:----------|:---------------|:-------|:-----------------|
496
+ |dataSource|(grey lightbulb)|string|(grey lightbulb)| availability|
497
+ |KeyAttribute|(grey lightbulb)|string|(grey lightbulb)||
498
+ |ValueAttribute|(grey lightbulb)|string|(grey lightbulb)||
499
+
500
+ ### Events
501
+ Following events are available for Calendar elements.
502
+ |Event Name|Fired when|Required|
503
+ |:---------|:---------|:-------|
504
+ |ItemSelectedEvent|User taps any item in the calendar|no|
505
+ |CalendarDropEvent||no|
506
+ |CalendarItemMoveEvent||no|
507
+ |CalendarItemOverlappingOpeningEvent||no|
508
+ |CalendarDateRangeChangedEvent||no|
509
+ |CalendarItemResizeEvent||no|
510
+ |CalendarLongTapEvent||no|
511
+ |ContextOpeningEvent||no|
512
+ |ContextSelectedEvent||no|
513
+
514
+ ### Example
515
+ ```
516
+ <CalendarControl name="cc1" dataSource="itemsDataSource" dateFromAttribute="dateFrom" dateThruAttribute="dateThru" timeFromAttribute="timeFrom" timeThruAttribute="timeThru" allDayAttribute="allDay" firstLine="firstLine" secondLine="secondLine" backgroundColorAttribute="bgcAttribute">
517
+ <Bindings>
518
+ <Binding target="DateRangeStartDate" binding="dateRangeBinding" bindingMode="ONE_WAY" />
519
+ </Bindings>
520
+ <Items name="Items" itemPattern="calendaritemPattern">
521
+ <ContextMenu>
522
+ <Bindings>
523
+ <Binding target="DataSource" binding="source" bindingMode="ONE_WAY" />
524
+ </Bindings>
525
+ <Items name="ContextMenuItems">
526
+ <Bindings>
527
+ <Binding target="Icon" type="Image" binding="iconBinding" />
528
+ <Binding target="Text" type="Label" binding="textBinding" />
529
+ <Binding target="Editable" type="Editable" binding="editableBinding" />
530
+ <Binding target="Visible" type="Visible" binding="vsibleBinding" />
531
+ </Bindings>
532
+ </Items>
533
+ </ContextMenu>
534
+ <Bindings>
535
+ <Binding target="CalendarItemAttribute1" type="Text" binding="binding" bindingMode="ONE_WAY" />
536
+ </Bindings>
537
+ </Items>
538
+ <Settings dataSource="dataSource" KeyAttribute="keyAttribute" ValueAttribute="valueAttribute" />
539
+ </CalendarControl>
540
+ ```
541
+
542
+ ### BreadCrumb Control
543
+
544
+ Description:
545
+ Following attributes are available for the Calendar element.
546
+
547
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
548
+ |:----------|:----------|:---------------|:-------|:-----------------|
549
+ |name|Identifier of control|string|yes| uniqueness (contract)|
550
+ |searchable|(grey lightbulb)|boolean|(grey lightbulb)||
551
+ |groupBy|(grey lightbulb)|string|(grey lightbulb)||
552
+ |sortBy|(grey lightbulb)|string|(grey lightbulb)||
553
+ |master|(grey lightbulb)|boolean|(grey lightbulb)||
554
+ |dataSource|(grey lightbulb)|string|(grey lightbulb)||
555
+ |hasBorder|(grey lightbulb)|boolean|(grey lightbulb)||
556
+ |sortInsideGroupBy|(grey lightbulb)|Any attribute of the attached data|(grey lightbulb)||
557
+ |sortDirectionInGroup|(grey lightbulb)|string[ASC | DESC]|(grey lightbulb)||
558
+ |searchBarPlacement|(grey lightbulb)|string[HeaderLine]|(grey lightbulb)||
559
+ |numberpadDefaultField|(grey lightbulb)|Any attribute of the attached data||
560
+ |showPreviousNextEnter|(grey lightbulb)|boolean||
561
+
562
+ #### ChildNodes of BreadCrumbControl:
563
+ |Node Name|Description|
564
+ |:--------|:----------|
565
+ |Hierarchy|(grey lightbulb)|
566
+ |Items|(grey lightbulb)|
567
+ |Bindings.Binding|(grey lightbulb) |
568
+
569
+ #### BreadCrumbControl \<Items> node:
570
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
571
+ |:----------|:----------|:---------------|:-------|:-----------------|
572
+ |name|-|string [Items]|yes||
573
+ |itemPattern|(grey lightbulb)|string|yes||
574
+
575
+ #### BreadCrumbControl\<Bindings>\<Binding> node:
576
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
577
+ |:----------|:----------|:---------------|:-------|:-----------------|
578
+ |target|(grey lightbulb)|string [DynamicallyGroupBy]|no||
579
+ |type|(grey lightbulb)|string [Text]|no||
580
+ |binding|(grey lightbulb)|string|no||
581
+
582
+ #### ChildNodes of BreadCrumbControl\<Items>:
583
+ |Node Name|Description|
584
+ |:--------|:----------|
585
+ |ItemListLayout|property "List Layout" represents node "ItemListLayout" in contract XML and includes valid XML structure.|
586
+ |ContextMenu|see passage "ContextMenu"|
587
+
588
+ #### Hierarchy
589
+ Following attributes are available for Hierarchy element.
590
+
591
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
592
+ |:----------|:----------|:---------------|:-------|:-----------------|
593
+ |name|Identifier|string|yes| (grey lightbulb)|
594
+ |labelAttribute|(grey lightbulb)|string|(grey lightbulb)||
595
+
596
+ ##### ChildNodes of Hierarchy:
597
+ |Node Name|Description|
598
+ |:--------|:----------|
599
+ |Bindings||
600
+ |Events||
601
+ |DataSources||
602
+
603
+ #### ChildNodes of Hierarchy\<Bindings>
604
+ |Node Name|Description|
605
+ |:--------|:----------|
606
+ |Binding||
607
+ |Resource \[if RootLabel.Type=Label\]||
608
+
609
+
610
+ #### Hierarchy\<Bindings>\<Binding> node \[1-3\]:
611
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
612
+ |:----------|:----------|:---------------|:-------|:-----------------|
613
+ |target|(grey lightbulb)|string [RootLabel; ShowCategory; AddItem]|(grey lightbulb)||
614
+ |type|(grey lightbulb)|string [Text]|(grey lightbulb)||
615
+ |binding|(grey lightbulb)|string|(grey lightbulb)||
616
+ |bindingMode|(grey lightbulb)|string [ONE_WAY]|(grey lightbulb)||
617
+
618
+ #### Hierarchy\<Bindings>\<Resource> node \[0-1\]: 
619
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
620
+ |:----------|:----------|:---------------|:-------|:-----------------|
621
+ |target|(grey lightbulb)|string [RootLabel]|(grey lightbulb)||
622
+ |type|(grey lightbulb)|string [Label]|(grey lightbulb)||
623
+ |id|(grey lightbulb)|string|(grey lightbulb)||
624
+ |defaultLabel|(grey lightbulb)|string|(grey lightbulb)||
625
+ |bindingMode|(grey lightbulb)|string [ONE_WAY]|(grey lightbulb)||
626
+
627
+ #### Hierarchy Events
628
+ Following events are available for Hierarchy elements.
629
+ |Event Name| Fired when| required |
630
+ |:---------|:----------|:---------|
631
+ |ItemSeletedEvent|(grey lightbulb)|(grey lightbulb)|
632
+ |HierarchyBackEvent|(grey lightbulb)|(grey lightbulb)|
633
+
634
+ #### Hierarchy DataSources\<DataSource>
635
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
636
+ |:----------|:----------|:---------------|:-------|:-----------------|
637
+ |name|(grey lightbulb)|string|(grey lightbulb)||
638
+ |keyAttribute|(grey lightbulb)|string|(grey lightbulb)||
639
+ |refKeyAttribute|(grey lightbulb)|string|(grey lightbulb)||
640
+
641
+ ### Example
642
+ ```
643
+ <BreadCrumbControl name="BeadCrumbCtrl" searchable="true" groupBy="groupBy" sortBy="sortBy" master="true" numberPadDefaultField = "quantity" showPreviousNextEnter = "true" dataSource="dataSource" hasBorder="true">
644
+ <Hierarchy name="hierarchyName" labelAttribute="labelAttribute">
645
+ <Bindings>
646
+ <Resource target="RootLabel" type="Label" id="labelId" defaultLabel="defaultLabel" bindingMode="ONE_TIME" />
647
+ <Binding target="ShowCategory" type="Text" binding="showCategoryBinding" BindingMode="ONE_WAY" />
648
+ <Binding target="AddItem" type="Text" binding="addItemBinding" BindingMode="ONE_WAY" />
649
+ </Bindings>
650
+ <Events>
651
+ <ItemSelectedEvent event="ise">
652
+ <Params>
653
+ <Param name="id" value=".id" />
654
+ </Params>
655
+ </ItemSelectedEvent>
656
+ <HierarchyBackEvent event="hbe">
657
+ <Params>
658
+ <Param name="id" value=".id" />
659
+ </Params>
660
+ </HierarchyBackEvent>
661
+ </Events>
662
+ </Hierarchy>
663
+ <Items name="Items" itemPattern="itemPattern">
664
+ <ItemListLayout>
665
+ <xml />
666
+ </ItemListLayout>
667
+ <ContextMenu>
668
+ <Bindings>
669
+ <Binding target="DataSource" binding="ctxMenuSource" bindingMode="ONE_WAY" />
670
+ </Bindings>
671
+ <Items name="ContextMenuItems">
672
+ <Bindings>
673
+ <Binding target="Icon" type="Image" binding="iconBinding" />
674
+ <Binding target="Text" type="Label" binding="textBinding" />
675
+ <Binding target="Editable" type="Editable" binding="editableBinding" />
676
+ <Binding target="Visible" type="Visible" binding="visibleBinding" />
677
+ </Bindings>
678
+ </Items>
679
+ </ContextMenu>
680
+ </Items>
681
+ </BreadCrumbControl>
682
+ ```
683
+
684
+ ## MediaList Control
685
+ The MediaListControl element defines.... (grey lightbulb)
686
+
687
+ Following attributes are available for MediaListControl element:
688
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
689
+ |:----------|:----------|:---------------|:-------|:-----------------|
690
+ |name|Identifier of control|string|yes| uniqueness (contract)|
691
+ |disabled|-|boolean|no| (grey lightbulb)|
692
+ |dataSource|(grey lightbulb)|string|(grey lightbulb)| availability|
693
+
694
+ ### ChildNodes of MediaListControl
695
+ |Node Name|Description|
696
+ |:--------|:----------|
697
+ |Bindings|(grey lightbulb)|
698
+ |Events|(grey lightbulb)|
699
+ |Items|(grey lightbulb)|
700
+
701
+ ### ChildNodes of MediaListControl\<Bindings>
702
+ |Node Name|Description|
703
+ |:--------|:----------|
704
+ |Bindings|(grey lightbulb)|
705
+
706
+ ### MediaListControl\<Bindings>\<Binding> node [count 2-4]:
707
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
708
+ |:----------|:----------|:---------------|:-------|:-----------------|
709
+ |target|(grey lightbulb)|string|(grey lightbulb)||
710
+ |type|(grey lightbulb)|string|(grey lightbulb)||
711
+ |binding|(grey lightbulb)|string|(grey lightbulb)||
712
+ |bindingMode|(grey lightbulb)|string [ONE_WAY]|(grey lightbulb)||
713
+
714
+ ### MediaListControl Events
715
+ |Event Name| Fired when| required |
716
+ |:---------|:----------|:---------|
717
+ |ContextOpeningEvent||no|
718
+ |ContextSelectedEvent||no|
719
+
720
+ ### ChildNodes of Items
721
+ |Node Name|Description|
722
+ |:--------|:----------|
723
+ |ContextMenu|see passage: "ContextMenu"|
724
+
725
+ ### Example
726
+ ```
727
+ <MediaListControl name="MediaListCtrl" disabled="false" dataSource="dataSource">
728
+ <Bindings>
729
+ <Binding target="MediaPath" type="Text" binding="mediaPathBinding" bindingMode="ONE_WAY" />
730
+ <Binding target="Description" type="Text" binding="descriptionBinding" bindingMode="ONE_WAY" />
731
+ <Binding target="Type" type="Text" binding="typeBinding" bindingMode="ONE_WAY" />
732
+ </Bindings>
733
+ </MediaListControl>
734
+ ```
735
+
736
+ ## Checkbox Control
737
+ The Checkbox element defines a checkbox UI control that can have a label and can be checked or unchecked.
738
+
739
+ Following attributes are available for the Checkbox element.
740
+
741
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
742
+ |:----------|:----------|:---------------|:-------|:-----------------|
743
+ |name|Identification of this Checkbox|string|yes||
744
+ |disabled|-|boolean|no||
745
+
746
+ Following data and resource bindings are available for Checkbox elements.
747
+ ChildNodes of Checkbox\<Bindings>
748
+
749
+ |Node Name|Description|
750
+ |:--------|:----------|
751
+ |Resource|(grey lightbulb)|
752
+ |Binding|(grey lightbulb)|
753
+
754
+ Checkbox\<Bindings>\<Resource> node:
755
+
756
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
757
+ |:----------|:----------|:---------------|:-------|:-----------------|
758
+ |target|(grey lightbulb)|string [Label]|(grey lightbulb)||
759
+ |type|(grey lightbulb)|string [Label]|(grey lightbulb)||
760
+ |id|(grey lightbulb)|string|(grey lightbulb)||
761
+ |defaultLabel|(grey lightbulb)|string|(grey lightbulb)||
762
+
763
+ Checkbox\<Bindings>\<Binding> node:
764
+
765
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
766
+ |:----------|:----------|:---------------|:-------|:-----------------|
767
+ |target|(grey lightbulb)|string [checkedValue]|(grey lightbulb)||
768
+ |binding|(grey lightbulb)|string [valueBinding]|(grey lightbulb)||
769
+ |bindingMode|(grey lightbulb)|string [ONE_WAY]|(grey lightbulb)||
770
+
771
+ ## Example
772
+ ```
773
+ <CheckBox name="CheckboxCtrl" disabled="true">
774
+ <Bindings>
775
+ <Resource target="Label" type="Label" id="labelId" defaultLabel="defaultLabel" />
776
+ <Binding target="checkedValue" binding="valueBinding" bindingMode="ONE_WAY" />
777
+ </Bindings>
778
+ </CheckBox>
779
+ ```
780
+
781
+ ## TimePicker Control
782
+ The TimePickerControl element defines a special UI control that lets the user select time.
783
+ Following attributes are available for the DateTimePicker element.
784
+
785
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
786
+ |:----------|:----------|:---------------|:-------|:-----------------|
787
+ |name|Identification of this TimePicker|Any string|yes||
788
+ |disabled|-|Boolean|no, defaults to false||
789
+
790
+ Bindings\<Binding> node:
791
+
792
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
793
+ |:----------|:----------|:---------------|:-------|:-----------------|
794
+ |target|(grey lightbulb)|string [Value]|(grey lightbulb)||
795
+ |binding|(grey lightbulb)|string|(grey lightbulb)||
796
+ |bindingMode|(grey lightbulb)|string [ONE_WAY/TWO_WAY/ONE_TIME]|(grey lightbulb)||
797
+
798
+ Bindings\<Resource> node:
799
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
800
+ |:----------|:----------|:---------------|:-------|:-----------------|
801
+ |target|(grey lightbulb)|string [Label]|(grey lightbulb)||
802
+ |type|(grey lightbulb)|string [Label]|(grey lightbulb)||
803
+ |defaultLabel|(grey lightbulb)|string|(grey lightbulb)||
804
+ |id|(grey lightbulb)|string|(grey lightbulb)||
805
+
806
+ ## Example
807
+ ```
808
+ <TimePickerField name="TimePickerCtrl" disabled="false">
809
+ <Bindings>
810
+ <Resource target="Label" type="Label" defaultLabel="defaultLabel" id="labelId" />
811
+ <Binding target="Value" binding="valueBinding" bindingMode="TWO_WAY" />
812
+ </Bindings>
813
+ </TimePickerField>
814
+ ```
815
+
816
+ ## DatePicker Control
817
+ The DatePickerControl element defines a special UI control that lets the user select a date value.
818
+ Following attributes are available for the DatePicker element.
819
+
820
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
821
+ |:----------|:----------|:---------------|:-------|:-----------------|
822
+ |name|Identification of this DatePicker|string|yes||
823
+ |disabled|-|boolean|no||
824
+
825
+ Bindings\<Binding> node:
826
+
827
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
828
+ |:----------|:----------|:---------------|:-------|:-----------------|
829
+ |target|(grey lightbulb)|string [Value]|(grey lightbulb)||
830
+ |binding|(grey lightbulb)|string|(grey lightbulb)||
831
+ |bindingMode|(grey lightbulb)|string [ONE_WAY/TWO_WAY/ONE_TIME]|(grey lightbulb)||
832
+
833
+ Bindings\<Resource> node:
834
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
835
+ |:----------|:----------|:---------------|:-------|:-----------------|
836
+ |target|(grey lightbulb)|string [Label]|(grey lightbulb)||
837
+ |type|(grey lightbulb)|string [Label]|(grey lightbulb)||
838
+ |defaultLabel|(grey lightbulb)|string|(grey lightbulb)||
839
+ |id|(grey lightbulb)|string|(grey lightbulb)||
840
+
841
+ ## Example
842
+ ```
843
+ <DatePickerField name="DatePickerCtrl" disabled="false">
844
+ <Bindings>
845
+ <Resource target="Label" type="Label" defaultLabel="defaultLabel" id="labelId" />
846
+ <Binding target="Value" binding="valueBinding" bindingMode="TWO_WAY" />
847
+ </Bindings>
848
+ </DatePickerField>
849
+ ```
850
+
851
+ ## GoogleMap Control
852
+ The GoogleMap element defines a Map Control to display Waypoints and routs on a map.
853
+ Following attributes are available in the GoogleMap element.
854
+
855
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
856
+ |:----------|:----------|:---------------|:-------|:-----------------|
857
+ |name|Identification of this Map|string|yes| uniqueness (contract)|
858
+ |displayRoute|Draw Route for the Waypoints|boolean|no, defaults to false||
859
+ |latitudeField|Name of the field holding the latitude value.|string|no, default "latitude"||
860
+ |longitudeField|Name of the field holding the longitude value.|string|no, default "longitude"||
861
+ |initialZoomLevel|-|int|yes||
862
+ |dataSource|Defines the data linked to the list.|string|(grey lightbulb)||
863
+ |idField|(grey lightbulb)|string|(grey lightbulb)||
864
+ |toolTipField|(grey lightbulb)|string|(grey lightbulb)||
865
+ |visibilityField|(grey lightbulb)|string|(grey lightbulb)||
866
+
867
+ ### Child Nodes of GoogleMap
868
+
869
+ |Node Name|Description|
870
+ |:--------|:----------|
871
+ |Bindings|(grey lightbulb)|
872
+ |Events|(grey lightbulb)|
873
+ |GoogleMapDetails |(grey lightbulb)|
874
+
875
+ ### Child nodes of Binding
876
+ |Node Name|Description|
877
+ |:--------|:----------|
878
+ |Binding|(grey lightbulb)|
879
+ |List|(grey lightbulb)|
880
+
881
+ ### Bindings\ <Binding> node:
882
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
883
+ |:----------|:----------|:---------------|:-------|:-----------------|
884
+ |target|(grey lightbulb)|string [DataSource\|DisplayRoute\|DisplayTraffic\|Position\|DisplayAdditionalDatasource]|(grey lightbulb)||
885
+ |binding|(grey lightbulb)|string|(grey lightbulb)||
886
+ |bindingMode|(grey lightbulb)|string [ONE_WAY]|(grey lightbulb)||
887
+
888
+ ### Child node of List
889
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
890
+ |:----------|:----------|:---------------|:-------|:-----------------|
891
+ |target(grey lightbulb)|string [AdditionalDatasource]|(grey lightbulb)||
892
+ |dataSource|(grey lightbulb)|string|(grey lightbulb)||
893
+
894
+ ### List\<Binding> node:
895
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
896
+ |:----------|:----------|:---------------|:-------|:-----------------|
897
+ |target|(grey lightbulb)|string [LatitudeField\|LongitudeField\|MapPinField\|ToolTipField\|visibilityField]|(grey lightbulb)||
898
+ |binding|(grey lightbulb)|string|(grey lightbulb)||
899
+ |type|(grey lightbulb)|string [DomDecimal\|DomText\|DomBool]|(grey lightbulb)||
900
+
901
+ ### GoogleMap Events
902
+ |Name|Fired when|Required|
903
+ |:---|:---------|:-------|
904
+ |MapMarkerSelectedEvent|marker in the map selected|no|
905
+
906
+ ### GoogleMapsDetails
907
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
908
+ |:----------|:----------|:---------------|:-------|:-----------------|
909
+ |name|Identifier|string|yes|(grey lightbulb)||
910
+
911
+ ### Child nodes of GoogleMapDetails
912
+ |Node Name|Description|
913
+ |:--------|:----------|
914
+ |Bindings|(grey lightbulb)|
915
+ |ActionBar|(grey lightbulb)|
916
+ |CockpitSections|(grey lightbulb)|
917
+
918
+ ### GoogleMapDetails Bindings\<Binding> node:
919
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
920
+ |:----------|:----------|:---------------|:-------|:-----------------|
921
+ |target|(grey lightbulb)|string [Visible]|(grey lightbulb)||
922
+ |type|(grey lightbulb)|string [Boolean]|(grey lightbulb)||
923
+ |binding|(grey lightbulb)|string|(grey lightbulb)||
924
+ |bindingMode|(grey lightbulb)|string [ONE_WAY]|(grey lightbulb)||
925
+
926
+ ### ActionBar
927
+
928
+ ### Child nodes of ActionBar:
929
+ |Node Name|Description|
930
+ |:--------|:----------|
931
+ |ImageButton|(grey lightbulb)|
932
+
933
+ ### CockpitSections
934
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
935
+ |:----------|:----------|:---------------|:-------|:-----------------|
936
+ |name|Identifier|string|yes||
937
+
938
+
939
+ ## CockpitSection
940
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
941
+ |:----------|:----------|:---------------|:-------|:-----------------|
942
+ |name|Identifier|string|yes||
943
+ |sectionPattern||string [2columns\|3columns]|yes||
944
+ |showSeparator||Boolean|(grey lightbulb)||
945
+
946
+ ### CockpitSection Bindings<Binding> node:
947
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
948
+ |:----------|:----------|:---------------|:-------|:-----------------|
949
+ |target|(grey lightbulb)|string [col1row1\|col2row1\|col2row2\|col2row3\|col2row4\|col3row1]|(grey lightbulb)||
950
+ |type|n.a.|(grey lightbulb)|string [Phone\|Email\|ItemIdentifier\|ItemSecondary\|ItemInfoGrey\|Image|Blob]|(grey lightbulb)||
951
+ |binding|(grey lightbulb)|string|yes|@type: Phone|
952
+ |phoneType|(grey lightbulb)|string [WORK\|MOBILE]|(grey lightbulb)|@type: Phone\|Email|
953
+ |alternateImage|(grey lightbulb)|string [.png]|(grey lightbulb)|@type: Phone\|Email|
954
+ |alternateImageFileType|(grey lightbulb)|string [.png\|.svg]|(grey lightbulb)|@type: Phone\|Email|
955
+ |horizontalAlignment|(grey lightbulb)|string [Center\|Left\|Right]|(grey lightbulb)|@type: Image|
956
+ |verticalAlignment|(grey lightbulb)|string [Center\|Bottom\|Top]|(grey lightbulb)|@type: Image\|Blob|
957
+ |fileTypeBinding|(grey lightbulb)|string [.jpg\|.png]|(grey lightbulb)|@type: Image\|Blob|
958
+ |defaultImage|(grey lightbulb)|string|(grey lightbulb)|@type: Blob|
959
+ |roundedEdge|(grey lightbulb)|Boolean|(grey lightbulb)|@type: Blob|
960
+ |defaultImageType|(grey lightbulb)|string [.png]|(grey lightbulb)|@type: Blob|
961
+
962
+ ### CockpitSection Events
963
+ |Name|Fired when|Required|
964
+ |:---|:---------|:-------|
965
+ |PhoneButtonPressedEvent|phone button pressed|no|
966
+ |EmailButtonPressedEvent|email button presses|no|
967
+
968
+ ### Example
969
+ ```
970
+ <GoogleMap name="testMap" dataSource="ApplicationContext::User.loUsrAttachments.items[]">
971
+ <Bindings>
972
+ <Binding target="DataSource" binding="ApplicationContext::User.loUsrAttachments.items[]"/>
973
+ </Bindings>
974
+ <GoogleMapDetails name="testMapDetail">
975
+ <Bindings>
976
+ <Binding target="Visible" type="Boolean" binding="ProcessContext::CustomerRevenueReport_CustomerPKey" bindingMode="TWO_WAY"/>
977
+ <List target="AdditionalDatasource" dataSource="ProcessContext::potentialCustomers" > <!-- Optional list binding to provide an additional datasource -->
978
+ <Binding target="LatitudeField" type="DomDecimal" binding=".latitude" /> <!-- Mandatory binding to declare the latitude field in the additional datasource -->
979
+ <Binding target="LongitudeField" type="DomDecimal" binding=".longitude" /> <!-- Mandatory binding to declare the longitude field in the additional datasource -->
980
+ <Binding target="MapPinField" type="DomText" binding=".mapPinId" /> <!-- Optional binding to declare the pin icon field in the additional datasource -->
981
+ <Binding target="ToolTipField" type="DomText" binding=".toolTipText" /> <!-- Optional binding to declare the tooltip field in the additional datasource -->
982
+ <Binding target="VisibilityField" type="DomBool" binding=".visible" /> <!-- Optional binding to declare the visibility field in the additional datasource -->
983
+ </List>
984
+ </Bindings>
985
+ <ActionBar>
986
+ <ImageButton name="testImage">
987
+ <Bindings>
988
+ <Binding type="Editable" target="Editable" binding="ProcessContext::CustomerRevenueReport_CustomerName" />
989
+ </Bindings>
990
+ </ImageButton>
991
+ <ImageButton name=""/>
992
+ </ActionBar>
993
+ <CockpitSections name="testSections">
994
+ <CockpitSection name="testSection" sectionPattern="3columns">
995
+ <Bindings>
996
+ <Binding target="col3row1" type="Blob" binding="ProcessContext::teamReport"/>
997
+ </Bindings>
998
+ <Events>
999
+ <EmailButtonPressedEvent>
1000
+ <Params>
1001
+ <Param name="testParam" value="testValue"/>
1002
+ </Params>
1003
+ </EmailButtonPressedEvent>
1004
+ <PhoneButtonPressedEvent>
1005
+ <Params>
1006
+ <Param name="testParam" value="testValue"/>
1007
+ </Params>
1008
+ </PhoneButtonPressedEvent>
1009
+ </Events>
1010
+ </CockpitSection>
1011
+ <CockpitSection name="" />
1012
+ </CockpitSections>
1013
+ </GoogleMapDetails>
1014
+ <Events>
1015
+ <MapMarkerSelectedEvent event="testEvent" resetMultiAreas="false">
1016
+ <Params>
1017
+ <Param name="testParam" value="testValue"/>
1018
+ </Params>
1019
+ </MapMarkerSelectedEvent>
1020
+ </Events>
1021
+ </GoogleMap>
1022
+ ```
1023
+
1024
+ ## GroupElement Control
1025
+ The GroupElement element defines a container element that can contain arbitrary UI control elements.
1026
+
1027
+ Following attributes are available for the GroupElement element:
1028
+
1029
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
1030
+ |:----------|:----------|:---------------|:-------|:-----------------|
1031
+ |name|Identification of this GroupElement|Any string|yes||
1032
+
1033
+ ### Bindings\<Resource> node:
1034
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
1035
+ |:----------|:----------|:---------------|:-------|:-----------------|
1036
+ |target|(grey lightbulb)|string [Title]|(grey lightbulb)||
1037
+ |type|(grey lightbulb)|string [Label]|(grey lightbulb)||
1038
+ |defaultLabel|(grey lightbulb)|string|(grey lightbulb)||
1039
+ |id|(grey lightbulb)|string|(grey lightbulb)||
1040
+
1041
+ ### Example
1042
+ ```
1043
+ <GroupElement name="GroupElementCtrl">
1044
+ <Bindings>
1045
+ <Resource target="Title" type="Label" id="labelId" defaultLabel="defaultLabel" />
1046
+ </Bindings>
1047
+ </GroupElement>
1048
+ ```
1049
+
1050
+ ## AdvancedSearch Control
1051
+ Following attributes are available for the AdvancedSearchControl element.
1052
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
1053
+ |:----------|:----------|:---------------|:-------|:-----------------|
1054
+ |name|Identification of this control|string|yes||
1055
+ |dataSource|Defines the data linked to the control.|Any data resource|yes||
1056
+
1057
+ ### Events
1058
+ Following events are available for AdvancedSearchControl element.
1059
+
1060
+ |Name|Fired when|Required|
1061
+ |:---|:---------|:-------|
1062
+ |AdvancedSearchStartEvent|The event is fired after the user has pressed on the "Apply" button in the AdvancedSearchControl but before the search is triggered.|No|
1063
+ |AdvancedSearchEndEvent|The event is fired after the advanced search is finished|No|
1064
+
1065
+ ### Examples
1066
+ ```
1067
+ <AdvancedSearchControl name="AdvSearchControl" dataSource="ProcessContext::parksList.items[]">
1068
+ <Events>
1069
+ <AdvancedSearchStartEvent event="advancedSearchStarted"/> <!-- no params available -->
1070
+ <AdvancedSearchEndEvent event="advancedSearchEnded"/> <!-- no params available -->
1071
+ </Events>
1072
+ </AdvancedSearchControl>
1073
+ ```
1074
+
1075
+ ## GroupList Control
1076
+ The GroupedList element defines list UI control that allows sorting the elements as well as grouping them. The list supports searching for one or multiple elements in the list. The GroupedList element has a single item child, which can be of any type available for list items and use any list item pattern.
1077
+
1078
+ Following attributes are available for the GroupedList element.
1079
+
1080
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
1081
+ |:----------|:----------|:---------------|:-------|:-----------------|
1082
+ |name|Identification of this list|string|yes||
1083
+ |searchable|Determines, whether the search bar is visible|boolean|no, defaults to true||
1084
+ |groupBy|Defines the attribute all list entries must have that is used for grouping|Any attribute of the attached data|no, defaults to no grouping||
1085
+ |sortBy|(grey lightbulb)|Any attribute of the attached data|no||
1086
+ |dataSource|Defines the data linked to the list.|Any data resource|yes||
1087
+ |master|Defies the GroupedList as Master Control in a MasterDetailSectionPage|boolean|No, defaults to false||
1088
+ |direction|(grey lightbulb)|string [ASC \| DESC]|no||
1089
+ |indexBar|Defines whether the list contains an index bar|boolean|No, defaults false||
1090
+ |hasBorder|Defines whether the list contains a border|boolean|No, default false||
1091
+ |swipe|(grey lightbulb)Obsolete|boolean|no||
1092
+ |numberPadDefaultField|(grey lightbulb)|Any attribute of the attached data|||
1093
+ |showPreviousNextEnter|(grey lightbulb)|boolean|||
1094
+ |sortInsideGroupBy|(grey lightbulb)|Any attribute of the attached data|||
1095
+ |sortDirectionInGroup|(grey lightbulb)|string [ASC \| DESC]|||
1096
+ |onItemDisclosure|(grey lightbulb)|boolean|||
1097
+ |searchBarPlacement|(grey lightbulb)|string[HeaderLine]|||
1098
+
1099
+ ## IndexBar behavior
1100
+ If the property indexBar is set to true, an Index Bar component is shown as an overlay on the right side of the list. It contains the symbol # for numeric entries and the letters from A to Z. Tapping on or swiping over one of the entries on the Index Bar jumps to the first group in the GroupedList, that starts with the selected letter. If no group can be found, the list will scroll to the best matching previous entry. Depending on the sort order of the groups, this can be the next one in alphabetical order or the previous one in alphabetical order.
1101
+
1102
+ ## ChildNodes of GroupedList
1103
+ |Node Name|Description|
1104
+ |:--------|:----------|
1105
+ |SearchAttributes|(grey lightbulb)|
1106
+ |Items|(grey lightbulb)|
1107
+ |Bindings.Binding|(grey lightbulb)|
1108
+ |TextBar|(grey lightbulb)|
1109
+
1110
+ ### Search Attributes
1111
+ A Grouped List may define Search Attributes if it is searchable (searchable = true).
1112
+ Following attributes will be defined for each Search Attribute
1113
+
1114
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
1115
+ |:----------|:----------|:---------------|:-------|:-----------------|
1116
+ |name|Name of the search attribute|string|yes||
1117
+
1118
+ ### GroupedList\<Items> node:
1119
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
1120
+ |:----------|:----------|:---------------|:-------|:-----------------|
1121
+ |name|(grey lightbulb)|string [Items]|n.a.||
1122
+ |itemPattern|(grey lightbulb)|string [itemPattern]|n.a.||
1123
+
1124
+ ### GroupedList\<Bindings>\<Binding> node:
1125
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
1126
+ |:----------|:----------|:---------------|:-------|:-----------------|
1127
+ |target|(grey lightbulb)|string [DynamicallyGroupBy \| DynamicallySortBy \| DynamicallySortInsideGroupBy]|no||
1128
+ |type|(grey lightbulb)|string [Text]|no||
1129
+ |binding|Sort By Dynamically |Sort Inside Group By Dynamically|(grey lightbulb)|string|no||
1130
+
1131
+ ### GroupedList\<TextBar> node:
1132
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
1133
+ |:----------|:----------|:---------------|:-------|:-----------------|
1134
+ |name|(grey lightbulb)|string|yes||
1135
+
1136
+ ### GroupedList\<TextBar>\<Bindings>\<Binding> node:
1137
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
1138
+ |:----------|:----------|:---------------|:-------|:-----------------|
1139
+ |target|(grey lightbulb)|text | backgroundColor | fontColor|no||
1140
+ |type|(grey lightbulb)|Text | Color|no||
1141
+ |binding|(grey lightbulb)|string|no||
1142
+ |bindingMode|(grey lightbulb)|ONE_WAY|no||
1143
+
1144
+ ### ChildNodes of GroupedList\<Items>
1145
+ |Node Name|Description|
1146
+ |:--------|:----------|
1147
+ |ItemListLayout|(grey lightbulb) (XML Structure)|
1148
+ |Bindings|(grey lightbulb)|
1149
+ |ContextMenu|see passage: "ContextMenu"|
1150
+
1151
+ ### GroupedList\<Items>\<Bindings>\<Binding> node:
1152
+ (these nodes represent "GroupedList.ListAttributes")
1153
+
1154
+ see passage: ListAttributes
1155
+
1156
+ ### Events
1157
+ Following events are available for GroupedList elements.
1158
+ |Name|Fired when|Required|
1159
+ |:---|:---------|:-------|
1160
+ |ItemSelectedEvent|The user has tapped a list item|No|
1161
+ |ContextOpeningEvent|This event will be raised when the context menu is poped up.|No|
1162
+ |ContextSelectedEvent|This event will be raised when an item from the context menu is selected.|No|
1163
+ |SwipeEvent|This event will be raised when an item from the context swipe.|No|
1164
+ |ListButtonPressedEvent|This event will be raised when list button pressed.|No|
1165
+
1166
+ ### Example
1167
+ ```
1168
+ <GroupedList name="GroupedListCtrl" searchable="true" groupBy="groupBy" sortBy="sortBy" master="true" numberPadDefaultField = "quantity" showPreviousNextEnter = "true" dataSource="dataSource" direction="ASC" indexBar="true" hasBorder="true" onItemDisclosure="true">
1169
+ <SearchAttributes>
1170
+ <SearchAttribute name="SearchAttribute1" />
1171
+ </SearchAttributes>
1172
+ <Items name="Items" itemPattern="itemPattern">
1173
+ <ItemListLayout>
1174
+ <xml />
1175
+ </ItemListLayout>
1176
+ <Bindings>
1177
+ <Binding target="ListAttribute1" type="Text" binding="binding" bindingMode="ONE_WAY" /> ... <Binding target="ListAttribute1" type="Dynamic" binding="binding" bindingMode="ONE_WAY" typeField="typeField" toggleId="DomAnaDeploymentStatus" />
1178
+ </Bindings>
1179
+ </Items>
1180
+ </GroupedList>
1181
+ ```
1182
+
1183
+ ## Multi Selection Grouped List Control
1184
+ Specification like "GroupedList" Control
1185
+ Additional property:
1186
+
1187
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
1188
+ |:----------|:----------|:---------------|:-------|:-----------------|
1189
+ |GroupVisibleElementConfiguration|configuration XML|string|no|
1190
+
1191
+ ## Multi Selection BreadCrumb Control
1192
+ Specification like "MultiSelectionGroupedList" Control + Hierarchy Sub Node like for the BreadCrumb Control:
1193
+
1194
+ ### Hierarchy
1195
+ Description: (grey lightbulb) Following attributes are available for Hierarchy element.
1196
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
1197
+ |:----------|:----------|:---------------|:-------|:-----------------|
1198
+ |name|Identifier|string|yes| (grey lightbulb)|
1199
+ |labelAttribute|(grey lightbulb)|string|(grey lightbulb)| |
1200
+
1201
+ ### ChildNodes of Hierarchy:
1202
+ |Node Name|Description|
1203
+ |:--------|:----------|
1204
+ |Bindings|(grey lightbulb)|
1205
+ |Events||
1206
+
1207
+ ### ChildNodes of Hierarchy\<Bindings>
1208
+ |Node Name|Description|
1209
+ |:--------|:----------|
1210
+ |Binding|(grey lightbulb)|
1211
+ |Resource [if RootLabel.Type=Label]|(grey lightbulb)|
1212
+
1213
+ ### Hierarchy\<Bindings>\<Binding> node [1-3]:
1214
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
1215
+ |:----------|:----------|:---------------|:-------|:-----------------|
1216
+ |target|(grey lightbulb)|string [RootLabel; ShowCategory; AddItem]|(grey lightbulb)||
1217
+ |type|(grey lightbulb)|string [Text]|(grey lightbulb)||
1218
+ |binding|[Binding; Show Category Binding; Add Item Binding]|(grey lightbulb)|string|(grey lightbulb)||
1219
+ |bindingMode|(grey lightbulb)|string [ONE_WAY]|(grey lightbulb)||
1220
+
1221
+ ### Hierarchy\<Bindings>\<Resource> node [0-1]:
1222
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
1223
+ |:----------|:----------|:---------------|:-------|:-----------------|
1224
+ |target|(grey lightbulb)|string [RootLabel]|(grey lightbulb)||
1225
+ |type|(grey lightbulb)|string [Label]|(grey lightbulb)||
1226
+ |id|(grey lightbulb)|string|(grey lightbulb)||
1227
+ |defaultLabel|(grey lightbulb)|string|(grey lightbulb)||
1228
+ |bindingMode|(grey lightbulb)|string [ONE_WAY]|(grey lightbulb)||
1229
+
1230
+ ## GroupedButtonList Control
1231
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
1232
+ |:----------|:----------|:---------------|:-------|:-----------------|
1233
+ |name|Identification of this list|string|yes||
1234
+ |searchable|Determines, whether the search bar is visible|boolean|no, defaults to true||
1235
+ |groupBy|Defines the attribute all list entries must have that is used for grouping|Any attribute of the attached data|no, defaults to no grouping||
1236
+ |sortBy|(grey lightbulb)|Any attribute of the attached data|no||
1237
+ |dataSource|Defines the data linked to the list.|Any data resource|yes||
1238
+ |hasBorder|Defines whether the list contains a border|boolean|no, default false ||
1239
+
1240
+ ### ChildNodes of GroupedButtonList
1241
+ |Node Name|Description|
1242
+ |:--------|:----------|
1243
+ |Bindings|(grey lightbulb)|
1244
+ |Footer|(grey lightbulb)|
1245
+ |Items|(grey lightbulb)|
1246
+ |Events|(grey lightbulb)|
1247
+ |SearchAttributes|(grey lightbulb)|
1248
+
1249
+ ### GroupedButtonList\<Bindings>\<Resource> node:
1250
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
1251
+ |:----------|:----------|:---------------|:-------|:-----------------|
1252
+ |target|(grey lightbulb)|string [Title]|(grey lightbulb)||
1253
+ |type|(grey lightbulb)|string [Label]|(grey lightbulb)||
1254
+ |defaultLabel|(grey lightbulb)|string|(grey lightbulb)||
1255
+ |id|(grey lightbulb)|string|(grey lightbulb)||
1256
+
1257
+ ### GroupedButtonList\<Footer>\<Items> node:
1258
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
1259
+ |:----------|:----------|:---------------|:-------|:-----------------|
1260
+ |name|(grey lightbulb)|string [FooterItems]|(grey lightbulb)||
1261
+
1262
+ ### GroupedButtonList\<Footer>\<Items>\<Bindings>\<Resource> nodes:
1263
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
1264
+ |:----------|:----------|:---------------|:-------|:-----------------|
1265
+ |target|(grey lightbulb)|string [Icon; Footerlabel]|(grey lightbulb)||
1266
+ |type|(grey lightbulb)|string [Image; Label]|(grey lightbulb)||
1267
+ |defaultLabel|(grey lightbulb)|string|(grey lightbulb)||
1268
+ |id|(grey lightbulb)|string|(grey lightbulb)||
1269
+ |id|(grey lightbulb)|string|(grey lightbulb)||
1270
+
1271
+ ### GroupedButtonList\<Items> node:
1272
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
1273
+ |:----------|:----------|:---------------|:-------|:-----------------|
1274
+ |name|(grey lightbulb)|string [Items]|(grey lightbulb)||
1275
+ |itemPattern|(grey lightbulb)|string|(grey lightbulb)||
1276
+
1277
+ ### ChildNode: GroupedButtonList\<Items>\<ItemListLayout> node:
1278
+ -> includes free XML structure.
1279
+
1280
+ ### GroupedButtonList Events
1281
+ |Name|Fired when|Required|
1282
+ |:---|:---------|:-------|
1283
+ |ItemSelectedEvent|The user has tapped a list item|No|
1284
+ |ContextOpeningEvent|This event will be raised when the context menu is poped up.|No|
1285
+ |ContextSelectedEvent|This event will be raised when an item from the context menu is selected.|No|
1286
+
1287
+ ### GroupedButtonList SearchAttributes\<SearchAttribute>
1288
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
1289
+ |:----------|:----------|:---------------|:-------|:-----------------|
1290
+ |name|(grey lightbulb) |string |yes||
1291
+
1292
+ ### Example
1293
+ ```
1294
+ <GroupedButtonList name="GroupedButtonListCtrl" searchable="true" groupBy="groupBy" sortBy="sortBy" dataSource="dataSource" hasBorder="true">
1295
+ <Bindings>
1296
+ <Resource target="Title" type="Label" defaultLabel="defaultLabel" id="labelId" />
1297
+ </Bindings>
1298
+ <Footer>
1299
+ <Items name="FooterItems">
1300
+ <Bindings>
1301
+ <Resource target="Icon" type="Image" id="ArrowEndBlueGrey24Inv" />
1302
+ <Resource target="FooterLabel" type="Label" id="labelId" defaultLabel="defaultLabel" />
1303
+ </Bindings>
1304
+ </Items>
1305
+ </Footer>
1306
+ <Items name="Items" itemPattern="itemPattern">
1307
+ <ItemListLayout>
1308
+ <xml />
1309
+ </ItemListLayout>
1310
+ </Items>
1311
+ </GroupedButtonList>
1312
+ ```
1313
+
1314
+ ## EmbeddedList Control
1315
+ The EmbeddedList is similar to the GroupedList control, but with some limitations.
1316
+ <ul><li>No Grouping<li>No Search<li>No Master-Detail Behaviour between List-GroupElemnt and other GroupElements<li>No Index Bar (not possible because scrolling is disabled)</ul>
1317
+
1318
+ ## ImageButton Control
1319
+ The ImageButton element defines a button that has an image as well as a text displayed to the user. A floating info text can be displayed on the button as well.
1320
+ Following attributes are available for the ImageButton element.
1321
+
1322
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
1323
+ |:----------|:----------|:---------------|:-------|:-----------------|
1324
+ |name|Identification of this image button|string|yes||
1325
+ |disabled|-|boolean|no||
1326
+ |foreColor|only vailable for image buttons under dashboard sections|6 digit hex value|no||
1327
+ |backColor|only vailable for image buttons under dashboard sections|6 digit hex value|no||
1328
+ |width|to modify the width of an imagebutton in em format|decimal|no||
1329
+
1330
+ ### Bindings
1331
+ The following data and resource bindings are available for ImageButton elements.
1332
+ |Name in XML|Description|Type|Binding source|Required|
1333
+ |:----------|:----------|:---|:-------------|:-------|
1334
+ |Text|The text to display in the button|Label|Any label resource available in the project or an arbitrary string.|no, defaults to no label displayed|
1335
+ |Image|The image to display in the button|Image|Any image resource available in the project|no, defaults to no image displayed|
1336
+ |Info|The floating info to display on the button|Text|Any string|no, defaults to no floating info displayed|
1337
+
1338
+ ### ImageButton<Bindings><Binding> / <Resource> node:
1339
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
1340
+ |:----------|:----------|:---------------|:-------|:-----------------|
1341
+ |target|(grey lightbulb)|string [Title]|(grey lightbulb)||
1342
+ |type|(grey lightbulb)|string [Label]|(grey lightbulb)||
1343
+ |defaultLabel|(grey lightbulb)|string|(grey lightbulb)||
1344
+ |id|(grey lightbulb)|string|(grey lightbulb)||
1345
+ |binding|(grey lightbulb)|string|(grey lightbulb)||
1346
+ |bindingMode|(grey lightbulb)|string [ONE_WAY]|(grey lightbulb)||
1347
+ |call|(grey lightbulb)|string|(grey lightbulb)||
1348
+ |Parameters|(grey lightbulb)|string in xml format|(grey lightbulb)||
1349
+
1350
+ Paramters tag exists only when call in specified.....
1351
+
1352
+ ### Events
1353
+ The following events are available for ImageButton elements.
1354
+
1355
+ |Name|Fired when|Required|
1356
+ |:---|:---------|:-------|
1357
+ |ButtonPressedEvent|User taps button|no|
1358
+
1359
+ ### Example
1360
+ ```
1361
+ <ImageButton name="ImageButton" disabled="false">
1362
+ <Bindings>
1363
+ <Resource target="Image" type="Image" id="AccentureIcon24" />
1364
+ <Resource target="Text" type="Label" id="labelId" defaultLabel="defaultLabel" />
1365
+ <Binding target="Info" binding="infoBinding" bindingMode="ONE_WAY" />
1366
+ <Binding type="Visible" target="Visible" binding="bind" />
1367
+ <Binding type="Editable" target="Editable" call="dddd">
1368
+ <Parameters>
1369
+ <sample></sample>
1370
+ </Parameters>
1371
+ </Binding>
1372
+
1373
+ </Bindings>
1374
+ <Events>
1375
+ <ButtonPressedEvent event="ImageButtonPressed" />
1376
+ </Events>
1377
+ </ImageButton>
1378
+ ```
1379
+
1380
+ ### Editability and Visibility
1381
+ (availability of properties are dependent on different types)
1382
+
1383
+ The node types VisibilityRoles and EditabilityRoles share this property:
1384
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
1385
+ |:----------|:----------|:---------------|:-------|:-----------------|
1386
+ |allRoles|(grey lightbulb)|true/false|(grey lightbulb)||
1387
+
1388
+ ### The Role subnodes
1389
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
1390
+ |:----------|:----------|:---------------|:-------|:-----------------|
1391
+ |name|(grey lightbulb)|one or more actors from the model|(grey lightbulb)||
1392
+
1393
+ ### Example
1394
+ ```
1395
+ <VisibilityRoles allRoles="false">
1396
+ <Role name="CEO" />
1397
+ <Role name="BpaAdmin" />
1398
+ ...
1399
+ </VisibilityRoles>
1400
+ <EditabilityRoles allRoles="true" />
1401
+ ```
1402
+
1403
+ ## Dropdown Control
1404
+ The Dropdown control provides a dropdown menu.
1405
+
1406
+ Following attributes are available for the Dropdown element.
1407
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
1408
+ |:----------|:----------|:---------------|:-------|:-----------------|
1409
+ |name|Identification of this dropdown|string|yes||
1410
+ |textLines|Controls after how many lines the text in the expanded QuickFilter is truncated with ellipses. Allowed values are 1 and 2. Other values will be ignored.|integer|no| 1|
1411
+ |dataSource|The filter items (including clear option)|Any list data where the list elements contain a reference to an image|yes||
1412
+ |width|The width of the control and drop-down on tablets. Numeric value. Will be used as width. Can be defined in px or em.|string (e.g. "300px" or "8em")|no| "210px"|
1413
+
1414
+ ### Binding Targets
1415
+ |Target|Description|Binding Type|Required|Default|
1416
+ |:-----|:----------|:-----------|:---------------|
1417
+ |Label|The label displayed when no filter is selected|Label (Resource) or Text|yes||
1418
+ |Headline|The Headline of the drop-down|Label (Resource) or Text|no|-|
1419
+ |Icon|The icon displayed in the control (16x16 px)|Image (Resource)|no|Framework Icon (grey eye)|
1420
+ |IconSelected|The icon displayed in the control while the drop-down is open (16x16 px)|Image (Resource)|no|Framework Icon (white eye)|
1421
+ |Editable|Defines if the control is active (Bool or Function)|Editable|no|true|
1422
+ |Visible|Defines if the control is visible (Bool or Function)|Visible|no|true|
1423
+
1424
+ ### Dropdown \<Bindings>\<Binding> / \<Resource> node:
1425
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
1426
+ |:----------|:----------|:---------------|:-------|:-----------------|
1427
+ |target|(grey lightbulb)|string|(grey lightbulb)| |
1428
+ |type|(grey lightbulb)|string|(grey lightbulb)||
1429
+ |call|(grey lightbulb)|string|(grey lightbulb)||
1430
+ |defaultLabel|(grey lightbulb)|string|(grey lightbulb)|
1431
+ |id|(grey lightbulb)|string|(grey lightbulb)|Label Id is required|
1432
+
1433
+ ### Item Binding Targets
1434
+ |Target|Filed of the LI contains| Binding Type | Required | Default|
1435
+ |:-----|:-----------------------|:-------------|:---------|:-------|
1436
+ |ItemText|Displayed item text|Label or Text|yes||
1437
+ |IsSelected|Selection state|Bool|yes||
1438
+ |SpecialOption|Flag to identify the Clear item. If more than one item is marked as clear option an error is logged, the first is used and the rest is ignored.|null / Text ("CLEAR")|no|null|
1439
+
1440
+ ### Dropdown \<Items>\<Bindings>\<Binding> node:
1441
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
1442
+ |:----------|:----------|:---------------|:-------|:-----------------|
1443
+ |target|(grey lightbulb)||||
1444
+ |type|n.a.|(grey lightbulb)||||
1445
+ |binding|Target:"itemText"|string|Yes||
1446
+ |binding|Target:"IsSelected"|string|Yes||
1447
+ |binding|Target:"SpecialOption"|string|No||
1448
+ |bindingMode|(grey lightbulb)|string [ONE_WAY/TWO_WAY/ONE_TIME]||
1449
+
1450
+ ### Events
1451
+
1452
+ The following events are available for ImageSelector elements.
1453
+ |Name|Fired when|Required|
1454
+ |:---|:---------|:-------|
1455
+ |DropdownOpeningEvent|User taps on the Dropdown control|no|
1456
+ |ItemsSelectedEvent|Fired when an item is selected or the filter is cleared|no|
1457
+
1458
+ ### Example
1459
+ ```
1460
+ <Dropdown name="dropdown" textLines="2" width="1" dataSource="ProcessContext::OverviewList.items[]">
1461
+ <Bindings>
1462
+ <Binding target="Editable" type="Editable" call="ProcessContext::OverviewList.current.grouping" />
1463
+ <Binding target="Visible" type="Visible" call="ProcessContext::OverviewList.current.groupSort" />
1464
+ <Resource target="Headline" type="Label" defaultLabel="TestLabel" id="TestId" />
1465
+ <Resource target="Label" type="Label" defaultLabel="TestLabel" id="TestId" />
1466
+ <Resource target="Icon" type="Image" id="ArrowEndDarkGrey24" />
1467
+ <Resource target="IconSelected" type="Image" id="ArrowEndDarkGrey24" />
1468
+ </Bindings>
1469
+ <Items>
1470
+ <Bindings>
1471
+ <Binding target="IsSelected" type="Bool" binding=".grouping" bindingMode="ONE_WAY" />
1472
+ <Binding target="ItemText" type="Label" binding=".groupSort" />
1473
+ <Binding target="SpecialOption" type="Text" binding=".reportName" bindingMode="TWO_WAY" />
1474
+ </Bindings>
1475
+ </Items>
1476
+ <Events>
1477
+ <DropdownOpeningEvent event="openingEvent" resetMultiAreas="false">
1478
+ <HideSection name="hideSection" />
1479
+ </DropdownOpeningEvent>
1480
+ <ItemsSelectedEvent event="selectedEvent" resetMultiAreas="false">
1481
+ <HideSection name="hideSection" />
1482
+ </ItemsSelectedEvent>
1483
+ </Events>
1484
+ </Dropdown>
1485
+ ```
1486
+
1487
+ ## ImageSelector Control
1488
+ The ImageSelector element defines a list type UI control that displays images with labels. The user can select an image by tapping it.
1489
+ Following attributes are available in the ImageSelector element.
1490
+
1491
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
1492
+ |:----------|:----------|:---------------|:-------|:-----------------|
1493
+ |name|Identification of this image selector|string|yes||
1494
+ |type|The type of the image selector|Tbd. / string [FilterElement] |yes||
1495
+ |dataSource|The data linked to the image selector|Any list data where the list elements contain a reference to an image|yes||
1496
+ |filter|Defies the ImageSelector as Master Control in a MasterDetailSectionPage|boolean|no, defaults to false||
1497
+
1498
+ ###
1499
+ Bindings
1500
+
1501
+ The following data and resource bindings are available for Items inside the ImageSelector.
1502
+ |Name|Description|Type|Binding source|Required|
1503
+ |:---|:----------|:---|:-------------|:-------|
1504
+ |Image|The attribute in the list entries that points to the image resource|Image|Any image resource available in the project|yes|
1505
+ |Text|The attribute in the list entries that points to a text resource. This is shown as a label for the images|Text|Any label resource available in the project or an arbitrary string.|no, defaults to no text displayed|
1506
+ |Info|The attribute in the list entries that points to an additional information resource. This will be shown as floating text over the image|Text|Any label resource available in the project or an arbitrary string.|no, defaults to no floating info displayed|
1507
+
1508
+ ### ImageSelector\<Bindings>\<Binding> / \<Resource> node:
1509
+ |Name in XML|Description|Values / Pattern|Required| Validation/Checks|
1510
+ |:----------|:----------|:---------------|:-------|:-----------------|
1511
+ |target|(grey lightbulb)|string [Image; Text; Info]|(grey lightbulb)||
1512
+ |type|(grey lightbulb)|string [Image; Text]|(grey lightbulb)||
1513
+ |binding|(grey lightbulb)|string|(grey lightbulb)||
1514
+ |bindingMode|(grey lightbulb)|string [ONE_WAY]|(grey lightbulb)||
1515
+
1516
+ ### Events
1517
+ The following events are available for ImageSelector elements.
1518
+ |Name|Fired when|Required|
1519
+ |:---|:---------|:-------|
1520
+ |ItemSelectedEvent|User taps an image|no|
1521
+
1522
+ ### Example
1523
+ ```
1524
+ <ImageSelector name="ImageSelectorCtrl" type="FilterElement" dataSource="dataSource" filter="true">
1525
+ <Items>
1526
+ <Bindings>
1527
+ <Binding target="Image" type="Image" binding="imageBinding" bindingMode="ONE_WAY" />
1528
+ <Binding target="Text" type="Text" binding="textBinding" bindingMode="ONE_WAY" />
1529
+ <Binding target="Info" type="Text" binding="infoBinding" bindingMode="ONE_WAY" />
1530
+ </Bindings>
1531
+ </Items>
1532
+ <Events>
1533
+ <ItemSelectedEvent event="filterSelected">
1534
+ <Params>
1535
+ <Param name="filterCode" value="value" />
1536
+ </Params>
1537
+ </ItemSelectedEvent>
1538
+ </Events>
1539
+ </ImageSelector>
1540
+ ```
1541
+
1542
+ ## SelectionBox Control
1543
+ The SelectionBox element defines a grouped set of elements that allow the user to select one or multiple from, similar to a radio button group or checkbox group. The selection box can have a title and is usually surrounded by a border or similar UI element to show the user that it is a logical unit.
1544
+
1545
+ Following attributes are available for the SelectionBox element.