primeng 11.1.0 → 11.2.3
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 +1 -0
- package/api/confirmaeventtype.d.ts +5 -0
- package/api/filtermatchmode.d.ts +4 -0
- package/api/filterservice.d.ts +4 -0
- package/api/primeng-api.metadata.json +1 -1
- package/api/public_api.d.ts +1 -0
- package/api/translation.d.ts +4 -0
- package/autocomplete/autocomplete.d.ts +8 -1
- package/autocomplete/primeng-autocomplete.metadata.json +1 -1
- package/avatar/primeng-avatar.metadata.json +1 -1
- package/bundles/primeng-api.umd.js +56 -6
- package/bundles/primeng-api.umd.js.map +1 -1
- package/bundles/primeng-api.umd.min.js +1 -1
- package/bundles/primeng-api.umd.min.js.map +1 -1
- package/bundles/primeng-autocomplete.umd.js +86 -17
- package/bundles/primeng-autocomplete.umd.js.map +1 -1
- package/bundles/primeng-autocomplete.umd.min.js +1 -1
- package/bundles/primeng-autocomplete.umd.min.js.map +1 -1
- package/bundles/primeng-avatar.umd.js +1 -1
- package/bundles/primeng-avatar.umd.min.js +1 -1
- package/bundles/primeng-avatar.umd.min.js.map +1 -1
- package/bundles/primeng-calendar.umd.js +6 -0
- package/bundles/primeng-calendar.umd.js.map +1 -1
- package/bundles/primeng-calendar.umd.min.js +1 -1
- package/bundles/primeng-calendar.umd.min.js.map +1 -1
- package/bundles/primeng-cascadeselect.umd.js +8 -5
- package/bundles/primeng-cascadeselect.umd.js.map +1 -1
- package/bundles/primeng-cascadeselect.umd.min.js +2 -2
- package/bundles/primeng-cascadeselect.umd.min.js.map +1 -1
- package/bundles/primeng-colorpicker.umd.js.map +1 -1
- package/bundles/primeng-colorpicker.umd.min.js.map +1 -1
- package/bundles/primeng-confirmdialog.umd.js +11 -8
- package/bundles/primeng-confirmdialog.umd.js.map +1 -1
- package/bundles/primeng-confirmdialog.umd.min.js +1 -1
- package/bundles/primeng-confirmdialog.umd.min.js.map +1 -1
- package/bundles/primeng-contextmenu.umd.js +2 -2
- package/bundles/primeng-contextmenu.umd.js.map +1 -1
- package/bundles/primeng-contextmenu.umd.min.js +1 -1
- package/bundles/primeng-contextmenu.umd.min.js.map +1 -1
- package/bundles/primeng-dialog.umd.js +1 -1
- package/bundles/primeng-dialog.umd.min.js +1 -1
- package/bundles/primeng-dialog.umd.min.js.map +1 -1
- package/bundles/primeng-dom.umd.js +3 -0
- package/bundles/primeng-dom.umd.js.map +1 -1
- package/bundles/primeng-dom.umd.min.js +1 -1
- package/bundles/primeng-dom.umd.min.js.map +1 -1
- package/bundles/primeng-dropdown.umd.js +1 -1
- package/bundles/primeng-dropdown.umd.js.map +1 -1
- package/bundles/primeng-dropdown.umd.min.js +1 -1
- package/bundles/primeng-dropdown.umd.min.js.map +1 -1
- package/bundles/primeng-dynamicdialog.umd.js +1 -1
- package/bundles/primeng-dynamicdialog.umd.min.js +1 -1
- package/bundles/primeng-dynamicdialog.umd.min.js.map +1 -1
- package/bundles/primeng-inputmask.umd.js +5 -2
- package/bundles/primeng-inputmask.umd.js.map +1 -1
- package/bundles/primeng-inputmask.umd.min.js +1 -1
- package/bundles/primeng-inputmask.umd.min.js.map +1 -1
- package/bundles/primeng-inputnumber.umd.js +16 -2
- package/bundles/primeng-inputnumber.umd.js.map +1 -1
- package/bundles/primeng-inputnumber.umd.min.js +1 -1
- package/bundles/primeng-inputnumber.umd.min.js.map +1 -1
- package/bundles/primeng-knob.umd.js +1 -1
- package/bundles/primeng-knob.umd.js.map +1 -1
- package/bundles/primeng-knob.umd.min.js +1 -1
- package/bundles/primeng-knob.umd.min.js.map +1 -1
- package/bundles/primeng-lightbox.umd.js +1 -1
- package/bundles/primeng-lightbox.umd.min.js +1 -1
- package/bundles/primeng-lightbox.umd.min.js.map +1 -1
- package/bundles/primeng-listbox.umd.js +133 -34
- package/bundles/primeng-listbox.umd.js.map +1 -1
- package/bundles/primeng-listbox.umd.min.js +1 -1
- package/bundles/primeng-listbox.umd.min.js.map +1 -1
- package/bundles/primeng-multiselect.umd.js +146 -32
- package/bundles/primeng-multiselect.umd.js.map +1 -1
- package/bundles/primeng-multiselect.umd.min.js +2 -2
- package/bundles/primeng-multiselect.umd.min.js.map +1 -1
- package/bundles/primeng-sidebar.umd.js.map +1 -1
- package/bundles/primeng-sidebar.umd.min.js.map +1 -1
- package/bundles/primeng-slider.umd.js +1 -0
- package/bundles/primeng-slider.umd.js.map +1 -1
- package/bundles/primeng-slider.umd.min.js +1 -1
- package/bundles/primeng-slider.umd.min.js.map +1 -1
- package/bundles/primeng-table.umd.js +117 -16
- package/bundles/primeng-table.umd.js.map +1 -1
- package/bundles/primeng-table.umd.min.js +1 -1
- package/bundles/primeng-table.umd.min.js.map +1 -1
- package/bundles/primeng-tabview.umd.js +25 -3
- package/bundles/primeng-tabview.umd.js.map +1 -1
- package/bundles/primeng-tabview.umd.min.js +1 -1
- package/bundles/primeng-tabview.umd.min.js.map +1 -1
- package/bundles/primeng-treetable.umd.js +1 -1
- package/bundles/primeng-treetable.umd.js.map +1 -1
- package/bundles/primeng-treetable.umd.min.js +1 -1
- package/bundles/primeng-treetable.umd.min.js.map +1 -1
- package/bundles/primeng-virtualscroller.umd.js +3 -2
- package/bundles/primeng-virtualscroller.umd.js.map +1 -1
- package/bundles/primeng-virtualscroller.umd.min.js +1 -1
- package/bundles/primeng-virtualscroller.umd.min.js.map +1 -1
- package/calendar/primeng-calendar.metadata.json +1 -1
- package/cascadeselect/cascadeselect.d.ts +3 -3
- package/cascadeselect/primeng-cascadeselect.metadata.json +1 -1
- package/colorpicker/colorpicker.d.ts +1 -1
- package/confirmdialog/confirmdialog.d.ts +3 -2
- package/confirmdialog/primeng-confirmdialog.metadata.json +1 -1
- package/dialog/primeng-dialog.metadata.json +1 -1
- package/dom/primeng-dom.metadata.json +1 -1
- package/dropdown/primeng-dropdown.metadata.json +1 -1
- package/dynamicdialog/primeng-dynamicdialog.metadata.json +1 -1
- package/esm2015/api/confirmaeventtype.js +7 -0
- package/esm2015/api/filtermatchmode.js +5 -1
- package/esm2015/api/filterservice.js +39 -3
- package/esm2015/api/primengconfig.js +9 -5
- package/esm2015/api/public_api.js +2 -1
- package/esm2015/api/translation.js +1 -1
- package/esm2015/autocomplete/autocomplete.js +105 -22
- package/esm2015/avatar/avatar.js +1 -1
- package/esm2015/calendar/calendar.js +7 -1
- package/esm2015/cascadeselect/cascadeselect.js +9 -6
- package/esm2015/colorpicker/colorpicker.js +1 -1
- package/esm2015/confirmdialog/confirmdialog.js +14 -11
- package/esm2015/contextmenu/contextmenu.js +3 -3
- package/esm2015/dialog/dialog.js +1 -1
- package/esm2015/dom/domhandler.js +4 -1
- package/esm2015/dropdown/dropdown.js +2 -2
- package/esm2015/dynamicdialog/dynamicdialog.js +1 -1
- package/esm2015/inputmask/inputmask.js +6 -3
- package/esm2015/inputnumber/inputnumber.js +13 -3
- package/esm2015/knob/knob.js +2 -2
- package/esm2015/lightbox/lightbox.js +1 -1
- package/esm2015/listbox/listbox.js +134 -42
- package/esm2015/multiselect/multiselect.js +149 -42
- package/esm2015/sidebar/sidebar.js +1 -1
- package/esm2015/slider/slider.js +2 -1
- package/esm2015/table/table.js +127 -17
- package/esm2015/tabview/tabview.js +18 -4
- package/esm2015/treetable/treetable.js +2 -2
- package/esm2015/virtualscroller/virtualscroller.js +4 -3
- package/fesm2015/primeng-api.js +58 -7
- package/fesm2015/primeng-api.js.map +1 -1
- package/fesm2015/primeng-autocomplete.js +104 -21
- package/fesm2015/primeng-autocomplete.js.map +1 -1
- package/fesm2015/primeng-avatar.js +1 -1
- package/fesm2015/primeng-calendar.js +6 -0
- package/fesm2015/primeng-calendar.js.map +1 -1
- package/fesm2015/primeng-cascadeselect.js +8 -5
- package/fesm2015/primeng-cascadeselect.js.map +1 -1
- package/fesm2015/primeng-colorpicker.js.map +1 -1
- package/fesm2015/primeng-confirmdialog.js +13 -10
- package/fesm2015/primeng-confirmdialog.js.map +1 -1
- package/fesm2015/primeng-contextmenu.js +2 -2
- package/fesm2015/primeng-contextmenu.js.map +1 -1
- package/fesm2015/primeng-dialog.js +1 -1
- package/fesm2015/primeng-dom.js +3 -0
- package/fesm2015/primeng-dom.js.map +1 -1
- package/fesm2015/primeng-dropdown.js +1 -1
- package/fesm2015/primeng-dropdown.js.map +1 -1
- package/fesm2015/primeng-dynamicdialog.js +1 -1
- package/fesm2015/primeng-inputmask.js +5 -2
- package/fesm2015/primeng-inputmask.js.map +1 -1
- package/fesm2015/primeng-inputnumber.js +12 -2
- package/fesm2015/primeng-inputnumber.js.map +1 -1
- package/fesm2015/primeng-knob.js +1 -1
- package/fesm2015/primeng-knob.js.map +1 -1
- package/fesm2015/primeng-lightbox.js +1 -1
- package/fesm2015/primeng-listbox.js +133 -41
- package/fesm2015/primeng-listbox.js.map +1 -1
- package/fesm2015/primeng-multiselect.js +148 -41
- package/fesm2015/primeng-multiselect.js.map +1 -1
- package/fesm2015/primeng-sidebar.js.map +1 -1
- package/fesm2015/primeng-slider.js +1 -0
- package/fesm2015/primeng-slider.js.map +1 -1
- package/fesm2015/primeng-table.js +126 -16
- package/fesm2015/primeng-table.js.map +1 -1
- package/fesm2015/primeng-tabview.js +17 -3
- package/fesm2015/primeng-tabview.js.map +1 -1
- package/fesm2015/primeng-treetable.js +1 -1
- package/fesm2015/primeng-treetable.js.map +1 -1
- package/fesm2015/primeng-virtualscroller.js +3 -2
- package/fesm2015/primeng-virtualscroller.js.map +1 -1
- package/inputmask/inputmask.d.ts +2 -1
- package/inputmask/primeng-inputmask.metadata.json +1 -1
- package/inputnumber/inputnumber.d.ts +3 -1
- package/inputnumber/primeng-inputnumber.metadata.json +1 -1
- package/knob/primeng-knob.metadata.json +1 -1
- package/lightbox/primeng-lightbox.metadata.json +1 -1
- package/listbox/listbox.d.ts +7 -1
- package/listbox/primeng-listbox.metadata.json +1 -1
- package/multiselect/multiselect.d.ts +8 -1
- package/multiselect/primeng-multiselect.metadata.json +1 -1
- package/package.json +1 -1
- package/resources/components/avatar/avatar.css +3 -2
- package/resources/components/dialog/dialog.css +2 -0
- package/resources/components/virtualscroller/virtualscroller.css +2 -16
- package/resources/themes/arya-blue/theme.css +26 -38
- package/resources/themes/arya-green/theme.css +26 -38
- package/resources/themes/arya-orange/theme.css +26 -38
- package/resources/themes/arya-purple/theme.css +26 -38
- package/resources/themes/bootstrap4-dark-blue/theme.css +26 -38
- package/resources/themes/bootstrap4-dark-purple/theme.css +26 -38
- package/resources/themes/bootstrap4-light-blue/theme.css +26 -38
- package/resources/themes/bootstrap4-light-purple/theme.css +26 -38
- package/resources/themes/fluent-light/theme.css +26 -38
- package/resources/themes/luna-amber/theme.css +26 -38
- package/resources/themes/luna-blue/theme.css +26 -38
- package/resources/themes/luna-green/theme.css +26 -38
- package/resources/themes/luna-pink/theme.css +26 -38
- package/resources/themes/md-dark-deeppurple/theme.css +89 -69
- package/resources/themes/md-dark-indigo/theme.css +89 -69
- package/resources/themes/md-light-deeppurple/theme.css +293 -273
- package/resources/themes/md-light-indigo/theme.css +293 -273
- package/resources/themes/mdc-dark-deeppurple/theme.css +89 -69
- package/resources/themes/mdc-dark-indigo/theme.css +89 -69
- package/resources/themes/mdc-light-deeppurple/theme.css +293 -273
- package/resources/themes/mdc-light-indigo/theme.css +293 -273
- package/resources/themes/nova/theme.css +26 -38
- package/resources/themes/nova-accent/theme.css +26 -38
- package/resources/themes/nova-alt/theme.css +26 -38
- package/resources/themes/rhea/theme.css +26 -38
- package/resources/themes/saga-blue/theme.css +26 -38
- package/resources/themes/saga-green/theme.css +26 -38
- package/resources/themes/saga-orange/theme.css +26 -38
- package/resources/themes/saga-purple/theme.css +26 -38
- package/resources/themes/vela-blue/theme.css +26 -38
- package/resources/themes/vela-green/theme.css +26 -38
- package/resources/themes/vela-orange/theme.css +26 -38
- package/resources/themes/vela-purple/theme.css +26 -38
- package/sidebar/sidebar.d.ts +1 -1
- package/slider/primeng-slider.metadata.json +1 -1
- package/table/primeng-table.metadata.json +1 -1
- package/table/table.d.ts +12 -0
- package/tabview/primeng-tabview.metadata.json +1 -1
- package/tabview/tabview.d.ts +6 -2
- package/treetable/primeng-treetable.metadata.json +1 -1
- package/virtualscroller/primeng-virtualscroller.metadata.json +1 -1
@@ -321,12 +321,14 @@
|
|
321
321
|
this.valueSource = new rxjs.Subject();
|
322
322
|
this.totalRecordsSource = new rxjs.Subject();
|
323
323
|
this.columnsSource = new rxjs.Subject();
|
324
|
+
this.resetSource = new rxjs.Subject();
|
324
325
|
this.sortSource$ = this.sortSource.asObservable();
|
325
326
|
this.selectionSource$ = this.selectionSource.asObservable();
|
326
327
|
this.contextMenuSource$ = this.contextMenuSource.asObservable();
|
327
328
|
this.valueSource$ = this.valueSource.asObservable();
|
328
329
|
this.totalRecordsSource$ = this.totalRecordsSource.asObservable();
|
329
330
|
this.columnsSource$ = this.columnsSource.asObservable();
|
331
|
+
this.resetSource$ = this.resetSource.asObservable();
|
330
332
|
}
|
331
333
|
TableService.prototype.onSort = function (sortMeta) {
|
332
334
|
this.sortSource.next(sortMeta);
|
@@ -334,6 +336,9 @@
|
|
334
336
|
TableService.prototype.onSelectionChange = function () {
|
335
337
|
this.selectionSource.next();
|
336
338
|
};
|
339
|
+
TableService.prototype.onResetChange = function () {
|
340
|
+
this.resetSource.next();
|
341
|
+
};
|
337
342
|
TableService.prototype.onContextMenu = function (data) {
|
338
343
|
this.contextMenuSource.next(data);
|
339
344
|
};
|
@@ -470,6 +475,9 @@
|
|
470
475
|
case 'frozencolgroup':
|
471
476
|
_this.frozenColGroupTemplate = item.template;
|
472
477
|
break;
|
478
|
+
case 'frozenrowexpansion':
|
479
|
+
_this.frozenExpandedRowTemplate = item.template;
|
480
|
+
break;
|
473
481
|
case 'emptymessage':
|
474
482
|
_this.emptyMessageTemplate = item.template;
|
475
483
|
break;
|
@@ -534,7 +542,7 @@
|
|
534
542
|
}
|
535
543
|
if (simpleChange.multiSortMeta) {
|
536
544
|
this._multiSortMeta = simpleChange.multiSortMeta.currentValue;
|
537
|
-
if (this.sortMode === 'multiple') {
|
545
|
+
if (this.sortMode === 'multiple' && (this.initialized || (!this.lazy && !this.virtualScroll))) {
|
538
546
|
this.sortMultiple();
|
539
547
|
}
|
540
548
|
}
|
@@ -688,7 +696,6 @@
|
|
688
696
|
if (this.sortMode === 'single') {
|
689
697
|
this._sortOrder = (this.sortField === event.field) ? this.sortOrder * -1 : this.defaultSortOrder;
|
690
698
|
this._sortField = event.field;
|
691
|
-
this.sortSingle();
|
692
699
|
if (this.resetPageOnSort) {
|
693
700
|
this._first = 0;
|
694
701
|
this.firstChange.emit(this._first);
|
@@ -696,6 +703,7 @@
|
|
696
703
|
this.resetScrollTop();
|
697
704
|
}
|
698
705
|
}
|
706
|
+
this.sortSingle();
|
699
707
|
}
|
700
708
|
if (this.sortMode === 'multiple') {
|
701
709
|
var metaKey = originalEvent.metaKey || originalEvent.ctrlKey;
|
@@ -937,7 +945,7 @@
|
|
937
945
|
this._selection = null;
|
938
946
|
this.selectionKeys = {};
|
939
947
|
this.selectionChange.emit(this.selection);
|
940
|
-
this.onRowUnselect.emit({ originalEvent: event.originalEvent, data: rowData, type: 'row' });
|
948
|
+
this.onRowUnselect.emit({ originalEvent: event.originalEvent, data: rowData, type: 'row', index: event.rowIndex });
|
941
949
|
}
|
942
950
|
else {
|
943
951
|
this._selection = rowData;
|
@@ -954,7 +962,7 @@
|
|
954
962
|
var selectionIndex_2 = this.findIndexInSelection(rowData);
|
955
963
|
this._selection = this.selection.filter(function (val, i) { return i != selectionIndex_2; });
|
956
964
|
this.selectionChange.emit(this.selection);
|
957
|
-
this.onRowUnselect.emit({ originalEvent: event.originalEvent, data: rowData, type: 'row' });
|
965
|
+
this.onRowUnselect.emit({ originalEvent: event.originalEvent, data: rowData, type: 'row', index: event.rowIndex });
|
958
966
|
if (dataKeyValue) {
|
959
967
|
delete this.selectionKeys[dataKeyValue];
|
960
968
|
}
|
@@ -998,15 +1006,20 @@
|
|
998
1006
|
if (this.isSingleSelectionMode()) {
|
999
1007
|
this.selection = rowData;
|
1000
1008
|
this.selectionChange.emit(rowData);
|
1009
|
+
if (dataKeyValue) {
|
1010
|
+
this.selectionKeys = {};
|
1011
|
+
this.selectionKeys[dataKeyValue] = 1;
|
1012
|
+
}
|
1001
1013
|
}
|
1002
1014
|
else if (this.isMultipleSelectionMode()) {
|
1003
|
-
this.
|
1015
|
+
this._selection = this.selection ? __spread(this.selection, [rowData]) : [rowData];
|
1004
1016
|
this.selectionChange.emit(this.selection);
|
1005
|
-
|
1006
|
-
|
1007
|
-
|
1017
|
+
if (dataKeyValue) {
|
1018
|
+
this.selectionKeys[dataKeyValue] = 1;
|
1019
|
+
}
|
1008
1020
|
}
|
1009
1021
|
}
|
1022
|
+
this.tableService.onSelectionChange();
|
1010
1023
|
this.contextMenu.show(event.originalEvent);
|
1011
1024
|
this.onContextMenuSelect.emit({ originalEvent: event, data: rowData, index: event.rowIndex });
|
1012
1025
|
}
|
@@ -1042,8 +1055,8 @@
|
|
1042
1055
|
}
|
1043
1056
|
}
|
1044
1057
|
}
|
1045
|
-
this.onRowSelect.emit({ originalEvent: event, data: rangeRowsData, type: 'row' });
|
1046
1058
|
this.selectionChange.emit(this.selection);
|
1059
|
+
this.onRowSelect.emit({ originalEvent: event, data: rangeRowsData, type: 'row' });
|
1047
1060
|
};
|
1048
1061
|
Table.prototype.clearSelectionRange = function (event) {
|
1049
1062
|
var rangeStart, rangeEnd;
|
@@ -1333,7 +1346,7 @@
|
|
1333
1346
|
this._multiSortMeta = null;
|
1334
1347
|
this.tableService.onSort(null);
|
1335
1348
|
this.filteredValue = null;
|
1336
|
-
this.
|
1349
|
+
this.tableService.onResetChange();
|
1337
1350
|
this.first = 0;
|
1338
1351
|
this.firstChange.emit(this.first);
|
1339
1352
|
if (this.lazy) {
|
@@ -2143,7 +2156,7 @@
|
|
2143
2156
|
TableBody.decorators = [
|
2144
2157
|
{ type: core.Component, args: [{
|
2145
2158
|
selector: '[pTableBody]',
|
2146
|
-
template: "\n <ng-container *ngIf=\"!dt.expandedRowTemplate && !dt.virtualScroll\">\n <ng-template ngFor let-rowData let-rowIndex=\"index\" [ngForOf]=\"(dt.paginator && !dt.lazy) ? ((dt.filteredValue||dt.value) | slice:dt.first:(dt.first + dt.rows)) : (dt.filteredValue||dt.value)\" [ngForTrackBy]=\"dt.rowTrackBy\">\n <ng-container *ngTemplateOutlet=\"template; context: {$implicit: rowData, rowIndex: dt.paginator ? (dt.first + rowIndex) : rowIndex, columns: columns, editing: (dt.editMode === 'row' && dt.isRowEditing(rowData))}\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!dt.expandedRowTemplate && dt.virtualScroll\">\n <ng-template cdkVirtualFor let-rowData let-rowIndex=\"index\" [cdkVirtualForOf]=\"dt.filteredValue||dt.value\" [cdkVirtualForTrackBy]=\"dt.rowTrackBy\" [cdkVirtualForTemplateCacheSize]=\"0\">\n <ng-container *ngTemplateOutlet=\"rowData ? template: dt.loadingBodyTemplate; context: {$implicit: rowData, rowIndex: dt.paginator ? (dt.first + rowIndex) : rowIndex, columns: columns, editing: (dt.editMode === 'row' && dt.isRowEditing(rowData))}\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"dt.expandedRowTemplate\">\n <ng-template ngFor let-rowData let-rowIndex=\"index\" [ngForOf]=\"(dt.paginator && !dt.lazy) ? ((dt.filteredValue||dt.value) | slice:dt.first:(dt.first + dt.rows)) : (dt.filteredValue||dt.value)\" [ngForTrackBy]=\"dt.rowTrackBy\">\n <ng-container *ngTemplateOutlet=\"template; context: {$implicit: rowData, rowIndex: dt.paginator ? (dt.first + rowIndex) : rowIndex, columns: columns, expanded: dt.isRowExpanded(rowData), editing: (dt.editMode === 'row' && dt.isRowEditing(rowData))}\"></ng-container>\n <ng-container *ngIf=\"dt.isRowExpanded(rowData)\">\n <ng-container *ngTemplateOutlet=\"dt.expandedRowTemplate; context: {$implicit: rowData, rowIndex: dt.paginator ? (dt.first + rowIndex) : rowIndex, columns: columns}\"></ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"dt.loading\">\n <ng-container *ngTemplateOutlet=\"dt.loadingBodyTemplate; context: {$implicit: columns, frozen: frozen}\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"dt.isEmpty() && !dt.loading\">\n <ng-container *ngTemplateOutlet=\"dt.emptyMessageTemplate; context: {$implicit: columns, frozen: frozen}\"></ng-container>\n </ng-container>\n ",
|
2159
|
+
template: "\n <ng-container *ngIf=\"!dt.expandedRowTemplate && !dt.virtualScroll\">\n <ng-template ngFor let-rowData let-rowIndex=\"index\" [ngForOf]=\"(dt.paginator && !dt.lazy) ? ((dt.filteredValue||dt.value) | slice:dt.first:(dt.first + dt.rows)) : (dt.filteredValue||dt.value)\" [ngForTrackBy]=\"dt.rowTrackBy\">\n <ng-container *ngTemplateOutlet=\"template; context: {$implicit: rowData, rowIndex: dt.paginator ? (dt.first + rowIndex) : rowIndex, columns: columns, editing: (dt.editMode === 'row' && dt.isRowEditing(rowData))}\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!dt.expandedRowTemplate && dt.virtualScroll\">\n <ng-template cdkVirtualFor let-rowData let-rowIndex=\"index\" [cdkVirtualForOf]=\"dt.filteredValue||dt.value\" [cdkVirtualForTrackBy]=\"dt.rowTrackBy\" [cdkVirtualForTemplateCacheSize]=\"0\">\n <ng-container *ngTemplateOutlet=\"rowData ? template: dt.loadingBodyTemplate; context: {$implicit: rowData, rowIndex: dt.paginator ? (dt.first + rowIndex) : rowIndex, columns: columns, editing: (dt.editMode === 'row' && dt.isRowEditing(rowData))}\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"dt.expandedRowTemplate && !(frozen && dt.frozenExpandedRowTemplate)\">\n <ng-template ngFor let-rowData let-rowIndex=\"index\" [ngForOf]=\"(dt.paginator && !dt.lazy) ? ((dt.filteredValue||dt.value) | slice:dt.first:(dt.first + dt.rows)) : (dt.filteredValue||dt.value)\" [ngForTrackBy]=\"dt.rowTrackBy\">\n <ng-container *ngTemplateOutlet=\"template; context: {$implicit: rowData, rowIndex: dt.paginator ? (dt.first + rowIndex) : rowIndex, columns: columns, expanded: dt.isRowExpanded(rowData), editing: (dt.editMode === 'row' && dt.isRowEditing(rowData))}\"></ng-container>\n <ng-container *ngIf=\"dt.isRowExpanded(rowData)\">\n <ng-container *ngTemplateOutlet=\"dt.expandedRowTemplate; context: {$implicit: rowData, rowIndex: dt.paginator ? (dt.first + rowIndex) : rowIndex, columns: columns}\"></ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"dt.frozenExpandedRowTemplate && frozen\">\n <ng-template ngFor let-rowData let-rowIndex=\"index\" [ngForOf]=\"(dt.paginator && !dt.lazy) ? ((dt.filteredValue||dt.value) | slice:dt.first:(dt.first + dt.rows)) : (dt.filteredValue||dt.value)\" [ngForTrackBy]=\"dt.rowTrackBy\">\n <ng-container *ngTemplateOutlet=\"template; context: {$implicit: rowData, rowIndex: dt.paginator ? (dt.first + rowIndex) : rowIndex, columns: columns, expanded: dt.isRowExpanded(rowData), editing: (dt.editMode === 'row' && dt.isRowEditing(rowData))}\"></ng-container>\n <ng-container *ngIf=\"dt.isRowExpanded(rowData)\">\n <ng-container *ngTemplateOutlet=\"dt.frozenExpandedRowTemplate; context: {$implicit: rowData, rowIndex: dt.paginator ? (dt.first + rowIndex) : rowIndex, columns: columns}\"></ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"dt.loading\">\n <ng-container *ngTemplateOutlet=\"dt.loadingBodyTemplate; context: {$implicit: columns, frozen: frozen}\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"dt.isEmpty() && !dt.loading\">\n <ng-container *ngTemplateOutlet=\"dt.emptyMessageTemplate; context: {$implicit: columns, frozen: frozen}\"></ng-container>\n </ng-container>\n ",
|
2147
2160
|
changeDetection: core.ChangeDetectionStrategy.Default,
|
2148
2161
|
encapsulation: core.ViewEncapsulation.None
|
2149
2162
|
},] }
|
@@ -2526,6 +2539,11 @@
|
|
2526
2539
|
rowIndex: this.index
|
2527
2540
|
});
|
2528
2541
|
};
|
2542
|
+
SelectableRow.prototype.onPageDownKeyDown = function () {
|
2543
|
+
if (this.dt.virtualScroll) {
|
2544
|
+
dom.DomHandler.findSingle(this.dt.scrollableViewChild.el.nativeElement, 'cdk-virtual-scroll-viewport').focus();
|
2545
|
+
}
|
2546
|
+
};
|
2529
2547
|
SelectableRow.prototype.findNextSelectableRow = function (row) {
|
2530
2548
|
var nextRow = row.nextElementSibling;
|
2531
2549
|
if (nextRow) {
|
@@ -2582,7 +2600,8 @@
|
|
2582
2600
|
onTouchEnd: [{ type: core.HostListener, args: ['touchend', ['$event'],] }],
|
2583
2601
|
onArrowDownKeyDown: [{ type: core.HostListener, args: ['keydown.arrowdown', ['$event'],] }],
|
2584
2602
|
onArrowUpKeyDown: [{ type: core.HostListener, args: ['keydown.arrowup', ['$event'],] }],
|
2585
|
-
onEnterKeyDown: [{ type: core.HostListener, args: ['keydown.enter', ['$event'],] }, { type: core.HostListener, args: ['keydown.shift.enter', ['$event'],] }, { type: core.HostListener, args: ['keydown.meta.enter', ['$event'],] }]
|
2603
|
+
onEnterKeyDown: [{ type: core.HostListener, args: ['keydown.enter', ['$event'],] }, { type: core.HostListener, args: ['keydown.shift.enter', ['$event'],] }, { type: core.HostListener, args: ['keydown.meta.enter', ['$event'],] }],
|
2604
|
+
onPageDownKeyDown: [{ type: core.HostListener, args: ['keydown.pagedown', ['$event'],] }, { type: core.HostListener, args: ['keydown.pageup', ['$event'],] }, { type: core.HostListener, args: ['keydown.home', ['$event'],] }, { type: core.HostListener, args: ['keydown.end', ['$event'],] }, { type: core.HostListener, args: ['keydown.space', ['$event'],] }]
|
2586
2605
|
};
|
2587
2606
|
var SelectableRowDblClick = /** @class */ (function () {
|
2588
2607
|
function SelectableRowDblClick(dt, tableService) {
|
@@ -2966,6 +2985,50 @@
|
|
2966
2985
|
}
|
2967
2986
|
}
|
2968
2987
|
};
|
2988
|
+
EditableColumn.prototype.onArrowDown = function (event) {
|
2989
|
+
if (this.isEnabled()) {
|
2990
|
+
var currentCell = this.findCell(event.target);
|
2991
|
+
if (currentCell) {
|
2992
|
+
var cellIndex = dom.DomHandler.index(currentCell);
|
2993
|
+
var targetCell = this.findNextEditableColumnByIndex(currentCell, cellIndex);
|
2994
|
+
if (targetCell) {
|
2995
|
+
if (this.dt.isEditingCellValid()) {
|
2996
|
+
this.closeEditingCell(true, event);
|
2997
|
+
}
|
2998
|
+
dom.DomHandler.invokeElementMethod(event.target, 'blur');
|
2999
|
+
dom.DomHandler.invokeElementMethod(targetCell, 'click');
|
3000
|
+
}
|
3001
|
+
event.preventDefault();
|
3002
|
+
}
|
3003
|
+
}
|
3004
|
+
};
|
3005
|
+
EditableColumn.prototype.onArrowUp = function (event) {
|
3006
|
+
if (this.isEnabled()) {
|
3007
|
+
var currentCell = this.findCell(event.target);
|
3008
|
+
if (currentCell) {
|
3009
|
+
var cellIndex = dom.DomHandler.index(currentCell);
|
3010
|
+
var targetCell = this.findPrevEditableColumnByIndex(currentCell, cellIndex);
|
3011
|
+
if (targetCell) {
|
3012
|
+
if (this.dt.isEditingCellValid()) {
|
3013
|
+
this.closeEditingCell(true, event);
|
3014
|
+
}
|
3015
|
+
dom.DomHandler.invokeElementMethod(event.target, 'blur');
|
3016
|
+
dom.DomHandler.invokeElementMethod(targetCell, 'click');
|
3017
|
+
}
|
3018
|
+
event.preventDefault();
|
3019
|
+
}
|
3020
|
+
}
|
3021
|
+
};
|
3022
|
+
EditableColumn.prototype.onArrowLeft = function (event) {
|
3023
|
+
if (this.isEnabled()) {
|
3024
|
+
this.moveToPreviousCell(event);
|
3025
|
+
}
|
3026
|
+
};
|
3027
|
+
EditableColumn.prototype.onArrowRight = function (event) {
|
3028
|
+
if (this.isEnabled()) {
|
3029
|
+
this.moveToNextCell(event);
|
3030
|
+
}
|
3031
|
+
};
|
2969
3032
|
EditableColumn.prototype.findCell = function (element) {
|
2970
3033
|
if (element) {
|
2971
3034
|
var cell = element;
|
@@ -3042,6 +3105,32 @@
|
|
3042
3105
|
return null;
|
3043
3106
|
}
|
3044
3107
|
};
|
3108
|
+
EditableColumn.prototype.findNextEditableColumnByIndex = function (cell, index) {
|
3109
|
+
var nextRow = cell.parentElement.nextElementSibling;
|
3110
|
+
if (nextRow) {
|
3111
|
+
var nextCell = nextRow.children[index];
|
3112
|
+
if (nextCell && dom.DomHandler.hasClass(nextCell, 'p-editable-column')) {
|
3113
|
+
return nextCell;
|
3114
|
+
}
|
3115
|
+
return null;
|
3116
|
+
}
|
3117
|
+
else {
|
3118
|
+
return null;
|
3119
|
+
}
|
3120
|
+
};
|
3121
|
+
EditableColumn.prototype.findPrevEditableColumnByIndex = function (cell, index) {
|
3122
|
+
var prevRow = cell.parentElement.previousElementSibling;
|
3123
|
+
if (prevRow) {
|
3124
|
+
var prevCell = prevRow.children[index];
|
3125
|
+
if (prevCell && dom.DomHandler.hasClass(prevCell, 'p-editable-column')) {
|
3126
|
+
return prevCell;
|
3127
|
+
}
|
3128
|
+
return null;
|
3129
|
+
}
|
3130
|
+
else {
|
3131
|
+
return null;
|
3132
|
+
}
|
3133
|
+
};
|
3045
3134
|
EditableColumn.prototype.isEnabled = function () {
|
3046
3135
|
return this.pEditableColumnDisabled !== true;
|
3047
3136
|
};
|
@@ -3066,7 +3155,11 @@
|
|
3066
3155
|
onClick: [{ type: core.HostListener, args: ['click', ['$event'],] }],
|
3067
3156
|
onEnterKeyDown: [{ type: core.HostListener, args: ['keydown.enter', ['$event'],] }],
|
3068
3157
|
onEscapeKeyDown: [{ type: core.HostListener, args: ['keydown.escape', ['$event'],] }],
|
3069
|
-
onShiftKeyDown: [{ type: core.HostListener, args: ['keydown.tab', ['$event'],] }, { type: core.HostListener, args: ['keydown.shift.tab', ['$event'],] }, { type: core.HostListener, args: ['keydown.meta.tab', ['$event'],] }]
|
3158
|
+
onShiftKeyDown: [{ type: core.HostListener, args: ['keydown.tab', ['$event'],] }, { type: core.HostListener, args: ['keydown.shift.tab', ['$event'],] }, { type: core.HostListener, args: ['keydown.meta.tab', ['$event'],] }],
|
3159
|
+
onArrowDown: [{ type: core.HostListener, args: ['keydown.arrowdown', ['$event'],] }],
|
3160
|
+
onArrowUp: [{ type: core.HostListener, args: ['keydown.arrowup', ['$event'],] }],
|
3161
|
+
onArrowLeft: [{ type: core.HostListener, args: ['keydown.arrowleft', ['$event'],] }],
|
3162
|
+
onArrowRight: [{ type: core.HostListener, args: ['keydown.arrowright', ['$event'],] }]
|
3070
3163
|
};
|
3071
3164
|
var EditableRow = /** @class */ (function () {
|
3072
3165
|
function EditableRow(el) {
|
@@ -3565,7 +3658,7 @@
|
|
3565
3658
|
ColumnFilterFormElement.decorators = [
|
3566
3659
|
{ type: core.Component, args: [{
|
3567
3660
|
selector: 'p-columnFilterFormElement',
|
3568
|
-
template: "\n <ng-container *ngIf=\"filterTemplate; else builtInElement\">\n <ng-container *ngTemplateOutlet=\"filterTemplate; context: {$implicit: filterConstraint.value, filterCallback: filterCallback}\"></ng-container>\n </ng-container>\n <ng-template #builtInElement>\n <ng-container [ngSwitch]=\"type\">\n <input *ngSwitchCase=\"'text'\" type=\"text\" pInputText [value]=\"filterConstraint?.value\" (input)=\"onModelChange($event.target.value)\"\n (keydown.enter)=\"onTextInputEnterKeyDown($event)\" [attr.placeholder]=\"placeholder\">\n <p-inputNumber *ngSwitchCase=\"'numeric'\" [ngModel]=\"filterConstraint?.value\" (ngModelChange)=\"onModelChange($event)\" (onKeyDown)=\"onNumericInputKeyDown($event)\" [showButtons]=\"true\" [attr.placeholder]=\"placeholder\"\n [minFractionDigits]=\"minFractionDigits\" [maxFractionDigits]=\"maxFractionDigits\" [prefix]=\"prefix\" [suffix]=\"suffix\"\n [mode]=\"currency ? 'currency' : 'decimal'\" [locale]=\"locale\" [localeMatcher]=\"localeMatcher\" [currency]=\"currency\" [currencyDisplay]=\"currencyDisplay\" [useGrouping]=\"useGrouping\"></p-inputNumber>\n <p-triStateCheckbox *ngSwitchCase=\"'boolean'\" [ngModel]=\"filterConstraint?.value\" (ngModelChange)=\"onModelChange($event)\"></p-triStateCheckbox>\n <p-calendar *ngSwitchCase=\"'date'\" [ngModel]=\"filterConstraint?.value\" (ngModelChange)=\"onModelChange($event)\"></p-calendar>\n </ng-container>\n </ng-template>\n ",
|
3661
|
+
template: "\n <ng-container *ngIf=\"filterTemplate; else builtInElement\">\n <ng-container *ngTemplateOutlet=\"filterTemplate; context: {$implicit: filterConstraint.value, filterCallback: filterCallback}\"></ng-container>\n </ng-container>\n <ng-template #builtInElement>\n <ng-container [ngSwitch]=\"type\">\n <input *ngSwitchCase=\"'text'\" type=\"text\" pInputText [value]=\"filterConstraint?.value\" (input)=\"onModelChange($event.target.value)\"\n (keydown.enter)=\"onTextInputEnterKeyDown($event)\" [attr.placeholder]=\"placeholder\">\n <p-inputNumber *ngSwitchCase=\"'numeric'\" [ngModel]=\"filterConstraint?.value\" (ngModelChange)=\"onModelChange($event)\" (onKeyDown)=\"onNumericInputKeyDown($event)\" [showButtons]=\"true\" [attr.placeholder]=\"placeholder\"\n [minFractionDigits]=\"minFractionDigits\" [maxFractionDigits]=\"maxFractionDigits\" [prefix]=\"prefix\" [suffix]=\"suffix\" [placeholder]=\"placeholder\"\n [mode]=\"currency ? 'currency' : 'decimal'\" [locale]=\"locale\" [localeMatcher]=\"localeMatcher\" [currency]=\"currency\" [currencyDisplay]=\"currencyDisplay\" [useGrouping]=\"useGrouping\"></p-inputNumber>\n <p-triStateCheckbox *ngSwitchCase=\"'boolean'\" [ngModel]=\"filterConstraint?.value\" (ngModelChange)=\"onModelChange($event)\"></p-triStateCheckbox>\n <p-calendar *ngSwitchCase=\"'date'\" [ngModel]=\"filterConstraint?.value\" (ngModelChange)=\"onModelChange($event)\"></p-calendar>\n </ng-container>\n </ng-template>\n ",
|
3569
3662
|
encapsulation: core.ViewEncapsulation.None
|
3570
3663
|
},] }
|
3571
3664
|
];
|
@@ -3615,6 +3708,9 @@
|
|
3615
3708
|
_this.generateMatchModeOptions();
|
3616
3709
|
_this.generateOperatorOptions();
|
3617
3710
|
});
|
3711
|
+
this.resetSubscription = this.dt.tableService.resetSource$.subscribe(function () {
|
3712
|
+
_this.clearFilter();
|
3713
|
+
});
|
3618
3714
|
this.generateMatchModeOptions();
|
3619
3715
|
this.generateOperatorOptions();
|
3620
3716
|
};
|
@@ -3704,8 +3800,10 @@
|
|
3704
3800
|
this.dt._filter();
|
3705
3801
|
};
|
3706
3802
|
ColumnFilter.prototype.onOperatorChange = function (value) {
|
3803
|
+
var _this = this;
|
3707
3804
|
this.dt.filters[this.field].forEach(function (filterMeta) {
|
3708
3805
|
filterMeta.operator = value;
|
3806
|
+
_this.operator = value;
|
3709
3807
|
});
|
3710
3808
|
if (!this.showApplyButton) {
|
3711
3809
|
this.dt._filter();
|
@@ -3779,7 +3877,7 @@
|
|
3779
3877
|
else if (this.type === 'numeric')
|
3780
3878
|
return api.FilterMatchMode.EQUALS;
|
3781
3879
|
else if (this.type === 'date')
|
3782
|
-
return api.FilterMatchMode.
|
3880
|
+
return api.FilterMatchMode.DATE_IS;
|
3783
3881
|
else
|
3784
3882
|
return api.FilterMatchMode.CONTAINS;
|
3785
3883
|
}
|
@@ -3945,13 +4043,16 @@
|
|
3945
4043
|
if (this.translationSubscription) {
|
3946
4044
|
this.translationSubscription.unsubscribe();
|
3947
4045
|
}
|
4046
|
+
if (this.resetSubscription) {
|
4047
|
+
this.resetSubscription.unsubscribe();
|
4048
|
+
}
|
3948
4049
|
};
|
3949
4050
|
return ColumnFilter;
|
3950
4051
|
}());
|
3951
4052
|
ColumnFilter.decorators = [
|
3952
4053
|
{ type: core.Component, args: [{
|
3953
4054
|
selector: 'p-columnFilter',
|
3954
|
-
template: "\n <div class=\"p-column-filter\" [ngClass]=\"{'p-column-filter-row': display === 'row', 'p-column-filter-menu': display === 'menu'}\">\n <p-columnFilterFormElement *ngIf=\"display === 'row'\" class=\"p-fluid\" [type]=\"type\" [field]=\"field\" [filterConstraint]=\"dt.filters[field]\" [filterTemplate]=\"filterTemplate\" [placeholder]=\"placeholder\" [minFractionDigits]=\"minFractionDigits\" [maxFractionDigits]=\"maxFractionDigits\" [prefix]=\"prefix\" [suffix]=\"suffix\"\n [locale]=\"locale\" [localeMatcher]=\"localeMatcher\" [currency]=\"currency\" [currencyDisplay]=\"currencyDisplay\" [useGrouping]=\"useGrouping\"></p-columnFilterFormElement>\n <button #icon *ngIf=\"showMenuButton\" type=\"button\" class=\"p-column-filter-menu-button p-link\" aria-haspopup=\"true\" [attr.aria-expanded]=\"overlayVisible\"\n [ngClass]=\"{'p-column-filter-menu-button-open': overlayVisible, 'p-column-filter-menu-button-active': hasFilter()}\" \n (click)=\"toggleMenu()\" (keydown)=\"onToggleButtonKeyDown($event)\"><span class=\"pi pi-filter-icon pi-filter\"></span></button>\n <button #icon *ngIf=\"showMenuButton && display === 'row'\" [ngClass]=\"{'p-hidden-space': !hasRowFilter()}\" type=\"button\" class=\"p-column-filter-clear-button p-link\" (click)=\"clearFilter()\"><span class=\"pi pi-filter-slash\"></span></button>\n <div *ngIf=\"showMenu && overlayVisible\" [ngClass]=\"{'p-column-filter-overlay p-component p-fluid': true, 'p-column-filter-overlay-menu': display === 'menu'}\" \n [@overlayAnimation]=\"'visible'\" (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\" (keydown.escape)=\"onEscape()\">\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: {$implicit: field}\"></ng-container>\n <ul *ngIf=\"display === 'row'; else menu\" class=\"p-column-filter-row-items\">\n <li class=\"p-column-filter-row-item\" *ngFor=\"let matchMode of matchModes; let i = index;\" (click)=\"onRowMatchModeChange(matchMode.value)\" (keydown)=\"onRowMatchModeKeyDown($event)\" (keydown.enter)=\"this.onRowMatchModeChange(matchMode.value)\"\n [ngClass]=\"{'p-highlight': isRowMatchModeSelected(matchMode.value)}\" [attr.tabindex]=\"i === 0 ? '0' : null\">{{matchMode.label}}</li>\n <li class=\"p-column-filter-separator\"></li>\n <li class=\"p-column-filter-row-item\" (click)=\"onRowClearItemClick()\" (keydown)=\"onRowMatchModeKeyDown($event)\" (keydown.enter)=\"onRowClearItemClick()\">{{noFilterLabel}}</li>\n </ul>\n <ng-template #menu>\n <div class=\"p-column-filter-operator\" *ngIf=\"isShowOperator\">\n <p-dropdown [options]=\"operatorOptions\" [ngModel]=\"operator\" (ngModelChange)=\"onOperatorChange($event)\" styleClass=\"p-column-filter-operator-dropdown\"></p-dropdown>\n </div>\n <div class=\"p-column-filter-constraints\">\n <div *ngFor=\"let fieldConstraint of fieldConstraints; let i = index\" class=\"p-column-filter-constraint\">\n <p-dropdown *ngIf=\"showMatchModes && matchModes\" [options]=\"matchModes\" [ngModel]=\"fieldConstraint.matchMode\" (ngModelChange)=\"onMenuMatchModeChange($event, fieldConstraint)\" styleClass=\"p-column-filter-matchmode-dropdown\"></p-dropdown>\n <p-columnFilterFormElement [type]=\"type\" [field]=\"field\" [filterConstraint]=\"fieldConstraint\" [filterTemplate]=\"filterTemplate\" [placeholder]=\"placeholder\"\n [minFractionDigits]=\"minFractionDigits\" [maxFractionDigits]=\"maxFractionDigits\" [prefix]=\"prefix\" [suffix]=\"suffix\"\n [locale]=\"locale\" [localeMatcher]=\"localeMatcher\" [currency]=\"currency\" [currencyDisplay]=\"currencyDisplay\" [useGrouping]=\"useGrouping\"></p-columnFilterFormElement>\n <button *ngIf=\"showRemoveIcon\" type=\"button\" pButton icon=\"pi pi-trash\" class=\"p-column-filter-remove-button p-button-text p-button-danger p-button-sm\" (click)=\"removeConstraint(fieldConstraint)\" pRipple [label]=\"removeRuleButtonLabel\"></button>\n </div>\n </div>\n <div class=\"p-column-filter-add-rule\" *ngIf=\"isShowAddConstraint\">\n <button type=\"button\" pButton [label]=\"addRuleButtonLabel\" icon=\"pi pi-plus\" class=\"p-column-filter-add-button p-button-text p-button-sm\" (click)=\"addConstraint()\" pRipple></button>\n </div>\n <div class=\"p-column-filter-buttonbar\">\n <button type=\"button\" pButton class=\"p-button-outlined\" (click)=\"clearFilter()\" [label]=\"clearButtonLabel\" pRipple></button>\n <button type=\"button\" pButton (click)=\"applyFilter()\" [label]=\"applyButtonLabel\" pRipple></button>\n </div>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: {$implicit: field}\"></ng-container>\n </div>\n </div>\n ",
|
4055
|
+
template: "\n <div class=\"p-column-filter\" [ngClass]=\"{'p-column-filter-row': display === 'row', 'p-column-filter-menu': display === 'menu'}\">\n <p-columnFilterFormElement *ngIf=\"display === 'row'\" class=\"p-fluid\" [type]=\"type\" [field]=\"field\" [filterConstraint]=\"dt.filters[field]\" [filterTemplate]=\"filterTemplate\" [placeholder]=\"placeholder\" [minFractionDigits]=\"minFractionDigits\" [maxFractionDigits]=\"maxFractionDigits\" [prefix]=\"prefix\" [suffix]=\"suffix\"\n [locale]=\"locale\" [localeMatcher]=\"localeMatcher\" [currency]=\"currency\" [currencyDisplay]=\"currencyDisplay\" [useGrouping]=\"useGrouping\"></p-columnFilterFormElement>\n <button #icon *ngIf=\"showMenuButton\" type=\"button\" class=\"p-column-filter-menu-button p-link\" aria-haspopup=\"true\" [attr.aria-expanded]=\"overlayVisible\"\n [ngClass]=\"{'p-column-filter-menu-button-open': overlayVisible, 'p-column-filter-menu-button-active': hasFilter()}\" \n (click)=\"toggleMenu()\" (keydown)=\"onToggleButtonKeyDown($event)\"><span class=\"pi pi-filter-icon pi-filter\"></span></button>\n <button #icon *ngIf=\"showMenuButton && display === 'row'\" [ngClass]=\"{'p-hidden-space': !hasRowFilter()}\" type=\"button\" class=\"p-column-filter-clear-button p-link\" (click)=\"clearFilter()\"><span class=\"pi pi-filter-slash\"></span></button>\n <div *ngIf=\"showMenu && overlayVisible\" [ngClass]=\"{'p-column-filter-overlay p-component p-fluid': true, 'p-column-filter-overlay-menu': display === 'menu'}\" \n [@overlayAnimation]=\"'visible'\" (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\" (keydown.escape)=\"onEscape()\">\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: {$implicit: field}\"></ng-container>\n <ul *ngIf=\"display === 'row'; else menu\" class=\"p-column-filter-row-items\">\n <li class=\"p-column-filter-row-item\" *ngFor=\"let matchMode of matchModes; let i = index;\" (click)=\"onRowMatchModeChange(matchMode.value)\" (keydown)=\"onRowMatchModeKeyDown($event)\" (keydown.enter)=\"this.onRowMatchModeChange(matchMode.value)\"\n [ngClass]=\"{'p-highlight': isRowMatchModeSelected(matchMode.value)}\" [attr.tabindex]=\"i === 0 ? '0' : null\">{{matchMode.label}}</li>\n <li class=\"p-column-filter-separator\"></li>\n <li class=\"p-column-filter-row-item\" (click)=\"onRowClearItemClick()\" (keydown)=\"onRowMatchModeKeyDown($event)\" (keydown.enter)=\"onRowClearItemClick()\">{{noFilterLabel}}</li>\n </ul>\n <ng-template #menu>\n <div class=\"p-column-filter-operator\" *ngIf=\"isShowOperator\">\n <p-dropdown [options]=\"operatorOptions\" [ngModel]=\"operator\" (ngModelChange)=\"onOperatorChange($event)\" styleClass=\"p-column-filter-operator-dropdown\"></p-dropdown>\n </div>\n <div class=\"p-column-filter-constraints\">\n <div *ngFor=\"let fieldConstraint of fieldConstraints; let i = index\" class=\"p-column-filter-constraint\">\n <p-dropdown *ngIf=\"showMatchModes && matchModes\" [options]=\"matchModes\" [ngModel]=\"fieldConstraint.matchMode\" (ngModelChange)=\"onMenuMatchModeChange($event, fieldConstraint)\" styleClass=\"p-column-filter-matchmode-dropdown\"></p-dropdown>\n <p-columnFilterFormElement [type]=\"type\" [field]=\"field\" [filterConstraint]=\"fieldConstraint\" [filterTemplate]=\"filterTemplate\" [placeholder]=\"placeholder\"\n [minFractionDigits]=\"minFractionDigits\" [maxFractionDigits]=\"maxFractionDigits\" [prefix]=\"prefix\" [suffix]=\"suffix\"\n [locale]=\"locale\" [localeMatcher]=\"localeMatcher\" [currency]=\"currency\" [currencyDisplay]=\"currencyDisplay\" [useGrouping]=\"useGrouping\"></p-columnFilterFormElement>\n <div>\n <button *ngIf=\"showRemoveIcon\" type=\"button\" pButton icon=\"pi pi-trash\" class=\"p-column-filter-remove-button p-button-text p-button-danger p-button-sm\" (click)=\"removeConstraint(fieldConstraint)\" pRipple [label]=\"removeRuleButtonLabel\"></button>\n </div>\n </div>\n </div>\n <div class=\"p-column-filter-add-rule\" *ngIf=\"isShowAddConstraint\">\n <button type=\"button\" pButton [label]=\"addRuleButtonLabel\" icon=\"pi pi-plus\" class=\"p-column-filter-add-button p-button-text p-button-sm\" (click)=\"addConstraint()\" pRipple></button>\n </div>\n <div class=\"p-column-filter-buttonbar\">\n <button type=\"button\" pButton class=\"p-button-outlined\" (click)=\"clearFilter()\" [label]=\"clearButtonLabel\" pRipple></button>\n <button type=\"button\" pButton (click)=\"applyFilter()\" [label]=\"applyButtonLabel\" pRipple></button>\n </div>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: {$implicit: field}\"></ng-container>\n </div>\n </div>\n ",
|
3955
4056
|
animations: [
|
3956
4057
|
animations.trigger('overlayAnimation', [
|
3957
4058
|
animations.transition(':enter', [
|