@dimailn/vuetify 2.7.2-alpha2 → 2.7.2-alpha21
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/dist/vuetify.css +45 -45
- package/dist/vuetify.css.map +1 -1
- package/dist/vuetify.js +490 -349
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VAppBar/VAppBar.js +7 -12
- package/es5/components/VAppBar/VAppBar.js.map +1 -1
- package/es5/components/VAutocomplete/VAutocomplete.js +10 -7
- package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/es5/components/VCheckbox/VSimpleCheckbox.js +66 -35
- package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/es5/components/VColorPicker/VColorPicker.js +6 -6
- package/es5/components/VColorPicker/VColorPicker.js.map +1 -1
- package/es5/components/VData/VData.js +14 -2
- package/es5/components/VData/VData.js.map +1 -1
- package/es5/components/VDataIterator/VDataIterator.js +4 -3
- package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
- package/es5/components/VDataTable/VDataTable.js +2 -2
- package/es5/components/VDataTable/VDataTable.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeader.js +4 -3
- package/es5/components/VDataTable/VDataTableHeader.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeaderDesktop.js +4 -2
- package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
- package/es5/components/VDataTable/VVirtualTable.js +1 -1
- package/es5/components/VDataTable/VVirtualTable.js.map +1 -1
- package/es5/components/VDataTable/mixins/header.js +1 -1
- package/es5/components/VDataTable/mixins/header.js.map +1 -1
- package/es5/components/VDatePicker/VDatePicker.js +6 -6
- package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
- package/es5/components/VDialog/VDialog.js +1 -1
- package/es5/components/VDialog/VDialog.js.map +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelContent.js +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
- package/es5/components/VForm/VForm.js +8 -8
- package/es5/components/VForm/VForm.js.map +1 -1
- package/es5/components/VGrid/VCol.js +3 -3
- package/es5/components/VGrid/VCol.js.map +1 -1
- package/es5/components/VGrid/VContainer.js +3 -1
- package/es5/components/VGrid/VContainer.js.map +1 -1
- package/es5/components/VImg/VImg.js +1 -1
- package/es5/components/VImg/VImg.js.map +1 -1
- package/es5/components/VInput/VInput.js +1 -1
- package/es5/components/VInput/VInput.js.map +1 -1
- package/es5/components/VItemGroup/VItem.js +17 -18
- package/es5/components/VItemGroup/VItem.js.map +1 -1
- package/es5/components/VItemGroup/VItemGroup.js +1 -1
- package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
- package/es5/components/VList/VList.js +1 -1
- package/es5/components/VList/VList.js.map +1 -1
- package/es5/components/VList/VListGroup.js +12 -15
- package/es5/components/VList/VListGroup.js.map +1 -1
- package/es5/components/VMenu/VMenu.js +1 -1
- package/es5/components/VMenu/VMenu.js.map +1 -1
- package/es5/components/VOverlay/VOverlay.js +1 -1
- package/es5/components/VOverlay/VOverlay.js.map +1 -1
- package/es5/components/VRadioGroup/VRadioGroup.js +5 -5
- package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/es5/components/VRangeSlider/VRangeSlider.js +1 -1
- package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
- package/es5/components/VSelect/VSelect.js +3 -5
- package/es5/components/VSelect/VSelect.js.map +1 -1
- package/es5/components/VSelect/VSelectList.js +7 -5
- package/es5/components/VSelect/VSelectList.js.map +1 -1
- package/es5/components/VSparkline/VSparkline.js +6 -6
- package/es5/components/VSparkline/VSparkline.js.map +1 -1
- package/es5/components/VStepper/VStepperContent.js +1 -1
- package/es5/components/VStepper/VStepperContent.js.map +1 -1
- package/es5/components/VStepper/VStepperStep.js +1 -1
- package/es5/components/VStepper/VStepperStep.js.map +1 -1
- package/es5/components/VSubheader/VSubheader.js +3 -3
- package/es5/components/VSubheader/VSubheader.js.map +1 -1
- package/es5/components/VTabs/VTab.js.map +1 -1
- package/es5/components/VTabs/VTabs.js +1 -2
- package/es5/components/VTabs/VTabs.js.map +1 -1
- package/es5/components/VTextField/VTextField.js +5 -2
- package/es5/components/VTextField/VTextField.js.map +1 -1
- package/es5/components/VToolbar/VToolbar.js +2 -3
- package/es5/components/VToolbar/VToolbar.js.map +1 -1
- package/es5/components/VTreeview/VTreeviewNode.js +1 -1
- package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/es5/components/transitions/createTransition.js +9 -4
- package/es5/components/transitions/createTransition.js.map +1 -1
- package/es5/components/transitions/expand-transition.js +8 -7
- package/es5/components/transitions/expand-transition.js.map +1 -1
- package/es5/directives/intersect/index.js +20 -7
- package/es5/directives/intersect/index.js.map +1 -1
- package/es5/directives/mutate/index.js +13 -13
- package/es5/directives/mutate/index.js.map +1 -1
- package/es5/directives/resize/index.js +8 -8
- package/es5/directives/resize/index.js.map +1 -1
- package/es5/directives/scroll/index.js +10 -9
- package/es5/directives/scroll/index.js.map +1 -1
- package/es5/directives/touch/index.js +4 -4
- package/es5/directives/touch/index.js.map +1 -1
- package/es5/framework.js +1 -1
- package/es5/install.js +10 -33
- package/es5/install.js.map +1 -1
- package/es5/mixins/activatable/index.js +9 -4
- package/es5/mixins/activatable/index.js.map +1 -1
- package/es5/mixins/applicationable/index.js +4 -4
- package/es5/mixins/applicationable/index.js.map +1 -1
- package/es5/mixins/binds-attrs/index.js +1 -1
- package/es5/mixins/binds-attrs/index.js.map +1 -1
- package/es5/mixins/detachable/index.js +5 -6
- package/es5/mixins/detachable/index.js.map +1 -1
- package/es5/mixins/groupable/index.js +1 -1
- package/es5/mixins/groupable/index.js.map +1 -1
- package/es5/mixins/intersectable/index.js +2 -2
- package/es5/mixins/intersectable/index.js.map +1 -1
- package/es5/mixins/menuable/index.js +1 -1
- package/es5/mixins/menuable/index.js.map +1 -1
- package/es5/mixins/overlayable/index.js +5 -4
- package/es5/mixins/overlayable/index.js.map +1 -1
- package/es5/mixins/proxyable/index.js +0 -4
- package/es5/mixins/proxyable/index.js.map +1 -1
- package/es5/mixins/selectable/index.js +2 -5
- package/es5/mixins/selectable/index.js.map +1 -1
- package/es5/mixins/translatable/index.js +1 -1
- package/es5/mixins/translatable/index.js.map +1 -1
- package/es5/mixins/validatable/index.js +2 -2
- package/es5/mixins/validatable/index.js.map +1 -1
- package/es5/services/breakpoint/index.js +3 -1
- package/es5/services/breakpoint/index.js.map +1 -1
- package/es5/util/helpers.js +44 -0
- package/es5/util/helpers.js.map +1 -1
- package/es5/util/legacyEventsMixin.js +48 -0
- package/es5/util/legacyEventsMixin.js.map +1 -0
- package/lib/components/VAppBar/VAppBar.js +7 -11
- package/lib/components/VAppBar/VAppBar.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js +11 -8
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VCheckbox/VSimpleCheckbox.js +72 -36
- package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/lib/components/VColorPicker/VColorPicker.js +6 -6
- package/lib/components/VColorPicker/VColorPicker.js.map +1 -1
- package/lib/components/VData/VData.js +15 -2
- package/lib/components/VData/VData.js.map +1 -1
- package/lib/components/VDataIterator/VDataIterator.js +4 -3
- package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.js +2 -2
- package/lib/components/VDataTable/VDataTable.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeader.js +4 -3
- package/lib/components/VDataTable/VDataTableHeader.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaderDesktop.js +3 -1
- package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
- package/lib/components/VDataTable/VVirtualTable.js +1 -1
- package/lib/components/VDataTable/VVirtualTable.js.map +1 -1
- package/lib/components/VDataTable/mixins/header.js +1 -1
- package/lib/components/VDataTable/mixins/header.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.js +6 -6
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDialog/VDialog.js +1 -1
- package/lib/components/VDialog/VDialog.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelContent.js +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
- package/lib/components/VForm/VForm.js +8 -8
- package/lib/components/VForm/VForm.js.map +1 -1
- package/lib/components/VGrid/VCol.js +3 -3
- package/lib/components/VGrid/VCol.js.map +1 -1
- package/lib/components/VGrid/VContainer.js +3 -1
- package/lib/components/VGrid/VContainer.js.map +1 -1
- package/lib/components/VImg/VImg.js +1 -1
- package/lib/components/VImg/VImg.js.map +1 -1
- package/lib/components/VInput/VInput.js +1 -1
- package/lib/components/VInput/VInput.js.map +1 -1
- package/lib/components/VItemGroup/VItem.js +20 -18
- package/lib/components/VItemGroup/VItem.js.map +1 -1
- package/lib/components/VItemGroup/VItemGroup.js +1 -1
- package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
- package/lib/components/VList/VList.js +1 -1
- package/lib/components/VList/VList.js.map +1 -1
- package/lib/components/VList/VListGroup.js +11 -15
- package/lib/components/VList/VListGroup.js.map +1 -1
- package/lib/components/VMenu/VMenu.js +1 -1
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VOverlay/VOverlay.js +1 -1
- package/lib/components/VOverlay/VOverlay.js.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.js +5 -7
- package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.js +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +1 -3
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSelect/VSelectList.js +7 -5
- package/lib/components/VSelect/VSelectList.js.map +1 -1
- package/lib/components/VSparkline/VSparkline.js +6 -6
- package/lib/components/VSparkline/VSparkline.js.map +1 -1
- package/lib/components/VStepper/VStepperContent.js +1 -1
- package/lib/components/VStepper/VStepperContent.js.map +1 -1
- package/lib/components/VStepper/VStepperStep.js +1 -1
- package/lib/components/VStepper/VStepperStep.js.map +1 -1
- package/lib/components/VSubheader/VSubheader.js +2 -3
- package/lib/components/VSubheader/VSubheader.js.map +1 -1
- package/lib/components/VTabs/VTab.js.map +1 -1
- package/lib/components/VTabs/VTabs.js +1 -2
- package/lib/components/VTabs/VTabs.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +5 -2
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VToolbar/VToolbar.js +4 -3
- package/lib/components/VToolbar/VToolbar.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewNode.js +1 -1
- package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/lib/components/transitions/createTransition.js +1 -1
- package/lib/components/transitions/createTransition.js.map +1 -1
- package/lib/components/transitions/expand-transition.js +8 -7
- package/lib/components/transitions/expand-transition.js.map +1 -1
- package/lib/directives/intersect/index.js +20 -7
- package/lib/directives/intersect/index.js.map +1 -1
- package/lib/directives/mutate/index.js +13 -13
- package/lib/directives/mutate/index.js.map +1 -1
- package/lib/directives/resize/index.js +8 -8
- package/lib/directives/resize/index.js.map +1 -1
- package/lib/directives/scroll/index.js +10 -9
- package/lib/directives/scroll/index.js.map +1 -1
- package/lib/directives/touch/index.js +4 -4
- package/lib/directives/touch/index.js.map +1 -1
- package/lib/framework.js +1 -1
- package/lib/install.js +5 -28
- package/lib/install.js.map +1 -1
- package/lib/mixins/activatable/index.js +10 -5
- package/lib/mixins/activatable/index.js.map +1 -1
- package/lib/mixins/applicationable/index.js +4 -4
- package/lib/mixins/applicationable/index.js.map +1 -1
- package/lib/mixins/binds-attrs/index.js +1 -1
- package/lib/mixins/binds-attrs/index.js.map +1 -1
- package/lib/mixins/detachable/index.js +6 -7
- package/lib/mixins/detachable/index.js.map +1 -1
- package/lib/mixins/groupable/index.js +1 -1
- package/lib/mixins/groupable/index.js.map +1 -1
- package/lib/mixins/intersectable/index.js +2 -2
- package/lib/mixins/intersectable/index.js.map +1 -1
- package/lib/mixins/menuable/index.js +1 -1
- package/lib/mixins/menuable/index.js.map +1 -1
- package/lib/mixins/overlayable/index.js +5 -4
- package/lib/mixins/overlayable/index.js.map +1 -1
- package/lib/mixins/proxyable/index.js +0 -4
- package/lib/mixins/proxyable/index.js.map +1 -1
- package/lib/mixins/selectable/index.js +2 -5
- package/lib/mixins/selectable/index.js.map +1 -1
- package/lib/mixins/translatable/index.js +1 -1
- package/lib/mixins/translatable/index.js.map +1 -1
- package/lib/mixins/validatable/index.js +2 -2
- package/lib/mixins/validatable/index.js.map +1 -1
- package/lib/services/breakpoint/index.js +3 -1
- package/lib/services/breakpoint/index.js.map +1 -1
- package/lib/util/helpers.js +42 -0
- package/lib/util/helpers.js.map +1 -1
- package/lib/util/legacyEventsMixin.js +37 -0
- package/lib/util/legacyEventsMixin.js.map +1 -0
- package/package.json +1 -1
- package/src/components/VAppBar/VAppBar.ts +11 -13
- package/src/components/VAutocomplete/VAutocomplete.ts +13 -6
- package/src/components/VBottomSheet/VBottomSheet.sass +1 -1
- package/src/components/VCheckbox/VSimpleCheckbox.ts +84 -42
- package/src/components/VCheckbox/__tests__/VSimpleCheckbox.spec.ts +46 -13
- package/src/components/VColorPicker/VColorPicker.ts +6 -6
- package/src/components/VData/VData.ts +12 -1
- package/src/components/VDataIterator/VDataIterator.ts +5 -3
- package/src/components/VDataTable/VDataTable.ts +2 -2
- package/src/components/VDataTable/VDataTableHeader.ts +5 -4
- package/src/components/VDataTable/VDataTableHeaderDesktop.ts +1 -1
- package/src/components/VDataTable/VVirtualTable.ts +1 -1
- package/src/components/VDataTable/mixins/header.ts +6 -6
- package/src/components/VDatePicker/VDatePicker.ts +6 -6
- package/src/components/VDialog/VDialog.ts +1 -1
- package/src/components/VExpansionPanel/VExpansionPanelContent.ts +1 -1
- package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +1 -1
- package/src/components/VForm/VForm.ts +8 -8
- package/src/components/VGrid/VCol.ts +2 -2
- package/src/components/VGrid/VContainer.ts +1 -1
- package/src/components/VImg/VImg.ts +1 -1
- package/src/components/VInput/VInput.ts +1 -1
- package/src/components/VItemGroup/VItem.ts +25 -23
- package/src/components/VItemGroup/VItemGroup.ts +3 -3
- package/src/components/VList/VList.ts +1 -1
- package/src/components/VList/VListGroup.ts +14 -14
- package/src/components/VMenu/VMenu.sass +2 -2
- package/src/components/VMenu/VMenu.ts +1 -0
- package/src/components/VOverlay/VOverlay.ts +1 -1
- package/src/components/VRadioGroup/VRadioGroup.ts +8 -9
- package/src/components/VRangeSlider/VRangeSlider.ts +1 -1
- package/src/components/VSelect/VSelect.ts +6 -5
- package/src/components/VSelect/VSelectList.ts +5 -5
- package/src/components/VSnackbar/VSnackbar.sass +2 -2
- package/src/components/VSparkline/VSparkline.ts +6 -6
- package/src/components/VStepper/VStepperContent.ts +1 -1
- package/src/components/VStepper/VStepperStep.ts +1 -1
- package/src/components/VSubheader/VSubheader.ts +2 -2
- package/src/components/VTabs/VTab.ts +1 -1
- package/src/components/VTabs/VTabs.ts +1 -2
- package/src/components/VTabs/__tests__/VTab.spec.ts +48 -37
- package/src/components/VTabs/__tests__/VTabs.spec.ts +134 -79
- package/src/components/VTabs/__tests__/VTabsBar.spec.ts +67 -26
- package/src/components/VTabs/__tests__/VTabsSlider.spec.ts +7 -6
- package/src/components/VTabs/__tests__/__snapshots__/VTabs.spec.ts.snap +1 -3
- package/src/components/VTextField/VTextField.ts +4 -3
- package/src/components/VToolbar/VToolbar.ts +4 -5
- package/src/components/VTreeview/VTreeviewNode.ts +1 -1
- package/src/components/transitions/createTransition.ts +1 -2
- package/src/components/transitions/expand-transition.ts +9 -7
- package/src/directives/intersect/index.ts +81 -42
- package/src/directives/mutate/index.ts +58 -49
- package/src/directives/resize/index.ts +33 -14
- package/src/directives/scroll/index.ts +36 -20
- package/src/directives/touch/index.ts +37 -27
- package/src/install.ts +10 -32
- package/src/mixins/activatable/index.ts +8 -4
- package/src/mixins/applicationable/index.ts +4 -4
- package/src/mixins/binds-attrs/index.ts +1 -1
- package/src/mixins/detachable/index.ts +7 -6
- package/src/mixins/groupable/index.ts +1 -1
- package/src/mixins/intersectable/index.ts +2 -2
- package/src/mixins/menuable/index.ts +1 -1
- package/src/mixins/overlayable/index.ts +4 -5
- package/src/mixins/proxyable/index.ts +0 -5
- package/src/mixins/selectable/index.ts +3 -7
- package/src/mixins/translatable/index.ts +1 -1
- package/src/mixins/validatable/index.ts +2 -2
- package/src/services/breakpoint/index.ts +5 -0
- package/src/styles/generic/_transitions.scss +38 -38
- package/src/util/__tests__/helpers.spec.ts +62 -1
- package/src/util/helpers.ts +42 -1
- package/src/util/legacyEventsMixin.ts +34 -0
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import "../../../src/components/VCheckbox/VSimpleCheckbox.sass";
|
|
2
2
|
import Ripple from '../../directives/ripple';
|
|
3
|
-
import { h } from 'vue';
|
|
4
|
-
import { defineComponent } from 'vue';
|
|
3
|
+
import { h, defineComponent, withDirectives } from 'vue';
|
|
5
4
|
import { VIcon } from '../VIcon'; // Mixins
|
|
6
5
|
|
|
7
6
|
import Colorable from '../../mixins/colorable';
|
|
@@ -10,7 +9,6 @@ import Themeable from '../../mixins/themeable'; // Utilities
|
|
|
10
9
|
import mergeData from '../../util/mergeData';
|
|
11
10
|
export default defineComponent({
|
|
12
11
|
name: 'v-simple-checkbox',
|
|
13
|
-
functional: true,
|
|
14
12
|
directives: {
|
|
15
13
|
Ripple
|
|
16
14
|
},
|
|
@@ -21,7 +19,7 @@ export default defineComponent({
|
|
|
21
19
|
type: Boolean,
|
|
22
20
|
default: true
|
|
23
21
|
},
|
|
24
|
-
|
|
22
|
+
modelValue: Boolean,
|
|
25
23
|
indeterminate: Boolean,
|
|
26
24
|
indeterminateIcon: {
|
|
27
25
|
type: String,
|
|
@@ -36,48 +34,86 @@ export default defineComponent({
|
|
|
36
34
|
default: '$checkboxOff'
|
|
37
35
|
}
|
|
38
36
|
},
|
|
37
|
+
emits: ['input', 'update:modelValue'],
|
|
38
|
+
methods: {
|
|
39
|
+
getIcon() {
|
|
40
|
+
const {
|
|
41
|
+
indeterminate,
|
|
42
|
+
modelValue,
|
|
43
|
+
indeterminateIcon,
|
|
44
|
+
onIcon,
|
|
45
|
+
offIcon
|
|
46
|
+
} = this.$props;
|
|
47
|
+
if (indeterminate) return indeterminateIcon;
|
|
48
|
+
if (modelValue) return onIcon;
|
|
49
|
+
return offIcon;
|
|
50
|
+
},
|
|
39
51
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
52
|
+
createIcon() {
|
|
53
|
+
const {
|
|
54
|
+
modelValue,
|
|
55
|
+
disabled,
|
|
56
|
+
dark,
|
|
57
|
+
light,
|
|
58
|
+
color
|
|
59
|
+
} = this.$props;
|
|
60
|
+
return h(VIcon, Colorable.methods.setTextColor(modelValue && color, {
|
|
61
|
+
disabled,
|
|
62
|
+
dark,
|
|
63
|
+
light
|
|
64
|
+
}), () => this.getIcon());
|
|
65
|
+
},
|
|
66
|
+
|
|
67
|
+
createRipple() {
|
|
68
|
+
const {
|
|
69
|
+
ripple,
|
|
70
|
+
disabled,
|
|
71
|
+
color
|
|
72
|
+
} = this.$props;
|
|
73
|
+
if (!ripple || disabled) return null;
|
|
74
|
+
return withDirectives(h('div', Colorable.methods.setTextColor(color, {
|
|
75
|
+
class: 'v-input--selection-controls__ripple'
|
|
76
|
+
})), [[Ripple, {
|
|
77
|
+
center: true
|
|
78
|
+
}]]);
|
|
79
|
+
},
|
|
80
|
+
|
|
81
|
+
handleClick(e) {
|
|
82
|
+
e.stopPropagation();
|
|
83
|
+
if (this.$props.disabled) return;
|
|
84
|
+
const newValue = !this.modelValue;
|
|
85
|
+
const attrs = this.$attrs;
|
|
86
|
+
this.$emit("input", newValue);
|
|
87
|
+
this.$emit('update:modelValue', newValue);
|
|
88
|
+
},
|
|
89
|
+
|
|
90
|
+
createChildren() {
|
|
91
|
+
const children = [this.createIcon()];
|
|
92
|
+
const ripple = this.createRipple();
|
|
51
93
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
name: 'ripple',
|
|
58
|
-
value: {
|
|
59
|
-
center: true
|
|
60
|
-
}
|
|
61
|
-
}]
|
|
62
|
-
}));
|
|
63
|
-
children.push(ripple);
|
|
94
|
+
if (ripple) {
|
|
95
|
+
children.push(ripple);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
return children;
|
|
64
99
|
}
|
|
65
100
|
|
|
101
|
+
},
|
|
102
|
+
|
|
103
|
+
render() {
|
|
104
|
+
const {
|
|
105
|
+
disabled
|
|
106
|
+
} = this.$props;
|
|
107
|
+
const data = this.$attrs;
|
|
66
108
|
return h('div', mergeData(data, {
|
|
67
109
|
class: {
|
|
68
110
|
'v-simple-checkbox': true,
|
|
69
|
-
'v-simple-checkbox--disabled':
|
|
111
|
+
'v-simple-checkbox--disabled': disabled
|
|
70
112
|
},
|
|
71
|
-
onClick:
|
|
72
|
-
e.stopPropagation();
|
|
73
|
-
|
|
74
|
-
if (data.on && data.on.input && !props.disabled) {
|
|
75
|
-
data.onInput && data.onInput(!props.value);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
113
|
+
onClick: this.handleClick
|
|
78
114
|
}), [h('div', {
|
|
79
115
|
class: 'v-input--selection-controls__input'
|
|
80
|
-
},
|
|
116
|
+
}, this.createChildren())]);
|
|
81
117
|
}
|
|
82
118
|
|
|
83
119
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VCheckbox/VSimpleCheckbox.ts"],"names":[],"mappings":"AAAA,OAAO,wDAAP;AAEA,OAAO,MAAP,MAAmB,yBAAnB;AAEA,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VCheckbox/VSimpleCheckbox.ts"],"names":[],"mappings":"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","sourcesContent":["import './VSimpleCheckbox.sass'\n\nimport Ripple from '../../directives/ripple'\n\nimport { VNode, h, defineComponent, withDirectives } from 'vue'\n\nimport { VIcon } from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport { wrapInArray } from '../../util/helpers'\n\nexport default defineComponent({\n name: 'v-simple-checkbox',\n\n directives: {\n Ripple,\n },\n\n props: {\n ...Colorable.props,\n ...Themeable.props,\n disabled: Boolean,\n ripple: {\n type: Boolean,\n default: true,\n },\n modelValue: Boolean,\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n },\n\n emits: ['input', 'update:modelValue'],\n\n methods: {\n getIcon (): string {\n const { indeterminate, modelValue, indeterminateIcon, onIcon, offIcon } = this.$props\n\n if (indeterminate) return indeterminateIcon\n if (modelValue) return onIcon\n return offIcon\n },\n\n createIcon (): VNode {\n const { modelValue, disabled, dark, light, color } = this.$props\n\n return h(\n VIcon,\n Colorable.methods.setTextColor(modelValue && color, {\n disabled,\n dark,\n light,\n }),\n () => this.getIcon()\n )\n },\n\n createRipple (): VNode | null {\n const { ripple, disabled, color } = this.$props\n\n if (!ripple || disabled) return null\n\n return withDirectives(\n h(\n 'div',\n Colorable.methods.setTextColor(color, {\n class: 'v-input--selection-controls__ripple',\n })\n ),\n [\n [Ripple, { center: true }],\n ]\n )\n },\n\n handleClick (e: MouseEvent): void {\n e.stopPropagation()\n\n if (this.$props.disabled) return\n\n const newValue = !this.modelValue\n const attrs = this.$attrs\n\n\n this.$emit(\"input\", newValue);\n this.$emit('update:modelValue', newValue)\n },\n\n createChildren (): VNode[] {\n const children = [this.createIcon()]\n\n const ripple = this.createRipple()\n if (ripple) {\n children.push(ripple)\n }\n\n return children\n },\n },\n\n render (): VNode {\n const { disabled } = this.$props\n const data = this.$attrs\n\n return h(\n 'div',\n mergeData(data, {\n class: {\n 'v-simple-checkbox': true,\n 'v-simple-checkbox--disabled': disabled,\n },\n onClick: this.handleClick,\n }),\n [\n h(\n 'div',\n { class: 'v-input--selection-controls__input' },\n this.createChildren()\n )\n ]\n )\n },\n})\n"],"sourceRoot":"","file":"VSimpleCheckbox.js"}
|
|
@@ -42,7 +42,7 @@ export default mixins(Elevatable, Themeable).extend({
|
|
|
42
42
|
type: [Number, String],
|
|
43
43
|
default: 150
|
|
44
44
|
},
|
|
45
|
-
|
|
45
|
+
modelValue: {
|
|
46
46
|
type: [Object, String]
|
|
47
47
|
},
|
|
48
48
|
width: {
|
|
@@ -60,8 +60,8 @@ export default mixins(Elevatable, Themeable).extend({
|
|
|
60
60
|
}),
|
|
61
61
|
computed: {
|
|
62
62
|
hideAlpha() {
|
|
63
|
-
if (!this.
|
|
64
|
-
return !hasAlpha(this.
|
|
63
|
+
if (!this.modelValue) return false;
|
|
64
|
+
return !hasAlpha(this.modelValue);
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
},
|
|
@@ -77,10 +77,10 @@ export default mixins(Elevatable, Themeable).extend({
|
|
|
77
77
|
methods: {
|
|
78
78
|
updateColor(color) {
|
|
79
79
|
this.internalValue = color;
|
|
80
|
-
const value = extractColor(this.internalValue, this.
|
|
80
|
+
const value = extractColor(this.internalValue, this.modelValue);
|
|
81
81
|
|
|
82
|
-
if (!deepEqual(value, this.
|
|
83
|
-
this.$emit('
|
|
82
|
+
if (!deepEqual(value, this.modelValue)) {
|
|
83
|
+
this.$emit('update:modelValue', value);
|
|
84
84
|
this.$emit('update:color', this.internalValue);
|
|
85
85
|
}
|
|
86
86
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VColorPicker/VColorPicker.ts"],"names":[],"mappings":"AAAA,SAAQ,CAAR,QAAgB,KAAhB,C,CACA;;AACA,OAAO,wDAAP,C,CAEA;;AACA,OAAO,MAAP,MAAmB,kBAAnB;AACA,OAAO,mBAAP,MAAgC,uBAAhC;AACA,OAAO,kBAAP,MAA+B,sBAA/B;AACA,OAAO,gBAAP,IAAiC,KAAjC,QAA8C,oBAA9C;AACA,OAAO,oBAAP,MAAiC,wBAAjC,C,CAEA;;AACA,SAA4B,UAA5B,EAAwC,QAAxC,EAAkD,YAAlD,EAAgE,QAAhE,QAAgF,QAAhF;AACA,OAAO,MAAP,MAAmB,mBAAnB;AACA,SAAS,SAAT,QAA0B,oBAA1B,C,CAEA;;AACA,OAAO,UAAP,MAAuB,yBAAvB;AACA,OAAO,SAAP,MAAsB,wBAAtB;AAKA,eAAe,MAAM,CAAC,UAAD,EAAa,SAAb,CAAN,CAA8B,MAA9B,CAAqC;AAClD,EAAA,IAAI,EAAE,gBAD4C;AAGlD,EAAA,KAAK,EAAE;AACL,IAAA,YAAY,EAAE;AACZ,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADM;AAEZ,MAAA,OAAO,EAAE;AAFG,KADT;AAKL,IAAA,QAAQ,EAAE,OALL;AAML,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADC;AAEP,MAAA,OAAO,EAAE;AAFF,KANJ;AAUL,IAAA,IAAI,EAAE,OAVD;AAWL,IAAA,UAAU,EAAE,OAXP;AAYL,IAAA,WAAW,EAAE,OAZR;AAaL,IAAA,UAAU,EAAE,OAbP;AAcL,IAAA,cAAc,EAAE,OAdX;AAeL,IAAA,IAAI,EAAE;AACJ,MAAA,IAAI,EAAE,MADF;AAEJ,MAAA,OAAO,EAAE,MAFL;AAGJ,MAAA,SAAS,EAAG,CAAD,IAAe,MAAM,CAAC,IAAP,CAAY,KAAZ,EAAmB,QAAnB,CAA4B,CAA5B;AAHtB,KAfD;AAoBL,IAAA,YAAY,EAAE,OApBT;AAqBL,IAAA,QAAQ,EAAE,KArBL;AAsBL,IAAA,iBAAiB,EAAE;AACjB,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADW;AAEjB,MAAA,OAAO,EAAE;AAFQ,KAtBd;AA0BL,IAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VColorPicker/VColorPicker.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\n// Styles\nimport './VColorPicker.sass'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\nimport VColorPickerPreview from './VColorPickerPreview'\nimport VColorPickerCanvas from './VColorPickerCanvas'\nimport VColorPickerEdit, { Mode, modes } from './VColorPickerEdit'\nimport VColorPickerSwatches from './VColorPickerSwatches'\n\n// Helpers\nimport { VColorPickerColor, parseColor, fromRGBA, extractColor, hasAlpha } from './util'\nimport mixins from '../../util/mixins'\nimport { deepEqual } from '../../util/helpers'\n\n// Mixins\nimport Elevatable from '../../mixins/elevatable'\nimport Themeable from '../../mixins/themeable'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\nexport default mixins(Elevatable, Themeable).extend({\n name: 'v-color-picker',\n\n props: {\n canvasHeight: {\n type: [String, Number],\n default: 150,\n },\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10,\n },\n flat: Boolean,\n hideCanvas: Boolean,\n hideSliders: Boolean,\n hideInputs: Boolean,\n hideModeSwitch: Boolean,\n mode: {\n type: String,\n default: 'rgba',\n validator: (v: string) => Object.keys(modes).includes(v),\n },\n showSwatches: Boolean,\n swatches: Array as PropType<string[][]>,\n swatchesMaxHeight: {\n type: [Number, String],\n default: 150,\n },\n modelValue: {\n type: [Object, String],\n },\n width: {\n type: [Number, String],\n default: 300,\n },\n },\n\n data: () => ({\n internalValue: fromRGBA({ r: 255, g: 0, b: 0, a: 1 }),\n }),\n\n computed: {\n hideAlpha (): boolean {\n if (!this.modelValue) return false\n\n return !hasAlpha(this.modelValue)\n },\n },\n\n watch: {\n value: {\n handler (color: any) {\n this.updateColor(parseColor(color, this.internalValue))\n },\n immediate: true,\n },\n },\n\n methods: {\n updateColor (color: VColorPickerColor) {\n this.internalValue = color\n const value = extractColor(this.internalValue, this.modelValue)\n\n if (!deepEqual(value, this.modelValue)) {\n this.$emit('update:modelValue', value)\n this.$emit('update:color', this.internalValue)\n }\n },\n genCanvas (): VNode {\n return h(VColorPickerCanvas, {\n color: this.internalValue,\n disabled: this.disabled,\n dotSize: this.dotSize,\n width: this.width,\n height: this.canvasHeight,\n 'onUpdate:color': this.updateColor\n })\n },\n genControls (): VNode {\n return h('div', {\n class: 'v-color-picker__controls',\n }, [\n !this.hideSliders && this.genPreview(),\n !this.hideInputs && this.genEdit(),\n ])\n },\n genEdit (): VNode {\n return h(VColorPickerEdit, {\n color: this.internalValue,\n disabled: this.disabled,\n hideAlpha: this.hideAlpha,\n hideModeSwitch: this.hideModeSwitch,\n mode: this.mode,\n 'onUpdate:color': this.updateColor,\n 'onUpdate:mode': (v: Mode) => this.$emit('update:mode', v),\n })\n },\n genPreview (): VNode {\n return h(VColorPickerPreview, {\n props: {\n color: this.internalValue,\n disabled: this.disabled,\n hideAlpha: this.hideAlpha,\n },\n on: {\n 'update:color': this.updateColor,\n },\n })\n },\n genSwatches (): VNode {\n return h(VColorPickerSwatches, {\n props: {\n dark: this.dark,\n light: this.light,\n disabled: this.disabled,\n swatches: this.swatches,\n color: this.internalValue,\n maxHeight: this.swatchesMaxHeight,\n },\n on: {\n 'update:color': this.updateColor,\n },\n })\n },\n },\n\n render (): VNode {\n return h(VSheet, {\n class: 'v-color-picker',\n class: {\n 'v-color-picker--flat': this.flat,\n ...this.themeClasses,\n ...this.elevationClasses,\n },\n props: {\n maxWidth: this.width,\n },\n }, [\n !this.hideCanvas && this.genCanvas(),\n (!this.hideSliders || !this.hideInputs) && this.genControls(),\n this.showSwatches && this.genSwatches(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VColorPicker.js"}
|
|
@@ -200,8 +200,17 @@ export default defineComponent({
|
|
|
200
200
|
this.$emit('update:options', options);
|
|
201
201
|
},
|
|
202
202
|
|
|
203
|
-
deep: true
|
|
204
|
-
|
|
203
|
+
deep: true
|
|
204
|
+
/*
|
|
205
|
+
In Vue 3 this watcher fires even before created hook and
|
|
206
|
+
if mounting fails and the consumer code relies on update:options event to fetch data
|
|
207
|
+
it causes infinite loop because each data update triggers an attempt to render a table,
|
|
208
|
+
but because mounting constantly fails(for example, due to error in slot) it never happens.
|
|
209
|
+
Previously, in Vue 2 slot errors didn't cause mounting failure, we had partially rendered component.
|
|
210
|
+
This immediate prop is compensated by firing event in mounted hook.
|
|
211
|
+
*/
|
|
212
|
+
// immediate: true,
|
|
213
|
+
|
|
205
214
|
},
|
|
206
215
|
|
|
207
216
|
page(page) {
|
|
@@ -422,6 +431,10 @@ export default defineComponent({
|
|
|
422
431
|
|
|
423
432
|
render() {
|
|
424
433
|
return this.$slots.default && this.$slots.default(this.scopedProps)[0];
|
|
434
|
+
},
|
|
435
|
+
|
|
436
|
+
mounted() {
|
|
437
|
+
this.$emit('update:options', this.internalOptions);
|
|
425
438
|
}
|
|
426
439
|
|
|
427
440
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VData/VData.ts"],"names":[],"mappings":"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","sourcesContent":["// Helpers\nimport { wrapInArray, sortItems, deepEqual, groupItems, searchItems, fillArray } from '../../util/helpers'\nimport { defineComponent, VNode } from 'vue'\n\n// Types\nimport {\n DataOptions,\n DataPagination,\n DataScopeProps,\n DataSortFunction,\n DataGroupFunction,\n DataSearchFunction,\n ItemGroup,\n} from 'vuetify/types'\nimport { PropValidator } from 'vue/types/options'\n\nexport default defineComponent({\n name: 'v-data',\n\n inheritAttrs: false,\n\n props: {\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n options: {\n type: Object,\n default: () => ({}),\n } as PropValidator<Partial<DataOptions>>,\n sortBy: {\n type: [String, Array],\n } as PropValidator<string | string[] | undefined>,\n sortDesc: {\n type: [Boolean, Array],\n } as PropValidator<boolean | boolean[] | undefined>,\n customSort: {\n type: Function,\n default: sortItems,\n } as PropValidator<DataSortFunction>,\n mustSort: Boolean,\n multiSort: Boolean,\n page: {\n type: Number,\n default: 1,\n },\n itemsPerPage: {\n type: Number,\n default: 10,\n },\n groupBy: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<string | string[]>,\n groupDesc: {\n type: [Boolean, Array],\n default: () => [],\n } as PropValidator<boolean | boolean[]>,\n customGroup: {\n type: Function,\n default: groupItems,\n } as PropValidator<DataGroupFunction>,\n locale: {\n type: String,\n default: 'en-US',\n },\n disableSort: Boolean,\n disablePagination: Boolean,\n disableFiltering: Boolean,\n search: String,\n customFilter: {\n type: Function,\n default: searchItems,\n } as PropValidator<DataSearchFunction>,\n serverItemsLength: {\n type: Number,\n default: -1,\n },\n },\n\n data () {\n let internalOptions: DataOptions = {\n page: this.page,\n itemsPerPage: this.itemsPerPage,\n sortBy: wrapInArray(this.sortBy),\n sortDesc: wrapInArray(this.sortDesc),\n groupBy: wrapInArray(this.groupBy),\n groupDesc: wrapInArray(this.groupDesc),\n mustSort: this.mustSort,\n multiSort: this.multiSort,\n }\n\n if (this.options) {\n internalOptions = Object.assign(internalOptions, this.options)\n }\n\n const { sortBy, sortDesc, groupBy, groupDesc } = internalOptions\n const sortDiff = sortBy.length - sortDesc.length\n const groupDiff = groupBy.length - groupDesc.length\n\n if (sortDiff > 0) {\n internalOptions.sortDesc.push(...fillArray(sortDiff, false))\n }\n\n if (groupDiff > 0) {\n internalOptions.groupDesc.push(...fillArray(groupDiff, false))\n }\n\n return {\n internalOptions,\n }\n },\n\n computed: {\n itemsLength (): number {\n return this.serverItemsLength >= 0 ? this.serverItemsLength : this.filteredItems.length\n },\n pageCount (): number {\n return this.internalOptions.itemsPerPage <= 0\n ? 1\n : Math.ceil(this.itemsLength / this.internalOptions.itemsPerPage)\n },\n pageStart (): number {\n if (this.internalOptions.itemsPerPage === -1 || !this.items.length) return 0\n\n return (this.internalOptions.page - 1) * this.internalOptions.itemsPerPage\n },\n pageStop (): number {\n if (this.internalOptions.itemsPerPage === -1) return this.itemsLength\n if (!this.items.length) return 0\n\n return Math.min(this.itemsLength, this.internalOptions.page * this.internalOptions.itemsPerPage)\n },\n isGrouped (): boolean {\n return !!this.internalOptions.groupBy.length\n },\n pagination (): DataPagination {\n return {\n page: this.internalOptions.page,\n itemsPerPage: this.internalOptions.itemsPerPage,\n pageStart: this.pageStart,\n pageStop: this.pageStop,\n pageCount: this.pageCount,\n itemsLength: this.itemsLength,\n }\n },\n filteredItems (): any[] {\n let items = this.items.slice()\n\n if (!this.disableFiltering && this.serverItemsLength <= 0) {\n items = this.customFilter(items, this.search)\n }\n\n return items\n },\n computedItems (): any[] {\n let items = this.filteredItems.slice()\n\n if ((!this.disableSort || this.internalOptions.groupBy.length) && this.serverItemsLength <= 0) {\n items = this.sortItems(items)\n }\n\n if (!this.disablePagination && this.serverItemsLength <= 0) {\n items = this.paginateItems(items)\n }\n\n return items\n },\n groupedItems (): ItemGroup<any>[] | null {\n return this.isGrouped ? this.groupItems(this.computedItems) : null\n },\n scopedProps (): DataScopeProps {\n return {\n sort: this.sort,\n sortArray: this.sortArray,\n group: this.group,\n items: this.computedItems,\n options: this.internalOptions,\n updateOptions: this.updateOptions,\n pagination: this.pagination,\n groupedItems: this.groupedItems,\n originalItemsLength: this.items.length,\n }\n },\n computedOptions (): DataOptions {\n return { ...this.options } as DataOptions\n },\n },\n\n watch: {\n computedOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n\n this.updateOptions(options)\n },\n deep: true,\n immediate: true,\n },\n internalOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n this.$emit('update:options', options)\n },\n deep: true,\n immediate: true,\n },\n page (page: number) {\n this.updateOptions({ page })\n },\n 'internalOptions.page' (page: number) {\n this.$emit('update:page', page)\n },\n itemsPerPage (itemsPerPage: number) {\n this.updateOptions({ itemsPerPage })\n },\n 'internalOptions.itemsPerPage' (itemsPerPage: number) {\n this.$emit('update:items-per-page', itemsPerPage)\n },\n sortBy (sortBy: string | string[]) {\n this.updateOptions({ sortBy: wrapInArray(sortBy) })\n },\n 'internalOptions.sortBy' (sortBy: string[], old: string[]) {\n !deepEqual(sortBy, old) && this.$emit('update:sort-by', Array.isArray(this.sortBy) ? sortBy : sortBy[0])\n },\n sortDesc (sortDesc: boolean | boolean[]) {\n this.updateOptions({ sortDesc: wrapInArray(sortDesc) })\n },\n 'internalOptions.sortDesc' (sortDesc: boolean[], old: boolean[]) {\n !deepEqual(sortDesc, old) && this.$emit('update:sort-desc', Array.isArray(this.sortDesc) ? sortDesc : sortDesc[0])\n },\n groupBy (groupBy: string | string[]) {\n this.updateOptions({ groupBy: wrapInArray(groupBy) })\n },\n 'internalOptions.groupBy' (groupBy: string[], old: string[]) {\n !deepEqual(groupBy, old) && this.$emit('update:group-by', Array.isArray(this.groupBy) ? groupBy : groupBy[0])\n },\n groupDesc (groupDesc: boolean | boolean[]) {\n this.updateOptions({ groupDesc: wrapInArray(groupDesc) })\n },\n 'internalOptions.groupDesc' (groupDesc: boolean[], old: boolean[]) {\n !deepEqual(groupDesc, old) && this.$emit('update:group-desc', Array.isArray(this.groupDesc) ? groupDesc : groupDesc[0])\n },\n multiSort (multiSort: boolean) {\n this.updateOptions({ multiSort })\n },\n 'internalOptions.multiSort' (multiSort: boolean) {\n this.$emit('update:multi-sort', multiSort)\n },\n mustSort (mustSort: boolean) {\n this.updateOptions({ mustSort })\n },\n 'internalOptions.mustSort' (mustSort: boolean) {\n this.$emit('update:must-sort', mustSort)\n },\n pageCount: {\n handler (pageCount: number) {\n this.$emit('page-count', pageCount)\n },\n immediate: true,\n },\n computedItems: {\n handler (computedItems: any[]) {\n this.$emit('current-items', computedItems)\n },\n immediate: true,\n },\n pagination: {\n handler (pagination: DataPagination, old: DataPagination) {\n if (deepEqual(pagination, old)) return\n this.$emit('pagination', this.pagination)\n },\n immediate: true,\n },\n },\n\n methods: {\n toggle (key: string, oldBy: string[], oldDesc: boolean[], page: number, mustSort: boolean, multiSort: boolean) {\n let by = oldBy.slice()\n let desc = oldDesc.slice()\n const byIndex = by.findIndex((k: string) => k === key)\n\n if (byIndex < 0) {\n if (!multiSort) {\n by = []\n desc = []\n }\n\n by.push(key)\n desc.push(false)\n } else if (byIndex >= 0 && !desc[byIndex]) {\n desc[byIndex] = true\n } else if (!mustSort) {\n by.splice(byIndex, 1)\n desc.splice(byIndex, 1)\n } else {\n desc[byIndex] = false\n }\n\n // Reset page to 1 if sortBy or sortDesc have changed\n if (!deepEqual(by, oldBy) || !deepEqual(desc, oldDesc)) {\n page = 1\n }\n\n return { by, desc, page }\n },\n group (key: string): void {\n const { by: groupBy, desc: groupDesc, page } = this.toggle(\n key,\n this.internalOptions.groupBy,\n this.internalOptions.groupDesc,\n this.internalOptions.page,\n true,\n false\n )\n this.updateOptions({ groupBy, groupDesc, page })\n },\n sort (key: string | string[]): void {\n if (Array.isArray(key)) return this.sortArray(key)\n\n const { by: sortBy, desc: sortDesc, page } = this.toggle(\n key,\n this.internalOptions.sortBy,\n this.internalOptions.sortDesc,\n this.internalOptions.page,\n this.internalOptions.mustSort,\n this.internalOptions.multiSort\n )\n this.updateOptions({ sortBy, sortDesc, page })\n },\n sortArray (sortBy: string[]) {\n const sortDesc = sortBy.map(s => {\n const i = this.internalOptions.sortBy.findIndex((k: string) => k === s)\n return i > -1 ? this.internalOptions.sortDesc[i] : false\n })\n\n this.updateOptions({ sortBy, sortDesc })\n },\n updateOptions (options: any) {\n this.internalOptions = {\n ...this.internalOptions,\n ...options,\n page: this.serverItemsLength < 0\n ? Math.max(1, Math.min(options.page || this.internalOptions.page, this.pageCount))\n : options.page || this.internalOptions.page,\n }\n },\n sortItems (items: any[]): any[] {\n let sortBy: string[] = []\n let sortDesc: boolean[] = []\n\n if (!this.disableSort) {\n sortBy = this.internalOptions.sortBy\n sortDesc = this.internalOptions.sortDesc\n }\n\n if (this.internalOptions.groupBy.length) {\n sortBy = [...this.internalOptions.groupBy, ...sortBy]\n sortDesc = [...this.internalOptions.groupDesc, ...sortDesc]\n }\n\n return this.customSort(items, sortBy, sortDesc, this.locale)\n },\n groupItems (items: any[]): ItemGroup<any>[] {\n return this.customGroup(items, this.internalOptions.groupBy, this.internalOptions.groupDesc)\n },\n paginateItems (items: any[]): any[] {\n // Make sure we don't try to display non-existant page if items suddenly change\n // TODO: Could possibly move this to pageStart/pageStop?\n if (this.serverItemsLength === -1 && items.length <= this.pageStart) {\n this.internalOptions.page = Math.max(1, Math.ceil(items.length / this.internalOptions.itemsPerPage)) || 1 // Prevent NaN\n }\n\n return items.slice(this.pageStart, this.pageStop)\n },\n },\n\n render (): VNode {\n return this.$slots.default && this.$slots.default(this.scopedProps)[0] as any\n },\n})\n"],"sourceRoot":"","file":"VData.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VData/VData.ts"],"names":[],"mappings":"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","sourcesContent":["// Helpers\nimport { wrapInArray, sortItems, deepEqual, groupItems, searchItems, fillArray } from '../../util/helpers'\nimport { defineComponent, VNode } from 'vue'\n\n// Types\nimport {\n DataOptions,\n DataPagination,\n DataScopeProps,\n DataSortFunction,\n DataGroupFunction,\n DataSearchFunction,\n ItemGroup,\n} from 'vuetify/types'\nimport { PropValidator } from 'vue/types/options'\n\nexport default defineComponent({\n name: 'v-data',\n\n inheritAttrs: false,\n\n props: {\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n options: {\n type: Object,\n default: () => ({}),\n } as PropValidator<Partial<DataOptions>>,\n sortBy: {\n type: [String, Array],\n } as PropValidator<string | string[] | undefined>,\n sortDesc: {\n type: [Boolean, Array],\n } as PropValidator<boolean | boolean[] | undefined>,\n customSort: {\n type: Function,\n default: sortItems,\n } as PropValidator<DataSortFunction>,\n mustSort: Boolean,\n multiSort: Boolean,\n page: {\n type: Number,\n default: 1,\n },\n itemsPerPage: {\n type: Number,\n default: 10,\n },\n groupBy: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<string | string[]>,\n groupDesc: {\n type: [Boolean, Array],\n default: () => [],\n } as PropValidator<boolean | boolean[]>,\n customGroup: {\n type: Function,\n default: groupItems,\n } as PropValidator<DataGroupFunction>,\n locale: {\n type: String,\n default: 'en-US',\n },\n disableSort: Boolean,\n disablePagination: Boolean,\n disableFiltering: Boolean,\n search: String,\n customFilter: {\n type: Function,\n default: searchItems,\n } as PropValidator<DataSearchFunction>,\n serverItemsLength: {\n type: Number,\n default: -1,\n },\n },\n\n data () {\n let internalOptions: DataOptions = {\n page: this.page,\n itemsPerPage: this.itemsPerPage,\n sortBy: wrapInArray(this.sortBy),\n sortDesc: wrapInArray(this.sortDesc),\n groupBy: wrapInArray(this.groupBy),\n groupDesc: wrapInArray(this.groupDesc),\n mustSort: this.mustSort,\n multiSort: this.multiSort,\n }\n\n if (this.options) {\n internalOptions = Object.assign(internalOptions, this.options)\n }\n\n const { sortBy, sortDesc, groupBy, groupDesc } = internalOptions\n const sortDiff = sortBy.length - sortDesc.length\n const groupDiff = groupBy.length - groupDesc.length\n\n if (sortDiff > 0) {\n internalOptions.sortDesc.push(...fillArray(sortDiff, false))\n }\n\n if (groupDiff > 0) {\n internalOptions.groupDesc.push(...fillArray(groupDiff, false))\n }\n\n return {\n internalOptions,\n }\n },\n\n computed: {\n itemsLength (): number {\n return this.serverItemsLength >= 0 ? this.serverItemsLength : this.filteredItems.length\n },\n pageCount (): number {\n return this.internalOptions.itemsPerPage <= 0\n ? 1\n : Math.ceil(this.itemsLength / this.internalOptions.itemsPerPage)\n },\n pageStart (): number {\n if (this.internalOptions.itemsPerPage === -1 || !this.items.length) return 0\n\n return (this.internalOptions.page - 1) * this.internalOptions.itemsPerPage\n },\n pageStop (): number {\n if (this.internalOptions.itemsPerPage === -1) return this.itemsLength\n if (!this.items.length) return 0\n\n return Math.min(this.itemsLength, this.internalOptions.page * this.internalOptions.itemsPerPage)\n },\n isGrouped (): boolean {\n return !!this.internalOptions.groupBy.length\n },\n pagination (): DataPagination {\n return {\n page: this.internalOptions.page,\n itemsPerPage: this.internalOptions.itemsPerPage,\n pageStart: this.pageStart,\n pageStop: this.pageStop,\n pageCount: this.pageCount,\n itemsLength: this.itemsLength,\n }\n },\n filteredItems (): any[] {\n let items = this.items.slice()\n\n if (!this.disableFiltering && this.serverItemsLength <= 0) {\n items = this.customFilter(items, this.search)\n }\n\n return items\n },\n computedItems (): any[] {\n let items = this.filteredItems.slice()\n\n if ((!this.disableSort || this.internalOptions.groupBy.length) && this.serverItemsLength <= 0) {\n items = this.sortItems(items)\n }\n\n if (!this.disablePagination && this.serverItemsLength <= 0) {\n items = this.paginateItems(items)\n }\n\n return items\n },\n groupedItems (): ItemGroup<any>[] | null {\n return this.isGrouped ? this.groupItems(this.computedItems) : null\n },\n scopedProps (): DataScopeProps {\n return {\n sort: this.sort,\n sortArray: this.sortArray,\n group: this.group,\n items: this.computedItems,\n options: this.internalOptions,\n updateOptions: this.updateOptions,\n pagination: this.pagination,\n groupedItems: this.groupedItems,\n originalItemsLength: this.items.length,\n }\n },\n computedOptions (): DataOptions {\n return { ...this.options } as DataOptions\n },\n },\n\n watch: {\n computedOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n\n this.updateOptions(options)\n },\n deep: true,\n immediate: true,\n },\n internalOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n this.$emit('update:options', options)\n },\n deep: true,\n /*\n In Vue 3 this watcher fires even before created hook and\n if mounting fails and the consumer code relies on update:options event to fetch data\n it causes infinite loop because each data update triggers an attempt to render a table,\n but because mounting constantly fails(for example, due to error in slot) it never happens.\n Previously, in Vue 2 slot errors didn't cause mounting failure, we had partially rendered component.\n This immediate prop is compensated by firing event in mounted hook.\n */\n // immediate: true,\n },\n page (page: number) {\n this.updateOptions({ page })\n },\n 'internalOptions.page' (page: number) {\n this.$emit('update:page', page)\n },\n itemsPerPage (itemsPerPage: number) {\n this.updateOptions({ itemsPerPage })\n },\n 'internalOptions.itemsPerPage' (itemsPerPage: number) {\n this.$emit('update:items-per-page', itemsPerPage)\n },\n sortBy (sortBy: string | string[]) {\n this.updateOptions({ sortBy: wrapInArray(sortBy) })\n },\n 'internalOptions.sortBy' (sortBy: string[], old: string[]) {\n !deepEqual(sortBy, old) && this.$emit('update:sort-by', Array.isArray(this.sortBy) ? sortBy : sortBy[0])\n },\n sortDesc (sortDesc: boolean | boolean[]) {\n this.updateOptions({ sortDesc: wrapInArray(sortDesc) })\n },\n 'internalOptions.sortDesc' (sortDesc: boolean[], old: boolean[]) {\n !deepEqual(sortDesc, old) && this.$emit('update:sort-desc', Array.isArray(this.sortDesc) ? sortDesc : sortDesc[0])\n },\n groupBy (groupBy: string | string[]) {\n this.updateOptions({ groupBy: wrapInArray(groupBy) })\n },\n 'internalOptions.groupBy' (groupBy: string[], old: string[]) {\n !deepEqual(groupBy, old) && this.$emit('update:group-by', Array.isArray(this.groupBy) ? groupBy : groupBy[0])\n },\n groupDesc (groupDesc: boolean | boolean[]) {\n this.updateOptions({ groupDesc: wrapInArray(groupDesc) })\n },\n 'internalOptions.groupDesc' (groupDesc: boolean[], old: boolean[]) {\n !deepEqual(groupDesc, old) && this.$emit('update:group-desc', Array.isArray(this.groupDesc) ? groupDesc : groupDesc[0])\n },\n multiSort (multiSort: boolean) {\n this.updateOptions({ multiSort })\n },\n 'internalOptions.multiSort' (multiSort: boolean) {\n this.$emit('update:multi-sort', multiSort)\n },\n mustSort (mustSort: boolean) {\n this.updateOptions({ mustSort })\n },\n 'internalOptions.mustSort' (mustSort: boolean) {\n this.$emit('update:must-sort', mustSort)\n },\n pageCount: {\n handler (pageCount: number) {\n this.$emit('page-count', pageCount)\n },\n immediate: true,\n },\n computedItems: {\n handler (computedItems: any[]) {\n this.$emit('current-items', computedItems)\n },\n immediate: true,\n },\n pagination: {\n handler (pagination: DataPagination, old: DataPagination) {\n if (deepEqual(pagination, old)) return\n this.$emit('pagination', this.pagination)\n },\n immediate: true,\n },\n },\n\n methods: {\n toggle (key: string, oldBy: string[], oldDesc: boolean[], page: number, mustSort: boolean, multiSort: boolean) {\n let by = oldBy.slice()\n let desc = oldDesc.slice()\n const byIndex = by.findIndex((k: string) => k === key)\n\n if (byIndex < 0) {\n if (!multiSort) {\n by = []\n desc = []\n }\n\n by.push(key)\n desc.push(false)\n } else if (byIndex >= 0 && !desc[byIndex]) {\n desc[byIndex] = true\n } else if (!mustSort) {\n by.splice(byIndex, 1)\n desc.splice(byIndex, 1)\n } else {\n desc[byIndex] = false\n }\n\n // Reset page to 1 if sortBy or sortDesc have changed\n if (!deepEqual(by, oldBy) || !deepEqual(desc, oldDesc)) {\n page = 1\n }\n\n return { by, desc, page }\n },\n group (key: string): void {\n const { by: groupBy, desc: groupDesc, page } = this.toggle(\n key,\n this.internalOptions.groupBy,\n this.internalOptions.groupDesc,\n this.internalOptions.page,\n true,\n false\n )\n this.updateOptions({ groupBy, groupDesc, page })\n },\n sort (key: string | string[]): void {\n if (Array.isArray(key)) return this.sortArray(key)\n\n const { by: sortBy, desc: sortDesc, page } = this.toggle(\n key,\n this.internalOptions.sortBy,\n this.internalOptions.sortDesc,\n this.internalOptions.page,\n this.internalOptions.mustSort,\n this.internalOptions.multiSort\n )\n this.updateOptions({ sortBy, sortDesc, page })\n },\n sortArray (sortBy: string[]) {\n const sortDesc = sortBy.map(s => {\n const i = this.internalOptions.sortBy.findIndex((k: string) => k === s)\n return i > -1 ? this.internalOptions.sortDesc[i] : false\n })\n\n this.updateOptions({ sortBy, sortDesc })\n },\n updateOptions (options: any) {\n this.internalOptions = {\n ...this.internalOptions,\n ...options,\n page: this.serverItemsLength < 0\n ? Math.max(1, Math.min(options.page || this.internalOptions.page, this.pageCount))\n : options.page || this.internalOptions.page,\n }\n },\n sortItems (items: any[]): any[] {\n let sortBy: string[] = []\n let sortDesc: boolean[] = []\n\n if (!this.disableSort) {\n sortBy = this.internalOptions.sortBy\n sortDesc = this.internalOptions.sortDesc\n }\n\n if (this.internalOptions.groupBy.length) {\n sortBy = [...this.internalOptions.groupBy, ...sortBy]\n sortDesc = [...this.internalOptions.groupDesc, ...sortDesc]\n }\n\n return this.customSort(items, sortBy, sortDesc, this.locale)\n },\n groupItems (items: any[]): ItemGroup<any>[] {\n return this.customGroup(items, this.internalOptions.groupBy, this.internalOptions.groupDesc)\n },\n paginateItems (items: any[]): any[] {\n // Make sure we don't try to display non-existant page if items suddenly change\n // TODO: Could possibly move this to pageStart/pageStop?\n if (this.serverItemsLength === -1 && items.length <= this.pageStart) {\n this.internalOptions.page = Math.max(1, Math.ceil(items.length / this.internalOptions.itemsPerPage)) || 1 // Prevent NaN\n }\n\n return items.slice(this.pageStart, this.pageStop)\n },\n },\n\n render (): VNode {\n return this.$slots.default && this.$slots.default(this.scopedProps)[0] as any\n },\n mounted() {\n this.$emit('update:options', this.internalOptions)\n },\n})\n"],"sourceRoot":"","file":"VData.js"}
|
|
@@ -76,8 +76,9 @@ export default mixins(Mobile, Themeable).extend({
|
|
|
76
76
|
|
|
77
77
|
},
|
|
78
78
|
watch: {
|
|
79
|
-
|
|
79
|
+
modelValue: {
|
|
80
80
|
handler(value) {
|
|
81
|
+
if (!value) return;
|
|
81
82
|
this.selection = value.reduce((selection, item) => {
|
|
82
83
|
selection[getObjectValueByPath(item, this.itemKey)] = item;
|
|
83
84
|
return selection;
|
|
@@ -89,7 +90,7 @@ export default mixins(Mobile, Themeable).extend({
|
|
|
89
90
|
|
|
90
91
|
selection(value, old) {
|
|
91
92
|
if (deepEqual(Object.keys(value), Object.keys(old))) return;
|
|
92
|
-
this.$emit('
|
|
93
|
+
this.$emit('update:modelValue', Object.values(value));
|
|
93
94
|
},
|
|
94
95
|
|
|
95
96
|
expanded: {
|
|
@@ -132,7 +133,7 @@ export default mixins(Mobile, Themeable).extend({
|
|
|
132
133
|
window.addEventListener('keyup', this.onKeyUp);
|
|
133
134
|
},
|
|
134
135
|
|
|
135
|
-
|
|
136
|
+
beforeUnmount() {
|
|
136
137
|
window.removeEventListener('keydown', this.onKeyDown);
|
|
137
138
|
window.removeEventListener('keyup', this.onKeyUp);
|
|
138
139
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VDataIterator/VDataIterator.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport { VData } from '../VData'\nimport VDataFooter from './VDataFooter'\n\n// Mixins\nimport Mobile from '../../mixins/mobile'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { deepEqual, getObjectValueByPath, getPrefixedScopedSlots, getSlot, camelizeObjectKeys, keyCodes } from '../../util/helpers'\nimport { breaking, removed } from '../../util/console'\n\n// Types\nimport { VNode, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { DataItemProps, DataScopeProps } from 'vuetify/types'\n\n/* @vue/component */\nexport default mixins(\n Mobile,\n Themeable\n).extend({\n name: 'v-data-iterator',\n\n props: {\n ...VData.props, // TODO: filter out props not used\n itemKey: {\n type: String,\n default: 'id',\n },\n value: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n singleSelect: Boolean,\n expanded: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n mobileBreakpoint: {\n ...Mobile.props.mobileBreakpoint,\n default: 600,\n },\n singleExpand: Boolean,\n loading: [Boolean, String],\n noResultsText: {\n type: String,\n default: '$vuetify.dataIterator.noResultsText',\n },\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText',\n },\n hideDefaultFooter: Boolean,\n footerProps: Object,\n selectableKey: {\n type: String,\n default: 'isSelectable',\n },\n },\n\n data: () => ({\n selection: {} as Record<string, any>,\n expansion: {} as Record<string, boolean>,\n internalCurrentItems: [] as any[],\n shiftKeyDown: false,\n lastEntry: -1,\n }),\n\n computed: {\n everyItem (): boolean {\n return !!this.selectableItems.length && this.selectableItems.every((i: any) => this.isSelected(i))\n },\n someItems (): boolean {\n return this.selectableItems.some((i: any) => this.isSelected(i))\n },\n sanitizedFooterProps (): Record<string, any> {\n return camelizeObjectKeys(this.footerProps)\n },\n selectableItems (): any[] {\n return this.internalCurrentItems.filter(item => this.isSelectable(item))\n },\n },\n\n watch: {\n value: {\n handler (value: any[]) {\n this.selection = value.reduce((selection, item) => {\n selection[getObjectValueByPath(item, this.itemKey)] = item\n return selection\n }, {})\n },\n immediate: true,\n },\n selection (value: Record<string, boolean>, old: Record<string, boolean>) {\n if (deepEqual(Object.keys(value), Object.keys(old))) return\n\n this.$emit('input', Object.values(value))\n },\n expanded: {\n handler (value: any[]) {\n this.expansion = value.reduce((expansion, item) => {\n expansion[getObjectValueByPath(item, this.itemKey)] = true\n return expansion\n }, {})\n },\n immediate: true,\n },\n expansion (value: Record<string, boolean>, old: Record<string, boolean>) {\n if (deepEqual(value, old)) return\n const keys = Object.keys(value).filter(k => value[k])\n const expanded = !keys.length ? [] : this.items.filter(i => keys.includes(String(getObjectValueByPath(i, this.itemKey))))\n this.$emit('update:expanded', expanded)\n },\n },\n\n created () {\n const breakingProps = [\n ['disable-initial-sort', 'sort-by'],\n ['filter', 'custom-filter'],\n ['pagination', 'options'],\n ['total-items', 'server-items-length'],\n ['hide-actions', 'hide-default-footer'],\n ['rows-per-page-items', 'footer-props.items-per-page-options'],\n ['rows-per-page-text', 'footer-props.items-per-page-text'],\n ['prev-icon', 'footer-props.prev-icon'],\n ['next-icon', 'footer-props.next-icon'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n\n const removedProps = [\n 'expand',\n 'content-class',\n 'content-props',\n 'content-tag',\n ]\n\n /* istanbul ignore next */\n removedProps.forEach(prop => {\n if (this.$attrs.hasOwnProperty(prop)) removed(prop)\n })\n },\n\n mounted () {\n window.addEventListener('keydown', this.onKeyDown)\n window.addEventListener('keyup', this.onKeyUp)\n },\n beforeDestroy () {\n window.removeEventListener('keydown', this.onKeyDown)\n window.removeEventListener('keyup', this.onKeyUp)\n },\n\n methods: {\n onKeyDown (e: KeyboardEvent): void {\n this.shiftKeyDown = e.keyCode === keyCodes.shift || e.shiftKey\n },\n onKeyUp (e: KeyboardEvent): void {\n if (e.keyCode === keyCodes.shift || !e.shiftKey) {\n this.shiftKeyDown = false\n }\n },\n toggleSelectAll (value: boolean): void {\n const selection = Object.assign({}, this.selection)\n\n for (let i = 0; i < this.selectableItems.length; i++) {\n const item = this.selectableItems[i]\n\n if (!this.isSelectable(item)) continue\n\n const key = getObjectValueByPath(item, this.itemKey)\n if (value) selection[key] = item\n else delete selection[key]\n }\n\n this.selection = selection\n this.$emit('toggle-select-all', { items: this.internalCurrentItems, value })\n },\n isSelectable (item: any): boolean {\n return getObjectValueByPath(item, this.selectableKey) !== false\n },\n isSelected (item: any): boolean {\n return !!this.selection[getObjectValueByPath(item, this.itemKey)] || false\n },\n select (item: any, value = true, emit = true): void {\n if (!this.isSelectable(item)) return\n\n const selection = this.singleSelect ? {} : Object.assign({}, this.selection)\n const key = getObjectValueByPath(item, this.itemKey)\n\n if (value) selection[key] = item\n else delete selection[key]\n\n const index = this.selectableItems.findIndex(x => getObjectValueByPath(x, this.itemKey) === key)\n if (this.lastEntry === -1) this.lastEntry = index\n else if (this.shiftKeyDown && !this.singleSelect && emit) {\n const lastEntryKey = getObjectValueByPath(this.selectableItems[this.lastEntry], this.itemKey)\n const lastEntryKeySelected = Object.keys(this.selection).includes(String(lastEntryKey))\n this.multipleSelect(lastEntryKeySelected, emit, selection, index)\n }\n this.lastEntry = index\n\n if (this.singleSelect && emit) {\n const keys = Object.keys(this.selection)\n const old = keys.length && getObjectValueByPath(this.selection[keys[0]], this.itemKey)\n old && old !== key && this.$emit('item-selected', { item: this.selection[old], value: false })\n }\n this.selection = selection\n emit && this.$emit('item-selected', { item, value })\n },\n multipleSelect (value = true, emit = true, selection: any, index: number): void {\n const start = index < this.lastEntry ? index : this.lastEntry\n const end = index < this.lastEntry ? this.lastEntry : index\n for (let i = start; i <= end; i++) {\n const currentItem = this.selectableItems[i]\n const key = getObjectValueByPath(currentItem, this.itemKey)\n if (value) selection[key] = currentItem\n else delete selection[key]\n emit && this.$emit('item-selected', { currentItem, value })\n }\n },\n isExpanded (item: any): boolean {\n return this.expansion[getObjectValueByPath(item, this.itemKey)] || false\n },\n expand (item: any, value = true): void {\n const expansion = this.singleExpand ? {} : Object.assign({}, this.expansion)\n const key = getObjectValueByPath(item, this.itemKey)\n\n if (value) expansion[key] = true\n else delete expansion[key]\n\n this.expansion = expansion\n this.$emit('item-expanded', { item, value })\n },\n createItemProps (item: any, index: number): DataItemProps {\n return {\n item,\n index,\n select: (v: boolean) => this.select(item, v),\n isSelected: this.isSelected(item),\n expand: (v: boolean) => this.expand(item, v),\n isExpanded: this.isExpanded(item),\n isMobile: this.isMobile,\n }\n },\n genEmptyWrapper (content: VNodeChildren) {\n return h('div', content)\n },\n genEmpty (originalItemsLength: number, filteredItemsLength: number) {\n if (originalItemsLength === 0 && this.loading) {\n const loading = getSlot(this, 'loading') || this.$vuetify.lang.t(this.loadingText)\n return this.genEmptyWrapper(loading)\n } else if (originalItemsLength === 0) {\n const noData = getSlot(this, 'noData') || this.$vuetify.lang.t(this.noDataText)\n return this.genEmptyWrapper(noData)\n } else if (filteredItemsLength === 0) {\n const noResults = getSlot(this, 'noResults') || this.$vuetify.lang.t(this.noResultsText)\n return this.genEmptyWrapper(noResults)\n }\n\n return null\n },\n genItems (props: DataScopeProps) {\n const empty = this.genEmpty(props.originalItemsLength, props.pagination.itemsLength)\n if (empty) return [empty]\n\n if (this.$slots.default) {\n return this.$slots.default({\n ...props,\n isSelected: this.isSelected,\n select: this.select,\n isExpanded: this.isExpanded,\n isMobile: this.isMobile,\n expand: this.expand,\n })\n }\n\n if (this.$slots.item) {\n return props.items.map((item: any, index) => this.$slots.item!(this.createItemProps(\n item,\n index\n )))\n }\n\n return []\n },\n genFooter (props: DataScopeProps) {\n if (this.hideDefaultFooter) return null\n\n const data = {\n ...this.sanitizedFooterProps,\n options: props.options,\n pagination: props.pagination,\n 'onUpdate:options': (value: any) => props.updateOptions(value)\n }\n\n const scopedSlots = getPrefixedScopedSlots('footer.', this.$slots)\n\n return h(VDataFooter, {\n scopedSlots,\n ...data,\n })\n },\n genDefaultScopedSlot (props: any) {\n const outerProps = {\n ...props,\n someItems: this.someItems,\n everyItem: this.everyItem,\n toggleSelectAll: this.toggleSelectAll,\n }\n\n return h('div', {\n class: 'v-data-iterator',\n }, [\n getSlot(this, 'header', outerProps, true),\n this.genItems(props),\n this.genFooter(props),\n getSlot(this, 'footer', outerProps, true),\n ])\n },\n },\n\n render (): VNode {\n return h(VData, {\n props: this.$props,\n on: {\n 'update:options': (v: any, old: any) => !deepEqual(v, old) && this.$emit('update:options', v),\n 'update:page': (v: any) => this.$emit('update:page', v),\n 'update:items-per-page': (v: any) => this.$emit('update:items-per-page', v),\n 'update:sort-by': (v: any) => this.$emit('update:sort-by', v),\n 'update:sort-desc': (v: any) => this.$emit('update:sort-desc', v),\n 'update:group-by': (v: any) => this.$emit('update:group-by', v),\n 'update:group-desc': (v: any) => this.$emit('update:group-desc', v),\n pagination: (v: any, old: any) => !deepEqual(v, old) && this.$emit('pagination', v),\n 'current-items': (v: any[]) => {\n this.internalCurrentItems = v\n this.$emit('current-items', v)\n },\n 'page-count': (v: number) => this.$emit('page-count', v),\n },\n scopedSlots: {\n default: this.genDefaultScopedSlot,\n },\n })\n },\n})\n"],"sourceRoot":"","file":"VDataIterator.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VDataIterator/VDataIterator.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport { VData } from '../VData'\nimport VDataFooter from './VDataFooter'\n\n// Mixins\nimport Mobile from '../../mixins/mobile'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { deepEqual, getObjectValueByPath, getPrefixedScopedSlots, getSlot, camelizeObjectKeys, keyCodes } from '../../util/helpers'\nimport { breaking, removed } from '../../util/console'\n\n// Types\nimport { VNode, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { DataItemProps, DataScopeProps } from 'vuetify/types'\n\n/* @vue/component */\nexport default mixins(\n Mobile,\n Themeable\n).extend({\n name: 'v-data-iterator',\n\n props: {\n ...VData.props, // TODO: filter out props not used\n itemKey: {\n type: String,\n default: 'id',\n },\n value: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n singleSelect: Boolean,\n expanded: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n mobileBreakpoint: {\n ...Mobile.props.mobileBreakpoint,\n default: 600,\n },\n singleExpand: Boolean,\n loading: [Boolean, String],\n noResultsText: {\n type: String,\n default: '$vuetify.dataIterator.noResultsText',\n },\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText',\n },\n hideDefaultFooter: Boolean,\n footerProps: Object,\n selectableKey: {\n type: String,\n default: 'isSelectable',\n },\n },\n\n data: () => ({\n selection: {} as Record<string, any>,\n expansion: {} as Record<string, boolean>,\n internalCurrentItems: [] as any[],\n shiftKeyDown: false,\n lastEntry: -1,\n }),\n\n computed: {\n everyItem (): boolean {\n return !!this.selectableItems.length && this.selectableItems.every((i: any) => this.isSelected(i))\n },\n someItems (): boolean {\n return this.selectableItems.some((i: any) => this.isSelected(i))\n },\n sanitizedFooterProps (): Record<string, any> {\n return camelizeObjectKeys(this.footerProps)\n },\n selectableItems (): any[] {\n return this.internalCurrentItems.filter(item => this.isSelectable(item))\n },\n },\n\n watch: {\n modelValue: {\n handler (value: any[]) {\n if(!value) return\n\n this.selection = value.reduce((selection, item) => {\n selection[getObjectValueByPath(item, this.itemKey)] = item\n return selection\n }, {})\n },\n immediate: true,\n },\n selection (value: Record<string, boolean>, old: Record<string, boolean>) {\n if (deepEqual(Object.keys(value), Object.keys(old))) return\n\n this.$emit('update:modelValue', Object.values(value))\n },\n expanded: {\n handler (value: any[]) {\n this.expansion = value.reduce((expansion, item) => {\n expansion[getObjectValueByPath(item, this.itemKey)] = true\n return expansion\n }, {})\n },\n immediate: true,\n },\n expansion (value: Record<string, boolean>, old: Record<string, boolean>) {\n if (deepEqual(value, old)) return\n const keys = Object.keys(value).filter(k => value[k])\n const expanded = !keys.length ? [] : this.items.filter(i => keys.includes(String(getObjectValueByPath(i, this.itemKey))))\n this.$emit('update:expanded', expanded)\n },\n },\n\n created () {\n const breakingProps = [\n ['disable-initial-sort', 'sort-by'],\n ['filter', 'custom-filter'],\n ['pagination', 'options'],\n ['total-items', 'server-items-length'],\n ['hide-actions', 'hide-default-footer'],\n ['rows-per-page-items', 'footer-props.items-per-page-options'],\n ['rows-per-page-text', 'footer-props.items-per-page-text'],\n ['prev-icon', 'footer-props.prev-icon'],\n ['next-icon', 'footer-props.next-icon'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n\n const removedProps = [\n 'expand',\n 'content-class',\n 'content-props',\n 'content-tag',\n ]\n\n /* istanbul ignore next */\n removedProps.forEach(prop => {\n if (this.$attrs.hasOwnProperty(prop)) removed(prop)\n })\n },\n\n mounted () {\n window.addEventListener('keydown', this.onKeyDown)\n window.addEventListener('keyup', this.onKeyUp)\n },\n beforeUnmount () {\n window.removeEventListener('keydown', this.onKeyDown)\n window.removeEventListener('keyup', this.onKeyUp)\n },\n\n methods: {\n onKeyDown (e: KeyboardEvent): void {\n this.shiftKeyDown = e.keyCode === keyCodes.shift || e.shiftKey\n },\n onKeyUp (e: KeyboardEvent): void {\n if (e.keyCode === keyCodes.shift || !e.shiftKey) {\n this.shiftKeyDown = false\n }\n },\n toggleSelectAll (value: boolean): void {\n const selection = Object.assign({}, this.selection)\n\n for (let i = 0; i < this.selectableItems.length; i++) {\n const item = this.selectableItems[i]\n\n if (!this.isSelectable(item)) continue\n\n const key = getObjectValueByPath(item, this.itemKey)\n if (value) selection[key] = item\n else delete selection[key]\n }\n\n this.selection = selection\n this.$emit('toggle-select-all', { items: this.internalCurrentItems, value })\n },\n isSelectable (item: any): boolean {\n return getObjectValueByPath(item, this.selectableKey) !== false\n },\n isSelected (item: any): boolean {\n return !!this.selection[getObjectValueByPath(item, this.itemKey)] || false\n },\n select (item: any, value = true, emit = true): void {\n if (!this.isSelectable(item)) return\n\n const selection = this.singleSelect ? {} : Object.assign({}, this.selection)\n const key = getObjectValueByPath(item, this.itemKey)\n\n if (value) selection[key] = item\n else delete selection[key]\n\n const index = this.selectableItems.findIndex(x => getObjectValueByPath(x, this.itemKey) === key)\n if (this.lastEntry === -1) this.lastEntry = index\n else if (this.shiftKeyDown && !this.singleSelect && emit) {\n const lastEntryKey = getObjectValueByPath(this.selectableItems[this.lastEntry], this.itemKey)\n const lastEntryKeySelected = Object.keys(this.selection).includes(String(lastEntryKey))\n this.multipleSelect(lastEntryKeySelected, emit, selection, index)\n }\n this.lastEntry = index\n\n if (this.singleSelect && emit) {\n const keys = Object.keys(this.selection)\n const old = keys.length && getObjectValueByPath(this.selection[keys[0]], this.itemKey)\n old && old !== key && this.$emit('item-selected', { item: this.selection[old], value: false })\n }\n this.selection = selection\n emit && this.$emit('item-selected', { item, value })\n },\n multipleSelect (value = true, emit = true, selection: any, index: number): void {\n const start = index < this.lastEntry ? index : this.lastEntry\n const end = index < this.lastEntry ? this.lastEntry : index\n for (let i = start; i <= end; i++) {\n const currentItem = this.selectableItems[i]\n const key = getObjectValueByPath(currentItem, this.itemKey)\n if (value) selection[key] = currentItem\n else delete selection[key]\n emit && this.$emit('item-selected', { currentItem, value })\n }\n },\n isExpanded (item: any): boolean {\n return this.expansion[getObjectValueByPath(item, this.itemKey)] || false\n },\n expand (item: any, value = true): void {\n const expansion = this.singleExpand ? {} : Object.assign({}, this.expansion)\n const key = getObjectValueByPath(item, this.itemKey)\n\n if (value) expansion[key] = true\n else delete expansion[key]\n\n this.expansion = expansion\n this.$emit('item-expanded', { item, value })\n },\n createItemProps (item: any, index: number): DataItemProps {\n return {\n item,\n index,\n select: (v: boolean) => this.select(item, v),\n isSelected: this.isSelected(item),\n expand: (v: boolean) => this.expand(item, v),\n isExpanded: this.isExpanded(item),\n isMobile: this.isMobile,\n }\n },\n genEmptyWrapper (content: VNodeChildren) {\n return h('div', content)\n },\n genEmpty (originalItemsLength: number, filteredItemsLength: number) {\n if (originalItemsLength === 0 && this.loading) {\n const loading = getSlot(this, 'loading') || this.$vuetify.lang.t(this.loadingText)\n return this.genEmptyWrapper(loading)\n } else if (originalItemsLength === 0) {\n const noData = getSlot(this, 'noData') || this.$vuetify.lang.t(this.noDataText)\n return this.genEmptyWrapper(noData)\n } else if (filteredItemsLength === 0) {\n const noResults = getSlot(this, 'noResults') || this.$vuetify.lang.t(this.noResultsText)\n return this.genEmptyWrapper(noResults)\n }\n\n return null\n },\n genItems (props: DataScopeProps) {\n const empty = this.genEmpty(props.originalItemsLength, props.pagination.itemsLength)\n if (empty) return [empty]\n\n if (this.$slots.default) {\n return this.$slots.default({\n ...props,\n isSelected: this.isSelected,\n select: this.select,\n isExpanded: this.isExpanded,\n isMobile: this.isMobile,\n expand: this.expand,\n })\n }\n\n if (this.$slots.item) {\n return props.items.map((item: any, index) => this.$slots.item!(this.createItemProps(\n item,\n index\n )))\n }\n\n return []\n },\n genFooter (props: DataScopeProps) {\n if (this.hideDefaultFooter) return null\n\n const data = {\n ...this.sanitizedFooterProps,\n options: props.options,\n pagination: props.pagination,\n 'onUpdate:options': (value: any) => props.updateOptions(value)\n }\n\n const scopedSlots = getPrefixedScopedSlots('footer.', this.$slots)\n\n return h(VDataFooter, {\n scopedSlots,\n ...data,\n })\n },\n genDefaultScopedSlot (props: any) {\n const outerProps = {\n ...props,\n someItems: this.someItems,\n everyItem: this.everyItem,\n toggleSelectAll: this.toggleSelectAll,\n }\n\n return h('div', {\n class: 'v-data-iterator',\n }, [\n getSlot(this, 'header', outerProps, true),\n this.genItems(props),\n this.genFooter(props),\n getSlot(this, 'footer', outerProps, true),\n ])\n },\n },\n\n render (): VNode {\n return h(VData, {\n props: this.$props,\n on: {\n 'update:options': (v: any, old: any) => !deepEqual(v, old) && this.$emit('update:options', v),\n 'update:page': (v: any) => this.$emit('update:page', v),\n 'update:items-per-page': (v: any) => this.$emit('update:items-per-page', v),\n 'update:sort-by': (v: any) => this.$emit('update:sort-by', v),\n 'update:sort-desc': (v: any) => this.$emit('update:sort-desc', v),\n 'update:group-by': (v: any) => this.$emit('update:group-by', v),\n 'update:group-desc': (v: any) => this.$emit('update:group-desc', v),\n pagination: (v: any, old: any) => !deepEqual(v, old) && this.$emit('pagination', v),\n 'current-items': (v: any[]) => {\n this.internalCurrentItems = v\n this.$emit('current-items', v)\n },\n 'page-count': (v: number) => this.$emit('page-count', v),\n },\n scopedSlots: {\n default: this.genDefaultScopedSlot,\n },\n })\n },\n})\n"],"sourceRoot":"","file":"VDataIterator.js"}
|
|
@@ -222,7 +222,7 @@ export default mixins(VDataIterator, Loadable, Mouse).extend({
|
|
|
222
222
|
}
|
|
223
223
|
},
|
|
224
224
|
|
|
225
|
-
|
|
225
|
+
beforeUnmount() {
|
|
226
226
|
if (this.calculateWidths) {
|
|
227
227
|
window.removeEventListener('resize', this.calcWidths);
|
|
228
228
|
}
|
|
@@ -485,7 +485,7 @@ export default mixins(VDataIterator, Loadable, Mouse).extend({
|
|
|
485
485
|
|
|
486
486
|
return h(VSimpleCheckbox, {
|
|
487
487
|
class: 'v-data-table__checkbox',
|
|
488
|
-
|
|
488
|
+
modelValue: data.isSelected,
|
|
489
489
|
disabled: !this.isSelectable(item),
|
|
490
490
|
color: (_a = this.checkboxColor) !== null && _a !== void 0 ? _a : '',
|
|
491
491
|
onInput: val => data.select(val)
|