Skip to content

Commit 5fe618f

Browse files
committed
fix: apply sortable
1 parent 5a523f2 commit 5fe618f

File tree

3 files changed

+22
-10
lines changed

3 files changed

+22
-10
lines changed

src/generators/QuasarGenerator.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ export default {
144144
params.forEach((p) => {
145145
if (p.variable.startsWith("exists[")) {
146146
result.push(p);
147-
return; // removed for the moment, it can help to add null option to select
147+
return;
148148
}
149149
if (p.variable.startsWith("order[")) {
150150
result.push(p);

src/generators/VuetifyGenerator.js

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ export default class extends BaseGenerator {
3030
"composables/mercureList.ts",
3131
]);
3232

33-
this.registerTemplates(`vuetify/`, [
33+
this.registerTemplates("vuetify/", [
3434
// components
3535
"components/foo/FooCreate.vue",
3636
"components/foo/FooFilter.vue",
@@ -143,11 +143,12 @@ export default {
143143
});
144144

145145
params.forEach((p) => {
146-
if (p.variable.endsWith("[exists]")) {
146+
if (p.variable.startsWith("exists[")) {
147147
return; // removed for the moment, it can help to add null option to select
148148
}
149149
if (p.variable.startsWith("order[")) {
150-
return; // removed for the moment, it can help to sorting data
150+
result.push(p);
151+
return;
151152
}
152153
if (!stats[p.variable] && p.variable.endsWith("[]")) {
153154
if (stats[p.variable.slice(0, -2)] === 1) {
@@ -175,8 +176,18 @@ export default {
175176

176177
const parameters = [];
177178
params.forEach((p) => {
178-
const param = fields.find((field) => field.name === p.variable);
179-
if (param) {
179+
const paramIndex = fields.findIndex((field) => field.name === p.variable);
180+
if (paramIndex === -1) {
181+
if (p.variable.startsWith("order[")) {
182+
let v = p.variable.slice(6, -1);
183+
let found = fields.findIndex((field) => field.name === v);
184+
if (found !== -1) {
185+
fields[found].sortable = true;
186+
}
187+
return;
188+
}
189+
} else {
190+
const param = fields[paramIndex];
180191
param.multiple = p.multiple;
181192
parameters.push(param);
182193
}

templates/vuetify/components/foo/FooList.vue

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,8 @@
131131

132132
<script setup lang="ts">
133133
import { ref, onBeforeUnmount{{#if parameters.length}}, Ref{{/if}} } from "vue";
134+
import { useI18n } from "vue-i18n";
135+
import { useRouter } from "vue-router";
134136
import { storeToRefs } from "pinia";
135137
import { use{{titleUcFirst}}ListStore } from "@/store/{{lc}}/list";
136138
import { use{{titleUcFirst}}DeleteStore } from "@/store/{{lc}}/delete";
@@ -140,15 +142,13 @@ import DataFilter from "@/components/common/DataFilter.vue";
140142
import Filter from "@/components/{{lc}}/{{titleUcFirst}}Filter.vue";
141143
{{/if}}
142144
import ActionCell from "@/components/common/ActionCell.vue";
143-
import { useRouter } from "vue-router";
144-
import { {{#if parameters.length}}Filters, {{/if}}VuetifyOrder } from "@/types/list";
145145
{{#if hasDateField}}
146146
import { formatDateTime } from "@/utils/date";
147147
{{/if}}
148-
import { {{titleUcFirst}} } from "@/types/{{lc}}";
149-
import { useI18n } from "vue-i18n";
150148
import { useMercureList } from "@/composables/mercureList";
151149
import { useBreadcrumb } from "@/composables/breadcrumb";
150+
import type { {{#if parameters.length}}Filters, {{/if}}VuetifyOrder } from "@/types/list";
151+
import type { {{titleUcFirst}} } from "@/types/{{lc}}";
152152
153153
const { t } = useI18n();
154154
const router = useRouter();
@@ -191,6 +191,7 @@ const headers = [
191191
{
192192
title: t("{{../lc}}.{{name}}"),
193193
key: "{{name}}",
194+
sortable: {{#if sortable}}true{{else}}false{{/if}},
194195
},
195196
{{/each}}
196197
];

0 commit comments

Comments
 (0)