@siliconst/metaui 1.4.37 → 1.4.44
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/package.json +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine-dbg.js +15 -96
- package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.d.ts +1 -6
- package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.ts +20 -100
- 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 +2 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.ts +2 -1
- package/src/nz/co/siliconst/ui5/metaui/library-preload.js +2 -2
- package/src/nz/co/siliconst/ui5/metaui/library-preload.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin-dbg.js +11 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.ts +10 -1
|
@@ -32,10 +32,20 @@ sap.ui.define(["./BasePlugin", "sap/m/StepInput", "sap/m/Text"], function (___Ba
|
|
|
32
32
|
this.applyCommonDirectives(this.control, fieldMetadata, modelName);
|
|
33
33
|
return this.control;
|
|
34
34
|
}
|
|
35
|
+
let precision = fieldMetadata.scale;
|
|
36
|
+
if (precision === undefined && fieldMetadata.multipleOf !== undefined) {
|
|
37
|
+
const stepStr = fieldMetadata.multipleOf.toString();
|
|
38
|
+
precision = stepStr.includes('.') ? stepStr.split('.')[1].length : 0;
|
|
39
|
+
} else if (precision === undefined && fieldMetadata.type === "integer") {
|
|
40
|
+
precision = 0;
|
|
41
|
+
}
|
|
35
42
|
this.control = new StepInput({
|
|
36
43
|
id: this.generateStableId(engineScopeId, bindingPath),
|
|
37
44
|
value: this.generateBindingInfo(bindingPath, modelName),
|
|
38
|
-
|
|
45
|
+
step: fieldMetadata.multipleOf !== undefined ? fieldMetadata.multipleOf : 1,
|
|
46
|
+
...(precision !== undefined && {
|
|
47
|
+
displayValuePrecision: precision
|
|
48
|
+
}),
|
|
39
49
|
editable: !fieldMetadata.ui?.readOnly,
|
|
40
50
|
required: !!fieldMetadata.required,
|
|
41
51
|
change: oEvent => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepInputPlugin-dbg.js","names":["BasePlugin","___BasePlugin","StepInputPlugin","render","fieldMetadata","bindingPath","modelName","engineScopeId","onChange","metadata","fieldKey","startsWith","substring","isEditable","control","TextControl","id","generateStableId","text","generateBindingInfo","applyCommonDirectives","
|
|
1
|
+
{"version":3,"file":"StepInputPlugin-dbg.js","names":["BasePlugin","___BasePlugin","StepInputPlugin","render","fieldMetadata","bindingPath","modelName","engineScopeId","onChange","metadata","fieldKey","startsWith","substring","isEditable","control","TextControl","id","generateStableId","text","generateBindingInfo","applyCommonDirectives","precision","scale","undefined","multipleOf","stepStr","toString","includes","split","length","type","StepInput","value","step","displayValuePrecision","editable","ui","readOnly","required","change","oEvent","val","getParameter","result","validate","isValid","errorMessage","getValue","getProperty","applyState","input","setEditable","setRequired","__exports","__esModule"],"sources":["StepInputPlugin.ts"],"sourcesContent":["/**\n * @file StepInputPlugin.ts\n * @description Renders a sap.m.StepInput for numeric data requiring step increments.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport StepInput from \"sap/m/StepInput\";\nimport Control from \"sap/ui/core/Control\";\nimport TextControl from \"sap/m/Text\";\n\n/**\n * Handles rendering and logic for step-based numeric inputs.\n */\nexport class StepInputPlugin extends BasePlugin {\n /**\n * Renders a `sap.m.StepInput` component for numeric evaluation.\n * \n * @param fieldMetadata The specific JSON schema properties for this field.\n * @param bindingPath The JSON path bound to this control.\n * @param modelName The UI5 JSONModel name.\n * @param engineScopeId The deterministic scope ID.\n * @param onChange The callback fired on value change.\n * @returns {Control} The configured StepInput control.\n */\n public render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName: string = \"meta\", engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string, errorMessage?: string, controlId?: string) => void): Control {\n this.onChange = onChange;\n this.metadata = fieldMetadata;\n this.fieldKey = bindingPath.startsWith('/') ? bindingPath.substring(1) : bindingPath;\n\n if (!this.isEditable) {\n \n this.control = new TextControl({\n id: this.generateStableId(engineScopeId, bindingPath),\n text: this.generateBindingInfo(bindingPath, modelName)\n });\n this.applyCommonDirectives(this.control, fieldMetadata, modelName);\n return this.control as Control;\n }\n\n let precision: number | undefined = fieldMetadata.scale;\n if (precision === undefined && fieldMetadata.multipleOf !== undefined) {\n const stepStr = fieldMetadata.multipleOf.toString();\n precision = stepStr.includes('.') ? stepStr.split('.')[1].length : 0;\n } else if (precision === undefined && fieldMetadata.type === \"integer\") {\n precision = 0;\n }\n\n this.control = new StepInput({\n id: this.generateStableId(engineScopeId, bindingPath),\n value: this.generateBindingInfo(bindingPath, modelName),\n step: fieldMetadata.multipleOf !== undefined ? fieldMetadata.multipleOf : 1,\n ...(precision !== undefined && { displayValuePrecision: precision }),\n editable: !fieldMetadata.ui?.readOnly,\n required: !!fieldMetadata.required,\n change: (oEvent: sap.ui.base.Event) => {\n const val = (oEvent.getParameter(\"value\") as unknown) as number;\n const result = this.validate();\n if (this.onChange) {\n this.onChange(result.isValid, this.fieldKey, result.errorMessage);\n }\n }\n });\n\n this.applyCommonDirectives(this.control, fieldMetadata, modelName);\n\n return this.control as Control;\n }\n\n /**\n * Retrieves the current numeric state.\n * @returns {unknown} The numeric value.\n */\n protected getValue(): unknown {\n return this.control ? (this.control as StepInput).getProperty('value') : null;\n }\n\n /**\n * Applies dynamic read-only state.\n */\n protected applyState(): void {\n if (this.control && this.metadata) {\n if (!this.isEditable) return;\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;EAMnB;AACA;AACA;EACO,MAAMC,eAAe,SAASF,UAAU,CAAC;IAC5C;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACWG,MAAMA,CAACC,aAAgC,EAAGC,WAAmB,EAAGC,SAAiB,GAAG,MAAM,EAAEC,aAAsB,EAAEC,QAAmG,EAAW;MACrO,IAAI,CAACA,QAAQ,GAAGA,QAAQ;MACxB,IAAI,CAACC,QAAQ,GAAGL,aAAa;MAC7B,IAAI,CAACM,QAAQ,GAAGL,WAAW,CAACM,UAAU,CAAC,GAAG,CAAC,GAAGN,WAAW,CAACO,SAAS,CAAC,CAAC,CAAC,GAAGP,WAAW;MAEpF,IAAI,CAAC,IAAI,CAACQ,UAAU,EAAE;QAElB,IAAI,CAACC,OAAO,GAAG,IAAIC,WAAW,CAAC;UAC3BC,EAAE,EAAE,IAAI,CAACC,gBAAgB,CAACV,aAAa,EAAEF,WAAW,CAAC;UACrDa,IAAI,EAAE,IAAI,CAACC,mBAAmB,CAACd,WAAW,EAAEC,SAAS;QACzD,CAAC,CAAC;QACF,IAAI,CAACc,qBAAqB,CAAC,IAAI,CAACN,OAAO,EAAEV,aAAa,EAAEE,SAAS,CAAC;QAClE,OAAO,IAAI,CAACQ,OAAO;MACvB;MAEA,IAAIO,SAA6B,GAAGjB,aAAa,CAACkB,KAAK;MACvD,IAAID,SAAS,KAAKE,SAAS,IAAInB,aAAa,CAACoB,UAAU,KAAKD,SAAS,EAAE;QACnE,MAAME,OAAO,GAAGrB,aAAa,CAACoB,UAAU,CAACE,QAAQ,CAAC,CAAC;QACnDL,SAAS,GAAGI,OAAO,CAACE,QAAQ,CAAC,GAAG,CAAC,GAAGF,OAAO,CAACG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAACC,MAAM,GAAG,CAAC;MACxE,CAAC,MAAM,IAAIR,SAAS,KAAKE,SAAS,IAAInB,aAAa,CAAC0B,IAAI,KAAK,SAAS,EAAE;QACpET,SAAS,GAAG,CAAC;MACjB;MAEA,IAAI,CAACP,OAAO,GAAG,IAAIiB,SAAS,CAAC;QACzBf,EAAE,EAAE,IAAI,CAACC,gBAAgB,CAACV,aAAa,EAAEF,WAAW,CAAC;QACrD2B,KAAK,EAAE,IAAI,CAACb,mBAAmB,CAACd,WAAW,EAAEC,SAAS,CAAC;QACvD2B,IAAI,EAAE7B,aAAa,CAACoB,UAAU,KAAKD,SAAS,GAAGnB,aAAa,CAACoB,UAAU,GAAG,CAAC;QAC3E,IAAIH,SAAS,KAAKE,SAAS,IAAI;UAAEW,qBAAqB,EAAEb;QAAU,CAAC,CAAC;QACpEc,QAAQ,EAAE,CAAC/B,aAAa,CAACgC,EAAE,EAAEC,QAAQ;QACrCC,QAAQ,EAAE,CAAC,CAAClC,aAAa,CAACkC,QAAQ;QAClCC,MAAM,EAAGC,MAAyB,IAAK;UACnC,MAAMC,GAAG,GAAID,MAAM,CAACE,YAAY,CAAC,OAAO,CAAuB;UAC/D,MAAMC,MAAM,GAAG,IAAI,CAACC,QAAQ,CAAC,CAAC;UAC9B,IAAI,IAAI,CAACpC,QAAQ,EAAE;YACf,IAAI,CAACA,QAAQ,CAACmC,MAAM,CAACE,OAAO,EAAE,IAAI,CAACnC,QAAQ,EAAEiC,MAAM,CAACG,YAAY,CAAC;UACrE;QACJ;MACJ,CAAC,CAAC;MAEF,IAAI,CAAC1B,qBAAqB,CAAC,IAAI,CAACN,OAAO,EAAEV,aAAa,EAAEE,SAAS,CAAC;MAElE,OAAO,IAAI,CAACQ,OAAO;IACvB;;IAEA;AACJ;AACA;AACA;IACciC,QAAQA,CAAA,EAAY;MAC1B,OAAO,IAAI,CAACjC,OAAO,GAAI,IAAI,CAACA,OAAO,CAAekC,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI;IACjF;;IAEA;AACJ;AACA;IACcC,UAAUA,CAAA,EAAS;MACzB,IAAI,IAAI,CAACnC,OAAO,IAAI,IAAI,CAACL,QAAQ,EAAE;QAC/B,IAAI,CAAC,IAAI,CAACI,UAAU,EAAE;QACtB,MAAMqC,KAAK,GAAG,IAAI,CAACpC,OAAoB;QACvCoC,KAAK,CAACC,WAAW,CAAC,CAAC,IAAI,CAAC1C,QAAQ,CAAC2B,EAAE,EAAEC,QAAQ,CAAC;QAC9Ca,KAAK,CAACE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC3C,QAAQ,CAAC6B,QAAQ,CAAC;MAC/C;IACJ;EACJ;EAAC,IAAAe,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAnD,eAAA,GAAAA,eAAA;EAAA,OAAAmD,SAAA;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepInputPlugin.d.ts","sourceRoot":"../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,6DAA6D,CAAC;IAC7E;;;OAGG;IAEH,OAAO,EAAE,UAAU,EAAE,MAAM,wDAAwD,CAAC;IACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;IAElF,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAG1C;;OAEG;IACH,MAAa,eAAgB,SAAQ,UAAU;QAC3C;;;;;;;;;WASG;QACI,MAAM,CAAC,aAAa,EAAE,iBAAiB,EAAG,WAAW,EAAE,MAAM,EAAG,SAAS,GAAE,MAAe,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"StepInputPlugin.d.ts","sourceRoot":"../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,6DAA6D,CAAC;IAC7E;;;OAGG;IAEH,OAAO,EAAE,UAAU,EAAE,MAAM,wDAAwD,CAAC;IACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;IAElF,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAG1C;;OAEG;IACH,MAAa,eAAgB,SAAQ,UAAU;QAC3C;;;;;;;;;WASG;QACI,MAAM,CAAC,aAAa,EAAE,iBAAiB,EAAG,WAAW,EAAE,MAAM,EAAG,SAAS,GAAE,MAAe,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO;QA4CxO;;;WAGG;QACH,SAAS,CAAC,QAAQ,IAAI,OAAO;QAI7B;;WAEG;QACH,SAAS,CAAC,UAAU,IAAI,IAAI;KAQ/B;CAEA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
sap.ui.define(["./BasePlugin","sap/m/StepInput","sap/m/Text"],function(t,
|
|
1
|
+
sap.ui.define(["./BasePlugin","sap/m/StepInput","sap/m/Text"],function(e,t,i){"use strict";const n=e["BasePlugin"];class s extends n{render(e,n,s="meta",a,l){this.onChange=l;this.metadata=e;this.fieldKey=n.startsWith("/")?n.substring(1):n;if(!this.isEditable){this.control=new i({id:this.generateStableId(a,n),text:this.generateBindingInfo(n,s)});this.applyCommonDirectives(this.control,e,s);return this.control}let r=e.scale;if(r===undefined&&e.multipleOf!==undefined){const t=e.multipleOf.toString();r=t.includes(".")?t.split(".")[1].length:0}else if(r===undefined&&e.type==="integer"){r=0}this.control=new t({id:this.generateStableId(a,n),value:this.generateBindingInfo(n,s),step:e.multipleOf!==undefined?e.multipleOf:1,...r!==undefined&&{displayValuePrecision:r},editable:!e.ui?.readOnly,required:!!e.required,change:e=>{const t=e.getParameter("value");const i=this.validate();if(this.onChange){this.onChange(i.isValid,this.fieldKey,i.errorMessage)}}});this.applyCommonDirectives(this.control,e,s);return this.control}getValue(){return this.control?this.control.getProperty("value"):null}applyState(){if(this.control&&this.metadata){if(!this.isEditable)return;const e=this.control;e.setEditable(!this.metadata.ui?.readOnly);e.setRequired(!!this.metadata.required)}}}var a={__esModule:true};a.StepInputPlugin=s;return a});
|
|
2
2
|
//# sourceMappingURL=StepInputPlugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepInputPlugin.js","names":["BasePlugin","___BasePlugin","StepInputPlugin","render","fieldMetadata","bindingPath","modelName","engineScopeId","onChange","this","metadata","fieldKey","startsWith","substring","isEditable","control","TextControl","id","generateStableId","text","generateBindingInfo","applyCommonDirectives","
|
|
1
|
+
{"version":3,"file":"StepInputPlugin.js","names":["BasePlugin","___BasePlugin","StepInputPlugin","render","fieldMetadata","bindingPath","modelName","engineScopeId","onChange","this","metadata","fieldKey","startsWith","substring","isEditable","control","TextControl","id","generateStableId","text","generateBindingInfo","applyCommonDirectives","precision","scale","undefined","multipleOf","stepStr","toString","includes","split","length","type","StepInput","value","step","displayValuePrecision","editable","ui","readOnly","required","change","oEvent","val","getParameter","result","validate","isValid","errorMessage","getValue","getProperty","applyState","input","setEditable","setRequired","__exports","__esModule"],"sources":["StepInputPlugin.ts"],"sourcesContent":["/**\n * @file StepInputPlugin.ts\n * @description Renders a sap.m.StepInput for numeric data requiring step increments.\n */\n\nimport { BasePlugin } from \"./BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport StepInput from \"sap/m/StepInput\";\nimport Control from \"sap/ui/core/Control\";\nimport TextControl from \"sap/m/Text\";\n\n/**\n * Handles rendering and logic for step-based numeric inputs.\n */\nexport class StepInputPlugin extends BasePlugin {\n /**\n * Renders a `sap.m.StepInput` component for numeric evaluation.\n * \n * @param fieldMetadata The specific JSON schema properties for this field.\n * @param bindingPath The JSON path bound to this control.\n * @param modelName The UI5 JSONModel name.\n * @param engineScopeId The deterministic scope ID.\n * @param onChange The callback fired on value change.\n * @returns {Control} The configured StepInput control.\n */\n public render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName: string = \"meta\", engineScopeId?: string, onChange?: (isValid: boolean, fieldKey?: string, errorMessage?: string, controlId?: string) => void): Control {\n this.onChange = onChange;\n this.metadata = fieldMetadata;\n this.fieldKey = bindingPath.startsWith('/') ? bindingPath.substring(1) : bindingPath;\n\n if (!this.isEditable) {\n \n this.control = new TextControl({\n id: this.generateStableId(engineScopeId, bindingPath),\n text: this.generateBindingInfo(bindingPath, modelName)\n });\n this.applyCommonDirectives(this.control, fieldMetadata, modelName);\n return this.control as Control;\n }\n\n let precision: number | undefined = fieldMetadata.scale;\n if (precision === undefined && fieldMetadata.multipleOf !== undefined) {\n const stepStr = fieldMetadata.multipleOf.toString();\n precision = stepStr.includes('.') ? stepStr.split('.')[1].length : 0;\n } else if (precision === undefined && fieldMetadata.type === \"integer\") {\n precision = 0;\n }\n\n this.control = new StepInput({\n id: this.generateStableId(engineScopeId, bindingPath),\n value: this.generateBindingInfo(bindingPath, modelName),\n step: fieldMetadata.multipleOf !== undefined ? fieldMetadata.multipleOf : 1,\n ...(precision !== undefined && { displayValuePrecision: precision }),\n editable: !fieldMetadata.ui?.readOnly,\n required: !!fieldMetadata.required,\n change: (oEvent: sap.ui.base.Event) => {\n const val = (oEvent.getParameter(\"value\") as unknown) as number;\n const result = this.validate();\n if (this.onChange) {\n this.onChange(result.isValid, this.fieldKey, result.errorMessage);\n }\n }\n });\n\n this.applyCommonDirectives(this.control, fieldMetadata, modelName);\n\n return this.control as Control;\n }\n\n /**\n * Retrieves the current numeric state.\n * @returns {unknown} The numeric value.\n */\n protected getValue(): unknown {\n return this.control ? (this.control as StepInput).getProperty('value') : null;\n }\n\n /**\n * Applies dynamic read-only state.\n */\n protected applyState(): void {\n if (this.control && this.metadata) {\n if (!this.isEditable) return;\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":"2FAAA,MAKSA,EAAUC,EAAA,cASZ,MAAMC,UAAwBF,EAW1BG,OAAOC,EAAmCC,EAAsBC,EAAoB,OAAQC,EAAwBC,GACvHC,KAAKD,SAAWA,EAChBC,KAAKC,SAAWN,EAChBK,KAAKE,SAAWN,EAAYO,WAAW,KAAOP,EAAYQ,UAAU,GAAKR,EAEzE,IAAKI,KAAKK,WAAY,CAElBL,KAAKM,QAAU,IAAIC,EAAY,CAC3BC,GAAIR,KAAKS,iBAAiBX,EAAeF,GACzCc,KAAMV,KAAKW,oBAAoBf,EAAaC,KAEhDG,KAAKY,sBAAsBZ,KAAKM,QAASX,EAAeE,GACxD,OAAOG,KAAKM,OAChB,CAEA,IAAIO,EAAgClB,EAAcmB,MAClD,GAAID,IAAcE,WAAapB,EAAcqB,aAAeD,UAAW,CACnE,MAAME,EAAUtB,EAAcqB,WAAWE,WACzCL,EAAYI,EAAQE,SAAS,KAAOF,EAAQG,MAAM,KAAK,GAAGC,OAAS,CACvE,MAAO,GAAIR,IAAcE,WAAapB,EAAc2B,OAAS,UAAW,CACpET,EAAY,CAChB,CAEAb,KAAKM,QAAU,IAAIiB,EAAU,CACzBf,GAAIR,KAAKS,iBAAiBX,EAAeF,GACzC4B,MAAOxB,KAAKW,oBAAoBf,EAAaC,GAC7C4B,KAAM9B,EAAcqB,aAAeD,UAAYpB,EAAcqB,WAAa,KACtEH,IAAcE,WAAa,CAAEW,sBAAuBb,GACxDc,UAAWhC,EAAciC,IAAIC,SAC7BC,WAAYnC,EAAcmC,SAC1BC,OAASC,IACL,MAAMC,EAAOD,EAAOE,aAAa,SACjC,MAAMC,EAASnC,KAAKoC,WACpB,GAAIpC,KAAKD,SAAU,CACfC,KAAKD,SAASoC,EAAOE,QAASrC,KAAKE,SAAUiC,EAAOG,aACxD,KAIRtC,KAAKY,sBAAsBZ,KAAKM,QAASX,EAAeE,GAExD,OAAOG,KAAKM,OAChB,CAMUiC,WACN,OAAOvC,KAAKM,QAAWN,KAAKM,QAAsBkC,YAAY,SAAW,IAC7E,CAKUC,aACN,GAAIzC,KAAKM,SAAWN,KAAKC,SAAU,CAC/B,IAAKD,KAAKK,WAAY,OACtB,MAAMqC,EAAQ1C,KAAKM,QACnBoC,EAAMC,aAAa3C,KAAKC,SAAS2B,IAAIC,UACrCa,EAAME,cAAc5C,KAAKC,SAAS6B,SACtC,CACJ,EACH,IAAAe,EAAA,CAAAC,WAAA,MAAAD,EAAApD,kBAAA,OAAAoD,CAAA","ignoreList":[]}
|
|
@@ -38,10 +38,19 @@ export class StepInputPlugin extends BasePlugin {
|
|
|
38
38
|
return this.control as Control;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
+
let precision: number | undefined = fieldMetadata.scale;
|
|
42
|
+
if (precision === undefined && fieldMetadata.multipleOf !== undefined) {
|
|
43
|
+
const stepStr = fieldMetadata.multipleOf.toString();
|
|
44
|
+
precision = stepStr.includes('.') ? stepStr.split('.')[1].length : 0;
|
|
45
|
+
} else if (precision === undefined && fieldMetadata.type === "integer") {
|
|
46
|
+
precision = 0;
|
|
47
|
+
}
|
|
48
|
+
|
|
41
49
|
this.control = new StepInput({
|
|
42
50
|
id: this.generateStableId(engineScopeId, bindingPath),
|
|
43
51
|
value: this.generateBindingInfo(bindingPath, modelName),
|
|
44
|
-
|
|
52
|
+
step: fieldMetadata.multipleOf !== undefined ? fieldMetadata.multipleOf : 1,
|
|
53
|
+
...(precision !== undefined && { displayValuePrecision: precision }),
|
|
45
54
|
editable: !fieldMetadata.ui?.readOnly,
|
|
46
55
|
required: !!fieldMetadata.required,
|
|
47
56
|
change: (oEvent: sap.ui.base.Event) => {
|