@byeolnaerim/flex-layout 0.0.6 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/flex-layout/components/FlexLayout.cjs +76 -0
- package/dist/flex-layout/components/FlexLayout.cjs.map +1 -0
- package/dist/flex-layout/components/FlexLayout.js +70 -0
- package/dist/flex-layout/components/FlexLayout.js.map +1 -0
- package/dist/flex-layout/components/FlexLayoutContainer.cjs +196 -0
- package/dist/flex-layout/components/FlexLayoutContainer.cjs.map +1 -0
- package/dist/flex-layout/components/FlexLayoutContainer.js +189 -0
- package/dist/flex-layout/components/FlexLayoutContainer.js.map +1 -0
- package/dist/flex-layout/components/FlexLayoutResizePanel.cjs +192 -0
- package/dist/flex-layout/components/FlexLayoutResizePanel.cjs.map +1 -0
- package/dist/flex-layout/components/FlexLayoutResizePanel.js +186 -0
- package/dist/flex-layout/components/FlexLayoutResizePanel.js.map +1 -0
- package/dist/flex-layout/components/FlexLayoutSplitScreen.cjs +1211 -0
- package/dist/flex-layout/components/FlexLayoutSplitScreen.cjs.map +1 -0
- package/dist/flex-layout/components/FlexLayoutSplitScreen.js +1197 -0
- package/dist/flex-layout/components/FlexLayoutSplitScreen.js.map +1 -0
- package/dist/flex-layout/components/FlexLayoutSplitScreenDragBox.cjs +339 -0
- package/dist/flex-layout/components/FlexLayoutSplitScreenDragBox.cjs.map +1 -0
- package/dist/flex-layout/components/FlexLayoutSplitScreenDragBox.js +333 -0
- package/dist/flex-layout/components/FlexLayoutSplitScreenDragBox.js.map +1 -0
- package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxContainer.cjs +32 -0
- package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxContainer.cjs.map +1 -0
- package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxContainer.js +25 -0
- package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxContainer.js.map +1 -0
- package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxItem.cjs +40 -0
- package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxItem.cjs.map +1 -0
- package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxItem.d.ts +2 -2
- package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxItem.js +34 -0
- package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxItem.js.map +1 -0
- package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxTitleMore.cjs +30 -0
- package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxTitleMore.cjs.map +1 -0
- package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxTitleMore.d.ts +2 -1
- package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxTitleMore.js +24 -0
- package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxTitleMore.js.map +1 -0
- package/dist/flex-layout/components/FlexLayoutSplitScreenScrollBox.cjs +109 -0
- package/dist/flex-layout/components/FlexLayoutSplitScreenScrollBox.cjs.map +1 -0
- package/dist/flex-layout/components/FlexLayoutSplitScreenScrollBox.js +103 -0
- package/dist/flex-layout/components/FlexLayoutSplitScreenScrollBox.js.map +1 -0
- package/dist/flex-layout/components/FlexLayoutStickyBox.cjs +226 -0
- package/dist/flex-layout/components/FlexLayoutStickyBox.cjs.map +1 -0
- package/dist/flex-layout/components/FlexLayoutStickyBox.d.ts +6 -6
- package/dist/flex-layout/components/FlexLayoutStickyBox.js +224 -0
- package/dist/flex-layout/components/FlexLayoutStickyBox.js.map +1 -0
- package/dist/flex-layout/components/index.cjs +52 -0
- package/dist/flex-layout/components/index.cjs.map +1 -0
- package/dist/flex-layout/components/index.js +9 -0
- package/dist/flex-layout/components/index.js.map +1 -0
- package/dist/flex-layout/hooks/index.cjs +21 -0
- package/dist/flex-layout/hooks/index.cjs.map +1 -0
- package/dist/flex-layout/hooks/index.js +4 -0
- package/dist/flex-layout/hooks/index.js.map +1 -0
- package/dist/{hooks.cjs → flex-layout/hooks/useDrag.cjs} +15 -208
- package/dist/flex-layout/hooks/useDrag.cjs.map +1 -0
- package/dist/flex-layout/hooks/useDrag.d.ts +4 -4
- package/dist/{hooks.js → flex-layout/hooks/useDrag.js} +13 -203
- package/dist/flex-layout/hooks/useDrag.js.map +1 -0
- package/dist/flex-layout/hooks/useFlexLayoutSplitScreen.cjs +118 -0
- package/dist/flex-layout/hooks/useFlexLayoutSplitScreen.cjs.map +1 -0
- package/dist/flex-layout/hooks/useFlexLayoutSplitScreen.js +116 -0
- package/dist/flex-layout/hooks/useFlexLayoutSplitScreen.js.map +1 -0
- package/dist/flex-layout/hooks/useListPaging.cjs +179 -0
- package/dist/flex-layout/hooks/useListPaging.cjs.map +1 -0
- package/dist/flex-layout/hooks/useListPaging.js +175 -0
- package/dist/flex-layout/hooks/useListPaging.js.map +1 -0
- package/dist/flex-layout/hooks/useSizes.cjs +104 -0
- package/dist/flex-layout/hooks/useSizes.cjs.map +1 -0
- package/dist/flex-layout/hooks/useSizes.js +101 -0
- package/dist/flex-layout/hooks/useSizes.js.map +1 -0
- package/dist/flex-layout/index.cjs +42 -0
- package/dist/flex-layout/index.cjs.map +1 -0
- package/dist/flex-layout/index.js +7 -0
- package/dist/flex-layout/index.js.map +1 -0
- package/dist/flex-layout/providers/FlexLayoutContext.cjs +26 -0
- package/dist/flex-layout/providers/FlexLayoutContext.cjs.map +1 -0
- package/dist/flex-layout/providers/FlexLayoutContext.d.ts +2 -1
- package/dist/flex-layout/providers/FlexLayoutContext.js +23 -0
- package/dist/flex-layout/providers/FlexLayoutContext.js.map +1 -0
- package/dist/{providers.cjs → flex-layout/providers/FlexLayoutHooks.cjs} +22 -186
- package/dist/flex-layout/providers/FlexLayoutHooks.cjs.map +1 -0
- package/dist/{providers.js → flex-layout/providers/FlexLayoutHooks.js} +14 -178
- package/dist/flex-layout/providers/FlexLayoutHooks.js.map +1 -0
- package/dist/flex-layout/providers/index.cjs +14 -0
- package/dist/flex-layout/providers/index.cjs.map +1 -0
- package/dist/flex-layout/providers/index.js +3 -0
- package/dist/flex-layout/providers/index.js.map +1 -0
- package/dist/{store.cjs → flex-layout/store/FlexLayoutContainerStore.cjs} +20 -21
- package/dist/flex-layout/store/FlexLayoutContainerStore.cjs.map +1 -0
- package/dist/flex-layout/store/FlexLayoutContainerStore.d.ts +2 -2
- package/dist/{store.js → flex-layout/store/FlexLayoutContainerStore.js} +20 -21
- package/dist/flex-layout/store/FlexLayoutContainerStore.js.map +1 -0
- package/dist/flex-layout/store/index.cjs +14 -0
- package/dist/flex-layout/store/index.cjs.map +1 -0
- package/dist/flex-layout/store/index.js +3 -0
- package/dist/flex-layout/store/index.js.map +1 -0
- package/dist/flex-layout/types/FlexDirectionTypes.cjs +4 -0
- package/dist/flex-layout/types/FlexDirectionTypes.cjs.map +1 -0
- package/dist/flex-layout/types/FlexDirectionTypes.js +3 -0
- package/dist/flex-layout/types/FlexDirectionTypes.js.map +1 -0
- package/dist/flex-layout/types/FlexLayoutTypes.cjs +4 -0
- package/dist/flex-layout/types/FlexLayoutTypes.cjs.map +1 -0
- package/dist/flex-layout/types/FlexLayoutTypes.d.ts +3 -3
- package/dist/flex-layout/types/FlexLayoutTypes.js +3 -0
- package/dist/flex-layout/types/FlexLayoutTypes.js.map +1 -0
- package/dist/{utils.cjs → flex-layout/utils/FlexLayoutUtils.cjs} +3 -4
- package/dist/flex-layout/utils/FlexLayoutUtils.cjs.map +1 -0
- package/dist/{utils.js → flex-layout/utils/FlexLayoutUtils.js} +3 -4
- package/dist/flex-layout/utils/FlexLayoutUtils.js.map +1 -0
- package/dist/flex-layout/utils/index.cjs +14 -0
- package/dist/flex-layout/utils/index.cjs.map +1 -0
- package/dist/flex-layout/utils/index.js +3 -0
- package/dist/flex-layout/utils/index.js.map +1 -0
- package/dist/index.cjs +7 -3451
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1 -3396
- package/dist/index.js.map +1 -1
- package/dist/types/css.d.cjs +4 -0
- package/dist/types/css.d.cjs.map +1 -0
- package/dist/types/css.d.js +3 -0
- package/dist/types/css.d.js.map +1 -0
- package/package.json +31 -2
- package/dist/components.cjs +0 -3042
- package/dist/components.cjs.map +0 -1
- package/dist/components.css +0 -471
- package/dist/components.css.map +0 -1
- package/dist/components.js +0 -3029
- package/dist/components.js.map +0 -1
- package/dist/hooks.cjs.map +0 -1
- package/dist/hooks.js.map +0 -1
- package/dist/index.css +0 -471
- package/dist/index.css.map +0 -1
- package/dist/providers.cjs.map +0 -1
- package/dist/providers.js.map +0 -1
- package/dist/store.cjs.map +0 -1
- package/dist/store.js.map +0 -1
- package/dist/utils.cjs.map +0 -1
- package/dist/utils.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/flex-layout/components/FlexLayoutSplitScreen.tsx"],"names":["cloneElement","dropMovementEventSubject","useFlexLayoutSplitScreen","useEffect","resetRootSplitScreen","getSplitScreen","setSplitScreen","distinctUntilChanged","children","equal","getCurrentSplitScreenComponents","navigationTitle","dropDocumentOutsideOption","jsxs","styles","FlexLayout","jsx","Fragment","screenKey","FlexLayoutContainer","FlexLayoutSplitScreenScrollBox","useState","useRef","take","removeSplitScreenChild","FlexLayoutSplitScreenDragBoxContainer","FlexLayoutSplitScreenDragBoxItem","FlexLayoutSplitScreenDragBox","FlexLayoutSplitScreenDragBoxTitleMore"],"mappings":"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","file":"FlexLayoutSplitScreen.cjs","sourcesContent":["\"use client\";\r\nimport {\r\n\tcloneElement,\r\n\tReactElement,\r\n\tRefObject,\r\n\tuseEffect,\r\n\tuseRef,\r\n\tuseState,\r\n} from \"react\";\r\nimport {\r\n\tdropMovementEventSubject,\r\n\tDropPositionOrderName,\r\n\tDropTargetComponent,\r\n} from \"../hooks/useDrag\";\r\nimport { useFlexLayoutSplitScreen } from \"../hooks/useFlexLayoutSplitScreen\";\r\nimport {\r\n\tgetCurrentSplitScreenComponents,\r\n\tgetSplitScreen,\r\n\tremoveSplitScreenChild,\r\n\tresetRootSplitScreen,\r\n\tsetSplitScreen,\r\n} from \"../store/FlexLayoutContainerStore\";\r\nimport styles from \"../styles/FlexLayout.module.css\";\r\nimport FlexLayout from \"./FlexLayout\";\r\nimport FlexLayoutContainer from \"./FlexLayoutContainer\";\r\nimport FlexLayoutSplitScreenDragBox, {\r\n\tDropDocumentOutsideOption,\r\n} from \"./FlexLayoutSplitScreenDragBox\";\r\n\r\nimport equal from \"fast-deep-equal\";\r\nimport { distinctUntilChanged, take } from \"rxjs\";\r\nimport FlexLayoutSplitScreenDragBoxContainer from \"./FlexLayoutSplitScreenDragBoxContainer\";\r\nimport FlexLayoutSplitScreenDragBoxItem from \"./FlexLayoutSplitScreenDragBoxItem\";\r\nimport FlexLayoutSplitScreenDragBoxTitleMore from \"./FlexLayoutSplitScreenDragBoxTitleMore\";\r\nimport FlexLayoutSplitScreenScrollBox from \"./FlexLayoutSplitScreenScrollBox\";\r\n\r\nfunction isOverDrop({\r\n\tx,\r\n\ty,\r\n\telement,\r\n}: {\r\n\tx: number;\r\n\ty: number;\r\n\telement: HTMLDivElement;\r\n}) {\r\n\tconst {\r\n\t\tx: elementX,\r\n\t\ty: elementY,\r\n\t\tright: elementRight,\r\n\t\tbottom: elementBottom,\r\n\t} = element.getBoundingClientRect();\r\n\tconst isElementOver =\r\n\t\tx < elementX || x > elementRight || y < elementY || y > elementBottom;\r\n\treturn isElementOver;\r\n}\r\nfunction isInnerDrop({\r\n\tx,\r\n\ty,\r\n\telement,\r\n}: {\r\n\tx: number;\r\n\ty: number;\r\n\telement: HTMLDivElement;\r\n}) {\r\n\tconst {\r\n\t\tx: elementX,\r\n\t\ty: elementY,\r\n\t\tright: elementRight,\r\n\t\tbottom: elementBottom,\r\n\t} = element.getBoundingClientRect();\r\n\tconst isElementInner =\r\n\t\tx >= elementX &&\r\n\t\tx <= elementRight &&\r\n\t\ty >= elementY &&\r\n\t\ty <= elementBottom;\r\n\treturn isElementInner;\r\n}\r\n\r\nconst handleUpdateDropTargetComponents = ({\r\n\torderName,\r\n\tparentOrderName,\r\n\tcontainerName,\r\n\tparentLayoutName,\r\n\tlayoutName,\r\n\tdropComponent,\r\n\tnavigationTitle,\r\n\tnextContainerName,\r\n\tisUsePrefix = true,\r\n\tbeforeDropTargetComponent,\r\n\tafterDropTargetComponent,\r\n\tcenterDropTargetComponent,\r\n\tdropDocumentOutsideOption,\r\n\tscreenKey = Array.from(\r\n\t\twindow.crypto.getRandomValues(new Uint32Array(16)),\r\n\t\t(e) => e.toString(32).padStart(2, \"0\"),\r\n\t).join(\"\"),\r\n}: {\r\n\torderName: DropPositionOrderName;\r\n\tparentOrderName?: DropPositionOrderName;\r\n\tcontainerName: string;\r\n\tparentLayoutName: string;\r\n\tlayoutName: string;\r\n\tdropComponent: ReactElement;\r\n\tnavigationTitle?: string;\r\n\tnextContainerName?: string;\r\n\tisUsePrefix?: boolean;\r\n\tbeforeDropTargetComponent: DropTargetComponent[];\r\n\tafterDropTargetComponent: DropTargetComponent[];\r\n\tcenterDropTargetComponent: DropTargetComponent[];\r\n\tdropDocumentOutsideOption?: DropDocumentOutsideOption;\r\n\tscreenKey?: string;\r\n}) => {\r\n\tconst nextContainerNameOrderName = parentOrderName\r\n\t\t? parentOrderName\r\n\t\t: orderName;\r\n\r\n\tlet listMap: Record<string, DropTargetComponent[]>;\r\n\tlet list: DropTargetComponent[];\r\n\tlet key: string;\r\n\tif (\r\n\t\tnextContainerNameOrderName === orderName ||\r\n\t\tnextContainerNameOrderName === \"center\"\r\n\t) {\r\n\t\tlistMap =\r\n\t\t\torderName === \"before\"\r\n\t\t\t\t? { beforeDropTargetComponent }\r\n\t\t\t\t: orderName === \"after\"\r\n\t\t\t\t\t? { afterDropTargetComponent }\r\n\t\t\t\t\t: {\r\n\t\t\t\t\t\t\tcenterDropTargetComponent:\r\n\t\t\t\t\t\t\t\tcenterDropTargetComponent.filter(\r\n\t\t\t\t\t\t\t\t\t(e) =>\r\n\t\t\t\t\t\t\t\t\t\t!e.containerName\r\n\t\t\t\t\t\t\t\t\t\t\t.split(\"_\")\r\n\t\t\t\t\t\t\t\t\t\t\t.at(0)!\r\n\t\t\t\t\t\t\t\t\t\t\t.startsWith(\r\n\t\t\t\t\t\t\t\t\t\t\t\tcontainerName.split(\"_\").at(0)!,\r\n\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t};\r\n\t} else {\r\n\t\tlistMap =\r\n\t\t\tnextContainerNameOrderName === \"before\"\r\n\t\t\t\t? { beforeDropTargetComponent }\r\n\t\t\t\t: { afterDropTargetComponent };\r\n\t}\r\n\tconst entries = Object.entries(listMap)[0];\r\n\tkey = entries[0];\r\n\tlist = entries[1];\r\n\t/*\r\n nextContainerNameOrderName이 after고 orderName이 before면 setAfterDropTargetComponent에서 nextContainerName의 뒤에 넣는다.\r\n nextContainerNameOrderName이 before고 orderName이 after면 setBeforeDropTargetComponent에서 nextContainerName 앞에 넣는다. \r\n nextContainerNameOrderName이 center고 orderName이 after면 리스트의 첫번째에 넣는다.\r\n nextContainerNameOrderName이 center고 orderName이 before면 리스트의 마지막에 넣는다.\r\n nextContainerNameOrderName === orderName가 같고 orderName이 after나 center면 list에서 nextContainerName 앞에 넣는다.\r\n nextContainerNameOrderName === orderName가 같고 orderName이 before면 list에서 nextContainerName 뒤에 넣는다.\r\n */\r\n\r\n\tconst newComponent = {\r\n\t\tcontainerName: `${containerName + \"_\" + layoutName}${isUsePrefix ? \"_\" + orderName + \"-\" + list.length : \"\"}`,\r\n\t\tcomponent: cloneElement(\r\n\t\t\tdropComponent as ReactElement<{ screenKey: string }>,\r\n\t\t\t{ key: screenKey, screenKey },\r\n\t\t),\r\n\t\tnavigationTitle,\r\n\t\tdropDocumentOutsideOption,\r\n\t\tscreenKey:\r\n\t\t\tscreenKey ||\r\n\t\t\tArray.from(\r\n\t\t\t\twindow.crypto.getRandomValues(new Uint32Array(16)),\r\n\t\t\t\t(e) => e.toString(32).padStart(2, \"0\"),\r\n\t\t\t).join(\"\"),\r\n\t};\r\n\tlet allComponents;\r\n\r\n\tif (nextContainerName) {\r\n\t\t// nextContainerName이 존재할 때\r\n\t\tconst index = list.findIndex(\r\n\t\t\t(item) => item.containerName === nextContainerName,\r\n\t\t);\r\n\t\tif (index !== -1) {\r\n\t\t\tif (nextContainerNameOrderName === orderName) {\r\n\t\t\t\tif (orderName === \"before\") {\r\n\t\t\t\t\t// nextContainerNameOrderName === orderName가 같고\r\n\t\t\t\t\t// orderName이 before면 list에서 nextContainerName 뒤에 넣는다.\r\n\t\t\t\t\tallComponents = [\r\n\t\t\t\t\t\t...list.slice(0, index),\r\n\t\t\t\t\t\tnewComponent,\r\n\t\t\t\t\t\t...list.slice(index),\r\n\t\t\t\t\t];\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// nextContainerNameOrderName === orderName가 같고\r\n\t\t\t\t\t// orderName이 after나 center면 list에서 nextContainerName 앞에 넣는다.\r\n\t\t\t\t\tallComponents = [\r\n\t\t\t\t\t\t...list.slice(0, index + 1),\r\n\t\t\t\t\t\tnewComponent,\r\n\t\t\t\t\t\t...list.slice(index + 1),\r\n\t\t\t\t\t];\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (\r\n\t\t\t\t\tnextContainerNameOrderName === \"after\" &&\r\n\t\t\t\t\torderName === \"before\"\r\n\t\t\t\t) {\r\n\t\t\t\t\t// nextContainerNameOrderName이 after고 orderName이 before면\r\n\t\t\t\t\t// setAfterDropTargetComponent에서 nextContainerName의 뒤에 넣는다.\r\n\t\t\t\t\tallComponents = [\r\n\t\t\t\t\t\t...list.slice(0, index),\r\n\t\t\t\t\t\tnewComponent,\r\n\t\t\t\t\t\t...list.slice(index),\r\n\t\t\t\t\t];\r\n\t\t\t\t} else if (\r\n\t\t\t\t\tnextContainerNameOrderName === \"before\" &&\r\n\t\t\t\t\torderName === \"after\"\r\n\t\t\t\t) {\r\n\t\t\t\t\t// nextContainerNameOrderName이 before고 orderName이 after면\r\n\t\t\t\t\t// setBeforeDropTargetComponent에서 nextContainerName 앞에 넣는다.\r\n\t\t\t\t\tallComponents = [\r\n\t\t\t\t\t\t...list.slice(0, index + 1),\r\n\t\t\t\t\t\tnewComponent,\r\n\t\t\t\t\t\t...list.slice(index + 1),\r\n\t\t\t\t\t];\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// 기타 경우 기존 로직 유지\r\n\t\t\t\t\tif (orderName === \"before\") {\r\n\t\t\t\t\t\tallComponents = [\r\n\t\t\t\t\t\t\t...list.slice(0, index),\r\n\t\t\t\t\t\t\tnewComponent,\r\n\t\t\t\t\t\t\t...list.slice(index),\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tallComponents = [\r\n\t\t\t\t\t\t\t...list.slice(0, index + 1),\r\n\t\t\t\t\t\t\tnewComponent,\r\n\t\t\t\t\t\t\t...list.slice(index + 1),\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (\r\n\t\t\t\tnextContainerNameOrderName === \"center\" &&\r\n\t\t\t\torderName === \"after\"\r\n\t\t\t) {\r\n\t\t\t\t// nextContainerNameOrderName이 center고 orderName이 after면\r\n\t\t\t\t// setAfterDropTargetComponent에서 첫번째에 넣는다.\r\n\t\t\t\tallComponents = [newComponent, ...list];\r\n\t\t\t} else if (\r\n\t\t\t\tnextContainerNameOrderName === \"center\" &&\r\n\t\t\t\torderName === \"before\"\r\n\t\t\t) {\r\n\t\t\t\t// nextContainerNameOrderName이 center고 orderName이 before면\r\n\t\t\t\t// setBeforeDropTargetComponent에서 마지막에 넣는다.\r\n\r\n\t\t\t\tallComponents = [...list, newComponent];\r\n\t\t\t} else {\r\n\t\t\t\t// nextContainerName을 찾지 못했을 경우 기존 로직 유지\r\n\t\t\t\tallComponents =\r\n\t\t\t\t\torderName === \"before\"\r\n\t\t\t\t\t\t? [newComponent, ...list]\r\n\t\t\t\t\t\t: [...list, newComponent];\r\n\t\t\t}\r\n\t\t}\r\n\t} else {\r\n\t\t// nextContainerName이 존재하지 않을 때 기존 로직 유지\r\n\t\tallComponents =\r\n\t\t\torderName === \"before\"\r\n\t\t\t\t? [newComponent, ...list]\r\n\t\t\t\t: [...list, newComponent];\r\n\t}\r\n\r\n\tconst seen = new Set<string>();\r\n\r\n\tconst result = allComponents.filter((item) => {\r\n\t\tif (seen.has(item.containerName)) {\r\n\t\t\treturn false; // 이미 본 containerName은 제거\r\n\t\t}\r\n\t\tseen.add(item.containerName);\r\n\t\treturn true;\r\n\t});\r\n\tdropMovementEventSubject.next({\r\n\t\tstate: \"append\",\r\n\t\ttargetParentLayoutName: parentLayoutName,\r\n\t\ttargetLayoutName: layoutName,\r\n\t\ttargetContainerName: containerName,\r\n\t\torderName: orderName,\r\n\t});\r\n\treturn { [key]: result };\r\n};\r\n\r\nconst handleRemove = (\r\n\tlist: DropTargetComponent[],\r\n\ttargetContainerName: string,\r\n\torderNameSetter: (removeCount: number) => void,\r\n) => {\r\n\tconst result = list.filter((e) => e.containerName !== targetContainerName);\r\n\tif (result.length != list.length)\r\n\t\torderNameSetter(list.length - result.length);\r\n\treturn result;\r\n};\r\n\r\nfunction getAdjacentItem<T>(items: T[], currentIndex: number) {\r\n\tif (currentIndex + 1 < items.length) {\r\n\t\treturn {\r\n\t\t\tadjacentItem: items[currentIndex + 1],\r\n\t\t\tadjacentIndex: currentIndex + 1,\r\n\t\t};\r\n\t} else if (currentIndex - 1 >= 0) {\r\n\t\treturn {\r\n\t\t\tadjacentItem: items[currentIndex - 1],\r\n\t\t\tadjacentIndex: currentIndex - 1,\r\n\t\t};\r\n\t}\r\n\treturn { adjacentItem: null, adjacentIndex: currentIndex };\r\n}\r\n\r\nconst getSelfOrderName = (\r\n\tcontainerName: string,\r\n): DropPositionOrderName | undefined => {\r\n\tconst result = containerName\r\n\t\t.split(\"_\")\r\n\t\t.at(-1)\r\n\t\t?.split(\"-\")\r\n\t\t.at(0)\r\n\t\t?.split(\"=\")\r\n\t\t.at(0);\r\n\tif ([\"before\", \"center\", \"after\"].some((e) => e === result)) {\r\n\t\treturn result as DropPositionOrderName;\r\n\t} else {\r\n\t\treturn;\r\n\t}\r\n};\r\n\r\nexport type FlexLayoutSplitScreenProps = {\r\n\tlayoutName: string;\r\n\tcontainerName: string;\r\n\tchildren: ReactElement; //ComponentType | ReactElement;\r\n\tnavigationTitle: string;\r\n\tdropDocumentOutsideOption?: DropDocumentOutsideOption;\r\n\tscreenKey?: string;\r\n};\r\n\r\nexport default function FlexLayoutSplitScreen({\r\n\tchildren,\r\n\tcontainerName,\r\n\tlayoutName,\r\n\tnavigationTitle,\r\n\tdropDocumentOutsideOption,\r\n\tscreenKey,\r\n}: FlexLayoutSplitScreenProps) {\r\n\tconst {\r\n\t\tdirection,\r\n\t\tisSplit,\r\n\t\tboundaryContainerSize,\r\n\t\tafterDropTargetComponent,\r\n\t\tbeforeDropTargetComponent,\r\n\t\tcenterDropTargetComponent,\r\n\t\tsetAfterDropTargetComponent,\r\n\t\tsetBeforeDropTargetComponent,\r\n\t\tsetCenterDropTargetComponent,\r\n\t\tlayoutRef,\r\n\t\tsetIsSplit,\r\n\t\tsetDirection,\r\n\t} = useFlexLayoutSplitScreen({\r\n\t\tisSplitInitial: false,\r\n\t\tdirectionInitial: \"row\",\r\n\t\tselfContainerName: containerName,\r\n\t\tparentLayoutName: \"\",\r\n\t\tlayoutName: layoutName,\r\n\t});\r\n\r\n\tuseEffect(() => {\r\n\t\tresetRootSplitScreen(layoutName);\r\n\t\tconst subscribe = getSplitScreen(layoutName, layoutName)\r\n\t\t\t//.pipe(take(1))\r\n\t\t\t.subscribe((layoutInfo) => {\r\n\t\t\t\tif (layoutInfo) {\r\n\t\t\t\t\t// console.log(\r\n\t\t\t\t\t// 'layoutInfo:::',\r\n\t\t\t\t\t// layoutInfo,\r\n\t\t\t\t\t// layoutName,\r\n\t\t\t\t\t// containerName\r\n\t\t\t\t\t// );\r\n\t\t\t\t\tsetBeforeDropTargetComponent([\r\n\t\t\t\t\t\t...layoutInfo.beforeDropTargetComponent,\r\n\t\t\t\t\t]);\r\n\t\t\t\t\tsetAfterDropTargetComponent([\r\n\t\t\t\t\t\t...layoutInfo.afterDropTargetComponent,\r\n\t\t\t\t\t]);\r\n\t\t\t\t\tsetCenterDropTargetComponent([\r\n\t\t\t\t\t\t...layoutInfo.centerDropTargetComponent,\r\n\t\t\t\t\t]);\r\n\t\t\t\t\tsetDirection(layoutInfo.direction);\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tlayoutInfo.beforeDropTargetComponent.length !== 0 ||\r\n\t\t\t\t\t\tlayoutInfo.afterDropTargetComponent.length !== 0\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tsetIsSplit(true);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// const screenKey = Array.from(\r\n\t\t\t\t\t// window.crypto.getRandomValues(new Uint32Array(16)),\r\n\t\t\t\t\t// e => e.toString(32).padStart(2, '0')\r\n\t\t\t\t\t// ).join('');\r\n\t\t\t\t\tsetSplitScreen(layoutName, layoutName, {\r\n\t\t\t\t\t\tafterDropTargetComponent: [],\r\n\t\t\t\t\t\tbeforeDropTargetComponent: [],\r\n\t\t\t\t\t\tcenterDropTargetComponent: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcontainerName,\r\n\t\t\t\t\t\t\t\tcomponent: children,\r\n\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\tscreenKey: screenKey\r\n\t\t\t\t\t\t\t\t\t? screenKey\r\n\t\t\t\t\t\t\t\t\t: Array.from(\r\n\t\t\t\t\t\t\t\t\t\t\twindow.crypto.getRandomValues(\r\n\t\t\t\t\t\t\t\t\t\t\t\tnew Uint32Array(16),\r\n\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t\t(e) =>\r\n\t\t\t\t\t\t\t\t\t\t\t\te.toString(32).padStart(2, \"0\"),\r\n\t\t\t\t\t\t\t\t\t\t).join(\"\"),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t\tdirection: direction,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\treturn () => {\r\n\t\t\tsubscribe.unsubscribe();\r\n\t\t\tresetRootSplitScreen(layoutName);\r\n\t\t};\r\n\t}, [layoutName]);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst subscribe = dropMovementEventSubject\r\n\t\t\t.pipe(\r\n\t\t\t\tdistinctUntilChanged((prev, curr) => {\r\n\t\t\t\t\t// 이전 상태와 현재 상태를 비교하여 동일하면 필터링\r\n\t\t\t\t\tconst filterChildren = (obj: any) => {\r\n\t\t\t\t\t\t// 객체 복사 후 children 속성 제거\r\n\t\t\t\t\t\tconst {\r\n\t\t\t\t\t\t\tchildren,\r\n\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\ttargetComponent,\r\n\t\t\t\t\t\t\tx,\r\n\t\t\t\t\t\t\ty,\r\n\t\t\t\t\t\t\t...rest\r\n\t\t\t\t\t\t} = obj || {};\r\n\t\t\t\t\t\treturn rest;\r\n\t\t\t\t\t};\r\n\t\t\t\t\treturn equal(filterChildren(prev), filterChildren(curr));\r\n\t\t\t\t}),\r\n\t\t\t)\r\n\t\t\t.subscribe((event) => {\r\n\t\t\t\tif (event.state === \"remove\") {\r\n\t\t\t\t\t// 렌더링 중에 바로 setRemoveContainerName을 호출하지 않고\r\n\t\t\t\t\t// requestAnimationFrame으로 감싸 렌더 후에 실행되도록 한다.\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tevent.targetParentLayoutName === layoutName ||\r\n\t\t\t\t\t\t(event.targetParentLayoutName === \"\" &&\r\n\t\t\t\t\t\t\tevent.targetLayoutName === layoutName)\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\trequestAnimationFrame(() => {\r\n\t\t\t\t\t\t\tlet removeCallback = (\r\n\t\t\t\t\t\t\t\tremoveOrderName: DropPositionOrderName,\r\n\t\t\t\t\t\t\t) => {\r\n\t\t\t\t\t\t\t\t// removeSplitScreenChild(\r\n\t\t\t\t\t\t\t\t// layoutName,\r\n\t\t\t\t\t\t\t\t// event.targetLayoutName\r\n\t\t\t\t\t\t\t\t// );\r\n\t\t\t\t\t\t\t\t//탭 이동이고 현재 활성화 된 탭인 경우\r\n\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\tevent.nextContainerName &&\r\n\t\t\t\t\t\t\t\t\tevent.dropTargetComponentEvent &&\r\n\t\t\t\t\t\t\t\t\tevent.targetComponent\r\n\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\tconst targetComponentsMap =\r\n\t\t\t\t\t\t\t\t\t\thandleUpdateDropTargetComponents({\r\n\t\t\t\t\t\t\t\t\t\t\torderName: removeOrderName,\r\n\t\t\t\t\t\t\t\t\t\t\tcontainerName:\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.nextContainerName,\r\n\t\t\t\t\t\t\t\t\t\t\tparentLayoutName: \"\",\r\n\t\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\t\tdropComponent:\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.targetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tnavigationTitle:\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.dropTargetComponentEvent!\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.navigationTitle!,\r\n\t\t\t\t\t\t\t\t\t\t\tisUsePrefix: true,\r\n\t\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\tscreenKey:\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.dropTargetComponentEvent\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.screenKey,\r\n\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tsetSplitScreen(layoutName, layoutName, {\r\n\t\t\t\t\t\t\t\t\t\t...(getCurrentSplitScreenComponents(\r\n\t\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\t) || {\r\n\t\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tdirection,\r\n\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\t\t...targetComponentsMap,\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tPromise.resolve().then(\r\n\t\t\t\t\t\t\t\t\t\t() =>\r\n\t\t\t\t\t\t\t\t\t\t\tevent.dropEndCallback &&\r\n\t\t\t\t\t\t\t\t\t\t\tevent.dropEndCallback({\r\n\t\t\t\t\t\t\t\t\t\t\t\tx: event.x!,\r\n\t\t\t\t\t\t\t\t\t\t\t\ty: event.y!,\r\n\t\t\t\t\t\t\t\t\t\t\t\tcontainerName: containerName,\r\n\t\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\tconst currentComponents =\r\n\t\t\t\t\t\t\t\tgetCurrentSplitScreenComponents(\r\n\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tconst afterList = handleRemove(\r\n\t\t\t\t\t\t\t\tcurrentComponents?.afterDropTargetComponent ||\r\n\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\tevent.targetContainerName,\r\n\t\t\t\t\t\t\t\t() => removeCallback(\"after\"),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tconst beforList = handleRemove(\r\n\t\t\t\t\t\t\t\tcurrentComponents?.beforeDropTargetComponent ||\r\n\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\tevent.targetContainerName,\r\n\t\t\t\t\t\t\t\t() => removeCallback(\"before\"),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tconst centerList = handleRemove(\r\n\t\t\t\t\t\t\t\tcurrentComponents?.centerDropTargetComponent ||\r\n\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\tevent.targetContainerName,\r\n\t\t\t\t\t\t\t\t() => removeCallback(\"center\"),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tsetSplitScreen(layoutName, layoutName, {\r\n\t\t\t\t\t\t\t\tafterDropTargetComponent: afterList,\r\n\t\t\t\t\t\t\t\tbeforeDropTargetComponent: beforList,\r\n\t\t\t\t\t\t\t\tcenterDropTargetComponent: centerList,\r\n\t\t\t\t\t\t\t\tdirection,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (event.state === \"append\") {\r\n\t\t\t\t\tconst {\r\n\t\t\t\t\t\tx,\r\n\t\t\t\t\t\ty,\r\n\t\t\t\t\t\tdropEndCallback,\r\n\t\t\t\t\t\tdropTargetComponentEvent,\r\n\t\t\t\t\t\torderName,\r\n\t\t\t\t\t\tparentOrderName,\r\n\t\t\t\t\t\ttargetLayoutName,\r\n\t\t\t\t\t\ttargetParentLayoutName,\r\n\t\t\t\t\t\ttargetContainerName,\r\n\t\t\t\t\t\ttargetComponent,\r\n\t\t\t\t\t\tnextContainerName,\r\n\t\t\t\t\t} = event;\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tlayoutRef.current &&\r\n\t\t\t\t\t\torderName &&\r\n\t\t\t\t\t\tx &&\r\n\t\t\t\t\t\ty &&\r\n\t\t\t\t\t\ttargetComponent &&\r\n\t\t\t\t\t\tdropTargetComponentEvent &&\r\n\t\t\t\t\t\ttargetLayoutName === layoutName &&\r\n\t\t\t\t\t\tisInnerDrop({ x, y, element: layoutRef.current })\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tconst {\r\n\t\t\t\t\t\t\tdirection: dropDirection,\r\n\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t} = dropTargetComponentEvent;\r\n\r\n\t\t\t\t\t\tconst isOrderNameNotCenter = orderName !== \"center\";\r\n\t\t\t\t\t\tconst isOrderNameCenterAndFirstScreen =\r\n\t\t\t\t\t\t\torderName === \"center\" &&\r\n\t\t\t\t\t\t\tcenterDropTargetComponent.length <= 1;\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tisOrderNameNotCenter ||\r\n\t\t\t\t\t\t\tisOrderNameCenterAndFirstScreen\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tsetIsSplit(true);\r\n\t\t\t\t\t\t\tif (isOrderNameNotCenter) {\r\n\t\t\t\t\t\t\t\tsetDirection(dropDirection);\r\n\t\t\t\t\t\t\t\tconst targetComponentsMap =\r\n\t\t\t\t\t\t\t\t\thandleUpdateDropTargetComponents({\r\n\t\t\t\t\t\t\t\t\t\torderName,\r\n\t\t\t\t\t\t\t\t\t\tparentOrderName,\r\n\t\t\t\t\t\t\t\t\t\tcontainerName: targetContainerName,\r\n\t\t\t\t\t\t\t\t\t\tnextContainerName: nextContainerName,\r\n\t\t\t\t\t\t\t\t\t\tdropComponent: targetComponent,\r\n\t\t\t\t\t\t\t\t\t\tparentLayoutName: \"\",\r\n\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\tisUsePrefix: true,\r\n\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\t\tsetSplitScreen(layoutName, layoutName, {\r\n\t\t\t\t\t\t\t\t\t...{\r\n\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\tdirection: dropDirection,\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t...targetComponentsMap,\r\n\t\t\t\t\t\t\t\t\t...{ direction: dropDirection },\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tPromise.resolve().then(\r\n\t\t\t\t\t\t\t\t\t() =>\r\n\t\t\t\t\t\t\t\t\t\tdropEndCallback &&\r\n\t\t\t\t\t\t\t\t\t\tdropEndCallback({\r\n\t\t\t\t\t\t\t\t\t\t\tx: event.x!,\r\n\t\t\t\t\t\t\t\t\t\t\ty: event.y!,\r\n\t\t\t\t\t\t\t\t\t\t\tcontainerName: containerName,\r\n\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tconst childScreenInfo =\r\n\t\t\t\t\t\t\t\t\tgetCurrentSplitScreenComponents(\r\n\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\t`${layoutName}_center=${centerDropTargetComponent[0].screenKey}`,\r\n\t\t\t\t\t\t\t\t\t) || {\r\n\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent: [],\r\n\t\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent: [],\r\n\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent: [],\r\n\t\t\t\t\t\t\t\t\t\tdirection,\r\n\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\tsetSplitScreen(\r\n\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t`${layoutName}_center=${centerDropTargetComponent[0].screenKey}`,\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t...childScreenInfo,\r\n\t\t\t\t\t\t\t\t\t\t...{\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent: [\r\n\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0],\r\n\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontainerName: `${targetContainerName}_${layoutName}_${orderName}`,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcomponent: targetComponent!,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tscreenKey:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.screenKey,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\treturn () => {\r\n\t\t\tsubscribe.unsubscribe();\r\n\t\t};\r\n\t}, [\r\n\t\tdirection,\r\n\t\tlayoutName,\r\n\t\tisSplit,\r\n\t\tbeforeDropTargetComponent,\r\n\t\tafterDropTargetComponent,\r\n\t\tcenterDropTargetComponent,\r\n\t]);\r\n\r\n\treturn (\r\n\t\t<div className={`${styles[\"flex-split-screen\"]}`} ref={layoutRef}>\r\n\t\t\t<FlexLayout\r\n\t\t\t\tdirection={direction}\r\n\t\t\t\tlayoutName={layoutName}\r\n\t\t\t\tdata-is_split={isSplit}\r\n\t\t\t\tpanelMovementMode=\"bulldozer\"\r\n\t\t\t>\r\n\t\t\t\t{beforeDropTargetComponent.length != 0 ? (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{beforeDropTargetComponent.map(\r\n\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\ti,\r\n\t\t\t\t\t\t\t) => (\r\n\t\t\t\t\t\t\t\t<FlexLayoutContainer\r\n\t\t\t\t\t\t\t\t\tcontainerName={cName}\r\n\t\t\t\t\t\t\t\t\tisInitialResizable\r\n\t\t\t\t\t\t\t\t\tisResizePanel\r\n\t\t\t\t\t\t\t\t\tkey={cName}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenChild\r\n\t\t\t\t\t\t\t\t\t\tparentDirection={direction}\r\n\t\t\t\t\t\t\t\t\t\tlayoutName={`${layoutName}_before`}\r\n\t\t\t\t\t\t\t\t\t\tparentLayoutName={layoutName}\r\n\t\t\t\t\t\t\t\t\t\tcontainerName={cName}\r\n\t\t\t\t\t\t\t\t\t\tdepth={1}\r\n\t\t\t\t\t\t\t\t\t\t//isSplit={isSplit}\r\n\t\t\t\t\t\t\t\t\t\trootRef={layoutRef}\r\n\t\t\t\t\t\t\t\t\t\tscreenKey={screenKey}\r\n\t\t\t\t\t\t\t\t\t\tinitialCenterComponents={[\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t\t\t\trootName={layoutName}\r\n\t\t\t\t\t\t\t\t\t></FlexLayoutSplitScreenChild>\r\n\t\t\t\t\t\t\t\t</FlexLayoutContainer>\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</>\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<div></div>\r\n\t\t\t\t)}\r\n\t\t\t\t{centerDropTargetComponent.length === 0 ? (\r\n\t\t\t\t\t<div></div>\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<FlexLayoutContainer\r\n\t\t\t\t\t\tcontainerName={`${centerDropTargetComponent[0].containerName}`}\r\n\t\t\t\t\t\tisInitialResizable\r\n\t\t\t\t\t\tisResizePanel={isSplit}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{isSplit ? (\r\n\t\t\t\t\t\t\t<FlexLayoutSplitScreenChild\r\n\t\t\t\t\t\t\t\tparentDirection={direction}\r\n\t\t\t\t\t\t\t\tlayoutName={`${layoutName}_center`}\r\n\t\t\t\t\t\t\t\tparentLayoutName={layoutName}\r\n\t\t\t\t\t\t\t\tcontainerName={`${centerDropTargetComponent[0].containerName}`}\r\n\t\t\t\t\t\t\t\tdepth={0}\r\n\t\t\t\t\t\t\t\trootRef={layoutRef}\r\n\t\t\t\t\t\t\t\tscreenKey={\r\n\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0].screenKey\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tinitialCenterComponents={[\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\tnavigationTitle:\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t.navigationTitle,\r\n\t\t\t\t\t\t\t\t\t\tcomponent:\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t.component,\r\n\t\t\t\t\t\t\t\t\t\tcontainerName:\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t.containerName,\r\n\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption:\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t.dropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\tscreenKey:\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t.screenKey,\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t\trootName={layoutName}\r\n\t\t\t\t\t\t\t></FlexLayoutSplitScreenChild>\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<FlexLayoutSplitScreenScrollBox\r\n\t\t\t\t\t\t\t\tkeyName={\r\n\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0].containerName\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tisDefaultScrollStyle={true}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{centerDropTargetComponent[0].component}\r\n\t\t\t\t\t\t\t</FlexLayoutSplitScreenScrollBox>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</FlexLayoutContainer>\r\n\t\t\t\t)}\r\n\t\t\t\t{afterDropTargetComponent.length != 0 ? (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{afterDropTargetComponent.map(\r\n\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\ti,\r\n\t\t\t\t\t\t\t) => (\r\n\t\t\t\t\t\t\t\t<FlexLayoutContainer\r\n\t\t\t\t\t\t\t\t\tcontainerName={cName}\r\n\t\t\t\t\t\t\t\t\tisInitialResizable\r\n\t\t\t\t\t\t\t\t\tisResizePanel={\r\n\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent.length - 1 !==\r\n\t\t\t\t\t\t\t\t\t\ti\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tkey={cName}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenChild\r\n\t\t\t\t\t\t\t\t\t\tparentDirection={direction}\r\n\t\t\t\t\t\t\t\t\t\tlayoutName={`${layoutName}_after`}\r\n\t\t\t\t\t\t\t\t\t\tparentLayoutName={layoutName}\r\n\t\t\t\t\t\t\t\t\t\tcontainerName={cName}\r\n\t\t\t\t\t\t\t\t\t\tdepth={1}\r\n\t\t\t\t\t\t\t\t\t\t//isSplit={isSplit}\r\n\t\t\t\t\t\t\t\t\t\trootRef={layoutRef}\r\n\t\t\t\t\t\t\t\t\t\tscreenKey={screenKey}\r\n\t\t\t\t\t\t\t\t\t\tinitialCenterComponents={[\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t\t\t\trootName={layoutName}\r\n\t\t\t\t\t\t\t\t\t></FlexLayoutSplitScreenChild>\r\n\t\t\t\t\t\t\t\t</FlexLayoutContainer>\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</>\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<div></div>\r\n\t\t\t\t)}\r\n\t\t\t</FlexLayout>\r\n\t\t\t{boundaryContainerSize && (\r\n\t\t\t\t<div\r\n\t\t\t\t\tclassName={`${styles[\"flex-split-screen-boundary-container\"]}`}\r\n\t\t\t\t\tstyle={{ ...boundaryContainerSize }}\r\n\t\t\t\t>\r\n\t\t\t\t\t⬇️드롭하면 화면이 분할됩니다.\r\n\t\t\t\t</div>\r\n\t\t\t)}\r\n\t\t</div>\r\n\t);\r\n}\r\n\r\nfunction FlexLayoutSplitScreenChild({\r\n\tcontainerName,\r\n\tlayoutName,\r\n\tparentLayoutName,\r\n\tparentDirection,\r\n\tdepth,\r\n\t//isSplit: isSplitInitial,\r\n\trootRef,\r\n\trootName,\r\n\tinitialCenterComponents,\r\n\tscreenKey,\r\n}: {\r\n\tlayoutName: string;\r\n\tparentLayoutName: string;\r\n\tcontainerName: string;\r\n\tparentDirection: \"row\" | \"column\";\r\n\tdepth: number;\r\n\t//isSplit: boolean;\r\n\trootRef: RefObject<HTMLDivElement | null>;\r\n\trootName: string;\r\n\tinitialCenterComponents?: DropTargetComponent[];\r\n\tscreenKey: string;\r\n}) {\r\n\t// const memoizedChildren = useMemo(\r\n\t// () => <MemoizedChildren>{children}</MemoizedChildren>,\r\n\t// [children]\r\n\t// );\r\n\tconst {\r\n\t\tdirection,\r\n\t\tisSplit,\r\n\t\tboundaryContainerSize,\r\n\t\tafterDropTargetComponent,\r\n\t\tbeforeDropTargetComponent,\r\n\t\tcenterDropTargetComponent,\r\n\t\tsetAfterDropTargetComponent,\r\n\t\tsetBeforeDropTargetComponent,\r\n\t\tsetCenterDropTargetComponent,\r\n\t\tlayoutRef,\r\n\t\tsetIsSplit,\r\n\t\tsetDirection,\r\n\t} = useFlexLayoutSplitScreen({\r\n\t\tisSplitInitial: false,\r\n\t\tdirectionInitial: \"row\",\r\n\t\tparentDirection,\r\n\t\tselfContainerName: containerName,\r\n\t\tparentLayoutName: parentLayoutName,\r\n\t\tlayoutName: layoutName,\r\n\t});\r\n\r\n\tconst [isEmptyContent, setIsEmptyContent] = useState<boolean>(false);\r\n\tconst [activeIndex, setActiveIndex] = useState<number>(0);\r\n\tconst centerDropTargetComponentRef = useRef(centerDropTargetComponent);\r\n\tconst activeIndexRef = useRef(activeIndex);\r\n\tuseEffect(() => {\r\n\t\tconst subscribe = getSplitScreen(rootName, `${layoutName}=${screenKey}`)\r\n\t\t\t.pipe(take(1))\r\n\t\t\t.subscribe((layoutInfo) => {\r\n\t\t\t\tsetSplitScreen(rootName, `${layoutName}=${screenKey}`, {\r\n\t\t\t\t\tafterDropTargetComponent:\r\n\t\t\t\t\t\tlayoutInfo?.afterDropTargetComponent || [],\r\n\t\t\t\t\tbeforeDropTargetComponent:\r\n\t\t\t\t\t\tlayoutInfo?.beforeDropTargetComponent || [],\r\n\t\t\t\t\tcenterDropTargetComponent:\r\n\t\t\t\t\t\tlayoutInfo?.centerDropTargetComponent ||\r\n\t\t\t\t\t\tinitialCenterComponents ||\r\n\t\t\t\t\t\t[],\r\n\t\t\t\t\tdirection: layoutInfo?.direction || direction,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\treturn () => {\r\n\t\t\tremoveSplitScreenChild(rootName, layoutName);\r\n\t\t\tsubscribe.unsubscribe();\r\n\t\t};\r\n\t}, [rootName, layoutName, initialCenterComponents]);\r\n\tuseEffect(() => {\r\n\t\tconst subscribe = getSplitScreen(rootName, `${layoutName}=${screenKey}`)\r\n\t\t\t//.pipe(take(1))\r\n\t\t\t.subscribe((layoutInfo) => {\r\n\t\t\t\tif (layoutInfo) {\r\n\t\t\t\t\t// console.log(\r\n\t\t\t\t\t// 'layoutInfo:::',\r\n\t\t\t\t\t// layoutInfo,\r\n\t\t\t\t\t// layoutName,\r\n\t\t\t\t\t// containerName\r\n\t\t\t\t\t// );\r\n\t\t\t\t\tsetBeforeDropTargetComponent([\r\n\t\t\t\t\t\t...layoutInfo.beforeDropTargetComponent,\r\n\t\t\t\t\t]);\r\n\t\t\t\t\tsetAfterDropTargetComponent([\r\n\t\t\t\t\t\t...layoutInfo.afterDropTargetComponent,\r\n\t\t\t\t\t]);\r\n\t\t\t\t\tsetCenterDropTargetComponent([\r\n\t\t\t\t\t\t...layoutInfo.centerDropTargetComponent,\r\n\t\t\t\t\t]);\r\n\t\t\t\t\tsetDirection(layoutInfo.direction);\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tlayoutInfo.beforeDropTargetComponent.length !== 0 ||\r\n\t\t\t\t\t\tlayoutInfo.afterDropTargetComponent.length !== 0\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tsetIsSplit(true);\r\n\t\t\t\t\t} else if (\r\n\t\t\t\t\t\tlayoutInfo.beforeDropTargetComponent.length === 0 &&\r\n\t\t\t\t\t\tlayoutInfo.centerDropTargetComponent.length === 0 &&\r\n\t\t\t\t\t\tlayoutInfo.afterDropTargetComponent.length === 0\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tdropMovementEventSubject.next({\r\n\t\t\t\t\t\t\tstate: \"remove\",\r\n\t\t\t\t\t\t\ttargetContainerName: containerName,\r\n\t\t\t\t\t\t\ttargetParentLayoutName: \"\",\r\n\t\t\t\t\t\t\ttargetLayoutName: parentLayoutName,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tsetIsEmptyContent(true);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\treturn () => {\r\n\t\t\tsubscribe.unsubscribe();\r\n\t\t};\r\n\t}, [rootName, layoutName]);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst subscribe = dropMovementEventSubject\r\n\t\t\t.pipe(\r\n\t\t\t\tdistinctUntilChanged((prev, curr) => {\r\n\t\t\t\t\t// 이전 상태와 현재 상태를 비교하여 동일하면 필터링\r\n\t\t\t\t\tconst filterChildren = (obj: any) => {\r\n\t\t\t\t\t\t// 객체 복사 후 children 속성 제거\r\n\t\t\t\t\t\tconst {\r\n\t\t\t\t\t\t\tchildren,\r\n\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\ttargetComponent,\r\n\t\t\t\t\t\t\tx,\r\n\t\t\t\t\t\t\ty,\r\n\t\t\t\t\t\t\t...rest\r\n\t\t\t\t\t\t} = obj || {};\r\n\t\t\t\t\t\treturn rest;\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\treturn equal(filterChildren(prev), filterChildren(curr));\r\n\t\t\t\t}),\r\n\t\t\t)\r\n\t\t\t.subscribe((event) => {\r\n\t\t\t\tif (event.state === \"remove\") {\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tevent.targetParentLayoutName === layoutName ||\r\n\t\t\t\t\t\t(event.targetParentLayoutName === \"\" &&\r\n\t\t\t\t\t\t\tevent.targetLayoutName === layoutName)\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\trequestAnimationFrame(() => {\r\n\t\t\t\t\t\t\tlet removeCallback = (\r\n\t\t\t\t\t\t\t\tremoveOrderName: DropPositionOrderName,\r\n\t\t\t\t\t\t\t) => {\r\n\t\t\t\t\t\t\t\t// removeSplitScreenChild(\r\n\t\t\t\t\t\t\t\t// rootName,\r\n\t\t\t\t\t\t\t\t// event.targetLayoutName\r\n\t\t\t\t\t\t\t\t// );\r\n\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\tevent.nextContainerName &&\r\n\t\t\t\t\t\t\t\t\tevent.dropTargetComponentEvent &&\r\n\t\t\t\t\t\t\t\t\tevent.targetComponent\r\n\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\tconst targetComponentsMap =\r\n\t\t\t\t\t\t\t\t\t\thandleUpdateDropTargetComponents({\r\n\t\t\t\t\t\t\t\t\t\t\torderName: removeOrderName,\r\n\t\t\t\t\t\t\t\t\t\t\tcontainerName:\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.nextContainerName,\r\n\t\t\t\t\t\t\t\t\t\t\tparentLayoutName,\r\n\t\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\t\tdropComponent:\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.targetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tnavigationTitle:\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.dropTargetComponentEvent\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.navigationTitle!,\r\n\t\t\t\t\t\t\t\t\t\t\tisUsePrefix: true,\r\n\t\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption:\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.dropTargetComponentEvent\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t?.dropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\tscreenKey:\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.dropTargetComponentEvent\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.screenKey,\r\n\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tsetSplitScreen(\r\n\t\t\t\t\t\t\t\t\t\trootName,\r\n\t\t\t\t\t\t\t\t\t\t`${layoutName}=${screenKey}`,\r\n\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t...(getCurrentSplitScreenComponents(\r\n\t\t\t\t\t\t\t\t\t\t\t\trootName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t`${layoutName}=${screenKey}`,\r\n\t\t\t\t\t\t\t\t\t\t\t) || {\r\n\t\t\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\t\tdirection,\r\n\t\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\t\t\t...targetComponentsMap,\r\n\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\tPromise.resolve().then(\r\n\t\t\t\t\t\t\t\t\t\t() =>\r\n\t\t\t\t\t\t\t\t\t\t\tevent.dropEndCallback &&\r\n\t\t\t\t\t\t\t\t\t\t\tevent.dropEndCallback({\r\n\t\t\t\t\t\t\t\t\t\t\t\tx: event.x!,\r\n\t\t\t\t\t\t\t\t\t\t\t\ty: event.y!,\r\n\t\t\t\t\t\t\t\t\t\t\t\tcontainerName: containerName,\r\n\t\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\tconst currentComponents =\r\n\t\t\t\t\t\t\t\tgetCurrentSplitScreenComponents(\r\n\t\t\t\t\t\t\t\t\trootName,\r\n\t\t\t\t\t\t\t\t\t`${layoutName}=${screenKey}`,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tconst afterList = handleRemove(\r\n\t\t\t\t\t\t\t\tcurrentComponents?.afterDropTargetComponent ||\r\n\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\tevent.targetContainerName,\r\n\t\t\t\t\t\t\t\t() => removeCallback(\"after\"),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tconst beforList = handleRemove(\r\n\t\t\t\t\t\t\t\tcurrentComponents?.beforeDropTargetComponent ||\r\n\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\tevent.targetContainerName,\r\n\t\t\t\t\t\t\t\t() => removeCallback(\"before\"),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tconst centerList = handleRemove(\r\n\t\t\t\t\t\t\t\tcurrentComponents?.centerDropTargetComponent ||\r\n\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\tevent.targetContainerName,\r\n\t\t\t\t\t\t\t\t() => removeCallback(\"center\"),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tsetSplitScreen(\r\n\t\t\t\t\t\t\t\trootName,\r\n\t\t\t\t\t\t\t\t`${layoutName}=${screenKey}`,\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tafterDropTargetComponent: afterList,\r\n\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent: beforList,\r\n\t\t\t\t\t\t\t\t\tcenterDropTargetComponent: centerList,\r\n\t\t\t\t\t\t\t\t\tdirection,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (event.state === \"append\") {\r\n\t\t\t\t\tconst {\r\n\t\t\t\t\t\tx,\r\n\t\t\t\t\t\ty,\r\n\t\t\t\t\t\tdropEndCallback,\r\n\t\t\t\t\t\tdropTargetComponentEvent,\r\n\t\t\t\t\t\torderName,\r\n\t\t\t\t\t\ttargetLayoutName,\r\n\t\t\t\t\t\ttargetParentLayoutName,\r\n\t\t\t\t\t\ttargetContainerName,\r\n\t\t\t\t\t\ttargetComponent,\r\n\t\t\t\t\t\tnextContainerName,\r\n\t\t\t\t\t\tparentOrderName,\r\n\t\t\t\t\t} = event;\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tlayoutRef.current &&\r\n\t\t\t\t\t\torderName &&\r\n\t\t\t\t\t\tx &&\r\n\t\t\t\t\t\ty &&\r\n\t\t\t\t\t\tdropTargetComponentEvent &&\r\n\t\t\t\t\t\tisInnerDrop({ x, y, element: layoutRef.current })\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tconst {\r\n\t\t\t\t\t\t\tdirection: dropDirection,\r\n\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\tscreenKey: containerScreenKey,\r\n\t\t\t\t\t\t} = dropTargetComponentEvent;\r\n\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t//orderName !== 'center' &&\r\n\t\t\t\t\t\t\ttargetLayoutName === layoutName &&\r\n\t\t\t\t\t\t\ttargetComponent\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t//드래그앤드롭으로 추가되었을 때\r\n\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\tdropDirection === parentDirection &&\r\n\t\t\t\t\t\t\t\torderName !== \"center\"\r\n\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\tdropMovementEventSubject.next({\r\n\t\t\t\t\t\t\t\t\tstate: \"append\",\r\n\t\t\t\t\t\t\t\t\ttargetContainerName: targetContainerName,\r\n\t\t\t\t\t\t\t\t\ttargetParentLayoutName: \"\",\r\n\t\t\t\t\t\t\t\t\ttargetLayoutName: parentLayoutName,\r\n\t\t\t\t\t\t\t\t\ttargetComponent: targetComponent,\r\n\t\t\t\t\t\t\t\t\tnextContainerName: containerName,\r\n\t\t\t\t\t\t\t\t\tparentOrderName:\r\n\t\t\t\t\t\t\t\t\t\tgetSelfOrderName(layoutName) ||\r\n\t\t\t\t\t\t\t\t\t\torderName,\r\n\t\t\t\t\t\t\t\t\torderName,\r\n\t\t\t\t\t\t\t\t\tx,\r\n\t\t\t\t\t\t\t\t\ty,\r\n\t\t\t\t\t\t\t\t\tdropEndCallback,\r\n\t\t\t\t\t\t\t\t\tdropTargetComponentEvent: {\r\n\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\tdirection: parentDirection,\r\n\t\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tif (orderName !== \"center\") {\r\n\t\t\t\t\t\t\t\t\tsetDirection(dropDirection);\r\n\t\t\t\t\t\t\t\t\tsetIsSplit(true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tconst targetComponentsMap =\r\n\t\t\t\t\t\t\t\t\thandleUpdateDropTargetComponents({\r\n\t\t\t\t\t\t\t\t\t\torderName,\r\n\t\t\t\t\t\t\t\t\t\tparentOrderName,\r\n\t\t\t\t\t\t\t\t\t\tcontainerName: targetContainerName,\r\n\t\t\t\t\t\t\t\t\t\tnextContainerName: nextContainerName,\r\n\t\t\t\t\t\t\t\t\t\tparentLayoutName,\r\n\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\tdropComponent: targetComponent,\r\n\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\tisUsePrefix: orderName !== \"center\",\r\n\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tsetSplitScreen(\r\n\t\t\t\t\t\t\t\t\trootName,\r\n\t\t\t\t\t\t\t\t\t`${layoutName}=${screenKey}`,\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t...(getCurrentSplitScreenComponents(\r\n\t\t\t\t\t\t\t\t\t\t\trootName,\r\n\t\t\t\t\t\t\t\t\t\t\t`${layoutName}=${screenKey}`,\r\n\t\t\t\t\t\t\t\t\t\t) || {\r\n\t\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tdirection,\r\n\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\t\t...targetComponentsMap,\r\n\t\t\t\t\t\t\t\t\t\t...{ direction: dropDirection },\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tPromise.resolve().then(\r\n\t\t\t\t\t\t\t\t\t() =>\r\n\t\t\t\t\t\t\t\t\t\tevent.dropEndCallback &&\r\n\t\t\t\t\t\t\t\t\t\tevent.dropEndCallback({\r\n\t\t\t\t\t\t\t\t\t\t\tx: event.x!,\r\n\t\t\t\t\t\t\t\t\t\t\ty: event.y!,\r\n\t\t\t\t\t\t\t\t\t\t\tcontainerName: containerName,\r\n\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t//else if (dropDirection === direction) {\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t//console.log('1111:::', layoutName, parentLayoutName, event);\r\n\t\t\t\t//setRemoveContainerName(event.targetContainerName);\r\n\t\t\t});\r\n\t\treturn () => {\r\n\t\t\tsubscribe.unsubscribe();\r\n\t\t};\r\n\t}, [\r\n\t\tdirection,\r\n\t\tparentDirection,\r\n\t\tparentLayoutName,\r\n\t\tlayoutName,\r\n\t\tbeforeDropTargetComponent,\r\n\t\tafterDropTargetComponent,\r\n\t\tcenterDropTargetComponent,\r\n\t]);\r\n\r\n\tuseEffect(() => {\r\n\t\tcenterDropTargetComponentRef.current = centerDropTargetComponent;\r\n\t}, [centerDropTargetComponent]);\r\n\tuseEffect(() => {\r\n\t\tactiveIndexRef.current = activeIndex;\r\n\t}, [activeIndex]);\r\n\r\n\t// useEffect(() => {\r\n\t// const subscribe = getSplitScreen(\r\n\t// rootName,\r\n\t// `${layoutName}=${screenKey}`\r\n\t// ).subscribe(layoutInfo => {\r\n\t// if (\r\n\t// beforeDropTargetComponent.length === 0 &&\r\n\t// centerDropTargetComponent.length === 0 &&\r\n\t// afterDropTargetComponent.length === 0 &&\r\n\t// (layoutInfo?.beforeDropTargetComponent || []).length === 0 &&\r\n\t// (layoutInfo?.centerDropTargetComponent || []).length === 0 &&\r\n\t// (layoutInfo?.afterDropTargetComponent || []).length === 0\r\n\t// ) {\r\n\t// console.log(\r\n\t// 'remove ::: ',\r\n\t// parentLayoutName,\r\n\t// layoutName,\r\n\t// initialCenterComponents\r\n\t// );\r\n\t// dropMovementEventSubject.next({\r\n\t// state: 'remove',\r\n\t// targetContainerName: containerName,\r\n\t// targetParentLayoutName: '',\r\n\t// targetLayoutName: parentLayoutName,\r\n\t// });\r\n\t// setIsEmptyContent(true);\r\n\t// }\r\n\t// return () => {\r\n\t// subscribe.unsubscribe();\r\n\t// };\r\n\t// });\r\n\t// }, [\r\n\t// layoutName,\r\n\t// beforeDropTargetComponent,\r\n\t// afterDropTargetComponent,\r\n\t// centerDropTargetComponent,\r\n\t// ]);\r\n\tconst [isOnlyOneScreen, setIsOnlyOneScreen] = useState<boolean>(false);\r\n\t// useEffect(() => {\r\n\t// const subscribe = allSplitScreenCount.subscribe(allSplitScreenCount => {\r\n\t// setIsOnlyOneScreen(allSplitScreenCount === 1);\r\n\t// });\r\n\t// return () => subscribe.unsubscribe();\r\n\t// }, []);\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{!isEmptyContent && (\r\n\t\t\t\t<div\r\n\t\t\t\t\tclassName={`${styles[\"flex-split-screen\"]}`}\r\n\t\t\t\t\tref={layoutRef}\r\n\t\t\t\t>\r\n\t\t\t\t\t<FlexLayout\r\n\t\t\t\t\t\tdirection={direction}\r\n\t\t\t\t\t\tlayoutName={`${layoutName}`}\r\n\t\t\t\t\t\tpanelMovementMode=\"bulldozer\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{beforeDropTargetComponent.length != 0 ? (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{beforeDropTargetComponent.map(\r\n\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\ti,\r\n\t\t\t\t\t\t\t\t\t) => (\r\n\t\t\t\t\t\t\t\t\t\t<FlexLayoutContainer\r\n\t\t\t\t\t\t\t\t\t\t\tcontainerName={cName}\r\n\t\t\t\t\t\t\t\t\t\t\tisInitialResizable\r\n\t\t\t\t\t\t\t\t\t\t\tisResizePanel\r\n\t\t\t\t\t\t\t\t\t\t\tkey={cName}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenChild\r\n\t\t\t\t\t\t\t\t\t\t\t\tparentDirection={direction}\r\n\t\t\t\t\t\t\t\t\t\t\t\tlayoutName={`${layoutName}_before-${depth}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\tparentLayoutName={layoutName}\r\n\t\t\t\t\t\t\t\t\t\t\t\tcontainerName={cName}\r\n\t\t\t\t\t\t\t\t\t\t\t\tdepth={depth + 1}\r\n\t\t\t\t\t\t\t\t\t\t\t\t//isSplit={isSplit}\r\n\t\t\t\t\t\t\t\t\t\t\t\trootRef={rootRef}\r\n\t\t\t\t\t\t\t\t\t\t\t\tscreenKey={screenKey}\r\n\t\t\t\t\t\t\t\t\t\t\t\tinitialCenterComponents={[\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t\t\t\t\t\trootName={rootName}\r\n\t\t\t\t\t\t\t\t\t\t\t></FlexLayoutSplitScreenChild>\r\n\t\t\t\t\t\t\t\t\t\t</FlexLayoutContainer>\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t</>\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<div></div>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{centerDropTargetComponent.length != 0 ? (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t<FlexLayoutContainer\r\n\t\t\t\t\t\t\t\t\tcontainerName={`${(centerDropTargetComponent[activeIndex] || centerDropTargetComponent[0]).containerName}`}\r\n\t\t\t\t\t\t\t\t\tisInitialResizable\r\n\t\t\t\t\t\t\t\t\tisResizePanel={isSplit}\r\n\t\t\t\t\t\t\t\t\tkey={\r\n\t\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[\r\n\t\t\t\t\t\t\t\t\t\t\t\tactiveIndex\r\n\t\t\t\t\t\t\t\t\t\t\t] || centerDropTargetComponent[0]\r\n\t\t\t\t\t\t\t\t\t\t).containerName\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t{isSplit ? (\r\n\t\t\t\t\t\t\t\t\t\t<div data-key={screenKey}>\r\n\t\t\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenChild\r\n\t\t\t\t\t\t\t\t\t\t\t\tparentDirection={direction}\r\n\t\t\t\t\t\t\t\t\t\t\t\tlayoutName={`${layoutName}_center-${depth}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\tparentLayoutName={layoutName}\r\n\t\t\t\t\t\t\t\t\t\t\t\tcontainerName={`${(centerDropTargetComponent[activeIndex] || centerDropTargetComponent[0]).containerName}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\tdepth={depth + 1}\r\n\t\t\t\t\t\t\t\t\t\t\t\trootRef={rootRef}\r\n\t\t\t\t\t\t\t\t\t\t\t\tinitialCenterComponents={centerDropTargetComponent.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tscreenKey:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcenterScreenKey,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}) => ({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tscreenKey:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcenterScreenKey,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\tscreenKey={screenKey}\r\n\t\t\t\t\t\t\t\t\t\t\t\trootName={rootName}\r\n\t\t\t\t\t\t\t\t\t\t\t></FlexLayoutSplitScreenChild>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenScrollBox\r\n\t\t\t\t\t\t\t\t\t\t\tkeyName={\r\n\t\t\t\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveIndex\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t] ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t).containerName\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tisDefaultScrollStyle={true}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t{!isOnlyOneScreen && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`${styles[\"flex-split-screen-drag-box-title-wrapper-sticky\"]}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-is_split={isSplit}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-layout_name={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-parent_layout_name={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tparentLayoutName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-container_name={`${(centerDropTargetComponent[activeIndex] || centerDropTargetComponent[0]).containerName}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`${styles[\"flex-split-screen-drag-box-title-wrapper\"]}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenDragBoxContainer\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={layoutName}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-layout_name={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutName={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{centerDropTargetComponent.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenDragBoxItem\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose={(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tev,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveIndexRef.current ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent.length ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropMovementEventSubject.next(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstate: \"remove\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetContainerName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontainerName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetParentLayoutName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tparentLayoutName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetLayoutName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent.length ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveIndexRef.current +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetActiveIndex(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveIndexRef.current -\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetCenterDropTargetComponent(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tprev,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst result =\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleRemove(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tprev,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.containerName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t() => {},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn result;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.navigationTitle +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutName +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.containerName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisActive={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveIndex ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenDragBox\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetActiveIndex(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontainerName={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.containerName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.dropDocumentOutsideOption\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetComponent={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.component\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnavigationTitle={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.navigationTitle\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-container-name={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.containerName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-layout-name={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-parent-layout-name={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tparentLayoutName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropEndCallback={({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tx,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ty,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontainerName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tappendContainerName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}) =>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t//isDroppedInValidArea: boolean\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t!rootRef.current ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t!layoutRef.current\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn;\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst isRootOver =\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisOverDrop(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tx,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ty,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trootRef.current,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst isLayoutInner =\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisInnerDrop(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tx,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ty,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutRef.current,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(!isRootOver &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t!isLayoutInner) ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(!isRootOver &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLayoutInner &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponentRef\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.current\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.length >\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst option =\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{};\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponentRef\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.current\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.length >\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadjacentItem,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadjacentIndex,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} =\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tgetAdjacentItem(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponentRef.current,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveIndexRef.current,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadjacentItem &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveIndexRef.current ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t//탭 이동이고 현재 활성화 된 탭인 경우우\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toption,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tx,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ty,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetComponent:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadjacentItem.component,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnextContainerName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadjacentItem.containerName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\torderName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"center\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropTargetComponentEvent:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnavigationTitle:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadjacentItem.navigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadjacentItem.dropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdirection:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdirection,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t0\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t//이동하려는 탭이 첫번째일 때 (position = center)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropMovementEventSubject.next(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstate: \"remove\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetContainerName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.containerName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetParentLayoutName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tparentLayoutName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetLayoutName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...option,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t//이동하려는 탭이 첫번째가 아닐 때 (position = center > center)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropMovementEventSubject.next(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstate: \"remove\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetContainerName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.containerName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetParentLayoutName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetLayoutName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...option,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.navigationTitle\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</FlexLayoutSplitScreenDragBox>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</FlexLayoutSplitScreenDragBoxItem>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</FlexLayoutSplitScreenDragBoxContainer>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenDragBoxTitleMore></FlexLayoutSplitScreenDragBoxTitleMore>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t{(() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tconst target =\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveIndex\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t] ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0];\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn target.component;\r\n\t\t\t\t\t\t\t\t\t\t\t})()}\r\n\t\t\t\t\t\t\t\t\t\t</FlexLayoutSplitScreenScrollBox>\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t</FlexLayoutContainer>\r\n\t\t\t\t\t\t\t</>\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<div></div>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{afterDropTargetComponent.length != 0 ? (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{afterDropTargetComponent.map(\r\n\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\ti,\r\n\t\t\t\t\t\t\t\t\t) => (\r\n\t\t\t\t\t\t\t\t\t\t<FlexLayoutContainer\r\n\t\t\t\t\t\t\t\t\t\t\tcontainerName={cName}\r\n\t\t\t\t\t\t\t\t\t\t\tisInitialResizable\r\n\t\t\t\t\t\t\t\t\t\t\tisResizePanel={\r\n\t\t\t\t\t\t\t\t\t\t\t\ti !==\r\n\t\t\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent.length -\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t1\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tkey={cName}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenChild\r\n\t\t\t\t\t\t\t\t\t\t\t\tparentDirection={direction}\r\n\t\t\t\t\t\t\t\t\t\t\t\tlayoutName={`${layoutName}_after-${depth}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\tparentLayoutName={layoutName}\r\n\t\t\t\t\t\t\t\t\t\t\t\tcontainerName={cName}\r\n\t\t\t\t\t\t\t\t\t\t\t\tdepth={depth + 1}\r\n\t\t\t\t\t\t\t\t\t\t\t\t//isSplit={isSplit}\r\n\t\t\t\t\t\t\t\t\t\t\t\trootRef={rootRef}\r\n\t\t\t\t\t\t\t\t\t\t\t\tscreenKey={screenKey}\r\n\t\t\t\t\t\t\t\t\t\t\t\tinitialCenterComponents={[\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t\t\t\t\t\trootName={rootName}\r\n\t\t\t\t\t\t\t\t\t\t\t></FlexLayoutSplitScreenChild>\r\n\t\t\t\t\t\t\t\t\t\t</FlexLayoutContainer>\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t</>\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<div></div>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</FlexLayout>\r\n\t\t\t\t\t{boundaryContainerSize && (\r\n\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\tclassName={`${styles[\"flex-split-screen-boundary-container\"]}`}\r\n\t\t\t\t\t\t\tstyle={{ ...boundaryContainerSize }}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t⬇️드롭하면 화면이 분할됩니다.\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t)}\r\n\t\t\t\t</div>\r\n\t\t\t)}\r\n\t\t</>\r\n\t);\r\n}\r\n"]}
|