forked from verdnatura/salix-front
35 lines
1.1 KiB
JavaScript
35 lines
1.1 KiB
JavaScript
// src/boot/customQTh.js
|
|
|
|
import { QTable } from 'quasar';
|
|
import { boot } from 'quasar/wrappers';
|
|
|
|
import i18n from 'src/i18n';
|
|
const TR_HEADER = 'tr-header';
|
|
|
|
export default boot((b) => {
|
|
const { app } = b;
|
|
app.use(i18n);
|
|
app.mixin({
|
|
mounted() {
|
|
if (this.$options.name === QTable.name) {
|
|
console.table([this.$options.name]);
|
|
this.addClassToQTh(this.columns ?? []);
|
|
}
|
|
},
|
|
methods: {
|
|
addClassToQTh(columns) {
|
|
for (const column of columns) {
|
|
let { headerClasses, label, sortable } = column ?? [];
|
|
if (!headerClasses) headerClasses = TR_HEADER;
|
|
if (!Array.isArray(headerClasses)) headerClasses = [headerClasses];
|
|
else headerClasses.push(TR_HEADER);
|
|
column.headerClasses = headerClasses;
|
|
if (sortable === undefined) column.sortable = true;
|
|
column.label = this.$t(label);
|
|
console.table([headerClasses, column.headerClasses]);
|
|
}
|
|
},
|
|
},
|
|
});
|
|
});
|