@siliconst/metaui 1.2.0 → 1.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (607) hide show
  1. package/README.md +102 -33
  2. package/package.json +1 -1
  3. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl-dbg.js +70 -0
  4. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl-dbg.js.map +1 -0
  5. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.d.ts +67 -0
  6. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.d.ts.map +1 -0
  7. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.js +2 -0
  8. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.js.map +1 -0
  9. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.ts +58 -0
  10. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer-dbg.js +28 -0
  11. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer-dbg.js.map +1 -0
  12. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.d.ts +16 -0
  13. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.d.ts.map +1 -0
  14. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.js +2 -0
  15. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.js.map +1 -0
  16. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.ts +28 -0
  17. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl-dbg.js +142 -0
  18. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl-dbg.js.map +1 -0
  19. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.d.ts +33 -0
  20. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.d.ts.map +1 -0
  21. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.js +2 -0
  22. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.js.map +1 -0
  23. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.ts +164 -0
  24. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost-dbg.js +305 -0
  25. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost-dbg.js.map +1 -0
  26. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.d.ts +168 -0
  27. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.d.ts.map +1 -0
  28. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.js +2 -0
  29. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.js.map +1 -0
  30. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.ts +247 -0
  31. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl-dbg.js +73 -0
  32. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl-dbg.js.map +1 -0
  33. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.d.ts +32 -0
  34. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.d.ts.map +1 -0
  35. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.js +2 -0
  36. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.js.map +1 -0
  37. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.ts +86 -0
  38. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl-dbg.js +60 -0
  39. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl-dbg.js.map +1 -0
  40. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.d.ts +32 -0
  41. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.d.ts.map +1 -0
  42. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.js +2 -0
  43. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.js.map +1 -0
  44. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.ts +61 -0
  45. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl-dbg.js +157 -0
  46. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl-dbg.js.map +1 -0
  47. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.d.ts +33 -0
  48. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.d.ts.map +1 -0
  49. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.js +2 -0
  50. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.js.map +1 -0
  51. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.ts +169 -0
  52. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl-dbg.js +160 -0
  53. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl-dbg.js.map +1 -0
  54. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.d.ts +28 -0
  55. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.d.ts.map +1 -0
  56. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.js +2 -0
  57. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.js.map +1 -0
  58. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.ts +185 -0
  59. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost-dbg.js +443 -0
  60. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost-dbg.js.map +1 -0
  61. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.d.ts +227 -0
  62. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.d.ts.map +1 -0
  63. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.js +2 -0
  64. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.js.map +1 -0
  65. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.ts +421 -0
  66. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate-dbg.js +103 -0
  67. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate-dbg.js.map +1 -0
  68. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.d.ts +32 -0
  69. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.d.ts.map +1 -0
  70. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.js +2 -0
  71. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.js.map +1 -0
  72. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.ts +119 -0
  73. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate-dbg.js +64 -0
  74. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate-dbg.js.map +1 -0
  75. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.d.ts +21 -0
  76. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.d.ts.map +1 -0
  77. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.js +2 -0
  78. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.js.map +1 -0
  79. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.ts +64 -0
  80. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate-dbg.js +122 -0
  81. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate-dbg.js.map +1 -0
  82. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.d.ts +49 -0
  83. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.d.ts.map +1 -0
  84. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.js +2 -0
  85. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.js.map +1 -0
  86. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.ts +118 -0
  87. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate-dbg.js +120 -0
  88. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate-dbg.js.map +1 -0
  89. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.d.ts +45 -0
  90. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.d.ts.map +1 -0
  91. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.js +2 -0
  92. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.js.map +1 -0
  93. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.ts +131 -0
  94. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine-dbg.js +40 -15
  95. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine-dbg.js.map +1 -1
  96. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.d.ts +27 -7
  97. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.d.ts.map +1 -1
  98. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.js +1 -1
  99. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.js.map +1 -1
  100. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.ts +41 -15
  101. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator-dbg.js +78 -0
  102. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator-dbg.js.map +1 -0
  103. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.d.ts +27 -0
  104. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.d.ts.map +1 -0
  105. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.js +2 -0
  106. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.js.map +1 -0
  107. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.ts +79 -0
  108. package/src/nz/co/siliconst/ui5/metaui/core/Engine-dbg.js +159 -43
  109. package/src/nz/co/siliconst/ui5/metaui/core/Engine-dbg.js.map +1 -1
  110. package/src/nz/co/siliconst/ui5/metaui/core/Engine.d.ts +64 -3
  111. package/src/nz/co/siliconst/ui5/metaui/core/Engine.d.ts.map +1 -1
  112. package/src/nz/co/siliconst/ui5/metaui/core/Engine.js +1 -1
  113. package/src/nz/co/siliconst/ui5/metaui/core/Engine.js.map +1 -1
  114. package/src/nz/co/siliconst/ui5/metaui/core/Engine.ts +166 -43
  115. package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry-dbg.js +32 -0
  116. package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry-dbg.js.map +1 -0
  117. package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry.d.ts +16 -0
  118. package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry.d.ts.map +1 -0
  119. package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry.js +2 -0
  120. package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry.js.map +1 -0
  121. package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry.ts +26 -0
  122. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager-dbg.js +123 -0
  123. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager-dbg.js.map +1 -0
  124. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.d.ts +49 -0
  125. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.d.ts.map +1 -0
  126. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.js +2 -0
  127. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.js.map +1 -0
  128. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.ts +106 -0
  129. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry-dbg.js +104 -25
  130. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry-dbg.js.map +1 -1
  131. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.d.ts +21 -13
  132. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.d.ts.map +1 -1
  133. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.js +1 -1
  134. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.js.map +1 -1
  135. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.ts +110 -21
  136. package/src/nz/co/siliconst/ui5/metaui/core/Registry-dbg.js +79 -0
  137. package/src/nz/co/siliconst/ui5/metaui/core/Registry-dbg.js.map +1 -0
  138. package/src/nz/co/siliconst/ui5/metaui/core/Registry.d.ts +43 -0
  139. package/src/nz/co/siliconst/ui5/metaui/core/Registry.d.ts.map +1 -0
  140. package/src/nz/co/siliconst/ui5/metaui/core/Registry.js +2 -0
  141. package/src/nz/co/siliconst/ui5/metaui/core/Registry.js.map +1 -0
  142. package/src/nz/co/siliconst/ui5/metaui/core/Registry.ts +70 -0
  143. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer-dbg.js +116 -21
  144. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer-dbg.js.map +1 -1
  145. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.d.ts +11 -1
  146. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.d.ts.map +1 -1
  147. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.js +1 -1
  148. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.js.map +1 -1
  149. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.ts +115 -21
  150. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator-dbg.js +54 -0
  151. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator-dbg.js.map +1 -0
  152. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.d.ts +11 -0
  153. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.d.ts.map +1 -0
  154. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.js +2 -0
  155. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.js.map +1 -0
  156. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.ts +53 -0
  157. package/src/nz/co/siliconst/ui5/metaui/core/StateManager-dbg.js +88 -2
  158. package/src/nz/co/siliconst/ui5/metaui/core/StateManager-dbg.js.map +1 -1
  159. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.d.ts +15 -1
  160. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.d.ts.map +1 -1
  161. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.js +1 -1
  162. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.js.map +1 -1
  163. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.ts +103 -1
  164. package/src/nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager-dbg.js.map +1 -1
  165. package/src/nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager.d.ts +7 -8
  166. package/src/nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager.d.ts.map +1 -1
  167. package/src/nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager.ts +7 -7
  168. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline-dbg.js +2 -0
  169. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline-dbg.js.map +1 -0
  170. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline.d.ts +38 -0
  171. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline.d.ts.map +1 -0
  172. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline.js +2 -0
  173. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline.js.map +1 -0
  174. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline.ts +39 -0
  175. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin-dbg.js.map +1 -1
  176. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.d.ts +38 -2
  177. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.d.ts.map +1 -1
  178. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.ts +43 -2
  179. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema-dbg.js.map +1 -1
  180. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.d.ts +32 -3
  181. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.d.ts.map +1 -1
  182. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.ts +35 -3
  183. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout-dbg.js +148 -0
  184. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout-dbg.js.map +1 -0
  185. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.d.ts +27 -0
  186. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.d.ts.map +1 -0
  187. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.js +2 -0
  188. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.js.map +1 -0
  189. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.ts +139 -0
  190. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout-dbg.js +136 -61
  191. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout-dbg.js.map +1 -1
  192. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.d.ts +19 -12
  193. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.d.ts.map +1 -1
  194. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.js +1 -1
  195. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.js.map +1 -1
  196. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.ts +135 -71
  197. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout-dbg.js +111 -51
  198. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout-dbg.js.map +1 -1
  199. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.d.ts +21 -8
  200. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.d.ts.map +1 -1
  201. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.js +1 -1
  202. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.js.map +1 -1
  203. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.ts +123 -65
  204. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout-dbg.js +129 -0
  205. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout-dbg.js.map +1 -0
  206. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.d.ts +28 -0
  207. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.d.ts.map +1 -0
  208. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.js +2 -0
  209. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.js.map +1 -0
  210. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.ts +127 -0
  211. package/src/nz/co/siliconst/ui5/metaui/library-dbg.js +17 -12
  212. package/src/nz/co/siliconst/ui5/metaui/library-dbg.js.map +1 -1
  213. package/src/nz/co/siliconst/ui5/metaui/library-preload.js +73 -25
  214. package/src/nz/co/siliconst/ui5/metaui/library-preload.js.map +1 -1
  215. package/src/nz/co/siliconst/ui5/metaui/library.d.ts +1 -0
  216. package/src/nz/co/siliconst/ui5/metaui/library.d.ts.map +1 -1
  217. package/src/nz/co/siliconst/ui5/metaui/library.js +1 -1
  218. package/src/nz/co/siliconst/ui5/metaui/library.js.map +1 -1
  219. package/src/nz/co/siliconst/ui5/metaui/library.ts +25 -12
  220. package/src/nz/co/siliconst/ui5/metaui/manifest.json +8 -1
  221. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin-dbg.js +58 -0
  222. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin-dbg.js.map +1 -0
  223. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.d.ts +22 -0
  224. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.d.ts.map +1 -0
  225. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.js +2 -0
  226. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.js.map +1 -0
  227. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.ts +57 -0
  228. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin-dbg.js +55 -0
  229. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin-dbg.js.map +1 -0
  230. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin.d.ts +21 -0
  231. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin.d.ts.map +1 -0
  232. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin.js +2 -0
  233. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin.js.map +1 -0
  234. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin.ts +54 -0
  235. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin-dbg.js +46 -0
  236. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin-dbg.js.map +1 -0
  237. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin.d.ts +23 -0
  238. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin.d.ts.map +1 -0
  239. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin.js +2 -0
  240. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin.js.map +1 -0
  241. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin.ts +45 -0
  242. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin-dbg.js +74 -0
  243. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin-dbg.js.map +1 -0
  244. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.d.ts +15 -0
  245. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.d.ts.map +1 -0
  246. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.js +2 -0
  247. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.js.map +1 -0
  248. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.ts +80 -0
  249. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin-dbg.js +75 -0
  250. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin-dbg.js.map +1 -0
  251. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.d.ts +12 -0
  252. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.d.ts.map +1 -0
  253. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.js +2 -0
  254. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.js.map +1 -0
  255. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.ts +83 -0
  256. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin-dbg.js +174 -0
  257. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin-dbg.js.map +1 -0
  258. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.d.ts +78 -0
  259. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.d.ts.map +1 -0
  260. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.js +2 -0
  261. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.js.map +1 -0
  262. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.ts +165 -0
  263. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin-dbg.js +79 -0
  264. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin-dbg.js.map +1 -0
  265. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.d.ts +36 -0
  266. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.d.ts.map +1 -0
  267. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.js +2 -0
  268. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.js.map +1 -0
  269. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.ts +77 -0
  270. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin-dbg.js +60 -0
  271. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin-dbg.js.map +1 -0
  272. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.d.ts +11 -0
  273. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.d.ts.map +1 -0
  274. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.js +2 -0
  275. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.js.map +1 -0
  276. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.ts +56 -0
  277. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin-dbg.js +122 -0
  278. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin-dbg.js.map +1 -0
  279. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.d.ts +24 -0
  280. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.d.ts.map +1 -0
  281. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.js +2 -0
  282. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.js.map +1 -0
  283. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.ts +125 -0
  284. package/src/nz/co/siliconst/ui5/metaui/plugins/{DatePlugin-dbg.js → controls/DatePlugin-dbg.js} +29 -20
  285. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin-dbg.js.map +1 -0
  286. package/src/nz/co/siliconst/ui5/metaui/plugins/{DatePlugin.d.ts → controls/DatePlugin.d.ts} +4 -4
  287. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.d.ts.map +1 -0
  288. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.js +2 -0
  289. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.js.map +1 -0
  290. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.ts +74 -0
  291. package/src/nz/co/siliconst/ui5/metaui/plugins/{DateTimePlugin-dbg.js → controls/DateTimePlugin-dbg.js} +30 -20
  292. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin-dbg.js.map +1 -0
  293. package/src/nz/co/siliconst/ui5/metaui/plugins/{DateTimePlugin.d.ts → controls/DateTimePlugin.d.ts} +4 -4
  294. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.d.ts.map +1 -0
  295. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.js +2 -0
  296. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.js.map +1 -0
  297. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.ts +75 -0
  298. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin-dbg.js +109 -0
  299. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin-dbg.js.map +1 -0
  300. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.d.ts +37 -0
  301. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.d.ts.map +1 -0
  302. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.js +2 -0
  303. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.js.map +1 -0
  304. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.ts +105 -0
  305. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin-dbg.js +65 -0
  306. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin-dbg.js.map +1 -0
  307. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.d.ts +21 -0
  308. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.d.ts.map +1 -0
  309. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.js +2 -0
  310. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.js.map +1 -0
  311. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.ts +64 -0
  312. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin-dbg.js +59 -0
  313. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin-dbg.js.map +1 -0
  314. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.d.ts +11 -0
  315. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.d.ts.map +1 -0
  316. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.js +2 -0
  317. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.js.map +1 -0
  318. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.ts +56 -0
  319. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin-dbg.js +45 -0
  320. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin-dbg.js.map +1 -0
  321. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.d.ts +22 -0
  322. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.d.ts.map +1 -0
  323. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.js +2 -0
  324. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.js.map +1 -0
  325. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.ts +42 -0
  326. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin-dbg.js +74 -0
  327. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin-dbg.js.map +1 -0
  328. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.d.ts +22 -0
  329. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.d.ts.map +1 -0
  330. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.js +2 -0
  331. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.js.map +1 -0
  332. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.ts +73 -0
  333. package/src/nz/co/siliconst/ui5/metaui/plugins/{NumberPlugin-dbg.js → controls/NumberPlugin-dbg.js} +21 -16
  334. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin-dbg.js.map +1 -0
  335. package/src/nz/co/siliconst/ui5/metaui/plugins/{NumberPlugin.d.ts → controls/NumberPlugin.d.ts} +4 -4
  336. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.d.ts.map +1 -0
  337. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.js +2 -0
  338. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.js.map +1 -0
  339. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.ts +62 -0
  340. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin-dbg.js +74 -0
  341. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin-dbg.js.map +1 -0
  342. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.d.ts +17 -0
  343. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.d.ts.map +1 -0
  344. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.js +2 -0
  345. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.js.map +1 -0
  346. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.ts +81 -0
  347. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin-dbg.js +61 -0
  348. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin-dbg.js.map +1 -0
  349. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.d.ts +21 -0
  350. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.d.ts.map +1 -0
  351. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.js +2 -0
  352. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.js.map +1 -0
  353. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.ts +62 -0
  354. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin-dbg.js +64 -0
  355. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin-dbg.js.map +1 -0
  356. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.d.ts +16 -0
  357. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.d.ts.map +1 -0
  358. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.js +2 -0
  359. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.js.map +1 -0
  360. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.ts +67 -0
  361. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin-dbg.js +58 -0
  362. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin-dbg.js.map +1 -0
  363. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.d.ts +11 -0
  364. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.d.ts.map +1 -0
  365. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.js +2 -0
  366. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.js.map +1 -0
  367. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.ts +55 -0
  368. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin-dbg.js +64 -0
  369. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin-dbg.js.map +1 -0
  370. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.d.ts +21 -0
  371. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.d.ts.map +1 -0
  372. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.js +2 -0
  373. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.js.map +1 -0
  374. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.ts +65 -0
  375. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin-dbg.js +87 -0
  376. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin-dbg.js.map +1 -0
  377. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.d.ts +37 -0
  378. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.d.ts.map +1 -0
  379. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.js +2 -0
  380. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.js.map +1 -0
  381. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.ts +85 -0
  382. package/src/nz/co/siliconst/ui5/metaui/plugins/{SwitchPlugin-dbg.js → controls/SwitchPlugin-dbg.js} +24 -6
  383. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin-dbg.js.map +1 -0
  384. package/src/nz/co/siliconst/ui5/metaui/plugins/{SwitchPlugin.d.ts → controls/SwitchPlugin.d.ts} +4 -4
  385. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.d.ts.map +1 -0
  386. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.js +2 -0
  387. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.js.map +1 -0
  388. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.ts +62 -0
  389. package/src/nz/co/siliconst/ui5/metaui/plugins/{TextAreaPlugin-dbg.js → controls/TextAreaPlugin-dbg.js} +20 -14
  390. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin-dbg.js.map +1 -0
  391. package/src/nz/co/siliconst/ui5/metaui/plugins/{TextAreaPlugin.d.ts → controls/TextAreaPlugin.d.ts} +4 -4
  392. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.d.ts.map +1 -0
  393. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.js +2 -0
  394. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.js.map +1 -0
  395. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.ts +63 -0
  396. package/src/nz/co/siliconst/ui5/metaui/plugins/{TimePlugin-dbg.js → controls/TimePlugin-dbg.js} +30 -25
  397. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin-dbg.js.map +1 -0
  398. package/src/nz/co/siliconst/ui5/metaui/plugins/{TimePlugin.d.ts → controls/TimePlugin.d.ts} +4 -4
  399. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.d.ts.map +1 -0
  400. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.js +2 -0
  401. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.js.map +1 -0
  402. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.ts +76 -0
  403. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin-dbg.js +62 -0
  404. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin-dbg.js.map +1 -0
  405. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.d.ts +11 -0
  406. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.d.ts.map +1 -0
  407. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.js +2 -0
  408. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.js.map +1 -0
  409. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.ts +59 -0
  410. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin-dbg.js +94 -0
  411. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin-dbg.js.map +1 -0
  412. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.d.ts +29 -0
  413. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.d.ts.map +1 -0
  414. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.js +2 -0
  415. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.js.map +1 -0
  416. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.ts +102 -0
  417. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin-dbg.js +60 -0
  418. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin-dbg.js.map +1 -0
  419. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.d.ts +22 -0
  420. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.d.ts.map +1 -0
  421. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.js +2 -0
  422. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.js.map +1 -0
  423. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.ts +57 -0
  424. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin-dbg.js +106 -0
  425. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin-dbg.js.map +1 -0
  426. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.d.ts +22 -0
  427. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.d.ts.map +1 -0
  428. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.js +2 -0
  429. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.js.map +1 -0
  430. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.ts +101 -0
  431. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin-dbg.js +77 -0
  432. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin-dbg.js.map +1 -0
  433. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.d.ts +25 -0
  434. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.d.ts.map +1 -0
  435. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.js +2 -0
  436. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.js.map +1 -0
  437. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.ts +86 -0
  438. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin-dbg.js +36 -0
  439. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin-dbg.js.map +1 -0
  440. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin.d.ts +25 -0
  441. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin.d.ts.map +1 -0
  442. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin.js +2 -0
  443. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin.js.map +1 -0
  444. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin.ts +36 -0
  445. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin-dbg.js +32 -0
  446. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin-dbg.js.map +1 -0
  447. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin.d.ts +19 -0
  448. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin.d.ts.map +1 -0
  449. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin.js +2 -0
  450. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin.js.map +1 -0
  451. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin.ts +31 -0
  452. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin-dbg.js +32 -0
  453. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin-dbg.js.map +1 -0
  454. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin.d.ts +17 -0
  455. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin.d.ts.map +1 -0
  456. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin.js +2 -0
  457. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin.js.map +1 -0
  458. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin.ts +27 -0
  459. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin-dbg.js +31 -0
  460. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin-dbg.js.map +1 -0
  461. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin.d.ts +18 -0
  462. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin.d.ts.map +1 -0
  463. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin.js +2 -0
  464. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin.js.map +1 -0
  465. package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin.ts +23 -0
  466. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin-dbg.js +45 -0
  467. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin-dbg.js.map +1 -0
  468. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin.d.ts +24 -0
  469. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin.d.ts.map +1 -0
  470. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin.js +2 -0
  471. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin.js.map +1 -0
  472. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin.ts +30 -0
  473. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin-dbg.js +42 -0
  474. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin-dbg.js.map +1 -0
  475. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin.d.ts +18 -0
  476. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin.d.ts.map +1 -0
  477. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin.js +2 -0
  478. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin.js.map +1 -0
  479. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin.ts +29 -0
  480. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin-dbg.js +41 -0
  481. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin-dbg.js.map +1 -0
  482. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin.d.ts +17 -0
  483. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin.d.ts.map +1 -0
  484. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin.js +2 -0
  485. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin.js.map +1 -0
  486. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin.ts +25 -0
  487. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin-dbg.js +51 -0
  488. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin-dbg.js.map +1 -0
  489. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin.d.ts +17 -0
  490. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin.d.ts.map +1 -0
  491. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin.js +2 -0
  492. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin.js.map +1 -0
  493. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin.ts +33 -0
  494. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin-dbg.js +48 -0
  495. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin-dbg.js.map +1 -0
  496. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin.d.ts +17 -0
  497. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin.d.ts.map +1 -0
  498. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin.js +2 -0
  499. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin.js.map +1 -0
  500. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin.ts +32 -0
  501. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin-dbg.js +46 -0
  502. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin-dbg.js.map +1 -0
  503. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin.d.ts +17 -0
  504. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin.d.ts.map +1 -0
  505. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin.js +2 -0
  506. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin.js.map +1 -0
  507. package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin.ts +29 -0
  508. package/src/nz/co/siliconst/ui5/metaui/utils/Logger-dbg.js +83 -0
  509. package/src/nz/co/siliconst/ui5/metaui/utils/Logger-dbg.js.map +1 -0
  510. package/src/nz/co/siliconst/ui5/metaui/utils/Logger.d.ts +29 -0
  511. package/src/nz/co/siliconst/ui5/metaui/utils/Logger.d.ts.map +1 -0
  512. package/src/nz/co/siliconst/ui5/metaui/utils/Logger.js +2 -0
  513. package/src/nz/co/siliconst/ui5/metaui/utils/Logger.js.map +1 -0
  514. package/src/nz/co/siliconst/ui5/metaui/utils/Logger.ts +75 -0
  515. package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost-dbg.js +0 -300
  516. package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost-dbg.js.map +0 -1
  517. package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost.d.ts +0 -130
  518. package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost.d.ts.map +0 -1
  519. package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost.js +0 -2
  520. package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost.js.map +0 -1
  521. package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost.ts +0 -292
  522. package/src/nz/co/siliconst/ui5/metaui/core/EventBus-dbg.js +0 -66
  523. package/src/nz/co/siliconst/ui5/metaui/core/EventBus-dbg.js.map +0 -1
  524. package/src/nz/co/siliconst/ui5/metaui/core/EventBus.d.ts +0 -40
  525. package/src/nz/co/siliconst/ui5/metaui/core/EventBus.d.ts.map +0 -1
  526. package/src/nz/co/siliconst/ui5/metaui/core/EventBus.js +0 -2
  527. package/src/nz/co/siliconst/ui5/metaui/core/EventBus.js.map +0 -1
  528. package/src/nz/co/siliconst/ui5/metaui/core/EventBus.ts +0 -60
  529. package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus-dbg.js +0 -2
  530. package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus-dbg.js.map +0 -1
  531. package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus.d.ts +0 -29
  532. package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus.d.ts.map +0 -1
  533. package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus.js +0 -2
  534. package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus.js.map +0 -1
  535. package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus.ts +0 -29
  536. package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout-dbg.js +0 -24
  537. package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout-dbg.js.map +0 -1
  538. package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout.d.ts +0 -15
  539. package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout.d.ts.map +0 -1
  540. package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout.js +0 -2
  541. package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout.js.map +0 -1
  542. package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout.ts +0 -22
  543. package/src/nz/co/siliconst/ui5/metaui/plugins/ArrayPlugin-dbg.js +0 -68
  544. package/src/nz/co/siliconst/ui5/metaui/plugins/ArrayPlugin-dbg.js.map +0 -1
  545. package/src/nz/co/siliconst/ui5/metaui/plugins/ArrayPlugin.d.ts +0 -15
  546. package/src/nz/co/siliconst/ui5/metaui/plugins/ArrayPlugin.d.ts.map +0 -1
  547. package/src/nz/co/siliconst/ui5/metaui/plugins/ArrayPlugin.js +0 -2
  548. package/src/nz/co/siliconst/ui5/metaui/plugins/ArrayPlugin.js.map +0 -1
  549. package/src/nz/co/siliconst/ui5/metaui/plugins/ArrayPlugin.ts +0 -71
  550. package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin-dbg.js +0 -55
  551. package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin-dbg.js.map +0 -1
  552. package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin.d.ts +0 -24
  553. package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin.d.ts.map +0 -1
  554. package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin.js +0 -2
  555. package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin.js.map +0 -1
  556. package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin.ts +0 -56
  557. package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin-dbg.js +0 -42
  558. package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin-dbg.js.map +0 -1
  559. package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin.d.ts +0 -18
  560. package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin.d.ts.map +0 -1
  561. package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin.js +0 -2
  562. package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin.js.map +0 -1
  563. package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin.ts +0 -41
  564. package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin-dbg.js.map +0 -1
  565. package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin.d.ts.map +0 -1
  566. package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin.js +0 -2
  567. package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin.js.map +0 -1
  568. package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin.ts +0 -69
  569. package/src/nz/co/siliconst/ui5/metaui/plugins/DateTimePlugin-dbg.js.map +0 -1
  570. package/src/nz/co/siliconst/ui5/metaui/plugins/DateTimePlugin.d.ts.map +0 -1
  571. package/src/nz/co/siliconst/ui5/metaui/plugins/DateTimePlugin.js +0 -2
  572. package/src/nz/co/siliconst/ui5/metaui/plugins/DateTimePlugin.js.map +0 -1
  573. package/src/nz/co/siliconst/ui5/metaui/plugins/DateTimePlugin.ts +0 -68
  574. package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin-dbg.js +0 -67
  575. package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin-dbg.js.map +0 -1
  576. package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin.d.ts +0 -18
  577. package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin.d.ts.map +0 -1
  578. package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin.js +0 -2
  579. package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin.js.map +0 -1
  580. package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin.ts +0 -65
  581. package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin-dbg.js.map +0 -1
  582. package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin.d.ts.map +0 -1
  583. package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin.js +0 -2
  584. package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin.js.map +0 -1
  585. package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin.ts +0 -56
  586. package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin-dbg.js +0 -57
  587. package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin-dbg.js.map +0 -1
  588. package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin.d.ts +0 -18
  589. package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin.d.ts.map +0 -1
  590. package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin.js +0 -2
  591. package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin.js.map +0 -1
  592. package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin.ts +0 -58
  593. package/src/nz/co/siliconst/ui5/metaui/plugins/SwitchPlugin-dbg.js.map +0 -1
  594. package/src/nz/co/siliconst/ui5/metaui/plugins/SwitchPlugin.d.ts.map +0 -1
  595. package/src/nz/co/siliconst/ui5/metaui/plugins/SwitchPlugin.js +0 -2
  596. package/src/nz/co/siliconst/ui5/metaui/plugins/SwitchPlugin.js.map +0 -1
  597. package/src/nz/co/siliconst/ui5/metaui/plugins/SwitchPlugin.ts +0 -42
  598. package/src/nz/co/siliconst/ui5/metaui/plugins/TextAreaPlugin-dbg.js.map +0 -1
  599. package/src/nz/co/siliconst/ui5/metaui/plugins/TextAreaPlugin.d.ts.map +0 -1
  600. package/src/nz/co/siliconst/ui5/metaui/plugins/TextAreaPlugin.js +0 -2
  601. package/src/nz/co/siliconst/ui5/metaui/plugins/TextAreaPlugin.js.map +0 -1
  602. package/src/nz/co/siliconst/ui5/metaui/plugins/TextAreaPlugin.ts +0 -58
  603. package/src/nz/co/siliconst/ui5/metaui/plugins/TimePlugin-dbg.js.map +0 -1
  604. package/src/nz/co/siliconst/ui5/metaui/plugins/TimePlugin.d.ts.map +0 -1
  605. package/src/nz/co/siliconst/ui5/metaui/plugins/TimePlugin.js +0 -2
  606. package/src/nz/co/siliconst/ui5/metaui/plugins/TimePlugin.js.map +0 -1
  607. package/src/nz/co/siliconst/ui5/metaui/plugins/TimePlugin.ts +0 -71
@@ -0,0 +1,119 @@
1
+ import deepEqual from "sap/base/util/deepEqual";
2
+ import extend from "sap/base/util/extend";
3
+ import { Logger } from "../../../utils/Logger";
4
+ import { SchemaNormalizer } from "../../../core/SchemaNormalizer";
5
+ import PropertyBinding from "sap/ui/model/PropertyBinding";
6
+ import { StateManager } from "../../../core/StateManager";
7
+
8
+ export interface IHostDataSync {
9
+ getProperty(name: string): unknown;
10
+ setProperty(name: string, value: unknown, suppressInvalidate?: boolean): any;
11
+ setBaseProperty(name: string, value: unknown, suppressInvalidate?: boolean): any;
12
+ getBinding(name: string): any;
13
+ invalidate(): void;
14
+ getStateManager(): StateManager | null;
15
+ getParsedSchema?(): Record<string, unknown> | null;
16
+ tearDownGeneratedLayout(): void;
17
+ }
18
+
19
+ /**
20
+ * Handles two-way data sync, JSON parsing, loop-breaking, and inference structural diffs.
21
+ */
22
+ export class DataSyncDelegate {
23
+ private host: IHostDataSync;
24
+ private _lastPushedPayloadJson: string | null = null;
25
+ private _lastPushedPayloadObj: Record<string, unknown> | null = null;
26
+ private _lastReceivedInputObj: Record<string, unknown> | null = null;
27
+
28
+ constructor(host: IHostDataSync) {
29
+ this.host = host;
30
+ }
31
+
32
+ /**
33
+ * Natively forces the UI5 framework to push updated properties back up to any bound ViewModels.
34
+ */
35
+ public pushToBindings(payload: Record<string, unknown>): void {
36
+ const payloadStr = JSON.stringify(payload, null, 2);
37
+
38
+ // Cache exact payload output to catch echoes on the inbound side
39
+ this._lastPushedPayloadJson = payloadStr;
40
+ this._lastPushedPayloadObj = deepEqual({}, payload) ? null : JSON.parse(JSON.stringify(payload)); // Safe clone
41
+
42
+ this.host.setProperty("data", payload, true);
43
+ this.host.setProperty("dataJson", payloadStr, true);
44
+ }
45
+
46
+ /**
47
+ * Intercepts and parses live updates to the data payload from two-way Fiori bindings.
48
+ */
49
+ public handleInputDataHotSwap(propertyName: string, value: unknown, suppressInvalidate?: boolean): void {
50
+ let incomingObj: Record<string, unknown> | null = null;
51
+
52
+ if (typeof value === "string") {
53
+ try {
54
+ incomingObj = JSON.parse(value) as Record<string, unknown>;
55
+ } catch (e) {
56
+ this.host.setBaseProperty(propertyName, value, true);
57
+ return;
58
+ }
59
+ } else {
60
+ incomingObj = value as Record<string, unknown>;
61
+ }
62
+
63
+ if (incomingObj === null) {
64
+ this.host.setBaseProperty(propertyName, value, true);
65
+ return;
66
+ }
67
+
68
+ // Loop Breaker 1: Stale Data Injection
69
+ if (this._lastReceivedInputObj && deepEqual(incomingObj, this._lastReceivedInputObj)) {
70
+ if (this.host.getProperty("debugMode")) {
71
+ Logger.debug("[MetaUI]", `Dropped stale data injection for ${propertyName}`, "DataSyncDelegate");
72
+ }
73
+ this.host.setBaseProperty(propertyName, value, suppressInvalidate);
74
+ return;
75
+ }
76
+
77
+ // Loop Breaker 2: Two-Way Data Echoes
78
+ if (this._lastPushedPayloadObj && deepEqual(incomingObj, this._lastPushedPayloadObj)) {
79
+ if (this.host.getProperty("debugMode")) {
80
+ Logger.debug("[MetaUI]", `Dropped echo for ${propertyName}`, "DataSyncDelegate");
81
+ }
82
+ this.host.setBaseProperty(propertyName, value, suppressInvalidate);
83
+ return;
84
+ }
85
+
86
+ this._lastReceivedInputObj = extend(true, {}, incomingObj) as Record<string, unknown>;
87
+
88
+ if (this.host.getProperty("debugMode")) {
89
+ Logger.debug("[MetaUI]", `Accepted external injection for ${propertyName}`, "DataSyncDelegate");
90
+ }
91
+
92
+ this.host.setBaseProperty(propertyName, value, true);
93
+
94
+ const stateManager = this.host.getStateManager();
95
+ if (!stateManager) {
96
+ this.host.invalidate();
97
+ return;
98
+ }
99
+
100
+ try {
101
+ stateManager.getModel().setData(incomingObj, false);
102
+
103
+ if (!this.host.getProperty("schemaDefinition") && typeof this.host.getParsedSchema === "function") {
104
+ const newInferredSchema = SchemaNormalizer.inferSchemaFromData(incomingObj);
105
+ const parsedSchema = this.host.getParsedSchema();
106
+ if (!deepEqual(newInferredSchema, parsedSchema)) {
107
+ this.host.tearDownGeneratedLayout();
108
+ this.host.invalidate();
109
+ }
110
+ }
111
+ } catch (e) {
112
+ const msg = `Failed to hot-swap ${propertyName}: ` + (e as Error).message;
113
+ Logger.error("[MetaUI]", msg, "DataSyncDelegate");
114
+ if (this.host.getProperty("debugMode")) {
115
+ sap.ui.require(["sap/m/MessageBox"], (MessageBox: unknown) => (MessageBox as Record<string, Function>).error(msg));
116
+ }
117
+ }
118
+ }
119
+ }
@@ -0,0 +1,64 @@
1
+ sap.ui.define(["sap/m/Dialog", "sap/m/Button", "../../../utils/Logger"], function (Dialog, Button, _____utils_Logger) {
2
+ "use strict";
3
+
4
+ const Logger = _____utils_Logger["Logger"];
5
+ /**
6
+ * Extracts all popup and dialog generation logic from the Host control.
7
+ */
8
+ class DialogDelegate {
9
+ constructor(host) {
10
+ this.host = host;
11
+ }
12
+
13
+ /**
14
+ * Dialog Modality: Opens the generated layout inside a sap.m.Dialog.
15
+ * Automatically wires up customizable submit (default: 'OK') and 'Cancel' buttons.
16
+ */
17
+ openInDialog(title = "Form", submitButtonText = "OK", isGenerated) {
18
+ if (!isGenerated) {
19
+ this.host.generate();
20
+ }
21
+ const dialog = new Dialog({
22
+ title: title,
23
+ contentWidth: "800px",
24
+ content: [this.host],
25
+ // Mount host inside the dialog
26
+ beginButton: new Button({
27
+ text: submitButtonText,
28
+ type: "Emphasized",
29
+ press: () => {
30
+ try {
31
+ const success = this.host.triggerSubmit();
32
+ if (success) {
33
+ dialog.close();
34
+ }
35
+ } catch (err) {
36
+ Logger.error("[MetaUI] Catastrophic error during validation/submit pipeline", err.message, "DialogDelegate");
37
+ this.host.fireEvent("validationError", {
38
+ fieldPath: "root",
39
+ message: err.message
40
+ });
41
+ }
42
+ }
43
+ }),
44
+ endButton: new Button({
45
+ text: "Cancel",
46
+ press: () => {
47
+ this.host.fireEvent("cancel");
48
+ dialog.close();
49
+ }
50
+ }),
51
+ afterClose: () => {
52
+ dialog.destroy();
53
+ }
54
+ });
55
+ dialog.open();
56
+ }
57
+ }
58
+ var __exports = {
59
+ __esModule: true
60
+ };
61
+ __exports.DialogDelegate = DialogDelegate;
62
+ return __exports;
63
+ });
64
+ //# sourceMappingURL=DialogDelegate-dbg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogDelegate-dbg.js","names":["Logger","_____utils_Logger","DialogDelegate","constructor","host","openInDialog","title","submitButtonText","isGenerated","generate","dialog","Dialog","contentWidth","content","beginButton","Button","text","type","press","success","triggerSubmit","close","err","error","message","fireEvent","fieldPath","endButton","afterClose","destroy","open","__exports","__esModule"],"sources":["DialogDelegate.ts"],"sourcesContent":["import Dialog from \"sap/m/Dialog\";\nimport Button from \"sap/m/Button\";\nimport Control from \"sap/ui/core/Control\";\nimport { Logger } from \"../../../utils/Logger\";\n\nexport interface IHostDialog {\n generate(): void;\n triggerSubmit(): boolean;\n fireEvent(eventName: string, parameters?: any): void;\n}\n\n/**\n * Extracts all popup and dialog generation logic from the Host control.\n */\nexport class DialogDelegate {\n private host: IHostDialog & Control;\n\n constructor(host: IHostDialog & Control) {\n this.host = host;\n }\n\n /**\n * Dialog Modality: Opens the generated layout inside a sap.m.Dialog.\n * Automatically wires up customizable submit (default: 'OK') and 'Cancel' buttons.\n */\n public openInDialog(title: string = \"Form\", submitButtonText: string = \"OK\", isGenerated: boolean): void {\n if (!isGenerated) {\n this.host.generate();\n }\n\n const dialog = new Dialog({\n title: title,\n contentWidth: \"800px\",\n content: [this.host], // Mount host inside the dialog\n beginButton: new Button({\n text: submitButtonText,\n type: \"Emphasized\",\n press: () => {\n try {\n const success = this.host.triggerSubmit();\n if (success) {\n dialog.close();\n }\n } catch (err) {\n Logger.error(\"[MetaUI] Catastrophic error during validation/submit pipeline\", (err as Error).message, \"DialogDelegate\");\n this.host.fireEvent(\"validationError\", { fieldPath: \"root\", message: (err as Error).message });\n }\n }\n }),\n endButton: new Button({\n text: \"Cancel\",\n press: () => {\n this.host.fireEvent(\"cancel\");\n dialog.close();\n }\n }),\n afterClose: () => {\n dialog.destroy();\n }\n });\n\n dialog.open();\n }\n}\n"],"mappings":";;;QAGSA,MAAM,GAAAC,iBAAA;EAQf;AACA;AACA;EACO,MAAMC,cAAc,CAAC;IAGxBC,WAAWA,CAACC,IAA2B,EAAE;MACrC,IAAI,CAACA,IAAI,GAAGA,IAAI;IACpB;;IAEA;AACJ;AACA;AACA;IACWC,YAAYA,CAACC,KAAa,GAAG,MAAM,EAAEC,gBAAwB,GAAG,IAAI,EAAEC,WAAoB,EAAQ;MACrG,IAAI,CAACA,WAAW,EAAE;QACd,IAAI,CAACJ,IAAI,CAACK,QAAQ,CAAC,CAAC;MACxB;MAEA,MAAMC,MAAM,GAAG,IAAIC,MAAM,CAAC;QACtBL,KAAK,EAAEA,KAAK;QACZM,YAAY,EAAE,OAAO;QACrBC,OAAO,EAAE,CAAC,IAAI,CAACT,IAAI,CAAC;QAAE;QACtBU,WAAW,EAAE,IAAIC,MAAM,CAAC;UACpBC,IAAI,EAAET,gBAAgB;UACtBU,IAAI,EAAE,YAAY;UAClBC,KAAK,EAAEA,CAAA,KAAM;YACT,IAAI;cACA,MAAMC,OAAO,GAAG,IAAI,CAACf,IAAI,CAACgB,aAAa,CAAC,CAAC;cACzC,IAAID,OAAO,EAAE;gBACTT,MAAM,CAACW,KAAK,CAAC,CAAC;cAClB;YACJ,CAAC,CAAC,OAAOC,GAAG,EAAE;cACVtB,MAAM,CAACuB,KAAK,CAAC,+DAA+D,EAAGD,GAAG,CAAWE,OAAO,EAAE,gBAAgB,CAAC;cACvH,IAAI,CAACpB,IAAI,CAACqB,SAAS,CAAC,iBAAiB,EAAE;gBAAEC,SAAS,EAAE,MAAM;gBAAEF,OAAO,EAAGF,GAAG,CAAWE;cAAQ,CAAC,CAAC;YAClG;UACJ;QACJ,CAAC,CAAC;QACFG,SAAS,EAAE,IAAIZ,MAAM,CAAC;UAClBC,IAAI,EAAE,QAAQ;UACdE,KAAK,EAAEA,CAAA,KAAM;YACT,IAAI,CAACd,IAAI,CAACqB,SAAS,CAAC,QAAQ,CAAC;YAC7Bf,MAAM,CAACW,KAAK,CAAC,CAAC;UAClB;QACJ,CAAC,CAAC;QACFO,UAAU,EAAEA,CAAA,KAAM;UACdlB,MAAM,CAACmB,OAAO,CAAC,CAAC;QACpB;MACJ,CAAC,CAAC;MAEFnB,MAAM,CAACoB,IAAI,CAAC,CAAC;IACjB;EACJ;EAAC,IAAAC,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAA7B,cAAA,GAAAA,cAAA;EAAA,OAAA6B,SAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ declare module "nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate" {
2
+ import Control from "sap/ui/core/Control";
3
+ export interface IHostDialog {
4
+ generate(): void;
5
+ triggerSubmit(): boolean;
6
+ fireEvent(eventName: string, parameters?: any): void;
7
+ }
8
+ /**
9
+ * Extracts all popup and dialog generation logic from the Host control.
10
+ */
11
+ export class DialogDelegate {
12
+ private host;
13
+ constructor(host: IHostDialog & Control);
14
+ /**
15
+ * Dialog Modality: Opens the generated layout inside a sap.m.Dialog.
16
+ * Automatically wires up customizable submit (default: 'OK') and 'Cancel' buttons.
17
+ */
18
+ openInDialog(title: string, submitButtonText: string, isGenerated: boolean): void;
19
+ }
20
+ }
21
+ //# sourceMappingURL=DialogDelegate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogDelegate.d.ts","sourceRoot":"../../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,mEAAmE,CAAC;IAGnF,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAG1C,UAAiB,WAAW;QACxB,QAAQ,IAAI,IAAI,CAAC;QACjB,aAAa,IAAI,OAAO,CAAC;QACzB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;KACxD;IAED;;OAEG;IACH,MAAa,cAAc;QACvB,OAAO,CAAC,IAAI,CAAwB;oBAExB,IAAI,EAAE,WAAW,GAAG,OAAO;QAIvC;;;WAGG;QACI,YAAY,CAAC,KAAK,EAAE,MAAe,EAAE,gBAAgB,EAAE,MAAa,EAAE,WAAW,EAAE,OAAO,GAAG,IAAI;KAsC3G;CAEA"}
@@ -0,0 +1,2 @@
1
+ sap.ui.define(["sap/m/Dialog","sap/m/Button","../../../utils/Logger"],function(t,e,s){"use strict";const o=s["Logger"];class i{constructor(t){this.host=t}openInDialog(s="Form",i="OK",n){if(!n){this.host.generate()}const r=new t({title:s,contentWidth:"800px",content:[this.host],beginButton:new e({text:i,type:"Emphasized",press:()=>{try{const t=this.host.triggerSubmit();if(t){r.close()}}catch(t){o.error("[MetaUI] Catastrophic error during validation/submit pipeline",t.message,"DialogDelegate");this.host.fireEvent("validationError",{fieldPath:"root",message:t.message})}}}),endButton:new e({text:"Cancel",press:()=>{this.host.fireEvent("cancel");r.close()}}),afterClose:()=>{r.destroy()}});r.open()}}var n={__esModule:true};n.DialogDelegate=i;return n});
2
+ //# sourceMappingURL=DialogDelegate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogDelegate.js","names":["Logger","_____utils_Logger","DialogDelegate","constructor","host","this","openInDialog","title","submitButtonText","isGenerated","generate","dialog","Dialog","contentWidth","content","beginButton","Button","text","type","press","success","triggerSubmit","close","err","error","message","fireEvent","fieldPath","endButton","afterClose","destroy","open","__exports","__esModule"],"sources":["DialogDelegate.ts"],"sourcesContent":["import Dialog from \"sap/m/Dialog\";\nimport Button from \"sap/m/Button\";\nimport Control from \"sap/ui/core/Control\";\nimport { Logger } from \"../../../utils/Logger\";\n\nexport interface IHostDialog {\n generate(): void;\n triggerSubmit(): boolean;\n fireEvent(eventName: string, parameters?: any): void;\n}\n\n/**\n * Extracts all popup and dialog generation logic from the Host control.\n */\nexport class DialogDelegate {\n private host: IHostDialog & Control;\n\n constructor(host: IHostDialog & Control) {\n this.host = host;\n }\n\n /**\n * Dialog Modality: Opens the generated layout inside a sap.m.Dialog.\n * Automatically wires up customizable submit (default: 'OK') and 'Cancel' buttons.\n */\n public openInDialog(title: string = \"Form\", submitButtonText: string = \"OK\", isGenerated: boolean): void {\n if (!isGenerated) {\n this.host.generate();\n }\n\n const dialog = new Dialog({\n title: title,\n contentWidth: \"800px\",\n content: [this.host], // Mount host inside the dialog\n beginButton: new Button({\n text: submitButtonText,\n type: \"Emphasized\",\n press: () => {\n try {\n const success = this.host.triggerSubmit();\n if (success) {\n dialog.close();\n }\n } catch (err) {\n Logger.error(\"[MetaUI] Catastrophic error during validation/submit pipeline\", (err as Error).message, \"DialogDelegate\");\n this.host.fireEvent(\"validationError\", { fieldPath: \"root\", message: (err as Error).message });\n }\n }\n }),\n endButton: new Button({\n text: \"Cancel\",\n press: () => {\n this.host.fireEvent(\"cancel\");\n dialog.close();\n }\n }),\n afterClose: () => {\n dialog.destroy();\n }\n });\n\n dialog.open();\n }\n}\n"],"mappings":"yGAGSA,EAAMC,EAAA,UAWR,MAAMC,EAGTC,YAAYC,GACRC,KAAKD,KAAOA,CAChB,CAMOE,aAAaC,EAAgB,OAAQC,EAA2B,KAAMC,GACzE,IAAKA,EAAa,CACdJ,KAAKD,KAAKM,UACd,CAEA,MAAMC,EAAS,IAAIC,EAAO,CACtBL,MAAOA,EACPM,aAAc,QACdC,QAAS,CAACT,KAAKD,MACfW,YAAa,IAAIC,EAAO,CACpBC,KAAMT,EACNU,KAAM,aACNC,MAAOA,KACH,IACI,MAAMC,EAAUf,KAAKD,KAAKiB,gBAC1B,GAAID,EAAS,CACTT,EAAOW,OACX,CACJ,CAAE,MAAOC,GACLvB,EAAOwB,MAAM,gEAAkED,EAAcE,QAAS,kBACtGpB,KAAKD,KAAKsB,UAAU,kBAAmB,CAAEC,UAAW,OAAQF,QAAUF,EAAcE,SACxF,KAGRG,UAAW,IAAIZ,EAAO,CAClBC,KAAM,SACNE,MAAOA,KACHd,KAAKD,KAAKsB,UAAU,UACpBf,EAAOW,WAGfO,WAAYA,KACRlB,EAAOmB,aAIfnB,EAAOoB,MACX,EACH,IAAAC,EAAA,CAAAC,WAAA,MAAAD,EAAA9B,iBAAA,OAAA8B,CAAA","ignoreList":[]}
@@ -0,0 +1,64 @@
1
+ import Dialog from "sap/m/Dialog";
2
+ import Button from "sap/m/Button";
3
+ import Control from "sap/ui/core/Control";
4
+ import { Logger } from "../../../utils/Logger";
5
+
6
+ export interface IHostDialog {
7
+ generate(): void;
8
+ triggerSubmit(): boolean;
9
+ fireEvent(eventName: string, parameters?: any): void;
10
+ }
11
+
12
+ /**
13
+ * Extracts all popup and dialog generation logic from the Host control.
14
+ */
15
+ export class DialogDelegate {
16
+ private host: IHostDialog & Control;
17
+
18
+ constructor(host: IHostDialog & Control) {
19
+ this.host = host;
20
+ }
21
+
22
+ /**
23
+ * Dialog Modality: Opens the generated layout inside a sap.m.Dialog.
24
+ * Automatically wires up customizable submit (default: 'OK') and 'Cancel' buttons.
25
+ */
26
+ public openInDialog(title: string = "Form", submitButtonText: string = "OK", isGenerated: boolean): void {
27
+ if (!isGenerated) {
28
+ this.host.generate();
29
+ }
30
+
31
+ const dialog = new Dialog({
32
+ title: title,
33
+ contentWidth: "800px",
34
+ content: [this.host], // Mount host inside the dialog
35
+ beginButton: new Button({
36
+ text: submitButtonText,
37
+ type: "Emphasized",
38
+ press: () => {
39
+ try {
40
+ const success = this.host.triggerSubmit();
41
+ if (success) {
42
+ dialog.close();
43
+ }
44
+ } catch (err) {
45
+ Logger.error("[MetaUI] Catastrophic error during validation/submit pipeline", (err as Error).message, "DialogDelegate");
46
+ this.host.fireEvent("validationError", { fieldPath: "root", message: (err as Error).message });
47
+ }
48
+ }
49
+ }),
50
+ endButton: new Button({
51
+ text: "Cancel",
52
+ press: () => {
53
+ this.host.fireEvent("cancel");
54
+ dialog.close();
55
+ }
56
+ }),
57
+ afterClose: () => {
58
+ dialog.destroy();
59
+ }
60
+ });
61
+
62
+ dialog.open();
63
+ }
64
+ }
@@ -0,0 +1,122 @@
1
+ sap.ui.define(["../../../utils/Logger"], function (_____utils_Logger) {
2
+ "use strict";
3
+
4
+ const Logger = _____utils_Logger["Logger"];
5
+ /**
6
+ * Universal OData Delegate.
7
+ * Natively detects and manages two-way synchronization for both OData V2 and V4 contexts
8
+ * without requiring controller-level mappings.
9
+ */
10
+ class ODataDelegate {
11
+ odataType = null;
12
+ isSyncing = false;
13
+
14
+ /**
15
+ * Initializes a new instance of the ODataDelegate.
16
+ *
17
+ * @param {DynamicHost} host The parent MetaUI DynamicHost instance managing the UI generation.
18
+ * @param {Context} context The active UI5 Model Context bound to the host.
19
+ */
20
+ constructor(host, context) {
21
+ this.host = host;
22
+ this.context = context;
23
+ this.detectODataType();
24
+ }
25
+
26
+ /**
27
+ * Evaluates the underlying UI5 Model bound to the context to determine if it is an
28
+ * OData V2 or OData V4 model. This determination drives the synchronization strategy.
29
+ *
30
+ * @private
31
+ */
32
+ detectODataType() {
33
+ const model = this.context.getModel();
34
+ // sap.ui.model.odata.v4.ODataModel
35
+ // sap.ui.model.odata.v2.ODataModel
36
+ const sClassName = model.getMetadata().getName();
37
+ if (sClassName.indexOf("v4") > -1) {
38
+ this.odataType = "V4";
39
+ } else if (sClassName.indexOf("v2") > -1 || sClassName.indexOf("ODataModel") > -1) {
40
+ this.odataType = "V2";
41
+ }
42
+ }
43
+
44
+ /**
45
+ * Extracts the full entity payload from the bound OData context and pushes it to the Engine.
46
+ * V4 uses an asynchronous requestObject(), while V2 retrieves it synchronously.
47
+ *
48
+ * @public
49
+ */
50
+ syncToEngine() {
51
+ if (!this.odataType) return;
52
+ if (this.odataType === "V4") {
53
+ // V4 uses async requestObject()
54
+ if (typeof this.context.requestObject === "function") {
55
+ this.context.requestObject().then(oData => {
56
+ this.pushPayload(oData);
57
+ }).catch(err => {
58
+ Logger.error("[MetaUI]", "Failed to extract V4 Context payload: " + err.message, "ODataDelegate");
59
+ });
60
+ }
61
+ } else if (this.odataType === "V2") {
62
+ // V2 uses sync getObject()
63
+ const oData = this.context.getObject();
64
+ if (oData) {
65
+ this.pushPayload(oData);
66
+ }
67
+ }
68
+ }
69
+
70
+ /**
71
+ * Cleans the raw OData payload by stripping framework metadata properties (keys starting with '@' or '__')
72
+ * and pushes the sanitized business data into the MetaUI DynamicHost state manager.
73
+ *
74
+ * @param {any} oData The raw JSON object extracted from the OData model context.
75
+ * @private
76
+ */
77
+ pushPayload(oData) {
78
+ if (!oData) return;
79
+
80
+ // Remove OData metadata properties before pushing to MetaUI
81
+ const cleanData = {
82
+ ...oData
83
+ };
84
+ for (const key of Object.keys(cleanData)) {
85
+ if (key.startsWith("@") || key.startsWith("__")) {
86
+ delete cleanData[key];
87
+ }
88
+ }
89
+ this.isSyncing = true;
90
+ this.host.setProperty("data", cleanData);
91
+ this.isSyncing = false;
92
+ }
93
+
94
+ /**
95
+ * Intercepts a field change from the MetaUI Engine and translates it into an OData PATCH.
96
+ */
97
+ handleFieldChange(fieldPath, value) {
98
+ if (this.isSyncing || !this.odataType) return;
99
+ try {
100
+ if (this.odataType === "V4") {
101
+ // V4 sets property directly on context
102
+ this.context.setProperty(fieldPath, value);
103
+ } else if (this.odataType === "V2") {
104
+ // V2 sets property on model, specifying the context path
105
+ const model = this.context.getModel();
106
+ model.setProperty(fieldPath, value, this.context);
107
+ }
108
+ if (this.host.getProperty("debugMode")) {
109
+ Logger.debug("[MetaUI]", `ODataDelegate Patched ${fieldPath} = ${value} via ${this.odataType}`, "ODataDelegate");
110
+ }
111
+ } catch (e) {
112
+ Logger.error("[MetaUI]", `Failed to patch OData context: ${e.message}`, "ODataDelegate");
113
+ }
114
+ }
115
+ }
116
+ var __exports = {
117
+ __esModule: true
118
+ };
119
+ __exports.ODataDelegate = ODataDelegate;
120
+ return __exports;
121
+ });
122
+ //# sourceMappingURL=ODataDelegate-dbg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ODataDelegate-dbg.js","names":["Logger","_____utils_Logger","ODataDelegate","odataType","isSyncing","constructor","host","context","detectODataType","model","getModel","sClassName","getMetadata","getName","indexOf","syncToEngine","requestObject","then","oData","pushPayload","catch","err","error","message","getObject","cleanData","key","Object","keys","startsWith","setProperty","handleFieldChange","fieldPath","value","getProperty","debug","e","__exports","__esModule"],"sources":["ODataDelegate.ts"],"sourcesContent":["import { DynamicHost } from \"../DynamicHost\";\nimport Context from \"sap/ui/model/Context\";\nimport { Logger } from \"../../../utils/Logger\";\n\n/**\n * Universal OData Delegate.\n * Natively detects and manages two-way synchronization for both OData V2 and V4 contexts\n * without requiring controller-level mappings.\n */\nexport class ODataDelegate {\n private host: DynamicHost;\n private context: Context;\n private odataType: \"V2\" | \"V4\" | null = null;\n private isSyncing: boolean = false;\n\n /**\n * Initializes a new instance of the ODataDelegate.\n * \n * @param {DynamicHost} host The parent MetaUI DynamicHost instance managing the UI generation.\n * @param {Context} context The active UI5 Model Context bound to the host.\n */\n constructor(host: DynamicHost, context: Context) {\n this.host = host;\n this.context = context;\n this.detectODataType();\n }\n\n /**\n * Evaluates the underlying UI5 Model bound to the context to determine if it is an\n * OData V2 or OData V4 model. This determination drives the synchronization strategy.\n * \n * @private\n */\n private detectODataType(): void {\n const model = this.context.getModel();\n // sap.ui.model.odata.v4.ODataModel\n // sap.ui.model.odata.v2.ODataModel\n const sClassName = model.getMetadata().getName();\n if (sClassName.indexOf(\"v4\") > -1) {\n this.odataType = \"V4\";\n } else if (sClassName.indexOf(\"v2\") > -1 || sClassName.indexOf(\"ODataModel\") > -1) {\n this.odataType = \"V2\";\n }\n }\n\n /**\n * Extracts the full entity payload from the bound OData context and pushes it to the Engine.\n * V4 uses an asynchronous requestObject(), while V2 retrieves it synchronously.\n * \n * @public\n */\n public syncToEngine(): void {\n if (!this.odataType) return;\n\n if (this.odataType === \"V4\") {\n // V4 uses async requestObject()\n if (typeof (this.context as any).requestObject === \"function\") {\n (this.context as any).requestObject().then((oData: any) => {\n this.pushPayload(oData);\n }).catch((err: Error) => {\n Logger.error(\"[MetaUI]\", \"Failed to extract V4 Context payload: \" + err.message, \"ODataDelegate\");\n });\n }\n } else if (this.odataType === \"V2\") {\n // V2 uses sync getObject()\n const oData = this.context.getObject();\n if (oData) {\n this.pushPayload(oData);\n }\n }\n }\n\n /**\n * Cleans the raw OData payload by stripping framework metadata properties (keys starting with '@' or '__')\n * and pushes the sanitized business data into the MetaUI DynamicHost state manager.\n * \n * @param {any} oData The raw JSON object extracted from the OData model context.\n * @private\n */\n private pushPayload(oData: any): void {\n if (!oData) return;\n \n // Remove OData metadata properties before pushing to MetaUI\n const cleanData = { ...oData };\n for (const key of Object.keys(cleanData)) {\n if (key.startsWith(\"@\") || key.startsWith(\"__\")) {\n delete cleanData[key];\n }\n }\n\n this.isSyncing = true;\n this.host.setProperty(\"data\", cleanData);\n this.isSyncing = false;\n }\n\n /**\n * Intercepts a field change from the MetaUI Engine and translates it into an OData PATCH.\n */\n public handleFieldChange(fieldPath: string, value: any): void {\n if (this.isSyncing || !this.odataType) return;\n\n try {\n if (this.odataType === \"V4\") {\n // V4 sets property directly on context\n this.context.setProperty(fieldPath, value);\n } else if (this.odataType === \"V2\") {\n // V2 sets property on model, specifying the context path\n const model = this.context.getModel();\n model.setProperty(fieldPath, value, this.context);\n }\n if (this.host.getProperty(\"debugMode\")) {\n Logger.debug(\"[MetaUI]\", `ODataDelegate Patched ${fieldPath} = ${value} via ${this.odataType}`, \"ODataDelegate\");\n }\n } catch (e) {\n Logger.error(\"[MetaUI]\", `Failed to patch OData context: ${(e as Error).message}`, \"ODataDelegate\");\n }\n }\n}\n"],"mappings":";;;QAESA,MAAM,GAAAC,iBAAA;EAEf;AACA;AACA;AACA;AACA;EACO,MAAMC,aAAa,CAAC;IAGfC,SAAS,GAAuB,IAAI;IACpCC,SAAS,GAAY,KAAK;;IAElC;AACJ;AACA;AACA;AACA;AACA;IACIC,WAAWA,CAACC,IAAiB,EAAEC,OAAgB,EAAE;MAC7C,IAAI,CAACD,IAAI,GAAGA,IAAI;MAChB,IAAI,CAACC,OAAO,GAAGA,OAAO;MACtB,IAAI,CAACC,eAAe,CAAC,CAAC;IAC1B;;IAEA;AACJ;AACA;AACA;AACA;AACA;IACYA,eAAeA,CAAA,EAAS;MAC5B,MAAMC,KAAK,GAAG,IAAI,CAACF,OAAO,CAACG,QAAQ,CAAC,CAAC;MACrC;MACA;MACA,MAAMC,UAAU,GAAGF,KAAK,CAACG,WAAW,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;MAChD,IAAIF,UAAU,CAACG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;QAC/B,IAAI,CAACX,SAAS,GAAG,IAAI;MACzB,CAAC,MAAM,IAAIQ,UAAU,CAACG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAIH,UAAU,CAACG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE;QAC/E,IAAI,CAACX,SAAS,GAAG,IAAI;MACzB;IACJ;;IAEA;AACJ;AACA;AACA;AACA;AACA;IACWY,YAAYA,CAAA,EAAS;MACxB,IAAI,CAAC,IAAI,CAACZ,SAAS,EAAE;MAErB,IAAI,IAAI,CAACA,SAAS,KAAK,IAAI,EAAE;QACzB;QACA,IAAI,OAAQ,IAAI,CAACI,OAAO,CAASS,aAAa,KAAK,UAAU,EAAE;UAC1D,IAAI,CAACT,OAAO,CAASS,aAAa,CAAC,CAAC,CAACC,IAAI,CAAEC,KAAU,IAAK;YACvD,IAAI,CAACC,WAAW,CAACD,KAAK,CAAC;UAC3B,CAAC,CAAC,CAACE,KAAK,CAAEC,GAAU,IAAK;YACrBrB,MAAM,CAACsB,KAAK,CAAC,UAAU,EAAE,wCAAwC,GAAGD,GAAG,CAACE,OAAO,EAAE,eAAe,CAAC;UACrG,CAAC,CAAC;QACN;MACJ,CAAC,MAAM,IAAI,IAAI,CAACpB,SAAS,KAAK,IAAI,EAAE;QAChC;QACA,MAAMe,KAAK,GAAG,IAAI,CAACX,OAAO,CAACiB,SAAS,CAAC,CAAC;QACtC,IAAIN,KAAK,EAAE;UACP,IAAI,CAACC,WAAW,CAACD,KAAK,CAAC;QAC3B;MACJ;IACJ;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;IACYC,WAAWA,CAACD,KAAU,EAAQ;MAClC,IAAI,CAACA,KAAK,EAAE;;MAEZ;MACA,MAAMO,SAAS,GAAG;QAAE,GAAGP;MAAM,CAAC;MAC9B,KAAK,MAAMQ,GAAG,IAAIC,MAAM,CAACC,IAAI,CAACH,SAAS,CAAC,EAAE;QACtC,IAAIC,GAAG,CAACG,UAAU,CAAC,GAAG,CAAC,IAAIH,GAAG,CAACG,UAAU,CAAC,IAAI,CAAC,EAAE;UAC7C,OAAOJ,SAAS,CAACC,GAAG,CAAC;QACzB;MACJ;MAEA,IAAI,CAACtB,SAAS,GAAG,IAAI;MACrB,IAAI,CAACE,IAAI,CAACwB,WAAW,CAAC,MAAM,EAAEL,SAAS,CAAC;MACxC,IAAI,CAACrB,SAAS,GAAG,KAAK;IAC1B;;IAEA;AACJ;AACA;IACW2B,iBAAiBA,CAACC,SAAiB,EAAEC,KAAU,EAAQ;MAC1D,IAAI,IAAI,CAAC7B,SAAS,IAAI,CAAC,IAAI,CAACD,SAAS,EAAE;MAEvC,IAAI;QACA,IAAI,IAAI,CAACA,SAAS,KAAK,IAAI,EAAE;UACzB;UACA,IAAI,CAACI,OAAO,CAACuB,WAAW,CAACE,SAAS,EAAEC,KAAK,CAAC;QAC9C,CAAC,MAAM,IAAI,IAAI,CAAC9B,SAAS,KAAK,IAAI,EAAE;UAChC;UACA,MAAMM,KAAK,GAAG,IAAI,CAACF,OAAO,CAACG,QAAQ,CAAC,CAAC;UACrCD,KAAK,CAACqB,WAAW,CAACE,SAAS,EAAEC,KAAK,EAAE,IAAI,CAAC1B,OAAO,CAAC;QACrD;QACA,IAAI,IAAI,CAACD,IAAI,CAAC4B,WAAW,CAAC,WAAW,CAAC,EAAE;UACpClC,MAAM,CAACmC,KAAK,CAAC,UAAU,EAAE,yBAAyBH,SAAS,MAAMC,KAAK,QAAQ,IAAI,CAAC9B,SAAS,EAAE,EAAE,eAAe,CAAC;QACpH;MACJ,CAAC,CAAC,OAAOiC,CAAC,EAAE;QACRpC,MAAM,CAACsB,KAAK,CAAC,UAAU,EAAE,kCAAmCc,CAAC,CAAWb,OAAO,EAAE,EAAE,eAAe,CAAC;MACvG;IACJ;EACJ;EAAC,IAAAc,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAnC,aAAA,GAAAA,aAAA;EAAA,OAAAmC,SAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,49 @@
1
+ declare module "nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate" {
2
+ import { DynamicHost } from "nz/co/siliconst/ui5/metaui/controls/host/DynamicHost";
3
+ import Context from "sap/ui/model/Context";
4
+ /**
5
+ * Universal OData Delegate.
6
+ * Natively detects and manages two-way synchronization for both OData V2 and V4 contexts
7
+ * without requiring controller-level mappings.
8
+ */
9
+ export class ODataDelegate {
10
+ private host;
11
+ private context;
12
+ private odataType;
13
+ private isSyncing;
14
+ /**
15
+ * Initializes a new instance of the ODataDelegate.
16
+ *
17
+ * @param {DynamicHost} host The parent MetaUI DynamicHost instance managing the UI generation.
18
+ * @param {Context} context The active UI5 Model Context bound to the host.
19
+ */
20
+ constructor(host: DynamicHost, context: Context);
21
+ /**
22
+ * Evaluates the underlying UI5 Model bound to the context to determine if it is an
23
+ * OData V2 or OData V4 model. This determination drives the synchronization strategy.
24
+ *
25
+ * @private
26
+ */
27
+ private detectODataType;
28
+ /**
29
+ * Extracts the full entity payload from the bound OData context and pushes it to the Engine.
30
+ * V4 uses an asynchronous requestObject(), while V2 retrieves it synchronously.
31
+ *
32
+ * @public
33
+ */
34
+ syncToEngine(): void;
35
+ /**
36
+ * Cleans the raw OData payload by stripping framework metadata properties (keys starting with '@' or '__')
37
+ * and pushes the sanitized business data into the MetaUI DynamicHost state manager.
38
+ *
39
+ * @param {any} oData The raw JSON object extracted from the OData model context.
40
+ * @private
41
+ */
42
+ private pushPayload;
43
+ /**
44
+ * Intercepts a field change from the MetaUI Engine and translates it into an OData PATCH.
45
+ */
46
+ handleFieldChange(fieldPath: string, value: any): void;
47
+ }
48
+ }
49
+ //# sourceMappingURL=ODataDelegate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ODataDelegate.d.ts","sourceRoot":"../../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,kEAAkE,CAAC;IAClF,OAAO,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;IACnF,OAAO,OAAO,MAAM,sBAAsB,CAAC;IAG3C;;;;OAIG;IACH,MAAa,aAAa;QACtB,OAAO,CAAC,IAAI,CAAc;QAC1B,OAAO,CAAC,OAAO,CAAU;QACzB,OAAO,CAAC,SAAS,CAA4B;QAC7C,OAAO,CAAC,SAAS,CAAkB;QAEnC;;;;;WAKG;oBACS,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO;QAM/C;;;;;WAKG;QACH,OAAO,CAAC,eAAe;QAYvB;;;;;WAKG;QACI,YAAY,IAAI,IAAI;QAqB3B;;;;;;WAMG;QACH,OAAO,CAAC,WAAW;QAgBnB;;WAEG;QACI,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;KAmBhE;CAEA"}
@@ -0,0 +1,2 @@
1
+ sap.ui.define(["../../../utils/Logger"],function(t){"use strict";const e=t["Logger"];class a{odataType=null;isSyncing=false;constructor(t,e){this.host=t;this.context=e;this.detectODataType()}detectODataType(){const t=this.context.getModel();const e=t.getMetadata().getName();if(e.indexOf("v4")>-1){this.odataType="V4"}else if(e.indexOf("v2")>-1||e.indexOf("ODataModel")>-1){this.odataType="V2"}}syncToEngine(){if(!this.odataType)return;if(this.odataType==="V4"){if(typeof this.context.requestObject==="function"){this.context.requestObject().then(t=>{this.pushPayload(t)}).catch(t=>{e.error("[MetaUI]","Failed to extract V4 Context payload: "+t.message,"ODataDelegate")})}}else if(this.odataType==="V2"){const t=this.context.getObject();if(t){this.pushPayload(t)}}}pushPayload(t){if(!t)return;const e={...t};for(const t of Object.keys(e)){if(t.startsWith("@")||t.startsWith("__")){delete e[t]}}this.isSyncing=true;this.host.setProperty("data",e);this.isSyncing=false}handleFieldChange(t,a){if(this.isSyncing||!this.odataType)return;try{if(this.odataType==="V4"){this.context.setProperty(t,a)}else if(this.odataType==="V2"){const e=this.context.getModel();e.setProperty(t,a,this.context)}if(this.host.getProperty("debugMode")){e.debug("[MetaUI]",`ODataDelegate Patched ${t} = ${a} via ${this.odataType}`,"ODataDelegate")}}catch(t){e.error("[MetaUI]",`Failed to patch OData context: ${t.message}`,"ODataDelegate")}}}var s={__esModule:true};s.ODataDelegate=a;return s});
2
+ //# sourceMappingURL=ODataDelegate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ODataDelegate.js","names":["Logger","_____utils_Logger","ODataDelegate","odataType","isSyncing","constructor","host","context","this","detectODataType","model","getModel","sClassName","getMetadata","getName","indexOf","syncToEngine","requestObject","then","oData","pushPayload","catch","err","error","message","getObject","cleanData","key","Object","keys","startsWith","setProperty","handleFieldChange","fieldPath","value","getProperty","debug","e","__exports","__esModule"],"sources":["ODataDelegate.ts"],"sourcesContent":["import { DynamicHost } from \"../DynamicHost\";\nimport Context from \"sap/ui/model/Context\";\nimport { Logger } from \"../../../utils/Logger\";\n\n/**\n * Universal OData Delegate.\n * Natively detects and manages two-way synchronization for both OData V2 and V4 contexts\n * without requiring controller-level mappings.\n */\nexport class ODataDelegate {\n private host: DynamicHost;\n private context: Context;\n private odataType: \"V2\" | \"V4\" | null = null;\n private isSyncing: boolean = false;\n\n /**\n * Initializes a new instance of the ODataDelegate.\n * \n * @param {DynamicHost} host The parent MetaUI DynamicHost instance managing the UI generation.\n * @param {Context} context The active UI5 Model Context bound to the host.\n */\n constructor(host: DynamicHost, context: Context) {\n this.host = host;\n this.context = context;\n this.detectODataType();\n }\n\n /**\n * Evaluates the underlying UI5 Model bound to the context to determine if it is an\n * OData V2 or OData V4 model. This determination drives the synchronization strategy.\n * \n * @private\n */\n private detectODataType(): void {\n const model = this.context.getModel();\n // sap.ui.model.odata.v4.ODataModel\n // sap.ui.model.odata.v2.ODataModel\n const sClassName = model.getMetadata().getName();\n if (sClassName.indexOf(\"v4\") > -1) {\n this.odataType = \"V4\";\n } else if (sClassName.indexOf(\"v2\") > -1 || sClassName.indexOf(\"ODataModel\") > -1) {\n this.odataType = \"V2\";\n }\n }\n\n /**\n * Extracts the full entity payload from the bound OData context and pushes it to the Engine.\n * V4 uses an asynchronous requestObject(), while V2 retrieves it synchronously.\n * \n * @public\n */\n public syncToEngine(): void {\n if (!this.odataType) return;\n\n if (this.odataType === \"V4\") {\n // V4 uses async requestObject()\n if (typeof (this.context as any).requestObject === \"function\") {\n (this.context as any).requestObject().then((oData: any) => {\n this.pushPayload(oData);\n }).catch((err: Error) => {\n Logger.error(\"[MetaUI]\", \"Failed to extract V4 Context payload: \" + err.message, \"ODataDelegate\");\n });\n }\n } else if (this.odataType === \"V2\") {\n // V2 uses sync getObject()\n const oData = this.context.getObject();\n if (oData) {\n this.pushPayload(oData);\n }\n }\n }\n\n /**\n * Cleans the raw OData payload by stripping framework metadata properties (keys starting with '@' or '__')\n * and pushes the sanitized business data into the MetaUI DynamicHost state manager.\n * \n * @param {any} oData The raw JSON object extracted from the OData model context.\n * @private\n */\n private pushPayload(oData: any): void {\n if (!oData) return;\n \n // Remove OData metadata properties before pushing to MetaUI\n const cleanData = { ...oData };\n for (const key of Object.keys(cleanData)) {\n if (key.startsWith(\"@\") || key.startsWith(\"__\")) {\n delete cleanData[key];\n }\n }\n\n this.isSyncing = true;\n this.host.setProperty(\"data\", cleanData);\n this.isSyncing = false;\n }\n\n /**\n * Intercepts a field change from the MetaUI Engine and translates it into an OData PATCH.\n */\n public handleFieldChange(fieldPath: string, value: any): void {\n if (this.isSyncing || !this.odataType) return;\n\n try {\n if (this.odataType === \"V4\") {\n // V4 sets property directly on context\n this.context.setProperty(fieldPath, value);\n } else if (this.odataType === \"V2\") {\n // V2 sets property on model, specifying the context path\n const model = this.context.getModel();\n model.setProperty(fieldPath, value, this.context);\n }\n if (this.host.getProperty(\"debugMode\")) {\n Logger.debug(\"[MetaUI]\", `ODataDelegate Patched ${fieldPath} = ${value} via ${this.odataType}`, \"ODataDelegate\");\n }\n } catch (e) {\n Logger.error(\"[MetaUI]\", `Failed to patch OData context: ${(e as Error).message}`, \"ODataDelegate\");\n }\n }\n}\n"],"mappings":"uEAESA,EAAMC,EAAA,UAOR,MAAMC,EAGDC,UAAgC,KAChCC,UAAqB,MAQ7BC,YAAYC,EAAmBC,GAC3BC,KAAKF,KAAOA,EACZE,KAAKD,QAAUA,EACfC,KAAKC,iBACT,CAQQA,kBACJ,MAAMC,EAAQF,KAAKD,QAAQI,WAG3B,MAAMC,EAAaF,EAAMG,cAAcC,UACvC,GAAIF,EAAWG,QAAQ,OAAS,EAAG,CAC/BP,KAAKL,UAAY,IACrB,MAAO,GAAIS,EAAWG,QAAQ,OAAS,GAAKH,EAAWG,QAAQ,eAAiB,EAAG,CAC/EP,KAAKL,UAAY,IACrB,CACJ,CAQOa,eACH,IAAKR,KAAKL,UAAW,OAErB,GAAIK,KAAKL,YAAc,KAAM,CAEzB,UAAYK,KAAKD,QAAgBU,gBAAkB,WAAY,CAC1DT,KAAKD,QAAgBU,gBAAgBC,KAAMC,IACxCX,KAAKY,YAAYD,KAClBE,MAAOC,IACNtB,EAAOuB,MAAM,WAAY,yCAA2CD,EAAIE,QAAS,kBAEzF,CACJ,MAAO,GAAIhB,KAAKL,YAAc,KAAM,CAEhC,MAAMgB,EAAQX,KAAKD,QAAQkB,YAC3B,GAAIN,EAAO,CACPX,KAAKY,YAAYD,EACrB,CACJ,CACJ,CASQC,YAAYD,GAChB,IAAKA,EAAO,OAGZ,MAAMO,EAAY,IAAKP,GACvB,IAAK,MAAMQ,KAAOC,OAAOC,KAAKH,GAAY,CACtC,GAAIC,EAAIG,WAAW,MAAQH,EAAIG,WAAW,MAAO,QACtCJ,EAAUC,EACrB,CACJ,CAEAnB,KAAKJ,UAAY,KACjBI,KAAKF,KAAKyB,YAAY,OAAQL,GAC9BlB,KAAKJ,UAAY,KACrB,CAKO4B,kBAAkBC,EAAmBC,GACxC,GAAI1B,KAAKJ,YAAcI,KAAKL,UAAW,OAEvC,IACI,GAAIK,KAAKL,YAAc,KAAM,CAEzBK,KAAKD,QAAQwB,YAAYE,EAAWC,EACxC,MAAO,GAAI1B,KAAKL,YAAc,KAAM,CAEhC,MAAMO,EAAQF,KAAKD,QAAQI,WAC3BD,EAAMqB,YAAYE,EAAWC,EAAO1B,KAAKD,QAC7C,CACA,GAAIC,KAAKF,KAAK6B,YAAY,aAAc,CACpCnC,EAAOoC,MAAM,WAAY,yBAAyBH,OAAeC,SAAa1B,KAAKL,YAAa,gBACpG,CACJ,CAAE,MAAOkC,GACLrC,EAAOuB,MAAM,WAAY,kCAAmCc,EAAYb,UAAW,gBACvF,CACJ,EACH,IAAAc,EAAA,CAAAC,WAAA,MAAAD,EAAApC,gBAAA,OAAAoC,CAAA","ignoreList":[]}
@@ -0,0 +1,118 @@
1
+ import { DynamicHost } from "../DynamicHost";
2
+ import Context from "sap/ui/model/Context";
3
+ import { Logger } from "../../../utils/Logger";
4
+
5
+ /**
6
+ * Universal OData Delegate.
7
+ * Natively detects and manages two-way synchronization for both OData V2 and V4 contexts
8
+ * without requiring controller-level mappings.
9
+ */
10
+ export class ODataDelegate {
11
+ private host: DynamicHost;
12
+ private context: Context;
13
+ private odataType: "V2" | "V4" | null = null;
14
+ private isSyncing: boolean = false;
15
+
16
+ /**
17
+ * Initializes a new instance of the ODataDelegate.
18
+ *
19
+ * @param {DynamicHost} host The parent MetaUI DynamicHost instance managing the UI generation.
20
+ * @param {Context} context The active UI5 Model Context bound to the host.
21
+ */
22
+ constructor(host: DynamicHost, context: Context) {
23
+ this.host = host;
24
+ this.context = context;
25
+ this.detectODataType();
26
+ }
27
+
28
+ /**
29
+ * Evaluates the underlying UI5 Model bound to the context to determine if it is an
30
+ * OData V2 or OData V4 model. This determination drives the synchronization strategy.
31
+ *
32
+ * @private
33
+ */
34
+ private detectODataType(): void {
35
+ const model = this.context.getModel();
36
+ // sap.ui.model.odata.v4.ODataModel
37
+ // sap.ui.model.odata.v2.ODataModel
38
+ const sClassName = model.getMetadata().getName();
39
+ if (sClassName.indexOf("v4") > -1) {
40
+ this.odataType = "V4";
41
+ } else if (sClassName.indexOf("v2") > -1 || sClassName.indexOf("ODataModel") > -1) {
42
+ this.odataType = "V2";
43
+ }
44
+ }
45
+
46
+ /**
47
+ * Extracts the full entity payload from the bound OData context and pushes it to the Engine.
48
+ * V4 uses an asynchronous requestObject(), while V2 retrieves it synchronously.
49
+ *
50
+ * @public
51
+ */
52
+ public syncToEngine(): void {
53
+ if (!this.odataType) return;
54
+
55
+ if (this.odataType === "V4") {
56
+ // V4 uses async requestObject()
57
+ if (typeof (this.context as any).requestObject === "function") {
58
+ (this.context as any).requestObject().then((oData: any) => {
59
+ this.pushPayload(oData);
60
+ }).catch((err: Error) => {
61
+ Logger.error("[MetaUI]", "Failed to extract V4 Context payload: " + err.message, "ODataDelegate");
62
+ });
63
+ }
64
+ } else if (this.odataType === "V2") {
65
+ // V2 uses sync getObject()
66
+ const oData = this.context.getObject();
67
+ if (oData) {
68
+ this.pushPayload(oData);
69
+ }
70
+ }
71
+ }
72
+
73
+ /**
74
+ * Cleans the raw OData payload by stripping framework metadata properties (keys starting with '@' or '__')
75
+ * and pushes the sanitized business data into the MetaUI DynamicHost state manager.
76
+ *
77
+ * @param {any} oData The raw JSON object extracted from the OData model context.
78
+ * @private
79
+ */
80
+ private pushPayload(oData: any): void {
81
+ if (!oData) return;
82
+
83
+ // Remove OData metadata properties before pushing to MetaUI
84
+ const cleanData = { ...oData };
85
+ for (const key of Object.keys(cleanData)) {
86
+ if (key.startsWith("@") || key.startsWith("__")) {
87
+ delete cleanData[key];
88
+ }
89
+ }
90
+
91
+ this.isSyncing = true;
92
+ this.host.setProperty("data", cleanData);
93
+ this.isSyncing = false;
94
+ }
95
+
96
+ /**
97
+ * Intercepts a field change from the MetaUI Engine and translates it into an OData PATCH.
98
+ */
99
+ public handleFieldChange(fieldPath: string, value: any): void {
100
+ if (this.isSyncing || !this.odataType) return;
101
+
102
+ try {
103
+ if (this.odataType === "V4") {
104
+ // V4 sets property directly on context
105
+ this.context.setProperty(fieldPath, value);
106
+ } else if (this.odataType === "V2") {
107
+ // V2 sets property on model, specifying the context path
108
+ const model = this.context.getModel();
109
+ model.setProperty(fieldPath, value, this.context);
110
+ }
111
+ if (this.host.getProperty("debugMode")) {
112
+ Logger.debug("[MetaUI]", `ODataDelegate Patched ${fieldPath} = ${value} via ${this.odataType}`, "ODataDelegate");
113
+ }
114
+ } catch (e) {
115
+ Logger.error("[MetaUI]", `Failed to patch OData context: ${(e as Error).message}`, "ODataDelegate");
116
+ }
117
+ }
118
+ }