@onecx/angular-accelerator 5.38.0 → 6.0.0-rc.11

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 (126) hide show
  1. package/assets/i18n/de.json +3 -3
  2. package/assets/i18n/en.json +3 -3
  3. package/assets/styles.scss +0 -4
  4. package/fesm2022/onecx-angular-accelerator-testing.mjs +90 -28
  5. package/fesm2022/onecx-angular-accelerator-testing.mjs.map +1 -1
  6. package/fesm2022/onecx-angular-accelerator.mjs +941 -510
  7. package/fesm2022/onecx-angular-accelerator.mjs.map +1 -1
  8. package/index.d.ts +8 -0
  9. package/lib/angular-accelerator-primeng.module.d.ts +6 -4
  10. package/lib/angular-accelerator.module.d.ts +26 -20
  11. package/lib/components/content/content.component.d.ts +13 -0
  12. package/lib/components/content-container/content-container.component.d.ts +19 -0
  13. package/lib/components/custom-group-column-selector/custom-group-column-selector.component.d.ts +0 -2
  14. package/lib/components/data-list-grid/data-list-grid.component.d.ts +10 -20
  15. package/lib/components/data-list-grid-sorting/data-list-grid-sorting.component.d.ts +2 -2
  16. package/lib/components/data-table/data-table.component.d.ts +12 -20
  17. package/lib/components/data-view/data-view.component.d.ts +10 -8
  18. package/lib/components/diagram/diagram.component.d.ts +0 -2
  19. package/lib/components/filter-view/filter-view.component.d.ts +3 -3
  20. package/lib/components/group-by-count-diagram/group-by-count-diagram.component.d.ts +0 -2
  21. package/lib/components/interactive-data-view/interactive-data-view.component.d.ts +10 -6
  22. package/lib/components/lifecycle/lifecycle.component.d.ts +12 -0
  23. package/lib/components/page-header/page-header.component.d.ts +1 -4
  24. package/lib/components/search-header/search-header.component.d.ts +3 -4
  25. package/lib/directives/advanced.directive.d.ts +5 -6
  26. package/lib/directives/content-container.directive.d.ts +23 -0
  27. package/lib/directives/content.directive.d.ts +21 -0
  28. package/lib/directives/if-breakpoint.directive.d.ts +3 -4
  29. package/lib/directives/if-permission.directive.d.ts +7 -9
  30. package/lib/directives/src.directive.d.ts +2 -3
  31. package/lib/directives/template.directive.d.ts +9 -0
  32. package/lib/directives/tooltipOnOverflow.directive.d.ts +2 -3
  33. package/lib/model/filter.model.d.ts +16 -4
  34. package/lib/pipes/dynamic.pipe.d.ts +2 -2
  35. package/lib/pipes/ocxtimeago.pipe.d.ts +3 -3
  36. package/lib/services/breadcrumb.service.d.ts +2 -4
  37. package/lib/services/translation-connection.service.d.ts +10 -0
  38. package/lib/utils/criteria.utils.d.ts +3 -3
  39. package/lib/utils/data-operation-strategy.d.ts +20 -0
  40. package/lib/utils/dateutils.d.ts +0 -1
  41. package/lib/utils/provide-connection-service.d.ts +6 -0
  42. package/migrations.json +26 -0
  43. package/package.json +22 -20
  44. package/testing/column-group-selection.harness.d.ts +2 -2
  45. package/testing/content-container.harness.d.ts +7 -0
  46. package/testing/content.harness.d.ts +10 -0
  47. package/testing/data-layout-selection.harness.d.ts +7 -6
  48. package/testing/index.d.ts +3 -0
  49. package/testing/interactive-data-view.harness.d.ts +5 -3
  50. package/testing/lifecycle.harness.d.ts +6 -0
  51. package/esm2022/index.mjs +0 -63
  52. package/esm2022/lib/angular-accelerator-primeng.module.mjs +0 -146
  53. package/esm2022/lib/angular-accelerator.module.mjs +0 -209
  54. package/esm2022/lib/components/column-group-selection/column-group-selection.component.mjs +0 -90
  55. package/esm2022/lib/components/custom-group-column-selector/custom-group-column-selector.component.mjs +0 -184
  56. package/esm2022/lib/components/data-layout-selection/data-layout-selection.component.mjs +0 -73
  57. package/esm2022/lib/components/data-list-grid/data-list-grid.component.mjs +0 -615
  58. package/esm2022/lib/components/data-list-grid-sorting/data-list-grid-sorting.component.mjs +0 -107
  59. package/esm2022/lib/components/data-loading-error/data-loading-error.component.mjs +0 -28
  60. package/esm2022/lib/components/data-sort-base/data-sort-base.mjs +0 -134
  61. package/esm2022/lib/components/data-table/data-table.component.mjs +0 -840
  62. package/esm2022/lib/components/data-view/data-view.component.mjs +0 -672
  63. package/esm2022/lib/components/diagram/diagram.component.mjs +0 -183
  64. package/esm2022/lib/components/filter-view/filter-view.component.mjs +0 -263
  65. package/esm2022/lib/components/group-by-count-diagram/group-by-count-diagram.component.mjs +0 -133
  66. package/esm2022/lib/components/interactive-data-view/interactive-data-view.component.mjs +0 -724
  67. package/esm2022/lib/components/page-header/page-header.component.mjs +0 -238
  68. package/esm2022/lib/components/search-header/search-header.component.mjs +0 -199
  69. package/esm2022/lib/directives/advanced.directive.mjs +0 -36
  70. package/esm2022/lib/directives/if-breakpoint.directive.mjs +0 -47
  71. package/esm2022/lib/directives/if-permission.directive.mjs +0 -95
  72. package/esm2022/lib/directives/src.directive.mjs +0 -65
  73. package/esm2022/lib/directives/tooltipOnOverflow.directive.mjs +0 -48
  74. package/esm2022/lib/functions/at-least-one-field-filled-validator.mjs +0 -7
  75. package/esm2022/lib/functions/flatten-object.mjs +0 -20
  76. package/esm2022/lib/injection-tokens/has-permission-checker.mjs +0 -10
  77. package/esm2022/lib/model/breadcrumb-menu-item.model.mjs +0 -2
  78. package/esm2022/lib/model/column-type.model.mjs +0 -16
  79. package/esm2022/lib/model/data-action.mjs +0 -2
  80. package/esm2022/lib/model/data-column-name-id.model.mjs +0 -2
  81. package/esm2022/lib/model/data-sort-direction.mjs +0 -2
  82. package/esm2022/lib/model/data-table-column.model.mjs +0 -2
  83. package/esm2022/lib/model/diagram-column.mjs +0 -2
  84. package/esm2022/lib/model/diagram-data.mjs +0 -2
  85. package/esm2022/lib/model/diagram-type.mjs +0 -2
  86. package/esm2022/lib/model/filter.model.mjs +0 -6
  87. package/esm2022/lib/pipes/dynamic.pipe.mjs +0 -58
  88. package/esm2022/lib/pipes/ocxtimeago.pipe.mjs +0 -107
  89. package/esm2022/lib/services/breadcrumb.service.mjs +0 -128
  90. package/esm2022/lib/services/translation-cache.service.mjs +0 -44
  91. package/esm2022/lib/utils/async-translate-loader.utils.mjs +0 -15
  92. package/esm2022/lib/utils/caching-translate-loader.utils.mjs +0 -18
  93. package/esm2022/lib/utils/colorutils.mjs +0 -19
  94. package/esm2022/lib/utils/create-remote-component-and-mfe-translate-loader.utils.mjs +0 -12
  95. package/esm2022/lib/utils/create-remote-component-translate-loader.utils.mjs +0 -25
  96. package/esm2022/lib/utils/create-translate-loader.utils.mjs +0 -30
  97. package/esm2022/lib/utils/criteria.utils.mjs +0 -28
  98. package/esm2022/lib/utils/dateutils.mjs +0 -38
  99. package/esm2022/lib/utils/dynamic-locale-id.mjs +0 -21
  100. package/esm2022/lib/utils/enum-to-dropdown-options.utils.mjs +0 -8
  101. package/esm2022/lib/utils/filter.utils.mjs +0 -6
  102. package/esm2022/lib/utils/objectutils.mjs +0 -30
  103. package/esm2022/lib/utils/primeicon.utils.mjs +0 -2
  104. package/esm2022/lib/utils/rxjs-utils.mjs +0 -13
  105. package/esm2022/lib/utils/string-and-array-helper-functions.utils.mjs +0 -22
  106. package/esm2022/lib/utils/template.utils.mjs +0 -11
  107. package/esm2022/lib/utils/translate.combined.loader.mjs +0 -42
  108. package/esm2022/onecx-angular-accelerator.mjs +0 -5
  109. package/esm2022/testing/column-group-selection.harness.mjs +0 -10
  110. package/esm2022/testing/custom-group-column-selector.harness.mjs +0 -31
  111. package/esm2022/testing/data-layout-selection.harness.mjs +0 -32
  112. package/esm2022/testing/data-list-grid.harness.mjs +0 -51
  113. package/esm2022/testing/data-table.harness.mjs +0 -69
  114. package/esm2022/testing/data-view.harness.mjs +0 -12
  115. package/esm2022/testing/default-grid-item.harness.mjs +0 -24
  116. package/esm2022/testing/default-list-item.harness.mjs +0 -26
  117. package/esm2022/testing/diagram.harness.mjs +0 -22
  118. package/esm2022/testing/filter-view.harness.mjs +0 -18
  119. package/esm2022/testing/group-by-count-diagram.harness.mjs +0 -10
  120. package/esm2022/testing/index.mjs +0 -23
  121. package/esm2022/testing/interactive-data-view.harness.mjs +0 -21
  122. package/esm2022/testing/more-actions-menu-button.harness.mjs +0 -35
  123. package/esm2022/testing/onecx-angular-accelerator-testing.mjs +0 -5
  124. package/esm2022/testing/page-header.harness.mjs +0 -81
  125. package/esm2022/testing/search-header.harness.mjs +0 -36
  126. package/esm2022/testing/slot.harness.mjs +0 -5
@@ -1,107 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "primeng/tooltip";
5
- import * as i2 from "primeng/api";
6
- import * as i3 from "primeng/dropdown";
7
- import * as i4 from "primeng/button";
8
- import * as i5 from "@angular/forms";
9
- import * as i6 from "@ngx-translate/core";
10
- export class DataListGridSortingComponent {
11
- constructor() {
12
- this.columns = [];
13
- this.sortStates = ["ASCENDING" /* DataSortDirection.ASCENDING */, "DESCENDING" /* DataSortDirection.DESCENDING */];
14
- this._sortDirection$ = new BehaviorSubject("NONE" /* DataSortDirection.NONE */);
15
- this._sortField$ = new BehaviorSubject('');
16
- this.sortChange = new EventEmitter();
17
- this.sortDirectionChange = new EventEmitter();
18
- this.componentStateChanged = new EventEmitter();
19
- this.columnsChange = new EventEmitter();
20
- this.dropdownOptions = [];
21
- }
22
- get sortDirection() {
23
- return this._sortDirection$.getValue();
24
- }
25
- set sortDirection(value) {
26
- this._sortDirection$.next(value);
27
- }
28
- get sortField() {
29
- return this?._sortField$.getValue();
30
- }
31
- set sortField(value) {
32
- this._sortField$.next(value);
33
- }
34
- ngOnInit() {
35
- this.columns.forEach((element) => this.dropdownOptions.push({ columnId: element.id, columnName: element.nameKey }));
36
- this.selectedSortingOption = this.dropdownOptions.find((e) => e.columnId === this?.sortField);
37
- this.emitComponentStateChange();
38
- }
39
- selectSorting(event) {
40
- this._sortField$.next(event.value.columnId);
41
- this.sortChange.emit(event.value.columnId);
42
- this.emitComponentStateChange();
43
- }
44
- sortDirectionChanged() {
45
- const newSortDirection = this.nextSortDirection();
46
- this._sortDirection$.next(newSortDirection);
47
- this.sortDirectionChange.emit(newSortDirection);
48
- this.emitComponentStateChange();
49
- }
50
- nextSortDirection() {
51
- return this.sortStates[(this.sortStates.indexOf(this.sortDirection) + 1) % this.sortStates.length];
52
- }
53
- emitComponentStateChange() {
54
- this.componentStateChanged.emit({
55
- sorting: {
56
- sortColumn: this.sortField,
57
- sortDirection: this.sortDirection,
58
- },
59
- });
60
- }
61
- sortIcon() {
62
- switch (this.sortDirection) {
63
- case "ASCENDING" /* DataSortDirection.ASCENDING */:
64
- return 'pi-sort-amount-up';
65
- case "DESCENDING" /* DataSortDirection.DESCENDING */:
66
- return 'pi-sort-amount-down';
67
- default:
68
- return 'pi-sort-alt';
69
- }
70
- }
71
- sortIconTitle() {
72
- return this.sortDirectionToTitle(this.sortDirection);
73
- }
74
- sortDirectionToTitle(sortDirection) {
75
- switch (sortDirection) {
76
- case "ASCENDING" /* DataSortDirection.ASCENDING */:
77
- return 'OCX_LIST_GRID_SORT.TOGGLE_BUTTON.ASCENDING_TOOLTIP';
78
- case "DESCENDING" /* DataSortDirection.DESCENDING */:
79
- return 'OCX_LIST_GRID_SORT.TOGGLE_BUTTON.DESCENDING_TOOLTIP';
80
- default:
81
- return 'OCX_LIST_GRID_SORT.TOGGLE_BUTTON.DEFAULT_TOOLTIP';
82
- }
83
- }
84
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataListGridSortingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
85
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataListGridSortingComponent, selector: "ocx-data-list-grid-sorting", inputs: { columns: "columns", sortStates: "sortStates", sortDirection: "sortDirection", sortField: "sortField" }, outputs: { sortChange: "sortChange", sortDirectionChange: "sortDirectionChange", componentStateChanged: "componentStateChanged", columnsChange: "columnsChange" }, ngImport: i0, template: "<div class=\"flex align-items-center gap-2\">\n <p-dropdown\n id=\"dataListGridSortingDropdown\"\n [(ngModel)]=\"selectedSortingOption\"\n class=\"sort-dropdown\"\n [options]=\"dropdownOptions\"\n [placeholder]=\"('OCX_LIST_GRID_SORT.DROPDOWN.PLACEHOLDER' | translate)\"\n (onChange)=\"selectSorting($event)\"\n [ariaLabel]=\"('OCX_LIST_GRID_SORT.DROPDOWN.ARIA_LABEL' | translate)\"\n >\n <ng-template let-item pTemplate=\"item\"> {{ item?.columnName ? (item.columnName | translate) : ''}} </ng-template>\n <ng-template let-item pTemplate=\"selectedItem\">\n {{ item?.columnName ? (item.columnName | translate) : ''}}\n </ng-template></p-dropdown\n >\n <p-button\n id=\"dataListGridSortingButton\"\n type=\"button\"\n icon=\"pi {{sortIcon()}}\"\n styleClass=\"p-button-outlined\"\n (onClick)=\"sortDirectionChanged()\"\n [pTooltip]=\"(sortIconTitle() | translate)\"\n tooltipPosition=\"top\"\n [ariaLabel]=\"('OCX_LIST_GRID_SORT.SORTING_BUTTON_ARIA_LABEL' | translate:{direction: (sortDirectionToTitle(nextSortDirection())) | translate})\"\n ></p-button>\n</div>\n", styles: [".pi{border-radius:var(--border-radius);border-width:thin;background:none;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i3.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "autoShowPanelOnPrintableCharacterKeyDown", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: i4.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
86
- }
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataListGridSortingComponent, decorators: [{
88
- type: Component,
89
- args: [{ selector: 'ocx-data-list-grid-sorting', template: "<div class=\"flex align-items-center gap-2\">\n <p-dropdown\n id=\"dataListGridSortingDropdown\"\n [(ngModel)]=\"selectedSortingOption\"\n class=\"sort-dropdown\"\n [options]=\"dropdownOptions\"\n [placeholder]=\"('OCX_LIST_GRID_SORT.DROPDOWN.PLACEHOLDER' | translate)\"\n (onChange)=\"selectSorting($event)\"\n [ariaLabel]=\"('OCX_LIST_GRID_SORT.DROPDOWN.ARIA_LABEL' | translate)\"\n >\n <ng-template let-item pTemplate=\"item\"> {{ item?.columnName ? (item.columnName | translate) : ''}} </ng-template>\n <ng-template let-item pTemplate=\"selectedItem\">\n {{ item?.columnName ? (item.columnName | translate) : ''}}\n </ng-template></p-dropdown\n >\n <p-button\n id=\"dataListGridSortingButton\"\n type=\"button\"\n icon=\"pi {{sortIcon()}}\"\n styleClass=\"p-button-outlined\"\n (onClick)=\"sortDirectionChanged()\"\n [pTooltip]=\"(sortIconTitle() | translate)\"\n tooltipPosition=\"top\"\n [ariaLabel]=\"('OCX_LIST_GRID_SORT.SORTING_BUTTON_ARIA_LABEL' | translate:{direction: (sortDirectionToTitle(nextSortDirection())) | translate})\"\n ></p-button>\n</div>\n", styles: [".pi{border-radius:var(--border-radius);border-width:thin;background:none;cursor:pointer}\n"] }]
90
- }], propDecorators: { columns: [{
91
- type: Input
92
- }], sortStates: [{
93
- type: Input
94
- }], sortDirection: [{
95
- type: Input
96
- }], sortField: [{
97
- type: Input
98
- }], sortChange: [{
99
- type: Output
100
- }], sortDirectionChange: [{
101
- type: Output
102
- }], componentStateChanged: [{
103
- type: Output
104
- }], columnsChange: [{
105
- type: Output
106
- }] } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LWdyaWQtc29ydGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtbGlzdC1ncmlkLXNvcnRpbmcvZGF0YS1saXN0LWdyaWQtc29ydGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtbGlzdC1ncmlkLXNvcnRpbmcvZGF0YS1saXN0LWdyaWQtc29ydGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUE7Ozs7Ozs7O0FBZ0J0QyxNQUFNLE9BQU8sNEJBQTRCO0lBTHpDO1FBTVcsWUFBTyxHQUFzQixFQUFFLENBQUE7UUFDL0IsZUFBVSxHQUF3QixnR0FBMkQsQ0FBQTtRQUN0RyxvQkFBZSxHQUFHLElBQUksZUFBZSxxQ0FBMkMsQ0FBQTtRQVFoRixnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFBO1FBU25DLGVBQVUsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUNyRCx3QkFBbUIsR0FBb0MsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUN6RSwwQkFBcUIsR0FBb0QsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUMzRixrQkFBYSxHQUEyQixJQUFJLFlBQVksRUFBRSxDQUFBO1FBRXBFLG9CQUFlLEdBQXVCLEVBQUUsQ0FBQTtLQTBEekM7SUEvRUMsSUFDSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFB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QUx4QyxTQUFTOytCQUNFLDRCQUE0Qjs4QkFLN0IsT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0YsYUFBYTtzQkFEaEIsS0FBSztnQkFTRixTQUFTO3NCQURaLEtBQUs7Z0JBUUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBEYXRhU29ydERpcmVjdGlvbiB9IGZyb20gJy4uLy4uL21vZGVsL2RhdGEtc29ydC1kaXJlY3Rpb24nXG5pbXBvcnQgeyBEYXRhQ29sdW1uTmFtZUlkIH0gZnJvbSAnLi4vLi4vbW9kZWwvZGF0YS1jb2x1bW4tbmFtZS1pZC5tb2RlbCdcbmltcG9ydCB7IERhdGFUYWJsZUNvbHVtbiB9IGZyb20gJy4uLy4uL21vZGVsL2RhdGEtdGFibGUtY29sdW1uLm1vZGVsJ1xuaW1wb3J0IHsgRHJvcGRvd25DaGFuZ2VFdmVudCB9IGZyb20gJ3ByaW1lbmcvZHJvcGRvd24nXG5cbmV4cG9ydCB0eXBlIExpc3RHcmlkU29ydCA9IHsgc29ydENvbHVtbjogc3RyaW5nOyBzb3J0RGlyZWN0aW9uOiBEYXRhU29ydERpcmVjdGlvbiB9XG5leHBvcnQgaW50ZXJmYWNlIERhdGFMaXN0R3JpZFNvcnRpbmdDb21wb25lbnRTdGF0ZSB7XG4gIHNvcnRpbmc/OiBMaXN0R3JpZFNvcnRcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb2N4LWRhdGEtbGlzdC1ncmlkLXNvcnRpbmcnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS1saXN0LWdyaWQtc29ydGluZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGEtbGlzdC1ncmlkLXNvcnRpbmcuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YUxpc3RHcmlkU29ydGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGNvbHVtbnM6IERhdGFUYWJsZUNvbHVtbltdID0gW11cbiAgQElucHV0KCkgc29ydFN0YXRlczogRGF0YVNvcnREaXJlY3Rpb25bXSA9IFtEYXRhU29ydERpcmVjdGlvbi5BU0NFTkRJTkcsIERhdGFTb3J0RGlyZWN0aW9uLkRFU0NFTkRJTkddXG4gIF9zb3J0RGlyZWN0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGF0YVNvcnREaXJlY3Rpb24+KERhdGFTb3J0RGlyZWN0aW9uLk5PTkUpXG4gIEBJbnB1dCgpXG4gIGdldCBzb3J0RGlyZWN0aW9uKCk6IERhdGFTb3J0RGlyZWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fc29ydERpcmVjdGlvbiQuZ2V0VmFsdWUoKVxuICB9XG4gIHNldCBzb3J0RGlyZWN0aW9uKHZhbHVlOiBEYXRhU29ydERpcmVjdGlvbikge1xuICAgIHRoaXMuX3NvcnREaXJlY3Rpb24kLm5leHQodmFsdWUpXG4gIH1cbiAgX3NvcnRGaWVsZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpXG4gIEBJbnB1dCgpXG4gIGdldCBzb3J0RmllbGQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcz8uX3NvcnRGaWVsZCQuZ2V0VmFsdWUoKVxuICB9XG4gIHNldCBzb3J0RmllbGQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3NvcnRGaWVsZCQubmV4dCh2YWx1ZSlcbiAgfVxuXG4gIEBPdXRwdXQoKSBzb3J0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBAT3V0cHV0KCkgc29ydERpcmVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGFTb3J0RGlyZWN0aW9uPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBAT3V0cHV0KCkgY29tcG9uZW50U3RhdGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8RGF0YUxpc3RHcmlkU29ydGluZ0NvbXBvbmVudFN0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBAT3V0cHV0KCkgY29sdW1uc0NoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZ1tdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBzZWxlY3RlZFNvcnRpbmdPcHRpb246IERhdGFDb2x1bW5OYW1lSWQgfCB1bmRlZmluZWRcbiAgZHJvcGRvd25PcHRpb25zOiBEYXRhQ29sdW1uTmFtZUlkW10gPSBbXVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY29sdW1ucy5mb3JFYWNoKChlbGVtZW50KSA9PiB0aGlzLmRyb3Bkb3duT3B0aW9ucy5wdXNoKHsgY29sdW1uSWQ6IGVsZW1lbnQuaWQsIGNvbHVtbk5hbWU6IGVsZW1lbnQubmFtZUtleSB9KSlcbiAgICB0aGlzLnNlbGVjdGVkU29ydGluZ09wdGlvbiA9IHRoaXMuZHJvcGRvd25PcHRpb25zLmZpbmQoKGUpID0+IGUuY29sdW1uSWQgPT09IHRoaXM/LnNvcnRGaWVsZClcbiAgICB0aGlzLmVtaXRDb21wb25lbnRTdGF0ZUNoYW5nZSgpXG4gIH1cblxuICBzZWxlY3RTb3J0aW5nKGV2ZW50OiBEcm9wZG93bkNoYW5nZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5fc29ydEZpZWxkJC5uZXh0KGV2ZW50LnZhbHVlLmNvbHVtbklkKVxuICAgIHRoaXMuc29ydENoYW5nZS5lbWl0KGV2ZW50LnZhbHVlLmNvbHVtbklkKVxuICAgIHRoaXMuZW1pdENvbXBvbmVudFN0YXRlQ2hhbmdlKClcbiAgfVxuICBzb3J0RGlyZWN0aW9uQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdTb3J0RGlyZWN0aW9uID0gdGhpcy5uZXh0U29ydERpcmVjdGlvbigpXG4gICAgdGhpcy5fc29ydERpcmVjdGlvbiQubmV4dChuZXdTb3J0RGlyZWN0aW9uKVxuICAgIHRoaXMuc29ydERpcmVjdGlvbkNoYW5nZS5lbWl0KG5ld1NvcnREaXJlY3Rpb24pXG4gICAgdGhpcy5lbWl0Q29tcG9uZW50U3RhdGVDaGFuZ2UoKVxuICB9XG5cbiAgbmV4dFNvcnREaXJlY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc29ydFN0YXRlc1sodGhpcy5zb3J0U3RhdGVzLmluZGV4T2YodGhpcy5zb3J0RGlyZWN0aW9uKSArIDEpICUgdGhpcy5zb3J0U3RhdGVzLmxlbmd0aF1cbiAgfVxuXG4gIGVtaXRDb21wb25lbnRTdGF0ZUNoYW5nZSgpIHtcbiAgICB0aGlzLmNvbXBvbmVudFN0YXRlQ2hhbmdlZC5lbWl0KHtcbiAgICAgIHNvcnRpbmc6IHtcbiAgICAgICAgc29ydENvbHVtbjogdGhpcy5zb3J0RmllbGQsXG4gICAgICAgIHNvcnREaXJlY3Rpb246IHRoaXMuc29ydERpcmVjdGlvbixcbiAgICAgIH0sXG4gICAgfSlcbiAgfVxuXG4gIHNvcnRJY29uKCkge1xuICAgIHN3aXRjaCAodGhpcy5zb3J0RGlyZWN0aW9uKSB7XG4gICAgICBjYXNlIERhdGFTb3J0RGlyZWN0aW9uLkFTQ0VORElORzpcbiAgICAgICAgcmV0dXJuICdwaS1zb3J0LWFtb3VudC11cCdcbiAgICAgIGNhc2UgRGF0YVNvcnREaXJlY3Rpb24uREVTQ0VORElORzpcbiAgICAgICAgcmV0dXJuICdwaS1zb3J0LWFtb3VudC1kb3duJ1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdwaS1zb3J0LWFsdCdcbiAgICB9XG4gIH1cblxuICBzb3J0SWNvblRpdGxlKCkge1xuICAgIHJldHVybiB0aGlzLnNvcnREaXJlY3Rpb25Ub1RpdGxlKHRoaXMuc29ydERpcmVjdGlvbilcbiAgfVxuXG4gIHNvcnREaXJlY3Rpb25Ub1RpdGxlKHNvcnREaXJlY3Rpb246IERhdGFTb3J0RGlyZWN0aW9uKSB7XG4gICAgc3dpdGNoIChzb3J0RGlyZWN0aW9uKSB7XG4gICAgICBjYXNlIERhdGFTb3J0RGlyZWN0aW9uLkFTQ0VORElORzpcbiAgICAgICAgcmV0dXJuICdPQ1hfTElTVF9HUklEX1NPUlQuVE9HR0xFX0JVVFRPTi5BU0NFTkRJTkdfVE9PTFRJUCdcbiAgICAgIGNhc2UgRGF0YVNvcnREaXJlY3Rpb24uREVTQ0VORElORzpcbiAgICAgICAgcmV0dXJuICdPQ1hfTElTVF9HUklEX1NPUlQuVE9HR0xFX0JVVFRPTi5ERVNDRU5ESU5HX1RPT0xUSVAnXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ09DWF9MSVNUX0dSSURfU09SVC5UT0dHTEVfQlVUVE9OLkRFRkFVTFRfVE9PTFRJUCdcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICA8cC1kcm9wZG93blxuICAgIGlkPVwiZGF0YUxpc3RHcmlkU29ydGluZ0Ryb3Bkb3duXCJcbiAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkU29ydGluZ09wdGlvblwiXG4gICAgY2xhc3M9XCJzb3J0LWRyb3Bkb3duXCJcbiAgICBbb3B0aW9uc109XCJkcm9wZG93bk9wdGlvbnNcIlxuICAgIFtwbGFjZWhvbGRlcl09XCIoJ09DWF9MSVNUX0dSSURfU09SVC5EUk9QRE9XTi5QTEFDRUhPTERFUicgfCB0cmFuc2xhdGUpXCJcbiAgICAob25DaGFuZ2UpPVwic2VsZWN0U29ydGluZygkZXZlbnQpXCJcbiAgICBbYXJpYUxhYmVsXT1cIignT0NYX0xJU1RfR1JJRF9TT1JULkRST1BET1dOLkFSSUFfTEFCRUwnIHwgdHJhbnNsYXRlKVwiXG4gID5cbiAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0gcFRlbXBsYXRlPVwiaXRlbVwiPiB7eyBpdGVtPy5jb2x1bW5OYW1lID8gKGl0ZW0uY29sdW1uTmFtZSB8IHRyYW5zbGF0ZSkgOiAnJ319IDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtIHBUZW1wbGF0ZT1cInNlbGVjdGVkSXRlbVwiPlxuICAgICAge3sgaXRlbT8uY29sdW1uTmFtZSA/IChpdGVtLmNvbHVtbk5hbWUgfCB0cmFuc2xhdGUpIDogJyd9fVxuICAgIDwvbmctdGVtcGxhdGU+PC9wLWRyb3Bkb3duXG4gID5cbiAgPHAtYnV0dG9uXG4gICAgaWQ9XCJkYXRhTGlzdEdyaWRTb3J0aW5nQnV0dG9uXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBpY29uPVwicGkge3tzb3J0SWNvbigpfX1cIlxuICAgIHN0eWxlQ2xhc3M9XCJwLWJ1dHRvbi1vdXRsaW5lZFwiXG4gICAgKG9uQ2xpY2spPVwic29ydERpcmVjdGlvbkNoYW5nZWQoKVwiXG4gICAgW3BUb29sdGlwXT1cIihzb3J0SWNvblRpdGxlKCkgfCB0cmFuc2xhdGUpXCJcbiAgICB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuICAgIFthcmlhTGFiZWxdPVwiKCdPQ1hfTElTVF9HUklEX1NPUlQuU09SVElOR19CVVRUT05fQVJJQV9MQUJFTCcgfCB0cmFuc2xhdGU6e2RpcmVjdGlvbjogKHNvcnREaXJlY3Rpb25Ub1RpdGxlKG5leHRTb3J0RGlyZWN0aW9uKCkpKSB8IHRyYW5zbGF0ZX0pXCJcbiAgPjwvcC1idXR0b24+XG48L2Rpdj5cbiJdfQ==
@@ -1,28 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@ngx-translate/core";
4
- /**
5
- * Show this data not found page component if the main entity of a page could not be loaded.
6
- */
7
- export class DataLoadingErrorComponent {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataLoadingErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataLoadingErrorComponent, selector: "ocx-data-loading-error", ngImport: i0, template: `<div class="p-4">
10
- <h1>{{ 'OCX_DATA_LOADING_ERROR.TITLE' | translate }}</h1>
11
- <div style="white-space: pre-line">
12
- {{ 'OCX_DATA_LOADING_ERROR.MESSAGE' | translate }}
13
- </div>
14
- </div> `, isInline: true, dependencies: [{ kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
15
- }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataLoadingErrorComponent, decorators: [{
17
- type: Component,
18
- args: [{
19
- selector: 'ocx-data-loading-error',
20
- template: `<div class="p-4">
21
- <h1>{{ 'OCX_DATA_LOADING_ERROR.TITLE' | translate }}</h1>
22
- <div style="white-space: pre-line">
23
- {{ 'OCX_DATA_LOADING_ERROR.MESSAGE' | translate }}
24
- </div>
25
- </div> `,
26
- }]
27
- }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1sb2FkaW5nLWVycm9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1hY2NlbGVyYXRvci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS1sb2FkaW5nLWVycm9yL2RhdGEtbG9hZGluZy1lcnJvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTs7O0FBRXpDOztHQUVHO0FBVUgsTUFBTSxPQUFPLHlCQUF5QjsrR0FBekIseUJBQXlCO21HQUF6Qix5QkFBeUIsOERBUDFCOzs7OztVQUtGOzs0RkFFRyx5QkFBeUI7a0JBVHJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsUUFBUSxFQUFFOzs7OztVQUtGO2lCQUNUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuLyoqXG4gKiBTaG93IHRoaXMgZGF0YSBub3QgZm91bmQgcGFnZSBjb21wb25lbnQgaWYgdGhlIG1haW4gZW50aXR5IG9mIGEgcGFnZSBjb3VsZCBub3QgYmUgbG9hZGVkLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvY3gtZGF0YS1sb2FkaW5nLWVycm9yJyxcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwicC00XCI+XG4gICAgPGgxPnt7ICdPQ1hfREFUQV9MT0FESU5HX0VSUk9SLlRJVExFJyB8IHRyYW5zbGF0ZSB9fTwvaDE+XG4gICAgPGRpdiBzdHlsZT1cIndoaXRlLXNwYWNlOiBwcmUtbGluZVwiPlxuICAgICAge3sgJ09DWF9EQVRBX0xPQURJTkdfRVJST1IuTUVTU0FHRScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+IGAsXG59KVxuZXhwb3J0IGNsYXNzIERhdGFMb2FkaW5nRXJyb3JDb21wb25lbnQge31cbiJdfQ==
@@ -1,134 +0,0 @@
1
- import { map, of } from 'rxjs';
2
- import { flattenObject } from '../../functions/flatten-object';
3
- import { ColumnType } from '../../model/column-type.model';
4
- import { ObjectUtils } from '../../utils/objectutils';
5
- import { FilterType } from '../../model/filter.model';
6
- export class DataSortBase {
7
- constructor(locale, translateService) {
8
- this.locale = locale;
9
- this.translateService = translateService;
10
- }
11
- translateItems([items, filters, sortColumn, sortDirection], columns, clientSideFiltering, clientSideSorting) {
12
- if (clientSideFiltering || clientSideSorting) {
13
- let translationKeys = [];
14
- const translatedColumns = columns.filter((c) => c.columnType === ColumnType.TRANSLATION_KEY);
15
- translatedColumns.forEach((c) => {
16
- translationKeys = [
17
- ...translationKeys,
18
- ...items.map((i) => ObjectUtils.resolveFieldData(i, c.id)?.toString()).filter((v) => !!v),
19
- ];
20
- });
21
- if (translationKeys.length) {
22
- return this.translateService.get(translationKeys).pipe(map((translatedValues) => {
23
- const translations = {};
24
- translatedColumns.forEach((c) => {
25
- translations[c.id] = Object.fromEntries(items.map((i) => [
26
- ObjectUtils.resolveFieldData(i, c.id)?.toString() || '',
27
- translatedValues[ObjectUtils.resolveFieldData(i, c.id)?.toString()],
28
- ]));
29
- });
30
- return [items, filters, sortColumn, sortDirection, translations];
31
- }));
32
- }
33
- }
34
- return of([items, filters, sortColumn, sortDirection, {}]);
35
- }
36
- filterItems([items, filters, sortColumn, sortDirection, translations], clientSideFiltering) {
37
- if (!clientSideFiltering) {
38
- return [items, filters, sortColumn, sortDirection, translations];
39
- }
40
- return [
41
- items.filter((item) => filters
42
- .map((filter) => filter.columnId)
43
- .filter((value, index, self) => self.indexOf(value) === index && value != null)
44
- .every((filterColumnId) => filters
45
- .filter((filter) => filter.columnId === filterColumnId)
46
- .some((filter) => {
47
- const value = (translations[filter.columnId]?.[ObjectUtils.resolveFieldData(item, filter.columnId)?.toString()] ||
48
- ObjectUtils.resolveFieldData(item, filter.columnId))?.toString();
49
- switch (filter.filterType) {
50
- case undefined:
51
- case FilterType.EQUAL:
52
- return value === String(filter.value);
53
- case FilterType.TRUTHY: {
54
- return filter.value ? !!value : !value;
55
- }
56
- }
57
- }))),
58
- filters,
59
- sortColumn,
60
- sortDirection,
61
- translations,
62
- ];
63
- }
64
- sortItems([items, filters, sortColumn, sortDirection, translations], columns, clientSideSorting) {
65
- if (!clientSideSorting || sortColumn === '') {
66
- return [items, filters, sortColumn, sortDirection, translations];
67
- }
68
- const column = columns.find((h) => h.id === sortColumn);
69
- let colValues;
70
- if (column?.columnType === ColumnType.DATE || column?.columnType === ColumnType.RELATIVE_DATE) {
71
- colValues = Object.fromEntries(items.map((i) => [
72
- ObjectUtils.resolveFieldData(i, sortColumn),
73
- ObjectUtils.resolveFieldData(i, sortColumn),
74
- ]));
75
- }
76
- else {
77
- colValues = Object.fromEntries(items.map((i) => [
78
- ObjectUtils.resolveFieldData(i, sortColumn)?.toString(),
79
- ObjectUtils.resolveFieldData(i, sortColumn)?.toString(),
80
- ]));
81
- }
82
- if (column?.columnType === ColumnType.TRANSLATION_KEY) {
83
- colValues = translations[sortColumn];
84
- }
85
- return [
86
- [...items].sort(this.createCompareFunction(colValues, sortColumn, sortDirection)),
87
- filters,
88
- sortColumn,
89
- sortDirection,
90
- translations,
91
- ];
92
- }
93
- flattenItems(items) {
94
- return items.map((i) => flattenObject(i));
95
- }
96
- createCompareFunction(translatedColValues, sortColumn, sortDirection) {
97
- let direction = 0;
98
- if (sortDirection === "ASCENDING" /* DataSortDirection.ASCENDING */) {
99
- direction = 1;
100
- }
101
- else if (sortDirection === "DESCENDING" /* DataSortDirection.DESCENDING */) {
102
- direction = -1;
103
- }
104
- return (data1, data2) => {
105
- if (direction === 0) {
106
- return 0;
107
- }
108
- let result;
109
- const value1 = translatedColValues[ObjectUtils.resolveFieldData(data1, sortColumn)];
110
- const value2 = translatedColValues[ObjectUtils.resolveFieldData(data2, sortColumn)];
111
- if (value1 == null && value2 != null)
112
- result = -1;
113
- else if (value1 != null && value2 == null)
114
- result = 1;
115
- else if (value1 == null && value2 == null)
116
- result = 0;
117
- else if (typeof value1 === 'string' && typeof value2 === 'string')
118
- result = value1.localeCompare(value2, [this.locale, 'en', 'de'], { numeric: true });
119
- else {
120
- if (value1 < value2) {
121
- result = -1;
122
- }
123
- else if (value1 > value2) {
124
- result = 1;
125
- }
126
- else {
127
- result = 0;
128
- }
129
- }
130
- return direction * result;
131
- };
132
- }
133
- }
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3J0LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtc29ydC1iYXNlL2RhdGEtc29ydC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBYyxHQUFHLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFLMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3JELE9BQU8sRUFBVSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUk3RCxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUNZLE1BQWMsRUFDZCxnQkFBa0M7UUFEbEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFDM0MsQ0FBQztJQUVKLGNBQWMsQ0FDWixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBMkQsRUFDckcsT0FBMEIsRUFDMUIsbUJBQTRCLEVBQzVCLGlCQUEwQjtRQUUxQixJQUFJLG1CQUFtQixJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDN0MsSUFBSSxlQUFlLEdBQWEsRUFBRSxDQUFBO1lBQ2xDLE1BQU0saUJBQWlCLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUE7WUFDNUYsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQzlCLGVBQWUsR0FBRztvQkFDaEIsR0FBRyxlQUFlO29CQUNs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LENBQUM7cUJBQU0sSUFBSSxNQUFNLEdBQUcsTUFBTSxFQUFFLENBQUM7b0JBQzNCLE1BQU0sR0FBRyxDQUFDLENBQUE7Z0JBQ1osQ0FBQztxQkFBTSxDQUFDO29CQUNOLE1BQU0sR0FBRyxDQUFDLENBQUE7Z0JBQ1osQ0FBQztZQUNILENBQUM7WUFDRCxPQUFPLFNBQVMsR0FBRyxNQUFNLENBQUE7UUFDM0IsQ0FBQyxDQUFBO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBtYXAsIG9mIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGZsYXR0ZW5PYmplY3QgfSBmcm9tICcuLi8uLi9mdW5jdGlvbnMvZmxhdHRlbi1vYmplY3QnXG5pbXBvcnQgeyBDb2x1bW5UeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWwvY29sdW1uLXR5cGUubW9kZWwnXG5pbXBvcnQgeyBEYXRhU29ydERpcmVjdGlvbiB9IGZyb20gJy4uLy4uL21vZGVsL2RhdGEtc29ydC1kaXJlY3Rpb24nXG5pbXBvcnQgeyBEYXRhVGFibGVDb2x1bW4gfSBmcm9tICcuLi8uLi9tb2RlbC9kYXRhLXRhYmxlLWNvbHVtbi5tb2RlbCdcbmltcG9ydCB7IExpc3RHcmlkRGF0YSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZGF0YS1saXN0LWdyaWQvZGF0YS1saXN0LWdyaWQuY29tcG9uZW50J1xuaW1wb3J0IHsgUm93IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9kYXRhLXRhYmxlL2RhdGEtdGFibGUuY29tcG9uZW50J1xuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICcuLi8uLi91dGlscy9vYmplY3R1dGlscydcbmltcG9ydCB7IEZpbHRlciwgRmlsdGVyVHlwZSB9IGZyb20gJy4uLy4uL21vZGVsL2ZpbHRlci5tb2RlbCdcblxudHlwZSBSb3dMaXN0R3JpZERhdGEgPSBMaXN0R3JpZERhdGEgfCBSb3dcblxuZXhwb3J0IGNsYXNzIERhdGFTb3J0QmFzZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBsb2NhbGU6IHN0cmluZyxcbiAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICApIHt9XG5cbiAgdHJhbnNsYXRlSXRlbXMoXG4gICAgW2l0ZW1zLCBmaWx0ZXJzLCBzb3J0Q29sdW1uLCBzb3J0RGlyZWN0aW9uXTogW1Jvd0xpc3RHcmlkRGF0YVtdLCBGaWx0ZXJbXSwgc3RyaW5nLCBEYXRhU29ydERpcmVjdGlvbl0sXG4gICAgY29sdW1uczogRGF0YVRhYmxlQ29sdW1uW10sXG4gICAgY2xpZW50U2lkZUZpbHRlcmluZzogYm9vbGVhbixcbiAgICBjbGllbnRTaWRlU29ydGluZzogYm9vbGVhblxuICApOiBPYnNlcnZhYmxlPFtSb3dMaXN0R3JpZERhdGFbXSwgRmlsdGVyW10sIHN0cmluZywgRGF0YVNvcnREaXJlY3Rpb24sIFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+XT4ge1xuICAgIGlmIChjbGllbnRTaWRlRmlsdGVyaW5nIHx8IGNsaWVudFNpZGVTb3J0aW5nKSB7XG4gICAgICBsZXQgdHJhbnNsYXRpb25LZXlzOiBzdHJpbmdbXSA9IFtdXG4gICAgICBjb25zdCB0cmFuc2xhdGVkQ29sdW1ucyA9IGNvbHVtbnMuZmlsdGVyKChjKSA9PiBjLmNvbHVtblR5cGUgPT09IENvbHVtblR5cGUuVFJBTlNMQVRJT05fS0VZKVxuICAgICAgdHJhbnNsYXRlZENvbHVtbnMuZm9yRWFjaCgoYykgPT4ge1xuICAgICAgICB0cmFuc2xhdGlvbktleXMgPSBbXG4gICAgICAgICAgLi4udHJhbnNsYXRpb25LZXlzLFxuICAgICAgICAgIC4uLml0ZW1zLm1hcCgoaSkgPT4gT2JqZWN0VXRpbHMucmVzb2x2ZUZpZWxkRGF0YShpLCBjLmlkKT8udG9TdHJpbmcoKSkuZmlsdGVyKCh2KSA9PiAhIXYpLFxuICAgICAgICBdXG4gICAgICB9KVxuICAgICAgaWYgKHRyYW5zbGF0aW9uS2V5cy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXQodHJhbnNsYXRpb25LZXlzKS5waXBlKFxuICAgICAgICAgIG1hcCgodHJhbnNsYXRlZFZhbHVlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPikgPT4ge1xuICAgICAgICAgICAgY29uc3QgdHJhbnNsYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiA9IHt9XG4gICAgICAgICAgICB0cmFuc2xhdGVkQ29sdW1ucy5mb3JFYWNoKChjKSA9PiB7XG4gICAgICAgICAgICAgIHRyYW5zbGF0aW9uc1tjLmlkXSA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgICAgICAgICAgICBpdGVtcy5tYXAoKGkpID0+IFtcbiAgICAgICAgICAgICAgICAgIE9iamVjdFV0aWxzLnJlc29sdmVGaWVsZERhdGEoaSwgYy5pZCk/LnRvU3RyaW5nKCkgfHwgJycsXG4gICAgICAgICAgICAgICAgICB0cmFuc2xhdGVkVmFsdWVzW09iamVjdFV0aWxzLnJlc29sdmVGaWVsZERhdGEoaSwgYy5pZCk/LnRvU3RyaW5nKCldLFxuICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICByZXR1cm4gW2l0ZW1zLCBmaWx0ZXJzLCBzb3J0Q29sdW1uLCBzb3J0RGlyZWN0aW9uLCB0cmFuc2xhdGlvbnNdXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gb2YoW2l0ZW1zLCBmaWx0ZXJzLCBzb3J0Q29sdW1uLCBzb3J0RGlyZWN0aW9uLCB7fV0pXG4gIH1cblxuICBmaWx0ZXJJdGVtcyhcbiAgICBbaXRlbXMsIGZpbHRlcnMsIHNvcnRDb2x1bW4sIHNvcnREaXJlY3Rpb24sIHRyYW5zbGF0aW9uc106IFtcbiAgICAgIFJvd0xpc3RHcmlkRGF0YVtdLFxuICAgICAgRmlsdGVyW10sXG4gICAgICBzdHJpbmcsXG4gICAgICBEYXRhU29ydERpcmVjdGlvbixcbiAgICAgIFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+LFxuICAgIF0sXG4gICAgY2xpZW50U2lkZUZpbHRlcmluZzogYm9vbGVhblxuICApOiBbUm93TGlzdEdyaWREYXRhW10sIEZpbHRlcltdLCBzdHJpbmcsIERhdGFTb3J0RGlyZWN0aW9uLCBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+Pl0ge1xuICAgIGlmICghY2xpZW50U2lkZUZpbHRlcmluZykge1xuICAgICAgcmV0dXJuIFtpdGVtcywgZmlsdGVycywgc29ydENvbHVtbiwgc29ydERpcmVjdGlvbiwgdHJhbnNsYXRpb25zXVxuICAgIH1cbiAgICByZXR1cm4gW1xuICAgICAgaXRlbXMuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgICBmaWx0ZXJzXG4gICAgICAgICAgLm1hcCgoZmlsdGVyKSA9PiBmaWx0ZXIuY29sdW1uSWQpXG4gICAgICAgICAgLmZpbHRlcigodmFsdWUsIGluZGV4LCBzZWxmKSA9PiBzZWxmLmluZGV4T2YodmFsdWUpID09PSBpbmRleCAmJiB2YWx1ZSAhPSBudWxsKVxuICAgICAgICAgIC5ldmVyeSgoZmlsdGVyQ29sdW1uSWQpID0+XG4gICAgICAgICAgICBmaWx0ZXJzXG4gICAgICAgICAgICAgIC5maWx0ZXIoKGZpbHRlcikgPT4gZmlsdGVyLmNvbHVtbklkID09PSBmaWx0ZXJDb2x1bW5JZClcbiAgICAgICAgICAgICAgLnNvbWUoKGZpbHRlcikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gKFxuICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25zW2ZpbHRlci5jb2x1bW5JZF0/LltPYmplY3RVdGlscy5yZXNvbHZlRmllbGREYXRhKGl0ZW0sIGZpbHRlci5jb2x1bW5JZCk/LnRvU3RyaW5nKCldIHx8XG4gICAgICAgICAgICAgICAgICBPYmplY3RVdGlscy5yZXNvbHZlRmllbGREYXRhKGl0ZW0sIGZpbHRlci5jb2x1bW5JZClcbiAgICAgICAgICAgICAgICApPy50b1N0cmluZygpXG4gICAgICAgICAgICAgICAgc3dpdGNoIChmaWx0ZXIuZmlsdGVyVHlwZSkge1xuICAgICAgICAgICAgICAgICAgY2FzZSB1bmRlZmluZWQ6XG4gICAgICAgICAgICAgICAgICBjYXNlIEZpbHRlclR5cGUuRVFVQUw6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZSA9PT0gU3RyaW5nKGZpbHRlci52YWx1ZSlcbiAgICAgICAgICAgICAgICAgIGNhc2UgRmlsdGVyVHlwZS5UUlVUSFk6IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZpbHRlci52YWx1ZSA/ICEhdmFsdWUgOiAhdmFsdWVcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgKSxcbiAgICAgIGZpbHRlcnMsXG4gICAgICBzb3J0Q29sdW1uLFxuICAgICAgc29ydERpcmVjdGlvbixcbiAgICAgIHRyYW5zbGF0aW9ucyxcbiAgICBdXG4gIH1cblxuICBzb3J0SXRlbXMoXG4gICAgW2l0ZW1zLCBmaWx0ZXJzLCBzb3J0Q29sdW1uLCBzb3J0RGlyZWN0aW9uLCB0cmFuc2xhdGlvbnNdOiBbXG4gICAgICBSb3dMaXN0R3JpZERhdGFbXSxcbiAgICAgIEZpbHRlcltdLFxuICAgICAgc3RyaW5nLFxuICAgICAgRGF0YVNvcnREaXJlY3Rpb24sXG4gICAgICBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PixcbiAgICBdLFxuICAgIGNvbHVtbnM6IERhdGFUYWJsZUNvbHVtbltdLFxuICAgIGNsaWVudFNpZGVTb3J0aW5nOiBib29sZWFuXG4gICk6IFtSb3dMaXN0R3JpZERhdGFbXSwgRmlsdGVyW10sIHN0cmluZywgRGF0YVNvcnREaXJlY3Rpb24sIFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+XSB7XG4gICAgaWYgKCFjbGllbnRTaWRlU29ydGluZyB8fCBzb3J0Q29sdW1uID09PSAnJykge1xuICAgICAgcmV0dXJuIFtpdGVtcywgZmlsdGVycywgc29ydENvbHVtbiwgc29ydERpcmVjdGlvbiwgdHJhbnNsYXRpb25zXVxuICAgIH1cbiAgICBjb25zdCBjb2x1bW4gPSBjb2x1bW5zLmZpbmQoKGgpID0+IGguaWQgPT09IHNvcnRDb2x1bW4pXG4gICAgbGV0IGNvbFZhbHVlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICAgIGlmIChjb2x1bW4/LmNvbHVtblR5cGUgPT09IENvbHVtblR5cGUuREFURSB8fCBjb2x1bW4/LmNvbHVtblR5cGUgPT09IENvbHVtblR5cGUuUkVMQVRJVkVfREFURSkge1xuICAgICAgY29sVmFsdWVzID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgICBpdGVtcy5tYXAoKGkpID0+IFtcbiAgICAgICAgICBPYmplY3RVdGlscy5yZXNvbHZlRmllbGREYXRhKGksIHNvcnRDb2x1bW4pIGFzIERhdGUsXG4gICAgICAgICAgT2JqZWN0VXRpbHMucmVzb2x2ZUZpZWxkRGF0YShpLCBzb3J0Q29sdW1uKSBhcyBEYXRlLFxuICAgICAgICBdKVxuICAgICAgKVxuICAgIH0gZWxzZSB7XG4gICAgICBjb2xWYWx1ZXMgPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICAgIGl0ZW1zLm1hcCgoaSkgPT4gW1xuICAgICAgICAgIE9iamVjdFV0aWxzLnJlc29sdmVGaWVsZERhdGEoaSwgc29ydENvbHVtbik/LnRvU3RyaW5nKCksXG4gICAgICAgICAgT2JqZWN0VXRpbHMucmVzb2x2ZUZpZWxkRGF0YShpLCBzb3J0Q29sdW1uKT8udG9TdHJpbmcoKSxcbiAgICAgICAgXSlcbiAgICAgIClcbiAgICB9XG4gICAgaWYgKGNvbHVtbj8uY29sdW1uVHlwZSA9PT0gQ29sdW1uVHlwZS5UUkFOU0xBVElPTl9LRVkpIHtcbiAgICAgIGNvbFZhbHVlcyA9IHRyYW5zbGF0aW9uc1tzb3J0Q29sdW1uXVxuICAgIH1cbiAgICByZXR1cm4gW1xuICAgICAgWy4uLml0ZW1zXS5zb3J0KHRoaXMuY3JlYXRlQ29tcGFyZUZ1bmN0aW9uKGNvbFZhbHVlcywgc29ydENvbHVtbiwgc29ydERpcmVjdGlvbikpLFxuICAgICAgZmlsdGVycyxcbiAgICAgIHNvcnRDb2x1bW4sXG4gICAgICBzb3J0RGlyZWN0aW9uLFxuICAgICAgdHJhbnNsYXRpb25zLFxuICAgIF1cbiAgfVxuXG4gIGZsYXR0ZW5JdGVtcyhpdGVtczogUm93TGlzdEdyaWREYXRhW10pIHtcbiAgICByZXR1cm4gaXRlbXMubWFwKChpKSA9PiBmbGF0dGVuT2JqZWN0KGkpKVxuICB9XG5cbiAgY3JlYXRlQ29tcGFyZUZ1bmN0aW9uKFxuICAgIHRyYW5zbGF0ZWRDb2xWYWx1ZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gICAgc29ydENvbHVtbjogc3RyaW5nLFxuICAgIHNvcnREaXJlY3Rpb246IERhdGFTb3J0RGlyZWN0aW9uXG4gICk6IChhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBiOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSA9PiBudW1iZXIge1xuICAgIGxldCBkaXJlY3Rpb24gPSAwXG4gICAgaWYgKHNvcnREaXJlY3Rpb24gPT09IERhdGFTb3J0RGlyZWN0aW9uLkFTQ0VORElORykge1xuICAgICAgZGlyZWN0aW9uID0gMVxuICAgIH0gZWxzZSBpZiAoc29ydERpcmVjdGlvbiA9PT0gRGF0YVNvcnREaXJlY3Rpb24uREVTQ0VORElORykge1xuICAgICAgZGlyZWN0aW9uID0gLTFcbiAgICB9XG4gICAgcmV0dXJuIChkYXRhMSwgZGF0YTIpID0+IHtcbiAgICAgIGlmIChkaXJlY3Rpb24gPT09IDApIHtcbiAgICAgICAgcmV0dXJuIDBcbiAgICAgIH1cbiAgICAgIGxldCByZXN1bHRcbiAgICAgIGNvbnN0IHZhbHVlMSA9IHRyYW5zbGF0ZWRDb2xWYWx1ZXNbT2JqZWN0VXRpbHMucmVzb2x2ZUZpZWxkRGF0YShkYXRhMSwgc29ydENvbHVtbildXG4gICAgICBjb25zdCB2YWx1ZTIgPSB0cmFuc2xhdGVkQ29sVmFsdWVzW09iamVjdFV0aWxzLnJlc29sdmVGaWVsZERhdGEoZGF0YTIsIHNvcnRDb2x1bW4pXVxuXG4gICAgICBpZiAodmFsdWUxID09IG51bGwgJiYgdmFsdWUyICE9IG51bGwpIHJlc3VsdCA9IC0xXG4gICAgICBlbHNlIGlmICh2YWx1ZTEgIT0gbnVsbCAmJiB2YWx1ZTIgPT0gbnVsbCkgcmVzdWx0ID0gMVxuICAgICAgZWxzZSBpZiAodmFsdWUxID09IG51bGwgJiYgdmFsdWUyID09IG51bGwpIHJlc3VsdCA9IDBcbiAgICAgIGVsc2UgaWYgKHR5cGVvZiB2YWx1ZTEgPT09ICdzdHJpbmcnICYmIHR5cGVvZiB2YWx1ZTIgPT09ICdzdHJpbmcnKVxuICAgICAgICByZXN1bHQgPSB2YWx1ZTEubG9jYWxlQ29tcGFyZSh2YWx1ZTIsIFt0aGlzLmxvY2FsZSwgJ2VuJywgJ2RlJ10sIHsgbnVtZXJpYzogdHJ1ZSB9KVxuICAgICAgZWxzZSB7XG4gICAgICAgIGlmICh2YWx1ZTEgPCB2YWx1ZTIpIHtcbiAgICAgICAgICByZXN1bHQgPSAtMVxuICAgICAgICB9IGVsc2UgaWYgKHZhbHVlMSA+IHZhbHVlMikge1xuICAgICAgICAgIHJlc3VsdCA9IDFcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXN1bHQgPSAwXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBkaXJlY3Rpb24gKiByZXN1bHRcbiAgICB9XG4gIH1cbn1cbiJdfQ==