@siliconst/metaui 1.4.21 → 1.4.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/package.json +1 -1
- package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator-dbg.js +22 -20
- package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.d.ts +3 -3
- package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.ts +24 -16
- package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy.ts +2 -2
- package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants-dbg.js +111 -0
- package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.d.ts +95 -0
- package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.ts +101 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.ts +2 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl-dbg.js +2 -2
- package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.ts +3 -3
- package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost-dbg.js +47 -47
- package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.d.ts +6 -2
- package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.ts +62 -66
- package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl-dbg.js +0 -9
- package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.d.ts +0 -9
- package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.ts +3 -9
- package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl-dbg.js +0 -11
- package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.d.ts +0 -11
- package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.ts +2 -9
- package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl-dbg.js +2 -7
- package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.d.ts +0 -5
- package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.ts +3 -7
- package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl-dbg.js +1 -6
- package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.d.ts +0 -5
- package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.ts +9 -12
- package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost-dbg.js +170 -74
- package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.d.ts +29 -4
- package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.ts +179 -79
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate-dbg.js +41 -38
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.d.ts +5 -3
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.ts +46 -38
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate-dbg.js +41 -2
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.d.ts +6 -2
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.ts +47 -2
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.ts +8 -7
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate-dbg.js +7 -2
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.d.ts +5 -2
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.ts +10 -5
- package/src/nz/co/siliconst/ui5/metaui/core/Engine-dbg.js +215 -38
- package/src/nz/co/siliconst/ui5/metaui/core/Engine-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/Engine.d.ts +21 -3
- package/src/nz/co/siliconst/ui5/metaui/core/Engine.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/Engine.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/Engine.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/Engine.ts +218 -40
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator-dbg.js +86 -0
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.d.ts +16 -0
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.ts +82 -0
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer-dbg.js +142 -0
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.d.ts +24 -0
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.ts +147 -0
- package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager-dbg.js +8 -0
- package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.ts +7 -0
- package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry-dbg.js +153 -50
- package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.d.ts +15 -0
- package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.ts +164 -53
- package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine-dbg.js +310 -0
- package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.d.ts +73 -0
- package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.ts +307 -0
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer-dbg.js +35 -14
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.ts +40 -15
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator-dbg.js +15 -3
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.ts +15 -1
- package/src/nz/co/siliconst/ui5/metaui/core/StateManager-dbg.js +82 -16
- package/src/nz/co/siliconst/ui5/metaui/core/StateManager-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/StateManager.d.ts +16 -0
- package/src/nz/co/siliconst/ui5/metaui/core/StateManager.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/StateManager.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/StateManager.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/StateManager.ts +89 -17
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.d.ts +12 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.ts +13 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin-dbg.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin.d.ts +50 -0
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin.ts +49 -0
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.d.ts +23 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.ts +27 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout-dbg.js +31 -36
- package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.ts +26 -29
- package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout-dbg.js +47 -11
- package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.ts +48 -12
- package/src/nz/co/siliconst/ui5/metaui/library-preload.js +74 -58
- package/src/nz/co/siliconst/ui5/metaui/library-preload.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory-dbg.js +3 -2
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.ts +3 -2
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.ts +3 -3
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper-dbg.js +2 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.ts +4 -3
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine-dbg.js +2 -2
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine.ts +2 -2
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic-dbg.js +12 -8
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.ts +15 -11
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser-dbg.js +20 -12
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.d.ts +4 -4
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.ts +24 -16
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser-dbg.js +18 -11
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.d.ts +4 -4
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.ts +22 -15
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper-dbg.js +24 -100
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.d.ts +8 -72
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.ts +45 -108
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.ts +2 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin-dbg.js +24 -18
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.ts +23 -21
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin-dbg.js +5 -5
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.ts +7 -7
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin-dbg.js +129 -9
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.d.ts +46 -10
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.ts +145 -15
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin-dbg.js +35 -14
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.ts +38 -14
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin-dbg.js +4 -4
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.ts +5 -5
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin-dbg.js +69 -20
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.d.ts +2 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.ts +77 -21
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin-dbg.js +3 -3
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.ts +5 -5
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin-dbg.js +3 -3
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.ts +5 -5
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin-dbg.js +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.ts +6 -5
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin-dbg.js +8 -3
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.ts +10 -5
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin-dbg.js +3 -3
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.ts +4 -4
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin-dbg.js +3 -3
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.ts +5 -5
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin-dbg.js +4 -4
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.ts +5 -5
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin-dbg.js +3 -3
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.ts +4 -4
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin-dbg.js +7 -6
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.ts +9 -8
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin-dbg.js +2 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.ts +3 -3
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin-dbg.js +36 -21
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.ts +40 -23
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin-dbg.js +9 -6
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.ts +10 -8
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin-dbg.js +3 -3
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.ts +4 -4
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin-dbg.js +3 -3
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.ts +5 -5
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin-dbg.js +29 -12
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.d.ts +5 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.ts +30 -10
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin-dbg.js +4 -4
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.ts +5 -5
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin-dbg.js +4 -4
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.ts +5 -5
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin-dbg.js +3 -3
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.ts +4 -4
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin-dbg.js +3 -3
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.ts +5 -5
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin-dbg.js +3 -3
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.ts +4 -4
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin-dbg.js +2 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.ts +3 -3
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin-dbg.js +58 -56
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.d.ts +2 -5
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.ts +66 -55
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin-dbg.js +3 -3
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.ts +4 -4
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin-dbg.js +4 -4
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.ts +5 -5
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.ts +5 -3
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin-dbg.js +2 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.ts +6 -3
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin-dbg.js +30 -9
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.d.ts +2 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.ts +41 -13
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.ts +5 -3
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin-dbg.js +41 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin.d.ts +24 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin.ts +34 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin-dbg.js +41 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin.d.ts +24 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin.ts +34 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin-dbg.js +52 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin.d.ts +30 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin.ts +45 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin-dbg.js +52 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin.d.ts +30 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin.ts +45 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin-dbg.js +41 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin.d.ts +24 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin.ts +34 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin-dbg.js +40 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin.d.ts +28 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin.ts +34 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin-dbg.js +40 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin.d.ts +28 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin.ts +34 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin-dbg.js +40 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin.d.ts +28 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin.ts +34 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin-dbg.js +40 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin.d.ts +28 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin.ts +34 -0
- package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider-dbg.js +33 -0
- package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider.d.ts +14 -0
- package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider.ts +24 -0
- package/src/nz/co/siliconst/ui5/metaui/utils/Logger-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/utils/Logger.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/utils/Logger.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/utils/Logger.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine-dbg.js +0 -75
- package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.d.ts +0 -47
- package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.ts +0 -72
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import { ISchema, IPropertyMetadata } from "../interfaces/ISchema";
|
|
7
7
|
import { ILayoutManager } from "../interfaces/ILayoutManager";
|
|
8
8
|
import { IPlugin, IPluginValidationResult } from "../interfaces/IPlugin";
|
|
9
|
-
|
|
9
|
+
|
|
10
10
|
import { PluginRegistry } from "./PluginRegistry";
|
|
11
11
|
import Control from "sap/ui/core/Control";
|
|
12
12
|
import VBox from "sap/m/VBox";
|
|
@@ -15,6 +15,7 @@ import { Logger } from "../utils/Logger";
|
|
|
15
15
|
import { DefaultLayoutGenerator } from "./DefaultLayoutGenerator";
|
|
16
16
|
import Core from "sap/ui/core/Core";
|
|
17
17
|
import Messaging from "sap/ui/core/Messaging";
|
|
18
|
+
import { GlobalPipeline } from "./PipelineManager";
|
|
18
19
|
|
|
19
20
|
/**
|
|
20
21
|
* The Engine is responsible for translating a normalized schema into a physical UI5 layout.
|
|
@@ -27,16 +28,21 @@ import Messaging from "sap/ui/core/Messaging";
|
|
|
27
28
|
* @public
|
|
28
29
|
*/
|
|
29
30
|
export class Engine {
|
|
30
|
-
|
|
31
|
-
private conditionEngine: ConditionEngine | null = null;
|
|
31
|
+
|
|
32
32
|
|
|
33
33
|
/** Array of all instantiated plugins generated during the current build. */
|
|
34
34
|
private activePlugins: { plugin: IPlugin, path: string }[] = [];
|
|
35
35
|
|
|
36
|
+
/** Array of template plugins generated for table rows to prevent memory leaks during destruction. */
|
|
37
|
+
private templatePlugins: { plugin: IPlugin, path: string }[] = [];
|
|
38
|
+
|
|
36
39
|
/** Deterministic scope ID injected by the host control to prevent clone collisions. */
|
|
37
40
|
public engineScopeId?: string;
|
|
38
41
|
|
|
39
|
-
private activeModel?:
|
|
42
|
+
private activeModel?: unknown;
|
|
43
|
+
|
|
44
|
+
/** Ledger tracking local vs cross-field errors to prevent visual race conditions. */
|
|
45
|
+
private validationLedger: Map<string, { schemaError: string | null, policyError: string | null }> = new Map();
|
|
40
46
|
|
|
41
47
|
/** Reference to the GeneratorHost that instantiated this engine, for retrieving global definitions. */
|
|
42
48
|
public host?: unknown;
|
|
@@ -79,26 +85,22 @@ export class Engine {
|
|
|
79
85
|
* @param onChange Callback fired when field values change.
|
|
80
86
|
* @returns The generated root UI5 Control container.
|
|
81
87
|
*/
|
|
82
|
-
public build(schema: ISchema, model:
|
|
83
|
-
|
|
88
|
+
public build(schema: ISchema, model: unknown, modelName: string = "meta", onSubmit?: () => void, engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string, errorMessage?: string, controlId?: string) => void): Control {
|
|
89
|
+
|
|
84
90
|
this.activePlugins = [];
|
|
85
91
|
this.activeModel = model;
|
|
86
92
|
this.engineScopeId = engineScopeId;
|
|
87
93
|
this.onChange = (isValid: boolean, fieldKey?: string, errorMessage?: string, controlId?: string) => {
|
|
88
|
-
if (
|
|
89
|
-
this.
|
|
94
|
+
if (fieldKey) {
|
|
95
|
+
this.reportSchemaError(fieldKey, isValid ? null : errorMessage || "Invalid input");
|
|
90
96
|
}
|
|
97
|
+
|
|
91
98
|
if (onChange) {
|
|
92
99
|
onChange(isValid, fieldKey, errorMessage, controlId);
|
|
93
100
|
}
|
|
94
101
|
};
|
|
95
102
|
|
|
96
103
|
try {
|
|
97
|
-
// Intercept and synthesize a default layout if the developer/backend failed to provide one
|
|
98
|
-
if (DefaultLayoutGenerator.ensureLayout(schema)) {
|
|
99
|
-
Logger.warn("[MetaUI Engine] Missing 'uiLayout' array in schema. Synthesized a default layout mapping to prevent a blank render.");
|
|
100
|
-
}
|
|
101
|
-
|
|
102
104
|
const layoutStrategy = schema.layoutStrategy || (schema.type === "array" ? "table" : "form");
|
|
103
105
|
const layoutManager = this.pluginRegistry.getLayout(layoutStrategy);
|
|
104
106
|
|
|
@@ -134,13 +136,13 @@ export class Engine {
|
|
|
134
136
|
|
|
135
137
|
if (!isTemplate) {
|
|
136
138
|
this.activePlugins.push({ plugin, path: bindingPath });
|
|
139
|
+
} else {
|
|
140
|
+
this.templatePlugins.push({ plugin, path: bindingPath });
|
|
137
141
|
}
|
|
138
142
|
const scopeId = isTemplate ? undefined : this.engineScopeId;
|
|
139
143
|
const control = plugin.render(fieldMeta, bindingPath, modelName, scopeId, this.onChange, this.activeModel);
|
|
140
144
|
|
|
141
|
-
|
|
142
|
-
this.conditionEngine.registerPlugin(bindingPath, plugin);
|
|
143
|
-
}
|
|
145
|
+
|
|
144
146
|
|
|
145
147
|
return control;
|
|
146
148
|
} catch (error) {
|
|
@@ -163,6 +165,10 @@ export class Engine {
|
|
|
163
165
|
*/
|
|
164
166
|
public generateLayout(schema: ISchema, modelName: string, bindingPath?: string): Control {
|
|
165
167
|
try {
|
|
168
|
+
if (DefaultLayoutGenerator.ensureLayout(schema)) {
|
|
169
|
+
Logger.warn(`[MetaUI Engine] Missing 'uiLayout' array in sub-schema for ${bindingPath}. Synthesized a default layout mapping.`);
|
|
170
|
+
}
|
|
171
|
+
|
|
166
172
|
const layoutStrategy = schema.layoutStrategy || (schema.type === "array" ? "table" : "form");
|
|
167
173
|
const layoutManager = this.pluginRegistry.getLayout(layoutStrategy);
|
|
168
174
|
return layoutManager.render(schema, modelName, this, undefined, bindingPath);
|
|
@@ -186,8 +192,8 @@ export class Engine {
|
|
|
186
192
|
for (const item of this.activePlugins) {
|
|
187
193
|
try {
|
|
188
194
|
const result = item.plugin.validate();
|
|
189
|
-
if (applyVisualState
|
|
190
|
-
item.
|
|
195
|
+
if (applyVisualState) {
|
|
196
|
+
this.reportSchemaError(item.path, result.isValid ? null : result.errorMessage || "Invalid input");
|
|
191
197
|
}
|
|
192
198
|
|
|
193
199
|
if (!result.isValid) {
|
|
@@ -201,6 +207,102 @@ export class Engine {
|
|
|
201
207
|
Logger.error(`[MetaUI Engine] Error validating plugin at ${item.path}`, (error as Error).message);
|
|
202
208
|
}
|
|
203
209
|
}
|
|
210
|
+
|
|
211
|
+
// 2. Recursively validate arrays via StateManager payload traversing for Table layout rows
|
|
212
|
+
if (this.host && typeof (this.host as any).getStateManager === "function") {
|
|
213
|
+
const stateManager = (this.host as any).getStateManager();
|
|
214
|
+
if (stateManager) {
|
|
215
|
+
const payload = stateManager.extractPayload();
|
|
216
|
+
const schema = stateManager.getSchema ? stateManager.getSchema() : (this.host as any).getParsedSchema?.();
|
|
217
|
+
if (payload && schema) {
|
|
218
|
+
const arrayErrors = this.validatePayloadArrays(schema, payload, "");
|
|
219
|
+
if (applyVisualState) {
|
|
220
|
+
arrayErrors.forEach(err => {
|
|
221
|
+
if (err.fieldKey) {
|
|
222
|
+
this.reportSchemaError(err.fieldKey, err.isValid ? null : err.errorMessage || "Invalid input");
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
errors.push(...arrayErrors.filter(e => !e.isValid));
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
return errors;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
public onArrayMutated(arrayPath: string): void {
|
|
235
|
+
if (this.host && typeof (this.host as any).getStateManager === "function") {
|
|
236
|
+
const stateManager = (this.host as any).getStateManager();
|
|
237
|
+
if (stateManager && typeof stateManager.clearArrayMessages === "function") {
|
|
238
|
+
stateManager.clearArrayMessages(arrayPath);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
private validatePayloadArrays(schema: any, payload: any, currentPath: string): IPluginValidationResult[] {
|
|
244
|
+
const errors: IPluginValidationResult[] = [];
|
|
245
|
+
if (!schema || !payload || typeof payload !== "object") return errors;
|
|
246
|
+
|
|
247
|
+
if (schema.type === "object" && schema.properties) {
|
|
248
|
+
for (const key of Object.keys(schema.properties)) {
|
|
249
|
+
const propSchema = schema.properties[key];
|
|
250
|
+
if (payload[key] !== undefined) {
|
|
251
|
+
const childPath = currentPath ? `${currentPath}/${key}` : key;
|
|
252
|
+
errors.push(...this.validatePayloadArrays(propSchema, payload[key], childPath));
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
} else if (schema.type === "array" && schema.items && Array.isArray(payload)) {
|
|
256
|
+
payload.forEach((item, index) => {
|
|
257
|
+
const itemPath = currentPath ? `${currentPath}/${index}` : `${index}`;
|
|
258
|
+
if (schema.items.type === "object" && schema.items.properties) {
|
|
259
|
+
for (const key of Object.keys(schema.items.properties)) {
|
|
260
|
+
const propMeta = schema.items.properties[key];
|
|
261
|
+
const propPath = `${itemPath}/${key}`;
|
|
262
|
+
const val = item ? item[key] : undefined;
|
|
263
|
+
|
|
264
|
+
const validatorsToRun: string[] = [];
|
|
265
|
+
const argsMap: Record<string, unknown> = {};
|
|
266
|
+
|
|
267
|
+
if (propMeta.required) validatorsToRun.push("required");
|
|
268
|
+
if (propMeta.maxLength !== undefined) {
|
|
269
|
+
validatorsToRun.push("maxLength");
|
|
270
|
+
argsMap["maxLength"] = propMeta.maxLength;
|
|
271
|
+
}
|
|
272
|
+
if (propMeta.minLength !== undefined) {
|
|
273
|
+
validatorsToRun.push("minLength");
|
|
274
|
+
argsMap["minLength"] = propMeta.minLength;
|
|
275
|
+
}
|
|
276
|
+
if (propMeta.pattern !== undefined) {
|
|
277
|
+
validatorsToRun.push("pattern");
|
|
278
|
+
argsMap["pattern"] = { regex: propMeta.pattern };
|
|
279
|
+
}
|
|
280
|
+
if (propMeta.minimum !== undefined || propMeta.maximum !== undefined) {
|
|
281
|
+
validatorsToRun.push("range");
|
|
282
|
+
argsMap["range"] = { min: propMeta.minimum, max: propMeta.maximum };
|
|
283
|
+
}
|
|
284
|
+
const format = propMeta.ui?.format;
|
|
285
|
+
if (format === "email" || format === "url" || format === "iban") {
|
|
286
|
+
validatorsToRun.push(format);
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
if (validatorsToRun.length > 0) {
|
|
290
|
+
const res = GlobalPipeline.executeValidation(val, validatorsToRun, argsMap);
|
|
291
|
+
if (!res.isValid) {
|
|
292
|
+
errors.push({
|
|
293
|
+
isValid: false,
|
|
294
|
+
errorMessage: res.errorMessage,
|
|
295
|
+
fieldKey: propPath,
|
|
296
|
+
fieldLabel: propMeta.ui?.label || key
|
|
297
|
+
});
|
|
298
|
+
} else {
|
|
299
|
+
errors.push({ isValid: true, fieldKey: propPath }); // Push successful state to clear old errors
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
});
|
|
305
|
+
}
|
|
204
306
|
return errors;
|
|
205
307
|
}
|
|
206
308
|
|
|
@@ -212,45 +314,121 @@ export class Engine {
|
|
|
212
314
|
* @returns {IPlugin | undefined} The plugin instance, or undefined if not found.
|
|
213
315
|
*/
|
|
214
316
|
public getPluginByPath(path: string): import("../interfaces/IPlugin").IPlugin | undefined {
|
|
215
|
-
const cleanPath = path.
|
|
216
|
-
const match = this.activePlugins.find(p => p.path
|
|
317
|
+
const cleanPath = path.replace(/^\//, "");
|
|
318
|
+
const match = this.activePlugins.find(p => p.path.replace(/^\//, "") === cleanPath);
|
|
217
319
|
return match ? match.plugin : undefined;
|
|
218
320
|
}
|
|
219
321
|
|
|
322
|
+
/**
|
|
323
|
+
* Reports a localized schema validation error to the coordinator ledger.
|
|
324
|
+
*/
|
|
325
|
+
public reportSchemaError(fieldPath: string, errorMessage: string | null): void {
|
|
326
|
+
const cleanPath = fieldPath.replace(/^\//, "");
|
|
327
|
+
if (!this.validationLedger.has(cleanPath)) {
|
|
328
|
+
this.validationLedger.set(cleanPath, { schemaError: null, policyError: null });
|
|
329
|
+
}
|
|
330
|
+
this.validationLedger.get(cleanPath)!.schemaError = errorMessage;
|
|
331
|
+
this.resolveVisualState(cleanPath);
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
/**
|
|
335
|
+
* Reports a cross-field policy error to the coordinator ledger.
|
|
336
|
+
*/
|
|
337
|
+
public reportPolicyError(fieldPath: string, errorMessage: string | null): void {
|
|
338
|
+
const cleanPath = fieldPath.replace(/^\//, "");
|
|
339
|
+
if (!this.validationLedger.has(cleanPath)) {
|
|
340
|
+
this.validationLedger.set(cleanPath, { schemaError: null, policyError: null });
|
|
341
|
+
}
|
|
342
|
+
this.validationLedger.get(cleanPath)!.policyError = errorMessage;
|
|
343
|
+
this.resolveVisualState(cleanPath);
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
/**
|
|
347
|
+
* Computes the final visual state by checking both engines and applies it to the plugin.
|
|
348
|
+
*/
|
|
349
|
+
private resolveVisualState(cleanPath: string): void {
|
|
350
|
+
const plugin = this.getPluginByPath(cleanPath);
|
|
351
|
+
const ledgerEntry = this.validationLedger.get(cleanPath);
|
|
352
|
+
if (!ledgerEntry) return;
|
|
353
|
+
|
|
354
|
+
const isError = ledgerEntry.policyError !== null || ledgerEntry.schemaError !== null;
|
|
355
|
+
const errorMessage = ledgerEntry.policyError || ledgerEntry.schemaError;
|
|
356
|
+
|
|
357
|
+
if (plugin && typeof plugin.setVisualValidationState === "function") {
|
|
358
|
+
plugin.setVisualValidationState(!isError, isError ? errorMessage || undefined : undefined);
|
|
359
|
+
} else {
|
|
360
|
+
// Un-tracked template clones (Table Layout rows)
|
|
361
|
+
this.setNativeControlError(cleanPath, isError ? errorMessage || undefined : undefined);
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
private setNativeControlError(targetPath: string, errorMessage?: string): void {
|
|
366
|
+
if (this.host && (this.host as any).generatedContent) {
|
|
367
|
+
const rootControl = (this.host as any).generatedContent;
|
|
368
|
+
this.traverseAndSetError(rootControl, targetPath, errorMessage);
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
private traverseAndSetError(control: any, targetPath: string, errorMessage?: string): void {
|
|
373
|
+
if (!control) return;
|
|
374
|
+
|
|
375
|
+
const bindingInfos = [control.getBindingInfo("value"), control.getBindingInfo("selectedKey"), control.getBindingInfo("dateValue"), control.getBindingInfo("selected")];
|
|
376
|
+
for (const info of bindingInfos) {
|
|
377
|
+
if (info && info.parts && info.parts.length > 0) {
|
|
378
|
+
const boundPath = info.parts[0].path;
|
|
379
|
+
// UI5 relative bindings drop the leading slash in the context, but retain it in the path
|
|
380
|
+
if (boundPath === targetPath || targetPath.endsWith(boundPath)) {
|
|
381
|
+
// Ensure we match the exact row context path
|
|
382
|
+
const context = control.getBindingContext((this.host as any).activeModelName);
|
|
383
|
+
if (context) {
|
|
384
|
+
const fullPath = context.getPath() + "/" + boundPath;
|
|
385
|
+
const cleanedFullPath = fullPath.replace(/^\//, "");
|
|
386
|
+
if (cleanedFullPath === targetPath) {
|
|
387
|
+
if (typeof control.setValueState === "function") {
|
|
388
|
+
control.setValueState(errorMessage ? "Error" : "None");
|
|
389
|
+
if (typeof control.setValueStateText === "function") {
|
|
390
|
+
control.setValueStateText(errorMessage || "");
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
if (typeof control.getAggregation === "function" && typeof control.getMetadata === "function") {
|
|
400
|
+
const aggs = control.getMetadata().getAggregations();
|
|
401
|
+
for (const aggName in aggs) {
|
|
402
|
+
const child = control.getAggregation(aggName);
|
|
403
|
+
if (Array.isArray(child)) {
|
|
404
|
+
child.forEach(c => this.traverseAndSetError(c, targetPath, errorMessage));
|
|
405
|
+
} else if (child) {
|
|
406
|
+
this.traverseAndSetError(child, targetPath, errorMessage);
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
|
|
220
412
|
/**
|
|
221
413
|
* Cleans up internal state and destroys the condition engine to prevent memory leaks.
|
|
222
414
|
*/
|
|
223
415
|
public destroy(): void {
|
|
224
|
-
if (this.conditionEngine) {
|
|
225
|
-
this.conditionEngine.destroy();
|
|
226
|
-
this.conditionEngine = null;
|
|
227
|
-
}
|
|
228
416
|
|
|
229
|
-
// ------------------------------------------------------------------------
|
|
230
|
-
// Ghost Error Prevention
|
|
231
|
-
// Flush MessageManager for active plugins before destroying their controls
|
|
232
|
-
// ------------------------------------------------------------------------
|
|
233
|
-
const messageManager = Messaging;
|
|
234
|
-
const existingMessages = messageManager.getMessageModel().getData();
|
|
235
|
-
const messagesToRemove: unknown[] = [];
|
|
236
417
|
|
|
237
418
|
for (const item of this.activePlugins) {
|
|
238
|
-
if (this.activeModel) {
|
|
239
|
-
const targetPath = `/${item.path.replace(/^\//, "")}`;
|
|
240
|
-
const matched = (existingMessages as { getTarget: () => string, getMessageProcessor: () => { getId: () => string } }[]).filter(msg =>
|
|
241
|
-
msg.getTarget() === targetPath && msg.getMessageProcessor() && msg.getMessageProcessor().getId() === this.activeModel!.getId()
|
|
242
|
-
);
|
|
243
|
-
messagesToRemove.push(...matched);
|
|
244
|
-
}
|
|
245
419
|
if (typeof item.plugin.destroy === "function") {
|
|
246
420
|
item.plugin.destroy();
|
|
247
421
|
}
|
|
248
422
|
}
|
|
249
423
|
|
|
250
|
-
|
|
251
|
-
|
|
424
|
+
for (const item of this.templatePlugins) {
|
|
425
|
+
if (typeof item.plugin.destroy === "function") {
|
|
426
|
+
item.plugin.destroy();
|
|
427
|
+
}
|
|
252
428
|
}
|
|
253
429
|
|
|
430
|
+
this.validationLedger.clear();
|
|
254
431
|
this.activePlugins = [];
|
|
432
|
+
this.templatePlugins = [];
|
|
255
433
|
}
|
|
256
434
|
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
sap.ui.define(["./SchemaNormalizer", "../constants/MetaUIConstants"], function (___SchemaNormalizer, ___constants_MetaUIConstants) {
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @file LayoutMutator.ts
|
|
6
|
+
* @description Intercepts the generated schema before rendering to dynamically mutate the UI layout based on inline rendering rules.
|
|
7
|
+
*/
|
|
8
|
+
const SchemaNormalizer = ___SchemaNormalizer["SchemaNormalizer"];
|
|
9
|
+
const RENDER_MODE = ___constants_MetaUIConstants["RENDER_MODE"];
|
|
10
|
+
const SCHEMA_TYPE = ___constants_MetaUIConstants["SCHEMA_TYPE"];
|
|
11
|
+
class LayoutMutator {
|
|
12
|
+
/**
|
|
13
|
+
* Mutates the `uiLayout` array to expand nested inline objects into native Groups.
|
|
14
|
+
* @param schema The normalized root schema.
|
|
15
|
+
*/
|
|
16
|
+
static apply(schema) {
|
|
17
|
+
if (!schema || !schema.uiLayout || !Array.isArray(schema.uiLayout)) {
|
|
18
|
+
return; // No layout to mutate
|
|
19
|
+
}
|
|
20
|
+
schema.uiLayout = this.expandElements(schema.uiLayout, schema);
|
|
21
|
+
}
|
|
22
|
+
static expandElements(elements, rootSchema) {
|
|
23
|
+
const expanded = [];
|
|
24
|
+
for (const element of elements) {
|
|
25
|
+
if (element.type === "Group") {
|
|
26
|
+
// Recursively expand group elements
|
|
27
|
+
if (element.elements) {
|
|
28
|
+
element.elements = this.expandElements(element.elements, rootSchema);
|
|
29
|
+
}
|
|
30
|
+
expanded.push(element);
|
|
31
|
+
} else if (element.type === "Control") {
|
|
32
|
+
if (!element.scope) {
|
|
33
|
+
expanded.push(element);
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
// Resolve the schema to see if this control points to an inline object
|
|
37
|
+
try {
|
|
38
|
+
const {
|
|
39
|
+
meta,
|
|
40
|
+
bindingPath
|
|
41
|
+
} = SchemaNormalizer.resolveScope(rootSchema, element.scope);
|
|
42
|
+
const hasExplicitWidget = !!meta?.ui?.widget;
|
|
43
|
+
const isInlineObject = meta?.type === SCHEMA_TYPE.OBJECT && meta.ui?.renderMode === RENDER_MODE.INLINE && !hasExplicitWidget;
|
|
44
|
+
if (isInlineObject && meta.properties) {
|
|
45
|
+
// Transform this Control into a Group containing its properties
|
|
46
|
+
const newGroup = {
|
|
47
|
+
...element,
|
|
48
|
+
type: "Group",
|
|
49
|
+
label: element.label || meta.ui?.label || bindingPath.split("/").pop(),
|
|
50
|
+
elements: []
|
|
51
|
+
};
|
|
52
|
+
delete newGroup.scope;
|
|
53
|
+
|
|
54
|
+
// Add all child properties as controls
|
|
55
|
+
for (const childKey of Object.keys(meta.properties)) {
|
|
56
|
+
newGroup.elements.push({
|
|
57
|
+
type: "Control",
|
|
58
|
+
scope: `${element.scope}/properties/${childKey}`
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// Recursively expand this new group in case it contains further inline objects
|
|
63
|
+
newGroup.elements = this.expandElements(newGroup.elements, rootSchema);
|
|
64
|
+
expanded.push(newGroup);
|
|
65
|
+
} else {
|
|
66
|
+
// Scalar control, keep as is
|
|
67
|
+
expanded.push(element);
|
|
68
|
+
}
|
|
69
|
+
} catch (e) {
|
|
70
|
+
// Scope not found, keep element to let normal error handling report it
|
|
71
|
+
expanded.push(element);
|
|
72
|
+
}
|
|
73
|
+
} else {
|
|
74
|
+
expanded.push(element);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return expanded;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
var __exports = {
|
|
81
|
+
__esModule: true
|
|
82
|
+
};
|
|
83
|
+
__exports.LayoutMutator = LayoutMutator;
|
|
84
|
+
return __exports;
|
|
85
|
+
});
|
|
86
|
+
//# sourceMappingURL=LayoutMutator-dbg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LayoutMutator-dbg.js","names":["SchemaNormalizer","___SchemaNormalizer","RENDER_MODE","___constants_MetaUIConstants","SCHEMA_TYPE","LayoutMutator","apply","schema","uiLayout","Array","isArray","expandElements","elements","rootSchema","expanded","element","type","push","scope","meta","bindingPath","resolveScope","hasExplicitWidget","ui","widget","isInlineObject","OBJECT","renderMode","INLINE","properties","newGroup","label","split","pop","childKey","Object","keys","e","__exports","__esModule"],"sources":["LayoutMutator.ts"],"sourcesContent":["/**\n * @file LayoutMutator.ts\n * @description Intercepts the generated schema before rendering to dynamically mutate the UI layout based on inline rendering rules.\n */\n\nimport { ISchema, ILayoutElement } from \"../interfaces/ISchema\";\nimport { SchemaNormalizer } from \"./SchemaNormalizer\";\nimport { RENDER_MODE, SCHEMA_TYPE } from \"../constants/MetaUIConstants\";\n\nexport class LayoutMutator {\n /**\n * Mutates the `uiLayout` array to expand nested inline objects into native Groups.\n * @param schema The normalized root schema.\n */\n public static apply(schema: ISchema): void {\n if (!schema || !schema.uiLayout || !Array.isArray(schema.uiLayout)) {\n return; // No layout to mutate\n }\n\n schema.uiLayout = this.expandElements(schema.uiLayout, schema);\n }\n\n private static expandElements(elements: ILayoutElement[], rootSchema: ISchema): ILayoutElement[] {\n const expanded: ILayoutElement[] = [];\n\n for (const element of elements) {\n if (element.type === \"Group\") {\n // Recursively expand group elements\n if (element.elements) {\n element.elements = this.expandElements(element.elements, rootSchema);\n }\n expanded.push(element);\n } else if (element.type === \"Control\") {\n if (!element.scope) {\n expanded.push(element);\n continue;\n }\n // Resolve the schema to see if this control points to an inline object\n try {\n const { meta, bindingPath } = SchemaNormalizer.resolveScope(rootSchema, element.scope);\n \n const hasExplicitWidget = !!meta?.ui?.widget;\n const isInlineObject = meta?.type === SCHEMA_TYPE.OBJECT && meta.ui?.renderMode === RENDER_MODE.INLINE && !hasExplicitWidget;\n\n if (isInlineObject && meta.properties) {\n // Transform this Control into a Group containing its properties\n const newGroup: ILayoutElement = {\n ...element,\n type: \"Group\",\n label: element.label || meta.ui?.label || bindingPath.split(\"/\").pop(),\n elements: []\n };\n delete newGroup.scope;\n\n // Add all child properties as controls\n for (const childKey of Object.keys(meta.properties)) {\n newGroup.elements!.push({\n type: \"Control\",\n scope: `${element.scope}/properties/${childKey}`\n });\n }\n\n // Recursively expand this new group in case it contains further inline objects\n newGroup.elements = this.expandElements(newGroup.elements!, rootSchema);\n \n expanded.push(newGroup);\n } else {\n // Scalar control, keep as is\n expanded.push(element);\n }\n } catch (e) {\n // Scope not found, keep element to let normal error handling report it\n expanded.push(element);\n }\n } else {\n expanded.push(element);\n }\n }\n\n return expanded;\n }\n}\n"],"mappings":";;;EAAA;AACA;AACA;AACA;EAHA,MAMSA,gBAAgB,GAAAC,mBAAA;EAAA,MAChBC,WAAW,GAAAC,4BAAA;EAAA,MAAEC,WAAW,GAAAD,4BAAA;EAE1B,MAAME,aAAa,CAAC;IACvB;AACJ;AACA;AACA;IACI,OAAcC,KAAKA,CAACC,MAAe,EAAQ;MACvC,IAAI,CAACA,MAAM,IAAI,CAACA,MAAM,CAACC,QAAQ,IAAI,CAACC,KAAK,CAACC,OAAO,CAACH,MAAM,CAACC,QAAQ,CAAC,EAAE;QAChE,OAAO,CAAC;MACZ;MAEAD,MAAM,CAACC,QAAQ,GAAG,IAAI,CAACG,cAAc,CAACJ,MAAM,CAACC,QAAQ,EAAED,MAAM,CAAC;IAClE;IAEA,OAAeI,cAAcA,CAACC,QAA0B,EAAEC,UAAmB,EAAoB;MAC7F,MAAMC,QAA0B,GAAG,EAAE;MAErC,KAAK,MAAMC,OAAO,IAAIH,QAAQ,EAAE;QAC5B,IAAIG,OAAO,CAACC,IAAI,KAAK,OAAO,EAAE;UAC1B;UACA,IAAID,OAAO,CAACH,QAAQ,EAAE;YAClBG,OAAO,CAACH,QAAQ,GAAG,IAAI,CAACD,cAAc,CAACI,OAAO,CAACH,QAAQ,EAAEC,UAAU,CAAC;UACxE;UACAC,QAAQ,CAACG,IAAI,CAACF,OAAO,CAAC;QAC1B,CAAC,MAAM,IAAIA,OAAO,CAACC,IAAI,KAAK,SAAS,EAAE;UACnC,IAAI,CAACD,OAAO,CAACG,KAAK,EAAE;YAChBJ,QAAQ,CAACG,IAAI,CAACF,OAAO,CAAC;YACtB;UACJ;UACA;UACA,IAAI;YACA,MAAM;cAAEI,IAAI;cAAEC;YAAY,CAAC,GAAGpB,gBAAgB,CAACqB,YAAY,CAACR,UAAU,EAAEE,OAAO,CAACG,KAAK,CAAC;YAEtF,MAAMI,iBAAiB,GAAG,CAAC,CAACH,IAAI,EAAEI,EAAE,EAAEC,MAAM;YAC5C,MAAMC,cAAc,GAAGN,IAAI,EAAEH,IAAI,KAAKZ,WAAW,CAACsB,MAAM,IAAIP,IAAI,CAACI,EAAE,EAAEI,UAAU,KAAKzB,WAAW,CAAC0B,MAAM,IAAI,CAACN,iBAAiB;YAE5H,IAAIG,cAAc,IAAIN,IAAI,CAACU,UAAU,EAAE;cACnC;cACA,MAAMC,QAAwB,GAAG;gBAC7B,GAAGf,OAAO;gBACVC,IAAI,EAAE,OAAO;gBACbe,KAAK,EAAEhB,OAAO,CAACgB,KAAK,IAAIZ,IAAI,CAACI,EAAE,EAAEQ,KAAK,IAAIX,WAAW,CAACY,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAC;gBACtErB,QAAQ,EAAE;cACd,CAAC;cACD,OAAOkB,QAAQ,CAACZ,KAAK;;cAErB;cACA,KAAK,MAAMgB,QAAQ,IAAIC,MAAM,CAACC,IAAI,CAACjB,IAAI,CAACU,UAAU,CAAC,EAAE;gBACjDC,QAAQ,CAAClB,QAAQ,CAAEK,IAAI,CAAC;kBACpBD,IAAI,EAAE,SAAS;kBACfE,KAAK,EAAE,GAAGH,OAAO,CAACG,KAAK,eAAegB,QAAQ;gBAClD,CAAC,CAAC;cACN;;cAEA;cACAJ,QAAQ,CAAClB,QAAQ,GAAG,IAAI,CAACD,cAAc,CAACmB,QAAQ,CAAClB,QAAQ,EAAGC,UAAU,CAAC;cAEvEC,QAAQ,CAACG,IAAI,CAACa,QAAQ,CAAC;YAC3B,CAAC,MAAM;cACH;cACAhB,QAAQ,CAACG,IAAI,CAACF,OAAO,CAAC;YAC1B;UACJ,CAAC,CAAC,OAAOsB,CAAC,EAAE;YACR;YACAvB,QAAQ,CAACG,IAAI,CAACF,OAAO,CAAC;UAC1B;QACJ,CAAC,MAAM;UACHD,QAAQ,CAACG,IAAI,CAACF,OAAO,CAAC;QAC1B;MACJ;MAEA,OAAOD,QAAQ;IACnB;EACJ;EAAC,IAAAwB,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAjC,aAAA,GAAAA,aAAA;EAAA,OAAAiC,SAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
declare module "nz/co/siliconst/ui5/metaui/core/LayoutMutator" {
|
|
2
|
+
/**
|
|
3
|
+
* @file LayoutMutator.ts
|
|
4
|
+
* @description Intercepts the generated schema before rendering to dynamically mutate the UI layout based on inline rendering rules.
|
|
5
|
+
*/
|
|
6
|
+
import { ISchema } from "nz/co/siliconst/ui5/metaui/interfaces/ISchema";
|
|
7
|
+
export class LayoutMutator {
|
|
8
|
+
/**
|
|
9
|
+
* Mutates the `uiLayout` array to expand nested inline objects into native Groups.
|
|
10
|
+
* @param schema The normalized root schema.
|
|
11
|
+
*/
|
|
12
|
+
static apply(schema: ISchema): void;
|
|
13
|
+
private static expandElements;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=LayoutMutator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LayoutMutator.d.ts","sourceRoot":"../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,+CAA+C,CAAC;IAC/D;;;OAGG;IAEH,OAAO,EAAE,OAAO,EAAkB,MAAM,+CAA+C,CAAC;IAIxF,MAAa,aAAa;QACtB;;;WAGG;eACW,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;QAQ1C,OAAO,CAAC,MAAM,CAAC,cAAc;KA2DhC;CAEA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
sap.ui.define(["./SchemaNormalizer","../constants/MetaUIConstants"],function(e,t){"use strict";const s=e["SchemaNormalizer"];const o=t["RENDER_MODE"];const n=t["SCHEMA_TYPE"];class p{static apply(e){if(!e||!e.uiLayout||!Array.isArray(e.uiLayout)){return}e.uiLayout=this.expandElements(e.uiLayout,e)}static expandElements(e,t){const p=[];for(const r of e){if(r.type==="Group"){if(r.elements){r.elements=this.expandElements(r.elements,t)}p.push(r)}else if(r.type==="Control"){if(!r.scope){p.push(r);continue}try{const{meta:e,bindingPath:i}=s.resolveScope(t,r.scope);const a=!!e?.ui?.widget;const u=e?.type===n.OBJECT&&e.ui?.renderMode===o.INLINE&&!a;if(u&&e.properties){const s={...r,type:"Group",label:r.label||e.ui?.label||i.split("/").pop(),elements:[]};delete s.scope;for(const t of Object.keys(e.properties)){s.elements.push({type:"Control",scope:`${r.scope}/properties/${t}`})}s.elements=this.expandElements(s.elements,t);p.push(s)}else{p.push(r)}}catch(e){p.push(r)}}else{p.push(r)}}return p}}var r={__esModule:true};r.LayoutMutator=p;return r});
|
|
2
|
+
//# sourceMappingURL=LayoutMutator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LayoutMutator.js","names":["SchemaNormalizer","___SchemaNormalizer","RENDER_MODE","___constants_MetaUIConstants","SCHEMA_TYPE","LayoutMutator","apply","schema","uiLayout","Array","isArray","this","expandElements","elements","rootSchema","expanded","element","type","push","scope","meta","bindingPath","resolveScope","hasExplicitWidget","ui","widget","isInlineObject","OBJECT","renderMode","INLINE","properties","newGroup","label","split","pop","childKey","Object","keys","e","__exports","__esModule"],"sources":["LayoutMutator.ts"],"sourcesContent":["/**\n * @file LayoutMutator.ts\n * @description Intercepts the generated schema before rendering to dynamically mutate the UI layout based on inline rendering rules.\n */\n\nimport { ISchema, ILayoutElement } from \"../interfaces/ISchema\";\nimport { SchemaNormalizer } from \"./SchemaNormalizer\";\nimport { RENDER_MODE, SCHEMA_TYPE } from \"../constants/MetaUIConstants\";\n\nexport class LayoutMutator {\n /**\n * Mutates the `uiLayout` array to expand nested inline objects into native Groups.\n * @param schema The normalized root schema.\n */\n public static apply(schema: ISchema): void {\n if (!schema || !schema.uiLayout || !Array.isArray(schema.uiLayout)) {\n return; // No layout to mutate\n }\n\n schema.uiLayout = this.expandElements(schema.uiLayout, schema);\n }\n\n private static expandElements(elements: ILayoutElement[], rootSchema: ISchema): ILayoutElement[] {\n const expanded: ILayoutElement[] = [];\n\n for (const element of elements) {\n if (element.type === \"Group\") {\n // Recursively expand group elements\n if (element.elements) {\n element.elements = this.expandElements(element.elements, rootSchema);\n }\n expanded.push(element);\n } else if (element.type === \"Control\") {\n if (!element.scope) {\n expanded.push(element);\n continue;\n }\n // Resolve the schema to see if this control points to an inline object\n try {\n const { meta, bindingPath } = SchemaNormalizer.resolveScope(rootSchema, element.scope);\n \n const hasExplicitWidget = !!meta?.ui?.widget;\n const isInlineObject = meta?.type === SCHEMA_TYPE.OBJECT && meta.ui?.renderMode === RENDER_MODE.INLINE && !hasExplicitWidget;\n\n if (isInlineObject && meta.properties) {\n // Transform this Control into a Group containing its properties\n const newGroup: ILayoutElement = {\n ...element,\n type: \"Group\",\n label: element.label || meta.ui?.label || bindingPath.split(\"/\").pop(),\n elements: []\n };\n delete newGroup.scope;\n\n // Add all child properties as controls\n for (const childKey of Object.keys(meta.properties)) {\n newGroup.elements!.push({\n type: \"Control\",\n scope: `${element.scope}/properties/${childKey}`\n });\n }\n\n // Recursively expand this new group in case it contains further inline objects\n newGroup.elements = this.expandElements(newGroup.elements!, rootSchema);\n \n expanded.push(newGroup);\n } else {\n // Scalar control, keep as is\n expanded.push(element);\n }\n } catch (e) {\n // Scope not found, keep element to let normal error handling report it\n expanded.push(element);\n }\n } else {\n expanded.push(element);\n }\n }\n\n return expanded;\n }\n}\n"],"mappings":"+FAAA,MAMSA,EAAgBC,EAAA,0BAChBC,EAAWC,EAAA,qBAAEC,EAAWD,EAAA,eAE1B,MAAME,EAKT,YAAcC,CAAMC,GAChB,IAAKA,IAAWA,EAAOC,WAAaC,MAAMC,QAAQH,EAAOC,UAAW,CAChE,MACJ,CAEAD,EAAOC,SAAWG,KAAKC,eAAeL,EAAOC,SAAUD,EAC3D,CAEA,qBAAeK,CAAeC,EAA4BC,GACtD,MAAMC,EAA6B,GAEnC,IAAK,MAAMC,KAAWH,EAAU,CAC5B,GAAIG,EAAQC,OAAS,QAAS,CAE1B,GAAID,EAAQH,SAAU,CAClBG,EAAQH,SAAWF,KAAKC,eAAeI,EAAQH,SAAUC,EAC7D,CACAC,EAASG,KAAKF,EAClB,MAAO,GAAIA,EAAQC,OAAS,UAAW,CACnC,IAAKD,EAAQG,MAAO,CAChBJ,EAASG,KAAKF,GACd,QACJ,CAEA,IACI,MAAMI,KAAEA,EAAIC,YAAEA,GAAgBrB,EAAiBsB,aAAaR,EAAYE,EAAQG,OAEhF,MAAMI,IAAsBH,GAAMI,IAAIC,OACtC,MAAMC,EAAiBN,GAAMH,OAASb,EAAYuB,QAAUP,EAAKI,IAAII,aAAe1B,EAAY2B,SAAWN,EAE3G,GAAIG,GAAkBN,EAAKU,WAAY,CAEnC,MAAMC,EAA2B,IAC1Bf,EACHC,KAAM,QACNe,MAAOhB,EAAQgB,OAASZ,EAAKI,IAAIQ,OAASX,EAAYY,MAAM,KAAKC,MACjErB,SAAU,WAEPkB,EAASZ,MAGhB,IAAK,MAAMgB,KAAYC,OAAOC,KAAKjB,EAAKU,YAAa,CACjDC,EAASlB,SAAUK,KAAK,CACpBD,KAAM,UACNE,MAAO,GAAGH,EAAQG,oBAAoBgB,KAE9C,CAGAJ,EAASlB,SAAWF,KAAKC,eAAemB,EAASlB,SAAWC,GAE5DC,EAASG,KAAKa,EAClB,KAAO,CAEHhB,EAASG,KAAKF,EAClB,CACJ,CAAE,MAAOsB,GAELvB,EAASG,KAAKF,EAClB,CACJ,KAAO,CACHD,EAASG,KAAKF,EAClB,CACJ,CAEA,OAAOD,CACX,EACH,IAAAwB,EAAA,CAAAC,WAAA,MAAAD,EAAAlC,gBAAA,OAAAkC,CAAA","ignoreList":[]}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file LayoutMutator.ts
|
|
3
|
+
* @description Intercepts the generated schema before rendering to dynamically mutate the UI layout based on inline rendering rules.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { ISchema, ILayoutElement } from "../interfaces/ISchema";
|
|
7
|
+
import { SchemaNormalizer } from "./SchemaNormalizer";
|
|
8
|
+
import { RENDER_MODE, SCHEMA_TYPE } from "../constants/MetaUIConstants";
|
|
9
|
+
|
|
10
|
+
export class LayoutMutator {
|
|
11
|
+
/**
|
|
12
|
+
* Mutates the `uiLayout` array to expand nested inline objects into native Groups.
|
|
13
|
+
* @param schema The normalized root schema.
|
|
14
|
+
*/
|
|
15
|
+
public static apply(schema: ISchema): void {
|
|
16
|
+
if (!schema || !schema.uiLayout || !Array.isArray(schema.uiLayout)) {
|
|
17
|
+
return; // No layout to mutate
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
schema.uiLayout = this.expandElements(schema.uiLayout, schema);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
private static expandElements(elements: ILayoutElement[], rootSchema: ISchema): ILayoutElement[] {
|
|
24
|
+
const expanded: ILayoutElement[] = [];
|
|
25
|
+
|
|
26
|
+
for (const element of elements) {
|
|
27
|
+
if (element.type === "Group") {
|
|
28
|
+
// Recursively expand group elements
|
|
29
|
+
if (element.elements) {
|
|
30
|
+
element.elements = this.expandElements(element.elements, rootSchema);
|
|
31
|
+
}
|
|
32
|
+
expanded.push(element);
|
|
33
|
+
} else if (element.type === "Control") {
|
|
34
|
+
if (!element.scope) {
|
|
35
|
+
expanded.push(element);
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
// Resolve the schema to see if this control points to an inline object
|
|
39
|
+
try {
|
|
40
|
+
const { meta, bindingPath } = SchemaNormalizer.resolveScope(rootSchema, element.scope);
|
|
41
|
+
|
|
42
|
+
const hasExplicitWidget = !!meta?.ui?.widget;
|
|
43
|
+
const isInlineObject = meta?.type === SCHEMA_TYPE.OBJECT && meta.ui?.renderMode === RENDER_MODE.INLINE && !hasExplicitWidget;
|
|
44
|
+
|
|
45
|
+
if (isInlineObject && meta.properties) {
|
|
46
|
+
// Transform this Control into a Group containing its properties
|
|
47
|
+
const newGroup: ILayoutElement = {
|
|
48
|
+
...element,
|
|
49
|
+
type: "Group",
|
|
50
|
+
label: element.label || meta.ui?.label || bindingPath.split("/").pop(),
|
|
51
|
+
elements: []
|
|
52
|
+
};
|
|
53
|
+
delete newGroup.scope;
|
|
54
|
+
|
|
55
|
+
// Add all child properties as controls
|
|
56
|
+
for (const childKey of Object.keys(meta.properties)) {
|
|
57
|
+
newGroup.elements!.push({
|
|
58
|
+
type: "Control",
|
|
59
|
+
scope: `${element.scope}/properties/${childKey}`
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// Recursively expand this new group in case it contains further inline objects
|
|
64
|
+
newGroup.elements = this.expandElements(newGroup.elements!, rootSchema);
|
|
65
|
+
|
|
66
|
+
expanded.push(newGroup);
|
|
67
|
+
} else {
|
|
68
|
+
// Scalar control, keep as is
|
|
69
|
+
expanded.push(element);
|
|
70
|
+
}
|
|
71
|
+
} catch (e) {
|
|
72
|
+
// Scope not found, keep element to let normal error handling report it
|
|
73
|
+
expanded.push(element);
|
|
74
|
+
}
|
|
75
|
+
} else {
|
|
76
|
+
expanded.push(element);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
return expanded;
|
|
81
|
+
}
|
|
82
|
+
}
|