@dimailn/vuetify 2.7.2-alpha28 → 2.7.2-alpha29
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.js +1416 -304
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +1 -1
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VAlert/VAlert.js +38 -8
- package/es5/components/VAlert/VAlert.js.map +1 -1
- package/es5/components/VAutocomplete/VAutocomplete.js +1 -0
- package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/es5/components/VBadge/VBadge.js +28 -0
- package/es5/components/VBadge/VBadge.js.map +1 -1
- package/es5/components/VBanner/VBanner.js +34 -6
- package/es5/components/VBanner/VBanner.js.map +1 -1
- package/es5/components/VBottomNavigation/VBottomNavigation.js +25 -0
- package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
- package/es5/components/VCarousel/VCarousel.js +28 -3
- package/es5/components/VCarousel/VCarousel.js.map +1 -1
- package/es5/components/VCheckbox/VSimpleCheckbox.js +30 -2
- package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/es5/components/VColorPicker/VColorPicker.js +30 -2
- package/es5/components/VColorPicker/VColorPicker.js.map +1 -1
- package/es5/components/VCombobox/VCombobox.js +1 -0
- package/es5/components/VCombobox/VCombobox.js.map +1 -1
- package/es5/components/VDataIterator/VDataFooter.js +16 -7
- package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
- package/es5/components/VDataIterator/VDataIterator.js +42 -47
- package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
- package/es5/components/VDataTable/RowGroup.js +46 -15
- package/es5/components/VDataTable/RowGroup.js.map +1 -1
- package/es5/components/VDataTable/VDataTable.js +10 -18
- package/es5/components/VDataTable/VDataTable.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeader.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeaderDesktop.js +3 -0
- package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeaderMobile.js +28 -37
- package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
- package/es5/components/VDataTable/VEditDialog.js +3 -4
- package/es5/components/VDataTable/VEditDialog.js.map +1 -1
- package/es5/components/VDataTable/VSimpleTable.js +1 -1
- package/es5/components/VDataTable/VSimpleTable.js.map +1 -1
- package/es5/components/VDataTable/VVirtualTable.js +5 -5
- 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 +21 -9
- package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerHeader.js +24 -8
- package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerTitle.js +33 -8
- package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerYears.js +38 -13
- package/es5/components/VDatePicker/VDatePickerYears.js.map +1 -1
- package/es5/components/VDatePicker/mixins/date-picker-table.js +33 -17
- package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
- package/es5/components/VInput/VInput.js +36 -8
- package/es5/components/VInput/VInput.js.map +1 -1
- package/es5/components/VList/VListGroup.js +47 -21
- package/es5/components/VList/VListGroup.js.map +1 -1
- package/es5/components/VList/VListItem.js +29 -4
- package/es5/components/VList/VListItem.js.map +1 -1
- package/es5/components/VMenu/VMenu.js +55 -30
- package/es5/components/VMenu/VMenu.js.map +1 -1
- package/es5/components/VMessages/VMessages.js +30 -7
- package/es5/components/VMessages/VMessages.js.map +1 -1
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js +36 -9
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/es5/components/VOverlay/VOverlay.js +28 -0
- package/es5/components/VOverlay/VOverlay.js.map +1 -1
- package/es5/components/VPagination/VPagination.js +30 -6
- package/es5/components/VPagination/VPagination.js.map +1 -1
- package/es5/components/VProgressLinear/VProgressLinear.js +28 -0
- package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
- package/es5/components/VRadioGroup/VRadioGroup.js +28 -0
- package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/es5/components/VRating/VRating.js +45 -17
- package/es5/components/VRating/VRating.js.map +1 -1
- package/es5/components/VSelect/VSelect.js +112 -84
- package/es5/components/VSelect/VSelect.js.map +1 -1
- package/es5/components/VSelect/VSelectList.js +58 -17
- package/es5/components/VSelect/VSelectList.js.map +1 -1
- package/es5/components/VSlider/VSlider.js +42 -16
- package/es5/components/VSlider/VSlider.js.map +1 -1
- package/es5/components/VSpeedDial/VSpeedDial.js +10 -8
- package/es5/components/VSpeedDial/VSpeedDial.js.map +1 -1
- package/es5/components/VTabs/VTabs.js +45 -17
- package/es5/components/VTabs/VTabs.js.map +1 -1
- package/es5/framework.js +1 -1
- package/es5/mixins/validatable/index.js +24 -0
- package/es5/mixins/validatable/index.js.map +1 -1
- package/es5/util/console.js +49 -18
- package/es5/util/console.js.map +1 -1
- package/es5/util/helpers.js +5 -1
- package/es5/util/helpers.js.map +1 -1
- package/lib/components/VAlert/VAlert.js +12 -6
- package/lib/components/VAlert/VAlert.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js +1 -0
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VBadge/VBadge.js +11 -0
- package/lib/components/VBadge/VBadge.js.map +1 -1
- package/lib/components/VBanner/VBanner.js +11 -0
- package/lib/components/VBanner/VBanner.js.map +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.js +7 -0
- package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
- package/lib/components/VCarousel/VCarousel.js +7 -0
- package/lib/components/VCarousel/VCarousel.js.map +1 -1
- package/lib/components/VCheckbox/VSimpleCheckbox.js +11 -0
- package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/lib/components/VColorPicker/VColorPicker.js +12 -1
- package/lib/components/VColorPicker/VColorPicker.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.js +1 -0
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VDataIterator/VDataFooter.js +14 -7
- package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
- package/lib/components/VDataIterator/VDataIterator.js +26 -31
- package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
- package/lib/components/VDataTable/RowGroup.js +30 -14
- package/lib/components/VDataTable/RowGroup.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.js +8 -15
- package/lib/components/VDataTable/VDataTable.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeader.js +1 -1
- package/lib/components/VDataTable/VDataTableHeader.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaderDesktop.js +3 -0
- package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaderMobile.js +17 -25
- package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
- package/lib/components/VDataTable/VEditDialog.js +3 -4
- package/lib/components/VDataTable/VEditDialog.js.map +1 -1
- package/lib/components/VDataTable/VSimpleTable.js +1 -1
- package/lib/components/VDataTable/VSimpleTable.js.map +1 -1
- package/lib/components/VDataTable/VVirtualTable.js +1 -2
- 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 +7 -1
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerHeader.js +12 -1
- package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerTitle.js +11 -0
- package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerYears.js +11 -1
- package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
- package/lib/components/VDatePicker/mixins/date-picker-table.js +12 -1
- package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
- package/lib/components/VInput/VInput.js +13 -3
- package/lib/components/VInput/VInput.js.map +1 -1
- package/lib/components/VList/VListGroup.js +16 -8
- package/lib/components/VList/VListGroup.js.map +1 -1
- package/lib/components/VList/VListItem.js +8 -1
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VMenu/VMenu.js +14 -3
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VMessages/VMessages.js +13 -2
- package/lib/components/VMessages/VMessages.js.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js +11 -2
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/lib/components/VOverlay/VOverlay.js +11 -0
- package/lib/components/VOverlay/VOverlay.js.map +1 -1
- package/lib/components/VPagination/VPagination.js +11 -0
- package/lib/components/VPagination/VPagination.js.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.js +11 -0
- package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.js +11 -0
- package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/lib/components/VRating/VRating.js +11 -0
- package/lib/components/VRating/VRating.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +52 -36
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSelect/VSelectList.js +21 -3
- package/lib/components/VSelect/VSelectList.js.map +1 -1
- package/lib/components/VSlider/VSlider.js +11 -1
- package/lib/components/VSlider/VSlider.js.map +1 -1
- package/lib/components/VSpeedDial/VSpeedDial.js +7 -7
- package/lib/components/VSpeedDial/VSpeedDial.js.map +1 -1
- package/lib/components/VTabs/VTabs.js +11 -0
- package/lib/components/VTabs/VTabs.js.map +1 -1
- package/lib/framework.js +1 -1
- package/lib/mixins/validatable/index.js +7 -1
- package/lib/mixins/validatable/index.js.map +1 -1
- package/lib/util/console.js +47 -17
- package/lib/util/console.js.map +1 -1
- package/lib/util/helpers.js +5 -1
- package/lib/util/helpers.js.map +1 -1
- package/package.json +1 -1
- package/src/components/VAlert/VAlert.ts +17 -7
- package/src/components/VAlert/__tests__/VAlert.spec.ts +78 -50
- package/src/components/VAlert/__tests__/__snapshots__/VAlert.spec.ts.snap +16 -18
- package/src/components/VAutocomplete/VAutocomplete.ts +22 -0
- package/src/components/VAutocomplete/__tests__/VAutocomplete.spec.ts +51 -53
- package/src/components/VAutocomplete/__tests__/VAutocomplete2.spec.ts +77 -48
- package/src/components/VAutocomplete/__tests__/VAutocomplete3.spec.ts +101 -39
- package/src/components/VBadge/VBadge.ts +13 -0
- package/src/components/VBanner/VBanner.ts +13 -0
- package/src/components/VBottomNavigation/VBottomNavigation.ts +10 -0
- package/src/components/VCarousel/VCarousel.ts +11 -0
- package/src/components/VCheckbox/VSimpleCheckbox.ts +13 -0
- package/src/components/VColorPicker/VColorPicker.ts +13 -0
- package/src/components/VCombobox/VCombobox.ts +23 -0
- package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +118 -110
- package/src/components/VCombobox/__tests__/VCombobox.spec.ts +119 -93
- package/src/components/VDataIterator/VDataFooter.ts +14 -9
- package/src/components/VDataIterator/VDataIterator.ts +46 -34
- package/src/components/VDataIterator/__tests__/VDataFooter.spec.ts +38 -39
- package/src/components/VDataIterator/__tests__/VDataIterator.spec.ts +90 -122
- package/src/components/VDataIterator/__tests__/__snapshots__/VDataFooter.spec.ts.snap +92 -82
- package/src/components/VDataIterator/__tests__/__snapshots__/VDataIterator.spec.ts.snap +79 -69
- package/src/components/VDataTable/RowGroup.ts +33 -16
- package/src/components/VDataTable/VDataTable.ts +8 -15
- package/src/components/VDataTable/VDataTableHeader.ts +2 -2
- package/src/components/VDataTable/VDataTableHeaderDesktop.ts +4 -0
- package/src/components/VDataTable/VDataTableHeaderMobile.ts +16 -25
- package/src/components/VDataTable/VEditDialog.ts +3 -3
- package/src/components/VDataTable/VSimpleTable.ts +2 -3
- package/src/components/VDataTable/VVirtualTable.ts +1 -2
- package/src/components/VDataTable/__tests__/VDataTable.spec.ts +18 -22
- package/src/components/VDataTable/__tests__/VDataTableHeader.spec.ts +39 -29
- package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +7 -2
- package/src/components/VDataTable/__tests__/VSimpleTable.spec.ts +11 -16
- package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +2543 -2086
- package/src/components/VDataTable/__tests__/__snapshots__/VDataTableHeader.spec.ts.snap +115 -144
- package/src/components/VDataTable/__tests__/__snapshots__/VEditDialog.spec.ts.snap +4 -12
- package/src/components/VDataTable/__tests__/__snapshots__/VSimpleTable.spec.ts.snap +22 -18
- package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +9 -12
- package/src/components/VDataTable/mixins/__tests__/header.spec.ts +15 -15
- package/src/components/VDataTable/mixins/header.ts +1 -1
- package/src/components/VDatePicker/VDatePicker.ts +11 -1
- package/src/components/VDatePicker/VDatePickerHeader.ts +13 -0
- package/src/components/VDatePicker/VDatePickerTitle.ts +12 -0
- package/src/components/VDatePicker/VDatePickerYears.ts +13 -0
- package/src/components/VDatePicker/mixins/date-picker-table.ts +13 -0
- package/src/components/VInput/VInput.ts +18 -5
- package/src/components/VList/VListGroup.ts +22 -10
- package/src/components/VList/VListItem.ts +10 -1
- package/src/components/VMenu/VMenu.ts +21 -3
- package/src/components/VMenu/__tests__/VMenu.spec.ts +90 -69
- package/src/components/VMenu/__tests__/__snapshots__/VMenu.spec.ts.snap +3 -5
- package/src/components/VMessages/VMessages.ts +15 -4
- package/src/components/VMessages/__tests__/VMessages.spec.ts +43 -5
- package/src/components/VMessages/__tests__/__snapshots__/VMessages.spec.ts.snap +16 -25
- package/src/components/VNavigationDrawer/VNavigationDrawer.ts +21 -11
- package/src/components/VOverlay/VOverlay.ts +12 -0
- package/src/components/VPagination/VPagination.ts +23 -9
- package/src/components/VProgressLinear/VProgressLinear.ts +13 -0
- package/src/components/VRadioGroup/VRadioGroup.ts +14 -0
- package/src/components/VRating/VRating.ts +13 -0
- package/src/components/VSelect/VSelect.ts +60 -43
- package/src/components/VSelect/VSelectList.ts +29 -8
- package/src/components/VSlider/VSlider.ts +14 -1
- package/src/components/VSpeedDial/VSpeedDial.ts +7 -8
- package/src/components/VSpeedDial/__tests__/VSpeedDial.spec.ts +21 -13
- package/src/components/VSpeedDial/__tests__/__snapshots__/VSpeedDial.spec.ts.snap +6 -6
- package/src/components/VTabs/VTabs.ts +14 -0
- package/src/mixins/validatable/index.ts +11 -1
- package/src/util/__tests__/console.spec.ts +124 -11
- package/src/util/__tests__/helpers.spec.ts +59 -31
- package/src/util/console.ts +43 -24
- package/src/util/helpers.ts +8 -4
|
@@ -153,8 +153,7 @@ export default baseMixins.extend({
|
|
|
153
153
|
|
|
154
154
|
render (): VNode {
|
|
155
155
|
return h('div', {
|
|
156
|
-
class: 'v-data-table v-virtual-table',
|
|
157
|
-
class: this.classes,
|
|
156
|
+
class: ['v-data-table', 'v-virtual-table', this.classes],
|
|
158
157
|
}, [
|
|
159
158
|
getSlot(this, 'top'),
|
|
160
159
|
this.genWrapper(),
|
|
@@ -130,20 +130,25 @@ describe('VDataTable.ts', () => {
|
|
|
130
130
|
document.body.setAttribute('data-app', 'true')
|
|
131
131
|
|
|
132
132
|
mountFunction = (options?: MountingOptions<Instance>) => {
|
|
133
|
+
const vuetifyInstance = {
|
|
134
|
+
breakpoint: new Breakpoint(preset),
|
|
135
|
+
lang: new Lang(preset),
|
|
136
|
+
theme: {
|
|
137
|
+
dark: false,
|
|
138
|
+
},
|
|
139
|
+
icons: {},
|
|
140
|
+
}
|
|
141
|
+
|
|
133
142
|
return mount(VDataTable, {
|
|
134
143
|
global: {
|
|
135
144
|
config: {
|
|
136
145
|
globalProperties: {
|
|
137
|
-
$vuetify:
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
icons: {}
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
146
|
+
$vuetify: vuetifyInstance,
|
|
147
|
+
},
|
|
148
|
+
},
|
|
149
|
+
mocks: {
|
|
150
|
+
$vuetify: vuetifyInstance,
|
|
151
|
+
},
|
|
147
152
|
},
|
|
148
153
|
...options,
|
|
149
154
|
})
|
|
@@ -183,7 +188,6 @@ describe('VDataTable.ts', () => {
|
|
|
183
188
|
})
|
|
184
189
|
|
|
185
190
|
expect(wrapper.html()).toMatchSnapshot()
|
|
186
|
-
|
|
187
191
|
})
|
|
188
192
|
|
|
189
193
|
it('should render with foot slot', () => {
|
|
@@ -199,10 +203,9 @@ describe('VDataTable.ts', () => {
|
|
|
199
203
|
})
|
|
200
204
|
|
|
201
205
|
expect(wrapper.html()).toMatchSnapshot()
|
|
202
|
-
|
|
203
206
|
})
|
|
204
207
|
|
|
205
|
-
it
|
|
208
|
+
it('should render virtual table', () => {
|
|
206
209
|
const wrapper = mountFunction({
|
|
207
210
|
props: {
|
|
208
211
|
headers: testHeaders,
|
|
@@ -232,7 +235,6 @@ describe('VDataTable.ts', () => {
|
|
|
232
235
|
|
|
233
236
|
expect(wrapper.html()).toMatchSnapshot()
|
|
234
237
|
|
|
235
|
-
|
|
236
238
|
const expandIcon = wrapper.findAll('.v-data-table__expand-icon')[0]
|
|
237
239
|
if (expandIcon) {
|
|
238
240
|
expandIcon.trigger('click')
|
|
@@ -254,7 +256,6 @@ describe('VDataTable.ts', () => {
|
|
|
254
256
|
})
|
|
255
257
|
|
|
256
258
|
expect(wrapper.html()).toMatchSnapshot()
|
|
257
|
-
|
|
258
259
|
})
|
|
259
260
|
|
|
260
261
|
it('should render with item.expanded scoped slot', async () => {
|
|
@@ -273,7 +274,6 @@ describe('VDataTable.ts', () => {
|
|
|
273
274
|
await nextTick()
|
|
274
275
|
|
|
275
276
|
expect(wrapper.html()).toMatchSnapshot()
|
|
276
|
-
|
|
277
277
|
})
|
|
278
278
|
|
|
279
279
|
it('should render with group.summary scoped slot', () => {
|
|
@@ -290,7 +290,6 @@ describe('VDataTable.ts', () => {
|
|
|
290
290
|
})
|
|
291
291
|
|
|
292
292
|
expect(wrapper.html()).toMatchSnapshot()
|
|
293
|
-
|
|
294
293
|
})
|
|
295
294
|
|
|
296
295
|
it('should render with item scoped slot', () => {
|
|
@@ -306,7 +305,6 @@ describe('VDataTable.ts', () => {
|
|
|
306
305
|
})
|
|
307
306
|
|
|
308
307
|
expect(wrapper.html()).toMatchSnapshot()
|
|
309
|
-
|
|
310
308
|
})
|
|
311
309
|
|
|
312
310
|
it('should render with grouped rows', () => {
|
|
@@ -320,7 +318,6 @@ describe('VDataTable.ts', () => {
|
|
|
320
318
|
})
|
|
321
319
|
|
|
322
320
|
expect(wrapper.html()).toMatchSnapshot()
|
|
323
|
-
|
|
324
321
|
})
|
|
325
322
|
|
|
326
323
|
it('should render with group scoped slot', () => {
|
|
@@ -337,19 +334,19 @@ describe('VDataTable.ts', () => {
|
|
|
337
334
|
})
|
|
338
335
|
|
|
339
336
|
expect(wrapper.html()).toMatchSnapshot()
|
|
340
|
-
|
|
341
337
|
})
|
|
342
338
|
|
|
343
339
|
it('should render loading state', () => {
|
|
344
340
|
const wrapper = mountFunction({
|
|
345
341
|
props: {
|
|
346
342
|
loading: true,
|
|
343
|
+
checkboxColor: 'primary',
|
|
344
|
+
color: 'primary',
|
|
347
345
|
},
|
|
348
346
|
})
|
|
349
347
|
|
|
350
348
|
expect(wrapper.html()).toMatchSnapshot()
|
|
351
349
|
|
|
352
|
-
|
|
353
350
|
const wrapper2 = mountFunction({
|
|
354
351
|
props: {
|
|
355
352
|
headers: testHeaders,
|
|
@@ -361,7 +358,6 @@ describe('VDataTable.ts', () => {
|
|
|
361
358
|
})
|
|
362
359
|
|
|
363
360
|
expect(wrapper2.html()).toMatchSnapshot()
|
|
364
|
-
|
|
365
361
|
})
|
|
366
362
|
|
|
367
363
|
it.each([
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import VDataTableHeader from '../VDataTableHeader'
|
|
2
|
+
import VDataTableHeaderMobile from '../VDataTableHeaderMobile'
|
|
2
3
|
import { Lang } from '../../../services/lang'
|
|
3
4
|
import ripple from '../../../directives/ripple'
|
|
4
5
|
import VSelect from '../../VSelect/VSelect'
|
|
@@ -9,7 +10,6 @@ import {
|
|
|
9
10
|
MountOptions,
|
|
10
11
|
Wrapper,
|
|
11
12
|
} from '@vue/test-utils'
|
|
12
|
-
import Vue from 'vue'
|
|
13
13
|
|
|
14
14
|
const testHeaders = [
|
|
15
15
|
{
|
|
@@ -25,16 +25,6 @@ const testHeaders = [
|
|
|
25
25
|
{ text: 'Iron (%)', value: 'iron' },
|
|
26
26
|
]
|
|
27
27
|
|
|
28
|
-
Vue.prototype.$vuetify = {
|
|
29
|
-
icons: {},
|
|
30
|
-
rtl: false,
|
|
31
|
-
lang: new Lang(preset),
|
|
32
|
-
theme: {
|
|
33
|
-
dark: false,
|
|
34
|
-
},
|
|
35
|
-
}
|
|
36
|
-
Vue.directive('ripple', ripple)
|
|
37
|
-
|
|
38
28
|
describe('VDataTableHeader.ts', () => {
|
|
39
29
|
type Instance = InstanceType<typeof VDataTableHeader>
|
|
40
30
|
let mountFunction: (options?: MountOptions<Instance>, isMobile?: boolean) => Wrapper<Instance>
|
|
@@ -49,10 +39,28 @@ describe('VDataTableHeader.ts', () => {
|
|
|
49
39
|
...options,
|
|
50
40
|
// https://github.com/vuejs/vue-test-utils/issues/1130
|
|
51
41
|
sync: false,
|
|
52
|
-
|
|
42
|
+
props: {
|
|
53
43
|
headers: testHeaders,
|
|
54
44
|
mobile: isMobile,
|
|
55
|
-
...(options || {}).
|
|
45
|
+
...(options || {}).props,
|
|
46
|
+
},
|
|
47
|
+
on: {
|
|
48
|
+
...(options || {}).on,
|
|
49
|
+
},
|
|
50
|
+
global: {
|
|
51
|
+
mocks: {
|
|
52
|
+
$vuetify: {
|
|
53
|
+
icons: {},
|
|
54
|
+
rtl: false,
|
|
55
|
+
lang: new Lang(preset),
|
|
56
|
+
theme: {
|
|
57
|
+
dark: false,
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
directives: {
|
|
62
|
+
ripple,
|
|
63
|
+
},
|
|
56
64
|
},
|
|
57
65
|
})
|
|
58
66
|
}
|
|
@@ -65,7 +73,7 @@ describe('VDataTableHeader.ts', () => {
|
|
|
65
73
|
})
|
|
66
74
|
it('should work with showGroupBy', () => {
|
|
67
75
|
const wrapper = mountFunction({
|
|
68
|
-
|
|
76
|
+
props: {
|
|
69
77
|
showGroupBy: true,
|
|
70
78
|
},
|
|
71
79
|
})
|
|
@@ -75,7 +83,7 @@ describe('VDataTableHeader.ts', () => {
|
|
|
75
83
|
|
|
76
84
|
it('should work with multiSort', () => {
|
|
77
85
|
const wrapper = mountFunction({
|
|
78
|
-
|
|
86
|
+
props: {
|
|
79
87
|
options: {
|
|
80
88
|
multiSort: true,
|
|
81
89
|
sortBy: ['iron'],
|
|
@@ -89,7 +97,7 @@ describe('VDataTableHeader.ts', () => {
|
|
|
89
97
|
|
|
90
98
|
it('should work with sortBy correctly', () => {
|
|
91
99
|
const wrapper = mountFunction({
|
|
92
|
-
|
|
100
|
+
props: {
|
|
93
101
|
options: {
|
|
94
102
|
sortBy: ['iron'],
|
|
95
103
|
sortDesc: [true],
|
|
@@ -102,7 +110,7 @@ describe('VDataTableHeader.ts', () => {
|
|
|
102
110
|
|
|
103
111
|
it('should work with sortDesc correctly', () => {
|
|
104
112
|
const wrapper = mountFunction({
|
|
105
|
-
|
|
113
|
+
props: {
|
|
106
114
|
options: {
|
|
107
115
|
sortBy: ['iron', 'carbs'],
|
|
108
116
|
sortDesc: [false, true],
|
|
@@ -116,7 +124,7 @@ describe('VDataTableHeader.ts', () => {
|
|
|
116
124
|
if (isMobile) {
|
|
117
125
|
it('should render with data-table-select header', () => {
|
|
118
126
|
const wrapper = mountFunction({
|
|
119
|
-
|
|
127
|
+
props: {
|
|
120
128
|
headers: [...testHeaders, { text: 'test', value: 'data-table-select' }],
|
|
121
129
|
},
|
|
122
130
|
})
|
|
@@ -124,22 +132,24 @@ describe('VDataTableHeader.ts', () => {
|
|
|
124
132
|
expect(wrapper.html()).toMatchSnapshot()
|
|
125
133
|
})
|
|
126
134
|
|
|
127
|
-
it('should sort when select changes', () => {
|
|
128
|
-
const
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
+
it('should sort when select changes', async () => {
|
|
136
|
+
const wrapper = mountFunction()
|
|
137
|
+
|
|
138
|
+
const mobileHeader = wrapper.findComponent(VDataTableHeaderMobile)
|
|
139
|
+
const select = mobileHeader.findComponent(VSelect)
|
|
140
|
+
|
|
141
|
+
expect(select.exists()).toBe(true)
|
|
142
|
+
|
|
143
|
+
select.vm.$emit('update:modelValue', 'test')
|
|
144
|
+
await wrapper.vm.$nextTick()
|
|
135
145
|
|
|
136
|
-
|
|
137
|
-
expect(sort).
|
|
146
|
+
expect(mobileHeader.emitted('sort')).toBeTruthy()
|
|
147
|
+
expect(mobileHeader.emitted('sort')?.[0]).toEqual(['test'])
|
|
138
148
|
})
|
|
139
149
|
|
|
140
150
|
it('should apply header class and width for select-all column', () => {
|
|
141
151
|
const wrapper = mount(VDataTableHeader, {
|
|
142
|
-
|
|
152
|
+
props: {
|
|
143
153
|
mobile: isMobile,
|
|
144
154
|
headers: [
|
|
145
155
|
{
|
|
@@ -86,11 +86,11 @@ describe('VEditDialog.ts', () => {
|
|
|
86
86
|
|
|
87
87
|
const menu = wrapper.findComponent(VMenu)
|
|
88
88
|
|
|
89
|
-
menu.vm.$emit('
|
|
89
|
+
menu.vm.$emit('update:modelValue', true)
|
|
90
90
|
await wrapper.vm.$nextTick()
|
|
91
91
|
expect(open).toHaveBeenCalledTimes(1)
|
|
92
92
|
|
|
93
|
-
menu.vm.$emit('
|
|
93
|
+
menu.vm.$emit('update:modelValue', false)
|
|
94
94
|
await wrapper.vm.$nextTick()
|
|
95
95
|
expect(close).toHaveBeenCalledTimes(1)
|
|
96
96
|
})
|
|
@@ -126,22 +126,27 @@ describe('VEditDialog.ts', () => {
|
|
|
126
126
|
|
|
127
127
|
// Make sure originalValue gets set
|
|
128
128
|
wrapper.vm.isActive = true
|
|
129
|
+
await wrapper.vm.$nextTick()
|
|
129
130
|
field.setValue('test')
|
|
130
131
|
// Update the parent component's val to match the input value
|
|
131
132
|
parentWrapper.vm.val = 'test'
|
|
132
133
|
input.dispatchEvent(new KeyboardEvent('keydown', { keyCode: keyCodes.esc } as KeyboardEventInit))
|
|
134
|
+
await wrapper.vm.$nextTick()
|
|
133
135
|
expect(wrapper.emitted('cancel')).toBeTruthy()
|
|
134
136
|
expect(wrapper.emitted('update:return-value')?.[0]).toEqual(['test'])
|
|
135
137
|
expect(wrapper.props('returnValue')).toBe('test')
|
|
136
138
|
|
|
137
139
|
wrapper.vm.isActive = true
|
|
140
|
+
await wrapper.vm.$nextTick()
|
|
138
141
|
field.setValue('test')
|
|
139
142
|
// Update the parent component's val to match the input value
|
|
140
143
|
parentWrapper.vm.val = 'test'
|
|
141
144
|
input.dispatchEvent(new KeyboardEvent('keydown', { keyCode: keyCodes.enter } as KeyboardEventInit))
|
|
145
|
+
await wrapper.vm.$nextTick()
|
|
142
146
|
expect(wrapper.emitted('save')).toBeTruthy()
|
|
143
147
|
expect(setTimeout).toHaveBeenLastCalledWith(expect.any(Function))
|
|
144
148
|
jest.advanceTimersByTime(0)
|
|
149
|
+
await wrapper.vm.$nextTick()
|
|
145
150
|
expect(wrapper.emitted('update:return-value')?.[1]).toEqual(['test'])
|
|
146
151
|
expect(wrapper.props('returnValue')).toBe('test')
|
|
147
152
|
|
|
@@ -25,13 +25,15 @@ describe('VSimpleTable.ts', () => {
|
|
|
25
25
|
}
|
|
26
26
|
})
|
|
27
27
|
|
|
28
|
+
const createDefaultSlots = () => [
|
|
29
|
+
h('tr', [h('th', 'Foo'), h('th', 'Bar')]),
|
|
30
|
+
h('tr', [h('td', 'baz'), h('td', 'qux')]),
|
|
31
|
+
]
|
|
32
|
+
|
|
28
33
|
it('should render', () => {
|
|
29
34
|
const wrapper = mountFunction({
|
|
30
35
|
slots: {
|
|
31
|
-
default:
|
|
32
|
-
h('tr', [h('th', 'Foo'), h('th', 'Bar')]),
|
|
33
|
-
h('tr', [h('td', 'baz'), h('td', 'qux')]),
|
|
34
|
-
],
|
|
36
|
+
default: createDefaultSlots,
|
|
35
37
|
},
|
|
36
38
|
})
|
|
37
39
|
|
|
@@ -43,23 +45,19 @@ describe('VSimpleTable.ts', () => {
|
|
|
43
45
|
it('should render with custom wrapper', () => {
|
|
44
46
|
const wrapper = mountFunction({
|
|
45
47
|
slots: {
|
|
46
|
-
default:
|
|
47
|
-
h('tr', [h('th', 'Foo'), h('th', 'Bar')]),
|
|
48
|
-
h('tr', [h('td', 'baz'), h('td', 'qux')]),
|
|
49
|
-
],
|
|
48
|
+
default: createDefaultSlots,
|
|
50
49
|
wrapper: () => h('div', {
|
|
51
50
|
class: 'custom-wrapper',
|
|
52
|
-
'data-test': 'custom-wrapper'
|
|
51
|
+
'data-test': 'custom-wrapper',
|
|
53
52
|
}, [
|
|
54
53
|
h('table', { class: 'custom-table' }, [
|
|
55
54
|
h('tr', [h('th', 'Custom Header 1'), h('th', 'Custom Header 2')]),
|
|
56
55
|
h('tr', [h('td', 'Custom Data 1'), h('td', 'Custom Data 2')]),
|
|
57
|
-
])
|
|
58
|
-
])
|
|
56
|
+
]),
|
|
57
|
+
]),
|
|
59
58
|
},
|
|
60
59
|
})
|
|
61
60
|
|
|
62
|
-
|
|
63
61
|
// Проверяем, что дефолтный wrapper не используется
|
|
64
62
|
expect(wrapper.findAll('.v-data-table__wrapper')).toHaveLength(0)
|
|
65
63
|
|
|
@@ -91,10 +89,7 @@ describe('VSimpleTable.ts', () => {
|
|
|
91
89
|
it('should render with custom height', () => {
|
|
92
90
|
const wrapper = mountFunction({
|
|
93
91
|
slots: {
|
|
94
|
-
default:
|
|
95
|
-
h('tr', [h('th', 'Foo'), h('th', 'Bar')]),
|
|
96
|
-
h('tr', [h('td', 'baz'), h('td', 'qux')]),
|
|
97
|
-
],
|
|
92
|
+
default: createDefaultSlots,
|
|
98
93
|
},
|
|
99
94
|
props: {
|
|
100
95
|
height: 1000,
|