quasar-factory-lib 0.0.53 → 0.0.55
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/ConfirmedTask/ConfirmedTask.vue.d.ts +34 -0
- package/dist/components/ConfirmedTask/index.d.ts +8 -0
- package/dist/components/TaskNavBar/SideBar.vue.d.ts +2 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/plugins.d.ts +2 -1
- package/dist/i18n/en/index.d.ts +30 -0
- package/dist/i18n/es/index.d.ts +30 -0
- package/dist/i18n/index.d.ts +60 -0
- package/dist/index.d.ts +1 -1
- package/dist/layouts/PdaLayout.vue.d.ts +23 -12
- package/dist/pages/ConfirmedTaskPage.vue.d.ts +39 -0
- package/dist/pages/SideBarPage.vue.d.ts +4 -0
- package/dist/pages/TablePage.vue.d.ts +1 -1
- package/dist/quasar-factory-lib.js +3563 -3384
- package/dist/quasar-factory-lib.umd.cjs +11 -11
- package/dist/store/table.d.ts +1 -0
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/assets/icons/Checked.svg +9 -0
- package/src/components/ConfirmedTask/ConfirmedTask.vue +122 -0
- package/src/components/ConfirmedTask/index.ts +19 -0
- package/src/components/Table/components/TableFilter.vue +1 -0
- package/src/components/Table/components/TableSlotGrid.vue +3 -4
- package/src/components/TaskNavBar/SideBar.vue +3 -0
- package/src/components/TaskNavBar/TaskNavBar.vue +3 -2
- package/src/components/index.ts +2 -1
- package/src/components/plugins.ts +2 -1
- package/src/css/app.css +6 -0
- package/src/i18n/en/index.ts +31 -1
- package/src/i18n/es/index.ts +31 -1
- package/src/index.ts +3 -2
- package/src/layouts/MenuLayout.vue +12 -0
- package/src/layouts/PdaLayout.vue +56 -31
- package/src/pages/ConfirmPage.vue +1 -0
- package/src/pages/ConfirmedTaskPage.vue +50 -0
- package/src/pages/SideBarPage.vue +33 -0
- package/src/pages/TablePage.vue +3 -4
- package/src/router/routes.ts +8 -0
- package/src/store/table.js +1 -0
package/package.json
CHANGED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<svg id="Componente_29_9" data-name="Componente 29 – 9" xmlns="http://www.w3.org/2000/svg" width="73" height="73" viewBox="0 0 73 73">
|
|
2
|
+
<g id="Grupo_14291" data-name="Grupo 14291" transform="translate(-661.596 -408.577)">
|
|
3
|
+
<path id="Caminho_15" data-name="Caminho 15" d="M5209,452.784l12.253,14.074,27.947-32.514" transform="translate(-4531.001 -4.523)" fill="none" stroke="#597765" stroke-width="1.5"/>
|
|
4
|
+
</g>
|
|
5
|
+
<g id="Elipse_21" data-name="Elipse 21" fill="none" stroke="#597765" stroke-width="1.5">
|
|
6
|
+
<circle cx="36.5" cy="36.5" r="36.5" stroke="none"/>
|
|
7
|
+
<circle cx="36.5" cy="36.5" r="35.75" fill="none"/>
|
|
8
|
+
</g>
|
|
9
|
+
</svg>
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="">
|
|
3
|
+
<q-dialog
|
|
4
|
+
data-cy="task-confirmed-successfully"
|
|
5
|
+
v-model="alert"
|
|
6
|
+
persistent
|
|
7
|
+
:maximized="true"
|
|
8
|
+
transition-show="slide-up"
|
|
9
|
+
transition-hide="slide-down"
|
|
10
|
+
>
|
|
11
|
+
<q-card :class="values.class">
|
|
12
|
+
<q-card-section class="q-pa-none full-width flex justify-center items-center" style="height: calc(100vh - 100px);">
|
|
13
|
+
<div style="text-align: center;">
|
|
14
|
+
<div class="q-mb-md">
|
|
15
|
+
<img src="src/assets/icons/Checked.svg">
|
|
16
|
+
</div>
|
|
17
|
+
<div class="counter">
|
|
18
|
+
<span class="text-color-positive">{{ values.selected }}</span>
|
|
19
|
+
<span class="text-color-almostBlack">/{{ values.total }}</span>
|
|
20
|
+
</div>
|
|
21
|
+
<div class="msg-text">
|
|
22
|
+
<div class="q-mb-md">{{values.message}}</div>
|
|
23
|
+
<div>{{$t('taskConfirmed.repeatTask')}}</div>
|
|
24
|
+
</div>
|
|
25
|
+
|
|
26
|
+
</div>
|
|
27
|
+
</q-card-section>
|
|
28
|
+
<q-card-actions class="fixed-bottom">
|
|
29
|
+
<q-btn
|
|
30
|
+
data-cy="repeat-task"
|
|
31
|
+
no-caps
|
|
32
|
+
square
|
|
33
|
+
unelevated
|
|
34
|
+
@click="repeatTask"
|
|
35
|
+
class="full-width bg-almostBlack text-color-offWhite q-mb-sm"
|
|
36
|
+
>{{ $t('taskConfirmed.repeat') }}</q-btn>
|
|
37
|
+
<q-btn
|
|
38
|
+
data-cy="end-task"
|
|
39
|
+
no-caps
|
|
40
|
+
square
|
|
41
|
+
unelevated
|
|
42
|
+
@click="endTask"
|
|
43
|
+
class="full-width text-color-almostBlack">{{$t('taskConfirmed.finish')}}</q-btn>
|
|
44
|
+
</q-card-actions>
|
|
45
|
+
</q-card>
|
|
46
|
+
</q-dialog>
|
|
47
|
+
</div>
|
|
48
|
+
</template>
|
|
49
|
+
|
|
50
|
+
<style scoped>
|
|
51
|
+
.counter{
|
|
52
|
+
font-size: 60px;
|
|
53
|
+
text-align: center;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.msg-text{
|
|
57
|
+
font-size: 20px;
|
|
58
|
+
text-align: center;
|
|
59
|
+
margin: auto;
|
|
60
|
+
}
|
|
61
|
+
.q-btn {
|
|
62
|
+
font-size: 20px;
|
|
63
|
+
}
|
|
64
|
+
.q-btn:nth-child(2) {
|
|
65
|
+
border: 1px solid #212427;
|
|
66
|
+
}
|
|
67
|
+
img {
|
|
68
|
+
width: 70px;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
@media only screen and (max-width: 700px) {
|
|
72
|
+
.counter{
|
|
73
|
+
font-size: 40px;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.msg-text{
|
|
77
|
+
font-size: 15px;
|
|
78
|
+
text-align: center;
|
|
79
|
+
margin: auto;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
img {
|
|
83
|
+
width: 50px;
|
|
84
|
+
}
|
|
85
|
+
.q-btn {
|
|
86
|
+
font-size: 15px;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
</style>
|
|
90
|
+
|
|
91
|
+
<script>
|
|
92
|
+
import { defineComponent, ref } from 'vue'
|
|
93
|
+
export default defineComponent({
|
|
94
|
+
data () {
|
|
95
|
+
return {
|
|
96
|
+
alert: false
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
props: {
|
|
100
|
+
values: {
|
|
101
|
+
type: Object,
|
|
102
|
+
required: true,
|
|
103
|
+
default: {
|
|
104
|
+
selected: 0,
|
|
105
|
+
total: 0,
|
|
106
|
+
message: '',
|
|
107
|
+
class:''
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
emits: ['repeatTask', 'endTask'],
|
|
112
|
+
methods: {
|
|
113
|
+
repeatTask () {
|
|
114
|
+
this.$emit('repeatTask')
|
|
115
|
+
},
|
|
116
|
+
endTask () {
|
|
117
|
+
this.$emit('endTask')
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
mounted () {}
|
|
121
|
+
})
|
|
122
|
+
</script>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { App, Plugin } from 'vue'
|
|
2
|
+
|
|
3
|
+
import ConfirmedTask from './ConfirmedTask.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, 'ConfirmedTask', ConfirmedTask)
|
|
14
|
+
}
|
|
15
|
+
} as Plugin
|
|
16
|
+
|
|
17
|
+
/** export button components */
|
|
18
|
+
export { ConfirmedTask as ConfirmedTask }
|
|
19
|
+
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
|
+
:id="'card-container-' + tablePropsData.row.id"
|
|
3
4
|
:class="'q-pa-xs col-xs-12 col-sm-6 col-md-4 col-lg-3 grid-style-transition'"
|
|
4
5
|
:style="tablePropsData.selected ? 'transform: scale(0.95);' : ''"
|
|
5
6
|
>
|
|
@@ -17,6 +18,7 @@
|
|
|
17
18
|
>
|
|
18
19
|
<q-card-section>
|
|
19
20
|
<q-checkbox
|
|
21
|
+
:data-cy="'checkbox-' + tablePropsData.row.id"
|
|
20
22
|
v-if="selectionType != 'none'"
|
|
21
23
|
v-model="tablePropsData.selected"
|
|
22
24
|
dense
|
|
@@ -41,6 +43,7 @@
|
|
|
41
43
|
class="itemsFontSize text-color-almostBlack"
|
|
42
44
|
:class="getCellClass(tablePropsData.row, col)"
|
|
43
45
|
>
|
|
46
|
+
<span v-html="tablePropsData.row[col.name]" />
|
|
44
47
|
<q-icon
|
|
45
48
|
v-if="col.editable"
|
|
46
49
|
name="edit"
|
|
@@ -48,7 +51,6 @@
|
|
|
48
51
|
size="sm"
|
|
49
52
|
class="cursor-pointer"
|
|
50
53
|
/>
|
|
51
|
-
<span v-html="tablePropsData.row[col.name]" />
|
|
52
54
|
<PopupEditNumber
|
|
53
55
|
v-if="col.editable && col.popupEditInputtype === 'number'"
|
|
54
56
|
:model="tablePropsData.row[col.name] || ''"
|
|
@@ -190,7 +192,4 @@ export default {
|
|
|
190
192
|
}
|
|
191
193
|
</script>
|
|
192
194
|
<style>
|
|
193
|
-
/* .q-btn {
|
|
194
|
-
padding: unset;
|
|
195
|
-
} */
|
|
196
195
|
</style>
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<img :src="logo" class="logo">
|
|
7
7
|
<span id="mobile-title">{{ title }}</span>
|
|
8
8
|
</div>
|
|
9
|
-
<div class="col-5 text-right">
|
|
9
|
+
<div class="col-5 text-right" data-cy="back">
|
|
10
10
|
<q-icon v-if="showBtnBack" size="md" class="cursor-pointer" @click="onClickBtnBack">
|
|
11
11
|
<svg class="text-h4" xmlns="http://www.w3.org/2000/svg" width="30" height="30"
|
|
12
12
|
viewBox="0 0 23.648 22.836">
|
|
@@ -23,9 +23,10 @@
|
|
|
23
23
|
:name="showIconSearch ?'search' : 'search_off'"
|
|
24
24
|
size="md"
|
|
25
25
|
class="q-ml-md cursor-pointer"
|
|
26
|
+
data-cy="search"
|
|
26
27
|
@click="onClickBtnSearch">
|
|
27
28
|
</q-icon>
|
|
28
|
-
<q-icon id="iconMenu" size="md" @click="onClickBtnMenu" class="q-ml-md cursor-pointer">
|
|
29
|
+
<q-icon id="iconMenu" size="md" @click="onClickBtnMenu" class="q-ml-md cursor-pointer" data-cy="menu">
|
|
29
30
|
<svg xmlns="http://www.w3.org/2000/svg" width="30.448" height="28.247" viewBox="0 0 30.448 28.247">
|
|
30
31
|
<g id="Componente_11_3" data-name="Componente 11 – 3" transform="translate(0 1)">
|
|
31
32
|
<path id="Caminho_702" data-name="Caminho 702" d="M38.053,40.174H24"
|
package/src/components/index.ts
CHANGED
|
@@ -2,5 +2,6 @@ import MyTable from './Table'
|
|
|
2
2
|
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
7
|
|
package/src/css/app.css
CHANGED
|
@@ -37,10 +37,16 @@
|
|
|
37
37
|
.text-color-almostBlack {
|
|
38
38
|
color: var(--almost-black);
|
|
39
39
|
}
|
|
40
|
+
.bg-almostBlack {
|
|
41
|
+
background-color: var(--almost-black);
|
|
42
|
+
}
|
|
40
43
|
.q-toolbar-unset-height .q-toolbar {
|
|
41
44
|
min-height: unset;
|
|
42
45
|
padding: 0;
|
|
43
46
|
}
|
|
47
|
+
.text-color-offWhite {
|
|
48
|
+
color: var(--light-beige)
|
|
49
|
+
}
|
|
44
50
|
|
|
45
51
|
.text-color-positive {
|
|
46
52
|
color: var(--positive);
|
package/src/i18n/en/index.ts
CHANGED
|
@@ -24,6 +24,36 @@ const en = {
|
|
|
24
24
|
},
|
|
25
25
|
global: {
|
|
26
26
|
total: 'Total'
|
|
27
|
-
}
|
|
27
|
+
},
|
|
28
|
+
taskConfirmed: {
|
|
29
|
+
repeatTask: 'Do you want to continue the task?',
|
|
30
|
+
repeat: 'Yes, continue!',
|
|
31
|
+
finish: 'Finish'
|
|
32
|
+
},
|
|
33
|
+
menu: {
|
|
34
|
+
logout: 'Logout',
|
|
35
|
+
home: 'Home',
|
|
36
|
+
areas: 'Areas',
|
|
37
|
+
filters: 'Filters',
|
|
38
|
+
seeOnlyChecked: 'See only checked',
|
|
39
|
+
seeManufacturing: 'See manufacturing',
|
|
40
|
+
seeSubcontractor: 'See subcontractor',
|
|
41
|
+
confirmRelocation: 'Confirm Relocation',
|
|
42
|
+
deleteAll: 'Delete All',
|
|
43
|
+
activateLoading: 'Activate Loading',
|
|
44
|
+
showExpeditionLines: 'Show Expedition Lines',
|
|
45
|
+
showOrderLines: 'Show Order Lines',
|
|
46
|
+
endTransaction: 'End Transaction',
|
|
47
|
+
translate: 'Translate',
|
|
48
|
+
labelSelectLanguage: 'Language',
|
|
49
|
+
selectLanguageLabelOptions: ['Spanish', 'English'],
|
|
50
|
+
deleteSelectedLine: 'Delete Erroneous Label(s)',
|
|
51
|
+
seeMap: 'See Map',
|
|
52
|
+
recordReceiptPurchase: 'Record Receipt',
|
|
53
|
+
addContainerNumber: 'Add Container Number',
|
|
54
|
+
showColumnsSelector: 'Show columns selector',
|
|
55
|
+
hideColumnsSelector: 'Hide columns selector',
|
|
56
|
+
sorting: 'Sorting'
|
|
57
|
+
},
|
|
28
58
|
}
|
|
29
59
|
export default en
|
package/src/i18n/es/index.ts
CHANGED
|
@@ -24,6 +24,36 @@ const es = {
|
|
|
24
24
|
},
|
|
25
25
|
global: {
|
|
26
26
|
total: 'Total'
|
|
27
|
-
}
|
|
27
|
+
},
|
|
28
|
+
taskConfirmed: {
|
|
29
|
+
repeatTask: '¿Quieres continuar la tarea?',
|
|
30
|
+
repeat: 'Sí, continuar!',
|
|
31
|
+
finish: 'Finalizar'
|
|
32
|
+
},
|
|
33
|
+
menu: {
|
|
34
|
+
logout: 'Desconectar',
|
|
35
|
+
home: 'Inicio',
|
|
36
|
+
areas: 'Areas',
|
|
37
|
+
filters: 'Filtros',
|
|
38
|
+
seeOnlyChecked: 'Ver solo comprobadas',
|
|
39
|
+
seeManufacturing: 'Ver fabricación',
|
|
40
|
+
seeSubcontractor: 'Ver subcontrata',
|
|
41
|
+
confirmRelocation: 'Confirmar Reubicación',
|
|
42
|
+
deleteAll: 'Anular todos',
|
|
43
|
+
activateLoading: 'Activar Carga',
|
|
44
|
+
showExpeditionLines: 'Mostrar Líneas Expedición',
|
|
45
|
+
showOrderLines: 'Mostrar Líneas Pedidos',
|
|
46
|
+
endTransaction: 'Finalizar Operación',
|
|
47
|
+
translate: 'Traducir',
|
|
48
|
+
labelSelectLanguage: 'Idioma',
|
|
49
|
+
selectLanguageLabelOptions: ['Castellano', 'Inglés'],
|
|
50
|
+
deleteSelectedLine: 'Eliminar Etiquetas(s) Errónea(s)',
|
|
51
|
+
seeMap: 'Ver Plano',
|
|
52
|
+
recordReceiptPurchase: 'Registrar Recepción',
|
|
53
|
+
addContainerNumber: 'Añadir Nº Contenedor',
|
|
54
|
+
showColumnsSelector: 'Mostrar selector de columnas',
|
|
55
|
+
hideColumnsSelector: 'Hide selector de columnas',
|
|
56
|
+
sorting: 'Ordenar'
|
|
57
|
+
},
|
|
28
58
|
}
|
|
29
59
|
export default es
|
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 } from './components/plugins.ts'
|
|
4
|
+
import { MyTable, AlertDialog, ConfirmDialog, TaskNavBar, ConfirmedTask } 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 } from './components/index.ts'
|
|
8
|
+
export { MyTable, AlertDialog, ConfirmDialog, TaskNavBar, ConfirmedTask } from './components/index.ts'
|
|
9
9
|
|
|
10
10
|
export type { TranslateKeys }
|
|
11
11
|
// import plugins from "./components/plugins";
|
|
@@ -25,6 +25,7 @@ const plugin: Plugin = {
|
|
|
25
25
|
registerPlugin(app, AlertDialog)
|
|
26
26
|
registerPlugin(app, ConfirmDialog)
|
|
27
27
|
registerPlugin(app, TaskNavBar)
|
|
28
|
+
registerPlugin(app, ConfirmedTask)
|
|
28
29
|
app.use(i18n)
|
|
29
30
|
app.use(pinia)
|
|
30
31
|
i18n.global.locale = 'en'
|
|
@@ -18,6 +18,12 @@
|
|
|
18
18
|
router.push('confirmPage')
|
|
19
19
|
}"
|
|
20
20
|
/>
|
|
21
|
+
<q-btn
|
|
22
|
+
label="confirmedTask"
|
|
23
|
+
@click="() => {
|
|
24
|
+
router.push('confirmedTask')
|
|
25
|
+
}"
|
|
26
|
+
/>
|
|
21
27
|
<q-btn
|
|
22
28
|
label="navbar"
|
|
23
29
|
@click="() => {
|
|
@@ -30,6 +36,12 @@
|
|
|
30
36
|
router.push('pdaLayout')
|
|
31
37
|
}"
|
|
32
38
|
/>
|
|
39
|
+
<q-btn
|
|
40
|
+
label="sideBarPage"
|
|
41
|
+
@click="() => {
|
|
42
|
+
router.push('sideBarPage')
|
|
43
|
+
}"
|
|
44
|
+
/>
|
|
33
45
|
</div>
|
|
34
46
|
</template>
|
|
35
47
|
<script setup lang="ts">
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
:title="'Pda'"
|
|
13
13
|
:show-btn-back="false"
|
|
14
14
|
:show-btn-search="true"
|
|
15
|
+
@onClickBtnMenu="onClickBtnMenu"
|
|
15
16
|
@on-click-btn-search="toggleSearchVisibility"
|
|
16
17
|
@on-click-btn-menu="toogleColumnsSelectorVisibility">
|
|
17
18
|
</TaskNavBar>
|
|
@@ -23,22 +24,32 @@
|
|
|
23
24
|
ref="table"
|
|
24
25
|
:rows="rows"
|
|
25
26
|
:columns="columns"
|
|
26
|
-
:visible-columns="
|
|
27
|
+
:visible-columns="store.visiblecolumns"
|
|
27
28
|
:small-device="smallDevice"
|
|
28
29
|
:store="store"
|
|
29
30
|
:table-style="tableStyle"
|
|
30
31
|
:show-skeleton="showSkeleton"
|
|
31
32
|
:selection-type="'multiple'"
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
@on-select-visible-columns="(columns) => {
|
|
34
|
+
store.visiblecolumns = columns
|
|
35
|
+
}"
|
|
34
36
|
@on-update-basic-checkbox-value="onUpdateBasicCheckboxValue"
|
|
35
37
|
@on-update-customized-checkbox-value="onUpdateCustomizedCheckboxValue"
|
|
36
38
|
@on-click-button="setItemNotFound"
|
|
37
39
|
/>
|
|
38
|
-
<q-page-sticky
|
|
39
|
-
|
|
40
|
+
<q-page-sticky
|
|
41
|
+
v-if="smallDevice"
|
|
42
|
+
position="bottom"
|
|
43
|
+
expand
|
|
44
|
+
>
|
|
45
|
+
<q-btn class="full-width" color="accent" icon="arrow_forward" />
|
|
40
46
|
</q-page-sticky>
|
|
41
47
|
</q-page>
|
|
48
|
+
<SideBar
|
|
49
|
+
ref="sideBar"
|
|
50
|
+
@toggle-right-drawer="toggleRightDrawer"
|
|
51
|
+
@onclick-show-select-visible-columns="toogleColumnsSelectorVisibility"
|
|
52
|
+
:buttonsList="buttonsList" />
|
|
42
53
|
</q-page-container>
|
|
43
54
|
</q-layout>
|
|
44
55
|
</div>
|
|
@@ -46,21 +57,22 @@
|
|
|
46
57
|
<style>
|
|
47
58
|
</style>
|
|
48
59
|
<script lang="ts">
|
|
49
|
-
|
|
50
|
-
|
|
60
|
+
import TaskNavBar from '../components/TaskNavBar/TaskNavBar.vue'
|
|
61
|
+
import Table from '../components/Table/Table.vue'
|
|
62
|
+
import SideBar from '../components/TaskNavBar/SideBar.vue'
|
|
51
63
|
import setTableHeight from '../components/Table/utils/setTableHeight'
|
|
52
64
|
import infiniteScroll from '../components/Table/utils/infiniteScroll'
|
|
53
|
-
import FilterMethod from '../components/Table/utils/filterMethod'
|
|
54
65
|
import { tableStore } from '../store/table.js'
|
|
55
66
|
export default {
|
|
56
67
|
components: {
|
|
57
68
|
TaskNavBar,
|
|
69
|
+
SideBar,
|
|
58
70
|
Table
|
|
59
71
|
},
|
|
60
72
|
data () {
|
|
61
73
|
return {
|
|
62
|
-
smallDevice: false,
|
|
63
74
|
showDialog: false,
|
|
75
|
+
tabletMaxWidth: 1100,
|
|
64
76
|
store: tableStore(),
|
|
65
77
|
tableStyle: '',
|
|
66
78
|
columns: [{
|
|
@@ -147,12 +159,12 @@ export default {
|
|
|
147
159
|
field: 'protein',
|
|
148
160
|
sortable: true,
|
|
149
161
|
required: true,
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
162
|
+
editable: true,
|
|
163
|
+
showEditIcon: true,
|
|
164
|
+
popupEditEmit: 'onSaveValuePopupEdit',
|
|
165
|
+
popupEditInputtype: 'text',
|
|
166
|
+
popupEditDataCy: '',
|
|
167
|
+
showInputPopupEdit: true
|
|
156
168
|
},
|
|
157
169
|
{
|
|
158
170
|
name: 'sodium',
|
|
@@ -315,33 +327,42 @@ export default {
|
|
|
315
327
|
iron: '6%'
|
|
316
328
|
}
|
|
317
329
|
],
|
|
318
|
-
|
|
319
|
-
|
|
330
|
+
showSkeleton: false,
|
|
331
|
+
buttonsList: []
|
|
332
|
+
}
|
|
333
|
+
},
|
|
334
|
+
computed: {
|
|
335
|
+
smallDevice (): boolean {
|
|
336
|
+
return this.$q.screen.width <= this.tabletMaxWidth
|
|
337
|
+
}
|
|
338
|
+
},
|
|
339
|
+
watch: {
|
|
340
|
+
'$q.screen.width' (): void {
|
|
341
|
+
setTimeout(() => {
|
|
342
|
+
this.tableStyle = setTableHeight.setTableHeight()
|
|
343
|
+
infiniteScroll.handleInfiniteScrollNewTable(this)
|
|
344
|
+
}, 500)
|
|
345
|
+
},
|
|
346
|
+
showSkeleton (val: boolean) {
|
|
347
|
+
if (!val) {
|
|
348
|
+
setTimeout(() => {
|
|
349
|
+
this.tableStyle = setTableHeight.setTableHeight()
|
|
350
|
+
infiniteScroll.handleInfiniteScrollNewTable(this)
|
|
351
|
+
}, 500)
|
|
352
|
+
}
|
|
320
353
|
}
|
|
321
354
|
},
|
|
322
355
|
mounted () {
|
|
323
356
|
this.showSkeleton = true
|
|
324
357
|
this.store.cleanTableFilter()
|
|
325
|
-
this.tableStyle = setTableHeight.setTableHeight()
|
|
326
|
-
infiniteScroll.handleInfiniteScrollNewTable(this)
|
|
327
358
|
this.getRows()
|
|
328
359
|
},
|
|
329
360
|
methods: {
|
|
330
361
|
getRows () {
|
|
331
362
|
setTimeout(()=> {
|
|
332
363
|
this.showSkeleton = false
|
|
333
|
-
|
|
334
|
-
// this.visibleColumns = this.store.visiblecolumns
|
|
364
|
+
this.rows = this.rowsData
|
|
335
365
|
}, 1000)
|
|
336
|
-
this.rows = this.rowsData
|
|
337
|
-
this.visibleColumns = this.store.visiblecolumns
|
|
338
|
-
},
|
|
339
|
-
saveSelectedColumns (columns: string []): void {
|
|
340
|
-
this.store.visiblecolumns = columns
|
|
341
|
-
this.visibleColumns = columns
|
|
342
|
-
},
|
|
343
|
-
filterMethod (rows: string | [], terms: { search: string }): object[] | [] {
|
|
344
|
-
return FilterMethod.filter(this, rows, terms)
|
|
345
366
|
},
|
|
346
367
|
onUpdateBasicCheckboxValue (rows: object []) {
|
|
347
368
|
console.log(rows, 'onUpdateBasicCheckboxValue')
|
|
@@ -357,10 +378,14 @@ export default {
|
|
|
357
378
|
this.$refs.table.filterInputFocus()
|
|
358
379
|
},
|
|
359
380
|
toggleRightDrawer (): void {
|
|
381
|
+
this.$refs.sideBar.toggleRightDrawer()
|
|
360
382
|
},
|
|
361
383
|
toogleColumnsSelectorVisibility () {
|
|
362
|
-
|
|
384
|
+
this.$refs.sideBar.setRightDrawerOpenToFalse()
|
|
363
385
|
this.$refs.table.toogleColumnsSelectorVisibility()
|
|
386
|
+
},
|
|
387
|
+
onClickBtnMenu () {
|
|
388
|
+
this.toggleRightDrawer()
|
|
364
389
|
}
|
|
365
390
|
}
|
|
366
391
|
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<q-page-container class=" full-width column justify-center">
|
|
3
|
+
<q-page
|
|
4
|
+
class="full-width column justify-center align-center items-center"
|
|
5
|
+
style="height: 70vh;"
|
|
6
|
+
>
|
|
7
|
+
<div
|
|
8
|
+
class="full-width"
|
|
9
|
+
>
|
|
10
|
+
<ConfirmedTask
|
|
11
|
+
ref="ConfirmedTask"
|
|
12
|
+
:values="{
|
|
13
|
+
selected: 5,
|
|
14
|
+
total: 10,
|
|
15
|
+
message: 'Message',
|
|
16
|
+
class:'bg-light-peach'
|
|
17
|
+
}"
|
|
18
|
+
@repeat-task="repeatTask"
|
|
19
|
+
@end-task="endTask"
|
|
20
|
+
/>
|
|
21
|
+
</div>
|
|
22
|
+
</q-page>
|
|
23
|
+
</q-page-container>
|
|
24
|
+
</template>
|
|
25
|
+
<script lang="ts">
|
|
26
|
+
import ConfirmedTask from '../components/ConfirmedTask/ConfirmedTask.vue'
|
|
27
|
+
export default {
|
|
28
|
+
components: {
|
|
29
|
+
ConfirmedTask
|
|
30
|
+
},
|
|
31
|
+
data () {
|
|
32
|
+
return {
|
|
33
|
+
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
computed: {
|
|
37
|
+
},
|
|
38
|
+
mounted () {
|
|
39
|
+
this.$refs.ConfirmedTask.alert = true
|
|
40
|
+
},
|
|
41
|
+
methods: {
|
|
42
|
+
repeatTask () {
|
|
43
|
+
console.log('repeatTask')
|
|
44
|
+
},
|
|
45
|
+
endTask () {
|
|
46
|
+
console.log('endTask')
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
</script>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<q-page-container class=" full-width column justify-center">
|
|
3
|
+
<q-page
|
|
4
|
+
class="full-width column justify-center align-center items-center"
|
|
5
|
+
style="height: 70vh;"
|
|
6
|
+
>
|
|
7
|
+
<div
|
|
8
|
+
class="full-width"
|
|
9
|
+
>
|
|
10
|
+
<SideBar/>
|
|
11
|
+
</div>
|
|
12
|
+
</q-page>
|
|
13
|
+
</q-page-container>
|
|
14
|
+
</template>
|
|
15
|
+
<script lang="ts">
|
|
16
|
+
import SideBar from '../components/TaskNavBar/SideBar.vue'
|
|
17
|
+
export default {
|
|
18
|
+
components: {
|
|
19
|
+
SideBar
|
|
20
|
+
},
|
|
21
|
+
data () {
|
|
22
|
+
return {
|
|
23
|
+
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
computed: {
|
|
27
|
+
},
|
|
28
|
+
mounted () {
|
|
29
|
+
},
|
|
30
|
+
methods: {
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
</script>
|
package/src/pages/TablePage.vue
CHANGED
|
@@ -22,7 +22,9 @@
|
|
|
22
22
|
:filterComputedOptions="{ preparedQuantity: store.prepared}"
|
|
23
23
|
:additional-sort-conditions="additionalSortConditions"
|
|
24
24
|
:additional-filter-conditions="additionalFilterConditions"
|
|
25
|
-
@on-select-visible-columns="
|
|
25
|
+
@on-select-visible-columns="(columns) => {
|
|
26
|
+
store.visiblecolumns = columns
|
|
27
|
+
}"
|
|
26
28
|
@on-update-basic-checkbox-value="onUpdateBasicCheckboxValue"
|
|
27
29
|
@on-update-customized-checkbox-value="onUpdateCustomizedCheckboxValue"
|
|
28
30
|
@on-click-button="setItemNotFound"
|
|
@@ -359,9 +361,6 @@ export default {
|
|
|
359
361
|
this.showSkeleton = false
|
|
360
362
|
}, 1000);
|
|
361
363
|
},
|
|
362
|
-
saveSelectedColumns (columns: string []): void {
|
|
363
|
-
this.store.visiblecolumns = columns
|
|
364
|
-
},
|
|
365
364
|
onUpdateBasicCheckboxValue (rows: object []) {
|
|
366
365
|
console.log(rows, 'onUpdateBasicCheckboxValue')
|
|
367
366
|
},
|