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/slider/slider.js
CHANGED
|
@@ -31,9 +31,17 @@ this.primevue.slider = (function (utils, vue) {
|
|
|
31
31
|
type: Boolean,
|
|
32
32
|
default: false
|
|
33
33
|
},
|
|
34
|
-
|
|
34
|
+
tabindex: {
|
|
35
|
+
type: Number,
|
|
36
|
+
default: 0
|
|
37
|
+
},
|
|
38
|
+
'aria-labelledby': {
|
|
35
39
|
type: String,
|
|
36
40
|
default: null
|
|
41
|
+
},
|
|
42
|
+
'aria-label': {
|
|
43
|
+
type: String,
|
|
44
|
+
default: null
|
|
37
45
|
}
|
|
38
46
|
},
|
|
39
47
|
dragging: false,
|
|
@@ -164,38 +172,41 @@ this.primevue.slider = (function (utils, vue) {
|
|
|
164
172
|
},
|
|
165
173
|
onKeyDown(event, index) {
|
|
166
174
|
this.handleIndex = index;
|
|
167
|
-
switch (event.
|
|
168
|
-
|
|
169
|
-
case
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
175
|
+
switch (event.code) {
|
|
176
|
+
case 'ArrowDown':
|
|
177
|
+
case 'ArrowLeft':
|
|
178
|
+
this.decrementValue(event, index);
|
|
179
|
+
event.preventDefault();
|
|
180
|
+
break;
|
|
181
|
+
|
|
182
|
+
case 'ArrowUp':
|
|
183
|
+
case 'ArrowRight':
|
|
184
|
+
this.incrementValue(event, index);
|
|
185
|
+
event.preventDefault();
|
|
174
186
|
break;
|
|
175
|
-
|
|
176
|
-
case
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
event.preventDefault();
|
|
180
|
-
}
|
|
187
|
+
|
|
188
|
+
case 'PageDown':
|
|
189
|
+
this.decrementValue(event, index, true);
|
|
190
|
+
event.preventDefault();
|
|
181
191
|
break;
|
|
182
|
-
|
|
183
|
-
case
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
event.preventDefault();
|
|
187
|
-
}
|
|
192
|
+
|
|
193
|
+
case 'PageUp':
|
|
194
|
+
this.incrementValue(event, index, true);
|
|
195
|
+
event.preventDefault();
|
|
188
196
|
break;
|
|
189
|
-
|
|
190
|
-
case
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
197
|
+
|
|
198
|
+
case 'Home':
|
|
199
|
+
this.updateModel(event, this.min);
|
|
200
|
+
event.preventDefault();
|
|
201
|
+
break;
|
|
202
|
+
|
|
203
|
+
case 'End':
|
|
204
|
+
this.updateModel(event, this.max);
|
|
205
|
+
event.preventDefault();
|
|
195
206
|
break;
|
|
196
207
|
}
|
|
197
208
|
},
|
|
198
|
-
decrementValue(event, index) {
|
|
209
|
+
decrementValue(event, index, pageKey = false) {
|
|
199
210
|
let newValue;
|
|
200
211
|
if (this.range) {
|
|
201
212
|
if (this.step)
|
|
@@ -206,13 +217,15 @@ this.primevue.slider = (function (utils, vue) {
|
|
|
206
217
|
else {
|
|
207
218
|
if (this.step)
|
|
208
219
|
newValue = this.modelValue - this.step;
|
|
220
|
+
else if (!this.step && pageKey)
|
|
221
|
+
newValue = this.modelValue - 10;
|
|
209
222
|
else
|
|
210
223
|
newValue = this.modelValue - 1;
|
|
211
224
|
}
|
|
212
225
|
this.updateModel(event, newValue);
|
|
213
226
|
event.preventDefault();
|
|
214
227
|
},
|
|
215
|
-
incrementValue(event, index) {
|
|
228
|
+
incrementValue(event, index, pageKey = false) {
|
|
216
229
|
let newValue;
|
|
217
230
|
if (this.range) {
|
|
218
231
|
if (this.step)
|
|
@@ -223,6 +236,8 @@ this.primevue.slider = (function (utils, vue) {
|
|
|
223
236
|
else {
|
|
224
237
|
if (this.step)
|
|
225
238
|
newValue = this.modelValue + this.step;
|
|
239
|
+
else if (!this.step && pageKey)
|
|
240
|
+
newValue = this.modelValue + 10;
|
|
226
241
|
else
|
|
227
242
|
newValue = this.modelValue + 1;
|
|
228
243
|
}
|
|
@@ -319,9 +334,9 @@ this.primevue.slider = (function (utils, vue) {
|
|
|
319
334
|
}
|
|
320
335
|
};
|
|
321
336
|
|
|
322
|
-
const _hoisted_1 = ["aria-valuemin", "aria-valuenow", "aria-valuemax", "aria-labelledby"];
|
|
323
|
-
const _hoisted_2 = ["aria-valuemin", "aria-valuenow", "aria-valuemax", "aria-labelledby"];
|
|
324
|
-
const _hoisted_3 = ["aria-valuemin", "aria-valuenow", "aria-valuemax", "aria-labelledby"];
|
|
337
|
+
const _hoisted_1 = ["tabindex", "aria-valuemin", "aria-valuenow", "aria-valuemax", "aria-labelledby", "aria-label", "aria-orientation"];
|
|
338
|
+
const _hoisted_2 = ["tabindex", "aria-valuemin", "aria-valuenow", "aria-valuemax", "aria-labelledby", "aria-label", "aria-orientation"];
|
|
339
|
+
const _hoisted_3 = ["tabindex", "aria-valuemin", "aria-valuenow", "aria-valuemax", "aria-labelledby", "aria-label", "aria-orientation"];
|
|
325
340
|
|
|
326
341
|
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
327
342
|
return (vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -342,12 +357,14 @@ this.primevue.slider = (function (utils, vue) {
|
|
|
342
357
|
onTouchend: _cache[2] || (_cache[2] = $event => ($options.onDragEnd($event))),
|
|
343
358
|
onMousedown: _cache[3] || (_cache[3] = $event => ($options.onMouseDown($event))),
|
|
344
359
|
onKeydown: _cache[4] || (_cache[4] = $event => ($options.onKeyDown($event))),
|
|
345
|
-
tabindex:
|
|
360
|
+
tabindex: $props.tabindex,
|
|
346
361
|
role: "slider",
|
|
347
362
|
"aria-valuemin": $props.min,
|
|
348
363
|
"aria-valuenow": $props.modelValue,
|
|
349
364
|
"aria-valuemax": $props.max,
|
|
350
|
-
"aria-labelledby":
|
|
365
|
+
"aria-labelledby": _ctx.ariaLabelledby,
|
|
366
|
+
"aria-label": _ctx.ariaLabel,
|
|
367
|
+
"aria-orientation": $props.orientation
|
|
351
368
|
}, null, 44, _hoisted_1))
|
|
352
369
|
: vue.createCommentVNode("", true),
|
|
353
370
|
($props.range)
|
|
@@ -359,13 +376,15 @@ this.primevue.slider = (function (utils, vue) {
|
|
|
359
376
|
onTouchmove: _cache[6] || (_cache[6] = $event => ($options.onDrag($event))),
|
|
360
377
|
onTouchend: _cache[7] || (_cache[7] = $event => ($options.onDragEnd($event))),
|
|
361
378
|
onMousedown: _cache[8] || (_cache[8] = $event => ($options.onMouseDown($event, 0))),
|
|
362
|
-
onKeydown: _cache[9] || (_cache[9] = $event => ($options.onKeyDown($event))),
|
|
363
|
-
tabindex:
|
|
379
|
+
onKeydown: _cache[9] || (_cache[9] = $event => ($options.onKeyDown($event, 0))),
|
|
380
|
+
tabindex: $props.tabindex,
|
|
364
381
|
role: "slider",
|
|
365
382
|
"aria-valuemin": $props.min,
|
|
366
383
|
"aria-valuenow": $props.modelValue ? $props.modelValue[0] : null,
|
|
367
384
|
"aria-valuemax": $props.max,
|
|
368
|
-
"aria-labelledby":
|
|
385
|
+
"aria-labelledby": _ctx.ariaLabelledby,
|
|
386
|
+
"aria-label": _ctx.ariaLabel,
|
|
387
|
+
"aria-orientation": $props.orientation
|
|
369
388
|
}, null, 44, _hoisted_2))
|
|
370
389
|
: vue.createCommentVNode("", true),
|
|
371
390
|
($props.range)
|
|
@@ -378,12 +397,14 @@ this.primevue.slider = (function (utils, vue) {
|
|
|
378
397
|
onTouchend: _cache[12] || (_cache[12] = $event => ($options.onDragEnd($event))),
|
|
379
398
|
onMousedown: _cache[13] || (_cache[13] = $event => ($options.onMouseDown($event, 1))),
|
|
380
399
|
onKeydown: _cache[14] || (_cache[14] = $event => ($options.onKeyDown($event, 1))),
|
|
381
|
-
tabindex:
|
|
400
|
+
tabindex: $props.tabindex,
|
|
382
401
|
role: "slider",
|
|
383
402
|
"aria-valuemin": $props.min,
|
|
384
403
|
"aria-valuenow": $props.modelValue ? $props.modelValue[1] : null,
|
|
385
404
|
"aria-valuemax": $props.max,
|
|
386
|
-
"aria-labelledby":
|
|
405
|
+
"aria-labelledby": _ctx.ariaLabelledby,
|
|
406
|
+
"aria-label": _ctx.ariaLabel,
|
|
407
|
+
"aria-orientation": $props.orientation
|
|
387
408
|
}, null, 44, _hoisted_3))
|
|
388
409
|
: vue.createCommentVNode("", true)
|
|
389
410
|
], 2))
|
package/slider/slider.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
this.primevue=this.primevue||{},this.primevue.slider=function(e,t){"use strict";var i={name:"Slider",emits:["update:modelValue","change","slideend"],props:{modelValue:[Number,Array],min:{type:Number,default:0},max:{type:Number,default:100},orientation:{type:String,default:"horizontal"},step:{type:Number,default:null},range:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},
|
|
1
|
+
this.primevue=this.primevue||{},this.primevue.slider=function(e,t){"use strict";var i={name:"Slider",emits:["update:modelValue","change","slideend"],props:{modelValue:[Number,Array],min:{type:Number,default:0},max:{type:Number,default:100},orientation:{type:String,default:"horizontal"},step:{type:Number,default:null},range:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},tabindex:{type:Number,default:0},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},dragging:!1,handleIndex:null,initX:null,initY:null,barWidth:null,barHeight:null,dragListener:null,dragEndListener:null,beforeUnmount(){this.unbindDragListeners()},methods:{updateDomData(){let t=this.$el.getBoundingClientRect();this.initX=t.left+e.DomHandler.getWindowScrollLeft(),this.initY=t.top+e.DomHandler.getWindowScrollTop(),this.barWidth=this.$el.offsetWidth,this.barHeight=this.$el.offsetHeight},setValue(e){let t,i=e.touches?e.touches[0].pageX:e.pageX,a=e.touches?e.touches[0].pageY:e.pageY;t="horizontal"===this.orientation?100*(i-this.initX)/this.barWidth:100*(this.initY+this.barHeight-a)/this.barHeight;let n=(this.max-this.min)*(t/100)+this.min;if(this.step){const e=this.range?this.modelValue[this.handleIndex]:this.modelValue,t=n-e;t<0?n=e+Math.ceil(n/this.step-e/this.step)*this.step:t>0&&(n=e+Math.floor(n/this.step-e/this.step)*this.step)}else n=Math.floor(n);this.updateModel(e,n)},updateModel(e,t){let i,a=parseFloat(t.toFixed(10));if(this.range)if(i=this.modelValue?[...this.modelValue]:[],0==this.handleIndex){let e=this.modelValue?this.modelValue[1]:this.max;a<this.min?a=this.min:a>=e&&(a=e),i[0]=a,i[1]=i[1]||this.max}else{let e=this.modelValue?this.modelValue[0]:this.min;a>this.max?a=this.max:a<=e&&(a=e),i[0]=i[0]||this.min,i[1]=a}else a<this.min?a=this.min:a>this.max&&(a=this.max),i=a;this.$emit("update:modelValue",i),this.$emit("change",i)},onDragStart(t,i){this.disabled||(e.DomHandler.addClass(this.$el,"p-slider-sliding"),this.dragging=!0,this.updateDomData(),this.range&&this.modelValue[0]===this.max?this.handleIndex=0:this.handleIndex=i,t.preventDefault())},onDrag(e){this.dragging&&(this.setValue(e),e.preventDefault())},onDragEnd(t){this.dragging&&(this.dragging=!1,e.DomHandler.removeClass(this.$el,"p-slider-sliding"),this.$emit("slideend",{originalEvent:t,value:this.modelValue}))},onBarClick(t){this.disabled||e.DomHandler.hasClass(t.target,"p-slider-handle")||(this.updateDomData(),this.setValue(t))},onMouseDown(e,t){this.bindDragListeners(),this.onDragStart(e,t)},onKeyDown(e,t){switch(this.handleIndex=t,e.code){case"ArrowDown":case"ArrowLeft":this.decrementValue(e,t),e.preventDefault();break;case"ArrowUp":case"ArrowRight":this.incrementValue(e,t),e.preventDefault();break;case"PageDown":this.decrementValue(e,t,!0),e.preventDefault();break;case"PageUp":this.incrementValue(e,t,!0),e.preventDefault();break;case"Home":this.updateModel(e,this.min),e.preventDefault();break;case"End":this.updateModel(e,this.max),e.preventDefault()}},decrementValue(e,t,i=!1){let a;a=this.range?this.step?this.modelValue[t]-this.step:this.modelValue[t]-1:this.step?this.modelValue-this.step:!this.step&&i?this.modelValue-10:this.modelValue-1,this.updateModel(e,a),e.preventDefault()},incrementValue(e,t,i=!1){let a;a=this.range?this.step?this.modelValue[t]+this.step:this.modelValue[t]+1:this.step?this.modelValue+this.step:!this.step&&i?this.modelValue+10:this.modelValue+1,this.updateModel(e,a),e.preventDefault()},bindDragListeners(){this.dragListener||(this.dragListener=this.onDrag.bind(this),document.addEventListener("mousemove",this.dragListener)),this.dragEndListener||(this.dragEndListener=this.onDragEnd.bind(this),document.addEventListener("mouseup",this.dragEndListener))},unbindDragListeners(){this.dragListener&&(document.removeEventListener("mousemove",this.dragListener),this.dragListener=null),this.dragEndListener&&(document.removeEventListener("mouseup",this.dragEndListener),this.dragEndListener=null)}},computed:{containerClass(){return["p-slider p-component",{"p-disabled":this.disabled,"p-slider-horizontal":"horizontal"===this.orientation,"p-slider-vertical":"vertical"===this.orientation}]},horizontal(){return"horizontal"===this.orientation},vertical(){return"vertical"===this.orientation},rangeStyle(){return this.range?this.horizontal?{left:this.rangeStartPosition+"%",width:this.rangeEndPosition-this.rangeStartPosition+"%"}:{bottom:this.rangeStartPosition+"%",height:this.rangeEndPosition-this.rangeStartHandlePosition+"%"}:this.horizontal?{width:this.handlePosition+"%"}:{height:this.handlePosition+"%"}},handleStyle(){return this.horizontal?{left:this.handlePosition+"%"}:{bottom:this.handlePosition+"%"}},handlePosition(){return this.modelValue<this.min?0:this.modelValue>this.max?100:100*(this.modelValue-this.min)/(this.max-this.min)},rangeStartPosition(){return this.modelValue&&this.modelValue[0]?100*(this.modelValue[0]<this.min?0:this.modelValue[0]-this.min)/(this.max-this.min):0},rangeEndPosition(){return this.modelValue&&2===this.modelValue.length?100*(this.modelValue[1]>this.max?100:this.modelValue[1]-this.min)/(this.max-this.min):100},rangeStartHandleStyle(){return this.horizontal?{left:this.rangeStartPosition+"%"}:{bottom:this.rangeStartPosition+"%"}},rangeEndHandleStyle(){return this.horizontal?{left:this.rangeEndPosition+"%"}:{bottom:this.rangeEndPosition+"%"}}}};const a=["tabindex","aria-valuemin","aria-valuenow","aria-valuemax","aria-labelledby","aria-label","aria-orientation"],n=["tabindex","aria-valuemin","aria-valuenow","aria-valuemax","aria-labelledby","aria-label","aria-orientation"],l=["tabindex","aria-valuemin","aria-valuenow","aria-valuemax","aria-labelledby","aria-label","aria-orientation"];return function(e,t){void 0===t&&(t={});var i=t.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===i&&a.firstChild?a.insertBefore(n,a.firstChild):a.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-slider {\n\tposition: relative;\n}\n.p-slider .p-slider-handle {\n\tposition: absolute;\n\tcursor: -webkit-grab;\n\tcursor: grab;\n -ms-touch-action: none;\n touch-action: none;\n display: block;\n}\n.p-slider-range {\n\tposition: absolute;\n display: block;\n}\n.p-slider-horizontal .p-slider-range {\n top: 0;\n left: 0;\n\theight: 100%;\n}\n.p-slider-horizontal .p-slider-handle {\n top: 50%;\n}\n.p-slider-vertical {\n\theight: 100px;\n}\n.p-slider-vertical .p-slider-handle {\n left: 50%;\n}\n.p-slider-vertical .p-slider-range {\n bottom: 0;\n left: 0;\n width: 100%;\n}\n"),i.render=function(e,i,s,o,r,d){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(d.containerClass),onClick:i[15]||(i[15]=(...e)=>d.onBarClick&&d.onBarClick(...e))},[t.createElementVNode("span",{class:"p-slider-range",style:t.normalizeStyle(d.rangeStyle)},null,4),s.range?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("span",{key:0,class:"p-slider-handle",style:t.normalizeStyle(d.handleStyle),onTouchstart:i[0]||(i[0]=e=>d.onDragStart(e)),onTouchmove:i[1]||(i[1]=e=>d.onDrag(e)),onTouchend:i[2]||(i[2]=e=>d.onDragEnd(e)),onMousedown:i[3]||(i[3]=e=>d.onMouseDown(e)),onKeydown:i[4]||(i[4]=e=>d.onKeyDown(e)),tabindex:s.tabindex,role:"slider","aria-valuemin":s.min,"aria-valuenow":s.modelValue,"aria-valuemax":s.max,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,"aria-orientation":s.orientation},null,44,a)),s.range?(t.openBlock(),t.createElementBlock("span",{key:1,class:"p-slider-handle",style:t.normalizeStyle(d.rangeStartHandleStyle),onTouchstart:i[5]||(i[5]=e=>d.onDragStart(e,0)),onTouchmove:i[6]||(i[6]=e=>d.onDrag(e)),onTouchend:i[7]||(i[7]=e=>d.onDragEnd(e)),onMousedown:i[8]||(i[8]=e=>d.onMouseDown(e,0)),onKeydown:i[9]||(i[9]=e=>d.onKeyDown(e,0)),tabindex:s.tabindex,role:"slider","aria-valuemin":s.min,"aria-valuenow":s.modelValue?s.modelValue[0]:null,"aria-valuemax":s.max,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,"aria-orientation":s.orientation},null,44,n)):t.createCommentVNode("",!0),s.range?(t.openBlock(),t.createElementBlock("span",{key:2,class:"p-slider-handle",style:t.normalizeStyle(d.rangeEndHandleStyle),onTouchstart:i[10]||(i[10]=e=>d.onDragStart(e,1)),onTouchmove:i[11]||(i[11]=e=>d.onDrag(e)),onTouchend:i[12]||(i[12]=e=>d.onDragEnd(e)),onMousedown:i[13]||(i[13]=e=>d.onMouseDown(e,1)),onKeydown:i[14]||(i[14]=e=>d.onKeyDown(e,1)),tabindex:s.tabindex,role:"slider","aria-valuemin":s.min,"aria-valuenow":s.modelValue?s.modelValue[1]:null,"aria-valuemax":s.max,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,"aria-orientation":s.orientation},null,44,l)):t.createCommentVNode("",!0)],2)},i}(primevue.utils,Vue);
|
|
@@ -2,7 +2,7 @@ import { VNode } from 'vue';
|
|
|
2
2
|
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
|
|
3
3
|
import { MenuItem } from '../menuitem';
|
|
4
4
|
|
|
5
|
-
type SplitButtonAppendToType = 'body' | 'self' | string | undefined;
|
|
5
|
+
type SplitButtonAppendToType = 'body' | 'self' | string | undefined | HTMLElement;
|
|
6
6
|
|
|
7
7
|
export interface SplitButtonProps {
|
|
8
8
|
/**
|
package/splitter/Splitter.vue
CHANGED
|
@@ -40,6 +40,8 @@ export default {
|
|
|
40
40
|
dragging: false,
|
|
41
41
|
mouseMoveListener: null,
|
|
42
42
|
mouseUpListener: null,
|
|
43
|
+
touchMoveListener: null,
|
|
44
|
+
touchEndListener: null,
|
|
43
45
|
size: null,
|
|
44
46
|
gutterElement: null,
|
|
45
47
|
startPos: null,
|
|
@@ -83,7 +85,7 @@ export default {
|
|
|
83
85
|
this.gutterElement = event.currentTarget;
|
|
84
86
|
this.size = this.horizontal ? DomHandler.getWidth(this.$el) : DomHandler.getHeight(this.$el);
|
|
85
87
|
this.dragging = true;
|
|
86
|
-
this.startPos = this.layout === 'horizontal' ? event.pageX : event.pageY;
|
|
88
|
+
this.startPos = this.layout === 'horizontal' ? (event.pageX || event.changedTouches[0].pageX) : (event.pageY || event.changedTouches[0].pageY);
|
|
87
89
|
this.prevPanelElement = this.gutterElement.previousElementSibling;
|
|
88
90
|
this.nextPanelElement = this.gutterElement.nextElementSibling;
|
|
89
91
|
this.prevPanelSize = 100 * (this.horizontal ? DomHandler.getOuterWidth(this.prevPanelElement, true): DomHandler.getOuterHeight(this.prevPanelElement, true)) / this.size;
|
|
@@ -125,6 +127,7 @@ export default {
|
|
|
125
127
|
},
|
|
126
128
|
onGutterTouchStart(event, index) {
|
|
127
129
|
this.onResizeStart(event, index);
|
|
130
|
+
this.bindTouchListeners();
|
|
128
131
|
event.preventDefault();
|
|
129
132
|
},
|
|
130
133
|
onGutterTouchMove(event) {
|
|
@@ -133,6 +136,7 @@ export default {
|
|
|
133
136
|
},
|
|
134
137
|
onGutterTouchEnd(event) {
|
|
135
138
|
this.onResizeEnd(event);
|
|
139
|
+
this.unbindTouchListeners();
|
|
136
140
|
event.preventDefault();
|
|
137
141
|
},
|
|
138
142
|
bindMouseListeners() {
|
|
@@ -149,6 +153,20 @@ export default {
|
|
|
149
153
|
document.addEventListener('mouseup', this.mouseUpListener);
|
|
150
154
|
}
|
|
151
155
|
},
|
|
156
|
+
bindTouchListeners() {
|
|
157
|
+
if (!this.touchMoveListener) {
|
|
158
|
+
this.touchMoveListener = event => this.onResize(event.changedTouches[0])
|
|
159
|
+
document.addEventListener('touchmove', this.touchMoveListener);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
if (!this.touchEndListener) {
|
|
163
|
+
this.touchEndListener = event => {
|
|
164
|
+
this.resizeEnd(event);
|
|
165
|
+
this.unbindTouchListeners();
|
|
166
|
+
}
|
|
167
|
+
document.addEventListener('touchend', this.touchEndListener);
|
|
168
|
+
}
|
|
169
|
+
},
|
|
152
170
|
validateResize(newPrevPanelSize, newNextPanelSize) {
|
|
153
171
|
let prevPanelMinSize = ObjectUtils.getVNodeProp(this.panels[0], 'minSize');
|
|
154
172
|
if (this.panels[0].props && prevPanelMinSize && prevPanelMinSize > newPrevPanelSize) {
|
|
@@ -173,6 +191,17 @@ export default {
|
|
|
173
191
|
this.mouseUpListener = null;
|
|
174
192
|
}
|
|
175
193
|
},
|
|
194
|
+
unbindTouchListeners() {
|
|
195
|
+
if (this.touchMoveListener) {
|
|
196
|
+
document.removeEventListener('touchmove', this.touchMoveListener);
|
|
197
|
+
this.touchMoveListener = null;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
if (this.touchEndListener) {
|
|
201
|
+
document.removeEventListener('touchend', this.touchEndListener);
|
|
202
|
+
this.touchEndListener = null;
|
|
203
|
+
}
|
|
204
|
+
},
|
|
176
205
|
clear() {
|
|
177
206
|
this.dragging = false;
|
|
178
207
|
this.size = null;
|
package/splitter/splitter.cjs.js
CHANGED
|
@@ -27,6 +27,8 @@ var script = {
|
|
|
27
27
|
dragging: false,
|
|
28
28
|
mouseMoveListener: null,
|
|
29
29
|
mouseUpListener: null,
|
|
30
|
+
touchMoveListener: null,
|
|
31
|
+
touchEndListener: null,
|
|
30
32
|
size: null,
|
|
31
33
|
gutterElement: null,
|
|
32
34
|
startPos: null,
|
|
@@ -70,7 +72,7 @@ var script = {
|
|
|
70
72
|
this.gutterElement = event.currentTarget;
|
|
71
73
|
this.size = this.horizontal ? utils.DomHandler.getWidth(this.$el) : utils.DomHandler.getHeight(this.$el);
|
|
72
74
|
this.dragging = true;
|
|
73
|
-
this.startPos = this.layout === 'horizontal' ? event.pageX : event.pageY;
|
|
75
|
+
this.startPos = this.layout === 'horizontal' ? (event.pageX || event.changedTouches[0].pageX) : (event.pageY || event.changedTouches[0].pageY);
|
|
74
76
|
this.prevPanelElement = this.gutterElement.previousElementSibling;
|
|
75
77
|
this.nextPanelElement = this.gutterElement.nextElementSibling;
|
|
76
78
|
this.prevPanelSize = 100 * (this.horizontal ? utils.DomHandler.getOuterWidth(this.prevPanelElement, true): utils.DomHandler.getOuterHeight(this.prevPanelElement, true)) / this.size;
|
|
@@ -112,6 +114,7 @@ var script = {
|
|
|
112
114
|
},
|
|
113
115
|
onGutterTouchStart(event, index) {
|
|
114
116
|
this.onResizeStart(event, index);
|
|
117
|
+
this.bindTouchListeners();
|
|
115
118
|
event.preventDefault();
|
|
116
119
|
},
|
|
117
120
|
onGutterTouchMove(event) {
|
|
@@ -120,6 +123,7 @@ var script = {
|
|
|
120
123
|
},
|
|
121
124
|
onGutterTouchEnd(event) {
|
|
122
125
|
this.onResizeEnd(event);
|
|
126
|
+
this.unbindTouchListeners();
|
|
123
127
|
event.preventDefault();
|
|
124
128
|
},
|
|
125
129
|
bindMouseListeners() {
|
|
@@ -136,6 +140,20 @@ var script = {
|
|
|
136
140
|
document.addEventListener('mouseup', this.mouseUpListener);
|
|
137
141
|
}
|
|
138
142
|
},
|
|
143
|
+
bindTouchListeners() {
|
|
144
|
+
if (!this.touchMoveListener) {
|
|
145
|
+
this.touchMoveListener = event => this.onResize(event.changedTouches[0]);
|
|
146
|
+
document.addEventListener('touchmove', this.touchMoveListener);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
if (!this.touchEndListener) {
|
|
150
|
+
this.touchEndListener = event => {
|
|
151
|
+
this.resizeEnd(event);
|
|
152
|
+
this.unbindTouchListeners();
|
|
153
|
+
};
|
|
154
|
+
document.addEventListener('touchend', this.touchEndListener);
|
|
155
|
+
}
|
|
156
|
+
},
|
|
139
157
|
validateResize(newPrevPanelSize, newNextPanelSize) {
|
|
140
158
|
let prevPanelMinSize = utils.ObjectUtils.getVNodeProp(this.panels[0], 'minSize');
|
|
141
159
|
if (this.panels[0].props && prevPanelMinSize && prevPanelMinSize > newPrevPanelSize) {
|
|
@@ -160,6 +178,17 @@ var script = {
|
|
|
160
178
|
this.mouseUpListener = null;
|
|
161
179
|
}
|
|
162
180
|
},
|
|
181
|
+
unbindTouchListeners() {
|
|
182
|
+
if (this.touchMoveListener) {
|
|
183
|
+
document.removeEventListener('touchmove', this.touchMoveListener);
|
|
184
|
+
this.touchMoveListener = null;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
if (this.touchEndListener) {
|
|
188
|
+
document.removeEventListener('touchend', this.touchEndListener);
|
|
189
|
+
this.touchEndListener = null;
|
|
190
|
+
}
|
|
191
|
+
},
|
|
163
192
|
clear() {
|
|
164
193
|
this.dragging = false;
|
|
165
194
|
this.size = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("primevue/utils"),t=require("vue"),n={name:"Splitter",emits:["resizeend"],props:{layout:{type:String,default:"horizontal"},gutterSize:{type:Number,default:4},stateKey:{type:String,default:null},stateStorage:{type:String,default:"session"}},dragging:!1,mouseMoveListener:null,mouseUpListener:null,size:null,gutterElement:null,startPos:null,prevPanelElement:null,nextPanelElement:null,nextPanelSize:null,prevPanelSize:null,panelSizes:null,prevPanelIndex:null,mounted(){if(this.panels&&this.panels.length){let t=!1;if(this.isStateful()&&(t=this.restoreState()),!t){let t=[...this.$el.children].filter((t=>e.DomHandler.hasClass(t,"p-splitter-panel"))),n=[];this.panels.map(((e,s)=>{let i=(e.props&&e.props.size?e.props.size:null)||100/this.panels.length;n[s]=i,t[s].style.flexBasis="calc("+i+"% - "+(this.panels.length-1)*this.gutterSize+"px)"})),this.panelSizes=n}}},beforeUnmount(){this.clear(),this.unbindMouseListeners()},methods:{isSplitterPanel:e=>"SplitterPanel"===e.type.name,onResizeStart(t,n){this.gutterElement=t.currentTarget,this.size=this.horizontal?e.DomHandler.getWidth(this.$el):e.DomHandler.getHeight(this.$el),this.dragging=!0,this.startPos="horizontal"===this.layout?t.pageX:t.pageY,this.prevPanelElement=this.gutterElement.previousElementSibling,this.nextPanelElement=this.gutterElement.nextElementSibling,this.prevPanelSize=100*(this.horizontal?e.DomHandler.getOuterWidth(this.prevPanelElement,!0):e.DomHandler.getOuterHeight(this.prevPanelElement,!0))/this.size,this.nextPanelSize=100*(this.horizontal?e.DomHandler.getOuterWidth(this.nextPanelElement,!0):e.DomHandler.getOuterHeight(this.nextPanelElement,!0))/this.size,this.prevPanelIndex=n,e.DomHandler.addClass(this.gutterElement,"p-splitter-gutter-resizing"),e.DomHandler.addClass(this.$el,"p-splitter-resizing")},onResize(e){let t;t=this.horizontal?100*e.pageX/this.size-100*this.startPos/this.size:100*e.pageY/this.size-100*this.startPos/this.size;let n=this.prevPanelSize+t,s=this.nextPanelSize-t;this.validateResize(n,s)&&(this.prevPanelElement.style.flexBasis="calc("+n+"% - "+(this.panels.length-1)*this.gutterSize+"px)",this.nextPanelElement.style.flexBasis="calc("+s+"% - "+(this.panels.length-1)*this.gutterSize+"px)",this.panelSizes[this.prevPanelIndex]=n,this.panelSizes[this.prevPanelIndex+1]=s)},onResizeEnd(t){this.isStateful()&&this.saveState(),this.$emit("resizeend",{originalEvent:t,sizes:this.panelSizes}),e.DomHandler.removeClass(this.gutterElement,"p-splitter-gutter-resizing"),e.DomHandler.removeClass(this.$el,"p-splitter-resizing"),this.clear()},onGutterMouseDown(e,t){this.onResizeStart(e,t),this.bindMouseListeners()},onGutterTouchStart(e,t){this.onResizeStart(e,t),e.preventDefault()},onGutterTouchMove(e){this.onResize(e),e.preventDefault()},onGutterTouchEnd(e){this.onResizeEnd(e),e.preventDefault()},bindMouseListeners(){this.mouseMoveListener||(this.mouseMoveListener=e=>this.onResize(e),document.addEventListener("mousemove",this.mouseMoveListener)),this.mouseUpListener||(this.mouseUpListener=e=>{this.onResizeEnd(e),this.unbindMouseListeners()},document.addEventListener("mouseup",this.mouseUpListener))},validateResize(t,n){let s=e.ObjectUtils.getVNodeProp(this.panels[0],"minSize");if(this.panels[0].props&&s&&s>t)return!1;let i=e.ObjectUtils.getVNodeProp(this.panels[1],"minSize");return!(this.panels[1].props&&i&&i>n)},unbindMouseListeners(){this.mouseMoveListener&&(document.removeEventListener("mousemove",this.mouseMoveListener),this.mouseMoveListener=null),this.mouseUpListener&&(document.removeEventListener("mouseup",this.mouseUpListener),this.mouseUpListener=null)},clear(){this.dragging=!1,this.size=null,this.startPos=null,this.prevPanelElement=null,this.nextPanelElement=null,this.prevPanelSize=null,this.nextPanelSize=null,this.gutterElement=null,this.prevPanelIndex=null},isStateful(){return null!=this.stateKey},getStorage(){switch(this.stateStorage){case"local":return window.localStorage;case"session":return window.sessionStorage;default:throw new Error(this.stateStorage+' is not a valid value for the state storage, supported values are "local" and "session".')}},saveState(){this.getStorage().setItem(this.stateKey,JSON.stringify(this.panelSizes))},restoreState(){const t=this.getStorage().getItem(this.stateKey);if(t){return this.panelSizes=JSON.parse(t),[...this.$el.children].filter((t=>e.DomHandler.hasClass(t,"p-splitter-panel"))).forEach(((e,t)=>{e.style.flexBasis="calc("+this.panelSizes[t]+"% - "+(this.panels.length-1)*this.gutterSize+"px)"})),!0}return!1}},computed:{containerClass(){return["p-splitter p-component","p-splitter-"+this.layout]},panels(){const e=[];return this.$slots.default().forEach((t=>{this.isSplitterPanel(t)?e.push(t):t.children instanceof Array&&t.children.forEach((t=>{this.isSplitterPanel(t)&&e.push(t)}))})),e},gutterStyle(){return this.horizontal?{width:this.gutterSize+"px"}:{height:this.gutterSize+"px"}},horizontal(){return"horizontal"===this.layout}}};const s=["onMousedown","onTouchstart","onTouchmove","onTouchend"],i=[t.createElementVNode("div",{class:"p-splitter-gutter-handle"},null,-1)];!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===n&&s.firstChild?s.insertBefore(i,s.firstChild):s.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}("\n.p-splitter {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n.p-splitter-vertical {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-splitter-panel {\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n}\n.p-splitter-panel-nested {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.p-splitter-panel .p-splitter {\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n border: 0 none;\n}\n.p-splitter-gutter {\n -webkit-box-flex: 0;\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n cursor: col-resize;\n}\n.p-splitter-horizontal.p-splitter-resizing {\n cursor: col-resize;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-splitter-horizontal > .p-splitter-gutter > .p-splitter-gutter-handle {\n height: 24px;\n width: 100%;\n}\n.p-splitter-horizontal > .p-splitter-gutter {\n cursor: col-resize;\n}\n.p-splitter-vertical.p-splitter-resizing {\n cursor: row-resize;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-splitter-vertical > .p-splitter-gutter {\n cursor: row-resize;\n}\n.p-splitter-vertical > .p-splitter-gutter > .p-splitter-gutter-handle {\n width: 24px;\n height: 100%;\n}\n"),n.render=function(e,n,l,r,o,a){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(a.containerClass)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.panels,((e,n)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:n},[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e))),n!==a.panels.length-1?(t.openBlock(),t.createElementBlock("div",{key:0,class:"p-splitter-gutter",style:t.normalizeStyle(a.gutterStyle),onMousedown:e=>a.onGutterMouseDown(e,n),onTouchstart:e=>a.onGutterTouchStart(e,n),onTouchmove:e=>a.onGutterTouchMove(e,n),onTouchend:e=>a.onGutterTouchEnd(e,n)},i,44,s)):t.createCommentVNode("",!0)],64)))),128))],2)},module.exports=n;
|
|
1
|
+
"use strict";var e=require("primevue/utils"),t=require("vue"),n={name:"Splitter",emits:["resizeend"],props:{layout:{type:String,default:"horizontal"},gutterSize:{type:Number,default:4},stateKey:{type:String,default:null},stateStorage:{type:String,default:"session"}},dragging:!1,mouseMoveListener:null,mouseUpListener:null,touchMoveListener:null,touchEndListener:null,size:null,gutterElement:null,startPos:null,prevPanelElement:null,nextPanelElement:null,nextPanelSize:null,prevPanelSize:null,panelSizes:null,prevPanelIndex:null,mounted(){if(this.panels&&this.panels.length){let t=!1;if(this.isStateful()&&(t=this.restoreState()),!t){let t=[...this.$el.children].filter((t=>e.DomHandler.hasClass(t,"p-splitter-panel"))),n=[];this.panels.map(((e,s)=>{let i=(e.props&&e.props.size?e.props.size:null)||100/this.panels.length;n[s]=i,t[s].style.flexBasis="calc("+i+"% - "+(this.panels.length-1)*this.gutterSize+"px)"})),this.panelSizes=n}}},beforeUnmount(){this.clear(),this.unbindMouseListeners()},methods:{isSplitterPanel:e=>"SplitterPanel"===e.type.name,onResizeStart(t,n){this.gutterElement=t.currentTarget,this.size=this.horizontal?e.DomHandler.getWidth(this.$el):e.DomHandler.getHeight(this.$el),this.dragging=!0,this.startPos="horizontal"===this.layout?t.pageX||t.changedTouches[0].pageX:t.pageY||t.changedTouches[0].pageY,this.prevPanelElement=this.gutterElement.previousElementSibling,this.nextPanelElement=this.gutterElement.nextElementSibling,this.prevPanelSize=100*(this.horizontal?e.DomHandler.getOuterWidth(this.prevPanelElement,!0):e.DomHandler.getOuterHeight(this.prevPanelElement,!0))/this.size,this.nextPanelSize=100*(this.horizontal?e.DomHandler.getOuterWidth(this.nextPanelElement,!0):e.DomHandler.getOuterHeight(this.nextPanelElement,!0))/this.size,this.prevPanelIndex=n,e.DomHandler.addClass(this.gutterElement,"p-splitter-gutter-resizing"),e.DomHandler.addClass(this.$el,"p-splitter-resizing")},onResize(e){let t;t=this.horizontal?100*e.pageX/this.size-100*this.startPos/this.size:100*e.pageY/this.size-100*this.startPos/this.size;let n=this.prevPanelSize+t,s=this.nextPanelSize-t;this.validateResize(n,s)&&(this.prevPanelElement.style.flexBasis="calc("+n+"% - "+(this.panels.length-1)*this.gutterSize+"px)",this.nextPanelElement.style.flexBasis="calc("+s+"% - "+(this.panels.length-1)*this.gutterSize+"px)",this.panelSizes[this.prevPanelIndex]=n,this.panelSizes[this.prevPanelIndex+1]=s)},onResizeEnd(t){this.isStateful()&&this.saveState(),this.$emit("resizeend",{originalEvent:t,sizes:this.panelSizes}),e.DomHandler.removeClass(this.gutterElement,"p-splitter-gutter-resizing"),e.DomHandler.removeClass(this.$el,"p-splitter-resizing"),this.clear()},onGutterMouseDown(e,t){this.onResizeStart(e,t),this.bindMouseListeners()},onGutterTouchStart(e,t){this.onResizeStart(e,t),this.bindTouchListeners(),e.preventDefault()},onGutterTouchMove(e){this.onResize(e),e.preventDefault()},onGutterTouchEnd(e){this.onResizeEnd(e),this.unbindTouchListeners(),e.preventDefault()},bindMouseListeners(){this.mouseMoveListener||(this.mouseMoveListener=e=>this.onResize(e),document.addEventListener("mousemove",this.mouseMoveListener)),this.mouseUpListener||(this.mouseUpListener=e=>{this.onResizeEnd(e),this.unbindMouseListeners()},document.addEventListener("mouseup",this.mouseUpListener))},bindTouchListeners(){this.touchMoveListener||(this.touchMoveListener=e=>this.onResize(e.changedTouches[0]),document.addEventListener("touchmove",this.touchMoveListener)),this.touchEndListener||(this.touchEndListener=e=>{this.resizeEnd(e),this.unbindTouchListeners()},document.addEventListener("touchend",this.touchEndListener))},validateResize(t,n){let s=e.ObjectUtils.getVNodeProp(this.panels[0],"minSize");if(this.panels[0].props&&s&&s>t)return!1;let i=e.ObjectUtils.getVNodeProp(this.panels[1],"minSize");return!(this.panels[1].props&&i&&i>n)},unbindMouseListeners(){this.mouseMoveListener&&(document.removeEventListener("mousemove",this.mouseMoveListener),this.mouseMoveListener=null),this.mouseUpListener&&(document.removeEventListener("mouseup",this.mouseUpListener),this.mouseUpListener=null)},unbindTouchListeners(){this.touchMoveListener&&(document.removeEventListener("touchmove",this.touchMoveListener),this.touchMoveListener=null),this.touchEndListener&&(document.removeEventListener("touchend",this.touchEndListener),this.touchEndListener=null)},clear(){this.dragging=!1,this.size=null,this.startPos=null,this.prevPanelElement=null,this.nextPanelElement=null,this.prevPanelSize=null,this.nextPanelSize=null,this.gutterElement=null,this.prevPanelIndex=null},isStateful(){return null!=this.stateKey},getStorage(){switch(this.stateStorage){case"local":return window.localStorage;case"session":return window.sessionStorage;default:throw new Error(this.stateStorage+' is not a valid value for the state storage, supported values are "local" and "session".')}},saveState(){this.getStorage().setItem(this.stateKey,JSON.stringify(this.panelSizes))},restoreState(){const t=this.getStorage().getItem(this.stateKey);if(t){return this.panelSizes=JSON.parse(t),[...this.$el.children].filter((t=>e.DomHandler.hasClass(t,"p-splitter-panel"))).forEach(((e,t)=>{e.style.flexBasis="calc("+this.panelSizes[t]+"% - "+(this.panels.length-1)*this.gutterSize+"px)"})),!0}return!1}},computed:{containerClass(){return["p-splitter p-component","p-splitter-"+this.layout]},panels(){const e=[];return this.$slots.default().forEach((t=>{this.isSplitterPanel(t)?e.push(t):t.children instanceof Array&&t.children.forEach((t=>{this.isSplitterPanel(t)&&e.push(t)}))})),e},gutterStyle(){return this.horizontal?{width:this.gutterSize+"px"}:{height:this.gutterSize+"px"}},horizontal(){return"horizontal"===this.layout}}};const s=["onMousedown","onTouchstart","onTouchmove","onTouchend"],i=[t.createElementVNode("div",{class:"p-splitter-gutter-handle"},null,-1)];!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===n&&s.firstChild?s.insertBefore(i,s.firstChild):s.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}("\n.p-splitter {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n.p-splitter-vertical {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-splitter-panel {\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n}\n.p-splitter-panel-nested {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.p-splitter-panel .p-splitter {\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n border: 0 none;\n}\n.p-splitter-gutter {\n -webkit-box-flex: 0;\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n cursor: col-resize;\n}\n.p-splitter-horizontal.p-splitter-resizing {\n cursor: col-resize;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-splitter-horizontal > .p-splitter-gutter > .p-splitter-gutter-handle {\n height: 24px;\n width: 100%;\n}\n.p-splitter-horizontal > .p-splitter-gutter {\n cursor: col-resize;\n}\n.p-splitter-vertical.p-splitter-resizing {\n cursor: row-resize;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-splitter-vertical > .p-splitter-gutter {\n cursor: row-resize;\n}\n.p-splitter-vertical > .p-splitter-gutter > .p-splitter-gutter-handle {\n width: 24px;\n height: 100%;\n}\n"),n.render=function(e,n,l,r,o,a){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(a.containerClass)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.panels,((e,n)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:n},[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e))),n!==a.panels.length-1?(t.openBlock(),t.createElementBlock("div",{key:0,class:"p-splitter-gutter",style:t.normalizeStyle(a.gutterStyle),onMousedown:e=>a.onGutterMouseDown(e,n),onTouchstart:e=>a.onGutterTouchStart(e,n),onTouchmove:e=>a.onGutterTouchMove(e,n),onTouchend:e=>a.onGutterTouchEnd(e,n)},i,44,s)):t.createCommentVNode("",!0)],64)))),128))],2)},module.exports=n;
|
package/splitter/splitter.esm.js
CHANGED
|
@@ -25,6 +25,8 @@ var script = {
|
|
|
25
25
|
dragging: false,
|
|
26
26
|
mouseMoveListener: null,
|
|
27
27
|
mouseUpListener: null,
|
|
28
|
+
touchMoveListener: null,
|
|
29
|
+
touchEndListener: null,
|
|
28
30
|
size: null,
|
|
29
31
|
gutterElement: null,
|
|
30
32
|
startPos: null,
|
|
@@ -68,7 +70,7 @@ var script = {
|
|
|
68
70
|
this.gutterElement = event.currentTarget;
|
|
69
71
|
this.size = this.horizontal ? DomHandler.getWidth(this.$el) : DomHandler.getHeight(this.$el);
|
|
70
72
|
this.dragging = true;
|
|
71
|
-
this.startPos = this.layout === 'horizontal' ? event.pageX : event.pageY;
|
|
73
|
+
this.startPos = this.layout === 'horizontal' ? (event.pageX || event.changedTouches[0].pageX) : (event.pageY || event.changedTouches[0].pageY);
|
|
72
74
|
this.prevPanelElement = this.gutterElement.previousElementSibling;
|
|
73
75
|
this.nextPanelElement = this.gutterElement.nextElementSibling;
|
|
74
76
|
this.prevPanelSize = 100 * (this.horizontal ? DomHandler.getOuterWidth(this.prevPanelElement, true): DomHandler.getOuterHeight(this.prevPanelElement, true)) / this.size;
|
|
@@ -110,6 +112,7 @@ var script = {
|
|
|
110
112
|
},
|
|
111
113
|
onGutterTouchStart(event, index) {
|
|
112
114
|
this.onResizeStart(event, index);
|
|
115
|
+
this.bindTouchListeners();
|
|
113
116
|
event.preventDefault();
|
|
114
117
|
},
|
|
115
118
|
onGutterTouchMove(event) {
|
|
@@ -118,6 +121,7 @@ var script = {
|
|
|
118
121
|
},
|
|
119
122
|
onGutterTouchEnd(event) {
|
|
120
123
|
this.onResizeEnd(event);
|
|
124
|
+
this.unbindTouchListeners();
|
|
121
125
|
event.preventDefault();
|
|
122
126
|
},
|
|
123
127
|
bindMouseListeners() {
|
|
@@ -134,6 +138,20 @@ var script = {
|
|
|
134
138
|
document.addEventListener('mouseup', this.mouseUpListener);
|
|
135
139
|
}
|
|
136
140
|
},
|
|
141
|
+
bindTouchListeners() {
|
|
142
|
+
if (!this.touchMoveListener) {
|
|
143
|
+
this.touchMoveListener = event => this.onResize(event.changedTouches[0]);
|
|
144
|
+
document.addEventListener('touchmove', this.touchMoveListener);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
if (!this.touchEndListener) {
|
|
148
|
+
this.touchEndListener = event => {
|
|
149
|
+
this.resizeEnd(event);
|
|
150
|
+
this.unbindTouchListeners();
|
|
151
|
+
};
|
|
152
|
+
document.addEventListener('touchend', this.touchEndListener);
|
|
153
|
+
}
|
|
154
|
+
},
|
|
137
155
|
validateResize(newPrevPanelSize, newNextPanelSize) {
|
|
138
156
|
let prevPanelMinSize = ObjectUtils.getVNodeProp(this.panels[0], 'minSize');
|
|
139
157
|
if (this.panels[0].props && prevPanelMinSize && prevPanelMinSize > newPrevPanelSize) {
|
|
@@ -158,6 +176,17 @@ var script = {
|
|
|
158
176
|
this.mouseUpListener = null;
|
|
159
177
|
}
|
|
160
178
|
},
|
|
179
|
+
unbindTouchListeners() {
|
|
180
|
+
if (this.touchMoveListener) {
|
|
181
|
+
document.removeEventListener('touchmove', this.touchMoveListener);
|
|
182
|
+
this.touchMoveListener = null;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
if (this.touchEndListener) {
|
|
186
|
+
document.removeEventListener('touchend', this.touchEndListener);
|
|
187
|
+
this.touchEndListener = null;
|
|
188
|
+
}
|
|
189
|
+
},
|
|
161
190
|
clear() {
|
|
162
191
|
this.dragging = false;
|
|
163
192
|
this.size = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{DomHandler as e,ObjectUtils as t}from"primevue/utils";import{openBlock as s,createElementBlock as n,normalizeClass as i,Fragment as l,renderList as r,createBlock as o,resolveDynamicComponent as
|
|
1
|
+
import{DomHandler as e,ObjectUtils as t}from"primevue/utils";import{openBlock as s,createElementBlock as n,normalizeClass as i,Fragment as l,renderList as r,createBlock as o,resolveDynamicComponent as h,normalizeStyle as a,createCommentVNode as u,createElementVNode as p}from"vue";var c={name:"Splitter",emits:["resizeend"],props:{layout:{type:String,default:"horizontal"},gutterSize:{type:Number,default:4},stateKey:{type:String,default:null},stateStorage:{type:String,default:"session"}},dragging:!1,mouseMoveListener:null,mouseUpListener:null,touchMoveListener:null,touchEndListener:null,size:null,gutterElement:null,startPos:null,prevPanelElement:null,nextPanelElement:null,nextPanelSize:null,prevPanelSize:null,panelSizes:null,prevPanelIndex:null,mounted(){if(this.panels&&this.panels.length){let t=!1;if(this.isStateful()&&(t=this.restoreState()),!t){let t=[...this.$el.children].filter((t=>e.hasClass(t,"p-splitter-panel"))),s=[];this.panels.map(((e,n)=>{let i=(e.props&&e.props.size?e.props.size:null)||100/this.panels.length;s[n]=i,t[n].style.flexBasis="calc("+i+"% - "+(this.panels.length-1)*this.gutterSize+"px)"})),this.panelSizes=s}}},beforeUnmount(){this.clear(),this.unbindMouseListeners()},methods:{isSplitterPanel:e=>"SplitterPanel"===e.type.name,onResizeStart(t,s){this.gutterElement=t.currentTarget,this.size=this.horizontal?e.getWidth(this.$el):e.getHeight(this.$el),this.dragging=!0,this.startPos="horizontal"===this.layout?t.pageX||t.changedTouches[0].pageX:t.pageY||t.changedTouches[0].pageY,this.prevPanelElement=this.gutterElement.previousElementSibling,this.nextPanelElement=this.gutterElement.nextElementSibling,this.prevPanelSize=100*(this.horizontal?e.getOuterWidth(this.prevPanelElement,!0):e.getOuterHeight(this.prevPanelElement,!0))/this.size,this.nextPanelSize=100*(this.horizontal?e.getOuterWidth(this.nextPanelElement,!0):e.getOuterHeight(this.nextPanelElement,!0))/this.size,this.prevPanelIndex=s,e.addClass(this.gutterElement,"p-splitter-gutter-resizing"),e.addClass(this.$el,"p-splitter-resizing")},onResize(e){let t;t=this.horizontal?100*e.pageX/this.size-100*this.startPos/this.size:100*e.pageY/this.size-100*this.startPos/this.size;let s=this.prevPanelSize+t,n=this.nextPanelSize-t;this.validateResize(s,n)&&(this.prevPanelElement.style.flexBasis="calc("+s+"% - "+(this.panels.length-1)*this.gutterSize+"px)",this.nextPanelElement.style.flexBasis="calc("+n+"% - "+(this.panels.length-1)*this.gutterSize+"px)",this.panelSizes[this.prevPanelIndex]=s,this.panelSizes[this.prevPanelIndex+1]=n)},onResizeEnd(t){this.isStateful()&&this.saveState(),this.$emit("resizeend",{originalEvent:t,sizes:this.panelSizes}),e.removeClass(this.gutterElement,"p-splitter-gutter-resizing"),e.removeClass(this.$el,"p-splitter-resizing"),this.clear()},onGutterMouseDown(e,t){this.onResizeStart(e,t),this.bindMouseListeners()},onGutterTouchStart(e,t){this.onResizeStart(e,t),this.bindTouchListeners(),e.preventDefault()},onGutterTouchMove(e){this.onResize(e),e.preventDefault()},onGutterTouchEnd(e){this.onResizeEnd(e),this.unbindTouchListeners(),e.preventDefault()},bindMouseListeners(){this.mouseMoveListener||(this.mouseMoveListener=e=>this.onResize(e),document.addEventListener("mousemove",this.mouseMoveListener)),this.mouseUpListener||(this.mouseUpListener=e=>{this.onResizeEnd(e),this.unbindMouseListeners()},document.addEventListener("mouseup",this.mouseUpListener))},bindTouchListeners(){this.touchMoveListener||(this.touchMoveListener=e=>this.onResize(e.changedTouches[0]),document.addEventListener("touchmove",this.touchMoveListener)),this.touchEndListener||(this.touchEndListener=e=>{this.resizeEnd(e),this.unbindTouchListeners()},document.addEventListener("touchend",this.touchEndListener))},validateResize(e,s){let n=t.getVNodeProp(this.panels[0],"minSize");if(this.panels[0].props&&n&&n>e)return!1;let i=t.getVNodeProp(this.panels[1],"minSize");return!(this.panels[1].props&&i&&i>s)},unbindMouseListeners(){this.mouseMoveListener&&(document.removeEventListener("mousemove",this.mouseMoveListener),this.mouseMoveListener=null),this.mouseUpListener&&(document.removeEventListener("mouseup",this.mouseUpListener),this.mouseUpListener=null)},unbindTouchListeners(){this.touchMoveListener&&(document.removeEventListener("touchmove",this.touchMoveListener),this.touchMoveListener=null),this.touchEndListener&&(document.removeEventListener("touchend",this.touchEndListener),this.touchEndListener=null)},clear(){this.dragging=!1,this.size=null,this.startPos=null,this.prevPanelElement=null,this.nextPanelElement=null,this.prevPanelSize=null,this.nextPanelSize=null,this.gutterElement=null,this.prevPanelIndex=null},isStateful(){return null!=this.stateKey},getStorage(){switch(this.stateStorage){case"local":return window.localStorage;case"session":return window.sessionStorage;default:throw new Error(this.stateStorage+' is not a valid value for the state storage, supported values are "local" and "session".')}},saveState(){this.getStorage().setItem(this.stateKey,JSON.stringify(this.panelSizes))},restoreState(){const t=this.getStorage().getItem(this.stateKey);if(t){return this.panelSizes=JSON.parse(t),[...this.$el.children].filter((t=>e.hasClass(t,"p-splitter-panel"))).forEach(((e,t)=>{e.style.flexBasis="calc("+this.panelSizes[t]+"% - "+(this.panels.length-1)*this.gutterSize+"px)"})),!0}return!1}},computed:{containerClass(){return["p-splitter p-component","p-splitter-"+this.layout]},panels(){const e=[];return this.$slots.default().forEach((t=>{this.isSplitterPanel(t)?e.push(t):t.children instanceof Array&&t.children.forEach((t=>{this.isSplitterPanel(t)&&e.push(t)}))})),e},gutterStyle(){return this.horizontal?{width:this.gutterSize+"px"}:{height:this.gutterSize+"px"}},horizontal(){return"horizontal"===this.layout}}};const d=["onMousedown","onTouchstart","onTouchmove","onTouchend"],m=[p("div",{class:"p-splitter-gutter-handle"},null,-1)];!function(e,t){void 0===t&&(t={});var s=t.insertAt;if(e&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===s&&n.firstChild?n.insertBefore(i,n.firstChild):n.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}("\n.p-splitter {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n.p-splitter-vertical {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.p-splitter-panel {\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n}\n.p-splitter-panel-nested {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n.p-splitter-panel .p-splitter {\n -webkit-box-flex: 1;\n -ms-flex-positive: 1;\n flex-grow: 1;\n border: 0 none;\n}\n.p-splitter-gutter {\n -webkit-box-flex: 0;\n -ms-flex-positive: 0;\n flex-grow: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n cursor: col-resize;\n}\n.p-splitter-horizontal.p-splitter-resizing {\n cursor: col-resize;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-splitter-horizontal > .p-splitter-gutter > .p-splitter-gutter-handle {\n height: 24px;\n width: 100%;\n}\n.p-splitter-horizontal > .p-splitter-gutter {\n cursor: col-resize;\n}\n.p-splitter-vertical.p-splitter-resizing {\n cursor: row-resize;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.p-splitter-vertical > .p-splitter-gutter {\n cursor: row-resize;\n}\n.p-splitter-vertical > .p-splitter-gutter > .p-splitter-gutter-handle {\n width: 24px;\n height: 100%;\n}\n"),c.render=function(e,t,p,c,g,v){return s(),n("div",{class:i(v.containerClass)},[(s(!0),n(l,null,r(v.panels,((e,t)=>(s(),n(l,{key:t},[(s(),o(h(e))),t!==v.panels.length-1?(s(),n("div",{key:0,class:"p-splitter-gutter",style:a(v.gutterStyle),onMousedown:e=>v.onGutterMouseDown(e,t),onTouchstart:e=>v.onGutterTouchStart(e,t),onTouchmove:e=>v.onGutterTouchMove(e,t),onTouchend:e=>v.onGutterTouchEnd(e,t)},m,44,d)):u("",!0)],64)))),128))],2)};export{c as default};
|
package/splitter/splitter.js
CHANGED
|
@@ -26,6 +26,8 @@ this.primevue.splitter = (function (utils, vue) {
|
|
|
26
26
|
dragging: false,
|
|
27
27
|
mouseMoveListener: null,
|
|
28
28
|
mouseUpListener: null,
|
|
29
|
+
touchMoveListener: null,
|
|
30
|
+
touchEndListener: null,
|
|
29
31
|
size: null,
|
|
30
32
|
gutterElement: null,
|
|
31
33
|
startPos: null,
|
|
@@ -69,7 +71,7 @@ this.primevue.splitter = (function (utils, vue) {
|
|
|
69
71
|
this.gutterElement = event.currentTarget;
|
|
70
72
|
this.size = this.horizontal ? utils.DomHandler.getWidth(this.$el) : utils.DomHandler.getHeight(this.$el);
|
|
71
73
|
this.dragging = true;
|
|
72
|
-
this.startPos = this.layout === 'horizontal' ? event.pageX : event.pageY;
|
|
74
|
+
this.startPos = this.layout === 'horizontal' ? (event.pageX || event.changedTouches[0].pageX) : (event.pageY || event.changedTouches[0].pageY);
|
|
73
75
|
this.prevPanelElement = this.gutterElement.previousElementSibling;
|
|
74
76
|
this.nextPanelElement = this.gutterElement.nextElementSibling;
|
|
75
77
|
this.prevPanelSize = 100 * (this.horizontal ? utils.DomHandler.getOuterWidth(this.prevPanelElement, true): utils.DomHandler.getOuterHeight(this.prevPanelElement, true)) / this.size;
|
|
@@ -111,6 +113,7 @@ this.primevue.splitter = (function (utils, vue) {
|
|
|
111
113
|
},
|
|
112
114
|
onGutterTouchStart(event, index) {
|
|
113
115
|
this.onResizeStart(event, index);
|
|
116
|
+
this.bindTouchListeners();
|
|
114
117
|
event.preventDefault();
|
|
115
118
|
},
|
|
116
119
|
onGutterTouchMove(event) {
|
|
@@ -119,6 +122,7 @@ this.primevue.splitter = (function (utils, vue) {
|
|
|
119
122
|
},
|
|
120
123
|
onGutterTouchEnd(event) {
|
|
121
124
|
this.onResizeEnd(event);
|
|
125
|
+
this.unbindTouchListeners();
|
|
122
126
|
event.preventDefault();
|
|
123
127
|
},
|
|
124
128
|
bindMouseListeners() {
|
|
@@ -135,6 +139,20 @@ this.primevue.splitter = (function (utils, vue) {
|
|
|
135
139
|
document.addEventListener('mouseup', this.mouseUpListener);
|
|
136
140
|
}
|
|
137
141
|
},
|
|
142
|
+
bindTouchListeners() {
|
|
143
|
+
if (!this.touchMoveListener) {
|
|
144
|
+
this.touchMoveListener = event => this.onResize(event.changedTouches[0]);
|
|
145
|
+
document.addEventListener('touchmove', this.touchMoveListener);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
if (!this.touchEndListener) {
|
|
149
|
+
this.touchEndListener = event => {
|
|
150
|
+
this.resizeEnd(event);
|
|
151
|
+
this.unbindTouchListeners();
|
|
152
|
+
};
|
|
153
|
+
document.addEventListener('touchend', this.touchEndListener);
|
|
154
|
+
}
|
|
155
|
+
},
|
|
138
156
|
validateResize(newPrevPanelSize, newNextPanelSize) {
|
|
139
157
|
let prevPanelMinSize = utils.ObjectUtils.getVNodeProp(this.panels[0], 'minSize');
|
|
140
158
|
if (this.panels[0].props && prevPanelMinSize && prevPanelMinSize > newPrevPanelSize) {
|
|
@@ -159,6 +177,17 @@ this.primevue.splitter = (function (utils, vue) {
|
|
|
159
177
|
this.mouseUpListener = null;
|
|
160
178
|
}
|
|
161
179
|
},
|
|
180
|
+
unbindTouchListeners() {
|
|
181
|
+
if (this.touchMoveListener) {
|
|
182
|
+
document.removeEventListener('touchmove', this.touchMoveListener);
|
|
183
|
+
this.touchMoveListener = null;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
if (this.touchEndListener) {
|
|
187
|
+
document.removeEventListener('touchend', this.touchEndListener);
|
|
188
|
+
this.touchEndListener = null;
|
|
189
|
+
}
|
|
190
|
+
},
|
|
162
191
|
clear() {
|
|
163
192
|
this.dragging = false;
|
|
164
193
|
this.size = null;
|