quasar-factory-lib 0.0.80 → 0.0.82
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 +3 -12
- package/dist/components/Table/components/TableSlotHeader.vue.d.ts +1 -0
- package/dist/components/Table/components/advanced-filters/GridAdvancedFilters.vue.d.ts +1 -0
- package/dist/layouts/PdaLayout.vue.d.ts +13 -14
- package/dist/pages/TablePage.vue.d.ts +3 -14
- package/dist/quasar-factory-lib.js +2536 -2474
- package/dist/quasar-factory-lib.umd.cjs +11 -11
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/components/Table/Table.vue +9 -10
- package/src/components/Table/components/advanced-filters/GridAdvancedFilters.vue +50 -4
- package/src/layouts/PdaLayout.vue +25 -21
- package/src/pages/TablePage.vue +0 -10
package/package.json
CHANGED
|
@@ -207,11 +207,6 @@ export default defineComponent({
|
|
|
207
207
|
type: Function,
|
|
208
208
|
default: function () {}
|
|
209
209
|
},
|
|
210
|
-
advancedFilters: {
|
|
211
|
-
type: Object,
|
|
212
|
-
default: () => ({}),
|
|
213
|
-
deep: true
|
|
214
|
-
},
|
|
215
210
|
showIconAdvancedFilter: {
|
|
216
211
|
type: Boolean,
|
|
217
212
|
default: false
|
|
@@ -249,8 +244,8 @@ export default defineComponent({
|
|
|
249
244
|
totalPage: 0,
|
|
250
245
|
pageSize: 20,
|
|
251
246
|
filteredRows: [] as object [] | [],
|
|
252
|
-
showAdvancedFilter:
|
|
253
|
-
advancedFiltersData:
|
|
247
|
+
showAdvancedFilter: false,
|
|
248
|
+
advancedFiltersData: {}
|
|
254
249
|
}
|
|
255
250
|
},
|
|
256
251
|
computed: {
|
|
@@ -284,9 +279,6 @@ export default defineComponent({
|
|
|
284
279
|
rows (val) {
|
|
285
280
|
this.rowsData = val
|
|
286
281
|
},
|
|
287
|
-
advancedFilters (val) {
|
|
288
|
-
this.advancedFiltersData = val
|
|
289
|
-
},
|
|
290
282
|
showAdvancedFilter (val: boolean) {
|
|
291
283
|
if (!val) {
|
|
292
284
|
this.advancedFiltersData = {}
|
|
@@ -294,6 +286,7 @@ export default defineComponent({
|
|
|
294
286
|
}
|
|
295
287
|
},
|
|
296
288
|
mounted () {
|
|
289
|
+
this.getAdvancedFilterColumns()
|
|
297
290
|
},
|
|
298
291
|
methods: {
|
|
299
292
|
getSelectedString (val: number): string {
|
|
@@ -463,6 +456,12 @@ export default defineComponent({
|
|
|
463
456
|
|
|
464
457
|
this.filteredRows = filteredRows_
|
|
465
458
|
return filteredRows_.slice(0, this.pageLength)
|
|
459
|
+
},
|
|
460
|
+
getAdvancedFilterColumns (): void {
|
|
461
|
+
this.advancedFiltersData = this.columns.reduce((acc, column) => {
|
|
462
|
+
acc[column.name] = ''
|
|
463
|
+
return acc
|
|
464
|
+
}, {} as { [key: string]: string })
|
|
466
465
|
}
|
|
467
466
|
}
|
|
468
467
|
})
|
|
@@ -1,7 +1,51 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
<q-dialog
|
|
3
|
+
v-model="showDialog"
|
|
4
|
+
persistent
|
|
5
|
+
:seamless="true"
|
|
6
|
+
position="bottom"
|
|
7
|
+
full-width
|
|
8
|
+
transition-show="slide-up"
|
|
9
|
+
transition-hide="slide-down">
|
|
10
|
+
<q-card
|
|
11
|
+
square
|
|
12
|
+
flat
|
|
13
|
+
>
|
|
14
|
+
<q-bar>
|
|
15
|
+
<q-icon
|
|
16
|
+
name="filter_alt"
|
|
17
|
+
color="primary"
|
|
18
|
+
/>
|
|
19
|
+
<q-space />
|
|
20
|
+
|
|
21
|
+
<q-btn
|
|
22
|
+
dense
|
|
23
|
+
flat
|
|
24
|
+
icon="minimize"
|
|
25
|
+
color="primary"
|
|
26
|
+
:disable="maximizedToggle"
|
|
27
|
+
@click="maximizedToggle = true"
|
|
28
|
+
>
|
|
29
|
+
<q-tooltip
|
|
30
|
+
v-if="maximizedToggle"
|
|
31
|
+
class="bg-white text-primary">Minimize</q-tooltip>
|
|
32
|
+
</q-btn>
|
|
33
|
+
<q-btn
|
|
34
|
+
dense
|
|
35
|
+
flat
|
|
36
|
+
icon="crop_square"
|
|
37
|
+
color="primary"
|
|
38
|
+
@click="maximizedToggle = false"
|
|
39
|
+
:disable="!maximizedToggle"
|
|
40
|
+
>
|
|
41
|
+
<q-tooltip
|
|
42
|
+
v-if="!maximizedToggle"
|
|
43
|
+
class="bg-white text-primary">Maximize</q-tooltip>
|
|
44
|
+
</q-btn>
|
|
45
|
+
</q-bar>
|
|
46
|
+
<q-card-section
|
|
47
|
+
:style="maximizedToggle ? 'display:none;' : 'display: block'"
|
|
48
|
+
class="scroll">
|
|
5
49
|
<div class="row">
|
|
6
50
|
<div v-for="col in otherCols" class="col-xs-6 col-sm-4 col-md-3 q-px-xs q-py-xs"
|
|
7
51
|
:key="col.label">
|
|
@@ -46,6 +90,7 @@
|
|
|
46
90
|
</div>
|
|
47
91
|
</q-card-section>
|
|
48
92
|
</q-card>
|
|
93
|
+
</q-dialog>
|
|
49
94
|
</template>
|
|
50
95
|
<script lang="ts">
|
|
51
96
|
import TextFilter from './TextFilter.vue'
|
|
@@ -81,7 +126,8 @@ export default {
|
|
|
81
126
|
},
|
|
82
127
|
data () {
|
|
83
128
|
return {
|
|
84
|
-
showDialog: true
|
|
129
|
+
showDialog: true,
|
|
130
|
+
maximizedToggle: false
|
|
85
131
|
}
|
|
86
132
|
},
|
|
87
133
|
computed: {
|
|
@@ -43,11 +43,10 @@
|
|
|
43
43
|
:table-style="tableStyle"
|
|
44
44
|
:show-skeleton="showSkeleton"
|
|
45
45
|
:selection-type="'multiple'"
|
|
46
|
-
:advanced-filters="advancedFilters"
|
|
47
|
-
:show-icon-advanced-filter="true"
|
|
48
46
|
@on-select-visible-columns="(columns) => {
|
|
49
47
|
store.visiblecolumns = columns
|
|
50
48
|
}"
|
|
49
|
+
:show-icon-advanced-filter="true"
|
|
51
50
|
@on-update-basic-checkbox-value="onUpdateBasicCheckboxValue"
|
|
52
51
|
@on-update-customized-checkbox-value="onUpdateCustomizedCheckboxValue"
|
|
53
52
|
@on-click-button="setItemNotFound"
|
|
@@ -89,20 +88,21 @@ export default {
|
|
|
89
88
|
tabletMaxWidth: 1100,
|
|
90
89
|
store: tableStore(),
|
|
91
90
|
tableStyle: '',
|
|
92
|
-
advancedFilters: {},
|
|
93
91
|
columns: [{
|
|
94
92
|
name: 'name',
|
|
95
93
|
required: true,
|
|
96
94
|
label: 'Dessert (100g serving)',
|
|
97
95
|
align: 'left',
|
|
98
|
-
sortable: true
|
|
96
|
+
sortable: true,
|
|
97
|
+
type: 'string',
|
|
99
98
|
},
|
|
100
99
|
{
|
|
101
100
|
name: 'date',
|
|
102
101
|
required: true,
|
|
103
102
|
label: 'Fecha',
|
|
104
103
|
align: 'left',
|
|
105
|
-
sortable: true
|
|
104
|
+
sortable: true,
|
|
105
|
+
type: 'date'
|
|
106
106
|
},
|
|
107
107
|
{
|
|
108
108
|
name: 'available',
|
|
@@ -110,7 +110,8 @@ export default {
|
|
|
110
110
|
label: 'Available',
|
|
111
111
|
align: 'left',
|
|
112
112
|
sortable: true,
|
|
113
|
-
showBasicCheckbox: true
|
|
113
|
+
showBasicCheckbox: true,
|
|
114
|
+
type: 'boolean'
|
|
114
115
|
},
|
|
115
116
|
{
|
|
116
117
|
name: 'booleanIcon',
|
|
@@ -118,7 +119,8 @@ export default {
|
|
|
118
119
|
label: 'Boolean Icon',
|
|
119
120
|
align: 'left',
|
|
120
121
|
sortable: true,
|
|
121
|
-
showCustomizedIcon: true
|
|
122
|
+
showCustomizedIcon: true,
|
|
123
|
+
type: 'boolean'
|
|
122
124
|
},
|
|
123
125
|
{
|
|
124
126
|
name: 'calories',
|
|
@@ -132,7 +134,8 @@ export default {
|
|
|
132
134
|
popupEditDataCy: '',
|
|
133
135
|
mask: '#####',
|
|
134
136
|
showSelectNumberOptions: false,
|
|
135
|
-
popupEditInputtype: 'number'
|
|
137
|
+
popupEditInputtype: 'number',
|
|
138
|
+
type: 'number'
|
|
136
139
|
},
|
|
137
140
|
{
|
|
138
141
|
name: 'fat',
|
|
@@ -143,7 +146,8 @@ export default {
|
|
|
143
146
|
btnIcon: 'save',
|
|
144
147
|
btnEmit: 'onClickButton',
|
|
145
148
|
dataCy: 'onClickButton',
|
|
146
|
-
btnColor: 'primary'
|
|
149
|
+
btnColor: 'primary',
|
|
150
|
+
type: 'number'
|
|
147
151
|
},
|
|
148
152
|
{
|
|
149
153
|
name: 'carbs',
|
|
@@ -153,7 +157,8 @@ export default {
|
|
|
153
157
|
popupEditEmit: 'onSaveValuePopupEdit',
|
|
154
158
|
popupEditDataCy: '',
|
|
155
159
|
inputMaxLength: 200,
|
|
156
|
-
popupEditInputtype: 'textarea'
|
|
160
|
+
popupEditInputtype: 'textarea',
|
|
161
|
+
type: 'string'
|
|
157
162
|
},
|
|
158
163
|
{
|
|
159
164
|
name: 'checked',
|
|
@@ -166,7 +171,8 @@ export default {
|
|
|
166
171
|
uncheckedIcon: 'cancel',
|
|
167
172
|
checkBoxColorCaseTrue: 'positive',
|
|
168
173
|
checkBoxColorCaseFalse: 'negative',
|
|
169
|
-
checkBoxDataCy: ''
|
|
174
|
+
checkBoxDataCy: '',
|
|
175
|
+
type: 'boolean'
|
|
170
176
|
},
|
|
171
177
|
{
|
|
172
178
|
name: 'protein',
|
|
@@ -179,24 +185,28 @@ export default {
|
|
|
179
185
|
popupEditEmit: 'onSaveValuePopupEdit',
|
|
180
186
|
popupEditInputtype: 'text',
|
|
181
187
|
popupEditDataCy: '',
|
|
182
|
-
showInputPopupEdit: true
|
|
188
|
+
showInputPopupEdit: true,
|
|
189
|
+
type: 'string'
|
|
183
190
|
},
|
|
184
191
|
{
|
|
185
192
|
name: 'sodium',
|
|
186
193
|
label: 'Sodium (mg)',
|
|
187
|
-
field: 'sodium'
|
|
194
|
+
field: 'sodium',
|
|
195
|
+
type: 'string'
|
|
188
196
|
},
|
|
189
197
|
{
|
|
190
198
|
name: 'calcium',
|
|
191
199
|
label: 'Calcium (%)',
|
|
192
200
|
field: 'calcium',
|
|
193
|
-
sortable: true
|
|
201
|
+
sortable: true,
|
|
202
|
+
type: 'string'
|
|
194
203
|
},
|
|
195
204
|
{
|
|
196
205
|
name: 'iron',
|
|
197
206
|
label: 'Iron (%)',
|
|
198
207
|
field: 'iron',
|
|
199
|
-
sortable: true
|
|
208
|
+
sortable: true,
|
|
209
|
+
type: 'string'
|
|
200
210
|
}
|
|
201
211
|
],
|
|
202
212
|
rows: [],
|
|
@@ -423,12 +433,6 @@ export default {
|
|
|
423
433
|
icon: 'cancel',
|
|
424
434
|
spinner: false
|
|
425
435
|
})
|
|
426
|
-
},
|
|
427
|
-
getAdvancedFilterColumns (): void {
|
|
428
|
-
this.advancedFilters = this.columns.reduce((acc, column) => {
|
|
429
|
-
acc[column.name] = ''
|
|
430
|
-
return acc
|
|
431
|
-
}, {} as { [key: string]: string })
|
|
432
436
|
}
|
|
433
437
|
}
|
|
434
438
|
}
|
package/src/pages/TablePage.vue
CHANGED
|
@@ -22,7 +22,6 @@
|
|
|
22
22
|
:filterComputedOptions="{ preparedQuantity: store.prepared}"
|
|
23
23
|
:additional-sort-conditions="additionalSortConditions"
|
|
24
24
|
:additional-filter-conditions="additionalFilterConditions"
|
|
25
|
-
:advanced-filters="advancedFilters"
|
|
26
25
|
:show-icon-advanced-filter="true"
|
|
27
26
|
@on-select-visible-columns="(columns) => {
|
|
28
27
|
store.visiblecolumns = columns
|
|
@@ -55,7 +54,6 @@ export default {
|
|
|
55
54
|
showDialog: false,
|
|
56
55
|
store: tableStore(),
|
|
57
56
|
tableStyle: '',
|
|
58
|
-
advancedFilters: {},
|
|
59
57
|
columns: [
|
|
60
58
|
{
|
|
61
59
|
name: 'date',
|
|
@@ -404,8 +402,6 @@ export default {
|
|
|
404
402
|
this.tableStyle = setTableHeight.setTableHeight()
|
|
405
403
|
infiniteScroll.handleInfiniteScrollNewTable(this)
|
|
406
404
|
this.getRows()
|
|
407
|
-
this.getAdvancedFilterColumns()
|
|
408
|
-
|
|
409
405
|
},
|
|
410
406
|
methods: {
|
|
411
407
|
getRows () {
|
|
@@ -518,12 +514,6 @@ export default {
|
|
|
518
514
|
else if (!this.store.prepared) {
|
|
519
515
|
return [...rows]
|
|
520
516
|
}
|
|
521
|
-
},
|
|
522
|
-
getAdvancedFilterColumns (): void {
|
|
523
|
-
this.advancedFilters = this.columns.reduce((acc, column) => {
|
|
524
|
-
acc[column.name] = ''
|
|
525
|
-
return acc
|
|
526
|
-
}, {} as { [key: string]: string })
|
|
527
517
|
}
|
|
528
518
|
}
|
|
529
519
|
}
|