@connectorvol/tree 4.1.0 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/(classes)/chessTree.svelte.d.ts +2 -0
- package/dist/(classes)/chessTree.svelte.js +7 -1
- package/dist/(components)/Move.svelte +346 -310
- package/dist/(components)/MoveWithIcon.svelte +59 -48
- package/dist/(components)/NagBadges.svelte +30 -30
- package/dist/(components)/TreeViewer.svelte +877 -842
- package/dist/(components)/TreeViewerPanelManager.svelte +99 -98
- package/dist/components/ui/checkbox/checkbox.svelte +39 -0
- package/dist/components/ui/checkbox/checkbox.svelte.d.ts +4 -0
- package/dist/components/ui/checkbox/index.d.ts +2 -0
- package/dist/components/ui/checkbox/index.js +4 -0
- package/dist/components/ui/popover/index.d.ts +9 -0
- package/dist/components/ui/popover/index.js +11 -0
- package/dist/components/ui/popover/popover-close.svelte +7 -0
- package/dist/components/ui/popover/popover-close.svelte.d.ts +4 -0
- package/dist/components/ui/popover/popover-content.svelte +31 -0
- package/dist/components/ui/popover/popover-content.svelte.d.ts +10 -0
- package/dist/components/ui/popover/popover-description.svelte +20 -0
- package/dist/components/ui/popover/popover-description.svelte.d.ts +5 -0
- package/dist/components/ui/popover/popover-header.svelte +20 -0
- package/dist/components/ui/popover/popover-header.svelte.d.ts +5 -0
- package/dist/components/ui/popover/popover-portal.svelte +7 -0
- package/dist/components/ui/popover/popover-portal.svelte.d.ts +3 -0
- package/dist/components/ui/popover/popover-title.svelte +20 -0
- package/dist/components/ui/popover/popover-title.svelte.d.ts +5 -0
- package/dist/components/ui/popover/popover-trigger.svelte +17 -0
- package/dist/components/ui/popover/popover-trigger.svelte.d.ts +4 -0
- package/dist/components/ui/popover/popover.svelte +7 -0
- package/dist/components/ui/popover/popover.svelte.d.ts +3 -0
- package/dist/components/ui/toggle/index.d.ts +3 -0
- package/dist/components/ui/toggle/index.js +5 -0
- package/dist/components/ui/toggle/toggle.svelte +51 -0
- package/dist/components/ui/toggle/toggle.svelte.d.ts +43 -0
- package/package.json +11 -9
|
@@ -2,6 +2,8 @@ import type { ChessTreeNode, TChessTree } from "../(models)/chessTreeNode.js";
|
|
|
2
2
|
export declare class ChessTree {
|
|
3
3
|
rootNode: TChessTree;
|
|
4
4
|
currentNode: ChessTreeNode;
|
|
5
|
+
/** Представляет версию дерева для отслеживания мутаций (инкрементируется при каждом изменении). */
|
|
6
|
+
mutationVersion: number;
|
|
5
7
|
/** Представляет признак: меню выхода из drill-down у активной крошки сейчас открыто. */
|
|
6
8
|
drillExitPromptOpen: boolean;
|
|
7
9
|
forcedNodeId: string | null;
|
|
@@ -2,6 +2,8 @@ import { generateId } from "@connectorvol/shared";
|
|
|
2
2
|
export class ChessTree {
|
|
3
3
|
rootNode;
|
|
4
4
|
currentNode;
|
|
5
|
+
/** Представляет версию дерева для отслеживания мутаций (инкрементируется при каждом изменении). */
|
|
6
|
+
mutationVersion = $state(0);
|
|
5
7
|
/** Представляет признак: меню выхода из drill-down у активной крошки сейчас открыто. */
|
|
6
8
|
drillExitPromptOpen = $state(false);
|
|
7
9
|
// Заставляет узел отображаться как побочная линия, а не главный вариант
|
|
@@ -52,6 +54,7 @@ export class ChessTree {
|
|
|
52
54
|
this.rootNode = nextRoot;
|
|
53
55
|
this.rebuildNodeById();
|
|
54
56
|
this.currentNode = this.rootNode.moves;
|
|
57
|
+
this.mutationVersion++;
|
|
55
58
|
}
|
|
56
59
|
/** Представляет запрос на показ меню выхода из drill-down у активной крошки в header. */
|
|
57
60
|
requestDrillExitPrompt() {
|
|
@@ -180,6 +183,7 @@ export class ChessTree {
|
|
|
180
183
|
const addedNode = this.currentNode.children[this.currentNode.children.length - 1];
|
|
181
184
|
this.addNodeToMap(addedNode);
|
|
182
185
|
this.currentNode = addedNode;
|
|
186
|
+
this.mutationVersion++;
|
|
183
187
|
}
|
|
184
188
|
/**
|
|
185
189
|
* Представляет функцию поднятия приоритета варианта.
|
|
@@ -202,7 +206,7 @@ export class ChessTree {
|
|
|
202
206
|
// Перемещаем узел в начало списка детей
|
|
203
207
|
const [movedNode] = parent.children.splice(nodeIndex, 1);
|
|
204
208
|
parent.children.unshift(movedNode);
|
|
205
|
-
this.
|
|
209
|
+
this.mutationVersion++;
|
|
206
210
|
}
|
|
207
211
|
/**
|
|
208
212
|
* Представляет функцию превращения варианта в главный.
|
|
@@ -229,6 +233,7 @@ export class ChessTree {
|
|
|
229
233
|
// Переходим к родителю
|
|
230
234
|
currentNode = parent;
|
|
231
235
|
}
|
|
236
|
+
this.mutationVersion++;
|
|
232
237
|
this.forcedNodeId = null;
|
|
233
238
|
}
|
|
234
239
|
/**
|
|
@@ -324,6 +329,7 @@ export class ChessTree {
|
|
|
324
329
|
// Удаляем узел из списка детей родителя
|
|
325
330
|
parent.children.splice(nodeIndex, 1);
|
|
326
331
|
this.removeNodeFromMap(node);
|
|
332
|
+
this.mutationVersion++;
|
|
327
333
|
// Сбрасываем forcedNodeId если он указывает на удаляемый узел или его потомков
|
|
328
334
|
if (this.forcedNodeId && this.isNodeAncestorOf(node, this.forcedNodeId)) {
|
|
329
335
|
this.forcedNodeId = null;
|