diff --git a/src/components/floor-plan/FloorPlan.jsx b/src/components/floor-plan/FloorPlan.jsx
index a2a5abc3..5639b93f 100644
--- a/src/components/floor-plan/FloorPlan.jsx
+++ b/src/components/floor-plan/FloorPlan.jsx
@@ -2,56 +2,33 @@
import { useEffect, useState } from 'react'
import { useRecoilState, useRecoilValue } from 'recoil'
-import { useAxios } from '@/hooks/useAxios'
-import { globalLocaleStore } from '@/store/localeAtom'
import { settingModalFirstOptionsState, settingModalSecondOptionsState } from '@/store/settingAtom'
import CanvasMenu from '@/components/floor-plan/CanvasMenu'
import { useCanvasMenu } from '@/hooks/common/useCanvasMenu'
+import { useCanvasSetting } from '@/hooks/option/useCanvasSetting'
import '@/styles/contents.scss'
export default function FloorPlan({ children }) {
- const globalLocaleState = useRecoilValue(globalLocaleStore)
- const { get } = useAxios(globalLocaleState)
const [settingModalFirstOptions, setSettingModalFirstOptions] = useRecoilState(settingModalFirstOptionsState)
const [settingModalSecondOptions, setSettingModalSecondOptions] = useRecoilState(settingModalSecondOptionsState)
const [objectNo, setObjectNo] = useState('test123240912001') // 이후 삭제 필요
- // const [menuNumber, setMenuNumber] = useState(null)
const { menuNumber, setMenuNumber } = useCanvasMenu()
+ const { fetchSettings } = useCanvasSetting()
+
const modalProps = {
menuNumber,
setMenuNumber,
}
+
useEffect(() => {
fetchSettings()
}, [objectNo])
- // Canvas Setting 조회
- const fetchSettings = async () => {
- try {
- const res = await get({ url: `/api/canvas-management/canvas-settings/by-object/${objectNo}` })
- const optionData1 = settingModalFirstOptions.option1.map((item) => ({ ...item, selected: res[item.column] }))
- const optionData2 = settingModalFirstOptions.option2.map((item) => ({ ...item, selected: res[item.column] }))
- const optionData3 = settingModalSecondOptions.option3.map((item) => ({ ...item }))
- const optionData4 = settingModalSecondOptions.option4.map((item) => ({ ...item, selected: res[item.column] }))
- const optionData5 = settingModalFirstOptions.dimensionDisplay.map((item) => ({
- ...item,
- }))
- // 데이터 설정
- setSettingModalFirstOptions({
- option1: optionData1,
- option2: optionData2,
- dimensionDisplay: optionData5,
- })
- setSettingModalSecondOptions({
- option3: optionData3,
- option4: optionData4,
- })
- } catch (error) {
- console.error('Data fetching error:', error)
- }
- }
+ useEffect(() => {
+ setMenuNumber(1)
+ }, [])
return (
<>
diff --git a/src/components/floor-plan/modal/setting01/FirstOption.jsx b/src/components/floor-plan/modal/setting01/FirstOption.jsx
index 6373d8a8..db721dd5 100644
--- a/src/components/floor-plan/modal/setting01/FirstOption.jsx
+++ b/src/components/floor-plan/modal/setting01/FirstOption.jsx
@@ -1,210 +1,216 @@
-import { useRecoilState, useRecoilValue } from 'recoil'
-import { settingModalSecondOptionsState } from '@/store/settingAtom'
-import { useMessage } from '@/hooks/useMessage'
import React, { useEffect, useState } from 'react'
-import { useAxios } from '@/hooks/useAxios'
-import { useSwal } from '@/hooks/useSwal'
-import { useFirstOption } from '@/hooks/option/useFirstOption'
-import { setSurfaceShapePattern } from '@/util/canvas-util'
-import { canvasState } from '@/store/canvasAtom'
-import { POLYGON_TYPE } from '@/common/common'
+import { useCanvasSetting } from '@/hooks/option/useCanvasSetting'
+import { useMessage } from '@/hooks/useMessage'
+
+//import { useRecoilState, useRecoilValue } from 'recoil'
+//import { settingModalSecondOptionsState } from '@/store/settingAtom'
+//import { useAxios } from '@/hooks/useAxios'
+//import { useSwal } from '@/hooks/useSwal'
+//import { setSurfaceShapePattern } from '@/util/canvas-util'
+//import { canvasState } from '@/store/canvasAtom'
+//import { POLYGON_TYPE } from '@/common/common'
export default function FirstOption() {
const [objectNo, setObjectNo] = useState('test123240912001') // 이후 삭제 필요
- const { settingModalFirstOptions, setSettingModalFirstOptions } = useFirstOption()
- const [settingModalSecondOptions, setSettingModalSecondOptions] = useRecoilState(settingModalSecondOptionsState)
- const { option1, option2, dimensionDisplay } = settingModalFirstOptions
- const { option3, option4 } = settingModalSecondOptions
+ const { settingModalFirstOptions, setSettingModalFirstOptions } = useCanvasSetting()
+ const { settingModalSecondOptions, setSettingModalSecondOptions } = useCanvasSetting()
const { getMessage } = useMessage()
- const { get, post } = useAxios()
- const { swalFire } = useSwal()
- const canvas = useRecoilValue(canvasState)
+
+ //const [settingModalSecondOptions, setSettingModalSecondOptions] = useRecoilState(settingModalSecondOptionsState)
+ //const { option1, option2, dimensionDisplay } = settingModalFirstOptions
+ //const { option3, option4 } = settingModalSecondOptions
+ //const { get, post } = useAxios()
+ //const { swalFire } = useSwal()
+ //const canvas = useRecoilValue(canvasState)
+
+ const { fetchSettings, frontSettings, onClickOption } = useCanvasSetting()
// 데이터를 최초 한 번만 조회
useEffect(() => {
console.log('FirstOption useEffect 실행')
- fetchSettings()
+ //fetchSettings()
+ //frontSettings()
}, [objectNo])
- // Canvas Setting 조회 및 초기화
- const fetchSettings = async () => {
- try {
- const res = await get({ url: `/api/canvas-management/canvas-settings/by-object/${objectNo}` })
- const optionData1 = settingModalFirstOptions.option1.map((item) => ({ ...item, selected: res[item.column] }))
- const optionData2 = settingModalFirstOptions.option2.map((item) => ({ ...item, selected: res[item.column] }))
- const optionData5 = settingModalFirstOptions.dimensionDisplay.map((item) => ({ ...item, selected: res[item.column] }))
- const optionData3 = settingModalSecondOptions.option3.map((item) => ({ ...item }))
- const optionData4 = settingModalSecondOptions.option4.map((item) => ({ ...item, selected: res[item.column] }))
+ // // Canvas Setting 조회 및 초기화
+ // const fetchSettings = async () => {
+ // try {
+ // const res = await get({ url: `/api/canvas-management/canvas-settings/by-object/${objectNo}` })
+ // const optionData1 = settingModalFirstOptions.option1.map((item) => ({ ...item, selected: res[item.column] }))
+ // const optionData2 = settingModalFirstOptions.option2.map((item) => ({ ...item, selected: res[item.column] }))
+ // const optionData5 = settingModalFirstOptions.dimensionDisplay.map((item) => ({ ...item, selected: res[item.column] }))
+ // const optionData3 = settingModalSecondOptions.option3.map((item) => ({ ...item }))
+ // const optionData4 = settingModalSecondOptions.option4.map((item) => ({ ...item, selected: res[item.column] }))
- // 데이터 설정
- setSettingModalFirstOptions({
- option1: optionData1,
- option2: optionData2,
- dimensionDisplay: optionData5,
- })
+ // // 데이터 설정
+ // setSettingModalFirstOptions({
+ // option1: optionData1,
+ // option2: optionData2,
+ // dimensionDisplay: optionData5,
+ // })
- setSettingModalSecondOptions({
- option3: optionData3,
- option4: optionData4,
- })
- } catch (error) {
- console.error('Data fetching error:', error)
- }
- }
+ // setSettingModalSecondOptions({
+ // option3: optionData3,
+ // option4: optionData4,
+ // })
+ // } catch (error) {
+ // console.error('Data fetching error:', error)
+ // }
+ // }
- const onClickOption = async (option) => {
- option.selected = !option.selected
+ // const onClickOption = async (option) => {
+ // option.selected = !option.selected
- setSettingModalFirstOptions({ option1, option2, dimensionDisplay })
- setSettingModalSecondOptions({ option3, option4 })
+ // setSettingModalFirstOptions({ option1, option2, dimensionDisplay })
+ // setSettingModalSecondOptions({ option3, option4 })
- try {
- // 서버에 전송할 데이터
- const dataToSend = {
- firstOption1: option1.map((item) => ({
- column: item.column,
- selected: item.selected,
- })),
- firstOption2: option2.map((item) => ({
- column: item.column,
- selected: item.selected,
- })),
- firstOption3: dimensionDisplay.map((item) => ({
- column: item.column,
- selected: item.selected,
- })),
- // secondOption1: secondOptions[0].option1.map((item) => ({
- // name: item.id,
- // name: item.name,
- // // 필요한 경우 데이터 항목 추가
- // })),
- secondOption2: option4.map((item) => ({
- column: item.column,
- selected: item.selected,
- })),
- }
+ // try {
+ // // 서버에 전송할 데이터
+ // const dataToSend = {
+ // firstOption1: option1.map((item) => ({
+ // column: item.column,
+ // selected: item.selected,
+ // })),
+ // firstOption2: option2.map((item) => ({
+ // column: item.column,
+ // selected: item.selected,
+ // })),
+ // firstOption3: dimensionDisplay.map((item) => ({
+ // column: item.column,
+ // selected: item.selected,
+ // })),
+ // // secondOption1: secondOptions[0].option1.map((item) => ({
+ // // name: item.id,
+ // // name: item.name,
+ // // // 필요한 경우 데이터 항목 추가
+ // // })),
+ // secondOption2: option4.map((item) => ({
+ // column: item.column,
+ // selected: item.selected,
+ // })),
+ // }
- const patternData = {
- objectNo,
- //디스플레이 설정(다중)
- allocDisplay: dataToSend.firstOption1[0].selected,
- outlineDisplay: dataToSend.firstOption1[1].selected,
- gridDisplay: dataToSend.firstOption1[2].selected,
- lineDisplay: dataToSend.firstOption1[3].selected,
- wordDisplay: dataToSend.firstOption1[4].selected,
- circuitNumDisplay: dataToSend.firstOption1[5].selected,
- flowDisplay: dataToSend.firstOption1[6].selected,
- trestleDisplay: dataToSend.firstOption1[7].selected,
- totalDisplay: dataToSend.firstOption1[8].selected,
- //차수 표시(다건)
- corridorDimension: dataToSend.firstOption3[0].selected,
- realDimension: dataToSend.firstOption3[1].selected,
- noneDimension: dataToSend.firstOption3[2].selected,
- //화면 표시(다중)
- onlyBorder: dataToSend.firstOption2[0].selected,
- lineHatch: dataToSend.firstOption2[1].selected,
- allPainted: dataToSend.firstOption2[2].selected,
- //흡착범위 설정(단건)
- adsorpRangeSmall: dataToSend.secondOption2[0].selected,
- adsorpRangeSmallSemi: dataToSend.secondOption2[1].selected,
- adsorpRangeMedium: dataToSend.secondOption2[2].selected,
- adsorpRangeLarge: dataToSend.secondOption2[3].selected,
- }
+ // const patternData = {
+ // objectNo,
+ // //디스플레이 설정(다중)
+ // allocDisplay: dataToSend.firstOption1[0].selected,
+ // outlineDisplay: dataToSend.firstOption1[1].selected,
+ // gridDisplay: dataToSend.firstOption1[2].selected,
+ // lineDisplay: dataToSend.firstOption1[3].selected,
+ // wordDisplay: dataToSend.firstOption1[4].selected,
+ // circuitNumDisplay: dataToSend.firstOption1[5].selected,
+ // flowDisplay: dataToSend.firstOption1[6].selected,
+ // trestleDisplay: dataToSend.firstOption1[7].selected,
+ // totalDisplay: dataToSend.firstOption1[8].selected,
+ // //차수 표시(다건)
+ // corridorDimension: dataToSend.firstOption3[0].selected,
+ // realDimension: dataToSend.firstOption3[1].selected,
+ // noneDimension: dataToSend.firstOption3[2].selected,
+ // //화면 표시(다중)
+ // onlyBorder: dataToSend.firstOption2[0].selected,
+ // lineHatch: dataToSend.firstOption2[1].selected,
+ // allPainted: dataToSend.firstOption2[2].selected,
+ // //흡착범위 설정(단건)
+ // adsorpRangeSmall: dataToSend.secondOption2[0].selected,
+ // adsorpRangeSmallSemi: dataToSend.secondOption2[1].selected,
+ // adsorpRangeMedium: dataToSend.secondOption2[2].selected,
+ // adsorpRangeLarge: dataToSend.secondOption2[3].selected,
+ // }
- // HTTP POST 요청 보내기
- await post({ url: `/api/canvas-management/canvas-settings`, data: patternData }).then((res) => {
- swalFire({ text: getMessage(res.returnMessage) })
- })
- } catch (error) {
- swalFire({ text: getMessage(res.returnMessage), icon: 'error' })
- }
- }
+ // // HTTP POST 요청 보내기
+ // await post({ url: `/api/canvas-management/canvas-settings`, data: patternData }).then((res) => {
+ // swalFire({ text: getMessage(res.returnMessage) })
+ // })
+ // } catch (error) {
+ // swalFire({ text: getMessage(res.returnMessage), icon: 'error' })
+ // }
+ // }
- const onClickOnlyOne = async (item) => {
- //화면 표시
- if (item.column === 'onlyBorder' || item.column === 'lineHatch' || item.column === 'allPainted') {
- const options2 = settingModalFirstOptions?.option2.map((option2) => {
- option2.selected = option2.id === item.id
- return option2
- })
+ // const onClickOnlyOne = async (item) => {
+ // //화면 표시
+ // if (item.column === 'onlyBorder' || item.column === 'lineHatch' || item.column === 'allPainted') {
+ // const options2 = settingModalFirstOptions?.option2.map((option2) => {
+ // option2.selected = option2.id === item.id
+ // return option2
+ // })
- const polygons = canvas?.getObjects().filter((obj) => obj.name === POLYGON_TYPE.ROOF)
+ // const polygons = canvas?.getObjects().filter((obj) => obj.name === POLYGON_TYPE.ROOF)
- polygons.forEach((polygon) => {
- setSurfaceShapePattern(polygon, item.column)
- })
+ // polygons.forEach((polygon) => {
+ // setSurfaceShapePattern(polygon, item.column)
+ // })
- //치수 표시
- } else {
- const options = settingModalFirstOptions?.dimensionDisplay.map((option) => {
- option.selected = option.id === item.id
- return option
- })
- }
+ // //치수 표시
+ // } else {
+ // const options = settingModalFirstOptions?.dimensionDisplay.map((option) => {
+ // option.selected = option.id === item.id
+ // return option
+ // })
+ // }
- setSettingModalFirstOptions({ option1, option2, dimensionDisplay })
+ // setSettingModalFirstOptions({ option1, option2, dimensionDisplay })
- try {
- // 서버에 전송할 데이터
- const dataToSend = {
- firstOption1: option1.map((item) => ({
- column: item.column,
- selected: item.selected,
- })),
- firstOption2: option2.map((item) => ({
- column: item.column,
- selected: item.selected,
- })),
- firstOption3: dimensionDisplay.map((item) => ({
- column: item.column,
- selected: item.selected,
- })),
- // secondOption1: secondOptions[0].option1.map((item) => ({
- // name: item.id,
- // name: item.name,
- // // 필요한 경우 데이터 항목 추가
- // })),
- secondOption2: option4.map((item) => ({
- column: item.column,
- selected: item.selected,
- })),
- }
+ // try {
+ // // 서버에 전송할 데이터
+ // const dataToSend = {
+ // firstOption1: option1.map((item) => ({
+ // column: item.column,
+ // selected: item.selected,
+ // })),
+ // firstOption2: option2.map((item) => ({
+ // column: item.column,
+ // selected: item.selected,
+ // })),
+ // firstOption3: dimensionDisplay.map((item) => ({
+ // column: item.column,
+ // selected: item.selected,
+ // })),
+ // // secondOption1: secondOptions[0].option1.map((item) => ({
+ // // name: item.id,
+ // // name: item.name,
+ // // // 필요한 경우 데이터 항목 추가
+ // // })),
+ // secondOption2: option4.map((item) => ({
+ // column: item.column,
+ // selected: item.selected,
+ // })),
+ // }
- const patternData = {
- objectNo,
- //디스플레이 설정(다중)
- allocDisplay: dataToSend.firstOption1[0].selected,
- outlineDisplay: dataToSend.firstOption1[1].selected,
- gridDisplay: dataToSend.firstOption1[2].selected,
- lineDisplay: dataToSend.firstOption1[3].selected,
- wordDisplay: dataToSend.firstOption1[4].selected,
- circuitNumDisplay: dataToSend.firstOption1[5].selected,
- flowDisplay: dataToSend.firstOption1[6].selected,
- trestleDisplay: dataToSend.firstOption1[7].selected,
- totalDisplay: dataToSend.firstOption1[8].selected,
- //차수 표시(다건)
- corridorDimension: dataToSend.firstOption3[0].selected,
- realDimension: dataToSend.firstOption3[1].selected,
- noneDimension: dataToSend.firstOption3[2].selected,
- //화면 표시(다중)
- onlyBorder: dataToSend.firstOption2[0].selected,
- lineHatch: dataToSend.firstOption2[1].selected,
- allPainted: dataToSend.firstOption2[2].selected,
- //흡착범위 설정(단건)
- adsorpRangeSmall: dataToSend.secondOption2[0].selected,
- adsorpRangeSmallSemi: dataToSend.secondOption2[1].selected,
- adsorpRangeMedium: dataToSend.secondOption2[2].selected,
- adsorpRangeLarge: dataToSend.secondOption2[3].selected,
- }
+ // const patternData = {
+ // objectNo,
+ // //디스플레이 설정(다중)
+ // allocDisplay: dataToSend.firstOption1[0].selected,
+ // outlineDisplay: dataToSend.firstOption1[1].selected,
+ // gridDisplay: dataToSend.firstOption1[2].selected,
+ // lineDisplay: dataToSend.firstOption1[3].selected,
+ // wordDisplay: dataToSend.firstOption1[4].selected,
+ // circuitNumDisplay: dataToSend.firstOption1[5].selected,
+ // flowDisplay: dataToSend.firstOption1[6].selected,
+ // trestleDisplay: dataToSend.firstOption1[7].selected,
+ // totalDisplay: dataToSend.firstOption1[8].selected,
+ // //차수 표시(다건)
+ // corridorDimension: dataToSend.firstOption3[0].selected,
+ // realDimension: dataToSend.firstOption3[1].selected,
+ // noneDimension: dataToSend.firstOption3[2].selected,
+ // //화면 표시(다중)
+ // onlyBorder: dataToSend.firstOption2[0].selected,
+ // lineHatch: dataToSend.firstOption2[1].selected,
+ // allPainted: dataToSend.firstOption2[2].selected,
+ // //흡착범위 설정(단건)
+ // adsorpRangeSmall: dataToSend.secondOption2[0].selected,
+ // adsorpRangeSmallSemi: dataToSend.secondOption2[1].selected,
+ // adsorpRangeMedium: dataToSend.secondOption2[2].selected,
+ // adsorpRangeLarge: dataToSend.secondOption2[3].selected,
+ // }
- // HTTP POST 요청 보내기
- await post({ url: `/api/canvas-management/canvas-settings`, data: patternData }).then((res) => {
- swalFire({ text: getMessage(res.returnMessage) })
- })
- } catch (error) {
- swalFire({ text: getMessage(res.returnMessage), icon: 'error' })
- }
- }
+ // // HTTP POST 요청 보내기
+ // await post({ url: `/api/canvas-management/canvas-settings`, data: patternData }).then((res) => {
+ // swalFire({ text: getMessage(res.returnMessage) })
+ // })
+ // } catch (error) {
+ // swalFire({ text: getMessage(res.returnMessage), icon: 'error' })
+ // }
+ // }
return (
<>
@@ -225,7 +231,7 @@ export default function FirstOption() {
{settingModalFirstOptions &&
settingModalFirstOptions.dimensionDisplay.map((item) => (
-