@lv-x-software-house/x_view 1.2.5-dev.36 → 1.2.5-dev.37
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 +76 -76
- package/dist/index.mjs +76 -76
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -12717,82 +12717,6 @@ function XViewScene({
|
|
|
12717
12717
|
}
|
|
12718
12718
|
});
|
|
12719
12719
|
}, []);
|
|
12720
|
-
const handleActivateQuestLens = (0, import_react28.useCallback)(({ assigneeId, status: status2 }) => {
|
|
12721
|
-
var _a2;
|
|
12722
|
-
const { nodeObjects, tweenGroup, graphGroup } = stateRef.current;
|
|
12723
|
-
if (!nodeObjects || !tweenGroup || !graphGroup) return;
|
|
12724
|
-
const allQuests = ((_a2 = sceneDataRef.current) == null ? void 0 : _a2.quest_nodes) || [];
|
|
12725
|
-
const filteredQuests = allQuests.filter((q) => {
|
|
12726
|
-
const matchAssignee = !assigneeId || String(q.assignee_id) === String(assigneeId);
|
|
12727
|
-
const matchStatus = !status2 ? q.status !== "Done" : String(q.status) === String(status2);
|
|
12728
|
-
return matchAssignee && matchStatus;
|
|
12729
|
-
});
|
|
12730
|
-
if (filteredQuests.length === 0) {
|
|
12731
|
-
console.warn("Nenhuma quest encontrada para os filtros selecionados.");
|
|
12732
|
-
return;
|
|
12733
|
-
}
|
|
12734
|
-
const questsByStatus = {
|
|
12735
|
-
Backlog: [],
|
|
12736
|
-
"In Progress": [],
|
|
12737
|
-
Review: [],
|
|
12738
|
-
Done: []
|
|
12739
|
-
};
|
|
12740
|
-
filteredQuests.forEach((q) => {
|
|
12741
|
-
if (questsByStatus[q.status]) {
|
|
12742
|
-
questsByStatus[q.status].push(q);
|
|
12743
|
-
}
|
|
12744
|
-
});
|
|
12745
|
-
const startX = -((QUEST_STATUS_ORDER.length - 1) * QUEST_LENS_COLUMN_SPACING) / 2;
|
|
12746
|
-
Object.keys(nodeObjects).forEach((id) => {
|
|
12747
|
-
const mesh = nodeObjects[id];
|
|
12748
|
-
const isFilteredQuest = filteredQuests.some(
|
|
12749
|
-
(q) => String(q.id) === String(id)
|
|
12750
|
-
);
|
|
12751
|
-
if (!isFilteredQuest) {
|
|
12752
|
-
if (mesh.material) {
|
|
12753
|
-
const fadeTween = new import_tween2.Tween(mesh.material).to({ opacity: 0.15 }, 1200).easing(import_tween2.Easing.Cubic.Out);
|
|
12754
|
-
tweenGroup.add(fadeTween);
|
|
12755
|
-
fadeTween.start();
|
|
12756
|
-
}
|
|
12757
|
-
if (mesh.userData.labelObject) {
|
|
12758
|
-
mesh.userData.labelObject.visible = false;
|
|
12759
|
-
}
|
|
12760
|
-
} else {
|
|
12761
|
-
if (mesh.material) {
|
|
12762
|
-
const fadeInTween = new import_tween2.Tween(mesh.material).to({ opacity: 1 }, 1200).easing(import_tween2.Easing.Cubic.Out);
|
|
12763
|
-
tweenGroup.add(fadeInTween);
|
|
12764
|
-
fadeInTween.start();
|
|
12765
|
-
}
|
|
12766
|
-
if (mesh.userData.labelObject) {
|
|
12767
|
-
mesh.userData.labelObject.visible = true;
|
|
12768
|
-
}
|
|
12769
|
-
}
|
|
12770
|
-
});
|
|
12771
|
-
QUEST_STATUS_ORDER.forEach((statusName, colIndex) => {
|
|
12772
|
-
if (status2 && status2 !== statusName) return;
|
|
12773
|
-
const questsInCol = questsByStatus[statusName];
|
|
12774
|
-
const colX = startX + colIndex * QUEST_LENS_COLUMN_SPACING;
|
|
12775
|
-
questsInCol.forEach((q, rowIndex) => {
|
|
12776
|
-
const nodeId = String(q.id);
|
|
12777
|
-
let mesh = nodeObjects[nodeId];
|
|
12778
|
-
if (!mesh) {
|
|
12779
|
-
mesh = addOrUpdateNodeMesh(q, new THREE3.Vector3(colX, 150, 0), true);
|
|
12780
|
-
}
|
|
12781
|
-
const targetY = (questsInCol.length - 1) * 0.5 * QUEST_LENS_ROW_SPACING - rowIndex * QUEST_LENS_ROW_SPACING;
|
|
12782
|
-
const lensTween = new import_tween2.Tween(mesh.position).to({ x: colX, y: targetY, z: 0 }, 1500).easing(import_tween2.Easing.Cubic.InOut);
|
|
12783
|
-
tweenGroup.add(lensTween);
|
|
12784
|
-
lensTween.start();
|
|
12785
|
-
if (mesh.userData.labelObject) {
|
|
12786
|
-
const labelTargetPos = new THREE3.Vector3(colX, targetY, 0).add(
|
|
12787
|
-
mesh.userData.labelOffset || new THREE3.Vector3(0, -2.5, 0)
|
|
12788
|
-
);
|
|
12789
|
-
const labelTween = new import_tween2.Tween(mesh.userData.labelObject.position).to(labelTargetPos, 1500).easing(import_tween2.Easing.Cubic.InOut);
|
|
12790
|
-
tweenGroup.add(labelTween);
|
|
12791
|
-
labelTween.start();
|
|
12792
|
-
}
|
|
12793
|
-
});
|
|
12794
|
-
});
|
|
12795
|
-
}, [addOrUpdateNodeMesh]);
|
|
12796
12720
|
const handleVersionTimeline = (0, import_react28.useCallback)((sourceMesh, versionMeshes) => {
|
|
12797
12721
|
const { tweenGroup, timelineIntervalsGroup } = stateRef.current;
|
|
12798
12722
|
if (!tweenGroup || !timelineIntervalsGroup || versionMeshes.length === 0)
|
|
@@ -13077,6 +13001,82 @@ function XViewScene({
|
|
|
13077
13001
|
},
|
|
13078
13002
|
[]
|
|
13079
13003
|
);
|
|
13004
|
+
const handleActivateQuestLens = (0, import_react28.useCallback)(({ assigneeId, status: status2 }) => {
|
|
13005
|
+
var _a2;
|
|
13006
|
+
const { nodeObjects, tweenGroup, graphGroup } = stateRef.current;
|
|
13007
|
+
if (!nodeObjects || !tweenGroup || !graphGroup) return;
|
|
13008
|
+
const allQuests = ((_a2 = sceneDataRef.current) == null ? void 0 : _a2.quest_nodes) || [];
|
|
13009
|
+
const filteredQuests = allQuests.filter((q) => {
|
|
13010
|
+
const matchAssignee = !assigneeId || String(q.assignee_id) === String(assigneeId);
|
|
13011
|
+
const matchStatus = !status2 ? q.status !== "Done" : String(q.status) === String(status2);
|
|
13012
|
+
return matchAssignee && matchStatus;
|
|
13013
|
+
});
|
|
13014
|
+
if (filteredQuests.length === 0) {
|
|
13015
|
+
console.warn("Nenhuma quest encontrada para os filtros selecionados.");
|
|
13016
|
+
return;
|
|
13017
|
+
}
|
|
13018
|
+
const questsByStatus = {
|
|
13019
|
+
Backlog: [],
|
|
13020
|
+
"In Progress": [],
|
|
13021
|
+
Review: [],
|
|
13022
|
+
Done: []
|
|
13023
|
+
};
|
|
13024
|
+
filteredQuests.forEach((q) => {
|
|
13025
|
+
if (questsByStatus[q.status]) {
|
|
13026
|
+
questsByStatus[q.status].push(q);
|
|
13027
|
+
}
|
|
13028
|
+
});
|
|
13029
|
+
const startX = -((QUEST_STATUS_ORDER.length - 1) * QUEST_LENS_COLUMN_SPACING) / 2;
|
|
13030
|
+
Object.keys(nodeObjects).forEach((id) => {
|
|
13031
|
+
const mesh = nodeObjects[id];
|
|
13032
|
+
const isFilteredQuest = filteredQuests.some(
|
|
13033
|
+
(q) => String(q.id) === String(id)
|
|
13034
|
+
);
|
|
13035
|
+
if (!isFilteredQuest) {
|
|
13036
|
+
if (mesh.material) {
|
|
13037
|
+
const fadeTween = new import_tween2.Tween(mesh.material).to({ opacity: 0.15 }, 1200).easing(import_tween2.Easing.Cubic.Out);
|
|
13038
|
+
tweenGroup.add(fadeTween);
|
|
13039
|
+
fadeTween.start();
|
|
13040
|
+
}
|
|
13041
|
+
if (mesh.userData.labelObject) {
|
|
13042
|
+
mesh.userData.labelObject.visible = false;
|
|
13043
|
+
}
|
|
13044
|
+
} else {
|
|
13045
|
+
if (mesh.material) {
|
|
13046
|
+
const fadeInTween = new import_tween2.Tween(mesh.material).to({ opacity: 1 }, 1200).easing(import_tween2.Easing.Cubic.Out);
|
|
13047
|
+
tweenGroup.add(fadeInTween);
|
|
13048
|
+
fadeInTween.start();
|
|
13049
|
+
}
|
|
13050
|
+
if (mesh.userData.labelObject) {
|
|
13051
|
+
mesh.userData.labelObject.visible = true;
|
|
13052
|
+
}
|
|
13053
|
+
}
|
|
13054
|
+
});
|
|
13055
|
+
QUEST_STATUS_ORDER.forEach((statusName, colIndex) => {
|
|
13056
|
+
if (status2 && status2 !== statusName) return;
|
|
13057
|
+
const questsInCol = questsByStatus[statusName];
|
|
13058
|
+
const colX = startX + colIndex * QUEST_LENS_COLUMN_SPACING;
|
|
13059
|
+
questsInCol.forEach((q, rowIndex) => {
|
|
13060
|
+
const nodeId = String(q.id);
|
|
13061
|
+
let mesh = nodeObjects[nodeId];
|
|
13062
|
+
if (!mesh) {
|
|
13063
|
+
mesh = addOrUpdateNodeMesh(q, new THREE3.Vector3(colX, 150, 0), true);
|
|
13064
|
+
}
|
|
13065
|
+
const targetY = (questsInCol.length - 1) * 0.5 * QUEST_LENS_ROW_SPACING - rowIndex * QUEST_LENS_ROW_SPACING;
|
|
13066
|
+
const lensTween = new import_tween2.Tween(mesh.position).to({ x: colX, y: targetY, z: 0 }, 1500).easing(import_tween2.Easing.Cubic.InOut);
|
|
13067
|
+
tweenGroup.add(lensTween);
|
|
13068
|
+
lensTween.start();
|
|
13069
|
+
if (mesh.userData.labelObject) {
|
|
13070
|
+
const labelTargetPos = new THREE3.Vector3(colX, targetY, 0).add(
|
|
13071
|
+
mesh.userData.labelOffset || new THREE3.Vector3(0, -2.5, 0)
|
|
13072
|
+
);
|
|
13073
|
+
const labelTween = new import_tween2.Tween(mesh.userData.labelObject.position).to(labelTargetPos, 1500).easing(import_tween2.Easing.Cubic.InOut);
|
|
13074
|
+
tweenGroup.add(labelTween);
|
|
13075
|
+
labelTween.start();
|
|
13076
|
+
}
|
|
13077
|
+
});
|
|
13078
|
+
});
|
|
13079
|
+
}, [addOrUpdateNodeMesh]);
|
|
13080
13080
|
(0, import_react28.useEffect)(() => {
|
|
13081
13081
|
if (!isInitialized || !sceneDataRef.current) return;
|
|
13082
13082
|
const currentMount = mountRef.current;
|
package/dist/index.mjs
CHANGED
|
@@ -12759,82 +12759,6 @@ function XViewScene({
|
|
|
12759
12759
|
}
|
|
12760
12760
|
});
|
|
12761
12761
|
}, []);
|
|
12762
|
-
const handleActivateQuestLens = useCallback4(({ assigneeId, status: status2 }) => {
|
|
12763
|
-
var _a2;
|
|
12764
|
-
const { nodeObjects, tweenGroup, graphGroup } = stateRef.current;
|
|
12765
|
-
if (!nodeObjects || !tweenGroup || !graphGroup) return;
|
|
12766
|
-
const allQuests = ((_a2 = sceneDataRef.current) == null ? void 0 : _a2.quest_nodes) || [];
|
|
12767
|
-
const filteredQuests = allQuests.filter((q) => {
|
|
12768
|
-
const matchAssignee = !assigneeId || String(q.assignee_id) === String(assigneeId);
|
|
12769
|
-
const matchStatus = !status2 ? q.status !== "Done" : String(q.status) === String(status2);
|
|
12770
|
-
return matchAssignee && matchStatus;
|
|
12771
|
-
});
|
|
12772
|
-
if (filteredQuests.length === 0) {
|
|
12773
|
-
console.warn("Nenhuma quest encontrada para os filtros selecionados.");
|
|
12774
|
-
return;
|
|
12775
|
-
}
|
|
12776
|
-
const questsByStatus = {
|
|
12777
|
-
Backlog: [],
|
|
12778
|
-
"In Progress": [],
|
|
12779
|
-
Review: [],
|
|
12780
|
-
Done: []
|
|
12781
|
-
};
|
|
12782
|
-
filteredQuests.forEach((q) => {
|
|
12783
|
-
if (questsByStatus[q.status]) {
|
|
12784
|
-
questsByStatus[q.status].push(q);
|
|
12785
|
-
}
|
|
12786
|
-
});
|
|
12787
|
-
const startX = -((QUEST_STATUS_ORDER.length - 1) * QUEST_LENS_COLUMN_SPACING) / 2;
|
|
12788
|
-
Object.keys(nodeObjects).forEach((id) => {
|
|
12789
|
-
const mesh = nodeObjects[id];
|
|
12790
|
-
const isFilteredQuest = filteredQuests.some(
|
|
12791
|
-
(q) => String(q.id) === String(id)
|
|
12792
|
-
);
|
|
12793
|
-
if (!isFilteredQuest) {
|
|
12794
|
-
if (mesh.material) {
|
|
12795
|
-
const fadeTween = new Tween2(mesh.material).to({ opacity: 0.15 }, 1200).easing(Easing2.Cubic.Out);
|
|
12796
|
-
tweenGroup.add(fadeTween);
|
|
12797
|
-
fadeTween.start();
|
|
12798
|
-
}
|
|
12799
|
-
if (mesh.userData.labelObject) {
|
|
12800
|
-
mesh.userData.labelObject.visible = false;
|
|
12801
|
-
}
|
|
12802
|
-
} else {
|
|
12803
|
-
if (mesh.material) {
|
|
12804
|
-
const fadeInTween = new Tween2(mesh.material).to({ opacity: 1 }, 1200).easing(Easing2.Cubic.Out);
|
|
12805
|
-
tweenGroup.add(fadeInTween);
|
|
12806
|
-
fadeInTween.start();
|
|
12807
|
-
}
|
|
12808
|
-
if (mesh.userData.labelObject) {
|
|
12809
|
-
mesh.userData.labelObject.visible = true;
|
|
12810
|
-
}
|
|
12811
|
-
}
|
|
12812
|
-
});
|
|
12813
|
-
QUEST_STATUS_ORDER.forEach((statusName, colIndex) => {
|
|
12814
|
-
if (status2 && status2 !== statusName) return;
|
|
12815
|
-
const questsInCol = questsByStatus[statusName];
|
|
12816
|
-
const colX = startX + colIndex * QUEST_LENS_COLUMN_SPACING;
|
|
12817
|
-
questsInCol.forEach((q, rowIndex) => {
|
|
12818
|
-
const nodeId = String(q.id);
|
|
12819
|
-
let mesh = nodeObjects[nodeId];
|
|
12820
|
-
if (!mesh) {
|
|
12821
|
-
mesh = addOrUpdateNodeMesh(q, new THREE3.Vector3(colX, 150, 0), true);
|
|
12822
|
-
}
|
|
12823
|
-
const targetY = (questsInCol.length - 1) * 0.5 * QUEST_LENS_ROW_SPACING - rowIndex * QUEST_LENS_ROW_SPACING;
|
|
12824
|
-
const lensTween = new Tween2(mesh.position).to({ x: colX, y: targetY, z: 0 }, 1500).easing(Easing2.Cubic.InOut);
|
|
12825
|
-
tweenGroup.add(lensTween);
|
|
12826
|
-
lensTween.start();
|
|
12827
|
-
if (mesh.userData.labelObject) {
|
|
12828
|
-
const labelTargetPos = new THREE3.Vector3(colX, targetY, 0).add(
|
|
12829
|
-
mesh.userData.labelOffset || new THREE3.Vector3(0, -2.5, 0)
|
|
12830
|
-
);
|
|
12831
|
-
const labelTween = new Tween2(mesh.userData.labelObject.position).to(labelTargetPos, 1500).easing(Easing2.Cubic.InOut);
|
|
12832
|
-
tweenGroup.add(labelTween);
|
|
12833
|
-
labelTween.start();
|
|
12834
|
-
}
|
|
12835
|
-
});
|
|
12836
|
-
});
|
|
12837
|
-
}, [addOrUpdateNodeMesh]);
|
|
12838
12762
|
const handleVersionTimeline = useCallback4((sourceMesh, versionMeshes) => {
|
|
12839
12763
|
const { tweenGroup, timelineIntervalsGroup } = stateRef.current;
|
|
12840
12764
|
if (!tweenGroup || !timelineIntervalsGroup || versionMeshes.length === 0)
|
|
@@ -13119,6 +13043,82 @@ function XViewScene({
|
|
|
13119
13043
|
},
|
|
13120
13044
|
[]
|
|
13121
13045
|
);
|
|
13046
|
+
const handleActivateQuestLens = useCallback4(({ assigneeId, status: status2 }) => {
|
|
13047
|
+
var _a2;
|
|
13048
|
+
const { nodeObjects, tweenGroup, graphGroup } = stateRef.current;
|
|
13049
|
+
if (!nodeObjects || !tweenGroup || !graphGroup) return;
|
|
13050
|
+
const allQuests = ((_a2 = sceneDataRef.current) == null ? void 0 : _a2.quest_nodes) || [];
|
|
13051
|
+
const filteredQuests = allQuests.filter((q) => {
|
|
13052
|
+
const matchAssignee = !assigneeId || String(q.assignee_id) === String(assigneeId);
|
|
13053
|
+
const matchStatus = !status2 ? q.status !== "Done" : String(q.status) === String(status2);
|
|
13054
|
+
return matchAssignee && matchStatus;
|
|
13055
|
+
});
|
|
13056
|
+
if (filteredQuests.length === 0) {
|
|
13057
|
+
console.warn("Nenhuma quest encontrada para os filtros selecionados.");
|
|
13058
|
+
return;
|
|
13059
|
+
}
|
|
13060
|
+
const questsByStatus = {
|
|
13061
|
+
Backlog: [],
|
|
13062
|
+
"In Progress": [],
|
|
13063
|
+
Review: [],
|
|
13064
|
+
Done: []
|
|
13065
|
+
};
|
|
13066
|
+
filteredQuests.forEach((q) => {
|
|
13067
|
+
if (questsByStatus[q.status]) {
|
|
13068
|
+
questsByStatus[q.status].push(q);
|
|
13069
|
+
}
|
|
13070
|
+
});
|
|
13071
|
+
const startX = -((QUEST_STATUS_ORDER.length - 1) * QUEST_LENS_COLUMN_SPACING) / 2;
|
|
13072
|
+
Object.keys(nodeObjects).forEach((id) => {
|
|
13073
|
+
const mesh = nodeObjects[id];
|
|
13074
|
+
const isFilteredQuest = filteredQuests.some(
|
|
13075
|
+
(q) => String(q.id) === String(id)
|
|
13076
|
+
);
|
|
13077
|
+
if (!isFilteredQuest) {
|
|
13078
|
+
if (mesh.material) {
|
|
13079
|
+
const fadeTween = new Tween2(mesh.material).to({ opacity: 0.15 }, 1200).easing(Easing2.Cubic.Out);
|
|
13080
|
+
tweenGroup.add(fadeTween);
|
|
13081
|
+
fadeTween.start();
|
|
13082
|
+
}
|
|
13083
|
+
if (mesh.userData.labelObject) {
|
|
13084
|
+
mesh.userData.labelObject.visible = false;
|
|
13085
|
+
}
|
|
13086
|
+
} else {
|
|
13087
|
+
if (mesh.material) {
|
|
13088
|
+
const fadeInTween = new Tween2(mesh.material).to({ opacity: 1 }, 1200).easing(Easing2.Cubic.Out);
|
|
13089
|
+
tweenGroup.add(fadeInTween);
|
|
13090
|
+
fadeInTween.start();
|
|
13091
|
+
}
|
|
13092
|
+
if (mesh.userData.labelObject) {
|
|
13093
|
+
mesh.userData.labelObject.visible = true;
|
|
13094
|
+
}
|
|
13095
|
+
}
|
|
13096
|
+
});
|
|
13097
|
+
QUEST_STATUS_ORDER.forEach((statusName, colIndex) => {
|
|
13098
|
+
if (status2 && status2 !== statusName) return;
|
|
13099
|
+
const questsInCol = questsByStatus[statusName];
|
|
13100
|
+
const colX = startX + colIndex * QUEST_LENS_COLUMN_SPACING;
|
|
13101
|
+
questsInCol.forEach((q, rowIndex) => {
|
|
13102
|
+
const nodeId = String(q.id);
|
|
13103
|
+
let mesh = nodeObjects[nodeId];
|
|
13104
|
+
if (!mesh) {
|
|
13105
|
+
mesh = addOrUpdateNodeMesh(q, new THREE3.Vector3(colX, 150, 0), true);
|
|
13106
|
+
}
|
|
13107
|
+
const targetY = (questsInCol.length - 1) * 0.5 * QUEST_LENS_ROW_SPACING - rowIndex * QUEST_LENS_ROW_SPACING;
|
|
13108
|
+
const lensTween = new Tween2(mesh.position).to({ x: colX, y: targetY, z: 0 }, 1500).easing(Easing2.Cubic.InOut);
|
|
13109
|
+
tweenGroup.add(lensTween);
|
|
13110
|
+
lensTween.start();
|
|
13111
|
+
if (mesh.userData.labelObject) {
|
|
13112
|
+
const labelTargetPos = new THREE3.Vector3(colX, targetY, 0).add(
|
|
13113
|
+
mesh.userData.labelOffset || new THREE3.Vector3(0, -2.5, 0)
|
|
13114
|
+
);
|
|
13115
|
+
const labelTween = new Tween2(mesh.userData.labelObject.position).to(labelTargetPos, 1500).easing(Easing2.Cubic.InOut);
|
|
13116
|
+
tweenGroup.add(labelTween);
|
|
13117
|
+
labelTween.start();
|
|
13118
|
+
}
|
|
13119
|
+
});
|
|
13120
|
+
});
|
|
13121
|
+
}, [addOrUpdateNodeMesh]);
|
|
13122
13122
|
useEffect22(() => {
|
|
13123
13123
|
if (!isInitialized || !sceneDataRef.current) return;
|
|
13124
13124
|
const currentMount = mountRef.current;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lv-x-software-house/x_view",
|
|
3
|
-
"version": "1.2.5-dev.
|
|
3
|
+
"version": "1.2.5-dev.37",
|
|
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",
|