@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginRegistry.js","names":["Logger","___utils_Logger","PluginRegistry","fieldIndex","actionIndex","layoutIndex","activePromises","constructor","this","registerPluginPath","undefined","registerLayoutPath","getInstance","instance","type","widgetName","path","key","registerActionPath","actionName","strategy","getFieldPath","Error","getLayoutPath","getPathsToLoad","schema","pathsToLoad","Set","layoutStrategy","add","scanProperties","props","prop","ui","widget","e","msg","message","error","properties","items","preloadDependencies","promises","Array","from","map","Promise","resolve","reject","sap","require","Module","err","all","extractConstructor","default","keys","Object","getPlugin","PluginClass","getLayout","LayoutClass","__exports","__esModule"],"sources":["PluginRegistry.ts"],"sourcesContent":["/**\n * @file PluginRegistry.ts\n * @description Centralized hub for mapping UI5 controls to SAP schema data types.\n * Enforces the Registry Pattern to decouple the core engine from specific UI5 control implementations.\n * NOW WITH UNIVERSAL LAZY LOADING.\n */\n\nimport { IPlugin } from \"../interfaces/IPlugin\";\nimport { FieldType, ISchema, IPropertyMetadata } from \"../interfaces/ISchema\";\nimport { ILayoutManager } from \"../interfaces/ILayoutManager\";\nimport { Logger } from \"../utils/Logger\";\nimport { DefaultLayoutGenerator } from \"./DefaultLayoutGenerator\";\n\nexport class PluginRegistry {\n private static instance: PluginRegistry;\n \n private fieldIndex: Record<string, string> = {};\n private actionIndex: Record<string, string> = {};\n private layoutIndex: Record<string, string> = {};\n \n private activePromises: Record<string, Promise<unknown>> = {};\n\n private constructor() {\n // Core Mappings\n this.registerPluginPath(\"string\", undefined, \"nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin\");\n this.registerPluginPath(\"number\", undefined, \"nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin\");\n this.registerPluginPath(\"integer\", undefined, \"nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin\");\n this.registerPluginPath(\"date\", undefined, \"nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin\");\n this.registerPluginPath(\"boolean\", undefined, \"nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin\");\n this.registerPluginPath(\"array\", undefined, \"nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin\");\n this.registerPluginPath(\"object\", undefined, \"nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin\");\n this.registerPluginPath(\"string\", \"default\", \"nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin\");\n this.registerPluginPath(\"object\", \"dictionary\", \"nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin\");\n this.registerPluginPath(\"object\", \"reference\", \"nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin\");\n\n // Widget Overrides\n this.registerPluginPath(\"string\", \"time\", \"nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin\");\n this.registerPluginPath(\"string\", \"datetime\", \"nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin\");\n this.registerPluginPath(\"boolean\", \"switch\", \"nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin\");\n this.registerPluginPath(\"number\", \"step\", \"nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin\");\n this.registerPluginPath(\"string\", \"select\", \"nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin\");\n this.registerPluginPath(\"string\", \"textArea\", \"nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin\");\n this.registerPluginPath(\"string\", \"codeEditor\", \"nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin\");\n this.registerPluginPath(\"string\", \"link\", \"nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin\");\n this.registerPluginPath(\"string\", \"password\", \"nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin\");\n this.registerPluginPath(\"string\", \"email\", \"nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin\");\n \n // Phase 1 Mappings\n this.registerPluginPath(\"string\", \"fileUploader\", \"nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin\");\n this.registerPluginPath(\"array\", \"multiSelect\", \"nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin\");\n this.registerPluginPath(\"array\", \"multiInput\", \"nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin\");\n this.registerPluginPath(\"number\", \"slider\", \"nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin\");\n this.registerPluginPath(\"number\", \"rating\", \"nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin\");\n this.registerPluginPath(\"string\", \"messageStrip\", \"nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin\");\n\n // Phase 5 Mappings (Hardware)\n this.registerPluginPath(\"string\", \"camera\", \"nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin\");\n this.registerPluginPath(\"string\", \"signature\", \"nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin\");\n this.registerPluginPath(\"object\", \"location\", \"nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin\");\n this.registerPluginPath(\"string\", \"scanner\", \"nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin\");\n this.registerPluginPath(\"string\", \"voiceInput\", \"nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin\");\n this.registerPluginPath(\"string\", \"richText\", \"nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin\");\n\n // Actions & Datasources\n this.registerPluginPath(\"string\", \"urlButton\", \"nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin\");\n this.registerPluginPath(\"string\", \"submitButton\", \"nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin\");\n this.registerPluginPath(\"string\", \"odataSelect\", \"nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin\");\n this.registerPluginPath(\"string\", \"remoteDropdown\", \"nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin\");\n this.registerPluginPath(\"string\", \"liveSearch\", \"nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin\");\n this.registerPluginPath(\"string\", \"remoteValueHelp\", \"nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin\");\n\n // Layouts\n this.registerLayoutPath(\"form\", \"nz/co/siliconst/ui5/metaui/layouts/FormLayout\");\n this.registerLayoutPath(\"table\", \"nz/co/siliconst/ui5/metaui/layouts/TableLayout\");\n this.registerLayoutPath(\"wizard\", \"nz/co/siliconst/ui5/metaui/layouts/WizardLayout\");\n this.registerLayoutPath(\"compact\", \"nz/co/siliconst/ui5/metaui/layouts/CompactLayout\");\n }\n\n public static getInstance(): PluginRegistry {\n if (!PluginRegistry.instance) {\n PluginRegistry.instance = new PluginRegistry();\n }\n return PluginRegistry.instance;\n }\n\n public registerPluginPath(type: FieldType, widgetName: string | undefined, path: string): void {\n const key = widgetName ? `${type}:${widgetName}` : type;\n this.fieldIndex[key] = path;\n }\n\n public registerActionPath(actionName: string, path: string): void {\n this.actionIndex[actionName] = path;\n }\n\n public registerLayoutPath(strategy: string, path: string): void {\n this.layoutIndex[strategy] = path;\n }\n\n private getFieldPath(type: FieldType, widgetName?: string): string {\n let path;\n if (widgetName) {\n path = this.fieldIndex[`${type}:${widgetName}`];\n }\n if (!path) {\n path = this.fieldIndex[type];\n }\n if (!path) {\n throw new Error(`No plugin path mapped for FieldType: ${type} (widget: ${widgetName})`);\n }\n return path;\n }\n\n private getLayoutPath(strategy: string): string {\n const path = this.layoutIndex[strategy];\n if (!path) {\n throw new Error(`No layout path mapped for strategy: ${strategy}`);\n }\n return path;\n }\n\n /**\n * Statically traverses the schema structure to identify all required plugins\n * and layouts without actually instantiating them.\n * \n * @param {ISchema} schema The root JSON schema payload to traverse\n * @returns {Set<string>} A distinct set of UI5 module paths required to render the schema\n */\n public getPathsToLoad(schema: ISchema): Set<string> {\n const pathsToLoad = new Set<string>();\n \n // 1. Gather layout strategy\n const strategy = schema.layoutStrategy || (schema.type === \"array\" ? \"table\" : \"form\");\n pathsToLoad.add(this.getLayoutPath(strategy));\n\n // 2. Recursively gather field plugins\n const scanProperties = (props: Record<string, IPropertyMetadata>) => {\n for (const key in props) {\n const prop = props[key];\n try {\n pathsToLoad.add(this.getFieldPath(prop.type || \"string\", prop.ui?.widget));\n } catch (e) {\n const msg = `[MetaUI LazyLoad] Could not find mapped plugin for field ${key}: ${(e as Error).message}`;\n Logger.error(msg);\n throw new Error(msg);\n }\n if (prop.properties) scanProperties(prop.properties);\n if (prop.items && prop.items.properties) scanProperties(prop.items.properties);\n if (prop.items && prop.items.type) {\n try {\n pathsToLoad.add(this.getFieldPath(prop.items.type, prop.items.ui?.widget));\n } catch (e) {\n const msg = `[MetaUI LazyLoad] Could not find mapped plugin for array item type ${prop.items.type}: ${(e as Error).message}`;\n Logger.error(msg);\n throw new Error(msg);\n }\n }\n }\n };\n\n if (schema.properties) {\n scanProperties(schema.properties);\n } else if (schema.items && schema.items.properties) {\n scanProperties(schema.items.properties);\n }\n\n return pathsToLoad;\n }\n\n /**\n * Defers the generation of the UI until all required UI5 modules have been\n * downloaded asynchronously. Maintains a cache of active promises to prevent\n * redundant network requests for the same module.\n * \n * @param {ISchema} schema The root JSON schema payload to parse\n * @returns {Promise<void>} Resolves when all dependencies are securely in the UI5 require cache\n */\n public async preloadDependencies(schema: ISchema): Promise<void> {\n const pathsToLoad = this.getPathsToLoad(schema);\n\n // 3. Batch execute sap.ui.require via Promises\n const promises = Array.from(pathsToLoad).map(path => {\n if (!this.activePromises[path]) {\n this.activePromises[path] = new Promise((resolve, reject) => {\n sap.ui.require([path], \n (Module: unknown) => resolve(Module), \n (err: unknown) => {\n Logger.error(`Failed to lazy load module: ${path}`);\n // CRITICAL: Delete from cache so future attempts can retry the network request\n delete this.activePromises[path];\n reject(err);\n }\n );\n });\n }\n return this.activePromises[path];\n });\n\n await Promise.all(promises);\n }\n\n /**\n * Extracts a valid constructor from a dynamically required module.\n */\n private extractConstructor(Module: unknown): new () => IPlugin | ILayoutManager | null {\n if (!Module) return null;\n if (typeof Module === \"function\") return Module as any;\n if ((Module as any).default && typeof (Module as any).default === \"function\") return (Module as any).default;\n \n // Handle namespace exports (e.g. { FormLayout: class... })\n const keys = Object.keys(Module as object);\n for (const key of keys) {\n if (typeof (Module as any)[key] === \"function\") {\n return (Module as any)[key];\n }\n }\n return null;\n }\n\n /**\n * Instantiates the requested plugin for the given field type.\n */\n public getPlugin(type: FieldType, widgetName?: string): IPlugin {\n const path = this.getFieldPath(type, widgetName);\n const Module = sap.ui.require(path);\n const PluginClass = this.extractConstructor(Module);\n \n if (!PluginClass) {\n throw new Error(`[MetaUI Plugin Instantiation] Plugin ${path} was not preloaded or has no constructor!`);\n }\n \n return new PluginClass();\n }\n\n /**\n * Instantiates the requested layout manager for the given strategy.\n */\n public getLayout(strategy: string): ILayoutManager {\n const path = this.getLayoutPath(strategy);\n const Module = sap.ui.require(path);\n const LayoutClass = this.extractConstructor(Module);\n \n if (!LayoutClass) {\n throw new Error(`[MetaUI Layout Instantiation] Layout ${path} was not preloaded or has no constructor!`);\n }\n \n return new LayoutClass();\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"PluginRegistry.js","names":["SCHEMA_TYPE","___constants_MetaUIConstants","WIDGET_TYPE","LAYOUT_STRATEGY","Logger","___utils_Logger","PluginRegistry","fieldIndex","actionIndex","layoutIndex","policyConditionIndex","policyEffectIndex","activePromises","constructor","this","registerPluginPath","STRING","undefined","NUMBER","INTEGER","DATE","BOOLEAN","ARRAY","OBJECT","DICTIONARY_MAP","REFERENCE","TIME","DATETIME","SWITCH","STEP","SELECT","TEXT_AREA","CODE_EDITOR","LINK","PASSWORD","EMAIL","FILE_UPLOADER","MULTI_SELECT","MULTI_INPUT","SLIDER","RATING","MESSAGE_STRIP","CAMERA","SIGNATURE","LOCATION","SCANNER","VOICE_INPUT","RICH_TEXT","URL_BUTTON","SUBMIT_BUTTON","ODATA_SELECT","REMOTE_DROPDOWN","LIVE_SEARCH","REMOTE_VALUE_HELP","registerLayoutPath","FORM","TABLE","WIZARD","COMPACT","registerPolicyConditionPath","registerPolicyEffectPath","getInstance","instance","type","widgetName","path","key","registerActionPath","actionName","strategy","conditionKey","effectName","getFieldPath","Error","getLayoutPath","getPathsToLoad","schema","pathsToLoad","Set","layoutStrategy","add","scanProperties","props","prop","ui","widget","e","msg","message","error","properties","items","uiPolicies","policy","condition","Object","keys","effect","preloadDependencies","promises","Array","from","map","Promise","resolve","reject","sap","require","Module","extractConstructor","err","all","mod","default","getPluginScore","Constructor","layoutScore","isPluginNativelyWide","isNativelyWide","getPlugin","PluginClass","getLayout","LayoutClass","getPolicyConditionPlugin","getPolicyEffectPlugin","__exports","__esModule"],"sources":["PluginRegistry.ts"],"sourcesContent":["/**\n * @file PluginRegistry.ts\n * @description Centralized hub for mapping UI5 controls to SAP schema data types.\n * Enforces the Registry Pattern to decouple the core engine from specific UI5 control implementations.\n * NOW WITH UNIVERSAL LAZY LOADING.\n */\n\nimport { IPlugin } from \"../interfaces/IPlugin\";\nimport { FieldType, ISchema, IPropertyMetadata } from \"../interfaces/ISchema\";\nimport { SCHEMA_TYPE, WIDGET_TYPE, LAYOUT_STRATEGY } from \"../constants/MetaUIConstants\";\nimport { ILayoutManager } from \"../interfaces/ILayoutManager\";\nimport { IPolicyConditionPlugin, IPolicyEffectPlugin } from \"../interfaces/IPolicyPlugin\";\nimport { Logger } from \"../utils/Logger\";\nimport { DefaultLayoutGenerator } from \"./DefaultLayoutGenerator\";\n\nexport class PluginRegistry {\n private static instance: PluginRegistry;\n \n private fieldIndex: Record<string, string> = {};\n private actionIndex: Record<string, string> = {};\n private layoutIndex: Record<string, string> = {};\n \n private policyConditionIndex: Record<string, string> = {};\n private policyEffectIndex: Record<string, string> = {};\n\n private activePromises: Record<string, Promise<unknown>> = {};\n\n private constructor() {\n // Core Mappings\n this.registerPluginPath(SCHEMA_TYPE.STRING, undefined, \"nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.NUMBER, undefined, \"nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.INTEGER, undefined, \"nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.DATE, undefined, \"nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin\");\n this.registerPluginPath(SCHEMA_TYPE.BOOLEAN, undefined, \"nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.ARRAY, undefined, \"nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.OBJECT, undefined, \"nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, \"default\", \"nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.OBJECT, WIDGET_TYPE.DICTIONARY_MAP, \"nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.OBJECT, WIDGET_TYPE.REFERENCE, \"nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin\");\n\n // Widget Overrides\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.TIME, \"nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.DATETIME, \"nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin\");\n this.registerPluginPath(SCHEMA_TYPE.BOOLEAN, WIDGET_TYPE.SWITCH, \"nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.NUMBER, WIDGET_TYPE.STEP, \"nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.SELECT, \"nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.TEXT_AREA, \"nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.CODE_EDITOR, \"nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.LINK, \"nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.PASSWORD, \"nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.EMAIL, \"nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin\");\n \n // Phase 1 Mappings\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.FILE_UPLOADER, \"nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.ARRAY, WIDGET_TYPE.MULTI_SELECT, \"nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.ARRAY, WIDGET_TYPE.MULTI_INPUT, \"nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.NUMBER, WIDGET_TYPE.SLIDER, \"nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.NUMBER, WIDGET_TYPE.RATING, \"nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.MESSAGE_STRIP, \"nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin\");\n\n // Phase 5 Mappings (Hardware)\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.CAMERA, \"nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.SIGNATURE, \"nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin\");\n this.registerPluginPath(SCHEMA_TYPE.OBJECT, WIDGET_TYPE.LOCATION, \"nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.SCANNER, \"nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.VOICE_INPUT, \"nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.RICH_TEXT, \"nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin\");\n\n // Actions & Datasources\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.URL_BUTTON, \"nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.SUBMIT_BUTTON, \"nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.ODATA_SELECT, \"nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.REMOTE_DROPDOWN, \"nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.LIVE_SEARCH, \"nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin\");\n this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.REMOTE_VALUE_HELP, \"nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin\");\n\n // Layouts\n this.registerLayoutPath(LAYOUT_STRATEGY.FORM, \"nz/co/siliconst/ui5/metaui/layouts/FormLayout\");\n this.registerLayoutPath(LAYOUT_STRATEGY.TABLE, \"nz/co/siliconst/ui5/metaui/layouts/TableLayout\");\n this.registerLayoutPath(LAYOUT_STRATEGY.WIZARD, \"nz/co/siliconst/ui5/metaui/layouts/WizardLayout\");\n this.registerLayoutPath(LAYOUT_STRATEGY.COMPACT, \"nz/co/siliconst/ui5/metaui/layouts/CompactLayout\");\n\n // Policy Condition Plugins\n this.registerPolicyConditionPath(\"NumericGreaterThan\", \"nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin\");\n this.registerPolicyConditionPath(\"NumericLessThan\", \"nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin\");\n this.registerPolicyConditionPath(\"StringEquals\", \"nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin\");\n this.registerPolicyConditionPath(\"IsNull\", \"nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin\");\n this.registerPolicyConditionPath(\"IsNotNull\", \"nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin\");\n\n // Policy Effect Plugins\n this.registerPolicyEffectPath(\"Show\", \"nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin\");\n this.registerPolicyEffectPath(\"Hide\", \"nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin\");\n this.registerPolicyEffectPath(\"Validate\", \"nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin\");\n this.registerPolicyEffectPath(\"Invalidate\", \"nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin\");\n this.registerPolicyEffectPath(\"Require\", \"nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin\");\n this.registerPolicyEffectPath(\"Optional\", \"nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin\");\n this.registerPolicyEffectPath(\"Enable\", \"nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin\");\n this.registerPolicyEffectPath(\"Disable\", \"nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin\");\n }\n\n public static getInstance(): PluginRegistry {\n if (!PluginRegistry.instance) {\n PluginRegistry.instance = new PluginRegistry();\n }\n return PluginRegistry.instance;\n }\n\n public registerPluginPath(type: FieldType, widgetName: string | undefined, path: string): void {\n const key = widgetName ? `${type}:${widgetName}` : type;\n this.fieldIndex[key] = path;\n }\n\n public registerActionPath(actionName: string, path: string): void {\n this.actionIndex[actionName] = path;\n }\n\n public registerLayoutPath(strategy: string, path: string): void {\n this.layoutIndex[strategy] = path;\n }\n\n public registerPolicyConditionPath(conditionKey: string, path: string): void {\n this.policyConditionIndex[conditionKey] = path;\n }\n\n public registerPolicyEffectPath(effectName: string, path: string): void {\n this.policyEffectIndex[effectName] = path;\n }\n\n private getFieldPath(type: FieldType, widgetName?: string): string {\n let path;\n if (widgetName) {\n path = this.fieldIndex[`${type}:${widgetName}`];\n }\n if (!path) {\n path = this.fieldIndex[type];\n }\n if (!path) {\n throw new Error(`No plugin path mapped for FieldType: ${type} (widget: ${widgetName})`);\n }\n return path;\n }\n\n private getLayoutPath(strategy: string): string {\n const path = this.layoutIndex[strategy];\n if (!path) {\n throw new Error(`No layout path mapped for strategy: ${strategy}`);\n }\n return path;\n }\n\n /**\n * Statically traverses the schema structure to identify all required plugins\n * and layouts without actually instantiating them.\n * \n * @param {ISchema} schema The root JSON schema payload to traverse\n * @returns {Set<string>} A distinct set of UI5 module paths required to render the schema\n */\n public getPathsToLoad(schema: ISchema): Set<string> {\n const pathsToLoad = new Set<string>();\n \n // 1. Gather layout strategy\n const strategy = schema.layoutStrategy || (schema.type === SCHEMA_TYPE.ARRAY ? LAYOUT_STRATEGY.TABLE : LAYOUT_STRATEGY.FORM);\n pathsToLoad.add(this.getLayoutPath(strategy));\n\n // 2. Recursively gather field plugins\n const scanProperties = (props: Record<string, IPropertyMetadata>) => {\n for (const key in props) {\n const prop = props[key];\n try {\n pathsToLoad.add(this.getFieldPath(prop.type || SCHEMA_TYPE.STRING, prop.ui?.widget));\n } catch (e) {\n const msg = `[MetaUI LazyLoad] Could not find mapped plugin for field ${key}: ${(e as Error).message}`;\n Logger.error(msg);\n throw new Error(msg);\n }\n if (prop.properties) scanProperties(prop.properties);\n if (prop.items && prop.items.properties) scanProperties(prop.items.properties);\n if (prop.items && prop.items.type) {\n try {\n pathsToLoad.add(this.getFieldPath(prop.items.type, prop.items.ui?.widget));\n } catch (e) {\n const msg = `[MetaUI LazyLoad] Could not find mapped plugin for array item type ${prop.items.type}: ${(e as Error).message}`;\n Logger.error(msg);\n throw new Error(msg);\n }\n }\n }\n };\n\n if (schema.properties) {\n scanProperties(schema.properties);\n } else if (schema.items && schema.items.properties) {\n scanProperties(schema.items.properties);\n }\n\n // 3. Gather Policy Plugins\n if (schema.uiPolicies) {\n for (const policy of schema.uiPolicies) {\n if (policy.condition) {\n for (const key of Object.keys(policy.condition)) {\n if (this.policyConditionIndex[key]) {\n pathsToLoad.add(this.policyConditionIndex[key]);\n }\n }\n }\n if (policy.effect && this.policyEffectIndex[policy.effect]) {\n pathsToLoad.add(this.policyEffectIndex[policy.effect]);\n }\n }\n }\n\n return pathsToLoad;\n }\n\n /**\n * Defers the generation of the UI until all required UI5 modules have been\n * downloaded asynchronously. Maintains a cache of active promises to prevent\n * redundant network requests for the same module.\n * \n * @param {ISchema} schema The root JSON schema payload to parse\n * @returns {Promise<void>} Resolves when all dependencies are securely in the UI5 require cache\n */\n public async preloadDependencies(schema: ISchema): Promise<void> {\n const pathsToLoad = this.getPathsToLoad(schema);\n\n // 3. Batch execute sap.ui.require via Promises\n const promises = Array.from(pathsToLoad).map(path => {\n if (!this.activePromises[path]) {\n this.activePromises[path] = new Promise((resolve, reject) => {\n sap.ui.require([path], \n (Module: unknown) => {\n if (!this.extractConstructor(Module)) {\n Logger.error(`[MetaUI PluginRegistry] Module ${path} loaded successfully but exported no valid constructor.`);\n delete this.activePromises[path];\n reject(new Error(`Invalid module export: ${path}`));\n } else {\n resolve(Module);\n }\n }, \n (err: unknown) => {\n Logger.error(`Failed to lazy load module: ${path}`);\n // CRITICAL: Delete from cache so future attempts can retry the network request\n delete this.activePromises[path];\n reject(err);\n }\n );\n });\n }\n return this.activePromises[path];\n });\n\n await Promise.all(promises);\n }\n\n /**\n * Extracts a valid constructor from a dynamically required module.\n */\n private extractConstructor(Module: unknown): unknown {\n if (!Module) return null;\n if (typeof Module === \"function\") return Module;\n const mod = Module as Record<string, unknown>;\n if (mod.default && typeof mod.default === \"function\") return mod.default;\n \n // Handle namespace exports (e.g. { FormLayout: class... })\n const keys = Object.keys(mod);\n for (const key of keys) {\n if (typeof mod[key] === \"function\") {\n return mod[key];\n }\n }\n return null;\n }\n\n public getPluginScore(type: FieldType, widgetName?: string): number {\n try {\n const path = this.getFieldPath(type, widgetName);\n const Module = sap.ui.require(path);\n const Constructor = this.extractConstructor(Module) as Record<string, unknown>;\n if (Constructor && typeof Constructor.layoutScore === \"number\") {\n return Constructor.layoutScore as number;\n }\n } catch (e) {\n // Ignore if module not loaded or mapping missing, fallback to 1\n }\n return 1;\n }\n\n public isPluginNativelyWide(type: FieldType, widgetName?: string): boolean {\n try {\n const path = this.getFieldPath(type, widgetName);\n const Module = sap.ui.require(path);\n const Constructor = this.extractConstructor(Module) as Record<string, unknown>;\n if (Constructor && typeof Constructor.isNativelyWide === \"boolean\") {\n return Constructor.isNativelyWide as boolean;\n }\n } catch (e) {\n // Ignore errors, default false\n }\n return false;\n }\n\n /**\n * Instantiates the requested plugin for the given field type.\n */\n public getPlugin(type: FieldType, widgetName?: string): IPlugin {\n const path = this.getFieldPath(type, widgetName);\n const Module = sap.ui.require(path);\n const PluginClass = this.extractConstructor(Module) as new () => IPlugin;\n \n if (!PluginClass) {\n throw new Error(`[MetaUI Plugin Instantiation] Plugin ${path} was not preloaded or has no constructor!`);\n }\n \n return new PluginClass();\n }\n\n /**\n * Instantiates the requested layout manager for the given strategy.\n */\n public getLayout(strategy: string): ILayoutManager {\n const path = this.getLayoutPath(strategy);\n const Module = sap.ui.require(path);\n const LayoutClass = this.extractConstructor(Module) as new () => ILayoutManager;\n \n if (!LayoutClass) {\n throw new Error(`[MetaUI Layout Instantiation] Layout ${path} was not preloaded or has no constructor!`);\n }\n \n return new LayoutClass();\n }\n\n /**\n * Gets a specific condition plugin.\n */\n public getPolicyConditionPlugin(conditionKey: string): IPolicyConditionPlugin | undefined {\n const path = this.policyConditionIndex[conditionKey];\n if (!path) return undefined;\n \n const Module = sap.ui.require(path);\n const PluginClass = this.extractConstructor(Module) as new () => IPolicyConditionPlugin;\n if (!PluginClass) return undefined;\n \n return new PluginClass();\n }\n\n /**\n * Gets a specific effect plugin.\n */\n public getPolicyEffectPlugin(effectName: string): IPolicyEffectPlugin | undefined {\n const path = this.policyEffectIndex[effectName];\n if (!path) return undefined;\n \n const Module = sap.ui.require(path);\n const PluginClass = this.extractConstructor(Module) as new () => IPolicyEffectPlugin;\n if (!PluginClass) return undefined;\n \n return new PluginClass();\n }\n}\n"],"mappings":"4FAAA,MASSA,EAAWC,EAAA,qBAAEC,EAAWD,EAAA,qBAAEE,EAAeF,EAAA,yBAGzCG,EAAMC,EAAA,UAGR,MAAMC,EAGDC,WAAqC,CAAC,EACtCC,YAAsC,CAAC,EACvCC,YAAsC,CAAC,EAEvCC,qBAA+C,CAAC,EAChDC,kBAA4C,CAAC,EAE7CC,eAAmD,CAAC,EAEpDC,cAEJC,KAAKC,mBAAmBf,EAAYgB,OAAQC,UAAW,4DACvDH,KAAKC,mBAAmBf,EAAYkB,OAAQD,UAAW,4DACvDH,KAAKC,mBAAmBf,EAAYmB,QAASF,UAAW,4DACxDH,KAAKC,mBAAmBf,EAAYoB,KAAMH,UAAW,0DACrDH,KAAKC,mBAAmBf,EAAYqB,QAASJ,UAAW,6DACxDH,KAAKC,mBAAmBf,EAAYsB,MAAOL,UAAW,2DACtDH,KAAKC,mBAAmBf,EAAYuB,OAAQN,UAAW,4DACvDH,KAAKC,mBAAmBf,EAAYgB,OAAQ,UAAW,4DACvDF,KAAKC,mBAAmBf,EAAYuB,OAAQrB,EAAYsB,eAAgB,mEACxEV,KAAKC,mBAAmBf,EAAYuB,OAAQrB,EAAYuB,UAAW,+DAGnEX,KAAKC,mBAAmBf,EAAYgB,OAAQd,EAAYwB,KAAM,0DAC9DZ,KAAKC,mBAAmBf,EAAYgB,OAAQd,EAAYyB,SAAU,8DAClEb,KAAKC,mBAAmBf,EAAYqB,QAASnB,EAAY0B,OAAQ,4DACjEd,KAAKC,mBAAmBf,EAAYkB,OAAQhB,EAAY2B,KAAM,+DAC9Df,KAAKC,mBAAmBf,EAAYgB,OAAQd,EAAY4B,OAAQ,8DAChEhB,KAAKC,mBAAmBf,EAAYgB,OAAQd,EAAY6B,UAAW,8DACnEjB,KAAKC,mBAAmBf,EAAYgB,OAAQd,EAAY8B,YAAa,gEACrElB,KAAKC,mBAAmBf,EAAYgB,OAAQd,EAAY+B,KAAM,0DAC9DnB,KAAKC,mBAAmBf,EAAYgB,OAAQd,EAAYgC,SAAU,8DAClEpB,KAAKC,mBAAmBf,EAAYgB,OAAQd,EAAYiC,MAAO,2DAG/DrB,KAAKC,mBAAmBf,EAAYgB,OAAQd,EAAYkC,cAAe,kEACvEtB,KAAKC,mBAAmBf,EAAYsB,MAAOpB,EAAYmC,aAAc,iEACrEvB,KAAKC,mBAAmBf,EAAYsB,MAAOpB,EAAYoC,YAAa,gEACpExB,KAAKC,mBAAmBf,EAAYkB,OAAQhB,EAAYqC,OAAQ,4DAChEzB,KAAKC,mBAAmBf,EAAYkB,OAAQhB,EAAYsC,OAAQ,qEAChE1B,KAAKC,mBAAmBf,EAAYgB,OAAQd,EAAYuC,cAAe,kEAGvE3B,KAAKC,mBAAmBf,EAAYgB,OAAQd,EAAYwC,OAAQ,4DAChE5B,KAAKC,mBAAmBf,EAAYgB,OAAQd,EAAYyC,UAAW,+DACnE7B,KAAKC,mBAAmBf,EAAYuB,OAAQrB,EAAY0C,SAAU,iEAClE9B,KAAKC,mBAAmBf,EAAYgB,OAAQd,EAAY2C,QAAS,oEACjE/B,KAAKC,mBAAmBf,EAAYgB,OAAQd,EAAY4C,YAAa,gEACrEhC,KAAKC,mBAAmBf,EAAYgB,OAAQd,EAAY6C,UAAW,8DAGnEjC,KAAKC,mBAAmBf,EAAYgB,OAAQd,EAAY8C,WAAY,wEACpElC,KAAKC,mBAAmBf,EAAYgB,OAAQd,EAAY+C,cAAe,qEACvEnC,KAAKC,mBAAmBf,EAAYgB,OAAQd,EAAYgD,aAAc,yEACtEpC,KAAKC,mBAAmBf,EAAYgB,OAAQd,EAAYiD,gBAAiB,uEACzErC,KAAKC,mBAAmBf,EAAYgB,OAAQd,EAAYkD,YAAa,mEACrEtC,KAAKC,mBAAmBf,EAAYgB,OAAQd,EAAYmD,kBAAmB,wEAG3EvC,KAAKwC,mBAAmBnD,EAAgBoD,KAAM,iDAC9CzC,KAAKwC,mBAAmBnD,EAAgBqD,MAAO,kDAC/C1C,KAAKwC,mBAAmBnD,EAAgBsD,OAAQ,mDAChD3C,KAAKwC,mBAAmBnD,EAAgBuD,QAAS,oDAGjD5C,KAAK6C,4BAA4B,qBAAsB,4FACvD7C,KAAK6C,4BAA4B,kBAAmB,yFACpD7C,KAAK6C,4BAA4B,eAAgB,sFACjD7C,KAAK6C,4BAA4B,SAAU,gFAC3C7C,KAAK6C,4BAA4B,YAAa,mFAG9C7C,KAAK8C,yBAAyB,OAAQ,8EACtC9C,KAAK8C,yBAAyB,OAAQ,8EACtC9C,KAAK8C,yBAAyB,WAAY,4EAC1C9C,KAAK8C,yBAAyB,aAAc,4EAC5C9C,KAAK8C,yBAAyB,UAAW,+EACzC9C,KAAK8C,yBAAyB,WAAY,+EAC1C9C,KAAK8C,yBAAyB,SAAU,4EACxC9C,KAAK8C,yBAAyB,UAAW,2EAC7C,CAEA,kBAAcC,GACV,IAAKvD,EAAewD,SAAU,CAC1BxD,EAAewD,SAAW,IAAIxD,CAClC,CACA,OAAOA,EAAewD,QAC1B,CAEO/C,mBAAmBgD,EAAiBC,EAAgCC,GACvE,MAAMC,EAAMF,EAAa,GAAGD,KAAQC,IAAeD,EACnDjD,KAAKP,WAAW2D,GAAOD,CAC3B,CAEOE,mBAAmBC,EAAoBH,GAC1CnD,KAAKN,YAAY4D,GAAcH,CACnC,CAEOX,mBAAmBe,EAAkBJ,GACxCnD,KAAKL,YAAY4D,GAAYJ,CACjC,CAEON,4BAA4BW,EAAsBL,GACrDnD,KAAKJ,qBAAqB4D,GAAgBL,CAC9C,CAEOL,yBAAyBW,EAAoBN,GAChDnD,KAAKH,kBAAkB4D,GAAcN,CACzC,CAEQO,aAAaT,EAAiBC,GAClC,IAAIC,EACJ,GAAID,EAAY,CACZC,EAAOnD,KAAKP,WAAW,GAAGwD,KAAQC,IACtC,CACA,IAAKC,EAAM,CACPA,EAAOnD,KAAKP,WAAWwD,EAC3B,CACA,IAAKE,EAAM,CACP,MAAM,IAAIQ,MAAM,wCAAwCV,cAAiBC,KAC7E,CACA,OAAOC,CACX,CAEQS,cAAcL,GAClB,MAAMJ,EAAOnD,KAAKL,YAAY4D,GAC9B,IAAKJ,EAAM,CACP,MAAM,IAAIQ,MAAM,uCAAuCJ,IAC3D,CACA,OAAOJ,CACX,CASOU,eAAeC,GAClB,MAAMC,EAAc,IAAIC,IAGxB,MAAMT,EAAWO,EAAOG,iBAAmBH,EAAOb,OAAS/D,EAAYsB,MAAQnB,EAAgBqD,MAAQrD,EAAgBoD,MACvHsB,EAAYG,IAAIlE,KAAK4D,cAAcL,IAGnC,MAAMY,EAAkBC,IACpB,IAAK,MAAMhB,KAAOgB,EAAO,CACrB,MAAMC,EAAOD,EAAMhB,GACnB,IACIW,EAAYG,IAAIlE,KAAK0D,aAAaW,EAAKpB,MAAQ/D,EAAYgB,OAAQmE,EAAKC,IAAIC,QAChF,CAAE,MAAOC,GACL,MAAMC,EAAM,4DAA4DrB,MAASoB,EAAYE,UAC7FpF,EAAOqF,MAAMF,GACb,MAAM,IAAId,MAAMc,EACpB,CACA,GAAIJ,EAAKO,WAAYT,EAAeE,EAAKO,YACzC,GAAIP,EAAKQ,OAASR,EAAKQ,MAAMD,WAAYT,EAAeE,EAAKQ,MAAMD,YACnE,GAAIP,EAAKQ,OAASR,EAAKQ,MAAM5B,KAAM,CAC/B,IACIc,EAAYG,IAAIlE,KAAK0D,aAAaW,EAAKQ,MAAM5B,KAAMoB,EAAKQ,MAAMP,IAAIC,QACtE,CAAE,MAAOC,GACL,MAAMC,EAAM,sEAAsEJ,EAAKQ,MAAM5B,SAAUuB,EAAYE,UACnHpF,EAAOqF,MAAMF,GACb,MAAM,IAAId,MAAMc,EACpB,CACJ,CACJ,GAGJ,GAAIX,EAAOc,WAAY,CACnBT,EAAeL,EAAOc,WAC1B,MAAO,GAAId,EAAOe,OAASf,EAAOe,MAAMD,WAAY,CAChDT,EAAeL,EAAOe,MAAMD,WAChC,CAGA,GAAId,EAAOgB,WAAY,CACnB,IAAK,MAAMC,KAAUjB,EAAOgB,WAAY,CACpC,GAAIC,EAAOC,UAAW,CAClB,IAAK,MAAM5B,KAAO6B,OAAOC,KAAKH,EAAOC,WAAY,CAC7C,GAAIhF,KAAKJ,qBAAqBwD,GAAM,CAChCW,EAAYG,IAAIlE,KAAKJ,qBAAqBwD,GAC9C,CACJ,CACJ,CACA,GAAI2B,EAAOI,QAAUnF,KAAKH,kBAAkBkF,EAAOI,QAAS,CACxDpB,EAAYG,IAAIlE,KAAKH,kBAAkBkF,EAAOI,QAClD,CACJ,CACJ,CAEA,OAAOpB,CACX,CAUA,yBAAaqB,CAAoBtB,GAC7B,MAAMC,EAAc/D,KAAK6D,eAAeC,GAGxC,MAAMuB,EAAWC,MAAMC,KAAKxB,GAAayB,IAAIrC,IACzC,IAAKnD,KAAKF,eAAeqD,GAAO,CAC5BnD,KAAKF,eAAeqD,GAAQ,IAAIsC,QAAQ,CAACC,EAASC,KAC9CC,IAAItB,GAAGuB,QAAQ,CAAC1C,GACX2C,IACG,IAAK9F,KAAK+F,mBAAmBD,GAAS,CAClCxG,EAAOqF,MAAM,kCAAkCxB,mEACxCnD,KAAKF,eAAeqD,GAC3BwC,EAAO,IAAIhC,MAAM,0BAA0BR,KAC/C,KAAO,CACHuC,EAAQI,EACZ,GAEHE,IACG1G,EAAOqF,MAAM,+BAA+BxB,YAErCnD,KAAKF,eAAeqD,GAC3BwC,EAAOK,MAIvB,CACA,OAAOhG,KAAKF,eAAeqD,WAGzBsC,QAAQQ,IAAIZ,EACtB,CAKQU,mBAAmBD,GACvB,IAAKA,EAAQ,OAAO,KACpB,UAAWA,IAAW,WAAY,OAAOA,EACzC,MAAMI,EAAMJ,EACZ,GAAII,EAAIC,gBAAkBD,EAAIC,UAAY,WAAY,OAAOD,EAAIC,QAGjE,MAAMjB,EAAOD,OAAOC,KAAKgB,GACzB,IAAK,MAAM9C,KAAO8B,EAAM,CACpB,UAAWgB,EAAI9C,KAAS,WAAY,CAChC,OAAO8C,EAAI9C,EACf,CACJ,CACA,OAAO,IACX,CAEOgD,eAAenD,EAAiBC,GACnC,IACI,MAAMC,EAAOnD,KAAK0D,aAAaT,EAAMC,GACrC,MAAM4C,EAASF,IAAItB,GAAGuB,QAAQ1C,GAC9B,MAAMkD,EAAcrG,KAAK+F,mBAAmBD,GAC5C,GAAIO,UAAsBA,EAAYC,cAAgB,SAAU,CAC5D,OAAOD,EAAYC,WACvB,CACJ,CAAE,MAAO9B,GACL,CAEJ,OAAO,CACX,CAEO+B,qBAAqBtD,EAAiBC,GACzC,IACI,MAAMC,EAAOnD,KAAK0D,aAAaT,EAAMC,GACrC,MAAM4C,EAASF,IAAItB,GAAGuB,QAAQ1C,GAC9B,MAAMkD,EAAcrG,KAAK+F,mBAAmBD,GAC5C,GAAIO,UAAsBA,EAAYG,iBAAmB,UAAW,CAChE,OAAOH,EAAYG,cACvB,CACJ,CAAE,MAAOhC,GACL,CAEJ,OAAO,KACX,CAKOiC,UAAUxD,EAAiBC,GAC9B,MAAMC,EAAOnD,KAAK0D,aAAaT,EAAMC,GACrC,MAAM4C,EAASF,IAAItB,GAAGuB,QAAQ1C,GAC9B,MAAMuD,EAAc1G,KAAK+F,mBAAmBD,GAE5C,IAAKY,EAAa,CACd,MAAM,IAAI/C,MAAM,wCAAwCR,6CAC5D,CAEA,OAAO,IAAIuD,CACf,CAKOC,UAAUpD,GACb,MAAMJ,EAAOnD,KAAK4D,cAAcL,GAChC,MAAMuC,EAASF,IAAItB,GAAGuB,QAAQ1C,GAC9B,MAAMyD,EAAc5G,KAAK+F,mBAAmBD,GAE5C,IAAKc,EAAa,CACd,MAAM,IAAIjD,MAAM,wCAAwCR,6CAC5D,CAEA,OAAO,IAAIyD,CACf,CAKOC,yBAAyBrD,GAC5B,MAAML,EAAOnD,KAAKJ,qBAAqB4D,GACvC,IAAKL,EAAM,OAAOhD,UAElB,MAAM2F,EAASF,IAAItB,GAAGuB,QAAQ1C,GAC9B,MAAMuD,EAAc1G,KAAK+F,mBAAmBD,GAC5C,IAAKY,EAAa,OAAOvG,UAEzB,OAAO,IAAIuG,CACf,CAKOI,sBAAsBrD,GACzB,MAAMN,EAAOnD,KAAKH,kBAAkB4D,GACpC,IAAKN,EAAM,OAAOhD,UAElB,MAAM2F,EAASF,IAAItB,GAAGuB,QAAQ1C,GAC9B,MAAMuD,EAAc1G,KAAK+F,mBAAmBD,GAC5C,IAAKY,EAAa,OAAOvG,UAEzB,OAAO,IAAIuG,CACf,EACH,IAAAK,EAAA,CAAAC,WAAA,MAAAD,EAAAvH,iBAAA,OAAAuH,CAAA","ignoreList":[]}
|
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
|
|
8
8
|
import { IPlugin } from "../interfaces/IPlugin";
|
|
9
9
|
import { FieldType, ISchema, IPropertyMetadata } from "../interfaces/ISchema";
|
|
10
|
+
import { SCHEMA_TYPE, WIDGET_TYPE, LAYOUT_STRATEGY } from "../constants/MetaUIConstants";
|
|
10
11
|
import { ILayoutManager } from "../interfaces/ILayoutManager";
|
|
12
|
+
import { IPolicyConditionPlugin, IPolicyEffectPlugin } from "../interfaces/IPolicyPlugin";
|
|
11
13
|
import { Logger } from "../utils/Logger";
|
|
12
14
|
import { DefaultLayoutGenerator } from "./DefaultLayoutGenerator";
|
|
13
15
|
|
|
@@ -18,62 +20,82 @@ export class PluginRegistry {
|
|
|
18
20
|
private actionIndex: Record<string, string> = {};
|
|
19
21
|
private layoutIndex: Record<string, string> = {};
|
|
20
22
|
|
|
23
|
+
private policyConditionIndex: Record<string, string> = {};
|
|
24
|
+
private policyEffectIndex: Record<string, string> = {};
|
|
25
|
+
|
|
21
26
|
private activePromises: Record<string, Promise<unknown>> = {};
|
|
22
27
|
|
|
23
28
|
private constructor() {
|
|
24
29
|
// Core Mappings
|
|
25
|
-
this.registerPluginPath(
|
|
26
|
-
this.registerPluginPath(
|
|
27
|
-
this.registerPluginPath(
|
|
28
|
-
this.registerPluginPath(
|
|
29
|
-
this.registerPluginPath(
|
|
30
|
-
this.registerPluginPath(
|
|
31
|
-
this.registerPluginPath(
|
|
32
|
-
this.registerPluginPath(
|
|
33
|
-
this.registerPluginPath(
|
|
34
|
-
this.registerPluginPath(
|
|
30
|
+
this.registerPluginPath(SCHEMA_TYPE.STRING, undefined, "nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin");
|
|
31
|
+
this.registerPluginPath(SCHEMA_TYPE.NUMBER, undefined, "nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin");
|
|
32
|
+
this.registerPluginPath(SCHEMA_TYPE.INTEGER, undefined, "nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin");
|
|
33
|
+
this.registerPluginPath(SCHEMA_TYPE.DATE, undefined, "nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin");
|
|
34
|
+
this.registerPluginPath(SCHEMA_TYPE.BOOLEAN, undefined, "nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin");
|
|
35
|
+
this.registerPluginPath(SCHEMA_TYPE.ARRAY, undefined, "nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin");
|
|
36
|
+
this.registerPluginPath(SCHEMA_TYPE.OBJECT, undefined, "nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin");
|
|
37
|
+
this.registerPluginPath(SCHEMA_TYPE.STRING, "default", "nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin");
|
|
38
|
+
this.registerPluginPath(SCHEMA_TYPE.OBJECT, WIDGET_TYPE.DICTIONARY_MAP, "nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin");
|
|
39
|
+
this.registerPluginPath(SCHEMA_TYPE.OBJECT, WIDGET_TYPE.REFERENCE, "nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin");
|
|
35
40
|
|
|
36
41
|
// Widget Overrides
|
|
37
|
-
this.registerPluginPath(
|
|
38
|
-
this.registerPluginPath(
|
|
39
|
-
this.registerPluginPath(
|
|
40
|
-
this.registerPluginPath(
|
|
41
|
-
this.registerPluginPath(
|
|
42
|
-
this.registerPluginPath(
|
|
43
|
-
this.registerPluginPath(
|
|
44
|
-
this.registerPluginPath(
|
|
45
|
-
this.registerPluginPath(
|
|
46
|
-
this.registerPluginPath(
|
|
42
|
+
this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.TIME, "nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin");
|
|
43
|
+
this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.DATETIME, "nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin");
|
|
44
|
+
this.registerPluginPath(SCHEMA_TYPE.BOOLEAN, WIDGET_TYPE.SWITCH, "nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin");
|
|
45
|
+
this.registerPluginPath(SCHEMA_TYPE.NUMBER, WIDGET_TYPE.STEP, "nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin");
|
|
46
|
+
this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.SELECT, "nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin");
|
|
47
|
+
this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.TEXT_AREA, "nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin");
|
|
48
|
+
this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.CODE_EDITOR, "nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin");
|
|
49
|
+
this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.LINK, "nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin");
|
|
50
|
+
this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.PASSWORD, "nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin");
|
|
51
|
+
this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.EMAIL, "nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin");
|
|
47
52
|
|
|
48
53
|
// Phase 1 Mappings
|
|
49
|
-
this.registerPluginPath(
|
|
50
|
-
this.registerPluginPath(
|
|
51
|
-
this.registerPluginPath(
|
|
52
|
-
this.registerPluginPath(
|
|
53
|
-
this.registerPluginPath(
|
|
54
|
-
this.registerPluginPath(
|
|
54
|
+
this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.FILE_UPLOADER, "nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin");
|
|
55
|
+
this.registerPluginPath(SCHEMA_TYPE.ARRAY, WIDGET_TYPE.MULTI_SELECT, "nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin");
|
|
56
|
+
this.registerPluginPath(SCHEMA_TYPE.ARRAY, WIDGET_TYPE.MULTI_INPUT, "nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin");
|
|
57
|
+
this.registerPluginPath(SCHEMA_TYPE.NUMBER, WIDGET_TYPE.SLIDER, "nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin");
|
|
58
|
+
this.registerPluginPath(SCHEMA_TYPE.NUMBER, WIDGET_TYPE.RATING, "nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin");
|
|
59
|
+
this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.MESSAGE_STRIP, "nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin");
|
|
55
60
|
|
|
56
61
|
// Phase 5 Mappings (Hardware)
|
|
57
|
-
this.registerPluginPath(
|
|
58
|
-
this.registerPluginPath(
|
|
59
|
-
this.registerPluginPath(
|
|
60
|
-
this.registerPluginPath(
|
|
61
|
-
this.registerPluginPath(
|
|
62
|
-
this.registerPluginPath(
|
|
62
|
+
this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.CAMERA, "nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin");
|
|
63
|
+
this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.SIGNATURE, "nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin");
|
|
64
|
+
this.registerPluginPath(SCHEMA_TYPE.OBJECT, WIDGET_TYPE.LOCATION, "nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin");
|
|
65
|
+
this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.SCANNER, "nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin");
|
|
66
|
+
this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.VOICE_INPUT, "nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin");
|
|
67
|
+
this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.RICH_TEXT, "nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin");
|
|
63
68
|
|
|
64
69
|
// Actions & Datasources
|
|
65
|
-
this.registerPluginPath(
|
|
66
|
-
this.registerPluginPath(
|
|
67
|
-
this.registerPluginPath(
|
|
68
|
-
this.registerPluginPath(
|
|
69
|
-
this.registerPluginPath(
|
|
70
|
-
this.registerPluginPath(
|
|
70
|
+
this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.URL_BUTTON, "nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin");
|
|
71
|
+
this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.SUBMIT_BUTTON, "nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin");
|
|
72
|
+
this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.ODATA_SELECT, "nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin");
|
|
73
|
+
this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.REMOTE_DROPDOWN, "nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin");
|
|
74
|
+
this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.LIVE_SEARCH, "nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin");
|
|
75
|
+
this.registerPluginPath(SCHEMA_TYPE.STRING, WIDGET_TYPE.REMOTE_VALUE_HELP, "nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin");
|
|
71
76
|
|
|
72
77
|
// Layouts
|
|
73
|
-
this.registerLayoutPath(
|
|
74
|
-
this.registerLayoutPath(
|
|
75
|
-
this.registerLayoutPath(
|
|
76
|
-
this.registerLayoutPath(
|
|
78
|
+
this.registerLayoutPath(LAYOUT_STRATEGY.FORM, "nz/co/siliconst/ui5/metaui/layouts/FormLayout");
|
|
79
|
+
this.registerLayoutPath(LAYOUT_STRATEGY.TABLE, "nz/co/siliconst/ui5/metaui/layouts/TableLayout");
|
|
80
|
+
this.registerLayoutPath(LAYOUT_STRATEGY.WIZARD, "nz/co/siliconst/ui5/metaui/layouts/WizardLayout");
|
|
81
|
+
this.registerLayoutPath(LAYOUT_STRATEGY.COMPACT, "nz/co/siliconst/ui5/metaui/layouts/CompactLayout");
|
|
82
|
+
|
|
83
|
+
// Policy Condition Plugins
|
|
84
|
+
this.registerPolicyConditionPath("NumericGreaterThan", "nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin");
|
|
85
|
+
this.registerPolicyConditionPath("NumericLessThan", "nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin");
|
|
86
|
+
this.registerPolicyConditionPath("StringEquals", "nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin");
|
|
87
|
+
this.registerPolicyConditionPath("IsNull", "nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin");
|
|
88
|
+
this.registerPolicyConditionPath("IsNotNull", "nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin");
|
|
89
|
+
|
|
90
|
+
// Policy Effect Plugins
|
|
91
|
+
this.registerPolicyEffectPath("Show", "nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin");
|
|
92
|
+
this.registerPolicyEffectPath("Hide", "nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin");
|
|
93
|
+
this.registerPolicyEffectPath("Validate", "nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin");
|
|
94
|
+
this.registerPolicyEffectPath("Invalidate", "nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin");
|
|
95
|
+
this.registerPolicyEffectPath("Require", "nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin");
|
|
96
|
+
this.registerPolicyEffectPath("Optional", "nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin");
|
|
97
|
+
this.registerPolicyEffectPath("Enable", "nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin");
|
|
98
|
+
this.registerPolicyEffectPath("Disable", "nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin");
|
|
77
99
|
}
|
|
78
100
|
|
|
79
101
|
public static getInstance(): PluginRegistry {
|
|
@@ -96,6 +118,14 @@ export class PluginRegistry {
|
|
|
96
118
|
this.layoutIndex[strategy] = path;
|
|
97
119
|
}
|
|
98
120
|
|
|
121
|
+
public registerPolicyConditionPath(conditionKey: string, path: string): void {
|
|
122
|
+
this.policyConditionIndex[conditionKey] = path;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
public registerPolicyEffectPath(effectName: string, path: string): void {
|
|
126
|
+
this.policyEffectIndex[effectName] = path;
|
|
127
|
+
}
|
|
128
|
+
|
|
99
129
|
private getFieldPath(type: FieldType, widgetName?: string): string {
|
|
100
130
|
let path;
|
|
101
131
|
if (widgetName) {
|
|
@@ -129,7 +159,7 @@ export class PluginRegistry {
|
|
|
129
159
|
const pathsToLoad = new Set<string>();
|
|
130
160
|
|
|
131
161
|
// 1. Gather layout strategy
|
|
132
|
-
const strategy = schema.layoutStrategy || (schema.type ===
|
|
162
|
+
const strategy = schema.layoutStrategy || (schema.type === SCHEMA_TYPE.ARRAY ? LAYOUT_STRATEGY.TABLE : LAYOUT_STRATEGY.FORM);
|
|
133
163
|
pathsToLoad.add(this.getLayoutPath(strategy));
|
|
134
164
|
|
|
135
165
|
// 2. Recursively gather field plugins
|
|
@@ -137,7 +167,7 @@ export class PluginRegistry {
|
|
|
137
167
|
for (const key in props) {
|
|
138
168
|
const prop = props[key];
|
|
139
169
|
try {
|
|
140
|
-
pathsToLoad.add(this.getFieldPath(prop.type ||
|
|
170
|
+
pathsToLoad.add(this.getFieldPath(prop.type || SCHEMA_TYPE.STRING, prop.ui?.widget));
|
|
141
171
|
} catch (e) {
|
|
142
172
|
const msg = `[MetaUI LazyLoad] Could not find mapped plugin for field ${key}: ${(e as Error).message}`;
|
|
143
173
|
Logger.error(msg);
|
|
@@ -163,6 +193,22 @@ export class PluginRegistry {
|
|
|
163
193
|
scanProperties(schema.items.properties);
|
|
164
194
|
}
|
|
165
195
|
|
|
196
|
+
// 3. Gather Policy Plugins
|
|
197
|
+
if (schema.uiPolicies) {
|
|
198
|
+
for (const policy of schema.uiPolicies) {
|
|
199
|
+
if (policy.condition) {
|
|
200
|
+
for (const key of Object.keys(policy.condition)) {
|
|
201
|
+
if (this.policyConditionIndex[key]) {
|
|
202
|
+
pathsToLoad.add(this.policyConditionIndex[key]);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
if (policy.effect && this.policyEffectIndex[policy.effect]) {
|
|
207
|
+
pathsToLoad.add(this.policyEffectIndex[policy.effect]);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
|
|
166
212
|
return pathsToLoad;
|
|
167
213
|
}
|
|
168
214
|
|
|
@@ -182,7 +228,15 @@ export class PluginRegistry {
|
|
|
182
228
|
if (!this.activePromises[path]) {
|
|
183
229
|
this.activePromises[path] = new Promise((resolve, reject) => {
|
|
184
230
|
sap.ui.require([path],
|
|
185
|
-
(Module: unknown) =>
|
|
231
|
+
(Module: unknown) => {
|
|
232
|
+
if (!this.extractConstructor(Module)) {
|
|
233
|
+
Logger.error(`[MetaUI PluginRegistry] Module ${path} loaded successfully but exported no valid constructor.`);
|
|
234
|
+
delete this.activePromises[path];
|
|
235
|
+
reject(new Error(`Invalid module export: ${path}`));
|
|
236
|
+
} else {
|
|
237
|
+
resolve(Module);
|
|
238
|
+
}
|
|
239
|
+
},
|
|
186
240
|
(err: unknown) => {
|
|
187
241
|
Logger.error(`Failed to lazy load module: ${path}`);
|
|
188
242
|
// CRITICAL: Delete from cache so future attempts can retry the network request
|
|
@@ -201,28 +255,57 @@ export class PluginRegistry {
|
|
|
201
255
|
/**
|
|
202
256
|
* Extracts a valid constructor from a dynamically required module.
|
|
203
257
|
*/
|
|
204
|
-
private extractConstructor(Module: unknown):
|
|
258
|
+
private extractConstructor(Module: unknown): unknown {
|
|
205
259
|
if (!Module) return null;
|
|
206
|
-
if (typeof Module === "function") return Module
|
|
207
|
-
|
|
260
|
+
if (typeof Module === "function") return Module;
|
|
261
|
+
const mod = Module as Record<string, unknown>;
|
|
262
|
+
if (mod.default && typeof mod.default === "function") return mod.default;
|
|
208
263
|
|
|
209
264
|
// Handle namespace exports (e.g. { FormLayout: class... })
|
|
210
|
-
const keys = Object.keys(
|
|
265
|
+
const keys = Object.keys(mod);
|
|
211
266
|
for (const key of keys) {
|
|
212
|
-
if (typeof
|
|
213
|
-
return
|
|
267
|
+
if (typeof mod[key] === "function") {
|
|
268
|
+
return mod[key];
|
|
214
269
|
}
|
|
215
270
|
}
|
|
216
271
|
return null;
|
|
217
272
|
}
|
|
218
273
|
|
|
274
|
+
public getPluginScore(type: FieldType, widgetName?: string): number {
|
|
275
|
+
try {
|
|
276
|
+
const path = this.getFieldPath(type, widgetName);
|
|
277
|
+
const Module = sap.ui.require(path);
|
|
278
|
+
const Constructor = this.extractConstructor(Module) as Record<string, unknown>;
|
|
279
|
+
if (Constructor && typeof Constructor.layoutScore === "number") {
|
|
280
|
+
return Constructor.layoutScore as number;
|
|
281
|
+
}
|
|
282
|
+
} catch (e) {
|
|
283
|
+
// Ignore if module not loaded or mapping missing, fallback to 1
|
|
284
|
+
}
|
|
285
|
+
return 1;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
public isPluginNativelyWide(type: FieldType, widgetName?: string): boolean {
|
|
289
|
+
try {
|
|
290
|
+
const path = this.getFieldPath(type, widgetName);
|
|
291
|
+
const Module = sap.ui.require(path);
|
|
292
|
+
const Constructor = this.extractConstructor(Module) as Record<string, unknown>;
|
|
293
|
+
if (Constructor && typeof Constructor.isNativelyWide === "boolean") {
|
|
294
|
+
return Constructor.isNativelyWide as boolean;
|
|
295
|
+
}
|
|
296
|
+
} catch (e) {
|
|
297
|
+
// Ignore errors, default false
|
|
298
|
+
}
|
|
299
|
+
return false;
|
|
300
|
+
}
|
|
301
|
+
|
|
219
302
|
/**
|
|
220
303
|
* Instantiates the requested plugin for the given field type.
|
|
221
304
|
*/
|
|
222
305
|
public getPlugin(type: FieldType, widgetName?: string): IPlugin {
|
|
223
306
|
const path = this.getFieldPath(type, widgetName);
|
|
224
307
|
const Module = sap.ui.require(path);
|
|
225
|
-
const PluginClass = this.extractConstructor(Module);
|
|
308
|
+
const PluginClass = this.extractConstructor(Module) as new () => IPlugin;
|
|
226
309
|
|
|
227
310
|
if (!PluginClass) {
|
|
228
311
|
throw new Error(`[MetaUI Plugin Instantiation] Plugin ${path} was not preloaded or has no constructor!`);
|
|
@@ -237,7 +320,7 @@ export class PluginRegistry {
|
|
|
237
320
|
public getLayout(strategy: string): ILayoutManager {
|
|
238
321
|
const path = this.getLayoutPath(strategy);
|
|
239
322
|
const Module = sap.ui.require(path);
|
|
240
|
-
const LayoutClass = this.extractConstructor(Module);
|
|
323
|
+
const LayoutClass = this.extractConstructor(Module) as new () => ILayoutManager;
|
|
241
324
|
|
|
242
325
|
if (!LayoutClass) {
|
|
243
326
|
throw new Error(`[MetaUI Layout Instantiation] Layout ${path} was not preloaded or has no constructor!`);
|
|
@@ -245,4 +328,32 @@ export class PluginRegistry {
|
|
|
245
328
|
|
|
246
329
|
return new LayoutClass();
|
|
247
330
|
}
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* Gets a specific condition plugin.
|
|
334
|
+
*/
|
|
335
|
+
public getPolicyConditionPlugin(conditionKey: string): IPolicyConditionPlugin | undefined {
|
|
336
|
+
const path = this.policyConditionIndex[conditionKey];
|
|
337
|
+
if (!path) return undefined;
|
|
338
|
+
|
|
339
|
+
const Module = sap.ui.require(path);
|
|
340
|
+
const PluginClass = this.extractConstructor(Module) as new () => IPolicyConditionPlugin;
|
|
341
|
+
if (!PluginClass) return undefined;
|
|
342
|
+
|
|
343
|
+
return new PluginClass();
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
/**
|
|
347
|
+
* Gets a specific effect plugin.
|
|
348
|
+
*/
|
|
349
|
+
public getPolicyEffectPlugin(effectName: string): IPolicyEffectPlugin | undefined {
|
|
350
|
+
const path = this.policyEffectIndex[effectName];
|
|
351
|
+
if (!path) return undefined;
|
|
352
|
+
|
|
353
|
+
const Module = sap.ui.require(path);
|
|
354
|
+
const PluginClass = this.extractConstructor(Module) as new () => IPolicyEffectPlugin;
|
|
355
|
+
if (!PluginClass) return undefined;
|
|
356
|
+
|
|
357
|
+
return new PluginClass();
|
|
358
|
+
}
|
|
248
359
|
}
|