배치면으로 돌아오는 경우 지붕 정상화

This commit is contained in:
hyojun.choi 2025-02-21 11:27:51 +09:00
parent c52034ab53
commit 6c0e9c5c0d

View File

@ -49,6 +49,7 @@ import JA from '@/locales/ja.json'
import { QcastContext } from '@/app/QcastProvider' import { QcastContext } from '@/app/QcastProvider'
import { useRoofFn } from '@/hooks/common/useRoofFn' import { useRoofFn } from '@/hooks/common/useRoofFn'
import { usePolygon } from '@/hooks/usePolygon'
export default function CanvasMenu(props) { export default function CanvasMenu(props) {
const { menuNumber, setMenuNumber } = props const { menuNumber, setMenuNumber } = props
const pathname = usePathname() const pathname = usePathname()
@ -106,6 +107,7 @@ export default function CanvasMenu(props) {
const { setIsGlobalLoading } = useContext(QcastContext) const { setIsGlobalLoading } = useContext(QcastContext)
const { setSurfaceShapePattern } = useRoofFn() const { setSurfaceShapePattern } = useRoofFn()
const { drawDirectionArrow } = usePolygon()
// //
const { selectedPlan } = usePlan() const { selectedPlan } = usePlan()
@ -175,6 +177,17 @@ export default function CanvasMenu(props) {
case 3: case 3:
if (menuNumber > menu.index) { if (menuNumber > menu.index) {
const modules = canvas.getObjects().filter((module) => module.name === POLYGON_TYPE.MODULE) const modules = canvas.getObjects().filter((module) => module.name === POLYGON_TYPE.MODULE)
canvas
.getObjects()
.filter((obj) => obj.name === POLYGON_TYPE.ROOF)
.forEach((roof) => {
roof.set({ selectable: true })
delete roof.moduleCompass
drawDirectionArrow(roof)
setSurfaceShapePattern(roof, null, false, roof.roofMaterial)
})
if (modules.length > 0) { if (modules.length > 0) {
swalFire({ swalFire({
text: getMessage('module.delete.confirm'), text: getMessage('module.delete.confirm'),
@ -187,19 +200,13 @@ export default function CanvasMenu(props) {
(obj) => (obj) =>
obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE || obj.name === POLYGON_TYPE.MODULE || obj.name === POLYGON_TYPE.OBJECT_SURFACE, obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE || obj.name === POLYGON_TYPE.MODULE || obj.name === POLYGON_TYPE.OBJECT_SURFACE,
) )
if (moduleSurfacesArray.length > 0) { if (moduleSurfacesArray.length > 0) {
moduleSurfacesArray.forEach((moduleSurface) => { moduleSurfacesArray.forEach((moduleSurface) => {
canvas.remove(moduleSurface) canvas.remove(moduleSurface)
}) })
canvas.renderAll() canvas.renderAll()
onClickNav(menu) onClickNav(menu)
canvas
.getObjects()
.filter((obj) => obj.name === POLYGON_TYPE.ROOF)
.forEach((roof) => {
roof.set({ selectable: true })
setSurfaceShapePattern(roof, null, false, roof.roofMaterial)
})
} }
setType('surface') setType('surface')
}, },