@ui5/webcomponents-fiori 2.21.0 → 2.22.0-rc.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 (63) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/Timeline.d.ts +35 -3
  4. package/dist/Timeline.js +62 -4
  5. package/dist/Timeline.js.map +1 -1
  6. package/dist/TimelineFilterOption.d.ts +37 -0
  7. package/dist/TimelineFilterOption.js +59 -0
  8. package/dist/TimelineFilterOption.js.map +1 -0
  9. package/dist/TimelineHeaderBar.d.ts +120 -0
  10. package/dist/TimelineHeaderBar.js +273 -0
  11. package/dist/TimelineHeaderBar.js.map +1 -0
  12. package/dist/TimelineHeaderBarTemplate.d.ts +2 -0
  13. package/dist/TimelineHeaderBarTemplate.js +18 -0
  14. package/dist/TimelineHeaderBarTemplate.js.map +1 -0
  15. package/dist/TimelineItem.d.ts +2 -0
  16. package/dist/TimelineItem.js +2 -0
  17. package/dist/TimelineItem.js.map +1 -1
  18. package/dist/TimelineTemplate.js +1 -1
  19. package/dist/TimelineTemplate.js.map +1 -1
  20. package/dist/ViewSettingsDialog.d.ts +40 -1
  21. package/dist/ViewSettingsDialog.js +114 -7
  22. package/dist/ViewSettingsDialog.js.map +1 -1
  23. package/dist/ViewSettingsDialogCustomTab.d.ts +52 -0
  24. package/dist/ViewSettingsDialogCustomTab.js +81 -0
  25. package/dist/ViewSettingsDialogCustomTab.js.map +1 -0
  26. package/dist/ViewSettingsDialogCustomTabTemplate.d.ts +2 -0
  27. package/dist/ViewSettingsDialogCustomTabTemplate.js +5 -0
  28. package/dist/ViewSettingsDialogCustomTabTemplate.js.map +1 -0
  29. package/dist/ViewSettingsDialogTemplate.js +8 -1
  30. package/dist/ViewSettingsDialogTemplate.js.map +1 -1
  31. package/dist/bundle.esm.js +3 -0
  32. package/dist/bundle.esm.js.map +1 -1
  33. package/dist/css/themes/Timeline.css +1 -1
  34. package/dist/css/themes/TimelineHeaderBar.css +1 -0
  35. package/dist/css/themes/ViewSettingsDialog.css +1 -1
  36. package/dist/custom-elements-internal.json +746 -60
  37. package/dist/custom-elements.json +511 -9
  38. package/dist/generated/i18n/i18n-defaults.d.ts +11 -1
  39. package/dist/generated/i18n/i18n-defaults.js +11 -1
  40. package/dist/generated/i18n/i18n-defaults.js.map +1 -1
  41. package/dist/generated/themes/Timeline.css.d.ts +1 -1
  42. package/dist/generated/themes/Timeline.css.js +1 -1
  43. package/dist/generated/themes/Timeline.css.js.map +1 -1
  44. package/dist/generated/themes/TimelineHeaderBar.css.d.ts +2 -0
  45. package/dist/generated/themes/TimelineHeaderBar.css.js +8 -0
  46. package/dist/generated/themes/TimelineHeaderBar.css.js.map +1 -0
  47. package/dist/generated/themes/ViewSettingsDialog.css.d.ts +1 -1
  48. package/dist/generated/themes/ViewSettingsDialog.css.js +1 -1
  49. package/dist/generated/themes/ViewSettingsDialog.css.js.map +1 -1
  50. package/dist/types/TimelineSortOrder.d.ts +18 -0
  51. package/dist/types/TimelineSortOrder.js +20 -0
  52. package/dist/types/TimelineSortOrder.js.map +1 -0
  53. package/dist/vscode.html-custom-data.json +88 -2
  54. package/dist/web-types.json +257 -3
  55. package/package.json +7 -7
  56. package/src/TimelineHeaderBarTemplate.tsx +104 -0
  57. package/src/TimelineTemplate.tsx +7 -0
  58. package/src/ViewSettingsDialogCustomTabTemplate.tsx +5 -0
  59. package/src/ViewSettingsDialogTemplate.tsx +31 -0
  60. package/src/i18n/messagebundle.properties +30 -0
  61. package/src/themes/Timeline.css +21 -7
  62. package/src/themes/TimelineHeaderBar.css +17 -0
  63. package/src/themes/ViewSettingsDialog.css +33 -0
@@ -27,6 +27,7 @@ import { VSD_DIALOG_TITLE_SORT, VSD_SUBMIT_BUTTON, VSD_CANCEL_BUTTON, VSD_RESET_
27
27
  import ViewSettingsDialogTemplate from "./ViewSettingsDialogTemplate.js";
28
28
  // Styles
29
29
  import viewSettingsDialogCSS from "./generated/themes/ViewSettingsDialog.css.js";
30
+ const CUSTOM_MODE_PREFIX = "customTabs-";
30
31
  /**
31
32
  * @class
32
33
  * ### Overview
@@ -78,6 +79,18 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
78
79
  * @since 2.0.0
79
80
  */
80
81
  this.open = false;
82
+ /**
83
+ * Defines whether the Reset button is always enabled.
84
+ *
85
+ * **Note:** By default, the Reset button is only enabled when the dialog settings
86
+ * differ from their initial state. Set this property to `true` to keep the Reset
87
+ * button always enabled, which is useful when working with custom tabs
88
+ * whose internal state changes cannot be detected by the component.
89
+ * @default false
90
+ * @public
91
+ * @since 2.22.0
92
+ */
93
+ this.enableReset = false;
81
94
  /**
82
95
  * Stores current settings of the dialog.
83
96
  * @private
@@ -104,7 +117,7 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
104
117
  * @since 1.0.0-rc.16
105
118
  * @private
106
119
  */
107
- this._currentMode = "Sort";
120
+ this._currentMode = ViewSettingsDialogMode.Sort;
108
121
  /**
109
122
  * When in Filter By mode, defines whether we need to show the list of keys, or the list with values.
110
123
  * @since 1.0.0-rc.16
@@ -125,6 +138,10 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
125
138
  }
126
139
  if (this.shouldBuildGroup) {
127
140
  this._currentMode = ViewSettingsDialogMode.Group;
141
+ return;
142
+ }
143
+ if (this.shouldBuildCustomTabs && (!this.isModeCustom || !this._selectedCustomTab)) {
144
+ this._currentMode = this._defaultMode;
128
145
  }
129
146
  }
130
147
  onInvalidation(changeInfo) {
@@ -165,9 +182,44 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
165
182
  get shouldBuildGroup() {
166
183
  return !!this.groupItems.length;
167
184
  }
185
+ get shouldBuildCustomTabs() {
186
+ return !!this._renderableCustomTabs.length;
187
+ }
188
+ /**
189
+ * Returns only custom tabs that have an icon defined and can be rendered.
190
+ */
191
+ get _renderableCustomTabs() {
192
+ return this.customTabs.filter(tab => tab.icon);
193
+ }
168
194
  get hasPagination() {
169
- const buildConditions = [this.shouldBuildSort, this.shouldBuildFilter, this.shouldBuildGroup];
170
- return buildConditions.filter(condition => condition).length > 1;
195
+ const builtInTabsCount = [this.shouldBuildSort, this.shouldBuildFilter, this.shouldBuildGroup]
196
+ .filter(condition => condition)
197
+ .length;
198
+ if (this.shouldBuildCustomTabs) {
199
+ return builtInTabsCount + this._renderableCustomTabs.length > 1;
200
+ }
201
+ return builtInTabsCount > 1;
202
+ }
203
+ get _defaultMode() {
204
+ if (this.shouldBuildSort) {
205
+ return ViewSettingsDialogMode.Sort;
206
+ }
207
+ if (this.shouldBuildFilter) {
208
+ return ViewSettingsDialogMode.Filter;
209
+ }
210
+ if (this.shouldBuildGroup) {
211
+ return ViewSettingsDialogMode.Group;
212
+ }
213
+ if (this.shouldBuildCustomTabs) {
214
+ return this._customTabMode(this._renderableCustomTabs[0]);
215
+ }
216
+ return ViewSettingsDialogMode.Sort;
217
+ }
218
+ get _selectedCustomTab() {
219
+ if (!this._isCustomMode(this._currentMode)) {
220
+ return;
221
+ }
222
+ return this._renderableCustomTabs.find(tab => this._customTabMode(tab) === this._currentMode);
171
223
  }
172
224
  get _filterByTitle() {
173
225
  const selectedFilterText = this._selectedFilter ? this._selectedFilter.text : "";
@@ -233,6 +285,9 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
233
285
  * Determines disabled state of the `Reset` button.
234
286
  */
235
287
  get _disableResetButton() {
288
+ if (this.enableReset) {
289
+ return false;
290
+ }
236
291
  return this._dialog && this._settingsAreInitial && this._filteresAreInitial;
237
292
  }
238
293
  get _settingsAreInitial() {
@@ -334,6 +389,9 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
334
389
  get isModeGroup() {
335
390
  return this._currentMode === ViewSettingsDialogMode.Group;
336
391
  }
392
+ get isModeCustom() {
393
+ return this._isCustomMode(this._currentMode);
394
+ }
337
395
  get showBackButton() {
338
396
  return this.isModeFilter && this._filterStepTwo;
339
397
  }
@@ -362,7 +420,10 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
362
420
  }
363
421
  _handleModeChange(e) {
364
422
  const mode = e.detail.selectedItems[0].getAttribute("data-mode");
365
- this._currentMode = ViewSettingsDialogMode[mode];
423
+ if (!mode || !this._isValidMode(mode)) {
424
+ return;
425
+ }
426
+ this._currentMode = mode;
366
427
  }
367
428
  _handleFilterValueItemClick(e) {
368
429
  const itemText = e.detail.targetItem.innerText;
@@ -483,7 +544,7 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
483
544
  _restoreConfirmedOnEscape(evt) {
484
545
  if (evt.detail.escPressed) {
485
546
  this._cancelSettings();
486
- this._currentMode = ViewSettingsDialogMode.Sort;
547
+ this._currentMode = this._defaultMode;
487
548
  this._filterStepTwo = false;
488
549
  }
489
550
  }
@@ -495,6 +556,7 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
495
556
  this._recentlyFocused = this._sortOrder;
496
557
  this._focusRecentlyUsedControl();
497
558
  announce(this._resetButtonAction, InvisibleMessageMode.Assertive);
559
+ this.fireDecoratorEvent("reset-click");
498
560
  }
499
561
  /**
500
562
  * Sets current settings to ones passed as `settings` argument.
@@ -502,9 +564,29 @@ let ViewSettingsDialog = ViewSettingsDialog_1 = class ViewSettingsDialog extends
502
564
  */
503
565
  _restoreSettings(settings) {
504
566
  this._currentSettings = JSON.parse(JSON.stringify(settings));
505
- this._currentMode = ViewSettingsDialogMode.Sort;
567
+ this._currentMode = this._defaultMode;
506
568
  this._filterStepTwo = false;
507
569
  }
570
+ isCurrentCustomTabMode(tab) {
571
+ return this._currentMode === this._customTabMode(tab);
572
+ }
573
+ _customTabMode(tab) {
574
+ return tab._individualSlot;
575
+ }
576
+ _isCustomMode(mode) {
577
+ return mode.startsWith(CUSTOM_MODE_PREFIX);
578
+ }
579
+ _isValidMode(mode) {
580
+ if (mode === ViewSettingsDialogMode.Sort
581
+ || mode === ViewSettingsDialogMode.Filter
582
+ || mode === ViewSettingsDialogMode.Group) {
583
+ return true;
584
+ }
585
+ if (this._isCustomMode(mode)) {
586
+ return this._renderableCustomTabs.some(tab => this._customTabMode(tab) === mode);
587
+ }
588
+ return false;
589
+ }
508
590
  /**
509
591
  * Stores `Sort Order` list as recently used control and its selected item in current state.
510
592
  */
@@ -637,6 +719,9 @@ __decorate([
637
719
  __decorate([
638
720
  property({ type: Boolean })
639
721
  ], ViewSettingsDialog.prototype, "open", void 0);
722
+ __decorate([
723
+ property({ type: Boolean })
724
+ ], ViewSettingsDialog.prototype, "enableReset", void 0);
640
725
  __decorate([
641
726
  property({ type: Object })
642
727
  ], ViewSettingsDialog.prototype, "_recentlyFocused", void 0);
@@ -650,7 +735,7 @@ __decorate([
650
735
  property({ type: Object })
651
736
  ], ViewSettingsDialog.prototype, "_confirmedSettings", void 0);
652
737
  __decorate([
653
- property()
738
+ property({ noAttribute: true })
654
739
  ], ViewSettingsDialog.prototype, "_currentMode", void 0);
655
740
  __decorate([
656
741
  property({ type: Boolean, noAttribute: true })
@@ -664,6 +749,16 @@ __decorate([
664
749
  __decorate([
665
750
  slot()
666
751
  ], ViewSettingsDialog.prototype, "groupItems", void 0);
752
+ __decorate([
753
+ slot({
754
+ type: HTMLElement,
755
+ individualSlots: true,
756
+ invalidateOnChildChange: {
757
+ properties: true,
758
+ slots: false,
759
+ },
760
+ })
761
+ ], ViewSettingsDialog.prototype, "customTabs", void 0);
667
762
  __decorate([
668
763
  query("[ui5-list]")
669
764
  ], ViewSettingsDialog.prototype, "_list", void 0);
@@ -758,6 +853,18 @@ ViewSettingsDialog = ViewSettingsDialog_1 = __decorate([
758
853
  event("close", {
759
854
  bubbles: true,
760
855
  })
856
+ /**
857
+ * Fired when the Reset button is clicked.
858
+ *
859
+ * **Note:** Use this event to reset the state of custom tab content,
860
+ * as the component cannot detect changes within custom tabs.
861
+ * @since 2.22.0
862
+ * @public
863
+ */
864
+ ,
865
+ event("reset-click", {
866
+ bubbles: true,
867
+ })
761
868
  ], ViewSettingsDialog);
762
869
  ViewSettingsDialog.define();
763
870
  export default ViewSettingsDialog;
@@ -1 +1 @@
1
- {"version":3,"file":"ViewSettingsDialog.js","sourceRoot":"","sources":["../src/ViewSettingsDialog.ts"],"names":[],"mappings":"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","sourcesContent":["import property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport query from \"@ui5/webcomponents-base/dist/decorators/query.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { Slot, ChangeInfo } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport type Dialog from \"@ui5/webcomponents/dist/Dialog.js\";\nimport type List from \"@ui5/webcomponents/dist/List.js\";\nimport type { ListItemClickEventDetail, ListSelectionChangeEventDetail } from \"@ui5/webcomponents/dist/List.js\";\nimport announce from \"@ui5/webcomponents-base/dist/util/InvisibleMessage.js\";\nimport InvisibleMessageMode from \"@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js\";\nimport ViewSettingsDialogMode from \"./types/ViewSettingsDialogMode.js\";\n\nimport \"@ui5/webcomponents-icons/dist/sort.js\";\nimport \"@ui5/webcomponents-icons/dist/filter.js\";\nimport \"@ui5/webcomponents-icons/dist/group-2.js\";\nimport \"@ui5/webcomponents-icons/dist/nav-back.js\";\nimport type SortItem from \"./SortItem.js\";\nimport type FilterItem from \"./FilterItem.js\";\nimport type GroupItem from \"./GroupItem.js\";\n\nimport {\n\tVSD_DIALOG_TITLE_SORT,\n\tVSD_SUBMIT_BUTTON,\n\tVSD_CANCEL_BUTTON,\n\tVSD_RESET_BUTTON,\n\tVSD_SORT_ORDER,\n\tVSD_SORT_BY,\n\tVSD_GROUP_ORDER,\n\tVSD_GROUP_BY,\n\tVSD_ORDER_ASCENDING,\n\tVSD_ORDER_DESCENDING,\n\tVSD_FILTER_BY,\n\tVSD_SORT_TOOLTIP,\n\tVSD_FILTER_TOOLTIP,\n\tVSD_GROUP_TOOLTIP,\n\tVSD_RESET_BUTTON_ACTION,\n\tVSD_FILTER_ITEM_LABEL_TEXT,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport ViewSettingsDialogTemplate from \"./ViewSettingsDialogTemplate.js\";\n\n// Styles\nimport viewSettingsDialogCSS from \"./generated/themes/ViewSettingsDialog.css.js\";\n\ntype VSDFilter = Record<string, Array<string>> // {\"Filter 1\": [\"Filter 5\", \"Filter 6\"]}\ntype VSDFilters = Array<VSDFilter> // [{\"Filter 1\": [\"Filter 5\", \"Filter 6\"]}, {\"Filter 3\": [\"Filter 8\"]}]\n\n// The data, passed to the public method + part of the events' detail\ntype VSDSettings = {\n\tsortOrder: string,\n\tsortBy: string,\n\tfilters: VSDFilters,\n\tgroupOrder: string,\n\tgroupBy: string,\n}\n\n// Events' detail\ntype ViewSettingsDialogConfirmEventDetail = VSDSettings & {\n\tsortByItem: SortItem,\n\tsortDescending: boolean,\n\tgroupByItem: GroupItem,\n\tgroupDescending: boolean,\n}\n\ntype ViewSettingsDialogCancelEventDetail = VSDSettings & {\n\tsortByItem: SortItem,\n\tsortDescending: boolean,\n\tgroupByItem: GroupItem,\n\tgroupDescending: boolean,\n}\n\n// Common properties for several VSDInternalSettings fields\ntype VSDItem = {text?: string, selected: boolean}\n\n// Used for the private properties _initialSettings, _confirmedSettings and _currentSettings\ntype VSDInternalSettings = {\n\tsortOrder: Array<VSDItem>,\n\tsortBy: Array<VSDItem & {index: number}>,\n\tfilters: Array<VSDItem & {filterOptions: Array<VSDItem>}>,\n\tgroupOrder: Array<VSDItem>,\n\tgroupBy: Array<VSDItem & {index: number}>,\n}\n\n/**\n * @class\n * ### Overview\n * The `ui5-view-settings-dialog` component helps the user to sort data within a list or a table.\n * It consists of several lists like `Sort order` which is built-in and `Sort By` and `Filter By` lists,\n * for which you must be provide items(`ui5-sort-item` & `ui5-filter-item` respectively)\n * These options can be used to create sorters for a table.\n *\n * The `ui5-view-settings-dialog` interrupts the current application processing as it is the only focused UI element and\n * the main screen is dimmed/blocked.\n * The `ui5-view-settings-dialog` is modal, which means that user action is required before returning to the parent window is possible.\n *\n * ### Structure\n * A `ui5-view-settings-dialog` consists of a header, content, and a footer for action buttons.\n * The `ui5-view-settings-dialog` is usually displayed at the center of the screen.\n *\n * ### Responsive Behavior\n * `ui5-view-settings-dialog` stretches on full screen on phones.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/ViewSettingsDialog.js\";`\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.16\n * @public\n * @csspart header - Used to style the header.\n */\n@customElement({\n\ttag: \"ui5-view-settings-dialog\",\n\trenderer: jsxRenderer,\n\tstyles: viewSettingsDialogCSS,\n\ttemplate: ViewSettingsDialogTemplate,\n})\n\n/**\n * Fired when confirmation button is activated.\n * @param {String} sortOrder The current sort order selected.\n * @param {String} sortBy The currently selected `ui5-sort-item` text attribute.\n * @param {HTMLElement} sortByItem The currently selected `ui5-sort-item`.\n * @param {Boolean} sortDescending The selected sort order (true = descending, false = ascending).\n * @param {String} groupOrder The current group order selected.\n * @param {String} groupBy The currently selected `ui5-group-item` text attribute.\n * @param {HTMLElement} groupByItem The currently selected `ui5-group-item`.\n * @param {Boolean} groupDescending The selected group order (true = descending, false = ascending).\n * @param {Array} filters The selected filters items.\n * @public\n */\n@event(\"confirm\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when cancel button is activated.\n * @param {String} sortOrder The current sort order selected.\n * @param {String} sortBy The currently selected `ui5-sort-item` text attribute.\n * @param {HTMLElement} sortByItem The currently selected `ui5-sort-item`.\n * @param {Boolean} sortDescending The selected sort order (true = descending, false = ascending).\n * @param {String} groupOrder The current group order selected.\n * @param {String} groupBy The currently selected `ui5-group-item` text attribute.\n * @param {HTMLElement} groupByItem The currently selected `ui5-group-item`.\n * @param {Boolean} groupDescending The selected group order (true = descending, false = ascending).\n * @param {Array} filters The selected filters items.\n * @public\n */\n@event(\"cancel\", {\n\tbubbles: true,\n})\n\n/**\n * Fired before the component is opened.\n * @public\n */\n@event(\"before-open\", {\n\tcancelable: true,\n})\n/**\n * Fired after the dialog is opened.\n * @since 2.0.0\n * @public\n */\n@event(\"open\", {\n\tbubbles: true,\n})\n/**\n * Fired after the dialog is closed.\n * @since 2.0.0\n * @public\n */\n@event(\"close\", {\n\tbubbles: true,\n})\nclass ViewSettingsDialog extends UI5Element {\n\teventDetails!: {\n\t\t\"confirm\": ViewSettingsDialogConfirmEventDetail,\n\t\t\"cancel\": ViewSettingsDialogCancelEventDetail,\n\t\t\"before-open\": void,\n\t\t\"open\": void,\n\t\t\"close\": void,\n\t}\n\t/**\n\t * Defines the initial sort order.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tsortDescending = false;\n\n\t/**\n\t * Defines the initial group order.\n\t * @default false\n\t * @since 2.13.0\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tgroupDescending = false;\n\n\t/**\n\t * Indicates if the dialog is open.\n\t * @public\n\t * @default false\n\t * @since 2.0.0\n\t */\n\t@property({ type: Boolean })\n\topen = false;\n\n\t/**\n\t * Keeps recently focused list in order to focus it on next dialog open.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_recentlyFocused?: List;\n\n\t/**\n\t * Stores current settings of the dialog.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_currentSettings: VSDInternalSettings = {\n\t\tsortOrder: [],\n\t\tsortBy: [],\n\t\tfilters: [],\n\t\tgroupOrder: [],\n\t\tgroupBy: [],\n\t};\n\n\t/**\n\t * Stores settings of the dialog before the initial open.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_initialSettings: VSDInternalSettings = this._currentSettings;\n\n\t/**\n\t * Stores settings of the dialog after confirmation.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_confirmedSettings: VSDInternalSettings = this._currentSettings;\n\n\t/**\n\t * Defnies the current mode of the component.\n\t * @since 1.0.0-rc.16\n\t * @private\n\t */\n\t@property()\n\t_currentMode: `${ViewSettingsDialogMode}` = \"Sort\";\n\n\t/**\n\t * When in Filter By mode, defines whether we need to show the list of keys, or the list with values.\n\t * @since 1.0.0-rc.16\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_filterStepTwo = false;\n\n\t/**\n\t * Defines the list of items against which the user could sort data.\n\t *\n\t * **Note:** If you want to use this slot, you need to import used item: `import \"@ui5/webcomponents-fiori/dist/SortItem.js\";`\n\t * @public\n\t */\n\t@slot()\n\tsortItems!: Slot<SortItem>;\n\n\t/**\n\t * Defines the `filterItems` list.\n\t *\n\t * **Note:** If you want to use this slot, you need to import used item: `import \"@ui5/webcomponents-fiori/dist/FilterItem.js\";`\n\t * @public\n\t */\n\t@slot()\n\tfilterItems!: Slot<FilterItem>;\n\n\t/**\n\t * Defines the list of items against which the user could group data.\n\t *\n\t * **Note:** If you want to use this slot, you need to import used item: `import \"@ui5/webcomponents-fiori/dist/GroupItem.js\";`\n\t * @public\n\t */\n\t@slot()\n\tgroupItems!: Slot<GroupItem>;\n\n\t@query(\"[ui5-list]\")\n\t_list!: List;\n\n\t@query(\"[ui5-dialog]\")\n\t_dialog?: Dialog;\n\n\t@query(\"[ui5-list][sort-order]\")\n\t_sortOrder?: List;\n\n\t@query(\"[ui5-list][sort-by]\")\n\t_sortBy?: List;\n\n\t@query(\"[ui5-list][group-order]\")\n\t_groupOrder?: List;\n\n\t@query(\"[ui5-list][group-by]\")\n\t_groupBy?: List;\n\n\t@query(\"[ui5-list][filter-list]\")\n\t_filterList?: List;\n\n\t@query(\"[ui5-list][filter-options]\")\n\t_filterOptions?: List;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\tonBeforeRendering() {\n\t\tif (this._currentSettings.filters && this._currentSettings.filters.length) {\n\t\t\tthis._setAdditionalTexts();\n\t\t}\n\n\t\tif (this.shouldBuildSort) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.shouldBuildFilter) {\n\t\t\tthis._currentMode = ViewSettingsDialogMode.Filter;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.shouldBuildGroup) {\n\t\t\tthis._currentMode = ViewSettingsDialogMode.Group;\n\t\t}\n\t}\n\n\tonInvalidation(changeInfo: ChangeInfo) {\n\t\tif (changeInfo.type === \"slot\") {\n\t\t\tthis._confirmedSettings = this._settings;\n\t\t}\n\t}\n\n\t_setAdditionalTexts() {\n\t\t// Add the additional text to the filter options\n\t\tthis.filterItems.forEach((filter, index) => {\n\t\t\tlet selectedCount = 0;\n\t\t\tfor (let i = 0; i < filter.values.length; i++) {\n\t\t\t\tif (this._currentSettings.filters[index].filterOptions[i].selected) {\n\t\t\t\t\tselectedCount++;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfilter.additionalText = !selectedCount ? \"\" : `${selectedCount}`;\n\t\t});\n\t}\n\n\tget _selectedFilter() {\n\t\tfor (let i = 0; i < this._currentSettings.filters.length; i++) {\n\t\t\tif (this._currentSettings.filters[i].selected) {\n\t\t\t\treturn this._currentSettings.filters[i];\n\t\t\t}\n\t\t}\n\t}\n\n\t_selectedFiltersLabel(item: FilterItem) {\n\t\tconst text = item.text ? `${item.text},` : \"\";\n\t\tconst additionalText = item.additionalText ? `${item.additionalText},` : \"\";\n\t\treturn additionalText ? ViewSettingsDialog.i18nBundle.getText(VSD_FILTER_ITEM_LABEL_TEXT, text, additionalText) : text;\n\t}\n\n\tget shouldBuildSort() {\n\t\treturn !!this.sortItems.length;\n\t}\n\n\tget shouldBuildFilter() {\n\t\treturn !!this.filterItems.length;\n\t}\n\n\tget shouldBuildGroup() {\n\t\treturn !!this.groupItems.length;\n\t}\n\n\tget hasPagination() {\n\t\tconst buildConditions = [this.shouldBuildSort, this.shouldBuildFilter, this.shouldBuildGroup];\n\t\treturn buildConditions.filter(condition => condition).length > 1;\n\t}\n\n\tget _filterByTitle() {\n\t\tconst selectedFilterText = this._selectedFilter ? this._selectedFilter.text : \"\";\n\t\treturn `${ViewSettingsDialog.i18nBundle.getText(VSD_FILTER_BY)}: ${selectedFilterText}`;\n\t}\n\n\tget _dialogTitle() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_DIALOG_TITLE_SORT);\n\t}\n\n\tget _okButtonLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_SUBMIT_BUTTON);\n\t}\n\n\tget _cancelButtonLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_CANCEL_BUTTON);\n\t}\n\n\tget _resetButtonLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_RESET_BUTTON);\n\t}\n\n\tget _ascendingLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_ORDER_ASCENDING);\n\t}\n\n\tget _descendingLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_ORDER_DESCENDING);\n\t}\n\n\tget _sortOrderLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_SORT_ORDER);\n\t}\n\n\tget _groupOrderLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_GROUP_ORDER);\n\t}\n\n\tget _filterByLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_FILTER_BY);\n\t}\n\n\tget _sortByLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_SORT_BY);\n\t}\n\n\tget _groupByLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_GROUP_BY);\n\t}\n\n\tget _sortButtonTooltip() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_SORT_TOOLTIP);\n\t}\n\n\tget _filterButtonTooltip() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_FILTER_TOOLTIP);\n\t}\n\n\tget _groupButtonTooltip() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_GROUP_TOOLTIP);\n\t}\n\n\tget _resetButtonAction() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_RESET_BUTTON_ACTION);\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget _sortAscending() {\n\t\treturn !this.sortDescending;\n\t}\n\n\tget _title() {\n\t\treturn this.showBackButton\n\t\t\t? this._filterByTitle\n\t\t\t: this._dialogTitle;\n\t}\n\n\t/**\n\t * Determines disabled state of the `Reset` button.\n\t */\n\tget _disableResetButton() {\n\t\treturn this._dialog && this._settingsAreInitial && this._filteresAreInitial;\n\t}\n\n\tget _settingsAreInitial() {\n\t\tlet settingsAreInitial = true;\n\t\t[\"sortBy\", \"sortOrder\", \"groupBy\", \"groupOrder\"].forEach(settingsList => {\n\t\t\tthis._currentSettings[settingsList as keyof VSDInternalSettings].forEach((item, index) => {\n\t\t\t\tif (item.selected !== this._initialSettings[settingsList as keyof VSDInternalSettings][index].selected) {\n\t\t\t\t\tsettingsAreInitial = false;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\treturn settingsAreInitial;\n\t}\n\n\tget _filteresAreInitial() {\n\t\tlet filtersAreInitial = true;\n\t\tthis._currentSettings.filters.forEach((filter, index) => {\n\t\t\tfor (let i = 0; i < filter.filterOptions.length; i++) {\n\t\t\t\tif (filter.filterOptions[i].selected !== this._initialSettings.filters[index].filterOptions[i].selected) {\n\t\t\t\t\tfiltersAreInitial = false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treturn filtersAreInitial;\n\t}\n\n\t/**\n\t * Returns the current settings (current state of all lists).\n\t */\n\tget _settings(): VSDInternalSettings {\n\t\treturn {\n\t\t\tsortOrder: JSON.parse(JSON.stringify(this.initSortOrderItems)),\n\t\t\tsortBy: JSON.parse(JSON.stringify(this.initSortByItems)),\n\t\t\tgroupOrder: JSON.parse(JSON.stringify(this.initGroupOrderItems)),\n\t\t\tgroupBy: JSON.parse(JSON.stringify(this.initGroupByItems)),\n\t\t\tfilters: this.filterItems.map(item => {\n\t\t\t\treturn {\n\t\t\t\t\ttext: item.text || \"\",\n\t\t\t\t\tselected: false,\n\t\t\t\t\tfilterOptions: item.values.map(optionValue => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttext: optionValue.text || \"\",\n\t\t\t\t\t\t\tselected: optionValue.selected,\n\t\t\t\t\t\t};\n\t\t\t\t\t}),\n\t\t\t\t};\n\t\t\t}),\n\t\t};\n\t}\n\n\tget initSortByItems() {\n\t\treturn this.sortItems.map((item, index) => {\n\t\t\treturn {\n\t\t\t\ttext: item.text,\n\t\t\t\tselected: item.selected,\n\t\t\t\tindex,\n\t\t\t};\n\t\t});\n\t}\n\n\tget initGroupByItems() {\n\t\treturn this.groupItems.map((item, index) => {\n\t\t\treturn {\n\t\t\t\ttext: item.text,\n\t\t\t\tselected: item.selected,\n\t\t\t\tindex,\n\t\t\t};\n\t\t});\n\t}\n\n\tget initSortOrderItems() {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttext: this._ascendingLabel,\n\t\t\t\tselected: !this.sortDescending,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: this._descendingLabel,\n\t\t\t\tselected: this.sortDescending,\n\t\t\t},\n\t\t];\n\t}\n\n\tget initGroupOrderItems() {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttext: this._ascendingLabel,\n\t\t\t\tselected: !this.groupDescending,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: this._descendingLabel,\n\t\t\t\tselected: this.groupDescending,\n\t\t\t},\n\t\t];\n\t}\n\n\tget expandContent() {\n\t\treturn this._filterStepTwo || !this.hasPagination;\n\t}\n\n\tget isModeSort() {\n\t\treturn this._currentMode === ViewSettingsDialogMode.Sort;\n\t}\n\n\tget isModeFilter() {\n\t\treturn this._currentMode === ViewSettingsDialogMode.Filter;\n\t}\n\n\tget isModeGroup() {\n\t\treturn this._currentMode === ViewSettingsDialogMode.Group;\n\t}\n\n\tget showBackButton() {\n\t\treturn this.isModeFilter && this._filterStepTwo;\n\t}\n\n\t/**\n\t * Shows the dialog.\n\t */\n\tbeforeDialogOpen(): void {\n\t\t// first time opening - initialize settings\n\t\tif (this._currentSettings.sortOrder.length === 0) {\n\t\t\tthis._initialSettings = this._settings;\n\t\t\tthis._currentSettings = this._settings;\n\t\t\tthis._confirmedSettings = this._settings;\n\t\t} else {\n\t\t\tthis._restoreSettings(this._confirmedSettings);\n\t\t}\n\n\t\tthis.fireDecoratorEvent(\"before-open\");\n\t}\n\n\tafterDialogOpen(): void {\n\t\tthis._list?.focusFirstItem();\n\n\t\tthis._focusRecentlyUsedControl();\n\n\t\tthis.fireDecoratorEvent(\"open\");\n\t}\n\n\tafterDialogClose(): void {\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\t_handleModeChange(e: CustomEvent) { // use SegmentedButton event when done\n\t\tconst mode: ViewSettingsDialogMode = e.detail.selectedItems[0].getAttribute(\"data-mode\");\n\t\tthis._currentMode = ViewSettingsDialogMode[mode];\n\t}\n\n\t_handleFilterValueItemClick(e: CustomEvent<ListSelectionChangeEventDetail>) {\n\t\tconst itemText = e.detail.targetItem.innerText;\n\n\t\t// Update the component state\n\t\tthis._currentSettings.filters = this._currentSettings.filters.map(filter => {\n\t\t\tif (filter.selected) {\n\t\t\t\tfilter.filterOptions.forEach(option => {\n\t\t\t\t\tif (option.text === itemText) {\n\t\t\t\t\t\toption.selected = !option.selected;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn filter;\n\t\t});\n\n\t\tthis._setSelectedProp(itemText);\n\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(this._currentSettings));\n\t}\n\n\t/**\n\t * Sets the selected property of the clicked item.\n\t * @private\n\t */\n\t_setSelectedProp(itemText: string) {\n\t\tthis.filterItems.forEach(filterItem => {\n\t\t\tfilterItem.values.forEach(option => {\n\t\t\t\tif (option.text === itemText) {\n\t\t\t\t\toption.selected = !option.selected;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tasync _navigateToFilters() {\n\t\tthis._filterStepTwo = false;\n\t\tawait renderFinished();\n\t\tif (this._filterList) {\n\t\t\tthis._filterList.focusFirstItem();\n\t\t}\n\t}\n\n\tasync _changeCurrentFilter(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tthis._filterStepTwo = true;\n\t\tthis._currentSettings.filters = this._currentSettings.filters.map(filter => {\n\t\t\tfilter.selected = filter.text === e.detail.item.innerText;\n\t\t\treturn filter;\n\t\t});\n\t\tawait renderFinished();\n\t\tif (this._filterOptions) {\n\t\t\tconst selectedItems = this._filterOptions.getSelectedItems();\n\t\t\tif (selectedItems.length) {\n\t\t\t\tselectedItems[0].focus();\n\t\t\t} else {\n\t\t\t\tthis._filterOptions.focusFirstItem();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Sets focus on recently used control within the dialog.\n\t */\n\t_focusRecentlyUsedControl() {\n\t\tif (!this._recentlyFocused || !Object.keys(this._recentlyFocused).length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst recentlyFocusedSelectedItems = this._recentlyFocused.getSelectedItems();\n\t\tif (recentlyFocusedSelectedItems.length) {\n\t\t\trecentlyFocusedSelectedItems[0].focus();\n\t\t}\n\t}\n\n\t/**\n\t * Stores current settings as confirmed and fires `confirm` event.\n\t */\n\t_confirmSettings() {\n\t\tthis.open = false;\n\t\tthis._confirmedSettings = this._currentSettings;\n\n\t\tthis.fireDecoratorEvent(\"confirm\", this.eventsParams);\n\t}\n\n\t/**\n\t * Sets current settings to recently confirmed ones and fires `cancel` event.\n\t */\n\t_cancelSettings() {\n\t\tthis._restoreSettings(this._confirmedSettings);\n\n\t\tthis.fireDecoratorEvent(\"cancel\", this.eventsParams);\n\t\tthis.open = false;\n\t}\n\n\tget eventsParams() {\n\t\tconst _currentSortOrderSelected = this._currentSettings.sortOrder.filter(item => item.selected)[0],\n\t\t\t_currentSortBySelected = this._currentSettings.sortBy.filter(item => item.selected)[0],\n\t\t\t_currentGroupOrderSelected = this._currentSettings.groupOrder.filter(item => item.selected)[0],\n\t\t\t_currentGroupBySelected = this._currentSettings.groupBy.filter(item => item.selected)[0],\n\t\t\tsortOrder = _currentSortOrderSelected && (_currentSortOrderSelected.text || \"\"),\n\t\t\tsortDescending = !this._currentSettings.sortOrder[0].selected,\n\t\t\tsortBy = _currentSortBySelected && (_currentSortBySelected.text || \"\"),\n\t\t\tsortByElementIndex = _currentSortBySelected && _currentSortBySelected.index,\n\t\t\tsortByItem = this.sortItems[sortByElementIndex],\n\t\t\tgroupOrder = _currentGroupOrderSelected && (_currentGroupOrderSelected.text || \"\"),\n\t\t\tgroupDescending = !this._currentSettings.groupOrder[0].selected,\n\t\t\tgroupBy = _currentGroupBySelected && (_currentGroupBySelected.text || \"\"),\n\t\t\tgroupByElementIndex = _currentGroupBySelected && _currentGroupBySelected.index,\n\t\t\tgroupByItem = this.groupItems[groupByElementIndex],\n\t\t\tselectedFilterItems = this.filterItems.filter(filterItem => filterItem.values.some(item => item.selected));\n\t\treturn {\n\t\t\tsortOrder,\n\t\t\tsortDescending,\n\t\t\tsortBy,\n\t\t\tsortByItem,\n\t\t\tgroupOrder,\n\t\t\tgroupDescending,\n\t\t\tgroupBy,\n\t\t\tgroupByItem,\n\t\t\tfilters: this.selectedFilters,\n\t\t\tfilterItems: selectedFilterItems,\n\t\t};\n\t}\n\n\tget selectedFilters() {\n\t\tconst result: VSDFilters = [];\n\n\t\tthis._currentSettings.filters.forEach(filter => {\n\t\t\tconst selectedOptions: Array<string> = [];\n\n\t\t\tfilter.filterOptions.forEach(option => {\n\t\t\t\tif (option.selected) {\n\t\t\t\t\tselectedOptions.push(option.text || \"\");\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (selectedOptions.length) {\n\t\t\t\tresult.push({});\n\t\t\t\tresult[result.length - 1][filter.text || \"\"] = selectedOptions;\n\t\t\t}\n\t\t});\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * If the dialog is closed by [Escape] key, do the same as if the `Cancel` button is pressed.\n\t * @param evt\n\t */\n\t_restoreConfirmedOnEscape(evt: CustomEvent) { // Dialog#before-close\n\t\tif (evt.detail.escPressed) {\n\t\t\tthis._cancelSettings();\n\t\t\tthis._currentMode = ViewSettingsDialogMode.Sort;\n\t\t\tthis._filterStepTwo = false;\n\t\t}\n\t}\n\n\t/**\n\t * Resets the control settings to their initial state.\n\t */\n\t_resetSettings() {\n\t\tthis._restoreSettings(this._initialSettings);\n\t\tthis._recentlyFocused = this._sortOrder!;\n\t\tthis._focusRecentlyUsedControl();\n\t\tannounce(this._resetButtonAction, InvisibleMessageMode.Assertive);\n\t}\n\n\t/**\n\t * Sets current settings to ones passed as `settings` argument.\n\t * @param settings\n\t */\n\t_restoreSettings(settings: VSDInternalSettings) {\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(settings));\n\t\tthis._currentMode = ViewSettingsDialogMode.Sort;\n\t\tthis._filterStepTwo = false;\n\t}\n\n\t/**\n\t * Stores `Sort Order` list as recently used control and its selected item in current state.\n\t */\n\t_onSortOrderChange(e: CustomEvent<ListSelectionChangeEventDetail>) {\n\t\tthis._recentlyFocused = this._sortOrder!;\n\t\tthis._currentSettings.sortOrder = this.initSortOrderItems.map(item => {\n\t\t\titem.selected = item.text === e.detail.targetItem.innerText;\n\t\t\treturn item;\n\t\t});\n\n\t\t// Invalidate\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(this._currentSettings));\n\t}\n\n\t/**\n\t * Stores `Sort By` list as recently used control and its selected item in current state.\n\t */\n\t_onSortByChange(e: CustomEvent<ListSelectionChangeEventDetail>) {\n\t\tconst selectedItemIndex = Number(e.detail.targetItem.getAttribute(\"data-ui5-external-action-item-index\"));\n\t\tthis._recentlyFocused = this._sortBy!;\n\t\tthis._currentSettings.sortBy = this.initSortByItems.map((item, index) => {\n\t\t\titem.selected = index === selectedItemIndex;\n\t\t\treturn item;\n\t\t});\n\t\t// Invalidate\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(this._currentSettings));\n\t}\n\n\t/**\n\t * Stores `Group Order` list as recently used control and its selected item in current state.\n\t */\n\t_onGroupOrderChange(e: CustomEvent<ListSelectionChangeEventDetail>) {\n\t\tthis._recentlyFocused = this._groupOrder!;\n\t\tthis._currentSettings.groupOrder = this.initGroupOrderItems.map(item => {\n\t\t\titem.selected = item.text === e.detail.targetItem.innerText;\n\t\t\treturn item;\n\t\t});\n\n\t\t// Invalidate\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(this._currentSettings));\n\t}\n\n\t/**\n\t * Stores `Group By` list as recently used control and its selected item in current state.\n\t */\n\t_onGroupByChange(e: CustomEvent<ListSelectionChangeEventDetail>) {\n\t\tconst selectedItemIndex = Number(e.detail.targetItem.getAttribute(\"data-ui5-external-action-item-index\"));\n\t\tthis._recentlyFocused = this._groupBy!;\n\t\tthis._currentSettings.groupBy = this.initGroupByItems.map((item, index) => {\n\t\t\titem.selected = index === selectedItemIndex;\n\t\t\treturn item;\n\t\t});\n\n\t\t// Invalidate\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(this._currentSettings));\n\t}\n\n\t/**\n\t * Sets a JavaScript object, as settings to the `ui5-view-settings-dialog`.\n\t * This method can be used after the dialog is initially open, as the dialog needs\n\t * to set its initial settings.\n\t * The `ui5-view-settings-dialog` throws an event called \"before-open\",\n\t * which can be used as a trigger point.\n\t * The object should have the following format:\n\t * @param settings - predefined settings.\n\t * @public\n\t */\n\tsetConfirmedSettings(settings: VSDSettings): void {\n\t\tif (settings && this._dialog && !this._dialog.open) {\n\t\t\tconst tempSettings: VSDInternalSettings = JSON.parse(JSON.stringify(this._confirmedSettings));\n\t\t\tif (settings.sortOrder) {\n\t\t\t\tfor (let i = 0; i < tempSettings.sortOrder.length; i++) {\n\t\t\t\t\tif (tempSettings.sortOrder[i].text === settings.sortOrder) {\n\t\t\t\t\t\ttempSettings.sortOrder[i].selected = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttempSettings.sortOrder[i].selected = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (settings.sortBy) {\n\t\t\t\tfor (let i = 0; i < tempSettings.sortBy.length; i++) {\n\t\t\t\t\tif (tempSettings.sortBy[i].text === settings.sortBy) {\n\t\t\t\t\t\ttempSettings.sortBy[i].selected = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttempSettings.sortBy[i].selected = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (settings.groupOrder) {\n\t\t\t\tfor (let i = 0; i < tempSettings.groupOrder.length; i++) {\n\t\t\t\t\tif (tempSettings.groupOrder[i].text === settings.groupOrder) {\n\t\t\t\t\t\ttempSettings.groupOrder[i].selected = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttempSettings.groupOrder[i].selected = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (settings.groupBy) {\n\t\t\t\tfor (let i = 0; i < tempSettings.groupBy.length; i++) {\n\t\t\t\t\tif (tempSettings.groupBy[i].text === settings.groupBy) {\n\t\t\t\t\t\ttempSettings.groupBy[i].selected = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttempSettings.groupBy[i].selected = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (settings.filters) {\n\t\t\t\tconst inputFilters: VSDFilter = {};\n\t\t\t\tfor (let i = 0; i < settings.filters.length; i++) {\n\t\t\t\t\tinputFilters[Object.keys(settings.filters[i])[0]] = settings.filters[i][Object.keys(settings.filters[i])[0]];\n\t\t\t\t}\n\n\t\t\t\tfor (let i = 0; i < tempSettings.filters.length; i++) {\n\t\t\t\t\tfor (let j = 0; j < tempSettings.filters[i].filterOptions.length; j++) {\n\t\t\t\t\t\tif (inputFilters[tempSettings.filters[i].text || \"\"] && inputFilters[tempSettings.filters[i].text || \"\"].indexOf(tempSettings.filters[i].filterOptions[j].text || \"\") > -1) {\n\t\t\t\t\t\t\ttempSettings.filters[i].filterOptions[j].selected = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttempSettings.filters[i].filterOptions[j].selected = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis._confirmedSettings = JSON.parse(JSON.stringify(tempSettings));\n\t\t}\n\t}\n}\n\nViewSettingsDialog.define();\n\nexport default ViewSettingsDialog;\nexport type {\n\tViewSettingsDialogConfirmEventDetail,\n\tViewSettingsDialogCancelEventDetail,\n\tVSDSettings,\n};\n"]}
1
+ {"version":3,"file":"ViewSettingsDialog.js","sourceRoot":"","sources":["../src/ViewSettingsDialog.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,wDAAwD,CAAC;AAC1E,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,KAAK,MAAM,kDAAkD,CAAC;AAErE,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AACjE,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,UAAU,MAAM,4CAA4C,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAIxE,OAAO,QAAQ,MAAM,uDAAuD,CAAC;AAC7E,OAAO,oBAAoB,MAAM,4DAA4D,CAAC;AAC9F,OAAO,sBAAsB,MAAM,mCAAmC,CAAC;AAEvE,OAAO,uCAAuC,CAAC;AAC/C,OAAO,yCAAyC,CAAC;AACjD,OAAO,0CAA0C,CAAC;AAClD,OAAO,2CAA2C,CAAC;AAMnD,OAAO,EACN,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,0BAA0B,GAC1B,MAAM,mCAAmC,CAAC;AAE3C,WAAW;AACX,OAAO,0BAA0B,MAAM,iCAAiC,CAAC;AAEzE,SAAS;AACT,OAAO,qBAAqB,MAAM,8CAA8C,CAAC;AAyCjF,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAKzC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AA4EH,IAAM,kBAAkB,0BAAxB,MAAM,kBAAmB,SAAQ,UAAU;IAA3C;;QASC;;;;WAIG;QAEH,mBAAc,GAAG,KAAK,CAAC;QAEvB;;;;;WAKG;QAEH,oBAAe,GAAG,KAAK,CAAC;QAExB;;;;;WAKG;QAEH,SAAI,GAAG,KAAK,CAAC;QAEb;;;;;;;;;;WAUG;QAEH,gBAAW,GAAG,KAAK,CAAC;QASpB;;;WAGG;QAEH,qBAAgB,GAAwB;YACvC,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,EAAE;YACX,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,EAAE;SACX,CAAC;QAEF;;;WAGG;QAEH,qBAAgB,GAAwB,IAAI,CAAC,gBAAgB,CAAC;QAE9D;;;WAGG;QAEH,uBAAkB,GAAwB,IAAI,CAAC,gBAAgB,CAAC;QAEhE;;;;WAIG;QAEH,iBAAY,GAAmC,sBAAsB,CAAC,IAAI,CAAC;QAE3E;;;;WAIG;QAEH,mBAAc,GAAG,KAAK,CAAC;IAywBxB,CAAC;IA9rBA,iBAAiB;QAChB,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC3E,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO;QACR,CAAC;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,sBAAsB,CAAC,MAAM,CAAC;YAClD,OAAO;QACR,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,YAAY,GAAG,sBAAsB,CAAC,KAAK,CAAC;YACjD,OAAO;QACR,CAAC;QAED,IAAI,IAAI,CAAC,qBAAqB,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACpF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,CAAC;IACF,CAAC;IAED,cAAc,CAAC,UAAsB;QACpC,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAChC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1C,CAAC;IACF,CAAC;IAED,mBAAmB;QAClB,gDAAgD;QAChD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAC1C,IAAI,aAAa,GAAG,CAAC,CAAC;YACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACpE,aAAa,EAAE,CAAC;gBACjB,CAAC;YACF,CAAC;YAED,MAAM,CAAC,cAAc,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,aAAa,EAAE,CAAC;QAClE,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,eAAe;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/D,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACzC,CAAC;QACF,CAAC;IACF,CAAC;IAED,qBAAqB,CAAC,IAAgB;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,OAAO,cAAc,CAAC,CAAC,CAAC,oBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,0BAA0B,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxH,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IAChC,CAAC;IAED,IAAI,iBAAiB;QACpB,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;IAClC,CAAC;IAED,IAAI,gBAAgB;QACnB,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IACjC,CAAC;IAED,IAAI,qBAAqB;QACxB,OAAO,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,IAAI,qBAAqB;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,aAAa;QAChB,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC;aAC5F,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC;aAC9B,MAAM,CAAC;QAET,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChC,OAAO,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,gBAAgB,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,YAAY;QACf,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO,sBAAsB,CAAC,IAAI,CAAC;QACpC,CAAC;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,OAAO,sBAAsB,CAAC,MAAM,CAAC;QACtC,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,OAAO,sBAAsB,CAAC,KAAK,CAAC;QACrC,CAAC;QAED,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,sBAAsB,CAAC,IAAI,CAAC;IACpC,CAAC;IAED,IAAI,kBAAkB;QACrB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5C,OAAO;QACR,CAAC;QAED,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/F,CAAC;IAED,IAAI,cAAc;QACjB,MAAM,kBAAkB,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,OAAO,GAAG,oBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,kBAAkB,EAAE,CAAC;IACzF,CAAC;IAED,IAAI,YAAY;QACf,OAAO,oBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,oBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,oBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,iBAAiB;QACpB,OAAO,oBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,oBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,gBAAgB;QACnB,OAAO,oBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,oBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,gBAAgB;QACnB,OAAO,oBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,oBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,YAAY;QACf,OAAO,oBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,oBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,oBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,oBAAoB;QACvB,OAAO,oBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,mBAAmB;QACtB,OAAO,oBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,oBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,OAAO,EAAE,CAAC;IAClB,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,cAAc;YACzB,CAAC,CAAC,IAAI,CAAC,cAAc;YACrB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAI,mBAAmB;QACtB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,CAAC;IAC7E,CAAC;IAED,IAAI,mBAAmB;QACtB,IAAI,kBAAkB,GAAG,IAAI,CAAC;QAC9B,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YACvE,IAAI,CAAC,gBAAgB,CAAC,YAAyC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACxF,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,gBAAgB,CAAC,YAAyC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACxG,kBAAkB,GAAG,KAAK,CAAC;gBAC5B,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,kBAAkB,CAAC;IAC3B,CAAC;IAED,IAAI,mBAAmB;QACtB,IAAI,iBAAiB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtD,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACzG,iBAAiB,GAAG,KAAK,CAAC;gBAC3B,CAAC;YACF,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,OAAO,iBAAiB,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACZ,OAAO;YACN,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC9D,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACxD,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAChE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC1D,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACpC,OAAO;oBACN,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;oBACrB,QAAQ,EAAE,KAAK;oBACf,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;wBAC5C,OAAO;4BACN,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,EAAE;4BAC5B,QAAQ,EAAE,WAAW,CAAC,QAAQ;yBAC9B,CAAC;oBACH,CAAC,CAAC;iBACF,CAAC;YACH,CAAC,CAAC;SACF,CAAC;IACH,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACzC,OAAO;gBACN,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK;aACL,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,gBAAgB;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC1C,OAAO;gBACN,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK;aACL,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO;YACN;gBACC,IAAI,EAAE,IAAI,CAAC,eAAe;gBAC1B,QAAQ,EAAE,CAAC,IAAI,CAAC,cAAc;aAC9B;YACD;gBACC,IAAI,EAAE,IAAI,CAAC,gBAAgB;gBAC3B,QAAQ,EAAE,IAAI,CAAC,cAAc;aAC7B;SACD,CAAC;IACH,CAAC;IAED,IAAI,mBAAmB;QACtB,OAAO;YACN;gBACC,IAAI,EAAE,IAAI,CAAC,eAAe;gBAC1B,QAAQ,EAAE,CAAC,IAAI,CAAC,eAAe;aAC/B;YACD;gBACC,IAAI,EAAE,IAAI,CAAC,gBAAgB;gBAC3B,QAAQ,EAAE,IAAI,CAAC,eAAe;aAC9B;SACD,CAAC;IACH,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;IACnD,CAAC;IAED,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,YAAY,KAAK,sBAAsB,CAAC,IAAI,CAAC;IAC1D,CAAC;IAED,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,YAAY,KAAK,sBAAsB,CAAC,MAAM,CAAC;IAC5D,CAAC;IAED,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,YAAY,KAAK,sBAAsB,CAAC,KAAK,CAAC;IAC3D,CAAC;IAED,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,cAAc,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,gBAAgB;QACf,2CAA2C;QAC3C,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC;YACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC;YACvC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1C,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC;IAED,eAAe;QACd,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,CAAC;QAE7B,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAEjC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,gBAAgB;QACf,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,iBAAiB,CAAC,CAAc;QAC/B,MAAM,IAAI,GAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAmB,CAAC;QAEpF,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,OAAO;QACR,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,2BAA2B,CAAC,CAA8C;QACzE,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;QAE/C,6BAA6B;QAC7B,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC1E,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACrB,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBACrC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC9B,MAAM,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACpC,CAAC;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC;YACD,OAAO,MAAM,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAEhC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,QAAgB;QAChC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACrC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAClC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC9B,MAAM,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACpC,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB;QACvB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,MAAM,cAAc,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;QACnC,CAAC;IACF,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,CAAwC;QAClE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC1E,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YAC1D,OAAO,MAAM,CAAC;QACf,CAAC,CAAC,CAAC;QACH,MAAM,cAAc,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;YAC7D,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;gBAC1B,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;YACtC,CAAC;QACF,CAAC;IACF,CAAC;IAED;;OAEG;IACH,yBAAyB;QACxB,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1E,OAAO;QACR,CAAC;QAED,MAAM,4BAA4B,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;QAC9E,IAAI,4BAA4B,CAAC,MAAM,EAAE,CAAC;YACzC,4BAA4B,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACzC,CAAC;IACF,CAAC;IAED;;OAEG;IACH,gBAAgB;QACf,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAEhD,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,eAAe;QACd,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAE/C,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACnB,CAAC;IAED,IAAI,YAAY;QACf,MAAM,yBAAyB,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EACjG,sBAAsB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EACtF,0BAA0B,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAC9F,uBAAuB,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EACxF,SAAS,GAAG,yBAAyB,IAAI,CAAC,yBAAyB,CAAC,IAAI,IAAI,EAAE,CAAC,EAC/E,cAAc,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,EAC7D,MAAM,GAAG,sBAAsB,IAAI,CAAC,sBAAsB,CAAC,IAAI,IAAI,EAAE,CAAC,EACtE,kBAAkB,GAAG,sBAAsB,IAAI,sBAAsB,CAAC,KAAK,EAC3E,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAC/C,UAAU,GAAG,0BAA0B,IAAI,CAAC,0BAA0B,CAAC,IAAI,IAAI,EAAE,CAAC,EAClF,eAAe,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,EAC/D,OAAO,GAAG,uBAAuB,IAAI,CAAC,uBAAuB,CAAC,IAAI,IAAI,EAAE,CAAC,EACzE,mBAAmB,GAAG,uBAAuB,IAAI,uBAAuB,CAAC,KAAK,EAC9E,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAClD,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5G,OAAO;YACN,SAAS;YACT,cAAc;YACd,MAAM;YACN,UAAU;YACV,UAAU;YACV,eAAe;YACf,OAAO;YACP,WAAW;YACX,OAAO,EAAE,IAAI,CAAC,eAAe;YAC7B,WAAW,EAAE,mBAAmB;SAChC,CAAC;IACH,CAAC;IAED,IAAI,eAAe;QAClB,MAAM,MAAM,GAAe,EAAE,CAAC;QAE9B,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC9C,MAAM,eAAe,GAAkB,EAAE,CAAC;YAE1C,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBACrC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACrB,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBACzC,CAAC;YACF,CAAC,CAAC,CAAC;YAEH,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChB,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,eAAe,CAAC;YAChE,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,yBAAyB,CAAC,GAAgB;QACzC,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACtC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC7B,CAAC;IACF,CAAC;IAED;;OAEG;IACH,cAAc;QACb,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAW,CAAC;QACzC,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,QAA6B;QAC7C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC7B,CAAC;IAED,sBAAsB,CAAC,GAAgC;QACtD,OAAO,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IAED,cAAc,CAAC,GAAgC;QAC9C,OAAO,GAAG,CAAC,eAAyC,CAAC;IACtD,CAAC;IAED,aAAa,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC5C,CAAC;IAED,YAAY,CAAC,IAAY;QACxB,IAAI,IAAI,KAAM,sBAAsB,CAAC,IAAe;eAChD,IAAI,KAAM,sBAAsB,CAAC,MAAiB;eAClD,IAAI,KAAM,sBAAsB,CAAC,KAAgB,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC;QACb,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;QAClF,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,CAA8C;QAChE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAW,CAAC;QACzC,IAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACpE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;YAC5D,OAAO,IAAI,CAAC;QACb,CAAC,CAAC,CAAC;QAEH,aAAa;QACb,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,CAA8C;QAC7D,MAAM,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,qCAAqC,CAAC,CAAC,CAAC;QAC1G,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAQ,CAAC;QACtC,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACvE,IAAI,CAAC,QAAQ,GAAG,KAAK,KAAK,iBAAiB,CAAC;YAC5C,OAAO,IAAI,CAAC;QACb,CAAC,CAAC,CAAC;QACH,aAAa;QACb,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,CAA8C;QACjE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAY,CAAC;QAC1C,IAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACtE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;YAC5D,OAAO,IAAI,CAAC;QACb,CAAC,CAAC,CAAC;QAEH,aAAa;QACb,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,CAA8C;QAC9D,MAAM,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,qCAAqC,CAAC,CAAC,CAAC;QAC1G,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAS,CAAC;QACvC,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACzE,IAAI,CAAC,QAAQ,GAAG,KAAK,KAAK,iBAAiB,CAAC;YAC5C,OAAO,IAAI,CAAC;QACb,CAAC,CAAC,CAAC;QAEH,aAAa;QACb,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;;;;OASG;IACH,oBAAoB,CAAC,QAAqB;QACzC,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpD,MAAM,YAAY,GAAwB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC9F,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACxD,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC;wBAC3D,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;oBAC3C,CAAC;yBAAM,CAAC;wBACP,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;oBAC5C,CAAC;gBACF,CAAC;YACF,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACrD,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;wBACrD,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACxC,CAAC;yBAAM,CAAC;wBACP,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;oBACzC,CAAC;gBACF,CAAC;YACF,CAAC;YAED,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzD,IAAI,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;wBAC7D,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;oBAC5C,CAAC;yBAAM,CAAC;wBACP,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;oBAC7C,CAAC;gBACF,CAAC;YACF,CAAC;YAED,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtD,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;wBACvD,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACzC,CAAC;yBAAM,CAAC;wBACP,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;oBAC1C,CAAC;gBACF,CAAC;YACF,CAAC;YAED,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtB,MAAM,YAAY,GAAc,EAAE,CAAC;gBACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAClD,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9G,CAAC;gBAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACvE,IAAI,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;4BAC5K,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;wBAC1D,CAAC;6BAAM,CAAC;4BACP,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;wBAC3D,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;YAED,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;QACpE,CAAC;IACF,CAAC;CACD,CAAA;AA31BA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0DACL;AASvB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;2DACJ;AASxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gDACf;AAcb;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;uDACR;AAOpB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4DACH;AAOxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4DAOzB;AAOF;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4DACmC;AAO9D;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8DACqC;AAQhE;IADC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;wDAC2C;AAQ3E;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;0DACxB;AASvB;IADC,IAAI,EAAE;qDACoB;AAS3B;IADC,IAAI,EAAE;uDACwB;AAS/B;IADC,IAAI,EAAE;sDACsB;AAmB7B;IARC,IAAI,CAAC;QACL,IAAI,EAAE,WAAW;QACjB,eAAe,EAAE,IAAI;QACrB,uBAAuB,EAAE;YACxB,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,KAAK;SACZ;KACD,CAAC;sDAC6C;AAG/C;IADC,KAAK,CAAC,YAAY,CAAC;iDACP;AAGb;IADC,KAAK,CAAC,cAAc,CAAC;mDACL;AAGjB;IADC,KAAK,CAAC,wBAAwB,CAAC;sDACd;AAGlB;IADC,KAAK,CAAC,qBAAqB,CAAC;mDACd;AAGf;IADC,KAAK,CAAC,yBAAyB,CAAC;uDACd;AAGnB;IADC,KAAK,CAAC,sBAAsB,CAAC;oDACd;AAGhB;IADC,KAAK,CAAC,yBAAyB,CAAC;uDACd;AAGnB;IADC,KAAK,CAAC,4BAA4B,CAAC;0DACd;AAGf;IADN,IAAI,CAAC,0BAA0B,CAAC;4CACH;AA1KzB,kBAAkB;IA3EvB,aAAa,CAAC;QACd,GAAG,EAAE,0BAA0B;QAC/B,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,qBAAqB;QAC7B,QAAQ,EAAE,0BAA0B;KACpC,CAAC;IAEF;;;;;;;;;;;;OAYG;;IACF,KAAK,CAAC,SAAS,EAAE;QACjB,OAAO,EAAE,IAAI;KACb,CAAC;IAEF;;;;;;;;;;;;OAYG;;IACF,KAAK,CAAC,QAAQ,EAAE;QAChB,OAAO,EAAE,IAAI;KACb,CAAC;IAEF;;;OAGG;;IACF,KAAK,CAAC,aAAa,EAAE;QACrB,UAAU,EAAE,IAAI;KAChB,CAAC;IACF;;;;OAIG;;IACF,KAAK,CAAC,MAAM,EAAE;QACd,OAAO,EAAE,IAAI;KACb,CAAC;IACF;;;;OAIG;;IACF,KAAK,CAAC,OAAO,EAAE;QACf,OAAO,EAAE,IAAI;KACb,CAAC;IACF;;;;;;;OAOG;;IACF,KAAK,CAAC,aAAa,EAAE;QACrB,OAAO,EAAE,IAAI;KACb,CAAC;GACI,kBAAkB,CA02BvB;AAED,kBAAkB,CAAC,MAAM,EAAE,CAAC;AAE5B,eAAe,kBAAkB,CAAC","sourcesContent":["import property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport query from \"@ui5/webcomponents-base/dist/decorators/query.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { Slot, ChangeInfo } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport type Dialog from \"@ui5/webcomponents/dist/Dialog.js\";\nimport type List from \"@ui5/webcomponents/dist/List.js\";\nimport type { ListItemClickEventDetail, ListSelectionChangeEventDetail } from \"@ui5/webcomponents/dist/List.js\";\nimport announce from \"@ui5/webcomponents-base/dist/util/InvisibleMessage.js\";\nimport InvisibleMessageMode from \"@ui5/webcomponents-base/dist/types/InvisibleMessageMode.js\";\nimport ViewSettingsDialogMode from \"./types/ViewSettingsDialogMode.js\";\n\nimport \"@ui5/webcomponents-icons/dist/sort.js\";\nimport \"@ui5/webcomponents-icons/dist/filter.js\";\nimport \"@ui5/webcomponents-icons/dist/group-2.js\";\nimport \"@ui5/webcomponents-icons/dist/nav-back.js\";\nimport type SortItem from \"./SortItem.js\";\nimport type FilterItem from \"./FilterItem.js\";\nimport type GroupItem from \"./GroupItem.js\";\nimport type ViewSettingsDialogCustomTab from \"./ViewSettingsDialogCustomTab.js\";\n\nimport {\n\tVSD_DIALOG_TITLE_SORT,\n\tVSD_SUBMIT_BUTTON,\n\tVSD_CANCEL_BUTTON,\n\tVSD_RESET_BUTTON,\n\tVSD_SORT_ORDER,\n\tVSD_SORT_BY,\n\tVSD_GROUP_ORDER,\n\tVSD_GROUP_BY,\n\tVSD_ORDER_ASCENDING,\n\tVSD_ORDER_DESCENDING,\n\tVSD_FILTER_BY,\n\tVSD_SORT_TOOLTIP,\n\tVSD_FILTER_TOOLTIP,\n\tVSD_GROUP_TOOLTIP,\n\tVSD_RESET_BUTTON_ACTION,\n\tVSD_FILTER_ITEM_LABEL_TEXT,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport ViewSettingsDialogTemplate from \"./ViewSettingsDialogTemplate.js\";\n\n// Styles\nimport viewSettingsDialogCSS from \"./generated/themes/ViewSettingsDialog.css.js\";\n\ntype VSDFilter = Record<string, Array<string>> // {\"Filter 1\": [\"Filter 5\", \"Filter 6\"]}\ntype VSDFilters = Array<VSDFilter> // [{\"Filter 1\": [\"Filter 5\", \"Filter 6\"]}, {\"Filter 3\": [\"Filter 8\"]}]\n\n// The data, passed to the public method + part of the events' detail\ntype VSDSettings = {\n\tsortOrder: string,\n\tsortBy: string,\n\tfilters: VSDFilters,\n\tgroupOrder: string,\n\tgroupBy: string,\n}\n\n// Events' detail\ntype ViewSettingsDialogConfirmEventDetail = VSDSettings & {\n\tsortByItem: SortItem,\n\tsortDescending: boolean,\n\tgroupByItem: GroupItem,\n\tgroupDescending: boolean,\n}\n\ntype ViewSettingsDialogCancelEventDetail = VSDSettings & {\n\tsortByItem: SortItem,\n\tsortDescending: boolean,\n\tgroupByItem: GroupItem,\n\tgroupDescending: boolean,\n}\n\n// Common properties for several VSDInternalSettings fields\ntype VSDItem = {text?: string, selected: boolean}\n\n// Used for the private properties _initialSettings, _confirmedSettings and _currentSettings\ntype VSDInternalSettings = {\n\tsortOrder: Array<VSDItem>,\n\tsortBy: Array<VSDItem & {index: number}>,\n\tfilters: Array<VSDItem & {filterOptions: Array<VSDItem>}>,\n\tgroupOrder: Array<VSDItem>,\n\tgroupBy: Array<VSDItem & {index: number}>,\n}\n\nconst CUSTOM_MODE_PREFIX = \"customTabs-\";\n\ntype ViewSettingsCustomMode = `${typeof CUSTOM_MODE_PREFIX}${number}`;\ntype ViewSettingsDialogInternalMode = `${ViewSettingsDialogMode}` | ViewSettingsCustomMode;\n\n/**\n * @class\n * ### Overview\n * The `ui5-view-settings-dialog` component helps the user to sort data within a list or a table.\n * It consists of several lists like `Sort order` which is built-in and `Sort By` and `Filter By` lists,\n * for which you must be provide items(`ui5-sort-item` & `ui5-filter-item` respectively)\n * These options can be used to create sorters for a table.\n *\n * The `ui5-view-settings-dialog` interrupts the current application processing as it is the only focused UI element and\n * the main screen is dimmed/blocked.\n * The `ui5-view-settings-dialog` is modal, which means that user action is required before returning to the parent window is possible.\n *\n * ### Structure\n * A `ui5-view-settings-dialog` consists of a header, content, and a footer for action buttons.\n * The `ui5-view-settings-dialog` is usually displayed at the center of the screen.\n *\n * ### Responsive Behavior\n * `ui5-view-settings-dialog` stretches on full screen on phones.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/ViewSettingsDialog.js\";`\n * @constructor\n * @extends UI5Element\n * @since 1.0.0-rc.16\n * @public\n * @csspart header - Used to style the header.\n */\n@customElement({\n\ttag: \"ui5-view-settings-dialog\",\n\trenderer: jsxRenderer,\n\tstyles: viewSettingsDialogCSS,\n\ttemplate: ViewSettingsDialogTemplate,\n})\n\n/**\n * Fired when confirmation button is activated.\n * @param {String} sortOrder The current sort order selected.\n * @param {String} sortBy The currently selected `ui5-sort-item` text attribute.\n * @param {HTMLElement} sortByItem The currently selected `ui5-sort-item`.\n * @param {Boolean} sortDescending The selected sort order (true = descending, false = ascending).\n * @param {String} groupOrder The current group order selected.\n * @param {String} groupBy The currently selected `ui5-group-item` text attribute.\n * @param {HTMLElement} groupByItem The currently selected `ui5-group-item`.\n * @param {Boolean} groupDescending The selected group order (true = descending, false = ascending).\n * @param {Array} filters The selected filters items.\n * @public\n */\n@event(\"confirm\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when cancel button is activated.\n * @param {String} sortOrder The current sort order selected.\n * @param {String} sortBy The currently selected `ui5-sort-item` text attribute.\n * @param {HTMLElement} sortByItem The currently selected `ui5-sort-item`.\n * @param {Boolean} sortDescending The selected sort order (true = descending, false = ascending).\n * @param {String} groupOrder The current group order selected.\n * @param {String} groupBy The currently selected `ui5-group-item` text attribute.\n * @param {HTMLElement} groupByItem The currently selected `ui5-group-item`.\n * @param {Boolean} groupDescending The selected group order (true = descending, false = ascending).\n * @param {Array} filters The selected filters items.\n * @public\n */\n@event(\"cancel\", {\n\tbubbles: true,\n})\n\n/**\n * Fired before the component is opened.\n * @public\n */\n@event(\"before-open\", {\n\tcancelable: true,\n})\n/**\n * Fired after the dialog is opened.\n * @since 2.0.0\n * @public\n */\n@event(\"open\", {\n\tbubbles: true,\n})\n/**\n * Fired after the dialog is closed.\n * @since 2.0.0\n * @public\n */\n@event(\"close\", {\n\tbubbles: true,\n})\n/**\n * Fired when the Reset button is clicked.\n *\n * **Note:** Use this event to reset the state of custom tab content,\n * as the component cannot detect changes within custom tabs.\n * @since 2.22.0\n * @public\n */\n@event(\"reset-click\", {\n\tbubbles: true,\n})\nclass ViewSettingsDialog extends UI5Element {\n\teventDetails!: {\n\t\t\"confirm\": ViewSettingsDialogConfirmEventDetail,\n\t\t\"cancel\": ViewSettingsDialogCancelEventDetail,\n\t\t\"before-open\": void,\n\t\t\"open\": void,\n\t\t\"close\": void,\n\t\t\"reset-click\": void,\n\t}\n\t/**\n\t * Defines the initial sort order.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tsortDescending = false;\n\n\t/**\n\t * Defines the initial group order.\n\t * @default false\n\t * @since 2.13.0\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tgroupDescending = false;\n\n\t/**\n\t * Indicates if the dialog is open.\n\t * @public\n\t * @default false\n\t * @since 2.0.0\n\t */\n\t@property({ type: Boolean })\n\topen = false;\n\n\t/**\n\t * Defines whether the Reset button is always enabled.\n\t *\n\t * **Note:** By default, the Reset button is only enabled when the dialog settings\n\t * differ from their initial state. Set this property to `true` to keep the Reset\n\t * button always enabled, which is useful when working with custom tabs\n\t * whose internal state changes cannot be detected by the component.\n\t * @default false\n\t * @public\n\t * @since 2.22.0\n\t */\n\t@property({ type: Boolean })\n\tenableReset = false;\n\n\t/**\n\t * Keeps recently focused list in order to focus it on next dialog open.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_recentlyFocused?: List;\n\n\t/**\n\t * Stores current settings of the dialog.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_currentSettings: VSDInternalSettings = {\n\t\tsortOrder: [],\n\t\tsortBy: [],\n\t\tfilters: [],\n\t\tgroupOrder: [],\n\t\tgroupBy: [],\n\t};\n\n\t/**\n\t * Stores settings of the dialog before the initial open.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_initialSettings: VSDInternalSettings = this._currentSettings;\n\n\t/**\n\t * Stores settings of the dialog after confirmation.\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_confirmedSettings: VSDInternalSettings = this._currentSettings;\n\n\t/**\n\t * Defnies the current mode of the component.\n\t * @since 1.0.0-rc.16\n\t * @private\n\t */\n\t@property({ noAttribute: true })\n\t_currentMode: ViewSettingsDialogInternalMode = ViewSettingsDialogMode.Sort;\n\n\t/**\n\t * When in Filter By mode, defines whether we need to show the list of keys, or the list with values.\n\t * @since 1.0.0-rc.16\n\t * @private\n\t */\n\t@property({ type: Boolean, noAttribute: true })\n\t_filterStepTwo = false;\n\n\t/**\n\t * Defines the list of items against which the user could sort data.\n\t *\n\t * **Note:** If you want to use this slot, you need to import used item: `import \"@ui5/webcomponents-fiori/dist/SortItem.js\";`\n\t * @public\n\t */\n\t@slot()\n\tsortItems!: Slot<SortItem>;\n\n\t/**\n\t * Defines the `filterItems` list.\n\t *\n\t * **Note:** If you want to use this slot, you need to import used item: `import \"@ui5/webcomponents-fiori/dist/FilterItem.js\";`\n\t * @public\n\t */\n\t@slot()\n\tfilterItems!: Slot<FilterItem>;\n\n\t/**\n\t * Defines the list of items against which the user could group data.\n\t *\n\t * **Note:** If you want to use this slot, you need to import used item: `import \"@ui5/webcomponents-fiori/dist/GroupItem.js\";`\n\t * @public\n\t */\n\t@slot()\n\tgroupItems!: Slot<GroupItem>;\n\n\t/**\n\t * Defines custom tabs for the dialog.\n\t *\n\t * The custom tabs are rendered after the built-in tabs (`Sort`, `Filter`, `Group`).\n\t *\n\t * **Note:** If you want to use this slot, you need to import the item: `import \"@ui5/webcomponents-fiori/dist/ViewSettingsDialogCustomTab.js\";`\n\t * @public\n\t * @since 2.22.0\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\tindividualSlots: true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: false,\n\t\t},\n\t})\n\tcustomTabs!: Slot<ViewSettingsDialogCustomTab>;\n\n\t@query(\"[ui5-list]\")\n\t_list!: List;\n\n\t@query(\"[ui5-dialog]\")\n\t_dialog?: Dialog;\n\n\t@query(\"[ui5-list][sort-order]\")\n\t_sortOrder?: List;\n\n\t@query(\"[ui5-list][sort-by]\")\n\t_sortBy?: List;\n\n\t@query(\"[ui5-list][group-order]\")\n\t_groupOrder?: List;\n\n\t@query(\"[ui5-list][group-by]\")\n\t_groupBy?: List;\n\n\t@query(\"[ui5-list][filter-list]\")\n\t_filterList?: List;\n\n\t@query(\"[ui5-list][filter-options]\")\n\t_filterOptions?: List;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\tonBeforeRendering() {\n\t\tif (this._currentSettings.filters && this._currentSettings.filters.length) {\n\t\t\tthis._setAdditionalTexts();\n\t\t}\n\n\t\tif (this.shouldBuildSort) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.shouldBuildFilter) {\n\t\t\tthis._currentMode = ViewSettingsDialogMode.Filter;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.shouldBuildGroup) {\n\t\t\tthis._currentMode = ViewSettingsDialogMode.Group;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.shouldBuildCustomTabs && (!this.isModeCustom || !this._selectedCustomTab)) {\n\t\t\tthis._currentMode = this._defaultMode;\n\t\t}\n\t}\n\n\tonInvalidation(changeInfo: ChangeInfo) {\n\t\tif (changeInfo.type === \"slot\") {\n\t\t\tthis._confirmedSettings = this._settings;\n\t\t}\n\t}\n\n\t_setAdditionalTexts() {\n\t\t// Add the additional text to the filter options\n\t\tthis.filterItems.forEach((filter, index) => {\n\t\t\tlet selectedCount = 0;\n\t\t\tfor (let i = 0; i < filter.values.length; i++) {\n\t\t\t\tif (this._currentSettings.filters[index].filterOptions[i].selected) {\n\t\t\t\t\tselectedCount++;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfilter.additionalText = !selectedCount ? \"\" : `${selectedCount}`;\n\t\t});\n\t}\n\n\tget _selectedFilter() {\n\t\tfor (let i = 0; i < this._currentSettings.filters.length; i++) {\n\t\t\tif (this._currentSettings.filters[i].selected) {\n\t\t\t\treturn this._currentSettings.filters[i];\n\t\t\t}\n\t\t}\n\t}\n\n\t_selectedFiltersLabel(item: FilterItem) {\n\t\tconst text = item.text ? `${item.text},` : \"\";\n\t\tconst additionalText = item.additionalText ? `${item.additionalText},` : \"\";\n\t\treturn additionalText ? ViewSettingsDialog.i18nBundle.getText(VSD_FILTER_ITEM_LABEL_TEXT, text, additionalText) : text;\n\t}\n\n\tget shouldBuildSort() {\n\t\treturn !!this.sortItems.length;\n\t}\n\n\tget shouldBuildFilter() {\n\t\treturn !!this.filterItems.length;\n\t}\n\n\tget shouldBuildGroup() {\n\t\treturn !!this.groupItems.length;\n\t}\n\n\tget shouldBuildCustomTabs() {\n\t\treturn !!this._renderableCustomTabs.length;\n\t}\n\n\t/**\n\t * Returns only custom tabs that have an icon defined and can be rendered.\n\t */\n\tget _renderableCustomTabs() {\n\t\treturn this.customTabs.filter(tab => tab.icon);\n\t}\n\n\tget hasPagination() {\n\t\tconst builtInTabsCount = [this.shouldBuildSort, this.shouldBuildFilter, this.shouldBuildGroup]\n\t\t\t.filter(condition => condition)\n\t\t\t.length;\n\n\t\tif (this.shouldBuildCustomTabs) {\n\t\t\treturn builtInTabsCount + this._renderableCustomTabs.length > 1;\n\t\t}\n\n\t\treturn builtInTabsCount > 1;\n\t}\n\n\tget _defaultMode(): ViewSettingsDialogInternalMode {\n\t\tif (this.shouldBuildSort) {\n\t\t\treturn ViewSettingsDialogMode.Sort;\n\t\t}\n\n\t\tif (this.shouldBuildFilter) {\n\t\t\treturn ViewSettingsDialogMode.Filter;\n\t\t}\n\n\t\tif (this.shouldBuildGroup) {\n\t\t\treturn ViewSettingsDialogMode.Group;\n\t\t}\n\n\t\tif (this.shouldBuildCustomTabs) {\n\t\t\treturn this._customTabMode(this._renderableCustomTabs[0]);\n\t\t}\n\n\t\treturn ViewSettingsDialogMode.Sort;\n\t}\n\n\tget _selectedCustomTab() {\n\t\tif (!this._isCustomMode(this._currentMode)) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn this._renderableCustomTabs.find(tab => this._customTabMode(tab) === this._currentMode);\n\t}\n\n\tget _filterByTitle() {\n\t\tconst selectedFilterText = this._selectedFilter ? this._selectedFilter.text : \"\";\n\t\treturn `${ViewSettingsDialog.i18nBundle.getText(VSD_FILTER_BY)}: ${selectedFilterText}`;\n\t}\n\n\tget _dialogTitle() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_DIALOG_TITLE_SORT);\n\t}\n\n\tget _okButtonLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_SUBMIT_BUTTON);\n\t}\n\n\tget _cancelButtonLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_CANCEL_BUTTON);\n\t}\n\n\tget _resetButtonLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_RESET_BUTTON);\n\t}\n\n\tget _ascendingLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_ORDER_ASCENDING);\n\t}\n\n\tget _descendingLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_ORDER_DESCENDING);\n\t}\n\n\tget _sortOrderLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_SORT_ORDER);\n\t}\n\n\tget _groupOrderLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_GROUP_ORDER);\n\t}\n\n\tget _filterByLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_FILTER_BY);\n\t}\n\n\tget _sortByLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_SORT_BY);\n\t}\n\n\tget _groupByLabel() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_GROUP_BY);\n\t}\n\n\tget _sortButtonTooltip() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_SORT_TOOLTIP);\n\t}\n\n\tget _filterButtonTooltip() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_FILTER_TOOLTIP);\n\t}\n\n\tget _groupButtonTooltip() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_GROUP_TOOLTIP);\n\t}\n\n\tget _resetButtonAction() {\n\t\treturn ViewSettingsDialog.i18nBundle.getText(VSD_RESET_BUTTON_ACTION);\n\t}\n\n\tget _isPhone() {\n\t\treturn isPhone();\n\t}\n\n\tget _sortAscending() {\n\t\treturn !this.sortDescending;\n\t}\n\n\tget _title() {\n\t\treturn this.showBackButton\n\t\t\t? this._filterByTitle\n\t\t\t: this._dialogTitle;\n\t}\n\n\t/**\n\t * Determines disabled state of the `Reset` button.\n\t */\n\tget _disableResetButton() {\n\t\tif (this.enableReset) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn this._dialog && this._settingsAreInitial && this._filteresAreInitial;\n\t}\n\n\tget _settingsAreInitial() {\n\t\tlet settingsAreInitial = true;\n\t\t[\"sortBy\", \"sortOrder\", \"groupBy\", \"groupOrder\"].forEach(settingsList => {\n\t\t\tthis._currentSettings[settingsList as keyof VSDInternalSettings].forEach((item, index) => {\n\t\t\t\tif (item.selected !== this._initialSettings[settingsList as keyof VSDInternalSettings][index].selected) {\n\t\t\t\t\tsettingsAreInitial = false;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\treturn settingsAreInitial;\n\t}\n\n\tget _filteresAreInitial() {\n\t\tlet filtersAreInitial = true;\n\t\tthis._currentSettings.filters.forEach((filter, index) => {\n\t\t\tfor (let i = 0; i < filter.filterOptions.length; i++) {\n\t\t\t\tif (filter.filterOptions[i].selected !== this._initialSettings.filters[index].filterOptions[i].selected) {\n\t\t\t\t\tfiltersAreInitial = false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treturn filtersAreInitial;\n\t}\n\n\t/**\n\t * Returns the current settings (current state of all lists).\n\t */\n\tget _settings(): VSDInternalSettings {\n\t\treturn {\n\t\t\tsortOrder: JSON.parse(JSON.stringify(this.initSortOrderItems)),\n\t\t\tsortBy: JSON.parse(JSON.stringify(this.initSortByItems)),\n\t\t\tgroupOrder: JSON.parse(JSON.stringify(this.initGroupOrderItems)),\n\t\t\tgroupBy: JSON.parse(JSON.stringify(this.initGroupByItems)),\n\t\t\tfilters: this.filterItems.map(item => {\n\t\t\t\treturn {\n\t\t\t\t\ttext: item.text || \"\",\n\t\t\t\t\tselected: false,\n\t\t\t\t\tfilterOptions: item.values.map(optionValue => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttext: optionValue.text || \"\",\n\t\t\t\t\t\t\tselected: optionValue.selected,\n\t\t\t\t\t\t};\n\t\t\t\t\t}),\n\t\t\t\t};\n\t\t\t}),\n\t\t};\n\t}\n\n\tget initSortByItems() {\n\t\treturn this.sortItems.map((item, index) => {\n\t\t\treturn {\n\t\t\t\ttext: item.text,\n\t\t\t\tselected: item.selected,\n\t\t\t\tindex,\n\t\t\t};\n\t\t});\n\t}\n\n\tget initGroupByItems() {\n\t\treturn this.groupItems.map((item, index) => {\n\t\t\treturn {\n\t\t\t\ttext: item.text,\n\t\t\t\tselected: item.selected,\n\t\t\t\tindex,\n\t\t\t};\n\t\t});\n\t}\n\n\tget initSortOrderItems() {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttext: this._ascendingLabel,\n\t\t\t\tselected: !this.sortDescending,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: this._descendingLabel,\n\t\t\t\tselected: this.sortDescending,\n\t\t\t},\n\t\t];\n\t}\n\n\tget initGroupOrderItems() {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttext: this._ascendingLabel,\n\t\t\t\tselected: !this.groupDescending,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: this._descendingLabel,\n\t\t\t\tselected: this.groupDescending,\n\t\t\t},\n\t\t];\n\t}\n\n\tget expandContent() {\n\t\treturn this._filterStepTwo || !this.hasPagination;\n\t}\n\n\tget isModeSort() {\n\t\treturn this._currentMode === ViewSettingsDialogMode.Sort;\n\t}\n\n\tget isModeFilter() {\n\t\treturn this._currentMode === ViewSettingsDialogMode.Filter;\n\t}\n\n\tget isModeGroup() {\n\t\treturn this._currentMode === ViewSettingsDialogMode.Group;\n\t}\n\n\tget isModeCustom() {\n\t\treturn this._isCustomMode(this._currentMode);\n\t}\n\n\tget showBackButton() {\n\t\treturn this.isModeFilter && this._filterStepTwo;\n\t}\n\n\t/**\n\t * Shows the dialog.\n\t */\n\tbeforeDialogOpen(): void {\n\t\t// first time opening - initialize settings\n\t\tif (this._currentSettings.sortOrder.length === 0) {\n\t\t\tthis._initialSettings = this._settings;\n\t\t\tthis._currentSettings = this._settings;\n\t\t\tthis._confirmedSettings = this._settings;\n\t\t} else {\n\t\t\tthis._restoreSettings(this._confirmedSettings);\n\t\t}\n\n\t\tthis.fireDecoratorEvent(\"before-open\");\n\t}\n\n\tafterDialogOpen(): void {\n\t\tthis._list?.focusFirstItem();\n\n\t\tthis._focusRecentlyUsedControl();\n\n\t\tthis.fireDecoratorEvent(\"open\");\n\t}\n\n\tafterDialogClose(): void {\n\t\tthis.fireDecoratorEvent(\"close\");\n\t}\n\n\t_handleModeChange(e: CustomEvent) { // use SegmentedButton event when done\n\t\tconst mode = (e.detail.selectedItems[0].getAttribute(\"data-mode\") as string | null);\n\n\t\tif (!mode || !this._isValidMode(mode)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._currentMode = mode;\n\t}\n\n\t_handleFilterValueItemClick(e: CustomEvent<ListSelectionChangeEventDetail>) {\n\t\tconst itemText = e.detail.targetItem.innerText;\n\n\t\t// Update the component state\n\t\tthis._currentSettings.filters = this._currentSettings.filters.map(filter => {\n\t\t\tif (filter.selected) {\n\t\t\t\tfilter.filterOptions.forEach(option => {\n\t\t\t\t\tif (option.text === itemText) {\n\t\t\t\t\t\toption.selected = !option.selected;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn filter;\n\t\t});\n\n\t\tthis._setSelectedProp(itemText);\n\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(this._currentSettings));\n\t}\n\n\t/**\n\t * Sets the selected property of the clicked item.\n\t * @private\n\t */\n\t_setSelectedProp(itemText: string) {\n\t\tthis.filterItems.forEach(filterItem => {\n\t\t\tfilterItem.values.forEach(option => {\n\t\t\t\tif (option.text === itemText) {\n\t\t\t\t\toption.selected = !option.selected;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tasync _navigateToFilters() {\n\t\tthis._filterStepTwo = false;\n\t\tawait renderFinished();\n\t\tif (this._filterList) {\n\t\t\tthis._filterList.focusFirstItem();\n\t\t}\n\t}\n\n\tasync _changeCurrentFilter(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tthis._filterStepTwo = true;\n\t\tthis._currentSettings.filters = this._currentSettings.filters.map(filter => {\n\t\t\tfilter.selected = filter.text === e.detail.item.innerText;\n\t\t\treturn filter;\n\t\t});\n\t\tawait renderFinished();\n\t\tif (this._filterOptions) {\n\t\t\tconst selectedItems = this._filterOptions.getSelectedItems();\n\t\t\tif (selectedItems.length) {\n\t\t\t\tselectedItems[0].focus();\n\t\t\t} else {\n\t\t\t\tthis._filterOptions.focusFirstItem();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Sets focus on recently used control within the dialog.\n\t */\n\t_focusRecentlyUsedControl() {\n\t\tif (!this._recentlyFocused || !Object.keys(this._recentlyFocused).length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst recentlyFocusedSelectedItems = this._recentlyFocused.getSelectedItems();\n\t\tif (recentlyFocusedSelectedItems.length) {\n\t\t\trecentlyFocusedSelectedItems[0].focus();\n\t\t}\n\t}\n\n\t/**\n\t * Stores current settings as confirmed and fires `confirm` event.\n\t */\n\t_confirmSettings() {\n\t\tthis.open = false;\n\t\tthis._confirmedSettings = this._currentSettings;\n\n\t\tthis.fireDecoratorEvent(\"confirm\", this.eventsParams);\n\t}\n\n\t/**\n\t * Sets current settings to recently confirmed ones and fires `cancel` event.\n\t */\n\t_cancelSettings() {\n\t\tthis._restoreSettings(this._confirmedSettings);\n\n\t\tthis.fireDecoratorEvent(\"cancel\", this.eventsParams);\n\t\tthis.open = false;\n\t}\n\n\tget eventsParams() {\n\t\tconst _currentSortOrderSelected = this._currentSettings.sortOrder.filter(item => item.selected)[0],\n\t\t\t_currentSortBySelected = this._currentSettings.sortBy.filter(item => item.selected)[0],\n\t\t\t_currentGroupOrderSelected = this._currentSettings.groupOrder.filter(item => item.selected)[0],\n\t\t\t_currentGroupBySelected = this._currentSettings.groupBy.filter(item => item.selected)[0],\n\t\t\tsortOrder = _currentSortOrderSelected && (_currentSortOrderSelected.text || \"\"),\n\t\t\tsortDescending = !this._currentSettings.sortOrder[0].selected,\n\t\t\tsortBy = _currentSortBySelected && (_currentSortBySelected.text || \"\"),\n\t\t\tsortByElementIndex = _currentSortBySelected && _currentSortBySelected.index,\n\t\t\tsortByItem = this.sortItems[sortByElementIndex],\n\t\t\tgroupOrder = _currentGroupOrderSelected && (_currentGroupOrderSelected.text || \"\"),\n\t\t\tgroupDescending = !this._currentSettings.groupOrder[0].selected,\n\t\t\tgroupBy = _currentGroupBySelected && (_currentGroupBySelected.text || \"\"),\n\t\t\tgroupByElementIndex = _currentGroupBySelected && _currentGroupBySelected.index,\n\t\t\tgroupByItem = this.groupItems[groupByElementIndex],\n\t\t\tselectedFilterItems = this.filterItems.filter(filterItem => filterItem.values.some(item => item.selected));\n\t\treturn {\n\t\t\tsortOrder,\n\t\t\tsortDescending,\n\t\t\tsortBy,\n\t\t\tsortByItem,\n\t\t\tgroupOrder,\n\t\t\tgroupDescending,\n\t\t\tgroupBy,\n\t\t\tgroupByItem,\n\t\t\tfilters: this.selectedFilters,\n\t\t\tfilterItems: selectedFilterItems,\n\t\t};\n\t}\n\n\tget selectedFilters() {\n\t\tconst result: VSDFilters = [];\n\n\t\tthis._currentSettings.filters.forEach(filter => {\n\t\t\tconst selectedOptions: Array<string> = [];\n\n\t\t\tfilter.filterOptions.forEach(option => {\n\t\t\t\tif (option.selected) {\n\t\t\t\t\tselectedOptions.push(option.text || \"\");\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (selectedOptions.length) {\n\t\t\t\tresult.push({});\n\t\t\t\tresult[result.length - 1][filter.text || \"\"] = selectedOptions;\n\t\t\t}\n\t\t});\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * If the dialog is closed by [Escape] key, do the same as if the `Cancel` button is pressed.\n\t * @param evt\n\t */\n\t_restoreConfirmedOnEscape(evt: CustomEvent) { // Dialog#before-close\n\t\tif (evt.detail.escPressed) {\n\t\t\tthis._cancelSettings();\n\t\t\tthis._currentMode = this._defaultMode;\n\t\t\tthis._filterStepTwo = false;\n\t\t}\n\t}\n\n\t/**\n\t * Resets the control settings to their initial state.\n\t */\n\t_resetSettings() {\n\t\tthis._restoreSettings(this._initialSettings);\n\t\tthis._recentlyFocused = this._sortOrder!;\n\t\tthis._focusRecentlyUsedControl();\n\t\tannounce(this._resetButtonAction, InvisibleMessageMode.Assertive);\n\t\tthis.fireDecoratorEvent(\"reset-click\");\n\t}\n\n\t/**\n\t * Sets current settings to ones passed as `settings` argument.\n\t * @param settings\n\t */\n\t_restoreSettings(settings: VSDInternalSettings) {\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(settings));\n\t\tthis._currentMode = this._defaultMode;\n\t\tthis._filterStepTwo = false;\n\t}\n\n\tisCurrentCustomTabMode(tab: ViewSettingsDialogCustomTab) {\n\t\treturn this._currentMode === this._customTabMode(tab);\n\t}\n\n\t_customTabMode(tab: ViewSettingsDialogCustomTab): ViewSettingsCustomMode {\n\t\treturn tab._individualSlot as ViewSettingsCustomMode;\n\t}\n\n\t_isCustomMode(mode: string): mode is ViewSettingsCustomMode {\n\t\treturn mode.startsWith(CUSTOM_MODE_PREFIX);\n\t}\n\n\t_isValidMode(mode: string): mode is ViewSettingsDialogInternalMode {\n\t\tif (mode === (ViewSettingsDialogMode.Sort as string)\n\t\t\t|| mode === (ViewSettingsDialogMode.Filter as string)\n\t\t\t|| mode === (ViewSettingsDialogMode.Group as string)) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (this._isCustomMode(mode)) {\n\t\t\treturn this._renderableCustomTabs.some(tab => this._customTabMode(tab) === mode);\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Stores `Sort Order` list as recently used control and its selected item in current state.\n\t */\n\t_onSortOrderChange(e: CustomEvent<ListSelectionChangeEventDetail>) {\n\t\tthis._recentlyFocused = this._sortOrder!;\n\t\tthis._currentSettings.sortOrder = this.initSortOrderItems.map(item => {\n\t\t\titem.selected = item.text === e.detail.targetItem.innerText;\n\t\t\treturn item;\n\t\t});\n\n\t\t// Invalidate\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(this._currentSettings));\n\t}\n\n\t/**\n\t * Stores `Sort By` list as recently used control and its selected item in current state.\n\t */\n\t_onSortByChange(e: CustomEvent<ListSelectionChangeEventDetail>) {\n\t\tconst selectedItemIndex = Number(e.detail.targetItem.getAttribute(\"data-ui5-external-action-item-index\"));\n\t\tthis._recentlyFocused = this._sortBy!;\n\t\tthis._currentSettings.sortBy = this.initSortByItems.map((item, index) => {\n\t\t\titem.selected = index === selectedItemIndex;\n\t\t\treturn item;\n\t\t});\n\t\t// Invalidate\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(this._currentSettings));\n\t}\n\n\t/**\n\t * Stores `Group Order` list as recently used control and its selected item in current state.\n\t */\n\t_onGroupOrderChange(e: CustomEvent<ListSelectionChangeEventDetail>) {\n\t\tthis._recentlyFocused = this._groupOrder!;\n\t\tthis._currentSettings.groupOrder = this.initGroupOrderItems.map(item => {\n\t\t\titem.selected = item.text === e.detail.targetItem.innerText;\n\t\t\treturn item;\n\t\t});\n\n\t\t// Invalidate\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(this._currentSettings));\n\t}\n\n\t/**\n\t * Stores `Group By` list as recently used control and its selected item in current state.\n\t */\n\t_onGroupByChange(e: CustomEvent<ListSelectionChangeEventDetail>) {\n\t\tconst selectedItemIndex = Number(e.detail.targetItem.getAttribute(\"data-ui5-external-action-item-index\"));\n\t\tthis._recentlyFocused = this._groupBy!;\n\t\tthis._currentSettings.groupBy = this.initGroupByItems.map((item, index) => {\n\t\t\titem.selected = index === selectedItemIndex;\n\t\t\treturn item;\n\t\t});\n\n\t\t// Invalidate\n\t\tthis._currentSettings = JSON.parse(JSON.stringify(this._currentSettings));\n\t}\n\n\t/**\n\t * Sets a JavaScript object, as settings to the `ui5-view-settings-dialog`.\n\t * This method can be used after the dialog is initially open, as the dialog needs\n\t * to set its initial settings.\n\t * The `ui5-view-settings-dialog` throws an event called \"before-open\",\n\t * which can be used as a trigger point.\n\t * The object should have the following format:\n\t * @param settings - predefined settings.\n\t * @public\n\t */\n\tsetConfirmedSettings(settings: VSDSettings): void {\n\t\tif (settings && this._dialog && !this._dialog.open) {\n\t\t\tconst tempSettings: VSDInternalSettings = JSON.parse(JSON.stringify(this._confirmedSettings));\n\t\t\tif (settings.sortOrder) {\n\t\t\t\tfor (let i = 0; i < tempSettings.sortOrder.length; i++) {\n\t\t\t\t\tif (tempSettings.sortOrder[i].text === settings.sortOrder) {\n\t\t\t\t\t\ttempSettings.sortOrder[i].selected = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttempSettings.sortOrder[i].selected = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (settings.sortBy) {\n\t\t\t\tfor (let i = 0; i < tempSettings.sortBy.length; i++) {\n\t\t\t\t\tif (tempSettings.sortBy[i].text === settings.sortBy) {\n\t\t\t\t\t\ttempSettings.sortBy[i].selected = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttempSettings.sortBy[i].selected = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (settings.groupOrder) {\n\t\t\t\tfor (let i = 0; i < tempSettings.groupOrder.length; i++) {\n\t\t\t\t\tif (tempSettings.groupOrder[i].text === settings.groupOrder) {\n\t\t\t\t\t\ttempSettings.groupOrder[i].selected = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttempSettings.groupOrder[i].selected = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (settings.groupBy) {\n\t\t\t\tfor (let i = 0; i < tempSettings.groupBy.length; i++) {\n\t\t\t\t\tif (tempSettings.groupBy[i].text === settings.groupBy) {\n\t\t\t\t\t\ttempSettings.groupBy[i].selected = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttempSettings.groupBy[i].selected = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (settings.filters) {\n\t\t\t\tconst inputFilters: VSDFilter = {};\n\t\t\t\tfor (let i = 0; i < settings.filters.length; i++) {\n\t\t\t\t\tinputFilters[Object.keys(settings.filters[i])[0]] = settings.filters[i][Object.keys(settings.filters[i])[0]];\n\t\t\t\t}\n\n\t\t\t\tfor (let i = 0; i < tempSettings.filters.length; i++) {\n\t\t\t\t\tfor (let j = 0; j < tempSettings.filters[i].filterOptions.length; j++) {\n\t\t\t\t\t\tif (inputFilters[tempSettings.filters[i].text || \"\"] && inputFilters[tempSettings.filters[i].text || \"\"].indexOf(tempSettings.filters[i].filterOptions[j].text || \"\") > -1) {\n\t\t\t\t\t\t\ttempSettings.filters[i].filterOptions[j].selected = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttempSettings.filters[i].filterOptions[j].selected = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis._confirmedSettings = JSON.parse(JSON.stringify(tempSettings));\n\t\t}\n\t}\n}\n\nViewSettingsDialog.define();\n\nexport default ViewSettingsDialog;\nexport type {\n\tViewSettingsDialogConfirmEventDetail,\n\tViewSettingsDialogCancelEventDetail,\n\tVSDSettings,\n};\n"]}
@@ -0,0 +1,52 @@
1
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
2
+ import type { DefaultSlot } from "@ui5/webcomponents-base/dist/UI5Element.js";
3
+ /**
4
+ * @class
5
+ *
6
+ * ### Overview
7
+ *
8
+ * The `ui5-view-settings-dialog-custom-tab` component allows defining custom tabs for the `ui5-view-settings-dialog`.
9
+ *
10
+ * ### ES6 Module Import
11
+ *
12
+ * `import "@ui5/webcomponents-fiori/dist/ViewSettingsDialogCustomTab.js";`
13
+ *
14
+ * @constructor
15
+ * @extends UI5Element
16
+ * @since 2.22.0
17
+ * @public
18
+ * @abstract
19
+ * @slot {Node[]} default - Defines the custom tab content.
20
+ */
21
+ declare class ViewSettingsDialogCustomTab extends UI5Element {
22
+ /**
23
+ * Defines the title of the custom tab.
24
+ *
25
+ * **Note:** It is displayed in the dialog header when this tab is selected.
26
+ * @default ""
27
+ * @public
28
+ */
29
+ title: string;
30
+ /**
31
+ * Defines the tooltip of the custom tab button.
32
+ *
33
+ * **Note:** It is shown on the segmented button item.
34
+ * @default ""
35
+ * @public
36
+ */
37
+ tooltip: string;
38
+ /**
39
+ * Defines the icon of the custom tab.
40
+ *
41
+ * **Note:** If not provided, the tab should not be rendered.
42
+ * @default ""
43
+ * @public
44
+ */
45
+ icon: string;
46
+ /**
47
+ * Defines the custom tab content.
48
+ * @public
49
+ */
50
+ content: DefaultSlot<Node>;
51
+ }
52
+ export default ViewSettingsDialogCustomTab;
@@ -0,0 +1,81 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
8
+ import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
9
+ import property from "@ui5/webcomponents-base/dist/decorators/property.js";
10
+ import slot from "@ui5/webcomponents-base/dist/decorators/slot-strict.js";
11
+ import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
12
+ import ViewSettingsDialogCustomTabTemplate from "./ViewSettingsDialogCustomTabTemplate.js";
13
+ /**
14
+ * @class
15
+ *
16
+ * ### Overview
17
+ *
18
+ * The `ui5-view-settings-dialog-custom-tab` component allows defining custom tabs for the `ui5-view-settings-dialog`.
19
+ *
20
+ * ### ES6 Module Import
21
+ *
22
+ * `import "@ui5/webcomponents-fiori/dist/ViewSettingsDialogCustomTab.js";`
23
+ *
24
+ * @constructor
25
+ * @extends UI5Element
26
+ * @since 2.22.0
27
+ * @public
28
+ * @abstract
29
+ * @slot {Node[]} default - Defines the custom tab content.
30
+ */
31
+ let ViewSettingsDialogCustomTab = class ViewSettingsDialogCustomTab extends UI5Element {
32
+ constructor() {
33
+ super(...arguments);
34
+ /**
35
+ * Defines the title of the custom tab.
36
+ *
37
+ * **Note:** It is displayed in the dialog header when this tab is selected.
38
+ * @default ""
39
+ * @public
40
+ */
41
+ this.title = "";
42
+ /**
43
+ * Defines the tooltip of the custom tab button.
44
+ *
45
+ * **Note:** It is shown on the segmented button item.
46
+ * @default ""
47
+ * @public
48
+ */
49
+ this.tooltip = "";
50
+ /**
51
+ * Defines the icon of the custom tab.
52
+ *
53
+ * **Note:** If not provided, the tab should not be rendered.
54
+ * @default ""
55
+ * @public
56
+ */
57
+ this.icon = "";
58
+ }
59
+ };
60
+ __decorate([
61
+ property({ type: String })
62
+ ], ViewSettingsDialogCustomTab.prototype, "title", void 0);
63
+ __decorate([
64
+ property({ type: String })
65
+ ], ViewSettingsDialogCustomTab.prototype, "tooltip", void 0);
66
+ __decorate([
67
+ property({ type: String })
68
+ ], ViewSettingsDialogCustomTab.prototype, "icon", void 0);
69
+ __decorate([
70
+ slot({ type: Node, "default": true })
71
+ ], ViewSettingsDialogCustomTab.prototype, "content", void 0);
72
+ ViewSettingsDialogCustomTab = __decorate([
73
+ customElement({
74
+ tag: "ui5-view-settings-dialog-custom-tab",
75
+ renderer: jsxRenderer,
76
+ template: ViewSettingsDialogCustomTabTemplate,
77
+ })
78
+ ], ViewSettingsDialogCustomTab);
79
+ ViewSettingsDialogCustomTab.define();
80
+ export default ViewSettingsDialogCustomTab;
81
+ //# sourceMappingURL=ViewSettingsDialogCustomTab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViewSettingsDialogCustomTab.js","sourceRoot":"","sources":["../src/ViewSettingsDialogCustomTab.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AAEpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,wDAAwD,CAAC;AAC1E,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,mCAAmC,MAAM,0CAA0C,CAAC;AAE3F;;;;;;;;;;;;;;;;;GAiBG;AAMH,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,UAAU;IAApD;;QACC;;;;;;WAMG;QAEH,UAAK,GAAG,EAAE,CAAC;QAEX;;;;;;WAMG;QAEH,YAAO,GAAG,EAAE,CAAC;QAEb;;;;;;WAMG;QAEH,SAAI,GAAG,EAAE,CAAC;IAQX,CAAC;CAAA,CAAA;AA5BA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0DAChB;AAUX;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4DACd;AAUb;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yDACjB;AAOV;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;4DACV;AApCvB,2BAA2B;IALhC,aAAa,CAAC;QACd,GAAG,EAAE,qCAAqC;QAC1C,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,mCAAmC;KAC7C,CAAC;GACI,2BAA2B,CAqChC;AAED,2BAA2B,CAAC,MAAM,EAAE,CAAC;AAErC,eAAe,2BAA2B,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport ViewSettingsDialogCustomTabTemplate from \"./ViewSettingsDialogCustomTabTemplate.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-view-settings-dialog-custom-tab` component allows defining custom tabs for the `ui5-view-settings-dialog`.\n *\n * ### ES6 Module Import\n *\n * `import \"@ui5/webcomponents-fiori/dist/ViewSettingsDialogCustomTab.js\";`\n *\n * @constructor\n * @extends UI5Element\n * @since 2.22.0\n * @public\n * @abstract\n * @slot {Node[]} default - Defines the custom tab content.\n */\n@customElement({\n\ttag: \"ui5-view-settings-dialog-custom-tab\",\n\trenderer: jsxRenderer,\n\ttemplate: ViewSettingsDialogCustomTabTemplate,\n})\nclass ViewSettingsDialogCustomTab extends UI5Element {\n\t/**\n\t * Defines the title of the custom tab.\n\t *\n\t * **Note:** It is displayed in the dialog header when this tab is selected.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property({ type: String })\n\ttitle = \"\";\n\n\t/**\n\t * Defines the tooltip of the custom tab button.\n\t *\n\t * **Note:** It is shown on the segmented button item.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property({ type: String })\n\ttooltip = \"\";\n\n\t/**\n\t * Defines the icon of the custom tab.\n\t *\n\t * **Note:** If not provided, the tab should not be rendered.\n\t * @default \"\"\n\t * @public\n\t */\n\t@property({ type: String })\n\ticon = \"\";\n\n\t/**\n\t * Defines the custom tab content.\n\t * @public\n\t */\n\t@slot({ type: Node, \"default\": true })\n\tcontent!: DefaultSlot<Node>;\n}\n\nViewSettingsDialogCustomTab.define();\n\nexport default ViewSettingsDialogCustomTab;\n"]}
@@ -0,0 +1,2 @@
1
+ import type ViewSettingsDialogCustomTab from "./ViewSettingsDialogCustomTab.js";
2
+ export default function ViewSettingsDialogCustomTabTemplate(this: ViewSettingsDialogCustomTab): import("@ui5/webcomponents-base/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "@ui5/webcomponents-base/jsx-runtime";
2
+ export default function ViewSettingsDialogCustomTabTemplate() {
3
+ return _jsx("slot", {});
4
+ }
5
+ //# sourceMappingURL=ViewSettingsDialogCustomTabTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViewSettingsDialogCustomTabTemplate.js","sourceRoot":"","sources":["../src/ViewSettingsDialogCustomTabTemplate.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,OAAO,UAAU,mCAAmC;IAC1D,OAAO,gBAAa,CAAC;AACtB,CAAC","sourcesContent":["import type ViewSettingsDialogCustomTab from \"./ViewSettingsDialogCustomTab.js\";\n\nexport default function ViewSettingsDialogCustomTabTemplate(this: ViewSettingsDialogCustomTab) {\n\treturn <slot></slot>;\n}\n"]}