@bwg-ui/core 1.0.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.
- package/README.md +106 -0
- package/dist/chunks/BwgLargeUploader-ByN1XWV4.js +809 -0
- package/dist/chunks/BwgLargeUploader-CU0-MVk4.cjs +1 -0
- package/dist/chunks/BwgSpace-CnLM4qcg.js +26 -0
- package/dist/chunks/BwgSpace-b0hmM1Ht.cjs +1 -0
- package/dist/chunks/QuickServiceToggle-CiCuWfCF.cjs +183 -0
- package/dist/chunks/QuickServiceToggle-y7esp1kp.js +15510 -0
- package/dist/chunks/ServiceCodeContext--ZnMtjzD.cjs +1 -0
- package/dist/chunks/ServiceCodeContext-CDZMr3Mm.js +87 -0
- package/dist/chunks/UtilsContext-B16Gh9LL.cjs +1 -0
- package/dist/chunks/UtilsContext-BbfZYiMR.js +240 -0
- package/dist/chunks/_commonjsHelpers-C6fGbg64.js +6 -0
- package/dist/chunks/_commonjsHelpers-DwGv2jUC.cjs +1 -0
- package/dist/chunks/codeStore-Dt6j826J.cjs +1 -0
- package/dist/chunks/codeStore-bxk_q1sl.js +449 -0
- package/dist/chunks/commonUtils-BV6WFv-z.js +628 -0
- package/dist/chunks/commonUtils-L9Jgc5y-.cjs +1 -0
- package/dist/chunks/favoriteStore-CguRSEcH.js +367 -0
- package/dist/chunks/favoriteStore-TgeeY32l.cjs +1 -0
- package/dist/chunks/jsx-runtime-CeSfJrVB.cjs +30 -0
- package/dist/chunks/jsx-runtime-Dpn_P65e.js +633 -0
- package/dist/chunks/messageUtils-9DXOwada.js +117 -0
- package/dist/chunks/messageUtils-RjJD_ArW.cjs +1 -0
- package/dist/chunks/popupStore-CVD8SPTa.cjs +1 -0
- package/dist/chunks/popupStore-Dp_fqtim.js +96 -0
- package/dist/chunks/realFormat-Cha7OTd9.cjs +1 -0
- package/dist/chunks/realFormat-DRGLFabQ.js +304 -0
- package/dist/chunks/serviceConfig-BJBsdee_.js +699 -0
- package/dist/chunks/serviceConfig-Cr2P4yr4.cjs +2 -0
- package/dist/components/common/BwgButtonGroup.d.ts +31 -0
- package/dist/components/common/BwgCmptArea.d.ts +16 -0
- package/dist/components/common/BwgConfigProvider.d.ts +10 -0
- package/dist/components/common/BwgDrawer.d.ts +20 -0
- package/dist/components/common/BwgGrid.d.ts +505 -0
- package/dist/components/common/BwgInfoArea.d.ts +8 -0
- package/dist/components/common/BwgPopup.d.ts +9 -0
- package/dist/components/common/BwgSpace.d.ts +11 -0
- package/dist/components/common/BwgTable.d.ts +13 -0
- package/dist/components/common/BwgTabs.d.ts +5 -0
- package/dist/components/common/BwgTitleBox.d.ts +29 -0
- package/dist/components/common/BwgView.d.ts +36 -0
- package/dist/components/common/ContentBox.d.ts +19 -0
- package/dist/components/common/ContentLayOut.d.ts +13 -0
- package/dist/components/common/GlobalConfigProvider.d.ts +9 -0
- package/dist/components/common/QuickServiceToggle.d.ts +13 -0
- package/dist/components/common/SearchBox.d.ts +16 -0
- package/dist/components/common/index.cjs +1 -0
- package/dist/components/common/index.d.ts +34 -0
- package/dist/components/common/index.js +24 -0
- package/dist/components/core/BwgButton.d.ts +6 -0
- package/dist/components/core/BwgCheck.d.ts +11 -0
- package/dist/components/core/BwgCheckList.d.ts +11 -0
- package/dist/components/core/BwgDatePicker.d.ts +10 -0
- package/dist/components/core/BwgForm.d.ts +6 -0
- package/dist/components/core/BwgFormItem.d.ts +17 -0
- package/dist/components/core/BwgInput.d.ts +9 -0
- package/dist/components/core/BwgLargeUploader.d.ts +15 -0
- package/dist/components/core/BwgMaskedInput.d.ts +20 -0
- package/dist/components/core/BwgMaskedPicker.d.ts +11 -0
- package/dist/components/core/BwgMultiSelect.d.ts +14 -0
- package/dist/components/core/BwgNumber.d.ts +13 -0
- package/dist/components/core/BwgRadio.d.ts +8 -0
- package/dist/components/core/BwgRangePicker.d.ts +12 -0
- package/dist/components/core/BwgSearch.d.ts +16 -0
- package/dist/components/core/BwgSelect.d.ts +15 -0
- package/dist/components/core/BwgTextArea.d.ts +8 -0
- package/dist/components/core/BwgUploader.d.ts +34 -0
- package/dist/components/core/index.cjs +1 -0
- package/dist/components/core/index.d.ts +36 -0
- package/dist/components/core/index.js +21 -0
- package/dist/components/guide/BwgComponentGuide.d.ts +2 -0
- package/dist/components/guide/BwgDeveloperGuide.d.ts +2 -0
- package/dist/components/guide/index.cjs +1 -0
- package/dist/components/guide/index.d.ts +2 -0
- package/dist/components/guide/index.js +7 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +291 -0
- package/dist/provider/contexts/CommonCodeContext.d.ts +46 -0
- package/dist/provider/contexts/SearchBoxContext.d.ts +15 -0
- package/dist/provider/contexts/ServiceCodeContext.d.ts +108 -0
- package/dist/provider/contexts/UtilsContext.d.ts +194 -0
- package/dist/provider/contexts/index.d.ts +4 -0
- package/dist/provider/hooks/index.d.ts +2 -0
- package/dist/provider/hooks/usePopup.d.ts +17 -0
- package/dist/provider/hooks/useViewState.d.ts +14 -0
- package/dist/provider/index.cjs +1 -0
- package/dist/provider/index.d.ts +2 -0
- package/dist/provider/index.js +27 -0
- package/dist/public/styles/assets/images/contents/icon/ico-business-trip.svg +21 -0
- package/dist/public/styles/assets/images/contents/icon/ico-holiday.svg +23 -0
- package/dist/public/styles/assets/images/contents/icon/ico-menu-help.svg +5 -0
- package/dist/public/styles/assets/images/contents/icon/ico-overtime.svg +17 -0
- package/dist/public/styles/assets/images/contents/icon/ico-quick-tab-move.svg +8 -0
- package/dist/public/styles/assets/images/contents/icon/quick tab-text.svg +4 -0
- package/dist/public/styles/assets/images/contents/icon/quick-tab-text.svg +4 -0
- package/dist/public/test.txt +0 -0
- package/dist/stores/codeStore.d.ts +173 -0
- package/dist/stores/favoriteStore.d.ts +19 -0
- package/dist/stores/index.cjs +1 -0
- package/dist/stores/index.d.ts +14 -0
- package/dist/stores/index.js +20 -0
- package/dist/stores/menuStore.d.ts +52 -0
- package/dist/stores/popupStore.d.ts +72 -0
- package/dist/stores/userStore.d.ts +36 -0
- package/dist/styles/assets/fonts/Roboto/Roboto-bold.eot +2751 -0
- package/dist/styles/assets/fonts/Roboto/Roboto-bold.svg +626 -0
- package/dist/styles/assets/fonts/Roboto/Roboto-bold.ttf +2755 -0
- package/dist/styles/assets/fonts/Roboto/Roboto-bold.woff +2755 -0
- package/dist/styles/assets/fonts/Roboto/Roboto-bold.woff2 +2754 -0
- package/dist/styles/assets/fonts/Roboto/Roboto-medium.eot +0 -0
- package/dist/styles/assets/fonts/Roboto/Roboto-medium.svg +1064 -0
- package/dist/styles/assets/fonts/Roboto/Roboto-medium.ttf +0 -0
- package/dist/styles/assets/fonts/Roboto/Roboto-medium.woff +0 -0
- package/dist/styles/assets/fonts/Roboto/Roboto-medium.woff2 +2754 -0
- package/dist/styles/assets/fonts/Roboto/Roboto-regular.eot +0 -0
- package/dist/styles/assets/fonts/Roboto/Roboto-regular.svg +1063 -0
- package/dist/styles/assets/fonts/Roboto/Roboto-regular.ttf +1597 -0
- package/dist/styles/assets/fonts/Roboto/Roboto-regular.woff +1597 -0
- package/dist/styles/assets/fonts/Roboto/Roboto-regular.woff2 +1597 -0
- package/dist/styles/assets/fonts/material/MaterialIcons-Regular.eot +1594 -0
- package/dist/styles/assets/fonts/material/MaterialIcons-Regular.ttf +0 -0
- package/dist/styles/assets/fonts/material/MaterialIcons-Regular.woff +1594 -0
- package/dist/styles/assets/fonts/material/MaterialIcons-Regular.woff2 +1594 -0
- package/dist/styles/assets/fonts/material/MaterialSymbolsOutlined.woff2 +0 -0
- package/dist/styles/assets/fonts/meiryo/meiryo.ttf +0 -0
- package/dist/styles/assets/fonts/meiryo/meiryob.ttf +0 -0
- package/dist/styles/assets/fonts/nanumBarun/NanumBarunGothic.eot +0 -0
- package/dist/styles/assets/fonts/nanumBarun/NanumBarunGothic.ttf +0 -0
- package/dist/styles/assets/fonts/nanumBarun/NanumBarunGothic.woff +0 -0
- package/dist/styles/assets/fonts/nanumBarun/NanumBarunGothicBold.eot +0 -0
- package/dist/styles/assets/fonts/nanumBarun/NanumBarunGothicBold.ttf +0 -0
- package/dist/styles/assets/fonts/nanumBarun/NanumBarunGothicBold.woff +0 -0
- package/dist/styles/assets/fonts/nanumBarun/NanumBarunGothicWeb.eot +0 -0
- package/dist/styles/assets/fonts/nanumBarun/NanumBarunGothicWeb.ttf +0 -0
- package/dist/styles/assets/fonts/nanumBarun/NanumBarunGothicWeb.woff +0 -0
- package/dist/styles/assets/fonts/nanumBarun/NanumBarunGothicWebBold.eot +0 -0
- package/dist/styles/assets/fonts/nanumBarun/NanumBarunGothicWebBold.ttf +0 -0
- package/dist/styles/assets/fonts/nanumBarun/NanumBarunGothicWebBold.woff +0 -0
- package/dist/styles/assets/fonts/nanumBarun/NanumBarunGothicWebLight.eot +0 -0
- package/dist/styles/assets/fonts/nanumBarun/NanumBarunGothicWebLight.ttf +0 -0
- package/dist/styles/assets/fonts/nanumBarun/NanumBarunGothicWebLight.woff +0 -0
- package/dist/styles/assets/fonts/notokr/NotoSans-Bold.eot +2314 -0
- package/dist/styles/assets/fonts/notokr/NotoSans-Bold.otf +2314 -0
- package/dist/styles/assets/fonts/notokr/NotoSans-Bold.svg +47 -0
- package/dist/styles/assets/fonts/notokr/NotoSans-Bold.ttf +2301 -0
- package/dist/styles/assets/fonts/notokr/NotoSans-Bold.woff +2314 -0
- package/dist/styles/assets/fonts/notokr/NotoSans-Bold.woff2 +2315 -0
- package/dist/styles/assets/fonts/notokr/NotoSans-Light.otf +0 -0
- package/dist/styles/assets/fonts/notokr/NotoSans-Light.woff +0 -0
- package/dist/styles/assets/fonts/notokr/NotoSans-Light.woff2 +0 -0
- package/dist/styles/assets/fonts/notokr/NotoSans-Medium.eot +0 -0
- package/dist/styles/assets/fonts/notokr/NotoSans-Medium.otf +0 -0
- package/dist/styles/assets/fonts/notokr/NotoSans-Medium.svg +47 -0
- package/dist/styles/assets/fonts/notokr/NotoSans-Medium.ttf +0 -0
- package/dist/styles/assets/fonts/notokr/NotoSans-Medium.woff +0 -0
- package/dist/styles/assets/fonts/notokr/NotoSans-Medium.woff2 +0 -0
- package/dist/styles/assets/fonts/notokr/NotoSans-Regular.eot +0 -0
- package/dist/styles/assets/fonts/notokr/NotoSans-Regular.otf +0 -0
- package/dist/styles/assets/fonts/notokr/NotoSans-Regular.svg +47 -0
- package/dist/styles/assets/fonts/notokr/NotoSans-Regular.ttf +2299 -0
- package/dist/styles/assets/fonts/notokr/NotoSans-Regular.woff +0 -0
- package/dist/styles/assets/fonts/notokr/NotoSans-Regular.woff2 +0 -0
- package/dist/styles/assets/fonts/poppins/Poppins-ExtraLight.eot +0 -0
- package/dist/styles/assets/fonts/poppins/Poppins-ExtraLight.ttf +0 -0
- package/dist/styles/assets/fonts/poppins/Poppins-ExtraLight.woff +0 -0
- package/dist/styles/assets/fonts/poppins/Poppins-ExtraLight.woff2 +0 -0
- package/dist/styles/assets/fonts/poppins/Poppins-Light.eot +0 -0
- package/dist/styles/assets/fonts/poppins/Poppins-Light.ttf +0 -0
- package/dist/styles/assets/fonts/poppins/Poppins-Light.woff +0 -0
- package/dist/styles/assets/fonts/poppins/Poppins-Light.woff2 +0 -0
- package/dist/styles/assets/fonts/poppins/Poppins-Medium.eot +0 -0
- package/dist/styles/assets/fonts/poppins/Poppins-Medium.ttf +0 -0
- package/dist/styles/assets/fonts/poppins/Poppins-Medium.woff +0 -0
- package/dist/styles/assets/fonts/poppins/Poppins-Medium.woff2 +0 -0
- package/dist/styles/assets/fonts/poppins/Poppins-Regular.eot +0 -0
- package/dist/styles/assets/fonts/poppins/Poppins-Regular.ttf +0 -0
- package/dist/styles/assets/fonts/poppins/Poppins-Regular.woff +0 -0
- package/dist/styles/assets/fonts/poppins/Poppins-Regular.woff2 +0 -0
- package/dist/styles/assets/fonts/poppins/Poppins-SemiBold.eot +0 -0
- package/dist/styles/assets/fonts/poppins/Poppins-SemiBold.ttf +0 -0
- package/dist/styles/assets/fonts/poppins/Poppins-SemiBold.woff +0 -0
- package/dist/styles/assets/fonts/poppins/Poppins-SemiBold.woff2 +0 -0
- package/dist/styles/assets/fonts/pretendard/Pretendard-Black.woff2 +0 -0
- package/dist/styles/assets/fonts/pretendard/Pretendard-Bold.woff2 +0 -0
- package/dist/styles/assets/fonts/pretendard/Pretendard-ExtraBold.woff2 +0 -0
- package/dist/styles/assets/fonts/pretendard/Pretendard-ExtraLight.woff2 +0 -0
- package/dist/styles/assets/fonts/pretendard/Pretendard-Light.woff2 +0 -0
- package/dist/styles/assets/fonts/pretendard/Pretendard-Medium.woff2 +0 -0
- package/dist/styles/assets/fonts/pretendard/Pretendard-Regular.woff2 +0 -0
- package/dist/styles/assets/fonts/pretendard/Pretendard-SemiBold.woff2 +0 -0
- package/dist/styles/assets/fonts/pretendard/Pretendard-Thin.woff2 +0 -0
- package/dist/styles/assets/images/README.md +144 -0
- package/dist/styles/assets/images/backgrounds/landing_bg.png +0 -0
- package/dist/styles/assets/images/backgrounds/login_bg_01.png +0 -0
- package/dist/styles/assets/images/backgrounds/login_bg_02.png +0 -0
- package/dist/styles/assets/images/contents/btn/btn-down-on.png +0 -0
- package/dist/styles/assets/images/contents/btn/btn-down.png +0 -0
- package/dist/styles/assets/images/contents/btn/btn-left-on.png +0 -0
- package/dist/styles/assets/images/contents/btn/btn-left.png +0 -0
- package/dist/styles/assets/images/contents/btn/btn-right-on.png +0 -0
- package/dist/styles/assets/images/contents/btn/btn-right.png +0 -0
- package/dist/styles/assets/images/contents/btn/btn-up-on.png +0 -0
- package/dist/styles/assets/images/contents/btn/btn-up.png +0 -0
- package/dist/styles/assets/images/contents/icon/ico-business-trip.svg +21 -0
- package/dist/styles/assets/images/contents/icon/ico-holiday.svg +23 -0
- package/dist/styles/assets/images/contents/icon/ico-menu-help.svg +5 -0
- package/dist/styles/assets/images/contents/icon/ico-overtime.svg +17 -0
- package/dist/styles/assets/images/contents/icon/ico-quick-tab-move.svg +4 -0
- package/dist/styles/assets/images/contents/icon/ico-setting.svg +4 -0
- package/dist/styles/assets/images/contents/icon/ico_blue.png +0 -0
- package/dist/styles/assets/images/contents/icon/ico_red.png +0 -0
- package/dist/styles/assets/images/contents/icon/quick tab-text.svg +4 -0
- package/dist/styles/assets/images/contents/icon/quick-tab-text.svg +4 -0
- package/dist/styles/assets/images/logos/KRX Logo.svg +22 -0
- package/dist/styles/assets/images/logos/bwg-logo-blue.png +0 -0
- package/dist/styles/assets/images/logos/krx-logo-x2.png +0 -0
- package/dist/styles/assets/images/logos/krx-logo.png +0 -0
- package/dist/styles/assets/react.svg +1 -0
- package/dist/styles/components.css +785 -0
- package/dist/styles/fonts.css +101 -0
- package/dist/styles/global.css +52 -0
- package/dist/styles/index.css +41 -0
- package/dist/styles/layout.css +1132 -0
- package/dist/styles/login.css +151 -0
- package/dist/styles/popup.css +30 -0
- package/dist/styles/renderers.css +190 -0
- package/dist/styles/size.css +4019 -0
- package/dist/styles/variables.css +106 -0
- package/dist/test.txt +0 -0
- package/dist/types/images.d.ts +25 -0
- package/dist/utils/apiUtils.d.ts +85 -0
- package/dist/utils/arrayUtils.d.ts +34 -0
- package/dist/utils/commonUtils.d.ts +54 -0
- package/dist/utils/cookieUtils.d.ts +4 -0
- package/dist/utils/dateUtils.d.ts +26 -0
- package/dist/utils/envUtils.d.ts +8 -0
- package/dist/utils/imageUtils.d.ts +31 -0
- package/dist/utils/index.cjs +1 -0
- package/dist/utils/index.d.ts +14 -0
- package/dist/utils/index.js +211 -0
- package/dist/utils/messageUtils.d.ts +65 -0
- package/dist/utils/notificationUtils.d.ts +51 -0
- package/dist/utils/objectUtils.d.ts +27 -0
- package/dist/utils/realFormat.d.ts +242 -0
- package/dist/utils/serviceConfig.d.ts +35 -0
- package/dist/utils/stringUtils.d.ts +142 -0
- package/dist/utils/userUtils.d.ts +19 -0
- package/package.json +123 -0
- package/public/styles/assets/images/contents/icon/ico-business-trip.svg +21 -0
- package/public/styles/assets/images/contents/icon/ico-holiday.svg +23 -0
- package/public/styles/assets/images/contents/icon/ico-menu-help.svg +5 -0
- package/public/styles/assets/images/contents/icon/ico-overtime.svg +17 -0
- package/public/styles/assets/images/contents/icon/ico-quick-tab-move.svg +8 -0
- package/public/styles/assets/images/contents/icon/quick tab-text.svg +4 -0
- package/public/styles/assets/images/contents/icon/quick-tab-text.svg +4 -0
- package/public/test.txt +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const a=require("./jsx-runtime-CeSfJrVB.cjs"),c=require("react"),d=require("./serviceConfig-Cr2P4yr4.cjs"),S=c.createContext(null),x=({children:o})=>{const e=c.useRef(null),C={searchBoxRef:e,getFormData:()=>e.current?.getFormData()||{},setFormData:v=>{e.current?.setFormData(v)},resetForm:()=>{e.current?.resetForm()},validateForm:async()=>await e.current?.validateForm()||{success:!1,error:null}};return a.jsxRuntimeExports.jsx(S.Provider,{value:C,children:o})},g=()=>{const o=c.useContext(S);if(!o)throw new Error("useSearchBox must be used within a SearchBoxProvider");return o},u={AUTH_BTNS:"SCMSIGN00202",AUTH_MENU:"SCMSIGN00201",SRCH_CODE:"SCMSIGN00301",SRCH_POPU:"SCMPOPU00101",AUTH_BMRK:"SCMBMRK00101"},l=c.createContext(null),m=({children:o,serviceCodes:e={}})=>{c.useEffect(()=>{d.setServiceCodeOverrides(e)},[e]);const i={serviceCodes:e,getServiceCode:r=>{if(e[r]&&e[r].trim()!=="")return console.log(`🔧 Provider 설정 사용: ${r} = ${e[r]}`),e[r];const s=u[r];return console.log(`🔧 기본값 사용: ${r} = ${s}`),s}};return a.jsxRuntimeExports.jsx(l.Provider,{value:i,children:o})},n=()=>{const o=c.useContext(l);if(!o)throw new Error("useServiceCode must be used within a ServiceCodeProvider");return o},f=o=>{const{getServiceCode:e}=n();return e(o)},P=()=>{const{getServiceCode:o}=n(),e={};for(const t of Object.keys(u))e[t]=o(t);return e},F=()=>{const{getServiceCode:o}=n();console.log("🔧 bwg-core 서비스코드 설정:"),console.log("📋 Provider 설정 > 기본값 순서로 확인");for(const e of Object.keys(u)){const t=o(e);console.log(` ${e}: ${t}`)}};exports.SearchBoxProvider=x;exports.ServiceCodeProvider=m;exports.useAllServiceCodes=P;exports.useLogServiceCodeConfig=F;exports.useSearchBox=g;exports.useServiceCode=n;exports.useServiceCodeValue=f;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { j as u } from "./jsx-runtime-Dpn_P65e.js";
|
|
2
|
+
import { useRef as m, createContext as i, useContext as S, useEffect as x } from "react";
|
|
3
|
+
import { an as f } from "./serviceConfig-BJBsdee_.js";
|
|
4
|
+
const l = i(null), h = ({
|
|
5
|
+
children: o
|
|
6
|
+
}) => {
|
|
7
|
+
const e = m(null), v = {
|
|
8
|
+
searchBoxRef: e,
|
|
9
|
+
getFormData: () => e.current?.getFormData() || {},
|
|
10
|
+
setFormData: (C) => {
|
|
11
|
+
e.current?.setFormData(C);
|
|
12
|
+
},
|
|
13
|
+
resetForm: () => {
|
|
14
|
+
e.current?.resetForm();
|
|
15
|
+
},
|
|
16
|
+
validateForm: async () => await e.current?.validateForm() || {
|
|
17
|
+
success: !1,
|
|
18
|
+
error: null
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
return /* @__PURE__ */ u.jsx(l.Provider, { value: v, children: o });
|
|
22
|
+
}, E = () => {
|
|
23
|
+
const o = S(l);
|
|
24
|
+
if (!o)
|
|
25
|
+
throw new Error("useSearchBox must be used within a SearchBoxProvider");
|
|
26
|
+
return o;
|
|
27
|
+
}, s = {
|
|
28
|
+
// 권한 관련
|
|
29
|
+
AUTH_BTNS: "SCMSIGN00202",
|
|
30
|
+
// 버튼 권한 조회
|
|
31
|
+
AUTH_MENU: "SCMSIGN00201",
|
|
32
|
+
// 메뉴 권한 조회
|
|
33
|
+
SRCH_CODE: "SCMSIGN00301",
|
|
34
|
+
// 코드 조회
|
|
35
|
+
// 팝업 관련
|
|
36
|
+
SRCH_POPU: "SCMPOPU00101",
|
|
37
|
+
// 팝업 조회
|
|
38
|
+
// 즐겨찾기 관련
|
|
39
|
+
AUTH_BMRK: "SCMBMRK00101"
|
|
40
|
+
// 즐겨찾기 관리
|
|
41
|
+
}, d = i(null), B = ({
|
|
42
|
+
children: o,
|
|
43
|
+
serviceCodes: e = {}
|
|
44
|
+
}) => {
|
|
45
|
+
x(() => {
|
|
46
|
+
f(e);
|
|
47
|
+
}, [e]);
|
|
48
|
+
const a = {
|
|
49
|
+
serviceCodes: e,
|
|
50
|
+
getServiceCode: (r) => {
|
|
51
|
+
if (e[r] && e[r].trim() !== "")
|
|
52
|
+
return console.log(`🔧 Provider 설정 사용: ${r} = ${e[r]}`), e[r];
|
|
53
|
+
const n = s[r];
|
|
54
|
+
return console.log(`🔧 기본값 사용: ${r} = ${n}`), n;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
return /* @__PURE__ */ u.jsx(d.Provider, { value: a, children: o });
|
|
58
|
+
}, c = () => {
|
|
59
|
+
const o = S(d);
|
|
60
|
+
if (!o)
|
|
61
|
+
throw new Error("useServiceCode must be used within a ServiceCodeProvider");
|
|
62
|
+
return o;
|
|
63
|
+
}, D = (o) => {
|
|
64
|
+
const { getServiceCode: e } = c();
|
|
65
|
+
return e(o);
|
|
66
|
+
}, w = () => {
|
|
67
|
+
const { getServiceCode: o } = c(), e = {};
|
|
68
|
+
for (const t of Object.keys(s))
|
|
69
|
+
e[t] = o(t);
|
|
70
|
+
return e;
|
|
71
|
+
}, M = () => {
|
|
72
|
+
const { getServiceCode: o } = c();
|
|
73
|
+
console.log("🔧 bwg-core 서비스코드 설정:"), console.log("📋 Provider 설정 > 기본값 순서로 확인");
|
|
74
|
+
for (const e of Object.keys(s)) {
|
|
75
|
+
const t = o(e);
|
|
76
|
+
console.log(` ${e}: ${t}`);
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
export {
|
|
80
|
+
h as S,
|
|
81
|
+
B as a,
|
|
82
|
+
c as b,
|
|
83
|
+
D as c,
|
|
84
|
+
w as d,
|
|
85
|
+
M as e,
|
|
86
|
+
E as u
|
|
87
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const u=require("react"),b=require("./popupStore-CVD8SPTa.cjs"),y=require("./jsx-runtime-CeSfJrVB.cjs"),L=require("./codeStore-Dt6j826J.cjs"),o=require("./commonUtils-L9Jgc5y-.cjs"),i=require("./serviceConfig-Cr2P4yr4.cjs"),x=()=>!1,E=()=>{const{popups:e,activePopupId:r,setActivePopup:s,closePopup:m,openPopup:c}=b.usePopupStore(),l=u.useCallback(async(d,g,C)=>{try{await c(d,g,C)}catch(p){throw console.error("팝업 열기 실패:",p),p}},[c]);return{popups:e,activePopupId:r,setActivePopup:s,closePopup:m,showPopup:l,isPopup:e.length>0}},D=u.createContext(void 0),S=({children:e})=>{const{codeData:r,isLoading:s,error:m,lastUpdated:c,getCodeList:l,getCodeListByOption:d,getCodeName:g,getCodeColor:C,getCodeByOption:p,getAvailableGroupCodes:U,getGridLookup:f,fetchCommonCodes:P}=L.useCodeStore(),v={codeData:r,isLoading:s,error:m,lastUpdated:c,getCodeList:l,getCodeListByOption:d,getCodeName:g,getCodeColor:C,getCodeByOption:p,getAvailableGroupCodes:U,getGridLookup:f,refreshCodes:P};return y.jsxRuntimeExports.jsx(D.Provider,{value:v,children:e})},a=()=>{const e=u.useContext(D);if(e===void 0)throw new Error("useCommonCode must be used within a CommonCodeProvider");return e},A=()=>{const{getCodeList:e,isLoading:r,error:s}=a();return{getCodeList:e,isLoading:r,error:s}},I=()=>{const{getCodeName:e,isLoading:r,error:s}=a();return{getCodeName:e,isLoading:r,error:s}},N=()=>{const{getCodeColor:e,isLoading:r,error:s}=a();return{getCodeColor:e,isLoading:r,error:s}},T=()=>{const{getCodeListByOption:e,isLoading:r,error:s}=a();return{getCodeListByOption:e,isLoading:r,error:s}},G=()=>{const{getGridLookup:e,isLoading:r,error:s}=a();return{getGridLookup:e,isLoading:r,error:s}},k={...o.dateUtils,...i.stringUtils,isEmptyArray:o.isEmptyArray,isNotEmptyArray:o.isNotEmptyArray,unique:o.unique,shuffle:o.shuffle,sortBy:o.sortBy,max:o.max,min:o.min,average:o.average,sum:o.sum,randomFromArray:o.randomFromArray,flattenArray:o.flattenArray,...o.objectUtils,debounce:o.debounce,throttle:o.throttle,setLocalStorage:o.setLocalStorage,getLocalStorage:o.getLocalStorage,formatNumber:o.formatNumber,formatCurrency:o.formatCurrency,copyToClipboard:o.copyToClipboard,isMobile:o.isMobile,isDesktop:o.isDesktop,callService:i.callService,apiGet:i.apiGet,apiPost:i.apiPost,apiPut:i.apiPut,apiDelete:i.apiDelete,apiPatch:i.apiPatch},h=u.createContext(void 0),q=({children:e})=>y.jsxRuntimeExports.jsx(h.Provider,{value:{utils:k},children:e}),n=()=>{const e=u.useContext(h);if(e===void 0)throw new Error("useUtils must be used within a UtilsProvider");return e.utils},t=(e,r,s)=>e&&typeof e[r]=="function"?e[r]:s||(()=>{}),w=()=>{const e=n();return{formatDate:t(e,"formatDate"),formatDateKorean:t(e,"formatDateKorean"),getCurrentDate:t(e,"getCurrentDate"),getCurrentDateString:t(e,"getCurrentDateString"),getRelativeTime:t(e,"getRelativeTime"),isToday:t(e,"isToday"),isThisWeek:t(e,"isThisWeek"),isThisMonth:t(e,"isThisMonth"),getDateDiff:t(e,"getDateDiff"),calculateAge:t(e,"calculateAge")}},B=()=>{const e=n();return{isEmpty:t(e,"isEmpty"),isNotEmpty:t(e,"isNotEmpty"),truncate:t(e,"truncate"),capitalize:t(e,"capitalize"),formatPhoneNumber:t(e,"formatPhoneNumber"),isValidEmail:t(e,"isValidEmail"),removeHtmlTags:t(e,"removeHtmlTags"),generateUID:t(e,"generateUID"),generateShortUID:t(e,"generateShortUID"),generateLongUID:t(e,"generateLongUID"),generateNumericUID:t(e,"generateNumericUID"),generateAlphanumericUID:t(e,"generateAlphanumericUID"),generateGUID:t(e,"generateGUID"),generateGUIDWithoutHyphens:t(e,"generateGUIDWithoutHyphens"),generateTimestampUID:t(e,"generateTimestampUID"),generateCustomUID:t(e,"generateCustomUID"),encryptSha256:t(e,"encryptSha256"),bxmEncrypt:t(e,"bxmEncrypt"),bxmDecrypt:t(e,"bxmDecrypt"),simpleEncrypt:t(e,"simpleEncrypt"),simpleDecrypt:t(e,"simpleDecrypt"),md5Hash:t(e,"md5Hash"),sha256Hash:t(e,"sha256Hash"),base64Encode:t(e,"base64Encode"),base64Decode:t(e,"base64Decode")}},H=()=>{const e=n();return{isEmptyArray:t(e,"isEmptyArray"),isNotEmptyArray:t(e,"isNotEmptyArray"),unique:t(e,"unique"),shuffle:t(e,"shuffle"),sortBy:t(e,"sortBy"),max:t(e,"max"),min:t(e,"min"),average:t(e,"average"),sum:t(e,"sum")}},M=()=>{const e=n();return{debounce:t(e,"debounce"),throttle:t(e,"throttle"),setLocalStorage:t(e,"setLocalStorage"),getLocalStorage:t(e,"getLocalStorage"),formatNumber:t(e,"formatNumber"),formatCurrency:t(e,"formatCurrency"),copyToClipboard:t(e,"copyToClipboard"),isMobile:t(e,"isMobile"),isDesktop:t(e,"isDesktop")}},R=()=>{const e=n();return{callService:t(e,"callService"),apiGet:t(e,"apiGet"),apiPost:t(e,"apiPost"),apiPut:t(e,"apiPut"),apiDelete:t(e,"apiDelete"),apiPatch:t(e,"apiPatch")}};exports.CommonCodeProvider=S;exports.UtilsProvider=q;exports.useApiUtils=R;exports.useArrayUtils=H;exports.useCodeColor=N;exports.useCodeList=A;exports.useCodeListByOption=T;exports.useCodeName=I;exports.useCommonCode=a;exports.useCommonUtils=M;exports.useDateUtils=w;exports.useGridLookup=G;exports.usePopup=E;exports.usePopupContext=x;exports.useStringUtils=B;exports.useUtils=n;
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
import { useCallback as P, createContext as g, useContext as d } from "react";
|
|
2
|
+
import { u as v } from "./popupStore-Dp_fqtim.js";
|
|
3
|
+
import { j as y } from "./jsx-runtime-Dpn_P65e.js";
|
|
4
|
+
import { u as L } from "./codeStore-bxk_q1sl.js";
|
|
5
|
+
import { am as E, ap as S, ac as x, aI as A, aJ as I, ai as N, aF as T, aH as G, ad as k, aK as w, a6 as H, T as B, Z as M, Y as O, X as R, W, P as j, O as q, R as V, aL as F, aM as K, aN as z } from "./commonUtils-BV6WFv-z.js";
|
|
6
|
+
import { S as J, Q, U as X, T as Y, R as Z, V as _, au as $ } from "./serviceConfig-BJBsdee_.js";
|
|
7
|
+
const ne = () => !1, ue = () => {
|
|
8
|
+
const { popups: e, activePopupId: o, setActivePopup: a, closePopup: u, openPopup: i } = v(), c = P(
|
|
9
|
+
async (m, p, l) => {
|
|
10
|
+
try {
|
|
11
|
+
await i(m, p, l);
|
|
12
|
+
} catch (n) {
|
|
13
|
+
throw console.error("팝업 열기 실패:", n), n;
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
[i]
|
|
17
|
+
);
|
|
18
|
+
return {
|
|
19
|
+
popups: e,
|
|
20
|
+
activePopupId: o,
|
|
21
|
+
setActivePopup: a,
|
|
22
|
+
closePopup: u,
|
|
23
|
+
showPopup: c,
|
|
24
|
+
isPopup: e.length > 0
|
|
25
|
+
};
|
|
26
|
+
}, C = g(
|
|
27
|
+
void 0
|
|
28
|
+
), ce = ({
|
|
29
|
+
children: e
|
|
30
|
+
}) => {
|
|
31
|
+
const {
|
|
32
|
+
codeData: o,
|
|
33
|
+
isLoading: a,
|
|
34
|
+
error: u,
|
|
35
|
+
lastUpdated: i,
|
|
36
|
+
getCodeList: c,
|
|
37
|
+
getCodeListByOption: m,
|
|
38
|
+
getCodeName: p,
|
|
39
|
+
getCodeColor: l,
|
|
40
|
+
getCodeByOption: n,
|
|
41
|
+
getAvailableGroupCodes: D,
|
|
42
|
+
getGridLookup: f,
|
|
43
|
+
fetchCommonCodes: U
|
|
44
|
+
} = L(), b = {
|
|
45
|
+
codeData: o,
|
|
46
|
+
isLoading: a,
|
|
47
|
+
error: u,
|
|
48
|
+
lastUpdated: i,
|
|
49
|
+
getCodeList: c,
|
|
50
|
+
getCodeListByOption: m,
|
|
51
|
+
getCodeName: p,
|
|
52
|
+
getCodeColor: l,
|
|
53
|
+
getCodeByOption: n,
|
|
54
|
+
getAvailableGroupCodes: D,
|
|
55
|
+
getGridLookup: f,
|
|
56
|
+
refreshCodes: U
|
|
57
|
+
};
|
|
58
|
+
return /* @__PURE__ */ y.jsx(C.Provider, { value: b, children: e });
|
|
59
|
+
}, r = () => {
|
|
60
|
+
const e = d(C);
|
|
61
|
+
if (e === void 0)
|
|
62
|
+
throw new Error("useCommonCode must be used within a CommonCodeProvider");
|
|
63
|
+
return e;
|
|
64
|
+
}, me = () => {
|
|
65
|
+
const { getCodeList: e, isLoading: o, error: a } = r();
|
|
66
|
+
return {
|
|
67
|
+
getCodeList: e,
|
|
68
|
+
isLoading: o,
|
|
69
|
+
error: a
|
|
70
|
+
};
|
|
71
|
+
}, pe = () => {
|
|
72
|
+
const { getCodeName: e, isLoading: o, error: a } = r();
|
|
73
|
+
return {
|
|
74
|
+
getCodeName: e,
|
|
75
|
+
isLoading: o,
|
|
76
|
+
error: a
|
|
77
|
+
};
|
|
78
|
+
}, le = () => {
|
|
79
|
+
const { getCodeColor: e, isLoading: o, error: a } = r();
|
|
80
|
+
return {
|
|
81
|
+
getCodeColor: e,
|
|
82
|
+
isLoading: o,
|
|
83
|
+
error: a
|
|
84
|
+
};
|
|
85
|
+
}, ge = () => {
|
|
86
|
+
const { getCodeListByOption: e, isLoading: o, error: a } = r();
|
|
87
|
+
return {
|
|
88
|
+
getCodeListByOption: e,
|
|
89
|
+
isLoading: o,
|
|
90
|
+
error: a
|
|
91
|
+
};
|
|
92
|
+
}, de = () => {
|
|
93
|
+
const { getGridLookup: e, isLoading: o, error: a } = r();
|
|
94
|
+
return {
|
|
95
|
+
getGridLookup: e,
|
|
96
|
+
isLoading: o,
|
|
97
|
+
error: a
|
|
98
|
+
};
|
|
99
|
+
}, ee = {
|
|
100
|
+
// 날짜 유틸리티
|
|
101
|
+
...z,
|
|
102
|
+
// 문자열 유틸리티
|
|
103
|
+
...$,
|
|
104
|
+
// 배열 유틸리티 (충돌하는 함수명은 별칭 사용)
|
|
105
|
+
isEmptyArray: K,
|
|
106
|
+
isNotEmptyArray: F,
|
|
107
|
+
unique: V,
|
|
108
|
+
shuffle: q,
|
|
109
|
+
sortBy: j,
|
|
110
|
+
max: W,
|
|
111
|
+
min: R,
|
|
112
|
+
average: O,
|
|
113
|
+
sum: M,
|
|
114
|
+
randomFromArray: B,
|
|
115
|
+
flattenArray: H,
|
|
116
|
+
// 객체 유틸리티
|
|
117
|
+
...w,
|
|
118
|
+
// 일반 유틸리티 (충돌하는 함수명은 별칭 사용)
|
|
119
|
+
debounce: k,
|
|
120
|
+
throttle: G,
|
|
121
|
+
setLocalStorage: T,
|
|
122
|
+
getLocalStorage: N,
|
|
123
|
+
formatNumber: I,
|
|
124
|
+
formatCurrency: A,
|
|
125
|
+
copyToClipboard: x,
|
|
126
|
+
isMobile: S,
|
|
127
|
+
isDesktop: E,
|
|
128
|
+
// API 유틸리티
|
|
129
|
+
callService: _,
|
|
130
|
+
apiGet: Z,
|
|
131
|
+
apiPost: Y,
|
|
132
|
+
apiPut: X,
|
|
133
|
+
apiDelete: Q,
|
|
134
|
+
apiPatch: J
|
|
135
|
+
}, h = g(void 0), ye = ({ children: e }) => /* @__PURE__ */ y.jsx(h.Provider, { value: { utils: ee }, children: e }), s = () => {
|
|
136
|
+
const e = d(h);
|
|
137
|
+
if (e === void 0)
|
|
138
|
+
throw new Error("useUtils must be used within a UtilsProvider");
|
|
139
|
+
return e.utils;
|
|
140
|
+
}, t = (e, o, a) => e && typeof e[o] == "function" ? e[o] : a || (() => {
|
|
141
|
+
}), Ce = () => {
|
|
142
|
+
const e = s();
|
|
143
|
+
return {
|
|
144
|
+
formatDate: t(e, "formatDate"),
|
|
145
|
+
formatDateKorean: t(e, "formatDateKorean"),
|
|
146
|
+
getCurrentDate: t(e, "getCurrentDate"),
|
|
147
|
+
getCurrentDateString: t(e, "getCurrentDateString"),
|
|
148
|
+
getRelativeTime: t(e, "getRelativeTime"),
|
|
149
|
+
isToday: t(e, "isToday"),
|
|
150
|
+
isThisWeek: t(e, "isThisWeek"),
|
|
151
|
+
isThisMonth: t(e, "isThisMonth"),
|
|
152
|
+
getDateDiff: t(e, "getDateDiff"),
|
|
153
|
+
calculateAge: t(e, "calculateAge")
|
|
154
|
+
};
|
|
155
|
+
}, he = () => {
|
|
156
|
+
const e = s();
|
|
157
|
+
return {
|
|
158
|
+
isEmpty: t(e, "isEmpty"),
|
|
159
|
+
isNotEmpty: t(e, "isNotEmpty"),
|
|
160
|
+
truncate: t(e, "truncate"),
|
|
161
|
+
capitalize: t(e, "capitalize"),
|
|
162
|
+
formatPhoneNumber: t(e, "formatPhoneNumber"),
|
|
163
|
+
isValidEmail: t(e, "isValidEmail"),
|
|
164
|
+
removeHtmlTags: t(e, "removeHtmlTags"),
|
|
165
|
+
// UID 생성 함수들
|
|
166
|
+
generateUID: t(e, "generateUID"),
|
|
167
|
+
generateShortUID: t(e, "generateShortUID"),
|
|
168
|
+
generateLongUID: t(e, "generateLongUID"),
|
|
169
|
+
generateNumericUID: t(e, "generateNumericUID"),
|
|
170
|
+
generateAlphanumericUID: t(e, "generateAlphanumericUID"),
|
|
171
|
+
generateGUID: t(e, "generateGUID"),
|
|
172
|
+
generateGUIDWithoutHyphens: t(e, "generateGUIDWithoutHyphens"),
|
|
173
|
+
generateTimestampUID: t(e, "generateTimestampUID"),
|
|
174
|
+
generateCustomUID: t(e, "generateCustomUID"),
|
|
175
|
+
// 암호화 관련 함수들
|
|
176
|
+
encryptSha256: t(e, "encryptSha256"),
|
|
177
|
+
bxmEncrypt: t(e, "bxmEncrypt"),
|
|
178
|
+
bxmDecrypt: t(e, "bxmDecrypt"),
|
|
179
|
+
simpleEncrypt: t(e, "simpleEncrypt"),
|
|
180
|
+
simpleDecrypt: t(e, "simpleDecrypt"),
|
|
181
|
+
md5Hash: t(e, "md5Hash"),
|
|
182
|
+
sha256Hash: t(e, "sha256Hash"),
|
|
183
|
+
base64Encode: t(e, "base64Encode"),
|
|
184
|
+
base64Decode: t(e, "base64Decode")
|
|
185
|
+
};
|
|
186
|
+
}, De = () => {
|
|
187
|
+
const e = s();
|
|
188
|
+
return {
|
|
189
|
+
isEmptyArray: t(e, "isEmptyArray"),
|
|
190
|
+
isNotEmptyArray: t(e, "isNotEmptyArray"),
|
|
191
|
+
unique: t(e, "unique"),
|
|
192
|
+
shuffle: t(e, "shuffle"),
|
|
193
|
+
sortBy: t(e, "sortBy"),
|
|
194
|
+
max: t(e, "max"),
|
|
195
|
+
min: t(e, "min"),
|
|
196
|
+
average: t(e, "average"),
|
|
197
|
+
sum: t(e, "sum")
|
|
198
|
+
};
|
|
199
|
+
}, fe = () => {
|
|
200
|
+
const e = s();
|
|
201
|
+
return {
|
|
202
|
+
debounce: t(e, "debounce"),
|
|
203
|
+
throttle: t(e, "throttle"),
|
|
204
|
+
setLocalStorage: t(e, "setLocalStorage"),
|
|
205
|
+
getLocalStorage: t(e, "getLocalStorage"),
|
|
206
|
+
formatNumber: t(e, "formatNumber"),
|
|
207
|
+
formatCurrency: t(e, "formatCurrency"),
|
|
208
|
+
copyToClipboard: t(e, "copyToClipboard"),
|
|
209
|
+
isMobile: t(e, "isMobile"),
|
|
210
|
+
isDesktop: t(e, "isDesktop")
|
|
211
|
+
};
|
|
212
|
+
}, Ue = () => {
|
|
213
|
+
const e = s();
|
|
214
|
+
return {
|
|
215
|
+
callService: t(e, "callService"),
|
|
216
|
+
apiGet: t(e, "apiGet"),
|
|
217
|
+
apiPost: t(e, "apiPost"),
|
|
218
|
+
apiPut: t(e, "apiPut"),
|
|
219
|
+
apiDelete: t(e, "apiDelete"),
|
|
220
|
+
apiPatch: t(e, "apiPatch")
|
|
221
|
+
};
|
|
222
|
+
};
|
|
223
|
+
export {
|
|
224
|
+
ce as C,
|
|
225
|
+
ye as U,
|
|
226
|
+
me as a,
|
|
227
|
+
pe as b,
|
|
228
|
+
le as c,
|
|
229
|
+
ge as d,
|
|
230
|
+
de as e,
|
|
231
|
+
s as f,
|
|
232
|
+
Ce as g,
|
|
233
|
+
he as h,
|
|
234
|
+
De as i,
|
|
235
|
+
fe as j,
|
|
236
|
+
Ue as k,
|
|
237
|
+
ne as l,
|
|
238
|
+
ue as m,
|
|
239
|
+
r as u
|
|
240
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";function e(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}exports.getDefaultExportFromCjs=e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const D=require("zustand"),S=require("./serviceConfig-Cr2P4yr4.cjs"),O={CACHE_SIZE_LIMIT:1e3},t={codeCache:new Map,nameCache:new Map,optionCache:new Map,colorCache:new Map,loadedGroups:new Set,cacheHits:new Map,clearCache(){this.codeCache.clear(),this.nameCache.clear(),this.optionCache.clear(),this.colorCache.clear(),this.loadedGroups.clear(),this.cacheHits.clear()},cleanupCache(){const s=Array.from(this.cacheHits.entries());s.sort((e,c)=>e[1]-c[1]),s.slice(0,Math.floor(s.length*.3)).forEach(([e])=>{this.codeCache.delete(e),this.nameCache.delete(e),this.optionCache.delete(e),this.colorCache.delete(e),this.cacheHits.delete(e)})},isGroupLoaded(s){return this.loadedGroups.has(s)},markGroupLoaded(s){this.loadedGroups.add(s)}},_=s=>{console.log("대규모 데이터 변환 시작:",s);const p={};if(s&&s.code&&Array.isArray(s.code)){const e=s.code,c=s.opt||[],o=new Map;c.forEach(a=>{a.cmmnCd&&a.enblYn==="Y"&&(o.has(a.cmmnCd)||o.set(a.cmmnCd,[]),o.get(a.cmmnCd).push(a))}),e.forEach(a=>{if(a&&a.cmmnCdGrp&&a.cmmnCd&&a.enblYn==="Y"){const n=a.cmmnCdGrp;p[n]||(p[n]={});const d=(o.get(a.cmmnCd)||[]).reduce((i,l)=>(l.optnCd&&l.optnNm&&(i[l.optnCd]=l.optnNm),i),{});p[n][a.cmmnCd]={codeValue:a.cmmnCd,codeNm:a.cmmnCdNm,groupCode:a.cmmnCdGrp,commonCode:a.cmmnCd,labelColor:a.cmmnCdClr,systemCodeYn:a.syscdYn,sortOrder:parseInt(a.sortOrd)||1,enabled:a.enblYn==="Y",options:Object.keys(d).length>0?d:null,originalData:a}}})}return console.log("대규모 데이터 변환 완료:",p),p},r=D.create()(S.persist((s,p)=>({codeData:null,isLoading:!1,error:null,lastUpdated:null,loadedGroups:new Set,fetchData:async()=>{s({isLoading:!0,error:null});try{console.log("대규모 공통코드 데이터 가져오기 시작: SCMSIGN00301");const e=await S.callService(S.getServiceCode("SRCH_CODE"),{crprCd:"100"});console.log("대규모 공통코드 응답:",e),console.log("대규모 공통코드목록:",e.code),console.log("대규모 공통코드옵션션목록:",e.opt);const c=_(e);t.clearCache();const o=new Set(Object.keys(c));o.forEach(a=>{t.markGroupLoaded(a)}),s({codeData:c,isLoading:!1,error:null,lastUpdated:new Date,loadedGroups:o}),console.log("대규모 공통코드 데이터 가져오기 완료")}catch(e){console.error("대규모 공통코드 데이터 가져오기 실패:",e),s({isLoading:!1,error:e instanceof Error?e.message:"대규모 공통코드 데이터 가져오기 실패"})}},loadSpecificGroup:async e=>{const{codeData:c,loadedGroups:o}=p();if(!c||o.has(e))return;const a=new Set(o).add(e);s({loadedGroups:a}),t.markGroupLoaded(e)},setData:e=>{t.clearCache();const c=new Set(Object.keys(e));c.forEach(o=>{t.markGroupLoaded(o)}),s({codeData:e,lastUpdated:new Date,loadedGroups:c})},clearData:()=>{t.clearCache(),s({codeData:null,isLoading:!1,error:null,lastUpdated:null,loadedGroups:new Set})},getLoadedGroups:()=>Array.from(p().loadedGroups)}),{name:"large-data-storage",partialize:s=>({codeData:s.codeData,lastUpdated:s.lastUpdated,loadedGroups:Array.from(s.loadedGroups)})})),b=D.create()(S.persist((s,p)=>({get codeData(){return r.getState().codeData},get isLoading(){return r.getState().isLoading},get error(){return r.getState().error},get lastUpdated(){return r.getState().lastUpdated},fetchCommonCodes:async()=>{await r.getState().fetchData()},getCodeList:(e,c)=>{const{enabledOnly:o=!0,systemCodeOnly:a=!1,sortByOrder:n=!1,excludeParentCode:u=!1}=c||{},d=`simpleCodeList_${e}_${o}_${a}_${n}_${u}`;if(t.optionCache.has(d)){const h=t.cacheHits.get(d)||0;return t.cacheHits.set(d,h+1),t.optionCache.get(d)}const i=r.getState().codeData;if(!i)return[];if(!t.isGroupLoaded(e)&&!i[e])return console.warn(`그룹 ${e}가 아직 로드되지 않았습니다.`),[];const l=[],f=i[e];f&&Object.values(f).forEach(h=>{if(!(o&&!h.enabled)&&!(a&&h.systemCodeYn!=="Y"))if(u){const m=e.length,H=h.codeValue.substring(m);H.length>0&&l.push({...h,codeValue:H})}else l.push(h)});let g;n?g=l.sort((h,m)=>h.sortOrder!==m.sortOrder?h.sortOrder-m.sortOrder:h.codeValue.localeCompare(m.codeValue)):g=l.sort((h,m)=>h.codeValue.localeCompare(m.codeValue));const C=g.map(h=>({label:h.codeNm,value:h.codeValue,tagColor:h.labelColor}));return t.optionCache.size>=O.CACHE_SIZE_LIMIT&&t.cleanupCache(),t.optionCache.set(d,C),t.cacheHits.set(d,1),C},getCodeName:e=>{if(t.nameCache.has(e)){const o=t.cacheHits.get(`name_${e}`)||0;return t.cacheHits.set(`name_${e}`,o+1),t.nameCache.get(e)}const c=r.getState().codeData;if(!c)return null;for(const o of Object.values(c))for(const a of Object.values(o))if(a.codeValue===e)return t.nameCache.set(e,a.codeNm),t.cacheHits.set(`name_${e}`,1),a.codeNm;return null},getCodeColor:e=>{if(t.colorCache.has(e)){const o=t.cacheHits.get(`color_${e}`)||0;return t.cacheHits.set(`color_${e}`,o+1),t.colorCache.get(e)}const c=r.getState().codeData;if(!c)return null;for(const o of Object.values(c))for(const a of Object.values(o))if(a.codeValue===e)return t.colorCache.set(e,a.labelColor||""),t.cacheHits.set(`color_${e}`,1),a.labelColor;return null},getGridLookup:e=>{const c=`gridLookup_${e}`;if(t.optionCache.has(c)){const i=t.cacheHits.get(c)||0;return t.cacheHits.set(c,i+1),t.optionCache.get(c)}const o=r.getState().codeData;if(!o)return{labels:[],values:[],lookupDisplay:!0};const a=o[e];if(!a)return{labels:[],values:[],lookupDisplay:!0};const n=[],u=[];Object.values(a).filter(i=>i.enabled).sort((i,l)=>i.sortOrder-l.sortOrder).forEach(i=>{n.push(i.codeNm),u.push(i.codeValue)});const d={labels:n,values:u,lookupDisplay:!0};return t.optionCache.set(c,d),t.cacheHits.set(c,1),d},getCodeByOption:(e,c,o)=>{const a=`codeByOption_${e}_${c}_${o}`;if(t.codeCache.has(a)){const l=t.cacheHits.get(a)||0;return t.cacheHits.set(a,l+1),t.codeCache.get(a)}const n=r.getState().codeData;if(!n)return[];const u=[],d=n[e];d&&Object.values(d).forEach(l=>{l.enabled&&l.options&&l.options[c]===o&&u.push({...l,codeNm:l.options[c]||l.codeNm})});const i=u.sort((l,f)=>l.codeValue.localeCompare(f.codeValue));return t.codeCache.size>=O.CACHE_SIZE_LIMIT&&t.cleanupCache(),t.codeCache.set(a,i),t.cacheHits.set(a,1),i},getCodeListByOption:(e,c,o)=>{const{enabledOnly:a=!0,systemCodeOnly:n=!1,sortByOrder:u=!1}=o||{},d=`codeListByOption_${e}_${c}_${a}_${n}_${u}`;if(t.codeCache.has(d)){const C=t.cacheHits.get(d)||0;return t.cacheHits.set(d,C+1),t.codeCache.get(d)}const i=r.getState().codeData;if(!i)return[];if(!t.isGroupLoaded(e)&&!i[e])return console.warn(`그룹 ${e}가 아직 로드되지 않았습니다.`),[];const l=[],f=i[e];f&&Object.values(f).forEach(C=>{a&&!C.enabled||n&&C.systemCodeYn!=="Y"||C.options&&C.options[c]&&l.push({label:C.options[c],value:C.commonCode,tagColor:C.labelColor})});let g;return u?g=l.sort((C,h)=>C.value.localeCompare(h.value)):g=l.sort((C,h)=>C.value.localeCompare(h.value)),t.codeCache.size>=O.CACHE_SIZE_LIMIT&&t.cleanupCache(),t.codeCache.set(d,g),t.cacheHits.set(d,1),g},getAvailableGroupCodes:()=>{const e="available_group_codes";if(t.nameCache.has(e)){const a=t.cacheHits.get(e)||0;return t.cacheHits.set(e,a+1),JSON.parse(t.nameCache.get(e))}const c=r.getState().codeData;if(!c)return[];const o=Object.keys(c).sort();return t.nameCache.set(e,JSON.stringify(o)),t.cacheHits.set(e,1),o},clearCodes:()=>{r.getState().clearData()}}),{name:"code-storage",partialize:s=>({})})),y=D.create()(S.persist((s,p)=>({get codeData(){return r.getState().codeData},get isLoading(){return r.getState().isLoading},get error(){return r.getState().error},get lastUpdated(){return r.getState().lastUpdated},fetchCommonCodes:async()=>{await r.getState().fetchData()},getOptionValue:(e,c)=>{const o=`option_${e}_${c}`;if(t.optionCache.has(o)){const u=t.cacheHits.get(o)||0;return t.cacheHits.set(o,u+1),t.optionCache.get(o)}const a=r.getState().codeData;if(!a)return null;const n=a[e];if(n&&n[c]){const u=n[c].options;return t.optionCache.set(o,u),t.cacheHits.set(o,1),u}return null},getOptionByKey:(e,c,o)=>{const a=`option_${e}_${c}_${o}`;if(t.optionCache.has(a)){const d=t.cacheHits.get(a)||0;return t.cacheHits.set(a,d+1),t.optionCache.get(a)}const n=p().getOptionValue(e,c),u=n?n[o]:null;return t.optionCache.set(a,u),t.cacheHits.set(a,1),u},clearCodes:()=>{r.getState().clearData()}}),{name:"option-storage",partialize:s=>({})})),L=D.create()(S.persist((s,p)=>({get codeData(){return r.getState().codeData},get isLoading(){return r.getState().isLoading},get error(){return r.getState().error},get lastUpdated(){return r.getState().lastUpdated},fetchCommonCodes:async()=>{await r.getState().fetchData()},getColorCode:e=>{if(t.colorCache.has(e)){const o=t.cacheHits.get(`color_${e}`)||0;return t.cacheHits.set(`color_${e}`,o+1),t.colorCache.get(e)}const c=r.getState().codeData;if(!c)return null;for(const o of Object.values(c))for(const a of Object.values(o))if(a.codeValue===e)return t.colorCache.set(e,a.labelColor||""),t.cacheHits.set(`color_${e}`,1),a.labelColor;return null},getColorMapping:()=>{const e="color_mapping";if(t.optionCache.has(e)){const a=t.cacheHits.get(e)||0;return t.cacheHits.set(e,a+1),t.optionCache.get(e)}const c=r.getState().codeData;if(!c)return[];const o=[];return Object.values(c).forEach(a=>{Object.values(a).forEach(n=>{n.labelColor&&o.push({code:n.codeValue,color:n.labelColor})})}),t.optionCache.set(e,o),t.cacheHits.set(e,1),o},clearCodes:()=>{r.getState().clearData()}}),{name:"color-storage",partialize:s=>({})}));exports.useCodeStore=b;exports.useColorStore=L;exports.useOptionStore=y;
|