- Toggle Edit Values in CGridTableRec
- Choose the visible column in CGridTableRec
This commit is contained in:
@@ -37,9 +37,19 @@ export default class CGridTableRec extends Vue {
|
|||||||
public filter: string = ''
|
public filter: string = ''
|
||||||
public selected: any
|
public selected: any
|
||||||
public dark: boolean = true
|
public dark: boolean = true
|
||||||
|
public funcActivated = []
|
||||||
|
|
||||||
public returnedData
|
public returnedData
|
||||||
public returnedCount
|
public returnedCount
|
||||||
|
public colVisib: any[] = []
|
||||||
|
|
||||||
|
get canEdit() {
|
||||||
|
return this.funcActivated.includes(lists.MenuAction.CAN_EDIT_TABLE)
|
||||||
|
}
|
||||||
|
|
||||||
|
get lists() {
|
||||||
|
return lists
|
||||||
|
}
|
||||||
|
|
||||||
get tableClass() {
|
get tableClass() {
|
||||||
if (this.dark) {
|
if (this.dark) {
|
||||||
@@ -90,6 +100,11 @@ export default class CGridTableRec extends Vue {
|
|||||||
|
|
||||||
public created() {
|
public created() {
|
||||||
// this.serverData = this.mylist.slice() // [{ chiave: 'chiave1', valore: 'valore 1' }]
|
// this.serverData = this.mylist.slice() // [{ chiave: 'chiave1', valore: 'valore 1' }]
|
||||||
|
this.mycolumns.forEach((elem) => {
|
||||||
|
if (elem.field)
|
||||||
|
this.colVisib.push(elem.field)
|
||||||
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
get getrows() {
|
get getrows() {
|
||||||
@@ -219,7 +234,7 @@ export default class CGridTableRec extends Vue {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public getclassCol(col) {
|
public getclassCol(col) {
|
||||||
return col.disable ? '' : 'colmodif'
|
return (col.disable || !this.canEdit) ? '' : 'colmodif'
|
||||||
}
|
}
|
||||||
|
|
||||||
public saveFieldValue(mydata) {
|
public saveFieldValue(mydata) {
|
||||||
|
|||||||
@@ -1,13 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="q-pa-sm">
|
<div class="q-pa-sm">
|
||||||
<!--<div class="col-2 q-table__title">{{ mytitle }}</div>-->
|
|
||||||
|
|
||||||
<!--<q-space/>-->
|
|
||||||
<!--<p style="color:red"> Rows: {{ getrows }}</p>-->
|
|
||||||
|
|
||||||
|
|
||||||
<q-table
|
<q-table
|
||||||
:title="mytitle"
|
|
||||||
:data="serverData"
|
:data="serverData"
|
||||||
:columns="mycolumns"
|
:columns="mycolumns"
|
||||||
:filter="filter"
|
:filter="filter"
|
||||||
@@ -16,22 +9,64 @@
|
|||||||
:loading="loading"
|
:loading="loading"
|
||||||
@request="onRequest"
|
@request="onRequest"
|
||||||
binary-state-sort
|
binary-state-sort
|
||||||
|
:visible-columns="colVisib"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
|
||||||
|
<template v-slot:header="props">
|
||||||
|
<q-tr :props="props">
|
||||||
|
<q-th
|
||||||
|
v-for="col in props.cols"
|
||||||
|
v-if="colVisib.includes(col.field)"
|
||||||
|
:key="col.name"
|
||||||
|
:props="props"
|
||||||
|
class="text-italic text-red text-weight-bold"
|
||||||
|
>
|
||||||
|
{{ col.label }}
|
||||||
|
</q-th>
|
||||||
|
</q-tr>
|
||||||
|
</template>
|
||||||
|
|
||||||
<!--<template v-slot:top="props">-->
|
<template v-slot:top="props">
|
||||||
|
<div class="col-2 q-table__title">{{ mytitle }}</div>
|
||||||
|
|
||||||
|
<!--<p style="color:red"> Rows: {{ getrows }}</p>-->
|
||||||
|
|
||||||
|
<q-toggle v-model="funcActivated" :val="lists.MenuAction.CAN_EDIT_TABLE"
|
||||||
|
:label="$t('grid.editvalues')"></q-toggle>
|
||||||
|
|
||||||
|
<q-space/>
|
||||||
|
|
||||||
|
<!--<q-toggle v-for="(mycol, index) in mycolumns" v-model="colVisib" :val="rec.field" :label="mycol.label"></q-toggle>-->
|
||||||
|
|
||||||
|
<q-select
|
||||||
|
v-model="colVisib"
|
||||||
|
multiple
|
||||||
|
borderless
|
||||||
|
dense
|
||||||
|
options-dense
|
||||||
|
display-value="Colonne"
|
||||||
|
emit-value
|
||||||
|
map-options
|
||||||
|
:options="mycolumns"
|
||||||
|
option-value="name"
|
||||||
|
style="min-width: 150px">
|
||||||
|
|
||||||
|
</q-select>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
|
||||||
<q-tr slot="body" slot-scope="props" :props="props">
|
<q-tr slot="body" slot-scope="props" :props="props">
|
||||||
|
|
||||||
<q-td v-for="col in mycolumns" :key="col.name" :props="props">
|
<q-td v-for="col in mycolumns" :key="col.name" :props="props" v-if="colVisib.includes(col.field)">
|
||||||
<div v-if="col.action">
|
<div v-if="col.action">
|
||||||
<q-btn flat round color="red" icon="fas fa-trash-alt"
|
<q-btn flat round color="red" icon="fas fa-trash-alt"
|
||||||
@click="clickFunz(props.row, col)"></q-btn>
|
@click="clickFunz(props.row, col)"></q-btn>
|
||||||
</div>
|
</div>
|
||||||
<div v-else :class="getclassCol(col)">
|
<div v-else :class="getclassCol(col)">
|
||||||
{{ props.row[col.name] }}
|
{{ props.row[col.name] }}
|
||||||
<q-popup-edit v-model="props.row[col.name]" :disable="col.disable" :title="col.title" buttons
|
<q-popup-edit v-if="canEdit" v-model="props.row[col.name]" :disable="col.disable"
|
||||||
|
:title="col.title" buttons
|
||||||
@save="SaveValue" @show="selItem(props.row, col.field)">
|
@save="SaveValue" @show="selItem(props.row, col.field)">
|
||||||
<q-input v-model="props.row[col.name]"/>
|
<q-input v-model="props.row[col.name]"/>
|
||||||
|
|
||||||
@@ -47,7 +82,7 @@
|
|||||||
class="q-ml-md">
|
class="q-ml-md">
|
||||||
</q-btn>
|
</q-btn>
|
||||||
-->
|
-->
|
||||||
<!--</template>-->
|
<!---->
|
||||||
</q-table>
|
</q-table>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -2,6 +2,10 @@ import msg_website from '../db/i18n_website'
|
|||||||
|
|
||||||
const msgglobal = {
|
const msgglobal = {
|
||||||
it: {
|
it: {
|
||||||
|
grid: {
|
||||||
|
editvalues: 'Modifica Valori',
|
||||||
|
showprevedit: 'Mostra Eventi Passati'
|
||||||
|
},
|
||||||
otherpages: {
|
otherpages: {
|
||||||
admin : {
|
admin : {
|
||||||
menu: 'Amministrazione',
|
menu: 'Amministrazione',
|
||||||
@@ -229,6 +233,10 @@ const msgglobal = {
|
|||||||
cookies: 'Usiamo i Cookie per una migliore prestazione web.'
|
cookies: 'Usiamo i Cookie per una migliore prestazione web.'
|
||||||
},
|
},
|
||||||
es: {
|
es: {
|
||||||
|
grid: {
|
||||||
|
editvalues: 'Cambiar valores',
|
||||||
|
showprevedit: 'Mostrar eventos pasados'
|
||||||
|
},
|
||||||
otherpages: {
|
otherpages: {
|
||||||
admin : {
|
admin : {
|
||||||
menu: 'Administración',
|
menu: 'Administración',
|
||||||
@@ -450,6 +458,10 @@ const msgglobal = {
|
|||||||
cookies: 'Utilizamos cookies para un mejor rendimiento web.'
|
cookies: 'Utilizamos cookies para un mejor rendimiento web.'
|
||||||
},
|
},
|
||||||
fr: {
|
fr: {
|
||||||
|
grid: {
|
||||||
|
editvalues: 'Changer les valeurs',
|
||||||
|
showprevedit: 'Afficher les événements passés'
|
||||||
|
},
|
||||||
otherpages: {
|
otherpages: {
|
||||||
admin : {
|
admin : {
|
||||||
menu: 'Administration',
|
menu: 'Administration',
|
||||||
@@ -670,6 +682,10 @@ const msgglobal = {
|
|||||||
cookies: 'Nous utilisons des cookies pour améliorer les performances Web.'
|
cookies: 'Nous utilisons des cookies pour améliorer les performances Web.'
|
||||||
},
|
},
|
||||||
enUs: {
|
enUs: {
|
||||||
|
grid: {
|
||||||
|
editvalues: 'Edit Values',
|
||||||
|
showprevedit: 'Show Past Events'
|
||||||
|
},
|
||||||
otherpages: {
|
otherpages: {
|
||||||
admin : {
|
admin : {
|
||||||
menu: 'Administration',
|
menu: 'Administration',
|
||||||
@@ -889,6 +905,10 @@ const msgglobal = {
|
|||||||
cookies: 'We use cookies for better web performance.'
|
cookies: 'We use cookies for better web performance.'
|
||||||
},
|
},
|
||||||
de: {
|
de: {
|
||||||
|
grid: {
|
||||||
|
editvalues: 'Edit Values',
|
||||||
|
showprevedit: 'Show Past Events'
|
||||||
|
},
|
||||||
otherpages: {
|
otherpages: {
|
||||||
admin : {
|
admin : {
|
||||||
menu: 'Administration',
|
menu: 'Administration',
|
||||||
|
|||||||
@@ -16,6 +16,9 @@ export const lists = {
|
|||||||
THEMEBG: 211,
|
THEMEBG: 211,
|
||||||
|
|
||||||
DELETE_RECTABLE: 300,
|
DELETE_RECTABLE: 300,
|
||||||
|
|
||||||
|
CAN_EDIT_TABLE: 400,
|
||||||
|
SHOW_PREV_REC: 401,
|
||||||
},
|
},
|
||||||
|
|
||||||
selectTheme: [
|
selectTheme: [
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ export default class CfgServer extends Vue {
|
|||||||
{ name: 'valore', label: 'Valore', field: 'valore', sortable: false }
|
{ name: 'valore', label: 'Valore', field: 'valore', sortable: false }
|
||||||
]
|
]
|
||||||
|
|
||||||
public visibleColumns: ['chiave', 'userid', 'valore']
|
public colVisib: ['chiave', 'userid', 'valore']
|
||||||
public separator: 'horizontal'
|
public separator: 'horizontal'
|
||||||
public filter: string = ''
|
public filter: string = ''
|
||||||
public selected: any[] = []
|
public selected: any[] = []
|
||||||
|
|||||||
Reference in New Issue
Block a user