@byeolnaerim/flex-layout 0.0.8 → 0.0.9

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.
Files changed (127) hide show
  1. package/dist/flex-layout/components/FlexLayout.cjs +62 -28
  2. package/dist/flex-layout/components/FlexLayout.cjs.map +1 -1
  3. package/dist/flex-layout/components/FlexLayout.js +26 -11
  4. package/dist/flex-layout/components/FlexLayout.js.map +1 -1
  5. package/dist/flex-layout/components/FlexLayoutContainer.cjs +121 -55
  6. package/dist/flex-layout/components/FlexLayoutContainer.cjs.map +1 -1
  7. package/dist/flex-layout/components/FlexLayoutContainer.js +68 -25
  8. package/dist/flex-layout/components/FlexLayoutContainer.js.map +1 -1
  9. package/dist/flex-layout/components/FlexLayoutIFramePane.cjs +68 -0
  10. package/dist/flex-layout/components/FlexLayoutIFramePane.cjs.map +1 -0
  11. package/dist/flex-layout/components/FlexLayoutIFramePane.d.ts +4 -0
  12. package/dist/flex-layout/components/FlexLayoutIFramePane.js +44 -0
  13. package/dist/flex-layout/components/FlexLayoutIFramePane.js.map +1 -0
  14. package/dist/flex-layout/components/FlexLayoutResizePanel.cjs +96 -42
  15. package/dist/flex-layout/components/FlexLayoutResizePanel.cjs.map +1 -1
  16. package/dist/flex-layout/components/FlexLayoutResizePanel.d.ts +1 -1
  17. package/dist/flex-layout/components/FlexLayoutResizePanel.js +44 -14
  18. package/dist/flex-layout/components/FlexLayoutResizePanel.js.map +1 -1
  19. package/dist/flex-layout/components/FlexLayoutSplitScreen.cjs +184 -143
  20. package/dist/flex-layout/components/FlexLayoutSplitScreen.cjs.map +1 -1
  21. package/dist/flex-layout/components/FlexLayoutSplitScreen.js +71 -32
  22. package/dist/flex-layout/components/FlexLayoutSplitScreen.js.map +1 -1
  23. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBox.cjs +253 -60
  24. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBox.cjs.map +1 -1
  25. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBox.d.ts +1 -1
  26. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBox.js +215 -39
  27. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBox.js.map +1 -1
  28. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxContainer.cjs +40 -17
  29. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxContainer.cjs.map +1 -1
  30. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxContainer.js +7 -7
  31. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxContainer.js.map +1 -1
  32. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxItem.cjs +44 -21
  33. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxItem.cjs.map +1 -1
  34. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxItem.js +7 -8
  35. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxItem.js.map +1 -1
  36. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxTitleMore.cjs +40 -17
  37. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxTitleMore.cjs.map +1 -1
  38. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxTitleMore.js +5 -6
  39. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxTitleMore.js.map +1 -1
  40. package/dist/flex-layout/components/FlexLayoutSplitScreenScrollBox.cjs +53 -29
  41. package/dist/flex-layout/components/FlexLayoutSplitScreenScrollBox.cjs.map +1 -1
  42. package/dist/flex-layout/components/FlexLayoutSplitScreenScrollBox.js +14 -10
  43. package/dist/flex-layout/components/FlexLayoutSplitScreenScrollBox.js.map +1 -1
  44. package/dist/flex-layout/components/FlexLayoutStickyBox.cjs +46 -27
  45. package/dist/flex-layout/components/FlexLayoutStickyBox.cjs.map +1 -1
  46. package/dist/flex-layout/components/FlexLayoutStickyBox.d.ts +1 -0
  47. package/dist/flex-layout/components/FlexLayoutStickyBox.js +13 -8
  48. package/dist/flex-layout/components/FlexLayoutStickyBox.js.map +1 -1
  49. package/dist/flex-layout/components/index.cjs +54 -49
  50. package/dist/flex-layout/components/index.cjs.map +1 -1
  51. package/dist/flex-layout/components/index.js +16 -8
  52. package/dist/flex-layout/components/index.js.map +1 -1
  53. package/dist/flex-layout/hooks/index.cjs +23 -19
  54. package/dist/flex-layout/hooks/index.cjs.map +1 -1
  55. package/dist/flex-layout/hooks/index.js +2 -3
  56. package/dist/flex-layout/hooks/index.js.map +1 -1
  57. package/dist/flex-layout/hooks/useDrag.cjs +136 -79
  58. package/dist/flex-layout/hooks/useDrag.cjs.map +1 -1
  59. package/dist/flex-layout/hooks/useDrag.d.ts +5 -0
  60. package/dist/flex-layout/hooks/useDrag.js +86 -47
  61. package/dist/flex-layout/hooks/useDrag.js.map +1 -1
  62. package/dist/flex-layout/hooks/useFlexLayoutSplitScreen.cjs +40 -19
  63. package/dist/flex-layout/hooks/useFlexLayoutSplitScreen.cjs.map +1 -1
  64. package/dist/flex-layout/hooks/useFlexLayoutSplitScreen.js +9 -7
  65. package/dist/flex-layout/hooks/useFlexLayoutSplitScreen.js.map +1 -1
  66. package/dist/flex-layout/hooks/useListPaging.cjs +68 -35
  67. package/dist/flex-layout/hooks/useListPaging.cjs.map +1 -1
  68. package/dist/flex-layout/hooks/useListPaging.js +34 -18
  69. package/dist/flex-layout/hooks/useListPaging.js.map +1 -1
  70. package/dist/flex-layout/hooks/useSizes.cjs +45 -23
  71. package/dist/flex-layout/hooks/useSizes.cjs.map +1 -1
  72. package/dist/flex-layout/hooks/useSizes.js +6 -6
  73. package/dist/flex-layout/hooks/useSizes.js.map +1 -1
  74. package/dist/flex-layout/index.cjs +29 -40
  75. package/dist/flex-layout/index.cjs.map +1 -1
  76. package/dist/flex-layout/index.js +5 -6
  77. package/dist/flex-layout/index.js.map +1 -1
  78. package/dist/flex-layout/providers/FlexLayoutContext.cjs +35 -12
  79. package/dist/flex-layout/providers/FlexLayoutContext.cjs.map +1 -1
  80. package/dist/flex-layout/providers/FlexLayoutContext.js +7 -6
  81. package/dist/flex-layout/providers/FlexLayoutContext.js.map +1 -1
  82. package/dist/flex-layout/providers/FlexLayoutHooks.cjs +82 -53
  83. package/dist/flex-layout/providers/FlexLayoutHooks.cjs.map +1 -1
  84. package/dist/flex-layout/providers/FlexLayoutHooks.js +33 -8
  85. package/dist/flex-layout/providers/FlexLayoutHooks.js.map +1 -1
  86. package/dist/flex-layout/providers/index.cjs +21 -12
  87. package/dist/flex-layout/providers/index.cjs.map +1 -1
  88. package/dist/flex-layout/providers/index.js +1 -2
  89. package/dist/flex-layout/providers/index.js.map +1 -1
  90. package/dist/flex-layout/store/FlexLayoutContainerStore.cjs +130 -76
  91. package/dist/flex-layout/store/FlexLayoutContainerStore.cjs.map +1 -1
  92. package/dist/flex-layout/store/FlexLayoutContainerStore.d.ts +1 -0
  93. package/dist/flex-layout/store/FlexLayoutContainerStore.js +63 -38
  94. package/dist/flex-layout/store/FlexLayoutContainerStore.js.map +1 -1
  95. package/dist/flex-layout/store/index.cjs +21 -12
  96. package/dist/flex-layout/store/index.cjs.map +1 -1
  97. package/dist/flex-layout/store/index.js +1 -2
  98. package/dist/flex-layout/store/index.js.map +1 -1
  99. package/dist/flex-layout/types/FlexDirectionTypes.cjs +16 -3
  100. package/dist/flex-layout/types/FlexDirectionTypes.cjs.map +1 -1
  101. package/dist/flex-layout/types/FlexDirectionTypes.js +0 -2
  102. package/dist/flex-layout/types/FlexDirectionTypes.js.map +1 -1
  103. package/dist/flex-layout/types/FlexLayoutTypes.cjs +16 -3
  104. package/dist/flex-layout/types/FlexLayoutTypes.cjs.map +1 -1
  105. package/dist/flex-layout/types/FlexLayoutTypes.d.ts +1 -3
  106. package/dist/flex-layout/types/FlexLayoutTypes.js +0 -2
  107. package/dist/flex-layout/types/FlexLayoutTypes.js.map +1 -1
  108. package/dist/flex-layout/utils/FlexLayoutUtils.cjs +57 -20
  109. package/dist/flex-layout/utils/FlexLayoutUtils.cjs.map +1 -1
  110. package/dist/flex-layout/utils/FlexLayoutUtils.d.ts +4 -4
  111. package/dist/flex-layout/utils/FlexLayoutUtils.js +23 -8
  112. package/dist/flex-layout/utils/FlexLayoutUtils.js.map +1 -1
  113. package/dist/flex-layout/utils/index.cjs +21 -12
  114. package/dist/flex-layout/utils/index.cjs.map +1 -1
  115. package/dist/flex-layout/utils/index.js +1 -2
  116. package/dist/flex-layout/utils/index.js.map +1 -1
  117. package/dist/index.cjs +21 -12
  118. package/dist/index.cjs.map +1 -1
  119. package/dist/index.js +1 -2
  120. package/dist/index.js.map +1 -1
  121. package/dist/metafile-cjs.json +1 -0
  122. package/dist/metafile-esm.json +1 -0
  123. package/dist/types/css.d.cjs +1 -3
  124. package/dist/types/css.d.cjs.map +1 -1
  125. package/dist/types/css.d.js +0 -2
  126. package/dist/types/css.d.js.map +1 -1
  127. package/package.json +5 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/flex-layout/components/FlexLayoutSplitScreen.tsx"],"names":["children","navigationTitle","dropDocumentOutsideOption","screenKey"],"mappings":"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","file":"FlexLayoutSplitScreen.js","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"]}
1
+ {"version":3,"sources":["../../../src/flex-layout/components/FlexLayoutSplitScreen.tsx"],"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\tremoveRootSplitScreen,\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\tremoveRootSplitScreen(layoutName);\r\n\t\t};\r\n\t}, [layoutName, screenKey, navigationTitle, children, direction]);\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\tdropTargetComponentEvent.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 initialCenterRef = useRef<DropTargetComponent[]>(\r\n\t\tinitialCenterComponents ?? [],\r\n\t);\r\n\r\n\tconst activeIndexRef = useRef(activeIndex);\r\n\tuseEffect(() => {\r\n\t\tconst storeKey = `${layoutName}=${screenKey}`;\r\n\r\n\t\tconst subscribe = getSplitScreen(rootName, storeKey)\r\n\t\t\t.pipe(take(1))\r\n\t\t\t.subscribe((layoutInfo) => {\r\n\t\t\t\tif (layoutInfo) return;\r\n\r\n\t\t\t\tsetSplitScreen(rootName, storeKey, {\r\n\t\t\t\t\tafterDropTargetComponent: [],\r\n\t\t\t\t\tbeforeDropTargetComponent: [],\r\n\t\t\t\t\tcenterDropTargetComponent: initialCenterRef.current,\r\n\t\t\t\t\tdirection,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\treturn () => {\r\n\t\t\tremoveSplitScreenChild(rootName, `${layoutName}=${screenKey}`);\r\n\t\t\tsubscribe.unsubscribe();\r\n\t\t};\r\n\t}, [rootName, layoutName, screenKey]);\r\n\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\tremoveRootSplitScreen(layoutName);\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 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\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\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// store도 같이 업데이트 (닫힌 탭의 ReactElement 참조를 store에서 제거)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst key = `${layoutName}=${screenKey}`;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst 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\tgetCurrentSplitScreenComponents(\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\trootName,\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\tkey,\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\tafterDropTargetComponent,\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\tbeforeDropTargetComponent,\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\tcenterDropTargetComponent:\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\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\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};\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\tsetSplitScreen(\r\n\t\t\t\t\t\t\t\t\t\t\t\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\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\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...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\tcenterDropTargetComponent:\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\tnext,\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\t\treturn 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);\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\tscreenKey={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.screenKey\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\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"],"mappings":"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","names":["children","navigationTitle","dropDocumentOutsideOption","screenKey"]}