@sequent-org/moodboard 1.3.5 → 1.4.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/package.json +6 -1
- package/src/assets/icons/mindmap.svg +3 -0
- package/src/core/SaveManager.js +44 -15
- package/src/core/commands/MindmapStatePatchCommand.js +85 -0
- package/src/core/commands/UpdateContentCommand.js +47 -4
- package/src/core/flows/LayerAndViewportFlow.js +87 -14
- package/src/core/flows/ObjectLifecycleFlow.js +7 -2
- package/src/core/flows/SaveFlow.js +10 -7
- package/src/core/flows/TransformFlow.js +2 -2
- package/src/core/index.js +81 -11
- package/src/core/rendering/ObjectRenderer.js +7 -2
- package/src/grid/BaseGrid.js +65 -0
- package/src/grid/CrossGrid.js +89 -24
- package/src/grid/CrossGridZoomPhases.js +167 -0
- package/src/grid/DotGrid.js +117 -34
- package/src/grid/DotGridZoomPhases.js +214 -16
- package/src/grid/GridDiagnostics.js +80 -0
- package/src/grid/GridFactory.js +13 -11
- package/src/grid/LineGrid.js +176 -37
- package/src/grid/LineGridZoomPhases.js +163 -0
- package/src/grid/ScreenGridPhaseMachine.js +51 -0
- package/src/mindmap/MindmapCompoundContract.js +235 -0
- package/src/moodboard/ActionHandler.js +1 -0
- package/src/moodboard/DataManager.js +57 -0
- package/src/moodboard/bootstrap/MoodBoardUiFactory.js +21 -0
- package/src/moodboard/integration/MoodBoardEventBindings.js +26 -1
- package/src/moodboard/lifecycle/MoodBoardDestroyer.js +15 -0
- package/src/objects/MindmapObject.js +76 -0
- package/src/objects/ObjectFactory.js +3 -1
- package/src/services/BoardService.js +127 -31
- package/src/services/GridSnapResolver.js +60 -0
- package/src/services/MiroZoomLevels.js +39 -0
- package/src/services/SettingsApplier.js +0 -4
- package/src/services/ZoomPanController.js +51 -32
- package/src/tools/object-tools/PlacementTool.js +12 -3
- package/src/tools/object-tools/SelectTool.js +11 -1
- package/src/tools/object-tools/placement/GhostController.js +100 -1
- package/src/tools/object-tools/placement/PlacementEventsBridge.js +2 -0
- package/src/tools/object-tools/placement/PlacementInputRouter.js +2 -2
- package/src/tools/object-tools/selection/FileNameInlineEditorController.js +2 -2
- package/src/tools/object-tools/selection/InlineEditorController.js +15 -0
- package/src/tools/object-tools/selection/MindmapInlineEditorController.js +716 -0
- package/src/tools/object-tools/selection/SelectInputRouter.js +6 -0
- package/src/tools/object-tools/selection/SelectToolSetup.js +2 -0
- package/src/tools/object-tools/selection/TextEditorLifecycleRegistry.js +12 -16
- package/src/ui/ContextMenu.js +6 -6
- package/src/ui/DotGridDebugPanel.js +253 -0
- package/src/ui/HtmlTextLayer.js +1 -1
- package/src/ui/TextPropertiesPanel.js +2 -2
- package/src/ui/handles/GroupSelectionHandlesController.js +4 -1
- package/src/ui/handles/HandlesDomRenderer.js +1485 -14
- package/src/ui/handles/HandlesEventBridge.js +49 -5
- package/src/ui/handles/HandlesInteractionController.js +4 -4
- package/src/ui/mindmap/MindmapConnectionLayer.js +239 -0
- package/src/ui/mindmap/MindmapHtmlTextLayer.js +285 -0
- package/src/ui/mindmap/MindmapLayoutConfig.js +29 -0
- package/src/ui/mindmap/MindmapTextOverlayAdapter.js +144 -0
- package/src/ui/styles/toolbar.css +1 -0
- package/src/ui/styles/workspace.css +100 -0
- package/src/ui/toolbar/ToolbarActionRouter.js +35 -0
- package/src/ui/toolbar/ToolbarPopupsController.js +6 -6
- package/src/ui/toolbar/ToolbarRenderer.js +1 -0
- package/src/ui/toolbar/ToolbarStateController.js +1 -0
- package/src/utils/iconLoader.js +10 -4
|
@@ -33,8 +33,8 @@ export class PlacementInputRouter {
|
|
|
33
33
|
const h = Math.abs(p.y - host._frameDrawState.startY);
|
|
34
34
|
const g = host._frameDrawState.graphics;
|
|
35
35
|
g.clear();
|
|
36
|
-
const x0 = Math.
|
|
37
|
-
const y0 = Math.
|
|
36
|
+
const x0 = Math.round(x);
|
|
37
|
+
const y0 = Math.round(y);
|
|
38
38
|
const w0 = Math.max(1, Math.round(w));
|
|
39
39
|
const h0 = Math.max(1, Math.round(h));
|
|
40
40
|
g.lineStyle(1, 0x3B82F6, 1, 1);
|
|
@@ -89,8 +89,8 @@ export function openFileNameEditor(object, create = false) {
|
|
|
89
89
|
const nameY = fileHeight - 40;
|
|
90
90
|
const centerX = fileWidth / 2;
|
|
91
91
|
|
|
92
|
-
wrapper.style.left = `${screenPos.x + centerX - 60}px`; // Центрируем относительно файла
|
|
93
|
-
wrapper.style.top = `${screenPos.y + nameY}px`; // Позиционируем на уровне названия
|
|
92
|
+
wrapper.style.left = `${Math.round(screenPos.x + centerX - 60)}px`; // Центрируем относительно файла
|
|
93
|
+
wrapper.style.top = `${Math.round(screenPos.y + nameY)}px`; // Позиционируем на уровне названия
|
|
94
94
|
|
|
95
95
|
// Сохраняем состояние редактора
|
|
96
96
|
this.textEditor = {
|
|
@@ -6,6 +6,10 @@ import {
|
|
|
6
6
|
closeFileNameEditor as closeFileNameEditorViaController,
|
|
7
7
|
openFileNameEditor as openFileNameEditorViaController,
|
|
8
8
|
} from './FileNameInlineEditorController.js';
|
|
9
|
+
import {
|
|
10
|
+
closeMindmapEditor as closeMindmapEditorViaController,
|
|
11
|
+
openMindmapEditor as openMindmapEditorViaController,
|
|
12
|
+
} from './MindmapInlineEditorController.js';
|
|
9
13
|
|
|
10
14
|
export function openTextEditor(object, create = false) {
|
|
11
15
|
return openTextEditorViaController.call(this, object, create);
|
|
@@ -15,10 +19,21 @@ export function openFileNameEditor(object, create = false) {
|
|
|
15
19
|
return openFileNameEditorViaController.call(this, object, create);
|
|
16
20
|
}
|
|
17
21
|
|
|
22
|
+
export function openMindmapEditor(object, create = false) {
|
|
23
|
+
return openMindmapEditorViaController.call(this, object, create);
|
|
24
|
+
}
|
|
25
|
+
|
|
18
26
|
export function closeFileNameEditor(commit) {
|
|
19
27
|
return closeFileNameEditorViaController.call(this, commit);
|
|
20
28
|
}
|
|
21
29
|
|
|
22
30
|
export function closeTextEditor(commit) {
|
|
31
|
+
if (this.textEditor?.active && this.textEditor.objectType === 'mindmap') {
|
|
32
|
+
return closeMindmapEditorViaController.call(this, commit);
|
|
33
|
+
}
|
|
23
34
|
return closeTextEditorViaController.call(this, commit);
|
|
24
35
|
}
|
|
36
|
+
|
|
37
|
+
export function closeMindmapEditor(commit) {
|
|
38
|
+
return closeMindmapEditorViaController.call(this, commit);
|
|
39
|
+
}
|