bways-grid 0.0.15 → 0.0.17
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
CHANGED
|
@@ -2255,6 +2255,7 @@ class SideBarComponent {
|
|
|
2255
2255
|
valuesModel = [];
|
|
2256
2256
|
pivotMode = false;
|
|
2257
2257
|
pivotColumns = [];
|
|
2258
|
+
toolPanels = ['columns', 'filters'];
|
|
2258
2259
|
savedReportNames = []; // Kept for backward compat but no longer used
|
|
2259
2260
|
columnsUpdated = new EventEmitter();
|
|
2260
2261
|
groupModelUpdated = new EventEmitter();
|
|
@@ -2318,8 +2319,13 @@ class SideBarComponent {
|
|
|
2318
2319
|
onPivotModelChanged(model) {
|
|
2319
2320
|
this.pivotModelUpdated.emit(model);
|
|
2320
2321
|
}
|
|
2322
|
+
isPanelVisible(panel) {
|
|
2323
|
+
if (!this.toolPanels)
|
|
2324
|
+
return true;
|
|
2325
|
+
return this.toolPanels.includes(panel);
|
|
2326
|
+
}
|
|
2321
2327
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SideBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
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: `
|
|
2328
|
+
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", toolPanels: "toolPanels", 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: `
|
|
2323
2329
|
<div class="ug-side-bar-wrapper">
|
|
2324
2330
|
<!-- Content Area -->
|
|
2325
2331
|
<div class="ug-side-bar-content" *ngIf="activeTab">
|
|
@@ -2363,14 +2369,14 @@ class SideBarComponent {
|
|
|
2363
2369
|
|
|
2364
2370
|
<!-- Toolbar / Tabs -->
|
|
2365
2371
|
<div class="ug-side-bar-toolbar">
|
|
2366
|
-
<div class="ug-side-bar-tab" [class.active]="activeTab === 'columns'" (click)="toggleTab('columns')" title="Columns">
|
|
2372
|
+
<div *ngIf="isPanelVisible('columns')" class="ug-side-bar-tab" [class.active]="activeTab === 'columns'" (click)="toggleTab('columns')" title="Columns">
|
|
2367
2373
|
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
2368
2374
|
<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect>
|
|
2369
2375
|
<line x1="9" y1="3" x2="9" y2="21"></line>
|
|
2370
2376
|
</svg>
|
|
2371
2377
|
<span>Columns</span>
|
|
2372
2378
|
</div>
|
|
2373
|
-
<div class="ug-side-bar-tab" [class.active]="activeTab === 'filters'" (click)="toggleTab('filters')" title="Filters">
|
|
2379
|
+
<div *ngIf="isPanelVisible('filters')" class="ug-side-bar-tab" [class.active]="activeTab === 'filters'" (click)="toggleTab('filters')" title="Filters">
|
|
2374
2380
|
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
2375
2381
|
<polygon points="22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"></polygon>
|
|
2376
2382
|
</svg>
|
|
@@ -2426,14 +2432,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
2426
2432
|
|
|
2427
2433
|
<!-- Toolbar / Tabs -->
|
|
2428
2434
|
<div class="ug-side-bar-toolbar">
|
|
2429
|
-
<div class="ug-side-bar-tab" [class.active]="activeTab === 'columns'" (click)="toggleTab('columns')" title="Columns">
|
|
2435
|
+
<div *ngIf="isPanelVisible('columns')" class="ug-side-bar-tab" [class.active]="activeTab === 'columns'" (click)="toggleTab('columns')" title="Columns">
|
|
2430
2436
|
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
2431
2437
|
<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect>
|
|
2432
2438
|
<line x1="9" y1="3" x2="9" y2="21"></line>
|
|
2433
2439
|
</svg>
|
|
2434
2440
|
<span>Columns</span>
|
|
2435
2441
|
</div>
|
|
2436
|
-
<div class="ug-side-bar-tab" [class.active]="activeTab === 'filters'" (click)="toggleTab('filters')" title="Filters">
|
|
2442
|
+
<div *ngIf="isPanelVisible('filters')" class="ug-side-bar-tab" [class.active]="activeTab === 'filters'" (click)="toggleTab('filters')" title="Filters">
|
|
2437
2443
|
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
2438
2444
|
<polygon points="22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"></polygon>
|
|
2439
2445
|
</svg>
|
|
@@ -2458,6 +2464,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
2458
2464
|
type: Input
|
|
2459
2465
|
}], pivotColumns: [{
|
|
2460
2466
|
type: Input
|
|
2467
|
+
}], toolPanels: [{
|
|
2468
|
+
type: Input
|
|
2461
2469
|
}], savedReportNames: [{
|
|
2462
2470
|
type: Input
|
|
2463
2471
|
}], columnsUpdated: [{
|
|
@@ -2755,6 +2763,11 @@ class UltraGridComponent {
|
|
|
2755
2763
|
activeFilters = new Map();
|
|
2756
2764
|
// Tracks condition-based filters per column
|
|
2757
2765
|
conditionFilters = new Map();
|
|
2766
|
+
/**
|
|
2767
|
+
* Input to apply filters via a JSON object or string.
|
|
2768
|
+
* Expected format: { activeFilters: Record<string, any[]>, conditionFilters: Record<string, ColumnConditionFilter> }
|
|
2769
|
+
*/
|
|
2770
|
+
filterModel;
|
|
2758
2771
|
isChooseColumnsOpen = false;
|
|
2759
2772
|
chooseColumnsPosition = { x: 0, y: 0 };
|
|
2760
2773
|
destroy$ = new Subject();
|
|
@@ -2803,8 +2816,6 @@ class UltraGridComponent {
|
|
|
2803
2816
|
if (this.sortingWorker) {
|
|
2804
2817
|
this.sortingWorker.postMessage({ action: 'INIT', rows: this._mappedRowData });
|
|
2805
2818
|
}
|
|
2806
|
-
// We do not immediately `applyLocalData()` here anymore if we have a worker,
|
|
2807
|
-
// because INIT needs to finish first. If no worker, we apply directly.
|
|
2808
2819
|
if (!this.sortingWorker) {
|
|
2809
2820
|
this.applyLocalData();
|
|
2810
2821
|
}
|
|
@@ -2812,6 +2823,13 @@ class UltraGridComponent {
|
|
|
2812
2823
|
this.ssrData = this.renderedLocalData.slice(0, 50);
|
|
2813
2824
|
}
|
|
2814
2825
|
}
|
|
2826
|
+
// If filters are changed from outside (e.g. loading a report), refresh the grid
|
|
2827
|
+
if (changes['activeFilters'] || changes['conditionFilters']) {
|
|
2828
|
+
this.applyLocalData();
|
|
2829
|
+
}
|
|
2830
|
+
if (changes['filterModel'] && this.filterModel) {
|
|
2831
|
+
this.applyImportedFilters(this.filterModel);
|
|
2832
|
+
}
|
|
2815
2833
|
}
|
|
2816
2834
|
ngOnDestroy() {
|
|
2817
2835
|
this.destroy$.next();
|
|
@@ -3628,19 +3646,29 @@ class UltraGridComponent {
|
|
|
3628
3646
|
applyImportedFilters(data) {
|
|
3629
3647
|
if (!data)
|
|
3630
3648
|
return;
|
|
3649
|
+
let parsedData = data;
|
|
3650
|
+
if (typeof data === 'string') {
|
|
3651
|
+
try {
|
|
3652
|
+
parsedData = JSON.parse(data);
|
|
3653
|
+
}
|
|
3654
|
+
catch (err) {
|
|
3655
|
+
console.error('Error parsing filter JSON string:', err);
|
|
3656
|
+
return;
|
|
3657
|
+
}
|
|
3658
|
+
}
|
|
3631
3659
|
try {
|
|
3632
3660
|
// Restore activeFilters (Record -> Map<string, Set>)
|
|
3633
3661
|
// Important: We create a NEW Map instance to trigger Output/Input change detection
|
|
3634
3662
|
const newActiveFilters = new Map();
|
|
3635
|
-
if (
|
|
3636
|
-
Object.keys(
|
|
3637
|
-
newActiveFilters.set(field, new Set(
|
|
3663
|
+
if (parsedData.activeFilters) {
|
|
3664
|
+
Object.keys(parsedData.activeFilters).forEach(field => {
|
|
3665
|
+
newActiveFilters.set(field, new Set(parsedData.activeFilters[field]));
|
|
3638
3666
|
});
|
|
3639
3667
|
}
|
|
3640
3668
|
this.activeFilters = newActiveFilters;
|
|
3641
3669
|
// Restore conditionFilters (Object -> Map)
|
|
3642
|
-
if (
|
|
3643
|
-
this.conditionFilters = new Map(Object.entries(
|
|
3670
|
+
if (parsedData.conditionFilters) {
|
|
3671
|
+
this.conditionFilters = new Map(Object.entries(parsedData.conditionFilters));
|
|
3644
3672
|
}
|
|
3645
3673
|
else {
|
|
3646
3674
|
this.conditionFilters = new Map();
|
|
@@ -3653,11 +3681,10 @@ class UltraGridComponent {
|
|
|
3653
3681
|
}
|
|
3654
3682
|
catch (err) {
|
|
3655
3683
|
console.error('Error applying imported filters:', err);
|
|
3656
|
-
alert('Error importing report. Please ensure the JSON file is valid.');
|
|
3657
3684
|
}
|
|
3658
3685
|
}
|
|
3659
3686
|
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 });
|
|
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: `
|
|
3687
|
+
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", activeFilters: "activeFilters", conditionFilters: "conditionFilters", filterModel: "filterModel" }, 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: `
|
|
3661
3688
|
<div class="ug-wrapper" [ngClass]="config.theme || 'ag-theme-alpine'">
|
|
3662
3689
|
|
|
3663
3690
|
<div class="ug-main">
|
|
@@ -3730,6 +3757,7 @@ class UltraGridComponent {
|
|
|
3730
3757
|
[rowData]="rowData"
|
|
3731
3758
|
[activeFilters]="activeFilters"
|
|
3732
3759
|
[conditionFilters]="conditionFilters"
|
|
3760
|
+
[toolPanels]="config.sideBarToolPanels"
|
|
3733
3761
|
[groupModel]="groupModel"
|
|
3734
3762
|
[valuesModel]="valuesModel"
|
|
3735
3763
|
[pivotMode]="!!config.pivotMode"
|
|
@@ -3780,7 +3808,7 @@ class UltraGridComponent {
|
|
|
3780
3808
|
(closePanel)="isChooseColumnsOpen = false">
|
|
3781
3809
|
</ug-choose-columns>
|
|
3782
3810
|
</div>
|
|
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 });
|
|
3811
|
+
`, 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", "toolPanels", "savedReportNames", "activeTab"], outputs: ["columnsUpdated", "groupModelUpdated", "valuesModelUpdated", "pivotModeUpdated", "pivotModelUpdated", "exportExcelClicked", "filterApplied", "conditionFilterChanged", "clearAllFilters", "saveReportRequested", "importReportRequested"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
3784
3812
|
}
|
|
3785
3813
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: UltraGridComponent, decorators: [{
|
|
3786
3814
|
type: Component,
|
|
@@ -3867,6 +3895,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
3867
3895
|
[rowData]="rowData"
|
|
3868
3896
|
[activeFilters]="activeFilters"
|
|
3869
3897
|
[conditionFilters]="conditionFilters"
|
|
3898
|
+
[toolPanels]="config.sideBarToolPanels"
|
|
3870
3899
|
[groupModel]="groupModel"
|
|
3871
3900
|
[valuesModel]="valuesModel"
|
|
3872
3901
|
[pivotMode]="!!config.pivotMode"
|
|
@@ -3953,6 +3982,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
3953
3982
|
type: Input
|
|
3954
3983
|
}], pivotColumns: [{
|
|
3955
3984
|
type: Input
|
|
3985
|
+
}], activeFilters: [{
|
|
3986
|
+
type: Input
|
|
3987
|
+
}], conditionFilters: [{
|
|
3988
|
+
type: Input
|
|
3989
|
+
}], filterModel: [{
|
|
3990
|
+
type: Input
|
|
3956
3991
|
}] } });
|
|
3957
3992
|
|
|
3958
3993
|
const COMPONENTS = [
|