@j-solution/components 1.6.0 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -5
- package/components/examples/ExampleCrudPage.vue.cjs +2 -0
- package/components/examples/ExampleCrudPage.vue.cjs.map +1 -0
- package/components/examples/ExampleCrudPage.vue.js +304 -0
- package/components/examples/ExampleCrudPage.vue.js.map +1 -0
- package/components/examples/ExampleCrudPage.vue2.cjs +2 -0
- package/components/examples/ExampleCrudPage.vue2.cjs.map +1 -0
- package/components/examples/ExampleCrudPage.vue2.js +5 -0
- package/components/examples/ExampleCrudPage.vue2.js.map +1 -0
- package/components/examples/ExampleTabMappingPage.vue.cjs +2 -0
- package/components/examples/ExampleTabMappingPage.vue.cjs.map +1 -0
- package/components/examples/ExampleTabMappingPage.vue.js +479 -0
- package/components/examples/ExampleTabMappingPage.vue.js.map +1 -0
- package/components/examples/ExampleTabMappingPage.vue2.cjs +2 -0
- package/components/examples/ExampleTabMappingPage.vue2.cjs.map +1 -0
- package/components/examples/ExampleTabMappingPage.vue2.js +5 -0
- package/components/examples/ExampleTabMappingPage.vue2.js.map +1 -0
- package/index.cjs +1 -1
- package/index.js +76 -72
- package/package.json +1 -1
- package/types/index.d.ts +611 -0
|
@@ -0,0 +1,479 @@
|
|
|
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 */
|
|
4
|
+
import "../shadcn/index.js";
|
|
5
|
+
import "@vueuse/core";
|
|
6
|
+
import "reka-ui";
|
|
7
|
+
import "clsx";
|
|
8
|
+
import "tailwind-merge";
|
|
9
|
+
import "lucide-vue-next";
|
|
10
|
+
import re from "../molecules/JTabs.vue.js";
|
|
11
|
+
/* empty css */
|
|
12
|
+
/* empty css */
|
|
13
|
+
import u from "../atoms/JButton.vue.js";
|
|
14
|
+
import "@internationalized/date";
|
|
15
|
+
import "md-editor-v3";
|
|
16
|
+
/* empty css */
|
|
17
|
+
/* empty css */
|
|
18
|
+
import "../shadcn/badge-variants.js";
|
|
19
|
+
/* empty css */
|
|
20
|
+
import "../shadcn/avatar-variants.js";
|
|
21
|
+
import "dompurify";
|
|
22
|
+
/* empty css */
|
|
23
|
+
import y from "../atoms/JGrid.vue.js";
|
|
24
|
+
import h from "../atoms/JSplitter.vue.js";
|
|
25
|
+
import "vue-sonner";
|
|
26
|
+
import ne from "../molecules/JTitlebar.vue.js";
|
|
27
|
+
/* empty css */
|
|
28
|
+
/* empty css */
|
|
29
|
+
import z from "../organisms/JFilterBar.vue.js";
|
|
30
|
+
import "vue-router";
|
|
31
|
+
/* empty css */
|
|
32
|
+
/* 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
|
+
__name: "ExampleTabMappingPage",
|
|
35
|
+
setup(_e, { expose: U }) {
|
|
36
|
+
const k = r("master"), Y = [
|
|
37
|
+
{ id: "master", label: "회원사 기본정보" },
|
|
38
|
+
{ id: "mapping-customer", label: "고객사 매핑" }
|
|
39
|
+
];
|
|
40
|
+
function $(l) {
|
|
41
|
+
console.log("탭 변경:", l);
|
|
42
|
+
}
|
|
43
|
+
const G = [
|
|
44
|
+
{ value: "Y", label: "Y:활성" },
|
|
45
|
+
{ value: "N", label: "N:비활성" }
|
|
46
|
+
], x = r(!1), p = r({
|
|
47
|
+
isActive: "",
|
|
48
|
+
keyword: ""
|
|
49
|
+
}), T = {
|
|
50
|
+
isActive: {
|
|
51
|
+
label: "활성여부",
|
|
52
|
+
displayValue: (l) => l === "Y" ? "Y:활성" : l === "N" ? "N:비활성" : ""
|
|
53
|
+
},
|
|
54
|
+
keyword: {
|
|
55
|
+
label: "검색어"
|
|
56
|
+
}
|
|
57
|
+
}, C = r([
|
|
58
|
+
{ memberId: "M001", memberName: "제이솔루션", isActive: "Y" },
|
|
59
|
+
{ memberId: "M002", memberName: "ABC물류", isActive: "Y" },
|
|
60
|
+
{ memberId: "M003", memberName: "XYZ유통", isActive: "N" }
|
|
61
|
+
]), B = r([
|
|
62
|
+
{ field: "memberId", headerName: "회원사코드", width: 150 },
|
|
63
|
+
{ field: "memberName", headerName: "회원사명", flex: 1 },
|
|
64
|
+
{
|
|
65
|
+
field: "isActive",
|
|
66
|
+
headerName: "활성",
|
|
67
|
+
width: 100,
|
|
68
|
+
cellRenderer: (l) => l.value === "Y" ? "✓" : ""
|
|
69
|
+
}
|
|
70
|
+
]), F = [
|
|
71
|
+
{
|
|
72
|
+
icon: "pencil",
|
|
73
|
+
label: "수정",
|
|
74
|
+
tooltip: "편집",
|
|
75
|
+
onClick: (l) => {
|
|
76
|
+
f.value = !1, n.value = {
|
|
77
|
+
memberId: l.memberId,
|
|
78
|
+
memberName: l.memberName,
|
|
79
|
+
isActive: l.isActive
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
icon: "trash2",
|
|
85
|
+
label: "삭제",
|
|
86
|
+
tooltip: "삭제",
|
|
87
|
+
styletype: "danger",
|
|
88
|
+
onClick: (l) => {
|
|
89
|
+
confirm(`${l.memberName}을(를) 삭제하시겠습니까?`) && (console.log("회원사 삭제:", l.memberId), alert(`삭제되었습니다: ${l.memberName}`));
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
], w = r(), f = r(!1), n = r({
|
|
93
|
+
memberId: "",
|
|
94
|
+
memberName: "",
|
|
95
|
+
isActive: "Y"
|
|
96
|
+
});
|
|
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
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
function E() {
|
|
105
|
+
f.value = !0, n.value = {
|
|
106
|
+
memberId: "",
|
|
107
|
+
memberName: "",
|
|
108
|
+
isActive: "Y"
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
function j() {
|
|
112
|
+
console.log("회원사 저장:", n.value), alert(`저장되었습니다: ${n.value.memberName}`);
|
|
113
|
+
}
|
|
114
|
+
function H() {
|
|
115
|
+
confirm(`${n.value.memberName}을(를) 삭제하시겠습니까?`) && (console.log("회원사 삭제:", n.value.memberId), alert(`삭제되었습니다: ${n.value.memberName}`));
|
|
116
|
+
}
|
|
117
|
+
function J() {
|
|
118
|
+
p.value = {
|
|
119
|
+
isActive: "",
|
|
120
|
+
keyword: ""
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
function K() {
|
|
124
|
+
console.log("회원사 조회:", p.value);
|
|
125
|
+
}
|
|
126
|
+
function L() {
|
|
127
|
+
alert("회원사 관리 페이지 도움말");
|
|
128
|
+
}
|
|
129
|
+
const N = r(!1), v = r({
|
|
130
|
+
keyword: ""
|
|
131
|
+
}), O = {
|
|
132
|
+
keyword: {
|
|
133
|
+
label: "검색어"
|
|
134
|
+
}
|
|
135
|
+
}, V = r(), D = r(), _ = r(), P = r([
|
|
136
|
+
{ field: "memberId", headerName: "회원사코드", width: 150 },
|
|
137
|
+
{ field: "memberName", headerName: "회원사명", flex: 1 }
|
|
138
|
+
]), m = r(""), c = r({
|
|
139
|
+
M001: ["C001", "C002"],
|
|
140
|
+
// 제이솔루션에 매핑된 고객사
|
|
141
|
+
M002: ["C003"],
|
|
142
|
+
// ABC물류에 매핑된 고객사
|
|
143
|
+
M003: []
|
|
144
|
+
// 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([
|
|
152
|
+
{ field: "code", headerName: "코드", width: 120 },
|
|
153
|
+
{ 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);
|
|
165
|
+
}
|
|
166
|
+
function Q() {
|
|
167
|
+
if (!m.value) {
|
|
168
|
+
alert("회원사를 먼저 선택해주세요.");
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
const l = D.value?.getSelectedRows() || [];
|
|
172
|
+
if (l.length === 0) {
|
|
173
|
+
alert("매핑할 고객사를 선택해주세요.");
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
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
|
+
}
|
|
194
|
+
function ee() {
|
|
195
|
+
v.value = {
|
|
196
|
+
keyword: ""
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
function le() {
|
|
200
|
+
console.log("매핑 조회:", v.value);
|
|
201
|
+
}
|
|
202
|
+
return U({ masterGridRef: w, mappingMasterGridRef: V }), (l, e) => (R(), te("div", me, [
|
|
203
|
+
a(t(ne), {
|
|
204
|
+
icon: "users",
|
|
205
|
+
title: "회원사 관리",
|
|
206
|
+
description: "회원사 정보 및 고객사 매핑을 관리합니다",
|
|
207
|
+
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: $
|
|
215
|
+
}, {
|
|
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
|
|
242
|
+
}, {
|
|
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), {
|
|
327
|
+
styletype: "primary",
|
|
328
|
+
size: "sm",
|
|
329
|
+
onClick: j
|
|
330
|
+
}, {
|
|
331
|
+
default: i(() => [...e[14] || (e[14] = [
|
|
332
|
+
d("저장", -1)
|
|
333
|
+
])]),
|
|
334
|
+
_: 1
|
|
335
|
+
}),
|
|
336
|
+
f.value ? se("", !0) : (R(), ie(t(u), {
|
|
337
|
+
key: 0,
|
|
338
|
+
variant: "outline",
|
|
339
|
+
size: "sm",
|
|
340
|
+
onClick: H
|
|
341
|
+
}, {
|
|
342
|
+
default: i(() => [...e[15] || (e[15] = [
|
|
343
|
+
d("삭제", -1)
|
|
344
|
+
])]),
|
|
345
|
+
_: 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
|
+
])]),
|
|
374
|
+
_: 1
|
|
375
|
+
}),
|
|
376
|
+
a(t(u), {
|
|
377
|
+
size: "sm",
|
|
378
|
+
styletype: "primary",
|
|
379
|
+
onClick: le
|
|
380
|
+
}, {
|
|
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",
|
|
424
|
+
ref: D,
|
|
425
|
+
columnDefs: I.value,
|
|
426
|
+
rowData: X.value,
|
|
427
|
+
checkbox: ""
|
|
428
|
+
}, null, 8, ["columnDefs", "rowData"])
|
|
429
|
+
])
|
|
430
|
+
]),
|
|
431
|
+
s("div", Ne, [
|
|
432
|
+
a(t(u), {
|
|
433
|
+
styletype: "primary",
|
|
434
|
+
size: "sm",
|
|
435
|
+
onClick: Q
|
|
436
|
+
}, {
|
|
437
|
+
default: i(() => [...e[19] || (e[19] = [
|
|
438
|
+
d("매핑 ▶", -1)
|
|
439
|
+
])]),
|
|
440
|
+
_: 1
|
|
441
|
+
}),
|
|
442
|
+
a(t(u), {
|
|
443
|
+
variant: "outline",
|
|
444
|
+
size: "sm",
|
|
445
|
+
onClick: W
|
|
446
|
+
}, {
|
|
447
|
+
default: i(() => [...e[20] || (e[20] = [
|
|
448
|
+
d("◀ 해제", -1)
|
|
449
|
+
])]),
|
|
450
|
+
_: 1
|
|
451
|
+
})
|
|
452
|
+
]),
|
|
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: ""
|
|
462
|
+
}, null, 8, ["columnDefs", "rowData"])
|
|
463
|
+
])
|
|
464
|
+
])
|
|
465
|
+
])
|
|
466
|
+
]),
|
|
467
|
+
_: 1
|
|
468
|
+
})
|
|
469
|
+
])
|
|
470
|
+
]),
|
|
471
|
+
_: 1
|
|
472
|
+
}, 8, ["activeTabId"])
|
|
473
|
+
]));
|
|
474
|
+
}
|
|
475
|
+
});
|
|
476
|
+
export {
|
|
477
|
+
il as default
|
|
478
|
+
};
|
|
479
|
+
//# sourceMappingURL=ExampleTabMappingPage.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExampleTabMappingPage.vue.js","sources":["../../../../src/components/examples/ExampleTabMappingPage.vue"],"sourcesContent":["<template>\n <div class=\"flex flex-col h-full gap-4 bg-background text-foreground\">\n <!-- ==================== 타이틀바 ==================== -->\n <JTitlebar \n icon=\"users\" \n title=\"회원사 관리\" \n description=\"회원사 정보 및 고객사 매핑을 관리합니다\"\n :showHelp=\"true\" \n @help=\"onHelp\" \n />\n\n <!-- ==================== 탭 ==================== -->\n <JTabs v-model:activeTabId=\"activeTabId\" :tabs=\"tabs\" @tab-change=\"handleTabChange\">\n <!-- ==================== Tab 1: 마스터 (회원사 기본정보) ==================== -->\n <template #content-master>\n <div class=\"flex flex-col h-full gap-4 p-4\">\n <!-- 필터바 -->\n <JFilterBar\n v-model:collapsed=\"masterFilterCollapsed\"\n v-model:filterValues=\"masterFilterValues\"\n :filterDisplay=\"masterFilterDisplay\"\n :collapsible=\"true\"\n title=\"회원사 목록\"\n >\n <template #actions>\n <JButton size=\"sm\" variant=\"outline\" @click=\"onMasterReset\">초기화</JButton>\n <JButton size=\"sm\" styletype=\"primary\" @click=\"onMasterSearch\">조회</JButton>\n <JButton size=\"sm\" styletype=\"primary\" @click=\"onMasterNew\">신규</JButton>\n </template>\n\n <template #filters>\n <div class=\"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4\">\n <JFormField\n type=\"combo\"\n label=\"활성여부\"\n v-model=\"masterFilterValues.isActive\"\n :options=\"activeOptions\"\n />\n <JFormField type=\"input\" label=\"검색어\" v-model=\"masterFilterValues.keyword\" />\n </div>\n </template>\n </JFilterBar>\n\n <!-- 그리드 + 상세 영역 (Resizable) -->\n <JSplitter\n direction=\"horizontal\"\n :default-size=\"60\"\n :min-size=\"30\"\n :second-min-size=\"20\"\n :second-max-size=\"60\"\n class=\"flex-1\"\n >\n <!-- 좌측: 그리드 -->\n <template #left>\n <div class=\"h-full overflow-auto bg-background\">\n <JGrid\n ref=\"masterGridRef\"\n :columnDefs=\"masterColumnDefs\"\n :rowData=\"masterRowData\"\n :action-buttons=\"masterActionButtons\"\n @row-clicked=\"onMasterRowClicked\"\n />\n </div>\n </template>\n\n <!-- 우측: 상세 영역 -->\n <template #right>\n <div\n class=\"h-full flex flex-col gap-4 overflow-y-auto p-4 border-l rounded-lg bg-card\"\n >\n <h3 class=\"text-lg font-semibold mb-2\">\n {{ isMasterNew ? '신규 등록' : '상세 정보' }}\n </h3>\n\n <!-- 2열 그리드: 회원사코드, 회원사명 -->\n <div class=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\n <JFormField\n type=\"input\"\n label=\"회원사코드\"\n v-model=\"masterDetail.memberId\"\n :readonly=\"!isMasterNew\"\n placeholder=\"회원사 코드\"\n />\n <JFormField\n type=\"input\"\n label=\"회원사명\"\n v-model=\"masterDetail.memberName\"\n placeholder=\"회원사 이름\"\n />\n </div>\n\n <!-- 활성여부 -->\n <JFormField\n type=\"checkbox\"\n label=\"활성여부\"\n v-model=\"masterDetail.isActive\"\n inlineLabel=\"활성\"\n />\n\n <div class=\"flex justify-end gap-2 mt-4\">\n <JButton styletype=\"primary\" size=\"sm\" @click=\"onMasterSave\">저장</JButton>\n <JButton variant=\"outline\" size=\"sm\" @click=\"onMasterDelete\" v-if=\"!isMasterNew\"\n >삭제</JButton\n >\n </div>\n </div>\n </template>\n </JSplitter>\n </div>\n </template>\n\n <!-- ==================== Tab 2: 매핑 (고객사 매핑) ==================== -->\n <template #content-mapping-customer>\n <div class=\"flex flex-col h-full gap-4 p-4\">\n <!-- 필터바 -->\n <JFilterBar\n v-model:collapsed=\"mappingFilterCollapsed\"\n v-model:filterValues=\"mappingFilterValues\"\n :filterDisplay=\"mappingFilterDisplay\"\n :collapsible=\"true\"\n title=\"회원사별 고객사 매핑\"\n >\n <template #actions>\n <JButton size=\"sm\" variant=\"outline\" @click=\"onMappingReset\">초기화</JButton>\n <JButton size=\"sm\" styletype=\"primary\" @click=\"onMappingSearch\">조회</JButton>\n </template>\n\n <template #filters>\n <div class=\"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4\">\n <JFormField type=\"input\" label=\"검색어\" v-model=\"mappingFilterValues.keyword\" />\n </div>\n </template>\n </JFilterBar>\n\n <!-- Vertical Splitter: 상단(마스터 그리드) / 하단(매핑 영역) -->\n <JSplitter\n direction=\"vertical\"\n :default-size=\"30\"\n :min-size=\"20\"\n :second-min-size=\"40\"\n class=\"flex-1\"\n >\n <!-- 상단: 마스터 그리드 -->\n <template #top>\n <div class=\"h-full overflow-auto bg-background\">\n <JGrid\n ref=\"mappingMasterGridRef\"\n :columnDefs=\"mappingMasterColumnDefs\"\n :rowData=\"masterRowData\"\n @row-clicked=\"onMappingMasterRowClicked\"\n />\n </div>\n </template>\n\n <!-- 하단: 매핑 영역 (미매핑 - 버튼 - 매핑) -->\n <template #bottom>\n <div class=\"h-full flex gap-2 overflow-hidden items-stretch p-2 bg-background\">\n <!-- 좌측: 미매핑 그리드 -->\n <div class=\"flex-1 flex flex-col overflow-hidden\">\n <h4 class=\"text-sm font-semibold mb-2 px-2\">미매핑 고객사</h4>\n <div class=\"flex-1 overflow-auto bg-background\">\n <JGrid\n ref=\"unmappedGridRef\"\n :columnDefs=\"customerColumnDefs\"\n :rowData=\"unmappedCustomers\"\n checkbox\n />\n </div>\n </div>\n\n <!-- 중앙: 매핑/해제 버튼 -->\n <div class=\"flex flex-col justify-center gap-2 px-2\">\n <JButton styletype=\"primary\" size=\"sm\" @click=\"onMap\">매핑 ▶</JButton>\n <JButton variant=\"outline\" size=\"sm\" @click=\"onUnmap\">◀ 해제</JButton>\n </div>\n\n <!-- 우측: 매핑 그리드 -->\n <div class=\"flex-1 flex flex-col overflow-hidden\">\n <h4 class=\"text-sm font-semibold mb-2 px-2\">매핑된 고객사</h4>\n <div class=\"flex-1 overflow-auto bg-background\">\n <JGrid\n ref=\"mappedGridRef\"\n :columnDefs=\"customerColumnDefs\"\n :rowData=\"mappedCustomers\"\n checkbox\n />\n </div>\n </div>\n </div>\n </template>\n </JSplitter>\n </div>\n </template>\n </JTabs>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed } from 'vue'\nimport { JTitlebar } from '@/components/molecules'\nimport { JFilterBar } from '@/components/organisms'\nimport { JGrid, JButton, JSplitter, type ActionButton } from '@/components/atoms'\nimport { JFormField } from '@/components/molecules'\nimport { JTabs } from '@/components/molecules'\n\n// ==================== 탭 상태 ====================\nconst activeTabId = ref('master')\n\nconst tabs = [\n { id: 'master', label: '회원사 기본정보' },\n { id: 'mapping-customer', label: '고객사 매핑' },\n]\n\nfunction handleTabChange(tabId: string) {\n console.log('탭 변경:', tabId)\n}\n\n// ==================== 공통 옵션 ====================\nconst activeOptions = [\n { value: 'Y', label: 'Y:활성' },\n { value: 'N', label: 'N:비활성' },\n]\n\n// ==================== Tab 1: 마스터 (회원사) ====================\n\nconst masterFilterCollapsed = ref(false)\nconst masterFilterValues = ref({\n isActive: '',\n keyword: '',\n})\n\nconst masterFilterDisplay = {\n isActive: {\n label: '활성여부',\n displayValue: (val: unknown) => {\n if (val === 'Y') return 'Y:활성'\n if (val === 'N') return 'N:비활성'\n return ''\n },\n },\n keyword: {\n label: '검색어',\n },\n}\n\n// Mock 데이터 - 회원사 목록\nconst masterRowData = ref([\n { memberId: 'M001', memberName: '제이솔루션', isActive: 'Y' },\n { memberId: 'M002', memberName: 'ABC물류', isActive: 'Y' },\n { memberId: 'M003', memberName: 'XYZ유통', isActive: 'N' },\n])\n\nconst masterColumnDefs = ref([\n { field: 'memberId', headerName: '회원사코드', width: 150 },\n { field: 'memberName', headerName: '회원사명', flex: 1 },\n {\n field: 'isActive',\n headerName: '활성',\n width: 100,\n cellRenderer: (params: any) => (params.value === 'Y' ? '✓' : ''),\n },\n])\n\n// 마스터 탭 행별 액션 버튼\nconst masterActionButtons: ActionButton[] = [\n {\n icon: 'pencil',\n label: '수정',\n tooltip: '편집',\n onClick: (rowData: any) => {\n isMasterNew.value = false\n masterDetail.value = {\n memberId: rowData.memberId,\n memberName: rowData.memberName,\n isActive: rowData.isActive,\n }\n },\n },\n {\n icon: 'trash2',\n label: '삭제',\n tooltip: '삭제',\n styletype: 'danger',\n onClick: (rowData: any) => {\n if (confirm(`${rowData.memberName}을(를) 삭제하시겠습니까?`)) {\n console.log('회원사 삭제:', rowData.memberId)\n alert(`삭제되었습니다: ${rowData.memberName}`)\n }\n },\n },\n]\n\nconst masterGridRef = ref()\nconst isMasterNew = ref(false)\nconst masterDetail = ref({\n memberId: '',\n memberName: '',\n isActive: 'Y',\n})\n\nfunction onMasterRowClicked(event: any) {\n isMasterNew.value = false\n masterDetail.value = {\n memberId: event.data.memberId,\n memberName: event.data.memberName,\n isActive: event.data.isActive,\n }\n}\n\nfunction onMasterNew() {\n isMasterNew.value = true\n masterDetail.value = {\n memberId: '',\n memberName: '',\n isActive: 'Y',\n }\n}\n\nfunction onMasterSave() {\n console.log('회원사 저장:', masterDetail.value)\n // TODO: 실제 구현 시 API 호출로 대체\n alert(`저장되었습니다: ${masterDetail.value.memberName}`)\n}\n\nfunction onMasterDelete() {\n if (confirm(`${masterDetail.value.memberName}을(를) 삭제하시겠습니까?`)) {\n console.log('회원사 삭제:', masterDetail.value.memberId)\n // TODO: 실제 구현 시 API 호출로 대체\n alert(`삭제되었습니다: ${masterDetail.value.memberName}`)\n }\n}\n\nfunction onMasterReset() {\n masterFilterValues.value = {\n isActive: '',\n keyword: '',\n }\n}\n\nfunction onMasterSearch() {\n console.log('회원사 조회:', masterFilterValues.value)\n // TODO: 실제 구현 시 API 호출로 대체\n}\n\nfunction onHelp() {\n alert('회원사 관리 페이지 도움말')\n}\n\n// ==================== Tab 2: 매핑 (고객사) ====================\n\nconst mappingFilterCollapsed = ref(false)\nconst mappingFilterValues = ref({\n keyword: '',\n})\n\nconst mappingFilterDisplay = {\n keyword: {\n label: '검색어',\n },\n}\n\nconst mappingMasterGridRef = ref()\nconst unmappedGridRef = ref()\nconst mappedGridRef = ref()\n\nconst mappingMasterColumnDefs = ref([\n { field: 'memberId', headerName: '회원사코드', width: 150 },\n { field: 'memberName', headerName: '회원사명', flex: 1 },\n])\n\n// Mock 데이터 - 전체 고객사 (매핑 여부 포함)\nconst selectedMemberId = ref<string>('')\n\n// Mock 데이터 - 회원사별 매핑 정보\nconst mappingData = ref<Record<string, string[]>>({\n M001: ['C001', 'C002'], // 제이솔루션에 매핑된 고객사\n M002: ['C003'], // ABC물류에 매핑된 고객사\n M003: [], // XYZ유통에 매핑된 고객사 없음\n})\n\nconst allCustomersData = [\n { code: 'C001', name: '고객A' },\n { code: 'C002', name: '고객B' },\n { code: 'C003', name: '고객C' },\n { code: 'C004', name: '고객D' },\n { code: 'C005', name: '고객E' },\n]\n\nconst customerColumnDefs = ref([\n { field: 'code', headerName: '코드', width: 120 },\n { field: 'name', headerName: '이름', flex: 1 },\n])\n\n// 매핑/미매핑 고객사 계산\nconst unmappedCustomers = computed(() => {\n if (!selectedMemberId.value) return []\n const mappedCodes = mappingData.value[selectedMemberId.value] || []\n return allCustomersData.filter((c) => !mappedCodes.includes(c.code))\n})\n\nconst mappedCustomers = computed(() => {\n if (!selectedMemberId.value) return []\n const mappedCodes = mappingData.value[selectedMemberId.value] || []\n return allCustomersData.filter((c) => mappedCodes.includes(c.code))\n})\n\nfunction onMappingMasterRowClicked(event: any) {\n selectedMemberId.value = event.data.memberId\n console.log('선택된 회원사:', event.data.memberName)\n // TODO: 실제 구현 시 API 호출로 매핑/미매핑 데이터 로드\n}\n\n/**\n * 매핑 버튼 클릭 (좌측 → 우측)\n */\nfunction onMap() {\n if (!selectedMemberId.value) {\n alert('회원사를 먼저 선택해주세요.')\n return\n }\n\n const selectedRows = unmappedGridRef.value?.getSelectedRows() || []\n if (selectedRows.length === 0) {\n alert('매핑할 고객사를 선택해주세요.')\n return\n }\n\n // 선택된 고객사 코드 추출\n const selectedCodes = selectedRows.map((row: any) => row.code)\n\n // 매핑 데이터 업데이트\n const key = selectedMemberId.value\n if (!mappingData.value[key]) {\n mappingData.value[key] = []\n }\n mappingData.value[key]!.push(...selectedCodes)\n\n console.log('매핑:', selectedCodes)\n // TODO: 실제 구현 시 API 호출로 매핑 처리\n // await api.mapCustomers(selectedMemberId.value, selectedCodes)\n}\n\n/**\n * 해제 버튼 클릭 (우측 → 좌측)\n */\nfunction onUnmap() {\n if (!selectedMemberId.value) {\n alert('회원사를 먼저 선택해주세요.')\n return\n }\n\n const selectedRows = mappedGridRef.value?.getSelectedRows() || []\n if (selectedRows.length === 0) {\n alert('해제할 고객사를 선택해주세요.')\n return\n }\n\n // 선택된 고객사 코드 추출\n const selectedCodes = selectedRows.map((row: any) => row.code)\n\n // 매핑 데이터에서 제거\n const unmapKey = selectedMemberId.value\n mappingData.value[unmapKey] = (mappingData.value[unmapKey] || []).filter(\n (code) => !selectedCodes.includes(code)\n )\n\n console.log('해제:', selectedCodes)\n // TODO: 실제 구현 시 API 호출로 매핑 해제 처리\n // await api.unmapCustomers(selectedMemberId.value, selectedCodes)\n}\n\nfunction onMappingReset() {\n mappingFilterValues.value = {\n keyword: '',\n }\n}\n\nfunction onMappingSearch() {\n console.log('매핑 조회:', mappingFilterValues.value)\n // TODO: 실제 구현 시 API 호출로 대체\n}\n\ndefineExpose({ masterGridRef, mappingMasterGridRef })\n</script>\n"],"names":["activeTabId","ref","tabs","handleTabChange","tabId","activeOptions","masterFilterCollapsed","masterFilterValues","masterFilterDisplay","val","masterRowData","masterColumnDefs","params","masterActionButtons","rowData","isMasterNew","masterDetail","masterGridRef","onMasterRowClicked","event","onMasterNew","onMasterSave","onMasterDelete","onMasterReset","onMasterSearch","onHelp","mappingFilterCollapsed","mappingFilterValues","mappingFilterDisplay","mappingMasterGridRef","unmappedGridRef","mappedGridRef","mappingMasterColumnDefs","selectedMemberId","mappingData","allCustomersData","customerColumnDefs","unmappedCustomers","computed","mappedCodes","c","mappedCustomers","onMappingMasterRowClicked","onMap","selectedRows","selectedCodes","row","key","onUnmap","unmapKey","code","onMappingReset","onMappingSearch","__expose","_openBlock","_createElementBlock","_hoisted_1","_createVNode","_unref","JTitlebar","JTabs","$event","_createElementVNode","_hoisted_2","JFilterBar","JButton","_cache","_hoisted_3","JFormField","JSplitter","_hoisted_4","JGrid","_hoisted_5","_hoisted_6","_toDisplayString","_hoisted_7","_hoisted_8","_createBlock","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExampleTabMappingPage.vue2.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExampleTabMappingPage.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
require('./assets/styles/j-components.css');
|
|
2
2
|
require('./assets/styles/themes.css');
|
|
3
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});;/* empty css */;/* empty css */;/* empty css */const e=require("./components/atoms/JButton.vue.cjs"),t=require("./components/atoms/JInput.vue.cjs"),u=require("./components/atoms/JTextarea.vue.cjs"),_=require("./components/atoms/JCheckbox.vue.cjs"),r=require("./components/atoms/JCombo.vue.cjs"),a=require("./components/atoms/JSearchCombo.vue.cjs"),
|
|
3
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});;/* empty css */;/* empty css */;/* empty css */const e=require("./components/atoms/JButton.vue.cjs"),t=require("./components/atoms/JInput.vue.cjs"),u=require("./components/atoms/JTextarea.vue.cjs"),_=require("./components/atoms/JCheckbox.vue.cjs"),r=require("./components/atoms/JCombo.vue.cjs"),a=require("./components/atoms/JSearchCombo.vue.cjs"),p=require("./components/atoms/JRadio.vue.cjs"),i=require("./components/atoms/JSwitch.vue.cjs"),s=require("./components/atoms/JDatepicker.vue.cjs"),n=require("./components/atoms/JDivider.vue.cjs"),c=require("./components/atoms/JEditor.vue.cjs"),l=require("./components/atoms/JLink.vue.cjs"),o=require("./components/atoms/JImage.vue.cjs"),J=require("./components/atoms/JBadge.vue.cjs"),d=require("./components/atoms/JProgress.vue.cjs");;/* empty css */const v=require("./components/atoms/JSpinner.vue.cjs"),g=require("./components/atoms/JAvatar.vue.cjs"),q=require("./components/atoms/JKbd.vue.cjs"),y=require("./components/atoms/JTooltip.vue.cjs"),f=require("./components/atoms/JIcon.vue.cjs"),b=require("./components/atoms/JLabel.vue.cjs"),m=require("./components/atoms/JPopover.vue.cjs"),S=require("./components/atoms/JPreview.vue.cjs"),T=require("./components/atoms/JGrid.vue.cjs"),C=require("./components/atoms/JSplitter.vue.cjs"),P=require("vue-sonner"),A=require("./components/atoms/JToast.vue.cjs"),h=require("./components/molecules/JFormField.vue.cjs");;/* empty css */const x=require("./components/molecules/JGroupCombo.vue.cjs"),B=require("./components/molecules/JTabs.vue.cjs"),F=require("./components/molecules/JSearchAddr.vue.cjs"),L=require("./components/molecules/JContextMenu.vue.cjs"),M=require("./components/molecules/JCard.vue.cjs"),D=require("./components/molecules/JAlert.vue.cjs"),k=require("./components/molecules/JAccordion.vue.cjs"),E=require("./components/molecules/JTitlebar.vue.cjs"),G=require("./components/molecules/JButtonGroup.vue.cjs"),I=require("./components/molecules/JBreadcrumb.vue.cjs"),w=require("./components/organisms/JDynamicTabs.vue.cjs"),j=require("./components/organisms/JModal.vue.cjs"),H=require("./components/organisms/JFormModal.vue.cjs"),K=require("./components/organisms/JDynamicForm.vue.cjs"),O=require("./components/organisms/JSearchPanel.vue.cjs"),R=require("./components/organisms/JFilterBar.vue.cjs"),z=require("./components/organisms/JHeader.vue.cjs"),N=require("./components/organisms/JSidebarSimple.vue.cjs"),Q=require("./components/organisms/JSidebarAdvanced.vue.cjs"),U=require("./components/organisms/JPageContainer.vue.cjs"),V=require("./components/organisms/JTree.vue.cjs"),W=require("./components/templates/JLayout.vue.cjs"),X=require("./components/templates/JLayoutSimple.vue.cjs"),Y=require("./components/templates/JLayoutAdvanced.vue.cjs"),Z=require("./components/examples/ExampleCrudPage.vue.cjs"),$=require("./components/examples/ExampleTabMappingPage.vue.cjs");exports.JButton=e.default;exports.JInput=t.default;exports.JTextarea=u.default;exports.JCheckbox=_.default;exports.JCombo=r.default;exports.JSearchCombo=a.default;exports.JRadio=p.default;exports.JSwitch=i.default;exports.JDatepicker=s.default;exports.JDivider=n.default;exports.JEditor=c.default;exports.JLink=l.default;exports.JImage=o.default;exports.JBadge=J.default;exports.JProgress=d.default;exports.JSpinner=v.default;exports.JAvatar=g.default;exports.JKbd=q.default;exports.JTooltip=y.default;exports.JIcon=f.default;exports.JLabel=b.default;exports.JPopover=m.default;exports.JPreview=S.default;exports.JGrid=T.default;exports.JSplitter=C.default;Object.defineProperty(exports,"JToast",{enumerable:!0,get:()=>P.toast});exports.JToaster=A.default;exports.JFormField=h.default;exports.JGroupCombo=x.default;exports.JTabs=B.default;exports.JSearchAddr=F.default;exports.JContextMenu=L.default;exports.JCard=M.default;exports.JAlert=D.default;exports.JAccordion=k.default;exports.JTitlebar=E.default;exports.JButtonGroup=G.default;exports.JBreadcrumb=I.default;exports.JDynamicTabs=w.default;exports.JModal=j.default;exports.JFormModal=H.default;exports.JDynamicForm=K.default;exports.JSearchPanel=O.default;exports.JFilterBar=R.default;exports.JHeader=z.default;exports.JSidebarSimple=N.default;exports.JSidebarAdvanced=Q.default;exports.JPageContainer=U.default;exports.JTree=V.default;exports.JLayout=W.default;exports.JLayoutSimple=X.default;exports.JLayoutAdvanced=Y.default;exports.ExampleCrudPage=Z.default;exports.ExampleTabMappingPage=$.default;
|
|
4
4
|
//# sourceMappingURL=index.cjs.map
|