@sap/ux-specification 1.124.36 → 1.124.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +39 -0
- package/dist/documentation/v2/v2-AnalyticalListPage.html +2 -2
- package/dist/documentation/v2/v2-ApplicationV2.html +2 -2
- package/dist/documentation/v2/v2-ListReport.html +2 -2
- package/dist/documentation/v2/v2-ListReportNew.html +2 -2
- package/dist/documentation/v2/v2-ObjectPage.html +2 -2
- package/dist/documentation/v2/v2-OverviewPage.html +2 -2
- package/dist/documentation/v4/v4-ApplicationV4.html +2 -2
- package/dist/documentation/v4/v4-BuildingBlocks.html +2 -2
- package/dist/documentation/v4/v4-FreestylePage.html +2 -2
- package/dist/documentation/v4/v4-ListReport.html +2 -2
- package/dist/documentation/v4/v4-ObjectPage.html +2 -2
- package/dist/index-min.js +264 -259
- package/dist/index-min.js.map +4 -4
- package/dist/schemas/v2/ListReportNewConfig.json +202 -7
- package/dist/schemas/v4/ApplicationV4.json +14 -0
- package/dist/schemas/v4/BuildingBlocksConfig.json +73 -2
- package/dist/specification/package.json +8 -8
- package/dist/specification/scripts/macros/corrections.d.ts +1 -0
- package/dist/specification/scripts/macros/corrections.d.ts.map +1 -1
- package/dist/specification/scripts/macros/corrections.js +93 -1
- package/dist/specification/scripts/macros/corrections.js.map +1 -1
- package/dist/specification/scripts/macros/schema.d.ts.map +1 -1
- package/dist/specification/scripts/macros/schema.js +23 -10
- package/dist/specification/scripts/macros/schema.js.map +1 -1
- package/dist/specification/scripts/schema/to-json-schema.js +1 -1
- package/dist/specification/scripts/schema/to-json-schema.js.map +1 -1
- package/dist/specification/src/api.d.ts.map +1 -1
- package/dist/specification/src/api.js +39 -3
- package/dist/specification/src/api.js.map +1 -1
- package/dist/specification/src/ftfs/ftfs.d.ts +8 -0
- package/dist/specification/src/ftfs/ftfs.d.ts.map +1 -1
- package/dist/specification/src/ftfs/ftfs.js +1 -0
- package/dist/specification/src/ftfs/ftfs.js.map +1 -1
- package/dist/specification/src/ftfs/index.d.ts +1 -1
- package/dist/specification/src/ftfs/index.d.ts.map +1 -1
- package/dist/specification/src/ftfs/index.js +2 -1
- package/dist/specification/src/ftfs/index.js.map +1 -1
- package/dist/specification/src/ftfs/parser/model/TreeModel.d.ts.map +1 -1
- package/dist/specification/src/ftfs/parser/model/TreeModel.js +3 -1
- package/dist/specification/src/ftfs/parser/model/TreeModel.js.map +1 -1
- package/dist/specification/src/sync/common/decoration/Decorator.d.ts +91 -0
- package/dist/specification/src/sync/common/decoration/Decorator.d.ts.map +1 -0
- package/dist/specification/src/sync/common/decoration/Decorator.js +139 -0
- package/dist/specification/src/sync/common/decoration/Decorator.js.map +1 -0
- package/dist/specification/src/sync/common/decoration/condition-evaluator.d.ts +95 -0
- package/dist/specification/src/sync/common/decoration/condition-evaluator.d.ts.map +1 -0
- package/dist/specification/src/sync/common/decoration/condition-evaluator.js +210 -0
- package/dist/specification/src/sync/common/decoration/condition-evaluator.js.map +1 -0
- package/dist/specification/src/sync/common/decoration/decorator-paths.d.ts +5 -22
- package/dist/specification/src/sync/common/decoration/decorator-paths.d.ts.map +1 -1
- package/dist/specification/src/sync/common/decoration/decorator-paths.js.map +1 -1
- package/dist/specification/src/sync/common/decoration/decorators.d.ts +0 -8
- package/dist/specification/src/sync/common/decoration/decorators.d.ts.map +1 -1
- package/dist/specification/src/sync/common/decoration/decorators.js +0 -15
- package/dist/specification/src/sync/common/decoration/decorators.js.map +1 -1
- package/dist/specification/src/sync/common/decoration/index.d.ts +4 -0
- package/dist/specification/src/sync/common/decoration/index.d.ts.map +1 -1
- package/dist/specification/src/sync/common/decoration/index.js +4 -0
- package/dist/specification/src/sync/common/decoration/index.js.map +1 -1
- package/dist/specification/src/sync/common/decoration/interfaces.d.ts +38 -0
- package/dist/specification/src/sync/common/decoration/interfaces.d.ts.map +1 -0
- package/dist/specification/src/sync/common/decoration/interfaces.js +3 -0
- package/dist/specification/src/sync/common/decoration/interfaces.js.map +1 -0
- package/dist/specification/src/sync/common/decoration/steps/Enums.d.ts +18 -0
- package/dist/specification/src/sync/common/decoration/steps/Enums.d.ts.map +1 -0
- package/dist/specification/src/sync/common/decoration/steps/Enums.js +50 -0
- package/dist/specification/src/sync/common/decoration/steps/Enums.js.map +1 -0
- package/dist/specification/src/sync/common/decoration/steps/Hide.d.ts +18 -0
- package/dist/specification/src/sync/common/decoration/steps/Hide.d.ts.map +1 -0
- package/dist/specification/src/sync/common/decoration/steps/Hide.js +46 -0
- package/dist/specification/src/sync/common/decoration/steps/Hide.js.map +1 -0
- package/dist/specification/src/sync/common/decoration/steps/Message.d.ts +26 -0
- package/dist/specification/src/sync/common/decoration/steps/Message.d.ts.map +1 -0
- package/dist/specification/src/sync/common/decoration/steps/Message.js +77 -0
- package/dist/specification/src/sync/common/decoration/steps/Message.js.map +1 -0
- package/dist/specification/src/sync/common/decoration/steps/Readonly.d.ts +18 -0
- package/dist/specification/src/sync/common/decoration/steps/Readonly.d.ts.map +1 -0
- package/dist/specification/src/sync/common/decoration/steps/Readonly.js +43 -0
- package/dist/specification/src/sync/common/decoration/steps/Readonly.js.map +1 -0
- package/dist/specification/src/sync/common/decoration/steps/Validity.d.ts +18 -0
- package/dist/specification/src/sync/common/decoration/steps/Validity.d.ts.map +1 -0
- package/dist/specification/src/sync/common/decoration/steps/Validity.js +68 -0
- package/dist/specification/src/sync/common/decoration/steps/Validity.js.map +1 -0
- package/dist/specification/src/sync/common/decoration/steps/enum-utils.d.ts +19 -0
- package/dist/specification/src/sync/common/decoration/steps/enum-utils.d.ts.map +1 -0
- package/dist/specification/src/sync/common/decoration/steps/enum-utils.js +48 -0
- package/dist/specification/src/sync/common/decoration/steps/enum-utils.js.map +1 -0
- package/dist/specification/src/sync/common/decoration/steps/index.d.ts +6 -0
- package/dist/specification/src/sync/common/decoration/steps/index.d.ts.map +1 -0
- package/dist/specification/src/sync/common/decoration/steps/index.js +14 -0
- package/dist/specification/src/sync/common/decoration/steps/index.js.map +1 -0
- package/dist/specification/src/sync/common/i18n.json +22 -0
- package/dist/specification/src/sync/common/importProject.d.ts.map +1 -1
- package/dist/specification/src/sync/common/importProject.js +2 -0
- package/dist/specification/src/sync/common/importProject.js.map +1 -1
- package/dist/specification/src/sync/v2/export/controls/Fragment.d.ts +4 -5
- package/dist/specification/src/sync/v2/export/controls/Fragment.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/export/controls/Fragment.js +29 -20
- package/dist/specification/src/sync/v2/export/controls/Fragment.js.map +1 -1
- package/dist/specification/src/sync/v2/export/export.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/export/export.js +3 -2
- package/dist/specification/src/sync/v2/export/export.js.map +1 -1
- package/dist/specification/src/sync/v2/export/exportPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/export/exportPage.js +48 -19
- package/dist/specification/src/sync/v2/export/exportPage.js.map +1 -1
- package/dist/specification/src/sync/v2/export/exportPageGeneric.d.ts +2 -0
- package/dist/specification/src/sync/v2/export/exportPageGeneric.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/export/exportPageGeneric.js +17 -6
- package/dist/specification/src/sync/v2/export/exportPageGeneric.js.map +1 -1
- package/dist/specification/src/sync/v2/export/view-controller-generator.d.ts +54 -6
- package/dist/specification/src/sync/v2/export/view-controller-generator.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/export/view-controller-generator.js +106 -12
- package/dist/specification/src/sync/v2/export/view-controller-generator.js.map +1 -1
- package/dist/specification/src/sync/v2/generate/schemaAdaptation.js +2 -2
- package/dist/specification/src/sync/v2/generate/schemaAdaptation.js.map +1 -1
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/FilterBar.js +4 -4
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiEdit.d.ts +12 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiEdit.d.ts.map +1 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiEdit.js +167 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiEdit.js.map +1 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiTable.js +3 -3
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/MultiTable.js.map +1 -1
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.d.ts +59 -2
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.js +582 -7
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/Table.js.map +1 -1
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.d.ts +1 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.js +1 -0
- package/dist/specification/src/sync/v2/genericSchemaHandling/controls/index.js.map +1 -1
- package/dist/specification/src/sync/v2/genericSchemaHandling/pages/pageAccess.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/genericSchemaHandling/pages/pageAccess.js +29 -6
- package/dist/specification/src/sync/v2/genericSchemaHandling/pages/pageAccess.js.map +1 -1
- package/dist/specification/src/sync/v2/types.d.ts +2 -0
- package/dist/specification/src/sync/v2/types.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/types.js.map +1 -1
- package/dist/specification/src/sync/v2/utils.d.ts +25 -0
- package/dist/specification/src/sync/v2/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/utils.js +28 -4
- package/dist/specification/src/sync/v2/utils.js.map +1 -1
- package/dist/specification/src/sync/v4/application.d.ts +1 -0
- package/dist/specification/src/sync/v4/application.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/application.js +10 -0
- package/dist/specification/src/sync/v4/application.js.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ToolBarAction.d.ts +3 -1
- package/dist/specification/src/sync/v4/export/controls/ToolBarAction.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/controls/ToolBarAction.js +8 -5
- package/dist/specification/src/sync/v4/export/controls/ToolBarAction.js.map +1 -1
- package/dist/specification/src/sync/v4/export/fpmCustomPage.d.ts +1 -0
- package/dist/specification/src/sync/v4/export/fpmCustomPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/export/fpmCustomPage.js +212 -46
- package/dist/specification/src/sync/v4/export/fpmCustomPage.js.map +1 -1
- package/dist/specification/src/sync/v4/generate/app.d.ts +11 -0
- package/dist/specification/src/sync/v4/generate/app.d.ts.map +1 -0
- package/dist/specification/src/sync/v4/generate/app.js +31 -0
- package/dist/specification/src/sync/v4/generate/app.js.map +1 -0
- package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.d.ts +13 -0
- package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.js +74 -2
- package/dist/specification/src/sync/v4/generate/fpm-custom-page/annotations.js.map +1 -1
- package/dist/specification/src/sync/v4/generate/fpm-custom-page/extensions.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/generate/fpm-custom-page/extensions.js +4 -3
- package/dist/specification/src/sync/v4/generate/fpm-custom-page/extensions.js.map +1 -1
- package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.js +29 -27
- package/dist/specification/src/sync/v4/generate/fpm-custom-page/generator.js.map +1 -1
- package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.js +12 -3
- package/dist/specification/src/sync/v4/generate/fpm-custom-page/utils.js.map +1 -1
- package/dist/specification/src/sync/v4/generate/list-report/ListReportUtils.js.map +1 -1
- package/dist/specification/src/sync/v4/import/pages/fpmCustomPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/import/pages/fpmCustomPage.js +20 -0
- package/dist/specification/src/sync/v4/import/pages/fpmCustomPage.js.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/App.d.ts +2 -4
- package/dist/specification/src/sync/v4/sync-rules/App.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/App.js +2 -1
- package/dist/specification/src/sync/v4/sync-rules/App.js.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/AppSchema.d.ts +2 -1
- package/dist/specification/src/sync/v4/sync-rules/AppSchema.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/AppSchema.js +3 -1
- package/dist/specification/src/sync/v4/sync-rules/AppSchema.js.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js +4 -3
- package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/Page.d.ts +7 -1
- package/dist/specification/src/sync/v4/sync-rules/Page.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/Page.js.map +1 -1
- package/dist/specification/src/sync/v4/utils/macros.d.ts +19 -0
- package/dist/specification/src/sync/v4/utils/macros.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/utils/macros.js +34 -0
- package/dist/specification/src/sync/v4/utils/macros.js.map +1 -1
- package/dist/specification/test/test-utils/utils.d.ts.map +1 -1
- package/dist/specification/test/test-utils/utils.js +4 -0
- package/dist/specification/test/test-utils/utils.js.map +1 -1
- package/dist/specification/test/unit/decorators/validity-test-utils.d.ts +2 -2
- package/dist/specification/test/unit/decorators/validity-test-utils.d.ts.map +1 -1
- package/dist/specification/test/unit/decorators/validity-test-utils.js +6 -6
- package/dist/specification/test/unit/decorators/validity-test-utils.js.map +1 -1
- package/dist/templates/AnalyticalTableColumnsExtension.xml +3 -3
- package/dist/templates/GridTableColumnsExtension.xml +3 -3
- package/dist/templates/ResponsiveTableColumnsExtension.xml +2 -2
- package/dist/templates/TreeTableColumnsExtension.xml +4 -4
- package/dist/templates/fragment.xml +3 -3
- package/dist/templates/view.xml +3 -3
- package/dist/types/src/apiTypes.d.ts +15 -5
- package/dist/types/src/apiTypes.d.ts.map +1 -1
- package/dist/types/src/apiTypes.js +1 -0
- package/dist/types/src/apiTypes.js.map +1 -1
- package/dist/types/src/common/types.d.ts +1 -0
- package/dist/types/src/common/types.d.ts.map +1 -1
- package/dist/types/src/common/types.js.map +1 -1
- package/dist/types/src/common/webapp/manifest/Manifest.d.ts +2 -1
- package/dist/types/src/common/webapp/manifest/Manifest.d.ts.map +1 -1
- package/dist/types/src/common/webapp/manifest/Manifest.js +1 -0
- package/dist/types/src/common/webapp/manifest/Manifest.js.map +1 -1
- package/dist/types/src/v4/application.d.ts +15 -0
- package/dist/types/src/v4/application.d.ts.map +1 -1
- package/dist/types/src/v4/application.js +10 -0
- package/dist/types/src/v4/application.js.map +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../../../src/sync/common/decoration/decorators.ts"],"names":[],"mappings":";;;AA0EA,gDAMC;AAQD,wDAMC;
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../../../src/sync/common/decoration/decorators.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,4 +2,8 @@ export * from './control';
|
|
|
2
2
|
export * from './decorators';
|
|
3
3
|
export * from './flex';
|
|
4
4
|
export * from './decorator-paths';
|
|
5
|
+
export * from './interfaces';
|
|
6
|
+
export * from './condition-evaluator';
|
|
7
|
+
export * from './Decorator';
|
|
8
|
+
export * from './steps';
|
|
5
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/common/decoration/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/common/decoration/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
|
|
@@ -18,4 +18,8 @@ __exportStar(require("./control"), exports);
|
|
|
18
18
|
__exportStar(require("./decorators"), exports);
|
|
19
19
|
__exportStar(require("./flex"), exports);
|
|
20
20
|
__exportStar(require("./decorator-paths"), exports);
|
|
21
|
+
__exportStar(require("./interfaces"), exports);
|
|
22
|
+
__exportStar(require("./condition-evaluator"), exports);
|
|
23
|
+
__exportStar(require("./Decorator"), exports);
|
|
24
|
+
__exportStar(require("./steps"), exports);
|
|
21
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/sync/common/decoration/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,+CAA6B;AAC7B,yCAAuB;AACvB,oDAAkC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/sync/common/decoration/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,+CAA6B;AAC7B,yCAAuB;AACvB,oDAAkC;AAClC,+CAA6B;AAC7B,wDAAsC;AACtC,8CAA4B;AAC5B,0CAAwB"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { Definition } from 'typescript-json-schema';
|
|
2
|
+
import type { ExtensionLogger } from '@sap/ux-specification-types';
|
|
3
|
+
import type { App, AppSchema, Page } from '../../v4/sync-rules';
|
|
4
|
+
/**
|
|
5
|
+
* Combined context passed to Decorator and each DecoratorStep.
|
|
6
|
+
* Uses interfaces compatible with App and Page classes from sync-rules.
|
|
7
|
+
*/
|
|
8
|
+
export interface DecoratorContext {
|
|
9
|
+
/** App-level context (has config, getMinUI5Version) */
|
|
10
|
+
app?: App;
|
|
11
|
+
/** Page-level context (has config, target) */
|
|
12
|
+
page?: Page;
|
|
13
|
+
/** Custom context (e.g., table state, section state) */
|
|
14
|
+
custom?: Record<string, unknown>;
|
|
15
|
+
/** Schema context for definition lookup */
|
|
16
|
+
schema: AppSchema;
|
|
17
|
+
/** Logger for debugging and error reporting */
|
|
18
|
+
logger?: ExtensionLogger;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Interface for decorator processing steps.
|
|
22
|
+
* Each step handles a specific type of decorator metadata.
|
|
23
|
+
*
|
|
24
|
+
* Steps are executed in order: enums -> message -> hide
|
|
25
|
+
*/
|
|
26
|
+
export interface DecoratorStep {
|
|
27
|
+
/** Unique name for the step (used for disabling via options) */
|
|
28
|
+
readonly name: string;
|
|
29
|
+
/**
|
|
30
|
+
* Initialize this step's decorator logic for the schema definition.
|
|
31
|
+
*
|
|
32
|
+
* @param target - The class prototype containing decorator metadata
|
|
33
|
+
* @param definition - The schema definition to modify
|
|
34
|
+
* @param context - context for condition evaluation
|
|
35
|
+
*/
|
|
36
|
+
init(target: object, definition: Definition, context: DecoratorContext): void;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/common/decoration/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAEhE;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B,uDAAuD;IACvD,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,8CAA8C;IAC9C,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,2CAA2C;IAC3C,MAAM,EAAE,SAAS,CAAC;IAClB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC1B,gEAAgE;IAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;;;;OAMG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACjF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../../../src/sync/common/decoration/interfaces.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Definition } from 'typescript-json-schema';
|
|
2
|
+
import type { DecoratorStep, DecoratorContext } from '../interfaces';
|
|
3
|
+
/**
|
|
4
|
+
* Enums step - filters enum values based on conditions.
|
|
5
|
+
* If multiple @enums decorators exist on the same property, the first matching condition wins.
|
|
6
|
+
*/
|
|
7
|
+
export declare class Enums implements DecoratorStep {
|
|
8
|
+
readonly name = "enums";
|
|
9
|
+
/**
|
|
10
|
+
* Applies enum filtering to all properties in the definition.
|
|
11
|
+
*
|
|
12
|
+
* @param target - The class prototype containing decorator metadata
|
|
13
|
+
* @param definition - The schema definition to modify
|
|
14
|
+
* @param context - Runtime context for condition evaluation
|
|
15
|
+
*/
|
|
16
|
+
init(target: object, definition: Definition, context: DecoratorContext): void;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=Enums.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Enums.d.ts","sourceRoot":"","sources":["../../../../../../../src/sync/common/decoration/steps/Enums.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAKrE;;;GAGG;AACH,qBAAa,KAAM,YAAW,aAAa;IACvC,QAAQ,CAAC,IAAI,WAAW;IAExB;;;;;;OAMG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI;CA+BhF"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Enums = void 0;
|
|
4
|
+
const decorators_1 = require("../decorators");
|
|
5
|
+
const condition_evaluator_1 = require("../condition-evaluator");
|
|
6
|
+
const enum_utils_1 = require("./enum-utils");
|
|
7
|
+
/**
|
|
8
|
+
* Enums step - filters enum values based on conditions.
|
|
9
|
+
* If multiple @enums decorators exist on the same property, the first matching condition wins.
|
|
10
|
+
*/
|
|
11
|
+
class Enums {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.name = 'enums';
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Applies enum filtering to all properties in the definition.
|
|
17
|
+
*
|
|
18
|
+
* @param target - The class prototype containing decorator metadata
|
|
19
|
+
* @param definition - The schema definition to modify
|
|
20
|
+
* @param context - Runtime context for condition evaluation
|
|
21
|
+
*/
|
|
22
|
+
init(target, definition, context) {
|
|
23
|
+
if (!definition?.properties || !target) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const evaluator = new condition_evaluator_1.ConditionEvaluator(context);
|
|
27
|
+
for (const propertyName in definition.properties) {
|
|
28
|
+
const property = definition.properties[propertyName];
|
|
29
|
+
const enumsMetadataList = Reflect.getMetadata(decorators_1.metadataKeys.enums, target, propertyName);
|
|
30
|
+
if (!enumsMetadataList?.length) {
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
// Find first matching condition (first match wins)
|
|
34
|
+
for (const enumsMetadata of enumsMetadataList) {
|
|
35
|
+
const { passed } = evaluator.evaluate(enumsMetadata);
|
|
36
|
+
if (passed) {
|
|
37
|
+
const currentEnumValues = (0, enum_utils_1.resolveEnumFromProperty)(property, context);
|
|
38
|
+
if (currentEnumValues) {
|
|
39
|
+
// Filter to only allowed values that exist in original enum
|
|
40
|
+
const filteredValues = enumsMetadata.allowedValues.filter((v) => currentEnumValues.includes(v));
|
|
41
|
+
(0, enum_utils_1.applyFilteredEnumToProperty)(property, filteredValues, context);
|
|
42
|
+
}
|
|
43
|
+
break; // First match wins, stop processing
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.Enums = Enums;
|
|
50
|
+
//# sourceMappingURL=Enums.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Enums.js","sourceRoot":"","sources":["../../../../../../../src/sync/common/decoration/steps/Enums.ts"],"names":[],"mappings":";;;AAEA,8CAA6C;AAC7C,gEAA4D;AAC5D,6CAAoF;AAEpF;;;GAGG;AACH,MAAa,KAAK;IAAlB;QACa,SAAI,GAAG,OAAO,CAAC;IAwC5B,CAAC;IAtCG;;;;;;OAMG;IACH,IAAI,CAAC,MAAc,EAAE,UAAsB,EAAE,OAAyB;QAClE,IAAI,CAAC,UAAU,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC;YACrC,OAAO;QACX,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,wCAAkB,CAAC,OAAO,CAAC,CAAC;QAElD,KAAK,MAAM,YAAY,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,YAAY,CAAe,CAAC;YACnE,MAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,yBAAY,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YAExF,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;gBAC7B,SAAS;YACb,CAAC;YAED,mDAAmD;YACnD,KAAK,MAAM,aAAa,IAAI,iBAAiB,EAAE,CAAC;gBAC5C,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAErD,IAAI,MAAM,EAAE,CAAC;oBACT,MAAM,iBAAiB,GAAG,IAAA,oCAAuB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACrE,IAAI,iBAAiB,EAAE,CAAC;wBACpB,4DAA4D;wBAC5D,MAAM,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;wBAChG,IAAA,wCAA2B,EAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;oBACnE,CAAC;oBACD,MAAM,CAAC,oCAAoC;gBAC/C,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ;AAzCD,sBAyCC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Definition } from 'typescript-json-schema';
|
|
2
|
+
import type { DecoratorStep, DecoratorContext } from '../interfaces';
|
|
3
|
+
/**
|
|
4
|
+
* Hide step - hides properties when their condition evaluates to true.
|
|
5
|
+
* Only hides if the message step did not add any messages to the property.
|
|
6
|
+
*/
|
|
7
|
+
export declare class Hide implements DecoratorStep {
|
|
8
|
+
readonly name = "hide";
|
|
9
|
+
/**
|
|
10
|
+
* Hides properties whose hide condition evaluates to true and have no messages.
|
|
11
|
+
*
|
|
12
|
+
* @param target - The class prototype containing decorator metadata
|
|
13
|
+
* @param definition - The schema definition to modify
|
|
14
|
+
* @param context - Runtime context for condition evaluation
|
|
15
|
+
*/
|
|
16
|
+
init(target: object, definition: Definition, context: DecoratorContext): void;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=Hide.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Hide.d.ts","sourceRoot":"","sources":["../../../../../../../src/sync/common/decoration/steps/Hide.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAIrE;;;GAGG;AACH,qBAAa,IAAK,YAAW,aAAa;IACtC,QAAQ,CAAC,IAAI,UAAU;IAEvB;;;;;;OAMG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI;CA0BhF"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Hide = void 0;
|
|
4
|
+
const ux_specification_types_1 = require("@sap/ux-specification-types");
|
|
5
|
+
const decorators_1 = require("../decorators");
|
|
6
|
+
const condition_evaluator_1 = require("../condition-evaluator");
|
|
7
|
+
/**
|
|
8
|
+
* Hide step - hides properties when their condition evaluates to true.
|
|
9
|
+
* Only hides if the message step did not add any messages to the property.
|
|
10
|
+
*/
|
|
11
|
+
class Hide {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.name = 'hide';
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Hides properties whose hide condition evaluates to true and have no messages.
|
|
17
|
+
*
|
|
18
|
+
* @param target - The class prototype containing decorator metadata
|
|
19
|
+
* @param definition - The schema definition to modify
|
|
20
|
+
* @param context - Runtime context for condition evaluation
|
|
21
|
+
*/
|
|
22
|
+
init(target, definition, context) {
|
|
23
|
+
if (!definition?.properties || !target) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const evaluator = new condition_evaluator_1.ConditionEvaluator(context);
|
|
27
|
+
for (const propertyName in definition.properties) {
|
|
28
|
+
const property = definition.properties[propertyName];
|
|
29
|
+
const hideConditions = Reflect.getMetadata(decorators_1.metadataKeys.hide, target, propertyName);
|
|
30
|
+
if (hideConditions) {
|
|
31
|
+
// Hide when ANY condition IS met (OR semantics across multiple @hide decorators)
|
|
32
|
+
// But only if no messages were added by the message step
|
|
33
|
+
const hasMessages = Array.isArray(property[ux_specification_types_1.SchemaTag.messages]) && property[ux_specification_types_1.SchemaTag.messages].length > 0;
|
|
34
|
+
for (const condition of hideConditions) {
|
|
35
|
+
const { passed } = evaluator.evaluate(condition);
|
|
36
|
+
if (passed && !hasMessages) {
|
|
37
|
+
property[ux_specification_types_1.SchemaTag.hidden] = true;
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.Hide = Hide;
|
|
46
|
+
//# sourceMappingURL=Hide.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Hide.js","sourceRoot":"","sources":["../../../../../../../src/sync/common/decoration/steps/Hide.ts"],"names":[],"mappings":";;;AACA,wEAAwD;AAExD,8CAA6C;AAC7C,gEAA4D;AAE5D;;;GAGG;AACH,MAAa,IAAI;IAAjB;QACa,SAAI,GAAG,MAAM,CAAC;IAmC3B,CAAC;IAjCG;;;;;;OAMG;IACH,IAAI,CAAC,MAAc,EAAE,UAAsB,EAAE,OAAyB;QAClE,IAAI,CAAC,UAAU,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC;YACrC,OAAO;QACX,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,wCAAkB,CAAC,OAAO,CAAC,CAAC;QAElD,KAAK,MAAM,YAAY,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,YAAY,CAAe,CAAC;YACnE,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,yBAAY,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YAEpF,IAAI,cAAc,EAAE,CAAC;gBACjB,iFAAiF;gBACjF,yDAAyD;gBACzD,MAAM,WAAW,GACb,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,kCAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,QAAQ,CAAC,kCAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC3F,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;oBACrC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBACjD,IAAI,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;wBACzB,QAAQ,CAAC,kCAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;wBAClC,MAAM;oBACV,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ;AApCD,oBAoCC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Definition } from 'typescript-json-schema';
|
|
2
|
+
import type { DecoratorStep, DecoratorContext } from '../interfaces';
|
|
3
|
+
/**
|
|
4
|
+
* Message step - adds messages to properties when conditions are met.
|
|
5
|
+
* Multiple @message decorators can be applied to the same property.
|
|
6
|
+
*/
|
|
7
|
+
export declare class Message implements DecoratorStep {
|
|
8
|
+
readonly name = "message";
|
|
9
|
+
/**
|
|
10
|
+
* Adds messages to properties whose conditions are met.
|
|
11
|
+
*
|
|
12
|
+
* @param target - The class prototype containing decorator metadata
|
|
13
|
+
* @param definition - The schema definition to modify
|
|
14
|
+
* @param context - Runtime context for condition evaluation
|
|
15
|
+
*/
|
|
16
|
+
init(target: object, definition: Definition, context: DecoratorContext): void;
|
|
17
|
+
/**
|
|
18
|
+
* Adds a translated message to the schema property if the metadata contains a MessageConfig.
|
|
19
|
+
*
|
|
20
|
+
* @param metadata - Decorator metadata containing the message config
|
|
21
|
+
* @param definition - The schema property definition to add the message to
|
|
22
|
+
* @param evaluator - Condition evaluator used to resolve PathNode params
|
|
23
|
+
*/
|
|
24
|
+
private addConditionalMessage;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=Message.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../../../../../../src/sync/common/decoration/steps/Message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAwBrE;;;GAGG;AACH,qBAAa,OAAQ,YAAW,aAAa;IACzC,QAAQ,CAAC,IAAI,aAAa;IAE1B;;;;;;OAMG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAsB7E;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;CAahC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Message = void 0;
|
|
7
|
+
const ux_specification_types_1 = require("@sap/ux-specification-types");
|
|
8
|
+
const decorators_1 = require("../decorators");
|
|
9
|
+
const decorator_paths_1 = require("../decorator-paths");
|
|
10
|
+
const condition_evaluator_1 = require("../condition-evaluator");
|
|
11
|
+
const i18next_1 = __importDefault(require("i18next"));
|
|
12
|
+
/**
|
|
13
|
+
* Adds a message to a schema element.
|
|
14
|
+
*
|
|
15
|
+
* @param element - The schema element to add the message to
|
|
16
|
+
* @param root0 - Message parameters object
|
|
17
|
+
* @param root0.text - The message text
|
|
18
|
+
* @param root0.deletable - Whether the message is deletable (default: false)
|
|
19
|
+
*/
|
|
20
|
+
function addMessageToSchema(element, { text, deletable = false }) {
|
|
21
|
+
if (!element[ux_specification_types_1.SchemaTag.messages]) {
|
|
22
|
+
element[ux_specification_types_1.SchemaTag.messages] = [];
|
|
23
|
+
}
|
|
24
|
+
element[ux_specification_types_1.SchemaTag.messages].push({ text, deletable });
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Message step - adds messages to properties when conditions are met.
|
|
28
|
+
* Multiple @message decorators can be applied to the same property.
|
|
29
|
+
*/
|
|
30
|
+
class Message {
|
|
31
|
+
constructor() {
|
|
32
|
+
this.name = 'message';
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Adds messages to properties whose conditions are met.
|
|
36
|
+
*
|
|
37
|
+
* @param target - The class prototype containing decorator metadata
|
|
38
|
+
* @param definition - The schema definition to modify
|
|
39
|
+
* @param context - Runtime context for condition evaluation
|
|
40
|
+
*/
|
|
41
|
+
init(target, definition, context) {
|
|
42
|
+
if (!definition?.properties || !target) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const evaluator = new condition_evaluator_1.ConditionEvaluator(context);
|
|
46
|
+
for (const propertyName in definition.properties) {
|
|
47
|
+
const property = definition.properties[propertyName];
|
|
48
|
+
const messageInfoList = Reflect.getMetadata(decorators_1.metadataKeys.message, target, propertyName);
|
|
49
|
+
if (messageInfoList) {
|
|
50
|
+
for (const messageInfo of messageInfoList) {
|
|
51
|
+
const { passed } = evaluator.evaluate(messageInfo);
|
|
52
|
+
if (passed && messageInfo.messageConfig) {
|
|
53
|
+
this.addConditionalMessage(messageInfo, property, evaluator);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Adds a translated message to the schema property if the metadata contains a MessageConfig.
|
|
61
|
+
*
|
|
62
|
+
* @param metadata - Decorator metadata containing the message config
|
|
63
|
+
* @param definition - The schema property definition to add the message to
|
|
64
|
+
* @param evaluator - Condition evaluator used to resolve PathNode params
|
|
65
|
+
*/
|
|
66
|
+
addConditionalMessage(metadata, definition, evaluator) {
|
|
67
|
+
// Handle MessageConfig format (from msg() helper)
|
|
68
|
+
if (metadata.messageConfig && (0, decorator_paths_1.isMessageConfig)(metadata.messageConfig)) {
|
|
69
|
+
const msgConfig = metadata.messageConfig;
|
|
70
|
+
const resolvedParams = evaluator.resolveMessageParams(msgConfig.params);
|
|
71
|
+
const messageText = i18next_1.default.t(msgConfig.i18nKey, resolvedParams);
|
|
72
|
+
addMessageToSchema(definition, { text: messageText, deletable: msgConfig.deletable });
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.Message = Message;
|
|
77
|
+
//# sourceMappingURL=Message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Message.js","sourceRoot":"","sources":["../../../../../../../src/sync/common/decoration/steps/Message.ts"],"names":[],"mappings":";;;;;;AACA,wEAAwD;AAExD,8CAAqE;AACrE,wDAAqD;AACrD,gEAA4D;AAC5D,sDAA8B;AAE9B;;;;;;;GAOG;AACH,SAAS,kBAAkB,CACvB,OAAmB,EACnB,EAAE,IAAI,EAAE,SAAS,GAAG,KAAK,EAAyC;IAElE,IAAI,CAAC,OAAO,CAAC,kCAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,kCAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IACrC,CAAC;IACD,OAAO,CAAC,kCAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACH,MAAa,OAAO;IAApB;QACa,SAAI,GAAG,SAAS,CAAC;IAmD9B,CAAC;IAjDG;;;;;;OAMG;IACH,IAAI,CAAC,MAAc,EAAE,UAAsB,EAAE,OAAyB;QAClE,IAAI,CAAC,UAAU,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC;YACrC,OAAO;QACX,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,wCAAkB,CAAC,OAAO,CAAC,CAAC;QAElD,KAAK,MAAM,YAAY,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,YAAY,CAAe,CAAC;YACnE,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,yBAAY,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YAExF,IAAI,eAAe,EAAE,CAAC;gBAClB,KAAK,MAAM,WAAW,IAAI,eAAe,EAAE,CAAC;oBACxC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;oBACnD,IAAI,MAAM,IAAI,WAAW,CAAC,aAAa,EAAE,CAAC;wBACtC,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;oBACjE,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACK,qBAAqB,CACzB,QAA2B,EAC3B,UAAsB,EACtB,SAA6B;QAE7B,kDAAkD;QAClD,IAAI,QAAQ,CAAC,aAAa,IAAI,IAAA,iCAAe,EAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACpE,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC;YACzC,MAAM,cAAc,GAAG,SAAS,CAAC,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACxE,MAAM,WAAW,GAAG,iBAAO,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YACjE,kBAAkB,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;QAC1F,CAAC;IACL,CAAC;CACJ;AApDD,0BAoDC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Definition } from 'typescript-json-schema';
|
|
2
|
+
import type { DecoratorStep, DecoratorContext } from '../interfaces';
|
|
3
|
+
/**
|
|
4
|
+
* Readonly step - marks properties as readonly when their condition evaluates to true.
|
|
5
|
+
* Runs last in the pipeline.
|
|
6
|
+
*/
|
|
7
|
+
export declare class Readonly implements DecoratorStep {
|
|
8
|
+
readonly name = "readonly";
|
|
9
|
+
/**
|
|
10
|
+
* Marks properties as readonly when their condition evaluates to true.
|
|
11
|
+
*
|
|
12
|
+
* @param target - The class prototype containing decorator metadata
|
|
13
|
+
* @param definition - The schema definition to modify
|
|
14
|
+
* @param context - Runtime context for condition evaluation
|
|
15
|
+
*/
|
|
16
|
+
init(target: object, definition: Definition, context: DecoratorContext): void;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=Readonly.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Readonly.d.ts","sourceRoot":"","sources":["../../../../../../../src/sync/common/decoration/steps/Readonly.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAIrE;;;GAGG;AACH,qBAAa,QAAS,YAAW,aAAa;IAC1C,QAAQ,CAAC,IAAI,cAAc;IAE3B;;;;;;OAMG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI;CAuBhF"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Readonly = void 0;
|
|
4
|
+
const decorators_1 = require("../decorators");
|
|
5
|
+
const condition_evaluator_1 = require("../condition-evaluator");
|
|
6
|
+
/**
|
|
7
|
+
* Readonly step - marks properties as readonly when their condition evaluates to true.
|
|
8
|
+
* Runs last in the pipeline.
|
|
9
|
+
*/
|
|
10
|
+
class Readonly {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.name = 'readonly';
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Marks properties as readonly when their condition evaluates to true.
|
|
16
|
+
*
|
|
17
|
+
* @param target - The class prototype containing decorator metadata
|
|
18
|
+
* @param definition - The schema definition to modify
|
|
19
|
+
* @param context - Runtime context for condition evaluation
|
|
20
|
+
*/
|
|
21
|
+
init(target, definition, context) {
|
|
22
|
+
if (!definition?.properties || !target) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const evaluator = new condition_evaluator_1.ConditionEvaluator(context);
|
|
26
|
+
for (const propertyName in definition.properties) {
|
|
27
|
+
const property = definition.properties[propertyName];
|
|
28
|
+
const readonlyConditions = Reflect.getMetadata(decorators_1.metadataKeys.readonly, target, propertyName);
|
|
29
|
+
if (readonlyConditions) {
|
|
30
|
+
// Readonly when ANY condition IS met (OR semantics across multiple @readonly decorators)
|
|
31
|
+
for (const condition of readonlyConditions) {
|
|
32
|
+
const { passed } = evaluator.evaluate(condition);
|
|
33
|
+
if (passed) {
|
|
34
|
+
property.readOnly = true;
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.Readonly = Readonly;
|
|
43
|
+
//# sourceMappingURL=Readonly.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Readonly.js","sourceRoot":"","sources":["../../../../../../../src/sync/common/decoration/steps/Readonly.ts"],"names":[],"mappings":";;;AAEA,8CAA6C;AAC7C,gEAA4D;AAE5D;;;GAGG;AACH,MAAa,QAAQ;IAArB;QACa,SAAI,GAAG,UAAU,CAAC;IAgC/B,CAAC;IA9BG;;;;;;OAMG;IACH,IAAI,CAAC,MAAc,EAAE,UAAsB,EAAE,OAAyB;QAClE,IAAI,CAAC,UAAU,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC;YACrC,OAAO;QACX,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,wCAAkB,CAAC,OAAO,CAAC,CAAC;QAElD,KAAK,MAAM,YAAY,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,YAAY,CAAe,CAAC;YACnE,MAAM,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,yBAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YAE5F,IAAI,kBAAkB,EAAE,CAAC;gBACrB,yFAAyF;gBACzF,KAAK,MAAM,SAAS,IAAI,kBAAkB,EAAE,CAAC;oBACzC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBACjD,IAAI,MAAM,EAAE,CAAC;wBACT,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;wBACzB,MAAM;oBACV,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ;AAjCD,4BAiCC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Definition } from 'typescript-json-schema';
|
|
2
|
+
import type { DecoratorStep, DecoratorContext } from '../interfaces';
|
|
3
|
+
/**
|
|
4
|
+
* Validity step - hides properties and filters enum values based on UI5 version requirements.
|
|
5
|
+
* Runs first in the pipeline.
|
|
6
|
+
*/
|
|
7
|
+
export declare class Validity implements DecoratorStep {
|
|
8
|
+
readonly name = "validity";
|
|
9
|
+
/**
|
|
10
|
+
* Hides properties or filters enum values based on UI5 version requirements.
|
|
11
|
+
*
|
|
12
|
+
* @param target - The class prototype containing decorator metadata
|
|
13
|
+
* @param definition - The schema definition to modify
|
|
14
|
+
* @param context - Runtime context providing the minimum UI5 version
|
|
15
|
+
*/
|
|
16
|
+
init(target: object, definition: Definition, context: DecoratorContext): void;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=Validity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Validity.d.ts","sourceRoot":"","sources":["../../../../../../../src/sync/common/decoration/steps/Validity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAKrE;;;GAGG;AACH,qBAAa,QAAS,YAAW,aAAa;IAC1C,QAAQ,CAAC,IAAI,cAAc;IAE3B;;;;;;OAMG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI;CAkDhF"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Validity = void 0;
|
|
4
|
+
const ux_specification_types_1 = require("@sap/ux-specification-types");
|
|
5
|
+
const utils_1 = require("../../../v4/sync-rules/utils");
|
|
6
|
+
const decorators_1 = require("../decorators");
|
|
7
|
+
const enum_utils_1 = require("./enum-utils");
|
|
8
|
+
/**
|
|
9
|
+
* Validity step - hides properties and filters enum values based on UI5 version requirements.
|
|
10
|
+
* Runs first in the pipeline.
|
|
11
|
+
*/
|
|
12
|
+
class Validity {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.name = 'validity';
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Hides properties or filters enum values based on UI5 version requirements.
|
|
18
|
+
*
|
|
19
|
+
* @param target - The class prototype containing decorator metadata
|
|
20
|
+
* @param definition - The schema definition to modify
|
|
21
|
+
* @param context - Runtime context providing the minimum UI5 version
|
|
22
|
+
*/
|
|
23
|
+
init(target, definition, context) {
|
|
24
|
+
const minUI5Version = context.app?.getMinUI5Version?.();
|
|
25
|
+
if (!definition?.properties || !minUI5Version) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
for (const propertyName in definition.properties) {
|
|
29
|
+
const property = definition.properties[propertyName];
|
|
30
|
+
const validityInfo = Reflect.getMetadata(decorators_1.metadataKeys.validity, target, propertyName);
|
|
31
|
+
// Check if property has a 'since' requirement that exceeds the app's minUI5Version
|
|
32
|
+
if (validityInfo?.since && !(0, utils_1.compareUI5Versions)(minUI5Version, validityInfo.since)) {
|
|
33
|
+
property[ux_specification_types_1.SchemaTag.hidden] = true;
|
|
34
|
+
}
|
|
35
|
+
// Process enum validity configuration
|
|
36
|
+
if (validityInfo?.enum) {
|
|
37
|
+
const enumValues = (0, enum_utils_1.resolveEnumFromProperty)(property, context);
|
|
38
|
+
if (enumValues) {
|
|
39
|
+
const filteredEnum = enumValues.filter((enumValue) => {
|
|
40
|
+
const enumValueStr = String(enumValue);
|
|
41
|
+
const condition = validityInfo.enum?.[enumValueStr];
|
|
42
|
+
if (!condition) {
|
|
43
|
+
return true; // Keep values without conditions
|
|
44
|
+
}
|
|
45
|
+
// Check UI5 version requirement
|
|
46
|
+
if (condition.since && minUI5Version) {
|
|
47
|
+
if (!(0, utils_1.compareUI5Versions)(minUI5Version, condition.since)) {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
// Check property dependency using dependsOn function
|
|
52
|
+
if (condition.dependsOn) {
|
|
53
|
+
if (!condition.dependsOn(context)) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return true;
|
|
58
|
+
});
|
|
59
|
+
if (filteredEnum.length !== enumValues.length) {
|
|
60
|
+
(0, enum_utils_1.applyFilteredEnumToProperty)(property, filteredEnum, context);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.Validity = Validity;
|
|
68
|
+
//# sourceMappingURL=Validity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Validity.js","sourceRoot":"","sources":["../../../../../../../src/sync/common/decoration/steps/Validity.ts"],"names":[],"mappings":";;;AACA,wEAAwD;AAExD,wDAAkE;AAClE,8CAA6C;AAC7C,6CAAoF;AAEpF;;;GAGG;AACH,MAAa,QAAQ;IAArB;QACa,SAAI,GAAG,UAAU,CAAC;IA2D/B,CAAC;IAzDG;;;;;;OAMG;IACH,IAAI,CAAC,MAAc,EAAE,UAAsB,EAAE,OAAyB;QAClE,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,gBAAgB,EAAE,EAAE,CAAC;QACxD,IAAI,CAAC,UAAU,EAAE,UAAU,IAAI,CAAC,aAAa,EAAE,CAAC;YAC5C,OAAO;QACX,CAAC;QAED,KAAK,MAAM,YAAY,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,YAAY,CAAe,CAAC;YACnE,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,yBAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YAEtF,mFAAmF;YACnF,IAAI,YAAY,EAAE,KAAK,IAAI,CAAC,IAAA,0BAAkB,EAAC,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChF,QAAQ,CAAC,kCAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;YACtC,CAAC;YAED,sCAAsC;YACtC,IAAI,YAAY,EAAE,IAAI,EAAE,CAAC;gBACrB,MAAM,UAAU,GAAG,IAAA,oCAAuB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC9D,IAAI,UAAU,EAAE,CAAC;oBACb,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE;wBACjD,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;wBACvC,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC;wBACpD,IAAI,CAAC,SAAS,EAAE,CAAC;4BACb,OAAO,IAAI,CAAC,CAAC,iCAAiC;wBAClD,CAAC;wBAED,gCAAgC;wBAChC,IAAI,SAAS,CAAC,KAAK,IAAI,aAAa,EAAE,CAAC;4BACnC,IAAI,CAAC,IAAA,0BAAkB,EAAC,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gCACtD,OAAO,KAAK,CAAC;4BACjB,CAAC;wBACL,CAAC;wBAED,qDAAqD;wBACrD,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;4BACtB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;gCAChC,OAAO,KAAK,CAAC;4BACjB,CAAC;wBACL,CAAC;wBAED,OAAO,IAAI,CAAC;oBAChB,CAAC,CAAC,CAAC;oBAEH,IAAI,YAAY,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;wBAC5C,IAAA,wCAA2B,EAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;oBACjE,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;CACJ;AA5DD,4BA4DC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Definition } from 'typescript-json-schema';
|
|
2
|
+
import type { DecoratorContext } from '../interfaces';
|
|
3
|
+
/**
|
|
4
|
+
* Resolves the current enum values from a property, following $ref if needed.
|
|
5
|
+
*
|
|
6
|
+
* @param property - The schema property definition
|
|
7
|
+
* @param context - Runtime context for schema access
|
|
8
|
+
* @returns The enum values array, or undefined if no enum is found
|
|
9
|
+
*/
|
|
10
|
+
export declare function resolveEnumFromProperty(property: Definition, context: DecoratorContext): string[] | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* Applies filtered enum values to a property, inlining $ref types if needed.
|
|
13
|
+
*
|
|
14
|
+
* @param property - The schema property definition to modify
|
|
15
|
+
* @param filteredEnum - The filtered list of allowed enum values
|
|
16
|
+
* @param context - Runtime context for schema access
|
|
17
|
+
*/
|
|
18
|
+
export declare function applyFilteredEnumToProperty(property: Definition, filteredEnum: string[], context: DecoratorContext): void;
|
|
19
|
+
//# sourceMappingURL=enum-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum-utils.d.ts","sourceRoot":"","sources":["../../../../../../../src/sync/common/decoration/steps/enum-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,GAAG,MAAM,EAAE,GAAG,SAAS,CAe7G;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACvC,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,MAAM,EAAE,EACtB,OAAO,EAAE,gBAAgB,GAC1B,IAAI,CAeN"}
|