@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":"StringPlugin.js","names":["BasePlugin","___BasePlugin","StringPlugin","render","fieldMetadata","bindingPath","modelName","engineScopeId","onChange","this","metadata","fieldKey","replace","isDisplayMode","sap","ui","requireSync","TextControl","require","control","id","generateStableId","text","applyCommonDirectives","Input","value","maxLength","required","showValueHelp","widget","change","oEvent","val","getParameter","result","validate","isValid","getValue","applyState","input","setEditable","readOnly","setRequired","__exports","__esModule"],"sources":["StringPlugin.ts"],"sourcesContent":["/**\n * @file StringPlugin.ts\n * @description Renders a sap.m.Input for string data and validates lengths.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport Input from \"sap/m/Input\";\nimport Control from \"sap/ui/core/Control\";\n\n/**\n * Handles rendering and logic for basic text inputs.\n * Maps schema properties like `maxLength` and `required` natively to `sap.m.Input`.\n * \n * @namespace nz.co.siliconst.ui5.metaui.plugins.controls\n * @public\n */\nexport class StringPlugin extends BasePlugin {\n /**\n * Renders a `sap.m.Input` control configured via the provided schema metadata.\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 * @returns {Control} The configured Input 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 this.fieldKey = bindingPath.replace(\"/\", \"\"); // For EventBus\n \n if (this.isDisplayMode) {\n (sap.ui as unknown as { requireSync: (s: string) => unknown }).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 Input({\n id: this.generateStableId(engineScopeId, bindingPath),\n value: `{${modelName}>${bindingPath}}`,\n maxLength: fieldMetadata.maxLength || 0,\n required: !!fieldMetadata.required,\n showValueHelp: fieldMetadata.ui?.widget === \"searchHelp\",\n change: (oEvent: unknown) => {\n const val = (oEvent as { getParameter: (s: string) => unknown }).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 string value from the input.\n * @returns {any} The string value.\n */\n protected getValue(): any {\n return this.control ? (this.control as Input).getValue() : null;\n }\n\n /**\n * Adjusts dynamic state properties (editable/required) based on ConditionEngine mutations.\n */\n protected applyState(): void {\n if (this.control && this.metadata) {\n if (this.isDisplayMode) {\n // Text doesn't have editable/required state\n return;\n }\n const input = this.control as Input;\n input.setEditable(!this.metadata.ui?.readOnly);\n input.setRequired(this.metadata.required);\n }\n }\n}\n"],"mappings":"wEAAA,MAKSA,EAAUC,EAAA,cAYZ,MAAMC,UAAqBF,EASvBG,OAAOC,EAAmCC,EAAsBC,EAAoB,OAAQC,EAAwBC,GACvHC,KAAKD,SAAWA,EAChBC,KAAKC,SAAWN,EAChBK,KAAKE,SAAWN,EAAYO,QAAQ,IAAK,IAEzC,GAAIH,KAAKI,cAAe,CACnBC,IAAIC,GAA0DC,YAAY,cAC3E,MAAMC,EAAcH,IAAIC,GAAGG,QAAQ,cACnCT,KAAKU,QAAU,IAAIF,EAAY,CAC3BG,GAAIX,KAAKY,iBAAiBd,EAAeF,GACzCiB,KAAM,IAAIhB,KAAaD,OAE3BI,KAAKc,sBAAsBd,KAAKU,QAASf,EAAeE,GACxD,OAAOG,KAAKU,OAChB,CAEAV,KAAKU,QAAU,IAAIK,EAAM,CACrBJ,GAAIX,KAAKY,iBAAiBd,EAAeF,GACzCoB,MAAO,IAAInB,KAAaD,KACxBqB,UAAWtB,EAAcsB,WAAa,EACtCC,WAAYvB,EAAcuB,SAC1BC,cAAexB,EAAcW,IAAIc,SAAW,aAC5CC,OAASC,IACL,MAAMC,EAAOD,EAAoDE,aAAa,SAC9E,MAAMC,EAASzB,KAAK0B,WACpB,GAAI1B,KAAKD,SAAU,CACfC,KAAKD,SAAS0B,EAAOE,QAAS3B,KAAKE,SACvC,KAIRF,KAAKc,sBAAsBd,KAAKU,QAASf,EAAeE,GAExD,OAAOG,KAAKU,OAChB,CAMUkB,WACN,OAAO5B,KAAKU,QAAWV,KAAKU,QAAkBkB,WAAa,IAC/D,CAKUC,aACN,GAAI7B,KAAKU,SAAWV,KAAKC,SAAU,CAC/B,GAAID,KAAKI,cAAe,CAEpB,MACJ,CACA,MAAM0B,EAAQ9B,KAAKU,QACnBoB,EAAMC,aAAa/B,KAAKC,SAASK,IAAI0B,UACrCF,EAAMG,YAAYjC,KAAKC,SAASiB,SACpC,CACJ,EACH,IAAAgB,EAAA,CAAAC,WAAA,MAAAD,EAAAzC,eAAA,OAAAyC,CAAA","ignoreList":[]}
1
+ {"version":3,"file":"StringPlugin.js","names":["BasePlugin","___BasePlugin","StringPlugin","render","fieldMetadata","bindingPath","modelName","engineScopeId","onChange","this","metadata","fieldKey","replace","isEditable","sap","ui","requireSync","TextControl","require","control","id","generateStableId","text","applyCommonDirectives","Input","value","maxLength","required","showValueHelp","widget","change","oEvent","val","getParameter","result","validate","isValid","getValue","applyState","input","setEditable","readOnly","setRequired","__exports","__esModule"],"sources":["StringPlugin.ts"],"sourcesContent":["/**\n * @file StringPlugin.ts\n * @description Renders a sap.m.Input for string data and validates lengths.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport Input from \"sap/m/Input\";\nimport Control from \"sap/ui/core/Control\";\n\n/**\n * Handles rendering and logic for basic text inputs.\n * Maps schema properties like `maxLength` and `required` natively to `sap.m.Input`.\n * \n * @namespace nz.co.siliconst.ui5.metaui.plugins.controls\n * @public\n */\nexport class StringPlugin extends BasePlugin {\n /**\n * Renders a `sap.m.Input` control configured via the provided schema metadata.\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 Input 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 this.fieldKey = bindingPath.replace(\"/\", \"\"); // For EventBus\n \n if (!this.isEditable) {\n (sap.ui as unknown as { requireSync: (s: string) => unknown }).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 Input({\n id: this.generateStableId(engineScopeId, bindingPath),\n value: `{${modelName}>${bindingPath}}`,\n maxLength: fieldMetadata.maxLength || 0,\n required: !!fieldMetadata.required,\n showValueHelp: fieldMetadata.ui?.widget === \"searchHelp\",\n change: (oEvent: unknown) => {\n const val = (oEvent as { getParameter: (s: string) => unknown }).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 string value from the input.\n * @returns {any} The string value.\n */\n protected getValue(): any {\n return this.control ? (this.control as Input).getValue() : null;\n }\n\n /**\n * Adjusts dynamic state properties (editable/required) based on ConditionEngine mutations.\n */\n protected applyState(): void {\n if (this.control && this.metadata) {\n if (!this.isEditable) {\n // Text doesn't have editable/required state\n return;\n }\n const input = this.control as Input;\n input.setEditable(!this.metadata.ui?.readOnly);\n input.setRequired(this.metadata.required);\n }\n }\n}\n"],"mappings":"wEAAA,MAKSA,EAAUC,EAAA,cAYZ,MAAMC,UAAqBF,EAWvBG,OAAOC,EAAmCC,EAAsBC,EAAoB,OAAQC,EAAwBC,GACvHC,KAAKD,SAAWA,EAChBC,KAAKC,SAAWN,EAChBK,KAAKE,SAAWN,EAAYO,QAAQ,IAAK,IAEzC,IAAKH,KAAKI,WAAY,CACjBC,IAAIC,GAA0DC,YAAY,cAC3E,MAAMC,EAAcH,IAAIC,GAAGG,QAAQ,cACnCT,KAAKU,QAAU,IAAIF,EAAY,CAC3BG,GAAIX,KAAKY,iBAAiBd,EAAeF,GACzCiB,KAAM,IAAIhB,KAAaD,OAE3BI,KAAKc,sBAAsBd,KAAKU,QAASf,EAAeE,GACxD,OAAOG,KAAKU,OAChB,CAEAV,KAAKU,QAAU,IAAIK,EAAM,CACrBJ,GAAIX,KAAKY,iBAAiBd,EAAeF,GACzCoB,MAAO,IAAInB,KAAaD,KACxBqB,UAAWtB,EAAcsB,WAAa,EACtCC,WAAYvB,EAAcuB,SAC1BC,cAAexB,EAAcW,IAAIc,SAAW,aAC5CC,OAASC,IACL,MAAMC,EAAOD,EAAoDE,aAAa,SAC9E,MAAMC,EAASzB,KAAK0B,WACpB,GAAI1B,KAAKD,SAAU,CACfC,KAAKD,SAAS0B,EAAOE,QAAS3B,KAAKE,SACvC,KAIRF,KAAKc,sBAAsBd,KAAKU,QAASf,EAAeE,GAExD,OAAOG,KAAKU,OAChB,CAMUkB,WACN,OAAO5B,KAAKU,QAAWV,KAAKU,QAAkBkB,WAAa,IAC/D,CAKUC,aACN,GAAI7B,KAAKU,SAAWV,KAAKC,SAAU,CAC/B,IAAKD,KAAKI,WAAY,CAElB,MACJ,CACA,MAAM0B,EAAQ9B,KAAKU,QACnBoB,EAAMC,aAAa/B,KAAKC,SAASK,IAAI0B,UACrCF,EAAMG,YAAYjC,KAAKC,SAASiB,SACpC,CACJ,EACH,IAAAgB,EAAA,CAAAC,WAAA,MAAAD,EAAAzC,eAAA,OAAAyC,CAAA","ignoreList":[]}
@@ -22,6 +22,8 @@ export class StringPlugin extends BasePlugin {
22
22
  * @param fieldMetadata The specific JSON schema properties for this field.
23
23
  * @param bindingPath The JSON path bound to this control.
24
24
  * @param modelName The UI5 JSONModel name.
25
+ * @param engineScopeId The deterministic scope ID.
26
+ * @param onChange The callback fired on value change.
25
27
  * @returns {Control} The configured Input control.
26
28
  */
27
29
  public render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName: string = "meta", engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string) => void): Control {
@@ -29,7 +31,7 @@ export class StringPlugin extends BasePlugin {
29
31
  this.metadata = fieldMetadata;
30
32
  this.fieldKey = bindingPath.replace("/", ""); // For EventBus
31
33
 
32
- if (this.isDisplayMode) {
34
+ if (!this.isEditable) {
33
35
  (sap.ui as unknown as { requireSync: (s: string) => unknown }).requireSync("sap/m/Text");
34
36
  const TextControl = sap.ui.require("sap/m/Text");
35
37
  this.control = new TextControl({
@@ -73,7 +75,7 @@ export class StringPlugin extends BasePlugin {
73
75
  */
74
76
  protected applyState(): void {
75
77
  if (this.control && this.metadata) {
76
- if (this.isDisplayMode) {
78
+ if (!this.isEditable) {
77
79
  // Text doesn't have editable/required state
78
80
  return;
79
81
  }
@@ -10,10 +10,20 @@ sap.ui.define(["./BasePlugin", "sap/m/Switch"], function (___BasePlugin, Switch)
10
10
  * Handles rendering logic for toggleable boolean switches.
11
11
  */
12
12
  class SwitchPlugin extends BasePlugin {
13
+ /**
14
+ * Renders a `sap.m.Switch` component.
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 Switch 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({
@@ -41,12 +51,21 @@ sap.ui.define(["./BasePlugin", "sap/m/Switch"], function (___BasePlugin, Switch)
41
51
  this.applyCommonDirectives(this.control, fieldMetadata, modelName);
42
52
  return this.control;
43
53
  }
54
+
55
+ /**
56
+ * Retrieves the current switch state.
57
+ * @returns {any} The boolean state.
58
+ */
44
59
  getValue() {
45
60
  return this.control ? this.control.getState() : false;
46
61
  }
62
+
63
+ /**
64
+ * Applies dynamic read-only state.
65
+ */
47
66
  applyState() {
48
67
  if (this.control && this.metadata) {
49
- if (this.isDisplayMode) return;
68
+ if (!this.isEditable) return;
50
69
  const sw = this.control;
51
70
  sw.setEnabled(!this.metadata.ui?.readOnly);
52
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SwitchPlugin-dbg.js","names":["BasePlugin","___BasePlugin","SwitchPlugin","render","fieldMetadata","bindingPath","modelName","engineScopeId","onChange","metadata","isDisplayMode","sap","ui","requireSync","TextControl","require","control","id","generateStableId","text","path","formatter","val","applyCommonDirectives","Switch","state","enabled","readOnly","change","oEvent","getParameter","result","validate","isValid","fieldKey","getValue","getState","applyState","sw","setEnabled","__exports","__esModule"],"sources":["SwitchPlugin.ts"],"sourcesContent":["/**\n * @file SwitchPlugin.ts\n * @description Renders a sap.m.Switch for boolean data specifically marked with the switch widget.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport Switch from \"sap/m/Switch\";\nimport Control from \"sap/ui/core/Control\";\n\n/**\n * Handles rendering logic for toggleable boolean switches.\n */\nexport class SwitchPlugin 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 as unknown as { requireSync: (s: string) => unknown }).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: boolean) => val ? \"Yes\" : \"No\"\n }\n });\n this.applyCommonDirectives(this.control, fieldMetadata, modelName);\n return this.control as Control;\n }\n\n this.control = new Switch({\n id: this.generateStableId(engineScopeId, bindingPath),\n state: `{${modelName}>${bindingPath}}`,\n enabled: !fieldMetadata.ui?.readOnly,\n change: (oEvent: unknown) => {\n const val = (oEvent as { getParameter: (s: string) => unknown }).getParameter(\"state\");\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 Switch).getState() : false;\n }\n\n protected applyState(): void {\n if (this.control && this.metadata) {\n if (this.isDisplayMode) return;\n const sw = this.control as Switch;\n sw.setEnabled(!this.metadata.ui?.readOnly);\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;QACnBC,GAAG,CAACC,EAAE,CAAwDC,WAAW,CAAC,YAAY,CAAC;QACxF,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;YACFC,IAAI,EAAE,GAAGd,SAAS,IAAID,WAAW,EAAE;YACnCgB,SAAS,EAAGC,GAAY,IAAKA,GAAG,GAAG,KAAK,GAAG;UAC/C;QACJ,CAAC,CAAC;QACF,IAAI,CAACC,qBAAqB,CAAC,IAAI,CAACP,OAAO,EAAEZ,aAAa,EAAEE,SAAS,CAAC;QAClE,OAAO,IAAI,CAACU,OAAO;MACvB;MAEA,IAAI,CAACA,OAAO,GAAG,IAAIQ,MAAM,CAAC;QACtBP,EAAE,EAAE,IAAI,CAACC,gBAAgB,CAACX,aAAa,EAAEF,WAAW,CAAC;QACrDoB,KAAK,EAAE,IAAInB,SAAS,IAAID,WAAW,GAAG;QACtCqB,OAAO,EAAE,CAACtB,aAAa,CAACQ,EAAE,EAAEe,QAAQ;QACpCC,MAAM,EAAGC,MAAe,IAAK;UACzB,MAAMP,GAAG,GAAIO,MAAM,CAA8CC,YAAY,CAAC,OAAO,CAAC;UACtF,MAAMC,MAAM,GAAG,IAAI,CAACC,QAAQ,CAAC,CAAC;UAC9B,IAAI,IAAI,CAACxB,QAAQ,EAAE;YACf,IAAI,CAACA,QAAQ,CAACuB,MAAM,CAACE,OAAO,EAAE,IAAI,CAACC,QAAQ,CAAC;UAChD;QACJ;MACJ,CAAC,CAAC;MAEF,IAAI,CAACX,qBAAqB,CAAC,IAAI,CAACP,OAAO,EAAEZ,aAAa,EAAEE,SAAS,CAAC;MAElE,OAAO,IAAI,CAACU,OAAO;IACvB;IAEUmB,QAAQA,CAAA,EAAQ;MACtB,OAAO,IAAI,CAACnB,OAAO,GAAI,IAAI,CAACA,OAAO,CAAYoB,QAAQ,CAAC,CAAC,GAAG,KAAK;IACrE;IAEUC,UAAUA,CAAA,EAAS;MACzB,IAAI,IAAI,CAACrB,OAAO,IAAI,IAAI,CAACP,QAAQ,EAAE;QAC/B,IAAI,IAAI,CAACC,aAAa,EAAE;QACxB,MAAM4B,EAAE,GAAG,IAAI,CAACtB,OAAiB;QACjCsB,EAAE,CAACC,UAAU,CAAC,CAAC,IAAI,CAAC9B,QAAQ,CAACG,EAAE,EAAEe,QAAQ,CAAC;MAC9C;IACJ;EACJ;EAAC,IAAAa,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAtC,YAAA,GAAAA,YAAA;EAAA,OAAAsC,SAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"SwitchPlugin-dbg.js","names":["BasePlugin","___BasePlugin","SwitchPlugin","render","fieldMetadata","bindingPath","modelName","engineScopeId","onChange","metadata","isEditable","sap","ui","requireSync","TextControl","require","control","id","generateStableId","text","path","formatter","val","applyCommonDirectives","Switch","state","enabled","readOnly","change","oEvent","getParameter","result","validate","isValid","fieldKey","getValue","getState","applyState","sw","setEnabled","__exports","__esModule"],"sources":["SwitchPlugin.ts"],"sourcesContent":["/**\n * @file SwitchPlugin.ts\n * @description Renders a sap.m.Switch for boolean data specifically marked with the switch widget.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport Switch from \"sap/m/Switch\";\nimport Control from \"sap/ui/core/Control\";\n\n/**\n * Handles rendering logic for toggleable boolean switches.\n */\nexport class SwitchPlugin extends BasePlugin {\n /**\n * Renders a `sap.m.Switch` 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 Switch 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 as unknown as { requireSync: (s: string) => unknown }).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: boolean) => val ? \"Yes\" : \"No\"\n }\n });\n this.applyCommonDirectives(this.control, fieldMetadata, modelName);\n return this.control as Control;\n }\n\n this.control = new Switch({\n id: this.generateStableId(engineScopeId, bindingPath),\n state: `{${modelName}>${bindingPath}}`,\n enabled: !fieldMetadata.ui?.readOnly,\n change: (oEvent: unknown) => {\n const val = (oEvent as { getParameter: (s: string) => unknown }).getParameter(\"state\");\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 switch state.\n * @returns {any} The boolean state.\n */\n protected getValue(): any {\n return this.control ? (this.control as Switch).getState() : false;\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 sw = this.control as Switch;\n sw.setEnabled(!this.metadata.ui?.readOnly);\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;QACjBC,GAAG,CAACC,EAAE,CAAwDC,WAAW,CAAC,YAAY,CAAC;QACxF,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;YACFC,IAAI,EAAE,GAAGd,SAAS,IAAID,WAAW,EAAE;YACnCgB,SAAS,EAAGC,GAAY,IAAKA,GAAG,GAAG,KAAK,GAAG;UAC/C;QACJ,CAAC,CAAC;QACF,IAAI,CAACC,qBAAqB,CAAC,IAAI,CAACP,OAAO,EAAEZ,aAAa,EAAEE,SAAS,CAAC;QAClE,OAAO,IAAI,CAACU,OAAO;MACvB;MAEA,IAAI,CAACA,OAAO,GAAG,IAAIQ,MAAM,CAAC;QACtBP,EAAE,EAAE,IAAI,CAACC,gBAAgB,CAACX,aAAa,EAAEF,WAAW,CAAC;QACrDoB,KAAK,EAAE,IAAInB,SAAS,IAAID,WAAW,GAAG;QACtCqB,OAAO,EAAE,CAACtB,aAAa,CAACQ,EAAE,EAAEe,QAAQ;QACpCC,MAAM,EAAGC,MAAe,IAAK;UACzB,MAAMP,GAAG,GAAIO,MAAM,CAA8CC,YAAY,CAAC,OAAO,CAAC;UACtF,MAAMC,MAAM,GAAG,IAAI,CAACC,QAAQ,CAAC,CAAC;UAC9B,IAAI,IAAI,CAACxB,QAAQ,EAAE;YACf,IAAI,CAACA,QAAQ,CAACuB,MAAM,CAACE,OAAO,EAAE,IAAI,CAACC,QAAQ,CAAC;UAChD;QACJ;MACJ,CAAC,CAAC;MAEF,IAAI,CAACX,qBAAqB,CAAC,IAAI,CAACP,OAAO,EAAEZ,aAAa,EAAEE,SAAS,CAAC;MAElE,OAAO,IAAI,CAACU,OAAO;IACvB;;IAEA;AACJ;AACA;AACA;IACcmB,QAAQA,CAAA,EAAQ;MACtB,OAAO,IAAI,CAACnB,OAAO,GAAI,IAAI,CAACA,OAAO,CAAYoB,QAAQ,CAAC,CAAC,GAAG,KAAK;IACrE;;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,EAAE,GAAG,IAAI,CAACtB,OAAiB;QACjCsB,EAAE,CAACC,UAAU,CAAC,CAAC,IAAI,CAAC9B,QAAQ,CAACG,EAAE,EAAEe,QAAQ,CAAC;MAC9C;IACJ;EACJ;EAAC,IAAAa,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAtC,YAAA,GAAAA,YAAA;EAAA,OAAAsC,SAAA;AAAA","ignoreList":[]}
@@ -10,8 +10,25 @@ declare module "nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin" {
10
10
  * Handles rendering logic for toggleable boolean switches.
11
11
  */
12
12
  export class SwitchPlugin extends BasePlugin {
13
+ /**
14
+ * Renders a `sap.m.Switch` component.
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 Switch 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 switch state.
26
+ * @returns {any} The boolean state.
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":"SwitchPlugin.d.ts","sourceRoot":"../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.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;QAoC7L,SAAS,CAAC,QAAQ,IAAI,GAAG;QAIzB,SAAS,CAAC,UAAU,IAAI,IAAI;KAO/B;CAEA"}
1
+ {"version":3,"file":"SwitchPlugin.d.ts","sourceRoot":"../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.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;QAoC7L;;;WAGG;QACH,SAAS,CAAC,QAAQ,IAAI,GAAG;QAIzB;;WAEG;QACH,SAAS,CAAC,UAAU,IAAI,IAAI;KAO/B;CAEA"}
@@ -1,2 +1,2 @@
1
- sap.ui.define(["./BasePlugin","sap/m/Switch"],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.isDisplayMode){sap.ui.requireSync("sap/m/Text");const e=sap.ui.require("sap/m/Text");this.control=new e({id:this.generateStableId(a,i),text:{path:`${s}>${i}`,formatter:t=>t?"Yes":"No"}});this.applyCommonDirectives(this.control,t,s);return this.control}this.control=new e({id:this.generateStableId(a,i),state:`{${s}>${i}}`,enabled:!t.ui?.readOnly,change:t=>{const e=t.getParameter("state");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.getState():false}applyState(){if(this.control&&this.metadata){if(this.isDisplayMode)return;const t=this.control;t.setEnabled(!this.metadata.ui?.readOnly)}}}var a={__esModule:true};a.SwitchPlugin=s;return a});
1
+ sap.ui.define(["./BasePlugin","sap/m/Switch"],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:{path:`${s}>${i}`,formatter:t=>t?"Yes":"No"}});this.applyCommonDirectives(this.control,t,s);return this.control}this.control=new e({id:this.generateStableId(a,i),state:`{${s}>${i}}`,enabled:!t.ui?.readOnly,change:t=>{const e=t.getParameter("state");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.getState():false}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;const t=this.control;t.setEnabled(!this.metadata.ui?.readOnly)}}}var a={__esModule:true};a.SwitchPlugin=s;return a});
2
2
  //# sourceMappingURL=SwitchPlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SwitchPlugin.js","names":["BasePlugin","___BasePlugin","SwitchPlugin","render","fieldMetadata","bindingPath","modelName","engineScopeId","onChange","this","metadata","isDisplayMode","sap","ui","requireSync","TextControl","require","control","id","generateStableId","text","path","formatter","val","applyCommonDirectives","Switch","state","enabled","readOnly","change","oEvent","getParameter","result","validate","isValid","fieldKey","getValue","getState","applyState","sw","setEnabled","__exports","__esModule"],"sources":["SwitchPlugin.ts"],"sourcesContent":["/**\n * @file SwitchPlugin.ts\n * @description Renders a sap.m.Switch for boolean data specifically marked with the switch widget.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport Switch from \"sap/m/Switch\";\nimport Control from \"sap/ui/core/Control\";\n\n/**\n * Handles rendering logic for toggleable boolean switches.\n */\nexport class SwitchPlugin 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 as unknown as { requireSync: (s: string) => unknown }).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: boolean) => val ? \"Yes\" : \"No\"\n }\n });\n this.applyCommonDirectives(this.control, fieldMetadata, modelName);\n return this.control as Control;\n }\n\n this.control = new Switch({\n id: this.generateStableId(engineScopeId, bindingPath),\n state: `{${modelName}>${bindingPath}}`,\n enabled: !fieldMetadata.ui?.readOnly,\n change: (oEvent: unknown) => {\n const val = (oEvent as { getParameter: (s: string) => unknown }).getParameter(\"state\");\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 Switch).getState() : false;\n }\n\n protected applyState(): void {\n if (this.control && this.metadata) {\n if (this.isDisplayMode) return;\n const sw = this.control as Switch;\n sw.setEnabled(!this.metadata.ui?.readOnly);\n }\n }\n}\n"],"mappings":"yEAAA,MAKSA,EAAUC,EAAA,cAQZ,MAAMC,UAAqBF,EACvBG,OAAOC,EAAmCC,EAAsBC,EAAoB,OAAQC,EAAwBC,GACvHC,KAAKD,SAAWA,EAChBC,KAAKC,SAAWN,EAEhB,GAAIK,KAAKE,cAAe,CACnBC,IAAIC,GAA0DC,YAAY,cAC3E,MAAMC,EAAcH,IAAIC,GAAGG,QAAQ,cACnCP,KAAKQ,QAAU,IAAIF,EAAY,CAC3BG,GAAIT,KAAKU,iBAAiBZ,EAAeF,GACzCe,KAAM,CACFC,KAAM,GAAGf,KAAaD,IACtBiB,UAAYC,GAAiBA,EAAM,MAAQ,QAGnDd,KAAKe,sBAAsBf,KAAKQ,QAASb,EAAeE,GACxD,OAAOG,KAAKQ,OAChB,CAEAR,KAAKQ,QAAU,IAAIQ,EAAO,CACtBP,GAAIT,KAAKU,iBAAiBZ,EAAeF,GACzCqB,MAAO,IAAIpB,KAAaD,KACxBsB,SAAUvB,EAAcS,IAAIe,SAC5BC,OAASC,IACL,MAAMP,EAAOO,EAAoDC,aAAa,SAC9E,MAAMC,EAASvB,KAAKwB,WACpB,GAAIxB,KAAKD,SAAU,CACfC,KAAKD,SAASwB,EAAOE,QAASzB,KAAK0B,SACvC,KAIR1B,KAAKe,sBAAsBf,KAAKQ,QAASb,EAAeE,GAExD,OAAOG,KAAKQ,OAChB,CAEUmB,WACN,OAAO3B,KAAKQ,QAAWR,KAAKQ,QAAmBoB,WAAa,KAChE,CAEUC,aACN,GAAI7B,KAAKQ,SAAWR,KAAKC,SAAU,CAC/B,GAAID,KAAKE,cAAe,OACxB,MAAM4B,EAAK9B,KAAKQ,QAChBsB,EAAGC,YAAY/B,KAAKC,SAASG,IAAIe,SACrC,CACJ,EACH,IAAAa,EAAA,CAAAC,WAAA,MAAAD,EAAAvC,eAAA,OAAAuC,CAAA","ignoreList":[]}
1
+ {"version":3,"file":"SwitchPlugin.js","names":["BasePlugin","___BasePlugin","SwitchPlugin","render","fieldMetadata","bindingPath","modelName","engineScopeId","onChange","this","metadata","isEditable","sap","ui","requireSync","TextControl","require","control","id","generateStableId","text","path","formatter","val","applyCommonDirectives","Switch","state","enabled","readOnly","change","oEvent","getParameter","result","validate","isValid","fieldKey","getValue","getState","applyState","sw","setEnabled","__exports","__esModule"],"sources":["SwitchPlugin.ts"],"sourcesContent":["/**\n * @file SwitchPlugin.ts\n * @description Renders a sap.m.Switch for boolean data specifically marked with the switch widget.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport Switch from \"sap/m/Switch\";\nimport Control from \"sap/ui/core/Control\";\n\n/**\n * Handles rendering logic for toggleable boolean switches.\n */\nexport class SwitchPlugin extends BasePlugin {\n /**\n * Renders a `sap.m.Switch` 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 Switch 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 as unknown as { requireSync: (s: string) => unknown }).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: boolean) => val ? \"Yes\" : \"No\"\n }\n });\n this.applyCommonDirectives(this.control, fieldMetadata, modelName);\n return this.control as Control;\n }\n\n this.control = new Switch({\n id: this.generateStableId(engineScopeId, bindingPath),\n state: `{${modelName}>${bindingPath}}`,\n enabled: !fieldMetadata.ui?.readOnly,\n change: (oEvent: unknown) => {\n const val = (oEvent as { getParameter: (s: string) => unknown }).getParameter(\"state\");\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 switch state.\n * @returns {any} The boolean state.\n */\n protected getValue(): any {\n return this.control ? (this.control as Switch).getState() : false;\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 sw = this.control as Switch;\n sw.setEnabled(!this.metadata.ui?.readOnly);\n }\n }\n}\n"],"mappings":"yEAAA,MAKSA,EAAUC,EAAA,cAQZ,MAAMC,UAAqBF,EAWvBG,OAAOC,EAAmCC,EAAsBC,EAAoB,OAAQC,EAAwBC,GACvHC,KAAKD,SAAWA,EAChBC,KAAKC,SAAWN,EAEhB,IAAKK,KAAKE,WAAY,CACjBC,IAAIC,GAA0DC,YAAY,cAC3E,MAAMC,EAAcH,IAAIC,GAAGG,QAAQ,cACnCP,KAAKQ,QAAU,IAAIF,EAAY,CAC3BG,GAAIT,KAAKU,iBAAiBZ,EAAeF,GACzCe,KAAM,CACFC,KAAM,GAAGf,KAAaD,IACtBiB,UAAYC,GAAiBA,EAAM,MAAQ,QAGnDd,KAAKe,sBAAsBf,KAAKQ,QAASb,EAAeE,GACxD,OAAOG,KAAKQ,OAChB,CAEAR,KAAKQ,QAAU,IAAIQ,EAAO,CACtBP,GAAIT,KAAKU,iBAAiBZ,EAAeF,GACzCqB,MAAO,IAAIpB,KAAaD,KACxBsB,SAAUvB,EAAcS,IAAIe,SAC5BC,OAASC,IACL,MAAMP,EAAOO,EAAoDC,aAAa,SAC9E,MAAMC,EAASvB,KAAKwB,WACpB,GAAIxB,KAAKD,SAAU,CACfC,KAAKD,SAASwB,EAAOE,QAASzB,KAAK0B,SACvC,KAIR1B,KAAKe,sBAAsBf,KAAKQ,QAASb,EAAeE,GAExD,OAAOG,KAAKQ,OAChB,CAMUmB,WACN,OAAO3B,KAAKQ,QAAWR,KAAKQ,QAAmBoB,WAAa,KAChE,CAKUC,aACN,GAAI7B,KAAKQ,SAAWR,KAAKC,SAAU,CAC/B,IAAKD,KAAKE,WAAY,OACtB,MAAM4B,EAAK9B,KAAKQ,QAChBsB,EAAGC,YAAY/B,KAAKC,SAASG,IAAIe,SACrC,CACJ,EACH,IAAAa,EAAA,CAAAC,WAAA,MAAAD,EAAAvC,eAAA,OAAAuC,CAAA","ignoreList":[]}
@@ -12,11 +12,21 @@ import Control from "sap/ui/core/Control";
12
12
  * Handles rendering logic for toggleable boolean switches.
13
13
  */
14
14
  export class SwitchPlugin extends BasePlugin {
15
+ /**
16
+ * Renders a `sap.m.Switch` component.
17
+ *
18
+ * @param fieldMetadata The specific JSON schema properties for this field.
19
+ * @param bindingPath The JSON path bound to this control.
20
+ * @param modelName The UI5 JSONModel name.
21
+ * @param engineScopeId The deterministic scope ID.
22
+ * @param onChange The callback fired on value change.
23
+ * @returns {Control} The configured Switch control.
24
+ */
15
25
  public render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName: string = "meta", engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string) => void): Control {
16
26
  this.onChange = onChange;
17
27
  this.metadata = fieldMetadata;
18
28
 
19
- if (this.isDisplayMode) {
29
+ if (!this.isEditable) {
20
30
  (sap.ui as unknown as { requireSync: (s: string) => unknown }).requireSync("sap/m/Text");
21
31
  const TextControl = sap.ui.require("sap/m/Text");
22
32
  this.control = new TextControl({
@@ -48,13 +58,20 @@ export class SwitchPlugin extends BasePlugin {
48
58
  return this.control as Control;
49
59
  }
50
60
 
61
+ /**
62
+ * Retrieves the current switch state.
63
+ * @returns {any} The boolean state.
64
+ */
51
65
  protected getValue(): any {
52
66
  return this.control ? (this.control as Switch).getState() : false;
53
67
  }
54
68
 
69
+ /**
70
+ * Applies dynamic read-only state.
71
+ */
55
72
  protected applyState(): void {
56
73
  if (this.control && this.metadata) {
57
- if (this.isDisplayMode) return;
74
+ if (!this.isEditable) return;
58
75
  const sw = this.control as Switch;
59
76
  sw.setEnabled(!this.metadata.ui?.readOnly);
60
77
  }
@@ -10,12 +10,22 @@ sap.ui.define(["./BasePlugin", "sap/m/TextArea"], function (___BasePlugin, TextA
10
10
  * Handles rendering and logic for multi-line text areas.
11
11
  */
12
12
  class TextAreaPlugin extends BasePlugin {
13
+ /**
14
+ * Renders a `sap.m.TextArea` component.
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 TextArea control.
22
+ */
13
23
  render(fieldMetadata, bindingPath, modelName = "meta", engineScopeId, onChange) {
14
24
  this.onChange = onChange;
15
25
  this.metadata = fieldMetadata;
16
26
  this.fieldKey = bindingPath.replace("/", ""); // For EventBus
17
27
 
18
- if (this.isDisplayMode) {
28
+ if (!this.isEditable) {
19
29
  sap.ui.requireSync("sap/m/Text");
20
30
  const TextControl = sap.ui.require("sap/m/Text");
21
31
  this.control = new TextControl({
@@ -43,12 +53,21 @@ sap.ui.define(["./BasePlugin", "sap/m/TextArea"], function (___BasePlugin, TextA
43
53
  this.applyCommonDirectives(this.control, fieldMetadata, modelName);
44
54
  return this.control;
45
55
  }
56
+
57
+ /**
58
+ * Retrieves the current text string.
59
+ * @returns {any} The text string.
60
+ */
46
61
  getValue() {
47
62
  return this.control ? this.control.getValue() : null;
48
63
  }
64
+
65
+ /**
66
+ * Applies dynamic read-only state.
67
+ */
49
68
  applyState() {
50
69
  if (this.control && this.metadata) {
51
- if (this.isDisplayMode) return;
70
+ if (!this.isEditable) return;
52
71
  const input = this.control;
53
72
  input.setEditable(!this.metadata.ui?.readOnly);
54
73
  input.setRequired(this.metadata.required);
@@ -1 +1 @@
1
- {"version":3,"file":"TextAreaPlugin-dbg.js","names":["BasePlugin","___BasePlugin","TextAreaPlugin","render","fieldMetadata","bindingPath","modelName","engineScopeId","onChange","metadata","fieldKey","replace","isDisplayMode","sap","ui","requireSync","TextControl","require","control","id","generateStableId","text","applyCommonDirectives","TextArea","value","maxLength","required","rows","change","oEvent","val","getParameter","result","validate","isValid","getValue","applyState","input","setEditable","readOnly","setRequired","__exports","__esModule"],"sources":["TextAreaPlugin.ts"],"sourcesContent":["/**\n * @file TextAreaPlugin.ts\n * @description Renders a sap.m.TextArea for string data specifically marked with the textArea widget.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport TextArea from \"sap/m/TextArea\";\nimport Control from \"sap/ui/core/Control\";\n\n/**\n * Handles rendering and logic for multi-line text areas.\n */\nexport class TextAreaPlugin 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 this.fieldKey = bindingPath.replace(\"/\", \"\"); // For EventBus\n \n if (this.isDisplayMode) {\n (sap.ui as unknown as { requireSync: (s: string) => unknown }).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 TextArea({\n id: this.generateStableId(engineScopeId, bindingPath),\n value: `{${modelName}>${bindingPath}}`,\n maxLength: fieldMetadata.maxLength || 0,\n required: !!fieldMetadata.required,\n rows: fieldMetadata.ui?.rows || 4, // Default to 4 rows for text areas\n change: (oEvent: unknown) => {\n const val = (oEvent as { getParameter: (s: string) => unknown }).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 TextArea).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 TextArea;\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,cAAc,SAASF,UAAU,CAAC;IACpCG,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;MAC7B,IAAI,CAACM,QAAQ,GAAGL,WAAW,CAACM,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;;MAE9C,IAAI,IAAI,CAACC,aAAa,EAAE;QACnBC,GAAG,CAACC,EAAE,CAAwDC,WAAW,CAAC,YAAY,CAAC;QACxF,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,CAACb,aAAa,EAAEF,WAAW,CAAC;UACrDgB,IAAI,EAAE,IAAIf,SAAS,IAAID,WAAW;QACtC,CAAC,CAAC;QACF,IAAI,CAACiB,qBAAqB,CAAC,IAAI,CAACJ,OAAO,EAAEd,aAAa,EAAEE,SAAS,CAAC;QAClE,OAAO,IAAI,CAACY,OAAO;MACvB;MAEA,IAAI,CAACA,OAAO,GAAG,IAAIK,QAAQ,CAAC;QACxBJ,EAAE,EAAE,IAAI,CAACC,gBAAgB,CAACb,aAAa,EAAEF,WAAW,CAAC;QACrDmB,KAAK,EAAE,IAAIlB,SAAS,IAAID,WAAW,GAAG;QACtCoB,SAAS,EAAErB,aAAa,CAACqB,SAAS,IAAI,CAAC;QACvCC,QAAQ,EAAE,CAAC,CAACtB,aAAa,CAACsB,QAAQ;QAClCC,IAAI,EAAEvB,aAAa,CAACU,EAAE,EAAEa,IAAI,IAAI,CAAC;QAAE;QACnCC,MAAM,EAAGC,MAAe,IAAK;UACzB,MAAMC,GAAG,GAAID,MAAM,CAA8CE,YAAY,CAAC,OAAO,CAAC;UACtF,MAAMC,MAAM,GAAG,IAAI,CAACC,QAAQ,CAAC,CAAC;UAC9B,IAAI,IAAI,CAACzB,QAAQ,EAAE;YACf,IAAI,CAACA,QAAQ,CAACwB,MAAM,CAACE,OAAO,EAAE,IAAI,CAACxB,QAAQ,CAAC;UAChD;QACJ;MACJ,CAAC,CAAC;MAEF,IAAI,CAACY,qBAAqB,CAAC,IAAI,CAACJ,OAAO,EAAEd,aAAa,EAAEE,SAAS,CAAC;MAElE,OAAO,IAAI,CAACY,OAAO;IACvB;IAEUiB,QAAQA,CAAA,EAAQ;MACtB,OAAO,IAAI,CAACjB,OAAO,GAAI,IAAI,CAACA,OAAO,CAAciB,QAAQ,CAAC,CAAC,GAAG,IAAI;IACtE;IAEUC,UAAUA,CAAA,EAAS;MACzB,IAAI,IAAI,CAAClB,OAAO,IAAI,IAAI,CAACT,QAAQ,EAAE;QAC/B,IAAI,IAAI,CAACG,aAAa,EAAE;QACxB,MAAMyB,KAAK,GAAG,IAAI,CAACnB,OAAmB;QACtCmB,KAAK,CAACC,WAAW,CAAC,CAAC,IAAI,CAAC7B,QAAQ,CAACK,EAAE,EAAEyB,QAAQ,CAAC;QAC9CF,KAAK,CAACG,WAAW,CAAC,IAAI,CAAC/B,QAAQ,CAACiB,QAAQ,CAAC;MAC7C;IACJ;EACJ;EAAC,IAAAe,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAvC,cAAA,GAAAA,cAAA;EAAA,OAAAuC,SAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"TextAreaPlugin-dbg.js","names":["BasePlugin","___BasePlugin","TextAreaPlugin","render","fieldMetadata","bindingPath","modelName","engineScopeId","onChange","metadata","fieldKey","replace","isEditable","sap","ui","requireSync","TextControl","require","control","id","generateStableId","text","applyCommonDirectives","TextArea","value","maxLength","required","rows","change","oEvent","val","getParameter","result","validate","isValid","getValue","applyState","input","setEditable","readOnly","setRequired","__exports","__esModule"],"sources":["TextAreaPlugin.ts"],"sourcesContent":["/**\n * @file TextAreaPlugin.ts\n * @description Renders a sap.m.TextArea for string data specifically marked with the textArea widget.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport TextArea from \"sap/m/TextArea\";\nimport Control from \"sap/ui/core/Control\";\n\n/**\n * Handles rendering and logic for multi-line text areas.\n */\nexport class TextAreaPlugin extends BasePlugin {\n /**\n * Renders a `sap.m.TextArea` 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 TextArea 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 this.fieldKey = bindingPath.replace(\"/\", \"\"); // For EventBus\n \n if (!this.isEditable) {\n (sap.ui as unknown as { requireSync: (s: string) => unknown }).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 TextArea({\n id: this.generateStableId(engineScopeId, bindingPath),\n value: `{${modelName}>${bindingPath}}`,\n maxLength: fieldMetadata.maxLength || 0,\n required: !!fieldMetadata.required,\n rows: fieldMetadata.ui?.rows || 4, // Default to 4 rows for text areas\n change: (oEvent: unknown) => {\n const val = (oEvent as { getParameter: (s: string) => unknown }).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 text string.\n * @returns {any} The text string.\n */\n protected getValue(): any {\n return this.control ? (this.control as TextArea).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 TextArea;\n input.setEditable(!this.metadata.ui?.readOnly);\n input.setRequired(this.metadata.required);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -10,8 +10,25 @@ declare module "nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin" {
10
10
  * Handles rendering and logic for multi-line text areas.
11
11
  */
12
12
  export class TextAreaPlugin extends BasePlugin {
13
+ /**
14
+ * Renders a `sap.m.TextArea` component.
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 TextArea 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 text string.
26
+ * @returns {any} The text string.
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":"TextAreaPlugin.d.ts","sourceRoot":"../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,4DAA4D,CAAC;IAC5E;;;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,cAAe,SAAQ,UAAU;QACnC,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;QAoC7L,SAAS,CAAC,QAAQ,IAAI,GAAG;QAIzB,SAAS,CAAC,UAAU,IAAI,IAAI;KAQ/B;CAEA"}
1
+ {"version":3,"file":"TextAreaPlugin.d.ts","sourceRoot":"../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,4DAA4D,CAAC;IAC5E;;;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,cAAe,SAAQ,UAAU;QAC1C;;;;;;;;;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;QAoC7L;;;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/TextArea"],function(e,t){"use strict";const i=e["BasePlugin"];class s extends i{render(e,i,s="meta",a,r){this.onChange=r;this.metadata=e;this.fieldKey=i.replace("/","");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}}`,maxLength:e.maxLength||0,required:!!e.required,rows:e.ui?.rows||4,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.TextAreaPlugin=s;return a});
1
+ sap.ui.define(["./BasePlugin","sap/m/TextArea"],function(t,e){"use strict";const i=t["BasePlugin"];class s extends i{render(t,i,s="meta",a,r){this.onChange=r;this.metadata=t;this.fieldKey=i.replace("/","");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}}`,maxLength:t.maxLength||0,required:!!t.required,rows:t.ui?.rows||4,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.TextAreaPlugin=s;return a});
2
2
  //# sourceMappingURL=TextAreaPlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextAreaPlugin.js","names":["BasePlugin","___BasePlugin","TextAreaPlugin","render","fieldMetadata","bindingPath","modelName","engineScopeId","onChange","this","metadata","fieldKey","replace","isDisplayMode","sap","ui","requireSync","TextControl","require","control","id","generateStableId","text","applyCommonDirectives","TextArea","value","maxLength","required","rows","change","oEvent","val","getParameter","result","validate","isValid","getValue","applyState","input","setEditable","readOnly","setRequired","__exports","__esModule"],"sources":["TextAreaPlugin.ts"],"sourcesContent":["/**\n * @file TextAreaPlugin.ts\n * @description Renders a sap.m.TextArea for string data specifically marked with the textArea widget.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport TextArea from \"sap/m/TextArea\";\nimport Control from \"sap/ui/core/Control\";\n\n/**\n * Handles rendering and logic for multi-line text areas.\n */\nexport class TextAreaPlugin 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 this.fieldKey = bindingPath.replace(\"/\", \"\"); // For EventBus\n \n if (this.isDisplayMode) {\n (sap.ui as unknown as { requireSync: (s: string) => unknown }).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 TextArea({\n id: this.generateStableId(engineScopeId, bindingPath),\n value: `{${modelName}>${bindingPath}}`,\n maxLength: fieldMetadata.maxLength || 0,\n required: !!fieldMetadata.required,\n rows: fieldMetadata.ui?.rows || 4, // Default to 4 rows for text areas\n change: (oEvent: unknown) => {\n const val = (oEvent as { getParameter: (s: string) => unknown }).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 TextArea).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 TextArea;\n input.setEditable(!this.metadata.ui?.readOnly);\n input.setRequired(this.metadata.required);\n }\n }\n}\n"],"mappings":"2EAAA,MAKSA,EAAUC,EAAA,cAQZ,MAAMC,UAAuBF,EACzBG,OAAOC,EAAmCC,EAAsBC,EAAoB,OAAQC,EAAwBC,GACvHC,KAAKD,SAAWA,EAChBC,KAAKC,SAAWN,EAChBK,KAAKE,SAAWN,EAAYO,QAAQ,IAAK,IAEzC,GAAIH,KAAKI,cAAe,CACnBC,IAAIC,GAA0DC,YAAY,cAC3E,MAAMC,EAAcH,IAAIC,GAAGG,QAAQ,cACnCT,KAAKU,QAAU,IAAIF,EAAY,CAC3BG,GAAIX,KAAKY,iBAAiBd,EAAeF,GACzCiB,KAAM,IAAIhB,KAAaD,OAE3BI,KAAKc,sBAAsBd,KAAKU,QAASf,EAAeE,GACxD,OAAOG,KAAKU,OAChB,CAEAV,KAAKU,QAAU,IAAIK,EAAS,CACxBJ,GAAIX,KAAKY,iBAAiBd,EAAeF,GACzCoB,MAAO,IAAInB,KAAaD,KACxBqB,UAAWtB,EAAcsB,WAAa,EACtCC,WAAYvB,EAAcuB,SAC1BC,KAAMxB,EAAcW,IAAIa,MAAQ,EAChCC,OAASC,IACL,MAAMC,EAAOD,EAAoDE,aAAa,SAC9E,MAAMC,EAASxB,KAAKyB,WACpB,GAAIzB,KAAKD,SAAU,CACfC,KAAKD,SAASyB,EAAOE,QAAS1B,KAAKE,SACvC,KAIRF,KAAKc,sBAAsBd,KAAKU,QAASf,EAAeE,GAExD,OAAOG,KAAKU,OAChB,CAEUiB,WACN,OAAO3B,KAAKU,QAAWV,KAAKU,QAAqBiB,WAAa,IAClE,CAEUC,aACN,GAAI5B,KAAKU,SAAWV,KAAKC,SAAU,CAC/B,GAAID,KAAKI,cAAe,OACxB,MAAMyB,EAAQ7B,KAAKU,QACnBmB,EAAMC,aAAa9B,KAAKC,SAASK,IAAIyB,UACrCF,EAAMG,YAAYhC,KAAKC,SAASiB,SACpC,CACJ,EACH,IAAAe,EAAA,CAAAC,WAAA,MAAAD,EAAAxC,iBAAA,OAAAwC,CAAA","ignoreList":[]}
1
+ {"version":3,"file":"TextAreaPlugin.js","names":["BasePlugin","___BasePlugin","TextAreaPlugin","render","fieldMetadata","bindingPath","modelName","engineScopeId","onChange","this","metadata","fieldKey","replace","isEditable","sap","ui","requireSync","TextControl","require","control","id","generateStableId","text","applyCommonDirectives","TextArea","value","maxLength","required","rows","change","oEvent","val","getParameter","result","validate","isValid","getValue","applyState","input","setEditable","readOnly","setRequired","__exports","__esModule"],"sources":["TextAreaPlugin.ts"],"sourcesContent":["/**\n * @file TextAreaPlugin.ts\n * @description Renders a sap.m.TextArea for string data specifically marked with the textArea widget.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport TextArea from \"sap/m/TextArea\";\nimport Control from \"sap/ui/core/Control\";\n\n/**\n * Handles rendering and logic for multi-line text areas.\n */\nexport class TextAreaPlugin extends BasePlugin {\n /**\n * Renders a `sap.m.TextArea` 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 TextArea 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 this.fieldKey = bindingPath.replace(\"/\", \"\"); // For EventBus\n \n if (!this.isEditable) {\n (sap.ui as unknown as { requireSync: (s: string) => unknown }).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 TextArea({\n id: this.generateStableId(engineScopeId, bindingPath),\n value: `{${modelName}>${bindingPath}}`,\n maxLength: fieldMetadata.maxLength || 0,\n required: !!fieldMetadata.required,\n rows: fieldMetadata.ui?.rows || 4, // Default to 4 rows for text areas\n change: (oEvent: unknown) => {\n const val = (oEvent as { getParameter: (s: string) => unknown }).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 text string.\n * @returns {any} The text string.\n */\n protected getValue(): any {\n return this.control ? (this.control as TextArea).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 TextArea;\n input.setEditable(!this.metadata.ui?.readOnly);\n input.setRequired(this.metadata.required);\n }\n }\n}\n"],"mappings":"2EAAA,MAKSA,EAAUC,EAAA,cAQZ,MAAMC,UAAuBF,EAWzBG,OAAOC,EAAmCC,EAAsBC,EAAoB,OAAQC,EAAwBC,GACvHC,KAAKD,SAAWA,EAChBC,KAAKC,SAAWN,EAChBK,KAAKE,SAAWN,EAAYO,QAAQ,IAAK,IAEzC,IAAKH,KAAKI,WAAY,CACjBC,IAAIC,GAA0DC,YAAY,cAC3E,MAAMC,EAAcH,IAAIC,GAAGG,QAAQ,cACnCT,KAAKU,QAAU,IAAIF,EAAY,CAC3BG,GAAIX,KAAKY,iBAAiBd,EAAeF,GACzCiB,KAAM,IAAIhB,KAAaD,OAE3BI,KAAKc,sBAAsBd,KAAKU,QAASf,EAAeE,GACxD,OAAOG,KAAKU,OAChB,CAEAV,KAAKU,QAAU,IAAIK,EAAS,CACxBJ,GAAIX,KAAKY,iBAAiBd,EAAeF,GACzCoB,MAAO,IAAInB,KAAaD,KACxBqB,UAAWtB,EAAcsB,WAAa,EACtCC,WAAYvB,EAAcuB,SAC1BC,KAAMxB,EAAcW,IAAIa,MAAQ,EAChCC,OAASC,IACL,MAAMC,EAAOD,EAAoDE,aAAa,SAC9E,MAAMC,EAASxB,KAAKyB,WACpB,GAAIzB,KAAKD,SAAU,CACfC,KAAKD,SAASyB,EAAOE,QAAS1B,KAAKE,SACvC,KAIRF,KAAKc,sBAAsBd,KAAKU,QAASf,EAAeE,GAExD,OAAOG,KAAKU,OAChB,CAMUiB,WACN,OAAO3B,KAAKU,QAAWV,KAAKU,QAAqBiB,WAAa,IAClE,CAKUC,aACN,GAAI5B,KAAKU,SAAWV,KAAKC,SAAU,CAC/B,IAAKD,KAAKI,WAAY,OACtB,MAAMyB,EAAQ7B,KAAKU,QACnBmB,EAAMC,aAAa9B,KAAKC,SAASK,IAAIyB,UACrCF,EAAMG,YAAYhC,KAAKC,SAASiB,SACpC,CACJ,EACH,IAAAe,EAAA,CAAAC,WAAA,MAAAD,EAAAxC,iBAAA,OAAAwC,CAAA","ignoreList":[]}
@@ -12,12 +12,22 @@ import Control from "sap/ui/core/Control";
12
12
  * Handles rendering and logic for multi-line text areas.
13
13
  */
14
14
  export class TextAreaPlugin extends BasePlugin {
15
+ /**
16
+ * Renders a `sap.m.TextArea` component.
17
+ *
18
+ * @param fieldMetadata The specific JSON schema properties for this field.
19
+ * @param bindingPath The JSON path bound to this control.
20
+ * @param modelName The UI5 JSONModel name.
21
+ * @param engineScopeId The deterministic scope ID.
22
+ * @param onChange The callback fired on value change.
23
+ * @returns {Control} The configured TextArea control.
24
+ */
15
25
  public render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName: string = "meta", engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string) => void): Control {
16
26
  this.onChange = onChange;
17
27
  this.metadata = fieldMetadata;
18
28
  this.fieldKey = bindingPath.replace("/", ""); // For EventBus
19
29
 
20
- if (this.isDisplayMode) {
30
+ if (!this.isEditable) {
21
31
  (sap.ui as unknown as { requireSync: (s: string) => unknown }).requireSync("sap/m/Text");
22
32
  const TextControl = sap.ui.require("sap/m/Text");
23
33
  this.control = new TextControl({
@@ -48,13 +58,20 @@ export class TextAreaPlugin extends BasePlugin {
48
58
  return this.control as Control;
49
59
  }
50
60
 
61
+ /**
62
+ * Retrieves the current text string.
63
+ * @returns {any} The text string.
64
+ */
51
65
  protected getValue(): any {
52
66
  return this.control ? (this.control as TextArea).getValue() : null;
53
67
  }
54
68
 
69
+ /**
70
+ * Applies dynamic read-only state.
71
+ */
55
72
  protected applyState(): void {
56
73
  if (this.control && this.metadata) {
57
- if (this.isDisplayMode) return;
74
+ if (!this.isEditable) return;
58
75
  const input = this.control as TextArea;
59
76
  input.setEditable(!this.metadata.ui?.readOnly);
60
77
  input.setRequired(this.metadata.required);
@@ -10,10 +10,20 @@ sap.ui.define(["./BasePlugin", "sap/m/TimePicker"], function (___BasePlugin, Tim
10
10
  * Handles rendering and logic for time inputs.
11
11
  */
12
12
  class TimePlugin extends BasePlugin {
13
+ /**
14
+ * Renders a `sap.m.TimePicker` component.
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 TimePicker 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({
@@ -58,12 +68,21 @@ sap.ui.define(["./BasePlugin", "sap/m/TimePicker"], function (___BasePlugin, Tim
58
68
  this.applyCommonDirectives(this.control, fieldMetadata, modelName);
59
69
  return this.control;
60
70
  }
71
+
72
+ /**
73
+ * Retrieves the current time string.
74
+ * @returns {any} The time string.
75
+ */
61
76
  getValue() {
62
77
  return this.control ? this.control.getValue() : null;
63
78
  }
79
+
80
+ /**
81
+ * Applies dynamic read-only state.
82
+ */
64
83
  applyState() {
65
84
  if (this.control && this.metadata) {
66
- if (this.isDisplayMode) return;
85
+ if (!this.isEditable) return;
67
86
  const input = this.control;
68
87
  input.setEditable(!this.metadata.ui?.readOnly);
69
88
  input.setRequired(this.metadata.required);
@@ -1 +1 @@
1
- {"version":3,"file":"TimePlugin-dbg.js","names":["BasePlugin","___BasePlugin","TimePlugin","render","fieldMetadata","bindingPath","modelName","engineScopeId","onChange","metadata","isDisplayMode","sap","ui","requireSync","TextControl","require","control","id","generateStableId","text","path","type","formatOptions","source","pattern","applyCommonDirectives","TimePicker","value","displayFormat","editable","readOnly","required","change","oEvent","val","getParameter","result","validate","isValid","fieldKey","getValue","applyState","input","setEditable","setRequired","__exports","__esModule"],"sources":["TimePlugin.ts"],"sourcesContent":["/**\n * @file TimePlugin.ts\n * @description Handles rendering logic for Time strings.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport TimePicker from \"sap/m/TimePicker\";\nimport Control from \"sap/ui/core/Control\";\n\n/**\n * Handles rendering and logic for time inputs.\n */\nexport class TimePlugin 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 as unknown as { requireSync: (s: string) => unknown }).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 type: \"sap.ui.model.type.Time\",\n formatOptions: {\n source: { pattern: \"HH:mm:ss\" },\n pattern: \"HH:mm:ss\"\n }\n }\n });\n this.applyCommonDirectives(this.control, fieldMetadata, modelName);\n return this.control as Control;\n }\n\n this.control = new TimePicker({\n id: this.generateStableId(engineScopeId, bindingPath),\n value: {\n path: `${modelName}>${bindingPath}`,\n type: \"sap.ui.model.type.Time\",\n formatOptions: {\n source: { pattern: \"HH:mm:ss\" },\n pattern: \"HH:mm:ss\"\n }\n },\n displayFormat: \"HH:mm:ss\",\n editable: !fieldMetadata.ui?.readOnly,\n required: fieldMetadata.required,\n change: (oEvent: unknown) => {\n const val = (oEvent as { getParameter: (s: string) => unknown }).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 TimePicker).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 TimePicker;\n input.setEditable(!this.metadata.ui?.readOnly);\n input.setRequired(this.metadata.required);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"TimePlugin-dbg.js","names":["BasePlugin","___BasePlugin","TimePlugin","render","fieldMetadata","bindingPath","modelName","engineScopeId","onChange","metadata","isEditable","sap","ui","requireSync","TextControl","require","control","id","generateStableId","text","path","type","formatOptions","source","pattern","applyCommonDirectives","TimePicker","value","displayFormat","editable","readOnly","required","change","oEvent","val","getParameter","result","validate","isValid","fieldKey","getValue","applyState","input","setEditable","setRequired","__exports","__esModule"],"sources":["TimePlugin.ts"],"sourcesContent":["/**\n * @file TimePlugin.ts\n * @description Handles rendering logic for Time strings.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport TimePicker from \"sap/m/TimePicker\";\nimport Control from \"sap/ui/core/Control\";\n\n/**\n * Handles rendering and logic for time inputs.\n */\nexport class TimePlugin extends BasePlugin {\n /**\n * Renders a `sap.m.TimePicker` 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 TimePicker 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 as unknown as { requireSync: (s: string) => unknown }).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 type: \"sap.ui.model.type.Time\",\n formatOptions: {\n source: { pattern: \"HH:mm:ss\" },\n pattern: \"HH:mm:ss\"\n }\n }\n });\n this.applyCommonDirectives(this.control, fieldMetadata, modelName);\n return this.control as Control;\n }\n\n this.control = new TimePicker({\n id: this.generateStableId(engineScopeId, bindingPath),\n value: {\n path: `${modelName}>${bindingPath}`,\n type: \"sap.ui.model.type.Time\",\n formatOptions: {\n source: { pattern: \"HH:mm:ss\" },\n pattern: \"HH:mm:ss\"\n }\n },\n displayFormat: \"HH:mm:ss\",\n editable: !fieldMetadata.ui?.readOnly,\n required: fieldMetadata.required,\n change: (oEvent: unknown) => {\n const val = (oEvent as { getParameter: (s: string) => unknown }).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 time string.\n * @returns {any} The time string.\n */\n protected getValue(): any {\n return this.control ? (this.control as TimePicker).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 TimePicker;\n input.setEditable(!this.metadata.ui?.readOnly);\n input.setRequired(this.metadata.required);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -10,8 +10,25 @@ declare module "nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin" {
10
10
  * Handles rendering and logic for time inputs.
11
11
  */
12
12
  export class TimePlugin extends BasePlugin {
13
+ /**
14
+ * Renders a `sap.m.TimePicker` component.
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 TimePicker 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 time string.
26
+ * @returns {any} The time string.
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":"TimePlugin.d.ts","sourceRoot":"../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,wDAAwD,CAAC;IACxE;;;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,UAAW,SAAQ,UAAU;QAC/B,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;QAiD7L,SAAS,CAAC,QAAQ,IAAI,GAAG;QAIzB,SAAS,CAAC,UAAU,IAAI,IAAI;KAQ/B;CAEA"}
1
+ {"version":3,"file":"TimePlugin.d.ts","sourceRoot":"../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,wDAAwD,CAAC;IACxE;;;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,UAAW,SAAQ,UAAU;QACtC;;;;;;;;;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;QAiD7L;;;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/TimePicker"],function(t,e){"use strict";const i=t["BasePlugin"];class s extends i{render(t,i,s="meta",a,r){this.onChange=r;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,i),text:{path:`${s}>${i}`,type:"sap.ui.model.type.Time",formatOptions:{source:{pattern:"HH:mm:ss"},pattern:"HH:mm:ss"}}});this.applyCommonDirectives(this.control,t,s);return this.control}this.control=new e({id:this.generateStableId(a,i),value:{path:`${s}>${i}`,type:"sap.ui.model.type.Time",formatOptions:{source:{pattern:"HH:mm:ss"},pattern:"HH:mm:ss"}},displayFormat:"HH:mm:ss",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.isDisplayMode)return;const t=this.control;t.setEditable(!this.metadata.ui?.readOnly);t.setRequired(this.metadata.required)}}}var a={__esModule:true};a.TimePlugin=s;return a});
1
+ sap.ui.define(["./BasePlugin","sap/m/TimePicker"],function(t,e){"use strict";const i=t["BasePlugin"];class s extends i{render(t,i,s="meta",a,r){this.onChange=r;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:{path:`${s}>${i}`,type:"sap.ui.model.type.Time",formatOptions:{source:{pattern:"HH:mm:ss"},pattern:"HH:mm:ss"}}});this.applyCommonDirectives(this.control,t,s);return this.control}this.control=new e({id:this.generateStableId(a,i),value:{path:`${s}>${i}`,type:"sap.ui.model.type.Time",formatOptions:{source:{pattern:"HH:mm:ss"},pattern:"HH:mm:ss"}},displayFormat:"HH:mm:ss",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.TimePlugin=s;return a});
2
2
  //# sourceMappingURL=TimePlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TimePlugin.js","names":["BasePlugin","___BasePlugin","TimePlugin","render","fieldMetadata","bindingPath","modelName","engineScopeId","onChange","this","metadata","isDisplayMode","sap","ui","requireSync","TextControl","require","control","id","generateStableId","text","path","type","formatOptions","source","pattern","applyCommonDirectives","TimePicker","value","displayFormat","editable","readOnly","required","change","oEvent","val","getParameter","result","validate","isValid","fieldKey","getValue","applyState","input","setEditable","setRequired","__exports","__esModule"],"sources":["TimePlugin.ts"],"sourcesContent":["/**\n * @file TimePlugin.ts\n * @description Handles rendering logic for Time strings.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport TimePicker from \"sap/m/TimePicker\";\nimport Control from \"sap/ui/core/Control\";\n\n/**\n * Handles rendering and logic for time inputs.\n */\nexport class TimePlugin 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 as unknown as { requireSync: (s: string) => unknown }).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 type: \"sap.ui.model.type.Time\",\n formatOptions: {\n source: { pattern: \"HH:mm:ss\" },\n pattern: \"HH:mm:ss\"\n }\n }\n });\n this.applyCommonDirectives(this.control, fieldMetadata, modelName);\n return this.control as Control;\n }\n\n this.control = new TimePicker({\n id: this.generateStableId(engineScopeId, bindingPath),\n value: {\n path: `${modelName}>${bindingPath}`,\n type: \"sap.ui.model.type.Time\",\n formatOptions: {\n source: { pattern: \"HH:mm:ss\" },\n pattern: \"HH:mm:ss\"\n }\n },\n displayFormat: \"HH:mm:ss\",\n editable: !fieldMetadata.ui?.readOnly,\n required: fieldMetadata.required,\n change: (oEvent: unknown) => {\n const val = (oEvent as { getParameter: (s: string) => unknown }).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 TimePicker).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 TimePicker;\n input.setEditable(!this.metadata.ui?.readOnly);\n input.setRequired(this.metadata.required);\n }\n }\n}\n"],"mappings":"6EAAA,MAKSA,EAAUC,EAAA,cAQZ,MAAMC,UAAmBF,EACrBG,OAAOC,EAAmCC,EAAsBC,EAAoB,OAAQC,EAAwBC,GACvHC,KAAKD,SAAWA,EAChBC,KAAKC,SAAWN,EAEhB,GAAIK,KAAKE,cAAe,CACnBC,IAAIC,GAA0DC,YAAY,cAC3E,MAAMC,EAAcH,IAAIC,GAAGG,QAAQ,cACnCP,KAAKQ,QAAU,IAAIF,EAAY,CAC3BG,GAAIT,KAAKU,iBAAiBZ,EAAeF,GACzCe,KAAM,CACFC,KAAM,GAAGf,KAAaD,IACtBiB,KAAM,yBACNC,cAAe,CACXC,OAAQ,CAAEC,QAAS,YACnBA,QAAS,eAIrBhB,KAAKiB,sBAAsBjB,KAAKQ,QAASb,EAAeE,GACxD,OAAOG,KAAKQ,OAChB,CAEAR,KAAKQ,QAAU,IAAIU,EAAW,CAC1BT,GAAIT,KAAKU,iBAAiBZ,EAAeF,GACzCuB,MAAO,CACHP,KAAM,GAAGf,KAAaD,IACtBiB,KAAM,yBACNC,cAAe,CACXC,OAAQ,CAAEC,QAAS,YACnBA,QAAS,aAGjBI,cAAe,WACfC,UAAW1B,EAAcS,IAAIkB,SAC7BC,SAAU5B,EAAc4B,SACxBC,OAASC,IACL,MAAMC,EAAOD,EAAoDE,aAAa,SAC9E,MAAMC,EAAS5B,KAAK6B,WACpB,GAAI7B,KAAKD,SAAU,CACfC,KAAKD,SAAS6B,EAAOE,QAAS9B,KAAK+B,SACvC,KAIR/B,KAAKiB,sBAAsBjB,KAAKQ,QAASb,EAAeE,GAExD,OAAOG,KAAKQ,OAChB,CAEUwB,WACN,OAAOhC,KAAKQ,QAAWR,KAAKQ,QAAuBwB,WAAa,IACpE,CAEUC,aACN,GAAIjC,KAAKQ,SAAWR,KAAKC,SAAU,CAC/B,GAAID,KAAKE,cAAe,OACxB,MAAMgC,EAAQlC,KAAKQ,QACnB0B,EAAMC,aAAanC,KAAKC,SAASG,IAAIkB,UACrCY,EAAME,YAAYpC,KAAKC,SAASsB,SACpC,CACJ,EACH,IAAAc,EAAA,CAAAC,WAAA,MAAAD,EAAA5C,aAAA,OAAA4C,CAAA","ignoreList":[]}
1
+ {"version":3,"file":"TimePlugin.js","names":["BasePlugin","___BasePlugin","TimePlugin","render","fieldMetadata","bindingPath","modelName","engineScopeId","onChange","this","metadata","isEditable","sap","ui","requireSync","TextControl","require","control","id","generateStableId","text","path","type","formatOptions","source","pattern","applyCommonDirectives","TimePicker","value","displayFormat","editable","readOnly","required","change","oEvent","val","getParameter","result","validate","isValid","fieldKey","getValue","applyState","input","setEditable","setRequired","__exports","__esModule"],"sources":["TimePlugin.ts"],"sourcesContent":["/**\n * @file TimePlugin.ts\n * @description Handles rendering logic for Time strings.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport TimePicker from \"sap/m/TimePicker\";\nimport Control from \"sap/ui/core/Control\";\n\n/**\n * Handles rendering and logic for time inputs.\n */\nexport class TimePlugin extends BasePlugin {\n /**\n * Renders a `sap.m.TimePicker` 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 TimePicker 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 as unknown as { requireSync: (s: string) => unknown }).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 type: \"sap.ui.model.type.Time\",\n formatOptions: {\n source: { pattern: \"HH:mm:ss\" },\n pattern: \"HH:mm:ss\"\n }\n }\n });\n this.applyCommonDirectives(this.control, fieldMetadata, modelName);\n return this.control as Control;\n }\n\n this.control = new TimePicker({\n id: this.generateStableId(engineScopeId, bindingPath),\n value: {\n path: `${modelName}>${bindingPath}`,\n type: \"sap.ui.model.type.Time\",\n formatOptions: {\n source: { pattern: \"HH:mm:ss\" },\n pattern: \"HH:mm:ss\"\n }\n },\n displayFormat: \"HH:mm:ss\",\n editable: !fieldMetadata.ui?.readOnly,\n required: fieldMetadata.required,\n change: (oEvent: unknown) => {\n const val = (oEvent as { getParameter: (s: string) => unknown }).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 time string.\n * @returns {any} The time string.\n */\n protected getValue(): any {\n return this.control ? (this.control as TimePicker).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 TimePicker;\n input.setEditable(!this.metadata.ui?.readOnly);\n input.setRequired(this.metadata.required);\n }\n }\n}\n"],"mappings":"6EAAA,MAKSA,EAAUC,EAAA,cAQZ,MAAMC,UAAmBF,EAWrBG,OAAOC,EAAmCC,EAAsBC,EAAoB,OAAQC,EAAwBC,GACvHC,KAAKD,SAAWA,EAChBC,KAAKC,SAAWN,EAEhB,IAAKK,KAAKE,WAAY,CACjBC,IAAIC,GAA0DC,YAAY,cAC3E,MAAMC,EAAcH,IAAIC,GAAGG,QAAQ,cACnCP,KAAKQ,QAAU,IAAIF,EAAY,CAC3BG,GAAIT,KAAKU,iBAAiBZ,EAAeF,GACzCe,KAAM,CACFC,KAAM,GAAGf,KAAaD,IACtBiB,KAAM,yBACNC,cAAe,CACXC,OAAQ,CAAEC,QAAS,YACnBA,QAAS,eAIrBhB,KAAKiB,sBAAsBjB,KAAKQ,QAASb,EAAeE,GACxD,OAAOG,KAAKQ,OAChB,CAEAR,KAAKQ,QAAU,IAAIU,EAAW,CAC1BT,GAAIT,KAAKU,iBAAiBZ,EAAeF,GACzCuB,MAAO,CACHP,KAAM,GAAGf,KAAaD,IACtBiB,KAAM,yBACNC,cAAe,CACXC,OAAQ,CAAEC,QAAS,YACnBA,QAAS,aAGjBI,cAAe,WACfC,UAAW1B,EAAcS,IAAIkB,SAC7BC,SAAU5B,EAAc4B,SACxBC,OAASC,IACL,MAAMC,EAAOD,EAAoDE,aAAa,SAC9E,MAAMC,EAAS5B,KAAK6B,WACpB,GAAI7B,KAAKD,SAAU,CACfC,KAAKD,SAAS6B,EAAOE,QAAS9B,KAAK+B,SACvC,KAIR/B,KAAKiB,sBAAsBjB,KAAKQ,QAASb,EAAeE,GAExD,OAAOG,KAAKQ,OAChB,CAMUwB,WACN,OAAOhC,KAAKQ,QAAWR,KAAKQ,QAAuBwB,WAAa,IACpE,CAKUC,aACN,GAAIjC,KAAKQ,SAAWR,KAAKC,SAAU,CAC/B,IAAKD,KAAKE,WAAY,OACtB,MAAMgC,EAAQlC,KAAKQ,QACnB0B,EAAMC,aAAanC,KAAKC,SAASG,IAAIkB,UACrCY,EAAME,YAAYpC,KAAKC,SAASsB,SACpC,CACJ,EACH,IAAAc,EAAA,CAAAC,WAAA,MAAAD,EAAA5C,aAAA,OAAA4C,CAAA","ignoreList":[]}