quasar-factory-lib 0.0.38 → 0.0.40

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.
@@ -0,0 +1,549 @@
1
+ <template>
2
+ <div>
3
+ <q-layout
4
+ view="hHh lpR fFf"
5
+ >
6
+ <q-header
7
+ class="bg-light-peach text-black"
8
+ >
9
+ <div class="header-container text-black">
10
+ <TaskNavBar
11
+ :logo="'src/assets/vue1.svg'"
12
+ :title="'Pda'"
13
+ :show-btn-back="false"
14
+ :show-btn-search="true"
15
+ @on-click-btn-search="toggleSearchVisibility"
16
+ @on-click-btn-menu="toogleColumnsSelectorVisibility">
17
+ </TaskNavBar>
18
+ </div>
19
+ </q-header>
20
+ <q-page-container class=" full-width column justify-center">
21
+ <q-page>
22
+ <Table
23
+ ref="table"
24
+ :rows="rows"
25
+ :columns="columns"
26
+ :visible-columns="visibleColumns"
27
+ :small-device="false"
28
+ :store="store"
29
+ :table-style="tableStyle"
30
+ :show-skeleton="false"
31
+ :selection-type="'multiple'"
32
+ :filter-method="filterMethod"
33
+ :filter-computed="filter"
34
+ :sortDataValues="['date']"
35
+ :filteredRows="filteredRows"
36
+ @on-select-visible-columns="saveSelectedColumns"
37
+ @on-update-basic-checkbox-value="onUpdateBasicCheckboxValue"
38
+ @on-update-customized-checkbox-value="onUpdateCustomizedCheckboxValue"
39
+ @on-click-button="setItemNotFound"
40
+ />
41
+ </q-page>
42
+ </q-page-container>
43
+ </q-layout>
44
+ </div>
45
+ </template>
46
+ <style>
47
+ </style>
48
+ <script lang="ts">
49
+ import TaskNavBar from '../components/TaskNavBar/TaskNavBar.vue'
50
+ import Table from '../components/Table/Table.vue'
51
+ import setTableHeight from '../components/Table/utils/setTableHeight'
52
+ import infiniteScroll from '../components/Table/utils/infiniteScroll'
53
+ import FilterMethod from '../components/Table/utils/filterMethod'
54
+ import { tableStore } from '../store/table.js'
55
+ export default {
56
+ components: {
57
+ TaskNavBar,
58
+ Table
59
+ },
60
+ data () {
61
+ return {
62
+ showDialog: false,
63
+ forceRender: false,
64
+ store: tableStore(),
65
+ totalPage: 0,
66
+ pageSize:15,
67
+ tableStyle: '',
68
+ columns: [{
69
+ name: 'name',
70
+ required: true,
71
+ label: 'Dessert (100g serving)',
72
+ align: 'left',
73
+ sortable: true
74
+ },
75
+ {
76
+ name: 'date',
77
+ required: true,
78
+ label: 'Fecha',
79
+ align: 'left',
80
+ sortable: true
81
+ },
82
+ {
83
+ name: 'available',
84
+ required: true,
85
+ label: 'Available',
86
+ align: 'left',
87
+ sortable: true,
88
+ showBasicCheckbox: true
89
+ },
90
+ {
91
+ name: 'booleanIcon',
92
+ required: true,
93
+ label: 'Boolean Icon',
94
+ align: 'left',
95
+ sortable: true,
96
+ showCustomizedIcon: true
97
+ },
98
+ {
99
+ name: 'calories',
100
+ align: 'center',
101
+ label: 'Calories',
102
+ field: 'calories',
103
+ sortable: true,
104
+ editable: true,
105
+ showEditIcon: true,
106
+ popupEditEmit: 'onSaveValuePopupEdit',
107
+ popupEditInputtype: 'number',
108
+ popupEditDataCy: '',
109
+ popupEditMask: '#####'
110
+ },
111
+ {
112
+ name: 'fat',
113
+ label: 'Fat (g)',
114
+ field: 'fat',
115
+ sortable: true,
116
+ showCustomizedButton: true,
117
+ btnIcon: 'save',
118
+ btnEmit: 'onClickButton',
119
+ dataCy: 'onClickButton',
120
+ btnColor: 'primary'
121
+ },
122
+ {
123
+ name: 'carbs',
124
+ label: 'Carbs (g)',
125
+ field: 'carbs'
126
+ },
127
+ {
128
+ name: 'checked',
129
+ label: 'Checked',
130
+ field: 'carbs',
131
+ sortable: true,
132
+ required: true,
133
+ showCustomizedCheckBox: true,
134
+ checkedIcon: 'check_circle',
135
+ uncheckedIcon: 'cancel',
136
+ checkBoxColorCaseTrue: 'positive',
137
+ checkBoxColorCaseFalse: 'negative',
138
+ checkBoxDataCy: ''
139
+ },
140
+ {
141
+ name: 'protein',
142
+ label: 'Protein (g)',
143
+ field: 'protein',
144
+ sortable: true,
145
+ required: true,
146
+ editable: true,
147
+ showEditIcon: true,
148
+ popupEditEmit: 'onSaveValuePopupEdit',
149
+ popupEditInputtype: 'text',
150
+ popupEditDataCy: '',
151
+ showInputPopupEdit: true
152
+ },
153
+ {
154
+ name: 'sodium',
155
+ label: 'Sodium (mg)',
156
+ field: 'sodium'
157
+ },
158
+ {
159
+ name: 'calcium',
160
+ label: 'Calcium (%)',
161
+ field: 'calcium',
162
+ sortable: true
163
+ },
164
+ {
165
+ name: 'iron',
166
+ label: 'Iron (%)',
167
+ field: 'iron',
168
+ sortable: true
169
+ }
170
+ ],
171
+ rows: [],
172
+ rowsData: [
173
+ {
174
+ id: 1,
175
+ name: 'Frozen Yogurt',
176
+ date: '21/12/2024',
177
+ booleanIcon: true,
178
+ available: true,
179
+ calories: 159,
180
+ fat: 6.0,
181
+ carbs: 24,
182
+ checked: false,
183
+ protein: 4.0,
184
+ sodium: 87,
185
+ calcium: '14%',
186
+ iron: '1%'
187
+ },
188
+ {
189
+ id: 2,
190
+ name: 'Ice cream sandwich',
191
+ date: '12/12/2024',
192
+ booleanIcon: true,
193
+ available: false,
194
+ calories: 237,
195
+ fat: 9.0,
196
+ carbs: 37,
197
+ checked: false,
198
+ protein: 4.3,
199
+ sodium: 129,
200
+ calcium: '8%',
201
+ iron: '1%'
202
+ },
203
+ {
204
+ id: 3,
205
+ name: 'Eclair',
206
+ date: '21/12/2025',
207
+ booleanIcon: true,
208
+ available: true,
209
+ calories: 262,
210
+ fat: 16.0,
211
+ carbs: 23,
212
+ checked: false,
213
+ protein: 6.0,
214
+ sodium: 337,
215
+ calcium: '6%',
216
+ iron: '7%'
217
+ },
218
+ {
219
+ id: 4,
220
+ name: 'Cupcake',
221
+ date: '05/07/2024',
222
+ booleanIcon: false,
223
+ available: false,
224
+ calories: 305,
225
+ fat: 3.7,
226
+ carbs: 67,
227
+ checked: false,
228
+ protein: 4.3,
229
+ sodium: 413,
230
+ calcium: '3%',
231
+ iron: '8%'
232
+ },
233
+ {
234
+ id: 5,
235
+ name: 'Gingerbread',
236
+ date: '07/05/2024',
237
+ booleanIcon: true,
238
+ available: true,
239
+ calories: 356,
240
+ fat: 16.0,
241
+ carbs: 49,
242
+ checked: false,
243
+ protein: 3.9,
244
+ sodium: 327,
245
+ calcium: '7%',
246
+ iron: '16%'
247
+ },
248
+ {
249
+ id: 5,
250
+ name: 'Jelly bean',
251
+ date: '11/12/2025',
252
+ booleanIcon: false,
253
+ available: false,
254
+ calories: 375,
255
+ fat: 0.0,
256
+ carbs: 94,
257
+ checked: true,
258
+ protein: 0.0,
259
+ sodium: 50,
260
+ calcium: '0%',
261
+ iron: '0%'
262
+ },
263
+ {
264
+ id: 6,
265
+ name: 'Lollipop',
266
+ booleanIcon: true,
267
+ date: '21/12/2024',
268
+ available: true,
269
+ calories: 392,
270
+ fat: 0.2,
271
+ carbs: 98,
272
+ checked: false,
273
+ protein: 0,
274
+ sodium: 38,
275
+ calcium: '0%',
276
+ iron: '2%'
277
+ },
278
+ {
279
+ id: 7,
280
+ name: 'Honeycomb',
281
+ booleanIcon: true,
282
+ date: '22/12/2023',
283
+ available: false,
284
+ calories: 408,
285
+ fat: 3.2,
286
+ carbs: 87,
287
+ checked: true,
288
+ protein: 6.5,
289
+ sodium: 562,
290
+ calcium: '0%',
291
+ iron: '45%'
292
+ },
293
+ {
294
+ id: 8,
295
+ name: 'Donut',
296
+ booleanIcon: true,
297
+ date: '25/12/2024',
298
+ available: true,
299
+ calories: 452,
300
+ fat: 25.0,
301
+ carbs: 51,
302
+ checked: false,
303
+ protein: 4.9,
304
+ sodium: 326,
305
+ calcium: '2%',
306
+ iron: '22%'
307
+ },
308
+ {
309
+ id: 9,
310
+ name: 'KitKat',
311
+ date: '20/12/2024',
312
+ booleanIcon: false,
313
+ available: false,
314
+ calories: 518,
315
+ fat: 26.0,
316
+ carbs: 65,
317
+ checked: true,
318
+ protein: 7,
319
+ sodium: 54,
320
+ calcium: '12%',
321
+ iron: '6%'
322
+ },
323
+ {
324
+ id: 10,
325
+ name: 'Frozen Yogurt',
326
+ date: '21/12/2024',
327
+ booleanIcon: true,
328
+ available: true,
329
+ calories: 159,
330
+ fat: 6.0,
331
+ carbs: 24,
332
+ checked: false,
333
+ protein: 4.0,
334
+ sodium: 87,
335
+ calcium: '14%',
336
+ iron: '1%'
337
+ },
338
+ {
339
+ id: 11,
340
+ name: 'Frozen Yogurt',
341
+ date: '21/12/2024',
342
+ booleanIcon: true,
343
+ available: true,
344
+ calories: 159,
345
+ fat: 6.0,
346
+ carbs: 24,
347
+ checked: false,
348
+ protein: 4.0,
349
+ sodium: 87,
350
+ calcium: '14%',
351
+ iron: '1%'
352
+ },
353
+ {
354
+ id: 12,
355
+ name: 'Ice cream sandwich',
356
+ date: '12/12/2024',
357
+ booleanIcon: true,
358
+ available: false,
359
+ calories: 237,
360
+ fat: 9.0,
361
+ carbs: 37,
362
+ checked: false,
363
+ protein: 4.3,
364
+ sodium: 129,
365
+ calcium: '8%',
366
+ iron: '1%'
367
+ },
368
+ {
369
+ id: 13,
370
+ name: 'Eclair',
371
+ date: '21/12/2025',
372
+ booleanIcon: true,
373
+ available: true,
374
+ calories: 262,
375
+ fat: 16.0,
376
+ carbs: 23,
377
+ checked: false,
378
+ protein: 6.0,
379
+ sodium: 337,
380
+ calcium: '6%',
381
+ iron: '7%'
382
+ },
383
+ {
384
+ id: 14,
385
+ name: 'Cupcake',
386
+ date: '05/07/2024',
387
+ booleanIcon: false,
388
+ available: false,
389
+ calories: 305,
390
+ fat: 3.7,
391
+ carbs: 67,
392
+ checked: false,
393
+ protein: 4.3,
394
+ sodium: 413,
395
+ calcium: '3%',
396
+ iron: '8%'
397
+ },
398
+ {
399
+ id: 15,
400
+ name: 'Gingerbread',
401
+ date: '07/05/2024',
402
+ booleanIcon: true,
403
+ available: true,
404
+ calories: 356,
405
+ fat: 16.0,
406
+ carbs: 49,
407
+ checked: false,
408
+ protein: 3.9,
409
+ sodium: 327,
410
+ calcium: '7%',
411
+ iron: '16%'
412
+ },
413
+ {
414
+ id: 16,
415
+ name: 'Jelly bean',
416
+ date: '11/12/2025',
417
+ booleanIcon: false,
418
+ available: false,
419
+ calories: 375,
420
+ fat: 0.0,
421
+ carbs: 94,
422
+ checked: true,
423
+ protein: 0.0,
424
+ sodium: 50,
425
+ calcium: '0%',
426
+ iron: '0%'
427
+ },
428
+ {
429
+ id: 17,
430
+ name: 'Lollipop',
431
+ booleanIcon: true,
432
+ date: '21/12/2024',
433
+ available: true,
434
+ calories: 392,
435
+ fat: 0.2,
436
+ carbs: 98,
437
+ checked: false,
438
+ protein: 0,
439
+ sodium: 38,
440
+ calcium: '0%',
441
+ iron: '2%'
442
+ },
443
+ {
444
+ id: 18,
445
+ name: 'Honeycomb',
446
+ booleanIcon: true,
447
+ date: '22/12/2023',
448
+ available: false,
449
+ calories: 408,
450
+ fat: 3.2,
451
+ carbs: 87,
452
+ checked: true,
453
+ protein: 6.5,
454
+ sodium: 562,
455
+ calcium: '0%',
456
+ iron: '45%'
457
+ },
458
+ {
459
+ id: 19,
460
+ name: 'Donut',
461
+ booleanIcon: true,
462
+ date: '25/12/2024',
463
+ available: true,
464
+ calories: 452,
465
+ fat: 25.0,
466
+ carbs: 51,
467
+ checked: false,
468
+ protein: 4.9,
469
+ sodium: 326,
470
+ calcium: '2%',
471
+ iron: '22%'
472
+ },
473
+ {
474
+ id: 20,
475
+ name: 'Last line',
476
+ date: '31/12/2026',
477
+ booleanIcon: false,
478
+ available: false,
479
+ calories: 518,
480
+ fat: 26.0,
481
+ carbs: 65,
482
+ checked: true,
483
+ protein: 7,
484
+ sodium: 54,
485
+ calcium: '12%',
486
+ iron: '6%'
487
+ }
488
+ ],
489
+ visibleColumns: [],
490
+ filteredRows: []
491
+ }
492
+ },
493
+ computed: {
494
+ pageLength (): number {
495
+ return (this.totalPage + 1) * this.pageSize
496
+ },
497
+ filter ():object {
498
+ return {
499
+ search: this.store.filterValue,
500
+ forceRender: this.forceRender
501
+ }
502
+ }
503
+ },
504
+ mounted () {
505
+ this.store.cleanTableFilter()
506
+ this.tableStyle = setTableHeight.setTableHeight()
507
+ infiniteScroll.handleInfiniteScrollNewTable(this)
508
+ this.rows = this.rowsData
509
+ this.visibleColumns = this.store.visiblecolumns
510
+ },
511
+ methods: {
512
+ saveSelectedColumns (columns: string []): void {
513
+ this.store.visiblecolumns = columns
514
+ this.visibleColumns = columns
515
+ },
516
+ filterMethod (rows: string | [], terms: { search: string }): object[] | [] {
517
+ return FilterMethod.filter(this, rows, terms)
518
+ },
519
+ onUpdateBasicCheckboxValue (rows: object []) {
520
+ console.log(rows, 'onUpdateBasicCheckboxValue')
521
+ },
522
+ onUpdateCustomizedCheckboxValue (rows: object []) {
523
+ console.log(rows, 'onUpdateCustomizedCheckboxValue')
524
+ },
525
+ setItemNotFound (rows: object []) {
526
+ console.log(rows, 'onClickButton')
527
+ },
528
+ toggleSearchVisibility () {
529
+ this.$refs.table.toggleSearchVisibility(this.store)
530
+ this.$refs.table.filterInputFocus()
531
+ },
532
+ toggleRightDrawer (): void {
533
+ },
534
+ toogleColumnsSelectorVisibility () {
535
+ // this.$refs.sideBar.setRightDrawerOpenToFalse()
536
+ this.$refs.table.toogleColumnsSelectorVisibility()
537
+ }
538
+ }
539
+ }
540
+ </script>
541
+ <style scoped>
542
+ .header-container {
543
+ padding: 20px 20px 5px 20px;
544
+ }
545
+ .q-toolbar {
546
+ min-height: unset !important;
547
+ padding: 0 !important;
548
+ }
549
+ </style>
@@ -21,6 +21,10 @@ const routes: RouteRecordRaw[] = [
21
21
  path: '/navBarPage',
22
22
  component: () => import('../pages/NavBarPage.vue')
23
23
  },
24
+ {
25
+ path: '/pdaLayout',
26
+ component: () => import('../layouts/PdaLayout.vue')
27
+ }
24
28
  ]
25
29
 
26
30
  export default routes
@@ -2,7 +2,7 @@ import { defineStore } from 'pinia'
2
2
  import { useStorage } from '@vueuse/core'
3
3
  export const tableStore = defineStore('tableStore', {
4
4
  state: () => ({
5
- disableScannerButtons: useStorage('counter', false),
5
+ disableScannerButtons: useStorage('disableScannerButtons', false),
6
6
  filterValue: useStorage('filterValue', ''),
7
7
  lastFilterValue: useStorage('lastFilterValue', ''),
8
8
  visiblecolumns: useStorage('visiblecolumns', [])