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/tree/tree.esm.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import BaseComponent from 'primevue/basecomponent';
|
|
1
2
|
import SearchIcon from 'primevue/icons/search';
|
|
2
3
|
import SpinnerIcon from 'primevue/icons/spinner';
|
|
3
4
|
import { DomHandler, ObjectUtils } from 'primevue/utils';
|
|
@@ -6,10 +7,11 @@ import ChevronDownIcon from 'primevue/icons/chevrondown';
|
|
|
6
7
|
import ChevronRightIcon from 'primevue/icons/chevronright';
|
|
7
8
|
import MinusIcon from 'primevue/icons/minus';
|
|
8
9
|
import Ripple from 'primevue/ripple';
|
|
9
|
-
import { resolveComponent, resolveDirective, openBlock, createElementBlock,
|
|
10
|
+
import { resolveComponent, resolveDirective, openBlock, createElementBlock, mergeProps, createElementVNode, withDirectives, createBlock, resolveDynamicComponent, createCommentVNode, Fragment, createTextVNode, toDisplayString, renderList, renderSlot, vModelText, createVNode } from 'vue';
|
|
10
11
|
|
|
11
12
|
var script$1 = {
|
|
12
13
|
name: 'TreeNode',
|
|
14
|
+
extends: BaseComponent,
|
|
13
15
|
emits: ['node-toggle', 'node-click', 'checkbox-change'],
|
|
14
16
|
props: {
|
|
15
17
|
node: {
|
|
@@ -61,6 +63,15 @@ var script$1 = {
|
|
|
61
63
|
onChildNodeToggle(node) {
|
|
62
64
|
this.$emit('node-toggle', node);
|
|
63
65
|
},
|
|
66
|
+
getPTOptions(key) {
|
|
67
|
+
return this.ptm(key, {
|
|
68
|
+
context: {
|
|
69
|
+
expanded: this.expanded,
|
|
70
|
+
selected: this.selected,
|
|
71
|
+
checked: this.checked
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
},
|
|
64
75
|
onClick(event) {
|
|
65
76
|
if (this.toggleClicked || DomHandler.hasClass(event.target, 'p-tree-toggler') || DomHandler.hasClass(event.target.parentElement, 'p-tree-toggler')) {
|
|
66
77
|
this.toggleClicked = false;
|
|
@@ -398,25 +409,14 @@ var script$1 = {
|
|
|
398
409
|
};
|
|
399
410
|
|
|
400
411
|
const _hoisted_1$1 = ["aria-label", "aria-selected", "aria-expanded", "aria-setsize", "aria-posinset", "aria-level", "aria-checked", "tabindex"];
|
|
401
|
-
const _hoisted_2$1 = {
|
|
402
|
-
key: 0,
|
|
403
|
-
class: "p-checkbox p-component",
|
|
404
|
-
"aria-hidden": "true"
|
|
405
|
-
};
|
|
406
|
-
const _hoisted_3$1 = { class: "p-treenode-label" };
|
|
407
|
-
const _hoisted_4$1 = {
|
|
408
|
-
key: 0,
|
|
409
|
-
class: "p-treenode-children",
|
|
410
|
-
role: "group"
|
|
411
|
-
};
|
|
412
412
|
|
|
413
413
|
function render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
414
414
|
const _component_TreeNode = resolveComponent("TreeNode", true);
|
|
415
415
|
const _directive_ripple = resolveDirective("ripple");
|
|
416
416
|
|
|
417
|
-
return (openBlock(), createElementBlock("li", {
|
|
417
|
+
return (openBlock(), createElementBlock("li", mergeProps({
|
|
418
418
|
ref: "currentNode",
|
|
419
|
-
class:
|
|
419
|
+
class: $options.containerClass,
|
|
420
420
|
role: "treeitem",
|
|
421
421
|
"aria-label": $options.label($props.node),
|
|
422
422
|
"aria-selected": $options.ariaSelected,
|
|
@@ -427,20 +427,20 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
427
427
|
"aria-checked": $options.ariaChecked,
|
|
428
428
|
tabindex: $props.index === 0 ? 0 : -1,
|
|
429
429
|
onKeydown: _cache[3] || (_cache[3] = (...args) => ($options.onKeyDown && $options.onKeyDown(...args)))
|
|
430
|
-
}, [
|
|
431
|
-
createElementVNode("div", {
|
|
432
|
-
class:
|
|
430
|
+
}, $options.getPTOptions('node')), [
|
|
431
|
+
createElementVNode("div", mergeProps({
|
|
432
|
+
class: $options.contentClass,
|
|
433
433
|
onClick: _cache[1] || (_cache[1] = (...args) => ($options.onClick && $options.onClick(...args))),
|
|
434
434
|
onTouchend: _cache[2] || (_cache[2] = (...args) => ($options.onTouchEnd && $options.onTouchEnd(...args))),
|
|
435
|
-
style:
|
|
436
|
-
}, [
|
|
437
|
-
withDirectives((openBlock(), createElementBlock("button", {
|
|
435
|
+
style: $props.node.style
|
|
436
|
+
}, $options.getPTOptions('content')), [
|
|
437
|
+
withDirectives((openBlock(), createElementBlock("button", mergeProps({
|
|
438
438
|
type: "button",
|
|
439
439
|
class: "p-tree-toggler p-link",
|
|
440
440
|
onClick: _cache[0] || (_cache[0] = (...args) => ($options.toggle && $options.toggle(...args))),
|
|
441
441
|
tabindex: "-1",
|
|
442
442
|
"aria-hidden": "true"
|
|
443
|
-
}, [
|
|
443
|
+
}, $options.getPTOptions('toggler')), [
|
|
444
444
|
($props.templates['togglericon'])
|
|
445
445
|
? (openBlock(), createBlock(resolveDynamicComponent($props.templates['togglericon']), {
|
|
446
446
|
key: 0,
|
|
@@ -449,23 +449,27 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
449
449
|
class: "p-tree-toggler-icon"
|
|
450
450
|
}, null, 8, ["node", "expanded"]))
|
|
451
451
|
: ($options.expanded)
|
|
452
|
-
? (openBlock(), createBlock(resolveDynamicComponent($props.node.expandedIcon ? 'span' : 'ChevronDownIcon'), {
|
|
452
|
+
? (openBlock(), createBlock(resolveDynamicComponent($props.node.expandedIcon ? 'span' : 'ChevronDownIcon'), mergeProps({
|
|
453
453
|
key: 1,
|
|
454
454
|
class: "p-tree-toggler-icon"
|
|
455
|
-
}))
|
|
456
|
-
: (openBlock(), createBlock(resolveDynamicComponent($props.node.collapsedIcon ? 'span' : 'ChevronRightIcon'), {
|
|
455
|
+
}, $options.getPTOptions('togglerIcon')), null, 16))
|
|
456
|
+
: (openBlock(), createBlock(resolveDynamicComponent($props.node.collapsedIcon ? 'span' : 'ChevronRightIcon'), mergeProps({
|
|
457
457
|
key: 2,
|
|
458
458
|
class: "p-tree-toggler-icon"
|
|
459
|
-
}))
|
|
460
|
-
])), [
|
|
459
|
+
}, $options.getPTOptions('togglerIcon')), null, 16))
|
|
460
|
+
], 16)), [
|
|
461
461
|
[_directive_ripple]
|
|
462
462
|
]),
|
|
463
463
|
($options.checkboxMode)
|
|
464
|
-
? (openBlock(), createElementBlock("div",
|
|
465
|
-
|
|
466
|
-
|
|
464
|
+
? (openBlock(), createElementBlock("div", mergeProps({
|
|
465
|
+
key: 0,
|
|
466
|
+
class: "p-checkbox p-component",
|
|
467
|
+
"aria-hidden": "true"
|
|
468
|
+
}, $options.getPTOptions('checkboxContainer')), [
|
|
469
|
+
createElementVNode("div", mergeProps({
|
|
470
|
+
class: $options.checkboxClass,
|
|
467
471
|
role: "checkbox"
|
|
468
|
-
}, [
|
|
472
|
+
}, $options.getPTOptions('checkbox')), [
|
|
469
473
|
($props.templates['checkboxicon'])
|
|
470
474
|
? (openBlock(), createBlock(resolveDynamicComponent($props.templates['checkboxicon']), {
|
|
471
475
|
key: 0,
|
|
@@ -473,17 +477,15 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
473
477
|
partialChecked: $options.partialChecked,
|
|
474
478
|
class: "p-checkbox-icon"
|
|
475
479
|
}, null, 8, ["checked", "partialChecked"]))
|
|
476
|
-
: (openBlock(), createBlock(resolveDynamicComponent($options.checked ? 'CheckIcon' : $options.partialChecked ? 'MinusIcon' : null), {
|
|
480
|
+
: (openBlock(), createBlock(resolveDynamicComponent($options.checked ? 'CheckIcon' : $options.partialChecked ? 'MinusIcon' : null), mergeProps({
|
|
477
481
|
key: 1,
|
|
478
482
|
class: "p-checkbox-icon"
|
|
479
|
-
}))
|
|
480
|
-
],
|
|
481
|
-
]))
|
|
483
|
+
}, $options.getPTOptions('checkboxIcon')), null, 16))
|
|
484
|
+
], 16)
|
|
485
|
+
], 16))
|
|
482
486
|
: createCommentVNode("", true),
|
|
483
|
-
createElementVNode("span", {
|
|
484
|
-
|
|
485
|
-
}, null, 2),
|
|
486
|
-
createElementVNode("span", _hoisted_3$1, [
|
|
487
|
+
createElementVNode("span", mergeProps({ class: $options.icon }, $options.getPTOptions('nodeIcon')), null, 16),
|
|
488
|
+
createElementVNode("span", mergeProps({ class: "p-treenode-label" }, $options.getPTOptions('label')), [
|
|
487
489
|
($props.templates[$props.node.type] || $props.templates['default'])
|
|
488
490
|
? (openBlock(), createBlock(resolveDynamicComponent($props.templates[$props.node.type] || $props.templates['default']), {
|
|
489
491
|
key: 0,
|
|
@@ -492,10 +494,14 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
492
494
|
: (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
493
495
|
createTextVNode(toDisplayString($options.label($props.node)), 1)
|
|
494
496
|
], 64))
|
|
495
|
-
])
|
|
496
|
-
],
|
|
497
|
+
], 16)
|
|
498
|
+
], 16),
|
|
497
499
|
($options.hasChildren && $options.expanded)
|
|
498
|
-
? (openBlock(), createElementBlock("ul",
|
|
500
|
+
? (openBlock(), createElementBlock("ul", mergeProps({
|
|
501
|
+
key: 0,
|
|
502
|
+
class: "p-treenode-children",
|
|
503
|
+
role: "group"
|
|
504
|
+
}, _ctx.ptm('subgroup')), [
|
|
499
505
|
(openBlock(true), createElementBlock(Fragment, null, renderList($props.node.children, (childNode) => {
|
|
500
506
|
return (openBlock(), createBlock(_component_TreeNode, {
|
|
501
507
|
key: childNode.key,
|
|
@@ -507,18 +513,20 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
507
513
|
onNodeClick: $options.onChildNodeClick,
|
|
508
514
|
selectionMode: $props.selectionMode,
|
|
509
515
|
selectionKeys: $props.selectionKeys,
|
|
510
|
-
onCheckboxChange: $options.propagateUp
|
|
511
|
-
|
|
516
|
+
onCheckboxChange: $options.propagateUp,
|
|
517
|
+
pt: _ctx.pt
|
|
518
|
+
}, null, 8, ["node", "templates", "level", "expandedKeys", "onNodeToggle", "onNodeClick", "selectionMode", "selectionKeys", "onCheckboxChange", "pt"]))
|
|
512
519
|
}), 128))
|
|
513
|
-
]))
|
|
520
|
+
], 16))
|
|
514
521
|
: createCommentVNode("", true)
|
|
515
|
-
],
|
|
522
|
+
], 16, _hoisted_1$1))
|
|
516
523
|
}
|
|
517
524
|
|
|
518
525
|
script$1.render = render$1;
|
|
519
526
|
|
|
520
527
|
var script = {
|
|
521
528
|
name: 'Tree',
|
|
529
|
+
extends: BaseComponent,
|
|
522
530
|
emits: ['node-expand', 'node-collapse', 'update:expandedKeys', 'update:selectionKeys', 'node-select', 'node-unselect'],
|
|
523
531
|
props: {
|
|
524
532
|
value: {
|
|
@@ -790,68 +798,64 @@ var script = {
|
|
|
790
798
|
}
|
|
791
799
|
};
|
|
792
800
|
|
|
793
|
-
const _hoisted_1 =
|
|
794
|
-
|
|
795
|
-
class: "p-tree-loading-overlay p-component-overlay"
|
|
796
|
-
};
|
|
797
|
-
const _hoisted_2 = {
|
|
798
|
-
key: 1,
|
|
799
|
-
class: "p-tree-filter-container"
|
|
800
|
-
};
|
|
801
|
-
const _hoisted_3 = ["placeholder"];
|
|
802
|
-
const _hoisted_4 = ["aria-labelledby", "aria-label"];
|
|
801
|
+
const _hoisted_1 = ["placeholder"];
|
|
802
|
+
const _hoisted_2 = ["aria-labelledby", "aria-label"];
|
|
803
803
|
|
|
804
804
|
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
805
805
|
const _component_SpinnerIcon = resolveComponent("SpinnerIcon");
|
|
806
806
|
const _component_SearchIcon = resolveComponent("SearchIcon");
|
|
807
807
|
const _component_TreeNode = resolveComponent("TreeNode");
|
|
808
808
|
|
|
809
|
-
return (openBlock(), createElementBlock("div", {
|
|
810
|
-
class: normalizeClass($options.containerClass)
|
|
811
|
-
}, [
|
|
809
|
+
return (openBlock(), createElementBlock("div", mergeProps({ class: $options.containerClass }, _ctx.ptm('root')), [
|
|
812
810
|
($props.loading)
|
|
813
|
-
? (openBlock(), createElementBlock("div",
|
|
811
|
+
? (openBlock(), createElementBlock("div", mergeProps({
|
|
812
|
+
key: 0,
|
|
813
|
+
class: "p-tree-loading-overlay p-component-overlay"
|
|
814
|
+
}, _ctx.ptm('loadingOverlay')), [
|
|
814
815
|
renderSlot(_ctx.$slots, "loadingicon", {}, () => [
|
|
815
816
|
($props.loadingIcon)
|
|
816
|
-
? (openBlock(), createElementBlock("i", {
|
|
817
|
+
? (openBlock(), createElementBlock("i", mergeProps({
|
|
817
818
|
key: 0,
|
|
818
|
-
class:
|
|
819
|
-
}, null,
|
|
820
|
-
: (openBlock(), createBlock(_component_SpinnerIcon, {
|
|
819
|
+
class: ['p-tree-loading-icon pi-spin', $props.loadingIcon]
|
|
820
|
+
}, _ctx.ptm('loadingIcon')), null, 16))
|
|
821
|
+
: (openBlock(), createBlock(_component_SpinnerIcon, mergeProps({
|
|
821
822
|
key: 1,
|
|
822
823
|
spin: "",
|
|
823
824
|
class: "p-tree-loading-icon"
|
|
824
|
-
}))
|
|
825
|
+
}, _ctx.ptm('loadingIcon')), null, 16))
|
|
825
826
|
])
|
|
826
|
-
]))
|
|
827
|
+
], 16))
|
|
827
828
|
: createCommentVNode("", true),
|
|
828
829
|
($props.filter)
|
|
829
|
-
? (openBlock(), createElementBlock("div",
|
|
830
|
-
|
|
830
|
+
? (openBlock(), createElementBlock("div", mergeProps({
|
|
831
|
+
key: 1,
|
|
832
|
+
class: "p-tree-filter-container"
|
|
833
|
+
}, _ctx.ptm('filterContainer')), [
|
|
834
|
+
withDirectives(createElementVNode("input", mergeProps({
|
|
831
835
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (($data.filterValue) = $event)),
|
|
832
836
|
type: "text",
|
|
833
837
|
autocomplete: "off",
|
|
834
838
|
class: "p-tree-filter p-inputtext p-component",
|
|
835
839
|
placeholder: $props.filterPlaceholder,
|
|
836
840
|
onKeydown: _cache[1] || (_cache[1] = (...args) => ($options.onFilterKeydown && $options.onFilterKeydown(...args)))
|
|
837
|
-
}, null,
|
|
841
|
+
}, _ctx.ptm('input')), null, 16, _hoisted_1), [
|
|
838
842
|
[vModelText, $data.filterValue]
|
|
839
843
|
]),
|
|
840
844
|
renderSlot(_ctx.$slots, "searchicon", {}, () => [
|
|
841
|
-
createVNode(_component_SearchIcon, { class: "p-tree-filter-icon" })
|
|
845
|
+
createVNode(_component_SearchIcon, mergeProps({ class: "p-tree-filter-icon" }, _ctx.ptm('searchIcon')), null, 16)
|
|
842
846
|
])
|
|
843
|
-
]))
|
|
847
|
+
], 16))
|
|
844
848
|
: createCommentVNode("", true),
|
|
845
|
-
createElementVNode("div", {
|
|
849
|
+
createElementVNode("div", mergeProps({
|
|
846
850
|
class: "p-tree-wrapper",
|
|
847
|
-
style:
|
|
848
|
-
}, [
|
|
849
|
-
createElementVNode("ul", {
|
|
851
|
+
style: { maxHeight: $props.scrollHeight }
|
|
852
|
+
}, _ctx.ptm('wrapper')), [
|
|
853
|
+
createElementVNode("ul", mergeProps({
|
|
850
854
|
class: "p-tree-container",
|
|
851
855
|
role: "tree",
|
|
852
856
|
"aria-labelledby": _ctx.ariaLabelledby,
|
|
853
857
|
"aria-label": _ctx.ariaLabel
|
|
854
|
-
}, [
|
|
858
|
+
}, _ctx.ptm('container')), [
|
|
855
859
|
(openBlock(true), createElementBlock(Fragment, null, renderList($options.valueToRender, (node, index) => {
|
|
856
860
|
return (openBlock(), createBlock(_component_TreeNode, {
|
|
857
861
|
key: node.key,
|
|
@@ -864,12 +868,13 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
864
868
|
onNodeClick: $options.onNodeClick,
|
|
865
869
|
selectionMode: $props.selectionMode,
|
|
866
870
|
selectionKeys: $props.selectionKeys,
|
|
867
|
-
onCheckboxChange: $options.onCheckboxChange
|
|
868
|
-
|
|
871
|
+
onCheckboxChange: $options.onCheckboxChange,
|
|
872
|
+
pt: _ctx.pt
|
|
873
|
+
}, null, 8, ["node", "templates", "level", "index", "expandedKeys", "onNodeToggle", "onNodeClick", "selectionMode", "selectionKeys", "onCheckboxChange", "pt"]))
|
|
869
874
|
}), 128))
|
|
870
|
-
],
|
|
871
|
-
],
|
|
872
|
-
],
|
|
875
|
+
], 16, _hoisted_2)
|
|
876
|
+
], 16)
|
|
877
|
+
], 16))
|
|
873
878
|
}
|
|
874
879
|
|
|
875
880
|
function styleInject(css, ref) {
|
package/tree/tree.esm.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"primevue/icons/search";import t from"primevue/icons/spinner";import{DomHandler as n,ObjectUtils as i}from"primevue/utils";import l from"primevue/icons/check";import o from"primevue/icons/chevrondown";import s from"primevue/icons/chevronright";import d from"primevue/icons/minus";import r from"primevue/ripple";import{resolveComponent as c,resolveDirective as a,openBlock as h,createElementBlock as p,normalizeClass as u,createElementVNode as g,normalizeStyle as y,withDirectives as f,createBlock as k,resolveDynamicComponent as m,createCommentVNode as x,Fragment as b,createTextVNode as C,toDisplayString as K,renderList as v,renderSlot as S,vModelText as N,createVNode as w}from"vue";var T={name:"TreeNode",emits:["node-toggle","node-click","checkbox-change"],props:{node:{type:null,default:null},expandedKeys:{type:null,default:null},selectionKeys:{type:null,default:null},selectionMode:{type:String,default:null},templates:{type:null,default:null},level:{type:Number,default:null},index:{type:Number,default:null}},nodeTouched:!1,toggleClicked:!1,mounted(){this.$refs.currentNode.closest(".p-treeselect-items-wrapper")&&this.setAllNodesTabIndexes()},methods:{toggle(){this.$emit("node-toggle",this.node),this.toggleClicked=!0},label:e=>"function"==typeof e.label?e.label():e.label,onChildNodeToggle(e){this.$emit("node-toggle",e)},onClick(e){this.toggleClicked||n.hasClass(e.target,"p-tree-toggler")||n.hasClass(e.target.parentElement,"p-tree-toggler")?this.toggleClicked=!1:(this.isCheckboxSelectionMode()?this.toggleCheckbox():this.$emit("node-click",{originalEvent:e,nodeTouched:this.nodeTouched,node:this.node}),this.nodeTouched=!1)},onChildNodeClick(e){this.$emit("node-click",e)},onTouchEnd(){this.nodeTouched=!0},onKeyDown(e){if(this.isSameNode(e))switch(e.code){case"Tab":this.onTabKey(e);break;case"ArrowDown":this.onArrowDown(e);break;case"ArrowUp":this.onArrowUp(e);break;case"ArrowRight":this.onArrowRight(e);break;case"ArrowLeft":this.onArrowLeft(e);break;case"Enter":case"Space":this.onEnterKey(e)}},onArrowDown(e){const t=e.target,n=t.children[1];if(n)this.focusRowChange(t,n.children[0]);else if(t.nextElementSibling)this.focusRowChange(t,t.nextElementSibling);else{let e=this.findNextSiblingOfAncestor(t);e&&this.focusRowChange(t,e)}e.preventDefault()},onArrowUp(e){const t=e.target;if(t.previousElementSibling)this.focusRowChange(t,t.previousElementSibling,this.findLastVisibleDescendant(t.previousElementSibling));else{let e=this.getParentNodeElement(t);e&&this.focusRowChange(t,e)}e.preventDefault()},onArrowRight(e){this.leaf||this.expanded||(e.currentTarget.tabIndex=-1,this.$emit("node-toggle",this.node),this.$nextTick((()=>{this.onArrowDown(e)})))},onArrowLeft(e){const t=n.findSingle(e.currentTarget,".p-tree-toggler");if(0===this.level&&!this.expanded)return!1;if(this.expanded&&!this.leaf)return t.click(),!1;const i=this.findBeforeClickableNode(e.currentTarget);i&&this.focusRowChange(e.currentTarget,i)},onEnterKey(e){this.setTabIndexForSelectionMode(e,this.nodeTouched),this.onClick(e),e.preventDefault()},onTabKey(){this.setAllNodesTabIndexes()},setAllNodesTabIndexes(){const e=n.find(this.$refs.currentNode.closest(".p-tree-container"),".p-treenode"),t=[...e].some((e=>"true"===e.getAttribute("aria-selected")||"true"===e.getAttribute("aria-checked")));if([...e].forEach((e=>{e.tabIndex=-1})),t){[...e].filter((e=>"true"===e.getAttribute("aria-selected")||"true"===e.getAttribute("aria-checked")))[0].tabIndex=0}else[...e][0].tabIndex=0},setTabIndexForSelectionMode(e,t){if(null!==this.selectionMode){const i=[...n.find(this.$refs.currentNode.parentElement,".p-treenode")];e.currentTarget.tabIndex=!1===t?-1:0,i.every((e=>-1===e.tabIndex))&&(i[0].tabIndex=0)}},focusRowChange(e,t,n){e.tabIndex="-1",t.tabIndex="0",this.focusNode(n||t)},findBeforeClickableNode(e){const t=e.closest("ul").closest("li");if(t){const i=n.findSingle(t,"button");return i&&"hidden"!==i.style.visibility?t:this.findBeforeClickableNode(e.previousElementSibling)}return null},toggleCheckbox(){let e=this.selectionKeys?{...this.selectionKeys}:{};const t=!this.checked;this.propagateDown(this.node,t,e),this.$emit("checkbox-change",{node:this.node,check:t,selectionKeys:e})},propagateDown(e,t,n){if(t?n[e.key]={checked:!0,partialChecked:!1}:delete n[e.key],e.children&&e.children.length)for(let i of e.children)this.propagateDown(i,t,n)},propagateUp(e){let t=e.check,n={...e.selectionKeys},i=0,l=!1;for(let e of this.node.children)n[e.key]&&n[e.key].checked?i++:n[e.key]&&n[e.key].partialChecked&&(l=!0);t&&i===this.node.children.length?n[this.node.key]={checked:!0,partialChecked:!1}:(t||delete n[this.node.key],l||i>0&&i!==this.node.children.length?n[this.node.key]={checked:!1,partialChecked:!0}:delete n[this.node.key]),this.$emit("checkbox-change",{node:e.node,check:e.check,selectionKeys:n})},onChildCheckboxChange(e){this.$emit("checkbox-change",e)},findNextSiblingOfAncestor(e){let t=this.getParentNodeElement(e);return t?t.nextElementSibling?t.nextElementSibling:this.findNextSiblingOfAncestor(t):null},findLastVisibleDescendant(e){const t=e.children[1];if(t){const e=t.children[t.children.length-1];return this.findLastVisibleDescendant(e)}return e},getParentNodeElement(e){const t=e.parentElement.parentElement;return n.hasClass(t,"p-treenode")?t:null},focusNode(e){e.focus()},isCheckboxSelectionMode(){return"checkbox"===this.selectionMode},isSameNode:e=>e.currentTarget&&(e.currentTarget.isSameNode(e.target)||e.currentTarget.isSameNode(e.target.closest(".p-treenode")))},computed:{hasChildren(){return this.node.children&&this.node.children.length>0},expanded(){return this.expandedKeys&&!0===this.expandedKeys[this.node.key]},leaf(){return!1!==this.node.leaf&&!(this.node.children&&this.node.children.length)},selectable(){return!1!==this.node.selectable&&null!=this.selectionMode},selected(){return!(!this.selectionMode||!this.selectionKeys)&&!0===this.selectionKeys[this.node.key]},containerClass(){return["p-treenode",{"p-treenode-leaf":this.leaf}]},contentClass(){return["p-treenode-content",this.node.styleClass,{"p-treenode-selectable":this.selectable,"p-highlight":this.checkboxMode?this.checked:this.selected}]},icon(){return["p-treenode-icon",this.node.icon]},checkboxClass(){return["p-checkbox-box",{"p-highlight":this.checked,"p-indeterminate":this.partialChecked}]},checkboxMode(){return"checkbox"===this.selectionMode&&!1!==this.node.selectable},checked(){return!!this.selectionKeys&&(this.selectionKeys[this.node.key]&&this.selectionKeys[this.node.key].checked)},partialChecked(){return!!this.selectionKeys&&(this.selectionKeys[this.node.key]&&this.selectionKeys[this.node.key].partialChecked)},ariaChecked(){return"single"===this.selectionMode||"multiple"===this.selectionMode?this.selected:void 0},ariaSelected(){return this.checkboxMode?this.checked:void 0}},components:{ChevronDownIcon:o,ChevronRightIcon:s,CheckIcon:l,MinusIcon:d},directives:{ripple:r}};const M=["aria-label","aria-selected","aria-expanded","aria-setsize","aria-posinset","aria-level","aria-checked","tabindex"],I={key:0,class:"p-checkbox p-component","aria-hidden":"true"},$={class:"p-treenode-label"},E={key:0,class:"p-treenode-children",role:"group"};T.render=function(e,t,n,i,l,o){const s=c("TreeNode",!0),d=a("ripple");return h(),p("li",{ref:"currentNode",class:u(o.containerClass),role:"treeitem","aria-label":o.label(n.node),"aria-selected":o.ariaSelected,"aria-expanded":o.expanded,"aria-setsize":n.node.children?n.node.children.length:0,"aria-posinset":n.index+1,"aria-level":n.level,"aria-checked":o.ariaChecked,tabindex:0===n.index?0:-1,onKeydown:t[3]||(t[3]=(...e)=>o.onKeyDown&&o.onKeyDown(...e))},[g("div",{class:u(o.contentClass),onClick:t[1]||(t[1]=(...e)=>o.onClick&&o.onClick(...e)),onTouchend:t[2]||(t[2]=(...e)=>o.onTouchEnd&&o.onTouchEnd(...e)),style:y(n.node.style)},[f((h(),p("button",{type:"button",class:"p-tree-toggler p-link",onClick:t[0]||(t[0]=(...e)=>o.toggle&&o.toggle(...e)),tabindex:"-1","aria-hidden":"true"},[n.templates.togglericon?(h(),k(m(n.templates.togglericon),{key:0,node:n.node,expanded:o.expanded,class:"p-tree-toggler-icon"},null,8,["node","expanded"])):o.expanded?(h(),k(m(n.node.expandedIcon?"span":"ChevronDownIcon"),{key:1,class:"p-tree-toggler-icon"})):(h(),k(m(n.node.collapsedIcon?"span":"ChevronRightIcon"),{key:2,class:"p-tree-toggler-icon"}))])),[[d]]),o.checkboxMode?(h(),p("div",I,[g("div",{class:u(o.checkboxClass),role:"checkbox"},[n.templates.checkboxicon?(h(),k(m(n.templates.checkboxicon),{key:0,checked:o.checked,partialChecked:o.partialChecked,class:"p-checkbox-icon"},null,8,["checked","partialChecked"])):(h(),k(m(o.checked?"CheckIcon":o.partialChecked?"MinusIcon":null),{key:1,class:"p-checkbox-icon"}))],2)])):x("",!0),g("span",{class:u(o.icon)},null,2),g("span",$,[n.templates[n.node.type]||n.templates.default?(h(),k(m(n.templates[n.node.type]||n.templates.default),{key:0,node:n.node},null,8,["node"])):(h(),p(b,{key:1},[C(K(o.label(n.node)),1)],64))])],38),o.hasChildren&&o.expanded?(h(),p("ul",E,[(h(!0),p(b,null,v(n.node.children,(e=>(h(),k(s,{key:e.key,node:e,templates:n.templates,level:n.level+1,expandedKeys:n.expandedKeys,onNodeToggle:o.onChildNodeToggle,onNodeClick:o.onChildNodeClick,selectionMode:n.selectionMode,selectionKeys:n.selectionKeys,onCheckboxChange:o.propagateUp},null,8,["node","templates","level","expandedKeys","onNodeToggle","onNodeClick","selectionMode","selectionKeys","onCheckboxChange"])))),128))])):x("",!0)],42,M)};var A={name:"Tree",emits:["node-expand","node-collapse","update:expandedKeys","update:selectionKeys","node-select","node-unselect"],props:{value:{type:null,default:null},expandedKeys:{type:null,default:null},selectionKeys:{type:null,default:null},selectionMode:{type:String,default:null},metaKeySelection:{type:Boolean,default:!0},loading:{type:Boolean,default:!1},loadingIcon:{type:String,default:void 0},filter:{type:Boolean,default:!1},filterBy:{type:String,default:"label"},filterMode:{type:String,default:"lenient"},filterPlaceholder:{type:String,default:null},filterLocale:{type:String,default:void 0},scrollHeight:{type:String,default:null},level:{type:Number,default:0},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},data(){return{d_expandedKeys:this.expandedKeys||{},filterValue:null}},watch:{expandedKeys(e){this.d_expandedKeys=e}},methods:{onNodeToggle(e){const t=e.key;this.d_expandedKeys[t]?(delete this.d_expandedKeys[t],this.$emit("node-collapse",e)):(this.d_expandedKeys[t]=!0,this.$emit("node-expand",e)),this.d_expandedKeys={...this.d_expandedKeys},this.$emit("update:expandedKeys",this.d_expandedKeys)},onNodeClick(e){if(null!=this.selectionMode&&!1!==e.node.selectable){const t=!e.nodeTouched&&this.metaKeySelection?this.handleSelectionWithMetaKey(e):this.handleSelectionWithoutMetaKey(e);this.$emit("update:selectionKeys",t)}},onCheckboxChange(e){this.$emit("update:selectionKeys",e.selectionKeys),e.check?this.$emit("node-select",e.node):this.$emit("node-unselect",e.node)},handleSelectionWithMetaKey(e){const t=e.originalEvent,n=e.node,i=t.metaKey||t.ctrlKey;let l;return this.isNodeSelected(n)&&i?(this.isSingleSelectionMode()?l={}:(l={...this.selectionKeys},delete l[n.key]),this.$emit("node-unselect",n)):(this.isSingleSelectionMode()?l={}:this.isMultipleSelectionMode()&&(l=i&&this.selectionKeys?{...this.selectionKeys}:{}),l[n.key]=!0,this.$emit("node-select",n)),l},handleSelectionWithoutMetaKey(e){const t=e.node,n=this.isNodeSelected(t);let i;return this.isSingleSelectionMode()?n?(i={},this.$emit("node-unselect",t)):(i={},i[t.key]=!0,this.$emit("node-select",t)):n?(i={...this.selectionKeys},delete i[t.key],this.$emit("node-unselect",t)):(i=this.selectionKeys?{...this.selectionKeys}:{},i[t.key]=!0,this.$emit("node-select",t)),i},isSingleSelectionMode(){return"single"===this.selectionMode},isMultipleSelectionMode(){return"multiple"===this.selectionMode},isNodeSelected(e){return!(!this.selectionMode||!this.selectionKeys)&&!0===this.selectionKeys[e.key]},isChecked(e){return!!this.selectionKeys&&(this.selectionKeys[e.key]&&this.selectionKeys[e.key].checked)},isNodeLeaf:e=>!1!==e.leaf&&!(e.children&&e.children.length),onFilterKeydown(e){13===e.which&&e.preventDefault()},findFilteredNodes(e,t){if(e){let n=!1;if(e.children){let i=[...e.children];e.children=[];for(let l of i){let i={...l};this.isFilterMatched(i,t)&&(n=!0,e.children.push(i))}}if(n)return!0}},isFilterMatched(e,{searchFields:t,filterText:n,strict:l}){let o=!1;for(let l of t){String(i.resolveFieldData(e,l)).toLocaleLowerCase(this.filterLocale).indexOf(n)>-1&&(o=!0)}return(!o||l&&!this.isNodeLeaf(e))&&(o=this.findFilteredNodes(e,{searchFields:t,filterText:n,strict:l})||o),o}},computed:{containerClass(){return["p-tree p-component",{"p-tree-selectable":null!=this.selectionMode,"p-tree-loading":this.loading,"p-tree-flex-scrollable":"flex"===this.scrollHeight}]},filteredValue(){let e=[];const t=this.filterBy.split(","),n=this.filterValue.trim().toLocaleLowerCase(this.filterLocale),i="strict"===this.filterMode;for(let l of this.value){let o={...l},s={searchFields:t,filterText:n,strict:i};(i&&(this.findFilteredNodes(o,s)||this.isFilterMatched(o,s))||!i&&(this.isFilterMatched(o,s)||this.findFilteredNodes(o,s)))&&e.push(o)}return e},valueToRender(){return this.filterValue&&this.filterValue.trim().length>0?this.filteredValue:this.value}},components:{TreeNode:T,SearchIcon:e,SpinnerIcon:t}};const D={key:0,class:"p-tree-loading-overlay p-component-overlay"},F={key:1,class:"p-tree-filter-container"},L=["placeholder"],R=["aria-labelledby","aria-label"];!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],l=document.createElement("style");l.type="text/css","top"===n&&i.firstChild?i.insertBefore(l,i.firstChild):i.appendChild(l),l.styleSheet?l.styleSheet.cssText=e:l.appendChild(document.createTextNode(e))}}("\n.p-tree-container {\n margin: 0;\n padding: 0;\n list-style-type: none;\n overflow: auto;\n}\n.p-treenode-children {\n margin: 0;\n padding: 0;\n list-style-type: none;\n}\n.p-tree-wrapper {\n overflow: auto;\n}\n.p-treenode-selectable {\n cursor: pointer;\n user-select: none;\n}\n.p-tree-toggler {\n cursor: pointer;\n user-select: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n flex-shrink: 0;\n}\n.p-treenode-leaf > .p-treenode-content .p-tree-toggler {\n visibility: hidden;\n}\n.p-treenode-content {\n display: flex;\n align-items: center;\n}\n.p-tree-filter {\n width: 100%;\n}\n.p-tree-filter-container {\n position: relative;\n display: block;\n width: 100%;\n}\n.p-tree-filter-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n}\n.p-tree-loading {\n position: relative;\n min-height: 4rem;\n}\n.p-tree .p-tree-loading-overlay {\n position: absolute;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.p-tree-flex-scrollable {\n display: flex;\n flex: 1;\n height: 100%;\n flex-direction: column;\n}\n.p-tree-flex-scrollable .p-tree-wrapper {\n flex: 1;\n}\n"),A.render=function(e,t,n,i,l,o){const s=c("SpinnerIcon"),d=c("SearchIcon"),r=c("TreeNode");return h(),p("div",{class:u(o.containerClass)},[n.loading?(h(),p("div",D,[S(e.$slots,"loadingicon",{},(()=>[n.loadingIcon?(h(),p("i",{key:0,class:u(["p-tree-loading-icon pi-spin",n.loadingIcon])},null,2)):(h(),k(s,{key:1,spin:"",class:"p-tree-loading-icon"}))]))])):x("",!0),n.filter?(h(),p("div",F,[f(g("input",{"onUpdate:modelValue":t[0]||(t[0]=e=>l.filterValue=e),type:"text",autocomplete:"off",class:"p-tree-filter p-inputtext p-component",placeholder:n.filterPlaceholder,onKeydown:t[1]||(t[1]=(...e)=>o.onFilterKeydown&&o.onFilterKeydown(...e))},null,40,L),[[N,l.filterValue]]),S(e.$slots,"searchicon",{},(()=>[w(d,{class:"p-tree-filter-icon"})]))])):x("",!0),g("div",{class:"p-tree-wrapper",style:y({maxHeight:n.scrollHeight})},[g("ul",{class:"p-tree-container",role:"tree","aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel},[(h(!0),p(b,null,v(o.valueToRender,((t,i)=>(h(),k(r,{key:t.key,node:t,templates:e.$slots,level:n.level+1,index:i,expandedKeys:l.d_expandedKeys,onNodeToggle:o.onNodeToggle,onNodeClick:o.onNodeClick,selectionMode:n.selectionMode,selectionKeys:n.selectionKeys,onCheckboxChange:o.onCheckboxChange},null,8,["node","templates","level","index","expandedKeys","onNodeToggle","onNodeClick","selectionMode","selectionKeys","onCheckboxChange"])))),128))],8,R)],4)],2)};export{A as default};
|
|
1
|
+
import e from"primevue/basecomponent";import t from"primevue/icons/search";import n from"primevue/icons/spinner";import{DomHandler as i,ObjectUtils as l}from"primevue/utils";import o from"primevue/icons/check";import s from"primevue/icons/chevrondown";import d from"primevue/icons/chevronright";import r from"primevue/icons/minus";import c from"primevue/ripple";import{resolveComponent as a,resolveDirective as h,openBlock as p,createElementBlock as u,mergeProps as g,createElementVNode as y,withDirectives as f,createBlock as k,resolveDynamicComponent as m,createCommentVNode as x,Fragment as b,createTextVNode as C,toDisplayString as K,renderList as v,renderSlot as S,vModelText as T,createVNode as N}from"vue";var w={name:"TreeNode",extends:e,emits:["node-toggle","node-click","checkbox-change"],props:{node:{type:null,default:null},expandedKeys:{type:null,default:null},selectionKeys:{type:null,default:null},selectionMode:{type:String,default:null},templates:{type:null,default:null},level:{type:Number,default:null},index:{type:Number,default:null}},nodeTouched:!1,toggleClicked:!1,mounted(){this.$refs.currentNode.closest(".p-treeselect-items-wrapper")&&this.setAllNodesTabIndexes()},methods:{toggle(){this.$emit("node-toggle",this.node),this.toggleClicked=!0},label:e=>"function"==typeof e.label?e.label():e.label,onChildNodeToggle(e){this.$emit("node-toggle",e)},getPTOptions(e){return this.ptm(e,{context:{expanded:this.expanded,selected:this.selected,checked:this.checked}})},onClick(e){this.toggleClicked||i.hasClass(e.target,"p-tree-toggler")||i.hasClass(e.target.parentElement,"p-tree-toggler")?this.toggleClicked=!1:(this.isCheckboxSelectionMode()?this.toggleCheckbox():this.$emit("node-click",{originalEvent:e,nodeTouched:this.nodeTouched,node:this.node}),this.nodeTouched=!1)},onChildNodeClick(e){this.$emit("node-click",e)},onTouchEnd(){this.nodeTouched=!0},onKeyDown(e){if(this.isSameNode(e))switch(e.code){case"Tab":this.onTabKey(e);break;case"ArrowDown":this.onArrowDown(e);break;case"ArrowUp":this.onArrowUp(e);break;case"ArrowRight":this.onArrowRight(e);break;case"ArrowLeft":this.onArrowLeft(e);break;case"Enter":case"Space":this.onEnterKey(e)}},onArrowDown(e){const t=e.target,n=t.children[1];if(n)this.focusRowChange(t,n.children[0]);else if(t.nextElementSibling)this.focusRowChange(t,t.nextElementSibling);else{let e=this.findNextSiblingOfAncestor(t);e&&this.focusRowChange(t,e)}e.preventDefault()},onArrowUp(e){const t=e.target;if(t.previousElementSibling)this.focusRowChange(t,t.previousElementSibling,this.findLastVisibleDescendant(t.previousElementSibling));else{let e=this.getParentNodeElement(t);e&&this.focusRowChange(t,e)}e.preventDefault()},onArrowRight(e){this.leaf||this.expanded||(e.currentTarget.tabIndex=-1,this.$emit("node-toggle",this.node),this.$nextTick((()=>{this.onArrowDown(e)})))},onArrowLeft(e){const t=i.findSingle(e.currentTarget,".p-tree-toggler");if(0===this.level&&!this.expanded)return!1;if(this.expanded&&!this.leaf)return t.click(),!1;const n=this.findBeforeClickableNode(e.currentTarget);n&&this.focusRowChange(e.currentTarget,n)},onEnterKey(e){this.setTabIndexForSelectionMode(e,this.nodeTouched),this.onClick(e),e.preventDefault()},onTabKey(){this.setAllNodesTabIndexes()},setAllNodesTabIndexes(){const e=i.find(this.$refs.currentNode.closest(".p-tree-container"),".p-treenode"),t=[...e].some((e=>"true"===e.getAttribute("aria-selected")||"true"===e.getAttribute("aria-checked")));if([...e].forEach((e=>{e.tabIndex=-1})),t){[...e].filter((e=>"true"===e.getAttribute("aria-selected")||"true"===e.getAttribute("aria-checked")))[0].tabIndex=0}else[...e][0].tabIndex=0},setTabIndexForSelectionMode(e,t){if(null!==this.selectionMode){const n=[...i.find(this.$refs.currentNode.parentElement,".p-treenode")];e.currentTarget.tabIndex=!1===t?-1:0,n.every((e=>-1===e.tabIndex))&&(n[0].tabIndex=0)}},focusRowChange(e,t,n){e.tabIndex="-1",t.tabIndex="0",this.focusNode(n||t)},findBeforeClickableNode(e){const t=e.closest("ul").closest("li");if(t){const n=i.findSingle(t,"button");return n&&"hidden"!==n.style.visibility?t:this.findBeforeClickableNode(e.previousElementSibling)}return null},toggleCheckbox(){let e=this.selectionKeys?{...this.selectionKeys}:{};const t=!this.checked;this.propagateDown(this.node,t,e),this.$emit("checkbox-change",{node:this.node,check:t,selectionKeys:e})},propagateDown(e,t,n){if(t?n[e.key]={checked:!0,partialChecked:!1}:delete n[e.key],e.children&&e.children.length)for(let i of e.children)this.propagateDown(i,t,n)},propagateUp(e){let t=e.check,n={...e.selectionKeys},i=0,l=!1;for(let e of this.node.children)n[e.key]&&n[e.key].checked?i++:n[e.key]&&n[e.key].partialChecked&&(l=!0);t&&i===this.node.children.length?n[this.node.key]={checked:!0,partialChecked:!1}:(t||delete n[this.node.key],l||i>0&&i!==this.node.children.length?n[this.node.key]={checked:!1,partialChecked:!0}:delete n[this.node.key]),this.$emit("checkbox-change",{node:e.node,check:e.check,selectionKeys:n})},onChildCheckboxChange(e){this.$emit("checkbox-change",e)},findNextSiblingOfAncestor(e){let t=this.getParentNodeElement(e);return t?t.nextElementSibling?t.nextElementSibling:this.findNextSiblingOfAncestor(t):null},findLastVisibleDescendant(e){const t=e.children[1];if(t){const e=t.children[t.children.length-1];return this.findLastVisibleDescendant(e)}return e},getParentNodeElement(e){const t=e.parentElement.parentElement;return i.hasClass(t,"p-treenode")?t:null},focusNode(e){e.focus()},isCheckboxSelectionMode(){return"checkbox"===this.selectionMode},isSameNode:e=>e.currentTarget&&(e.currentTarget.isSameNode(e.target)||e.currentTarget.isSameNode(e.target.closest(".p-treenode")))},computed:{hasChildren(){return this.node.children&&this.node.children.length>0},expanded(){return this.expandedKeys&&!0===this.expandedKeys[this.node.key]},leaf(){return!1!==this.node.leaf&&!(this.node.children&&this.node.children.length)},selectable(){return!1!==this.node.selectable&&null!=this.selectionMode},selected(){return!(!this.selectionMode||!this.selectionKeys)&&!0===this.selectionKeys[this.node.key]},containerClass(){return["p-treenode",{"p-treenode-leaf":this.leaf}]},contentClass(){return["p-treenode-content",this.node.styleClass,{"p-treenode-selectable":this.selectable,"p-highlight":this.checkboxMode?this.checked:this.selected}]},icon(){return["p-treenode-icon",this.node.icon]},checkboxClass(){return["p-checkbox-box",{"p-highlight":this.checked,"p-indeterminate":this.partialChecked}]},checkboxMode(){return"checkbox"===this.selectionMode&&!1!==this.node.selectable},checked(){return!!this.selectionKeys&&(this.selectionKeys[this.node.key]&&this.selectionKeys[this.node.key].checked)},partialChecked(){return!!this.selectionKeys&&(this.selectionKeys[this.node.key]&&this.selectionKeys[this.node.key].partialChecked)},ariaChecked(){return"single"===this.selectionMode||"multiple"===this.selectionMode?this.selected:void 0},ariaSelected(){return this.checkboxMode?this.checked:void 0}},components:{ChevronDownIcon:s,ChevronRightIcon:d,CheckIcon:o,MinusIcon:r},directives:{ripple:c}};const M=["aria-label","aria-selected","aria-expanded","aria-setsize","aria-posinset","aria-level","aria-checked","tabindex"];w.render=function(e,t,n,i,l,o){const s=a("TreeNode",!0),d=h("ripple");return p(),u("li",g({ref:"currentNode",class:o.containerClass,role:"treeitem","aria-label":o.label(n.node),"aria-selected":o.ariaSelected,"aria-expanded":o.expanded,"aria-setsize":n.node.children?n.node.children.length:0,"aria-posinset":n.index+1,"aria-level":n.level,"aria-checked":o.ariaChecked,tabindex:0===n.index?0:-1,onKeydown:t[3]||(t[3]=(...e)=>o.onKeyDown&&o.onKeyDown(...e))},o.getPTOptions("node")),[y("div",g({class:o.contentClass,onClick:t[1]||(t[1]=(...e)=>o.onClick&&o.onClick(...e)),onTouchend:t[2]||(t[2]=(...e)=>o.onTouchEnd&&o.onTouchEnd(...e)),style:n.node.style},o.getPTOptions("content")),[f((p(),u("button",g({type:"button",class:"p-tree-toggler p-link",onClick:t[0]||(t[0]=(...e)=>o.toggle&&o.toggle(...e)),tabindex:"-1","aria-hidden":"true"},o.getPTOptions("toggler")),[n.templates.togglericon?(p(),k(m(n.templates.togglericon),{key:0,node:n.node,expanded:o.expanded,class:"p-tree-toggler-icon"},null,8,["node","expanded"])):o.expanded?(p(),k(m(n.node.expandedIcon?"span":"ChevronDownIcon"),g({key:1,class:"p-tree-toggler-icon"},o.getPTOptions("togglerIcon")),null,16)):(p(),k(m(n.node.collapsedIcon?"span":"ChevronRightIcon"),g({key:2,class:"p-tree-toggler-icon"},o.getPTOptions("togglerIcon")),null,16))],16)),[[d]]),o.checkboxMode?(p(),u("div",g({key:0,class:"p-checkbox p-component","aria-hidden":"true"},o.getPTOptions("checkboxContainer")),[y("div",g({class:o.checkboxClass,role:"checkbox"},o.getPTOptions("checkbox")),[n.templates.checkboxicon?(p(),k(m(n.templates.checkboxicon),{key:0,checked:o.checked,partialChecked:o.partialChecked,class:"p-checkbox-icon"},null,8,["checked","partialChecked"])):(p(),k(m(o.checked?"CheckIcon":o.partialChecked?"MinusIcon":null),g({key:1,class:"p-checkbox-icon"},o.getPTOptions("checkboxIcon")),null,16))],16)],16)):x("",!0),y("span",g({class:o.icon},o.getPTOptions("nodeIcon")),null,16),y("span",g({class:"p-treenode-label"},o.getPTOptions("label")),[n.templates[n.node.type]||n.templates.default?(p(),k(m(n.templates[n.node.type]||n.templates.default),{key:0,node:n.node},null,8,["node"])):(p(),u(b,{key:1},[C(K(o.label(n.node)),1)],64))],16)],16),o.hasChildren&&o.expanded?(p(),u("ul",g({key:0,class:"p-treenode-children",role:"group"},e.ptm("subgroup")),[(p(!0),u(b,null,v(n.node.children,(t=>(p(),k(s,{key:t.key,node:t,templates:n.templates,level:n.level+1,expandedKeys:n.expandedKeys,onNodeToggle:o.onChildNodeToggle,onNodeClick:o.onChildNodeClick,selectionMode:n.selectionMode,selectionKeys:n.selectionKeys,onCheckboxChange:o.propagateUp,pt:e.pt},null,8,["node","templates","level","expandedKeys","onNodeToggle","onNodeClick","selectionMode","selectionKeys","onCheckboxChange","pt"])))),128))],16)):x("",!0)],16,M)};var I={name:"Tree",extends:e,emits:["node-expand","node-collapse","update:expandedKeys","update:selectionKeys","node-select","node-unselect"],props:{value:{type:null,default:null},expandedKeys:{type:null,default:null},selectionKeys:{type:null,default:null},selectionMode:{type:String,default:null},metaKeySelection:{type:Boolean,default:!0},loading:{type:Boolean,default:!1},loadingIcon:{type:String,default:void 0},filter:{type:Boolean,default:!1},filterBy:{type:String,default:"label"},filterMode:{type:String,default:"lenient"},filterPlaceholder:{type:String,default:null},filterLocale:{type:String,default:void 0},scrollHeight:{type:String,default:null},level:{type:Number,default:0},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},data(){return{d_expandedKeys:this.expandedKeys||{},filterValue:null}},watch:{expandedKeys(e){this.d_expandedKeys=e}},methods:{onNodeToggle(e){const t=e.key;this.d_expandedKeys[t]?(delete this.d_expandedKeys[t],this.$emit("node-collapse",e)):(this.d_expandedKeys[t]=!0,this.$emit("node-expand",e)),this.d_expandedKeys={...this.d_expandedKeys},this.$emit("update:expandedKeys",this.d_expandedKeys)},onNodeClick(e){if(null!=this.selectionMode&&!1!==e.node.selectable){const t=!e.nodeTouched&&this.metaKeySelection?this.handleSelectionWithMetaKey(e):this.handleSelectionWithoutMetaKey(e);this.$emit("update:selectionKeys",t)}},onCheckboxChange(e){this.$emit("update:selectionKeys",e.selectionKeys),e.check?this.$emit("node-select",e.node):this.$emit("node-unselect",e.node)},handleSelectionWithMetaKey(e){const t=e.originalEvent,n=e.node,i=t.metaKey||t.ctrlKey;let l;return this.isNodeSelected(n)&&i?(this.isSingleSelectionMode()?l={}:(l={...this.selectionKeys},delete l[n.key]),this.$emit("node-unselect",n)):(this.isSingleSelectionMode()?l={}:this.isMultipleSelectionMode()&&(l=i&&this.selectionKeys?{...this.selectionKeys}:{}),l[n.key]=!0,this.$emit("node-select",n)),l},handleSelectionWithoutMetaKey(e){const t=e.node,n=this.isNodeSelected(t);let i;return this.isSingleSelectionMode()?n?(i={},this.$emit("node-unselect",t)):(i={},i[t.key]=!0,this.$emit("node-select",t)):n?(i={...this.selectionKeys},delete i[t.key],this.$emit("node-unselect",t)):(i=this.selectionKeys?{...this.selectionKeys}:{},i[t.key]=!0,this.$emit("node-select",t)),i},isSingleSelectionMode(){return"single"===this.selectionMode},isMultipleSelectionMode(){return"multiple"===this.selectionMode},isNodeSelected(e){return!(!this.selectionMode||!this.selectionKeys)&&!0===this.selectionKeys[e.key]},isChecked(e){return!!this.selectionKeys&&(this.selectionKeys[e.key]&&this.selectionKeys[e.key].checked)},isNodeLeaf:e=>!1!==e.leaf&&!(e.children&&e.children.length),onFilterKeydown(e){13===e.which&&e.preventDefault()},findFilteredNodes(e,t){if(e){let n=!1;if(e.children){let i=[...e.children];e.children=[];for(let l of i){let i={...l};this.isFilterMatched(i,t)&&(n=!0,e.children.push(i))}}if(n)return!0}},isFilterMatched(e,{searchFields:t,filterText:n,strict:i}){let o=!1;for(let i of t){String(l.resolveFieldData(e,i)).toLocaleLowerCase(this.filterLocale).indexOf(n)>-1&&(o=!0)}return(!o||i&&!this.isNodeLeaf(e))&&(o=this.findFilteredNodes(e,{searchFields:t,filterText:n,strict:i})||o),o}},computed:{containerClass(){return["p-tree p-component",{"p-tree-selectable":null!=this.selectionMode,"p-tree-loading":this.loading,"p-tree-flex-scrollable":"flex"===this.scrollHeight}]},filteredValue(){let e=[];const t=this.filterBy.split(","),n=this.filterValue.trim().toLocaleLowerCase(this.filterLocale),i="strict"===this.filterMode;for(let l of this.value){let o={...l},s={searchFields:t,filterText:n,strict:i};(i&&(this.findFilteredNodes(o,s)||this.isFilterMatched(o,s))||!i&&(this.isFilterMatched(o,s)||this.findFilteredNodes(o,s)))&&e.push(o)}return e},valueToRender(){return this.filterValue&&this.filterValue.trim().length>0?this.filteredValue:this.value}},components:{TreeNode:w,SearchIcon:t,SpinnerIcon:n}};const $=["placeholder"],E=["aria-labelledby","aria-label"];!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],l=document.createElement("style");l.type="text/css","top"===n&&i.firstChild?i.insertBefore(l,i.firstChild):i.appendChild(l),l.styleSheet?l.styleSheet.cssText=e:l.appendChild(document.createTextNode(e))}}("\n.p-tree-container {\n margin: 0;\n padding: 0;\n list-style-type: none;\n overflow: auto;\n}\n.p-treenode-children {\n margin: 0;\n padding: 0;\n list-style-type: none;\n}\n.p-tree-wrapper {\n overflow: auto;\n}\n.p-treenode-selectable {\n cursor: pointer;\n user-select: none;\n}\n.p-tree-toggler {\n cursor: pointer;\n user-select: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n flex-shrink: 0;\n}\n.p-treenode-leaf > .p-treenode-content .p-tree-toggler {\n visibility: hidden;\n}\n.p-treenode-content {\n display: flex;\n align-items: center;\n}\n.p-tree-filter {\n width: 100%;\n}\n.p-tree-filter-container {\n position: relative;\n display: block;\n width: 100%;\n}\n.p-tree-filter-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n}\n.p-tree-loading {\n position: relative;\n min-height: 4rem;\n}\n.p-tree .p-tree-loading-overlay {\n position: absolute;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.p-tree-flex-scrollable {\n display: flex;\n flex: 1;\n height: 100%;\n flex-direction: column;\n}\n.p-tree-flex-scrollable .p-tree-wrapper {\n flex: 1;\n}\n"),I.render=function(e,t,n,i,l,o){const s=a("SpinnerIcon"),d=a("SearchIcon"),r=a("TreeNode");return p(),u("div",g({class:o.containerClass},e.ptm("root")),[n.loading?(p(),u("div",g({key:0,class:"p-tree-loading-overlay p-component-overlay"},e.ptm("loadingOverlay")),[S(e.$slots,"loadingicon",{},(()=>[n.loadingIcon?(p(),u("i",g({key:0,class:["p-tree-loading-icon pi-spin",n.loadingIcon]},e.ptm("loadingIcon")),null,16)):(p(),k(s,g({key:1,spin:"",class:"p-tree-loading-icon"},e.ptm("loadingIcon")),null,16))]))],16)):x("",!0),n.filter?(p(),u("div",g({key:1,class:"p-tree-filter-container"},e.ptm("filterContainer")),[f(y("input",g({"onUpdate:modelValue":t[0]||(t[0]=e=>l.filterValue=e),type:"text",autocomplete:"off",class:"p-tree-filter p-inputtext p-component",placeholder:n.filterPlaceholder,onKeydown:t[1]||(t[1]=(...e)=>o.onFilterKeydown&&o.onFilterKeydown(...e))},e.ptm("input")),null,16,$),[[T,l.filterValue]]),S(e.$slots,"searchicon",{},(()=>[N(d,g({class:"p-tree-filter-icon"},e.ptm("searchIcon")),null,16)]))],16)):x("",!0),y("div",g({class:"p-tree-wrapper",style:{maxHeight:n.scrollHeight}},e.ptm("wrapper")),[y("ul",g({class:"p-tree-container",role:"tree","aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel},e.ptm("container")),[(p(!0),u(b,null,v(o.valueToRender,((t,i)=>(p(),k(r,{key:t.key,node:t,templates:e.$slots,level:n.level+1,index:i,expandedKeys:l.d_expandedKeys,onNodeToggle:o.onNodeToggle,onNodeClick:o.onNodeClick,selectionMode:n.selectionMode,selectionKeys:n.selectionKeys,onCheckboxChange:o.onCheckboxChange,pt:e.pt},null,8,["node","templates","level","index","expandedKeys","onNodeToggle","onNodeClick","selectionMode","selectionKeys","onCheckboxChange","pt"])))),128))],16,E)],16)],16)};export{I as default};
|