Merge branch 'dev' of ssh://git.jetbrains.space/nalpari/q-cast-iii/qcast-front into dev
# Conflicts: # src/hooks/common/useCanvasPopupStatusController.js
This commit is contained in:
commit
ffcd3e0131
@ -34,7 +34,7 @@ export default function CanvasFrame() {
|
|||||||
const currentMenu = useRecoilValue(currentMenuState)
|
const currentMenu = useRecoilValue(currentMenuState)
|
||||||
const { floorPlanState } = useContext(FloorPlanContext)
|
const { floorPlanState } = useContext(FloorPlanContext)
|
||||||
const { contextMenu, handleClick } = useContextMenu()
|
const { contextMenu, handleClick } = useContextMenu()
|
||||||
const { plans, currentCanvasPlan } = usePlan()
|
const { plans, currentCanvasPlan, resetCanvasStatus } = usePlan()
|
||||||
const totalDisplay = useRecoilValue(totalDisplaySelector) // 집계표 표시 여부
|
const totalDisplay = useRecoilValue(totalDisplaySelector) // 집계표 표시 여부
|
||||||
const { setIsGlobalLoading } = useContext(QcastContext)
|
const { setIsGlobalLoading } = useContext(QcastContext)
|
||||||
const resetModuleStatisticsState = useResetRecoilState(moduleStatisticsState)
|
const resetModuleStatisticsState = useResetRecoilState(moduleStatisticsState)
|
||||||
@ -45,8 +45,10 @@ export default function CanvasFrame() {
|
|||||||
const resetSelectedModelsState = useResetRecoilState(selectedModelsState)
|
const resetSelectedModelsState = useResetRecoilState(selectedModelsState)
|
||||||
const resetPcsCheckState = useResetRecoilState(pcsCheckState)
|
const resetPcsCheckState = useResetRecoilState(pcsCheckState)
|
||||||
const { handleModuleSelectionTotal } = useCanvasPopupStatusController()
|
const { handleModuleSelectionTotal } = useCanvasPopupStatusController()
|
||||||
|
|
||||||
const loadCanvas = () => {
|
const loadCanvas = () => {
|
||||||
if (canvas) {
|
if (!canvas) return
|
||||||
|
|
||||||
canvas?.clear() // 캔버스를 초기화합니다.
|
canvas?.clear() // 캔버스를 초기화합니다.
|
||||||
if (currentCanvasPlan) {
|
if (currentCanvasPlan) {
|
||||||
const plan = plans.find((plan) => plan.id === currentCanvasPlan.id)
|
const plan = plans.find((plan) => plan.id === currentCanvasPlan.id)
|
||||||
@ -59,7 +61,6 @@ export default function CanvasFrame() {
|
|||||||
}
|
}
|
||||||
gridInit()
|
gridInit()
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
loadCanvas()
|
loadCanvas()
|
||||||
@ -69,6 +70,11 @@ export default function CanvasFrame() {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setIsGlobalLoading(false)
|
setIsGlobalLoading(false)
|
||||||
|
|
||||||
|
return () => {
|
||||||
|
canvas?.clear()
|
||||||
|
resetCanvasStatus()
|
||||||
|
}
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
const resetRecoilData = () => {
|
const resetRecoilData = () => {
|
||||||
|
|||||||
@ -50,6 +50,7 @@ export function useCanvasPopupStatusController(param = 1) {
|
|||||||
for (let i = 1; i < 3; i++) {
|
for (let i = 1; i < 3; i++) {
|
||||||
const result = await getModuleSelection(i)
|
const result = await getModuleSelection(i)
|
||||||
// setModuleSelectionTotal((prev) => ({ ...prev, [i]: JSON.parse(unescapeString(result.popupStatus)) }))
|
// setModuleSelectionTotal((prev) => ({ ...prev, [i]: JSON.parse(unescapeString(result.popupStatus)) }))
|
||||||
|
if(!result) return
|
||||||
if (i === 1) {
|
if (i === 1) {
|
||||||
setCompasDeg(result.popupStatus)
|
setCompasDeg(result.popupStatus)
|
||||||
} else if (i === 2) {
|
} else if (i === 2) {
|
||||||
|
|||||||
@ -319,7 +319,7 @@ export function useRoofAllocationSetting(id) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const apply = () => {
|
const apply = () => {
|
||||||
const roofBases = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.ROOF)
|
const roofBases = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.ROOF && !obj.roofMaterial)
|
||||||
const wallLines = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.WALL)
|
const wallLines = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.WALL)
|
||||||
roofBases.forEach((roofBase) => {
|
roofBases.forEach((roofBase) => {
|
||||||
try {
|
try {
|
||||||
|
|||||||
@ -425,7 +425,11 @@ export function useRoofShapeSetting(id) {
|
|||||||
|
|
||||||
const removeTargets = canvas
|
const removeTargets = canvas
|
||||||
.getObjects()
|
.getObjects()
|
||||||
.filter((obj) => (obj.name === 'pitchText' || obj.name === 'lengthText') && outerLines.map((id) => id).includes(obj.parentId))
|
.filter(
|
||||||
|
(obj) =>
|
||||||
|
(obj.name === 'pitchText' || obj.name === 'lengthText') &&
|
||||||
|
canvas.getObjects().find((parent) => parent.id === obj.parentId)?.name !== POLYGON_TYPE.ROOF,
|
||||||
|
)
|
||||||
removeTargets.forEach((obj) => {
|
removeTargets.forEach((obj) => {
|
||||||
canvas.remove(obj)
|
canvas.remove(obj)
|
||||||
})
|
})
|
||||||
|
|||||||
@ -407,6 +407,14 @@ export function usePlan(params = {}) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* plan canvasStatus 초기화
|
||||||
|
*/
|
||||||
|
const resetCanvasStatus = () => {
|
||||||
|
setCurrentCanvasPlan((prev) => ({ ...prev, canvasStatus: null }))
|
||||||
|
setPlans((plans) => plans.map((plan) => ({ ...plan, canvasStatus: null })))
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 현재 plan 이동 -> 새로운 링크로 이동
|
* 현재 plan 이동 -> 새로운 링크로 이동
|
||||||
*/
|
*/
|
||||||
@ -425,5 +433,6 @@ export function usePlan(params = {}) {
|
|||||||
handleAddPlan,
|
handleAddPlan,
|
||||||
handleDeletePlan,
|
handleDeletePlan,
|
||||||
loadCanvasPlanData,
|
loadCanvasPlanData,
|
||||||
|
resetCanvasStatus,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user