primevue 3.28.0 → 3.29.0
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 +3 -3
- package/autocomplete/AutoComplete.d.ts +153 -1
- package/autocomplete/AutoComplete.vue +46 -17
- package/autocomplete/autocomplete.cjs.js +80 -74
- package/autocomplete/autocomplete.cjs.min.js +1 -1
- package/autocomplete/autocomplete.esm.js +80 -75
- package/autocomplete/autocomplete.esm.min.js +1 -1
- package/autocomplete/autocomplete.js +81 -76
- package/autocomplete/autocomplete.min.js +1 -1
- package/basecomponent/BaseComponent.vue +19 -5
- package/basecomponent/basecomponent.cjs.js +19 -5
- package/basecomponent/basecomponent.cjs.min.js +1 -1
- package/basecomponent/basecomponent.esm.js +19 -5
- package/basecomponent/basecomponent.esm.min.js +1 -1
- package/basecomponent/basecomponent.js +20 -7
- package/basecomponent/basecomponent.min.js +1 -1
- package/calendar/Calendar.d.ts +269 -0
- package/calendar/Calendar.vue +75 -59
- package/calendar/calendar.cjs.js +223 -259
- package/calendar/calendar.cjs.min.js +1 -1
- package/calendar/calendar.esm.js +223 -260
- package/calendar/calendar.esm.min.js +1 -1
- package/calendar/calendar.js +224 -261
- package/calendar/calendar.min.js +1 -1
- package/carousel/Carousel.d.ts +154 -0
- package/carousel/Carousel.vue +27 -14
- package/carousel/carousel.cjs.js +64 -65
- package/carousel/carousel.cjs.min.js +1 -1
- package/carousel/carousel.esm.js +64 -66
- package/carousel/carousel.esm.min.js +1 -1
- package/carousel/carousel.js +65 -67
- package/carousel/carousel.min.js +1 -1
- package/cascadeselect/CascadeSelect.d.ts +133 -0
- package/cascadeselect/CascadeSelect.vue +15 -12
- package/cascadeselect/CascadeSelectSub.vue +7 -3
- package/cascadeselect/cascadeselect.cjs.js +63 -66
- package/cascadeselect/cascadeselect.cjs.min.js +1 -1
- package/cascadeselect/cascadeselect.esm.js +63 -67
- package/cascadeselect/cascadeselect.esm.min.js +1 -1
- package/cascadeselect/cascadeselect.js +64 -68
- package/cascadeselect/cascadeselect.min.js +1 -1
- package/checkbox/Checkbox.d.ts +60 -0
- package/checkbox/Checkbox.vue +7 -5
- package/checkbox/checkbox.cjs.js +17 -15
- package/checkbox/checkbox.cjs.min.js +1 -1
- package/checkbox/checkbox.esm.js +17 -16
- package/checkbox/checkbox.esm.min.js +1 -1
- package/checkbox/checkbox.js +18 -17
- package/checkbox/checkbox.min.js +1 -1
- package/chips/Chips.d.ts +80 -0
- package/chips/Chips.vue +9 -5
- package/chips/chips.cjs.js +23 -24
- package/chips/chips.cjs.min.js +1 -1
- package/chips/chips.esm.js +23 -25
- package/chips/chips.esm.min.js +1 -1
- package/chips/chips.js +24 -26
- package/chips/chips.min.js +1 -1
- package/colorpicker/ColorPicker.d.ts +76 -0
- package/colorpicker/ColorPicker.vue +11 -9
- package/colorpicker/colorpicker.cjs.js +28 -27
- package/colorpicker/colorpicker.cjs.min.js +1 -1
- package/colorpicker/colorpicker.esm.js +28 -28
- package/colorpicker/colorpicker.esm.min.js +1 -1
- package/colorpicker/colorpicker.js +29 -29
- package/colorpicker/colorpicker.min.js +1 -1
- package/column/Column.d.ts +303 -2
- package/column/Column.vue +3 -0
- package/column/column.cjs.js +7 -0
- package/column/column.cjs.min.js +1 -1
- package/column/column.esm.js +3 -0
- package/column/column.esm.min.js +1 -1
- package/column/column.js +7 -2
- package/column/column.min.js +1 -1
- package/columngroup/ColumnGroup.d.ts +34 -0
- package/columngroup/ColumnGroup.vue +3 -0
- package/columngroup/columngroup.cjs.js +7 -0
- package/columngroup/columngroup.cjs.min.js +1 -1
- package/columngroup/columngroup.esm.js +3 -0
- package/columngroup/columngroup.esm.min.js +1 -1
- package/columngroup/columngroup.js +7 -2
- package/columngroup/columngroup.min.js +1 -1
- package/config/PrimeVue.d.ts +163 -2
- package/confirmdialog/ConfirmDialog.d.ts +14 -7
- package/contextmenu/ContextMenu.d.ts +1 -1
- package/core/core.js +448 -331
- package/core/core.min.js +9 -9
- package/datatable/BodyCell.vue +29 -13
- package/datatable/ColumnFilter.vue +49 -20
- package/datatable/DataTable.d.ts +188 -1
- package/datatable/DataTable.vue +25 -14
- package/datatable/FooterCell.vue +15 -1
- package/datatable/HeaderCell.vue +31 -6
- package/datatable/HeaderCheckbox.vue +35 -5
- package/datatable/RowCheckbox.vue +36 -5
- package/datatable/RowRadioButton.vue +26 -6
- package/datatable/TableBody.vue +41 -11
- package/datatable/TableFooter.vue +31 -5
- package/datatable/TableHeader.vue +53 -6
- package/datatable/datatable.cjs.js +559 -376
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.esm.js +559 -377
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +560 -378
- package/datatable/datatable.min.js +1 -1
- package/dataview/DataView.d.ts +72 -0
- package/dataview/DataView.vue +13 -8
- package/dataview/dataview.cjs.js +33 -37
- package/dataview/dataview.cjs.min.js +1 -1
- package/dataview/dataview.esm.js +33 -38
- package/dataview/dataview.esm.min.js +1 -1
- package/dataview/dataview.js +33 -38
- package/dataview/dataview.min.js +1 -1
- package/dataviewlayoutoptions/DataViewLayoutOptions.d.ts +65 -0
- package/dataviewlayoutoptions/DataViewLayoutOptions.vue +7 -5
- package/dataviewlayoutoptions/dataviewlayoutoptions.cjs.js +19 -17
- package/dataviewlayoutoptions/dataviewlayoutoptions.cjs.min.js +1 -1
- package/dataviewlayoutoptions/dataviewlayoutoptions.esm.js +19 -18
- package/dataviewlayoutoptions/dataviewlayoutoptions.esm.min.js +1 -1
- package/dataviewlayoutoptions/dataviewlayoutoptions.js +20 -19
- package/dataviewlayoutoptions/dataviewlayoutoptions.min.js +1 -1
- package/dialog/Dialog.d.ts +6 -4
- package/dialog/Dialog.vue +2 -3
- package/dialog/dialog.cjs.js +4 -5
- package/dialog/dialog.cjs.min.js +1 -1
- package/dialog/dialog.esm.js +4 -5
- package/dialog/dialog.esm.min.js +1 -1
- package/dialog/dialog.js +4 -5
- package/dialog/dialog.min.js +1 -1
- package/dropdown/Dropdown.d.ts +162 -1
- package/dropdown/Dropdown.vue +44 -25
- package/dropdown/dropdown.cjs.js +97 -93
- package/dropdown/dropdown.cjs.min.js +1 -1
- package/dropdown/dropdown.esm.js +97 -94
- package/dropdown/dropdown.esm.min.js +1 -1
- package/dropdown/dropdown.js +98 -95
- package/dropdown/dropdown.min.js +1 -1
- package/editor/Editor.d.ts +67 -0
- package/editor/Editor.vue +35 -33
- package/editor/editor.cjs.js +88 -73
- package/editor/editor.cjs.min.js +1 -1
- package/editor/editor.esm.js +85 -74
- package/editor/editor.esm.min.js +1 -1
- package/editor/editor.js +89 -75
- package/editor/editor.min.js +1 -1
- package/fileupload/FileUpload.d.ts +23 -23
- package/fileupload/FileUpload.vue +3 -3
- package/fileupload/fileupload.cjs.js +4 -4
- package/fileupload/fileupload.cjs.min.js +1 -1
- package/fileupload/fileupload.esm.js +4 -4
- package/fileupload/fileupload.esm.min.js +1 -1
- package/fileupload/fileupload.js +4 -4
- package/fileupload/fileupload.min.js +1 -1
- package/galleria/Galleria.d.ts +196 -0
- package/galleria/Galleria.vue +5 -3
- package/galleria/GalleriaContent.vue +10 -6
- package/galleria/GalleriaItem.vue +12 -9
- package/galleria/GalleriaThumbnails.vue +46 -9
- package/galleria/galleria.cjs.js +106 -104
- package/galleria/galleria.cjs.min.js +1 -1
- package/galleria/galleria.esm.js +106 -105
- package/galleria/galleria.esm.min.js +1 -1
- package/galleria/galleria.js +107 -106
- package/galleria/galleria.min.js +1 -1
- package/image/Image.d.ts +170 -0
- package/image/Image.vue +49 -21
- package/image/image.cjs.js +94 -59
- package/image/image.cjs.min.js +1 -1
- package/image/image.esm.js +94 -60
- package/image/image.esm.min.js +1 -1
- package/image/image.js +95 -61
- package/image/image.min.js +1 -1
- package/inputmask/InputMask.d.ts +25 -0
- package/inputmask/InputMask.vue +3 -1
- package/inputmask/inputmask.cjs.js +9 -3
- package/inputmask/inputmask.cjs.min.js +1 -1
- package/inputmask/inputmask.esm.js +6 -4
- package/inputmask/inputmask.esm.min.js +1 -1
- package/inputmask/inputmask.js +10 -5
- package/inputmask/inputmask.min.js +1 -1
- package/inputnumber/InputNumber.d.ts +69 -0
- package/inputnumber/InputNumber.vue +13 -11
- package/inputnumber/inputnumber.cjs.js +19 -28
- package/inputnumber/inputnumber.cjs.min.js +1 -1
- package/inputnumber/inputnumber.esm.js +19 -29
- package/inputnumber/inputnumber.esm.min.js +1 -1
- package/inputnumber/inputnumber.js +20 -30
- package/inputnumber/inputnumber.min.js +1 -1
- package/inputswitch/InputSwitch.d.ts +51 -0
- package/inputswitch/InputSwitch.vue +7 -4
- package/inputswitch/inputswitch.cjs.js +15 -11
- package/inputswitch/inputswitch.cjs.min.js +1 -1
- package/inputswitch/inputswitch.esm.js +12 -12
- package/inputswitch/inputswitch.esm.min.js +1 -1
- package/inputswitch/inputswitch.js +16 -13
- package/inputswitch/inputswitch.min.js +1 -1
- package/inputtext/InputText.d.ts +25 -0
- package/inputtext/InputText.vue +4 -1
- package/inputtext/inputtext.cjs.js +9 -3
- package/inputtext/inputtext.cjs.min.js +1 -1
- package/inputtext/inputtext.esm.js +6 -4
- package/inputtext/inputtext.esm.min.js +1 -1
- package/inputtext/inputtext.js +10 -5
- package/inputtext/inputtext.min.js +1 -1
- package/knob/Knob.d.ts +78 -0
- package/knob/Knob.vue +8 -4
- package/knob/knob.cjs.js +17 -13
- package/knob/knob.cjs.min.js +1 -1
- package/knob/knob.esm.js +14 -14
- package/knob/knob.esm.min.js +1 -1
- package/knob/knob.js +18 -15
- package/knob/knob.min.js +1 -1
- package/listbox/Listbox.d.ts +137 -1
- package/listbox/Listbox.vue +28 -15
- package/listbox/listbox.cjs.js +83 -78
- package/listbox/listbox.cjs.min.js +1 -1
- package/listbox/listbox.esm.js +83 -79
- package/listbox/listbox.esm.min.js +1 -1
- package/listbox/listbox.js +84 -80
- package/listbox/listbox.min.js +1 -1
- package/megamenu/MegaMenu.d.ts +5 -5
- package/menu/Menu.d.ts +4 -4
- package/menubar/Menubar.d.ts +1 -1
- package/multiselect/MultiSelect.d.ts +223 -1
- package/multiselect/MultiSelect.vue +72 -41
- package/multiselect/multiselect.cjs.js +156 -151
- package/multiselect/multiselect.cjs.min.js +1 -1
- package/multiselect/multiselect.esm.js +156 -152
- package/multiselect/multiselect.esm.min.js +1 -1
- package/multiselect/multiselect.js +157 -153
- package/multiselect/multiselect.min.js +1 -1
- package/orderlist/OrderList.d.ts +94 -0
- package/orderlist/OrderList.vue +38 -18
- package/orderlist/orderlist.cjs.js +50 -36
- package/orderlist/orderlist.cjs.min.js +1 -1
- package/orderlist/orderlist.esm.js +50 -37
- package/orderlist/orderlist.esm.min.js +1 -1
- package/orderlist/orderlist.js +51 -38
- package/orderlist/orderlist.min.js +1 -1
- package/organizationchart/OrganizationChart.d.ts +129 -0
- package/organizationchart/OrganizationChart.vue +14 -2
- package/organizationchart/OrganizationChartNode.vue +37 -16
- package/organizationchart/organizationchart.cjs.js +77 -61
- package/organizationchart/organizationchart.cjs.min.js +1 -1
- package/organizationchart/organizationchart.esm.js +77 -62
- package/organizationchart/organizationchart.esm.min.js +1 -1
- package/organizationchart/organizationchart.js +78 -63
- package/organizationchart/organizationchart.min.js +1 -1
- package/package.json +1 -1
- package/paginator/CurrentPageReport.vue +5 -1
- package/paginator/FirstPageLink.vue +13 -2
- package/paginator/JumpToPageDropdown.vue +3 -1
- package/paginator/JumpToPageInput.vue +3 -1
- package/paginator/LastPageLink.vue +13 -2
- package/paginator/NextPageLink.vue +13 -2
- package/paginator/PageLinks.vue +12 -2
- package/paginator/Paginator.d.ts +133 -0
- package/paginator/Paginator.vue +23 -12
- package/paginator/PrevPageLink.vue +13 -2
- package/paginator/RowsPerPageDropdown.vue +3 -1
- package/paginator/paginator.cjs.js +135 -76
- package/paginator/paginator.cjs.min.js +1 -1
- package/paginator/paginator.esm.js +135 -77
- package/paginator/paginator.esm.min.js +1 -1
- package/paginator/paginator.js +136 -78
- package/paginator/paginator.min.js +1 -1
- package/panelmenu/PanelMenu.d.ts +4 -8
- package/password/Password.d.ts +104 -0
- package/password/Password.vue +11 -9
- package/password/password.cjs.js +26 -28
- package/password/password.cjs.min.js +1 -1
- package/password/password.esm.js +26 -29
- package/password/password.esm.min.js +1 -1
- package/password/password.js +27 -30
- package/password/password.min.js +1 -1
- package/picklist/PickList.d.ts +160 -0
- package/picklist/PickList.vue +46 -34
- package/picklist/picklist.cjs.js +111 -85
- package/picklist/picklist.cjs.min.js +1 -1
- package/picklist/picklist.esm.js +111 -86
- package/picklist/picklist.esm.min.js +1 -1
- package/picklist/picklist.js +112 -87
- package/picklist/picklist.min.js +1 -1
- package/radiobutton/RadioButton.d.ts +55 -0
- package/radiobutton/RadioButton.vue +7 -5
- package/radiobutton/radiobutton.cjs.js +19 -16
- package/radiobutton/radiobutton.cjs.min.js +1 -1
- package/radiobutton/radiobutton.esm.js +16 -17
- package/radiobutton/radiobutton.esm.min.js +1 -1
- package/radiobutton/radiobutton.js +20 -18
- package/radiobutton/radiobutton.min.js +1 -1
- package/rating/Rating.d.ts +96 -0
- package/rating/Rating.vue +32 -9
- package/rating/rating.cjs.js +41 -34
- package/rating/rating.cjs.min.js +1 -1
- package/rating/rating.esm.js +41 -35
- package/rating/rating.esm.min.js +1 -1
- package/rating/rating.js +42 -36
- package/rating/rating.min.js +1 -1
- package/row/Row.d.ts +29 -0
- package/row/Row.vue +3 -0
- package/row/row.cjs.js +7 -0
- package/row/row.cjs.min.js +1 -1
- package/row/row.esm.js +3 -0
- package/row/row.esm.min.js +1 -1
- package/row/row.js +7 -2
- package/row/row.min.js +1 -1
- package/selectbutton/SelectButton.d.ts +68 -0
- package/selectbutton/SelectButton.vue +13 -2
- package/selectbutton/selectbutton.cjs.js +20 -10
- package/selectbutton/selectbutton.cjs.min.js +1 -1
- package/selectbutton/selectbutton.esm.js +20 -11
- package/selectbutton/selectbutton.esm.min.js +1 -1
- package/selectbutton/selectbutton.js +21 -12
- package/selectbutton/selectbutton.min.js +1 -1
- package/slider/Slider.d.ts +48 -0
- package/slider/Slider.vue +7 -2
- package/slider/slider.cjs.js +22 -16
- package/slider/slider.cjs.min.js +1 -1
- package/slider/slider.esm.js +19 -17
- package/slider/slider.esm.min.js +1 -1
- package/slider/slider.js +23 -18
- package/slider/slider.min.js +1 -1
- package/splitbutton/SplitButton.d.ts +0 -4
- package/splitbutton/SplitButton.vue +2 -2
- package/splitbutton/splitbutton.cjs.js +7 -6
- package/splitbutton/splitbutton.cjs.min.js +1 -1
- package/splitbutton/splitbutton.esm.js +7 -6
- package/splitbutton/splitbutton.esm.min.js +1 -1
- package/splitbutton/splitbutton.js +7 -6
- package/splitbutton/splitbutton.min.js +1 -1
- package/splitter/Splitter.d.ts +3 -3
- package/textarea/Textarea.d.ts +32 -0
- package/textarea/Textarea.vue +4 -1
- package/textarea/textarea.cjs.js +9 -3
- package/textarea/textarea.cjs.min.js +1 -1
- package/textarea/textarea.esm.js +6 -4
- package/textarea/textarea.esm.min.js +1 -1
- package/textarea/textarea.js +10 -5
- package/textarea/textarea.min.js +1 -1
- package/timeline/Timeline.d.ts +49 -0
- package/timeline/Timeline.vue +9 -7
- package/timeline/timeline.cjs.js +19 -21
- package/timeline/timeline.cjs.min.js +1 -1
- package/timeline/timeline.esm.js +16 -22
- package/timeline/timeline.esm.min.js +1 -1
- package/timeline/timeline.js +20 -23
- package/timeline/timeline.min.js +1 -1
- package/toast/Toast.d.ts +4 -0
- package/toast/Toast.vue +1 -1
- package/toast/toast.cjs.js +3 -3
- package/toast/toast.cjs.min.js +1 -1
- package/toast/toast.esm.js +3 -3
- package/toast/toast.esm.min.js +1 -1
- package/toast/toast.js +3 -3
- package/toast/toast.min.js +1 -1
- package/togglebutton/ToggleButton.d.ts +59 -0
- package/togglebutton/ToggleButton.vue +7 -5
- package/togglebutton/togglebutton.cjs.js +15 -14
- package/togglebutton/togglebutton.cjs.min.js +1 -1
- package/togglebutton/togglebutton.esm.js +15 -15
- package/togglebutton/togglebutton.esm.min.js +1 -1
- package/togglebutton/togglebutton.js +16 -16
- package/togglebutton/togglebutton.min.js +1 -1
- package/tooltip/Tooltip.d.ts +10 -0
- package/tooltip/tooltip.cjs.js +51 -9
- package/tooltip/tooltip.cjs.min.js +1 -1
- package/tooltip/tooltip.esm.js +52 -10
- package/tooltip/tooltip.esm.min.js +1 -1
- package/tooltip/tooltip.js +51 -9
- package/tooltip/tooltip.min.js +1 -1
- package/tree/Tree.d.ts +137 -0
- package/tree/Tree.vue +12 -9
- package/tree/TreeNode.vue +23 -10
- package/tree/tree.cjs.js +85 -79
- package/tree/tree.cjs.min.js +1 -1
- package/tree/tree.esm.js +85 -80
- package/tree/tree.esm.min.js +1 -1
- package/tree/tree.js +86 -81
- package/tree/tree.min.js +1 -1
- package/treeselect/TreeSelect.d.ts +103 -1
- package/treeselect/TreeSelect.vue +15 -12
- package/treeselect/treeselect.cjs.js +37 -39
- package/treeselect/treeselect.cjs.min.js +1 -1
- package/treeselect/treeselect.esm.js +37 -40
- package/treeselect/treeselect.esm.min.js +1 -1
- package/treeselect/treeselect.js +38 -41
- package/treeselect/treeselect.min.js +1 -1
- package/treetable/BodyCell.vue +38 -10
- package/treetable/FooterCell.vue +15 -1
- package/treetable/HeaderCell.vue +28 -5
- package/treetable/TreeTable.d.ts +162 -0
- package/treetable/TreeTable.vue +25 -19
- package/treetable/TreeTableRow.vue +5 -0
- package/treetable/treetable.cjs.js +205 -158
- package/treetable/treetable.cjs.min.js +1 -1
- package/treetable/treetable.esm.js +205 -159
- package/treetable/treetable.esm.min.js +1 -1
- package/treetable/treetable.js +206 -160
- package/treetable/treetable.min.js +1 -1
- package/tristatecheckbox/TriStateCheckbox.d.ts +93 -0
- package/tristatecheckbox/TriStateCheckbox.vue +19 -8
- package/tristatecheckbox/tristatecheckbox.cjs.js +31 -22
- package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.esm.js +31 -23
- package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.js +32 -24
- package/tristatecheckbox/tristatecheckbox.min.js +1 -1
- package/ts-helpers.d.ts +3 -1
- package/vetur-attributes.json +180 -0
- package/vetur-tags.json +94 -39
- package/virtualscroller/VirtualScroller.d.ts +97 -0
- package/virtualscroller/VirtualScroller.vue +7 -5
- package/virtualscroller/virtualscroller.cjs.js +22 -19
- package/virtualscroller/virtualscroller.cjs.min.js +1 -1
- package/virtualscroller/virtualscroller.esm.js +22 -20
- package/virtualscroller/virtualscroller.esm.min.js +1 -1
- package/virtualscroller/virtualscroller.js +23 -21
- package/virtualscroller/virtualscroller.min.js +1 -1
- package/web-types.json +467 -3
- package/datatable/TableLoadingBody.vue +0 -25
package/treeselect/treeselect.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
this.primevue = this.primevue || {};
|
|
2
|
-
this.primevue.treeselect = (function (ChevronDownIcon, OverlayEventBus, Portal, Ripple, Tree, utils, vue) {
|
|
2
|
+
this.primevue.treeselect = (function (BaseComponent, ChevronDownIcon, OverlayEventBus, Portal, Ripple, Tree, utils, vue) {
|
|
3
3
|
'use strict';
|
|
4
4
|
|
|
5
5
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
6
6
|
|
|
7
|
+
var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
|
|
7
8
|
var ChevronDownIcon__default = /*#__PURE__*/_interopDefaultLegacy(ChevronDownIcon);
|
|
8
9
|
var OverlayEventBus__default = /*#__PURE__*/_interopDefaultLegacy(OverlayEventBus);
|
|
9
10
|
var Portal__default = /*#__PURE__*/_interopDefaultLegacy(Portal);
|
|
@@ -12,6 +13,7 @@ this.primevue.treeselect = (function (ChevronDownIcon, OverlayEventBus, Portal,
|
|
|
12
13
|
|
|
13
14
|
var script = {
|
|
14
15
|
name: 'TreeSelect',
|
|
16
|
+
extends: BaseComponent__default["default"],
|
|
15
17
|
emits: ['update:modelValue', 'before-show', 'before-hide', 'change', 'show', 'hide', 'node-select', 'node-unselect', 'node-expand', 'node-collapse', 'focus', 'blur'],
|
|
16
18
|
props: {
|
|
17
19
|
modelValue: null,
|
|
@@ -453,26 +455,19 @@ this.primevue.treeselect = (function (ChevronDownIcon, OverlayEventBus, Portal,
|
|
|
453
455
|
}
|
|
454
456
|
};
|
|
455
457
|
|
|
456
|
-
const _hoisted_1 =
|
|
457
|
-
const _hoisted_2 = ["
|
|
458
|
-
const _hoisted_3 = { class: "p-treeselect-label-container" };
|
|
459
|
-
const _hoisted_4 = { class: "p-treeselect-token-label" };
|
|
460
|
-
const _hoisted_5 = ["aria-expanded"];
|
|
461
|
-
const _hoisted_6 = {
|
|
462
|
-
key: 0,
|
|
463
|
-
class: "p-treeselect-empty-message"
|
|
464
|
-
};
|
|
458
|
+
const _hoisted_1 = ["id", "disabled", "tabindex", "aria-labelledby", "aria-label", "aria-expanded", "aria-controls"];
|
|
459
|
+
const _hoisted_2 = ["aria-expanded"];
|
|
465
460
|
|
|
466
461
|
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
467
462
|
const _component_TSTree = vue.resolveComponent("TSTree");
|
|
468
463
|
const _component_Portal = vue.resolveComponent("Portal");
|
|
469
464
|
|
|
470
|
-
return (vue.openBlock(), vue.createElementBlock("div", {
|
|
465
|
+
return (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
|
|
471
466
|
ref: "container",
|
|
472
|
-
class:
|
|
467
|
+
class: $options.containerClass,
|
|
473
468
|
onClick: _cache[7] || (_cache[7] = (...args) => ($options.onClick && $options.onClick(...args)))
|
|
474
|
-
}, [
|
|
475
|
-
vue.createElementVNode("div",
|
|
469
|
+
}, _ctx.ptm('root')), [
|
|
470
|
+
vue.createElementVNode("div", vue.mergeProps({ class: "p-hidden-accessible" }, _ctx.ptm('hiddenInputWrapper')), [
|
|
476
471
|
vue.createElementVNode("input", vue.mergeProps({
|
|
477
472
|
ref: "focusInput",
|
|
478
473
|
id: $props.inputId,
|
|
@@ -491,12 +486,10 @@ this.primevue.treeselect = (function (ChevronDownIcon, OverlayEventBus, Portal,
|
|
|
491
486
|
onFocus: _cache[0] || (_cache[0] = $event => ($options.onFocus($event))),
|
|
492
487
|
onBlur: _cache[1] || (_cache[1] = $event => ($options.onBlur($event))),
|
|
493
488
|
onKeydown: _cache[2] || (_cache[2] = $event => ($options.onKeyDown($event)))
|
|
494
|
-
},
|
|
495
|
-
]),
|
|
496
|
-
vue.createElementVNode("div",
|
|
497
|
-
vue.createElementVNode("div", {
|
|
498
|
-
class: vue.normalizeClass($options.labelClass)
|
|
499
|
-
}, [
|
|
489
|
+
}, { ...$props.inputProps, ..._ctx.ptm('hiddenInput') }), null, 16, _hoisted_1)
|
|
490
|
+
], 16),
|
|
491
|
+
vue.createElementVNode("div", vue.mergeProps({ class: "p-treeselect-label-container" }, _ctx.ptm('labelContainer')), [
|
|
492
|
+
vue.createElementVNode("div", vue.mergeProps({ class: $options.labelClass }, _ctx.ptm('label')), [
|
|
500
493
|
vue.renderSlot(_ctx.$slots, "value", {
|
|
501
494
|
value: $options.selectedNodes,
|
|
502
495
|
placeholder: $props.placeholder
|
|
@@ -508,12 +501,12 @@ this.primevue.treeselect = (function (ChevronDownIcon, OverlayEventBus, Portal,
|
|
|
508
501
|
: ($props.display === 'chip')
|
|
509
502
|
? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
510
503
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($options.selectedNodes, (node) => {
|
|
511
|
-
return (vue.openBlock(), vue.createElementBlock("div", {
|
|
504
|
+
return (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
|
|
512
505
|
key: node.key,
|
|
513
506
|
class: "p-treeselect-token"
|
|
514
|
-
}, [
|
|
515
|
-
vue.createElementVNode("span",
|
|
516
|
-
]))
|
|
507
|
+
}, _ctx.ptm('token')), [
|
|
508
|
+
vue.createElementVNode("span", vue.mergeProps({ class: "p-treeselect-token-label" }, _ctx.ptm('tokenLabel')), vue.toDisplayString(node.label), 17)
|
|
509
|
+
], 16))
|
|
517
510
|
}), 128)),
|
|
518
511
|
($options.emptyValue)
|
|
519
512
|
? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
@@ -523,18 +516,18 @@ this.primevue.treeselect = (function (ChevronDownIcon, OverlayEventBus, Portal,
|
|
|
523
516
|
], 64))
|
|
524
517
|
: vue.createCommentVNode("", true)
|
|
525
518
|
])
|
|
526
|
-
],
|
|
527
|
-
]),
|
|
528
|
-
vue.createElementVNode("div", {
|
|
519
|
+
], 16)
|
|
520
|
+
], 16),
|
|
521
|
+
vue.createElementVNode("div", vue.mergeProps({
|
|
529
522
|
class: "p-treeselect-trigger",
|
|
530
523
|
role: "button",
|
|
531
524
|
"aria-haspopup": "tree",
|
|
532
525
|
"aria-expanded": $data.overlayVisible
|
|
533
|
-
}, [
|
|
526
|
+
}, _ctx.ptm('trigger')), [
|
|
534
527
|
vue.renderSlot(_ctx.$slots, "triggericon", {}, () => [
|
|
535
|
-
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent('ChevronDownIcon'), { class: "p-treeselect-trigger-icon" }))
|
|
528
|
+
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent('ChevronDownIcon'), vue.mergeProps({ class: "p-treeselect-trigger-icon" }, _ctx.ptm('triggerIcon')), null, 16))
|
|
536
529
|
])
|
|
537
|
-
],
|
|
530
|
+
], 16, _hoisted_2),
|
|
538
531
|
vue.createVNode(_component_Portal, { appendTo: $props.appendTo }, {
|
|
539
532
|
default: vue.withCtx(() => [
|
|
540
533
|
vue.createVNode(vue.Transition, {
|
|
@@ -551,15 +544,15 @@ this.primevue.treeselect = (function (ChevronDownIcon, OverlayEventBus, Portal,
|
|
|
551
544
|
onClick: _cache[5] || (_cache[5] = (...args) => ($options.onOverlayClick && $options.onOverlayClick(...args))),
|
|
552
545
|
class: $options.panelStyleClass,
|
|
553
546
|
onKeydown: _cache[6] || (_cache[6] = (...args) => ($options.onOverlayKeydown && $options.onOverlayKeydown(...args)))
|
|
554
|
-
},
|
|
547
|
+
}, { ...$props.panelProps, ..._ctx.ptm('panel') }), [
|
|
555
548
|
vue.renderSlot(_ctx.$slots, "header", {
|
|
556
549
|
value: $props.modelValue,
|
|
557
550
|
options: $props.options
|
|
558
551
|
}),
|
|
559
|
-
vue.createElementVNode("div", {
|
|
552
|
+
vue.createElementVNode("div", vue.mergeProps({
|
|
560
553
|
class: "p-treeselect-items-wrapper",
|
|
561
|
-
style:
|
|
562
|
-
}, [
|
|
554
|
+
style: { 'max-height': $props.scrollHeight }
|
|
555
|
+
}, _ctx.ptm('wrapper')), [
|
|
563
556
|
vue.createVNode(_component_TSTree, {
|
|
564
557
|
ref: "tree",
|
|
565
558
|
id: $options.listId,
|
|
@@ -574,7 +567,8 @@ this.primevue.treeselect = (function (ChevronDownIcon, OverlayEventBus, Portal,
|
|
|
574
567
|
onNodeCollapse: _cache[4] || (_cache[4] = $event => (_ctx.$emit('node-collapse', $event))),
|
|
575
568
|
onNodeSelect: $options.onNodeSelect,
|
|
576
569
|
onNodeUnselect: $options.onNodeUnselect,
|
|
577
|
-
level: 0
|
|
570
|
+
level: 0,
|
|
571
|
+
pt: _ctx.ptm('tree')
|
|
578
572
|
}, vue.createSlots({ _: 2 }, [
|
|
579
573
|
(_ctx.$slots.itemtogglericon)
|
|
580
574
|
? {
|
|
@@ -602,15 +596,18 @@ this.primevue.treeselect = (function (ChevronDownIcon, OverlayEventBus, Portal,
|
|
|
602
596
|
key: "1"
|
|
603
597
|
}
|
|
604
598
|
: undefined
|
|
605
|
-
]), 1032, ["id", "value", "selectionMode", "onUpdate:selectionKeys", "selectionKeys", "expandedKeys", "onUpdate:expandedKeys", "metaKeySelection", "onNodeSelect", "onNodeUnselect"]),
|
|
599
|
+
]), 1032, ["id", "value", "selectionMode", "onUpdate:selectionKeys", "selectionKeys", "expandedKeys", "onUpdate:expandedKeys", "metaKeySelection", "onNodeSelect", "onNodeUnselect", "pt"]),
|
|
606
600
|
($options.emptyOptions)
|
|
607
|
-
? (vue.openBlock(), vue.createElementBlock("div",
|
|
601
|
+
? (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
|
|
602
|
+
key: 0,
|
|
603
|
+
class: "p-treeselect-empty-message"
|
|
604
|
+
}, _ctx.ptm('emptyMessage')), [
|
|
608
605
|
vue.renderSlot(_ctx.$slots, "empty", {}, () => [
|
|
609
606
|
vue.createTextVNode(vue.toDisplayString($options.emptyMessageText), 1)
|
|
610
607
|
])
|
|
611
|
-
]))
|
|
608
|
+
], 16))
|
|
612
609
|
: vue.createCommentVNode("", true)
|
|
613
|
-
],
|
|
610
|
+
], 16),
|
|
614
611
|
vue.renderSlot(_ctx.$slots, "footer", {
|
|
615
612
|
value: $props.modelValue,
|
|
616
613
|
options: $props.options
|
|
@@ -623,7 +620,7 @@ this.primevue.treeselect = (function (ChevronDownIcon, OverlayEventBus, Portal,
|
|
|
623
620
|
]),
|
|
624
621
|
_: 3
|
|
625
622
|
}, 8, ["appendTo"])
|
|
626
|
-
],
|
|
623
|
+
], 16))
|
|
627
624
|
}
|
|
628
625
|
|
|
629
626
|
function styleInject(css, ref) {
|
|
@@ -660,4 +657,4 @@ this.primevue.treeselect = (function (ChevronDownIcon, OverlayEventBus, Portal,
|
|
|
660
657
|
|
|
661
658
|
return script;
|
|
662
659
|
|
|
663
|
-
})(primevue.icons.chevrondown, primevue.overlayeventbus, primevue.portal, primevue.ripple, primevue.tree, primevue.utils, Vue);
|
|
660
|
+
})(primevue.basecomponent, primevue.icons.chevrondown, primevue.overlayeventbus, primevue.portal, primevue.ripple, primevue.tree, primevue.utils, Vue);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
this.primevue=this.primevue||{},this.primevue.treeselect=function(e,t,l,i,n,s,o){"use strict";function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=r(e),d=r(t),c=r(l),p=r(i),h={name:"TreeSelect",emits:["update:modelValue","before-show","before-hide","change","show","hide","node-select","node-unselect","node-expand","node-collapse","focus","blur"],props:{modelValue:null,options:Array,scrollHeight:{type:String,default:"400px"},placeholder:{type:String,default:null},disabled:{type:Boolean,default:!1},tabindex:{type:Number,default:null},selectionMode:{type:String,default:"single"},appendTo:{type:String,default:"body"},emptyMessage:{type:String,default:null},display:{type:String,default:"comma"},metaKeySelection:{type:Boolean,default:!0},inputId:{type:String,default:null},inputClass:{type:[String,Object],default:null},inputStyle:{type:Object,default:null},inputProps:{type:null,default:null},panelClass:{type:[String,Object],default:null},panelProps:{type:null,default:null},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},data:()=>({focused:!1,overlayVisible:!1,expandedKeys:{}}),watch:{modelValue:{handler:function(){this.selfChange||this.updateTreeState(),this.selfChange=!1},immediate:!0},options(){this.updateTreeState()}},outsideClickListener:null,resizeListener:null,scrollHandler:null,overlay:null,selfChange:!1,selfClick:!1,beforeUnmount(){this.unbindOutsideClickListener(),this.unbindResizeListener(),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.overlay&&(s.ZIndexUtils.clear(this.overlay),this.overlay=null)},mounted(){this.updateTreeState()},methods:{show(){this.$emit("before-show"),this.overlayVisible=!0},hide(){this.$emit("before-hide"),this.overlayVisible=!1,this.$refs.focusInput.focus()},onFocus(e){this.focused=!0,this.$emit("focus",e)},onBlur(e){this.focused=!1,this.$emit("blur",e)},onClick(e){this.disabled||this.overlay&&this.overlay.contains(e.target)||s.DomHandler.hasClass(e.target,"p-treeselect-close")||(this.overlayVisible?this.hide():this.show(),this.$refs.focusInput.focus())},onSelectionChange(e){this.selfChange=!0,this.$emit("update:modelValue",e),this.$emit("change",e)},onNodeSelect(e){this.$emit("node-select",e),"single"===this.selectionMode&&this.hide()},onNodeUnselect(e){this.$emit("node-unselect",e)},onNodeToggle(e){this.expandedKeys=e},onKeyDown(e){switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"Space":case"Enter":this.onEnterKey(e);break;case"Escape":this.onEscapeKey(e)}},onArrowDownKey(e){this.overlayVisible||(this.show(),this.$nextTick((()=>{const e=[...s.DomHandler.find(this.$refs.tree.$el,".p-treenode")].find((e=>"0"===e.getAttribute("tabindex")));s.DomHandler.focus(e)})),e.preventDefault())},onEnterKey(e){this.overlayVisible?this.hide():this.onArrowDownKey(e),e.preventDefault()},onEscapeKey(e){this.overlayVisible&&(this.hide(),e.preventDefault())},onOverlayEnter(e){s.ZIndexUtils.set("overlay",e,this.$primevue.config.zIndex.overlay),this.alignOverlay(),this.bindOutsideClickListener(),this.bindScrollListener(),this.bindResizeListener(),this.scrollValueInView(),this.$emit("show")},onOverlayLeave(){this.unbindOutsideClickListener(),this.unbindScrollListener(),this.unbindResizeListener(),this.$emit("hide"),this.overlay=null},onOverlayAfterLeave(e){s.ZIndexUtils.clear(e)},alignOverlay(){"self"===this.appendTo?s.DomHandler.relativePosition(this.overlay,this.$el):(this.overlay.style.minWidth=s.DomHandler.getOuterWidth(this.$el)+"px",s.DomHandler.absolutePosition(this.overlay,this.$el))},bindOutsideClickListener(){this.outsideClickListener||(this.outsideClickListener=e=>{this.overlayVisible&&!this.selfClick&&this.isOutsideClicked(e)&&this.hide(),this.selfClick=!1},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null)},bindScrollListener(){this.scrollHandler||(this.scrollHandler=new s.ConnectedOverlayScrollHandler(this.$refs.container,(()=>{this.overlayVisible&&this.hide()}))),this.scrollHandler.bindScrollListener()},unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()},bindResizeListener(){this.resizeListener||(this.resizeListener=()=>{this.overlayVisible&&!s.DomHandler.isTouchDevice()&&this.hide()},window.addEventListener("resize",this.resizeListener))},unbindResizeListener(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},isOutsideClicked(e){return!(this.$el.isSameNode(e.target)||this.$el.contains(e.target)||this.overlay&&this.overlay.contains(e.target))},overlayRef(e){this.overlay=e},onOverlayClick(e){d.default.emit("overlay-click",{originalEvent:e,target:this.$el}),this.selfClick=!0},onOverlayKeydown(e){"Escape"===e.code&&this.hide()},findSelectedNodes(e,t,l){if(e){if(this.isSelected(e,t)&&(l.push(e),delete t[e.key]),Object.keys(t).length&&e.children)for(let i of e.children)this.findSelectedNodes(i,t,l)}else for(let e of this.options)this.findSelectedNodes(e,t,l)},isSelected(e,t){return"checkbox"===this.selectionMode?t[e.key]&&t[e.key].checked:t[e.key]},updateTreeState(){let e={...this.modelValue};this.expandedKeys={},e&&this.options&&this.updateTreeBranchState(null,null,e)},updateTreeBranchState(e,t,l){if(e){if(this.isSelected(e,l)&&(this.expandPath(t),delete l[e.key]),Object.keys(l).length&&e.children)for(let i of e.children)t.push(e.key),this.updateTreeBranchState(i,t,l)}else for(let e of this.options)this.updateTreeBranchState(e,[],l)},expandPath(e){if(e.length>0)for(let t of e)this.expandedKeys[t]=!0},scrollValueInView(){if(this.overlay){let e=s.DomHandler.findSingle(this.overlay,"li.p-highlight");e&&e.scrollIntoView({block:"nearest",inline:"start"})}}},computed:{containerClass(){return["p-treeselect p-component p-inputwrapper",{"p-treeselect-chip":"chip"===this.display,"p-disabled":this.disabled,"p-focus":this.focused,"p-inputwrapper-filled":!this.emptyValue,"p-inputwrapper-focus":this.focused||this.overlayVisible}]},labelClass(){return["p-treeselect-label",{"p-placeholder":this.label===this.placeholder,"p-treeselect-label-empty":!this.placeholder&&this.emptyValue}]},panelStyleClass(){return["p-treeselect-panel p-component",this.panelClass,{"p-input-filled":"filled"===this.$primevue.config.inputStyle,"p-ripple-disabled":!1===this.$primevue.config.ripple}]},selectedNodes(){let e=[];if(this.modelValue&&this.options){let t={...this.modelValue};this.findSelectedNodes(null,t,e)}return e},label(){let e=this.selectedNodes;return e.length?e.map((e=>e.label)).join(", "):this.placeholder},emptyMessageText(){return this.emptyMessage||this.$primevue.config.locale.emptyMessage},emptyValue(){return!this.modelValue||0===Object.keys(this.modelValue).length},emptyOptions(){return!this.options||0===this.options.length},listId:()=>s.UniqueComponentId()+"_list"},components:{TSTree:r(n).default,Portal:c.default,ChevronDownIcon:a.default},directives:{ripple:p.default}};const u={class:"p-hidden-accessible"},y=["id","disabled","tabindex","aria-labelledby","aria-label","aria-expanded","aria-controls"],m={class:"p-treeselect-label-container"},f={class:"p-treeselect-token-label"},v=["aria-expanded"],b={key:0,class:"p-treeselect-empty-message"};return function(e,t){void 0===t&&(t={});var l=t.insertAt;if(e&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===l&&i.firstChild?i.insertBefore(n,i.firstChild):i.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-treeselect {\n display: inline-flex;\n cursor: pointer;\n position: relative;\n user-select: none;\n}\n.p-treeselect-trigger {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n.p-treeselect-label-container {\n overflow: hidden;\n flex: 1 1 auto;\n cursor: pointer;\n}\n.p-treeselect-label {\n display: block;\n white-space: nowrap;\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.p-treeselect-label-empty {\n overflow: hidden;\n visibility: hidden;\n}\n.p-treeselect-token {\n cursor: default;\n display: inline-flex;\n align-items: center;\n flex: 0 0 auto;\n}\n.p-treeselect .p-treeselect-panel {\n min-width: 100%;\n}\n.p-treeselect-panel {\n position: absolute;\n top: 0;\n left: 0;\n}\n.p-treeselect-items-wrapper {\n overflow: auto;\n}\n.p-fluid .p-treeselect {\n display: flex;\n}\n"),h.render=function(e,t,l,i,n,s){const r=o.resolveComponent("TSTree"),a=o.resolveComponent("Portal");return o.openBlock(),o.createElementBlock("div",{ref:"container",class:o.normalizeClass(s.containerClass),onClick:t[7]||(t[7]=(...e)=>s.onClick&&s.onClick(...e))},[o.createElementVNode("div",u,[o.createElementVNode("input",o.mergeProps({ref:"focusInput",id:l.inputId,type:"text",role:"combobox",class:l.inputClass,style:l.inputStyle,readonly:"",disabled:l.disabled,tabindex:l.disabled?-1:l.tabindex,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,"aria-haspopup":"tree","aria-expanded":n.overlayVisible,"aria-controls":s.listId,onFocus:t[0]||(t[0]=e=>s.onFocus(e)),onBlur:t[1]||(t[1]=e=>s.onBlur(e)),onKeydown:t[2]||(t[2]=e=>s.onKeyDown(e))},l.inputProps),null,16,y)]),o.createElementVNode("div",m,[o.createElementVNode("div",{class:o.normalizeClass(s.labelClass)},[o.renderSlot(e.$slots,"value",{value:s.selectedNodes,placeholder:l.placeholder},(()=>["comma"===l.display?(o.openBlock(),o.createElementBlock(o.Fragment,{key:0},[o.createTextVNode(o.toDisplayString(s.label||"empty"),1)],64)):"chip"===l.display?(o.openBlock(),o.createElementBlock(o.Fragment,{key:1},[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(s.selectedNodes,(e=>(o.openBlock(),o.createElementBlock("div",{key:e.key,class:"p-treeselect-token"},[o.createElementVNode("span",f,o.toDisplayString(e.label),1)])))),128)),s.emptyValue?(o.openBlock(),o.createElementBlock(o.Fragment,{key:0},[o.createTextVNode(o.toDisplayString(l.placeholder||"empty"),1)],64)):o.createCommentVNode("",!0)],64)):o.createCommentVNode("",!0)]))],2)]),o.createElementVNode("div",{class:"p-treeselect-trigger",role:"button","aria-haspopup":"tree","aria-expanded":n.overlayVisible},[o.renderSlot(e.$slots,"triggericon",{},(()=>[(o.openBlock(),o.createBlock(o.resolveDynamicComponent("ChevronDownIcon"),{class:"p-treeselect-trigger-icon"}))]))],8,v),o.createVNode(a,{appendTo:l.appendTo},{default:o.withCtx((()=>[o.createVNode(o.Transition,{name:"p-connected-overlay",onEnter:s.onOverlayEnter,onLeave:s.onOverlayLeave,onAfterLeave:s.onOverlayAfterLeave},{default:o.withCtx((()=>[n.overlayVisible?(o.openBlock(),o.createElementBlock("div",o.mergeProps({key:0,ref:s.overlayRef,onClick:t[5]||(t[5]=(...e)=>s.onOverlayClick&&s.onOverlayClick(...e)),class:s.panelStyleClass,onKeydown:t[6]||(t[6]=(...e)=>s.onOverlayKeydown&&s.onOverlayKeydown(...e))},l.panelProps),[o.renderSlot(e.$slots,"header",{value:l.modelValue,options:l.options}),o.createElementVNode("div",{class:"p-treeselect-items-wrapper",style:o.normalizeStyle({"max-height":l.scrollHeight})},[o.createVNode(r,{ref:"tree",id:s.listId,value:l.options,selectionMode:l.selectionMode,"onUpdate:selectionKeys":s.onSelectionChange,selectionKeys:l.modelValue,expandedKeys:n.expandedKeys,"onUpdate:expandedKeys":s.onNodeToggle,metaKeySelection:l.metaKeySelection,onNodeExpand:t[3]||(t[3]=t=>e.$emit("node-expand",t)),onNodeCollapse:t[4]||(t[4]=t=>e.$emit("node-collapse",t)),onNodeSelect:s.onNodeSelect,onNodeUnselect:s.onNodeUnselect,level:0},o.createSlots({_:2},[e.$slots.itemtogglericon?{name:"togglericon",fn:o.withCtx((t=>[o.renderSlot(e.$slots,"itemtogglericon",{node:t.node,expanded:t.expanded,class:o.normalizeClass(t.class)})])),key:"0"}:void 0,e.$slots.itemcheckboxicon?{name:"checkboxicon",fn:o.withCtx((t=>[o.renderSlot(e.$slots,"itemcheckboxicon",{checked:t.checked,partialChecked:t.partialChecked,class:o.normalizeClass(t.class)})])),key:"1"}:void 0]),1032,["id","value","selectionMode","onUpdate:selectionKeys","selectionKeys","expandedKeys","onUpdate:expandedKeys","metaKeySelection","onNodeSelect","onNodeUnselect"]),s.emptyOptions?(o.openBlock(),o.createElementBlock("div",b,[o.renderSlot(e.$slots,"empty",{},(()=>[o.createTextVNode(o.toDisplayString(s.emptyMessageText),1)]))])):o.createCommentVNode("",!0)],4),o.renderSlot(e.$slots,"footer",{value:l.modelValue,options:l.options})],16)):o.createCommentVNode("",!0)])),_:3},8,["onEnter","onLeave","onAfterLeave"])])),_:3},8,["appendTo"])],2)},h}(primevue.icons.chevrondown,primevue.overlayeventbus,primevue.portal,primevue.ripple,primevue.tree,primevue.utils,Vue);
|
|
1
|
+
this.primevue=this.primevue||{},this.primevue.treeselect=function(e,t,l,i,n,s,o,r){"use strict";function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=a(e),c=a(t),p=a(l),h=a(i),u=a(n),m=a(s),y={name:"TreeSelect",extends:d.default,emits:["update:modelValue","before-show","before-hide","change","show","hide","node-select","node-unselect","node-expand","node-collapse","focus","blur"],props:{modelValue:null,options:Array,scrollHeight:{type:String,default:"400px"},placeholder:{type:String,default:null},disabled:{type:Boolean,default:!1},tabindex:{type:Number,default:null},selectionMode:{type:String,default:"single"},appendTo:{type:String,default:"body"},emptyMessage:{type:String,default:null},display:{type:String,default:"comma"},metaKeySelection:{type:Boolean,default:!0},inputId:{type:String,default:null},inputClass:{type:[String,Object],default:null},inputStyle:{type:Object,default:null},inputProps:{type:null,default:null},panelClass:{type:[String,Object],default:null},panelProps:{type:null,default:null},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},data:()=>({focused:!1,overlayVisible:!1,expandedKeys:{}}),watch:{modelValue:{handler:function(){this.selfChange||this.updateTreeState(),this.selfChange=!1},immediate:!0},options(){this.updateTreeState()}},outsideClickListener:null,resizeListener:null,scrollHandler:null,overlay:null,selfChange:!1,selfClick:!1,beforeUnmount(){this.unbindOutsideClickListener(),this.unbindResizeListener(),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.overlay&&(o.ZIndexUtils.clear(this.overlay),this.overlay=null)},mounted(){this.updateTreeState()},methods:{show(){this.$emit("before-show"),this.overlayVisible=!0},hide(){this.$emit("before-hide"),this.overlayVisible=!1,this.$refs.focusInput.focus()},onFocus(e){this.focused=!0,this.$emit("focus",e)},onBlur(e){this.focused=!1,this.$emit("blur",e)},onClick(e){this.disabled||this.overlay&&this.overlay.contains(e.target)||o.DomHandler.hasClass(e.target,"p-treeselect-close")||(this.overlayVisible?this.hide():this.show(),this.$refs.focusInput.focus())},onSelectionChange(e){this.selfChange=!0,this.$emit("update:modelValue",e),this.$emit("change",e)},onNodeSelect(e){this.$emit("node-select",e),"single"===this.selectionMode&&this.hide()},onNodeUnselect(e){this.$emit("node-unselect",e)},onNodeToggle(e){this.expandedKeys=e},onKeyDown(e){switch(e.code){case"ArrowDown":this.onArrowDownKey(e);break;case"Space":case"Enter":this.onEnterKey(e);break;case"Escape":this.onEscapeKey(e)}},onArrowDownKey(e){this.overlayVisible||(this.show(),this.$nextTick((()=>{const e=[...o.DomHandler.find(this.$refs.tree.$el,".p-treenode")].find((e=>"0"===e.getAttribute("tabindex")));o.DomHandler.focus(e)})),e.preventDefault())},onEnterKey(e){this.overlayVisible?this.hide():this.onArrowDownKey(e),e.preventDefault()},onEscapeKey(e){this.overlayVisible&&(this.hide(),e.preventDefault())},onOverlayEnter(e){o.ZIndexUtils.set("overlay",e,this.$primevue.config.zIndex.overlay),this.alignOverlay(),this.bindOutsideClickListener(),this.bindScrollListener(),this.bindResizeListener(),this.scrollValueInView(),this.$emit("show")},onOverlayLeave(){this.unbindOutsideClickListener(),this.unbindScrollListener(),this.unbindResizeListener(),this.$emit("hide"),this.overlay=null},onOverlayAfterLeave(e){o.ZIndexUtils.clear(e)},alignOverlay(){"self"===this.appendTo?o.DomHandler.relativePosition(this.overlay,this.$el):(this.overlay.style.minWidth=o.DomHandler.getOuterWidth(this.$el)+"px",o.DomHandler.absolutePosition(this.overlay,this.$el))},bindOutsideClickListener(){this.outsideClickListener||(this.outsideClickListener=e=>{this.overlayVisible&&!this.selfClick&&this.isOutsideClicked(e)&&this.hide(),this.selfClick=!1},document.addEventListener("click",this.outsideClickListener))},unbindOutsideClickListener(){this.outsideClickListener&&(document.removeEventListener("click",this.outsideClickListener),this.outsideClickListener=null)},bindScrollListener(){this.scrollHandler||(this.scrollHandler=new o.ConnectedOverlayScrollHandler(this.$refs.container,(()=>{this.overlayVisible&&this.hide()}))),this.scrollHandler.bindScrollListener()},unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()},bindResizeListener(){this.resizeListener||(this.resizeListener=()=>{this.overlayVisible&&!o.DomHandler.isTouchDevice()&&this.hide()},window.addEventListener("resize",this.resizeListener))},unbindResizeListener(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},isOutsideClicked(e){return!(this.$el.isSameNode(e.target)||this.$el.contains(e.target)||this.overlay&&this.overlay.contains(e.target))},overlayRef(e){this.overlay=e},onOverlayClick(e){p.default.emit("overlay-click",{originalEvent:e,target:this.$el}),this.selfClick=!0},onOverlayKeydown(e){"Escape"===e.code&&this.hide()},findSelectedNodes(e,t,l){if(e){if(this.isSelected(e,t)&&(l.push(e),delete t[e.key]),Object.keys(t).length&&e.children)for(let i of e.children)this.findSelectedNodes(i,t,l)}else for(let e of this.options)this.findSelectedNodes(e,t,l)},isSelected(e,t){return"checkbox"===this.selectionMode?t[e.key]&&t[e.key].checked:t[e.key]},updateTreeState(){let e={...this.modelValue};this.expandedKeys={},e&&this.options&&this.updateTreeBranchState(null,null,e)},updateTreeBranchState(e,t,l){if(e){if(this.isSelected(e,l)&&(this.expandPath(t),delete l[e.key]),Object.keys(l).length&&e.children)for(let i of e.children)t.push(e.key),this.updateTreeBranchState(i,t,l)}else for(let e of this.options)this.updateTreeBranchState(e,[],l)},expandPath(e){if(e.length>0)for(let t of e)this.expandedKeys[t]=!0},scrollValueInView(){if(this.overlay){let e=o.DomHandler.findSingle(this.overlay,"li.p-highlight");e&&e.scrollIntoView({block:"nearest",inline:"start"})}}},computed:{containerClass(){return["p-treeselect p-component p-inputwrapper",{"p-treeselect-chip":"chip"===this.display,"p-disabled":this.disabled,"p-focus":this.focused,"p-inputwrapper-filled":!this.emptyValue,"p-inputwrapper-focus":this.focused||this.overlayVisible}]},labelClass(){return["p-treeselect-label",{"p-placeholder":this.label===this.placeholder,"p-treeselect-label-empty":!this.placeholder&&this.emptyValue}]},panelStyleClass(){return["p-treeselect-panel p-component",this.panelClass,{"p-input-filled":"filled"===this.$primevue.config.inputStyle,"p-ripple-disabled":!1===this.$primevue.config.ripple}]},selectedNodes(){let e=[];if(this.modelValue&&this.options){let t={...this.modelValue};this.findSelectedNodes(null,t,e)}return e},label(){let e=this.selectedNodes;return e.length?e.map((e=>e.label)).join(", "):this.placeholder},emptyMessageText(){return this.emptyMessage||this.$primevue.config.locale.emptyMessage},emptyValue(){return!this.modelValue||0===Object.keys(this.modelValue).length},emptyOptions(){return!this.options||0===this.options.length},listId:()=>o.UniqueComponentId()+"_list"},components:{TSTree:m.default,Portal:h.default,ChevronDownIcon:c.default},directives:{ripple:u.default}};const f=["id","disabled","tabindex","aria-labelledby","aria-label","aria-expanded","aria-controls"],v=["aria-expanded"];return function(e,t){void 0===t&&(t={});var l=t.insertAt;if(e&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===l&&i.firstChild?i.insertBefore(n,i.firstChild):i.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-treeselect {\n display: inline-flex;\n cursor: pointer;\n position: relative;\n user-select: none;\n}\n.p-treeselect-trigger {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n.p-treeselect-label-container {\n overflow: hidden;\n flex: 1 1 auto;\n cursor: pointer;\n}\n.p-treeselect-label {\n display: block;\n white-space: nowrap;\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.p-treeselect-label-empty {\n overflow: hidden;\n visibility: hidden;\n}\n.p-treeselect-token {\n cursor: default;\n display: inline-flex;\n align-items: center;\n flex: 0 0 auto;\n}\n.p-treeselect .p-treeselect-panel {\n min-width: 100%;\n}\n.p-treeselect-panel {\n position: absolute;\n top: 0;\n left: 0;\n}\n.p-treeselect-items-wrapper {\n overflow: auto;\n}\n.p-fluid .p-treeselect {\n display: flex;\n}\n"),y.render=function(e,t,l,i,n,s){const o=r.resolveComponent("TSTree"),a=r.resolveComponent("Portal");return r.openBlock(),r.createElementBlock("div",r.mergeProps({ref:"container",class:s.containerClass,onClick:t[7]||(t[7]=(...e)=>s.onClick&&s.onClick(...e))},e.ptm("root")),[r.createElementVNode("div",r.mergeProps({class:"p-hidden-accessible"},e.ptm("hiddenInputWrapper")),[r.createElementVNode("input",r.mergeProps({ref:"focusInput",id:l.inputId,type:"text",role:"combobox",class:l.inputClass,style:l.inputStyle,readonly:"",disabled:l.disabled,tabindex:l.disabled?-1:l.tabindex,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,"aria-haspopup":"tree","aria-expanded":n.overlayVisible,"aria-controls":s.listId,onFocus:t[0]||(t[0]=e=>s.onFocus(e)),onBlur:t[1]||(t[1]=e=>s.onBlur(e)),onKeydown:t[2]||(t[2]=e=>s.onKeyDown(e))},{...l.inputProps,...e.ptm("hiddenInput")}),null,16,f)],16),r.createElementVNode("div",r.mergeProps({class:"p-treeselect-label-container"},e.ptm("labelContainer")),[r.createElementVNode("div",r.mergeProps({class:s.labelClass},e.ptm("label")),[r.renderSlot(e.$slots,"value",{value:s.selectedNodes,placeholder:l.placeholder},(()=>["comma"===l.display?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createTextVNode(r.toDisplayString(s.label||"empty"),1)],64)):"chip"===l.display?(r.openBlock(),r.createElementBlock(r.Fragment,{key:1},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(s.selectedNodes,(t=>(r.openBlock(),r.createElementBlock("div",r.mergeProps({key:t.key,class:"p-treeselect-token"},e.ptm("token")),[r.createElementVNode("span",r.mergeProps({class:"p-treeselect-token-label"},e.ptm("tokenLabel")),r.toDisplayString(t.label),17)],16)))),128)),s.emptyValue?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},[r.createTextVNode(r.toDisplayString(l.placeholder||"empty"),1)],64)):r.createCommentVNode("",!0)],64)):r.createCommentVNode("",!0)]))],16)],16),r.createElementVNode("div",r.mergeProps({class:"p-treeselect-trigger",role:"button","aria-haspopup":"tree","aria-expanded":n.overlayVisible},e.ptm("trigger")),[r.renderSlot(e.$slots,"triggericon",{},(()=>[(r.openBlock(),r.createBlock(r.resolveDynamicComponent("ChevronDownIcon"),r.mergeProps({class:"p-treeselect-trigger-icon"},e.ptm("triggerIcon")),null,16))]))],16,v),r.createVNode(a,{appendTo:l.appendTo},{default:r.withCtx((()=>[r.createVNode(r.Transition,{name:"p-connected-overlay",onEnter:s.onOverlayEnter,onLeave:s.onOverlayLeave,onAfterLeave:s.onOverlayAfterLeave},{default:r.withCtx((()=>[n.overlayVisible?(r.openBlock(),r.createElementBlock("div",r.mergeProps({key:0,ref:s.overlayRef,onClick:t[5]||(t[5]=(...e)=>s.onOverlayClick&&s.onOverlayClick(...e)),class:s.panelStyleClass,onKeydown:t[6]||(t[6]=(...e)=>s.onOverlayKeydown&&s.onOverlayKeydown(...e))},{...l.panelProps,...e.ptm("panel")}),[r.renderSlot(e.$slots,"header",{value:l.modelValue,options:l.options}),r.createElementVNode("div",r.mergeProps({class:"p-treeselect-items-wrapper",style:{"max-height":l.scrollHeight}},e.ptm("wrapper")),[r.createVNode(o,{ref:"tree",id:s.listId,value:l.options,selectionMode:l.selectionMode,"onUpdate:selectionKeys":s.onSelectionChange,selectionKeys:l.modelValue,expandedKeys:n.expandedKeys,"onUpdate:expandedKeys":s.onNodeToggle,metaKeySelection:l.metaKeySelection,onNodeExpand:t[3]||(t[3]=t=>e.$emit("node-expand",t)),onNodeCollapse:t[4]||(t[4]=t=>e.$emit("node-collapse",t)),onNodeSelect:s.onNodeSelect,onNodeUnselect:s.onNodeUnselect,level:0,pt:e.ptm("tree")},r.createSlots({_:2},[e.$slots.itemtogglericon?{name:"togglericon",fn:r.withCtx((t=>[r.renderSlot(e.$slots,"itemtogglericon",{node:t.node,expanded:t.expanded,class:r.normalizeClass(t.class)})])),key:"0"}:void 0,e.$slots.itemcheckboxicon?{name:"checkboxicon",fn:r.withCtx((t=>[r.renderSlot(e.$slots,"itemcheckboxicon",{checked:t.checked,partialChecked:t.partialChecked,class:r.normalizeClass(t.class)})])),key:"1"}:void 0]),1032,["id","value","selectionMode","onUpdate:selectionKeys","selectionKeys","expandedKeys","onUpdate:expandedKeys","metaKeySelection","onNodeSelect","onNodeUnselect","pt"]),s.emptyOptions?(r.openBlock(),r.createElementBlock("div",r.mergeProps({key:0,class:"p-treeselect-empty-message"},e.ptm("emptyMessage")),[r.renderSlot(e.$slots,"empty",{},(()=>[r.createTextVNode(r.toDisplayString(s.emptyMessageText),1)]))],16)):r.createCommentVNode("",!0)],16),r.renderSlot(e.$slots,"footer",{value:l.modelValue,options:l.options})],16)):r.createCommentVNode("",!0)])),_:3},8,["onEnter","onLeave","onAfterLeave"])])),_:3},8,["appendTo"])],16)},y}(primevue.basecomponent,primevue.icons.chevrondown,primevue.overlayeventbus,primevue.portal,primevue.ripple,primevue.tree,primevue.utils,Vue);
|
package/treetable/BodyCell.vue
CHANGED
|
@@ -1,27 +1,28 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<td :style="containerStyle" :class="containerClass" role="cell">
|
|
3
|
-
<button v-if="columnProp('expander')" v-ripple type="button" class="p-treetable-toggler p-link" @click="toggle" :style="togglerStyle" tabindex="-1">
|
|
2
|
+
<td :style="containerStyle" :class="containerClass" role="cell" v-bind="{ ...getColumnPTOptions('root'), ...getColumnPTOptions('bodyCell') }">
|
|
3
|
+
<button v-if="columnProp('expander')" v-ripple type="button" class="p-treetable-toggler p-link" @click="toggle" :style="togglerStyle" tabindex="-1" v-bind="getColumnPTOptions('rowToggler')">
|
|
4
4
|
<component v-if="templates['togglericon']" :is="templates['togglericon']" :node="node" :expanded="expanded" class="p-tree-toggler-icon" />
|
|
5
|
-
<component v-else-if="expanded" :is="node.expandedIcon ? 'span' : 'ChevronDownIcon'" class="p-tree-toggler-icon" />
|
|
6
|
-
<component v-else :is="node.collapsedIcon ? 'span' : 'ChevronRightIcon'" class="p-tree-toggler-icon" />
|
|
5
|
+
<component v-else-if="expanded" :is="node.expandedIcon ? 'span' : 'ChevronDownIcon'" class="p-tree-toggler-icon" v-bind="getColumnPTOptions('rowTogglerIcon')" />
|
|
6
|
+
<component v-else :is="node.collapsedIcon ? 'span' : 'ChevronRightIcon'" class="p-tree-toggler-icon" v-bind="getColumnPTOptions('rowTogglerIcon')" />
|
|
7
7
|
</button>
|
|
8
|
-
<div v-if="checkboxSelectionMode && columnProp('expander')" :class="['p-checkbox p-treetable-checkbox p-component', { 'p-checkbox-focused': checkboxFocused }]" @click="toggleCheckbox">
|
|
9
|
-
<div class="p-hidden-accessible">
|
|
10
|
-
<input type="checkbox" @focus="onCheckboxFocus" @blur="onCheckboxBlur" tabindex="-1" />
|
|
8
|
+
<div v-if="checkboxSelectionMode && columnProp('expander')" :class="['p-checkbox p-treetable-checkbox p-component', { 'p-checkbox-focused': checkboxFocused }]" @click="toggleCheckbox" v-bind="getColumnPTOptions('checkboxWrapper')">
|
|
9
|
+
<div class="p-hidden-accessible" v-bind="getColumnPTOptions('hiddenInputWrapper')">
|
|
10
|
+
<input type="checkbox" @focus="onCheckboxFocus" @blur="onCheckboxBlur" tabindex="-1" v-bind="getColumnPTOptions('hiddenInput')" />
|
|
11
11
|
</div>
|
|
12
|
-
<div ref="checkboxEl" :class="checkboxClass">
|
|
12
|
+
<div ref="checkboxEl" :class="checkboxClass" v-bind="getColumnCheckboxPTOptions('checkbox')">
|
|
13
13
|
<component v-if="templates['checkboxicon']" :is="templates['checkboxicon']" :checked="checked" :partialChecked="partialChecked" class="p-checkbox-icon" />
|
|
14
|
-
<component v-else :is="checked ? 'CheckIcon' : partialChecked ? 'MinusIcon' : null" class="p-checkbox-icon" />
|
|
14
|
+
<component v-else :is="checked ? 'CheckIcon' : partialChecked ? 'MinusIcon' : null" class="p-checkbox-icon" v-bind="getColumnCheckboxPTOptions('checkboxIcon')" />
|
|
15
15
|
</div>
|
|
16
16
|
</div>
|
|
17
17
|
<component v-if="column.children && column.children.body" :is="column.children.body" :node="node" :column="column" />
|
|
18
18
|
<template v-else>
|
|
19
|
-
<span>{{ resolveFieldData(node.data, columnProp('field')) }}</span>
|
|
19
|
+
<span v-bind="getColumnPTOptions('cellContent')">{{ resolveFieldData(node.data, columnProp('field')) }}</span>
|
|
20
20
|
</template>
|
|
21
21
|
</td>
|
|
22
22
|
</template>
|
|
23
23
|
|
|
24
24
|
<script>
|
|
25
|
+
import BaseComponent from 'primevue/basecomponent';
|
|
25
26
|
import CheckIcon from 'primevue/icons/check';
|
|
26
27
|
import ChevronDownIcon from 'primevue/icons/chevrondown';
|
|
27
28
|
import ChevronRightIcon from 'primevue/icons/chevronright';
|
|
@@ -31,6 +32,7 @@ import { DomHandler, ObjectUtils } from 'primevue/utils';
|
|
|
31
32
|
|
|
32
33
|
export default {
|
|
33
34
|
name: 'BodyCell',
|
|
35
|
+
extends: BaseComponent,
|
|
34
36
|
emits: ['node-toggle', 'checkbox-toggle'],
|
|
35
37
|
props: {
|
|
36
38
|
node: {
|
|
@@ -97,6 +99,32 @@ export default {
|
|
|
97
99
|
columnProp(prop) {
|
|
98
100
|
return ObjectUtils.getVNodeProp(this.column, prop);
|
|
99
101
|
},
|
|
102
|
+
getColumnPTOptions(key) {
|
|
103
|
+
return this.ptmo(this.getColumnProp(), key, {
|
|
104
|
+
props: this.column.props,
|
|
105
|
+
parent: {
|
|
106
|
+
props: this.$props,
|
|
107
|
+
state: this.$data
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
},
|
|
111
|
+
getColumnCheckboxPTOptions(key) {
|
|
112
|
+
return this.ptmo(this.getColumnProp(), key, {
|
|
113
|
+
props: this.column.props,
|
|
114
|
+
parent: {
|
|
115
|
+
props: this.$props,
|
|
116
|
+
state: this.$data
|
|
117
|
+
},
|
|
118
|
+
context: {
|
|
119
|
+
checked: this.checked,
|
|
120
|
+
focused: this.checkboxFocused,
|
|
121
|
+
partialChecked: this.partialChecked
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
},
|
|
125
|
+
getColumnProp() {
|
|
126
|
+
return this.column.props && this.column.props.pt ? this.column.props.pt : undefined; //@todo
|
|
127
|
+
},
|
|
100
128
|
updateStickyPosition() {
|
|
101
129
|
if (this.columnProp('frozen')) {
|
|
102
130
|
let align = this.columnProp('alignFrozen');
|
package/treetable/FooterCell.vue
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<td :style="containerStyle" :class="containerClass">
|
|
2
|
+
<td :style="containerStyle" :class="containerClass" role="cell" v-bind="{ ...getColumnPTOptions('root'), ...getColumnPTOptions('footerCell') }">
|
|
3
3
|
<component v-if="column.children && column.children.footer" :is="column.children.footer" :column="column" />
|
|
4
4
|
{{ columnProp('footer') }}
|
|
5
5
|
</td>
|
|
6
6
|
</template>
|
|
7
7
|
|
|
8
8
|
<script>
|
|
9
|
+
import BaseComponent from 'primevue/basecomponent';
|
|
9
10
|
import { DomHandler, ObjectUtils } from 'primevue/utils';
|
|
10
11
|
|
|
11
12
|
export default {
|
|
12
13
|
name: 'FooterCell',
|
|
14
|
+
extends: BaseComponent,
|
|
13
15
|
props: {
|
|
14
16
|
column: {
|
|
15
17
|
type: Object,
|
|
@@ -35,6 +37,18 @@ export default {
|
|
|
35
37
|
columnProp(prop) {
|
|
36
38
|
return ObjectUtils.getVNodeProp(this.column, prop);
|
|
37
39
|
},
|
|
40
|
+
getColumnPTOptions(key) {
|
|
41
|
+
return this.ptmo(this.getColumnProp(), key, {
|
|
42
|
+
props: this.column.props,
|
|
43
|
+
parent: {
|
|
44
|
+
props: this.$props,
|
|
45
|
+
state: this.$data
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
},
|
|
49
|
+
getColumnProp() {
|
|
50
|
+
return this.column.props && this.column.props.pt ? this.column.props.pt : undefined;
|
|
51
|
+
},
|
|
38
52
|
updateStickyPosition() {
|
|
39
53
|
if (this.columnProp('frozen')) {
|
|
40
54
|
let align = this.columnProp('alignFrozen');
|
package/treetable/HeaderCell.vue
CHANGED
|
@@ -1,16 +1,26 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<th
|
|
3
|
-
|
|
2
|
+
<th
|
|
3
|
+
:style="[containerStyle]"
|
|
4
|
+
:class="containerClass"
|
|
5
|
+
@click="onClick"
|
|
6
|
+
@keydown="onKeyDown"
|
|
7
|
+
:tabindex="columnProp('sortable') ? '0' : null"
|
|
8
|
+
:aria-sort="ariaSort"
|
|
9
|
+
role="columnheader"
|
|
10
|
+
v-bind="{ ...getColumnPTOptions('root'), ...getColumnPTOptions('headerCell') }"
|
|
11
|
+
>
|
|
12
|
+
<span v-if="resizableColumns && !columnProp('frozen')" class="p-column-resizer" @mousedown="onResizeStart" v-bind="getColumnPTOptions('columnResizer')"></span>
|
|
4
13
|
<component v-if="column.children && column.children.header" :is="column.children.header" :column="column" />
|
|
5
|
-
<span v-if="columnProp('header')" class="p-column-title">{{ columnProp('header') }}</span>
|
|
6
|
-
<span v-if="columnProp('sortable')">
|
|
14
|
+
<span v-if="columnProp('header')" class="p-column-title" v-bind="getColumnPTOptions('headerTitle')">{{ columnProp('header') }}</span>
|
|
15
|
+
<span v-if="columnProp('sortable')" v-bind="getColumnPTOptions('sort')">
|
|
7
16
|
<component :is="(column.children && column.children.sorticon) || sortableColumnIcon" :sorted="sortState.sorted" :sortOrder="sortState.sortOrder" class="p-sortable-column-icon" />
|
|
8
17
|
</span>
|
|
9
|
-
<span v-if="isMultiSorted()" class="p-sortable-column-badge">{{ getMultiSortMetaIndex() + 1 }}</span>
|
|
18
|
+
<span v-if="isMultiSorted()" class="p-sortable-column-badge" v-bind="getColumnPTOptions('sortBadge')">{{ getMultiSortMetaIndex() + 1 }}</span>
|
|
10
19
|
</th>
|
|
11
20
|
</template>
|
|
12
21
|
|
|
13
22
|
<script>
|
|
23
|
+
import BaseComponent from 'primevue/basecomponent';
|
|
14
24
|
import SortAltIcon from 'primevue/icons/sortalt';
|
|
15
25
|
import SortAmountDownIcon from 'primevue/icons/sortamountdown';
|
|
16
26
|
import SortAmountUpAltIcon from 'primevue/icons/sortamountupalt';
|
|
@@ -18,6 +28,7 @@ import { DomHandler, ObjectUtils } from 'primevue/utils';
|
|
|
18
28
|
|
|
19
29
|
export default {
|
|
20
30
|
name: 'HeaderCell',
|
|
31
|
+
extends: BaseComponent,
|
|
21
32
|
emits: ['column-click', 'column-resizestart'],
|
|
22
33
|
props: {
|
|
23
34
|
column: {
|
|
@@ -64,6 +75,18 @@ export default {
|
|
|
64
75
|
columnProp(prop) {
|
|
65
76
|
return ObjectUtils.getVNodeProp(this.column, prop);
|
|
66
77
|
},
|
|
78
|
+
getColumnPTOptions(key) {
|
|
79
|
+
return this.ptmo(this.getColumnProp(), key, {
|
|
80
|
+
props: this.column.props,
|
|
81
|
+
parent: {
|
|
82
|
+
props: this.$props,
|
|
83
|
+
state: this.$data
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
},
|
|
87
|
+
getColumnProp() {
|
|
88
|
+
return this.column.props && this.column.props.pt ? this.column.props.pt : undefined; //@todo:
|
|
89
|
+
},
|
|
67
90
|
updateStickyPosition() {
|
|
68
91
|
if (this.columnProp('frozen')) {
|
|
69
92
|
let align = this.columnProp('alignFrozen');
|
package/treetable/TreeTable.d.ts
CHANGED
|
@@ -8,9 +8,20 @@
|
|
|
8
8
|
*
|
|
9
9
|
*/
|
|
10
10
|
import { VNode } from 'vue';
|
|
11
|
+
import { PaginatorPassThroughOptionType } from '../paginator';
|
|
11
12
|
import { TreeNode } from '../tree';
|
|
12
13
|
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
|
|
13
14
|
|
|
15
|
+
export declare type TreeTablePassThroughOptionType = TreeTablePassThroughAttributes | ((options: TreeTablePassThroughMethodOptions) => TreeTablePassThroughAttributes) | null | undefined;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Custom passthrough(pt) option method.
|
|
19
|
+
*/
|
|
20
|
+
export interface TreeTablePassThroughMethodOptions {
|
|
21
|
+
props: TreeTableProps;
|
|
22
|
+
state: TreeTableState;
|
|
23
|
+
}
|
|
24
|
+
|
|
14
25
|
/**
|
|
15
26
|
* Custom treetable filter metadata.
|
|
16
27
|
*/
|
|
@@ -153,6 +164,152 @@ export interface TreeTableSelectionKeys {
|
|
|
153
164
|
[key: string]: any;
|
|
154
165
|
}
|
|
155
166
|
|
|
167
|
+
/**
|
|
168
|
+
* Custom passthrough(pt) options.
|
|
169
|
+
* @see {@link TreeTableProps.pt}
|
|
170
|
+
*/
|
|
171
|
+
export interface TreeTablePassThroughOptions {
|
|
172
|
+
/**
|
|
173
|
+
* Uses to pass attributes to the root's DOM element.
|
|
174
|
+
*/
|
|
175
|
+
root?: TreeTablePassThroughOptionType;
|
|
176
|
+
/**
|
|
177
|
+
* Uses to pass attributes to the loading wrapper's DOM element.
|
|
178
|
+
*/
|
|
179
|
+
loadingWrapper?: TreeTablePassThroughOptionType;
|
|
180
|
+
/**
|
|
181
|
+
* Uses to pass attributes to the loading overlay's DOM element.
|
|
182
|
+
*/
|
|
183
|
+
loadingOverlay?: TreeTablePassThroughOptionType;
|
|
184
|
+
/**
|
|
185
|
+
* Uses to pass attributes to the loading icon's DOM element.
|
|
186
|
+
*/
|
|
187
|
+
loadingIcon?: TreeTablePassThroughOptionType;
|
|
188
|
+
/**
|
|
189
|
+
* Uses to pass attributes to the header's DOM element.
|
|
190
|
+
*/
|
|
191
|
+
header?: TreeTablePassThroughOptionType;
|
|
192
|
+
/**
|
|
193
|
+
* Uses to pass attributes to the Paginator component.
|
|
194
|
+
* @see {@link PaginatorPassThroughOptionType}
|
|
195
|
+
*/
|
|
196
|
+
paginator?: PaginatorPassThroughOptionType;
|
|
197
|
+
/**
|
|
198
|
+
* Uses to pass attributes to the wrapper's DOM element.
|
|
199
|
+
*/
|
|
200
|
+
wrapper?: TreeTablePassThroughOptionType;
|
|
201
|
+
/**
|
|
202
|
+
* Uses to pass attributes to the table's DOM element.
|
|
203
|
+
*/
|
|
204
|
+
table?: TreeTablePassThroughOptionType;
|
|
205
|
+
/**
|
|
206
|
+
* Uses to pass attributes to the thead's DOM element.
|
|
207
|
+
*/
|
|
208
|
+
thead?: TreeTablePassThroughOptionType;
|
|
209
|
+
/**
|
|
210
|
+
* Uses to pass attributes to the header row's DOM element.
|
|
211
|
+
*/
|
|
212
|
+
headerRow?: TreeTablePassThroughOptionType;
|
|
213
|
+
/**
|
|
214
|
+
* Uses to pass attributes to the header cell's DOM element.
|
|
215
|
+
*/
|
|
216
|
+
headerCell?: TreeTablePassThroughOptionType;
|
|
217
|
+
/**
|
|
218
|
+
* Uses to pass attributes to the tbody's DOM element.
|
|
219
|
+
*/
|
|
220
|
+
tbody?: TreeTablePassThroughOptionType;
|
|
221
|
+
/**
|
|
222
|
+
* Uses to pass attributes to the empty message's DOM element.
|
|
223
|
+
*/
|
|
224
|
+
emptyMessage?: TreeTablePassThroughOptionType;
|
|
225
|
+
/**
|
|
226
|
+
* Uses to pass attributes to the body cell's DOM element.
|
|
227
|
+
*/
|
|
228
|
+
bodyCell?: TreeTablePassThroughOptionType;
|
|
229
|
+
/**
|
|
230
|
+
* Uses to pass attributes to the tfoot's DOM element.
|
|
231
|
+
*/
|
|
232
|
+
tfoot?: TreeTablePassThroughOptionType;
|
|
233
|
+
/**
|
|
234
|
+
* Uses to pass attributes to the footer row's DOM element.
|
|
235
|
+
*/
|
|
236
|
+
footerRow?: TreeTablePassThroughOptionType;
|
|
237
|
+
/**
|
|
238
|
+
* Uses to pass attributes to the footer's DOM element.
|
|
239
|
+
*/
|
|
240
|
+
footer?: TreeTablePassThroughOptionType;
|
|
241
|
+
/**
|
|
242
|
+
* Uses to pass attributes to the resize helper's DOM element.
|
|
243
|
+
*/
|
|
244
|
+
resizeHelper?: TreeTablePassThroughOptionType;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* Custom passthrough attributes for each DOM elements
|
|
249
|
+
*/
|
|
250
|
+
export interface TreeTablePassThroughAttributes {
|
|
251
|
+
[key: string]: any;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* Defines current inline state in TreeTable component.
|
|
256
|
+
*/
|
|
257
|
+
export interface TreeTableState {
|
|
258
|
+
/**
|
|
259
|
+
* Current index of first record as a number.
|
|
260
|
+
*/
|
|
261
|
+
d_first: number;
|
|
262
|
+
/**
|
|
263
|
+
* Current number of rows to display in new page as a number.
|
|
264
|
+
*/
|
|
265
|
+
d_rows: number;
|
|
266
|
+
/**
|
|
267
|
+
* Current sort field.
|
|
268
|
+
*/
|
|
269
|
+
d_sortField: string | ((item: any) => string) | undefined;
|
|
270
|
+
/**
|
|
271
|
+
* Current order to sort the data by default.
|
|
272
|
+
*/
|
|
273
|
+
d_sortOrder: number;
|
|
274
|
+
/**
|
|
275
|
+
* Current sortmeta objects to sort the data.
|
|
276
|
+
*/
|
|
277
|
+
d_multiSortMeta: TreeTableSortMeta[];
|
|
278
|
+
/**
|
|
279
|
+
* Current group sortmeta objects to sort the data.
|
|
280
|
+
*/
|
|
281
|
+
d_groupRowsSortMeta: TreeTableSortMeta;
|
|
282
|
+
/**
|
|
283
|
+
* Current keys of selected rows.
|
|
284
|
+
*/
|
|
285
|
+
d_selectionKeys: any[];
|
|
286
|
+
/**
|
|
287
|
+
* Current keys of rows in expanded state.
|
|
288
|
+
*/
|
|
289
|
+
d_expandedRowKeys: any[];
|
|
290
|
+
/**
|
|
291
|
+
* Current order of the columns.
|
|
292
|
+
*/
|
|
293
|
+
d_columnOrder: string[];
|
|
294
|
+
/**
|
|
295
|
+
* Current keys of editing rows.
|
|
296
|
+
*/
|
|
297
|
+
d_editingRowKeys: any;
|
|
298
|
+
/**
|
|
299
|
+
* Current editing meta data.
|
|
300
|
+
*/
|
|
301
|
+
d_editingMeta: object;
|
|
302
|
+
/**
|
|
303
|
+
* Current filters object.
|
|
304
|
+
*/
|
|
305
|
+
d_filters: TreeTableFilterMeta;
|
|
306
|
+
/**
|
|
307
|
+
* Current editing as a boolean.
|
|
308
|
+
* @defaultValue false
|
|
309
|
+
*/
|
|
310
|
+
d_editing: boolean;
|
|
311
|
+
}
|
|
312
|
+
|
|
156
313
|
/**
|
|
157
314
|
* Defines valid properties in TreeTable component.
|
|
158
315
|
*/
|
|
@@ -356,6 +513,11 @@ export interface TreeTableProps {
|
|
|
356
513
|
* Props to pass to the table element.
|
|
357
514
|
*/
|
|
358
515
|
tableProps?: any | undefined;
|
|
516
|
+
/**
|
|
517
|
+
* Uses to pass attributes to DOM elements inside the component.
|
|
518
|
+
* @type {TreeTablePassThroughOptions}
|
|
519
|
+
*/
|
|
520
|
+
pt?: TreeTablePassThroughOptions;
|
|
359
521
|
}
|
|
360
522
|
|
|
361
523
|
/**
|