quasar-factory-lib 0.1.18 → 0.1.20

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.
@@ -1,6 +1,7 @@
1
1
  import type { App, Plugin } from 'vue'
2
2
 
3
3
  import MyTable from './Table.vue'
4
+ import DraggableQTable from './Table.vue'
4
5
 
5
6
  import { registerComponent } from '@/utils/plugins'
6
7
 
@@ -11,8 +12,10 @@ import { registerComponent } from '@/utils/plugins'
11
12
  export default {
12
13
  install (app: App) {
13
14
  registerComponent(app, 'MyTable', MyTable)
15
+ registerComponent(app, 'DraggableQTable', DraggableQTable)
14
16
  }
15
17
  } as Plugin
16
18
 
17
19
  /** export button components */
18
20
  export { MyTable as MyTable }
21
+ export { DraggableQTable as DraggableQTable }
@@ -1,4 +1,5 @@
1
1
  import MyTable from './Table'
2
+ import DraggableQTable from './Table'
2
3
  import AlertDialog from './Alert'
3
4
  import ConfirmDialog from './Confirm'
4
5
  import TaskNavBar from './TaskNavBar'
@@ -11,5 +12,5 @@ import SkeletonAreas from './SkeletonAreas'
11
12
  import ListSkeleton from './ListSkeleton'
12
13
  import SkeletonTaskList from './SkeletonTaskList'
13
14
  import SkeletonFormCreateTask from './SkeletonFormCreateTask'
14
- export { MyTable, AlertDialog, ConfirmDialog, TaskNavBar, ConfirmedTask, TableRowsCounter, NavBarSkeleton, AlertLabelsWithError, FormSkeleton, SkeletonAreas, ListSkeleton, SkeletonTaskList, SkeletonFormCreateTask }
15
+ export { DraggableQTable, MyTable, AlertDialog, ConfirmDialog, TaskNavBar, ConfirmedTask, TableRowsCounter, NavBarSkeleton, AlertLabelsWithError, FormSkeleton, SkeletonAreas, ListSkeleton, SkeletonTaskList, SkeletonFormCreateTask }
15
16
 
package/src/index.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import '@quasar/extras/material-icons/material-icons.css'
2
2
  import { Quasar } from 'quasar'
3
3
  import { App, Plugin } from 'vue'
4
- import { MyTable, AlertDialog, ConfirmDialog, TaskNavBar, ConfirmedTask, TableRowsCounter, NavBarSkeleton, AlertLabelsWithError, FormSkeleton, SkeletonAreas, ListSkeleton, SkeletonTaskList, SkeletonFormCreateTask } from './components/plugins.ts'
4
+ import { DraggableQTable, MyTable, AlertDialog, ConfirmDialog, TaskNavBar, ConfirmedTask, TableRowsCounter, NavBarSkeleton, AlertLabelsWithError, FormSkeleton, SkeletonAreas, ListSkeleton, SkeletonTaskList, SkeletonFormCreateTask } from './components/plugins.ts'
5
5
  import { registerPlugin, setVueInstance } from './utils/plugins.ts'
6
6
  import TranslateKeys from './i18n/translateKeys.ts'
7
7
  import { createPinia } from 'pinia'
8
- export { MyTable, AlertDialog, ConfirmDialog, TaskNavBar, ConfirmedTask, TableRowsCounter, NavBarSkeleton, AlertLabelsWithError, FormSkeleton, SkeletonAreas, ListSkeleton, SkeletonTaskList, SkeletonFormCreateTask } from './components/index.ts'
8
+ export { DraggableQTable, MyTable, AlertDialog, ConfirmDialog, TaskNavBar, ConfirmedTask, TableRowsCounter, NavBarSkeleton, AlertLabelsWithError, FormSkeleton, SkeletonAreas, ListSkeleton, SkeletonTaskList, SkeletonFormCreateTask } from './components/index.ts'
9
9
 
10
10
  export type { TranslateKeys }
11
11
  // import plugins from "./components/plugins";
@@ -21,6 +21,7 @@ const plugin: Plugin = {
21
21
  install(app: App) {
22
22
  console.log('[Quasar Components] Installing...')
23
23
  setVueInstance(app)
24
+ registerPlugin(app, DraggableQTable)
24
25
  registerPlugin(app, MyTable)
25
26
  registerPlugin(app, AlertDialog)
26
27
  registerPlugin(app, ConfirmDialog)
@@ -84,7 +84,6 @@ import NavBarSkeleton from '../components/NavBarSkeleton/NavBarSkeleton.vue'
84
84
  import TableRowsCounter from'../components/TableRowsCounter/TableRowsCounter.vue'
85
85
  import AlertLabelsWithError from '../components/AlertLabelsWithError/AlertLabelsWithError.vue'
86
86
  import setTableHeight from '../components/Table/utils/setTableHeight'
87
- // import infiniteScroll from '../components/Table/utils/infiniteScroll'
88
87
  import { tableStore } from '../store/table.js'
89
88
  export default {
90
89
  components: {
@@ -101,449 +100,134 @@ export default {
101
100
  store: tableStore(),
102
101
  tableStyle: '',
103
102
  columns: [
103
+ {
104
+ name: 'id',
105
+ label: '#',
106
+ field: 'id',
107
+ required: true
108
+ },
109
+ {
110
+ name: 'name',
111
+ required: true,
112
+ label: 'Dessert (100g serving)',
113
+ align: 'left',
114
+ field: row => row.name,
115
+ format: val => `${val}`,
116
+ sortable: true
117
+ },
118
+ { name: 'calories', align: 'center', label: 'Calories', field: 'calories', sortable: true },
119
+ { name: 'fat', label: 'Fat (g)', field: 'fat', sortable: true },
120
+ { name: 'carbs', label: 'Carbs (g)', field: 'carbs' },
121
+ { name: 'protein', label: 'Protein (g)', field: 'protein' },
122
+ { name: 'sodium', label: 'Sodium (mg)', field: 'sodium' },
123
+ { name: 'calcium', label: 'Calcium (%)', field: 'calcium', sortable: true, sort: (a, b) => parseInt(a, 10) - parseInt(b, 10) },
124
+ { name: 'iron', label: 'Iron (%)', field: 'iron', sortable: true, sort: (a, b) => parseInt(a, 10) - parseInt(b, 10) }
125
+ ],
126
+ rows: [],
127
+ showSkeleton: false,
128
+ buttonsList: [],
129
+ seed: [
104
130
  {
105
- name: 'drag-and-drop',
106
- required: true,
107
- label: 'Drag and drop',
108
- align: 'left',
109
- sortable: true,
110
- type: 'string',
111
- },
112
- {
113
- name: 'name',
114
- required: true,
115
- label: 'Dessert (100g serving)',
116
- align: 'left',
117
- sortable: true,
118
- type: 'string',
119
- },
120
- {
121
- name: 'date',
122
- required: true,
123
- label: 'Fecha',
124
- align: 'left',
125
- sortable: true,
126
- type: 'date'
127
- },
128
- {
129
- name: 'available',
130
- required: true,
131
- label: 'Available',
132
- align: 'left',
133
- sortable: true,
134
- showBasicCheckbox: true,
135
- type: 'boolean',
136
- checkBoxDataCy: 'checkbox'
131
+ name: 'Frozen Yogurt',
132
+ calories: 159,
133
+ fat: 6.0,
134
+ carbs: 24,
135
+ protein: 4.0,
136
+ sodium: 87,
137
+ calcium: '14%',
138
+ iron: '1%'
137
139
  },
138
140
  {
139
- name: 'booleanIcon',
140
- required: true,
141
- label: 'Boolean Icon',
142
- align: 'left',
143
- sortable: true,
144
- showCustomizedIcon: true,
145
- type: 'boolean'
141
+ name: 'Ice cream sandwich',
142
+ calories: 237,
143
+ fat: 9.0,
144
+ carbs: 37,
145
+ protein: 4.3,
146
+ sodium: 129,
147
+ calcium: '8%',
148
+ iron: '1%'
146
149
  },
147
150
  {
148
- name: 'calories',
149
- align: 'center',
150
- label: 'Calories',
151
- field: 'calories',
152
- sortable: true,
153
- editable: true,
154
- showEditIcon: true,
155
- popupEditEmit: 'onSaveValuePopupEdit',
156
- popupEditDataCy: '',
157
- mask: '#####',
158
- showSelectNumberOptions: false,
159
- popupEditInputtype: 'number',
160
- type: 'number'
151
+ name: 'Eclair',
152
+ calories: 262,
153
+ fat: 16.0,
154
+ carbs: 23,
155
+ protein: 6.0,
156
+ sodium: 337,
157
+ calcium: '6%',
158
+ iron: '7%'
161
159
  },
162
160
  {
163
- name: 'fat',
164
- label: 'Fat (g)',
165
- field: 'fat',
166
- sortable: true,
167
- showCustomizedButton: true,
168
- btnIcon: 'save',
169
- btnEmit: 'onClickButton',
170
- dataCy: 'onClickButton',
171
- btnColor: 'primary',
172
- type: 'number'
161
+ name: 'Cupcake',
162
+ calories: 305,
163
+ fat: 3.7,
164
+ carbs: 67,
165
+ protein: 4.3,
166
+ sodium: 413,
167
+ calcium: '3%',
168
+ iron: '8%'
173
169
  },
174
170
  {
175
- name: 'carbs',
176
- label: 'Carbs (g)',
177
- field: 'carbs',
178
- editable: true,
179
- popupEditEmit: 'onSaveValuePopupEdit',
180
- popupEditDataCy: '',
181
- inputMaxLength: 200,
182
- popupEditInputtype: 'textarea',
183
- type: 'string'
171
+ name: 'Gingerbread',
172
+ calories: 356,
173
+ fat: 16.0,
174
+ carbs: 49,
175
+ protein: 3.9,
176
+ sodium: 327,
177
+ calcium: '7%',
178
+ iron: '16%'
184
179
  },
185
180
  {
186
- name: 'checked',
187
- label: 'Checked',
188
- field: 'carbs',
189
- sortable: true,
190
- required: true,
191
- showCustomizedCheckBox: true,
192
- checkedIcon: 'check_circle',
193
- uncheckedIcon: 'cancel',
194
- checkBoxColorCaseTrue: 'positive',
195
- checkBoxColorCaseFalse: 'negative',
196
- checkBoxDataCy: '',
197
- type: 'boolean'
181
+ name: 'Jelly bean',
182
+ calories: 375,
183
+ fat: 0.0,
184
+ carbs: 94,
185
+ protein: 0.0,
186
+ sodium: 50,
187
+ calcium: '0%',
188
+ iron: '0%'
198
189
  },
199
190
  {
200
- name: 'protein',
201
- label: 'Protein (g)',
202
- field: 'protein',
203
- sortable: true,
204
- required: true,
205
- editable: true,
206
- showEditIcon: true,
207
- popupEditEmit: 'onSaveValuePopupEdit',
208
- popupEditInputtype: 'text',
209
- popupEditDataCy: '',
210
- showInputPopupEdit: true,
211
- type: 'string'
191
+ name: 'Lollipop',
192
+ calories: 392,
193
+ fat: 0.2,
194
+ carbs: 98,
195
+ protein: 0,
196
+ sodium: 38,
197
+ calcium: '0%',
198
+ iron: '2%'
212
199
  },
213
200
  {
214
- name: 'sodium',
215
- label: 'Sodium (mg)',
216
- field: 'sodium',
217
- type: 'string'
201
+ name: 'Honeycomb',
202
+ calories: 408,
203
+ fat: 3.2,
204
+ carbs: 87,
205
+ protein: 6.5,
206
+ sodium: 562,
207
+ calcium: '0%',
208
+ iron: '45%'
218
209
  },
219
210
  {
220
- name: 'calcium',
221
- label: 'Calcium (%)',
222
- field: 'calcium',
223
- sortable: true,
224
- type: 'string'
211
+ name: 'Donut',
212
+ calories: 452,
213
+ fat: 25.0,
214
+ carbs: 51,
215
+ protein: 4.9,
216
+ sodium: 326,
217
+ calcium: '2%',
218
+ iron: '22%'
225
219
  },
226
220
  {
227
- name: 'iron',
228
- label: 'Iron (%)',
229
- field: 'iron',
230
- sortable: true,
231
- type: 'string'
221
+ name: 'KitKat',
222
+ calories: 518,
223
+ fat: 26.0,
224
+ carbs: 65,
225
+ protein: 7,
226
+ sodium: 54,
227
+ calcium: '12%',
228
+ iron: '6%'
232
229
  }
233
- ],
234
- rows: [],
235
- rowsData: [
236
- {
237
- id: 1,
238
- name: 'Frozen Yogurt',
239
- booleanIcon: true,
240
- available: true,
241
- calories: 159,
242
- fat: 6.0,
243
- carbs: 24,
244
- checked: false,
245
- protein: 4.0,
246
- sodium: 87,
247
- calcium: '14%',
248
- iron: '1%'
249
- },
250
- {
251
- id: 2,
252
- name: 'Ice cream sandwich',
253
- booleanIcon: true,
254
- available: false,
255
- calories: 237,
256
- fat: 9.0,
257
- carbs: 37,
258
- checked: false,
259
- protein: 4.3,
260
- sodium: 129,
261
- calcium: '8%',
262
- iron: '1%'
263
- },
264
- {
265
- id: 3,
266
- name: 'Eclair',
267
- booleanIcon: true,
268
- available: true,
269
- calories: 262,
270
- fat: 16.0,
271
- carbs: 23,
272
- checked: false,
273
- protein: 6.0,
274
- sodium: 337,
275
- calcium: '6%',
276
- iron: '7%'
277
- },
278
- {
279
- id: 4,
280
- name: 'Cupcake',
281
- booleanIcon: false,
282
- available: false,
283
- calories: 305,
284
- fat: 3.7,
285
- carbs: 67,
286
- checked: false,
287
- protein: 4.3,
288
- sodium: 413,
289
- calcium: '3%',
290
- iron: '8%'
291
- },
292
- {
293
- id: 5,
294
- name: 'Gingerbread',
295
- booleanIcon: true,
296
- available: true,
297
- calories: 356,
298
- fat: 16.0,
299
- carbs: 49,
300
- checked: false,
301
- protein: 3.9,
302
- sodium: 327,
303
- calcium: '7%',
304
- iron: '16%'
305
- },
306
- {
307
- id: 5,
308
- name: 'Jelly bean',
309
- booleanIcon: false,
310
- available: false,
311
- calories: 375,
312
- fat: 0.0,
313
- carbs: 94,
314
- checked: true,
315
- protein: 0.0,
316
- sodium: 50,
317
- calcium: '0%',
318
- iron: '0%'
319
- },
320
- {
321
- id: 6,
322
- name: 'Lollipop',
323
- booleanIcon: true,
324
- available: true,
325
- calories: 392,
326
- fat: 0.2,
327
- carbs: 98,
328
- checked: false,
329
- protein: 0,
330
- sodium: 38,
331
- calcium: '0%',
332
- iron: '2%'
333
- },
334
- {
335
- id: 7,
336
- name: 'Honeycomb',
337
- booleanIcon: true,
338
- available: false,
339
- calories: 408,
340
- fat: 3.2,
341
- carbs: 87,
342
- checked: true,
343
- protein: 6.5,
344
- sodium: 562,
345
- calcium: '0%',
346
- iron: '45%'
347
- },
348
- {
349
- id: 8,
350
- name: 'Donut',
351
- booleanIcon: true,
352
- available: true,
353
- calories: 452,
354
- fat: 25.0,
355
- carbs: 51,
356
- checked: false,
357
- protein: 4.9,
358
- sodium: 326,
359
- calcium: '2%',
360
- iron: '22%'
361
- },
362
- {
363
- id: 9,
364
- name: 'KitKat',
365
- booleanIcon: false,
366
- available: false,
367
- calories: 518,
368
- fat: 26.0,
369
- carbs: 65,
370
- checked: true,
371
- protein: 7,
372
- sodium: 54,
373
- calcium: '12%',
374
- iron: '6%'
375
- },
376
- {
377
- id: 10,
378
- name: 'Frozen Yogurt',
379
- booleanIcon: true,
380
- available: true,
381
- calories: 159,
382
- fat: 6.0,
383
- carbs: 24,
384
- checked: false,
385
- protein: 4.0,
386
- sodium: 87,
387
- calcium: '14%',
388
- iron: '1%'
389
- },
390
- {
391
- id: 11,
392
- name: 'Ice cream sandwich',
393
- booleanIcon: true,
394
- available: false,
395
- calories: 237,
396
- fat: 9.0,
397
- carbs: 37,
398
- checked: false,
399
- protein: 4.3,
400
- sodium: 129,
401
- calcium: '8%',
402
- iron: '1%'
403
- },
404
- {
405
- id: 12,
406
- name: 'Eclair',
407
- booleanIcon: true,
408
- available: true,
409
- calories: 262,
410
- fat: 16.0,
411
- carbs: 23,
412
- checked: false,
413
- protein: 6.0,
414
- sodium: 337,
415
- calcium: '6%',
416
- iron: '7%'
417
- },
418
- {
419
- id: 13,
420
- name: 'Cupcake',
421
- booleanIcon: false,
422
- available: false,
423
- calories: 305,
424
- fat: 3.7,
425
- carbs: 67,
426
- checked: false,
427
- protein: 4.3,
428
- sodium: 413,
429
- calcium: '3%',
430
- iron: '8%'
431
- },
432
- {
433
- id: 14,
434
- name: 'Gingerbread',
435
- booleanIcon: true,
436
- available: true,
437
- calories: 356,
438
- fat: 16.0,
439
- carbs: 49,
440
- checked: false,
441
- protein: 3.9,
442
- sodium: 327,
443
- calcium: '7%',
444
- iron: '16%'
445
- },
446
- {
447
- id: 15,
448
- name: 'Jelly bean',
449
- booleanIcon: false,
450
- available: false,
451
- calories: 375,
452
- fat: 0.0,
453
- carbs: 94,
454
- checked: true,
455
- protein: 0.0,
456
- sodium: 50,
457
- calcium: '0%',
458
- iron: '0%'
459
- },
460
- {
461
- id: 16,
462
- name: 'Lollipop',
463
- booleanIcon: true,
464
- available: true,
465
- calories: 392,
466
- fat: 0.2,
467
- carbs: 98,
468
- checked: false,
469
- protein: 0,
470
- sodium: 38,
471
- calcium: '0%',
472
- iron: '2%'
473
- },
474
- {
475
- id: 17,
476
- name: 'Honeycomb',
477
- booleanIcon: true,
478
- available: false,
479
- calories: 408,
480
- fat: 3.2,
481
- carbs: 87,
482
- checked: true,
483
- protein: 6.5,
484
- sodium: 562,
485
- calcium: '0%',
486
- iron: '45%'
487
- },
488
- {
489
- id: 18,
490
- name: 'Donut',
491
- booleanIcon: true,
492
- available: true,
493
- calories: 452,
494
- fat: 25.0,
495
- carbs: 51,
496
- checked: false,
497
- protein: 4.9,
498
- sodium: 326,
499
- calcium: '2%',
500
- iron: '22%'
501
- },
502
- {
503
- id: 19,
504
- name: 'KitKat',
505
- booleanIcon: false,
506
- available: false,
507
- calories: 518,
508
- fat: 26.0,
509
- carbs: 65,
510
- checked: true,
511
- protein: 7,
512
- sodium: 54,
513
- calcium: '12%',
514
- iron: '6%'
515
- },
516
- {
517
- id: 20,
518
- name: 'KitKat',
519
- booleanIcon: false,
520
- available: false,
521
- calories: 518,
522
- fat: 26.0,
523
- carbs: 65,
524
- checked: true,
525
- protein: 7,
526
- sodium: 54,
527
- calcium: '12%',
528
- iron: '6%'
529
- },
530
- {
531
- id: 21,
532
- name: 'KitKat',
533
- booleanIcon: false,
534
- available: false,
535
- calories: 518,
536
- fat: 26.0,
537
- carbs: 65,
538
- checked: true,
539
- protein: 7,
540
- sodium: 54,
541
- calcium: '12%',
542
- iron: '6%'
543
- }
544
- ],
545
- showSkeleton: false,
546
- buttonsList: []
230
+ ]
547
231
  }
548
232
  },
549
233
  computed: {
@@ -551,25 +235,16 @@ export default {
551
235
  return this.$q.screen.width <= this.tabletMaxWidth
552
236
  }
553
237
  },
554
- watch: {
238
+ watch: {
555
239
  '$q.screen.width' (): void {
556
240
  setTimeout(() => {
557
241
  this.tableStyle = setTableHeight.setTableHeight()
558
- this.$refs.table.handleInfiniteScrollTableCompositionAPi()
559
- // infiniteScroll.handleInfiniteScrollNewTable(this)
242
+
560
243
  }, 500)
561
- },
562
- showSkeleton (val: boolean) {
563
- if (!val) {
564
- setTimeout(() => {
565
- this.tableStyle = setTableHeight.setTableHeight()
566
- this.$refs.table.handleInfiniteScrollTableCompositionAPi()
567
- // infiniteScroll.handleInfiniteScrollNewTable(this)
568
- }, 500)
569
- }
570
244
  }
571
245
  },
572
246
  mounted () {
247
+ this.tableStyle = setTableHeight.setTableHeight()
573
248
  this.showSkeleton = true
574
249
  this.store.cleanTableFilter()
575
250
  this.getRows()
@@ -577,13 +252,9 @@ export default {
577
252
  },
578
253
  methods: {
579
254
  getRows () {
255
+ this.rows = this.generateRows()
580
256
  setTimeout(()=> {
581
-
582
- this.rows = this.rowsData
583
- this.$nextTick(() =>{
584
- this.$refs.table.enableDragAndDrop = true
585
257
  this.showSkeleton = false
586
- })
587
258
  }, 1000)
588
259
  },
589
260
  onUpdateBasicCheckboxValue (rows: object []) {
@@ -629,6 +300,16 @@ export default {
629
300
  icon: 'cancel',
630
301
  spinner: false
631
302
  })
303
+ },
304
+ generateRows () {
305
+ let generatedRows = [] as object[]
306
+ for (let i = 0; i < 200; i++) {
307
+ generatedRows = generatedRows.concat(this.seed.slice(0).map(r => ({ ...r })))
308
+ }
309
+ generatedRows.forEach((row, id) => {
310
+ row.id = id
311
+ })
312
+ return generatedRows
632
313
  }
633
314
  }
634
315
  }