From f589ef74afdcd2ff90b3701f9b19fe0fc1d455b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=B0=BD=EC=88=98?= Date: Thu, 10 Oct 2024 14:29:05 +0900 Subject: [PATCH] =?UTF-8?q?context=20menu=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/canvas/page.jsx | 6 +- src/components/canvas/CanvasContextMenu.jsx | 22 ++++ src/styles/_canvasside.scss | 106 ++++++++++++++++++++ src/styles/_contents.scss | 80 --------------- src/styles/contents.scss | 3 +- 5 files changed, 135 insertions(+), 82 deletions(-) create mode 100644 src/components/canvas/CanvasContextMenu.jsx create mode 100644 src/styles/_canvasside.scss diff --git a/src/app/canvas/page.jsx b/src/app/canvas/page.jsx index e56e895..da62fdb 100644 --- a/src/app/canvas/page.jsx +++ b/src/app/canvas/page.jsx @@ -54,6 +54,7 @@ import AdditionalColumnDelete from '@/components/canvas/modal/additionalfunction import AdditionalColumnEdit from '@/components/canvas/modal/additionalfunction/moduleadditional/AdditionalColumnEdit' import AdditionalBundleDelete from '@/components/canvas/modal/additionalfunction/moduleadditional/AdditionalBundleDelete' import AdditionalBundleEdit from '@/components/canvas/modal/additionalfunction/moduleadditional/AdditionalBundleEdit' +import CanvasContextMenu from '@/components/canvas/CanvasContextMenu' export default function CanvasPage() { const modalOption = useRecoilValue(modalState); @@ -67,6 +68,9 @@ export default function CanvasPage() {
+ {/* 우클릭 context menu */} + + {/* 패널 배치 집계 */} {/* */} {/* */} @@ -169,7 +173,7 @@ export default function CanvasPage() { {/* */} {/* */} {/* */} - + {/* */} diff --git a/src/components/canvas/CanvasContextMenu.jsx b/src/components/canvas/CanvasContextMenu.jsx new file mode 100644 index 0000000..caaebd6 --- /dev/null +++ b/src/components/canvas/CanvasContextMenu.jsx @@ -0,0 +1,22 @@ +export default function CanvasContextMenu() { + return( +
+
    +
  • 屋根材の配置
  • +
  • 屋根材の削除
  • +
  • 材全体を削除
  • +
  • 選択∙移動
  • +
  • 外壁の削除
  • +
+
    +
  • サイズ変更
  • +
  • 補助線移動(M)
  • +
  • 補助線のコピー(C)
  • +
  • 補助線削除(D)
  • +
  • 線垂直二等分線
  • +
  • 補助線切削
  • +
  • 補助線全体を削除
  • +
+
+ ) +} \ No newline at end of file diff --git a/src/styles/_canvasside.scss b/src/styles/_canvasside.scss new file mode 100644 index 0000000..66bba83 --- /dev/null +++ b/src/styles/_canvasside.scss @@ -0,0 +1,106 @@ +// 패널 배치 집계 +.penal-wrap{ + position: fixed; + top: 200px; + left: 50px; + z-index: 999999; + width: 237px; + height: 40px; + line-height: 40px; + background-color: #fff; + border: 1px solid #DFDFDF; + padding: 0 34px 0 10px; + border-radius: 2px; + box-shadow: 0px 7px 14px 0px rgba(0, 0, 0, 0.05); + cursor: pointer; + &::before{ + content: ''; + position: absolute; + top: 50%; + right: 12px; + transform: translateY(-50%); + width: 10px; + height: 6px; + background: url(../../public/static/images/canvas/penal_arr.svg)no-repeat center; + background-size: cover; + } + h2{ + font-size: 12px; + font-weight: 500; + color: #3D3D3D; + } + .penal-table-wrap{ + display: none; + position: absolute; + top: 100%; + left: -1px; + min-width: calc(100% + 2px); + background-color: #3D3D3D; + border: 1px solid #3D3D3D; + padding: 20px; + .penal-table{ + table-layout: fixed; + border-collapse: collapse; + thead{ + th{ + text-align: center; + background-color:rgba(255, 255, 255, 0.05); + font-size: 12px; + font-weight: 500; + color: #fff; + border: 1px solid #505050; + } + } + tbody{ + td{ + font-size: 12px; + color: #fff; + font-weight: 400; + text-align: center; + padding: 0 10px; + border: 1px solid #505050; + } + } + } + } + &.act{ + border: 1px solid #3D3D3D; + background-color: #3D3D3D; + h2{ + color: #fff; + } + &::before{ + background: url(../../public/static/images/canvas/penal_arr_white.svg)no-repeat center; + } + .penal-table-wrap{ + display: block; + } + } +} + +// context menu +.context-menu-wrap{ + min-width: 238px; + border-radius: 4px; + border: 1px solid #E9E9E9; + background: #FFF; + box-shadow: 0px 6px 14px 0px rgba(0, 0, 0, 0.05); + ul{ + padding: 17px 0; + border-bottom: 1px solid #E9E9E9; + &:last-child{ + border: none; + } + li{ + padding: 4px 30px; + cursor: pointer; + font-size: 12px; + font-weight: 400; + color: #101010; + &:hover{ + color: #fff; + background-color: #0D99FF; + } + } + } +} \ No newline at end of file diff --git a/src/styles/_contents.scss b/src/styles/_contents.scss index 3f3580b..7e087a8 100644 --- a/src/styles/_contents.scss +++ b/src/styles/_contents.scss @@ -850,83 +850,3 @@ } } -// 패널 배치 집계 - -.penal-wrap{ - position: fixed; - top: 200px; - left: 50px; - z-index: 999999; - width: 237px; - height: 40px; - line-height: 40px; - background-color: #fff; - border: 1px solid #DFDFDF; - padding: 0 34px 0 10px; - border-radius: 2px; - box-shadow: 0px 7px 14px 0px rgba(0, 0, 0, 0.05); - cursor: pointer; - &::before{ - content: ''; - position: absolute; - top: 50%; - right: 12px; - transform: translateY(-50%); - width: 10px; - height: 6px; - background: url(../../public/static/images/canvas/penal_arr.svg)no-repeat center; - background-size: cover; - } - h2{ - font-size: 12px; - font-weight: 500; - color: #3D3D3D; - } - .penal-table-wrap{ - display: none; - position: absolute; - top: 100%; - left: -1px; - min-width: calc(100% + 2px); - background-color: #3D3D3D; - border: 1px solid #3D3D3D; - padding: 20px; - .penal-table{ - table-layout: fixed; - border-collapse: collapse; - thead{ - th{ - text-align: center; - background-color:rgba(255, 255, 255, 0.05); - font-size: 12px; - font-weight: 500; - color: #fff; - border: 1px solid #505050; - } - } - tbody{ - td{ - font-size: 12px; - color: #fff; - font-weight: 400; - text-align: center; - padding: 0 10px; - border: 1px solid #505050; - } - } - } - } - &.act{ - border: 1px solid #3D3D3D; - background-color: #3D3D3D; - h2{ - color: #fff; - } - &::before{ - background: url(../../public/static/images/canvas/penal_arr_white.svg)no-repeat center; - } - .penal-table-wrap{ - display: block; - } - } -} \ No newline at end of file diff --git a/src/styles/contents.scss b/src/styles/contents.scss index 3e82124..38e7ff8 100644 --- a/src/styles/contents.scss +++ b/src/styles/contents.scss @@ -1,3 +1,4 @@ @import '_contents.scss'; @import '_modal.scss'; -@import '_table.scss'; \ No newline at end of file +@import '_table.scss'; +@import '_canvasside.scss'; \ No newline at end of file