@sapui5/sap.fe.core 1.101.1 → 1.102.2

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 (217) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/core/.library +1 -1
  3. package/src/sap/fe/core/AppComponent.js +5 -5
  4. package/src/sap/fe/core/AppComponent.ts +19 -18
  5. package/src/sap/fe/core/AppStateHandler.js +4 -4
  6. package/src/sap/fe/core/AppStateHandler.ts +9 -9
  7. package/src/sap/fe/core/CommonUtils.js +59 -93
  8. package/src/sap/fe/core/CommonUtils.ts +80 -99
  9. package/src/sap/fe/core/ExtensionAPI.js +2 -4
  10. package/src/sap/fe/core/ExtensionAPI.ts +1 -3
  11. package/src/sap/fe/core/PageController.js +14 -9
  12. package/src/sap/fe/core/PageController.ts +8 -2
  13. package/src/sap/fe/core/TemplateComponent.js +6 -6
  14. package/src/sap/fe/core/TemplateComponent.ts +5 -5
  15. package/src/sap/fe/core/TemplateModel.js +2 -2
  16. package/src/sap/fe/core/TemplateModel.ts +2 -2
  17. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.js +303 -75
  18. package/src/sap/fe/core/buildingBlocks/BuildingBlockRuntime.ts +273 -64
  19. package/src/sap/fe/core/{BusyLocker.js → controllerextensions/BusyLocker.js} +1 -1
  20. package/src/sap/fe/core/{BusyLocker.ts → controllerextensions/BusyLocker.ts} +7 -7
  21. package/src/sap/fe/core/controllerextensions/EditFlow.js +234 -123
  22. package/src/sap/fe/core/controllerextensions/EditFlow.ts +176 -114
  23. package/src/sap/fe/core/controllerextensions/InternalEditFlow.js +34 -10
  24. package/src/sap/fe/core/controllerextensions/InternalEditFlow.ts +44 -12
  25. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.js +30 -28
  26. package/src/sap/fe/core/controllerextensions/InternalIntentBasedNavigation.ts +38 -31
  27. package/src/sap/fe/core/controllerextensions/InternalRouting.js +157 -102
  28. package/src/sap/fe/core/controllerextensions/InternalRouting.ts +155 -103
  29. package/src/sap/fe/core/controllerextensions/MassEdit.js +4 -3
  30. package/src/sap/fe/core/controllerextensions/MassEdit.ts +15 -14
  31. package/src/sap/fe/core/controllerextensions/MessageHandler.js +3 -3
  32. package/src/sap/fe/core/controllerextensions/MessageHandler.ts +10 -2
  33. package/src/sap/fe/core/controllerextensions/Paginator.js +12 -3
  34. package/src/sap/fe/core/controllerextensions/Paginator.ts +11 -2
  35. package/src/sap/fe/core/controllerextensions/Share.js +19 -1
  36. package/src/sap/fe/core/controllerextensions/Share.ts +18 -0
  37. package/src/sap/fe/core/controllerextensions/SideEffects.js +2 -2
  38. package/src/sap/fe/core/controllerextensions/SideEffects.ts +2 -2
  39. package/src/sap/fe/core/controllerextensions/ViewState.js +11 -1
  40. package/src/sap/fe/core/controllerextensions/ViewState.ts +10 -0
  41. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.js +105 -0
  42. package/src/sap/fe/core/controllerextensions/collaboration/ActivityBase.ts +98 -0
  43. package/src/sap/fe/core/controllerextensions/collaboration/ActivitySync.js +360 -0
  44. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/ActivitySync.ts +57 -106
  45. package/src/sap/fe/core/controllerextensions/collaboration/CollaborationCommon.js +146 -0
  46. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/CollaborationCommon.ts +6 -6
  47. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/Manage.js +4 -4
  48. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/Manage.ts +3 -3
  49. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/ManageDialog.fragment.xml +0 -0
  50. package/src/sap/fe/core/{actions → controllerextensions}/collaboration/UserDetails.fragment.xml +5 -7
  51. package/src/sap/fe/core/controllerextensions/editFlow/TransactionHelper.js +1587 -0
  52. package/src/sap/fe/core/{TransactionHelper.ts → controllerextensions/editFlow/TransactionHelper.ts} +26 -13
  53. package/src/sap/fe/core/controllerextensions/editFlow/draft.js +785 -0
  54. package/src/sap/fe/core/{actions → controllerextensions/editFlow}/draft.ts +179 -22
  55. package/src/sap/fe/core/controllerextensions/editFlow/operations.js +1175 -0
  56. package/src/sap/fe/core/{actions → controllerextensions/editFlow}/operations.ts +203 -98
  57. package/src/sap/fe/core/controllerextensions/editFlow/sticky.js +190 -0
  58. package/src/sap/fe/core/{actions → controllerextensions/editFlow}/sticky.ts +76 -12
  59. package/src/sap/fe/core/controllerextensions/messageHandler/messageHandling.js +597 -0
  60. package/src/sap/fe/core/{actions → controllerextensions/messageHandler}/messageHandling.ts +46 -27
  61. package/src/sap/fe/core/controllerextensions/routing/RouterProxy.js +940 -0
  62. package/src/sap/fe/core/{RouterProxy.ts → controllerextensions/routing/RouterProxy.ts} +20 -18
  63. package/src/sap/fe/core/controls/ActionParameterDialog.fragment.xml +21 -18
  64. package/src/sap/fe/core/controls/CommandExecution.js +14 -3
  65. package/src/sap/fe/core/controls/CommandExecution.ts +11 -2
  66. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.js +34 -29
  67. package/src/sap/fe/core/controls/CustomFilterFieldContentWrapper.ts +33 -29
  68. package/src/sap/fe/core/controls/CustomQuickViewPage.js +2 -1
  69. package/src/sap/fe/core/controls/CustomQuickViewPage.ts +1 -0
  70. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossDraft.fragment.xml +11 -3
  71. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.js +17 -7
  72. package/src/sap/fe/core/controls/DataLossOrDraftDiscard/DataLossOrDraftDiscardHandler.ts +9 -3
  73. package/src/sap/fe/core/controls/FileWrapper.js +49 -2
  74. package/src/sap/fe/core/controls/FileWrapper.ts +34 -1
  75. package/src/sap/fe/core/controls/FormElementWrapper.js +12 -2
  76. package/src/sap/fe/core/controls/FormElementWrapper.ts +12 -1
  77. package/src/sap/fe/core/controls/MassEditSelect.js +33 -0
  78. package/src/sap/fe/core/controls/MassEditSelect.ts +45 -0
  79. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.js +2 -2
  80. package/src/sap/fe/core/controls/filterbar/utils/VisualFilterUtils.ts +23 -28
  81. package/src/sap/fe/core/controls/massEdit/MassEditDialog.fragment.xml +28 -63
  82. package/src/sap/fe/core/controls/massEdit/MassEditField.fragment.xml +107 -0
  83. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.js +550 -36
  84. package/src/sap/fe/core/controls/massEdit/MassEditHandlers.ts +604 -36
  85. package/src/sap/fe/core/converters/ManifestSettings.js +2 -1
  86. package/src/sap/fe/core/converters/ManifestSettings.ts +4 -1
  87. package/src/sap/fe/core/converters/MetaModelConverter.js +11 -40
  88. package/src/sap/fe/core/converters/MetaModelConverter.ts +56 -84
  89. package/src/sap/fe/core/converters/annotations/DataField.js +20 -4
  90. package/src/sap/fe/core/converters/annotations/DataField.ts +24 -2
  91. package/src/sap/fe/core/converters/controls/Common/Action.js +5 -12
  92. package/src/sap/fe/core/converters/controls/Common/Action.ts +3 -9
  93. package/src/sap/fe/core/converters/controls/Common/Chart.js +10 -3
  94. package/src/sap/fe/core/converters/controls/Common/Chart.ts +8 -3
  95. package/src/sap/fe/core/converters/controls/Common/Form.js +12 -14
  96. package/src/sap/fe/core/converters/controls/Common/Form.ts +17 -19
  97. package/src/sap/fe/core/converters/controls/Common/Table.js +149 -66
  98. package/src/sap/fe/core/converters/controls/Common/Table.ts +136 -52
  99. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.js +22 -12
  100. package/src/sap/fe/core/converters/controls/Common/table/StandardActions.ts +23 -12
  101. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.js +7 -5
  102. package/src/sap/fe/core/converters/controls/ListReport/FilterBar.ts +15 -10
  103. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.js +26 -24
  104. package/src/sap/fe/core/converters/controls/ObjectPage/SubSection.ts +35 -33
  105. package/src/sap/fe/core/converters/helpers/Aggregation.js +10 -2
  106. package/src/sap/fe/core/converters/helpers/Aggregation.ts +18 -13
  107. package/src/sap/fe/core/converters/helpers/BindingHelper.js +3 -2
  108. package/src/sap/fe/core/converters/helpers/BindingHelper.ts +6 -5
  109. package/src/sap/fe/core/converters/templates/ObjectPageConverter.js +25 -25
  110. package/src/sap/fe/core/converters/templates/ObjectPageConverter.ts +35 -38
  111. package/src/sap/fe/core/designtime/AppComponent.designtime.js +3 -3
  112. package/src/sap/fe/core/designtime/AppComponent.designtime.ts +8 -6
  113. package/src/sap/fe/core/formatters/TableFormatter.js +73 -12
  114. package/src/sap/fe/core/formatters/TableFormatter.ts +70 -15
  115. package/src/sap/fe/core/fpm/Component.js +2 -2
  116. package/src/sap/fe/core/fpm/Component.ts +1 -1
  117. package/src/sap/fe/core/helpers/BindingExpression.js +10 -7
  118. package/src/sap/fe/core/helpers/BindingExpression.ts +37 -35
  119. package/src/sap/fe/core/helpers/ClassSupport.js +1 -1
  120. package/src/sap/fe/core/helpers/ClassSupport.ts +1 -0
  121. package/src/sap/fe/core/helpers/FPMHelper.js +3 -2
  122. package/src/sap/fe/core/helpers/FPMHelper.ts +9 -8
  123. package/src/sap/fe/core/helpers/MassEditHelper.js +399 -152
  124. package/src/sap/fe/core/helpers/MassEditHelper.ts +385 -163
  125. package/src/sap/fe/core/helpers/ModelHelper.js +1 -1
  126. package/src/sap/fe/core/helpers/ModelHelper.ts +20 -30
  127. package/src/sap/fe/core/helpers/StableIdHelper.js +5 -1
  128. package/src/sap/fe/core/helpers/StableIdHelper.ts +8 -4
  129. package/src/sap/fe/core/{Synchronization.js → helpers/Synchronization.js} +1 -1
  130. package/src/sap/fe/core/{Synchronization.ts → helpers/Synchronization.ts} +1 -1
  131. package/src/sap/fe/core/library.js +12 -3
  132. package/src/sap/fe/core/library.ts +9 -0
  133. package/src/sap/fe/core/messagebundle.properties +125 -180
  134. package/src/sap/fe/core/messagebundle_ar.properties +30 -63
  135. package/src/sap/fe/core/messagebundle_bg.properties +30 -63
  136. package/src/sap/fe/core/messagebundle_ca.properties +30 -63
  137. package/src/sap/fe/core/messagebundle_cs.properties +30 -63
  138. package/src/sap/fe/core/messagebundle_cy.properties +30 -63
  139. package/src/sap/fe/core/messagebundle_da.properties +31 -64
  140. package/src/sap/fe/core/messagebundle_de.properties +30 -63
  141. package/src/sap/fe/core/messagebundle_el.properties +31 -64
  142. package/src/sap/fe/core/messagebundle_en.properties +31 -64
  143. package/src/sap/fe/core/messagebundle_en_GB.properties +31 -64
  144. package/src/sap/fe/core/messagebundle_en_US_sappsd.properties +40 -73
  145. package/src/sap/fe/core/messagebundle_en_US_saprigi.properties +31 -64
  146. package/src/sap/fe/core/messagebundle_en_US_saptrc.properties +49 -82
  147. package/src/sap/fe/core/messagebundle_es.properties +30 -63
  148. package/src/sap/fe/core/messagebundle_es_MX.properties +30 -63
  149. package/src/sap/fe/core/messagebundle_et.properties +30 -63
  150. package/src/sap/fe/core/messagebundle_fi.properties +30 -63
  151. package/src/sap/fe/core/messagebundle_fr.properties +33 -66
  152. package/src/sap/fe/core/messagebundle_fr_CA.properties +30 -63
  153. package/src/sap/fe/core/messagebundle_hi.properties +30 -63
  154. package/src/sap/fe/core/messagebundle_hr.properties +30 -63
  155. package/src/sap/fe/core/messagebundle_hu.properties +29 -62
  156. package/src/sap/fe/core/messagebundle_id.properties +31 -64
  157. package/src/sap/fe/core/messagebundle_it.properties +30 -63
  158. package/src/sap/fe/core/messagebundle_iw.properties +30 -63
  159. package/src/sap/fe/core/messagebundle_ja.properties +30 -63
  160. package/src/sap/fe/core/messagebundle_kk.properties +30 -63
  161. package/src/sap/fe/core/messagebundle_ko.properties +30 -63
  162. package/src/sap/fe/core/messagebundle_lt.properties +30 -63
  163. package/src/sap/fe/core/messagebundle_lv.properties +30 -63
  164. package/src/sap/fe/core/messagebundle_ms.properties +31 -64
  165. package/src/sap/fe/core/messagebundle_nl.properties +31 -64
  166. package/src/sap/fe/core/messagebundle_no.properties +30 -63
  167. package/src/sap/fe/core/messagebundle_pl.properties +31 -64
  168. package/src/sap/fe/core/messagebundle_pt.properties +31 -64
  169. package/src/sap/fe/core/messagebundle_pt_PT.properties +30 -63
  170. package/src/sap/fe/core/messagebundle_ro.properties +30 -63
  171. package/src/sap/fe/core/messagebundle_ru.properties +30 -63
  172. package/src/sap/fe/core/messagebundle_sh.properties +30 -63
  173. package/src/sap/fe/core/messagebundle_sk.properties +30 -63
  174. package/src/sap/fe/core/messagebundle_sl.properties +32 -65
  175. package/src/sap/fe/core/messagebundle_sv.properties +30 -63
  176. package/src/sap/fe/core/messagebundle_th.properties +30 -63
  177. package/src/sap/fe/core/messagebundle_tr.properties +30 -63
  178. package/src/sap/fe/core/messagebundle_uk.properties +31 -64
  179. package/src/sap/fe/core/messagebundle_vi.properties +31 -64
  180. package/src/sap/fe/core/messagebundle_zh_CN.properties +30 -63
  181. package/src/sap/fe/core/messagebundle_zh_TW.properties +31 -64
  182. package/src/sap/fe/core/services/EnvironmentServiceFactory.js +6 -3
  183. package/src/sap/fe/core/services/EnvironmentServiceFactory.ts +10 -9
  184. package/src/sap/fe/core/services/NavigationServiceFactory.js +2 -2
  185. package/src/sap/fe/core/services/NavigationServiceFactory.ts +8 -4
  186. package/src/sap/fe/core/services/RoutingServiceFactory.js +9 -6
  187. package/src/sap/fe/core/services/RoutingServiceFactory.ts +10 -9
  188. package/src/sap/fe/core/services/ShellServicesFactory.js +36 -1
  189. package/src/sap/fe/core/services/ShellServicesFactory.ts +38 -1
  190. package/src/sap/fe/core/services/TemplatedViewServiceFactory.js +5 -4
  191. package/src/sap/fe/core/services/TemplatedViewServiceFactory.ts +34 -36
  192. package/src/sap/fe/core/templating/DisplayModeFormatter.js +1 -1
  193. package/src/sap/fe/core/templating/DisplayModeFormatter.ts +1 -1
  194. package/src/sap/fe/core/templating/EntitySetHelper.js +1 -9
  195. package/src/sap/fe/core/templating/EntitySetHelper.ts +11 -13
  196. package/src/sap/fe/core/templating/FilterHelper.js +4 -4
  197. package/src/sap/fe/core/templating/FilterHelper.ts +6 -5
  198. package/src/sap/fe/core/templating/PropertyHelper.js +58 -35
  199. package/src/sap/fe/core/templating/PropertyHelper.ts +19 -4
  200. package/src/sap/fe/core/templating/UIFormatters.js +16 -5
  201. package/src/sap/fe/core/templating/UIFormatters.ts +14 -5
  202. package/src/sap/fe/core/type/DateTimeWithTimezone.js +47 -0
  203. package/src/sap/fe/core/type/DateTimeWithTimezone.ts +23 -0
  204. package/src/sap/fe/core/AnnotationHelper.js +0 -331
  205. package/src/sap/fe/core/AnnotationHelper.ts +0 -321
  206. package/src/sap/fe/core/RouterProxy.js +0 -938
  207. package/src/sap/fe/core/TransactionHelper.js +0 -1577
  208. package/src/sap/fe/core/actions/collaboration/ActivitySync.js +0 -406
  209. package/src/sap/fe/core/actions/collaboration/CollaborationCommon.js +0 -146
  210. package/src/sap/fe/core/actions/draft.js +0 -665
  211. package/src/sap/fe/core/actions/messageHandling.js +0 -579
  212. package/src/sap/fe/core/actions/nonDraft.js +0 -20
  213. package/src/sap/fe/core/actions/nonDraft.ts +0 -12
  214. package/src/sap/fe/core/actions/operations.js +0 -1096
  215. package/src/sap/fe/core/actions/sticky.js +0 -130
  216. package/src/sap/fe/core/formatters/CriticalityFormatter.js +0 -77
  217. package/src/sap/fe/core/formatters/CriticalityFormatter.ts +0 -58
@@ -1,38 +1,38 @@
1
- import { FacetTypes } from "@sap-ux/vocabularies-types";
2
- import { ManifestSection, ManifestSubSection, TemplateType } from "../ManifestSettings";
3
- import { PageDefinition } from "../TemplateConverter";
4
1
  import { EntityType } from "@sap-ux/annotation-converter";
5
- import {
6
- createCustomSubSections,
7
- createSubSections,
8
- createCustomHeaderFacetSubSections,
9
- CustomObjectPageSection,
10
- ObjectPageSection,
11
- ObjectPageSubSection,
12
- FormSubSection
13
- } from "../controls/ObjectPage/SubSection";
14
- import { getHeaderFacetsFromAnnotations, getHeaderFacetsFromManifest, ObjectPageHeaderFacet } from "../controls/ObjectPage/HeaderFacet";
15
- import { CustomSectionID, EditableHeaderSectionID, SectionID } from "../helpers/ID";
16
- import { ConfigurableRecord, insertCustomElements, Placement, Position } from "../helpers/ConfigurableObject";
2
+ import { FacetTypes } from "@sap-ux/vocabularies-types";
17
3
  import { BaseAction, getActionsFromManifest, removeDuplicateActions } from "sap/fe/core/converters/controls/Common/Action";
18
4
  import {
19
- getHeaderDefaultActions,
20
5
  getFooterDefaultActions,
6
+ getHeaderDefaultActions,
21
7
  getHiddenHeaderActions
22
8
  } from "sap/fe/core/converters/objectPage/HeaderAndFooterAction";
23
- import { Avatar, getAvatar } from "../controls/ObjectPage/Avatar";
24
9
  import {
25
10
  annotationExpression,
11
+ BindingExpression,
26
12
  compileBinding,
13
+ constant,
27
14
  equal,
28
- not,
15
+ Expression,
29
16
  ifElse,
30
- constant,
31
- BindingExpression,
32
- Expression
17
+ not
33
18
  } from "sap/fe/core/helpers/BindingExpression";
19
+ import { Avatar, getAvatar } from "../controls/ObjectPage/Avatar";
20
+ import { getHeaderFacetsFromAnnotations, getHeaderFacetsFromManifest, ObjectPageHeaderFacet } from "../controls/ObjectPage/HeaderFacet";
21
+ import {
22
+ createCustomHeaderFacetSubSections,
23
+ createCustomSubSections,
24
+ createSubSections,
25
+ CustomObjectPageSection,
26
+ FormSubSection,
27
+ ObjectPageSection,
28
+ ObjectPageSubSection
29
+ } from "../controls/ObjectPage/SubSection";
34
30
  import ConverterContext from "../ConverterContext";
35
31
  import { UI } from "../helpers/BindingHelper";
32
+ import { ConfigurableRecord, insertCustomElements, Placement, Position } from "../helpers/ConfigurableObject";
33
+ import { CustomSectionID, EditableHeaderSectionID, SectionID } from "../helpers/ID";
34
+ import { ManifestSection, ManifestSubSection, TemplateType } from "../ManifestSettings";
35
+ import { PageDefinition } from "../TemplateConverter";
36
36
 
37
37
  export type ObjectPageDefinition = PageDefinition & {
38
38
  header: {
@@ -46,7 +46,6 @@ export type ObjectPageDefinition = PageDefinition & {
46
46
  title: {
47
47
  expandedImageVisible: BindingExpression<string>;
48
48
  };
49
- situations: boolean;
50
49
  };
51
50
  sections: ObjectPageSection[];
52
51
  footerActions: BaseAction[];
@@ -77,7 +76,7 @@ export function createEditableHeaderSection(
77
76
  if (customHeaderFacetSubSections.length > 0) {
78
77
  // merge annotation based header facets and custom header facets in the right order
79
78
  let i = 0;
80
- allHeaderFacets.forEach(function(item) {
79
+ allHeaderFacets.forEach(function (item) {
81
80
  // hidden header facets are not included in allHeaderFacets array => add them anyway
82
81
  while (headerfacetSubSections.length > i && headerfacetSubSections[i].visible === "false") {
83
82
  allHeaderFacetsSubSections.push(headerfacetSubSections[i]);
@@ -93,7 +92,7 @@ export function createEditableHeaderSection(
93
92
  allHeaderFacetsSubSections.push(headerfacetSubSections[i]);
94
93
  i++;
95
94
  } else {
96
- customHeaderFacetSubSections.forEach(function(customItem) {
95
+ customHeaderFacetSubSections.forEach(function (customItem) {
97
96
  if (item.key === customItem.key) {
98
97
  allHeaderFacetsSubSections.push(customItem);
99
98
  }
@@ -159,7 +158,7 @@ function getSectionsFromManifest(
159
158
  converterContext: ConverterContext
160
159
  ): Record<string, CustomObjectPageSection> {
161
160
  const sections: Record<string, CustomObjectPageSection> = {};
162
- Object.keys(manifestSections).forEach(manifestSectionKey => {
161
+ Object.keys(manifestSections).forEach((manifestSectionKey) => {
163
162
  sections[manifestSectionKey] = getSectionFromManifest(manifestSections[manifestSectionKey], manifestSectionKey, converterContext);
164
163
  });
165
164
  return sections;
@@ -218,7 +217,7 @@ function getSectionFromManifest(
218
217
  * @param {ConverterContext} converterContext The converter context
219
218
  * @returns An array containing all the actions for this ObjectPage header
220
219
  */
221
- export const getHeaderActions = function(converterContext: ConverterContext): BaseAction[] {
220
+ export const getHeaderActions = function (converterContext: ConverterContext): BaseAction[] {
222
221
  const aAnnotationHeaderActions: BaseAction[] = getHeaderDefaultActions(converterContext);
223
222
  const manifestWrapper = converterContext.getManifestWrapper();
224
223
  const headerActions = insertCustomElements(
@@ -231,7 +230,7 @@ export const getHeaderActions = function(converterContext: ConverterContext): Ba
231
230
  undefined,
232
231
  getHiddenHeaderActions(converterContext)
233
232
  ),
234
- { isNavigable: "overwrite", enabled: "overwrite", defaultValuesExtensionFunction: "overwrite" }
233
+ { isNavigable: "overwrite", enabled: "overwrite", defaultValuesExtensionFunction: "overwrite", command: "overwrite" }
235
234
  );
236
235
  return removeDuplicateActions(headerActions);
237
236
  };
@@ -242,13 +241,13 @@ export const getHeaderActions = function(converterContext: ConverterContext): Ba
242
241
  * @param {ConverterContext} converterContext The converter context
243
242
  * @returns An array containing all the actions for this ObjectPage footer
244
243
  */
245
- export const getFooterActions = function(converterContext: ConverterContext): BaseAction[] {
244
+ export const getFooterActions = function (converterContext: ConverterContext): BaseAction[] {
246
245
  const manifestWrapper = converterContext.getManifestWrapper();
247
246
  const aAnnotationFooterActions: BaseAction[] = getFooterDefaultActions(manifestWrapper.getViewLevel(), converterContext);
248
247
  const footerActions = insertCustomElements(
249
248
  aAnnotationFooterActions,
250
249
  getActionsFromManifest(manifestWrapper.getFooterActions(), converterContext, aAnnotationFooterActions),
251
- { isNavigable: "overwrite", enabled: "overwrite", defaultValuesExtensionFunction: "overwrite" }
250
+ { isNavigable: "overwrite", enabled: "overwrite", defaultValuesExtensionFunction: "overwrite", command: "overwrite" }
252
251
  );
253
252
  return footerActions;
254
253
  };
@@ -259,7 +258,7 @@ export const getFooterActions = function(converterContext: ConverterContext): Ba
259
258
  * @param {ConverterContext} converterContext The converter context
260
259
  * @returns An array of sections.
261
260
  */
262
- export const getSections = function(converterContext: ConverterContext): ObjectPageSection[] {
261
+ export const getSections = function (converterContext: ConverterContext): ObjectPageSection[] {
263
262
  const manifestWrapper = converterContext.getManifestWrapper();
264
263
  const sections = insertCustomElements(
265
264
  getSectionsFromAnnotation(converterContext),
@@ -282,8 +281,8 @@ export const getSections = function(converterContext: ConverterContext): ObjectP
282
281
  // defining the side content and actions in the manifest at collection facet level; now, since the sideContent always needs
283
282
  // to be assigned to a block, we need to move the sideContent of from a mixed collection facet to its first child reference facet.
284
283
  // ==============================================
285
- sections.forEach(function(section) {
286
- section.subSections?.forEach(function(subSection) {
284
+ sections.forEach(function (section) {
285
+ section.subSections?.forEach(function (subSection) {
287
286
  if (subSection.type === "Mixed" && subSection.sideContent != undefined && subSection.content && subSection.content.length > 0) {
288
287
  // 1. Copy sideContent / actions to the SubSection's content
289
288
  // 2. Delete sideContent / actions at the (invalid) manifest level
@@ -336,7 +335,7 @@ function getShowHeaderContentExpression(converterContext: ConverterContext): Exp
336
335
  * @param converterContext The instance of the converter context
337
336
  * @returns {BindingExpression<boolean>} The binding expression for the Delete button
338
337
  */
339
- export const getShowHeaderContent = function(converterContext: ConverterContext): BindingExpression<boolean> {
338
+ export const getShowHeaderContent = function (converterContext: ConverterContext): BindingExpression<boolean> {
340
339
  return compileBinding(getShowHeaderContentExpression(converterContext));
341
340
  };
342
341
 
@@ -346,16 +345,15 @@ export const getShowHeaderContent = function(converterContext: ConverterContext)
346
345
  * @param converterContext The instance of the converter context
347
346
  * @returns {BindingExpression<string>} The binding expression for the Delete button
348
347
  */
349
- export const getExpandedImageVisible = function(converterContext: ConverterContext): BindingExpression<string> {
348
+ export const getExpandedImageVisible = function (converterContext: ConverterContext): BindingExpression<string> {
350
349
  return compileBinding(not(getShowHeaderContentExpression(converterContext)));
351
350
  };
352
351
 
353
- export const convertPage = function(converterContext: ConverterContext): ObjectPageDefinition {
352
+ export const convertPage = function (converterContext: ConverterContext): ObjectPageDefinition {
354
353
  const manifestWrapper = converterContext.getManifestWrapper();
355
354
  let headerSection: ObjectPageSection | undefined;
356
355
  const entityType: EntityType = converterContext.getEntityType();
357
356
 
358
- const situationAnnotations = (entityType.annotations as any)?.FE?.Situations;
359
357
  // Retrieve all header facets (from annotations & custom)
360
358
  const headerFacets = insertCustomElements(
361
359
  getHeaderFacetsFromAnnotations(converterContext),
@@ -386,8 +384,7 @@ export const convertPage = function(converterContext: ConverterContext): ObjectP
386
384
  avatar: getAvatar(converterContext),
387
385
  title: {
388
386
  expandedImageVisible: getExpandedImageVisible(converterContext)
389
- },
390
- situations: situationAnnotations
387
+ }
391
388
  },
392
389
  sections: sections,
393
390
  footerActions: footerActions,
@@ -84,13 +84,13 @@ sap.ui.define([], function () {
84
84
  },
85
85
  tool: {
86
86
  start: function (oComponent) {
87
- oComponent.getModel("internal").setProperty("/uiAdaptation", true);
87
+ oComponent.getEnvironmentCapabilities().setCapability("AppState", false);
88
88
  },
89
89
  stop: function (oComponent) {
90
- oComponent.getModel("internal").setProperty("/uiAdaptation", false);
90
+ oComponent.getEnvironmentCapabilities().setCapability("AppState", true);
91
91
  }
92
92
  }
93
93
  };
94
94
  return AppComponentDesignTime;
95
95
  }, false);
96
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFwcENvbXBvbmVudC5kZXNpZ250aW1lLnRzIl0sIm5hbWVzIjpbIm9VcmxQYXJzZXIiLCJzYXAiLCJ1c2hlbGwiLCJDb250YWluZXIiLCJnZXRTZXJ2aWNlIiwib1VybFBhcmFtcyIsInBhcnNlUGFyYW1ldGVycyIsIndpbmRvdyIsImxvY2F0aW9uIiwic2VhcmNoIiwic0Zpb3JpVG9vbHNSdGFNb2RlIiwic0Zpb3JpVG9vbHNSdGFNb2RlVmFsdWUiLCJ0b0xvd2VyQ2FzZSIsIkFwcENvbXBvbmVudERlc2lnblRpbWUiLCJhY3Rpb25zIiwiYWdncmVnYXRpb25zIiwicm9vdENvbnRyb2wiLCJwcm9wYWdhdGVNZXRhZGF0YSIsIm9FbGVtZW50IiwibUFsbG93TGlzdCIsImlzT25EeW5hbWljUGFnZSIsImdldE1ldGFkYXRhIiwiZ2V0TmFtZSIsIm9QYXJlbnQiLCJnZXRQYXJlbnQiLCJzUGFyZW50QWdncmVnYXRpb25OYW1lIiwiZ2V0SWQiLCJpbmRleE9mIiwidG9vbCIsInN0YXJ0Iiwib0NvbXBvbmVudCIsImdldE1vZGVsIiwic2V0UHJvcGVydHkiLCJzdG9wIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7O0FBRkEsTUFBTUEsVUFBVSxHQUFHQyxHQUFHLENBQUNDLE1BQUosQ0FBV0MsU0FBWCxDQUFxQkMsVUFBckIsQ0FBZ0MsWUFBaEMsQ0FBbkI7QUFDQSxNQUFNQyxVQUFVLEdBQUdMLFVBQVUsQ0FBQ00sZUFBWCxDQUEyQkMsTUFBTSxDQUFDQyxRQUFQLENBQWdCQyxNQUEzQyxDQUFuQjtBQUNBLE1BQU1DLGtCQUFrQixHQUFHLHNCQUEzQjtBQUNBLE1BQU1DLHVCQUF1QixHQUFHTixVQUFVLENBQUNLLGtCQUFELENBQVYsSUFBa0NMLFVBQVUsQ0FBQ0ssa0JBQUQsQ0FBVixDQUErQixDQUEvQixFQUFrQ0UsV0FBbEMsRUFBbEUsQyxDQUNBOztBQUNBLE1BQU1DLHNCQUFzQixHQUFHO0FBQzlCQyxJQUFBQSxPQUFPLEVBQUUsZUFEcUI7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QixFQUFnQ0MsV0FBaEMsQ0FBNEMsZUFBNUMsRUFBNkQsS0FBN0Q7QUFDQTtBQU5JO0FBM0V3QixHQUEvQjtTQXFGZW5CLHNCIiwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBvVXJsUGFyc2VyID0gc2FwLnVzaGVsbC5Db250YWluZXIuZ2V0U2VydmljZShcIlVSTFBhcnNpbmdcIik7XG5jb25zdCBvVXJsUGFyYW1zID0gb1VybFBhcnNlci5wYXJzZVBhcmFtZXRlcnMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7XG5jb25zdCBzRmlvcmlUb29sc1J0YU1vZGUgPSBcImZpb3JpLXRvb2xzLXJ0YS1tb2RlXCI7XG5jb25zdCBzRmlvcmlUb29sc1J0YU1vZGVWYWx1ZSA9IG9VcmxQYXJhbXNbc0Zpb3JpVG9vbHNSdGFNb2RlXSAmJiBvVXJsUGFyYW1zW3NGaW9yaVRvb2xzUnRhTW9kZV1bMF0udG9Mb3dlckNhc2UoKTtcbi8vIFRvIGVuYWJsZSBhbGwgYWN0aW9ucywgcmVtb3ZlIHRoZSBwcm9wYWdhdGVNZXRhZGF0YSBmdW5jdGlvbi4gT3IsIHJlbW92ZSB0aGlzIGZpbGUgYW5kIGl0cyBlbnRyeSBpbiBBcHBDb21wb25lbnQuanMgcmVmZXJyaW5nICdkZXNpZ25UaW1lJy5cbmNvbnN0IEFwcENvbXBvbmVudERlc2lnblRpbWUgPSB7XG5cdGFjdGlvbnM6IFwibm90LWFkYXB0YWJsZVwiLFxuXHRhZ2dyZWdhdGlvbnM6IHtcblx0XHRyb290Q29udHJvbDoge1xuXHRcdFx0YWN0aW9uczogXCJub3QtYWRhcHRhYmxlXCIsXG5cdFx0XHRwcm9wYWdhdGVNZXRhZGF0YTogZnVuY3Rpb24ob0VsZW1lbnQ6IGFueSkge1xuXHRcdFx0XHQvLyBhbGxvdyBsaXN0IG9mIGNvbnRyb2xzIGZvciB3aGljaCB3ZSB3YW50IHRvIGVuYWJsZSBEZXNpZ25UaW1lXG5cdFx0XHRcdGxldCBtQWxsb3dMaXN0OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiA9IHt9O1xuXHRcdFx0XHRjb25zdCBpc09uRHluYW1pY1BhZ2UgPSBmdW5jdGlvbihvRWxlbWVudDogYW55KTogYm9vbGVhbiB7XG5cdFx0XHRcdFx0aWYgKG9FbGVtZW50LmdldE1ldGFkYXRhKCkuZ2V0TmFtZSgpID09PSBcInNhcC5mLkR5bmFtaWNQYWdlXCIpIHtcblx0XHRcdFx0XHRcdHJldHVybiB0cnVlO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRjb25zdCBvUGFyZW50ID0gb0VsZW1lbnQuZ2V0UGFyZW50KCk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gb1BhcmVudCA/IGlzT25EeW5hbWljUGFnZShvUGFyZW50KSA6IGZhbHNlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fTtcblx0XHRcdFx0aWYgKHNGaW9yaVRvb2xzUnRhTW9kZVZhbHVlID09PSBcInRydWVcIikge1xuXHRcdFx0XHRcdC8vIGFsbG93IGxpc3QgZm9yIHRoZSBGaW9yaSB0b29sc1xuXHRcdFx0XHRcdGlmIChpc09uRHluYW1pY1BhZ2Uob0VsZW1lbnQpKSB7XG5cdFx0XHRcdFx0XHRtQWxsb3dMaXN0ID0ge1xuXHRcdFx0XHRcdFx0XHRcInNhcC51aS5mbC52YXJpYW50cy5WYXJpYW50TWFuYWdlbWVudFwiOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcInNhcC5mZS5jb3JlLmNvbnRyb2xzLkZpbHRlckJhclwiOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcInNhcC51aS5tZGMuVGFibGVcIjogdHJ1ZVxuXHRcdFx0XHRcdFx0fTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0Ly8gYWxsb3cgbGlzdCBmb3Iga2V5IHVzZXJzXG5cdFx0XHRcdFx0bUFsbG93TGlzdCA9IHtcblx0XHRcdFx0XHRcdFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLmNvbnRyb2xzLlN0YXNoYWJsZVZCb3hcIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLmNvbnRyb2xzLlN0YXNoYWJsZUhCb3hcIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFwic2FwLnV4YXAuT2JqZWN0UGFnZUxheW91dFwiOiB0cnVlLFxuXHRcdFx0XHRcdFx0XCJzYXAudXhhcC5BbmNob3JCYXJcIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFwic2FwLnV4YXAuT2JqZWN0UGFnZVNlY3Rpb25cIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFwic2FwLnV4YXAuT2JqZWN0UGFnZVN1YlNlY3Rpb25cIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFwic2FwLm0uQnV0dG9uXCI6IHRydWUsXG5cdFx0XHRcdFx0XHRcInNhcC5tLk1lbnVCdXR0b25cIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFwic2FwLm0uRmxleEJveFwiOiB0cnVlLFxuXHRcdFx0XHRcdFx0XCJzYXAudWkuZmwudXRpbC5JRnJhbWVcIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFwic2FwLnVpLmxheW91dC5mb3JtLkZvcm1cIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFwic2FwLnVpLmxheW91dC5mb3JtLkZvcm1Db250YWluZXJcIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFwic2FwLnVpLmxheW91dC5mb3JtLkZvcm1FbGVtZW50XCI6IHRydWUsXG5cdFx0XHRcdFx0XHRcInNhcC51aS5mbC52YXJpYW50cy5WYXJpYW50TWFuYWdlbWVudFwiOiB0cnVlLFxuXHRcdFx0XHRcdFx0XCJzYXAuZmUuY29yZS5jb250cm9scy5GaWx0ZXJCYXJcIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFwic2FwLnVpLm1kYy5UYWJsZVwiOiB0cnVlLFxuXHRcdFx0XHRcdFx0XCJzYXAubS5JY29uVGFiQmFyXCI6IHRydWVcblx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdGlmIChcblx0XHRcdFx0XHRcdG9FbGVtZW50LmdldE1ldGFkYXRhKCkuZ2V0TmFtZSgpID09PSBcInNhcC5tLk1lbnVCdXR0b25cIiAmJlxuXHRcdFx0XHRcdFx0b0VsZW1lbnQuZ2V0UGFyZW50KCkuc1BhcmVudEFnZ3JlZ2F0aW9uTmFtZSAhPT0gXCJfYW5jaG9yQmFyXCJcblx0XHRcdFx0XHQpIHtcblx0XHRcdFx0XHRcdG1BbGxvd0xpc3RbXCJzYXAubS5NZW51QnV0dG9uXCJdID0gZmFsc2U7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGlmIChcblx0XHRcdFx0XHRcdG9FbGVtZW50LmdldE1ldGFkYXRhKCkuZ2V0TmFtZSgpID09PSBcInNhcC5tLkJ1dHRvblwiICYmXG5cdFx0XHRcdFx0XHRvRWxlbWVudC5nZXRQYXJlbnQoKS5zUGFyZW50QWdncmVnYXRpb25OYW1lICE9PSBcIl9hbmNob3JCYXJcIlxuXHRcdFx0XHRcdCkge1xuXHRcdFx0XHRcdFx0bUFsbG93TGlzdFtcInNhcC5tLkJ1dHRvblwiXSA9IGZhbHNlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRpZiAoXG5cdFx0XHRcdFx0XHRvRWxlbWVudC5nZXRNZXRhZGF0YSgpLmdldE5hbWUoKSA9PT0gXCJzYXAubS5GbGV4Qm94XCIgJiZcblx0XHRcdFx0XHRcdG9FbGVtZW50LmdldElkKCkuaW5kZXhPZihcIi0tZmU6OkhlYWRlckNvbnRlbnRDb250YWluZXJcIikgPCAwXG5cdFx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0XHRtQWxsb3dMaXN0W1wic2FwLm0uRmxleEJveFwiXSA9IGZhbHNlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAobUFsbG93TGlzdFtvRWxlbWVudC5nZXRNZXRhZGF0YSgpLmdldE5hbWUoKV0pIHtcblx0XHRcdFx0XHRyZXR1cm4ge307XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdGFjdGlvbnM6IFwibm90LWFkYXB0YWJsZVwiXG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fSxcblx0dG9vbDoge1xuXHRcdHN0YXJ0OiBmdW5jdGlvbihvQ29tcG9uZW50OiBhbnkpIHtcblx0XHRcdG9Db21wb25lbnQuZ2V0TW9kZWwoXCJpbnRlcm5hbFwiKS5zZXRQcm9wZXJ0eShcIi91aUFkYXB0YXRpb25cIiwgdHJ1ZSk7XG5cdFx0fSxcblx0XHRzdG9wOiBmdW5jdGlvbihvQ29tcG9uZW50OiBhbnkpIHtcblx0XHRcdG9Db21wb25lbnQuZ2V0TW9kZWwoXCJpbnRlcm5hbFwiKS5zZXRQcm9wZXJ0eShcIi91aUFkYXB0YXRpb25cIiwgZmFsc2UpO1xuXHRcdH1cblx0fVxufTtcblxuZXhwb3J0IGRlZmF1bHQgQXBwQ29tcG9uZW50RGVzaWduVGltZTtcbiJdfQ==
96
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFwcENvbXBvbmVudC5kZXNpZ250aW1lLnRzIl0sIm5hbWVzIjpbIm9VcmxQYXJzZXIiLCJzYXAiLCJ1c2hlbGwiLCJDb250YWluZXIiLCJnZXRTZXJ2aWNlIiwib1VybFBhcmFtcyIsInBhcnNlUGFyYW1ldGVycyIsIndpbmRvdyIsImxvY2F0aW9uIiwic2VhcmNoIiwic0Zpb3JpVG9vbHNSdGFNb2RlIiwic0Zpb3JpVG9vbHNSdGFNb2RlVmFsdWUiLCJ0b0xvd2VyQ2FzZSIsIkFwcENvbXBvbmVudERlc2lnblRpbWUiLCJhY3Rpb25zIiwiYWdncmVnYXRpb25zIiwicm9vdENvbnRyb2wiLCJwcm9wYWdhdGVNZXRhZGF0YSIsIm9FbGVtZW50IiwibUFsbG93TGlzdCIsImlzT25EeW5hbWljUGFnZSIsImdldE1ldGFkYXRhIiwiZ2V0TmFtZSIsIm9QYXJlbnQiLCJnZXRQYXJlbnQiLCJzUGFyZW50QWdncmVnYXRpb25OYW1lIiwiZ2V0SWQiLCJpbmRleE9mIiwidG9vbCIsInN0YXJ0Iiwib0NvbXBvbmVudCIsImdldEVudmlyb25tZW50Q2FwYWJpbGl0aWVzIiwic2V0Q2FwYWJpbGl0eSIsInN0b3AiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7QUFBQSxNQUFNQSxVQUFVLEdBQUdDLEdBQUcsQ0FBQ0MsTUFBSixDQUFXQyxTQUFYLENBQXFCQyxVQUFyQixDQUFnQyxZQUFoQyxDQUFuQjtBQUNBLE1BQU1DLFVBQVUsR0FBR0wsVUFBVSxDQUFDTSxlQUFYLENBQTJCQyxNQUFNLENBQUNDLFFBQVAsQ0FBZ0JDLE1BQTNDLENBQW5CO0FBQ0EsTUFBTUMsa0JBQWtCLEdBQUcsc0JBQTNCO0FBQ0EsTUFBTUMsdUJBQXVCLEdBQUdOLFVBQVUsQ0FBQ0ssa0JBQUQsQ0FBVixJQUFrQ0wsVUFBVSxDQUFDSyxrQkFBRCxDQUFWLENBQStCLENBQS9CLEVBQWtDRSxXQUFsQyxFQUFsRSxDLENBQ0E7O0FBQ0EsTUFBTUMsc0JBQXNCLEdBQUc7QUFDOUJDLElB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R0FBd0NDLGFBQXhDLENBQXNELFVBQXRELEVBQWtFLElBQWxFO0FBQ0E7QUFOSTtBQTNFd0IsR0FBL0I7U0FxRmVuQixzQiIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEFwcENvbXBvbmVudCBmcm9tIFwic2FwL2ZlL2NvcmUvQXBwQ29tcG9uZW50XCI7XG5cbmNvbnN0IG9VcmxQYXJzZXIgPSBzYXAudXNoZWxsLkNvbnRhaW5lci5nZXRTZXJ2aWNlKFwiVVJMUGFyc2luZ1wiKTtcbmNvbnN0IG9VcmxQYXJhbXMgPSBvVXJsUGFyc2VyLnBhcnNlUGFyYW1ldGVycyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKTtcbmNvbnN0IHNGaW9yaVRvb2xzUnRhTW9kZSA9IFwiZmlvcmktdG9vbHMtcnRhLW1vZGVcIjtcbmNvbnN0IHNGaW9yaVRvb2xzUnRhTW9kZVZhbHVlID0gb1VybFBhcmFtc1tzRmlvcmlUb29sc1J0YU1vZGVdICYmIG9VcmxQYXJhbXNbc0Zpb3JpVG9vbHNSdGFNb2RlXVswXS50b0xvd2VyQ2FzZSgpO1xuLy8gVG8gZW5hYmxlIGFsbCBhY3Rpb25zLCByZW1vdmUgdGhlIHByb3BhZ2F0ZU1ldGFkYXRhIGZ1bmN0aW9uLiBPciwgcmVtb3ZlIHRoaXMgZmlsZSBhbmQgaXRzIGVudHJ5IGluIEFwcENvbXBvbmVudC5qcyByZWZlcnJpbmcgJ2Rlc2lnblRpbWUnLlxuY29uc3QgQXBwQ29tcG9uZW50RGVzaWduVGltZSA9IHtcblx0YWN0aW9uczogXCJub3QtYWRhcHRhYmxlXCIsXG5cdGFnZ3JlZ2F0aW9uczoge1xuXHRcdHJvb3RDb250cm9sOiB7XG5cdFx0XHRhY3Rpb25zOiBcIm5vdC1hZGFwdGFibGVcIixcblx0XHRcdHByb3BhZ2F0ZU1ldGFkYXRhOiBmdW5jdGlvbiAob0VsZW1lbnQ6IGFueSkge1xuXHRcdFx0XHQvLyBhbGxvdyBsaXN0IG9mIGNvbnRyb2xzIGZvciB3aGljaCB3ZSB3YW50IHRvIGVuYWJsZSBEZXNpZ25UaW1lXG5cdFx0XHRcdGxldCBtQWxsb3dMaXN0OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiA9IHt9O1xuXHRcdFx0XHRjb25zdCBpc09uRHluYW1pY1BhZ2UgPSBmdW5jdGlvbiAob0VsZW1lbnQ6IGFueSk6IGJvb2xlYW4ge1xuXHRcdFx0XHRcdGlmIChvRWxlbWVudC5nZXRNZXRhZGF0YSgpLmdldE5hbWUoKSA9PT0gXCJzYXAuZi5EeW5hbWljUGFnZVwiKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0Y29uc3Qgb1BhcmVudCA9IG9FbGVtZW50LmdldFBhcmVudCgpO1xuXHRcdFx0XHRcdFx0cmV0dXJuIG9QYXJlbnQgPyBpc09uRHluYW1pY1BhZ2Uob1BhcmVudCkgOiBmYWxzZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH07XG5cdFx0XHRcdGlmIChzRmlvcmlUb29sc1J0YU1vZGVWYWx1ZSA9PT0gXCJ0cnVlXCIpIHtcblx0XHRcdFx0XHQvLyBhbGxvdyBsaXN0IGZvciB0aGUgRmlvcmkgdG9vbHNcblx0XHRcdFx0XHRpZiAoaXNPbkR5bmFtaWNQYWdlKG9FbGVtZW50KSkge1xuXHRcdFx0XHRcdFx0bUFsbG93TGlzdCA9IHtcblx0XHRcdFx0XHRcdFx0XCJzYXAudWkuZmwudmFyaWFudHMuVmFyaWFudE1hbmFnZW1lbnRcIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XCJzYXAuZmUuY29yZS5jb250cm9scy5GaWx0ZXJCYXJcIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XCJzYXAudWkubWRjLlRhYmxlXCI6IHRydWVcblx0XHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdC8vIGFsbG93IGxpc3QgZm9yIGtleSB1c2Vyc1xuXHRcdFx0XHRcdG1BbGxvd0xpc3QgPSB7XG5cdFx0XHRcdFx0XHRcInNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5jb250cm9scy5TdGFzaGFibGVWQm94XCI6IHRydWUsXG5cdFx0XHRcdFx0XHRcInNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5jb250cm9scy5TdGFzaGFibGVIQm94XCI6IHRydWUsXG5cdFx0XHRcdFx0XHRcInNhcC51eGFwLk9iamVjdFBhZ2VMYXlvdXRcIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFwic2FwLnV4YXAuQW5jaG9yQmFyXCI6IHRydWUsXG5cdFx0XHRcdFx0XHRcInNhcC51eGFwLk9iamVjdFBhZ2VTZWN0aW9uXCI6IHRydWUsXG5cdFx0XHRcdFx0XHRcInNhcC51eGFwLk9iamVjdFBhZ2VTdWJTZWN0aW9uXCI6IHRydWUsXG5cdFx0XHRcdFx0XHRcInNhcC5tLkJ1dHRvblwiOiB0cnVlLFxuXHRcdFx0XHRcdFx0XCJzYXAubS5NZW51QnV0dG9uXCI6IHRydWUsXG5cdFx0XHRcdFx0XHRcInNhcC5tLkZsZXhCb3hcIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFwic2FwLnVpLmZsLnV0aWwuSUZyYW1lXCI6IHRydWUsXG5cdFx0XHRcdFx0XHRcInNhcC51aS5sYXlvdXQuZm9ybS5Gb3JtXCI6IHRydWUsXG5cdFx0XHRcdFx0XHRcInNhcC51aS5sYXlvdXQuZm9ybS5Gb3JtQ29udGFpbmVyXCI6IHRydWUsXG5cdFx0XHRcdFx0XHRcInNhcC51aS5sYXlvdXQuZm9ybS5Gb3JtRWxlbWVudFwiOiB0cnVlLFxuXHRcdFx0XHRcdFx0XCJzYXAudWkuZmwudmFyaWFudHMuVmFyaWFudE1hbmFnZW1lbnRcIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFwic2FwLmZlLmNvcmUuY29udHJvbHMuRmlsdGVyQmFyXCI6IHRydWUsXG5cdFx0XHRcdFx0XHRcInNhcC51aS5tZGMuVGFibGVcIjogdHJ1ZSxcblx0XHRcdFx0XHRcdFwic2FwLm0uSWNvblRhYkJhclwiOiB0cnVlXG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0XHRpZiAoXG5cdFx0XHRcdFx0XHRvRWxlbWVudC5nZXRNZXRhZGF0YSgpLmdldE5hbWUoKSA9PT0gXCJzYXAubS5NZW51QnV0dG9uXCIgJiZcblx0XHRcdFx0XHRcdG9FbGVtZW50LmdldFBhcmVudCgpLnNQYXJlbnRBZ2dyZWdhdGlvbk5hbWUgIT09IFwiX2FuY2hvckJhclwiXG5cdFx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0XHRtQWxsb3dMaXN0W1wic2FwLm0uTWVudUJ1dHRvblwiXSA9IGZhbHNlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRpZiAoXG5cdFx0XHRcdFx0XHRvRWxlbWVudC5nZXRNZXRhZGF0YSgpLmdldE5hbWUoKSA9PT0gXCJzYXAubS5CdXR0b25cIiAmJlxuXHRcdFx0XHRcdFx0b0VsZW1lbnQuZ2V0UGFyZW50KCkuc1BhcmVudEFnZ3JlZ2F0aW9uTmFtZSAhPT0gXCJfYW5jaG9yQmFyXCJcblx0XHRcdFx0XHQpIHtcblx0XHRcdFx0XHRcdG1BbGxvd0xpc3RbXCJzYXAubS5CdXR0b25cIl0gPSBmYWxzZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aWYgKFxuXHRcdFx0XHRcdFx0b0VsZW1lbnQuZ2V0TWV0YWRhdGEoKS5nZXROYW1lKCkgPT09IFwic2FwLm0uRmxleEJveFwiICYmXG5cdFx0XHRcdFx0XHRvRWxlbWVudC5nZXRJZCgpLmluZGV4T2YoXCItLWZlOjpIZWFkZXJDb250ZW50Q29udGFpbmVyXCIpIDwgMFxuXHRcdFx0XHRcdCkge1xuXHRcdFx0XHRcdFx0bUFsbG93TGlzdFtcInNhcC5tLkZsZXhCb3hcIl0gPSBmYWxzZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKG1BbGxvd0xpc3Rbb0VsZW1lbnQuZ2V0TWV0YWRhdGEoKS5nZXROYW1lKCldKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHt9O1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0XHRhY3Rpb25zOiBcIm5vdC1hZGFwdGFibGVcIlxuXHRcdFx0XHRcdH07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH0sXG5cdHRvb2w6IHtcblx0XHRzdGFydDogZnVuY3Rpb24gKG9Db21wb25lbnQ6IEFwcENvbXBvbmVudCkge1xuXHRcdFx0b0NvbXBvbmVudC5nZXRFbnZpcm9ubWVudENhcGFiaWxpdGllcygpLnNldENhcGFiaWxpdHkoXCJBcHBTdGF0ZVwiLCBmYWxzZSk7XG5cdFx0fSxcblx0XHRzdG9wOiBmdW5jdGlvbiAob0NvbXBvbmVudDogQXBwQ29tcG9uZW50KSB7XG5cdFx0XHRvQ29tcG9uZW50LmdldEVudmlyb25tZW50Q2FwYWJpbGl0aWVzKCkuc2V0Q2FwYWJpbGl0eShcIkFwcFN0YXRlXCIsIHRydWUpO1xuXHRcdH1cblx0fVxufTtcblxuZXhwb3J0IGRlZmF1bHQgQXBwQ29tcG9uZW50RGVzaWduVGltZTtcbiJdfQ==
@@ -1,3 +1,5 @@
1
+ import AppComponent from "sap/fe/core/AppComponent";
2
+
1
3
  const oUrlParser = sap.ushell.Container.getService("URLParsing");
2
4
  const oUrlParams = oUrlParser.parseParameters(window.location.search);
3
5
  const sFioriToolsRtaMode = "fiori-tools-rta-mode";
@@ -8,10 +10,10 @@ const AppComponentDesignTime = {
8
10
  aggregations: {
9
11
  rootControl: {
10
12
  actions: "not-adaptable",
11
- propagateMetadata: function(oElement: any) {
13
+ propagateMetadata: function (oElement: any) {
12
14
  // allow list of controls for which we want to enable DesignTime
13
15
  let mAllowList: Record<string, boolean> = {};
14
- const isOnDynamicPage = function(oElement: any): boolean {
16
+ const isOnDynamicPage = function (oElement: any): boolean {
15
17
  if (oElement.getMetadata().getName() === "sap.f.DynamicPage") {
16
18
  return true;
17
19
  } else {
@@ -79,11 +81,11 @@ const AppComponentDesignTime = {
79
81
  }
80
82
  },
81
83
  tool: {
82
- start: function(oComponent: any) {
83
- oComponent.getModel("internal").setProperty("/uiAdaptation", true);
84
+ start: function (oComponent: AppComponent) {
85
+ oComponent.getEnvironmentCapabilities().setCapability("AppState", false);
84
86
  },
85
- stop: function(oComponent: any) {
86
- oComponent.getModel("internal").setProperty("/uiAdaptation", false);
87
+ stop: function (oComponent: AppComponent) {
88
+ oComponent.getEnvironmentCapabilities().setCapability("AppState", true);
87
89
  }
88
90
  }
89
91
  };
@@ -149,7 +149,65 @@ sap.ui.define(["sap/fe/core/formatters/TableFormatterTypes"], function (TableFor
149
149
  }
150
150
  };
151
151
 
152
- navigatedRow.__functionName = "sap.fe.core.formatters.TableFormatter#navigatedRow"; // See https://www.typescriptlang.org/docs/handbook/functions.html#this-parameters for more detail on this weird syntax
152
+ navigatedRow.__functionName = "sap.fe.core.formatters.TableFormatter#navigatedRow";
153
+
154
+ function isRatingIndicator(oControl) {
155
+ if (oControl.isA("sap.fe.core.controls.FieldWrapper")) {
156
+ var vContentDisplay = Array.isArray(oControl.getContentDisplay()) ? oControl.getContentDisplay()[0] : oControl.getContentDisplay();
157
+
158
+ if (vContentDisplay && vContentDisplay.isA("sap.m.RatingIndicator")) {
159
+ return true;
160
+ }
161
+ }
162
+
163
+ return false;
164
+ }
165
+
166
+ function _updateStyleClassForRatingIndicator(oFieldWrapper, bLast) {
167
+ var vContentDisplay = Array.isArray(oFieldWrapper.getContentDisplay()) ? oFieldWrapper.getContentDisplay()[0] : oFieldWrapper.getContentDisplay();
168
+ var vContentEdit = Array.isArray(oFieldWrapper.getContentEdit()) ? oFieldWrapper.getContentEdit()[0] : oFieldWrapper.getContentEdit();
169
+
170
+ if (bLast) {
171
+ vContentDisplay.addStyleClass("sapUiNoMarginBottom");
172
+ vContentDisplay.addStyleClass("sapUiNoMarginTop");
173
+ vContentEdit.removeStyleClass("sapUiTinyMarginBottom");
174
+ } else {
175
+ vContentDisplay.addStyleClass("sapUiNoMarginBottom");
176
+ vContentDisplay.removeStyleClass("sapUiNoMarginTop");
177
+ vContentEdit.addStyleClass("sapUiTinyMarginBottom");
178
+ }
179
+ }
180
+
181
+ function getVBoxVisibility() {
182
+ var aItems = this.getItems();
183
+ var bLastElementFound = false;
184
+
185
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
186
+ args[_key] = arguments[_key];
187
+ }
188
+
189
+ for (var index = aItems.length - 1; index >= 0; index--) {
190
+ if (!bLastElementFound) {
191
+ if (args[index] !== true) {
192
+ bLastElementFound = true;
193
+
194
+ if (isRatingIndicator(aItems[index])) {
195
+ _updateStyleClassForRatingIndicator(aItems[index], true);
196
+ } else {
197
+ aItems[index].removeStyleClass("sapUiTinyMarginBottom");
198
+ }
199
+ }
200
+ } else if (isRatingIndicator(aItems[index])) {
201
+ _updateStyleClassForRatingIndicator(aItems[index], false);
202
+ } else {
203
+ aItems[index].addStyleClass("sapUiTinyMarginBottom");
204
+ }
205
+ }
206
+
207
+ return true;
208
+ }
209
+
210
+ getVBoxVisibility.__functionName = "sap.fe.core.formatters.TableFormatter#getVBoxVisibility"; // See https://www.typescriptlang.org/docs/handbook/functions.html#this-parameters for more detail on this weird syntax
153
211
 
154
212
  /**
155
213
  * Collection of table formatters.
@@ -160,26 +218,29 @@ sap.ui.define(["sap/fe/core/formatters/TableFormatterTypes"], function (TableFor
160
218
  * @returns {object} The value from the inner function
161
219
  */
162
220
 
163
- var tableFormatters = function (sName) {
164
- if (tableFormatters.hasOwnProperty(sName)) {
165
- for (var _len = arguments.length, oArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
166
- oArgs[_key - 1] = arguments[_key];
221
+ var tableFormatter = function (sName) {
222
+ if (tableFormatter.hasOwnProperty(sName)) {
223
+ for (var _len2 = arguments.length, oArgs = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
224
+ oArgs[_key2 - 1] = arguments[_key2];
167
225
  }
168
226
 
169
- return tableFormatters[sName].apply(this, oArgs);
227
+ return tableFormatter[sName].apply(this, oArgs);
170
228
  } else {
171
229
  return "";
172
230
  }
173
231
  };
174
232
 
175
- tableFormatters.validateCreationRowFields = validateCreationRowFields;
176
- tableFormatters.rowHighlighting = rowHighlighting;
177
- tableFormatters.navigatedRow = navigatedRow;
178
- tableFormatters.getErrorStatusTextVisibilityFormatter = getErrorStatusTextVisibilityFormatter;
233
+ tableFormatter.validateCreationRowFields = validateCreationRowFields;
234
+ tableFormatter.rowHighlighting = rowHighlighting;
235
+ tableFormatter.navigatedRow = navigatedRow;
236
+ tableFormatter.getErrorStatusTextVisibilityFormatter = getErrorStatusTextVisibilityFormatter;
237
+ tableFormatter.getVBoxVisibility = getVBoxVisibility;
238
+ tableFormatter.isRatingIndicator = isRatingIndicator; // for unit tests
239
+
179
240
  /**
180
241
  * @global
181
242
  */
182
243
 
183
- return tableFormatters;
244
+ return tableFormatter;
184
245
  }, true);
185
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRhYmxlRm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbImdldE1lc3NhZ2V0eXBlT3JkZXIiLCJtZXNzYWdlVHlwZSIsInZhbGlkYXRlQ3JlYXRpb25Sb3dGaWVsZHMiLCJmaWVsZFZhbGlkaXR5T2JqZWN0IiwiZmllbGRLZXlzIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsImV2ZXJ5Iiwia2V5IiwiX19mdW5jdGlvbk5hbWUiLCJnZXRFcnJvclN0YXR1c1RleHRWaXNpYmlsaXR5Rm9ybWF0dGVyIiwic2VtYW50aWNLZXlIYXNEcmFmdEluZGljYXRvciIsImFGaWx0ZXJlZE1lc3NhZ2VzIiwiYlN0YXR1c1Zpc2liaWxpdHkiLCJhU2VtYW50aWNLZXlDb2x1bW5zIiwiZ2V0UGFyZW50IiwiZ2V0QWdncmVnYXRpb24iLCJzQ29sdW1uUHJvcGVydHkiLCJnZXRCaW5kaW5nIiwiZ2V0UGF0aCIsInNDdXJyZW50Q29udGV4dFBhdGgiLCJnZXRCaW5kaW5nQ29udGV4dCIsInVuZGVmaW5lZCIsImZvckVhY2giLCJvTWVzc2FnZSIsInR5cGUiLCJhVGFyZ2V0cyIsImluZGV4T2YiLCJyb3dIaWdobGlnaHRpbmciLCJjcml0aWNhbGl0eVZhbHVlIiwiaGFzQWN0aXZlRW50aXR5IiwiaXNBY3RpdmVFbnRpdHkiLCJpc0RyYWZ0Um9vdCIsImlzTmV3T2JqZWN0IiwiaUhpZ2hlc3RDcml0aWNhbGl0eVZhbHVlIiwiTWVzc2FnZVR5cGUiLCJFcnJvciIsIldhcm5pbmciLCJTdWNjZXNzIiwiSW5mb3JtYXRpb24iLCJOb25lIiwibmF2aWdhdGVkUm93Iiwic0RlZXBlc3RQYXRoIiwic1BhdGgiLCJ0YWJsZUZvcm1hdHRlcnMiLCJzTmFtZSIsImhhc093blByb3BlcnR5Iiwib0FyZ3MiLCJhcHBseSJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTs7Ozs7O0FBQUEsTUFBTUEsbUJBQW1CLEdBQUcsVUFBU0MsV0FBVCxFQUFzQztBQUNqRSxZQUFRQSxXQUFSO0FBQ0MsV0FB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Q3hFLFFBQU1DLEtBQUssNkJBQUcsS0FBS3RCLGlCQUFMLEVBQUgsMkRBQUcsdUJBQTBCRixPQUExQixFQUFkOztBQUNBLFFBQUl3QixLQUFLLElBQUlELFlBQWIsRUFBMkI7QUFDMUIsYUFBT0EsWUFBWSxDQUFDZixPQUFiLENBQXFCZ0IsS0FBckIsTUFBZ0MsQ0FBdkM7QUFDQSxLQUZELE1BRU87QUFDTixhQUFPLEtBQVA7QUFDQTtBQUNELEdBUEQ7O0FBUUFGLEVBQUFBLFlBQVksQ0FBQ2hDLGNBQWIsR0FBOEIsb0RBQTlCLEMsQ0FFQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBLE1BQU1tQyxlQUFlLEdBQUcsVUFBdUJDLEtBQXZCLEVBQTREO0FBQ25GLFFBQUlELGVBQWUsQ0FBQ0UsY0FBaEIsQ0FBK0JELEtBQS9CLENBQUosRUFBMkM7QUFBQSx3Q0FEcUJFLEtBQ3JCO0FBRHFCQSxRQUFBQSxLQUNyQjtBQUFBOztBQUMxQyxhQUFRSCxlQUFELENBQXlCQyxLQUF6QixFQUFnQ0csS0FBaEMsQ0FBc0MsSUFBdEMsRUFBNENELEtBQTVDLENBQVA7QUFDQSxLQUZELE1BRU87QUFDTixhQUFPLEVBQVA7QUFDQTtBQUNELEdBTkQ7O0FBUUFILEVBQUFBLGVBQWUsQ0FBQzNDLHlCQUFoQixHQUE0Q0EseUJBQTVDO0FBQ0EyQyxFQUFBQSxlQUFlLENBQUNoQixlQUFoQixHQUFrQ0EsZUFBbEM7QUFDQWdCLEVBQUFBLGVBQWUsQ0FBQ0gsWUFBaEIsR0FBK0JBLFlBQS9CO0FBQ0FHLEVBQUFBLGVBQWUsQ0FBQ2xDLHFDQUFoQixHQUF3REEscUNBQXhEO0FBQ0E7QUFDQTtBQUNBOztTQUNla0MsZSIsInNvdXJjZVJvb3QiOiIuIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE1hbmFnZWRPYmplY3QgZnJvbSBcInNhcC91aS9iYXNlL01hbmFnZWRPYmplY3RcIjtcbmltcG9ydCB7IE1lc3NhZ2VUeXBlIH0gZnJvbSBcInNhcC9mZS9jb3JlL2Zvcm1hdHRlcnMvVGFibGVGb3JtYXR0ZXJUeXBlc1wiO1xuY29uc3QgZ2V0TWVzc2FnZXR5cGVPcmRlciA9IGZ1bmN0aW9uKG1lc3NhZ2VUeXBlOiBzdHJpbmcpOiBudW1iZXIge1xuXHRzd2l0Y2ggKG1lc3NhZ2VUeXBlKSB7XG5cdFx0Y2FzZSBcIkVycm9yXCI6XG5cdFx0XHRyZXR1cm4gNDtcblx0XHRjYXNlIFwiV2FybmluZ1wiOlxuXHRcdFx0cmV0dXJuIDM7XG5cdFx0Y2FzZSBcIkluZm9ybWF0aW9uXCI6XG5cdFx0XHRyZXR1cm4gMjtcblx0XHRjYXNlIFwiTm9uZVwiOlxuXHRcdFx0cmV0dXJuIDE7XG5cdFx0ZGVmYXVsdDpcblx0XHRcdHJldHVybiAtMTtcblx0fVxufTtcblxuLyoqXG4gKiBHZXRzIHRoZSB2YWxpZGl0eSBvZiBjcmVhdGlvbiByb3cgZmllbGRzLlxuICpcbiAqIEBmdW5jdGlvblxuICogQG5hbWUgdmFsaWRhdGVDcmVhdGlvblJvd0ZpZWxkc1xuICogQHBhcmFtIHtvYmplY3R9IGZpZWxkVmFsaWRpdHlPYmplY3QgT2JqZWN0IGhvbGRpbmcgdGhlIGZpZWxkc1xuICogQHJldHVybnMge2Jvb2xlYW59IGB0cnVlYCBpZiBhbGwgdGhlIGZpZWxkcyBpbiB0aGUgY3JlYXRpb24gcm93IGFyZSB2YWxpZCwgYGZhbHNlYCBvdGhlcndpc2VcbiAqL1xuY29uc3QgdmFsaWRhdGVDcmVhdGlvblJvd0ZpZWxkcyA9IGZ1bmN0aW9uKGZpZWxkVmFsaWRpdHlPYmplY3Q/OiBhbnkpIHtcblx0aWYgKCFmaWVsZFZhbGlkaXR5T2JqZWN0KSB7XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG5cdGNvbnN0IGZpZWxkS2V5cyA9IE9iamVjdC5rZXlzKGZpZWxkVmFsaWRpdHlPYmplY3QpO1xuXHRyZXR1cm4gKFxuXHRcdGZpZWxkS2V5cy5sZW5ndGggPiAwICYmXG5cdFx0ZmllbGRLZXlzLmV2ZXJ5KGZ1bmN0aW9uKGtleSkge1xuXHRcdFx0cmV0dXJuIGZpZWxkVmFsaWRpdHlPYmplY3Rba2V5XVtcInZhbGlkaXR5XCJdO1xuXHRcdH0pXG5cdCk7XG59O1xudmFsaWRhdGVDcmVhdGlvblJvd0ZpZWxkcy5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5UYWJsZUZvcm1hdHRlciN2YWxpZGF0ZUNyZWF0aW9uUm93RmllbGRzXCI7XG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IHRoaXMgVGhlIGNvbnRleHQuXG4gKiBAcGFyYW0ge3N0cmluZ30gc2VtYW50aWNLZXlIYXNEcmFmdEluZGljYXRvciBUaGUgZHJhZnQgaW5kaWNhdG9yIHByb3BlcnR5IG5hbWUuXG4gKiBAcGFyYW0ge0FycmF5fSBhRmlsdGVyZWRNZXNzYWdlcyBBcnJheSBvZiBtZXNzYWdlcy5cbiAqIEByZXR1cm5zIHtib29sZWFufSBUaGUgdmFsdWUgZm9yIE9iamVjdCBTdGF0dXMgdmlzaWJpbGl0eSBwcm9wZXJ0eS5cbiAqL1xuY29uc3QgZ2V0RXJyb3JTdGF0dXNUZXh0VmlzaWJpbGl0eUZvcm1hdHRlciA9IGZ1bmN0aW9uKFxuXHR0aGlzOiBNYW5hZ2VkT2JqZWN0IHwgYW55LFxuXHRzZW1hbnRpY0tleUhhc0RyYWZ0SW5kaWNhdG9yOiBzdHJpbmcsXG5cdGFGaWx0ZXJlZE1lc3NhZ2VzOiBhbnlcbikge1xuXHRsZXQgYlN0YXR1c1Zpc2liaWxpdHkgPSBmYWxzZTtcblx0Y29uc3QgYVNlbWFudGljS2V5Q29sdW1ucyA9IHRoaXMuZ2V0UGFyZW50KCkuZ2V0QWdncmVnYXRpb24oXCJpdGVtc1wiKTtcblx0Y29uc3Qgc0NvbHVtblByb3BlcnR5ID0gYVNlbWFudGljS2V5Q29sdW1uc1swXSEuZ2V0QmluZGluZyhcInRpdGxlXCIpPy5nZXRQYXRoKCk7XG5cdGlmIChhRmlsdGVyZWRNZXNzYWdlcyAmJiBhRmlsdGVyZWRNZXNzYWdlcy5sZW5ndGggPiAwICYmIHNDb2x1bW5Qcm9wZXJ0eSA9PT0gc2VtYW50aWNLZXlIYXNEcmFmdEluZGljYXRvcikge1xuXHRcdGNvbnN0IHNDdXJyZW50Q29udGV4dFBhdGggPSB0aGlzLmdldEJpbmRpbmdDb250ZXh0KCkgPyB0aGlzLmdldEJpbmRpbmdDb250ZXh0KCkuZ2V0UGF0aCgpIDogdW5kZWZpbmVkO1xuXHRcdGFGaWx0ZXJlZE1lc3NhZ2VzLmZvckVhY2goKG9NZXNzYWdlOiBhbnkpID0+IHtcblx0XHRcdGlmIChvTWVzc2FnZS50eXBlID09PSBcIkVycm9yXCIgJiYgb01lc3NhZ2UuYVRhcmdldHNbMF0uaW5kZXhPZihzQ3VycmVudENvbnRleHRQYXRoKSA9PT0gMCkge1xuXHRcdFx0XHRiU3RhdHVzVmlzaWJpbGl0eSA9IHRydWU7XG5cdFx0XHRcdHJldHVybiBiU3RhdHVzVmlzaWJpbGl0eTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXHRyZXR1cm4gYlN0YXR1c1Zpc2liaWxpdHk7XG59O1xuZ2V0RXJyb3JTdGF0dXNUZXh0VmlzaWJpbGl0eUZvcm1hdHRlci5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5UYWJsZUZvcm1hdHRlciNnZXRFcnJvclN0YXR1c1RleHRWaXNpYmlsaXR5Rm9ybWF0dGVyXCI7XG5cbi8qKlxuICogcm93SGlnaGxpZ2h0aW5nXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IHRoaXMgVGhlIGNvbnRleHRcbiAqIEBwYXJhbSB7c3RyaW5nfG51bWJlcn0gQ3JpdGljYWxpdHlWYWx1ZSBUaGUgY3JpdGljYWxpdHkgdmFsdWVcbiAqIEBwYXJhbSB7bnVtYmVyfSBtZXNzYWdlTGFzdFVwZGF0ZSBUaW1lc3RhbXAgb2YgdGhlIGxhc3QgbWVzc2FnZSB0aGF0IHdhcyBjcmVhdGVkLiBJdCdzIGRlZmluZWQgYXMgYW4gaW5wdXQgdmFsdWUsIGJ1dCBub3QgdXNlZCBpbiB0aGUgYm9keSBvZiB0aGUgZnVuY3Rpb25cbiAqIEl0IGlzIHVzZWQgdG8gcmVmcmVzaCB0aGUgZm9ybWF0dGluZyBvZiB0aGUgdGFibGUgZWFjaCB0aW1lIGEgbmV3IG1lc3NhZ2UgaXMgdXBkYXRlZFxuICogQHJldHVybnMge29iamVjdH0gVGhlIHZhbHVlIGZyb20gdGhlIGlubmVyIGZ1bmN0aW9uXG4gKi9cblxuY29uc3Qgcm93SGlnaGxpZ2h0aW5nID0gZnVuY3Rpb24oXG5cdHRoaXM6IE1hbmFnZWRPYmplY3QsXG5cdGNyaXRpY2FsaXR5VmFsdWU6IHN0cmluZyB8IG51bWJlcixcblx0YUZpbHRlcmVkTWVzc2FnZXM6IGFueVtdLFxuXHRoYXNBY3RpdmVFbnRpdHk6IGJvb2xlYW4sXG5cdGlzQWN0aXZlRW50aXR5OiBib29sZWFuLFxuXHRpc0RyYWZ0Um9vdDogc3RyaW5nLFxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5cdC4uLmFyZ3M6IGFueVtdXG4pOiBNZXNzYWdlVHlwZSB7XG5cdGNvbnN0IGlzTmV3T2JqZWN0ID0gIWhhc0FjdGl2ZUVudGl0eSAmJiAhaXNBY3RpdmVFbnRpdHk7XG5cdGxldCBpSGlnaGVzdENyaXRpY2FsaXR5VmFsdWU6IG51bWJlciA9IC0xO1xuXHRpZiAoYUZpbHRlcmVkTWVzc2FnZXMgJiYgYUZpbHRlcmVkTWVzc2FnZXMubGVuZ3RoID4gMCkge1xuXHRcdGNvbnN0IHNDdXJyZW50Q29udGV4dFBhdGggPSB0aGlzLmdldEJpbmRpbmdDb250ZXh0KCk/LmdldFBhdGgoKTtcblx0XHRhRmlsdGVyZWRNZXNzYWdlcy5mb3JFYWNoKChvTWVzc2FnZTogYW55KSA9PiB7XG5cdFx0XHRpZiAob01lc3NhZ2UuYVRhcmdldHNbMF0uaW5kZXhPZihzQ3VycmVudENvbnRleHRQYXRoKSA9PT0gMCAmJiBpSGlnaGVzdENyaXRpY2FsaXR5VmFsdWUgPCBnZXRNZXNzYWdldHlwZU9yZGVyKG9NZXNzYWdlLnR5cGUpKSB7XG5cdFx0XHRcdGlIaWdoZXN0Q3JpdGljYWxpdHlWYWx1ZSA9IGdldE1lc3NhZ2V0eXBlT3JkZXIob01lc3NhZ2UudHlwZSk7XG5cdFx0XHRcdGNyaXRpY2FsaXR5VmFsdWUgPSBvTWVzc2FnZS50eXBlO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cdGlmICh0eXBlb2YgY3JpdGljYWxpdHlWYWx1ZSAhPT0gXCJzdHJpbmdcIikge1xuXHRcdHN3aXRjaCAoY3JpdGljYWxpdHlWYWx1ZSkge1xuXHRcdFx0Y2FzZSAxOlxuXHRcdFx0XHRjcml0aWNhbGl0eVZhbHVlID0gTWVzc2FnZVR5cGUuRXJyb3I7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSAyOlxuXHRcdFx0XHRjcml0aWNhbGl0eVZhbHVlID0gTWVzc2FnZVR5cGUuV2FybmluZztcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIDM6XG5cdFx0XHRcdGNyaXRpY2FsaXR5VmFsdWUgPSBNZXNzYWdlVHlwZS5TdWNjZXNzO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgNTpcblx0XHRcdFx0Y3JpdGljYWxpdHlWYWx1ZSA9IE1lc3NhZ2VUeXBlLkluZm9ybWF0aW9uO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdGNyaXRpY2FsaXR5VmFsdWUgPSBNZXNzYWdlVHlwZS5Ob25lO1xuXHRcdH1cblx0fVxuXG5cdGlmIChjcml0aWNhbGl0eVZhbHVlID09PSBNZXNzYWdlVHlwZS5Ob25lKSB7XG5cdFx0aWYgKGlzRHJhZnRSb290ID09PSBcInRydWVcIiAmJiBpc05ld09iamVjdCkge1xuXHRcdFx0cmV0dXJuIE1lc3NhZ2VUeXBlLkluZm9ybWF0aW9uO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gTWVzc2FnZVR5cGUuTm9uZTtcblx0XHR9XG5cdH0gZWxzZSB7XG5cdFx0cmV0dXJuIGNyaXRpY2FsaXR5VmFsdWUgYXMgTWVzc2FnZVR5cGU7XG5cdH1cbn07XG5yb3dIaWdobGlnaHRpbmcuX19mdW5jdGlvbk5hbWUgPSBcInNhcC5mZS5jb3JlLmZvcm1hdHRlcnMuVGFibGVGb3JtYXR0ZXIjcm93SGlnaGxpZ2h0aW5nXCI7XG5cbmNvbnN0IG5hdmlnYXRlZFJvdyA9IGZ1bmN0aW9uKHRoaXM6IE1hbmFnZWRPYmplY3QsIHNEZWVwZXN0UGF0aDogc3RyaW5nKSB7XG5cdGNvbnN0IHNQYXRoID0gdGhpcy5nZXRCaW5kaW5nQ29udGV4dCgpPy5nZXRQYXRoKCk7XG5cdGlmIChzUGF0aCAmJiBzRGVlcGVzdFBhdGgpIHtcblx0XHRyZXR1cm4gc0RlZXBlc3RQYXRoLmluZGV4T2Yoc1BhdGgpID09PSAwO1xuXHR9IGVsc2Uge1xuXHRcdHJldHVybiBmYWxzZTtcblx0fVxufTtcbm5hdmlnYXRlZFJvdy5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5UYWJsZUZvcm1hdHRlciNuYXZpZ2F0ZWRSb3dcIjtcblxuLy8gU2VlIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rL2Z1bmN0aW9ucy5odG1sI3RoaXMtcGFyYW1ldGVycyBmb3IgbW9yZSBkZXRhaWwgb24gdGhpcyB3ZWlyZCBzeW50YXhcbi8qKlxuICogQ29sbGVjdGlvbiBvZiB0YWJsZSBmb3JtYXR0ZXJzLlxuICpcbiAqIEBwYXJhbSB7b2JqZWN0fSB0aGlzIFRoZSBjb250ZXh0XG4gKiBAcGFyYW0ge3N0cmluZ30gc05hbWUgVGhlIGlubmVyIGZ1bmN0aW9uIG5hbWVcbiAqIEBwYXJhbSB7b2JqZWN0W119IG9BcmdzIFRoZSBpbm5lciBmdW5jdGlvbiBwYXJhbWV0ZXJzXG4gKiBAcmV0dXJucyB7b2JqZWN0fSBUaGUgdmFsdWUgZnJvbSB0aGUgaW5uZXIgZnVuY3Rpb25cbiAqL1xuY29uc3QgdGFibGVGb3JtYXR0ZXJzID0gZnVuY3Rpb24odGhpczogb2JqZWN0LCBzTmFtZTogc3RyaW5nLCAuLi5vQXJnczogYW55W10pOiBhbnkge1xuXHRpZiAodGFibGVGb3JtYXR0ZXJzLmhhc093blByb3BlcnR5KHNOYW1lKSkge1xuXHRcdHJldHVybiAodGFibGVGb3JtYXR0ZXJzIGFzIGFueSlbc05hbWVdLmFwcGx5KHRoaXMsIG9BcmdzKTtcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gXCJcIjtcblx0fVxufTtcblxudGFibGVGb3JtYXR0ZXJzLnZhbGlkYXRlQ3JlYXRpb25Sb3dGaWVsZHMgPSB2YWxpZGF0ZUNyZWF0aW9uUm93RmllbGRzO1xudGFibGVGb3JtYXR0ZXJzLnJvd0hpZ2hsaWdodGluZyA9IHJvd0hpZ2hsaWdodGluZztcbnRhYmxlRm9ybWF0dGVycy5uYXZpZ2F0ZWRSb3cgPSBuYXZpZ2F0ZWRSb3c7XG50YWJsZUZvcm1hdHRlcnMuZ2V0RXJyb3JTdGF0dXNUZXh0VmlzaWJpbGl0eUZvcm1hdHRlciA9IGdldEVycm9yU3RhdHVzVGV4dFZpc2liaWxpdHlGb3JtYXR0ZXI7XG4vKipcbiAqIEBnbG9iYWxcbiAqL1xuZXhwb3J0IGRlZmF1bHQgdGFibGVGb3JtYXR0ZXJzO1xuIl19
246
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRhYmxlRm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbImdldE1lc3NhZ2V0eXBlT3JkZXIiLCJtZXNzYWdlVHlwZSIsInZhbGlkYXRlQ3JlYXRpb25Sb3dGaWVsZHMiLCJmaWVsZFZhbGlkaXR5T2JqZWN0IiwiZmllbGRLZXlzIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsImV2ZXJ5Iiwia2V5IiwiX19mdW5jdGlvbk5hbWUiLCJnZXRFcnJvclN0YXR1c1RleHRWaXNpYmlsaXR5Rm9ybWF0dGVyIiwic2VtYW50aWNLZXlIYXNEcmFmdEluZGljYXRvciIsImFGaWx0ZXJlZE1lc3NhZ2VzIiwiYlN0YXR1c1Zpc2liaWxpdHkiLCJhU2VtYW50aWNLZXlDb2x1bW5zIiwiZ2V0UGFyZW50IiwiZ2V0QWdncmVnYXRpb24iLCJzQ29sdW1uUHJvcGVydHkiLCJnZXRCaW5kaW5nIiwiZ2V0UGF0aCIsInNDdXJyZW50Q29udGV4dFBhdGgiLCJnZXRCaW5kaW5nQ29udGV4dCIsInVuZGVmaW5lZCIsImZvckVhY2giLCJvTWVzc2FnZSIsInR5cGUiLCJhVGFyZ2V0cyIsImluZGV4T2YiLCJyb3dIaWdobGlnaHRpbmciLCJjcml0aWNhbGl0eVZhbHVlIiwiaGFzQWN0aXZlRW50aXR5IiwiaXNBY3RpdmVFbnRpdHkiLCJpc0RyYWZ0Um9vdCIsImlzTmV3T2JqZWN0IiwiaUhpZ2hlc3RDcml0aWNhbGl0eVZhbHVlIiwiTWVzc2FnZVR5cGUiLCJFcnJvciIsIldhcm5pbmciLCJTdWNjZXNzIiwiSW5mb3JtYXRpb24iLCJOb25lIiwibmF2aWdhdGVkUm93Iiwic0RlZXBlc3RQYXRoIiwic1BhdGgiLCJpc1JhdGluZ0luZGljYXRvciIsIm9Db250cm9sIiwiaXNBIiwidkNvbnRlbnREaXNwbGF5IiwiQXJyYXkiLCJpc0FycmF5IiwiZ2V0Q29udGVudERpc3BsYXkiLCJfdXBkYXRlU3R5bGVDbGFzc0ZvclJhdGluZ0luZGljYXRvciIsIm9GaWVsZFdyYXBwZXIiLCJiTGFzdCIsInZDb250ZW50RWRpdCIsImdldENvbnRlbnRFZGl0IiwiYWRkU3R5bGVDbGFzcyIsInJlbW92ZVN0eWxlQ2xhc3MiLCJnZXRWQm94VmlzaWJpbGl0eSIsImFJdGVtcyIsImdldEl0ZW1zIiwiYkxhc3RFbGVtZW50Rm91bmQiLCJhcmdzIiwiaW5kZXgiLCJ0YWJsZUZvcm1hdHRlciIsInNOYW1lIiwiaGFzT3duUHJvcGVydHkiLCJvQXJncyIsImFwcGx5Il0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBOzs7Ozs7QUFFQSxNQUFNQSxtQkFBbUIsR0FBRyxVQUFVQyxXQUFWLEVBQXVDO0FBQ2xFLFlBQVFBLFdBQVI7QUFDQyxXQUFLLE9BQUw7QUFDQyxlQUFPLENBQVA7O0FBQ0QsV0FBSyxTQUFMO0FBQ0MsZUFBTyxDQUFQOztBQUNELFdBQUssYUFBTDtBQUNDLGVBQU8sQ0FBUDs7QUFDRCxXQUFLLE1BQUw7QUFDQyxlQUFPLENBQVA7O0FBQ0Q7QUFDQyxlQUFPLENBQUMsQ0FBUjtBQVZGO0FBWUEsR0FiRDtBQWVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLE1BQU1DLHlCQUF5QixHQUFHLFVBQVVDLG1CQUFWLEVBQXFDO0FBQ3RFLFFBQUksQ0FBQ0EsbUJBQUwsRUFBMEI7QUFDekIsYUFBTyxLQUFQO0FBQ0E7O0FBQ0QsUUFBTUMsU0FBUyxHQUFHQyxNQUFNLENBQUNDLElBQVAsQ0FBWUgsbUJBQVosQ0FBbEI7QUFDQSxXQUNDQyxTQUFTLENBQUNHLE1BQVYsR0FBbUIsQ0FBbkIsSUFDQUgsU0FBUyxDQUFDSSxLQUFWLENBQWdCLFVBQVVDLEdBQVYsRUFBZTtBQUM5QixhQUFPTixtQkFBbUIsQ0FBQ00sR0FBRCxDQUFuQixDQUF5QixVQUF6QixDQUFQO0FBQ0EsS0FGRCxDQUZEO0FBTUEsR0FYRDs7QUFZQVAsRUFBQUEseUJBQXlCLENBQUNRLGNBQTFCLEdBQTJDLGlFQUEzQztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxNQUFNQyxxQ0FBcUMsR0FBRyxVQUU3Q0MsNEJBRjZDLEVBRzdDQyxpQkFINkMsRUFJNUM7QUFBQTs7QUFDRCxRQUFJQyxpQkFBaUIsR0FBRyxLQUF4QjtBQUNBLFFBQU1DLG1CQUFtQixHQUFHLEtBQUtDLFNBQUwsR0FBaUJDLGNBQWpCLENBQWdDLE9BQWhDLENBQTVCO0FBQ0EsUUFBTUMsZUFBZSxrQkFBR0gsbUJBQW1CLENBQUMsQ0FBRCxDQUFuQixDQUF3QkksVUFBeEIsQ0FBbUMsT0FBbkMsQ0FBSCxnREFBRyxZQUE2Q0MsT0FBN0MsRUFBeEI7O0FBQ0EsUUFBSVAsaUJBQWlCLElBQUlBLGlCQUFpQixDQUFDTixNQUFsQixHQUEyQixDQUFoRCxJQUFxRFcsZUFBZSxLQUFLTiw0QkFBN0UsRUFBMkc7QUFDMUcsVUFBTVMsbUJBQW1CLEdBQUcsS0FBS0MsaUJBQUwsS0FBMkIsS0FBS0EsaUJBQUwsR0FBeUJGLE9BQXpCLEVBQTNCLEdBQWdFRyxTQUE1RjtBQUNBVixNQUFBQSxpQkFBaUIsQ0FBQ1csT0FBbEIsQ0FBMEIsVUFBQ0MsUUFBRCxFQUFtQjtBQUM1QyxZQUFJQSxRQUFRLENBQUNDLElBQVQsS0FBa0IsT0FBbEIsSUFBNkJELFFBQVEsQ0FBQ0UsUUFBVCxDQUFrQixDQUFsQixFQUFxQkMsT0FBckIsQ0FBNkJQLG1CQUE3QixNQUFzRCxDQUF2RixFQUEwRjtBQUN6RlAsVUFBQUEsaUJBQWlCLEdBQUcsSUFBcEI7QUFDQSxpQkFBT0EsaUJBQVA7QUFDQTtBQUNELE9BTEQ7QUFNQTs7QUFDRCxXQUFPQSxpQkFBUDtBQUNBLEdBbEJEOztBQW1CQUgsRUFBQUEscUNBQXFDLENBQUNELGNBQXRDLEdBQXVELDZFQUF2RDtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxNQUFNbUIsZUFBZSxHQUFHLFVBRXZCQyxnQkFGdUIsRUFHdkJqQixpQkFIdUIsRUFJdkJrQixlQUp1QixFQUt2QkMsY0FMdUIsRUFNdkJDLFdBTnVCLEVBU1Q7QUFDZCxRQUFNQyxXQUFXLEdBQUcsQ0FBQ0gsZUFBRCxJQUFvQixDQUFDQyxjQUF6QztBQUNBLFFBQUlHLHdCQUFnQyxHQUFHLENBQUMsQ0FBeEM7O0FBQ0EsUUFBSXRCLGlCQUFpQixJQUFJQSxpQkFBaUIsQ0FBQ04sTUFBbEIsR0FBMkIsQ0FBcEQsRUFBdUQ7QUFBQTs7QUFDdEQsVUFBTWMsbUJBQW1CLDRCQUFHLEtBQUtDLGlCQUFMLEVBQUgsMERBQUcsc0JBQTBCRixPQUExQixFQUE1QjtBQUNBUCxNQUFBQSxpQkFBaUIsQ0FBQ1csT0FBbEIsQ0FBMEIsVUFBQ0MsUUFBRCxFQUFtQjtBQUM1QyxZQUFJQSxRQUFRLENBQUNFLFFBQVQsQ0FBa0IsQ0FBbEIsRUFBcUJDLE9BQXJCLENBQTZCUCxtQkFBN0IsTUFBc0QsQ0FBdEQsSUFBMkRjLHdCQUF3QixHQUFHbkMsbUJBQW1CLENBQUN5QixRQUFRLENBQUNDLElBQVYsQ0FBN0csRUFBOEg7QUFDN0hTLFVBQUFBLHdCQUF3QixHQUFHbkMsbUJBQW1CLENBQUN5QixRQUFRLENBQUNDLElBQVYsQ0FBOUM7QUFDQUksVUFBQUEsZ0JBQWdCLEdBQUdMLFFBQVEsQ0FBQ0MsSUFBNUI7QUFDQTtBQUNELE9BTEQ7QUFNQTs7QUFDRCxRQUFJLE9BQU9JLGdCQUFQLEtBQTRCLFFBQWhDLEVBQTBDO0FBQ3pDLGNBQVFBLGdCQUFSO0FBQ0MsYUFBSyxDQUFMO0FBQ0NBLFVBQUFBLGdCQUFnQixHQUFHTSxXQUFXLENBQUNDLEtBQS9CO0FBQ0E7O0FBQ0QsYUFBSyxDQUFMO0FBQ0NQLFVBQUFBLGdCQUFnQixHQUFHTSxXQUFXLENBQUNFLE9BQS9CO0FBQ0E7O0FBQ0QsYUFBSyxDQUFMO0FBQ0NSLFVBQUFBLGdCQUFnQixHQUFHTSxXQUFXLENBQUNHLE9BQS9CO0FBQ0E7O0FBQ0QsYUFBSyxDQUFMO0FBQ0NULFVBQUFBLGdCQUFnQixHQUFHTSxXQUFXLENBQUNJLFdBQS9CO0FBQ0E7O0FBQ0Q7QUFDQ1YsVUFBQUEsZ0JBQWdCLEdBQUdNLFdBQVcsQ0FBQ0ssSUFBL0I7QUFkRjtBQWdCQTs7QUFFRCxRQUFJWCxnQkFBZ0IsS0FBS00sV0FBVyxDQUFDSyxJQUFyQyxFQUEyQztBQUMxQyxVQUFJUixXQUFXLEtBQUssTUFBaEIsSUFBMEJDLFdBQTlCLEVBQTJDO0FBQzFDLGVBQU9FLFdBQVcsQ0FBQ0ksV0FBbkI7QUFDQSxPQUZELE1BRU87QUFDTixlQUFPSixXQUFXLENBQUNLLElBQW5CO0FBQ0E7QUFDRCxLQU5ELE1BTU87QUFDTixhQUFPWCxnQkFBUDtBQUNBO0FBQ0QsR0FqREQ7O0FBa0RBRCxFQUFBQSxlQUFlLENBQUNuQixjQUFoQixHQUFpQyx1REFBakM7O0FBRUEsTUFBTWdDLFlBQVksR0FBRyxVQUErQkMsWUFBL0IsRUFBcUQ7QUFBQTs7QUFDekUsUUFBTUMsS0FBSyw2QkFBRyxLQUFLdEIsaUJBQUwsRUFBSCwyREFBRyx1QkFBMEJGLE9BQTFCLEVBQWQ7O0FBQ0EsUUFBSXdCLEtBQUssSUFBSUQsWUFBYixFQUEyQjtBQUMxQixhQUFPQSxZQUFZLENBQUNmLE9BQWIsQ0FBcUJnQixLQUFyQixNQUFnQyxDQUF2QztBQUNBLEtBRkQsTUFFTztBQUNOLGFBQU8sS0FBUDtBQUNBO0FBQ0QsR0FQRDs7QUFRQUYsRUFBQUEsWUFBWSxDQUFDaEMsY0FBYixHQUE4QixvREFBOUI7O0FBRUEsV0FBU21DLGlCQUFULENBQTJCQyxRQUEzQixFQUFtRDtBQUNsRCxRQUFJQSxRQUFRLENBQUNDLEdBQVQsQ0FBYSxtQ0FBYixDQUFKLEVBQXVEO0FBQ3RELFVBQU1DLGVBQWUsR0FBR0MsS0FBSyxDQUFDQyxPQUFOLENBQWNKLFFBQVEsQ0FBQ0ssaUJBQVQsRUFBZCxJQUNyQkwsUUFBUSxDQUFDSyxpQkFBVCxHQUE2QixDQUE3QixDQURxQixHQUVyQkwsUUFBUSxDQUFDSyxpQkFBVCxFQUZIOztBQUdBLFVBQUlILGVBQWUsSUFBSUEsZUFBZSxDQUFDRCxHQUFoQixDQUFvQix1QkFBcEIsQ0FBdkIsRUFBcUU7QUFDcEUsZUFBTyxJQUFQO0FBQ0E7QUFDRDs7QUFDRCxXQUFPLEtBQVA7QUFDQTs7QUFDRCxXQUFTSyxtQ0FBVCxDQUE2Q0MsYUFBN0MsRUFBaUVDLEtBQWpFLEVBQWlGO0FBQ2hGLFFBQU1OLGVBQWUsR0FBR0MsS0FBSyxDQUFDQyxPQUFOLENBQWNHLGFBQWEsQ0FBQ0YsaUJBQWQsRUFBZCxJQUNyQkUsYUFBYSxDQUFDRixpQkFBZCxHQUFrQyxDQUFsQyxDQURxQixHQUVyQkUsYUFBYSxDQUFDRixpQkFBZCxFQUZIO0FBR0EsUUFBTUksWUFBWSxHQUFHTixLQUFLLENBQUNDLE9BQU4sQ0FBY0csYUFBYSxDQUFDRyxjQUFkLEVBQWQsSUFBZ0RILGFBQWEsQ0FBQ0csY0FBZCxHQUErQixDQUEvQixDQUFoRCxHQUFvRkgsYUFBYSxDQUFDRyxjQUFkLEVBQXpHOztBQUVBLFFBQUlGLEtBQUosRUFBVztBQUNWTixNQUFBQSxlQUFlLENBQUNTLGFBQWhCLENBQThCLHFCQUE5QjtBQUNBVCxNQUFBQSxlQUFlLENBQUNTLGFBQWhCLENBQThCLGtCQUE5QjtBQUNBRixNQUFBQSxZQUFZLENBQUNHLGdCQUFiLENBQThCLHVCQUE5QjtBQUNBLEtBSkQsTUFJTztBQUNOVixNQUFBQSxlQUFlLENBQUNTLGFBQWhCLENBQThCLHFCQUE5QjtBQUNBVCxNQUFBQSxlQUFlLENBQUNVLGdCQUFoQixDQUFpQyxrQkFBakM7QUFDQUgsTUFBQUEsWUFBWSxDQUFDRSxhQUFiLENBQTJCLHVCQUEzQjtBQUNBO0FBQ0Q7O0FBQ0QsV0FBU0UsaUJBQVQsR0FBd0Q7QUFDdkQsUUFBTUMsTUFBTSxHQUFHLEtBQUtDLFFBQUwsRUFBZjtBQUNBLFFBQUlDLGlCQUFpQixHQUFHLEtBQXhCOztBQUZ1RCxzQ0FBYkMsSUFBYTtBQUFiQSxNQUFBQSxJQUFhO0FBQUE7O0FBR3ZELFNBQUssSUFBSUMsS0FBSyxHQUFHSixNQUFNLENBQUNyRCxNQUFQLEdBQWdCLENBQWpDLEVBQW9DeUQsS0FBSyxJQUFJLENBQTdDLEVBQWdEQSxLQUFLLEVBQXJELEVBQXlEO0FBQ3hELFVBQUksQ0FBQ0YsaUJBQUwsRUFBd0I7QUFDdkIsWUFBSUMsSUFBSSxDQUFDQyxLQUFELENBQUosS0FBZ0IsSUFBcEIsRUFBMEI7QUFDekJGLFVBQUFBLGlCQUFpQixHQUFHLElBQXBCOztBQUNBLGNBQUlqQixpQkFBaUIsQ0FBQ2UsTUFBTSxDQUFDSSxLQUFELENBQVAsQ0FBckIsRUFBc0M7QUFDckNaLFlBQUFBLG1DQUFtQyxDQUFDUSxNQUFNLENBQUNJLEtBQUQsQ0FBUCxFQUFnQixJQUFoQixDQUFuQztBQUNBLFdBRkQsTUFFTztBQUNOSixZQUFBQSxNQUFNLENBQUNJLEtBQUQsQ0FBTixDQUFjTixnQkFBZCxDQUErQix1QkFBL0I7QUFDQTtBQUNEO0FBQ0QsT0FURCxNQVNPLElBQUliLGlCQUFpQixDQUFDZSxNQUFNLENBQUNJLEtBQUQsQ0FBUCxDQUFyQixFQUFzQztBQUM1Q1osUUFBQUEsbUNBQW1DLENBQUNRLE1BQU0sQ0FBQ0ksS0FBRCxDQUFQLEVBQWdCLEtBQWhCLENBQW5DO0FBQ0EsT0FGTSxNQUVBO0FBQ05KLFFBQUFBLE1BQU0sQ0FBQ0ksS0FBRCxDQUFOLENBQWNQLGFBQWQsQ0FBNEIsdUJBQTVCO0FBQ0E7QUFDRDs7QUFDRCxXQUFPLElBQVA7QUFDQTs7QUFDREUsRUFBQUEsaUJBQWlCLENBQUNqRCxjQUFsQixHQUFtQyx5REFBbkMsQyxDQUVBOztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsTUFBTXVELGNBQWMsR0FBRyxVQUF3QkMsS0FBeEIsRUFBNkQ7QUFDbkYsUUFBSUQsY0FBYyxDQUFDRSxjQUFmLENBQThCRCxLQUE5QixDQUFKLEVBQTBDO0FBQUEseUNBRHNCRSxLQUN0QjtBQURzQkEsUUFBQUEsS0FDdEI7QUFBQTs7QUFDekMsYUFBUUgsY0FBRCxDQUF3QkMsS0FBeEIsRUFBK0JHLEtBQS9CLENBQXFDLElBQXJDLEVBQTJDRCxLQUEzQyxDQUFQO0FBQ0EsS0FGRCxNQUVPO0FBQ04sYUFBTyxFQUFQO0FBQ0E7QUFDRCxHQU5EOztBQVFBSCxFQUFBQSxjQUFjLENBQUMvRCx5QkFBZixHQUEyQ0EseUJBQTNDO0FBQ0ErRCxFQUFBQSxjQUFjLENBQUNwQyxlQUFmLEdBQWlDQSxlQUFqQztBQUNBb0MsRUFBQUEsY0FBYyxDQUFDdkIsWUFBZixHQUE4QkEsWUFBOUI7QUFDQXVCLEVBQUFBLGNBQWMsQ0FBQ3RELHFDQUFmLEdBQXVEQSxxQ0FBdkQ7QUFDQXNELEVBQUFBLGNBQWMsQ0FBQ04saUJBQWYsR0FBbUNBLGlCQUFuQztBQUNBTSxFQUFBQSxjQUFjLENBQUNwQixpQkFBZixHQUFtQ0EsaUJBQW5DLEMsQ0FBc0Q7O0FBRXREO0FBQ0E7QUFDQTs7U0FDZW9CLGMiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lc3NhZ2VUeXBlIH0gZnJvbSBcInNhcC9mZS9jb3JlL2Zvcm1hdHRlcnMvVGFibGVGb3JtYXR0ZXJUeXBlc1wiO1xuaW1wb3J0IFRhYmxlIGZyb20gXCJzYXAvbS9UYWJsZVwiO1xuaW1wb3J0IE1hbmFnZWRPYmplY3QgZnJvbSBcInNhcC91aS9iYXNlL01hbmFnZWRPYmplY3RcIjtcblxuY29uc3QgZ2V0TWVzc2FnZXR5cGVPcmRlciA9IGZ1bmN0aW9uIChtZXNzYWdlVHlwZTogc3RyaW5nKTogbnVtYmVyIHtcblx0c3dpdGNoIChtZXNzYWdlVHlwZSkge1xuXHRcdGNhc2UgXCJFcnJvclwiOlxuXHRcdFx0cmV0dXJuIDQ7XG5cdFx0Y2FzZSBcIldhcm5pbmdcIjpcblx0XHRcdHJldHVybiAzO1xuXHRcdGNhc2UgXCJJbmZvcm1hdGlvblwiOlxuXHRcdFx0cmV0dXJuIDI7XG5cdFx0Y2FzZSBcIk5vbmVcIjpcblx0XHRcdHJldHVybiAxO1xuXHRcdGRlZmF1bHQ6XG5cdFx0XHRyZXR1cm4gLTE7XG5cdH1cbn07XG5cbi8qKlxuICogR2V0cyB0aGUgdmFsaWRpdHkgb2YgY3JlYXRpb24gcm93IGZpZWxkcy5cbiAqXG4gKiBAZnVuY3Rpb25cbiAqIEBuYW1lIHZhbGlkYXRlQ3JlYXRpb25Sb3dGaWVsZHNcbiAqIEBwYXJhbSB7b2JqZWN0fSBmaWVsZFZhbGlkaXR5T2JqZWN0IE9iamVjdCBob2xkaW5nIHRoZSBmaWVsZHNcbiAqIEByZXR1cm5zIHtib29sZWFufSBgdHJ1ZWAgaWYgYWxsIHRoZSBmaWVsZHMgaW4gdGhlIGNyZWF0aW9uIHJvdyBhcmUgdmFsaWQsIGBmYWxzZWAgb3RoZXJ3aXNlXG4gKi9cbmNvbnN0IHZhbGlkYXRlQ3JlYXRpb25Sb3dGaWVsZHMgPSBmdW5jdGlvbiAoZmllbGRWYWxpZGl0eU9iamVjdD86IGFueSkge1xuXHRpZiAoIWZpZWxkVmFsaWRpdHlPYmplY3QpIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblx0Y29uc3QgZmllbGRLZXlzID0gT2JqZWN0LmtleXMoZmllbGRWYWxpZGl0eU9iamVjdCk7XG5cdHJldHVybiAoXG5cdFx0ZmllbGRLZXlzLmxlbmd0aCA+IDAgJiZcblx0XHRmaWVsZEtleXMuZXZlcnkoZnVuY3Rpb24gKGtleSkge1xuXHRcdFx0cmV0dXJuIGZpZWxkVmFsaWRpdHlPYmplY3Rba2V5XVtcInZhbGlkaXR5XCJdO1xuXHRcdH0pXG5cdCk7XG59O1xudmFsaWRhdGVDcmVhdGlvblJvd0ZpZWxkcy5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5UYWJsZUZvcm1hdHRlciN2YWxpZGF0ZUNyZWF0aW9uUm93RmllbGRzXCI7XG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IHRoaXMgVGhlIGNvbnRleHQuXG4gKiBAcGFyYW0ge3N0cmluZ30gc2VtYW50aWNLZXlIYXNEcmFmdEluZGljYXRvciBUaGUgZHJhZnQgaW5kaWNhdG9yIHByb3BlcnR5IG5hbWUuXG4gKiBAcGFyYW0ge0FycmF5fSBhRmlsdGVyZWRNZXNzYWdlcyBBcnJheSBvZiBtZXNzYWdlcy5cbiAqIEByZXR1cm5zIHtib29sZWFufSBUaGUgdmFsdWUgZm9yIE9iamVjdCBTdGF0dXMgdmlzaWJpbGl0eSBwcm9wZXJ0eS5cbiAqL1xuY29uc3QgZ2V0RXJyb3JTdGF0dXNUZXh0VmlzaWJpbGl0eUZvcm1hdHRlciA9IGZ1bmN0aW9uIChcblx0dGhpczogTWFuYWdlZE9iamVjdCB8IGFueSxcblx0c2VtYW50aWNLZXlIYXNEcmFmdEluZGljYXRvcjogc3RyaW5nLFxuXHRhRmlsdGVyZWRNZXNzYWdlczogYW55XG4pIHtcblx0bGV0IGJTdGF0dXNWaXNpYmlsaXR5ID0gZmFsc2U7XG5cdGNvbnN0IGFTZW1hbnRpY0tleUNvbHVtbnMgPSB0aGlzLmdldFBhcmVudCgpLmdldEFnZ3JlZ2F0aW9uKFwiaXRlbXNcIik7XG5cdGNvbnN0IHNDb2x1bW5Qcm9wZXJ0eSA9IGFTZW1hbnRpY0tleUNvbHVtbnNbMF0hLmdldEJpbmRpbmcoXCJ0aXRsZVwiKT8uZ2V0UGF0aCgpO1xuXHRpZiAoYUZpbHRlcmVkTWVzc2FnZXMgJiYgYUZpbHRlcmVkTWVzc2FnZXMubGVuZ3RoID4gMCAmJiBzQ29sdW1uUHJvcGVydHkgPT09IHNlbWFudGljS2V5SGFzRHJhZnRJbmRpY2F0b3IpIHtcblx0XHRjb25zdCBzQ3VycmVudENvbnRleHRQYXRoID0gdGhpcy5nZXRCaW5kaW5nQ29udGV4dCgpID8gdGhpcy5nZXRCaW5kaW5nQ29udGV4dCgpLmdldFBhdGgoKSA6IHVuZGVmaW5lZDtcblx0XHRhRmlsdGVyZWRNZXNzYWdlcy5mb3JFYWNoKChvTWVzc2FnZTogYW55KSA9PiB7XG5cdFx0XHRpZiAob01lc3NhZ2UudHlwZSA9PT0gXCJFcnJvclwiICYmIG9NZXNzYWdlLmFUYXJnZXRzWzBdLmluZGV4T2Yoc0N1cnJlbnRDb250ZXh0UGF0aCkgPT09IDApIHtcblx0XHRcdFx0YlN0YXR1c1Zpc2liaWxpdHkgPSB0cnVlO1xuXHRcdFx0XHRyZXR1cm4gYlN0YXR1c1Zpc2liaWxpdHk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblx0cmV0dXJuIGJTdGF0dXNWaXNpYmlsaXR5O1xufTtcbmdldEVycm9yU3RhdHVzVGV4dFZpc2liaWxpdHlGb3JtYXR0ZXIuX19mdW5jdGlvbk5hbWUgPSBcInNhcC5mZS5jb3JlLmZvcm1hdHRlcnMuVGFibGVGb3JtYXR0ZXIjZ2V0RXJyb3JTdGF0dXNUZXh0VmlzaWJpbGl0eUZvcm1hdHRlclwiO1xuXG4vKipcbiAqIHJvd0hpZ2hsaWdodGluZ1xuICpcbiAqIEBwYXJhbSB7b2JqZWN0fSB0aGlzIFRoZSBjb250ZXh0XG4gKiBAcGFyYW0ge3N0cmluZ3xudW1iZXJ9IENyaXRpY2FsaXR5VmFsdWUgVGhlIGNyaXRpY2FsaXR5IHZhbHVlXG4gKiBAcGFyYW0ge251bWJlcn0gbWVzc2FnZUxhc3RVcGRhdGUgVGltZXN0YW1wIG9mIHRoZSBsYXN0IG1lc3NhZ2UgdGhhdCB3YXMgY3JlYXRlZC4gSXQncyBkZWZpbmVkIGFzIGFuIGlucHV0IHZhbHVlLCBidXQgbm90IHVzZWQgaW4gdGhlIGJvZHkgb2YgdGhlIGZ1bmN0aW9uXG4gKiBJdCBpcyB1c2VkIHRvIHJlZnJlc2ggdGhlIGZvcm1hdHRpbmcgb2YgdGhlIHRhYmxlIGVhY2ggdGltZSBhIG5ldyBtZXNzYWdlIGlzIHVwZGF0ZWRcbiAqIEByZXR1cm5zIHtvYmplY3R9IFRoZSB2YWx1ZSBmcm9tIHRoZSBpbm5lciBmdW5jdGlvblxuICovXG5cbmNvbnN0IHJvd0hpZ2hsaWdodGluZyA9IGZ1bmN0aW9uIChcblx0dGhpczogTWFuYWdlZE9iamVjdCxcblx0Y3JpdGljYWxpdHlWYWx1ZTogc3RyaW5nIHwgbnVtYmVyLFxuXHRhRmlsdGVyZWRNZXNzYWdlczogYW55W10sXG5cdGhhc0FjdGl2ZUVudGl0eTogYm9vbGVhbixcblx0aXNBY3RpdmVFbnRpdHk6IGJvb2xlYW4sXG5cdGlzRHJhZnRSb290OiBzdHJpbmcsXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcblx0Li4uYXJnczogYW55W11cbik6IE1lc3NhZ2VUeXBlIHtcblx0Y29uc3QgaXNOZXdPYmplY3QgPSAhaGFzQWN0aXZlRW50aXR5ICYmICFpc0FjdGl2ZUVudGl0eTtcblx0bGV0IGlIaWdoZXN0Q3JpdGljYWxpdHlWYWx1ZTogbnVtYmVyID0gLTE7XG5cdGlmIChhRmlsdGVyZWRNZXNzYWdlcyAmJiBhRmlsdGVyZWRNZXNzYWdlcy5sZW5ndGggPiAwKSB7XG5cdFx0Y29uc3Qgc0N1cnJlbnRDb250ZXh0UGF0aCA9IHRoaXMuZ2V0QmluZGluZ0NvbnRleHQoKT8uZ2V0UGF0aCgpO1xuXHRcdGFGaWx0ZXJlZE1lc3NhZ2VzLmZvckVhY2goKG9NZXNzYWdlOiBhbnkpID0+IHtcblx0XHRcdGlmIChvTWVzc2FnZS5hVGFyZ2V0c1swXS5pbmRleE9mKHNDdXJyZW50Q29udGV4dFBhdGgpID09PSAwICYmIGlIaWdoZXN0Q3JpdGljYWxpdHlWYWx1ZSA8IGdldE1lc3NhZ2V0eXBlT3JkZXIob01lc3NhZ2UudHlwZSkpIHtcblx0XHRcdFx0aUhpZ2hlc3RDcml0aWNhbGl0eVZhbHVlID0gZ2V0TWVzc2FnZXR5cGVPcmRlcihvTWVzc2FnZS50eXBlKTtcblx0XHRcdFx0Y3JpdGljYWxpdHlWYWx1ZSA9IG9NZXNzYWdlLnR5cGU7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblx0aWYgKHR5cGVvZiBjcml0aWNhbGl0eVZhbHVlICE9PSBcInN0cmluZ1wiKSB7XG5cdFx0c3dpdGNoIChjcml0aWNhbGl0eVZhbHVlKSB7XG5cdFx0XHRjYXNlIDE6XG5cdFx0XHRcdGNyaXRpY2FsaXR5VmFsdWUgPSBNZXNzYWdlVHlwZS5FcnJvcjtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIDI6XG5cdFx0XHRcdGNyaXRpY2FsaXR5VmFsdWUgPSBNZXNzYWdlVHlwZS5XYXJuaW5nO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgMzpcblx0XHRcdFx0Y3JpdGljYWxpdHlWYWx1ZSA9IE1lc3NhZ2VUeXBlLlN1Y2Nlc3M7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSA1OlxuXHRcdFx0XHRjcml0aWNhbGl0eVZhbHVlID0gTWVzc2FnZVR5cGUuSW5mb3JtYXRpb247XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0Y3JpdGljYWxpdHlWYWx1ZSA9IE1lc3NhZ2VUeXBlLk5vbmU7XG5cdFx0fVxuXHR9XG5cblx0aWYgKGNyaXRpY2FsaXR5VmFsdWUgPT09IE1lc3NhZ2VUeXBlLk5vbmUpIHtcblx0XHRpZiAoaXNEcmFmdFJvb3QgPT09IFwidHJ1ZVwiICYmIGlzTmV3T2JqZWN0KSB7XG5cdFx0XHRyZXR1cm4gTWVzc2FnZVR5cGUuSW5mb3JtYXRpb247XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiBNZXNzYWdlVHlwZS5Ob25lO1xuXHRcdH1cblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gY3JpdGljYWxpdHlWYWx1ZSBhcyBNZXNzYWdlVHlwZTtcblx0fVxufTtcbnJvd0hpZ2hsaWdodGluZy5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5UYWJsZUZvcm1hdHRlciNyb3dIaWdobGlnaHRpbmdcIjtcblxuY29uc3QgbmF2aWdhdGVkUm93ID0gZnVuY3Rpb24gKHRoaXM6IE1hbmFnZWRPYmplY3QsIHNEZWVwZXN0UGF0aDogc3RyaW5nKSB7XG5cdGNvbnN0IHNQYXRoID0gdGhpcy5nZXRCaW5kaW5nQ29udGV4dCgpPy5nZXRQYXRoKCk7XG5cdGlmIChzUGF0aCAmJiBzRGVlcGVzdFBhdGgpIHtcblx0XHRyZXR1cm4gc0RlZXBlc3RQYXRoLmluZGV4T2Yoc1BhdGgpID09PSAwO1xuXHR9IGVsc2Uge1xuXHRcdHJldHVybiBmYWxzZTtcblx0fVxufTtcbm5hdmlnYXRlZFJvdy5fX2Z1bmN0aW9uTmFtZSA9IFwic2FwLmZlLmNvcmUuZm9ybWF0dGVycy5UYWJsZUZvcm1hdHRlciNuYXZpZ2F0ZWRSb3dcIjtcblxuZnVuY3Rpb24gaXNSYXRpbmdJbmRpY2F0b3Iob0NvbnRyb2w6IGFueSk6IGJvb2xlYW4ge1xuXHRpZiAob0NvbnRyb2wuaXNBKFwic2FwLmZlLmNvcmUuY29udHJvbHMuRmllbGRXcmFwcGVyXCIpKSB7XG5cdFx0Y29uc3QgdkNvbnRlbnREaXNwbGF5ID0gQXJyYXkuaXNBcnJheShvQ29udHJvbC5nZXRDb250ZW50RGlzcGxheSgpKVxuXHRcdFx0PyBvQ29udHJvbC5nZXRDb250ZW50RGlzcGxheSgpWzBdXG5cdFx0XHQ6IG9Db250cm9sLmdldENvbnRlbnREaXNwbGF5KCk7XG5cdFx0aWYgKHZDb250ZW50RGlzcGxheSAmJiB2Q29udGVudERpc3BsYXkuaXNBKFwic2FwLm0uUmF0aW5nSW5kaWNhdG9yXCIpKSB7XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9XG5cdH1cblx0cmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gX3VwZGF0ZVN0eWxlQ2xhc3NGb3JSYXRpbmdJbmRpY2F0b3Iob0ZpZWxkV3JhcHBlcjogYW55LCBiTGFzdDogYm9vbGVhbikge1xuXHRjb25zdCB2Q29udGVudERpc3BsYXkgPSBBcnJheS5pc0FycmF5KG9GaWVsZFdyYXBwZXIuZ2V0Q29udGVudERpc3BsYXkoKSlcblx0XHQ/IG9GaWVsZFdyYXBwZXIuZ2V0Q29udGVudERpc3BsYXkoKVswXVxuXHRcdDogb0ZpZWxkV3JhcHBlci5nZXRDb250ZW50RGlzcGxheSgpO1xuXHRjb25zdCB2Q29udGVudEVkaXQgPSBBcnJheS5pc0FycmF5KG9GaWVsZFdyYXBwZXIuZ2V0Q29udGVudEVkaXQoKSkgPyBvRmllbGRXcmFwcGVyLmdldENvbnRlbnRFZGl0KClbMF0gOiBvRmllbGRXcmFwcGVyLmdldENvbnRlbnRFZGl0KCk7XG5cblx0aWYgKGJMYXN0KSB7XG5cdFx0dkNvbnRlbnREaXNwbGF5LmFkZFN0eWxlQ2xhc3MoXCJzYXBVaU5vTWFyZ2luQm90dG9tXCIpO1xuXHRcdHZDb250ZW50RGlzcGxheS5hZGRTdHlsZUNsYXNzKFwic2FwVWlOb01hcmdpblRvcFwiKTtcblx0XHR2Q29udGVudEVkaXQucmVtb3ZlU3R5bGVDbGFzcyhcInNhcFVpVGlueU1hcmdpbkJvdHRvbVwiKTtcblx0fSBlbHNlIHtcblx0XHR2Q29udGVudERpc3BsYXkuYWRkU3R5bGVDbGFzcyhcInNhcFVpTm9NYXJnaW5Cb3R0b21cIik7XG5cdFx0dkNvbnRlbnREaXNwbGF5LnJlbW92ZVN0eWxlQ2xhc3MoXCJzYXBVaU5vTWFyZ2luVG9wXCIpO1xuXHRcdHZDb250ZW50RWRpdC5hZGRTdHlsZUNsYXNzKFwic2FwVWlUaW55TWFyZ2luQm90dG9tXCIpO1xuXHR9XG59XG5mdW5jdGlvbiBnZXRWQm94VmlzaWJpbGl0eSh0aGlzOiBUYWJsZSwgLi4uYXJnczogYW55W10pIHtcblx0Y29uc3QgYUl0ZW1zID0gdGhpcy5nZXRJdGVtcygpO1xuXHRsZXQgYkxhc3RFbGVtZW50Rm91bmQgPSBmYWxzZTtcblx0Zm9yIChsZXQgaW5kZXggPSBhSXRlbXMubGVuZ3RoIC0gMTsgaW5kZXggPj0gMDsgaW5kZXgtLSkge1xuXHRcdGlmICghYkxhc3RFbGVtZW50Rm91bmQpIHtcblx0XHRcdGlmIChhcmdzW2luZGV4XSAhPT0gdHJ1ZSkge1xuXHRcdFx0XHRiTGFzdEVsZW1lbnRGb3VuZCA9IHRydWU7XG5cdFx0XHRcdGlmIChpc1JhdGluZ0luZGljYXRvcihhSXRlbXNbaW5kZXhdKSkge1xuXHRcdFx0XHRcdF91cGRhdGVTdHlsZUNsYXNzRm9yUmF0aW5nSW5kaWNhdG9yKGFJdGVtc1tpbmRleF0sIHRydWUpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGFJdGVtc1tpbmRleF0ucmVtb3ZlU3R5bGVDbGFzcyhcInNhcFVpVGlueU1hcmdpbkJvdHRvbVwiKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0gZWxzZSBpZiAoaXNSYXRpbmdJbmRpY2F0b3IoYUl0ZW1zW2luZGV4XSkpIHtcblx0XHRcdF91cGRhdGVTdHlsZUNsYXNzRm9yUmF0aW5nSW5kaWNhdG9yKGFJdGVtc1tpbmRleF0sIGZhbHNlKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0YUl0ZW1zW2luZGV4XS5hZGRTdHlsZUNsYXNzKFwic2FwVWlUaW55TWFyZ2luQm90dG9tXCIpO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gdHJ1ZTtcbn1cbmdldFZCb3hWaXNpYmlsaXR5Ll9fZnVuY3Rpb25OYW1lID0gXCJzYXAuZmUuY29yZS5mb3JtYXR0ZXJzLlRhYmxlRm9ybWF0dGVyI2dldFZCb3hWaXNpYmlsaXR5XCI7XG5cbi8vIFNlZSBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay9mdW5jdGlvbnMuaHRtbCN0aGlzLXBhcmFtZXRlcnMgZm9yIG1vcmUgZGV0YWlsIG9uIHRoaXMgd2VpcmQgc3ludGF4XG4vKipcbiAqIENvbGxlY3Rpb24gb2YgdGFibGUgZm9ybWF0dGVycy5cbiAqXG4gKiBAcGFyYW0ge29iamVjdH0gdGhpcyBUaGUgY29udGV4dFxuICogQHBhcmFtIHtzdHJpbmd9IHNOYW1lIFRoZSBpbm5lciBmdW5jdGlvbiBuYW1lXG4gKiBAcGFyYW0ge29iamVjdFtdfSBvQXJncyBUaGUgaW5uZXIgZnVuY3Rpb24gcGFyYW1ldGVyc1xuICogQHJldHVybnMge29iamVjdH0gVGhlIHZhbHVlIGZyb20gdGhlIGlubmVyIGZ1bmN0aW9uXG4gKi9cbmNvbnN0IHRhYmxlRm9ybWF0dGVyID0gZnVuY3Rpb24gKHRoaXM6IG9iamVjdCwgc05hbWU6IHN0cmluZywgLi4ub0FyZ3M6IGFueVtdKTogYW55IHtcblx0aWYgKHRhYmxlRm9ybWF0dGVyLmhhc093blByb3BlcnR5KHNOYW1lKSkge1xuXHRcdHJldHVybiAodGFibGVGb3JtYXR0ZXIgYXMgYW55KVtzTmFtZV0uYXBwbHkodGhpcywgb0FyZ3MpO1xuXHR9IGVsc2Uge1xuXHRcdHJldHVybiBcIlwiO1xuXHR9XG59O1xuXG50YWJsZUZvcm1hdHRlci52YWxpZGF0ZUNyZWF0aW9uUm93RmllbGRzID0gdmFsaWRhdGVDcmVhdGlvblJvd0ZpZWxkcztcbnRhYmxlRm9ybWF0dGVyLnJvd0hpZ2hsaWdodGluZyA9IHJvd0hpZ2hsaWdodGluZztcbnRhYmxlRm9ybWF0dGVyLm5hdmlnYXRlZFJvdyA9IG5hdmlnYXRlZFJvdztcbnRhYmxlRm9ybWF0dGVyLmdldEVycm9yU3RhdHVzVGV4dFZpc2liaWxpdHlGb3JtYXR0ZXIgPSBnZXRFcnJvclN0YXR1c1RleHRWaXNpYmlsaXR5Rm9ybWF0dGVyO1xudGFibGVGb3JtYXR0ZXIuZ2V0VkJveFZpc2liaWxpdHkgPSBnZXRWQm94VmlzaWJpbGl0eTtcbnRhYmxlRm9ybWF0dGVyLmlzUmF0aW5nSW5kaWNhdG9yID0gaXNSYXRpbmdJbmRpY2F0b3I7IC8vIGZvciB1bml0IHRlc3RzXG5cbi8qKlxuICogQGdsb2JhbFxuICovXG5leHBvcnQgZGVmYXVsdCB0YWJsZUZvcm1hdHRlcjtcbiJdfQ==
@@ -1,6 +1,8 @@
1
- import ManagedObject from "sap/ui/base/ManagedObject";
2
1
  import { MessageType } from "sap/fe/core/formatters/TableFormatterTypes";
3
- const getMessagetypeOrder = function(messageType: string): number {
2
+ import Table from "sap/m/Table";
3
+ import ManagedObject from "sap/ui/base/ManagedObject";
4
+
5
+ const getMessagetypeOrder = function (messageType: string): number {
4
6
  switch (messageType) {
5
7
  case "Error":
6
8
  return 4;
@@ -23,14 +25,14 @@ const getMessagetypeOrder = function(messageType: string): number {
23
25
  * @param {object} fieldValidityObject Object holding the fields
24
26
  * @returns {boolean} `true` if all the fields in the creation row are valid, `false` otherwise
25
27
  */
26
- const validateCreationRowFields = function(fieldValidityObject?: any) {
28
+ const validateCreationRowFields = function (fieldValidityObject?: any) {
27
29
  if (!fieldValidityObject) {
28
30
  return false;
29
31
  }
30
32
  const fieldKeys = Object.keys(fieldValidityObject);
31
33
  return (
32
34
  fieldKeys.length > 0 &&
33
- fieldKeys.every(function(key) {
35
+ fieldKeys.every(function (key) {
34
36
  return fieldValidityObject[key]["validity"];
35
37
  })
36
38
  );
@@ -43,7 +45,7 @@ validateCreationRowFields.__functionName = "sap.fe.core.formatters.TableFormatte
43
45
  * @param {Array} aFilteredMessages Array of messages.
44
46
  * @returns {boolean} The value for Object Status visibility property.
45
47
  */
46
- const getErrorStatusTextVisibilityFormatter = function(
48
+ const getErrorStatusTextVisibilityFormatter = function (
47
49
  this: ManagedObject | any,
48
50
  semanticKeyHasDraftIndicator: string,
49
51
  aFilteredMessages: any
@@ -74,7 +76,7 @@ getErrorStatusTextVisibilityFormatter.__functionName = "sap.fe.core.formatters.T
74
76
  * @returns {object} The value from the inner function
75
77
  */
76
78
 
77
- const rowHighlighting = function(
79
+ const rowHighlighting = function (
78
80
  this: ManagedObject,
79
81
  criticalityValue: string | number,
80
82
  aFilteredMessages: any[],
@@ -126,7 +128,7 @@ const rowHighlighting = function(
126
128
  };
127
129
  rowHighlighting.__functionName = "sap.fe.core.formatters.TableFormatter#rowHighlighting";
128
130
 
129
- const navigatedRow = function(this: ManagedObject, sDeepestPath: string) {
131
+ const navigatedRow = function (this: ManagedObject, sDeepestPath: string) {
130
132
  const sPath = this.getBindingContext()?.getPath();
131
133
  if (sPath && sDeepestPath) {
132
134
  return sDeepestPath.indexOf(sPath) === 0;
@@ -136,6 +138,56 @@ const navigatedRow = function(this: ManagedObject, sDeepestPath: string) {
136
138
  };
137
139
  navigatedRow.__functionName = "sap.fe.core.formatters.TableFormatter#navigatedRow";
138
140
 
141
+ function isRatingIndicator(oControl: any): boolean {
142
+ if (oControl.isA("sap.fe.core.controls.FieldWrapper")) {
143
+ const vContentDisplay = Array.isArray(oControl.getContentDisplay())
144
+ ? oControl.getContentDisplay()[0]
145
+ : oControl.getContentDisplay();
146
+ if (vContentDisplay && vContentDisplay.isA("sap.m.RatingIndicator")) {
147
+ return true;
148
+ }
149
+ }
150
+ return false;
151
+ }
152
+ function _updateStyleClassForRatingIndicator(oFieldWrapper: any, bLast: boolean) {
153
+ const vContentDisplay = Array.isArray(oFieldWrapper.getContentDisplay())
154
+ ? oFieldWrapper.getContentDisplay()[0]
155
+ : oFieldWrapper.getContentDisplay();
156
+ const vContentEdit = Array.isArray(oFieldWrapper.getContentEdit()) ? oFieldWrapper.getContentEdit()[0] : oFieldWrapper.getContentEdit();
157
+
158
+ if (bLast) {
159
+ vContentDisplay.addStyleClass("sapUiNoMarginBottom");
160
+ vContentDisplay.addStyleClass("sapUiNoMarginTop");
161
+ vContentEdit.removeStyleClass("sapUiTinyMarginBottom");
162
+ } else {
163
+ vContentDisplay.addStyleClass("sapUiNoMarginBottom");
164
+ vContentDisplay.removeStyleClass("sapUiNoMarginTop");
165
+ vContentEdit.addStyleClass("sapUiTinyMarginBottom");
166
+ }
167
+ }
168
+ function getVBoxVisibility(this: Table, ...args: any[]) {
169
+ const aItems = this.getItems();
170
+ let bLastElementFound = false;
171
+ for (let index = aItems.length - 1; index >= 0; index--) {
172
+ if (!bLastElementFound) {
173
+ if (args[index] !== true) {
174
+ bLastElementFound = true;
175
+ if (isRatingIndicator(aItems[index])) {
176
+ _updateStyleClassForRatingIndicator(aItems[index], true);
177
+ } else {
178
+ aItems[index].removeStyleClass("sapUiTinyMarginBottom");
179
+ }
180
+ }
181
+ } else if (isRatingIndicator(aItems[index])) {
182
+ _updateStyleClassForRatingIndicator(aItems[index], false);
183
+ } else {
184
+ aItems[index].addStyleClass("sapUiTinyMarginBottom");
185
+ }
186
+ }
187
+ return true;
188
+ }
189
+ getVBoxVisibility.__functionName = "sap.fe.core.formatters.TableFormatter#getVBoxVisibility";
190
+
139
191
  // See https://www.typescriptlang.org/docs/handbook/functions.html#this-parameters for more detail on this weird syntax
140
192
  /**
141
193
  * Collection of table formatters.
@@ -145,19 +197,22 @@ navigatedRow.__functionName = "sap.fe.core.formatters.TableFormatter#navigatedRo
145
197
  * @param {object[]} oArgs The inner function parameters
146
198
  * @returns {object} The value from the inner function
147
199
  */
148
- const tableFormatters = function(this: object, sName: string, ...oArgs: any[]): any {
149
- if (tableFormatters.hasOwnProperty(sName)) {
150
- return (tableFormatters as any)[sName].apply(this, oArgs);
200
+ const tableFormatter = function (this: object, sName: string, ...oArgs: any[]): any {
201
+ if (tableFormatter.hasOwnProperty(sName)) {
202
+ return (tableFormatter as any)[sName].apply(this, oArgs);
151
203
  } else {
152
204
  return "";
153
205
  }
154
206
  };
155
207
 
156
- tableFormatters.validateCreationRowFields = validateCreationRowFields;
157
- tableFormatters.rowHighlighting = rowHighlighting;
158
- tableFormatters.navigatedRow = navigatedRow;
159
- tableFormatters.getErrorStatusTextVisibilityFormatter = getErrorStatusTextVisibilityFormatter;
208
+ tableFormatter.validateCreationRowFields = validateCreationRowFields;
209
+ tableFormatter.rowHighlighting = rowHighlighting;
210
+ tableFormatter.navigatedRow = navigatedRow;
211
+ tableFormatter.getErrorStatusTextVisibilityFormatter = getErrorStatusTextVisibilityFormatter;
212
+ tableFormatter.getVBoxVisibility = getVBoxVisibility;
213
+ tableFormatter.isRatingIndicator = isRatingIndicator; // for unit tests
214
+
160
215
  /**
161
216
  * @global
162
217
  */
163
- export default tableFormatters;
218
+ export default tableFormatter;
@@ -2,7 +2,7 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2021 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/fe/core/TemplateComponent", "sap/fe/core/helpers/ClassSupport"], function (TemplateComponent, ClassSupport) {
5
+ sap.ui.define(["sap/fe/core/helpers/ClassSupport", "sap/fe/core/TemplateComponent"], function (ClassSupport, TemplateComponent) {
6
6
  "use strict";
7
7
 
8
8
  var _dec, _dec2, _class, _class2, _descriptor;
@@ -80,4 +80,4 @@ sap.ui.define(["sap/fe/core/TemplateComponent", "sap/fe/core/helpers/ClassSuppor
80
80
  })), _class2)) || _class);
81
81
  return FPMComponent;
82
82
  }, false);
83
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbXBvbmVudC50cyJdLCJuYW1lcyI6WyJGUE1Db21wb25lbnQiLCJkZWZpbmVVSTVDbGFzcyIsIm1hbmlmZXN0IiwicHJvcGVydHkiLCJ0eXBlIiwiVGVtcGxhdGVDb21wb25lbnQiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO01BRU1BLFksV0FETEMsY0FBYyxDQUFDLDJCQUFELEVBQThCO0FBQUVDLElBQUFBLFFBQVEsRUFBRTtBQUFaLEdBQTlCLEMsVUFPYkMsUUFBUSxDQUFDO0FBQUVDLElBQUFBLElBQUksRUFBRTtBQUFSLEdBQUQsQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBTmlCQyxpQjs7Ozs7O1NBVVpMLFkiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBUZW1wbGF0ZUNvbXBvbmVudCBmcm9tIFwic2FwL2ZlL2NvcmUvVGVtcGxhdGVDb21wb25lbnRcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuXG4vKipcbiAqIENvbXBvbmVudCB0aGF0IGNhbiBiZSB1c2VkIGFzIGEgd3JhcHBlciBjb21wb25lbnQgZm9yIGN1c3RvbSBwYWdlcy5cbiAqXG4gKiBUaGUgY29tcG9uZW50IGNhbiBiZSB1c2VkIGluIGNhc2UgeW91IHdhbnQgdG8gdXNlIFNBUCBGaW9yaSBlbGVtZW50cyBCdWlsZGluZyBCbG9ja3Mgb3IgWE1MIHRlbXBsYXRlXG4gKiBjb25zdHJ1Y3Rpb25zLiBZb3UgY2FuIGVpdGhlciBleHRlbmQgdGhlIGNvbXBvbmVudCBhbmQgc2V0IHRoZSB2aWV3TmFtZSBhbmQgY29udGV4dFBhdGggd2l0aGluIHlvdXIgY29kZVxuICogb3IgeW91IGNhbiB1c2UgaXQgdG8gd3JhcCB5b3VyIGN1c3RvbSBYTUwgdmlldyBkaXJlY3RseSB0aGUgbWFuaWZlc3Qgd2hlbiB5b3UgZGVmaW5lIHlvdXIgY3VzdG9tIHBhZ2VcbiAqIHVuZGVyIHNhcHVpNS9yb3V0aW5nL3RhcmdldHM6XG4gKlxuICogPHByZT5cbiAqIFwibXlDdXN0b21QYWdlXCI6IHtcbiAqXHRcInR5cGVcIjogXCJDb21wb25lbnRcIixcbiAqXHRcImlkXCI6IFwibXlDdXN0b21QYWdlXCIsXG4gKlx0XCJuYW1lXCI6IFwic2FwLmZlLmNvcmUuZnBtXCIsXG4gKlx0XCJ0aXRsZVwiOiBcIk15IEN1c3RvbSBQYWdlXCIsXG4gKlx0XCJvcHRpb25zXCI6IHtcbiAqXHRcdFwic2V0dGluZ3NcIjoge1xuICpcdFx0XHRcInZpZXdOYW1lXCI6IFwibXlOYW1lc3BhY2UubXlWaWV3XCIsXG4gKlx0XHRcdFwiY29udGV4dFBhdGhcIjogXCIvTXlFbnRpdHlTZXRcIlxuICpcdFx0XHR9XG4gKlx0XHR9XG4gKlx0fVxuICogPC9wcmU+XG4gKlxuICogQG5hbWUgc2FwLmZlLmNvcmUuZnBtLkNvbXBvbmVudFxuICogQHB1YmxpY1xuICogQGV4cGVyaW1lbnRhbCBBcyBvZiB2ZXJzaW9uIDEuOTIuMFxuICogQHNpbmNlIDEuOTIuMFxuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5mcG0uQ29tcG9uZW50XCIsIHsgbWFuaWZlc3Q6IFwianNvblwiIH0pXG5jbGFzcyBGUE1Db21wb25lbnQgZXh0ZW5kcyBUZW1wbGF0ZUNvbXBvbmVudCB7XG5cdC8qKlxuXHQgKiBOYW1lIG9mIHRoZSBYTUwgdmlldyB3aGljaCBpcyB1c2VkIGZvciB0aGlzIHBhZ2UuIFRoZSBYTUwgdmlldyBjYW4gY29udGFpbiBTQVAgRmlvcmkgZWxlbWVudHMgQnVpbGRpbmcgQmxvY2tzIGFuZCBYTUwgdGVtcGxhdGUgY29uc3RydWN0aW9ucy5cblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHR2aWV3TmFtZSE6IHN0cmluZztcbn1cblxuZXhwb3J0IGRlZmF1bHQgRlBNQ29tcG9uZW50O1xuIl19
83
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbXBvbmVudC50cyJdLCJuYW1lcyI6WyJGUE1Db21wb25lbnQiLCJkZWZpbmVVSTVDbGFzcyIsIm1hbmlmZXN0IiwicHJvcGVydHkiLCJ0eXBlIiwiVGVtcGxhdGVDb21wb25lbnQiXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO01BRU1BLFksV0FETEMsY0FBYyxDQUFDLDJCQUFELEVBQThCO0FBQUVDLElBQUFBLFFBQVEsRUFBRTtBQUFaLEdBQTlCLEMsVUFPYkMsUUFBUSxDQUFDO0FBQUVDLElBQUFBLElBQUksRUFBRTtBQUFSLEdBQUQsQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBTmlCQyxpQjs7Ozs7O1NBVVpMLFkiLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IFRlbXBsYXRlQ29tcG9uZW50IGZyb20gXCJzYXAvZmUvY29yZS9UZW1wbGF0ZUNvbXBvbmVudFwiO1xuXG4vKipcbiAqIENvbXBvbmVudCB0aGF0IGNhbiBiZSB1c2VkIGFzIGEgd3JhcHBlciBjb21wb25lbnQgZm9yIGN1c3RvbSBwYWdlcy5cbiAqXG4gKiBUaGUgY29tcG9uZW50IGNhbiBiZSB1c2VkIGluIGNhc2UgeW91IHdhbnQgdG8gdXNlIFNBUCBGaW9yaSBlbGVtZW50cyBCdWlsZGluZyBCbG9ja3Mgb3IgWE1MIHRlbXBsYXRlXG4gKiBjb25zdHJ1Y3Rpb25zLiBZb3UgY2FuIGVpdGhlciBleHRlbmQgdGhlIGNvbXBvbmVudCBhbmQgc2V0IHRoZSB2aWV3TmFtZSBhbmQgY29udGV4dFBhdGggd2l0aGluIHlvdXIgY29kZVxuICogb3IgeW91IGNhbiB1c2UgaXQgdG8gd3JhcCB5b3VyIGN1c3RvbSBYTUwgdmlldyBkaXJlY3RseSB0aGUgbWFuaWZlc3Qgd2hlbiB5b3UgZGVmaW5lIHlvdXIgY3VzdG9tIHBhZ2VcbiAqIHVuZGVyIHNhcHVpNS9yb3V0aW5nL3RhcmdldHM6XG4gKlxuICogPHByZT5cbiAqIFwibXlDdXN0b21QYWdlXCI6IHtcbiAqXHRcInR5cGVcIjogXCJDb21wb25lbnRcIixcbiAqXHRcImlkXCI6IFwibXlDdXN0b21QYWdlXCIsXG4gKlx0XCJuYW1lXCI6IFwic2FwLmZlLmNvcmUuZnBtXCIsXG4gKlx0XCJ0aXRsZVwiOiBcIk15IEN1c3RvbSBQYWdlXCIsXG4gKlx0XCJvcHRpb25zXCI6IHtcbiAqXHRcdFwic2V0dGluZ3NcIjoge1xuICpcdFx0XHRcInZpZXdOYW1lXCI6IFwibXlOYW1lc3BhY2UubXlWaWV3XCIsXG4gKlx0XHRcdFwiY29udGV4dFBhdGhcIjogXCIvTXlFbnRpdHlTZXRcIlxuICpcdFx0XHR9XG4gKlx0XHR9XG4gKlx0fVxuICogPC9wcmU+XG4gKlxuICogQG5hbWUgc2FwLmZlLmNvcmUuZnBtLkNvbXBvbmVudFxuICogQHB1YmxpY1xuICogQGV4cGVyaW1lbnRhbCBBcyBvZiB2ZXJzaW9uIDEuOTIuMFxuICogQHNpbmNlIDEuOTIuMFxuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5mcG0uQ29tcG9uZW50XCIsIHsgbWFuaWZlc3Q6IFwianNvblwiIH0pXG5jbGFzcyBGUE1Db21wb25lbnQgZXh0ZW5kcyBUZW1wbGF0ZUNvbXBvbmVudCB7XG5cdC8qKlxuXHQgKiBOYW1lIG9mIHRoZSBYTUwgdmlldyB3aGljaCBpcyB1c2VkIGZvciB0aGlzIHBhZ2UuIFRoZSBYTUwgdmlldyBjYW4gY29udGFpbiBTQVAgRmlvcmkgZWxlbWVudHMgQnVpbGRpbmcgQmxvY2tzIGFuZCBYTUwgdGVtcGxhdGUgY29uc3RydWN0aW9ucy5cblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHR2aWV3TmFtZSE6IHN0cmluZztcbn1cblxuZXhwb3J0IGRlZmF1bHQgRlBNQ29tcG9uZW50O1xuIl19
@@ -1,5 +1,5 @@
1
- import TemplateComponent from "sap/fe/core/TemplateComponent";
2
1
  import { defineUI5Class, property } from "sap/fe/core/helpers/ClassSupport";
2
+ import TemplateComponent from "sap/fe/core/TemplateComponent";
3
3
 
4
4
  /**
5
5
  * Component that can be used as a wrapper component for custom pages.