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 { floorPlanState } = useContext(FloorPlanContext)
|
||||
const { contextMenu, handleClick } = useContextMenu()
|
||||
const { plans, currentCanvasPlan } = usePlan()
|
||||
const { plans, currentCanvasPlan, resetCanvasStatus } = usePlan()
|
||||
const totalDisplay = useRecoilValue(totalDisplaySelector) // 집계표 표시 여부
|
||||
const { setIsGlobalLoading } = useContext(QcastContext)
|
||||
const resetModuleStatisticsState = useResetRecoilState(moduleStatisticsState)
|
||||
@ -45,20 +45,21 @@ export default function CanvasFrame() {
|
||||
const resetSelectedModelsState = useResetRecoilState(selectedModelsState)
|
||||
const resetPcsCheckState = useResetRecoilState(pcsCheckState)
|
||||
const { handleModuleSelectionTotal } = useCanvasPopupStatusController()
|
||||
|
||||
const loadCanvas = () => {
|
||||
if (canvas) {
|
||||
canvas?.clear() // 캔버스를 초기화합니다.
|
||||
if (currentCanvasPlan) {
|
||||
const plan = plans.find((plan) => plan.id === currentCanvasPlan.id)
|
||||
if (plan?.canvasStatus && floorPlanState.objectNo === currentCanvasPlan.objectNo) {
|
||||
canvas?.loadFromJSON(JSON.parse(plan.canvasStatus), function () {
|
||||
canvasLoadInit() //config된 상태로 캔버스 객체를 그린다
|
||||
canvas?.renderAll() // 캔버스를 다시 그립니다.
|
||||
})
|
||||
}
|
||||
if (!canvas) return
|
||||
|
||||
canvas?.clear() // 캔버스를 초기화합니다.
|
||||
if (currentCanvasPlan) {
|
||||
const plan = plans.find((plan) => plan.id === currentCanvasPlan.id)
|
||||
if (plan?.canvasStatus && floorPlanState.objectNo === currentCanvasPlan.objectNo) {
|
||||
canvas?.loadFromJSON(JSON.parse(plan.canvasStatus), function () {
|
||||
canvasLoadInit() //config된 상태로 캔버스 객체를 그린다
|
||||
canvas?.renderAll() // 캔버스를 다시 그립니다.
|
||||
})
|
||||
}
|
||||
gridInit()
|
||||
}
|
||||
gridInit()
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
@ -69,6 +70,11 @@ export default function CanvasFrame() {
|
||||
|
||||
useEffect(() => {
|
||||
setIsGlobalLoading(false)
|
||||
|
||||
return () => {
|
||||
canvas?.clear()
|
||||
resetCanvasStatus()
|
||||
}
|
||||
}, [])
|
||||
|
||||
const resetRecoilData = () => {
|
||||
|
||||
@ -50,6 +50,7 @@ export function useCanvasPopupStatusController(param = 1) {
|
||||
for (let i = 1; i < 3; i++) {
|
||||
const result = await getModuleSelection(i)
|
||||
// setModuleSelectionTotal((prev) => ({ ...prev, [i]: JSON.parse(unescapeString(result.popupStatus)) }))
|
||||
if(!result) return
|
||||
if (i === 1) {
|
||||
setCompasDeg(result.popupStatus)
|
||||
} else if (i === 2) {
|
||||
|
||||
@ -319,7 +319,7 @@ export function useRoofAllocationSetting(id) {
|
||||
}
|
||||
|
||||
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)
|
||||
roofBases.forEach((roofBase) => {
|
||||
try {
|
||||
|
||||
@ -425,7 +425,11 @@ export function useRoofShapeSetting(id) {
|
||||
|
||||
const removeTargets = canvas
|
||||
.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) => {
|
||||
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 이동 -> 새로운 링크로 이동
|
||||
*/
|
||||
@ -425,5 +433,6 @@ export function usePlan(params = {}) {
|
||||
handleAddPlan,
|
||||
handleDeletePlan,
|
||||
loadCanvasPlanData,
|
||||
resetCanvasStatus,
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user