@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,94 +1,107 @@
|
|
|
1
1
|
//@ui5-bundle nz/co/siliconst/ui5/metaui/library-preload.js
|
|
2
2
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/ai/AIConfig", ["./MockLLMProxy"],function(t){"use strict";const i=t["MockLLMProxy"];class r{static activeProxy=new i;static endpointUrl="/api/mock/ai";static setProxy(t){this.activeProxy=t}static getProxy(){return this.activeProxy}static setEndpointUrl(t){this.endpointUrl=t}static getEndpointUrl(){return this.endpointUrl}}var e={__esModule:true};e.AIConfig=r;return e});
|
|
3
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator", [],function(){"use strict";class e{async generateSchema(e,t){const r=this.buildDataSkeleton(e,t);if(Object.keys(r).length===0){return t||{type:"object",properties:{}}}const s=await this.callLLM(r);return this.deepMergeSchemas(s,t)}buildDataSkeleton(e,t){const r={};if(!e||typeof e!=="object")return r;const s=t?.properties?Object.keys(t.properties):[];for(const
|
|
3
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator", [],function(){"use strict";class e{async generateSchema(e,t){const r=this.buildDataSkeleton(e,t);if(Object.keys(r).length===0){return t||{type:"object",properties:{}}}const s=await this.callLLM(r);return this.deepMergeSchemas(s,t)}buildDataSkeleton(e,t){const r={};if(!e||typeof e!=="object")return r;const s=t?.properties?Object.keys(t.properties):[];const c=e;for(const e of Object.keys(c)){if(!s.includes(e)){r[e]=`type: ${typeof c[e]}`}}return r}deepMergeSchemas(e,t){const r=e||{};const s=Object.assign({},r);if(t===null||typeof t!=="object")return s;const c=t;Object.keys(c).forEach(e=>{if(Array.isArray(c[e])){s[e]=Array.isArray(r[e])?Array.from(new Set([...r[e],...c[e]])):[...c[e]]}else if(typeof c[e]==="object"&&c[e]!==null){if(r[e]&&typeof r[e]==="object"){s[e]=this.deepMergeSchemas(r[e],c[e])}else{s[e]=Object.assign({},c[e])}}else{s[e]=c[e]}});return s}}var t={__esModule:true};t.BaseAIGenerator=e;return t});
|
|
4
4
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/ai/MockLLMProxy", ["./BaseAIGenerator","../utils/Logger"],function(e,o){"use strict";const t=e["BaseAIGenerator"];const i=o["Logger"];class s extends t{callLLM(e){return new Promise(o=>{i.info("[MockLLMProxy]","Simulating AI Schema generation for keys:",Object.keys(e));setTimeout(()=>{const t={type:"object",properties:{}};for(const o of Object.keys(e)){const i={type:e[o].includes("number")?"number":"string",ui:{label:this.camelCaseToTitle(o)}};if(o.toLowerCase().includes("email")){i.ui.widget="email";i.ui.format="email"}else if(o.toLowerCase().includes("phone")){i.ui.widget="phone";i.ui.format="phone"}else if(o.toLowerCase().includes("date")){i.ui.widget="date"}else if(o.toLowerCase().includes("active")||o.toLowerCase().includes("is")){i.type="boolean";i.ui.widget="switch"}else if(o.toLowerCase().includes("limit")||o.toLowerCase().includes("amount")||o.toLowerCase().includes("salary")){i.type="number";i.ui.widget="currency"}t.properties[o]=i}i.info("[MockLLMProxy]","Schema generation complete.");o(t)},1500)})}camelCaseToTitle(e){return e.replace(/([A-Z])/g," $1").replace(/^./,e=>e.toUpperCase())}}var r={__esModule:true};r.MockLLMProxy=s;return r});
|
|
5
5
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/ai/RestLLMProxy", ["./BaseAIGenerator","../utils/Logger","./AIConfig"],function(e,t,o){"use strict";const r=e["BaseAIGenerator"];const n=t["Logger"];const s=o["AIConfig"];class i extends r{async callLLM(e){const t=s.getEndpointUrl();if(!t){throw new Error("[RestLLMProxy] No AI Endpoint configured in AIConfig.")}n.info("[RestLLMProxy]",`Sending skeleton to ${t}...`);try{const o=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({skeleton:e})});if(!o.ok){throw new Error(`HTTP error! status: ${o.status}`)}const r=await o.json();n.info("[RestLLMProxy]","Successfully received schema from backend.");return r}catch(e){n.error("[RestLLMProxy]",`Failed to fetch LLM schema: ${e.message}`);return{type:"object",properties:{}}}}}var a={__esModule:true};a.RestLLMProxy=i;return a});
|
|
6
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/constants/MetaUIConstants", [],function(){"use strict";const E={INLINE:"inline",DIALOG:"dialog"};const e={OBJECT:"object",ARRAY:"array",STRING:"string",NUMBER:"number",INTEGER:"integer",BOOLEAN:"boolean",DATE:"date"};const t={REFERENCE:"reference",DICTIONARY_MAP:"dictionaryMap",TIME:"time",DATETIME:"datetime",SWITCH:"switch",STEP:"step",SELECT:"select",TEXT_AREA:"textArea",CODE_EDITOR:"codeEditor",LINK:"link",PASSWORD:"password",EMAIL:"email",FILE_UPLOADER:"fileUploader",MULTI_SELECT:"multiSelect",MULTI_INPUT:"multiInput",SLIDER:"slider",RATING:"rating",MESSAGE_STRIP:"messageStrip",CAMERA:"camera",SIGNATURE:"signature",LOCATION:"location",SCANNER:"scanner",VOICE_INPUT:"voiceInput",RICH_TEXT:"richText",URL_BUTTON:"urlButton",SUBMIT_BUTTON:"submitButton",ODATA_SELECT:"odataSelect",REMOTE_DROPDOWN:"remoteDropdown",LIVE_SEARCH:"liveSearch",REMOTE_VALUE_HELP:"remoteValueHelp"};const T={FORM:"form",TABLE:"table",WIZARD:"wizard",COMPACT:"compact"};const I={SUBMIT:"submit",CHANGE:"change",PRESS:"press",LIVE_CHANGE:"liveChange"};const n={TOKENS:"tokens",ITEMS:"items"};const A={DEFINITIONS:"#/definitions/",COMPONENTS_SCHEMAS:"#/components/schemas/"};var i={__esModule:true};i.RENDER_MODE=E;i.SCHEMA_TYPE=e;i.WIDGET_TYPE=t;i.LAYOUT_STRATEGY=T;i.UI5_EVENT=I;i.UI5_AGGREGATION=n;i.OPENAPI_PREFIX=A;return i});
|
|
6
7
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl", ["sap/ui/core/Control","./BaseHardwareControlRenderer"],function(e,t){"use strict";function a(e){return e&&e.__esModule&&typeof e.default!=="undefined"?e.default:e}const n=a(t);const r=e.extend("nz.co.siliconst.ui5.metaui.controls.BaseHardwareControl",{renderer:n,metadata:{properties:{value:{type:"any",defaultValue:null},schemaMetadata:{type:"object",defaultValue:null},readOnly:{type:"boolean",defaultValue:false}},aggregations:{_content:{type:"sap.m.VBox",multiple:false,visibility:"hidden"}},events:{capture:{parameters:{value:{type:"any"}}}}},setValueAndFire:function e(t){this.setProperty("value",t,true);this.fireEvent("capture",{value:t})},renderContent:function e(t,a){}});return r});
|
|
7
8
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer", [],function(){"use strict";var n={apiVersion:2,render:function(n,e){n.openStart("div",e);n.class("sapUiSmallMarginBottom");n.openEnd();const t=e.getAggregation("_content");if(t){n.renderControl(t)}if(typeof e.renderContent==="function"){e.renderContent(n,e)}n.close("div")}};return n});
|
|
8
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/CameraControl", ["./BaseHardwareControl","sap/m/Button","sap/m/VBox","sap/ui/core/HTML","sap/m/MessageToast","sap/m/Image","../utils/Logger"],function(e,t,i,s,a,r,n){"use strict";function o(e){return e&&e.__esModule&&typeof e.default!=="undefined"?e.default:e}const l=o(e);const h=n["Logger"];class d extends l{static renderer="nz.co.siliconst.ui5.metaui.controls.BaseHardwareControlRenderer";static metadata={properties:{},events:{}};videoEl=null;mediaStream=null;init(){super.init();this.videoHtml=new s({content:"<video width='400' height='300' autoplay playsinline style='background-color: #000; display: none;'></video>",afterRendering:this.onVideoRendered.bind(this)}).addStyleClass("sapUiSmallMarginBottom");this.previewImage=new r({width:"400px",visible:false}).addStyleClass("sapUiSmallMarginBottom");this.startBtn=new t({icon:"sap-icon://video",text:"Start Camera",press:this.handleStartCameraPress.bind(this)});this.captureBtn=new t({icon:"sap-icon://camera",text:"Capture",visible:false,press:this.captureImage.bind(this)});this.retakeBtn=new t({icon:"sap-icon://undo",text:"Retake",visible:false,press:this.retakeImage.bind(this)});this.vBox=new i({items:[this.videoHtml,this.previewImage,this.startBtn,this.captureBtn,this.retakeBtn]});this.setAggregation("_content",this.vBox)}async onVideoRendered(){const e=this.videoHtml.getDomRef();if(!e)return;this.videoEl=e;const t=this.
|
|
9
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/DynamicHost", ["sap/ui/core/Control","./host/GeneratorHost","../utils/Logger","./host/delegates/ODataDelegate","../core/SchemaBuilderRegistry"],function(t,e,i,n,a){"use strict";function
|
|
10
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/GeolocationControl", ["./BaseHardwareControl","./BaseHardwareControlRenderer","sap/m/Button","sap/m/Input","sap/m/VBox","sap/m/MessageToast"],function(t,e,o,i,n,s){"use strict";function
|
|
11
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/RichTextControl", ["./BaseHardwareControl","./BaseHardwareControlRenderer","sap/m/VBox","sap/ui/richtexteditor/RichTextEditor"],function(t,e,i,r){"use strict";function n(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const o=n(t);const s=n(e);const h=o.extend("nz.co.siliconst.ui5.metaui.controls.RichTextControl",{
|
|
12
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/SignatureControl", ["./BaseHardwareControl","sap/m/Button","sap/m/VBox","sap/ui/core/HTML","sap/m/MessageToast"],function(t,s,a,i,n){"use strict";function e(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const h=e(t);class r extends h{
|
|
13
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/VoiceInputControl", ["./BaseHardwareControl","sap/m/Button","sap/m/VBox","sap/m/TextArea","sap/m/MessageToast","sap/m/HBox","../utils/Logger"],function(t,e,i,s,n,o,r){"use strict";function a(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const c=a(t);const h=r["Logger"];class l extends c{
|
|
14
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost", ["sap/ui/core/Control","../../utils/Logger","../../core/SchemaNormalizer","../../core/SchemaValidator","../../core/Engine","../../core/StateManager","./delegates/DataSyncDelegate","./delegates/ValidationDelegate","./delegates/DialogDelegate","sap/m/MessageBox","sap/m/MessageStrip","sap/m/VBox","../../core/PluginRegistry"],function(e,t,a,i,n,s,r,o,l,g,d,h,u){"use strict";const c=t["Logger"];const p=a["SchemaNormalizer"];const f=i["SchemaValidator"];const y=n["Engine"];const m=s["StateManager"];const M=r["DataSyncDelegate"];const b=o["ValidationDelegate"];const P=l["DialogDelegate"];const D=u["PluginRegistry"];const S=e.extend("nz.co.siliconst.ui5.metaui.controls.host.GeneratorHost",{renderer:{apiVersion:2,render(e,t){e.openStart("div",t);e.style("width","100%");e.style("height","100%");e.openEnd();const a=t.getAggregation("_content");if(a){e.renderControl(a)}e.close("div")}},metadata:{properties:{schemaDefinition:{type:"any",defaultValue:null},schemaDefinitions:{type:"object",defaultValue:{}},schemaTarget:{type:"string",defaultValue:null},pluginRegistry:{type:"object",defaultValue:null},schemaBuilderRegistry:{type:"object",defaultValue:null},data:{type:"object",defaultValue:null,bindable:"bindable"},dataJson:{type:"string",defaultValue:null,bindable:"bindable"},liveUpdate:{type:"boolean",defaultValue:false},isValid:{type:"boolean",defaultValue:true},useMessageManager:{type:"boolean",defaultValue:false},modelName:{type:"string",defaultValue:"meta"},debugMode:{type:"boolean",defaultValue:false},editable:{type:"boolean",defaultValue:true}},aggregations:{_content:{type:"sap.ui.core.Control",multiple:false,visibility:"hidden"}},events:{beforeSubmit:{parameters:{payload:{type:"object"},addError:{type:"function"},preventDefault:{type:"function"}}},submit:{parameters:{payload:{type:"object"},payloadJson:{type:"string"}}},cancel:{},fieldChange:{parameters:{fieldPath:{type:"string"},value:{type:"any"},payload:{type:"object"},isValid:{type:"boolean"}}},validationStateChanged:{parameters:{isValid:{type:"boolean"}}},validationError:{parameters:{fieldPath:{type:"string"},message:{type:"string"}}},validationSuccess:{parameters:{fieldPath:{type:"string"}}},error:{parameters:{message:{type:"string"},exception:{type:"object"}}}}},constructor:function t(a,i){e.prototype.constructor.call(this,a,i);this.stateManager=null;this.generatedContent=null;this.engine=null;this.activeModelName="";this.parsedSchema=null;this._generatePromise=null},init:function t(){e.prototype.init.call(this);this.dataSyncDelegate=new M(this);this.validationDelegate=new b(this);this.dialogDelegate=new P(this);this.onInternalFieldChange=this.onInternalFieldChange.bind(this)},setDebugMode:function e(t){this.setProperty("debugMode",t,true);c.setDebugMode(t);return this},setProperty:function t(a,i,n){e.prototype.setProperty.call(this,a,i,n);if(a==="useMessageManager"&&this.stateManager){this.stateManager.setUseMessageManager(i===true)}return this},getStateManager:function e(){return this.stateManager},getSchemaDefinition:function e(t){const a=this.getProperty("schemaDefinitions");if(!a||!t)return undefined;let i=t;if(i.startsWith("#/definitions/")){i=i.substring(14)}else if(i.startsWith("#/components/schemas/")){i=i.substring(21)}return a[i]},tearDownGeneratedLayout:function e(){if(this.generatedContent){this.validationDelegate.unregisterObject(this.generatedContent);this.generatedContent.destroy();this.generatedContent=null}},onInternalFieldChange:function e(t,a,i,n){const s=this.stateManager?this.stateManager.extractPayload():{};if(this.getProperty("liveUpdate")===true){if(this.getProperty("debugMode")){c.debug("[MetaUI]","liveUpdate is enabled, pushing outbound payload.","GeneratorHost")}this.dataSyncDelegate.pushToBindings(s)}const r=this.getProperty("isValid");if(t!==r){this.setProperty("isValid",t,true);this.fireEvent("validationStateChanged",{isValid:t});if(this.getProperty("debugMode")){c.debug("[MetaUI]",`Validation state shifted to: ${t}`,"GeneratorHost")}}this.fireEvent("fieldChange",{fieldPath:a||"",value:undefined,payload:s,isValid:t})},exit:function e(){if(this.engine){this.engine.destroy();this.engine=null}if(this.stateManager){this.stateManager.getModel().destroy();this.stateManager=null}if(this.generatedContent){this.generatedContent.destroy();this.generatedContent=null}},getParsedSchema:function e(){return this.parsedSchema},onBeforeRendering:function e(){if(this.getProperty("debugMode")){c.debug("[MetaUI GeneratorHost]",`onBeforeRendering called. Engine boot state: schemaDefinition exists = ${!!this.getProperty("schemaDefinition")}, data exists = ${!!this.getProperty("data")}, dataJson exists = ${!!this.getProperty("dataJson")}`,"GeneratorHost")}if(!this.generatedContent){const e=!!this.getProperty("schemaDefinition");const t=!!this.getProperty("dataJson")||!!this.getProperty("data");if(e||t){this.generate()}else{const e="GeneratorHost skipped rendering. Neither 'schemaDefinition' nor 'data' was provided.";c.error("[MetaUI]",e,"GeneratorHost");this.fireEvent("error",{message:e});throw new Error(e)}}},triggerSubmit:function e(){if(this.stateManager&&this.engine){let e=false;this.validationDelegate.removeAllMessages();const t=this.getProperty("useMessageManager")!==true;const a=this.engine.validateAll(t);if(a.length>0){this.validationDelegate.pushMessage("","One or more fields failed schema validation. Please review the highlighted fields.");for(const e of a){if(e.fieldKey&&e.errorMessage){this.validationDelegate.pushMessage(e.fieldKey,e.errorMessage)}}return false}const i=this.stateManager.extractPayload();const n=JSON.stringify(i);this.fireEvent("beforeSubmit",{payload:i,preventDefault:()=>{e=true},addError:(a,i)=>{e=true;this.validationDelegate.pushMessage(a,i);if(t&&this.engine){const e=this.engine.getPluginByPath(a);if(e&&typeof e.setVisualValidationState==="function"){e.setVisualValidationState(false,i)}}}});if(e){return false}this.dataSyncDelegate.pushToBindings(i);this.fireEvent("submit",{payload:i,payloadJson:n});return true}return false},addCustomError:function e(t,a){this.validationDelegate.addCustomError(t,a);if(this.getProperty("useMessageManager")!==true&&this.engine){const e=this.engine.getPluginByPath(t);if(e&&typeof e.setVisualValidationState==="function"){e.setVisualValidationState(false,a)}}},clearCustomError:function e(t){this.validationDelegate.clearCustomError(t);if(this.getProperty("useMessageManager")!==true&&this.engine){const e=this.engine.getPluginByPath(t);if(e&&typeof e.setVisualValidationState==="function"){const t=e.validate();e.setVisualValidationState(t.isValid,t.errorMessage)}}},setBusy:function t(a){e.prototype.setBusy.call(this,a);return this},setProperty:function t(a,i,n){if(a==="dataJson"||a==="data"){this.dataSyncDelegate.handleInputDataHotSwap(a,i,n);return this}if(a==="editable"||a==="debugMode"||a==="schemaDefinition"||a==="schemaTarget"){const t=this.getProperty(a);if(t!==i){e.prototype.setProperty.call(this,a,i,n);this.tearDownGeneratedLayout()}return this}return e.prototype.setProperty.call(this,a,i,n)},setBaseProperty:function t(a,i,n){return e.prototype.setProperty.call(this,a,i,n)},generate:async function e(){if(this._generatePromise){return this._generatePromise}this._generatePromise=Promise.resolve().then(async()=>{try{await this._doGenerate()}catch(e){c.error("[MetaUI]","Error in deferred generate: "+e,"GeneratorHost");throw e}finally{this._generatePromise=null}});return this._generatePromise},_doGenerate:async function e(){try{this.tearDownGeneratedLayout();let e=null;if(this.stateManager){e=this.stateManager.extractPayload()}if(this.engine){this.engine.destroy();this.engine=null}if(this.stateManager){this.stateManager.getModel().destroy();this.stateManager=null}const t=this.getProperty("schemaDefinition");const a=!t||typeof t==="object"&&Object.keys(t).length===0;let i=this.getProperty("data");const n=this.getProperty("dataJson");if(n){try{i=JSON.parse(n)}catch(e){const t="Failed to parse inputDataJson string: "+e.message;c.error("[MetaUI]",t,"GeneratorHost");this.fireEvent("error",{message:t,exception:e});throw new Error(t)}}else if(typeof i==="string"){try{i=JSON.parse(i)}catch(e){const t="Failed to parse inputData string: "+e.message;c.error("[MetaUI]",t,"GeneratorHost");this.fireEvent("error",{message:t,exception:e});throw new Error(t)}}const s=e||i;if(!s||Object.keys(s).length===0){if(a){const e="No payload provided and no explicit schema defined. Cannot infer UI.";c.error("[MetaUI]",e,"GeneratorHost");this.fireEvent("error",{message:e});throw new Error(e)}}const r=a?null:t;const o=p.normalize(r,s);this.parsedSchema=o;if(o){const e=f.validateSchemaStructure(o);if(e.length>0){const t="Schema Structural Errors Found:\n- "+e.join("\n- ");c.error("[MetaUI]",t,"GeneratorHost");if(this.getProperty("debugMode")){g.error(t,{title:"MetaUI Schema Error"});return}}}const l=this.getProperty("pluginRegistry")||D.getInstance();const u=l.getPathsToLoad(o);const M=Array.from(u).some(e=>!sap.ui.require(e));if(M){this.setBusy(true);await l.preloadDependencies(o);this.setBusy(false)}if(o&&s){this.dataSyncDelegate.injectSchemaDefaults(o,s)}this.activeModelName="metaUI_"+this.getId();this.stateManager=new m(s,o,this.activeModelName);this.stateManager.setUseMessageManager(this.getProperty("useMessageManager")===true);this.setModel(this.stateManager.getModel(),this.activeModelName);if(!this.engine){const e=this.getProperty("editable")!==false;const t=this.getProperty("useMessageManager")===true;const a=this.getProperty("pluginRegistry")||D.getInstance();this.engine=new y(e,t,a);this.engine.host=this}this.generatedContent=this.engine.build(o,this.stateManager.getModel(),this.activeModelName,this.triggerSubmit.bind(this),this.getId(),this.onInternalFieldChange.bind(this));let b=this.generatedContent;const P=o&&Object.keys(o).length>0;if(!P){const e=new d({text:"Warning: The generated UI is blank. Reason: The schema (or inferred schema) contains no valid properties to render.",type:"Warning",showIcon:true,showCloseButton:false});e.addStyleClass("sapUiSmallMarginBottom");b=new h({items:[e,this.generatedContent]})}else if(this.engine.hasPartialRenderingErrors){const e=new d({text:"Layout partially rendered. Some fields failed to generate due to configuration errors.",type:"Warning",showIcon:true,showCloseButton:true});e.addStyleClass("sapUiSmallMarginBottom");b=new h({items:[e,this.generatedContent]})}this.setAggregation("_content",b);this.validationDelegate.registerObject(this.generatedContent);const S=this.stateManager.extractPayload();this.dataSyncDelegate.pushToBindings(S);const v=this.calculateOptimalDialogWidth(this.parsedSchema);this.dialogDelegate.updateDialogWidthDynamically(v)}catch(e){this.setBusy(false);const t="Fatal crash during layout generation: "+e.message;c.error("[MetaUI]",t,"GeneratorHost");this.fireEvent("error",{message:t,exception:e});this.validationDelegate.mountCrashBoundary(e);throw e}},calculateOptimalDialogWidth:function e(t){if(!t)return"auto";let a=false;const i=e=>{if(a)return;for(const t in e){const n=e[t];if(n.type==="array"){a=true;return}if(n.ui?.fullWidth===true){a=true;return}if(n.ui?.widget==="codeEditor"||n.ui?.widget==="textArea"||n.ui?.widget==="richText"){a=true;return}if(n.properties)i(n.properties);if(n.items&&n.items.properties)i(n.items.properties)}};if(t.type==="array")return"80vw";if(t.properties){i(t.properties)}return a?"80vw":"auto"},openInDialog:function e(t="Form",a="OK",i="Cancel",n="auto",s){const r=!!this.generatedContent;let o=n;if(o==="auto"&&this.parsedSchema){o=this.calculateOptimalDialogWidth(this.parsedSchema)}this.dialogDelegate.openInDialog(t,a,r,i,o,s)}});return S});
|
|
15
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate", ["
|
|
16
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate", ["sap/m/Dialog","sap/m/Button","sap/m/BusyDialog","../../../utils/Logger"],function(t,e,i,a){"use strict";const o=a["Logger"];class
|
|
9
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/CameraControl", ["./BaseHardwareControl","sap/m/Button","sap/m/VBox","sap/ui/core/HTML","sap/m/MessageToast","sap/m/Image","../utils/Logger"],function(e,t,i,s,a,r,n){"use strict";function o(e){return e&&e.__esModule&&typeof e.default!=="undefined"?e.default:e}const l=o(e);const h=n["Logger"];class d extends l{static renderer="nz.co.siliconst.ui5.metaui.controls.BaseHardwareControlRenderer";static metadata={properties:{},events:{}};videoEl=null;mediaStream=null;init(){super.init();this.videoHtml=new s({content:"<video width='400' height='300' autoplay playsinline style='background-color: #000; display: none;'></video>",afterRendering:this.onVideoRendered.bind(this)}).addStyleClass("sapUiSmallMarginBottom");this.previewImage=new r({width:"400px",visible:false}).addStyleClass("sapUiSmallMarginBottom");this.startBtn=new t({icon:"sap-icon://video",text:"Start Camera",press:this.handleStartCameraPress.bind(this)});this.captureBtn=new t({icon:"sap-icon://camera",text:"Capture",visible:false,press:this.captureImage.bind(this)});this.retakeBtn=new t({icon:"sap-icon://undo",text:"Retake",visible:false,press:this.retakeImage.bind(this)});this.vBox=new i({items:[this.videoHtml,this.previewImage,this.startBtn,this.captureBtn,this.retakeBtn]});this.setAggregation("_content",this.vBox)}async onVideoRendered(){const e=this.videoHtml.getDomRef();if(!e)return;this.videoEl=e;const t=this.getProperty("value");if(t&&typeof t==="string"&&t.startsWith("data:image")){this.showPreview(t)}else if(this.captureBtn.getVisible()&&this.videoHtml.getVisible()){this.startCamera()}}handleStartCameraPress(){this.startCamera();this.startBtn.setVisible(false);this.captureBtn.setVisible(true);if(this.videoEl){this.videoEl.style.display="block"}}async startCamera(){try{this.mediaStream=await navigator.mediaDevices.getUserMedia({video:{facingMode:"environment"}});if(this.videoEl){this.videoEl.srcObject=this.mediaStream}}catch(e){h.error("Camera access denied or unavailable",e.message,"CameraControl");a.show("Camera access denied or unavailable.")}}stopCamera(){if(this.mediaStream){this.mediaStream.getTracks().forEach(e=>e.stop());this.mediaStream=null}}captureImage(){if(!this.videoEl)return;const e=document.createElement("canvas");e.width=this.videoEl.videoWidth||400;e.height=this.videoEl.videoHeight||300;const t=e.getContext("2d");if(t){t.drawImage(this.videoEl,0,0,e.width,e.height);const i=e.toDataURL("image/jpeg",.8);this.setValueAndFire(i);this.showPreview(i);a.show("Image captured successfully.")}}retakeImage(){this.setValueAndFire(null);this.previewImage.setVisible(false);this.videoHtml.setVisible(true);this.captureBtn.setVisible(true);this.retakeBtn.setVisible(false)}showPreview(e){this.stopCamera();this.videoHtml.setVisible(false);this.previewImage.setSrc(e);this.previewImage.setVisible(true);this.captureBtn.setVisible(false);this.retakeBtn.setVisible(true)}setValue(e){super.setProperty("value",e);if(e&&typeof e==="string"&&e.startsWith("data:image")){this.showPreview(e)}else if(!e){if(this.previewImage.getVisible()){this.retakeImage()}}return this}exit(){this.stopCamera();super.exit()}}return d});
|
|
10
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/DynamicHost", ["sap/ui/core/Control","./host/GeneratorHost","../utils/Logger","./host/delegates/ODataDelegate","../core/SchemaBuilderRegistry","sap/ui/core/BusyIndicator","sap/m/MessageToast","sap/m/MessageBox","../services/SchemaProvider","../ai/AIConfig"],function(t,e,i,n,a,o,s,r,l,c){"use strict";function d(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const h=d(e);const u=i["Logger"];const f=n["ODataDelegate"];const p=a["SchemaBuilderRegistry"];const g=l["SchemaProvider"];const y=c["AIConfig"];const m=t.extend("nz.co.siliconst.ui5.metaui.controls.DynamicHost",{constructor:function e(){t.prototype.constructor.apply(this,arguments);this.odataDelegate=null;this._innerHost=null;this._initializedInner=false},renderer:{apiVersion:2,render(t,e){t.openStart("div",e);t.style("width","100%");t.style("height","100%");t.openEnd();const i=e.getAggregation("_content");if(i){t.renderControl(i)}t.close("div")}},metadata:{properties:{schemaDefinition:{type:"any",defaultValue:null},schemaDefinitions:{type:"object",defaultValue:null},schemaTarget:{type:"string",defaultValue:null},pluginRegistry:{type:"object",defaultValue:null},schemaBuilderRegistry:{type:"object",defaultValue:null},data:{type:"object",defaultValue:null,bindable:"bindable"},dataJson:{type:"string",defaultValue:null,bindable:"bindable"},liveUpdate:{type:"boolean",defaultValue:false},isValid:{type:"boolean",defaultValue:true},useMessageManager:{type:"boolean",defaultValue:false},modelName:{type:"string",defaultValue:"meta"},debugMode:{type:"boolean",defaultValue:false},editable:{type:"boolean",defaultValue:true},layoutBudget:{type:"int",defaultValue:0},inferenceStrategy:{type:"string",defaultValue:"RuleBased"}},aggregations:{_content:{type:"sap.ui.core.Control",multiple:false,visibility:"hidden"}},events:{beforeSubmit:{parameters:{payload:{type:"object"},addError:{type:"function"},preventDefault:{type:"function"}}},submit:{parameters:{payload:{type:"object"},payloadJson:{type:"string"}}},cancel:{},fieldChange:{parameters:{fieldPath:{type:"string"},value:{type:"any"},payload:{type:"object"},isValid:{type:"boolean"}}},validationStateChanged:{parameters:{isValid:{type:"boolean"}}},validationError:{parameters:{fieldPath:{type:"string"},message:{type:"string"}}},validationSuccess:{parameters:{fieldPath:{type:"string"}}},error:{parameters:{message:{type:"string"},exception:{type:"object"}}}}},initODataDelegate:function t(){if(!this.odataDelegate){if(this.getBindingInfo("dataJson")){return}const t=this.getBindingInfo("data");if(t&&t.path&&t.path!==""){return}const e=this.getBindingContext("odata")||this.getBindingContext();if(e){u.debug("[MetaUI DynamicHost]",`Context found for delegate initialization: ${e.getPath()}`,"DynamicHost");if(e&&e.requestObject&&typeof e.requestObject==="function"){u.debug("[MetaUI DynamicHost]",`Context supports requestObject/getObject. Instantiating ODataDelegate.`,"DynamicHost");this.odataDelegate=new f(this,e);this.odataDelegate.syncToEngine()}else{u.debug("[MetaUI DynamicHost]",`Context does NOT support requestObject/getObject! Keys: ${Object.keys(e)}`,"DynamicHost")}}}},setBindingContext:function e(i,n){t.prototype.setBindingContext.call(this,i,n);this.initODataDelegate();return this},bindElement:function e(i,n){t.prototype.bindElement.call(this,i,n);const a=typeof i==="object"?i.model:undefined;const o=this.getElementBinding(a);if(o){o.attachChange(()=>{this.initODataDelegate()})}return this},onBeforeRendering:function e(){u.debug("[MetaUI DynamicHost]",`onBeforeRendering called. _initializedInner: ${this._initializedInner}`,"DynamicHost");this.initODataDelegate();if(!this._initializedInner){let e=this.getProperty("schemaDefinition");if(typeof e==="string"&&(e.startsWith("http://")||e.startsWith("https://"))){const i=this;if(i._fetchingSchema)return;i._fetchingSchema=true;o.show(0);g.resolve(e).then(e=>{const i=p.getBuilderFor(e);const n=i?i.build(e,this.getProperty("schemaTarget")):e;t.prototype.setProperty.call(this,"schemaDefinition",n,true);if(n.definitions){t.prototype.setProperty.call(this,"schemaDefinitions",n.definitions,true)}const a=this;a._fetchingSchema=false;o.hide();this.invalidate()}).catch(e=>{const i=this;s.show("Failed to fetch remote schema");t.prototype.setProperty.call(this,"schemaDefinition",null,true);i._fetchingSchema=false;o.hide();this.invalidate()});return}let i=e;if(i&&typeof i==="string"&&i.trim().startsWith("{")){try{i=JSON.parse(i)}catch(t){}}if(i&&typeof i==="object"){const e=p.getBuilderFor(i);if(e){i=e.build(i,this.getProperty("schemaTarget"));t.prototype.setProperty.call(this,"schemaDefinition",i,true);if(i.definitions){t.prototype.setProperty.call(this,"schemaDefinitions",i.definitions,true)}}}const n=this.getProperty("dataJson");const a=this.getProperty("data");let l=!!i;if(l&&typeof i==="object"&&Object.keys(i).length===0){l=false}const c=!!n||!!a;if(c&&this.getProperty("inferenceStrategy")==="AI"){const e=this;if(e._fetchingSchema)return;e._fetchingSchema=true;let l=a;if(!l&&n){try{l=JSON.parse(n)}catch(t){const e="Ignored invalid dataJson parse: "+t.message;u.error("[DynamicHost]",e,"DynamicHost");r.error(e,{title:"Invalid JSON Data"})}}if(l){o.show(0);const e=y.getProxy();e.generateSchema(l,i||undefined).then(e=>{const i=this;t.prototype.setProperty.call(this,"schemaDefinition",e,true);i._fetchingSchema=false;o.hide();this.invalidate()}).catch(e=>{const i=this;u.warn("[MetaUI DynamicHost]","AI inference failed, falling back to RuleBased. Error: "+e.message,"DynamicHost");s.show("AI Inference failed, using fallback.");t.prototype.setProperty.call(this,"inferenceStrategy","RuleBased",true);i._fetchingSchema=false;o.hide();this.invalidate()});return}}u.debug("[MetaUI DynamicHost]",`Evaluating boot. hasSchema: ${l}, hasData: ${c}`,"DynamicHost");if(l||c){if(this.getProperty("debugMode")){u.debug("[MetaUI DynamicHost]",`Booting inner host. hasSchema: ${l}, hasData: ${c}`,"DynamicHost")}this._innerHost=new h;const e=this.getMetadata().getProperties();for(const i in e){if(i==="inferenceStrategy")continue;const e=t.prototype.getProperty.call(this,i);if(e!==null&&e!==undefined){if(i==="schemaDefinitions"){u.debug(`[MetaUI DynamicHost] Proxying schemaDefinitions: ${Object.keys(e)}`,"","DynamicHost")}this._innerHost.setProperty(i,e)}else if(i==="schemaDefinitions"){u.warn(`[MetaUI DynamicHost] Warning: schemaDefinitions is null/undefined in Wrapper. Defaulting to empty object in GeneratorHost.`,"","DynamicHost")}}this.setAggregation("_content",this._innerHost);const i=this.getMetadata().getEvents();for(const e in i){this._innerHost.attachEvent(e,i=>{if(e==="submit"||e==="fieldChange"){const n=i.getParameters();if(n.payload){const i=this.getProperty("liveUpdate")===true;if(e==="submit"||i){t.prototype.setProperty.call(this,"data",n.payload,true);const e=n.payloadJson||JSON.stringify(n.payload,null,2);t.prototype.setProperty.call(this,"dataJson",e,true)}}}this.fireEvent(e,i.getParameters())})}this._initializedInner=true}}},setProperty:function e(i,n,a){if(i==="data"||i==="dataJson"||i==="schemaDefinition"||i==="schemaDefinitions"){if(this.getProperty("debugMode")){u.debug("[MetaUI DynamicHost]",`Wrapper received setProperty: ${i}`,"DynamicHost")}}t.prototype.setProperty.call(this,i,n,a);if(this._innerHost&&i!=="inferenceStrategy"){this._innerHost.setProperty(i,n,a)}else if(i==="data"||i==="dataJson"||i==="schemaDefinition"||i==="schemaDefinitions"){if(this.getProperty("debugMode")){u.debug("[MetaUI DynamicHost]",`_innerHost not yet initialized when ${i} was set. Booting will happen on next render.`,"DynamicHost")}}return this},openInDialog:function t(e,i,n,a,o){if(!this._innerHost){this.onBeforeRendering()}this._innerHost?.openInDialog(e,i,n,a,o)},triggerSubmit:function t(){if(!this._innerHost){return false}return this._innerHost.triggerSubmit()},addCustomError:function t(e,i){const n=this._innerHost;if(n&&typeof n.addCustomError==="function"){n.addCustomError(e,i)}},clearCustomError:function t(e){const i=this._innerHost;if(i&&typeof i.clearCustomError==="function"){i.clearCustomError(e)}},getProperty:function e(i){if(i==="outputData"){i="data"}if(this._innerHost&&(i==="data"||i==="dataJson")){return this._innerHost.getProperty(i)}return t.prototype.getProperty.call(this,i)}});return m});
|
|
11
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/GeolocationControl", ["./BaseHardwareControl","./BaseHardwareControlRenderer","sap/m/Button","sap/m/Input","sap/m/VBox","sap/m/MessageToast"],function(t,e,o,i,n,s){"use strict";function r(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}function a(t){return new Promise(function(e,o){sap.ui.require([t],function(o){if(!(o&&o.__esModule)){o=o===null||!(typeof o==="object"&&t.endsWith("/library"))?{default:o}:o;Object.defineProperty(o,"__esModule",{value:true})}e(o)},function(t){o(t)})})}const u=r(t);const l=r(e);class c extends u{static renderer=l;init(){super.init();this.locationBtn=new o({icon:"sap-icon://map",text:"Get Location",press:this.getLocation.bind(this)});this.resultInput=new i({editable:false,visible:false});this.vBox=new n({items:[this.locationBtn,this.resultInput]});this.setAggregation("_content",this.vBox)}onBeforeRendering(){const t=this.getProperty("schemaMetadata");if(t&&t.ui&&t.ui.label){this.locationBtn.setText(t.ui.label)}const e=this.getProperty("readOnly");this.locationBtn.setEnabled(!e);const o=this.getProperty("value");if(o){this.resultInput.setValue(o);this.resultInput.setVisible(true)}}getLocation(){if(!navigator.geolocation){s.show("Geolocation is not supported by your browser");return}navigator.geolocation.getCurrentPosition(t=>{const e=`${t.coords.latitude}, ${t.coords.longitude}`;this.resultInput.setValue(e);this.resultInput.setVisible(true);this.setValueAndFire(e);s.show("Location acquired.")},t=>{a("../utils/Logger").then(({Logger:e})=>{e.error("[MetaUI] Geolocation failed or denied",t.message,"GeolocationControl")});s.show("Unable to retrieve your location")})}}return c});
|
|
12
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/RichTextControl", ["./BaseHardwareControl","./BaseHardwareControlRenderer","sap/m/VBox","sap/ui/richtexteditor/RichTextEditor"],function(t,e,i,r){"use strict";function n(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const o=n(t);const s=n(e);const h=o.extend("nz.co.siliconst.ui5.metaui.controls.RichTextControl",{renderer:s,init:function t(){o.prototype.init.call(this);this.richTextEditor=new r({width:"100%",height:"300px",showGroupFont:true,showGroupInsert:true,tooltip:"Rich Text Editor",change:t=>{const e=t.getParameter("newValue");this.setValueAndFire(e)}});this.vBox=new i({items:[this.richTextEditor]});this.setAggregation("_content",this.vBox)},onBeforeRendering:function t(){const e=this.getProperty("readOnly");this.richTextEditor.setEditable(!e);const i=this.getProperty("value");if(i!==undefined&&i!==null){if(this.richTextEditor.getValue()!==i){this.richTextEditor.setValue(i)}}},setValue:function t(e){this.setProperty("value",e,true);if(this.richTextEditor&&e!==undefined&&e!==null){if(this.richTextEditor.getValue()!==e){this.richTextEditor.setValue(e)}}return this}});return h});
|
|
13
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/SignatureControl", ["./BaseHardwareControl","sap/m/Button","sap/m/VBox","sap/ui/core/HTML","sap/m/MessageToast"],function(t,s,a,i,n){"use strict";function e(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const h=e(t);class r extends h{isDrawing=false;canvasCtx=null;canvasEl=null;init(){super.init();this.canvasHtml=new i({content:"<canvas width='400' height='200' style='border: 1px solid #ccc; background-color: #fff; touch-action: none; cursor: crosshair;'></canvas>",afterRendering:this.onCanvasRendered.bind(this)}).addStyleClass("sapUiSmallMarginBottom");this.clearBtn=new s({icon:"sap-icon://sys-cancel",text:"Clear Signature",press:this.clearSignature.bind(this)});this.vBox=new a({items:[this.canvasHtml,this.clearBtn]});this.setAggregation("_content",this.vBox);this.boundStartDrawing=this.startDrawing.bind(this);this.boundDraw=this.draw.bind(this);this.boundStopDrawing=this.stopDrawing.bind(this);this.boundStartDrawingTouch=this.startDrawingTouch.bind(this);this.boundDrawTouch=this.drawTouch.bind(this)}onCanvasRendered(){const t=this.canvasHtml.getDomRef();if(!t)return;this.canvasEl=t;this.canvasCtx=this.canvasEl.getContext("2d");if(this.canvasCtx){this.canvasCtx.lineWidth=2;this.canvasCtx.lineCap="round";this.canvasCtx.strokeStyle="#000"}this.canvasEl.addEventListener("mousedown",this.boundStartDrawing);this.canvasEl.addEventListener("mousemove",this.boundDraw);this.canvasEl.addEventListener("mouseup",this.boundStopDrawing);this.canvasEl.addEventListener("mouseout",this.boundStopDrawing);this.canvasEl.addEventListener("touchstart",this.boundStartDrawingTouch,{passive:false});this.canvasEl.addEventListener("touchmove",this.boundDrawTouch,{passive:false});this.canvasEl.addEventListener("touchend",this.boundStopDrawing);const s=this.getProperty("value");if(s&&typeof s==="string"&&s.startsWith("data:image")){this.loadImageOntoCanvas(s)}}loadImageOntoCanvas(t){const s=new window.Image;s.onload=()=>{if(this.canvasCtx&&this.canvasEl){this.canvasCtx.clearRect(0,0,this.canvasEl.width,this.canvasEl.height);this.canvasCtx.drawImage(s,0,0,this.canvasEl.width,this.canvasEl.height)}};s.src=t}getCoordinates(t){if(!this.canvasEl)return{x:0,y:0};const s=this.canvasEl.getBoundingClientRect();let a,i;if(t.type.startsWith("touch")){a=t.touches[0].clientX;i=t.touches[0].clientY}else{a=t.clientX;i=t.clientY}return{x:a-s.left,y:i-s.top}}startDrawing(t){this.isDrawing=true;this.draw(t)}startDrawingTouch(t){t.preventDefault();this.isDrawing=true;this.drawTouch(t)}draw(t){if(!this.isDrawing||!this.canvasCtx)return;const s=this.getCoordinates(t);this.canvasCtx.lineTo(s.x,s.y);this.canvasCtx.stroke();this.canvasCtx.beginPath();this.canvasCtx.moveTo(s.x,s.y)}drawTouch(t){if(!this.isDrawing||!this.canvasCtx)return;t.preventDefault();const s=this.getCoordinates(t);this.canvasCtx.lineTo(s.x,s.y);this.canvasCtx.stroke();this.canvasCtx.beginPath();this.canvasCtx.moveTo(s.x,s.y)}stopDrawing(){if(!this.isDrawing)return;this.isDrawing=false;if(this.canvasCtx){this.canvasCtx.beginPath();this.saveSignature()}}clearSignature(){if(this.canvasCtx&&this.canvasEl){this.canvasCtx.clearRect(0,0,this.canvasEl.width,this.canvasEl.height)}this.setValueAndFire(null);n.show("Signature cleared.")}saveSignature(){if(this.canvasEl){const t=this.canvasEl.toDataURL("image/png");this.setValueAndFire(t)}}setValue(t){super.setProperty("value",t);if(t&&typeof t==="string"&&t.startsWith("data:image")){this.loadImageOntoCanvas(t)}else if(!t&&this.canvasCtx&&this.canvasEl){this.canvasCtx.clearRect(0,0,this.canvasEl.width,this.canvasEl.height)}return this}exit(){if(this.canvasEl){this.canvasEl.removeEventListener("mousedown",this.boundStartDrawing);this.canvasEl.removeEventListener("mousemove",this.boundDraw);this.canvasEl.removeEventListener("mouseup",this.boundStopDrawing);this.canvasEl.removeEventListener("mouseout",this.boundStopDrawing);this.canvasEl.removeEventListener("touchstart",this.boundStartDrawingTouch);this.canvasEl.removeEventListener("touchmove",this.boundDrawTouch);this.canvasEl.removeEventListener("touchend",this.boundStopDrawing)}this.canvasEl=null;this.canvasCtx=null;super.exit()}}return r});
|
|
14
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/VoiceInputControl", ["./BaseHardwareControl","sap/m/Button","sap/m/VBox","sap/m/TextArea","sap/m/MessageToast","sap/m/HBox","../utils/Logger"],function(t,e,i,s,n,o,r){"use strict";function a(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const c=a(t);const h=r["Logger"];class l extends c{recognition=null;isRecording=false;init(){super.init();this.textArea=new s({rows:3,width:"100%",placeholder:"Dictated text will appear here...",liveChange:t=>{this.setValueAndFire(t.getParameter("value"))}});this.startBtn=new e({icon:"sap-icon://microphone",text:"Start Dictation",type:"Emphasized",press:this.toggleDictation.bind(this)});const t=new o({items:[this.startBtn]}).addStyleClass("sapUiSmallMarginTop");this.vBox=new i({items:[this.textArea,t]});this.setAggregation("_content",this.vBox);this.initSpeechRecognition()}toggleDictation(){if(this.isRecording){this.stopDictation()}else{this.startDictation()}}initSpeechRecognition(){const t=window.SpeechRecognition||window.webkitSpeechRecognition;if(t){this.recognition=new t;this.recognition.continuous=true;this.recognition.interimResults=true;this.recognition.onresult=t=>{let e="";let i="";for(let s=t.resultIndex;s<t.results.length;++s){if(t.results[s].isFinal){e+=t.results[s][0].transcript}else{i+=t.results[s][0].transcript}}const s=this.getProperty("value")||"";const n=s?s+" "+e:e;if(e){this.textArea.setValue(n);this.setValueAndFire(n)}else if(i){this.textArea.setValue(s?s+" "+i:i)}};this.recognition.onstart=()=>{this.isRecording=true;this.startBtn.setIcon("sap-icon://stop");this.startBtn.setText("Stop Recording");this.startBtn.setType("Reject");n.show("Listening... Please speak now.")};this.recognition.onerror=t=>{h.error("Speech recognition error",t.error,"VoiceInputControl");sap.ui.require(["sap/m/MessageBox"],e=>{e.error("Microphone Error: "+t.error+"\n\nPlease ensure you have a working microphone attached and have not blocked access in your browser settings.")});this.stopDictation()};this.recognition.onend=()=>{this.stopDictation()}}else{h.warn("Web Speech API not supported in this browser.","","VoiceInputControl");this.startBtn.setEnabled(false);this.startBtn.setTooltip("Speech Recognition is not supported in this browser.")}}startDictation(){if(!this.recognition)return;try{this.recognition.start();n.show("Requesting microphone access...");this.startBtn.setIcon("sap-icon://stop");this.startBtn.setText("Requesting mic...");this.startBtn.setType("Reject")}catch(t){const e=t;h.error("Failed to start speech recognition",e.message||String(e),"VoiceInputControl");sap.ui.require(["sap/m/MessageBox"],t=>{t.error("Failed to start dictation. Please ensure you have a working microphone and have granted browser permissions.\n\nDetails: "+(e.message||String(e)))});this.stopDictation()}}stopDictation(){if(!this.recognition)return;try{this.recognition.stop()}catch(t){h.warn("Failed to gracefully stop speech recognition.",String(t),"VoiceInputControl")}this.isRecording=false;this.startBtn.setIcon("sap-icon://microphone");this.startBtn.setText("Start Dictation");this.startBtn.setType("Emphasized")}onBeforeRendering(){const t=this.getProperty("readOnly");this.textArea.setEditable(!t);this.startBtn.setEnabled(!t&&!!this.recognition);const e=this.getProperty("value");if(e!==undefined&&e!==null){if(!this.isRecording){this.textArea.setValue(e)}}}exit(){this.stopDictation();if(this.recognition){this.recognition.onstart=null;this.recognition.onresult=null;this.recognition.onerror=null;this.recognition.onend=null;this.recognition=null}super.exit()}}return l});
|
|
15
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost", ["sap/ui/core/Control","../../utils/Logger","../../core/SchemaNormalizer","../../core/SchemaValidator","../../core/Engine","../../core/StateManager","../../core/PolicyEngine","./delegates/DataSyncDelegate","./delegates/ValidationDelegate","./delegates/DialogDelegate","sap/m/MessageBox","sap/m/MessageStrip","sap/m/VBox","../../core/PluginRegistry","../../core/LayoutScorer","../../core/LayoutMutator","../../core/DefaultLayoutGenerator"],function(e,t,a,i,n,s,r,o,l,g,h,d,u,c,p,y,f){"use strict";const m=t["Logger"];const M=a["SchemaNormalizer"];const b=i["SchemaValidator"];const P=n["Engine"];const v=s["StateManager"];const D=r["PolicyEngine"];const S=o["DataSyncDelegate"];const V=l["ValidationDelegate"];const E=g["DialogDelegate"];const C=c["PluginRegistry"];const w=p["LayoutScorer"];const I=y["LayoutMutator"];const B=f["DefaultLayoutGenerator"];const U=e.extend("nz.co.siliconst.ui5.metaui.controls.host.GeneratorHost",{renderer:{apiVersion:2,render(e,t){e.openStart("div",t);e.style("width","100%");e.style("height","100%");e.openEnd();const a=t.getAggregation("_content");if(a){e.renderControl(a)}e.close("div")}},metadata:{properties:{schemaDefinition:{type:"any",defaultValue:null},schemaDefinitions:{type:"object",defaultValue:{}},schemaTarget:{type:"string",defaultValue:null},pluginRegistry:{type:"object",defaultValue:null},schemaBuilderRegistry:{type:"object",defaultValue:null},data:{type:"object",defaultValue:null,bindable:"bindable"},dataJson:{type:"string",defaultValue:null,bindable:"bindable"},liveUpdate:{type:"boolean",defaultValue:false},isValid:{type:"boolean",defaultValue:true},useMessageManager:{type:"boolean",defaultValue:false},modelName:{type:"string",defaultValue:"meta"},debugMode:{type:"boolean",defaultValue:false},editable:{type:"boolean",defaultValue:true},layoutBudget:{type:"int",defaultValue:0},engineScopeId:{type:"string",defaultValue:null}},aggregations:{_content:{type:"sap.ui.core.Control",multiple:false,visibility:"hidden"}},events:{beforeSubmit:{parameters:{payload:{type:"object"},addError:{type:"function"},preventDefault:{type:"function"}}},submit:{parameters:{payload:{type:"object"},payloadJson:{type:"string"}}},cancel:{},fieldChange:{parameters:{fieldPath:{type:"string"},value:{type:"any"},payload:{type:"object"},isValid:{type:"boolean"}}},validationStateChanged:{parameters:{isValid:{type:"boolean"}}},validationError:{parameters:{fieldPath:{type:"string"},message:{type:"string"}}},validationSuccess:{parameters:{fieldPath:{type:"string"}}},error:{parameters:{message:{type:"string"},exception:{type:"object"}}}}},constructor:function t(a,i){e.prototype.constructor.call(this,a,i);this.stateManager=null;this.generatedContent=null;this.engine=null;this.policyEngine=null;this.policyDebounceTimer=null;this.activeModelName="";this.parsedSchema=null;this._generatePromise=null},init:function t(){e.prototype.init.call(this);this.dataSyncDelegate=new S(this);this.validationDelegate=new V(this);this.dialogDelegate=new E(this);this.onInternalFieldChange=this.onInternalFieldChange.bind(this)},setDebugMode:function e(t){this.setProperty("debugMode",t,true);m.setDebugMode(t);return this},getStateManager:function e(){return this.stateManager},getSchemaDefinition:function e(t){const a=this.getProperty("schemaDefinitions");if(!a||!t)return undefined;let i=t;if(i.startsWith("#/definitions/")){i=i.substring(14)}else if(i.startsWith("#/components/schemas/")){i=i.substring(21)}return a[i]},tearDownGeneratedLayout:function e(){if(this.generatedContent){this.validationDelegate.unregisterObject(this.generatedContent);this.generatedContent.destroy();this.generatedContent=null}},onInternalFieldChange:function e(t,a,i,n){const s=this.stateManager?this.stateManager.extractPayload():{};if(this.getProperty("liveUpdate")===true){if(this.getProperty("debugMode")){m.debug("[MetaUI]","liveUpdate is enabled, pushing outbound payload.","GeneratorHost")}this.dataSyncDelegate.pushToBindings(s)}const r=this.getProperty("isValid");if(t!==r){this.setProperty("isValid",t,true);this.fireEvent("validationStateChanged",{isValid:t});if(this.getProperty("debugMode")){m.debug("[MetaUI]",`Validation state shifted to: ${t}`,"GeneratorHost")}}this.fireEvent("fieldChange",{fieldPath:a||"",value:undefined,payload:s,isValid:t});if(this.policyEngine&&a){if(this.policyDebounceTimer)clearTimeout(this.policyDebounceTimer);this.policyDebounceTimer=setTimeout(()=>{this.evaluatePolicies()},200)}},evaluatePolicies:function e(){if(!this.policyEngine||!this.stateManager||!this.engine)return;const t=this.stateManager.extractPayload();const a=this.policyEngine.evaluate(t);for(const e of a){const t=this.engine.getPluginByPath(e.target);if(t){if((e.property==="visibility"||e.property==="editable")&&e.value===false){this.stateManager.setProperty(e.target,undefined)}switch(e.property){case"visibility":if(t.applyVisibility)t.applyVisibility(e.value);break;case"validity":if(e.value){this.engine.reportPolicyError(e.target,null)}else{this.engine.reportPolicyError(e.target,e.errorMessage||"Validation failed by policy")}break;case"required":if(t.applyRequired)t.applyRequired(e.value);break;case"editable":if(t.applyEditable)t.applyEditable(e.value);break}}}},exit:function e(){if(this.engine){this.engine.destroy();this.engine=null}if(this.stateManager){this.stateManager.getModel().destroy();this.stateManager=null}if(this.generatedContent){this.generatedContent.destroy();this.generatedContent=null}},getParsedSchema:function e(){return this.parsedSchema},onBeforeRendering:function e(){if(this.getProperty("debugMode")){m.debug("[MetaUI GeneratorHost]",`onBeforeRendering called. Engine boot state: schemaDefinition exists = ${!!this.getProperty("schemaDefinition")}, data exists = ${!!this.getProperty("data")}, dataJson exists = ${!!this.getProperty("dataJson")}`,"GeneratorHost")}if(!this.generatedContent){const e=!!this.getProperty("schemaDefinition");const t=!!this.getProperty("dataJson")||!!this.getProperty("data");if(e||t){this.generate()}else{const e="GeneratorHost skipped rendering. Neither 'schemaDefinition' nor 'data' was provided.";m.error("[MetaUI]",e,"GeneratorHost");this.fireEvent("error",{message:e});throw new Error(e)}}},triggerSubmit:function e(){if(this.stateManager&&this.engine){let e=false;this.validationDelegate.removeAllMessages();if(this.policyEngine){this.evaluatePolicies()}const t=this.engine.validateAll(true);if(t.length>0){if(this.getProperty("useMessageManager")===true){this.validationDelegate.pushMessage("","One or more fields failed schema validation. Please review the highlighted fields.")}for(const e of t){if(e.fieldKey&&e.errorMessage){this.validationDelegate.pushMessage(e.fieldKey,e.errorMessage,e.fieldLabel)}}return false}const a=this.stateManager.extractPayload();const i=JSON.stringify(a);this.fireEvent("beforeSubmit",{payload:a,preventDefault:()=>{e=true},addError:(t,a)=>{e=true;if(this.getProperty("useMessageManager")===true){this.validationDelegate.pushMessage(t,a)}if(this.engine){const e=this.engine.getPluginByPath(t);if(e&&typeof e.setVisualValidationState==="function"){e.setVisualValidationState(false,a)}}}});if(e){return false}this.dataSyncDelegate.pushToBindings(a);this.fireEvent("submit",{payload:a,payloadJson:i});return true}return false},addCustomError:function e(t,a){this.validationDelegate.addCustomError(t,a);if(this.getProperty("useMessageManager")!==true&&this.engine){const e=this.engine.getPluginByPath(t);if(e&&typeof e.setVisualValidationState==="function"){e.setVisualValidationState(false,a)}}},clearCustomError:function e(t){this.validationDelegate.clearCustomError(t);if(this.getProperty("useMessageManager")!==true&&this.engine){const e=this.engine.getPluginByPath(t);if(e&&typeof e.setVisualValidationState==="function"){const t=e.validate();e.setVisualValidationState(t.isValid,t.errorMessage)}}},setBusy:function t(a){e.prototype.setBusy.call(this,a);return this},setProperty:function t(a,i,n){if(a==="useMessageManager"&&this.stateManager){this.stateManager.setUseMessageManager(i===true)}if(a==="dataJson"||a==="data"){this.dataSyncDelegate.handleInputDataHotSwap(a,i,n);return this}if(a==="editable"||a==="debugMode"||a==="schemaDefinition"||a==="schemaTarget"){const t=this.getProperty(a);if(t!==i){e.prototype.setProperty.call(this,a,i,n);this.tearDownGeneratedLayout()}return this}return e.prototype.setProperty.call(this,a,i,n)},setBaseProperty:function t(a,i,n){return e.prototype.setProperty.call(this,a,i,n)},generate:async function e(){if(this._generatePromise){return this._generatePromise}this._generatePromise=Promise.resolve().then(async()=>{try{await this._doGenerate()}catch(e){m.error("[MetaUI]","Error in deferred generate: "+e,"GeneratorHost");throw e}finally{this._generatePromise=null}});return this._generatePromise},_doGenerate:async function e(){try{this.tearDownGeneratedLayout();let e=null;if(this.stateManager){e=this.stateManager.extractPayload()}if(this.engine){this.engine.destroy();this.engine=null}if(this.stateManager){this.stateManager.getModel().destroy();this.stateManager=null}let t=this.getProperty("schemaDefinition");if(t&&typeof t==="object"){t=JSON.parse(JSON.stringify(t))}const a=!t||typeof t==="object"&&Object.keys(t).length===0;let i=this.getProperty("data");const n=this.getProperty("dataJson");let s="";if(n){try{i=JSON.parse(n)}catch(e){s="Failed to parse inputDataJson string: "+e.message;m.error("[MetaUI]",s,"GeneratorHost");this.fireEvent("error",{message:s,exception:e});i={}}}else if(typeof i==="string"){try{i=JSON.parse(i)}catch(e){s="Failed to parse inputData string: "+e.message;m.error("[MetaUI]",s,"GeneratorHost");this.fireEvent("error",{message:s,exception:e});i={}}}const r=s?i:e||i;if(!r||Object.keys(r).length===0){if(a){const e="No payload provided and no explicit schema defined. Cannot infer UI.";m.error("[MetaUI]",e,"GeneratorHost");this.fireEvent("error",{message:e});throw new Error(e)}}const o=a?null:t;const l=M.normalize(o,r);this.parsedSchema=l;if(l){if(l.uiPolicies&&l.uiPolicies.length>0){this.policyEngine=new D(l.uiPolicies)}else{this.policyEngine=null}const e=b.validateSchemaStructure(l);if(e.length>0){const t="Schema Structural Errors Found:\n- "+e.join("\n- ");m.error("[MetaUI]",t,"GeneratorHost");if(this.getProperty("debugMode")){h.error(t,{title:"MetaUI Schema Error"});return}}}const g=this.getProperty("schemaDefinitions")||{};let c=t;if(typeof t==="string"&&t.trim()!==""){try{c=JSON.parse(t)}catch(e){}}if(c&&typeof c==="object"&&c.definitions){Object.assign(g,c.definitions);this.setProperty("schemaDefinitions",g,true)}let p;if(Object.keys(g).length>0){p={};for(const e in g){try{p[e]=M.normalize(g[e])}catch(t){m.warn(`[MetaUI] Failed to normalize schema definition '${e}'`,"","GeneratorHost")}}}const y=this.getProperty("layoutBudget");if(B.ensureLayout(l)){m.warn("[MetaUI GeneratorHost] Missing 'uiLayout' array in schema. Synthesized a default layout mapping to prevent a blank render.")}w.apply(l,y,p);I.apply(l);const f=this.getProperty("pluginRegistry")||C.getInstance();const S=f.getPathsToLoad(l);const V=Array.from(S).some(e=>!sap.ui.require(e));if(V){this.setBusy(true);await f.preloadDependencies(l);this.setBusy(false)}if(l&&r){this.dataSyncDelegate.injectSchemaDefaults(l,r)}this.activeModelName="metaUI_"+this.getId();this.stateManager=new v(r,l,this.activeModelName);this.stateManager.setUseMessageManager(this.getProperty("useMessageManager")===true);this.setModel(this.stateManager.getModel(),this.activeModelName);if(!this.engine){const e=this.getProperty("editable")!==false;const t=this.getProperty("useMessageManager")===true;const a=this.getProperty("pluginRegistry")||C.getInstance();this.engine=new P(e,t,a);this.engine.host=this}this.generatedContent=this.engine.build(l,this.stateManager.getModel(),this.activeModelName,this.triggerSubmit.bind(this),this.getId(),this.onInternalFieldChange.bind(this));if(this.policyEngine){this.evaluatePolicies()}let E=this.generatedContent;const U=l&&Object.keys(l).length>0;if(!U){const e=new d({text:"Warning: The generated UI is blank. Reason: The schema (or inferred schema) contains no valid properties to render.",type:"Warning",showIcon:true,showCloseButton:true});e.addStyleClass("sapUiSmallMargin");E=new u({items:[e]})}else if(s){const e=new d({text:"Data Error: "+s+". The form has been rendered with a blank dataset.",type:"Error",showIcon:true,showCloseButton:true});e.addStyleClass("sapUiSmallMargin");if(typeof E.insertItem==="function"){E.insertItem(e,0)}else if(typeof E.insertContent==="function"){E.insertContent(e,0)}else{E=new u({items:[e,this.generatedContent]})}}else if(this.engine.hasPartialRenderingErrors){const e=new d({text:"Layout partially rendered. Some fields failed to generate due to configuration errors.",type:"Warning",showIcon:true,showCloseButton:true});e.addStyleClass("sapUiSmallMarginBottom");E=new u({items:[e,this.generatedContent]})}this.setAggregation("_content",E);this.validationDelegate.registerObject(this.generatedContent);const G=this.stateManager.extractPayload();this.dataSyncDelegate.pushToBindings(G);this.dialogDelegate.calculateAndApplyOptimalWidth(this.parsedSchema)}catch(e){this.setBusy(false);const t="Fatal crash during layout generation: "+e.message;m.error("[MetaUI]",t,"GeneratorHost");this.fireEvent("error",{message:t,exception:e});this.validationDelegate.mountCrashBoundary(e);throw e}},openInDialog:function e(t="Form",a="OK",i="Cancel",n="auto",s){const r=!!this.generatedContent;this.dialogDelegate.openInDialog(t,a,r,i,n,s)}});return U});
|
|
16
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate", ["../../../utils/Logger","../../../core/SchemaNormalizer"],function(e,t){"use strict";const s=e["Logger"];const r=t["SchemaNormalizer"];class i{_isSyncing=false;constructor(e){this.host=e}pushToBindings(e){this._isSyncing=true;const t=JSON.stringify(e,null,2);this.host.setProperty("data",e,true);this.host.setProperty("dataJson",t,true);this._isSyncing=false}handleInputDataHotSwap(e,t,i){let o=null;if(typeof t==="string"){try{o=JSON.parse(t)}catch(s){this.host.setBaseProperty(e,t,false);return}}else{o=t}if(o===null){this.host.setBaseProperty(e,t,true);return}if(this._isSyncing){if(this.host.getProperty("debugMode")){s.debug("[MetaUI]",`Dropped echo for ${e} due to active sync lock`,"DataSyncDelegate")}this.host.setBaseProperty(e,t,i);return}if(this.host.getProperty("debugMode")){s.debug("[MetaUI]",`Accepted external injection for ${e}`,"DataSyncDelegate")}this.host.setBaseProperty(e,t,true);const a=this.host.getStateManager();if(!a){this.host.invalidate();return}try{a.getModel().setData(o,false);if(!this.host.getProperty("schemaDefinition")&&typeof this.host.getParsedSchema==="function"){const e=this.host.getParsedSchema();const t=r.inferSchemaFromData(o);if(!this.deepEquals(t,e)){this.host.tearDownGeneratedLayout();this.host.invalidate()}}}catch(t){const r=`Failed to hot-swap ${e}: `+t.message;s.error("[MetaUI]",r,"DataSyncDelegate");throw new Error(r)}}deepEquals(e,t){if(e===t)return true;if(typeof e!=="object"||typeof t!=="object"||e===null||t===null)return false;if(Array.isArray(e)!==Array.isArray(t))return false;const s=Object.keys(e);const r=Object.keys(t);if(s.length!==r.length)return false;for(const i of s){if(!r.includes(i))return false;if(!this.deepEquals(e[i],t[i]))return false}return true}injectSchemaDefaults(e,t,s=0){if(!e||!t||typeof t!=="object"||s>8)return;const r=e;const i=t;if(r.type==="object"&&r.properties){const e=r.properties;for(const t of Object.keys(e)){const r=e[t];if(i[t]===undefined){if(r.default!==undefined){i[t]=r.default}else if(r.type==="object"){const e={};this.injectSchemaDefaults(r,e,s+1);if(Object.keys(e).length>0){i[t]=e}}}else if(typeof i[t]==="object"&&i[t]!==null){this.injectSchemaDefaults(r,i[t],s+1)}}}else if(r.type==="array"&&r.items&&Array.isArray(i)){for(let e=0;e<i.length;e++){if(typeof i[e]==="object"&&i[e]!==null){this.injectSchemaDefaults(r.items,i[e],s+1)}}}}}var o={__esModule:true};o.DataSyncDelegate=i;return o});
|
|
17
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate", ["sap/m/Dialog","sap/m/Button","sap/m/BusyDialog","../../../utils/Logger"],function(t,e,i,a){"use strict";const o=a["Logger"];class r{activeDialog=null;requestedWidth="auto";calculatedOptimalWidth="auto";constructor(t){this.host=t}async openInDialog(a="Form",r="OK",s,n="Cancel",l="auto",u){this.requestedWidth=l;this.calculatedOptimalWidth=l;const c=new i({text:"Building Form..."});c.open();try{const t=this.host.generate();if(t instanceof Promise){await t}}catch(t){c.close();o.error("[MetaUI] Catastrophic error during pre-generation of dialog content",t.message,"DialogDelegate");return}c.close();const d=this.requestedWidth==="auto"&&this.calculatedOptimalWidth!=="auto"?this.calculatedOptimalWidth:this.requestedWidth;const h=new t({title:a,contentWidth:d,content:[this.host],beginButton:new e({text:r,type:"Emphasized",press:()=>{try{const t=this.host.triggerSubmit();if(t){h.close()}}catch(t){o.error("[MetaUI] Catastrophic error during validation/submit pipeline",t.message,"DialogDelegate");this.host.fireEvent("validationError",{fieldPath:"root",message:t.message})}}}),endButton:new e({text:n,press:()=>{this.host.fireEvent("cancel");h.close()}}),afterClose:()=>{this.activeDialog=null;h.destroy()}});this.activeDialog=h;if(u&&typeof u.addDependent==="function"){u.addDependent(h)}h.open()}calculateAndApplyOptimalWidth(t){const e=this.calculateOptimalDialogWidth(t);this.calculatedOptimalWidth=e;if(this.activeDialog&&this.requestedWidth==="auto"&&e!=="auto"){this.activeDialog.setContentWidth(e)}}calculateOptimalDialogWidth(t){if(!t)return"auto";let e=false;const i=new WeakSet;const a=t=>{if(e)return;if(i.has(t))return;i.add(t);for(const i in t){const o=t[i];if(!o||typeof o!=="object")continue;if(o.type==="array"){e=true;return}if(o.ui?.fullWidth===true){e=true;return}if(o.ui?.widget==="codeEditor"||o.ui?.widget==="textArea"||o.ui?.widget==="richText"){e=true;return}if(o.properties)a(o.properties);if(o.items&&o.items.properties)a(o.items.properties)}i.delete(t)};if(t.type==="array")return"80vw";if(t.properties){a(t.properties)}return e?"80vw":"auto"}}var s={__esModule:true};s.DialogDelegate=r;return s});
|
|
17
18
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate", ["../../../utils/Logger"],function(t){"use strict";const e=t["Logger"];class a{odataType=null;isSyncing=false;constructor(t,e){this.host=t;this.context=e;this.detectODataType();this.host.attachEvent("fieldChange",this.onFieldChange,this)}onFieldChange(t){const e=t.getParameters();if(e.fieldPath&&e.value!==undefined){this.handleFieldChange(e.fieldPath,e.value)}}detectODataType(){const t=this.context.getModel();const e=t.getMetadata().getName();if(e.indexOf("v4")>-1){this.odataType="V4"}else if(e.indexOf("v2")>-1||e.indexOf("ODataModel")>-1){this.odataType="V2"}}syncToEngine(){if(!this.odataType)return;if(this.odataType==="V4"){if(typeof this.context.requestObject==="function"){this.context.requestObject().then(t=>{this.pushPayload(t)}).catch(t=>{e.error("[MetaUI]","Failed to extract V4 Context payload: "+t.message,"ODataDelegate")})}}else if(this.odataType==="V2"){const t=this.context.getObject();if(t){this.pushPayload(t)}}}pushPayload(t){if(!t)return;const e={...t};for(const t of Object.keys(e)){if(t.startsWith("@")||t.startsWith("__")){delete e[t]}}this.isSyncing=true;this.host.setProperty("data",e);this.isSyncing=false}handleFieldChange(t,a){if(this.isSyncing||!this.odataType)return;try{if(this.odataType==="V4"){this.context.setProperty(t,a)}else if(this.odataType==="V2"){const e=this.context.getModel();e.setProperty(t,a,this.context)}if(this.host.getProperty("debugMode")){e.debug("[MetaUI]",`ODataDelegate Patched ${t} = ${a} via ${this.odataType}`,"ODataDelegate")}}catch(t){e.error("[MetaUI]",`Failed to patch OData context: ${t.message}`,"ODataDelegate")}}}var s={__esModule:true};s.ODataDelegate=a;return s});
|
|
18
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate", ["sap/m/IllustratedMessage","sap/ui/core/Messaging","../../../utils/Logger","sap/ui/core/message/Message","sap/ui/core/library"],function(e,t,s,r,a){"use strict";const o=s["Logger"];class g{constructor(e){this.host=e}registerObject(e){}unregisterObject(e){}removeAllMessages(){const e=this.host.getStateManager();if(e&&this.host.getProperty("useMessageManager")){const s=t;const r=s.getMessageModel().getData();const a=r.filter(t=>t.getMessageProcessor()&&t.getMessageProcessor().getId()===e.getModel().getId());if(a&&a.length>0){s.removeMessages(a)}}}pushMessage(e,s){const
|
|
19
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/ConditionEngine", ["./Registry"],function(e){"use strict";const r=e["Registry"];const s=new r("Operators");s.register("==",(e,r)=>e==r);s.register("===",(e,r)=>e===r);s.register("!=",(e,r)=>e!=r);s.register("!==",(e,r)=>e!==r);s.register(">",(e,r)=>e>r);s.register("<",(e,r)=>e<r);s.register(">=",(e,r)=>e>=r);s.register("<=",(e,r)=>e<=r);class t{constructor(e){this.schema=e}plugins=new Map;handleEvent(e,r){}registerPlugin(e,r){this.plugins.set(e,r)}destroy(){this.plugins.clear()}}var i={__esModule:true};i.OperatorRegistry=s;i.ConditionEngine=t;return i});
|
|
19
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate", ["sap/m/IllustratedMessage","sap/ui/core/Messaging","../../../utils/Logger","sap/ui/core/message/Message","sap/ui/core/library"],function(e,t,s,r,a){"use strict";const o=s["Logger"];class g{constructor(e){this.host=e}registerObject(e){}unregisterObject(e){}removeAllMessages(){const e=this.host.getStateManager();if(e&&this.host.getProperty("useMessageManager")){const s=t;const r=s.getMessageModel().getData();const a=r.filter(t=>t.getMessageProcessor()&&t.getMessageProcessor().getId()===e.getModel().getId());if(a&&a.length>0){s.removeMessages(a)}}}pushMessage(e,s,g){const n=e?`/${e.replace(/^\//,"")}`:"";const i=g||e;const c=e?`Field '${i}': ${s}`:s;if(e){o.warn(`[MetaUI Validation Error] ${c}`)}else{o.warn(`[MetaUI Validation Error] Global - ${s}`)}if(this.host.getProperty("useMessageManager")===true){const e=t;const s=this.host.getStateManager();e.addMessages(new r({message:c,additionalText:i!==n?i:undefined,type:a.MessageType.Error,target:n,processor:s?.getModel()}))}}addCustomError(e,s){if(this.host.getProperty("useMessageManager")!==true){return}const o=this.host.getStateManager();if(!o){return}t.addMessages(new r({message:s,type:a.MessageType.Error,target:`/${e.replace(/^\//,"")}`,processor:o.getModel(),code:"CustomError"}))}clearCustomError(e){if(this.host.getProperty("useMessageManager")!==true){return}const s=this.host.getStateManager();if(!s){return}const r=`/${e.replace(/^\//,"")}`;const a=s.getModel().getId();const o=t.getMessageModel().getData();const g=o.filter(e=>e.getTarget()===r&&e.getCode()==="CustomError"&&e.getMessageProcessor()?.getId()===a);if(g.length>0){t.removeMessages(g)}}mountCrashBoundary(t){o.error("[MetaUI] Engine failed to generate layout. Preventing Launchpad crash.",t.message,"ValidationDelegate");const s=new e({title:"UI Generation Failed",description:"The dynamic schema could not be rendered. Please check the Fiori console for diagnostic logs."});this.host.setAggregation("_content",s)}}var n={__esModule:true};n.ValidationDelegate=g;return n});
|
|
20
20
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator", ["../utils/Logger"],function(e){"use strict";const t=e["Logger"];class r{static ensureLayout(e){if(e.uiLayout&&Array.isArray(e.uiLayout)&&e.uiLayout.length>0){return false}const t=e.type==="array";const r=t?e.items?.properties:e.properties;if(!r||Object.keys(r).length===0){return false}const o=this.generateElementsFromProperties(r,"#/properties");if(t){e.uiLayout=o.filter(e=>e.type==="Control")}else{e.uiLayout=[{type:"Group",label:e.title,elements:o}]}return true}static generateElementsFromProperties(e,r){const o=[];for(const s of Object.keys(e)){try{const t=e[s];const n=`${r}/${s}`;o.push({type:"Control",scope:n})}catch(e){const r=`[MetaUI] DefaultLayoutGenerator failed to synthesize property '${s}': ${e.message}`;t.error(r);throw new Error(r)}}return o}}var o={__esModule:true};o.DefaultLayoutGenerator=r;return o});
|
|
21
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/Engine", ["./
|
|
22
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/
|
|
23
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/
|
|
21
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/Engine", ["./PluginRegistry","sap/m/Text","../utils/Logger","./DefaultLayoutGenerator","./PipelineManager"],function(e,t,i,r,n){"use strict";const a=e["PluginRegistry"];const s=i["Logger"];const o=r["DefaultLayoutGenerator"];const l=n["GlobalPipeline"];class g{activePlugins=[];templatePlugins=[];validationLedger=new Map;isEditable=true;hasPartialRenderingErrors=false;useMessageManager=false;constructor(e=true,t=false,i){this.isEditable=e;this.useMessageManager=t;this.pluginRegistry=i||a.getInstance()}build(e,i,r="meta",n,a,o){this.activePlugins=[];this.activeModel=i;this.engineScopeId=a;this.onChange=(e,t,i,r)=>{if(t){this.reportSchemaError(t,e?null:i||"Invalid input")}if(o){o(e,t,i,r)}};try{const t=e.layoutStrategy||(e.type==="array"?"table":"form");const i=this.pluginRegistry.getLayout(t);return i.render(e,r,this,n)}catch(e){this.hasPartialRenderingErrors=true;const i=e.message;s.error("[MetaUI Engine] Critical error during layout generation",i);s.showErrorPopup(`Engine failed to generate the layout.\n\nDetails: ${i}`);return new t({text:"Critical Layout Error"})}}generateField(e,i,r,n=false){try{const t=this.pluginRegistry.getPlugin(e.type||"string",e.ui?.widget);if(typeof t.setEditable==="function"){t.setEditable(this.isEditable)}if(typeof t.setUseMessageManager==="function"){t.setUseMessageManager(this.useMessageManager)}if(!n){this.activePlugins.push({plugin:t,path:i})}else{this.templatePlugins.push({plugin:t,path:i})}const a=n?undefined:this.engineScopeId;const s=t.render(e,i,r,a,this.onChange,this.activeModel);return s}catch(e){this.hasPartialRenderingErrors=true;const r=e.message;s.error(`[MetaUI Engine] Failed to generate field at ${i}`,r);s.showErrorPopup(`Failed to generate field '${i}'.\n\nDetails: ${r}`);return new t({text:`[Error generating field ${i}]`})}}generateLayout(e,i,r){try{if(o.ensureLayout(e)){s.warn(`[MetaUI Engine] Missing 'uiLayout' array in sub-schema for ${r}. Synthesized a default layout mapping.`)}const t=e.layoutStrategy||(e.type==="array"?"table":"form");const n=this.pluginRegistry.getLayout(t);return n.render(e,i,this,undefined,r)}catch(e){this.hasPartialRenderingErrors=true;const i=e.message;s.error(`[MetaUI Engine] Critical error generating sub-layout for ${r}`,i);s.showErrorPopup(`Engine failed to generate a sub-layout.\n\nDetails: ${i}`);return new t({text:"Critical Sub-Layout Error"})}}validateAll(e=false){const t=[];for(const i of this.activePlugins){try{const r=i.plugin.validate();if(e){this.reportSchemaError(i.path,r.isValid?null:r.errorMessage||"Invalid input")}if(!r.isValid){r.fieldKey=r.fieldKey||i.path.replace(/^\//,"");t.push(r);s.error("[MetaUI Validation] Plugin failed validation silently:",i.path||i.plugin.constructor.name)}}catch(e){s.error(`[MetaUI Engine] Error validating plugin at ${i.path}`,e.message)}}if(this.host&&typeof this.host.getStateManager==="function"){const i=this.host.getStateManager();if(i){const r=i.extractPayload();const n=i.getSchema?i.getSchema():this.host.getParsedSchema?.();if(r&&n){const i=this.validatePayloadArrays(n,r,"");if(e){i.forEach(e=>{if(e.fieldKey){this.reportSchemaError(e.fieldKey,e.isValid?null:e.errorMessage||"Invalid input")}})}t.push(...i.filter(e=>!e.isValid))}}}return t}onArrayMutated(e){if(this.host&&typeof this.host.getStateManager==="function"){const t=this.host.getStateManager();if(t&&typeof t.clearArrayMessages==="function"){t.clearArrayMessages(e)}}}validatePayloadArrays(e,t,i){const r=[];if(!e||!t||typeof t!=="object")return r;if(e.type==="object"&&e.properties){for(const n of Object.keys(e.properties)){const a=e.properties[n];if(t[n]!==undefined){const e=i?`${i}/${n}`:n;r.push(...this.validatePayloadArrays(a,t[n],e))}}}else if(e.type==="array"&&e.items&&Array.isArray(t)){t.forEach((t,n)=>{const a=i?`${i}/${n}`:`${n}`;if(e.items.type==="object"&&e.items.properties){for(const i of Object.keys(e.items.properties)){const n=e.items.properties[i];const s=`${a}/${i}`;const o=t?t[i]:undefined;const g=[];const u={};if(n.required)g.push("required");if(n.maxLength!==undefined){g.push("maxLength");u["maxLength"]=n.maxLength}if(n.minLength!==undefined){g.push("minLength");u["minLength"]=n.minLength}if(n.pattern!==undefined){g.push("pattern");u["pattern"]={regex:n.pattern}}if(n.minimum!==undefined||n.maximum!==undefined){g.push("range");u["range"]={min:n.minimum,max:n.maximum}}const c=n.ui?.format;if(c==="email"||c==="url"||c==="iban"){g.push(c)}if(g.length>0){const e=l.executeValidation(o,g,u);if(!e.isValid){r.push({isValid:false,errorMessage:e.errorMessage,fieldKey:s,fieldLabel:n.ui?.label||i})}else{r.push({isValid:true,fieldKey:s})}}}}})}return r}getPluginByPath(e){const t=e.replace(/^\//,"");const i=this.activePlugins.find(e=>e.path.replace(/^\//,"")===t);return i?i.plugin:undefined}reportSchemaError(e,t){const i=e.replace(/^\//,"");if(!this.validationLedger.has(i)){this.validationLedger.set(i,{schemaError:null,policyError:null})}this.validationLedger.get(i).schemaError=t;this.resolveVisualState(i)}reportPolicyError(e,t){const i=e.replace(/^\//,"");if(!this.validationLedger.has(i)){this.validationLedger.set(i,{schemaError:null,policyError:null})}this.validationLedger.get(i).policyError=t;this.resolveVisualState(i)}resolveVisualState(e){const t=this.getPluginByPath(e);const i=this.validationLedger.get(e);if(!i)return;const r=i.policyError!==null||i.schemaError!==null;const n=i.policyError||i.schemaError;if(t&&typeof t.setVisualValidationState==="function"){t.setVisualValidationState(!r,r?n||undefined:undefined)}else{this.setNativeControlError(e,r?n||undefined:undefined)}}setNativeControlError(e,t){if(this.host&&this.host.generatedContent){const i=this.host.generatedContent;this.traverseAndSetError(i,e,t)}}traverseAndSetError(e,t,i){if(!e)return;const r=[e.getBindingInfo("value"),e.getBindingInfo("selectedKey"),e.getBindingInfo("dateValue"),e.getBindingInfo("selected")];for(const n of r){if(n&&n.parts&&n.parts.length>0){const r=n.parts[0].path;if(r===t||t.endsWith(r)){const n=e.getBindingContext(this.host.activeModelName);if(n){const a=n.getPath()+"/"+r;const s=a.replace(/^\//,"");if(s===t){if(typeof e.setValueState==="function"){e.setValueState(i?"Error":"None");if(typeof e.setValueStateText==="function"){e.setValueStateText(i||"")}}}}}}}if(typeof e.getAggregation==="function"&&typeof e.getMetadata==="function"){const r=e.getMetadata().getAggregations();for(const n in r){const r=e.getAggregation(n);if(Array.isArray(r)){r.forEach(e=>this.traverseAndSetError(e,t,i))}else if(r){this.traverseAndSetError(r,t,i)}}}}destroy(){for(const e of this.activePlugins){if(typeof e.plugin.destroy==="function"){e.plugin.destroy()}}for(const e of this.templatePlugins){if(typeof e.plugin.destroy==="function"){e.plugin.destroy()}}this.validationLedger.clear();this.activePlugins=[];this.templatePlugins=[]}}var u={__esModule:true};u.Engine=g;return u});
|
|
22
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/LayoutMutator", ["./SchemaNormalizer","../constants/MetaUIConstants"],function(e,t){"use strict";const s=e["SchemaNormalizer"];const o=t["RENDER_MODE"];const n=t["SCHEMA_TYPE"];class p{static apply(e){if(!e||!e.uiLayout||!Array.isArray(e.uiLayout)){return}e.uiLayout=this.expandElements(e.uiLayout,e)}static expandElements(e,t){const p=[];for(const r of e){if(r.type==="Group"){if(r.elements){r.elements=this.expandElements(r.elements,t)}p.push(r)}else if(r.type==="Control"){if(!r.scope){p.push(r);continue}try{const{meta:e,bindingPath:i}=s.resolveScope(t,r.scope);const a=!!e?.ui?.widget;const u=e?.type===n.OBJECT&&e.ui?.renderMode===o.INLINE&&!a;if(u&&e.properties){const s={...r,type:"Group",label:r.label||e.ui?.label||i.split("/").pop(),elements:[]};delete s.scope;for(const t of Object.keys(e.properties)){s.elements.push({type:"Control",scope:`${r.scope}/properties/${t}`})}s.elements=this.expandElements(s.elements,t);p.push(s)}else{p.push(r)}}catch(e){p.push(r)}}else{p.push(r)}}return p}}var r={__esModule:true};r.LayoutMutator=p;return r});
|
|
23
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/LayoutScorer", ["./PluginRegistry","../utils/Logger","../constants/MetaUIConstants"],function(e,t,r){"use strict";const i=e["PluginRegistry"];const o=t["Logger"];const s=r["RENDER_MODE"];const n=r["SCHEMA_TYPE"];const u=r["OPENAPI_PREFIX"];const d=r["WIDGET_TYPE"];class c{static apply(e,t,r){if(!e||t<=0)return;const i=new WeakSet;const o=new Set;if(e.properties){for(const s in e.properties){const u=e.properties[s];if(u.type===n.OBJECT||u.type===n.ARRAY||u.$ref){this._scoreNode(u,t,i,o,s,r)}}}}static _scoreNode(e,t,r,c,a,g){if(!e||typeof e!==n.OBJECT)return 0;if(r.has(e)){o.warn(`[MetaUI LayoutScorer] Circular reference detected at '${a}'. Forcing dialog mode to prevent crash.`,"","LayoutScorer");e.ui=e.ui||{};e.ui.renderMode=s.DIALOG;e.ui.layoutBudget=t;return 1}r.add(e);if(e.$ref&&g){let i=e.$ref;if(i.startsWith(u.DEFINITIONS))i=i.substring(u.DEFINITIONS.length);else if(i.startsWith(u.COMPONENTS_SCHEMAS))i=i.substring(u.COMPONENTS_SCHEMAS.length);if(c.has(i)){o.warn(`[MetaUI LayoutScorer] Circular OpenAPI $ref detected at '${a}' for '${i}'. Forcing dialog mode to prevent crash.`,"","LayoutScorer");e.ui=e.ui||{};e.ui.renderMode=s.DIALOG;return 1}const n=g[i];if(n){c.add(i);const o=JSON.parse(JSON.stringify(n));const u=this._scoreNode(o,t,r,c,a,g);c.delete(i);e.ui=e.ui||{};e.ui.layoutBudget=t;if(u<=t){Object.assign(e,o);delete e.$ref;if(e.ui?.widget===d.REFERENCE)delete e.ui.widget;e.ui.renderMode=s.INLINE;r.delete(e);return u}else{e.ui.renderMode=s.DIALOG;r.delete(e);return 1}}}if(e.type===n.ARRAY){let o=i.getInstance().getPluginScore(n.ARRAY,e.ui?.widget);if(e.items){const i=e.items;if(i.type===n.OBJECT||i.type===n.ARRAY||i.$ref){o+=this._scoreNode(i,t,r,c,`${a}/items`,g)}}e.ui=e.ui||{};e.ui.layoutBudget=t;if(o<=t){e.ui.renderMode=s.INLINE;r.delete(e);return o}else{e.ui.renderMode=s.DIALOG;r.delete(e);return 1}}let l=0;if(e.properties){for(const o in e.properties){const s=e.properties[o];if(s.type===n.OBJECT||s.type===n.ARRAY||s.$ref){l+=this._scoreNode(s,t,r,c,`${a}/${o}`,g)}else{l+=i.getInstance().getPluginScore(s.type||n.STRING,s.ui?.widget)}}}else{l+=i.getInstance().getPluginScore(n.OBJECT,e.ui?.widget)}e.ui=e.ui||{};e.ui.layoutBudget=t;r.delete(e);if(l<=t){e.ui.renderMode=s.INLINE;return l}else{e.ui.renderMode=s.DIALOG;return 1}}}var a={__esModule:true};a.LayoutScorer=c;return a});
|
|
24
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/PipelineManager", ["./Registry","../plugins/validators/PatternValidatorPlugin","../plugins/validators/MinLengthValidatorPlugin","../plugins/validators/RangeValidatorPlugin","../plugins/validators/UrlValidatorPlugin","../plugins/validators/IbanValidatorPlugin","../plugins/validators/EmailValidatorPlugin","../plugins/formatters/DateFormatterPlugin","../plugins/formatters/PhoneFormatterPlugin","../plugins/formatters/TextCaseFormatterPlugin","../utils/Logger"],function(e,t,r,i,a,s,n,l,o,g,u){"use strict";const d=e["Registry"];const c=t["PatternValidatorPlugin"];const f=r["MinLengthValidatorPlugin"];const P=i["RangeValidatorPlugin"];const h=a["UrlValidatorPlugin"];const m=s["IbanValidatorPlugin"];const V=n["EmailValidatorPlugin"];const v=l["DateFormatterPlugin"];const p=o["PhoneFormatterPlugin"];const w=g["TextCaseFormatterPlugin"];const M=u["Logger"];class x{validate(e,t){if(e===null||e===undefined||e===""){return{isValid:false,errorMessage:"This field is required."}}return{isValid:true}}}class y{validate(e,t){if(typeof e==="string"&&t&&typeof t==="number"){if(e.length>t){return{isValid:false,errorMessage:`Maximum length is ${t} characters.`}}}return{isValid:true}}}class F{formatters=new d("Formatters");parsers=new d("Parsers");validators=new d("Validators");constructor(){this.validators.register("required",new x);this.validators.register("maxLength",new y);this.validators.register("pattern",new c);this.validators.register("minLength",new f);this.validators.register("range",new P);this.validators.register("url",new h);this.validators.register("iban",new m);this.validators.register("email",new V);this.formatters.register("date",new v);this.formatters.register("phone",new p);this.formatters.register("textCase",new w)}executeValidation(e,t,r){const i=e===null||e===undefined||e==="";const a=t.includes("required");if(i&&!a){return{isValid:true}}for(const i of t){const t=this.validators.get(i);if(t){const a=r?r[i]:undefined;try{const r=t.validate(e,a);if(!r.isValid){return r}}catch(e){const t=e.message;M.error(`[MetaUI] PipelineManager: Validator '${i}' crashed during execution.`,t);return{isValid:false,errorMessage:`System validation error: ${t}`}}}else{M.warn(`[MetaUI] PipelineManager: Requested validator '${i}' not found in registry.`)}}return{isValid:true}}}const L=new F;var b={__esModule:true};b.PipelineManager=F;b.GlobalPipeline=L;return b});
|
|
25
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/PluginRegistry", ["../constants/MetaUIConstants","../utils/Logger"],function(i,t){"use strict";const e=i["SCHEMA_TYPE"];const n=i["WIDGET_TYPE"];const s=i["LAYOUT_STRATEGY"];const o=t["Logger"];class u{fieldIndex={};actionIndex={};layoutIndex={};policyConditionIndex={};policyEffectIndex={};activePromises={};constructor(){this.registerPluginPath(e.STRING,undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin");this.registerPluginPath(e.NUMBER,undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin");this.registerPluginPath(e.INTEGER,undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin");this.registerPluginPath(e.DATE,undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin");this.registerPluginPath(e.BOOLEAN,undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin");this.registerPluginPath(e.ARRAY,undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin");this.registerPluginPath(e.OBJECT,undefined,"nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin");this.registerPluginPath(e.STRING,"default","nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin");this.registerPluginPath(e.OBJECT,n.DICTIONARY_MAP,"nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin");this.registerPluginPath(e.OBJECT,n.REFERENCE,"nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin");this.registerPluginPath(e.STRING,n.TIME,"nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin");this.registerPluginPath(e.STRING,n.DATETIME,"nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin");this.registerPluginPath(e.BOOLEAN,n.SWITCH,"nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin");this.registerPluginPath(e.NUMBER,n.STEP,"nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin");this.registerPluginPath(e.STRING,n.SELECT,"nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin");this.registerPluginPath(e.STRING,n.TEXT_AREA,"nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin");this.registerPluginPath(e.STRING,n.CODE_EDITOR,"nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin");this.registerPluginPath(e.STRING,n.LINK,"nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin");this.registerPluginPath(e.STRING,n.PASSWORD,"nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin");this.registerPluginPath(e.STRING,n.EMAIL,"nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin");this.registerPluginPath(e.STRING,n.FILE_UPLOADER,"nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin");this.registerPluginPath(e.ARRAY,n.MULTI_SELECT,"nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin");this.registerPluginPath(e.ARRAY,n.MULTI_INPUT,"nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin");this.registerPluginPath(e.NUMBER,n.SLIDER,"nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin");this.registerPluginPath(e.NUMBER,n.RATING,"nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin");this.registerPluginPath(e.STRING,n.MESSAGE_STRIP,"nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin");this.registerPluginPath(e.STRING,n.CAMERA,"nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin");this.registerPluginPath(e.STRING,n.SIGNATURE,"nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin");this.registerPluginPath(e.OBJECT,n.LOCATION,"nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin");this.registerPluginPath(e.STRING,n.SCANNER,"nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin");this.registerPluginPath(e.STRING,n.VOICE_INPUT,"nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin");this.registerPluginPath(e.STRING,n.RICH_TEXT,"nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin");this.registerPluginPath(e.STRING,n.URL_BUTTON,"nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin");this.registerPluginPath(e.STRING,n.SUBMIT_BUTTON,"nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin");this.registerPluginPath(e.STRING,n.ODATA_SELECT,"nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin");this.registerPluginPath(e.STRING,n.REMOTE_DROPDOWN,"nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin");this.registerPluginPath(e.STRING,n.LIVE_SEARCH,"nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin");this.registerPluginPath(e.STRING,n.REMOTE_VALUE_HELP,"nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin");this.registerLayoutPath(s.FORM,"nz/co/siliconst/ui5/metaui/layouts/FormLayout");this.registerLayoutPath(s.TABLE,"nz/co/siliconst/ui5/metaui/layouts/TableLayout");this.registerLayoutPath(s.WIZARD,"nz/co/siliconst/ui5/metaui/layouts/WizardLayout");this.registerLayoutPath(s.COMPACT,"nz/co/siliconst/ui5/metaui/layouts/CompactLayout");this.registerPolicyConditionPath("NumericGreaterThan","nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin");this.registerPolicyConditionPath("NumericLessThan","nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin");this.registerPolicyConditionPath("StringEquals","nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin");this.registerPolicyConditionPath("IsNull","nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin");this.registerPolicyConditionPath("IsNotNull","nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin");this.registerPolicyEffectPath("Show","nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin");this.registerPolicyEffectPath("Hide","nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin");this.registerPolicyEffectPath("Validate","nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin");this.registerPolicyEffectPath("Invalidate","nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin");this.registerPolicyEffectPath("Require","nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin");this.registerPolicyEffectPath("Optional","nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin");this.registerPolicyEffectPath("Enable","nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin");this.registerPolicyEffectPath("Disable","nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin")}static getInstance(){if(!u.instance){u.instance=new u}return u.instance}registerPluginPath(i,t,e){const n=t?`${i}:${t}`:i;this.fieldIndex[n]=e}registerActionPath(i,t){this.actionIndex[i]=t}registerLayoutPath(i,t){this.layoutIndex[i]=t}registerPolicyConditionPath(i,t){this.policyConditionIndex[i]=t}registerPolicyEffectPath(i,t){this.policyEffectIndex[i]=t}getFieldPath(i,t){let e;if(t){e=this.fieldIndex[`${i}:${t}`]}if(!e){e=this.fieldIndex[i]}if(!e){throw new Error(`No plugin path mapped for FieldType: ${i} (widget: ${t})`)}return e}getLayoutPath(i){const t=this.layoutIndex[i];if(!t){throw new Error(`No layout path mapped for strategy: ${i}`)}return t}getPathsToLoad(i){const t=new Set;const n=i.layoutStrategy||(i.type===e.ARRAY?s.TABLE:s.FORM);t.add(this.getLayoutPath(n));const u=i=>{for(const n in i){const s=i[n];try{t.add(this.getFieldPath(s.type||e.STRING,s.ui?.widget))}catch(i){const t=`[MetaUI LazyLoad] Could not find mapped plugin for field ${n}: ${i.message}`;o.error(t);throw new Error(t)}if(s.properties)u(s.properties);if(s.items&&s.items.properties)u(s.items.properties);if(s.items&&s.items.type){try{t.add(this.getFieldPath(s.items.type,s.items.ui?.widget))}catch(i){const t=`[MetaUI LazyLoad] Could not find mapped plugin for array item type ${s.items.type}: ${i.message}`;o.error(t);throw new Error(t)}}}};if(i.properties){u(i.properties)}else if(i.items&&i.items.properties){u(i.items.properties)}if(i.uiPolicies){for(const e of i.uiPolicies){if(e.condition){for(const i of Object.keys(e.condition)){if(this.policyConditionIndex[i]){t.add(this.policyConditionIndex[i])}}}if(e.effect&&this.policyEffectIndex[e.effect]){t.add(this.policyEffectIndex[e.effect])}}}return t}async preloadDependencies(i){const t=this.getPathsToLoad(i);const e=Array.from(t).map(i=>{if(!this.activePromises[i]){this.activePromises[i]=new Promise((t,e)=>{sap.ui.require([i],n=>{if(!this.extractConstructor(n)){o.error(`[MetaUI PluginRegistry] Module ${i} loaded successfully but exported no valid constructor.`);delete this.activePromises[i];e(new Error(`Invalid module export: ${i}`))}else{t(n)}},t=>{o.error(`Failed to lazy load module: ${i}`);delete this.activePromises[i];e(t)})})}return this.activePromises[i]});await Promise.all(e)}extractConstructor(i){if(!i)return null;if(typeof i==="function")return i;const t=i;if(t.default&&typeof t.default==="function")return t.default;const e=Object.keys(t);for(const i of e){if(typeof t[i]==="function"){return t[i]}}return null}getPluginScore(i,t){try{const e=this.getFieldPath(i,t);const n=sap.ui.require(e);const s=this.extractConstructor(n);if(s&&typeof s.layoutScore==="number"){return s.layoutScore}}catch(i){}return 1}isPluginNativelyWide(i,t){try{const e=this.getFieldPath(i,t);const n=sap.ui.require(e);const s=this.extractConstructor(n);if(s&&typeof s.isNativelyWide==="boolean"){return s.isNativelyWide}}catch(i){}return false}getPlugin(i,t){const e=this.getFieldPath(i,t);const n=sap.ui.require(e);const s=this.extractConstructor(n);if(!s){throw new Error(`[MetaUI Plugin Instantiation] Plugin ${e} was not preloaded or has no constructor!`)}return new s}getLayout(i){const t=this.getLayoutPath(i);const e=sap.ui.require(t);const n=this.extractConstructor(e);if(!n){throw new Error(`[MetaUI Layout Instantiation] Layout ${t} was not preloaded or has no constructor!`)}return new n}getPolicyConditionPlugin(i){const t=this.policyConditionIndex[i];if(!t)return undefined;const e=sap.ui.require(t);const n=this.extractConstructor(e);if(!n)return undefined;return new n}getPolicyEffectPlugin(i){const t=this.policyEffectIndex[i];if(!t)return undefined;const e=sap.ui.require(t);const n=this.extractConstructor(e);if(!n)return undefined;return new n}}var r={__esModule:true};r.PluginRegistry=u;return r});
|
|
26
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/PolicyEngine", ["./PluginRegistry","../utils/Logger"],function(e,i){"use strict";const t=e["PluginRegistry"];const r=i["Logger"];class o{constructor(e){this.policies=e||[];this.lastStateMatrix=new Map;this.detectCycles()}detectCycles(){const e=new Map;for(const i of this.policies){const t=new Set;if(i.condition){const e=e=>{if(e)Object.keys(e).forEach(e=>t.add(e.split("/$row")[0]))};e(i.condition.NumericGreaterThan);e(i.condition.NumericLessThan);e(i.condition.StringEquals);if(i.condition.IsNull)i.condition.IsNull.forEach(e=>t.add(e.split("/$row")[0]));if(i.condition.IsNotNull)i.condition.IsNotNull.forEach(e=>t.add(e.split("/$row")[0]))}for(const r of i.targets){const i=r.split("/$row")[0];if(!e.has(i)){e.set(i,new Set)}t.forEach(t=>e.get(i).add(t))}}const i=new Set;const t=new Set;const r=o=>{if(!i.has(o)){i.add(o);t.add(o);const s=e.get(o);if(s){for(const e of s){if(!i.has(e)&&r(e)){return true}else if(t.has(e)){return true}}}}t.delete(o);return false};for(const i of e.keys()){if(r(i)){throw new Error(`[MetaUI PolicyEngine] FATAL: Cyclic dependency detected involving policy target '${i}'. This will cause an infinite rendering loop.`)}}}resolvePointer(e,i){if(!e||!i)return undefined;const t=i.replace(/^\//,"").replace(/^metaui>\/?/,"");if(!t)return e;const r=t.split("/");let o=e;for(const e of r){if(o===undefined||o===null)return undefined;o=o[e]}return o}evaluateCondition(e,i){let o=true;const s=t.getInstance();for(const[t,n]of Object.entries(e)){const e=s.getPolicyConditionPlugin(t);if(e){if(!e.evaluate(n,i,this.resolvePointer.bind(this))){o=false}}else{r.warn(`[MetaUI PolicyEngine] Unrecognized condition operator: ${t}`)}}return o}expandRowPolicies(e,i){const t=[];for(const r of i){let i=false;let o="";for(const e of r.targets){if(e.includes("$row")){i=true;o=e.split("/$row")[0];break}}if(!i&&r.condition){const e=e=>{if(!e)return;for(const t of Object.keys(e)){if(t.includes("$row")){i=true;o=t.split("/$row")[0];break}}};e(r.condition.NumericGreaterThan);e(r.condition.NumericLessThan);e(r.condition.StringEquals);if(r.condition.IsNull)r.condition.IsNull.forEach(e=>{if(e.includes("$row")){i=true;o=e.split("/$row")[0]}});if(r.condition.IsNotNull)r.condition.IsNotNull.forEach(e=>{if(e.includes("$row")){i=true;o=e.split("/$row")[0]}})}if(i&&o){const i=this.resolvePointer(e,o);if(Array.isArray(i)){for(let e=0;e<i.length;e++){const i=JSON.stringify(r).replace(/\$row/g,String(e));t.push(JSON.parse(i))}}}else{t.push(r)}}return t}evaluate(e){if(!this.policies||this.policies.length===0){return[]}const i=this.expandRowPolicies(e,this.policies);const o=new Map;const s=e=>{if(!o.has(e)){o.set(e,{visibility:{forcedFalse:0,forcedTrue:0},validity:{forcedFalse:0,forcedTrue:0},required:{forcedFalse:0,forcedTrue:0},editable:{forcedFalse:0,forcedTrue:0}})}};for(const n of i){const i=this.evaluateCondition(n.condition,e);for(const e of n.targets){s(e);const l=o.get(e);const c=t.getInstance().getPolicyEffectPlugin(n.effect);if(!c){r.error(`[MetaUI PolicyEngine] Unrecognized policy effect: ${n.effect}`);continue}const a=c.resolveState(i,n.effect);if(a.value){l[a.property].forcedTrue++}else{l[a.property].forcedFalse++;if(a.property==="validity"&&i&&n.message){l.validity.lastMessage=n.message}}}}const n=new Map;for(const[e,i]of o.entries()){n.set(e,{visibility:i.visibility.forcedFalse>0?false:true,validity:i.validity.forcedFalse>0?false:true,required:i.required.forcedTrue>0?true:false,editable:i.editable.forcedFalse>0?false:true,errorMessage:i.validity.lastMessage})}const l=[];for(const[e,i]of n.entries()){const t=this.lastStateMatrix.get(e)||{};if(i.visibility!==undefined&&i.visibility!==t.visibility){l.push({target:e,property:"visibility",value:i.visibility})}if(i.validity!==undefined&&i.validity!==t.validity){if(i.validity!==t.validity||i.errorMessage!==t.errorMessage){l.push({target:e,property:"validity",value:i.validity,errorMessage:i.errorMessage})}}if(i.required!==undefined&&i.required!==t.required){l.push({target:e,property:"required",value:i.required})}if(i.editable!==undefined&&i.editable!==t.editable){l.push({target:e,property:"editable",value:i.editable})}}this.lastStateMatrix=n;return l}}var s={__esModule:true};s.PolicyEngine=o;return s});
|
|
24
27
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/Registry", ["../utils/Logger"],function(t){"use strict";const e=t["Logger"];class r{items=new Map;constructor(t="Registry"){this.registryName=t}register(t,r){if(this.items.has(t)){e.warn(`[MetaUI] ${this.registryName}: Overwriting existing key '${t}'.`)}this.items.set(t,r)}get(t){return this.items.get(t)}getStrict(t){const r=this.get(t);if(!r){const r=`[MetaUI] ${this.registryName}: Key '${t}' not found.`;e.error(r);throw new Error(r)}return r}getKeys(){return Array.from(this.items.keys())}clear(){this.items.clear()}}var s={__esModule:true};s.Registry=r;return s});
|
|
25
28
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/SchemaBuilderRegistry", ["./SchemaNormalizer","../openapi/OpenApiBuilder","../utils/Logger"],function(e,i,r){"use strict";const t=e["SchemaNormalizer"];const n=i["OpenApiBuilder"];const u=r["Logger"];class s{static _plugins=[new n,new t];static register(e){this._plugins.push(e)}static getBuilderFor(e){if(!e||typeof e!=="object"){return null}for(const i of this._plugins){if(i.canHandle(e)){return i}}u.warn("[SchemaBuilderRegistry]","No suitable Schema Builder plugin found for the provided payload.");return null}}var l={__esModule:true};l.SchemaBuilderRegistry=s;return l});
|
|
26
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/SchemaNormalizer", ["../utils/Logger"],function(e){"use strict";const
|
|
27
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/SchemaValidator", [],function(){"use strict";class
|
|
28
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/StateManager", ["sap/ui/model/json/JSONModel","./PipelineManager","sap/ui/core/message/Message","sap/ui/core/library","sap/ui/core/Messaging"],function(e,s,
|
|
29
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/SchemaNormalizer", ["../constants/MetaUIConstants","../utils/Logger"],function(e,t){"use strict";const r=e["SCHEMA_TYPE"];const i=t["Logger"];class o{canHandle(e){return true}build(e,t){return o.normalize(e)}static normalize(e,t){let o=e;if(typeof o===r.STRING){if(!o.trim()){o=null}else{try{o=JSON.parse(o)}catch(e){const t="Failed to parse schema string: "+e.message;i.error("[MetaUI SchemaNormalizer]",t);throw new Error(t)}}}if(!o||typeof o!=="object"||Array.isArray(o)){return this.inferSchemaFromData(t)}try{const e={title:o.title,type:o.type||(o.items?"array":"object"),layoutStrategy:o.layoutStrategy,uiLayout:o.uiLayout?JSON.parse(JSON.stringify(o.uiLayout)):undefined,additionalProperties:o.additionalProperties,uiPolicies:o.uiPolicies?JSON.parse(JSON.stringify(o.uiPolicies)):undefined};let r=o.properties||{};if(o.additionalProperties===true&&t){const e=this.inferSchemaFromData(t);if(e.type==="object"&&e.properties){r=this.deepMergeProperties(e.properties,r)}else if(e.type==="array"&&e.items&&e.items.properties){}}if(e.type==="object"){const t=Array.isArray(o.required)?o.required:[];e.properties=this.normalizeProperties(r,t)}else if(e.type==="array"){e.items=this.normalizePropertyMetadata(o.items||{type:"object",properties:{}},"items",false)}return e}catch(e){const t="Critical error normalizing schema object: "+e.message;i.error("[MetaUI SchemaNormalizer]",t);throw new Error(t)}}static deepMergeProperties(e,t){const r={...e};for(const e of Object.keys(t)){const i=t[e];const o=r[e];if(o&&typeof o==="object"&&!Array.isArray(o)&&i&&typeof i==="object"&&!Array.isArray(i)){r[e]=this.deepMergeProperties(o,i)}else{r[e]=i}}return r}static normalizeProperties(e,t=[]){const r={};for(const i of Object.keys(e)){const o=t.includes(i);r[i]=this.normalizePropertyMetadata(e[i],i,o)}return r}static normalizePropertyMetadata(e,t,r=false){const i=e||{};const o=i.ui||{};const a={type:i.type||"string",$ref:i.$ref,ui:{label:o.label||this.generateLabel(t),isKey:!!o.isKey,readOnly:!!o.readOnly,widget:o.widget||(i.valueHelp||i.enum?"select":undefined),visibleOn:i.ui?.visibleOn,enabledOn:i.ui?.enabledOn,format:i.ui?.format,validators:i.ui?.validators,formatter:i.ui?.formatter,args:i.ui?.args,rows:i.ui?.rows,fullWidth:i.ui?.fullWidth,dialogButtonText:i.ui?.dialogButtonText,controlProps:i.ui?.controlProps},required:r||!!i.required,maxLength:i.maxLength,minLength:i.minLength,minimum:i.minimum,maximum:i.maximum,pattern:i.pattern,precision:i.precision,scale:i.scale,multipleOf:i.multipleOf,valueHelp:i.valueHelp,enum:i.enum};if(a.type==="object"&&i.properties){const e=Array.isArray(i.required)?i.required:[];a.properties=this.normalizeProperties(i.properties,e);a.uiLayout=i.uiLayout}else if(a.type==="array"){if(i.properties&&!i.items){i.items={type:"object",properties:i.properties};delete i.properties}if(i.items){a.items=this.normalizePropertyMetadata(i.items,"items",false)}a.uiLayout=i.uiLayout}return a}static generateLabel(e){if(!e)return"";let t=e.replace(/([A-Z])/g," $1").replace(/_/g," ");return t.split(" ").filter(e=>e.length>0).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" ").trim()}static inferSchemaFromData(e){const t={type:"object",properties:{},layoutStrategy:"compact",title:""};if(!e||typeof e!=="object"){return t}if(Array.isArray(e)){t.type="array";if(e.length>0&&typeof e[0]!=="object"){t.layoutStrategy="compact";t.items={type:typeof e[0]}}else{t.layoutStrategy="table";let r={};const i=Math.min(e.length,50);for(let t=0;t<i;t++){const i=this.inferPropertiesFromObject(e[t]);r=this.deepMergeProperties(r,i)}t.items={type:"object",layoutStrategy:"compact",properties:r}}}else{t.type="object";t.properties=this.inferPropertiesFromObject(e)}return t}static inferPropertiesFromObject(e){const t={};if(!e||typeof e!=="object")return t;for(const i of Object.keys(e)){const o=e[i];if(o===null||o===undefined)continue;let a=r.STRING;let s;let n;if(typeof o==="number")a="number";else if(typeof o==="boolean")a="boolean";else if(Array.isArray(o)){a="array";if(o.length>0&&typeof o[0]!=="object"){s={type:typeof o[0]}}else{s={type:"object",properties:o.length>0?this.inferPropertiesFromObject(o[0]):{}}}}else if(typeof o==="object"){a="object";n=this.inferPropertiesFromObject(o)}t[i]={type:a,items:s,properties:n,ui:{label:this.generateLabel(i),isKey:false,readOnly:false,widget:a==="array"&&s?.type!=="object"?"multiInput":undefined}}}return t}static resolveScope(e,t){if(!t||!t.startsWith("#/properties/")){return{meta:undefined,bindingPath:t||"",propKey:t||""}}const r=t.replace("#/properties/","").split("/properties/");let o=e.properties;let a;i.debug("[MetaUI SchemaNormalizer]",`Resolving scope '${t}' with segments: ${JSON.stringify(r)}`,"SchemaNormalizer");i.debug("[MetaUI SchemaNormalizer]",`Root schema keys: ${Object.keys(e.properties||{})}`,"SchemaNormalizer");for(let e=0;e<r.length;e++){const t=r[e];if(!o){i.debug("[MetaUI SchemaNormalizer]",`current is undefined at segment '${t}'`,"SchemaNormalizer");a=undefined;break}a=o[t];i.debug("[MetaUI SchemaNormalizer]",`Segment '${t}' resolved to meta: ${!!a}. Available keys in current: ${Object.keys(o)}`,"SchemaNormalizer");if(e<r.length-1){o=a?.properties}}const s=r.join("/");const n=t.replace("#/properties/","");return{meta:a,bindingPath:s,propKey:n}}}var a={__esModule:true};a.SchemaNormalizer=o;return a});
|
|
30
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/SchemaValidator", ["../constants/MetaUIConstants"],function(e){"use strict";const t=e["SCHEMA_TYPE"];class s{static validateSchemaStructure(e){const o=[];if(!e||typeof e!=="object"){return["Root schema must be an object."]}const i=e;if(i.type!=="object"&&i.type!=="array"){o.push(`Root schema must have type 'object' or 'array'. Found: '${i.type}'`)}if(i.type==="object"&&!i.properties){o.push("Object schema is missing the 'properties' node.")}if(i.type==="array"){if(!i.items){}if(i.items&&typeof i.items==="object"){const e=s.validateSchemaStructure(i.items);o.push(...e)}}if(i.properties){for(const e of Object.keys(i.properties)){const s=i.properties[e];if(!s||typeof s!=="object"){o.push(`Property '${e}' must be an object.`);continue}if(!s.type){o.push(`Property '${e}' is missing 'type'.`)}else{const i=[t.STRING,t.NUMBER,t.INTEGER,t.BOOLEAN,t.DATE,t.OBJECT,t.ARRAY];if(!i.includes(s.type)){o.push(`Property '${e}' has invalid type '${s.type}'. Allowed: ${i.join(", ")}`)}}}}return o}}var o={__esModule:true};o.SchemaValidator=s;return o});
|
|
31
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/core/StateManager", ["sap/ui/model/json/JSONModel","../constants/MetaUIConstants","./PipelineManager","./SchemaNormalizer","sap/ui/core/message/Message","sap/ui/core/library","sap/ui/core/Messaging"],function(e,t,s,a,r,n,o){"use strict";const i=t["SCHEMA_TYPE"];const g=s["GlobalPipeline"];const c=a["SchemaNormalizer"];class l{schema=null;_useMessageManager=false;constructor(t={},s,a="meta"){this.activeModelName=a;this.schema=s;const r=JSON.parse(JSON.stringify(t));this.model=new e(r);this.model.setDefaultBindingMode("TwoWay");const n=this.model.setProperty.bind(this.model);this.model.setProperty=(e,t,s,a)=>{const r=n(e,t,s,a);this.validatePath(e,t);return r}}setUseMessageManager(e){this._useMessageManager=e}validatePath(e,t){const s=e.replace(/^\//,"");const a=this.findMetadataForPath(s);const c=o;const l=e.startsWith("/")?e:`/${e}`;const h=c.getMessageModel().getData();const d=h.filter(e=>{const t=e.getTarget()===l&&e.getMessageProcessor()&&e.getMessageProcessor().getId()===this.model.getId();return t});if(d.length>0){c.removeMessages(d)}if(!a)return;const m=[];const u={};if(a.required){m.push("required")}if(a.type===i.STRING&&a.maxLength){m.push("maxLength");u["maxLength"]=a.maxLength}if(a.minLength){m.push("minLength");u["minLength"]=a.minLength}if(a.pattern){m.push("pattern");u["pattern"]=a.pattern}if(a.minimum!==undefined||a.maximum!==undefined){m.push("range");u["range"]={min:a.minimum,max:a.maximum}}const p=a.ui?.format;if(p==="email"||p==="url"||p==="iban"){m.push(p)}if(a.ui?.validators){for(const e of a.ui.validators){if(typeof e===i.STRING){m.push(e)}else if(e&&e.name){m.push(e.name);if(e.args!==undefined){u[e.name]=e.args}}}}if(m.length>0){const e=g.executeValidation(t,m,u);if(!e.isValid&&this._useMessageManager){const t=new r({message:e.errorMessage||"Invalid value.",type:n.MessageType.Error,target:l,processor:this.model});c.addMessages(t)}}}clearArrayMessages(e){const t=o;const s=t.getMessageModel().getData();const a=e.startsWith("/")?e:`/${e}`;const r=s.filter(e=>e.getProcessor()===this.model&&typeof e.getTarget()==="string"&&e.getTarget().startsWith(a));if(r.length>0){t.removeMessages(r)}}findMetadataForPath(e){if(!this.schema||!this.schema.properties)return undefined;const t="#/properties/"+e.replace(/\//g,"/properties/");const{meta:s}=c.resolveScope(this.schema,t);return s}getModel(){return this.model}bindControl(e,t,s){e.bindProperty(t,{path:s,model:"meta"})}extractPayload(){const e=this.model.getData();return this.deepClone(e)}deepClone(e){if(e===null||typeof e!=="object"){return e}if(e instanceof Date){return new Date(e.getTime())}if(Array.isArray(e)){const t=[];for(const s of e){t.push(this.deepClone(s))}return t}const t={};for(const s in e){if(Object.prototype.hasOwnProperty.call(e,s)){t[s]=this.deepClone(e[s])}}return t}setProperty(e,t){const s=e.startsWith("/")?e:`/${e}`;this.model.setProperty(s,t)}destroy(){if(this.model){const e=o;const t=e.getMessageModel().getData();const s=t.filter(e=>e.getMessageProcessor()&&e.getMessageProcessor().getId()===this.model.getId());if(s.length>0){e.removeMessages(s)}this.model.destroy()}}}var h={__esModule:true};h.StateManager=l;return h});
|
|
29
32
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/layouts/CompactLayout", ["sap/m/VBox","sap/m/Label","../core/SchemaNormalizer","../utils/Logger"],function(e,t,a,r){"use strict";const o=a["SchemaNormalizer"];const i=r["Logger"];class s{render(t,a,r,s){const n=new e({renderType:"Bare"});n.addStyleClass("sapUiTinyMargin");if(!t.uiLayout||!Array.isArray(t.uiLayout)){i.warn("[MetaUI] Missing 'uiLayout' array in schema. CompactLayout will not render any fields.");return n}const l=[];const p=e=>{if(e.type==="Group"){if(e.label){const t=new sap.m.Title({text:e.label,level:"H5"});t.addStyleClass("sapUiTinyMarginTop sapUiTinyMarginBottom");n.addItem(t)}if(e.elements&&Array.isArray(e.elements)){e.elements.forEach(p)}}else if(e.type==="Control"){if(!e.scope||!e.scope.startsWith("#/properties/")){i.error(`[MetaUI] Invalid scope '${e.scope}' in uiLayout Control.`,"","CompactLayout");return}const{meta:s,bindingPath:p,propKey:c}=o.resolveScope(t,e.scope);if(!s){i.error(`[MetaUI] Property '${c}' not found in schema definitions.`,"","CompactLayout");return}const y=s.items?.type==="object"||s.items?.properties;const u=!!s.ui?.widget;const d=s.type==="array"&&y&&!u;if(d){i.debug("[MetaUI CompactLayout]",`Routing property '${c}' to Table Sub-Layout.`,"CompactLayout");l.push({scope:p,meta:s,label:e.label})}else{i.debug("[MetaUI CompactLayout]",`Rendering scalar field '${p}'.`,"CompactLayout");this._renderScalarField(n,e,p,s,a,r)}}else{i.warn(`[MetaUI] Unsupported layout element type '${e.type}'.`,"","CompactLayout")}};t.uiLayout.forEach(p);l.forEach(e=>{try{const t={type:"array",title:e.label||e.meta.ui?.label||e.scope,items:e.meta.items||{type:"object",properties:{}},uiLayout:e.meta.items?.uiLayout};const o=r.generateLayout(t,a,`/${e.scope}`);if(o){o.addStyleClass("sapUiTinyMarginTop");n.addItem(o)}}catch(t){const a=t.message;i.error(`[MetaUI] Failed to render array field ${e.scope}`,a,"CompactLayout");i.showErrorPopup(`Failed to render array field '${e.scope}'.\n\nDetails: ${a}`)}});return n}_renderScalarField(a,r,o,s,n,l){try{const i=r.label||s.ui?.label||o;const p=new t({text:i,required:s.required});p.addStyleClass("sapUiTinyMarginTop");const c={...s};if(r.widget){c.ui={...s.ui,widget:r.widget}}const y=l.generateField(c,`/${o}`,n);y.addStyleClass("sapUiTinyMarginBottom");const u=new e({renderType:"Bare",items:[p,y]});a.addItem(u)}catch(e){const t=e.message;i.error(`[MetaUI] Failed to render field ${o}`,t,"CompactLayout");i.showErrorPopup(`Failed to render field '${o}'.\n\nDetails: ${t}`)}}}var n={__esModule:true};n.CompactLayout=s;return n});
|
|
30
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/layouts/FormLayout", ["sap/ui/layout/form/SimpleForm","sap/m/Label","sap/ui/core/Title","sap/m/VBox","../core/SchemaNormalizer","../utils/Logger"],function(e,t,a,r,o,i){"use strict";const
|
|
31
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/layouts/TableLayout", ["sap/m/Table","sap/m/Column","sap/m/Text","sap/m/ColumnListItem","sap/m/Toolbar","sap/m/Title","sap/m/ToolbarSpacer","sap/m/Button","../core/SchemaNormalizer","../utils/Logger"],function(e,t,a,
|
|
33
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/layouts/FormLayout", ["sap/ui/layout/form/SimpleForm","sap/m/Label","sap/ui/core/Title","sap/m/VBox","../core/SchemaNormalizer","../utils/Logger","../core/PluginRegistry"],function(e,t,a,r,o,i,n){"use strict";const s=o["SchemaNormalizer"];const l=i["Logger"];const u=n["PluginRegistry"];class d{render(t,o,i,n){const u=new r({renderType:"Bare"});const d=new e({editable:true,title:t.title,layout:"ResponsiveGridLayout",labelSpanXL:4,labelSpanL:4,labelSpanM:4,labelSpanS:12,adjustLabelSpan:false,emptySpanXL:0,emptySpanL:0,emptySpanM:0,emptySpanS:0,columnsXL:1,columnsL:1,columnsM:1,singleContainerFullSize:false});if(!t.uiLayout||!Array.isArray(t.uiLayout)){l.warn("[MetaUI] Missing 'uiLayout' array in schema. Form will not render any fields.");u.addItem(d);return u}let p=false;const y=e=>{if(e.type==="Group"){if(e.label){d.addContent(new a({text:e.label}))}if(e.elements&&Array.isArray(e.elements)){e.elements.forEach(y)}}else if(e.type==="Control"){if(!e.scope||!e.scope.startsWith("#/properties/")){l.error(`[MetaUI] Invalid scope '${e.scope}' in uiLayout Control.`,"","FormLayout");return}const{meta:a,bindingPath:r,propKey:n}=s.resolveScope(t,e.scope);if(!a){l.error(`[MetaUI] Property '${n}' not found in schema definitions.`,"","FormLayout");return}const u=a.items?.type==="object"||a.items?.properties;const y=!!a.ui?.widget;const c=a.type==="array"&&u&&!y;if(c){l.debug("[MetaUI FormLayout]",`Routing property '${n}' to Table Sub-Layout inline.`,"FormLayout");p=true;try{const t={type:"array",title:e.label||a.ui?.label||n,items:a.items||{type:"object",properties:{}},uiLayout:a.items?.uiLayout};const s=i.generateLayout(t,o,`/${r}`);if(s){sap.ui.require(["sap/ui/layout/GridData"],e=>{s.setLayoutData(new e({span:"XL12 L12 M12 S12"}))});d.addContent(s)}}catch(e){const t=e.message;l.error(`[MetaUI] Failed to render inline array field ${r}`,t,"FormLayout");l.showErrorPopup(`Failed to render array field '${r}'.\n\nDetails: ${t}`)}}else{p=true;l.debug("[MetaUI FormLayout]",`Rendering scalar field '${r}'.`,"FormLayout");this._renderScalarField(d,e,r,a,o,i)}}else{l.warn(`[MetaUI] Unsupported layout element type '${e.type}'.`,"","FormLayout")}};t.uiLayout.forEach(y);if(p){u.addItem(d)}return u}_renderScalarField(e,a,r,o,i,n){try{const s=a.label||o.ui?.label||r;const l=new t({text:s,required:o.required});const d={...o};if(a.widget){d.ui={...o.ui,widget:a.widget}}const p=n.generateField(d,`/${r}`,i);const y=u.getInstance().isPluginNativelyWide(d.type||"string",d.ui?.widget);const c=d.ui?.fullWidth!==undefined?d.ui?.fullWidth:y;if(c){sap.ui.require(["sap/ui/layout/GridData"],e=>{p.setLayoutData(new e({span:"XL12 L12 M12 S12"}))})}e.addContent(l);e.addContent(p)}catch(e){const t=e.message;l.error(`[MetaUI] Failed to render field ${r}`,t,"FormLayout");l.showErrorPopup(`Failed to render field '${r}'.\n\nDetails: ${t}`)}}}var p={__esModule:true};p.FormLayout=d;return p});
|
|
34
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/layouts/TableLayout", ["sap/m/Table","sap/m/Column","sap/m/Text","sap/m/ColumnListItem","sap/m/Toolbar","sap/m/Title","sap/m/ToolbarSpacer","sap/m/Button","../core/SchemaNormalizer","../utils/Logger","../constants/MetaUIConstants"],function(e,t,o,a,r,n,s,i,l,p,c){"use strict";const u=l["SchemaNormalizer"];const d=p["Logger"];const f=c["WIDGET_TYPE"];const y=c["SCHEMA_TYPE"];class m{render(l,p,c,m,b="/"){let g=l.items;if(g&&!g.properties&&g.ui?.widget===f.REFERENCE&&g.$ref){d.debug(`[MetaUI] TableLayout detecting reference widget for ${b}. Resolving ${g.$ref}`,"","TableLayout");const e=c.host;if(e&&typeof e.getSchemaDefinition==="function"){const t=e.getSchemaDefinition(g.$ref);d.debug(`[MetaUI] Resolved schema for ${g.$ref}: ${!!t} ${t?Object.keys(t):""}`,"","TableLayout");if(t&&t.properties){g=t}else{d.error(`[MetaUI] TableLayout resolved schema but it has no properties!`,"","TableLayout")}}else{d.error(`[MetaUI] TableLayout cannot resolve ${g.$ref} because engine.host.getSchemaDefinition is missing! host: ${e?.getMetadata().getName()}`,"","TableLayout")}}const h=g&&!g.properties&&["string","number","boolean"].includes(g.type);if(l.type!==y.ARRAY||!g||!g.properties&&!h){d.error(`[MetaUI] TableLayout fatal error! schema.type: ${l.type}, itemsSchema: ${!!g}, properties: ${g?!!g.properties:false}`,"","TableLayout");throw new Error("[MetaUI] TableLayout requires an array schema with items.properties or primitive items.")}const T=e=>{if(e.type==="object"&&e.properties){const t={};for(const o of Object.keys(e.properties)){t[o]=T(e.properties[o])}return t}else if(e.type==="array"){return[]}else if(e.type==="string"){return e.default!==undefined?e.default:e.enum?e.enum[0]:""}else if(e.type==="number"){return e.default!==undefined?e.default:0}else if(e.type==="boolean"){return e.default!==undefined?e.default:false}return""};const w=l.title||"Table";const L=p;const $=b;const I=new e({headerToolbar:new r({content:[new n({text:w}),new s,...!c.isEditable?[]:[new i({text:"Add Row",icon:"sap-icon://add",press:e=>{const t=e.getSource();const o=t.getParent()?.getParent();const a=o.getModel(L);const r=o.getBindingInfo("items");if(!r||!r.path)return;const n=a.getProperty(r.path);const s=Array.isArray(n)?n:[];const i=[...s,T(g)];a.setProperty(r.path,i);if(c.onChange){c.onChange(true,$.replace(/^\//,""))}}})]]}),fixedLayout:false,mode:!c.isEditable?"None":"Delete",delete:e=>{const t=e.getParameter("listItem");const o=t.getBindingContext(L)?.getPath();if(!o)return;const a=t.getModel(L);const r=o.split("/");const n=parseInt(r.pop()||"0",10);let s=r.join("/");if(s==="")s="/";const i=a.getProperty(s);const l=Array.isArray(i)?i:[];const p=[...l];p.splice(n,1);a.setProperty(s,p);if(c.onChange){c.onChange(true,$.replace(/^\//,""))}if(typeof c.onArrayMutated==="function"){c.onArrayMutated(s)}}});const M=[];const E=g.properties;const P=l.uiLayout;if(h){I.addColumn(new t({header:new o({text:"Value"})}));const e=c.generateField(g,"",L||"meta",true);M.push(e)}else if(P&&Array.isArray(P)){P.forEach(e=>{if(e.type==="Control"&&e.scope){const{meta:a,bindingPath:r,propKey:n}=u.resolveScope({type:"object",properties:E},e.scope);if(!a){d.error(`[MetaUI] Property '${n}' not found in schema definitions for Table.`,"","TableLayout")}else{I.addColumn(new t({header:new o({text:e.label||a.ui?.label||n}),demandPopin:!a.ui?.isKey,minScreenWidth:a.ui?.isKey?"":"Tablet",popinDisplay:"Inline"}));const s={...a};if(e.widget){s.ui={...a.ui,widget:e.widget}}const i=c.generateField(s,r,L||"meta",true);M.push(i)}}else{d.warn(`[MetaUI] Unsupported layout element type '${e.type}' in Table.`,"","TableLayout")}})}else{d.debug("[MetaUI TableLayout]","No uiLayout provided. Falling back to rendering all properties as columns.","TableLayout");Object.keys(E).forEach(e=>{try{const a=E[e];const r=!!a.ui?.isKey;const n=new t({header:new o({text:a.ui?.label||e}),demandPopin:!r,minScreenWidth:r?"":"Tablet",popinDisplay:"Inline"});I.addColumn(n);const s=c.generateField(a,e,L||"meta",true);M.push(s)}catch(t){const a=t.message;d.error(`[MetaUI] Failed to render fallback column ${e}`,a,"TableLayout");d.showErrorPopup(`Failed to render fallback table column '${e}'.\n\nDetails: ${a}`);M.push(new o({text:"Error"}))}})}const C=new a({cells:M});I.bindItems({path:$,model:L,template:C,templateShareable:false});return I}}var b={__esModule:true};b.TableLayout=m;return b});
|
|
32
35
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/layouts/WizardLayout", ["sap/m/Wizard","sap/m/WizardStep","sap/ui/layout/form/SimpleForm","sap/m/Label","../core/SchemaNormalizer","../utils/Logger"],function(e,t,a,r,n,i){"use strict";const o=n["SchemaNormalizer"];const s=i["Logger"];class l{render(r,n,i,o){const l=new e({renderMode:"Page",showNextButton:true,complete:function(){if(o)o()}});if(!r.uiLayout||!Array.isArray(r.uiLayout)){s.warn("[MetaUI] Missing 'uiLayout' array in wizard schema. Wizard will not render any steps.");return l}r.uiLayout.forEach(e=>{if(e.type==="Group"||e.type==="WizardStep"){const o=new t({title:e.label||"Step",validated:true});const s=new a({editable:true,layout:"ResponsiveGridLayout",labelSpanXL:4,labelSpanL:4,labelSpanM:4,labelSpanS:12,adjustLabelSpan:false,emptySpanXL:0,emptySpanL:0,emptySpanM:0,emptySpanS:0,columnsXL:1,columnsL:1,columnsM:1,singleContainerFullSize:false});if(e.elements&&Array.isArray(e.elements)){e.elements.forEach(e=>{this._renderElementInForm(s,e,r,n,i)})}o.addContent(s);l.addStep(o)}else{s.warn(`[MetaUI] Top-level element '${e.type}' inside WizardLayout must be 'Group' or 'WizardStep'.`,"","WizardLayout")}});return l}_renderElementInForm(e,t,a,n,i){if(t.type==="Control"){if(!t.scope||!t.scope.startsWith("#/properties/")){s.error(`[MetaUI] Invalid scope '${t.scope}' in uiLayout Control.`,"","WizardLayout");return}const{meta:l,bindingPath:u,propKey:d}=o.resolveScope(a,t.scope);if(!l){s.error(`[MetaUI] Property '${d}' not found in schema definitions.`,"","WizardLayout");return}try{const a=t.label||l.ui?.label||d;const o=new r({text:a,required:l.required});const s={...l};if(t.widget){s.ui={...l.ui,widget:t.widget}}const p=i.generateField(s,`/${u}`,n);if(s.ui?.fullWidth){sap.ui.require(["sap/ui/layout/GridData"],e=>{p.setLayoutData(new e({span:"XL12 L12 M12 S12"}))})}e.addContent(o);e.addContent(p)}catch(t){s.error(`[MetaUI] Failed to render Wizard field ${d}`,t.message,"WizardLayout");e.addContent(new r({text:d}))}}else{s.warn(`[MetaUI] Nested groups within Wizard steps are not fully supported in SimpleForm yet.`,"","WizardLayout")}}}var u={__esModule:true};u.WizardLayout=l;return u});
|
|
33
36
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/library", ["sap/ui/core/Core","nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin","nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin","nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin","nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin","nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin","nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin","nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin","nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin","nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator","nz/co/siliconst/ui5/metaui/utils/ExpressionBuilder","nz/co/siliconst/ui5/metaui/layouts/FormLayout","nz/co/siliconst/ui5/metaui/layouts/TableLayout","nz/co/siliconst/ui5/metaui/layouts/WizardLayout","nz/co/siliconst/ui5/metaui/layouts/CompactLayout","nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator","nz/co/siliconst/ui5/metaui/ai/MockLLMProxy","nz/co/siliconst/ui5/metaui/ai/RestLLMProxy","nz/co/siliconst/ui5/metaui/ai/AIConfig"],function(i,o,n,t,s,u,c,l,a,e,r,m,z,p,g,y,C,L,P){"use strict";i.initLibrary({name:"nz.co.siliconst.ui5.metaui",version:"1.0.0",dependencies:["sap.ui.core","sap.m","sap.ui.layout","sap.ui.table"],controls:["nz.co.siliconst.ui5.metaui.controls.DynamicHost","nz.co.siliconst.ui5.metaui.controls.host.GeneratorHost","nz.co.siliconst.ui5.metaui.controls.BaseHardwareControl","nz.co.siliconst.ui5.metaui.controls.CameraControl","nz.co.siliconst.ui5.metaui.controls.BarcodeScannerControl","nz.co.siliconst.ui5.metaui.controls.SignatureControl","nz.co.siliconst.ui5.metaui.controls.VoiceInputControl","nz.co.siliconst.ui5.metaui.controls.GeolocationControl","nz.co.siliconst.ui5.metaui.controls.RichTextControl"],elements:[],interfaces:[],noLibraryCSS:true});var d=window.nz.co.siliconst.ui5.metaui;return d});
|
|
34
37
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/OpenApiBuilder", ["../utils/Logger","./OpenApiParserFactory","./heuristics/OpenApiHeuristicEngine"],function(e,r,t){"use strict";const n=e["Logger"];const i=r["OpenApiParserFactory"];const s=t["OpenApiHeuristicEngine"];class o{canHandle(e){const r=e;return!!(r&&(r.openapi||r.swagger))}build(e,r){return o.build(e,r)}static async fetchAndBuild(e,r){try{const t=await fetch(e);if(!t.ok){throw new Error(`HTTP error! status: ${t.status}`)}const n=await t.json();return this.build(n,r)}catch(e){const r="Failed to fetch Swagger JSON from URL: "+e.message;n.error("[MetaUI OpenApiBuilder]",r);throw new Error(r)}}static build(e,r){if(!e||typeof e!=="object"){throw new Error("[MetaUI OpenApiBuilder] Invalid Swagger root object provided.")}const t=new s;t.run(e);const n=i.getParser(e);return n.parse(e,r)}}var a={__esModule:true};a.OpenApiBuilder=o;return a});
|
|
35
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory", ["./parsers/OpenApi2Parser","./parsers/OpenApi3Parser","../utils/Logger"],function(e,r,n){"use strict";const t=e["OpenApi2Parser"];const s=r["OpenApi3Parser"];const a=n["Logger"];class p{static getParser(e){if(!e||typeof e!=="object"){a.error("[MetaUI OpenApiParserFactory] Invalid OpenAPI document provided.");return new s}if(
|
|
38
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory", ["./parsers/OpenApi2Parser","./parsers/OpenApi3Parser","../utils/Logger"],function(e,r,n){"use strict";const t=e["OpenApi2Parser"];const s=r["OpenApi3Parser"];const a=n["Logger"];class p{static getParser(e){if(!e||typeof e!=="object"){a.error("[MetaUI OpenApiParserFactory] Invalid OpenAPI document provided.");return new s}const r=e;if(r.swagger==="2.0"){return new t}if(r.openapi&&typeof r.openapi==="string"&&r.openapi.startsWith("3")){return new s}a.warn("[MetaUI OpenApiParserFactory] Unable to strictly determine OpenAPI version. Defaulting to OpenAPI 3.0 Parser.");return new s}}var i={__esModule:true};i.OpenApiParserFactory=p;return i});
|
|
36
39
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver", ["../utils/Logger"],function(e){"use strict";const r=e["Logger"];class t{static resolve(e,t,l=0){if(!e||!e.startsWith("#/")){r.debug(`[MetaUI OpenApiBuilder] Ignoring non-local or empty $ref: ${e}`,"OpenApiBuilder");return null}if(l>10){r.error(`[MetaUI OpenApiBuilder] Circular or overly deep $ref detected: ${e}`,null,"OpenApiBuilder");return null}const i=e.substring(2).split("/");let n=t;for(const t of i){if(n&&typeof n==="object"&&t in n){n=n[t]}else{r.error(`[MetaUI OpenApiBuilder] Failed to resolve local $ref: ${e}`,null,"OpenApiBuilder");return null}}if(n&&typeof n==="object"&&n.$ref){return this.resolve(n.$ref,t,l+1)}return n}}var l={__esModule:true};l.OpenApiRefResolver=t;return l});
|
|
37
40
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/OpenApiTypeMapper", [],function(){"use strict";class e{static mapType(e){const r={string:"string",number:"number",integer:"integer",boolean:"boolean",array:"array",object:"object",date:"date"};return r[e]||"object"}}var r={__esModule:true};r.OpenApiTypeMapper=e;return r});
|
|
38
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper", [],function(){"use strict";class e{static build(e,a){const t={};if(
|
|
41
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper", [],function(){"use strict";class e{static build(e,a){const t=e||{};const r={};if(t.title){r.label=t.title}else{r.label=this.generateLabel(a)}if(t.readOnly===true){r.readOnly=true}if(t.format){switch(t.format){case"date-time":r.widget="datetime";break;case"date":r.widget="date";break;case"password":r.widget="password";r.format="password";break;case"email":r.widget="email";r.format="email";break;case"uri":r.widget="link";r.format="url";break;case"binary":case"byte":r.widget="fileUploader";break;case"uuid":case"ipv4":case"ipv6":case"hostname":if(!r.validators)r.validators=[];r.validators.push(t.format);break}}return r}static generateLabel(e){if(!e)return"";let a=e.replace(/([A-Z])/g," $1").replace(/_/g," ");return a.split(" ").filter(e=>e.length>0).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" ").trim()}}var a={__esModule:true};a.OpenApiUIMapper=e;return a});
|
|
39
42
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine", ["./plugins/ProtobufVariantHeuristic"],function(i){"use strict";const t=i["ProtobufVariantHeuristic"];class n{plugins=[];constructor(){this.plugins.push(new t)}run(i){for(const t of this.plugins){try{t.apply(i)}catch(i){throw new Error(`[MetaUI HeuristicEngine] Plugin execution failed: ${i.message}`)}}}}var e={__esModule:true};e.OpenApiHeuristicEngine=n;return e});
|
|
40
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic", [],function(){"use strict";class e{apply(e){if(!e)return;if(
|
|
41
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser", ["./OpenApiPropertyMapper","../OpenApiRefResolver"],function(e,
|
|
42
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser", ["./OpenApiPropertyMapper","../OpenApiRefResolver"],function(e,t){"use strict";const r=e["OpenApiPropertyMapper"];const
|
|
43
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper", ["../OpenApiRefResolver","../OpenApiTypeMapper","../OpenApiUIMapper"],function(e,i,t){"use strict";const r=e["OpenApiRefResolver"];const a=i["OpenApiTypeMapper"];const n=t["OpenApiUIMapper"];class s{static mapProperties(e,i,t,a,n=0){const s={};if(n>8)return s;for(const
|
|
43
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic", [],function(){"use strict";class e{apply(e){if(!e)return;const t=e;if(t.swagger==="2.0"&&t.definitions){this._scanDefinitions(t.definitions)}}_scanDefinitions(e){for(const[t,s]of Object.entries(e)){if(this._isProtobufVariant(t,s)){this._mutateToOneOf(s)}}}_isProtobufVariant(e,t){const s=t;if(s.type!=="object"||!s.properties){return false}const i=s.required;if(i&&i.length>0){return false}const n=s.properties;const r=Object.keys(n);if(r.length<2){return false}const o=r.every(e=>e.endsWith("_value"));if(o&&(e.endsWith("Value")||e.endsWith("Variant"))){return true}return false}_mutateToOneOf(e){const t=e.properties;const s=Object.keys(t);const i=[];for(const e of s){const s=t[e];const n={type:"object",properties:{[e]:s},required:[e],title:s.description||e};i.push(n)}e.oneOf=i;delete e.properties}}var t={__esModule:true};t.ProtobufVariantHeuristic=e;return t});
|
|
44
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser", ["./OpenApiPropertyMapper","../OpenApiRefResolver"],function(e,t){"use strict";const i=e["OpenApiPropertyMapper"];const r=t["OpenApiRefResolver"];class o{parse(e,t){let o=e;const a=e;if(!t){if(a.definitions){const e=a.definitions;const i=Object.keys(e);if(i.length>0)t=i[0]}}if(t){t=t.replace("#/components/schemas/","").replace("#/definitions/","");if(a.definitions){const e=a.definitions;if(e[t]){o=e[t]}else{throw new Error(`[MetaUI OpenApi2Parser] Could not find target definition '${t}' in definitions.`)}}else{throw new Error(`[MetaUI OpenApi2Parser] Could not find target definition '${t}' in definitions.`)}}if(o.$ref){const t=r.resolve(o.$ref,e);if(t){o={...t,...o}}}if(Array.isArray(o.allOf)){let t={...o};delete t.allOf;for(const a of o.allOf){let o=a;if(a.$ref){o=r.resolve(a.$ref,e)||{}}t=i.deepMergeSchemas(t,o)}o=t}const s={title:o.title||a.info?.title||t||"",type:o.type==="array"?"array":"object",layoutStrategy:o.type==="array"?"table":"form"};if(o.additionalProperties){if(o.additionalProperties===true){s.additionalProperties=true}else if(typeof o.additionalProperties==="object"){s.additionalProperties=i.mapPropertyMetadata(o.additionalProperties,"value",false,e,"2.0")}}if(o.properties){const t=Array.isArray(o.required)?o.required:[];s.properties=i.mapProperties(o.properties,t,e,"2.0")}else if(s.type==="array"&&o.items){s.items=i.mapPropertyMetadata(o.items,"items",false,e,"2.0")}if(a.definitions){s.definitions={};const t=a.definitions;for(const r of Object.keys(t)){const o=i.mapPropertyMetadata(t[r],r,false,e,"2.0");s.definitions[r]={title:r,type:o.type==="array"?"array":"object",properties:o.properties,items:o.items,ui:o.ui,layoutStrategy:o.type==="array"?"table":"form"}}}return s}}var a={__esModule:true};a.OpenApi2Parser=o;return a});
|
|
45
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser", ["./OpenApiPropertyMapper","../OpenApiRefResolver"],function(e,t){"use strict";const r=e["OpenApiPropertyMapper"];const o=t["OpenApiRefResolver"];class s{parse(e,t){let s=e;const i=e;if(!t){if(i.components&&i.components.schemas){const e=i.components.schemas;const r=Object.keys(e);if(r.length>0)t=r[0]}}if(t){t=t.replace("#/components/schemas/","").replace("#/definitions/","");if(i.components&&i.components.schemas){const e=i.components.schemas;if(e[t]){s=e[t]}else{throw new Error(`[MetaUI OpenApi3Parser] Could not find target definition '${t}' in components.schemas.`)}}else{throw new Error(`[MetaUI OpenApi3Parser] Could not find target definition '${t}' in components.schemas.`)}}if(s.$ref){const t=o.resolve(s.$ref,e);if(t){s={...t,...s}}}if(Array.isArray(s.allOf)){let t={...s};delete t.allOf;for(const i of s.allOf){let s=i;if(i.$ref){s=o.resolve(i.$ref,e)||{}}t=r.deepMergeSchemas(t,s)}s=t}const a={title:s.title||i.info?.title||t||"",type:s.type==="array"?"array":"object",layoutStrategy:s.type==="array"?"table":"form"};if(s.additionalProperties){if(s.additionalProperties===true){a.additionalProperties=true}else if(typeof s.additionalProperties==="object"){a.additionalProperties=r.mapPropertyMetadata(s.additionalProperties,"value",false,e,"3.0")}}if(s.properties){const t=Array.isArray(s.required)?s.required:[];a.properties=r.mapProperties(s.properties,t,e,"3.0")}else if(a.type==="array"&&s.items){a.items=r.mapPropertyMetadata(s.items,"items",false,e,"3.0")}if(i.components&&i.components.schemas){a.definitions={};const t=i.components.schemas;for(const o of Object.keys(t)){const s=r.mapPropertyMetadata(t[o],o,false,e,"3.0");a.definitions[o]={title:o,type:s.type==="array"?"array":"object",properties:s.properties,items:s.items,ui:s.ui,layoutStrategy:s.type==="array"?"table":"form"}}}return a}}var i={__esModule:true};i.OpenApi3Parser=s;return i});
|
|
46
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper", ["../OpenApiRefResolver","../OpenApiTypeMapper","../OpenApiUIMapper"],function(e,i,t){"use strict";const r=e["OpenApiRefResolver"];const a=i["OpenApiTypeMapper"];const n=t["OpenApiUIMapper"];class s{static mapProperties(e,i,t,a,n=0){const s={};if(n>8)return s;const o=e||{};for(const e of Object.keys(o)){const p=i.includes(e);let m=o[e];if(m.$ref){const e=r.resolve(m.$ref,t);if(e){m={...e,...m}}}s[e]=this.mapPropertyMetadata(m,e,p,t,a,n+1)}return s}static mapPropertyMetadata(e,i,t,r,s,o=0){let p=e;const m=this._resolveReference(p,i,t,r,s,o);if(m){return m}p=this._resolveAllOf(p,r);const f=a.mapType(p.type);const u={type:f,required:t};const l=n.build(p,i);if(Object.keys(l).length>0){u.ui=l}this._applyConstraints(u,p,s);this._applyStateModifiers(u,p);if(p.default!==undefined){u.default=p.default}if(Array.isArray(p.enum)){u.enum=p.enum;if(!u.ui)u.ui={};u.ui.widget="dropdown"}this._applyPolymorphism(u,p,r,s,o);this._applyNestedTypes(u,p,r,s,o,f);return u}static _resolveReference(e,i,t,a,n,s){if(!e.$ref){return null}const o=r.resolve(e.$ref,a);const p=e.type||o&&o.type;if(p&&["string","number","integer","boolean"].includes(p)){const r={...o,...e};delete r.$ref;return this.mapPropertyMetadata(r,i,t,a,n,s+1)}return{type:"object",$ref:e.$ref,required:t,ui:{widget:"reference"}}}static _resolveAllOf(e,i){if(!Array.isArray(e.allOf)){return e}let t={...e};delete t.allOf;for(const a of e.allOf){let e=a;if(a.$ref){e=r.resolve(a.$ref,i)||{}}t=this.deepMergeSchemas(t,e)}return t}static _applyConstraints(e,i,t){if(typeof i.maxLength==="number")e.maxLength=i.maxLength;if(typeof i.minLength==="number")e.minLength=i.minLength;if(typeof i.pattern==="string")e.pattern=i.pattern;if(typeof i.maximum==="number")e.maximum=i.maximum;if(typeof i.minimum==="number")e.minimum=i.minimum;if(typeof i.multipleOf==="number")e.multipleOf=i.multipleOf;if(typeof i.maxItems==="number")e.maxItems=i.maxItems;if(typeof i.minItems==="number")e.minItems=i.minItems;if(typeof i.uniqueItems==="boolean")e.uniqueItems=i.uniqueItems;if(typeof i.maxProperties==="number")e.maxProperties=i.maxProperties;if(typeof i.minProperties==="number")e.minProperties=i.minProperties;if(t==="2.0"){if(i.exclusiveMaximum===true&&typeof i.maximum==="number"){e.exclusiveMaximum=true}if(i.exclusiveMinimum===true&&typeof i.minimum==="number"){e.exclusiveMinimum=true}}else if(t==="3.0"){if(typeof i.exclusiveMaximum==="number"||typeof i.exclusiveMaximum==="boolean"){e.exclusiveMaximum=i.exclusiveMaximum}if(typeof i.exclusiveMinimum==="number"||typeof i.exclusiveMinimum==="boolean"){e.exclusiveMinimum=i.exclusiveMinimum}}}static _applyStateModifiers(e,i){if(i.readOnly===true)e.readOnly=true;if(i.writeOnly===true)e.writeOnly=true;if(i.nullable===true)e.nullable=true;if(i.deprecated===true)e.deprecated=true}static _applyPolymorphism(e,i,t,r,a){if(i.discriminator){if(r==="2.0"&&typeof i.discriminator==="string"){e.discriminator={propertyName:i.discriminator}}else if(r==="3.0"&&typeof i.discriminator==="object"){const t=i.discriminator;e.discriminator={propertyName:t.propertyName,mapping:t.mapping}}}if(Array.isArray(i.oneOf)){e.oneOf=[];for(let n=0;n<i.oneOf.length;n++){e.oneOf.push(this.mapPropertyMetadata(i.oneOf[n],`Variant${n}`,false,t,r,a+1))}if(!e.ui)e.ui={};e.ui.widget="polymorphic"}if(Array.isArray(i.anyOf)){e.anyOf=[];for(let n=0;n<i.anyOf.length;n++){e.anyOf.push(this.mapPropertyMetadata(i.anyOf[n],`AnyVariant${n}`,false,t,r,a+1))}}if(i.not){e.not=this.mapPropertyMetadata(i.not,`NotVariant`,false,t,r,a+1)}}static _applyNestedTypes(e,i,t,r,a,n){if(n==="object"){if(i.properties){const n=Array.isArray(i.required)?i.required:[];e.properties=this.mapProperties(i.properties,n,t,r,a+1)}if(i.additionalProperties){if(i.additionalProperties===true){e.additionalProperties=true}else if(typeof i.additionalProperties==="object"){e.additionalProperties=this.mapPropertyMetadata(i.additionalProperties,"value",false,t,r,a+1);if(!e.ui)e.ui={};e.ui.widget="dictionary"}}if(!i.properties&&!i.additionalProperties){if(!e.ui)e.ui={};e.ui.widget="codeEditor"}}else if(n==="array"&&i.items){e.items=this.mapPropertyMetadata(i.items,"items",false,t,r,a+1);if(e.items.type!=="object"){if(!e.ui)e.ui={};e.ui.widget="multiInput"}}}static deepMergeSchemas(e,i){const t=e||{};const r=Object.assign({},t);if(i===null||typeof i!=="object")return r;const a=i;Object.keys(a).forEach(e=>{if(Array.isArray(a[e])){r[e]=Array.isArray(t[e])?Array.from(new Set([...t[e],...a[e]])):[...a[e]]}else if(typeof a[e]==="object"&&a[e]!==null){if(t[e]&&typeof t[e]==="object"){r[e]=this.deepMergeSchemas(t[e],a[e])}else{r[e]=Object.assign({},a[e])}}else{r[e]=a[e]}});return r}}var o={__esModule:true};o.OpenApiPropertyMapper=s;return o});
|
|
44
47
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin", ["../controls/BasePlugin","sap/m/Button"],function(t,e){"use strict";const s=t["BasePlugin"];class i extends s{render(t,s,i="meta"){this.metadata=t;if(!this.isEditable){sap.ui.requireSync("sap/m/Text");const t=sap.ui.require("sap/m/Text");this.control=new t({visible:false});return this.control}this.control=new e({text:t.ui?.label||"Clear Data",type:"Reject",icon:"sap-icon://delete",press:t=>{const e=t.getSource();const s=e.getModel(i);if(s){s.setProperty("/",{})}}});return this.control}getValue(){return null}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var a={__esModule:true};a.ClearFormActionPlugin=i;return a});
|
|
45
48
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin", ["../controls/BasePlugin","sap/m/Button","sap/ui/core/Core"],function(t,e,i){"use strict";const s=t["BasePlugin"];class a extends s{render(t,s,a="meta"){this.metadata=t;if(!this.isEditable){sap.ui.requireSync("sap/m/Text");const t=sap.ui.require("sap/m/Text");this.control=new t({visible:false});return this.control}this.control=new e({text:t.ui?.label||"Submit",type:"Emphasized",icon:"sap-icon://save",press:()=>{i.getEventBus().publish("MetaUI","TriggerSubmit",{})}});return this.control}getValue(){return null}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var n={__esModule:true};n.SubmitFormActionPlugin=a;return n});
|
|
46
49
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin", ["../controls/BasePlugin","sap/m/Button","sap/m/library"],function(t,e,n){"use strict";const a=t["BasePlugin"];const s=n.URLHelper;class i extends a{render(t,n,a="meta"){this.metadata=t;this.control=new e({text:t.ui?.label||"Open Link",icon:"sap-icon://action",press:()=>{const e=t.ui?.args||"https://sap.com";s.redirect(e,true)}});return this.control}getValue(){return null}applyState(){if(this.control&&this.metadata){this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var r={__esModule:true};r.UrlNavigationActionPlugin=i;return r});
|
|
47
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin", ["./BasePlugin","sap/m/Button"],function(t,e){"use strict";const
|
|
48
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin", ["../controls/BasePlugin","sap/m/HBox","sap/m/Input","sap/ndc/BarcodeScannerButton","sap/m/Text"],function(t,e,i,n,
|
|
49
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin", ["../../core/PipelineManager","sap/ui/core/library","../../utils/Logger"],function(e,t,i){"use strict";const a=e["GlobalPipeline"];const s=i["Logger"];class n{control=null;metadata=null;fieldKey="";modelName="meta";isEditable=true;useMessageManager=false;setEditable(e){this.isEditable=e}setUseMessageManager(e){this.useMessageManager=e}generateStableId(e,t){if(!e)return undefined;const i=t.replace(/^\//,"").replace(/\//g,"-");return`${e}--${i}`}generateBindingInfo(e,t,i,a){return{path:e,model:t,...i?{type:i}:{},...a||{}}}validate(){if(!this.control||!this.metadata)return{isValid:true};if(typeof this.control.getVisible==="function"){if(!this.control.getVisible()){return{isValid:true}}}const e=[];const t={maxLength:this.metadata.maxLength};
|
|
50
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin", ["./BasePlugin","sap/m/CheckBox","sap/m/Text"],function(t,e,i){"use strict";const
|
|
51
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin", ["../controls/BasePlugin","../../controls/CameraControl","sap/m/Image"],function(t,e,i){"use strict";function a(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const n=t["BasePlugin"];const s=a(e);class
|
|
52
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin", ["./BasePlugin","sap/ui/codeeditor/CodeEditor"],function(t,e){"use strict";const
|
|
53
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin", ["./BasePlugin","sap/m/DatePicker","sap/m/Text"],function(t,e,i){"use strict";const a=t["BasePlugin"];class s extends a{render(t,a,s="meta",n,r){this.onChange=r;this.metadata=t;this.fieldKey=a.startsWith("/")?a.substring(1):a;if(!this.isEditable){this.control=new i({id:this.generateStableId(n,a),text:this.generateBindingInfo(a,s,"sap.ui.model.type.Date",{formatOptions:{source:{pattern:"yyyy-MM-dd"},pattern:"yyyy-MM-dd"}})});this.applyCommonDirectives(this.control,t,s);return this.control}this.control=new e({id:this.generateStableId(n,a),value:this.generateBindingInfo(a,s,"sap.ui.model.type.Date",{formatOptions:{source:{pattern:"yyyy-MM-dd"},pattern:"yyyy-MM-dd"}}),displayFormat:"long",editable:!t.ui?.readOnly,required:t.required,change:t=>{const e=t.getParameter("value");const i=this.
|
|
54
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin", ["./BasePlugin","sap/m/DateTimePicker","sap/m/Text"],function(t,e,i){"use strict";const s=t["BasePlugin"];class a extends s{render(t,s,a="meta",n,r){this.onChange=r;this.metadata=t;this.fieldKey=s.startsWith("/")?s.substring(1):s;if(!this.isEditable){this.control=new i({id:this.generateStableId(n,s),text:this.generateBindingInfo(s,a,"sap.ui.model.type.DateTime",{formatOptions:{source:{pattern:"yyyy-MM-dd'T'HH:mm:ss'Z'"},pattern:"yyyy-MM-dd'T'HH:mm:ss'Z'"}})});this.applyCommonDirectives(this.control,t,a);return this.control}this.control=new e({id:this.generateStableId(n,s),value:this.generateBindingInfo(s,a,"sap.ui.model.type.DateTime",{formatOptions:{source:{pattern:"yyyy-MM-dd'T'HH:mm:ss'Z'"},pattern:"yyyy-MM-dd'T'HH:mm:ss'Z'"}}),editable:!t.ui?.readOnly,required:t.required,change:t=>{const e=t.getParameter("value");const i=this.
|
|
55
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin", ["./BasePlugin","../../core/PluginRegistry","sap/m/VBox","sap/m/HBox","sap/m/Input","sap/m/Button","sap/m/Title","sap/m/Table","sap/m/Column","sap/m/Label","sap/m/ColumnListItem","sap/ui/model/json/JSONModel","sap/m/Dialog"],function(t,e,i,n,s,o,a,l,r,c,d,
|
|
56
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin", ["./BasePlugin","sap/m/Select","sap/ui/core/Item","sap/m/Text"],function(e,t,n,i){"use strict";const a=e["BasePlugin"];class s extends a{render(e,a,s="meta",r,l){this.onChange=l;this.metadata=e;this.fieldKey=a.startsWith("/")?a.substring(1):a;if(!this.isEditable){const t=e.valueHelp&&Array.isArray(e.valueHelp)?e.valueHelp:e.enum?e.enum.map(e=>({key:String(e),text:String(e)})):[];this.control=new i({id:this.generateStableId(r,a),text:this.generateBindingInfo(a,s,undefined,{formatter:e=>{const n=t.find(t=>t.key===e);return n?n.text:e}})});this.applyCommonDirectives(this.control,e,s);return this.control}const o=new t({id:this.generateStableId(r,a),selectedKey:this.generateBindingInfo(a,s),enabled:!e.ui?.readOnly,forceSelection:false,change:e=>{const t=e.getParameter("selectedItem");const n=t?t.getKey():"";const i=this.
|
|
57
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin", ["./BasePlugin","sap/m/Input","sap/m/Text"],function(t,e,i){"use strict";const a=t["BasePlugin"];class n extends a{render(t,a,n="meta",s,r){this.onChange=r;this.metadata=t;this.fieldKey=a.replace("/","");if(!this.isEditable){this.control=new i({id:this.generateStableId(s,a),text:this.generateBindingInfo(a,n)});this.applyCommonDirectives(this.control,t,n);return this.control}this.control=new e({id:this.generateStableId(s,a),value:this.generateBindingInfo(a,n),type:"Email",maxLength:t.maxLength||0,required:!!t.required,change:t=>{const e=this.
|
|
58
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin", ["./BasePlugin","sap/ui/unified/FileUploader","sap/m/Link"],function(t,
|
|
59
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin", ["../controls/BasePlugin","../../controls/GeolocationControl","sap/m/Text"],function(t,e,n){"use strict";function i(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const a=t["BasePlugin"];const o=i(e);class s extends a{render(t,e,i="meta",a,s){this.onChange=s;this.metadata=t;this.fieldKey=e.replace("/","");this.modelName=i;if(!this.isEditable){this.control=new n({id:this.generateStableId(a,e),text:this.generateBindingInfo(e,i,undefined,{formatter:t=>t&&t.lat!==undefined&&t.lng!==undefined?`Lat: ${t.lat}, Lng: ${t.lng}`:""})});this.applyCommonDirectives(this.control,t,i);return this.control}this.control=new o({id:this.generateStableId(a,e),value:this.generateBindingInfo(e,i),schemaMetadata:t,readOnly:!!t.ui?.readOnly});this.applyCommonDirectives(this.control,t,i);this.control.
|
|
60
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin", ["./BasePlugin","sap/m/Link","sap/m/Input"],function(t,e,i){"use strict";const n=t["BasePlugin"];class a extends n{render(t,n,a="meta",s
|
|
50
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin", ["./BasePlugin","sap/m/Button","../../constants/MetaUIConstants"],function(t,e,i){"use strict";const s=t["BasePlugin"];const n=i["SCHEMA_TYPE"];const a=i["UI5_EVENT"];class o extends s{render(t,i,s="meta",o,r){this.onChange=r;this.metadata=t;const u=i.startsWith("/")?i.substring(1):i;const l={type:n.ARRAY,title:t.ui?.label||u,items:t.items||{type:n.OBJECT,properties:{}}};if(t.uiLayout){l.uiLayout=t.uiLayout}this.control=new e({id:this.generateStableId(o,i),text:!this.isEditable?"View Records":"Edit Records",icon:!this.isEditable?"sap-icon://display":"sap-icon://list",press:e=>{const n=e.getSource();const o=n.getModel(s);if(!o)return;const r=n.getBindingContext(s);let c=i;if(r&&!i.startsWith("/")){const t=r.getPath();c=t.endsWith("/")?t+i:t==="/"?"/"+i:t+"/"+i}const d=JSON.parse(JSON.stringify(o.getProperty(c)||[]));sap.ui.require(["nz/co/siliconst/ui5/metaui/controls/DynamicHost"],e=>{const i=new e({schemaDefinition:l,schemaDefinitions:undefined,data:d,editable:this.isEditable,layoutBudget:this.metadata?.ui?.layoutBudget||0});if(!!this.isEditable){i.attachEvent(a.SUBMIT,t=>{const e=t.getParameter("payload");o.setProperty(c,e);if(this.onChange){this.onChange(true,u)}})}const s=t.ui?.dialogButtonText||(!this.isEditable?"Close":"OK");i.openInDialog(`Nested Records: ${t.ui?.label||u}`,s)})}});this.applyCommonDirectives(this.control,t,s);return this.control}getValue(){return null}applyState(){}}var r={__esModule:true};r.ArrayPlugin=o;return r});
|
|
51
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin", ["../controls/BasePlugin","sap/m/HBox","sap/m/Input","sap/ndc/BarcodeScannerButton","sap/m/Text"],function(t,e,i,n,s){"use strict";const a=t["BasePlugin"];class o extends a{render(t,a,o="meta",r,l){this.onChange=l;this.metadata=t;this.fieldKey=a.replace("/","");this.modelName=o;if(!this.isEditable){this.control=new s({id:this.generateStableId(r,a),text:this.generateBindingInfo(a,o)});this.applyCommonDirectives(this.control,t,o);return this.control}this.inputControl=new i({id:this.generateStableId(r,a+"-input"),value:this.generateBindingInfo(a,o),editable:!t.ui?.readOnly,width:"100%",change:()=>{const t=this.validate();if(this.onChange){this.onChange(t.isValid,this.fieldKey,t.errorMessage)}}});const h=new n({id:this.generateStableId(r,a+"-btn"),scanSuccess:t=>{const e=t.getParameter("text");if(e){this.inputControl.setValue(e);const t=this.validate();if(this.onChange){this.onChange(t.isValid,this.fieldKey,t.errorMessage)}}}});this.control=new e({id:this.generateStableId(r,a),items:[this.inputControl,h],width:"100%"}).addStyleClass("sapUiSmallMarginBottom");this.applyCommonDirectives(this.control,t,o);return this.control}getValue(){return this.inputControl?this.inputControl.getProperty("value"):null}applyState(){if(this.inputControl&&this.metadata){if(!this.isEditable)return;this.inputControl.setEditable(!this.metadata.ui?.readOnly)}}}var r={__esModule:true};r.BarcodeScannerPlugin=o;return r});
|
|
52
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin", ["../../core/PipelineManager","sap/ui/core/library","../../utils/Logger"],function(e,t,i){"use strict";const a=e["GlobalPipeline"];const s=i["Logger"];class n{control=null;BLOCKED_PROPS=["value","text","selectedKey","selected","dateValue","editable","enabled","visible","valueState","valueStateText","items","content","pages","formElements","change","press","select","submit"];metadata=null;fieldKey="";modelName="meta";isEditable=true;useMessageManager=false;policyInvalidMessage=null;setEditable(e){this.isEditable=e}setUseMessageManager(e){this.useMessageManager=e}generateStableId(e,t){if(!e)return undefined;const i=t.replace(/^\//,"").replace(/\//g,"-");return`${e}--${i}`}generateBindingInfo(e,t,i,a){return{path:e,model:t,...i?{type:i}:{},...a||{}}}validate(){if(!this.control||!this.metadata)return{isValid:true};if(typeof this.control.getVisible==="function"){if(!this.control.getVisible()){return{isValid:true}}}if(this.policyInvalidMessage){return{isValid:false,errorMessage:this.policyInvalidMessage,fieldKey:this.fieldKey}}const e=[];const t={maxLength:this.metadata.maxLength};const i=this._isDynamicallyRequired!==undefined?this._isDynamicallyRequired:this.metadata.required;if(i){e.push("required")}if(this.metadata.maxLength)e.push("maxLength");if(this.metadata.minLength){e.push("minLength");t["minLength"]=this.metadata.minLength}if(this.metadata.pattern){e.push("pattern");t["pattern"]=this.metadata.pattern}if(this.metadata.minimum!==undefined||this.metadata.maximum!==undefined){e.push("range");t["range"]={min:this.metadata.minimum,max:this.metadata.maximum}}const s=this.metadata.ui?.format;if(s==="email"||s==="url"||s==="iban"){e.push(s)}if(this.metadata.ui?.validators){for(const i of this.metadata.ui.validators){if(typeof i==="string"){e.push(i)}else if(i&&i.name){e.push(i.name);if(i.args!==undefined){t[i.name]=i.args}}}}if(e.length===0){return{isValid:true,errorMessage:undefined,fieldKey:this.fieldKey}}const n=this.getValue();const l=a.executeValidation(n,e,t);return{isValid:l.isValid,errorMessage:l.errorMessage,fieldKey:this.fieldKey,fieldLabel:this.metadata?.ui?.label}}setVisualValidationState(e,i){if(!this.control)return;const a=this.control;if(typeof a.setValueState==="function"){a.setValueState(e?t.ValueState.None:t.ValueState.Error);if(typeof a.setValueStateText==="function"){a.setValueStateText(e?"":i||"")}}else{}}applyError(e){this.policyInvalidMessage=e;this.setVisualValidationState(false,e)}clearError(){this.policyInvalidMessage=null;this.setVisualValidationState(true)}applyVisibility(e){const t=this.control;if(t&&typeof t.setVisible==="function"){t.setVisible(e)}}applyRequired(e){this._isDynamicallyRequired=e;const t=this.control;if(t&&typeof t.setRequired==="function"){t.setRequired(e)}}applyEditable(e){const t=this.control;if(t&&typeof t.setEditable==="function"){t.setEditable(e)}else if(t&&typeof t.setEnabled==="function"){t.setEnabled(e)}}onStateChange(e){this.metadata=e;this.applyState()}applyCommonDirectives(e,t,i="meta"){const a=e;if(t.ui?.readOnly!==undefined&&typeof a.setEditable==="function"){a.setEditable(!t.ui.readOnly)}if(t.ui?.visibleOn){const a=sap.ui.require("nz/co/siliconst/ui5/metaui/utils/ExpressionBuilder")?.ExpressionBuilder;let s="";if(a){s=a.build(t.ui.visibleOn,this.fieldKey,i)}else{s=`{= ${t.ui.visibleOn.replace(/\$root\./g,`${i}>/`).replace(/\./g,"/")} }`}e.bindProperty("visible",{parts:[{path:"meta>/"}],formatter:()=>false});e.bindProperty("visible",s)}if(t.ui?.enabledOn&&typeof a.setEnabled==="function"){const a=sap.ui.require("nz/co/siliconst/ui5/metaui/utils/ExpressionBuilder")?.ExpressionBuilder;let s="";if(a){s=a.build(t.ui.enabledOn,this.fieldKey,i)}else{s=`{= ${t.ui.enabledOn.replace(/\$root\./g,`${i}>/`).replace(/\./g,"/")} }`}e.bindProperty("enabled",s)}if(t.ui?.controlProps){console.error(`[DEBUG MetaUI] controlProps found for ${this.fieldKey}`,t.ui.controlProps);const a=this.mainControl||e;const n=a;if(typeof n.getMetadata==="function"){const e=n.getMetadata();const l={};for(const[a,n]of Object.entries(t.ui.controlProps)){if(this.BLOCKED_PROPS.includes(a)){s.warn(`[BasePlugin] Cannot apply controlProps '${a}' for field '${this.fieldKey}' - ILLEGAL OVERRIDE (Property is protected by sandbox)`);continue}if(typeof e.hasAggregation==="function"&&e.hasAggregation(a)){s.warn(`[BasePlugin] Cannot apply controlProps '${a}' for field '${this.fieldKey}' - ILLEGAL OVERRIDE (Cannot hijack aggregations)`);continue}if(typeof e.hasEvent==="function"&&e.hasEvent(a)){s.warn(`[BasePlugin] Cannot apply controlProps '${a}' for field '${this.fieldKey}' - ILLEGAL OVERRIDE (Cannot hijack events)`);continue}if(typeof n==="string"&&n.startsWith("{")&&n.endsWith("}")){const e=n.replace(/metaui>/g,`${i}>`);l[a]=e}else{l[a]=n}}try{const e=a;if(typeof e.applySettings==="function"){e.applySettings(l)}}catch(t){s.warn(`[BasePlugin] Failed to apply controlProps for field '${this.fieldKey}' on control ${e.getName()}: ${t.message}`)}}}}destroy(){if(this.control&&typeof this.control.destroy==="function"){this.control.destroy();this.control=null}}}var l={__esModule:true};l.BasePlugin=n;return l});
|
|
53
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin", ["./BasePlugin","sap/m/CheckBox","sap/m/Switch","sap/m/Text"],function(t,e,i,s){"use strict";const n=t["BasePlugin"];class a extends n{render(t,n,a="meta",r,o){this.BLOCKED_PROPS=this.BLOCKED_PROPS.filter(t=>t!=="text");this.onChange=o;this.metadata=t;this.fieldKey=n.startsWith("/")?n.substring(1):n;if(!this.isEditable){this.control=new s({id:this.generateStableId(r,n),text:this.generateBindingInfo(n,a,undefined,{formatter:t=>t?"Yes":"No"})});this.applyCommonDirectives(this.control,t,a);return this.control}const l=t=>{const e=t.getParameter("state")??t.getParameter("selected");const i=this.validate();if(this.onChange){this.onChange(i.isValid,this.fieldKey,i.errorMessage)}};if(t.ui?.widget==="switch"){this.control=new i({id:this.generateStableId(r,n),state:this.generateBindingInfo(n,a),enabled:!t.ui?.readOnly,change:l})}else{this.control=new e({id:this.generateStableId(r,n),width:"100%",selected:this.generateBindingInfo(n,a),enabled:!t.ui?.readOnly,select:l})}this.applyCommonDirectives(this.control,t,a);return this.control}getValue(){if(!this.control)return false;if(this.control instanceof i){return this.control.getState()}return this.control.getSelected()}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;if(this.control instanceof i){this.control.setEnabled(!this.metadata.ui?.readOnly)}else{this.control.setEnabled(!this.metadata.ui?.readOnly)}}}}var r={__esModule:true};r.BooleanPlugin=a;return r});
|
|
54
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin", ["../controls/BasePlugin","../../controls/CameraControl","sap/m/Image"],function(t,e,i){"use strict";function a(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const n=t["BasePlugin"];const s=a(e);class r extends n{render(t,e,a="meta",n,r){this.onChange=r;this.metadata=t;this.fieldKey=e.replace("/","");this.modelName=a;if(!this.isEditable){this.control=new i({id:this.generateStableId(n,e),src:this.generateBindingInfo(e,a),width:"400px",alt:t.ui?.label||"Image"});this.applyCommonDirectives(this.control,t,a);return this.control}this.control=new s({id:this.generateStableId(n,e),value:this.generateBindingInfo(e,a),schemaMetadata:t,readOnly:!!t.ui?.readOnly});this.applyCommonDirectives(this.control,t,a);this.control.attachEvent("capture",()=>{const t=this.validate();if(this.onChange){this.onChange(t.isValid,this.fieldKey,t.errorMessage)}});return this.control}getValue(){return this.control?this.control.getProperty("value"):null}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setProperty("readOnly",!!this.metadata.ui?.readOnly)}}}var o={__esModule:true};o.CameraPlugin=r;return o});
|
|
55
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin", ["./BasePlugin","sap/ui/codeeditor/CodeEditor","sap/m/HBox","sap/m/Button","sap/m/Dialog","sap/m/FlexItemData"],function(t,e,i,s,a,o){"use strict";const n=t["BasePlugin"];class r extends n{detectLanguage(t){if(!t||typeof t!=="string")return"javascript";const e=t.trim();if(e==="")return"javascript";if(e.startsWith("{")||e.startsWith("[")){try{JSON.parse(e);return"json"}catch(t){}}if(/^\s*<[\s\S]*>\s*$/.test(e)){return"xml"}return"javascript"}adjustHeight(){if(!this.codeEditorRef)return;if(this.metadata?.ui?.rows)return;const t=this.codeEditorRef.getProperty("value")||"";const e=t.split(/\r\n|\r|\n/).length;const i=Math.max(100,e*18+20);this.codeEditorRef.setHeight(i+"px")}render(t,n,r="meta",d,h){this.onChange=h;this.metadata=t;this.fieldKey=n.replace("/","");const c=t.ui?.rows;const l=t.ui?.expandable!==false;const u=c?c*18+20+"px":"200px";const f=new e({id:this.generateStableId(d,n),value:this.generateBindingInfo(n,r),type:t.ui?.args||"javascript",editable:!this.isEditable?false:!t.ui?.readOnly,height:u,width:"100%",change:()=>{const e=this.validate();if(this.onChange){this.onChange(e.isValid,this.fieldKey,e.errorMessage)}if(!t.ui?.args){const t=this.codeEditorRef.getProperty("value");const e=this.detectLanguage(t);if(this.codeEditorRef.getType()!==e){this.codeEditorRef.setType(e)}}this.adjustHeight()}});this.codeEditorRef=f;this.mainControl=f;if(l){const d=new s({icon:"sap-icon://full-screen",type:"Transparent",tooltip:"Expand Code Editor",press:()=>{const i=new a({title:t.title||t.ui?.label||"Edit Code",contentWidth:"80%",contentHeight:"80%",verticalScrolling:false,resizable:true,content:new e({value:this.generateBindingInfo(n,r),type:this.codeEditorRef.getType(),width:"100%",height:"100%",editable:!this.isEditable?false:!t.ui?.readOnly}),beginButton:new s({text:"Close",press:()=>i.close()}),afterClose:()=>i.destroy()});this.control?.addDependent(i);i.open()}});f.setLayoutData(new o({growFactor:1}));this.control=new i({width:"100%",alignItems:"Start",items:[f,d]})}else{this.control=f}this.codeEditorRef.attachEventOnce("modelContextChange",()=>{const e=this.codeEditorRef.getBinding("value");const i=()=>{if(this.codeEditorRef){const e=this.codeEditorRef.getProperty("value");if(!t.ui?.args){this.codeEditorRef.setType(this.detectLanguage(e))}this.adjustHeight();this.applyState()}};if(e){e.attachChange(i)}i()});this.applyCommonDirectives(this.control,t,r);return this.control}getValue(){return this.codeEditorRef?this.codeEditorRef.getProperty("value"):null}applyState(){if(this.codeEditorRef&&this.metadata){if(!this.isEditable){this.codeEditorRef.setEditable(false)}else{this.codeEditorRef.setEditable(!this.metadata.ui?.readOnly)}}}}var d={__esModule:true};d.CodeEditorPlugin=r;return d});
|
|
56
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin", ["./BasePlugin","sap/m/DatePicker","sap/m/Text"],function(t,e,i){"use strict";const a=t["BasePlugin"];class s extends a{render(t,a,s="meta",n,r){this.onChange=r;this.metadata=t;this.fieldKey=a.startsWith("/")?a.substring(1):a;if(!this.isEditable){this.control=new i({id:this.generateStableId(n,a),text:this.generateBindingInfo(a,s,"sap.ui.model.type.Date",{formatOptions:{source:{pattern:"yyyy-MM-dd"},pattern:"yyyy-MM-dd"}})});this.applyCommonDirectives(this.control,t,s);return this.control}this.control=new e({id:this.generateStableId(n,a),value:this.generateBindingInfo(a,s,"sap.ui.model.type.Date",{formatOptions:{source:{pattern:"yyyy-MM-dd"},pattern:"yyyy-MM-dd"}}),displayFormat:"long",editable:!t.ui?.readOnly,required:t.required,change:t=>{const e=t.getParameter("value");const i=this.validate();if(this.onChange){this.onChange(i.isValid,this.fieldKey,i.errorMessage)}}});return this.control}getValue(){return this.control?this.control.getProperty("value"):null}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;const t=this.control;t.setEditable(!this.metadata.ui?.readOnly);t.setRequired(this.metadata.required)}}}var n={__esModule:true};n.DatePlugin=s;return n});
|
|
57
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin", ["./BasePlugin","sap/m/DateTimePicker","sap/m/Text"],function(t,e,i){"use strict";const s=t["BasePlugin"];class a extends s{render(t,s,a="meta",n,r){this.onChange=r;this.metadata=t;this.fieldKey=s.startsWith("/")?s.substring(1):s;if(!this.isEditable){this.control=new i({id:this.generateStableId(n,s),text:this.generateBindingInfo(s,a,"sap.ui.model.type.DateTime",{formatOptions:{source:{pattern:"yyyy-MM-dd'T'HH:mm:ss'Z'"},pattern:"yyyy-MM-dd'T'HH:mm:ss'Z'"}})});this.applyCommonDirectives(this.control,t,a);return this.control}this.control=new e({id:this.generateStableId(n,s),value:this.generateBindingInfo(s,a,"sap.ui.model.type.DateTime",{formatOptions:{source:{pattern:"yyyy-MM-dd'T'HH:mm:ss'Z'"},pattern:"yyyy-MM-dd'T'HH:mm:ss'Z'"}}),editable:!t.ui?.readOnly,required:t.required,change:t=>{const e=t.getParameter("value");const i=this.validate();if(this.onChange){this.onChange(i.isValid,this.fieldKey,i.errorMessage)}}});this.applyCommonDirectives(this.control,t,a);return this.control}getValue(){return this.control?this.control.getProperty("value"):null}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;const t=this.control;t.setEditable(!this.metadata.ui?.readOnly);t.setRequired(this.metadata.required)}}}var n={__esModule:true};n.DateTimePlugin=a;return n});
|
|
58
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin", ["./BasePlugin","../../core/PluginRegistry","sap/m/VBox","sap/m/HBox","sap/m/Input","sap/m/Button","sap/m/Title","sap/m/Table","sap/m/Column","sap/m/Label","sap/m/ColumnListItem","sap/ui/model/json/JSONModel","sap/m/Dialog"],function(t,e,i,n,s,o,a,l,r,c,p,d,h){"use strict";const u=t["BasePlugin"];const y=e["PluginRegistry"];class m extends u{_isSyncing=false;_binding=null;canHandle(t){return t.type==="object"&&typeof t.additionalProperties==="object"}render(t,e,u,m,g,b){this.onChange=g;this.metadata=t;const f=t.additionalProperties||{type:"string"};const w=new i({width:"100%"}).addStyleClass("sapUiSmallMarginTopBottom");const P=e.startsWith("/")?e:`/${e}`;const C=b?b.getProperty(P)||{}:{};const D=Object.keys(C).map(t=>({key:t,value:C[t]}));const S=new d({items:D});const x=()=>{if(!b)return;this._isSyncing=true;const t=S.getProperty("/items");const e={};t.forEach(t=>{if(t.key&&t.key.trim()!==""){e[t.key]=t.value}});b.setProperty(P,e);if(this.onChange)this.onChange();this._isSyncing=false};if(b){this._binding=b.bindProperty(P);this._binding.attachChange(()=>{if(this._isSyncing)return;const t=b.getProperty(P)||{};const e=Object.keys(t).map(e=>({key:e,value:t[e]}));S.setProperty("/items",e)});this._binding.initialize()}const _=[new a({text:t.title||t.ui?.label||"Dictionary Map",level:"H5"})];if(this.isEditable){_.push(new o({text:"Add Property",icon:"sap-icon://add",press:()=>{const t=S.getProperty("/items");t.push({key:"",value:null});S.setProperty("/items",t);x()}}))}const E=new n({justifyContent:"SpaceBetween",alignItems:"Center",items:_}).addStyleClass("sapUiSmallMarginBottom");w.addItem(E);const v=[new r({header:new c({text:"Key"})}),new r({header:new c({text:"Value"})})];if(this.isEditable){v.push(new r({width:"4rem",hAlign:"Center"}))}const k=new l({mode:"None",noDataText:"No metadata properties defined.",columns:v});k.setModel(S,"localDict");k.bindItems({path:"localDict>/items",factory:(t,e)=>{const i=e.getPath();const n=new s({value:"{localDict>key}",editable:this.isEditable,change:()=>x()});const a=y.getInstance().getPlugin(f.type||"string",f.ui?.widget);const l={...f};if(!this.isEditable){if(!l.ui)l.ui={};l.ui.readOnly=true}const r=a.render(l,`${i}/value`,"localDict","dict_"+Date.now(),()=>x(),S);const c=[n,r];if(this.isEditable){const t=new o({icon:"sap-icon://delete",type:"Reject",press:()=>{const t=S.getProperty("/items");const e=parseInt(i.split("/").pop()||"0",10);t.splice(e,1);S.setProperty("/items",t);x()}});c.push(t)}return new p({cells:c})}});w.addItem(k);this.control=new o({id:this.generateStableId(m,e),text:!this.isEditable?"View Dictionary":"Edit Dictionary",icon:!this.isEditable?"sap-icon://display":"sap-icon://form",press:()=>{const e=new h({title:t.title||t.ui?.label||"Dictionary Map",contentWidth:"600px",contentHeight:"400px",horizontalScrolling:false,content:[w],buttons:[new o({text:!this.isEditable?"Close":"OK",type:"Emphasized",press:()=>{e.close()}})],afterClose:()=>{e.removeAllContent();e.destroy()}});if(this.control){this.control.addDependent(e)}e.open()}});this.applyCommonDirectives(this.control,t,u);return this.control}getValue(){return null}validate(){return{isValid:true}}applyState(){}destroy(){if(this._binding){this._binding.destroy();this._binding=null}super.destroy()}}return m});
|
|
59
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin", ["./BasePlugin","sap/m/Select","sap/ui/core/Item","sap/m/Text"],function(e,t,n,i){"use strict";const a=e["BasePlugin"];class s extends a{render(e,a,s="meta",r,l){this.onChange=l;this.metadata=e;this.fieldKey=a.startsWith("/")?a.substring(1):a;if(!this.isEditable){const t=e.valueHelp&&Array.isArray(e.valueHelp)?e.valueHelp:e.enum?e.enum.map(e=>({key:String(e),text:String(e)})):[];this.control=new i({id:this.generateStableId(r,a),text:this.generateBindingInfo(a,s,undefined,{formatter:e=>{const n=t.find(t=>t.key===e);return n?n.text:e}})});this.applyCommonDirectives(this.control,e,s);return this.control}const o=new t({id:this.generateStableId(r,a),selectedKey:this.generateBindingInfo(a,s),enabled:!e.ui?.readOnly,forceSelection:false,change:e=>{const t=e.getParameter("selectedItem");const n=t?t.getKey():"";const i=this.validate();if(this.onChange){this.onChange(i.isValid,this.fieldKey,i.errorMessage)}}});const d=e.valueHelp&&Array.isArray(e.valueHelp)?e.valueHelp:e.enum?e.enum.map(e=>({key:String(e),text:String(e)})):[];if(d.length>0){o.addItem(new n({key:"",text:"--- Select ---"}));d.forEach(e=>{o.addItem(new n({key:e.key,text:e.text}))})}this.control=o;this.applyCommonDirectives(this.control,e,s);return this.control}getValue(){const e=this.control?this.control.getSelectedKey():null;if(e&&this.metadata&&(this.metadata.type==="number"||this.metadata.type==="integer")){const t=parseFloat(e);return isNaN(t)?e:t}return e}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;const e=this.control;e.setEnabled(!this.metadata.ui?.readOnly)}}}var r={__esModule:true};r.DropdownPlugin=s;return r});
|
|
60
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin", ["./BasePlugin","sap/m/Input","sap/m/Text"],function(t,e,i){"use strict";const a=t["BasePlugin"];class n extends a{render(t,a,n="meta",s,r){this.onChange=r;this.metadata=t;this.fieldKey=a.replace("/","");if(!this.isEditable){this.control=new i({id:this.generateStableId(s,a),text:this.generateBindingInfo(a,n)});this.applyCommonDirectives(this.control,t,n);return this.control}this.control=new e({id:this.generateStableId(s,a),value:this.generateBindingInfo(a,n),type:"Email",maxLength:t.maxLength||0,required:!!t.required,change:t=>{const e=this.validate();if(this.onChange)this.onChange(e.isValid,this.fieldKey,e.errorMessage)}});this.applyCommonDirectives(this.control,t,n);return this.control}getValue(){return this.control&&this.control.getMetadata().getName()==="sap.m.Input"?this.control.getProperty("value"):null}applyState(){if(!this.control||!this.metadata||this.control.getMetadata().getName()!=="sap.m.Input")return;const t=this.control;t.setEditable(!this.metadata.ui?.readOnly);t.setRequired(!!this.metadata.required)}}var s={__esModule:true};s.EmailPlugin=n;return s});
|
|
61
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin", ["./BasePlugin","sap/ui/unified/FileUploader","sap/m/Link"],function(e,t,i){"use strict";const n=e["BasePlugin"];class a extends n{render(e,n,a="meta",s,r){this.onChange=r;this.metadata=e;this.fieldKey=n.startsWith("/")?n.substring(1):n;if(!this.isEditable){this.control=new i({id:this.generateStableId(s,n),text:this.generateBindingInfo(n,a),href:this.generateBindingInfo(n,a),target:"_blank"});this.applyCommonDirectives(this.control,e,a);return this.control}this.control=new t({id:this.generateStableId(s,n),value:this.generateBindingInfo(n,a),enabled:!e.ui?.readOnly,placeholder:e.ui?.label||"Choose a file...",width:"100%",change:e=>{const t=e.getParameter("newValue");const i=this.validate();if(this.onChange){this.onChange(i.isValid,this.fieldKey,i.errorMessage)}}});this.applyCommonDirectives(this.control,e,a);return this.control}getValue(){return this.control?this.control.getProperty("value"):null}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var s={__esModule:true};s.FileUploaderPlugin=a;return s});
|
|
62
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin", ["../controls/BasePlugin","../../controls/GeolocationControl","sap/m/Text"],function(t,e,n){"use strict";function i(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const a=t["BasePlugin"];const o=i(e);class s extends a{render(t,e,i="meta",a,s){this.onChange=s;this.metadata=t;this.fieldKey=e.replace("/","");this.modelName=i;if(!this.isEditable){this.control=new n({id:this.generateStableId(a,e),text:this.generateBindingInfo(e,i,undefined,{formatter:t=>t&&t.lat!==undefined&&t.lng!==undefined?`Lat: ${t.lat}, Lng: ${t.lng}`:""})});this.applyCommonDirectives(this.control,t,i);return this.control}this.control=new o({id:this.generateStableId(a,e),value:this.generateBindingInfo(e,i),schemaMetadata:t,readOnly:!!t.ui?.readOnly});this.applyCommonDirectives(this.control,t,i);this.control.attachEvent("capture",()=>{const t=this.validate();if(this.onChange){this.onChange(t.isValid,this.fieldKey,t.errorMessage)}});return this.control}getValue(){return this.control?this.control.getProperty("value"):null}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setProperty("readOnly",!!this.metadata.ui?.readOnly)}}}var r={__esModule:true};r.GeolocationPlugin=s;return r});
|
|
63
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin", ["./BasePlugin","sap/m/Link","sap/m/Input"],function(t,e,i){"use strict";const n=t["BasePlugin"];class a extends n{render(t,n,a="meta",r,s){this.onChange=s;this.metadata=t;this.fieldKey=n.replace("/","");if(!this.isEditable){this.control=new e({id:this.generateStableId(r,n),text:this.generateBindingInfo(n,a),href:this.generateBindingInfo(n,a),target:"_blank"});this.applyCommonDirectives(this.control,t,a);return this.control}this.control=new i({id:this.generateStableId(r,n),value:this.generateBindingInfo(n,a),type:"Url",maxLength:t.maxLength||0,required:!!t.required,change:t=>{const e=this.validate();if(this.onChange)this.onChange(e.isValid,this.fieldKey,e.errorMessage)}});this.applyCommonDirectives(this.control,t,a);return this.control}getValue(){if(!this.control)return null;if(this.control.getMetadata().getName()==="sap.m.Input"){return this.control.getProperty("value")}return this.control.getHref()}applyState(){if(!this.control||!this.metadata)return;if(this.control.getMetadata().getName()==="sap.m.Input"){const t=this.control;t.setEditable(!this.metadata.ui?.readOnly);t.setRequired(!!this.metadata.required)}}}var r={__esModule:true};r.LinkPlugin=a;return r});
|
|
61
64
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin", ["./BasePlugin","sap/m/MessageStrip"],function(e,t){"use strict";const s=e["BasePlugin"];class n extends s{render(e,s,n="meta",i,a){this.onChange=a;this.metadata=e;this.fieldKey=s.startsWith("/")?s.substring(1):s;this.control=new t({id:this.generateStableId(i,s),text:this.generateBindingInfo(s,n),type:"Information",showIcon:true,showCloseButton:false});return this.control}getValue(){return null}applyState(){}}var i={__esModule:true};i.MessageStripPlugin=n;return i});
|
|
62
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin", ["./BasePlugin","sap/m/MultiInput","sap/m/Token","sap/m/Text","../../utils/Logger"],function(t,e,n,i,o){"use strict";const
|
|
63
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin", ["./BasePlugin","sap/m/MultiComboBox","sap/ui/core/Item","sap/m/Text"],function(t,e,i,n){"use strict";const s=t["BasePlugin"];class a extends s{render(t,s,a="meta",o
|
|
64
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin", ["./BasePlugin","sap/m/Input","sap/m/Text","sap/ui/model/type/Float","sap/ui/model/type/Integer"],function(e,t,i,n,a){"use strict";const
|
|
65
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin", ["./BasePlugin","sap/m/Button"],function(t,e){"use strict";const
|
|
66
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin", ["./BasePlugin","sap/m/Input","sap/m/Text"],function(t,e,i){"use strict";const a=t["BasePlugin"];class s extends a{render(t,a,s="meta",n,r){this.onChange=r;this.metadata=t;this.fieldKey=a.replace("/","");if(!this.isEditable){this.control=new i({id:this.generateStableId(n,a),text:"********"});this.applyCommonDirectives(this.control,t,s);return this.control}this.control=new e({id:this.generateStableId(n,a),value:this.generateBindingInfo(a,s),type:"Password",maxLength:t.maxLength||0,required:!!t.required,change:t=>{const e=this.
|
|
67
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin", ["./BasePlugin","sap/m/RatingIndicator","sap/m/Text"],function(t,e,i){"use strict";const n=t["BasePlugin"];class a extends n{render(t,n,a="meta",s,r){this.onChange=r;this.metadata=t;this.fieldKey=n.startsWith("/")?n.substring(1):n;if(!this.isEditable){this.control=new i({id:this.generateStableId(s,n),text:this.generateBindingInfo(n,a)});this.applyCommonDirectives(this.control,t,a);return this.control}this.control=new e({id:this.generateStableId(s,n),value:this.generateBindingInfo(n,a),enabled:!t.ui?.readOnly,maxValue:t.maximum!==undefined?t.maximum:5,change:t=>{const e=t.getParameter("value");const i=this.
|
|
68
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin", ["./BasePlugin","sap/m/Button","../../core/PipelineManager"],function(e,t,i){"use strict";const
|
|
69
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin", ["../controls/BasePlugin","../../controls/RichTextControl","sap/m/FormattedText"],function(t,e,i){"use strict";function n(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const a=t["BasePlugin"];const
|
|
70
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin", ["../controls/BasePlugin","../../controls/SignatureControl","sap/m/Image"],function(t,e,i){"use strict";function n(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const a=t["BasePlugin"];const s=n(e);class
|
|
71
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin", ["./BasePlugin","sap/m/Slider","sap/m/Text"],function(t,
|
|
72
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin", ["./BasePlugin","sap/m/StepInput","sap/m/Text"],function(t,e,i){"use strict";const
|
|
73
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin", ["./BasePlugin","sap/m/Input","sap/m/Text"],function(t,
|
|
74
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin", ["./BasePlugin","sap/m/Switch","sap/m/Text"],function(t,e,i){"use strict";const s=t["BasePlugin"];class n extends s{render(t,s,n="meta",a,r){this.onChange=r;this.metadata=t;this.fieldKey=s.startsWith("/")?s.substring(1):s;if(!this.isEditable){this.control=new i({id:this.generateStableId(a,s),text:this.generateBindingInfo(s,n,undefined,{formatter:t=>t?"Yes":"No"})});this.applyCommonDirectives(this.control,t,n);return this.control}this.control=new e({id:this.generateStableId(a,s),state:this.generateBindingInfo(s,n),enabled:!t.ui?.readOnly,change:t=>{const e=t.getParameter("state");const i=this.
|
|
75
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin", ["./BasePlugin","sap/m/TextArea","sap/m/
|
|
76
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin", ["./BasePlugin","sap/m/TimePicker","sap/m/Text"],function(t,e,i){"use strict";const s=t["BasePlugin"];class a extends s{render(t,s,a="meta",n
|
|
77
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin", ["../controls/BasePlugin","../../controls/VoiceInputControl","sap/m/Text"],function(t,e,n){"use strict";function i(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const
|
|
65
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin", ["./BasePlugin","../../constants/MetaUIConstants","sap/m/MultiInput","sap/m/Token","sap/m/Text","../../utils/Logger"],function(t,e,n,i,s,o){"use strict";const r=t["BasePlugin"];const a=e["UI5_AGGREGATION"];const l=o["Logger"];class u extends r{render(t,e,o="meta",r,u){this.onChange=u;this.metadata=t;this.fieldKey=e.startsWith("/")?e.substring(1):e;this.modelName=o;if(!this.isEditable){this.control=new s({id:this.generateStableId(r,e),text:this.generateBindingInfo(e,o,undefined,{formatter:t=>Array.isArray(t)?t.join(", "):""})});this.applyCommonDirectives(this.control,t,o);return this.control}const d=this;const c=new n({id:this.generateStableId(r,e),enabled:!t.ui?.readOnly,placeholder:t.ui?.label||"Type and press Enter...",showValueHelp:false,tokenUpdate:t=>{const e=t.getParameter("type");const n=t.getSource();if(e==="removed"){const e=t.getParameter("removedTokens");const i=e.map(t=>t.getText());const s=d.getNativeBindingContext(n);if(s){const{model:t,absPath:e}=s;const o=t.getProperty(e)||[];const r=o.filter(t=>!i.includes(t));l.debug(`[MultiInputPlugin] Removing tokens from absolute path: ${e}`,i.join(", "),"MultiInputPlugin");d.syncTokensToModel(n,r)}}}});if(typeof c.attachSubmit==="function"){c.attachSubmit(t=>{const e=t.getSource();const n=(t.getParameter("value")||e.getProperty("value")).trim();if(n){const t=d.getNativeBindingContext(e);if(t){const{model:i,absPath:s}=t;const o=i.getProperty(s)||[];if(!o.includes(n)){const t=[...o,n];l.debug(`[MultiInputPlugin] submit (Enter) fired. Adding token to absolute path: ${s}`,n,"MultiInputPlugin");e.setValue("");d.syncTokensToModel(e,t)}else{e.setValue("")}}}})}c.addValidator(function(t){return null});c.bindAggregation(a.TOKENS,this.generateBindingInfo(e,o,undefined,{factory:(t,e)=>{const n=e.getObject()||"";return new i(t,{key:n,text:n})}}));this.control=c;this.applyCommonDirectives(this.control,t,o);return this.control}getNativeBindingContext(t){const e=t.getBinding(a.TOKENS);if(!e){l.error("[MultiInputPlugin] token list binding is completely missing on the source clone.");return null}const n=e.getModel();if(!n){l.error("[MultiInputPlugin] Failed to resolve underlying JSONModel from ListBinding.");return null}let i;const s=e.getContext();const o=e.getPath();if(s){const t=s.getPath();i=t.endsWith("/")?t+o:t==="/"?"/"+o:t+"/"+o}else{i=o.startsWith("/")?o:"/"+o}return{model:n,absPath:i}}syncTokensToModel(t,e){const n=this.getNativeBindingContext(t);if(!n)return;const{model:i,absPath:s}=n;i.setProperty(s,e);i.refresh(true);if(this.onChange){const t=this.validate();this.onChange(t.isValid,this.fieldKey,t.errorMessage)}}getValue(){if(!this.control)return[];const t=this.control.getTokens();return t.map(t=>t.getText())}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var d={__esModule:true};d.MultiInputPlugin=u;return d});
|
|
66
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin", ["./BasePlugin","sap/m/MultiComboBox","sap/ui/core/Item","sap/m/Text"],function(t,e,i,n){"use strict";const s=t["BasePlugin"];class a extends s{render(t,s,a="meta",r,o){this.onChange=o;this.metadata=t;this.fieldKey=s.startsWith("/")?s.substring(1):s;if(!this.isEditable){this.control=new n({id:this.generateStableId(r,s),text:this.generateBindingInfo(s,a,undefined,{formatter:t=>Array.isArray(t)?t.join(", "):""})});this.applyCommonDirectives(this.control,t,a);return this.control}const l=new e({id:this.generateStableId(r,s),selectedKeys:this.generateBindingInfo(s,a),enabled:!t.ui?.readOnly,placeholder:t.ui?.label||"Select items...",selectionChange:t=>{const e=this.control.getSelectedKeys();const i=this.validate();if(this.onChange){this.onChange(i.isValid,this.fieldKey,i.errorMessage)}}});if(t.enum){t.enum.forEach(t=>{l.addItem(new i({key:t.toString(),text:t.toString()}))})}this.control=l;this.applyCommonDirectives(this.control,t,a);return this.control}getValue(){return this.control?this.control.getSelectedKeys():[]}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var r={__esModule:true};r.MultiSelectPlugin=a;return r});
|
|
67
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin", ["./BasePlugin","sap/m/Input","sap/m/Text","sap/ui/model/type/Float","sap/ui/model/type/Integer","sap/m/StepInput"],function(e,t,i,n,a,s){"use strict";const r=e["BasePlugin"];class l extends r{render(e,r,l="meta",o,u){this.onChange=u;this.metadata=e;this.fieldKey=r.startsWith("/")?r.substring(1):r;if(!this.isEditable){this.control=new i({id:this.generateStableId(o,r),text:this.generateBindingInfo(r,l)});this.applyCommonDirectives(this.control,e,l);return this.control}let d;if(e.type==="integer"){d=new a({groupingEnabled:false})}else{d=new n({groupingEnabled:false,minFractionDigits:e.scale!==undefined?e.scale:0,maxFractionDigits:e.scale!==undefined?e.scale:9})}const h=e=>{const t=e.getParameter("value");const i=this.validate();if(this.onChange){this.onChange(i.isValid,this.fieldKey,i.errorMessage)}};if(e.ui?.widget==="stepInput"){this.control=new s({id:this.generateStableId(o,r),value:{path:r,model:l,type:d},editable:!e.ui?.readOnly,required:!!e.required,change:h})}else{this.control=new t({id:this.generateStableId(o,r),value:{path:r,model:l,type:d},type:"Number",editable:!e.ui?.readOnly,required:!!e.required,change:h})}this.applyCommonDirectives(this.control,e,l);return this.control}getValue(){if(!this.control)return null;const e=this.control;const t=e.getBinding("value");if(t&&typeof t.getValue==="function"){return t.getValue()}return e.getProperty("value")}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;const e=this.control;e.setEditable(!this.metadata.ui?.readOnly);e.setRequired(!!this.metadata.required)}}}var o={__esModule:true};o.NumberPlugin=l;return o});
|
|
68
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin", ["./BasePlugin","sap/m/Button","../../constants/MetaUIConstants"],function(t,e,i){"use strict";const s=t["BasePlugin"];const a=i["SCHEMA_TYPE"];const n=i["UI5_EVENT"];class o extends s{render(t,i,s="meta",o,r){this.onChange=r;this.metadata=t;const l=i.startsWith("/")?i.substring(1):i;const u={type:a.OBJECT,title:t.ui?.label||l,properties:t.properties||{}};if(t.uiLayout){u.uiLayout=t.uiLayout}this.control=new e({id:this.generateStableId(o,i),text:!this.isEditable?"View Details":"Edit Details",icon:!this.isEditable?"sap-icon://display":"sap-icon://form",press:e=>{const a=e.getSource();const o=a.getModel(s);if(!o)return;const r=a.getBindingContext(s);let c=i;if(r&&!i.startsWith("/")){const t=r.getPath();c=t.endsWith("/")?t+i:t==="/"?"/"+i:t+"/"+i}const d=JSON.parse(JSON.stringify(o.getProperty(c)||{}));sap.ui.require(["nz/co/siliconst/ui5/metaui/controls/DynamicHost"],e=>{const i=new e({schemaDefinition:u,data:d,editable:this.isEditable,layoutBudget:this.metadata?.ui?.layoutBudget||0});if(!!this.isEditable){i.attachEvent(n.SUBMIT,t=>{const e=t.getParameter("payload");o.setProperty(c,e);if(this.onChange){this.onChange(true,l)}})}const s=t.ui?.dialogButtonText||(!this.isEditable?"Close":"OK");i.openInDialog(`Nested Details: ${t.ui?.label||l}`,s)})}});return this.control}validate(){return{isValid:true}}getValue(){return null}applyState(){}}var r={__esModule:true};r.ObjectPlugin=o;return r});
|
|
69
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin", ["./BasePlugin","sap/m/Input","sap/m/Text"],function(t,e,i){"use strict";const a=t["BasePlugin"];class s extends a{render(t,a,s="meta",n,r){this.onChange=r;this.metadata=t;this.fieldKey=a.replace("/","");if(!this.isEditable){this.control=new i({id:this.generateStableId(n,a),text:"********"});this.applyCommonDirectives(this.control,t,s);return this.control}this.control=new e({id:this.generateStableId(n,a),value:this.generateBindingInfo(a,s),type:"Password",maxLength:t.maxLength||0,required:!!t.required,change:t=>{const e=this.validate();if(this.onChange)this.onChange(e.isValid,this.fieldKey,e.errorMessage)}});this.applyCommonDirectives(this.control,t,s);return this.control}getValue(){return this.control&&this.control.getMetadata().getName()==="sap.m.Input"?this.control.getProperty("value"):null}applyState(){if(!this.control||!this.metadata||this.control.getMetadata().getName()!=="sap.m.Input")return;const t=this.control;t.setEditable(!this.metadata.ui?.readOnly);t.setRequired(!!this.metadata.required)}}var n={__esModule:true};n.PasswordPlugin=s;return n});
|
|
70
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin", ["./BasePlugin","sap/m/RatingIndicator","sap/m/Text"],function(t,e,i){"use strict";const n=t["BasePlugin"];class a extends n{render(t,n,a="meta",s,r){this.onChange=r;this.metadata=t;this.fieldKey=n.startsWith("/")?n.substring(1):n;if(!this.isEditable){this.control=new i({id:this.generateStableId(s,n),text:this.generateBindingInfo(n,a)});this.applyCommonDirectives(this.control,t,a);return this.control}this.control=new e({id:this.generateStableId(s,n),value:this.generateBindingInfo(n,a),enabled:!t.ui?.readOnly,maxValue:t.maximum!==undefined?t.maximum:5,change:t=>{const e=t.getParameter("value");const i=this.validate();if(this.onChange){this.onChange(i.isValid,this.fieldKey,i.errorMessage)}}});this.applyCommonDirectives(this.control,t,a);return this.control}getValue(){return this.control?this.control.getProperty("value"):0}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var s={__esModule:true};s.RatingIndicatorPlugin=a;return s});
|
|
71
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin", ["./BasePlugin","../../constants/MetaUIConstants","sap/m/Button","../../core/PipelineManager","../../utils/Logger"],function(e,t,n,i,s){"use strict";const a=e["BasePlugin"];const r=t["UI5_EVENT"];const o=i["GlobalPipeline"];const l=s["Logger"];class u extends a{_asHost(e){const t=e;if(typeof t.getSchemaDefinition==="function"){return t}return null}findParentHost(e){let t=e.getParent();while(t){if(this._asHost(t)){return t}t=t.getParent()}return null}render(e,t,i="meta",s,a){this.onChange=a;this.metadata=e;const o=t.startsWith("/")?t.substring(1):t;const u=e.ui?.label||o;this.control=new n({id:this.generateStableId(s,t),text:!this.isEditable?`View Link: ${u}`:`Edit Link: ${u}`,icon:"sap-icon://chain-link",press:n=>{const s=n.getSource();if(!this.metadata?.$ref){l.error(`[ReferencePlugin] FATAL: this.metadata.$ref is MISSING or UNDEFINED! Cannot resolve child schema.`);return}const a=this.findParentHost(s);const c=a?this._asHost(a):null;if(!c){l.error("[ReferencePlugin] FATAL: Could not locate parent GeneratorHost via duck typing `getSchemaDefinition`.");return}const d=c.getSchemaDefinition(this.metadata.$ref);if(!d){const e=Object.keys(c.getProperty("schemaDefinitions")||{});l.error(`[ReferencePlugin] FATAL: Schema definition not found for reference: ${this.metadata.$ref}. Dumping parent schemaDefinitions keys: ${e.join(", ")}`);return}const f=s.getModel(i);if(!f){l.error(`[ReferencePlugin] FATAL: Could not get JSONModel named '${i}' from the button.`);return}const h=s.getBindingContext(i);let g=t;if(h&&!t.startsWith("/")){const e=h.getPath();g=e.endsWith("/")?e+t:e==="/"?"/"+t:e+"/"+t}const m=f.getProperty(g);const p=m?JSON.parse(JSON.stringify(m)):{};sap.ui.require(["nz/co/siliconst/ui5/metaui/controls/DynamicHost"],t=>{const n=t.default||t;const i=new n({schemaDefinition:d,schemaDefinitions:c.getProperty("schemaDefinitions"),data:p,editable:this.isEditable,useMessageManager:this.useMessageManager});i.attachEvent("validationError",e=>{c.fireEvent("validationError",e.getParameters())});i.attachEvent("validationSuccess",e=>{c.fireEvent("validationSuccess",e.getParameters())});if(!!this.isEditable){i.attachEvent(r.SUBMIT,e=>{const t=e.getParameter("payload");f.setProperty(g,t);if(this.onChange){this.onChange(true,o)}})}const a=e.ui?.dialogButtonText||(!this.isEditable?"Close":"OK");try{i.openInDialog(`Nested Link: ${u}`,a,undefined,undefined,s)}catch(e){l.error(`[ReferencePlugin] FATAL ERROR CALLING openInDialog:`,e.message)}})}});return this.control}validate(){if(!this.metadata?.$ref||!this.control)return{isValid:true};const e=this.findParentHost(this.control);const t=e?this._asHost(e):null;if(!t)return{isValid:true};const n=t.getSchemaDefinition(this.metadata.$ref);if(!n||!n.properties)return{isValid:true};const i=this.control.getModel(this.modelName);if(!i)return{isValid:true};let s=this.getAbsoluteBindingPath();const a=i.getProperty(s)||{};for(const e of Object.keys(n.properties)){const t=n.properties[e];const i=a[e];if(t.required&&(i===undefined||i===null||i==="")){const t=`Field '${e}' is required in referenced object.`;this.setVisualValidationState(false,t);return{isValid:false,errorMessage:t}}const s=[];const r={};if(t.maxLength!==undefined){s.push("maxLength");r["maxLength"]=t.maxLength}if(t.minLength!==undefined){s.push("minLength");r["minLength"]=t.minLength}if(t.pattern!==undefined){s.push("pattern");r["pattern"]={regex:t.pattern}}if(t.minimum!==undefined||t.maximum!==undefined){s.push("range");r["range"]={min:t.minimum,max:t.maximum}}const l=t.ui?.format;if(l==="email"||l==="url"||l==="iban"){s.push(l)}if(s.length>0){const t=o.executeValidation(i,s,r);if(!t.isValid){const n=`Field '${e}' in reference: ${t.errorMessage}`;this.setVisualValidationState(false,n);return{isValid:false,errorMessage:n}}}}this.setVisualValidationState(true);return{isValid:true}}getValue(){return null}applyState(){if(this.control&&this.metadata){this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var c={__esModule:true};c.ReferencePlugin=u;return c});
|
|
72
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin", ["../controls/BasePlugin","../../controls/RichTextControl","sap/m/FormattedText"],function(t,e,i){"use strict";function n(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const a=t["BasePlugin"];const r=n(e);function o(t){return t!==null&&typeof t.getValue==="function"}class s extends a{render(t,e,n="meta",a,s){this.onChange=s;this.metadata=t;this.fieldKey=e.replace("/","");this.modelName=n;if(!this.isEditable){this.control=new i({id:this.generateStableId(a,e),htmlText:this.generateBindingInfo(e,n)});this.applyCommonDirectives(this.control,t,n);return this.control}this.control=new r({id:this.generateStableId(a,e),value:this.generateBindingInfo(e,n),schemaMetadata:t,readOnly:!!t.ui?.readOnly});this.applyCommonDirectives(this.control,t,n);if(o(this.control)&&this.control.attachCapture){this.control.attachEvent("capture",()=>{const t=this.validate();if(this.onChange){this.onChange(t.isValid,this.fieldKey,t.errorMessage)}})}return this.control}getValue(){if(o(this.control)){return this.control.getProperty("value")}return null}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setProperty("readOnly",!!this.metadata.ui?.readOnly)}}}var l={__esModule:true};l.RichTextPlugin=s;return l});
|
|
73
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin", ["../controls/BasePlugin","../../controls/SignatureControl","sap/m/Image"],function(t,e,i){"use strict";function n(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const a=t["BasePlugin"];const s=n(e);class r extends a{render(t,e,n="meta",a,r){this.onChange=r;this.metadata=t;this.fieldKey=e.replace("/","");this.modelName=n;if(!this.isEditable){this.control=new i({id:this.generateStableId(a,e),src:this.generateBindingInfo(e,n),width:"400px",alt:t.ui?.label||"Signature"});this.applyCommonDirectives(this.control,t,n);return this.control}this.control=new s({id:this.generateStableId(a,e),value:this.generateBindingInfo(e,n),schemaMetadata:t,readOnly:!!t.ui?.readOnly});this.applyCommonDirectives(this.control,t,n);this.control.attachEvent("capture",()=>{const t=this.validate();if(this.onChange){this.onChange(t.isValid,this.fieldKey,t.errorMessage)}});return this.control}getValue(){return this.control?this.control.getProperty("value"):null}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setProperty("readOnly",!!this.metadata.ui?.readOnly)}}}var o={__esModule:true};o.SignaturePlugin=r;return o});
|
|
74
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin", ["./BasePlugin","sap/m/Slider","sap/m/Text"],function(e,t,i){"use strict";const n=e["BasePlugin"];class s extends n{render(e,n,s="meta",a,r){this.onChange=r;this.metadata=e;this.fieldKey=n.startsWith("/")?n.substring(1):n;if(!this.isEditable){this.control=new i({id:this.generateStableId(a,n),text:this.generateBindingInfo(n,s)});this.applyCommonDirectives(this.control,e,s);return this.control}this.control=new t({id:this.generateStableId(a,n),value:this.generateBindingInfo(n,s),enabled:!e.ui?.readOnly,min:e.minimum!==undefined?e.minimum:0,max:e.maximum!==undefined?e.maximum:100,step:e.multipleOf!==undefined?e.multipleOf:1,enableTickmarks:true,change:e=>{const t=e.getParameter("value");const i=this.validate();if(this.onChange){this.onChange(i.isValid,this.fieldKey,i.errorMessage)}}});this.applyCommonDirectives(this.control,e,s);return this.control}getValue(){return this.control?this.control.getProperty("value"):0}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var a={__esModule:true};a.SliderPlugin=s;return a});
|
|
75
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin", ["./BasePlugin","sap/m/StepInput","sap/m/Text"],function(t,e,i){"use strict";const s=t["BasePlugin"];class n extends s{render(t,s,n="meta",a,r){this.onChange=r;this.metadata=t;this.fieldKey=s.startsWith("/")?s.substring(1):s;if(!this.isEditable){this.control=new i({id:this.generateStableId(a,s),text:this.generateBindingInfo(s,n)});this.applyCommonDirectives(this.control,t,n);return this.control}this.control=new e({id:this.generateStableId(a,s),value:this.generateBindingInfo(s,n),displayValuePrecision:t.scale!==undefined?t.scale:t.type==="integer"?0:3,editable:!t.ui?.readOnly,required:!!t.required,change:t=>{const e=t.getParameter("value");const i=this.validate();if(this.onChange){this.onChange(i.isValid,this.fieldKey,i.errorMessage)}}});this.applyCommonDirectives(this.control,t,n);return this.control}getValue(){return this.control?this.control.getProperty("value"):null}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;const t=this.control;t.setEditable(!this.metadata.ui?.readOnly);t.setRequired(!!this.metadata.required)}}}var a={__esModule:true};a.StepInputPlugin=n;return a});
|
|
76
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin", ["./BasePlugin","sap/m/Input","sap/m/Text"],function(e,t,i){"use strict";const n=e["BasePlugin"];class s extends n{render(e,n,s="meta",a,r){this.onChange=r;this.metadata=e;this.fieldKey=n.replace("/","");if(!this.isEditable){this.control=new i({id:this.generateStableId(a,n),text:this.generateBindingInfo(n,s)});this.applyCommonDirectives(this.control,e,s);return this.control}this.control=new t({id:this.generateStableId(a,n),value:this.generateBindingInfo(n,s),maxLength:e.maxLength||0,required:!!e.required,showValueHelp:e.ui?.widget==="searchHelp",change:e=>{const t=e.getParameter("value");const i=this.validate();if(this.onChange){this.onChange(i.isValid,this.fieldKey,i.errorMessage)}}});this.applyCommonDirectives(this.control,e,s);return this.control}getValue(){return this.control?this.control.getProperty("value"):null}applyState(){if(this.control&&this.metadata){if(!this.isEditable){return}const e=this.control;e.setEditable(!this.metadata.ui?.readOnly);e.setRequired(this.metadata.required)}}}var a={__esModule:true};a.StringPlugin=s;return a});
|
|
77
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin", ["./BasePlugin","sap/m/Switch","sap/m/Text"],function(t,e,i){"use strict";const s=t["BasePlugin"];class n extends s{render(t,s,n="meta",a,r){this.onChange=r;this.metadata=t;this.fieldKey=s.startsWith("/")?s.substring(1):s;if(!this.isEditable){this.control=new i({id:this.generateStableId(a,s),text:this.generateBindingInfo(s,n,undefined,{formatter:t=>t?"Yes":"No"})});this.applyCommonDirectives(this.control,t,n);return this.control}this.control=new e({id:this.generateStableId(a,s),state:this.generateBindingInfo(s,n),enabled:!t.ui?.readOnly,change:t=>{const e=t.getParameter("state");const i=this.validate();if(this.onChange){this.onChange(i.isValid,this.fieldKey,i.errorMessage)}}});this.applyCommonDirectives(this.control,t,n);return this.control}getValue(){return this.control?this.control.getState():false}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;const t=this.control;t.setEnabled(!this.metadata.ui?.readOnly)}}}var a={__esModule:true};a.SwitchPlugin=n;return a});
|
|
78
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin", ["./BasePlugin","sap/m/TextArea","sap/m/HBox","sap/m/Button","sap/m/Dialog","sap/m/FlexItemData"],function(e,t,i,a,s,n){"use strict";const r=e["BasePlugin"];class l extends r{render(e,r,l="meta",o,h){this.onChange=h;this.metadata=e;this.fieldKey=r.replace("/","");const d=e.ui?.rows;const u=e.ui?.expandable!==false;const g=new t({id:this.generateStableId(o,r),value:this.generateBindingInfo(r,l),maxLength:e.maxLength||0,required:!!e.required,editable:!this.isEditable?false:!e.ui?.readOnly,rows:d||10,growing:true,growingMaxLines:d||15,width:"100%",change:()=>{const e=this.validate();if(this.onChange){this.onChange(e.isValid,this.fieldKey,e.errorMessage)}}});this.textAreaRef=g;this.mainControl=g;if(u){const o=new a({icon:"sap-icon://full-screen",type:"Transparent",tooltip:"Expand Editor",press:()=>{const i=new s({title:e.title||e.ui?.label||"Edit Text",contentWidth:"80%",contentHeight:"80%",verticalScrolling:false,resizable:true,content:new t({value:this.generateBindingInfo(r,l),width:"100%",height:"100%",editable:!this.isEditable?false:!e.ui?.readOnly,growing:false}),beginButton:new a({text:"Close",press:()=>i.close()}),afterClose:()=>i.destroy()});this.control?.addDependent(i);i.open()}});g.setLayoutData(new n({growFactor:1}));this.control=new i({width:"100%",alignItems:"Start",items:[g,o]})}else{this.control=g}this.mainControl=g;this.applyCommonDirectives(this.control,e,l);return this.control}getValue(){return this.textAreaRef?this.textAreaRef.getProperty("value"):null}applyState(){if(this.textAreaRef&&this.metadata){if(!this.isEditable)return;this.textAreaRef.setEditable(!this.metadata.ui?.readOnly);this.textAreaRef.setRequired(!!this.metadata.required)}}}var o={__esModule:true};o.TextAreaPlugin=l;return o});
|
|
79
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin", ["./BasePlugin","sap/m/TimePicker","sap/m/Text"],function(t,e,i){"use strict";const s=t["BasePlugin"];class a extends s{render(t,s,a="meta",r,n){this.onChange=n;this.metadata=t;this.fieldKey=s.startsWith("/")?s.substring(1):s;if(!this.isEditable){this.control=new i({id:this.generateStableId(r,s),text:this.generateBindingInfo(s,a,"sap.ui.model.type.Time",{formatOptions:{source:{pattern:"HH:mm:ss"},pattern:"HH:mm:ss"}})});this.applyCommonDirectives(this.control,t,a);return this.control}this.control=new e({id:this.generateStableId(r,s),value:this.generateBindingInfo(s,a,"sap.ui.model.type.Time",{formatOptions:{source:{pattern:"HH:mm:ss"},pattern:"HH:mm:ss"}}),displayFormat:"HH:mm:ss",editable:!t.ui?.readOnly,required:t.required,change:t=>{const e=t.getParameter("value");const i=this.validate();if(this.onChange){this.onChange(i.isValid,this.fieldKey,i.errorMessage)}}});this.applyCommonDirectives(this.control,t,a);return this.control}getValue(){return this.control?this.control.getProperty("value"):null}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;const t=this.control;t.setEditable(!this.metadata.ui?.readOnly);t.setRequired(this.metadata.required)}}}var r={__esModule:true};r.TimePlugin=a;return r});
|
|
80
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin", ["../controls/BasePlugin","../../controls/VoiceInputControl","sap/m/Text"],function(t,e,n){"use strict";function i(t){return t&&t.__esModule&&typeof t.default!=="undefined"?t.default:t}const r=t["BasePlugin"];const a=i(e);class s extends r{render(t,e,i="meta",r,s){this.onChange=s;this.metadata=t;this.fieldKey=e.replace("/","");this.modelName=i;if(!this.isEditable){this.control=new n({id:this.generateStableId(r,e),text:this.generateBindingInfo(e,i,undefined,{formatter:t=>{if(!t||t==="undefined"||t==="null")return"";return t}})});this.applyCommonDirectives(this.control,t,i);return this.control}this.control=new a({id:this.generateStableId(r,e),value:this.generateBindingInfo(e,i),schemaMetadata:t,readOnly:!!t.ui?.readOnly});this.applyCommonDirectives(this.control,t,i);this.control.attachEvent("capture",()=>{const t=this.validate();if(this.onChange){this.onChange(t.isValid,this.fieldKey,t.errorMessage)}});return this.control}getValue(){return this.control?this.control.getProperty("value"):null}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;this.control.setProperty("readOnly",!!this.metadata.ui?.readOnly)}}}var o={__esModule:true};o.VoiceInputPlugin=s;return o});
|
|
78
81
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin", ["../controls/BasePlugin","sap/m/Input","sap/ui/core/Item","../../utils/Logger"],function(e,t,s,r){"use strict";const a=e["BasePlugin"];const n=r["Logger"];class o extends a{render(e,s,r="meta"){this.metadata=e;const a=new t({value:`{${r}>${s}}`,enabled:!e.ui?.readOnly,placeholder:"Type to search...",showSuggestion:true,suggest:e=>{const t=e.getParameter("suggestValue");this.fetchSuggestions(a,t)},change:e=>{this.validate()}});this.control=a;return this.control}fetchSuggestions(e,t){const r=this.metadata?.valueHelp;if(!r||!r.url){n.error("LiveSearchPlugin requires a valid valueHelp configuration with a URL.","","LiveSearchPlugin");return}if(!t){e.removeAllSuggestionItems();return}e.setBusy(true);fetch(r.url).then(e=>e.json()).then(a=>{const n=r.keyPath||"key";const o=r.textPath||"text";e.removeAllSuggestionItems();const i=t.toLowerCase();const l=a.filter(e=>{const t=String(e[o]||e[n]).toLowerCase();return t.includes(i)});l.forEach(t=>{e.addSuggestionItem(new s({key:String(t[n]),text:String(t[o]||t[n])}))})}).catch(e=>{n.error("Failed to load value help from "+r.url,e.message,"LiveSearchPlugin")}).finally(()=>{e.setBusy(false)})}getValue(){return this.control?this.control.getValue():null}applyState(){if(this.control&&this.metadata){this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var i={__esModule:true};i.LiveSearchPlugin=o;return i});
|
|
79
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin", ["../controls/BasePlugin","sap/m/ComboBox","sap/ui/core/Item"],function(e,t,a){"use strict";const
|
|
80
|
-
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin", ["../controls/BasePlugin","sap/m/Select","sap/ui/core/Item","../../utils/Logger"],function(e,t,r,
|
|
82
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin", ["../controls/BasePlugin","sap/m/ComboBox","sap/ui/core/Item"],function(e,t,a){"use strict";const n=e["BasePlugin"];class l extends n{render(e,n,l="meta"){this.metadata=e;const s=e.ui?.args||{path:"/",key:"ID",text:"Name"};this.control=new t({selectedKey:`{${l}>${n}}`,enabled:!e.ui?.readOnly,placeholder:e.ui?.label||"Select...",change:e=>{const t=e.getParameter("selectedItem");const a=t?.getKey();this.validate()}});this.control.bindAggregation("items",{path:s.path,template:new a({key:`{${s.key}}`,text:`{${s.text}}`}),templateShareable:false});return this.control}getValue(){return this.control?this.control.getSelectedKey():null}applyState(){if(this.control&&this.metadata){this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var s={__esModule:true};s.ODataListBindingPlugin=l;return s});
|
|
83
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin", ["../controls/BasePlugin","sap/m/Select","sap/ui/core/Item","../../utils/Logger"],function(e,t,r,s){"use strict";const a=e["BasePlugin"];const n=s["Logger"];class i extends a{render(e,s,a="meta",i,o){this.onChange=o;this.metadata=e;const l=e.valueHelp;if(!l||!l.url){n.warn("[MetaUI RemoteDropdownPlugin] No valid URL provided for remoteDropdown.");return new sap.m.Text({text:"Error: No URL provided"})}if(!this.isEditable){sap.ui.requireSync("sap/m/Text");const t=sap.ui.require("sap/m/Text");this.control=new t({id:this.generateStableId(i,s),text:`{${a}>${s}}`});this.applyCommonDirectives(this.control,e,a);return this.control}const u=new t({id:this.generateStableId(i,s),selectedKey:`{${a}>${s}}`,enabled:!e.ui?.readOnly,forceSelection:false,busy:true});u.attachChange(()=>{const e=this.validate();if(this.onChange){this.onChange(e.isValid,this.fieldKey,e.errorMessage,this.control?.getId())}if(this.useMessageManager){this.setVisualValidationState(e.isValid,e.errorMessage)}});u.addItem(new r({key:"",text:"--- Select ---"}));fetch(l.url).then(e=>{if(!e.ok)throw new Error(`HTTP ${e.status}`);return e.json()}).then(e=>{if(u.bIsDestroyed)return;const t=Array.isArray(e)?e:e.value||[];t.forEach(e=>{const t=l.keyPath?e[l.keyPath]:e;const s=l.textPath?e[l.textPath]:e;u.addItem(new r({key:String(t),text:String(s)}))});u.setBusy(false)}).catch(e=>{if(u.bIsDestroyed)return;n.error(`[MetaUI RemoteDropdownPlugin] Failed to fetch remote data from ${l.url}`,e.message);u.addItem(new r({key:"",text:"Error loading data"}));u.setBusy(false)});this.control=u;this.applyCommonDirectives(this.control,e,a);return this.control}getValue(){if(!this.control)return null;const e=this.control;if(e.getBusy()){const t=e.getBinding("selectedKey");if(t&&typeof t.getValue==="function"){return t.getValue()}}let t=e.getSelectedKey();if(this.metadata&&(this.metadata.type==="number"||this.metadata.type==="integer")){if(t===""||t===null||t===undefined)return null;return Number(t)}return t}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;const e=this.control;e.setEnabled(!this.metadata.ui?.readOnly)}}}var o={__esModule:true};o.RemoteDropdownPlugin=i;return o});
|
|
81
84
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin", ["../controls/BasePlugin","sap/m/ComboBox","sap/ui/core/Item","../../utils/Logger"],function(e,t,a,l){"use strict";const s=e["BasePlugin"];const n=l["Logger"];class r extends s{isLoaded=false;render(e,a,l="meta"){this.metadata=e;const s=new t({selectedKey:`{${l}>${a}}`,enabled:!e.ui?.readOnly,placeholder:"Select a country...",change:e=>{const t=e.getParameter("selectedItem");const a=t?t.getKey():e.getParameter("value");this.validate()}});s.attachEventOnce("loadItems",()=>{this.fetchData(s)});this.control=s;return this.control}fetchData(e){const t=this.metadata?.valueHelp;if(!t||!t.url){n.error("RemoteValueHelpPlugin requires a valid valueHelp configuration with a URL.","","RemoteValueHelpPlugin");return}e.setBusy(true);fetch(t.url).then(e=>e.json()).then(l=>{const s=t.keyPath||"key";const n=t.textPath||"text";l.forEach(t=>{e.addItem(new a({key:String(t[s]),text:String(t[n]||t[s])}))})}).catch(e=>{n.error("Failed to load value help from "+t.url,e.message,"RemoteValueHelpPlugin")}).finally(()=>{e.setBusy(false);this.isLoaded=true})}getValue(){return this.control?this.control.getSelectedKey():null}applyState(){if(this.control&&this.metadata){this.control.setEnabled(!this.metadata.ui?.readOnly)}}}var o={__esModule:true};o.RemoteValueHelpPlugin=r;return o});
|
|
82
85
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin", ["sap/ui/core/format/NumberFormat"],function(r){"use strict";class e{constructor(){this.currencyFormat=r.getCurrencyInstance({showMeasure:false})}format(r,e){if(r===null||r===undefined){return""}return"$"+this.currencyFormat.format(r)}}var t={__esModule:true};t.CurrencyFormatterPlugin=e;return t});
|
|
83
86
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin", ["sap/ui/core/format/DateFormat"],function(t){"use strict";class e{constructor(){this.dateFormat=t.getDateInstance({style:"medium"})}format(t,e){if(!t)return"";try{const e=new Date(t);return this.dateFormat.format(e)}catch(e){return t}}}var r={__esModule:true};r.DateFormatterPlugin=e;return r});
|
|
84
87
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin", [],function(){"use strict";class r{format(r,t){if(!r||typeof r!=="string")return String(r||"");const e=(""+r).replace(/\D/g,"");const n=e.match(/^(\d{3})(\d{3})(\d{4})$/);if(n){return"("+n[1]+") "+n[2]+"-"+n[3]}return r}}var t={__esModule:true};t.PhoneFormatterPlugin=r;return t});
|
|
85
88
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin", [],function(){"use strict";class e{format(e,r){if(typeof e!=="string")return String(e||"");return e.toUpperCase()}}var r={__esModule:true};r.TextCaseFormatterPlugin=e;return r});
|
|
89
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin", [],function(){"use strict";class r{canHandle(r){return r==="IsNotNull"}evaluate(r,e,n){const t=r;if(!t||!Array.isArray(t))return true;for(const r of t){const t=n(e,r);if(t===undefined||t===null||t==="")return false}return true}}var e={__esModule:true};e.IsNotNullConditionPlugin=r;return e});
|
|
90
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin", [],function(){"use strict";class r{canHandle(r){return r==="IsNull"}evaluate(r,e,n){const u=r;if(!u||!Array.isArray(u))return true;for(const r of u){const u=n(e,r);if(u!==undefined&&u!==null&&u!=="")return false}return true}}var e={__esModule:true};e.IsNullConditionPlugin=r;return e});
|
|
91
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin", [],function(){"use strict";class e{canHandle(e){return e==="NumericGreaterThan"}evaluate(e,r,n){const t=e;if(!t)return true;for(const[e,u]of Object.entries(t)){const t=n(r,e);const i=this.coerceToNumber(t);if(isNaN(i)||i<=u)return false}return true}coerceToNumber(e){if(e===undefined||e===null||e==="")return NaN;return Number(e)}}var r={__esModule:true};r.NumericGreaterThanConditionPlugin=e;return r});
|
|
92
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin", [],function(){"use strict";class e{canHandle(e){return e==="NumericLessThan"}evaluate(e,r,n){const u=e;if(!u)return true;for(const[e,t]of Object.entries(u)){const u=n(r,e);const s=this.coerceToNumber(u);if(isNaN(s)||s>=t)return false}return true}coerceToNumber(e){if(e===undefined||e===null||e==="")return NaN;return Number(e)}}var r={__esModule:true};r.NumericLessThanConditionPlugin=e;return r});
|
|
93
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin", [],function(){"use strict";class t{canHandle(t){return t==="StringEquals"}evaluate(t,n,r){const e=t;if(!e)return true;for(const[t,u]of Object.entries(e)){const e=r(n,t);if(String(e)!==String(u))return false}return true}}var n={__esModule:true};n.StringEqualsConditionPlugin=t;return n});
|
|
94
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin", [],function(){"use strict";class e{canHandle(e){return e==="Enable"||e==="Disable"}resolveState(e,t){const a=t==="Enable";const n=a?true:false;return{property:"editable",value:e?n:!n}}}var t={__esModule:true};t.EditableEffectPlugin=e;return t});
|
|
95
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin", [],function(){"use strict";class e{canHandle(e){return e==="Require"||e==="Optional"}resolveState(e,r){const t=r==="Require";const u=t?true:false;return{property:"required",value:e?u:!u}}}var r={__esModule:true};r.RequirementEffectPlugin=e;return r});
|
|
96
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin", [],function(){"use strict";class e{canHandle(e){return e==="Validate"||e==="Invalidate"}resolveState(e,t){const a=t==="Validate";const r=a?true:false;return{property:"validity",value:e?r:!r}}}var t={__esModule:true};t.ValidityEffectPlugin=e;return t});
|
|
97
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin", [],function(){"use strict";class e{canHandle(e){return e==="Show"||e==="Hide"}resolveState(e,t){const i=t==="Show";const r=i?true:false;return{property:"visibility",value:e?r:!r}}}var t={__esModule:true};t.VisibilityEffectPlugin=e;return t});
|
|
86
98
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin", [],function(){"use strict";class e{validate(e,s){if(!e)return{isValid:true};const r=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(typeof e!=="string"||!r.test(e)){return{isValid:false,errorMessage:"Please enter a valid email address."}}return{isValid:true}}}var s={__esModule:true};s.EmailValidatorPlugin=e;return s});
|
|
87
99
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin", [],function(){"use strict";class e{validate(e,r){if(!e)return{isValid:true};const t=/^[A-Z]{2}\d{2}[A-Z0-9]{1,30}$/;if(typeof e!=="string"||!t.test(e.replace(/\s+/g,"").toUpperCase())){return{isValid:false,errorMessage:"Please enter a valid IBAN."}}return{isValid:true}}}var r={__esModule:true};r.IbanValidatorPlugin=e;return r});
|
|
88
100
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin", [],function(){"use strict";class e{validate(e,r){if(!e)return{isValid:true};if(typeof r!=="number")return{isValid:true};if(typeof e==="string"&&e.length<r){return{isValid:false,errorMessage:`Minimum length is ${r} characters.`}}return{isValid:true}}}var r={__esModule:true};r.MinLengthValidatorPlugin=e;return r});
|
|
89
101
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin", [],function(){"use strict";class e{validate(e,r){if(!e)return{isValid:true};if(typeof r!=="string"){return{isValid:true}}try{const t=new RegExp(r);if(typeof e!=="string"||!t.test(e)){return{isValid:false,errorMessage:`Input does not match the required pattern.`}}}catch(e){return{isValid:false,errorMessage:`Schema configuration error: Invalid regex pattern.`}}return{isValid:true}}}var r={__esModule:true};r.PatternValidatorPlugin=e;return r});
|
|
90
102
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin", [],function(){"use strict";class e{validate(e,r){if(e===null||e===undefined)return{isValid:true};if(typeof e!=="number")return{isValid:true};const t=r;const u=t?.min;const n=t?.max;if(u!==undefined&&typeof u==="number"&&e<u){return{isValid:false,errorMessage:`Value must be greater than or equal to ${u}.`}}if(n!==undefined&&typeof n==="number"&&e>n){return{isValid:false,errorMessage:`Value must be less than or equal to ${n}.`}}return{isValid:true}}}var r={__esModule:true};r.RangeValidatorPlugin=e;return r});
|
|
91
103
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin", [],function(){"use strict";class r{validate(r,t){if(!r)return{isValid:true};if(typeof r!=="string")return{isValid:true};try{const t=new URL(r);if(t.protocol!=="http:"&&t.protocol!=="https:"){return{isValid:false,errorMessage:"URL must use http or https protocol."}}}catch(r){return{isValid:false,errorMessage:"Please enter a valid URL."}}return{isValid:true}}}var t={__esModule:true};t.UrlValidatorPlugin=r;return t});
|
|
104
|
+
sap.ui.predefine("nz/co/siliconst/ui5/metaui/services/SchemaProvider", ["../utils/Logger"],function(e){"use strict";const r=e["Logger"];class t{static async resolve(e){try{const r=await fetch(e);if(!r.ok){throw new Error(`HTTP ${r.status}`)}return await r.json()}catch(e){r.warn("[MetaUI SchemaProvider]","Failed to fetch remote schema: "+e,"SchemaProvider");throw e}}}var a={__esModule:true};a.SchemaProvider=t;return a});
|
|
92
105
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/swagger/OpenApiExtractor", ["sap/ui/base/Object"],function(e){"use strict";const t=e.extend("nz.co.siliconst.ui5.metaui.swagger.OpenApiExtractor",{});t.extractTargets=function e(t){const s=[];if(!t||typeof t!=="object"){return s}const o=t;if(typeof o.openapi==="string"&&o.openapi.startsWith("3.")&&o.components&&typeof o.components.schemas==="object"){Object.keys(o.components.schemas).forEach(e=>{s.push({key:"#/components/schemas/"+e,text:"Schema: "+e})})}if(typeof o.swagger==="string"&&o.swagger.startsWith("2.")&&typeof o.definitions==="object"&&o.definitions!==null){Object.keys(o.definitions).forEach(e=>{s.push({key:"#/definitions/"+e,text:"Definition: "+e})})}if(typeof o.paths==="object"&&o.paths!==null){Object.keys(o.paths).forEach(e=>{const t=o.paths[e];if(t&&typeof t==="object"){Object.keys(t).forEach(t=>{const o=e.replace(/\//g,"~1");s.push({key:"#/paths/"+o+"/"+t,text:"Operation: "+t.toUpperCase()+" "+e})})}})}if(s.length>1){let e=-1;let t=-1;const i=o.info;const n=i&&typeof i.title==="string"?i.title.toLowerCase().replace(/[^a-z0-9]/g,""):"";const c=i&&typeof i.title==="string"?i.title.toLowerCase().split(/[\s_-]+/):[];s.forEach((s,i)=>{let f=0;if(s.key.includes("/schemas/")||s.key.includes("/definitions/")){const e=s.key.split("/").pop()||"";const t=e.toLowerCase();const i=t.replace(/[^a-z0-9]/g,"");if(n&&i===n)f+=30;else if(n&&n.includes(i))f+=15;else if(n&&i.includes(n))f+=15;c.forEach(e=>{if(e.length>3&&t.includes(e))f+=5});const r=["root","main","app","application","payload","document"];if(r.some(e=>t.includes(e)))f+=5;let a=null;if(s.key.startsWith("#/components/schemas/")&&typeof o.components==="object"&&o.components!==null){const t=o.components;if(typeof t.schemas==="object"&&t.schemas!==null){a=t.schemas[e]||null}}else if(s.key.startsWith("#/definitions/")&&typeof o.definitions==="object"&&o.definitions!==null){a=o.definitions[e]||null}if(a&&typeof a==="object"){const e=e=>{if(!e||typeof e!=="object")return;const t=e;if(t.properties&&typeof t.properties==="object"){f+=Object.keys(t.properties).length*2;Object.values(t.properties).forEach(e=>{if(e&&typeof e==="object"){const t=e;if(t.$ref)f+=20;if(t.items&&typeof t.items==="object"&&t.items.$ref)f+=20}})}if(t.required&&Array.isArray(t.required)){f+=t.required.length*5}};e(a);if(a.allOf&&Array.isArray(a.allOf)){a.allOf.forEach(e)}if(a.anyOf&&Array.isArray(a.anyOf)){a.anyOf.forEach(e)}if(a.oneOf&&Array.isArray(a.oneOf)){a.oneOf.forEach(e)}}}if(f>e){e=f;t=i}});if(t!==-1&&e>0){const e=s.splice(t,1)[0];e.text=`(Recommended) ${e.text}`;s.unshift(e)}}return s};return t});
|
|
93
106
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/utils/ExpressionBuilder", [],function(){"use strict";class e{static build(e,t,r="meta"){if(!e)return"{= true }";let n=e;n=n.replace(/\$root\.([a-zA-Z0-9_.]+)/g,(e,t)=>`\${${r}>/${t.replace(/\./g,"/")}}`);n=n.replace(/(?<!['"\${a-zA-Z0-9_.>/-])([a-zA-Z_][a-zA-Z0-9_.]+)(?!['"a-zA-Z0-9_.(])/g,(e,n)=>{const s=["true","false","null","undefined","Math","String","Number","Array","Object"];if(s.includes(n))return n;let u=t.startsWith("/")?t.substring(1):t;const a=u.split("/");a.pop();const i=a.length>0?a.join("/")+"/":"";return`\${${r}>/${i}${n.replace(/\./g,"/")}}`});return`{= ${n} }`}}var t={__esModule:true};t.ExpressionBuilder=e;return t});
|
|
94
107
|
sap.ui.predefine("nz/co/siliconst/ui5/metaui/utils/Logger", [],function(){"use strict";class e{static debugMode=false;static logInstance=null;static setDebugMode(e){this.debugMode=e;if(e&&!this.logInstance){sap.ui.require(["sap/base/Log"],e=>{this.logInstance=e})}}static isDebugMode(){return this.debugMode}static debug(e,t,s){if(!this.debugMode)return;if(this.logInstance){this.logInstance.debug(e,t,s||"MetaUI")}else{console.debug(`[MetaUI] ${e}`,t||"")}}static info(e,t,s){if(!this.debugMode)return;if(this.logInstance){this.logInstance.info(e,t,s||"MetaUI")}else{console.info(`[MetaUI] ${e}`,t||"")}}static warn(e,t,s){if(!this.debugMode)return;if(this.logInstance){this.logInstance.warning(e,t,s||"MetaUI")}else{console.warn(`[MetaUI] ${e}`,t||"")}}static error(e,t,s){if(this.logInstance){this.logInstance.error(e,t,s||"MetaUI")}else{console.error(`[MetaUI Error] ${e}`,t||"")}}static showErrorPopup(e,t){if(!this.debugMode)return;sap.ui.require(["sap/m/MessageBox"],s=>{s.error(e,{title:t||"MetaUI Error"})})}}var t={__esModule:true};t.Logger=e;return t});
|
|
@@ -101,6 +114,9 @@ sap.ui.require.preload({
|
|
|
101
114
|
},
|
|
102
115
|
"nz/co/siliconst/ui5/metaui/interfaces/IPlugin.js":function(){
|
|
103
116
|
|
|
117
|
+
},
|
|
118
|
+
"nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin.js":function(){
|
|
119
|
+
|
|
104
120
|
},
|
|
105
121
|
"nz/co/siliconst/ui5/metaui/interfaces/ISchema.js":function(){
|
|
106
122
|
|