primevue 3.7.0 → 3.8.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/autocomplete/AutoComplete.d.ts +1 -0
- package/autocomplete/AutoComplete.vue +8 -1
- package/autocomplete/autocomplete.cjs.js +8 -1
- package/autocomplete/autocomplete.cjs.min.js +1 -1
- package/autocomplete/autocomplete.esm.js +8 -1
- package/autocomplete/autocomplete.esm.min.js +1 -1
- package/autocomplete/autocomplete.js +8 -1
- package/autocomplete/autocomplete.min.js +1 -1
- package/blockui/BlockUI.vue +1 -1
- package/blockui/blockui.cjs.js +1 -1
- package/blockui/blockui.cjs.min.js +1 -1
- package/blockui/blockui.esm.js +1 -1
- package/blockui/blockui.esm.min.js +1 -1
- package/blockui/blockui.js +1 -1
- package/blockui/blockui.min.js +1 -1
- package/breadcrumb/Breadcrumb.vue +4 -0
- package/breadcrumb/breadcrumb.cjs.js +1 -1
- package/breadcrumb/breadcrumb.cjs.min.js +1 -1
- package/breadcrumb/breadcrumb.esm.js +1 -1
- package/breadcrumb/breadcrumb.esm.min.js +1 -1
- package/breadcrumb/breadcrumb.js +1 -1
- package/breadcrumb/breadcrumb.min.js +1 -1
- package/confirmationservice/ConfirmationService.d.ts +3 -2
- package/core/core.js +7574 -0
- package/core/core.min.js +47 -0
- package/datatable/BodyCell.vue +36 -17
- package/datatable/ColumnFilter.vue +3 -3
- package/datatable/DataTable.d.ts +1 -1
- package/datatable/DataTable.vue +109 -69
- package/datatable/FooterCell.vue +2 -2
- package/datatable/HeaderCell.vue +2 -2
- package/datatable/TableBody.vue +10 -5
- package/datatable/TableFooter.vue +2 -1
- package/datatable/TableHeader.vue +3 -2
- package/datatable/datatable.cjs.js +192 -122
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.esm.js +192 -122
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +192 -122
- package/datatable/datatable.min.js +1 -1
- package/dock/Dock.d.ts +1 -0
- package/dock/Dock.vue +1 -1
- package/dock/DockSub.vue +13 -8
- package/dock/dock.cjs.js +24 -10
- package/dock/dock.cjs.min.js +1 -1
- package/dock/dock.esm.js +20 -10
- package/dock/dock.esm.min.js +1 -1
- package/dock/dock.js +25 -12
- package/dock/dock.min.js +1 -1
- package/dropdown/Dropdown.vue +9 -8
- package/dropdown/dropdown.cjs.js +13 -11
- package/dropdown/dropdown.cjs.min.js +1 -1
- package/dropdown/dropdown.esm.js +13 -11
- package/dropdown/dropdown.esm.min.js +1 -1
- package/dropdown/dropdown.js +13 -11
- package/dropdown/dropdown.min.js +1 -1
- package/galleria/Galleria.vue +1 -0
- package/galleria/GalleriaContent.vue +10 -1
- package/galleria/galleria.cjs.js +11 -2
- package/galleria/galleria.cjs.min.js +1 -1
- package/galleria/galleria.esm.js +11 -2
- package/galleria/galleria.esm.min.js +1 -1
- package/galleria/galleria.js +11 -2
- package/galleria/galleria.min.js +1 -1
- package/inplace/Inplace.d.ts +1 -0
- package/inplace/Inplace.vue +12 -1
- package/inplace/inplace.cjs.js +13 -2
- package/inplace/inplace.cjs.min.js +1 -1
- package/inplace/inplace.esm.js +13 -2
- package/inplace/inplace.esm.min.js +1 -1
- package/inplace/inplace.js +13 -2
- package/inplace/inplace.min.js +1 -1
- package/inputnumber/InputNumber.d.ts +2 -0
- package/inputnumber/InputNumber.vue +84 -35
- package/inputnumber/inputnumber.cjs.js +84 -35
- package/inputnumber/inputnumber.cjs.min.js +1 -1
- package/inputnumber/inputnumber.esm.js +84 -35
- package/inputnumber/inputnumber.esm.min.js +1 -1
- package/inputnumber/inputnumber.js +84 -35
- package/inputnumber/inputnumber.min.js +1 -1
- package/inputswitch/InputSwitch.vue +6 -3
- package/inputswitch/inputswitch.cjs.js +6 -3
- package/inputswitch/inputswitch.cjs.min.js +1 -1
- package/inputswitch/inputswitch.esm.js +6 -3
- package/inputswitch/inputswitch.esm.min.js +1 -1
- package/inputswitch/inputswitch.js +6 -3
- package/inputswitch/inputswitch.min.js +1 -1
- package/knob/Knob.vue +1 -1
- package/knob/knob.cjs.js +1 -1
- package/knob/knob.esm.js +1 -1
- package/knob/knob.js +1 -1
- package/overlaypanel/OverlayPanel.d.ts +2 -0
- package/overlaypanel/OverlayPanel.vue +4 -1
- package/overlaypanel/overlaypanel.cjs.js +7 -3
- package/overlaypanel/overlaypanel.cjs.min.js +1 -1
- package/overlaypanel/overlaypanel.esm.js +7 -3
- package/overlaypanel/overlaypanel.esm.min.js +1 -1
- package/overlaypanel/overlaypanel.js +7 -3
- package/overlaypanel/overlaypanel.min.js +1 -1
- package/package.json +1 -1
- package/paginator/CurrentPageReport.vue +5 -1
- package/paginator/JumpToPageInput.vue +1 -1
- package/paginator/Paginator.vue +6 -3
- package/paginator/paginator.cjs.js +12 -4
- package/paginator/paginator.cjs.min.js +1 -1
- package/paginator/paginator.esm.js +12 -4
- package/paginator/paginator.esm.min.js +1 -1
- package/paginator/paginator.js +12 -4
- package/paginator/paginator.min.js +1 -1
- package/panelmenu/PanelMenuSub.vue +4 -4
- package/panelmenu/panelmenu.cjs.js +4 -4
- package/panelmenu/panelmenu.cjs.min.js +1 -1
- package/panelmenu/panelmenu.esm.js +4 -4
- package/panelmenu/panelmenu.esm.min.js +1 -1
- package/panelmenu/panelmenu.js +4 -4
- package/panelmenu/panelmenu.min.js +1 -1
- package/resources/primevue.css +3 -0
- package/resources/primevue.min.css +1 -1
- package/resources/themes/arya-blue/theme.css +6 -1
- package/resources/themes/arya-green/theme.css +6 -1
- package/resources/themes/arya-orange/theme.css +6 -1
- package/resources/themes/arya-purple/theme.css +6 -1
- package/resources/themes/bootstrap4-dark-blue/theme.css +6 -1
- package/resources/themes/bootstrap4-dark-purple/theme.css +6 -1
- package/resources/themes/bootstrap4-light-blue/theme.css +6 -1
- package/resources/themes/bootstrap4-light-purple/theme.css +6 -1
- package/resources/themes/fluent-light/theme.css +6 -1
- package/resources/themes/luna-amber/theme.css +6 -1
- package/resources/themes/luna-blue/theme.css +6 -1
- package/resources/themes/luna-green/theme.css +6 -1
- package/resources/themes/luna-pink/theme.css +6 -1
- package/resources/themes/md-dark-deeppurple/theme.css +6 -1
- package/resources/themes/md-dark-indigo/theme.css +6 -1
- package/resources/themes/md-light-deeppurple/theme.css +6 -1
- package/resources/themes/md-light-indigo/theme.css +6 -1
- package/resources/themes/mdc-dark-deeppurple/theme.css +6 -1
- package/resources/themes/mdc-dark-indigo/theme.css +6 -1
- package/resources/themes/mdc-light-deeppurple/theme.css +6 -1
- package/resources/themes/mdc-light-indigo/theme.css +6 -1
- package/resources/themes/nova/theme.css +6 -1
- package/resources/themes/nova-accent/theme.css +6 -1
- package/resources/themes/nova-alt/theme.css +6 -1
- package/resources/themes/nova-vue/theme.css +6 -1
- package/resources/themes/rhea/theme.css +6 -1
- package/resources/themes/saga-blue/theme.css +6 -1
- package/resources/themes/saga-green/theme.css +6 -1
- package/resources/themes/saga-orange/theme.css +6 -1
- package/resources/themes/saga-purple/theme.css +6 -1
- package/resources/themes/tailwind-light/fonts/Inter-Bold.woff +0 -0
- package/resources/themes/tailwind-light/fonts/Inter-Bold.woff2 +0 -0
- package/resources/themes/tailwind-light/fonts/Inter-Light.woff +0 -0
- package/resources/themes/tailwind-light/fonts/Inter-Light.woff2 +0 -0
- package/resources/themes/tailwind-light/fonts/Inter-Medium.woff +0 -0
- package/resources/themes/tailwind-light/fonts/Inter-Medium.woff2 +0 -0
- package/resources/themes/tailwind-light/fonts/Inter-Regular.woff +0 -0
- package/resources/themes/tailwind-light/fonts/Inter-Regular.woff2 +0 -0
- package/resources/themes/tailwind-light/fonts/Inter-SemiBold.woff +0 -0
- package/resources/themes/tailwind-light/fonts/Inter-SemiBold.woff2 +0 -0
- package/resources/themes/tailwind-light/theme.css +5440 -0
- package/resources/themes/vela-blue/theme.css +6 -1
- package/resources/themes/vela-green/theme.css +6 -1
- package/resources/themes/vela-orange/theme.css +6 -1
- package/resources/themes/vela-purple/theme.css +6 -1
- package/speeddial/SpeedDial.vue +2 -1
- package/speeddial/speeddial.cjs.js +2 -1
- package/speeddial/speeddial.cjs.min.js +1 -1
- package/speeddial/speeddial.esm.js +2 -1
- package/speeddial/speeddial.esm.min.js +1 -1
- package/speeddial/speeddial.js +2 -1
- package/speeddial/speeddial.min.js +1 -1
- package/splitter/Splitter.vue +5 -3
- package/splitter/splitter.cjs.js +4 -2
- package/splitter/splitter.cjs.min.js +1 -1
- package/splitter/splitter.esm.js +5 -3
- package/splitter/splitter.esm.min.js +1 -1
- package/splitter/splitter.js +4 -2
- package/splitter/splitter.min.js +1 -1
- package/tabmenu/TabMenu.vue +4 -0
- package/tabmenu/tabmenu.cjs.js +1 -1
- package/tabmenu/tabmenu.cjs.min.js +1 -1
- package/tabmenu/tabmenu.esm.js +1 -1
- package/tabmenu/tabmenu.esm.min.js +1 -1
- package/tabmenu/tabmenu.js +1 -1
- package/tabmenu/tabmenu.min.js +1 -1
- package/terminal/terminal.js +1 -1
- package/terminal/terminal.min.js +1 -1
- package/tieredmenu/TieredMenuSub.vue +1 -1
- package/tieredmenu/tieredmenu.cjs.js +1 -1
- package/tieredmenu/tieredmenu.cjs.min.js +1 -1
- package/tieredmenu/tieredmenu.esm.js +1 -1
- package/tieredmenu/tieredmenu.esm.min.js +1 -1
- package/tieredmenu/tieredmenu.js +1 -1
- package/tieredmenu/tieredmenu.min.js +1 -1
- package/toastservice/ToastService.d.ts +3 -2
- package/tooltip/tooltip.cjs.js +10 -3
- package/tooltip/tooltip.cjs.min.js +1 -1
- package/tooltip/tooltip.esm.js +10 -3
- package/tooltip/tooltip.esm.min.js +1 -1
- package/tooltip/tooltip.js +10 -3
- package/tooltip/tooltip.min.js +1 -1
- package/treetable/BodyCell.vue +2 -3
- package/treetable/FooterCell.vue +2 -2
- package/treetable/HeaderCell.vue +2 -2
- package/treetable/TreeTable.vue +2 -2
- package/treetable/TreeTableRow.vue +2 -2
- package/treetable/treetable.cjs.js +6 -6
- package/treetable/treetable.cjs.min.js +1 -1
- package/treetable/treetable.esm.js +7 -7
- package/treetable/treetable.esm.min.js +1 -1
- package/treetable/treetable.js +6 -6
- package/treetable/treetable.min.js +1 -1
- package/utils/Utils.d.ts +80 -0
- package/utils/package.json +3 -2
- package/utils/utils.cjs.js +126 -108
- package/utils/utils.cjs.min.js +1 -1
- package/utils/utils.esm.js +126 -108
- package/utils/utils.esm.min.js +1 -1
- package/utils/utils.js +126 -108
- package/utils/utils.min.js +1 -1
- package/vetur-attributes.json +12 -0
- package/vetur-tags.json +4 -1
- package/virtualscroller/VirtualScroller.vue +1 -1
- package/virtualscroller/virtualscroller.cjs.js +1 -1
- package/virtualscroller/virtualscroller.cjs.min.js +1 -1
- package/virtualscroller/virtualscroller.esm.js +1 -1
- package/virtualscroller/virtualscroller.esm.min.js +1 -1
- package/virtualscroller/virtualscroller.js +1 -1
- package/virtualscroller/virtualscroller.min.js +1 -1
- package/web-types.json +88 -5
package/datatable/DataTable.d.ts
CHANGED
|
@@ -101,7 +101,6 @@ declare class DataTable {
|
|
|
101
101
|
$emit(eventName: 'row-edit-init', event: Event): this;
|
|
102
102
|
$emit(eventName: 'row-edit-save', event: Event): this;
|
|
103
103
|
$emit(eventName: 'row-edit-cancel', event: Event): this;
|
|
104
|
-
$emit(eventName: 'editing-cell-change', event: Event): this;
|
|
105
104
|
$emit(eventName: 'state-restore', value: any[]): this;
|
|
106
105
|
$emit(eventName: 'state-save', value: any[]): this;
|
|
107
106
|
|
|
@@ -114,6 +113,7 @@ declare class DataTable {
|
|
|
114
113
|
groupheader: VNode[];
|
|
115
114
|
groupfooter: VNode[];
|
|
116
115
|
loading: VNode[];
|
|
116
|
+
expansion: VNode[];
|
|
117
117
|
};
|
|
118
118
|
}
|
|
119
119
|
|
package/datatable/DataTable.vue
CHANGED
|
@@ -32,7 +32,8 @@
|
|
|
32
32
|
@row-mousedown="onRowMouseDown" @row-dragstart="onRowDragStart($event)" @row-dragover="onRowDragOver($event)" @row-dragleave="onRowDragLeave($event)" @row-dragend="onRowDragEnd($event)" @row-drop="onRowDrop($event)"
|
|
33
33
|
@row-toggle="toggleRow($event)" @radio-change="toggleRowWithRadio($event)" @checkbox-change="toggleRowWithCheckbox($event)"
|
|
34
34
|
@cell-edit-init="onCellEditInit($event)" @cell-edit-complete="onCellEditComplete($event)" @cell-edit-cancel="onCellEditCancel($event)"
|
|
35
|
-
@row-edit-init="onRowEditInit($event)" @row-edit-save="onRowEditSave($event)" @row-edit-cancel="onRowEditCancel($event)"
|
|
35
|
+
@row-edit-init="onRowEditInit($event)" @row-edit-save="onRowEditSave($event)" @row-edit-cancel="onRowEditCancel($event)"
|
|
36
|
+
:editingMeta="d_editingMeta" @editing-meta-change="onEditingMetaChange" />
|
|
36
37
|
<DTTableBody :value="dataToRender" :columns="columns" :empty="empty" :dataKey="dataKey" :selection="selection" :selectionKeys="d_selectionKeys" :selectionMode="selectionMode" :contextMenu="contextMenu" :contextMenuSelection="contextMenuSelection"
|
|
37
38
|
:rowGroupMode="rowGroupMode" :groupRowsBy="groupRowsBy" :expandableRowGroups="expandableRowGroups" :rowClass="rowClass" :editMode="editMode" :compareSelectionBy="compareSelectionBy" :scrollable="scrollable"
|
|
38
39
|
:expandedRowIcon="expandedRowIcon" :collapsedRowIcon="collapsedRowIcon" :expandedRows="expandedRows" :expandedRowKeys="d_expandedRowKeys" :expandedRowGroups="expandedRowGroups"
|
|
@@ -41,7 +42,8 @@
|
|
|
41
42
|
@row-mousedown="onRowMouseDown" @row-dragstart="onRowDragStart($event)" @row-dragover="onRowDragOver($event)" @row-dragleave="onRowDragLeave($event)" @row-dragend="onRowDragEnd($event)" @row-drop="onRowDrop($event)"
|
|
42
43
|
@row-toggle="toggleRow($event)" @radio-change="toggleRowWithRadio($event)" @checkbox-change="toggleRowWithCheckbox($event)"
|
|
43
44
|
@cell-edit-init="onCellEditInit($event)" @cell-edit-complete="onCellEditComplete($event)" @cell-edit-cancel="onCellEditCancel($event)"
|
|
44
|
-
@row-edit-init="onRowEditInit($event)" @row-edit-save="onRowEditSave($event)" @row-edit-cancel="onRowEditCancel($event)"
|
|
45
|
+
@row-edit-init="onRowEditInit($event)" @row-edit-save="onRowEditSave($event)" @row-edit-cancel="onRowEditCancel($event)"
|
|
46
|
+
:editingMeta="d_editingMeta" @editing-meta-change="onEditingMetaChange" />
|
|
45
47
|
<DTTableFooter :columnGroup="footerColumnGroup" :columns="columns" />
|
|
46
48
|
</table>
|
|
47
49
|
</div>
|
|
@@ -77,7 +79,7 @@ export default {
|
|
|
77
79
|
'update:selection', 'row-select', 'row-unselect', 'update:contextMenuSelection', 'row-contextmenu', 'row-unselect-all', 'row-select-all',
|
|
78
80
|
'column-resize-end', 'column-reorder', 'row-reorder', 'update:expandedRows', 'row-collapse', 'row-expand',
|
|
79
81
|
'update:expandedRowGroups', 'rowgroup-collapse', 'rowgroup-expand', 'update:filters', 'state-restore', 'state-save',
|
|
80
|
-
'cell-edit-init', 'cell-edit-complete', 'cell-edit-cancel', 'update:editingRows', 'row-edit-init', 'row-edit-save', 'row-edit-cancel'
|
|
82
|
+
'cell-edit-init', 'cell-edit-complete', 'cell-edit-cancel', 'update:editingRows', 'row-edit-init', 'row-edit-save', 'row-edit-cancel'],
|
|
81
83
|
props: {
|
|
82
84
|
value: {
|
|
83
85
|
type: Array,
|
|
@@ -328,8 +330,8 @@ export default {
|
|
|
328
330
|
d_expandedRowKeys: null,
|
|
329
331
|
d_columnOrder: null,
|
|
330
332
|
d_editingRowKeys: null,
|
|
331
|
-
|
|
332
|
-
|
|
333
|
+
d_editingMeta: {},
|
|
334
|
+
d_filters: this.cloneFilters(this.filters)
|
|
333
335
|
};
|
|
334
336
|
},
|
|
335
337
|
rowTouched: false,
|
|
@@ -396,9 +398,7 @@ export default {
|
|
|
396
398
|
}
|
|
397
399
|
},
|
|
398
400
|
mounted() {
|
|
399
|
-
|
|
400
|
-
this.updateScrollWidth();
|
|
401
|
-
}
|
|
401
|
+
this.$el.setAttribute(this.attributeSelector, '');
|
|
402
402
|
|
|
403
403
|
if (this.responsiveLayout === 'stack' && !this.scrollable) {
|
|
404
404
|
this.createResponsiveStyle();
|
|
@@ -407,9 +407,14 @@ export default {
|
|
|
407
407
|
if (this.isStateful() && this.resizableColumns) {
|
|
408
408
|
this.restoreColumnWidths();
|
|
409
409
|
}
|
|
410
|
+
|
|
411
|
+
if (this.editMode === 'row' && this.dataKey && !this.d_editingRowKeys) {
|
|
412
|
+
this.updateEditingRowKeys(this.editingRows);
|
|
413
|
+
}
|
|
410
414
|
},
|
|
411
415
|
beforeUnmount() {
|
|
412
416
|
this.unbindColumnResizeEvents();
|
|
417
|
+
this.destroyStyleElement();
|
|
413
418
|
this.destroyResponsiveStyle();
|
|
414
419
|
},
|
|
415
420
|
updated() {
|
|
@@ -417,15 +422,17 @@ export default {
|
|
|
417
422
|
this.saveState();
|
|
418
423
|
}
|
|
419
424
|
|
|
420
|
-
if (this.
|
|
421
|
-
this.
|
|
425
|
+
if (this.editMode === 'row' && this.dataKey && !this.d_editingRowKeys) {
|
|
426
|
+
this.updateEditingRowKeys(this.editingRows);
|
|
422
427
|
}
|
|
423
428
|
},
|
|
424
429
|
methods: {
|
|
425
430
|
columnProp(col, prop) {
|
|
426
|
-
return
|
|
431
|
+
return ObjectUtils.getVNodeProp(col, prop);
|
|
427
432
|
},
|
|
428
433
|
onPage(event) {
|
|
434
|
+
this.clearEditingMetaData();
|
|
435
|
+
|
|
429
436
|
this.d_first = event.first;
|
|
430
437
|
this.d_rows = event.rows;
|
|
431
438
|
|
|
@@ -485,6 +492,8 @@ export default {
|
|
|
485
492
|
}
|
|
486
493
|
},
|
|
487
494
|
sortSingle(value) {
|
|
495
|
+
this.clearEditingMetaData();
|
|
496
|
+
|
|
488
497
|
if (this.groupRowsBy && this.groupRowsBy === this.sortField) {
|
|
489
498
|
this.d_multiSortMeta = [
|
|
490
499
|
{field: this.sortField, order: this.sortOrder || this.defaultSortOrder},
|
|
@@ -519,6 +528,8 @@ export default {
|
|
|
519
528
|
return data;
|
|
520
529
|
},
|
|
521
530
|
sortMultiple(value) {
|
|
531
|
+
this.clearEditingMetaData();
|
|
532
|
+
|
|
522
533
|
if (this.groupRowsBy && (this.d_groupRowsSortMeta || (this.d_multiSortMeta.length && this.groupRowsBy === this.d_multiSortMeta[0].field))) {
|
|
523
534
|
const firstSortMeta = this.d_multiSortMeta[0];
|
|
524
535
|
!this.d_groupRowsSortMeta && (this.d_groupRowsSortMeta = firstSortMeta);
|
|
@@ -576,6 +587,8 @@ export default {
|
|
|
576
587
|
return;
|
|
577
588
|
}
|
|
578
589
|
|
|
590
|
+
this.clearEditingMetaData();
|
|
591
|
+
|
|
579
592
|
let globalFilterFieldsArray;
|
|
580
593
|
if (this.filters['global']) {
|
|
581
594
|
globalFilterFieldsArray = this.globalFilterFields|| this.columns.map(col => this.columnProp(col, 'filterField') || this.columnProp(col, 'field'));
|
|
@@ -1088,7 +1101,9 @@ export default {
|
|
|
1088
1101
|
}
|
|
1089
1102
|
}
|
|
1090
1103
|
else if (this.columnResizeMode === 'expand') {
|
|
1091
|
-
|
|
1104
|
+
const tableWidth = this.$refs.table.offsetWidth + delta + 'px';
|
|
1105
|
+
this.$refs.table.style.width = tableWidth;
|
|
1106
|
+
this.$refs.table.style.minWidth = tableWidth;
|
|
1092
1107
|
|
|
1093
1108
|
if (!this.scrollable)
|
|
1094
1109
|
this.resizeColumnElement.style.width = newColumnWidth + 'px';
|
|
@@ -1114,22 +1129,27 @@ export default {
|
|
|
1114
1129
|
},
|
|
1115
1130
|
resizeTableCells(newColumnWidth, nextColumnWidth) {
|
|
1116
1131
|
let colIndex = DomHandler.index(this.resizeColumnElement);
|
|
1117
|
-
let
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
}
|
|
1132
|
+
let widths = [];
|
|
1133
|
+
let headers = DomHandler.find(this.$refs.table, '.p-datatable-thead > tr > th');
|
|
1134
|
+
headers.forEach(header => widths.push(DomHandler.getOuterWidth(header)));
|
|
1135
|
+
|
|
1136
|
+
this.destroyStyleElement();
|
|
1137
|
+
this.createStyleElement();
|
|
1138
|
+
|
|
1139
|
+
let innerHTML = '';
|
|
1140
|
+
widths.forEach((width,index) => {
|
|
1141
|
+
let colWidth = index === colIndex ? newColumnWidth : (nextColumnWidth && index === colIndex + 1) ? nextColumnWidth : width;
|
|
1142
|
+
innerHTML += `
|
|
1143
|
+
.p-datatable[${this.attributeSelector}] .p-datatable-thead > tr > th:nth-child(${index+1}) {
|
|
1144
|
+
flex: 0 0 ${colWidth}px !important;
|
|
1130
1145
|
}
|
|
1131
|
-
|
|
1132
|
-
|
|
1146
|
+
|
|
1147
|
+
.p-datatable[${this.attributeSelector}] .p-datatable-tbody > tr > td:nth-child(${index+1}) {
|
|
1148
|
+
flex: 0 0 ${colWidth}px !important;
|
|
1149
|
+
}
|
|
1150
|
+
`
|
|
1151
|
+
});
|
|
1152
|
+
this.styleElement.innerHTML = innerHTML;
|
|
1133
1153
|
},
|
|
1134
1154
|
bindColumnResizeEvents() {
|
|
1135
1155
|
if (!this.documentColumnResizeListener) {
|
|
@@ -1538,7 +1558,7 @@ export default {
|
|
|
1538
1558
|
state.columnWidths = widths.join(',');
|
|
1539
1559
|
|
|
1540
1560
|
if (this.columnResizeMode === 'expand') {
|
|
1541
|
-
state.tableWidth =
|
|
1561
|
+
state.tableWidth = DomHandler.getOuterWidth(this.$refs.table) + 'px';
|
|
1542
1562
|
}
|
|
1543
1563
|
},
|
|
1544
1564
|
restoreColumnWidths() {
|
|
@@ -1547,10 +1567,31 @@ export default {
|
|
|
1547
1567
|
|
|
1548
1568
|
if (this.columnResizeMode === 'expand' && this.tableWidthState) {
|
|
1549
1569
|
this.$refs.table.style.width = this.tableWidthState;
|
|
1570
|
+
this.$refs.table.style.minWidth = this.tableWidthState;
|
|
1550
1571
|
this.$el.style.width = this.tableWidthState;
|
|
1551
1572
|
}
|
|
1552
1573
|
|
|
1553
|
-
|
|
1574
|
+
this.createStyleElement();
|
|
1575
|
+
|
|
1576
|
+
if (this.scrollable && widths && widths.length > 0) {
|
|
1577
|
+
let innerHTML = '';
|
|
1578
|
+
widths.forEach((width,index) => {
|
|
1579
|
+
innerHTML += `
|
|
1580
|
+
.p-datatable[${this.attributeSelector}] .p-datatable-thead > tr > th:nth-child(${index+1}) {
|
|
1581
|
+
flex: 0 0 ${width}px;
|
|
1582
|
+
}
|
|
1583
|
+
|
|
1584
|
+
.p-datatable[${this.attributeSelector}] .p-datatable-tbody > tr > td:nth-child(${index+1}) {
|
|
1585
|
+
flex: 0 0 ${width}px;
|
|
1586
|
+
}
|
|
1587
|
+
`
|
|
1588
|
+
});
|
|
1589
|
+
|
|
1590
|
+
this.styleElement.innerHTML = innerHTML;
|
|
1591
|
+
}
|
|
1592
|
+
else {
|
|
1593
|
+
DomHandler.find(this.$refs.table, '.p-datatable-thead > tr > th').forEach((header, index) => header.style.width = widths[index] + 'px');
|
|
1594
|
+
}
|
|
1554
1595
|
}
|
|
1555
1596
|
},
|
|
1556
1597
|
onCellEditInit(event) {
|
|
@@ -1562,18 +1603,6 @@ export default {
|
|
|
1562
1603
|
onCellEditCancel(event) {
|
|
1563
1604
|
this.$emit('cell-edit-cancel', event);
|
|
1564
1605
|
},
|
|
1565
|
-
onEditingCellChange(event) {
|
|
1566
|
-
let { rowIndex, cellIndex, editing } = event;
|
|
1567
|
-
let _editingCells = [...this.d_editingCells];
|
|
1568
|
-
|
|
1569
|
-
if (editing)
|
|
1570
|
-
_editingCells.push({ rowIndex, cellIndex });
|
|
1571
|
-
else
|
|
1572
|
-
_editingCells = _editingCells.filter(cell => !(cell.rowIndex === rowIndex && cell.cellIndex === cellIndex));
|
|
1573
|
-
|
|
1574
|
-
this.d_editingCells = _editingCells;
|
|
1575
|
-
this.$emit('value-change', this.processedData);
|
|
1576
|
-
},
|
|
1577
1606
|
onRowEditInit(event) {
|
|
1578
1607
|
let _editingRows = this.editingRows ? [...this.editingRows] : [];
|
|
1579
1608
|
_editingRows.push(event.data);
|
|
@@ -1592,6 +1621,24 @@ export default {
|
|
|
1592
1621
|
this.$emit('update:editingRows', _editingRows);
|
|
1593
1622
|
this.$emit('row-edit-cancel', event);
|
|
1594
1623
|
},
|
|
1624
|
+
onEditingMetaChange(event) {
|
|
1625
|
+
let { data, field, index, editing } = event;
|
|
1626
|
+
let meta = this.d_editingMeta[index];
|
|
1627
|
+
|
|
1628
|
+
if (editing) {
|
|
1629
|
+
!meta && (meta = this.d_editingMeta[index] = { data: { ...data }, fields: [] });
|
|
1630
|
+
meta['fields'].push(field);
|
|
1631
|
+
}
|
|
1632
|
+
else if (meta) {
|
|
1633
|
+
const fields = meta['fields'].filter(f => f !== field);
|
|
1634
|
+
!fields.length ? (delete this.d_editingMeta[index]) : (meta['fields'] = fields);
|
|
1635
|
+
}
|
|
1636
|
+
},
|
|
1637
|
+
clearEditingMetaData() {
|
|
1638
|
+
if (this.editMode) {
|
|
1639
|
+
this.d_editingMeta = {};
|
|
1640
|
+
}
|
|
1641
|
+
},
|
|
1595
1642
|
createLazyLoadEvent(event) {
|
|
1596
1643
|
return {
|
|
1597
1644
|
originalEvent: event,
|
|
@@ -1636,22 +1683,16 @@ export default {
|
|
|
1636
1683
|
this.columns.forEach(col => columnOrder.push(this.columnProp(col, 'columnKey')||this.columnProp(col, 'field')));
|
|
1637
1684
|
this.d_columnOrder = columnOrder;
|
|
1638
1685
|
},
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
this.$refs.table.style.width = this.$refs.table.scrollWidth + 'px';
|
|
1644
|
-
}
|
|
1645
|
-
else {
|
|
1646
|
-
this.$refs.table.style.width = parentElementHeight - DomHandler.calculateScrollbarWidth() + 'px';
|
|
1647
|
-
}
|
|
1686
|
+
createStyleElement() {
|
|
1687
|
+
this.styleElement = document.createElement('style');
|
|
1688
|
+
this.styleElement.type = 'text/css';
|
|
1689
|
+
document.head.appendChild(this.styleElement);
|
|
1648
1690
|
},
|
|
1649
1691
|
createResponsiveStyle() {
|
|
1650
|
-
if (!this.
|
|
1651
|
-
|
|
1652
|
-
this.
|
|
1653
|
-
this.
|
|
1654
|
-
document.head.appendChild(this.styleElement);
|
|
1692
|
+
if (!this.responsiveStyleElement) {
|
|
1693
|
+
this.responsiveStyleElement = document.createElement('style');
|
|
1694
|
+
this.responsiveStyleElement.type = 'text/css';
|
|
1695
|
+
document.head.appendChild(this.responsiveStyleElement);
|
|
1655
1696
|
|
|
1656
1697
|
let innerHTML = `
|
|
1657
1698
|
@media screen and (max-width: ${this.breakpoint}) {
|
|
@@ -1683,10 +1724,16 @@ export default {
|
|
|
1683
1724
|
}
|
|
1684
1725
|
`;
|
|
1685
1726
|
|
|
1686
|
-
this.
|
|
1727
|
+
this.responsiveStyleElement.innerHTML = innerHTML;
|
|
1687
1728
|
}
|
|
1688
1729
|
},
|
|
1689
1730
|
destroyResponsiveStyle() {
|
|
1731
|
+
if (this.responsiveStyleElement) {
|
|
1732
|
+
document.head.removeChild(this.responsiveStyleElement);
|
|
1733
|
+
this.responsiveStyleElement = null;
|
|
1734
|
+
}
|
|
1735
|
+
},
|
|
1736
|
+
destroyStyleElement() {
|
|
1690
1737
|
if (this.styleElement) {
|
|
1691
1738
|
document.head.removeChild(this.styleElement);
|
|
1692
1739
|
this.styleElement = null;
|
|
@@ -1771,24 +1818,21 @@ export default {
|
|
|
1771
1818
|
hasFilters() {
|
|
1772
1819
|
return this.filters && Object.keys(this.filters).length > 0 && this.filters.constructor === Object;
|
|
1773
1820
|
},
|
|
1774
|
-
hasEditingCell() {
|
|
1775
|
-
return this.d_editingCells && this.d_editingCells.length !== 0;
|
|
1776
|
-
},
|
|
1777
1821
|
processedData() {
|
|
1778
1822
|
let data = this.value || [];
|
|
1779
1823
|
|
|
1780
|
-
if (!this.lazy
|
|
1824
|
+
if (!this.lazy) {
|
|
1781
1825
|
if (data && data.length) {
|
|
1826
|
+
if (this.hasFilters) {
|
|
1827
|
+
data = this.filter(data);
|
|
1828
|
+
}
|
|
1829
|
+
|
|
1782
1830
|
if (this.sorted) {
|
|
1783
1831
|
if(this.sortMode === 'single')
|
|
1784
1832
|
data = this.sortSingle(data);
|
|
1785
1833
|
else if(this.sortMode === 'multiple')
|
|
1786
1834
|
data = this.sortMultiple(data);
|
|
1787
1835
|
}
|
|
1788
|
-
|
|
1789
|
-
if (this.hasFilters) {
|
|
1790
|
-
data = this.filter(data);
|
|
1791
|
-
}
|
|
1792
1836
|
}
|
|
1793
1837
|
}
|
|
1794
1838
|
|
|
@@ -1858,7 +1902,7 @@ export default {
|
|
|
1858
1902
|
|
|
1859
1903
|
.p-datatable table {
|
|
1860
1904
|
border-collapse: collapse;
|
|
1861
|
-
width: 100%;
|
|
1905
|
+
min-width: 100%;
|
|
1862
1906
|
table-layout: fixed;
|
|
1863
1907
|
}
|
|
1864
1908
|
|
|
@@ -1898,10 +1942,6 @@ export default {
|
|
|
1898
1942
|
overflow: auto;
|
|
1899
1943
|
}
|
|
1900
1944
|
|
|
1901
|
-
.p-datatable-scrollable .p-datatable-table {
|
|
1902
|
-
display: block;
|
|
1903
|
-
}
|
|
1904
|
-
|
|
1905
1945
|
.p-datatable-scrollable .p-datatable-thead,
|
|
1906
1946
|
.p-datatable-scrollable .p-datatable-tbody,
|
|
1907
1947
|
.p-datatable-scrollable .p-datatable-tfoot {
|
package/datatable/FooterCell.vue
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
</template>
|
|
8
8
|
|
|
9
9
|
<script>
|
|
10
|
-
import {DomHandler} from 'primevue/utils';
|
|
10
|
+
import {DomHandler,ObjectUtils} from 'primevue/utils';
|
|
11
11
|
|
|
12
12
|
export default {
|
|
13
13
|
name: 'FooterCell',
|
|
@@ -34,7 +34,7 @@ export default {
|
|
|
34
34
|
},
|
|
35
35
|
methods: {
|
|
36
36
|
columnProp(prop) {
|
|
37
|
-
return
|
|
37
|
+
return ObjectUtils.getVNodeProp(this.column, prop);
|
|
38
38
|
},
|
|
39
39
|
updateStickyPosition() {
|
|
40
40
|
if (this.columnProp('frozen')) {
|
package/datatable/HeaderCell.vue
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
</template>
|
|
24
24
|
|
|
25
25
|
<script>
|
|
26
|
-
import {DomHandler} from 'primevue/utils';
|
|
26
|
+
import {DomHandler,ObjectUtils} from 'primevue/utils';
|
|
27
27
|
import HeaderCheckbox from './HeaderCheckbox.vue';
|
|
28
28
|
import ColumnFilter from './ColumnFilter.vue';
|
|
29
29
|
|
|
@@ -107,7 +107,7 @@ export default {
|
|
|
107
107
|
},
|
|
108
108
|
methods: {
|
|
109
109
|
columnProp(prop) {
|
|
110
|
-
return
|
|
110
|
+
return ObjectUtils.getVNodeProp(this.column, prop);
|
|
111
111
|
},
|
|
112
112
|
onClick(event) {
|
|
113
113
|
this.$emit('column-click', {originalEvent: event, column: this.column});
|
package/datatable/TableBody.vue
CHANGED
|
@@ -21,7 +21,8 @@
|
|
|
21
21
|
:editMode="editMode" :editing="editMode === 'row' && isRowEditing(rowData)" :responsiveLayout="responsiveLayout"
|
|
22
22
|
@radio-change="onRadioChange($event)" @checkbox-change="onCheckboxChange($event)" @row-toggle="onRowToggle($event)"
|
|
23
23
|
@cell-edit-init="onCellEditInit($event)" @cell-edit-complete="onCellEditComplete($event)" @cell-edit-cancel="onCellEditCancel($event)"
|
|
24
|
-
@row-edit-init="onRowEditInit($event)" @row-edit-save="onRowEditSave($event)" @row-edit-cancel="onRowEditCancel($event)"
|
|
24
|
+
@row-edit-init="onRowEditInit($event)" @row-edit-save="onRowEditSave($event)" @row-edit-cancel="onRowEditCancel($event)"
|
|
25
|
+
:editingMeta="editingMeta" @editing-meta-change="onEditingMetaChange"/>
|
|
25
26
|
</template>
|
|
26
27
|
</tr>
|
|
27
28
|
<tr class="p-datatable-row-expansion" v-if="templates['expansion'] && expandedRows && isRowExpanded(rowData)" :key="getRowKey(rowData, index) + '_expansion'" role="row">
|
|
@@ -52,7 +53,7 @@ export default {
|
|
|
52
53
|
emits: ['rowgroup-toggle', 'row-click', 'row-dblclick', 'row-rightclick', 'row-touchend', 'row-keydown', 'row-mousedown',
|
|
53
54
|
'row-dragstart', 'row-dragover', 'row-dragleave', 'row-dragend', 'row-drop', 'row-toggle',
|
|
54
55
|
'radio-change', 'checkbox-change', 'cell-edit-init', 'cell-edit-complete', 'cell-edit-cancel',
|
|
55
|
-
'row-edit-init', 'row-edit-save', 'row-edit-cancel', 'editing-
|
|
56
|
+
'row-edit-init', 'row-edit-save', 'row-edit-cancel', 'editing-meta-change'],
|
|
56
57
|
props: {
|
|
57
58
|
value: {
|
|
58
59
|
type: Array,
|
|
@@ -146,6 +147,10 @@ export default {
|
|
|
146
147
|
type: null,
|
|
147
148
|
default: null
|
|
148
149
|
},
|
|
150
|
+
editingMeta: {
|
|
151
|
+
type: Object,
|
|
152
|
+
default: null
|
|
153
|
+
},
|
|
149
154
|
loading: {
|
|
150
155
|
type: Boolean,
|
|
151
156
|
default: false
|
|
@@ -188,7 +193,7 @@ export default {
|
|
|
188
193
|
},
|
|
189
194
|
methods: {
|
|
190
195
|
columnProp(col, prop) {
|
|
191
|
-
return
|
|
196
|
+
return ObjectUtils.getVNodeProp(col, prop);
|
|
192
197
|
},
|
|
193
198
|
shouldRenderRowGroupHeader(value, rowData, i) {
|
|
194
199
|
let currentRowFieldData = ObjectUtils.resolveFieldData(rowData, this.groupRowsBy);
|
|
@@ -447,8 +452,8 @@ export default {
|
|
|
447
452
|
onRowEditCancel(event) {
|
|
448
453
|
this.$emit('row-edit-cancel', event);
|
|
449
454
|
},
|
|
450
|
-
|
|
451
|
-
this.$emit('editing-
|
|
455
|
+
onEditingMetaChange(event) {
|
|
456
|
+
this.$emit('editing-meta-change', event);
|
|
452
457
|
},
|
|
453
458
|
updateFrozenRowStickyPosition() {
|
|
454
459
|
this.$el.style.top = DomHandler.getOuterHeight(this.$el.previousElementSibling) + 'px';
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
<script>
|
|
19
19
|
import FooterCell from './FooterCell.vue';
|
|
20
|
+
import {ObjectUtils} from 'primevue/utils';
|
|
20
21
|
|
|
21
22
|
export default {
|
|
22
23
|
name: 'TableFooter',
|
|
@@ -32,7 +33,7 @@ export default {
|
|
|
32
33
|
},
|
|
33
34
|
methods: {
|
|
34
35
|
columnProp(col, prop) {
|
|
35
|
-
return
|
|
36
|
+
return ObjectUtils.getVNodeProp(col, prop);
|
|
36
37
|
}
|
|
37
38
|
},
|
|
38
39
|
computed: {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
</tr>
|
|
17
17
|
<tr v-if="filterDisplay === 'row'" role="row">
|
|
18
18
|
<template v-for="(col,i) of columns" :key="columnProp(col, 'columnKey')||columnProp(col, 'field')||i">
|
|
19
|
-
<th :style="getFilterColumnHeaderStyle(col)" :class="getFilterColumnHeaderClass(col)" v-if="!columnProp(col, 'hidden')">
|
|
19
|
+
<th :style="getFilterColumnHeaderStyle(col)" :class="getFilterColumnHeaderClass(col)" v-if="!columnProp(col, 'hidden') && (rowGroupMode !== 'subheader' || (groupRowsBy !== columnProp(col, 'field')))">
|
|
20
20
|
<DTHeaderCheckbox :checked="allRowsSelected" @change="$emit('checkbox-change', $event)" :disabled="empty" v-if="columnProp(col, 'selectionMode') ==='multiple'" />
|
|
21
21
|
<DTColumnFilter v-if="col.children && col.children.filter" :field="columnProp(col,'filterField')||columnProp(col,'field')" :type="columnProp(col,'dataType')" display="row"
|
|
22
22
|
:showMenu="columnProp(col,'showFilterMenu')" :filterElement="col.children && col.children.filter"
|
|
@@ -51,6 +51,7 @@
|
|
|
51
51
|
import HeaderCell from './HeaderCell.vue';
|
|
52
52
|
import HeaderCheckbox from './HeaderCheckbox.vue';
|
|
53
53
|
import ColumnFilter from './ColumnFilter.vue';
|
|
54
|
+
import {ObjectUtils} from 'primevue/utils';
|
|
54
55
|
|
|
55
56
|
export default {
|
|
56
57
|
name: 'TableHeader',
|
|
@@ -121,7 +122,7 @@ export default {
|
|
|
121
122
|
},
|
|
122
123
|
methods: {
|
|
123
124
|
columnProp(col, prop) {
|
|
124
|
-
return
|
|
125
|
+
return ObjectUtils.getVNodeProp(col, prop);
|
|
125
126
|
},
|
|
126
127
|
getFilterColumnHeaderClass(column) {
|
|
127
128
|
return ['p-filter-column', this.columnProp(column, 'filterHeaderClass'), this.columnProp(column, 'class'), {
|