gui: drag-and-drop sidebar, tree expand, localization fixes

TreeNode.svelte:
- Native HTML5 drag-and-drop with move effect
- Lazy tree expand/collapse (arrow for container types only)
- Drop validation: no self-drop, container-only, descendant check
- 'case' icon kind added

App.svelte:
- toggleExpand loads children via ListChildren into tree
- handleNodeDrop calls MoveNode(draggedId, targetId), refreshes tree
- Root workspace area is a drop target (handleDropRoot)
- Overview section shows nodeKindLabel instead of raw type enum
- Context menu shows Create only for container types
- Create modal title uses 'Создать элемент'
- submitCreateNode expands parent after child creation

TemplateIcon.svelte: added 'case' icon (folder-like with dividers)
i18n: added nav.createNode key (ru+en)
This commit is contained in:
2026-06-03 03:18:04 +08:00
parent f022f46909
commit b2dcb116c9
10 changed files with 160 additions and 29 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -16,8 +16,8 @@
background: #13131f;
}
</style>
<script type="module" crossorigin src="/assets/main-BLPyZvHh.js"></script>
<link rel="stylesheet" crossorigin href="/assets/main-DxSaNTHX.css">
<script type="module" crossorigin src="/assets/main-CBFn_7kC.js"></script>
<link rel="stylesheet" crossorigin href="/assets/main-C49DuBq6.css">
</head>
<body>
<div id="app"></div>