@sapui5/sap.fe.macros 1.138.0 → 1.139.1

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 (210) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/macros/.library +1 -1
  3. package/src/sap/fe/macros/Breadcrumbs.js +269 -0
  4. package/src/sap/fe/macros/Breadcrumbs.tsx +243 -0
  5. package/src/sap/fe/macros/Chart.js +1 -1
  6. package/src/sap/fe/macros/Chart.tsx +1 -1
  7. package/src/sap/fe/macros/CommonHelper.js +2 -2
  8. package/src/sap/fe/macros/CommonHelper.ts +1 -1
  9. package/src/sap/fe/macros/Field.js +21 -4
  10. package/src/sap/fe/macros/Field.ts +21 -3
  11. package/src/sap/fe/macros/FooterContent.js +40 -10
  12. package/src/sap/fe/macros/FooterContent.tsx +44 -8
  13. package/src/sap/fe/macros/FormElement.js +2 -2
  14. package/src/sap/fe/macros/FormElement.ts +1 -2
  15. package/src/sap/fe/macros/MultiValueField.js +17 -4
  16. package/src/sap/fe/macros/MultiValueField.tsx +7 -2
  17. package/src/sap/fe/macros/RichTextEditor.js +30 -6
  18. package/src/sap/fe/macros/RichTextEditor.tsx +34 -7
  19. package/src/sap/fe/macros/Share.js +73 -40
  20. package/src/sap/fe/macros/Share.tsx +29 -1
  21. package/src/sap/fe/macros/ValueHelp.js +4 -29
  22. package/src/sap/fe/macros/ValueHelp.tsx +2 -43
  23. package/src/sap/fe/macros/ai/EasyFillButton.js +10 -4
  24. package/src/sap/fe/macros/ai/EasyFillButton.tsx +8 -1
  25. package/src/sap/fe/macros/ai/EasyFillDialog.js +25 -10
  26. package/src/sap/fe/macros/ai/EasyFillDialog.tsx +32 -23
  27. package/src/sap/fe/macros/ai/EasyFilterBar.js +30 -30
  28. package/src/sap/fe/macros/ai/EasyFilterBar.tsx +40 -43
  29. package/src/sap/fe/macros/ai/EasyFilterDataFetcher.js +11 -5
  30. package/src/sap/fe/macros/ai/EasyFilterDataFetcher.ts +14 -5
  31. package/src/sap/fe/macros/chart/ChartDelegate.js +4 -4
  32. package/src/sap/fe/macros/chart/ChartDelegate.ts +3 -3
  33. package/src/sap/fe/macros/chart/MdcChartTemplate.js +20 -6
  34. package/src/sap/fe/macros/chart/MdcChartTemplate.tsx +16 -8
  35. package/src/sap/fe/macros/controls/BuildingBlockObjectProperty.js +5 -1
  36. package/src/sap/fe/macros/controls/BuildingBlockObjectProperty.ts +4 -0
  37. package/src/sap/fe/macros/controls/FieldWrapper.js +9 -3
  38. package/src/sap/fe/macros/controls/FieldWrapper.ts +11 -2
  39. package/src/sap/fe/macros/controls/FilterBar.js +86 -3
  40. package/src/sap/fe/macros/controls/FilterBar.ts +97 -2
  41. package/src/sap/fe/macros/controls/RequiredFlexBox.js +62 -0
  42. package/src/sap/fe/macros/controls/RequiredFlexBox.tsx +20 -0
  43. package/src/sap/fe/macros/controls/Section.js +3 -2
  44. package/src/sap/fe/macros/controls/Section.ts +2 -1
  45. package/src/sap/fe/macros/controls/filterbar/VisualFilter.js +21 -11
  46. package/src/sap/fe/macros/controls/filterbar/VisualFilter.ts +25 -11
  47. package/src/sap/fe/macros/controls/filterbar/VisualFilterContainer.js +11 -2
  48. package/src/sap/fe/macros/controls/filterbar/VisualFilterContainer.ts +12 -1
  49. package/src/sap/fe/macros/controls/filterbar/utils/VisualFilterUtils.js +18 -1
  50. package/src/sap/fe/macros/controls/filterbar/utils/VisualFilterUtils.ts +20 -0
  51. package/src/sap/fe/macros/coreUI/CreateDialog.js +2 -2
  52. package/src/sap/fe/macros/coreUI/CreateDialog.tsx +1 -1
  53. package/src/sap/fe/macros/designtime/Designtime.helper.js +12 -2
  54. package/src/sap/fe/macros/designtime/Designtime.helper.ts +12 -0
  55. package/src/sap/fe/macros/draftIndicator/DraftIndicator.js +16 -5
  56. package/src/sap/fe/macros/draftIndicator/DraftIndicator.tsx +6 -1
  57. package/src/sap/fe/macros/field/FieldBaseDelegate.js +20 -8
  58. package/src/sap/fe/macros/field/FieldBaseDelegate.ts +34 -9
  59. package/src/sap/fe/macros/field/FieldFormatOptions.js +73 -44
  60. package/src/sap/fe/macros/field/FieldFormatOptions.ts +20 -2
  61. package/src/sap/fe/macros/field/FieldRuntime.js +38 -8
  62. package/src/sap/fe/macros/field/FieldRuntime.ts +65 -7
  63. package/src/sap/fe/macros/filter/FilterUtils.js +7 -1
  64. package/src/sap/fe/macros/filter/FilterUtils.ts +7 -0
  65. package/src/sap/fe/macros/filterBar/FilterBar.block.js +8 -2
  66. package/src/sap/fe/macros/filterBar/FilterBar.block.tsx +2 -5
  67. package/src/sap/fe/macros/filterBar/FilterBarAPI.js +8 -8
  68. package/src/sap/fe/macros/filterBar/FilterBarAPI.ts +8 -8
  69. package/src/sap/fe/macros/filterBar/designtime/FilterBar.designtime.js +3 -1
  70. package/src/sap/fe/macros/filterBar/designtime/FilterBar.designtime.ts +2 -0
  71. package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.js +1 -1
  72. package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.ts +1 -1
  73. package/src/sap/fe/macros/form/Form.block.js +6 -2
  74. package/src/sap/fe/macros/form/Form.block.ts +4 -1
  75. package/src/sap/fe/macros/form/FormActionButtons.fragment.xml +13 -2
  76. package/src/sap/fe/macros/form/FormContainer.fragment.xml +40 -0
  77. package/src/sap/fe/macros/form/FormContainerAPI.js +14 -16
  78. package/src/sap/fe/macros/form/FormContainerAPI.ts +13 -15
  79. package/src/sap/fe/macros/form/FormDelegate.js +20 -1
  80. package/src/sap/fe/macros/form/FormDelegate.ts +25 -0
  81. package/src/sap/fe/macros/formatters/TableFormatter.js +10 -1
  82. package/src/sap/fe/macros/formatters/TableFormatter.ts +14 -5
  83. package/src/sap/fe/macros/inlineEdit/InlineEdit.js +15 -3
  84. package/src/sap/fe/macros/inlineEdit/InlineEdit.ts +14 -2
  85. package/src/sap/fe/macros/internal/DataPoint.js +2 -1
  86. package/src/sap/fe/macros/internal/DataPoint.tsx +1 -0
  87. package/src/sap/fe/macros/internal/DataPointFormatOptions.js +11 -2
  88. package/src/sap/fe/macros/internal/DataPointFormatOptions.ts +3 -0
  89. package/src/sap/fe/macros/internal/FilterField.block.js +4 -2
  90. package/src/sap/fe/macros/internal/FilterField.block.ts +3 -1
  91. package/src/sap/fe/macros/internal/field/CheckBoxGroup.fragment.xml +25 -0
  92. package/src/sap/fe/macros/internal/field/DisplayStyle.js +52 -12
  93. package/src/sap/fe/macros/internal/field/DisplayStyle.tsx +54 -5
  94. package/src/sap/fe/macros/internal/field/EditStyle.js +5 -1
  95. package/src/sap/fe/macros/internal/field/EditStyle.tsx +4 -0
  96. package/src/sap/fe/macros/internal/field/FieldStructureHelper.js +9 -2
  97. package/src/sap/fe/macros/internal/field/FieldStructureHelper.ts +10 -0
  98. package/src/sap/fe/macros/internal/field/FieldStyles.js +1 -1
  99. package/src/sap/fe/macros/internal/field/FieldStyles.tsx +2 -1
  100. package/src/sap/fe/macros/internal/valuehelp/TableDelegate.js +4 -4
  101. package/src/sap/fe/macros/internal/valuehelp/TableDelegate.ts +3 -3
  102. package/src/sap/fe/macros/internal/valuehelp/ValueListDialogTable.fragment.xml +1 -0
  103. package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +11 -3
  104. package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.ts +12 -7
  105. package/src/sap/fe/macros/internal/valuehelp/ValueListTable.fragment.xml +1 -0
  106. package/src/sap/fe/macros/library.js +1 -1
  107. package/src/sap/fe/macros/mdc/adapter/StateHelper.js +11 -6
  108. package/src/sap/fe/macros/mdc/adapter/StateHelper.ts +12 -7
  109. package/src/sap/fe/macros/messagebundle.properties +37 -29
  110. package/src/sap/fe/macros/messagebundle_ar.properties +5 -3
  111. package/src/sap/fe/macros/messagebundle_bg.properties +6 -4
  112. package/src/sap/fe/macros/messagebundle_ca.properties +8 -6
  113. package/src/sap/fe/macros/messagebundle_cnr.properties +5 -3
  114. package/src/sap/fe/macros/messagebundle_cs.properties +4 -2
  115. package/src/sap/fe/macros/messagebundle_cy.properties +7 -5
  116. package/src/sap/fe/macros/messagebundle_da.properties +6 -4
  117. package/src/sap/fe/macros/messagebundle_de.properties +11 -9
  118. package/src/sap/fe/macros/messagebundle_el.properties +7 -5
  119. package/src/sap/fe/macros/messagebundle_en.properties +8 -6
  120. package/src/sap/fe/macros/messagebundle_en_GB.properties +8 -6
  121. package/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +8 -6
  122. package/src/sap/fe/macros/messagebundle_es.properties +6 -4
  123. package/src/sap/fe/macros/messagebundle_es_MX.properties +6 -4
  124. package/src/sap/fe/macros/messagebundle_et.properties +5 -3
  125. package/src/sap/fe/macros/messagebundle_fi.properties +8 -6
  126. package/src/sap/fe/macros/messagebundle_fr.properties +6 -4
  127. package/src/sap/fe/macros/messagebundle_fr_CA.properties +8 -6
  128. package/src/sap/fe/macros/messagebundle_hi.properties +6 -4
  129. package/src/sap/fe/macros/messagebundle_hr.properties +6 -4
  130. package/src/sap/fe/macros/messagebundle_hu.properties +4 -2
  131. package/src/sap/fe/macros/messagebundle_id.properties +8 -6
  132. package/src/sap/fe/macros/messagebundle_it.properties +4 -2
  133. package/src/sap/fe/macros/messagebundle_iw.properties +5 -3
  134. package/src/sap/fe/macros/messagebundle_ja.properties +5 -3
  135. package/src/sap/fe/macros/messagebundle_kk.properties +5 -3
  136. package/src/sap/fe/macros/messagebundle_ko.properties +4 -2
  137. package/src/sap/fe/macros/messagebundle_lt.properties +6 -4
  138. package/src/sap/fe/macros/messagebundle_lv.properties +5 -3
  139. package/src/sap/fe/macros/messagebundle_mk.properties +5 -3
  140. package/src/sap/fe/macros/messagebundle_ms.properties +8 -6
  141. package/src/sap/fe/macros/messagebundle_nl.properties +7 -5
  142. package/src/sap/fe/macros/messagebundle_no.properties +6 -4
  143. package/src/sap/fe/macros/messagebundle_pl.properties +6 -4
  144. package/src/sap/fe/macros/messagebundle_pt.properties +7 -5
  145. package/src/sap/fe/macros/messagebundle_pt_PT.properties +6 -4
  146. package/src/sap/fe/macros/messagebundle_ro.properties +7 -5
  147. package/src/sap/fe/macros/messagebundle_ru.properties +4 -2
  148. package/src/sap/fe/macros/messagebundle_sh.properties +5 -3
  149. package/src/sap/fe/macros/messagebundle_sk.properties +5 -3
  150. package/src/sap/fe/macros/messagebundle_sl.properties +6 -4
  151. package/src/sap/fe/macros/messagebundle_sr.properties +5 -3
  152. package/src/sap/fe/macros/messagebundle_sv.properties +5 -3
  153. package/src/sap/fe/macros/messagebundle_th.properties +4 -2
  154. package/src/sap/fe/macros/messagebundle_tr.properties +4 -2
  155. package/src/sap/fe/macros/messagebundle_uk.properties +10 -8
  156. package/src/sap/fe/macros/messagebundle_vi.properties +6 -4
  157. package/src/sap/fe/macros/messagebundle_zh_CN.properties +5 -3
  158. package/src/sap/fe/macros/messagebundle_zh_TW.properties +5 -3
  159. package/src/sap/fe/macros/messages/MessageButton.js +17 -19
  160. package/src/sap/fe/macros/messages/MessageButton.ts +24 -22
  161. package/src/sap/fe/macros/table/Action.js +24 -2
  162. package/src/sap/fe/macros/table/Action.ts +13 -0
  163. package/src/sap/fe/macros/table/ActionGroup.js +24 -2
  164. package/src/sap/fe/macros/table/ActionGroup.ts +13 -0
  165. package/src/sap/fe/macros/table/ActionGroupOverride.js +24 -2
  166. package/src/sap/fe/macros/table/ActionGroupOverride.ts +13 -0
  167. package/src/sap/fe/macros/table/ActionOverride.js +24 -2
  168. package/src/sap/fe/macros/table/ActionOverride.ts +13 -0
  169. package/src/sap/fe/macros/table/ActionsTemplating.js +73 -12
  170. package/src/sap/fe/macros/table/ActionsTemplating.tsx +69 -13
  171. package/src/sap/fe/macros/table/Column.js +3 -3
  172. package/src/sap/fe/macros/table/Column.ts +2 -2
  173. package/src/sap/fe/macros/table/MdcTableTemplate.js +20 -8
  174. package/src/sap/fe/macros/table/MdcTableTemplate.tsx +32 -6
  175. package/src/sap/fe/macros/table/QuickFilterSelector.js +35 -14
  176. package/src/sap/fe/macros/table/QuickFilterSelector.tsx +22 -3
  177. package/src/sap/fe/macros/table/Table.block.js +137 -108
  178. package/src/sap/fe/macros/table/Table.block.tsx +29 -2
  179. package/src/sap/fe/macros/table/Table.js +7 -1
  180. package/src/sap/fe/macros/table/Table.tsx +7 -1
  181. package/src/sap/fe/macros/table/TableAPI.js +150 -133
  182. package/src/sap/fe/macros/table/TableAPI.ts +20 -3
  183. package/src/sap/fe/macros/table/TableDefinition.js +4 -2
  184. package/src/sap/fe/macros/table/TableDefinition.ts +3 -1
  185. package/src/sap/fe/macros/table/TableRuntime.js +3 -3
  186. package/src/sap/fe/macros/table/TableRuntime.ts +2 -2
  187. package/src/sap/fe/macros/table/TableSizeHelper.js +3 -3
  188. package/src/sap/fe/macros/table/TableSizeHelper.ts +5 -2
  189. package/src/sap/fe/macros/table/TreeTable.js +7 -1
  190. package/src/sap/fe/macros/table/TreeTable.tsx +7 -1
  191. package/src/sap/fe/macros/table/delegates/TableDelegate.js +27 -20
  192. package/src/sap/fe/macros/table/delegates/TableDelegate.ts +35 -26
  193. package/src/sap/fe/macros/table/designtime/Table.designtime.js +3 -1
  194. package/src/sap/fe/macros/table/designtime/Table.designtime.ts +2 -0
  195. package/src/sap/fe/macros/table/massEdit/MassEditDialog.js +10 -10
  196. package/src/sap/fe/macros/table/massEdit/MassEditDialog.tsx +11 -9
  197. package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.js +8 -8
  198. package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.tsx +7 -6
  199. package/src/sap/fe/macros/table/massEdit/designtime/MassEdit.designtime.js +3 -1
  200. package/src/sap/fe/macros/table/massEdit/designtime/MassEdit.designtime.ts +2 -1
  201. package/src/sap/fe/macros/table/mixin/ContextMenuHandler.js +2 -1
  202. package/src/sap/fe/macros/table/mixin/ContextMenuHandler.ts +1 -0
  203. package/src/sap/fe/macros/table/mixin/TableHierarchy.js +4 -1
  204. package/src/sap/fe/macros/table/mixin/TableHierarchy.ts +3 -0
  205. package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.js +37 -8
  206. package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.ts +47 -16
  207. package/src/sap/fe/macros/visualfilters/VisualFilter.js +95 -6
  208. package/src/sap/fe/macros/visualfilters/VisualFilter.tsx +93 -2
  209. package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.js +15 -3
  210. package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.ts +17 -2
@@ -54,6 +54,7 @@ import { getMDCTableTemplate } from "sap/fe/macros/table/MdcTableTemplate";
54
54
  import TableAPI from "sap/fe/macros/table/TableAPI";
55
55
  import TableCreationOptions from "sap/fe/macros/table/TableCreationOptions";
56
56
  import FlexItemData from "sap/m/FlexItemData";
57
+ import type { OverflowToolbarPriority } from "sap/m/library";
57
58
  import { type TitleLevel } from "sap/ui/core/library";
58
59
  import type Context from "sap/ui/model/Context";
59
60
  import type ODataMetaModel from "sap/ui/model/odata/v4/ODataMetaModel";
@@ -97,6 +98,8 @@ type CommonCustomAction = {
97
98
  placement: "Before" | "After" | undefined;
98
99
  anchor: string | undefined;
99
100
  isAIOperation?: boolean;
101
+ priority?: OverflowToolbarPriority;
102
+ group?: number;
100
103
  _type: "Action" | "ActionOverride";
101
104
  };
102
105
  function safeGetAttribute(node: Element, name: string): string | undefined {
@@ -177,6 +180,14 @@ function getCommonCustomActionProperties(actionNode: Element): CommonCustomActio
177
180
  action["isAIOperation"] = getDynamicBooleanValueOfAttribute(actionNode, "isAIOperation");
178
181
  }
179
182
 
183
+ if (actionNode?.getAttribute("priority")) {
184
+ action["priority"] = safeGetAttribute(actionNode, "priority") as OverflowToolbarPriority;
185
+ }
186
+
187
+ if (actionNode?.getAttribute("group")) {
188
+ action["group"] = Number.parseInt(safeGetAttribute(actionNode, "group") ?? "", 10);
189
+ }
190
+
180
191
  return action;
181
192
  }
182
193
 
@@ -353,7 +364,7 @@ const getColumnTemplate = (element: Element): string | undefined => {
353
364
  }
354
365
  }
355
366
  }
356
- return aggregation?.outerHTML;
367
+ return aggregation?.outerHTML ?? element.getAttribute("template") ?? undefined;
357
368
  };
358
369
 
359
370
  const parseSimpleAggregation = (element: Element, aggregationName: string): Record<string, string> | undefined => {
@@ -572,6 +583,18 @@ export default class TableBlock extends BuildingBlockTemplatingBase {
572
583
  @blockAttribute({ type: "int", isPublic: true })
573
584
  threshold?: number;
574
585
 
586
+ /**
587
+ * Defines the layout options of the table popins. Only applies to responsive tables.
588
+ *
589
+ * Allowed values are `Block`, `GridLarge`, and `GridSmall`.<br/>
590
+ * - `Block`: Sets a block layout for rendering the table popins. The elements inside the popin container are rendered one below the other.<br/>
591
+ * - `GridLarge`: Sets a grid layout for rendering the table popins. The grid width for each table popin is comparatively larger than GridSmall, so this layout allows less content to be rendered in a single popin row.<br/>
592
+ * - `GridSmall`: Sets a grid layout for rendering the table popins. The grid width for each table popin is small, so this layout allows more content to be rendered in a single popin row.<br/>
593
+ * @public
594
+ */
595
+ @blockAttribute({ type: "string", allowedValues: ["Block", "GridLarge", "GridSmall"], isPublic: true })
596
+ private readonly popinLayout?: string;
597
+
575
598
  /**
576
599
  * ID of the FilterBar building block associated with the table.
577
600
  * @public
@@ -1062,6 +1085,7 @@ export default class TableBlock extends BuildingBlockTemplatingBase {
1062
1085
  TableBlock.addSetting(tableSettings, "disableCopyToClipboard", this.disableCopyToClipboard);
1063
1086
  TableBlock.addSetting(tableSettings, "scrollThreshold", this.scrollThreshold);
1064
1087
  TableBlock.addSetting(tableSettings, "threshold", this.threshold);
1088
+ TableBlock.addSetting(tableSettings, "popinLayout", this.popinLayout);
1065
1089
  TableBlock.addSetting(tableSettings, "selectionMode", this.selectionMode);
1066
1090
  TableBlock.addSetting(tableSettings, "type", this.type);
1067
1091
  if (this.quickVariantSelection?.quickFilters?.paths?.length) {
@@ -1177,7 +1201,9 @@ export default class TableBlock extends BuildingBlockTemplatingBase {
1177
1201
  enableOnSelect: action.enableOnSelect,
1178
1202
  visible: action.visible,
1179
1203
  enabled: action.enabled,
1180
- isAIOperation: action.isAIOperation
1204
+ isAIOperation: action.isAIOperation,
1205
+ priority: action.priority,
1206
+ group: action.group
1181
1207
  };
1182
1208
  if (action._type === "Action") {
1183
1209
  actionsSettings[key] = {
@@ -1347,6 +1373,7 @@ export default class TableBlock extends BuildingBlockTemplatingBase {
1347
1373
  disableCopyToClipboard={this.disableCopyToClipboard}
1348
1374
  scrollThreshold={this.scrollThreshold}
1349
1375
  threshold={this.tableDefinition.control.threshold ?? this.tableDefinition.annotation.threshold}
1376
+ popinLayout={this.popinLayout}
1350
1377
  isSearchable={this.isSearchable}
1351
1378
  busy={this.busy}
1352
1379
  initialLoad={this.initialLoad}
@@ -48,6 +48,12 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/buildingBlocks/templatin
48
48
  _inheritsLoose(Table, _BuildingBlockWithTem);
49
49
  var _proto = Table.prototype;
50
50
  _proto._fireEvent = function _fireEvent(ui5Event, _controller, eventId) {
51
+ const actions = this.getAggregation("actions");
52
+ if (actions) {
53
+ const action = actions.find(a => ui5Event.getParameter("id").endsWith("::" + a.getKey()));
54
+ action?.fireEvent(eventId, ui5Event.getParameters());
55
+ return;
56
+ }
51
57
  this.fireEvent(eventId, ui5Event.getParameters());
52
58
  };
53
59
  _proto.getLayoutData = function getLayoutData() {
@@ -161,4 +167,4 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/core/buildingBlocks/templatin
161
167
  _exports = Table;
162
168
  return _exports;
163
169
  }, false);
164
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUYWJsZSIsIl9kZWMiLCJkZWZpbmVVSTVDbGFzcyIsImNvbnZlcnRCdWlsZGluZ0Jsb2NrTWV0YWRhdGEiLCJUYWJsZUJsb2NrIiwiX2RlYzIiLCJ4bWxFdmVudEhhbmRsZXIiLCJfY2xhc3MiLCJfY2xhc3MyIiwiX0J1aWxkaW5nQmxvY2tXaXRoVGVtIiwicHJvcHMiLCJvdGhlcnMiLCJfdGhpcyIsImNhbGwiLCJjcmVhdGVQcm94eU1ldGhvZHMiLCJfZXhwb3J0cyIsIl9pbmhlcml0c0xvb3NlIiwiX3Byb3RvIiwicHJvdG90eXBlIiwiX2ZpcmVFdmVudCIsInVpNUV2ZW50IiwiX2NvbnRyb2xsZXIiLCJldmVudElkIiwiZmlyZUV2ZW50IiwiZ2V0UGFyYW1ldGVycyIsImdldExheW91dERhdGEiLCJGbGV4SXRlbURhdGEiLCJtYXhXaWR0aCIsInNldE1ldGFQYXRoIiwibWV0YVBhdGgiLCJzZXRQcm9wZXJ0eSIsImdldE1ldGFQYXRoIiwiZ2V0UHJvcGVydHkiLCJzZXRJZ25vcmVkRmllbGRzIiwiaWdub3JlZEZpZWxkcyIsImdldElnbm9yZWRGaWVsZHMiLCJhZGRDb2x1bW4iLCJjb2x1bW4iLCJhZGRBZ2dyZWdhdGlvbiIsInJlbW92ZUNvbHVtbiIsInJlbW92ZUFnZ3JlZ2F0aW9uIiwiYWRkQWN0aW9uIiwiYWN0aW9uIiwicmVtb3ZlQWN0aW9uIiwiY3JlYXRlQ29udGVudCIsIm93bmVyIiwic2hvdWxkUmViaW5kIiwiY29udGVudCIsImdldFJvd0JpbmRpbmciLCJnZXRDdXJyZW50Q29udGV4dHMiLCJsZW5ndGgiLCJyZWJpbmQiLCJCdWlsZGluZ0Jsb2NrV2l0aFRlbXBsYXRpbmciLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJUYWJsZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MsIHhtbEV2ZW50SGFuZGxlciwgdHlwZSBFbmhhbmNlV2l0aFVJNSwgdHlwZSBQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgdHlwZSBQYWdlQ29udHJvbGxlciBmcm9tIFwic2FwL2ZlL2NvcmUvUGFnZUNvbnRyb2xsZXJcIjtcbmltcG9ydCB0eXBlIFRlbXBsYXRlQ29tcG9uZW50IGZyb20gXCJzYXAvZmUvY29yZS9UZW1wbGF0ZUNvbXBvbmVudFwiO1xuaW1wb3J0IHsgY29udmVydEJ1aWxkaW5nQmxvY2tNZXRhZGF0YSB9IGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy90ZW1wbGF0aW5nL0J1aWxkaW5nQmxvY2tTdXBwb3J0XCI7XG5pbXBvcnQgQnVpbGRpbmdCbG9ja1dpdGhUZW1wbGF0aW5nIGZyb20gXCJzYXAvZmUvbWFjcm9zL2NvbnRyb2xzL0J1aWxkaW5nQmxvY2tXaXRoVGVtcGxhdGluZ1wiO1xuaW1wb3J0IHR5cGUgQWN0aW9uIGZyb20gXCJzYXAvZmUvbWFjcm9zL3RhYmxlL0FjdGlvblwiO1xuaW1wb3J0IHR5cGUgQ29sdW1uIGZyb20gXCJzYXAvZmUvbWFjcm9zL3RhYmxlL0NvbHVtblwiO1xuaW1wb3J0IFRhYmxlQmxvY2sgZnJvbSBcInNhcC9mZS9tYWNyb3MvdGFibGUvVGFibGUuYmxvY2tcIjtcbmltcG9ydCB0eXBlIFRhYmxlQVBJIGZyb20gXCJzYXAvZmUvbWFjcm9zL3RhYmxlL1RhYmxlQVBJXCI7XG5pbXBvcnQgRmxleEl0ZW1EYXRhIGZyb20gXCJzYXAvbS9GbGV4SXRlbURhdGFcIjtcbmltcG9ydCB0eXBlIFVJNUV2ZW50IGZyb20gXCJzYXAvdWkvYmFzZS9FdmVudFwiO1xuaW1wb3J0IHR5cGUgeyAkQ29udHJvbFNldHRpbmdzIH0gZnJvbSBcInNhcC91aS9tZGMvQ29udHJvbFwiO1xuXG4vKipcbiAqIEJ1aWxkaW5nIGJsb2NrIHVzZWQgdG8gY3JlYXRlIGEgdGFibGUgYmFzZWQgb24gdGhlIG1ldGFkYXRhIHByb3ZpZGVkIGJ5IE9EYXRhIFY0LlxuICogPGJyPlxuICogVXN1YWxseSwgYSBMaW5lSXRlbSwgUHJlc2VudGF0aW9uVmFyaWFudCBvciBTZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50IGFubm90YXRpb24gaXMgZXhwZWN0ZWQsIGJ1dCB0aGUgVGFibGUgYnVpbGRpbmcgYmxvY2sgY2FuIGFsc28gYmUgdXNlZCB0byBkaXNwbGF5IGFuIEVudGl0eVNldC5cbiAqIDxicj5cbiAqIElmIGEgUHJlc2VudGF0aW9uVmFyaWFudCBpcyBzcGVjaWZpZWQsIHRoZW4gaXQgbXVzdCBoYXZlIFVJLkxpbmVJdGVtIGFzIHRoZSBmaXJzdCBwcm9wZXJ0eSBvZiB0aGUgVmlzdWFsaXphdGlvbnMuXG4gKiA8YnI+XG4gKiBJZiBhIFNlbGVjdGlvblByZXNlbnRhdGlvblZhcmlhbnQgaXMgc3BlY2lmaWVkLCB0aGVuIGl0IG11c3QgY29udGFpbiBhIHZhbGlkIFByZXNlbnRhdGlvblZhcmlhbnQgdGhhdCBhbHNvIGhhcyBhIFVJLkxpbmVJdGVtIGFzIHRoZSBmaXJzdCBwcm9wZXJ0eSBvZiB0aGUgVmlzdWFsaXphdGlvbnMuXG4gKlxuICogVXNhZ2UgZXhhbXBsZTpcbiAqIDxwcmU+XG4gKiBzYXAudWkucmVxdWlyZShbXCJzYXAvZmUvbWFjcm9zL3RhYmxlL1RhYmxlXCJdLCBmdW5jdGlvbihUYWJsZSkge1xuICogXHQgLi4uXG4gKiBcdCBuZXcgVGFibGUoXCJteVRhYmxlXCIsIHttZXRhUGF0aDpcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5MaW5lSXRlbVwifSlcbiAqIH0pXG4gKiA8L3ByZT5cbiAqXG4gKiBUaGlzIGlzIGN1cnJlbnRseSBhbiBleHBlcmltZW50YWwgQVBJIGJlY2F1c2UgdGhlIHN0cnVjdHVyZSBvZiB0aGUgZ2VuZXJhdGVkIGNvbnRlbnQgd2lsbCBjaGFuZ2UgdG8gY29tZSBjbG9zZXIgdG8gdGhlIFRhYmxlIHRoYXQgeW91IGdldCBvdXQgb2YgdGVtcGxhdGVzLlxuICogVGhlIHB1YmxpYyBtZXRob2QgYW5kIHByb3BlcnR5IHdpbGwgbm90IGNoYW5nZSBidXQgdGhlIGludGVybmFsIHN0cnVjdHVyZSB3aWxsIHNvIGJlIGNhcmVmdWwgb24geW91ciB1c2FnZS5cbiAqIEBwdWJsaWNcbiAqIEBleHBlcmltZW50YWxcbiAqIEBzaW5jZSAxLjEyNC4wXG4gKiBAbWl4ZXMgc2FwLmZlLm1hY3Jvcy5UYWJsZVxuICovXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUubWFjcm9zLnRhYmxlLlRhYmxlXCIsIGNvbnZlcnRCdWlsZGluZ0Jsb2NrTWV0YWRhdGEoVGFibGVCbG9jaykpXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUYWJsZSBleHRlbmRzIEJ1aWxkaW5nQmxvY2tXaXRoVGVtcGxhdGluZyB7XG5cdGNvbnN0cnVjdG9yKHByb3BzPzogUHJvcGVydGllc09mPFRhYmxlQmxvY2s+ICYgJENvbnRyb2xTZXR0aW5ncywgb3RoZXJzPzogJENvbnRyb2xTZXR0aW5ncykge1xuXHRcdHN1cGVyKHByb3BzLCBvdGhlcnMpO1xuXHRcdHRoaXMuY3JlYXRlUHJveHlNZXRob2RzKFtcblx0XHRcdFwiZ2V0U2VsZWN0ZWRDb250ZXh0c1wiLFxuXHRcdFx0XCJhZGRNZXNzYWdlXCIsXG5cdFx0XHRcInJlbW92ZU1lc3NhZ2VcIixcblx0XHRcdFwicmVmcmVzaFwiLFxuXHRcdFx0XCJnZXRQcmVzZW50YXRpb25WYXJpYW50XCIsXG5cdFx0XHRcInNldFByZXNlbnRhdGlvblZhcmlhbnRcIixcblx0XHRcdFwiZ2V0Q3VycmVudFZhcmlhbnRLZXlcIixcblx0XHRcdFwic2V0Q3VycmVudFZhcmlhbnRLZXlcIixcblx0XHRcdFwiZ2V0U2VsZWN0aW9uVmFyaWFudFwiLFxuXHRcdFx0XCJzZXRTZWxlY3Rpb25WYXJpYW50XCJcblx0XHRdKTtcblx0fVxuXG5cdEB4bWxFdmVudEhhbmRsZXIoKVxuXHRfZmlyZUV2ZW50KHVpNUV2ZW50OiBVSTVFdmVudCwgX2NvbnRyb2xsZXI6IFBhZ2VDb250cm9sbGVyLCBldmVudElkOiBzdHJpbmcpOiB2b2lkIHtcblx0XHR0aGlzLmZpcmVFdmVudChldmVudElkLCB1aTVFdmVudC5nZXRQYXJhbWV0ZXJzKCkpO1xuXHR9XG5cblx0Z2V0TGF5b3V0RGF0YSgpOiBGbGV4SXRlbURhdGEge1xuXHRcdHJldHVybiBuZXcgRmxleEl0ZW1EYXRhKHsgbWF4V2lkdGg6IFwiMTAwJVwiIH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIHBhdGggdG8gdGhlIG1ldGFkYXRhIHRoYXQgc2hvdWxkIGJlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIHRhYmxlLlxuXHQgKiBAcGFyYW0gbWV0YVBhdGggVGhlIHBhdGggdG8gdGhlIG1ldGFkYXRhXG5cdCAqIEByZXR1cm5zIFJlZmVyZW5jZSB0byB0aGlzIGluIG9yZGVyIHRvIGFsbG93IG1ldGhvZCBjaGFpbmluZ1xuXHQgKiBAZXhwZXJpbWVudGFsXG5cdCAqIEBzaW5jZSAxLjEyNC4wXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdHNldE1ldGFQYXRoKG1ldGFQYXRoOiBzdHJpbmcpOiB0aGlzIHtcblx0XHRyZXR1cm4gdGhpcy5zZXRQcm9wZXJ0eShcIm1ldGFQYXRoXCIsIG1ldGFQYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBwYXRoIHRvIHRoZSBtZXRhZGF0YSB0aGF0IHNob3VsZCBiZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSB0YWJsZS5cblx0ICogQHJldHVybnMgVGhlIHBhdGggdG8gdGhlIG1ldGFkYXRhXG5cdCAqIEBleHBlcmltZW50YWxcblx0ICogQHNpbmNlIDEuMTI0LjBcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0Z2V0TWV0YVBhdGgoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5nZXRQcm9wZXJ0eShcIm1ldGFQYXRoXCIpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIGZpZWxkcyB0aGF0IHNob3VsZCBiZSBpZ25vcmVkIHdoZW4gZ2VuZXJhdGluZyB0aGUgdGFibGUuXG5cdCAqIEBwYXJhbSBpZ25vcmVkRmllbGRzIFRoZSBmaWVsZHMgdG8gaWdub3JlXG5cdCAqIEByZXR1cm5zIFJlZmVyZW5jZSB0byB0aGlzIGluIG9yZGVyIHRvIGFsbG93IG1ldGhvZCBjaGFpbmluZ1xuXHQgKiBAZXhwZXJpbWVudGFsXG5cdCAqIEBzaW5jZSAxLjEyNC4wXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdHNldElnbm9yZWRGaWVsZHMoaWdub3JlZEZpZWxkczogc3RyaW5nKTogdGhpcyB7XG5cdFx0cmV0dXJuIHRoaXMuc2V0UHJvcGVydHkoXCJpZ25vcmVkRmllbGRzXCIsIGlnbm9yZWRGaWVsZHMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldCB0aGUgZmllbGRzIHRoYXQgc2hvdWxkIGJlIGlnbm9yZWQgd2hlbiBnZW5lcmF0aW5nIHRoZSB0YWJsZS5cblx0ICogQHJldHVybnMgVGhlIHZhbHVlIG9mIHRoZSBpZ25vcmVkRmllbGRzIHByb3BlcnR5XG5cdCAqIEBleHBlcmltZW50YWxcblx0ICogQHNpbmNlIDEuMTI0LjBcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0Z2V0SWdub3JlZEZpZWxkcygpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLmdldFByb3BlcnR5KFwiaWdub3JlZEZpZWxkc1wiKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBBZGRzIGEgY29sdW1uIHRvIHRoZSB0YWJsZS5cblx0ICogQHBhcmFtIGNvbHVtbiBUaGUgY29sdW1uIHRvIGFkZFxuXHQgKiBAcmV0dXJucyBSZWZlcmVuY2UgdG8gdGhpcyBpbiBvcmRlciB0byBhbGxvdyBtZXRob2QgY2hhaW5pbmdcblx0ICogQGV4cGVyaW1lbnRhbFxuXHQgKiBAc2luY2UgMS4xMjQuMFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRhZGRDb2x1bW4oY29sdW1uOiBDb2x1bW4pOiB0aGlzIHtcblx0XHRyZXR1cm4gdGhpcy5hZGRBZ2dyZWdhdGlvbihcImNvbHVtbnNcIiwgY29sdW1uKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZW1vdmVzIGEgY29sdW1uIGZyb20gdGhlIHRhYmxlLlxuXHQgKiBAcGFyYW0gY29sdW1uIFRoZSBjb2x1bW4gdG8gcmVtb3ZlLCBvciBpdHMgaW5kZXggb3IgSURcblx0ICogQHJldHVybnMgVGhlIHJlbW92ZWQgY29sdW1uIG9yIG51bGxcblx0ICogQGV4cGVyaW1lbnRhbFxuXHQgKiBAc2luY2UgMS4xMjQuMFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRyZW1vdmVDb2x1bW4oY29sdW1uOiBudW1iZXIgfCBzdHJpbmcgfCBDb2x1bW4pOiBDb2x1bW4gfCBudWxsIHtcblx0XHRyZXR1cm4gdGhpcy5yZW1vdmVBZ2dyZWdhdGlvbihcImNvbHVtbnNcIiwgY29sdW1uKSBhcyBDb2x1bW4gfCBudWxsO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkZHMgYW4gYWN0aW9uIHRvIHRoZSB0YWJsZS5cblx0ICogQHBhcmFtIGFjdGlvbiBUaGUgYWN0aW9uIHRvIGFkZFxuXHQgKiBAcmV0dXJucyBSZWZlcmVuY2UgdG8gdGhpcyBpbiBvcmRlciB0byBhbGxvdyBtZXRob2QgY2hhaW5pbmdcblx0ICogQGV4cGVyaW1lbnRhbFxuXHQgKiBAc2luY2UgMS4xMjQuMFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRhZGRBY3Rpb24oYWN0aW9uOiBBY3Rpb24pOiB0aGlzIHtcblx0XHRyZXR1cm4gdGhpcy5hZGRBZ2dyZWdhdGlvbihcImFjdGlvbnNcIiwgYWN0aW9uKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZW1vdmVzIGFuIGFjdGlvbiBmcm9tIHRoZSB0YWJsZS5cblx0ICogQHBhcmFtIGFjdGlvbiBUaGUgYWN0aW9uIHRvIHJlbW92ZSwgb3IgaXRzIGluZGV4IG9yIElEXG5cdCAqIEByZXR1cm5zIFRoZSByZW1vdmVkIGFjdGlvbiBvciBudWxsXG5cdCAqIEBleHBlcmltZW50YWxcblx0ICogQHNpbmNlIDEuMTI0LjBcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0cmVtb3ZlQWN0aW9uKGFjdGlvbjogbnVtYmVyIHwgc3RyaW5nIHwgQWN0aW9uKTogQWN0aW9uIHwgbnVsbCB7XG5cdFx0cmV0dXJuIHRoaXMucmVtb3ZlQWdncmVnYXRpb24oXCJhY3Rpb25zXCIsIGFjdGlvbikgYXMgQWN0aW9uIHwgbnVsbDtcblx0fVxuXG5cdGFzeW5jIGNyZWF0ZUNvbnRlbnQob3duZXI6IEVuaGFuY2VXaXRoVUk1PFRlbXBsYXRlQ29tcG9uZW50Pik6IFByb21pc2U8dm9pZD4ge1xuXHRcdGNvbnN0IHNob3VsZFJlYmluZCA9ICh0aGlzLmNvbnRlbnQgYXMgVGFibGVBUEkpPy5jb250ZW50LmdldFJvd0JpbmRpbmcoKT8uZ2V0Q3VycmVudENvbnRleHRzKCkubGVuZ3RoID4gMDtcblx0XHRhd2FpdCBzdXBlci5jcmVhdGVDb250ZW50KG93bmVyKTtcblx0XHRpZiAoc2hvdWxkUmViaW5kKSB7XG5cdFx0XHQodGhpcy5jb250ZW50IGFzIFRhYmxlQVBJKT8uY29udGVudC5yZWJpbmQ/LigpO1xuXHRcdH1cblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7RUFhQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUF2QkEsSUF5QnFCQSxLQUFLLElBQUFDLElBQUEsR0FEekJDLGNBQWMsQ0FBQywyQkFBMkIsRUFBRUMsNEJBQTRCLENBQUNDLFVBQVUsQ0FBQyxDQUFDLEVBQUFDLEtBQUEsR0FrQnBGQyxlQUFlLENBQUMsQ0FBQyxFQUFBTCxJQUFBLENBQUFNLE1BQUEsSUFBQUMsT0FBQSwwQkFBQUMscUJBQUE7SUFoQmxCLFNBQUFULE1BQVlVLEtBQW1ELEVBQUVDLE1BQXlCLEVBQUU7TUFBQSxJQUFBQyxLQUFBO01BQzNGQSxLQUFBLEdBQUFILHFCQUFBLENBQUFJLElBQUEsT0FBTUgsS0FBSyxFQUFFQyxNQUFNLENBQUM7TUFDcEJDLEtBQUEsQ0FBS0Us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
170
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUYWJsZSIsIl9kZWMiLCJkZWZpbmVVSTVDbGFzcyIsImNvbnZlcnRCdWlsZGluZ0Jsb2NrTWV0YWRhdGEiLCJUYWJsZUJsb2NrIiwiX2RlYzIiLCJ4bWxFdmVudEhhbmRsZXIiLCJfY2xhc3MiLCJfY2xhc3MyIiwiX0J1aWxkaW5nQmxvY2tXaXRoVGVtIiwicHJvcHMiLCJvdGhlcnMiLCJfdGhpcyIsImNhbGwiLCJjcmVhdGVQcm94eU1ldGhvZHMiLCJfZXhwb3J0cyIsIl9pbmhlcml0c0xvb3NlIiwiX3Byb3RvIiwicHJvdG90eXBlIiwiX2ZpcmVFdmVudCIsInVpNUV2ZW50IiwiX2NvbnRyb2xsZXIiLCJldmVudElkIiwiYWN0aW9ucyIsImdldEFnZ3JlZ2F0aW9uIiwiYWN0aW9uIiwiZmluZCIsImEiLCJnZXRQYXJhbWV0ZXIiLCJlbmRzV2l0aCIsImdldEtleSIsImZpcmVFdmVudCIsImdldFBhcmFtZXRlcnMiLCJnZXRMYXlvdXREYXRhIiwiRmxleEl0ZW1EYXRhIiwibWF4V2lkdGgiLCJzZXRNZXRhUGF0aCIsIm1ldGFQYXRoIiwic2V0UHJvcGVydHkiLCJnZXRNZXRhUGF0aCIsImdldFByb3BlcnR5Iiwic2V0SWdub3JlZEZpZWxkcyIsImlnbm9yZWRGaWVsZHMiLCJnZXRJZ25vcmVkRmllbGRzIiwiYWRkQ29sdW1uIiwiY29sdW1uIiwiYWRkQWdncmVnYXRpb24iLCJyZW1vdmVDb2x1bW4iLCJyZW1vdmVBZ2dyZWdhdGlvbiIsImFkZEFjdGlvbiIsInJlbW92ZUFjdGlvbiIsImNyZWF0ZUNvbnRlbnQiLCJvd25lciIsInNob3VsZFJlYmluZCIsImNvbnRlbnQiLCJnZXRSb3dCaW5kaW5nIiwiZ2V0Q3VycmVudENvbnRleHRzIiwibGVuZ3RoIiwicmViaW5kIiwiQnVpbGRpbmdCbG9ja1dpdGhUZW1wbGF0aW5nIiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsIk9iamVjdCIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiVGFibGUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCB4bWxFdmVudEhhbmRsZXIsIHR5cGUgRW5oYW5jZVdpdGhVSTUsIHR5cGUgUHJvcGVydGllc09mIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgUGFnZUNvbnRyb2xsZXIgZnJvbSBcInNhcC9mZS9jb3JlL1BhZ2VDb250cm9sbGVyXCI7XG5pbXBvcnQgdHlwZSBUZW1wbGF0ZUNvbXBvbmVudCBmcm9tIFwic2FwL2ZlL2NvcmUvVGVtcGxhdGVDb21wb25lbnRcIjtcbmltcG9ydCB7IGNvbnZlcnRCdWlsZGluZ0Jsb2NrTWV0YWRhdGEgfSBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvdGVtcGxhdGluZy9CdWlsZGluZ0Jsb2NrU3VwcG9ydFwiO1xuaW1wb3J0IEJ1aWxkaW5nQmxvY2tXaXRoVGVtcGxhdGluZyBmcm9tIFwic2FwL2ZlL21hY3Jvcy9jb250cm9scy9CdWlsZGluZ0Jsb2NrV2l0aFRlbXBsYXRpbmdcIjtcbmltcG9ydCB0eXBlIEFjdGlvbiBmcm9tIFwic2FwL2ZlL21hY3Jvcy90YWJsZS9BY3Rpb25cIjtcbmltcG9ydCB0eXBlIENvbHVtbiBmcm9tIFwic2FwL2ZlL21hY3Jvcy90YWJsZS9Db2x1bW5cIjtcbmltcG9ydCBUYWJsZUJsb2NrIGZyb20gXCJzYXAvZmUvbWFjcm9zL3RhYmxlL1RhYmxlLmJsb2NrXCI7XG5pbXBvcnQgdHlwZSBUYWJsZUFQSSBmcm9tIFwic2FwL2ZlL21hY3Jvcy90YWJsZS9UYWJsZUFQSVwiO1xuaW1wb3J0IEZsZXhJdGVtRGF0YSBmcm9tIFwic2FwL20vRmxleEl0ZW1EYXRhXCI7XG5pbXBvcnQgdHlwZSBVSTVFdmVudCBmcm9tIFwic2FwL3VpL2Jhc2UvRXZlbnRcIjtcbmltcG9ydCB0eXBlIHsgJENvbnRyb2xTZXR0aW5ncyB9IGZyb20gXCJzYXAvdWkvbWRjL0NvbnRyb2xcIjtcblxuLyoqXG4gKiBCdWlsZGluZyBibG9jayB1c2VkIHRvIGNyZWF0ZSBhIHRhYmxlIGJhc2VkIG9uIHRoZSBtZXRhZGF0YSBwcm92aWRlZCBieSBPRGF0YSBWNC5cbiAqIDxicj5cbiAqIFVzdWFsbHksIGEgTGluZUl0ZW0sIFByZXNlbnRhdGlvblZhcmlhbnQgb3IgU2VsZWN0aW9uUHJlc2VudGF0aW9uVmFyaWFudCBhbm5vdGF0aW9uIGlzIGV4cGVjdGVkLCBidXQgdGhlIFRhYmxlIGJ1aWxkaW5nIGJsb2NrIGNhbiBhbHNvIGJlIHVzZWQgdG8gZGlzcGxheSBhbiBFbnRpdHlTZXQuXG4gKiA8YnI+XG4gKiBJZiBhIFByZXNlbnRhdGlvblZhcmlhbnQgaXMgc3BlY2lmaWVkLCB0aGVuIGl0IG11c3QgaGF2ZSBVSS5MaW5lSXRlbSBhcyB0aGUgZmlyc3QgcHJvcGVydHkgb2YgdGhlIFZpc3VhbGl6YXRpb25zLlxuICogPGJyPlxuICogSWYgYSBTZWxlY3Rpb25QcmVzZW50YXRpb25WYXJpYW50IGlzIHNwZWNpZmllZCwgdGhlbiBpdCBtdXN0IGNvbnRhaW4gYSB2YWxpZCBQcmVzZW50YXRpb25WYXJpYW50IHRoYXQgYWxzbyBoYXMgYSBVSS5MaW5lSXRlbSBhcyB0aGUgZmlyc3QgcHJvcGVydHkgb2YgdGhlIFZpc3VhbGl6YXRpb25zLlxuICpcbiAqIFVzYWdlIGV4YW1wbGU6XG4gKiA8cHJlPlxuICogc2FwLnVpLnJlcXVpcmUoW1wic2FwL2ZlL21hY3Jvcy90YWJsZS9UYWJsZVwiXSwgZnVuY3Rpb24oVGFibGUpIHtcbiAqIFx0IC4uLlxuICogXHQgbmV3IFRhYmxlKFwibXlUYWJsZVwiLCB7bWV0YVBhdGg6XCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuTGluZUl0ZW1cIn0pXG4gKiB9KVxuICogPC9wcmU+XG4gKlxuICogVGhpcyBpcyBjdXJyZW50bHkgYW4gZXhwZXJpbWVudGFsIEFQSSBiZWNhdXNlIHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIGdlbmVyYXRlZCBjb250ZW50IHdpbGwgY2hhbmdlIHRvIGNvbWUgY2xvc2VyIHRvIHRoZSBUYWJsZSB0aGF0IHlvdSBnZXQgb3V0IG9mIHRlbXBsYXRlcy5cbiAqIFRoZSBwdWJsaWMgbWV0aG9kIGFuZCBwcm9wZXJ0eSB3aWxsIG5vdCBjaGFuZ2UgYnV0IHRoZSBpbnRlcm5hbCBzdHJ1Y3R1cmUgd2lsbCBzbyBiZSBjYXJlZnVsIG9uIHlvdXIgdXNhZ2UuXG4gKiBAcHVibGljXG4gKiBAZXhwZXJpbWVudGFsXG4gKiBAc2luY2UgMS4xMjQuMFxuICogQG1peGVzIHNhcC5mZS5tYWNyb3MuVGFibGVcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy50YWJsZS5UYWJsZVwiLCBjb252ZXJ0QnVpbGRpbmdCbG9ja01ldGFkYXRhKFRhYmxlQmxvY2spKVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGFibGUgZXh0ZW5kcyBCdWlsZGluZ0Jsb2NrV2l0aFRlbXBsYXRpbmcge1xuXHRjb25zdHJ1Y3Rvcihwcm9wcz86IFByb3BlcnRpZXNPZjxUYWJsZUJsb2NrPiAmICRDb250cm9sU2V0dGluZ3MsIG90aGVycz86ICRDb250cm9sU2V0dGluZ3MpIHtcblx0XHRzdXBlcihwcm9wcywgb3RoZXJzKTtcblx0XHR0aGlzLmNyZWF0ZVByb3h5TWV0aG9kcyhbXG5cdFx0XHRcImdldFNlbGVjdGVkQ29udGV4dHNcIixcblx0XHRcdFwiYWRkTWVzc2FnZVwiLFxuXHRcdFx0XCJyZW1vdmVNZXNzYWdlXCIsXG5cdFx0XHRcInJlZnJlc2hcIixcblx0XHRcdFwiZ2V0UHJlc2VudGF0aW9uVmFyaWFudFwiLFxuXHRcdFx0XCJzZXRQcmVzZW50YXRpb25WYXJpYW50XCIsXG5cdFx0XHRcImdldEN1cnJlbnRWYXJpYW50S2V5XCIsXG5cdFx0XHRcInNldEN1cnJlbnRWYXJpYW50S2V5XCIsXG5cdFx0XHRcImdldFNlbGVjdGlvblZhcmlhbnRcIixcblx0XHRcdFwic2V0U2VsZWN0aW9uVmFyaWFudFwiXG5cdFx0XSk7XG5cdH1cblxuXHRAeG1sRXZlbnRIYW5kbGVyKClcblx0X2ZpcmVFdmVudCh1aTVFdmVudDogVUk1RXZlbnQ8eyBpZDogc3RyaW5nIH0+LCBfY29udHJvbGxlcjogUGFnZUNvbnRyb2xsZXIsIGV2ZW50SWQ6IHN0cmluZyk6IHZvaWQge1xuXHRcdGNvbnN0IGFjdGlvbnMgPSB0aGlzLmdldEFnZ3JlZ2F0aW9uKFwiYWN0aW9uc1wiKSBhcyBFbmhhbmNlV2l0aFVJNTxBY3Rpb24+W10gfCB1bmRlZmluZWQ7XG5cdFx0aWYgKGFjdGlvbnMpIHtcblx0XHRcdGNvbnN0IGFjdGlvbiA9IGFjdGlvbnMuZmluZCgoYSkgPT4gdWk1RXZlbnQuZ2V0UGFyYW1ldGVyKFwiaWRcIikuZW5kc1dpdGgoXCI6OlwiICsgYS5nZXRLZXkoKSkpO1xuXHRcdFx0YWN0aW9uPy5maXJlRXZlbnQoZXZlbnRJZCwgdWk1RXZlbnQuZ2V0UGFyYW1ldGVycygpKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0dGhpcy5maXJlRXZlbnQoZXZlbnRJZCwgdWk1RXZlbnQuZ2V0UGFyYW1ldGVycygpKTtcblx0fVxuXG5cdGdldExheW91dERhdGEoKTogRmxleEl0ZW1EYXRhIHtcblx0XHRyZXR1cm4gbmV3IEZsZXhJdGVtRGF0YSh7IG1heFdpZHRoOiBcIjEwMCVcIiB9KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBwYXRoIHRvIHRoZSBtZXRhZGF0YSB0aGF0IHNob3VsZCBiZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSB0YWJsZS5cblx0ICogQHBhcmFtIG1ldGFQYXRoIFRoZSBwYXRoIHRvIHRoZSBtZXRhZGF0YVxuXHQgKiBAcmV0dXJucyBSZWZlcmVuY2UgdG8gdGhpcyBpbiBvcmRlciB0byBhbGxvdyBtZXRob2QgY2hhaW5pbmdcblx0ICogQGV4cGVyaW1lbnRhbFxuXHQgKiBAc2luY2UgMS4xMjQuMFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRzZXRNZXRhUGF0aChtZXRhUGF0aDogc3RyaW5nKTogdGhpcyB7XG5cdFx0cmV0dXJuIHRoaXMuc2V0UHJvcGVydHkoXCJtZXRhUGF0aFwiLCBtZXRhUGF0aCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgcGF0aCB0byB0aGUgbWV0YWRhdGEgdGhhdCBzaG91bGQgYmUgdXNlZCB0byBnZW5lcmF0ZSB0aGUgdGFibGUuXG5cdCAqIEByZXR1cm5zIFRoZSBwYXRoIHRvIHRoZSBtZXRhZGF0YVxuXHQgKiBAZXhwZXJpbWVudGFsXG5cdCAqIEBzaW5jZSAxLjEyNC4wXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGdldE1ldGFQYXRoKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMuZ2V0UHJvcGVydHkoXCJtZXRhUGF0aFwiKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBmaWVsZHMgdGhhdCBzaG91bGQgYmUgaWdub3JlZCB3aGVuIGdlbmVyYXRpbmcgdGhlIHRhYmxlLlxuXHQgKiBAcGFyYW0gaWdub3JlZEZpZWxkcyBUaGUgZmllbGRzIHRvIGlnbm9yZVxuXHQgKiBAcmV0dXJucyBSZWZlcmVuY2UgdG8gdGhpcyBpbiBvcmRlciB0byBhbGxvdyBtZXRob2QgY2hhaW5pbmdcblx0ICogQGV4cGVyaW1lbnRhbFxuXHQgKiBAc2luY2UgMS4xMjQuMFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRzZXRJZ25vcmVkRmllbGRzKGlnbm9yZWRGaWVsZHM6IHN0cmluZyk6IHRoaXMge1xuXHRcdHJldHVybiB0aGlzLnNldFByb3BlcnR5KFwiaWdub3JlZEZpZWxkc1wiLCBpZ25vcmVkRmllbGRzKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXQgdGhlIGZpZWxkcyB0aGF0IHNob3VsZCBiZSBpZ25vcmVkIHdoZW4gZ2VuZXJhdGluZyB0aGUgdGFibGUuXG5cdCAqIEByZXR1cm5zIFRoZSB2YWx1ZSBvZiB0aGUgaWdub3JlZEZpZWxkcyBwcm9wZXJ0eVxuXHQgKiBAZXhwZXJpbWVudGFsXG5cdCAqIEBzaW5jZSAxLjEyNC4wXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGdldElnbm9yZWRGaWVsZHMoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5nZXRQcm9wZXJ0eShcImlnbm9yZWRGaWVsZHNcIik7XG5cdH1cblxuXHQvKipcblx0ICogQWRkcyBhIGNvbHVtbiB0byB0aGUgdGFibGUuXG5cdCAqIEBwYXJhbSBjb2x1bW4gVGhlIGNvbHVtbiB0byBhZGRcblx0ICogQHJldHVybnMgUmVmZXJlbmNlIHRvIHRoaXMgaW4gb3JkZXIgdG8gYWxsb3cgbWV0aG9kIGNoYWluaW5nXG5cdCAqIEBleHBlcmltZW50YWxcblx0ICogQHNpbmNlIDEuMTI0LjBcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0YWRkQ29sdW1uKGNvbHVtbjogQ29sdW1uKTogdGhpcyB7XG5cdFx0cmV0dXJuIHRoaXMuYWRkQWdncmVnYXRpb24oXCJjb2x1bW5zXCIsIGNvbHVtbik7XG5cdH1cblxuXHQvKipcblx0ICogUmVtb3ZlcyBhIGNvbHVtbiBmcm9tIHRoZSB0YWJsZS5cblx0ICogQHBhcmFtIGNvbHVtbiBUaGUgY29sdW1uIHRvIHJlbW92ZSwgb3IgaXRzIGluZGV4IG9yIElEXG5cdCAqIEByZXR1cm5zIFRoZSByZW1vdmVkIGNvbHVtbiBvciBudWxsXG5cdCAqIEBleHBlcmltZW50YWxcblx0ICogQHNpbmNlIDEuMTI0LjBcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0cmVtb3ZlQ29sdW1uKGNvbHVtbjogbnVtYmVyIHwgc3RyaW5nIHwgQ29sdW1uKTogQ29sdW1uIHwgbnVsbCB7XG5cdFx0cmV0dXJuIHRoaXMucmVtb3ZlQWdncmVnYXRpb24oXCJjb2x1bW5zXCIsIGNvbHVtbikgYXMgQ29sdW1uIHwgbnVsbDtcblx0fVxuXG5cdC8qKlxuXHQgKiBBZGRzIGFuIGFjdGlvbiB0byB0aGUgdGFibGUuXG5cdCAqIEBwYXJhbSBhY3Rpb24gVGhlIGFjdGlvbiB0byBhZGRcblx0ICogQHJldHVybnMgUmVmZXJlbmNlIHRvIHRoaXMgaW4gb3JkZXIgdG8gYWxsb3cgbWV0aG9kIGNoYWluaW5nXG5cdCAqIEBleHBlcmltZW50YWxcblx0ICogQHNpbmNlIDEuMTI0LjBcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0YWRkQWN0aW9uKGFjdGlvbjogQWN0aW9uKTogdGhpcyB7XG5cdFx0cmV0dXJuIHRoaXMuYWRkQWdncmVnYXRpb24oXCJhY3Rpb25zXCIsIGFjdGlvbik7XG5cdH1cblxuXHQvKipcblx0ICogUmVtb3ZlcyBhbiBhY3Rpb24gZnJvbSB0aGUgdGFibGUuXG5cdCAqIEBwYXJhbSBhY3Rpb24gVGhlIGFjdGlvbiB0byByZW1vdmUsIG9yIGl0cyBpbmRleCBvciBJRFxuXHQgKiBAcmV0dXJucyBUaGUgcmVtb3ZlZCBhY3Rpb24gb3IgbnVsbFxuXHQgKiBAZXhwZXJpbWVudGFsXG5cdCAqIEBzaW5jZSAxLjEyNC4wXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdHJlbW92ZUFjdGlvbihhY3Rpb246IG51bWJlciB8IHN0cmluZyB8IEFjdGlvbik6IEFjdGlvbiB8IG51bGwge1xuXHRcdHJldHVybiB0aGlzLnJlbW92ZUFnZ3JlZ2F0aW9uKFwiYWN0aW9uc1wiLCBhY3Rpb24pIGFzIEFjdGlvbiB8IG51bGw7XG5cdH1cblxuXHRhc3luYyBjcmVhdGVDb250ZW50KG93bmVyOiBFbmhhbmNlV2l0aFVJNTxUZW1wbGF0ZUNvbXBvbmVudD4pOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRjb25zdCBzaG91bGRSZWJpbmQgPSAodGhpcy5jb250ZW50IGFzIFRhYmxlQVBJKT8uY29udGVudC5nZXRSb3dCaW5kaW5nKCk/LmdldEN1cnJlbnRDb250ZXh0cygpLmxlbmd0aCA+IDA7XG5cdFx0YXdhaXQgc3VwZXIuY3JlYXRlQ29udGVudChvd25lcik7XG5cdFx0aWYgKHNob3VsZFJlYmluZCkge1xuXHRcdFx0KHRoaXMuY29udGVudCBhcyBUYWJsZUFQSSk/LmNvbnRlbnQucmViaW5kPy4oKTtcblx0XHR9XG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0VBYUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7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
@@ -54,7 +54,13 @@ export default class Table extends BuildingBlockWithTemplating {
54
54
  }
55
55
 
56
56
  @xmlEventHandler()
57
- _fireEvent(ui5Event: UI5Event, _controller: PageController, eventId: string): void {
57
+ _fireEvent(ui5Event: UI5Event<{ id: string }>, _controller: PageController, eventId: string): void {
58
+ const actions = this.getAggregation("actions") as EnhanceWithUI5<Action>[] | undefined;
59
+ if (actions) {
60
+ const action = actions.find((a) => ui5Event.getParameter("id").endsWith("::" + a.getKey()));
61
+ action?.fireEvent(eventId, ui5Event.getParameters());
62
+ return;
63
+ }
58
64
  this.fireEvent(eventId, ui5Event.getParameters());
59
65
  }
60
66