quasar-factory-lib 0.0.58 → 0.0.60

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.
Files changed (34) hide show
  1. package/dist/components/AlertWithLabelsError/AlertWithLabelsError.vue.d.ts +11 -0
  2. package/dist/components/AlertWithLabelsError/index.d.ts +8 -0
  3. package/dist/components/NavBarSkeleton/NavBarSkeleton.vue.d.ts +12 -0
  4. package/dist/components/NavBarSkeleton/index.d.ts +8 -0
  5. package/dist/components/TableRowsCounter/TableRowsCounter.vue.d.ts +12 -0
  6. package/dist/components/TableRowsCounter/index.d.ts +8 -0
  7. package/dist/components/TaskNavBar/TaskNavBar.vue.d.ts +9 -0
  8. package/dist/components/index.d.ts +3 -0
  9. package/dist/components/plugins.d.ts +4 -1
  10. package/dist/i18n/en/index.d.ts +1 -0
  11. package/dist/i18n/es/index.d.ts +1 -0
  12. package/dist/i18n/index.d.ts +2 -0
  13. package/dist/index.d.ts +1 -1
  14. package/dist/layouts/PdaLayout.vue.d.ts +44 -1
  15. package/dist/pages/NavBarPage.vue.d.ts +10 -0
  16. package/dist/quasar-factory-lib.js +4530 -4186
  17. package/dist/quasar-factory-lib.umd.cjs +11 -11
  18. package/dist/style.css +1 -1
  19. package/package.json +1 -1
  20. package/src/components/AlertWithLabelsError/AlertWithLabelsError.vue +137 -0
  21. package/src/components/AlertWithLabelsError/index.ts +18 -0
  22. package/src/components/NavBarSkeleton/NavBarSkeleton.vue +57 -0
  23. package/src/components/NavBarSkeleton/index.ts +19 -0
  24. package/src/components/TableRowsCounter/TableRowsCounter.vue +33 -0
  25. package/src/components/TableRowsCounter/index.ts +19 -0
  26. package/src/components/TaskNavBar/TaskNavBar.vue +6 -0
  27. package/src/components/index.ts +4 -1
  28. package/src/components/plugins.ts +4 -1
  29. package/src/css/app.css +4 -0
  30. package/src/i18n/en/index.ts +2 -1
  31. package/src/i18n/es/index.ts +2 -1
  32. package/src/index.ts +5 -2
  33. package/src/layouts/PdaLayout.vue +50 -5
  34. package/src/pages/NavBarPage.vue +7 -3
package/package.json CHANGED
@@ -97,6 +97,6 @@
97
97
  "release": "standard-version"
98
98
  },
99
99
  "type": "module",
100
- "version": "0.0.58",
100
+ "version": "0.0.60",
101
101
  "author": ""
102
102
  }
@@ -0,0 +1,137 @@
1
+ <template>
2
+ <div>
3
+ <q-dialog
4
+ v-model="alert"
5
+ persistent
6
+ transition-show="slide-up"
7
+ transition-hide="slide-down"
8
+ >
9
+ <q-card style="width: 100%; max-width: 560px; min-width: 250px;" data-cy="errors-details">
10
+ <q-bar>
11
+ <q-space />
12
+ <q-btn dense flat icon="close" @click="onCloseDialogLabelsError" data-cy="close-error-details">
13
+ </q-btn>
14
+ </q-bar>
15
+ <q-card-section class="q-pt-md">
16
+ <q-list bordered style="width: 100%">
17
+ <q-item
18
+ class="border-bottom-darkGrey"
19
+ v-for="(item, i) in labelsErrors"
20
+ :key="i"
21
+ v-bind="item"
22
+ >
23
+ <q-item-section top>
24
+ <q-item-label>
25
+ <span class="text-grey-8">
26
+ <span
27
+ class="text-weight-medium q-pr-xs text-color-almostBlack"
28
+ >{{ item.label }}</span
29
+ >
30
+ <q-icon
31
+ v-show="!item.spinner"
32
+ :color="
33
+ item.icon === 'check_circle'
34
+ ? 'green'
35
+ : 'red'
36
+ "
37
+ size="xs"
38
+ :name="item.icon" />
39
+ <q-spinner-oval data-cy="spinner"
40
+ v-show="item.spinner"
41
+ color="blue"
42
+ size="sm"
43
+ /></span>
44
+ </q-item-label>
45
+ <q-item-label
46
+ class="q-pt-sm "
47
+ v-show="item.icon === 'cancel'"
48
+ caption
49
+ >
50
+ {{ item.error }}
51
+ </q-item-label>
52
+ <q-item-label
53
+ class="q-pt-sm q-mt-x"
54
+ v-show="item.icon === 'cancel'"
55
+ >
56
+ <span class="float-left">
57
+ <q-btn
58
+ flat
59
+ size="sm"
60
+ class="text-blue"
61
+ data-cy="retry"
62
+ @click="retryReadLabelAxios(item.label)"
63
+ >
64
+ {{ $t("global.retry") }}
65
+ </q-btn>
66
+ </span>
67
+
68
+ <span class="float-right">
69
+ <q-btn
70
+ flat
71
+ round
72
+ size="sm"
73
+ color="secondary"
74
+ icon="delete"
75
+ data-cy="deleteLabelFromErrorsList"
76
+ @click="deleteLabelFromErrorMessage(i)"
77
+ />
78
+ </span>
79
+ </q-item-label>
80
+ </q-item-section>
81
+
82
+ <q-separator />
83
+ </q-item>
84
+ </q-list>
85
+ </q-card-section>
86
+ </q-card>
87
+ </q-dialog>
88
+ </div>
89
+ </template>
90
+
91
+ <style>
92
+ </style>
93
+
94
+ <script lang="ts">
95
+ import { defineComponent } from 'vue'
96
+
97
+ export default defineComponent({
98
+ name: 'AlertWithLabelsError',
99
+ data () {
100
+ return {
101
+ alert: false,
102
+ labelsErrors: []
103
+ }
104
+ },
105
+ emit: ['retryReadLabelAxios', 'onCloseDialogLabelsError'],
106
+ methods: {
107
+ deleteLabelFromErrorMessage (index: number): void {
108
+ this.labelsErrors.splice(index, 1)
109
+ if (this.labelsErrors.length === 0) {
110
+ this.onCloseDialogLabelsError()
111
+ }
112
+ },
113
+ retryReadLabelAxios (label: string): void {
114
+ this.$emit('retryReadLabelAxios', label)
115
+ },
116
+ onCloseDialogLabelsError (): void {
117
+ this.alert = false
118
+ this.labelsErrors = []
119
+ this.$emit('onCloseDialogLabelsError')
120
+ },
121
+ setLabelsSpinner (labelCode: string, value: boolean): void {
122
+ for (let i = 0; i < this.labelsErrors.length; i++) {
123
+ if (this.labelsErrors[i].label === labelCode) {
124
+ this.labelsErrors[i].spinner = value
125
+ }
126
+ }
127
+ },
128
+ setIconCircleCheck (labelCode: string): void {
129
+ for (let i = 0; i < this.labelsErrors.length; i++) {
130
+ if (this.labelsErrors[i].label === labelCode) {
131
+ this.labelsErrors[i].icon = 'check_circle'
132
+ }
133
+ }
134
+ }
135
+ }
136
+ })
137
+ </script>
@@ -0,0 +1,18 @@
1
+ import type { App, Plugin } from 'vue'
2
+
3
+ import AlertWithLabelsError from './AlertWithLabelsError.vue'
4
+
5
+ import { registerComponent } from '@/utils/plugins'
6
+
7
+ /** export button specific types */
8
+ // export type * from './types'
9
+
10
+ /** export button plugin */
11
+ export default {
12
+ install (app: App) {
13
+ registerComponent(app, 'AlertWithLabelsError', AlertWithLabelsError)
14
+ }
15
+ } as Plugin
16
+
17
+ /** export button components */
18
+ export { AlertWithLabelsError as AlertWithLabelsError }
@@ -0,0 +1,57 @@
1
+ <template>
2
+ <div>
3
+ <q-card style="width: 100%" class="q-mb-sm">
4
+ <q-item>
5
+ <q-item-section>
6
+ <q-item-label>
7
+ <q-skeleton size="20px" class="float-right"/>
8
+ <q-skeleton type="text" width="100px" height="50px" />
9
+ <q-skeleton type="text" width="250px" />
10
+ </q-item-label>
11
+ </q-item-section>
12
+ </q-item>
13
+ <q-item v-if="!smallDevice">
14
+ <q-item-section>
15
+ <q-item-label>
16
+ <q-skeleton
17
+ type="QInput"
18
+ width="200px"
19
+ height="40px"
20
+ class="float-left q-mr-md"
21
+ />
22
+ <q-skeleton
23
+ type="QInput"
24
+ width="200px"
25
+ height="40px"
26
+ class="float-left"
27
+ />
28
+ </q-item-label>
29
+ </q-item-section>
30
+ </q-item>
31
+ <q-item v-if="!smallDevice">
32
+ <q-item-section>
33
+ <q-item-label>
34
+ <q-skeleton
35
+ type="text"
36
+ width="30px"
37
+ />
38
+ </q-item-label>
39
+ </q-item-section>
40
+ </q-item>
41
+ </q-card>
42
+ </div>
43
+ </template>
44
+ <style>
45
+
46
+ </style>
47
+ <script>
48
+ export default {
49
+ name: 'ToolbarSkeleton',
50
+ props: {
51
+ smallDevice: {
52
+ type: Boolean,
53
+ required: true
54
+ }
55
+ }
56
+ }
57
+ </script>
@@ -0,0 +1,19 @@
1
+ import type { App, Plugin } from 'vue'
2
+
3
+ import NavBarSkeleton from './NavBarSkeleton.vue'
4
+
5
+ import { registerComponent } from '@/utils/plugins'
6
+
7
+ /** export button specific types */
8
+ // export type * from './types'
9
+
10
+ /** export button plugin */
11
+ export default {
12
+ install (app: App) {
13
+ registerComponent(app, 'NavBarSkeleton', NavBarSkeleton)
14
+ }
15
+ } as Plugin
16
+
17
+ /** export button components */
18
+ export { NavBarSkeleton as NavBarSkeleton }
19
+
@@ -0,0 +1,33 @@
1
+ <template>
2
+ <div>
3
+ <q-toolbar class="q-px-none q-py-none">
4
+ <div v-for="(item, index) in counterJson" :key="index" class="inline q-mr-md">
5
+ <span :data-cy="item.dataCy"
6
+ style="font-size: 20px; padding-right: 5px;"
7
+ :class="item.extraClasses">{{ item.qty }}</span>
8
+ <span style="font-size: 12px;">{{ $t(item.title) }}</span>
9
+ </div>
10
+ </q-toolbar>
11
+ </div>
12
+ </template>
13
+ <script lang="ts">
14
+ import { defineComponent } from 'vue'
15
+ export default defineComponent({
16
+ name: 'TableRowsCounter',
17
+ data() {
18
+ return {
19
+
20
+ }
21
+ },
22
+ props: {
23
+ counterJson: {
24
+ type: Array,
25
+ required: true
26
+ }
27
+ },
28
+ methods: {
29
+ }
30
+ })
31
+ </script>
32
+ <style>
33
+ </style>
@@ -0,0 +1,19 @@
1
+ import type { App, Plugin } from 'vue'
2
+
3
+ import TableRowsCounter from './TableRowsCounter.vue'
4
+
5
+ import { registerComponent } from '@/utils/plugins'
6
+
7
+ /** export button specific types */
8
+ // export type * from './types'
9
+
10
+ /** export button plugin */
11
+ export default {
12
+ install (app: App) {
13
+ registerComponent(app, 'TableRowsCounter', TableRowsCounter)
14
+ }
15
+ } as Plugin
16
+
17
+ /** export button components */
18
+ export { TableRowsCounter as TableRowsCounter }
19
+
@@ -56,6 +56,8 @@ import { defineComponent } from 'vue'
56
56
  import { date } from 'quasar'
57
57
  export default defineComponent({
58
58
  name: 'TaskNavBar',
59
+ components: {
60
+ },
59
61
  data() {
60
62
  return {
61
63
  date,
@@ -79,6 +81,10 @@ export default defineComponent({
79
81
  showBtnSearch: {
80
82
  type: Boolean,
81
83
  default: true
84
+ },
85
+ showSkeleton: {
86
+ type: Boolean,
87
+ default: true
82
88
  }
83
89
  },
84
90
  emits: ['onClickBtnMenu', 'onClickBtnSearch', 'onClickBtnBack'],
@@ -2,4 +2,7 @@ export * from './Table'
2
2
  export * from './Alert'
3
3
  export * from './Confirm'
4
4
  export * from './TaskNavBar'
5
- export * from './ConfirmedTask'
5
+ export * from './ConfirmedTask'
6
+ export * from './TableRowsCounter'
7
+ export * from './NavBarSkeleton'
8
+ export * from './AlertWithLabelsError'
@@ -3,5 +3,8 @@ import AlertDialog from './Alert'
3
3
  import ConfirmDialog from './Confirm'
4
4
  import TaskNavBar from './TaskNavBar'
5
5
  import ConfirmedTask from './ConfirmedTask'
6
- export { MyTable, AlertDialog, ConfirmDialog, TaskNavBar, ConfirmedTask }
6
+ import TableRowsCounter from './TableRowsCounter'
7
+ import NavBarSkeleton from './NavBarSkeleton'
8
+ import AlertWithLabelsError from './AlertWithLabelsError'
9
+ export { MyTable, AlertDialog, ConfirmDialog, TaskNavBar, ConfirmedTask, TableRowsCounter, NavBarSkeleton, AlertWithLabelsError }
7
10
 
package/src/css/app.css CHANGED
@@ -59,5 +59,9 @@
59
59
  font-size: 30px;
60
60
  }
61
61
 
62
+ .border-bottom-darkGrey{
63
+ border-bottom: 0.7px solid var(--dark-gray);
64
+ }
65
+
62
66
  /* const labelTextColor = 'color: #597765 !important;'
63
67
  const labelTextColorBold = 'color: #597765 !important; font-weight: bold;' */
@@ -23,7 +23,8 @@ const en = {
23
23
  hello: 'Hello'
24
24
  },
25
25
  global: {
26
- total: 'Total'
26
+ total: 'Total',
27
+ retry: 'Retray'
27
28
  },
28
29
  taskConfirmed: {
29
30
  repeatTask: 'Do you want to continue the task?',
@@ -23,7 +23,8 @@ const es = {
23
23
  hello: 'Hola'
24
24
  },
25
25
  global: {
26
- total: 'Total'
26
+ total: 'Total',
27
+ retry: 'Reintentar'
27
28
  },
28
29
  taskConfirmed: {
29
30
  repeatTask: '¿Quieres continuar la tarea?',
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 } from './components/plugins.ts'
4
+ import { MyTable, AlertDialog, ConfirmDialog, TaskNavBar, ConfirmedTask, TableRowsCounter, NavBarSkeleton, AlertWithLabelsError} 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 } from './components/index.ts'
8
+ export { MyTable, AlertDialog, ConfirmDialog, TaskNavBar, ConfirmedTask, TableRowsCounter, NavBarSkeleton, AlertWithLabelsError } from './components/index.ts'
9
9
 
10
10
  export type { TranslateKeys }
11
11
  // import plugins from "./components/plugins";
@@ -26,6 +26,9 @@ const plugin: Plugin = {
26
26
  registerPlugin(app, ConfirmDialog)
27
27
  registerPlugin(app, TaskNavBar)
28
28
  registerPlugin(app, ConfirmedTask)
29
+ registerPlugin(app, TableRowsCounter)
30
+ registerPlugin(app, NavBarSkeleton)
31
+ registerPlugin(app, AlertWithLabelsError)
29
32
  app.use(i18n)
30
33
  app.use(pinia)
31
34
  i18n.global.locale = 'en'
@@ -4,6 +4,7 @@
4
4
  view="hHh lpR fFf"
5
5
  >
6
6
  <q-header
7
+ v-if="!showSkeleton"
7
8
  class="bg-light-peach text-black"
8
9
  >
9
10
  <div class="header-container text-black">
@@ -16,8 +17,22 @@
16
17
  @on-click-btn-search="toggleSearchVisibility"
17
18
  @on-click-btn-menu="toogleColumnsSelectorVisibility">
18
19
  </TaskNavBar>
20
+ <TableRowsCounter :counterJson="[
21
+ { qty: 1, title: 'Total', dataCy: 'datacy', extraClasses: 'class'},
22
+ { qty: 10, title: 'Total2', dataCy: 'datacy', extraClasses: 'text-color-positive'},
23
+ { qty: 30, title: 'Total3', dataCy: 'datacy', extraClasses: 'text-color-negative-bold'}
24
+ ]"/>
19
25
  </div>
20
26
  </q-header>
27
+ <NavBarSkeleton
28
+ v-if="showSkeleton"
29
+ :small-device="smallDevice"
30
+ />
31
+ <AlertLabelsWithError
32
+ ref="AlertLabelsWithError"
33
+ @retry-read-label-axios="retryReadLabel"
34
+ @on-close-dialog-labels-error="onCloseDialogLabelsError"
35
+ />
21
36
  <q-page-container>
22
37
  <q-page>
23
38
  <Table
@@ -45,11 +60,11 @@
45
60
  <q-btn class="full-width" color="accent" icon="arrow_forward" />
46
61
  </q-page-sticky>
47
62
  </q-page>
48
- <SideBar
63
+ <!-- <SideBar
49
64
  ref="sideBar"
50
65
  @toggle-right-drawer="toggleRightDrawer"
51
66
  @onclick-show-select-visible-columns="toogleColumnsSelectorVisibility"
52
- :buttonsList="buttonsList" />
67
+ :buttonsList="buttonsList" /> -->
53
68
  </q-page-container>
54
69
  </q-layout>
55
70
  </div>
@@ -59,15 +74,21 @@
59
74
  <script lang="ts">
60
75
  import TaskNavBar from '../components/TaskNavBar/TaskNavBar.vue'
61
76
  import Table from '../components/Table/Table.vue'
62
- import SideBar from '../components/TaskNavBar/SideBar.vue'
77
+ // import SideBar from '../components/TaskNavBar/SideBar.vue'
78
+ import NavBarSkeleton from '../components/NavBarSkeleton/NavBarSkeleton.vue'
79
+ import TableRowsCounter from'../components/TableRowsCounter/TableRowsCounter.vue'
80
+ import AlertLabelsWithError from '../components/AlertWithLabelsError/AlertWithLabelsError.vue'
63
81
  import setTableHeight from '../components/Table/utils/setTableHeight'
64
82
  import infiniteScroll from '../components/Table/utils/infiniteScroll'
65
83
  import { tableStore } from '../store/table.js'
66
84
  export default {
67
85
  components: {
68
86
  TaskNavBar,
69
- SideBar,
70
- Table
87
+ // SideBar,
88
+ Table,
89
+ TableRowsCounter,
90
+ AlertLabelsWithError,
91
+ NavBarSkeleton
71
92
  },
72
93
  data () {
73
94
  return {
@@ -356,6 +377,19 @@ export default {
356
377
  this.showSkeleton = true
357
378
  this.store.cleanTableFilter()
358
379
  this.getRows()
380
+ this.$refs.AlertLabelsWithError.alert = true
381
+ this.$refs.AlertLabelsWithError.labelsErrors.push({
382
+ label: '558877',
383
+ error: 'The Bin does not exist. Identification fields and values',
384
+ icon: 'cancel',
385
+ spinner: false
386
+ },
387
+ {
388
+ label: '558871',
389
+ error: 'The Bin does not exist. Identification fields and values',
390
+ icon: 'cancel',
391
+ spinner: false
392
+ })
359
393
  },
360
394
  methods: {
361
395
  getRows () {
@@ -386,6 +420,17 @@ export default {
386
420
  },
387
421
  onClickBtnMenu () {
388
422
  this.toggleRightDrawer()
423
+ },
424
+ retryReadLabel () {
425
+ console.log('retryReadLabel')
426
+ },
427
+ onCloseDialogLabelsError () {
428
+ console.log('onCloseDialogLabelsError')
429
+ },
430
+ getX () {
431
+ // this.$refs.AlertLabelsWithError.setLabelsSpinner(labelCode, true)
432
+
433
+ // this.$refs.AlertLabelsWithError.setIconCircleCheck(labelCode)
389
434
  }
390
435
  }
391
436
  }
@@ -10,7 +10,8 @@
10
10
  <q-header class="bg-main-color text-black">
11
11
  <TaskNavBar
12
12
  :logo="'src/assets/vue.svg'"
13
- :title="'Testing new navbar'">
13
+ :title="'Testing new navbar'"
14
+ :showSkeleton="showSkeleton">
14
15
  </TaskNavBar>
15
16
  </q-header>
16
17
  </div>
@@ -27,13 +28,16 @@ export default {
27
28
  },
28
29
  data () {
29
30
  return {
30
- rightDrawerOpen: false
31
+ rightDrawerOpen: false,
32
+ showSkeleton: true
31
33
  }
32
34
  },
33
35
  computed: {
34
36
  },
35
37
  mounted () {
36
-
38
+ // setTimeout(() => {
39
+ // this.showSkeleton = false
40
+ // }, 1000)
37
41
  },
38
42
  methods: {
39
43
  }