@siliconst/metaui 1.2.0 → 1.4.4
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 +102 -33
- package/package.json +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl-dbg.js +70 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.d.ts +67 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.ts +58 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer-dbg.js +28 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.d.ts +16 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.ts +28 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl-dbg.js +142 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.d.ts +33 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.ts +164 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost-dbg.js +266 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.d.ts +162 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.ts +203 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl-dbg.js +73 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.d.ts +32 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.ts +86 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl-dbg.js +60 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.d.ts +32 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.ts +61 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl-dbg.js +157 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.d.ts +33 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.ts +169 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl-dbg.js +160 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.d.ts +28 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.ts +185 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost-dbg.js +443 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.d.ts +227 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.ts +421 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate-dbg.js +103 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.d.ts +32 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.ts +119 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate-dbg.js +64 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.d.ts +21 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.ts +64 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate-dbg.js +120 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.d.ts +45 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.ts +131 -0
- package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine-dbg.js +40 -15
- package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.d.ts +27 -7
- package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.ts +41 -15
- package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator-dbg.js +62 -0
- package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.d.ts +26 -0
- package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.ts +62 -0
- package/src/nz/co/siliconst/ui5/metaui/core/Engine-dbg.js +159 -43
- 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 +64 -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 +166 -43
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry-dbg.js +32 -0
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry.d.ts +16 -0
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry.ts +26 -0
- package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager-dbg.js +123 -0
- package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.d.ts +49 -0
- package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.ts +106 -0
- package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry-dbg.js +104 -25
- 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 +21 -13
- 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 +110 -21
- package/src/nz/co/siliconst/ui5/metaui/core/Registry-dbg.js +79 -0
- package/src/nz/co/siliconst/ui5/metaui/core/Registry-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/core/Registry.d.ts +43 -0
- package/src/nz/co/siliconst/ui5/metaui/core/Registry.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/core/Registry.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/core/Registry.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/core/Registry.ts +70 -0
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer-dbg.js +71 -20
- 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 +1 -0
- 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 +71 -20
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator-dbg.js +54 -0
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.d.ts +11 -0
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.ts +53 -0
- package/src/nz/co/siliconst/ui5/metaui/core/StateManager-dbg.js +88 -2
- 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 +15 -1
- 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 +103 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager.d.ts +7 -8
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager.ts +7 -7
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline-dbg.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline.d.ts +38 -0
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPipeline.ts +39 -0
- 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 +38 -2
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.ts +43 -2
- 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 +32 -3
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.ts +35 -3
- package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout-dbg.js +144 -0
- package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.d.ts +27 -0
- package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/layouts/CompactLayout.ts +139 -0
- package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout-dbg.js +132 -61
- 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 +19 -12
- 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 +135 -71
- package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout-dbg.js +118 -51
- 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 +21 -8
- 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 +134 -65
- package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout-dbg.js +125 -0
- package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.d.ts +28 -0
- package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/layouts/WizardLayout.ts +127 -0
- package/src/nz/co/siliconst/ui5/metaui/library-dbg.js +17 -12
- package/src/nz/co/siliconst/ui5/metaui/library-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/library-preload.js +72 -25
- package/src/nz/co/siliconst/ui5/metaui/library-preload.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/library.d.ts +1 -0
- package/src/nz/co/siliconst/ui5/metaui/library.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/library.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/library.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/library.ts +25 -12
- package/src/nz/co/siliconst/ui5/metaui/manifest.json +8 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin-dbg.js +58 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.d.ts +22 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.ts +57 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin-dbg.js +55 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin.d.ts +21 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/SubmitFormActionPlugin.ts +54 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin-dbg.js +46 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin.d.ts +23 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/actions/UrlNavigationActionPlugin.ts +45 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin-dbg.js +74 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.d.ts +15 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.ts +80 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin-dbg.js +75 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.d.ts +12 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.ts +83 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin-dbg.js +174 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.d.ts +78 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.ts +165 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin-dbg.js +79 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.d.ts +36 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.ts +77 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin-dbg.js +60 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.d.ts +11 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.ts +56 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin-dbg.js +122 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.d.ts +24 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.ts +125 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/{DatePlugin-dbg.js → controls/DatePlugin-dbg.js} +29 -20
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/{DatePlugin.d.ts → controls/DatePlugin.d.ts} +4 -4
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.ts +74 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/{DateTimePlugin-dbg.js → controls/DateTimePlugin-dbg.js} +30 -20
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/{DateTimePlugin.d.ts → controls/DateTimePlugin.d.ts} +4 -4
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.ts +75 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin-dbg.js +109 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.d.ts +37 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.ts +105 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin-dbg.js +65 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.d.ts +21 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.ts +64 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin-dbg.js +59 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.d.ts +11 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.ts +56 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin-dbg.js +45 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.d.ts +22 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.ts +42 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin-dbg.js +74 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.d.ts +22 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.ts +73 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/{NumberPlugin-dbg.js → controls/NumberPlugin-dbg.js} +21 -16
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/{NumberPlugin.d.ts → controls/NumberPlugin.d.ts} +4 -4
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.ts +62 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin-dbg.js +74 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.d.ts +17 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.ts +81 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin-dbg.js +61 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.d.ts +21 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.ts +62 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin-dbg.js +64 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.d.ts +16 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.ts +67 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin-dbg.js +58 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.d.ts +11 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.ts +55 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin-dbg.js +64 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.d.ts +21 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.ts +65 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin-dbg.js +87 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.d.ts +37 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.ts +85 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/{SwitchPlugin-dbg.js → controls/SwitchPlugin-dbg.js} +24 -6
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/{SwitchPlugin.d.ts → controls/SwitchPlugin.d.ts} +4 -4
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.ts +62 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/{TextAreaPlugin-dbg.js → controls/TextAreaPlugin-dbg.js} +20 -14
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/{TextAreaPlugin.d.ts → controls/TextAreaPlugin.d.ts} +4 -4
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.ts +63 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/{TimePlugin-dbg.js → controls/TimePlugin-dbg.js} +30 -25
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/{TimePlugin.d.ts → controls/TimePlugin.d.ts} +4 -4
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.ts +76 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin-dbg.js +62 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.d.ts +11 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.ts +59 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin-dbg.js +94 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.d.ts +29 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.ts +102 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin-dbg.js +60 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.d.ts +22 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.ts +57 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin-dbg.js +106 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.d.ts +22 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.ts +101 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin-dbg.js +77 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.d.ts +25 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.ts +86 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin-dbg.js +36 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin.d.ts +25 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/CurrencyFormatterPlugin.ts +36 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin-dbg.js +32 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin.d.ts +19 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/DateFormatterPlugin.ts +31 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin-dbg.js +32 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin.d.ts +17 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/PhoneFormatterPlugin.ts +27 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin-dbg.js +31 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin.d.ts +18 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/formatters/TextCaseFormatterPlugin.ts +23 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin-dbg.js +45 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin.d.ts +24 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/EmailValidatorPlugin.ts +30 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin-dbg.js +42 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin.d.ts +18 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/IbanValidatorPlugin.ts +29 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin-dbg.js +41 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin.d.ts +17 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/MinLengthValidatorPlugin.ts +25 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin-dbg.js +51 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin.d.ts +17 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/PatternValidatorPlugin.ts +33 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin-dbg.js +48 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin.d.ts +17 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/RangeValidatorPlugin.ts +32 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin-dbg.js +46 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin.d.ts +17 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/validators/UrlValidatorPlugin.ts +29 -0
- package/src/nz/co/siliconst/ui5/metaui/utils/Logger-dbg.js +83 -0
- package/src/nz/co/siliconst/ui5/metaui/utils/Logger-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/utils/Logger.d.ts +29 -0
- package/src/nz/co/siliconst/ui5/metaui/utils/Logger.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/utils/Logger.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/utils/Logger.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/utils/Logger.ts +75 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost-dbg.js +0 -300
- package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost.d.ts +0 -130
- package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost.ts +0 -292
- package/src/nz/co/siliconst/ui5/metaui/core/EventBus-dbg.js +0 -66
- package/src/nz/co/siliconst/ui5/metaui/core/EventBus-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/EventBus.d.ts +0 -40
- package/src/nz/co/siliconst/ui5/metaui/core/EventBus.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/EventBus.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/core/EventBus.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/core/EventBus.ts +0 -60
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus-dbg.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus.d.ts +0 -29
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus.ts +0 -29
- package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout-dbg.js +0 -24
- package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout.d.ts +0 -15
- package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout.ts +0 -22
- package/src/nz/co/siliconst/ui5/metaui/plugins/ArrayPlugin-dbg.js +0 -68
- package/src/nz/co/siliconst/ui5/metaui/plugins/ArrayPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/ArrayPlugin.d.ts +0 -15
- package/src/nz/co/siliconst/ui5/metaui/plugins/ArrayPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/ArrayPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/ArrayPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/ArrayPlugin.ts +0 -71
- package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin-dbg.js +0 -55
- package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin.d.ts +0 -24
- package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin.ts +0 -56
- package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin-dbg.js +0 -42
- package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin.d.ts +0 -18
- package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin.ts +0 -41
- package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin.ts +0 -69
- package/src/nz/co/siliconst/ui5/metaui/plugins/DateTimePlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/DateTimePlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/DateTimePlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/DateTimePlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/DateTimePlugin.ts +0 -68
- package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin-dbg.js +0 -67
- package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin.d.ts +0 -18
- package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin.ts +0 -65
- package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin.ts +0 -56
- package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin-dbg.js +0 -57
- package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin.d.ts +0 -18
- package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin.ts +0 -58
- package/src/nz/co/siliconst/ui5/metaui/plugins/SwitchPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/SwitchPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/SwitchPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/SwitchPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/SwitchPlugin.ts +0 -42
- package/src/nz/co/siliconst/ui5/metaui/plugins/TextAreaPlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/TextAreaPlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/TextAreaPlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/TextAreaPlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/TextAreaPlugin.ts +0 -58
- package/src/nz/co/siliconst/ui5/metaui/plugins/TimePlugin-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/TimePlugin.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/TimePlugin.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/TimePlugin.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/TimePlugin.ts +0 -71
|
@@ -5,78 +5,201 @@
|
|
|
5
5
|
|
|
6
6
|
import { ISchema, IPropertyMetadata } from "../interfaces/ISchema";
|
|
7
7
|
import { ILayoutManager } from "../interfaces/ILayoutManager";
|
|
8
|
-
import { IPlugin } from "../interfaces/IPlugin";
|
|
8
|
+
import { IPlugin, IPluginValidationResult } from "../interfaces/IPlugin";
|
|
9
9
|
import { ConditionEngine } from "./ConditionEngine";
|
|
10
|
+
import { PluginRegistry } from "./PluginRegistry";
|
|
10
11
|
import Control from "sap/ui/core/Control";
|
|
11
12
|
import VBox from "sap/m/VBox";
|
|
13
|
+
import Text from "sap/m/Text";
|
|
14
|
+
import { Registry } from "./Registry";
|
|
15
|
+
import { Logger } from "../utils/Logger";
|
|
16
|
+
import { DefaultLayoutGenerator } from "./DefaultLayoutGenerator";
|
|
17
|
+
import Core from "sap/ui/core/Core";
|
|
18
|
+
import Messaging from "sap/ui/core/Messaging";
|
|
12
19
|
|
|
20
|
+
/**
|
|
21
|
+
* The Engine is responsible for translating a normalized schema into a physical UI5 layout.
|
|
22
|
+
* It delegates layout generation to the configured `LayoutManager` and field generation to the `PluginRegistry`.
|
|
23
|
+
* It is NOT a God Class; it strictly routes execution flow and tracks active plugins for validation.
|
|
24
|
+
* It embodies the "Plugin-First Philosophy" by routing all complex field and layout rendering
|
|
25
|
+
* through discrete, decoupled plugins rather than handling native overrides.
|
|
26
|
+
*
|
|
27
|
+
* @namespace nz.co.siliconst.ui5.metaui.core
|
|
28
|
+
* @public
|
|
29
|
+
*/
|
|
13
30
|
export class Engine {
|
|
31
|
+
/** Global registry of all available layout strategies (e.g. Form, Table, Wizard). */
|
|
32
|
+
public static layoutRegistry: Registry<ILayoutManager>;
|
|
33
|
+
/** Handles dynamic conditional logic across the active form. */
|
|
14
34
|
private conditionEngine: ConditionEngine | null = null;
|
|
15
|
-
private activePlugins: IPlugin[] = [];
|
|
16
35
|
|
|
17
|
-
|
|
36
|
+
/** Array of all instantiated plugins generated during the current build. */
|
|
37
|
+
private activePlugins: { plugin: IPlugin, path: string }[] = [];
|
|
38
|
+
|
|
39
|
+
/** Deterministic scope ID injected by the host control to prevent clone collisions. */
|
|
40
|
+
public engineScopeId?: string;
|
|
41
|
+
|
|
42
|
+
private activeModel?: sap.ui.model.Model;
|
|
43
|
+
|
|
44
|
+
/** Tracks whether the entire engine is running in Read-Only Display mode. */
|
|
45
|
+
public readonly isDisplayMode: boolean = false;
|
|
46
|
+
|
|
47
|
+
constructor(displayMode: boolean = false) {
|
|
48
|
+
this.isDisplayMode = displayMode;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Bootstraps the layout generation process by resolving the correct layout strategy.
|
|
53
|
+
*
|
|
54
|
+
* @param schema The normalized JSON schema representing the view.
|
|
55
|
+
* @param model The active StateManager JSONModel instance.
|
|
56
|
+
* @param modelName The UI5 model alias used for isolation.
|
|
57
|
+
* @param onSubmit Callback fired when form is submitted.
|
|
58
|
+
* @param engineScopeId Deterministic scope ID for this engine instance.
|
|
59
|
+
* @param onChange Callback fired when field values change.
|
|
60
|
+
* @returns The generated root UI5 Control container.
|
|
61
|
+
*/
|
|
62
|
+
public build(schema: ISchema, model: sap.ui.model.Model, modelName: string = "meta", onSubmit?: () => void, engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string, errorMessage?: string, controlId?: string) => void): Control {
|
|
18
63
|
this.conditionEngine = new ConditionEngine(schema);
|
|
19
64
|
this.activePlugins = [];
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
if (!schema.items) {
|
|
26
|
-
throw new Error("[MetaUI] Array schema must define 'items'.");
|
|
65
|
+
this.activeModel = model;
|
|
66
|
+
this.engineScopeId = engineScopeId;
|
|
67
|
+
this.onChange = (isValid: boolean, fieldKey?: string, errorMessage?: string, controlId?: string) => {
|
|
68
|
+
if (this.conditionEngine && fieldKey) {
|
|
69
|
+
this.conditionEngine.handleEvent(fieldKey, isValid);
|
|
27
70
|
}
|
|
28
|
-
|
|
29
|
-
|
|
71
|
+
if (onChange) {
|
|
72
|
+
onChange(isValid, fieldKey, errorMessage, controlId);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
30
75
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
// Separate scalar properties (form fields) from root array properties (inline tables)
|
|
36
|
-
const formProps: Record<string, IPropertyMetadata> = {};
|
|
37
|
-
const tableProps: { key: string; meta: IPropertyMetadata }[] = [];
|
|
38
|
-
|
|
39
|
-
for (const key of Object.keys(props)) {
|
|
40
|
-
if (props[key].type === "array") {
|
|
41
|
-
tableProps.push({ key, meta: props[key] });
|
|
42
|
-
} else {
|
|
43
|
-
formProps[key] = props[key];
|
|
44
|
-
}
|
|
76
|
+
try {
|
|
77
|
+
// Intercept and synthesize a default layout if the developer/backend failed to provide one
|
|
78
|
+
if (DefaultLayoutGenerator.ensureLayout(schema)) {
|
|
79
|
+
Logger.warn("[MetaUI Engine] Missing 'uiLayout' array in schema. Synthesized a default layout mapping to prevent a blank render.");
|
|
45
80
|
}
|
|
81
|
+
|
|
82
|
+
const layoutStrategy = schema.layoutStrategy || (schema.type === "array" ? "table" : "form");
|
|
83
|
+
const layoutManager = Engine.layoutRegistry.getStrict(layoutStrategy);
|
|
46
84
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
85
|
+
return layoutManager.render(schema, modelName, this, onSubmit);
|
|
86
|
+
} catch (error) {
|
|
87
|
+
const msg = (error as Error).message;
|
|
88
|
+
Logger.error("[MetaUI Engine] Critical error during layout generation", msg);
|
|
89
|
+
Logger.showErrorPopup(`Engine failed to generate the layout.\n\nDetails: ${msg}`);
|
|
90
|
+
return new Text({ text: "Critical Layout Error" });
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Instantiates the correct plugin for a specific field based on type and widget hints,
|
|
96
|
+
* and tracks the plugin for global validation.
|
|
97
|
+
*
|
|
98
|
+
* @param fieldMeta The metadata schema specific to the field.
|
|
99
|
+
* @param bindingPath The JSON path representing the field within the payload.
|
|
100
|
+
* @param modelName The UI5 JSONModel name used for data binding.
|
|
101
|
+
* @returns The generated UI5 Control for the field.
|
|
102
|
+
*/
|
|
103
|
+
public generateField(fieldMeta: IPropertyMetadata, bindingPath: string, modelName: string, isTemplate: boolean = false): Control {
|
|
104
|
+
try {
|
|
105
|
+
const plugin = PluginRegistry.getInstance().getPlugin(fieldMeta.type || "string", fieldMeta.ui?.widget);
|
|
106
|
+
plugin.setDisplayMode(this.isDisplayMode);
|
|
107
|
+
|
|
108
|
+
if (!isTemplate) {
|
|
109
|
+
this.activePlugins.push({ plugin, path: bindingPath });
|
|
50
110
|
}
|
|
111
|
+
const scopeId = isTemplate ? undefined : this.engineScopeId;
|
|
112
|
+
const control = plugin.render(fieldMeta, bindingPath, modelName, scopeId, this.onChange);
|
|
51
113
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
if (tableProp.meta.items) {
|
|
55
|
-
container.addItem(layoutManager.renderTable(tableProp.meta.items, `${modelName}>/${tableProp.key}`, tableProp.meta.ui?.label || tableProp.key));
|
|
56
|
-
}
|
|
114
|
+
if (this.conditionEngine) {
|
|
115
|
+
this.conditionEngine.registerPlugin(bindingPath, plugin);
|
|
57
116
|
}
|
|
58
117
|
|
|
59
|
-
return
|
|
118
|
+
return control;
|
|
119
|
+
} catch (error) {
|
|
120
|
+
const msg = (error as Error).message;
|
|
121
|
+
Logger.error(`[MetaUI Engine] Failed to generate field at ${bindingPath}`, msg);
|
|
122
|
+
Logger.showErrorPopup(`Failed to generate field '${bindingPath}'.\n\nDetails: ${msg}`);
|
|
123
|
+
return new Text({ text: `[Error generating field ${bindingPath}]` });
|
|
60
124
|
}
|
|
61
|
-
|
|
62
|
-
throw new Error(`[MetaUI] Unsupported schema type: ${schema.type}`);
|
|
63
125
|
}
|
|
64
126
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
127
|
+
/**
|
|
128
|
+
* Generates a sub-layout (like an embedded table or nested form) without
|
|
129
|
+
* destroying the current Engine state or Condition tracking.
|
|
130
|
+
*
|
|
131
|
+
* @param schema The normalized JSON schema representing the view.
|
|
132
|
+
* @param modelName The UI5 JSONModel name used for data binding (defaults to "meta").
|
|
133
|
+
* @param bindingPath Optional path to bind the sub-layout to a specific array/object property.
|
|
134
|
+
* @returns The generated root UI5 Control container.
|
|
135
|
+
*/
|
|
136
|
+
public generateLayout(schema: ISchema, modelName: string, bindingPath?: string): Control {
|
|
137
|
+
try {
|
|
138
|
+
const layoutStrategy = schema.layoutStrategy || (schema.type === "array" ? "table" : "form");
|
|
139
|
+
const layoutManager = Engine.layoutRegistry.getStrict(layoutStrategy);
|
|
140
|
+
return layoutManager.render(schema, modelName, this, undefined, bindingPath);
|
|
141
|
+
} catch (error) {
|
|
142
|
+
const msg = (error as Error).message;
|
|
143
|
+
Logger.error(`[MetaUI Engine] Critical error generating sub-layout for ${bindingPath}`, msg);
|
|
144
|
+
Logger.showErrorPopup(`Engine failed to generate a sub-layout.\n\nDetails: ${msg}`);
|
|
145
|
+
return new Text({ text: "Critical Sub-Layout Error" });
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Iterates through all active plugins and triggers their internal validation pipelines.
|
|
151
|
+
*
|
|
152
|
+
* @returns {IPluginValidationResult[]} Array of validation error objects. Empty array if valid.
|
|
153
|
+
*/
|
|
154
|
+
public validateAll(): IPluginValidationResult[] {
|
|
155
|
+
const errors: IPluginValidationResult[] = [];
|
|
156
|
+
for (const item of this.activePlugins) {
|
|
157
|
+
const result = item.plugin.validate();
|
|
158
|
+
if (!result.isValid) {
|
|
159
|
+
// Ensure the path is bound to the error so GeneratorHost knows where to target it
|
|
160
|
+
result.fieldKey = result.fieldKey || item.path.replace(/^\//, "");
|
|
161
|
+
errors.push(result);
|
|
162
|
+
// Add console log to find which plugin fails silently
|
|
163
|
+
Logger.error("[MetaUI Validation] Plugin failed validation silently:", item.path || item.plugin.constructor.name);
|
|
70
164
|
}
|
|
71
165
|
}
|
|
72
|
-
return
|
|
166
|
+
return errors;
|
|
73
167
|
}
|
|
74
168
|
|
|
169
|
+
/**
|
|
170
|
+
* Cleans up internal state and destroys the condition engine to prevent memory leaks.
|
|
171
|
+
*/
|
|
75
172
|
public destroy(): void {
|
|
76
173
|
if (this.conditionEngine) {
|
|
77
174
|
this.conditionEngine.destroy();
|
|
78
175
|
this.conditionEngine = null;
|
|
79
176
|
}
|
|
177
|
+
|
|
178
|
+
// ------------------------------------------------------------------------
|
|
179
|
+
// Ghost Error Prevention
|
|
180
|
+
// Flush MessageManager for active plugins before destroying their controls
|
|
181
|
+
// ------------------------------------------------------------------------
|
|
182
|
+
const messageManager = Messaging;
|
|
183
|
+
const existingMessages = messageManager.getMessageModel().getData();
|
|
184
|
+
const messagesToRemove: any[] = [];
|
|
185
|
+
|
|
186
|
+
for (const item of this.activePlugins) {
|
|
187
|
+
if (this.activeModel) {
|
|
188
|
+
const targetPath = `/${item.path.replace(/^\//, "")}`;
|
|
189
|
+
const matched = existingMessages.filter((msg: any) =>
|
|
190
|
+
msg.getTarget() === targetPath && msg.getMessageProcessor() && msg.getMessageProcessor().getId() === this.activeModel.getId()
|
|
191
|
+
);
|
|
192
|
+
messagesToRemove.push(...matched);
|
|
193
|
+
}
|
|
194
|
+
if (typeof item.plugin.destroy === "function") {
|
|
195
|
+
item.plugin.destroy();
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
if (messagesToRemove.length > 0) {
|
|
200
|
+
messageManager.removeMessages(messagesToRemove);
|
|
201
|
+
}
|
|
202
|
+
|
|
80
203
|
this.activePlugins = [];
|
|
81
204
|
}
|
|
82
205
|
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
sap.ui.define(["./Registry", "../layouts/FormLayout", "../layouts/TableLayout", "../layouts/WizardLayout", "../layouts/CompactLayout", "./Engine"], function (___Registry, ___layouts_FormLayout, ___layouts_TableLayout, ___layouts_WizardLayout, ___layouts_CompactLayout, ___Engine) {
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @file LayoutRegistry.ts
|
|
6
|
+
* @description Centralized registry for all available layout managers (e.g. Form, Table, Wizard).
|
|
7
|
+
*/
|
|
8
|
+
const Registry = ___Registry["Registry"];
|
|
9
|
+
const FormLayout = ___layouts_FormLayout["FormLayout"];
|
|
10
|
+
const TableLayout = ___layouts_TableLayout["TableLayout"];
|
|
11
|
+
const WizardLayout = ___layouts_WizardLayout["WizardLayout"];
|
|
12
|
+
const CompactLayout = ___layouts_CompactLayout["CompactLayout"];
|
|
13
|
+
const Engine = ___Engine["Engine"];
|
|
14
|
+
/**
|
|
15
|
+
* The globally exposed registry containing instantiations of the layout strategies.
|
|
16
|
+
* It is injected directly into the Engine to avoid circular dependencies.
|
|
17
|
+
*
|
|
18
|
+
* @public
|
|
19
|
+
*/
|
|
20
|
+
const LayoutRegistry = new Registry("Layouts");
|
|
21
|
+
LayoutRegistry.register("form", new FormLayout());
|
|
22
|
+
LayoutRegistry.register("table", new TableLayout());
|
|
23
|
+
LayoutRegistry.register("wizard", new WizardLayout());
|
|
24
|
+
LayoutRegistry.register("compact", new CompactLayout());
|
|
25
|
+
Engine.layoutRegistry = LayoutRegistry;
|
|
26
|
+
var __exports = {
|
|
27
|
+
__esModule: true
|
|
28
|
+
};
|
|
29
|
+
__exports.LayoutRegistry = LayoutRegistry;
|
|
30
|
+
return __exports;
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=LayoutRegistry-dbg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LayoutRegistry-dbg.js","names":["Registry","___Registry","FormLayout","___layouts_FormLayout","TableLayout","___layouts_TableLayout","WizardLayout","___layouts_WizardLayout","CompactLayout","___layouts_CompactLayout","Engine","___Engine","LayoutRegistry","register","layoutRegistry","__exports","__esModule"],"sources":["LayoutRegistry.ts"],"sourcesContent":["/**\n * @file LayoutRegistry.ts\n * @description Centralized registry for all available layout managers (e.g. Form, Table, Wizard).\n */\nimport { Registry } from \"./Registry\";\nimport { ILayoutManager } from \"../interfaces/ILayoutManager\";\nimport { FormLayout } from \"../layouts/FormLayout\";\nimport { TableLayout } from \"../layouts/TableLayout\";\nimport { WizardLayout } from \"../layouts/WizardLayout\";\nimport { CompactLayout } from \"../layouts/CompactLayout\";\nimport { Engine } from \"./Engine\";\n\n/** \n * The globally exposed registry containing instantiations of the layout strategies.\n * It is injected directly into the Engine to avoid circular dependencies.\n * \n * @public\n */\nexport const LayoutRegistry = new Registry<ILayoutManager>(\"Layouts\");\n\nLayoutRegistry.register(\"form\", new FormLayout());\nLayoutRegistry.register(\"table\", new TableLayout());\nLayoutRegistry.register(\"wizard\", new WizardLayout());\nLayoutRegistry.register(\"compact\", new CompactLayout());\n\nEngine.layoutRegistry = LayoutRegistry;\n"],"mappings":";;;EAAA;AACA;AACA;AACA;EAHA,MAISA,QAAQ,GAAAC,WAAA;EAAA,MAERC,UAAU,GAAAC,qBAAA;EAAA,MACVC,WAAW,GAAAC,sBAAA;EAAA,MACXC,YAAY,GAAAC,uBAAA;EAAA,MACZC,aAAa,GAAAC,wBAAA;EAAA,MACbC,MAAM,GAAAC,SAAA;EAEf;AACA;AACA;AACA;AACA;AACA;EACO,MAAMC,cAAc,GAAG,IAAIZ,QAAQ,CAAiB,SAAS,CAAC;EAErEY,cAAc,CAACC,QAAQ,CAAC,MAAM,EAAE,IAAIX,UAAU,CAAC,CAAC,CAAC;EACjDU,cAAc,CAACC,QAAQ,CAAC,OAAO,EAAE,IAAIT,WAAW,CAAC,CAAC,CAAC;EACnDQ,cAAc,CAACC,QAAQ,CAAC,QAAQ,EAAE,IAAIP,YAAY,CAAC,CAAC,CAAC;EACrDM,cAAc,CAACC,QAAQ,CAAC,SAAS,EAAE,IAAIL,aAAa,CAAC,CAAC,CAAC;EAEvDE,MAAM,CAACI,cAAc,GAAGF,cAAc;EAAC,IAAAG,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAH,cAAA,GAAAA,cAAA;EAAA,OAAAG,SAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
declare module "nz/co/siliconst/ui5/metaui/core/LayoutRegistry" {
|
|
2
|
+
/**
|
|
3
|
+
* @file LayoutRegistry.ts
|
|
4
|
+
* @description Centralized registry for all available layout managers (e.g. Form, Table, Wizard).
|
|
5
|
+
*/
|
|
6
|
+
import { Registry } from "nz/co/siliconst/ui5/metaui/core/Registry";
|
|
7
|
+
import { ILayoutManager } from "nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager";
|
|
8
|
+
/**
|
|
9
|
+
* The globally exposed registry containing instantiations of the layout strategies.
|
|
10
|
+
* It is injected directly into the Engine to avoid circular dependencies.
|
|
11
|
+
*
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
14
|
+
export const LayoutRegistry: Registry<ILayoutManager>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=LayoutRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LayoutRegistry.d.ts","sourceRoot":"../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/core/LayoutRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,gDAAgD,CAAC;IAChE;;;OAGG;IACH,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;IACpE,OAAO,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;IAOtF;;;;;OAKG;IACI,MAAM,cAAc,0BAA0C,CAAC;CASrE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
sap.ui.define(["./Registry","../layouts/FormLayout","../layouts/TableLayout","../layouts/WizardLayout","../layouts/CompactLayout","./Engine"],function(t,o,e,a,s,r){"use strict";const u=t["Registry"];const n=o["FormLayout"];const y=e["TableLayout"];const i=a["WizardLayout"];const c=s["CompactLayout"];const g=r["Engine"];const L=new u("Layouts");L.register("form",new n);L.register("table",new y);L.register("wizard",new i);L.register("compact",new c);g.layoutRegistry=L;var l={__esModule:true};l.LayoutRegistry=L;return l});
|
|
2
|
+
//# sourceMappingURL=LayoutRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LayoutRegistry.js","names":["Registry","___Registry","FormLayout","___layouts_FormLayout","TableLayout","___layouts_TableLayout","WizardLayout","___layouts_WizardLayout","CompactLayout","___layouts_CompactLayout","Engine","___Engine","LayoutRegistry","register","layoutRegistry","__exports","__esModule"],"sources":["LayoutRegistry.ts"],"sourcesContent":["/**\n * @file LayoutRegistry.ts\n * @description Centralized registry for all available layout managers (e.g. Form, Table, Wizard).\n */\nimport { Registry } from \"./Registry\";\nimport { ILayoutManager } from \"../interfaces/ILayoutManager\";\nimport { FormLayout } from \"../layouts/FormLayout\";\nimport { TableLayout } from \"../layouts/TableLayout\";\nimport { WizardLayout } from \"../layouts/WizardLayout\";\nimport { CompactLayout } from \"../layouts/CompactLayout\";\nimport { Engine } from \"./Engine\";\n\n/** \n * The globally exposed registry containing instantiations of the layout strategies.\n * It is injected directly into the Engine to avoid circular dependencies.\n * \n * @public\n */\nexport const LayoutRegistry = new Registry<ILayoutManager>(\"Layouts\");\n\nLayoutRegistry.register(\"form\", new FormLayout());\nLayoutRegistry.register(\"table\", new TableLayout());\nLayoutRegistry.register(\"wizard\", new WizardLayout());\nLayoutRegistry.register(\"compact\", new CompactLayout());\n\nEngine.layoutRegistry = LayoutRegistry;\n"],"mappings":"iLAAA,MAISA,EAAQC,EAAA,kBAERC,EAAUC,EAAA,oBACVC,EAAWC,EAAA,qBACXC,EAAYC,EAAA,sBACZC,EAAaC,EAAA,uBACbC,EAAMC,EAAA,UAQR,MAAMC,EAAiB,IAAIZ,EAAyB,WAE3DY,EAAeC,SAAS,OAAQ,IAAIX,GACpCU,EAAeC,SAAS,QAAS,IAAIT,GACrCQ,EAAeC,SAAS,SAAU,IAAIP,GACtCM,EAAeC,SAAS,UAAW,IAAIL,GAEvCE,EAAOI,eAAiBF,EAAe,IAAAG,EAAA,CAAAC,WAAA,MAAAD,EAAAH,iBAAA,OAAAG,CAAA","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file LayoutRegistry.ts
|
|
3
|
+
* @description Centralized registry for all available layout managers (e.g. Form, Table, Wizard).
|
|
4
|
+
*/
|
|
5
|
+
import { Registry } from "./Registry";
|
|
6
|
+
import { ILayoutManager } from "../interfaces/ILayoutManager";
|
|
7
|
+
import { FormLayout } from "../layouts/FormLayout";
|
|
8
|
+
import { TableLayout } from "../layouts/TableLayout";
|
|
9
|
+
import { WizardLayout } from "../layouts/WizardLayout";
|
|
10
|
+
import { CompactLayout } from "../layouts/CompactLayout";
|
|
11
|
+
import { Engine } from "./Engine";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* The globally exposed registry containing instantiations of the layout strategies.
|
|
15
|
+
* It is injected directly into the Engine to avoid circular dependencies.
|
|
16
|
+
*
|
|
17
|
+
* @public
|
|
18
|
+
*/
|
|
19
|
+
export const LayoutRegistry = new Registry<ILayoutManager>("Layouts");
|
|
20
|
+
|
|
21
|
+
LayoutRegistry.register("form", new FormLayout());
|
|
22
|
+
LayoutRegistry.register("table", new TableLayout());
|
|
23
|
+
LayoutRegistry.register("wizard", new WizardLayout());
|
|
24
|
+
LayoutRegistry.register("compact", new CompactLayout());
|
|
25
|
+
|
|
26
|
+
Engine.layoutRegistry = LayoutRegistry;
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
sap.ui.define(["./Registry", "../plugins/validators/PatternValidatorPlugin", "../plugins/validators/MinLengthValidatorPlugin", "../plugins/validators/RangeValidatorPlugin", "../plugins/validators/UrlValidatorPlugin", "../plugins/validators/IbanValidatorPlugin", "../plugins/validators/EmailValidatorPlugin", "../plugins/formatters/DateFormatterPlugin", "../plugins/formatters/PhoneFormatterPlugin", "../plugins/formatters/TextCaseFormatterPlugin", "../utils/Logger"], function (___Registry, ___plugins_validators_PatternValidatorPlugin, ___plugins_validators_MinLengthValidatorPlugin, ___plugins_validators_RangeValidatorPlugin, ___plugins_validators_UrlValidatorPlugin, ___plugins_validators_IbanValidatorPlugin, ___plugins_validators_EmailValidatorPlugin, ___plugins_formatters_DateFormatterPlugin, ___plugins_formatters_PhoneFormatterPlugin, ___plugins_formatters_TextCaseFormatterPlugin, ___utils_Logger) {
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @file PipelineManager.ts
|
|
6
|
+
* @description Central manager for the data manipulation pipeline.
|
|
7
|
+
* Orchestrates Formatting, Parsing, and Validating data using the generic Registry.
|
|
8
|
+
*/
|
|
9
|
+
const Registry = ___Registry["Registry"];
|
|
10
|
+
const PatternValidatorPlugin = ___plugins_validators_PatternValidatorPlugin["PatternValidatorPlugin"];
|
|
11
|
+
const MinLengthValidatorPlugin = ___plugins_validators_MinLengthValidatorPlugin["MinLengthValidatorPlugin"];
|
|
12
|
+
const RangeValidatorPlugin = ___plugins_validators_RangeValidatorPlugin["RangeValidatorPlugin"];
|
|
13
|
+
const UrlValidatorPlugin = ___plugins_validators_UrlValidatorPlugin["UrlValidatorPlugin"];
|
|
14
|
+
const IbanValidatorPlugin = ___plugins_validators_IbanValidatorPlugin["IbanValidatorPlugin"];
|
|
15
|
+
const EmailValidatorPlugin = ___plugins_validators_EmailValidatorPlugin["EmailValidatorPlugin"];
|
|
16
|
+
const DateFormatterPlugin = ___plugins_formatters_DateFormatterPlugin["DateFormatterPlugin"];
|
|
17
|
+
const PhoneFormatterPlugin = ___plugins_formatters_PhoneFormatterPlugin["PhoneFormatterPlugin"];
|
|
18
|
+
const TextCaseFormatterPlugin = ___plugins_formatters_TextCaseFormatterPlugin["TextCaseFormatterPlugin"];
|
|
19
|
+
const Logger = ___utils_Logger["Logger"]; // --- Built-in Default Validators ---
|
|
20
|
+
class RequiredValidator {
|
|
21
|
+
validate(parsedValue, args) {
|
|
22
|
+
if (parsedValue === null || parsedValue === undefined || parsedValue === "") {
|
|
23
|
+
return {
|
|
24
|
+
isValid: false,
|
|
25
|
+
errorMessage: "This field is required."
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
isValid: true
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
class MaxLengthValidator {
|
|
34
|
+
validate(parsedValue, args) {
|
|
35
|
+
if (typeof parsedValue === "string" && args && typeof args === "number") {
|
|
36
|
+
if (parsedValue.length > args) {
|
|
37
|
+
return {
|
|
38
|
+
isValid: false,
|
|
39
|
+
errorMessage: `Maximum length is ${args} characters.`
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
isValid: true
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* The core engine responsible for marshalling data through the validation, formatting, and parsing phases.
|
|
51
|
+
* Pluggable design allows new validators to be registered dynamically.
|
|
52
|
+
*
|
|
53
|
+
* @namespace nz.co.siliconst.ui5.metaui.core
|
|
54
|
+
* @public
|
|
55
|
+
*/
|
|
56
|
+
class PipelineManager {
|
|
57
|
+
/** Registry of data formatters applied before pushing to the UI. */
|
|
58
|
+
formatters = new Registry("Formatters");
|
|
59
|
+
/** Registry of data parsers applied when pulling data from the UI. */
|
|
60
|
+
parsers = new Registry("Parsers");
|
|
61
|
+
/** Registry of business logic validators. */
|
|
62
|
+
validators = new Registry("Validators");
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Bootstraps the PipelineManager with default validators (required, maxLength, email).
|
|
66
|
+
*/
|
|
67
|
+
constructor() {
|
|
68
|
+
// Register default validators
|
|
69
|
+
this.validators.register("required", new RequiredValidator());
|
|
70
|
+
this.validators.register("maxLength", new MaxLengthValidator());
|
|
71
|
+
this.validators.register("pattern", new PatternValidatorPlugin());
|
|
72
|
+
this.validators.register("minLength", new MinLengthValidatorPlugin());
|
|
73
|
+
this.validators.register("range", new RangeValidatorPlugin());
|
|
74
|
+
this.validators.register("url", new UrlValidatorPlugin());
|
|
75
|
+
this.validators.register("iban", new IbanValidatorPlugin());
|
|
76
|
+
this.validators.register("email", new EmailValidatorPlugin());
|
|
77
|
+
|
|
78
|
+
// Register default formatters
|
|
79
|
+
this.formatters.register("date", new DateFormatterPlugin());
|
|
80
|
+
this.formatters.register("phone", new PhoneFormatterPlugin());
|
|
81
|
+
this.formatters.register("textCase", new TextCaseFormatterPlugin());
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Executes the validation pipeline sequentially. Fails fast on the first encountered error.
|
|
86
|
+
*
|
|
87
|
+
* @param parsedValue The raw extracted value from the UI control.
|
|
88
|
+
* @param requestedValidators Array of validation rule keys (e.g. ['required', 'email']).
|
|
89
|
+
* @param argsMap Optional map of parameters required by specific rules (e.g. { maxLength: 50 }).
|
|
90
|
+
* @returns {IValidationResult} The final result state and any associated error message.
|
|
91
|
+
*/
|
|
92
|
+
executeValidation(parsedValue, requestedValidators, argsMap) {
|
|
93
|
+
for (const rule of requestedValidators) {
|
|
94
|
+
const validator = this.validators.get(rule);
|
|
95
|
+
if (validator) {
|
|
96
|
+
const args = argsMap ? argsMap[rule] : undefined;
|
|
97
|
+
const result = validator.validate(parsedValue, args);
|
|
98
|
+
if (!result.isValid) {
|
|
99
|
+
return result; // Fast fail on first error
|
|
100
|
+
}
|
|
101
|
+
} else {
|
|
102
|
+
Logger.warn(`[MetaUI] PipelineManager: Requested validator '${rule}' not found in registry.`);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return {
|
|
106
|
+
isValid: true
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Singleton instance for global access to the active validation pipeline.
|
|
113
|
+
* @public
|
|
114
|
+
*/
|
|
115
|
+
const GlobalPipeline = new PipelineManager();
|
|
116
|
+
var __exports = {
|
|
117
|
+
__esModule: true
|
|
118
|
+
};
|
|
119
|
+
__exports.PipelineManager = PipelineManager;
|
|
120
|
+
__exports.GlobalPipeline = GlobalPipeline;
|
|
121
|
+
return __exports;
|
|
122
|
+
});
|
|
123
|
+
//# sourceMappingURL=PipelineManager-dbg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PipelineManager-dbg.js","names":["Registry","___Registry","PatternValidatorPlugin","___plugins_validators_PatternValidatorPlugin","MinLengthValidatorPlugin","___plugins_validators_MinLengthValidatorPlugin","RangeValidatorPlugin","___plugins_validators_RangeValidatorPlugin","UrlValidatorPlugin","___plugins_validators_UrlValidatorPlugin","IbanValidatorPlugin","___plugins_validators_IbanValidatorPlugin","EmailValidatorPlugin","___plugins_validators_EmailValidatorPlugin","DateFormatterPlugin","___plugins_formatters_DateFormatterPlugin","PhoneFormatterPlugin","___plugins_formatters_PhoneFormatterPlugin","TextCaseFormatterPlugin","___plugins_formatters_TextCaseFormatterPlugin","Logger","___utils_Logger","RequiredValidator","validate","parsedValue","args","undefined","isValid","errorMessage","MaxLengthValidator","length","PipelineManager","formatters","parsers","validators","constructor","register","executeValidation","requestedValidators","argsMap","rule","validator","get","result","warn","GlobalPipeline","__exports","__esModule"],"sources":["PipelineManager.ts"],"sourcesContent":["/**\n * @file PipelineManager.ts\n * @description Central manager for the data manipulation pipeline. \n * Orchestrates Formatting, Parsing, and Validating data using the generic Registry.\n */\n\nimport { Registry } from \"./Registry\";\nimport { IFormatter, IParser, IValidator, IValidationResult } from \"../interfaces/IPipeline\";\nimport { PatternValidatorPlugin } from \"../plugins/validators/PatternValidatorPlugin\";\nimport { MinLengthValidatorPlugin } from \"../plugins/validators/MinLengthValidatorPlugin\";\nimport { RangeValidatorPlugin } from \"../plugins/validators/RangeValidatorPlugin\";\nimport { UrlValidatorPlugin } from \"../plugins/validators/UrlValidatorPlugin\";\nimport { IbanValidatorPlugin } from \"../plugins/validators/IbanValidatorPlugin\";\nimport { EmailValidatorPlugin } from \"../plugins/validators/EmailValidatorPlugin\";\nimport { DateFormatterPlugin } from \"../plugins/formatters/DateFormatterPlugin\";\nimport { PhoneFormatterPlugin } from \"../plugins/formatters/PhoneFormatterPlugin\";\nimport { TextCaseFormatterPlugin } from \"../plugins/formatters/TextCaseFormatterPlugin\";\nimport { Logger } from \"../utils/Logger\";\n\n// --- Built-in Default Validators ---\nclass RequiredValidator implements IValidator {\n validate(parsedValue: unknown, args?: unknown): IValidationResult {\n if (parsedValue === null || parsedValue === undefined || parsedValue === \"\") {\n return { isValid: false, errorMessage: \"This field is required.\" };\n }\n return { isValid: true };\n }\n}\n\nclass MaxLengthValidator implements IValidator {\n validate(parsedValue: unknown, args?: unknown): IValidationResult {\n if (typeof parsedValue === \"string\" && args && typeof args === \"number\") {\n if (parsedValue.length > args) {\n return { isValid: false, errorMessage: `Maximum length is ${args} characters.` };\n }\n }\n return { isValid: true };\n }\n}\n\n\n/**\n * The core engine responsible for marshalling data through the validation, formatting, and parsing phases.\n * Pluggable design allows new validators to be registered dynamically.\n * \n * @namespace nz.co.siliconst.ui5.metaui.core\n * @public\n */\nexport class PipelineManager {\n /** Registry of data formatters applied before pushing to the UI. */\n public readonly formatters: Registry<IFormatter> = new Registry<IFormatter>(\"Formatters\");\n /** Registry of data parsers applied when pulling data from the UI. */\n public readonly parsers: Registry<IParser> = new Registry<IParser>(\"Parsers\");\n /** Registry of business logic validators. */\n public readonly validators: Registry<IValidator> = new Registry<IValidator>(\"Validators\");\n\n /**\n * Bootstraps the PipelineManager with default validators (required, maxLength, email).\n */\n constructor() {\n // Register default validators\n this.validators.register(\"required\", new RequiredValidator());\n this.validators.register(\"maxLength\", new MaxLengthValidator());\n this.validators.register(\"pattern\", new PatternValidatorPlugin());\n this.validators.register(\"minLength\", new MinLengthValidatorPlugin());\n this.validators.register(\"range\", new RangeValidatorPlugin());\n this.validators.register(\"url\", new UrlValidatorPlugin());\n this.validators.register(\"iban\", new IbanValidatorPlugin());\n this.validators.register(\"email\", new EmailValidatorPlugin());\n\n // Register default formatters\n this.formatters.register(\"date\", new DateFormatterPlugin());\n this.formatters.register(\"phone\", new PhoneFormatterPlugin());\n this.formatters.register(\"textCase\", new TextCaseFormatterPlugin());\n }\n\n /**\n * Executes the validation pipeline sequentially. Fails fast on the first encountered error.\n * \n * @param parsedValue The raw extracted value from the UI control.\n * @param requestedValidators Array of validation rule keys (e.g. ['required', 'email']).\n * @param argsMap Optional map of parameters required by specific rules (e.g. { maxLength: 50 }).\n * @returns {IValidationResult} The final result state and any associated error message.\n */\n public executeValidation(parsedValue: unknown, requestedValidators: string[], argsMap?: Record<string, any>): IValidationResult {\n for (const rule of requestedValidators) {\n const validator = this.validators.get(rule);\n if (validator) {\n const args = argsMap ? argsMap[rule] : undefined;\n const result = validator.validate(parsedValue, args);\n if (!result.isValid) {\n return result; // Fast fail on first error\n }\n } else {\n Logger.warn(`[MetaUI] PipelineManager: Requested validator '${rule}' not found in registry.`);\n }\n }\n return { isValid: true };\n }\n}\n\n/** \n * Singleton instance for global access to the active validation pipeline. \n * @public \n */\nexport const GlobalPipeline = new PipelineManager();\n"],"mappings":";;;EAAA;AACA;AACA;AACA;AACA;EAJA,MAMSA,QAAQ,GAAAC,WAAA;EAAA,MAERC,sBAAsB,GAAAC,4CAAA;EAAA,MACtBC,wBAAwB,GAAAC,8CAAA;EAAA,MACxBC,oBAAoB,GAAAC,0CAAA;EAAA,MACpBC,kBAAkB,GAAAC,wCAAA;EAAA,MAClBC,mBAAmB,GAAAC,yCAAA;EAAA,MACnBC,oBAAoB,GAAAC,0CAAA;EAAA,MACpBC,mBAAmB,GAAAC,yCAAA;EAAA,MACnBC,oBAAoB,GAAAC,0CAAA;EAAA,MACpBC,uBAAuB,GAAAC,6CAAA;EAAA,MACvBC,MAAM,GAAAC,eAAA,YAEf;EACA,MAAMC,iBAAiB,CAAuB;IAC1CC,QAAQA,CAACC,WAAoB,EAAEC,IAAc,EAAqB;MAC9D,IAAID,WAAW,KAAK,IAAI,IAAIA,WAAW,KAAKE,SAAS,IAAIF,WAAW,KAAK,EAAE,EAAE;QACzE,OAAO;UAAEG,OAAO,EAAE,KAAK;UAAEC,YAAY,EAAE;QAA0B,CAAC;MACtE;MACA,OAAO;QAAED,OAAO,EAAE;MAAK,CAAC;IAC5B;EACJ;EAEA,MAAME,kBAAkB,CAAuB;IAC3CN,QAAQA,CAACC,WAAoB,EAAEC,IAAc,EAAqB;MAC9D,IAAI,OAAOD,WAAW,KAAK,QAAQ,IAAIC,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;QACrE,IAAID,WAAW,CAACM,MAAM,GAAGL,IAAI,EAAE;UAC3B,OAAO;YAAEE,OAAO,EAAE,KAAK;YAAEC,YAAY,EAAE,qBAAqBH,IAAI;UAAe,CAAC;QACpF;MACJ;MACA,OAAO;QAAEE,OAAO,EAAE;MAAK,CAAC;IAC5B;EACJ;;EAGA;AACA;AACA;AACA;AACA;AACA;AACA;EACO,MAAMI,eAAe,CAAC;IACzB;IACgBC,UAAU,GAAyB,IAAIhC,QAAQ,CAAa,YAAY,CAAC;IACzF;IACgBiC,OAAO,GAAsB,IAAIjC,QAAQ,CAAU,SAAS,CAAC;IAC7E;IACgBkC,UAAU,GAAyB,IAAIlC,QAAQ,CAAa,YAAY,CAAC;;IAEzF;AACJ;AACA;IACImC,WAAWA,CAAA,EAAG;MACV;MACA,IAAI,CAACD,UAAU,CAACE,QAAQ,CAAC,UAAU,EAAE,IAAId,iBAAiB,CAAC,CAAC,CAAC;MAC7D,IAAI,CAACY,UAAU,CAACE,QAAQ,CAAC,WAAW,EAAE,IAAIP,kBAAkB,CAAC,CAAC,CAAC;MAC/D,IAAI,CAACK,UAAU,CAACE,QAAQ,CAAC,SAAS,EAAE,IAAIlC,sBAAsB,CAAC,CAAC,CAAC;MACjE,IAAI,CAACgC,UAAU,CAACE,QAAQ,CAAC,WAAW,EAAE,IAAIhC,wBAAwB,CAAC,CAAC,CAAC;MACrE,IAAI,CAAC8B,UAAU,CAACE,QAAQ,CAAC,OAAO,EAAE,IAAI9B,oBAAoB,CAAC,CAAC,CAAC;MAC7D,IAAI,CAAC4B,UAAU,CAACE,QAAQ,CAAC,KAAK,EAAE,IAAI5B,kBAAkB,CAAC,CAAC,CAAC;MACzD,IAAI,CAAC0B,UAAU,CAACE,QAAQ,CAAC,MAAM,EAAE,IAAI1B,mBAAmB,CAAC,CAAC,CAAC;MAC3D,IAAI,CAACwB,UAAU,CAACE,QAAQ,CAAC,OAAO,EAAE,IAAIxB,oBAAoB,CAAC,CAAC,CAAC;;MAE7D;MACA,IAAI,CAACoB,UAAU,CAACI,QAAQ,CAAC,MAAM,EAAE,IAAItB,mBAAmB,CAAC,CAAC,CAAC;MAC3D,IAAI,CAACkB,UAAU,CAACI,QAAQ,CAAC,OAAO,EAAE,IAAIpB,oBAAoB,CAAC,CAAC,CAAC;MAC7D,IAAI,CAACgB,UAAU,CAACI,QAAQ,CAAC,UAAU,EAAE,IAAIlB,uBAAuB,CAAC,CAAC,CAAC;IACvE;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;IACWmB,iBAAiBA,CAACb,WAAoB,EAAEc,mBAA6B,EAAEC,OAA6B,EAAqB;MAC5H,KAAK,MAAMC,IAAI,IAAIF,mBAAmB,EAAE;QACpC,MAAMG,SAAS,GAAG,IAAI,CAACP,UAAU,CAACQ,GAAG,CAACF,IAAI,CAAC;QAC3C,IAAIC,SAAS,EAAE;UACX,MAAMhB,IAAI,GAAGc,OAAO,GAAGA,OAAO,CAACC,IAAI,CAAC,GAAGd,SAAS;UAChD,MAAMiB,MAAM,GAAGF,SAAS,CAAClB,QAAQ,CAACC,WAAW,EAAEC,IAAI,CAAC;UACpD,IAAI,CAACkB,MAAM,CAAChB,OAAO,EAAE;YACjB,OAAOgB,MAAM,CAAC,CAAC;UACnB;QACJ,CAAC,MAAM;UACHvB,MAAM,CAACwB,IAAI,CAAC,kDAAkDJ,IAAI,0BAA0B,CAAC;QACjG;MACJ;MACA,OAAO;QAAEb,OAAO,EAAE;MAAK,CAAC;IAC5B;EACJ;;EAEA;AACA;AACA;AACA;EACO,MAAMkB,cAAc,GAAG,IAAId,eAAe,CAAC,CAAC;EAAC,IAAAe,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAf,eAAA,GAAAA,eAAA;EAAAe,SAAA,CAAAD,cAAA,GAAAA,cAAA;EAAA,OAAAC,SAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
declare module "nz/co/siliconst/ui5/metaui/core/PipelineManager" {
|
|
2
|
+
/**
|
|
3
|
+
* @file PipelineManager.ts
|
|
4
|
+
* @description Central manager for the data manipulation pipeline.
|
|
5
|
+
* Orchestrates Formatting, Parsing, and Validating data using the generic Registry.
|
|
6
|
+
*/
|
|
7
|
+
import { Registry } from "nz/co/siliconst/ui5/metaui/core/Registry";
|
|
8
|
+
import { IFormatter, IParser, IValidator, IValidationResult } from "nz/co/siliconst/ui5/metaui/interfaces/IPipeline";
|
|
9
|
+
class RequiredValidator implements IValidator {
|
|
10
|
+
validate(parsedValue: unknown, args?: unknown): IValidationResult;
|
|
11
|
+
}
|
|
12
|
+
class MaxLengthValidator implements IValidator {
|
|
13
|
+
validate(parsedValue: unknown, args?: unknown): IValidationResult;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The core engine responsible for marshalling data through the validation, formatting, and parsing phases.
|
|
17
|
+
* Pluggable design allows new validators to be registered dynamically.
|
|
18
|
+
*
|
|
19
|
+
* @namespace nz.co.siliconst.ui5.metaui.core
|
|
20
|
+
* @public
|
|
21
|
+
*/
|
|
22
|
+
export class PipelineManager {
|
|
23
|
+
/** Registry of data formatters applied before pushing to the UI. */
|
|
24
|
+
readonly formatters: Registry<IFormatter>;
|
|
25
|
+
/** Registry of data parsers applied when pulling data from the UI. */
|
|
26
|
+
readonly parsers: Registry<IParser>;
|
|
27
|
+
/** Registry of business logic validators. */
|
|
28
|
+
readonly validators: Registry<IValidator>;
|
|
29
|
+
/**
|
|
30
|
+
* Bootstraps the PipelineManager with default validators (required, maxLength, email).
|
|
31
|
+
*/
|
|
32
|
+
constructor();
|
|
33
|
+
/**
|
|
34
|
+
* Executes the validation pipeline sequentially. Fails fast on the first encountered error.
|
|
35
|
+
*
|
|
36
|
+
* @param parsedValue The raw extracted value from the UI control.
|
|
37
|
+
* @param requestedValidators Array of validation rule keys (e.g. ['required', 'email']).
|
|
38
|
+
* @param argsMap Optional map of parameters required by specific rules (e.g. { maxLength: 50 }).
|
|
39
|
+
* @returns {IValidationResult} The final result state and any associated error message.
|
|
40
|
+
*/
|
|
41
|
+
executeValidation(parsedValue: unknown, requestedValidators: string[], argsMap?: Record<string, any>): IValidationResult;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Singleton instance for global access to the active validation pipeline.
|
|
45
|
+
* @public
|
|
46
|
+
*/
|
|
47
|
+
export const GlobalPipeline: PipelineManager;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=PipelineManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PipelineManager.d.ts","sourceRoot":"../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/core/PipelineManager.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,iDAAiD,CAAC;IACjE;;;;OAIG;IAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;IACpE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;IAarH,MAAM,iBAAkB,YAAW,UAAU;QACzC,QAAQ,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,iBAAiB;KAMpE;IAED,MAAM,kBAAmB,YAAW,UAAU;QAC1C,QAAQ,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,iBAAiB;KAQpE;IAGD;;;;;;OAMG;IACH,MAAa,eAAe;QACxB,oEAAoE;QACpE,SAAgB,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAA0C;QAC1F,sEAAsE;QACtE,SAAgB,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAoC;QAC9E,6CAA6C;QAC7C,SAAgB,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAA0C;QAE1F;;WAEG;;QAkBH;;;;;;;WAOG;QACI,iBAAiB,CAAC,WAAW,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,iBAAiB;KAelI;IAED;;;OAGG;IACI,MAAM,cAAc,iBAAwB,CAAC;CAEnD"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
sap.ui.define(["./Registry","../plugins/validators/PatternValidatorPlugin","../plugins/validators/MinLengthValidatorPlugin","../plugins/validators/RangeValidatorPlugin","../plugins/validators/UrlValidatorPlugin","../plugins/validators/IbanValidatorPlugin","../plugins/validators/EmailValidatorPlugin","../plugins/formatters/DateFormatterPlugin","../plugins/formatters/PhoneFormatterPlugin","../plugins/formatters/TextCaseFormatterPlugin","../utils/Logger"],function(t,e,r,i,a,s,n,l,o,g,u){"use strict";const d=t["Registry"];const c=e["PatternValidatorPlugin"];const P=r["MinLengthValidatorPlugin"];const f=i["RangeValidatorPlugin"];const h=a["UrlValidatorPlugin"];const m=s["IbanValidatorPlugin"];const v=n["EmailValidatorPlugin"];const V=l["DateFormatterPlugin"];const p=o["PhoneFormatterPlugin"];const w=g["TextCaseFormatterPlugin"];const M=u["Logger"];class F{validate(t,e){if(t===null||t===undefined||t===""){return{isValid:false,errorMessage:"This field is required."}}return{isValid:true}}}class x{validate(t,e){if(typeof t==="string"&&e&&typeof e==="number"){if(t.length>e){return{isValid:false,errorMessage:`Maximum length is ${e} characters.`}}}return{isValid:true}}}class L{formatters=new d("Formatters");parsers=new d("Parsers");validators=new d("Validators");constructor(){this.validators.register("required",new F);this.validators.register("maxLength",new x);this.validators.register("pattern",new c);this.validators.register("minLength",new P);this.validators.register("range",new f);this.validators.register("url",new h);this.validators.register("iban",new m);this.validators.register("email",new v);this.formatters.register("date",new V);this.formatters.register("phone",new p);this.formatters.register("textCase",new w)}executeValidation(t,e,r){for(const i of e){const e=this.validators.get(i);if(e){const a=r?r[i]:undefined;const s=e.validate(t,a);if(!s.isValid){return s}}else{M.warn(`[MetaUI] PipelineManager: Requested validator '${i}' not found in registry.`)}}return{isValid:true}}}const b=new L;var y={__esModule:true};y.PipelineManager=L;y.GlobalPipeline=b;return y});
|
|
2
|
+
//# sourceMappingURL=PipelineManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PipelineManager.js","names":["Registry","___Registry","PatternValidatorPlugin","___plugins_validators_PatternValidatorPlugin","MinLengthValidatorPlugin","___plugins_validators_MinLengthValidatorPlugin","RangeValidatorPlugin","___plugins_validators_RangeValidatorPlugin","UrlValidatorPlugin","___plugins_validators_UrlValidatorPlugin","IbanValidatorPlugin","___plugins_validators_IbanValidatorPlugin","EmailValidatorPlugin","___plugins_validators_EmailValidatorPlugin","DateFormatterPlugin","___plugins_formatters_DateFormatterPlugin","PhoneFormatterPlugin","___plugins_formatters_PhoneFormatterPlugin","TextCaseFormatterPlugin","___plugins_formatters_TextCaseFormatterPlugin","Logger","___utils_Logger","RequiredValidator","validate","parsedValue","args","undefined","isValid","errorMessage","MaxLengthValidator","length","PipelineManager","formatters","parsers","validators","constructor","this","register","executeValidation","requestedValidators","argsMap","rule","validator","get","result","warn","GlobalPipeline","__exports","__esModule"],"sources":["PipelineManager.ts"],"sourcesContent":["/**\n * @file PipelineManager.ts\n * @description Central manager for the data manipulation pipeline. \n * Orchestrates Formatting, Parsing, and Validating data using the generic Registry.\n */\n\nimport { Registry } from \"./Registry\";\nimport { IFormatter, IParser, IValidator, IValidationResult } from \"../interfaces/IPipeline\";\nimport { PatternValidatorPlugin } from \"../plugins/validators/PatternValidatorPlugin\";\nimport { MinLengthValidatorPlugin } from \"../plugins/validators/MinLengthValidatorPlugin\";\nimport { RangeValidatorPlugin } from \"../plugins/validators/RangeValidatorPlugin\";\nimport { UrlValidatorPlugin } from \"../plugins/validators/UrlValidatorPlugin\";\nimport { IbanValidatorPlugin } from \"../plugins/validators/IbanValidatorPlugin\";\nimport { EmailValidatorPlugin } from \"../plugins/validators/EmailValidatorPlugin\";\nimport { DateFormatterPlugin } from \"../plugins/formatters/DateFormatterPlugin\";\nimport { PhoneFormatterPlugin } from \"../plugins/formatters/PhoneFormatterPlugin\";\nimport { TextCaseFormatterPlugin } from \"../plugins/formatters/TextCaseFormatterPlugin\";\nimport { Logger } from \"../utils/Logger\";\n\n// --- Built-in Default Validators ---\nclass RequiredValidator implements IValidator {\n validate(parsedValue: unknown, args?: unknown): IValidationResult {\n if (parsedValue === null || parsedValue === undefined || parsedValue === \"\") {\n return { isValid: false, errorMessage: \"This field is required.\" };\n }\n return { isValid: true };\n }\n}\n\nclass MaxLengthValidator implements IValidator {\n validate(parsedValue: unknown, args?: unknown): IValidationResult {\n if (typeof parsedValue === \"string\" && args && typeof args === \"number\") {\n if (parsedValue.length > args) {\n return { isValid: false, errorMessage: `Maximum length is ${args} characters.` };\n }\n }\n return { isValid: true };\n }\n}\n\n\n/**\n * The core engine responsible for marshalling data through the validation, formatting, and parsing phases.\n * Pluggable design allows new validators to be registered dynamically.\n * \n * @namespace nz.co.siliconst.ui5.metaui.core\n * @public\n */\nexport class PipelineManager {\n /** Registry of data formatters applied before pushing to the UI. */\n public readonly formatters: Registry<IFormatter> = new Registry<IFormatter>(\"Formatters\");\n /** Registry of data parsers applied when pulling data from the UI. */\n public readonly parsers: Registry<IParser> = new Registry<IParser>(\"Parsers\");\n /** Registry of business logic validators. */\n public readonly validators: Registry<IValidator> = new Registry<IValidator>(\"Validators\");\n\n /**\n * Bootstraps the PipelineManager with default validators (required, maxLength, email).\n */\n constructor() {\n // Register default validators\n this.validators.register(\"required\", new RequiredValidator());\n this.validators.register(\"maxLength\", new MaxLengthValidator());\n this.validators.register(\"pattern\", new PatternValidatorPlugin());\n this.validators.register(\"minLength\", new MinLengthValidatorPlugin());\n this.validators.register(\"range\", new RangeValidatorPlugin());\n this.validators.register(\"url\", new UrlValidatorPlugin());\n this.validators.register(\"iban\", new IbanValidatorPlugin());\n this.validators.register(\"email\", new EmailValidatorPlugin());\n\n // Register default formatters\n this.formatters.register(\"date\", new DateFormatterPlugin());\n this.formatters.register(\"phone\", new PhoneFormatterPlugin());\n this.formatters.register(\"textCase\", new TextCaseFormatterPlugin());\n }\n\n /**\n * Executes the validation pipeline sequentially. Fails fast on the first encountered error.\n * \n * @param parsedValue The raw extracted value from the UI control.\n * @param requestedValidators Array of validation rule keys (e.g. ['required', 'email']).\n * @param argsMap Optional map of parameters required by specific rules (e.g. { maxLength: 50 }).\n * @returns {IValidationResult} The final result state and any associated error message.\n */\n public executeValidation(parsedValue: unknown, requestedValidators: string[], argsMap?: Record<string, any>): IValidationResult {\n for (const rule of requestedValidators) {\n const validator = this.validators.get(rule);\n if (validator) {\n const args = argsMap ? argsMap[rule] : undefined;\n const result = validator.validate(parsedValue, args);\n if (!result.isValid) {\n return result; // Fast fail on first error\n }\n } else {\n Logger.warn(`[MetaUI] PipelineManager: Requested validator '${rule}' not found in registry.`);\n }\n }\n return { isValid: true };\n }\n}\n\n/** \n * Singleton instance for global access to the active validation pipeline. \n * @public \n */\nexport const GlobalPipeline = new PipelineManager();\n"],"mappings":"sfAAA,MAMSA,EAAQC,EAAA,kBAERC,EAAsBC,EAAA,gCACtBC,EAAwBC,EAAA,kCACxBC,EAAoBC,EAAA,8BACpBC,EAAkBC,EAAA,4BAClBC,EAAmBC,EAAA,6BACnBC,EAAoBC,EAAA,8BACpBC,EAAmBC,EAAA,6BACnBC,EAAoBC,EAAA,8BACpBC,EAAuBC,EAAA,iCACvBC,EAAMC,EAAA,UAGf,MAAMC,EACFC,SAASC,EAAsBC,GAC3B,GAAID,IAAgB,MAAQA,IAAgBE,WAAaF,IAAgB,GAAI,CACzE,MAAO,CAAEG,QAAS,MAAOC,aAAc,0BAC3C,CACA,MAAO,CAAED,QAAS,KACtB,EAGJ,MAAME,EACFN,SAASC,EAAsBC,GAC3B,UAAWD,IAAgB,UAAYC,UAAeA,IAAS,SAAU,CACrE,GAAID,EAAYM,OAASL,EAAM,CAC3B,MAAO,CAAEE,QAAS,MAAOC,aAAc,qBAAqBH,gBAChE,CACJ,CACA,MAAO,CAAEE,QAAS,KACtB,EAWG,MAAMI,EAEOC,WAAmC,IAAIhC,EAAqB,cAE5DiC,QAA6B,IAAIjC,EAAkB,WAEnDkC,WAAmC,IAAIlC,EAAqB,cAK5EmC,cAEIC,KAAKF,WAAWG,SAAS,WAAY,IAAIf,GACzCc,KAAKF,WAAWG,SAAS,YAAa,IAAIR,GAC1CO,KAAKF,WAAWG,SAAS,UAAW,IAAInC,GACxCkC,KAAKF,WAAWG,SAAS,YAAa,IAAIjC,GAC1CgC,KAAKF,WAAWG,SAAS,QAAS,IAAI/B,GACtC8B,KAAKF,WAAWG,SAAS,MAAO,IAAI7B,GACpC4B,KAAKF,WAAWG,SAAS,OAAQ,IAAI3B,GACrC0B,KAAKF,WAAWG,SAAS,QAAS,IAAIzB,GAGtCwB,KAAKJ,WAAWK,SAAS,OAAQ,IAAIvB,GACrCsB,KAAKJ,WAAWK,SAAS,QAAS,IAAIrB,GACtCoB,KAAKJ,WAAWK,SAAS,WAAY,IAAInB,EAC7C,CAUOoB,kBAAkBd,EAAsBe,EAA+BC,GAC1E,IAAK,MAAMC,KAAQF,EAAqB,CACpC,MAAMG,EAAYN,KAAKF,WAAWS,IAAIF,GACtC,GAAIC,EAAW,CACX,MAAMjB,EAAOe,EAAUA,EAAQC,GAAQf,UACvC,MAAMkB,EAASF,EAAUnB,SAASC,EAAaC,GAC/C,IAAKmB,EAAOjB,QAAS,CACjB,OAAOiB,CACX,CACJ,KAAO,CACHxB,EAAOyB,KAAK,kDAAkDJ,4BAClE,CACJ,CACA,MAAO,CAAEd,QAAS,KACtB,EAOG,MAAMmB,EAAiB,IAAIf,EAAkB,IAAAgB,EAAA,CAAAC,WAAA,MAAAD,EAAAhB,kBAAAgB,EAAAD,iBAAA,OAAAC,CAAA","ignoreList":[]}
|