bways-grid 0.0.13 → 0.0.15
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/fesm2022/bways-grid.mjs +95 -109
- package/fesm2022/bways-grid.mjs.map +1 -1
- package/lib/components/filter-tool-panel/filter-tool-panel.component.d.ts +4 -5
- package/lib/components/side-bar/side-bar.component.d.ts +7 -5
- package/lib/components/ultra-grid/ultra-grid.component.d.ts +4 -5
- package/lib/models/grid-config.model.d.ts +1 -0
- package/package.json +1 -1
package/fesm2022/bways-grid.mjs
CHANGED
|
@@ -1657,12 +1657,11 @@ class FilterToolPanelComponent {
|
|
|
1657
1657
|
rowData = [];
|
|
1658
1658
|
activeFilters = new Map();
|
|
1659
1659
|
conditionFilters = new Map();
|
|
1660
|
-
savedReportNames = [];
|
|
1661
1660
|
filterApplied = new EventEmitter();
|
|
1662
1661
|
conditionFilterChanged = new EventEmitter();
|
|
1663
1662
|
clearAllFilters = new EventEmitter();
|
|
1664
1663
|
saveReportRequested = new EventEmitter();
|
|
1665
|
-
|
|
1664
|
+
importReportRequested = new EventEmitter();
|
|
1666
1665
|
sections = [];
|
|
1667
1666
|
_loadedFields = new Set();
|
|
1668
1667
|
constructor(cdr) {
|
|
@@ -1932,19 +1931,49 @@ class FilterToolPanelComponent {
|
|
|
1932
1931
|
onSaveReportPrompt() {
|
|
1933
1932
|
const name = prompt('Enter a name for this report:');
|
|
1934
1933
|
if (name && name.trim()) {
|
|
1935
|
-
|
|
1934
|
+
const reportObj = {
|
|
1935
|
+
reportName: name.trim(),
|
|
1936
|
+
activeFilters: {},
|
|
1937
|
+
conditionFilters: {}
|
|
1938
|
+
};
|
|
1939
|
+
// Convert Map<string, Set<any>> to Record<string, any[]>
|
|
1940
|
+
if (this.activeFilters.size > 0) {
|
|
1941
|
+
for (const [field, selectedSet] of this.activeFilters.entries()) {
|
|
1942
|
+
reportObj.activeFilters[field] = Array.from(selectedSet);
|
|
1943
|
+
}
|
|
1944
|
+
}
|
|
1945
|
+
// Convert Map to Object
|
|
1946
|
+
if (this.conditionFilters.size > 0) {
|
|
1947
|
+
reportObj.conditionFilters = Object.fromEntries(this.conditionFilters);
|
|
1948
|
+
}
|
|
1949
|
+
this.saveReportRequested.emit(reportObj);
|
|
1936
1950
|
}
|
|
1937
1951
|
}
|
|
1938
|
-
|
|
1939
|
-
const
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1952
|
+
onImportReport() {
|
|
1953
|
+
const input = document.createElement('input');
|
|
1954
|
+
input.type = 'file';
|
|
1955
|
+
input.accept = '.json';
|
|
1956
|
+
input.onchange = (event) => {
|
|
1957
|
+
const file = event.target.files[0];
|
|
1958
|
+
if (!file)
|
|
1959
|
+
return;
|
|
1960
|
+
const reader = new FileReader();
|
|
1961
|
+
reader.onload = (e) => {
|
|
1962
|
+
try {
|
|
1963
|
+
const reportData = JSON.parse(e.target.result);
|
|
1964
|
+
this.importReportRequested.emit(reportData);
|
|
1965
|
+
}
|
|
1966
|
+
catch (err) {
|
|
1967
|
+
alert('Invalid JSON file. Please select a valid report file.');
|
|
1968
|
+
console.error('Failed to parse imported report JSON:', err);
|
|
1969
|
+
}
|
|
1970
|
+
};
|
|
1971
|
+
reader.readAsText(file);
|
|
1972
|
+
};
|
|
1973
|
+
input.click();
|
|
1945
1974
|
}
|
|
1946
1975
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: FilterToolPanelComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1947
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: FilterToolPanelComponent, isStandalone: true, selector: "ug-filter-tool-panel", inputs: { columns: "columns", rowData: "rowData", activeFilters: "activeFilters", conditionFilters: "conditionFilters"
|
|
1976
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: FilterToolPanelComponent, isStandalone: true, selector: "ug-filter-tool-panel", inputs: { columns: "columns", rowData: "rowData", activeFilters: "activeFilters", conditionFilters: "conditionFilters" }, outputs: { filterApplied: "filterApplied", conditionFilterChanged: "conditionFilterChanged", clearAllFilters: "clearAllFilters", saveReportRequested: "saveReportRequested", importReportRequested: "importReportRequested" }, usesOnChanges: true, ngImport: i0, template: `
|
|
1948
1977
|
<div class="ug-ftp-wrapper">
|
|
1949
1978
|
<!-- Global Toolbar -->
|
|
1950
1979
|
<div class="ug-ftp-toolbar">
|
|
@@ -1967,11 +1996,11 @@ class FilterToolPanelComponent {
|
|
|
1967
1996
|
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"></path><polyline points="17 21 17 13 7 13 7 21"></polyline><polyline points="7 3 7 8 15 8"></polyline></svg>
|
|
1968
1997
|
Save
|
|
1969
1998
|
</button>
|
|
1970
|
-
|
|
1971
|
-
<
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
</
|
|
1999
|
+
|
|
2000
|
+
<button class="ug-ftp-btn" (click)="onImportReport()" title="Import Saved Report">
|
|
2001
|
+
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
|
|
2002
|
+
Import
|
|
2003
|
+
</button>
|
|
1975
2004
|
</div>
|
|
1976
2005
|
|
|
1977
2006
|
<!-- Column Filter Sections -->
|
|
@@ -2095,11 +2124,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
2095
2124
|
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"></path><polyline points="17 21 17 13 7 13 7 21"></polyline><polyline points="7 3 7 8 15 8"></polyline></svg>
|
|
2096
2125
|
Save
|
|
2097
2126
|
</button>
|
|
2098
|
-
|
|
2099
|
-
<
|
|
2100
|
-
|
|
2101
|
-
|
|
2102
|
-
</
|
|
2127
|
+
|
|
2128
|
+
<button class="ug-ftp-btn" (click)="onImportReport()" title="Import Saved Report">
|
|
2129
|
+
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
|
|
2130
|
+
Import
|
|
2131
|
+
</button>
|
|
2103
2132
|
</div>
|
|
2104
2133
|
|
|
2105
2134
|
<!-- Column Filter Sections -->
|
|
@@ -2205,8 +2234,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
2205
2234
|
type: Input
|
|
2206
2235
|
}], conditionFilters: [{
|
|
2207
2236
|
type: Input
|
|
2208
|
-
}], savedReportNames: [{
|
|
2209
|
-
type: Input
|
|
2210
2237
|
}], filterApplied: [{
|
|
2211
2238
|
type: Output
|
|
2212
2239
|
}], conditionFilterChanged: [{
|
|
@@ -2215,7 +2242,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
2215
2242
|
type: Output
|
|
2216
2243
|
}], saveReportRequested: [{
|
|
2217
2244
|
type: Output
|
|
2218
|
-
}],
|
|
2245
|
+
}], importReportRequested: [{
|
|
2219
2246
|
type: Output
|
|
2220
2247
|
}] } });
|
|
2221
2248
|
|
|
@@ -2228,7 +2255,7 @@ class SideBarComponent {
|
|
|
2228
2255
|
valuesModel = [];
|
|
2229
2256
|
pivotMode = false;
|
|
2230
2257
|
pivotColumns = [];
|
|
2231
|
-
savedReportNames = [];
|
|
2258
|
+
savedReportNames = []; // Kept for backward compat but no longer used
|
|
2232
2259
|
columnsUpdated = new EventEmitter();
|
|
2233
2260
|
groupModelUpdated = new EventEmitter();
|
|
2234
2261
|
valuesModelUpdated = new EventEmitter();
|
|
@@ -2239,9 +2266,17 @@ class SideBarComponent {
|
|
|
2239
2266
|
conditionFilterChanged = new EventEmitter();
|
|
2240
2267
|
clearAllFilters = new EventEmitter();
|
|
2241
2268
|
saveReportRequested = new EventEmitter();
|
|
2242
|
-
|
|
2243
|
-
activeTab =
|
|
2269
|
+
importReportRequested = new EventEmitter();
|
|
2270
|
+
activeTab = null;
|
|
2244
2271
|
cdr = inject(ChangeDetectorRef);
|
|
2272
|
+
constructor() {
|
|
2273
|
+
console.log('SideBarComponent initialized. activeTab:', this.activeTab);
|
|
2274
|
+
}
|
|
2275
|
+
ngOnChanges(changes) {
|
|
2276
|
+
if (changes['activeTab']) {
|
|
2277
|
+
console.log('SideBarComponent activeTab changed to:', this.activeTab);
|
|
2278
|
+
}
|
|
2279
|
+
}
|
|
2245
2280
|
toggleTab(tab) {
|
|
2246
2281
|
console.log('Sidebar toggleTab requested:', tab, 'Current:', this.activeTab);
|
|
2247
2282
|
if (this.activeTab === tab) {
|
|
@@ -2284,7 +2319,7 @@ class SideBarComponent {
|
|
|
2284
2319
|
this.pivotModelUpdated.emit(model);
|
|
2285
2320
|
}
|
|
2286
2321
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SideBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2287
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: SideBarComponent, isStandalone: true, selector: "ug-side-bar", inputs: { columns: "columns", rowData: "rowData", activeFilters: "activeFilters", conditionFilters: "conditionFilters", groupModel: "groupModel", valuesModel: "valuesModel", pivotMode: "pivotMode", pivotColumns: "pivotColumns", savedReportNames: "savedReportNames" }, outputs: { columnsUpdated: "columnsUpdated", groupModelUpdated: "groupModelUpdated", valuesModelUpdated: "valuesModelUpdated", pivotModeUpdated: "pivotModeUpdated", pivotModelUpdated: "pivotModelUpdated", exportExcelClicked: "exportExcelClicked", filterApplied: "filterApplied", conditionFilterChanged: "conditionFilterChanged", clearAllFilters: "clearAllFilters", saveReportRequested: "saveReportRequested",
|
|
2322
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: SideBarComponent, isStandalone: true, selector: "ug-side-bar", inputs: { columns: "columns", rowData: "rowData", activeFilters: "activeFilters", conditionFilters: "conditionFilters", groupModel: "groupModel", valuesModel: "valuesModel", pivotMode: "pivotMode", pivotColumns: "pivotColumns", savedReportNames: "savedReportNames", activeTab: "activeTab" }, outputs: { columnsUpdated: "columnsUpdated", groupModelUpdated: "groupModelUpdated", valuesModelUpdated: "valuesModelUpdated", pivotModeUpdated: "pivotModeUpdated", pivotModelUpdated: "pivotModelUpdated", exportExcelClicked: "exportExcelClicked", filterApplied: "filterApplied", conditionFilterChanged: "conditionFilterChanged", clearAllFilters: "clearAllFilters", saveReportRequested: "saveReportRequested", importReportRequested: "importReportRequested" }, usesOnChanges: true, ngImport: i0, template: `
|
|
2288
2323
|
<div class="ug-side-bar-wrapper">
|
|
2289
2324
|
<!-- Content Area -->
|
|
2290
2325
|
<div class="ug-side-bar-content" *ngIf="activeTab">
|
|
@@ -2317,12 +2352,11 @@ class SideBarComponent {
|
|
|
2317
2352
|
[rowData]="rowData"
|
|
2318
2353
|
[activeFilters]="activeFilters"
|
|
2319
2354
|
[conditionFilters]="conditionFilters"
|
|
2320
|
-
[savedReportNames]="savedReportNames"
|
|
2321
2355
|
(filterApplied)="onFilterApplied($event)"
|
|
2322
2356
|
(conditionFilterChanged)="onConditionFilterChanged($event)"
|
|
2323
2357
|
(clearAllFilters)="onClearAllFilters()"
|
|
2324
2358
|
(saveReportRequested)="saveReportRequested.emit($event)"
|
|
2325
|
-
(
|
|
2359
|
+
(importReportRequested)="importReportRequested.emit($event)">
|
|
2326
2360
|
</ug-filter-tool-panel>
|
|
2327
2361
|
</div>
|
|
2328
2362
|
</div>
|
|
@@ -2344,7 +2378,7 @@ class SideBarComponent {
|
|
|
2344
2378
|
</div>
|
|
2345
2379
|
</div>
|
|
2346
2380
|
</div>
|
|
2347
|
-
`, isInline: true, styles: [".ug-side-bar-wrapper{display:flex;flex-direction:row;height:100%;background-color:var(--ug-panel-bg);border-left:1px solid var(--ug-border-color);font-family:var(--ug-font-family, sans-serif);font-size:var(--ug-font-size, 13px);color:var(--ug-header-color)}.ug-side-bar-content{display:flex;flex-direction:column;width:250px;height:100%;border-right:1px solid var(--ug-border-color)}.ug-side-bar-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--ug-border-color);background-color:var(--ug-header-bg)}.ug-side-bar-title{font-family:var(--ug-font-family, sans-serif);font-size:var(--ug-font-size, 13px);font-weight:var(--ug-header-font-weight, 500);color:var(--ug-header-color)}.ug-side-bar-close{cursor:pointer;color:var(--ug-icon-color);display:flex;align-items:center;justify-content:center}.ug-side-bar-close:hover{color:var(--ug-primary-color)}.ug-side-bar-body{flex:1;overflow-y:auto;overflow-x:hidden;background-color:var(--ug-panel-bg)}.ug-side-bar-toolbar{display:flex;flex-direction:column;width:40px;height:100%;background-color:var(--ug-header-bg);padding-top:8px;gap:8px;align-items:center}.ug-side-bar-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 4px;cursor:pointer;color:var(--ug-icon-color);border-left:2px solid transparent;width:100%;box-sizing:border-box}.ug-side-bar-tab span{writing-mode:vertical-rl;transform:rotate(180deg);margin-top:12px;font-family:var(--ug-font-family, sans-serif);font-weight:var(--ug-header-font-weight, 500);font-size:var(--ug-font-size, 13px);letter-spacing:.5px}.ug-side-bar-tab:hover{color:var(--ug-primary-color);background-color:var(--ug-row-hover-bg)}.ug-side-bar-tab.active{color:var(--ug-primary-color);background-color:var(--ug-panel-bg);border-left:2px solid var(--ug-primary-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ColumnToolPanelComponent, selector: "ug-column-tool-panel", inputs: ["columns", "groupModel", "valuesModel", "pivotMode", "pivotColumns"], outputs: ["columnsUpdated", "groupModelChanged", "valuesModelChanged", "pivotModeChanged", "pivotModelChanged", "exportExcelClicked"] }, { kind: "component", type: FilterToolPanelComponent, selector: "ug-filter-tool-panel", inputs: ["columns", "rowData", "activeFilters", "conditionFilters"
|
|
2381
|
+
`, isInline: true, styles: [".ug-side-bar-wrapper{display:flex;flex-direction:row;height:100%;background-color:var(--ug-panel-bg);border-left:1px solid var(--ug-border-color);font-family:var(--ug-font-family, sans-serif);font-size:var(--ug-font-size, 13px);color:var(--ug-header-color)}.ug-side-bar-content{display:flex;flex-direction:column;width:250px;height:100%;border-right:1px solid var(--ug-border-color)}.ug-side-bar-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--ug-border-color);background-color:var(--ug-header-bg)}.ug-side-bar-title{font-family:var(--ug-font-family, sans-serif);font-size:var(--ug-font-size, 13px);font-weight:var(--ug-header-font-weight, 500);color:var(--ug-header-color)}.ug-side-bar-close{cursor:pointer;color:var(--ug-icon-color);display:flex;align-items:center;justify-content:center}.ug-side-bar-close:hover{color:var(--ug-primary-color)}.ug-side-bar-body{flex:1;overflow-y:auto;overflow-x:hidden;background-color:var(--ug-panel-bg)}.ug-side-bar-toolbar{display:flex;flex-direction:column;width:40px;height:100%;background-color:var(--ug-header-bg);padding-top:8px;gap:8px;align-items:center}.ug-side-bar-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 4px;cursor:pointer;color:var(--ug-icon-color);border-left:2px solid transparent;width:100%;box-sizing:border-box}.ug-side-bar-tab span{writing-mode:vertical-rl;transform:rotate(180deg);margin-top:12px;font-family:var(--ug-font-family, sans-serif);font-weight:var(--ug-header-font-weight, 500);font-size:var(--ug-font-size, 13px);letter-spacing:.5px}.ug-side-bar-tab:hover{color:var(--ug-primary-color);background-color:var(--ug-row-hover-bg)}.ug-side-bar-tab.active{color:var(--ug-primary-color);background-color:var(--ug-panel-bg);border-left:2px solid var(--ug-primary-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ColumnToolPanelComponent, selector: "ug-column-tool-panel", inputs: ["columns", "groupModel", "valuesModel", "pivotMode", "pivotColumns"], outputs: ["columnsUpdated", "groupModelChanged", "valuesModelChanged", "pivotModeChanged", "pivotModelChanged", "exportExcelClicked"] }, { kind: "component", type: FilterToolPanelComponent, selector: "ug-filter-tool-panel", inputs: ["columns", "rowData", "activeFilters", "conditionFilters"], outputs: ["filterApplied", "conditionFilterChanged", "clearAllFilters", "saveReportRequested", "importReportRequested"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
2348
2382
|
}
|
|
2349
2383
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SideBarComponent, decorators: [{
|
|
2350
2384
|
type: Component,
|
|
@@ -2381,12 +2415,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
2381
2415
|
[rowData]="rowData"
|
|
2382
2416
|
[activeFilters]="activeFilters"
|
|
2383
2417
|
[conditionFilters]="conditionFilters"
|
|
2384
|
-
[savedReportNames]="savedReportNames"
|
|
2385
2418
|
(filterApplied)="onFilterApplied($event)"
|
|
2386
2419
|
(conditionFilterChanged)="onConditionFilterChanged($event)"
|
|
2387
2420
|
(clearAllFilters)="onClearAllFilters()"
|
|
2388
2421
|
(saveReportRequested)="saveReportRequested.emit($event)"
|
|
2389
|
-
(
|
|
2422
|
+
(importReportRequested)="importReportRequested.emit($event)">
|
|
2390
2423
|
</ug-filter-tool-panel>
|
|
2391
2424
|
</div>
|
|
2392
2425
|
</div>
|
|
@@ -2409,7 +2442,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
2409
2442
|
</div>
|
|
2410
2443
|
</div>
|
|
2411
2444
|
`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".ug-side-bar-wrapper{display:flex;flex-direction:row;height:100%;background-color:var(--ug-panel-bg);border-left:1px solid var(--ug-border-color);font-family:var(--ug-font-family, sans-serif);font-size:var(--ug-font-size, 13px);color:var(--ug-header-color)}.ug-side-bar-content{display:flex;flex-direction:column;width:250px;height:100%;border-right:1px solid var(--ug-border-color)}.ug-side-bar-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--ug-border-color);background-color:var(--ug-header-bg)}.ug-side-bar-title{font-family:var(--ug-font-family, sans-serif);font-size:var(--ug-font-size, 13px);font-weight:var(--ug-header-font-weight, 500);color:var(--ug-header-color)}.ug-side-bar-close{cursor:pointer;color:var(--ug-icon-color);display:flex;align-items:center;justify-content:center}.ug-side-bar-close:hover{color:var(--ug-primary-color)}.ug-side-bar-body{flex:1;overflow-y:auto;overflow-x:hidden;background-color:var(--ug-panel-bg)}.ug-side-bar-toolbar{display:flex;flex-direction:column;width:40px;height:100%;background-color:var(--ug-header-bg);padding-top:8px;gap:8px;align-items:center}.ug-side-bar-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 4px;cursor:pointer;color:var(--ug-icon-color);border-left:2px solid transparent;width:100%;box-sizing:border-box}.ug-side-bar-tab span{writing-mode:vertical-rl;transform:rotate(180deg);margin-top:12px;font-family:var(--ug-font-family, sans-serif);font-weight:var(--ug-header-font-weight, 500);font-size:var(--ug-font-size, 13px);letter-spacing:.5px}.ug-side-bar-tab:hover{color:var(--ug-primary-color);background-color:var(--ug-row-hover-bg)}.ug-side-bar-tab.active{color:var(--ug-primary-color);background-color:var(--ug-panel-bg);border-left:2px solid var(--ug-primary-color)}\n"] }]
|
|
2412
|
-
}], propDecorators: { columns: [{
|
|
2445
|
+
}], ctorParameters: () => [], propDecorators: { columns: [{
|
|
2413
2446
|
type: Input
|
|
2414
2447
|
}], rowData: [{
|
|
2415
2448
|
type: Input
|
|
@@ -2447,8 +2480,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
2447
2480
|
type: Output
|
|
2448
2481
|
}], saveReportRequested: [{
|
|
2449
2482
|
type: Output
|
|
2450
|
-
}],
|
|
2483
|
+
}], importReportRequested: [{
|
|
2451
2484
|
type: Output
|
|
2485
|
+
}], activeTab: [{
|
|
2486
|
+
type: Input
|
|
2452
2487
|
}] } });
|
|
2453
2488
|
|
|
2454
2489
|
class GridFlattenerService {
|
|
@@ -2676,13 +2711,15 @@ class UltraGridComponent {
|
|
|
2676
2711
|
serverDataSource;
|
|
2677
2712
|
config = {
|
|
2678
2713
|
rowHeight: 40,
|
|
2679
|
-
theme: 'ag-theme-alpine'
|
|
2714
|
+
theme: 'ag-theme-alpine',
|
|
2715
|
+
sideBarDefaultTab: null
|
|
2680
2716
|
};
|
|
2681
2717
|
pagination = false;
|
|
2682
2718
|
pageSize = 100;
|
|
2683
2719
|
rowClicked = new EventEmitter();
|
|
2684
2720
|
sortChanged = new EventEmitter();
|
|
2685
2721
|
selectionChanged = new EventEmitter();
|
|
2722
|
+
reportSaved = new EventEmitter();
|
|
2686
2723
|
getSelectedRows() {
|
|
2687
2724
|
if (!this._mappedRowData)
|
|
2688
2725
|
return [];
|
|
@@ -2720,7 +2757,6 @@ class UltraGridComponent {
|
|
|
2720
2757
|
conditionFilters = new Map();
|
|
2721
2758
|
isChooseColumnsOpen = false;
|
|
2722
2759
|
chooseColumnsPosition = { x: 0, y: 0 };
|
|
2723
|
-
savedReportNames = [];
|
|
2724
2760
|
destroy$ = new Subject();
|
|
2725
2761
|
sortingWorker;
|
|
2726
2762
|
sortingWorkerUrl;
|
|
@@ -2749,9 +2785,6 @@ class UltraGridComponent {
|
|
|
2749
2785
|
this.fetchServerPage(1);
|
|
2750
2786
|
}
|
|
2751
2787
|
}
|
|
2752
|
-
if (this.isBrowser) {
|
|
2753
|
-
this.loadSavedReportNames();
|
|
2754
|
-
}
|
|
2755
2788
|
}
|
|
2756
2789
|
get selectedRowsCount() {
|
|
2757
2790
|
if (!this._mappedRowData)
|
|
@@ -3577,67 +3610,20 @@ class UltraGridComponent {
|
|
|
3577
3610
|
}
|
|
3578
3611
|
this.applyLocalData();
|
|
3579
3612
|
}
|
|
3580
|
-
// --- Save / Import Filters
|
|
3581
|
-
|
|
3582
|
-
if (!
|
|
3613
|
+
// --- Save / Import Filters ---
|
|
3614
|
+
handleSaveReport(reportObj) {
|
|
3615
|
+
if (!reportObj)
|
|
3583
3616
|
return;
|
|
3584
|
-
|
|
3585
|
-
|
|
3586
|
-
|
|
3587
|
-
|
|
3588
|
-
this.savedReportNames = Object.keys(parsed);
|
|
3589
|
-
this.cdr.markForCheck();
|
|
3590
|
-
}
|
|
3591
|
-
}
|
|
3592
|
-
catch (e) { }
|
|
3617
|
+
console.log('=== SAVED REPORT OBJECT ===');
|
|
3618
|
+
console.log(JSON.stringify(reportObj, null, 2));
|
|
3619
|
+
console.log('=== END REPORT OBJECT ===');
|
|
3620
|
+
this.reportSaved.emit(reportObj);
|
|
3593
3621
|
}
|
|
3594
|
-
|
|
3595
|
-
if (!
|
|
3622
|
+
handleImportReport(reportData) {
|
|
3623
|
+
if (!reportData)
|
|
3596
3624
|
return;
|
|
3597
|
-
|
|
3598
|
-
|
|
3599
|
-
conditionFilters: {}
|
|
3600
|
-
};
|
|
3601
|
-
// Convert Map<string, Set<any>> to Record<string, any[]>
|
|
3602
|
-
if (this.activeFilters.size > 0) {
|
|
3603
|
-
for (const [field, selectedSet] of this.activeFilters.entries()) {
|
|
3604
|
-
state.activeFilters[field] = Array.from(selectedSet);
|
|
3605
|
-
}
|
|
3606
|
-
}
|
|
3607
|
-
// Convert Map to Object
|
|
3608
|
-
if (this.conditionFilters.size > 0) {
|
|
3609
|
-
state.conditionFilters = Object.fromEntries(this.conditionFilters);
|
|
3610
|
-
}
|
|
3611
|
-
if (this.isBrowser) {
|
|
3612
|
-
try {
|
|
3613
|
-
const stored = localStorage.getItem('ug-saved-reports');
|
|
3614
|
-
const reports = stored ? JSON.parse(stored) : {};
|
|
3615
|
-
reports[reportName] = state;
|
|
3616
|
-
localStorage.setItem('ug-saved-reports', JSON.stringify(reports));
|
|
3617
|
-
this.loadSavedReportNames();
|
|
3618
|
-
console.log(`Report '${reportName}' saved successfully locally.`);
|
|
3619
|
-
}
|
|
3620
|
-
catch (err) {
|
|
3621
|
-
console.error('Failed to save report locally.', err);
|
|
3622
|
-
}
|
|
3623
|
-
}
|
|
3624
|
-
}
|
|
3625
|
-
handleLoadReport(reportName) {
|
|
3626
|
-
if (!reportName || !this.isBrowser)
|
|
3627
|
-
return;
|
|
3628
|
-
try {
|
|
3629
|
-
const stored = localStorage.getItem('ug-saved-reports');
|
|
3630
|
-
if (stored) {
|
|
3631
|
-
const reports = JSON.parse(stored);
|
|
3632
|
-
const data = reports[reportName];
|
|
3633
|
-
if (data) {
|
|
3634
|
-
this.applyImportedFilters(data);
|
|
3635
|
-
}
|
|
3636
|
-
}
|
|
3637
|
-
}
|
|
3638
|
-
catch (err) {
|
|
3639
|
-
console.error('Error loading report locally.', err);
|
|
3640
|
-
}
|
|
3625
|
+
console.log('Importing report:', reportData.reportName || 'unnamed');
|
|
3626
|
+
this.applyImportedFilters(reportData);
|
|
3641
3627
|
}
|
|
3642
3628
|
applyImportedFilters(data) {
|
|
3643
3629
|
if (!data)
|
|
@@ -3663,15 +3649,15 @@ class UltraGridComponent {
|
|
|
3663
3649
|
this.currentPage = 1;
|
|
3664
3650
|
this.applyLocalData();
|
|
3665
3651
|
this.cdr.markForCheck();
|
|
3666
|
-
console.log('Filters
|
|
3652
|
+
console.log('Filters imported and applied successfully.');
|
|
3667
3653
|
}
|
|
3668
3654
|
catch (err) {
|
|
3669
|
-
console.error('Error applying
|
|
3670
|
-
alert('Error
|
|
3655
|
+
console.error('Error applying imported filters:', err);
|
|
3656
|
+
alert('Error importing report. Please ensure the JSON file is valid.');
|
|
3671
3657
|
}
|
|
3672
3658
|
}
|
|
3673
3659
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: UltraGridComponent, deps: [{ token: PLATFORM_ID }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: GridFlattenerService }, { token: ExcelExportService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3674
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: UltraGridComponent, isStandalone: true, selector: "bways-grid", inputs: { columns: "columns", rowData: "rowData", serverDataSource: "serverDataSource", config: "config", pagination: "pagination", pageSize: "pageSize", groupModel: "groupModel", valuesModel: "valuesModel", pivotColumns: "pivotColumns" }, outputs: { rowClicked: "rowClicked", sortChanged: "sortChanged", selectionChanged: "selectionChanged" }, viewQueries: [{ propertyName: "headerElement", first: true, predicate: ["headerComponent"], descendants: true, read: ElementRef }, { propertyName: "viewport", first: true, predicate: ["viewport"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
3660
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: UltraGridComponent, isStandalone: true, selector: "bways-grid", inputs: { columns: "columns", rowData: "rowData", serverDataSource: "serverDataSource", config: "config", pagination: "pagination", pageSize: "pageSize", groupModel: "groupModel", valuesModel: "valuesModel", pivotColumns: "pivotColumns" }, outputs: { rowClicked: "rowClicked", sortChanged: "sortChanged", selectionChanged: "selectionChanged", reportSaved: "reportSaved" }, viewQueries: [{ propertyName: "headerElement", first: true, predicate: ["headerComponent"], descendants: true, read: ElementRef }, { propertyName: "viewport", first: true, predicate: ["viewport"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
3675
3661
|
<div class="ug-wrapper" [ngClass]="config.theme || 'ag-theme-alpine'">
|
|
3676
3662
|
|
|
3677
3663
|
<div class="ug-main">
|
|
@@ -3739,7 +3725,7 @@ class UltraGridComponent {
|
|
|
3739
3725
|
</div>
|
|
3740
3726
|
|
|
3741
3727
|
<ug-side-bar
|
|
3742
|
-
*ngIf="config.sideBar"
|
|
3728
|
+
*ngIf="config.sideBar"
|
|
3743
3729
|
[columns]="columns"
|
|
3744
3730
|
[rowData]="rowData"
|
|
3745
3731
|
[activeFilters]="activeFilters"
|
|
@@ -3748,7 +3734,6 @@ class UltraGridComponent {
|
|
|
3748
3734
|
[valuesModel]="valuesModel"
|
|
3749
3735
|
[pivotMode]="!!config.pivotMode"
|
|
3750
3736
|
[pivotColumns]="pivotColumns"
|
|
3751
|
-
[savedReportNames]="savedReportNames"
|
|
3752
3737
|
(columnsUpdated)="onSideBarColumnsUpdated($event)"
|
|
3753
3738
|
(groupModelUpdated)="onSideBarGroupModelUpdated($event)"
|
|
3754
3739
|
(valuesModelUpdated)="onValuesModelUpdated($event)"
|
|
@@ -3759,7 +3744,7 @@ class UltraGridComponent {
|
|
|
3759
3744
|
(conditionFilterChanged)="onConditionFilterChanged($event)"
|
|
3760
3745
|
(clearAllFilters)="onClearAllFilters()"
|
|
3761
3746
|
(saveReportRequested)="handleSaveReport($event)"
|
|
3762
|
-
(
|
|
3747
|
+
(importReportRequested)="handleImportReport($event)">
|
|
3763
3748
|
</ug-side-bar>
|
|
3764
3749
|
|
|
3765
3750
|
</div>
|
|
@@ -3795,7 +3780,7 @@ class UltraGridComponent {
|
|
|
3795
3780
|
(closePanel)="isChooseColumnsOpen = false">
|
|
3796
3781
|
</ug-choose-columns>
|
|
3797
3782
|
</div>
|
|
3798
|
-
`, isInline: true, styles: ["@charset \"UTF-8\";bways-grid{display:block;height:100%;width:100%;--ug-border-color: rgba(221, 226, 235, .4);--ug-bg-color: transparent;--ug-header-bg: rgba(255, 255, 255, .25);--ug-header-color: #3f332f;--ug-header-hover-bg: rgba(255, 255, 255, .4);--ug-row-bg: rgba(255, 255, 255, .15);--ug-row-hover-bg: rgba(216, 48, 24, .05);--ug-row-selected-bg: rgba(216, 48, 24, .15);--ug-primary-color: #d83018;--ug-panel-bg: #ffffff;--ug-footer-bg: rgba(255, 255, 255, .25);--ug-footer-color: #554440;--ug-icon-color: #7b6d69;--ug-font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;--ug-font-size: 13px;--ug-header-font-weight: 600}.ug-wrapper{display:flex;flex-direction:row;height:100%;width:100%;border:1px solid var(--ug-border-color);background-color:var(--ug-bg-color);background-image:url(\"data:image/svg+xml;utf8,<svg viewBox='0 0 800 800' xmlns='http://www.w3.org/2000/svg'><g fill='rgba(0,0,0,0.02)'><path transform='translate(150,150) scale(1.6)' d='M-20 -30c0-10 40-10 40 0v60c0 10-40 10-40 0z M-20 -10c0 10 40 10 40 0 M-20 10c0 10 40 10 40 0'/><path transform='translate(600,250) scale(1.8)' d='M-40 10a30 30 0 0 1 50-10 40 40 0 0 1 30 60h-80a20 20 0 0 1 0-50z'/><g transform='translate(350,550) scale(1.7)'><circle cx='0' cy='-20' r='10'/><circle cx='-30' cy='10' r='8'/><circle cx='30' cy='10' r='8'/><path d='M0 -20l-30 30m30-30l30 30' stroke='rgba(0,0,0,0.02)' stroke-width='4'/></g><path transform='translate(700,700) scale(1.4)' d='M-20 -30c0-10 40-10 40 0v60c0 10-40 10-40 0z M-20 -10c0 10 40 10 40 0 M-20 10c0 10 40 10 40 0'/><path transform='translate(100,600) scale(1.5)' d='M-40 10a30 30 0 0 1 50-10 40 40 0 0 1 30 60h-80a20 20 0 0 1 0-50z'/><g transform='translate(450,100) scale(1.3)'><circle cx='0' cy='-20' r='10'/><circle cx='-30' cy='10' r='8'/><circle cx='30' cy='10' r='8'/><path d='M0 -20l-30 30m30-30l30 30' stroke='rgba(0,0,0,0.02)' stroke-width='4'/></g></g></svg>\"),radial-gradient(circle at 10% 20%,#fdf5f5 0%,transparent 60%),radial-gradient(circle at 80% 10%,#eefbf6 0%,transparent 60%),radial-gradient(circle at 50% 80%,#f9f5f0,#f1efe9);background-size:800px 800px,100% 100%,100% 100%,100% 100%;background-position:center;background-repeat:repeat,no-repeat,no-repeat,no-repeat;box-sizing:border-box;font-family:var(--ug-font-family);font-size:var(--ug-font-size);color:var(--ug-header-color);overflow:hidden;backdrop-filter:blur(8px)}.ug-main{display:flex;flex-direction:column;flex:1;min-width:0;overflow:hidden}.ug-body{flex:1;overflow:hidden;position:relative}.ug-viewport{height:100%;width:100%;overflow:auto}.ug-ssr-container{height:100%;width:100%;overflow:hidden}.ug-status-bar{display:flex;align-items:center;padding:0 16px;min-height:48px;border-top:1px solid var(--ug-border-color);font-weight:500;font-size:13px;color:var(--ug-header-color);background-color:var(--ug-footer-bg)}.ug-cc-overlay-container{position:fixed;z-index:1002}bways-grid.ag-theme-alpine-dark{--ug-border-color: #334155;--ug-bg-color: #1e293b;--ug-header-bg: #0f172a;--ug-header-color: #e2e8f0;--ug-header-hover-bg: #1e293b;--ug-row-bg: #1e293b;--ug-row-hover-bg: #334155;--ug-row-selected-bg: #0f172a;--ug-primary-color: #60a5fa;--ug-footer-bg: #0f172a;--ug-footer-color: #94a3b8;--ug-icon-color: #94a3b8}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i3$1.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i3$1.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i3$1.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: HeaderComponent, selector: "ug-header", inputs: ["columns", "sortModel", "isAllSelected"], outputs: ["sortChanged", "columnsReordered", "columnResized", "headerCheckboxClicked", "menuClicked", "filterClicked"] }, { kind: "component", type: RowComponent, selector: "ug-row", inputs: ["columns", "row", "rowHeight", "isExpanded", "selectionVersion"], outputs: ["groupToggled"] }, { kind: "component", type: PaginationComponent, selector: "ug-pagination", inputs: ["totalCount", "pageSize", "currentPage"], outputs: ["pageChanged", "pageSizeChanged"] }, { kind: "component", type: HeaderMenuComponent, selector: "ug-header-menu", inputs: ["column", "isOpen", "position", "groupModel"], outputs: ["closeMenu", "sort", "pin", "autosize", "group", "chooseColumns"] }, { kind: "component", type: ChooseColumnsComponent, selector: "ug-choose-columns", inputs: ["columns"], outputs: ["columnsChanged", "closePanel"] }, { kind: "component", type: HeaderFilterComponent, selector: "ug-header-filter", inputs: ["column", "isOpen", "position", "uniqueValues", "activeFilterSet"], outputs: ["closeFilter", "filterApplied"] }, { kind: "component", type: SideBarComponent, selector: "ug-side-bar", inputs: ["columns", "rowData", "activeFilters", "conditionFilters", "groupModel", "valuesModel", "pivotMode", "pivotColumns", "savedReportNames"], outputs: ["columnsUpdated", "groupModelUpdated", "valuesModelUpdated", "pivotModeUpdated", "pivotModelUpdated", "exportExcelClicked", "filterApplied", "conditionFilterChanged", "clearAllFilters", "saveReportRequested", "
|
|
3783
|
+
`, isInline: true, styles: ["@charset \"UTF-8\";bways-grid{display:block;height:100%;width:100%;--ug-border-color: rgba(221, 226, 235, .4);--ug-bg-color: transparent;--ug-header-bg: rgba(255, 255, 255, .25);--ug-header-color: #3f332f;--ug-header-hover-bg: rgba(255, 255, 255, .4);--ug-row-bg: rgba(255, 255, 255, .15);--ug-row-hover-bg: rgba(216, 48, 24, .05);--ug-row-selected-bg: rgba(216, 48, 24, .15);--ug-primary-color: #d83018;--ug-panel-bg: #ffffff;--ug-footer-bg: rgba(255, 255, 255, .25);--ug-footer-color: #554440;--ug-icon-color: #7b6d69;--ug-font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;--ug-font-size: 13px;--ug-header-font-weight: 600}.ug-wrapper{display:flex;flex-direction:row;height:100%;width:100%;border:1px solid var(--ug-border-color);background-color:var(--ug-bg-color);background-image:url(\"data:image/svg+xml;utf8,<svg viewBox='0 0 800 800' xmlns='http://www.w3.org/2000/svg'><g fill='rgba(0,0,0,0.02)'><path transform='translate(150,150) scale(1.6)' d='M-20 -30c0-10 40-10 40 0v60c0 10-40 10-40 0z M-20 -10c0 10 40 10 40 0 M-20 10c0 10 40 10 40 0'/><path transform='translate(600,250) scale(1.8)' d='M-40 10a30 30 0 0 1 50-10 40 40 0 0 1 30 60h-80a20 20 0 0 1 0-50z'/><g transform='translate(350,550) scale(1.7)'><circle cx='0' cy='-20' r='10'/><circle cx='-30' cy='10' r='8'/><circle cx='30' cy='10' r='8'/><path d='M0 -20l-30 30m30-30l30 30' stroke='rgba(0,0,0,0.02)' stroke-width='4'/></g><path transform='translate(700,700) scale(1.4)' d='M-20 -30c0-10 40-10 40 0v60c0 10-40 10-40 0z M-20 -10c0 10 40 10 40 0 M-20 10c0 10 40 10 40 0'/><path transform='translate(100,600) scale(1.5)' d='M-40 10a30 30 0 0 1 50-10 40 40 0 0 1 30 60h-80a20 20 0 0 1 0-50z'/><g transform='translate(450,100) scale(1.3)'><circle cx='0' cy='-20' r='10'/><circle cx='-30' cy='10' r='8'/><circle cx='30' cy='10' r='8'/><path d='M0 -20l-30 30m30-30l30 30' stroke='rgba(0,0,0,0.02)' stroke-width='4'/></g></g></svg>\"),radial-gradient(circle at 10% 20%,#fdf5f5 0%,transparent 60%),radial-gradient(circle at 80% 10%,#eefbf6 0%,transparent 60%),radial-gradient(circle at 50% 80%,#f9f5f0,#f1efe9);background-size:800px 800px,100% 100%,100% 100%,100% 100%;background-position:center;background-repeat:repeat,no-repeat,no-repeat,no-repeat;box-sizing:border-box;font-family:var(--ug-font-family);font-size:var(--ug-font-size);color:var(--ug-header-color);overflow:hidden;backdrop-filter:blur(8px)}.ug-main{display:flex;flex-direction:column;flex:1;min-width:0;overflow:hidden}.ug-body{flex:1;overflow:hidden;position:relative}.ug-viewport{height:100%;width:100%;overflow:auto}.ug-ssr-container{height:100%;width:100%;overflow:hidden}.ug-status-bar{display:flex;align-items:center;padding:0 16px;min-height:48px;border-top:1px solid var(--ug-border-color);font-weight:500;font-size:13px;color:var(--ug-header-color);background-color:var(--ug-footer-bg)}.ug-cc-overlay-container{position:fixed;z-index:1002}bways-grid.ag-theme-alpine-dark{--ug-border-color: #334155;--ug-bg-color: #1e293b;--ug-header-bg: #0f172a;--ug-header-color: #e2e8f0;--ug-header-hover-bg: #1e293b;--ug-row-bg: #1e293b;--ug-row-hover-bg: #334155;--ug-row-selected-bg: #0f172a;--ug-primary-color: #60a5fa;--ug-footer-bg: #0f172a;--ug-footer-color: #94a3b8;--ug-icon-color: #94a3b8}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i3$1.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i3$1.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i3$1.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: HeaderComponent, selector: "ug-header", inputs: ["columns", "sortModel", "isAllSelected"], outputs: ["sortChanged", "columnsReordered", "columnResized", "headerCheckboxClicked", "menuClicked", "filterClicked"] }, { kind: "component", type: RowComponent, selector: "ug-row", inputs: ["columns", "row", "rowHeight", "isExpanded", "selectionVersion"], outputs: ["groupToggled"] }, { kind: "component", type: PaginationComponent, selector: "ug-pagination", inputs: ["totalCount", "pageSize", "currentPage"], outputs: ["pageChanged", "pageSizeChanged"] }, { kind: "component", type: HeaderMenuComponent, selector: "ug-header-menu", inputs: ["column", "isOpen", "position", "groupModel"], outputs: ["closeMenu", "sort", "pin", "autosize", "group", "chooseColumns"] }, { kind: "component", type: ChooseColumnsComponent, selector: "ug-choose-columns", inputs: ["columns"], outputs: ["columnsChanged", "closePanel"] }, { kind: "component", type: HeaderFilterComponent, selector: "ug-header-filter", inputs: ["column", "isOpen", "position", "uniqueValues", "activeFilterSet"], outputs: ["closeFilter", "filterApplied"] }, { kind: "component", type: SideBarComponent, selector: "ug-side-bar", inputs: ["columns", "rowData", "activeFilters", "conditionFilters", "groupModel", "valuesModel", "pivotMode", "pivotColumns", "savedReportNames", "activeTab"], outputs: ["columnsUpdated", "groupModelUpdated", "valuesModelUpdated", "pivotModeUpdated", "pivotModelUpdated", "exportExcelClicked", "filterApplied", "conditionFilterChanged", "clearAllFilters", "saveReportRequested", "importReportRequested"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
3799
3784
|
}
|
|
3800
3785
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: UltraGridComponent, decorators: [{
|
|
3801
3786
|
type: Component,
|
|
@@ -3877,7 +3862,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
3877
3862
|
</div>
|
|
3878
3863
|
|
|
3879
3864
|
<ug-side-bar
|
|
3880
|
-
*ngIf="config.sideBar"
|
|
3865
|
+
*ngIf="config.sideBar"
|
|
3881
3866
|
[columns]="columns"
|
|
3882
3867
|
[rowData]="rowData"
|
|
3883
3868
|
[activeFilters]="activeFilters"
|
|
@@ -3886,7 +3871,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
3886
3871
|
[valuesModel]="valuesModel"
|
|
3887
3872
|
[pivotMode]="!!config.pivotMode"
|
|
3888
3873
|
[pivotColumns]="pivotColumns"
|
|
3889
|
-
[savedReportNames]="savedReportNames"
|
|
3890
3874
|
(columnsUpdated)="onSideBarColumnsUpdated($event)"
|
|
3891
3875
|
(groupModelUpdated)="onSideBarGroupModelUpdated($event)"
|
|
3892
3876
|
(valuesModelUpdated)="onValuesModelUpdated($event)"
|
|
@@ -3897,7 +3881,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
3897
3881
|
(conditionFilterChanged)="onConditionFilterChanged($event)"
|
|
3898
3882
|
(clearAllFilters)="onClearAllFilters()"
|
|
3899
3883
|
(saveReportRequested)="handleSaveReport($event)"
|
|
3900
|
-
(
|
|
3884
|
+
(importReportRequested)="handleImportReport($event)">
|
|
3901
3885
|
</ug-side-bar>
|
|
3902
3886
|
|
|
3903
3887
|
</div>
|
|
@@ -3961,6 +3945,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
3961
3945
|
type: Output
|
|
3962
3946
|
}], selectionChanged: [{
|
|
3963
3947
|
type: Output
|
|
3948
|
+
}], reportSaved: [{
|
|
3949
|
+
type: Output
|
|
3964
3950
|
}], groupModel: [{
|
|
3965
3951
|
type: Input
|
|
3966
3952
|
}], valuesModel: [{
|