@lv-x-software-house/x_view 1.2.6-dev.74 → 1.2.6-dev.75
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/index.js +1 -1
- package/dist/index.mjs +40 -40
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -8910,7 +8910,7 @@ function CreateQuestTreePanel({
|
|
|
8910
8910
|
};
|
|
8911
8911
|
const isAddingModeActive = activeTab === "abstraction" ? isAddingAbstractionNodes : isAddingNodes;
|
|
8912
8912
|
const currentTree = activeTab === "abstraction" ? abstraction_tree : tree;
|
|
8913
|
-
useEffect(() => {
|
|
8913
|
+
(0, import_react12.useEffect)(() => {
|
|
8914
8914
|
if (!tree && !abstraction_tree && questTreeMode.questNodeId) {
|
|
8915
8915
|
const rootNode = {
|
|
8916
8916
|
id: questTreeMode.questNodeId,
|
package/dist/index.mjs
CHANGED
|
@@ -17,7 +17,7 @@ import { UnrealBloomPass } from "three/examples/jsm/postprocessing/UnrealBloomPa
|
|
|
17
17
|
import { Group as Group2, Tween as Tween2, Easing as Easing2 } from "@tweenjs/tween.js";
|
|
18
18
|
|
|
19
19
|
// src/components/ContextMenu.jsx
|
|
20
|
-
import React, { useLayoutEffect, useRef, useState as useState2, useEffect
|
|
20
|
+
import React, { useLayoutEffect, useRef, useState as useState2, useEffect, useMemo } from "react";
|
|
21
21
|
|
|
22
22
|
// src/logic/permissions.js
|
|
23
23
|
import { AbilityBuilder, Ability } from "@casl/ability";
|
|
@@ -3367,7 +3367,7 @@ function ContextMenu({
|
|
|
3367
3367
|
() => isQuestBlocked(data.nodeData, allParentNodes),
|
|
3368
3368
|
[data.nodeData, allParentNodes]
|
|
3369
3369
|
);
|
|
3370
|
-
|
|
3370
|
+
useEffect(() => {
|
|
3371
3371
|
if (data.visible) {
|
|
3372
3372
|
setMenuView("main");
|
|
3373
3373
|
setSelectedAncestry(null);
|
|
@@ -3389,7 +3389,7 @@ function ContextMenu({
|
|
|
3389
3389
|
if (top + h + 8 > vh) top = Math.max(8, vh - h - 8);
|
|
3390
3390
|
setMenuPos({ left, top });
|
|
3391
3391
|
}, [data, menuView, versionSubMenu, labelSubMenu, selectedQuestStatus]);
|
|
3392
|
-
|
|
3392
|
+
useEffect(() => {
|
|
3393
3393
|
if (!data.visible) return;
|
|
3394
3394
|
const handleClickOutside = (e) => {
|
|
3395
3395
|
if (menuRef.current && !menuRef.current.contains(e.target)) onClose();
|
|
@@ -3836,13 +3836,13 @@ function ContextMenu({
|
|
|
3836
3836
|
}
|
|
3837
3837
|
|
|
3838
3838
|
// src/components/XViewSidebar.jsx
|
|
3839
|
-
import React2, { useMemo as useMemo2, useState as useState3, useEffect as
|
|
3839
|
+
import React2, { useMemo as useMemo2, useState as useState3, useEffect as useEffect2, useRef as useRef2 } from "react";
|
|
3840
3840
|
import { FiLayers, FiCpu } from "react-icons/fi";
|
|
3841
3841
|
import { FaGoogleDrive } from "react-icons/fa";
|
|
3842
3842
|
var CustomSelect = ({ value, onChange, options, placeholder }) => {
|
|
3843
3843
|
const [isOpen, setIsOpen] = useState3(false);
|
|
3844
3844
|
const selectRef = useRef2(null);
|
|
3845
|
-
|
|
3845
|
+
useEffect2(() => {
|
|
3846
3846
|
const handleClickOutside = (e) => {
|
|
3847
3847
|
if (selectRef.current && !selectRef.current.contains(e.target)) {
|
|
3848
3848
|
setIsOpen(false);
|
|
@@ -3956,7 +3956,7 @@ function XViewSidebar({
|
|
|
3956
3956
|
const [folderId, setFolderId] = useState3(view_google_folder_id || "");
|
|
3957
3957
|
const [folderName, setFolderName] = useState3(view_google_folder_name || "");
|
|
3958
3958
|
const [isPickingGoogleFolder, setIsPickingGoogleFolder] = useState3(false);
|
|
3959
|
-
|
|
3959
|
+
useEffect2(() => {
|
|
3960
3960
|
if (view_google_folder_id !== void 0) {
|
|
3961
3961
|
setFolderId(view_google_folder_id || "");
|
|
3962
3962
|
}
|
|
@@ -4071,7 +4071,7 @@ function XViewSidebar({
|
|
|
4071
4071
|
activeFilters,
|
|
4072
4072
|
filterCategory
|
|
4073
4073
|
]);
|
|
4074
|
-
|
|
4074
|
+
useEffect2(() => {
|
|
4075
4075
|
const handleClickOutside = (event) => {
|
|
4076
4076
|
if (filterMenuRef.current && !filterMenuRef.current.contains(event.target)) {
|
|
4077
4077
|
setIsFilterMenuOpen(false);
|
|
@@ -4085,7 +4085,7 @@ function XViewSidebar({
|
|
|
4085
4085
|
}
|
|
4086
4086
|
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
4087
4087
|
}, [isFilterMenuOpen, isTypeDropdownOpen]);
|
|
4088
|
-
|
|
4088
|
+
useEffect2(() => {
|
|
4089
4089
|
const handleClickOutsideAnnexed = (event) => {
|
|
4090
4090
|
if (annexedPanelRef.current && !annexedPanelRef.current.contains(event.target)) {
|
|
4091
4091
|
if (event.target.closest(".lens-button")) return;
|
|
@@ -4097,7 +4097,7 @@ function XViewSidebar({
|
|
|
4097
4097
|
}
|
|
4098
4098
|
return () => document.removeEventListener("mousedown", handleClickOutsideAnnexed);
|
|
4099
4099
|
}, [activeSubMenu]);
|
|
4100
|
-
|
|
4100
|
+
useEffect2(() => {
|
|
4101
4101
|
if (!query) setSelectedNodeId(null);
|
|
4102
4102
|
}, [query]);
|
|
4103
4103
|
const swallow = (e) => e.stopPropagation();
|
|
@@ -4732,11 +4732,11 @@ function XViewSidebar({
|
|
|
4732
4732
|
}
|
|
4733
4733
|
|
|
4734
4734
|
// src/components/AncestryRelationshipPanel.jsx
|
|
4735
|
-
import React8, { useState as useState9, useEffect as
|
|
4735
|
+
import React8, { useState as useState9, useEffect as useEffect8, useRef as useRef7 } from "react";
|
|
4736
4736
|
import { v4 as uuidv43 } from "uuid";
|
|
4737
4737
|
|
|
4738
4738
|
// src/components/CustomPropertyDisplay.jsx
|
|
4739
|
-
import React3, { useState as useState4, useRef as useRef3, useEffect as
|
|
4739
|
+
import React3, { useState as useState4, useRef as useRef3, useEffect as useEffect3 } from "react";
|
|
4740
4740
|
import { FiCheck, FiX, FiEdit3, FiTrash2, FiExternalLink, FiFileText, FiChevronDown, FiUpload, FiLoader } from "react-icons/fi";
|
|
4741
4741
|
function CustomPropertyDisplay({
|
|
4742
4742
|
prop,
|
|
@@ -4759,7 +4759,7 @@ function CustomPropertyDisplay({
|
|
|
4759
4759
|
const [uploadingItemIndex, setUploadingItemIndex] = useState4(null);
|
|
4760
4760
|
const fileInputRef = useRef3(null);
|
|
4761
4761
|
const currentUploadTargetRef = useRef3(null);
|
|
4762
|
-
|
|
4762
|
+
useEffect3(() => {
|
|
4763
4763
|
function handleClickOutside(event) {
|
|
4764
4764
|
if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
|
|
4765
4765
|
setIsTypeDropdownOpen(false);
|
|
@@ -5102,11 +5102,11 @@ function CustomPropertyDisplay({
|
|
|
5102
5102
|
import { FiPlus, FiEdit2 as FiEdit22, FiBookOpen } from "react-icons/fi";
|
|
5103
5103
|
|
|
5104
5104
|
// src/components/DescriptionEditModal.jsx
|
|
5105
|
-
import React5, { useState as useState6, useEffect as
|
|
5105
|
+
import React5, { useState as useState6, useEffect as useEffect5, useRef as useRef5, useMemo as useMemo4 } from "react";
|
|
5106
5106
|
import { FiType, FiList, FiCode, FiLink as FiLink2, FiAtSign, FiSearch as FiSearch2, FiHexagon as FiHexagon2, FiGlobe, FiImage, FiCheckSquare } from "react-icons/fi";
|
|
5107
5107
|
|
|
5108
5108
|
// src/components/SectionImportModal.jsx
|
|
5109
|
-
import React4, { useState as useState5, useMemo as useMemo3, useRef as useRef4, useEffect as
|
|
5109
|
+
import React4, { useState as useState5, useMemo as useMemo3, useRef as useRef4, useEffect as useEffect4 } from "react";
|
|
5110
5110
|
import { FiSearch, FiLayers as FiLayers2, FiHexagon, FiClock, FiCheck as FiCheck2, FiCopy, FiTerminal, FiChevronDown as FiChevronDown2, FiChevronRight as FiChevronRight2, FiDownload, FiLink } from "react-icons/fi";
|
|
5111
5111
|
var CodeBlock = ({ content, isActive, onClick }) => {
|
|
5112
5112
|
const [isExpanded, setIsExpanded] = useState5(false);
|
|
@@ -5182,7 +5182,7 @@ function SectionImportModal({ isOpen, onClose, onSelect, availableNodes = [], av
|
|
|
5182
5182
|
const sectionRefs = useRef4([]);
|
|
5183
5183
|
const [isDropdownOpen, setIsDropdownOpen] = useState5(false);
|
|
5184
5184
|
const inputRef = useRef4(null);
|
|
5185
|
-
|
|
5185
|
+
useEffect4(() => {
|
|
5186
5186
|
if (!selectedItem) return;
|
|
5187
5187
|
const itemId = selectedItem.id || selectedItem.ancestry_id;
|
|
5188
5188
|
const type = selectedItem._type;
|
|
@@ -5225,12 +5225,12 @@ function SectionImportModal({ isOpen, onClose, onSelect, availableNodes = [], av
|
|
|
5225
5225
|
if (!selectedItem) return [];
|
|
5226
5226
|
return parseDescriptionSections(selectedItem.description, selectedItem.description_sections);
|
|
5227
5227
|
}, [selectedItem]);
|
|
5228
|
-
|
|
5228
|
+
useEffect4(() => {
|
|
5229
5229
|
setActiveIndex(0);
|
|
5230
5230
|
setSelectedIndices(/* @__PURE__ */ new Set([0]));
|
|
5231
5231
|
setLastSelectedIndex(0);
|
|
5232
5232
|
}, [selectedItem]);
|
|
5233
|
-
|
|
5233
|
+
useEffect4(() => {
|
|
5234
5234
|
if (selectedItem && sectionRefs.current[activeIndex]) {
|
|
5235
5235
|
sectionRefs.current[activeIndex].scrollIntoView({
|
|
5236
5236
|
behavior: "smooth",
|
|
@@ -5239,7 +5239,7 @@ function SectionImportModal({ isOpen, onClose, onSelect, availableNodes = [], av
|
|
|
5239
5239
|
});
|
|
5240
5240
|
}
|
|
5241
5241
|
}, [activeIndex, selectedItem]);
|
|
5242
|
-
|
|
5242
|
+
useEffect4(() => {
|
|
5243
5243
|
const handleKeyDown = (e) => {
|
|
5244
5244
|
if (!selectedItem) return;
|
|
5245
5245
|
if (document.activeElement === inputRef.current) return;
|
|
@@ -5536,7 +5536,7 @@ function DescriptionEditModal({
|
|
|
5536
5536
|
const [manualImageUrl, setManualImageUrl] = useState6("");
|
|
5537
5537
|
const hoverTimeoutRef = useRef5(null);
|
|
5538
5538
|
const [tooltipData, setTooltipData] = useState6(null);
|
|
5539
|
-
|
|
5539
|
+
useEffect5(() => {
|
|
5540
5540
|
const handleKeyDown = (e) => {
|
|
5541
5541
|
if (e.key === "Escape") {
|
|
5542
5542
|
if (isMentionModalOpen) {
|
|
@@ -5579,7 +5579,7 @@ function DescriptionEditModal({
|
|
|
5579
5579
|
if (hoverTimeoutRef.current) clearTimeout(hoverTimeoutRef.current);
|
|
5580
5580
|
setTooltipData(null);
|
|
5581
5581
|
};
|
|
5582
|
-
|
|
5582
|
+
useEffect5(() => {
|
|
5583
5583
|
setText(initialValue || "");
|
|
5584
5584
|
}, [initialValue, isOpen]);
|
|
5585
5585
|
const filteredNodesForMention = useMemo4(() => {
|
|
@@ -5989,7 +5989,7 @@ ${space}${bullet} `);
|
|
|
5989
5989
|
}
|
|
5990
5990
|
|
|
5991
5991
|
// src/components/DescriptionDisplay.jsx
|
|
5992
|
-
import React6, { useMemo as useMemo5, useState as useState7, useEffect as
|
|
5992
|
+
import React6, { useMemo as useMemo5, useState as useState7, useEffect as useEffect6, useRef as useRef6 } from "react";
|
|
5993
5993
|
import { FiCopy as FiCopy2, FiCheck as FiCheck3, FiChevronDown as FiChevronDown3, FiChevronRight as FiChevronRight3, FiTerminal as FiTerminal2, FiCornerDownRight, FiExternalLink as FiExternalLink2, FiImage as FiImage2, FiSave } from "react-icons/fi";
|
|
5994
5994
|
var CodeBlock2 = ({ content, isActive, onClick }) => {
|
|
5995
5995
|
const [isExpanded, setIsExpanded] = useState7(false);
|
|
@@ -6211,7 +6211,7 @@ function DescriptionDisplay({
|
|
|
6211
6211
|
onStepChange
|
|
6212
6212
|
}) {
|
|
6213
6213
|
const [localDescription, setLocalDescription] = useState7(description || "");
|
|
6214
|
-
|
|
6214
|
+
useEffect6(() => {
|
|
6215
6215
|
setLocalDescription(description || "");
|
|
6216
6216
|
}, [description]);
|
|
6217
6217
|
const sections = useMemo5(() => parseDescriptionSections(localDescription, savedSections), [localDescription, savedSections]);
|
|
@@ -6255,7 +6255,7 @@ function DescriptionDisplay({
|
|
|
6255
6255
|
return navItems;
|
|
6256
6256
|
}, [sections]);
|
|
6257
6257
|
const [currentStepIndex, setCurrentStepIndex] = useState7(0);
|
|
6258
|
-
|
|
6258
|
+
useEffect6(() => {
|
|
6259
6259
|
if (onStepChange) {
|
|
6260
6260
|
onStepChange(currentStepIndex);
|
|
6261
6261
|
}
|
|
@@ -6263,7 +6263,7 @@ function DescriptionDisplay({
|
|
|
6263
6263
|
const activeRef = useRef6(null);
|
|
6264
6264
|
const lastNotifiedSectionId = useRef6(null);
|
|
6265
6265
|
const isInitialMount = useRef6(true);
|
|
6266
|
-
|
|
6266
|
+
useEffect6(() => {
|
|
6267
6267
|
let targetIndex = 0;
|
|
6268
6268
|
if (initialSectionId !== null && initialSectionId !== void 0) {
|
|
6269
6269
|
targetIndex = flatNavigation.findIndex(
|
|
@@ -6275,7 +6275,7 @@ function DescriptionDisplay({
|
|
|
6275
6275
|
isInitialMount.current = true;
|
|
6276
6276
|
lastNotifiedSectionId.current = null;
|
|
6277
6277
|
}, [description, initialSectionId, flatNavigation, sections]);
|
|
6278
|
-
|
|
6278
|
+
useEffect6(() => {
|
|
6279
6279
|
const currentItem = flatNavigation[currentStepIndex];
|
|
6280
6280
|
if (onSectionChange && currentItem) {
|
|
6281
6281
|
if (isInitialMount.current || lastNotifiedSectionId.current !== currentItem.sectionId) {
|
|
@@ -6294,7 +6294,7 @@ function DescriptionDisplay({
|
|
|
6294
6294
|
}
|
|
6295
6295
|
}
|
|
6296
6296
|
}, [currentStepIndex, flatNavigation, onSectionChange, onHighlightNode]);
|
|
6297
|
-
|
|
6297
|
+
useEffect6(() => {
|
|
6298
6298
|
const handleKeyDown = (e) => {
|
|
6299
6299
|
if (e.target.tagName === "INPUT" || e.target.tagName === "TEXTAREA") return;
|
|
6300
6300
|
const currentItem = flatNavigation[currentStepIndex];
|
|
@@ -6338,7 +6338,7 @@ function DescriptionDisplay({
|
|
|
6338
6338
|
window.addEventListener("keydown", handleKeyDown);
|
|
6339
6339
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
6340
6340
|
}, [flatNavigation, currentStepIndex, onBranchNav, currentBranchDirection]);
|
|
6341
|
-
|
|
6341
|
+
useEffect6(() => {
|
|
6342
6342
|
if (activeRef.current) {
|
|
6343
6343
|
activeRef.current.scrollIntoView({
|
|
6344
6344
|
behavior: "smooth",
|
|
@@ -6454,7 +6454,7 @@ function DescriptionDisplay({
|
|
|
6454
6454
|
}
|
|
6455
6455
|
|
|
6456
6456
|
// src/components/DescriptionReadModePanel.jsx
|
|
6457
|
-
import React7, { useState as useState8, useMemo as useMemo6, useEffect as
|
|
6457
|
+
import React7, { useState as useState8, useMemo as useMemo6, useEffect as useEffect7 } from "react";
|
|
6458
6458
|
import {
|
|
6459
6459
|
FiArrowLeft,
|
|
6460
6460
|
FiEdit2,
|
|
@@ -6574,7 +6574,7 @@ function DescriptionReadModePanel({
|
|
|
6574
6574
|
console.error("Erro ao copiar link:", err);
|
|
6575
6575
|
});
|
|
6576
6576
|
};
|
|
6577
|
-
|
|
6577
|
+
useEffect7(() => {
|
|
6578
6578
|
setShowAbstraction(initialShowAbstraction);
|
|
6579
6579
|
if (initialShowAbstraction) {
|
|
6580
6580
|
setShowProperties(false);
|
|
@@ -6824,7 +6824,7 @@ function AncestryRelationshipPanel({
|
|
|
6824
6824
|
const [isDescriptionModalOpen, setIsDescriptionModalOpen] = useState9(false);
|
|
6825
6825
|
const [isReadMode, setIsReadMode] = useState9(false);
|
|
6826
6826
|
const propsEndRef = useRef7(null);
|
|
6827
|
-
|
|
6827
|
+
useEffect8(() => {
|
|
6828
6828
|
setDescription((data == null ? void 0 : data.description) ?? "");
|
|
6829
6829
|
setExistingSections((data == null ? void 0 : data.description_sections) || []);
|
|
6830
6830
|
setCustomProps(extractCustomPropsFromNode(data || {}));
|
|
@@ -6977,7 +6977,7 @@ function AncestryRelationshipPanel({
|
|
|
6977
6977
|
}
|
|
6978
6978
|
|
|
6979
6979
|
// src/components/CreateAncestryPanel.jsx
|
|
6980
|
-
import React10, { useState as useState11, useEffect as
|
|
6980
|
+
import React10, { useState as useState11, useEffect as useEffect10, useMemo as useMemo8, useRef as useRef8, useCallback as useCallback2 } from "react";
|
|
6981
6981
|
import {
|
|
6982
6982
|
FiEdit2 as FiEdit23,
|
|
6983
6983
|
FiBookOpen as FiBookOpen2,
|
|
@@ -6999,7 +6999,7 @@ import {
|
|
|
6999
6999
|
import { v4 as uuidv44 } from "uuid";
|
|
7000
7000
|
|
|
7001
7001
|
// src/components/AncestryPickerModal.jsx
|
|
7002
|
-
import React9, { useState as useState10, useMemo as useMemo7, useEffect as
|
|
7002
|
+
import React9, { useState as useState10, useMemo as useMemo7, useEffect as useEffect9 } from "react";
|
|
7003
7003
|
import { FiSearch as FiSearch3, FiLayers as FiLayers4, FiCornerUpRight as FiCornerUpRight2 } from "react-icons/fi";
|
|
7004
7004
|
function AncestryPickerModal({
|
|
7005
7005
|
isOpen,
|
|
@@ -7010,7 +7010,7 @@ function AncestryPickerModal({
|
|
|
7010
7010
|
currentAncestryId
|
|
7011
7011
|
}) {
|
|
7012
7012
|
const [searchTerm, setSearchTerm] = useState10("");
|
|
7013
|
-
|
|
7013
|
+
useEffect9(() => {
|
|
7014
7014
|
if (!isOpen) return;
|
|
7015
7015
|
const handleKeyDown = (e) => {
|
|
7016
7016
|
if (e.key === "Escape") {
|
|
@@ -7251,7 +7251,7 @@ function CreateAncestryPanel({
|
|
|
7251
7251
|
const [customProps, setCustomProps] = useState11([]);
|
|
7252
7252
|
const propsEndRef = useRef8(null);
|
|
7253
7253
|
const [branchStack, setBranchStack] = useState11([]);
|
|
7254
|
-
|
|
7254
|
+
useEffect10(() => {
|
|
7255
7255
|
setShowDeleteBranchConfirm(false);
|
|
7256
7256
|
}, [branchStack]);
|
|
7257
7257
|
const [targetRenderNodeId, setTargetRenderNodeId] = useState11(null);
|
|
@@ -7282,7 +7282,7 @@ function CreateAncestryPanel({
|
|
|
7282
7282
|
minWidth: 320,
|
|
7283
7283
|
maxWidth: maxPanelW
|
|
7284
7284
|
});
|
|
7285
|
-
|
|
7285
|
+
useEffect10(() => {
|
|
7286
7286
|
setWidth(isReadMode ? 700 : 440);
|
|
7287
7287
|
}, [isReadMode, setWidth]);
|
|
7288
7288
|
const currentMaxRenderIndexRef = useRef8(0);
|
|
@@ -7475,7 +7475,7 @@ function CreateAncestryPanel({
|
|
|
7475
7475
|
setHasUnsavedChanges(true);
|
|
7476
7476
|
};
|
|
7477
7477
|
const currentUsedTypes = customProps.map((p) => p.type).filter((t) => UNIQUE_PROP_TYPES.includes(t));
|
|
7478
|
-
|
|
7478
|
+
useEffect10(() => {
|
|
7479
7479
|
if (!isContextLinked) return;
|
|
7480
7480
|
const handleKeyDown = (e) => {
|
|
7481
7481
|
if (branchStack.length === 0) return;
|
|
@@ -7493,7 +7493,7 @@ function CreateAncestryPanel({
|
|
|
7493
7493
|
window.addEventListener("keydown", handleKeyDown);
|
|
7494
7494
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
7495
7495
|
}, [isContextLinked, branchStack]);
|
|
7496
|
-
|
|
7496
|
+
useEffect10(() => {
|
|
7497
7497
|
const ctx = getCurrentContext();
|
|
7498
7498
|
const currentContextId = branchStack.length > 0 ? branchStack[branchStack.length - 1].branchId : ancestryMode.currentAncestryId || `new_${ancestryMode.ancestral_node}`;
|
|
7499
7499
|
if (initializedContextIdRef.current === currentContextId) {
|
|
@@ -8233,7 +8233,7 @@ function CreateAncestryPanel({
|
|
|
8233
8233
|
}
|
|
8234
8234
|
}
|
|
8235
8235
|
};
|
|
8236
|
-
|
|
8236
|
+
useEffect10(() => {
|
|
8237
8237
|
if (!description && existingSections.length === 0) return;
|
|
8238
8238
|
const newRootTree = applyDescriptionToTree(ancestryMode.tree, description, existingSections);
|
|
8239
8239
|
const currentTreeString = JSON.stringify(ancestryMode.tree);
|
|
@@ -8688,7 +8688,7 @@ function CreateAncestryPanel({
|
|
|
8688
8688
|
}
|
|
8689
8689
|
|
|
8690
8690
|
// src/components/CreateQuestTreePanel.jsx
|
|
8691
|
-
import React11, { useState as useState12, useCallback as useCallback3, useMemo as useMemo9 } from "react";
|
|
8691
|
+
import React11, { useState as useState12, useEffect as useEffect11, useCallback as useCallback3, useMemo as useMemo9 } from "react";
|
|
8692
8692
|
import {
|
|
8693
8693
|
FiFolder as FiFolder3,
|
|
8694
8694
|
FiLayers as FiLayers6,
|
|
@@ -8908,7 +8908,7 @@ function CreateQuestTreePanel({
|
|
|
8908
8908
|
};
|
|
8909
8909
|
const isAddingModeActive = activeTab === "abstraction" ? isAddingAbstractionNodes : isAddingNodes;
|
|
8910
8910
|
const currentTree = activeTab === "abstraction" ? abstraction_tree : tree;
|
|
8911
|
-
|
|
8911
|
+
useEffect11(() => {
|
|
8912
8912
|
if (!tree && !abstraction_tree && questTreeMode.questNodeId) {
|
|
8913
8913
|
const rootNode = {
|
|
8914
8914
|
id: questTreeMode.questNodeId,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lv-x-software-house/x_view",
|
|
3
|
-
"version": "1.2.6-dev.
|
|
3
|
+
"version": "1.2.6-dev.75",
|
|
4
4
|
"description": "Pacote privado contendo os componentes e lógica de renderização 3D do X View.",
|
|
5
5
|
"author": "iv.x - Engenharia de Software - ivxsoftwarehouse@gmail.com",
|
|
6
6
|
"license": "UNLICENSED",
|