@sap/ux-specification 1.124.35 → 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 +68 -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 +278 -269
- 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 +75 -4
- package/dist/specification/package.json +10 -10
- 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 +126 -2
- 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 +36 -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/i18n/i18n.d.ts.map +1 -1
- package/dist/specification/src/i18n/i18n.js +2 -1
- package/dist/specification/src/i18n/i18n.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 +6 -48
- package/dist/specification/src/sync/common/decoration/decorators.d.ts.map +1 -1
- package/dist/specification/src/sync/common/decoration/decorators.js +26 -106
- 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/analyticalListReport.js +7 -7
- package/dist/specification/src/sync/v2/generate/analyticalListReport.js.map +1 -1
- package/dist/specification/src/sync/v2/generate/objectPage.d.ts.map +1 -1
- package/dist/specification/src/sync/v2/generate/objectPage.js +56 -2
- package/dist/specification/src/sync/v2/generate/objectPage.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 +12 -0
- package/dist/specification/src/sync/v4/application.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/application.js +26 -1
- 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 +10 -7
- 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 +93 -13
- 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/generate/objectPage.js +17 -23
- package/dist/specification/src/sync/v4/generate/objectPage.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 +119 -127
- package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.d.ts.map +1 -1
- package/dist/specification/src/sync/v4/sync-rules/DecoratorClass.js +172 -171
- 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 +11 -11
|
@@ -39,14 +39,6 @@ export declare const descriptionUrlMetadataKey: unique symbol;
|
|
|
39
39
|
export declare const descriptionSrcURL: (id: string) => any;
|
|
40
40
|
export declare const getDescriptionSrcURL: (target: any, propertyName: string) => string;
|
|
41
41
|
export declare const validity: (validity: Validity) => any;
|
|
42
|
-
/**
|
|
43
|
-
* Retrieves the validity metadata associated with a specific property of a target object.
|
|
44
|
-
*
|
|
45
|
-
* @param target - The object containing the property.
|
|
46
|
-
* @param propertyName - The name of the property whose validity metadata is to be retrieved.
|
|
47
|
-
* @returns The validity information of the property, or undefined if no metadata is found.
|
|
48
|
-
*/
|
|
49
|
-
export declare function getValidityMetadata(target: object, propertyName: string): ValidityInformation | undefined;
|
|
50
42
|
/**
|
|
51
43
|
* Mark the target class with a metadata flag indicating it is a view node.
|
|
52
44
|
*
|
|
@@ -69,42 +61,34 @@ export interface DecoratorMetadata extends DependsOnCondition {
|
|
|
69
61
|
}
|
|
70
62
|
/**
|
|
71
63
|
* Decorator to conditionally hide a property based on conditions.
|
|
72
|
-
* The property will be hidden
|
|
64
|
+
* The property will be hidden when the condition(s) ARE met.
|
|
73
65
|
*
|
|
74
66
|
* @example
|
|
75
67
|
* ```typescript
|
|
76
68
|
* import { page, custom, when, and, or } from './decorator-paths';
|
|
77
69
|
*
|
|
78
|
-
* // Truthy check - hide
|
|
70
|
+
* // Truthy check - hide when page.isALP is truthy
|
|
79
71
|
* @hide(page.isALP)
|
|
80
72
|
*
|
|
81
|
-
* // Equality check - hide
|
|
73
|
+
* // Equality check - hide when page.type === 'GridTable'
|
|
82
74
|
* @hide(when(page.type, 'GridTable'))
|
|
83
75
|
*
|
|
84
|
-
* // Custom function - hide
|
|
76
|
+
* // Custom function - hide when function returns true (type !== 'GridTable')
|
|
85
77
|
* @hide(when(page.type, (type) => type !== 'GridTable'))
|
|
86
78
|
*
|
|
87
79
|
* // Always hide
|
|
88
80
|
* @hide(true)
|
|
89
81
|
*
|
|
90
|
-
* // AND logic - hide
|
|
82
|
+
* // AND logic - hide when isALP is truthy AND type === 'GridTable'
|
|
91
83
|
* @hide(and(page.isALP, when(page.type, 'GridTable')))
|
|
92
84
|
*
|
|
93
|
-
* // OR logic - hide
|
|
85
|
+
* // OR logic - hide when actionType === 'Bound' OR actionType === 'Custom'
|
|
94
86
|
* @hide(or(when(page.actionType, 'Bound'), when(page.actionType, 'Custom')))
|
|
95
87
|
* ```
|
|
96
88
|
* @param condition - The condition to evaluate
|
|
97
89
|
* @returns PropertyDecorator
|
|
98
90
|
*/
|
|
99
91
|
export declare function hide(condition: ConditionInput): PropertyDecorator;
|
|
100
|
-
/**
|
|
101
|
-
* Retrieves the hide metadata associated with a specific property of a target object.
|
|
102
|
-
*
|
|
103
|
-
* @param target - The object containing the property.
|
|
104
|
-
* @param propertyName - The name of the property whose hide metadata is to be retrieved.
|
|
105
|
-
* @returns The hide information of the property, or undefined if no metadata is found.
|
|
106
|
-
*/
|
|
107
|
-
export declare function getHideMetadata(target: object, propertyName: string): DecoratorMetadata | undefined;
|
|
108
92
|
/**
|
|
109
93
|
* Decorator to conditionally display a message based on conditions.
|
|
110
94
|
* A message will be shown when the condition(s) are met.
|
|
@@ -135,15 +119,6 @@ export declare function getHideMetadata(target: object, propertyName: string): D
|
|
|
135
119
|
* ```
|
|
136
120
|
*/
|
|
137
121
|
export declare function message(condition: ConditionInput, messageConfig: MessageConfig): PropertyDecorator;
|
|
138
|
-
/**
|
|
139
|
-
* Retrieves the message metadata associated with a specific property of a target object.
|
|
140
|
-
* Returns an array of DecoratorMetadata since multiple @message decorators can be applied.
|
|
141
|
-
*
|
|
142
|
-
* @param target - The object containing the property.
|
|
143
|
-
* @param propertyName - The name of the property whose message metadata is to be retrieved.
|
|
144
|
-
* @returns An array of message metadata, or undefined if no metadata is found.
|
|
145
|
-
*/
|
|
146
|
-
export declare function getMessageMetadata(target: object, propertyName: string): DecoratorMetadata[] | undefined;
|
|
147
122
|
/**
|
|
148
123
|
* Decorator to conditionally mark a property as readonly based on conditions.
|
|
149
124
|
* The property will be readonly when the condition(s) are met.
|
|
@@ -165,14 +140,6 @@ export declare function getMessageMetadata(target: object, propertyName: string)
|
|
|
165
140
|
* @returns PropertyDecorator
|
|
166
141
|
*/
|
|
167
142
|
export declare function readonly(condition: ConditionInput): PropertyDecorator;
|
|
168
|
-
/**
|
|
169
|
-
* Retrieves the readonly metadata associated with a specific property of a target object.
|
|
170
|
-
*
|
|
171
|
-
* @param target - The object containing the property.
|
|
172
|
-
* @param propertyName - The name of the property whose readonly metadata is to be retrieved.
|
|
173
|
-
* @returns The readonly information of the property, or undefined if no metadata is found.
|
|
174
|
-
*/
|
|
175
|
-
export declare function getReadonlyMetadata(target: object, propertyName: string): DecoratorMetadata | undefined;
|
|
176
143
|
/**
|
|
177
144
|
* Metadata structure for the @enums decorator.
|
|
178
145
|
* Extends DecoratorMetadata with the list of allowed enum values.
|
|
@@ -204,15 +171,6 @@ export interface EnumsDecoratorMetadata extends DecoratorMetadata {
|
|
|
204
171
|
* @returns PropertyDecorator
|
|
205
172
|
*/
|
|
206
173
|
export declare function enums(condition: ConditionInput, allowedValues: string[]): PropertyDecorator;
|
|
207
|
-
/**
|
|
208
|
-
* Retrieves the enums metadata associated with a specific property of a target object.
|
|
209
|
-
* Returns an array of EnumsDecoratorMetadata since multiple @enums decorators can be applied.
|
|
210
|
-
*
|
|
211
|
-
* @param target - The object containing the property.
|
|
212
|
-
* @param propertyName - The name of the property whose enums metadata is to be retrieved.
|
|
213
|
-
* @returns An array of enums metadata, or undefined if no metadata is found.
|
|
214
|
-
*/
|
|
215
|
-
export declare function getEnumsMetadata(target: object, propertyName: string): EnumsDecoratorMetadata[] | undefined;
|
|
216
174
|
/**
|
|
217
175
|
* Generates a deprecation message for a given key, optionally including additional validity information.
|
|
218
176
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/common/decoration/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACR,QAAQ,EACR,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,QAAQ,EACR,kBAAkB,EAIrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAQH,KAAK,cAAc,EAEnB,KAAK,aAAa,EAErB,MAAM,mBAAmB,CAAC;AAM3B;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;;CASxB,CAAC;
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../../../../../src/sync/common/decoration/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACR,QAAQ,EACR,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,QAAQ,EACR,kBAAkB,EAIrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAQH,KAAK,cAAc,EAEnB,KAAK,aAAa,EAErB,MAAM,mBAAmB,CAAC;AAM3B;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;;CASxB,CAAC;AAoBF,eAAO,MAAM,QAAQ,GAAI,UAAU,QAAQ,KAAG,GAE7C,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAM7F;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,gBAAgB,GAAG,QAAQ,GAAG,SAAS,CAMlF;AAMD,eAAO,MAAM,qBAAqB,GAC7B,UAAU,qBAAqB,MAC/B,aAAa,QAAQ,KAAG,IAExB,CAAC;AAGN,eAAO,MAAM,OAAO,GAAI,IAAI,MAAM,KAAG,GAEpC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,QAAQ,GAAG,EAAE,cAAc,MAAM,KAAG,MAE9D,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,QAAQ,GAAG,KAAG,qBAEtD,CAAC;AAMF,eAAO,MAAM,yBAAyB,eAA8B,CAAC;AACrE,eAAO,MAAM,iBAAiB,GAAI,IAAI,MAAM,KAAG,GAE9C,CAAC;AACF,eAAO,MAAM,oBAAoB,GAAI,QAAQ,GAAG,EAAE,cAAc,MAAM,KAAG,MAExE,CAAC;AAMF,eAAO,MAAM,QAAQ,GAAI,UAAU,QAAQ,KAAG,GAE7C,CAAC;AAMF;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAEjD;AAMD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,CAIpE;AA2KD;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,kBAAkB;IACzD,aAAa,CAAC,EAAE,aAAa,CAAC;CACjC;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,IAAI,CAAC,SAAS,EAAE,cAAc,GAAG,iBAAiB,CAGjE;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,GAAG,iBAAiB,CAMlG;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,QAAQ,CAAC,SAAS,EAAE,cAAc,GAAG,iBAAiB,CAGrE;AAMD;;;GAGG;AACH,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC7D,wDAAwD;IACxD,aAAa,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,KAAK,CAAC,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAG3F;AAMD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAQnG"}
|
|
@@ -3,17 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.validity = exports.getDescriptionSrcURL = exports.descriptionSrcURL = exports.descriptionUrlMetadataKey = exports.getPageLayoutInformation = exports.getChildId = exports.childId = exports.pageLayoutInformation = exports.syncRule = exports.metadataKeys = void 0;
|
|
4
4
|
exports.getReflectMetadata = getReflectMetadata;
|
|
5
5
|
exports.getReflectTypeMetadata = getReflectTypeMetadata;
|
|
6
|
-
exports.getValidityMetadata = getValidityMetadata;
|
|
7
6
|
exports.isViewNode = isViewNode;
|
|
8
7
|
exports.description = description;
|
|
9
8
|
exports.hide = hide;
|
|
10
|
-
exports.getHideMetadata = getHideMetadata;
|
|
11
9
|
exports.message = message;
|
|
12
|
-
exports.getMessageMetadata = getMessageMetadata;
|
|
13
10
|
exports.readonly = readonly;
|
|
14
|
-
exports.getReadonlyMetadata = getReadonlyMetadata;
|
|
15
11
|
exports.enums = enums;
|
|
16
|
-
exports.getEnumsMetadata = getEnumsMetadata;
|
|
17
12
|
exports.getTextForDeprecated = getTextForDeprecated;
|
|
18
13
|
require("reflect-metadata");
|
|
19
14
|
const decorator_paths_1 = require("./decorator-paths");
|
|
@@ -34,6 +29,19 @@ exports.metadataKeys = {
|
|
|
34
29
|
readonly: Symbol('generate:readonly'),
|
|
35
30
|
enums: Symbol('generate:enums')
|
|
36
31
|
};
|
|
32
|
+
/**
|
|
33
|
+
* Appends a decorator condition entry to the metadata array stored on a property.
|
|
34
|
+
*
|
|
35
|
+
* @param key - The metadata key identifying the decorator type (hide, message, readonly, enums)
|
|
36
|
+
* @param instance - The class instance that owns the decorated property
|
|
37
|
+
* @param propertyKey - The name of the decorated property
|
|
38
|
+
* @param entry - The parsed condition to append
|
|
39
|
+
*/
|
|
40
|
+
function appendCondition(key, instance, propertyKey, entry) {
|
|
41
|
+
const existing = Reflect.getMetadata(key, instance, propertyKey) || [];
|
|
42
|
+
existing.push(entry);
|
|
43
|
+
Reflect.defineMetadata(key, existing, instance, propertyKey);
|
|
44
|
+
}
|
|
37
45
|
// ============================================
|
|
38
46
|
// SYNC RULE DECORATORS
|
|
39
47
|
// ============================================
|
|
@@ -107,20 +115,6 @@ const validity = (validity) => {
|
|
|
107
115
|
return Reflect.metadata(exports.metadataKeys.validity, validity);
|
|
108
116
|
};
|
|
109
117
|
exports.validity = validity;
|
|
110
|
-
/**
|
|
111
|
-
* Retrieves the validity metadata associated with a specific property of a target object.
|
|
112
|
-
*
|
|
113
|
-
* @param target - The object containing the property.
|
|
114
|
-
* @param propertyName - The name of the property whose validity metadata is to be retrieved.
|
|
115
|
-
* @returns The validity information of the property, or undefined if no metadata is found.
|
|
116
|
-
*/
|
|
117
|
-
function getValidityMetadata(target, propertyName) {
|
|
118
|
-
let validityInfo;
|
|
119
|
-
if (target) {
|
|
120
|
-
validityInfo = Reflect.getMetadata(exports.metadataKeys.validity, target, propertyName);
|
|
121
|
-
}
|
|
122
|
-
return validityInfo;
|
|
123
|
-
}
|
|
124
118
|
// ============================================
|
|
125
119
|
// VIEW NODE DECORATOR
|
|
126
120
|
// ============================================
|
|
@@ -302,52 +296,35 @@ function parseCondition(condition) {
|
|
|
302
296
|
// ============================================
|
|
303
297
|
/**
|
|
304
298
|
* Decorator to conditionally hide a property based on conditions.
|
|
305
|
-
* The property will be hidden
|
|
299
|
+
* The property will be hidden when the condition(s) ARE met.
|
|
306
300
|
*
|
|
307
301
|
* @example
|
|
308
302
|
* ```typescript
|
|
309
303
|
* import { page, custom, when, and, or } from './decorator-paths';
|
|
310
304
|
*
|
|
311
|
-
* // Truthy check - hide
|
|
305
|
+
* // Truthy check - hide when page.isALP is truthy
|
|
312
306
|
* @hide(page.isALP)
|
|
313
307
|
*
|
|
314
|
-
* // Equality check - hide
|
|
308
|
+
* // Equality check - hide when page.type === 'GridTable'
|
|
315
309
|
* @hide(when(page.type, 'GridTable'))
|
|
316
310
|
*
|
|
317
|
-
* // Custom function - hide
|
|
311
|
+
* // Custom function - hide when function returns true (type !== 'GridTable')
|
|
318
312
|
* @hide(when(page.type, (type) => type !== 'GridTable'))
|
|
319
313
|
*
|
|
320
314
|
* // Always hide
|
|
321
315
|
* @hide(true)
|
|
322
316
|
*
|
|
323
|
-
* // AND logic - hide
|
|
317
|
+
* // AND logic - hide when isALP is truthy AND type === 'GridTable'
|
|
324
318
|
* @hide(and(page.isALP, when(page.type, 'GridTable')))
|
|
325
319
|
*
|
|
326
|
-
* // OR logic - hide
|
|
320
|
+
* // OR logic - hide when actionType === 'Bound' OR actionType === 'Custom'
|
|
327
321
|
* @hide(or(when(page.actionType, 'Bound'), when(page.actionType, 'Custom')))
|
|
328
322
|
* ```
|
|
329
323
|
* @param condition - The condition to evaluate
|
|
330
324
|
* @returns PropertyDecorator
|
|
331
325
|
*/
|
|
332
326
|
function hide(condition) {
|
|
333
|
-
return (
|
|
334
|
-
const hideInfo = parseCondition(condition);
|
|
335
|
-
Reflect.defineMetadata(exports.metadataKeys.hide, hideInfo, target, propertyKey);
|
|
336
|
-
};
|
|
337
|
-
}
|
|
338
|
-
/**
|
|
339
|
-
* Retrieves the hide metadata associated with a specific property of a target object.
|
|
340
|
-
*
|
|
341
|
-
* @param target - The object containing the property.
|
|
342
|
-
* @param propertyName - The name of the property whose hide metadata is to be retrieved.
|
|
343
|
-
* @returns The hide information of the property, or undefined if no metadata is found.
|
|
344
|
-
*/
|
|
345
|
-
function getHideMetadata(target, propertyName) {
|
|
346
|
-
let hideInfo;
|
|
347
|
-
if (target) {
|
|
348
|
-
hideInfo = Reflect.getMetadata(exports.metadataKeys.hide, target, propertyName);
|
|
349
|
-
}
|
|
350
|
-
return hideInfo;
|
|
327
|
+
return (instance, propertyKey) => appendCondition(exports.metadataKeys.hide, instance, propertyKey, parseCondition(condition));
|
|
351
328
|
}
|
|
352
329
|
// ============================================
|
|
353
330
|
// MESSAGE DECORATOR
|
|
@@ -382,29 +359,12 @@ function getHideMetadata(target, propertyName) {
|
|
|
382
359
|
* ```
|
|
383
360
|
*/
|
|
384
361
|
function message(condition, messageConfig) {
|
|
385
|
-
return (
|
|
386
|
-
const
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
const existing = Reflect.getMetadata(exports.metadataKeys.message, target, propertyKey) || [];
|
|
390
|
-
existing.push(messageInfo);
|
|
391
|
-
Reflect.defineMetadata(exports.metadataKeys.message, existing, target, propertyKey);
|
|
362
|
+
return (instance, propertyKey) => {
|
|
363
|
+
const info = parseCondition(condition);
|
|
364
|
+
info.messageConfig = messageConfig;
|
|
365
|
+
appendCondition(exports.metadataKeys.message, instance, propertyKey, info);
|
|
392
366
|
};
|
|
393
367
|
}
|
|
394
|
-
/**
|
|
395
|
-
* Retrieves the message metadata associated with a specific property of a target object.
|
|
396
|
-
* Returns an array of DecoratorMetadata since multiple @message decorators can be applied.
|
|
397
|
-
*
|
|
398
|
-
* @param target - The object containing the property.
|
|
399
|
-
* @param propertyName - The name of the property whose message metadata is to be retrieved.
|
|
400
|
-
* @returns An array of message metadata, or undefined if no metadata is found.
|
|
401
|
-
*/
|
|
402
|
-
function getMessageMetadata(target, propertyName) {
|
|
403
|
-
if (target) {
|
|
404
|
-
return Reflect.getMetadata(exports.metadataKeys.message, target, propertyName);
|
|
405
|
-
}
|
|
406
|
-
return undefined;
|
|
407
|
-
}
|
|
408
368
|
// ============================================
|
|
409
369
|
// READONLY DECORATOR
|
|
410
370
|
// ============================================
|
|
@@ -429,24 +389,7 @@ function getMessageMetadata(target, propertyName) {
|
|
|
429
389
|
* @returns PropertyDecorator
|
|
430
390
|
*/
|
|
431
391
|
function readonly(condition) {
|
|
432
|
-
return (
|
|
433
|
-
const readonlyInfo = parseCondition(condition);
|
|
434
|
-
Reflect.defineMetadata(exports.metadataKeys.readonly, readonlyInfo, target, propertyKey);
|
|
435
|
-
};
|
|
436
|
-
}
|
|
437
|
-
/**
|
|
438
|
-
* Retrieves the readonly metadata associated with a specific property of a target object.
|
|
439
|
-
*
|
|
440
|
-
* @param target - The object containing the property.
|
|
441
|
-
* @param propertyName - The name of the property whose readonly metadata is to be retrieved.
|
|
442
|
-
* @returns The readonly information of the property, or undefined if no metadata is found.
|
|
443
|
-
*/
|
|
444
|
-
function getReadonlyMetadata(target, propertyName) {
|
|
445
|
-
let readonlyInfo;
|
|
446
|
-
if (target) {
|
|
447
|
-
readonlyInfo = Reflect.getMetadata(exports.metadataKeys.readonly, target, propertyName);
|
|
448
|
-
}
|
|
449
|
-
return readonlyInfo;
|
|
392
|
+
return (instance, propertyKey) => appendCondition(exports.metadataKeys.readonly, instance, propertyKey, parseCondition(condition));
|
|
450
393
|
}
|
|
451
394
|
/**
|
|
452
395
|
* Decorator to conditionally restrict enum values based on conditions.
|
|
@@ -471,30 +414,7 @@ function getReadonlyMetadata(target, propertyName) {
|
|
|
471
414
|
* @returns PropertyDecorator
|
|
472
415
|
*/
|
|
473
416
|
function enums(condition, allowedValues) {
|
|
474
|
-
return (
|
|
475
|
-
const enumsInfo = {
|
|
476
|
-
...parseCondition(condition),
|
|
477
|
-
allowedValues
|
|
478
|
-
};
|
|
479
|
-
// Support multiple @enums decorators - store as array, first match wins
|
|
480
|
-
const existing = Reflect.getMetadata(exports.metadataKeys.enums, target, propertyKey) || [];
|
|
481
|
-
existing.push(enumsInfo);
|
|
482
|
-
Reflect.defineMetadata(exports.metadataKeys.enums, existing, target, propertyKey);
|
|
483
|
-
};
|
|
484
|
-
}
|
|
485
|
-
/**
|
|
486
|
-
* Retrieves the enums metadata associated with a specific property of a target object.
|
|
487
|
-
* Returns an array of EnumsDecoratorMetadata since multiple @enums decorators can be applied.
|
|
488
|
-
*
|
|
489
|
-
* @param target - The object containing the property.
|
|
490
|
-
* @param propertyName - The name of the property whose enums metadata is to be retrieved.
|
|
491
|
-
* @returns An array of enums metadata, or undefined if no metadata is found.
|
|
492
|
-
*/
|
|
493
|
-
function getEnumsMetadata(target, propertyName) {
|
|
494
|
-
if (target) {
|
|
495
|
-
return Reflect.getMetadata(exports.metadataKeys.enums, target, propertyName);
|
|
496
|
-
}
|
|
497
|
-
return undefined;
|
|
417
|
+
return (instance, propertyKey) => appendCondition(exports.metadataKeys.enums, instance, propertyKey, { ...parseCondition(condition), allowedValues });
|
|
498
418
|
}
|
|
499
419
|
// ============================================
|
|
500
420
|
// DEPRECATION HELPER
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../../../src/sync/common/decoration/decorators.ts"],"names":[],"mappings":";;;
|
|
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"}
|