@clr/angular 16.5.3 → 16.5.4
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/clarity.api.md +8 -3
- package/data/datagrid/datagrid-column.d.ts +7 -3
- package/data/datagrid/render/main-renderer.d.ts +1 -0
- package/data/datagrid/render/row-renderer.d.ts +2 -1
- package/esm2020/data/datagrid/datagrid-column.mjs +17 -7
- package/esm2020/data/datagrid/render/main-renderer.mjs +18 -3
- package/esm2020/data/datagrid/render/row-renderer.mjs +6 -3
- package/fesm2015/clr-angular.mjs +52 -22
- package/fesm2015/clr-angular.mjs.map +1 -1
- package/fesm2020/clr-angular.mjs +49 -22
- package/fesm2020/clr-angular.mjs.map +1 -1
- package/package.json +2 -2
package/fesm2015/clr-angular.mjs
CHANGED
|
@@ -13467,6 +13467,19 @@ var ClrDatagridSortOrder;
|
|
|
13467
13467
|
ClrDatagridSortOrder[ClrDatagridSortOrder["DESC"] = -1] = "DESC";
|
|
13468
13468
|
})(ClrDatagridSortOrder || (ClrDatagridSortOrder = {}));
|
|
13469
13469
|
|
|
13470
|
+
/*
|
|
13471
|
+
* Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
|
|
13472
|
+
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
13473
|
+
* This software is released under MIT license.
|
|
13474
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
13475
|
+
*/
|
|
13476
|
+
// @TODO The top two are not used now, which is probably a performance drag that was broken along the way.
|
|
13477
|
+
// There was a previous pattern to hide everything to do computation then display, for Firefox, needs revisiting.
|
|
13478
|
+
const NO_LAYOUT_CLASS = 'datagrid-no-layout';
|
|
13479
|
+
const COMPUTE_WIDTH_CLASS = 'datagrid-computing-columns-width';
|
|
13480
|
+
const STRICT_WIDTH_CLASS = 'datagrid-fixed-width';
|
|
13481
|
+
const HIDDEN_COLUMN_CLASS = 'datagrid-hidden-column';
|
|
13482
|
+
|
|
13470
13483
|
/*
|
|
13471
13484
|
* Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
|
|
13472
13485
|
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
@@ -13905,15 +13918,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
13905
13918
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
13906
13919
|
*/
|
|
13907
13920
|
class ClrDatagridColumn extends DatagridFilterRegistrar {
|
|
13908
|
-
constructor(_sort, filters, vcr, detailService, changeDetectorRef) {
|
|
13921
|
+
constructor(el, _sort, filters, vcr, detailService, changeDetectorRef) {
|
|
13909
13922
|
super(filters);
|
|
13923
|
+
this.el = el;
|
|
13910
13924
|
this._sort = _sort;
|
|
13911
13925
|
this.vcr = vcr;
|
|
13912
13926
|
this.detailService = detailService;
|
|
13913
13927
|
this.changeDetectorRef = changeDetectorRef;
|
|
13914
13928
|
this.sortOrderChange = new EventEmitter();
|
|
13915
13929
|
this.filterValueChange = new EventEmitter();
|
|
13916
|
-
this.showSeparator = true;
|
|
13917
13930
|
/**
|
|
13918
13931
|
* A custom filter for this column that can be provided in the projected content
|
|
13919
13932
|
*/
|
|
@@ -13932,9 +13945,20 @@ class ClrDatagridColumn extends DatagridFilterRegistrar {
|
|
|
13932
13945
|
* Subscription to the sort service changes
|
|
13933
13946
|
*/
|
|
13934
13947
|
this.subscriptions = [];
|
|
13948
|
+
this._showSeparator = true;
|
|
13935
13949
|
this.subscriptions.push(this.listenForSortingChanges());
|
|
13936
13950
|
this.subscriptions.push(this.listenForDetailPaneChanges());
|
|
13937
13951
|
}
|
|
13952
|
+
get isHidden() {
|
|
13953
|
+
return this.el.nativeElement.classList.contains(HIDDEN_COLUMN_CLASS);
|
|
13954
|
+
}
|
|
13955
|
+
get showSeparator() {
|
|
13956
|
+
return this._showSeparator;
|
|
13957
|
+
}
|
|
13958
|
+
set showSeparator(value) {
|
|
13959
|
+
this._showSeparator = value;
|
|
13960
|
+
this.changeDetectorRef.markForCheck();
|
|
13961
|
+
}
|
|
13938
13962
|
// TODO: We might want to make this an enum in the future
|
|
13939
13963
|
get colType() {
|
|
13940
13964
|
return this._colType;
|
|
@@ -14110,8 +14134,6 @@ class ClrDatagridColumn extends DatagridFilterRegistrar {
|
|
|
14110
14134
|
return this.detailService.stateChange.subscribe(state => {
|
|
14111
14135
|
if (this.showSeparator !== !state) {
|
|
14112
14136
|
this.showSeparator = !state;
|
|
14113
|
-
// Have to manually change because of OnPush
|
|
14114
|
-
this.changeDetectorRef.markForCheck();
|
|
14115
14137
|
}
|
|
14116
14138
|
});
|
|
14117
14139
|
}
|
|
@@ -14144,7 +14166,7 @@ class ClrDatagridColumn extends DatagridFilterRegistrar {
|
|
|
14144
14166
|
}
|
|
14145
14167
|
}
|
|
14146
14168
|
}
|
|
14147
|
-
ClrDatagridColumn.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrDatagridColumn, deps: [{ token: Sort }, { token: FiltersProvider }, { token: i0.ViewContainerRef }, { token: DetailService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
14169
|
+
ClrDatagridColumn.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrDatagridColumn, deps: [{ token: i0.ElementRef }, { token: Sort }, { token: FiltersProvider }, { token: i0.ViewContainerRef }, { token: DetailService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
14148
14170
|
ClrDatagridColumn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: ClrDatagridColumn, selector: "clr-dg-column", inputs: { filterStringPlaceholder: ["clrFilterStringPlaceholder", "filterStringPlaceholder"], filterNumberMaxPlaceholder: ["clrFilterNumberMaxPlaceholder", "filterNumberMaxPlaceholder"], filterNumberMinPlaceholder: ["clrFilterNumberMinPlaceholder", "filterNumberMinPlaceholder"], colType: ["clrDgColType", "colType"], field: ["clrDgField", "field"], sortBy: ["clrDgSortBy", "sortBy"], sortOrder: ["clrDgSortOrder", "sortOrder"], updateFilterValue: ["clrFilterValue", "updateFilterValue"] }, outputs: { sortOrderChange: "clrDgSortOrderChange", filterValueChange: "clrFilterValueChange" }, host: { attributes: { "role": "columnheader" }, properties: { "class.datagrid-column": "true", "attr.aria-sort": "ariaSort" } }, queries: [{ propertyName: "projectedFilter", first: true, predicate: CustomFilter, descendants: true }], usesInheritance: true, usesOnChanges: true, hostDirectives: [{ directive: ClrPopoverHostDirective }], ngImport: i0, template: `
|
|
14149
14171
|
<div class="datagrid-column-flex">
|
|
14150
14172
|
<button class="datagrid-column-title" *ngIf="sortable" (click)="sort()" type="button">
|
|
@@ -14239,7 +14261,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
14239
14261
|
},
|
|
14240
14262
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
14241
14263
|
}]
|
|
14242
|
-
}], ctorParameters: function () { return [{ type: Sort }, { type: FiltersProvider }, { type: i0.ViewContainerRef }, { type: DetailService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { filterStringPlaceholder: [{
|
|
14264
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: Sort }, { type: FiltersProvider }, { type: i0.ViewContainerRef }, { type: DetailService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { filterStringPlaceholder: [{
|
|
14243
14265
|
type: Input,
|
|
14244
14266
|
args: ['clrFilterStringPlaceholder']
|
|
14245
14267
|
}], filterNumberMaxPlaceholder: [{
|
|
@@ -15845,19 +15867,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
15845
15867
|
type: Injectable
|
|
15846
15868
|
}], ctorParameters: function () { return [{ type: FiltersProvider }, { type: Sort }, { type: Page }, { type: StateDebouncer }]; } });
|
|
15847
15869
|
|
|
15848
|
-
/*
|
|
15849
|
-
* Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
|
|
15850
|
-
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
15851
|
-
* This software is released under MIT license.
|
|
15852
|
-
* The full license information can be found in LICENSE in the root directory of this project.
|
|
15853
|
-
*/
|
|
15854
|
-
// @TODO The top two are not used now, which is probably a performance drag that was broken along the way.
|
|
15855
|
-
// There was a previous pattern to hide everything to do computation then display, for Firefox, needs revisiting.
|
|
15856
|
-
const NO_LAYOUT_CLASS = 'datagrid-no-layout';
|
|
15857
|
-
const COMPUTE_WIDTH_CLASS = 'datagrid-computing-columns-width';
|
|
15858
|
-
const STRICT_WIDTH_CLASS = 'datagrid-fixed-width';
|
|
15859
|
-
const HIDDEN_COLUMN_CLASS = 'datagrid-hidden-column';
|
|
15860
|
-
|
|
15861
15870
|
/*
|
|
15862
15871
|
* Copyright (c) 2016-2024 Broadcom. All Rights Reserved.
|
|
15863
15872
|
* The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
|
|
@@ -15958,7 +15967,7 @@ class DatagridRowRenderer {
|
|
|
15958
15967
|
}
|
|
15959
15968
|
}
|
|
15960
15969
|
DatagridRowRenderer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DatagridRowRenderer, deps: [{ token: ColumnsService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
15961
|
-
DatagridRowRenderer.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: DatagridRowRenderer, selector: "clr-dg-row, clr-dg-row-detail", queries: [{ propertyName: "cells", predicate: DatagridCellRenderer }], ngImport: i0 });
|
|
15970
|
+
DatagridRowRenderer.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: DatagridRowRenderer, selector: "clr-dg-row, clr-dg-row-detail", queries: [{ propertyName: "expandableRow", first: true, predicate: i0.forwardRef(function () { return DatagridRowRenderer; }), descendants: true }, { propertyName: "cells", predicate: DatagridCellRenderer }], ngImport: i0 });
|
|
15962
15971
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DatagridRowRenderer, decorators: [{
|
|
15963
15972
|
type: Directive,
|
|
15964
15973
|
args: [{
|
|
@@ -15967,6 +15976,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
15967
15976
|
}], ctorParameters: function () { return [{ type: ColumnsService }]; }, propDecorators: { cells: [{
|
|
15968
15977
|
type: ContentChildren,
|
|
15969
15978
|
args: [DatagridCellRenderer]
|
|
15979
|
+
}], expandableRow: [{
|
|
15980
|
+
type: ContentChild,
|
|
15981
|
+
args: [forwardRef(() => DatagridRowRenderer)]
|
|
15970
15982
|
}] } });
|
|
15971
15983
|
|
|
15972
15984
|
/*
|
|
@@ -18325,25 +18337,32 @@ class DatagridMainRenderer {
|
|
|
18325
18337
|
case DatagridColumnChanges.WIDTH:
|
|
18326
18338
|
this.headers.get(columnIndex).setWidth(state);
|
|
18327
18339
|
this.rows.forEach(row => {
|
|
18340
|
+
var _a, _b;
|
|
18328
18341
|
if ((row === null || row === void 0 ? void 0 : row.cells.length) === this.columnsService.columns.length) {
|
|
18329
18342
|
row.cells.get(columnIndex).setWidth(state);
|
|
18343
|
+
(_b = (_a = row.expandableRow) === null || _a === void 0 ? void 0 : _a.cells.get(columnIndex)) === null || _b === void 0 ? void 0 : _b.setWidth(state);
|
|
18330
18344
|
}
|
|
18331
18345
|
});
|
|
18332
18346
|
break;
|
|
18333
18347
|
case DatagridColumnChanges.HIDDEN:
|
|
18334
18348
|
this.headers.get(columnIndex).setHidden(state);
|
|
18335
18349
|
this.rows.forEach(row => {
|
|
18350
|
+
var _a, _b;
|
|
18336
18351
|
if (row.cells && row.cells.length) {
|
|
18337
18352
|
row.cells.get(columnIndex).setHidden(state);
|
|
18353
|
+
(_b = (_a = row.expandableRow) === null || _a === void 0 ? void 0 : _a.cells.get(columnIndex)) === null || _b === void 0 ? void 0 : _b.setHidden(state);
|
|
18338
18354
|
}
|
|
18339
18355
|
});
|
|
18356
|
+
this.updateColumnSeparatorsVisibility();
|
|
18340
18357
|
this.keyNavigation.resetKeyGrid();
|
|
18341
18358
|
break;
|
|
18342
18359
|
case DatagridColumnChanges.INITIALIZE:
|
|
18343
18360
|
if (state.hideable && state.hidden) {
|
|
18344
18361
|
this.headers.get(columnIndex).setHidden(state);
|
|
18345
18362
|
this.rows.forEach(row => {
|
|
18363
|
+
var _a;
|
|
18346
18364
|
row.setCellsState();
|
|
18365
|
+
(_a = row.expandableRow) === null || _a === void 0 ? void 0 : _a.setCellsState();
|
|
18347
18366
|
});
|
|
18348
18367
|
}
|
|
18349
18368
|
break;
|
|
@@ -18378,9 +18397,20 @@ class DatagridMainRenderer {
|
|
|
18378
18397
|
return false;
|
|
18379
18398
|
}
|
|
18380
18399
|
}
|
|
18400
|
+
updateColumnSeparatorsVisibility() {
|
|
18401
|
+
const visibleColumns = this.datagrid.columns.filter(column => !column.isHidden);
|
|
18402
|
+
visibleColumns.forEach((column, index) => {
|
|
18403
|
+
if (index === visibleColumns.length - 1) {
|
|
18404
|
+
column.showSeparator = false;
|
|
18405
|
+
}
|
|
18406
|
+
else if (!column.showSeparator) {
|
|
18407
|
+
column.showSeparator = true;
|
|
18408
|
+
}
|
|
18409
|
+
});
|
|
18410
|
+
}
|
|
18381
18411
|
}
|
|
18382
18412
|
DatagridMainRenderer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DatagridMainRenderer, deps: [{ token: ClrDatagrid }, { token: DatagridRenderOrganizer }, { token: Items }, { token: Page }, { token: DomAdapter }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: DetailService }, { token: TableSizeService }, { token: ColumnsService }, { token: i0.NgZone }, { token: KeyNavigationGridController }], target: i0.ɵɵFactoryTarget.Directive });
|
|
18383
|
-
DatagridMainRenderer.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: DatagridMainRenderer, selector: "clr-datagrid", providers: [{ provide: DomAdapter, useFactory: domAdapterFactory, deps: [PLATFORM_ID] }], queries: [{ propertyName: "headers", predicate: DatagridHeaderRenderer }, { propertyName: "rows", predicate: DatagridRowRenderer
|
|
18413
|
+
DatagridMainRenderer.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: DatagridMainRenderer, selector: "clr-datagrid", providers: [{ provide: DomAdapter, useFactory: domAdapterFactory, deps: [PLATFORM_ID] }], queries: [{ propertyName: "headers", predicate: DatagridHeaderRenderer }, { propertyName: "rows", predicate: DatagridRowRenderer }], ngImport: i0 });
|
|
18384
18414
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DatagridMainRenderer, decorators: [{
|
|
18385
18415
|
type: Directive,
|
|
18386
18416
|
args: [{
|
|
@@ -18392,7 +18422,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
|
18392
18422
|
args: [DatagridHeaderRenderer]
|
|
18393
18423
|
}], rows: [{
|
|
18394
18424
|
type: ContentChildren,
|
|
18395
|
-
args: [DatagridRowRenderer
|
|
18425
|
+
args: [DatagridRowRenderer]
|
|
18396
18426
|
}] } });
|
|
18397
18427
|
|
|
18398
18428
|
/*
|