primeng 4.1.2 → 4.2.1
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/components/autocomplete/autocomplete.d.ts +7 -0
- package/components/autocomplete/autocomplete.js +63 -6
- package/components/autocomplete/autocomplete.js.map +1 -1
- package/components/autocomplete/autocomplete.metadata.json +1 -1
- package/components/blockui/blockui.js +1 -0
- package/components/blockui/blockui.js.map +1 -1
- package/components/breadcrumb/breadcrumb.js +1 -1
- package/components/breadcrumb/breadcrumb.js.map +1 -1
- package/components/breadcrumb/breadcrumb.metadata.json +1 -1
- package/components/calendar/calendar.d.ts +36 -14
- package/components/calendar/calendar.js +337 -108
- package/components/calendar/calendar.js.map +1 -1
- package/components/calendar/calendar.metadata.json +1 -1
- package/components/checkbox/checkbox.js +1 -1
- package/components/checkbox/checkbox.js.map +1 -1
- package/components/checkbox/checkbox.metadata.json +1 -1
- package/components/chips/chips.d.ts +2 -0
- package/components/chips/chips.js +25 -11
- package/components/chips/chips.js.map +1 -1
- package/components/chips/chips.metadata.json +1 -1
- package/components/common/menuitem.d.ts +1 -0
- package/components/common/messageservice.d.ts +9 -0
- package/components/common/messageservice.js +35 -0
- package/components/common/messageservice.js.map +1 -0
- package/components/common/messageservice.metadata.json +1 -0
- package/components/common/selectitem.d.ts +1 -0
- package/components/common/shared.d.ts +1 -0
- package/components/common/shared.js +4 -0
- package/components/common/shared.js.map +1 -1
- package/components/common/shared.metadata.json +1 -1
- package/components/contextmenu/contextmenu.d.ts +2 -0
- package/components/contextmenu/contextmenu.js +18 -5
- package/components/contextmenu/contextmenu.js.map +1 -1
- package/components/contextmenu/contextmenu.metadata.json +1 -1
- package/components/datatable/datatable.d.ts +14 -0
- package/components/datatable/datatable.js +113 -38
- package/components/datatable/datatable.js.map +1 -1
- package/components/datatable/datatable.metadata.json +1 -1
- package/components/dropdown/dropdown.d.ts +4 -2
- package/components/dropdown/dropdown.js +25 -13
- package/components/dropdown/dropdown.js.map +1 -1
- package/components/dropdown/dropdown.metadata.json +1 -1
- package/components/fileupload/fileupload.d.ts +16 -4
- package/components/fileupload/fileupload.js +72 -9
- package/components/fileupload/fileupload.js.map +1 -1
- package/components/fileupload/fileupload.metadata.json +1 -1
- package/components/growl/growl.d.ts +9 -2
- package/components/growl/growl.js +45 -8
- package/components/growl/growl.js.map +1 -1
- package/components/growl/growl.metadata.json +1 -1
- package/components/inputmask/inputmask.d.ts +4 -1
- package/components/inputmask/inputmask.js +28 -7
- package/components/inputmask/inputmask.js.map +1 -1
- package/components/inputmask/inputmask.metadata.json +1 -1
- package/components/listbox/listbox.d.ts +3 -0
- package/components/listbox/listbox.js +14 -1
- package/components/listbox/listbox.js.map +1 -1
- package/components/listbox/listbox.metadata.json +1 -1
- package/components/megamenu/megamenu.js +1 -1
- package/components/megamenu/megamenu.js.map +1 -1
- package/components/megamenu/megamenu.metadata.json +1 -1
- package/components/menu/menu.js +2 -2
- package/components/menu/menu.js.map +1 -1
- package/components/menu/menu.metadata.json +1 -1
- package/components/menubar/menubar.js +1 -1
- package/components/menubar/menubar.js.map +1 -1
- package/components/menubar/menubar.metadata.json +1 -1
- package/components/messages/messages.d.ts +8 -2
- package/components/messages/messages.js +29 -3
- package/components/messages/messages.js.map +1 -1
- package/components/messages/messages.metadata.json +1 -1
- package/components/multiselect/multiselect.d.ts +8 -2
- package/components/multiselect/multiselect.js +40 -6
- package/components/multiselect/multiselect.js.map +1 -1
- package/components/multiselect/multiselect.metadata.json +1 -1
- package/components/orderlist/orderlist.js +1 -1
- package/components/orderlist/orderlist.js.map +1 -1
- package/components/organizationchart/organizationchart.js +2 -2
- package/components/organizationchart/organizationchart.js.map +1 -1
- package/components/organizationchart/organizationchart.metadata.json +1 -1
- package/components/paginator/paginator.d.ts +2 -1
- package/components/paginator/paginator.js +19 -10
- package/components/paginator/paginator.js.map +1 -1
- package/components/paginator/paginator.metadata.json +1 -1
- package/components/panel/panel.js +1 -1
- package/components/panel/panel.js.map +1 -1
- package/components/panelmenu/panelmenu.js +2 -2
- package/components/panelmenu/panelmenu.js.map +1 -1
- package/components/panelmenu/panelmenu.metadata.json +1 -1
- package/components/picklist/picklist.js +18 -8
- package/components/picklist/picklist.js.map +1 -1
- package/components/radiobutton/radiobutton.js +2 -2
- package/components/radiobutton/radiobutton.js.map +1 -1
- package/components/radiobutton/radiobutton.metadata.json +1 -1
- package/components/schedule/schedule.d.ts +2 -1
- package/components/schedule/schedule.js +14 -7
- package/components/schedule/schedule.js.map +1 -1
- package/components/schedule/schedule.metadata.json +1 -1
- package/components/selectbutton/selectbutton.d.ts +2 -1
- package/components/selectbutton/selectbutton.js +12 -2
- package/components/selectbutton/selectbutton.js.map +1 -1
- package/components/selectbutton/selectbutton.metadata.json +1 -1
- package/components/slidemenu/slidemenu.d.ts +1 -0
- package/components/slidemenu/slidemenu.js +18 -3
- package/components/slidemenu/slidemenu.js.map +1 -1
- package/components/slidemenu/slidemenu.metadata.json +1 -1
- package/components/slider/slider.d.ts +11 -4
- package/components/slider/slider.js +70 -29
- package/components/slider/slider.js.map +1 -1
- package/components/slider/slider.metadata.json +1 -1
- package/components/spinner/spinner.d.ts +5 -3
- package/components/spinner/spinner.js +21 -11
- package/components/spinner/spinner.js.map +1 -1
- package/components/spinner/spinner.metadata.json +1 -1
- package/components/tabmenu/tabmenu.js +1 -1
- package/components/tabmenu/tabmenu.js.map +1 -1
- package/components/tabmenu/tabmenu.metadata.json +1 -1
- package/components/tabview/tabview.d.ts +16 -6
- package/components/tabview/tabview.js +65 -17
- package/components/tabview/tabview.js.map +1 -1
- package/components/tabview/tabview.metadata.json +1 -1
- package/components/terminal/terminal.d.ts +8 -5
- package/components/terminal/terminal.js +15 -13
- package/components/terminal/terminal.js.map +1 -1
- package/components/terminal/terminal.metadata.json +1 -1
- package/components/terminal/terminalservice.d.ts +9 -0
- package/components/terminal/terminalservice.js +34 -0
- package/components/terminal/terminalservice.js.map +1 -0
- package/components/terminal/terminalservice.metadata.json +1 -0
- package/components/tieredmenu/tieredmenu.js +1 -1
- package/components/tieredmenu/tieredmenu.js.map +1 -1
- package/components/tieredmenu/tieredmenu.metadata.json +1 -1
- package/components/tooltip/tooltip.d.ts +4 -1
- package/components/tooltip/tooltip.js +27 -5
- package/components/tooltip/tooltip.js.map +1 -1
- package/components/tooltip/tooltip.metadata.json +1 -1
- package/components/tree/tree.d.ts +2 -0
- package/components/tree/tree.js +19 -5
- package/components/tree/tree.js.map +1 -1
- package/components/tree/tree.metadata.json +1 -1
- package/components/treetable/treetable.d.ts +2 -0
- package/components/treetable/treetable.js +11 -1
- package/components/treetable/treetable.js.map +1 -1
- package/components/treetable/treetable.metadata.json +1 -1
- package/package.json +19 -19
- package/resources/primeng.css +451 -68
- package/resources/primeng.min.css +1 -1
- package/resources/themes/_theme.scss +8 -0
- package/resources/themes/cruze/theme.css +6 -0
- package/resources/themes/cupertino/theme.css +6 -0
- package/resources/themes/darkness/theme.css +6 -0
- package/resources/themes/flick/theme.css +6 -0
- package/resources/themes/home/theme.css +6 -0
- package/resources/themes/kasper/theme.css +6 -0
- package/resources/themes/lightness/theme.css +6 -0
- package/resources/themes/ludvig/theme.css +6 -0
- package/resources/themes/omega/theme.css +14 -0
- package/resources/themes/omega/theme.css.map +7 -0
- package/resources/themes/omega/theme.scss +11 -0
- package/resources/themes/pepper-grinder/theme.css +6 -0
- package/resources/themes/redmond/theme.css +6 -0
- package/resources/themes/rocket/theme.css +6 -0
- package/resources/themes/south-street/theme.css +6 -0
- package/resources/themes/start/theme.css +6 -0
- package/resources/themes/trontastic/theme.css +6 -0
- package/resources/themes/voclain/theme.css +6 -0
@@ -122,7 +122,7 @@ __decorate([
|
|
122
122
|
ColumnHeaders = __decorate([
|
123
123
|
core_1.Component({
|
124
124
|
selector: '[pColumnHeaders]',
|
125
|
-
template: "\n <ng-template ngFor let-col [ngForOf]=\"columns\" let-lastCol=\"last\">\n <th #headerCell [attr.id]=\"col.colId\" [ngStyle]=\"col.style\" [class]=\"col.styleClass\"
|
125
|
+
template: "\n <ng-template ngFor let-col [ngForOf]=\"columns\" let-lastCol=\"last\">\n <th #headerCell [attr.id]=\"col.colId\" [ngStyle]=\"col.style\" [class]=\"col.styleClass\" (click)=\"dt.sort($event,col)\" [attr.colspan]=\"col.colspan\" [attr.rowspan]=\"col.rowspan\"\n [ngClass]=\"{'ui-state-default ui-unselectable-text':true, 'ui-sortable-column': col.sortable, 'ui-state-active': dt.isSorted(col), 'ui-resizable-column': dt.resizableColumns, 'ui-selection-column':col.selectionMode,\n 'ui-helper-hidden': col.hidden}\" \n (dragstart)=\"dt.onColumnDragStart($event)\" (dragleave)=\"dt.onColumnDragleave($event)\" (drop)=\"dt.onColumnDrop($event)\" (mousedown)=\"dt.onHeaderMousedown($event,headerCell)\"\n [attr.tabindex]=\"col.sortable ? tabindex : null\" (keydown)=\"dt.onHeaderKeydown($event,col)\">\n <span class=\"ui-column-resizer ui-clickable\" *ngIf=\"dt.resizableColumns && ((dt.columnResizeMode == 'fit' && !lastCol) || dt.columnResizeMode == 'expand')\" (mousedown)=\"dt.initColumnResize($event)\"></span>\n <span class=\"ui-column-title\" *ngIf=\"!col.selectionMode&&!col.headerTemplate\">{{col.header}}</span>\n <span class=\"ui-column-title\" *ngIf=\"col.headerTemplate\">\n <p-columnHeaderTemplateLoader [column]=\"col\"></p-columnHeaderTemplateLoader>\n </span>\n <span class=\"ui-sortable-column-icon fa fa-fw fa-sort\" *ngIf=\"col.sortable\"\n [ngClass]=\"{'fa-sort-desc': (dt.getSortOrder(col) == -1),'fa-sort-asc': (dt.getSortOrder(col) == 1)}\"></span>\n <input [attr.type]=\"col.filterType\" class=\"ui-column-filter ui-inputtext ui-widget ui-state-default ui-corner-all\" [attr.maxlength]=\"col.filterMaxlength\" [attr.placeholder]=\"col.filterPlaceholder\" *ngIf=\"col.filter&&!col.filterTemplate\" [value]=\"dt.filters[col.filterField||col.field] ? dt.filters[col.filterField||col.field].value : ''\" \n (click)=\"dt.onFilterInputClick($event)\" (input)=\"dt.onFilterKeyup($event.target.value, col.filterField||col.field, col.filterMatchMode)\"/>\n <p-columnFilterTemplateLoader [column]=\"col\" *ngIf=\"col.filterTemplate\"></p-columnFilterTemplateLoader>\n <p-dtCheckbox *ngIf=\"col.selectionMode=='multiple'\" (onChange)=\"dt.toggleRowsWithCheckbox($event)\" [checked]=\"dt.allSelected\" [disabled]=\"dt.isEmpty()\"></p-dtCheckbox>\n </th>\n </ng-template>\n "
|
126
126
|
}),
|
127
127
|
__param(0, core_1.Inject(core_1.forwardRef(function () { return DataTable; }))),
|
128
128
|
__metadata("design:paramtypes", [DataTable])
|
@@ -141,7 +141,7 @@ __decorate([
|
|
141
141
|
ColumnFooters = __decorate([
|
142
142
|
core_1.Component({
|
143
143
|
selector: '[pColumnFooters]',
|
144
|
-
template: "\n <td *ngFor=\"let col of columns\" [ngStyle]=\"col.style\" [class]=\"col.styleClass\"\n [attr.colspan]=\"col.colspan\" [attr.rowspan]=\"col.rowspan\"\n [ngClass]=\"{'ui-state-default':true
|
144
|
+
template: "\n <td *ngFor=\"let col of columns\" [ngStyle]=\"col.style\" [class]=\"col.styleClass\"\n [attr.colspan]=\"col.colspan\" [attr.rowspan]=\"col.rowspan\"\n [ngClass]=\"{'ui-state-default':true, 'ui-helper-hidden': col.hidden}\">\n <span class=\"ui-column-footer\" *ngIf=\"!col.footerTemplate\">{{col.footer}}</span>\n <span class=\"ui-column-footer\" *ngIf=\"col.footerTemplate\">\n <p-columnFooterTemplateLoader [column]=\"col\"></p-columnFooterTemplateLoader>\n </span>\n </td>\n "
|
145
145
|
}),
|
146
146
|
__param(0, core_1.Inject(core_1.forwardRef(function () { return DataTable; }))),
|
147
147
|
__metadata("design:paramtypes", [DataTable])
|
@@ -160,10 +160,14 @@ __decorate([
|
|
160
160
|
core_1.Input("pTableBody"),
|
161
161
|
__metadata("design:type", Array)
|
162
162
|
], TableBody.prototype, "columns", void 0);
|
163
|
+
__decorate([
|
164
|
+
core_1.Input(),
|
165
|
+
__metadata("design:type", Array)
|
166
|
+
], TableBody.prototype, "data", void 0);
|
163
167
|
TableBody = __decorate([
|
164
168
|
core_1.Component({
|
165
169
|
selector: '[pTableBody]',
|
166
|
-
template: "\n <ng-template ngFor let-rowData [ngForOf]=\"
|
170
|
+
template: "\n <ng-template ngFor let-rowData [ngForOf]=\"data\" let-even=\"even\" let-odd=\"odd\" let-rowIndex=\"index\" [ngForTrackBy]=\"dt.rowTrackBy\">\n <tr #rowGroupElement class=\"ui-widget-header ui-rowgroup-header\" \n *ngIf=\"dt.rowGroupMode=='subheader' && (rowIndex === 0||(dt.resolveFieldData(rowData,dt.groupField) !== dt.resolveFieldData(dt.dataToRender[rowIndex - 1], dt.groupField)))\"\n (click)=\"dt.onRowGroupClick($event)\" [ngStyle]=\"{'cursor': dt.sortableRowGroup ? 'pointer' : 'auto'}\">\n <td [attr.colspan]=\"dt.visibleColumns().length\">\n <a href=\"#\" *ngIf=\"dt.expandableRowGroups\" (click)=\"dt.toggleRowGroup($event,rowData)\">\n <span class=\"fa fa-fw\" [ngClass]=\"dt.isRowGroupExpanded(rowData) ? dt.expandedIcon : dt.collapsedIcon\"></span>\n </a>\n <span class=\"ui-rowgroup-header-name\">\n <p-templateLoader [template]=\"dt.rowGroupHeaderTemplate\" [data]=\"rowData\"></p-templateLoader>\n </span>\n </td>\n </tr>\n <tr #rowElement *ngIf=\"!dt.expandableRowGroups||dt.isRowGroupExpanded(rowData)\"\n (click)=\"dt.handleRowClick($event, rowData, rowIndex)\" (dblclick)=\"dt.rowDblclick($event,rowData)\" (contextmenu)=\"dt.onRowRightClick($event,rowData)\" (touchend)=\"dt.handleRowTouchEnd($event)\"\n [ngClass]=\"[even&&dt.rowGroupMode!='rowspan'? 'ui-datatable-even':'',\n odd&&dt.rowGroupMode!='rowspan'?'ui-datatable-odd':'',\n dt.isSelected(rowData)? 'ui-state-highlight': '', \n dt.getRowStyleClass(rowData,rowIndex)]\">\n <ng-template ngFor let-col [ngForOf]=\"columns\" let-colIndex=\"index\">\n <td #cell *ngIf=\"!dt.rowGroupMode || (dt.rowGroupMode == 'subheader') ||\n (dt.rowGroupMode=='rowspan' && ((dt.sortField==col.field && dt.rowGroupMetadata[dt.resolveFieldData(rowData,dt.sortField)].index == rowIndex) || (dt.sortField!=col.field)))\"\n [ngStyle]=\"col.style\" [class]=\"col.styleClass\" (click)=\"dt.switchCellToEditMode(cell,col,rowData)\"\n [ngClass]=\"{'ui-editable-column':col.editable,'ui-selection-column':col.selectionMode, 'ui-helper-hidden': col.hidden}\"\n [attr.rowspan]=\"(dt.rowGroupMode=='rowspan' && dt.sortField == col.field && dt.rowGroupMetadata[dt.resolveFieldData(rowData,dt.sortField)].index == rowIndex) ? dt.rowGroupMetadata[dt.resolveFieldData(rowData,dt.sortField)].size : null\">\n <span class=\"ui-column-title\" *ngIf=\"dt.responsive\">{{col.header}}</span>\n <span class=\"ui-cell-data\" *ngIf=\"!col.bodyTemplate && !col.expander && !col.selectionMode\">{{dt.resolveFieldData(rowData,col.field)}}</span>\n <span class=\"ui-cell-data\" *ngIf=\"col.bodyTemplate\">\n <p-columnBodyTemplateLoader [column]=\"col\" [rowData]=\"rowData\" [rowIndex]=\"rowIndex + dt.first\"></p-columnBodyTemplateLoader>\n </span>\n <div class=\"ui-cell-editor\" *ngIf=\"col.editable\">\n <input *ngIf=\"!col.editorTemplate\" type=\"text\" [(ngModel)]=\"rowData[col.field]\" required=\"true\"\n (keydown)=\"dt.onCellEditorKeydown($event, col, rowData, rowIndex)\" class=\"ui-inputtext ui-widget ui-state-default ui-corner-all\"/>\n <a *ngIf=\"col.editorTemplate\" class=\"ui-cell-editor-proxy-focus\" href=\"#\" (focus)=\"dt.onCustomEditorFocusPrev($event, colIndex)\"></a>\n <p-columnEditorTemplateLoader *ngIf=\"col.editorTemplate\" [column]=\"col\" [rowData]=\"rowData\" [rowIndex]=\"rowIndex\"></p-columnEditorTemplateLoader>\n <a *ngIf=\"col.editorTemplate\" class=\"ui-cell-editor-proxy-focus\" href=\"#\" (focus)=\"dt.onCustomEditorFocusNext($event, colIndex)\"></a>\n </div>\n <a href=\"#\" *ngIf=\"col.expander\" (click)=\"dt.toggleRow(rowData,$event)\">\n <span class=\"ui-row-toggler fa fa-fw ui-clickable\" [ngClass]=\"dt.isRowExpanded(rowData) ? dt.expandedIcon : dt.collapsedIcon\"></span>\n </a>\n <p-dtRadioButton *ngIf=\"col.selectionMode=='single'\" (onClick)=\"dt.selectRowWithRadio($event, rowData)\" [checked]=\"dt.isSelected(rowData)\"></p-dtRadioButton>\n <p-dtCheckbox *ngIf=\"col.selectionMode=='multiple'\" (onChange)=\"dt.toggleRowWithCheckbox($event,rowData)\" [checked]=\"dt.isSelected(rowData)\"></p-dtCheckbox>\n </td>\n </ng-template>\n </tr>\n <tr class=\"ui-widget-header\" *ngIf=\"dt.rowGroupFooterTemplate && dt.rowGroupMode=='subheader' && ((rowIndex === dt.dataToRender.length - 1)||(dt.resolveFieldData(rowData,dt.groupField) !== dt.resolveFieldData(dt.dataToRender[rowIndex + 1],dt.groupField))) && (!dt.expandableRowGroups || dt.isRowGroupExpanded(rowData))\">\n <p-templateLoader class=\"ui-helper-hidden\" [data]=\"rowData\" [template]=\"dt.rowGroupFooterTemplate\"></p-templateLoader>\n </tr>\n <tr *ngIf=\"dt.expandableRows && dt.isRowExpanded(rowData)\">\n <td [attr.colspan]=\"dt.visibleColumns().length\">\n <p-rowExpansionLoader [rowData]=\"rowData\" [rowIndex]=\"rowIndex\" [template]=\"dt.rowExpansionTemplate\"></p-rowExpansionLoader>\n </td>\n </tr>\n </ng-template>\n\n <tr *ngIf=\"dt.isEmpty()\" class=\"ui-widget-content ui-datatable-emptymessage-row\">\n <td [attr.colspan]=\"dt.visibleColumns().length\" class=\"ui-datatable-emptymessage\">\n <span *ngIf=\"!dt.emptyMessageTemplate\">{{dt.emptyMessage}}</span>\n <p-templateLoader [template]=\"dt.emptyMessageTemplate\"></p-templateLoader>\n </td>\n </tr>\n "
|
167
171
|
}),
|
168
172
|
__param(0, core_1.Inject(core_1.forwardRef(function () { return DataTable; }))),
|
169
173
|
__metadata("design:paramtypes", [DataTable])
|
@@ -182,14 +186,19 @@ var ScrollableView = (function () {
|
|
182
186
|
this.initScrolling();
|
183
187
|
};
|
184
188
|
ScrollableView.prototype.ngAfterViewChecked = function () {
|
189
|
+
var _this = this;
|
185
190
|
if (this.virtualScroll && !this.rowHeight) {
|
186
|
-
var row = this.domHandler.findSingle(this.scrollTable, 'tr.ui-widget-content');
|
191
|
+
var row = this.domHandler.findSingle(this.scrollTable, 'tr.ui-widget-content:not(.ui-datatable-emptymessage-row)');
|
187
192
|
if (row) {
|
188
193
|
this.rowHeight = this.domHandler.getOuterHeight(row);
|
189
194
|
}
|
190
195
|
}
|
191
196
|
if (!this.frozen) {
|
192
|
-
this.
|
197
|
+
this.zone.runOutsideAngular(function () {
|
198
|
+
setTimeout(function () {
|
199
|
+
_this.alignScrollBar();
|
200
|
+
}, 1);
|
201
|
+
});
|
193
202
|
}
|
194
203
|
};
|
195
204
|
ScrollableView.prototype.initScrolling = function () {
|
@@ -309,7 +318,7 @@ __decorate([
|
|
309
318
|
ScrollableView = __decorate([
|
310
319
|
core_1.Component({
|
311
320
|
selector: '[pScrollableView]',
|
312
|
-
template: "\n <div #scrollHeader class=\"ui-widget-header ui-datatable-scrollable-header\" [ngStyle]=\"{'width': width}\">\n <div #scrollHeaderBox class=\"ui-datatable-scrollable-header-box\">\n <table [
|
321
|
+
template: "\n <div #scrollHeader class=\"ui-widget-header ui-datatable-scrollable-header\" [ngStyle]=\"{'width': width}\">\n <div #scrollHeaderBox class=\"ui-datatable-scrollable-header-box\">\n <table [ngClass]=\"dt.tableStyleClass\" [ngStyle]=\"dt.tableStyle\">\n <thead class=\"ui-datatable-thead\">\n <tr *ngIf=\"!dt.headerColumnGroup\" class=\"ui-state-default\" [pColumnHeaders]=\"columns\"></tr>\n <ng-template [ngIf]=\"dt.headerColumnGroup\">\n <tr *ngFor=\"let headerRow of dt.headerColumnGroup.rows\" class=\"ui-state-default\" [pColumnHeaders]=\"headerRow.columns\"></tr>\n </ng-template>\n </thead>\n <tbody *ngIf=\"dt.frozenValue\" [ngClass]=\"{'ui-datatable-data ui-widget-content': true, 'ui-datatable-hoverable-rows': (dt.rowHover||dt.selectionMode)}\" [pTableBody]=\"columns\" [data]=\"dt.frozenValue\"></tbody>\n </table>\n </div>\n </div>\n <div #scrollBody class=\"ui-datatable-scrollable-body\" [ngStyle]=\"{'width': width,'max-height':dt.scrollHeight}\">\n <div #scrollTableWrapper class=\"ui-datatable-scrollable-table-wrapper\" style=\"position:relative\">\n <table #scrollTable [class]=\"dt.tableStyleClass\" [ngStyle]=\"dt.tableStyle\" [ngClass]=\"{'ui-datatable-virtual-table':virtualScroll}\" style=\"top:0px\">\n <colgroup class=\"ui-datatable-scrollable-colgroup\">\n <col *ngFor=\"let col of columns\" [ngStyle]=\"col.style\" [ngClass]=\"{'ui-helper-hidden': col.hidden}\"/>\n </colgroup>\n <tbody [ngClass]=\"{'ui-datatable-data ui-widget-content': true, 'ui-datatable-hoverable-rows': (dt.rowHover||dt.selectionMode)}\" [pTableBody]=\"columns\" [data]=\"dt.dataToRender\"></tbody>\n </table>\n </div>\n </div>\n <div #scrollFooter class=\"ui-widget-header ui-datatable-scrollable-footer\" [ngStyle]=\"{'width': width}\" *ngIf=\"dt.hasFooter()\">\n <div #scrollFooterBox class=\"ui-datatable-scrollable-footer-box\">\n <table [ngClass]=\"dt.tableStyleClass\" [ngStyle]=\"dt.tableStyle\">\n <tfoot class=\"ui-datatable-tfoot\">\n <tr *ngIf=\"!dt.footerColumnGroup\" [pColumnFooters]=\"columns\" class=\"ui-state-default\"></tr>\n <ng-template [ngIf]=\"dt.footerColumnGroup\">\n <tr *ngFor=\"let footerRow of dt.footerColumnGroup.rows\" class=\"ui-state-default\" [pColumnFooters]=\"footerRow.columns\"></tr>\n </ng-template>\n </tfoot>\n </table>\n </div>\n </div>\n "
|
313
322
|
}),
|
314
323
|
__param(0, core_1.Inject(core_1.forwardRef(function () { return DataTable; }))),
|
315
324
|
__metadata("design:paramtypes", [DataTable, domhandler_1.DomHandler, core_1.ElementRef, core_1.Renderer2, core_1.NgZone])
|
@@ -339,6 +348,7 @@ var DataTable = (function () {
|
|
339
348
|
this.onColReorder = new core_1.EventEmitter();
|
340
349
|
this.sortMode = 'single';
|
341
350
|
this.sortOrder = 1;
|
351
|
+
this.defaultSortOrder = 1;
|
342
352
|
this.csvSeparator = ',';
|
343
353
|
this.exportFilename = 'download';
|
344
354
|
this.emptyMessage = 'No records found';
|
@@ -356,10 +366,15 @@ var DataTable = (function () {
|
|
356
366
|
this.onSort = new core_1.EventEmitter();
|
357
367
|
this.onFilter = new core_1.EventEmitter();
|
358
368
|
this.rowExpandMode = 'multiple';
|
369
|
+
this.expandedIcon = 'fa-chevron-circle-down';
|
370
|
+
this.collapsedIcon = 'fa-chevron-circle-right';
|
359
371
|
this.tabindex = 1;
|
360
372
|
this.sortableRowGroup = true;
|
361
373
|
this.filters = {};
|
362
374
|
this.loadingIcon = 'fa-circle-o-notch';
|
375
|
+
this.enableLoader = true;
|
376
|
+
this.virtualScrollDelay = 500;
|
377
|
+
this.valueChange = new core_1.EventEmitter();
|
363
378
|
this.firstChange = new core_1.EventEmitter();
|
364
379
|
this.onRowExpand = new core_1.EventEmitter();
|
365
380
|
this.onRowCollapse = new core_1.EventEmitter();
|
@@ -455,6 +470,9 @@ var DataTable = (function () {
|
|
455
470
|
case 'rowgroupfooter':
|
456
471
|
_this.rowGroupFooterTemplate = item.template;
|
457
472
|
break;
|
473
|
+
case 'emptymessage':
|
474
|
+
_this.emptyMessageTemplate = item.template;
|
475
|
+
break;
|
458
476
|
}
|
459
477
|
});
|
460
478
|
};
|
@@ -468,25 +486,29 @@ var DataTable = (function () {
|
|
468
486
|
}
|
469
487
|
this.columnsChanged = false;
|
470
488
|
}
|
471
|
-
if (this.totalRecordsChanged && this.virtualScroll) {
|
472
|
-
var
|
473
|
-
var row = this.domHandler.findSingle(scrollableTable, 'tr.ui-widget-content');
|
489
|
+
if (this.totalRecordsChanged && this.virtualScroll && this.virtualScrollableTableWrapper && this.virtualScrollableTableWrapper.offsetParent) {
|
490
|
+
var row = this.domHandler.findSingle(this.virtualScrollableTableWrapper, 'tr.ui-widget-content');
|
474
491
|
var rowHeight = this.domHandler.getOuterHeight(row);
|
475
492
|
this.virtualTableHeight = this._totalRecords * rowHeight;
|
476
|
-
|
477
|
-
this.totalRecordsChanged =
|
493
|
+
this.virtualScrollableTableWrapper.style.height = this.virtualTableHeight + 'px';
|
494
|
+
this.totalRecordsChanged = false;
|
478
495
|
}
|
479
496
|
};
|
480
497
|
DataTable.prototype.ngAfterViewInit = function () {
|
481
498
|
var _this = this;
|
482
499
|
if (this.globalFilter) {
|
483
500
|
this.globalFilterFunction = this.renderer.listen(this.globalFilter, 'keyup', function () {
|
501
|
+
if (_this.filterTimeout) {
|
502
|
+
clearTimeout(_this.filterTimeout);
|
503
|
+
}
|
484
504
|
_this.filterTimeout = setTimeout(function () {
|
485
505
|
_this._filter();
|
486
506
|
_this.filterTimeout = null;
|
487
507
|
}, _this.filterDelay);
|
488
508
|
});
|
489
509
|
}
|
510
|
+
this.virtualScrollableTableWrapper = this.domHandler.findSingle(this.el.nativeElement, 'div.ui-datatable-scrollable-table-wrapper');
|
511
|
+
this.initialized = true;
|
490
512
|
};
|
491
513
|
Object.defineProperty(DataTable.prototype, "value", {
|
492
514
|
get: function () {
|
@@ -500,6 +522,7 @@ var DataTable = (function () {
|
|
500
522
|
else {
|
501
523
|
this._value = val;
|
502
524
|
}
|
525
|
+
this.valueChange.emit(this.value);
|
503
526
|
},
|
504
527
|
enumerable: true,
|
505
528
|
configurable: true
|
@@ -509,7 +532,7 @@ var DataTable = (function () {
|
|
509
532
|
return this._first;
|
510
533
|
},
|
511
534
|
set: function (val) {
|
512
|
-
var shouldPaginate = this._first !== val;
|
535
|
+
var shouldPaginate = this.initialized && this._first !== val;
|
513
536
|
this._first = val;
|
514
537
|
if (shouldPaginate) {
|
515
538
|
this.paginate();
|
@@ -559,6 +582,9 @@ var DataTable = (function () {
|
|
559
582
|
};
|
560
583
|
DataTable.prototype.handleDataChange = function () {
|
561
584
|
var _this = this;
|
585
|
+
if (this.lazy && this.enableLoader) {
|
586
|
+
this.loading = false;
|
587
|
+
}
|
562
588
|
if (this.paginator) {
|
563
589
|
this.updatePaginator();
|
564
590
|
}
|
@@ -586,9 +612,9 @@ var DataTable = (function () {
|
|
586
612
|
this.columns = this.cols.toArray();
|
587
613
|
if (this.scrollable) {
|
588
614
|
this.scrollableColumns = [];
|
615
|
+
this.frozenColumns = [];
|
589
616
|
this.cols.forEach(function (col) {
|
590
617
|
if (col.frozen) {
|
591
|
-
_this.frozenColumns = _this.frozenColumns || [];
|
592
618
|
_this.frozenColumns.push(col);
|
593
619
|
}
|
594
620
|
else {
|
@@ -689,11 +715,19 @@ var DataTable = (function () {
|
|
689
715
|
}
|
690
716
|
};
|
691
717
|
DataTable.prototype.onVirtualScroll = function (event) {
|
718
|
+
var _this = this;
|
692
719
|
this._first = (event.page - 1) * this.rows;
|
693
|
-
|
694
|
-
|
695
|
-
|
696
|
-
|
720
|
+
this.zone.run(function () {
|
721
|
+
if (_this.virtualScrollTimer) {
|
722
|
+
clearTimeout(_this.virtualScrollTimer);
|
723
|
+
}
|
724
|
+
_this.virtualScrollTimer = setTimeout(function () {
|
725
|
+
if (_this.lazy)
|
726
|
+
_this.onLazyLoad.emit(_this.createLazyLoadMetadata());
|
727
|
+
else
|
728
|
+
_this.updateDataToRender(_this.filteredValue || _this.value);
|
729
|
+
}, _this.virtualScrollDelay);
|
730
|
+
});
|
697
731
|
};
|
698
732
|
DataTable.prototype.onHeaderKeydown = function (event, column) {
|
699
733
|
if (event.keyCode == 13) {
|
@@ -721,7 +755,7 @@ var DataTable = (function () {
|
|
721
755
|
this.preventSortPropagation = true;
|
722
756
|
}
|
723
757
|
var columnSortField = column.sortField || column.field;
|
724
|
-
this.sortOrder = (this.sortField === columnSortField) ? this.sortOrder * -1 :
|
758
|
+
this.sortOrder = (this.sortField === columnSortField) ? this.sortOrder * -1 : this.defaultSortOrder;
|
725
759
|
this.sortField = columnSortField;
|
726
760
|
this.sortColumn = column;
|
727
761
|
var metaKey = event.metaKey || event.ctrlKey;
|
@@ -777,7 +811,7 @@ var DataTable = (function () {
|
|
777
811
|
return (_this.sortOrder * result);
|
778
812
|
});
|
779
813
|
}
|
780
|
-
this.
|
814
|
+
this._first = 0;
|
781
815
|
if (this.hasFilter()) {
|
782
816
|
this._filter();
|
783
817
|
}
|
@@ -944,14 +978,6 @@ var DataTable = (function () {
|
|
944
978
|
return;
|
945
979
|
}
|
946
980
|
var targetNode = event.target.nodeName;
|
947
|
-
if (this.editable) {
|
948
|
-
var cell = this.findCell(event.target);
|
949
|
-
var column = this.columns[this.domHandler.index(cell)];
|
950
|
-
if (column.editable) {
|
951
|
-
this.switchCellToEditMode(cell, column, rowData);
|
952
|
-
return;
|
953
|
-
}
|
954
|
-
}
|
955
981
|
if (targetNode == 'INPUT' || targetNode == 'BUTTON' || targetNode == 'A' || (this.domHandler.hasClass(event.target, 'ui-clickable'))) {
|
956
982
|
return;
|
957
983
|
}
|
@@ -1229,10 +1255,10 @@ var DataTable = (function () {
|
|
1229
1255
|
var localMatch = true;
|
1230
1256
|
var globalMatch = false;
|
1231
1257
|
for (var j = 0; j < this.columns.length; j++) {
|
1232
|
-
var col = this.columns[j], filterMeta = this.filters[col.field];
|
1258
|
+
var col = this.columns[j], filterMeta = this.filters[col.filterField || col.field];
|
1233
1259
|
//local
|
1234
1260
|
if (filterMeta) {
|
1235
|
-
var filterValue = filterMeta.value, filterField = col.field, filterMatchMode = filterMeta.matchMode || 'startsWith', dataFieldValue = this.resolveFieldData(this.value[i], filterField);
|
1261
|
+
var filterValue = filterMeta.value, filterField = col.filterField || col.field, filterMatchMode = filterMeta.matchMode || 'startsWith', dataFieldValue = this.resolveFieldData(this.value[i], filterField);
|
1236
1262
|
var filterConstraint = this.filterConstraints[filterMatchMode];
|
1237
1263
|
if (!filterConstraint(dataFieldValue, filterValue)) {
|
1238
1264
|
localMatch = false;
|
@@ -1243,7 +1269,7 @@ var DataTable = (function () {
|
|
1243
1269
|
}
|
1244
1270
|
//global
|
1245
1271
|
if (this.globalFilter && !globalMatch) {
|
1246
|
-
globalMatch = this.filterConstraints['contains'](this.resolveFieldData(this.value[i], col.field), this.globalFilter.value);
|
1272
|
+
globalMatch = this.filterConstraints['contains'](this.resolveFieldData(this.value[i], col.filterField || col.field), this.globalFilter.value);
|
1247
1273
|
}
|
1248
1274
|
}
|
1249
1275
|
var matches = localMatch;
|
@@ -1302,7 +1328,7 @@ var DataTable = (function () {
|
|
1302
1328
|
DataTable.prototype.switchCellToViewMode = function (element) {
|
1303
1329
|
this.editingCell = null;
|
1304
1330
|
var cell = this.findCell(element);
|
1305
|
-
this.domHandler.removeClass(
|
1331
|
+
this.domHandler.removeClass(cell, 'ui-cell-editing');
|
1306
1332
|
this.unbindDocumentEditListener();
|
1307
1333
|
};
|
1308
1334
|
DataTable.prototype.closeCell = function () {
|
@@ -1415,11 +1441,16 @@ var DataTable = (function () {
|
|
1415
1441
|
this.moveToNextCell(event);
|
1416
1442
|
};
|
1417
1443
|
DataTable.prototype.findCell = function (element) {
|
1418
|
-
|
1419
|
-
|
1420
|
-
cell
|
1444
|
+
if (element) {
|
1445
|
+
var cell = element;
|
1446
|
+
while (cell && cell.tagName != 'TD') {
|
1447
|
+
cell = cell.parentElement;
|
1448
|
+
}
|
1449
|
+
return cell;
|
1450
|
+
}
|
1451
|
+
else {
|
1452
|
+
return null;
|
1421
1453
|
}
|
1422
|
-
return cell;
|
1423
1454
|
};
|
1424
1455
|
DataTable.prototype.initResizableColumns = function () {
|
1425
1456
|
this.tbody = this.domHandler.findSingle(this.el.nativeElement, 'tbody.ui-datatable-data');
|
@@ -1598,7 +1629,7 @@ var DataTable = (function () {
|
|
1598
1629
|
allowDrop = false;
|
1599
1630
|
}
|
1600
1631
|
if (allowDrop) {
|
1601
|
-
this.
|
1632
|
+
this.objectUtils.reorderArray(this.columns, dragIndex, dropIndex);
|
1602
1633
|
this.onColReorder.emit({
|
1603
1634
|
dragIndex: dragIndex,
|
1604
1635
|
dropIndex: dropIndex,
|
@@ -1639,7 +1670,7 @@ var DataTable = (function () {
|
|
1639
1670
|
else {
|
1640
1671
|
if (this.columns) {
|
1641
1672
|
for (var i = 0; i < this.columns.length; i++) {
|
1642
|
-
if (this.columns[i].footer) {
|
1673
|
+
if (this.columns[i].footer || this.columns[i].footerTemplate) {
|
1643
1674
|
return true;
|
1644
1675
|
}
|
1645
1676
|
}
|
@@ -1651,6 +1682,9 @@ var DataTable = (function () {
|
|
1651
1682
|
return !this.dataToRender || (this.dataToRender.length == 0);
|
1652
1683
|
};
|
1653
1684
|
DataTable.prototype.createLazyLoadMetadata = function () {
|
1685
|
+
if (this.enableLoader) {
|
1686
|
+
this.loading = true;
|
1687
|
+
}
|
1654
1688
|
return {
|
1655
1689
|
first: this.first,
|
1656
1690
|
rows: this.virtualScroll ? this.rows * 2 : this.rows,
|
@@ -1811,6 +1845,12 @@ var DataTable = (function () {
|
|
1811
1845
|
styleClass += ' ' + rowClass;
|
1812
1846
|
}
|
1813
1847
|
}
|
1848
|
+
else if (this.rowStyleMap && this.dataKey) {
|
1849
|
+
var rowClass = this.rowStyleMap[rowData[this.dataKey]];
|
1850
|
+
if (rowClass) {
|
1851
|
+
styleClass += ' ' + rowClass;
|
1852
|
+
}
|
1853
|
+
}
|
1814
1854
|
return styleClass;
|
1815
1855
|
};
|
1816
1856
|
DataTable.prototype.visibleColumns = function () {
|
@@ -1833,6 +1873,9 @@ var DataTable = (function () {
|
|
1833
1873
|
enumerable: true,
|
1834
1874
|
configurable: true
|
1835
1875
|
});
|
1876
|
+
DataTable.prototype.hasFrozenColumns = function () {
|
1877
|
+
return this.frozenColumns && this.frozenColumns.length > 0;
|
1878
|
+
};
|
1836
1879
|
DataTable.prototype.ngOnDestroy = function () {
|
1837
1880
|
//remove event listener
|
1838
1881
|
if (this.globalFilterFunction) {
|
@@ -2000,6 +2043,10 @@ __decorate([
|
|
2000
2043
|
core_1.Input(),
|
2001
2044
|
__metadata("design:type", Number)
|
2002
2045
|
], DataTable.prototype, "sortOrder", void 0);
|
2046
|
+
__decorate([
|
2047
|
+
core_1.Input(),
|
2048
|
+
__metadata("design:type", Number)
|
2049
|
+
], DataTable.prototype, "defaultSortOrder", void 0);
|
2003
2050
|
__decorate([
|
2004
2051
|
core_1.Input(),
|
2005
2052
|
__metadata("design:type", String)
|
@@ -2044,6 +2091,10 @@ __decorate([
|
|
2044
2091
|
core_1.Input(),
|
2045
2092
|
__metadata("design:type", Boolean)
|
2046
2093
|
], DataTable.prototype, "immutable", void 0);
|
2094
|
+
__decorate([
|
2095
|
+
core_1.Input(),
|
2096
|
+
__metadata("design:type", Array)
|
2097
|
+
], DataTable.prototype, "frozenValue", void 0);
|
2047
2098
|
__decorate([
|
2048
2099
|
core_1.Input(),
|
2049
2100
|
__metadata("design:type", String)
|
@@ -2104,6 +2155,14 @@ __decorate([
|
|
2104
2155
|
core_1.Input(),
|
2105
2156
|
__metadata("design:type", Array)
|
2106
2157
|
], DataTable.prototype, "expandedRowsGroups", void 0);
|
2158
|
+
__decorate([
|
2159
|
+
core_1.Input(),
|
2160
|
+
__metadata("design:type", String)
|
2161
|
+
], DataTable.prototype, "expandedIcon", void 0);
|
2162
|
+
__decorate([
|
2163
|
+
core_1.Input(),
|
2164
|
+
__metadata("design:type", String)
|
2165
|
+
], DataTable.prototype, "collapsedIcon", void 0);
|
2107
2166
|
__decorate([
|
2108
2167
|
core_1.Input(),
|
2109
2168
|
__metadata("design:type", Number)
|
@@ -2112,6 +2171,10 @@ __decorate([
|
|
2112
2171
|
core_1.Input(),
|
2113
2172
|
__metadata("design:type", Function)
|
2114
2173
|
], DataTable.prototype, "rowStyleClass", void 0);
|
2174
|
+
__decorate([
|
2175
|
+
core_1.Input(),
|
2176
|
+
__metadata("design:type", Object)
|
2177
|
+
], DataTable.prototype, "rowStyleMap", void 0);
|
2115
2178
|
__decorate([
|
2116
2179
|
core_1.Input(),
|
2117
2180
|
__metadata("design:type", String)
|
@@ -2144,6 +2207,18 @@ __decorate([
|
|
2144
2207
|
core_1.Input(),
|
2145
2208
|
__metadata("design:type", String)
|
2146
2209
|
], DataTable.prototype, "loadingIcon", void 0);
|
2210
|
+
__decorate([
|
2211
|
+
core_1.Input(),
|
2212
|
+
__metadata("design:type", Boolean)
|
2213
|
+
], DataTable.prototype, "enableLoader", void 0);
|
2214
|
+
__decorate([
|
2215
|
+
core_1.Input(),
|
2216
|
+
__metadata("design:type", Number)
|
2217
|
+
], DataTable.prototype, "virtualScrollDelay", void 0);
|
2218
|
+
__decorate([
|
2219
|
+
core_1.Output(),
|
2220
|
+
__metadata("design:type", core_1.EventEmitter)
|
2221
|
+
], DataTable.prototype, "valueChange", void 0);
|
2147
2222
|
__decorate([
|
2148
2223
|
core_1.Output(),
|
2149
2224
|
__metadata("design:type", core_1.EventEmitter)
|
@@ -2203,7 +2278,7 @@ __decorate([
|
|
2203
2278
|
DataTable = __decorate([
|
2204
2279
|
core_1.Component({
|
2205
2280
|
selector: 'p-dataTable',
|
2206
|
-
template: "\n <div [ngStyle]=\"style\" [class]=\"styleClass\" [style.width]=\"containerWidth\"\n [ngClass]=\"{'ui-datatable ui-widget':true,'ui-datatable-reflow':responsive,'ui-datatable-stacked':stacked,'ui-datatable-resizable':resizableColumns,'ui-datatable-scrollable':scrollable}\">\n <div class=\"ui-datatable-loading ui-widget-overlay\" *ngIf=\"loading\"></div>\n <div class=\"ui-datatable-loading-content\" *ngIf=\"loading\">\n <i [class]=\"'fa fa-spin fa-2x ' + loadingIcon\"></i>\n </div>\n <div class=\"ui-datatable-header ui-widget-header\" *ngIf=\"header\">\n <ng-content select=\"p-header\"></ng-content>\n </div>\n <p-paginator [rows]=\"rows\" [first]=\"first\" [totalRecords]=\"totalRecords\" [pageLinkSize]=\"pageLinks\" styleClass=\"ui-paginator-top\" [alwaysShow]=\"alwaysShowPaginator\"\n (onPageChange)=\"onPageChange($event)\" [rowsPerPageOptions]=\"rowsPerPageOptions\" *ngIf=\"paginator && paginatorPosition =='top' || paginatorPosition =='both'\"></p-paginator>\n <div class=\"ui-datatable-tablewrapper\" *ngIf=\"!scrollable\">\n <table [
|
2281
|
+
template: "\n <div [ngStyle]=\"style\" [class]=\"styleClass\" [style.width]=\"containerWidth\"\n [ngClass]=\"{'ui-datatable ui-widget':true,'ui-datatable-reflow':responsive,'ui-datatable-stacked':stacked,'ui-datatable-resizable':resizableColumns,'ui-datatable-scrollable':scrollable}\">\n <div class=\"ui-datatable-loading ui-widget-overlay\" *ngIf=\"loading\"></div>\n <div class=\"ui-datatable-loading-content\" *ngIf=\"loading\">\n <i [class]=\"'fa fa-spin fa-2x ' + loadingIcon\"></i>\n </div>\n <div class=\"ui-datatable-header ui-widget-header\" *ngIf=\"header\">\n <ng-content select=\"p-header\"></ng-content>\n </div>\n <p-paginator [rows]=\"rows\" [first]=\"first\" [totalRecords]=\"totalRecords\" [pageLinkSize]=\"pageLinks\" styleClass=\"ui-paginator-top\" [alwaysShow]=\"alwaysShowPaginator\"\n (onPageChange)=\"onPageChange($event)\" [rowsPerPageOptions]=\"rowsPerPageOptions\" *ngIf=\"paginator && paginatorPosition =='top' || paginatorPosition =='both'\"></p-paginator>\n <div class=\"ui-datatable-tablewrapper\" *ngIf=\"!scrollable\">\n <table [ngClass]=\"tableStyleClass\" [ngStyle]=\"tableStyle\">\n <thead class=\"ui-datatable-thead\">\n <tr *ngIf=\"!headerColumnGroup\" class=\"ui-state-default\" [pColumnHeaders]=\"columns\"></tr>\n <ng-template [ngIf]=\"headerColumnGroup\">\n <tr *ngFor=\"let headerRow of headerColumnGroup.rows\" class=\"ui-state-default\" [pColumnHeaders]=\"headerRow.columns\"></tr>\n </ng-template>\n </thead>\n <tfoot *ngIf=\"hasFooter()\" class=\"ui-datatable-tfoot\">\n <tr *ngIf=\"!footerColumnGroup\" class=\"ui-state-default\" [pColumnFooters]=\"columns\"></tr>\n <ng-template [ngIf]=\"footerColumnGroup\">\n <tr *ngFor=\"let footerRow of footerColumnGroup.rows\" class=\"ui-state-default\" [pColumnFooters]=\"footerRow.columns\"></tr>\n </ng-template>\n </tfoot>\n <tbody [ngClass]=\"{'ui-datatable-data ui-widget-content': true, 'ui-datatable-hoverable-rows': (rowHover||selectionMode)}\" [pTableBody]=\"columns\" [data]=\"dataToRender\"></tbody>\n </table>\n </div>\n \n <ng-template [ngIf]=\"scrollable\">\n <div class=\"ui-datatable-scrollable-wrapper ui-helper-clearfix\" [ngClass]=\"{'max-height':scrollHeight}\">\n <div *ngIf=\"hasFrozenColumns()\" [pScrollableView]=\"frozenColumns\" frozen=\"true\" \n [ngStyle]=\"{'width':this.frozenWidth}\" class=\"ui-datatable-scrollable-view ui-datatable-frozen-view\"></div>\n <div [pScrollableView]=\"scrollableColumns\" [ngStyle]=\"{'width':this.unfrozenWidth, 'left': this.frozenWidth}\"\n class=\"ui-datatable-scrollable-view\" [virtualScroll]=\"virtualScroll\" (onVirtualScroll)=\"onVirtualScroll($event)\"\n [ngClass]=\"{'ui-datatable-unfrozen-view': hasFrozenColumns()}\"></div>\n </div>\n </ng-template>\n \n <p-paginator [rows]=\"rows\" [first]=\"first\" [totalRecords]=\"totalRecords\" [pageLinkSize]=\"pageLinks\" styleClass=\"ui-paginator-bottom\" [alwaysShow]=\"alwaysShowPaginator\"\n (onPageChange)=\"onPageChange($event)\" [rowsPerPageOptions]=\"rowsPerPageOptions\" *ngIf=\"paginator && paginatorPosition =='bottom' || paginatorPosition =='both'\"></p-paginator>\n <div class=\"ui-datatable-footer ui-widget-header\" *ngIf=\"footer\">\n <ng-content select=\"p-footer\"></ng-content>\n </div>\n \n <div class=\"ui-column-resizer-helper ui-state-highlight\" style=\"display:none\"></div>\n <span class=\"fa fa-arrow-down ui-datatable-reorder-indicator-up\" style=\"position: absolute; display: none;\"></span>\n <span class=\"fa fa-arrow-up ui-datatable-reorder-indicator-down\" style=\"position: absolute; display: none;\"></span>\n </div>\n ",
|
2207
2282
|
providers: [domhandler_1.DomHandler, objectutils_1.ObjectUtils]
|
2208
2283
|
}),
|
2209
2284
|
__metadata("design:paramtypes", [core_1.ElementRef, domhandler_1.DomHandler, core_1.IterableDiffers,
|