quasar-factory-lib 0.1.19 → 0.1.21
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/components/Table/Table.vue.d.ts +7 -0
- package/dist/layouts/PdaLayout.vue.d.ts +27 -269
- package/dist/pages/TablePage.vue.d.ts +7 -0
- package/dist/quasar-factory-lib.js +386 -379
- package/dist/quasar-factory-lib.umd.cjs +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/components/Table/Table.vue +30 -14
- package/src/components/Table/css/table.css +4 -0
- package/src/layouts/PdaLayout.vue +125 -753
- package/src/layouts/PdaLayoutVueCompositionApi.vue +9 -4
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template lang="">
|
|
2
2
|
<div>
|
|
3
3
|
<q-table
|
|
4
|
-
v-
|
|
4
|
+
v-if="!showSkeleton && rowsData.length"
|
|
5
5
|
ref="myTable"
|
|
6
6
|
v-model:selected="selected"
|
|
7
7
|
v-model:pagination="pagination"
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
:style="tableStyle"
|
|
10
10
|
flat
|
|
11
11
|
bordered
|
|
12
|
-
:rows="
|
|
12
|
+
:rows="rowsDataComputed"
|
|
13
13
|
:columns="columns"
|
|
14
14
|
:filter-method="customFilter"
|
|
15
15
|
:filter="filterComputed"
|
|
@@ -25,9 +25,13 @@
|
|
|
25
25
|
:selected-rows-label="getSelectedString"
|
|
26
26
|
:loading="loading"
|
|
27
27
|
virtual-scroll
|
|
28
|
+
:virtual-scroll-item-size="48"
|
|
29
|
+
:virtual-scroll-sticky-size-start="48"
|
|
30
|
+
@virtual-scroll="onVirtualScroll"
|
|
28
31
|
@update:selected="(details) => {
|
|
29
32
|
$emit('onUpdateSelected', details)
|
|
30
33
|
}"
|
|
34
|
+
|
|
31
35
|
>
|
|
32
36
|
<template #top-right="props">
|
|
33
37
|
<q-separator />
|
|
@@ -270,7 +274,8 @@ export default defineComponent({
|
|
|
270
274
|
draggableInstance: null,
|
|
271
275
|
disabled: false,
|
|
272
276
|
enableDragAndDrop: false,
|
|
273
|
-
dragAndDropDelay: 0
|
|
277
|
+
dragAndDropDelay: 0,
|
|
278
|
+
nextPage: 2,
|
|
274
279
|
}
|
|
275
280
|
},
|
|
276
281
|
computed: {
|
|
@@ -298,7 +303,13 @@ export default defineComponent({
|
|
|
298
303
|
},
|
|
299
304
|
pageLength (): number {
|
|
300
305
|
return (this.totalPage + 1) * this.pageSize
|
|
301
|
-
}
|
|
306
|
+
},
|
|
307
|
+
lastPage () {
|
|
308
|
+
return Math.ceil(this.rowsData.length / this.pageSize)
|
|
309
|
+
},
|
|
310
|
+
rowsDataComputed () {
|
|
311
|
+
return this.rowsData.slice(0, this.pageSize * (this.nextPage - 1))
|
|
312
|
+
}
|
|
302
313
|
},
|
|
303
314
|
watch: {
|
|
304
315
|
rows (val) {
|
|
@@ -321,16 +332,6 @@ export default defineComponent({
|
|
|
321
332
|
this.dragAndDropDelay = 0
|
|
322
333
|
}
|
|
323
334
|
},
|
|
324
|
-
/* showSkeleton (val: boolean): void {
|
|
325
|
-
if (!val) {
|
|
326
|
-
this.handleInfiniteScrollTableCompositionAPi()
|
|
327
|
-
}
|
|
328
|
-
},
|
|
329
|
-
'$q.screen.width' (): void {
|
|
330
|
-
setTimeout(() => {
|
|
331
|
-
this.handleInfiniteScrollTableCompositionAPi()
|
|
332
|
-
}, 500)
|
|
333
|
-
} */
|
|
334
335
|
},
|
|
335
336
|
mounted () {
|
|
336
337
|
this.getAdvancedFilterColumns()
|
|
@@ -558,6 +559,21 @@ export default defineComponent({
|
|
|
558
559
|
elementToScroll.removeEventListener('scroll', fnAddScroll)
|
|
559
560
|
elementToScroll.addEventListener('scroll', fnAddScroll)
|
|
560
561
|
})
|
|
562
|
+
},
|
|
563
|
+
onVirtualScroll ({to, ref}) {
|
|
564
|
+
const lastIndex = this.rowsDataComputed.length - 1
|
|
565
|
+
console.log(to, lastIndex)
|
|
566
|
+
if (!this.loading && this.nextPage < this.lastPage && to === lastIndex) {
|
|
567
|
+
this.loading = true
|
|
568
|
+
|
|
569
|
+
setTimeout(async () => {
|
|
570
|
+
this.nextPage++
|
|
571
|
+
await this.$nextTick(() => {
|
|
572
|
+
ref.refresh()
|
|
573
|
+
this.loading = false
|
|
574
|
+
})
|
|
575
|
+
}, 500)
|
|
576
|
+
}
|
|
561
577
|
}
|
|
562
578
|
}
|
|
563
579
|
})
|