chore: sort templates in template picker

fix: #1250
This commit is contained in:
windingwind 2025-01-06 20:31:19 +01:00
parent 4726e7ca76
commit b1fe4cc735
3 changed files with 10 additions and 4 deletions

View File

@ -66,7 +66,7 @@ class Addon {
templates: string[];
};
picker: {
mode: "insert" | "create" | "export";
mode: "insert" | "create" | "export" | "pick";
data: Record<string, any>;
};
};

View File

@ -11,7 +11,8 @@ let args = window.arguments[0] as any;
if (!args._initPromise) {
args = args.wrappedJSObject;
}
const templateData = args.templates;
const templateData = (args.templates as string[]) || [];
templateData.sort();
const multiSelect = args.multiSelect;
let tableHelper: VirtualizedTableHelper;

View File

@ -20,14 +20,19 @@ async function showTemplatePicker(
mode: "export",
data?: Record<string, never>,
): Promise<void>;
async function showTemplatePicker(): Promise<void>;
async function showTemplatePicker(mode: "pick"): Promise<string[]>;
async function showTemplatePicker(): Promise<any>;
async function showTemplatePicker(
mode: typeof addon.data.template.picker.mode = "insert",
data: Record<string, any> = {},
) {
): Promise<unknown> {
addon.data.template.picker.mode = mode;
addon.data.template.picker.data = data;
const selected = await openTemplatePicker();
// For pick mode, return selected templates
if (mode === "pick") {
return selected;
}
if (!selected.length) {
return;
}