dev #603

Merged
ysCha merged 6 commits from dev into dev-deploy 2026-01-26 15:04:06 +09:00
6 changed files with 21 additions and 11 deletions

View File

@ -165,6 +165,8 @@ export const SAVE_KEY = [
'text', 'text',
'pitch', 'pitch',
'uuid', 'uuid',
'lineName',
'roofId',
'originText', 'originText',
'groupYn', 'groupYn',
'groupName', 'groupName',

View File

@ -133,6 +133,11 @@ export default function AuxiliaryDrawing({ id, pos = { x: 50, y: 230 } }) {
} }
const onClickButton = (button) => { const onClickButton = (button) => {
if (buttonAct === button.id || type === button.type) {
setButtonAct(null)
setType(null)
return
}
setButtonAct(button.id) setButtonAct(button.id)
setType(button.type) setType(button.type)
} }

View File

@ -10,9 +10,7 @@ import { adsorptionPointAddModeState, canGridOptionSeletor, tempGridModeState }
import { useRecoilState, useRecoilValue } from 'recoil' import { useRecoilState, useRecoilValue } from 'recoil'
import { usePopup } from '@/hooks/usePopup' import { usePopup } from '@/hooks/usePopup'
import { useCanvasSetting } from '@/hooks/option/useCanvasSetting' import { useCanvasSetting } from '@/hooks/option/useCanvasSetting'
import { useTempGrid } from '@/hooks/useTempGrid'
import { settingModalGridOptionsState } from '@/store/settingAtom' import { settingModalGridOptionsState } from '@/store/settingAtom'
import { useEvent } from '@/hooks/useEvent'
export default function SettingModal01(props) { export default function SettingModal01(props) {
const { id } = props const { id } = props
@ -102,11 +100,11 @@ export default function SettingModal01(props) {
<button className={`btn-frame modal ${buttonAct === 2 ? 'act' : ''}`} onClick={() => handleBtnClick(2)}> <button className={`btn-frame modal ${buttonAct === 2 ? 'act' : ''}`} onClick={() => handleBtnClick(2)}>
{getMessage('modal.canvas.setting.font.plan')} {getMessage('modal.canvas.setting.font.plan')}
</button> </button>
{canGridOptionSeletorValue && ( {/*{canGridOptionSeletorValue && (
<button className={`btn-frame modal ${buttonAct === 3 ? 'act' : ''}`} onClick={() => handleBtnClick(3)}> <button className={`btn-frame modal ${buttonAct === 3 ? 'act' : ''}`} onClick={() => handleBtnClick(3)}>
{getMessage('modal.canvas.setting.grid')} {getMessage('modal.canvas.setting.grid')}
</button> </button>
)} )}*/}
</div> </div>
{buttonAct === 1 && <FirstOption {...firstProps} />} {buttonAct === 1 && <FirstOption {...firstProps} />}
{buttonAct === 2 && <SecondOption {...secondProps} />} {buttonAct === 2 && <SecondOption {...secondProps} />}

View File

@ -77,6 +77,13 @@ export function useAuxiliaryDrawing(id, isUseEffect = true) {
useEffect(() => { useEffect(() => {
typeRef.current = type typeRef.current = type
clear() clear()
if (type === null) {
initEvent()
return
}
initEvent()
addCanvasMouseEventListener('mouse:move', mouseMove)
addCanvasMouseEventListener('mouse:down', mouseDown)
addDocumentEventListener('keydown', document, keydown[type]) addDocumentEventListener('keydown', document, keydown[type])
}, [type]) }, [type])
@ -133,7 +140,7 @@ export function useAuxiliaryDrawing(id, isUseEffect = true) {
// roofs의 innerLines에서 object와 같은 것을 찾아서 제거 // roofs의 innerLines에서 object와 같은 것을 찾아서 제거
const roofs = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.ROOF) const roofs = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.ROOF)
roofs.forEach((roof) => { roofs.forEach((roof) => {
roof.innerLines = roof.innerLines.filter(inner => inner !== object) roof.innerLines = roof.innerLines.filter((inner) => inner !== object)
}) })
canvas.remove(object) canvas.remove(object)

View File

@ -334,6 +334,9 @@ export function useRoofAllocationSetting(id) {
name: 'originRoofOuterLine', name: 'originRoofOuterLine',
visible: outlineDisplay, visible: outlineDisplay,
}) })
wallLine.texts.forEach((text) => {
canvas.remove(text)
})
}) })
canvas.renderAll() canvas.renderAll()
} }
@ -554,11 +557,6 @@ export function useRoofAllocationSetting(id) {
canvas.remove(roofBase) canvas.remove(roofBase)
}) })
/** 벽면 삭제 */
wallLines.forEach((wallLine) => {
canvas.remove(wallLine)
})
/** 데이터 설정 */ /** 데이터 설정 */
const newRoofList = currentRoofList.map((roof, idx) => { const newRoofList = currentRoofList.map((roof, idx) => {
return { ...roof, index: idx, ...basicInfo, raft: roof.raft ? roof.raft : roof.raftBaseCd } return { ...roof, index: idx, ...basicInfo, raft: roof.raft ? roof.raft : roof.raftBaseCd }

View File

@ -160,7 +160,7 @@ export function useCanvas(id) {
for (let key in this) { for (let key in this) {
if (typeof this[key] !== 'function' && SAVE_KEY.includes(key)) { if (typeof this[key] !== 'function' && SAVE_KEY.includes(key)) {
source.key = this[key] source[key] = this[key]
} }
} }