@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
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file MetaUIConstants.ts
|
|
3
|
+
* @description Centralized registry of all core architectural string constants to prevent magic strings.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Defines the physical layout rendering mode of a schema node.
|
|
8
|
+
*/
|
|
9
|
+
export const RENDER_MODE = {
|
|
10
|
+
INLINE: "inline",
|
|
11
|
+
DIALOG: "dialog"
|
|
12
|
+
} as const;
|
|
13
|
+
|
|
14
|
+
export type RenderModeType = typeof RENDER_MODE[keyof typeof RENDER_MODE];
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Standard JSON schema and MetaUI extended types.
|
|
18
|
+
*/
|
|
19
|
+
export const SCHEMA_TYPE = {
|
|
20
|
+
OBJECT: "object",
|
|
21
|
+
ARRAY: "array",
|
|
22
|
+
STRING: "string",
|
|
23
|
+
NUMBER: "number",
|
|
24
|
+
INTEGER: "integer",
|
|
25
|
+
BOOLEAN: "boolean",
|
|
26
|
+
DATE: "date"
|
|
27
|
+
} as const;
|
|
28
|
+
|
|
29
|
+
export type SchemaTypeType = typeof SCHEMA_TYPE[keyof typeof SCHEMA_TYPE];
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Common widget types injected into schema metadata.
|
|
33
|
+
*/
|
|
34
|
+
export const WIDGET_TYPE = {
|
|
35
|
+
REFERENCE: "reference",
|
|
36
|
+
DICTIONARY_MAP: "dictionaryMap",
|
|
37
|
+
TIME: "time",
|
|
38
|
+
DATETIME: "datetime",
|
|
39
|
+
SWITCH: "switch",
|
|
40
|
+
STEP: "step",
|
|
41
|
+
SELECT: "select",
|
|
42
|
+
TEXT_AREA: "textArea",
|
|
43
|
+
CODE_EDITOR: "codeEditor",
|
|
44
|
+
LINK: "link",
|
|
45
|
+
PASSWORD: "password",
|
|
46
|
+
EMAIL: "email",
|
|
47
|
+
FILE_UPLOADER: "fileUploader",
|
|
48
|
+
MULTI_SELECT: "multiSelect",
|
|
49
|
+
MULTI_INPUT: "multiInput",
|
|
50
|
+
SLIDER: "slider",
|
|
51
|
+
RATING: "rating",
|
|
52
|
+
MESSAGE_STRIP: "messageStrip",
|
|
53
|
+
CAMERA: "camera",
|
|
54
|
+
SIGNATURE: "signature",
|
|
55
|
+
LOCATION: "location",
|
|
56
|
+
SCANNER: "scanner",
|
|
57
|
+
VOICE_INPUT: "voiceInput",
|
|
58
|
+
RICH_TEXT: "richText",
|
|
59
|
+
URL_BUTTON: "urlButton",
|
|
60
|
+
SUBMIT_BUTTON: "submitButton",
|
|
61
|
+
ODATA_SELECT: "odataSelect",
|
|
62
|
+
REMOTE_DROPDOWN: "remoteDropdown",
|
|
63
|
+
LIVE_SEARCH: "liveSearch",
|
|
64
|
+
REMOTE_VALUE_HELP: "remoteValueHelp"
|
|
65
|
+
} as const;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Layout strategies for the core engine.
|
|
69
|
+
*/
|
|
70
|
+
export const LAYOUT_STRATEGY = {
|
|
71
|
+
FORM: "form",
|
|
72
|
+
TABLE: "table",
|
|
73
|
+
WIZARD: "wizard",
|
|
74
|
+
COMPACT: "compact"
|
|
75
|
+
} as const;
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Standard UI5 Event names used by the framework.
|
|
79
|
+
*/
|
|
80
|
+
export const UI5_EVENT = {
|
|
81
|
+
SUBMIT: "submit",
|
|
82
|
+
CHANGE: "change",
|
|
83
|
+
PRESS: "press",
|
|
84
|
+
LIVE_CHANGE: "liveChange"
|
|
85
|
+
} as const;
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Standard UI5 Aggregation names used by the framework.
|
|
89
|
+
*/
|
|
90
|
+
export const UI5_AGGREGATION = {
|
|
91
|
+
TOKENS: "tokens",
|
|
92
|
+
ITEMS: "items"
|
|
93
|
+
} as const;
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Prefix strings for OpenAPI schema references.
|
|
97
|
+
*/
|
|
98
|
+
export const OPENAPI_PREFIX = {
|
|
99
|
+
DEFINITIONS: "#/definitions/",
|
|
100
|
+
COMPONENTS_SCHEMAS: "#/components/schemas/"
|
|
101
|
+
} as const;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseHardwareControl-dbg.js","names":["BaseHardwareControlRenderer","_interopRequireDefault","__BaseHardwareControlRenderer","BaseHardwareControl","Control","extend","renderer","metadata","properties","value","type","defaultValue","schemaMetadata","readOnly","aggregations","_content","multiple","visibility","events","capture","parameters","setValueAndFire","_setValueAndFire","val","setProperty","fireEvent","renderContent","_renderContent","rm","control"],"sources":["BaseHardwareControl.ts"],"sourcesContent":["/**\n * @file BaseHardwareControl.ts\n * @description Foundational UI5 Custom Control for hardware plugins.\n * Exposes a standard 'value' property for pure two-way data binding.\n * \n */\n\nimport Control from \"sap/ui/core/Control\";\nimport RenderManager from \"sap/ui/core/RenderManager\";\nimport { IPropertyMetadata } from \"
|
|
1
|
+
{"version":3,"file":"BaseHardwareControl-dbg.js","names":["BaseHardwareControlRenderer","_interopRequireDefault","__BaseHardwareControlRenderer","BaseHardwareControl","Control","extend","renderer","metadata","properties","value","type","defaultValue","schemaMetadata","readOnly","aggregations","_content","multiple","visibility","events","capture","parameters","setValueAndFire","_setValueAndFire","val","setProperty","fireEvent","renderContent","_renderContent","rm","control"],"sources":["BaseHardwareControl.ts"],"sourcesContent":["/**\n * @file BaseHardwareControl.ts\n * @description Foundational UI5 Custom Control for hardware plugins.\n * Exposes a standard 'value' property for pure two-way data binding.\n * \n */\n\nimport Control from \"sap/ui/core/Control\";\nimport RenderManager from \"sap/ui/core/RenderManager\";\nimport { IPropertyMetadata } from \"../interfaces/ISchema\";\nimport BaseHardwareControlRenderer from \"./BaseHardwareControlRenderer\";\n\n/**\n * @namespace nz.co.siliconst.ui5.metaui.controls\n */\nexport default class BaseHardwareControl extends Control {\n static readonly metadata = {\n properties: {\n /** The raw data value. Two-way bound to the model. */\n value: { type: \"any\", defaultValue: null },\n /** The schema metadata for rendering dynamic hints (like labels/readOnly) */\n schemaMetadata: { type: \"object\", defaultValue: null },\n /** Indicates if the control should be in a read-only state */\n readOnly: { type: \"boolean\", defaultValue: false }\n },\n aggregations: {\n _content: { type: \"sap.m.VBox\", multiple: false, visibility: \"hidden\" }\n },\n events: {\n /** Fired when the hardware successfully captures a value */\n capture: {\n parameters: {\n value: { type: \"any\" }\n }\n }\n }\n };\n\n /**\n * Updates the bound value and fires the capture event.\n */\n public setValueAndFire(val: unknown): void {\n this.setProperty(\"value\", val, true); // true to suppress re-rendering if desired, but we want the binding to update\n this.fireEvent(\"capture\", { value: val });\n }\n\n /**\n * Common renderer for all hardware controls\n */\n static readonly renderer = BaseHardwareControlRenderer;\n\n /**\n * Abstract hook for subclasses to render their specific DOM/Controls.\n */\n public renderContent(rm: RenderManager, control: BaseHardwareControl): void {\n // To be overridden by hardware implementations\n }\n}\n"],"mappings":";;;;;;QAUOA,2BAA2B,GAAAC,sBAAA,CAAAC,6BAAA;EAElC;AACA;AACA;EAFA,MAGqBC,mBAAmB,GAASC,OAAO,CAAAC,MAAA;IA+BpD;AACJ;AACA;IACoBC,QAAQ,EAAGN,2BAA2B;IAjCtCO,QAAQ,EAAG;MACvBC,UAAU,EAAE;QACR;QACAC,KAAK,EAAE;UAAEC,IAAI,EAAE,KAAK;UAAEC,YAAY,EAAE;QAAK,CAAC;QAC1C;QACAC,cAAc,EAAE;UAAEF,IAAI,EAAE,QAAQ;UAAEC,YAAY,EAAE;QAAK,CAAC;QACtD;QACAE,QAAQ,EAAE;UAAEH,IAAI,EAAE,SAAS;UAAEC,YAAY,EAAE;QAAM;MACrD,CAAC;MACDG,YAAY,EAAE;QACVC,QAAQ,EAAE;UAAEL,IAAI,EAAE,YAAY;UAAEM,QAAQ,EAAE,KAAK;UAAEC,UAAU,EAAE;QAAS;MAC1E,CAAC;MACDC,MAAM,EAAE;QACJ;QACAC,OAAO,EAAE;UACLC,UAAU,EAAE;YACRX,KAAK,EAAE;cAAEC,IAAI,EAAE;YAAM;UACzB;QACJ;MACJ;IACJ,CAAC;IAED;AACJ;AACA;IACWW,eAAe,WAAAC,iBAACC,GAAY,EAAQ;MACvC,IAAI,CAACC,WAAW,CAAC,OAAO,EAAED,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;MACtC,IAAI,CAACE,SAAS,CAAC,SAAS,EAAE;QAAEhB,KAAK,EAAEc;MAAI,CAAC,CAAC;IAC7C,CAAC;IAOD;AACJ;AACA;IACWG,aAAa,WAAAC,eAACC,EAAiB,EAAEC,OAA4B,EAAQ;MACxE;IAAA;EACH;EAAA,OAzCgB1B,mBAAmB;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseHardwareControl.js","names":["BaseHardwareControlRenderer","_interopRequireDefault","__BaseHardwareControlRenderer","BaseHardwareControl","Control","extend","renderer","metadata","properties","value","type","defaultValue","schemaMetadata","readOnly","aggregations","_content","multiple","visibility","events","capture","parameters","setValueAndFire","_setValueAndFire","val","this","setProperty","fireEvent","renderContent","_renderContent","rm","control"],"sources":["BaseHardwareControl.ts"],"sourcesContent":["/**\n * @file BaseHardwareControl.ts\n * @description Foundational UI5 Custom Control for hardware plugins.\n * Exposes a standard 'value' property for pure two-way data binding.\n * \n */\n\nimport Control from \"sap/ui/core/Control\";\nimport RenderManager from \"sap/ui/core/RenderManager\";\nimport { IPropertyMetadata } from \"
|
|
1
|
+
{"version":3,"file":"BaseHardwareControl.js","names":["BaseHardwareControlRenderer","_interopRequireDefault","__BaseHardwareControlRenderer","BaseHardwareControl","Control","extend","renderer","metadata","properties","value","type","defaultValue","schemaMetadata","readOnly","aggregations","_content","multiple","visibility","events","capture","parameters","setValueAndFire","_setValueAndFire","val","this","setProperty","fireEvent","renderContent","_renderContent","rm","control"],"sources":["BaseHardwareControl.ts"],"sourcesContent":["/**\n * @file BaseHardwareControl.ts\n * @description Foundational UI5 Custom Control for hardware plugins.\n * Exposes a standard 'value' property for pure two-way data binding.\n * \n */\n\nimport Control from \"sap/ui/core/Control\";\nimport RenderManager from \"sap/ui/core/RenderManager\";\nimport { IPropertyMetadata } from \"../interfaces/ISchema\";\nimport BaseHardwareControlRenderer from \"./BaseHardwareControlRenderer\";\n\n/**\n * @namespace nz.co.siliconst.ui5.metaui.controls\n */\nexport default class BaseHardwareControl extends Control {\n static readonly metadata = {\n properties: {\n /** The raw data value. Two-way bound to the model. */\n value: { type: \"any\", defaultValue: null },\n /** The schema metadata for rendering dynamic hints (like labels/readOnly) */\n schemaMetadata: { type: \"object\", defaultValue: null },\n /** Indicates if the control should be in a read-only state */\n readOnly: { type: \"boolean\", defaultValue: false }\n },\n aggregations: {\n _content: { type: \"sap.m.VBox\", multiple: false, visibility: \"hidden\" }\n },\n events: {\n /** Fired when the hardware successfully captures a value */\n capture: {\n parameters: {\n value: { type: \"any\" }\n }\n }\n }\n };\n\n /**\n * Updates the bound value and fires the capture event.\n */\n public setValueAndFire(val: unknown): void {\n this.setProperty(\"value\", val, true); // true to suppress re-rendering if desired, but we want the binding to update\n this.fireEvent(\"capture\", { value: val });\n }\n\n /**\n * Common renderer for all hardware controls\n */\n static readonly renderer = BaseHardwareControlRenderer;\n\n /**\n * Abstract hook for subclasses to render their specific DOM/Controls.\n */\n public renderContent(rm: RenderManager, control: BaseHardwareControl): void {\n // To be overridden by hardware implementations\n }\n}\n"],"mappings":"wLAUOA,EAA2BC,EAAAC,GAElC,MAGqBC,EAA4BC,EAAOC,OAAA,2DAkCpCC,SAAWN,EAjCXO,SAAW,CACvBC,WAAY,CAERC,MAAO,CAAEC,KAAM,MAAOC,aAAc,MAEpCC,eAAgB,CAAEF,KAAM,SAAUC,aAAc,MAEhDE,SAAU,CAAEH,KAAM,UAAWC,aAAc,QAE/CG,aAAc,CACVC,SAAU,CAAEL,KAAM,aAAcM,SAAU,MAAOC,WAAY,WAEjEC,OAAQ,CAEJC,QAAS,CACLC,WAAY,CACRX,MAAO,CAAEC,KAAM,WASxBW,gBAAe,SAAAC,EAACC,GACnBC,KAAKC,YAAY,QAASF,EAAK,MAC/BC,KAAKE,UAAU,UAAW,CAAEjB,MAAOc,GACvC,EAUOI,cAAa,SAAAC,EAACC,EAAmBC,GACpC,IACH,OAzCgB3B,CAAmB","ignoreList":[]}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
import Control from "sap/ui/core/Control";
|
|
9
9
|
import RenderManager from "sap/ui/core/RenderManager";
|
|
10
|
-
import { IPropertyMetadata } from "
|
|
10
|
+
import { IPropertyMetadata } from "../interfaces/ISchema";
|
|
11
11
|
import BaseHardwareControlRenderer from "./BaseHardwareControlRenderer";
|
|
12
12
|
|
|
13
13
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseHardwareControlRenderer-dbg.js","names":["__exports","apiVersion","render","rm","control","openStart","class","openEnd","content","getAggregation","renderControl","renderContent","close"],"sources":["BaseHardwareControlRenderer.ts"],"sourcesContent":["/**\n * @file BaseHardwareControlRenderer.ts\n * @description Standard renderer for all MetaUI hardware controls.\n * \n * @namespace nz.co.siliconst.ui5.metaui.controls\n */\nimport RenderManager from \"sap/ui/core/RenderManager\";\nimport BaseHardwareControl from \"./BaseHardwareControl\";\n\nexport default {\n apiVersion: 2,\n render: function (rm: RenderManager, control: BaseHardwareControl) {\n rm.openStart(\"div\", control);\n rm.class(\"sapUiSmallMarginBottom\");\n rm.openEnd();\n \n const content = control.getAggregation(\"_content\") as
|
|
1
|
+
{"version":3,"file":"BaseHardwareControlRenderer-dbg.js","names":["__exports","apiVersion","render","rm","control","openStart","class","openEnd","content","getAggregation","renderControl","renderContent","close"],"sources":["BaseHardwareControlRenderer.ts"],"sourcesContent":["/**\n * @file BaseHardwareControlRenderer.ts\n * @description Standard renderer for all MetaUI hardware controls.\n * \n * @namespace nz.co.siliconst.ui5.metaui.controls\n */\nimport RenderManager from \"sap/ui/core/RenderManager\";\nimport BaseHardwareControl from \"./BaseHardwareControl\";\n\nimport Control from \"sap/ui/core/Control\";\nexport default {\n apiVersion: 2,\n render: function (rm: RenderManager, control: BaseHardwareControl) {\n rm.openStart(\"div\", control);\n rm.class(\"sapUiSmallMarginBottom\");\n rm.openEnd();\n \n const content = control.getAggregation(\"_content\") as Control;\n if (content) {\n rm.renderControl(content);\n }\n \n if (typeof control.renderContent === \"function\") {\n control.renderContent(rm, control);\n }\n \n rm.close(\"div\");\n }\n};\n"],"mappings":";;;EAAA;AACA;AACA;AACA;AACA;AACA;EALA,IAAAA,SAAA,GAUe;IACXC,UAAU,EAAE,CAAC;IACbC,MAAM,EAAE,SAAAA,CAAUC,EAAiB,EAAEC,OAA4B,EAAE;MAC/DD,EAAE,CAACE,SAAS,CAAC,KAAK,EAAED,OAAO,CAAC;MAC5BD,EAAE,CAACG,KAAK,CAAC,wBAAwB,CAAC;MAClCH,EAAE,CAACI,OAAO,CAAC,CAAC;MAEZ,MAAMC,OAAO,GAAGJ,OAAO,CAACK,cAAc,CAAC,UAAU,CAAY;MAC7D,IAAID,OAAO,EAAE;QACTL,EAAE,CAACO,aAAa,CAACF,OAAO,CAAC;MAC7B;MAEA,IAAI,OAAOJ,OAAO,CAACO,aAAa,KAAK,UAAU,EAAE;QAC7CP,OAAO,CAACO,aAAa,CAACR,EAAE,EAAEC,OAAO,CAAC;MACtC;MAEAD,EAAE,CAACS,KAAK,CAAC,KAAK,CAAC;IACnB;EACJ,CAAC;EAAA,OAAAZ,SAAA;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseHardwareControlRenderer.d.ts","sourceRoot":"../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,iEAAiE,CAAC;IACjF;;;;;OAKG;IACH,OAAO,aAAa,MAAM,2BAA2B,CAAC;IACtD,OAAO,mBAAmB,MAAM,yDAAyD,CAAC;;;
|
|
1
|
+
{"version":3,"file":"BaseHardwareControlRenderer.d.ts","sourceRoot":"../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,iEAAiE,CAAC;IACjF;;;;;OAKG;IACH,OAAO,aAAa,MAAM,2BAA2B,CAAC;IACtD,OAAO,mBAAmB,MAAM,yDAAyD,CAAC;;;qBAKhE,aAAa,WAAW,mBAAmB;;IAFrE,wBAkBE;CAED"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseHardwareControlRenderer.js","names":["__exports","apiVersion","render","rm","control","openStart","class","openEnd","content","getAggregation","renderControl","renderContent","close"],"sources":["BaseHardwareControlRenderer.ts"],"sourcesContent":["/**\n * @file BaseHardwareControlRenderer.ts\n * @description Standard renderer for all MetaUI hardware controls.\n * \n * @namespace nz.co.siliconst.ui5.metaui.controls\n */\nimport RenderManager from \"sap/ui/core/RenderManager\";\nimport BaseHardwareControl from \"./BaseHardwareControl\";\n\nexport default {\n apiVersion: 2,\n render: function (rm: RenderManager, control: BaseHardwareControl) {\n rm.openStart(\"div\", control);\n rm.class(\"sapUiSmallMarginBottom\");\n rm.openEnd();\n \n const content = control.getAggregation(\"_content\") as
|
|
1
|
+
{"version":3,"file":"BaseHardwareControlRenderer.js","names":["__exports","apiVersion","render","rm","control","openStart","class","openEnd","content","getAggregation","renderControl","renderContent","close"],"sources":["BaseHardwareControlRenderer.ts"],"sourcesContent":["/**\n * @file BaseHardwareControlRenderer.ts\n * @description Standard renderer for all MetaUI hardware controls.\n * \n * @namespace nz.co.siliconst.ui5.metaui.controls\n */\nimport RenderManager from \"sap/ui/core/RenderManager\";\nimport BaseHardwareControl from \"./BaseHardwareControl\";\n\nimport Control from \"sap/ui/core/Control\";\nexport default {\n apiVersion: 2,\n render: function (rm: RenderManager, control: BaseHardwareControl) {\n rm.openStart(\"div\", control);\n rm.class(\"sapUiSmallMarginBottom\");\n rm.openEnd();\n \n const content = control.getAggregation(\"_content\") as Control;\n if (content) {\n rm.renderControl(content);\n }\n \n if (typeof control.renderContent === \"function\") {\n control.renderContent(rm, control);\n }\n \n rm.close(\"div\");\n }\n};\n"],"mappings":"yCAAA,IAAAA,EAUe,CACXC,WAAY,EACZC,OAAQ,SAAUC,EAAmBC,GACjCD,EAAGE,UAAU,MAAOD,GACpBD,EAAGG,MAAM,0BACTH,EAAGI,UAEH,MAAMC,EAAUJ,EAAQK,eAAe,YACvC,GAAID,EAAS,CACTL,EAAGO,cAAcF,EACrB,CAEA,UAAWJ,EAAQO,gBAAkB,WAAY,CAC7CP,EAAQO,cAAcR,EAAIC,EAC9B,CAEAD,EAAGS,MAAM,MACb,GACH,OAAAZ,CAAA","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import RenderManager from "sap/ui/core/RenderManager";
|
|
8
8
|
import BaseHardwareControl from "./BaseHardwareControl";
|
|
9
9
|
|
|
10
|
+
import Control from "sap/ui/core/Control";
|
|
10
11
|
export default {
|
|
11
12
|
apiVersion: 2,
|
|
12
13
|
render: function (rm: RenderManager, control: BaseHardwareControl) {
|
|
@@ -14,7 +15,7 @@ export default {
|
|
|
14
15
|
rm.class("sapUiSmallMarginBottom");
|
|
15
16
|
rm.openEnd();
|
|
16
17
|
|
|
17
|
-
const content = control.getAggregation("_content") as
|
|
18
|
+
const content = control.getAggregation("_content") as Control;
|
|
18
19
|
if (content) {
|
|
19
20
|
rm.renderControl(content);
|
|
20
21
|
}
|
|
@@ -58,7 +58,7 @@ sap.ui.define(["./BaseHardwareControl", "sap/m/Button", "sap/m/VBox", "sap/ui/co
|
|
|
58
58
|
const domRef = this.videoHtml.getDomRef();
|
|
59
59
|
if (!domRef) return;
|
|
60
60
|
this.videoEl = domRef;
|
|
61
|
-
const val = this.
|
|
61
|
+
const val = this.getProperty("value");
|
|
62
62
|
if (val && typeof val === "string" && val.startsWith("data:image")) {
|
|
63
63
|
this.showPreview(val);
|
|
64
64
|
} else if (this.captureBtn.getVisible() && this.videoHtml.getVisible()) {
|
|
@@ -131,7 +131,7 @@ sap.ui.define(["./BaseHardwareControl", "sap/m/Button", "sap/m/VBox", "sap/ui/co
|
|
|
131
131
|
* @param value The base64 data URL string representing the image.
|
|
132
132
|
*/
|
|
133
133
|
setValue(value) {
|
|
134
|
-
super.
|
|
134
|
+
super.setProperty("value", value);
|
|
135
135
|
if (value && typeof value === "string" && value.startsWith("data:image")) {
|
|
136
136
|
this.showPreview(value);
|
|
137
137
|
} else if (!value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CameraControl-dbg.js","names":["BaseHardwareControl","_interopRequireDefault","__BaseHardwareControl","Logger","___utils_Logger","CameraControl","renderer","metadata","properties","events","videoEl","mediaStream","init","videoHtml","HTML","content","afterRendering","onVideoRendered","bind","addStyleClass","previewImage","Image","width","visible","startBtn","Button","icon","text","press","handleStartCameraPress","captureBtn","captureImage","retakeBtn","retakeImage","vBox","VBox","items","setAggregation","domRef","getDomRef","val","getValue","startsWith","showPreview","getVisible","startCamera","setVisible","style","display","navigator","mediaDevices","getUserMedia","video","facingMode","srcObject","err","error","message","MessageToast","show","stopCamera","getTracks","forEach","track","stop","canvas","document","createElement","videoWidth","height","videoHeight","ctx","getContext","drawImage","dataUrl","toDataURL","setValueAndFire","setSrc","setValue","value","exit"],"sources":["CameraControl.ts"],"sourcesContent":["import BaseHardwareControl from \"./BaseHardwareControl\";\nimport Button from \"sap/m/Button\";\nimport VBox from \"sap/m/VBox\";\nimport HTML from \"sap/ui/core/HTML\";\nimport MessageToast from \"sap/m/MessageToast\";\nimport Image from \"sap/m/Image\";\nimport { Logger } from \"../utils/Logger\";\n\n/**\n * CameraControl\n * Provides a live video feed to capture photos.\n */\nexport default class CameraControl extends BaseHardwareControl {\n static readonly renderer = \"nz.co.siliconst.ui5.metaui.controls.BaseHardwareControlRenderer\";\n static readonly metadata = {\n properties: {},\n events: {}\n };\n\n private startBtn!: Button;\n private vBox!: VBox;\n private captureBtn!: Button;\n private retakeBtn!: Button;\n private videoHtml!: HTML;\n private previewImage!: Image;\n \n private videoEl: HTMLVideoElement | null = null;\n private mediaStream: MediaStream | null = null;\n\n /**\n * Initializes the control and builds the internal camera UI.\n */\n public init(): void {\n super.init();\n\n this.videoHtml = new HTML({\n content: \"<video width='400' height='300' autoplay playsinline style='background-color: #000; display: none;'></video>\",\n afterRendering: this.onVideoRendered.bind(this)\n }).addStyleClass(\"sapUiSmallMarginBottom\");\n\n this.previewImage = new Image({\n width: \"400px\",\n visible: false\n }).addStyleClass(\"sapUiSmallMarginBottom\");\n\n this.startBtn = new Button({\n icon: \"sap-icon://video\",\n text: \"Start Camera\",\n press: this.handleStartCameraPress.bind(this)\n });\n\n this.captureBtn = new Button({\n icon: \"sap-icon://camera\",\n text: \"Capture\",\n visible: false,\n press: this.captureImage.bind(this)\n });\n\n this.retakeBtn = new Button({\n icon: \"sap-icon://undo\",\n text: \"Retake\",\n visible: false,\n press: this.retakeImage.bind(this)\n });\n\n this.vBox = new VBox({\n items: [this.videoHtml, this.previewImage, this.startBtn, this.captureBtn, this.retakeBtn]\n });\n\n this.setAggregation(\"_content\", this.vBox);\n }\n\n private async onVideoRendered(): void {\n const domRef = this.videoHtml.getDomRef() as HTMLElement;\n if (!domRef) return;\n \n this.videoEl = domRef as HTMLVideoElement;\n \n const val = this.getValue();\n if (val && typeof val === \"string\" && val.startsWith(\"data:image\")) {\n this.showPreview(val);\n } else if (this.captureBtn.getVisible() && this.videoHtml.getVisible()) {\n this.startCamera();\n }\n }\n\n private handleStartCameraPress(): void {\n this.startCamera();\n this.startBtn.setVisible(false);\n this.captureBtn.setVisible(true);\n if (this.videoEl) {\n this.videoEl.style.display = \"block\";\n }\n }\n\n private async startCamera(): Promise<void> {\n try {\n this.mediaStream = await navigator.mediaDevices.getUserMedia({ video: { facingMode: \"environment\" } });\n if (this.videoEl) {\n this.videoEl.srcObject = this.mediaStream;\n }\n } catch (err) {\n Logger.error(\"Camera access denied or unavailable\", (err as Error).message, \"CameraControl\");\n MessageToast.show(\"Camera access denied or unavailable.\");\n }\n }\n\n private stopCamera(): void {\n if (this.mediaStream) {\n this.mediaStream.getTracks().forEach(track => track.stop());\n this.mediaStream = null;\n }\n }\n\n private captureImage(): void {\n if (!this.videoEl) return;\n \n const canvas = document.createElement(\"canvas\");\n canvas.width = this.videoEl.videoWidth || 400;\n canvas.height = this.videoEl.videoHeight || 300;\n \n const ctx = canvas.getContext(\"2d\");\n if (ctx) {\n ctx.drawImage(this.videoEl, 0, 0, canvas.width, canvas.height);\n const dataUrl = canvas.toDataURL(\"image/jpeg\", 0.8);\n this.setValueAndFire(dataUrl);\n this.showPreview(dataUrl);\n MessageToast.show(\"Image captured successfully.\");\n }\n }\n\n private retakeImage(): void {\n this.setValueAndFire(null);\n this.previewImage.setVisible(false);\n this.videoHtml.setVisible(true);\n this.captureBtn.setVisible(true);\n this.retakeBtn.setVisible(false);\n \n // startCamera is now handled safely by onVideoRendered hook\n }\n\n private showPreview(dataUrl: string): void {\n this.stopCamera();\n this.videoHtml.setVisible(false);\n this.previewImage.setSrc(dataUrl);\n this.previewImage.setVisible(true);\n this.captureBtn.setVisible(false);\n this.retakeBtn.setVisible(true);\n }\n\n /**\n * Sets the value of the control programmatically.\n * @param value The base64 data URL string representing the image.\n */\n public setValue(value: unknown): this {\n super.setValue(value);\n if (value && typeof value === \"string\" && value.startsWith(\"data:image\")) {\n this.showPreview(value);\n } else if (!value) {\n // Only retake if we were showing a preview\n if (this.previewImage.getVisible()) {\n this.retakeImage();\n }\n }\n return this;\n }\n\n /**\n * Cleans up the hardware streams when the control is destroyed.\n */\n public exit(): void {\n this.stopCamera();\n super.exit();\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"CameraControl-dbg.js","names":["BaseHardwareControl","_interopRequireDefault","__BaseHardwareControl","Logger","___utils_Logger","CameraControl","renderer","metadata","properties","events","videoEl","mediaStream","init","videoHtml","HTML","content","afterRendering","onVideoRendered","bind","addStyleClass","previewImage","Image","width","visible","startBtn","Button","icon","text","press","handleStartCameraPress","captureBtn","captureImage","retakeBtn","retakeImage","vBox","VBox","items","setAggregation","domRef","getDomRef","val","getProperty","startsWith","showPreview","getVisible","startCamera","setVisible","style","display","navigator","mediaDevices","getUserMedia","video","facingMode","srcObject","err","error","message","MessageToast","show","stopCamera","getTracks","forEach","track","stop","canvas","document","createElement","videoWidth","height","videoHeight","ctx","getContext","drawImage","dataUrl","toDataURL","setValueAndFire","setSrc","setValue","value","setProperty","exit"],"sources":["CameraControl.ts"],"sourcesContent":["import BaseHardwareControl from \"./BaseHardwareControl\";\nimport Button from \"sap/m/Button\";\nimport VBox from \"sap/m/VBox\";\nimport HTML from \"sap/ui/core/HTML\";\nimport MessageToast from \"sap/m/MessageToast\";\nimport Image from \"sap/m/Image\";\nimport { Logger } from \"../utils/Logger\";\n\n/**\n * CameraControl\n * Provides a live video feed to capture photos.\n */\nexport default class CameraControl extends BaseHardwareControl {\n static readonly renderer = \"nz.co.siliconst.ui5.metaui.controls.BaseHardwareControlRenderer\";\n static readonly metadata = {\n properties: {},\n events: {}\n };\n\n private startBtn!: Button;\n private vBox!: VBox;\n private captureBtn!: Button;\n private retakeBtn!: Button;\n private videoHtml!: HTML;\n private previewImage!: Image;\n \n private videoEl: HTMLVideoElement | null = null;\n private mediaStream: MediaStream | null = null;\n\n /**\n * Initializes the control and builds the internal camera UI.\n */\n public init(): void {\n super.init();\n\n this.videoHtml = new HTML({\n content: \"<video width='400' height='300' autoplay playsinline style='background-color: #000; display: none;'></video>\",\n afterRendering: this.onVideoRendered.bind(this)\n }).addStyleClass(\"sapUiSmallMarginBottom\");\n\n this.previewImage = new Image({\n width: \"400px\",\n visible: false\n }).addStyleClass(\"sapUiSmallMarginBottom\");\n\n this.startBtn = new Button({\n icon: \"sap-icon://video\",\n text: \"Start Camera\",\n press: this.handleStartCameraPress.bind(this)\n });\n\n this.captureBtn = new Button({\n icon: \"sap-icon://camera\",\n text: \"Capture\",\n visible: false,\n press: this.captureImage.bind(this)\n });\n\n this.retakeBtn = new Button({\n icon: \"sap-icon://undo\",\n text: \"Retake\",\n visible: false,\n press: this.retakeImage.bind(this)\n });\n\n this.vBox = new VBox({\n items: [this.videoHtml, this.previewImage, this.startBtn, this.captureBtn, this.retakeBtn]\n });\n\n this.setAggregation(\"_content\", this.vBox);\n }\n\n private async onVideoRendered(): Promise<void> {\n const domRef = this.videoHtml.getDomRef() as HTMLElement;\n if (!domRef) return;\n \n this.videoEl = domRef as HTMLVideoElement;\n \n const val = this.getProperty(\"value\");\n if (val && typeof val === \"string\" && val.startsWith(\"data:image\")) {\n this.showPreview(val);\n } else if (this.captureBtn.getVisible() && this.videoHtml.getVisible()) {\n this.startCamera();\n }\n }\n\n private handleStartCameraPress(): void {\n this.startCamera();\n this.startBtn.setVisible(false);\n this.captureBtn.setVisible(true);\n if (this.videoEl) {\n this.videoEl.style.display = \"block\";\n }\n }\n\n private async startCamera(): Promise<void> {\n try {\n this.mediaStream = await navigator.mediaDevices.getUserMedia({ video: { facingMode: \"environment\" } });\n if (this.videoEl) {\n this.videoEl.srcObject = this.mediaStream;\n }\n } catch (err) {\n Logger.error(\"Camera access denied or unavailable\", (err as Error).message, \"CameraControl\");\n MessageToast.show(\"Camera access denied or unavailable.\");\n }\n }\n\n private stopCamera(): void {\n if (this.mediaStream) {\n this.mediaStream.getTracks().forEach(track => track.stop());\n this.mediaStream = null;\n }\n }\n\n private captureImage(): void {\n if (!this.videoEl) return;\n \n const canvas = document.createElement(\"canvas\");\n canvas.width = this.videoEl.videoWidth || 400;\n canvas.height = this.videoEl.videoHeight || 300;\n \n const ctx = canvas.getContext(\"2d\");\n if (ctx) {\n ctx.drawImage(this.videoEl, 0, 0, canvas.width, canvas.height);\n const dataUrl = canvas.toDataURL(\"image/jpeg\", 0.8);\n this.setValueAndFire(dataUrl);\n this.showPreview(dataUrl);\n MessageToast.show(\"Image captured successfully.\");\n }\n }\n\n private retakeImage(): void {\n this.setValueAndFire(null);\n this.previewImage.setVisible(false);\n this.videoHtml.setVisible(true);\n this.captureBtn.setVisible(true);\n this.retakeBtn.setVisible(false);\n \n // startCamera is now handled safely by onVideoRendered hook\n }\n\n private showPreview(dataUrl: string): void {\n this.stopCamera();\n this.videoHtml.setVisible(false);\n this.previewImage.setSrc(dataUrl);\n this.previewImage.setVisible(true);\n this.captureBtn.setVisible(false);\n this.retakeBtn.setVisible(true);\n }\n\n /**\n * Sets the value of the control programmatically.\n * @param value The base64 data URL string representing the image.\n */\n public setValue(value: unknown): this {\n super.setProperty(\"value\", value);\n if (value && typeof value === \"string\" && value.startsWith(\"data:image\")) {\n this.showPreview(value);\n } else if (!value) {\n // Only retake if we were showing a preview\n if (this.previewImage.getVisible()) {\n this.retakeImage();\n }\n }\n return this;\n }\n\n /**\n * Cleans up the hardware streams when the control is destroyed.\n */\n public exit(): void {\n this.stopCamera();\n super.exit();\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
sap.ui.define(["./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.
|
|
1
|
+
sap.ui.define(["./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});
|
|
2
2
|
//# sourceMappingURL=CameraControl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CameraControl.js","names":["BaseHardwareControl","_interopRequireDefault","__BaseHardwareControl","Logger","___utils_Logger","CameraControl","static","properties","events","videoEl","mediaStream","init","super","this","videoHtml","HTML","content","afterRendering","onVideoRendered","bind","addStyleClass","previewImage","Image","width","visible","startBtn","Button","icon","text","press","handleStartCameraPress","captureBtn","captureImage","retakeBtn","retakeImage","vBox","VBox","items","setAggregation","domRef","getDomRef","val","
|
|
1
|
+
{"version":3,"file":"CameraControl.js","names":["BaseHardwareControl","_interopRequireDefault","__BaseHardwareControl","Logger","___utils_Logger","CameraControl","static","properties","events","videoEl","mediaStream","init","super","this","videoHtml","HTML","content","afterRendering","onVideoRendered","bind","addStyleClass","previewImage","Image","width","visible","startBtn","Button","icon","text","press","handleStartCameraPress","captureBtn","captureImage","retakeBtn","retakeImage","vBox","VBox","items","setAggregation","domRef","getDomRef","val","getProperty","startsWith","showPreview","getVisible","startCamera","setVisible","style","display","navigator","mediaDevices","getUserMedia","video","facingMode","srcObject","err","error","message","MessageToast","show","stopCamera","getTracks","forEach","track","stop","canvas","document","createElement","videoWidth","height","videoHeight","ctx","getContext","drawImage","dataUrl","toDataURL","setValueAndFire","setSrc","setValue","value","setProperty","exit"],"sources":["CameraControl.ts"],"sourcesContent":["import BaseHardwareControl from \"./BaseHardwareControl\";\nimport Button from \"sap/m/Button\";\nimport VBox from \"sap/m/VBox\";\nimport HTML from \"sap/ui/core/HTML\";\nimport MessageToast from \"sap/m/MessageToast\";\nimport Image from \"sap/m/Image\";\nimport { Logger } from \"../utils/Logger\";\n\n/**\n * CameraControl\n * Provides a live video feed to capture photos.\n */\nexport default class CameraControl extends BaseHardwareControl {\n static readonly renderer = \"nz.co.siliconst.ui5.metaui.controls.BaseHardwareControlRenderer\";\n static readonly metadata = {\n properties: {},\n events: {}\n };\n\n private startBtn!: Button;\n private vBox!: VBox;\n private captureBtn!: Button;\n private retakeBtn!: Button;\n private videoHtml!: HTML;\n private previewImage!: Image;\n \n private videoEl: HTMLVideoElement | null = null;\n private mediaStream: MediaStream | null = null;\n\n /**\n * Initializes the control and builds the internal camera UI.\n */\n public init(): void {\n super.init();\n\n this.videoHtml = new HTML({\n content: \"<video width='400' height='300' autoplay playsinline style='background-color: #000; display: none;'></video>\",\n afterRendering: this.onVideoRendered.bind(this)\n }).addStyleClass(\"sapUiSmallMarginBottom\");\n\n this.previewImage = new Image({\n width: \"400px\",\n visible: false\n }).addStyleClass(\"sapUiSmallMarginBottom\");\n\n this.startBtn = new Button({\n icon: \"sap-icon://video\",\n text: \"Start Camera\",\n press: this.handleStartCameraPress.bind(this)\n });\n\n this.captureBtn = new Button({\n icon: \"sap-icon://camera\",\n text: \"Capture\",\n visible: false,\n press: this.captureImage.bind(this)\n });\n\n this.retakeBtn = new Button({\n icon: \"sap-icon://undo\",\n text: \"Retake\",\n visible: false,\n press: this.retakeImage.bind(this)\n });\n\n this.vBox = new VBox({\n items: [this.videoHtml, this.previewImage, this.startBtn, this.captureBtn, this.retakeBtn]\n });\n\n this.setAggregation(\"_content\", this.vBox);\n }\n\n private async onVideoRendered(): Promise<void> {\n const domRef = this.videoHtml.getDomRef() as HTMLElement;\n if (!domRef) return;\n \n this.videoEl = domRef as HTMLVideoElement;\n \n const val = this.getProperty(\"value\");\n if (val && typeof val === \"string\" && val.startsWith(\"data:image\")) {\n this.showPreview(val);\n } else if (this.captureBtn.getVisible() && this.videoHtml.getVisible()) {\n this.startCamera();\n }\n }\n\n private handleStartCameraPress(): void {\n this.startCamera();\n this.startBtn.setVisible(false);\n this.captureBtn.setVisible(true);\n if (this.videoEl) {\n this.videoEl.style.display = \"block\";\n }\n }\n\n private async startCamera(): Promise<void> {\n try {\n this.mediaStream = await navigator.mediaDevices.getUserMedia({ video: { facingMode: \"environment\" } });\n if (this.videoEl) {\n this.videoEl.srcObject = this.mediaStream;\n }\n } catch (err) {\n Logger.error(\"Camera access denied or unavailable\", (err as Error).message, \"CameraControl\");\n MessageToast.show(\"Camera access denied or unavailable.\");\n }\n }\n\n private stopCamera(): void {\n if (this.mediaStream) {\n this.mediaStream.getTracks().forEach(track => track.stop());\n this.mediaStream = null;\n }\n }\n\n private captureImage(): void {\n if (!this.videoEl) return;\n \n const canvas = document.createElement(\"canvas\");\n canvas.width = this.videoEl.videoWidth || 400;\n canvas.height = this.videoEl.videoHeight || 300;\n \n const ctx = canvas.getContext(\"2d\");\n if (ctx) {\n ctx.drawImage(this.videoEl, 0, 0, canvas.width, canvas.height);\n const dataUrl = canvas.toDataURL(\"image/jpeg\", 0.8);\n this.setValueAndFire(dataUrl);\n this.showPreview(dataUrl);\n MessageToast.show(\"Image captured successfully.\");\n }\n }\n\n private retakeImage(): void {\n this.setValueAndFire(null);\n this.previewImage.setVisible(false);\n this.videoHtml.setVisible(true);\n this.captureBtn.setVisible(true);\n this.retakeBtn.setVisible(false);\n \n // startCamera is now handled safely by onVideoRendered hook\n }\n\n private showPreview(dataUrl: string): void {\n this.stopCamera();\n this.videoHtml.setVisible(false);\n this.previewImage.setSrc(dataUrl);\n this.previewImage.setVisible(true);\n this.captureBtn.setVisible(false);\n this.retakeBtn.setVisible(true);\n }\n\n /**\n * Sets the value of the control programmatically.\n * @param value The base64 data URL string representing the image.\n */\n public setValue(value: unknown): this {\n super.setProperty(\"value\", value);\n if (value && typeof value === \"string\" && value.startsWith(\"data:image\")) {\n this.showPreview(value);\n } else if (!value) {\n // Only retake if we were showing a preview\n if (this.previewImage.getVisible()) {\n this.retakeImage();\n }\n }\n return this;\n }\n\n /**\n * Cleans up the hardware streams when the control is destroyed.\n */\n public exit(): void {\n this.stopCamera();\n super.exit();\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -70,13 +70,13 @@ export default class CameraControl extends BaseHardwareControl {
|
|
|
70
70
|
this.setAggregation("_content", this.vBox);
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
private async onVideoRendered(): void {
|
|
73
|
+
private async onVideoRendered(): Promise<void> {
|
|
74
74
|
const domRef = this.videoHtml.getDomRef() as HTMLElement;
|
|
75
75
|
if (!domRef) return;
|
|
76
76
|
|
|
77
77
|
this.videoEl = domRef as HTMLVideoElement;
|
|
78
78
|
|
|
79
|
-
const val = this.
|
|
79
|
+
const val = this.getProperty("value");
|
|
80
80
|
if (val && typeof val === "string" && val.startsWith("data:image")) {
|
|
81
81
|
this.showPreview(val);
|
|
82
82
|
} else if (this.captureBtn.getVisible() && this.videoHtml.getVisible()) {
|
|
@@ -153,7 +153,7 @@ export default class CameraControl extends BaseHardwareControl {
|
|
|
153
153
|
* @param value The base64 data URL string representing the image.
|
|
154
154
|
*/
|
|
155
155
|
public setValue(value: unknown): this {
|
|
156
|
-
super.
|
|
156
|
+
super.setProperty("value", value);
|
|
157
157
|
if (value && typeof value === "string" && value.startsWith("data:image")) {
|
|
158
158
|
this.showPreview(value);
|
|
159
159
|
} else if (!value) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
sap.ui.define(["sap/ui/core/Control", "./host/GeneratorHost", "../utils/Logger", "./host/delegates/ODataDelegate", "../core/SchemaBuilderRegistry"], function (Control, __GeneratorHost, ___utils_Logger, ___host_delegates_ODataDelegate, ___core_SchemaBuilderRegistry) {
|
|
1
|
+
sap.ui.define(["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 (Control, __GeneratorHost, ___utils_Logger, ___host_delegates_ODataDelegate, ___core_SchemaBuilderRegistry, BusyIndicator, MessageToast, MessageBox, ___services_SchemaProvider, ___ai_AIConfig) {
|
|
2
2
|
"use strict";
|
|
3
3
|
|
|
4
4
|
function _interopRequireDefault(obj) {
|
|
@@ -8,6 +8,8 @@ sap.ui.define(["sap/ui/core/Control", "./host/GeneratorHost", "../utils/Logger",
|
|
|
8
8
|
const Logger = ___utils_Logger["Logger"];
|
|
9
9
|
const ODataDelegate = ___host_delegates_ODataDelegate["ODataDelegate"];
|
|
10
10
|
const SchemaBuilderRegistry = ___core_SchemaBuilderRegistry["SchemaBuilderRegistry"];
|
|
11
|
+
const SchemaProvider = ___services_SchemaProvider["SchemaProvider"];
|
|
12
|
+
const AIConfig = ___ai_AIConfig["AIConfig"];
|
|
11
13
|
/**
|
|
12
14
|
* A transparent wrapper control (Facade) that automatically chooses between Explicit Schema Mode
|
|
13
15
|
* and Inference Mode based on the presence of a 'schemaDefinition'.
|
|
@@ -102,6 +104,10 @@ sap.ui.define(["sap/ui/core/Control", "./host/GeneratorHost", "../utils/Logger",
|
|
|
102
104
|
type: "boolean",
|
|
103
105
|
defaultValue: true
|
|
104
106
|
},
|
|
107
|
+
layoutBudget: {
|
|
108
|
+
type: "int",
|
|
109
|
+
defaultValue: 0
|
|
110
|
+
},
|
|
105
111
|
inferenceStrategy: {
|
|
106
112
|
type: "string",
|
|
107
113
|
defaultValue: "RuleBased"
|
|
@@ -266,37 +272,29 @@ sap.ui.define(["sap/ui/core/Control", "./host/GeneratorHost", "../utils/Logger",
|
|
|
266
272
|
this.initODataDelegate();
|
|
267
273
|
if (!this._initializedInner) {
|
|
268
274
|
let schemaRaw = this.getProperty("schemaDefinition");
|
|
269
|
-
|
|
270
|
-
// 1. URL Detection & Fetching
|
|
271
275
|
if (typeof schemaRaw === "string" && (schemaRaw.startsWith("http://") || schemaRaw.startsWith("https://"))) {
|
|
272
276
|
const self = this;
|
|
273
277
|
if (self._fetchingSchema) return; // Prevent re-entry
|
|
274
278
|
self._fetchingSchema = true;
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
if (MessageToast) MessageToast.show("Failed to fetch remote schema");
|
|
295
|
-
Control.prototype.setProperty.call(this, "schemaDefinition", null, true); // Fallback to full inference
|
|
296
|
-
self._fetchingSchema = false;
|
|
297
|
-
BusyIndicator.hide();
|
|
298
|
-
this.invalidate();
|
|
299
|
-
});
|
|
279
|
+
BusyIndicator.show(0);
|
|
280
|
+
SchemaProvider.resolve(schemaRaw).then(json => {
|
|
281
|
+
const plugin = SchemaBuilderRegistry.getBuilderFor(json);
|
|
282
|
+
const finalSchema = plugin ? plugin.build(json, this.getProperty("schemaTarget")) : json;
|
|
283
|
+
Control.prototype.setProperty.call(this, "schemaDefinition", finalSchema, true);
|
|
284
|
+
if (finalSchema.definitions) {
|
|
285
|
+
Control.prototype.setProperty.call(this, "schemaDefinitions", finalSchema.definitions, true);
|
|
286
|
+
}
|
|
287
|
+
const self = this;
|
|
288
|
+
self._fetchingSchema = false;
|
|
289
|
+
BusyIndicator.hide();
|
|
290
|
+
this.invalidate(); // Force re-render with resolved schema
|
|
291
|
+
}).catch(err => {
|
|
292
|
+
const self = this;
|
|
293
|
+
MessageToast.show("Failed to fetch remote schema");
|
|
294
|
+
Control.prototype.setProperty.call(this, "schemaDefinition", null, true); // Fallback to full inference
|
|
295
|
+
self._fetchingSchema = false;
|
|
296
|
+
BusyIndicator.hide();
|
|
297
|
+
this.invalidate();
|
|
300
298
|
});
|
|
301
299
|
return; // Abort this render cycle until fetch completes
|
|
302
300
|
}
|
|
@@ -339,28 +337,30 @@ sap.ui.define(["sap/ui/core/Control", "./host/GeneratorHost", "../utils/Logger",
|
|
|
339
337
|
try {
|
|
340
338
|
rawDataObj = JSON.parse(dataJson);
|
|
341
339
|
} catch (e) {
|
|
342
|
-
|
|
340
|
+
const msg = "Ignored invalid dataJson parse: " + e.message;
|
|
341
|
+
Logger.error("[DynamicHost]", msg, "DynamicHost");
|
|
342
|
+
MessageBox.error(msg, {
|
|
343
|
+
title: "Invalid JSON Data"
|
|
344
|
+
});
|
|
343
345
|
}
|
|
344
346
|
}
|
|
345
347
|
if (rawDataObj) {
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
this.invalidate();
|
|
363
|
-
});
|
|
348
|
+
BusyIndicator.show(0);
|
|
349
|
+
const proxy = AIConfig.getProxy();
|
|
350
|
+
proxy.generateSchema(rawDataObj, schema || undefined).then(generatedSchema => {
|
|
351
|
+
const self = this;
|
|
352
|
+
Control.prototype.setProperty.call(this, "schemaDefinition", generatedSchema, true);
|
|
353
|
+
self._fetchingSchema = false;
|
|
354
|
+
BusyIndicator.hide();
|
|
355
|
+
this.invalidate(); // Force re-render with the new schema
|
|
356
|
+
}).catch(err => {
|
|
357
|
+
const self = this;
|
|
358
|
+
Logger.warn("[MetaUI DynamicHost]", "AI inference failed, falling back to RuleBased. Error: " + err.message, "DynamicHost");
|
|
359
|
+
MessageToast.show("AI Inference failed, using fallback.");
|
|
360
|
+
Control.prototype.setProperty.call(this, "inferenceStrategy", "RuleBased", true); // Fallback to normal inference
|
|
361
|
+
self._fetchingSchema = false;
|
|
362
|
+
BusyIndicator.hide();
|
|
363
|
+
this.invalidate();
|
|
364
364
|
});
|
|
365
365
|
return; // Abort render cycle until AI is done
|
|
366
366
|
}
|