@siliconst/metaui 1.4.5 → 1.4.7

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 (329) hide show
  1. package/package.json +1 -1
  2. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl-dbg.js +13 -0
  3. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl-dbg.js.map +1 -1
  4. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.d.ts +10 -0
  5. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.d.ts.map +1 -1
  6. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.js.map +1 -1
  7. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.ts +10 -0
  8. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost-dbg.js +49 -6
  9. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost-dbg.js.map +1 -1
  10. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.d.ts +48 -5
  11. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.d.ts.map +1 -1
  12. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.js +1 -1
  13. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.js.map +1 -1
  14. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.ts +49 -5
  15. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl-dbg.js +32 -1
  16. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl-dbg.js.map +1 -1
  17. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.d.ts +7 -0
  18. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.d.ts.map +1 -1
  19. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.js +1 -1
  20. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.js.map +1 -1
  21. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.ts +11 -1
  22. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl-dbg.js +20 -0
  23. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl-dbg.js.map +1 -1
  24. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.d.ts +12 -0
  25. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.d.ts.map +1 -1
  26. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.js +1 -1
  27. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.js.map +1 -1
  28. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.ts +21 -0
  29. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl-dbg.js +9 -0
  30. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl-dbg.js.map +1 -1
  31. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.d.ts +7 -0
  32. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.d.ts.map +1 -1
  33. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.js.map +1 -1
  34. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.ts +7 -0
  35. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl-dbg.js +13 -0
  36. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl-dbg.js.map +1 -1
  37. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.d.ts +10 -0
  38. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.d.ts.map +1 -1
  39. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.js.map +1 -1
  40. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.ts +10 -0
  41. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost-dbg.js +46 -10
  42. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost-dbg.js.map +1 -1
  43. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.d.ts +17 -5
  44. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.d.ts.map +1 -1
  45. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.js +1 -1
  46. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.js.map +1 -1
  47. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.ts +48 -8
  48. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate-dbg.js +5 -0
  49. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate-dbg.js.map +1 -1
  50. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.d.ts +4 -0
  51. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.d.ts.map +1 -1
  52. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.js.map +1 -1
  53. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.ts +4 -0
  54. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate-dbg.js +4 -0
  55. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate-dbg.js.map +1 -1
  56. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.d.ts +4 -0
  57. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.d.ts.map +1 -1
  58. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.js.map +1 -1
  59. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.ts +4 -0
  60. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate-dbg.js +4 -0
  61. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate-dbg.js.map +1 -1
  62. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.d.ts +4 -0
  63. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.d.ts.map +1 -1
  64. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.js.map +1 -1
  65. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.ts +4 -0
  66. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator-dbg.js +45 -12
  67. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator-dbg.js.map +1 -1
  68. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.d.ts +6 -0
  69. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.d.ts.map +1 -1
  70. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.js +1 -1
  71. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.js.map +1 -1
  72. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.ts +25 -12
  73. package/src/nz/co/siliconst/ui5/metaui/core/Engine-dbg.js +30 -17
  74. package/src/nz/co/siliconst/ui5/metaui/core/Engine-dbg.js.map +1 -1
  75. package/src/nz/co/siliconst/ui5/metaui/core/Engine.d.ts +8 -8
  76. package/src/nz/co/siliconst/ui5/metaui/core/Engine.d.ts.map +1 -1
  77. package/src/nz/co/siliconst/ui5/metaui/core/Engine.js +1 -1
  78. package/src/nz/co/siliconst/ui5/metaui/core/Engine.js.map +1 -1
  79. package/src/nz/co/siliconst/ui5/metaui/core/Engine.ts +39 -32
  80. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager-dbg.js +17 -3
  81. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager-dbg.js.map +1 -1
  82. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.d.ts +4 -0
  83. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.d.ts.map +1 -1
  84. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.js +1 -1
  85. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.js.map +1 -1
  86. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.ts +13 -3
  87. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry-dbg.js +158 -106
  88. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry-dbg.js.map +1 -1
  89. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.d.ts +25 -26
  90. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.d.ts.map +1 -1
  91. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.js +1 -1
  92. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.js.map +1 -1
  93. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.ts +176 -113
  94. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer-dbg.js +26 -0
  95. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer-dbg.js.map +1 -1
  96. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.d.ts +22 -0
  97. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.d.ts.map +1 -1
  98. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.js.map +1 -1
  99. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.ts +22 -0
  100. package/src/nz/co/siliconst/ui5/metaui/core/StateManager-dbg.js +6 -0
  101. package/src/nz/co/siliconst/ui5/metaui/core/StateManager-dbg.js.map +1 -1
  102. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.d.ts +5 -0
  103. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.d.ts.map +1 -1
  104. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.js.map +1 -1
  105. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.ts +5 -0
  106. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin-dbg.js.map +1 -1
  107. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.d.ts +3 -3
  108. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.d.ts.map +1 -1
  109. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.ts +3 -3
  110. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout-dbg.js +10 -0
  111. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout-dbg.js.map +1 -1
  112. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.d.ts +9 -0
  113. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.d.ts.map +1 -1
  114. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.js.map +1 -1
  115. package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.ts +9 -0
  116. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout-dbg.js +10 -0
  117. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout-dbg.js.map +1 -1
  118. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.d.ts +9 -0
  119. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.d.ts.map +1 -1
  120. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.js.map +1 -1
  121. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.ts +9 -0
  122. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout-dbg.js +2 -2
  123. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout-dbg.js.map +1 -1
  124. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.js +1 -1
  125. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.js.map +1 -1
  126. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.ts +2 -2
  127. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout-dbg.js +9 -0
  128. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout-dbg.js.map +1 -1
  129. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.d.ts +8 -0
  130. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.d.ts.map +1 -1
  131. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.js.map +1 -1
  132. package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.ts +8 -0
  133. package/src/nz/co/siliconst/ui5/metaui/library-dbg.js +2 -32
  134. package/src/nz/co/siliconst/ui5/metaui/library-dbg.js.map +1 -1
  135. package/src/nz/co/siliconst/ui5/metaui/library-preload.js +36 -37
  136. package/src/nz/co/siliconst/ui5/metaui/library-preload.js.map +1 -1
  137. package/src/nz/co/siliconst/ui5/metaui/library.d.ts +0 -6
  138. package/src/nz/co/siliconst/ui5/metaui/library.d.ts.map +1 -1
  139. package/src/nz/co/siliconst/ui5/metaui/library.js +1 -1
  140. package/src/nz/co/siliconst/ui5/metaui/library.js.map +1 -1
  141. package/src/nz/co/siliconst/ui5/metaui/library.ts +0 -33
  142. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin-dbg.js +2 -2
  143. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin-dbg.js.map +1 -1
  144. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.js +1 -1
  145. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.js.map +1 -1
  146. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.ts +2 -2
  147. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin-dbg.js +2 -2
  148. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin-dbg.js.map +1 -1
  149. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin.js +1 -1
  150. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin.js.map +1 -1
  151. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin.ts +2 -2
  152. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin-dbg.js +23 -5
  153. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin-dbg.js.map +1 -1
  154. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.d.ts +16 -0
  155. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.d.ts.map +1 -1
  156. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.js +1 -1
  157. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.js.map +1 -1
  158. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.ts +21 -5
  159. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin-dbg.js +21 -2
  160. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin-dbg.js.map +1 -1
  161. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.d.ts +17 -0
  162. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.d.ts.map +1 -1
  163. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.js +1 -1
  164. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.js.map +1 -1
  165. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.ts +19 -2
  166. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin-dbg.js +6 -6
  167. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin-dbg.js.map +1 -1
  168. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.d.ts +5 -5
  169. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.d.ts.map +1 -1
  170. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.js +1 -1
  171. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.js.map +1 -1
  172. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.ts +6 -6
  173. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin-dbg.js +3 -2
  174. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin-dbg.js.map +1 -1
  175. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.d.ts.map +1 -1
  176. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.js +1 -1
  177. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.js.map +1 -1
  178. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.ts +4 -2
  179. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin-dbg.js +21 -2
  180. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin-dbg.js.map +1 -1
  181. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.d.ts +17 -0
  182. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.d.ts.map +1 -1
  183. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.js +1 -1
  184. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.js.map +1 -1
  185. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.ts +19 -2
  186. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin-dbg.js +31 -2
  187. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin-dbg.js.map +1 -1
  188. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.d.ts +25 -0
  189. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.d.ts.map +1 -1
  190. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.js +1 -1
  191. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.js.map +1 -1
  192. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.ts +27 -2
  193. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin-dbg.js +21 -2
  194. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin-dbg.js.map +1 -1
  195. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.d.ts +17 -0
  196. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.d.ts.map +1 -1
  197. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.js +1 -1
  198. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.js.map +1 -1
  199. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.ts +19 -2
  200. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin-dbg.js +21 -2
  201. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin-dbg.js.map +1 -1
  202. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.d.ts +17 -0
  203. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.d.ts.map +1 -1
  204. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.js +1 -1
  205. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.js.map +1 -1
  206. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.ts +19 -2
  207. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin-dbg.js +4 -2
  208. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin-dbg.js.map +1 -1
  209. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.d.ts +2 -0
  210. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.d.ts.map +1 -1
  211. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.js +1 -1
  212. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.js.map +1 -1
  213. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.ts +4 -2
  214. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin-dbg.js +21 -2
  215. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin-dbg.js.map +1 -1
  216. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.d.ts +17 -0
  217. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.d.ts.map +1 -1
  218. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.js +1 -1
  219. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.js.map +1 -1
  220. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.ts +19 -2
  221. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin-dbg.js +21 -2
  222. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin-dbg.js.map +1 -1
  223. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.d.ts +17 -0
  224. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.d.ts.map +1 -1
  225. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.js +1 -1
  226. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.js.map +1 -1
  227. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.ts +19 -2
  228. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin-dbg.js +18 -0
  229. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin-dbg.js.map +1 -1
  230. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.d.ts +16 -0
  231. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.d.ts.map +1 -1
  232. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.js.map +1 -1
  233. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.ts +16 -0
  234. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin-dbg.js +21 -2
  235. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin-dbg.js.map +1 -1
  236. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.d.ts +17 -0
  237. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.d.ts.map +1 -1
  238. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.js +1 -1
  239. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.js.map +1 -1
  240. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.ts +19 -2
  241. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin-dbg.js +21 -2
  242. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin-dbg.js.map +1 -1
  243. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.d.ts +17 -0
  244. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.d.ts.map +1 -1
  245. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.js +1 -1
  246. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.js.map +1 -1
  247. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.ts +19 -2
  248. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin-dbg.js +28 -5
  249. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin-dbg.js.map +1 -1
  250. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.d.ts +20 -0
  251. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.d.ts.map +1 -1
  252. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.js +1 -1
  253. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.js.map +1 -1
  254. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.ts +25 -5
  255. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin-dbg.js +21 -2
  256. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin-dbg.js.map +1 -1
  257. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.d.ts +17 -0
  258. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.d.ts.map +1 -1
  259. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.js +1 -1
  260. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.js.map +1 -1
  261. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.ts +19 -2
  262. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin-dbg.js +21 -2
  263. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin-dbg.js.map +1 -1
  264. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.d.ts +17 -0
  265. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.d.ts.map +1 -1
  266. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.js +1 -1
  267. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.js.map +1 -1
  268. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.ts +19 -2
  269. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin-dbg.js +21 -2
  270. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin-dbg.js.map +1 -1
  271. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.d.ts +17 -0
  272. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.d.ts.map +1 -1
  273. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.js +1 -1
  274. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.js.map +1 -1
  275. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.ts +19 -2
  276. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin-dbg.js +21 -2
  277. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin-dbg.js.map +1 -1
  278. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.d.ts +17 -0
  279. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.d.ts.map +1 -1
  280. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.js +1 -1
  281. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.js.map +1 -1
  282. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.ts +19 -2
  283. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin-dbg.js +4 -2
  284. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin-dbg.js.map +1 -1
  285. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.d.ts +2 -0
  286. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.d.ts.map +1 -1
  287. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.js +1 -1
  288. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.js.map +1 -1
  289. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.ts +4 -2
  290. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin-dbg.js +21 -2
  291. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin-dbg.js.map +1 -1
  292. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.d.ts +17 -0
  293. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.d.ts.map +1 -1
  294. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.js +1 -1
  295. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.js.map +1 -1
  296. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.ts +19 -2
  297. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin-dbg.js +21 -2
  298. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin-dbg.js.map +1 -1
  299. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.d.ts +17 -0
  300. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.d.ts.map +1 -1
  301. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.js +1 -1
  302. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.js.map +1 -1
  303. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.ts +19 -2
  304. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin-dbg.js +21 -2
  305. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin-dbg.js.map +1 -1
  306. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.d.ts +17 -0
  307. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.d.ts.map +1 -1
  308. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.js +1 -1
  309. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.js.map +1 -1
  310. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.ts +19 -2
  311. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin-dbg.js +21 -2
  312. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin-dbg.js.map +1 -1
  313. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.d.ts +17 -0
  314. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.d.ts.map +1 -1
  315. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.js +1 -1
  316. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.js.map +1 -1
  317. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.ts +19 -2
  318. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin-dbg.js +2 -2
  319. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin-dbg.js.map +1 -1
  320. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.js +1 -1
  321. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.js.map +1 -1
  322. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.ts +2 -2
  323. package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry-dbg.js +0 -32
  324. package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry-dbg.js.map +0 -1
  325. package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry.d.ts +0 -16
  326. package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry.d.ts.map +0 -1
  327. package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry.js +0 -2
  328. package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry.js.map +0 -1
  329. package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry.ts +0 -26
@@ -1 +1 @@
1
- {"version":3,"file":"GeolocationPlugin-dbg.js","names":["BasePlugin","___controls_BasePlugin","GeolocationControl","_interopRequireDefault","__GeolocationControl","GeolocationPlugin","render","metadata","bindingPath","modelName","engineScopeId","onChange","fieldKey","replace","isDisplayMode","sap","ui","requireSync","TextControl","require","control","id","generateStableId","text","path","formatter","val","lat","undefined","lng","applyCommonDirectives","value","schemaMetadata","readOnly","attachCapture","result","validate","isValid","getValue","applyState","setProperty","__exports","__esModule"],"sources":["GeolocationPlugin.ts"],"sourcesContent":["import { BasePlugin } from \"../controls/BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport Control from \"sap/ui/core/Control\";\nimport GeolocationControl from \"../../controls/GeolocationControl\";\n\nexport class GeolocationPlugin extends BasePlugin {\n public render(metadata: IPropertyMetadata, bindingPath: string, modelName: string = \"meta\", engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string) => void): Control {\n this.onChange = onChange;\n this.metadata = metadata;\n this.fieldKey = bindingPath.replace('/', '');\n this.modelName = modelName;\n\n if (this.isDisplayMode) {\n sap.ui.requireSync(\"sap/m/Text\");\n const TextControl = sap.ui.require(\"sap/m/Text\");\n this.control = new TextControl({\n id: this.generateStableId(engineScopeId, bindingPath),\n text: {\n path: `${modelName}>${bindingPath}`,\n formatter: (val: unknown) => val && val.lat !== undefined && val.lng !== undefined ? `Lat: ${val.lat}, Lng: ${val.lng}` : \"\"\n }\n });\n this.applyCommonDirectives(this.control, metadata, modelName);\n return this.control as Control;\n }\n\n this.control = new GeolocationControl({\n id: this.generateStableId(engineScopeId, bindingPath),\n value: `{${modelName}>${bindingPath}}`,\n schemaMetadata: metadata,\n readOnly: !!metadata.ui?.readOnly\n });\n\n this.applyCommonDirectives(this.control, metadata, modelName);\n\n (this.control as unknown as { attachCapture: (fn: Function) => void }).attachCapture(() => {\n const result = this.validate();\n if (this.onChange) {\n this.onChange(result.isValid, this.fieldKey);\n }\n });\n\n return this.control as Control;\n }\n\n protected getValue(): any {\n return this.control ? (this.control as unknown as { getValue: () => unknown }).getValue() : null;\n }\n\n protected applyState(): void {\n if (this.control && this.metadata) {\n if (this.isDisplayMode) return;\n (this.control as unknown as { setProperty: (k: string, v: unknown) => void }).setProperty(\"readOnly\", !!this.metadata.ui?.readOnly);\n }\n }\n}\n"],"mappings":";;;;;;QAASA,UAAU,GAAAC,sBAAA;EAAA,MAGZC,kBAAkB,GAAAC,sBAAA,CAAAC,oBAAA;EAElB,MAAMC,iBAAiB,SAASL,UAAU,CAAC;IACvCM,MAAMA,CAACC,QAA2B,EAAGC,WAAmB,EAAGC,SAAiB,GAAG,MAAM,EAAEC,aAAsB,EAAEC,QAAwD,EAAW;MACrL,IAAI,CAACA,QAAQ,GAAGA,QAAQ;MACxB,IAAI,CAACJ,QAAQ,GAAGA,QAAQ;MACxB,IAAI,CAACK,QAAQ,GAAGJ,WAAW,CAACK,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;MAC5C,IAAI,CAACJ,SAAS,GAAGA,SAAS;MAE1B,IAAI,IAAI,CAACK,aAAa,EAAE;QACpBC,GAAG,CAACC,EAAE,CAACC,WAAW,CAAC,YAAY,CAAC;QAChC,MAAMC,WAAW,GAAGH,GAAG,CAACC,EAAE,CAACG,OAAO,CAAC,YAAY,CAAC;QAChD,IAAI,CAACC,OAAO,GAAG,IAAIF,WAAW,CAAC;UAC3BG,EAAE,EAAE,IAAI,CAACC,gBAAgB,CAACZ,aAAa,EAAEF,WAAW,CAAC;UACrDe,IAAI,EAAE;YACFC,IAAI,EAAE,GAAGf,SAAS,IAAID,WAAW,EAAE;YACnCiB,SAAS,EAAGC,GAAY,IAAKA,GAAG,IAAIA,GAAG,CAACC,GAAG,KAAKC,SAAS,IAAIF,GAAG,CAACG,GAAG,KAAKD,SAAS,GAAG,QAAQF,GAAG,CAACC,GAAG,UAAUD,GAAG,CAACG,GAAG,EAAE,GAAG;UAC9H;QACJ,CAAC,CAAC;QACF,IAAI,CAACC,qBAAqB,CAAC,IAAI,CAACV,OAAO,EAAEb,QAAQ,EAAEE,SAAS,CAAC;QAC7D,OAAO,IAAI,CAACW,OAAO;MACvB;MAEA,IAAI,CAACA,OAAO,GAAG,IAAIlB,kBAAkB,CAAC;QAClCmB,EAAE,EAAE,IAAI,CAACC,gBAAgB,CAACZ,aAAa,EAAEF,WAAW,CAAC;QACrDuB,KAAK,EAAE,IAAItB,SAAS,IAAID,WAAW,GAAG;QACtCwB,cAAc,EAAEzB,QAAQ;QACxB0B,QAAQ,EAAE,CAAC,CAAC1B,QAAQ,CAACS,EAAE,EAAEiB;MAC7B,CAAC,CAAC;MAEF,IAAI,CAACH,qBAAqB,CAAC,IAAI,CAACV,OAAO,EAAEb,QAAQ,EAAEE,SAAS,CAAC;MAE5D,IAAI,CAACW,OAAO,CAA0Dc,aAAa,CAAC,MAAM;QACvF,MAAMC,MAAM,GAAG,IAAI,CAACC,QAAQ,CAAC,CAAC;QAC1B,IAAI,IAAI,CAACzB,QAAQ,EAAE;UACf,IAAI,CAACA,QAAQ,CAACwB,MAAM,CAACE,OAAO,EAAE,IAAI,CAACzB,QAAQ,CAAC;QAChD;MACR,CAAC,CAAC;MAEF,OAAO,IAAI,CAACQ,OAAO;IACvB;IAEUkB,QAAQA,CAAA,EAAQ;MACtB,OAAO,IAAI,CAAClB,OAAO,GAAI,IAAI,CAACA,OAAO,CAA4CkB,QAAQ,CAAC,CAAC,GAAG,IAAI;IACpG;IAEUC,UAAUA,CAAA,EAAS;MACzB,IAAI,IAAI,CAACnB,OAAO,IAAI,IAAI,CAACb,QAAQ,EAAE;QAC/B,IAAI,IAAI,CAACO,aAAa,EAAE;QACvB,IAAI,CAACM,OAAO,CAAiEoB,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAACjC,QAAQ,CAACS,EAAE,EAAEiB,QAAQ,CAAC;MACvI;IACJ;EACJ;EAAC,IAAAQ,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAApC,iBAAA,GAAAA,iBAAA;EAAA,OAAAoC,SAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"GeolocationPlugin-dbg.js","names":["BasePlugin","___controls_BasePlugin","GeolocationControl","_interopRequireDefault","__GeolocationControl","GeolocationPlugin","render","metadata","bindingPath","modelName","engineScopeId","onChange","fieldKey","replace","isEditable","sap","ui","requireSync","TextControl","require","control","id","generateStableId","text","path","formatter","val","lat","undefined","lng","applyCommonDirectives","value","schemaMetadata","readOnly","attachCapture","result","validate","isValid","getValue","applyState","setProperty","__exports","__esModule"],"sources":["GeolocationPlugin.ts"],"sourcesContent":["import { BasePlugin } from \"../controls/BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport Control from \"sap/ui/core/Control\";\nimport GeolocationControl from \"../../controls/GeolocationControl\";\n\nexport class GeolocationPlugin extends BasePlugin {\n /**\n * Renders a `GeolocationControl` component.\n * \n * @param metadata The specific JSON schema properties for this field.\n * @param bindingPath The JSON path bound to this control.\n * @param modelName The UI5 JSONModel name.\n * @param engineScopeId The deterministic scope ID.\n * @param onChange The callback fired on value change.\n * @returns {Control} The configured GeolocationControl.\n */\n public render(metadata: IPropertyMetadata, bindingPath: string, modelName: string = \"meta\", engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string) => void): Control {\n this.onChange = onChange;\n this.metadata = metadata;\n this.fieldKey = bindingPath.replace('/', '');\n this.modelName = modelName;\n\n if (!this.isEditable) {\n sap.ui.requireSync(\"sap/m/Text\");\n const TextControl = sap.ui.require(\"sap/m/Text\");\n this.control = new TextControl({\n id: this.generateStableId(engineScopeId, bindingPath),\n text: {\n path: `${modelName}>${bindingPath}`,\n formatter: (val: unknown) => val && val.lat !== undefined && val.lng !== undefined ? `Lat: ${val.lat}, Lng: ${val.lng}` : \"\"\n }\n });\n this.applyCommonDirectives(this.control, metadata, modelName);\n return this.control as Control;\n }\n\n this.control = new GeolocationControl({\n id: this.generateStableId(engineScopeId, bindingPath),\n value: `{${modelName}>${bindingPath}}`,\n schemaMetadata: metadata,\n readOnly: !!metadata.ui?.readOnly\n });\n\n this.applyCommonDirectives(this.control, metadata, modelName);\n\n (this.control as unknown as { attachCapture: (fn: Function) => void }).attachCapture(() => {\n const result = this.validate();\n if (this.onChange) {\n this.onChange(result.isValid, this.fieldKey);\n }\n });\n\n return this.control as Control;\n }\n\n /**\n * Retrieves the current geolocation object.\n * @returns {any} The geolocation value.\n */\n protected getValue(): any {\n return this.control ? (this.control as unknown as { getValue: () => unknown }).getValue() : null;\n }\n\n /**\n * Applies dynamic read-only state.\n */\n protected applyState(): void {\n if (this.control && this.metadata) {\n if (!this.isEditable) return;\n (this.control as unknown as { setProperty: (k: string, v: unknown) => void }).setProperty(\"readOnly\", !!this.metadata.ui?.readOnly);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,8 +3,25 @@ declare module "nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin" {
3
3
  import { IPropertyMetadata } from "nz/co/siliconst/ui5/metaui/interfaces/ISchema";
4
4
  import Control from "sap/ui/core/Control";
5
5
  export class GeolocationPlugin extends BasePlugin {
6
+ /**
7
+ * Renders a `GeolocationControl` component.
8
+ *
9
+ * @param metadata The specific JSON schema properties for this field.
10
+ * @param bindingPath The JSON path bound to this control.
11
+ * @param modelName The UI5 JSONModel name.
12
+ * @param engineScopeId The deterministic scope ID.
13
+ * @param onChange The callback fired on value change.
14
+ * @returns {Control} The configured GeolocationControl.
15
+ */
6
16
  render(metadata: IPropertyMetadata, bindingPath: string, modelName?: string, engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string) => void): Control;
17
+ /**
18
+ * Retrieves the current geolocation object.
19
+ * @returns {any} The geolocation value.
20
+ */
7
21
  protected getValue(): any;
22
+ /**
23
+ * Applies dynamic read-only state.
24
+ */
8
25
  protected applyState(): void;
9
26
  }
10
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GeolocationPlugin.d.ts","sourceRoot":"../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,+DAA+D,CAAC;IAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,wDAAwD,CAAC;IACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;IAClF,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAG1C,MAAa,iBAAkB,SAAQ,UAAU;QACtC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAG,WAAW,EAAE,MAAM,EAAG,SAAS,GAAE,MAAe,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO;QAuCxL,SAAS,CAAC,QAAQ,IAAI,GAAG;QAIzB,SAAS,CAAC,UAAU,IAAI,IAAI;KAM/B;CAEA"}
1
+ {"version":3,"file":"GeolocationPlugin.d.ts","sourceRoot":"../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,+DAA+D,CAAC;IAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,wDAAwD,CAAC;IACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;IAClF,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAG1C,MAAa,iBAAkB,SAAQ,UAAU;QAC7C;;;;;;;;;WASG;QACI,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAG,WAAW,EAAE,MAAM,EAAG,SAAS,GAAE,MAAe,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO;QAuCxL;;;WAGG;QACH,SAAS,CAAC,QAAQ,IAAI,GAAG;QAIzB;;WAEG;QACH,SAAS,CAAC,UAAU,IAAI,IAAI;KAM/B;CAEA"}
@@ -1,2 +1,2 @@
1
- sap.ui.define(["../controls/BasePlugin","../../controls/GeolocationControl"],function(t,e){"use strict";function i(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const n=t["BasePlugin"];const a=i(e);class s extends n{render(t,e,i="meta",n,s){this.onChange=s;this.metadata=t;this.fieldKey=e.replace("/","");this.modelName=i;if(this.isDisplayMode){sap.ui.requireSync("sap/m/Text");const a=sap.ui.require("sap/m/Text");this.control=new a({id:this.generateStableId(n,e),text:{path:`${i}>${e}`,formatter:t=>t&&t.lat!==undefined&&t.lng!==undefined?`Lat: ${t.lat}, Lng: ${t.lng}`:""}});this.applyCommonDirectives(this.control,t,i);return this.control}this.control=new a({id:this.generateStableId(n,e),value:`{${i}>${e}}`,schemaMetadata:t,readOnly:!!t.ui?.readOnly});this.applyCommonDirectives(this.control,t,i);this.control.attachCapture(()=>{const t=this.validate();if(this.onChange){this.onChange(t.isValid,this.fieldKey)}});return this.control}getValue(){return this.control?this.control.getValue():null}applyState(){if(this.control&&this.metadata){if(this.isDisplayMode)return;this.control.setProperty("readOnly",!!this.metadata.ui?.readOnly)}}}var o={__esModule:true};o.GeolocationPlugin=s;return o});
1
+ sap.ui.define(["../controls/BasePlugin","../../controls/GeolocationControl"],function(t,e){"use strict";function i(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const n=t["BasePlugin"];const a=i(e);class s extends n{render(t,e,i="meta",n,s){this.onChange=s;this.metadata=t;this.fieldKey=e.replace("/","");this.modelName=i;if(!this.isEditable){sap.ui.requireSync("sap/m/Text");const a=sap.ui.require("sap/m/Text");this.control=new a({id:this.generateStableId(n,e),text:{path:`${i}>${e}`,formatter:t=>t&&t.lat!==undefined&&t.lng!==undefined?`Lat: ${t.lat}, Lng: ${t.lng}`:""}});this.applyCommonDirectives(this.control,t,i);return this.control}this.control=new a({id:this.generateStableId(n,e),value:`{${i}>${e}}`,schemaMetadata:t,readOnly:!!t.ui?.readOnly});this.applyCommonDirectives(this.control,t,i);this.control.attachCapture(()=>{const t=this.validate();if(this.onChange){this.onChange(t.isValid,this.fieldKey)}});return this.control}getValue(){return this.control?this.control.getValue():null}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setProperty("readOnly",!!this.metadata.ui?.readOnly)}}}var o={__esModule:true};o.GeolocationPlugin=s;return o});
2
2
  //# sourceMappingURL=GeolocationPlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GeolocationPlugin.js","names":["BasePlugin","___controls_BasePlugin","GeolocationControl","_interopRequireDefault","__GeolocationControl","GeolocationPlugin","render","metadata","bindingPath","modelName","engineScopeId","onChange","this","fieldKey","replace","isDisplayMode","sap","ui","requireSync","TextControl","require","control","id","generateStableId","text","path","formatter","val","lat","undefined","lng","applyCommonDirectives","value","schemaMetadata","readOnly","attachCapture","result","validate","isValid","getValue","applyState","setProperty","__exports","__esModule"],"sources":["GeolocationPlugin.ts"],"sourcesContent":["import { BasePlugin } from \"../controls/BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport Control from \"sap/ui/core/Control\";\nimport GeolocationControl from \"../../controls/GeolocationControl\";\n\nexport class GeolocationPlugin extends BasePlugin {\n public render(metadata: IPropertyMetadata, bindingPath: string, modelName: string = \"meta\", engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string) => void): Control {\n this.onChange = onChange;\n this.metadata = metadata;\n this.fieldKey = bindingPath.replace('/', '');\n this.modelName = modelName;\n\n if (this.isDisplayMode) {\n sap.ui.requireSync(\"sap/m/Text\");\n const TextControl = sap.ui.require(\"sap/m/Text\");\n this.control = new TextControl({\n id: this.generateStableId(engineScopeId, bindingPath),\n text: {\n path: `${modelName}>${bindingPath}`,\n formatter: (val: unknown) => val && val.lat !== undefined && val.lng !== undefined ? `Lat: ${val.lat}, Lng: ${val.lng}` : \"\"\n }\n });\n this.applyCommonDirectives(this.control, metadata, modelName);\n return this.control as Control;\n }\n\n this.control = new GeolocationControl({\n id: this.generateStableId(engineScopeId, bindingPath),\n value: `{${modelName}>${bindingPath}}`,\n schemaMetadata: metadata,\n readOnly: !!metadata.ui?.readOnly\n });\n\n this.applyCommonDirectives(this.control, metadata, modelName);\n\n (this.control as unknown as { attachCapture: (fn: Function) => void }).attachCapture(() => {\n const result = this.validate();\n if (this.onChange) {\n this.onChange(result.isValid, this.fieldKey);\n }\n });\n\n return this.control as Control;\n }\n\n protected getValue(): any {\n return this.control ? (this.control as unknown as { getValue: () => unknown }).getValue() : null;\n }\n\n protected applyState(): void {\n if (this.control && this.metadata) {\n if (this.isDisplayMode) return;\n (this.control as unknown as { setProperty: (k: string, v: unknown) => void }).setProperty(\"readOnly\", !!this.metadata.ui?.readOnly);\n }\n }\n}\n"],"mappings":"+LAASA,EAAUC,EAAA,oBAGZC,EAAkBC,EAAAC,GAElB,MAAMC,UAA0BL,EAC5BM,OAAOC,EAA8BC,EAAsBC,EAAoB,OAAQC,EAAwBC,GAClHC,KAAKD,SAAWA,EAChBC,KAAKL,SAAWA,EAChBK,KAAKC,SAAWL,EAAYM,QAAQ,IAAK,IACzCF,KAAKH,UAAYA,EAEjB,GAAIG,KAAKG,cAAe,CACpBC,IAAIC,GAAGC,YAAY,cACnB,MAAMC,EAAcH,IAAIC,GAAGG,QAAQ,cACnCR,KAAKS,QAAU,IAAIF,EAAY,CAC3BG,GAAIV,KAAKW,iBAAiBb,EAAeF,GACzCgB,KAAM,CACFC,KAAM,GAAGhB,KAAaD,IACtBkB,UAAYC,GAAiBA,GAAOA,EAAIC,MAAQC,WAAaF,EAAIG,MAAQD,UAAY,QAAQF,EAAIC,aAAaD,EAAIG,MAAQ,MAGlIlB,KAAKmB,sBAAsBnB,KAAKS,QAASd,EAAUE,GACnD,OAAOG,KAAKS,OAChB,CAEAT,KAAKS,QAAU,IAAInB,EAAmB,CAClCoB,GAAIV,KAAKW,iBAAiBb,EAAeF,GACzCwB,MAAO,IAAIvB,KAAaD,KACxByB,eAAgB1B,EAChB2B,WAAY3B,EAASU,IAAIiB,WAG7BtB,KAAKmB,sBAAsBnB,KAAKS,QAASd,EAAUE,GAElDG,KAAKS,QAAiEc,cAAc,KACjF,MAAMC,EAASxB,KAAKyB,WAChB,GAAIzB,KAAKD,SAAU,CACfC,KAAKD,SAASyB,EAAOE,QAAS1B,KAAKC,SACvC,IAGR,OAAOD,KAAKS,OAChB,CAEUkB,WACN,OAAO3B,KAAKS,QAAWT,KAAKS,QAAmDkB,WAAa,IAChG,CAEUC,aACN,GAAI5B,KAAKS,SAAWT,KAAKL,SAAU,CAC/B,GAAIK,KAAKG,cAAe,OACvBH,KAAKS,QAAwEoB,YAAY,aAAc7B,KAAKL,SAASU,IAAIiB,SAC9H,CACJ,EACH,IAAAQ,EAAA,CAAAC,WAAA,MAAAD,EAAArC,oBAAA,OAAAqC,CAAA","ignoreList":[]}
1
+ {"version":3,"file":"GeolocationPlugin.js","names":["BasePlugin","___controls_BasePlugin","GeolocationControl","_interopRequireDefault","__GeolocationControl","GeolocationPlugin","render","metadata","bindingPath","modelName","engineScopeId","onChange","this","fieldKey","replace","isEditable","sap","ui","requireSync","TextControl","require","control","id","generateStableId","text","path","formatter","val","lat","undefined","lng","applyCommonDirectives","value","schemaMetadata","readOnly","attachCapture","result","validate","isValid","getValue","applyState","setProperty","__exports","__esModule"],"sources":["GeolocationPlugin.ts"],"sourcesContent":["import { BasePlugin } from \"../controls/BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport Control from \"sap/ui/core/Control\";\nimport GeolocationControl from \"../../controls/GeolocationControl\";\n\nexport class GeolocationPlugin extends BasePlugin {\n /**\n * Renders a `GeolocationControl` component.\n * \n * @param metadata The specific JSON schema properties for this field.\n * @param bindingPath The JSON path bound to this control.\n * @param modelName The UI5 JSONModel name.\n * @param engineScopeId The deterministic scope ID.\n * @param onChange The callback fired on value change.\n * @returns {Control} The configured GeolocationControl.\n */\n public render(metadata: IPropertyMetadata, bindingPath: string, modelName: string = \"meta\", engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string) => void): Control {\n this.onChange = onChange;\n this.metadata = metadata;\n this.fieldKey = bindingPath.replace('/', '');\n this.modelName = modelName;\n\n if (!this.isEditable) {\n sap.ui.requireSync(\"sap/m/Text\");\n const TextControl = sap.ui.require(\"sap/m/Text\");\n this.control = new TextControl({\n id: this.generateStableId(engineScopeId, bindingPath),\n text: {\n path: `${modelName}>${bindingPath}`,\n formatter: (val: unknown) => val && val.lat !== undefined && val.lng !== undefined ? `Lat: ${val.lat}, Lng: ${val.lng}` : \"\"\n }\n });\n this.applyCommonDirectives(this.control, metadata, modelName);\n return this.control as Control;\n }\n\n this.control = new GeolocationControl({\n id: this.generateStableId(engineScopeId, bindingPath),\n value: `{${modelName}>${bindingPath}}`,\n schemaMetadata: metadata,\n readOnly: !!metadata.ui?.readOnly\n });\n\n this.applyCommonDirectives(this.control, metadata, modelName);\n\n (this.control as unknown as { attachCapture: (fn: Function) => void }).attachCapture(() => {\n const result = this.validate();\n if (this.onChange) {\n this.onChange(result.isValid, this.fieldKey);\n }\n });\n\n return this.control as Control;\n }\n\n /**\n * Retrieves the current geolocation object.\n * @returns {any} The geolocation value.\n */\n protected getValue(): any {\n return this.control ? (this.control as unknown as { getValue: () => unknown }).getValue() : null;\n }\n\n /**\n * Applies dynamic read-only state.\n */\n protected applyState(): void {\n if (this.control && this.metadata) {\n if (!this.isEditable) return;\n (this.control as unknown as { setProperty: (k: string, v: unknown) => void }).setProperty(\"readOnly\", !!this.metadata.ui?.readOnly);\n }\n }\n}\n"],"mappings":"+LAASA,EAAUC,EAAA,oBAGZC,EAAkBC,EAAAC,GAElB,MAAMC,UAA0BL,EAW5BM,OAAOC,EAA8BC,EAAsBC,EAAoB,OAAQC,EAAwBC,GAClHC,KAAKD,SAAWA,EAChBC,KAAKL,SAAWA,EAChBK,KAAKC,SAAWL,EAAYM,QAAQ,IAAK,IACzCF,KAAKH,UAAYA,EAEjB,IAAKG,KAAKG,WAAY,CAClBC,IAAIC,GAAGC,YAAY,cACnB,MAAMC,EAAcH,IAAIC,GAAGG,QAAQ,cACnCR,KAAKS,QAAU,IAAIF,EAAY,CAC3BG,GAAIV,KAAKW,iBAAiBb,EAAeF,GACzCgB,KAAM,CACFC,KAAM,GAAGhB,KAAaD,IACtBkB,UAAYC,GAAiBA,GAAOA,EAAIC,MAAQC,WAAaF,EAAIG,MAAQD,UAAY,QAAQF,EAAIC,aAAaD,EAAIG,MAAQ,MAGlIlB,KAAKmB,sBAAsBnB,KAAKS,QAASd,EAAUE,GACnD,OAAOG,KAAKS,OAChB,CAEAT,KAAKS,QAAU,IAAInB,EAAmB,CAClCoB,GAAIV,KAAKW,iBAAiBb,EAAeF,GACzCwB,MAAO,IAAIvB,KAAaD,KACxByB,eAAgB1B,EAChB2B,WAAY3B,EAASU,IAAIiB,WAG7BtB,KAAKmB,sBAAsBnB,KAAKS,QAASd,EAAUE,GAElDG,KAAKS,QAAiEc,cAAc,KACjF,MAAMC,EAASxB,KAAKyB,WAChB,GAAIzB,KAAKD,SAAU,CACfC,KAAKD,SAASyB,EAAOE,QAAS1B,KAAKC,SACvC,IAGR,OAAOD,KAAKS,OAChB,CAMUkB,WACN,OAAO3B,KAAKS,QAAWT,KAAKS,QAAmDkB,WAAa,IAChG,CAKUC,aACN,GAAI5B,KAAKS,SAAWT,KAAKL,SAAU,CAC/B,IAAKK,KAAKG,WAAY,OACrBH,KAAKS,QAAwEoB,YAAY,aAAc7B,KAAKL,SAASU,IAAIiB,SAC9H,CACJ,EACH,IAAAQ,EAAA,CAAAC,WAAA,MAAAD,EAAArC,oBAAA,OAAAqC,CAAA","ignoreList":[]}
@@ -4,13 +4,23 @@ import Control from "sap/ui/core/Control";
4
4
  import GeolocationControl from "../../controls/GeolocationControl";
5
5
 
6
6
  export class GeolocationPlugin extends BasePlugin {
7
+ /**
8
+ * Renders a `GeolocationControl` component.
9
+ *
10
+ * @param metadata The specific JSON schema properties for this field.
11
+ * @param bindingPath The JSON path bound to this control.
12
+ * @param modelName The UI5 JSONModel name.
13
+ * @param engineScopeId The deterministic scope ID.
14
+ * @param onChange The callback fired on value change.
15
+ * @returns {Control} The configured GeolocationControl.
16
+ */
7
17
  public render(metadata: IPropertyMetadata, bindingPath: string, modelName: string = "meta", engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string) => void): Control {
8
18
  this.onChange = onChange;
9
19
  this.metadata = metadata;
10
20
  this.fieldKey = bindingPath.replace('/', '');
11
21
  this.modelName = modelName;
12
22
 
13
- if (this.isDisplayMode) {
23
+ if (!this.isEditable) {
14
24
  sap.ui.requireSync("sap/m/Text");
15
25
  const TextControl = sap.ui.require("sap/m/Text");
16
26
  this.control = new TextControl({
@@ -43,13 +53,20 @@ export class GeolocationPlugin extends BasePlugin {
43
53
  return this.control as Control;
44
54
  }
45
55
 
56
+ /**
57
+ * Retrieves the current geolocation object.
58
+ * @returns {any} The geolocation value.
59
+ */
46
60
  protected getValue(): any {
47
61
  return this.control ? (this.control as unknown as { getValue: () => unknown }).getValue() : null;
48
62
  }
49
63
 
64
+ /**
65
+ * Applies dynamic read-only state.
66
+ */
50
67
  protected applyState(): void {
51
68
  if (this.control && this.metadata) {
52
- if (this.isDisplayMode) return;
69
+ if (!this.isEditable) return;
53
70
  (this.control as unknown as { setProperty: (k: string, v: unknown) => void }).setProperty("readOnly", !!this.metadata.ui?.readOnly);
54
71
  }
55
72
  }
@@ -14,6 +14,16 @@ sap.ui.define(["./BasePlugin", "sap/m/MessageStrip"], function (___BasePlugin, M
14
14
  * @public
15
15
  */
16
16
  class MessageStripPlugin extends BasePlugin {
17
+ /**
18
+ * Renders a `sap.m.MessageStrip` component.
19
+ *
20
+ * @param fieldMetadata The specific JSON schema properties for this field.
21
+ * @param bindingPath The JSON path bound to this control.
22
+ * @param modelName The UI5 JSONModel name.
23
+ * @param engineScopeId The deterministic scope ID.
24
+ * @param onChange The callback fired on value change.
25
+ * @returns {Control} The configured MessageStrip control.
26
+ */
17
27
  render(fieldMetadata, bindingPath, modelName = "meta", engineScopeId, onChange) {
18
28
  this.onChange = onChange;
19
29
  this.metadata = fieldMetadata;
@@ -29,9 +39,17 @@ sap.ui.define(["./BasePlugin", "sap/m/MessageStrip"], function (___BasePlugin, M
29
39
  });
30
40
  return this.control;
31
41
  }
42
+
43
+ /**
44
+ * Read-only control, returns null.
45
+ */
32
46
  getValue() {
33
47
  return null; // Read-only component
34
48
  }
49
+
50
+ /**
51
+ * Read-only control, no dynamic state needed.
52
+ */
35
53
  applyState() {
36
54
  // Read-only component, no dynamic state needed currently
37
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MessageStripPlugin-dbg.js","names":["BasePlugin","___BasePlugin","MessageStripPlugin","render","fieldMetadata","bindingPath","modelName","engineScopeId","onChange","metadata","control","MessageStrip","id","generateStableId","text","type","showIcon","showCloseButton","getValue","applyState","__exports","__esModule"],"sources":["MessageStripPlugin.ts"],"sourcesContent":["/**\n * @file MessageStripPlugin.ts\n * @description Renders a sap.m.MessageStrip for informational text.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport MessageStrip from \"sap/m/MessageStrip\";\nimport Control from \"sap/ui/core/Control\";\n\n/**\n * Renders read-only informational alerts within the layout.\n * Does not emit values to the payload.\n * \n * @namespace nz.co.siliconst.ui5.metaui.plugins.controls\n * @public\n */\nexport class MessageStripPlugin extends BasePlugin {\n public render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName: string = \"meta\", engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string) => void): Control {\n this.onChange = onChange;\n this.metadata = fieldMetadata;\n \n // Use binding to display text if the field has a value, otherwise use the label\n this.control = new MessageStrip({\n id: this.generateStableId(engineScopeId, bindingPath),\n text: `{${modelName}>${bindingPath}}`,\n type: \"Information\", // Can be driven by schema arguments in the future\n showIcon: true,\n showCloseButton: false\n });\n\n return this.control as Control;\n }\n\n protected getValue(): any {\n return null; // Read-only component\n }\n\n protected applyState(): void {\n // Read-only component, no dynamic state needed currently\n }\n}\n"],"mappings":";;;EAAA;AACA;AACA;AACA;EAHA,MAKSA,UAAU,GAAAC,aAAA;EAKnB;AACA;AACA;AACA;AACA;AACA;AACA;EACO,MAAMC,kBAAkB,SAASF,UAAU,CAAC;IACxCG,MAAMA,CAACC,aAAgC,EAAGC,WAAmB,EAAGC,SAAiB,GAAG,MAAM,EAAEC,aAAsB,EAAEC,QAAwD,EAAW;MAC1L,IAAI,CAACA,QAAQ,GAAGA,QAAQ;MACxB,IAAI,CAACC,QAAQ,GAAGL,aAAa;;MAE7B;MACA,IAAI,CAACM,OAAO,GAAG,IAAIC,YAAY,CAAC;QAC5BC,EAAE,EAAE,IAAI,CAACC,gBAAgB,CAACN,aAAa,EAAEF,WAAW,CAAC;QACrDS,IAAI,EAAE,IAAIR,SAAS,IAAID,WAAW,GAAG;QACrCU,IAAI,EAAE,aAAa;QAAE;QACrBC,QAAQ,EAAE,IAAI;QACdC,eAAe,EAAE;MACrB,CAAC,CAAC;MAEF,OAAO,IAAI,CAACP,OAAO;IACvB;IAEUQ,QAAQA,CAAA,EAAQ;MACtB,OAAO,IAAI,CAAC,CAAC;IACjB;IAEUC,UAAUA,CAAA,EAAS;MACzB;IAAA;EAER;EAAC,IAAAC,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAlB,kBAAA,GAAAA,kBAAA;EAAA,OAAAkB,SAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"MessageStripPlugin-dbg.js","names":["BasePlugin","___BasePlugin","MessageStripPlugin","render","fieldMetadata","bindingPath","modelName","engineScopeId","onChange","metadata","control","MessageStrip","id","generateStableId","text","type","showIcon","showCloseButton","getValue","applyState","__exports","__esModule"],"sources":["MessageStripPlugin.ts"],"sourcesContent":["/**\n * @file MessageStripPlugin.ts\n * @description Renders a sap.m.MessageStrip for informational text.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport MessageStrip from \"sap/m/MessageStrip\";\nimport Control from \"sap/ui/core/Control\";\n\n/**\n * Renders read-only informational alerts within the layout.\n * Does not emit values to the payload.\n * \n * @namespace nz.co.siliconst.ui5.metaui.plugins.controls\n * @public\n */\nexport class MessageStripPlugin extends BasePlugin {\n /**\n * Renders a `sap.m.MessageStrip` component.\n * \n * @param fieldMetadata The specific JSON schema properties for this field.\n * @param bindingPath The JSON path bound to this control.\n * @param modelName The UI5 JSONModel name.\n * @param engineScopeId The deterministic scope ID.\n * @param onChange The callback fired on value change.\n * @returns {Control} The configured MessageStrip control.\n */\n public render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName: string = \"meta\", engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string) => void): Control {\n this.onChange = onChange;\n this.metadata = fieldMetadata;\n \n // Use binding to display text if the field has a value, otherwise use the label\n this.control = new MessageStrip({\n id: this.generateStableId(engineScopeId, bindingPath),\n text: `{${modelName}>${bindingPath}}`,\n type: \"Information\", // Can be driven by schema arguments in the future\n showIcon: true,\n showCloseButton: false\n });\n\n return this.control as Control;\n }\n\n /**\n * Read-only control, returns null.\n */\n protected getValue(): any {\n return null; // Read-only component\n }\n\n /**\n * Read-only control, no dynamic state needed.\n */\n protected applyState(): void {\n // Read-only component, no dynamic state needed currently\n }\n}\n"],"mappings":";;;EAAA;AACA;AACA;AACA;EAHA,MAKSA,UAAU,GAAAC,aAAA;EAKnB;AACA;AACA;AACA;AACA;AACA;AACA;EACO,MAAMC,kBAAkB,SAASF,UAAU,CAAC;IAC/C;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACWG,MAAMA,CAACC,aAAgC,EAAGC,WAAmB,EAAGC,SAAiB,GAAG,MAAM,EAAEC,aAAsB,EAAEC,QAAwD,EAAW;MAC1L,IAAI,CAACA,QAAQ,GAAGA,QAAQ;MACxB,IAAI,CAACC,QAAQ,GAAGL,aAAa;;MAE7B;MACA,IAAI,CAACM,OAAO,GAAG,IAAIC,YAAY,CAAC;QAC5BC,EAAE,EAAE,IAAI,CAACC,gBAAgB,CAACN,aAAa,EAAEF,WAAW,CAAC;QACrDS,IAAI,EAAE,IAAIR,SAAS,IAAID,WAAW,GAAG;QACrCU,IAAI,EAAE,aAAa;QAAE;QACrBC,QAAQ,EAAE,IAAI;QACdC,eAAe,EAAE;MACrB,CAAC,CAAC;MAEF,OAAO,IAAI,CAACP,OAAO;IACvB;;IAEA;AACJ;AACA;IACcQ,QAAQA,CAAA,EAAQ;MACtB,OAAO,IAAI,CAAC,CAAC;IACjB;;IAEA;AACJ;AACA;IACcC,UAAUA,CAAA,EAAS;MACzB;IAAA;EAER;EAAC,IAAAC,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAlB,kBAAA,GAAAA,kBAAA;EAAA,OAAAkB,SAAA;AAAA","ignoreList":[]}
@@ -14,8 +14,24 @@ declare module "nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin"
14
14
  * @public
15
15
  */
16
16
  export class MessageStripPlugin extends BasePlugin {
17
+ /**
18
+ * Renders a `sap.m.MessageStrip` component.
19
+ *
20
+ * @param fieldMetadata The specific JSON schema properties for this field.
21
+ * @param bindingPath The JSON path bound to this control.
22
+ * @param modelName The UI5 JSONModel name.
23
+ * @param engineScopeId The deterministic scope ID.
24
+ * @param onChange The callback fired on value change.
25
+ * @returns {Control} The configured MessageStrip control.
26
+ */
17
27
  render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName?: string, engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string) => void): Control;
28
+ /**
29
+ * Read-only control, returns null.
30
+ */
18
31
  protected getValue(): any;
32
+ /**
33
+ * Read-only control, no dynamic state needed.
34
+ */
19
35
  protected applyState(): void;
20
36
  }
21
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MessageStripPlugin.d.ts","sourceRoot":"../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,gEAAgE,CAAC;IAChF;;;OAGG;IAEH,OAAO,EAAE,UAAU,EAAE,MAAM,wDAAwD,CAAC;IACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;IAElF,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAE1C;;;;;;OAMG;IACH,MAAa,kBAAmB,SAAQ,UAAU;QACvC,MAAM,CAAC,aAAa,EAAE,iBAAiB,EAAG,WAAW,EAAE,MAAM,EAAG,SAAS,GAAE,MAAe,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO;QAgB7L,SAAS,CAAC,QAAQ,IAAI,GAAG;QAIzB,SAAS,CAAC,UAAU,IAAI,IAAI;KAG/B;CAEA"}
1
+ {"version":3,"file":"MessageStripPlugin.d.ts","sourceRoot":"../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,gEAAgE,CAAC;IAChF;;;OAGG;IAEH,OAAO,EAAE,UAAU,EAAE,MAAM,wDAAwD,CAAC;IACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;IAElF,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAE1C;;;;;;OAMG;IACH,MAAa,kBAAmB,SAAQ,UAAU;QAC9C;;;;;;;;;WASG;QACI,MAAM,CAAC,aAAa,EAAE,iBAAiB,EAAG,WAAW,EAAE,MAAM,EAAG,SAAS,GAAE,MAAe,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO;QAgB7L;;WAEG;QACH,SAAS,CAAC,QAAQ,IAAI,GAAG;QAIzB;;WAEG;QACH,SAAS,CAAC,UAAU,IAAI,IAAI;KAG/B;CAEA"}
@@ -1 +1 @@
1
- {"version":3,"file":"MessageStripPlugin.js","names":["BasePlugin","___BasePlugin","MessageStripPlugin","render","fieldMetadata","bindingPath","modelName","engineScopeId","onChange","this","metadata","control","MessageStrip","id","generateStableId","text","type","showIcon","showCloseButton","getValue","applyState","__exports","__esModule"],"sources":["MessageStripPlugin.ts"],"sourcesContent":["/**\n * @file MessageStripPlugin.ts\n * @description Renders a sap.m.MessageStrip for informational text.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport MessageStrip from \"sap/m/MessageStrip\";\nimport Control from \"sap/ui/core/Control\";\n\n/**\n * Renders read-only informational alerts within the layout.\n * Does not emit values to the payload.\n * \n * @namespace nz.co.siliconst.ui5.metaui.plugins.controls\n * @public\n */\nexport class MessageStripPlugin extends BasePlugin {\n public render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName: string = \"meta\", engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string) => void): Control {\n this.onChange = onChange;\n this.metadata = fieldMetadata;\n \n // Use binding to display text if the field has a value, otherwise use the label\n this.control = new MessageStrip({\n id: this.generateStableId(engineScopeId, bindingPath),\n text: `{${modelName}>${bindingPath}}`,\n type: \"Information\", // Can be driven by schema arguments in the future\n showIcon: true,\n showCloseButton: false\n });\n\n return this.control as Control;\n }\n\n protected getValue(): any {\n return null; // Read-only component\n }\n\n protected applyState(): void {\n // Read-only component, no dynamic state needed currently\n }\n}\n"],"mappings":"+EAAA,MAKSA,EAAUC,EAAA,cAYZ,MAAMC,UAA2BF,EAC7BG,OAAOC,EAAmCC,EAAsBC,EAAoB,OAAQC,EAAwBC,GACvHC,KAAKD,SAAWA,EAChBC,KAAKC,SAAWN,EAGhBK,KAAKE,QAAU,IAAIC,EAAa,CAC5BC,GAAIJ,KAAKK,iBAAiBP,EAAeF,GACzCU,KAAM,IAAIT,KAAaD,KACvBW,KAAM,cACNC,SAAU,KACVC,gBAAiB,QAGrB,OAAOT,KAAKE,OAChB,CAEUQ,WACN,OAAO,IACX,CAEUC,aACN,EAEP,IAAAC,EAAA,CAAAC,WAAA,MAAAD,EAAAnB,qBAAA,OAAAmB,CAAA","ignoreList":[]}
1
+ {"version":3,"file":"MessageStripPlugin.js","names":["BasePlugin","___BasePlugin","MessageStripPlugin","render","fieldMetadata","bindingPath","modelName","engineScopeId","onChange","this","metadata","control","MessageStrip","id","generateStableId","text","type","showIcon","showCloseButton","getValue","applyState","__exports","__esModule"],"sources":["MessageStripPlugin.ts"],"sourcesContent":["/**\n * @file MessageStripPlugin.ts\n * @description Renders a sap.m.MessageStrip for informational text.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport MessageStrip from \"sap/m/MessageStrip\";\nimport Control from \"sap/ui/core/Control\";\n\n/**\n * Renders read-only informational alerts within the layout.\n * Does not emit values to the payload.\n * \n * @namespace nz.co.siliconst.ui5.metaui.plugins.controls\n * @public\n */\nexport class MessageStripPlugin extends BasePlugin {\n /**\n * Renders a `sap.m.MessageStrip` component.\n * \n * @param fieldMetadata The specific JSON schema properties for this field.\n * @param bindingPath The JSON path bound to this control.\n * @param modelName The UI5 JSONModel name.\n * @param engineScopeId The deterministic scope ID.\n * @param onChange The callback fired on value change.\n * @returns {Control} The configured MessageStrip control.\n */\n public render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName: string = \"meta\", engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string) => void): Control {\n this.onChange = onChange;\n this.metadata = fieldMetadata;\n \n // Use binding to display text if the field has a value, otherwise use the label\n this.control = new MessageStrip({\n id: this.generateStableId(engineScopeId, bindingPath),\n text: `{${modelName}>${bindingPath}}`,\n type: \"Information\", // Can be driven by schema arguments in the future\n showIcon: true,\n showCloseButton: false\n });\n\n return this.control as Control;\n }\n\n /**\n * Read-only control, returns null.\n */\n protected getValue(): any {\n return null; // Read-only component\n }\n\n /**\n * Read-only control, no dynamic state needed.\n */\n protected applyState(): void {\n // Read-only component, no dynamic state needed currently\n }\n}\n"],"mappings":"+EAAA,MAKSA,EAAUC,EAAA,cAYZ,MAAMC,UAA2BF,EAW7BG,OAAOC,EAAmCC,EAAsBC,EAAoB,OAAQC,EAAwBC,GACvHC,KAAKD,SAAWA,EAChBC,KAAKC,SAAWN,EAGhBK,KAAKE,QAAU,IAAIC,EAAa,CAC5BC,GAAIJ,KAAKK,iBAAiBP,EAAeF,GACzCU,KAAM,IAAIT,KAAaD,KACvBW,KAAM,cACNC,SAAU,KACVC,gBAAiB,QAGrB,OAAOT,KAAKE,OAChB,CAKUQ,WACN,OAAO,IACX,CAKUC,aACN,EAEP,IAAAC,EAAA,CAAAC,WAAA,MAAAD,EAAAnB,qBAAA,OAAAmB,CAAA","ignoreList":[]}
@@ -16,6 +16,16 @@ import Control from "sap/ui/core/Control";
16
16
  * @public
17
17
  */
18
18
  export class MessageStripPlugin extends BasePlugin {
19
+ /**
20
+ * Renders a `sap.m.MessageStrip` component.
21
+ *
22
+ * @param fieldMetadata The specific JSON schema properties for this field.
23
+ * @param bindingPath The JSON path bound to this control.
24
+ * @param modelName The UI5 JSONModel name.
25
+ * @param engineScopeId The deterministic scope ID.
26
+ * @param onChange The callback fired on value change.
27
+ * @returns {Control} The configured MessageStrip control.
28
+ */
19
29
  public render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName: string = "meta", engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string) => void): Control {
20
30
  this.onChange = onChange;
21
31
  this.metadata = fieldMetadata;
@@ -32,10 +42,16 @@ export class MessageStripPlugin extends BasePlugin {
32
42
  return this.control as Control;
33
43
  }
34
44
 
45
+ /**
46
+ * Read-only control, returns null.
47
+ */
35
48
  protected getValue(): any {
36
49
  return null; // Read-only component
37
50
  }
38
51
 
52
+ /**
53
+ * Read-only control, no dynamic state needed.
54
+ */
39
55
  protected applyState(): void {
40
56
  // Read-only component, no dynamic state needed currently
41
57
  }
@@ -14,10 +14,20 @@ sap.ui.define(["./BasePlugin", "sap/m/MultiComboBox", "sap/ui/core/Item"], funct
14
14
  * @public
15
15
  */
16
16
  class MultiSelectPlugin extends BasePlugin {
17
+ /**
18
+ * Renders a `sap.m.MultiComboBox` component.
19
+ *
20
+ * @param fieldMetadata The specific JSON schema properties for this field.
21
+ * @param bindingPath The JSON path bound to this control.
22
+ * @param modelName The UI5 JSONModel name.
23
+ * @param engineScopeId The deterministic scope ID.
24
+ * @param onChange The callback fired on value change.
25
+ * @returns {Control} The configured MultiComboBox control.
26
+ */
17
27
  render(fieldMetadata, bindingPath, modelName = "meta", engineScopeId, onChange) {
18
28
  this.onChange = onChange;
19
29
  this.metadata = fieldMetadata;
20
- if (this.isDisplayMode) {
30
+ if (!this.isEditable) {
21
31
  sap.ui.requireSync("sap/m/Text");
22
32
  const TextControl = sap.ui.require("sap/m/Text");
23
33
  this.control = new TextControl({
@@ -55,12 +65,21 @@ sap.ui.define(["./BasePlugin", "sap/m/MultiComboBox", "sap/ui/core/Item"], funct
55
65
  this.applyCommonDirectives(this.control, fieldMetadata, modelName);
56
66
  return this.control;
57
67
  }
68
+
69
+ /**
70
+ * Retrieves the current selection keys.
71
+ * @returns {any} The selected keys.
72
+ */
58
73
  getValue() {
59
74
  return this.control ? this.control.getSelectedKeys() : [];
60
75
  }
76
+
77
+ /**
78
+ * Applies dynamic read-only state.
79
+ */
61
80
  applyState() {
62
81
  if (this.control && this.metadata) {
63
- if (this.isDisplayMode) return;
82
+ if (!this.isEditable) return;
64
83
  this.control.setEnabled(!this.metadata.ui?.readOnly);
65
84
  }
66
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelectPlugin-dbg.js","names":["BasePlugin","___BasePlugin","MultiSelectPlugin","render","fieldMetadata","bindingPath","modelName","engineScopeId","onChange","metadata","isDisplayMode","sap","ui","requireSync","TextControl","require","control","id","generateStableId","text","path","formatter","val","Array","isArray","join","applyCommonDirectives","mcb","MultiComboBox","selectedKeys","enabled","readOnly","placeholder","label","selectionChange","oEvent","keys","getSelectedKeys","result","validate","isValid","fieldKey","enum","forEach","addItem","Item","key","toString","getValue","applyState","setEnabled","__exports","__esModule"],"sources":["MultiSelectPlugin.ts"],"sourcesContent":["/**\n * @file MultiSelectPlugin.ts\n * @description Renders a sap.m.MultiComboBox for selecting multiple string values.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport MultiComboBox from \"sap/m/MultiComboBox\";\nimport Item from \"sap/ui/core/Item\";\nimport Control from \"sap/ui/core/Control\";\n\n/**\n * Handles rendering logic for selecting multiple strings from a predefined list.\n * Expects the payload to be an array of strings.\n * \n * @namespace nz.co.siliconst.ui5.metaui.plugins.controls\n * @public\n */\nexport class MultiSelectPlugin extends BasePlugin {\n public render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName: string = \"meta\", engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string) => void): Control {\n this.onChange = onChange;\n this.metadata = fieldMetadata;\n\n if (this.isDisplayMode) {\n sap.ui.requireSync(\"sap/m/Text\");\n const TextControl = sap.ui.require(\"sap/m/Text\");\n this.control = new TextControl({\n id: this.generateStableId(engineScopeId, bindingPath),\n text: {\n path: `${modelName}>${bindingPath}`,\n formatter: (val: any[]) => Array.isArray(val) ? val.join(\", \") : \"\"\n }\n });\n this.applyCommonDirectives(this.control, fieldMetadata, modelName);\n return this.control as Control;\n }\n \n const mcb = new MultiComboBox({\n id: this.generateStableId(engineScopeId, bindingPath),\n selectedKeys: `{${modelName}>${bindingPath}}`,\n enabled: !fieldMetadata.ui?.readOnly,\n placeholder: fieldMetadata.ui?.label || \"Select items...\",\n selectionChange: (oEvent: sap.ui.base.Event) => {\n const keys = (this.control as MultiComboBox).getSelectedKeys();\n const result = this.validate();\n if (this.onChange) {\n this.onChange(result.isValid, this.fieldKey);\n }\n }\n });\n\n if (fieldMetadata.enum) {\n fieldMetadata.enum.forEach((val: string | number) => {\n mcb.addItem(new Item({ key: val.toString(), text: val.toString() }));\n });\n }\n\n this.control = mcb;\n this.applyCommonDirectives(this.control, fieldMetadata, modelName);\n return this.control as Control;\n }\n\n protected getValue(): any {\n return this.control ? (this.control as MultiComboBox).getSelectedKeys() : [];\n }\n\n protected applyState(): void {\n if (this.control && this.metadata) {\n if (this.isDisplayMode) return;\n (this.control as MultiComboBox).setEnabled(!this.metadata.ui?.readOnly);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"MultiSelectPlugin-dbg.js","names":["BasePlugin","___BasePlugin","MultiSelectPlugin","render","fieldMetadata","bindingPath","modelName","engineScopeId","onChange","metadata","isEditable","sap","ui","requireSync","TextControl","require","control","id","generateStableId","text","path","formatter","val","Array","isArray","join","applyCommonDirectives","mcb","MultiComboBox","selectedKeys","enabled","readOnly","placeholder","label","selectionChange","oEvent","keys","getSelectedKeys","result","validate","isValid","fieldKey","enum","forEach","addItem","Item","key","toString","getValue","applyState","setEnabled","__exports","__esModule"],"sources":["MultiSelectPlugin.ts"],"sourcesContent":["/**\n * @file MultiSelectPlugin.ts\n * @description Renders a sap.m.MultiComboBox for selecting multiple string values.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport MultiComboBox from \"sap/m/MultiComboBox\";\nimport Item from \"sap/ui/core/Item\";\nimport Control from \"sap/ui/core/Control\";\n\n/**\n * Handles rendering logic for selecting multiple strings from a predefined list.\n * Expects the payload to be an array of strings.\n * \n * @namespace nz.co.siliconst.ui5.metaui.plugins.controls\n * @public\n */\nexport class MultiSelectPlugin extends BasePlugin {\n /**\n * Renders a `sap.m.MultiComboBox` component.\n * \n * @param fieldMetadata The specific JSON schema properties for this field.\n * @param bindingPath The JSON path bound to this control.\n * @param modelName The UI5 JSONModel name.\n * @param engineScopeId The deterministic scope ID.\n * @param onChange The callback fired on value change.\n * @returns {Control} The configured MultiComboBox control.\n */\n public render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName: string = \"meta\", engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string) => void): Control {\n this.onChange = onChange;\n this.metadata = fieldMetadata;\n\n if (!this.isEditable) {\n sap.ui.requireSync(\"sap/m/Text\");\n const TextControl = sap.ui.require(\"sap/m/Text\");\n this.control = new TextControl({\n id: this.generateStableId(engineScopeId, bindingPath),\n text: {\n path: `${modelName}>${bindingPath}`,\n formatter: (val: any[]) => Array.isArray(val) ? val.join(\", \") : \"\"\n }\n });\n this.applyCommonDirectives(this.control, fieldMetadata, modelName);\n return this.control as Control;\n }\n \n const mcb = new MultiComboBox({\n id: this.generateStableId(engineScopeId, bindingPath),\n selectedKeys: `{${modelName}>${bindingPath}}`,\n enabled: !fieldMetadata.ui?.readOnly,\n placeholder: fieldMetadata.ui?.label || \"Select items...\",\n selectionChange: (oEvent: sap.ui.base.Event) => {\n const keys = (this.control as MultiComboBox).getSelectedKeys();\n const result = this.validate();\n if (this.onChange) {\n this.onChange(result.isValid, this.fieldKey);\n }\n }\n });\n\n if (fieldMetadata.enum) {\n fieldMetadata.enum.forEach((val: string | number) => {\n mcb.addItem(new Item({ key: val.toString(), text: val.toString() }));\n });\n }\n\n this.control = mcb;\n this.applyCommonDirectives(this.control, fieldMetadata, modelName);\n return this.control as Control;\n }\n\n /**\n * Retrieves the current selection keys.\n * @returns {any} The selected keys.\n */\n protected getValue(): any {\n return this.control ? (this.control as MultiComboBox).getSelectedKeys() : [];\n }\n\n /**\n * Applies dynamic read-only state.\n */\n protected applyState(): void {\n if (this.control && this.metadata) {\n if (!this.isEditable) return;\n (this.control as MultiComboBox).setEnabled(!this.metadata.ui?.readOnly);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -14,8 +14,25 @@ declare module "nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin" {
14
14
  * @public
15
15
  */
16
16
  export class MultiSelectPlugin extends BasePlugin {
17
+ /**
18
+ * Renders a `sap.m.MultiComboBox` component.
19
+ *
20
+ * @param fieldMetadata The specific JSON schema properties for this field.
21
+ * @param bindingPath The JSON path bound to this control.
22
+ * @param modelName The UI5 JSONModel name.
23
+ * @param engineScopeId The deterministic scope ID.
24
+ * @param onChange The callback fired on value change.
25
+ * @returns {Control} The configured MultiComboBox control.
26
+ */
17
27
  render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName?: string, engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string) => void): Control;
28
+ /**
29
+ * Retrieves the current selection keys.
30
+ * @returns {any} The selected keys.
31
+ */
18
32
  protected getValue(): any;
33
+ /**
34
+ * Applies dynamic read-only state.
35
+ */
19
36
  protected applyState(): void;
20
37
  }
21
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelectPlugin.d.ts","sourceRoot":"../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,+DAA+D,CAAC;IAC/E;;;OAGG;IAEH,OAAO,EAAE,UAAU,EAAE,MAAM,wDAAwD,CAAC;IACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;IAGlF,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAE1C;;;;;;OAMG;IACH,MAAa,iBAAkB,SAAQ,UAAU;QACtC,MAAM,CAAC,aAAa,EAAE,iBAAiB,EAAG,WAAW,EAAE,MAAM,EAAG,SAAS,GAAE,MAAe,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO;QA2C7L,SAAS,CAAC,QAAQ,IAAI,GAAG;QAIzB,SAAS,CAAC,UAAU,IAAI,IAAI;KAM/B;CAEA"}
1
+ {"version":3,"file":"MultiSelectPlugin.d.ts","sourceRoot":"../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,+DAA+D,CAAC;IAC/E;;;OAGG;IAEH,OAAO,EAAE,UAAU,EAAE,MAAM,wDAAwD,CAAC;IACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;IAGlF,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAE1C;;;;;;OAMG;IACH,MAAa,iBAAkB,SAAQ,UAAU;QAC7C;;;;;;;;;WASG;QACI,MAAM,CAAC,aAAa,EAAE,iBAAiB,EAAG,WAAW,EAAE,MAAM,EAAG,SAAS,GAAE,MAAe,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO;QA2C7L;;;WAGG;QACH,SAAS,CAAC,QAAQ,IAAI,GAAG;QAIzB;;WAEG;QACH,SAAS,CAAC,UAAU,IAAI,IAAI;KAM/B;CAEA"}
@@ -1,2 +1,2 @@
1
- sap.ui.define(["./BasePlugin","sap/m/MultiComboBox","sap/ui/core/Item"],function(t,e,i){"use strict";const s=t["BasePlugin"];class n extends s{render(t,s,n="meta",a,o){this.onChange=o;this.metadata=t;if(this.isDisplayMode){sap.ui.requireSync("sap/m/Text");const e=sap.ui.require("sap/m/Text");this.control=new e({id:this.generateStableId(a,s),text:{path:`${n}>${s}`,formatter:t=>Array.isArray(t)?t.join(", "):""}});this.applyCommonDirectives(this.control,t,n);return this.control}const r=new e({id:this.generateStableId(a,s),selectedKeys:`{${n}>${s}}`,enabled:!t.ui?.readOnly,placeholder:t.ui?.label||"Select items...",selectionChange:t=>{const e=this.control.getSelectedKeys();const i=this.validate();if(this.onChange){this.onChange(i.isValid,this.fieldKey)}}});if(t.enum){t.enum.forEach(t=>{r.addItem(new i({key:t.toString(),text:t.toString()}))})}this.control=r;this.applyCommonDirectives(this.control,t,n);return this.control}getValue(){return this.control?this.control.getSelectedKeys():[]}applyState(){if(this.control&&this.metadata){if(this.isDisplayMode)return;this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var a={__esModule:true};a.MultiSelectPlugin=n;return a});
1
+ sap.ui.define(["./BasePlugin","sap/m/MultiComboBox","sap/ui/core/Item"],function(t,e,i){"use strict";const s=t["BasePlugin"];class n extends s{render(t,s,n="meta",a,o){this.onChange=o;this.metadata=t;if(!this.isEditable){sap.ui.requireSync("sap/m/Text");const e=sap.ui.require("sap/m/Text");this.control=new e({id:this.generateStableId(a,s),text:{path:`${n}>${s}`,formatter:t=>Array.isArray(t)?t.join(", "):""}});this.applyCommonDirectives(this.control,t,n);return this.control}const r=new e({id:this.generateStableId(a,s),selectedKeys:`{${n}>${s}}`,enabled:!t.ui?.readOnly,placeholder:t.ui?.label||"Select items...",selectionChange:t=>{const e=this.control.getSelectedKeys();const i=this.validate();if(this.onChange){this.onChange(i.isValid,this.fieldKey)}}});if(t.enum){t.enum.forEach(t=>{r.addItem(new i({key:t.toString(),text:t.toString()}))})}this.control=r;this.applyCommonDirectives(this.control,t,n);return this.control}getValue(){return this.control?this.control.getSelectedKeys():[]}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var a={__esModule:true};a.MultiSelectPlugin=n;return a});
2
2
  //# sourceMappingURL=MultiSelectPlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelectPlugin.js","names":["BasePlugin","___BasePlugin","MultiSelectPlugin","render","fieldMetadata","bindingPath","modelName","engineScopeId","onChange","this","metadata","isDisplayMode","sap","ui","requireSync","TextControl","require","control","id","generateStableId","text","path","formatter","val","Array","isArray","join","applyCommonDirectives","mcb","MultiComboBox","selectedKeys","enabled","readOnly","placeholder","label","selectionChange","oEvent","keys","getSelectedKeys","result","validate","isValid","fieldKey","enum","forEach","addItem","Item","key","toString","getValue","applyState","setEnabled","__exports","__esModule"],"sources":["MultiSelectPlugin.ts"],"sourcesContent":["/**\n * @file MultiSelectPlugin.ts\n * @description Renders a sap.m.MultiComboBox for selecting multiple string values.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport MultiComboBox from \"sap/m/MultiComboBox\";\nimport Item from \"sap/ui/core/Item\";\nimport Control from \"sap/ui/core/Control\";\n\n/**\n * Handles rendering logic for selecting multiple strings from a predefined list.\n * Expects the payload to be an array of strings.\n * \n * @namespace nz.co.siliconst.ui5.metaui.plugins.controls\n * @public\n */\nexport class MultiSelectPlugin extends BasePlugin {\n public render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName: string = \"meta\", engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string) => void): Control {\n this.onChange = onChange;\n this.metadata = fieldMetadata;\n\n if (this.isDisplayMode) {\n sap.ui.requireSync(\"sap/m/Text\");\n const TextControl = sap.ui.require(\"sap/m/Text\");\n this.control = new TextControl({\n id: this.generateStableId(engineScopeId, bindingPath),\n text: {\n path: `${modelName}>${bindingPath}`,\n formatter: (val: any[]) => Array.isArray(val) ? val.join(\", \") : \"\"\n }\n });\n this.applyCommonDirectives(this.control, fieldMetadata, modelName);\n return this.control as Control;\n }\n \n const mcb = new MultiComboBox({\n id: this.generateStableId(engineScopeId, bindingPath),\n selectedKeys: `{${modelName}>${bindingPath}}`,\n enabled: !fieldMetadata.ui?.readOnly,\n placeholder: fieldMetadata.ui?.label || \"Select items...\",\n selectionChange: (oEvent: sap.ui.base.Event) => {\n const keys = (this.control as MultiComboBox).getSelectedKeys();\n const result = this.validate();\n if (this.onChange) {\n this.onChange(result.isValid, this.fieldKey);\n }\n }\n });\n\n if (fieldMetadata.enum) {\n fieldMetadata.enum.forEach((val: string | number) => {\n mcb.addItem(new Item({ key: val.toString(), text: val.toString() }));\n });\n }\n\n this.control = mcb;\n this.applyCommonDirectives(this.control, fieldMetadata, modelName);\n return this.control as Control;\n }\n\n protected getValue(): any {\n return this.control ? (this.control as MultiComboBox).getSelectedKeys() : [];\n }\n\n protected applyState(): void {\n if (this.control && this.metadata) {\n if (this.isDisplayMode) return;\n (this.control as MultiComboBox).setEnabled(!this.metadata.ui?.readOnly);\n }\n }\n}\n"],"mappings":"qGAAA,MAKSA,EAAUC,EAAA,cAaZ,MAAMC,UAA0BF,EAC5BG,OAAOC,EAAmCC,EAAsBC,EAAoB,OAAQC,EAAwBC,GACvHC,KAAKD,SAAWA,EAChBC,KAAKC,SAAWN,EAEhB,GAAIK,KAAKE,cAAe,CACpBC,IAAIC,GAAGC,YAAY,cACnB,MAAMC,EAAcH,IAAIC,GAAGG,QAAQ,cACnCP,KAAKQ,QAAU,IAAIF,EAAY,CAC3BG,GAAIT,KAAKU,iBAAiBZ,EAAeF,GACzCe,KAAM,CACFC,KAAM,GAAGf,KAAaD,IACtBiB,UAAYC,GAAeC,MAAMC,QAAQF,GAAOA,EAAIG,KAAK,MAAQ,MAGzEjB,KAAKkB,sBAAsBlB,KAAKQ,QAASb,EAAeE,GACxD,OAAOG,KAAKQ,OAChB,CAEA,MAAMW,EAAM,IAAIC,EAAc,CAC1BX,GAAIT,KAAKU,iBAAiBZ,EAAeF,GACzCyB,aAAc,IAAIxB,KAAaD,KAC/B0B,SAAU3B,EAAcS,IAAImB,SAC5BC,YAAa7B,EAAcS,IAAIqB,OAAS,kBACxCC,gBAAkBC,IACd,MAAMC,EAAQ5B,KAAKQ,QAA0BqB,kBAC7C,MAAMC,EAAS9B,KAAK+B,WACpB,GAAI/B,KAAKD,SAAU,CACfC,KAAKD,SAAS+B,EAAOE,QAAShC,KAAKiC,SACvC,KAIR,GAAItC,EAAcuC,KAAM,CACpBvC,EAAcuC,KAAKC,QAASrB,IACxBK,EAAIiB,QAAQ,IAAIC,EAAK,CAAEC,IAAKxB,EAAIyB,WAAY5B,KAAMG,EAAIyB,eAE9D,CAEAvC,KAAKQ,QAAUW,EACfnB,KAAKkB,sBAAsBlB,KAAKQ,QAASb,EAAeE,GACxD,OAAOG,KAAKQ,OAChB,CAEUgC,WACN,OAAOxC,KAAKQ,QAAWR,KAAKQ,QAA0BqB,kBAAoB,EAC9E,CAEUY,aACN,GAAIzC,KAAKQ,SAAWR,KAAKC,SAAU,CAC/B,GAAID,KAAKE,cAAe,OACvBF,KAAKQ,QAA0BkC,YAAY1C,KAAKC,SAASG,IAAImB,SAClE,CACJ,EACH,IAAAoB,EAAA,CAAAC,WAAA,MAAAD,EAAAlD,oBAAA,OAAAkD,CAAA","ignoreList":[]}
1
+ {"version":3,"file":"MultiSelectPlugin.js","names":["BasePlugin","___BasePlugin","MultiSelectPlugin","render","fieldMetadata","bindingPath","modelName","engineScopeId","onChange","this","metadata","isEditable","sap","ui","requireSync","TextControl","require","control","id","generateStableId","text","path","formatter","val","Array","isArray","join","applyCommonDirectives","mcb","MultiComboBox","selectedKeys","enabled","readOnly","placeholder","label","selectionChange","oEvent","keys","getSelectedKeys","result","validate","isValid","fieldKey","enum","forEach","addItem","Item","key","toString","getValue","applyState","setEnabled","__exports","__esModule"],"sources":["MultiSelectPlugin.ts"],"sourcesContent":["/**\n * @file MultiSelectPlugin.ts\n * @description Renders a sap.m.MultiComboBox for selecting multiple string values.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport MultiComboBox from \"sap/m/MultiComboBox\";\nimport Item from \"sap/ui/core/Item\";\nimport Control from \"sap/ui/core/Control\";\n\n/**\n * Handles rendering logic for selecting multiple strings from a predefined list.\n * Expects the payload to be an array of strings.\n * \n * @namespace nz.co.siliconst.ui5.metaui.plugins.controls\n * @public\n */\nexport class MultiSelectPlugin extends BasePlugin {\n /**\n * Renders a `sap.m.MultiComboBox` component.\n * \n * @param fieldMetadata The specific JSON schema properties for this field.\n * @param bindingPath The JSON path bound to this control.\n * @param modelName The UI5 JSONModel name.\n * @param engineScopeId The deterministic scope ID.\n * @param onChange The callback fired on value change.\n * @returns {Control} The configured MultiComboBox control.\n */\n public render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName: string = \"meta\", engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string) => void): Control {\n this.onChange = onChange;\n this.metadata = fieldMetadata;\n\n if (!this.isEditable) {\n sap.ui.requireSync(\"sap/m/Text\");\n const TextControl = sap.ui.require(\"sap/m/Text\");\n this.control = new TextControl({\n id: this.generateStableId(engineScopeId, bindingPath),\n text: {\n path: `${modelName}>${bindingPath}`,\n formatter: (val: any[]) => Array.isArray(val) ? val.join(\", \") : \"\"\n }\n });\n this.applyCommonDirectives(this.control, fieldMetadata, modelName);\n return this.control as Control;\n }\n \n const mcb = new MultiComboBox({\n id: this.generateStableId(engineScopeId, bindingPath),\n selectedKeys: `{${modelName}>${bindingPath}}`,\n enabled: !fieldMetadata.ui?.readOnly,\n placeholder: fieldMetadata.ui?.label || \"Select items...\",\n selectionChange: (oEvent: sap.ui.base.Event) => {\n const keys = (this.control as MultiComboBox).getSelectedKeys();\n const result = this.validate();\n if (this.onChange) {\n this.onChange(result.isValid, this.fieldKey);\n }\n }\n });\n\n if (fieldMetadata.enum) {\n fieldMetadata.enum.forEach((val: string | number) => {\n mcb.addItem(new Item({ key: val.toString(), text: val.toString() }));\n });\n }\n\n this.control = mcb;\n this.applyCommonDirectives(this.control, fieldMetadata, modelName);\n return this.control as Control;\n }\n\n /**\n * Retrieves the current selection keys.\n * @returns {any} The selected keys.\n */\n protected getValue(): any {\n return this.control ? (this.control as MultiComboBox).getSelectedKeys() : [];\n }\n\n /**\n * Applies dynamic read-only state.\n */\n protected applyState(): void {\n if (this.control && this.metadata) {\n if (!this.isEditable) return;\n (this.control as MultiComboBox).setEnabled(!this.metadata.ui?.readOnly);\n }\n }\n}\n"],"mappings":"qGAAA,MAKSA,EAAUC,EAAA,cAaZ,MAAMC,UAA0BF,EAW5BG,OAAOC,EAAmCC,EAAsBC,EAAoB,OAAQC,EAAwBC,GACvHC,KAAKD,SAAWA,EAChBC,KAAKC,SAAWN,EAEhB,IAAKK,KAAKE,WAAY,CAClBC,IAAIC,GAAGC,YAAY,cACnB,MAAMC,EAAcH,IAAIC,GAAGG,QAAQ,cACnCP,KAAKQ,QAAU,IAAIF,EAAY,CAC3BG,GAAIT,KAAKU,iBAAiBZ,EAAeF,GACzCe,KAAM,CACFC,KAAM,GAAGf,KAAaD,IACtBiB,UAAYC,GAAeC,MAAMC,QAAQF,GAAOA,EAAIG,KAAK,MAAQ,MAGzEjB,KAAKkB,sBAAsBlB,KAAKQ,QAASb,EAAeE,GACxD,OAAOG,KAAKQ,OAChB,CAEA,MAAMW,EAAM,IAAIC,EAAc,CAC1BX,GAAIT,KAAKU,iBAAiBZ,EAAeF,GACzCyB,aAAc,IAAIxB,KAAaD,KAC/B0B,SAAU3B,EAAcS,IAAImB,SAC5BC,YAAa7B,EAAcS,IAAIqB,OAAS,kBACxCC,gBAAkBC,IACd,MAAMC,EAAQ5B,KAAKQ,QAA0BqB,kBAC7C,MAAMC,EAAS9B,KAAK+B,WACpB,GAAI/B,KAAKD,SAAU,CACfC,KAAKD,SAAS+B,EAAOE,QAAShC,KAAKiC,SACvC,KAIR,GAAItC,EAAcuC,KAAM,CACpBvC,EAAcuC,KAAKC,QAASrB,IACxBK,EAAIiB,QAAQ,IAAIC,EAAK,CAAEC,IAAKxB,EAAIyB,WAAY5B,KAAMG,EAAIyB,eAE9D,CAEAvC,KAAKQ,QAAUW,EACfnB,KAAKkB,sBAAsBlB,KAAKQ,QAASb,EAAeE,GACxD,OAAOG,KAAKQ,OAChB,CAMUgC,WACN,OAAOxC,KAAKQ,QAAWR,KAAKQ,QAA0BqB,kBAAoB,EAC9E,CAKUY,aACN,GAAIzC,KAAKQ,SAAWR,KAAKC,SAAU,CAC/B,IAAKD,KAAKE,WAAY,OACrBF,KAAKQ,QAA0BkC,YAAY1C,KAAKC,SAASG,IAAImB,SAClE,CACJ,EACH,IAAAoB,EAAA,CAAAC,WAAA,MAAAD,EAAAlD,oBAAA,OAAAkD,CAAA","ignoreList":[]}
@@ -17,11 +17,21 @@ import Control from "sap/ui/core/Control";
17
17
  * @public
18
18
  */
19
19
  export class MultiSelectPlugin extends BasePlugin {
20
+ /**
21
+ * Renders a `sap.m.MultiComboBox` component.
22
+ *
23
+ * @param fieldMetadata The specific JSON schema properties for this field.
24
+ * @param bindingPath The JSON path bound to this control.
25
+ * @param modelName The UI5 JSONModel name.
26
+ * @param engineScopeId The deterministic scope ID.
27
+ * @param onChange The callback fired on value change.
28
+ * @returns {Control} The configured MultiComboBox control.
29
+ */
20
30
  public render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName: string = "meta", engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string) => void): Control {
21
31
  this.onChange = onChange;
22
32
  this.metadata = fieldMetadata;
23
33
 
24
- if (this.isDisplayMode) {
34
+ if (!this.isEditable) {
25
35
  sap.ui.requireSync("sap/m/Text");
26
36
  const TextControl = sap.ui.require("sap/m/Text");
27
37
  this.control = new TextControl({
@@ -60,13 +70,20 @@ export class MultiSelectPlugin extends BasePlugin {
60
70
  return this.control as Control;
61
71
  }
62
72
 
73
+ /**
74
+ * Retrieves the current selection keys.
75
+ * @returns {any} The selected keys.
76
+ */
63
77
  protected getValue(): any {
64
78
  return this.control ? (this.control as MultiComboBox).getSelectedKeys() : [];
65
79
  }
66
80
 
81
+ /**
82
+ * Applies dynamic read-only state.
83
+ */
67
84
  protected applyState(): void {
68
85
  if (this.control && this.metadata) {
69
- if (this.isDisplayMode) return;
86
+ if (!this.isEditable) return;
70
87
  (this.control as MultiComboBox).setEnabled(!this.metadata.ui?.readOnly);
71
88
  }
72
89
  }
@@ -10,10 +10,20 @@ sap.ui.define(["./BasePlugin", "sap/m/StepInput"], function (___BasePlugin, Step
10
10
  * Handles rendering and logic for numeric inputs.
11
11
  */
12
12
  class NumberPlugin extends BasePlugin {
13
+ /**
14
+ * Renders a `sap.m.StepInput` component for numeric evaluation.
15
+ *
16
+ * @param fieldMetadata The specific JSON schema properties for this field.
17
+ * @param bindingPath The JSON path bound to this control.
18
+ * @param modelName The UI5 JSONModel name.
19
+ * @param engineScopeId The deterministic scope ID.
20
+ * @param onChange The callback fired on value change.
21
+ * @returns {Control} The configured StepInput control.
22
+ */
13
23
  render(fieldMetadata, bindingPath, modelName = "meta", engineScopeId, onChange) {
14
24
  this.onChange = onChange;
15
25
  this.metadata = fieldMetadata;
16
- if (this.isDisplayMode) {
26
+ if (!this.isEditable) {
17
27
  sap.ui.requireSync("sap/m/Text");
18
28
  const TextControl = sap.ui.require("sap/m/Text");
19
29
  this.control = new TextControl({
@@ -40,12 +50,21 @@ sap.ui.define(["./BasePlugin", "sap/m/StepInput"], function (___BasePlugin, Step
40
50
  this.applyCommonDirectives(this.control, fieldMetadata, modelName);
41
51
  return this.control;
42
52
  }
53
+
54
+ /**
55
+ * Retrieves the current numeric state.
56
+ * @returns {any} The numeric value.
57
+ */
43
58
  getValue() {
44
59
  return this.control ? this.control.getValue() : null;
45
60
  }
61
+
62
+ /**
63
+ * Applies dynamic read-only state.
64
+ */
46
65
  applyState() {
47
66
  if (this.control && this.metadata) {
48
- if (this.isDisplayMode) return;
67
+ if (!this.isEditable) return;
49
68
  const input = this.control;
50
69
  input.setEditable(!this.metadata.ui?.readOnly);
51
70
  input.setRequired(this.metadata.required);
@@ -1 +1 @@
1
- {"version":3,"file":"NumberPlugin-dbg.js","names":["BasePlugin","___BasePlugin","NumberPlugin","render","fieldMetadata","bindingPath","modelName","engineScopeId","onChange","metadata","isDisplayMode","sap","ui","requireSync","TextControl","require","control","id","generateStableId","text","applyCommonDirectives","StepInput","value","displayValuePrecision","scale","editable","readOnly","required","change","oEvent","val","getParameter","result","validate","isValid","fieldKey","getValue","applyState","input","setEditable","setRequired","__exports","__esModule"],"sources":["NumberPlugin.ts"],"sourcesContent":["/**\n * @file NumberPlugin.ts\n * @description Renders a sap.m.StepInput for numeric data.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport StepInput from \"sap/m/StepInput\";\nimport Control from \"sap/ui/core/Control\";\n\n/**\n * Handles rendering and logic for numeric inputs.\n */\nexport class NumberPlugin extends BasePlugin {\n public render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName: string = \"meta\", engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string) => void): Control {\n this.onChange = onChange;\n this.metadata = fieldMetadata;\n\n if (this.isDisplayMode) {\n sap.ui.requireSync(\"sap/m/Text\");\n const TextControl = sap.ui.require(\"sap/m/Text\");\n this.control = new TextControl({\n id: this.generateStableId(engineScopeId, bindingPath),\n text: `{${modelName}>${bindingPath}}`\n });\n this.applyCommonDirectives(this.control, fieldMetadata, modelName);\n return this.control as Control;\n }\n\n this.control = new StepInput({\n id: this.generateStableId(engineScopeId, bindingPath),\n value: `{${modelName}>${bindingPath}}`,\n displayValuePrecision: fieldMetadata.scale || 0,\n editable: !fieldMetadata.ui?.readOnly,\n required: fieldMetadata.required,\n change: (oEvent: sap.ui.base.Event) => {\n const val = oEvent.getParameter(\"value\");\n const result = this.validate();\n if (this.onChange) {\n this.onChange(result.isValid, this.fieldKey);\n }\n }\n });\n\n this.applyCommonDirectives(this.control, fieldMetadata, modelName);\n\n return this.control as Control;\n }\n\n protected getValue(): any {\n return this.control ? (this.control as StepInput).getValue() : null;\n }\n\n protected applyState(): void {\n if (this.control && this.metadata) {\n if (this.isDisplayMode) return;\n const input = this.control as StepInput;\n input.setEditable(!this.metadata.ui?.readOnly);\n input.setRequired(this.metadata.required);\n }\n }\n}\n"],"mappings":";;;EAAA;AACA;AACA;AACA;EAHA,MAKSA,UAAU,GAAAC,aAAA;EAKnB;AACA;AACA;EACO,MAAMC,YAAY,SAASF,UAAU,CAAC;IAClCG,MAAMA,CAACC,aAAgC,EAAGC,WAAmB,EAAGC,SAAiB,GAAG,MAAM,EAAEC,aAAsB,EAAEC,QAAwD,EAAW;MAC1L,IAAI,CAACA,QAAQ,GAAGA,QAAQ;MACxB,IAAI,CAACC,QAAQ,GAAGL,aAAa;MAE7B,IAAI,IAAI,CAACM,aAAa,EAAE;QACpBC,GAAG,CAACC,EAAE,CAACC,WAAW,CAAC,YAAY,CAAC;QAChC,MAAMC,WAAW,GAAGH,GAAG,CAACC,EAAE,CAACG,OAAO,CAAC,YAAY,CAAC;QAChD,IAAI,CAACC,OAAO,GAAG,IAAIF,WAAW,CAAC;UAC3BG,EAAE,EAAE,IAAI,CAACC,gBAAgB,CAACX,aAAa,EAAEF,WAAW,CAAC;UACrDc,IAAI,EAAE,IAAIb,SAAS,IAAID,WAAW;QACtC,CAAC,CAAC;QACF,IAAI,CAACe,qBAAqB,CAAC,IAAI,CAACJ,OAAO,EAAEZ,aAAa,EAAEE,SAAS,CAAC;QAClE,OAAO,IAAI,CAACU,OAAO;MACvB;MAEA,IAAI,CAACA,OAAO,GAAG,IAAIK,SAAS,CAAC;QACzBJ,EAAE,EAAE,IAAI,CAACC,gBAAgB,CAACX,aAAa,EAAEF,WAAW,CAAC;QACrDiB,KAAK,EAAE,IAAIhB,SAAS,IAAID,WAAW,GAAG;QACtCkB,qBAAqB,EAAEnB,aAAa,CAACoB,KAAK,IAAI,CAAC;QAC/CC,QAAQ,EAAE,CAACrB,aAAa,CAACQ,EAAE,EAAEc,QAAQ;QACrCC,QAAQ,EAAEvB,aAAa,CAACuB,QAAQ;QAChCC,MAAM,EAAGC,MAAyB,IAAK;UACnC,MAAMC,GAAG,GAAGD,MAAM,CAACE,YAAY,CAAC,OAAO,CAAC;UACxC,MAAMC,MAAM,GAAG,IAAI,CAACC,QAAQ,CAAC,CAAC;UAC9B,IAAI,IAAI,CAACzB,QAAQ,EAAE;YACf,IAAI,CAACA,QAAQ,CAACwB,MAAM,CAACE,OAAO,EAAE,IAAI,CAACC,QAAQ,CAAC;UAChD;QACJ;MACJ,CAAC,CAAC;MAEF,IAAI,CAACf,qBAAqB,CAAC,IAAI,CAACJ,OAAO,EAAEZ,aAAa,EAAEE,SAAS,CAAC;MAElE,OAAO,IAAI,CAACU,OAAO;IACvB;IAEUoB,QAAQA,CAAA,EAAQ;MACtB,OAAO,IAAI,CAACpB,OAAO,GAAI,IAAI,CAACA,OAAO,CAAeoB,QAAQ,CAAC,CAAC,GAAG,IAAI;IACvE;IAEUC,UAAUA,CAAA,EAAS;MACzB,IAAI,IAAI,CAACrB,OAAO,IAAI,IAAI,CAACP,QAAQ,EAAE;QAC/B,IAAI,IAAI,CAACC,aAAa,EAAE;QACxB,MAAM4B,KAAK,GAAG,IAAI,CAACtB,OAAoB;QACvCsB,KAAK,CAACC,WAAW,CAAC,CAAC,IAAI,CAAC9B,QAAQ,CAACG,EAAE,EAAEc,QAAQ,CAAC;QAC9CY,KAAK,CAACE,WAAW,CAAC,IAAI,CAAC/B,QAAQ,CAACkB,QAAQ,CAAC;MAC7C;IACJ;EACJ;EAAC,IAAAc,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAvC,YAAA,GAAAA,YAAA;EAAA,OAAAuC,SAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"NumberPlugin-dbg.js","names":["BasePlugin","___BasePlugin","NumberPlugin","render","fieldMetadata","bindingPath","modelName","engineScopeId","onChange","metadata","isEditable","sap","ui","requireSync","TextControl","require","control","id","generateStableId","text","applyCommonDirectives","StepInput","value","displayValuePrecision","scale","editable","readOnly","required","change","oEvent","val","getParameter","result","validate","isValid","fieldKey","getValue","applyState","input","setEditable","setRequired","__exports","__esModule"],"sources":["NumberPlugin.ts"],"sourcesContent":["/**\n * @file NumberPlugin.ts\n * @description Renders a sap.m.StepInput for numeric data.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport StepInput from \"sap/m/StepInput\";\nimport Control from \"sap/ui/core/Control\";\n\n/**\n * Handles rendering and logic for numeric inputs.\n */\nexport class NumberPlugin extends BasePlugin {\n /**\n * Renders a `sap.m.StepInput` component for numeric evaluation.\n * \n * @param fieldMetadata The specific JSON schema properties for this field.\n * @param bindingPath The JSON path bound to this control.\n * @param modelName The UI5 JSONModel name.\n * @param engineScopeId The deterministic scope ID.\n * @param onChange The callback fired on value change.\n * @returns {Control} The configured StepInput control.\n */\n public render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName: string = \"meta\", engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string) => void): Control {\n this.onChange = onChange;\n this.metadata = fieldMetadata;\n\n if (!this.isEditable) {\n sap.ui.requireSync(\"sap/m/Text\");\n const TextControl = sap.ui.require(\"sap/m/Text\");\n this.control = new TextControl({\n id: this.generateStableId(engineScopeId, bindingPath),\n text: `{${modelName}>${bindingPath}}`\n });\n this.applyCommonDirectives(this.control, fieldMetadata, modelName);\n return this.control as Control;\n }\n\n this.control = new StepInput({\n id: this.generateStableId(engineScopeId, bindingPath),\n value: `{${modelName}>${bindingPath}}`,\n displayValuePrecision: fieldMetadata.scale || 0,\n editable: !fieldMetadata.ui?.readOnly,\n required: fieldMetadata.required,\n change: (oEvent: sap.ui.base.Event) => {\n const val = oEvent.getParameter(\"value\");\n const result = this.validate();\n if (this.onChange) {\n this.onChange(result.isValid, this.fieldKey);\n }\n }\n });\n\n this.applyCommonDirectives(this.control, fieldMetadata, modelName);\n\n return this.control as Control;\n }\n\n /**\n * Retrieves the current numeric state.\n * @returns {any} The numeric value.\n */\n protected getValue(): any {\n return this.control ? (this.control as StepInput).getValue() : null;\n }\n\n /**\n * Applies dynamic read-only state.\n */\n protected applyState(): void {\n if (this.control && this.metadata) {\n if (!this.isEditable) return;\n const input = this.control as StepInput;\n input.setEditable(!this.metadata.ui?.readOnly);\n input.setRequired(this.metadata.required);\n }\n }\n}\n"],"mappings":";;;EAAA;AACA;AACA;AACA;EAHA,MAKSA,UAAU,GAAAC,aAAA;EAKnB;AACA;AACA;EACO,MAAMC,YAAY,SAASF,UAAU,CAAC;IACzC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACWG,MAAMA,CAACC,aAAgC,EAAGC,WAAmB,EAAGC,SAAiB,GAAG,MAAM,EAAEC,aAAsB,EAAEC,QAAwD,EAAW;MAC1L,IAAI,CAACA,QAAQ,GAAGA,QAAQ;MACxB,IAAI,CAACC,QAAQ,GAAGL,aAAa;MAE7B,IAAI,CAAC,IAAI,CAACM,UAAU,EAAE;QAClBC,GAAG,CAACC,EAAE,CAACC,WAAW,CAAC,YAAY,CAAC;QAChC,MAAMC,WAAW,GAAGH,GAAG,CAACC,EAAE,CAACG,OAAO,CAAC,YAAY,CAAC;QAChD,IAAI,CAACC,OAAO,GAAG,IAAIF,WAAW,CAAC;UAC3BG,EAAE,EAAE,IAAI,CAACC,gBAAgB,CAACX,aAAa,EAAEF,WAAW,CAAC;UACrDc,IAAI,EAAE,IAAIb,SAAS,IAAID,WAAW;QACtC,CAAC,CAAC;QACF,IAAI,CAACe,qBAAqB,CAAC,IAAI,CAACJ,OAAO,EAAEZ,aAAa,EAAEE,SAAS,CAAC;QAClE,OAAO,IAAI,CAACU,OAAO;MACvB;MAEA,IAAI,CAACA,OAAO,GAAG,IAAIK,SAAS,CAAC;QACzBJ,EAAE,EAAE,IAAI,CAACC,gBAAgB,CAACX,aAAa,EAAEF,WAAW,CAAC;QACrDiB,KAAK,EAAE,IAAIhB,SAAS,IAAID,WAAW,GAAG;QACtCkB,qBAAqB,EAAEnB,aAAa,CAACoB,KAAK,IAAI,CAAC;QAC/CC,QAAQ,EAAE,CAACrB,aAAa,CAACQ,EAAE,EAAEc,QAAQ;QACrCC,QAAQ,EAAEvB,aAAa,CAACuB,QAAQ;QAChCC,MAAM,EAAGC,MAAyB,IAAK;UACnC,MAAMC,GAAG,GAAGD,MAAM,CAACE,YAAY,CAAC,OAAO,CAAC;UACxC,MAAMC,MAAM,GAAG,IAAI,CAACC,QAAQ,CAAC,CAAC;UAC9B,IAAI,IAAI,CAACzB,QAAQ,EAAE;YACf,IAAI,CAACA,QAAQ,CAACwB,MAAM,CAACE,OAAO,EAAE,IAAI,CAACC,QAAQ,CAAC;UAChD;QACJ;MACJ,CAAC,CAAC;MAEF,IAAI,CAACf,qBAAqB,CAAC,IAAI,CAACJ,OAAO,EAAEZ,aAAa,EAAEE,SAAS,CAAC;MAElE,OAAO,IAAI,CAACU,OAAO;IACvB;;IAEA;AACJ;AACA;AACA;IACcoB,QAAQA,CAAA,EAAQ;MACtB,OAAO,IAAI,CAACpB,OAAO,GAAI,IAAI,CAACA,OAAO,CAAeoB,QAAQ,CAAC,CAAC,GAAG,IAAI;IACvE;;IAEA;AACJ;AACA;IACcC,UAAUA,CAAA,EAAS;MACzB,IAAI,IAAI,CAACrB,OAAO,IAAI,IAAI,CAACP,QAAQ,EAAE;QAC/B,IAAI,CAAC,IAAI,CAACC,UAAU,EAAE;QACtB,MAAM4B,KAAK,GAAG,IAAI,CAACtB,OAAoB;QACvCsB,KAAK,CAACC,WAAW,CAAC,CAAC,IAAI,CAAC9B,QAAQ,CAACG,EAAE,EAAEc,QAAQ,CAAC;QAC9CY,KAAK,CAACE,WAAW,CAAC,IAAI,CAAC/B,QAAQ,CAACkB,QAAQ,CAAC;MAC7C;IACJ;EACJ;EAAC,IAAAc,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAvC,YAAA,GAAAA,YAAA;EAAA,OAAAuC,SAAA;AAAA","ignoreList":[]}
@@ -10,8 +10,25 @@ declare module "nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin" {
10
10
  * Handles rendering and logic for numeric inputs.
11
11
  */
12
12
  export class NumberPlugin extends BasePlugin {
13
+ /**
14
+ * Renders a `sap.m.StepInput` component for numeric evaluation.
15
+ *
16
+ * @param fieldMetadata The specific JSON schema properties for this field.
17
+ * @param bindingPath The JSON path bound to this control.
18
+ * @param modelName The UI5 JSONModel name.
19
+ * @param engineScopeId The deterministic scope ID.
20
+ * @param onChange The callback fired on value change.
21
+ * @returns {Control} The configured StepInput control.
22
+ */
13
23
  render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName?: string, engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string) => void): Control;
24
+ /**
25
+ * Retrieves the current numeric state.
26
+ * @returns {any} The numeric value.
27
+ */
14
28
  protected getValue(): any;
29
+ /**
30
+ * Applies dynamic read-only state.
31
+ */
15
32
  protected applyState(): void;
16
33
  }
17
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NumberPlugin.d.ts","sourceRoot":"../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,0DAA0D,CAAC;IAC1E;;;OAGG;IAEH,OAAO,EAAE,UAAU,EAAE,MAAM,wDAAwD,CAAC;IACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;IAElF,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAE1C;;OAEG;IACH,MAAa,YAAa,SAAQ,UAAU;QACjC,MAAM,CAAC,aAAa,EAAE,iBAAiB,EAAG,WAAW,EAAE,MAAM,EAAG,SAAS,GAAE,MAAe,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO;QAmC7L,SAAS,CAAC,QAAQ,IAAI,GAAG;QAIzB,SAAS,CAAC,UAAU,IAAI,IAAI;KAQ/B;CAEA"}
1
+ {"version":3,"file":"NumberPlugin.d.ts","sourceRoot":"../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,0DAA0D,CAAC;IAC1E;;;OAGG;IAEH,OAAO,EAAE,UAAU,EAAE,MAAM,wDAAwD,CAAC;IACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;IAElF,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAE1C;;OAEG;IACH,MAAa,YAAa,SAAQ,UAAU;QACxC;;;;;;;;;WASG;QACI,MAAM,CAAC,aAAa,EAAE,iBAAiB,EAAG,WAAW,EAAE,MAAM,EAAG,SAAS,GAAE,MAAe,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO;QAmC7L;;;WAGG;QACH,SAAS,CAAC,QAAQ,IAAI,GAAG;QAIzB;;WAEG;QACH,SAAS,CAAC,UAAU,IAAI,IAAI;KAQ/B;CAEA"}
@@ -1,2 +1,2 @@
1
- sap.ui.define(["./BasePlugin","sap/m/StepInput"],function(e,t){"use strict";const i=e["BasePlugin"];class s extends i{render(e,i,s="meta",a,n){this.onChange=n;this.metadata=e;if(this.isDisplayMode){sap.ui.requireSync("sap/m/Text");const t=sap.ui.require("sap/m/Text");this.control=new t({id:this.generateStableId(a,i),text:`{${s}>${i}}`});this.applyCommonDirectives(this.control,e,s);return this.control}this.control=new t({id:this.generateStableId(a,i),value:`{${s}>${i}}`,displayValuePrecision:e.scale||0,editable:!e.ui?.readOnly,required:e.required,change:e=>{const t=e.getParameter("value");const i=this.validate();if(this.onChange){this.onChange(i.isValid,this.fieldKey)}}});this.applyCommonDirectives(this.control,e,s);return this.control}getValue(){return this.control?this.control.getValue():null}applyState(){if(this.control&&this.metadata){if(this.isDisplayMode)return;const e=this.control;e.setEditable(!this.metadata.ui?.readOnly);e.setRequired(this.metadata.required)}}}var a={__esModule:true};a.NumberPlugin=s;return a});
1
+ sap.ui.define(["./BasePlugin","sap/m/StepInput"],function(t,e){"use strict";const i=t["BasePlugin"];class s extends i{render(t,i,s="meta",a,n){this.onChange=n;this.metadata=t;if(!this.isEditable){sap.ui.requireSync("sap/m/Text");const e=sap.ui.require("sap/m/Text");this.control=new e({id:this.generateStableId(a,i),text:`{${s}>${i}}`});this.applyCommonDirectives(this.control,t,s);return this.control}this.control=new e({id:this.generateStableId(a,i),value:`{${s}>${i}}`,displayValuePrecision:t.scale||0,editable:!t.ui?.readOnly,required:t.required,change:t=>{const e=t.getParameter("value");const i=this.validate();if(this.onChange){this.onChange(i.isValid,this.fieldKey)}}});this.applyCommonDirectives(this.control,t,s);return this.control}getValue(){return this.control?this.control.getValue():null}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;const t=this.control;t.setEditable(!this.metadata.ui?.readOnly);t.setRequired(this.metadata.required)}}}var a={__esModule:true};a.NumberPlugin=s;return a});
2
2
  //# sourceMappingURL=NumberPlugin.js.map