@sapui5/sap.fe.macros 1.121.1 → 1.122.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/package.json +1 -1
  2. package/src/sap/fe/macros/.library +1 -1
  3. package/src/sap/fe/macros/CollectionBindingInfo.js +65 -14
  4. package/src/sap/fe/macros/CollectionBindingInfo.ts +95 -8
  5. package/src/sap/fe/macros/CommonHelper.js +1 -12
  6. package/src/sap/fe/macros/CommonHelper.ts +0 -13
  7. package/src/sap/fe/macros/RichTextEditor.js +264 -0
  8. package/src/sap/fe/macros/RichTextEditor.tsx +204 -0
  9. package/src/sap/fe/macros/chart/Action.js +96 -0
  10. package/src/sap/fe/macros/chart/Action.ts +68 -0
  11. package/src/sap/fe/macros/chart/ActionGroup.js +86 -0
  12. package/src/sap/fe/macros/chart/ActionGroup.ts +53 -0
  13. package/src/sap/fe/macros/chart/Chart.block.js +8 -7
  14. package/src/sap/fe/macros/chart/Chart.block.ts +17 -12
  15. package/src/sap/fe/macros/chart/Chart.js +35 -0
  16. package/src/sap/fe/macros/chart/Chart.tsx +18 -0
  17. package/src/sap/fe/macros/chart/ChartAPI.js +5 -4
  18. package/src/sap/fe/macros/chart/ChartAPI.ts +4 -94
  19. package/src/sap/fe/macros/chart/ChartDelegate.js +26 -18
  20. package/src/sap/fe/macros/chart/ChartDelegate.ts +33 -21
  21. package/src/sap/fe/macros/controls/BetterLink.js +21 -5
  22. package/src/sap/fe/macros/controls/BetterLink.ts +14 -2
  23. package/src/sap/fe/macros/controls/BuildingBlockObjectProperty.js +35 -14
  24. package/src/sap/fe/macros/controls/BuildingBlockObjectProperty.ts +41 -10
  25. package/src/sap/fe/macros/controls/BuildingBlockWithTemplating.js +65 -42
  26. package/src/sap/fe/macros/controls/BuildingBlockWithTemplating.ts +77 -40
  27. package/src/sap/fe/macros/controls/ConditionalWrapper.js +7 -6
  28. package/src/sap/fe/macros/controls/ConditionalWrapper.ts +9 -1
  29. package/src/sap/fe/macros/controls/FileWrapper.js +1 -1
  30. package/src/sap/fe/macros/controls/FileWrapper.ts +2 -2
  31. package/src/sap/fe/macros/controls/RadioButtons.js +234 -0
  32. package/src/sap/fe/macros/controls/RadioButtons.tsx +181 -0
  33. package/src/sap/fe/macros/coreUI/CreateDialog.js +381 -0
  34. package/src/sap/fe/macros/coreUI/CreateDialog.tsx +392 -0
  35. package/src/sap/fe/macros/coreUI/factory.js +16 -0
  36. package/src/sap/fe/macros/coreUI/factory.ts +10 -0
  37. package/src/sap/fe/macros/designtime/Designtime.helper.js +175 -4
  38. package/src/sap/fe/macros/designtime/Designtime.helper.ts +263 -6
  39. package/src/sap/fe/macros/field/FieldAPI.js +2 -1
  40. package/src/sap/fe/macros/field/FieldAPI.ts +16 -0
  41. package/src/sap/fe/macros/field/FieldRuntime.js +1 -1
  42. package/src/sap/fe/macros/field/FieldRuntime.ts +2 -2
  43. package/src/sap/fe/macros/field/FieldTemplating.js +4 -28
  44. package/src/sap/fe/macros/field/FieldTemplating.ts +5 -30
  45. package/src/sap/fe/macros/field/PublicField.block.js +60 -29
  46. package/src/sap/fe/macros/field/PublicField.block.tsx +20 -2
  47. package/src/sap/fe/macros/filter/CustomFilter.fragment.xml +13 -8
  48. package/src/sap/fe/macros/filterBar/FilterBar.block.js +4 -3
  49. package/src/sap/fe/macros/filterBar/FilterBar.block.ts +11 -6
  50. package/src/sap/fe/macros/filterBar/FilterBarAPI.js +2 -10
  51. package/src/sap/fe/macros/filterBar/FilterBarAPI.ts +2 -45
  52. package/src/sap/fe/macros/filterBar/FilterBarDelegate.js +27 -13
  53. package/src/sap/fe/macros/filterBar/FilterBarDelegate.ts +31 -12
  54. package/src/sap/fe/macros/filterBar/FilterField.js +101 -0
  55. package/src/sap/fe/macros/filterBar/FilterField.ts +61 -0
  56. package/src/sap/fe/macros/filterBar/adapter/SelectionVariantToStateFilters.js +33 -28
  57. package/src/sap/fe/macros/filterBar/adapter/SelectionVariantToStateFilters.ts +35 -35
  58. package/src/sap/fe/macros/filterBar/adapter/StateFilterToSelectionVariant.js +4 -3
  59. package/src/sap/fe/macros/filterBar/adapter/StateFilterToSelectionVariant.ts +3 -2
  60. package/src/sap/fe/macros/form/Form.block.js +27 -14
  61. package/src/sap/fe/macros/form/Form.block.ts +7 -0
  62. package/src/sap/fe/macros/form/FormContainer.fragment.xml +4 -2
  63. package/src/sap/fe/macros/form/FormHelper.js +3 -3
  64. package/src/sap/fe/macros/form/FormHelper.ts +2 -2
  65. package/src/sap/fe/macros/form/ValueHelpWrapper.fragment.xml +1 -1
  66. package/src/sap/fe/macros/formatters/TableFormatter.js +4 -2
  67. package/src/sap/fe/macros/formatters/TableFormatter.ts +1 -1
  68. package/src/sap/fe/macros/internal/DataPoint.block.js +3 -3
  69. package/src/sap/fe/macros/internal/DataPoint.block.tsx +3 -5
  70. package/src/sap/fe/macros/internal/InternalField.block.js +71 -18
  71. package/src/sap/fe/macros/internal/InternalField.block.ts +88 -31
  72. package/src/sap/fe/macros/internal/field/ConnectedDataField.fragment.xml +2 -0
  73. package/src/sap/fe/macros/internal/field/DisplayStyle.js +480 -460
  74. package/src/sap/fe/macros/internal/field/{DisplayStyle.ts → DisplayStyle.tsx} +592 -465
  75. package/src/sap/fe/macros/internal/field/EditStyle.js +243 -181
  76. package/src/sap/fe/macros/internal/field/EditStyle.tsx +548 -0
  77. package/src/sap/fe/macros/internal/helpers/DataPointTemplating.js +2 -3
  78. package/src/sap/fe/macros/internal/helpers/DataPointTemplating.ts +2 -5
  79. package/src/sap/fe/macros/internal/valuehelp/AdditionalValueHelper.js +6 -5
  80. package/src/sap/fe/macros/internal/valuehelp/AdditionalValueHelper.ts +6 -4
  81. package/src/sap/fe/macros/internal/valuehelp/ValueHelp.fragment.xml +3 -3
  82. package/src/sap/fe/macros/internal/valuehelp/ValueHelpContent.fragment.xml +12 -12
  83. package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +7 -6
  84. package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.ts +12 -6
  85. package/src/sap/fe/macros/library.js +3 -3
  86. package/src/sap/fe/macros/library.ts +1 -0
  87. package/src/sap/fe/macros/macroLibrary.js +3 -3
  88. package/src/sap/fe/macros/macroLibrary.ts +0 -2
  89. package/src/sap/fe/macros/messagebundle.properties +12 -1
  90. package/src/sap/fe/macros/messagebundle_ar.properties +4 -0
  91. package/src/sap/fe/macros/messagebundle_bg.properties +4 -0
  92. package/src/sap/fe/macros/messagebundle_ca.properties +4 -0
  93. package/src/sap/fe/macros/messagebundle_cnr.properties +4 -0
  94. package/src/sap/fe/macros/messagebundle_cs.properties +4 -0
  95. package/src/sap/fe/macros/messagebundle_cy.properties +4 -0
  96. package/src/sap/fe/macros/messagebundle_da.properties +4 -0
  97. package/src/sap/fe/macros/messagebundle_de.properties +4 -0
  98. package/src/sap/fe/macros/messagebundle_el.properties +4 -0
  99. package/src/sap/fe/macros/messagebundle_en.properties +135 -0
  100. package/src/sap/fe/macros/messagebundle_en_GB.properties +4 -0
  101. package/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +4 -0
  102. package/src/sap/fe/macros/messagebundle_es.properties +4 -0
  103. package/src/sap/fe/macros/messagebundle_es_MX.properties +6 -2
  104. package/src/sap/fe/macros/messagebundle_et.properties +4 -0
  105. package/src/sap/fe/macros/messagebundle_fi.properties +4 -0
  106. package/src/sap/fe/macros/messagebundle_fr.properties +4 -0
  107. package/src/sap/fe/macros/messagebundle_fr_CA.properties +4 -0
  108. package/src/sap/fe/macros/messagebundle_hi.properties +4 -0
  109. package/src/sap/fe/macros/messagebundle_hr.properties +4 -0
  110. package/src/sap/fe/macros/messagebundle_hu.properties +4 -0
  111. package/src/sap/fe/macros/messagebundle_id.properties +4 -0
  112. package/src/sap/fe/macros/messagebundle_it.properties +4 -0
  113. package/src/sap/fe/macros/messagebundle_iw.properties +4 -0
  114. package/src/sap/fe/macros/messagebundle_ja.properties +4 -0
  115. package/src/sap/fe/macros/messagebundle_kk.properties +4 -0
  116. package/src/sap/fe/macros/messagebundle_ko.properties +4 -0
  117. package/src/sap/fe/macros/messagebundle_lt.properties +4 -0
  118. package/src/sap/fe/macros/messagebundle_lv.properties +4 -0
  119. package/src/sap/fe/macros/messagebundle_mk.properties +4 -0
  120. package/src/sap/fe/macros/messagebundle_ms.properties +4 -0
  121. package/src/sap/fe/macros/messagebundle_nl.properties +4 -0
  122. package/src/sap/fe/macros/messagebundle_no.properties +4 -0
  123. package/src/sap/fe/macros/messagebundle_pl.properties +4 -0
  124. package/src/sap/fe/macros/messagebundle_pt.properties +4 -0
  125. package/src/sap/fe/macros/messagebundle_pt_PT.properties +4 -0
  126. package/src/sap/fe/macros/messagebundle_ro.properties +4 -0
  127. package/src/sap/fe/macros/messagebundle_ru.properties +9 -5
  128. package/src/sap/fe/macros/messagebundle_sh.properties +4 -0
  129. package/src/sap/fe/macros/messagebundle_sk.properties +4 -0
  130. package/src/sap/fe/macros/messagebundle_sl.properties +4 -0
  131. package/src/sap/fe/macros/messagebundle_sr.properties +4 -0
  132. package/src/sap/fe/macros/messagebundle_sv.properties +4 -0
  133. package/src/sap/fe/macros/messagebundle_th.properties +4 -0
  134. package/src/sap/fe/macros/messagebundle_tr.properties +4 -0
  135. package/src/sap/fe/macros/messagebundle_uk.properties +4 -0
  136. package/src/sap/fe/macros/messagebundle_vi.properties +4 -0
  137. package/src/sap/fe/macros/messagebundle_zh_CN.properties +4 -0
  138. package/src/sap/fe/macros/messagebundle_zh_TW.properties +4 -0
  139. package/src/sap/fe/macros/microchart/MicroChart.js +35 -0
  140. package/src/sap/fe/macros/microchart/MicroChart.tsx +18 -0
  141. package/src/sap/fe/macros/multiValueField/MultiValueField.block.js +14 -3
  142. package/src/sap/fe/macros/multiValueField/MultiValueField.block.tsx +14 -2
  143. package/src/sap/fe/macros/paginator/Paginator.block.js +239 -36
  144. package/src/sap/fe/macros/paginator/Paginator.block.tsx +292 -0
  145. package/src/sap/fe/macros/quickView/QuickView.block.js +4 -30
  146. package/src/sap/fe/macros/quickView/QuickView.block.ts +6 -37
  147. package/src/sap/fe/macros/quickView/QuickViewDelegate.js +7 -13
  148. package/src/sap/fe/macros/quickView/QuickViewDelegate.ts +5 -12
  149. package/src/sap/fe/macros/quickView/QuickViewHeaderOptions.block.js +11 -7
  150. package/src/sap/fe/macros/quickView/QuickViewHeaderOptions.block.tsx +19 -7
  151. package/src/sap/fe/macros/richtexteditor/PluginAndButtonGroup.js +96 -0
  152. package/src/sap/fe/macros/richtexteditor/PluginAndButtonGroup.ts +26 -0
  153. package/src/sap/fe/macros/richtexteditor/RichTextEditorWithMetadata.block.js +27 -4
  154. package/src/sap/fe/macros/richtexteditor/RichTextEditorWithMetadata.block.tsx +15 -9
  155. package/src/sap/fe/macros/table/Action.js +6 -6
  156. package/src/sap/fe/macros/table/Action.ts +2 -2
  157. package/src/sap/fe/macros/table/ActionGroup.js +6 -6
  158. package/src/sap/fe/macros/table/ActionGroup.ts +2 -2
  159. package/src/sap/fe/macros/table/ActionsTemplating.js +3 -2
  160. package/src/sap/fe/macros/table/ActionsTemplating.ts +5 -4
  161. package/src/sap/fe/macros/table/Column.js +6 -6
  162. package/src/sap/fe/macros/table/Column.ts +2 -2
  163. package/src/sap/fe/macros/table/SlotColumn.fragment.xml +4 -1
  164. package/src/sap/fe/macros/table/SlotColumn.js +52 -0
  165. package/src/sap/fe/macros/table/SlotColumn.ts +18 -0
  166. package/src/sap/fe/macros/table/Table.block.designtime.helper.js +258 -30
  167. package/src/sap/fe/macros/table/Table.block.designtime.helper.ts +250 -42
  168. package/src/sap/fe/macros/table/Table.block.designtime.js +88 -100
  169. package/src/sap/fe/macros/table/Table.block.designtime.ts +106 -155
  170. package/src/sap/fe/macros/table/Table.block.js +176 -124
  171. package/src/sap/fe/macros/table/Table.block.ts +57 -9
  172. package/src/sap/fe/macros/table/TableAPI.js +63 -66
  173. package/src/sap/fe/macros/table/TableAPI.ts +75 -77
  174. package/src/sap/fe/macros/table/TableHelper.js +13 -53
  175. package/src/sap/fe/macros/table/TableHelper.ts +15 -60
  176. package/src/sap/fe/macros/table/TableRuntime.js +62 -13
  177. package/src/sap/fe/macros/table/TableRuntime.ts +68 -14
  178. package/src/sap/fe/macros/table/TableSizeHelper.js +1 -1
  179. package/src/sap/fe/macros/table/TableSizeHelper.ts +1 -1
  180. package/src/sap/fe/macros/table/ValueHelp.fragment.xml +2 -2
  181. package/src/sap/fe/macros/table/delegates/TableDelegate.js +27 -15
  182. package/src/sap/fe/macros/table/delegates/TableDelegate.ts +30 -14
  183. package/src/sap/fe/macros/table/massEdit/MassEditField.fragment.xml +1 -1
  184. package/src/sap/fe/macros/table/massEdit/MassEditHandlers.js +2 -2
  185. package/src/sap/fe/macros/table/massEdit/MassEditHandlers.ts +2 -2
  186. package/src/sap/fe/macros/valuehelp/ValueHelp.block.js +3 -3
  187. package/src/sap/fe/macros/valuehelp/ValueHelp.block.ts +1 -1
  188. package/src/sap/fe/macros/valuehelp/ValueHelp.js +49 -0
  189. package/src/sap/fe/macros/valuehelp/ValueHelp.tsx +28 -0
  190. package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.js +50 -25
  191. package/src/sap/fe/macros/valuehelp/ValueHelpDelegate.ts +64 -25
  192. package/src/sap/fe/macros/valuehelp/ValueHelpFilterBar.block.js +1 -1
  193. package/src/sap/fe/macros/valuehelp/ValueHelpFilterBar.block.ts +3 -1
  194. package/src/sap/fe/macros/valuehelp/ValueHelpFilterBar.fragment.xml +2 -2
  195. package/src/sap/fe/macros/visualfilters/VisualFilter.block.js +4 -4
  196. package/src/sap/fe/macros/visualfilters/VisualFilter.block.ts +5 -5
  197. package/src/sap/fe/macros/internal/field/EditStyle.ts +0 -408
  198. package/src/sap/fe/macros/paginator/Paginator.block.ts +0 -70
  199. package/src/sap/fe/macros/richtexteditor/RichTextEditor.block.js +0 -351
  200. package/src/sap/fe/macros/richtexteditor/RichTextEditor.block.tsx +0 -297
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapui5/sap.fe.macros",
3
- "version": "1.121.1",
3
+ "version": "1.122.0",
4
4
  "description": "SAPUI5 Library sap.fe.macros",
5
5
  "keywords": [
6
6
  "sapui5",
@@ -6,7 +6,7 @@
6
6
  SAP UI development toolkit for HTML5 (SAPUI5)
7
7
  (c) Copyright 2009-2021 SAP SE. All rights reserved
8
8
  </copyright>
9
- <version>1.121.1</version>
9
+ <version>1.122.0</version>
10
10
 
11
11
  <documentation>UI5 library: sap.fe.macros</documentation>
12
12
 
@@ -17,16 +17,55 @@ sap.ui.define(["sap/base/util/deepClone", "sap/ui/model/Filter"], function (deep
17
17
  this.collectionBindingInfo = bindingInfo;
18
18
  }
19
19
 
20
+ /**
21
+ * Recursive cloning of the Filter.
22
+ * Filters have a parameter aFilters which contains more filters, so we use this method to recursively clone it.
23
+ * cloneFilters should be called first, to have the Filter outside an array and avoid an empty filter.
24
+ * @param cloning The filter to clone
25
+ * @returns The cloned Filter
26
+ */
27
+ _exports = CollectionBindingInfoAPI;
28
+ var _proto = CollectionBindingInfoAPI.prototype;
29
+ _proto.cloneFiltersContent = function cloneFiltersContent(cloning) {
30
+ const filterInfo = {
31
+ path: cloning.getPath(),
32
+ operator: cloning.getOperator(),
33
+ value1: cloning.getValue1(),
34
+ value2: cloning.getValue2(),
35
+ variable: cloning.getVariable(),
36
+ condition: cloning.getCondition(),
37
+ and: cloning.isAnd(),
38
+ caseSensitive: cloning.isCaseSensitive()
39
+ };
40
+ const testFn = cloning.getTest();
41
+ if (testFn !== undefined) {
42
+ filterInfo.test = testFn;
43
+ }
44
+ const comparatorFn = cloning.getComparator();
45
+ if (comparatorFn !== undefined) {
46
+ filterInfo.comparator = comparatorFn;
47
+ }
48
+ const filters = cloning.getFilters();
49
+ const arrayFilter = filters === null || filters === void 0 ? void 0 : filters.map(singleFilter => {
50
+ return this.cloneFiltersContent(singleFilter);
51
+ });
52
+ if (arrayFilter) {
53
+ filterInfo.filters = arrayFilter;
54
+ }
55
+ return new Filter(filterInfo);
56
+ }
57
+
20
58
  /**
21
59
  * Returns the current filters applied to the Table.
22
60
  *
23
61
  * @public
24
62
  * @returns The {@link sap.ui.model.Filter "filters"} on the table
25
- */
26
- _exports = CollectionBindingInfoAPI;
27
- var _proto = CollectionBindingInfoAPI.prototype;
63
+ */;
28
64
  _proto.getFilters = function getFilters() {
29
- return deepClone(this.collectionBindingInfo.filters);
65
+ if (this.collectionBindingInfo.filters) {
66
+ return this.cloneFiltersContent(this.collectionBindingInfo.filters);
67
+ }
68
+ return undefined;
30
69
  }
31
70
 
32
71
  /**
@@ -48,7 +87,7 @@ sap.ui.define(["sap/base/util/deepClone", "sap/ui/model/Filter"], function (deep
48
87
  * @public
49
88
  */;
50
89
  _proto.getSorters = function getSorters() {
51
- return deepClone(this.collectionBindingInfo.sorter);
90
+ return this.collectionBindingInfo.sorter;
52
91
  }
53
92
 
54
93
  /**
@@ -58,15 +97,13 @@ sap.ui.define(["sap/base/util/deepClone", "sap/ui/model/Filter"], function (deep
58
97
  * @public
59
98
  */;
60
99
  _proto.addSelect = function addSelect(parameters) {
61
- var _this$collectionBindi, _this$collectionBindi2;
100
+ var _this$collectionBindi;
62
101
  const parameterString = parameters.toString();
63
- if ((_this$collectionBindi = this.collectionBindingInfo) !== null && _this$collectionBindi !== void 0 && (_this$collectionBindi2 = _this$collectionBindi.parameters) !== null && _this$collectionBindi2 !== void 0 && _this$collectionBindi2.$select) {
64
- var _this$collectionBindi3, _this$collectionBindi4;
65
- this.collectionBindingInfo.parameters.$select = ((_this$collectionBindi3 = this.collectionBindingInfo) === null || _this$collectionBindi3 === void 0 ? void 0 : (_this$collectionBindi4 = _this$collectionBindi3.parameters) === null || _this$collectionBindi4 === void 0 ? void 0 : _this$collectionBindi4.$select) + "," + parameterString;
102
+ if ((_this$collectionBindi = this.collectionBindingInfo.parameters) !== null && _this$collectionBindi !== void 0 && _this$collectionBindi.$select) {
103
+ this.collectionBindingInfo.parameters.$select = this.collectionBindingInfo.parameters.$select + "," + parameterString;
66
104
  } else {
67
- this.collectionBindingInfo.parameters = {
68
- $select: parameterString
69
- };
105
+ this.collectionBindingInfo.parameters ??= {};
106
+ this.collectionBindingInfo.parameters.$select = parameterString;
70
107
  }
71
108
  }
72
109
 
@@ -77,7 +114,21 @@ sap.ui.define(["sap/base/util/deepClone", "sap/ui/model/Filter"], function (deep
77
114
  * @public
78
115
  */;
79
116
  _proto.getBindingInfo = function getBindingInfo() {
80
- return deepClone(this.collectionBindingInfo);
117
+ const clonedBindingInfo = {
118
+ ...this.collectionBindingInfo
119
+ };
120
+
121
+ // Making deepClones of objects (except Sorters because we can't)
122
+ if (this.collectionBindingInfo.events) {
123
+ clonedBindingInfo.events = deepClone(this.collectionBindingInfo.events);
124
+ }
125
+ if (this.collectionBindingInfo.filters) {
126
+ clonedBindingInfo.filters = this.cloneFiltersContent(this.collectionBindingInfo.filters);
127
+ }
128
+ if (this.collectionBindingInfo.parameters) {
129
+ deepClone(this.collectionBindingInfo.parameters);
130
+ }
131
+ return clonedBindingInfo;
81
132
  }
82
133
 
83
134
  /**
@@ -98,4 +149,4 @@ sap.ui.define(["sap/base/util/deepClone", "sap/ui/model/Filter"], function (deep
98
149
  _exports = CollectionBindingInfoAPI;
99
150
  return _exports;
100
151
  }, false);
101
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb2xsZWN0aW9uQmluZGluZ0luZm9BUEkiLCJiaW5kaW5nSW5mbyIsImNvbGxlY3Rpb25CaW5kaW5nSW5mbyIsImdldEZpbHRlcnMiLCJkZWVwQ2xvbmUiLCJmaWx0ZXJzIiwiYWRkRmlsdGVyIiwiY3VzdG9tRmlsdGVyIiwicHVzaCIsIkZpbHRlciIsImdldFNvcnRlcnMiLCJzb3J0ZXIiLCJhZGRTZWxlY3QiLCJwYXJhbWV0ZXJzIiwicGFyYW1ldGVyU3RyaW5nIiwidG9TdHJpbmciLCIkc2VsZWN0IiwiZ2V0QmluZGluZ0luZm8iLCJhZGRTb3J0ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkNvbGxlY3Rpb25CaW5kaW5nSW5mby50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGVlcENsb25lIGZyb20gXCJzYXAvYmFzZS91dGlsL2RlZXBDbG9uZVwiO1xuaW1wb3J0IEZpbHRlciBmcm9tIFwic2FwL3VpL21vZGVsL0ZpbHRlclwiO1xuaW1wb3J0IHR5cGUgU29ydGVyIGZyb20gXCJzYXAvdWkvbW9kZWwvU29ydGVyXCI7XG5cbmV4cG9ydCB0eXBlIENvbGxlY3Rpb25CaW5kaW5nSW5mbyA9IHtcblx0c3VzcGVuZGVkPzogYm9vbGVhbjtcblx0cGF0aD86IHN0cmluZztcblx0ZmlsdGVycz86IEZpbHRlcjtcblx0c2VhcmNoPzogc3RyaW5nO1xuXHRwYXJhbWV0ZXJzPzoge1xuXHRcdCRzZWFyY2g/OiBzdHJpbmc7XG5cdFx0JHNlbGVjdD86IHN0cmluZztcblx0fTtcblx0c29ydGVyPzogU29ydGVyW107XG59O1xuXG4vKipcbiAqIEFQSSB0byBhZGQgcGFyYW1ldGVycyB0byB0aGUgY29sbGVjdGlvbiBiaW5kaW5nIGluZm9zLlxuICogQGhpZGVjb25zdHJ1Y3RvclxuICogQGFsaWFzIHNhcC5mZS5tYWNyb3MuQ29sbGVjdGlvbkJpbmRpbmdJbmZvXG4gKiBAcHVibGljXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29sbGVjdGlvbkJpbmRpbmdJbmZvQVBJIHtcblx0cHJpdmF0ZSBjb2xsZWN0aW9uQmluZGluZ0luZm86IENvbGxlY3Rpb25CaW5kaW5nSW5mbztcblxuXHRjb25zdHJ1Y3RvcihiaW5kaW5nSW5mbzogQ29sbGVjdGlvbkJpbmRpbmdJbmZvKSB7XG5cdFx0dGhpcy5jb2xsZWN0aW9uQmluZGluZ0luZm8gPSBiaW5kaW5nSW5mbztcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGZpbHRlcnMgYXBwbGllZCB0byB0aGUgVGFibGUuXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICogQHJldHVybnMgVGhlIHtAbGluayBzYXAudWkubW9kZWwuRmlsdGVyIFwiZmlsdGVyc1wifSBvbiB0aGUgdGFibGVcblx0ICovXG5cdGdldEZpbHRlcnMoKTogRmlsdGVyIHwgdW5kZWZpbmVkIHtcblx0XHRyZXR1cm4gZGVlcENsb25lKHRoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvLmZpbHRlcnMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkZHMgYSBmaWx0ZXIgdG8gdGhlIGZpbHRlcnMgYWxyZWFkeSBwcmVzZW50IGluIHRoZSBiaW5kaW5nIGluZm8uXG5cdCAqXG5cdCAqIEBwYXJhbSBjdXN0b21GaWx0ZXIgVGhlIHtAbGluayBzYXAudWkubW9kZWwuRmlsdGVyIFwiZmlsdGVyXCJ9IHRvIGFkZFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRhZGRGaWx0ZXIoY3VzdG9tRmlsdGVyOiBGaWx0ZXIpOiB2b2lkIHtcblx0XHRjb25zdCBmaWx0ZXJzID0gdGhpcy5jb2xsZWN0aW9uQmluZGluZ0luZm8uZmlsdGVycyA/IFt0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5maWx0ZXJzXSA6IFtdO1xuXHRcdGZpbHRlcnMucHVzaChjdXN0b21GaWx0ZXIpO1xuXHRcdHRoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvLmZpbHRlcnMgPSBuZXcgRmlsdGVyKGZpbHRlcnMsIHRydWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIGN1cnJlbnQgc29ydGVycyBvZiB0aGUgVGFibGUuXG5cdCAqXG5cdCAqIEByZXR1cm5zIFRoZSB7QGxpbmsgc2FwLnVpLm1vZGVsLlNvcnRlciBcInNvcnRlcnNcIn0gb24gdGhlIHRhYmxlXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGdldFNvcnRlcnMoKTogU29ydGVyW10gfCB1bmRlZmluZWQge1xuXHRcdHJldHVybiBkZWVwQ2xvbmUodGhpcy5jb2xsZWN0aW9uQmluZGluZ0luZm8uc29ydGVyKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBBZGRzIHBhcmFtZXRlcnMgdG8gdGhlIHNlbGVjdCBxdWVyeS5cblx0ICpcblx0ICogQHBhcmFtIHBhcmFtZXRlcnMgVGhlIGxpc3Qgb3IgcHJvcGVydGllcyB0byBhZGQgdG8gdGhlIHF1ZXJ5XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGFkZFNlbGVjdChwYXJhbWV0ZXJzOiBzdHJpbmdbXSk6IHZvaWQge1xuXHRcdGNvbnN0IHBhcmFtZXRlclN0cmluZzogc3RyaW5nID0gcGFyYW1ldGVycy50b1N0cmluZygpO1xuXHRcdGlmICh0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mbz8ucGFyYW1ldGVycz8uJHNlbGVjdCkge1xuXHRcdFx0dGhpcy5jb2xsZWN0aW9uQmluZGluZ0luZm8ucGFyYW1ldGVycy4kc2VsZWN0ID0gdGhpcy5jb2xsZWN0aW9uQmluZGluZ0luZm8/LnBhcmFtZXRlcnM/LiRzZWxlY3QgKyBcIixcIiArIHBhcmFtZXRlclN0cmluZztcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5jb2xsZWN0aW9uQmluZGluZ0luZm8ucGFyYW1ldGVycyA9IHtcblx0XHRcdFx0JHNlbGVjdDogcGFyYW1ldGVyU3RyaW5nXG5cdFx0XHR9O1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZSB0aGUgJ3NlcmlhbGl6ZWQnIGJpbmRpbmcgaW5mbywgdXNlZnVsIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSB5b3VyIG93biBiaW5kaW5nXG5cdCAqXG5cdCAqIEByZXR1cm5zIHtDb2xsZWN0aW9uQmluZGluZ0luZm99IFRoZSB7QGxpbmsgc2FwLmZlLm1hY3Jvcy5Db2xsZWN0aW9uQmluZGluZ0luZm8gXCJDb2xsZWN0aW9uQmluZGluZ0luZm9cIn1cblx0ICogQHB1YmxpY1xuXHQgKi9cblxuXHRnZXRCaW5kaW5nSW5mbygpOiBDb2xsZWN0aW9uQmluZGluZ0luZm8ge1xuXHRcdHJldHVybiBkZWVwQ2xvbmUodGhpcy5jb2xsZWN0aW9uQmluZGluZ0luZm8pO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkZHMgYSBzb3J0ZXIgdG8gdGhlIHNvcnRlcihzKSBhbHJlYWR5IHByZXNlbnQsIG9yIGNyZWF0ZSBvbmUgaWYgbm9uZSBleGlzdHMuXG5cdCAqXG5cdCAqIEBwYXJhbSBzb3J0ZXIgVGhlIHtAbGluayBzYXAudWkubW9kZWwuU29ydGVyIFwic29ydGVyXCJ9IHRvIGFkZCB0byB0aGUgcXVlcnlcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0YWRkU29ydGVyKHNvcnRlcjogU29ydGVyKTogdm9pZCB7XG5cdFx0aWYgKCF0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5zb3J0ZXIpIHtcblx0XHRcdHRoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvLnNvcnRlciA9IFtzb3J0ZXJdO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5zb3J0ZXIucHVzaChzb3J0ZXIpO1xuXHRcdH1cblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7OztFQWdCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFMQSxJQU9xQkEsd0JBQXdCO0lBRzVDLGtDQUFZQyxXQUFrQyxFQUFFO01BQy9DLElBQUksQ0FBQ0MscUJBQXFCLEdBQUdELFdBQVc7SUFDekM7O0lBRUE7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0lBTEM7SUFBQTtJQUFBLE9BTUFFLFVBQVUsR0FBVixzQkFBaUM7TUFDaEMsT0FBT0MsU0FBUyxDQUFDLElBQUksQ0FBQ0YscUJBQXFCLENBQUNHLE9BQU8sQ0FBQztJQUNyRDs7SUFFQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FMQztJQUFBLE9BTUFDLFNBQVMsR0FBVCxtQkFBVUMsWUFBb0IsRUFBUTtNQUNyQyxNQUFNRixPQUFPLEdBQUcsSUFBSSxDQUFDSCxxQkFBcUIsQ0FBQ0csT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDSCxxQkFBcUIsQ0FBQ0csT0FBTyxDQUFDLEdBQUcsRUFBRTtNQUM5RkEsT0FBTyxDQUFDRyxJQUFJLENBQUNELFlBQVksQ0FBQztNQUMxQixJQUFJLENBQUNMLHFCQUFxQixDQUFDRyxPQUFPLEdBQUcsSUFBSUksTUFBTSxDQUFDSixPQUFPLEVBQUUsSUFBSSxDQUFDO0lBQy9EOztJQUVBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUxDO0lBQUEsT0FNQUssVUFBVSxHQUFWLHNCQUFtQztNQUNsQyxPQUFPTixTQUFTLENBQUMsSUFBSSxDQUFDRixxQkFBcUIsQ0FBQ1MsTUFBTSxDQUFDO0lBQ3BEOztJQUVBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUxDO0lBQUEsT0FNQUMsU0FBUyxHQUFULG1CQUFVQyxVQUFvQixFQUFRO01BQUE7TUFDckMsTUFBTUMsZUFBdUIsR0FBR0QsVUFBVSxDQUFDRSxRQUFRLEVBQUU7TUFDckQsNkJBQUksSUFBSSxDQUFDYixxQkFBcUIsNEVBQTFCLHNCQUE0QlcsVUFBVSxtREFBdEMsdUJBQXdDRyxPQUFPLEVBQUU7UUFBQTtRQUNwRCxJQUFJLENBQUNkLHFCQUFxQixDQUFDVyxVQUFVLENBQUNHLE9BQU8sR0FBRywrQkFBSSxDQUFDZCxxQkFBcUIscUZBQTFCLHVCQUE0QlcsVUFBVSwyREFBdEMsdUJBQXdDRyxPQUFPLElBQUcsR0FBRyxHQUFHRixlQUFlO01BQ3hILENBQUMsTUFBTTtRQUNOLElBQUksQ0FBQ1oscUJBQXFCLENBQUNXLFVBQVUsR0FBRztVQUN2Q0csT0FBTyxFQUFFRjtRQUNWLENBQUM7TUFDRjtJQUNEOztJQUVBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUxDO0lBQUEsT0FPQUcsY0FBYyxHQUFkLDBCQUF3QztNQUN2QyxPQUFPYixTQUFTLENBQUMsSUFBSSxDQUFDRixxQkFBcUIsQ0FBQztJQUM3Qzs7SUFFQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FMQztJQUFBLE9BTUFnQixTQUFTLEdBQVQsbUJBQVVQLE1BQWMsRUFBUTtNQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDVCxxQkFBcUIsQ0FBQ1MsTUFBTSxFQUFFO1FBQ3ZDLElBQUksQ0FBQ1QscUJBQXFCLENBQUNTLE1BQU0sR0FBRyxDQUFDQSxNQUFNLENBQUM7TUFDN0MsQ0FBQyxNQUFNO1FBQ04sSUFBSSxDQUFDVCxxQkFBcUIsQ0FBQ1MsTUFBTSxDQUFDSCxJQUFJLENBQUNHLE1BQU0sQ0FBQztNQUMvQztJQUNELENBQUM7SUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBIn0=
152
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb2xsZWN0aW9uQmluZGluZ0luZm9BUEkiLCJiaW5kaW5nSW5mbyIsImNvbGxlY3Rpb25CaW5kaW5nSW5mbyIsImNsb25lRmlsdGVyc0NvbnRlbnQiLCJjbG9uaW5nIiwiZmlsdGVySW5mbyIsInBhdGgiLCJnZXRQYXRoIiwib3BlcmF0b3IiLCJnZXRPcGVyYXRvciIsInZhbHVlMSIsImdldFZhbHVlMSIsInZhbHVlMiIsImdldFZhbHVlMiIsInZhcmlhYmxlIiwiZ2V0VmFyaWFibGUiLCJjb25kaXRpb24iLCJnZXRDb25kaXRpb24iLCJhbmQiLCJpc0FuZCIsImNhc2VTZW5zaXRpdmUiLCJpc0Nhc2VTZW5zaXRpdmUiLCJ0ZXN0Rm4iLCJnZXRUZXN0IiwidW5kZWZpbmVkIiwidGVzdCIsImNvbXBhcmF0b3JGbiIsImdldENvbXBhcmF0b3IiLCJjb21wYXJhdG9yIiwiZmlsdGVycyIsImdldEZpbHRlcnMiLCJhcnJheUZpbHRlciIsIm1hcCIsInNpbmdsZUZpbHRlciIsIkZpbHRlciIsImFkZEZpbHRlciIsImN1c3RvbUZpbHRlciIsInB1c2giLCJnZXRTb3J0ZXJzIiwic29ydGVyIiwiYWRkU2VsZWN0IiwicGFyYW1ldGVycyIsInBhcmFtZXRlclN0cmluZyIsInRvU3RyaW5nIiwiJHNlbGVjdCIsImdldEJpbmRpbmdJbmZvIiwiY2xvbmVkQmluZGluZ0luZm8iLCJldmVudHMiLCJkZWVwQ2xvbmUiLCJhZGRTb3J0ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkNvbGxlY3Rpb25CaW5kaW5nSW5mby50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGVlcENsb25lIGZyb20gXCJzYXAvYmFzZS91dGlsL2RlZXBDbG9uZVwiO1xuaW1wb3J0IEZpbHRlciBmcm9tIFwic2FwL3VpL21vZGVsL0ZpbHRlclwiO1xuaW1wb3J0IHR5cGUgRmlsdGVyT3BlcmF0b3IgZnJvbSBcInNhcC91aS9tb2RlbC9GaWx0ZXJPcGVyYXRvclwiO1xuaW1wb3J0IHR5cGUgU29ydGVyIGZyb20gXCJzYXAvdWkvbW9kZWwvU29ydGVyXCI7XG5cbnR5cGUgRmlsdGVySW5mbyA9IHtcblx0cGF0aD86IHN0cmluZztcblx0dGVzdD86IChwMTogdW5rbm93bikgPT4gYm9vbGVhbjtcblx0Y29tcGFyYXRvcj86IChwMTogdW5rbm93biwgcDI6IHVua25vd24pID0+IG51bWJlcjtcblx0b3BlcmF0b3I/OlxuXHRcdHwgRmlsdGVyT3BlcmF0b3Jcblx0XHR8IFwiQWxsXCJcblx0XHR8IFwiQW55XCJcblx0XHR8IFwiQlRcIlxuXHRcdHwgXCJDb250YWluc1wiXG5cdFx0fCBcIkVuZHNXaXRoXCJcblx0XHR8IFwiRVFcIlxuXHRcdHwgXCJHRVwiXG5cdFx0fCBcIkdUXCJcblx0XHR8IFwiTEVcIlxuXHRcdHwgXCJMVFwiXG5cdFx0fCBcIk5CXCJcblx0XHR8IFwiTkVcIlxuXHRcdHwgXCJOb3RDb250YWluc1wiXG5cdFx0fCBcIk5vdEVuZHNXaXRoXCJcblx0XHR8IFwiTm90U3RhcnRzV2l0aFwiXG5cdFx0fCBcIlN0YXJ0c1dpdGhcIlxuXHRcdHwgdW5kZWZpbmVkO1xuXHR2YWx1ZTE/OiB1bmtub3duO1xuXHR2YWx1ZTI/OiB1bmtub3duO1xuXHR2YXJpYWJsZT86IHN0cmluZztcblx0Y29uZGl0aW9uPzogRmlsdGVyO1xuXHRmaWx0ZXJzPzogRmlsdGVyW107XG5cdGFuZD86IGJvb2xlYW47XG5cdGNhc2VTZW5zaXRpdmU/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgQ29sbGVjdGlvbkJpbmRpbmdJbmZvID0ge1xuXHRldmVudHM/OiBSZWNvcmQ8c3RyaW5nLCBGdW5jdGlvbj47XG5cdHN1c3BlbmRlZD86IGJvb2xlYW47XG5cdHBhdGg/OiBzdHJpbmc7XG5cdGZpbHRlcnM/OiBGaWx0ZXI7XG5cdHNlYXJjaD86IHN0cmluZztcblx0cGFyYW1ldGVycz86IHtcblx0XHQkc2VhcmNoPzogc3RyaW5nO1xuXHRcdCRzZWxlY3Q/OiBzdHJpbmc7XG5cdH07XG5cdHNvcnRlcj86IFNvcnRlcltdO1xufTtcblxuLyoqXG4gKiBBUEkgdG8gYWRkIHBhcmFtZXRlcnMgdG8gdGhlIGNvbGxlY3Rpb24gYmluZGluZyBpbmZvcy5cbiAqIEBoaWRlY29uc3RydWN0b3JcbiAqIEBhbGlhcyBzYXAuZmUubWFjcm9zLkNvbGxlY3Rpb25CaW5kaW5nSW5mb1xuICogQHB1YmxpY1xuICovXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbGxlY3Rpb25CaW5kaW5nSW5mb0FQSSB7XG5cdHByaXZhdGUgY29sbGVjdGlvbkJpbmRpbmdJbmZvOiBDb2xsZWN0aW9uQmluZGluZ0luZm87XG5cblx0Y29uc3RydWN0b3IoYmluZGluZ0luZm86IENvbGxlY3Rpb25CaW5kaW5nSW5mbykge1xuXHRcdHRoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvID0gYmluZGluZ0luZm87XG5cdH1cblxuXHQvKipcblx0ICogUmVjdXJzaXZlIGNsb25pbmcgb2YgdGhlIEZpbHRlci5cblx0ICogRmlsdGVycyBoYXZlIGEgcGFyYW1ldGVyIGFGaWx0ZXJzIHdoaWNoIGNvbnRhaW5zIG1vcmUgZmlsdGVycywgc28gd2UgdXNlIHRoaXMgbWV0aG9kIHRvIHJlY3Vyc2l2ZWx5IGNsb25lIGl0LlxuXHQgKiBjbG9uZUZpbHRlcnMgc2hvdWxkIGJlIGNhbGxlZCBmaXJzdCwgdG8gaGF2ZSB0aGUgRmlsdGVyIG91dHNpZGUgYW4gYXJyYXkgYW5kIGF2b2lkIGFuIGVtcHR5IGZpbHRlci5cblx0ICogQHBhcmFtIGNsb25pbmcgVGhlIGZpbHRlciB0byBjbG9uZVxuXHQgKiBAcmV0dXJucyBUaGUgY2xvbmVkIEZpbHRlclxuXHQgKi9cblx0Y2xvbmVGaWx0ZXJzQ29udGVudChjbG9uaW5nOiBGaWx0ZXIpOiBGaWx0ZXIge1xuXHRcdGNvbnN0IGZpbHRlckluZm86IEZpbHRlckluZm8gPSB7XG5cdFx0XHRwYXRoOiBjbG9uaW5nLmdldFBhdGgoKSxcblx0XHRcdG9wZXJhdG9yOiBjbG9uaW5nLmdldE9wZXJhdG9yKCksXG5cdFx0XHR2YWx1ZTE6IGNsb25pbmcuZ2V0VmFsdWUxKCksXG5cdFx0XHR2YWx1ZTI6IGNsb25pbmcuZ2V0VmFsdWUyKCksXG5cdFx0XHR2YXJpYWJsZTogY2xvbmluZy5nZXRWYXJpYWJsZSgpLFxuXHRcdFx0Y29uZGl0aW9uOiBjbG9uaW5nLmdldENvbmRpdGlvbigpLFxuXHRcdFx0YW5kOiBjbG9uaW5nLmlzQW5kKCksXG5cdFx0XHRjYXNlU2Vuc2l0aXZlOiBjbG9uaW5nLmlzQ2FzZVNlbnNpdGl2ZSgpXG5cdFx0fTtcblxuXHRcdGNvbnN0IHRlc3RGbiA9IGNsb25pbmcuZ2V0VGVzdCgpO1xuXHRcdGlmICh0ZXN0Rm4gIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0ZmlsdGVySW5mby50ZXN0ID0gdGVzdEZuO1xuXHRcdH1cblxuXHRcdGNvbnN0IGNvbXBhcmF0b3JGbiA9IGNsb25pbmcuZ2V0Q29tcGFyYXRvcigpO1xuXHRcdGlmIChjb21wYXJhdG9yRm4gIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0ZmlsdGVySW5mby5jb21wYXJhdG9yID0gY29tcGFyYXRvckZuO1xuXHRcdH1cblxuXHRcdGNvbnN0IGZpbHRlcnMgPSBjbG9uaW5nLmdldEZpbHRlcnMoKTtcblx0XHRjb25zdCBhcnJheUZpbHRlciA9IGZpbHRlcnM/Lm1hcCgoc2luZ2xlRmlsdGVyOiBGaWx0ZXIpID0+IHtcblx0XHRcdHJldHVybiB0aGlzLmNsb25lRmlsdGVyc0NvbnRlbnQoc2luZ2xlRmlsdGVyKTtcblx0XHR9KTtcblx0XHRpZiAoYXJyYXlGaWx0ZXIpIHtcblx0XHRcdGZpbHRlckluZm8uZmlsdGVycyA9IGFycmF5RmlsdGVyO1xuXHRcdH1cblx0XHRyZXR1cm4gbmV3IEZpbHRlcihmaWx0ZXJJbmZvKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGZpbHRlcnMgYXBwbGllZCB0byB0aGUgVGFibGUuXG5cdCAqXG5cdCAqIEBwdWJsaWNcblx0ICogQHJldHVybnMgVGhlIHtAbGluayBzYXAudWkubW9kZWwuRmlsdGVyIFwiZmlsdGVyc1wifSBvbiB0aGUgdGFibGVcblx0ICovXG5cdGdldEZpbHRlcnMoKTogRmlsdGVyIHwgdW5kZWZpbmVkIHtcblx0XHRpZiAodGhpcy5jb2xsZWN0aW9uQmluZGluZ0luZm8uZmlsdGVycykge1xuXHRcdFx0cmV0dXJuIHRoaXMuY2xvbmVGaWx0ZXJzQ29udGVudCh0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5maWx0ZXJzKTtcblx0XHR9XG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxuXG5cdC8qKlxuXHQgKiBBZGRzIGEgZmlsdGVyIHRvIHRoZSBmaWx0ZXJzIGFscmVhZHkgcHJlc2VudCBpbiB0aGUgYmluZGluZyBpbmZvLlxuXHQgKlxuXHQgKiBAcGFyYW0gY3VzdG9tRmlsdGVyIFRoZSB7QGxpbmsgc2FwLnVpLm1vZGVsLkZpbHRlciBcImZpbHRlclwifSB0byBhZGRcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0YWRkRmlsdGVyKGN1c3RvbUZpbHRlcjogRmlsdGVyKTogdm9pZCB7XG5cdFx0Y29uc3QgZmlsdGVycyA9IHRoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvLmZpbHRlcnMgPyBbdGhpcy5jb2xsZWN0aW9uQmluZGluZ0luZm8uZmlsdGVyc10gOiBbXTtcblx0XHRmaWx0ZXJzLnB1c2goY3VzdG9tRmlsdGVyKTtcblx0XHR0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5maWx0ZXJzID0gbmV3IEZpbHRlcihmaWx0ZXJzLCB0cnVlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBjdXJyZW50IHNvcnRlcnMgb2YgdGhlIFRhYmxlLlxuXHQgKlxuXHQgKiBAcmV0dXJucyBUaGUge0BsaW5rIHNhcC51aS5tb2RlbC5Tb3J0ZXIgXCJzb3J0ZXJzXCJ9IG9uIHRoZSB0YWJsZVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRnZXRTb3J0ZXJzKCk6IFNvcnRlcltdIHwgdW5kZWZpbmVkIHtcblx0XHRyZXR1cm4gdGhpcy5jb2xsZWN0aW9uQmluZGluZ0luZm8uc29ydGVyO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkZHMgcGFyYW1ldGVycyB0byB0aGUgc2VsZWN0IHF1ZXJ5LlxuXHQgKlxuXHQgKiBAcGFyYW0gcGFyYW1ldGVycyBUaGUgbGlzdCBvciBwcm9wZXJ0aWVzIHRvIGFkZCB0byB0aGUgcXVlcnlcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0YWRkU2VsZWN0KHBhcmFtZXRlcnM6IHN0cmluZ1tdKTogdm9pZCB7XG5cdFx0Y29uc3QgcGFyYW1ldGVyU3RyaW5nOiBzdHJpbmcgPSBwYXJhbWV0ZXJzLnRvU3RyaW5nKCk7XG5cdFx0aWYgKHRoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvLnBhcmFtZXRlcnM/LiRzZWxlY3QpIHtcblx0XHRcdHRoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvLnBhcmFtZXRlcnMuJHNlbGVjdCA9IHRoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvLnBhcmFtZXRlcnMuJHNlbGVjdCArIFwiLFwiICsgcGFyYW1ldGVyU3RyaW5nO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5wYXJhbWV0ZXJzID8/PSB7fTtcblx0XHRcdHRoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvLnBhcmFtZXRlcnMuJHNlbGVjdCA9IHBhcmFtZXRlclN0cmluZztcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmUgdGhlICdzZXJpYWxpemVkJyBiaW5kaW5nIGluZm8sIHVzZWZ1bCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgeW91ciBvd24gYmluZGluZ1xuXHQgKlxuXHQgKiBAcmV0dXJucyB7Q29sbGVjdGlvbkJpbmRpbmdJbmZvfSBUaGUge0BsaW5rIHNhcC5mZS5tYWNyb3MuQ29sbGVjdGlvbkJpbmRpbmdJbmZvIFwiQ29sbGVjdGlvbkJpbmRpbmdJbmZvXCJ9XG5cdCAqIEBwdWJsaWNcblx0ICovXG5cblx0Z2V0QmluZGluZ0luZm8oKTogQ29sbGVjdGlvbkJpbmRpbmdJbmZvIHtcblx0XHRjb25zdCBjbG9uZWRCaW5kaW5nSW5mbyA9IHsgLi4udGhpcy5jb2xsZWN0aW9uQmluZGluZ0luZm8gfTtcblxuXHRcdC8vIE1ha2luZyBkZWVwQ2xvbmVzIG9mIG9iamVjdHMgKGV4Y2VwdCBTb3J0ZXJzIGJlY2F1c2Ugd2UgY2FuJ3QpXG5cdFx0aWYgKHRoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvLmV2ZW50cykge1xuXHRcdFx0Y2xvbmVkQmluZGluZ0luZm8uZXZlbnRzID0gZGVlcENsb25lKHRoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvLmV2ZW50cyk7XG5cdFx0fVxuXHRcdGlmICh0aGlzLmNvbGxlY3Rpb25CaW5kaW5nSW5mby5maWx0ZXJzKSB7XG5cdFx0XHRjbG9uZWRCaW5kaW5nSW5mby5maWx0ZXJzID0gdGhpcy5jbG9uZUZpbHRlcnNDb250ZW50KHRoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvLmZpbHRlcnMpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5jb2xsZWN0aW9uQmluZGluZ0luZm8ucGFyYW1ldGVycykge1xuXHRcdFx0ZGVlcENsb25lKHRoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvLnBhcmFtZXRlcnMpO1xuXHRcdH1cblx0XHRyZXR1cm4gY2xvbmVkQmluZGluZ0luZm87XG5cdH1cblxuXHQvKipcblx0ICogQWRkcyBhIHNvcnRlciB0byB0aGUgc29ydGVyKHMpIGFscmVhZHkgcHJlc2VudCwgb3IgY3JlYXRlIG9uZSBpZiBub25lIGV4aXN0cy5cblx0ICpcblx0ICogQHBhcmFtIHNvcnRlciBUaGUge0BsaW5rIHNhcC51aS5tb2RlbC5Tb3J0ZXIgXCJzb3J0ZXJcIn0gdG8gYWRkIHRvIHRoZSBxdWVyeVxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRhZGRTb3J0ZXIoc29ydGVyOiBTb3J0ZXIpOiB2b2lkIHtcblx0XHRpZiAoIXRoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvLnNvcnRlcikge1xuXHRcdFx0dGhpcy5jb2xsZWN0aW9uQmluZGluZ0luZm8uc29ydGVyID0gW3NvcnRlcl07XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuY29sbGVjdGlvbkJpbmRpbmdJbmZvLnNvcnRlci5wdXNoKHNvcnRlcik7XG5cdFx0fVxuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7O0VBa0RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUxBLElBT3FCQSx3QkFBd0I7SUFHNUMsa0NBQVlDLFdBQWtDLEVBQUU7TUFDL0MsSUFBSSxDQUFDQyxxQkFBcUIsR0FBR0QsV0FBVztJQUN6Qzs7SUFFQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtJQU5DO0lBQUE7SUFBQSxPQU9BRSxtQkFBbUIsR0FBbkIsNkJBQW9CQyxPQUFlLEVBQVU7TUFDNUMsTUFBTUMsVUFBc0IsR0FBRztRQUM5QkMsSUFBSSxFQUFFRixPQUFPLENBQUNHLE9BQU8sRUFBRTtRQUN2QkMsUUFBUSxFQUFFSixPQUFPLENBQUNLLFdBQVcsRUFBRTtRQUMvQkMsTUFBTSxFQUFFTixPQUFPLENBQUNPLFNBQVMsRUFBRTtRQUMzQkMsTUFBTSxFQUFFUixPQUFPLENBQUNTLFNBQVMsRUFBRTtRQUMzQkMsUUFBUSxFQUFFVixPQUFPLENBQUNXLFdBQVcsRUFBRTtRQUMvQkMsU0FBUyxFQUFFWixPQUFPLENBQUNhLFlBQVksRUFBRTtRQUNqQ0MsR0FBRyxFQUFFZCxPQUFPLENBQUNlLEtBQUssRUFBRTtRQUNwQkMsYUFBYSxFQUFFaEIsT0FBTyxDQUFDaUIsZUFBZTtNQUN2QyxDQUFDO01BRUQsTUFBTUMsTUFBTSxHQUFHbEIsT0FBTyxDQUFDbUIsT0FBTyxFQUFFO01BQ2hDLElBQUlELE1BQU0sS0FBS0UsU0FBUyxFQUFFO1FBQ3pCbkIsVUFBVSxDQUFDb0IsSUFBSSxHQUFHSCxNQUFNO01BQ3pCO01BRUEsTUFBTUksWUFBWSxHQUFHdEIsT0FBTyxDQUFDdUIsYUFBYSxFQUFFO01BQzVDLElBQUlELFlBQVksS0FBS0YsU0FBUyxFQUFFO1FBQy9CbkIsVUFBVSxDQUFDdUIsVUFB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
@@ -1,8 +1,42 @@
1
1
  import deepClone from "sap/base/util/deepClone";
2
2
  import Filter from "sap/ui/model/Filter";
3
+ import type FilterOperator from "sap/ui/model/FilterOperator";
3
4
  import type Sorter from "sap/ui/model/Sorter";
4
5
 
6
+ type FilterInfo = {
7
+ path?: string;
8
+ test?: (p1: unknown) => boolean;
9
+ comparator?: (p1: unknown, p2: unknown) => number;
10
+ operator?:
11
+ | FilterOperator
12
+ | "All"
13
+ | "Any"
14
+ | "BT"
15
+ | "Contains"
16
+ | "EndsWith"
17
+ | "EQ"
18
+ | "GE"
19
+ | "GT"
20
+ | "LE"
21
+ | "LT"
22
+ | "NB"
23
+ | "NE"
24
+ | "NotContains"
25
+ | "NotEndsWith"
26
+ | "NotStartsWith"
27
+ | "StartsWith"
28
+ | undefined;
29
+ value1?: unknown;
30
+ value2?: unknown;
31
+ variable?: string;
32
+ condition?: Filter;
33
+ filters?: Filter[];
34
+ and?: boolean;
35
+ caseSensitive?: boolean;
36
+ };
37
+
5
38
  export type CollectionBindingInfo = {
39
+ events?: Record<string, Function>;
6
40
  suspended?: boolean;
7
41
  path?: string;
8
42
  filters?: Filter;
@@ -28,6 +62,45 @@ export default class CollectionBindingInfoAPI {
28
62
  this.collectionBindingInfo = bindingInfo;
29
63
  }
30
64
 
65
+ /**
66
+ * Recursive cloning of the Filter.
67
+ * Filters have a parameter aFilters which contains more filters, so we use this method to recursively clone it.
68
+ * cloneFilters should be called first, to have the Filter outside an array and avoid an empty filter.
69
+ * @param cloning The filter to clone
70
+ * @returns The cloned Filter
71
+ */
72
+ cloneFiltersContent(cloning: Filter): Filter {
73
+ const filterInfo: FilterInfo = {
74
+ path: cloning.getPath(),
75
+ operator: cloning.getOperator(),
76
+ value1: cloning.getValue1(),
77
+ value2: cloning.getValue2(),
78
+ variable: cloning.getVariable(),
79
+ condition: cloning.getCondition(),
80
+ and: cloning.isAnd(),
81
+ caseSensitive: cloning.isCaseSensitive()
82
+ };
83
+
84
+ const testFn = cloning.getTest();
85
+ if (testFn !== undefined) {
86
+ filterInfo.test = testFn;
87
+ }
88
+
89
+ const comparatorFn = cloning.getComparator();
90
+ if (comparatorFn !== undefined) {
91
+ filterInfo.comparator = comparatorFn;
92
+ }
93
+
94
+ const filters = cloning.getFilters();
95
+ const arrayFilter = filters?.map((singleFilter: Filter) => {
96
+ return this.cloneFiltersContent(singleFilter);
97
+ });
98
+ if (arrayFilter) {
99
+ filterInfo.filters = arrayFilter;
100
+ }
101
+ return new Filter(filterInfo);
102
+ }
103
+
31
104
  /**
32
105
  * Returns the current filters applied to the Table.
33
106
  *
@@ -35,7 +108,10 @@ export default class CollectionBindingInfoAPI {
35
108
  * @returns The {@link sap.ui.model.Filter "filters"} on the table
36
109
  */
37
110
  getFilters(): Filter | undefined {
38
- return deepClone(this.collectionBindingInfo.filters);
111
+ if (this.collectionBindingInfo.filters) {
112
+ return this.cloneFiltersContent(this.collectionBindingInfo.filters);
113
+ }
114
+ return undefined;
39
115
  }
40
116
 
41
117
  /**
@@ -57,7 +133,7 @@ export default class CollectionBindingInfoAPI {
57
133
  * @public
58
134
  */
59
135
  getSorters(): Sorter[] | undefined {
60
- return deepClone(this.collectionBindingInfo.sorter);
136
+ return this.collectionBindingInfo.sorter;
61
137
  }
62
138
 
63
139
  /**
@@ -68,12 +144,11 @@ export default class CollectionBindingInfoAPI {
68
144
  */
69
145
  addSelect(parameters: string[]): void {
70
146
  const parameterString: string = parameters.toString();
71
- if (this.collectionBindingInfo?.parameters?.$select) {
72
- this.collectionBindingInfo.parameters.$select = this.collectionBindingInfo?.parameters?.$select + "," + parameterString;
147
+ if (this.collectionBindingInfo.parameters?.$select) {
148
+ this.collectionBindingInfo.parameters.$select = this.collectionBindingInfo.parameters.$select + "," + parameterString;
73
149
  } else {
74
- this.collectionBindingInfo.parameters = {
75
- $select: parameterString
76
- };
150
+ this.collectionBindingInfo.parameters ??= {};
151
+ this.collectionBindingInfo.parameters.$select = parameterString;
77
152
  }
78
153
  }
79
154
 
@@ -85,7 +160,19 @@ export default class CollectionBindingInfoAPI {
85
160
  */
86
161
 
87
162
  getBindingInfo(): CollectionBindingInfo {
88
- return deepClone(this.collectionBindingInfo);
163
+ const clonedBindingInfo = { ...this.collectionBindingInfo };
164
+
165
+ // Making deepClones of objects (except Sorters because we can't)
166
+ if (this.collectionBindingInfo.events) {
167
+ clonedBindingInfo.events = deepClone(this.collectionBindingInfo.events);
168
+ }
169
+ if (this.collectionBindingInfo.filters) {
170
+ clonedBindingInfo.filters = this.cloneFiltersContent(this.collectionBindingInfo.filters);
171
+ }
172
+ if (this.collectionBindingInfo.parameters) {
173
+ deepClone(this.collectionBindingInfo.parameters);
174
+ }
175
+ return clonedBindingInfo;
89
176
  }
90
177
 
91
178
  /**