@siliconst/metaui 1.4.21 → 1.4.37

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 (555) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator-dbg.js +22 -20
  4. package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator-dbg.js.map +1 -1
  5. package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.d.ts +3 -3
  6. package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.d.ts.map +1 -1
  7. package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.js +1 -1
  8. package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.js.map +1 -1
  9. package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.ts +24 -16
  10. package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy-dbg.js.map +1 -1
  11. package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy.js.map +1 -1
  12. package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy.ts +2 -2
  13. package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants-dbg.js +111 -0
  14. package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants-dbg.js.map +1 -0
  15. package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.d.ts +95 -0
  16. package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.d.ts.map +1 -0
  17. package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.js +2 -0
  18. package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.js.map +1 -0
  19. package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.ts +101 -0
  20. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl-dbg.js.map +1 -1
  21. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.js.map +1 -1
  22. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.ts +1 -1
  23. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer-dbg.js.map +1 -1
  24. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.d.ts.map +1 -1
  25. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.js.map +1 -1
  26. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.ts +2 -1
  27. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl-dbg.js +2 -2
  28. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl-dbg.js.map +1 -1
  29. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.js +1 -1
  30. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.js.map +1 -1
  31. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.ts +3 -3
  32. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost-dbg.js +47 -47
  33. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost-dbg.js.map +1 -1
  34. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.d.ts +6 -2
  35. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.d.ts.map +1 -1
  36. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.js +1 -1
  37. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.js.map +1 -1
  38. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.ts +62 -66
  39. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl-dbg.js +0 -9
  40. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl-dbg.js.map +1 -1
  41. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.d.ts +0 -9
  42. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.d.ts.map +1 -1
  43. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.js +1 -1
  44. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.js.map +1 -1
  45. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.ts +3 -9
  46. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl-dbg.js +0 -11
  47. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl-dbg.js.map +1 -1
  48. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.d.ts +0 -11
  49. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.d.ts.map +1 -1
  50. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.js +1 -1
  51. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.js.map +1 -1
  52. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.ts +2 -9
  53. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl-dbg.js +2 -7
  54. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl-dbg.js.map +1 -1
  55. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.d.ts +0 -5
  56. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.d.ts.map +1 -1
  57. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.js +1 -1
  58. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.js.map +1 -1
  59. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.ts +3 -7
  60. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl-dbg.js +1 -6
  61. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl-dbg.js.map +1 -1
  62. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.d.ts +0 -5
  63. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.d.ts.map +1 -1
  64. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.js +1 -1
  65. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.js.map +1 -1
  66. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.ts +9 -12
  67. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost-dbg.js +170 -74
  68. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost-dbg.js.map +1 -1
  69. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.d.ts +29 -4
  70. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.d.ts.map +1 -1
  71. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.js +1 -1
  72. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.js.map +1 -1
  73. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.ts +179 -79
  74. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate-dbg.js +41 -38
  75. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate-dbg.js.map +1 -1
  76. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.d.ts +5 -3
  77. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.d.ts.map +1 -1
  78. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.js +1 -1
  79. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.js.map +1 -1
  80. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.ts +46 -38
  81. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate-dbg.js +41 -2
  82. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate-dbg.js.map +1 -1
  83. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.d.ts +6 -2
  84. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.d.ts.map +1 -1
  85. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.js +1 -1
  86. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.js.map +1 -1
  87. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.ts +47 -2
  88. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate-dbg.js.map +1 -1
  89. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.d.ts +1 -1
  90. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.d.ts.map +1 -1
  91. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.js.map +1 -1
  92. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.ts +8 -7
  93. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate-dbg.js +7 -2
  94. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate-dbg.js.map +1 -1
  95. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.d.ts +5 -2
  96. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.d.ts.map +1 -1
  97. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.js +1 -1
  98. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.js.map +1 -1
  99. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.ts +10 -5
  100. package/src/nz/co/siliconst/ui5/metaui/core/Engine-dbg.js +215 -38
  101. package/src/nz/co/siliconst/ui5/metaui/core/Engine-dbg.js.map +1 -1
  102. package/src/nz/co/siliconst/ui5/metaui/core/Engine.d.ts +21 -3
  103. package/src/nz/co/siliconst/ui5/metaui/core/Engine.d.ts.map +1 -1
  104. package/src/nz/co/siliconst/ui5/metaui/core/Engine.js +1 -1
  105. package/src/nz/co/siliconst/ui5/metaui/core/Engine.js.map +1 -1
  106. package/src/nz/co/siliconst/ui5/metaui/core/Engine.ts +218 -40
  107. package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator-dbg.js +86 -0
  108. package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator-dbg.js.map +1 -0
  109. package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.d.ts +16 -0
  110. package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.d.ts.map +1 -0
  111. package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.js +2 -0
  112. package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.js.map +1 -0
  113. package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.ts +82 -0
  114. package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer-dbg.js +142 -0
  115. package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer-dbg.js.map +1 -0
  116. package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.d.ts +24 -0
  117. package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.d.ts.map +1 -0
  118. package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.js +2 -0
  119. package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.js.map +1 -0
  120. package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.ts +147 -0
  121. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager-dbg.js +8 -0
  122. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager-dbg.js.map +1 -1
  123. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.d.ts.map +1 -1
  124. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.js +1 -1
  125. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.js.map +1 -1
  126. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.ts +7 -0
  127. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry-dbg.js +153 -50
  128. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry-dbg.js.map +1 -1
  129. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.d.ts +15 -0
  130. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.d.ts.map +1 -1
  131. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.js +1 -1
  132. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.js.map +1 -1
  133. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.ts +164 -53
  134. package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine-dbg.js +310 -0
  135. package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine-dbg.js.map +1 -0
  136. package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.d.ts +73 -0
  137. package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.d.ts.map +1 -0
  138. package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.js +2 -0
  139. package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.js.map +1 -0
  140. package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.ts +307 -0
  141. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer-dbg.js +35 -14
  142. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer-dbg.js.map +1 -1
  143. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.d.ts.map +1 -1
  144. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.js +1 -1
  145. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.js.map +1 -1
  146. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.ts +40 -15
  147. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator-dbg.js +15 -3
  148. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator-dbg.js.map +1 -1
  149. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.d.ts.map +1 -1
  150. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.js +1 -1
  151. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.js.map +1 -1
  152. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.ts +15 -1
  153. package/src/nz/co/siliconst/ui5/metaui/core/StateManager-dbg.js +82 -16
  154. package/src/nz/co/siliconst/ui5/metaui/core/StateManager-dbg.js.map +1 -1
  155. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.d.ts +16 -0
  156. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.d.ts.map +1 -1
  157. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.js +1 -1
  158. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.js.map +1 -1
  159. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.ts +89 -17
  160. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin-dbg.js.map +1 -1
  161. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.d.ts +12 -1
  162. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.d.ts.map +1 -1
  163. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.ts +13 -1
  164. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin-dbg.js +2 -0
  165. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin-dbg.js.map +1 -0
  166. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin.d.ts +50 -0
  167. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin.d.ts.map +1 -0
  168. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin.js +2 -0
  169. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin.js.map +1 -0
  170. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin.ts +49 -0
  171. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema-dbg.js.map +1 -1
  172. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.d.ts +23 -1
  173. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.d.ts.map +1 -1
  174. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.ts +27 -1
  175. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout-dbg.js +31 -36
  176. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout-dbg.js.map +1 -1
  177. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.d.ts.map +1 -1
  178. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.js +1 -1
  179. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.js.map +1 -1
  180. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.ts +26 -29
  181. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout-dbg.js +47 -11
  182. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout-dbg.js.map +1 -1
  183. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.d.ts.map +1 -1
  184. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.js +1 -1
  185. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.js.map +1 -1
  186. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.ts +48 -12
  187. package/src/nz/co/siliconst/ui5/metaui/library-preload.js +74 -58
  188. package/src/nz/co/siliconst/ui5/metaui/library-preload.js.map +1 -1
  189. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory-dbg.js +3 -2
  190. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory-dbg.js.map +1 -1
  191. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.d.ts.map +1 -1
  192. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.js +1 -1
  193. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.js.map +1 -1
  194. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.ts +3 -2
  195. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver-dbg.js.map +1 -1
  196. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.js.map +1 -1
  197. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.ts +3 -3
  198. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper-dbg.js +2 -1
  199. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper-dbg.js.map +1 -1
  200. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.d.ts +1 -1
  201. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.d.ts.map +1 -1
  202. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.js +1 -1
  203. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.js.map +1 -1
  204. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.ts +4 -3
  205. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine-dbg.js +2 -2
  206. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine-dbg.js.map +1 -1
  207. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine.js.map +1 -1
  208. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine.ts +2 -2
  209. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic-dbg.js +12 -8
  210. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic-dbg.js.map +1 -1
  211. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.d.ts.map +1 -1
  212. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.js +1 -1
  213. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.js.map +1 -1
  214. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.ts +15 -11
  215. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser-dbg.js +20 -12
  216. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser-dbg.js.map +1 -1
  217. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.d.ts +4 -4
  218. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.d.ts.map +1 -1
  219. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.js +1 -1
  220. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.js.map +1 -1
  221. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.ts +24 -16
  222. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser-dbg.js +18 -11
  223. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser-dbg.js.map +1 -1
  224. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.d.ts +4 -4
  225. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.d.ts.map +1 -1
  226. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.js +1 -1
  227. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.js.map +1 -1
  228. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.ts +22 -15
  229. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper-dbg.js +24 -100
  230. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper-dbg.js.map +1 -1
  231. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.d.ts +8 -72
  232. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.d.ts.map +1 -1
  233. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.js +1 -1
  234. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.js.map +1 -1
  235. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.ts +45 -108
  236. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin-dbg.js.map +1 -1
  237. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.d.ts.map +1 -1
  238. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.js.map +1 -1
  239. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.ts +2 -1
  240. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin-dbg.js +24 -18
  241. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin-dbg.js.map +1 -1
  242. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.d.ts +1 -1
  243. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.d.ts.map +1 -1
  244. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.js +1 -1
  245. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.js.map +1 -1
  246. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.ts +23 -21
  247. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin-dbg.js +5 -5
  248. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin-dbg.js.map +1 -1
  249. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.d.ts +1 -1
  250. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.d.ts.map +1 -1
  251. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.js +1 -1
  252. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.js.map +1 -1
  253. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.ts +7 -7
  254. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin-dbg.js +129 -9
  255. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin-dbg.js.map +1 -1
  256. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.d.ts +46 -10
  257. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.d.ts.map +1 -1
  258. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.js +1 -1
  259. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.js.map +1 -1
  260. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.ts +145 -15
  261. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin-dbg.js +35 -14
  262. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin-dbg.js.map +1 -1
  263. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.d.ts +1 -1
  264. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.d.ts.map +1 -1
  265. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.js +1 -1
  266. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.js.map +1 -1
  267. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.ts +38 -14
  268. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin-dbg.js +4 -4
  269. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin-dbg.js.map +1 -1
  270. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.d.ts +1 -1
  271. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.d.ts.map +1 -1
  272. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.js +1 -1
  273. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.js.map +1 -1
  274. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.ts +5 -5
  275. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin-dbg.js +69 -20
  276. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin-dbg.js.map +1 -1
  277. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.d.ts +2 -1
  278. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.d.ts.map +1 -1
  279. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.js +1 -1
  280. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.js.map +1 -1
  281. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.ts +77 -21
  282. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin-dbg.js +3 -3
  283. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin-dbg.js.map +1 -1
  284. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.d.ts +1 -1
  285. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.d.ts.map +1 -1
  286. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.js +1 -1
  287. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.js.map +1 -1
  288. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.ts +5 -5
  289. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin-dbg.js +3 -3
  290. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin-dbg.js.map +1 -1
  291. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.d.ts +1 -1
  292. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.d.ts.map +1 -1
  293. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.js +1 -1
  294. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.js.map +1 -1
  295. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.ts +5 -5
  296. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin-dbg.js +1 -0
  297. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin-dbg.js.map +1 -1
  298. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.d.ts.map +1 -1
  299. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.js +1 -1
  300. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.js.map +1 -1
  301. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.ts +6 -5
  302. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin-dbg.js +8 -3
  303. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin-dbg.js.map +1 -1
  304. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.d.ts +1 -1
  305. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.d.ts.map +1 -1
  306. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.js +1 -1
  307. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.js.map +1 -1
  308. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.ts +10 -5
  309. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin-dbg.js +3 -3
  310. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin-dbg.js.map +1 -1
  311. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.d.ts +1 -1
  312. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.d.ts.map +1 -1
  313. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.js +1 -1
  314. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.js.map +1 -1
  315. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.ts +4 -4
  316. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin-dbg.js +3 -3
  317. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin-dbg.js.map +1 -1
  318. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.d.ts +1 -1
  319. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.d.ts.map +1 -1
  320. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.js +1 -1
  321. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.js.map +1 -1
  322. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.ts +5 -5
  323. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin-dbg.js +4 -4
  324. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin-dbg.js.map +1 -1
  325. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.d.ts +1 -1
  326. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.d.ts.map +1 -1
  327. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.js +1 -1
  328. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.js.map +1 -1
  329. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.ts +5 -5
  330. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin-dbg.js +3 -3
  331. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin-dbg.js.map +1 -1
  332. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.d.ts +1 -1
  333. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.d.ts.map +1 -1
  334. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.js +1 -1
  335. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.js.map +1 -1
  336. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.ts +4 -4
  337. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin-dbg.js.map +1 -1
  338. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.d.ts +1 -1
  339. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.d.ts.map +1 -1
  340. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.js.map +1 -1
  341. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.ts +1 -1
  342. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin-dbg.js +7 -6
  343. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin-dbg.js.map +1 -1
  344. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.d.ts +1 -1
  345. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.d.ts.map +1 -1
  346. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.js +1 -1
  347. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.js.map +1 -1
  348. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.ts +9 -8
  349. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin-dbg.js +2 -2
  350. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin-dbg.js.map +1 -1
  351. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.d.ts +1 -1
  352. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.d.ts.map +1 -1
  353. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.js +1 -1
  354. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.js.map +1 -1
  355. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.ts +3 -3
  356. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin-dbg.js +36 -21
  357. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin-dbg.js.map +1 -1
  358. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.d.ts +1 -1
  359. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.d.ts.map +1 -1
  360. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.js +1 -1
  361. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.js.map +1 -1
  362. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.ts +40 -23
  363. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin-dbg.js +9 -6
  364. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin-dbg.js.map +1 -1
  365. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.d.ts +1 -1
  366. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.d.ts.map +1 -1
  367. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.js +1 -1
  368. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.js.map +1 -1
  369. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.ts +10 -8
  370. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin-dbg.js +3 -3
  371. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin-dbg.js.map +1 -1
  372. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.d.ts +1 -1
  373. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.d.ts.map +1 -1
  374. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.js +1 -1
  375. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.js.map +1 -1
  376. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.ts +4 -4
  377. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin-dbg.js +3 -3
  378. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin-dbg.js.map +1 -1
  379. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.d.ts +1 -1
  380. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.d.ts.map +1 -1
  381. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.js +1 -1
  382. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.js.map +1 -1
  383. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.ts +5 -5
  384. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin-dbg.js +29 -12
  385. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin-dbg.js.map +1 -1
  386. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.d.ts +5 -1
  387. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.d.ts.map +1 -1
  388. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.js +1 -1
  389. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.js.map +1 -1
  390. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.ts +30 -10
  391. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin-dbg.js +4 -4
  392. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin-dbg.js.map +1 -1
  393. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.d.ts +1 -1
  394. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.d.ts.map +1 -1
  395. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.js +1 -1
  396. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.js.map +1 -1
  397. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.ts +5 -5
  398. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin-dbg.js +4 -4
  399. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin-dbg.js.map +1 -1
  400. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.d.ts +1 -1
  401. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.d.ts.map +1 -1
  402. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.js +1 -1
  403. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.js.map +1 -1
  404. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.ts +5 -5
  405. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin-dbg.js +3 -3
  406. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin-dbg.js.map +1 -1
  407. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.d.ts +1 -1
  408. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.d.ts.map +1 -1
  409. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.js +1 -1
  410. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.js.map +1 -1
  411. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.ts +4 -4
  412. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin-dbg.js +3 -3
  413. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin-dbg.js.map +1 -1
  414. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.d.ts +1 -1
  415. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.d.ts.map +1 -1
  416. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.js +1 -1
  417. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.js.map +1 -1
  418. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.ts +5 -5
  419. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin-dbg.js +3 -3
  420. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin-dbg.js.map +1 -1
  421. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.d.ts +1 -1
  422. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.d.ts.map +1 -1
  423. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.js +1 -1
  424. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.js.map +1 -1
  425. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.ts +4 -4
  426. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin-dbg.js +2 -2
  427. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin-dbg.js.map +1 -1
  428. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.d.ts +1 -1
  429. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.d.ts.map +1 -1
  430. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.js +1 -1
  431. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.js.map +1 -1
  432. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.ts +3 -3
  433. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin-dbg.js +58 -56
  434. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin-dbg.js.map +1 -1
  435. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.d.ts +2 -5
  436. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.d.ts.map +1 -1
  437. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.js +1 -1
  438. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.js.map +1 -1
  439. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.ts +66 -55
  440. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin-dbg.js +3 -3
  441. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin-dbg.js.map +1 -1
  442. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.d.ts +1 -1
  443. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.d.ts.map +1 -1
  444. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.js +1 -1
  445. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.js.map +1 -1
  446. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.ts +4 -4
  447. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin-dbg.js +4 -4
  448. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin-dbg.js.map +1 -1
  449. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.d.ts +1 -1
  450. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.d.ts.map +1 -1
  451. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.js +1 -1
  452. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.js.map +1 -1
  453. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.ts +5 -5
  454. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin-dbg.js.map +1 -1
  455. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.d.ts.map +1 -1
  456. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.js.map +1 -1
  457. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.ts +5 -3
  458. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin-dbg.js +2 -1
  459. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin-dbg.js.map +1 -1
  460. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.d.ts.map +1 -1
  461. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.js +1 -1
  462. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.js.map +1 -1
  463. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.ts +6 -3
  464. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin-dbg.js +30 -9
  465. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin-dbg.js.map +1 -1
  466. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.d.ts +2 -2
  467. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.d.ts.map +1 -1
  468. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.js +1 -1
  469. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.js.map +1 -1
  470. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.ts +41 -13
  471. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin-dbg.js.map +1 -1
  472. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.d.ts.map +1 -1
  473. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.js.map +1 -1
  474. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.ts +5 -3
  475. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin-dbg.js +41 -0
  476. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin-dbg.js.map +1 -0
  477. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin.d.ts +24 -0
  478. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin.d.ts.map +1 -0
  479. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin.js +2 -0
  480. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin.js.map +1 -0
  481. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin.ts +34 -0
  482. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin-dbg.js +41 -0
  483. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin-dbg.js.map +1 -0
  484. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin.d.ts +24 -0
  485. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin.d.ts.map +1 -0
  486. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin.js +2 -0
  487. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin.js.map +1 -0
  488. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin.ts +34 -0
  489. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin-dbg.js +52 -0
  490. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin-dbg.js.map +1 -0
  491. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin.d.ts +30 -0
  492. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin.d.ts.map +1 -0
  493. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin.js +2 -0
  494. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin.js.map +1 -0
  495. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin.ts +45 -0
  496. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin-dbg.js +52 -0
  497. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin-dbg.js.map +1 -0
  498. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin.d.ts +30 -0
  499. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin.d.ts.map +1 -0
  500. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin.js +2 -0
  501. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin.js.map +1 -0
  502. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin.ts +45 -0
  503. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin-dbg.js +41 -0
  504. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin-dbg.js.map +1 -0
  505. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin.d.ts +24 -0
  506. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin.d.ts.map +1 -0
  507. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin.js +2 -0
  508. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin.js.map +1 -0
  509. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin.ts +34 -0
  510. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin-dbg.js +40 -0
  511. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin-dbg.js.map +1 -0
  512. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin.d.ts +28 -0
  513. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin.d.ts.map +1 -0
  514. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin.js +2 -0
  515. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin.js.map +1 -0
  516. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin.ts +34 -0
  517. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin-dbg.js +40 -0
  518. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin-dbg.js.map +1 -0
  519. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin.d.ts +28 -0
  520. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin.d.ts.map +1 -0
  521. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin.js +2 -0
  522. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin.js.map +1 -0
  523. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin.ts +34 -0
  524. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin-dbg.js +40 -0
  525. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin-dbg.js.map +1 -0
  526. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin.d.ts +28 -0
  527. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin.d.ts.map +1 -0
  528. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin.js +2 -0
  529. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin.js.map +1 -0
  530. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin.ts +34 -0
  531. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin-dbg.js +40 -0
  532. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin-dbg.js.map +1 -0
  533. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin.d.ts +28 -0
  534. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin.d.ts.map +1 -0
  535. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin.js +2 -0
  536. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin.js.map +1 -0
  537. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin.ts +34 -0
  538. package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider-dbg.js +33 -0
  539. package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider-dbg.js.map +1 -0
  540. package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider.d.ts +14 -0
  541. package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider.d.ts.map +1 -0
  542. package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider.js +2 -0
  543. package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider.js.map +1 -0
  544. package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider.ts +24 -0
  545. package/src/nz/co/siliconst/ui5/metaui/utils/Logger-dbg.js.map +1 -1
  546. package/src/nz/co/siliconst/ui5/metaui/utils/Logger.d.ts.map +1 -1
  547. package/src/nz/co/siliconst/ui5/metaui/utils/Logger.js.map +1 -1
  548. package/src/nz/co/siliconst/ui5/metaui/utils/Logger.ts +1 -1
  549. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine-dbg.js +0 -75
  550. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine-dbg.js.map +0 -1
  551. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.d.ts +0 -47
  552. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.d.ts.map +0 -1
  553. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.js +0 -2
  554. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.js.map +0 -1
  555. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.ts +0 -72
@@ -1,4 +1,4 @@
1
- sap.ui.define(["../utils/Logger"], function (___utils_Logger) {
1
+ sap.ui.define(["../constants/MetaUIConstants", "../utils/Logger"], function (___constants_MetaUIConstants, ___utils_Logger) {
2
2
  "use strict";
3
3
 
4
4
  /**
@@ -7,66 +7,88 @@ sap.ui.define(["../utils/Logger"], function (___utils_Logger) {
7
7
  * Enforces the Registry Pattern to decouple the core engine from specific UI5 control implementations.
8
8
  * NOW WITH UNIVERSAL LAZY LOADING.
9
9
  */
10
+ const SCHEMA_TYPE = ___constants_MetaUIConstants["SCHEMA_TYPE"];
11
+ const WIDGET_TYPE = ___constants_MetaUIConstants["WIDGET_TYPE"];
12
+ const LAYOUT_STRATEGY = ___constants_MetaUIConstants["LAYOUT_STRATEGY"];
10
13
  const Logger = ___utils_Logger["Logger"];
11
14
  class PluginRegistry {
12
15
  fieldIndex = {};
13
16
  actionIndex = {};
14
17
  layoutIndex = {};
18
+ policyConditionIndex = {};
19
+ policyEffectIndex = {};
15
20
  activePromises = {};
16
21
  constructor() {
17
22
  // Core Mappings
18
- this.registerPluginPath("string", undefined, "nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin");
19
- this.registerPluginPath("number", undefined, "nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin");
20
- this.registerPluginPath("integer", undefined, "nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin");
21
- this.registerPluginPath("date", undefined, "nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin");
22
- this.registerPluginPath("boolean", undefined, "nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin");
23
- this.registerPluginPath("array", undefined, "nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin");
24
- this.registerPluginPath("object", undefined, "nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin");
25
- this.registerPluginPath("string", "default", "nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin");
26
- this.registerPluginPath("object", "dictionary", "nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin");
27
- this.registerPluginPath("object", "reference", "nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin");
23
+ this.registerPluginPath(SCHEMA_TYPE.STRING, undefined, "nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin");
24
+ this.registerPluginPath(SCHEMA_TYPE.NUMBER, undefined, "nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin");
25
+ this.registerPluginPath(SCHEMA_TYPE.INTEGER, undefined, "nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin");
26
+ this.registerPluginPath(SCHEMA_TYPE.DATE, undefined, "nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin");
27
+ this.registerPluginPath(SCHEMA_TYPE.BOOLEAN, undefined, "nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin");
28
+ this.registerPluginPath(SCHEMA_TYPE.ARRAY, undefined, "nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin");
29
+ this.registerPluginPath(SCHEMA_TYPE.OBJECT, undefined, "nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin");
30
+ this.registerPluginPath(SCHEMA_TYPE.STRING, "default", "nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin");
31
+ this.registerPluginPath(SCHEMA_TYPE.OBJECT, WIDGET_TYPE.DICTIONARY_MAP, "nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin");
32
+ this.registerPluginPath(SCHEMA_TYPE.OBJECT, WIDGET_TYPE.REFERENCE, "nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin");
28
33
 
29
34
  // Widget Overrides
30
- this.registerPluginPath("string", "time", "nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin");
31
- this.registerPluginPath("string", "datetime", "nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin");
32
- this.registerPluginPath("boolean", "switch", "nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin");
33
- this.registerPluginPath("number", "step", "nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin");
34
- this.registerPluginPath("string", "select", "nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin");
35
- this.registerPluginPath("string", "textArea", "nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin");
36
- this.registerPluginPath("string", "codeEditor", "nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin");
37
- this.registerPluginPath("string", "link", "nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin");
38
- this.registerPluginPath("string", "password", "nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin");
39
- this.registerPluginPath("string", "email", "nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin");
35
+ this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.TIME, "nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin");
36
+ this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.DATETIME, "nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin");
37
+ this.registerPluginPath(SCHEMA_TYPE.BOOLEAN, WIDGET_TYPE.SWITCH, "nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin");
38
+ this.registerPluginPath(SCHEMA_TYPE.NUMBER, WIDGET_TYPE.STEP, "nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin");
39
+ this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.SELECT, "nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin");
40
+ this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.TEXT_AREA, "nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin");
41
+ this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.CODE_EDITOR, "nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin");
42
+ this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.LINK, "nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin");
43
+ this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.PASSWORD, "nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin");
44
+ this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.EMAIL, "nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin");
40
45
 
41
46
  // Phase 1 Mappings
42
- this.registerPluginPath("string", "fileUploader", "nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin");
43
- this.registerPluginPath("array", "multiSelect", "nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin");
44
- this.registerPluginPath("array", "multiInput", "nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin");
45
- this.registerPluginPath("number", "slider", "nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin");
46
- this.registerPluginPath("number", "rating", "nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin");
47
- this.registerPluginPath("string", "messageStrip", "nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin");
47
+ this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.FILE_UPLOADER, "nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin");
48
+ this.registerPluginPath(SCHEMA_TYPE.ARRAY, WIDGET_TYPE.MULTI_SELECT, "nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin");
49
+ this.registerPluginPath(SCHEMA_TYPE.ARRAY, WIDGET_TYPE.MULTI_INPUT, "nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin");
50
+ this.registerPluginPath(SCHEMA_TYPE.NUMBER, WIDGET_TYPE.SLIDER, "nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin");
51
+ this.registerPluginPath(SCHEMA_TYPE.NUMBER, WIDGET_TYPE.RATING, "nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin");
52
+ this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.MESSAGE_STRIP, "nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin");
48
53
 
49
54
  // Phase 5 Mappings (Hardware)
50
- this.registerPluginPath("string", "camera", "nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin");
51
- this.registerPluginPath("string", "signature", "nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin");
52
- this.registerPluginPath("object", "location", "nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin");
53
- this.registerPluginPath("string", "scanner", "nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin");
54
- this.registerPluginPath("string", "voiceInput", "nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin");
55
- this.registerPluginPath("string", "richText", "nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin");
55
+ this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.CAMERA, "nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin");
56
+ this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.SIGNATURE, "nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin");
57
+ this.registerPluginPath(SCHEMA_TYPE.OBJECT, WIDGET_TYPE.LOCATION, "nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin");
58
+ this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.SCANNER, "nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin");
59
+ this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.VOICE_INPUT, "nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin");
60
+ this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.RICH_TEXT, "nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin");
56
61
 
57
62
  // Actions & Datasources
58
- this.registerPluginPath("string", "urlButton", "nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin");
59
- this.registerPluginPath("string", "submitButton", "nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin");
60
- this.registerPluginPath("string", "odataSelect", "nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin");
61
- this.registerPluginPath("string", "remoteDropdown", "nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin");
62
- this.registerPluginPath("string", "liveSearch", "nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin");
63
- this.registerPluginPath("string", "remoteValueHelp", "nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin");
63
+ this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.URL_BUTTON, "nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin");
64
+ this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.SUBMIT_BUTTON, "nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin");
65
+ this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.ODATA_SELECT, "nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin");
66
+ this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.REMOTE_DROPDOWN, "nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin");
67
+ this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.LIVE_SEARCH, "nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin");
68
+ this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.REMOTE_VALUE_HELP, "nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin");
64
69
 
65
70
  // Layouts
66
- this.registerLayoutPath("form", "nz/co/siliconst/ui5/metaui/layouts/FormLayout");
67
- this.registerLayoutPath("table", "nz/co/siliconst/ui5/metaui/layouts/TableLayout");
68
- this.registerLayoutPath("wizard", "nz/co/siliconst/ui5/metaui/layouts/WizardLayout");
69
- this.registerLayoutPath("compact", "nz/co/siliconst/ui5/metaui/layouts/CompactLayout");
71
+ this.registerLayoutPath(LAYOUT_STRATEGY.FORM, "nz/co/siliconst/ui5/metaui/layouts/FormLayout");
72
+ this.registerLayoutPath(LAYOUT_STRATEGY.TABLE, "nz/co/siliconst/ui5/metaui/layouts/TableLayout");
73
+ this.registerLayoutPath(LAYOUT_STRATEGY.WIZARD, "nz/co/siliconst/ui5/metaui/layouts/WizardLayout");
74
+ this.registerLayoutPath(LAYOUT_STRATEGY.COMPACT, "nz/co/siliconst/ui5/metaui/layouts/CompactLayout");
75
+
76
+ // Policy Condition Plugins
77
+ this.registerPolicyConditionPath("NumericGreaterThan", "nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin");
78
+ this.registerPolicyConditionPath("NumericLessThan", "nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin");
79
+ this.registerPolicyConditionPath("StringEquals", "nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin");
80
+ this.registerPolicyConditionPath("IsNull", "nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin");
81
+ this.registerPolicyConditionPath("IsNotNull", "nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin");
82
+
83
+ // Policy Effect Plugins
84
+ this.registerPolicyEffectPath("Show", "nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin");
85
+ this.registerPolicyEffectPath("Hide", "nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin");
86
+ this.registerPolicyEffectPath("Validate", "nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin");
87
+ this.registerPolicyEffectPath("Invalidate", "nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin");
88
+ this.registerPolicyEffectPath("Require", "nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin");
89
+ this.registerPolicyEffectPath("Optional", "nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin");
90
+ this.registerPolicyEffectPath("Enable", "nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin");
91
+ this.registerPolicyEffectPath("Disable", "nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin");
70
92
  }
71
93
  static getInstance() {
72
94
  if (!PluginRegistry.instance) {
@@ -84,6 +106,12 @@ sap.ui.define(["../utils/Logger"], function (___utils_Logger) {
84
106
  registerLayoutPath(strategy, path) {
85
107
  this.layoutIndex[strategy] = path;
86
108
  }
109
+ registerPolicyConditionPath(conditionKey, path) {
110
+ this.policyConditionIndex[conditionKey] = path;
111
+ }
112
+ registerPolicyEffectPath(effectName, path) {
113
+ this.policyEffectIndex[effectName] = path;
114
+ }
87
115
  getFieldPath(type, widgetName) {
88
116
  let path;
89
117
  if (widgetName) {
@@ -116,7 +144,7 @@ sap.ui.define(["../utils/Logger"], function (___utils_Logger) {
116
144
  const pathsToLoad = new Set();
117
145
 
118
146
  // 1. Gather layout strategy
119
- const strategy = schema.layoutStrategy || (schema.type === "array" ? "table" : "form");
147
+ const strategy = schema.layoutStrategy || (schema.type === SCHEMA_TYPE.ARRAY ? LAYOUT_STRATEGY.TABLE : LAYOUT_STRATEGY.FORM);
120
148
  pathsToLoad.add(this.getLayoutPath(strategy));
121
149
 
122
150
  // 2. Recursively gather field plugins
@@ -124,7 +152,7 @@ sap.ui.define(["../utils/Logger"], function (___utils_Logger) {
124
152
  for (const key in props) {
125
153
  const prop = props[key];
126
154
  try {
127
- pathsToLoad.add(this.getFieldPath(prop.type || "string", prop.ui?.widget));
155
+ pathsToLoad.add(this.getFieldPath(prop.type || SCHEMA_TYPE.STRING, prop.ui?.widget));
128
156
  } catch (e) {
129
157
  const msg = `[MetaUI LazyLoad] Could not find mapped plugin for field ${key}: ${e.message}`;
130
158
  Logger.error(msg);
@@ -148,6 +176,22 @@ sap.ui.define(["../utils/Logger"], function (___utils_Logger) {
148
176
  } else if (schema.items && schema.items.properties) {
149
177
  scanProperties(schema.items.properties);
150
178
  }
179
+
180
+ // 3. Gather Policy Plugins
181
+ if (schema.uiPolicies) {
182
+ for (const policy of schema.uiPolicies) {
183
+ if (policy.condition) {
184
+ for (const key of Object.keys(policy.condition)) {
185
+ if (this.policyConditionIndex[key]) {
186
+ pathsToLoad.add(this.policyConditionIndex[key]);
187
+ }
188
+ }
189
+ }
190
+ if (policy.effect && this.policyEffectIndex[policy.effect]) {
191
+ pathsToLoad.add(this.policyEffectIndex[policy.effect]);
192
+ }
193
+ }
194
+ }
151
195
  return pathsToLoad;
152
196
  }
153
197
 
@@ -166,7 +210,15 @@ sap.ui.define(["../utils/Logger"], function (___utils_Logger) {
166
210
  const promises = Array.from(pathsToLoad).map(path => {
167
211
  if (!this.activePromises[path]) {
168
212
  this.activePromises[path] = new Promise((resolve, reject) => {
169
- sap.ui.require([path], Module => resolve(Module), err => {
213
+ sap.ui.require([path], Module => {
214
+ if (!this.extractConstructor(Module)) {
215
+ Logger.error(`[MetaUI PluginRegistry] Module ${path} loaded successfully but exported no valid constructor.`);
216
+ delete this.activePromises[path];
217
+ reject(new Error(`Invalid module export: ${path}`));
218
+ } else {
219
+ resolve(Module);
220
+ }
221
+ }, err => {
170
222
  Logger.error(`Failed to lazy load module: ${path}`);
171
223
  // CRITICAL: Delete from cache so future attempts can retry the network request
172
224
  delete this.activePromises[path];
@@ -185,17 +237,44 @@ sap.ui.define(["../utils/Logger"], function (___utils_Logger) {
185
237
  extractConstructor(Module) {
186
238
  if (!Module) return null;
187
239
  if (typeof Module === "function") return Module;
188
- if (Module.default && typeof Module.default === "function") return Module.default;
240
+ const mod = Module;
241
+ if (mod.default && typeof mod.default === "function") return mod.default;
189
242
 
190
243
  // Handle namespace exports (e.g. { FormLayout: class... })
191
- const keys = Object.keys(Module);
244
+ const keys = Object.keys(mod);
192
245
  for (const key of keys) {
193
- if (typeof Module[key] === "function") {
194
- return Module[key];
246
+ if (typeof mod[key] === "function") {
247
+ return mod[key];
195
248
  }
196
249
  }
197
250
  return null;
198
251
  }
252
+ getPluginScore(type, widgetName) {
253
+ try {
254
+ const path = this.getFieldPath(type, widgetName);
255
+ const Module = sap.ui.require(path);
256
+ const Constructor = this.extractConstructor(Module);
257
+ if (Constructor && typeof Constructor.layoutScore === "number") {
258
+ return Constructor.layoutScore;
259
+ }
260
+ } catch (e) {
261
+ // Ignore if module not loaded or mapping missing, fallback to 1
262
+ }
263
+ return 1;
264
+ }
265
+ isPluginNativelyWide(type, widgetName) {
266
+ try {
267
+ const path = this.getFieldPath(type, widgetName);
268
+ const Module = sap.ui.require(path);
269
+ const Constructor = this.extractConstructor(Module);
270
+ if (Constructor && typeof Constructor.isNativelyWide === "boolean") {
271
+ return Constructor.isNativelyWide;
272
+ }
273
+ } catch (e) {
274
+ // Ignore errors, default false
275
+ }
276
+ return false;
277
+ }
199
278
 
200
279
  /**
201
280
  * Instantiates the requested plugin for the given field type.
@@ -222,6 +301,30 @@ sap.ui.define(["../utils/Logger"], function (___utils_Logger) {
222
301
  }
223
302
  return new LayoutClass();
224
303
  }
304
+
305
+ /**
306
+ * Gets a specific condition plugin.
307
+ */
308
+ getPolicyConditionPlugin(conditionKey) {
309
+ const path = this.policyConditionIndex[conditionKey];
310
+ if (!path) return undefined;
311
+ const Module = sap.ui.require(path);
312
+ const PluginClass = this.extractConstructor(Module);
313
+ if (!PluginClass) return undefined;
314
+ return new PluginClass();
315
+ }
316
+
317
+ /**
318
+ * Gets a specific effect plugin.
319
+ */
320
+ getPolicyEffectPlugin(effectName) {
321
+ const path = this.policyEffectIndex[effectName];
322
+ if (!path) return undefined;
323
+ const Module = sap.ui.require(path);
324
+ const PluginClass = this.extractConstructor(Module);
325
+ if (!PluginClass) return undefined;
326
+ return new PluginClass();
327
+ }
225
328
  }
226
329
  var __exports = {
227
330
  __esModule: true
@@ -1 +1 @@
1
- {"version":3,"file":"PluginRegistry-dbg.js","names":["Logger","___utils_Logger","PluginRegistry","fieldIndex","actionIndex","layoutIndex","activePromises","constructor","registerPluginPath","undefined","registerLayoutPath","getInstance","instance","type","widgetName","path","key","registerActionPath","actionName","strategy","getFieldPath","Error","getLayoutPath","getPathsToLoad","schema","pathsToLoad","Set","layoutStrategy","add","scanProperties","props","prop","ui","widget","e","msg","message","error","properties","items","preloadDependencies","promises","Array","from","map","Promise","resolve","reject","sap","require","Module","err","all","extractConstructor","default","keys","Object","getPlugin","PluginClass","getLayout","LayoutClass","__exports","__esModule"],"sources":["PluginRegistry.ts"],"sourcesContent":["/**\n * @file PluginRegistry.ts\n * @description Centralized hub for mapping UI5 controls to SAP schema data types.\n * Enforces the Registry Pattern to decouple the core engine from specific UI5 control implementations.\n * NOW WITH UNIVERSAL LAZY LOADING.\n */\n\nimport { IPlugin } from \"../interfaces/IPlugin\";\nimport { FieldType, ISchema, IPropertyMetadata } from \"../interfaces/ISchema\";\nimport { ILayoutManager } from \"../interfaces/ILayoutManager\";\nimport { Logger } from \"../utils/Logger\";\nimport { DefaultLayoutGenerator } from \"./DefaultLayoutGenerator\";\n\nexport class PluginRegistry {\n private static instance: PluginRegistry;\n \n private fieldIndex: Record<string, string> = {};\n private actionIndex: Record<string, string> = {};\n private layoutIndex: Record<string, string> = {};\n \n private activePromises: Record<string, Promise<unknown>> = {};\n\n private constructor() {\n // Core Mappings\n this.registerPluginPath(\"string\", undefined, \"nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin\");\n this.registerPluginPath(\"number\", undefined, \"nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin\");\n this.registerPluginPath(\"integer\", undefined, \"nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin\");\n this.registerPluginPath(\"date\", undefined, \"nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin\");\n this.registerPluginPath(\"boolean\", undefined, \"nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin\");\n this.registerPluginPath(\"array\", undefined, \"nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin\");\n this.registerPluginPath(\"object\", undefined, \"nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin\");\n this.registerPluginPath(\"string\", \"default\", \"nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin\");\n this.registerPluginPath(\"object\", \"dictionary\", \"nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin\");\n this.registerPluginPath(\"object\", \"reference\", \"nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin\");\n\n // Widget Overrides\n this.registerPluginPath(\"string\", \"time\", \"nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin\");\n this.registerPluginPath(\"string\", \"datetime\", \"nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin\");\n this.registerPluginPath(\"boolean\", \"switch\", \"nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin\");\n this.registerPluginPath(\"number\", \"step\", \"nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin\");\n this.registerPluginPath(\"string\", \"select\", \"nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin\");\n this.registerPluginPath(\"string\", \"textArea\", \"nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin\");\n this.registerPluginPath(\"string\", \"codeEditor\", \"nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin\");\n this.registerPluginPath(\"string\", \"link\", \"nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin\");\n this.registerPluginPath(\"string\", \"password\", \"nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin\");\n this.registerPluginPath(\"string\", \"email\", \"nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin\");\n \n // Phase 1 Mappings\n this.registerPluginPath(\"string\", \"fileUploader\", \"nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin\");\n this.registerPluginPath(\"array\", \"multiSelect\", \"nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin\");\n this.registerPluginPath(\"array\", \"multiInput\", \"nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin\");\n this.registerPluginPath(\"number\", \"slider\", \"nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin\");\n this.registerPluginPath(\"number\", \"rating\", \"nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin\");\n this.registerPluginPath(\"string\", \"messageStrip\", \"nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin\");\n\n // Phase 5 Mappings (Hardware)\n this.registerPluginPath(\"string\", \"camera\", \"nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin\");\n this.registerPluginPath(\"string\", \"signature\", \"nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin\");\n this.registerPluginPath(\"object\", \"location\", \"nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin\");\n this.registerPluginPath(\"string\", \"scanner\", \"nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin\");\n this.registerPluginPath(\"string\", \"voiceInput\", \"nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin\");\n this.registerPluginPath(\"string\", \"richText\", \"nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin\");\n\n // Actions & Datasources\n this.registerPluginPath(\"string\", \"urlButton\", \"nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin\");\n this.registerPluginPath(\"string\", \"submitButton\", \"nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin\");\n this.registerPluginPath(\"string\", \"odataSelect\", \"nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin\");\n this.registerPluginPath(\"string\", \"remoteDropdown\", \"nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin\");\n this.registerPluginPath(\"string\", \"liveSearch\", \"nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin\");\n this.registerPluginPath(\"string\", \"remoteValueHelp\", \"nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin\");\n\n // Layouts\n this.registerLayoutPath(\"form\", \"nz/co/siliconst/ui5/metaui/layouts/FormLayout\");\n this.registerLayoutPath(\"table\", \"nz/co/siliconst/ui5/metaui/layouts/TableLayout\");\n this.registerLayoutPath(\"wizard\", \"nz/co/siliconst/ui5/metaui/layouts/WizardLayout\");\n this.registerLayoutPath(\"compact\", \"nz/co/siliconst/ui5/metaui/layouts/CompactLayout\");\n }\n\n public static getInstance(): PluginRegistry {\n if (!PluginRegistry.instance) {\n PluginRegistry.instance = new PluginRegistry();\n }\n return PluginRegistry.instance;\n }\n\n public registerPluginPath(type: FieldType, widgetName: string | undefined, path: string): void {\n const key = widgetName ? `${type}:${widgetName}` : type;\n this.fieldIndex[key] = path;\n }\n\n public registerActionPath(actionName: string, path: string): void {\n this.actionIndex[actionName] = path;\n }\n\n public registerLayoutPath(strategy: string, path: string): void {\n this.layoutIndex[strategy] = path;\n }\n\n private getFieldPath(type: FieldType, widgetName?: string): string {\n let path;\n if (widgetName) {\n path = this.fieldIndex[`${type}:${widgetName}`];\n }\n if (!path) {\n path = this.fieldIndex[type];\n }\n if (!path) {\n throw new Error(`No plugin path mapped for FieldType: ${type} (widget: ${widgetName})`);\n }\n return path;\n }\n\n private getLayoutPath(strategy: string): string {\n const path = this.layoutIndex[strategy];\n if (!path) {\n throw new Error(`No layout path mapped for strategy: ${strategy}`);\n }\n return path;\n }\n\n /**\n * Statically traverses the schema structure to identify all required plugins\n * and layouts without actually instantiating them.\n * \n * @param {ISchema} schema The root JSON schema payload to traverse\n * @returns {Set<string>} A distinct set of UI5 module paths required to render the schema\n */\n public getPathsToLoad(schema: ISchema): Set<string> {\n const pathsToLoad = new Set<string>();\n \n // 1. Gather layout strategy\n const strategy = schema.layoutStrategy || (schema.type === \"array\" ? \"table\" : \"form\");\n pathsToLoad.add(this.getLayoutPath(strategy));\n\n // 2. Recursively gather field plugins\n const scanProperties = (props: Record<string, IPropertyMetadata>) => {\n for (const key in props) {\n const prop = props[key];\n try {\n pathsToLoad.add(this.getFieldPath(prop.type || \"string\", prop.ui?.widget));\n } catch (e) {\n const msg = `[MetaUI LazyLoad] Could not find mapped plugin for field ${key}: ${(e as Error).message}`;\n Logger.error(msg);\n throw new Error(msg);\n }\n if (prop.properties) scanProperties(prop.properties);\n if (prop.items && prop.items.properties) scanProperties(prop.items.properties);\n if (prop.items && prop.items.type) {\n try {\n pathsToLoad.add(this.getFieldPath(prop.items.type, prop.items.ui?.widget));\n } catch (e) {\n const msg = `[MetaUI LazyLoad] Could not find mapped plugin for array item type ${prop.items.type}: ${(e as Error).message}`;\n Logger.error(msg);\n throw new Error(msg);\n }\n }\n }\n };\n\n if (schema.properties) {\n scanProperties(schema.properties);\n } else if (schema.items && schema.items.properties) {\n scanProperties(schema.items.properties);\n }\n\n return pathsToLoad;\n }\n\n /**\n * Defers the generation of the UI until all required UI5 modules have been\n * downloaded asynchronously. Maintains a cache of active promises to prevent\n * redundant network requests for the same module.\n * \n * @param {ISchema} schema The root JSON schema payload to parse\n * @returns {Promise<void>} Resolves when all dependencies are securely in the UI5 require cache\n */\n public async preloadDependencies(schema: ISchema): Promise<void> {\n const pathsToLoad = this.getPathsToLoad(schema);\n\n // 3. Batch execute sap.ui.require via Promises\n const promises = Array.from(pathsToLoad).map(path => {\n if (!this.activePromises[path]) {\n this.activePromises[path] = new Promise((resolve, reject) => {\n sap.ui.require([path], \n (Module: unknown) => resolve(Module), \n (err: unknown) => {\n Logger.error(`Failed to lazy load module: ${path}`);\n // CRITICAL: Delete from cache so future attempts can retry the network request\n delete this.activePromises[path];\n reject(err);\n }\n );\n });\n }\n return this.activePromises[path];\n });\n\n await Promise.all(promises);\n }\n\n /**\n * Extracts a valid constructor from a dynamically required module.\n */\n private extractConstructor(Module: unknown): new () => IPlugin | ILayoutManager | null {\n if (!Module) return null;\n if (typeof Module === \"function\") return Module as any;\n if ((Module as any).default && typeof (Module as any).default === \"function\") return (Module as any).default;\n \n // Handle namespace exports (e.g. { FormLayout: class... })\n const keys = Object.keys(Module as object);\n for (const key of keys) {\n if (typeof (Module as any)[key] === \"function\") {\n return (Module as any)[key];\n }\n }\n return null;\n }\n\n /**\n * Instantiates the requested plugin for the given field type.\n */\n public getPlugin(type: FieldType, widgetName?: string): IPlugin {\n const path = this.getFieldPath(type, widgetName);\n const Module = sap.ui.require(path);\n const PluginClass = this.extractConstructor(Module);\n \n if (!PluginClass) {\n throw new Error(`[MetaUI Plugin Instantiation] Plugin ${path} was not preloaded or has no constructor!`);\n }\n \n return new PluginClass();\n }\n\n /**\n * Instantiates the requested layout manager for the given strategy.\n */\n public getLayout(strategy: string): ILayoutManager {\n const path = this.getLayoutPath(strategy);\n const Module = sap.ui.require(path);\n const LayoutClass = this.extractConstructor(Module);\n \n if (!LayoutClass) {\n throw new Error(`[MetaUI Layout Instantiation] Layout ${path} was not preloaded or has no constructor!`);\n }\n \n return new LayoutClass();\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"PluginRegistry-dbg.js","names":["SCHEMA_TYPE","___constants_MetaUIConstants","WIDGET_TYPE","LAYOUT_STRATEGY","Logger","___utils_Logger","PluginRegistry","fieldIndex","actionIndex","layoutIndex","policyConditionIndex","policyEffectIndex","activePromises","constructor","registerPluginPath","STRING","undefined","NUMBER","INTEGER","DATE","BOOLEAN","ARRAY","OBJECT","DICTIONARY_MAP","REFERENCE","TIME","DATETIME","SWITCH","STEP","SELECT","TEXT_AREA","CODE_EDITOR","LINK","PASSWORD","EMAIL","FILE_UPLOADER","MULTI_SELECT","MULTI_INPUT","SLIDER","RATING","MESSAGE_STRIP","CAMERA","SIGNATURE","LOCATION","SCANNER","VOICE_INPUT","RICH_TEXT","URL_BUTTON","SUBMIT_BUTTON","ODATA_SELECT","REMOTE_DROPDOWN","LIVE_SEARCH","REMOTE_VALUE_HELP","registerLayoutPath","FORM","TABLE","WIZARD","COMPACT","registerPolicyConditionPath","registerPolicyEffectPath","getInstance","instance","type","widgetName","path","key","registerActionPath","actionName","strategy","conditionKey","effectName","getFieldPath","Error","getLayoutPath","getPathsToLoad","schema","pathsToLoad","Set","layoutStrategy","add","scanProperties","props","prop","ui","widget","e","msg","message","error","properties","items","uiPolicies","policy","condition","Object","keys","effect","preloadDependencies","promises","Array","from","map","Promise","resolve","reject","sap","require","Module","extractConstructor","err","all","mod","default","getPluginScore","Constructor","layoutScore","isPluginNativelyWide","isNativelyWide","getPlugin","PluginClass","getLayout","LayoutClass","getPolicyConditionPlugin","getPolicyEffectPlugin","__exports","__esModule"],"sources":["PluginRegistry.ts"],"sourcesContent":["/**\n * @file PluginRegistry.ts\n * @description Centralized hub for mapping UI5 controls to SAP schema data types.\n * Enforces the Registry Pattern to decouple the core engine from specific UI5 control implementations.\n * NOW WITH UNIVERSAL LAZY LOADING.\n */\n\nimport { IPlugin } from \"../interfaces/IPlugin\";\nimport { FieldType, ISchema, IPropertyMetadata } from \"../interfaces/ISchema\";\nimport { SCHEMA_TYPE, WIDGET_TYPE, LAYOUT_STRATEGY } from \"../constants/MetaUIConstants\";\nimport { ILayoutManager } from \"../interfaces/ILayoutManager\";\nimport { IPolicyConditionPlugin, IPolicyEffectPlugin } from \"../interfaces/IPolicyPlugin\";\nimport { Logger } from \"../utils/Logger\";\nimport { DefaultLayoutGenerator } from \"./DefaultLayoutGenerator\";\n\nexport class PluginRegistry {\n private static instance: PluginRegistry;\n \n private fieldIndex: Record<string, string> = {};\n private actionIndex: Record<string, string> = {};\n private layoutIndex: Record<string, string> = {};\n \n private policyConditionIndex: Record<string, string> = {};\n private policyEffectIndex: Record<string, string> = {};\n\n private activePromises: Record<string, Promise<unknown>> = {};\n\n private constructor() {\n // Core Mappings\n this.registerPluginPath(SCHEMA_TYPE.STRING, undefined, \"nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.NUMBER, undefined, \"nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.INTEGER, undefined, \"nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.DATE, undefined, \"nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin\");\n this.registerPluginPath(SCHEMA_TYPE.BOOLEAN, undefined, \"nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.ARRAY, undefined, \"nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.OBJECT, undefined, \"nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, \"default\", \"nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.OBJECT, WIDGET_TYPE.DICTIONARY_MAP, \"nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.OBJECT, WIDGET_TYPE.REFERENCE, \"nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin\");\n\n // Widget Overrides\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.TIME, \"nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.DATETIME, \"nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin\");\n this.registerPluginPath(SCHEMA_TYPE.BOOLEAN, WIDGET_TYPE.SWITCH, \"nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.NUMBER, WIDGET_TYPE.STEP, \"nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.SELECT, \"nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.TEXT_AREA, \"nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.CODE_EDITOR, \"nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.LINK, \"nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.PASSWORD, \"nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.EMAIL, \"nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin\");\n \n // Phase 1 Mappings\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.FILE_UPLOADER, \"nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.ARRAY, WIDGET_TYPE.MULTI_SELECT, \"nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.ARRAY, WIDGET_TYPE.MULTI_INPUT, \"nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.NUMBER, WIDGET_TYPE.SLIDER, \"nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.NUMBER, WIDGET_TYPE.RATING, \"nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.MESSAGE_STRIP, \"nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin\");\n\n // Phase 5 Mappings (Hardware)\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.CAMERA, \"nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.SIGNATURE, \"nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin\");\n this.registerPluginPath(SCHEMA_TYPE.OBJECT, WIDGET_TYPE.LOCATION, \"nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.SCANNER, \"nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.VOICE_INPUT, \"nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.RICH_TEXT, \"nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin\");\n\n // Actions & Datasources\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.URL_BUTTON, \"nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.SUBMIT_BUTTON, \"nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.ODATA_SELECT, \"nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.REMOTE_DROPDOWN, \"nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.LIVE_SEARCH, \"nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.REMOTE_VALUE_HELP, \"nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin\");\n\n // Layouts\n this.registerLayoutPath(LAYOUT_STRATEGY.FORM, \"nz/co/siliconst/ui5/metaui/layouts/FormLayout\");\n this.registerLayoutPath(LAYOUT_STRATEGY.TABLE, \"nz/co/siliconst/ui5/metaui/layouts/TableLayout\");\n this.registerLayoutPath(LAYOUT_STRATEGY.WIZARD, \"nz/co/siliconst/ui5/metaui/layouts/WizardLayout\");\n this.registerLayoutPath(LAYOUT_STRATEGY.COMPACT, \"nz/co/siliconst/ui5/metaui/layouts/CompactLayout\");\n\n // Policy Condition Plugins\n this.registerPolicyConditionPath(\"NumericGreaterThan\", \"nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin\");\n this.registerPolicyConditionPath(\"NumericLessThan\", \"nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin\");\n this.registerPolicyConditionPath(\"StringEquals\", \"nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin\");\n this.registerPolicyConditionPath(\"IsNull\", \"nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin\");\n this.registerPolicyConditionPath(\"IsNotNull\", \"nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin\");\n\n // Policy Effect Plugins\n this.registerPolicyEffectPath(\"Show\", \"nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin\");\n this.registerPolicyEffectPath(\"Hide\", \"nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin\");\n this.registerPolicyEffectPath(\"Validate\", \"nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin\");\n this.registerPolicyEffectPath(\"Invalidate\", \"nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin\");\n this.registerPolicyEffectPath(\"Require\", \"nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin\");\n this.registerPolicyEffectPath(\"Optional\", \"nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin\");\n this.registerPolicyEffectPath(\"Enable\", \"nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin\");\n this.registerPolicyEffectPath(\"Disable\", \"nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin\");\n }\n\n public static getInstance(): PluginRegistry {\n if (!PluginRegistry.instance) {\n PluginRegistry.instance = new PluginRegistry();\n }\n return PluginRegistry.instance;\n }\n\n public registerPluginPath(type: FieldType, widgetName: string | undefined, path: string): void {\n const key = widgetName ? `${type}:${widgetName}` : type;\n this.fieldIndex[key] = path;\n }\n\n public registerActionPath(actionName: string, path: string): void {\n this.actionIndex[actionName] = path;\n }\n\n public registerLayoutPath(strategy: string, path: string): void {\n this.layoutIndex[strategy] = path;\n }\n\n public registerPolicyConditionPath(conditionKey: string, path: string): void {\n this.policyConditionIndex[conditionKey] = path;\n }\n\n public registerPolicyEffectPath(effectName: string, path: string): void {\n this.policyEffectIndex[effectName] = path;\n }\n\n private getFieldPath(type: FieldType, widgetName?: string): string {\n let path;\n if (widgetName) {\n path = this.fieldIndex[`${type}:${widgetName}`];\n }\n if (!path) {\n path = this.fieldIndex[type];\n }\n if (!path) {\n throw new Error(`No plugin path mapped for FieldType: ${type} (widget: ${widgetName})`);\n }\n return path;\n }\n\n private getLayoutPath(strategy: string): string {\n const path = this.layoutIndex[strategy];\n if (!path) {\n throw new Error(`No layout path mapped for strategy: ${strategy}`);\n }\n return path;\n }\n\n /**\n * Statically traverses the schema structure to identify all required plugins\n * and layouts without actually instantiating them.\n * \n * @param {ISchema} schema The root JSON schema payload to traverse\n * @returns {Set<string>} A distinct set of UI5 module paths required to render the schema\n */\n public getPathsToLoad(schema: ISchema): Set<string> {\n const pathsToLoad = new Set<string>();\n \n // 1. Gather layout strategy\n const strategy = schema.layoutStrategy || (schema.type === SCHEMA_TYPE.ARRAY ? LAYOUT_STRATEGY.TABLE : LAYOUT_STRATEGY.FORM);\n pathsToLoad.add(this.getLayoutPath(strategy));\n\n // 2. Recursively gather field plugins\n const scanProperties = (props: Record<string, IPropertyMetadata>) => {\n for (const key in props) {\n const prop = props[key];\n try {\n pathsToLoad.add(this.getFieldPath(prop.type || SCHEMA_TYPE.STRING, prop.ui?.widget));\n } catch (e) {\n const msg = `[MetaUI LazyLoad] Could not find mapped plugin for field ${key}: ${(e as Error).message}`;\n Logger.error(msg);\n throw new Error(msg);\n }\n if (prop.properties) scanProperties(prop.properties);\n if (prop.items && prop.items.properties) scanProperties(prop.items.properties);\n if (prop.items && prop.items.type) {\n try {\n pathsToLoad.add(this.getFieldPath(prop.items.type, prop.items.ui?.widget));\n } catch (e) {\n const msg = `[MetaUI LazyLoad] Could not find mapped plugin for array item type ${prop.items.type}: ${(e as Error).message}`;\n Logger.error(msg);\n throw new Error(msg);\n }\n }\n }\n };\n\n if (schema.properties) {\n scanProperties(schema.properties);\n } else if (schema.items && schema.items.properties) {\n scanProperties(schema.items.properties);\n }\n\n // 3. Gather Policy Plugins\n if (schema.uiPolicies) {\n for (const policy of schema.uiPolicies) {\n if (policy.condition) {\n for (const key of Object.keys(policy.condition)) {\n if (this.policyConditionIndex[key]) {\n pathsToLoad.add(this.policyConditionIndex[key]);\n }\n }\n }\n if (policy.effect && this.policyEffectIndex[policy.effect]) {\n pathsToLoad.add(this.policyEffectIndex[policy.effect]);\n }\n }\n }\n\n return pathsToLoad;\n }\n\n /**\n * Defers the generation of the UI until all required UI5 modules have been\n * downloaded asynchronously. Maintains a cache of active promises to prevent\n * redundant network requests for the same module.\n * \n * @param {ISchema} schema The root JSON schema payload to parse\n * @returns {Promise<void>} Resolves when all dependencies are securely in the UI5 require cache\n */\n public async preloadDependencies(schema: ISchema): Promise<void> {\n const pathsToLoad = this.getPathsToLoad(schema);\n\n // 3. Batch execute sap.ui.require via Promises\n const promises = Array.from(pathsToLoad).map(path => {\n if (!this.activePromises[path]) {\n this.activePromises[path] = new Promise((resolve, reject) => {\n sap.ui.require([path], \n (Module: unknown) => {\n if (!this.extractConstructor(Module)) {\n Logger.error(`[MetaUI PluginRegistry] Module ${path} loaded successfully but exported no valid constructor.`);\n delete this.activePromises[path];\n reject(new Error(`Invalid module export: ${path}`));\n } else {\n resolve(Module);\n }\n }, \n (err: unknown) => {\n Logger.error(`Failed to lazy load module: ${path}`);\n // CRITICAL: Delete from cache so future attempts can retry the network request\n delete this.activePromises[path];\n reject(err);\n }\n );\n });\n }\n return this.activePromises[path];\n });\n\n await Promise.all(promises);\n }\n\n /**\n * Extracts a valid constructor from a dynamically required module.\n */\n private extractConstructor(Module: unknown): unknown {\n if (!Module) return null;\n if (typeof Module === \"function\") return Module;\n const mod = Module as Record<string, unknown>;\n if (mod.default && typeof mod.default === \"function\") return mod.default;\n \n // Handle namespace exports (e.g. { FormLayout: class... })\n const keys = Object.keys(mod);\n for (const key of keys) {\n if (typeof mod[key] === \"function\") {\n return mod[key];\n }\n }\n return null;\n }\n\n public getPluginScore(type: FieldType, widgetName?: string): number {\n try {\n const path = this.getFieldPath(type, widgetName);\n const Module = sap.ui.require(path);\n const Constructor = this.extractConstructor(Module) as Record<string, unknown>;\n if (Constructor && typeof Constructor.layoutScore === \"number\") {\n return Constructor.layoutScore as number;\n }\n } catch (e) {\n // Ignore if module not loaded or mapping missing, fallback to 1\n }\n return 1;\n }\n\n public isPluginNativelyWide(type: FieldType, widgetName?: string): boolean {\n try {\n const path = this.getFieldPath(type, widgetName);\n const Module = sap.ui.require(path);\n const Constructor = this.extractConstructor(Module) as Record<string, unknown>;\n if (Constructor && typeof Constructor.isNativelyWide === \"boolean\") {\n return Constructor.isNativelyWide as boolean;\n }\n } catch (e) {\n // Ignore errors, default false\n }\n return false;\n }\n\n /**\n * Instantiates the requested plugin for the given field type.\n */\n public getPlugin(type: FieldType, widgetName?: string): IPlugin {\n const path = this.getFieldPath(type, widgetName);\n const Module = sap.ui.require(path);\n const PluginClass = this.extractConstructor(Module) as new () => IPlugin;\n \n if (!PluginClass) {\n throw new Error(`[MetaUI Plugin Instantiation] Plugin ${path} was not preloaded or has no constructor!`);\n }\n \n return new PluginClass();\n }\n\n /**\n * Instantiates the requested layout manager for the given strategy.\n */\n public getLayout(strategy: string): ILayoutManager {\n const path = this.getLayoutPath(strategy);\n const Module = sap.ui.require(path);\n const LayoutClass = this.extractConstructor(Module) as new () => ILayoutManager;\n \n if (!LayoutClass) {\n throw new Error(`[MetaUI Layout Instantiation] Layout ${path} was not preloaded or has no constructor!`);\n }\n \n return new LayoutClass();\n }\n\n /**\n * Gets a specific condition plugin.\n */\n public getPolicyConditionPlugin(conditionKey: string): IPolicyConditionPlugin | undefined {\n const path = this.policyConditionIndex[conditionKey];\n if (!path) return undefined;\n \n const Module = sap.ui.require(path);\n const PluginClass = this.extractConstructor(Module) as new () => IPolicyConditionPlugin;\n if (!PluginClass) return undefined;\n \n return new PluginClass();\n }\n\n /**\n * Gets a specific effect plugin.\n */\n public getPolicyEffectPlugin(effectName: string): IPolicyEffectPlugin | undefined {\n const path = this.policyEffectIndex[effectName];\n if (!path) return undefined;\n \n const Module = sap.ui.require(path);\n const PluginClass = this.extractConstructor(Module) as new () => IPolicyEffectPlugin;\n if (!PluginClass) return undefined;\n \n return new PluginClass();\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -8,17 +8,22 @@ declare module "nz/co/siliconst/ui5/metaui/core/PluginRegistry" {
8
8
  import { IPlugin } from "nz/co/siliconst/ui5/metaui/interfaces/IPlugin";
9
9
  import { FieldType, ISchema } from "nz/co/siliconst/ui5/metaui/interfaces/ISchema";
10
10
  import { ILayoutManager } from "nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager";
11
+ import { IPolicyConditionPlugin, IPolicyEffectPlugin } from "nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin";
11
12
  export class PluginRegistry {
12
13
  private static instance;
13
14
  private fieldIndex;
14
15
  private actionIndex;
15
16
  private layoutIndex;
17
+ private policyConditionIndex;
18
+ private policyEffectIndex;
16
19
  private activePromises;
17
20
  private constructor();
18
21
  static getInstance(): PluginRegistry;
19
22
  registerPluginPath(type: FieldType, widgetName: string | undefined, path: string): void;
20
23
  registerActionPath(actionName: string, path: string): void;
21
24
  registerLayoutPath(strategy: string, path: string): void;
25
+ registerPolicyConditionPath(conditionKey: string, path: string): void;
26
+ registerPolicyEffectPath(effectName: string, path: string): void;
22
27
  private getFieldPath;
23
28
  private getLayoutPath;
24
29
  /**
@@ -42,6 +47,8 @@ declare module "nz/co/siliconst/ui5/metaui/core/PluginRegistry" {
42
47
  * Extracts a valid constructor from a dynamically required module.
43
48
  */
44
49
  private extractConstructor;
50
+ getPluginScore(type: FieldType, widgetName?: string): number;
51
+ isPluginNativelyWide(type: FieldType, widgetName?: string): boolean;
45
52
  /**
46
53
  * Instantiates the requested plugin for the given field type.
47
54
  */
@@ -50,6 +57,14 @@ declare module "nz/co/siliconst/ui5/metaui/core/PluginRegistry" {
50
57
  * Instantiates the requested layout manager for the given strategy.
51
58
  */
52
59
  getLayout(strategy: string): ILayoutManager;
60
+ /**
61
+ * Gets a specific condition plugin.
62
+ */
63
+ getPolicyConditionPlugin(conditionKey: string): IPolicyConditionPlugin | undefined;
64
+ /**
65
+ * Gets a specific effect plugin.
66
+ */
67
+ getPolicyEffectPlugin(effectName: string): IPolicyEffectPlugin | undefined;
53
68
  }
54
69
  }
55
70
  //# sourceMappingURL=PluginRegistry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PluginRegistry.d.ts","sourceRoot":"../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,gDAAgD,CAAC;IAChE;;;;;OAKG;IAEH,OAAO,EAAE,OAAO,EAAE,MAAM,+CAA+C,CAAC;IACxE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAqB,MAAM,+CAA+C,CAAC;IACtG,OAAO,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;IAItF,MAAa,cAAc;QACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiB;QAExC,OAAO,CAAC,UAAU,CAA8B;QAChD,OAAO,CAAC,WAAW,CAA8B;QACjD,OAAO,CAAC,WAAW,CAA8B;QAEjD,OAAO,CAAC,cAAc,CAAwC;QAE9D,OAAO;eAwDO,WAAW,IAAI,cAAc;QAOpC,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;QAKvF,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;QAI1D,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;QAI/D,OAAO,CAAC,YAAY;QAcpB,OAAO,CAAC,aAAa;QAQrB;;;;;;WAMG;QACI,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC;QAyCnD;;;;;;;WAOG;QACU,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QAwBhE;;WAEG;QACH,OAAO,CAAC,kBAAkB;QAe1B;;WAEG;QACI,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO;QAY/D;;WAEG;QACI,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc;KAWrD;CAEA"}
1
+ {"version":3,"file":"PluginRegistry.d.ts","sourceRoot":"../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,gDAAgD,CAAC;IAChE;;;;;OAKG;IAEH,OAAO,EAAE,OAAO,EAAE,MAAM,+CAA+C,CAAC;IACxE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAqB,MAAM,+CAA+C,CAAC;IAEtG,OAAO,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;IACtF,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAC;IAIlH,MAAa,cAAc;QACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiB;QAExC,OAAO,CAAC,UAAU,CAA8B;QAChD,OAAO,CAAC,WAAW,CAA8B;QACjD,OAAO,CAAC,WAAW,CAA8B;QAEjD,OAAO,CAAC,oBAAoB,CAA8B;QAC1D,OAAO,CAAC,iBAAiB,CAA8B;QAEvD,OAAO,CAAC,cAAc,CAAwC;QAE9D,OAAO;eAyEO,WAAW,IAAI,cAAc;QAOpC,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;QAKvF,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;QAI1D,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;QAIxD,2BAA2B,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;QAIrE,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;QAIvE,OAAO,CAAC,YAAY;QAcpB,OAAO,CAAC,aAAa;QAQrB;;;;;;WAMG;QACI,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC;QAyDnD;;;;;;;WAOG;QACU,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QAgChE;;WAEG;QACH,OAAO,CAAC,kBAAkB;QAgBnB,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM;QAc5D,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO;QAc1E;;WAEG;QACI,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO;QAY/D;;WAEG;QACI,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc;QAYlD;;WAEG;QACI,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS;QAWzF;;WAEG;QACI,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;KAUpF;CAEA"}
@@ -1,2 +1,2 @@
1
- sap.ui.define(["../utils/Logger"],function(i){"use strict";const t=i["Logger"];class n{fieldIndex={};actionIndex={};layoutIndex={};activePromises={};constructor(){this.registerPluginPath("string",undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin");this.registerPluginPath("number",undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin");this.registerPluginPath("integer",undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin");this.registerPluginPath("date",undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin");this.registerPluginPath("boolean",undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin");this.registerPluginPath("array",undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin");this.registerPluginPath("object",undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin");this.registerPluginPath("string","default","nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin");this.registerPluginPath("object","dictionary","nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin");this.registerPluginPath("object","reference","nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin");this.registerPluginPath("string","time","nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin");this.registerPluginPath("string","datetime","nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin");this.registerPluginPath("boolean","switch","nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin");this.registerPluginPath("number","step","nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin");this.registerPluginPath("string","select","nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin");this.registerPluginPath("string","textArea","nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin");this.registerPluginPath("string","codeEditor","nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin");this.registerPluginPath("string","link","nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin");this.registerPluginPath("string","password","nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin");this.registerPluginPath("string","email","nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin");this.registerPluginPath("string","fileUploader","nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin");this.registerPluginPath("array","multiSelect","nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin");this.registerPluginPath("array","multiInput","nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin");this.registerPluginPath("number","slider","nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin");this.registerPluginPath("number","rating","nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin");this.registerPluginPath("string","messageStrip","nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin");this.registerPluginPath("string","camera","nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin");this.registerPluginPath("string","signature","nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin");this.registerPluginPath("object","location","nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin");this.registerPluginPath("string","scanner","nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin");this.registerPluginPath("string","voiceInput","nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin");this.registerPluginPath("string","richText","nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin");this.registerPluginPath("string","urlButton","nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin");this.registerPluginPath("string","submitButton","nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin");this.registerPluginPath("string","odataSelect","nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin");this.registerPluginPath("string","remoteDropdown","nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin");this.registerPluginPath("string","liveSearch","nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin");this.registerPluginPath("string","remoteValueHelp","nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin");this.registerLayoutPath("form","nz/co/siliconst/ui5/metaui/layouts/FormLayout");this.registerLayoutPath("table","nz/co/siliconst/ui5/metaui/layouts/TableLayout");this.registerLayoutPath("wizard","nz/co/siliconst/ui5/metaui/layouts/WizardLayout");this.registerLayoutPath("compact","nz/co/siliconst/ui5/metaui/layouts/CompactLayout")}static getInstance(){if(!n.instance){n.instance=new n}return n.instance}registerPluginPath(i,t,n){const e=t?`${i}:${t}`:i;this.fieldIndex[e]=n}registerActionPath(i,t){this.actionIndex[i]=t}registerLayoutPath(i,t){this.layoutIndex[i]=t}getFieldPath(i,t){let n;if(t){n=this.fieldIndex[`${i}:${t}`]}if(!n){n=this.fieldIndex[i]}if(!n){throw new Error(`No plugin path mapped for FieldType: ${i} (widget: ${t})`)}return n}getLayoutPath(i){const t=this.layoutIndex[i];if(!t){throw new Error(`No layout path mapped for strategy: ${i}`)}return t}getPathsToLoad(i){const n=new Set;const e=i.layoutStrategy||(i.type==="array"?"table":"form");n.add(this.getLayoutPath(e));const s=i=>{for(const e in i){const r=i[e];try{n.add(this.getFieldPath(r.type||"string",r.ui?.widget))}catch(i){const n=`[MetaUI LazyLoad] Could not find mapped plugin for field ${e}: ${i.message}`;t.error(n);throw new Error(n)}if(r.properties)s(r.properties);if(r.items&&r.items.properties)s(r.items.properties);if(r.items&&r.items.type){try{n.add(this.getFieldPath(r.items.type,r.items.ui?.widget))}catch(i){const n=`[MetaUI LazyLoad] Could not find mapped plugin for array item type ${r.items.type}: ${i.message}`;t.error(n);throw new Error(n)}}}};if(i.properties){s(i.properties)}else if(i.items&&i.items.properties){s(i.items.properties)}return n}async preloadDependencies(i){const n=this.getPathsToLoad(i);const e=Array.from(n).map(i=>{if(!this.activePromises[i]){this.activePromises[i]=new Promise((n,e)=>{sap.ui.require([i],i=>n(i),n=>{t.error(`Failed to lazy load module: ${i}`);delete this.activePromises[i];e(n)})})}return this.activePromises[i]});await Promise.all(e)}extractConstructor(i){if(!i)return null;if(typeof i==="function")return i;if(i.default&&typeof i.default==="function")return i.default;const t=Object.keys(i);for(const n of t){if(typeof i[n]==="function"){return i[n]}}return null}getPlugin(i,t){const n=this.getFieldPath(i,t);const e=sap.ui.require(n);const s=this.extractConstructor(e);if(!s){throw new Error(`[MetaUI Plugin Instantiation] Plugin ${n} was not preloaded or has no constructor!`)}return new s}getLayout(i){const t=this.getLayoutPath(i);const n=sap.ui.require(t);const e=this.extractConstructor(n);if(!e){throw new Error(`[MetaUI Layout Instantiation] Layout ${t} was not preloaded or has no constructor!`)}return new e}}var e={__esModule:true};e.PluginRegistry=n;return e});
1
+ sap.ui.define(["../constants/MetaUIConstants","../utils/Logger"],function(i,t){"use strict";const e=i["SCHEMA_TYPE"];const n=i["WIDGET_TYPE"];const s=i["LAYOUT_STRATEGY"];const o=t["Logger"];class u{fieldIndex={};actionIndex={};layoutIndex={};policyConditionIndex={};policyEffectIndex={};activePromises={};constructor(){this.registerPluginPath(e.STRING,undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin");this.registerPluginPath(e.NUMBER,undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin");this.registerPluginPath(e.INTEGER,undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin");this.registerPluginPath(e.DATE,undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin");this.registerPluginPath(e.BOOLEAN,undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin");this.registerPluginPath(e.ARRAY,undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin");this.registerPluginPath(e.OBJECT,undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin");this.registerPluginPath(e.STRING,"default","nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin");this.registerPluginPath(e.OBJECT,n.DICTIONARY_MAP,"nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin");this.registerPluginPath(e.OBJECT,n.REFERENCE,"nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin");this.registerPluginPath(e.STRING,n.TIME,"nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin");this.registerPluginPath(e.STRING,n.DATETIME,"nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin");this.registerPluginPath(e.BOOLEAN,n.SWITCH,"nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin");this.registerPluginPath(e.NUMBER,n.STEP,"nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin");this.registerPluginPath(e.STRING,n.SELECT,"nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin");this.registerPluginPath(e.STRING,n.TEXT_AREA,"nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin");this.registerPluginPath(e.STRING,n.CODE_EDITOR,"nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin");this.registerPluginPath(e.STRING,n.LINK,"nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin");this.registerPluginPath(e.STRING,n.PASSWORD,"nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin");this.registerPluginPath(e.STRING,n.EMAIL,"nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin");this.registerPluginPath(e.STRING,n.FILE_UPLOADER,"nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin");this.registerPluginPath(e.ARRAY,n.MULTI_SELECT,"nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin");this.registerPluginPath(e.ARRAY,n.MULTI_INPUT,"nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin");this.registerPluginPath(e.NUMBER,n.SLIDER,"nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin");this.registerPluginPath(e.NUMBER,n.RATING,"nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin");this.registerPluginPath(e.STRING,n.MESSAGE_STRIP,"nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin");this.registerPluginPath(e.STRING,n.CAMERA,"nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin");this.registerPluginPath(e.STRING,n.SIGNATURE,"nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin");this.registerPluginPath(e.OBJECT,n.LOCATION,"nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin");this.registerPluginPath(e.STRING,n.SCANNER,"nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin");this.registerPluginPath(e.STRING,n.VOICE_INPUT,"nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin");this.registerPluginPath(e.STRING,n.RICH_TEXT,"nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin");this.registerPluginPath(e.STRING,n.URL_BUTTON,"nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin");this.registerPluginPath(e.STRING,n.SUBMIT_BUTTON,"nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin");this.registerPluginPath(e.STRING,n.ODATA_SELECT,"nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin");this.registerPluginPath(e.STRING,n.REMOTE_DROPDOWN,"nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin");this.registerPluginPath(e.STRING,n.LIVE_SEARCH,"nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin");this.registerPluginPath(e.STRING,n.REMOTE_VALUE_HELP,"nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin");this.registerLayoutPath(s.FORM,"nz/co/siliconst/ui5/metaui/layouts/FormLayout");this.registerLayoutPath(s.TABLE,"nz/co/siliconst/ui5/metaui/layouts/TableLayout");this.registerLayoutPath(s.WIZARD,"nz/co/siliconst/ui5/metaui/layouts/WizardLayout");this.registerLayoutPath(s.COMPACT,"nz/co/siliconst/ui5/metaui/layouts/CompactLayout");this.registerPolicyConditionPath("NumericGreaterThan","nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin");this.registerPolicyConditionPath("NumericLessThan","nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin");this.registerPolicyConditionPath("StringEquals","nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin");this.registerPolicyConditionPath("IsNull","nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin");this.registerPolicyConditionPath("IsNotNull","nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin");this.registerPolicyEffectPath("Show","nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin");this.registerPolicyEffectPath("Hide","nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin");this.registerPolicyEffectPath("Validate","nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin");this.registerPolicyEffectPath("Invalidate","nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin");this.registerPolicyEffectPath("Require","nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin");this.registerPolicyEffectPath("Optional","nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin");this.registerPolicyEffectPath("Enable","nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin");this.registerPolicyEffectPath("Disable","nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin")}static getInstance(){if(!u.instance){u.instance=new u}return u.instance}registerPluginPath(i,t,e){const n=t?`${i}:${t}`:i;this.fieldIndex[n]=e}registerActionPath(i,t){this.actionIndex[i]=t}registerLayoutPath(i,t){this.layoutIndex[i]=t}registerPolicyConditionPath(i,t){this.policyConditionIndex[i]=t}registerPolicyEffectPath(i,t){this.policyEffectIndex[i]=t}getFieldPath(i,t){let e;if(t){e=this.fieldIndex[`${i}:${t}`]}if(!e){e=this.fieldIndex[i]}if(!e){throw new Error(`No plugin path mapped for FieldType: ${i} (widget: ${t})`)}return e}getLayoutPath(i){const t=this.layoutIndex[i];if(!t){throw new Error(`No layout path mapped for strategy: ${i}`)}return t}getPathsToLoad(i){const t=new Set;const n=i.layoutStrategy||(i.type===e.ARRAY?s.TABLE:s.FORM);t.add(this.getLayoutPath(n));const u=i=>{for(const n in i){const s=i[n];try{t.add(this.getFieldPath(s.type||e.STRING,s.ui?.widget))}catch(i){const t=`[MetaUI LazyLoad] Could not find mapped plugin for field ${n}: ${i.message}`;o.error(t);throw new Error(t)}if(s.properties)u(s.properties);if(s.items&&s.items.properties)u(s.items.properties);if(s.items&&s.items.type){try{t.add(this.getFieldPath(s.items.type,s.items.ui?.widget))}catch(i){const t=`[MetaUI LazyLoad] Could not find mapped plugin for array item type ${s.items.type}: ${i.message}`;o.error(t);throw new Error(t)}}}};if(i.properties){u(i.properties)}else if(i.items&&i.items.properties){u(i.items.properties)}if(i.uiPolicies){for(const e of i.uiPolicies){if(e.condition){for(const i of Object.keys(e.condition)){if(this.policyConditionIndex[i]){t.add(this.policyConditionIndex[i])}}}if(e.effect&&this.policyEffectIndex[e.effect]){t.add(this.policyEffectIndex[e.effect])}}}return t}async preloadDependencies(i){const t=this.getPathsToLoad(i);const e=Array.from(t).map(i=>{if(!this.activePromises[i]){this.activePromises[i]=new Promise((t,e)=>{sap.ui.require([i],n=>{if(!this.extractConstructor(n)){o.error(`[MetaUI PluginRegistry] Module ${i} loaded successfully but exported no valid constructor.`);delete this.activePromises[i];e(new Error(`Invalid module export: ${i}`))}else{t(n)}},t=>{o.error(`Failed to lazy load module: ${i}`);delete this.activePromises[i];e(t)})})}return this.activePromises[i]});await Promise.all(e)}extractConstructor(i){if(!i)return null;if(typeof i==="function")return i;const t=i;if(t.default&&typeof t.default==="function")return t.default;const e=Object.keys(t);for(const i of e){if(typeof t[i]==="function"){return t[i]}}return null}getPluginScore(i,t){try{const e=this.getFieldPath(i,t);const n=sap.ui.require(e);const s=this.extractConstructor(n);if(s&&typeof s.layoutScore==="number"){return s.layoutScore}}catch(i){}return 1}isPluginNativelyWide(i,t){try{const e=this.getFieldPath(i,t);const n=sap.ui.require(e);const s=this.extractConstructor(n);if(s&&typeof s.isNativelyWide==="boolean"){return s.isNativelyWide}}catch(i){}return false}getPlugin(i,t){const e=this.getFieldPath(i,t);const n=sap.ui.require(e);const s=this.extractConstructor(n);if(!s){throw new Error(`[MetaUI Plugin Instantiation] Plugin ${e} was not preloaded or has no constructor!`)}return new s}getLayout(i){const t=this.getLayoutPath(i);const e=sap.ui.require(t);const n=this.extractConstructor(e);if(!n){throw new Error(`[MetaUI Layout Instantiation] Layout ${t} was not preloaded or has no constructor!`)}return new n}getPolicyConditionPlugin(i){const t=this.policyConditionIndex[i];if(!t)return undefined;const e=sap.ui.require(t);const n=this.extractConstructor(e);if(!n)return undefined;return new n}getPolicyEffectPlugin(i){const t=this.policyEffectIndex[i];if(!t)return undefined;const e=sap.ui.require(t);const n=this.extractConstructor(e);if(!n)return undefined;return new n}}var r={__esModule:true};r.PluginRegistry=u;return r});
2
2
  //# sourceMappingURL=PluginRegistry.js.map