@sap-ux/preview-middleware 0.19.18 → 0.19.19

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.
Files changed (73) hide show
  1. package/dist/client/adp/api-handler.js +153 -153
  2. package/dist/client/adp/command-executor.js +75 -75
  3. package/dist/client/adp/control-utils.js +44 -44
  4. package/dist/client/adp/controllers/ControllerExtension.controller.js +210 -210
  5. package/dist/client/adp/controllers/ExtensionPoint.controller.js +139 -139
  6. package/dist/client/adp/controllers/FileExistsDialog.controller.js +66 -66
  7. package/dist/client/adp/dialog-factory.js +135 -135
  8. package/dist/client/adp/init-dialogs.js +138 -138
  9. package/dist/client/adp/quick-actions/add-new-subpage-quick-action-base.js +96 -96
  10. package/dist/client/adp/quick-actions/common/add-controller-to-page.js +60 -60
  11. package/dist/client/adp/quick-actions/common/create-page-action.js +54 -54
  12. package/dist/client/adp/quick-actions/common/op-add-custom-section.js +39 -39
  13. package/dist/client/adp/quick-actions/common/op-add-header-field.js +67 -67
  14. package/dist/client/adp/quick-actions/common/utils.js +18 -18
  15. package/dist/client/adp/quick-actions/control-types.js +23 -23
  16. package/dist/client/adp/quick-actions/dialog-enablement-validator.js +24 -24
  17. package/dist/client/adp/quick-actions/enablement-validator.js +4 -4
  18. package/dist/client/adp/quick-actions/fe-v2/add-new-subpage.js +81 -81
  19. package/dist/client/adp/quick-actions/fe-v2/change-table-actions.js +67 -67
  20. package/dist/client/adp/quick-actions/fe-v2/change-table-columns.js +101 -101
  21. package/dist/client/adp/quick-actions/fe-v2/create-table-action.js +107 -107
  22. package/dist/client/adp/quick-actions/fe-v2/create-table-custom-column.js +99 -99
  23. package/dist/client/adp/quick-actions/fe-v2/lr-enable-semantic-date-range-filter-bar.js +78 -78
  24. package/dist/client/adp/quick-actions/fe-v2/lr-enable-table-filtering.js +77 -77
  25. package/dist/client/adp/quick-actions/fe-v2/lr-enable-variant-management.js +69 -69
  26. package/dist/client/adp/quick-actions/fe-v2/lr-toggle-clear-filter-bar.js +59 -59
  27. package/dist/client/adp/quick-actions/fe-v2/op-enable-empty-row-mode.js +93 -93
  28. package/dist/client/adp/quick-actions/fe-v2/op-enable-variant-management.js +84 -84
  29. package/dist/client/adp/quick-actions/fe-v2/registry.js +77 -77
  30. package/dist/client/adp/quick-actions/fe-v2/utils.js +116 -116
  31. package/dist/client/adp/quick-actions/fe-v4/add-new-subpage.js +138 -138
  32. package/dist/client/adp/quick-actions/fe-v4/change-table-actions.js +79 -79
  33. package/dist/client/adp/quick-actions/fe-v4/change-table-columns.js +73 -73
  34. package/dist/client/adp/quick-actions/fe-v4/create-table-action.js +53 -53
  35. package/dist/client/adp/quick-actions/fe-v4/create-table-custom-column.js +49 -49
  36. package/dist/client/adp/quick-actions/fe-v4/enable-variant-management.js +81 -81
  37. package/dist/client/adp/quick-actions/fe-v4/lr-enable-semantic-date-range-filter-bar.js +56 -56
  38. package/dist/client/adp/quick-actions/fe-v4/lr-enable-table-filtering.js +82 -82
  39. package/dist/client/adp/quick-actions/fe-v4/lr-toggle-clear-filter-bar.js +53 -53
  40. package/dist/client/adp/quick-actions/fe-v4/op-enable-empty-row-mode.js +89 -89
  41. package/dist/client/adp/quick-actions/fe-v4/registry.js +60 -60
  42. package/dist/client/adp/quick-actions/fe-v4/utils.js +72 -72
  43. package/dist/client/adp/quick-actions/load.js +44 -44
  44. package/dist/client/adp/quick-actions/quick-action-base.js +64 -64
  45. package/dist/client/adp/utils.js +218 -218
  46. package/dist/client/cpe/changes/index.js +10 -10
  47. package/dist/client/cpe/changes/validator.js +39 -39
  48. package/dist/client/cpe/documentation.js +164 -164
  49. package/dist/client/cpe/feature-service.js +36 -36
  50. package/dist/client/cpe/logger.js +30 -30
  51. package/dist/client/cpe/outline/editable.js +37 -37
  52. package/dist/client/cpe/outline/nodes.js +203 -203
  53. package/dist/client/cpe/quick-actions/quick-action-definition.js +4 -4
  54. package/dist/client/cpe/quick-actions/registry.js +143 -143
  55. package/dist/client/cpe/quick-actions/utils.js +92 -92
  56. package/dist/client/cpe/types.js +4 -4
  57. package/dist/client/cpe/ui5-utils.js +33 -33
  58. package/dist/client/cpe/utils.js +111 -111
  59. package/dist/client/flp/WorkspaceConnector.js +86 -86
  60. package/dist/client/flp/common.js +28 -28
  61. package/dist/client/flp/enableFakeConnector.js +83 -83
  62. package/dist/client/flp/homepage/Component.js +14 -14
  63. package/dist/client/flp/initCdm.js +117 -117
  64. package/dist/client/flp/initConnectors.js +28 -28
  65. package/dist/client/flp/initRta.js +178 -178
  66. package/dist/client/i18n.js +56 -56
  67. package/dist/client/utils/application.js +32 -32
  68. package/dist/client/utils/core.js +84 -84
  69. package/dist/client/utils/error.js +19 -19
  70. package/dist/client/utils/fe-v2.js +56 -56
  71. package/dist/client/utils/fe-v4.js +140 -140
  72. package/dist/client/utils/version.js +104 -104
  73. package/package.json +5 -5
@@ -1,166 +1,166 @@
1
- "use strict";
2
-
3
- sap.ui.define(["./utils", "sap/base/Log"], function (___utils, Log) {
4
- "use strict";
5
-
6
- const getLibrary = ___utils["getLibrary"];
7
- /**
8
- * Get ui5 metadata of given library name.
9
- *
10
- * @param libName library name for eg: sap.m
11
- * @returns Promise<SchemaForApiJsonFiles>
12
- */
13
- async function getUi5ApiDtMetadata(libName) {
14
- const libUrl = '/test-resources/' + libName.split('.').join('/') + '/designtime/api.json';
15
- return fetch(libUrl).then(res => res.json());
16
- }
17
-
18
- /**
19
- * load ui5 controls design time metadata api.json for following libraries
20
- * sap.m, sap.ui.comp, sap.f, sap.ui.core
21
- * loading libraries(more in file size) in parallel during initialization.
22
- * Others (less in file size) are loaded dynamically in getControlMetadata method
23
- */
24
- const ui5ApiDtMetadata = new Map();
25
- function loadDefaultLibraries() {
26
- const allData = Promise.all([getUi5ApiDtMetadata('sap.m'), getUi5ApiDtMetadata('sap.ui.comp'), getUi5ApiDtMetadata('sap.ui.core'), getUi5ApiDtMetadata('sap.f')]);
27
- allData.then(res => {
28
- res.forEach(api => {
29
- if (api.library) {
30
- ui5ApiDtMetadata.set(api.library, api);
31
- }
32
- });
33
- }).catch(reason => Log.error('Loading Library Failed: ' + reason));
34
- }
35
-
36
- /**
37
- * Format html text.
38
- *
39
- * @param sHtml - html string
40
- * @returns string
41
- */
42
- function formatHtmlText(sHtml) {
43
- // replaced "sHtml.replace(new RegExp('<[^>]*>', 'g')" due to regex runtime vulnerability
44
- const parts = (sHtml || '').split('<');
45
- let result = '';
46
- for (const part of parts) {
47
- if (!result) {
48
- result = part;
49
- } else {
50
- const indexClosingBracket = part.indexOf('>');
51
- result += indexClosingBracket >= 0 ? part.substring(indexClosingBracket + 1) : `<${part}`;
52
- }
53
- }
54
- return result;
55
- }
56
-
57
- /**
58
- * Method to parse ui5 control metadata.
59
- *
60
- * @param controlLibMetadata control library metadata
61
- * @param controlName name of the control
62
- * @returns ControlMetadata
63
- */
64
- function parseControlMetaModel(controlLibMetadata, controlName) {
65
- const controlInfo = {
66
- baseType: '',
67
- doc: '',
68
- properties: {}
69
- };
70
- const selectedControlMetadata = (controlLibMetadata.symbols ?? []).find(control => control.name === controlName);
71
- if (selectedControlMetadata) {
72
- // base type info of control is available on property 'extends'
73
- controlInfo.baseType = selectedControlMetadata.extends;
74
- controlInfo.doc = selectedControlMetadata.description ?? '';
75
- const properties = selectedControlMetadata['ui5-metadata'].properties;
76
- if (properties) {
77
- properties.forEach(prop => {
78
- prop.description = formatHtmlText(prop.description || '');
79
- prop.propertyName = prop.name;
80
- prop.propertyType = prop.type;
81
- if (prop.defaultValue === null || prop.defaultValue === '') {
82
- prop.defaultValue = '-';
83
- }
84
- controlInfo.properties[prop.name] = {
85
- ...prop
86
- };
87
- });
88
- }
89
- }
90
- return controlInfo;
91
- }
92
-
93
- /**
94
- * Get control metadata for a given control.
95
- *
96
- * @param controlName name of the control
97
- * @param contLibName library name of the control
98
- * @returns Promise<ControlMetadata | undefined>
99
- */
100
- async function getControlMetadata(controlName, contLibName) {
101
- let result;
102
- let controlLibMetadata = ui5ApiDtMetadata.get(contLibName);
103
- if (controlLibMetadata) {
104
- result = parseControlMetaModel(controlLibMetadata, controlName);
105
- } else {
106
- controlLibMetadata = await getUi5ApiDtMetadata(contLibName);
107
- ui5ApiDtMetadata.set(contLibName, controlLibMetadata);
108
- result = parseControlMetaModel(controlLibMetadata, controlName);
109
- }
110
- return result;
111
- }
112
-
113
- /**
114
- * Get Control Property Documentation for a give control name and control library.
115
- *
116
- * @param controlName name of the control
117
- * @param contLibName library name of the control
118
- * @returns Promise<Properties | undefined>
119
- */
120
- async function getControlPropertyDocumentation(controlName, contLibName) {
121
- const doc = await getControlMetadata(controlName, contLibName);
122
- if (doc) {
123
- const baseControlType = doc.baseType;
124
- if (baseControlType) {
125
- const baseContLibName = await getLibrary(baseControlType);
126
- if (baseContLibName) {
127
- const baseControlProps = await getControlPropertyDocumentation(baseControlType, baseContLibName);
128
- return {
129
- ...baseControlProps,
130
- ...doc.properties
131
- };
132
- }
133
- }
134
- return {
135
- ...doc.properties
136
- };
137
- } else {
138
- return undefined;
139
- }
140
- }
141
-
142
- /**
143
- * Get documentation of a given control of a ui5 library.
144
- *
145
- * @param controlName name of the control.
146
- * @param contLibName library name of the control
147
- * @returns Promise<Properties | undefined>
148
- */
149
- async function getDocumentation(controlName, contLibName) {
150
- let doc;
151
- try {
152
- doc = await getControlPropertyDocumentation(controlName, contLibName);
153
- } catch (err) {
154
- Log.error(`Error in getting documentation for ${contLibName}`);
155
- }
156
- return doc;
157
- }
158
- var __exports = {
159
- __esModule: true
160
- };
161
- __exports.getUi5ApiDtMetadata = getUi5ApiDtMetadata;
162
- __exports.loadDefaultLibraries = loadDefaultLibraries;
163
- __exports.getDocumentation = getDocumentation;
164
- return __exports;
1
+ "use strict";
2
+
3
+ sap.ui.define(["./utils", "sap/base/Log"], function (___utils, Log) {
4
+ "use strict";
5
+
6
+ const getLibrary = ___utils["getLibrary"];
7
+ /**
8
+ * Get ui5 metadata of given library name.
9
+ *
10
+ * @param libName library name for eg: sap.m
11
+ * @returns Promise<SchemaForApiJsonFiles>
12
+ */
13
+ async function getUi5ApiDtMetadata(libName) {
14
+ const libUrl = '/test-resources/' + libName.split('.').join('/') + '/designtime/api.json';
15
+ return fetch(libUrl).then(res => res.json());
16
+ }
17
+
18
+ /**
19
+ * load ui5 controls design time metadata api.json for following libraries
20
+ * sap.m, sap.ui.comp, sap.f, sap.ui.core
21
+ * loading libraries(more in file size) in parallel during initialization.
22
+ * Others (less in file size) are loaded dynamically in getControlMetadata method
23
+ */
24
+ const ui5ApiDtMetadata = new Map();
25
+ function loadDefaultLibraries() {
26
+ const allData = Promise.all([getUi5ApiDtMetadata('sap.m'), getUi5ApiDtMetadata('sap.ui.comp'), getUi5ApiDtMetadata('sap.ui.core'), getUi5ApiDtMetadata('sap.f')]);
27
+ allData.then(res => {
28
+ res.forEach(api => {
29
+ if (api.library) {
30
+ ui5ApiDtMetadata.set(api.library, api);
31
+ }
32
+ });
33
+ }).catch(reason => Log.error('Loading Library Failed: ' + reason));
34
+ }
35
+
36
+ /**
37
+ * Format html text.
38
+ *
39
+ * @param sHtml - html string
40
+ * @returns string
41
+ */
42
+ function formatHtmlText(sHtml) {
43
+ // replaced "sHtml.replace(new RegExp('<[^>]*>', 'g')" due to regex runtime vulnerability
44
+ const parts = (sHtml || '').split('<');
45
+ let result = '';
46
+ for (const part of parts) {
47
+ if (!result) {
48
+ result = part;
49
+ } else {
50
+ const indexClosingBracket = part.indexOf('>');
51
+ result += indexClosingBracket >= 0 ? part.substring(indexClosingBracket + 1) : `<${part}`;
52
+ }
53
+ }
54
+ return result;
55
+ }
56
+
57
+ /**
58
+ * Method to parse ui5 control metadata.
59
+ *
60
+ * @param controlLibMetadata control library metadata
61
+ * @param controlName name of the control
62
+ * @returns ControlMetadata
63
+ */
64
+ function parseControlMetaModel(controlLibMetadata, controlName) {
65
+ const controlInfo = {
66
+ baseType: '',
67
+ doc: '',
68
+ properties: {}
69
+ };
70
+ const selectedControlMetadata = (controlLibMetadata.symbols ?? []).find(control => control.name === controlName);
71
+ if (selectedControlMetadata) {
72
+ // base type info of control is available on property 'extends'
73
+ controlInfo.baseType = selectedControlMetadata.extends;
74
+ controlInfo.doc = selectedControlMetadata.description ?? '';
75
+ const properties = selectedControlMetadata['ui5-metadata'].properties;
76
+ if (properties) {
77
+ properties.forEach(prop => {
78
+ prop.description = formatHtmlText(prop.description || '');
79
+ prop.propertyName = prop.name;
80
+ prop.propertyType = prop.type;
81
+ if (prop.defaultValue === null || prop.defaultValue === '') {
82
+ prop.defaultValue = '-';
83
+ }
84
+ controlInfo.properties[prop.name] = {
85
+ ...prop
86
+ };
87
+ });
88
+ }
89
+ }
90
+ return controlInfo;
91
+ }
92
+
93
+ /**
94
+ * Get control metadata for a given control.
95
+ *
96
+ * @param controlName name of the control
97
+ * @param contLibName library name of the control
98
+ * @returns Promise<ControlMetadata | undefined>
99
+ */
100
+ async function getControlMetadata(controlName, contLibName) {
101
+ let result;
102
+ let controlLibMetadata = ui5ApiDtMetadata.get(contLibName);
103
+ if (controlLibMetadata) {
104
+ result = parseControlMetaModel(controlLibMetadata, controlName);
105
+ } else {
106
+ controlLibMetadata = await getUi5ApiDtMetadata(contLibName);
107
+ ui5ApiDtMetadata.set(contLibName, controlLibMetadata);
108
+ result = parseControlMetaModel(controlLibMetadata, controlName);
109
+ }
110
+ return result;
111
+ }
112
+
113
+ /**
114
+ * Get Control Property Documentation for a give control name and control library.
115
+ *
116
+ * @param controlName name of the control
117
+ * @param contLibName library name of the control
118
+ * @returns Promise<Properties | undefined>
119
+ */
120
+ async function getControlPropertyDocumentation(controlName, contLibName) {
121
+ const doc = await getControlMetadata(controlName, contLibName);
122
+ if (doc) {
123
+ const baseControlType = doc.baseType;
124
+ if (baseControlType) {
125
+ const baseContLibName = await getLibrary(baseControlType);
126
+ if (baseContLibName) {
127
+ const baseControlProps = await getControlPropertyDocumentation(baseControlType, baseContLibName);
128
+ return {
129
+ ...baseControlProps,
130
+ ...doc.properties
131
+ };
132
+ }
133
+ }
134
+ return {
135
+ ...doc.properties
136
+ };
137
+ } else {
138
+ return undefined;
139
+ }
140
+ }
141
+
142
+ /**
143
+ * Get documentation of a given control of a ui5 library.
144
+ *
145
+ * @param controlName name of the control.
146
+ * @param contLibName library name of the control
147
+ * @returns Promise<Properties | undefined>
148
+ */
149
+ async function getDocumentation(controlName, contLibName) {
150
+ let doc;
151
+ try {
152
+ doc = await getControlPropertyDocumentation(controlName, contLibName);
153
+ } catch (err) {
154
+ Log.error(`Error in getting documentation for ${contLibName}`);
155
+ }
156
+ return doc;
157
+ }
158
+ var __exports = {
159
+ __esModule: true
160
+ };
161
+ __exports.getUi5ApiDtMetadata = getUi5ApiDtMetadata;
162
+ __exports.loadDefaultLibraries = loadDefaultLibraries;
163
+ __exports.getDocumentation = getDocumentation;
164
+ return __exports;
165
165
  });
166
166
  //# sourceMappingURL=documentation.js.map
@@ -1,38 +1,38 @@
1
- "use strict";
2
-
3
- sap.ui.define([], function () {
4
- "use strict";
5
-
6
- class FeatureService {
7
- static features = {};
8
- static #_ = (() => {
9
- // eslint-disable-next-line fiori-custom/sap-no-dom-access, fiori-custom/sap-browser-api-warning
10
- const bootstrapConfig = document.getElementById('sap-ui-bootstrap');
11
- const features = bootstrapConfig?.getAttribute('data-open-ux-preview-features');
12
- if (features) {
13
- const featureToggles = JSON.parse(features);
14
- for (const {
15
- feature,
16
- isEnabled
17
- } of featureToggles) {
18
- this.features[feature] = isEnabled;
19
- }
20
- }
21
- })();
22
- /**
23
- * Checks if given feature is enabled.
24
- *
25
- * @param featureId - Id of the feature.
26
- * @returns true if feature is enabled.
27
- */
28
- static isFeatureEnabled(featureId) {
29
- return this.features[featureId] ?? false;
30
- }
31
- }
32
- var __exports = {
33
- __esModule: true
34
- };
35
- __exports.FeatureService = FeatureService;
36
- return __exports;
1
+ "use strict";
2
+
3
+ sap.ui.define([], function () {
4
+ "use strict";
5
+
6
+ class FeatureService {
7
+ static features = {};
8
+ static #_ = (() => {
9
+ // eslint-disable-next-line fiori-custom/sap-no-dom-access, fiori-custom/sap-browser-api-warning
10
+ const bootstrapConfig = document.getElementById('sap-ui-bootstrap');
11
+ const features = bootstrapConfig?.getAttribute('data-open-ux-preview-features');
12
+ if (features) {
13
+ const featureToggles = JSON.parse(features);
14
+ for (const {
15
+ feature,
16
+ isEnabled
17
+ } of featureToggles) {
18
+ this.features[feature] = isEnabled;
19
+ }
20
+ }
21
+ })();
22
+ /**
23
+ * Checks if given feature is enabled.
24
+ *
25
+ * @param featureId - Id of the feature.
26
+ * @returns true if feature is enabled.
27
+ */
28
+ static isFeatureEnabled(featureId) {
29
+ return this.features[featureId] ?? false;
30
+ }
31
+ }
32
+ var __exports = {
33
+ __esModule: true
34
+ };
35
+ __exports.FeatureService = FeatureService;
36
+ return __exports;
37
37
  });
38
38
  //# sourceMappingURL=feature-service.js.map
@@ -1,32 +1,32 @@
1
- "use strict";
2
-
3
- sap.ui.define(["sap/base/Log"], function (Log) {
4
- "use strict";
5
-
6
- function getString(message) {
7
- if (typeof message === 'object') {
8
- return JSON.stringify(message).toString();
9
- }
10
- return message;
11
- }
12
- const logger = {
13
- info: message => {
14
- Log.info(getString(message));
15
- },
16
- debug: message => {
17
- Log.debug(getString(message));
18
- },
19
- warn: message => {
20
- Log.warning(getString(message));
21
- },
22
- error: message => {
23
- Log.error(getString(message));
24
- }
25
- };
26
- var __exports = {
27
- __esModule: true
28
- };
29
- __exports.logger = logger;
30
- return __exports;
1
+ "use strict";
2
+
3
+ sap.ui.define(["sap/base/Log"], function (Log) {
4
+ "use strict";
5
+
6
+ function getString(message) {
7
+ if (typeof message === 'object') {
8
+ return JSON.stringify(message).toString();
9
+ }
10
+ return message;
11
+ }
12
+ const logger = {
13
+ info: message => {
14
+ Log.info(getString(message));
15
+ },
16
+ debug: message => {
17
+ Log.debug(getString(message));
18
+ },
19
+ warn: message => {
20
+ Log.warning(getString(message));
21
+ },
22
+ error: message => {
23
+ Log.error(getString(message));
24
+ }
25
+ };
26
+ var __exports = {
27
+ __esModule: true
28
+ };
29
+ __exports.logger = logger;
30
+ return __exports;
31
31
  });
32
32
  //# sourceMappingURL=logger.js.map
@@ -1,39 +1,39 @@
1
- "use strict";
2
-
3
- sap.ui.define(["../control-data", "../utils", "sap/ui/dt/OverlayUtil", "sap/ui/dt/OverlayRegistry", "../../utils/core"], function (___control_data, ___utils, OverlayUtil, OverlayRegistry, ____utils_core) {
4
- "use strict";
5
-
6
- const buildControlData = ___control_data["buildControlData"];
7
- const getRuntimeControl = ___utils["getRuntimeControl"];
8
- const getComponent = ____utils_core["getComponent"];
9
- const isEditable = function (changeService) {
10
- let id = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
11
- let editable = false;
12
- const control = sap.ui.getCore().byId(id);
13
- if (!control) {
14
- const component = getComponent(id);
15
- if (component) {
16
- return editable;
17
- }
18
- } else {
19
- let controlOverlay = OverlayRegistry.getOverlay(control);
20
- if (!controlOverlay?.getDomRef()) {
21
- //look for closest control
22
- controlOverlay = OverlayUtil.getClosestOverlayFor(control);
23
- }
24
- if (controlOverlay) {
25
- const runtimeControl = getRuntimeControl(controlOverlay);
26
- const controlData = buildControlData(runtimeControl, changeService, controlOverlay);
27
- const prop = controlData.properties.find(item => item.isEnabled === true);
28
- editable = prop !== undefined;
29
- }
30
- }
31
- return editable;
32
- };
33
- var __exports = {
34
- __esModule: true
35
- };
36
- __exports.isEditable = isEditable;
37
- return __exports;
1
+ "use strict";
2
+
3
+ sap.ui.define(["../control-data", "../utils", "sap/ui/dt/OverlayUtil", "sap/ui/dt/OverlayRegistry", "../../utils/core"], function (___control_data, ___utils, OverlayUtil, OverlayRegistry, ____utils_core) {
4
+ "use strict";
5
+
6
+ const buildControlData = ___control_data["buildControlData"];
7
+ const getRuntimeControl = ___utils["getRuntimeControl"];
8
+ const getComponent = ____utils_core["getComponent"];
9
+ const isEditable = function (changeService) {
10
+ let id = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
11
+ let editable = false;
12
+ const control = sap.ui.getCore().byId(id);
13
+ if (!control) {
14
+ const component = getComponent(id);
15
+ if (component) {
16
+ return editable;
17
+ }
18
+ } else {
19
+ let controlOverlay = OverlayRegistry.getOverlay(control);
20
+ if (!controlOverlay?.getDomRef()) {
21
+ //look for closest control
22
+ controlOverlay = OverlayUtil.getClosestOverlayFor(control);
23
+ }
24
+ if (controlOverlay) {
25
+ const runtimeControl = getRuntimeControl(controlOverlay);
26
+ const controlData = buildControlData(runtimeControl, changeService, controlOverlay);
27
+ const prop = controlData.properties.find(item => item.isEnabled === true);
28
+ editable = prop !== undefined;
29
+ }
30
+ }
31
+ return editable;
32
+ };
33
+ var __exports = {
34
+ __esModule: true
35
+ };
36
+ __exports.isEditable = isEditable;
37
+ return __exports;
38
38
  });
39
39
  //# sourceMappingURL=editable.js.map