@coreui/angular-pro 4.0.2 → 4.0.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/README.md +173 -152
- package/esm2020/lib/dropdown/dropdown/dropdown.component.mjs +9 -5
- package/esm2020/lib/multi-select/multi-select/multi-select.component.mjs +4 -1
- package/esm2020/lib/smart-table/smart-table/smart-table.component.mjs +74 -30
- package/esm2020/lib/smart-table/smart-table-filter/smart-table-filter.component.mjs +9 -6
- package/esm2020/lib/smart-table/smart-table-head/smart-table-head.component.mjs +7 -2
- package/fesm2015/coreui-angular-pro.mjs +98 -38
- package/fesm2015/coreui-angular-pro.mjs.map +1 -1
- package/fesm2020/coreui-angular-pro.mjs +98 -39
- package/fesm2020/coreui-angular-pro.mjs.map +1 -1
- package/lib/dropdown/dropdown/dropdown.component.d.ts +4 -2
- package/lib/smart-table/smart-table/smart-table.component.d.ts +11 -6
- package/lib/smart-table/smart-table-filter/smart-table-filter.component.d.ts +3 -2
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Directive, Input, NgModule, HostBinding, Injectable, Component, EventEmitter, Output, ContentChildren, HostListener, Inject, ViewChild, Optional, ContentChild, ChangeDetectionStrategy,
|
|
2
|
+
import { Directive, Input, NgModule, HostBinding, Injectable, Component, EventEmitter, Output, ContentChildren, HostListener, Inject, ViewChild, forwardRef, Optional, ContentChild, ChangeDetectionStrategy, ElementRef, PLATFORM_ID, TemplateRef, ViewContainerRef, Pipe, VERSION } from '@angular/core';
|
|
3
3
|
import * as i2 from '@angular/common';
|
|
4
4
|
import { CommonModule, DOCUMENT, isPlatformBrowser } from '@angular/common';
|
|
5
5
|
import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
|
|
@@ -2566,6 +2566,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
2566
2566
|
args: ['style']
|
|
2567
2567
|
}] } });
|
|
2568
2568
|
|
|
2569
|
+
// lightweight injection token
|
|
2570
|
+
class DropdownToken {
|
|
2571
|
+
}
|
|
2569
2572
|
class DropdownToggleDirective {
|
|
2570
2573
|
constructor(elementRef, dropdownService, dropdown) {
|
|
2571
2574
|
this.elementRef = elementRef;
|
|
@@ -2612,15 +2615,16 @@ class DropdownToggleDirective {
|
|
|
2612
2615
|
}
|
|
2613
2616
|
}
|
|
2614
2617
|
}
|
|
2615
|
-
DropdownToggleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DropdownToggleDirective, deps: [{ token: i0.ElementRef }, { token: DropdownService }, { token:
|
|
2616
|
-
DropdownToggleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: DropdownToggleDirective, selector: "[cDropdownToggle]", inputs: { dropdownComponent: "dropdownComponent", disabled: "disabled", caret: "caret", split: "split" }, host: { listeners: { "click": "onClick($event)" }, properties: { "class": "this.hostClasses" } }, exportAs: ["cDropdownToggle"], ngImport: i0 });
|
|
2618
|
+
DropdownToggleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DropdownToggleDirective, deps: [{ token: i0.ElementRef }, { token: DropdownService }, { token: DropdownToken, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2619
|
+
DropdownToggleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: DropdownToggleDirective, selector: "[cDropdownToggle]", inputs: { dropdownComponent: "dropdownComponent", disabled: "disabled", caret: "caret", split: "split" }, host: { listeners: { "click": "onClick($event)" }, properties: { "class": "this.hostClasses" } }, providers: [{ provide: DropdownToken, useExisting: forwardRef(() => DropdownComponent) }], exportAs: ["cDropdownToggle"], ngImport: i0 });
|
|
2617
2620
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DropdownToggleDirective, decorators: [{
|
|
2618
2621
|
type: Directive,
|
|
2619
2622
|
args: [{
|
|
2620
2623
|
selector: '[cDropdownToggle]',
|
|
2624
|
+
providers: [{ provide: DropdownToken, useExisting: forwardRef(() => DropdownComponent) }],
|
|
2621
2625
|
exportAs: 'cDropdownToggle'
|
|
2622
2626
|
}]
|
|
2623
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: DropdownService }, { type:
|
|
2627
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: DropdownService }, { type: DropdownToken, decorators: [{
|
|
2624
2628
|
type: Optional
|
|
2625
2629
|
}] }]; }, propDecorators: { dropdownComponent: [{
|
|
2626
2630
|
type: Input
|
|
@@ -5237,6 +5241,9 @@ class MultiSelectComponent {
|
|
|
5237
5241
|
onKeyDown($event) {
|
|
5238
5242
|
if (this.disabled)
|
|
5239
5243
|
return;
|
|
5244
|
+
// avoid setting focus to option while on input element
|
|
5245
|
+
if ($event.target === this.inputElement.nativeElement)
|
|
5246
|
+
return;
|
|
5240
5247
|
this.listKeyManager.onKeydown($event);
|
|
5241
5248
|
}
|
|
5242
5249
|
onClick($event) {
|
|
@@ -8917,14 +8924,16 @@ class SmartTableFilterComponent {
|
|
|
8917
8924
|
constructor() {
|
|
8918
8925
|
this.filterLabel = 'Filter:';
|
|
8919
8926
|
this.filterPlaceholder = 'Filter';
|
|
8920
|
-
this._value = '';
|
|
8921
8927
|
this.valueChange = new EventEmitter();
|
|
8928
|
+
this._value = '';
|
|
8929
|
+
this.eventType = '';
|
|
8922
8930
|
}
|
|
8923
8931
|
set value(value) {
|
|
8924
8932
|
if (this._value != value) {
|
|
8925
8933
|
this._value = value;
|
|
8926
|
-
this.valueChange.emit(value);
|
|
8927
8934
|
}
|
|
8935
|
+
if (this.eventType)
|
|
8936
|
+
this.valueChange.emit({ value, type: this.eventType });
|
|
8928
8937
|
}
|
|
8929
8938
|
get value() {
|
|
8930
8939
|
return this._value;
|
|
@@ -8935,15 +8944,16 @@ class SmartTableFilterComponent {
|
|
|
8935
8944
|
'mb-2': true
|
|
8936
8945
|
};
|
|
8937
8946
|
}
|
|
8938
|
-
|
|
8947
|
+
handleTableFilterChange($event) {
|
|
8948
|
+
this.eventType = $event.type;
|
|
8939
8949
|
this.value = $event.target.value;
|
|
8940
8950
|
}
|
|
8941
8951
|
}
|
|
8942
8952
|
SmartTableFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SmartTableFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8943
|
-
SmartTableFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: SmartTableFilterComponent, selector: "c-smart-table-filter", inputs: { filterLabel: "filterLabel", filterPlaceholder: "filterPlaceholder", value: "value" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: "<label cLabel=\"col\" class=\"col-sm-auto\">{{filterLabel}}</label>\r\n<div class=\"col-sm-auto\">\r\n <input
|
|
8953
|
+
SmartTableFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: SmartTableFilterComponent, selector: "c-smart-table-filter", inputs: { filterLabel: "filterLabel", filterPlaceholder: "filterPlaceholder", value: "value" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: "<label cLabel=\"col\" class=\"col-sm-auto\">{{filterLabel}}</label>\r\n<div class=\"col-sm-auto\">\r\n <input (change)=\"handleTableFilterChange($event)\"\r\n (input)=\"handleTableFilterChange($event)\"\r\n [placeholder]=\"filterPlaceholder\"\r\n [value]=\"value\"\r\n cFormControl />\r\n</div>\r\n", styles: [""], directives: [{ type: FormLabelDirective, selector: "[cLabel]", inputs: ["cLabel", "sizing"] }, { type: FormControlDirective, selector: "input[cFormControl], textarea[cFormControl]", inputs: ["sizing", "valid", "type", "plaintext"] }] });
|
|
8944
8954
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SmartTableFilterComponent, decorators: [{
|
|
8945
8955
|
type: Component,
|
|
8946
|
-
args: [{ selector: 'c-smart-table-filter', template: "<label cLabel=\"col\" class=\"col-sm-auto\">{{filterLabel}}</label>\r\n<div class=\"col-sm-auto\">\r\n <input
|
|
8956
|
+
args: [{ selector: 'c-smart-table-filter', template: "<label cLabel=\"col\" class=\"col-sm-auto\">{{filterLabel}}</label>\r\n<div class=\"col-sm-auto\">\r\n <input (change)=\"handleTableFilterChange($event)\"\r\n (input)=\"handleTableFilterChange($event)\"\r\n [placeholder]=\"filterPlaceholder\"\r\n [value]=\"value\"\r\n cFormControl />\r\n</div>\r\n", styles: [""] }]
|
|
8947
8957
|
}], ctorParameters: function () { return []; }, propDecorators: { filterLabel: [{
|
|
8948
8958
|
type: Input
|
|
8949
8959
|
}], filterPlaceholder: [{
|
|
@@ -9070,8 +9080,13 @@ class SmartTableHeadComponent {
|
|
|
9070
9080
|
handleColumnFilterValueChange($event, column) {
|
|
9071
9081
|
const columnKey = this.columnKey(column);
|
|
9072
9082
|
const columnFilterValue = $event.target.value;
|
|
9083
|
+
const eventType = $event.type;
|
|
9084
|
+
const isLazy = typeof this.columnFilter === 'object' && this.columnFilter.lazy === true;
|
|
9085
|
+
if (((isLazy && eventType === 'input') || (!isLazy && eventType === 'change')) && columnFilterValue.length !== 0) {
|
|
9086
|
+
return;
|
|
9087
|
+
}
|
|
9073
9088
|
this.columnFilterState[this.columnKey(column)] = columnFilterValue;
|
|
9074
|
-
this.columnFilterStateChange.emit({ column: columnKey, value: columnFilterValue });
|
|
9089
|
+
this.columnFilterStateChange.emit({ column: columnKey, value: columnFilterValue, type: eventType });
|
|
9075
9090
|
}
|
|
9076
9091
|
handleSelectAllChecked($event) {
|
|
9077
9092
|
const selectAll = $event.target.checked;
|
|
@@ -9338,8 +9353,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
9338
9353
|
}] } });
|
|
9339
9354
|
|
|
9340
9355
|
class SmartTableComponent {
|
|
9341
|
-
constructor(
|
|
9342
|
-
this.
|
|
9356
|
+
constructor(iterableDiffers, keyValueDiffers) {
|
|
9357
|
+
this.iterableDiffers = iterableDiffers;
|
|
9358
|
+
this.keyValueDiffers = keyValueDiffers;
|
|
9343
9359
|
this._activePage = 1;
|
|
9344
9360
|
this._cleaner = false;
|
|
9345
9361
|
this._clickableRows = false;
|
|
@@ -9371,7 +9387,10 @@ class SmartTableComponent {
|
|
|
9371
9387
|
this.tableFilterValueChange = new EventEmitter();
|
|
9372
9388
|
this.templates = { tableDetails: null, tableData: null };
|
|
9373
9389
|
this._selectedAll = false;
|
|
9374
|
-
this.
|
|
9390
|
+
this._columnFiltered = [];
|
|
9391
|
+
this.itemsDiffer = this.iterableDiffers.find(this.items).create();
|
|
9392
|
+
this.itemsFilteredDiffer = this.iterableDiffers.find(this._columnFiltered).create();
|
|
9393
|
+
this.columFilterValueDiffer = this.keyValueDiffers.find(this.columnFilterValue).create();
|
|
9375
9394
|
}
|
|
9376
9395
|
set activePage(value) {
|
|
9377
9396
|
this._activePage = coerceNumberProperty(value) || 1;
|
|
@@ -9399,9 +9418,14 @@ class SmartTableComponent {
|
|
|
9399
9418
|
return this._columns || this.rawColumnNames;
|
|
9400
9419
|
}
|
|
9401
9420
|
set columnFilterValue(value) {
|
|
9402
|
-
this.
|
|
9403
|
-
|
|
9404
|
-
|
|
9421
|
+
if (this.columFilterValueDiffer) {
|
|
9422
|
+
const changes = this.columFilterValueDiffer.diff(value);
|
|
9423
|
+
if (changes) {
|
|
9424
|
+
this._columnFilterValue = { ...value };
|
|
9425
|
+
this.columnFilterValueChange.emit({ ...this._columnFilterValue });
|
|
9426
|
+
this.tableFiltered; // emits tableFiltered change
|
|
9427
|
+
}
|
|
9428
|
+
}
|
|
9405
9429
|
}
|
|
9406
9430
|
get columnFilterValue() {
|
|
9407
9431
|
return this._columnFilterValue;
|
|
@@ -9419,7 +9443,12 @@ class SmartTableComponent {
|
|
|
9419
9443
|
return this._header;
|
|
9420
9444
|
}
|
|
9421
9445
|
set items(value) {
|
|
9422
|
-
|
|
9446
|
+
if (this.itemsDiffer) {
|
|
9447
|
+
const changes = this.itemsDiffer.diff(value);
|
|
9448
|
+
if (changes) {
|
|
9449
|
+
this._items = this.setItems(value);
|
|
9450
|
+
}
|
|
9451
|
+
}
|
|
9423
9452
|
}
|
|
9424
9453
|
get items() {
|
|
9425
9454
|
return this._items;
|
|
@@ -9450,9 +9479,11 @@ class SmartTableComponent {
|
|
|
9450
9479
|
return this._sorterValue;
|
|
9451
9480
|
}
|
|
9452
9481
|
set tableFilterValue(value) {
|
|
9453
|
-
this._tableFilterValue
|
|
9454
|
-
|
|
9455
|
-
|
|
9482
|
+
if (this._tableFilterValue !== value) {
|
|
9483
|
+
this._tableFilterValue = value;
|
|
9484
|
+
this.tableFilterValueChange.emit(value);
|
|
9485
|
+
this.tableFiltered; // emits tableFiltered change
|
|
9486
|
+
}
|
|
9456
9487
|
}
|
|
9457
9488
|
get tableFilterValue() {
|
|
9458
9489
|
return this._tableFilterValue;
|
|
@@ -9469,8 +9500,8 @@ class SmartTableComponent {
|
|
|
9469
9500
|
}
|
|
9470
9501
|
set selectedAll(value) {
|
|
9471
9502
|
const selected = this.items.filter((item) => item._selected === true);
|
|
9472
|
-
this.selectedItemsChange.emit(selected);
|
|
9473
9503
|
this._selectedAll = selected.length === 0 ? false : selected.length === this.items.length ? true : 'indeterminate';
|
|
9504
|
+
this.selectedItemsChange.emit(selected);
|
|
9474
9505
|
}
|
|
9475
9506
|
get tableFilterState() {
|
|
9476
9507
|
return this.tableFilterValue ? this.tableFilterValue : '';
|
|
@@ -9519,11 +9550,12 @@ class SmartTableComponent {
|
|
|
9519
9550
|
this.columnSorter.external)) {
|
|
9520
9551
|
return this.tableFiltered;
|
|
9521
9552
|
}
|
|
9522
|
-
//if values in column are to be sorted by numeric value they all have to be type number
|
|
9553
|
+
// if values in column are to be sorted by numeric value they all have to be type number
|
|
9523
9554
|
// const flip = sorterState.asc ? 1 : -1
|
|
9524
9555
|
const flip = this.sorterValue.state === 'asc' ? 1 : this.sorterValue.state === 'desc' ? -1 : 0;
|
|
9556
|
+
const tableFiltered = this.tableFiltered;
|
|
9525
9557
|
// @ts-ignore
|
|
9526
|
-
const sorted =
|
|
9558
|
+
const sorted = tableFiltered.slice().sort((item, item2) => {
|
|
9527
9559
|
const value = item[col];
|
|
9528
9560
|
const value2 = item2[col];
|
|
9529
9561
|
const a = typeof value === 'number' ? value : String(value).toLowerCase();
|
|
@@ -9537,6 +9569,7 @@ class SmartTableComponent {
|
|
|
9537
9569
|
if (this.columnFilter &&
|
|
9538
9570
|
typeof this.columnFilter === 'object' &&
|
|
9539
9571
|
this.columnFilter.external) {
|
|
9572
|
+
this._columnFiltered = _items;
|
|
9540
9573
|
// @ts-ignore
|
|
9541
9574
|
return _items;
|
|
9542
9575
|
}
|
|
@@ -9549,6 +9582,7 @@ class SmartTableComponent {
|
|
|
9549
9582
|
});
|
|
9550
9583
|
}
|
|
9551
9584
|
});
|
|
9585
|
+
this._columnFiltered = _items;
|
|
9552
9586
|
// @ts-ignore
|
|
9553
9587
|
return _items;
|
|
9554
9588
|
}
|
|
@@ -9556,7 +9590,12 @@ class SmartTableComponent {
|
|
|
9556
9590
|
let items = this.columnFiltered;
|
|
9557
9591
|
if (!this.tableFilterState ||
|
|
9558
9592
|
(this.tableFilter && typeof this.tableFilter === 'object' && this.tableFilter.external)) {
|
|
9559
|
-
this.
|
|
9593
|
+
if (this.itemsFilteredDiffer) {
|
|
9594
|
+
const changes = this.itemsFilteredDiffer.diff(items);
|
|
9595
|
+
if (changes) {
|
|
9596
|
+
this.filteredItemsChange.emit(items);
|
|
9597
|
+
}
|
|
9598
|
+
}
|
|
9560
9599
|
return items;
|
|
9561
9600
|
}
|
|
9562
9601
|
const filter = this.tableFilterState.toLowerCase();
|
|
@@ -9565,7 +9604,12 @@ class SmartTableComponent {
|
|
|
9565
9604
|
items = items.filter((item) => {
|
|
9566
9605
|
return !!this.itemsDataColumns.find((key) => valueContainFilter(item[key]));
|
|
9567
9606
|
});
|
|
9568
|
-
this.
|
|
9607
|
+
if (this.itemsFilteredDiffer) {
|
|
9608
|
+
const changes = this.itemsFilteredDiffer.diff(items);
|
|
9609
|
+
if (changes) {
|
|
9610
|
+
this.filteredItemsChange.emit(items);
|
|
9611
|
+
}
|
|
9612
|
+
}
|
|
9569
9613
|
return items;
|
|
9570
9614
|
}
|
|
9571
9615
|
get isFiltered() {
|
|
@@ -9626,23 +9670,18 @@ class SmartTableComponent {
|
|
|
9626
9670
|
this.activePage = $event;
|
|
9627
9671
|
}
|
|
9628
9672
|
handleColumnFilterChange($event) {
|
|
9629
|
-
const { column, value } = $event;
|
|
9630
|
-
const isLazy = this.columnFilter && typeof this.columnFilter === 'object' && this.columnFilter.lazy === true;
|
|
9631
|
-
// if ((isLazy && type === 'input') || (!isLazy && type === 'change')) {
|
|
9632
|
-
if (isLazy) {
|
|
9633
|
-
return;
|
|
9634
|
-
}
|
|
9673
|
+
const { column, value, type } = $event;
|
|
9635
9674
|
this.setActivePage(1);
|
|
9636
9675
|
this.columnFilterValue = { ...this.columnFilterValue, [`${column}`]: value };
|
|
9637
9676
|
}
|
|
9638
9677
|
handleTableFilterChange($event) {
|
|
9639
|
-
const
|
|
9640
|
-
|
|
9641
|
-
if (isLazy) {
|
|
9678
|
+
const { value, type } = $event;
|
|
9679
|
+
const isLazy = typeof this.tableFilter === 'object' && this.tableFilter?.lazy === true;
|
|
9680
|
+
if (((isLazy && type === 'input') || (!isLazy && type === 'change')) && value.length !== 0) {
|
|
9642
9681
|
return;
|
|
9643
9682
|
}
|
|
9644
9683
|
this.setActivePage(1);
|
|
9645
|
-
this.tableFilterValue =
|
|
9684
|
+
this.tableFilterValue = value;
|
|
9646
9685
|
}
|
|
9647
9686
|
clean($event) {
|
|
9648
9687
|
this.columnFilterValue = {};
|
|
@@ -9671,7 +9710,7 @@ class SmartTableComponent {
|
|
|
9671
9710
|
tableDataCellProps(item, colName) {
|
|
9672
9711
|
const props = item['_cellProps'] && {
|
|
9673
9712
|
...(item['_cellProps']['_all'] && { ...item['_cellProps']['_all'] }),
|
|
9674
|
-
...(item['_cellProps'][colName] && { ...item['_cellProps'][colName] })
|
|
9713
|
+
...(item['_cellProps'][colName] && { ...item['_cellProps'][colName] })
|
|
9675
9714
|
};
|
|
9676
9715
|
return props;
|
|
9677
9716
|
}
|
|
@@ -9691,13 +9730,33 @@ class SmartTableComponent {
|
|
|
9691
9730
|
const columnName = this.getColumnName(param.$event);
|
|
9692
9731
|
this.rowClick.emit({ item: item, index: i + this.firstItemOnActivePageIndex, columnName, event: $event });
|
|
9693
9732
|
}
|
|
9733
|
+
ngOnChanges(changes) {
|
|
9734
|
+
if (changes['columnFilterValue']) {
|
|
9735
|
+
const columnFilterValueChange = changes['columnFilterValue'];
|
|
9736
|
+
if (columnFilterValueChange.firstChange) {
|
|
9737
|
+
const currentValue = columnFilterValueChange.currentValue;
|
|
9738
|
+
if (typeof currentValue === 'object' && Object.keys(currentValue ?? {}).length) {
|
|
9739
|
+
this.setActivePage(1);
|
|
9740
|
+
}
|
|
9741
|
+
}
|
|
9742
|
+
}
|
|
9743
|
+
if (changes['tableFilterValue']) {
|
|
9744
|
+
const tableFilterValueChange = changes['tableFilterValue'];
|
|
9745
|
+
if (tableFilterValueChange.firstChange) {
|
|
9746
|
+
const currentValue = tableFilterValueChange.currentValue;
|
|
9747
|
+
if (currentValue.length) {
|
|
9748
|
+
this.setActivePage(1);
|
|
9749
|
+
}
|
|
9750
|
+
}
|
|
9751
|
+
}
|
|
9752
|
+
}
|
|
9694
9753
|
}
|
|
9695
|
-
SmartTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SmartTableComponent, deps: [{ token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Component });
|
|
9696
|
-
SmartTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: SmartTableComponent, selector: "c-smart-table", inputs: { activePage: "activePage", cleaner: "cleaner", clickableRows: "clickableRows", columns: "columns", columnFilter: "columnFilter", columnFilterValue: "columnFilterValue", columnSorter: "columnSorter", footer: "footer", header: "header", items: "items", itemsPerPage: "itemsPerPage", itemsPerPageLabel: "itemsPerPageLabel", itemsPerPageOptions: "itemsPerPageOptions", itemsPerPageSelect: "itemsPerPageSelect", loading: "loading", noItemsLabel: "noItemsLabel", pagination: "pagination", selectable: "selectable", sorterValue: "sorterValue", tableFilter: "tableFilter", tableFilterLabel: "tableFilterLabel", tableFilterPlaceholder: "tableFilterPlaceholder", tableFilterValue: "tableFilterValue", tableBodyProps: "tableBodyProps", tableFootProps: "tableFootProps", tableHeadProps: "tableHeadProps", tableProps: "tableProps" }, outputs: { selectedItemsChange: "selectedItemsChange", sorterValueChange: "sorterValueChange", activePageChange: "activePageChange", itemsPerPageChange: "itemsPerPageChange", rowClick: "rowClick", columnFilterValueChange: "columnFilterValueChange", filteredItemsChange: "filteredItemsChange", tableFilterValueChange: "tableFilterValueChange" }, queries: [{ propertyName: "columnTemplates", predicate: TemplateIdDirective }], exportAs: ["cSmartTable"], ngImport: i0, template: "<div *ngIf=\"itemsPerPageSelect || tableFilter || cleaner\" class=\"row my-2 mx-0\">\r\n <ng-template [ngIf]=\"tableFilter || cleaner\">\r\n <div class=\"col-auto p-0\">\r\n <c-smart-table-filter\r\n (valueChange)=\"handleTableFilterChange($event)\"\r\n *ngIf=\"tableFilter\"\r\n [filterLabel]=\"tableFilterLabel\"\r\n [filterPlaceholder]=\"tableFilterPlaceholder\"\r\n [value]=\"tableFilterState\"\r\n >\r\n </c-smart-table-filter>\r\n </div>\r\n <div class=\"col-auto p-0\">\r\n <button\r\n (click)=\"clean($event)\"\r\n *ngIf=\"cleaner\"\r\n [disabled]=\"!isFiltered\"\r\n [ngClass]=\"{'ms-1': tableFilter}\"\r\n [tabindex]=\"0\"\r\n cButton\r\n color=\"transparent\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"filterIconTemplate\"></ng-container>\r\n </button>\r\n </div>\r\n </ng-template>\r\n</div>\r\n<div class=\"position-relative\">\r\n <table [align]=\"tableProps?.align\"\r\n [borderColor]=\"tableProps?.borderColor\"\r\n [bordered]=\"tableProps?.bordered\"\r\n [borderless]=\"tableProps?.borderless\"\r\n [caption]=\"tableProps?.caption\"\r\n [color]=\"tableProps?.color\"\r\n [hover]=\"tableProps?.hover\"\r\n [responsive]=\"tableProps?.responsive\"\r\n [small]=\"tableProps?.small\"\r\n [striped]=\"tableProps?.striped\"\r\n [cHtmlAttr]=\"tableProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableProps?.color\"\r\n cTable\r\n >\r\n <c-smart-table-head\r\n (columnFilterStateChange)=\"handleColumnFilterChange($event)\"\r\n (selectAllChange)=\"handleSelectAllChange($event)\"\r\n (sorterStateChange)=\"handleSortChange($event)\"\r\n *ngIf=\"header\"\r\n [columnFilterState]=\"columnFilterState\"\r\n [columnFilter]=\"columnFilter\"\r\n [columns]=\"columns\"\r\n [selectAll]=\"selectedAll\"\r\n [selectable]=\"selectable\"\r\n [sorterValue]=\"sorterValue\"\r\n [cHtmlAttr]=\"tableHeadProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableHeadProps?.color\"\r\n [cAlign]=\"tableHeadProps?.align\"\r\n ></c-smart-table-head>\r\n\r\n <ng-container *ngTemplateOutlet=\"tbodyDefaultTemplate\"></ng-container>\r\n\r\n <c-smart-table-head\r\n (selectAllChange)=\"handleSelectAllChange($event)\"\r\n (sorterStateChange)=\"handleSortChange($event)\"\r\n *ngIf=\"footer\"\r\n [columns]=\"columns\"\r\n [selectAll]=\"selectedAll\"\r\n [selectable]=\"selectable\"\r\n [sorterValue]=\"sorterValue\"\r\n [cHtmlAttr]=\"tableFootProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableFootProps?.color\"\r\n [cAlign]=\"tableFootProps?.align\"\r\n component=\"tfoot\"\r\n ></c-smart-table-head>\r\n\r\n </table>\r\n <c-element-cover\r\n *ngIf=\"loading\"\r\n [boundaries]=\"[\r\n { sides: ['top'], query: 'td' },\r\n { sides: ['bottom'], query: 'tbody' }\r\n ]\"\r\n ></c-element-cover>\r\n</div>\r\n<ng-template [ngIf]=\"pagination || itemsPerPageSelect\">\r\n <div class=\"row\">\r\n <div class=\"col\">\r\n <c-smart-pagination\r\n (activePageChange)=\"setActivePage($event)\"\r\n *ngIf=\"pagination && numberOfPages > 1\"\r\n [activePage]=\"activePage\"\r\n [pages]=\"numberOfPages\">\r\n </c-smart-pagination>\r\n </div>\r\n <div class=\"col-auto ms-auto\">\r\n <c-smart-table-items-per-page-selector\r\n (itemsPerPageChange)=\"handleItemsPerPageChange($event)\"\r\n *ngIf=\"itemsPerPageSelect\"\r\n [itemsPerPageLabel]=\"itemsPerPageLabel\"\r\n [itemsPerPageOptions]=\"itemsPerPageOptions\"\r\n [itemsPerPage]=\"itemsPerPage\"\r\n >\r\n </c-smart-table-items-per-page-selector>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #tbodyDefaultTemplate>\r\n <tbody [cHtmlAttr]=\"tableBodyProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableBodyProps?.color\"\r\n [cAlign]=\"tableBodyProps?.align\"\r\n >\r\n <ng-template ngFor let-item [ngForOf]=\"currentItems\" let-cnt=\"count\" let-i=\"index\" let-isEven=\"even\" let-isOdd=\"odd\">\r\n <tr [tabindex]=\"clickableRows ? 0 : -1\"\r\n [ngStyle]=\"{cursor: clickableRows ? 'pointer' : 'auto'}\"\r\n (click)=\"handleRowClick({$event, item, i})\"\r\n [cTableActive]=\"item._props?.active\"\r\n [cTableColor]=\"item._props?.color\"\r\n [cAlign]=\"item._props?.align\"\r\n >\r\n <td *ngIf=\"selectable\"\r\n [cTableActive]=\"item?.['_cellProps']?._all?.active\"\r\n [cTableColor]=\"item?.['_cellProps']?._all?.color\"\r\n [cAlign]=\"item?.['_cellProps']?._all?.align\"\r\n >\r\n <input (change)=\"handleRowChecked($event, item)\" [checked]=\"item._selected ?? false\" cFormCheckInput>\r\n </td>\r\n <ng-template ngFor let-columnName [ngForOf]=\"rawColumnNames\" let-i=\"index\" >\r\n <ng-container *ngTemplateOutlet=\"templates['tableData'] || columnDefaultTemplate; context: {item, columnName, tdContent: item[columnName] }\"></ng-container>\r\n </ng-template>\r\n </tr>\r\n <ng-template [ngIf]=\"templates['tableDetails']\">\r\n <!-- <ng-container *ngTemplateOutlet=\"rowDetailsDefaultTemplate\"></ng-container>-->\r\n <tr><td [colSpan]=\"colspan\" class=\"p-0\" tabindex=\"-1\" [ngStyle]=\"{borderBottomWidth: 0}\"></td></tr>\r\n <tr class=\"p-0\">\r\n <td [colSpan]=\"colspan\" class=\"p-0\" [ngStyle]=\"{border: 0}\">\r\n <ng-container *ngTemplateOutlet=\"templates['tableDetails']; context: {item, index: i}\"></ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"noItemsDefaultTemplate\"></ng-container>\r\n </tbody>\r\n</ng-template>\r\n\r\n<ng-template #columnDefaultTemplate let-item=\"item\" let-columnName=\"columnName\" let-tdContent=\"tdContent\">\r\n <td\r\n [cTableActive]=\"tableDataCellProps(item, columnName)?.['active']\"\r\n [cTableColor]=\"tableDataCellProps(item, columnName)?.color\"\r\n [cAlign]=\"tableDataCellProps(item, columnName)?.align\"\r\n [ngClass]=\"tableDataCellClasses(item, columnName)\"\r\n >\r\n {{tdContent}}\r\n </td>\r\n</ng-template>\r\n\r\n<!--<ng-template #rowDetailsDefaultTemplate let-item let-index>-->\r\n<!-- <tr><td [colSpan]=\"colspan\" class=\"p-0\" tabindex=\"-1\" [ngStyle]=\"{borderBottomWidth: 0}\"></td></tr>-->\r\n<!-- <tr class=\"p-0\">-->\r\n<!-- <td [colSpan]=\"colspan\" class=\"p-0\" [ngStyle]=\"{border: 0}\">-->\r\n<!-- <ng-container *ngTemplateOutlet=\"templates?.tableDetails\"></ng-container>-->\r\n<!-- </td>-->\r\n<!-- </tr>-->\r\n<!--</ng-template>-->\r\n\r\n<ng-template #noItemsDefaultTemplate>\r\n <tr *ngIf=\"!currentItems.length\">\r\n <td [colSpan]=\"colspan\" class=\"justify-content-center\">{{noItemsLabel}}</td>\r\n </tr>\r\n</ng-template>\r\n\r\n<!--todo: filterIconCustomTemplate-->\r\n<ng-template #filterIconTemplate>\r\n <svg class=\"icon icon-custom-size\" role=\"img\" viewBox=\"0 0 512 512\" width=\"18\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <polygon class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"40 16 40 53.828 109.024 136 150.815 136 76.896 48 459.51 48 304 242.388 304 401.373 241.373 464 240 464 240 368 208 368 208 496 254.627 496 336 414.627 336 253.612 496 53.612 496 16 40 16\"></polygon>\r\n <polygon class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"166.403 248.225 226.864 187.763 204.237 165.135 143.775 225.597 83.313 165.135 60.687 187.763 121.148 248.225 60.687 308.687 83.313 331.314 143.775 270.852 204.237 331.314 226.864 308.687 166.403 248.225\"></polygon>\r\n </svg>\r\n</ng-template>\r\n", styles: [":host{display:block}\n"], components: [{ type: SmartTableFilterComponent, selector: "c-smart-table-filter", inputs: ["filterLabel", "filterPlaceholder", "value"], outputs: ["valueChange"] }, { type: SmartTableHeadComponent, selector: "c-smart-table-head", inputs: ["columnFilter", "columnFilterState", "columnSorter", "component", "columns", "selectable", "selectAll", "sorterValue"], outputs: ["columnFilterStateChange", "sorterStateChange", "selectAllChange"] }, { type: ElementCoverComponent, selector: "c-element-cover, [cElementCover]", inputs: ["boundaries", "opacity"] }, { type: SmartPaginationComponent, selector: "c-smart-pagination", inputs: ["activePage", "arrows", "doubleArrows", "dots", "limit", "pages", "firstButton", "lastButton", "nextButton", "previousButton", "align", "size", "role"], outputs: ["activePageChange"], exportAs: ["cSmartPagination"] }, { type: SmartTableItemsPerPageSelectorComponent, selector: "c-smart-table-items-per-page-selector", inputs: ["itemsPerPage", "itemsPerPageLabel", "itemsPerPageOptions"], outputs: ["itemsPerPageChange"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ButtonDirective, selector: "[cButton]", inputs: ["active", "color", "disabled", "shape", "size", "type", "variant"], exportAs: ["cButton"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: TableDirective, selector: "table[cTable]", inputs: ["align", "borderColor", "bordered", "borderless", "caption", "color", "hover", "responsive", "small", "striped"] }, { type: HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }, { type: TableColorDirective, selector: "[cTableColor]", inputs: ["cTableColor"] }, { type: AlignDirective, selector: "[cAlign]", inputs: ["cAlign"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: TableActiveDirective, selector: "[cTableActive]", inputs: ["cTableActive"] }, { type: FormCheckInputDirective, selector: "input[cFormCheckInput]", inputs: ["type", "indeterminate", "valid"] }] });
|
|
9754
|
+
SmartTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SmartTableComponent, deps: [{ token: i0.IterableDiffers }, { token: i0.KeyValueDiffers }], target: i0.ɵɵFactoryTarget.Component });
|
|
9755
|
+
SmartTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: SmartTableComponent, selector: "c-smart-table", inputs: { activePage: "activePage", cleaner: "cleaner", clickableRows: "clickableRows", columns: "columns", columnFilter: "columnFilter", columnFilterValue: "columnFilterValue", columnSorter: "columnSorter", footer: "footer", header: "header", items: "items", itemsPerPage: "itemsPerPage", itemsPerPageLabel: "itemsPerPageLabel", itemsPerPageOptions: "itemsPerPageOptions", itemsPerPageSelect: "itemsPerPageSelect", loading: "loading", noItemsLabel: "noItemsLabel", pagination: "pagination", selectable: "selectable", sorterValue: "sorterValue", tableFilter: "tableFilter", tableFilterLabel: "tableFilterLabel", tableFilterPlaceholder: "tableFilterPlaceholder", tableFilterValue: "tableFilterValue", tableBodyProps: "tableBodyProps", tableFootProps: "tableFootProps", tableHeadProps: "tableHeadProps", tableProps: "tableProps" }, outputs: { selectedItemsChange: "selectedItemsChange", sorterValueChange: "sorterValueChange", activePageChange: "activePageChange", itemsPerPageChange: "itemsPerPageChange", rowClick: "rowClick", columnFilterValueChange: "columnFilterValueChange", filteredItemsChange: "filteredItemsChange", tableFilterValueChange: "tableFilterValueChange" }, queries: [{ propertyName: "columnTemplates", predicate: TemplateIdDirective }], exportAs: ["cSmartTable"], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"itemsPerPageSelect || tableFilter || cleaner\" class=\"row my-2 mx-0\">\r\n <ng-template [ngIf]=\"tableFilter || cleaner\">\r\n <div class=\"col-auto p-0\">\r\n <c-smart-table-filter\r\n (valueChange)=\"handleTableFilterChange($event)\"\r\n *ngIf=\"tableFilter\"\r\n [filterLabel]=\"tableFilterLabel\"\r\n [filterPlaceholder]=\"tableFilterPlaceholder\"\r\n [value]=\"tableFilterState\"\r\n >\r\n </c-smart-table-filter>\r\n </div>\r\n <div class=\"col-auto p-0\">\r\n <button\r\n (click)=\"clean($event)\"\r\n *ngIf=\"cleaner\"\r\n [disabled]=\"!isFiltered\"\r\n [ngClass]=\"{'ms-1': tableFilter}\"\r\n [tabindex]=\"0\"\r\n cButton\r\n color=\"transparent\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"filterIconTemplate\"></ng-container>\r\n </button>\r\n </div>\r\n </ng-template>\r\n</div>\r\n<div class=\"position-relative\">\r\n <table [align]=\"tableProps?.align\"\r\n [borderColor]=\"tableProps?.borderColor\"\r\n [bordered]=\"tableProps?.bordered\"\r\n [borderless]=\"tableProps?.borderless\"\r\n [caption]=\"tableProps?.caption\"\r\n [color]=\"tableProps?.color\"\r\n [hover]=\"tableProps?.hover\"\r\n [responsive]=\"tableProps?.responsive\"\r\n [small]=\"tableProps?.small\"\r\n [striped]=\"tableProps?.striped\"\r\n [cHtmlAttr]=\"tableProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableProps?.color\"\r\n cTable\r\n >\r\n <c-smart-table-head\r\n (columnFilterStateChange)=\"handleColumnFilterChange($event)\"\r\n (selectAllChange)=\"handleSelectAllChange($event)\"\r\n (sorterStateChange)=\"handleSortChange($event)\"\r\n *ngIf=\"header\"\r\n [columnFilterState]=\"columnFilterState\"\r\n [columnFilter]=\"columnFilter\"\r\n [columns]=\"columns\"\r\n [selectAll]=\"selectedAll\"\r\n [selectable]=\"selectable\"\r\n [sorterValue]=\"sorterValue\"\r\n [cHtmlAttr]=\"tableHeadProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableHeadProps?.color\"\r\n [cAlign]=\"tableHeadProps?.align\"\r\n ></c-smart-table-head>\r\n\r\n <ng-container *ngTemplateOutlet=\"tbodyDefaultTemplate\"></ng-container>\r\n\r\n <c-smart-table-head\r\n (selectAllChange)=\"handleSelectAllChange($event)\"\r\n (sorterStateChange)=\"handleSortChange($event)\"\r\n *ngIf=\"footer\"\r\n [columns]=\"columns\"\r\n [selectAll]=\"selectedAll\"\r\n [selectable]=\"selectable\"\r\n [sorterValue]=\"sorterValue\"\r\n [cHtmlAttr]=\"tableFootProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableFootProps?.color\"\r\n [cAlign]=\"tableFootProps?.align\"\r\n component=\"tfoot\"\r\n ></c-smart-table-head>\r\n\r\n </table>\r\n <c-element-cover\r\n *ngIf=\"loading\"\r\n [boundaries]=\"[\r\n { sides: ['top'], query: 'td' },\r\n { sides: ['bottom'], query: 'tbody' }\r\n ]\"\r\n ></c-element-cover>\r\n</div>\r\n<ng-template [ngIf]=\"pagination || itemsPerPageSelect\">\r\n <div class=\"row\">\r\n <div class=\"col\">\r\n <c-smart-pagination\r\n (activePageChange)=\"setActivePage($event)\"\r\n *ngIf=\"pagination && numberOfPages > 1\"\r\n [activePage]=\"activePage\"\r\n [pages]=\"numberOfPages\">\r\n </c-smart-pagination>\r\n </div>\r\n <div class=\"col-auto ms-auto\">\r\n <c-smart-table-items-per-page-selector\r\n (itemsPerPageChange)=\"handleItemsPerPageChange($event)\"\r\n *ngIf=\"itemsPerPageSelect\"\r\n [itemsPerPageLabel]=\"itemsPerPageLabel\"\r\n [itemsPerPageOptions]=\"itemsPerPageOptions\"\r\n [itemsPerPage]=\"itemsPerPage\"\r\n >\r\n </c-smart-table-items-per-page-selector>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #tbodyDefaultTemplate>\r\n <tbody [cHtmlAttr]=\"tableBodyProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableBodyProps?.color\"\r\n [cAlign]=\"tableBodyProps?.align\"\r\n >\r\n <ng-template ngFor let-item [ngForOf]=\"currentItems\" let-cnt=\"count\" let-i=\"index\" let-isEven=\"even\" let-isOdd=\"odd\">\r\n <tr [tabindex]=\"clickableRows ? 0 : -1\"\r\n [ngStyle]=\"{cursor: clickableRows ? 'pointer' : 'auto'}\"\r\n (click)=\"handleRowClick({$event, item, i})\"\r\n [cTableActive]=\"item._props?.active\"\r\n [cTableColor]=\"item._props?.color\"\r\n [cAlign]=\"item._props?.align\"\r\n >\r\n <td *ngIf=\"selectable\"\r\n [cTableActive]=\"item?.['_cellProps']?._all?.active\"\r\n [cTableColor]=\"item?.['_cellProps']?._all?.color\"\r\n [cAlign]=\"item?.['_cellProps']?._all?.align\"\r\n >\r\n <input (change)=\"handleRowChecked($event, item)\" [checked]=\"item._selected ?? false\" cFormCheckInput>\r\n </td>\r\n <ng-template ngFor let-columnName [ngForOf]=\"rawColumnNames\" let-i=\"index\" >\r\n <ng-container *ngTemplateOutlet=\"templates['tableData'] || columnDefaultTemplate; context: {item, columnName, tdContent: item[columnName] }\"></ng-container>\r\n </ng-template>\r\n </tr>\r\n <ng-template [ngIf]=\"templates['tableDetails']\">\r\n <!-- <ng-container *ngTemplateOutlet=\"rowDetailsDefaultTemplate\"></ng-container>-->\r\n <tr><td [colSpan]=\"colspan\" class=\"p-0\" tabindex=\"-1\" [ngStyle]=\"{borderBottomWidth: 0}\"></td></tr>\r\n <tr class=\"p-0\">\r\n <td [colSpan]=\"colspan\" class=\"p-0\" [ngStyle]=\"{border: 0}\">\r\n <ng-container *ngTemplateOutlet=\"templates['tableDetails']; context: {item, index: i}\"></ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"noItemsDefaultTemplate\"></ng-container>\r\n </tbody>\r\n</ng-template>\r\n\r\n<ng-template #columnDefaultTemplate let-item=\"item\" let-columnName=\"columnName\" let-tdContent=\"tdContent\">\r\n <td\r\n [cTableActive]=\"tableDataCellProps(item, columnName)?.['active']\"\r\n [cTableColor]=\"tableDataCellProps(item, columnName)?.color\"\r\n [cAlign]=\"tableDataCellProps(item, columnName)?.align\"\r\n [ngClass]=\"tableDataCellClasses(item, columnName)\"\r\n >\r\n {{tdContent}}\r\n </td>\r\n</ng-template>\r\n\r\n<!--<ng-template #rowDetailsDefaultTemplate let-item let-index>-->\r\n<!-- <tr><td [colSpan]=\"colspan\" class=\"p-0\" tabindex=\"-1\" [ngStyle]=\"{borderBottomWidth: 0}\"></td></tr>-->\r\n<!-- <tr class=\"p-0\">-->\r\n<!-- <td [colSpan]=\"colspan\" class=\"p-0\" [ngStyle]=\"{border: 0}\">-->\r\n<!-- <ng-container *ngTemplateOutlet=\"templates?.tableDetails\"></ng-container>-->\r\n<!-- </td>-->\r\n<!-- </tr>-->\r\n<!--</ng-template>-->\r\n\r\n<ng-template #noItemsDefaultTemplate>\r\n <tr *ngIf=\"!currentItems.length\">\r\n <td [colSpan]=\"colspan\" class=\"justify-content-center\">{{noItemsLabel}}</td>\r\n </tr>\r\n</ng-template>\r\n\r\n<!--todo: filterIconCustomTemplate-->\r\n<ng-template #filterIconTemplate>\r\n <svg class=\"icon icon-custom-size\" role=\"img\" viewBox=\"0 0 512 512\" width=\"18\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <polygon class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"40 16 40 53.828 109.024 136 150.815 136 76.896 48 459.51 48 304 242.388 304 401.373 241.373 464 240 464 240 368 208 368 208 496 254.627 496 336 414.627 336 253.612 496 53.612 496 16 40 16\"></polygon>\r\n <polygon class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"166.403 248.225 226.864 187.763 204.237 165.135 143.775 225.597 83.313 165.135 60.687 187.763 121.148 248.225 60.687 308.687 83.313 331.314 143.775 270.852 204.237 331.314 226.864 308.687 166.403 248.225\"></polygon>\r\n </svg>\r\n</ng-template>\r\n", styles: [":host{display:block}\n"], components: [{ type: SmartTableFilterComponent, selector: "c-smart-table-filter", inputs: ["filterLabel", "filterPlaceholder", "value"], outputs: ["valueChange"] }, { type: SmartTableHeadComponent, selector: "c-smart-table-head", inputs: ["columnFilter", "columnFilterState", "columnSorter", "component", "columns", "selectable", "selectAll", "sorterValue"], outputs: ["columnFilterStateChange", "sorterStateChange", "selectAllChange"] }, { type: ElementCoverComponent, selector: "c-element-cover, [cElementCover]", inputs: ["boundaries", "opacity"] }, { type: SmartPaginationComponent, selector: "c-smart-pagination", inputs: ["activePage", "arrows", "doubleArrows", "dots", "limit", "pages", "firstButton", "lastButton", "nextButton", "previousButton", "align", "size", "role"], outputs: ["activePageChange"], exportAs: ["cSmartPagination"] }, { type: SmartTableItemsPerPageSelectorComponent, selector: "c-smart-table-items-per-page-selector", inputs: ["itemsPerPage", "itemsPerPageLabel", "itemsPerPageOptions"], outputs: ["itemsPerPageChange"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ButtonDirective, selector: "[cButton]", inputs: ["active", "color", "disabled", "shape", "size", "type", "variant"], exportAs: ["cButton"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: TableDirective, selector: "table[cTable]", inputs: ["align", "borderColor", "bordered", "borderless", "caption", "color", "hover", "responsive", "small", "striped"] }, { type: HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }, { type: TableColorDirective, selector: "[cTableColor]", inputs: ["cTableColor"] }, { type: AlignDirective, selector: "[cAlign]", inputs: ["cAlign"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: TableActiveDirective, selector: "[cTableActive]", inputs: ["cTableActive"] }, { type: FormCheckInputDirective, selector: "input[cFormCheckInput]", inputs: ["type", "indeterminate", "valid"] }] });
|
|
9697
9756
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SmartTableComponent, decorators: [{
|
|
9698
9757
|
type: Component,
|
|
9699
9758
|
args: [{ selector: 'c-smart-table', exportAs: 'cSmartTable', template: "<div *ngIf=\"itemsPerPageSelect || tableFilter || cleaner\" class=\"row my-2 mx-0\">\r\n <ng-template [ngIf]=\"tableFilter || cleaner\">\r\n <div class=\"col-auto p-0\">\r\n <c-smart-table-filter\r\n (valueChange)=\"handleTableFilterChange($event)\"\r\n *ngIf=\"tableFilter\"\r\n [filterLabel]=\"tableFilterLabel\"\r\n [filterPlaceholder]=\"tableFilterPlaceholder\"\r\n [value]=\"tableFilterState\"\r\n >\r\n </c-smart-table-filter>\r\n </div>\r\n <div class=\"col-auto p-0\">\r\n <button\r\n (click)=\"clean($event)\"\r\n *ngIf=\"cleaner\"\r\n [disabled]=\"!isFiltered\"\r\n [ngClass]=\"{'ms-1': tableFilter}\"\r\n [tabindex]=\"0\"\r\n cButton\r\n color=\"transparent\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"filterIconTemplate\"></ng-container>\r\n </button>\r\n </div>\r\n </ng-template>\r\n</div>\r\n<div class=\"position-relative\">\r\n <table [align]=\"tableProps?.align\"\r\n [borderColor]=\"tableProps?.borderColor\"\r\n [bordered]=\"tableProps?.bordered\"\r\n [borderless]=\"tableProps?.borderless\"\r\n [caption]=\"tableProps?.caption\"\r\n [color]=\"tableProps?.color\"\r\n [hover]=\"tableProps?.hover\"\r\n [responsive]=\"tableProps?.responsive\"\r\n [small]=\"tableProps?.small\"\r\n [striped]=\"tableProps?.striped\"\r\n [cHtmlAttr]=\"tableProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableProps?.color\"\r\n cTable\r\n >\r\n <c-smart-table-head\r\n (columnFilterStateChange)=\"handleColumnFilterChange($event)\"\r\n (selectAllChange)=\"handleSelectAllChange($event)\"\r\n (sorterStateChange)=\"handleSortChange($event)\"\r\n *ngIf=\"header\"\r\n [columnFilterState]=\"columnFilterState\"\r\n [columnFilter]=\"columnFilter\"\r\n [columns]=\"columns\"\r\n [selectAll]=\"selectedAll\"\r\n [selectable]=\"selectable\"\r\n [sorterValue]=\"sorterValue\"\r\n [cHtmlAttr]=\"tableHeadProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableHeadProps?.color\"\r\n [cAlign]=\"tableHeadProps?.align\"\r\n ></c-smart-table-head>\r\n\r\n <ng-container *ngTemplateOutlet=\"tbodyDefaultTemplate\"></ng-container>\r\n\r\n <c-smart-table-head\r\n (selectAllChange)=\"handleSelectAllChange($event)\"\r\n (sorterStateChange)=\"handleSortChange($event)\"\r\n *ngIf=\"footer\"\r\n [columns]=\"columns\"\r\n [selectAll]=\"selectedAll\"\r\n [selectable]=\"selectable\"\r\n [sorterValue]=\"sorterValue\"\r\n [cHtmlAttr]=\"tableFootProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableFootProps?.color\"\r\n [cAlign]=\"tableFootProps?.align\"\r\n component=\"tfoot\"\r\n ></c-smart-table-head>\r\n\r\n </table>\r\n <c-element-cover\r\n *ngIf=\"loading\"\r\n [boundaries]=\"[\r\n { sides: ['top'], query: 'td' },\r\n { sides: ['bottom'], query: 'tbody' }\r\n ]\"\r\n ></c-element-cover>\r\n</div>\r\n<ng-template [ngIf]=\"pagination || itemsPerPageSelect\">\r\n <div class=\"row\">\r\n <div class=\"col\">\r\n <c-smart-pagination\r\n (activePageChange)=\"setActivePage($event)\"\r\n *ngIf=\"pagination && numberOfPages > 1\"\r\n [activePage]=\"activePage\"\r\n [pages]=\"numberOfPages\">\r\n </c-smart-pagination>\r\n </div>\r\n <div class=\"col-auto ms-auto\">\r\n <c-smart-table-items-per-page-selector\r\n (itemsPerPageChange)=\"handleItemsPerPageChange($event)\"\r\n *ngIf=\"itemsPerPageSelect\"\r\n [itemsPerPageLabel]=\"itemsPerPageLabel\"\r\n [itemsPerPageOptions]=\"itemsPerPageOptions\"\r\n [itemsPerPage]=\"itemsPerPage\"\r\n >\r\n </c-smart-table-items-per-page-selector>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #tbodyDefaultTemplate>\r\n <tbody [cHtmlAttr]=\"tableBodyProps?.attributes ?? {}\"\r\n [cTableColor]=\"tableBodyProps?.color\"\r\n [cAlign]=\"tableBodyProps?.align\"\r\n >\r\n <ng-template ngFor let-item [ngForOf]=\"currentItems\" let-cnt=\"count\" let-i=\"index\" let-isEven=\"even\" let-isOdd=\"odd\">\r\n <tr [tabindex]=\"clickableRows ? 0 : -1\"\r\n [ngStyle]=\"{cursor: clickableRows ? 'pointer' : 'auto'}\"\r\n (click)=\"handleRowClick({$event, item, i})\"\r\n [cTableActive]=\"item._props?.active\"\r\n [cTableColor]=\"item._props?.color\"\r\n [cAlign]=\"item._props?.align\"\r\n >\r\n <td *ngIf=\"selectable\"\r\n [cTableActive]=\"item?.['_cellProps']?._all?.active\"\r\n [cTableColor]=\"item?.['_cellProps']?._all?.color\"\r\n [cAlign]=\"item?.['_cellProps']?._all?.align\"\r\n >\r\n <input (change)=\"handleRowChecked($event, item)\" [checked]=\"item._selected ?? false\" cFormCheckInput>\r\n </td>\r\n <ng-template ngFor let-columnName [ngForOf]=\"rawColumnNames\" let-i=\"index\" >\r\n <ng-container *ngTemplateOutlet=\"templates['tableData'] || columnDefaultTemplate; context: {item, columnName, tdContent: item[columnName] }\"></ng-container>\r\n </ng-template>\r\n </tr>\r\n <ng-template [ngIf]=\"templates['tableDetails']\">\r\n <!-- <ng-container *ngTemplateOutlet=\"rowDetailsDefaultTemplate\"></ng-container>-->\r\n <tr><td [colSpan]=\"colspan\" class=\"p-0\" tabindex=\"-1\" [ngStyle]=\"{borderBottomWidth: 0}\"></td></tr>\r\n <tr class=\"p-0\">\r\n <td [colSpan]=\"colspan\" class=\"p-0\" [ngStyle]=\"{border: 0}\">\r\n <ng-container *ngTemplateOutlet=\"templates['tableDetails']; context: {item, index: i}\"></ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </ng-template>\r\n <ng-container *ngTemplateOutlet=\"noItemsDefaultTemplate\"></ng-container>\r\n </tbody>\r\n</ng-template>\r\n\r\n<ng-template #columnDefaultTemplate let-item=\"item\" let-columnName=\"columnName\" let-tdContent=\"tdContent\">\r\n <td\r\n [cTableActive]=\"tableDataCellProps(item, columnName)?.['active']\"\r\n [cTableColor]=\"tableDataCellProps(item, columnName)?.color\"\r\n [cAlign]=\"tableDataCellProps(item, columnName)?.align\"\r\n [ngClass]=\"tableDataCellClasses(item, columnName)\"\r\n >\r\n {{tdContent}}\r\n </td>\r\n</ng-template>\r\n\r\n<!--<ng-template #rowDetailsDefaultTemplate let-item let-index>-->\r\n<!-- <tr><td [colSpan]=\"colspan\" class=\"p-0\" tabindex=\"-1\" [ngStyle]=\"{borderBottomWidth: 0}\"></td></tr>-->\r\n<!-- <tr class=\"p-0\">-->\r\n<!-- <td [colSpan]=\"colspan\" class=\"p-0\" [ngStyle]=\"{border: 0}\">-->\r\n<!-- <ng-container *ngTemplateOutlet=\"templates?.tableDetails\"></ng-container>-->\r\n<!-- </td>-->\r\n<!-- </tr>-->\r\n<!--</ng-template>-->\r\n\r\n<ng-template #noItemsDefaultTemplate>\r\n <tr *ngIf=\"!currentItems.length\">\r\n <td [colSpan]=\"colspan\" class=\"justify-content-center\">{{noItemsLabel}}</td>\r\n </tr>\r\n</ng-template>\r\n\r\n<!--todo: filterIconCustomTemplate-->\r\n<ng-template #filterIconTemplate>\r\n <svg class=\"icon icon-custom-size\" role=\"img\" viewBox=\"0 0 512 512\" width=\"18\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <polygon class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"40 16 40 53.828 109.024 136 150.815 136 76.896 48 459.51 48 304 242.388 304 401.373 241.373 464 240 464 240 368 208 368 208 496 254.627 496 336 414.627 336 253.612 496 53.612 496 16 40 16\"></polygon>\r\n <polygon class=\"ci-primary\"\r\n fill=\"var(--ci-primary-color, currentColor)\"\r\n points=\"166.403 248.225 226.864 187.763 204.237 165.135 143.775 225.597 83.313 165.135 60.687 187.763 121.148 248.225 60.687 308.687 83.313 331.314 143.775 270.852 204.237 331.314 226.864 308.687 166.403 248.225\"></polygon>\r\n </svg>\r\n</ng-template>\r\n", styles: [":host{display:block}\n"] }]
|
|
9700
|
-
}], ctorParameters: function () { return [{ type: i0.IterableDiffers }]; }, propDecorators: { activePage: [{
|
|
9759
|
+
}], ctorParameters: function () { return [{ type: i0.IterableDiffers }, { type: i0.KeyValueDiffers }]; }, propDecorators: { activePage: [{
|
|
9701
9760
|
type: Input
|
|
9702
9761
|
}], cleaner: [{
|
|
9703
9762
|
type: Input
|