diff --git a/src/components/floor-plan/modal/grid/DotLineGrid.jsx b/src/components/floor-plan/modal/grid/DotLineGrid.jsx index 9e402a71..67c4cdf3 100644 --- a/src/components/floor-plan/modal/grid/DotLineGrid.jsx +++ b/src/components/floor-plan/modal/grid/DotLineGrid.jsx @@ -29,6 +29,8 @@ export default function DotLineGrid(props) { const { SelectOptions, currentSetting, setCurrentSetting, dotLineGridSettingState, setSettingModalGridOptions, setDotLineGridSettingState } = useCanvasSetting() + const [copyCurrentSetting, setCopyCurrentSetting] = useState({ ...currentSetting }) + // 데이터를 최초 한 번만 조회 useEffect(() => { console.log('DotLineGrid useEffect 실행') @@ -57,7 +59,7 @@ export default function DotLineGrid(props) { const handleCheckBoxChange = (e) => { const { value, checked } = e.target - setCurrentSetting((prev) => { + setCopyCurrentSetting((prev) => { return { ...prev, [value]: checked, @@ -66,23 +68,23 @@ export default function DotLineGrid(props) { } const handleSave = async () => { - if (!currentSetting.DOT && !currentSetting.LINE) { + /*if (!currentSetting.DOT && !currentSetting.LINE) { swalFire({ text: '배치할 그리드를 설정해주세요.' }) return - } + }*/ setDotLineGridSettingState((prev) => { return { ...prev, INTERVAL: { - type: currentSetting.INTERVAL.type, - horizontalInterval: currentSetting.INTERVAL.horizontalInterval, - verticalInterval: currentSetting.INTERVAL.verticalInterval, - ratioInterval: currentSetting.INTERVAL.ratioInterval, - dimension: currentSetting.INTERVAL.dimension, + type: copyCurrentSetting.INTERVAL.type, + horizontalInterval: copyCurrentSetting.INTERVAL.horizontalInterval, + verticalInterval: copyCurrentSetting.INTERVAL.verticalInterval, + ratioInterval: copyCurrentSetting.INTERVAL.ratioInterval, + dimension: copyCurrentSetting.INTERVAL.dimension, }, - DOT: currentSetting.DOT, - LINE: currentSetting.LINE, + DOT: copyCurrentSetting.DOT, + LINE: copyCurrentSetting.LINE, } //setDotLineGridSettingState({ ...currentSetting }) }) @@ -90,16 +92,18 @@ export default function DotLineGrid(props) { setSettingsData({ ...settingsData, INTERVAL: { - type: currentSetting.INTERVAL.type, - horizontalInterval: currentSetting.INTERVAL.horizontalInterval, - verticalInterval: currentSetting.INTERVAL.verticalInterval, - ratioInterval: currentSetting.INTERVAL.ratioInterval, - dimension: currentSetting.INTERVAL.dimension, + type: copyCurrentSetting.INTERVAL.type, + horizontalInterval: copyCurrentSetting.INTERVAL.horizontalInterval, + verticalInterval: copyCurrentSetting.INTERVAL.verticalInterval, + ratioInterval: copyCurrentSetting.INTERVAL.ratioInterval, + dimension: copyCurrentSetting.INTERVAL.dimension, }, - DOT: currentSetting.DOT, - LINE: currentSetting.LINE, + DOT: copyCurrentSetting.DOT, + LINE: copyCurrentSetting.LINE, }) + setCurrentSetting({ ...copyCurrentSetting }) + setIsShow(false) closePopup(id, isConfig) } @@ -107,7 +111,7 @@ export default function DotLineGrid(props) { const handleRadioChange = (e) => { const { value, name, checked, selected } = e.target - setCurrentSetting((prev) => { + setCopyCurrentSetting((prev) => { return { ...prev, INTERVAL: { @@ -120,7 +124,7 @@ export default function DotLineGrid(props) { const changeInput = (value, e) => { const { name } = e.target - setCurrentSetting((prev) => { + setCopyCurrentSetting((prev) => { return { ...prev, INTERVAL: { @@ -133,7 +137,7 @@ export default function DotLineGrid(props) { const changeDimension = (result) => { const { value } = result - setCurrentSetting((prev) => { + setCopyCurrentSetting((prev) => { return { ...prev, INTERVAL: { @@ -146,7 +150,7 @@ export default function DotLineGrid(props) { // 초기화 const reset = () => { - canvas + /*canvas ?.getObjects() .filter((obj) => obj.name === 'lineGrid') .forEach((obj) => canvas?.remove(obj)) @@ -154,9 +158,9 @@ export default function DotLineGrid(props) { ?.getObjects() .filter((obj) => obj.name === 'dotGrid') .forEach((obj) => canvas?.remove(obj)) - +*/ // resetDotLineGridSetting() - setCurrentSetting({ + setCopyCurrentSetting({ INTERVAL: { type: 2, // 1: 가로,세로 간격 수동, 2: 비율 간격 ratioInterval: 910, @@ -188,11 +192,11 @@ export default function DotLineGrid(props) {