@j-solution/components 1.6.1 → 1.8.0

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 (272) hide show
  1. package/README.md +8 -6
  2. package/assets/jwms-portal-frontend-BtHTA-UF.css +1 -0
  3. package/assets/styles/global-utilities.css +34 -0
  4. package/assets/styles/j-components.css +1 -1
  5. package/assets/styles/themes.css +128 -21
  6. package/components/atoms/JAvatar.vue.cjs +1 -1
  7. package/components/atoms/JAvatar.vue.cjs.map +1 -1
  8. package/components/atoms/JAvatar.vue.js +10 -7
  9. package/components/atoms/JAvatar.vue.js.map +1 -1
  10. package/components/atoms/JBadge.vue.cjs +1 -1
  11. package/components/atoms/JBadge.vue.cjs.map +1 -1
  12. package/components/atoms/JBadge.vue.js +7 -6
  13. package/components/atoms/JBadge.vue.js.map +1 -1
  14. package/components/atoms/JButton.vue.cjs +6 -1
  15. package/components/atoms/JButton.vue.cjs.map +1 -1
  16. package/components/atoms/JButton.vue.js +10 -85
  17. package/components/atoms/JButton.vue.js.map +1 -1
  18. package/components/atoms/JButton.vue2.cjs +1 -1
  19. package/components/atoms/JButton.vue2.cjs.map +1 -1
  20. package/components/atoms/JButton.vue2.js +85 -2
  21. package/components/atoms/JButton.vue2.js.map +1 -1
  22. package/components/atoms/JDatepicker.vue.cjs +1 -1
  23. package/components/atoms/JDatepicker.vue.cjs.map +1 -1
  24. package/components/atoms/JDatepicker.vue.js +10 -10
  25. package/components/atoms/JDatepicker.vue.js.map +1 -1
  26. package/components/atoms/JEditor.vue.cjs +1 -1
  27. package/components/atoms/JEditor.vue.js +1 -1
  28. package/components/atoms/JEditor.vue2.cjs +1 -1
  29. package/components/atoms/JEditor.vue2.cjs.map +1 -1
  30. package/components/atoms/JEditor.vue2.js +31 -17
  31. package/components/atoms/JEditor.vue2.js.map +1 -1
  32. package/components/atoms/JGrid.vue.cjs +1 -1
  33. package/components/atoms/JGrid.vue.js +2 -2
  34. package/components/atoms/JGrid.vue2.cjs +1 -1
  35. package/components/atoms/JGrid.vue2.cjs.map +1 -1
  36. package/components/atoms/JGrid.vue2.js +59 -43
  37. package/components/atoms/JGrid.vue2.js.map +1 -1
  38. package/components/atoms/JIcon.vue.cjs +1 -1
  39. package/components/atoms/JIcon.vue.cjs.map +1 -1
  40. package/components/atoms/JIcon.vue.js +14 -13
  41. package/components/atoms/JIcon.vue.js.map +1 -1
  42. package/components/atoms/JKbd.vue.cjs +1 -1
  43. package/components/atoms/JKbd.vue.cjs.map +1 -1
  44. package/components/atoms/JKbd.vue.js +13 -10
  45. package/components/atoms/JKbd.vue.js.map +1 -1
  46. package/components/atoms/JLabel.vue.cjs +1 -1
  47. package/components/atoms/JLabel.vue.cjs.map +1 -1
  48. package/components/atoms/JLabel.vue.js +26 -22
  49. package/components/atoms/JLabel.vue.js.map +1 -1
  50. package/components/atoms/JLink.vue.cjs +1 -1
  51. package/components/atoms/JLink.vue.cjs.map +1 -1
  52. package/components/atoms/JLink.vue.js +5 -5
  53. package/components/atoms/JLink.vue.js.map +1 -1
  54. package/components/atoms/JPreview.vue.cjs +1 -1
  55. package/components/atoms/JPreview.vue.js +2 -2
  56. package/components/atoms/JPreview.vue2.cjs +1 -1
  57. package/components/atoms/JPreview.vue2.cjs.map +1 -1
  58. package/components/atoms/JPreview.vue2.js +33 -20
  59. package/components/atoms/JPreview.vue2.js.map +1 -1
  60. package/components/atoms/JProgress.vue.cjs +1 -1
  61. package/components/atoms/JProgress.vue.cjs.map +1 -1
  62. package/components/atoms/JProgress.vue.js +15 -9
  63. package/components/atoms/JProgress.vue.js.map +1 -1
  64. package/components/atoms/JRadio.vue.cjs +1 -1
  65. package/components/atoms/JRadio.vue.cjs.map +1 -1
  66. package/components/atoms/JRadio.vue.js +1 -1
  67. package/components/atoms/JRadio.vue.js.map +1 -1
  68. package/components/atoms/JSearchCombo.vue.cjs +1 -1
  69. package/components/atoms/JSearchCombo.vue.cjs.map +1 -1
  70. package/components/atoms/JSearchCombo.vue.js +38 -37
  71. package/components/atoms/JSearchCombo.vue.js.map +1 -1
  72. package/components/atoms/JSectionTitle.vue.cjs +7 -0
  73. package/components/atoms/JSectionTitle.vue.cjs.map +1 -0
  74. package/components/atoms/JSectionTitle.vue.js +13 -0
  75. package/components/atoms/JSectionTitle.vue.js.map +1 -0
  76. package/components/atoms/JSectionTitle.vue2.cjs +2 -0
  77. package/components/atoms/JSectionTitle.vue2.cjs.map +1 -0
  78. package/components/atoms/JSectionTitle.vue2.js +67 -0
  79. package/components/atoms/JSectionTitle.vue2.js.map +1 -0
  80. package/components/atoms/JSpinner.vue.cjs +1 -1
  81. package/components/atoms/JSpinner.vue.cjs.map +1 -1
  82. package/components/atoms/JSpinner.vue.js +8 -7
  83. package/components/atoms/JSpinner.vue.js.map +1 -1
  84. package/components/atoms/JSplitter.vue.cjs +6 -1
  85. package/components/atoms/JSplitter.vue.cjs.map +1 -1
  86. package/components/atoms/JSplitter.vue.js +10 -54
  87. package/components/atoms/JSplitter.vue.js.map +1 -1
  88. package/components/atoms/JSplitter.vue2.cjs +1 -1
  89. package/components/atoms/JSplitter.vue2.cjs.map +1 -1
  90. package/components/atoms/JSplitter.vue2.js +59 -2
  91. package/components/atoms/JSplitter.vue2.js.map +1 -1
  92. package/components/atoms/JTooltip.vue.cjs +1 -1
  93. package/components/atoms/JTooltip.vue.cjs.map +1 -1
  94. package/components/atoms/JTooltip.vue.js +18 -15
  95. package/components/atoms/JTooltip.vue.js.map +1 -1
  96. package/components/examples/ExampleCrudPage.vue.cjs +1 -1
  97. package/components/examples/ExampleCrudPage.vue.cjs.map +1 -1
  98. package/components/examples/ExampleCrudPage.vue.js +265 -191
  99. package/components/examples/ExampleCrudPage.vue.js.map +1 -1
  100. package/components/examples/ExampleTabMappingPage.vue.cjs +1 -1
  101. package/components/examples/ExampleTabMappingPage.vue.cjs.map +1 -1
  102. package/components/examples/ExampleTabMappingPage.vue.js +349 -333
  103. package/components/examples/ExampleTabMappingPage.vue.js.map +1 -1
  104. package/components/molecules/JAlert.vue.cjs +1 -1
  105. package/components/molecules/JAlert.vue.cjs.map +1 -1
  106. package/components/molecules/JAlert.vue.js +18 -16
  107. package/components/molecules/JAlert.vue.js.map +1 -1
  108. package/components/molecules/JBreadcrumb.vue.cjs +1 -1
  109. package/components/molecules/JBreadcrumb.vue.cjs.map +1 -1
  110. package/components/molecules/JBreadcrumb.vue.js +3 -3
  111. package/components/molecules/JBreadcrumb.vue.js.map +1 -1
  112. package/components/molecules/JCard.vue.cjs +1 -1
  113. package/components/molecules/JCard.vue.cjs.map +1 -1
  114. package/components/molecules/JCard.vue.js +55 -39
  115. package/components/molecules/JCard.vue.js.map +1 -1
  116. package/components/molecules/JEmptyState.vue.cjs +7 -0
  117. package/components/molecules/JEmptyState.vue.cjs.map +1 -0
  118. package/components/molecules/JEmptyState.vue.js +13 -0
  119. package/components/molecules/JEmptyState.vue.js.map +1 -0
  120. package/components/molecules/JEmptyState.vue2.cjs +2 -0
  121. package/components/molecules/JEmptyState.vue2.cjs.map +1 -0
  122. package/components/molecules/JEmptyState.vue2.js +127 -0
  123. package/components/molecules/JEmptyState.vue2.js.map +1 -0
  124. package/components/molecules/JFormField.vue.cjs +6 -1
  125. package/components/molecules/JFormField.vue.cjs.map +1 -1
  126. package/components/molecules/JFormField.vue.js +10 -262
  127. package/components/molecules/JFormField.vue.js.map +1 -1
  128. package/components/molecules/JFormField.vue2.cjs +2 -0
  129. package/components/molecules/JFormField.vue2.cjs.map +1 -0
  130. package/components/molecules/JFormField.vue2.js +271 -0
  131. package/components/molecules/JFormField.vue2.js.map +1 -0
  132. package/components/molecules/JTabs.vue.cjs +1 -1
  133. package/components/molecules/JTabs.vue.js +1 -1
  134. package/components/molecules/JTabs.vue2.cjs +1 -1
  135. package/components/molecules/JTabs.vue2.cjs.map +1 -1
  136. package/components/molecules/JTabs.vue2.js +50 -56
  137. package/components/molecules/JTabs.vue2.js.map +1 -1
  138. package/components/molecules/JTitlebar.vue.cjs +1 -1
  139. package/components/molecules/JTitlebar.vue.cjs.map +1 -1
  140. package/components/molecules/JTitlebar.vue.js +49 -47
  141. package/components/molecules/JTitlebar.vue.js.map +1 -1
  142. package/components/organisms/JDynamicForm.vue2.cjs +1 -1
  143. package/components/organisms/JDynamicForm.vue2.cjs.map +1 -1
  144. package/components/organisms/JDynamicForm.vue2.js +35 -32
  145. package/components/organisms/JDynamicForm.vue2.js.map +1 -1
  146. package/components/organisms/JDynamicTabs.vue.cjs +1 -1
  147. package/components/organisms/JDynamicTabs.vue.cjs.map +1 -1
  148. package/components/organisms/JDynamicTabs.vue.js +47 -52
  149. package/components/organisms/JDynamicTabs.vue.js.map +1 -1
  150. package/components/organisms/JFilterBar.vue.cjs +6 -1
  151. package/components/organisms/JFilterBar.vue.cjs.map +1 -1
  152. package/components/organisms/JFilterBar.vue.js +10 -137
  153. package/components/organisms/JFilterBar.vue.js.map +1 -1
  154. package/components/organisms/JFilterBar.vue2.cjs +1 -1
  155. package/components/organisms/JFilterBar.vue2.cjs.map +1 -1
  156. package/components/organisms/JFilterBar.vue2.js +141 -2
  157. package/components/organisms/JFilterBar.vue2.js.map +1 -1
  158. package/components/organisms/JFormModal.vue.cjs +1 -1
  159. package/components/organisms/JFormModal.vue.cjs.map +1 -1
  160. package/components/organisms/JFormModal.vue.js +54 -49
  161. package/components/organisms/JFormModal.vue.js.map +1 -1
  162. package/components/organisms/JHeader.vue.cjs +1 -1
  163. package/components/organisms/JHeader.vue.cjs.map +1 -1
  164. package/components/organisms/JHeader.vue.js +211 -208
  165. package/components/organisms/JHeader.vue.js.map +1 -1
  166. package/components/organisms/JModal.vue.cjs +1 -1
  167. package/components/organisms/JModal.vue.cjs.map +1 -1
  168. package/components/organisms/JModal.vue.js +31 -26
  169. package/components/organisms/JModal.vue.js.map +1 -1
  170. package/components/organisms/JPageContainer.vue.cjs +1 -1
  171. package/components/organisms/JPageContainer.vue.cjs.map +1 -1
  172. package/components/organisms/JPageContainer.vue.js +22 -22
  173. package/components/organisms/JPageContainer.vue.js.map +1 -1
  174. package/components/organisms/JSearchPanel.vue2.cjs +1 -1
  175. package/components/organisms/JSearchPanel.vue2.cjs.map +1 -1
  176. package/components/organisms/JSearchPanel.vue2.js +34 -32
  177. package/components/organisms/JSearchPanel.vue2.js.map +1 -1
  178. package/components/organisms/JShuttle.vue.cjs +7 -0
  179. package/components/organisms/JShuttle.vue.cjs.map +1 -0
  180. package/components/organisms/JShuttle.vue.js +13 -0
  181. package/components/organisms/JShuttle.vue.js.map +1 -0
  182. package/components/organisms/JShuttle.vue2.cjs +2 -0
  183. package/components/organisms/JShuttle.vue2.cjs.map +1 -0
  184. package/components/organisms/JShuttle.vue2.js +216 -0
  185. package/components/organisms/JShuttle.vue2.js.map +1 -0
  186. package/components/organisms/JSidebarAdvanced.vue.cjs +1 -1
  187. package/components/organisms/JSidebarAdvanced.vue.js +7 -7
  188. package/components/organisms/JSidebarAdvanced.vue2.cjs +1 -1
  189. package/components/organisms/JSidebarAdvanced.vue2.cjs.map +1 -1
  190. package/components/organisms/JSidebarAdvanced.vue2.js +40 -40
  191. package/components/organisms/JSidebarAdvanced.vue2.js.map +1 -1
  192. package/components/organisms/JSidebarSimple/JDynamicMenuItem.vue.cjs +1 -1
  193. package/components/organisms/JSidebarSimple/JDynamicMenuItem.vue.cjs.map +1 -1
  194. package/components/organisms/JSidebarSimple/JDynamicMenuItem.vue.js +83 -63
  195. package/components/organisms/JSidebarSimple/JDynamicMenuItem.vue.js.map +1 -1
  196. package/components/organisms/JSidebarSimple.vue.cjs +1 -1
  197. package/components/organisms/JSidebarSimple.vue.js +2 -2
  198. package/components/organisms/JSidebarSimple.vue2.cjs +1 -1
  199. package/components/organisms/JSidebarSimple.vue2.cjs.map +1 -1
  200. package/components/organisms/JSidebarSimple.vue2.js +2 -2
  201. package/components/organisms/JSidebarSimple.vue2.js.map +1 -1
  202. package/components/shadcn/AccordionTrigger.vue.cjs +1 -1
  203. package/components/shadcn/AccordionTrigger.vue.cjs.map +1 -1
  204. package/components/shadcn/AccordionTrigger.vue.js +3 -3
  205. package/components/shadcn/AccordionTrigger.vue.js.map +1 -1
  206. package/components/shadcn/Card.vue.cjs +1 -1
  207. package/components/shadcn/Card.vue.cjs.map +1 -1
  208. package/components/shadcn/Card.vue.js +1 -1
  209. package/components/shadcn/Card.vue.js.map +1 -1
  210. package/components/shadcn/CardContent.vue.cjs +1 -1
  211. package/components/shadcn/CardContent.vue.cjs.map +1 -1
  212. package/components/shadcn/CardContent.vue.js +4 -4
  213. package/components/shadcn/CardContent.vue.js.map +1 -1
  214. package/components/shadcn/CardDescription.vue.cjs +1 -1
  215. package/components/shadcn/CardDescription.vue.cjs.map +1 -1
  216. package/components/shadcn/CardDescription.vue.js +1 -1
  217. package/components/shadcn/CardDescription.vue.js.map +1 -1
  218. package/components/shadcn/CardFooter.vue.cjs +1 -1
  219. package/components/shadcn/CardFooter.vue.cjs.map +1 -1
  220. package/components/shadcn/CardFooter.vue.js +7 -7
  221. package/components/shadcn/CardFooter.vue.js.map +1 -1
  222. package/components/shadcn/CardHeader.vue.cjs +1 -1
  223. package/components/shadcn/CardHeader.vue.cjs.map +1 -1
  224. package/components/shadcn/CardHeader.vue.js +8 -8
  225. package/components/shadcn/CardHeader.vue.js.map +1 -1
  226. package/components/shadcn/CardTitle.vue.cjs +1 -1
  227. package/components/shadcn/CardTitle.vue.cjs.map +1 -1
  228. package/components/shadcn/CardTitle.vue.js +5 -5
  229. package/components/shadcn/CardTitle.vue.js.map +1 -1
  230. package/components/shadcn/Input.vue.cjs +1 -1
  231. package/components/shadcn/Input.vue.cjs.map +1 -1
  232. package/components/shadcn/Input.vue.js +3 -3
  233. package/components/shadcn/Input.vue.js.map +1 -1
  234. package/components/shadcn/SelectTrigger.vue.cjs +1 -1
  235. package/components/shadcn/SelectTrigger.vue.cjs.map +1 -1
  236. package/components/shadcn/SelectTrigger.vue.js +2 -2
  237. package/components/shadcn/SelectTrigger.vue.js.map +1 -1
  238. package/components/shadcn/Switch.vue.cjs +1 -1
  239. package/components/shadcn/Switch.vue.cjs.map +1 -1
  240. package/components/shadcn/Switch.vue.js +2 -2
  241. package/components/shadcn/Switch.vue.js.map +1 -1
  242. package/components/shadcn/TabsContent.vue.cjs +1 -1
  243. package/components/shadcn/TabsContent.vue.cjs.map +1 -1
  244. package/components/shadcn/TabsContent.vue.js +1 -1
  245. package/components/shadcn/TabsContent.vue.js.map +1 -1
  246. package/components/shadcn/TabsList.vue.cjs +1 -1
  247. package/components/shadcn/TabsList.vue.cjs.map +1 -1
  248. package/components/shadcn/TabsList.vue.js +10 -10
  249. package/components/shadcn/TabsList.vue.js.map +1 -1
  250. package/components/shadcn/TabsTrigger.vue.cjs +1 -1
  251. package/components/shadcn/TabsTrigger.vue.cjs.map +1 -1
  252. package/components/shadcn/TabsTrigger.vue.js +4 -4
  253. package/components/shadcn/TabsTrigger.vue.js.map +1 -1
  254. package/components/shadcn/Textarea.vue.cjs +1 -1
  255. package/components/shadcn/Textarea.vue.cjs.map +1 -1
  256. package/components/shadcn/Textarea.vue.js +2 -2
  257. package/components/shadcn/Textarea.vue.js.map +1 -1
  258. package/components/shadcn/index.cjs +1 -1
  259. package/components/shadcn/index.cjs.map +1 -1
  260. package/components/shadcn/index.js +9 -8
  261. package/components/shadcn/index.js.map +1 -1
  262. package/components/templates/JLayout.vue.cjs.map +1 -1
  263. package/components/templates/JLayout.vue.js.map +1 -1
  264. package/index.cjs +1 -1
  265. package/index.js +73 -67
  266. package/package.json +1 -1
  267. package/types/index.d.ts +1025 -766
  268. package/assets/jwms-portal-frontend-DntSIcYt.css +0 -1
  269. package/components/molecules/JFormField.vue3.cjs +0 -2
  270. package/components/molecules/JFormField.vue3.cjs.map +0 -1
  271. package/components/molecules/JFormField.vue3.js +0 -6
  272. package/components/molecules/JFormField.vue3.js.map +0 -1
@@ -1,15 +1,15 @@
1
- import { defineComponent as oe, ref as r, computed as A, createElementBlock as te, openBlock as R, createVNode as a, unref as t, withCtx as i, createElementVNode as s, createTextVNode as d, toDisplayString as ae, createBlock as ie, createCommentVNode as se } from "vue";
2
- import b from "../molecules/JFormField.vue.js";
3
- /* empty css */
1
+ import { defineComponent as te, ref as r, resolveComponent as oe, createBlock as b, openBlock as g, withCtx as a, createVNode as i, unref as o, createElementVNode as n, createTextVNode as d, createCommentVNode as ae } from "vue";
2
+ import y from "../molecules/JFormField.vue.js";
4
3
  import "../shadcn/index.js";
5
4
  import "@vueuse/core";
6
5
  import "reka-ui";
7
6
  import "clsx";
8
7
  import "tailwind-merge";
9
8
  import "lucide-vue-next";
10
- import re from "../molecules/JTabs.vue.js";
9
+ import ie from "../molecules/JTabs.vue.js";
11
10
  /* empty css */
12
11
  /* empty css */
12
+ import re from "../molecules/JCard.vue.js";
13
13
  import u from "../atoms/JButton.vue.js";
14
14
  import "@internationalized/date";
15
15
  import "md-editor-v3";
@@ -20,63 +20,81 @@ import "../shadcn/badge-variants.js";
20
20
  import "../shadcn/avatar-variants.js";
21
21
  import "dompurify";
22
22
  /* empty css */
23
- import y from "../atoms/JGrid.vue.js";
24
- import h from "../atoms/JSplitter.vue.js";
23
+ import U from "../atoms/JGrid.vue.js";
24
+ import F from "../atoms/JSplitter.vue.js";
25
+ /* empty css */
25
26
  import "vue-sonner";
26
- import ne from "../molecules/JTitlebar.vue.js";
27
+ import J from "../molecules/JEmptyState.vue.js";
27
28
  /* empty css */
28
29
  /* empty css */
29
- import z from "../organisms/JFilterBar.vue.js";
30
+ import T from "../organisms/JFilterBar.vue.js";
30
31
  import "vue-router";
31
32
  /* empty css */
32
33
  /* empty css */
33
- const me = { class: "flex flex-col h-full gap-4 bg-background text-foreground" }, de = { class: "flex flex-col h-full gap-4 p-4" }, ue = { class: "grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4" }, pe = { class: "h-full overflow-auto bg-background" }, ce = { class: "h-full flex flex-col gap-4 overflow-y-auto p-4 border-l rounded-lg bg-card" }, fe = { class: "text-lg font-semibold mb-2" }, ve = { class: "grid grid-cols-1 md:grid-cols-2 gap-4" }, be = { class: "flex justify-end gap-2 mt-4" }, ge = { class: "flex flex-col h-full gap-4 p-4" }, ye = { class: "grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4" }, ke = { class: "h-full overflow-auto bg-background" }, xe = { class: "h-full flex gap-2 overflow-hidden items-stretch p-2 bg-background" }, Ce = { class: "flex-1 flex flex-col overflow-hidden" }, we = { class: "flex-1 overflow-auto bg-background" }, Ne = { class: "flex flex-col justify-center gap-2 px-2" }, Ve = { class: "flex-1 flex flex-col overflow-hidden" }, De = { class: "flex-1 overflow-auto bg-background" }, il = /* @__PURE__ */ oe({
34
+ import se from "../organisms/JShuttle.vue.js";
35
+ const ne = { class: "flex flex-col h-full gap-2 p-2" }, me = { class: "grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-2" }, de = { class: "h-full overflow-auto bg-background" }, ue = { class: "h-full overflow-y-auto bg-muted/30" }, pe = { class: "grid grid-cols-1 md:grid-cols-2 gap-2 mt-2" }, ce = { class: "grid grid-cols-1 md:grid-cols-2 gap-2 mt-2" }, fe = { class: "flex flex-col h-full gap-2 p-2" }, ve = { class: "grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-2" }, be = { class: "h-full overflow-auto bg-background" }, ge = { class: "h-full" }, Qe = /* @__PURE__ */ te({
34
36
  __name: "ExampleTabMappingPage",
35
- setup(_e, { expose: U }) {
36
- const k = r("master"), Y = [
37
+ setup(ye, { expose: Y }) {
38
+ const x = r("master"), P = [
37
39
  { id: "master", label: "회원사 기본정보" },
38
40
  { id: "mapping-customer", label: "고객사 매핑" }
39
41
  ];
40
- function $(l) {
41
- console.log("탭 변경:", l);
42
+ function S(t) {
43
+ console.log("탭 변경:", t);
42
44
  }
43
45
  const G = [
44
46
  { value: "Y", label: "Y:활성" },
45
47
  { value: "N", label: "N:비활성" }
46
- ], x = r(!1), p = r({
48
+ ], M = r(!1), m = r({
47
49
  isActive: "",
48
50
  keyword: ""
49
- }), T = {
51
+ }), B = {
50
52
  isActive: {
51
53
  label: "활성여부",
52
- displayValue: (l) => l === "Y" ? "Y:활성" : l === "N" ? "N:비활성" : ""
54
+ displayValue: (t) => t === "Y" ? "Y:활성" : t === "N" ? "N:비활성" : ""
53
55
  },
54
56
  keyword: {
55
57
  label: "검색어"
56
58
  }
57
- }, C = r([
59
+ }, I = r([
58
60
  { memberId: "M001", memberName: "제이솔루션", isActive: "Y" },
59
61
  { memberId: "M002", memberName: "ABC물류", isActive: "Y" },
60
62
  { memberId: "M003", memberName: "XYZ유통", isActive: "N" }
61
- ]), B = r([
62
- { field: "memberId", headerName: "회원사코드", width: 150 },
63
- { field: "memberName", headerName: "회원사명", flex: 1 },
63
+ ]), _ = r([
64
+ {
65
+ field: "memberId",
66
+ headerName: "회원사코드",
67
+ width: 150,
68
+ enableValue: !0
69
+ // 집계 가능 (count)
70
+ },
71
+ {
72
+ field: "memberName",
73
+ headerName: "회원사명",
74
+ flex: 1,
75
+ enableValue: !0
76
+ // 집계 가능 (count)
77
+ },
64
78
  {
65
79
  field: "isActive",
66
80
  headerName: "활성",
67
81
  width: 100,
68
- cellRenderer: (l) => l.value === "Y" ? "✓" : ""
82
+ cellRenderer: (t) => t.value === "Y" ? "✓" : "",
83
+ enableRowGroup: !0,
84
+ // Row Group으로 사용 가능
85
+ enablePivot: !0
86
+ // Pivot Column으로 사용 가능
69
87
  }
70
- ]), F = [
88
+ ]), $ = [
71
89
  {
72
90
  icon: "pencil",
73
91
  label: "수정",
74
92
  tooltip: "편집",
75
- onClick: (l) => {
76
- f.value = !1, n.value = {
77
- memberId: l.memberId,
78
- memberName: l.memberName,
79
- isActive: l.isActive
93
+ onClick: (t) => {
94
+ p.value = !1, s.value = {
95
+ memberId: t.memberId,
96
+ memberName: t.memberName,
97
+ isActive: t.isActive
80
98
  };
81
99
  }
82
100
  },
@@ -85,395 +103,393 @@ const me = { class: "flex flex-col h-full gap-4 bg-background text-foreground" }
85
103
  label: "삭제",
86
104
  tooltip: "삭제",
87
105
  styletype: "danger",
88
- onClick: (l) => {
89
- confirm(`${l.memberName}을(를) 삭제하시겠습니까?`) && (console.log("회원사 삭제:", l.memberId), alert(`삭제되었습니다: ${l.memberName}`));
106
+ onClick: (t) => {
107
+ confirm(`${t.memberName}을(를) 삭제하시겠습니까?`) && (console.log("회원사 삭제:", t.memberId), alert(`삭제되었습니다: ${t.memberName}`));
90
108
  }
91
109
  }
92
- ], w = r(), f = r(!1), n = r({
110
+ ], D = r(), p = r(!1), s = r({
93
111
  memberId: "",
94
112
  memberName: "",
95
113
  isActive: "Y"
96
114
  });
97
- function S(l) {
98
- f.value = !1, n.value = {
99
- memberId: l.data.memberId,
100
- memberName: l.data.memberName,
101
- isActive: l.data.isActive
115
+ function E(t) {
116
+ p.value = !1, s.value = {
117
+ memberId: t.data.memberId,
118
+ memberName: t.data.memberName,
119
+ isActive: t.data.isActive
102
120
  };
103
121
  }
104
- function E() {
105
- f.value = !0, n.value = {
122
+ function H() {
123
+ p.value = !0, s.value = {
106
124
  memberId: "",
107
125
  memberName: "",
108
126
  isActive: "Y"
109
127
  };
110
128
  }
111
- function j() {
112
- console.log("회원사 저장:", n.value), alert(`저장되었습니다: ${n.value.memberName}`);
129
+ function L() {
130
+ console.log("회원사 저장:", s.value), alert(`저장되었습니다: ${s.value.memberName}`);
113
131
  }
114
- function H() {
115
- confirm(`${n.value.memberName}을(를) 삭제하시겠습니까?`) && (console.log("회원사 삭제:", n.value.memberId), alert(`삭제되었습니다: ${n.value.memberName}`));
132
+ function W() {
133
+ confirm(`${s.value.memberName}을(를) 삭제하시겠습니까?`) && (console.log("회원사 삭제:", s.value.memberId), alert(`삭제되었습니다: ${s.value.memberName}`));
116
134
  }
117
- function J() {
118
- p.value = {
135
+ function h() {
136
+ m.value = {
119
137
  isActive: "",
120
138
  keyword: ""
121
139
  };
122
140
  }
123
- function K() {
124
- console.log("회원사 조회:", p.value);
141
+ function O() {
142
+ console.log("회원사 조회:", m.value);
125
143
  }
126
- function L() {
144
+ function X() {
127
145
  alert("회원사 관리 페이지 도움말");
128
146
  }
129
- const N = r(!1), v = r({
147
+ const A = r(!1), f = r({
130
148
  keyword: ""
131
- }), O = {
149
+ }), Z = {
132
150
  keyword: {
133
151
  label: "검색어"
134
152
  }
135
- }, V = r(), D = r(), _ = r(), P = r([
153
+ }, z = r(), j = r([
136
154
  { field: "memberId", headerName: "회원사코드", width: 150 },
137
155
  { field: "memberName", headerName: "회원사명", flex: 1 }
138
- ]), m = r(""), c = r({
156
+ ]), N = r(""), v = r({
139
157
  M001: ["C001", "C002"],
140
158
  // 제이솔루션에 매핑된 고객사
141
159
  M002: ["C003"],
142
160
  // ABC물류에 매핑된 고객사
143
161
  M003: []
144
162
  // XYZ유통에 매핑된 고객사 없음
145
- }), M = [
146
- { code: "C001", name: "고객A" },
147
- { code: "C002", name: "고객B" },
148
- { code: "C003", name: "고객C" },
149
- { code: "C004", name: "고객D" },
150
- { code: "C005", name: "고객E" }
151
- ], I = r([
163
+ }), R = [
164
+ { id: "C001", code: "C001", name: "고객A" },
165
+ { id: "C002", code: "C002", name: "고객B" },
166
+ { id: "C003", code: "C003", name: "고객C" },
167
+ { id: "C004", code: "C004", name: "고객D" },
168
+ { id: "C005", code: "C005", name: "고객E" }
169
+ ], q = r([
152
170
  { field: "code", headerName: "코드", width: 120 },
153
171
  { field: "name", headerName: "이름", flex: 1 }
154
- ]), X = A(() => {
155
- if (!m.value) return [];
156
- const l = c.value[m.value] || [];
157
- return M.filter((e) => !l.includes(e.code));
158
- }), Z = A(() => {
159
- if (!m.value) return [];
160
- const l = c.value[m.value] || [];
161
- return M.filter((e) => l.includes(e.code));
162
- });
163
- function q(l) {
164
- m.value = l.data.memberId, console.log("선택된 회원사:", l.data.memberName);
172
+ ]), w = r([]), V = r([]);
173
+ function K(t) {
174
+ N.value = t.data.memberId, console.log("선택된 회원사:", t.data.memberName);
175
+ const e = v.value[t.data.memberId] || [];
176
+ w.value = R.filter((c) => !e.includes(c.code)), V.value = R.filter((c) => e.includes(c.code));
165
177
  }
166
- function Q() {
167
- if (!m.value) {
178
+ function Q(t) {
179
+ if (!N.value) {
168
180
  alert("회원사를 먼저 선택해주세요.");
169
181
  return;
170
182
  }
171
- const l = D.value?.getSelectedRows() || [];
172
- if (l.length === 0) {
173
- alert("매핑할 고객사를 선택해주세요.");
174
- return;
183
+ const { items: e, direction: c } = t, l = N.value;
184
+ if (c === "toRight") {
185
+ const C = e.map((k) => k.code);
186
+ v.value[l] || (v.value[l] = []), v.value[l].push(...C), console.log("매핑:", C);
187
+ } else {
188
+ const C = e.map((k) => k.code);
189
+ v.value[l] = (v.value[l] || []).filter(
190
+ (k) => !C.includes(k)
191
+ ), console.log("해제:", C);
175
192
  }
176
- const e = l.map((g) => g.code), o = m.value;
177
- c.value[o] || (c.value[o] = []), c.value[o].push(...e), console.log("매핑:", e);
178
- }
179
- function W() {
180
- if (!m.value) {
181
- alert("회원사를 먼저 선택해주세요.");
182
- return;
183
- }
184
- const l = _.value?.getSelectedRows() || [];
185
- if (l.length === 0) {
186
- alert("해제할 고객사를 선택해주세요.");
187
- return;
188
- }
189
- const e = l.map((g) => g.code), o = m.value;
190
- c.value[o] = (c.value[o] || []).filter(
191
- (g) => !e.includes(g)
192
- ), console.log("해제:", e);
193
193
  }
194
194
  function ee() {
195
- v.value = {
195
+ f.value = {
196
196
  keyword: ""
197
197
  };
198
198
  }
199
199
  function le() {
200
- console.log("매핑 조회:", v.value);
200
+ console.log("매핑 조회:", f.value);
201
201
  }
202
- return U({ masterGridRef: w, mappingMasterGridRef: V }), (l, e) => (R(), te("div", me, [
203
- a(t(ne), {
204
- icon: "users",
202
+ return Y({ masterGridRef: D, mappingMasterGridRef: z }), w.value = [], V.value = [], (t, e) => {
203
+ const c = oe("JPageContainer");
204
+ return g(), b(c, {
205
205
  title: "회원사 관리",
206
+ icon: "users",
206
207
  description: "회원사 정보 및 고객사 매핑을 관리합니다",
207
208
  showHelp: !0,
208
- onHelp: L
209
- }),
210
- a(t(re), {
211
- activeTabId: k.value,
212
- "onUpdate:activeTabId": e[10] || (e[10] = (o) => k.value = o),
213
- tabs: Y,
214
- onTabChange: $
209
+ onHelp: X,
210
+ "content-scroll": !1
215
211
  }, {
216
- "content-master": i(() => [
217
- s("div", de, [
218
- a(t(z), {
219
- collapsed: x.value,
220
- "onUpdate:collapsed": e[2] || (e[2] = (o) => x.value = o),
221
- filterValues: p.value,
222
- "onUpdate:filterValues": e[3] || (e[3] = (o) => p.value = o),
223
- filterDisplay: T,
224
- collapsible: !0,
225
- title: "회원사 목록"
226
- }, {
227
- actions: i(() => [
228
- a(t(u), {
229
- size: "sm",
230
- variant: "outline",
231
- onClick: J
232
- }, {
233
- default: i(() => [...e[11] || (e[11] = [
234
- d("초기화", -1)
235
- ])]),
236
- _: 1
237
- }),
238
- a(t(u), {
239
- size: "sm",
240
- styletype: "primary",
241
- onClick: K
212
+ default: a(() => [
213
+ i(o(ie), {
214
+ activeTabId: x.value,
215
+ "onUpdate:activeTabId": e[12] || (e[12] = (l) => x.value = l),
216
+ tabs: P,
217
+ onTabChange: S
218
+ }, {
219
+ "content-master": a(() => [
220
+ n("div", ne, [
221
+ i(o(T), {
222
+ collapsed: M.value,
223
+ "onUpdate:collapsed": e[2] || (e[2] = (l) => M.value = l),
224
+ filterValues: m.value,
225
+ "onUpdate:filterValues": e[3] || (e[3] = (l) => m.value = l),
226
+ filterDisplay: B,
227
+ collapsible: !0,
228
+ title: "회원사 목록"
242
229
  }, {
243
- default: i(() => [...e[12] || (e[12] = [
244
- d("조회", -1)
245
- ])]),
246
- _: 1
247
- }),
248
- a(t(u), {
249
- size: "sm",
250
- styletype: "primary",
251
- onClick: E
252
- }, {
253
- default: i(() => [...e[13] || (e[13] = [
254
- d("신규", -1)
255
- ])]),
256
- _: 1
257
- })
258
- ]),
259
- filters: i(() => [
260
- s("div", ue, [
261
- a(t(b), {
262
- type: "combo",
263
- label: "활성여부",
264
- modelValue: p.value.isActive,
265
- "onUpdate:modelValue": e[0] || (e[0] = (o) => p.value.isActive = o),
266
- options: G
267
- }, null, 8, ["modelValue"]),
268
- a(t(b), {
269
- type: "input",
270
- label: "검색어",
271
- modelValue: p.value.keyword,
272
- "onUpdate:modelValue": e[1] || (e[1] = (o) => p.value.keyword = o)
273
- }, null, 8, ["modelValue"])
274
- ])
275
- ]),
276
- _: 1
277
- }, 8, ["collapsed", "filterValues"]),
278
- a(t(h), {
279
- direction: "horizontal",
280
- "default-size": 60,
281
- "min-size": 30,
282
- "second-min-size": 20,
283
- "second-max-size": 60,
284
- class: "flex-1"
285
- }, {
286
- left: i(() => [
287
- s("div", pe, [
288
- a(t(y), {
289
- ref_key: "masterGridRef",
290
- ref: w,
291
- columnDefs: B.value,
292
- rowData: C.value,
293
- "action-buttons": F,
294
- onRowClicked: S
295
- }, null, 8, ["columnDefs", "rowData"])
296
- ])
297
- ]),
298
- right: i(() => [
299
- s("div", ce, [
300
- s("h3", fe, ae(f.value ? "신규 등록" : "상세 정보"), 1),
301
- s("div", ve, [
302
- a(t(b), {
303
- type: "input",
304
- label: "회원사코드",
305
- modelValue: n.value.memberId,
306
- "onUpdate:modelValue": e[4] || (e[4] = (o) => n.value.memberId = o),
307
- readonly: !f.value,
308
- placeholder: "회원사 코드"
309
- }, null, 8, ["modelValue", "readonly"]),
310
- a(t(b), {
311
- type: "input",
312
- label: "회원사명",
313
- modelValue: n.value.memberName,
314
- "onUpdate:modelValue": e[5] || (e[5] = (o) => n.value.memberName = o),
315
- placeholder: "회원사 이름"
316
- }, null, 8, ["modelValue"])
317
- ]),
318
- a(t(b), {
319
- type: "checkbox",
320
- label: "활성여부",
321
- modelValue: n.value.isActive,
322
- "onUpdate:modelValue": e[6] || (e[6] = (o) => n.value.isActive = o),
323
- inlineLabel: "활성"
324
- }, null, 8, ["modelValue"]),
325
- s("div", be, [
326
- a(t(u), {
230
+ actions: a(() => [
231
+ i(o(u), {
232
+ size: "xs",
233
+ variant: "outline",
234
+ onClick: h
235
+ }, {
236
+ default: a(() => [...e[13] || (e[13] = [
237
+ d("초기화", -1)
238
+ ])]),
239
+ _: 1
240
+ }),
241
+ i(o(u), {
242
+ size: "xs",
327
243
  styletype: "primary",
328
- size: "sm",
329
- onClick: j
244
+ onClick: O
330
245
  }, {
331
- default: i(() => [...e[14] || (e[14] = [
332
- d("저장", -1)
246
+ default: a(() => [...e[14] || (e[14] = [
247
+ d("조회", -1)
333
248
  ])]),
334
249
  _: 1
335
250
  }),
336
- f.value ? se("", !0) : (R(), ie(t(u), {
337
- key: 0,
338
- variant: "outline",
339
- size: "sm",
251
+ i(o(u), {
252
+ size: "xs",
253
+ styletype: "primary",
340
254
  onClick: H
341
255
  }, {
342
- default: i(() => [...e[15] || (e[15] = [
343
- d("삭제", -1)
256
+ default: a(() => [...e[15] || (e[15] = [
257
+ d("신규", -1)
344
258
  ])]),
345
259
  _: 1
346
- }))
347
- ])
348
- ])
349
- ]),
350
- _: 1
351
- })
352
- ])
353
- ]),
354
- "content-mapping-customer": i(() => [
355
- s("div", ge, [
356
- a(t(z), {
357
- collapsed: N.value,
358
- "onUpdate:collapsed": e[8] || (e[8] = (o) => N.value = o),
359
- filterValues: v.value,
360
- "onUpdate:filterValues": e[9] || (e[9] = (o) => v.value = o),
361
- filterDisplay: O,
362
- collapsible: !0,
363
- title: "회원사별 고객사 매핑"
364
- }, {
365
- actions: i(() => [
366
- a(t(u), {
367
- size: "sm",
368
- variant: "outline",
369
- onClick: ee
370
- }, {
371
- default: i(() => [...e[16] || (e[16] = [
372
- d("초기화", -1)
373
- ])]),
260
+ })
261
+ ]),
262
+ filters: a(() => [
263
+ n("div", me, [
264
+ i(o(y), {
265
+ type: "combo",
266
+ label: "활성여부",
267
+ modelValue: m.value.isActive,
268
+ "onUpdate:modelValue": e[0] || (e[0] = (l) => m.value.isActive = l),
269
+ options: G,
270
+ orientation: "horizontal",
271
+ labelWidth: "30%"
272
+ }, null, 8, ["modelValue"]),
273
+ i(o(y), {
274
+ type: "input",
275
+ label: "검색어",
276
+ modelValue: m.value.keyword,
277
+ "onUpdate:modelValue": e[1] || (e[1] = (l) => m.value.keyword = l),
278
+ orientation: "horizontal",
279
+ labelWidth: "30%"
280
+ }, null, 8, ["modelValue"])
281
+ ])
282
+ ]),
374
283
  _: 1
375
- }),
376
- a(t(u), {
377
- size: "sm",
378
- styletype: "primary",
379
- onClick: le
284
+ }, 8, ["collapsed", "filterValues"]),
285
+ i(o(F), {
286
+ direction: "horizontal",
287
+ "default-size": 60,
288
+ "min-size": 30,
289
+ "second-min-size": 20,
290
+ "second-max-size": 60,
291
+ class: "flex-1"
380
292
  }, {
381
- default: i(() => [...e[17] || (e[17] = [
382
- d("조회", -1)
383
- ])]),
384
- _: 1
385
- })
386
- ]),
387
- filters: i(() => [
388
- s("div", ye, [
389
- a(t(b), {
390
- type: "input",
391
- label: "검색어",
392
- modelValue: v.value.keyword,
393
- "onUpdate:modelValue": e[7] || (e[7] = (o) => v.value.keyword = o)
394
- }, null, 8, ["modelValue"])
395
- ])
396
- ]),
397
- _: 1
398
- }, 8, ["collapsed", "filterValues"]),
399
- a(t(h), {
400
- direction: "vertical",
401
- "default-size": 30,
402
- "min-size": 20,
403
- "second-min-size": 40,
404
- class: "flex-1"
405
- }, {
406
- top: i(() => [
407
- s("div", ke, [
408
- a(t(y), {
409
- ref_key: "mappingMasterGridRef",
410
- ref: V,
411
- columnDefs: P.value,
412
- rowData: C.value,
413
- onRowClicked: q
414
- }, null, 8, ["columnDefs", "rowData"])
415
- ])
416
- ]),
417
- bottom: i(() => [
418
- s("div", xe, [
419
- s("div", Ce, [
420
- e[18] || (e[18] = s("h4", { class: "text-sm font-semibold mb-2 px-2" }, "미매핑 고객사", -1)),
421
- s("div", we, [
422
- a(t(y), {
423
- ref_key: "unmappedGridRef",
293
+ left: a(() => [
294
+ n("div", de, [
295
+ i(o(U), {
296
+ ref_key: "masterGridRef",
424
297
  ref: D,
425
- columnDefs: I.value,
426
- rowData: X.value,
427
- checkbox: ""
298
+ columnDefs: _.value,
299
+ rowData: I.value,
300
+ "action-buttons": $,
301
+ enableGrouping: !0,
302
+ enablePivot: !0,
303
+ enableColumnsToolPanel: !0,
304
+ rowGroupPanelShow: "always",
305
+ pivotPanelShow: "always",
306
+ groupDefaultExpanded: 1,
307
+ compactFooter: !0,
308
+ onRowClicked: E
428
309
  }, null, 8, ["columnDefs", "rowData"])
429
310
  ])
430
311
  ]),
431
- s("div", Ne, [
432
- a(t(u), {
433
- styletype: "primary",
434
- size: "sm",
435
- onClick: Q
312
+ right: a(() => [
313
+ n("div", ue, [
314
+ !s.value.memberId && !p.value ? (g(), b(o(J), {
315
+ key: 0,
316
+ variant: "simple",
317
+ icon: "mousePointerClick",
318
+ title: "항목을 선택하거나 신규 버튼을 클릭하세요",
319
+ class: "h-full"
320
+ })) : (g(), b(o(re), {
321
+ key: 1,
322
+ class: "h-full",
323
+ title: p.value ? "신규 등록" : "상세 정보",
324
+ variant: "elevated"
325
+ }, {
326
+ actions: a(() => [
327
+ i(o(u), {
328
+ size: "xs",
329
+ styletype: "primary",
330
+ onClick: L
331
+ }, {
332
+ default: a(() => [...e[16] || (e[16] = [
333
+ d("저장", -1)
334
+ ])]),
335
+ _: 1
336
+ }),
337
+ p.value ? ae("", !0) : (g(), b(o(u), {
338
+ key: 0,
339
+ size: "xs",
340
+ variant: "destructive",
341
+ onClick: W
342
+ }, {
343
+ default: a(() => [...e[17] || (e[17] = [
344
+ d("삭제", -1)
345
+ ])]),
346
+ _: 1
347
+ })),
348
+ i(o(u), {
349
+ size: "xs",
350
+ variant: "outline",
351
+ onClick: h
352
+ }, {
353
+ default: a(() => [...e[18] || (e[18] = [
354
+ d("취소", -1)
355
+ ])]),
356
+ _: 1
357
+ })
358
+ ]),
359
+ default: a(() => [
360
+ n("div", pe, [
361
+ i(o(y), {
362
+ type: "input",
363
+ label: "회원사코드",
364
+ modelValue: s.value.memberId,
365
+ "onUpdate:modelValue": e[4] || (e[4] = (l) => s.value.memberId = l),
366
+ readonly: !p.value,
367
+ placeholder: "회원사 코드"
368
+ }, null, 8, ["modelValue", "readonly"]),
369
+ i(o(y), {
370
+ type: "input",
371
+ label: "회원사명",
372
+ modelValue: s.value.memberName,
373
+ "onUpdate:modelValue": e[5] || (e[5] = (l) => s.value.memberName = l),
374
+ placeholder: "회원사 이름"
375
+ }, null, 8, ["modelValue"])
376
+ ]),
377
+ n("div", ce, [
378
+ i(o(y), {
379
+ type: "checkbox",
380
+ label: "활성여부",
381
+ modelValue: s.value.isActive,
382
+ "onUpdate:modelValue": e[6] || (e[6] = (l) => s.value.isActive = l),
383
+ inlineLabel: "활성"
384
+ }, null, 8, ["modelValue"])
385
+ ])
386
+ ]),
387
+ _: 1
388
+ }, 8, ["title"]))
389
+ ])
390
+ ]),
391
+ _: 1
392
+ })
393
+ ])
394
+ ]),
395
+ "content-mapping-customer": a(() => [
396
+ n("div", fe, [
397
+ i(o(T), {
398
+ collapsed: A.value,
399
+ "onUpdate:collapsed": e[8] || (e[8] = (l) => A.value = l),
400
+ filterValues: f.value,
401
+ "onUpdate:filterValues": e[9] || (e[9] = (l) => f.value = l),
402
+ filterDisplay: Z,
403
+ collapsible: !0,
404
+ title: "회원사별 고객사 매핑"
405
+ }, {
406
+ actions: a(() => [
407
+ i(o(u), {
408
+ size: "xs",
409
+ variant: "outline",
410
+ onClick: ee
436
411
  }, {
437
- default: i(() => [...e[19] || (e[19] = [
438
- d("매핑 ▶", -1)
412
+ default: a(() => [...e[19] || (e[19] = [
413
+ d("초기화", -1)
439
414
  ])]),
440
415
  _: 1
441
416
  }),
442
- a(t(u), {
443
- variant: "outline",
444
- size: "sm",
445
- onClick: W
417
+ i(o(u), {
418
+ size: "xs",
419
+ styletype: "primary",
420
+ onClick: le
446
421
  }, {
447
- default: i(() => [...e[20] || (e[20] = [
448
- d("◀ 해제", -1)
422
+ default: a(() => [...e[20] || (e[20] = [
423
+ d("조회", -1)
449
424
  ])]),
450
425
  _: 1
451
426
  })
452
427
  ]),
453
- s("div", Ve, [
454
- e[21] || (e[21] = s("h4", { class: "text-sm font-semibold mb-2 px-2" }, "매핑된 고객사", -1)),
455
- s("div", De, [
456
- a(t(y), {
457
- ref_key: "mappedGridRef",
458
- ref: _,
459
- columnDefs: I.value,
460
- rowData: Z.value,
461
- checkbox: ""
428
+ filters: a(() => [
429
+ n("div", ve, [
430
+ i(o(y), {
431
+ type: "input",
432
+ label: "검색어",
433
+ modelValue: f.value.keyword,
434
+ "onUpdate:modelValue": e[7] || (e[7] = (l) => f.value.keyword = l)
435
+ }, null, 8, ["modelValue"])
436
+ ])
437
+ ]),
438
+ _: 1
439
+ }, 8, ["collapsed", "filterValues"]),
440
+ i(o(F), {
441
+ direction: "vertical",
442
+ "default-size": 30,
443
+ "min-size": 20,
444
+ "second-min-size": 40,
445
+ class: "flex-1"
446
+ }, {
447
+ top: a(() => [
448
+ n("div", be, [
449
+ i(o(U), {
450
+ ref_key: "mappingMasterGridRef",
451
+ ref: z,
452
+ columnDefs: j.value,
453
+ rowData: I.value,
454
+ onRowClicked: K
462
455
  }, null, 8, ["columnDefs", "rowData"])
463
456
  ])
464
- ])
465
- ])
466
- ]),
467
- _: 1
468
- })
469
- ])
457
+ ]),
458
+ bottom: a(() => [
459
+ n("div", ge, [
460
+ N.value ? (g(), b(o(se), {
461
+ key: 1,
462
+ "left-title": "미매핑 고객사",
463
+ "right-title": "매핑된 고객사",
464
+ "column-defs": q.value,
465
+ "left-data": w.value,
466
+ "onUpdate:leftData": e[10] || (e[10] = (l) => w.value = l),
467
+ "right-data": V.value,
468
+ "onUpdate:rightData": e[11] || (e[11] = (l) => V.value = l),
469
+ searchable: !1,
470
+ onMove: Q
471
+ }, null, 8, ["column-defs", "left-data", "right-data"])) : (g(), b(o(J), {
472
+ key: 0,
473
+ variant: "simple",
474
+ icon: "arrowLeftRight",
475
+ title: "상단에서 회원사를 선택하세요",
476
+ class: "h-full"
477
+ }))
478
+ ])
479
+ ]),
480
+ _: 1
481
+ })
482
+ ])
483
+ ]),
484
+ _: 1
485
+ }, 8, ["activeTabId"])
470
486
  ]),
471
487
  _: 1
472
- }, 8, ["activeTabId"])
473
- ]));
488
+ });
489
+ };
474
490
  }
475
491
  });
476
492
  export {
477
- il as default
493
+ Qe as default
478
494
  };
479
495
  //# sourceMappingURL=ExampleTabMappingPage.vue.js.map