primevue 3.15.0 → 3.16.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/autocomplete/AutoComplete.d.ts +182 -38
- package/autocomplete/AutoComplete.vue +636 -342
- package/autocomplete/autocomplete.cjs.js +745 -416
- package/autocomplete/autocomplete.cjs.min.js +1 -1
- package/autocomplete/autocomplete.esm.js +747 -418
- package/autocomplete/autocomplete.esm.min.js +1 -1
- package/autocomplete/autocomplete.js +745 -416
- package/autocomplete/autocomplete.min.js +1 -1
- package/button/Button.vue +4 -1
- package/button/button.cjs.js +5 -1
- package/button/button.cjs.min.js +1 -1
- package/button/button.esm.js +5 -1
- package/button/button.esm.min.js +1 -1
- package/button/button.js +5 -1
- package/button/button.min.js +1 -1
- package/calendar/Calendar.d.ts +51 -12
- package/calendar/Calendar.vue +259 -114
- package/calendar/calendar.cjs.js +414 -220
- package/calendar/calendar.cjs.min.js +1 -1
- package/calendar/calendar.esm.js +415 -221
- package/calendar/calendar.esm.min.js +1 -1
- package/calendar/calendar.js +414 -220
- package/calendar/calendar.min.js +1 -1
- package/carousel/Carousel.vue +25 -0
- package/carousel/carousel.cjs.js +25 -0
- package/carousel/carousel.cjs.min.js +1 -1
- package/carousel/carousel.esm.js +25 -0
- package/carousel/carousel.esm.min.js +1 -1
- package/carousel/carousel.js +25 -0
- package/carousel/carousel.min.js +1 -1
- package/cascadeselect/CascadeSelect.d.ts +97 -17
- package/cascadeselect/CascadeSelect.vue +560 -135
- package/cascadeselect/CascadeSelectSub.vue +48 -129
- package/cascadeselect/cascadeselect.cjs.js +670 -306
- package/cascadeselect/cascadeselect.cjs.min.js +1 -1
- package/cascadeselect/cascadeselect.esm.js +672 -308
- package/cascadeselect/cascadeselect.esm.min.js +1 -1
- package/cascadeselect/cascadeselect.js +670 -306
- package/cascadeselect/cascadeselect.min.js +1 -1
- package/checkbox/Checkbox.d.ts +40 -4
- package/checkbox/Checkbox.vue +50 -13
- package/checkbox/checkbox.cjs.js +64 -23
- package/checkbox/checkbox.cjs.min.js +1 -1
- package/checkbox/checkbox.esm.js +65 -24
- package/checkbox/checkbox.esm.min.js +1 -1
- package/checkbox/checkbox.js +64 -23
- package/checkbox/checkbox.min.js +1 -1
- package/chips/Chips.d.ts +36 -12
- package/chips/Chips.vue +116 -22
- package/chips/chips.cjs.js +149 -37
- package/chips/chips.cjs.min.js +1 -1
- package/chips/chips.esm.js +150 -38
- package/chips/chips.esm.min.js +1 -1
- package/chips/chips.js +150 -39
- package/chips/chips.min.js +1 -1
- package/colorpicker/ColorPicker.d.ts +3 -6
- package/colorpicker/ColorPicker.vue +1 -5
- package/colorpicker/colorpicker.cjs.js +2 -7
- package/colorpicker/colorpicker.cjs.min.js +1 -1
- package/colorpicker/colorpicker.esm.js +2 -7
- package/colorpicker/colorpicker.esm.min.js +1 -1
- package/colorpicker/colorpicker.js +2 -7
- package/colorpicker/colorpicker.min.js +1 -1
- package/column/Column.d.ts +4 -0
- package/column/Column.vue +4 -0
- package/column/column.cjs.js +4 -0
- package/column/column.cjs.min.js +1 -1
- package/column/column.esm.js +4 -0
- package/column/column.esm.min.js +1 -1
- package/column/column.js +4 -0
- package/column/column.min.js +1 -1
- package/config/PrimeVue.d.ts +42 -0
- package/config/config.cjs.js +35 -4
- package/config/config.cjs.min.js +1 -1
- package/config/config.esm.js +35 -4
- package/config/config.esm.min.js +1 -1
- package/config/config.js +35 -4
- package/config/config.min.js +1 -1
- package/confirmdialog/ConfirmDialog.vue +4 -1
- package/confirmdialog/confirmdialog.cjs.js +6 -2
- package/confirmdialog/confirmdialog.cjs.min.js +1 -1
- package/confirmdialog/confirmdialog.esm.js +6 -2
- package/confirmdialog/confirmdialog.esm.min.js +1 -1
- package/confirmdialog/confirmdialog.js +6 -2
- package/confirmdialog/confirmdialog.min.js +1 -1
- package/contextmenu/ContextMenu.d.ts +1 -1
- package/contextmenu/ContextMenuSub.vue +3 -3
- package/contextmenu/contextmenu.cjs.js +14 -8
- package/contextmenu/contextmenu.cjs.min.js +1 -1
- package/contextmenu/contextmenu.esm.js +15 -9
- package/contextmenu/contextmenu.esm.min.js +1 -1
- package/contextmenu/contextmenu.js +14 -8
- package/contextmenu/contextmenu.min.js +1 -1
- package/core/core.js +1128 -772
- package/core/core.min.js +12 -12
- package/datatable/BodyCell.vue +11 -2
- package/datatable/DataTable.vue +23 -2
- package/datatable/datatable.cjs.js +34 -4
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.esm.js +34 -4
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +34 -4
- package/datatable/datatable.min.js +1 -1
- package/dialog/Dialog.d.ts +5 -1
- package/dropdown/Dropdown.d.ts +92 -38
- package/dropdown/Dropdown.vue +538 -399
- package/dropdown/dropdown.cjs.js +657 -486
- package/dropdown/dropdown.cjs.min.js +1 -1
- package/dropdown/dropdown.esm.js +659 -488
- package/dropdown/dropdown.esm.min.js +1 -1
- package/dropdown/dropdown.js +657 -486
- package/dropdown/dropdown.min.js +1 -1
- package/editor/Editor.d.ts +32 -0
- package/editor/Editor.vue +15 -1
- package/editor/editor.cjs.js +15 -1
- package/editor/editor.cjs.min.js +1 -1
- package/editor/editor.esm.js +15 -1
- package/editor/editor.esm.min.js +1 -1
- package/editor/editor.js +15 -1
- package/editor/editor.min.js +1 -1
- package/inputmask/InputMask.vue +9 -6
- package/inputmask/inputmask.cjs.js +14 -6
- package/inputmask/inputmask.cjs.min.js +1 -1
- package/inputmask/inputmask.esm.js +15 -7
- package/inputmask/inputmask.esm.min.js +1 -1
- package/inputmask/inputmask.js +14 -6
- package/inputmask/inputmask.min.js +1 -1
- package/inputnumber/InputNumber.d.ts +31 -7
- package/inputnumber/InputNumber.vue +53 -20
- package/inputnumber/inputnumber.cjs.js +75 -29
- package/inputnumber/inputnumber.cjs.min.js +1 -1
- package/inputnumber/inputnumber.esm.js +76 -30
- package/inputnumber/inputnumber.esm.min.js +1 -1
- package/inputnumber/inputnumber.js +75 -29
- package/inputnumber/inputnumber.min.js +1 -1
- package/inputswitch/InputSwitch.d.ts +24 -8
- package/inputswitch/InputSwitch.vue +27 -12
- package/inputswitch/inputswitch.cjs.js +38 -20
- package/inputswitch/inputswitch.cjs.min.js +1 -1
- package/inputswitch/inputswitch.esm.js +39 -21
- package/inputswitch/inputswitch.esm.min.js +1 -1
- package/inputswitch/inputswitch.js +38 -20
- package/inputswitch/inputswitch.min.js +1 -1
- package/inputtext/InputText.vue +1 -2
- package/inputtext/inputtext.cjs.js +3 -4
- package/inputtext/inputtext.cjs.min.js +1 -1
- package/inputtext/inputtext.esm.js +4 -5
- package/inputtext/inputtext.esm.min.js +1 -1
- package/inputtext/inputtext.js +3 -4
- package/inputtext/inputtext.min.js +1 -1
- package/knob/Knob.d.ts +12 -0
- package/knob/Knob.vue +62 -2
- package/knob/knob.cjs.js +73 -5
- package/knob/knob.cjs.min.js +1 -1
- package/knob/knob.esm.js +73 -5
- package/knob/knob.esm.min.js +1 -1
- package/knob/knob.js +73 -5
- package/knob/knob.min.js +1 -1
- package/listbox/Listbox.d.ts +53 -7
- package/listbox/Listbox.vue +500 -135
- package/listbox/listbox.cjs.js +597 -193
- package/listbox/listbox.cjs.min.js +1 -1
- package/listbox/listbox.esm.js +599 -195
- package/listbox/listbox.esm.min.js +1 -1
- package/listbox/listbox.js +597 -193
- package/listbox/listbox.min.js +1 -1
- package/menu/Menu.d.ts +1 -1
- package/menu/Menuitem.vue +2 -2
- package/menu/menu.cjs.js +12 -6
- package/menu/menu.cjs.min.js +1 -1
- package/menu/menu.esm.js +13 -7
- package/menu/menu.esm.min.js +1 -1
- package/menu/menu.js +12 -6
- package/menu/menu.min.js +1 -1
- package/menubar/MenubarSub.vue +3 -3
- package/menubar/menubar.cjs.js +14 -8
- package/menubar/menubar.cjs.min.js +1 -1
- package/menubar/menubar.esm.js +15 -9
- package/menubar/menubar.esm.min.js +1 -1
- package/menubar/menubar.js +14 -8
- package/menubar/menubar.min.js +1 -1
- package/menuitem/MenuItem.d.ts +1 -1
- package/multiselect/MultiSelect.d.ts +111 -51
- package/multiselect/MultiSelect.vue +629 -338
- package/multiselect/multiselect.cjs.js +748 -428
- package/multiselect/multiselect.cjs.min.js +1 -1
- package/multiselect/multiselect.esm.js +750 -430
- package/multiselect/multiselect.esm.min.js +1 -1
- package/multiselect/multiselect.js +748 -428
- package/multiselect/multiselect.min.js +1 -1
- package/overlaypanel/OverlayPanel.d.ts +1 -1
- package/overlaypanel/OverlayPanel.vue +14 -2
- package/overlaypanel/overlaypanel.cjs.js +14 -2
- package/overlaypanel/overlaypanel.cjs.min.js +1 -1
- package/overlaypanel/overlaypanel.esm.js +14 -2
- package/overlaypanel/overlaypanel.esm.min.js +1 -1
- package/overlaypanel/overlaypanel.js +14 -2
- package/overlaypanel/overlaypanel.min.js +1 -1
- package/package.json +2 -2
- package/paginator/Paginator.d.ts +2 -2
- package/password/Password.d.ts +36 -8
- package/password/Password.vue +50 -14
- package/password/password.cjs.js +69 -24
- package/password/password.cjs.min.js +1 -1
- package/password/password.esm.js +71 -26
- package/password/password.esm.min.js +1 -1
- package/password/password.js +69 -24
- package/password/password.min.js +1 -1
- package/picklist/PickList.d.ts +8 -0
- package/picklist/PickList.vue +10 -2
- package/picklist/picklist.cjs.js +68 -50
- package/picklist/picklist.cjs.min.js +1 -1
- package/picklist/picklist.esm.js +69 -51
- package/picklist/picklist.esm.min.js +1 -1
- package/picklist/picklist.js +68 -50
- package/picklist/picklist.min.js +1 -1
- package/portal/Portal.d.ts +1 -1
- package/radiobutton/RadioButton.d.ts +28 -4
- package/radiobutton/RadioButton.vue +36 -11
- package/radiobutton/radiobutton.cjs.js +49 -23
- package/radiobutton/radiobutton.cjs.min.js +1 -1
- package/radiobutton/radiobutton.esm.js +50 -24
- package/radiobutton/radiobutton.esm.min.js +1 -1
- package/radiobutton/radiobutton.js +49 -23
- package/radiobutton/radiobutton.min.js +1 -1
- package/rating/Rating.d.ts +4 -0
- package/rating/Rating.vue +61 -7
- package/rating/rating.cjs.js +90 -16
- package/rating/rating.cjs.min.js +1 -1
- package/rating/rating.esm.js +91 -17
- package/rating/rating.esm.min.js +1 -1
- package/rating/rating.js +90 -16
- package/rating/rating.min.js +1 -1
- package/resources/primevue.css +8 -0
- package/resources/primevue.min.css +1 -1
- package/resources/themes/arya-blue/theme.css +82 -40
- package/resources/themes/arya-green/theme.css +82 -40
- package/resources/themes/arya-orange/theme.css +82 -40
- package/resources/themes/arya-purple/theme.css +82 -40
- package/resources/themes/bootstrap4-dark-blue/theme.css +82 -40
- package/resources/themes/bootstrap4-dark-purple/theme.css +82 -40
- package/resources/themes/bootstrap4-light-blue/theme.css +82 -40
- package/resources/themes/bootstrap4-light-purple/theme.css +82 -40
- package/resources/themes/fluent-light/theme.css +82 -40
- package/resources/themes/lara-dark-blue/theme.css +82 -40
- package/resources/themes/lara-dark-indigo/theme.css +82 -40
- package/resources/themes/lara-dark-purple/theme.css +82 -40
- package/resources/themes/lara-dark-teal/theme.css +82 -40
- package/resources/themes/lara-light-blue/theme.css +82 -40
- package/resources/themes/lara-light-indigo/theme.css +82 -40
- package/resources/themes/lara-light-purple/theme.css +82 -40
- package/resources/themes/lara-light-teal/theme.css +82 -40
- package/resources/themes/luna-amber/theme.css +82 -40
- package/resources/themes/luna-blue/theme.css +82 -40
- package/resources/themes/luna-green/theme.css +82 -40
- package/resources/themes/luna-pink/theme.css +82 -40
- package/resources/themes/md-dark-deeppurple/theme.css +82 -40
- package/resources/themes/md-dark-indigo/theme.css +82 -40
- package/resources/themes/md-light-deeppurple/theme.css +82 -40
- package/resources/themes/md-light-indigo/theme.css +82 -40
- package/resources/themes/mdc-dark-deeppurple/theme.css +82 -40
- package/resources/themes/mdc-dark-indigo/theme.css +82 -40
- package/resources/themes/mdc-light-deeppurple/theme.css +82 -40
- package/resources/themes/mdc-light-indigo/theme.css +82 -40
- package/resources/themes/nova/theme.css +82 -40
- package/resources/themes/nova-accent/theme.css +82 -40
- package/resources/themes/nova-alt/theme.css +82 -40
- package/resources/themes/nova-vue/theme.css +82 -40
- package/resources/themes/rhea/theme.css +82 -40
- package/resources/themes/saga-blue/theme.css +82 -40
- package/resources/themes/saga-green/theme.css +82 -40
- package/resources/themes/saga-orange/theme.css +82 -40
- package/resources/themes/saga-purple/theme.css +82 -40
- package/resources/themes/tailwind-light/theme.css +82 -40
- package/resources/themes/vela-blue/theme.css +82 -40
- package/resources/themes/vela-green/theme.css +82 -40
- package/resources/themes/vela-orange/theme.css +82 -40
- package/resources/themes/vela-purple/theme.css +82 -40
- package/ripple/ripple.cjs.js +1 -0
- package/ripple/ripple.cjs.min.js +1 -1
- package/ripple/ripple.esm.js +1 -0
- package/ripple/ripple.esm.min.js +1 -1
- package/ripple/ripple.js +1 -0
- package/ripple/ripple.min.js +1 -1
- package/selectbutton/SelectButton.d.ts +6 -2
- package/selectbutton/SelectButton.vue +89 -12
- package/selectbutton/selectbutton.cjs.js +97 -22
- package/selectbutton/selectbutton.cjs.min.js +1 -1
- package/selectbutton/selectbutton.esm.js +99 -24
- package/selectbutton/selectbutton.esm.min.js +1 -1
- package/selectbutton/selectbutton.js +97 -22
- package/selectbutton/selectbutton.min.js +1 -1
- package/slider/Slider.d.ts +9 -1
- package/slider/Slider.vue +50 -34
- package/slider/slider.cjs.js +59 -38
- package/slider/slider.cjs.min.js +1 -1
- package/slider/slider.esm.js +59 -38
- package/slider/slider.esm.min.js +1 -1
- package/slider/slider.js +59 -38
- package/slider/slider.min.js +1 -1
- package/splitbutton/SplitButton.d.ts +1 -1
- package/splitter/Splitter.vue +30 -1
- package/splitter/splitter.cjs.js +30 -1
- package/splitter/splitter.cjs.min.js +1 -1
- package/splitter/splitter.esm.js +30 -1
- package/splitter/splitter.esm.min.js +1 -1
- package/splitter/splitter.js +30 -1
- package/splitter/splitter.min.js +1 -1
- package/textarea/Textarea.vue +1 -2
- package/textarea/textarea.cjs.js +3 -5
- package/textarea/textarea.cjs.min.js +1 -1
- package/textarea/textarea.esm.js +4 -6
- package/textarea/textarea.esm.min.js +1 -1
- package/textarea/textarea.js +3 -5
- package/textarea/textarea.min.js +1 -1
- package/tieredmenu/TieredMenu.d.ts +1 -1
- package/tieredmenu/TieredMenuSub.vue +3 -3
- package/tieredmenu/tieredmenu.cjs.js +14 -8
- package/tieredmenu/tieredmenu.cjs.min.js +1 -1
- package/tieredmenu/tieredmenu.esm.js +15 -9
- package/tieredmenu/tieredmenu.esm.min.js +1 -1
- package/tieredmenu/tieredmenu.js +14 -8
- package/tieredmenu/tieredmenu.min.js +1 -1
- package/timeline/Timeline.d.ts +10 -1
- package/timeline/Timeline.vue +1 -1
- package/timeline/timeline.cjs.js +5 -1
- package/timeline/timeline.cjs.min.js +1 -1
- package/timeline/timeline.esm.js +5 -1
- package/timeline/timeline.esm.min.js +1 -1
- package/timeline/timeline.js +5 -1
- package/timeline/timeline.min.js +1 -1
- package/togglebutton/ToggleButton.d.ts +42 -0
- package/togglebutton/ToggleButton.vue +44 -7
- package/togglebutton/togglebutton.cjs.js +59 -13
- package/togglebutton/togglebutton.cjs.min.js +1 -1
- package/togglebutton/togglebutton.esm.js +60 -14
- package/togglebutton/togglebutton.esm.min.js +1 -1
- package/togglebutton/togglebutton.js +59 -13
- package/togglebutton/togglebutton.min.js +1 -1
- package/tooltip/tooltip.cjs.js +20 -11
- package/tooltip/tooltip.cjs.min.js +1 -1
- package/tooltip/tooltip.esm.js +21 -12
- package/tooltip/tooltip.esm.min.js +1 -1
- package/tooltip/tooltip.js +20 -11
- package/tooltip/tooltip.min.js +1 -1
- package/tree/Tree.vue +5 -1
- package/tree/TreeNode.vue +20 -19
- package/tree/tree.cjs.js +47 -32
- package/tree/tree.cjs.min.js +1 -1
- package/tree/tree.esm.js +47 -32
- package/tree/tree.esm.min.js +1 -1
- package/tree/tree.js +47 -32
- package/tree/tree.min.js +1 -1
- package/treeselect/TreeSelect.d.ts +26 -10
- package/treeselect/TreeSelect.vue +52 -29
- package/treeselect/treeselect.cjs.js +74 -41
- package/treeselect/treeselect.cjs.min.js +1 -1
- package/treeselect/treeselect.esm.js +76 -43
- package/treeselect/treeselect.esm.min.js +1 -1
- package/treeselect/treeselect.js +74 -41
- package/treeselect/treeselect.min.js +1 -1
- package/tristatecheckbox/TriStateCheckbox.d.ts +20 -4
- package/tristatecheckbox/TriStateCheckbox.vue +52 -15
- package/tristatecheckbox/tristatecheckbox.cjs.js +67 -26
- package/tristatecheckbox/tristatecheckbox.cjs.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.esm.js +68 -27
- package/tristatecheckbox/tristatecheckbox.esm.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.js +67 -26
- package/tristatecheckbox/tristatecheckbox.min.js +1 -1
- package/utils/Utils.d.ts +3 -2
- package/utils/utils.cjs.js +239 -173
- package/utils/utils.cjs.min.js +1 -1
- package/utils/utils.esm.js +239 -173
- package/utils/utils.esm.min.js +1 -1
- package/utils/utils.js +239 -173
- package/utils/utils.min.js +1 -1
- package/vetur-attributes.json +612 -136
- package/vetur-tags.json +180 -59
- package/virtualscroller/VirtualScroller.d.ts +10 -0
- package/virtualscroller/VirtualScroller.vue +18 -17
- package/virtualscroller/virtualscroller.cjs.js +22 -20
- 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 +22 -20
- package/virtualscroller/virtualscroller.min.js +1 -1
- package/web-types.json +1745 -338
package/picklist/picklist.esm.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Button from 'primevue/button';
|
|
2
2
|
import { ObjectUtils, DomHandler, UniqueComponentId } from 'primevue/utils';
|
|
3
3
|
import Ripple from 'primevue/ripple';
|
|
4
|
-
import { resolveComponent, resolveDirective, openBlock, createElementBlock, normalizeClass,
|
|
4
|
+
import { resolveComponent, resolveDirective, openBlock, createElementBlock, normalizeClass, renderSlot, createVNode, createCommentVNode, createElementVNode, TransitionGroup, normalizeStyle, withCtx, Fragment, renderList, withDirectives } from 'vue';
|
|
5
5
|
|
|
6
6
|
var script = {
|
|
7
7
|
name: 'PickList',
|
|
@@ -38,6 +38,14 @@ var script = {
|
|
|
38
38
|
stripedRows: {
|
|
39
39
|
type: Boolean,
|
|
40
40
|
default: false
|
|
41
|
+
},
|
|
42
|
+
showSourceControls: {
|
|
43
|
+
type: Boolean,
|
|
44
|
+
default: true
|
|
45
|
+
},
|
|
46
|
+
showTargetControls: {
|
|
47
|
+
type: Boolean,
|
|
48
|
+
default: true
|
|
41
49
|
}
|
|
42
50
|
},
|
|
43
51
|
itemTouched: false,
|
|
@@ -516,7 +524,10 @@ var script = {
|
|
|
516
524
|
}
|
|
517
525
|
};
|
|
518
526
|
|
|
519
|
-
const _hoisted_1 = {
|
|
527
|
+
const _hoisted_1 = {
|
|
528
|
+
key: 0,
|
|
529
|
+
class: "p-picklist-buttons p-picklist-source-controls"
|
|
530
|
+
};
|
|
520
531
|
const _hoisted_2 = { class: "p-picklist-list-wrapper p-picklist-source-wrapper" };
|
|
521
532
|
const _hoisted_3 = {
|
|
522
533
|
key: 0,
|
|
@@ -530,7 +541,10 @@ const _hoisted_7 = {
|
|
|
530
541
|
class: "p-picklist-header"
|
|
531
542
|
};
|
|
532
543
|
const _hoisted_8 = ["onClick", "onDblclick", "onKeydown", "aria-selected"];
|
|
533
|
-
const _hoisted_9 = {
|
|
544
|
+
const _hoisted_9 = {
|
|
545
|
+
key: 1,
|
|
546
|
+
class: "p-picklist-buttons p-picklist-target-controls"
|
|
547
|
+
};
|
|
534
548
|
|
|
535
549
|
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
536
550
|
const _component_PLButton = resolveComponent("PLButton");
|
|
@@ -539,30 +553,32 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
539
553
|
return (openBlock(), createElementBlock("div", {
|
|
540
554
|
class: normalizeClass($options.containerClass)
|
|
541
555
|
}, [
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
556
|
+
($props.showSourceControls)
|
|
557
|
+
? (openBlock(), createElementBlock("div", _hoisted_1, [
|
|
558
|
+
renderSlot(_ctx.$slots, "sourcecontrolsstart"),
|
|
559
|
+
createVNode(_component_PLButton, {
|
|
560
|
+
type: "button",
|
|
561
|
+
icon: "pi pi-angle-up",
|
|
562
|
+
onClick: _cache[0] || (_cache[0] = $event => ($options.moveUp($event, 0)))
|
|
563
|
+
}),
|
|
564
|
+
createVNode(_component_PLButton, {
|
|
565
|
+
type: "button",
|
|
566
|
+
icon: "pi pi-angle-double-up",
|
|
567
|
+
onClick: _cache[1] || (_cache[1] = $event => ($options.moveTop($event, 0)))
|
|
568
|
+
}),
|
|
569
|
+
createVNode(_component_PLButton, {
|
|
570
|
+
type: "button",
|
|
571
|
+
icon: "pi pi-angle-down",
|
|
572
|
+
onClick: _cache[2] || (_cache[2] = $event => ($options.moveDown($event, 0)))
|
|
573
|
+
}),
|
|
574
|
+
createVNode(_component_PLButton, {
|
|
575
|
+
type: "button",
|
|
576
|
+
icon: "pi pi-angle-double-down",
|
|
577
|
+
onClick: _cache[3] || (_cache[3] = $event => ($options.moveBottom($event, 0)))
|
|
578
|
+
}),
|
|
579
|
+
renderSlot(_ctx.$slots, "sourcecontrolsend")
|
|
580
|
+
]))
|
|
581
|
+
: createCommentVNode("", true),
|
|
566
582
|
createElementVNode("div", _hoisted_2, [
|
|
567
583
|
(_ctx.$slots.sourceheader)
|
|
568
584
|
? (openBlock(), createElementBlock("div", _hoisted_3, [
|
|
@@ -667,30 +683,32 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
667
683
|
_: 3
|
|
668
684
|
}, 8, ["style"])
|
|
669
685
|
]),
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
686
|
+
($props.showTargetControls)
|
|
687
|
+
? (openBlock(), createElementBlock("div", _hoisted_9, [
|
|
688
|
+
renderSlot(_ctx.$slots, "targetcontrolsstart"),
|
|
689
|
+
createVNode(_component_PLButton, {
|
|
690
|
+
type: "button",
|
|
691
|
+
icon: "pi pi-angle-up",
|
|
692
|
+
onClick: _cache[6] || (_cache[6] = $event => ($options.moveUp($event, 1)))
|
|
693
|
+
}),
|
|
694
|
+
createVNode(_component_PLButton, {
|
|
695
|
+
type: "button",
|
|
696
|
+
icon: "pi pi-angle-double-up",
|
|
697
|
+
onClick: _cache[7] || (_cache[7] = $event => ($options.moveTop($event, 1)))
|
|
698
|
+
}),
|
|
699
|
+
createVNode(_component_PLButton, {
|
|
700
|
+
type: "button",
|
|
701
|
+
icon: "pi pi-angle-down",
|
|
702
|
+
onClick: _cache[8] || (_cache[8] = $event => ($options.moveDown($event, 1)))
|
|
703
|
+
}),
|
|
704
|
+
createVNode(_component_PLButton, {
|
|
705
|
+
type: "button",
|
|
706
|
+
icon: "pi pi-angle-double-down",
|
|
707
|
+
onClick: _cache[9] || (_cache[9] = $event => ($options.moveBottom($event, 1)))
|
|
708
|
+
}),
|
|
709
|
+
renderSlot(_ctx.$slots, "targetcontrolsend")
|
|
710
|
+
]))
|
|
711
|
+
: createCommentVNode("", true)
|
|
694
712
|
], 2))
|
|
695
713
|
}
|
|
696
714
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"primevue/button";import{ObjectUtils as t,DomHandler as i,UniqueComponentId as l}from"primevue/utils";import n from"primevue/ripple";import{resolveComponent as o,resolveDirective as s,openBlock as r,createElementBlock as c,normalizeClass as a,createElementVNode as d,renderSlot as p,createVNode as u,createCommentVNode as h,TransitionGroup as m,normalizeStyle as f,withCtx as k,Fragment as g,renderList as v,withDirectives as b}from"vue";var y={name:"PickList",emits:["update:modelValue","reorder","update:selection","selection-change","move-to-target","move-to-source","move-all-to-target","move-all-to-source"],props:{modelValue:{type:Array,default:()=>[[],[]]},selection:{type:Array,default:()=>[[],[]]},dataKey:{type:String,default:null},listStyle:{type:null,default:null},metaKeySelection:{type:Boolean,default:!0},responsive:{type:Boolean,default:!0},breakpoint:{type:String,default:"960px"},stripedRows:{type:Boolean,default:!1}},itemTouched:!1,reorderDirection:null,styleElement:null,data(){return{d_selection:this.selection}},updated(){this.reorderDirection&&(this.updateListScroll(this.$refs.sourceList.$el),this.updateListScroll(this.$refs.targetList.$el),this.reorderDirection=null)},beforeUnmount(){this.destroyStyle()},mounted(){this.responsive&&this.createStyle()},watch:{selection(e){this.d_selection=e}},methods:{getItemKey(e,i){return this.dataKey?t.resolveFieldData(e,this.dataKey):i},isSelected(e,i){return-1!=t.findIndexInList(e,this.d_selection[i])},moveUp(e,i){if(this.d_selection&&this.d_selection[i]){let l=[...this.modelValue[i]],n=this.d_selection[i];for(let e=0;e<n.length;e++){let i=n[e],o=t.findIndexInList(i,l);if(0===o)break;{let e=l[o],t=l[o-1];l[o-1]=e,l[o]=t}}let o=[...this.modelValue];o[i]=l,this.reorderDirection="up",this.$emit("update:modelValue",o),this.$emit("reorder",{originalEvent:e,value:o,direction:this.reorderDirection,listIndex:i})}},moveTop(e,i){if(this.d_selection){let l=[...this.modelValue[i]],n=this.d_selection[i];for(let e=0;e<n.length;e++){let i=n[e],o=t.findIndexInList(i,l);if(0===o)break;{let e=l.splice(o,1)[0];l.unshift(e)}}let o=[...this.modelValue];o[i]=l,this.reorderDirection="top",this.$emit("update:modelValue",o),this.$emit("reorder",{originalEvent:e,value:o,direction:this.reorderDirection,listIndex:i})}},moveDown(e,i){if(this.d_selection){let l=[...this.modelValue[i]],n=this.d_selection[i];for(let e=n.length-1;e>=0;e--){let i=n[e],o=t.findIndexInList(i,l);if(o===l.length-1)break;{let e=l[o],t=l[o+1];l[o+1]=e,l[o]=t}}let o=[...this.modelValue];o[i]=l,this.reorderDirection="down",this.$emit("update:modelValue",o),this.$emit("reorder",{originalEvent:e,value:o,direction:this.reorderDirection,listIndex:i})}},moveBottom(e,i){if(this.d_selection){let l=[...this.modelValue[i]],n=this.d_selection[i];for(let e=n.length-1;e>=0;e--){let i=n[e],o=t.findIndexInList(i,l);if(o===l.length-1)break;{let e=l.splice(o,1)[0];l.push(e)}}let o=[...this.modelValue];o[i]=l,this.reorderDirection="bottom",this.$emit("update:modelValue",o),this.$emit("reorder",{originalEvent:e,value:o,direction:this.reorderDirection,listIndex:i})}},moveToTarget(e){let i=this.d_selection&&this.d_selection[0]?this.d_selection[0]:null,l=[...this.modelValue[0]],n=[...this.modelValue[1]];if(i){for(let e=0;e<i.length;e++){let o=i[e];-1==t.findIndexInList(o,n)&&n.push(l.splice(t.findIndexInList(o,l),1)[0])}let o=[...this.modelValue];o[0]=l,o[1]=n,this.$emit("update:modelValue",o),this.$emit("move-to-target",{originalEvent:e,items:i}),this.d_selection[0]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},moveAllToTarget(e){if(this.modelValue[0]){let t=[...this.modelValue[0]],i=[...this.modelValue[1]];this.$emit("move-all-to-target",{originalEvent:e,items:t}),i=[...i,...t],t=[];let l=[...this.modelValue];l[0]=t,l[1]=i,this.$emit("update:modelValue",l),this.d_selection[0]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},moveToSource(e){let i=this.d_selection&&this.d_selection[1]?this.d_selection[1]:null,l=[...this.modelValue[0]],n=[...this.modelValue[1]];if(i){for(let e=0;e<i.length;e++){let o=i[e];-1==t.findIndexInList(o,l)&&l.push(n.splice(t.findIndexInList(o,n),1)[0])}let o=[...this.modelValue];o[0]=l,o[1]=n,this.$emit("update:modelValue",o),this.$emit("move-to-source",{originalEvent:e,items:i}),this.d_selection[1]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},moveAllToSource(e){if(this.modelValue[1]){let t=[...this.modelValue[0]],i=[...this.modelValue[1]];this.$emit("move-all-to-source",{originalEvent:e,items:i}),t=[...t,...i],i=[];let l=[...this.modelValue];l[0]=t,l[1]=i,this.$emit("update:modelValue",l),this.d_selection[1]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},onItemClick(e,i,l){this.itemTouched=!1;const n=this.d_selection[l],o=t.findIndexInList(i,n),s=-1!=o;let r;if(!this.itemTouched&&this.metaKeySelection){let t=e.metaKey||e.ctrlKey;s&&t?r=n.filter(((e,t)=>t!==o)):(r=t&&n?[...n]:[],r.push(i))}else s?r=n.filter(((e,t)=>t!==o)):(r=n?[...n]:[],r.push(i));let c=[...this.d_selection];c[l]=r,this.d_selection=c,this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})},onItemDblClick(e,t,i){0===i?this.moveToTarget(e):1===i&&this.moveToSource(e)},onItemTouchEnd(){this.itemTouched=!0},onItemKeyDown(e,t,i){let l=e.currentTarget;switch(e.which){case 40:var n=this.findNextItem(l);n&&n.focus(),e.preventDefault();break;case 38:var o=this.findPrevItem(l);o&&o.focus(),e.preventDefault();break;case 13:this.onItemClick(e,t,i),e.preventDefault()}},findNextItem(e){let t=e.nextElementSibling;return t?i.hasClass(t,"p-picklist-item")?t:this.findNextItem(t):null},findPrevItem(e){let t=e.previousElementSibling;return t?i.hasClass(t,"p-picklist-item")?t:this.findPrevItem(t):null},updateListScroll(e){const t=i.find(e,".p-picklist-item.p-highlight");if(t&&t.length)switch(this.reorderDirection){case"up":i.scrollInView(e,t[0]);break;case"top":e.scrollTop=0;break;case"down":i.scrollInView(e,t[t.length-1]);break;case"bottom":e.scrollTop=e.scrollHeight}},createStyle(){if(!this.styleElement){this.$el.setAttribute(this.attributeSelector,""),this.styleElement=document.createElement("style"),this.styleElement.type="text/css",document.head.appendChild(this.styleElement);let e=`\n@media screen and (max-width: ${this.breakpoint}) {\n .p-picklist[${this.attributeSelector}] {\n flex-direction: column;\n }\n\n .p-picklist[${this.attributeSelector}] .p-picklist-buttons {\n padding: var(--content-padding);\n flex-direction: row;\n }\n\n .p-picklist[${this.attributeSelector}] .p-picklist-buttons .p-button {\n margin-right: var(--inline-spacing);\n margin-bottom: 0;\n }\n\n .p-picklist[${this.attributeSelector}] .p-picklist-buttons .p-button:last-child {\n margin-right: 0;\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-right:before {\n content: "\\e930"\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-double-right:before {\n content: "\\e92c"\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-left:before {\n content: "\\e933"\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-double-left:before {\n content: "\\e92f"\n }\n}\n`;this.styleElement.innerHTML=e}},destroyStyle(){this.styleElement&&(document.head.removeChild(this.styleElement),this.styleElement=null)}},computed:{containerClass(){return["p-picklist p-component",{"p-picklist-striped":this.stripedRows}]},sourceList(){return this.modelValue&&this.modelValue[0]?this.modelValue[0]:null},targetList(){return this.modelValue&&this.modelValue[1]?this.modelValue[1]:null},attributeSelector:()=>l()},components:{PLButton:e},directives:{ripple:n}};const x={class:"p-picklist-buttons p-picklist-source-controls"},$={class:"p-picklist-list-wrapper p-picklist-source-wrapper"},I={key:0,class:"p-picklist-header"},w=["onClick","onDblclick","onKeydown","aria-selected"],V={class:"p-picklist-buttons p-picklist-transfer-buttons"},S={class:"p-picklist-list-wrapper p-picklist-target-wrapper"},C={key:0,class:"p-picklist-header"},_=["onClick","onDblclick","onKeydown","aria-selected"],T={class:"p-picklist-buttons p-picklist-target-controls"};!function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var l=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===i&&l.firstChild?l.insertBefore(n,l.firstChild):l.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-picklist {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.p-picklist-buttons {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.p-picklist-list-wrapper {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 50%;\n flex: 1 1 50%;\n}\n.p-picklist-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n overflow: auto;\n min-height: 12rem;\n max-height: 24rem;\n}\n.p-picklist-item {\n cursor: pointer;\n overflow: hidden;\n position: relative;\n}\n.p-picklist-item.p-picklist-flip-enter-active.p-picklist-flip-enter-to,\n.p-picklist-item.p-picklist-flip-leave-active.p-picklist-flip-leave-to {\n -webkit-transition: none !important;\n transition: none !important;\n}\n"),y.render=function(e,t,i,l,n,y){const E=o("PLButton"),D=s("ripple");return r(),c("div",{class:a(y.containerClass)},[d("div",x,[p(e.$slots,"sourcecontrolsstart"),u(E,{type:"button",icon:"pi pi-angle-up",onClick:t[0]||(t[0]=e=>y.moveUp(e,0))}),u(E,{type:"button",icon:"pi pi-angle-double-up",onClick:t[1]||(t[1]=e=>y.moveTop(e,0))}),u(E,{type:"button",icon:"pi pi-angle-down",onClick:t[2]||(t[2]=e=>y.moveDown(e,0))}),u(E,{type:"button",icon:"pi pi-angle-double-down",onClick:t[3]||(t[3]=e=>y.moveBottom(e,0))}),p(e.$slots,"sourcecontrolsend")]),d("div",$,[e.$slots.sourceheader?(r(),c("div",I,[p(e.$slots,"sourceheader")])):h("",!0),u(m,{ref:"sourceList",name:"p-picklist-flip",tag:"ul",class:"p-picklist-list p-picklist-source",style:f(i.listStyle),role:"listbox","aria-multiselectable":"multiple"},{default:k((()=>[(r(!0),c(g,null,v(y.sourceList,((i,l)=>b((r(),c("li",{key:y.getItemKey(i,l),tabindex:"0",class:a(["p-picklist-item",{"p-highlight":y.isSelected(i,0)}]),onClick:e=>y.onItemClick(e,i,0),onDblclick:e=>y.onItemDblClick(e,i,0),onKeydown:e=>y.onItemKeyDown(e,i,0),onTouchend:t[4]||(t[4]=(...e)=>y.onItemTouchEnd&&y.onItemTouchEnd(...e)),role:"option","aria-selected":y.isSelected(i,0)},[p(e.$slots,"item",{item:i,index:l})],42,w)),[[D]]))),128))])),_:3},8,["style"])]),d("div",V,[p(e.$slots,"movecontrolsstart"),u(E,{type:"button",icon:"pi pi-angle-right",onClick:y.moveToTarget},null,8,["onClick"]),u(E,{type:"button",icon:"pi pi-angle-double-right",onClick:y.moveAllToTarget},null,8,["onClick"]),u(E,{type:"button",icon:"pi pi-angle-left",onClick:y.moveToSource},null,8,["onClick"]),u(E,{type:"button",icon:"pi pi-angle-double-left",onClick:y.moveAllToSource},null,8,["onClick"]),p(e.$slots,"movecontrolsend")]),d("div",S,[e.$slots.targetheader?(r(),c("div",C,[p(e.$slots,"targetheader")])):h("",!0),u(m,{ref:"targetList",name:"p-picklist-flip",tag:"ul",class:"p-picklist-list p-picklist-target",style:f(i.listStyle),role:"listbox","aria-multiselectable":"multiple"},{default:k((()=>[(r(!0),c(g,null,v(y.targetList,((i,l)=>b((r(),c("li",{key:y.getItemKey(i,l),tabindex:"0",class:a(["p-picklist-item",{"p-highlight":y.isSelected(i,1)}]),onClick:e=>y.onItemClick(e,i,1),onDblclick:e=>y.onItemDblClick(e,i,1),onKeydown:e=>y.onItemKeyDown(e,i,1),onTouchend:t[5]||(t[5]=(...e)=>y.onItemTouchEnd&&y.onItemTouchEnd(...e)),role:"option","aria-selected":y.isSelected(i,1)},[p(e.$slots,"item",{item:i,index:l})],42,_)),[[D]]))),128))])),_:3},8,["style"])]),d("div",T,[p(e.$slots,"targetcontrolsstart"),u(E,{type:"button",icon:"pi pi-angle-up",onClick:t[6]||(t[6]=e=>y.moveUp(e,1))}),u(E,{type:"button",icon:"pi pi-angle-double-up",onClick:t[7]||(t[7]=e=>y.moveTop(e,1))}),u(E,{type:"button",icon:"pi pi-angle-down",onClick:t[8]||(t[8]=e=>y.moveDown(e,1))}),u(E,{type:"button",icon:"pi pi-angle-double-down",onClick:t[9]||(t[9]=e=>y.moveBottom(e,1))}),p(e.$slots,"targetcontrolsend")])],2)};export{y as default};
|
|
1
|
+
import e from"primevue/button";import{ObjectUtils as t,DomHandler as i,UniqueComponentId as l}from"primevue/utils";import n from"primevue/ripple";import{resolveComponent as o,resolveDirective as s,openBlock as r,createElementBlock as c,normalizeClass as a,renderSlot as d,createVNode as p,createCommentVNode as u,createElementVNode as h,TransitionGroup as m,normalizeStyle as f,withCtx as k,Fragment as g,renderList as v,withDirectives as b}from"vue";var y={name:"PickList",emits:["update:modelValue","reorder","update:selection","selection-change","move-to-target","move-to-source","move-all-to-target","move-all-to-source"],props:{modelValue:{type:Array,default:()=>[[],[]]},selection:{type:Array,default:()=>[[],[]]},dataKey:{type:String,default:null},listStyle:{type:null,default:null},metaKeySelection:{type:Boolean,default:!0},responsive:{type:Boolean,default:!0},breakpoint:{type:String,default:"960px"},stripedRows:{type:Boolean,default:!1},showSourceControls:{type:Boolean,default:!0},showTargetControls:{type:Boolean,default:!0}},itemTouched:!1,reorderDirection:null,styleElement:null,data(){return{d_selection:this.selection}},updated(){this.reorderDirection&&(this.updateListScroll(this.$refs.sourceList.$el),this.updateListScroll(this.$refs.targetList.$el),this.reorderDirection=null)},beforeUnmount(){this.destroyStyle()},mounted(){this.responsive&&this.createStyle()},watch:{selection(e){this.d_selection=e}},methods:{getItemKey(e,i){return this.dataKey?t.resolveFieldData(e,this.dataKey):i},isSelected(e,i){return-1!=t.findIndexInList(e,this.d_selection[i])},moveUp(e,i){if(this.d_selection&&this.d_selection[i]){let l=[...this.modelValue[i]],n=this.d_selection[i];for(let e=0;e<n.length;e++){let i=n[e],o=t.findIndexInList(i,l);if(0===o)break;{let e=l[o],t=l[o-1];l[o-1]=e,l[o]=t}}let o=[...this.modelValue];o[i]=l,this.reorderDirection="up",this.$emit("update:modelValue",o),this.$emit("reorder",{originalEvent:e,value:o,direction:this.reorderDirection,listIndex:i})}},moveTop(e,i){if(this.d_selection){let l=[...this.modelValue[i]],n=this.d_selection[i];for(let e=0;e<n.length;e++){let i=n[e],o=t.findIndexInList(i,l);if(0===o)break;{let e=l.splice(o,1)[0];l.unshift(e)}}let o=[...this.modelValue];o[i]=l,this.reorderDirection="top",this.$emit("update:modelValue",o),this.$emit("reorder",{originalEvent:e,value:o,direction:this.reorderDirection,listIndex:i})}},moveDown(e,i){if(this.d_selection){let l=[...this.modelValue[i]],n=this.d_selection[i];for(let e=n.length-1;e>=0;e--){let i=n[e],o=t.findIndexInList(i,l);if(o===l.length-1)break;{let e=l[o],t=l[o+1];l[o+1]=e,l[o]=t}}let o=[...this.modelValue];o[i]=l,this.reorderDirection="down",this.$emit("update:modelValue",o),this.$emit("reorder",{originalEvent:e,value:o,direction:this.reorderDirection,listIndex:i})}},moveBottom(e,i){if(this.d_selection){let l=[...this.modelValue[i]],n=this.d_selection[i];for(let e=n.length-1;e>=0;e--){let i=n[e],o=t.findIndexInList(i,l);if(o===l.length-1)break;{let e=l.splice(o,1)[0];l.push(e)}}let o=[...this.modelValue];o[i]=l,this.reorderDirection="bottom",this.$emit("update:modelValue",o),this.$emit("reorder",{originalEvent:e,value:o,direction:this.reorderDirection,listIndex:i})}},moveToTarget(e){let i=this.d_selection&&this.d_selection[0]?this.d_selection[0]:null,l=[...this.modelValue[0]],n=[...this.modelValue[1]];if(i){for(let e=0;e<i.length;e++){let o=i[e];-1==t.findIndexInList(o,n)&&n.push(l.splice(t.findIndexInList(o,l),1)[0])}let o=[...this.modelValue];o[0]=l,o[1]=n,this.$emit("update:modelValue",o),this.$emit("move-to-target",{originalEvent:e,items:i}),this.d_selection[0]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},moveAllToTarget(e){if(this.modelValue[0]){let t=[...this.modelValue[0]],i=[...this.modelValue[1]];this.$emit("move-all-to-target",{originalEvent:e,items:t}),i=[...i,...t],t=[];let l=[...this.modelValue];l[0]=t,l[1]=i,this.$emit("update:modelValue",l),this.d_selection[0]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},moveToSource(e){let i=this.d_selection&&this.d_selection[1]?this.d_selection[1]:null,l=[...this.modelValue[0]],n=[...this.modelValue[1]];if(i){for(let e=0;e<i.length;e++){let o=i[e];-1==t.findIndexInList(o,l)&&l.push(n.splice(t.findIndexInList(o,n),1)[0])}let o=[...this.modelValue];o[0]=l,o[1]=n,this.$emit("update:modelValue",o),this.$emit("move-to-source",{originalEvent:e,items:i}),this.d_selection[1]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},moveAllToSource(e){if(this.modelValue[1]){let t=[...this.modelValue[0]],i=[...this.modelValue[1]];this.$emit("move-all-to-source",{originalEvent:e,items:i}),t=[...t,...i],i=[];let l=[...this.modelValue];l[0]=t,l[1]=i,this.$emit("update:modelValue",l),this.d_selection[1]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},onItemClick(e,i,l){this.itemTouched=!1;const n=this.d_selection[l],o=t.findIndexInList(i,n),s=-1!=o;let r;if(!this.itemTouched&&this.metaKeySelection){let t=e.metaKey||e.ctrlKey;s&&t?r=n.filter(((e,t)=>t!==o)):(r=t&&n?[...n]:[],r.push(i))}else s?r=n.filter(((e,t)=>t!==o)):(r=n?[...n]:[],r.push(i));let c=[...this.d_selection];c[l]=r,this.d_selection=c,this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})},onItemDblClick(e,t,i){0===i?this.moveToTarget(e):1===i&&this.moveToSource(e)},onItemTouchEnd(){this.itemTouched=!0},onItemKeyDown(e,t,i){let l=e.currentTarget;switch(e.which){case 40:var n=this.findNextItem(l);n&&n.focus(),e.preventDefault();break;case 38:var o=this.findPrevItem(l);o&&o.focus(),e.preventDefault();break;case 13:this.onItemClick(e,t,i),e.preventDefault()}},findNextItem(e){let t=e.nextElementSibling;return t?i.hasClass(t,"p-picklist-item")?t:this.findNextItem(t):null},findPrevItem(e){let t=e.previousElementSibling;return t?i.hasClass(t,"p-picklist-item")?t:this.findPrevItem(t):null},updateListScroll(e){const t=i.find(e,".p-picklist-item.p-highlight");if(t&&t.length)switch(this.reorderDirection){case"up":i.scrollInView(e,t[0]);break;case"top":e.scrollTop=0;break;case"down":i.scrollInView(e,t[t.length-1]);break;case"bottom":e.scrollTop=e.scrollHeight}},createStyle(){if(!this.styleElement){this.$el.setAttribute(this.attributeSelector,""),this.styleElement=document.createElement("style"),this.styleElement.type="text/css",document.head.appendChild(this.styleElement);let e=`\n@media screen and (max-width: ${this.breakpoint}) {\n .p-picklist[${this.attributeSelector}] {\n flex-direction: column;\n }\n\n .p-picklist[${this.attributeSelector}] .p-picklist-buttons {\n padding: var(--content-padding);\n flex-direction: row;\n }\n\n .p-picklist[${this.attributeSelector}] .p-picklist-buttons .p-button {\n margin-right: var(--inline-spacing);\n margin-bottom: 0;\n }\n\n .p-picklist[${this.attributeSelector}] .p-picklist-buttons .p-button:last-child {\n margin-right: 0;\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-right:before {\n content: "\\e930"\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-double-right:before {\n content: "\\e92c"\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-left:before {\n content: "\\e933"\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-double-left:before {\n content: "\\e92f"\n }\n}\n`;this.styleElement.innerHTML=e}},destroyStyle(){this.styleElement&&(document.head.removeChild(this.styleElement),this.styleElement=null)}},computed:{containerClass(){return["p-picklist p-component",{"p-picklist-striped":this.stripedRows}]},sourceList(){return this.modelValue&&this.modelValue[0]?this.modelValue[0]:null},targetList(){return this.modelValue&&this.modelValue[1]?this.modelValue[1]:null},attributeSelector:()=>l()},components:{PLButton:e},directives:{ripple:n}};const x={key:0,class:"p-picklist-buttons p-picklist-source-controls"},$={class:"p-picklist-list-wrapper p-picklist-source-wrapper"},I={key:0,class:"p-picklist-header"},w=["onClick","onDblclick","onKeydown","aria-selected"],C={class:"p-picklist-buttons p-picklist-transfer-buttons"},S={class:"p-picklist-list-wrapper p-picklist-target-wrapper"},V={key:0,class:"p-picklist-header"},T=["onClick","onDblclick","onKeydown","aria-selected"],_={key:1,class:"p-picklist-buttons p-picklist-target-controls"};!function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var l=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===i&&l.firstChild?l.insertBefore(n,l.firstChild):l.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-picklist {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.p-picklist-buttons {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.p-picklist-list-wrapper {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 50%;\n flex: 1 1 50%;\n}\n.p-picklist-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n overflow: auto;\n min-height: 12rem;\n max-height: 24rem;\n}\n.p-picklist-item {\n cursor: pointer;\n overflow: hidden;\n position: relative;\n}\n.p-picklist-item.p-picklist-flip-enter-active.p-picklist-flip-enter-to,\n.p-picklist-item.p-picklist-flip-leave-active.p-picklist-flip-leave-to {\n -webkit-transition: none !important;\n transition: none !important;\n}\n"),y.render=function(e,t,i,l,n,y){const E=o("PLButton"),D=s("ripple");return r(),c("div",{class:a(y.containerClass)},[i.showSourceControls?(r(),c("div",x,[d(e.$slots,"sourcecontrolsstart"),p(E,{type:"button",icon:"pi pi-angle-up",onClick:t[0]||(t[0]=e=>y.moveUp(e,0))}),p(E,{type:"button",icon:"pi pi-angle-double-up",onClick:t[1]||(t[1]=e=>y.moveTop(e,0))}),p(E,{type:"button",icon:"pi pi-angle-down",onClick:t[2]||(t[2]=e=>y.moveDown(e,0))}),p(E,{type:"button",icon:"pi pi-angle-double-down",onClick:t[3]||(t[3]=e=>y.moveBottom(e,0))}),d(e.$slots,"sourcecontrolsend")])):u("",!0),h("div",$,[e.$slots.sourceheader?(r(),c("div",I,[d(e.$slots,"sourceheader")])):u("",!0),p(m,{ref:"sourceList",name:"p-picklist-flip",tag:"ul",class:"p-picklist-list p-picklist-source",style:f(i.listStyle),role:"listbox","aria-multiselectable":"multiple"},{default:k((()=>[(r(!0),c(g,null,v(y.sourceList,((i,l)=>b((r(),c("li",{key:y.getItemKey(i,l),tabindex:"0",class:a(["p-picklist-item",{"p-highlight":y.isSelected(i,0)}]),onClick:e=>y.onItemClick(e,i,0),onDblclick:e=>y.onItemDblClick(e,i,0),onKeydown:e=>y.onItemKeyDown(e,i,0),onTouchend:t[4]||(t[4]=(...e)=>y.onItemTouchEnd&&y.onItemTouchEnd(...e)),role:"option","aria-selected":y.isSelected(i,0)},[d(e.$slots,"item",{item:i,index:l})],42,w)),[[D]]))),128))])),_:3},8,["style"])]),h("div",C,[d(e.$slots,"movecontrolsstart"),p(E,{type:"button",icon:"pi pi-angle-right",onClick:y.moveToTarget},null,8,["onClick"]),p(E,{type:"button",icon:"pi pi-angle-double-right",onClick:y.moveAllToTarget},null,8,["onClick"]),p(E,{type:"button",icon:"pi pi-angle-left",onClick:y.moveToSource},null,8,["onClick"]),p(E,{type:"button",icon:"pi pi-angle-double-left",onClick:y.moveAllToSource},null,8,["onClick"]),d(e.$slots,"movecontrolsend")]),h("div",S,[e.$slots.targetheader?(r(),c("div",V,[d(e.$slots,"targetheader")])):u("",!0),p(m,{ref:"targetList",name:"p-picklist-flip",tag:"ul",class:"p-picklist-list p-picklist-target",style:f(i.listStyle),role:"listbox","aria-multiselectable":"multiple"},{default:k((()=>[(r(!0),c(g,null,v(y.targetList,((i,l)=>b((r(),c("li",{key:y.getItemKey(i,l),tabindex:"0",class:a(["p-picklist-item",{"p-highlight":y.isSelected(i,1)}]),onClick:e=>y.onItemClick(e,i,1),onDblclick:e=>y.onItemDblClick(e,i,1),onKeydown:e=>y.onItemKeyDown(e,i,1),onTouchend:t[5]||(t[5]=(...e)=>y.onItemTouchEnd&&y.onItemTouchEnd(...e)),role:"option","aria-selected":y.isSelected(i,1)},[d(e.$slots,"item",{item:i,index:l})],42,T)),[[D]]))),128))])),_:3},8,["style"])]),i.showTargetControls?(r(),c("div",_,[d(e.$slots,"targetcontrolsstart"),p(E,{type:"button",icon:"pi pi-angle-up",onClick:t[6]||(t[6]=e=>y.moveUp(e,1))}),p(E,{type:"button",icon:"pi pi-angle-double-up",onClick:t[7]||(t[7]=e=>y.moveTop(e,1))}),p(E,{type:"button",icon:"pi pi-angle-down",onClick:t[8]||(t[8]=e=>y.moveDown(e,1))}),p(E,{type:"button",icon:"pi pi-angle-double-down",onClick:t[9]||(t[9]=e=>y.moveBottom(e,1))}),d(e.$slots,"targetcontrolsend")])):u("",!0)],2)};export{y as default};
|
package/picklist/picklist.js
CHANGED
|
@@ -42,6 +42,14 @@ this.primevue.picklist = (function (Button, utils, Ripple, vue) {
|
|
|
42
42
|
stripedRows: {
|
|
43
43
|
type: Boolean,
|
|
44
44
|
default: false
|
|
45
|
+
},
|
|
46
|
+
showSourceControls: {
|
|
47
|
+
type: Boolean,
|
|
48
|
+
default: true
|
|
49
|
+
},
|
|
50
|
+
showTargetControls: {
|
|
51
|
+
type: Boolean,
|
|
52
|
+
default: true
|
|
45
53
|
}
|
|
46
54
|
},
|
|
47
55
|
itemTouched: false,
|
|
@@ -520,7 +528,10 @@ this.primevue.picklist = (function (Button, utils, Ripple, vue) {
|
|
|
520
528
|
}
|
|
521
529
|
};
|
|
522
530
|
|
|
523
|
-
const _hoisted_1 = {
|
|
531
|
+
const _hoisted_1 = {
|
|
532
|
+
key: 0,
|
|
533
|
+
class: "p-picklist-buttons p-picklist-source-controls"
|
|
534
|
+
};
|
|
524
535
|
const _hoisted_2 = { class: "p-picklist-list-wrapper p-picklist-source-wrapper" };
|
|
525
536
|
const _hoisted_3 = {
|
|
526
537
|
key: 0,
|
|
@@ -534,7 +545,10 @@ this.primevue.picklist = (function (Button, utils, Ripple, vue) {
|
|
|
534
545
|
class: "p-picklist-header"
|
|
535
546
|
};
|
|
536
547
|
const _hoisted_8 = ["onClick", "onDblclick", "onKeydown", "aria-selected"];
|
|
537
|
-
const _hoisted_9 = {
|
|
548
|
+
const _hoisted_9 = {
|
|
549
|
+
key: 1,
|
|
550
|
+
class: "p-picklist-buttons p-picklist-target-controls"
|
|
551
|
+
};
|
|
538
552
|
|
|
539
553
|
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
540
554
|
const _component_PLButton = vue.resolveComponent("PLButton");
|
|
@@ -543,30 +557,32 @@ this.primevue.picklist = (function (Button, utils, Ripple, vue) {
|
|
|
543
557
|
return (vue.openBlock(), vue.createElementBlock("div", {
|
|
544
558
|
class: vue.normalizeClass($options.containerClass)
|
|
545
559
|
}, [
|
|
546
|
-
|
|
547
|
-
vue.
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
560
|
+
($props.showSourceControls)
|
|
561
|
+
? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
|
|
562
|
+
vue.renderSlot(_ctx.$slots, "sourcecontrolsstart"),
|
|
563
|
+
vue.createVNode(_component_PLButton, {
|
|
564
|
+
type: "button",
|
|
565
|
+
icon: "pi pi-angle-up",
|
|
566
|
+
onClick: _cache[0] || (_cache[0] = $event => ($options.moveUp($event, 0)))
|
|
567
|
+
}),
|
|
568
|
+
vue.createVNode(_component_PLButton, {
|
|
569
|
+
type: "button",
|
|
570
|
+
icon: "pi pi-angle-double-up",
|
|
571
|
+
onClick: _cache[1] || (_cache[1] = $event => ($options.moveTop($event, 0)))
|
|
572
|
+
}),
|
|
573
|
+
vue.createVNode(_component_PLButton, {
|
|
574
|
+
type: "button",
|
|
575
|
+
icon: "pi pi-angle-down",
|
|
576
|
+
onClick: _cache[2] || (_cache[2] = $event => ($options.moveDown($event, 0)))
|
|
577
|
+
}),
|
|
578
|
+
vue.createVNode(_component_PLButton, {
|
|
579
|
+
type: "button",
|
|
580
|
+
icon: "pi pi-angle-double-down",
|
|
581
|
+
onClick: _cache[3] || (_cache[3] = $event => ($options.moveBottom($event, 0)))
|
|
582
|
+
}),
|
|
583
|
+
vue.renderSlot(_ctx.$slots, "sourcecontrolsend")
|
|
584
|
+
]))
|
|
585
|
+
: vue.createCommentVNode("", true),
|
|
570
586
|
vue.createElementVNode("div", _hoisted_2, [
|
|
571
587
|
(_ctx.$slots.sourceheader)
|
|
572
588
|
? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3, [
|
|
@@ -671,30 +687,32 @@ this.primevue.picklist = (function (Button, utils, Ripple, vue) {
|
|
|
671
687
|
_: 3
|
|
672
688
|
}, 8, ["style"])
|
|
673
689
|
]),
|
|
674
|
-
|
|
675
|
-
vue.
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
690
|
+
($props.showTargetControls)
|
|
691
|
+
? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9, [
|
|
692
|
+
vue.renderSlot(_ctx.$slots, "targetcontrolsstart"),
|
|
693
|
+
vue.createVNode(_component_PLButton, {
|
|
694
|
+
type: "button",
|
|
695
|
+
icon: "pi pi-angle-up",
|
|
696
|
+
onClick: _cache[6] || (_cache[6] = $event => ($options.moveUp($event, 1)))
|
|
697
|
+
}),
|
|
698
|
+
vue.createVNode(_component_PLButton, {
|
|
699
|
+
type: "button",
|
|
700
|
+
icon: "pi pi-angle-double-up",
|
|
701
|
+
onClick: _cache[7] || (_cache[7] = $event => ($options.moveTop($event, 1)))
|
|
702
|
+
}),
|
|
703
|
+
vue.createVNode(_component_PLButton, {
|
|
704
|
+
type: "button",
|
|
705
|
+
icon: "pi pi-angle-down",
|
|
706
|
+
onClick: _cache[8] || (_cache[8] = $event => ($options.moveDown($event, 1)))
|
|
707
|
+
}),
|
|
708
|
+
vue.createVNode(_component_PLButton, {
|
|
709
|
+
type: "button",
|
|
710
|
+
icon: "pi pi-angle-double-down",
|
|
711
|
+
onClick: _cache[9] || (_cache[9] = $event => ($options.moveBottom($event, 1)))
|
|
712
|
+
}),
|
|
713
|
+
vue.renderSlot(_ctx.$slots, "targetcontrolsend")
|
|
714
|
+
]))
|
|
715
|
+
: vue.createCommentVNode("", true)
|
|
698
716
|
], 2))
|
|
699
717
|
}
|
|
700
718
|
|
package/picklist/picklist.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
this.primevue=this.primevue||{},this.primevue.picklist=function(e,t,i,l){"use strict";function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=n(e),s=n(i),r={name:"PickList",emits:["update:modelValue","reorder","update:selection","selection-change","move-to-target","move-to-source","move-all-to-target","move-all-to-source"],props:{modelValue:{type:Array,default:()=>[[],[]]},selection:{type:Array,default:()=>[[],[]]},dataKey:{type:String,default:null},listStyle:{type:null,default:null},metaKeySelection:{type:Boolean,default:!0},responsive:{type:Boolean,default:!0},breakpoint:{type:String,default:"960px"},stripedRows:{type:Boolean,default:!1}},itemTouched:!1,reorderDirection:null,styleElement:null,data(){return{d_selection:this.selection}},updated(){this.reorderDirection&&(this.updateListScroll(this.$refs.sourceList.$el),this.updateListScroll(this.$refs.targetList.$el),this.reorderDirection=null)},beforeUnmount(){this.destroyStyle()},mounted(){this.responsive&&this.createStyle()},watch:{selection(e){this.d_selection=e}},methods:{getItemKey(e,i){return this.dataKey?t.ObjectUtils.resolveFieldData(e,this.dataKey):i},isSelected(e,i){return-1!=t.ObjectUtils.findIndexInList(e,this.d_selection[i])},moveUp(e,i){if(this.d_selection&&this.d_selection[i]){let l=[...this.modelValue[i]],n=this.d_selection[i];for(let e=0;e<n.length;e++){let i=n[e],o=t.ObjectUtils.findIndexInList(i,l);if(0===o)break;{let e=l[o],t=l[o-1];l[o-1]=e,l[o]=t}}let o=[...this.modelValue];o[i]=l,this.reorderDirection="up",this.$emit("update:modelValue",o),this.$emit("reorder",{originalEvent:e,value:o,direction:this.reorderDirection,listIndex:i})}},moveTop(e,i){if(this.d_selection){let l=[...this.modelValue[i]],n=this.d_selection[i];for(let e=0;e<n.length;e++){let i=n[e],o=t.ObjectUtils.findIndexInList(i,l);if(0===o)break;{let e=l.splice(o,1)[0];l.unshift(e)}}let o=[...this.modelValue];o[i]=l,this.reorderDirection="top",this.$emit("update:modelValue",o),this.$emit("reorder",{originalEvent:e,value:o,direction:this.reorderDirection,listIndex:i})}},moveDown(e,i){if(this.d_selection){let l=[...this.modelValue[i]],n=this.d_selection[i];for(let e=n.length-1;e>=0;e--){let i=n[e],o=t.ObjectUtils.findIndexInList(i,l);if(o===l.length-1)break;{let e=l[o],t=l[o+1];l[o+1]=e,l[o]=t}}let o=[...this.modelValue];o[i]=l,this.reorderDirection="down",this.$emit("update:modelValue",o),this.$emit("reorder",{originalEvent:e,value:o,direction:this.reorderDirection,listIndex:i})}},moveBottom(e,i){if(this.d_selection){let l=[...this.modelValue[i]],n=this.d_selection[i];for(let e=n.length-1;e>=0;e--){let i=n[e],o=t.ObjectUtils.findIndexInList(i,l);if(o===l.length-1)break;{let e=l.splice(o,1)[0];l.push(e)}}let o=[...this.modelValue];o[i]=l,this.reorderDirection="bottom",this.$emit("update:modelValue",o),this.$emit("reorder",{originalEvent:e,value:o,direction:this.reorderDirection,listIndex:i})}},moveToTarget(e){let i=this.d_selection&&this.d_selection[0]?this.d_selection[0]:null,l=[...this.modelValue[0]],n=[...this.modelValue[1]];if(i){for(let e=0;e<i.length;e++){let o=i[e];-1==t.ObjectUtils.findIndexInList(o,n)&&n.push(l.splice(t.ObjectUtils.findIndexInList(o,l),1)[0])}let o=[...this.modelValue];o[0]=l,o[1]=n,this.$emit("update:modelValue",o),this.$emit("move-to-target",{originalEvent:e,items:i}),this.d_selection[0]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},moveAllToTarget(e){if(this.modelValue[0]){let t=[...this.modelValue[0]],i=[...this.modelValue[1]];this.$emit("move-all-to-target",{originalEvent:e,items:t}),i=[...i,...t],t=[];let l=[...this.modelValue];l[0]=t,l[1]=i,this.$emit("update:modelValue",l),this.d_selection[0]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},moveToSource(e){let i=this.d_selection&&this.d_selection[1]?this.d_selection[1]:null,l=[...this.modelValue[0]],n=[...this.modelValue[1]];if(i){for(let e=0;e<i.length;e++){let o=i[e];-1==t.ObjectUtils.findIndexInList(o,l)&&l.push(n.splice(t.ObjectUtils.findIndexInList(o,n),1)[0])}let o=[...this.modelValue];o[0]=l,o[1]=n,this.$emit("update:modelValue",o),this.$emit("move-to-source",{originalEvent:e,items:i}),this.d_selection[1]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},moveAllToSource(e){if(this.modelValue[1]){let t=[...this.modelValue[0]],i=[...this.modelValue[1]];this.$emit("move-all-to-source",{originalEvent:e,items:i}),t=[...t,...i],i=[];let l=[...this.modelValue];l[0]=t,l[1]=i,this.$emit("update:modelValue",l),this.d_selection[1]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},onItemClick(e,i,l){this.itemTouched=!1;const n=this.d_selection[l],o=t.ObjectUtils.findIndexInList(i,n),s=-1!=o;let r;if(!this.itemTouched&&this.metaKeySelection){let t=e.metaKey||e.ctrlKey;s&&t?r=n.filter(((e,t)=>t!==o)):(r=t&&n?[...n]:[],r.push(i))}else s?r=n.filter(((e,t)=>t!==o)):(r=n?[...n]:[],r.push(i));let c=[...this.d_selection];c[l]=r,this.d_selection=c,this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})},onItemDblClick(e,t,i){0===i?this.moveToTarget(e):1===i&&this.moveToSource(e)},onItemTouchEnd(){this.itemTouched=!0},onItemKeyDown(e,t,i){let l=e.currentTarget;switch(e.which){case 40:var n=this.findNextItem(l);n&&n.focus(),e.preventDefault();break;case 38:var o=this.findPrevItem(l);o&&o.focus(),e.preventDefault();break;case 13:this.onItemClick(e,t,i),e.preventDefault()}},findNextItem(e){let i=e.nextElementSibling;return i?t.DomHandler.hasClass(i,"p-picklist-item")?i:this.findNextItem(i):null},findPrevItem(e){let i=e.previousElementSibling;return i?t.DomHandler.hasClass(i,"p-picklist-item")?i:this.findPrevItem(i):null},updateListScroll(e){const i=t.DomHandler.find(e,".p-picklist-item.p-highlight");if(i&&i.length)switch(this.reorderDirection){case"up":t.DomHandler.scrollInView(e,i[0]);break;case"top":e.scrollTop=0;break;case"down":t.DomHandler.scrollInView(e,i[i.length-1]);break;case"bottom":e.scrollTop=e.scrollHeight}},createStyle(){if(!this.styleElement){this.$el.setAttribute(this.attributeSelector,""),this.styleElement=document.createElement("style"),this.styleElement.type="text/css",document.head.appendChild(this.styleElement);let e=`\n@media screen and (max-width: ${this.breakpoint}) {\n .p-picklist[${this.attributeSelector}] {\n flex-direction: column;\n }\n\n .p-picklist[${this.attributeSelector}] .p-picklist-buttons {\n padding: var(--content-padding);\n flex-direction: row;\n }\n\n .p-picklist[${this.attributeSelector}] .p-picklist-buttons .p-button {\n margin-right: var(--inline-spacing);\n margin-bottom: 0;\n }\n\n .p-picklist[${this.attributeSelector}] .p-picklist-buttons .p-button:last-child {\n margin-right: 0;\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-right:before {\n content: "\\e930"\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-double-right:before {\n content: "\\e92c"\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-left:before {\n content: "\\e933"\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-double-left:before {\n content: "\\e92f"\n }\n}\n`;this.styleElement.innerHTML=e}},destroyStyle(){this.styleElement&&(document.head.removeChild(this.styleElement),this.styleElement=null)}},computed:{containerClass(){return["p-picklist p-component",{"p-picklist-striped":this.stripedRows}]},sourceList(){return this.modelValue&&this.modelValue[0]?this.modelValue[0]:null},targetList(){return this.modelValue&&this.modelValue[1]?this.modelValue[1]:null},attributeSelector:()=>t.UniqueComponentId()},components:{PLButton:o.default},directives:{ripple:s.default}};const c={class:"p-picklist-buttons p-picklist-source-controls"},a={class:"p-picklist-list-wrapper p-picklist-source-wrapper"},d={key:0,class:"p-picklist-header"},p=["onClick","onDblclick","onKeydown","aria-selected"],m={class:"p-picklist-buttons p-picklist-transfer-buttons"},u={class:"p-picklist-list-wrapper p-picklist-target-wrapper"},h={key:0,class:"p-picklist-header"},k=["onClick","onDblclick","onKeydown","aria-selected"],f={class:"p-picklist-buttons p-picklist-target-controls"};return function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var l=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===i&&l.firstChild?l.insertBefore(n,l.firstChild):l.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-picklist {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.p-picklist-buttons {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.p-picklist-list-wrapper {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 50%;\n flex: 1 1 50%;\n}\n.p-picklist-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n overflow: auto;\n min-height: 12rem;\n max-height: 24rem;\n}\n.p-picklist-item {\n cursor: pointer;\n overflow: hidden;\n position: relative;\n}\n.p-picklist-item.p-picklist-flip-enter-active.p-picklist-flip-enter-to,\n.p-picklist-item.p-picklist-flip-leave-active.p-picklist-flip-leave-to {\n -webkit-transition: none !important;\n transition: none !important;\n}\n"),r.render=function(e,t,i,n,o,s){const r=l.resolveComponent("PLButton"),b=l.resolveDirective("ripple");return l.openBlock(),l.createElementBlock("div",{class:l.normalizeClass(s.containerClass)},[l.createElementVNode("div",c,[l.renderSlot(e.$slots,"sourcecontrolsstart"),l.createVNode(r,{type:"button",icon:"pi pi-angle-up",onClick:t[0]||(t[0]=e=>s.moveUp(e,0))}),l.createVNode(r,{type:"button",icon:"pi pi-angle-double-up",onClick:t[1]||(t[1]=e=>s.moveTop(e,0))}),l.createVNode(r,{type:"button",icon:"pi pi-angle-down",onClick:t[2]||(t[2]=e=>s.moveDown(e,0))}),l.createVNode(r,{type:"button",icon:"pi pi-angle-double-down",onClick:t[3]||(t[3]=e=>s.moveBottom(e,0))}),l.renderSlot(e.$slots,"sourcecontrolsend")]),l.createElementVNode("div",a,[e.$slots.sourceheader?(l.openBlock(),l.createElementBlock("div",d,[l.renderSlot(e.$slots,"sourceheader")])):l.createCommentVNode("",!0),l.createVNode(l.TransitionGroup,{ref:"sourceList",name:"p-picklist-flip",tag:"ul",class:"p-picklist-list p-picklist-source",style:l.normalizeStyle(i.listStyle),role:"listbox","aria-multiselectable":"multiple"},{default:l.withCtx((()=>[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(s.sourceList,((i,n)=>l.withDirectives((l.openBlock(),l.createElementBlock("li",{key:s.getItemKey(i,n),tabindex:"0",class:l.normalizeClass(["p-picklist-item",{"p-highlight":s.isSelected(i,0)}]),onClick:e=>s.onItemClick(e,i,0),onDblclick:e=>s.onItemDblClick(e,i,0),onKeydown:e=>s.onItemKeyDown(e,i,0),onTouchend:t[4]||(t[4]=(...e)=>s.onItemTouchEnd&&s.onItemTouchEnd(...e)),role:"option","aria-selected":s.isSelected(i,0)},[l.renderSlot(e.$slots,"item",{item:i,index:n})],42,p)),[[b]]))),128))])),_:3},8,["style"])]),l.createElementVNode("div",m,[l.renderSlot(e.$slots,"movecontrolsstart"),l.createVNode(r,{type:"button",icon:"pi pi-angle-right",onClick:s.moveToTarget},null,8,["onClick"]),l.createVNode(r,{type:"button",icon:"pi pi-angle-double-right",onClick:s.moveAllToTarget},null,8,["onClick"]),l.createVNode(r,{type:"button",icon:"pi pi-angle-left",onClick:s.moveToSource},null,8,["onClick"]),l.createVNode(r,{type:"button",icon:"pi pi-angle-double-left",onClick:s.moveAllToSource},null,8,["onClick"]),l.renderSlot(e.$slots,"movecontrolsend")]),l.createElementVNode("div",u,[e.$slots.targetheader?(l.openBlock(),l.createElementBlock("div",h,[l.renderSlot(e.$slots,"targetheader")])):l.createCommentVNode("",!0),l.createVNode(l.TransitionGroup,{ref:"targetList",name:"p-picklist-flip",tag:"ul",class:"p-picklist-list p-picklist-target",style:l.normalizeStyle(i.listStyle),role:"listbox","aria-multiselectable":"multiple"},{default:l.withCtx((()=>[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(s.targetList,((i,n)=>l.withDirectives((l.openBlock(),l.createElementBlock("li",{key:s.getItemKey(i,n),tabindex:"0",class:l.normalizeClass(["p-picklist-item",{"p-highlight":s.isSelected(i,1)}]),onClick:e=>s.onItemClick(e,i,1),onDblclick:e=>s.onItemDblClick(e,i,1),onKeydown:e=>s.onItemKeyDown(e,i,1),onTouchend:t[5]||(t[5]=(...e)=>s.onItemTouchEnd&&s.onItemTouchEnd(...e)),role:"option","aria-selected":s.isSelected(i,1)},[l.renderSlot(e.$slots,"item",{item:i,index:n})],42,k)),[[b]]))),128))])),_:3},8,["style"])]),l.createElementVNode("div",f,[l.renderSlot(e.$slots,"targetcontrolsstart"),l.createVNode(r,{type:"button",icon:"pi pi-angle-up",onClick:t[6]||(t[6]=e=>s.moveUp(e,1))}),l.createVNode(r,{type:"button",icon:"pi pi-angle-double-up",onClick:t[7]||(t[7]=e=>s.moveTop(e,1))}),l.createVNode(r,{type:"button",icon:"pi pi-angle-down",onClick:t[8]||(t[8]=e=>s.moveDown(e,1))}),l.createVNode(r,{type:"button",icon:"pi pi-angle-double-down",onClick:t[9]||(t[9]=e=>s.moveBottom(e,1))}),l.renderSlot(e.$slots,"targetcontrolsend")])],2)},r}(primevue.button,primevue.utils,primevue.ripple,Vue);
|
|
1
|
+
this.primevue=this.primevue||{},this.primevue.picklist=function(e,t,i,l){"use strict";function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=o(e),s=o(i),r={name:"PickList",emits:["update:modelValue","reorder","update:selection","selection-change","move-to-target","move-to-source","move-all-to-target","move-all-to-source"],props:{modelValue:{type:Array,default:()=>[[],[]]},selection:{type:Array,default:()=>[[],[]]},dataKey:{type:String,default:null},listStyle:{type:null,default:null},metaKeySelection:{type:Boolean,default:!0},responsive:{type:Boolean,default:!0},breakpoint:{type:String,default:"960px"},stripedRows:{type:Boolean,default:!1},showSourceControls:{type:Boolean,default:!0},showTargetControls:{type:Boolean,default:!0}},itemTouched:!1,reorderDirection:null,styleElement:null,data(){return{d_selection:this.selection}},updated(){this.reorderDirection&&(this.updateListScroll(this.$refs.sourceList.$el),this.updateListScroll(this.$refs.targetList.$el),this.reorderDirection=null)},beforeUnmount(){this.destroyStyle()},mounted(){this.responsive&&this.createStyle()},watch:{selection(e){this.d_selection=e}},methods:{getItemKey(e,i){return this.dataKey?t.ObjectUtils.resolveFieldData(e,this.dataKey):i},isSelected(e,i){return-1!=t.ObjectUtils.findIndexInList(e,this.d_selection[i])},moveUp(e,i){if(this.d_selection&&this.d_selection[i]){let l=[...this.modelValue[i]],o=this.d_selection[i];for(let e=0;e<o.length;e++){let i=o[e],n=t.ObjectUtils.findIndexInList(i,l);if(0===n)break;{let e=l[n],t=l[n-1];l[n-1]=e,l[n]=t}}let n=[...this.modelValue];n[i]=l,this.reorderDirection="up",this.$emit("update:modelValue",n),this.$emit("reorder",{originalEvent:e,value:n,direction:this.reorderDirection,listIndex:i})}},moveTop(e,i){if(this.d_selection){let l=[...this.modelValue[i]],o=this.d_selection[i];for(let e=0;e<o.length;e++){let i=o[e],n=t.ObjectUtils.findIndexInList(i,l);if(0===n)break;{let e=l.splice(n,1)[0];l.unshift(e)}}let n=[...this.modelValue];n[i]=l,this.reorderDirection="top",this.$emit("update:modelValue",n),this.$emit("reorder",{originalEvent:e,value:n,direction:this.reorderDirection,listIndex:i})}},moveDown(e,i){if(this.d_selection){let l=[...this.modelValue[i]],o=this.d_selection[i];for(let e=o.length-1;e>=0;e--){let i=o[e],n=t.ObjectUtils.findIndexInList(i,l);if(n===l.length-1)break;{let e=l[n],t=l[n+1];l[n+1]=e,l[n]=t}}let n=[...this.modelValue];n[i]=l,this.reorderDirection="down",this.$emit("update:modelValue",n),this.$emit("reorder",{originalEvent:e,value:n,direction:this.reorderDirection,listIndex:i})}},moveBottom(e,i){if(this.d_selection){let l=[...this.modelValue[i]],o=this.d_selection[i];for(let e=o.length-1;e>=0;e--){let i=o[e],n=t.ObjectUtils.findIndexInList(i,l);if(n===l.length-1)break;{let e=l.splice(n,1)[0];l.push(e)}}let n=[...this.modelValue];n[i]=l,this.reorderDirection="bottom",this.$emit("update:modelValue",n),this.$emit("reorder",{originalEvent:e,value:n,direction:this.reorderDirection,listIndex:i})}},moveToTarget(e){let i=this.d_selection&&this.d_selection[0]?this.d_selection[0]:null,l=[...this.modelValue[0]],o=[...this.modelValue[1]];if(i){for(let e=0;e<i.length;e++){let n=i[e];-1==t.ObjectUtils.findIndexInList(n,o)&&o.push(l.splice(t.ObjectUtils.findIndexInList(n,l),1)[0])}let n=[...this.modelValue];n[0]=l,n[1]=o,this.$emit("update:modelValue",n),this.$emit("move-to-target",{originalEvent:e,items:i}),this.d_selection[0]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},moveAllToTarget(e){if(this.modelValue[0]){let t=[...this.modelValue[0]],i=[...this.modelValue[1]];this.$emit("move-all-to-target",{originalEvent:e,items:t}),i=[...i,...t],t=[];let l=[...this.modelValue];l[0]=t,l[1]=i,this.$emit("update:modelValue",l),this.d_selection[0]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},moveToSource(e){let i=this.d_selection&&this.d_selection[1]?this.d_selection[1]:null,l=[...this.modelValue[0]],o=[...this.modelValue[1]];if(i){for(let e=0;e<i.length;e++){let n=i[e];-1==t.ObjectUtils.findIndexInList(n,l)&&l.push(o.splice(t.ObjectUtils.findIndexInList(n,o),1)[0])}let n=[...this.modelValue];n[0]=l,n[1]=o,this.$emit("update:modelValue",n),this.$emit("move-to-source",{originalEvent:e,items:i}),this.d_selection[1]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},moveAllToSource(e){if(this.modelValue[1]){let t=[...this.modelValue[0]],i=[...this.modelValue[1]];this.$emit("move-all-to-source",{originalEvent:e,items:i}),t=[...t,...i],i=[];let l=[...this.modelValue];l[0]=t,l[1]=i,this.$emit("update:modelValue",l),this.d_selection[1]=[],this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})}},onItemClick(e,i,l){this.itemTouched=!1;const o=this.d_selection[l],n=t.ObjectUtils.findIndexInList(i,o),s=-1!=n;let r;if(!this.itemTouched&&this.metaKeySelection){let t=e.metaKey||e.ctrlKey;s&&t?r=o.filter(((e,t)=>t!==n)):(r=t&&o?[...o]:[],r.push(i))}else s?r=o.filter(((e,t)=>t!==n)):(r=o?[...o]:[],r.push(i));let c=[...this.d_selection];c[l]=r,this.d_selection=c,this.$emit("update:selection",this.d_selection),this.$emit("selection-change",{originalEvent:e,value:this.d_selection})},onItemDblClick(e,t,i){0===i?this.moveToTarget(e):1===i&&this.moveToSource(e)},onItemTouchEnd(){this.itemTouched=!0},onItemKeyDown(e,t,i){let l=e.currentTarget;switch(e.which){case 40:var o=this.findNextItem(l);o&&o.focus(),e.preventDefault();break;case 38:var n=this.findPrevItem(l);n&&n.focus(),e.preventDefault();break;case 13:this.onItemClick(e,t,i),e.preventDefault()}},findNextItem(e){let i=e.nextElementSibling;return i?t.DomHandler.hasClass(i,"p-picklist-item")?i:this.findNextItem(i):null},findPrevItem(e){let i=e.previousElementSibling;return i?t.DomHandler.hasClass(i,"p-picklist-item")?i:this.findPrevItem(i):null},updateListScroll(e){const i=t.DomHandler.find(e,".p-picklist-item.p-highlight");if(i&&i.length)switch(this.reorderDirection){case"up":t.DomHandler.scrollInView(e,i[0]);break;case"top":e.scrollTop=0;break;case"down":t.DomHandler.scrollInView(e,i[i.length-1]);break;case"bottom":e.scrollTop=e.scrollHeight}},createStyle(){if(!this.styleElement){this.$el.setAttribute(this.attributeSelector,""),this.styleElement=document.createElement("style"),this.styleElement.type="text/css",document.head.appendChild(this.styleElement);let e=`\n@media screen and (max-width: ${this.breakpoint}) {\n .p-picklist[${this.attributeSelector}] {\n flex-direction: column;\n }\n\n .p-picklist[${this.attributeSelector}] .p-picklist-buttons {\n padding: var(--content-padding);\n flex-direction: row;\n }\n\n .p-picklist[${this.attributeSelector}] .p-picklist-buttons .p-button {\n margin-right: var(--inline-spacing);\n margin-bottom: 0;\n }\n\n .p-picklist[${this.attributeSelector}] .p-picklist-buttons .p-button:last-child {\n margin-right: 0;\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-right:before {\n content: "\\e930"\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-double-right:before {\n content: "\\e92c"\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-left:before {\n content: "\\e933"\n }\n\n .p-picklist[${this.attributeSelector}] .pi-angle-double-left:before {\n content: "\\e92f"\n }\n}\n`;this.styleElement.innerHTML=e}},destroyStyle(){this.styleElement&&(document.head.removeChild(this.styleElement),this.styleElement=null)}},computed:{containerClass(){return["p-picklist p-component",{"p-picklist-striped":this.stripedRows}]},sourceList(){return this.modelValue&&this.modelValue[0]?this.modelValue[0]:null},targetList(){return this.modelValue&&this.modelValue[1]?this.modelValue[1]:null},attributeSelector:()=>t.UniqueComponentId()},components:{PLButton:n.default},directives:{ripple:s.default}};const c={key:0,class:"p-picklist-buttons p-picklist-source-controls"},a={class:"p-picklist-list-wrapper p-picklist-source-wrapper"},d={key:0,class:"p-picklist-header"},p=["onClick","onDblclick","onKeydown","aria-selected"],m={class:"p-picklist-buttons p-picklist-transfer-buttons"},u={class:"p-picklist-list-wrapper p-picklist-target-wrapper"},h={key:0,class:"p-picklist-header"},k=["onClick","onDblclick","onKeydown","aria-selected"],f={key:1,class:"p-picklist-buttons p-picklist-target-controls"};return function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var l=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===i&&l.firstChild?l.insertBefore(o,l.firstChild):l.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}("\n.p-picklist {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.p-picklist-buttons {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.p-picklist-list-wrapper {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 50%;\n flex: 1 1 50%;\n}\n.p-picklist-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n overflow: auto;\n min-height: 12rem;\n max-height: 24rem;\n}\n.p-picklist-item {\n cursor: pointer;\n overflow: hidden;\n position: relative;\n}\n.p-picklist-item.p-picklist-flip-enter-active.p-picklist-flip-enter-to,\n.p-picklist-item.p-picklist-flip-leave-active.p-picklist-flip-leave-to {\n -webkit-transition: none !important;\n transition: none !important;\n}\n"),r.render=function(e,t,i,o,n,s){const r=l.resolveComponent("PLButton"),g=l.resolveDirective("ripple");return l.openBlock(),l.createElementBlock("div",{class:l.normalizeClass(s.containerClass)},[i.showSourceControls?(l.openBlock(),l.createElementBlock("div",c,[l.renderSlot(e.$slots,"sourcecontrolsstart"),l.createVNode(r,{type:"button",icon:"pi pi-angle-up",onClick:t[0]||(t[0]=e=>s.moveUp(e,0))}),l.createVNode(r,{type:"button",icon:"pi pi-angle-double-up",onClick:t[1]||(t[1]=e=>s.moveTop(e,0))}),l.createVNode(r,{type:"button",icon:"pi pi-angle-down",onClick:t[2]||(t[2]=e=>s.moveDown(e,0))}),l.createVNode(r,{type:"button",icon:"pi pi-angle-double-down",onClick:t[3]||(t[3]=e=>s.moveBottom(e,0))}),l.renderSlot(e.$slots,"sourcecontrolsend")])):l.createCommentVNode("",!0),l.createElementVNode("div",a,[e.$slots.sourceheader?(l.openBlock(),l.createElementBlock("div",d,[l.renderSlot(e.$slots,"sourceheader")])):l.createCommentVNode("",!0),l.createVNode(l.TransitionGroup,{ref:"sourceList",name:"p-picklist-flip",tag:"ul",class:"p-picklist-list p-picklist-source",style:l.normalizeStyle(i.listStyle),role:"listbox","aria-multiselectable":"multiple"},{default:l.withCtx((()=>[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(s.sourceList,((i,o)=>l.withDirectives((l.openBlock(),l.createElementBlock("li",{key:s.getItemKey(i,o),tabindex:"0",class:l.normalizeClass(["p-picklist-item",{"p-highlight":s.isSelected(i,0)}]),onClick:e=>s.onItemClick(e,i,0),onDblclick:e=>s.onItemDblClick(e,i,0),onKeydown:e=>s.onItemKeyDown(e,i,0),onTouchend:t[4]||(t[4]=(...e)=>s.onItemTouchEnd&&s.onItemTouchEnd(...e)),role:"option","aria-selected":s.isSelected(i,0)},[l.renderSlot(e.$slots,"item",{item:i,index:o})],42,p)),[[g]]))),128))])),_:3},8,["style"])]),l.createElementVNode("div",m,[l.renderSlot(e.$slots,"movecontrolsstart"),l.createVNode(r,{type:"button",icon:"pi pi-angle-right",onClick:s.moveToTarget},null,8,["onClick"]),l.createVNode(r,{type:"button",icon:"pi pi-angle-double-right",onClick:s.moveAllToTarget},null,8,["onClick"]),l.createVNode(r,{type:"button",icon:"pi pi-angle-left",onClick:s.moveToSource},null,8,["onClick"]),l.createVNode(r,{type:"button",icon:"pi pi-angle-double-left",onClick:s.moveAllToSource},null,8,["onClick"]),l.renderSlot(e.$slots,"movecontrolsend")]),l.createElementVNode("div",u,[e.$slots.targetheader?(l.openBlock(),l.createElementBlock("div",h,[l.renderSlot(e.$slots,"targetheader")])):l.createCommentVNode("",!0),l.createVNode(l.TransitionGroup,{ref:"targetList",name:"p-picklist-flip",tag:"ul",class:"p-picklist-list p-picklist-target",style:l.normalizeStyle(i.listStyle),role:"listbox","aria-multiselectable":"multiple"},{default:l.withCtx((()=>[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(s.targetList,((i,o)=>l.withDirectives((l.openBlock(),l.createElementBlock("li",{key:s.getItemKey(i,o),tabindex:"0",class:l.normalizeClass(["p-picklist-item",{"p-highlight":s.isSelected(i,1)}]),onClick:e=>s.onItemClick(e,i,1),onDblclick:e=>s.onItemDblClick(e,i,1),onKeydown:e=>s.onItemKeyDown(e,i,1),onTouchend:t[5]||(t[5]=(...e)=>s.onItemTouchEnd&&s.onItemTouchEnd(...e)),role:"option","aria-selected":s.isSelected(i,1)},[l.renderSlot(e.$slots,"item",{item:i,index:o})],42,k)),[[g]]))),128))])),_:3},8,["style"])]),i.showTargetControls?(l.openBlock(),l.createElementBlock("div",f,[l.renderSlot(e.$slots,"targetcontrolsstart"),l.createVNode(r,{type:"button",icon:"pi pi-angle-up",onClick:t[6]||(t[6]=e=>s.moveUp(e,1))}),l.createVNode(r,{type:"button",icon:"pi pi-angle-double-up",onClick:t[7]||(t[7]=e=>s.moveTop(e,1))}),l.createVNode(r,{type:"button",icon:"pi pi-angle-down",onClick:t[8]||(t[8]=e=>s.moveDown(e,1))}),l.createVNode(r,{type:"button",icon:"pi pi-angle-double-down",onClick:t[9]||(t[9]=e=>s.moveBottom(e,1))}),l.renderSlot(e.$slots,"targetcontrolsend")])):l.createCommentVNode("",!0)],2)},r}(primevue.button,primevue.utils,primevue.ripple,Vue);
|
package/portal/Portal.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VNode } from 'vue';
|
|
2
2
|
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
|
|
3
3
|
|
|
4
|
-
type PortalAppendToType = 'body' | 'self' | string | undefined;
|
|
4
|
+
type PortalAppendToType = 'body' | 'self' | string | undefined | HTMLElement;
|
|
5
5
|
|
|
6
6
|
export interface PortalProps {
|
|
7
7
|
/**
|
|
@@ -10,13 +10,37 @@ export interface RadioButtonProps {
|
|
|
10
10
|
*/
|
|
11
11
|
modelValue?: any;
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
13
|
+
* Name of the input element.
|
|
14
14
|
*/
|
|
15
|
-
|
|
15
|
+
name?: string | undefined;
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
17
|
+
* When present, it specifies that the component should be disabled.
|
|
18
18
|
*/
|
|
19
|
-
|
|
19
|
+
disabled?: boolean | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* Identifier of the underlying input element.
|
|
22
|
+
*/
|
|
23
|
+
inputId?: string | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* Inline style of the input field.
|
|
26
|
+
*/
|
|
27
|
+
inputStyle?: any;
|
|
28
|
+
/**
|
|
29
|
+
* Style class of the input field.
|
|
30
|
+
*/
|
|
31
|
+
inputClass?: any;
|
|
32
|
+
/**
|
|
33
|
+
* Uses to pass all properties of the HTMLInputElement to the focusable input element inside the component.
|
|
34
|
+
*/
|
|
35
|
+
inputProps?: HTMLInputElement | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* Establishes relationships between the component and label(s) where its value should be one or more element IDs.
|
|
38
|
+
*/
|
|
39
|
+
'aria-labelledby'?: string | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* Establishes a string value that labels the component.
|
|
42
|
+
*/
|
|
43
|
+
'aria-label'?: string | undefined;
|
|
20
44
|
}
|
|
21
45
|
|
|
22
46
|
export interface RadioButtonSlots {
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div :class="containerClass" @click="onClick($event)"
|
|
2
|
+
<div :class="containerClass" @click="onClick($event)">
|
|
3
3
|
<div class="p-hidden-accessible">
|
|
4
|
-
<input ref="input" type="radio" :checked="checked" :
|
|
4
|
+
<input ref="input" type="radio" :id="inputId" :class="inputClass" :style="inputStyle" :name="name" :checked="checked" :disabled="disabled" :value="value" :aria-labelledby="ariaLabelledby" :aria-label="ariaLabel"
|
|
5
|
+
@focus="onFocus" @blur="onBlur" v-bind="inputProps">
|
|
5
6
|
</div>
|
|
6
|
-
<div ref="box" :class="['p-radiobutton-box', {'p-highlight': checked, 'p-disabled':
|
|
7
|
+
<div ref="box" :class="['p-radiobutton-box', {'p-highlight': checked, 'p-disabled': disabled, 'p-focus': focused}]">
|
|
7
8
|
<div class="p-radiobutton-icon"></div>
|
|
8
9
|
</div>
|
|
9
10
|
</div>
|
|
@@ -14,13 +15,30 @@ import {ObjectUtils} from 'primevue/utils';
|
|
|
14
15
|
|
|
15
16
|
export default {
|
|
16
17
|
name: 'RadioButton',
|
|
17
|
-
|
|
18
|
-
emits: ['click', 'update:modelValue', 'change'],
|
|
18
|
+
emits: ['click', 'update:modelValue', 'change', 'focus', 'blur'],
|
|
19
19
|
props: {
|
|
20
20
|
value: null,
|
|
21
21
|
modelValue: null,
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
name: {
|
|
23
|
+
type: String,
|
|
24
|
+
default: null
|
|
25
|
+
},
|
|
26
|
+
disabled: {
|
|
27
|
+
type: Boolean,
|
|
28
|
+
default: false
|
|
29
|
+
},
|
|
30
|
+
inputId: null,
|
|
31
|
+
inputClass: null,
|
|
32
|
+
inputStyle: null,
|
|
33
|
+
inputProps: null,
|
|
34
|
+
'aria-labelledby': {
|
|
35
|
+
type: String,
|
|
36
|
+
default: null
|
|
37
|
+
},
|
|
38
|
+
'aria-label': {
|
|
39
|
+
type: String,
|
|
40
|
+
default: null
|
|
41
|
+
}
|
|
24
42
|
},
|
|
25
43
|
data() {
|
|
26
44
|
return {
|
|
@@ -29,7 +47,7 @@ export default {
|
|
|
29
47
|
},
|
|
30
48
|
methods: {
|
|
31
49
|
onClick(event) {
|
|
32
|
-
if (!this
|
|
50
|
+
if (!this.disabled) {
|
|
33
51
|
this.$emit('click', event);
|
|
34
52
|
this.$emit('update:modelValue', this.value);
|
|
35
53
|
this.$refs.input.focus();
|
|
@@ -39,11 +57,13 @@ export default {
|
|
|
39
57
|
}
|
|
40
58
|
}
|
|
41
59
|
},
|
|
42
|
-
onFocus() {
|
|
60
|
+
onFocus(event) {
|
|
43
61
|
this.focused = true;
|
|
62
|
+
this.$emit('focus', event);
|
|
44
63
|
},
|
|
45
|
-
onBlur() {
|
|
64
|
+
onBlur(event) {
|
|
46
65
|
this.focused = false;
|
|
66
|
+
this.$emit('blur', event);
|
|
47
67
|
}
|
|
48
68
|
},
|
|
49
69
|
computed: {
|
|
@@ -51,7 +71,12 @@ export default {
|
|
|
51
71
|
return this.modelValue != null && ObjectUtils.equals(this.modelValue, this.value);
|
|
52
72
|
},
|
|
53
73
|
containerClass() {
|
|
54
|
-
return [
|
|
74
|
+
return [
|
|
75
|
+
'p-radiobutton p-component', {
|
|
76
|
+
'p-radiobutton-checked': this.checked,
|
|
77
|
+
'p-radiobutton-disabled': this.disabled,
|
|
78
|
+
'p-radiobutton-focused': this.focused
|
|
79
|
+
}];
|
|
55
80
|
}
|
|
56
81
|
}
|
|
57
82
|
}
|