@progress-chef/platform-shared-components 0.0.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.
- package/README.md +30 -0
- package/assets/IconFont.css +68 -0
- package/assets/IconFont.scss +68 -0
- package/assets/IconFont.ttf +0 -0
- package/assets/IconFont.woff +0 -0
- package/assets/IconFont.woff2 +0 -0
- package/esm2022/lib/atoms/alert/alert.component.mjs +37 -0
- package/esm2022/lib/atoms/alert/alert.module.mjs +20 -0
- package/esm2022/lib/atoms/angular-popup/angular-popup.component.mjs +35 -0
- package/esm2022/lib/atoms/angular-popup/angular-popup.module.mjs +36 -0
- package/esm2022/lib/atoms/atoms.module.mjs +234 -0
- package/esm2022/lib/atoms/avatar/avatar.component.mjs +62 -0
- package/esm2022/lib/atoms/avatar/avatar.module.mjs +20 -0
- package/esm2022/lib/atoms/breadcrumb/breadcrumb.component.mjs +59 -0
- package/esm2022/lib/atoms/breadcrumb/breadcrumb.module.mjs +36 -0
- package/esm2022/lib/atoms/button/button.component.mjs +72 -0
- package/esm2022/lib/atoms/button/button.module.mjs +21 -0
- package/esm2022/lib/atoms/button-group/button-group.component.mjs +52 -0
- package/esm2022/lib/atoms/button-group/button-group.module.mjs +21 -0
- package/esm2022/lib/atoms/checkbox/checkbox.component.mjs +45 -0
- package/esm2022/lib/atoms/checkbox/checkbox.module.mjs +32 -0
- package/esm2022/lib/atoms/clipboard/clipboard.component.mjs +104 -0
- package/esm2022/lib/atoms/clipboard/clipboard.module.mjs +32 -0
- package/esm2022/lib/atoms/container/container.component.mjs +29 -0
- package/esm2022/lib/atoms/container/container.module.mjs +22 -0
- package/esm2022/lib/atoms/dropdown/dropdown.component.mjs +102 -0
- package/esm2022/lib/atoms/dropdown/dropdown.module.mjs +39 -0
- package/esm2022/lib/atoms/dropdowntree/dropdowntree.component.mjs +103 -0
- package/esm2022/lib/atoms/dropdowntree/dropdowntree.module.mjs +43 -0
- package/esm2022/lib/atoms/expansion-panel/expansion-panel.component.mjs +38 -0
- package/esm2022/lib/atoms/expansion-panel/expansion-panel.module.mjs +56 -0
- package/esm2022/lib/atoms/icon/icon.component.mjs +24 -0
- package/esm2022/lib/atoms/icon/icon.module.mjs +17 -0
- package/esm2022/lib/atoms/label/label.component.mjs +26 -0
- package/esm2022/lib/atoms/label/label.module.mjs +20 -0
- package/esm2022/lib/atoms/loading-spinner/loading-spinner.component.mjs +26 -0
- package/esm2022/lib/atoms/loading-spinner/loading-spinner.module.mjs +18 -0
- package/esm2022/lib/atoms/multi-select-dropdown/multi-select-dropdown.component.mjs +101 -0
- package/esm2022/lib/atoms/multi-select-dropdown/multi-select-dropdown.module.mjs +39 -0
- package/esm2022/lib/atoms/notification/notification.component.mjs +69 -0
- package/esm2022/lib/atoms/notification/notification.module.mjs +20 -0
- package/esm2022/lib/atoms/numeric-textbox/numeric-textbox.component.mjs +80 -0
- package/esm2022/lib/atoms/numeric-textbox/numeric-textbox.module.mjs +35 -0
- package/esm2022/lib/atoms/progress-bar/progress-bar.component.mjs +20 -0
- package/esm2022/lib/atoms/progress-bar/progress-bar.module.mjs +24 -0
- package/esm2022/lib/atoms/radio-button/radio-button.component.mjs +51 -0
- package/esm2022/lib/atoms/radio-button/radio-button.module.mjs +39 -0
- package/esm2022/lib/atoms/report-summary/report-summary.component.mjs +47 -0
- package/esm2022/lib/atoms/report-summary/report-summary.module.mjs +24 -0
- package/esm2022/lib/atoms/search-box/search-box.component.mjs +108 -0
- package/esm2022/lib/atoms/search-box/search-box.module.mjs +36 -0
- package/esm2022/lib/atoms/slider/slider.component.mjs +58 -0
- package/esm2022/lib/atoms/slider/slider.module.mjs +28 -0
- package/esm2022/lib/atoms/text-area/text-area.component.mjs +43 -0
- package/esm2022/lib/atoms/text-area/text-area.module.mjs +28 -0
- package/esm2022/lib/atoms/textbox/textbox.component.mjs +102 -0
- package/esm2022/lib/atoms/textbox/textbox.module.mjs +21 -0
- package/esm2022/lib/atoms/timescheduler/timescheduler.component.mjs +62 -0
- package/esm2022/lib/atoms/timescheduler/timescheduler.module.mjs +31 -0
- package/esm2022/lib/atoms/toast-notification/toast-notification.module.mjs +19 -0
- package/esm2022/lib/atoms/toast-notification/toast-notification.service.mjs +45 -0
- package/esm2022/lib/atoms/tooltip/tooltip.component.mjs +35 -0
- package/esm2022/lib/atoms/tooltip/tooltip.module.mjs +20 -0
- package/esm2022/lib/atoms/typography/TypographyType.mjs +2 -0
- package/esm2022/lib/atoms/typography/typography.component.mjs +97 -0
- package/esm2022/lib/atoms/typography/typography.module.mjs +24 -0
- package/esm2022/lib/molecules/card/card-actions/card-actions.component.mjs +21 -0
- package/esm2022/lib/molecules/card/card-body/card-body.component.mjs +14 -0
- package/esm2022/lib/molecules/card/card-footer/card-footer.component.mjs +14 -0
- package/esm2022/lib/molecules/card/card-header/card-header.component.mjs +32 -0
- package/esm2022/lib/molecules/card/card.component.mjs +21 -0
- package/esm2022/lib/molecules/card/card.module.mjs +44 -0
- package/esm2022/lib/molecules/dialog/dialog-actions/dialog-actions.component.mjs +18 -0
- package/esm2022/lib/molecules/dialog/dialog-titlebar/dialog-titlebar.component.mjs +41 -0
- package/esm2022/lib/molecules/dialog/dialog.component.mjs +52 -0
- package/esm2022/lib/molecules/dialog/dialog.module.mjs +40 -0
- package/esm2022/lib/molecules/grid/grid-form/grid-form.component.mjs +112 -0
- package/esm2022/lib/molecules/grid/grid-spacer/grid-spacer.component.mjs +15 -0
- package/esm2022/lib/molecules/grid/grid.component.mjs +278 -0
- package/esm2022/lib/molecules/grid/grid.module.mjs +61 -0
- package/esm2022/lib/molecules/grid-layout/grid-layout-item/grid-layout-item.component.mjs +39 -0
- package/esm2022/lib/molecules/grid-layout/grid-layout.component.mjs +34 -0
- package/esm2022/lib/molecules/grid-layout/grid-layout.module.mjs +33 -0
- package/esm2022/lib/molecules/grid-pagination/grid-pagination-spacer/grid-pagination-spacer.component.mjs +15 -0
- package/esm2022/lib/molecules/grid-pagination/grid-pagination.component.mjs +380 -0
- package/esm2022/lib/molecules/grid-pagination/grid-pagination.module.mjs +69 -0
- package/esm2022/lib/molecules/grid-pagination/kebab-menu-filter.pipe.mjs +22 -0
- package/esm2022/lib/molecules/molecules.module.mjs +74 -0
- package/esm2022/lib/molecules/sidebar/layout/layout.model.mjs +2 -0
- package/esm2022/lib/molecules/sidebar/sidebar.component.mjs +43 -0
- package/esm2022/lib/molecules/sidebar/sidebar.module.mjs +32 -0
- package/esm2022/lib/molecules/tabstrip/tabstrip-tab/tabstrip-tab.component.mjs +25 -0
- package/esm2022/lib/molecules/tabstrip/tabstrip.component.mjs +37 -0
- package/esm2022/lib/molecules/tabstrip/tabstrip.module.mjs +33 -0
- package/esm2022/lib/shared.component.mjs +16 -0
- package/esm2022/lib/shared.module.mjs +40 -0
- package/esm2022/lib/shared.service.mjs +14 -0
- package/esm2022/lib/style-tokens/style-tokens.module.mjs +18 -0
- package/esm2022/progress-chef-platform-shared-components.mjs +5 -0
- package/esm2022/public-api.mjs +98 -0
- package/fesm2022/progress-chef-platform-shared-components.mjs +3970 -0
- package/fesm2022/progress-chef-platform-shared-components.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/atoms/alert/alert.component.d.ts +19 -0
- package/lib/atoms/alert/alert.module.d.ts +8 -0
- package/lib/atoms/angular-popup/angular-popup.component.d.ts +16 -0
- package/lib/atoms/angular-popup/angular-popup.module.d.ts +11 -0
- package/lib/atoms/atoms.module.d.ts +38 -0
- package/lib/atoms/avatar/avatar.component.d.ts +21 -0
- package/lib/atoms/avatar/avatar.module.d.ts +10 -0
- package/lib/atoms/breadcrumb/breadcrumb.component.d.ts +18 -0
- package/lib/atoms/breadcrumb/breadcrumb.module.d.ts +12 -0
- package/lib/atoms/button/button.component.d.ts +26 -0
- package/lib/atoms/button/button.module.d.ts +11 -0
- package/lib/atoms/button-group/button-group.component.d.ts +21 -0
- package/lib/atoms/button-group/button-group.module.d.ts +11 -0
- package/lib/atoms/checkbox/checkbox.component.d.ts +20 -0
- package/lib/atoms/checkbox/checkbox.module.d.ts +11 -0
- package/lib/atoms/clipboard/clipboard.component.d.ts +33 -0
- package/lib/atoms/clipboard/clipboard.module.d.ts +11 -0
- package/lib/atoms/container/container.component.d.ts +12 -0
- package/lib/atoms/container/container.module.d.ts +8 -0
- package/lib/atoms/dropdown/dropdown.component.d.ts +38 -0
- package/lib/atoms/dropdown/dropdown.module.d.ts +11 -0
- package/lib/atoms/dropdowntree/dropdowntree.component.d.ts +36 -0
- package/lib/atoms/dropdowntree/dropdowntree.module.d.ts +12 -0
- package/lib/atoms/expansion-panel/expansion-panel.component.d.ts +16 -0
- package/lib/atoms/expansion-panel/expansion-panel.module.d.ts +17 -0
- package/lib/atoms/icon/icon.component.d.ts +13 -0
- package/lib/atoms/icon/icon.module.d.ts +7 -0
- package/lib/atoms/label/label.component.d.ts +14 -0
- package/lib/atoms/label/label.module.d.ts +10 -0
- package/lib/atoms/loading-spinner/loading-spinner.component.d.ts +13 -0
- package/lib/atoms/loading-spinner/loading-spinner.module.d.ts +8 -0
- package/lib/atoms/multi-select-dropdown/multi-select-dropdown.component.d.ts +37 -0
- package/lib/atoms/multi-select-dropdown/multi-select-dropdown.module.d.ts +11 -0
- package/lib/atoms/notification/notification.component.d.ts +24 -0
- package/lib/atoms/notification/notification.module.d.ts +8 -0
- package/lib/atoms/numeric-textbox/numeric-textbox.component.d.ts +30 -0
- package/lib/atoms/numeric-textbox/numeric-textbox.module.d.ts +10 -0
- package/lib/atoms/progress-bar/progress-bar.component.d.ts +11 -0
- package/lib/atoms/progress-bar/progress-bar.module.d.ts +8 -0
- package/lib/atoms/radio-button/radio-button.component.d.ts +21 -0
- package/lib/atoms/radio-button/radio-button.module.d.ts +11 -0
- package/lib/atoms/report-summary/report-summary.component.d.ts +23 -0
- package/lib/atoms/report-summary/report-summary.module.d.ts +8 -0
- package/lib/atoms/search-box/search-box.component.d.ts +37 -0
- package/lib/atoms/search-box/search-box.module.d.ts +12 -0
- package/lib/atoms/slider/slider.component.d.ts +18 -0
- package/lib/atoms/slider/slider.module.d.ts +9 -0
- package/lib/atoms/text-area/text-area.component.d.ts +20 -0
- package/lib/atoms/text-area/text-area.module.d.ts +10 -0
- package/lib/atoms/textbox/textbox.component.d.ts +34 -0
- package/lib/atoms/textbox/textbox.module.d.ts +11 -0
- package/lib/atoms/timescheduler/timescheduler.component.d.ts +23 -0
- package/lib/atoms/timescheduler/timescheduler.module.d.ts +10 -0
- package/lib/atoms/toast-notification/toast-notification.module.d.ts +8 -0
- package/lib/atoms/toast-notification/toast-notification.service.d.ts +28 -0
- package/lib/atoms/tooltip/tooltip.component.d.ts +17 -0
- package/lib/atoms/tooltip/tooltip.module.d.ts +8 -0
- package/lib/atoms/typography/TypographyType.d.ts +1 -0
- package/lib/atoms/typography/typography.component.d.ts +24 -0
- package/lib/atoms/typography/typography.module.d.ts +8 -0
- package/lib/molecules/card/card-actions/card-actions.component.d.ts +11 -0
- package/lib/molecules/card/card-body/card-body.component.d.ts +8 -0
- package/lib/molecules/card/card-footer/card-footer.component.d.ts +8 -0
- package/lib/molecules/card/card-header/card-header.component.d.ts +14 -0
- package/lib/molecules/card/card.component.d.ts +9 -0
- package/lib/molecules/card/card.module.d.ts +14 -0
- package/lib/molecules/dialog/dialog-actions/dialog-actions.component.d.ts +10 -0
- package/lib/molecules/dialog/dialog-titlebar/dialog-titlebar.component.d.ts +17 -0
- package/lib/molecules/dialog/dialog.component.d.ts +21 -0
- package/lib/molecules/dialog/dialog.module.d.ts +13 -0
- package/lib/molecules/grid/grid-form/grid-form.component.d.ts +34 -0
- package/lib/molecules/grid/grid-spacer/grid-spacer.component.d.ts +8 -0
- package/lib/molecules/grid/grid.component.d.ts +71 -0
- package/lib/molecules/grid/grid.module.d.ts +19 -0
- package/lib/molecules/grid-layout/grid-layout-item/grid-layout-item.component.d.ts +15 -0
- package/lib/molecules/grid-layout/grid-layout.component.d.ts +14 -0
- package/lib/molecules/grid-layout/grid-layout.module.d.ts +10 -0
- package/lib/molecules/grid-pagination/grid-pagination-spacer/grid-pagination-spacer.component.d.ts +8 -0
- package/lib/molecules/grid-pagination/grid-pagination.component.d.ts +90 -0
- package/lib/molecules/grid-pagination/grid-pagination.module.d.ts +19 -0
- package/lib/molecules/grid-pagination/kebab-menu-filter.pipe.d.ts +7 -0
- package/lib/molecules/molecules.module.d.ts +15 -0
- package/lib/molecules/sidebar/layout/layout.model.d.ts +20 -0
- package/lib/molecules/sidebar/sidebar.component.d.ts +14 -0
- package/lib/molecules/sidebar/sidebar.module.d.ts +10 -0
- package/lib/molecules/tabstrip/tabstrip-tab/tabstrip-tab.component.d.ts +10 -0
- package/lib/molecules/tabstrip/tabstrip.component.d.ts +15 -0
- package/lib/molecules/tabstrip/tabstrip.module.d.ts +10 -0
- package/lib/shared.component.d.ts +10 -0
- package/lib/shared.module.d.ts +11 -0
- package/lib/shared.service.d.ts +6 -0
- package/lib/style-tokens/style-tokens.module.d.ts +7 -0
- package/package.json +55 -0
- package/public-api.d.ts +91 -0
|
@@ -0,0 +1,380 @@
|
|
|
1
|
+
import { Component, ContentChild, EventEmitter, HostListener, Input, Output, ViewChild, } from '@angular/core';
|
|
2
|
+
import { GridComponent, } from '@progress/kendo-angular-grid';
|
|
3
|
+
import { orderBy } from '@progress/kendo-data-query';
|
|
4
|
+
import { chevronDownIcon, chevronUpIcon, moreVerticalIcon } from '@progress/kendo-svg-icons';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
import * as i2 from "@progress/kendo-angular-buttons";
|
|
8
|
+
import * as i3 from "../../atoms/icon/icon.component";
|
|
9
|
+
import * as i4 from "@progress/kendo-angular-grid";
|
|
10
|
+
import * as i5 from "../../atoms/tooltip/tooltip.component";
|
|
11
|
+
import * as i6 from "../../atoms/typography/typography.component";
|
|
12
|
+
import * as i7 from "./kebab-menu-filter.pipe";
|
|
13
|
+
export class GridPaginationComponent {
|
|
14
|
+
constructor() {
|
|
15
|
+
this.gridView = { data: [], total: 0 };
|
|
16
|
+
this.skip = 0;
|
|
17
|
+
this.columnData = [];
|
|
18
|
+
this.pageSize = 0;
|
|
19
|
+
this.pageable = false;
|
|
20
|
+
this.sortable = false;
|
|
21
|
+
this.groupable = false;
|
|
22
|
+
this.reorderable = false;
|
|
23
|
+
this.resizable = false;
|
|
24
|
+
this.checkBoxWidth = 45;
|
|
25
|
+
this.checkBoxColumnResizable = false;
|
|
26
|
+
this.checkBoxColumnMenu = false;
|
|
27
|
+
this.checkBoxColumnShowSelectedAll = true;
|
|
28
|
+
this.checkBoxRequired = false;
|
|
29
|
+
this.columnMenu = false;
|
|
30
|
+
this.mode = 'multiple';
|
|
31
|
+
this.checkboxOnly = true;
|
|
32
|
+
this.dragColumns = false;
|
|
33
|
+
this.navigable = true;
|
|
34
|
+
this.gridRowSelectByValue = '';
|
|
35
|
+
this.noRecordsContent = 'No Records Available';
|
|
36
|
+
this.selectedRowData = new EventEmitter();
|
|
37
|
+
this.showToolbar = false;
|
|
38
|
+
this.selectableSettings = {};
|
|
39
|
+
this.kebabList = [];
|
|
40
|
+
this.showKebab = false;
|
|
41
|
+
this.rowDetails = new EventEmitter();
|
|
42
|
+
this.kebabItemClick = new EventEmitter();
|
|
43
|
+
this.icon = moreVerticalIcon;
|
|
44
|
+
this.kebabColumnWidth = 60;
|
|
45
|
+
this.data = [];
|
|
46
|
+
this.selectColumn = '';
|
|
47
|
+
this.rowDataOfClickedCell = new EventEmitter();
|
|
48
|
+
this.preSelected = [];
|
|
49
|
+
this.preSelectedRecords = [];
|
|
50
|
+
this.onPageChange = new EventEmitter();
|
|
51
|
+
this.ignoreColumnCellClick = [];
|
|
52
|
+
this.allowColumnClick = false;
|
|
53
|
+
this.sort = [
|
|
54
|
+
{
|
|
55
|
+
field: '',
|
|
56
|
+
dir: undefined,
|
|
57
|
+
},
|
|
58
|
+
];
|
|
59
|
+
this.hasApiSorting = false;
|
|
60
|
+
this.sortDirection = new EventEmitter();
|
|
61
|
+
this.arrowDownIcon = chevronDownIcon;
|
|
62
|
+
this.arrowUpIcon = chevronUpIcon;
|
|
63
|
+
this.expandRowIndex = [];
|
|
64
|
+
this.customExpandRowColumn = false;
|
|
65
|
+
this.deleteColumnWidth = 42;
|
|
66
|
+
this.expandRowColumnWidth = 42;
|
|
67
|
+
this.deletedRowData = new EventEmitter();
|
|
68
|
+
this.sizes = [];
|
|
69
|
+
this.pageCount = 0;
|
|
70
|
+
this.showDeleteColumn = false;
|
|
71
|
+
this.hideKebabRowIndex = [];
|
|
72
|
+
this.gridBottomSpace = 24;
|
|
73
|
+
this.resizeHeight = 0;
|
|
74
|
+
this.setSelectableSettings();
|
|
75
|
+
}
|
|
76
|
+
ngOnInit() {
|
|
77
|
+
for (let column of this.columnData) {
|
|
78
|
+
column.sortable = column.sortable == undefined ? true : column.sortable;
|
|
79
|
+
}
|
|
80
|
+
if (!this.hasApiSorting) {
|
|
81
|
+
this.loadGridData();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
ngOnChanges(changes) {
|
|
85
|
+
let prevPreSelected = JSON.stringify(changes['preSelected']?.previousValue);
|
|
86
|
+
let currPreSelected = JSON.stringify(changes['preSelected']?.currentValue);
|
|
87
|
+
// Check if there is a change in this.preSelected input
|
|
88
|
+
if (prevPreSelected !== currPreSelected) {
|
|
89
|
+
// Clear the this.preSelectedRecords array
|
|
90
|
+
this.preSelectedRecords = [];
|
|
91
|
+
for (let row = 0; row < changes['preSelected'].currentValue.length; row++) {
|
|
92
|
+
for (let col = 0; col < this.gridView.data.length; col++) {
|
|
93
|
+
// Find the relevant record for a particular id
|
|
94
|
+
if (this.gridView.data[col][this.gridRowSelectByValue] ===
|
|
95
|
+
changes['preSelected'].currentValue[row]) {
|
|
96
|
+
let found = false;
|
|
97
|
+
// Check if this record is present in this.data, if yes don't push it in this.preSelectedRecords else push it
|
|
98
|
+
for (let index = 0; index < this.data.length; index++) {
|
|
99
|
+
if (this.data[index][this.gridRowSelectByValue] ===
|
|
100
|
+
this.gridView.data[col][this.gridRowSelectByValue]) {
|
|
101
|
+
found = true;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
if (!found) {
|
|
105
|
+
this.preSelectedRecords.push(this.gridView.data[col]);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
this.selectedRowData.emit(this.preSelectedRecords.concat(this.data));
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
ngAfterContentInit() {
|
|
114
|
+
if (!this.pageable) {
|
|
115
|
+
this.pageSize = this.gridView.data.length;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
ngAfterViewInit() {
|
|
119
|
+
if (this.customExpandRowColumn) {
|
|
120
|
+
this.expandRowIndex.forEach((id) => {
|
|
121
|
+
this.grid.expandRow(id);
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
this.initialGridHeight = this.gridElement.nativeElement.offsetHeight + this.gridBottomSpace;
|
|
125
|
+
this.getGridHeight();
|
|
126
|
+
}
|
|
127
|
+
pageChange(event) {
|
|
128
|
+
this.onPageChange.emit(event);
|
|
129
|
+
}
|
|
130
|
+
setSelectableSettings() {
|
|
131
|
+
if (this.checkboxOnly || this.mode === 'single') {
|
|
132
|
+
this.dragColumns = false;
|
|
133
|
+
}
|
|
134
|
+
this.selectableSettings = {
|
|
135
|
+
checkboxOnly: this.checkboxOnly,
|
|
136
|
+
mode: this.mode,
|
|
137
|
+
drag: this.dragColumns,
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
// We can extract data out of row number using below function
|
|
141
|
+
/* extract() {
|
|
142
|
+
this.extractDataItems = this.mySelection.map(idx => {
|
|
143
|
+
return this.gridData.find((data: { ProductID: number; }) => data.ProductID === idx);
|
|
144
|
+
});
|
|
145
|
+
console.log(this.extractDataItems)
|
|
146
|
+
this.selectedRowData.emit(this.extractDataItems);
|
|
147
|
+
} */
|
|
148
|
+
onSelectionChange(args) {
|
|
149
|
+
for (let row = 0; row < args.selectedRows.length; row++) {
|
|
150
|
+
var found = false;
|
|
151
|
+
for (let col = 0; col < this.data.length; col++) {
|
|
152
|
+
if (this.data[col][this.gridRowSelectByValue] ===
|
|
153
|
+
args.selectedRows[row].dataItem[this.gridRowSelectByValue]) {
|
|
154
|
+
found = true;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
if (!found) {
|
|
158
|
+
this.data.push(args.selectedRows[row].dataItem);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
if (args.deselectedRows.length !== 0) {
|
|
162
|
+
for (let row = 0; row < args.deselectedRows.length; row++) {
|
|
163
|
+
for (let col = 0; col < this.data.length; col++) {
|
|
164
|
+
if (this.data[col][this.gridRowSelectByValue] ===
|
|
165
|
+
args.deselectedRows[row].dataItem[this.gridRowSelectByValue]) {
|
|
166
|
+
this.data.splice(col, 1);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
for (let col = 0; col < this.preSelectedRecords.length; col++) {
|
|
170
|
+
if (this.preSelectedRecords[col][this.gridRowSelectByValue] ===
|
|
171
|
+
args.deselectedRows[row].dataItem[this.gridRowSelectByValue]) {
|
|
172
|
+
this.preSelectedRecords.splice(col, 1);
|
|
173
|
+
// Remove this element from preselected
|
|
174
|
+
let index = this.preSelected.indexOf(args.deselectedRows[row].dataItem[this.gridRowSelectByValue]);
|
|
175
|
+
if (index !== -1) {
|
|
176
|
+
this.preSelected.splice(index, 1);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
this.selectedRowData.emit(this.preSelectedRecords.concat(this.data));
|
|
183
|
+
}
|
|
184
|
+
onKebabClick(item, rowDetails) {
|
|
185
|
+
this.kebabItemClick.emit({ action: item, rowDetails });
|
|
186
|
+
}
|
|
187
|
+
onDetailExpand(rowData) {
|
|
188
|
+
this.rowDetails.emit(rowData.dataItem);
|
|
189
|
+
}
|
|
190
|
+
cellClickHandler(args) {
|
|
191
|
+
if (this.allowColumnClick) {
|
|
192
|
+
if (this.ignoreColumnCellClick.includes(args.columnIndex)) {
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
this.rowDataOfClickedCell.emit(args.dataItem);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
sortChange(sort) {
|
|
199
|
+
this.sort = sort;
|
|
200
|
+
if (!this.hasApiSorting) {
|
|
201
|
+
this.loadGridData();
|
|
202
|
+
}
|
|
203
|
+
this.sortDirection.emit(this.sort);
|
|
204
|
+
}
|
|
205
|
+
loadGridData() {
|
|
206
|
+
this.gridView = {
|
|
207
|
+
data: orderBy(this.gridView?.data, this.sort),
|
|
208
|
+
total: this.gridView?.total,
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
expandRow(id) {
|
|
212
|
+
this.grid.expandRow(id);
|
|
213
|
+
this.expandRowIndex.push(id);
|
|
214
|
+
setTimeout(() => {
|
|
215
|
+
this.getGridHeight();
|
|
216
|
+
}, 0);
|
|
217
|
+
}
|
|
218
|
+
collapseRow(id) {
|
|
219
|
+
this.grid.collapseRow(id);
|
|
220
|
+
this.expandRowIndex.splice(this.expandRowIndex.indexOf(id), 1);
|
|
221
|
+
if (this.expandRowIndex.length == 0) {
|
|
222
|
+
const windowHeight = window.innerHeight;
|
|
223
|
+
const viewport = document.getElementById('lib-grid');
|
|
224
|
+
const gridOffset = viewport.getBoundingClientRect().top + window.scrollY;
|
|
225
|
+
if (windowHeight > (gridOffset + this.initialGridHeight)) {
|
|
226
|
+
this.height = '100%';
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
this.getGridHeight();
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
onDelete(rowDetails) {
|
|
233
|
+
this.deletedRowData.emit(rowDetails);
|
|
234
|
+
}
|
|
235
|
+
getHeaderHeight() {
|
|
236
|
+
if (this.gridView?.data?.length === 0) {
|
|
237
|
+
return 'hide-header';
|
|
238
|
+
}
|
|
239
|
+
return 'view-header';
|
|
240
|
+
}
|
|
241
|
+
getGridHeight() {
|
|
242
|
+
const windowHeight = window.innerHeight;
|
|
243
|
+
const viewport = document.getElementById('lib-grid');
|
|
244
|
+
const gridOffset = viewport.getBoundingClientRect().top + window.scrollY;
|
|
245
|
+
const gridHeight = this.gridElement.nativeElement.offsetHeight
|
|
246
|
+
+ this.gridBottomSpace; //grid should have 24px space at bottom
|
|
247
|
+
if (gridOffset + gridHeight >= windowHeight) {
|
|
248
|
+
this.height = windowHeight - (gridOffset + this.gridBottomSpace);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
resize(ev) {
|
|
252
|
+
if (ev.target.innerHeight > this.resizeHeight) {
|
|
253
|
+
this.resizeHeight = ev.target.innerHeight;
|
|
254
|
+
this.height = '100%';
|
|
255
|
+
}
|
|
256
|
+
if (this.resizeHeight > window.innerHeight) {
|
|
257
|
+
this.resizeHeight = 0;
|
|
258
|
+
}
|
|
259
|
+
this.getGridHeight();
|
|
260
|
+
}
|
|
261
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
262
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GridPaginationComponent, selector: "lib-grid-pagination", inputs: { gridView: "gridView", skip: "skip", columnData: "columnData", pageSize: "pageSize", pageable: "pageable", sortable: "sortable", groupable: "groupable", reorderable: "reorderable", resizable: "resizable", checkBoxWidth: "checkBoxWidth", checkBoxColumnResizable: "checkBoxColumnResizable", checkBoxColumnMenu: "checkBoxColumnMenu", checkBoxColumnShowSelectedAll: "checkBoxColumnShowSelectedAll", checkBoxRequired: "checkBoxRequired", columnMenu: "columnMenu", mode: "mode", checkboxOnly: "checkboxOnly", dragColumns: "dragColumns", navigable: "navigable", gridRowSelectByValue: "gridRowSelectByValue", noRecordsContent: "noRecordsContent", showToolbar: "showToolbar", kebabList: "kebabList", showKebab: "showKebab", icon: "icon", kebabColumnWidth: "kebabColumnWidth", selectColumn: "selectColumn", preSelected: "preSelected", ignoreColumnCellClick: "ignoreColumnCellClick", allowColumnClick: "allowColumnClick", sort: "sort", hasApiSorting: "hasApiSorting", expandRowIndex: "expandRowIndex", customExpandRowColumn: "customExpandRowColumn", deleteColumnWidth: "deleteColumnWidth", expandRowColumnWidth: "expandRowColumnWidth", sizes: "sizes", pageCount: "pageCount", showDeleteColumn: "showDeleteColumn", hideKebabRowIndex: "hideKebabRowIndex" }, outputs: { selectedRowData: "selectedRowData", rowDetails: "rowDetails", kebabItemClick: "kebabItemClick", rowDataOfClickedCell: "rowDataOfClickedCell", onPageChange: "onPageChange", sortDirection: "sortDirection", deletedRowData: "deletedRowData" }, host: { listeners: { "window:resize": "resize($event)" } }, queries: [{ propertyName: "templateRef", first: true, predicate: ["multiColumnData"], descendants: true }, { propertyName: "detailTemplate", first: true, predicate: ["detailTemplate"], descendants: true }, { propertyName: "impactColumn", first: true, predicate: ["impactColumn"], descendants: true }], viewQueries: [{ propertyName: "grid", first: true, predicate: GridComponent, descendants: true }, { propertyName: "gridElement", first: true, predicate: ["gridElement"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #gridElement (window:resize)=\"resize($event)\" >\n<kendo-grid [data]=\"gridView\" [pageSize]=\"pageSize\" [skip]=\"skip\" [selectable]=\"selectableSettings\"\n [pageable]=\"pageable\" [sortable]=\"sortable\" [groupable]=\"groupable\" [reorderable]=\"reorderable\"\n [resizable]=\"resizable\" [columnMenu]=\"columnMenu\" [navigable]=\"navigable\" [height]=\"height\" [style.height]=\"height\"\n (change)=\"setSelectableSettings()\" (selectionChange)=\"onSelectionChange($event)\"\n [kendoGridSelectBy]=\"gridRowSelectByValue\" (detailExpand)=\"onDetailExpand($event)\" [selectedKeys]=\"preSelected\"\n (pageChange)=\"pageChange($event)\" (cellClick)=\"cellClickHandler($event)\" [sort]=\"sort\"\n (sortChange)=\"sortChange($event)\" [ngClass]=\"getHeaderHeight()\" id=\"lib-grid\">\n\n <ng-template *ngIf=\"showToolbar\" kendoGridToolbarTemplate>\n <ng-content></ng-content>\n </ng-template>\n\n <ng-template *ngIf=\"this.gridView.data.length === 0\" kendoGridNoRecordsTemplate>\n <lib-typography [defaultText]=\"noRecordsContent\" type=\"P_MULISH_16_REGULAR\"></lib-typography>\n </ng-template>\n\n <ng-container *ngIf=\"this.gridView.data.length > 0\">\n <kendo-grid-checkbox-column *ngIf=\"checkBoxRequired === true\" [width]=\"checkBoxWidth\"\n [resizable]=\"checkBoxColumnResizable\" [columnMenu]=\"checkBoxColumnMenu\"\n [showSelectAll]=\"checkBoxColumnShowSelectedAll\" class=\"checkbox-column\">\n </kendo-grid-checkbox-column>\n\n <kendo-grid-column class=\"grid-column\" *ngFor=\"let item of columnData\" [field]=\"item.field\" [title]=\"item.title\"\n [width]=\"item.columnWidth\" [sortable]=\"item.sortable\">\n\n <ng-template *ngIf=\"sortable\" kendoGridHeaderTemplate>\n {{item.title}}\n <span *ngIf=\"sort[0].field === item.field\">\n <span *ngIf=\"sort[0].dir === 'asc'\"></span>\n <span *ngIf=\"sort[0].dir === 'desc'\"></span>\n </span>\n </ng-template>\n\n <ng-template *ngIf=\"item.custom\" kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"templateRef; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n <ng-template *ngIf=\"item.impact\" kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"impactColumn; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n </kendo-grid-column>\n\n <kendo-grid-column *ngIf=\"showDeleteColumn\" [width]=\"deleteColumnWidth\" class=\"delete-column\" title=\"Action\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <lib-tooltip showOn=\"hover\" position=\"bottom\" class=\"remove-tooltip\">\n <lib-icon name=\"delete\" class=\"delete-icon\" (click)=\"onDelete(dataItem)\"></lib-icon>\n <div class=\"tooltip-content\">\n <lib-typography defaultText=\"Remove\"></lib-typography>\n </div>\n </lib-tooltip>\n </ng-template>\n </kendo-grid-column>\n\n <kendo-grid-column [width]=\"kebabColumnWidth\" class=\"kebab-column\" *ngIf=\"showKebab\" title=\"Actions\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <kendo-dropdownbutton *ngIf=\"!hideKebabRowIndex.includes(rowIndex)\" [svgIcon]=\"icon\" fillMode=\"none\" [data]=\"kebabList | kebabMenuFilter : dataItem\" class=\"kebab\"\n (itemClick)=\"onKebabClick($event, dataItem)\" [popupSettings]=\"{ align: 'right', animate: true, popupClass: 'kebab-list' }\">\n </kendo-dropdownbutton>\n </ng-template>\n </kendo-grid-column>\n </ng-container>\n\n <ng-template kendoGridDetailTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"detailTemplate; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n\n <kendo-grid-column *ngIf=\"customExpandRowColumn\" [width]=\"expandRowColumnWidth\" class=\"grid-column expand-column\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <kendo-button *ngIf=\"!expandRowIndex.includes(rowIndex)\" [svgIcon]=\"arrowDownIcon\" (click)=\"expandRow(rowIndex)\"\n fillMode=\"none\" class=\"arrow-btn\">\n </kendo-button>\n <kendo-button *ngIf=\"expandRowIndex.includes(rowIndex)\" [svgIcon]=\"arrowUpIcon\" (click)=\"collapseRow(rowIndex)\"\n fillMode=\"none\" class=\"arrow-btn\">\n </kendo-button>\n </ng-template>\n </kendo-grid-column>\n\n <ng-template kendoPagerTemplate let-totalPages=\"totalPages\" let-currentPage=\"currentPage\">\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons [buttonCount]=\"pageCount\"></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n <kendo-pager-page-sizes [pageSizes]=\"sizes\"></kendo-pager-page-sizes>\n </ng-template>\n\n</kendo-grid>\n</div>\n", styles: ["@font-face{font-family:Mulish;src:url(/assets/fonts/Mulish-Light.ttf);font-weight:300;font-style:normal}@font-face{font-family:Mulish;src:url(../assets/fonts/Mulish-LightItalic.ttf);font-weight:300;font-style:italic}@font-face{font-family:Mulish;src:url(../assets/fonts/Mulish-Regular.ttf);font-weight:400;font-style:normal}@font-face{font-family:Mulish;src:url(../assets/fonts/Mulish-Italic.ttf);font-weight:400;font-style:italic}@font-face{font-family:Mulish;src:url(../assets/fonts/Mulish-Bold.ttf);font-weight:700;font-style:normal}::ng-deep .k-grid th{font-family:Mulish,sans-serif;font-weight:700;font-style:normal;font-size:16px;line-height:24px;letter-spacing:.2px}::ng-deep .k-grid tr{font-family:Mulish,sans-serif;font-weight:400;font-style:normal;font-size:14px;line-height:21px;letter-spacing:.8px;height:50px}::ng-deep .k-grid tr:hover{font-family:Mulish,sans-serif;font-weight:700;font-style:normal;font-size:14px;line-height:21px;letter-spacing:.8px}::ng-deep .k-grid-norecords{text-align:center!important;opacity:.4}::ng-deep .k-grid-norecords td{padding:14px 0 14px 24px!important}::ng-deep kendo-pager.k-pager-wrap.k-grid-pager{font-family:Mulish,sans-serif;font-weight:400;font-style:normal;font-size:14px;line-height:21px;letter-spacing:.2px}::ng-deep .k-grid th.k-header{vertical-align:middle!important;padding-left:16px;padding-right:0}::ng-deep .grid-column,::ng-deep .kebab-column,::ng-deep .delete-column{padding:0!important}::ng-deep .grid-column kendo-button,::ng-deep .kebab-column kendo-button,::ng-deep .delete-column kendo-button{align-items:center!important;justify-content:center!important;display:flex!important}::ng-deep .k-checkbox{width:20px!important;height:20px!important;border-radius:0!important}::ng-deep .k-grid .k-hierarchy-cell,::ng-deep .k-grid .k-hierarchy-col{width:0;display:none}::ng-deep .k-grid .k-detail-row .k-detail-cell{padding:16px!important}::ng-deep .delete-icon{color:#dc267f!important;padding-left:12px;cursor:pointer}::ng-deep .remove-tooltip kendo-tooltip.k-tooltip{background-color:#fff;color:#000}::ng-deep .hide-header .k-grid-header{border:0px!important}::ng-deep .k-grid-toolbar{padding:4px 16px!important;height:50px}::ng-deep .k-grid td:not(.kebab-column):not(.expand-column){padding-left:16px!important}::ng-deep .view-header .k-table-thead tr{height:50px}::ng-deep .hide-header .k-table-thead tr{height:0px}::ng-deep td.kebab-column{display:flex;justify-content:center;align-items:center;height:inherit}::ng-deep .k-grid .k-table-td>.k-checkbox{vertical-align:middle!important}::ng-deep .kebab .k-button,::ng-deep .expand-column .k-button{border:0px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: i2.DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: ["arrowIcon", "icon", "svgIcon", "iconClass", "imageUrl", "textField", "data", "size", "rounded", "fillMode", "themeColor", "buttonAttributes"], outputs: ["itemClick", "focus", "blur"], exportAs: ["kendoDropDownButton"] }, { kind: "component", type: i3.IconComponent, selector: "lib-icon", inputs: ["name", "fontSize", "type"] }, { kind: "component", type: i4.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "rowReorderable", "navigable", "navigatable", "autoSize", "rowClass", "rowSticky", "rowSelected", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: i4.ToolbarTemplateDirective, selector: "[kendoGridToolbarTemplate]", inputs: ["position"] }, { kind: "directive", type: i4.SelectionDirective, selector: "[kendoGridSelectBy]" }, { kind: "component", type: i4.ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { kind: "directive", type: i4.DetailTemplateDirective, selector: "[kendoGridDetailTemplate]", inputs: ["kendoGridDetailTemplateShowIf"] }, { kind: "component", type: i4.CheckboxColumnComponent, selector: "kendo-grid-checkbox-column", inputs: ["showSelectAll"] }, { kind: "directive", type: i4.CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { kind: "directive", type: i4.NoRecordsTemplateDirective, selector: "[kendoGridNoRecordsTemplate]" }, { kind: "directive", type: i4.HeaderTemplateDirective, selector: "[kendoGridHeaderTemplate]" }, { kind: "component", type: i4.PagerPrevButtonsComponent, selector: "kendo-pager-prev-buttons" }, { kind: "component", type: i4.PagerNextButtonsComponent, selector: "kendo-pager-next-buttons" }, { kind: "component", type: i4.PagerNumericButtonsComponent, selector: "kendo-pager-numeric-buttons", inputs: ["buttonCount"] }, { kind: "component", type: i4.PagerInfoComponent, selector: "kendo-pager-info" }, { kind: "component", type: i4.PagerPageSizesComponent, selector: "kendo-pager-page-sizes", inputs: ["pageSizes"] }, { kind: "directive", type: i4.PagerTemplateDirective, selector: "[kendoPagerTemplate]" }, { kind: "component", type: i5.TooltipComponent, selector: "lib-tooltip", inputs: ["position", "tooltipWidth", "tooltipHeight", "showOn", "closable", "title", "callout"] }, { kind: "component", type: i6.TypographyComponent, selector: "lib-typography", inputs: ["type", "defaultText", "isLabel", "hiddenLabel"] }, { kind: "pipe", type: i7.KebabMenuFilterPipe, name: "kebabMenuFilter" }] }); }
|
|
263
|
+
}
|
|
264
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridPaginationComponent, decorators: [{
|
|
265
|
+
type: Component,
|
|
266
|
+
args: [{ selector: 'lib-grid-pagination', template: "<div #gridElement (window:resize)=\"resize($event)\" >\n<kendo-grid [data]=\"gridView\" [pageSize]=\"pageSize\" [skip]=\"skip\" [selectable]=\"selectableSettings\"\n [pageable]=\"pageable\" [sortable]=\"sortable\" [groupable]=\"groupable\" [reorderable]=\"reorderable\"\n [resizable]=\"resizable\" [columnMenu]=\"columnMenu\" [navigable]=\"navigable\" [height]=\"height\" [style.height]=\"height\"\n (change)=\"setSelectableSettings()\" (selectionChange)=\"onSelectionChange($event)\"\n [kendoGridSelectBy]=\"gridRowSelectByValue\" (detailExpand)=\"onDetailExpand($event)\" [selectedKeys]=\"preSelected\"\n (pageChange)=\"pageChange($event)\" (cellClick)=\"cellClickHandler($event)\" [sort]=\"sort\"\n (sortChange)=\"sortChange($event)\" [ngClass]=\"getHeaderHeight()\" id=\"lib-grid\">\n\n <ng-template *ngIf=\"showToolbar\" kendoGridToolbarTemplate>\n <ng-content></ng-content>\n </ng-template>\n\n <ng-template *ngIf=\"this.gridView.data.length === 0\" kendoGridNoRecordsTemplate>\n <lib-typography [defaultText]=\"noRecordsContent\" type=\"P_MULISH_16_REGULAR\"></lib-typography>\n </ng-template>\n\n <ng-container *ngIf=\"this.gridView.data.length > 0\">\n <kendo-grid-checkbox-column *ngIf=\"checkBoxRequired === true\" [width]=\"checkBoxWidth\"\n [resizable]=\"checkBoxColumnResizable\" [columnMenu]=\"checkBoxColumnMenu\"\n [showSelectAll]=\"checkBoxColumnShowSelectedAll\" class=\"checkbox-column\">\n </kendo-grid-checkbox-column>\n\n <kendo-grid-column class=\"grid-column\" *ngFor=\"let item of columnData\" [field]=\"item.field\" [title]=\"item.title\"\n [width]=\"item.columnWidth\" [sortable]=\"item.sortable\">\n\n <ng-template *ngIf=\"sortable\" kendoGridHeaderTemplate>\n {{item.title}}\n <span *ngIf=\"sort[0].field === item.field\">\n <span *ngIf=\"sort[0].dir === 'asc'\"></span>\n <span *ngIf=\"sort[0].dir === 'desc'\"></span>\n </span>\n </ng-template>\n\n <ng-template *ngIf=\"item.custom\" kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"templateRef; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n <ng-template *ngIf=\"item.impact\" kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"impactColumn; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n </kendo-grid-column>\n\n <kendo-grid-column *ngIf=\"showDeleteColumn\" [width]=\"deleteColumnWidth\" class=\"delete-column\" title=\"Action\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <lib-tooltip showOn=\"hover\" position=\"bottom\" class=\"remove-tooltip\">\n <lib-icon name=\"delete\" class=\"delete-icon\" (click)=\"onDelete(dataItem)\"></lib-icon>\n <div class=\"tooltip-content\">\n <lib-typography defaultText=\"Remove\"></lib-typography>\n </div>\n </lib-tooltip>\n </ng-template>\n </kendo-grid-column>\n\n <kendo-grid-column [width]=\"kebabColumnWidth\" class=\"kebab-column\" *ngIf=\"showKebab\" title=\"Actions\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <kendo-dropdownbutton *ngIf=\"!hideKebabRowIndex.includes(rowIndex)\" [svgIcon]=\"icon\" fillMode=\"none\" [data]=\"kebabList | kebabMenuFilter : dataItem\" class=\"kebab\"\n (itemClick)=\"onKebabClick($event, dataItem)\" [popupSettings]=\"{ align: 'right', animate: true, popupClass: 'kebab-list' }\">\n </kendo-dropdownbutton>\n </ng-template>\n </kendo-grid-column>\n </ng-container>\n\n <ng-template kendoGridDetailTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"detailTemplate; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n\n <kendo-grid-column *ngIf=\"customExpandRowColumn\" [width]=\"expandRowColumnWidth\" class=\"grid-column expand-column\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <kendo-button *ngIf=\"!expandRowIndex.includes(rowIndex)\" [svgIcon]=\"arrowDownIcon\" (click)=\"expandRow(rowIndex)\"\n fillMode=\"none\" class=\"arrow-btn\">\n </kendo-button>\n <kendo-button *ngIf=\"expandRowIndex.includes(rowIndex)\" [svgIcon]=\"arrowUpIcon\" (click)=\"collapseRow(rowIndex)\"\n fillMode=\"none\" class=\"arrow-btn\">\n </kendo-button>\n </ng-template>\n </kendo-grid-column>\n\n <ng-template kendoPagerTemplate let-totalPages=\"totalPages\" let-currentPage=\"currentPage\">\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons [buttonCount]=\"pageCount\"></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n <kendo-pager-page-sizes [pageSizes]=\"sizes\"></kendo-pager-page-sizes>\n </ng-template>\n\n</kendo-grid>\n</div>\n", styles: ["@font-face{font-family:Mulish;src:url(/assets/fonts/Mulish-Light.ttf);font-weight:300;font-style:normal}@font-face{font-family:Mulish;src:url(../assets/fonts/Mulish-LightItalic.ttf);font-weight:300;font-style:italic}@font-face{font-family:Mulish;src:url(../assets/fonts/Mulish-Regular.ttf);font-weight:400;font-style:normal}@font-face{font-family:Mulish;src:url(../assets/fonts/Mulish-Italic.ttf);font-weight:400;font-style:italic}@font-face{font-family:Mulish;src:url(../assets/fonts/Mulish-Bold.ttf);font-weight:700;font-style:normal}::ng-deep .k-grid th{font-family:Mulish,sans-serif;font-weight:700;font-style:normal;font-size:16px;line-height:24px;letter-spacing:.2px}::ng-deep .k-grid tr{font-family:Mulish,sans-serif;font-weight:400;font-style:normal;font-size:14px;line-height:21px;letter-spacing:.8px;height:50px}::ng-deep .k-grid tr:hover{font-family:Mulish,sans-serif;font-weight:700;font-style:normal;font-size:14px;line-height:21px;letter-spacing:.8px}::ng-deep .k-grid-norecords{text-align:center!important;opacity:.4}::ng-deep .k-grid-norecords td{padding:14px 0 14px 24px!important}::ng-deep kendo-pager.k-pager-wrap.k-grid-pager{font-family:Mulish,sans-serif;font-weight:400;font-style:normal;font-size:14px;line-height:21px;letter-spacing:.2px}::ng-deep .k-grid th.k-header{vertical-align:middle!important;padding-left:16px;padding-right:0}::ng-deep .grid-column,::ng-deep .kebab-column,::ng-deep .delete-column{padding:0!important}::ng-deep .grid-column kendo-button,::ng-deep .kebab-column kendo-button,::ng-deep .delete-column kendo-button{align-items:center!important;justify-content:center!important;display:flex!important}::ng-deep .k-checkbox{width:20px!important;height:20px!important;border-radius:0!important}::ng-deep .k-grid .k-hierarchy-cell,::ng-deep .k-grid .k-hierarchy-col{width:0;display:none}::ng-deep .k-grid .k-detail-row .k-detail-cell{padding:16px!important}::ng-deep .delete-icon{color:#dc267f!important;padding-left:12px;cursor:pointer}::ng-deep .remove-tooltip kendo-tooltip.k-tooltip{background-color:#fff;color:#000}::ng-deep .hide-header .k-grid-header{border:0px!important}::ng-deep .k-grid-toolbar{padding:4px 16px!important;height:50px}::ng-deep .k-grid td:not(.kebab-column):not(.expand-column){padding-left:16px!important}::ng-deep .view-header .k-table-thead tr{height:50px}::ng-deep .hide-header .k-table-thead tr{height:0px}::ng-deep td.kebab-column{display:flex;justify-content:center;align-items:center;height:inherit}::ng-deep .k-grid .k-table-td>.k-checkbox{vertical-align:middle!important}::ng-deep .kebab .k-button,::ng-deep .expand-column .k-button{border:0px}\n"] }]
|
|
267
|
+
}], ctorParameters: function () { return []; }, propDecorators: { templateRef: [{
|
|
268
|
+
type: ContentChild,
|
|
269
|
+
args: ['multiColumnData']
|
|
270
|
+
}], detailTemplate: [{
|
|
271
|
+
type: ContentChild,
|
|
272
|
+
args: ['detailTemplate']
|
|
273
|
+
}], impactColumn: [{
|
|
274
|
+
type: ContentChild,
|
|
275
|
+
args: ['impactColumn']
|
|
276
|
+
}], grid: [{
|
|
277
|
+
type: ViewChild,
|
|
278
|
+
args: [GridComponent]
|
|
279
|
+
}], gridElement: [{
|
|
280
|
+
type: ViewChild,
|
|
281
|
+
args: ['gridElement']
|
|
282
|
+
}], gridView: [{
|
|
283
|
+
type: Input
|
|
284
|
+
}], skip: [{
|
|
285
|
+
type: Input
|
|
286
|
+
}], columnData: [{
|
|
287
|
+
type: Input
|
|
288
|
+
}], pageSize: [{
|
|
289
|
+
type: Input
|
|
290
|
+
}], pageable: [{
|
|
291
|
+
type: Input
|
|
292
|
+
}], sortable: [{
|
|
293
|
+
type: Input
|
|
294
|
+
}], groupable: [{
|
|
295
|
+
type: Input
|
|
296
|
+
}], reorderable: [{
|
|
297
|
+
type: Input
|
|
298
|
+
}], resizable: [{
|
|
299
|
+
type: Input
|
|
300
|
+
}], checkBoxWidth: [{
|
|
301
|
+
type: Input
|
|
302
|
+
}], checkBoxColumnResizable: [{
|
|
303
|
+
type: Input
|
|
304
|
+
}], checkBoxColumnMenu: [{
|
|
305
|
+
type: Input
|
|
306
|
+
}], checkBoxColumnShowSelectedAll: [{
|
|
307
|
+
type: Input
|
|
308
|
+
}], checkBoxRequired: [{
|
|
309
|
+
type: Input
|
|
310
|
+
}], columnMenu: [{
|
|
311
|
+
type: Input
|
|
312
|
+
}], mode: [{
|
|
313
|
+
type: Input
|
|
314
|
+
}], checkboxOnly: [{
|
|
315
|
+
type: Input
|
|
316
|
+
}], dragColumns: [{
|
|
317
|
+
type: Input
|
|
318
|
+
}], navigable: [{
|
|
319
|
+
type: Input
|
|
320
|
+
}], gridRowSelectByValue: [{
|
|
321
|
+
type: Input
|
|
322
|
+
}], noRecordsContent: [{
|
|
323
|
+
type: Input
|
|
324
|
+
}], selectedRowData: [{
|
|
325
|
+
type: Output
|
|
326
|
+
}], showToolbar: [{
|
|
327
|
+
type: Input
|
|
328
|
+
}], kebabList: [{
|
|
329
|
+
type: Input
|
|
330
|
+
}], showKebab: [{
|
|
331
|
+
type: Input
|
|
332
|
+
}], rowDetails: [{
|
|
333
|
+
type: Output
|
|
334
|
+
}], kebabItemClick: [{
|
|
335
|
+
type: Output
|
|
336
|
+
}], icon: [{
|
|
337
|
+
type: Input
|
|
338
|
+
}], kebabColumnWidth: [{
|
|
339
|
+
type: Input
|
|
340
|
+
}], selectColumn: [{
|
|
341
|
+
type: Input
|
|
342
|
+
}], rowDataOfClickedCell: [{
|
|
343
|
+
type: Output
|
|
344
|
+
}], preSelected: [{
|
|
345
|
+
type: Input
|
|
346
|
+
}], onPageChange: [{
|
|
347
|
+
type: Output
|
|
348
|
+
}], ignoreColumnCellClick: [{
|
|
349
|
+
type: Input
|
|
350
|
+
}], allowColumnClick: [{
|
|
351
|
+
type: Input
|
|
352
|
+
}], sort: [{
|
|
353
|
+
type: Input
|
|
354
|
+
}], hasApiSorting: [{
|
|
355
|
+
type: Input
|
|
356
|
+
}], sortDirection: [{
|
|
357
|
+
type: Output
|
|
358
|
+
}], expandRowIndex: [{
|
|
359
|
+
type: Input
|
|
360
|
+
}], customExpandRowColumn: [{
|
|
361
|
+
type: Input
|
|
362
|
+
}], deleteColumnWidth: [{
|
|
363
|
+
type: Input
|
|
364
|
+
}], expandRowColumnWidth: [{
|
|
365
|
+
type: Input
|
|
366
|
+
}], deletedRowData: [{
|
|
367
|
+
type: Output
|
|
368
|
+
}], sizes: [{
|
|
369
|
+
type: Input
|
|
370
|
+
}], pageCount: [{
|
|
371
|
+
type: Input
|
|
372
|
+
}], showDeleteColumn: [{
|
|
373
|
+
type: Input
|
|
374
|
+
}], hideKebabRowIndex: [{
|
|
375
|
+
type: Input
|
|
376
|
+
}], resize: [{
|
|
377
|
+
type: HostListener,
|
|
378
|
+
args: ['window:resize', ['$event']]
|
|
379
|
+
}] } });
|
|
380
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC9zcmMvbGliL21vbGVjdWxlcy9ncmlkLXBhZ2luYXRpb24vZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC9zcmMvbGliL21vbGVjdWxlcy9ncmlkLXBhZ2luYXRpb24vZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsWUFBWSxFQUVaLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFHTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUlMLGFBQWEsR0FHZCxNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBa0IsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUVMLGVBQWUsRUFDZixhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2pCLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7OztBQU9uQyxNQUFNLE9BQU8sdUJBQXVCO0lBd0VsQztRQS9EUyxhQUFRLEdBQW1CLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDbEQsU0FBSSxHQUFXLENBQUMsQ0FBQztRQUNqQixlQUFVLEdBQVEsRUFBRSxDQUFDO1FBQ3JCLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFDckIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUMz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LEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0ksY0FBYztzQkFBdkIsTUFBTTtnQkFDRSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQTROTixNQUFNO3NCQURMLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTZWxlY3RhYmxlU2V0dGluZ3MsXG4gIFNlbGVjdGFibGVNb2RlLFxuICBDZWxsQ2xpY2tFdmVudCxcbiAgR3JpZENvbXBvbmVudCxcbiAgR3JpZERhdGFSZXN1bHQsXG4gIFBhZ2VDaGFuZ2VFdmVudCxcbn0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZ3JpZCc7XG5pbXBvcnQgeyBTb3J0RGVzY3JpcHRvciwgb3JkZXJCeSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1kYXRhLXF1ZXJ5JztcbmltcG9ydCB7XG4gIFNWR0ljb24sXG4gIGNoZXZyb25Eb3duSWNvbixcbiAgY2hldnJvblVwSWNvbixcbiAgbW9yZVZlcnRpY2FsSWNvblxufSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tc3ZnLWljb25zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWdyaWQtcGFnaW5hdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmlkLXBhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ncmlkLXBhZ2luYXRpb24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgR3JpZFBhZ2luYXRpb25Db21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdFxue1xuICBAQ29udGVudENoaWxkKCdtdWx0aUNvbHVtbkRhdGEnKSB0ZW1wbGF0ZVJlZiE6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsO1xuICBAQ29udGVudENoaWxkKCdkZXRhaWxUZW1wbGF0ZScpIGRldGFpbFRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PiB8IG51bGw7XG4gIEBDb250ZW50Q2hpbGQoJ2ltcGFjdENvbHVtbicpIGltcGFjdENvbHVtbiE6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsO1xuICBAVmlld0NoaWxkKEdyaWRDb21wb25lbnQpIGdyaWQhOiBHcmlkQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCdncmlkRWxlbWVudCcpIGdyaWRFbGVtZW50ITogRWxlbWVudFJlZjtcblxuICBASW5wdXQoKSBncmlkVmlldzogR3JpZERhdGFSZXN1bHQgPSB7IGRhdGE6IFtdLCB0b3RhbDogMCB9O1xuICBASW5wdXQoKSBza2lwOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBjb2x1bW5EYXRhOiBhbnkgPSBbXTtcbiAgQElucHV0KCkgcGFnZVNpemU6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIHBhZ2VhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNvcnRhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGdyb3VwYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSByZW9yZGVyYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSByZXNpemFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgY2hlY2tCb3hXaWR0aDogbnVtYmVyID0gNDU7XG4gIEBJbnB1dCgpIGNoZWNrQm94Q29sdW1uUmVzaXphYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNoZWNrQm94Q29sdW1uTWVudTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBjaGVja0JveENvbHVtblNob3dTZWxlY3RlZEFsbDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGNoZWNrQm94UmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgY29sdW1uTWVudTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBtb2RlOiBTZWxlY3RhYmxlTW9kZSB8IHVuZGVmaW5lZCA9ICdtdWx0aXBsZSc7XG4gIEBJbnB1dCgpIGNoZWNrYm94T25seSA9IHRydWU7XG4gIEBJbnB1dCgpIGRyYWdDb2x1bW5zID0gZmFsc2U7XG4gIEBJbnB1dCgpIG5hdmlnYWJsZTogYm9vbGVhbiA9IHRydWU7XG4gIGhlaWdodDogYW55O1xuICBASW5wdXQoKSBncmlkUm93U2VsZWN0QnlWYWx1ZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIG5vUmVjb3Jkc0NvbnRlbnQ6IHN0cmluZyA9ICdObyBSZWNvcmRzIEF2YWlsYWJsZSc7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZFJvd0RhdGEgPSBuZXcgRXZlbnRFbWl0dGVyPGFueVtdPigpO1xuICBASW5wdXQoKSBzaG93VG9vbGJhcjogYm9vbGVhbiA9IGZhbHNlO1xuICBleHRyYWN0RGF0YUl0ZW1zOiBhbnk7XG4gIHNlbGVjdGFibGVTZXR0aW5nczogU2VsZWN0YWJsZVNldHRpbmdzID0ge307XG4gIEBJbnB1dCgpIGtlYmFiTGlzdDogYW55ID0gW107XG4gIEBJbnB1dCgpIHNob3dLZWJhYjogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgcm93RGV0YWlscyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XG4gIEBPdXRwdXQoKSBrZWJhYkl0ZW1DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBASW5wdXQoKSBpY29uOiBTVkdJY29uID0gbW9yZVZlcnRpY2FsSWNvbjtcbiAgQElucHV0KCkga2ViYWJDb2x1bW5XaWR0aDogbnVtYmVyID0gNjA7XG4gIGRhdGE6IGFueSA9IFtdO1xuICBASW5wdXQoKSBzZWxlY3RDb2x1bW4gPSAnJztcbiAgQE91dHB1dCgpIHJvd0RhdGFPZkNsaWNrZWRDZWxsID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBJbnB1dCgpIHByZVNlbGVjdGVkOiBhbnlbXSA9IFtdO1xuICBwcmVTZWxlY3RlZFJlY29yZHM6IGFueVtdID0gW107XG4gIEBPdXRwdXQoKSBvblBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQElucHV0KCkgaWdub3JlQ29sdW1uQ2VsbENsaWNrOiBudW1iZXJbXSA9IFtdO1xuICBASW5wdXQoKSBhbGxvd0NvbHVtbkNsaWNrOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNvcnQ6IFNvcnREZXNjcmlwdG9yW10gPSBbXG4gICAge1xuICAgICAgZmllbGQ6ICcnLFxuICAgICAgZGlyOiB1bmRlZmluZWQsXG4gICAgfSxcbiAgXTtcbiAgQElucHV0KCkgaGFzQXBpU29ydGluZyA9IGZhbHNlO1xuICBAT3V0cHV0KCkgc29ydERpcmVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBwdWJsaWMgYXJyb3dEb3duSWNvbjogU1ZHSWNvbiA9IGNoZXZyb25Eb3duSWNvbjtcbiAgcHVibGljIGFycm93VXBJY29uOiBTVkdJY29uID0gY2hldnJvblVwSWNvbjtcbiAgQElucHV0KCkgZXhwYW5kUm93SW5kZXg6IG51bWJlcltdID0gW107XG4gIEBJbnB1dCgpIGN1c3RvbUV4cGFuZFJvd0NvbHVtbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBkZWxldGVDb2x1bW5XaWR0aDogbnVtYmVyID0gNDI7XG4gIEBJbnB1dCgpIGV4cGFuZFJvd0NvbHVtbldpZHRoOiBudW1iZXIgPSA0MjtcbiAgQE91dHB1dCgpIGRlbGV0ZWRSb3dEYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBJbnB1dCgpIHNpemVzOiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBwYWdlQ291bnQgPSAwO1xuICBASW5wdXQoKSBzaG93RGVsZXRlQ29sdW1uID0gZmFsc2U7XG4gIEBJbnB1dCgpIGhpZGVLZWJhYlJvd0luZGV4OiBudW1iZXJbXSA9IFtdO1xuICBpbml0aWFsR3JpZEhlaWdodDogYW55O1xuICBncmlkQm90dG9tU3BhY2UgPSAyNDtcbiAgcmVzaXplSGVpZ2h0OiBhbnkgPSAwO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuc2V0U2VsZWN0YWJsZVNldHRpbmdzKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBmb3IgKGxldCBjb2x1bW4gb2YgdGhpcy5jb2x1bW5EYXRhKSB7XG4gICAgICBjb2x1bW4uc29ydGFibGUgPSBjb2x1bW4uc29ydGFibGUgPT0gdW5kZWZpbmVkID8gdHJ1ZSA6IGNvbHVtbi5zb3J0YWJsZTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmhhc0FwaVNvcnRpbmcpIHtcbiAgICAgIHRoaXMubG9hZEdyaWREYXRhKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGxldCBwcmV2UHJlU2VsZWN0ZWQgPSBKU09OLnN0cmluZ2lmeShjaGFuZ2VzWydwcmVTZWxlY3RlZCddPy5wcmV2aW91c1ZhbHVlKTtcbiAgICBsZXQgY3VyclByZVNlbGVjdGVkID0gSlNPTi5zdHJpbmdpZnkoY2hhbmdlc1sncHJlU2VsZWN0ZWQnXT8uY3VycmVudFZhbHVlKTtcbiAgICAvLyBDaGVjayBpZiB0aGVyZSBpcyBhIGNoYW5nZSBpbiB0aGlzLnByZVNlbGVjdGVkIGlucHV0XG4gICAgaWYgKHByZXZQcmVTZWxlY3RlZCAhPT0gY3VyclByZVNlbGVjdGVkKSB7XG4gICAgICAvLyBDbGVhciB0aGUgdGhpcy5wcmVTZWxlY3RlZFJlY29yZHMgYXJyYXlcbiAgICAgIHRoaXMucHJlU2VsZWN0ZWRSZWNvcmRzID0gW107XG4gICAgICBmb3IgKFxuICAgICAgICBsZXQgcm93ID0gMDtcbiAgICAgICAgcm93IDwgY2hhbmdlc1sncHJlU2VsZWN0ZWQnXS5jdXJyZW50VmFsdWUubGVuZ3RoO1xuICAgICAgICByb3crK1xuICAgICAgKSB7XG4gICAgICAgIGZvciAobGV0IGNvbCA9IDA7IGNvbCA8IHRoaXMuZ3JpZFZpZXcuZGF0YS5sZW5ndGg7IGNvbCsrKSB7XG4gICAgICAgICAgLy8gRmluZCB0aGUgcmVsZXZhbnQgcmVjb3JkIGZvciBhIHBhcnRpY3VsYXIgaWRcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmdyaWRWaWV3LmRhdGFbY29sXVt0aGlzLmdyaWRSb3dTZWxlY3RCeVZhbHVlXSA9PT1cbiAgICAgICAgICAgIGNoYW5nZXNbJ3ByZVNlbGVjdGVkJ10uY3VycmVudFZhbHVlW3Jvd11cbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGxldCBmb3VuZCA9IGZhbHNlO1xuICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhpcyByZWNvcmQgaXMgcHJlc2VudCBpbiB0aGlzLmRhdGEsIGlmIHllcyBkb24ndCBwdXNoIGl0IGluIHRoaXMucHJlU2VsZWN0ZWRSZWNvcmRzIGVsc2UgcHVzaCBpdFxuICAgICAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHRoaXMuZGF0YS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIHRoaXMuZGF0YVtpbmRleF1bdGhpcy5ncmlkUm93U2VsZWN0QnlWYWx1ZV0gPT09XG4gICAgICAgICAgICAgICAgdGhpcy5ncmlkVmlldy5kYXRhW2NvbF1bdGhpcy5ncmlkUm93U2VsZWN0QnlWYWx1ZV1cbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgZm91bmQgPSB0cnVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWZvdW5kKSB7XG4gICAgICAgICAgICAgIHRoaXMucHJlU2VsZWN0ZWRSZWNvcmRzLnB1c2godGhpcy5ncmlkVmlldy5kYXRhW2NvbF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5zZWxlY3RlZFJvd0RhdGEuZW1pdCh0aGlzLnByZVNlbGVjdGVkUmVjb3Jkcy5jb25jYXQodGhpcy5kYXRhKSk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5wYWdlYWJsZSkge1xuICAgICAgdGhpcy5wYWdlU2l6ZSA9IHRoaXMuZ3JpZFZpZXcuZGF0YS5sZW5ndGg7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLmN1c3RvbUV4cGFuZFJvd0NvbHVtbikge1xuICAgICAgdGhpcy5leHBhbmRSb3dJbmRleC5mb3JFYWNoKChpZCkgPT4ge1xuICAgICAgICB0aGlzLmdyaWQuZXhwYW5kUm93KGlkKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmluaXRpYWxHcmlkSGVpZ2h0ID0gdGhpcy5ncmlkRWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCArIHRoaXMuZ3JpZEJvdHRvbVNwYWNlO1xuICAgIHRoaXMuZ2V0R3JpZEhlaWdodCgpO1xuICB9XG5cbiAgcGFnZUNoYW5nZShldmVudDogUGFnZUNoYW5nZUV2ZW50KSB7XG4gICAgdGhpcy5vblBhZ2VDaGFuZ2UuZW1pdChldmVudCk7XG4gIH1cblxuICBzZXRTZWxlY3RhYmxlU2V0dGluZ3MoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2hlY2tib3hPbmx5IHx8IHRoaXMubW9kZSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgIHRoaXMuZHJhZ0NvbHVtbnMgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGFibGVTZXR0aW5ncyA9IHtcbiAgICAgIGNoZWNrYm94T25seTogdGhpcy5jaGVja2JveE9ubHksXG4gICAgICBtb2RlOiB0aGlzLm1vZGUsXG4gICAgICBkcmFnOiB0aGlzLmRyYWdDb2x1bW5zLFxuICAgIH07XG4gIH1cblxuICAvLyBXZSBjYW4gZXh0cmFjdCBkYXRhIG91dCBvZiByb3cgbnVtYmVyIHVzaW5nIGJlbG93IGZ1bmN0aW9uXG4gIC8qIGV4dHJhY3QoKSB7XG4gICAgdGhpcy5leHRyYWN0RGF0YUl0ZW1zID0gdGhpcy5teVNlbGVjdGlvbi5tYXAoaWR4ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmdyaWREYXRhLmZpbmQoKGRhdGE6IHsgUHJvZHVjdElEOiBudW1iZXI7IH0pID0+IGRhdGEuUHJvZHVjdElEID09PSBpZHgpO1xuICAgIH0pO1xuICAgIGNvbnNvbGUubG9nKHRoaXMuZXh0cmFjdERhdGFJdGVtcylcbiAgICB0aGlzLnNlbGVjdGVkUm93RGF0YS5lbWl0KHRoaXMuZXh0cmFjdERhdGFJdGVtcyk7XG4gIH0gKi9cblxuICBvblNlbGVjdGlvbkNoYW5nZShhcmdzOiBhbnkpOiBhbnkge1xuICAgIGZvciAobGV0IHJvdyA9IDA7IHJvdyA8IGFyZ3Muc2VsZWN0ZWRSb3dzLmxlbmd0aDsgcm93KyspIHtcbiAgICAgIHZhciBmb3VuZCA9IGZhbHNlO1xuICAgICAgZm9yIChsZXQgY29sID0gMDsgY29sIDwgdGhpcy5kYXRhLmxlbmd0aDsgY29sKyspIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMuZGF0YVtjb2xdW3RoaXMuZ3JpZFJvd1NlbGVjdEJ5VmFsdWVdID09PVxuICAgICAgICAgIGFyZ3Muc2VsZWN0ZWRSb3dzW3Jvd10uZGF0YUl0ZW1bdGhpcy5ncmlkUm93U2VsZWN0QnlWYWx1ZV1cbiAgICAgICAgKSB7XG4gICAgICAgICAgZm91bmQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoIWZvdW5kKSB7XG4gICAgICAgIHRoaXMuZGF0YS5wdXNoKGFyZ3Muc2VsZWN0ZWRSb3dzW3Jvd10uZGF0YUl0ZW0pO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoYXJncy5kZXNlbGVjdGVkUm93cy5sZW5ndGggIT09IDApIHtcbiAgICAgIGZvciAobGV0IHJvdyA9IDA7IHJvdyA8IGFyZ3MuZGVzZWxlY3RlZFJvd3MubGVuZ3RoOyByb3crKykge1xuICAgICAgICBmb3IgKGxldCBjb2wgPSAwOyBjb2wgPCB0aGlzLmRhdGEubGVuZ3RoOyBjb2wrKykge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuZGF0YVtjb2xdW3RoaXMuZ3JpZFJvd1NlbGVjdEJ5VmFsdWVdID09PVxuICAgICAgICAgICAgYXJncy5kZXNlbGVjdGVkUm93c1tyb3ddLmRhdGFJdGVtW3RoaXMuZ3JpZFJvd1NlbGVjdEJ5VmFsdWVdXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGEuc3BsaWNlKGNvbCwgMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZvciAobGV0IGNvbCA9IDA7IGNvbCA8IHRoaXMucHJlU2VsZWN0ZWRSZWNvcmRzLmxlbmd0aDsgY29sKyspIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLnByZVNlbGVjdGVkUmVjb3Jkc1tjb2xdW3RoaXMuZ3JpZFJvd1NlbGVjdEJ5VmFsdWVdID09PVxuICAgICAgICAgICAgYXJncy5kZXNlbGVjdGVkUm93c1tyb3ddLmRhdGFJdGVtW3RoaXMuZ3JpZFJvd1NlbGVjdEJ5VmFsdWVdXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnByZVNlbGVjdGVkUmVjb3Jkcy5zcGxpY2UoY29sLCAxKTtcbiAgICAgICAgICAgIC8vIFJlbW92ZSB0aGlzIGVsZW1lbnQgZnJvbSBwcmVzZWxlY3RlZFxuICAgICAgICAgICAgbGV0IGluZGV4ID0gdGhpcy5wcmVTZWxlY3RlZC5pbmRleE9mKFxuICAgICAgICAgICAgICBhcmdzLmRlc2VsZWN0ZWRSb3dzW3Jvd10uZGF0YUl0ZW1bdGhpcy5ncmlkUm93U2VsZWN0QnlWYWx1ZV1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgICAgIHRoaXMucHJlU2VsZWN0ZWQuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZFJvd0RhdGEuZW1pdCh0aGlzLnByZVNlbGVjdGVkUmVjb3Jkcy5jb25jYXQodGhpcy5kYXRhKSk7XG4gIH1cblxuICBvbktlYmFiQ2xpY2soaXRlbTogYW55LCByb3dEZXRhaWxzOiBhbnkpIHtcbiAgICB0aGlzLmtlYmFiSXRlbUNsaWNrLmVtaXQoeyBhY3Rpb246IGl0ZW0sIHJvd0RldGFpbHMgfSk7XG4gIH1cblxuICBvbkRldGFpbEV4cGFuZChyb3dEYXRhOiBhbnkpIHtcbiAgICB0aGlzLnJvd0RldGFpbHMuZW1pdChyb3dEYXRhLmRhdGFJdGVtKTtcbiAgfVxuXG4gIGNlbGxDbGlja0hhbmRsZXIoYXJnczogQ2VsbENsaWNrRXZlbnQpIHtcbiAgICBpZiAodGhpcy5hbGxvd0NvbHVtbkNsaWNrKSB7XG4gICAgICBpZiAodGhpcy5pZ25vcmVDb2x1bW5DZWxsQ2xpY2suaW5jbHVkZXMoYXJncy5jb2x1bW5JbmRleCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5yb3dEYXRhT2ZDbGlja2VkQ2VsbC5lbWl0KGFyZ3MuZGF0YUl0ZW0pO1xuICAgIH1cbiAgfVxuXG4gIHNvcnRDaGFuZ2Uoc29ydDogU29ydERlc2NyaXB0b3JbXSk6IHZvaWQge1xuICAgIHRoaXMuc29ydCA9IHNvcnQ7XG4gICAgaWYgKCF0aGlzLmhhc0FwaVNvcnRpbmcpIHtcbiAgICAgIHRoaXMubG9hZEdyaWREYXRhKCk7XG4gICAgfVxuICAgIHRoaXMuc29ydERpcmVjdGlvbi5lbWl0KHRoaXMuc29ydCk7XG4gIH1cblxuICBsb2FkR3JpZERhdGEoKTogdm9pZCB7XG4gICAgdGhpcy5ncmlkVmlldyA9IHtcbiAgICAgIGRhdGE6IG9yZGVyQnkodGhpcy5ncmlkVmlldz8uZGF0YSwgdGhpcy5zb3J0KSxcbiAgICAgIHRvdGFsOiB0aGlzLmdyaWRWaWV3Py50b3RhbCxcbiAgICB9O1xuICB9XG5cbiAgZXhwYW5kUm93KGlkOiBudW1iZXIpIHtcbiAgICB0aGlzLmdyaWQuZXhwYW5kUm93KGlkKTtcbiAgICB0aGlzLmV4cGFuZFJvd0luZGV4LnB1c2goaWQpO1xuICAgIHNldFRpbWVvdXQoKCk9PntcbiAgICAgIHRoaXMuZ2V0R3JpZEhlaWdodCgpO1xuICAgIH0sMClcbiAgfVxuXG4gIGNvbGxhcHNlUm93KGlkOiBudW1iZXIpIHtcbiAgICB0aGlzLmdyaWQuY29sbGFwc2VSb3coaWQpO1xuICAgIHRoaXMuZXhwYW5kUm93SW5kZXguc3BsaWNlKHRoaXMuZXhwYW5kUm93SW5kZXguaW5kZXhPZihpZCksIDEpO1xuICAgIGlmICh0aGlzLmV4cGFuZFJvd0luZGV4Lmxlbmd0aCA9PSAwKSB7XG4gICAgICBjb25zdCB3aW5kb3dIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG4gICAgICBjb25zdCB2aWV3cG9ydDogYW55ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xpYi1ncmlkJyk7XG4gICAgICBjb25zdCBncmlkT2Zmc2V0ID0gdmlld3BvcnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93LnNjcm9sbFk7XG4gICAgICBpZiAod2luZG93SGVpZ2h0ID4gKGdyaWRPZmZzZXQgKyB0aGlzLmluaXRpYWxHcmlkSGVpZ2h0KSkge1xuICAgICAgICB0aGlzLmhlaWdodCA9ICcxMDAlJztcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5nZXRHcmlkSGVpZ2h0KCk7XG4gICAgfVxuICB9XG5cbiAgb25EZWxldGUocm93RGV0YWlsczogYW55KSB7XG4gICAgdGhpcy5kZWxldGVkUm93RGF0YS5lbWl0KHJvd0RldGFpbHMpO1xuICB9XG5cbiAgZ2V0SGVhZGVySGVpZ2h0KCkge1xuICAgIGlmICh0aGlzLmdyaWRWaWV3Py5kYXRhPy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiAnaGlkZS1oZWFkZXInO1xuICAgIH1cbiAgICByZXR1cm4gJ3ZpZXctaGVhZGVyJztcbiAgfVxuXG4gIGdldEdyaWRIZWlnaHQoKSB7XG4gICAgY29uc3Qgd2luZG93SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuICAgIGNvbnN0IHZpZXdwb3J0OiBhbnkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGliLWdyaWQnKTtcbiAgICBjb25zdCBncmlkT2Zmc2V0ID0gdmlld3BvcnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93LnNjcm9sbFk7XG4gICAgY29uc3QgZ3JpZEhlaWdodCA9IHRoaXMuZ3JpZEVsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQgXG4gICAgICAgICAgICAgICAgICAgICAgICArIHRoaXMuZ3JpZEJvdHRvbVNwYWNlOyAvL2dyaWQgc2hvdWxkIGhhdmUgMjRweCBzcGFjZSBhdCBib3R0b21cbiAgICBpZiAoZ3JpZE9mZnNldCArIGdyaWRIZWlnaHQgPj0gd2luZG93SGVpZ2h0KSB7XG4gICAgICB0aGlzLmhlaWdodCA9IHdpbmRvd0hlaWdodCAtIChncmlkT2Zmc2V0ICsgdGhpcy5ncmlkQm90dG9tU3BhY2UpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICByZXNpemUoZXY6IGFueSkge1xuICAgIGlmIChldi50YXJnZXQuaW5uZXJIZWlnaHQgPiB0aGlzLnJlc2l6ZUhlaWdodCkge1xuICAgICAgdGhpcy5yZXNpemVIZWlnaHQgPSBldi50YXJnZXQuaW5uZXJIZWlnaHQ7XG4gICAgICB0aGlzLmhlaWdodCA9ICcxMDAlJztcbiAgICB9XG4gICAgaWYgKHRoaXMucmVzaXplSGVpZ2h0ID4gd2luZG93LmlubmVySGVpZ2h0KSB7XG4gICAgICB0aGlzLnJlc2l6ZUhlaWdodCA9IDA7XG4gICAgfVxuICAgIHRoaXMuZ2V0R3JpZEhlaWdodCgpO1xuICB9XG59XG4iLCI8ZGl2ICNncmlkRWxlbWVudCAod2luZG93OnJlc2l6ZSk9XCJyZXNpemUoJGV2ZW50KVwiID5cbjxrZW5kby1ncmlkIFtkYXRhXT1cImdyaWRWaWV3XCIgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCIgW3NraXBdPVwic2tpcFwiIFtzZWxlY3RhYmxlXT1cInNlbGVjdGFibGVTZXR0aW5nc1wiXG4gIFtwYWdlYWJsZV09XCJwYWdlYWJsZVwiIFtzb3J0YWJsZV09XCJzb3J0YWJsZVwiIFtncm91cGFibGVdPVwiZ3JvdXBhYmxlXCIgW3Jlb3JkZXJhYmxlXT1cInJlb3JkZXJhYmxlXCJcbiAgW3Jlc2l6YWJsZV09XCJyZXNpemFibGVcIiBbY29sdW1uTWVudV09XCJjb2x1bW5NZW51XCIgW25hdmlnYWJsZV09XCJuYXZpZ2FibGVcIiBbaGVpZ2h0XT1cImhlaWdodFwiIFtzdHlsZS5oZWlnaHRdPVwiaGVpZ2h0XCJcbiAgKGNoYW5nZSk9XCJzZXRTZWxlY3RhYmxlU2V0dGluZ3MoKVwiIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gIFtrZW5kb0dyaWRTZWxlY3RCeV09XCJncmlkUm93U2VsZWN0QnlWYWx1ZVwiIChkZXRhaWxFeHBhbmQpPVwib25EZXRhaWxFeHBhbmQoJGV2ZW50KVwiIFtzZWxlY3RlZEtleXNdPVwicHJlU2VsZWN0ZWRcIlxuICAocGFnZUNoYW5nZSk9XCJwYWdlQ2hhbmdlKCRldmVudClcIiAoY2VsbENsaWNrKT1cImNlbGxDbGlja0hhbmRsZXIoJGV2ZW50KVwiIFtzb3J0XT1cInNvcnRcIlxuICAoc29ydENoYW5nZSk9XCJzb3J0Q2hhbmdlKCRldmVudClcIiBbbmdDbGFzc109XCJnZXRIZWFkZXJIZWlnaHQoKVwiIGlkPVwibGliLWdyaWRcIj5cblxuICA8bmctdGVtcGxhdGUgKm5nSWY9XCJzaG93VG9vbGJhclwiIGtlbmRvR3JpZFRvb2xiYXJUZW1wbGF0ZT5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlICpuZ0lmPVwidGhpcy5ncmlkVmlldy5kYXRhLmxlbmd0aCA9PT0gMFwiIGtlbmRvR3JpZE5vUmVjb3Jkc1RlbXBsYXRlPlxuICAgIDxsaWItdHlwb2dyYXBoeSBbZGVmYXVsdFRleHRdPVwibm9SZWNvcmRzQ29udGVudFwiIHR5cGU9XCJQX01VTElTSF8xNl9SRUdVTEFSXCI+PC9saWItdHlwb2dyYXBoeT5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwidGhpcy5ncmlkVmlldy5kYXRhLmxlbmd0aCA+IDBcIj5cbiAgICA8a2VuZG8tZ3JpZC1jaGVja2JveC1jb2x1bW4gKm5nSWY9XCJjaGVja0JveFJlcXVpcmVkID09PSB0cnVlXCIgW3dpZHRoXT1cImNoZWNrQm94V2lkdGhcIlxuICAgICAgW3Jlc2l6YWJsZV09XCJjaGVja0JveENvbHVtblJlc2l6YWJsZVwiIFtjb2x1bW5NZW51XT1cImNoZWNrQm94Q29sdW1uTWVudVwiXG4gICAgICBbc2hvd1NlbGVjdEFsbF09XCJjaGVja0JveENvbHVtblNob3dTZWxlY3RlZEFsbFwiIGNsYXNzPVwiY2hlY2tib3gtY29sdW1uXCI+XG4gICAgPC9rZW5kby1ncmlkLWNoZWNrYm94LWNvbHVtbj5cblxuICAgIDxrZW5kby1ncmlkLWNvbHVtbiBjbGFzcz1cImdyaWQtY29sdW1uXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY29sdW1uRGF0YVwiIFtmaWVsZF09XCJpdGVtLmZpZWxkXCIgW3RpdGxlXT1cIml0ZW0udGl0bGVcIlxuICAgICAgW3dpZHRoXT1cIml0ZW0uY29sdW1uV2lkdGhcIiBbc29ydGFibGVdPVwiaXRlbS5zb3J0YWJsZVwiPlxuXG4gICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJzb3J0YWJsZVwiIGtlbmRvR3JpZEhlYWRlclRlbXBsYXRlPlxuICAgICAgICB7e2l0ZW0udGl0bGV9fVxuICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRbMF0uZmllbGQgPT09IGl0ZW0uZmllbGRcIj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRbMF0uZGlyID09PSAnYXNjJ1wiPjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRbMF0uZGlyID09PSAnZGVzYydcIj48L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIml0ZW0uY3VzdG9tXCIga2VuZG9HcmlkQ2VsbFRlbXBsYXRlIGxldC1kYXRhSXRlbT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlUmVmOyBjb250ZXh0OiB7JGltcGxpY2l0OiBkYXRhSXRlbX1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJpdGVtLmltcGFjdFwiIGtlbmRvR3JpZENlbGxUZW1wbGF0ZSBsZXQtZGF0YUl0ZW0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbXBhY3RDb2x1bW47IGNvbnRleHQ6IHskaW1wbGljaXQ6IGRhdGFJdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2tlbmRvLWdyaWQtY29sdW1uPlxuXG4gICAgPGtlbmRvLWdyaWQtY29sdW1uICpuZ0lmPVwic2hvd0RlbGV0ZUNvbHVtblwiIFt3aWR0aF09XCJkZWxldGVDb2x1bW5XaWR0aFwiIGNsYXNzPVwiZGVsZXRlLWNvbHVtblwiIHRpdGxlPVwiQWN0aW9uXCI+XG4gICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkQ2VsbFRlbXBsYXRlIGxldC1kYXRhSXRlbSBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxuICAgICAgICA8bGliLXRvb2x0aXAgc2hvd09uPVwiaG92ZXJcIiBwb3NpdGlvbj1cImJvdHRvbVwiIGNsYXNzPVwicmVtb3ZlLXRvb2x0aXBcIj5cbiAgICAgICAgICAgIDxsaWItaWNvbiBuYW1lPVwiZGVsZXRlXCIgY2xhc3M9XCJkZWxldGUtaWNvblwiIChjbGljayk9XCJvbkRlbGV0ZShkYXRhSXRlbSlcIj48L2xpYi1pY29uPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b29sdGlwLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxsaWItdHlwb2dyYXBoeSBkZWZhdWx0VGV4dD1cIlJlbW92ZVwiPjwvbGliLXR5cG9ncmFwaHk+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbGliLXRvb2x0aXA+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwva2VuZG8tZ3JpZC1jb2x1bW4+XG5cbiAgICA8a2VuZG8tZ3JpZC1jb2x1bW4gW3dpZHRoXT1cImtlYmFiQ29sdW1uV2lkdGhcIiBjbGFzcz1cImtlYmFiLWNvbHVtblwiICpuZ0lmPVwic2hvd0tlYmFiXCIgdGl0bGU9XCJBY3Rpb25zXCI+XG4gICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkQ2VsbFRlbXBsYXRlIGxldC1kYXRhSXRlbSBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxuICAgICAgICA8a2VuZG8tZHJvcGRvd25idXR0b24gKm5nSWY9XCIhaGlkZUtlYmFiUm93SW5kZXguaW5jbHVkZXMocm93SW5kZXgpXCIgW3N2Z0ljb25dPVwiaWNvblwiIGZpbGxNb2RlPVwibm9uZVwiIFtkYXRhXT1cImtlYmFiTGlzdCB8IGtlYmFiTWVudUZpbHRlciA6IGRhdGFJdGVtXCIgIGNsYXNzPVwia2ViYWJcIlxuICAgICAgICAgIChpdGVtQ2xpY2spPVwib25LZWJhYkNsaWNrKCRldmVudCwgZGF0YUl0ZW0pXCIgW3BvcHVwU2V0dGluZ3NdPVwieyBhbGlnbjogJ3JpZ2h0JywgYW5pbWF0ZTogdHJ1ZSwgcG9wdXBDbGFzczogJ2tlYmFiLWxpc3QnIH1cIj5cbiAgICAgICAgPC9rZW5kby1kcm9wZG93bmJ1dHRvbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9rZW5kby1ncmlkLWNvbHVtbj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZERldGFpbFRlbXBsYXRlIGxldC1kYXRhSXRlbT5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGV0YWlsVGVtcGxhdGU7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGRhdGFJdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxrZW5kby1ncmlkLWNvbHVtbiAqbmdJZj1cImN1c3RvbUV4cGFuZFJvd0NvbHVtblwiIFt3aWR0aF09XCJleHBhbmRSb3dDb2x1bW5XaWR0aFwiIGNsYXNzPVwiZ3JpZC1jb2x1bW4gZXhwYW5kLWNvbHVtblwiPlxuICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRDZWxsVGVtcGxhdGUgbGV0LWRhdGFJdGVtIGxldC1yb3dJbmRleD1cInJvd0luZGV4XCI+XG4gICAgICA8a2VuZG8tYnV0dG9uICpuZ0lmPVwiIWV4cGFuZFJvd0luZGV4LmluY2x1ZGVzKHJvd0luZGV4KVwiIFtzdmdJY29uXT1cImFycm93RG93bkljb25cIiAoY2xpY2spPVwiZXhwYW5kUm93KHJvd0luZGV4KVwiXG4gICAgICAgIGZpbGxNb2RlPVwibm9uZVwiIGNsYXNzPVwiYXJyb3ctYnRuXCI+XG4gICAgICA8L2tlbmRvLWJ1dHRvbj5cbiAgICAgIDxrZW5kby1idXR0b24gKm5nSWY9XCJleHBhbmRSb3dJbmRleC5pbmNsdWRlcyhyb3dJbmRleClcIiBbc3ZnSWNvbl09XCJhcnJvd1VwSWNvblwiIChjbGljayk9XCJjb2xsYXBzZVJvdyhyb3dJbmRleClcIlxuICAgICAgICBmaWxsTW9kZT1cIm5vbmVcIiBjbGFzcz1cImFycm93LWJ0blwiPlxuICAgICAgPC9rZW5kby1idXR0b24+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9rZW5kby1ncmlkLWNvbHVtbj5cblxuICA8bmctdGVtcGxhdGUga2VuZG9QYWdlclRlbXBsYXRlIGxldC10b3RhbFBhZ2VzPVwidG90YWxQYWdlc1wiIGxldC1jdXJyZW50UGFnZT1cImN1cnJlbnRQYWdlXCI+XG4gICAgPGtlbmRvLXBhZ2VyLXByZXYtYnV0dG9ucz48L2tlbmRvLXBhZ2VyLXByZXYtYnV0dG9ucz5cbiAgICA8a2VuZG8tcGFnZXItbnVtZXJpYy1idXR0b25zIFtidXR0b25Db3VudF09XCJwYWdlQ291bnRcIj48L2tlbmRvLXBhZ2VyLW51bWVyaWMtYnV0dG9ucz5cbiAgICA8a2VuZG8tcGFnZXItbmV4dC1idXR0b25zPjwva2VuZG8tcGFnZXItbmV4dC1idXR0b25zPlxuICAgIDxrZW5kby1wYWdlci1pbmZvPjwva2VuZG8tcGFnZXItaW5mbz5cbiAgICA8a2VuZG8tcGFnZXItcGFnZS1zaXplcyBbcGFnZVNpemVzXT1cInNpemVzXCI+PC9rZW5kby1wYWdlci1wYWdlLXNpemVzPlxuICA8L25nLXRlbXBsYXRlPlxuXG48L2tlbmRvLWdyaWQ+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { GridPaginationComponent } from './grid-pagination.component';
|
|
4
|
+
import { GridModule } from '@progress/kendo-angular-grid';
|
|
5
|
+
import { ButtonsModule } from '@progress/kendo-angular-buttons';
|
|
6
|
+
import { InputsModule } from '@progress/kendo-angular-inputs';
|
|
7
|
+
import { DialogModule } from '@progress/kendo-angular-dialog';
|
|
8
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
9
|
+
import { TypographyModule } from './../../atoms/typography/typography.module';
|
|
10
|
+
import { IconModule } from '../../atoms/icon/icon.module';
|
|
11
|
+
import { IconsModule } from "@progress/kendo-angular-icons";
|
|
12
|
+
import { TooltipModule } from '../../atoms/tooltip/tooltip.module';
|
|
13
|
+
import { GridPaginationSpacerComponent } from './grid-pagination-spacer/grid-pagination-spacer.component';
|
|
14
|
+
import { KebabMenuFilterPipe } from './kebab-menu-filter.pipe';
|
|
15
|
+
import * as i0 from "@angular/core";
|
|
16
|
+
export class GridPaginationModule {
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridPaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
18
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: GridPaginationModule, declarations: [GridPaginationComponent,
|
|
19
|
+
GridPaginationSpacerComponent,
|
|
20
|
+
GridPaginationSpacerComponent,
|
|
21
|
+
KebabMenuFilterPipe], imports: [CommonModule,
|
|
22
|
+
ButtonsModule,
|
|
23
|
+
IconModule,
|
|
24
|
+
IconsModule,
|
|
25
|
+
InputsModule,
|
|
26
|
+
GridModule,
|
|
27
|
+
DialogModule,
|
|
28
|
+
FormsModule,
|
|
29
|
+
TooltipModule,
|
|
30
|
+
ReactiveFormsModule,
|
|
31
|
+
TypographyModule], exports: [GridPaginationComponent, GridPaginationSpacerComponent] }); }
|
|
32
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridPaginationModule, imports: [CommonModule,
|
|
33
|
+
ButtonsModule,
|
|
34
|
+
IconModule,
|
|
35
|
+
IconsModule,
|
|
36
|
+
InputsModule,
|
|
37
|
+
GridModule,
|
|
38
|
+
DialogModule,
|
|
39
|
+
FormsModule,
|
|
40
|
+
TooltipModule,
|
|
41
|
+
ReactiveFormsModule,
|
|
42
|
+
TypographyModule] }); }
|
|
43
|
+
}
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridPaginationModule, decorators: [{
|
|
45
|
+
type: NgModule,
|
|
46
|
+
args: [{
|
|
47
|
+
declarations: [
|
|
48
|
+
GridPaginationComponent,
|
|
49
|
+
GridPaginationSpacerComponent,
|
|
50
|
+
GridPaginationSpacerComponent,
|
|
51
|
+
KebabMenuFilterPipe
|
|
52
|
+
],
|
|
53
|
+
imports: [
|
|
54
|
+
CommonModule,
|
|
55
|
+
ButtonsModule,
|
|
56
|
+
IconModule,
|
|
57
|
+
IconsModule,
|
|
58
|
+
InputsModule,
|
|
59
|
+
GridModule,
|
|
60
|
+
DialogModule,
|
|
61
|
+
FormsModule,
|
|
62
|
+
TooltipModule,
|
|
63
|
+
ReactiveFormsModule,
|
|
64
|
+
TypographyModule
|
|
65
|
+
],
|
|
66
|
+
exports: [GridPaginationComponent, GridPaginationSpacerComponent],
|
|
67
|
+
}]
|
|
68
|
+
}] });
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1wYWdpbmF0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC9zcmMvbGliL21vbGVjdWxlcy9ncmlkLXBhZ2luYXRpb24vZ3JpZC1wYWdpbmF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzFHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQXdCL0QsTUFBTSxPQUFPLG9CQUFvQjsrR0FBcEIsb0JBQW9CO2dIQUFwQixvQkFBb0IsaUJBcEI3Qix1QkFBdUI7WUFDdkIsNkJBQTZCO1lBQzdCLDZCQUE2QjtZQUM3QixtQkFBbUIsYUFHbkIsWUFBWTtZQUNaLGFBQWE7WUFDYixVQUFVO1lBQ1YsV0FBVztZQUNYLFlBQVk7WUFDWixVQUFVO1lBQ1YsWUFBWTtZQUNaLFdBQVc7WUFDWCxhQUFhO1lBQ2IsbUJBQW1CO1lBQ25CLGdCQUFnQixhQUVSLHVCQUF1QixFQUFFLDZCQUE2QjtnSEFFckQsb0JBQW9CLFlBZDdCLFlBQVk7WUFDWixhQUFhO1lBQ2IsVUFBVTtZQUNWLFdBQVc7WUFDWCxZQUFZO1lBQ1osVUFBVTtZQUNWLFlBQVk7WUFDWixXQUFXO1lBQ1gsYUFBYTtZQUNiLG1CQUFtQjtZQUNuQixnQkFBZ0I7OzRGQUlQLG9CQUFvQjtrQkF0QmhDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHVCQUF1Qjt3QkFDdkIsNkJBQTZCO3dCQUM3Qiw2QkFBNkI7d0JBQzdCLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixVQUFVO3dCQUNWLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixVQUFVO3dCQUNWLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSw2QkFBNkIsQ0FBQztpQkFDbEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEdyaWRQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9ncmlkLXBhZ2luYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEdyaWRNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1ncmlkJztcbmltcG9ydCB7IEJ1dHRvbnNNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1idXR0b25zJztcbmltcG9ydCB7IElucHV0c01vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWlucHV0cyc7XG5pbXBvcnQgeyBEaWFsb2dNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1kaWFsb2cnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5TW9kdWxlIH0gZnJvbSAnLi8uLi8uLi9hdG9tcy90eXBvZ3JhcGh5L3R5cG9ncmFwaHkubW9kdWxlJztcbmltcG9ydCB7IEljb25Nb2R1bGUgfSBmcm9tICcuLi8uLi9hdG9tcy9pY29uL2ljb24ubW9kdWxlJztcbmltcG9ydCB7IEljb25zTW9kdWxlIH0gZnJvbSBcIkBwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWljb25zXCI7XG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vLi4vYXRvbXMvdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XG5pbXBvcnQgeyBHcmlkUGFnaW5hdGlvblNwYWNlckNvbXBvbmVudCB9IGZyb20gJy4vZ3JpZC1wYWdpbmF0aW9uLXNwYWNlci9ncmlkLXBhZ2luYXRpb24tc3BhY2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBLZWJhYk1lbnVGaWx0ZXJQaXBlIH0gZnJvbSAnLi9rZWJhYi1tZW51LWZpbHRlci5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgR3JpZFBhZ2luYXRpb25Db21wb25lbnQsIFxuICAgIEdyaWRQYWdpbmF0aW9uU3BhY2VyQ29tcG9uZW50LCBcbiAgICBHcmlkUGFnaW5hdGlvblNwYWNlckNvbXBvbmVudCxcbiAgICBLZWJhYk1lbnVGaWx0ZXJQaXBlXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQnV0dG9uc01vZHVsZSxcbiAgICBJY29uTW9kdWxlLFxuICAgIEljb25zTW9kdWxlLFxuICAgIElucHV0c01vZHVsZSxcbiAgICBHcmlkTW9kdWxlLFxuICAgIERpYWxvZ01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBUb29sdGlwTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVHlwb2dyYXBoeU1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbR3JpZFBhZ2luYXRpb25Db21wb25lbnQsIEdyaWRQYWdpbmF0aW9uU3BhY2VyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgR3JpZFBhZ2luYXRpb25Nb2R1bGUgeyB9XG4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Pipe } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class KebabMenuFilterPipe {
|
|
4
|
+
transform(menu, ...args) {
|
|
5
|
+
const dataItem = args[0];
|
|
6
|
+
if (Array.isArray(menu)) {
|
|
7
|
+
return menu.filter((kebabItem) => {
|
|
8
|
+
return kebabItem?.isVisible ? kebabItem.isVisible(dataItem) : true;
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
return [];
|
|
12
|
+
}
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KebabMenuFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
14
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: KebabMenuFilterPipe, name: "kebabMenuFilter" }); }
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KebabMenuFilterPipe, decorators: [{
|
|
17
|
+
type: Pipe,
|
|
18
|
+
args: [{
|
|
19
|
+
name: "kebabMenuFilter"
|
|
20
|
+
}]
|
|
21
|
+
}] });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2ViYWItbWVudS1maWx0ZXIucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC9zcmMvbGliL21vbGVjdWxlcy9ncmlkLXBhZ2luYXRpb24va2ViYWItbWVudS1maWx0ZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFLcEQsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixTQUFTLENBQUMsSUFBUyxFQUFFLEdBQUcsSUFBVztRQUNqQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO2dCQUMvQixPQUFPLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNyRSxDQUFDLENBQUMsQ0FBQTtTQUNIO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOytHQVRVLG1CQUFtQjs2R0FBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUgvQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxpQkFBaUI7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBQaXBlKHtcbiAgbmFtZTogXCJrZWJhYk1lbnVGaWx0ZXJcIlxufSlcbmV4cG9ydCBjbGFzcyBLZWJhYk1lbnVGaWx0ZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShtZW51OiBhbnksIC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgY29uc3QgZGF0YUl0ZW0gPSBhcmdzWzBdO1xuICAgIGlmIChBcnJheS5pc0FycmF5KG1lbnUpKSB7XG4gICAgICByZXR1cm4gbWVudS5maWx0ZXIoKGtlYmFiSXRlbSkgPT4ge1xuICAgICAgICByZXR1cm4ga2ViYWJJdGVtPy5pc1Zpc2libGUgPyBrZWJhYkl0ZW0uaXNWaXNpYmxlKGRhdGFJdGVtKSA6IHRydWU7XG4gICAgICB9KVxuICAgIH1cbiAgICByZXR1cm4gW107XG4gIH1cbn1cbiJdfQ==
|