@siliconst/metaui 1.4.17 → 1.4.21

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 (423) hide show
  1. package/package.json +1 -1
  2. package/src/nz/co/siliconst/ui5/metaui/ai/AIConfig-dbg.js +47 -0
  3. package/src/nz/co/siliconst/ui5/metaui/ai/AIConfig-dbg.js.map +1 -0
  4. package/src/nz/co/siliconst/ui5/metaui/ai/AIConfig.d.ts +28 -0
  5. package/src/nz/co/siliconst/ui5/metaui/ai/AIConfig.d.ts.map +1 -0
  6. package/src/nz/co/siliconst/ui5/metaui/ai/AIConfig.js +2 -0
  7. package/src/nz/co/siliconst/ui5/metaui/ai/AIConfig.js.map +1 -0
  8. package/src/nz/co/siliconst/ui5/metaui/ai/AIConfig.ts +39 -0
  9. package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator-dbg.js +83 -0
  10. package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator-dbg.js.map +1 -0
  11. package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.d.ts +30 -0
  12. package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.d.ts.map +1 -0
  13. package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.js +2 -0
  14. package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.js.map +1 -0
  15. package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.ts +74 -0
  16. package/src/nz/co/siliconst/ui5/metaui/ai/MockLLMProxy-dbg.js +61 -0
  17. package/src/nz/co/siliconst/ui5/metaui/ai/MockLLMProxy-dbg.js.map +1 -0
  18. package/src/nz/co/siliconst/ui5/metaui/ai/MockLLMProxy.d.ts +13 -0
  19. package/src/nz/co/siliconst/ui5/metaui/ai/MockLLMProxy.d.ts.map +1 -0
  20. package/src/nz/co/siliconst/ui5/metaui/ai/MockLLMProxy.js +2 -0
  21. package/src/nz/co/siliconst/ui5/metaui/ai/MockLLMProxy.js.map +1 -0
  22. package/src/nz/co/siliconst/ui5/metaui/ai/MockLLMProxy.ts +59 -0
  23. package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy-dbg.js +50 -0
  24. package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy-dbg.js.map +1 -0
  25. package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy.d.ts +12 -0
  26. package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy.d.ts.map +1 -0
  27. package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy.js +2 -0
  28. package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy.js.map +1 -0
  29. package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy.ts +44 -0
  30. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost-dbg.js +87 -16
  31. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost-dbg.js.map +1 -1
  32. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.d.ts +20 -0
  33. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.d.ts.map +1 -1
  34. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.js +1 -1
  35. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.js.map +1 -1
  36. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.ts +79 -18
  37. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost-dbg.js +44 -4
  38. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost-dbg.js.map +1 -1
  39. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.d.ts +23 -0
  40. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.d.ts.map +1 -1
  41. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.js +1 -1
  42. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.js.map +1 -1
  43. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.ts +35 -5
  44. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate-dbg.js +35 -0
  45. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate-dbg.js.map +1 -1
  46. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.d.ts +8 -0
  47. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.d.ts.map +1 -1
  48. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.js +1 -1
  49. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.js.map +1 -1
  50. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.ts +37 -0
  51. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate-dbg.js +13 -0
  52. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate-dbg.js.map +1 -1
  53. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.d.ts +4 -0
  54. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.d.ts.map +1 -1
  55. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.js +1 -1
  56. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.js.map +1 -1
  57. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.ts +13 -0
  58. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator-dbg.js +11 -32
  59. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator-dbg.js.map +1 -1
  60. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.d.ts.map +1 -1
  61. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.js +1 -1
  62. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.js.map +1 -1
  63. package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.ts +9 -13
  64. package/src/nz/co/siliconst/ui5/metaui/core/Engine-dbg.js +14 -6
  65. package/src/nz/co/siliconst/ui5/metaui/core/Engine-dbg.js.map +1 -1
  66. package/src/nz/co/siliconst/ui5/metaui/core/Engine.d.ts +7 -1
  67. package/src/nz/co/siliconst/ui5/metaui/core/Engine.d.ts.map +1 -1
  68. package/src/nz/co/siliconst/ui5/metaui/core/Engine.js +1 -1
  69. package/src/nz/co/siliconst/ui5/metaui/core/Engine.js.map +1 -1
  70. package/src/nz/co/siliconst/ui5/metaui/core/Engine.ts +21 -11
  71. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry-dbg.js +6 -0
  72. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry-dbg.js.map +1 -1
  73. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.d.ts.map +1 -1
  74. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.js +1 -1
  75. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.js.map +1 -1
  76. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.ts +6 -0
  77. package/src/nz/co/siliconst/ui5/metaui/core/SchemaBuilderRegistry-dbg.js +3 -3
  78. package/src/nz/co/siliconst/ui5/metaui/core/SchemaBuilderRegistry-dbg.js.map +1 -1
  79. package/src/nz/co/siliconst/ui5/metaui/core/SchemaBuilderRegistry.d.ts +1 -1
  80. package/src/nz/co/siliconst/ui5/metaui/core/SchemaBuilderRegistry.d.ts.map +1 -1
  81. package/src/nz/co/siliconst/ui5/metaui/core/SchemaBuilderRegistry.js +1 -1
  82. package/src/nz/co/siliconst/ui5/metaui/core/SchemaBuilderRegistry.js.map +1 -1
  83. package/src/nz/co/siliconst/ui5/metaui/core/SchemaBuilderRegistry.ts +3 -3
  84. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer-dbg.js +4 -4
  85. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer-dbg.js.map +1 -1
  86. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.d.ts +2 -2
  87. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.d.ts.map +1 -1
  88. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.js +1 -1
  89. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.js.map +1 -1
  90. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.ts +10 -10
  91. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator-dbg.js +1 -1
  92. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator-dbg.js.map +1 -1
  93. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.js +1 -1
  94. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.js.map +1 -1
  95. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.ts +1 -1
  96. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin-dbg.js.map +1 -1
  97. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.d.ts +1 -1
  98. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.d.ts.map +1 -1
  99. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.ts +1 -1
  100. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema-dbg.js.map +1 -1
  101. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.d.ts +19 -3
  102. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.d.ts.map +1 -1
  103. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.ts +22 -3
  104. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchemaBuilderPlugin-dbg.js.map +1 -1
  105. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchemaBuilderPlugin.d.ts +3 -2
  106. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchemaBuilderPlugin.d.ts.map +1 -1
  107. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchemaBuilderPlugin.ts +3 -2
  108. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout-dbg.js +18 -2
  109. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout-dbg.js.map +1 -1
  110. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.d.ts.map +1 -1
  111. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.js +1 -1
  112. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.js.map +1 -1
  113. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.ts +19 -2
  114. package/src/nz/co/siliconst/ui5/metaui/library-dbg.js +1 -1
  115. package/src/nz/co/siliconst/ui5/metaui/library-dbg.js.map +1 -1
  116. package/src/nz/co/siliconst/ui5/metaui/library-preload.js +66 -44
  117. package/src/nz/co/siliconst/ui5/metaui/library-preload.js.map +1 -1
  118. package/src/nz/co/siliconst/ui5/metaui/library.d.ts +4 -0
  119. package/src/nz/co/siliconst/ui5/metaui/library.d.ts.map +1 -1
  120. package/src/nz/co/siliconst/ui5/metaui/library.js +1 -1
  121. package/src/nz/co/siliconst/ui5/metaui/library.js.map +1 -1
  122. package/src/nz/co/siliconst/ui5/metaui/library.ts +6 -0
  123. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiBuilder-dbg.js +93 -0
  124. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiBuilder-dbg.js.map +1 -0
  125. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiBuilder.d.ts +52 -0
  126. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiBuilder.d.ts.map +1 -0
  127. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiBuilder.js +2 -0
  128. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiBuilder.js.map +1 -0
  129. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiBuilder.ts +88 -0
  130. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory-dbg.js +47 -0
  131. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory-dbg.js.map +1 -0
  132. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.d.ts +25 -0
  133. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.d.ts.map +1 -0
  134. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.js +2 -0
  135. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.js.map +1 -0
  136. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.ts +43 -0
  137. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver-dbg.js +68 -0
  138. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver-dbg.js.map +1 -0
  139. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.d.ts +21 -0
  140. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.d.ts.map +1 -0
  141. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.js +2 -0
  142. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.js.map +1 -0
  143. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.ts +61 -0
  144. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiTypeMapper-dbg.js +45 -0
  145. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiTypeMapper-dbg.js.map +1 -0
  146. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiTypeMapper.d.ts +25 -0
  147. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiTypeMapper.d.ts.map +1 -0
  148. package/src/nz/co/siliconst/ui5/metaui/{swagger/SwaggerTypeMapper.js → openapi/OpenApiTypeMapper.js} +2 -2
  149. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiTypeMapper.js.map +1 -0
  150. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiTypeMapper.ts +36 -0
  151. package/src/nz/co/siliconst/ui5/metaui/{swagger/SwaggerUIMapper-dbg.js → openapi/OpenApiUIMapper-dbg.js} +29 -17
  152. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper-dbg.js.map +1 -0
  153. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.d.ts +34 -0
  154. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.d.ts.map +1 -0
  155. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.js +2 -0
  156. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.js.map +1 -0
  157. package/src/nz/co/siliconst/ui5/metaui/{swagger/SwaggerUIMapper.ts → openapi/OpenApiUIMapper.ts} +28 -16
  158. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine-dbg.js +50 -0
  159. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine-dbg.js.map +1 -0
  160. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine.d.ts +25 -0
  161. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine.d.ts.map +1 -0
  162. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine.js +2 -0
  163. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine.js.map +1 -0
  164. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine.ts +43 -0
  165. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/interfaces/IHeuristicPlugin-dbg.js +2 -0
  166. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/interfaces/IHeuristicPlugin-dbg.js.map +1 -0
  167. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/interfaces/IHeuristicPlugin.d.ts +23 -0
  168. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/interfaces/IHeuristicPlugin.d.ts.map +1 -0
  169. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/interfaces/IHeuristicPlugin.js +2 -0
  170. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/interfaces/IHeuristicPlugin.js.map +1 -0
  171. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/interfaces/IHeuristicPlugin.ts +21 -0
  172. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic-dbg.js +117 -0
  173. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic-dbg.js.map +1 -0
  174. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.d.ts +47 -0
  175. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.d.ts.map +1 -0
  176. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.js +2 -0
  177. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.js.map +1 -0
  178. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.ts +113 -0
  179. package/src/nz/co/siliconst/ui5/metaui/openapi/interfaces/IOpenApiParserPlugin-dbg.js +2 -0
  180. package/src/nz/co/siliconst/ui5/metaui/openapi/interfaces/IOpenApiParserPlugin-dbg.js.map +1 -0
  181. package/src/nz/co/siliconst/ui5/metaui/openapi/interfaces/IOpenApiParserPlugin.d.ts +26 -0
  182. package/src/nz/co/siliconst/ui5/metaui/openapi/interfaces/IOpenApiParserPlugin.d.ts.map +1 -0
  183. package/src/nz/co/siliconst/ui5/metaui/openapi/interfaces/IOpenApiParserPlugin.js +2 -0
  184. package/src/nz/co/siliconst/ui5/metaui/openapi/interfaces/IOpenApiParserPlugin.js.map +1 -0
  185. package/src/nz/co/siliconst/ui5/metaui/openapi/interfaces/IOpenApiParserPlugin.ts +25 -0
  186. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser-dbg.js +106 -0
  187. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser-dbg.js.map +1 -0
  188. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.d.ts +27 -0
  189. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.d.ts.map +1 -0
  190. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.js +2 -0
  191. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.js.map +1 -0
  192. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.ts +104 -0
  193. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser-dbg.js +107 -0
  194. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser-dbg.js.map +1 -0
  195. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.d.ts +27 -0
  196. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.d.ts.map +1 -0
  197. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.js +2 -0
  198. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.js.map +1 -0
  199. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.ts +105 -0
  200. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper-dbg.js +347 -0
  201. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper-dbg.js.map +1 -0
  202. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.d.ts +110 -0
  203. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.d.ts.map +1 -0
  204. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.js +2 -0
  205. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.js.map +1 -0
  206. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.ts +377 -0
  207. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin-dbg.js +11 -0
  208. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin-dbg.js.map +1 -1
  209. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.d.ts.map +1 -1
  210. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.js +1 -1
  211. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.js.map +1 -1
  212. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.ts +13 -0
  213. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin-dbg.js +2 -2
  214. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin-dbg.js.map +1 -1
  215. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.js +1 -1
  216. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.js.map +1 -1
  217. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.ts +2 -2
  218. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin-dbg.js +31 -7
  219. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin-dbg.js.map +1 -1
  220. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.d.ts +17 -1
  221. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.d.ts.map +1 -1
  222. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.js +1 -1
  223. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.js.map +1 -1
  224. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.ts +33 -8
  225. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin-dbg.js +3 -4
  226. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin-dbg.js.map +1 -1
  227. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.d.ts.map +1 -1
  228. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.js +1 -1
  229. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.js.map +1 -1
  230. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.ts +3 -4
  231. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin-dbg.js +2 -2
  232. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin-dbg.js.map +1 -1
  233. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.js +1 -1
  234. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.js.map +1 -1
  235. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.ts +2 -2
  236. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin-dbg.js +1 -1
  237. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin-dbg.js.map +1 -1
  238. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.js +1 -1
  239. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.js.map +1 -1
  240. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.ts +1 -1
  241. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin-dbg.js +4 -8
  242. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin-dbg.js.map +1 -1
  243. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.d.ts.map +1 -1
  244. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.js +1 -1
  245. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.js.map +1 -1
  246. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.ts +4 -8
  247. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin-dbg.js +4 -8
  248. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin-dbg.js.map +1 -1
  249. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.d.ts.map +1 -1
  250. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.js +1 -1
  251. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.js.map +1 -1
  252. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.ts +4 -8
  253. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin-dbg.js +217 -0
  254. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin-dbg.js.map +1 -0
  255. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.d.ts +26 -0
  256. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.d.ts.map +1 -0
  257. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.js +2 -0
  258. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.js.map +1 -0
  259. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.ts +249 -0
  260. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin-dbg.js +3 -4
  261. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin-dbg.js.map +1 -1
  262. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.d.ts.map +1 -1
  263. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.js +1 -1
  264. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.js.map +1 -1
  265. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.ts +3 -4
  266. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin-dbg.js +48 -0
  267. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin-dbg.js.map +1 -0
  268. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.d.ts +11 -0
  269. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.d.ts.map +1 -0
  270. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.js +2 -0
  271. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.js.map +1 -0
  272. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.ts +48 -0
  273. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin-dbg.js +3 -3
  274. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin-dbg.js.map +1 -1
  275. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.js +1 -1
  276. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.js.map +1 -1
  277. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.ts +3 -3
  278. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin-dbg.js +3 -4
  279. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin-dbg.js.map +1 -1
  280. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.d.ts.map +1 -1
  281. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.js +1 -1
  282. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.js.map +1 -1
  283. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.ts +4 -5
  284. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin-dbg.js +58 -0
  285. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin-dbg.js.map +1 -0
  286. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.d.ts +11 -0
  287. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.d.ts.map +1 -0
  288. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.js +2 -0
  289. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.js.map +1 -0
  290. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.ts +57 -0
  291. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin-dbg.js +1 -1
  292. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin-dbg.js.map +1 -1
  293. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.js +1 -1
  294. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.js.map +1 -1
  295. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.ts +1 -1
  296. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin-dbg.js +115 -49
  297. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin-dbg.js.map +1 -1
  298. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.d.ts +17 -2
  299. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.d.ts.map +1 -1
  300. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.js +1 -1
  301. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.js.map +1 -1
  302. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.ts +114 -54
  303. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin-dbg.js +3 -4
  304. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin-dbg.js.map +1 -1
  305. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.d.ts.map +1 -1
  306. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.js +1 -1
  307. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.js.map +1 -1
  308. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.ts +3 -4
  309. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin-dbg.js +3 -2
  310. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin-dbg.js.map +1 -1
  311. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.d.ts.map +1 -1
  312. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.js +1 -1
  313. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.js.map +1 -1
  314. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.ts +3 -2
  315. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin-dbg.js +49 -0
  316. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin-dbg.js.map +1 -0
  317. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.d.ts +11 -0
  318. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.d.ts.map +1 -0
  319. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.js +2 -0
  320. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.js.map +1 -0
  321. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.ts +49 -0
  322. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin-dbg.js +2 -2
  323. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin-dbg.js.map +1 -1
  324. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.js +1 -1
  325. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.js.map +1 -1
  326. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.ts +2 -2
  327. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin-dbg.js +194 -0
  328. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin-dbg.js.map +1 -0
  329. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.d.ts +25 -0
  330. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.d.ts.map +1 -0
  331. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.js +2 -0
  332. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.js.map +1 -0
  333. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.ts +192 -0
  334. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin-dbg.js +2 -2
  335. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin-dbg.js.map +1 -1
  336. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.js +1 -1
  337. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.js.map +1 -1
  338. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.ts +2 -2
  339. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin-dbg.js +2 -2
  340. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin-dbg.js.map +1 -1
  341. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.js +1 -1
  342. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.js.map +1 -1
  343. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.ts +2 -2
  344. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin-dbg.js +2 -2
  345. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin-dbg.js.map +1 -1
  346. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.js +1 -1
  347. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.js.map +1 -1
  348. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.ts +2 -2
  349. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin-dbg.js +2 -2
  350. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin-dbg.js.map +1 -1
  351. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.js +1 -1
  352. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.js.map +1 -1
  353. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.ts +2 -2
  354. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin-dbg.js +2 -2
  355. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin-dbg.js.map +1 -1
  356. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.js +1 -1
  357. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.js.map +1 -1
  358. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.ts +2 -2
  359. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin-dbg.js +3 -4
  360. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin-dbg.js.map +1 -1
  361. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.d.ts.map +1 -1
  362. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.js +1 -1
  363. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.js.map +1 -1
  364. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.ts +3 -4
  365. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin-dbg.js +2 -2
  366. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin-dbg.js.map +1 -1
  367. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.js +1 -1
  368. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.js.map +1 -1
  369. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.ts +2 -2
  370. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin-dbg.js +4 -8
  371. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin-dbg.js.map +1 -1
  372. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.d.ts.map +1 -1
  373. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.js +1 -1
  374. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.js.map +1 -1
  375. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.ts +4 -8
  376. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin-dbg.js +3 -4
  377. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin-dbg.js.map +1 -1
  378. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.d.ts.map +1 -1
  379. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.js +1 -1
  380. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.js.map +1 -1
  381. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.ts +3 -4
  382. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin-dbg.js +2 -2
  383. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin-dbg.js.map +1 -1
  384. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.js +1 -1
  385. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.js.map +1 -1
  386. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.ts +2 -2
  387. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin-dbg.js +2 -2
  388. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin-dbg.js.map +1 -1
  389. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.js +1 -1
  390. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.js.map +1 -1
  391. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.ts +2 -2
  392. package/src/nz/co/siliconst/ui5/metaui/swagger/OpenApiExtractor-dbg.js +146 -0
  393. package/src/nz/co/siliconst/ui5/metaui/swagger/OpenApiExtractor-dbg.js.map +1 -0
  394. package/src/nz/co/siliconst/ui5/metaui/swagger/OpenApiExtractor.d.ts +27 -0
  395. package/src/nz/co/siliconst/ui5/metaui/swagger/OpenApiExtractor.d.ts.map +1 -0
  396. package/src/nz/co/siliconst/ui5/metaui/swagger/OpenApiExtractor.js +2 -0
  397. package/src/nz/co/siliconst/ui5/metaui/swagger/OpenApiExtractor.js.map +1 -0
  398. package/src/nz/co/siliconst/ui5/metaui/swagger/OpenApiExtractor.ts +160 -0
  399. package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerBuilder-dbg.js +0 -226
  400. package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerBuilder-dbg.js.map +0 -1
  401. package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerBuilder.d.ts +0 -63
  402. package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerBuilder.d.ts.map +0 -1
  403. package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerBuilder.js +0 -2
  404. package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerBuilder.js.map +0 -1
  405. package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerBuilder.ts +0 -233
  406. package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerRefResolver-dbg.js +0 -43
  407. package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerRefResolver-dbg.js.map +0 -1
  408. package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerRefResolver.d.ts +0 -15
  409. package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerRefResolver.d.ts.map +0 -1
  410. package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerRefResolver.js +0 -2
  411. package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerRefResolver.js.map +0 -1
  412. package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerRefResolver.ts +0 -37
  413. package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerTypeMapper-dbg.js +0 -37
  414. package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerTypeMapper-dbg.js.map +0 -1
  415. package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerTypeMapper.d.ts +0 -18
  416. package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerTypeMapper.d.ts.map +0 -1
  417. package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerTypeMapper.js.map +0 -1
  418. package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerTypeMapper.ts +0 -28
  419. package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerUIMapper-dbg.js.map +0 -1
  420. package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerUIMapper.d.ts +0 -27
  421. package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerUIMapper.d.ts.map +0 -1
  422. package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerUIMapper.js +0 -2
  423. package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerUIMapper.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TableLayout-dbg.js","names":["SchemaNormalizer","___core_SchemaNormalizer","Logger","___utils_Logger","TableLayout","render","schema","modelName","engine","onSubmit","bindingPath","type","items","properties","Error","tableTitle","title","actualModelName","actualPath","table","Table","headerToolbar","Toolbar","content","Title","text","ToolbarSpacer","isEditable","Button","icon","press","oEvent","btn","getSource","tbl","getParent","model","getModel","info","getBindingInfo","path","rawData","getProperty","data","Array","isArray","newData","setProperty","onChange","replace","fixedLayout","mode","delete","item","getParameter","getBindingContext","getPath","splitPaths","split","index","parseInt","pop","arrayPath","join","splice","templateCells","props","layoutElements","uiLayout","forEach","element","scope","meta","fieldMeta","propKey","resolveScope","error","addColumn","Column","header","Text","label","ui","demandPopin","isKey","minScreenWidth","popinDisplay","effectiveMeta","widget","control","generateField","push","warn","debug","Object","keys","key","column","msg","message","showErrorPopup","rowTemplate","ColumnListItem","cells","bindItems","template","templateShareable","__exports","__esModule"],"sources":["TableLayout.ts"],"sourcesContent":["/**\n * @file TableLayout.ts\n * @description Generates a responsive SAP Fiori Table layout for v2 schema.\n */\n\nimport Table from \"sap/m/Table\";\nimport Column from \"sap/m/Column\";\nimport Text from \"sap/m/Text\";\nimport ColumnListItem from \"sap/m/ColumnListItem\";\nimport Toolbar from \"sap/m/Toolbar\";\nimport Title from \"sap/m/Title\";\nimport ToolbarSpacer from \"sap/m/ToolbarSpacer\";\nimport Button from \"sap/m/Button\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\nimport Control from \"sap/ui/core/Control\";\nimport { IPropertyMetadata, ISchema, ILayoutElement } from \"../interfaces/ISchema\";\nimport { ILayoutManager } from \"../interfaces/ILayoutManager\";\nimport { Engine } from \"../core/Engine\";\nimport { SchemaNormalizer } from \"../core/SchemaNormalizer\";\nimport { Logger } from \"../utils/Logger\";\n\n/**\n * Layout Manager responsible for generating a responsive SAP Fiori Table.\n * It is automatically utilized by the Engine when the schema root or property is of type 'array'.\n * Includes built-in support for adding and deleting rows via dynamic data binding manipulation.\n * \n * @namespace nz.co.siliconst.ui5.metaui.layouts\n * @public\n */\nexport class TableLayout implements ILayoutManager {\n /**\n * Renders the JSON Schema array properties into a UI5 Table.\n * \n * @param schema The active JSON schema array definition.\n * @param modelName The UI5 JSONModel name used for data binding.\n * @param engine The central orchestrator for delegating column plugin generation.\n * @param onSubmit Optional submit hook.\n * @param bindingPath The JSON path representing the array within the payload.\n * @returns {Control} The generated sap.m.Table control.\n * @throws {Error} If the provided schema is not of type 'array'.\n */\n public render(schema: ISchema, modelName: string, engine: Engine, onSubmit?: () => void, bindingPath: string = \"/\"): Control {\n if (schema.type !== \"array\" || !schema.items || !schema.items.properties) {\n throw new Error(\"[MetaUI] TableLayout requires an array schema with items.properties.\");\n }\n\n const tableTitle = schema.title || \"Table\";\n const actualModelName = modelName;\n const actualPath = bindingPath;\n\n const table = new Table({\n headerToolbar: new Toolbar({\n content: [\n new Title({ text: tableTitle }),\n new ToolbarSpacer(),\n ...(!engine.isEditable ? [] : [\n new Button({\n text: \"Add Row\",\n icon: \"sap-icon://add\",\n press: (oEvent: sap.ui.base.Event) => {\n const btn = oEvent.getSource();\n const tbl = btn.getParent().getParent() as Table;\n const model = tbl.getModel(actualModelName) as JSONModel;\n const info = tbl.getBindingInfo(\"items\");\n if (!info || !info.path) return;\n\n const rawData = model.getProperty(info.path);\n const data = Array.isArray(rawData) ? rawData : [];\n const newData = [...data, {}];\n model.setProperty(info.path, newData);\n\n // CRITICAL: Notify the engine so it extracts payload and triggers liveUpdate\n if (engine.onChange) {\n engine.onChange(true, actualPath.replace(/^\\//, \"\"));\n }\n }\n })\n ])\n ]\n }),\n fixedLayout: false,\n mode: !engine.isEditable ? \"None\" : \"Delete\",\n delete: (oEvent: sap.ui.base.Event) => {\n const item = oEvent.getParameter(\"listItem\");\n const path = item.getBindingContext(actualModelName).getPath();\n const model = item.getModel(actualModelName) as JSONModel;\n\n const splitPaths = path.split(\"/\");\n const index = parseInt(splitPaths.pop() || \"0\", 10);\n let arrayPath = splitPaths.join(\"/\");\n if (arrayPath === \"\") arrayPath = \"/\";\n\n const rawData = model.getProperty(arrayPath);\n const data = Array.isArray(rawData) ? rawData : [];\n const newData = [...data];\n newData.splice(index, 1);\n model.setProperty(arrayPath, newData);\n\n // CRITICAL: Notify the engine so it extracts payload and triggers liveUpdate\n if (engine.onChange) {\n engine.onChange(true, actualPath.replace(/^\\//, \"\"));\n }\n }\n });\n\n const templateCells: Control[] = [];\n const props = schema.items.properties;\n const layoutElements = schema.uiLayout;\n\n if (layoutElements && Array.isArray(layoutElements)) {\n // Only render columns defined in uiLayout\n layoutElements.forEach((element: ILayoutElement) => {\n if (element.type === \"Control\" && element.scope) {\n const { meta: fieldMeta, bindingPath, propKey } = SchemaNormalizer.resolveScope(\n { type: \"object\", properties: props } as ISchema, \n element.scope\n );\n \n if (!fieldMeta) {\n Logger.error(`[MetaUI] Property '${propKey}' not found in schema definitions for Table.`, \"\", \"TableLayout\");\n } else {\n // The architectural boundary: Table Layout orchestrates the columns and aggregation binding,\n // but delegates the actual cell rendering to the Engine's Field Plugins.\n table.addColumn(new Column({\n header: new Text({ text: element.label || fieldMeta.ui?.label || propKey }),\n demandPopin: !fieldMeta.ui?.isKey,\n minScreenWidth: fieldMeta.ui?.isKey ? \"\" : \"Tablet\",\n popinDisplay: \"Inline\"\n }));\n\n const effectiveMeta = { ...fieldMeta };\n if (element.widget) {\n effectiveMeta.ui = { ...fieldMeta.ui, widget: element.widget };\n }\n\n // We pass the activeModel as actualModelName down. But the path must be relative to the \n // table row binding context, so we just use the bindingPath (e.g. \"id\" or \"header/id\")\n const control = engine.generateField(effectiveMeta, bindingPath, actualModelName || \"meta\", true);\n templateCells.push(control);\n }\n } else {\n Logger.warn(`[MetaUI] Unsupported layout element type '${element.type}' in Table.`, \"\", \"TableLayout\");\n }\n });\n } else {\n Logger.debug(\"[MetaUI TableLayout]\", \"No uiLayout provided. Falling back to rendering all properties as columns.\", \"TableLayout\");\n // Fallback: If no uiLayout is provided, render all properties as columns\n Object.keys(props).forEach((key) => {\n try {\n const fieldMeta = props[key];\n const isKey = !!fieldMeta.ui?.isKey;\n\n const column = new Column({\n header: new Text({ text: fieldMeta.ui?.label || key }),\n demandPopin: !isKey,\n minScreenWidth: isKey ? \"\" : \"Tablet\",\n popinDisplay: \"Inline\"\n });\n table.addColumn(column);\n\n const control = engine.generateField(fieldMeta, key, actualModelName || \"meta\", true);\n templateCells.push(control);\n } catch (error) {\n const msg = (error as Error).message;\n Logger.error(`[MetaUI] Failed to render fallback column ${key}`, msg, \"TableLayout\");\n Logger.showErrorPopup(`Failed to render fallback table column '${key}'.\\n\\nDetails: ${msg}`);\n templateCells.push(new Text({ text: \"Error\" }));\n }\n });\n }\n\n\n\n const rowTemplate = new ColumnListItem({\n cells: templateCells\n });\n\n table.bindItems({\n path: actualPath,\n model: actualModelName,\n template: rowTemplate,\n templateShareable: false\n });\n\n return table;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"TableLayout-dbg.js","names":["SchemaNormalizer","___core_SchemaNormalizer","Logger","___utils_Logger","TableLayout","render","schema","modelName","engine","onSubmit","bindingPath","itemsSchema","items","properties","ui","widget","$ref","debug","host","getSchemaDefinition","resolved","Object","keys","error","getMetadata","getName","type","Error","tableTitle","title","actualModelName","actualPath","table","Table","headerToolbar","Toolbar","content","Title","text","ToolbarSpacer","isEditable","Button","icon","press","oEvent","btn","getSource","tbl","getParent","model","getModel","info","getBindingInfo","path","rawData","getProperty","data","Array","isArray","newData","setProperty","onChange","replace","fixedLayout","mode","delete","item","getParameter","getBindingContext","getPath","splitPaths","split","index","parseInt","pop","arrayPath","join","splice","templateCells","props","layoutElements","uiLayout","forEach","element","scope","meta","fieldMeta","propKey","resolveScope","addColumn","Column","header","Text","label","demandPopin","isKey","minScreenWidth","popinDisplay","effectiveMeta","control","generateField","push","warn","key","column","msg","message","showErrorPopup","rowTemplate","ColumnListItem","cells","bindItems","template","templateShareable","__exports","__esModule"],"sources":["TableLayout.ts"],"sourcesContent":["/**\n * @file TableLayout.ts\n * @description Generates a responsive SAP Fiori Table layout for v2 schema.\n */\n\nimport Table from \"sap/m/Table\";\nimport Column from \"sap/m/Column\";\nimport Text from \"sap/m/Text\";\nimport ColumnListItem from \"sap/m/ColumnListItem\";\nimport Toolbar from \"sap/m/Toolbar\";\nimport Title from \"sap/m/Title\";\nimport ToolbarSpacer from \"sap/m/ToolbarSpacer\";\nimport Button from \"sap/m/Button\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\nimport Control from \"sap/ui/core/Control\";\nimport { IPropertyMetadata, ISchema, ILayoutElement } from \"../interfaces/ISchema\";\nimport { ILayoutManager } from \"../interfaces/ILayoutManager\";\nimport { Engine } from \"../core/Engine\";\nimport { SchemaNormalizer } from \"../core/SchemaNormalizer\";\nimport { Logger } from \"../utils/Logger\";\n\n/**\n * Layout Manager responsible for generating a responsive SAP Fiori Table.\n * It is automatically utilized by the Engine when the schema root or property is of type 'array'.\n * Includes built-in support for adding and deleting rows via dynamic data binding manipulation.\n * \n * @namespace nz.co.siliconst.ui5.metaui.layouts\n * @public\n */\nexport class TableLayout implements ILayoutManager {\n /**\n * Renders the JSON Schema array properties into a UI5 Table.\n * \n * @param schema The active JSON schema array definition.\n * @param modelName The UI5 JSONModel name used for data binding.\n * @param engine The central orchestrator for delegating column plugin generation.\n * @param onSubmit Optional submit hook.\n * @param bindingPath The JSON path representing the array within the payload.\n * @returns {Control} The generated sap.m.Table control.\n * @throws {Error} If the provided schema is not of type 'array'.\n */\n public render(schema: ISchema, modelName: string, engine: Engine, onSubmit?: () => void, bindingPath: string = \"/\"): Control {\n let itemsSchema = schema.items;\n if (itemsSchema && !itemsSchema.properties && itemsSchema.ui?.widget === \"reference\" && itemsSchema.$ref) {\n Logger.debug(`[MetaUI] TableLayout detecting reference widget for ${bindingPath}. Resolving ${itemsSchema.$ref}`, \"\", \"TableLayout\");\n if (engine.host && engine.host.getSchemaDefinition) {\n const resolved = engine.host.getSchemaDefinition(itemsSchema.$ref);\n Logger.debug(`[MetaUI] Resolved schema for ${itemsSchema.$ref}: ${!!resolved} ${resolved ? Object.keys(resolved) : \"\"}`, \"\", \"TableLayout\");\n if (resolved && resolved.properties) {\n itemsSchema = resolved;\n } else {\n Logger.error(`[MetaUI] TableLayout resolved schema but it has no properties!`, \"\", \"TableLayout\");\n }\n } else {\n Logger.error(`[MetaUI] TableLayout cannot resolve ${itemsSchema.$ref} because engine.host.getSchemaDefinition is missing! host: ${engine.host?.getMetadata().getName()}`, \"\", \"TableLayout\");\n }\n }\n\n if (schema.type !== \"array\" || !itemsSchema || !itemsSchema.properties) {\n Logger.error(`[MetaUI] TableLayout fatal error! schema.type: ${schema.type}, itemsSchema: ${!!itemsSchema}, properties: ${itemsSchema ? !!itemsSchema.properties : false}`, \"\", \"TableLayout\");\n throw new Error(\"[MetaUI] TableLayout requires an array schema with items.properties.\");\n }\n\n const tableTitle = schema.title || \"Table\";\n const actualModelName = modelName;\n const actualPath = bindingPath;\n\n const table = new Table({\n headerToolbar: new Toolbar({\n content: [\n new Title({ text: tableTitle }),\n new ToolbarSpacer(),\n ...(!engine.isEditable ? [] : [\n new Button({\n text: \"Add Row\",\n icon: \"sap-icon://add\",\n press: (oEvent: sap.ui.base.Event) => {\n const btn = oEvent.getSource();\n const tbl = btn.getParent().getParent() as Table;\n const model = tbl.getModel(actualModelName) as JSONModel;\n const info = tbl.getBindingInfo(\"items\");\n if (!info || !info.path) return;\n\n const rawData = model.getProperty(info.path);\n const data = Array.isArray(rawData) ? rawData : [];\n const newData = [...data, {}];\n model.setProperty(info.path, newData);\n\n // CRITICAL: Notify the engine so it extracts payload and triggers liveUpdate\n if (engine.onChange) {\n engine.onChange(true, actualPath.replace(/^\\//, \"\"));\n }\n }\n })\n ])\n ]\n }),\n fixedLayout: false,\n mode: !engine.isEditable ? \"None\" : \"Delete\",\n delete: (oEvent: sap.ui.base.Event) => {\n const item = oEvent.getParameter(\"listItem\");\n const path = item.getBindingContext(actualModelName).getPath();\n const model = item.getModel(actualModelName) as JSONModel;\n\n const splitPaths = path.split(\"/\");\n const index = parseInt(splitPaths.pop() || \"0\", 10);\n let arrayPath = splitPaths.join(\"/\");\n if (arrayPath === \"\") arrayPath = \"/\";\n\n const rawData = model.getProperty(arrayPath);\n const data = Array.isArray(rawData) ? rawData : [];\n const newData = [...data];\n newData.splice(index, 1);\n model.setProperty(arrayPath, newData);\n\n // CRITICAL: Notify the engine so it extracts payload and triggers liveUpdate\n if (engine.onChange) {\n engine.onChange(true, actualPath.replace(/^\\//, \"\"));\n }\n }\n });\n\n const templateCells: Control[] = [];\n const props = itemsSchema.properties;\n const layoutElements = schema.uiLayout;\n\n if (layoutElements && Array.isArray(layoutElements)) {\n // Only render columns defined in uiLayout\n layoutElements.forEach((element: ILayoutElement) => {\n if (element.type === \"Control\" && element.scope) {\n const { meta: fieldMeta, bindingPath, propKey } = SchemaNormalizer.resolveScope(\n { type: \"object\", properties: props } as ISchema, \n element.scope\n );\n \n if (!fieldMeta) {\n Logger.error(`[MetaUI] Property '${propKey}' not found in schema definitions for Table.`, \"\", \"TableLayout\");\n } else {\n // The architectural boundary: Table Layout orchestrates the columns and aggregation binding,\n // but delegates the actual cell rendering to the Engine's Field Plugins.\n table.addColumn(new Column({\n header: new Text({ text: element.label || fieldMeta.ui?.label || propKey }),\n demandPopin: !fieldMeta.ui?.isKey,\n minScreenWidth: fieldMeta.ui?.isKey ? \"\" : \"Tablet\",\n popinDisplay: \"Inline\"\n }));\n\n const effectiveMeta = { ...fieldMeta };\n if (element.widget) {\n effectiveMeta.ui = { ...fieldMeta.ui, widget: element.widget };\n }\n\n // We pass the activeModel as actualModelName down. But the path must be relative to the \n // table row binding context, so we just use the bindingPath (e.g. \"id\" or \"header/id\")\n const control = engine.generateField(effectiveMeta, bindingPath, actualModelName || \"meta\", true);\n templateCells.push(control);\n }\n } else {\n Logger.warn(`[MetaUI] Unsupported layout element type '${element.type}' in Table.`, \"\", \"TableLayout\");\n }\n });\n } else {\n Logger.debug(\"[MetaUI TableLayout]\", \"No uiLayout provided. Falling back to rendering all properties as columns.\", \"TableLayout\");\n // Fallback: If no uiLayout is provided, render all properties as columns\n Object.keys(props).forEach((key) => {\n try {\n const fieldMeta = props[key];\n const isKey = !!fieldMeta.ui?.isKey;\n\n const column = new Column({\n header: new Text({ text: fieldMeta.ui?.label || key }),\n demandPopin: !isKey,\n minScreenWidth: isKey ? \"\" : \"Tablet\",\n popinDisplay: \"Inline\"\n });\n table.addColumn(column);\n\n const control = engine.generateField(fieldMeta, key, actualModelName || \"meta\", true);\n templateCells.push(control);\n } catch (error) {\n const msg = (error as Error).message;\n Logger.error(`[MetaUI] Failed to render fallback column ${key}`, msg, \"TableLayout\");\n Logger.showErrorPopup(`Failed to render fallback table column '${key}'.\\n\\nDetails: ${msg}`);\n templateCells.push(new Text({ text: \"Error\" }));\n }\n });\n }\n\n\n\n const rowTemplate = new ColumnListItem({\n cells: templateCells\n });\n\n table.bindItems({\n path: actualPath,\n model: actualModelName,\n template: rowTemplate,\n templateShareable: false\n });\n\n return table;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"TableLayout.d.ts","sourceRoot":"../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,gDAAgD,CAAC;IAehE,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAC1C,OAAO,EAAqB,OAAO,EAAkB,MAAM,+CAA+C,CAAC;IAC3G,OAAO,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;IACtF,OAAO,EAAE,MAAM,EAAE,MAAM,wCAAwC,CAAC;IAIhE;;;;;;;OAOG;IACH,MAAa,WAAY,YAAW,cAAc;QAC9C;;;;;;;;;;WAUG;QACI,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,EAAE,WAAW,GAAE,MAAY,GAAG,OAAO;KAiJ/H;CAEA"}
1
+ {"version":3,"file":"TableLayout.d.ts","sourceRoot":"../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,gDAAgD,CAAC;IAehE,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAC1C,OAAO,EAAqB,OAAO,EAAkB,MAAM,+CAA+C,CAAC;IAC3G,OAAO,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;IACtF,OAAO,EAAE,MAAM,EAAE,MAAM,wCAAwC,CAAC;IAIhE;;;;;;;OAOG;IACH,MAAa,WAAY,YAAW,cAAc;QAC9C;;;;;;;;;;WAUG;QACI,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,EAAE,WAAW,GAAE,MAAY,GAAG,OAAO;KAkK/H;CAEA"}
@@ -1,2 +1,2 @@
1
- sap.ui.define(["sap/m/Table","sap/m/Column","sap/m/Text","sap/m/ColumnListItem","sap/m/Toolbar","sap/m/Title","sap/m/ToolbarSpacer","sap/m/Button","../core/SchemaNormalizer","../utils/Logger"],function(e,t,o,a,n,r,s,i,l,c){"use strict";const p=l["SchemaNormalizer"];const u=c["Logger"];class d{render(l,c,d,m,y="/"){if(l.type!=="array"||!l.items||!l.items.properties){throw new Error("[MetaUI] TableLayout requires an array schema with items.properties.")}const b=l.title||"Table";const g=c;const h=y;const f=new e({headerToolbar:new n({content:[new r({text:b}),new s,...!d.isEditable?[]:[new i({text:"Add Row",icon:"sap-icon://add",press:e=>{const t=e.getSource();const o=t.getParent().getParent();const a=o.getModel(g);const n=o.getBindingInfo("items");if(!n||!n.path)return;const r=a.getProperty(n.path);const s=Array.isArray(r)?r:[];const i=[...s,{}];a.setProperty(n.path,i);if(d.onChange){d.onChange(true,h.replace(/^\//,""))}}})]]}),fixedLayout:false,mode:!d.isEditable?"None":"Delete",delete:e=>{const t=e.getParameter("listItem");const o=t.getBindingContext(g).getPath();const a=t.getModel(g);const n=o.split("/");const r=parseInt(n.pop()||"0",10);let s=n.join("/");if(s==="")s="/";const i=a.getProperty(s);const l=Array.isArray(i)?i:[];const c=[...l];c.splice(r,1);a.setProperty(s,c);if(d.onChange){d.onChange(true,h.replace(/^\//,""))}}});const w=[];const T=l.items.properties;const L=l.uiLayout;if(L&&Array.isArray(L)){L.forEach(e=>{if(e.type==="Control"&&e.scope){const{meta:a,bindingPath:n,propKey:r}=p.resolveScope({type:"object",properties:T},e.scope);if(!a){u.error(`[MetaUI] Property '${r}' not found in schema definitions for Table.`,"","TableLayout")}else{f.addColumn(new t({header:new o({text:e.label||a.ui?.label||r}),demandPopin:!a.ui?.isKey,minScreenWidth:a.ui?.isKey?"":"Tablet",popinDisplay:"Inline"}));const s={...a};if(e.widget){s.ui={...a.ui,widget:e.widget}}const i=d.generateField(s,n,g||"meta",true);w.push(i)}}else{u.warn(`[MetaUI] Unsupported layout element type '${e.type}' in Table.`,"","TableLayout")}})}else{u.debug("[MetaUI TableLayout]","No uiLayout provided. Falling back to rendering all properties as columns.","TableLayout");Object.keys(T).forEach(e=>{try{const a=T[e];const n=!!a.ui?.isKey;const r=new t({header:new o({text:a.ui?.label||e}),demandPopin:!n,minScreenWidth:n?"":"Tablet",popinDisplay:"Inline"});f.addColumn(r);const s=d.generateField(a,e,g||"meta",true);w.push(s)}catch(t){const a=t.message;u.error(`[MetaUI] Failed to render fallback column ${e}`,a,"TableLayout");u.showErrorPopup(`Failed to render fallback table column '${e}'.\n\nDetails: ${a}`);w.push(new o({text:"Error"}))}})}const P=new a({cells:w});f.bindItems({path:h,model:g,template:P,templateShareable:false});return f}}var m={__esModule:true};m.TableLayout=d;return m});
1
+ sap.ui.define(["sap/m/Table","sap/m/Column","sap/m/Text","sap/m/ColumnListItem","sap/m/Toolbar","sap/m/Title","sap/m/ToolbarSpacer","sap/m/Button","../core/SchemaNormalizer","../utils/Logger"],function(e,t,a,o,r,n,s,i,l,c){"use strict";const p=l["SchemaNormalizer"];const u=c["Logger"];class d{render(l,c,d,m,y="/"){let b=l.items;if(b&&!b.properties&&b.ui?.widget==="reference"&&b.$ref){u.debug(`[MetaUI] TableLayout detecting reference widget for ${y}. Resolving ${b.$ref}`,"","TableLayout");if(d.host&&d.host.getSchemaDefinition){const e=d.host.getSchemaDefinition(b.$ref);u.debug(`[MetaUI] Resolved schema for ${b.$ref}: ${!!e} ${e?Object.keys(e):""}`,"","TableLayout");if(e&&e.properties){b=e}else{u.error(`[MetaUI] TableLayout resolved schema but it has no properties!`,"","TableLayout")}}else{u.error(`[MetaUI] TableLayout cannot resolve ${b.$ref} because engine.host.getSchemaDefinition is missing! host: ${d.host?.getMetadata().getName()}`,"","TableLayout")}}if(l.type!=="array"||!b||!b.properties){u.error(`[MetaUI] TableLayout fatal error! schema.type: ${l.type}, itemsSchema: ${!!b}, properties: ${b?!!b.properties:false}`,"","TableLayout");throw new Error("[MetaUI] TableLayout requires an array schema with items.properties.")}const g=l.title||"Table";const h=c;const f=y;const T=new e({headerToolbar:new r({content:[new n({text:g}),new s,...!d.isEditable?[]:[new i({text:"Add Row",icon:"sap-icon://add",press:e=>{const t=e.getSource();const a=t.getParent().getParent();const o=a.getModel(h);const r=a.getBindingInfo("items");if(!r||!r.path)return;const n=o.getProperty(r.path);const s=Array.isArray(n)?n:[];const i=[...s,{}];o.setProperty(r.path,i);if(d.onChange){d.onChange(true,f.replace(/^\//,""))}}})]]}),fixedLayout:false,mode:!d.isEditable?"None":"Delete",delete:e=>{const t=e.getParameter("listItem");const a=t.getBindingContext(h).getPath();const o=t.getModel(h);const r=a.split("/");const n=parseInt(r.pop()||"0",10);let s=r.join("/");if(s==="")s="/";const i=o.getProperty(s);const l=Array.isArray(i)?i:[];const c=[...l];c.splice(n,1);o.setProperty(s,c);if(d.onChange){d.onChange(true,f.replace(/^\//,""))}}});const w=[];const L=b.properties;const $=l.uiLayout;if($&&Array.isArray($)){$.forEach(e=>{if(e.type==="Control"&&e.scope){const{meta:o,bindingPath:r,propKey:n}=p.resolveScope({type:"object",properties:L},e.scope);if(!o){u.error(`[MetaUI] Property '${n}' not found in schema definitions for Table.`,"","TableLayout")}else{T.addColumn(new t({header:new a({text:e.label||o.ui?.label||n}),demandPopin:!o.ui?.isKey,minScreenWidth:o.ui?.isKey?"":"Tablet",popinDisplay:"Inline"}));const s={...o};if(e.widget){s.ui={...o.ui,widget:e.widget}}const i=d.generateField(s,r,h||"meta",true);w.push(i)}}else{u.warn(`[MetaUI] Unsupported layout element type '${e.type}' in Table.`,"","TableLayout")}})}else{u.debug("[MetaUI TableLayout]","No uiLayout provided. Falling back to rendering all properties as columns.","TableLayout");Object.keys(L).forEach(e=>{try{const o=L[e];const r=!!o.ui?.isKey;const n=new t({header:new a({text:o.ui?.label||e}),demandPopin:!r,minScreenWidth:r?"":"Tablet",popinDisplay:"Inline"});T.addColumn(n);const s=d.generateField(o,e,h||"meta",true);w.push(s)}catch(t){const o=t.message;u.error(`[MetaUI] Failed to render fallback column ${e}`,o,"TableLayout");u.showErrorPopup(`Failed to render fallback table column '${e}'.\n\nDetails: ${o}`);w.push(new a({text:"Error"}))}})}const I=new o({cells:w});T.bindItems({path:f,model:h,template:I,templateShareable:false});return T}}var m={__esModule:true};m.TableLayout=d;return m});
2
2
  //# sourceMappingURL=TableLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableLayout.js","names":["SchemaNormalizer","___core_SchemaNormalizer","Logger","___utils_Logger","TableLayout","render","schema","modelName","engine","onSubmit","bindingPath","type","items","properties","Error","tableTitle","title","actualModelName","actualPath","table","Table","headerToolbar","Toolbar","content","Title","text","ToolbarSpacer","isEditable","Button","icon","press","oEvent","btn","getSource","tbl","getParent","model","getModel","info","getBindingInfo","path","rawData","getProperty","data","Array","isArray","newData","setProperty","onChange","replace","fixedLayout","mode","delete","item","getParameter","getBindingContext","getPath","splitPaths","split","index","parseInt","pop","arrayPath","join","splice","templateCells","props","layoutElements","uiLayout","forEach","element","scope","meta","fieldMeta","propKey","resolveScope","error","addColumn","Column","header","Text","label","ui","demandPopin","isKey","minScreenWidth","popinDisplay","effectiveMeta","widget","control","generateField","push","warn","debug","Object","keys","key","column","msg","message","showErrorPopup","rowTemplate","ColumnListItem","cells","bindItems","template","templateShareable","__exports","__esModule"],"sources":["TableLayout.ts"],"sourcesContent":["/**\n * @file TableLayout.ts\n * @description Generates a responsive SAP Fiori Table layout for v2 schema.\n */\n\nimport Table from \"sap/m/Table\";\nimport Column from \"sap/m/Column\";\nimport Text from \"sap/m/Text\";\nimport ColumnListItem from \"sap/m/ColumnListItem\";\nimport Toolbar from \"sap/m/Toolbar\";\nimport Title from \"sap/m/Title\";\nimport ToolbarSpacer from \"sap/m/ToolbarSpacer\";\nimport Button from \"sap/m/Button\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\nimport Control from \"sap/ui/core/Control\";\nimport { IPropertyMetadata, ISchema, ILayoutElement } from \"../interfaces/ISchema\";\nimport { ILayoutManager } from \"../interfaces/ILayoutManager\";\nimport { Engine } from \"../core/Engine\";\nimport { SchemaNormalizer } from \"../core/SchemaNormalizer\";\nimport { Logger } from \"../utils/Logger\";\n\n/**\n * Layout Manager responsible for generating a responsive SAP Fiori Table.\n * It is automatically utilized by the Engine when the schema root or property is of type 'array'.\n * Includes built-in support for adding and deleting rows via dynamic data binding manipulation.\n * \n * @namespace nz.co.siliconst.ui5.metaui.layouts\n * @public\n */\nexport class TableLayout implements ILayoutManager {\n /**\n * Renders the JSON Schema array properties into a UI5 Table.\n * \n * @param schema The active JSON schema array definition.\n * @param modelName The UI5 JSONModel name used for data binding.\n * @param engine The central orchestrator for delegating column plugin generation.\n * @param onSubmit Optional submit hook.\n * @param bindingPath The JSON path representing the array within the payload.\n * @returns {Control} The generated sap.m.Table control.\n * @throws {Error} If the provided schema is not of type 'array'.\n */\n public render(schema: ISchema, modelName: string, engine: Engine, onSubmit?: () => void, bindingPath: string = \"/\"): Control {\n if (schema.type !== \"array\" || !schema.items || !schema.items.properties) {\n throw new Error(\"[MetaUI] TableLayout requires an array schema with items.properties.\");\n }\n\n const tableTitle = schema.title || \"Table\";\n const actualModelName = modelName;\n const actualPath = bindingPath;\n\n const table = new Table({\n headerToolbar: new Toolbar({\n content: [\n new Title({ text: tableTitle }),\n new ToolbarSpacer(),\n ...(!engine.isEditable ? [] : [\n new Button({\n text: \"Add Row\",\n icon: \"sap-icon://add\",\n press: (oEvent: sap.ui.base.Event) => {\n const btn = oEvent.getSource();\n const tbl = btn.getParent().getParent() as Table;\n const model = tbl.getModel(actualModelName) as JSONModel;\n const info = tbl.getBindingInfo(\"items\");\n if (!info || !info.path) return;\n\n const rawData = model.getProperty(info.path);\n const data = Array.isArray(rawData) ? rawData : [];\n const newData = [...data, {}];\n model.setProperty(info.path, newData);\n\n // CRITICAL: Notify the engine so it extracts payload and triggers liveUpdate\n if (engine.onChange) {\n engine.onChange(true, actualPath.replace(/^\\//, \"\"));\n }\n }\n })\n ])\n ]\n }),\n fixedLayout: false,\n mode: !engine.isEditable ? \"None\" : \"Delete\",\n delete: (oEvent: sap.ui.base.Event) => {\n const item = oEvent.getParameter(\"listItem\");\n const path = item.getBindingContext(actualModelName).getPath();\n const model = item.getModel(actualModelName) as JSONModel;\n\n const splitPaths = path.split(\"/\");\n const index = parseInt(splitPaths.pop() || \"0\", 10);\n let arrayPath = splitPaths.join(\"/\");\n if (arrayPath === \"\") arrayPath = \"/\";\n\n const rawData = model.getProperty(arrayPath);\n const data = Array.isArray(rawData) ? rawData : [];\n const newData = [...data];\n newData.splice(index, 1);\n model.setProperty(arrayPath, newData);\n\n // CRITICAL: Notify the engine so it extracts payload and triggers liveUpdate\n if (engine.onChange) {\n engine.onChange(true, actualPath.replace(/^\\//, \"\"));\n }\n }\n });\n\n const templateCells: Control[] = [];\n const props = schema.items.properties;\n const layoutElements = schema.uiLayout;\n\n if (layoutElements && Array.isArray(layoutElements)) {\n // Only render columns defined in uiLayout\n layoutElements.forEach((element: ILayoutElement) => {\n if (element.type === \"Control\" && element.scope) {\n const { meta: fieldMeta, bindingPath, propKey } = SchemaNormalizer.resolveScope(\n { type: \"object\", properties: props } as ISchema, \n element.scope\n );\n \n if (!fieldMeta) {\n Logger.error(`[MetaUI] Property '${propKey}' not found in schema definitions for Table.`, \"\", \"TableLayout\");\n } else {\n // The architectural boundary: Table Layout orchestrates the columns and aggregation binding,\n // but delegates the actual cell rendering to the Engine's Field Plugins.\n table.addColumn(new Column({\n header: new Text({ text: element.label || fieldMeta.ui?.label || propKey }),\n demandPopin: !fieldMeta.ui?.isKey,\n minScreenWidth: fieldMeta.ui?.isKey ? \"\" : \"Tablet\",\n popinDisplay: \"Inline\"\n }));\n\n const effectiveMeta = { ...fieldMeta };\n if (element.widget) {\n effectiveMeta.ui = { ...fieldMeta.ui, widget: element.widget };\n }\n\n // We pass the activeModel as actualModelName down. But the path must be relative to the \n // table row binding context, so we just use the bindingPath (e.g. \"id\" or \"header/id\")\n const control = engine.generateField(effectiveMeta, bindingPath, actualModelName || \"meta\", true);\n templateCells.push(control);\n }\n } else {\n Logger.warn(`[MetaUI] Unsupported layout element type '${element.type}' in Table.`, \"\", \"TableLayout\");\n }\n });\n } else {\n Logger.debug(\"[MetaUI TableLayout]\", \"No uiLayout provided. Falling back to rendering all properties as columns.\", \"TableLayout\");\n // Fallback: If no uiLayout is provided, render all properties as columns\n Object.keys(props).forEach((key) => {\n try {\n const fieldMeta = props[key];\n const isKey = !!fieldMeta.ui?.isKey;\n\n const column = new Column({\n header: new Text({ text: fieldMeta.ui?.label || key }),\n demandPopin: !isKey,\n minScreenWidth: isKey ? \"\" : \"Tablet\",\n popinDisplay: \"Inline\"\n });\n table.addColumn(column);\n\n const control = engine.generateField(fieldMeta, key, actualModelName || \"meta\", true);\n templateCells.push(control);\n } catch (error) {\n const msg = (error as Error).message;\n Logger.error(`[MetaUI] Failed to render fallback column ${key}`, msg, \"TableLayout\");\n Logger.showErrorPopup(`Failed to render fallback table column '${key}'.\\n\\nDetails: ${msg}`);\n templateCells.push(new Text({ text: \"Error\" }));\n }\n });\n }\n\n\n\n const rowTemplate = new ColumnListItem({\n cells: templateCells\n });\n\n table.bindItems({\n path: actualPath,\n model: actualModelName,\n template: rowTemplate,\n templateShareable: false\n });\n\n return table;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"TableLayout.js","names":["SchemaNormalizer","___core_SchemaNormalizer","Logger","___utils_Logger","TableLayout","render","schema","modelName","engine","onSubmit","bindingPath","itemsSchema","items","properties","ui","widget","$ref","debug","host","getSchemaDefinition","resolved","Object","keys","error","getMetadata","getName","type","Error","tableTitle","title","actualModelName","actualPath","table","Table","headerToolbar","Toolbar","content","Title","text","ToolbarSpacer","isEditable","Button","icon","press","oEvent","btn","getSource","tbl","getParent","model","getModel","info","getBindingInfo","path","rawData","getProperty","data","Array","isArray","newData","setProperty","onChange","replace","fixedLayout","mode","delete","item","getParameter","getBindingContext","getPath","splitPaths","split","index","parseInt","pop","arrayPath","join","splice","templateCells","props","layoutElements","uiLayout","forEach","element","scope","meta","fieldMeta","propKey","resolveScope","addColumn","Column","header","Text","label","demandPopin","isKey","minScreenWidth","popinDisplay","effectiveMeta","control","generateField","push","warn","key","column","msg","message","showErrorPopup","rowTemplate","ColumnListItem","cells","bindItems","template","templateShareable","__exports","__esModule"],"sources":["TableLayout.ts"],"sourcesContent":["/**\n * @file TableLayout.ts\n * @description Generates a responsive SAP Fiori Table layout for v2 schema.\n */\n\nimport Table from \"sap/m/Table\";\nimport Column from \"sap/m/Column\";\nimport Text from \"sap/m/Text\";\nimport ColumnListItem from \"sap/m/ColumnListItem\";\nimport Toolbar from \"sap/m/Toolbar\";\nimport Title from \"sap/m/Title\";\nimport ToolbarSpacer from \"sap/m/ToolbarSpacer\";\nimport Button from \"sap/m/Button\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\nimport Control from \"sap/ui/core/Control\";\nimport { IPropertyMetadata, ISchema, ILayoutElement } from \"../interfaces/ISchema\";\nimport { ILayoutManager } from \"../interfaces/ILayoutManager\";\nimport { Engine } from \"../core/Engine\";\nimport { SchemaNormalizer } from \"../core/SchemaNormalizer\";\nimport { Logger } from \"../utils/Logger\";\n\n/**\n * Layout Manager responsible for generating a responsive SAP Fiori Table.\n * It is automatically utilized by the Engine when the schema root or property is of type 'array'.\n * Includes built-in support for adding and deleting rows via dynamic data binding manipulation.\n * \n * @namespace nz.co.siliconst.ui5.metaui.layouts\n * @public\n */\nexport class TableLayout implements ILayoutManager {\n /**\n * Renders the JSON Schema array properties into a UI5 Table.\n * \n * @param schema The active JSON schema array definition.\n * @param modelName The UI5 JSONModel name used for data binding.\n * @param engine The central orchestrator for delegating column plugin generation.\n * @param onSubmit Optional submit hook.\n * @param bindingPath The JSON path representing the array within the payload.\n * @returns {Control} The generated sap.m.Table control.\n * @throws {Error} If the provided schema is not of type 'array'.\n */\n public render(schema: ISchema, modelName: string, engine: Engine, onSubmit?: () => void, bindingPath: string = \"/\"): Control {\n let itemsSchema = schema.items;\n if (itemsSchema && !itemsSchema.properties && itemsSchema.ui?.widget === \"reference\" && itemsSchema.$ref) {\n Logger.debug(`[MetaUI] TableLayout detecting reference widget for ${bindingPath}. Resolving ${itemsSchema.$ref}`, \"\", \"TableLayout\");\n if (engine.host && engine.host.getSchemaDefinition) {\n const resolved = engine.host.getSchemaDefinition(itemsSchema.$ref);\n Logger.debug(`[MetaUI] Resolved schema for ${itemsSchema.$ref}: ${!!resolved} ${resolved ? Object.keys(resolved) : \"\"}`, \"\", \"TableLayout\");\n if (resolved && resolved.properties) {\n itemsSchema = resolved;\n } else {\n Logger.error(`[MetaUI] TableLayout resolved schema but it has no properties!`, \"\", \"TableLayout\");\n }\n } else {\n Logger.error(`[MetaUI] TableLayout cannot resolve ${itemsSchema.$ref} because engine.host.getSchemaDefinition is missing! host: ${engine.host?.getMetadata().getName()}`, \"\", \"TableLayout\");\n }\n }\n\n if (schema.type !== \"array\" || !itemsSchema || !itemsSchema.properties) {\n Logger.error(`[MetaUI] TableLayout fatal error! schema.type: ${schema.type}, itemsSchema: ${!!itemsSchema}, properties: ${itemsSchema ? !!itemsSchema.properties : false}`, \"\", \"TableLayout\");\n throw new Error(\"[MetaUI] TableLayout requires an array schema with items.properties.\");\n }\n\n const tableTitle = schema.title || \"Table\";\n const actualModelName = modelName;\n const actualPath = bindingPath;\n\n const table = new Table({\n headerToolbar: new Toolbar({\n content: [\n new Title({ text: tableTitle }),\n new ToolbarSpacer(),\n ...(!engine.isEditable ? [] : [\n new Button({\n text: \"Add Row\",\n icon: \"sap-icon://add\",\n press: (oEvent: sap.ui.base.Event) => {\n const btn = oEvent.getSource();\n const tbl = btn.getParent().getParent() as Table;\n const model = tbl.getModel(actualModelName) as JSONModel;\n const info = tbl.getBindingInfo(\"items\");\n if (!info || !info.path) return;\n\n const rawData = model.getProperty(info.path);\n const data = Array.isArray(rawData) ? rawData : [];\n const newData = [...data, {}];\n model.setProperty(info.path, newData);\n\n // CRITICAL: Notify the engine so it extracts payload and triggers liveUpdate\n if (engine.onChange) {\n engine.onChange(true, actualPath.replace(/^\\//, \"\"));\n }\n }\n })\n ])\n ]\n }),\n fixedLayout: false,\n mode: !engine.isEditable ? \"None\" : \"Delete\",\n delete: (oEvent: sap.ui.base.Event) => {\n const item = oEvent.getParameter(\"listItem\");\n const path = item.getBindingContext(actualModelName).getPath();\n const model = item.getModel(actualModelName) as JSONModel;\n\n const splitPaths = path.split(\"/\");\n const index = parseInt(splitPaths.pop() || \"0\", 10);\n let arrayPath = splitPaths.join(\"/\");\n if (arrayPath === \"\") arrayPath = \"/\";\n\n const rawData = model.getProperty(arrayPath);\n const data = Array.isArray(rawData) ? rawData : [];\n const newData = [...data];\n newData.splice(index, 1);\n model.setProperty(arrayPath, newData);\n\n // CRITICAL: Notify the engine so it extracts payload and triggers liveUpdate\n if (engine.onChange) {\n engine.onChange(true, actualPath.replace(/^\\//, \"\"));\n }\n }\n });\n\n const templateCells: Control[] = [];\n const props = itemsSchema.properties;\n const layoutElements = schema.uiLayout;\n\n if (layoutElements && Array.isArray(layoutElements)) {\n // Only render columns defined in uiLayout\n layoutElements.forEach((element: ILayoutElement) => {\n if (element.type === \"Control\" && element.scope) {\n const { meta: fieldMeta, bindingPath, propKey } = SchemaNormalizer.resolveScope(\n { type: \"object\", properties: props } as ISchema, \n element.scope\n );\n \n if (!fieldMeta) {\n Logger.error(`[MetaUI] Property '${propKey}' not found in schema definitions for Table.`, \"\", \"TableLayout\");\n } else {\n // The architectural boundary: Table Layout orchestrates the columns and aggregation binding,\n // but delegates the actual cell rendering to the Engine's Field Plugins.\n table.addColumn(new Column({\n header: new Text({ text: element.label || fieldMeta.ui?.label || propKey }),\n demandPopin: !fieldMeta.ui?.isKey,\n minScreenWidth: fieldMeta.ui?.isKey ? \"\" : \"Tablet\",\n popinDisplay: \"Inline\"\n }));\n\n const effectiveMeta = { ...fieldMeta };\n if (element.widget) {\n effectiveMeta.ui = { ...fieldMeta.ui, widget: element.widget };\n }\n\n // We pass the activeModel as actualModelName down. But the path must be relative to the \n // table row binding context, so we just use the bindingPath (e.g. \"id\" or \"header/id\")\n const control = engine.generateField(effectiveMeta, bindingPath, actualModelName || \"meta\", true);\n templateCells.push(control);\n }\n } else {\n Logger.warn(`[MetaUI] Unsupported layout element type '${element.type}' in Table.`, \"\", \"TableLayout\");\n }\n });\n } else {\n Logger.debug(\"[MetaUI TableLayout]\", \"No uiLayout provided. Falling back to rendering all properties as columns.\", \"TableLayout\");\n // Fallback: If no uiLayout is provided, render all properties as columns\n Object.keys(props).forEach((key) => {\n try {\n const fieldMeta = props[key];\n const isKey = !!fieldMeta.ui?.isKey;\n\n const column = new Column({\n header: new Text({ text: fieldMeta.ui?.label || key }),\n demandPopin: !isKey,\n minScreenWidth: isKey ? \"\" : \"Tablet\",\n popinDisplay: \"Inline\"\n });\n table.addColumn(column);\n\n const control = engine.generateField(fieldMeta, key, actualModelName || \"meta\", true);\n templateCells.push(control);\n } catch (error) {\n const msg = (error as Error).message;\n Logger.error(`[MetaUI] Failed to render fallback column ${key}`, msg, \"TableLayout\");\n Logger.showErrorPopup(`Failed to render fallback table column '${key}'.\\n\\nDetails: ${msg}`);\n templateCells.push(new Text({ text: \"Error\" }));\n }\n });\n }\n\n\n\n const rowTemplate = new ColumnListItem({\n cells: templateCells\n });\n\n table.bindItems({\n path: actualPath,\n model: actualModelName,\n template: rowTemplate,\n templateShareable: false\n });\n\n return table;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -40,7 +40,24 @@ export class TableLayout implements ILayoutManager {
40
40
  * @throws {Error} If the provided schema is not of type 'array'.
41
41
  */
42
42
  public render(schema: ISchema, modelName: string, engine: Engine, onSubmit?: () => void, bindingPath: string = "/"): Control {
43
- if (schema.type !== "array" || !schema.items || !schema.items.properties) {
43
+ let itemsSchema = schema.items;
44
+ if (itemsSchema && !itemsSchema.properties && itemsSchema.ui?.widget === "reference" && itemsSchema.$ref) {
45
+ Logger.debug(`[MetaUI] TableLayout detecting reference widget for ${bindingPath}. Resolving ${itemsSchema.$ref}`, "", "TableLayout");
46
+ if (engine.host && engine.host.getSchemaDefinition) {
47
+ const resolved = engine.host.getSchemaDefinition(itemsSchema.$ref);
48
+ Logger.debug(`[MetaUI] Resolved schema for ${itemsSchema.$ref}: ${!!resolved} ${resolved ? Object.keys(resolved) : ""}`, "", "TableLayout");
49
+ if (resolved && resolved.properties) {
50
+ itemsSchema = resolved;
51
+ } else {
52
+ Logger.error(`[MetaUI] TableLayout resolved schema but it has no properties!`, "", "TableLayout");
53
+ }
54
+ } else {
55
+ Logger.error(`[MetaUI] TableLayout cannot resolve ${itemsSchema.$ref} because engine.host.getSchemaDefinition is missing! host: ${engine.host?.getMetadata().getName()}`, "", "TableLayout");
56
+ }
57
+ }
58
+
59
+ if (schema.type !== "array" || !itemsSchema || !itemsSchema.properties) {
60
+ Logger.error(`[MetaUI] TableLayout fatal error! schema.type: ${schema.type}, itemsSchema: ${!!itemsSchema}, properties: ${itemsSchema ? !!itemsSchema.properties : false}`, "", "TableLayout");
44
61
  throw new Error("[MetaUI] TableLayout requires an array schema with items.properties.");
45
62
  }
46
63
 
@@ -104,7 +121,7 @@ export class TableLayout implements ILayoutManager {
104
121
  });
105
122
 
106
123
  const templateCells: Control[] = [];
107
- const props = schema.items.properties;
124
+ const props = itemsSchema.properties;
108
125
  const layoutElements = schema.uiLayout;
109
126
 
110
127
  if (layoutElements && Array.isArray(layoutElements)) {
@@ -1,4 +1,4 @@
1
- sap.ui.define(["sap/ui/core/Core", "nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin", "nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin", "nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin", "nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin", "nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin", "nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin", "nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin", "nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin", "nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator", "nz/co/siliconst/ui5/metaui/utils/ExpressionBuilder", "nz/co/siliconst/ui5/metaui/layouts/FormLayout", "nz/co/siliconst/ui5/metaui/layouts/TableLayout", "nz/co/siliconst/ui5/metaui/layouts/WizardLayout", "nz/co/siliconst/ui5/metaui/layouts/CompactLayout"], function (Core, __nz_co_siliconst_ui5_metaui_plugins_controls_StringPlugin, __nz_co_siliconst_ui5_metaui_plugins_controls_NumberPlugin, __nz_co_siliconst_ui5_metaui_plugins_controls_BooleanPlugin, __nz_co_siliconst_ui5_metaui_plugins_controls_ObjectPlugin, __nz_co_siliconst_ui5_metaui_plugins_controls_ArrayPlugin, __nz_co_siliconst_ui5_metaui_plugins_controls_DropdownPlugin, __nz_co_siliconst_ui5_metaui_plugins_controls_MultiInputPlugin, __nz_co_siliconst_ui5_metaui_plugins_controls_DatePlugin, __nz_co_siliconst_ui5_metaui_core_DefaultLayoutGenerator, __nz_co_siliconst_ui5_metaui_utils_ExpressionBuilder, __nz_co_siliconst_ui5_metaui_layouts_FormLayout, __nz_co_siliconst_ui5_metaui_layouts_TableLayout, __nz_co_siliconst_ui5_metaui_layouts_WizardLayout, __nz_co_siliconst_ui5_metaui_layouts_CompactLayout) {
1
+ sap.ui.define(["sap/ui/core/Core", "nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin", "nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin", "nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin", "nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin", "nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin", "nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin", "nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin", "nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin", "nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator", "nz/co/siliconst/ui5/metaui/utils/ExpressionBuilder", "nz/co/siliconst/ui5/metaui/layouts/FormLayout", "nz/co/siliconst/ui5/metaui/layouts/TableLayout", "nz/co/siliconst/ui5/metaui/layouts/WizardLayout", "nz/co/siliconst/ui5/metaui/layouts/CompactLayout", "nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator", "nz/co/siliconst/ui5/metaui/ai/MockLLMProxy", "nz/co/siliconst/ui5/metaui/ai/RestLLMProxy", "nz/co/siliconst/ui5/metaui/ai/AIConfig"], function (Core, __nz_co_siliconst_ui5_metaui_plugins_controls_StringPlugin, __nz_co_siliconst_ui5_metaui_plugins_controls_NumberPlugin, __nz_co_siliconst_ui5_metaui_plugins_controls_BooleanPlugin, __nz_co_siliconst_ui5_metaui_plugins_controls_ObjectPlugin, __nz_co_siliconst_ui5_metaui_plugins_controls_ArrayPlugin, __nz_co_siliconst_ui5_metaui_plugins_controls_DropdownPlugin, __nz_co_siliconst_ui5_metaui_plugins_controls_MultiInputPlugin, __nz_co_siliconst_ui5_metaui_plugins_controls_DatePlugin, __nz_co_siliconst_ui5_metaui_core_DefaultLayoutGenerator, __nz_co_siliconst_ui5_metaui_utils_ExpressionBuilder, __nz_co_siliconst_ui5_metaui_layouts_FormLayout, __nz_co_siliconst_ui5_metaui_layouts_TableLayout, __nz_co_siliconst_ui5_metaui_layouts_WizardLayout, __nz_co_siliconst_ui5_metaui_layouts_CompactLayout, __nz_co_siliconst_ui5_metaui_ai_BaseAIGenerator, __nz_co_siliconst_ui5_metaui_ai_MockLLMProxy, __nz_co_siliconst_ui5_metaui_ai_RestLLMProxy, __nz_co_siliconst_ui5_metaui_ai_AIConfig) {
2
2
  "use strict";
3
3
 
4
4
  // Delegate to standard library registration
@@ -1 +1 @@
1
- {"version":3,"file":"library-dbg.js","names":["Core","initLibrary","name","version","dependencies","controls","elements","interfaces","noLibraryCSS","__exports","window","nz","co","siliconst","ui5","metaui"],"sources":["library.ts"],"sourcesContent":["/**\n * @file library.ts\n * @description Standard SAP UI5 library registration file. Exposes the MetaUI namespace \n * and automatically bootstraps the internal PluginRegistry.\n */\n\nimport Core from \"sap/ui/core/Core\";\n\n// Explicitly import core plugins to bundle them into library-preload.js\nimport \"nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin\";\nimport \"nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin\";\nimport \"nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin\";\nimport \"nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin\";\nimport \"nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin\";\nimport \"nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin\";\nimport \"nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin\";\nimport \"nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin\";\nimport \"nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator\";\nimport \"nz/co/siliconst/ui5/metaui/utils/ExpressionBuilder\";\n\n// Explicitly import core Layouts\nimport \"nz/co/siliconst/ui5/metaui/layouts/FormLayout\";\nimport \"nz/co/siliconst/ui5/metaui/layouts/TableLayout\";\nimport \"nz/co/siliconst/ui5/metaui/layouts/WizardLayout\";\nimport \"nz/co/siliconst/ui5/metaui/layouts/CompactLayout\";\n\n// Delegate to standard library registration\nCore.initLibrary({\n name: \"nz.co.siliconst.ui5.metaui\",\n version: \"1.0.0\",\n dependencies: [\n \"sap.ui.core\",\n \"sap.m\",\n \"sap.ui.layout\",\n \"sap.ui.table\"\n ],\n controls: [\n \"nz.co.siliconst.ui5.metaui.controls.DynamicHost\",\n \"nz.co.siliconst.ui5.metaui.controls.host.GeneratorHost\",\n \"nz.co.siliconst.ui5.metaui.controls.BaseHardwareControl\",\n \"nz.co.siliconst.ui5.metaui.controls.CameraControl\",\n \"nz.co.siliconst.ui5.metaui.controls.BarcodeScannerControl\",\n \"nz.co.siliconst.ui5.metaui.controls.SignatureControl\",\n \"nz.co.siliconst.ui5.metaui.controls.VoiceInputControl\",\n \"nz.co.siliconst.ui5.metaui.controls.GeolocationControl\",\n \"nz.co.siliconst.ui5.metaui.controls.RichTextControl\"\n ],\n elements: [],\n interfaces: [],\n noLibraryCSS: true\n});\n\n// Exporting window object safely for UI5 compatibility if needed\ndeclare global {\n interface Window {\n nz: {\n co: {\n siliconst: {\n ui5: {\n metaui: Record<string, unknown>;\n };\n };\n };\n };\n }\n}\n\nexport default window.nz.co.siliconst.ui5.metaui;\n"],"mappings":";;;EA0BA;EACAA,IAAI,CAACC,WAAW,CAAC;IACbC,IAAI,EAAE,4BAA4B;IAClCC,OAAO,EAAE,OAAO;IAChBC,YAAY,EAAE,CACV,aAAa,EACb,OAAO,EACP,eAAe,EACf,cAAc,CACjB;IACDC,QAAQ,EAAE,CACN,iDAAiD,EACjD,wDAAwD,EACxD,yDAAyD,EACzD,mDAAmD,EACnD,2DAA2D,EAC3D,sDAAsD,EACtD,uDAAuD,EACvD,wDAAwD,EACxD,qDAAqD,CACxD;IACDC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,EAAE;IACdC,YAAY,EAAE;EAClB,CAAC,CAAC;;EAEF;EAAA,IAAAC,SAAA,GAeeC,MAAM,CAACC,EAAE,CAACC,EAAE,CAACC,SAAS,CAACC,GAAG,CAACC,MAAM;EAAA,OAAAN,SAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"library-dbg.js","names":["Core","initLibrary","name","version","dependencies","controls","elements","interfaces","noLibraryCSS","__exports","window","nz","co","siliconst","ui5","metaui"],"sources":["library.ts"],"sourcesContent":["/**\n * @file library.ts\n * @description Standard SAP UI5 library registration file. Exposes the MetaUI namespace \n * and automatically bootstraps the internal PluginRegistry.\n */\n\nimport Core from \"sap/ui/core/Core\";\n\n// Explicitly import core plugins to bundle them into library-preload.js\nimport \"nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin\";\nimport \"nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin\";\nimport \"nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin\";\nimport \"nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin\";\nimport \"nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin\";\nimport \"nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin\";\nimport \"nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin\";\nimport \"nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin\";\nimport \"nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator\";\nimport \"nz/co/siliconst/ui5/metaui/utils/ExpressionBuilder\";\n\n// Explicitly import core Layouts\nimport \"nz/co/siliconst/ui5/metaui/layouts/FormLayout\";\nimport \"nz/co/siliconst/ui5/metaui/layouts/TableLayout\";\nimport \"nz/co/siliconst/ui5/metaui/layouts/WizardLayout\";\nimport \"nz/co/siliconst/ui5/metaui/layouts/CompactLayout\";\n\n// AI Inference\nimport \"nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator\";\nimport \"nz/co/siliconst/ui5/metaui/ai/MockLLMProxy\";\nimport \"nz/co/siliconst/ui5/metaui/ai/RestLLMProxy\";\nimport \"nz/co/siliconst/ui5/metaui/ai/AIConfig\";\n\n// Delegate to standard library registration\nCore.initLibrary({\n name: \"nz.co.siliconst.ui5.metaui\",\n version: \"1.0.0\",\n dependencies: [\n \"sap.ui.core\",\n \"sap.m\",\n \"sap.ui.layout\",\n \"sap.ui.table\"\n ],\n controls: [\n \"nz.co.siliconst.ui5.metaui.controls.DynamicHost\",\n \"nz.co.siliconst.ui5.metaui.controls.host.GeneratorHost\",\n \"nz.co.siliconst.ui5.metaui.controls.BaseHardwareControl\",\n \"nz.co.siliconst.ui5.metaui.controls.CameraControl\",\n \"nz.co.siliconst.ui5.metaui.controls.BarcodeScannerControl\",\n \"nz.co.siliconst.ui5.metaui.controls.SignatureControl\",\n \"nz.co.siliconst.ui5.metaui.controls.VoiceInputControl\",\n \"nz.co.siliconst.ui5.metaui.controls.GeolocationControl\",\n \"nz.co.siliconst.ui5.metaui.controls.RichTextControl\"\n ],\n elements: [],\n interfaces: [],\n noLibraryCSS: true\n});\n\n// Exporting window object safely for UI5 compatibility if needed\ndeclare global {\n interface Window {\n nz: {\n co: {\n siliconst: {\n ui5: {\n metaui: Record<string, unknown>;\n };\n };\n };\n };\n }\n}\n\nexport default window.nz.co.siliconst.ui5.metaui;\n"],"mappings":";;;EAgCA;EACAA,IAAI,CAACC,WAAW,CAAC;IACbC,IAAI,EAAE,4BAA4B;IAClCC,OAAO,EAAE,OAAO;IAChBC,YAAY,EAAE,CACV,aAAa,EACb,OAAO,EACP,eAAe,EACf,cAAc,CACjB;IACDC,QAAQ,EAAE,CACN,iDAAiD,EACjD,wDAAwD,EACxD,yDAAyD,EACzD,mDAAmD,EACnD,2DAA2D,EAC3D,sDAAsD,EACtD,uDAAuD,EACvD,wDAAwD,EACxD,qDAAqD,CACxD;IACDC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,EAAE;IACdC,YAAY,EAAE;EAClB,CAAC,CAAC;;EAEF;EAAA,IAAAC,SAAA,GAeeC,MAAM,CAACC,EAAE,CAACC,EAAE,CAACC,SAAS,CAACC,GAAG,CAACC,MAAM;EAAA,OAAAN,SAAA;AAAA","ignoreList":[]}