sort group

This commit is contained in:
codetypes committed 2025-03-19 22:03:30 +08:00
1 parent d0262c021a
commit 097e66ea8d
4 files changed
+12 -11

No files matched your search

+1 -1
View File
@@ -553,7 +553,7 @@ export const Editor: FC<EditorProps> = ({ onUpdate: updateState, data: editor, .
if (isTreeUpdated(editor, editTree)) { if (isTreeUpdated(editor, editTree)) {
editor.data.desc = editTree.data.desc || ""; editor.data.desc = editTree.data.desc || "";
editor.data.export = editTree.data.export !== false; editor.data.export = editTree.data.export !== false;
editor.data.group = editTree.data.group || []; editor.data.group = editTree.data.group;
editor.data.firstid = editTree.data.firstid ?? 1; editor.data.firstid = editTree.data.firstid ?? 1;
editor.declare.declvar = editTree.data.declvar || []; editor.declare.declvar = editTree.data.declvar || [];
editor.declare.import = editTree.data.import || []; editor.declare.import = editTree.data.import || [];
+3 -3
View File
@@ -115,9 +115,9 @@ const TreeInspector: FC = () => {
export: values.export, export: values.export,
firstid: Number(values.firstid), firstid: Number(values.firstid),
group: (values.group as GroupDef[]) group: (values.group as GroupDef[])
.map((v) => (v.value ? v.name : undefined)) .map((v) => (v.value ? v.name : ""))
.filter((v) => v) .filter((v) => v)
.sort(), .sort((a, b) => a.localeCompare(b)),
declvar: (values.declvar as VarDef[]) declvar: (values.declvar as VarDef[])
.filter((v) => v && v.name) .filter((v) => v && v.name)
.sort((a, b) => a.name.localeCompare(b.name)), .sort((a, b) => a.name.localeCompare(b.name)),
@@ -246,7 +246,7 @@ const TreeInspector: FC = () => {
]} ]}
> >
<Input <Input
style={{ width: "75%" }} style={{ width: "60%" }}
placeholder={t("tree.vars.desc")} placeholder={t("tree.vars.desc")}
onBlur={form.submit} onBlur={form.submit}
/> />
+7 -6
View File
@@ -687,12 +687,7 @@ export const createTreeData = (
parsingStack.length = 0; parsingStack.length = 0;
} }
if (node.children) { if (node.path) {
treeData.children = [];
node.children.forEach((child) => {
treeData.children!.push(createTreeData(child, treeData.id, calcSize));
});
} else if (node.path) {
if (parsingStack.indexOf(node.path) >= 0) { if (parsingStack.indexOf(node.path) >= 0) {
treeData.path = node.path; treeData.path = node.path;
if (calcSize) { if (calcSize) {
@@ -719,6 +714,11 @@ export const createTreeData = (
console.log("parse subtree:", e); console.log("parse subtree:", e);
} }
parsingStack.pop(); parsingStack.pop();
} else if (node.children?.length) {
treeData.children = [];
node.children.forEach((child) => {
treeData.children!.push(createTreeData(child, treeData.id, calcSize));
});
} }
return treeData; return treeData;
@@ -873,6 +873,7 @@ const findSubtrees = (data: NodeModel) => {
export const refreshDeclare = (tree: TreeModel, declare: FileVarDecl) => { export const refreshDeclare = (tree: TreeModel, declare: FileVarDecl) => {
const vars: Set<VarDef> = new Set(declare.declvar.slice()); const vars: Set<VarDef> = new Set(declare.declvar.slice());
parsingStack.length = 0;
declare.subtree = findSubtrees(tree.root).map((v) => ({ declare.subtree = findSubtrees(tree.root).map((v) => ({
path: v, path: v,
vars: [], vars: [],
+1 -1
View File
@@ -17,7 +17,7 @@ export const readTree = (path: string) => {
return data; return data;
}; };
export const writeJson = (path: string, data: any) => { export const writeJson = (path: string, data: unknown) => {
const str = JSON.stringify(data, undefined, 2); const str = JSON.stringify(data, undefined, 2);
fs.writeFileSync(path, str, "utf-8"); fs.writeFileSync(path, str, "utf-8");
}; };