@siliconst/metaui 1.2.0 → 1.4.5

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 (607) hide show
  1. package/README.md +102 -33
  2. package/package.json +1 -1
  3. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl-dbg.js +70 -0
  4. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl-dbg.js.map +1 -0
  5. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.d.ts +67 -0
  6. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.d.ts.map +1 -0
  7. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.js +2 -0
  8. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.js.map +1 -0
  9. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.ts +58 -0
  10. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer-dbg.js +28 -0
  11. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer-dbg.js.map +1 -0
  12. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.d.ts +16 -0
  13. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.d.ts.map +1 -0
  14. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.js +2 -0
  15. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.js.map +1 -0
  16. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.ts +28 -0
  17. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl-dbg.js +142 -0
  18. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl-dbg.js.map +1 -0
  19. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.d.ts +33 -0
  20. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.d.ts.map +1 -0
  21. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.js +2 -0
  22. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.js.map +1 -0
  23. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.ts +164 -0
  24. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost-dbg.js +305 -0
  25. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost-dbg.js.map +1 -0
  26. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.d.ts +168 -0
  27. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.d.ts.map +1 -0
  28. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.js +2 -0
  29. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.js.map +1 -0
  30. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.ts +247 -0
  31. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl-dbg.js +73 -0
  32. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl-dbg.js.map +1 -0
  33. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.d.ts +32 -0
  34. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.d.ts.map +1 -0
  35. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.js +2 -0
  36. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.js.map +1 -0
  37. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.ts +86 -0
  38. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl-dbg.js +60 -0
  39. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl-dbg.js.map +1 -0
  40. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.d.ts +32 -0
  41. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.d.ts.map +1 -0
  42. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.js +2 -0
  43. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.js.map +1 -0
  44. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.ts +61 -0
  45. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl-dbg.js +157 -0
  46. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl-dbg.js.map +1 -0
  47. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.d.ts +33 -0
  48. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.d.ts.map +1 -0
  49. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.js +2 -0
  50. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.js.map +1 -0
  51. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.ts +169 -0
  52. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl-dbg.js +160 -0
  53. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl-dbg.js.map +1 -0
  54. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.d.ts +28 -0
  55. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.d.ts.map +1 -0
  56. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.js +2 -0
  57. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.js.map +1 -0
  58. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.ts +185 -0
  59. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost-dbg.js +443 -0
  60. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost-dbg.js.map +1 -0
  61. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.d.ts +227 -0
  62. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.d.ts.map +1 -0
  63. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.js +2 -0
  64. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.js.map +1 -0
  65. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.ts +421 -0
  66. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate-dbg.js +103 -0
  67. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate-dbg.js.map +1 -0
  68. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.d.ts +32 -0
  69. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.d.ts.map +1 -0
  70. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.js +2 -0
  71. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.js.map +1 -0
  72. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.ts +119 -0
  73. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate-dbg.js +64 -0
  74. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate-dbg.js.map +1 -0
  75. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.d.ts +21 -0
  76. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.d.ts.map +1 -0
  77. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.js +2 -0
  78. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.js.map +1 -0
  79. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.ts +64 -0
  80. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate-dbg.js +122 -0
  81. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate-dbg.js.map +1 -0
  82. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.d.ts +49 -0
  83. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.d.ts.map +1 -0
  84. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.js +2 -0
  85. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.js.map +1 -0
  86. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.ts +118 -0
  87. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate-dbg.js +120 -0
  88. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate-dbg.js.map +1 -0
  89. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.d.ts +45 -0
  90. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.d.ts.map +1 -0
  91. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.js +2 -0
  92. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.js.map +1 -0
  93. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.ts +131 -0
  94. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine-dbg.js +40 -15
  95. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine-dbg.js.map +1 -1
  96. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.d.ts +27 -7
  97. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.d.ts.map +1 -1
  98. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.js +1 -1
  99. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.js.map +1 -1
  100. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.ts +41 -15
  101. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator-dbg.js +78 -0
  102. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator-dbg.js.map +1 -0
  103. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.d.ts +27 -0
  104. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.d.ts.map +1 -0
  105. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.js +2 -0
  106. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.js.map +1 -0
  107. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.ts +79 -0
  108. package/src/nz/co/siliconst/ui5/metaui/core/Engine-dbg.js +159 -43
  109. package/src/nz/co/siliconst/ui5/metaui/core/Engine-dbg.js.map +1 -1
  110. package/src/nz/co/siliconst/ui5/metaui/core/Engine.d.ts +64 -3
  111. package/src/nz/co/siliconst/ui5/metaui/core/Engine.d.ts.map +1 -1
  112. package/src/nz/co/siliconst/ui5/metaui/core/Engine.js +1 -1
  113. package/src/nz/co/siliconst/ui5/metaui/core/Engine.js.map +1 -1
  114. package/src/nz/co/siliconst/ui5/metaui/core/Engine.ts +166 -43
  115. package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry-dbg.js +32 -0
  116. package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry-dbg.js.map +1 -0
  117. package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry.d.ts +16 -0
  118. package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry.d.ts.map +1 -0
  119. package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry.js +2 -0
  120. package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry.js.map +1 -0
  121. package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry.ts +26 -0
  122. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager-dbg.js +123 -0
  123. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager-dbg.js.map +1 -0
  124. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.d.ts +49 -0
  125. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.d.ts.map +1 -0
  126. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.js +2 -0
  127. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.js.map +1 -0
  128. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.ts +106 -0
  129. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry-dbg.js +104 -25
  130. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry-dbg.js.map +1 -1
  131. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.d.ts +21 -13
  132. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.d.ts.map +1 -1
  133. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.js +1 -1
  134. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.js.map +1 -1
  135. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.ts +110 -21
  136. package/src/nz/co/siliconst/ui5/metaui/core/Registry-dbg.js +79 -0
  137. package/src/nz/co/siliconst/ui5/metaui/core/Registry-dbg.js.map +1 -0
  138. package/src/nz/co/siliconst/ui5/metaui/core/Registry.d.ts +43 -0
  139. package/src/nz/co/siliconst/ui5/metaui/core/Registry.d.ts.map +1 -0
  140. package/src/nz/co/siliconst/ui5/metaui/core/Registry.js +2 -0
  141. package/src/nz/co/siliconst/ui5/metaui/core/Registry.js.map +1 -0
  142. package/src/nz/co/siliconst/ui5/metaui/core/Registry.ts +70 -0
  143. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer-dbg.js +116 -21
  144. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer-dbg.js.map +1 -1
  145. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.d.ts +11 -1
  146. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.d.ts.map +1 -1
  147. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.js +1 -1
  148. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.js.map +1 -1
  149. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.ts +115 -21
  150. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator-dbg.js +54 -0
  151. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator-dbg.js.map +1 -0
  152. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.d.ts +11 -0
  153. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.d.ts.map +1 -0
  154. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.js +2 -0
  155. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.js.map +1 -0
  156. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.ts +53 -0
  157. package/src/nz/co/siliconst/ui5/metaui/core/StateManager-dbg.js +88 -2
  158. package/src/nz/co/siliconst/ui5/metaui/core/StateManager-dbg.js.map +1 -1
  159. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.d.ts +15 -1
  160. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.d.ts.map +1 -1
  161. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.js +1 -1
  162. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.js.map +1 -1
  163. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.ts +103 -1
  164. package/src/nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager-dbg.js.map +1 -1
  165. package/src/nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager.d.ts +7 -8
  166. package/src/nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager.d.ts.map +1 -1
  167. package/src/nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager.ts +7 -7
  168. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline-dbg.js +2 -0
  169. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline-dbg.js.map +1 -0
  170. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline.d.ts +38 -0
  171. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline.d.ts.map +1 -0
  172. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline.js +2 -0
  173. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline.js.map +1 -0
  174. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline.ts +39 -0
  175. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin-dbg.js.map +1 -1
  176. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.d.ts +38 -2
  177. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.d.ts.map +1 -1
  178. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.ts +43 -2
  179. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema-dbg.js.map +1 -1
  180. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.d.ts +32 -3
  181. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.d.ts.map +1 -1
  182. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.ts +35 -3
  183. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout-dbg.js +148 -0
  184. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout-dbg.js.map +1 -0
  185. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.d.ts +27 -0
  186. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.d.ts.map +1 -0
  187. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.js +2 -0
  188. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.js.map +1 -0
  189. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.ts +139 -0
  190. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout-dbg.js +136 -61
  191. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout-dbg.js.map +1 -1
  192. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.d.ts +19 -12
  193. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.d.ts.map +1 -1
  194. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.js +1 -1
  195. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.js.map +1 -1
  196. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.ts +135 -71
  197. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout-dbg.js +111 -51
  198. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout-dbg.js.map +1 -1
  199. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.d.ts +21 -8
  200. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.d.ts.map +1 -1
  201. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.js +1 -1
  202. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.js.map +1 -1
  203. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.ts +123 -65
  204. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout-dbg.js +129 -0
  205. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout-dbg.js.map +1 -0
  206. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.d.ts +28 -0
  207. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.d.ts.map +1 -0
  208. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.js +2 -0
  209. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.js.map +1 -0
  210. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.ts +127 -0
  211. package/src/nz/co/siliconst/ui5/metaui/library-dbg.js +17 -12
  212. package/src/nz/co/siliconst/ui5/metaui/library-dbg.js.map +1 -1
  213. package/src/nz/co/siliconst/ui5/metaui/library-preload.js +73 -25
  214. package/src/nz/co/siliconst/ui5/metaui/library-preload.js.map +1 -1
  215. package/src/nz/co/siliconst/ui5/metaui/library.d.ts +1 -0
  216. package/src/nz/co/siliconst/ui5/metaui/library.d.ts.map +1 -1
  217. package/src/nz/co/siliconst/ui5/metaui/library.js +1 -1
  218. package/src/nz/co/siliconst/ui5/metaui/library.js.map +1 -1
  219. package/src/nz/co/siliconst/ui5/metaui/library.ts +25 -12
  220. package/src/nz/co/siliconst/ui5/metaui/manifest.json +8 -1
  221. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin-dbg.js +58 -0
  222. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin-dbg.js.map +1 -0
  223. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.d.ts +22 -0
  224. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.d.ts.map +1 -0
  225. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.js +2 -0
  226. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.js.map +1 -0
  227. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.ts +57 -0
  228. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin-dbg.js +55 -0
  229. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin-dbg.js.map +1 -0
  230. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin.d.ts +21 -0
  231. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin.d.ts.map +1 -0
  232. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin.js +2 -0
  233. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin.js.map +1 -0
  234. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin.ts +54 -0
  235. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin-dbg.js +46 -0
  236. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin-dbg.js.map +1 -0
  237. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin.d.ts +23 -0
  238. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin.d.ts.map +1 -0
  239. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin.js +2 -0
  240. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin.js.map +1 -0
  241. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin.ts +45 -0
  242. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin-dbg.js +74 -0
  243. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin-dbg.js.map +1 -0
  244. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.d.ts +15 -0
  245. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.d.ts.map +1 -0
  246. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.js +2 -0
  247. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.js.map +1 -0
  248. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.ts +80 -0
  249. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin-dbg.js +75 -0
  250. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin-dbg.js.map +1 -0
  251. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.d.ts +12 -0
  252. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.d.ts.map +1 -0
  253. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.js +2 -0
  254. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.js.map +1 -0
  255. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.ts +83 -0
  256. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin-dbg.js +174 -0
  257. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin-dbg.js.map +1 -0
  258. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.d.ts +78 -0
  259. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.d.ts.map +1 -0
  260. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.js +2 -0
  261. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.js.map +1 -0
  262. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.ts +165 -0
  263. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin-dbg.js +79 -0
  264. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin-dbg.js.map +1 -0
  265. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.d.ts +36 -0
  266. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.d.ts.map +1 -0
  267. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.js +2 -0
  268. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.js.map +1 -0
  269. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.ts +77 -0
  270. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin-dbg.js +60 -0
  271. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin-dbg.js.map +1 -0
  272. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.d.ts +11 -0
  273. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.d.ts.map +1 -0
  274. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.js +2 -0
  275. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.js.map +1 -0
  276. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.ts +56 -0
  277. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin-dbg.js +122 -0
  278. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin-dbg.js.map +1 -0
  279. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.d.ts +24 -0
  280. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.d.ts.map +1 -0
  281. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.js +2 -0
  282. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.js.map +1 -0
  283. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.ts +125 -0
  284. package/src/nz/co/siliconst/ui5/metaui/plugins/{DatePlugin-dbg.js → controls/DatePlugin-dbg.js} +29 -20
  285. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin-dbg.js.map +1 -0
  286. package/src/nz/co/siliconst/ui5/metaui/plugins/{DatePlugin.d.ts → controls/DatePlugin.d.ts} +4 -4
  287. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.d.ts.map +1 -0
  288. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.js +2 -0
  289. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.js.map +1 -0
  290. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.ts +74 -0
  291. package/src/nz/co/siliconst/ui5/metaui/plugins/{DateTimePlugin-dbg.js → controls/DateTimePlugin-dbg.js} +30 -20
  292. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin-dbg.js.map +1 -0
  293. package/src/nz/co/siliconst/ui5/metaui/plugins/{DateTimePlugin.d.ts → controls/DateTimePlugin.d.ts} +4 -4
  294. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.d.ts.map +1 -0
  295. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.js +2 -0
  296. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.js.map +1 -0
  297. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.ts +75 -0
  298. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin-dbg.js +109 -0
  299. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin-dbg.js.map +1 -0
  300. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.d.ts +37 -0
  301. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.d.ts.map +1 -0
  302. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.js +2 -0
  303. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.js.map +1 -0
  304. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.ts +105 -0
  305. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin-dbg.js +65 -0
  306. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin-dbg.js.map +1 -0
  307. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.d.ts +21 -0
  308. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.d.ts.map +1 -0
  309. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.js +2 -0
  310. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.js.map +1 -0
  311. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.ts +64 -0
  312. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin-dbg.js +59 -0
  313. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin-dbg.js.map +1 -0
  314. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.d.ts +11 -0
  315. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.d.ts.map +1 -0
  316. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.js +2 -0
  317. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.js.map +1 -0
  318. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.ts +56 -0
  319. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin-dbg.js +45 -0
  320. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin-dbg.js.map +1 -0
  321. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.d.ts +22 -0
  322. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.d.ts.map +1 -0
  323. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.js +2 -0
  324. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.js.map +1 -0
  325. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.ts +42 -0
  326. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin-dbg.js +74 -0
  327. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin-dbg.js.map +1 -0
  328. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.d.ts +22 -0
  329. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.d.ts.map +1 -0
  330. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.js +2 -0
  331. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.js.map +1 -0
  332. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.ts +73 -0
  333. package/src/nz/co/siliconst/ui5/metaui/plugins/{NumberPlugin-dbg.js → controls/NumberPlugin-dbg.js} +21 -16
  334. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin-dbg.js.map +1 -0
  335. package/src/nz/co/siliconst/ui5/metaui/plugins/{NumberPlugin.d.ts → controls/NumberPlugin.d.ts} +4 -4
  336. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.d.ts.map +1 -0
  337. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.js +2 -0
  338. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.js.map +1 -0
  339. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.ts +62 -0
  340. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin-dbg.js +74 -0
  341. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin-dbg.js.map +1 -0
  342. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.d.ts +17 -0
  343. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.d.ts.map +1 -0
  344. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.js +2 -0
  345. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.js.map +1 -0
  346. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.ts +81 -0
  347. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin-dbg.js +61 -0
  348. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin-dbg.js.map +1 -0
  349. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.d.ts +21 -0
  350. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.d.ts.map +1 -0
  351. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.js +2 -0
  352. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.js.map +1 -0
  353. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.ts +62 -0
  354. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin-dbg.js +64 -0
  355. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin-dbg.js.map +1 -0
  356. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.d.ts +16 -0
  357. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.d.ts.map +1 -0
  358. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.js +2 -0
  359. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.js.map +1 -0
  360. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.ts +67 -0
  361. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin-dbg.js +58 -0
  362. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin-dbg.js.map +1 -0
  363. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.d.ts +11 -0
  364. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.d.ts.map +1 -0
  365. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.js +2 -0
  366. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.js.map +1 -0
  367. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.ts +55 -0
  368. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin-dbg.js +64 -0
  369. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin-dbg.js.map +1 -0
  370. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.d.ts +21 -0
  371. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.d.ts.map +1 -0
  372. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.js +2 -0
  373. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.js.map +1 -0
  374. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.ts +65 -0
  375. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin-dbg.js +87 -0
  376. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin-dbg.js.map +1 -0
  377. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.d.ts +37 -0
  378. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.d.ts.map +1 -0
  379. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.js +2 -0
  380. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.js.map +1 -0
  381. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.ts +85 -0
  382. package/src/nz/co/siliconst/ui5/metaui/plugins/{SwitchPlugin-dbg.js → controls/SwitchPlugin-dbg.js} +24 -6
  383. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin-dbg.js.map +1 -0
  384. package/src/nz/co/siliconst/ui5/metaui/plugins/{SwitchPlugin.d.ts → controls/SwitchPlugin.d.ts} +4 -4
  385. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.d.ts.map +1 -0
  386. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.js +2 -0
  387. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.js.map +1 -0
  388. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.ts +62 -0
  389. package/src/nz/co/siliconst/ui5/metaui/plugins/{TextAreaPlugin-dbg.js → controls/TextAreaPlugin-dbg.js} +20 -14
  390. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin-dbg.js.map +1 -0
  391. package/src/nz/co/siliconst/ui5/metaui/plugins/{TextAreaPlugin.d.ts → controls/TextAreaPlugin.d.ts} +4 -4
  392. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.d.ts.map +1 -0
  393. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.js +2 -0
  394. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.js.map +1 -0
  395. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.ts +63 -0
  396. package/src/nz/co/siliconst/ui5/metaui/plugins/{TimePlugin-dbg.js → controls/TimePlugin-dbg.js} +30 -25
  397. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin-dbg.js.map +1 -0
  398. package/src/nz/co/siliconst/ui5/metaui/plugins/{TimePlugin.d.ts → controls/TimePlugin.d.ts} +4 -4
  399. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.d.ts.map +1 -0
  400. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.js +2 -0
  401. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.js.map +1 -0
  402. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.ts +76 -0
  403. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin-dbg.js +62 -0
  404. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin-dbg.js.map +1 -0
  405. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.d.ts +11 -0
  406. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.d.ts.map +1 -0
  407. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.js +2 -0
  408. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.js.map +1 -0
  409. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.ts +59 -0
  410. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin-dbg.js +94 -0
  411. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin-dbg.js.map +1 -0
  412. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.d.ts +29 -0
  413. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.d.ts.map +1 -0
  414. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.js +2 -0
  415. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.js.map +1 -0
  416. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.ts +102 -0
  417. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin-dbg.js +60 -0
  418. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin-dbg.js.map +1 -0
  419. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.d.ts +22 -0
  420. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.d.ts.map +1 -0
  421. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.js +2 -0
  422. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.js.map +1 -0
  423. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.ts +57 -0
  424. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin-dbg.js +106 -0
  425. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin-dbg.js.map +1 -0
  426. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.d.ts +22 -0
  427. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.d.ts.map +1 -0
  428. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.js +2 -0
  429. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.js.map +1 -0
  430. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.ts +101 -0
  431. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin-dbg.js +77 -0
  432. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin-dbg.js.map +1 -0
  433. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.d.ts +25 -0
  434. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.d.ts.map +1 -0
  435. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.js +2 -0
  436. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.js.map +1 -0
  437. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.ts +86 -0
  438. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin-dbg.js +36 -0
  439. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin-dbg.js.map +1 -0
  440. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin.d.ts +25 -0
  441. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin.d.ts.map +1 -0
  442. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin.js +2 -0
  443. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin.js.map +1 -0
  444. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin.ts +36 -0
  445. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin-dbg.js +32 -0
  446. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin-dbg.js.map +1 -0
  447. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin.d.ts +19 -0
  448. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin.d.ts.map +1 -0
  449. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin.js +2 -0
  450. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin.js.map +1 -0
  451. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin.ts +31 -0
  452. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin-dbg.js +32 -0
  453. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin-dbg.js.map +1 -0
  454. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin.d.ts +17 -0
  455. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin.d.ts.map +1 -0
  456. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin.js +2 -0
  457. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin.js.map +1 -0
  458. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin.ts +27 -0
  459. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin-dbg.js +31 -0
  460. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin-dbg.js.map +1 -0
  461. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin.d.ts +18 -0
  462. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin.d.ts.map +1 -0
  463. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin.js +2 -0
  464. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin.js.map +1 -0
  465. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin.ts +23 -0
  466. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin-dbg.js +45 -0
  467. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin-dbg.js.map +1 -0
  468. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin.d.ts +24 -0
  469. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin.d.ts.map +1 -0
  470. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin.js +2 -0
  471. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin.js.map +1 -0
  472. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin.ts +30 -0
  473. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin-dbg.js +42 -0
  474. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin-dbg.js.map +1 -0
  475. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin.d.ts +18 -0
  476. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin.d.ts.map +1 -0
  477. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin.js +2 -0
  478. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin.js.map +1 -0
  479. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin.ts +29 -0
  480. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin-dbg.js +41 -0
  481. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin-dbg.js.map +1 -0
  482. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin.d.ts +17 -0
  483. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin.d.ts.map +1 -0
  484. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin.js +2 -0
  485. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin.js.map +1 -0
  486. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin.ts +25 -0
  487. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin-dbg.js +51 -0
  488. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin-dbg.js.map +1 -0
  489. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin.d.ts +17 -0
  490. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin.d.ts.map +1 -0
  491. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin.js +2 -0
  492. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin.js.map +1 -0
  493. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin.ts +33 -0
  494. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin-dbg.js +48 -0
  495. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin-dbg.js.map +1 -0
  496. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin.d.ts +17 -0
  497. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin.d.ts.map +1 -0
  498. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin.js +2 -0
  499. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin.js.map +1 -0
  500. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin.ts +32 -0
  501. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin-dbg.js +46 -0
  502. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin-dbg.js.map +1 -0
  503. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin.d.ts +17 -0
  504. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin.d.ts.map +1 -0
  505. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin.js +2 -0
  506. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin.js.map +1 -0
  507. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin.ts +29 -0
  508. package/src/nz/co/siliconst/ui5/metaui/utils/Logger-dbg.js +83 -0
  509. package/src/nz/co/siliconst/ui5/metaui/utils/Logger-dbg.js.map +1 -0
  510. package/src/nz/co/siliconst/ui5/metaui/utils/Logger.d.ts +29 -0
  511. package/src/nz/co/siliconst/ui5/metaui/utils/Logger.d.ts.map +1 -0
  512. package/src/nz/co/siliconst/ui5/metaui/utils/Logger.js +2 -0
  513. package/src/nz/co/siliconst/ui5/metaui/utils/Logger.js.map +1 -0
  514. package/src/nz/co/siliconst/ui5/metaui/utils/Logger.ts +75 -0
  515. package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost-dbg.js +0 -300
  516. package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost-dbg.js.map +0 -1
  517. package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost.d.ts +0 -130
  518. package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost.d.ts.map +0 -1
  519. package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost.js +0 -2
  520. package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost.js.map +0 -1
  521. package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost.ts +0 -292
  522. package/src/nz/co/siliconst/ui5/metaui/core/EventBus-dbg.js +0 -66
  523. package/src/nz/co/siliconst/ui5/metaui/core/EventBus-dbg.js.map +0 -1
  524. package/src/nz/co/siliconst/ui5/metaui/core/EventBus.d.ts +0 -40
  525. package/src/nz/co/siliconst/ui5/metaui/core/EventBus.d.ts.map +0 -1
  526. package/src/nz/co/siliconst/ui5/metaui/core/EventBus.js +0 -2
  527. package/src/nz/co/siliconst/ui5/metaui/core/EventBus.js.map +0 -1
  528. package/src/nz/co/siliconst/ui5/metaui/core/EventBus.ts +0 -60
  529. package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus-dbg.js +0 -2
  530. package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus-dbg.js.map +0 -1
  531. package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus.d.ts +0 -29
  532. package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus.d.ts.map +0 -1
  533. package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus.js +0 -2
  534. package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus.js.map +0 -1
  535. package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus.ts +0 -29
  536. package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout-dbg.js +0 -24
  537. package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout-dbg.js.map +0 -1
  538. package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout.d.ts +0 -15
  539. package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout.d.ts.map +0 -1
  540. package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout.js +0 -2
  541. package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout.js.map +0 -1
  542. package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout.ts +0 -22
  543. package/src/nz/co/siliconst/ui5/metaui/plugins/ArrayPlugin-dbg.js +0 -68
  544. package/src/nz/co/siliconst/ui5/metaui/plugins/ArrayPlugin-dbg.js.map +0 -1
  545. package/src/nz/co/siliconst/ui5/metaui/plugins/ArrayPlugin.d.ts +0 -15
  546. package/src/nz/co/siliconst/ui5/metaui/plugins/ArrayPlugin.d.ts.map +0 -1
  547. package/src/nz/co/siliconst/ui5/metaui/plugins/ArrayPlugin.js +0 -2
  548. package/src/nz/co/siliconst/ui5/metaui/plugins/ArrayPlugin.js.map +0 -1
  549. package/src/nz/co/siliconst/ui5/metaui/plugins/ArrayPlugin.ts +0 -71
  550. package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin-dbg.js +0 -55
  551. package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin-dbg.js.map +0 -1
  552. package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin.d.ts +0 -24
  553. package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin.d.ts.map +0 -1
  554. package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin.js +0 -2
  555. package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin.js.map +0 -1
  556. package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin.ts +0 -56
  557. package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin-dbg.js +0 -42
  558. package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin-dbg.js.map +0 -1
  559. package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin.d.ts +0 -18
  560. package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin.d.ts.map +0 -1
  561. package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin.js +0 -2
  562. package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin.js.map +0 -1
  563. package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin.ts +0 -41
  564. package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin-dbg.js.map +0 -1
  565. package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin.d.ts.map +0 -1
  566. package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin.js +0 -2
  567. package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin.js.map +0 -1
  568. package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin.ts +0 -69
  569. package/src/nz/co/siliconst/ui5/metaui/plugins/DateTimePlugin-dbg.js.map +0 -1
  570. package/src/nz/co/siliconst/ui5/metaui/plugins/DateTimePlugin.d.ts.map +0 -1
  571. package/src/nz/co/siliconst/ui5/metaui/plugins/DateTimePlugin.js +0 -2
  572. package/src/nz/co/siliconst/ui5/metaui/plugins/DateTimePlugin.js.map +0 -1
  573. package/src/nz/co/siliconst/ui5/metaui/plugins/DateTimePlugin.ts +0 -68
  574. package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin-dbg.js +0 -67
  575. package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin-dbg.js.map +0 -1
  576. package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin.d.ts +0 -18
  577. package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin.d.ts.map +0 -1
  578. package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin.js +0 -2
  579. package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin.js.map +0 -1
  580. package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin.ts +0 -65
  581. package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin-dbg.js.map +0 -1
  582. package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin.d.ts.map +0 -1
  583. package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin.js +0 -2
  584. package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin.js.map +0 -1
  585. package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin.ts +0 -56
  586. package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin-dbg.js +0 -57
  587. package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin-dbg.js.map +0 -1
  588. package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin.d.ts +0 -18
  589. package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin.d.ts.map +0 -1
  590. package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin.js +0 -2
  591. package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin.js.map +0 -1
  592. package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin.ts +0 -58
  593. package/src/nz/co/siliconst/ui5/metaui/plugins/SwitchPlugin-dbg.js.map +0 -1
  594. package/src/nz/co/siliconst/ui5/metaui/plugins/SwitchPlugin.d.ts.map +0 -1
  595. package/src/nz/co/siliconst/ui5/metaui/plugins/SwitchPlugin.js +0 -2
  596. package/src/nz/co/siliconst/ui5/metaui/plugins/SwitchPlugin.js.map +0 -1
  597. package/src/nz/co/siliconst/ui5/metaui/plugins/SwitchPlugin.ts +0 -42
  598. package/src/nz/co/siliconst/ui5/metaui/plugins/TextAreaPlugin-dbg.js.map +0 -1
  599. package/src/nz/co/siliconst/ui5/metaui/plugins/TextAreaPlugin.d.ts.map +0 -1
  600. package/src/nz/co/siliconst/ui5/metaui/plugins/TextAreaPlugin.js +0 -2
  601. package/src/nz/co/siliconst/ui5/metaui/plugins/TextAreaPlugin.js.map +0 -1
  602. package/src/nz/co/siliconst/ui5/metaui/plugins/TextAreaPlugin.ts +0 -58
  603. package/src/nz/co/siliconst/ui5/metaui/plugins/TimePlugin-dbg.js.map +0 -1
  604. package/src/nz/co/siliconst/ui5/metaui/plugins/TimePlugin.d.ts.map +0 -1
  605. package/src/nz/co/siliconst/ui5/metaui/plugins/TimePlugin.js +0 -2
  606. package/src/nz/co/siliconst/ui5/metaui/plugins/TimePlugin.js.map +0 -1
  607. package/src/nz/co/siliconst/ui5/metaui/plugins/TimePlugin.ts +0 -71
@@ -3,15 +3,35 @@
3
3
  * @description Evaluates dynamic rules to alter the schema in real-time.
4
4
  */
5
5
 
6
- import { EventBus } from "./EventBus";
6
+ import { IPlugin } from "../interfaces/IPlugin";
7
7
  import { ISchema } from "../interfaces/ISchema";
8
- import { IFieldChangeEvent } from "../interfaces/IEventBus";
8
+ import { Registry } from "./Registry";
9
+
10
+ export type ConditionOperator = (a: any, b: any) => boolean;
11
+
12
+ export const OperatorRegistry = new Registry<ConditionOperator>("Operators");
13
+
14
+ // Register basic default operators
15
+ OperatorRegistry.register("==", (a, b) => a == b);
16
+ OperatorRegistry.register("===", (a, b) => a === b);
17
+ OperatorRegistry.register("!=", (a, b) => a != b);
18
+ OperatorRegistry.register("!==", (a, b) => a !== b);
19
+ OperatorRegistry.register(">", (a, b) => a > b);
20
+ OperatorRegistry.register("<", (a, b) => a < b);
21
+ OperatorRegistry.register(">=", (a, b) => a >= b);
22
+ OperatorRegistry.register("<=", (a, b) => a <= b);
9
23
 
10
24
  /**
11
- * Engine that listens to the EventBus and evaluates cross-field dependencies.
25
+ * Engine that listens to the EventBus and evaluates cross-field dependencies (e.g. visibleOn, enabledOn).
26
+ * It delegates actual evaluations to the configurable `OperatorRegistry`.
27
+ *
28
+ * @namespace nz.co.siliconst.ui5.metaui.core
29
+ * @public
12
30
  */
13
31
  export class ConditionEngine {
32
+ /** The active form schema being evaluated. */
14
33
  private schema: ISchema;
34
+ /** The cached bound event handler reference for strict garbage collection. */
15
35
  private boundHandler: (event: IFieldChangeEvent) => void;
16
36
 
17
37
  /**
@@ -20,30 +40,36 @@ export class ConditionEngine {
20
40
  */
21
41
  constructor(schema: ISchema) {
22
42
  this.schema = schema;
23
- this.boundHandler = this.handleEvent.bind(this);
24
- this.initializeListeners();
25
43
  }
26
44
 
45
+
46
+
47
+ /** Internal map tracking active plugins against their binding paths for real-time state updates. */
48
+ private plugins: Map<string, IPlugin> = new Map();
49
+
27
50
  /**
28
- * Subscribes to the EventBus for real-time field change interception.
51
+ * Internal handler to evaluate business rules when a field is updated.
52
+ * @param fieldKey The key of the field that was changed
53
+ * @param isValid Whether the field is currently valid
29
54
  */
30
- private initializeListeners(): void {
31
- EventBus.getInstance().subscribe(this.boundHandler);
55
+ public handleEvent(fieldKey: string, isValid: boolean): void {
56
+ // Evaluate conditions via registered operators if a rule system is added later
32
57
  }
33
58
 
34
59
  /**
35
- * Internal handler to evaluate business rules when a field is updated.
36
- * @param event The structured change event.
60
+ * Registers a rendered plugin so the condition engine can push dynamic state updates to it.
61
+ *
62
+ * @param bindingPath The JSON path representing the field within the payload.
63
+ * @param plugin The instantiated plugin handling the field.
37
64
  */
38
- private handleEvent(event: IFieldChangeEvent): void {
39
- // Architecture hook: Logic to evaluate conditions against the schema
40
- // and update plugin properties will be injected here in later phases.
65
+ public registerPlugin(bindingPath: string, plugin: IPlugin): void {
66
+ this.plugins.set(bindingPath, plugin);
41
67
  }
42
68
 
43
69
  /**
44
- * Cleans up EventBus listeners to prevent memory leaks on destruction.
70
+ * Cleans up listeners to prevent memory leaks on destruction.
45
71
  */
46
72
  public destroy(): void {
47
- EventBus.getInstance().unsubscribe(this.boundHandler);
73
+ this.plugins.clear();
48
74
  }
49
75
  }
@@ -0,0 +1,78 @@
1
+ sap.ui.define([], function () {
2
+ "use strict";
3
+
4
+ /**
5
+ * @file DefaultLayoutGenerator.ts
6
+ * @description Automatically synthesizes a default UI layout for schemas that lack an explicit mapping.
7
+ */
8
+
9
+ /**
10
+ * Encapsulates the logic to dynamically build a safe, default layout orchestration
11
+ * when the developer or backend fails to provide an explicit `uiLayout`.
12
+ *
13
+ * By elevating this into a dedicated utility, we avoid polluting layout engines
14
+ * (like FormLayout or TableLayout) with structural inference responsibilities.
15
+ *
16
+ * @namespace nz.co.siliconst.ui5.metaui.core
17
+ * @public
18
+ */
19
+ class DefaultLayoutGenerator {
20
+ /**
21
+ * Inspects a schema. If it has properties but no `uiLayout`, it synthesizes a default.
22
+ * @param schema The ISchema dictionary.
23
+ * @returns boolean True if a layout was synthesized, false if it already existed or was empty.
24
+ */
25
+ static ensureLayout(schema) {
26
+ // If it already has a valid array, do nothing
27
+ if (schema.uiLayout && Array.isArray(schema.uiLayout) && schema.uiLayout.length > 0) {
28
+ return false;
29
+ }
30
+ const isArray = schema.type === "array";
31
+ const props = isArray ? schema.items?.properties : schema.properties;
32
+ if (!props || Object.keys(props).length === 0) {
33
+ return false; // Nothing to map
34
+ }
35
+ const elements = this.generateElementsFromProperties(props, "#/properties");
36
+ if (isArray) {
37
+ // Table layouts expect an array of flat Controls at the root uiLayout
38
+ // For tables, we flatten the deep elements or just render the root level
39
+ // To keep it safe, we'll just use the flat elements for tables
40
+ schema.uiLayout = elements.filter(e => e.type === "Control");
41
+ } else {
42
+ // Form layouts expect a grouped structure
43
+ schema.uiLayout = [{
44
+ type: "Group",
45
+ label: schema.title,
46
+ elements: elements
47
+ }];
48
+ }
49
+ return true;
50
+ }
51
+ static generateElementsFromProperties(props, basePath) {
52
+ const elements = [];
53
+ for (const key of Object.keys(props)) {
54
+ const prop = props[key];
55
+ const currentPath = `${basePath}/${key}`;
56
+ if (prop.type === "object" && prop.properties) {
57
+ elements.push({
58
+ type: "Group",
59
+ label: prop.ui?.label || key,
60
+ elements: this.generateElementsFromProperties(prop.properties, `${currentPath}/properties`)
61
+ });
62
+ } else {
63
+ elements.push({
64
+ type: "Control",
65
+ scope: currentPath
66
+ });
67
+ }
68
+ }
69
+ return elements;
70
+ }
71
+ }
72
+ var __exports = {
73
+ __esModule: true
74
+ };
75
+ __exports.DefaultLayoutGenerator = DefaultLayoutGenerator;
76
+ return __exports;
77
+ });
78
+ //# sourceMappingURL=DefaultLayoutGenerator-dbg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultLayoutGenerator-dbg.js","names":["DefaultLayoutGenerator","ensureLayout","schema","uiLayout","Array","isArray","length","type","props","items","properties","Object","keys","elements","generateElementsFromProperties","filter","e","label","title","basePath","key","prop","currentPath","push","ui","scope","__exports","__esModule"],"sources":["DefaultLayoutGenerator.ts"],"sourcesContent":["/**\n * @file DefaultLayoutGenerator.ts\n * @description Automatically synthesizes a default UI layout for schemas that lack an explicit mapping.\n */\n\nimport { ISchema, ILayoutElement } from \"../interfaces/ISchema\";\n\n/**\n * Encapsulates the logic to dynamically build a safe, default layout orchestration\n * when the developer or backend fails to provide an explicit `uiLayout`.\n * \n * By elevating this into a dedicated utility, we avoid polluting layout engines\n * (like FormLayout or TableLayout) with structural inference responsibilities.\n * \n * @namespace nz.co.siliconst.ui5.metaui.core\n * @public\n */\nexport class DefaultLayoutGenerator {\n /**\n * Inspects a schema. If it has properties but no `uiLayout`, it synthesizes a default.\n * @param schema The ISchema dictionary.\n * @returns boolean True if a layout was synthesized, false if it already existed or was empty.\n */\n public static ensureLayout(schema: ISchema): boolean {\n // If it already has a valid array, do nothing\n if (schema.uiLayout && Array.isArray(schema.uiLayout) && schema.uiLayout.length > 0) {\n return false;\n }\n\n const isArray = schema.type === \"array\";\n const props = isArray ? schema.items?.properties : schema.properties;\n\n if (!props || Object.keys(props).length === 0) {\n return false; // Nothing to map\n }\n\n const elements = this.generateElementsFromProperties(props, \"#/properties\");\n\n if (isArray) {\n // Table layouts expect an array of flat Controls at the root uiLayout\n // For tables, we flatten the deep elements or just render the root level\n // To keep it safe, we'll just use the flat elements for tables\n schema.uiLayout = elements.filter(e => e.type === \"Control\");\n } else {\n // Form layouts expect a grouped structure\n schema.uiLayout = [\n {\n type: \"Group\",\n label: schema.title,\n elements: elements\n }\n ];\n }\n\n return true;\n }\n\n private static generateElementsFromProperties(props: any, basePath: string): ILayoutElement[] {\n const elements: ILayoutElement[] = [];\n for (const key of Object.keys(props)) {\n const prop = props[key];\n const currentPath = `${basePath}/${key}`;\n\n if (prop.type === \"object\" && prop.properties) {\n elements.push({\n type: \"Group\",\n label: prop.ui?.label || key,\n elements: this.generateElementsFromProperties(prop.properties, `${currentPath}/properties`)\n });\n } else {\n elements.push({\n type: \"Control\",\n scope: currentPath\n });\n }\n }\n return elements;\n }\n}\n"],"mappings":";;;EAAA;AACA;AACA;AACA;;EAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACO,MAAMA,sBAAsB,CAAC;IAChC;AACJ;AACA;AACA;AACA;IACI,OAAcC,YAAYA,CAACC,MAAe,EAAW;MACjD;MACA,IAAIA,MAAM,CAACC,QAAQ,IAAIC,KAAK,CAACC,OAAO,CAACH,MAAM,CAACC,QAAQ,CAAC,IAAID,MAAM,CAACC,QAAQ,CAACG,MAAM,GAAG,CAAC,EAAE;QACjF,OAAO,KAAK;MAChB;MAEA,MAAMD,OAAO,GAAGH,MAAM,CAACK,IAAI,KAAK,OAAO;MACvC,MAAMC,KAAK,GAAGH,OAAO,GAAGH,MAAM,CAACO,KAAK,EAAEC,UAAU,GAAGR,MAAM,CAACQ,UAAU;MAEpE,IAAI,CAACF,KAAK,IAAIG,MAAM,CAACC,IAAI,CAACJ,KAAK,CAAC,CAACF,MAAM,KAAK,CAAC,EAAE;QAC3C,OAAO,KAAK,CAAC,CAAC;MAClB;MAEA,MAAMO,QAAQ,GAAG,IAAI,CAACC,8BAA8B,CAACN,KAAK,EAAE,cAAc,CAAC;MAE3E,IAAIH,OAAO,EAAE;QACT;QACA;QACA;QACAH,MAAM,CAACC,QAAQ,GAAGU,QAAQ,CAACE,MAAM,CAACC,CAAC,IAAIA,CAAC,CAACT,IAAI,KAAK,SAAS,CAAC;MAChE,CAAC,MAAM;QACH;QACAL,MAAM,CAACC,QAAQ,GAAG,CACd;UACII,IAAI,EAAE,OAAO;UACbU,KAAK,EAAEf,MAAM,CAACgB,KAAK;UACnBL,QAAQ,EAAEA;QACd,CAAC,CACJ;MACL;MAEA,OAAO,IAAI;IACf;IAEA,OAAeC,8BAA8BA,CAACN,KAAU,EAAEW,QAAgB,EAAoB;MAC1F,MAAMN,QAA0B,GAAG,EAAE;MACrC,KAAK,MAAMO,GAAG,IAAIT,MAAM,CAACC,IAAI,CAACJ,KAAK,CAAC,EAAE;QAClC,MAAMa,IAAI,GAAGb,KAAK,CAACY,GAAG,CAAC;QACvB,MAAME,WAAW,GAAG,GAAGH,QAAQ,IAAIC,GAAG,EAAE;QAExC,IAAIC,IAAI,CAACd,IAAI,KAAK,QAAQ,IAAIc,IAAI,CAACX,UAAU,EAAE;UAC3CG,QAAQ,CAACU,IAAI,CAAC;YACVhB,IAAI,EAAE,OAAO;YACbU,KAAK,EAAEI,IAAI,CAACG,EAAE,EAAEP,KAAK,IAAIG,GAAG;YAC5BP,QAAQ,EAAE,IAAI,CAACC,8BAA8B,CAACO,IAAI,CAACX,UAAU,EAAE,GAAGY,WAAW,aAAa;UAC9F,CAAC,CAAC;QACN,CAAC,MAAM;UACHT,QAAQ,CAACU,IAAI,CAAC;YACVhB,IAAI,EAAE,SAAS;YACfkB,KAAK,EAAEH;UACX,CAAC,CAAC;QACN;MACJ;MACA,OAAOT,QAAQ;IACnB;EACJ;EAAC,IAAAa,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAA1B,sBAAA,GAAAA,sBAAA;EAAA,OAAA0B,SAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,27 @@
1
+ declare module "nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator" {
2
+ /**
3
+ * @file DefaultLayoutGenerator.ts
4
+ * @description Automatically synthesizes a default UI layout for schemas that lack an explicit mapping.
5
+ */
6
+ import { ISchema } from "nz/co/siliconst/ui5/metaui/interfaces/ISchema";
7
+ /**
8
+ * Encapsulates the logic to dynamically build a safe, default layout orchestration
9
+ * when the developer or backend fails to provide an explicit `uiLayout`.
10
+ *
11
+ * By elevating this into a dedicated utility, we avoid polluting layout engines
12
+ * (like FormLayout or TableLayout) with structural inference responsibilities.
13
+ *
14
+ * @namespace nz.co.siliconst.ui5.metaui.core
15
+ * @public
16
+ */
17
+ export class DefaultLayoutGenerator {
18
+ /**
19
+ * Inspects a schema. If it has properties but no `uiLayout`, it synthesizes a default.
20
+ * @param schema The ISchema dictionary.
21
+ * @returns boolean True if a layout was synthesized, false if it already existed or was empty.
22
+ */
23
+ static ensureLayout(schema: ISchema): boolean;
24
+ private static generateElementsFromProperties;
25
+ }
26
+ }
27
+ //# sourceMappingURL=DefaultLayoutGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultLayoutGenerator.d.ts","sourceRoot":"../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,wDAAwD,CAAC;IACxE;;;OAGG;IAEH,OAAO,EAAE,OAAO,EAAkB,MAAM,+CAA+C,CAAC;IAExF;;;;;;;;;OASG;IACH,MAAa,sBAAsB;QAC/B;;;;WAIG;eACW,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO;QAkCpD,OAAO,CAAC,MAAM,CAAC,8BAA8B;KAqBhD;CAEA"}
@@ -0,0 +1,2 @@
1
+ sap.ui.define([],function(){"use strict";class e{static ensureLayout(e){if(e.uiLayout&&Array.isArray(e.uiLayout)&&e.uiLayout.length>0){return false}const t=e.type==="array";const r=t?e.items?.properties:e.properties;if(!r||Object.keys(r).length===0){return false}const s=this.generateElementsFromProperties(r,"#/properties");if(t){e.uiLayout=s.filter(e=>e.type==="Control")}else{e.uiLayout=[{type:"Group",label:e.title,elements:s}]}return true}static generateElementsFromProperties(e,t){const r=[];for(const s of Object.keys(e)){const o=e[s];const i=`${t}/${s}`;if(o.type==="object"&&o.properties){r.push({type:"Group",label:o.ui?.label||s,elements:this.generateElementsFromProperties(o.properties,`${i}/properties`)})}else{r.push({type:"Control",scope:i})}}return r}}var t={__esModule:true};t.DefaultLayoutGenerator=e;return t});
2
+ //# sourceMappingURL=DefaultLayoutGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultLayoutGenerator.js","names":["DefaultLayoutGenerator","ensureLayout","schema","uiLayout","Array","isArray","length","type","props","items","properties","Object","keys","elements","this","generateElementsFromProperties","filter","e","label","title","basePath","key","prop","currentPath","push","ui","scope","__exports","__esModule"],"sources":["DefaultLayoutGenerator.ts"],"sourcesContent":["/**\n * @file DefaultLayoutGenerator.ts\n * @description Automatically synthesizes a default UI layout for schemas that lack an explicit mapping.\n */\n\nimport { ISchema, ILayoutElement } from \"../interfaces/ISchema\";\n\n/**\n * Encapsulates the logic to dynamically build a safe, default layout orchestration\n * when the developer or backend fails to provide an explicit `uiLayout`.\n * \n * By elevating this into a dedicated utility, we avoid polluting layout engines\n * (like FormLayout or TableLayout) with structural inference responsibilities.\n * \n * @namespace nz.co.siliconst.ui5.metaui.core\n * @public\n */\nexport class DefaultLayoutGenerator {\n /**\n * Inspects a schema. If it has properties but no `uiLayout`, it synthesizes a default.\n * @param schema The ISchema dictionary.\n * @returns boolean True if a layout was synthesized, false if it already existed or was empty.\n */\n public static ensureLayout(schema: ISchema): boolean {\n // If it already has a valid array, do nothing\n if (schema.uiLayout && Array.isArray(schema.uiLayout) && schema.uiLayout.length > 0) {\n return false;\n }\n\n const isArray = schema.type === \"array\";\n const props = isArray ? schema.items?.properties : schema.properties;\n\n if (!props || Object.keys(props).length === 0) {\n return false; // Nothing to map\n }\n\n const elements = this.generateElementsFromProperties(props, \"#/properties\");\n\n if (isArray) {\n // Table layouts expect an array of flat Controls at the root uiLayout\n // For tables, we flatten the deep elements or just render the root level\n // To keep it safe, we'll just use the flat elements for tables\n schema.uiLayout = elements.filter(e => e.type === \"Control\");\n } else {\n // Form layouts expect a grouped structure\n schema.uiLayout = [\n {\n type: \"Group\",\n label: schema.title,\n elements: elements\n }\n ];\n }\n\n return true;\n }\n\n private static generateElementsFromProperties(props: any, basePath: string): ILayoutElement[] {\n const elements: ILayoutElement[] = [];\n for (const key of Object.keys(props)) {\n const prop = props[key];\n const currentPath = `${basePath}/${key}`;\n\n if (prop.type === \"object\" && prop.properties) {\n elements.push({\n type: \"Group\",\n label: prop.ui?.label || key,\n elements: this.generateElementsFromProperties(prop.properties, `${currentPath}/properties`)\n });\n } else {\n elements.push({\n type: \"Control\",\n scope: currentPath\n });\n }\n }\n return elements;\n }\n}\n"],"mappings":"yCAiBO,MAAMA,EAMT,mBAAcC,CAAaC,GAEvB,GAAIA,EAAOC,UAAYC,MAAMC,QAAQH,EAAOC,WAAaD,EAAOC,SAASG,OAAS,EAAG,CACjF,OAAO,KACX,CAEA,MAAMD,EAAUH,EAAOK,OAAS,QAChC,MAAMC,EAAQH,EAAUH,EAAOO,OAAOC,WAAaR,EAAOQ,WAE1D,IAAKF,GAASG,OAAOC,KAAKJ,GAAOF,SAAW,EAAG,CAC3C,OAAO,KACX,CAEA,MAAMO,EAAWC,KAAKC,+BAA+BP,EAAO,gBAE5D,GAAIH,EAAS,CAITH,EAAOC,SAAWU,EAASG,OAAOC,GAAKA,EAAEV,OAAS,UACtD,KAAO,CAEHL,EAAOC,SAAW,CACd,CACII,KAAM,QACNW,MAAOhB,EAAOiB,MACdN,SAAUA,GAGtB,CAEA,OAAO,IACX,CAEA,qCAAeE,CAA+BP,EAAYY,GACtD,MAAMP,EAA6B,GACnC,IAAK,MAAMQ,KAAOV,OAAOC,KAAKJ,GAAQ,CAClC,MAAMc,EAAOd,EAAMa,GACnB,MAAME,EAAc,GAAGH,KAAYC,IAEnC,GAAIC,EAAKf,OAAS,UAAYe,EAAKZ,WAAY,CAC3CG,EAASW,KAAK,CACVjB,KAAM,QACNW,MAAOI,EAAKG,IAAIP,OAASG,EACzBR,SAAUC,KAAKC,+BAA+BO,EAAKZ,WAAY,GAAGa,iBAE1E,KAAO,CACHV,EAASW,KAAK,CACVjB,KAAM,UACNmB,MAAOH,GAEf,CACJ,CACA,OAAOV,CACX,EACH,IAAAc,EAAA,CAAAC,WAAA,MAAAD,EAAA3B,yBAAA,OAAA2B,CAAA","ignoreList":[]}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * @file DefaultLayoutGenerator.ts
3
+ * @description Automatically synthesizes a default UI layout for schemas that lack an explicit mapping.
4
+ */
5
+
6
+ import { ISchema, ILayoutElement } from "../interfaces/ISchema";
7
+
8
+ /**
9
+ * Encapsulates the logic to dynamically build a safe, default layout orchestration
10
+ * when the developer or backend fails to provide an explicit `uiLayout`.
11
+ *
12
+ * By elevating this into a dedicated utility, we avoid polluting layout engines
13
+ * (like FormLayout or TableLayout) with structural inference responsibilities.
14
+ *
15
+ * @namespace nz.co.siliconst.ui5.metaui.core
16
+ * @public
17
+ */
18
+ export class DefaultLayoutGenerator {
19
+ /**
20
+ * Inspects a schema. If it has properties but no `uiLayout`, it synthesizes a default.
21
+ * @param schema The ISchema dictionary.
22
+ * @returns boolean True if a layout was synthesized, false if it already existed or was empty.
23
+ */
24
+ public static ensureLayout(schema: ISchema): boolean {
25
+ // If it already has a valid array, do nothing
26
+ if (schema.uiLayout && Array.isArray(schema.uiLayout) && schema.uiLayout.length > 0) {
27
+ return false;
28
+ }
29
+
30
+ const isArray = schema.type === "array";
31
+ const props = isArray ? schema.items?.properties : schema.properties;
32
+
33
+ if (!props || Object.keys(props).length === 0) {
34
+ return false; // Nothing to map
35
+ }
36
+
37
+ const elements = this.generateElementsFromProperties(props, "#/properties");
38
+
39
+ if (isArray) {
40
+ // Table layouts expect an array of flat Controls at the root uiLayout
41
+ // For tables, we flatten the deep elements or just render the root level
42
+ // To keep it safe, we'll just use the flat elements for tables
43
+ schema.uiLayout = elements.filter(e => e.type === "Control");
44
+ } else {
45
+ // Form layouts expect a grouped structure
46
+ schema.uiLayout = [
47
+ {
48
+ type: "Group",
49
+ label: schema.title,
50
+ elements: elements
51
+ }
52
+ ];
53
+ }
54
+
55
+ return true;
56
+ }
57
+
58
+ private static generateElementsFromProperties(props: any, basePath: string): ILayoutElement[] {
59
+ const elements: ILayoutElement[] = [];
60
+ for (const key of Object.keys(props)) {
61
+ const prop = props[key];
62
+ const currentPath = `${basePath}/${key}`;
63
+
64
+ if (prop.type === "object" && prop.properties) {
65
+ elements.push({
66
+ type: "Group",
67
+ label: prop.ui?.label || key,
68
+ elements: this.generateElementsFromProperties(prop.properties, `${currentPath}/properties`)
69
+ });
70
+ } else {
71
+ elements.push({
72
+ type: "Control",
73
+ scope: currentPath
74
+ });
75
+ }
76
+ }
77
+ return elements;
78
+ }
79
+ }
@@ -1,4 +1,4 @@
1
- sap.ui.define(["./ConditionEngine", "sap/m/VBox"], function (___ConditionEngine, VBox) {
1
+ sap.ui.define(["./ConditionEngine", "./PluginRegistry", "sap/m/Text", "../utils/Logger", "./DefaultLayoutGenerator", "sap/ui/core/Messaging"], function (___ConditionEngine, ___PluginRegistry, Text, ___utils_Logger, ___DefaultLayoutGenerator, Messaging) {
2
2
  "use strict";
3
3
 
4
4
  /**
@@ -6,70 +6,186 @@ sap.ui.define(["./ConditionEngine", "sap/m/VBox"], function (___ConditionEngine,
6
6
  * @description The central orchestrator that routes data between the Layout Factory and Plugin Registry (v2).
7
7
  */
8
8
  const ConditionEngine = ___ConditionEngine["ConditionEngine"];
9
+ const PluginRegistry = ___PluginRegistry["PluginRegistry"];
10
+ const Logger = ___utils_Logger["Logger"];
11
+ const DefaultLayoutGenerator = ___DefaultLayoutGenerator["DefaultLayoutGenerator"];
12
+ /**
13
+ * The Engine is responsible for translating a normalized schema into a physical UI5 layout.
14
+ * It delegates layout generation to the configured `LayoutManager` and field generation to the `PluginRegistry`.
15
+ * It is NOT a God Class; it strictly routes execution flow and tracks active plugins for validation.
16
+ * It embodies the "Plugin-First Philosophy" by routing all complex field and layout rendering
17
+ * through discrete, decoupled plugins rather than handling native overrides.
18
+ *
19
+ * @namespace nz.co.siliconst.ui5.metaui.core
20
+ * @public
21
+ */
9
22
  class Engine {
23
+ /** Global registry of all available layout strategies (e.g. Form, Table, Wizard). */
24
+
25
+ /** Handles dynamic conditional logic across the active form. */
10
26
  conditionEngine = null;
27
+
28
+ /** Array of all instantiated plugins generated during the current build. */
11
29
  activePlugins = [];
12
- build(schema, layoutManager, modelName = "meta") {
30
+
31
+ /** Deterministic scope ID injected by the host control to prevent clone collisions. */
32
+
33
+ /** Tracks whether the entire engine is running in Read-Only Display mode. */
34
+ isDisplayMode = false;
35
+ constructor(displayMode = false) {
36
+ this.isDisplayMode = displayMode;
37
+ }
38
+
39
+ /**
40
+ * Bootstraps the layout generation process by resolving the correct layout strategy.
41
+ *
42
+ * @param schema The normalized JSON schema representing the view.
43
+ * @param model The active StateManager JSONModel instance.
44
+ * @param modelName The UI5 model alias used for isolation.
45
+ * @param onSubmit Callback fired when form is submitted.
46
+ * @param engineScopeId Deterministic scope ID for this engine instance.
47
+ * @param onChange Callback fired when field values change.
48
+ * @returns The generated root UI5 Control container.
49
+ */
50
+ build(schema, model, modelName = "meta", onSubmit, engineScopeId, onChange) {
13
51
  this.conditionEngine = new ConditionEngine(schema);
14
52
  this.activePlugins = [];
15
- const trackPlugin = plugin => this.activePlugins.push(plugin);
16
-
17
- // Implicit layout routing based on root type
18
- if (schema.type === "array") {
19
- if (!schema.items) {
20
- throw new Error("[MetaUI] Array schema must define 'items'.");
53
+ this.activeModel = model;
54
+ this.engineScopeId = engineScopeId;
55
+ this.onChange = (isValid, fieldKey, errorMessage, controlId) => {
56
+ if (this.conditionEngine && fieldKey) {
57
+ this.conditionEngine.handleEvent(fieldKey, isValid);
21
58
  }
22
- return layoutManager.renderTable(schema.items, `${modelName}>/`, schema.title);
23
- }
24
- if (schema.type === "object") {
25
- const container = new VBox({
26
- renderType: "Bare"
59
+ if (onChange) {
60
+ onChange(isValid, fieldKey, errorMessage, controlId);
61
+ }
62
+ };
63
+ try {
64
+ // Intercept and synthesize a default layout if the developer/backend failed to provide one
65
+ if (DefaultLayoutGenerator.ensureLayout(schema)) {
66
+ Logger.warn("[MetaUI Engine] Missing 'uiLayout' array in schema. Synthesized a default layout mapping to prevent a blank render.");
67
+ }
68
+ const layoutStrategy = schema.layoutStrategy || (schema.type === "array" ? "table" : "form");
69
+ const layoutManager = Engine.layoutRegistry.getStrict(layoutStrategy);
70
+ return layoutManager.render(schema, modelName, this, onSubmit);
71
+ } catch (error) {
72
+ const msg = error.message;
73
+ Logger.error("[MetaUI Engine] Critical error during layout generation", msg);
74
+ Logger.showErrorPopup(`Engine failed to generate the layout.\n\nDetails: ${msg}`);
75
+ return new Text({
76
+ text: "Critical Layout Error"
27
77
  });
28
- const props = schema.properties || {};
78
+ }
79
+ }
29
80
 
30
- // Separate scalar properties (form fields) from root array properties (inline tables)
31
- const formProps = {};
32
- const tableProps = [];
33
- for (const key of Object.keys(props)) {
34
- if (props[key].type === "array") {
35
- tableProps.push({
36
- key,
37
- meta: props[key]
38
- });
39
- } else {
40
- formProps[key] = props[key];
41
- }
81
+ /**
82
+ * Instantiates the correct plugin for a specific field based on type and widget hints,
83
+ * and tracks the plugin for global validation.
84
+ *
85
+ * @param fieldMeta The metadata schema specific to the field.
86
+ * @param bindingPath The JSON path representing the field within the payload.
87
+ * @param modelName The UI5 JSONModel name used for data binding.
88
+ * @returns The generated UI5 Control for the field.
89
+ */
90
+ generateField(fieldMeta, bindingPath, modelName, isTemplate = false) {
91
+ try {
92
+ const plugin = PluginRegistry.getInstance().getPlugin(fieldMeta.type || "string", fieldMeta.ui?.widget);
93
+ plugin.setDisplayMode(this.isDisplayMode);
94
+ if (!isTemplate) {
95
+ this.activePlugins.push({
96
+ plugin,
97
+ path: bindingPath
98
+ });
42
99
  }
43
-
44
- // Render the top-level form if there are scalar fields
45
- if (Object.keys(formProps).length > 0) {
46
- container.addItem(layoutManager.renderForm(formProps, modelName, schema.title, trackPlugin));
100
+ const scopeId = isTemplate ? undefined : this.engineScopeId;
101
+ const control = plugin.render(fieldMeta, bindingPath, modelName, scopeId, this.onChange);
102
+ if (this.conditionEngine) {
103
+ this.conditionEngine.registerPlugin(bindingPath, plugin);
47
104
  }
105
+ return control;
106
+ } catch (error) {
107
+ const msg = error.message;
108
+ Logger.error(`[MetaUI Engine] Failed to generate field at ${bindingPath}`, msg);
109
+ Logger.showErrorPopup(`Failed to generate field '${bindingPath}'.\n\nDetails: ${msg}`);
110
+ return new Text({
111
+ text: `[Error generating field ${bindingPath}]`
112
+ });
113
+ }
114
+ }
48
115
 
49
- // Render root-level arrays as massive native tables below the form
50
- for (const tableProp of tableProps) {
51
- if (tableProp.meta.items) {
52
- container.addItem(layoutManager.renderTable(tableProp.meta.items, `${modelName}>/${tableProp.key}`, tableProp.meta.ui?.label || tableProp.key));
53
- }
54
- }
55
- return container;
116
+ /**
117
+ * Generates a sub-layout (like an embedded table or nested form) without
118
+ * destroying the current Engine state or Condition tracking.
119
+ *
120
+ * @param schema The normalized JSON schema representing the view.
121
+ * @param modelName The UI5 JSONModel name used for data binding (defaults to "meta").
122
+ * @param bindingPath Optional path to bind the sub-layout to a specific array/object property.
123
+ * @returns The generated root UI5 Control container.
124
+ */
125
+ generateLayout(schema, modelName, bindingPath) {
126
+ try {
127
+ const layoutStrategy = schema.layoutStrategy || (schema.type === "array" ? "table" : "form");
128
+ const layoutManager = Engine.layoutRegistry.getStrict(layoutStrategy);
129
+ return layoutManager.render(schema, modelName, this, undefined, bindingPath);
130
+ } catch (error) {
131
+ const msg = error.message;
132
+ Logger.error(`[MetaUI Engine] Critical error generating sub-layout for ${bindingPath}`, msg);
133
+ Logger.showErrorPopup(`Engine failed to generate a sub-layout.\n\nDetails: ${msg}`);
134
+ return new Text({
135
+ text: "Critical Sub-Layout Error"
136
+ });
56
137
  }
57
- throw new Error(`[MetaUI] Unsupported schema type: ${schema.type}`);
58
138
  }
139
+
140
+ /**
141
+ * Iterates through all active plugins and triggers their internal validation pipelines.
142
+ *
143
+ * @returns {IPluginValidationResult[]} Array of validation error objects. Empty array if valid.
144
+ */
59
145
  validateAll() {
60
- let isValid = true;
61
- for (const plugin of this.activePlugins) {
62
- if (!plugin.validate()) {
63
- isValid = false;
146
+ const errors = [];
147
+ for (const item of this.activePlugins) {
148
+ const result = item.plugin.validate();
149
+ if (!result.isValid) {
150
+ // Ensure the path is bound to the error so GeneratorHost knows where to target it
151
+ result.fieldKey = result.fieldKey || item.path.replace(/^\//, "");
152
+ errors.push(result);
153
+ // Add console log to find which plugin fails silently
154
+ Logger.error("[MetaUI Validation] Plugin failed validation silently:", item.path || item.plugin.constructor.name);
64
155
  }
65
156
  }
66
- return isValid;
157
+ return errors;
67
158
  }
159
+
160
+ /**
161
+ * Cleans up internal state and destroys the condition engine to prevent memory leaks.
162
+ */
68
163
  destroy() {
69
164
  if (this.conditionEngine) {
70
165
  this.conditionEngine.destroy();
71
166
  this.conditionEngine = null;
72
167
  }
168
+
169
+ // ------------------------------------------------------------------------
170
+ // Ghost Error Prevention
171
+ // Flush MessageManager for active plugins before destroying their controls
172
+ // ------------------------------------------------------------------------
173
+ const messageManager = Messaging;
174
+ const existingMessages = messageManager.getMessageModel().getData();
175
+ const messagesToRemove = [];
176
+ for (const item of this.activePlugins) {
177
+ if (this.activeModel) {
178
+ const targetPath = `/${item.path.replace(/^\//, "")}`;
179
+ const matched = existingMessages.filter(msg => msg.getTarget() === targetPath && msg.getMessageProcessor() && msg.getMessageProcessor().getId() === this.activeModel.getId());
180
+ messagesToRemove.push(...matched);
181
+ }
182
+ if (typeof item.plugin.destroy === "function") {
183
+ item.plugin.destroy();
184
+ }
185
+ }
186
+ if (messagesToRemove.length > 0) {
187
+ messageManager.removeMessages(messagesToRemove);
188
+ }
73
189
  this.activePlugins = [];
74
190
  }
75
191
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Engine-dbg.js","names":["ConditionEngine","___ConditionEngine","Engine","conditionEngine","activePlugins","build","schema","layoutManager","modelName","trackPlugin","plugin","push","type","items","Error","renderTable","title","container","VBox","renderType","props","properties","formProps","tableProps","key","Object","keys","meta","length","addItem","renderForm","tableProp","ui","label","validateAll","isValid","validate","destroy","__exports","__esModule"],"sources":["Engine.ts"],"sourcesContent":["/**\n * @file Engine.ts\n * @description The central orchestrator that routes data between the Layout Factory and Plugin Registry (v2).\n */\n\nimport { ISchema, IPropertyMetadata } from \"../interfaces/ISchema\";\nimport { ILayoutManager } from \"../interfaces/ILayoutManager\";\nimport { IPlugin } from \"../interfaces/IPlugin\";\nimport { ConditionEngine } from \"./ConditionEngine\";\nimport Control from \"sap/ui/core/Control\";\nimport VBox from \"sap/m/VBox\";\n\nexport class Engine {\n private conditionEngine: ConditionEngine | null = null;\n private activePlugins: IPlugin[] = [];\n \n public build(schema: ISchema, layoutManager: ILayoutManager, modelName: string = \"meta\"): Control {\n this.conditionEngine = new ConditionEngine(schema);\n this.activePlugins = [];\n\n const trackPlugin = (plugin: IPlugin) => this.activePlugins.push(plugin);\n \n // Implicit layout routing based on root type\n if (schema.type === \"array\") {\n if (!schema.items) {\n throw new Error(\"[MetaUI] Array schema must define 'items'.\");\n }\n return layoutManager.renderTable(schema.items, `${modelName}>/`, schema.title);\n }\n \n if (schema.type === \"object\") {\n const container = new VBox({ renderType: \"Bare\" });\n const props = schema.properties || {};\n \n // Separate scalar properties (form fields) from root array properties (inline tables)\n const formProps: Record<string, IPropertyMetadata> = {};\n const tableProps: { key: string; meta: IPropertyMetadata }[] = [];\n \n for (const key of Object.keys(props)) {\n if (props[key].type === \"array\") {\n tableProps.push({ key, meta: props[key] });\n } else {\n formProps[key] = props[key];\n }\n }\n \n // Render the top-level form if there are scalar fields\n if (Object.keys(formProps).length > 0) {\n container.addItem(layoutManager.renderForm(formProps, modelName, schema.title, trackPlugin));\n }\n \n // Render root-level arrays as massive native tables below the form\n for (const tableProp of tableProps) {\n if (tableProp.meta.items) {\n container.addItem(layoutManager.renderTable(tableProp.meta.items, `${modelName}>/${tableProp.key}`, tableProp.meta.ui?.label || tableProp.key));\n }\n }\n \n return container;\n }\n \n throw new Error(`[MetaUI] Unsupported schema type: ${schema.type}`);\n }\n\n public validateAll(): boolean {\n let isValid = true;\n for (const plugin of this.activePlugins) {\n if (!plugin.validate()) {\n isValid = false;\n }\n }\n return isValid;\n }\n\n public destroy(): void {\n if (this.conditionEngine) {\n this.conditionEngine.destroy();\n this.conditionEngine = null;\n }\n this.activePlugins = [];\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Engine-dbg.js","names":["ConditionEngine","___ConditionEngine","PluginRegistry","___PluginRegistry","Logger","___utils_Logger","DefaultLayoutGenerator","___DefaultLayoutGenerator","Engine","conditionEngine","activePlugins","isDisplayMode","constructor","displayMode","build","schema","model","modelName","onSubmit","engineScopeId","onChange","activeModel","isValid","fieldKey","errorMessage","controlId","handleEvent","ensureLayout","warn","layoutStrategy","type","layoutManager","layoutRegistry","getStrict","render","error","msg","message","showErrorPopup","Text","text","generateField","fieldMeta","bindingPath","isTemplate","plugin","getInstance","getPlugin","ui","widget","setDisplayMode","push","path","scopeId","undefined","control","registerPlugin","generateLayout","validateAll","errors","item","result","validate","replace","name","destroy","messageManager","Messaging","existingMessages","getMessageModel","getData","messagesToRemove","targetPath","matched","filter","getTarget","getMessageProcessor","getId","length","removeMessages","__exports","__esModule"],"sources":["Engine.ts"],"sourcesContent":["/**\n * @file Engine.ts\n * @description The central orchestrator that routes data between the Layout Factory and Plugin Registry (v2).\n */\n\nimport { ISchema, IPropertyMetadata } from \"../interfaces/ISchema\";\nimport { ILayoutManager } from \"../interfaces/ILayoutManager\";\nimport { IPlugin, IPluginValidationResult } from \"../interfaces/IPlugin\";\nimport { ConditionEngine } from \"./ConditionEngine\";\nimport { PluginRegistry } from \"./PluginRegistry\";\nimport Control from \"sap/ui/core/Control\";\nimport VBox from \"sap/m/VBox\";\nimport Text from \"sap/m/Text\";\nimport { Registry } from \"./Registry\";\nimport { Logger } from \"../utils/Logger\";\nimport { DefaultLayoutGenerator } from \"./DefaultLayoutGenerator\";\nimport Core from \"sap/ui/core/Core\";\nimport Messaging from \"sap/ui/core/Messaging\";\n\n/**\n * The Engine is responsible for translating a normalized schema into a physical UI5 layout.\n * It delegates layout generation to the configured `LayoutManager` and field generation to the `PluginRegistry`.\n * It is NOT a God Class; it strictly routes execution flow and tracks active plugins for validation.\n * It embodies the \"Plugin-First Philosophy\" by routing all complex field and layout rendering\n * through discrete, decoupled plugins rather than handling native overrides.\n * \n * @namespace nz.co.siliconst.ui5.metaui.core\n * @public\n */\nexport class Engine {\n /** Global registry of all available layout strategies (e.g. Form, Table, Wizard). */\n public static layoutRegistry: Registry<ILayoutManager>;\n /** Handles dynamic conditional logic across the active form. */\n private conditionEngine: ConditionEngine | null = null;\n \n /** Array of all instantiated plugins generated during the current build. */\n private activePlugins: { plugin: IPlugin, path: string }[] = [];\n\n /** Deterministic scope ID injected by the host control to prevent clone collisions. */\n public engineScopeId?: string;\n \n private activeModel?: sap.ui.model.Model;\n \n /** Tracks whether the entire engine is running in Read-Only Display mode. */\n public readonly isDisplayMode: boolean = false;\n\n constructor(displayMode: boolean = false) {\n this.isDisplayMode = displayMode;\n }\n \n /**\n * Bootstraps the layout generation process by resolving the correct layout strategy.\n * \n * @param schema The normalized JSON schema representing the view.\n * @param model The active StateManager JSONModel instance.\n * @param modelName The UI5 model alias used for isolation.\n * @param onSubmit Callback fired when form is submitted.\n * @param engineScopeId Deterministic scope ID for this engine instance.\n * @param onChange Callback fired when field values change.\n * @returns The generated root UI5 Control container.\n */\n public build(schema: ISchema, model: sap.ui.model.Model, modelName: string = \"meta\", onSubmit?: () => void, engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string, errorMessage?: string, controlId?: string) => void): Control {\n this.conditionEngine = new ConditionEngine(schema);\n this.activePlugins = [];\n this.activeModel = model;\n this.engineScopeId = engineScopeId;\n this.onChange = (isValid: boolean, fieldKey?: string, errorMessage?: string, controlId?: string) => {\n if (this.conditionEngine && fieldKey) {\n this.conditionEngine.handleEvent(fieldKey, isValid);\n }\n if (onChange) {\n onChange(isValid, fieldKey, errorMessage, controlId);\n }\n };\n \n try {\n // Intercept and synthesize a default layout if the developer/backend failed to provide one\n if (DefaultLayoutGenerator.ensureLayout(schema)) {\n Logger.warn(\"[MetaUI Engine] Missing 'uiLayout' array in schema. Synthesized a default layout mapping to prevent a blank render.\");\n }\n\n const layoutStrategy = schema.layoutStrategy || (schema.type === \"array\" ? \"table\" : \"form\");\n const layoutManager = Engine.layoutRegistry.getStrict(layoutStrategy);\n \n return layoutManager.render(schema, modelName, this, onSubmit);\n } catch (error) {\n const msg = (error as Error).message;\n Logger.error(\"[MetaUI Engine] Critical error during layout generation\", msg);\n Logger.showErrorPopup(`Engine failed to generate the layout.\\n\\nDetails: ${msg}`);\n return new Text({ text: \"Critical Layout Error\" });\n }\n }\n\n /**\n * Instantiates the correct plugin for a specific field based on type and widget hints,\n * and tracks the plugin for global validation.\n * \n * @param fieldMeta The metadata schema specific to the field.\n * @param bindingPath The JSON path representing the field within the payload.\n * @param modelName The UI5 JSONModel name used for data binding.\n * @returns The generated UI5 Control for the field.\n */\n public generateField(fieldMeta: IPropertyMetadata, bindingPath: string, modelName: string, isTemplate: boolean = false): Control {\n try {\n const plugin = PluginRegistry.getInstance().getPlugin(fieldMeta.type || \"string\", fieldMeta.ui?.widget);\n plugin.setDisplayMode(this.isDisplayMode);\n \n if (!isTemplate) {\n this.activePlugins.push({ plugin, path: bindingPath });\n }\n const scopeId = isTemplate ? undefined : this.engineScopeId;\n const control = plugin.render(fieldMeta, bindingPath, modelName, scopeId, this.onChange);\n \n if (this.conditionEngine) {\n this.conditionEngine.registerPlugin(bindingPath, plugin);\n }\n \n return control;\n } catch (error) {\n const msg = (error as Error).message;\n Logger.error(`[MetaUI Engine] Failed to generate field at ${bindingPath}`, msg);\n Logger.showErrorPopup(`Failed to generate field '${bindingPath}'.\\n\\nDetails: ${msg}`);\n return new Text({ text: `[Error generating field ${bindingPath}]` });\n }\n }\n\n /**\n * Generates a sub-layout (like an embedded table or nested form) without \n * destroying the current Engine state or Condition tracking.\n * \n * @param schema The normalized JSON schema representing the view.\n * @param modelName The UI5 JSONModel name used for data binding (defaults to \"meta\").\n * @param bindingPath Optional path to bind the sub-layout to a specific array/object property.\n * @returns The generated root UI5 Control container.\n */\n public generateLayout(schema: ISchema, modelName: string, bindingPath?: string): Control {\n try {\n const layoutStrategy = schema.layoutStrategy || (schema.type === \"array\" ? \"table\" : \"form\");\n const layoutManager = Engine.layoutRegistry.getStrict(layoutStrategy);\n return layoutManager.render(schema, modelName, this, undefined, bindingPath);\n } catch (error) {\n const msg = (error as Error).message;\n Logger.error(`[MetaUI Engine] Critical error generating sub-layout for ${bindingPath}`, msg);\n Logger.showErrorPopup(`Engine failed to generate a sub-layout.\\n\\nDetails: ${msg}`);\n return new Text({ text: \"Critical Sub-Layout Error\" });\n }\n }\n\n /**\n * Iterates through all active plugins and triggers their internal validation pipelines.\n * \n * @returns {IPluginValidationResult[]} Array of validation error objects. Empty array if valid.\n */\n public validateAll(): IPluginValidationResult[] {\n const errors: IPluginValidationResult[] = [];\n for (const item of this.activePlugins) {\n const result = item.plugin.validate();\n if (!result.isValid) {\n // Ensure the path is bound to the error so GeneratorHost knows where to target it\n result.fieldKey = result.fieldKey || item.path.replace(/^\\//, \"\");\n errors.push(result);\n // Add console log to find which plugin fails silently\n Logger.error(\"[MetaUI Validation] Plugin failed validation silently:\", item.path || item.plugin.constructor.name);\n }\n }\n return errors;\n }\n\n /**\n * Cleans up internal state and destroys the condition engine to prevent memory leaks.\n */\n public destroy(): void {\n if (this.conditionEngine) {\n this.conditionEngine.destroy();\n this.conditionEngine = null;\n }\n \n // ------------------------------------------------------------------------\n // Ghost Error Prevention\n // Flush MessageManager for active plugins before destroying their controls\n // ------------------------------------------------------------------------\n const messageManager = Messaging;\n const existingMessages = messageManager.getMessageModel().getData();\n const messagesToRemove: any[] = [];\n \n for (const item of this.activePlugins) {\n if (this.activeModel) {\n const targetPath = `/${item.path.replace(/^\\//, \"\")}`;\n const matched = existingMessages.filter((msg: any) => \n msg.getTarget() === targetPath && msg.getMessageProcessor() && msg.getMessageProcessor().getId() === this.activeModel.getId()\n );\n messagesToRemove.push(...matched);\n }\n if (typeof item.plugin.destroy === \"function\") {\n item.plugin.destroy();\n }\n }\n \n if (messagesToRemove.length > 0) {\n messageManager.removeMessages(messagesToRemove);\n }\n \n this.activePlugins = [];\n }\n}\n"],"mappings":"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","ignoreList":[]}