@sapui5/sap.fe.core 1.99.0 → 1.100.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (246) hide show
  1. package/package.json +4 -2
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/AnnotationHelper.js +1 -69
  4. package/src/sap/fe/core/AnnotationHelper.ts +0 -70
  5. package/src/sap/fe/core/AppComponent.js +388 -399
  6. package/src/sap/fe/core/AppComponent.ts +403 -0
  7. package/src/sap/fe/core/AppStateHandler.js +127 -158
  8. package/src/sap/fe/core/BaseController.js +82 -58
  9. package/src/sap/fe/core/BaseController.ts +68 -0
  10. package/src/sap/fe/core/CommonUtils.js +111 -20
  11. package/src/sap/fe/core/CommonUtils.ts +131 -32
  12. package/src/sap/fe/core/ExtensionAPI.js +278 -274
  13. package/src/sap/fe/core/ExtensionAPI.ts +250 -0
  14. package/src/sap/fe/core/PageController.js +157 -29
  15. package/src/sap/fe/core/PageController.ts +60 -32
  16. package/src/sap/fe/core/RouterProxy.js +694 -756
  17. package/src/sap/fe/core/RouterProxy.ts +11 -9
  18. package/src/sap/fe/core/Synchronization.js +21 -31
  19. package/src/sap/fe/core/TemplateComponent.js +1 -1
  20. package/src/sap/fe/core/TemplateComponent.ts +10 -3
  21. package/src/sap/fe/core/TemplateModel.js +20 -38
  22. package/src/sap/fe/core/TemplateModel.ts +1 -1
  23. package/src/sap/fe/core/TransactionHelper.js +1354 -1370
  24. package/src/sap/fe/core/TransactionHelper.ts +33 -22
  25. package/src/sap/fe/core/actions/collaboration/ActivitySync.js +392 -0
  26. package/src/sap/fe/core/actions/collaboration/ActivitySync.ts +355 -0
  27. package/src/sap/fe/core/actions/collaboration/CollaborationCommon.js +136 -0
  28. package/src/sap/fe/core/actions/collaboration/CollaborationCommon.ts +119 -0
  29. package/src/sap/fe/core/actions/collaboration/Manage.js +262 -0
  30. package/src/sap/fe/core/actions/collaboration/Manage.ts +244 -0
  31. package/src/sap/fe/core/actions/collaboration/ManageDialog.fragment.xml +103 -0
  32. package/src/sap/fe/core/actions/collaboration/UserDetails.fragment.xml +13 -0
  33. package/src/sap/fe/core/actions/draft.js +30 -68
  34. package/src/sap/fe/core/actions/draft.ts +44 -71
  35. package/src/sap/fe/core/actions/messageHandling.js +55 -36
  36. package/src/sap/fe/core/actions/messageHandling.ts +66 -46
  37. package/src/sap/fe/core/actions/operations.js +34 -15
  38. package/src/sap/fe/core/actions/operations.ts +48 -18
  39. package/src/sap/fe/core/actions/sticky.js +17 -4
  40. package/src/sap/fe/core/actions/sticky.ts +21 -4
  41. package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.js +69 -66
  42. package/src/sap/fe/core/controllerextensions/ControllerExtensionMetadata.ts +65 -0
  43. package/src/sap/fe/core/controllerextensions/EditFlow.js +1593 -1669
  44. package/src/sap/fe/core/controllerextensions/EditFlow.ts +1672 -0
  45. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.js +79 -54
  46. package/src/sap/fe/core/controllerextensions/IntentBasedNavigation.ts +61 -0
  47. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +718 -779
  48. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +783 -0
  49. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +796 -816
  50. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +803 -0
  51. package/src/sap/fe/core/controllerextensions/InternalRouting.js +1004 -1005
  52. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +978 -0
  53. package/src/sap/fe/core/controllerextensions/KPIManagement.js +487 -521
  54. package/src/sap/fe/core/controllerextensions/KPIManagement.ts +2 -2
  55. package/src/sap/fe/core/controllerextensions/MassEdit.js +141 -169
  56. package/src/sap/fe/core/controllerextensions/MassEdit.ts +156 -0
  57. package/src/sap/fe/core/controllerextensions/MessageHandler.js +233 -244
  58. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +225 -0
  59. package/src/sap/fe/core/controllerextensions/PageReady.js +301 -336
  60. package/src/sap/fe/core/controllerextensions/PageReady.ts +12 -10
  61. package/src/sap/fe/core/controllerextensions/Paginator.js +188 -175
  62. package/src/sap/fe/core/controllerextensions/Paginator.ts +163 -0
  63. package/src/sap/fe/core/controllerextensions/Placeholder.js +157 -149
  64. package/src/sap/fe/core/controllerextensions/Placeholder.ts +151 -0
  65. package/src/sap/fe/core/controllerextensions/Routing.js +144 -125
  66. package/src/sap/fe/core/controllerextensions/Routing.ts +132 -0
  67. package/src/sap/fe/core/controllerextensions/RoutingListener.js +7 -6
  68. package/src/sap/fe/core/controllerextensions/RoutingListener.ts +3 -0
  69. package/src/sap/fe/core/controllerextensions/Share.js +230 -268
  70. package/src/sap/fe/core/controllerextensions/Share.ts +231 -0
  71. package/src/sap/fe/core/controllerextensions/SideEffects.js +592 -633
  72. package/src/sap/fe/core/controllerextensions/SideEffects.ts +8 -7
  73. package/src/sap/fe/core/controllerextensions/ViewState.js +788 -806
  74. package/src/sap/fe/core/controllerextensions/ViewState.ts +805 -0
  75. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +2 -2
  76. package/src/sap/fe/core/controls/ActionPartial.fragment.xml +2 -2
  77. package/src/sap/fe/core/controls/CommandExecution.js +67 -66
  78. package/src/sap/fe/core/controls/CommandExecution.ts +72 -0
  79. package/src/sap/fe/core/controls/ConditionalWrapper.js +90 -75
  80. package/src/sap/fe/core/controls/ConditionalWrapper.ts +83 -0
  81. package/src/sap/fe/core/controls/CustomQuickViewPage.js +130 -125
  82. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +126 -0
  83. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +103 -112
  84. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +101 -0
  85. package/src/sap/fe/core/controls/FieldWrapper.js +122 -135
  86. package/src/sap/fe/core/controls/FieldWrapper.ts +115 -0
  87. package/src/sap/fe/core/controls/FilterBar.js +162 -159
  88. package/src/sap/fe/core/controls/FilterBar.ts +143 -0
  89. package/src/sap/fe/core/controls/FormElementWrapper.js +45 -39
  90. package/src/sap/fe/core/controls/FormElementWrapper.ts +40 -0
  91. package/src/sap/fe/core/controls/MultiValueParameterDelegate.js +37 -42
  92. package/src/sap/fe/core/controls/MultiValueParameterDelegate.ts +31 -0
  93. package/src/sap/fe/core/controls/filterbar/FilterContainer.js +126 -116
  94. package/src/sap/fe/core/controls/filterbar/FilterContainer.ts +98 -0
  95. package/src/sap/fe/core/controls/filterbar/VisualFilter.js +241 -255
  96. package/src/sap/fe/core/controls/filterbar/VisualFilter.ts +245 -0
  97. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.js +150 -141
  98. package/src/sap/fe/core/controls/filterbar/VisualFilterContainer.ts +125 -0
  99. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +335 -322
  100. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +337 -0
  101. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +74 -74
  102. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +70 -0
  103. package/src/sap/fe/core/converters/ConverterContext.js +348 -379
  104. package/src/sap/fe/core/converters/ConverterContext.ts +19 -16
  105. package/src/sap/fe/core/converters/ManifestSettings.js +12 -1
  106. package/src/sap/fe/core/converters/ManifestSettings.ts +12 -1
  107. package/src/sap/fe/core/converters/ManifestWrapper.js +354 -378
  108. package/src/sap/fe/core/converters/ManifestWrapper.ts +10 -0
  109. package/src/sap/fe/core/converters/MetaModelConverter.js +6 -4
  110. package/src/sap/fe/core/converters/MetaModelConverter.ts +5 -2
  111. package/src/sap/fe/core/converters/TemplateConverter.js +1 -1
  112. package/src/sap/fe/core/converters/TemplateConverter.ts +2 -1
  113. package/src/sap/fe/core/converters/annotations/DataField.js +26 -12
  114. package/src/sap/fe/core/converters/annotations/DataField.ts +37 -13
  115. package/src/sap/fe/core/converters/controls/Common/Form.js +2 -2
  116. package/src/sap/fe/core/converters/controls/Common/Form.ts +4 -2
  117. package/src/sap/fe/core/converters/controls/Common/KPI.js +1 -1
  118. package/src/sap/fe/core/converters/controls/Common/KPI.ts +3 -2
  119. package/src/sap/fe/core/converters/controls/Common/Table.js +130 -23
  120. package/src/sap/fe/core/converters/controls/Common/Table.ts +134 -29
  121. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +118 -53
  122. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +156 -93
  123. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +161 -207
  124. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +148 -206
  125. package/src/sap/fe/core/converters/helpers/Aggregation.js +115 -133
  126. package/src/sap/fe/core/converters/helpers/BindingHelper.js +20 -6
  127. package/src/sap/fe/core/converters/helpers/BindingHelper.ts +16 -4
  128. package/src/sap/fe/core/converters/helpers/ConfigurableObject.js +12 -1
  129. package/src/sap/fe/core/converters/helpers/ConfigurableObject.ts +11 -0
  130. package/src/sap/fe/core/converters/helpers/Key.js +42 -57
  131. package/src/sap/fe/core/converters/helpers/Key.ts +1 -1
  132. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.js +25 -4
  133. package/src/sap/fe/core/converters/objectPage/HeaderAndFooterAction.ts +20 -3
  134. package/src/sap/fe/core/converters/templates/ListReportConverter.js +10 -4
  135. package/src/sap/fe/core/converters/templates/ListReportConverter.ts +15 -4
  136. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +7 -5
  137. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +5 -1
  138. package/src/sap/fe/core/designtime/AppComponent.designtime.js +92 -98
  139. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +91 -0
  140. package/src/sap/fe/core/formatters/CollaborationFormatter.js +104 -0
  141. package/src/sap/fe/core/formatters/CollaborationFormatter.ts +60 -0
  142. package/src/sap/fe/core/formatters/TableFormatter.js +53 -2
  143. package/src/sap/fe/core/formatters/TableFormatter.ts +51 -0
  144. package/src/sap/fe/core/fpm/Component.js +50 -54
  145. package/src/sap/fe/core/fpm/Component.ts +48 -0
  146. package/src/sap/fe/core/helpers/AppStartupHelper.js +323 -309
  147. package/src/sap/fe/core/helpers/AppStartupHelper.ts +363 -337
  148. package/src/sap/fe/core/helpers/BindingExpression.js +7 -7
  149. package/src/sap/fe/core/helpers/BindingExpression.ts +7 -7
  150. package/src/sap/fe/core/helpers/ClassSupport.js +186 -62
  151. package/src/sap/fe/core/helpers/ClassSupport.ts +168 -52
  152. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.js +5 -4
  153. package/src/sap/fe/core/helpers/DynamicAnnotationPathHelper.ts +1 -5
  154. package/src/sap/fe/core/helpers/FPMHelper.js +1 -1
  155. package/src/sap/fe/core/helpers/FPMHelper.ts +1 -1
  156. package/src/sap/fe/core/helpers/MassEditHelper.js +601 -684
  157. package/src/sap/fe/core/helpers/MassEditHelper.ts +699 -0
  158. package/src/sap/fe/core/helpers/ModelHelper.js +25 -1
  159. package/src/sap/fe/core/helpers/ModelHelper.ts +23 -0
  160. package/src/sap/fe/core/helpers/SemanticDateOperators.js +5 -1
  161. package/src/sap/fe/core/helpers/SemanticDateOperators.ts +4 -0
  162. package/src/sap/fe/core/library.js +426 -451
  163. package/src/sap/fe/core/library.support.js +22 -33
  164. package/src/sap/fe/core/library.support.ts +23 -0
  165. package/src/sap/fe/core/library.ts +420 -0
  166. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.js +5 -3
  167. package/src/sap/fe/core/manifestMerger/ChangePageConfiguration.ts +4 -1
  168. package/src/sap/fe/core/messagebundle.properties +22 -5
  169. package/src/sap/fe/core/messagebundle_ar.properties +27 -7
  170. package/src/sap/fe/core/messagebundle_bg.properties +27 -7
  171. package/src/sap/fe/core/messagebundle_ca.properties +27 -7
  172. package/src/sap/fe/core/messagebundle_cs.properties +27 -7
  173. package/src/sap/fe/core/messagebundle_cy.properties +27 -7
  174. package/src/sap/fe/core/messagebundle_da.properties +27 -7
  175. package/src/sap/fe/core/messagebundle_de.properties +27 -7
  176. package/src/sap/fe/core/messagebundle_el.properties +27 -7
  177. package/src/sap/fe/core/messagebundle_en.properties +27 -7
  178. package/src/sap/fe/core/messagebundle_en_GB.properties +27 -7
  179. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +27 -7
  180. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +27 -7
  181. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +27 -7
  182. package/src/sap/fe/core/messagebundle_es.properties +27 -7
  183. package/src/sap/fe/core/messagebundle_es_MX.properties +27 -7
  184. package/src/sap/fe/core/messagebundle_et.properties +27 -7
  185. package/src/sap/fe/core/messagebundle_fi.properties +28 -8
  186. package/src/sap/fe/core/messagebundle_fr.properties +28 -8
  187. package/src/sap/fe/core/messagebundle_fr_CA.properties +29 -9
  188. package/src/sap/fe/core/messagebundle_hi.properties +27 -7
  189. package/src/sap/fe/core/messagebundle_hr.properties +27 -7
  190. package/src/sap/fe/core/messagebundle_hu.properties +27 -7
  191. package/src/sap/fe/core/messagebundle_id.properties +27 -7
  192. package/src/sap/fe/core/messagebundle_it.properties +27 -7
  193. package/src/sap/fe/core/messagebundle_iw.properties +27 -7
  194. package/src/sap/fe/core/messagebundle_ja.properties +26 -6
  195. package/src/sap/fe/core/messagebundle_kk.properties +27 -7
  196. package/src/sap/fe/core/messagebundle_ko.properties +27 -7
  197. package/src/sap/fe/core/messagebundle_lt.properties +27 -7
  198. package/src/sap/fe/core/messagebundle_lv.properties +28 -8
  199. package/src/sap/fe/core/messagebundle_ms.properties +27 -7
  200. package/src/sap/fe/core/messagebundle_nl.properties +27 -7
  201. package/src/sap/fe/core/messagebundle_no.properties +27 -7
  202. package/src/sap/fe/core/messagebundle_pl.properties +27 -7
  203. package/src/sap/fe/core/messagebundle_pt.properties +28 -8
  204. package/src/sap/fe/core/messagebundle_pt_PT.properties +27 -7
  205. package/src/sap/fe/core/messagebundle_ro.properties +27 -7
  206. package/src/sap/fe/core/messagebundle_ru.properties +27 -7
  207. package/src/sap/fe/core/messagebundle_sh.properties +27 -7
  208. package/src/sap/fe/core/messagebundle_sk.properties +27 -7
  209. package/src/sap/fe/core/messagebundle_sl.properties +27 -7
  210. package/src/sap/fe/core/messagebundle_sv.properties +27 -7
  211. package/src/sap/fe/core/messagebundle_th.properties +26 -6
  212. package/src/sap/fe/core/messagebundle_tr.properties +30 -10
  213. package/src/sap/fe/core/messagebundle_uk.properties +27 -7
  214. package/src/sap/fe/core/messagebundle_vi.properties +27 -7
  215. package/src/sap/fe/core/messagebundle_zh_CN.properties +27 -7
  216. package/src/sap/fe/core/messagebundle_zh_TW.properties +27 -7
  217. package/src/sap/fe/core/services/AsyncComponentServiceFactory.js +45 -71
  218. package/src/sap/fe/core/services/CacheHandlerServiceFactory.js +154 -192
  219. package/src/sap/fe/core/services/CacheHandlerServiceFactory.ts +4 -4
  220. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +66 -92
  221. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +1 -1
  222. package/src/sap/fe/core/services/NavigationServiceFactory.js +284 -339
  223. package/src/sap/fe/core/services/NavigationServiceFactory.ts +10 -13
  224. package/src/sap/fe/core/services/ResourceModelServiceFactory.js +67 -102
  225. package/src/sap/fe/core/services/ResourceModelServiceFactory.ts +5 -2
  226. package/src/sap/fe/core/services/RoutingServiceFactory.js +754 -814
  227. package/src/sap/fe/core/services/RoutingServiceFactory.ts +13 -13
  228. package/src/sap/fe/core/services/ShellServicesFactory.js +649 -736
  229. package/src/sap/fe/core/services/ShellServicesFactory.ts +7 -4
  230. package/src/sap/fe/core/services/SideEffectsServiceFactory.js +567 -592
  231. package/src/sap/fe/core/services/SideEffectsServiceFactory.ts +22 -3
  232. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +354 -386
  233. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +21 -14
  234. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.js +1 -1
  235. package/src/sap/fe/core/services/view/TemplatingErrorPage.controller.ts +1 -1
  236. package/src/sap/fe/core/support/CommonHelper.js +1 -1
  237. package/src/sap/fe/core/support/CommonHelper.ts +1 -1
  238. package/src/sap/fe/core/support/Diagnostics.js +36 -48
  239. package/src/sap/fe/core/templating/DataModelPathHelper.js +93 -85
  240. package/src/sap/fe/core/templating/DataModelPathHelper.ts +104 -95
  241. package/src/sap/fe/core/templating/FilterHelper.js +25 -32
  242. package/src/sap/fe/core/templating/FilterHelper.ts +36 -35
  243. package/src/sap/fe/core/templating/PropertyHelper.js +2 -2
  244. package/src/sap/fe/core/templating/PropertyHelper.ts +1 -1
  245. package/src/sap/fe/core/templating/UIFormatters.js +32 -26
  246. package/src/sap/fe/core/templating/UIFormatters.ts +37 -24
@@ -46,6 +46,7 @@ export type ObjectPageDefinition = PageDefinition & {
46
46
  title: {
47
47
  expandedImageVisible: BindingExpression<string>;
48
48
  };
49
+ situations: boolean;
49
50
  };
50
51
  sections: ObjectPageSection[];
51
52
  footerActions: BaseAction[];
@@ -357,6 +358,8 @@ export const convertPage = function(converterContext: ConverterContext): ObjectP
357
358
  const manifestWrapper = converterContext.getManifestWrapper();
358
359
  let headerSection: ObjectPageSection | undefined;
359
360
  const entityType: EntityType = converterContext.getEntityType();
361
+
362
+ const situationAnnotations = (entityType.annotations as any)?.FE?.Situations;
360
363
  // Retrieve all header facets (from annotations & custom)
361
364
  const headerFacets = insertCustomElements(
362
365
  getHeaderFacetsFromAnnotations(converterContext),
@@ -387,7 +390,8 @@ export const convertPage = function(converterContext: ConverterContext): ObjectP
387
390
  avatar: getAvatar(converterContext),
388
391
  title: {
389
392
  expandedImageVisible: getExpandedImageVisible(converterContext)
390
- }
393
+ },
394
+ situations: situationAnnotations
391
395
  },
392
396
  sections: sections,
393
397
  footerActions: footerActions,
@@ -1,102 +1,96 @@
1
1
  /*!
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
- (c) Copyright 2009-2021 SAP SE. All rights reserved
4
-
3
+ * (c) Copyright 2009-2021 SAP SE. All rights reserved
5
4
  */
6
- sap.ui.define(
7
- [],
8
- function() {
9
- "use strict";
5
+ sap.ui.define([], function () {
6
+ "use strict";
10
7
 
11
- var oUrlParser = sap.ushell.Container.getService("URLParsing");
12
- var oUrlParams = oUrlParser.parseParameters(window.location.search);
13
- var sFioriToolsRtaMode = "fiori-tools-rta-mode";
14
- var sFioriToolsRtaModeValue = oUrlParams[sFioriToolsRtaMode] && oUrlParams[sFioriToolsRtaMode][0].toLowerCase();
15
- // To enable all actions, remove the propagateMetadata function. Or, remove this file and its entry in AppComponent.js referring 'designTime'.
16
- return {
17
- actions: "not-adaptable",
18
- aggregations: {
19
- rootControl: {
20
- actions: "not-adaptable",
21
- propagateMetadata: function(oElement) {
22
- // allow list of controls for which we want to enable DesignTime
23
- var mAllowList = {};
24
- var isOnDynamicPage = function(oElement) {
25
- if (oElement.getMetadata().getName() === "sap.f.DynamicPage") {
26
- return true;
27
- } else {
28
- var oParent = oElement.getParent();
29
- return oParent ? isOnDynamicPage(oParent) : false;
30
- }
31
- };
32
- if (sFioriToolsRtaModeValue === "true") {
33
- // allow list for the Fiori tools
34
- if (isOnDynamicPage(oElement)) {
35
- mAllowList = {
36
- "sap.ui.fl.variants.VariantManagement": true,
37
- "sap.fe.core.controls.FilterBar": true,
38
- "sap.ui.mdc.Table": true
39
- };
40
- }
41
- } else {
42
- // allow list for key users
43
- mAllowList = {
44
- "sap.fe.templates.ObjectPage.controls.StashableVBox": true,
45
- "sap.fe.templates.ObjectPage.controls.StashableHBox": true,
46
- "sap.uxap.ObjectPageLayout": true,
47
- "sap.uxap.AnchorBar": true,
48
- "sap.uxap.ObjectPageSection": true,
49
- "sap.uxap.ObjectPageSubSection": true,
50
- "sap.m.Button": true,
51
- "sap.m.MenuButton": true,
52
- "sap.m.FlexBox": true,
53
- "sap.ui.fl.util.IFrame": true,
54
- "sap.ui.layout.form.Form": true,
55
- "sap.ui.layout.form.FormContainer": true,
56
- "sap.ui.layout.form.FormElement": true,
57
- "sap.ui.fl.variants.VariantManagement": true,
58
- "sap.fe.core.controls.FilterBar": true,
59
- "sap.ui.mdc.Table": true,
60
- "sap.m.IconTabBar": true
61
- };
62
- if (
63
- oElement.getMetadata().getName() === "sap.m.MenuButton" &&
64
- oElement.getParent().sParentAggregationName !== "_anchorBar"
65
- ) {
66
- mAllowList["sap.m.MenuButton"] = false;
67
- }
68
- if (
69
- oElement.getMetadata().getName() === "sap.m.Button" &&
70
- oElement.getParent().sParentAggregationName !== "_anchorBar"
71
- ) {
72
- mAllowList["sap.m.Button"] = false;
73
- }
74
- if (
75
- oElement.getMetadata().getName() === "sap.m.FlexBox" &&
76
- oElement.getId().indexOf("--fe::HeaderContentContainer") < 0
77
- ) {
78
- mAllowList["sap.m.FlexBox"] = false;
79
- }
80
- }
81
- if (mAllowList[oElement.getMetadata().getName()]) {
82
- return {};
83
- } else {
84
- return {
85
- actions: "not-adaptable"
86
- };
87
- }
88
- }
89
- }
90
- },
91
- tool: {
92
- start: function(oComponent) {
93
- oComponent.getModel("internal").setProperty("/uiAdaptation", true);
94
- },
95
- stop: function(oComponent) {
96
- oComponent.getModel("internal").setProperty("/uiAdaptation", false);
97
- }
98
- }
99
- };
100
- },
101
- false
102
- );
8
+ var oUrlParser = sap.ushell.Container.getService("URLParsing");
9
+ var oUrlParams = oUrlParser.parseParameters(window.location.search);
10
+ var sFioriToolsRtaMode = "fiori-tools-rta-mode";
11
+ var sFioriToolsRtaModeValue = oUrlParams[sFioriToolsRtaMode] && oUrlParams[sFioriToolsRtaMode][0].toLowerCase(); // To enable all actions, remove the propagateMetadata function. Or, remove this file and its entry in AppComponent.js referring 'designTime'.
12
+
13
+ var AppComponentDesignTime = {
14
+ actions: "not-adaptable",
15
+ aggregations: {
16
+ rootControl: {
17
+ actions: "not-adaptable",
18
+ propagateMetadata: function (oElement) {
19
+ // allow list of controls for which we want to enable DesignTime
20
+ var mAllowList = {};
21
+
22
+ var isOnDynamicPage = function (oElement) {
23
+ if (oElement.getMetadata().getName() === "sap.f.DynamicPage") {
24
+ return true;
25
+ } else {
26
+ var oParent = oElement.getParent();
27
+ return oParent ? isOnDynamicPage(oParent) : false;
28
+ }
29
+ };
30
+
31
+ if (sFioriToolsRtaModeValue === "true") {
32
+ // allow list for the Fiori tools
33
+ if (isOnDynamicPage(oElement)) {
34
+ mAllowList = {
35
+ "sap.ui.fl.variants.VariantManagement": true,
36
+ "sap.fe.core.controls.FilterBar": true,
37
+ "sap.ui.mdc.Table": true
38
+ };
39
+ }
40
+ } else {
41
+ // allow list for key users
42
+ mAllowList = {
43
+ "sap.fe.templates.ObjectPage.controls.StashableVBox": true,
44
+ "sap.fe.templates.ObjectPage.controls.StashableHBox": true,
45
+ "sap.uxap.ObjectPageLayout": true,
46
+ "sap.uxap.AnchorBar": true,
47
+ "sap.uxap.ObjectPageSection": true,
48
+ "sap.uxap.ObjectPageSubSection": true,
49
+ "sap.m.Button": true,
50
+ "sap.m.MenuButton": true,
51
+ "sap.m.FlexBox": true,
52
+ "sap.ui.fl.util.IFrame": true,
53
+ "sap.ui.layout.form.Form": true,
54
+ "sap.ui.layout.form.FormContainer": true,
55
+ "sap.ui.layout.form.FormElement": true,
56
+ "sap.ui.fl.variants.VariantManagement": true,
57
+ "sap.fe.core.controls.FilterBar": true,
58
+ "sap.ui.mdc.Table": true,
59
+ "sap.m.IconTabBar": true
60
+ };
61
+
62
+ if (oElement.getMetadata().getName() === "sap.m.MenuButton" && oElement.getParent().sParentAggregationName !== "_anchorBar") {
63
+ mAllowList["sap.m.MenuButton"] = false;
64
+ }
65
+
66
+ if (oElement.getMetadata().getName() === "sap.m.Button" && oElement.getParent().sParentAggregationName !== "_anchorBar") {
67
+ mAllowList["sap.m.Button"] = false;
68
+ }
69
+
70
+ if (oElement.getMetadata().getName() === "sap.m.FlexBox" && oElement.getId().indexOf("--fe::HeaderContentContainer") < 0) {
71
+ mAllowList["sap.m.FlexBox"] = false;
72
+ }
73
+ }
74
+
75
+ if (mAllowList[oElement.getMetadata().getName()]) {
76
+ return {};
77
+ } else {
78
+ return {
79
+ actions: "not-adaptable"
80
+ };
81
+ }
82
+ }
83
+ }
84
+ },
85
+ tool: {
86
+ start: function (oComponent) {
87
+ oComponent.getModel("internal").setProperty("/uiAdaptation", true);
88
+ },
89
+ stop: function (oComponent) {
90
+ oComponent.getModel("internal").setProperty("/uiAdaptation", false);
91
+ }
92
+ }
93
+ };
94
+ return AppComponentDesignTime;
95
+ }, false);
96
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFwcENvbXBvbmVudC5kZXNpZ250aW1lLnRzIl0sIm5hbWVzIjpbIm9VcmxQYXJzZXIiLCJzYXAiLCJ1c2hlbGwiLCJDb250YWluZXIiLCJnZXRTZXJ2aWNlIiwib1VybFBhcmFtcyIsInBhcnNlUGFyYW1ldGVycyIsIndpbmRvdyIsImxvY2F0aW9uIiwic2VhcmNoIiwic0Zpb3JpVG9vbHNSdGFNb2RlIiwic0Zpb3JpVG9vbHNSdGFNb2RlVmFsdWUiLCJ0b0xvd2VyQ2FzZSIsIkFwcENvbXBvbmVudERlc2lnblRpbWUiLCJhY3Rpb25zIiwiYWdncmVnYXRpb25zIiwicm9vdENvbnRyb2wiLCJwcm9wYWdhdGVNZXRhZGF0YSIsIm9FbGVtZW50IiwibUFsbG93TGlzdCIsImlzT25EeW5hbWljUGFnZSIsImdldE1ldGFkYXRhIiwiZ2V0TmFtZSIsIm9QYXJlbnQiLCJnZXRQYXJlbnQiLCJzUGFyZW50QWdncmVnYXRpb25OYW1lIiwiZ2V0SWQiLCJpbmRleE9mIiwidG9vbCIsInN0YXJ0Iiwib0NvbXBvbmVudCIsImdldE1vZGVsIiwic2V0UHJvcGVydHkiLCJzdG9wIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7O0FBRkEsTUFBTUEsVUFBVSxHQUFHQyxHQUFHLENBQUNDLE1BQUosQ0FBV0MsU0FBWCxDQUFxQkMsVUFBckIsQ0FBZ0MsWUFBaEMsQ0FBbkI7QUFDQSxNQUFNQyxVQUFVLEdBQUdMLFVBQVUsQ0FBQ00sZUFBWCxDQUEyQkMsTUFBTSxDQUFDQyxRQUFQLENBQWdCQyxNQUEzQyxDQUFuQjtBQUNBLE1BQU1DLGtCQUFrQixHQUFHLHNCQUEzQjtBQUNBLE1BQU1DLHVCQUF1QixHQUFHTixVQUFVLENBQUNLLGtCQUFELENBQVYsSUFBa0NMLFVBQVUsQ0FBQ0ssa0JBQUQsQ0FBVixDQUErQixDQUEvQixFQUFrQ0UsV0FBbEMsRUFBbEUsQyxDQUNBOztBQUNBLE1BQU1DLHNCQUFzQixHQUFHO0FBQzlCQyxJQUFBQSxPQUFPLEVBQUUsZUFEcUI7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QixFQUFnQ0MsV0FBaEMsQ0FBNEMsZUFBNUMsRUFBNkQsS0FBN0Q7QUFDQTtBQU5JO0FBM0V3QixHQUEvQjtTQXFGZW5CLHNCIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBvVXJsUGFyc2VyID0gc2FwLnVzaGVsbC5Db250YWluZXIuZ2V0U2VydmljZShcIlVSTFBhcnNpbmdcIik7XG5jb25zdCBvVXJsUGFyYW1zID0gb1VybFBhcnNlci5wYXJzZVBhcmFtZXRlcnMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7XG5jb25zdCBzRmlvcmlUb29sc1J0YU1vZGUgPSBcImZpb3JpLXRvb2xzLXJ0YS1tb2RlXCI7XG5jb25zdCBzRmlvcmlUb29sc1J0YU1vZGVWYWx1ZSA9IG9VcmxQYXJhbXNbc0Zpb3JpVG9vbHNSdGFNb2RlXSAmJiBvVXJsUGFyYW1zW3NGaW9yaVRvb2xzUnRhTW9kZV1bMF0udG9Mb3dlckNhc2UoKTtcbi8vIFRvIGVuYWJsZSBhbGwgYWN0aW9ucywgcmVtb3ZlIHRoZSBwcm9wYWdhdGVNZXRhZGF0YSBmdW5jdGlvbi4gT3IsIHJlbW92ZSB0aGlzIGZpbGUgYW5kIGl0cyBlbnRyeSBpbiBBcHBDb21wb25lbnQuanMgcmVmZXJyaW5nICdkZXNpZ25UaW1lJy5cbmNvbnN0IEFwcENvbXBvbmVudERlc2lnblRpbWUgPSB7XG5cdGFjdGlvbnM6IFwibm90LWFkYXB0YWJsZVwiLFxuXHRhZ2dyZWdhdGlvbnM6IHtcblx0XHRyb290Q29udHJvbDoge1xuXHRcdFx0YWN0aW9uczogXCJub3QtYWRhcHRhYmxlXCIsXG5cdFx0XHRwcm9wYWdhdGVNZXRhZGF0YTogZnVuY3Rpb24ob0VsZW1lbnQ6IGFueSkge1xuXHRcdFx0XHQvLyBhbGxvdyBsaXN0IG9mIGNvbnRyb2xzIGZvciB3aGljaCB3ZSB3YW50IHRvIGVuYWJsZSBEZXNpZ25UaW1lXG5cdFx0XHRcdGxldCBtQWxsb3dMaXN0OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiA9IHt9O1xuXHRcdFx0XHRjb25zdCBpc09uRHluYW1pY1BhZ2UgPSBmdW5jdGlvbihvRWxlbWVudDogYW55KTogYm9vbGVhbiB7XG5cdFx0XHRcdFx0aWYgKG9FbGVtZW50LmdldE1ldGFkYXRhKCkuZ2V0TmFtZSgpID09PSBcInNhcC5mLkR5bmFtaWNQYWdlXCIpIHtcblx0XHRcdFx0XHRcdHJldHVybiB0cnVlO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRjb25zdCBvUGFyZW50ID0gb0VsZW1lbnQuZ2V0UGFyZW50KCk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gb1BhcmVudCA/IGlzT25EeW5hbWljUGFnZShvUGFyZW50KSA6IGZhbHNlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fTtcblx0XHRcdFx0aWYgKHNGaW9yaVRvb2xzUnRhTW9kZVZhbHVlID09PSBcInRydWVcIikge1xuXHRcdFx0XHRcdC8vIGFsbG93IGxpc3QgZm9yIHRoZSBGaW9yaSB0b29sc1xuXHRcdFx0XHRcdGlmIChpc09uRHluYW1pY1BhZ2Uob0VsZW1lbnQpKSB7XG5cdFx0XHRcdFx0XHRtQWxsb3dMaXN0ID0ge1xuXHRcdFx0XHRcdFx0XHRcInNhcC51aS5mbC52YXJpYW50cy5WYXJpYW50TWFuYWdlbWVudFwiOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcInNhcC5mZS5jb3JlLmNvbnRyb2xzLkZpbHRlckJhclwiOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcInNhcC51aS5tZGMuVGFibGVcIjogdHJ1ZVxuXHRcdFx0XHRcdFx0fTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0Ly8gYWxsb3cgbGlzdCBmb3Iga2V5IHVzZXJzXG5cdFx0XHRcdFx0bUFsbG93TGlzdCA9IHtcblx0XHRcdFx0XHRcdFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLmNvbnRyb2xzLlN0YXNoYWJsZVZCb3hcIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLmNvbnRyb2xzLlN0YXNoYWJsZUhCb3hcIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFwic2FwLnV4YXAuT2JqZWN0UGFnZUxheW91dFwiOiB0cnVlLFxuXHRcdFx0XHRcdFx0XCJzYXAudXhhcC5BbmNob3JCYXJcIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFwic2FwLnV4YXAuT2JqZWN0UGFnZVNlY3Rpb25cIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFwic2FwLnV4YXAuT2JqZWN0UGFnZVN1YlNlY3Rpb25cIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFwic2FwLm0uQnV0dG9uXCI6IHRydWUsXG5cdFx0XHRcdFx0XHRcInNhcC5tLk1lbnVCdXR0b25cIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFwic2FwLm0uRmxleEJveFwiOiB0cnVlLFxuXHRcdFx0XHRcdFx0XCJzYXAudWkuZmwudXRpbC5JRnJhbWVcIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFwic2FwLnVpLmxheW91dC5mb3JtLkZvcm1cIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFwic2FwLnVpLmxheW91dC5mb3JtLkZvcm1Db250YWluZXJcIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFwic2FwLnVpLmxheW91dC5mb3JtLkZvcm1FbGVtZW50XCI6IHRydWUsXG5cdFx0XHRcdFx0XHRcInNhcC51aS5mbC52YXJpYW50cy5WYXJpYW50TWFuYWdlbWVudFwiOiB0cnVlLFxuXHRcdFx0XHRcdFx0XCJzYXAuZmUuY29yZS5jb250cm9scy5GaWx0ZXJCYXJcIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFwic2FwLnVpLm1kYy5UYWJsZVwiOiB0cnVlLFxuXHRcdFx0XHRcdFx0XCJzYXAubS5JY29uVGFiQmFyXCI6IHRydWVcblx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdGlmIChcblx0XHRcdFx0XHRcdG9FbGVtZW50LmdldE1ldGFkYXRhKCkuZ2V0TmFtZSgpID09PSBcInNhcC5tLk1lbnVCdXR0b25cIiAmJlxuXHRcdFx0XHRcdFx0b0VsZW1lbnQuZ2V0UGFyZW50KCkuc1BhcmVudEFnZ3JlZ2F0aW9uTmFtZSAhPT0gXCJfYW5jaG9yQmFyXCJcblx0XHRcdFx0XHQpIHtcblx0XHRcdFx0XHRcdG1BbGxvd0xpc3RbXCJzYXAubS5NZW51QnV0dG9uXCJdID0gZmFsc2U7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGlmIChcblx0XHRcdFx0XHRcdG9FbGVtZW50LmdldE1ldGFkYXRhKCkuZ2V0TmFtZSgpID09PSBcInNhcC5tLkJ1dHRvblwiICYmXG5cdFx0XHRcdFx0XHRvRWxlbWVudC5nZXRQYXJlbnQoKS5zUGFyZW50QWdncmVnYXRpb25OYW1lICE9PSBcIl9hbmNob3JCYXJcIlxuXHRcdFx0XHRcdCkge1xuXHRcdFx0XHRcdFx0bUFsbG93TGlzdFtcInNhcC5tLkJ1dHRvblwiXSA9IGZhbHNlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRpZiAoXG5cdFx0XHRcdFx0XHRvRWxlbWVudC5nZXRNZXRhZGF0YSgpLmdldE5hbWUoKSA9PT0gXCJzYXAubS5GbGV4Qm94XCIgJiZcblx0XHRcdFx0XHRcdG9FbGVtZW50LmdldElkKCkuaW5kZXhPZihcIi0tZmU6OkhlYWRlckNvbnRlbnRDb250YWluZXJcIikgPCAwXG5cdFx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0XHRtQWxsb3dMaXN0W1wic2FwLm0uRmxleEJveFwiXSA9IGZhbHNlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAobUFsbG93TGlzdFtvRWxlbWVudC5nZXRNZXRhZGF0YSgpLmdldE5hbWUoKV0pIHtcblx0XHRcdFx0XHRyZXR1cm4ge307XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdGFjdGlvbnM6IFwibm90LWFkYXB0YWJsZVwiXG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fSxcblx0dG9vbDoge1xuXHRcdHN0YXJ0OiBmdW5jdGlvbihvQ29tcG9uZW50OiBhbnkpIHtcblx0XHRcdG9Db21wb25lbnQuZ2V0TW9kZWwoXCJpbnRlcm5hbFwiKS5zZXRQcm9wZXJ0eShcIi91aUFkYXB0YXRpb25cIiwgdHJ1ZSk7XG5cdFx0fSxcblx0XHRzdG9wOiBmdW5jdGlvbihvQ29tcG9uZW50OiBhbnkpIHtcblx0XHRcdG9Db21wb25lbnQuZ2V0TW9kZWwoXCJpbnRlcm5hbFwiKS5zZXRQcm9wZXJ0eShcIi91aUFkYXB0YXRpb25cIiwgZmFsc2UpO1xuXHRcdH1cblx0fVxufTtcblxuZXhwb3J0IGRlZmF1bHQgQXBwQ29tcG9uZW50RGVzaWduVGltZTtcbiJdfQ==
@@ -0,0 +1,91 @@
1
+ const oUrlParser = sap.ushell.Container.getService("URLParsing");
2
+ const oUrlParams = oUrlParser.parseParameters(window.location.search);
3
+ const sFioriToolsRtaMode = "fiori-tools-rta-mode";
4
+ const sFioriToolsRtaModeValue = oUrlParams[sFioriToolsRtaMode] && oUrlParams[sFioriToolsRtaMode][0].toLowerCase();
5
+ // To enable all actions, remove the propagateMetadata function. Or, remove this file and its entry in AppComponent.js referring 'designTime'.
6
+ const AppComponentDesignTime = {
7
+ actions: "not-adaptable",
8
+ aggregations: {
9
+ rootControl: {
10
+ actions: "not-adaptable",
11
+ propagateMetadata: function(oElement: any) {
12
+ // allow list of controls for which we want to enable DesignTime
13
+ let mAllowList: Record<string, boolean> = {};
14
+ const isOnDynamicPage = function(oElement: any): boolean {
15
+ if (oElement.getMetadata().getName() === "sap.f.DynamicPage") {
16
+ return true;
17
+ } else {
18
+ const oParent = oElement.getParent();
19
+ return oParent ? isOnDynamicPage(oParent) : false;
20
+ }
21
+ };
22
+ if (sFioriToolsRtaModeValue === "true") {
23
+ // allow list for the Fiori tools
24
+ if (isOnDynamicPage(oElement)) {
25
+ mAllowList = {
26
+ "sap.ui.fl.variants.VariantManagement": true,
27
+ "sap.fe.core.controls.FilterBar": true,
28
+ "sap.ui.mdc.Table": true
29
+ };
30
+ }
31
+ } else {
32
+ // allow list for key users
33
+ mAllowList = {
34
+ "sap.fe.templates.ObjectPage.controls.StashableVBox": true,
35
+ "sap.fe.templates.ObjectPage.controls.StashableHBox": true,
36
+ "sap.uxap.ObjectPageLayout": true,
37
+ "sap.uxap.AnchorBar": true,
38
+ "sap.uxap.ObjectPageSection": true,
39
+ "sap.uxap.ObjectPageSubSection": true,
40
+ "sap.m.Button": true,
41
+ "sap.m.MenuButton": true,
42
+ "sap.m.FlexBox": true,
43
+ "sap.ui.fl.util.IFrame": true,
44
+ "sap.ui.layout.form.Form": true,
45
+ "sap.ui.layout.form.FormContainer": true,
46
+ "sap.ui.layout.form.FormElement": true,
47
+ "sap.ui.fl.variants.VariantManagement": true,
48
+ "sap.fe.core.controls.FilterBar": true,
49
+ "sap.ui.mdc.Table": true,
50
+ "sap.m.IconTabBar": true
51
+ };
52
+ if (
53
+ oElement.getMetadata().getName() === "sap.m.MenuButton" &&
54
+ oElement.getParent().sParentAggregationName !== "_anchorBar"
55
+ ) {
56
+ mAllowList["sap.m.MenuButton"] = false;
57
+ }
58
+ if (
59
+ oElement.getMetadata().getName() === "sap.m.Button" &&
60
+ oElement.getParent().sParentAggregationName !== "_anchorBar"
61
+ ) {
62
+ mAllowList["sap.m.Button"] = false;
63
+ }
64
+ if (
65
+ oElement.getMetadata().getName() === "sap.m.FlexBox" &&
66
+ oElement.getId().indexOf("--fe::HeaderContentContainer") < 0
67
+ ) {
68
+ mAllowList["sap.m.FlexBox"] = false;
69
+ }
70
+ }
71
+ if (mAllowList[oElement.getMetadata().getName()]) {
72
+ return {};
73
+ } else {
74
+ return {
75
+ actions: "not-adaptable"
76
+ };
77
+ }
78
+ }
79
+ }
80
+ },
81
+ tool: {
82
+ start: function(oComponent: any) {
83
+ oComponent.getModel("internal").setProperty("/uiAdaptation", true);
84
+ },
85
+ stop: function(oComponent: any) {
86
+ oComponent.getModel("internal").setProperty("/uiAdaptation", false);
87
+ }
88
+ }
89
+ };
90
+
91
+ export default AppComponentDesignTime;
@@ -0,0 +1,104 @@
1
+ /*!
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
+ */
5
+ sap.ui.define([], function () {
6
+ "use strict";
7
+
8
+ var _exports = {};
9
+
10
+ /**
11
+ * Collection of formatters needed for the collaboration draft.
12
+ *
13
+ * @param {object} this The context
14
+ * @param {string} sName The inner function name
15
+ * @param {object[]} oArgs The inner function parameters
16
+ * @returns {object} The value from the inner function
17
+ */
18
+ var collaborationFormatters = function (sName) {
19
+ if (collaborationFormatters.hasOwnProperty(sName)) {
20
+ for (var _len = arguments.length, oArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
21
+ oArgs[_key - 1] = arguments[_key];
22
+ }
23
+
24
+ return collaborationFormatters[sName].apply(this, oArgs);
25
+ } else {
26
+ return "";
27
+ }
28
+ };
29
+
30
+ var hasCollaborationActivity = function (activities) {
31
+ for (var _len2 = arguments.length, keys = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
32
+ keys[_key2 - 1] = arguments[_key2];
33
+ }
34
+
35
+ return !!getCollaborationActivity.apply(void 0, [activities].concat(keys));
36
+ };
37
+
38
+ hasCollaborationActivity.__functionName = "sap.fe.core.formatters.CollaborationFormatter#hasCollaborationActivity";
39
+ _exports.hasCollaborationActivity = hasCollaborationActivity;
40
+
41
+ var getCollaborationActivityInitials = function (activities) {
42
+ for (var _len3 = arguments.length, keys = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
43
+ keys[_key3 - 1] = arguments[_key3];
44
+ }
45
+
46
+ var activity = getCollaborationActivity.apply(void 0, [activities].concat(keys));
47
+ return (activity === null || activity === void 0 ? void 0 : activity.initials) || undefined;
48
+ };
49
+
50
+ getCollaborationActivityInitials.__functionName = "sap.fe.core.formatters.CollaborationFormatter#getCollaborationActivityInitials";
51
+ _exports.getCollaborationActivityInitials = getCollaborationActivityInitials;
52
+
53
+ var getCollaborationActivityColor = function (activities) {
54
+ for (var _len4 = arguments.length, keys = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {
55
+ keys[_key4 - 1] = arguments[_key4];
56
+ }
57
+
58
+ var activity = getCollaborationActivity.apply(void 0, [activities].concat(keys));
59
+ return activity !== null && activity !== void 0 && activity.color ? "Accent" + activity.color : undefined;
60
+ };
61
+
62
+ getCollaborationActivityColor.__functionName = "sap.fe.core.formatters.CollaborationFormatter#getCollaborationActivityColor";
63
+ _exports.getCollaborationActivityColor = getCollaborationActivityColor;
64
+
65
+ function getCollaborationActivity(activities) {
66
+ for (var _len5 = arguments.length, keys = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {
67
+ keys[_key5 - 1] = arguments[_key5];
68
+ }
69
+
70
+ if (activities && activities.length > 0) {
71
+ return activities.find(function (activity) {
72
+ var _activity$key;
73
+
74
+ var activityKeys = (activity === null || activity === void 0 ? void 0 : (_activity$key = activity.key) === null || _activity$key === void 0 ? void 0 : _activity$key.split(",")) || [];
75
+ var compareKey = "";
76
+ var splitKeys;
77
+
78
+ for (var i = 0; i < activityKeys.length; i++) {
79
+ var _keys$i;
80
+
81
+ // take care on short and full notation
82
+ splitKeys = activityKeys[i].split("=");
83
+ compareKey = (splitKeys[1] || splitKeys[0]).split("'").join("");
84
+
85
+ if (compareKey !== ((_keys$i = keys[i]) === null || _keys$i === void 0 ? void 0 : _keys$i.toString())) {
86
+ return false;
87
+ }
88
+ }
89
+
90
+ return true;
91
+ });
92
+ }
93
+ }
94
+
95
+ collaborationFormatters.hasCollaborationActivity = hasCollaborationActivity;
96
+ collaborationFormatters.getCollaborationActivityInitials = getCollaborationActivityInitials;
97
+ collaborationFormatters.getCollaborationActivityColor = getCollaborationActivityColor;
98
+ /**
99
+ * @global
100
+ */
101
+
102
+ return collaborationFormatters;
103
+ }, true);
104
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbGxhYm9yYXRpb25Gb3JtYXR0ZXIudHMiXSwibmFtZXMiOlsiY29sbGFib3JhdGlvbkZvcm1hdHRlcnMiLCJzTmFtZSIsImhhc093blByb3BlcnR5Iiwib0FyZ3MiLCJhcHBseSIsImhhc0NvbGxhYm9yYXRpb25BY3Rpdml0eSIsImFjdGl2aXRpZXMiLCJrZXlzIiwiZ2V0Q29sbGFib3JhdGlvbkFjdGl2aXR5IiwiX19mdW5jdGlvbk5hbWUiLCJnZXRDb2xsYWJvcmF0aW9uQWN0aXZpdHlJbml0aWFscyIsImFjdGl2aXR5IiwiaW5pdGlhbHMiLCJ1bmRlZmluZWQiLCJnZXRDb2xsYWJvcmF0aW9uQWN0aXZpdHlDb2xvciIsImNvbG9yIiwibGVuZ3RoIiwiZmluZCIsImFjdGl2aXR5S2V5cyIsImtleSIsInNwbGl0IiwiY29tcGFyZUtleSIsInNwbGl0S2V5cyIsImkiLCJqb2luIiwidG9TdHJpbmciXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7OztBQUZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxNQUFNQSx1QkFBdUIsR0FBRyxVQUF1QkMsS0FBdkIsRUFBNEQ7QUFDM0YsUUFBSUQsdUJBQXVCLENBQUNFLGNBQXhCLENBQXVDRCxLQUF2QyxDQUFKLEVBQW1EO0FBQUEsd0NBRHFCRSxLQUNyQjtBQURxQkEsUUFBQUEsS0FDckI7QUFBQTs7QUFDbEQsYUFBUUgsdUJBQUQsQ0FBaUNDLEtBQWpDLEVBQXdDRyxLQUF4QyxDQUE4QyxJQUE5QyxFQUFvREQsS0FBcEQsQ0FBUDtBQUNBLEtBRkQsTUFFTztBQUNOLGFBQU8sRUFBUDtBQUNBO0FBQ0QsR0FORDs7QUFPTyxNQUFNRSx3QkFBd0IsR0FBRyxVQUFDQyxVQUFELEVBQTBEO0FBQUEsdUNBQXJDQyxJQUFxQztBQUFyQ0EsTUFBQUEsSUFBcUM7QUFBQTs7QUFDakcsV0FBTyxDQUFDLENBQUNDLHdCQUF3QixNQUF4QixVQUF5QkYsVUFBekIsU0FBd0NDLElBQXhDLEVBQVQ7QUFDQSxHQUZNOztBQUdQRixFQUFBQSx3QkFBd0IsQ0FBQ0ksY0FBekIsR0FBMEMsd0VBQTFDOzs7QUFFTyxNQUFNQyxnQ0FBZ0MsR0FBRyxVQUFDSixVQUFELEVBQXlEO0FBQUEsdUNBQXBDQyxJQUFvQztBQUFwQ0EsTUFBQUEsSUFBb0M7QUFBQTs7QUFDeEcsUUFBTUksUUFBUSxHQUFHSCx3QkFBd0IsTUFBeEIsVUFBeUJGLFVBQXpCLFNBQXdDQyxJQUF4QyxFQUFqQjtBQUNBLFdBQU8sQ0FBQUksUUFBUSxTQUFSLElBQUFBLFFBQVEsV0FBUixZQUFBQSxRQUFRLENBQUVDLFFBQVYsS0FBc0JDLFNBQTdCO0FBQ0EsR0FITTs7QUFJUEgsRUFBQUEsZ0NBQWdDLENBQUNELGNBQWpDLEdBQWtELGdGQUFsRDs7O0FBRU8sTUFBTUssNkJBQTZCLEdBQUcsVUFBQ1IsVUFBRCxFQUF5RDtBQUFBLHVDQUFwQ0MsSUFBb0M7QUFBcENBLE1BQUFBLElBQW9DO0FBQUE7O0FBQ3JHLFFBQU1JLFFBQVEsR0FBR0gsd0JBQXdCLE1BQXhCLFVBQXlCRixVQUF6QixTQUF3Q0MsSUFBeEMsRUFBakI7QUFDQSxXQUFPSSxRQUFRLFNBQVIsSUFBQUEsUUFBUSxXQUFSLElBQUFBLFFBQVEsQ0FBRUksS0FBVixHQUFrQixXQUFXSixRQUFRLENBQUNJLEtBQXRDLEdBQThDRixTQUFyRDtBQUNBLEdBSE07O0FBSVBDLEVBQUFBLDZCQUE2QixDQUFDTCxjQUE5QixHQUErQyw2RUFBL0M7OztBQUVBLFdBQVNELHdCQUFULENBQWtDRixVQUFsQyxFQUFtRTtBQUFBLHVDQUFiQyxJQUFhO0FBQWJBLE1BQUFBLElBQWE7QUFBQTs7QUFDbEUsUUFBSUQsVUFBVSxJQUFJQSxVQUFVLENBQUNVLE1BQVgsR0FBb0IsQ0FBdEMsRUFBeUM7QUFDeEMsYUFBT1YsVUFBVSxDQUFDVyxJQUFYLENBQWdCLFVBQVNOLFFBQVQsRUFBd0I7QUFBQTs7QUFDOUMsWUFBTU8sWUFBWSxHQUFHLENBQUFQLFFBQVEsU0FBUixJQUFBQSxRQUFRLFdBQVIsNkJBQUFBLFFBQVEsQ0FBRVEsR0FBVixnRUFBZUMsS0FBZixDQUFxQixHQUFyQixNQUE2QixFQUFsRDtBQUNBLFlBQUlDLFVBQVUsR0FBRyxFQUFqQjtBQUNBLFlBQUlDLFNBQUo7O0FBRUEsYUFBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHTCxZQUFZLENBQUNGLE1BQWpDLEVBQXlDTyxDQUFDLEVBQTFDLEVBQThDO0FBQUE7O0FBQzdDO0FBQ0FELFVBQUFBLFNBQVMsR0FBR0osWUFBWSxDQUFDSyxDQUFELENBQVosQ0FBZ0JILEtBQWhCLENBQXNCLEdBQXRCLENBQVo7QUFDQUMsVUFBQUEsVUFBVSxHQUFHLENBQUNDLFNBQVMsQ0FBQyxDQUFELENBQVQsSUFBZ0JBLFNBQVMsQ0FBQyxDQUFELENBQTFCLEVBQStCRixLQUEvQixDQUFxQyxHQUFyQyxFQUEwQ0ksSUFBMUMsQ0FBK0MsRUFBL0MsQ0FBYjs7QUFDQSxjQUFJSCxVQUFVLGlCQUFLZCxJQUFJLENBQUNnQixDQUFELENBQVQsNENBQUssUUFBU0UsUUFBVCxFQUFMLENBQWQsRUFBd0M7QUFDdkMsbUJBQU8sS0FBUDtBQUNBO0FBQ0Q7O0FBQ0QsZUFBTyxJQUFQO0FBQ0EsT0FkTSxDQUFQO0FBZUE7QUFDRDs7QUFFRHpCLEVBQUFBLHVCQUF1QixDQUFDSyx3QkFBeEIsR0FBbURBLHdCQUFuRDtBQUNBTCxFQUFBQSx1QkFBdUIsQ0FBQ1UsZ0NBQXhCLEdBQTJEQSxnQ0FBM0Q7QUFDQVYsRUFBQUEsdUJBQXVCLENBQUNjLDZCQUF4QixHQUF3REEsNkJBQXhEO0FBQ0E7QUFDQTtBQUNBOztTQUNlZCx1QiIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb2xsZWN0aW9uIG9mIGZvcm1hdHRlcnMgbmVlZGVkIGZvciB0aGUgY29sbGFib3JhdGlvbiBkcmFmdC5cbiAqXG4gKiBAcGFyYW0ge29iamVjdH0gdGhpcyBUaGUgY29udGV4dFxuICogQHBhcmFtIHtzdHJpbmd9IHNOYW1lIFRoZSBpbm5lciBmdW5jdGlvbiBuYW1lXG4gKiBAcGFyYW0ge29iamVjdFtdfSBvQXJncyBUaGUgaW5uZXIgZnVuY3Rpb24gcGFyYW1ldGVyc1xuICogQHJldHVybnMge29iamVjdH0gVGhlIHZhbHVlIGZyb20gdGhlIGlubmVyIGZ1bmN0aW9uXG4gKi9cblxuY29uc3QgY29sbGFib3JhdGlvbkZvcm1hdHRlcnMgPSBmdW5jdGlvbih0aGlzOiBvYmplY3QsIHNOYW1lOiBzdHJpbmcsIC4uLm9BcmdzOiBhbnlbXSk6IGFueSB7XG5cdGlmIChjb2xsYWJvcmF0aW9uRm9ybWF0dGVycy5oYXNPd25Qcm9wZXJ0eShzTmFtZSkpIHtcblx0XHRyZXR1cm4gKGNvbGxhYm9yYXRpb25Gb3JtYXR0ZXJzIGFzIGFueSlbc05hbWVdLmFwcGx5KHRoaXMsIG9BcmdzKTtcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gXCJcIjtcblx0fVxufTtcbmV4cG9ydCBjb25zdCBoYXNDb2xsYWJvcmF0aW9uQWN0aXZpdHkgPSAoYWN0aXZpdGllczogYW55LCAuLi5rZXlzOiBhbnlbXSk6IGJvb2xlYW4gfCB1bmRlZmluZWQgPT4ge1xuXHRyZXR1cm4gISFnZXRDb2xsYWJvcmF0aW9uQWN0aXZpdHkoYWN0aXZpdGllcywgLi4ua2V5cyk7XG59O1xuaGFzQ29sbGFib3JhdGlvbkFjdGl2aXR5Ll9fZnVuY3Rpb25OYW1lID0gXCJzYXAuZmUuY29yZS5mb3JtYXR0ZXJzLkNvbGxhYm9yYXRpb25Gb3JtYXR0ZXIjaGFzQ29sbGFib3JhdGlvbkFjdGl2aXR5XCI7XG5cbmV4cG9ydCBjb25zdCBnZXRDb2xsYWJvcmF0aW9uQWN0aXZpdHlJbml0aWFscyA9IChhY3Rpdml0aWVzOiBhbnksIC4uLmtleXM6IGFueVtdKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcblx0Y29uc3QgYWN0aXZpdHkgPSBnZXRDb2xsYWJvcmF0aW9uQWN0aXZpdHkoYWN0aXZpdGllcywgLi4ua2V5cyk7XG5cdHJldHVybiBhY3Rpdml0eT8uaW5pdGlhbHMgfHwgdW5kZWZpbmVkO1xufTtcbmdldENvbGxhYm9yYXRpb25BY3Rpdml0eUluaXRpYWxzLl9fZnVuY3Rpb25OYW1lID0gXCJzYXAuZmUuY29yZS5mb3JtYXR0ZXJzLkNvbGxhYm9yYXRpb25Gb3JtYXR0ZXIjZ2V0Q29sbGFib3JhdGlvbkFjdGl2aXR5SW5pdGlhbHNcIjtcblxuZXhwb3J0IGNvbnN0IGdldENvbGxhYm9yYXRpb25BY3Rpdml0eUNvbG9yID0gKGFjdGl2aXRpZXM6IGFueSwgLi4ua2V5czogYW55W10pOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuXHRjb25zdCBhY3Rpdml0eSA9IGdldENvbGxhYm9yYXRpb25BY3Rpdml0eShhY3Rpdml0aWVzLCAuLi5rZXlzKTtcblx0cmV0dXJuIGFjdGl2aXR5Py5jb2xvciA/IFwiQWNjZW50XCIgKyBhY3Rpdml0eS5jb2xvciA6IHVuZGVmaW5lZDtcbn07XG5nZXRDb2xsYWJvcmF0aW9uQWN0aXZpdHlDb2xvci5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5Db2xsYWJvcmF0aW9uRm9ybWF0dGVyI2dldENvbGxhYm9yYXRpb25BY3Rpdml0eUNvbG9yXCI7XG5cbmZ1bmN0aW9uIGdldENvbGxhYm9yYXRpb25BY3Rpdml0eShhY3Rpdml0aWVzOiBhbnksIC4uLmtleXM6IGFueVtdKSB7XG5cdGlmIChhY3Rpdml0aWVzICYmIGFjdGl2aXRpZXMubGVuZ3RoID4gMCkge1xuXHRcdHJldHVybiBhY3Rpdml0aWVzLmZpbmQoZnVuY3Rpb24oYWN0aXZpdHk6IGFueSkge1xuXHRcdFx0Y29uc3QgYWN0aXZpdHlLZXlzID0gYWN0aXZpdHk/LmtleT8uc3BsaXQoXCIsXCIpIHx8IFtdO1xuXHRcdFx0bGV0IGNvbXBhcmVLZXkgPSBcIlwiO1xuXHRcdFx0bGV0IHNwbGl0S2V5czogc3RyaW5nW107XG5cblx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgYWN0aXZpdHlLZXlzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdC8vIHRha2UgY2FyZSBvbiBzaG9ydCBhbmQgZnVsbCBub3RhdGlvblxuXHRcdFx0XHRzcGxpdEtleXMgPSBhY3Rpdml0eUtleXNbaV0uc3BsaXQoXCI9XCIpO1xuXHRcdFx0XHRjb21wYXJlS2V5ID0gKHNwbGl0S2V5c1sxXSB8fCBzcGxpdEtleXNbMF0pLnNwbGl0KFwiJ1wiKS5qb2luKFwiXCIpO1xuXHRcdFx0XHRpZiAoY29tcGFyZUtleSAhPT0ga2V5c1tpXT8udG9TdHJpbmcoKSkge1xuXHRcdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fSk7XG5cdH1cbn1cblxuY29sbGFib3JhdGlvbkZvcm1hdHRlcnMuaGFzQ29sbGFib3JhdGlvbkFjdGl2aXR5ID0gaGFzQ29sbGFib3JhdGlvbkFjdGl2aXR5O1xuY29sbGFib3JhdGlvbkZvcm1hdHRlcnMuZ2V0Q29sbGFib3JhdGlvbkFjdGl2aXR5SW5pdGlhbHMgPSBnZXRDb2xsYWJvcmF0aW9uQWN0aXZpdHlJbml0aWFscztcbmNvbGxhYm9yYXRpb25Gb3JtYXR0ZXJzLmdldENvbGxhYm9yYXRpb25BY3Rpdml0eUNvbG9yID0gZ2V0Q29sbGFib3JhdGlvbkFjdGl2aXR5Q29sb3I7XG4vKipcbiAqIEBnbG9iYWxcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY29sbGFib3JhdGlvbkZvcm1hdHRlcnM7XG4iXX0=
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Collection of formatters needed for the collaboration draft.
3
+ *
4
+ * @param {object} this The context
5
+ * @param {string} sName The inner function name
6
+ * @param {object[]} oArgs The inner function parameters
7
+ * @returns {object} The value from the inner function
8
+ */
9
+
10
+ const collaborationFormatters = function(this: object, sName: string, ...oArgs: any[]): any {
11
+ if (collaborationFormatters.hasOwnProperty(sName)) {
12
+ return (collaborationFormatters as any)[sName].apply(this, oArgs);
13
+ } else {
14
+ return "";
15
+ }
16
+ };
17
+ export const hasCollaborationActivity = (activities: any, ...keys: any[]): boolean | undefined => {
18
+ return !!getCollaborationActivity(activities, ...keys);
19
+ };
20
+ hasCollaborationActivity.__functionName = "sap.fe.core.formatters.CollaborationFormatter#hasCollaborationActivity";
21
+
22
+ export const getCollaborationActivityInitials = (activities: any, ...keys: any[]): string | undefined => {
23
+ const activity = getCollaborationActivity(activities, ...keys);
24
+ return activity?.initials || undefined;
25
+ };
26
+ getCollaborationActivityInitials.__functionName = "sap.fe.core.formatters.CollaborationFormatter#getCollaborationActivityInitials";
27
+
28
+ export const getCollaborationActivityColor = (activities: any, ...keys: any[]): string | undefined => {
29
+ const activity = getCollaborationActivity(activities, ...keys);
30
+ return activity?.color ? "Accent" + activity.color : undefined;
31
+ };
32
+ getCollaborationActivityColor.__functionName = "sap.fe.core.formatters.CollaborationFormatter#getCollaborationActivityColor";
33
+
34
+ function getCollaborationActivity(activities: any, ...keys: any[]) {
35
+ if (activities && activities.length > 0) {
36
+ return activities.find(function(activity: any) {
37
+ const activityKeys = activity?.key?.split(",") || [];
38
+ let compareKey = "";
39
+ let splitKeys: string[];
40
+
41
+ for (let i = 0; i < activityKeys.length; i++) {
42
+ // take care on short and full notation
43
+ splitKeys = activityKeys[i].split("=");
44
+ compareKey = (splitKeys[1] || splitKeys[0]).split("'").join("");
45
+ if (compareKey !== keys[i]?.toString()) {
46
+ return false;
47
+ }
48
+ }
49
+ return true;
50
+ });
51
+ }
52
+ }
53
+
54
+ collaborationFormatters.hasCollaborationActivity = hasCollaborationActivity;
55
+ collaborationFormatters.getCollaborationActivityInitials = getCollaborationActivityInitials;
56
+ collaborationFormatters.getCollaborationActivityColor = getCollaborationActivityColor;
57
+ /**
58
+ * @global
59
+ */
60
+ export default collaborationFormatters;
@@ -25,6 +25,56 @@ sap.ui.define(["sap/fe/core/formatters/TableFormatterTypes"], function (TableFor
25
25
  return -1;
26
26
  }
27
27
  };
28
+ /**
29
+ * Gets the validity of creation row fields.
30
+ *
31
+ * @function
32
+ * @name validateCreationRowFields
33
+ * @param {object} fieldValidityObject Object holding the fields
34
+ * @returns {boolean} `true` if all the fields in the creation row are valid, `false` otherwise
35
+ */
36
+
37
+
38
+ var validateCreationRowFields = function (fieldValidityObject) {
39
+ if (!fieldValidityObject) {
40
+ return false;
41
+ }
42
+
43
+ var fieldKeys = Object.keys(fieldValidityObject);
44
+ return fieldKeys.length > 0 && fieldKeys.every(function (key) {
45
+ return fieldValidityObject[key]["validity"];
46
+ });
47
+ };
48
+
49
+ validateCreationRowFields.__functionName = "sap.fe.core.formatters.TableFormatter#validateCreationRowFields";
50
+ /**
51
+ * @param {object} this The context.
52
+ * @param {string} semanticKeyHasDraftIndicator The draft indicator property name.
53
+ * @param {Array} aFilteredMessages Array of messages.
54
+ * @returns {boolean} The value for Object Status visibility property.
55
+ */
56
+
57
+ var getErrorStatusTextVisibilityFormatter = function (semanticKeyHasDraftIndicator, aFilteredMessages) {
58
+ var _getBinding;
59
+
60
+ var bStatusVisibility = false;
61
+ var aSemanticKeyColumns = this.getParent().getAggregation("items");
62
+ var sColumnProperty = (_getBinding = aSemanticKeyColumns[0].getBinding("title")) === null || _getBinding === void 0 ? void 0 : _getBinding.getPath();
63
+
64
+ if (aFilteredMessages && aFilteredMessages.length > 0 && sColumnProperty === semanticKeyHasDraftIndicator) {
65
+ var sCurrentContextPath = this.getBindingContext() ? this.getBindingContext().getPath() : undefined;
66
+ aFilteredMessages.forEach(function (oMessage) {
67
+ if (oMessage.type === "Error" && oMessage.aTargets[0].indexOf(sCurrentContextPath) === 0) {
68
+ bStatusVisibility = true;
69
+ return bStatusVisibility;
70
+ }
71
+ });
72
+ }
73
+
74
+ return bStatusVisibility;
75
+ };
76
+
77
+ getErrorStatusTextVisibilityFormatter.__functionName = "sap.fe.core.formatters.TableFormatter#getErrorStatusTextVisibilityFormatter";
28
78
  /**
29
79
  * rowHighlighting
30
80
  *
@@ -35,7 +85,6 @@ sap.ui.define(["sap/fe/core/formatters/TableFormatterTypes"], function (TableFor
35
85
  * @returns {object} The value from the inner function
36
86
  */
37
87
 
38
-
39
88
  var rowHighlighting = function (criticalityValue, aFilteredMessages, hasActiveEntity, isActiveEntity, isDraftRoot) {
40
89
  var isNewObject = !hasActiveEntity && !isActiveEntity;
41
90
  var iHighestCriticalityValue = -1;
@@ -123,12 +172,14 @@ sap.ui.define(["sap/fe/core/formatters/TableFormatterTypes"], function (TableFor
123
172
  }
124
173
  };
125
174
 
175
+ tableFormatters.validateCreationRowFields = validateCreationRowFields;
126
176
  tableFormatters.rowHighlighting = rowHighlighting;
127
177
  tableFormatters.navigatedRow = navigatedRow;
178
+ tableFormatters.getErrorStatusTextVisibilityFormatter = getErrorStatusTextVisibilityFormatter;
128
179
  /**
129
180
  * @global
130
181
  */
131
182
 
132
183
  return tableFormatters;
133
184
  }, true);
134
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRhYmxlRm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbImdldE1lc3NhZ2V0eXBlT3JkZXIiLCJtZXNzYWdlVHlwZSIsInJvd0hpZ2hsaWdodGluZyIsImNyaXRpY2FsaXR5VmFsdWUiLCJhRmlsdGVyZWRNZXNzYWdlcyIsImhhc0FjdGl2ZUVudGl0eSIsImlzQWN0aXZlRW50aXR5IiwiaXNEcmFmdFJvb3QiLCJpc05ld09iamVjdCIsImlIaWdoZXN0Q3JpdGljYWxpdHlWYWx1ZSIsImxlbmd0aCIsInNDdXJyZW50Q29udGV4dFBhdGgiLCJnZXRCaW5kaW5nQ29udGV4dCIsImdldFBhdGgiLCJmb3JFYWNoIiwib01lc3NhZ2UiLCJhVGFyZ2V0cyIsImluZGV4T2YiLCJ0eXBlIiwiTWVzc2FnZVR5cGUiLCJFcnJvciIsIldhcm5pbmciLCJTdWNjZXNzIiwiSW5mb3JtYXRpb24iLCJOb25lIiwiX19mdW5jdGlvbk5hbWUiLCJuYXZpZ2F0ZWRSb3ciLCJzRGVlcGVzdFBhdGgiLCJzUGF0aCIsInRhYmxlRm9ybWF0dGVycyIsInNOYW1lIiwiaGFzT3duUHJvcGVydHkiLCJvQXJncyIsImFwcGx5Il0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7QUFBQSxNQUFNQSxtQkFBbUIsR0FBRyxVQUFTQyxXQUFULEVBQXNDO0FBQ2pFLFlBQVFBLFdBQVI7QUFDQyxXQUFLLE9BQUw7QUFDQyxlQUFPLENBQVA7O0FBQ0QsV0FBSyxTQUFMO0FBQ0MsZUFBTyxDQUFQOztBQUNELFdBQUssYUFBTDtBQUNDLGVBQU8sQ0FBUDs7QUFDRCxXQUFLLE1BQUw7QUFDQyxlQUFPLENBQVA7O0FBQ0Q7QUFDQyxlQUFPLENBQUMsQ0FBUjtBQVZGO0FBWUEsR0FiRDtBQWVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBRUEsTUFBTUMsZUFBZSxHQUFHLFVBRXZCQyxnQkFGdUIsRUFHdkJDLGlCQUh1QixFQUl2QkMsZUFKdUIsRUFLdkJDLGNBTHVC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LEVBQUFBLGVBQWUsQ0FBQzNCLGVBQWhCLEdBQWtDQSxlQUFsQztBQUNBMkIsRUFBQUEsZUFBZSxDQUFDSCxZQUFoQixHQUErQkEsWUFBL0I7QUFDQTtBQUNBO0FBQ0E7O1NBQ2VHLGUiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBNYW5hZ2VkT2JqZWN0IGZyb20gXCJzYXAvdWkvYmFzZS9NYW5hZ2VkT2JqZWN0XCI7XG5pbXBvcnQgeyBNZXNzYWdlVHlwZSB9IGZyb20gXCJzYXAvZmUvY29yZS9mb3JtYXR0ZXJzL1RhYmxlRm9ybWF0dGVyVHlwZXNcIjtcbmNvbnN0IGdldE1lc3NhZ2V0eXBlT3JkZXIgPSBmdW5jdGlvbihtZXNzYWdlVHlwZTogc3RyaW5nKTogbnVtYmVyIHtcblx0c3dpdGNoIChtZXNzYWdlVHlwZSkge1xuXHRcdGNhc2UgXCJFcnJvclwiOlxuXHRcdFx0cmV0dXJuIDQ7XG5cdFx0Y2FzZSBcIldhcm5pbmdcIjpcblx0XHRcdHJldHVybiAzO1xuXHRcdGNhc2UgXCJJbmZvcm1hdGlvblwiOlxuXHRcdFx0cmV0dXJuIDI7XG5cdFx0Y2FzZSBcIk5vbmVcIjpcblx0XHRcdHJldHVybiAxO1xuXHRcdGRlZmF1bHQ6XG5cdFx0XHRyZXR1cm4gLTE7XG5cdH1cbn07XG5cbi8qKlxuICogcm93SGlnaGxpZ2h0aW5nXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IHRoaXMgVGhlIGNvbnRleHRcbiAqIEBwYXJhbSB7c3RyaW5nfG51bWJlcn0gQ3JpdGljYWxpdHlWYWx1ZSBUaGUgY3JpdGljYWxpdHkgdmFsdWVcbiAqIEBwYXJhbSB7bnVtYmVyfSBtZXNzYWdlTGFzdFVwZGF0ZSBUaW1lc3RhbXAgb2YgdGhlIGxhc3QgbWVzc2FnZSB0aGF0IHdhcyBjcmVhdGVkLiBJdCdzIGRlZmluZWQgYXMgYW4gaW5wdXQgdmFsdWUsIGJ1dCBub3QgdXNlZCBpbiB0aGUgYm9keSBvZiB0aGUgZnVuY3Rpb25cbiAqIEl0IGlzIHVzZWQgdG8gcmVmcmVzaCB0aGUgZm9ybWF0dGluZyBvZiB0aGUgdGFibGUgZWFjaCB0aW1lIGEgbmV3IG1lc3NhZ2UgaXMgdXBkYXRlZFxuICogQHJldHVybnMge29iamVjdH0gVGhlIHZhbHVlIGZyb20gdGhlIGlubmVyIGZ1bmN0aW9uXG4gKi9cblxuY29uc3Qgcm93SGlnaGxpZ2h0aW5nID0gZnVuY3Rpb24oXG5cdHRoaXM6IE1hbmFnZWRPYmplY3QsXG5cdGNyaXRpY2FsaXR5VmFsdWU6IHN0cmluZyB8IG51bWJlcixcblx0YUZpbHRlcmVkTWVzc2FnZXM6IGFueVtdLFxuXHRoYXNBY3RpdmVFbnRpdHk6IGJvb2xlYW4sXG5cdGlzQWN0aXZlRW50aXR5OiBib29sZWFuLFxuXHRpc0RyYWZ0Um9vdDogc3RyaW5nLFxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5cdC4uLmFyZ3M6IGFueVtdXG4pOiBNZXNzYWdlVHlwZSB7XG5cdGNvbnN0IGlzTmV3T2JqZWN0ID0gIWhhc0FjdGl2ZUVudGl0eSAmJiAhaXNBY3RpdmVFbnRpdHk7XG5cdGxldCBpSGlnaGVzdENyaXRpY2FsaXR5VmFsdWU6IG51bWJlciA9IC0xO1xuXHRpZiAoYUZpbHRlcmVkTWVzc2FnZXMgJiYgYUZpbHRlcmVkTWVzc2FnZXMubGVuZ3RoID4gMCkge1xuXHRcdGNvbnN0IHNDdXJyZW50Q29udGV4dFBhdGggPSB0aGlzLmdldEJpbmRpbmdDb250ZXh0KCk/LmdldFBhdGgoKTtcblx0XHRhRmlsdGVyZWRNZXNzYWdlcy5mb3JFYWNoKChvTWVzc2FnZTogYW55KSA9PiB7XG5cdFx0XHRpZiAob01lc3NhZ2UuYVRhcmdldHNbMF0uaW5kZXhPZihzQ3VycmVudENvbnRleHRQYXRoKSA9PT0gMCAmJiBpSGlnaGVzdENyaXRpY2FsaXR5VmFsdWUgPCBnZXRNZXNzYWdldHlwZU9yZGVyKG9NZXNzYWdlLnR5cGUpKSB7XG5cdFx0XHRcdGlIaWdoZXN0Q3JpdGljYWxpdHlWYWx1ZSA9IGdldE1lc3NhZ2V0eXBlT3JkZXIob01lc3NhZ2UudHlwZSk7XG5cdFx0XHRcdGNyaXRpY2FsaXR5VmFsdWUgPSBvTWVzc2FnZS50eXBlO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cdGlmICh0eXBlb2YgY3JpdGljYWxpdHlWYWx1ZSAhPT0gXCJzdHJpbmdcIikge1xuXHRcdHN3aXRjaCAoY3JpdGljYWxpdHlWYWx1ZSkge1xuXHRcdFx0Y2FzZSAxOlxuXHRcdFx0XHRjcml0aWNhbGl0eVZhbHVlID0gTWVzc2FnZVR5cGUuRXJyb3I7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSAyOlxuXHRcdFx0XHRjcml0aWNhbGl0eVZhbHVlID0gTWVzc2FnZVR5cGUuV2FybmluZztcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIDM6XG5cdFx0XHRcdGNyaXRpY2FsaXR5VmFsdWUgPSBNZXNzYWdlVHlwZS5TdWNjZXNzO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgNTpcblx0XHRcdFx0Y3JpdGljYWxpdHlWYWx1ZSA9IE1lc3NhZ2VUeXBlLkluZm9ybWF0aW9uO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdGNyaXRpY2FsaXR5VmFsdWUgPSBNZXNzYWdlVHlwZS5Ob25lO1xuXHRcdH1cblx0fVxuXG5cdGlmIChjcml0aWNhbGl0eVZhbHVlID09PSBNZXNzYWdlVHlwZS5Ob25lKSB7XG5cdFx0aWYgKGlzRHJhZnRSb290ID09PSBcInRydWVcIiAmJiBpc05ld09iamVjdCkge1xuXHRcdFx0cmV0dXJuIE1lc3NhZ2VUeXBlLkluZm9ybWF0aW9uO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gTWVzc2FnZVR5cGUuTm9uZTtcblx0XHR9XG5cdH0gZWxzZSB7XG5cdFx0cmV0dXJuIGNyaXRpY2FsaXR5VmFsdWUgYXMgTWVzc2FnZVR5cGU7XG5cdH1cbn07XG5yb3dIaWdobGlnaHRpbmcuX19mdW5jdGlvbk5hbWUgPSBcInNhcC5mZS5jb3JlLmZvcm1hdHRlcnMuVGFibGVGb3JtYXR0ZXIjcm93SGlnaGxpZ2h0aW5nXCI7XG5cbmNvbnN0IG5hdmlnYXRlZFJvdyA9IGZ1bmN0aW9uKHRoaXM6IE1hbmFnZWRPYmplY3QsIHNEZWVwZXN0UGF0aDogc3RyaW5nKSB7XG5cdGNvbnN0IHNQYXRoID0gdGhpcy5nZXRCaW5kaW5nQ29udGV4dCgpPy5nZXRQYXRoKCk7XG5cdGlmIChzUGF0aCAmJiBzRGVlcGVzdFBhdGgpIHtcblx0XHRyZXR1cm4gc0RlZXBlc3RQYXRoLmluZGV4T2Yoc1BhdGgpID09PSAwO1xuXHR9IGVsc2Uge1xuXHRcdHJldHVybiBmYWxzZTtcblx0fVxufTtcbm5hdmlnYXRlZFJvdy5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5UYWJsZUZvcm1hdHRlciNuYXZpZ2F0ZWRSb3dcIjtcblxuLy8gU2VlIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rL2Z1bmN0aW9ucy5odG1sI3RoaXMtcGFyYW1ldGVycyBmb3IgbW9yZSBkZXRhaWwgb24gdGhpcyB3ZWlyZCBzeW50YXhcbi8qKlxuICogQ29sbGVjdGlvbiBvZiB0YWJsZSBmb3JtYXR0ZXJzLlxuICpcbiAqIEBwYXJhbSB7b2JqZWN0fSB0aGlzIFRoZSBjb250ZXh0XG4gKiBAcGFyYW0ge3N0cmluZ30gc05hbWUgVGhlIGlubmVyIGZ1bmN0aW9uIG5hbWVcbiAqIEBwYXJhbSB7b2JqZWN0W119IG9BcmdzIFRoZSBpbm5lciBmdW5jdGlvbiBwYXJhbWV0ZXJzXG4gKiBAcmV0dXJucyB7b2JqZWN0fSBUaGUgdmFsdWUgZnJvbSB0aGUgaW5uZXIgZnVuY3Rpb25cbiAqL1xuY29uc3QgdGFibGVGb3JtYXR0ZXJzID0gZnVuY3Rpb24odGhpczogb2JqZWN0LCBzTmFtZTogc3RyaW5nLCAuLi5vQXJnczogYW55W10pOiBhbnkge1xuXHRpZiAodGFibGVGb3JtYXR0ZXJzLmhhc093blByb3BlcnR5KHNOYW1lKSkge1xuXHRcdHJldHVybiAodGFibGVGb3JtYXR0ZXJzIGFzIGFueSlbc05hbWVdLmFwcGx5KHRoaXMsIG9BcmdzKTtcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gXCJcIjtcblx0fVxufTtcblxudGFibGVGb3JtYXR0ZXJzLnJvd0hpZ2hsaWdodGluZyA9IHJvd0hpZ2hsaWdodGluZztcbnRhYmxlRm9ybWF0dGVycy5uYXZpZ2F0ZWRSb3cgPSBuYXZpZ2F0ZWRSb3c7XG4vKipcbiAqIEBnbG9iYWxcbiAqL1xuZXhwb3J0IGRlZmF1bHQgdGFibGVGb3JtYXR0ZXJzO1xuIl19
185
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRhYmxlRm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbImdldE1lc3NhZ2V0eXBlT3JkZXIiLCJtZXNzYWdlVHlwZSIsInZhbGlkYXRlQ3JlYXRpb25Sb3dGaWVsZHMiLCJmaWVsZFZhbGlkaXR5T2JqZWN0IiwiZmllbGRLZXlzIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsImV2ZXJ5Iiwia2V5IiwiX19mdW5jdGlvbk5hbWUiLCJnZXRFcnJvclN0YXR1c1RleHRWaXNpYmlsaXR5Rm9ybWF0dGVyIiwic2VtYW50aWNLZXlIYXNEcmFmdEluZGljYXRvciIsImFGaWx0ZXJlZE1lc3NhZ2VzIiwiYlN0YXR1c1Zpc2liaWxpdHkiLCJhU2VtYW50aWNLZXlDb2x1bW5zIiwiZ2V0UGFyZW50IiwiZ2V0QWdncmVnYXRpb24iLCJzQ29sdW1uUHJvcGVydHkiLCJnZXRCaW5kaW5nIiwiZ2V0UGF0aCIsInNDdXJyZW50Q29udGV4dFBhdGgiLCJnZXRCaW5kaW5nQ29udGV4dCIsInVuZGVmaW5lZCIsImZvckVhY2giLCJvTWVzc2FnZSIsInR5cGUiLCJhVGFyZ2V0cyIsImluZGV4T2YiLCJyb3dIaWdobGlnaHRpbmciLCJjcml0aWNhbGl0eVZhbHVlIiwiaGFzQWN0aXZlRW50aXR5IiwiaXNBY3RpdmVFbnRpdHkiLCJpc0RyYWZ0Um9vdCIsImlzTmV3T2JqZWN0IiwiaUhpZ2hlc3RDcml0aWNhbGl0eVZhbHVlIiwiTWVzc2FnZVR5cGUiLCJFcnJvciIsIldhcm5pbmciLCJTdWNjZXNzIiwiSW5mb3JtYXRpb24iLCJOb25lIiwibmF2aWdhdGVkUm93Iiwic0RlZXBlc3RQYXRoIiwic1BhdGgiLCJ0YWJsZUZvcm1hdHRlcnMiLCJzTmFtZSIsImhhc093blByb3BlcnR5Iiwib0FyZ3MiLCJhcHBseSJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7O0FBQUEsTUFBTUEsbUJBQW1CLEdBQUcsVUFBU0MsV0FBVCxFQUFzQztBQUNqRSxZQUFRQSxXQUFSO0FBQ0MsV0FB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Q3hFLFFBQU1DLEtBQUssNkJBQUcsS0FBS3RCLGlCQUFMLEVBQUgsMkRBQUcsdUJBQTBCRixPQUExQixFQUFkOztBQUNBLFFBQUl3QixLQUFLLElBQUlELFlBQWIsRUFBMkI7QUFDMUIsYUFBT0EsWUFBWSxDQUFDZixPQUFiLENBQXFCZ0IsS0FBckIsTUFBZ0MsQ0FBdkM7QUFDQSxLQUZELE1BRU87QUFDTixhQUFPLEtBQVA7QUFDQTtBQUNELEdBUEQ7O0FBUUFGLEVBQUFBLFlBQVksQ0FBQ2hDLGNBQWIsR0FBOEIsb0RBQTlCLEMsQ0FFQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBLE1BQU1tQyxlQUFlLEdBQUcsVUFBdUJDLEtBQXZCLEVBQTREO0FBQ25GLFFBQUlELGVBQWUsQ0FBQ0UsY0FBaEIsQ0FBK0JELEtBQS9CLENBQUosRUFBMkM7QUFBQSx3Q0FEcUJFLEtBQ3JCO0FBRHFCQSxRQUFBQSxLQUNyQjtBQUFBOztBQUMxQyxhQUFRSCxlQUFELENBQXlCQyxLQUF6QixFQUFnQ0csS0FBaEMsQ0FBc0MsSUFBdEMsRUFBNENELEtBQTVDLENBQVA7QUFDQSxLQUZELE1BRU87QUFDTixhQUFPLEVBQVA7QUFDQTtBQUNELEdBTkQ7O0FBUUFILEVBQUFBLGVBQWUsQ0FBQzNDLHlCQUFoQixHQUE0Q0EseUJBQTVDO0FBQ0EyQyxFQUFBQSxlQUFlLENBQUNoQixlQUFoQixHQUFrQ0EsZUFBbEM7QUFDQWdCLEVBQUFBLGVBQWUsQ0FBQ0gsWUFBaEIsR0FBK0JBLFlBQS9CO0FBQ0FHLEVBQUFBLGVBQWUsQ0FBQ2xDLHFDQUFoQixHQUF3REEscUNBQXhEO0FBQ0E7QUFDQTtBQUNBOztTQUNla0MsZSIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE1hbmFnZWRPYmplY3QgZnJvbSBcInNhcC91aS9iYXNlL01hbmFnZWRPYmplY3RcIjtcbmltcG9ydCB7IE1lc3NhZ2VUeXBlIH0gZnJvbSBcInNhcC9mZS9jb3JlL2Zvcm1hdHRlcnMvVGFibGVGb3JtYXR0ZXJUeXBlc1wiO1xuY29uc3QgZ2V0TWVzc2FnZXR5cGVPcmRlciA9IGZ1bmN0aW9uKG1lc3NhZ2VUeXBlOiBzdHJpbmcpOiBudW1iZXIge1xuXHRzd2l0Y2ggKG1lc3NhZ2VUeXBlKSB7XG5cdFx0Y2FzZSBcIkVycm9yXCI6XG5cdFx0XHRyZXR1cm4gNDtcblx0XHRjYXNlIFwiV2FybmluZ1wiOlxuXHRcdFx0cmV0dXJuIDM7XG5cdFx0Y2FzZSBcIkluZm9ybWF0aW9uXCI6XG5cdFx0XHRyZXR1cm4gMjtcblx0XHRjYXNlIFwiTm9uZVwiOlxuXHRcdFx0cmV0dXJuIDE7XG5cdFx0ZGVmYXVsdDpcblx0XHRcdHJldHVybiAtMTtcblx0fVxufTtcblxuLyoqXG4gKiBHZXRzIHRoZSB2YWxpZGl0eSBvZiBjcmVhdGlvbiByb3cgZmllbGRzLlxuICpcbiAqIEBmdW5jdGlvblxuICogQG5hbWUgdmFsaWRhdGVDcmVhdGlvblJvd0ZpZWxkc1xuICogQHBhcmFtIHtvYmplY3R9IGZpZWxkVmFsaWRpdHlPYmplY3QgT2JqZWN0IGhvbGRpbmcgdGhlIGZpZWxkc1xuICogQHJldHVybnMge2Jvb2xlYW59IGB0cnVlYCBpZiBhbGwgdGhlIGZpZWxkcyBpbiB0aGUgY3JlYXRpb24gcm93IGFyZSB2YWxpZCwgYGZhbHNlYCBvdGhlcndpc2VcbiAqL1xuY29uc3QgdmFsaWRhdGVDcmVhdGlvblJvd0ZpZWxkcyA9IGZ1bmN0aW9uKGZpZWxkVmFsaWRpdHlPYmplY3Q/OiBhbnkpIHtcblx0aWYgKCFmaWVsZFZhbGlkaXR5T2JqZWN0KSB7XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG5cdGNvbnN0IGZpZWxkS2V5cyA9IE9iamVjdC5rZXlzKGZpZWxkVmFsaWRpdHlPYmplY3QpO1xuXHRyZXR1cm4gKFxuXHRcdGZpZWxkS2V5cy5sZW5ndGggPiAwICYmXG5cdFx0ZmllbGRLZXlzLmV2ZXJ5KGZ1bmN0aW9uKGtleSkge1xuXHRcdFx0cmV0dXJuIGZpZWxkVmFsaWRpdHlPYmplY3Rba2V5XVtcInZhbGlkaXR5XCJdO1xuXHRcdH0pXG5cdCk7XG59O1xudmFsaWRhdGVDcmVhdGlvblJvd0ZpZWxkcy5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5UYWJsZUZvcm1hdHRlciN2YWxpZGF0ZUNyZWF0aW9uUm93RmllbGRzXCI7XG5cbi8qKiBcbiAqIEBwYXJhbSB7b2JqZWN0fSB0aGlzIFRoZSBjb250ZXh0LlxuICogQHBhcmFtIHtzdHJpbmd9IHNlbWFudGljS2V5SGFzRHJhZnRJbmRpY2F0b3IgVGhlIGRyYWZ0IGluZGljYXRvciBwcm9wZXJ0eSBuYW1lLlxuICogQHBhcmFtIHtBcnJheX0gYUZpbHRlcmVkTWVzc2FnZXMgQXJyYXkgb2YgbWVzc2FnZXMuXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVGhlIHZhbHVlIGZvciBPYmplY3QgU3RhdHVzIHZpc2liaWxpdHkgcHJvcGVydHkuXG4gKi9cbmNvbnN0IGdldEVycm9yU3RhdHVzVGV4dFZpc2liaWxpdHlGb3JtYXR0ZXIgPSBmdW5jdGlvbihcblx0dGhpczogTWFuYWdlZE9iamVjdCB8IGFueSxcblx0c2VtYW50aWNLZXlIYXNEcmFmdEluZGljYXRvcjogc3RyaW5nLFxuXHRhRmlsdGVyZWRNZXNzYWdlczogYW55XG4pIHtcblx0bGV0IGJTdGF0dXNWaXNpYmlsaXR5ID0gZmFsc2U7XG5cdGNvbnN0IGFTZW1hbnRpY0tleUNvbHVtbnMgPSB0aGlzLmdldFBhcmVudCgpLmdldEFnZ3JlZ2F0aW9uKFwiaXRlbXNcIik7XG5cdGNvbnN0IHNDb2x1bW5Qcm9wZXJ0eSA9IGFTZW1hbnRpY0tleUNvbHVtbnNbMF0hLmdldEJpbmRpbmcoXCJ0aXRsZVwiKT8uZ2V0UGF0aCgpO1xuXHRpZiAoYUZpbHRlcmVkTWVzc2FnZXMgJiYgYUZpbHRlcmVkTWVzc2FnZXMubGVuZ3RoID4gMCAmJiBzQ29sdW1uUHJvcGVydHkgPT09IHNlbWFudGljS2V5SGFzRHJhZnRJbmRpY2F0b3IpIHtcblx0XHRjb25zdCBzQ3VycmVudENvbnRleHRQYXRoID0gdGhpcy5nZXRCaW5kaW5nQ29udGV4dCgpID8gdGhpcy5nZXRCaW5kaW5nQ29udGV4dCgpLmdldFBhdGgoKSA6IHVuZGVmaW5lZDtcblx0XHRhRmlsdGVyZWRNZXNzYWdlcy5mb3JFYWNoKChvTWVzc2FnZTogYW55KSA9PiB7XG5cdFx0XHRpZiAob01lc3NhZ2UudHlwZSA9PT0gXCJFcnJvclwiICYmIG9NZXNzYWdlLmFUYXJnZXRzWzBdLmluZGV4T2Yoc0N1cnJlbnRDb250ZXh0UGF0aCkgPT09IDApIHtcblx0XHRcdFx0YlN0YXR1c1Zpc2liaWxpdHkgPSB0cnVlO1xuXHRcdFx0XHRyZXR1cm4gYlN0YXR1c1Zpc2liaWxpdHk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblx0cmV0dXJuIGJTdGF0dXNWaXNpYmlsaXR5O1xufTtcbmdldEVycm9yU3RhdHVzVGV4dFZpc2liaWxpdHlGb3JtYXR0ZXIuX19mdW5jdGlvbk5hbWUgPSBcInNhcC5mZS5jb3JlLmZvcm1hdHRlcnMuVGFibGVGb3JtYXR0ZXIjZ2V0RXJyb3JTdGF0dXNUZXh0VmlzaWJpbGl0eUZvcm1hdHRlclwiO1xuXG4vKipcbiAqIHJvd0hpZ2hsaWdodGluZ1xuICpcbiAqIEBwYXJhbSB7b2JqZWN0fSB0aGlzIFRoZSBjb250ZXh0XG4gKiBAcGFyYW0ge3N0cmluZ3xudW1iZXJ9IENyaXRpY2FsaXR5VmFsdWUgVGhlIGNyaXRpY2FsaXR5IHZhbHVlXG4gKiBAcGFyYW0ge251bWJlcn0gbWVzc2FnZUxhc3RVcGRhdGUgVGltZXN0YW1wIG9mIHRoZSBsYXN0IG1lc3NhZ2UgdGhhdCB3YXMgY3JlYXRlZC4gSXQncyBkZWZpbmVkIGFzIGFuIGlucHV0IHZhbHVlLCBidXQgbm90IHVzZWQgaW4gdGhlIGJvZHkgb2YgdGhlIGZ1bmN0aW9uXG4gKiBJdCBpcyB1c2VkIHRvIHJlZnJlc2ggdGhlIGZvcm1hdHRpbmcgb2YgdGhlIHRhYmxlIGVhY2ggdGltZSBhIG5ldyBtZXNzYWdlIGlzIHVwZGF0ZWRcbiAqIEByZXR1cm5zIHtvYmplY3R9IFRoZSB2YWx1ZSBmcm9tIHRoZSBpbm5lciBmdW5jdGlvblxuICovXG5cbmNvbnN0IHJvd0hpZ2hsaWdodGluZyA9IGZ1bmN0aW9uKFxuXHR0aGlzOiBNYW5hZ2VkT2JqZWN0LFxuXHRjcml0aWNhbGl0eVZhbHVlOiBzdHJpbmcgfCBudW1iZXIsXG5cdGFGaWx0ZXJlZE1lc3NhZ2VzOiBhbnlbXSxcblx0aGFzQWN0aXZlRW50aXR5OiBib29sZWFuLFxuXHRpc0FjdGl2ZUVudGl0eTogYm9vbGVhbixcblx0aXNEcmFmdFJvb3Q6IHN0cmluZyxcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuXHQuLi5hcmdzOiBhbnlbXVxuKTogTWVzc2FnZVR5cGUge1xuXHRjb25zdCBpc05ld09iamVjdCA9ICFoYXNBY3RpdmVFbnRpdHkgJiYgIWlzQWN0aXZlRW50aXR5O1xuXHRsZXQgaUhpZ2hlc3RDcml0aWNhbGl0eVZhbHVlOiBudW1iZXIgPSAtMTtcblx0aWYgKGFGaWx0ZXJlZE1lc3NhZ2VzICYmIGFGaWx0ZXJlZE1lc3NhZ2VzLmxlbmd0aCA+IDApIHtcblx0XHRjb25zdCBzQ3VycmVudENvbnRleHRQYXRoID0gdGhpcy5nZXRCaW5kaW5nQ29udGV4dCgpPy5nZXRQYXRoKCk7XG5cdFx0YUZpbHRlcmVkTWVzc2FnZXMuZm9yRWFjaCgob01lc3NhZ2U6IGFueSkgPT4ge1xuXHRcdFx0aWYgKG9NZXNzYWdlLmFUYXJnZXRzWzBdLmluZGV4T2Yoc0N1cnJlbnRDb250ZXh0UGF0aCkgPT09IDAgJiYgaUhpZ2hlc3RDcml0aWNhbGl0eVZhbHVlIDwgZ2V0TWVzc2FnZXR5cGVPcmRlcihvTWVzc2FnZS50eXBlKSkge1xuXHRcdFx0XHRpSGlnaGVzdENyaXRpY2FsaXR5VmFsdWUgPSBnZXRNZXNzYWdldHlwZU9yZGVyKG9NZXNzYWdlLnR5cGUpO1xuXHRcdFx0XHRjcml0aWNhbGl0eVZhbHVlID0gb01lc3NhZ2UudHlwZTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXHRpZiAodHlwZW9mIGNyaXRpY2FsaXR5VmFsdWUgIT09IFwic3RyaW5nXCIpIHtcblx0XHRzd2l0Y2ggKGNyaXRpY2FsaXR5VmFsdWUpIHtcblx0XHRcdGNhc2UgMTpcblx0XHRcdFx0Y3JpdGljYWxpdHlWYWx1ZSA9IE1lc3NhZ2VUeXBlLkVycm9yO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgMjpcblx0XHRcdFx0Y3JpdGljYWxpdHlWYWx1ZSA9IE1lc3NhZ2VUeXBlLldhcm5pbmc7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSAzOlxuXHRcdFx0XHRjcml0aWNhbGl0eVZhbHVlID0gTWVzc2FnZVR5cGUuU3VjY2Vzcztcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIDU6XG5cdFx0XHRcdGNyaXRpY2FsaXR5VmFsdWUgPSBNZXNzYWdlVHlwZS5JbmZvcm1hdGlvbjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRjcml0aWNhbGl0eVZhbHVlID0gTWVzc2FnZVR5cGUuTm9uZTtcblx0XHR9XG5cdH1cblxuXHRpZiAoY3JpdGljYWxpdHlWYWx1ZSA9PT0gTWVzc2FnZVR5cGUuTm9uZSkge1xuXHRcdGlmIChpc0RyYWZ0Um9vdCA9PT0gXCJ0cnVlXCIgJiYgaXNOZXdPYmplY3QpIHtcblx0XHRcdHJldHVybiBNZXNzYWdlVHlwZS5JbmZvcm1hdGlvbjtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIE1lc3NhZ2VUeXBlLk5vbmU7XG5cdFx0fVxuXHR9IGVsc2Uge1xuXHRcdHJldHVybiBjcml0aWNhbGl0eVZhbHVlIGFzIE1lc3NhZ2VUeXBlO1xuXHR9XG59O1xucm93SGlnaGxpZ2h0aW5nLl9fZnVuY3Rpb25OYW1lID0gXCJzYXAuZmUuY29yZS5mb3JtYXR0ZXJzLlRhYmxlRm9ybWF0dGVyI3Jvd0hpZ2hsaWdodGluZ1wiO1xuXG5jb25zdCBuYXZpZ2F0ZWRSb3cgPSBmdW5jdGlvbih0aGlzOiBNYW5hZ2VkT2JqZWN0LCBzRGVlcGVzdFBhdGg6IHN0cmluZykge1xuXHRjb25zdCBzUGF0aCA9IHRoaXMuZ2V0QmluZGluZ0NvbnRleHQoKT8uZ2V0UGF0aCgpO1xuXHRpZiAoc1BhdGggJiYgc0RlZXBlc3RQYXRoKSB7XG5cdFx0cmV0dXJuIHNEZWVwZXN0UGF0aC5pbmRleE9mKHNQYXRoKSA9PT0gMDtcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cbn07XG5uYXZpZ2F0ZWRSb3cuX19mdW5jdGlvbk5hbWUgPSBcInNhcC5mZS5jb3JlLmZvcm1hdHRlcnMuVGFibGVGb3JtYXR0ZXIjbmF2aWdhdGVkUm93XCI7XG5cbi8vIFNlZSBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay9mdW5jdGlvbnMuaHRtbCN0aGlzLXBhcmFtZXRlcnMgZm9yIG1vcmUgZGV0YWlsIG9uIHRoaXMgd2VpcmQgc3ludGF4XG4vKipcbiAqIENvbGxlY3Rpb24gb2YgdGFibGUgZm9ybWF0dGVycy5cbiAqXG4gKiBAcGFyYW0ge29iamVjdH0gdGhpcyBUaGUgY29udGV4dFxuICogQHBhcmFtIHtzdHJpbmd9IHNOYW1lIFRoZSBpbm5lciBmdW5jdGlvbiBuYW1lXG4gKiBAcGFyYW0ge29iamVjdFtdfSBvQXJncyBUaGUgaW5uZXIgZnVuY3Rpb24gcGFyYW1ldGVyc1xuICogQHJldHVybnMge29iamVjdH0gVGhlIHZhbHVlIGZyb20gdGhlIGlubmVyIGZ1bmN0aW9uXG4gKi9cbmNvbnN0IHRhYmxlRm9ybWF0dGVycyA9IGZ1bmN0aW9uKHRoaXM6IG9iamVjdCwgc05hbWU6IHN0cmluZywgLi4ub0FyZ3M6IGFueVtdKTogYW55IHtcblx0aWYgKHRhYmxlRm9ybWF0dGVycy5oYXNPd25Qcm9wZXJ0eShzTmFtZSkpIHtcblx0XHRyZXR1cm4gKHRhYmxlRm9ybWF0dGVycyBhcyBhbnkpW3NOYW1lXS5hcHBseSh0aGlzLCBvQXJncyk7XG5cdH0gZWxzZSB7XG5cdFx0cmV0dXJuIFwiXCI7XG5cdH1cbn07XG5cbnRhYmxlRm9ybWF0dGVycy52YWxpZGF0ZUNyZWF0aW9uUm93RmllbGRzID0gdmFsaWRhdGVDcmVhdGlvblJvd0ZpZWxkcztcbnRhYmxlRm9ybWF0dGVycy5yb3dIaWdobGlnaHRpbmcgPSByb3dIaWdobGlnaHRpbmc7XG50YWJsZUZvcm1hdHRlcnMubmF2aWdhdGVkUm93ID0gbmF2aWdhdGVkUm93O1xudGFibGVGb3JtYXR0ZXJzLmdldEVycm9yU3RhdHVzVGV4dFZpc2liaWxpdHlGb3JtYXR0ZXIgPSBnZXRFcnJvclN0YXR1c1RleHRWaXNpYmlsaXR5Rm9ybWF0dGVyO1xuLyoqXG4gKiBAZ2xvYmFsXG4gKi9cbmV4cG9ydCBkZWZhdWx0IHRhYmxlRm9ybWF0dGVycztcbiJdfQ==