From 6f75e25fb98fd1134a1e089c97eaeb5a22180798 Mon Sep 17 00:00:00 2001 From: minsik Date: Thu, 24 Oct 2024 17:55:58 +0900 Subject: [PATCH] =?UTF-8?q?-=20=EB=B3=B4=EC=A1=B0=EC=84=A0=20=EB=B3=B5?= =?UTF-8?q?=EC=82=AC=20=EC=B6=94=EA=B0=80=20-=20=EC=B9=98=EC=88=98?= =?UTF-8?q?=EC=84=A0=20=EC=84=A4=EC=A0=95=20=EC=B6=94=EA=B0=80=20-=20?= =?UTF-8?q?=EA=B1=B0=EB=A6=AC=20=EC=B8=A1=EC=A0=95=20=EC=B6=94=EA=B0=80=20?= =?UTF-8?q?-=20=EB=8F=84=EB=A8=B8=20=EC=98=A4=ED=94=84=EC=85=8B=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=20-=20=ED=9D=90=EB=A6=84=20=EB=B0=A9?= =?UTF-8?q?=ED=96=A5=20=EC=84=A4=EC=A0=95=20=EC=B6=94=EA=B0=80=20-=20?= =?UTF-8?q?=EC=84=A0=20=EC=86=8D=EC=84=B1=20=EC=84=A4=EC=A0=95=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20-=20=EC=A7=80=EB=B6=95=EC=9E=AC=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95=20=EC=B6=94=EA=B0=80=20-=20=EB=8F=84=EB=A8=B8=20?= =?UTF-8?q?=ED=81=AC=EA=B8=B0=20=EB=B3=80=EA=B2=BD=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modal/auxiliary/AuxiliaryCopy.jsx | 55 +++++++ .../dimensionLine/DimensionLineSetting.jsx | 74 +++++++++ .../floor-plan/modal/distance/Distance.jsx | 67 ++++++++ .../flowDirection/FlowDirectionSetting.jsx | 150 ++++++++++++++++++ .../lineProperty/LinePropertySetting.jsx | 104 ++++++++++++ .../floor-plan/modal/object/DormerOffset.jsx | 55 +++++++ .../modal/object/RoofMaterialSetting.jsx | 45 ++++++ .../floor-plan/modal/object/SizeSetting.jsx | 71 +++++++++ 8 files changed, 621 insertions(+) create mode 100644 src/components/floor-plan/modal/auxiliary/AuxiliaryCopy.jsx create mode 100644 src/components/floor-plan/modal/dimensionLine/DimensionLineSetting.jsx create mode 100644 src/components/floor-plan/modal/distance/Distance.jsx create mode 100644 src/components/floor-plan/modal/flowDirection/FlowDirectionSetting.jsx create mode 100644 src/components/floor-plan/modal/lineProperty/LinePropertySetting.jsx create mode 100644 src/components/floor-plan/modal/object/DormerOffset.jsx create mode 100644 src/components/floor-plan/modal/object/RoofMaterialSetting.jsx create mode 100644 src/components/floor-plan/modal/object/SizeSetting.jsx diff --git a/src/components/floor-plan/modal/auxiliary/AuxiliaryCopy.jsx b/src/components/floor-plan/modal/auxiliary/AuxiliaryCopy.jsx new file mode 100644 index 00000000..b88d7a3b --- /dev/null +++ b/src/components/floor-plan/modal/auxiliary/AuxiliaryCopy.jsx @@ -0,0 +1,55 @@ +import { useMessage } from '@/hooks/useMessage' +import WithDraggable from '@/components/common/draggable/WithDraggable' +import { usePopup } from '@/hooks/usePopup' +import { useRecoilValue } from 'recoil' +import { contextPopupPositionState } from '@/store/popupAtom' + +export default function AuxiliaryCopy(props) { + const contextPopupPosition = useRecoilValue(contextPopupPositionState) + const { id, pos = contextPopupPosition } = props + const { getMessage } = useMessage() + const { closePopup } = usePopup() + return ( + +
+
+

補助線のコピー

+ +
+
+
コピーする方向を入力してください
+
+
+
+

長さ

+
+
+ +
+ mm +
+
+
+ +
+ mm +
+
+
+ + + + +
+
+
+
+ +
+
+
+
+ ) +} diff --git a/src/components/floor-plan/modal/dimensionLine/DimensionLineSetting.jsx b/src/components/floor-plan/modal/dimensionLine/DimensionLineSetting.jsx new file mode 100644 index 00000000..57fe3364 --- /dev/null +++ b/src/components/floor-plan/modal/dimensionLine/DimensionLineSetting.jsx @@ -0,0 +1,74 @@ +import WithDraggable from '@/components/common/draggable/WithDraggable' +import { usePopup } from '@/hooks/usePopup' +import { useMessage } from '@/hooks/useMessage' +import { useRecoilValue } from 'recoil' +import { contextPopupPositionState } from '@/store/popupAtom' +import QSelectBox from '@/components/common/select/QSelectBox' + +export default function DimensionLineSetting(props) { + const contextPopupPosition = useRecoilValue(contextPopupPositionState) + const { id, setIsShow, pos = contextPopupPosition } = props + const { getMessage } = useMessage() + const { closePopup } = usePopup() + const SelectOption01 = [{ name: '0' }, { name: '0' }, { name: '0' }, { name: '0' }] + return ( + +
+
+

表示の変更

+ +
+
+
寸法線に表示する数値を入力してください
+
+
+
+ 既存の長さ +
+ +
+
+
+
+ 変更の長さ +
+ +
+
+
+
+ + +
+
+
+
+
傾斜を着せてください。
+
+
+ 傾斜 +
+ +
+ 寸法 +
+
+ 傾斜 +
+ +
+ 寸法 +
+
+
傾き設定されている場合、入力した数値に傾き計算をした数値が表示されます。
+
+
+ +
+
+
+
+ ) +} diff --git a/src/components/floor-plan/modal/distance/Distance.jsx b/src/components/floor-plan/modal/distance/Distance.jsx new file mode 100644 index 00000000..06a7a483 --- /dev/null +++ b/src/components/floor-plan/modal/distance/Distance.jsx @@ -0,0 +1,67 @@ +import WithDraggable from '@/components/common/draggable/withDraggable' +import { useMessage } from '@/hooks/useMessage' +import { usePopup } from '@/hooks/usePopup' +import { useRecoilValue } from 'recoil' +import { contextPopupPositionState } from '@/store/popupAtom' + +export default function Distance(props) { + const contextPopupPosition = useRecoilValue(contextPopupPositionState) + const { id, pos = contextPopupPosition, distance } = props + const { getMessage } = useMessage() + const { closePopup } = usePopup() + + return ( + +
+
+

距離測定

+ +
+
+
+
+
+
2点間距離
+
+
+
+ +
+ mm +
+
+
+
+
水平距離
+
+
+
+ +
+ mm +
+
+
+
+
垂直距離
+
+
+
+ +
+ mm +
+
+
+
+
+
+ +
+
+
+
+ ) +} diff --git a/src/components/floor-plan/modal/flowDirection/FlowDirectionSetting.jsx b/src/components/floor-plan/modal/flowDirection/FlowDirectionSetting.jsx new file mode 100644 index 00000000..ff749a6f --- /dev/null +++ b/src/components/floor-plan/modal/flowDirection/FlowDirectionSetting.jsx @@ -0,0 +1,150 @@ +import WithDraggable from '@/components/common/draggable/withDraggable' +import { useState } from 'react' +import QSelectBox from '@/components/common/select/QSelectBox' +import { useRecoilValue } from 'recoil' +import { contextPopupPositionState } from '@/store/popupAtom' +import { useMessage } from '@/hooks/useMessage' +import { usePopup } from '@/hooks/usePopup' + +const SelectOption01 = [{ name: 'M' }, { name: 'M' }, { name: 'M' }, { name: 'M' }] + +export default function FlowDirectionSetting(props) { + const contextPopupPosition = useRecoilValue(contextPopupPositionState) + const { id, pos = contextPopupPosition } = props + const { getMessage } = useMessage() + const { closePopup } = usePopup() + const [compasDeg, setCompasDeg] = useState(0) + return ( + +
+
+

面フローの設定

+ +
+
+
+
+
流れ方向の設定
+
流れ方向を選択してください。
+
+
+ + ドン + + 立つ + + + + +
+
+
+
+
方位設定
+
シミュレーション計算の方向を指定します。面が向いている方位を選択してください。
+
+
+ + +
+
+ +
+
+
+
+ + +
+
+
+
+
setCompasDeg(180)}> + 13 +
+
setCompasDeg(195)}> + 12 +
+
setCompasDeg(210)}> + 11 +
+
setCompasDeg(225)}> + 10 +
+
setCompasDeg(240)}> + 9 +
+
setCompasDeg(255)}> + 8 +
+
setCompasDeg(270)}> + 7 +
+
setCompasDeg(285)}> + 6 +
+
setCompasDeg(300)}> + 5 +
+
setCompasDeg(315)}> + 4 +
+
setCompasDeg(330)}> + 3 +
+
setCompasDeg(345)}> + 2 +
+
setCompasDeg(0)}> + 1 +
+
setCompasDeg(15)}> + 24 +
+
setCompasDeg(30)}> + 23 +
+
setCompasDeg(45)}> + 22 +
+
setCompasDeg(60)}> + 21 +
+
setCompasDeg(75)}> + 20 +
+
setCompasDeg(90)}> + 19 +
+
setCompasDeg(105)}> + 18 +
+
setCompasDeg(120)}> + 17 +
+
setCompasDeg(135)}> + 16 +
+
setCompasDeg(150)}> + 15 +
+
setCompasDeg(165)}> + 14 +
+
+
+
+
+
+
+
+
+ +
+
+
+
+ ) +} diff --git a/src/components/floor-plan/modal/lineProperty/LinePropertySetting.jsx b/src/components/floor-plan/modal/lineProperty/LinePropertySetting.jsx new file mode 100644 index 00000000..16871a19 --- /dev/null +++ b/src/components/floor-plan/modal/lineProperty/LinePropertySetting.jsx @@ -0,0 +1,104 @@ +import WithDraggable from '@/components/common/draggable/withDraggable' +import { useRecoilValue } from 'recoil' +import { contextPopupPositionState } from '@/store/popupAtom' +import { useMessage } from '@/hooks/useMessage' +import { usePopup } from '@/hooks/usePopup' + +export default function LinePropertySetting(props) { + const contextPopupPosition = useRecoilValue(contextPopupPositionState) + const { id, pos = contextPopupPosition } = props + const { getMessage } = useMessage() + const { closePopup } = usePopup() + return ( + +
+
+

各辺属性の変更

+ +
+
+
+ 属性を変更する辺を選択してください。 + 選択した値 [龍丸] +
+
+
設定
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+
+ +
+
+
+
+ ) +} diff --git a/src/components/floor-plan/modal/object/DormerOffset.jsx b/src/components/floor-plan/modal/object/DormerOffset.jsx new file mode 100644 index 00000000..442e92df --- /dev/null +++ b/src/components/floor-plan/modal/object/DormerOffset.jsx @@ -0,0 +1,55 @@ +import { useMessage } from '@/hooks/useMessage' +import WithDraggable from '@/components/common/draggable/WithDraggable' +import { useRecoilValue } from 'recoil' +import { contextPopupPositionState } from '@/store/popupAtom' +import { usePopup } from '@/hooks/usePopup' + +export default function DormerOffset(props) { + const contextPopupPosition = useRecoilValue(contextPopupPositionState) + const { id, pos = contextPopupPosition } = props + const { getMessage } = useMessage() + const { closePopup } = usePopup() + return ( + +
+
+

도머 오프셋

+ +
+
+
移動する方向を入力してください
+
+
+
+

長さ

+
+
+ +
+ mm +
+
+
+ +
+ mm +
+
+
+ + + + +
+
+
+
+ +
+
+
+
+ ) +} diff --git a/src/components/floor-plan/modal/object/RoofMaterialSetting.jsx b/src/components/floor-plan/modal/object/RoofMaterialSetting.jsx new file mode 100644 index 00000000..01d6f773 --- /dev/null +++ b/src/components/floor-plan/modal/object/RoofMaterialSetting.jsx @@ -0,0 +1,45 @@ +'use client' + +import { useRecoilValue } from 'recoil' +import { useMessage } from '@/hooks/useMessage' +import WithDraggable from '@/components/common/draggable/WithDraggable' +import { usePopup } from '@/hooks/usePopup' +import { contextPopupPositionState } from '@/store/popupAtom' +import QSelectBox from '@/components/common/select/QSelectBox' + +export default function RoofMaterialSetting(props) { + const contextPopupPosition = useRecoilValue(contextPopupPositionState) + const { id, pos = contextPopupPosition } = props + const { getMessage } = useMessage() + const { closePopup } = usePopup() + const roofMaterials = [ + { name: '기와1', value: 'material1' }, + { name: '기와2', value: 'material2' }, + { name: '기와3', value: 'material3' }, + { name: '기와4', value: 'material4' }, + { name: '기와5', value: 'material5' }, + ] + + return ( + +
+
+

変更

+ +
+
+
+
+ +
+
+
+ +
+
+
+
+ ) +} diff --git a/src/components/floor-plan/modal/object/SizeSetting.jsx b/src/components/floor-plan/modal/object/SizeSetting.jsx new file mode 100644 index 00000000..ca7d4773 --- /dev/null +++ b/src/components/floor-plan/modal/object/SizeSetting.jsx @@ -0,0 +1,71 @@ +'use client' + +import { useRecoilValue } from 'recoil' +import { useMessage } from '@/hooks/useMessage' +import { canvasState } from '@/store/canvasAtom' +import WithDraggable from '@/components/common/draggable/WithDraggable' +import { usePopup } from '@/hooks/usePopup' +import { contextPopupPositionState } from '@/store/popupAtom' +import { useState } from 'react' + +export default function SizeSetting(props) { + const contextPopupPosition = useRecoilValue(contextPopupPositionState) + const [settingTarget, setSettingTarget] = useState(1) + const { id, pos = contextPopupPosition } = props + const { getMessage } = useMessage() + const canvas = useRecoilValue(canvasState) + const { closePopup } = usePopup() + + return ( + +
+
+

サイズ変更

+ +
+
+
+
+
+
+ + mm +
+
+ + mm +
+
+
+
+
+
+
+ + mm +
+
+ + mm +
+
+
+
+ + + + +
+
+
+
+
+ +
+
+
+
+ ) +}