@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,14 +3,75 @@ declare module "nz/co/siliconst/ui5/metaui/core/Engine" {
3
3
  * @file Engine.ts
4
4
  * @description The central orchestrator that routes data between the Layout Factory and Plugin Registry (v2).
5
5
  */
6
- import { ISchema } from "nz/co/siliconst/ui5/metaui/interfaces/ISchema";
6
+ import { ISchema, IPropertyMetadata } from "nz/co/siliconst/ui5/metaui/interfaces/ISchema";
7
7
  import { ILayoutManager } from "nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager";
8
+ import { IPluginValidationResult } from "nz/co/siliconst/ui5/metaui/interfaces/IPlugin";
8
9
  import Control from "sap/ui/core/Control";
10
+ import { Registry } from "nz/co/siliconst/ui5/metaui/core/Registry";
11
+ /**
12
+ * The Engine is responsible for translating a normalized schema into a physical UI5 layout.
13
+ * It delegates layout generation to the configured `LayoutManager` and field generation to the `PluginRegistry`.
14
+ * It is NOT a God Class; it strictly routes execution flow and tracks active plugins for validation.
15
+ * It embodies the "Plugin-First Philosophy" by routing all complex field and layout rendering
16
+ * through discrete, decoupled plugins rather than handling native overrides.
17
+ *
18
+ * @namespace nz.co.siliconst.ui5.metaui.core
19
+ * @public
20
+ */
9
21
  export class Engine {
22
+ /** Global registry of all available layout strategies (e.g. Form, Table, Wizard). */
23
+ static layoutRegistry: Registry<ILayoutManager>;
24
+ /** Handles dynamic conditional logic across the active form. */
10
25
  private conditionEngine;
26
+ /** Array of all instantiated plugins generated during the current build. */
11
27
  private activePlugins;
12
- build(schema: ISchema, layoutManager: ILayoutManager, modelName?: string): Control;
13
- validateAll(): boolean;
28
+ /** Deterministic scope ID injected by the host control to prevent clone collisions. */
29
+ engineScopeId?: string;
30
+ private activeModel?;
31
+ /** Tracks whether the entire engine is running in Read-Only Display mode. */
32
+ readonly isDisplayMode: boolean;
33
+ constructor(displayMode?: boolean);
34
+ /**
35
+ * Bootstraps the layout generation process by resolving the correct layout strategy.
36
+ *
37
+ * @param schema The normalized JSON schema representing the view.
38
+ * @param model The active StateManager JSONModel instance.
39
+ * @param modelName The UI5 model alias used for isolation.
40
+ * @param onSubmit Callback fired when form is submitted.
41
+ * @param engineScopeId Deterministic scope ID for this engine instance.
42
+ * @param onChange Callback fired when field values change.
43
+ * @returns The generated root UI5 Control container.
44
+ */
45
+ build(schema: ISchema, model: sap.ui.model.Model, modelName?: string, onSubmit?: () => void, engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string, errorMessage?: string, controlId?: string) => void): Control;
46
+ /**
47
+ * Instantiates the correct plugin for a specific field based on type and widget hints,
48
+ * and tracks the plugin for global validation.
49
+ *
50
+ * @param fieldMeta The metadata schema specific to the field.
51
+ * @param bindingPath The JSON path representing the field within the payload.
52
+ * @param modelName The UI5 JSONModel name used for data binding.
53
+ * @returns The generated UI5 Control for the field.
54
+ */
55
+ generateField(fieldMeta: IPropertyMetadata, bindingPath: string, modelName: string, isTemplate?: boolean): Control;
56
+ /**
57
+ * Generates a sub-layout (like an embedded table or nested form) without
58
+ * destroying the current Engine state or Condition tracking.
59
+ *
60
+ * @param schema The normalized JSON schema representing the view.
61
+ * @param modelName The UI5 JSONModel name used for data binding (defaults to "meta").
62
+ * @param bindingPath Optional path to bind the sub-layout to a specific array/object property.
63
+ * @returns The generated root UI5 Control container.
64
+ */
65
+ generateLayout(schema: ISchema, modelName: string, bindingPath?: string): Control;
66
+ /**
67
+ * Iterates through all active plugins and triggers their internal validation pipelines.
68
+ *
69
+ * @returns {IPluginValidationResult[]} Array of validation error objects. Empty array if valid.
70
+ */
71
+ validateAll(): IPluginValidationResult[];
72
+ /**
73
+ * Cleans up internal state and destroys the condition engine to prevent memory leaks.
74
+ */
14
75
  destroy(): void;
15
76
  }
16
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Engine.d.ts","sourceRoot":"../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/core/Engine.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,wCAAwC,CAAC;IACxD;;;OAGG;IAEH,OAAO,EAAE,OAAO,EAAqB,MAAM,+CAA+C,CAAC;IAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;IAGtF,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAG1C,MAAa,MAAM;QACf,OAAO,CAAC,eAAe,CAAgC;QACvD,OAAO,CAAC,aAAa,CAAiB;QAE/B,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,GAAE,MAAe,GAAG,OAAO;QAgD1F,WAAW,IAAI,OAAO;QAUtB,OAAO,IAAI,IAAI;KAOzB;CAEA"}
1
+ {"version":3,"file":"Engine.d.ts","sourceRoot":"../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/core/Engine.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,wCAAwC,CAAC;IACxD;;;OAGG;IAEH,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;IAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;IACtF,OAAO,EAAW,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;IAGjG,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAG1C,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;IAMpE;;;;;;;;;OASG;IACH,MAAa,MAAM;QACf,qFAAqF;QACrF,OAAc,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;QACvD,gEAAgE;QAChE,OAAO,CAAC,eAAe,CAAgC;QAEvD,4EAA4E;QAC5E,OAAO,CAAC,aAAa,CAA2C;QAEhE,uFAAuF;QAChF,aAAa,CAAC,EAAE,MAAM,CAAC;QAE9B,OAAO,CAAC,WAAW,CAAC,CAAqB;QAEzC,6EAA6E;QAC7E,SAAgB,aAAa,EAAE,OAAO,CAAS;oBAEnC,WAAW,GAAE,OAAe;QAIxC;;;;;;;;;;WAUG;QACI,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,GAAE,MAAe,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO;QAgCjP;;;;;;;;WAQG;QACI,aAAa,CAAC,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAE,OAAe,GAAG,OAAO;QAwBhI;;;;;;;;WAQG;QACI,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO;QAaxF;;;;WAIG;QACI,WAAW,IAAI,uBAAuB,EAAE;QAe/C;;WAEG;QACI,OAAO,IAAI,IAAI;KAiCzB;CAEA"}
@@ -1,2 +1,2 @@
1
- sap.ui.define(["./ConditionEngine","sap/m/VBox"],function(e,t){"use strict";const i=e["ConditionEngine"];class n{conditionEngine=null;activePlugins=[];build(e,n,s="meta"){this.conditionEngine=new i(e);this.activePlugins=[];const r=e=>this.activePlugins.push(e);if(e.type==="array"){if(!e.items){throw new Error("[MetaUI] Array schema must define 'items'.")}return n.renderTable(e.items,`${s}>/`,e.title)}if(e.type==="object"){const i=new t({renderType:"Bare"});const o=e.properties||{};const a={};const c=[];for(const e of Object.keys(o)){if(o[e].type==="array"){c.push({key:e,meta:o[e]})}else{a[e]=o[e]}}if(Object.keys(a).length>0){i.addItem(n.renderForm(a,s,e.title,r))}for(const e of c){if(e.meta.items){i.addItem(n.renderTable(e.meta.items,`${s}>/${e.key}`,e.meta.ui?.label||e.key))}}return i}throw new Error(`[MetaUI] Unsupported schema type: ${e.type}`)}validateAll(){let e=true;for(const t of this.activePlugins){if(!t.validate()){e=false}}return e}destroy(){if(this.conditionEngine){this.conditionEngine.destroy();this.conditionEngine=null}this.activePlugins=[]}}var s={__esModule:true};s.Engine=n;return s});
1
+ sap.ui.define(["./ConditionEngine","./PluginRegistry","sap/m/Text","../utils/Logger","./DefaultLayoutGenerator","sap/ui/core/Messaging"],function(e,t,n,i,r,o){"use strict";const s=e["ConditionEngine"];const a=t["PluginRegistry"];const g=i["Logger"];const l=r["DefaultLayoutGenerator"];class u{conditionEngine=null;activePlugins=[];isDisplayMode=false;constructor(e=false){this.isDisplayMode=e}build(e,t,i="meta",r,o,a){this.conditionEngine=new s(e);this.activePlugins=[];this.activeModel=t;this.engineScopeId=o;this.onChange=(e,t,n,i)=>{if(this.conditionEngine&&t){this.conditionEngine.handleEvent(t,e)}if(a){a(e,t,n,i)}};try{if(l.ensureLayout(e)){g.warn("[MetaUI Engine] Missing 'uiLayout' array in schema. Synthesized a default layout mapping to prevent a blank render.")}const t=e.layoutStrategy||(e.type==="array"?"table":"form");const n=u.layoutRegistry.getStrict(t);return n.render(e,i,this,r)}catch(e){const t=e.message;g.error("[MetaUI Engine] Critical error during layout generation",t);g.showErrorPopup(`Engine failed to generate the layout.\n\nDetails: ${t}`);return new n({text:"Critical Layout Error"})}}generateField(e,t,i,r=false){try{const n=a.getInstance().getPlugin(e.type||"string",e.ui?.widget);n.setDisplayMode(this.isDisplayMode);if(!r){this.activePlugins.push({plugin:n,path:t})}const o=r?undefined:this.engineScopeId;const s=n.render(e,t,i,o,this.onChange);if(this.conditionEngine){this.conditionEngine.registerPlugin(t,n)}return s}catch(e){const i=e.message;g.error(`[MetaUI Engine] Failed to generate field at ${t}`,i);g.showErrorPopup(`Failed to generate field '${t}'.\n\nDetails: ${i}`);return new n({text:`[Error generating field ${t}]`})}}generateLayout(e,t,i){try{const n=e.layoutStrategy||(e.type==="array"?"table":"form");const r=u.layoutRegistry.getStrict(n);return r.render(e,t,this,undefined,i)}catch(e){const t=e.message;g.error(`[MetaUI Engine] Critical error generating sub-layout for ${i}`,t);g.showErrorPopup(`Engine failed to generate a sub-layout.\n\nDetails: ${t}`);return new n({text:"Critical Sub-Layout Error"})}}validateAll(){const e=[];for(const t of this.activePlugins){const n=t.plugin.validate();if(!n.isValid){n.fieldKey=n.fieldKey||t.path.replace(/^\//,"");e.push(n);g.error("[MetaUI Validation] Plugin failed validation silently:",t.path||t.plugin.constructor.name)}}return e}destroy(){if(this.conditionEngine){this.conditionEngine.destroy();this.conditionEngine=null}const e=o;const t=e.getMessageModel().getData();const n=[];for(const e of this.activePlugins){if(this.activeModel){const i=`/${e.path.replace(/^\//,"")}`;const r=t.filter(e=>e.getTarget()===i&&e.getMessageProcessor()&&e.getMessageProcessor().getId()===this.activeModel.getId());n.push(...r)}if(typeof e.plugin.destroy==="function"){e.plugin.destroy()}}if(n.length>0){e.removeMessages(n)}this.activePlugins=[]}}var c={__esModule:true};c.Engine=u;return c});
2
2
  //# sourceMappingURL=Engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Engine.js","names":["ConditionEngine","___ConditionEngine","Engine","conditionEngine","activePlugins","build","schema","layoutManager","modelName","this","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":"4EAAA,MAQSA,EAAeC,EAAA,mBAIjB,MAAMC,EACDC,gBAA0C,KAC1CC,cAA2B,GAE5BC,MAAMC,EAAiBC,EAA+BC,EAAoB,QAC7EC,KAAKN,gBAAkB,IAAIH,EAAgBM,GAC3CG,KAAKL,cAAgB,GAErB,MAAMM,EAAeC,GAAoBF,KAAKL,cAAcQ,KAAKD,GAGjE,GAAIL,EAAOO,OAAS,QAAS,CACzB,IAAKP,EAAOQ,MAAO,CACf,MAAM,IAAIC,MAAM,6CACpB,CACA,OAAOR,EAAcS,YAAYV,EAAOQ,MAAO,GAAGN,MAAeF,EAAOW,MAC5E,CAEA,GAAIX,EAAOO,OAAS,SAAU,CAC1B,MAAMK,EAAY,IAAIC,EAAK,CAAEC,WAAY,SACzC,MAAMC,EAAQf,EAAOgB,YAAc,CAAC,EAGpC,MAAMC,EAA+C,CAAC,EACtD,MAAMC,EAAyD,GAE/D,IAAK,MAAMC,KAAOC,OAAOC,KAAKN,GAAQ,CAClC,GAAIA,EAAMI,GAAKZ,OAAS,QAAS,CAC7BW,EAAWZ,KAAK,CAAEa,MAAKG,KAAMP,EAAMI,IACvC,KAAO,CACHF,EAAUE,GAAOJ,EAAMI,EAC3B,CACJ,CAGA,GAAIC,OAAOC,KAAKJ,GAAWM,OAAS,EAAG,CACnCX,EAAUY,QAAQvB,EAAcwB,WAAWR,EAAWf,EAAWF,EAAOW,MAAOP,GACnF,CAGA,IAAK,MAAMsB,KAAaR,EAAY,CAChC,GAAIQ,EAAUJ,KAAKd,MAAO,CACtBI,EAAUY,QAAQvB,EAAcS,YAAYgB,EAAUJ,KAAKd,MAAO,GAAGN,MAAcwB,EAAUP,MAAOO,EAAUJ,KAAKK,IAAIC,OAASF,EAAUP,KAC9I,CACJ,CAEA,OAAOP,CACX,CAEA,MAAM,IAAIH,MAAM,qCAAqCT,EAAOO,OAChE,CAEOsB,cACH,IAAIC,EAAU,KACd,IAAK,MAAMzB,KAAUF,KAAKL,cAAe,CACrC,IAAKO,EAAO0B,WAAY,CACpBD,EAAU,KACd,CACJ,CACA,OAAOA,CACX,CAEOE,UACH,GAAI7B,KAAKN,gBAAiB,CACtBM,KAAKN,gBAAgBmC,UACrB7B,KAAKN,gBAAkB,IAC3B,CACAM,KAAKL,cAAgB,EACzB,EACH,IAAAmC,EAAA,CAAAC,WAAA,MAAAD,EAAArC,SAAA,OAAAqC,CAAA","ignoreList":[]}
1
+ {"version":3,"file":"Engine.js","names":["ConditionEngine","___ConditionEngine","PluginRegistry","___PluginRegistry","Logger","___utils_Logger","DefaultLayoutGenerator","___DefaultLayoutGenerator","Engine","conditionEngine","activePlugins","isDisplayMode","constructor","displayMode","this","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":"4KAAA,MAQSA,EAAeC,EAAA,yBACfC,EAAcC,EAAA,wBAKdC,EAAMC,EAAA,gBACNC,EAAsBC,EAAA,0BAcxB,MAAMC,EAIDC,gBAA0C,KAG1CC,cAAqD,GAQ7CC,cAAyB,MAEzCC,YAAYC,EAAuB,OAC/BC,KAAKH,cAAgBE,CACzB,CAaOE,MAAMC,EAAiBC,EAA2BC,EAAoB,OAAQC,EAAuBC,EAAwBC,GAChIP,KAAKL,gBAAkB,IAAIT,EAAgBgB,GAC3CF,KAAKJ,cAAgB,GACrBI,KAAKQ,YAAcL,EACnBH,KAAKM,cAAgBA,EACrBN,KAAKO,SAAW,CAACE,EAAkBC,EAAmBC,EAAuBC,KACzE,GAAIZ,KAAKL,iBAAmBe,EAAU,CAClCV,KAAKL,gBAAgBkB,YAAYH,EAAUD,EAC/C,CACA,GAAIF,EAAU,CACVA,EAASE,EAASC,EAAUC,EAAcC,EAC9C,GAGJ,IAEI,GAAIpB,EAAuBsB,aAAaZ,GAAS,CAC7CZ,EAAOyB,KAAK,sHAChB,CAEA,MAAMC,EAAiBd,EAAOc,iBAAmBd,EAAOe,OAAS,QAAU,QAAU,QACrF,MAAMC,EAAgBxB,EAAOyB,eAAeC,UAAUJ,GAEtD,OAAOE,EAAcG,OAAOnB,EAAQE,EAAWJ,KAAMK,EACzD,CAAE,MAAOiB,GACL,MAAMC,EAAOD,EAAgBE,QAC7BlC,EAAOgC,MAAM,0DAA2DC,GACxEjC,EAAOmC,eAAe,qDAAqDF,KAC3E,OAAO,IAAIG,EAAK,CAAEC,KAAM,yBAC5B,CACJ,CAWOC,cAAcC,EAA8BC,EAAqB1B,EAAmB2B,EAAsB,OAC7G,IACI,MAAMC,EAAS5C,EAAe6C,cAAcC,UAAUL,EAAUZ,MAAQ,SAAUY,EAAUM,IAAIC,QAChGJ,EAAOK,eAAerC,KAAKH,eAE3B,IAAKkC,EAAY,CACb/B,KAAKJ,cAAc0C,KAAK,CAAEN,SAAQO,KAAMT,GAC5C,CACA,MAAMU,EAAUT,EAAaU,UAAYzC,KAAKM,cAC9C,MAAMoC,EAAUV,EAAOX,OAAOQ,EAAWC,EAAa1B,EAAWoC,EAASxC,KAAKO,UAE/E,GAAIP,KAAKL,gBAAiB,CACtBK,KAAKL,gBAAgBgD,eAAeb,EAAaE,EACrD,CAEA,OAAOU,CACX,CAAE,MAAOpB,GACL,MAAMC,EAAOD,EAAgBE,QAC7BlC,EAAOgC,MAAM,+CAA+CQ,IAAeP,GAC3EjC,EAAOmC,eAAe,6BAA6BK,mBAA6BP,KAChF,OAAO,IAAIG,EAAK,CAAEC,KAAM,2BAA2BG,MACvD,CACJ,CAWOc,eAAe1C,EAAiBE,EAAmB0B,GACtD,IACI,MAAMd,EAAiBd,EAAOc,iBAAmBd,EAAOe,OAAS,QAAU,QAAU,QACrF,MAAMC,EAAgBxB,EAAOyB,eAAeC,UAAUJ,GACtD,OAAOE,EAAcG,OAAOnB,EAAQE,EAAWJ,KAAMyC,UAAWX,EACpE,CAAE,MAAOR,GACL,MAAMC,EAAOD,EAAgBE,QAC7BlC,EAAOgC,MAAM,4DAA4DQ,IAAeP,GACxFjC,EAAOmC,eAAe,uDAAuDF,KAC7E,OAAO,IAAIG,EAAK,CAAEC,KAAM,6BAC5B,CACJ,CAOOkB,cACH,MAAMC,EAAoC,GAC1C,IAAK,MAAMC,KAAQ/C,KAAKJ,cAAe,CACnC,MAAMoD,EAASD,EAAKf,OAAOiB,WAC3B,IAAKD,EAAOvC,QAAS,CAEjBuC,EAAOtC,SAAWsC,EAAOtC,UAAYqC,EAAKR,KAAKW,QAAQ,MAAO,IAC9DJ,EAAOR,KAAKU,GAEZ1D,EAAOgC,MAAM,yDAA0DyB,EAAKR,MAAQQ,EAAKf,OAAOlC,YAAYqD,KAChH,CACJ,CACA,OAAOL,CACX,CAKOM,UACH,GAAIpD,KAAKL,gBAAiB,CACtBK,KAAKL,gBAAgByD,UACrBpD,KAAKL,gBAAkB,IAC3B,CAMA,MAAM0D,EAAiBC,EACvB,MAAMC,EAAmBF,EAAeG,kBAAkBC,UAC1D,MAAMC,EAA0B,GAEhC,IAAK,MAAMX,KAAQ/C,KAAKJ,cAAe,CACnC,GAAII,KAAKQ,YAAa,CAClB,MAAMmD,EAAa,IAAIZ,EAAKR,KAAKW,QAAQ,MAAO,MAChD,MAAMU,EAAUL,EAAiBM,OAAQtC,GACrCA,EAAIuC,cAAgBH,GAAcpC,EAAIwC,uBAAyBxC,EAAIwC,sBAAsBC,UAAYhE,KAAKQ,YAAYwD,SAE1HN,EAAiBpB,QAAQsB,EAC7B,CACA,UAAWb,EAAKf,OAAOoB,UAAY,WAAY,CAC3CL,EAAKf,OAAOoB,SAChB,CACJ,CAEA,GAAIM,EAAiBO,OAAS,EAAG,CAC7BZ,EAAea,eAAeR,EAClC,CAEA1D,KAAKJ,cAAgB,EACzB,EACH,IAAAuE,EAAA,CAAAC,WAAA,MAAAD,EAAAzE,SAAA,OAAAyE,CAAA","ignoreList":[]}
@@ -5,78 +5,201 @@
5
5
 
6
6
  import { ISchema, IPropertyMetadata } from "../interfaces/ISchema";
7
7
  import { ILayoutManager } from "../interfaces/ILayoutManager";
8
- import { IPlugin } from "../interfaces/IPlugin";
8
+ import { IPlugin, IPluginValidationResult } from "../interfaces/IPlugin";
9
9
  import { ConditionEngine } from "./ConditionEngine";
10
+ import { PluginRegistry } from "./PluginRegistry";
10
11
  import Control from "sap/ui/core/Control";
11
12
  import VBox from "sap/m/VBox";
13
+ import Text from "sap/m/Text";
14
+ import { Registry } from "./Registry";
15
+ import { Logger } from "../utils/Logger";
16
+ import { DefaultLayoutGenerator } from "./DefaultLayoutGenerator";
17
+ import Core from "sap/ui/core/Core";
18
+ import Messaging from "sap/ui/core/Messaging";
12
19
 
20
+ /**
21
+ * The Engine is responsible for translating a normalized schema into a physical UI5 layout.
22
+ * It delegates layout generation to the configured `LayoutManager` and field generation to the `PluginRegistry`.
23
+ * It is NOT a God Class; it strictly routes execution flow and tracks active plugins for validation.
24
+ * It embodies the "Plugin-First Philosophy" by routing all complex field and layout rendering
25
+ * through discrete, decoupled plugins rather than handling native overrides.
26
+ *
27
+ * @namespace nz.co.siliconst.ui5.metaui.core
28
+ * @public
29
+ */
13
30
  export class Engine {
31
+ /** Global registry of all available layout strategies (e.g. Form, Table, Wizard). */
32
+ public static layoutRegistry: Registry<ILayoutManager>;
33
+ /** Handles dynamic conditional logic across the active form. */
14
34
  private conditionEngine: ConditionEngine | null = null;
15
- private activePlugins: IPlugin[] = [];
16
35
 
17
- public build(schema: ISchema, layoutManager: ILayoutManager, modelName: string = "meta"): Control {
36
+ /** Array of all instantiated plugins generated during the current build. */
37
+ private activePlugins: { plugin: IPlugin, path: string }[] = [];
38
+
39
+ /** Deterministic scope ID injected by the host control to prevent clone collisions. */
40
+ public engineScopeId?: string;
41
+
42
+ private activeModel?: sap.ui.model.Model;
43
+
44
+ /** Tracks whether the entire engine is running in Read-Only Display mode. */
45
+ public readonly isDisplayMode: boolean = false;
46
+
47
+ constructor(displayMode: boolean = false) {
48
+ this.isDisplayMode = displayMode;
49
+ }
50
+
51
+ /**
52
+ * Bootstraps the layout generation process by resolving the correct layout strategy.
53
+ *
54
+ * @param schema The normalized JSON schema representing the view.
55
+ * @param model The active StateManager JSONModel instance.
56
+ * @param modelName The UI5 model alias used for isolation.
57
+ * @param onSubmit Callback fired when form is submitted.
58
+ * @param engineScopeId Deterministic scope ID for this engine instance.
59
+ * @param onChange Callback fired when field values change.
60
+ * @returns The generated root UI5 Control container.
61
+ */
62
+ 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 {
18
63
  this.conditionEngine = new ConditionEngine(schema);
19
64
  this.activePlugins = [];
20
-
21
- const trackPlugin = (plugin: IPlugin) => this.activePlugins.push(plugin);
22
-
23
- // Implicit layout routing based on root type
24
- if (schema.type === "array") {
25
- if (!schema.items) {
26
- throw new Error("[MetaUI] Array schema must define 'items'.");
65
+ this.activeModel = model;
66
+ this.engineScopeId = engineScopeId;
67
+ this.onChange = (isValid: boolean, fieldKey?: string, errorMessage?: string, controlId?: string) => {
68
+ if (this.conditionEngine && fieldKey) {
69
+ this.conditionEngine.handleEvent(fieldKey, isValid);
27
70
  }
28
- return layoutManager.renderTable(schema.items, `${modelName}>/`, schema.title);
29
- }
71
+ if (onChange) {
72
+ onChange(isValid, fieldKey, errorMessage, controlId);
73
+ }
74
+ };
30
75
 
31
- if (schema.type === "object") {
32
- const container = new VBox({ renderType: "Bare" });
33
- const props = schema.properties || {};
34
-
35
- // Separate scalar properties (form fields) from root array properties (inline tables)
36
- const formProps: Record<string, IPropertyMetadata> = {};
37
- const tableProps: { key: string; meta: IPropertyMetadata }[] = [];
38
-
39
- for (const key of Object.keys(props)) {
40
- if (props[key].type === "array") {
41
- tableProps.push({ key, meta: props[key] });
42
- } else {
43
- formProps[key] = props[key];
44
- }
76
+ try {
77
+ // Intercept and synthesize a default layout if the developer/backend failed to provide one
78
+ if (DefaultLayoutGenerator.ensureLayout(schema)) {
79
+ Logger.warn("[MetaUI Engine] Missing 'uiLayout' array in schema. Synthesized a default layout mapping to prevent a blank render.");
45
80
  }
81
+
82
+ const layoutStrategy = schema.layoutStrategy || (schema.type === "array" ? "table" : "form");
83
+ const layoutManager = Engine.layoutRegistry.getStrict(layoutStrategy);
46
84
 
47
- // Render the top-level form if there are scalar fields
48
- if (Object.keys(formProps).length > 0) {
49
- container.addItem(layoutManager.renderForm(formProps, modelName, schema.title, trackPlugin));
85
+ return layoutManager.render(schema, modelName, this, onSubmit);
86
+ } catch (error) {
87
+ const msg = (error as Error).message;
88
+ Logger.error("[MetaUI Engine] Critical error during layout generation", msg);
89
+ Logger.showErrorPopup(`Engine failed to generate the layout.\n\nDetails: ${msg}`);
90
+ return new Text({ text: "Critical Layout Error" });
91
+ }
92
+ }
93
+
94
+ /**
95
+ * Instantiates the correct plugin for a specific field based on type and widget hints,
96
+ * and tracks the plugin for global validation.
97
+ *
98
+ * @param fieldMeta The metadata schema specific to the field.
99
+ * @param bindingPath The JSON path representing the field within the payload.
100
+ * @param modelName The UI5 JSONModel name used for data binding.
101
+ * @returns The generated UI5 Control for the field.
102
+ */
103
+ public generateField(fieldMeta: IPropertyMetadata, bindingPath: string, modelName: string, isTemplate: boolean = false): Control {
104
+ try {
105
+ const plugin = PluginRegistry.getInstance().getPlugin(fieldMeta.type || "string", fieldMeta.ui?.widget);
106
+ plugin.setDisplayMode(this.isDisplayMode);
107
+
108
+ if (!isTemplate) {
109
+ this.activePlugins.push({ plugin, path: bindingPath });
50
110
  }
111
+ const scopeId = isTemplate ? undefined : this.engineScopeId;
112
+ const control = plugin.render(fieldMeta, bindingPath, modelName, scopeId, this.onChange);
51
113
 
52
- // Render root-level arrays as massive native tables below the form
53
- for (const tableProp of tableProps) {
54
- if (tableProp.meta.items) {
55
- container.addItem(layoutManager.renderTable(tableProp.meta.items, `${modelName}>/${tableProp.key}`, tableProp.meta.ui?.label || tableProp.key));
56
- }
114
+ if (this.conditionEngine) {
115
+ this.conditionEngine.registerPlugin(bindingPath, plugin);
57
116
  }
58
117
 
59
- return container;
118
+ return control;
119
+ } catch (error) {
120
+ const msg = (error as Error).message;
121
+ Logger.error(`[MetaUI Engine] Failed to generate field at ${bindingPath}`, msg);
122
+ Logger.showErrorPopup(`Failed to generate field '${bindingPath}'.\n\nDetails: ${msg}`);
123
+ return new Text({ text: `[Error generating field ${bindingPath}]` });
60
124
  }
61
-
62
- throw new Error(`[MetaUI] Unsupported schema type: ${schema.type}`);
63
125
  }
64
126
 
65
- public validateAll(): boolean {
66
- let isValid = true;
67
- for (const plugin of this.activePlugins) {
68
- if (!plugin.validate()) {
69
- isValid = false;
127
+ /**
128
+ * Generates a sub-layout (like an embedded table or nested form) without
129
+ * destroying the current Engine state or Condition tracking.
130
+ *
131
+ * @param schema The normalized JSON schema representing the view.
132
+ * @param modelName The UI5 JSONModel name used for data binding (defaults to "meta").
133
+ * @param bindingPath Optional path to bind the sub-layout to a specific array/object property.
134
+ * @returns The generated root UI5 Control container.
135
+ */
136
+ public generateLayout(schema: ISchema, modelName: string, bindingPath?: string): Control {
137
+ try {
138
+ const layoutStrategy = schema.layoutStrategy || (schema.type === "array" ? "table" : "form");
139
+ const layoutManager = Engine.layoutRegistry.getStrict(layoutStrategy);
140
+ return layoutManager.render(schema, modelName, this, undefined, bindingPath);
141
+ } catch (error) {
142
+ const msg = (error as Error).message;
143
+ Logger.error(`[MetaUI Engine] Critical error generating sub-layout for ${bindingPath}`, msg);
144
+ Logger.showErrorPopup(`Engine failed to generate a sub-layout.\n\nDetails: ${msg}`);
145
+ return new Text({ text: "Critical Sub-Layout Error" });
146
+ }
147
+ }
148
+
149
+ /**
150
+ * Iterates through all active plugins and triggers their internal validation pipelines.
151
+ *
152
+ * @returns {IPluginValidationResult[]} Array of validation error objects. Empty array if valid.
153
+ */
154
+ public validateAll(): IPluginValidationResult[] {
155
+ const errors: IPluginValidationResult[] = [];
156
+ for (const item of this.activePlugins) {
157
+ const result = item.plugin.validate();
158
+ if (!result.isValid) {
159
+ // Ensure the path is bound to the error so GeneratorHost knows where to target it
160
+ result.fieldKey = result.fieldKey || item.path.replace(/^\//, "");
161
+ errors.push(result);
162
+ // Add console log to find which plugin fails silently
163
+ Logger.error("[MetaUI Validation] Plugin failed validation silently:", item.path || item.plugin.constructor.name);
70
164
  }
71
165
  }
72
- return isValid;
166
+ return errors;
73
167
  }
74
168
 
169
+ /**
170
+ * Cleans up internal state and destroys the condition engine to prevent memory leaks.
171
+ */
75
172
  public destroy(): void {
76
173
  if (this.conditionEngine) {
77
174
  this.conditionEngine.destroy();
78
175
  this.conditionEngine = null;
79
176
  }
177
+
178
+ // ------------------------------------------------------------------------
179
+ // Ghost Error Prevention
180
+ // Flush MessageManager for active plugins before destroying their controls
181
+ // ------------------------------------------------------------------------
182
+ const messageManager = Messaging;
183
+ const existingMessages = messageManager.getMessageModel().getData();
184
+ const messagesToRemove: any[] = [];
185
+
186
+ for (const item of this.activePlugins) {
187
+ if (this.activeModel) {
188
+ const targetPath = `/${item.path.replace(/^\//, "")}`;
189
+ const matched = existingMessages.filter((msg: any) =>
190
+ msg.getTarget() === targetPath && msg.getMessageProcessor() && msg.getMessageProcessor().getId() === this.activeModel.getId()
191
+ );
192
+ messagesToRemove.push(...matched);
193
+ }
194
+ if (typeof item.plugin.destroy === "function") {
195
+ item.plugin.destroy();
196
+ }
197
+ }
198
+
199
+ if (messagesToRemove.length > 0) {
200
+ messageManager.removeMessages(messagesToRemove);
201
+ }
202
+
80
203
  this.activePlugins = [];
81
204
  }
82
205
  }
@@ -0,0 +1,32 @@
1
+ sap.ui.define(["./Registry", "../layouts/FormLayout", "../layouts/TableLayout", "../layouts/WizardLayout", "../layouts/CompactLayout", "./Engine"], function (___Registry, ___layouts_FormLayout, ___layouts_TableLayout, ___layouts_WizardLayout, ___layouts_CompactLayout, ___Engine) {
2
+ "use strict";
3
+
4
+ /**
5
+ * @file LayoutRegistry.ts
6
+ * @description Centralized registry for all available layout managers (e.g. Form, Table, Wizard).
7
+ */
8
+ const Registry = ___Registry["Registry"];
9
+ const FormLayout = ___layouts_FormLayout["FormLayout"];
10
+ const TableLayout = ___layouts_TableLayout["TableLayout"];
11
+ const WizardLayout = ___layouts_WizardLayout["WizardLayout"];
12
+ const CompactLayout = ___layouts_CompactLayout["CompactLayout"];
13
+ const Engine = ___Engine["Engine"];
14
+ /**
15
+ * The globally exposed registry containing instantiations of the layout strategies.
16
+ * It is injected directly into the Engine to avoid circular dependencies.
17
+ *
18
+ * @public
19
+ */
20
+ const LayoutRegistry = new Registry("Layouts");
21
+ LayoutRegistry.register("form", new FormLayout());
22
+ LayoutRegistry.register("table", new TableLayout());
23
+ LayoutRegistry.register("wizard", new WizardLayout());
24
+ LayoutRegistry.register("compact", new CompactLayout());
25
+ Engine.layoutRegistry = LayoutRegistry;
26
+ var __exports = {
27
+ __esModule: true
28
+ };
29
+ __exports.LayoutRegistry = LayoutRegistry;
30
+ return __exports;
31
+ });
32
+ //# sourceMappingURL=LayoutRegistry-dbg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayoutRegistry-dbg.js","names":["Registry","___Registry","FormLayout","___layouts_FormLayout","TableLayout","___layouts_TableLayout","WizardLayout","___layouts_WizardLayout","CompactLayout","___layouts_CompactLayout","Engine","___Engine","LayoutRegistry","register","layoutRegistry","__exports","__esModule"],"sources":["LayoutRegistry.ts"],"sourcesContent":["/**\n * @file LayoutRegistry.ts\n * @description Centralized registry for all available layout managers (e.g. Form, Table, Wizard).\n */\nimport { Registry } from \"./Registry\";\nimport { ILayoutManager } from \"../interfaces/ILayoutManager\";\nimport { FormLayout } from \"../layouts/FormLayout\";\nimport { TableLayout } from \"../layouts/TableLayout\";\nimport { WizardLayout } from \"../layouts/WizardLayout\";\nimport { CompactLayout } from \"../layouts/CompactLayout\";\nimport { Engine } from \"./Engine\";\n\n/** \n * The globally exposed registry containing instantiations of the layout strategies.\n * It is injected directly into the Engine to avoid circular dependencies.\n * \n * @public\n */\nexport const LayoutRegistry = new Registry<ILayoutManager>(\"Layouts\");\n\nLayoutRegistry.register(\"form\", new FormLayout());\nLayoutRegistry.register(\"table\", new TableLayout());\nLayoutRegistry.register(\"wizard\", new WizardLayout());\nLayoutRegistry.register(\"compact\", new CompactLayout());\n\nEngine.layoutRegistry = LayoutRegistry;\n"],"mappings":";;;EAAA;AACA;AACA;AACA;EAHA,MAISA,QAAQ,GAAAC,WAAA;EAAA,MAERC,UAAU,GAAAC,qBAAA;EAAA,MACVC,WAAW,GAAAC,sBAAA;EAAA,MACXC,YAAY,GAAAC,uBAAA;EAAA,MACZC,aAAa,GAAAC,wBAAA;EAAA,MACbC,MAAM,GAAAC,SAAA;EAEf;AACA;AACA;AACA;AACA;AACA;EACO,MAAMC,cAAc,GAAG,IAAIZ,QAAQ,CAAiB,SAAS,CAAC;EAErEY,cAAc,CAACC,QAAQ,CAAC,MAAM,EAAE,IAAIX,UAAU,CAAC,CAAC,CAAC;EACjDU,cAAc,CAACC,QAAQ,CAAC,OAAO,EAAE,IAAIT,WAAW,CAAC,CAAC,CAAC;EACnDQ,cAAc,CAACC,QAAQ,CAAC,QAAQ,EAAE,IAAIP,YAAY,CAAC,CAAC,CAAC;EACrDM,cAAc,CAACC,QAAQ,CAAC,SAAS,EAAE,IAAIL,aAAa,CAAC,CAAC,CAAC;EAEvDE,MAAM,CAACI,cAAc,GAAGF,cAAc;EAAC,IAAAG,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAH,cAAA,GAAAA,cAAA;EAAA,OAAAG,SAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ declare module "nz/co/siliconst/ui5/metaui/core/LayoutRegistry" {
2
+ /**
3
+ * @file LayoutRegistry.ts
4
+ * @description Centralized registry for all available layout managers (e.g. Form, Table, Wizard).
5
+ */
6
+ import { Registry } from "nz/co/siliconst/ui5/metaui/core/Registry";
7
+ import { ILayoutManager } from "nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager";
8
+ /**
9
+ * The globally exposed registry containing instantiations of the layout strategies.
10
+ * It is injected directly into the Engine to avoid circular dependencies.
11
+ *
12
+ * @public
13
+ */
14
+ export const LayoutRegistry: Registry<ILayoutManager>;
15
+ }
16
+ //# sourceMappingURL=LayoutRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayoutRegistry.d.ts","sourceRoot":"../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,gDAAgD,CAAC;IAChE;;;OAGG;IACH,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;IACpE,OAAO,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;IAOtF;;;;;OAKG;IACI,MAAM,cAAc,0BAA0C,CAAC;CASrE"}
@@ -0,0 +1,2 @@
1
+ sap.ui.define(["./Registry","../layouts/FormLayout","../layouts/TableLayout","../layouts/WizardLayout","../layouts/CompactLayout","./Engine"],function(t,o,e,a,s,r){"use strict";const u=t["Registry"];const n=o["FormLayout"];const y=e["TableLayout"];const i=a["WizardLayout"];const c=s["CompactLayout"];const g=r["Engine"];const L=new u("Layouts");L.register("form",new n);L.register("table",new y);L.register("wizard",new i);L.register("compact",new c);g.layoutRegistry=L;var l={__esModule:true};l.LayoutRegistry=L;return l});
2
+ //# sourceMappingURL=LayoutRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayoutRegistry.js","names":["Registry","___Registry","FormLayout","___layouts_FormLayout","TableLayout","___layouts_TableLayout","WizardLayout","___layouts_WizardLayout","CompactLayout","___layouts_CompactLayout","Engine","___Engine","LayoutRegistry","register","layoutRegistry","__exports","__esModule"],"sources":["LayoutRegistry.ts"],"sourcesContent":["/**\n * @file LayoutRegistry.ts\n * @description Centralized registry for all available layout managers (e.g. Form, Table, Wizard).\n */\nimport { Registry } from \"./Registry\";\nimport { ILayoutManager } from \"../interfaces/ILayoutManager\";\nimport { FormLayout } from \"../layouts/FormLayout\";\nimport { TableLayout } from \"../layouts/TableLayout\";\nimport { WizardLayout } from \"../layouts/WizardLayout\";\nimport { CompactLayout } from \"../layouts/CompactLayout\";\nimport { Engine } from \"./Engine\";\n\n/** \n * The globally exposed registry containing instantiations of the layout strategies.\n * It is injected directly into the Engine to avoid circular dependencies.\n * \n * @public\n */\nexport const LayoutRegistry = new Registry<ILayoutManager>(\"Layouts\");\n\nLayoutRegistry.register(\"form\", new FormLayout());\nLayoutRegistry.register(\"table\", new TableLayout());\nLayoutRegistry.register(\"wizard\", new WizardLayout());\nLayoutRegistry.register(\"compact\", new CompactLayout());\n\nEngine.layoutRegistry = LayoutRegistry;\n"],"mappings":"iLAAA,MAISA,EAAQC,EAAA,kBAERC,EAAUC,EAAA,oBACVC,EAAWC,EAAA,qBACXC,EAAYC,EAAA,sBACZC,EAAaC,EAAA,uBACbC,EAAMC,EAAA,UAQR,MAAMC,EAAiB,IAAIZ,EAAyB,WAE3DY,EAAeC,SAAS,OAAQ,IAAIX,GACpCU,EAAeC,SAAS,QAAS,IAAIT,GACrCQ,EAAeC,SAAS,SAAU,IAAIP,GACtCM,EAAeC,SAAS,UAAW,IAAIL,GAEvCE,EAAOI,eAAiBF,EAAe,IAAAG,EAAA,CAAAC,WAAA,MAAAD,EAAAH,iBAAA,OAAAG,CAAA","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @file LayoutRegistry.ts
3
+ * @description Centralized registry for all available layout managers (e.g. Form, Table, Wizard).
4
+ */
5
+ import { Registry } from "./Registry";
6
+ import { ILayoutManager } from "../interfaces/ILayoutManager";
7
+ import { FormLayout } from "../layouts/FormLayout";
8
+ import { TableLayout } from "../layouts/TableLayout";
9
+ import { WizardLayout } from "../layouts/WizardLayout";
10
+ import { CompactLayout } from "../layouts/CompactLayout";
11
+ import { Engine } from "./Engine";
12
+
13
+ /**
14
+ * The globally exposed registry containing instantiations of the layout strategies.
15
+ * It is injected directly into the Engine to avoid circular dependencies.
16
+ *
17
+ * @public
18
+ */
19
+ export const LayoutRegistry = new Registry<ILayoutManager>("Layouts");
20
+
21
+ LayoutRegistry.register("form", new FormLayout());
22
+ LayoutRegistry.register("table", new TableLayout());
23
+ LayoutRegistry.register("wizard", new WizardLayout());
24
+ LayoutRegistry.register("compact", new CompactLayout());
25
+
26
+ Engine.layoutRegistry = LayoutRegistry;
@@ -0,0 +1,123 @@
1
+ sap.ui.define(["./Registry", "../plugins/validators/PatternValidatorPlugin", "../plugins/validators/MinLengthValidatorPlugin", "../plugins/validators/RangeValidatorPlugin", "../plugins/validators/UrlValidatorPlugin", "../plugins/validators/IbanValidatorPlugin", "../plugins/validators/EmailValidatorPlugin", "../plugins/formatters/DateFormatterPlugin", "../plugins/formatters/PhoneFormatterPlugin", "../plugins/formatters/TextCaseFormatterPlugin", "../utils/Logger"], function (___Registry, ___plugins_validators_PatternValidatorPlugin, ___plugins_validators_MinLengthValidatorPlugin, ___plugins_validators_RangeValidatorPlugin, ___plugins_validators_UrlValidatorPlugin, ___plugins_validators_IbanValidatorPlugin, ___plugins_validators_EmailValidatorPlugin, ___plugins_formatters_DateFormatterPlugin, ___plugins_formatters_PhoneFormatterPlugin, ___plugins_formatters_TextCaseFormatterPlugin, ___utils_Logger) {
2
+ "use strict";
3
+
4
+ /**
5
+ * @file PipelineManager.ts
6
+ * @description Central manager for the data manipulation pipeline.
7
+ * Orchestrates Formatting, Parsing, and Validating data using the generic Registry.
8
+ */
9
+ const Registry = ___Registry["Registry"];
10
+ const PatternValidatorPlugin = ___plugins_validators_PatternValidatorPlugin["PatternValidatorPlugin"];
11
+ const MinLengthValidatorPlugin = ___plugins_validators_MinLengthValidatorPlugin["MinLengthValidatorPlugin"];
12
+ const RangeValidatorPlugin = ___plugins_validators_RangeValidatorPlugin["RangeValidatorPlugin"];
13
+ const UrlValidatorPlugin = ___plugins_validators_UrlValidatorPlugin["UrlValidatorPlugin"];
14
+ const IbanValidatorPlugin = ___plugins_validators_IbanValidatorPlugin["IbanValidatorPlugin"];
15
+ const EmailValidatorPlugin = ___plugins_validators_EmailValidatorPlugin["EmailValidatorPlugin"];
16
+ const DateFormatterPlugin = ___plugins_formatters_DateFormatterPlugin["DateFormatterPlugin"];
17
+ const PhoneFormatterPlugin = ___plugins_formatters_PhoneFormatterPlugin["PhoneFormatterPlugin"];
18
+ const TextCaseFormatterPlugin = ___plugins_formatters_TextCaseFormatterPlugin["TextCaseFormatterPlugin"];
19
+ const Logger = ___utils_Logger["Logger"]; // --- Built-in Default Validators ---
20
+ class RequiredValidator {
21
+ validate(parsedValue, args) {
22
+ if (parsedValue === null || parsedValue === undefined || parsedValue === "") {
23
+ return {
24
+ isValid: false,
25
+ errorMessage: "This field is required."
26
+ };
27
+ }
28
+ return {
29
+ isValid: true
30
+ };
31
+ }
32
+ }
33
+ class MaxLengthValidator {
34
+ validate(parsedValue, args) {
35
+ if (typeof parsedValue === "string" && args && typeof args === "number") {
36
+ if (parsedValue.length > args) {
37
+ return {
38
+ isValid: false,
39
+ errorMessage: `Maximum length is ${args} characters.`
40
+ };
41
+ }
42
+ }
43
+ return {
44
+ isValid: true
45
+ };
46
+ }
47
+ }
48
+
49
+ /**
50
+ * The core engine responsible for marshalling data through the validation, formatting, and parsing phases.
51
+ * Pluggable design allows new validators to be registered dynamically.
52
+ *
53
+ * @namespace nz.co.siliconst.ui5.metaui.core
54
+ * @public
55
+ */
56
+ class PipelineManager {
57
+ /** Registry of data formatters applied before pushing to the UI. */
58
+ formatters = new Registry("Formatters");
59
+ /** Registry of data parsers applied when pulling data from the UI. */
60
+ parsers = new Registry("Parsers");
61
+ /** Registry of business logic validators. */
62
+ validators = new Registry("Validators");
63
+
64
+ /**
65
+ * Bootstraps the PipelineManager with default validators (required, maxLength, email).
66
+ */
67
+ constructor() {
68
+ // Register default validators
69
+ this.validators.register("required", new RequiredValidator());
70
+ this.validators.register("maxLength", new MaxLengthValidator());
71
+ this.validators.register("pattern", new PatternValidatorPlugin());
72
+ this.validators.register("minLength", new MinLengthValidatorPlugin());
73
+ this.validators.register("range", new RangeValidatorPlugin());
74
+ this.validators.register("url", new UrlValidatorPlugin());
75
+ this.validators.register("iban", new IbanValidatorPlugin());
76
+ this.validators.register("email", new EmailValidatorPlugin());
77
+
78
+ // Register default formatters
79
+ this.formatters.register("date", new DateFormatterPlugin());
80
+ this.formatters.register("phone", new PhoneFormatterPlugin());
81
+ this.formatters.register("textCase", new TextCaseFormatterPlugin());
82
+ }
83
+
84
+ /**
85
+ * Executes the validation pipeline sequentially. Fails fast on the first encountered error.
86
+ *
87
+ * @param parsedValue The raw extracted value from the UI control.
88
+ * @param requestedValidators Array of validation rule keys (e.g. ['required', 'email']).
89
+ * @param argsMap Optional map of parameters required by specific rules (e.g. { maxLength: 50 }).
90
+ * @returns {IValidationResult} The final result state and any associated error message.
91
+ */
92
+ executeValidation(parsedValue, requestedValidators, argsMap) {
93
+ for (const rule of requestedValidators) {
94
+ const validator = this.validators.get(rule);
95
+ if (validator) {
96
+ const args = argsMap ? argsMap[rule] : undefined;
97
+ const result = validator.validate(parsedValue, args);
98
+ if (!result.isValid) {
99
+ return result; // Fast fail on first error
100
+ }
101
+ } else {
102
+ Logger.warn(`[MetaUI] PipelineManager: Requested validator '${rule}' not found in registry.`);
103
+ }
104
+ }
105
+ return {
106
+ isValid: true
107
+ };
108
+ }
109
+ }
110
+
111
+ /**
112
+ * Singleton instance for global access to the active validation pipeline.
113
+ * @public
114
+ */
115
+ const GlobalPipeline = new PipelineManager();
116
+ var __exports = {
117
+ __esModule: true
118
+ };
119
+ __exports.PipelineManager = PipelineManager;
120
+ __exports.GlobalPipeline = GlobalPipeline;
121
+ return __exports;
122
+ });
123
+ //# sourceMappingURL=PipelineManager-dbg.js.map