@siliconst/metaui 1.0.2 → 1.2.0
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 +134 -123
- package/package.json +3 -2
- package/src/nz/co/siliconst/ui5/metaui/.library +7 -7
- package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost-dbg.js +299 -163
- package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost.d.ts +54 -6
- package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/GeneratorHost.ts +292 -162
- package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine-dbg.js +51 -43
- 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 +5 -0
- 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 +49 -40
- package/src/nz/co/siliconst/ui5/metaui/core/Engine-dbg.js +81 -58
- 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 +5 -12
- 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 +82 -56
- package/src/nz/co/siliconst/ui5/metaui/core/EventBus-dbg.js +65 -50
- package/src/nz/co/siliconst/ui5/metaui/core/EventBus-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/EventBus.d.ts +9 -0
- package/src/nz/co/siliconst/ui5/metaui/core/EventBus.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/EventBus.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/EventBus.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/EventBus.ts +60 -45
- package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry-dbg.js +72 -59
- 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 +6 -4
- 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 +71 -56
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer-dbg.js +145 -36
- 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 +13 -8
- 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 +157 -31
- package/src/nz/co/siliconst/ui5/metaui/core/StateManager-dbg.js +55 -55
- 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.map +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 +56 -56
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus-dbg.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IEventBus.ts +29 -29
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager-dbg.js +1 -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 +6 -12
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ILayoutManager.ts +21 -26
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin-dbg.js +1 -1
- 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 +3 -20
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.ts +14 -33
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema-dbg.js +1 -1
- 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 +33 -43
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.ts +70 -70
- package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout-dbg.js +23 -38
- package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout.d.ts +4 -17
- package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/BaseLayout.ts +22 -34
- package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout-dbg.js +98 -56
- 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 +7 -7
- 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 +97 -60
- package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout-dbg.js +102 -90
- 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 +4 -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 +119 -102
- package/src/nz/co/siliconst/ui5/metaui/library-dbg.js +43 -32
- package/src/nz/co/siliconst/ui5/metaui/library-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/library-preload.js +22 -17
- package/src/nz/co/siliconst/ui5/metaui/library-preload.js.map +1 -1
- 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 +55 -43
- package/src/nz/co/siliconst/ui5/metaui/manifest.json +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/ArrayPlugin-dbg.js +68 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/ArrayPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/ArrayPlugin.d.ts +15 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/ArrayPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/ArrayPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/ArrayPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/ArrayPlugin.ts +71 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin-dbg.js +54 -59
- package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin.d.ts +8 -27
- package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/BasePlugin.ts +56 -58
- package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin-dbg.js +41 -42
- package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin.d.ts +2 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/BooleanPlugin.ts +41 -42
- package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin-dbg.js +68 -60
- package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin.d.ts +2 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/DatePlugin.ts +69 -63
- package/src/nz/co/siliconst/ui5/metaui/plugins/DateTimePlugin-dbg.js +68 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/DateTimePlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/DateTimePlugin.d.ts +18 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/DateTimePlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/DateTimePlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/DateTimePlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/DateTimePlugin.ts +68 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin-dbg.js +66 -66
- package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin.d.ts +2 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/DropdownPlugin.ts +65 -65
- package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin-dbg.js +55 -53
- package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin.d.ts +3 -3
- package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin.ts +56 -55
- package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin-dbg.js +56 -53
- package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin.d.ts +2 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin.ts +58 -55
- package/src/nz/co/siliconst/ui5/metaui/plugins/SwitchPlugin-dbg.js +43 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/SwitchPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/SwitchPlugin.d.ts +18 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/SwitchPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/SwitchPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/SwitchPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/SwitchPlugin.ts +42 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/TextAreaPlugin-dbg.js +58 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/TextAreaPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/TextAreaPlugin.d.ts +18 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/TextAreaPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/TextAreaPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/TextAreaPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/TextAreaPlugin.ts +58 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/TimePlugin-dbg.js +74 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/TimePlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/TimePlugin.d.ts +18 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/TimePlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/TimePlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/TimePlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/TimePlugin.ts +71 -0
- package/ui5.yaml +3 -3
- package/test-resources/App.js +0 -11
- package/test-resources/Main.controller.js +0 -73
- package/test-resources/Main.view.xml +0 -42
- package/test-resources/index.html +0 -21
- package/test-resources/mockData.json +0 -27
- package/test-resources/mockSchema.json +0 -98
|
@@ -1,54 +1,56 @@
|
|
|
1
|
-
sap.ui.define(["./BasePlugin", "sap/m/StepInput"], function (___BasePlugin, StepInput) {
|
|
2
|
-
"use strict";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* @file NumberPlugin.ts
|
|
6
|
-
* @description Renders a sap.m.StepInput for numeric data.
|
|
7
|
-
*/
|
|
8
|
-
const BasePlugin = ___BasePlugin["BasePlugin"];
|
|
9
|
-
/**
|
|
10
|
-
* Handles rendering and logic for numeric inputs
|
|
11
|
-
*/
|
|
12
|
-
class NumberPlugin extends BasePlugin {
|
|
13
|
-
render(fieldMetadata, bindingPath) {
|
|
14
|
-
this.metadata = fieldMetadata;
|
|
15
|
-
this.control = new StepInput({
|
|
16
|
-
value: `{
|
|
17
|
-
displayValuePrecision: fieldMetadata.scale || 0,
|
|
18
|
-
editable: !fieldMetadata.
|
|
19
|
-
required: fieldMetadata.
|
|
20
|
-
change: oEvent => {
|
|
21
|
-
const val = oEvent.getParameter("value");
|
|
22
|
-
this.publishChange(val);
|
|
23
|
-
this.validate();
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
return this.control;
|
|
27
|
-
}
|
|
28
|
-
validate() {
|
|
29
|
-
if (!this.control || !this.metadata) return true;
|
|
30
|
-
const input = this.control;
|
|
31
|
-
const val = input.getValue();
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
input
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
1
|
+
sap.ui.define(["./BasePlugin", "sap/m/StepInput"], function (___BasePlugin, StepInput) {
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @file NumberPlugin.ts
|
|
6
|
+
* @description Renders a sap.m.StepInput for numeric data.
|
|
7
|
+
*/
|
|
8
|
+
const BasePlugin = ___BasePlugin["BasePlugin"];
|
|
9
|
+
/**
|
|
10
|
+
* Handles rendering and logic for numeric inputs.
|
|
11
|
+
*/
|
|
12
|
+
class NumberPlugin extends BasePlugin {
|
|
13
|
+
render(fieldMetadata, bindingPath, modelName = "meta") {
|
|
14
|
+
this.metadata = fieldMetadata;
|
|
15
|
+
this.control = new StepInput({
|
|
16
|
+
value: `{${modelName}>${bindingPath}}`,
|
|
17
|
+
displayValuePrecision: fieldMetadata.scale || 0,
|
|
18
|
+
editable: !fieldMetadata.ui?.readOnly,
|
|
19
|
+
required: fieldMetadata.required,
|
|
20
|
+
change: oEvent => {
|
|
21
|
+
const val = oEvent.getParameter("value");
|
|
22
|
+
this.publishChange(val);
|
|
23
|
+
this.validate();
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
return this.control;
|
|
27
|
+
}
|
|
28
|
+
validate() {
|
|
29
|
+
if (!this.control || !this.metadata) return true;
|
|
30
|
+
const input = this.control;
|
|
31
|
+
const val = input.getValue();
|
|
32
|
+
|
|
33
|
+
// StepInput generally defaults to 0 and isn't usually undefined unless unbound or erased
|
|
34
|
+
if (this.metadata.required && (val === null || val === undefined || Number.isNaN(val) || val === "")) {
|
|
35
|
+
input.setValueState("Error");
|
|
36
|
+
input.setValueStateText("This field is required.");
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
input.setValueState("None");
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
applyState() {
|
|
43
|
+
if (this.control && this.metadata) {
|
|
44
|
+
const input = this.control;
|
|
45
|
+
input.setEditable(!this.metadata.ui?.readOnly);
|
|
46
|
+
input.setRequired(this.metadata.required);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
var __exports = {
|
|
51
|
+
__esModule: true
|
|
52
|
+
};
|
|
53
|
+
__exports.NumberPlugin = NumberPlugin;
|
|
54
|
+
return __exports;
|
|
55
|
+
});
|
|
54
56
|
//# sourceMappingURL=NumberPlugin-dbg.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberPlugin-dbg.js","names":["BasePlugin","___BasePlugin","NumberPlugin","render","fieldMetadata","bindingPath","metadata","control","StepInput","value","displayValuePrecision","scale","editable","
|
|
1
|
+
{"version":3,"file":"NumberPlugin-dbg.js","names":["BasePlugin","___BasePlugin","NumberPlugin","render","fieldMetadata","bindingPath","modelName","metadata","control","StepInput","value","displayValuePrecision","scale","editable","ui","readOnly","required","change","oEvent","val","getParameter","publishChange","validate","input","getValue","undefined","Number","isNaN","setValueState","setValueStateText","applyState","setEditable","setRequired","__exports","__esModule"],"sources":["NumberPlugin.ts"],"sourcesContent":["/**\n * @file NumberPlugin.ts\n * @description Renders a sap.m.StepInput for numeric data.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../interfaces/ISchema\";\nimport StepInput from \"sap/m/StepInput\";\nimport Control from \"sap/ui/core/Control\";\n\n/**\n * Handles rendering and logic for numeric inputs.\n */\nexport class NumberPlugin extends BasePlugin {\n public render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName: string = \"meta\"): Control {\n this.metadata = fieldMetadata;\n\n this.control = new StepInput({\n value: `{${modelName}>${bindingPath}}`,\n displayValuePrecision: fieldMetadata.scale || 0,\n editable: !fieldMetadata.ui?.readOnly,\n required: fieldMetadata.required,\n change: (oEvent: any) => {\n const val = oEvent.getParameter(\"value\");\n this.publishChange(val);\n this.validate();\n }\n });\n\n return this.control;\n }\n\n public validate(): boolean {\n if (!this.control || !this.metadata) return true;\n const input = this.control as StepInput;\n const val = input.getValue();\n\n // StepInput generally defaults to 0 and isn't usually undefined unless unbound or erased\n if (this.metadata.required && (val === null || val === undefined || Number.isNaN(val) || val === \"\")) {\n input.setValueState(\"Error\" as any);\n input.setValueStateText(\"This field is required.\");\n return false;\n }\n\n input.setValueState(\"None\" as any);\n return true;\n }\n\n protected applyState(): void {\n if (this.control && this.metadata) {\n const input = this.control as StepInput;\n input.setEditable(!this.metadata.ui?.readOnly);\n input.setRequired(this.metadata.required);\n }\n }\n}\n"],"mappings":";;;EAAA;AACA;AACA;AACA;EAHA,MAKSA,UAAU,GAAAC,aAAA;EAKnB;AACA;AACA;EACO,MAAMC,YAAY,SAASF,UAAU,CAAC;IAClCG,MAAMA,CAACC,aAAgC,EAAEC,WAAmB,EAAEC,SAAiB,GAAG,MAAM,EAAW;MACtG,IAAI,CAACC,QAAQ,GAAGH,aAAa;MAE7B,IAAI,CAACI,OAAO,GAAG,IAAIC,SAAS,CAAC;QACzBC,KAAK,EAAE,IAAIJ,SAAS,IAAID,WAAW,GAAG;QACtCM,qBAAqB,EAAEP,aAAa,CAACQ,KAAK,IAAI,CAAC;QAC/CC,QAAQ,EAAE,CAACT,aAAa,CAACU,EAAE,EAAEC,QAAQ;QACrCC,QAAQ,EAAEZ,aAAa,CAACY,QAAQ;QAChCC,MAAM,EAAGC,MAAW,IAAK;UACrB,MAAMC,GAAG,GAAGD,MAAM,CAACE,YAAY,CAAC,OAAO,CAAC;UACxC,IAAI,CAACC,aAAa,CAACF,GAAG,CAAC;UACvB,IAAI,CAACG,QAAQ,CAAC,CAAC;QACnB;MACJ,CAAC,CAAC;MAEF,OAAO,IAAI,CAACd,OAAO;IACvB;IAEOc,QAAQA,CAAA,EAAY;MACvB,IAAI,CAAC,IAAI,CAACd,OAAO,IAAI,CAAC,IAAI,CAACD,QAAQ,EAAE,OAAO,IAAI;MAChD,MAAMgB,KAAK,GAAG,IAAI,CAACf,OAAoB;MACvC,MAAMW,GAAG,GAAGI,KAAK,CAACC,QAAQ,CAAC,CAAC;;MAE5B;MACA,IAAI,IAAI,CAACjB,QAAQ,CAACS,QAAQ,KAAKG,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAKM,SAAS,IAAIC,MAAM,CAACC,KAAK,CAACR,GAAG,CAAC,IAAIA,GAAG,KAAK,EAAE,CAAC,EAAE;QAClGI,KAAK,CAACK,aAAa,CAAC,OAAc,CAAC;QACnCL,KAAK,CAACM,iBAAiB,CAAC,yBAAyB,CAAC;QAClD,OAAO,KAAK;MAChB;MAEAN,KAAK,CAACK,aAAa,CAAC,MAAa,CAAC;MAClC,OAAO,IAAI;IACf;IAEUE,UAAUA,CAAA,EAAS;MACzB,IAAI,IAAI,CAACtB,OAAO,IAAI,IAAI,CAACD,QAAQ,EAAE;QAC/B,MAAMgB,KAAK,GAAG,IAAI,CAACf,OAAoB;QACvCe,KAAK,CAACQ,WAAW,CAAC,CAAC,IAAI,CAACxB,QAAQ,CAACO,EAAE,EAAEC,QAAQ,CAAC;QAC9CQ,KAAK,CAACS,WAAW,CAAC,IAAI,CAACzB,QAAQ,CAACS,QAAQ,CAAC;MAC7C;IACJ;EACJ;EAAC,IAAAiB,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAA/B,YAAA,GAAAA,YAAA;EAAA,OAAA+B,SAAA;AAAA","ignoreList":[]}
|
|
@@ -4,13 +4,13 @@ declare module "nz/co/siliconst/ui5/metaui/plugins/NumberPlugin" {
|
|
|
4
4
|
* @description Renders a sap.m.StepInput for numeric data.
|
|
5
5
|
*/
|
|
6
6
|
import { BasePlugin } from "nz/co/siliconst/ui5/metaui/plugins/BasePlugin";
|
|
7
|
-
import {
|
|
7
|
+
import { IPropertyMetadata } from "nz/co/siliconst/ui5/metaui/interfaces/ISchema";
|
|
8
8
|
import Control from "sap/ui/core/Control";
|
|
9
9
|
/**
|
|
10
|
-
* Handles rendering and logic for numeric inputs
|
|
10
|
+
* Handles rendering and logic for numeric inputs.
|
|
11
11
|
*/
|
|
12
12
|
export class NumberPlugin extends BasePlugin {
|
|
13
|
-
render(fieldMetadata:
|
|
13
|
+
render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName?: string): Control;
|
|
14
14
|
validate(): boolean;
|
|
15
15
|
protected applyState(): void;
|
|
16
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberPlugin.d.ts","sourceRoot":"
|
|
1
|
+
{"version":3,"file":"NumberPlugin.d.ts","sourceRoot":"../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/plugins/NumberPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,iDAAiD,CAAC;IACjE;;;OAGG;IAEH,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;IAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;IAElF,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAE1C;;OAEG;IACH,MAAa,YAAa,SAAQ,UAAU;QACjC,MAAM,CAAC,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,GAAE,MAAe,GAAG,OAAO;QAkBlG,QAAQ,IAAI,OAAO;QAgB1B,SAAS,CAAC,UAAU,IAAI,IAAI;KAO/B;CAEA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
sap.ui.define(["./BasePlugin","sap/m/StepInput"],function(e,t){"use strict";const a=e["BasePlugin"];class i extends a{render(e,a){this.metadata=e;this.control=new t({value:`{
|
|
1
|
+
sap.ui.define(["./BasePlugin","sap/m/StepInput"],function(e,t){"use strict";const a=e["BasePlugin"];class i extends a{render(e,a,i="meta"){this.metadata=e;this.control=new t({value:`{${i}>${a}}`,displayValuePrecision:e.scale||0,editable:!e.ui?.readOnly,required:e.required,change:e=>{const t=e.getParameter("value");this.publishChange(t);this.validate()}});return this.control}validate(){if(!this.control||!this.metadata)return true;const e=this.control;const t=e.getValue();if(this.metadata.required&&(t===null||t===undefined||Number.isNaN(t)||t==="")){e.setValueState("Error");e.setValueStateText("This field is required.");return false}e.setValueState("None");return true}applyState(){if(this.control&&this.metadata){const e=this.control;e.setEditable(!this.metadata.ui?.readOnly);e.setRequired(this.metadata.required)}}}var r={__esModule:true};r.NumberPlugin=i;return r});
|
|
2
2
|
//# sourceMappingURL=NumberPlugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberPlugin.js","names":["BasePlugin","___BasePlugin","NumberPlugin","render","fieldMetadata","bindingPath","this","metadata","control","StepInput","value","displayValuePrecision","scale","editable","
|
|
1
|
+
{"version":3,"file":"NumberPlugin.js","names":["BasePlugin","___BasePlugin","NumberPlugin","render","fieldMetadata","bindingPath","modelName","this","metadata","control","StepInput","value","displayValuePrecision","scale","editable","ui","readOnly","required","change","oEvent","val","getParameter","publishChange","validate","input","getValue","undefined","Number","isNaN","setValueState","setValueStateText","applyState","setEditable","setRequired","__exports","__esModule"],"sources":["NumberPlugin.ts"],"sourcesContent":["/**\n * @file NumberPlugin.ts\n * @description Renders a sap.m.StepInput for numeric data.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../interfaces/ISchema\";\nimport StepInput from \"sap/m/StepInput\";\nimport Control from \"sap/ui/core/Control\";\n\n/**\n * Handles rendering and logic for numeric inputs.\n */\nexport class NumberPlugin extends BasePlugin {\n public render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName: string = \"meta\"): Control {\n this.metadata = fieldMetadata;\n\n this.control = new StepInput({\n value: `{${modelName}>${bindingPath}}`,\n displayValuePrecision: fieldMetadata.scale || 0,\n editable: !fieldMetadata.ui?.readOnly,\n required: fieldMetadata.required,\n change: (oEvent: any) => {\n const val = oEvent.getParameter(\"value\");\n this.publishChange(val);\n this.validate();\n }\n });\n\n return this.control;\n }\n\n public validate(): boolean {\n if (!this.control || !this.metadata) return true;\n const input = this.control as StepInput;\n const val = input.getValue();\n\n // StepInput generally defaults to 0 and isn't usually undefined unless unbound or erased\n if (this.metadata.required && (val === null || val === undefined || Number.isNaN(val) || val === \"\")) {\n input.setValueState(\"Error\" as any);\n input.setValueStateText(\"This field is required.\");\n return false;\n }\n\n input.setValueState(\"None\" as any);\n return true;\n }\n\n protected applyState(): void {\n if (this.control && this.metadata) {\n const input = this.control as StepInput;\n input.setEditable(!this.metadata.ui?.readOnly);\n input.setRequired(this.metadata.required);\n }\n }\n}\n"],"mappings":"4EAAA,MAKSA,EAAUC,EAAA,cAQZ,MAAMC,UAAqBF,EACvBG,OAAOC,EAAkCC,EAAqBC,EAAoB,QACrFC,KAAKC,SAAWJ,EAEhBG,KAAKE,QAAU,IAAIC,EAAU,CACzBC,MAAO,IAAIL,KAAaD,KACxBO,sBAAuBR,EAAcS,OAAS,EAC9CC,UAAWV,EAAcW,IAAIC,SAC7BC,SAAUb,EAAca,SACxBC,OAASC,IACL,MAAMC,EAAMD,EAAOE,aAAa,SAChCd,KAAKe,cAAcF,GACnBb,KAAKgB,cAIb,OAAOhB,KAAKE,OAChB,CAEOc,WACH,IAAKhB,KAAKE,UAAYF,KAAKC,SAAU,OAAO,KAC5C,MAAMgB,EAAQjB,KAAKE,QACnB,MAAMW,EAAMI,EAAMC,WAGlB,GAAIlB,KAAKC,SAASS,WAAaG,IAAQ,MAAQA,IAAQM,WAAaC,OAAOC,MAAMR,IAAQA,IAAQ,IAAK,CAClGI,EAAMK,cAAc,SACpBL,EAAMM,kBAAkB,2BACxB,OAAO,KACX,CAEAN,EAAMK,cAAc,QACpB,OAAO,IACX,CAEUE,aACN,GAAIxB,KAAKE,SAAWF,KAAKC,SAAU,CAC/B,MAAMgB,EAAQjB,KAAKE,QACnBe,EAAMQ,aAAazB,KAAKC,SAASO,IAAIC,UACrCQ,EAAMS,YAAY1B,KAAKC,SAASS,SACpC,CACJ,EACH,IAAAiB,EAAA,CAAAC,WAAA,MAAAD,EAAAhC,eAAA,OAAAgC,CAAA","ignoreList":[]}
|
|
@@ -1,55 +1,56 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file NumberPlugin.ts
|
|
3
|
-
* @description Renders a sap.m.StepInput for numeric data.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import { BasePlugin } from "./BasePlugin";
|
|
7
|
-
import {
|
|
8
|
-
import StepInput from "sap/m/StepInput";
|
|
9
|
-
import Control from "sap/ui/core/Control";
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Handles rendering and logic for numeric inputs
|
|
13
|
-
*/
|
|
14
|
-
export class NumberPlugin extends BasePlugin {
|
|
15
|
-
public render(fieldMetadata:
|
|
16
|
-
this.metadata = fieldMetadata;
|
|
17
|
-
|
|
18
|
-
this.control = new StepInput({
|
|
19
|
-
value: `{
|
|
20
|
-
displayValuePrecision: fieldMetadata.scale || 0,
|
|
21
|
-
editable: !fieldMetadata.
|
|
22
|
-
required: fieldMetadata.
|
|
23
|
-
change: (oEvent: any) => {
|
|
24
|
-
const val = oEvent.getParameter("value");
|
|
25
|
-
this.publishChange(val);
|
|
26
|
-
this.validate();
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
return this.control;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
public validate(): boolean {
|
|
34
|
-
if (!this.control || !this.metadata) return true;
|
|
35
|
-
const input = this.control as StepInput;
|
|
36
|
-
const val = input.getValue();
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
input.
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
input
|
|
52
|
-
input.
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* @file NumberPlugin.ts
|
|
3
|
+
* @description Renders a sap.m.StepInput for numeric data.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { BasePlugin } from "./BasePlugin";
|
|
7
|
+
import { IPropertyMetadata } from "../interfaces/ISchema";
|
|
8
|
+
import StepInput from "sap/m/StepInput";
|
|
9
|
+
import Control from "sap/ui/core/Control";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Handles rendering and logic for numeric inputs.
|
|
13
|
+
*/
|
|
14
|
+
export class NumberPlugin extends BasePlugin {
|
|
15
|
+
public render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName: string = "meta"): Control {
|
|
16
|
+
this.metadata = fieldMetadata;
|
|
17
|
+
|
|
18
|
+
this.control = new StepInput({
|
|
19
|
+
value: `{${modelName}>${bindingPath}}`,
|
|
20
|
+
displayValuePrecision: fieldMetadata.scale || 0,
|
|
21
|
+
editable: !fieldMetadata.ui?.readOnly,
|
|
22
|
+
required: fieldMetadata.required,
|
|
23
|
+
change: (oEvent: any) => {
|
|
24
|
+
const val = oEvent.getParameter("value");
|
|
25
|
+
this.publishChange(val);
|
|
26
|
+
this.validate();
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
return this.control;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
public validate(): boolean {
|
|
34
|
+
if (!this.control || !this.metadata) return true;
|
|
35
|
+
const input = this.control as StepInput;
|
|
36
|
+
const val = input.getValue();
|
|
37
|
+
|
|
38
|
+
// StepInput generally defaults to 0 and isn't usually undefined unless unbound or erased
|
|
39
|
+
if (this.metadata.required && (val === null || val === undefined || Number.isNaN(val) || val === "")) {
|
|
40
|
+
input.setValueState("Error" as any);
|
|
41
|
+
input.setValueStateText("This field is required.");
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
input.setValueState("None" as any);
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
protected applyState(): void {
|
|
50
|
+
if (this.control && this.metadata) {
|
|
51
|
+
const input = this.control as StepInput;
|
|
52
|
+
input.setEditable(!this.metadata.ui?.readOnly);
|
|
53
|
+
input.setRequired(this.metadata.required);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -1,54 +1,57 @@
|
|
|
1
|
-
sap.ui.define(["./BasePlugin", "sap/m/Input"], function (___BasePlugin, Input) {
|
|
2
|
-
"use strict";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* @file StringPlugin.ts
|
|
6
|
-
* @description Renders a sap.m.Input for string data and validates lengths.
|
|
7
|
-
*/
|
|
8
|
-
const BasePlugin = ___BasePlugin["BasePlugin"];
|
|
9
|
-
/**
|
|
10
|
-
* Handles rendering and logic for basic text inputs.
|
|
11
|
-
*/
|
|
12
|
-
class StringPlugin extends BasePlugin {
|
|
13
|
-
render(fieldMetadata, bindingPath) {
|
|
14
|
-
this.metadata = fieldMetadata;
|
|
15
|
-
this.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
if (this.
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
__exports
|
|
52
|
-
|
|
53
|
-
}
|
|
1
|
+
sap.ui.define(["./BasePlugin", "sap/m/Input"], function (___BasePlugin, Input) {
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @file StringPlugin.ts
|
|
6
|
+
* @description Renders a sap.m.Input for string data and validates lengths.
|
|
7
|
+
*/
|
|
8
|
+
const BasePlugin = ___BasePlugin["BasePlugin"];
|
|
9
|
+
/**
|
|
10
|
+
* Handles rendering and logic for basic text inputs.
|
|
11
|
+
*/
|
|
12
|
+
class StringPlugin extends BasePlugin {
|
|
13
|
+
render(fieldMetadata, bindingPath, modelName = "meta") {
|
|
14
|
+
this.metadata = fieldMetadata;
|
|
15
|
+
this.fieldKey = bindingPath.replace("/", ""); // For EventBus
|
|
16
|
+
|
|
17
|
+
this.control = new Input({
|
|
18
|
+
value: `{${modelName}>${bindingPath}}`,
|
|
19
|
+
maxLength: fieldMetadata.maxLength || 0,
|
|
20
|
+
required: !!fieldMetadata.required,
|
|
21
|
+
showValueHelp: fieldMetadata.ui?.widget === "searchHelp",
|
|
22
|
+
change: oEvent => {
|
|
23
|
+
const val = oEvent.getParameter("value");
|
|
24
|
+
this.publishChange(val);
|
|
25
|
+
this.validate();
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
this.applyCommonDirectives(this.control, fieldMetadata, modelName);
|
|
29
|
+
return this.control;
|
|
30
|
+
}
|
|
31
|
+
validate() {
|
|
32
|
+
if (!this.control || !this.metadata) return true;
|
|
33
|
+
const input = this.control;
|
|
34
|
+
const val = input.getValue();
|
|
35
|
+
if (this.metadata.required && (!val || typeof val !== 'string' || val.trim() === "")) {
|
|
36
|
+
input.setValueState("Error");
|
|
37
|
+
input.setValueStateText("This field is required.");
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
input.setValueState("None");
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
applyState() {
|
|
44
|
+
if (this.control && this.metadata) {
|
|
45
|
+
const input = this.control;
|
|
46
|
+
input.setEditable(!this.metadata.ui?.readOnly);
|
|
47
|
+
input.setRequired(this.metadata.required);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
var __exports = {
|
|
52
|
+
__esModule: true
|
|
53
|
+
};
|
|
54
|
+
__exports.StringPlugin = StringPlugin;
|
|
55
|
+
return __exports;
|
|
56
|
+
});
|
|
54
57
|
//# sourceMappingURL=StringPlugin-dbg.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StringPlugin-dbg.js","names":["BasePlugin","___BasePlugin","StringPlugin","render","fieldMetadata","bindingPath","metadata","control","Input","value","maxLength","
|
|
1
|
+
{"version":3,"file":"StringPlugin-dbg.js","names":["BasePlugin","___BasePlugin","StringPlugin","render","fieldMetadata","bindingPath","modelName","metadata","fieldKey","replace","control","Input","value","maxLength","required","showValueHelp","ui","widget","change","oEvent","val","getParameter","publishChange","validate","applyCommonDirectives","input","getValue","trim","setValueState","setValueStateText","applyState","setEditable","readOnly","setRequired","__exports","__esModule"],"sources":["StringPlugin.ts"],"sourcesContent":["/**\n * @file StringPlugin.ts\n * @description Renders a sap.m.Input for string data and validates lengths.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../interfaces/ISchema\";\nimport Input from \"sap/m/Input\";\nimport Control from \"sap/ui/core/Control\";\n\n/**\n * Handles rendering and logic for basic text inputs.\n */\nexport class StringPlugin extends BasePlugin {\n public render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName: string = \"meta\"): Control {\n this.metadata = fieldMetadata;\n this.fieldKey = bindingPath.replace(\"/\", \"\"); // For EventBus\n \n this.control = new Input({\n value: `{${modelName}>${bindingPath}}`,\n maxLength: fieldMetadata.maxLength || 0,\n required: !!fieldMetadata.required,\n showValueHelp: fieldMetadata.ui?.widget === \"searchHelp\",\n change: (oEvent: any) => {\n const val = oEvent.getParameter(\"value\");\n this.publishChange(val);\n this.validate();\n }\n });\n\n this.applyCommonDirectives(this.control, fieldMetadata, modelName);\n\n return this.control;\n }\n\n public validate(): boolean {\n if (!this.control || !this.metadata) return true;\n const input = this.control as Input;\n const val = input.getValue();\n\n if (this.metadata.required && (!val || typeof val !== 'string' || val.trim() === \"\")) {\n input.setValueState(\"Error\" as any);\n input.setValueStateText(\"This field is required.\");\n return false;\n }\n\n input.setValueState(\"None\" as any);\n return true;\n }\n\n protected applyState(): void {\n if (this.control && this.metadata) {\n const input = this.control as Input;\n input.setEditable(!this.metadata.ui?.readOnly);\n input.setRequired(this.metadata.required);\n }\n }\n}\n"],"mappings":";;;EAAA;AACA;AACA;AACA;EAHA,MAKSA,UAAU,GAAAC,aAAA;EAKnB;AACA;AACA;EACO,MAAMC,YAAY,SAASF,UAAU,CAAC;IAClCG,MAAMA,CAACC,aAAgC,EAAEC,WAAmB,EAAEC,SAAiB,GAAG,MAAM,EAAW;MACtG,IAAI,CAACC,QAAQ,GAAGH,aAAa;MAC7B,IAAI,CAACI,QAAQ,GAAGH,WAAW,CAACI,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;;MAE9C,IAAI,CAACC,OAAO,GAAG,IAAIC,KAAK,CAAC;QACrBC,KAAK,EAAE,IAAIN,SAAS,IAAID,WAAW,GAAG;QACtCQ,SAAS,EAAET,aAAa,CAACS,SAAS,IAAI,CAAC;QACvCC,QAAQ,EAAE,CAAC,CAACV,aAAa,CAACU,QAAQ;QAClCC,aAAa,EAAEX,aAAa,CAACY,EAAE,EAAEC,MAAM,KAAK,YAAY;QACxDC,MAAM,EAAGC,MAAW,IAAK;UACrB,MAAMC,GAAG,GAAGD,MAAM,CAACE,YAAY,CAAC,OAAO,CAAC;UACxC,IAAI,CAACC,aAAa,CAACF,GAAG,CAAC;UACvB,IAAI,CAACG,QAAQ,CAAC,CAAC;QACnB;MACJ,CAAC,CAAC;MAEF,IAAI,CAACC,qBAAqB,CAAC,IAAI,CAACd,OAAO,EAAEN,aAAa,EAAEE,SAAS,CAAC;MAElE,OAAO,IAAI,CAACI,OAAO;IACvB;IAEOa,QAAQA,CAAA,EAAY;MACvB,IAAI,CAAC,IAAI,CAACb,OAAO,IAAI,CAAC,IAAI,CAACH,QAAQ,EAAE,OAAO,IAAI;MAChD,MAAMkB,KAAK,GAAG,IAAI,CAACf,OAAgB;MACnC,MAAMU,GAAG,GAAGK,KAAK,CAACC,QAAQ,CAAC,CAAC;MAE5B,IAAI,IAAI,CAACnB,QAAQ,CAACO,QAAQ,KAAK,CAACM,GAAG,IAAI,OAAOA,GAAG,KAAK,QAAQ,IAAIA,GAAG,CAACO,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE;QAClFF,KAAK,CAACG,aAAa,CAAC,OAAc,CAAC;QACnCH,KAAK,CAACI,iBAAiB,CAAC,yBAAyB,CAAC;QAClD,OAAO,KAAK;MAChB;MAEAJ,KAAK,CAACG,aAAa,CAAC,MAAa,CAAC;MAClC,OAAO,IAAI;IACf;IAEUE,UAAUA,CAAA,EAAS;MACzB,IAAI,IAAI,CAACpB,OAAO,IAAI,IAAI,CAACH,QAAQ,EAAE;QAC/B,MAAMkB,KAAK,GAAG,IAAI,CAACf,OAAgB;QACnCe,KAAK,CAACM,WAAW,CAAC,CAAC,IAAI,CAACxB,QAAQ,CAACS,EAAE,EAAEgB,QAAQ,CAAC;QAC9CP,KAAK,CAACQ,WAAW,CAAC,IAAI,CAAC1B,QAAQ,CAACO,QAAQ,CAAC;MAC7C;IACJ;EACJ;EAAC,IAAAoB,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAhC,YAAA,GAAAA,YAAA;EAAA,OAAAgC,SAAA;AAAA","ignoreList":[]}
|
|
@@ -4,13 +4,13 @@ declare module "nz/co/siliconst/ui5/metaui/plugins/StringPlugin" {
|
|
|
4
4
|
* @description Renders a sap.m.Input for string data and validates lengths.
|
|
5
5
|
*/
|
|
6
6
|
import { BasePlugin } from "nz/co/siliconst/ui5/metaui/plugins/BasePlugin";
|
|
7
|
-
import {
|
|
7
|
+
import { IPropertyMetadata } from "nz/co/siliconst/ui5/metaui/interfaces/ISchema";
|
|
8
8
|
import Control from "sap/ui/core/Control";
|
|
9
9
|
/**
|
|
10
10
|
* Handles rendering and logic for basic text inputs.
|
|
11
11
|
*/
|
|
12
12
|
export class StringPlugin extends BasePlugin {
|
|
13
|
-
render(fieldMetadata:
|
|
13
|
+
render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName?: string): Control;
|
|
14
14
|
validate(): boolean;
|
|
15
15
|
protected applyState(): void;
|
|
16
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StringPlugin.d.ts","sourceRoot":"
|
|
1
|
+
{"version":3,"file":"StringPlugin.d.ts","sourceRoot":"../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/plugins/StringPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,iDAAiD,CAAC;IACjE;;;OAGG;IAEH,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;IAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;IAElF,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAE1C;;OAEG;IACH,MAAa,YAAa,SAAQ,UAAU;QACjC,MAAM,CAAC,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,GAAE,MAAe,GAAG,OAAO;QAqBlG,QAAQ,IAAI,OAAO;QAe1B,SAAS,CAAC,UAAU,IAAI,IAAI;KAO/B;CAEA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
sap.ui.define(["./BasePlugin","sap/m/Input"],function(t,e){"use strict";const a=t["BasePlugin"];class i extends a{render(t,a){this.metadata=t;this.control=new e({value:`{
|
|
1
|
+
sap.ui.define(["./BasePlugin","sap/m/Input"],function(t,e){"use strict";const a=t["BasePlugin"];class i extends a{render(t,a,i="meta"){this.metadata=t;this.fieldKey=a.replace("/","");this.control=new e({value:`{${i}>${a}}`,maxLength:t.maxLength||0,required:!!t.required,showValueHelp:t.ui?.widget==="searchHelp",change:t=>{const e=t.getParameter("value");this.publishChange(e);this.validate()}});this.applyCommonDirectives(this.control,t,i);return this.control}validate(){if(!this.control||!this.metadata)return true;const t=this.control;const e=t.getValue();if(this.metadata.required&&(!e||typeof e!=="string"||e.trim()==="")){t.setValueState("Error");t.setValueStateText("This field is required.");return false}t.setValueState("None");return true}applyState(){if(this.control&&this.metadata){const t=this.control;t.setEditable(!this.metadata.ui?.readOnly);t.setRequired(this.metadata.required)}}}var r={__esModule:true};r.StringPlugin=i;return r});
|
|
2
2
|
//# sourceMappingURL=StringPlugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StringPlugin.js","names":["BasePlugin","___BasePlugin","StringPlugin","render","fieldMetadata","bindingPath","this","metadata","control","Input","value","maxLength","
|
|
1
|
+
{"version":3,"file":"StringPlugin.js","names":["BasePlugin","___BasePlugin","StringPlugin","render","fieldMetadata","bindingPath","modelName","this","metadata","fieldKey","replace","control","Input","value","maxLength","required","showValueHelp","ui","widget","change","oEvent","val","getParameter","publishChange","validate","applyCommonDirectives","input","getValue","trim","setValueState","setValueStateText","applyState","setEditable","readOnly","setRequired","__exports","__esModule"],"sources":["StringPlugin.ts"],"sourcesContent":["/**\n * @file StringPlugin.ts\n * @description Renders a sap.m.Input for string data and validates lengths.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../interfaces/ISchema\";\nimport Input from \"sap/m/Input\";\nimport Control from \"sap/ui/core/Control\";\n\n/**\n * Handles rendering and logic for basic text inputs.\n */\nexport class StringPlugin extends BasePlugin {\n public render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName: string = \"meta\"): Control {\n this.metadata = fieldMetadata;\n this.fieldKey = bindingPath.replace(\"/\", \"\"); // For EventBus\n \n this.control = new Input({\n value: `{${modelName}>${bindingPath}}`,\n maxLength: fieldMetadata.maxLength || 0,\n required: !!fieldMetadata.required,\n showValueHelp: fieldMetadata.ui?.widget === \"searchHelp\",\n change: (oEvent: any) => {\n const val = oEvent.getParameter(\"value\");\n this.publishChange(val);\n this.validate();\n }\n });\n\n this.applyCommonDirectives(this.control, fieldMetadata, modelName);\n\n return this.control;\n }\n\n public validate(): boolean {\n if (!this.control || !this.metadata) return true;\n const input = this.control as Input;\n const val = input.getValue();\n\n if (this.metadata.required && (!val || typeof val !== 'string' || val.trim() === \"\")) {\n input.setValueState(\"Error\" as any);\n input.setValueStateText(\"This field is required.\");\n return false;\n }\n\n input.setValueState(\"None\" as any);\n return true;\n }\n\n protected applyState(): void {\n if (this.control && this.metadata) {\n const input = this.control as Input;\n input.setEditable(!this.metadata.ui?.readOnly);\n input.setRequired(this.metadata.required);\n }\n }\n}\n"],"mappings":"wEAAA,MAKSA,EAAUC,EAAA,cAQZ,MAAMC,UAAqBF,EACvBG,OAAOC,EAAkCC,EAAqBC,EAAoB,QACrFC,KAAKC,SAAWJ,EAChBG,KAAKE,SAAWJ,EAAYK,QAAQ,IAAK,IAEzCH,KAAKI,QAAU,IAAIC,EAAM,CACrBC,MAAO,IAAIP,KAAaD,KACxBS,UAAWV,EAAcU,WAAa,EACtCC,WAAYX,EAAcW,SAC1BC,cAAeZ,EAAca,IAAIC,SAAW,aAC5CC,OAASC,IACL,MAAMC,EAAMD,EAAOE,aAAa,SAChCf,KAAKgB,cAAcF,GACnBd,KAAKiB,cAIbjB,KAAKkB,sBAAsBlB,KAAKI,QAASP,EAAeE,GAExD,OAAOC,KAAKI,OAChB,CAEOa,WACH,IAAKjB,KAAKI,UAAYJ,KAAKC,SAAU,OAAO,KAC5C,MAAMkB,EAAQnB,KAAKI,QACnB,MAAMU,EAAMK,EAAMC,WAElB,GAAIpB,KAAKC,SAASO,YAAcM,UAAcA,IAAQ,UAAYA,EAAIO,SAAW,IAAK,CAClFF,EAAMG,cAAc,SACpBH,EAAMI,kBAAkB,2BACxB,OAAO,KACX,CAEAJ,EAAMG,cAAc,QACpB,OAAO,IACX,CAEUE,aACN,GAAIxB,KAAKI,SAAWJ,KAAKC,SAAU,CAC/B,MAAMkB,EAAQnB,KAAKI,QACnBe,EAAMM,aAAazB,KAAKC,SAASS,IAAIgB,UACrCP,EAAMQ,YAAY3B,KAAKC,SAASO,SACpC,CACJ,EACH,IAAAoB,EAAA,CAAAC,WAAA,MAAAD,EAAAjC,eAAA,OAAAiC,CAAA","ignoreList":[]}
|
|
@@ -1,55 +1,58 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file StringPlugin.ts
|
|
3
|
-
* @description Renders a sap.m.Input for string data and validates lengths.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import { BasePlugin } from "./BasePlugin";
|
|
7
|
-
import {
|
|
8
|
-
import Input from "sap/m/Input";
|
|
9
|
-
import Control from "sap/ui/core/Control";
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Handles rendering and logic for basic text inputs.
|
|
13
|
-
*/
|
|
14
|
-
export class StringPlugin extends BasePlugin {
|
|
15
|
-
public render(fieldMetadata:
|
|
16
|
-
this.metadata = fieldMetadata;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
required: fieldMetadata.
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
this.
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @file StringPlugin.ts
|
|
3
|
+
* @description Renders a sap.m.Input for string data and validates lengths.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { BasePlugin } from "./BasePlugin";
|
|
7
|
+
import { IPropertyMetadata } from "../interfaces/ISchema";
|
|
8
|
+
import Input from "sap/m/Input";
|
|
9
|
+
import Control from "sap/ui/core/Control";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Handles rendering and logic for basic text inputs.
|
|
13
|
+
*/
|
|
14
|
+
export class StringPlugin extends BasePlugin {
|
|
15
|
+
public render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName: string = "meta"): Control {
|
|
16
|
+
this.metadata = fieldMetadata;
|
|
17
|
+
this.fieldKey = bindingPath.replace("/", ""); // For EventBus
|
|
18
|
+
|
|
19
|
+
this.control = new Input({
|
|
20
|
+
value: `{${modelName}>${bindingPath}}`,
|
|
21
|
+
maxLength: fieldMetadata.maxLength || 0,
|
|
22
|
+
required: !!fieldMetadata.required,
|
|
23
|
+
showValueHelp: fieldMetadata.ui?.widget === "searchHelp",
|
|
24
|
+
change: (oEvent: any) => {
|
|
25
|
+
const val = oEvent.getParameter("value");
|
|
26
|
+
this.publishChange(val);
|
|
27
|
+
this.validate();
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
this.applyCommonDirectives(this.control, fieldMetadata, modelName);
|
|
32
|
+
|
|
33
|
+
return this.control;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
public validate(): boolean {
|
|
37
|
+
if (!this.control || !this.metadata) return true;
|
|
38
|
+
const input = this.control as Input;
|
|
39
|
+
const val = input.getValue();
|
|
40
|
+
|
|
41
|
+
if (this.metadata.required && (!val || typeof val !== 'string' || val.trim() === "")) {
|
|
42
|
+
input.setValueState("Error" as any);
|
|
43
|
+
input.setValueStateText("This field is required.");
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
input.setValueState("None" as any);
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
protected applyState(): void {
|
|
52
|
+
if (this.control && this.metadata) {
|
|
53
|
+
const input = this.control as Input;
|
|
54
|
+
input.setEditable(!this.metadata.ui?.readOnly);
|
|
55
|
+
input.setRequired(this.metadata.required);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|