@owp/core 2.4.1 → 2.5.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/assets/fonts/material-design-icons/MaterialIconsOutlined-Regular.woff2 +0 -0
- package/assets/fonts/material-design-icons/MaterialIconsOutlined.css +36 -0
- package/assets/fonts/pretendard/pretendard-subset.css +98 -0
- package/assets/fonts/pretendard/woff-subset/Pretendard-Black.subset.woff +0 -0
- package/assets/fonts/pretendard/woff-subset/Pretendard-Bold.subset.woff +0 -0
- package/assets/fonts/pretendard/woff-subset/Pretendard-ExtraBold.subset.woff +0 -0
- package/assets/fonts/pretendard/woff-subset/Pretendard-ExtraLight.subset.woff +0 -0
- package/assets/fonts/pretendard/woff-subset/Pretendard-Light.subset.woff +0 -0
- package/assets/fonts/pretendard/woff-subset/Pretendard-Medium.subset.woff +0 -0
- package/assets/fonts/pretendard/woff-subset/Pretendard-Regular.subset.woff +0 -0
- package/assets/fonts/pretendard/woff-subset/Pretendard-SemiBold.subset.woff +0 -0
- package/assets/fonts/pretendard/woff-subset/Pretendard-Thin.subset.woff +0 -0
- package/assets/fonts/pretendard/woff2-subset/Pretendard-Black.subset.woff2 +0 -0
- package/assets/fonts/pretendard/woff2-subset/Pretendard-Bold.subset.woff2 +0 -0
- package/assets/fonts/pretendard/woff2-subset/Pretendard-ExtraBold.subset.woff2 +0 -0
- package/assets/fonts/pretendard/woff2-subset/Pretendard-ExtraLight.subset.woff2 +0 -0
- package/assets/fonts/pretendard/woff2-subset/Pretendard-Light.subset.woff2 +0 -0
- package/assets/fonts/pretendard/woff2-subset/Pretendard-Medium.subset.woff2 +0 -0
- package/assets/fonts/pretendard/woff2-subset/Pretendard-Regular.subset.woff2 +0 -0
- package/assets/fonts/pretendard/woff2-subset/Pretendard-SemiBold.subset.woff2 +0 -0
- package/assets/fonts/pretendard/woff2-subset/Pretendard-Thin.subset.woff2 +0 -0
- package/assets/icons/feather.svg +1314 -0
- package/assets/icons/heroicons-outline.svg +1 -0
- package/assets/icons/heroicons-solid.svg +1 -0
- package/assets/icons/material-outline.svg +3586 -0
- package/assets/icons/material-solid.svg +3586 -0
- package/assets/icons/material-twotone.svg +3586 -0
- package/assets/icons/owp_sb.svg +35 -0
- package/dist/_virtual/_virtual_owp-exceljs-browser-source.js +5 -0
- package/dist/_virtual/_virtual_owp-exceljs-browser-source.js.map +1 -0
- package/dist/components/OwpMrtTable/OwpMrtTable.js +98 -104
- package/dist/components/OwpMrtTable/OwpMrtTable.js.map +1 -1
- package/dist/components/OwpMrtTable/internal/OwpMrtTableNoDataOverlay.js +10 -9
- package/dist/components/OwpMrtTable/internal/OwpMrtTableNoDataOverlay.js.map +1 -1
- package/dist/components/OwpTable/OwpDataTable.js +171 -177
- package/dist/components/OwpTable/OwpDataTable.js.map +1 -1
- package/dist/components/OwpTable/OwpTable.js +62 -68
- package/dist/components/OwpTable/OwpTable.js.map +1 -1
- package/dist/components/OwpTreeGrid/internal/OwpTreeGridNoDataOverlay.js +6 -5
- package/dist/components/OwpTreeGrid/internal/OwpTreeGridNoDataOverlay.js.map +1 -1
- package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js +66 -69
- package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js.map +1 -1
- package/dist/constants/treeGrid.js +36 -5
- package/dist/constants/treeGrid.js.map +1 -1
- package/dist/constants.js +25 -19
- package/dist/contexts/OwpAppProvider.js.map +1 -1
- package/dist/hooks/useLogoSrc.js +9 -9
- package/dist/hooks/useLogoSrc.js.map +1 -1
- package/dist/hooks/useNavigationActiveRouteRemount.js +38 -0
- package/dist/hooks/useNavigationActiveRouteRemount.js.map +1 -0
- package/dist/layout/Layout.js +37 -36
- package/dist/layout/Layout.js.map +1 -1
- package/dist/layout/components/navigation/vertical/types/NavVerticalCollapse.js +61 -51
- package/dist/layout/components/navigation/vertical/types/NavVerticalCollapse.js.map +1 -1
- package/dist/layout/components/navigation/vertical/types/NavVerticalGroup.js +35 -27
- package/dist/layout/components/navigation/vertical/types/NavVerticalGroup.js.map +1 -1
- package/dist/layout/components/navigation/vertical/types/NavVerticalItem.js +34 -27
- package/dist/layout/components/navigation/vertical/types/NavVerticalItem.js.map +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/constants.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/constants.js +1 -1
- package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/constants.js +1 -1
- package/dist/types/components/OwpTreeGrid/internal/treeGridRuntime.d.ts +1 -1
- package/dist/types/constants/treeGrid.d.ts +12 -0
- package/dist/types/contexts/OwpAppProvider.d.ts +1 -0
- package/dist/types/hooks/useNavigationActiveRouteRemount.d.ts +14 -0
- package/dist/types/utils/exceljsBrowser.d.ts +1 -3
- package/dist/utils/exceljsBrowser.js +64 -7
- package/dist/utils/exceljsBrowser.js.map +1 -1
- package/fixed-images/flags/EN.svg +11 -0
- package/fixed-images/flags/KR.svg +27 -0
- package/fixed-images/logo/owp/owp_sb.svg +35 -0
- package/package.json +5 -1
- package/treegrid/Compatible/Borders/Backgrounds.gif +0 -0
- package/treegrid/Compatible/Borders/BackgroundsRight.gif +0 -0
- package/treegrid/Compatible/Borders/Bool.gif +0 -0
- package/treegrid/Compatible/Borders/BoolSpace.gif +0 -0
- package/treegrid/Compatible/Borders/Button.gif +0 -0
- package/treegrid/Compatible/Borders/Dependencies.gif +0 -0
- package/treegrid/Compatible/Borders/FastPanel1.gif +0 -0
- package/treegrid/Compatible/Borders/FastPanel2.gif +0 -0
- package/treegrid/Compatible/Borders/Filter.gif +0 -0
- package/treegrid/Compatible/Borders/Gantt.css +1228 -0
- package/treegrid/Compatible/Borders/Gantt.gif +0 -0
- package/treegrid/Compatible/Borders/GanttLineA.gif +0 -0
- package/treegrid/Compatible/Borders/GanttLineB.gif +0 -0
- package/treegrid/Compatible/Borders/GanttLineC.gif +0 -0
- package/treegrid/Compatible/Borders/GanttLineD.gif +0 -0
- package/treegrid/Compatible/Borders/Grid.css +2762 -0
- package/treegrid/Compatible/Borders/HScroll.png +0 -0
- package/treegrid/Compatible/Borders/Menu.gif +0 -0
- package/treegrid/Compatible/Borders/Pager.gif +0 -0
- package/treegrid/Compatible/Borders/Pager.png +0 -0
- package/treegrid/Compatible/Borders/Panel.gif +0 -0
- package/treegrid/Compatible/Borders/Sort.gif +0 -0
- package/treegrid/Compatible/Borders/Toolbar.gif +0 -0
- package/treegrid/Compatible/Borders/Toolbar.png +0 -0
- package/treegrid/Compatible/Borders/ToolbarGantt.gif +0 -0
- package/treegrid/Compatible/Borders/ToolbarGantt.png +0 -0
- package/treegrid/Compatible/Borders/ToolbarSheet.gif +0 -0
- package/treegrid/Compatible/Borders/ToolbarSheet.png +0 -0
- package/treegrid/Compatible/Borders/ToolbarSheetWide.gif +0 -0
- package/treegrid/Compatible/Borders/ToolbarSheetWide.png +0 -0
- package/treegrid/Compatible/Borders/Tree.gif +0 -0
- package/treegrid/Compatible/Borders/TreeBottom.gif +0 -0
- package/treegrid/Compatible/Borders/TreeMiddle.gif +0 -0
- package/treegrid/Compatible/Borders/TreeNCollapse.gif +0 -0
- package/treegrid/Compatible/Borders/TreeNDrag0.gif +0 -0
- package/treegrid/Compatible/Borders/TreeNDrag1.gif +0 -0
- package/treegrid/Compatible/Borders/TreeNDrag2.gif +0 -0
- package/treegrid/Compatible/Borders/TreeNDrag3.gif +0 -0
- package/treegrid/Compatible/Borders/TreeNExpand.gif +0 -0
- package/treegrid/Compatible/Borders/TreeNWait.gif +0 -0
- package/treegrid/Compatible/Borders/TreeRev.gif +0 -0
- package/treegrid/Compatible/Borders/TreeRevBottom.gif +0 -0
- package/treegrid/Compatible/Borders/TreeRevMiddle.gif +0 -0
- package/treegrid/Compatible/Borders/VScroll.gif +0 -0
- package/treegrid/Compatible/Colors/BackgroundsBlue.gif +0 -0
- package/treegrid/Compatible/Colors/BackgroundsBottom.gif +0 -0
- package/treegrid/Compatible/Colors/BackgroundsGantt.gif +0 -0
- package/treegrid/Compatible/Colors/BackgroundsHeader.gif +0 -0
- package/treegrid/Compatible/Colors/BackgroundsMain.gif +0 -0
- package/treegrid/Compatible/Colors/BackgroundsMiddle.gif +0 -0
- package/treegrid/Compatible/Colors/BackgroundsTop.gif +0 -0
- package/treegrid/Compatible/Colors/BackgroundsYellow.gif +0 -0
- package/treegrid/Compatible/Colors/Bool.gif +0 -0
- package/treegrid/Compatible/Colors/Button.gif +0 -0
- package/treegrid/Compatible/Colors/Dependencies.gif +0 -0
- package/treegrid/Compatible/Colors/FastPanel1.gif +0 -0
- package/treegrid/Compatible/Colors/FastPanel2.gif +0 -0
- package/treegrid/Compatible/Colors/Filter.gif +0 -0
- package/treegrid/Compatible/Colors/Gantt.css +1228 -0
- package/treegrid/Compatible/Colors/Gantt.gif +0 -0
- package/treegrid/Compatible/Colors/GanttLineA.gif +0 -0
- package/treegrid/Compatible/Colors/GanttLineB.gif +0 -0
- package/treegrid/Compatible/Colors/GanttLineC.gif +0 -0
- package/treegrid/Compatible/Colors/GanttLineD.gif +0 -0
- package/treegrid/Compatible/Colors/Grid.css +2768 -0
- package/treegrid/Compatible/Colors/HScroll.png +0 -0
- package/treegrid/Compatible/Colors/Menu.gif +0 -0
- package/treegrid/Compatible/Colors/Pager.gif +0 -0
- package/treegrid/Compatible/Colors/Panel.gif +0 -0
- package/treegrid/Compatible/Colors/Sort.gif +0 -0
- package/treegrid/Compatible/Colors/Toolbar.gif +0 -0
- package/treegrid/Compatible/Colors/ToolbarGantt.gif +0 -0
- package/treegrid/Compatible/Colors/ToolbarSheet.gif +0 -0
- package/treegrid/Compatible/Colors/ToolbarSheetWide.gif +0 -0
- package/treegrid/Compatible/Colors/Tree.gif +0 -0
- package/treegrid/Compatible/Colors/TreeBottom.gif +0 -0
- package/treegrid/Compatible/Colors/TreeMiddle.gif +0 -0
- package/treegrid/Compatible/Colors/TreeNCollapse.gif +0 -0
- package/treegrid/Compatible/Colors/TreeNDrag0.gif +0 -0
- package/treegrid/Compatible/Colors/TreeNDrag1.gif +0 -0
- package/treegrid/Compatible/Colors/TreeNDrag2.gif +0 -0
- package/treegrid/Compatible/Colors/TreeNDrag3.gif +0 -0
- package/treegrid/Compatible/Colors/TreeNExpand.gif +0 -0
- package/treegrid/Compatible/Colors/TreeNWait.gif +0 -0
- package/treegrid/Compatible/Colors/TreeRev.gif +0 -0
- package/treegrid/Compatible/Colors/TreeRevBottom.gif +0 -0
- package/treegrid/Compatible/Colors/TreeRevMiddle.gif +0 -0
- package/treegrid/Compatible/Colors/VScroll.gif +0 -0
- package/treegrid/Compatible/ExtJS/Backgrounds.gif +0 -0
- package/treegrid/Compatible/ExtJS/BackgroundsFill.gif +0 -0
- package/treegrid/Compatible/ExtJS/Bool.gif +0 -0
- package/treegrid/Compatible/ExtJS/Button.gif +0 -0
- package/treegrid/Compatible/ExtJS/Dependencies.gif +0 -0
- package/treegrid/Compatible/ExtJS/FastPanel1.gif +0 -0
- package/treegrid/Compatible/ExtJS/FastPanel2.gif +0 -0
- package/treegrid/Compatible/ExtJS/Filter.gif +0 -0
- package/treegrid/Compatible/ExtJS/Gantt.css +1233 -0
- package/treegrid/Compatible/ExtJS/Gantt.gif +0 -0
- package/treegrid/Compatible/ExtJS/GanttLineA.gif +0 -0
- package/treegrid/Compatible/ExtJS/GanttLineB.gif +0 -0
- package/treegrid/Compatible/ExtJS/GanttLineC.gif +0 -0
- package/treegrid/Compatible/ExtJS/GanttLineD.gif +0 -0
- package/treegrid/Compatible/ExtJS/Grid.css +2764 -0
- package/treegrid/Compatible/ExtJS/HScroll.png +0 -0
- package/treegrid/Compatible/ExtJS/Menu.gif +0 -0
- package/treegrid/Compatible/ExtJS/Pager.gif +0 -0
- package/treegrid/Compatible/ExtJS/Panel.gif +0 -0
- package/treegrid/Compatible/ExtJS/Sort.gif +0 -0
- package/treegrid/Compatible/ExtJS/Toolbar.gif +0 -0
- package/treegrid/Compatible/ExtJS/ToolbarGantt.gif +0 -0
- package/treegrid/Compatible/ExtJS/ToolbarSheet.gif +0 -0
- package/treegrid/Compatible/ExtJS/ToolbarSheetWide.gif +0 -0
- package/treegrid/Compatible/ExtJS/Tree.gif +0 -0
- package/treegrid/Compatible/ExtJS/TreeBottom.gif +0 -0
- package/treegrid/Compatible/ExtJS/TreeMiddle.gif +0 -0
- package/treegrid/Compatible/ExtJS/TreeNCollapse.gif +0 -0
- package/treegrid/Compatible/ExtJS/TreeNDrag0.gif +0 -0
- package/treegrid/Compatible/ExtJS/TreeNDrag1.gif +0 -0
- package/treegrid/Compatible/ExtJS/TreeNDrag2.gif +0 -0
- package/treegrid/Compatible/ExtJS/TreeNDrag3.gif +0 -0
- package/treegrid/Compatible/ExtJS/TreeNExpand.gif +0 -0
- package/treegrid/Compatible/ExtJS/TreeNWait.gif +0 -0
- package/treegrid/Compatible/ExtJS/TreeRev.gif +0 -0
- package/treegrid/Compatible/ExtJS/TreeRevBottom.gif +0 -0
- package/treegrid/Compatible/ExtJS/TreeRevMiddle.gif +0 -0
- package/treegrid/Compatible/ExtJS/VScroll.gif +0 -0
- package/treegrid/Compatible/Gradient/Backgrounds.gif +0 -0
- package/treegrid/Compatible/Gradient/BackgroundsGantt.gif +0 -0
- package/treegrid/Compatible/Gradient/BackgroundsRight.gif +0 -0
- package/treegrid/Compatible/Gradient/Bool.gif +0 -0
- package/treegrid/Compatible/Gradient/BoolSpace.gif +0 -0
- package/treegrid/Compatible/Gradient/Button.gif +0 -0
- package/treegrid/Compatible/Gradient/Dependencies.gif +0 -0
- package/treegrid/Compatible/Gradient/FastPanel1.gif +0 -0
- package/treegrid/Compatible/Gradient/FastPanel2.gif +0 -0
- package/treegrid/Compatible/Gradient/Filter.gif +0 -0
- package/treegrid/Compatible/Gradient/Gantt.css +1234 -0
- package/treegrid/Compatible/Gradient/Gantt.gif +0 -0
- package/treegrid/Compatible/Gradient/GanttLineA.gif +0 -0
- package/treegrid/Compatible/Gradient/GanttLineB.gif +0 -0
- package/treegrid/Compatible/Gradient/GanttLineC.gif +0 -0
- package/treegrid/Compatible/Gradient/GanttLineD.gif +0 -0
- package/treegrid/Compatible/Gradient/Grid.css +2835 -0
- package/treegrid/Compatible/Gradient/HScroll.png +0 -0
- package/treegrid/Compatible/Gradient/Menu.gif +0 -0
- package/treegrid/Compatible/Gradient/Pager.gif +0 -0
- package/treegrid/Compatible/Gradient/Pager.png +0 -0
- package/treegrid/Compatible/Gradient/Panel.gif +0 -0
- package/treegrid/Compatible/Gradient/Sort.gif +0 -0
- package/treegrid/Compatible/Gradient/Toolbar.gif +0 -0
- package/treegrid/Compatible/Gradient/Toolbar.png +0 -0
- package/treegrid/Compatible/Gradient/ToolbarGantt.gif +0 -0
- package/treegrid/Compatible/Gradient/ToolbarGantt.png +0 -0
- package/treegrid/Compatible/Gradient/ToolbarSheet.gif +0 -0
- package/treegrid/Compatible/Gradient/ToolbarSheet.png +0 -0
- package/treegrid/Compatible/Gradient/ToolbarSheetWide.gif +0 -0
- package/treegrid/Compatible/Gradient/ToolbarSheetWide.png +0 -0
- package/treegrid/Compatible/Gradient/Tree.gif +0 -0
- package/treegrid/Compatible/Gradient/TreeBottom.gif +0 -0
- package/treegrid/Compatible/Gradient/TreeMiddle.gif +0 -0
- package/treegrid/Compatible/Gradient/TreeNCollapse.gif +0 -0
- package/treegrid/Compatible/Gradient/TreeNDrag0.gif +0 -0
- package/treegrid/Compatible/Gradient/TreeNDrag1.gif +0 -0
- package/treegrid/Compatible/Gradient/TreeNDrag2.gif +0 -0
- package/treegrid/Compatible/Gradient/TreeNDrag3.gif +0 -0
- package/treegrid/Compatible/Gradient/TreeNExpand.gif +0 -0
- package/treegrid/Compatible/Gradient/TreeNWait.gif +0 -0
- package/treegrid/Compatible/Gradient/TreeRev.gif +0 -0
- package/treegrid/Compatible/Gradient/TreeRevBottom.gif +0 -0
- package/treegrid/Compatible/Gradient/TreeRevMiddle.gif +0 -0
- package/treegrid/Compatible/Gradient/VScroll.gif +0 -0
- package/treegrid/Compatible/Info.txt +3 -0
- package/treegrid/Compatible/Light/Backgrounds.gif +0 -0
- package/treegrid/Compatible/Light/Bool.gif +0 -0
- package/treegrid/Compatible/Light/Button.gif +0 -0
- package/treegrid/Compatible/Light/Dependencies.gif +0 -0
- package/treegrid/Compatible/Light/FastPanel1.gif +0 -0
- package/treegrid/Compatible/Light/FastPanel2.gif +0 -0
- package/treegrid/Compatible/Light/Filter.gif +0 -0
- package/treegrid/Compatible/Light/Gantt.css +1230 -0
- package/treegrid/Compatible/Light/Gantt.gif +0 -0
- package/treegrid/Compatible/Light/GanttLineA.gif +0 -0
- package/treegrid/Compatible/Light/GanttLineB.gif +0 -0
- package/treegrid/Compatible/Light/GanttLineC.gif +0 -0
- package/treegrid/Compatible/Light/GanttLineD.gif +0 -0
- package/treegrid/Compatible/Light/Grid.css +2769 -0
- package/treegrid/Compatible/Light/HScroll.png +0 -0
- package/treegrid/Compatible/Light/Menu.gif +0 -0
- package/treegrid/Compatible/Light/Pager.gif +0 -0
- package/treegrid/Compatible/Light/Panel.gif +0 -0
- package/treegrid/Compatible/Light/Sort.gif +0 -0
- package/treegrid/Compatible/Light/Toolbar.gif +0 -0
- package/treegrid/Compatible/Light/ToolbarGantt.gif +0 -0
- package/treegrid/Compatible/Light/ToolbarSheet.gif +0 -0
- package/treegrid/Compatible/Light/ToolbarSheetWide.gif +0 -0
- package/treegrid/Compatible/Light/Tree.gif +0 -0
- package/treegrid/Compatible/Light/TreeBottom.gif +0 -0
- package/treegrid/Compatible/Light/TreeMiddle.gif +0 -0
- package/treegrid/Compatible/Light/TreeNCollapse.gif +0 -0
- package/treegrid/Compatible/Light/TreeNDrag0.gif +0 -0
- package/treegrid/Compatible/Light/TreeNDrag1.gif +0 -0
- package/treegrid/Compatible/Light/TreeNDrag2.gif +0 -0
- package/treegrid/Compatible/Light/TreeNDrag3.gif +0 -0
- package/treegrid/Compatible/Light/TreeNExpand.gif +0 -0
- package/treegrid/Compatible/Light/TreeNWait.gif +0 -0
- package/treegrid/Compatible/Light/TreeRev.gif +0 -0
- package/treegrid/Compatible/Light/TreeRevBottom.gif +0 -0
- package/treegrid/Compatible/Light/TreeRevMiddle.gif +0 -0
- package/treegrid/Compatible/Light/VScroll.gif +0 -0
- package/treegrid/Compatible/Office/Backgrounds.gif +0 -0
- package/treegrid/Compatible/Office/Bool.gif +0 -0
- package/treegrid/Compatible/Office/Button.gif +0 -0
- package/treegrid/Compatible/Office/Dependencies.gif +0 -0
- package/treegrid/Compatible/Office/FastPanel1.gif +0 -0
- package/treegrid/Compatible/Office/FastPanel2.gif +0 -0
- package/treegrid/Compatible/Office/Filter.gif +0 -0
- package/treegrid/Compatible/Office/Gantt.css +1228 -0
- package/treegrid/Compatible/Office/Gantt.gif +0 -0
- package/treegrid/Compatible/Office/GanttLineA.gif +0 -0
- package/treegrid/Compatible/Office/GanttLineB.gif +0 -0
- package/treegrid/Compatible/Office/GanttLineC.gif +0 -0
- package/treegrid/Compatible/Office/GanttLineD.gif +0 -0
- package/treegrid/Compatible/Office/Grid.css +2770 -0
- package/treegrid/Compatible/Office/HScroll.png +0 -0
- package/treegrid/Compatible/Office/Menu.gif +0 -0
- package/treegrid/Compatible/Office/Pager.gif +0 -0
- package/treegrid/Compatible/Office/Panel.gif +0 -0
- package/treegrid/Compatible/Office/Sort.gif +0 -0
- package/treegrid/Compatible/Office/Toolbar.gif +0 -0
- package/treegrid/Compatible/Office/ToolbarGantt.gif +0 -0
- package/treegrid/Compatible/Office/ToolbarSheet.gif +0 -0
- package/treegrid/Compatible/Office/ToolbarSheetWide.gif +0 -0
- package/treegrid/Compatible/Office/Tree.gif +0 -0
- package/treegrid/Compatible/Office/TreeBottom.gif +0 -0
- package/treegrid/Compatible/Office/TreeMiddle.gif +0 -0
- package/treegrid/Compatible/Office/TreeNCollapse.gif +0 -0
- package/treegrid/Compatible/Office/TreeNDrag0.gif +0 -0
- package/treegrid/Compatible/Office/TreeNDrag1.gif +0 -0
- package/treegrid/Compatible/Office/TreeNDrag2.gif +0 -0
- package/treegrid/Compatible/Office/TreeNDrag3.gif +0 -0
- package/treegrid/Compatible/Office/TreeNExpand.gif +0 -0
- package/treegrid/Compatible/Office/TreeNWait.gif +0 -0
- package/treegrid/Compatible/Office/TreeRev.gif +0 -0
- package/treegrid/Compatible/Office/TreeRevBottom.gif +0 -0
- package/treegrid/Compatible/Office/TreeRevMiddle.gif +0 -0
- package/treegrid/Compatible/Office/VScroll.gif +0 -0
- package/treegrid/Compatible/Plain/Backgrounds.gif +0 -0
- package/treegrid/Compatible/Plain/Bool.gif +0 -0
- package/treegrid/Compatible/Plain/Button.gif +0 -0
- package/treegrid/Compatible/Plain/Dependencies.gif +0 -0
- package/treegrid/Compatible/Plain/FastPanel1.gif +0 -0
- package/treegrid/Compatible/Plain/FastPanel2.gif +0 -0
- package/treegrid/Compatible/Plain/Filter.gif +0 -0
- package/treegrid/Compatible/Plain/Gantt.css +1233 -0
- package/treegrid/Compatible/Plain/Gantt.gif +0 -0
- package/treegrid/Compatible/Plain/GanttLineA.gif +0 -0
- package/treegrid/Compatible/Plain/GanttLineB.gif +0 -0
- package/treegrid/Compatible/Plain/GanttLineC.gif +0 -0
- package/treegrid/Compatible/Plain/GanttLineD.gif +0 -0
- package/treegrid/Compatible/Plain/Grid.css +2767 -0
- package/treegrid/Compatible/Plain/HScroll.png +0 -0
- package/treegrid/Compatible/Plain/Menu.gif +0 -0
- package/treegrid/Compatible/Plain/Pager.gif +0 -0
- package/treegrid/Compatible/Plain/Pager.png +0 -0
- package/treegrid/Compatible/Plain/Panel.gif +0 -0
- package/treegrid/Compatible/Plain/Sort.gif +0 -0
- package/treegrid/Compatible/Plain/Toolbar.gif +0 -0
- package/treegrid/Compatible/Plain/Toolbar.png +0 -0
- package/treegrid/Compatible/Plain/ToolbarGantt.gif +0 -0
- package/treegrid/Compatible/Plain/ToolbarGantt.png +0 -0
- package/treegrid/Compatible/Plain/ToolbarSheet.gif +0 -0
- package/treegrid/Compatible/Plain/ToolbarSheet.png +0 -0
- package/treegrid/Compatible/Plain/ToolbarSheetWide.gif +0 -0
- package/treegrid/Compatible/Plain/ToolbarSheetWide.png +0 -0
- package/treegrid/Compatible/Plain/Tree.gif +0 -0
- package/treegrid/Compatible/Plain/TreeBottom.gif +0 -0
- package/treegrid/Compatible/Plain/TreeMiddle.gif +0 -0
- package/treegrid/Compatible/Plain/TreeNCollapse.gif +0 -0
- package/treegrid/Compatible/Plain/TreeNDrag0.gif +0 -0
- package/treegrid/Compatible/Plain/TreeNDrag1.gif +0 -0
- package/treegrid/Compatible/Plain/TreeNDrag2.gif +0 -0
- package/treegrid/Compatible/Plain/TreeNDrag3.gif +0 -0
- package/treegrid/Compatible/Plain/TreeNExpand.gif +0 -0
- package/treegrid/Compatible/Plain/TreeNWait.gif +0 -0
- package/treegrid/Compatible/Plain/TreeRev.gif +0 -0
- package/treegrid/Compatible/Plain/TreeRevBottom.gif +0 -0
- package/treegrid/Compatible/Plain/TreeRevMiddle.gif +0 -0
- package/treegrid/Compatible/Plain/VScroll.gif +0 -0
- package/treegrid/Compatible/Query/Backgrounds.gif +0 -0
- package/treegrid/Compatible/Query/BackgroundsGantt.gif +0 -0
- package/treegrid/Compatible/Query/Bool.gif +0 -0
- package/treegrid/Compatible/Query/Button.gif +0 -0
- package/treegrid/Compatible/Query/Dependencies.gif +0 -0
- package/treegrid/Compatible/Query/FastPanel1.gif +0 -0
- package/treegrid/Compatible/Query/FastPanel2.gif +0 -0
- package/treegrid/Compatible/Query/Filter.gif +0 -0
- package/treegrid/Compatible/Query/Gantt.css +1234 -0
- package/treegrid/Compatible/Query/Gantt.gif +0 -0
- package/treegrid/Compatible/Query/GanttLineA.gif +0 -0
- package/treegrid/Compatible/Query/GanttLineB.gif +0 -0
- package/treegrid/Compatible/Query/GanttLineC.gif +0 -0
- package/treegrid/Compatible/Query/GanttLineD.gif +0 -0
- package/treegrid/Compatible/Query/Grid.css +2772 -0
- package/treegrid/Compatible/Query/HScroll.png +0 -0
- package/treegrid/Compatible/Query/Menu.gif +0 -0
- package/treegrid/Compatible/Query/Pager.gif +0 -0
- package/treegrid/Compatible/Query/Panel.gif +0 -0
- package/treegrid/Compatible/Query/Sort.gif +0 -0
- package/treegrid/Compatible/Query/Toolbar.gif +0 -0
- package/treegrid/Compatible/Query/ToolbarGantt.gif +0 -0
- package/treegrid/Compatible/Query/ToolbarSheet.gif +0 -0
- package/treegrid/Compatible/Query/ToolbarSheetWide.gif +0 -0
- package/treegrid/Compatible/Query/Tree.gif +0 -0
- package/treegrid/Compatible/Query/TreeBottom.gif +0 -0
- package/treegrid/Compatible/Query/TreeMiddle.gif +0 -0
- package/treegrid/Compatible/Query/TreeNCollapse.gif +0 -0
- package/treegrid/Compatible/Query/TreeNDrag0.gif +0 -0
- package/treegrid/Compatible/Query/TreeNDrag1.gif +0 -0
- package/treegrid/Compatible/Query/TreeNDrag2.gif +0 -0
- package/treegrid/Compatible/Query/TreeNDrag3.gif +0 -0
- package/treegrid/Compatible/Query/TreeNExpand.gif +0 -0
- package/treegrid/Compatible/Query/TreeNWait.gif +0 -0
- package/treegrid/Compatible/Query/TreeRev.gif +0 -0
- package/treegrid/Compatible/Query/TreeRevBottom.gif +0 -0
- package/treegrid/Compatible/Query/TreeRevMiddle.gif +0 -0
- package/treegrid/Compatible/Query/VScroll.gif +0 -0
- package/treegrid/Compatible/Relief/Backgrounds.gif +0 -0
- package/treegrid/Compatible/Relief/Bool.gif +0 -0
- package/treegrid/Compatible/Relief/Button.gif +0 -0
- package/treegrid/Compatible/Relief/Dependencies.gif +0 -0
- package/treegrid/Compatible/Relief/FastPanel1.gif +0 -0
- package/treegrid/Compatible/Relief/FastPanel2.gif +0 -0
- package/treegrid/Compatible/Relief/Filter.gif +0 -0
- package/treegrid/Compatible/Relief/Gantt.css +1228 -0
- package/treegrid/Compatible/Relief/Gantt.gif +0 -0
- package/treegrid/Compatible/Relief/GanttLineA.gif +0 -0
- package/treegrid/Compatible/Relief/GanttLineB.gif +0 -0
- package/treegrid/Compatible/Relief/GanttLineC.gif +0 -0
- package/treegrid/Compatible/Relief/GanttLineD.gif +0 -0
- package/treegrid/Compatible/Relief/Grid.css +2773 -0
- package/treegrid/Compatible/Relief/HScroll.png +0 -0
- package/treegrid/Compatible/Relief/Menu.gif +0 -0
- package/treegrid/Compatible/Relief/Pager.gif +0 -0
- package/treegrid/Compatible/Relief/Panel.gif +0 -0
- package/treegrid/Compatible/Relief/Sort.gif +0 -0
- package/treegrid/Compatible/Relief/Toolbar.gif +0 -0
- package/treegrid/Compatible/Relief/ToolbarGantt.gif +0 -0
- package/treegrid/Compatible/Relief/ToolbarSheet.gif +0 -0
- package/treegrid/Compatible/Relief/ToolbarSheetWide.gif +0 -0
- package/treegrid/Compatible/Relief/Tree.gif +0 -0
- package/treegrid/Compatible/Relief/TreeBottom.gif +0 -0
- package/treegrid/Compatible/Relief/TreeMiddle.gif +0 -0
- package/treegrid/Compatible/Relief/TreeNCollapse.gif +0 -0
- package/treegrid/Compatible/Relief/TreeNDrag0.gif +0 -0
- package/treegrid/Compatible/Relief/TreeNDrag1.gif +0 -0
- package/treegrid/Compatible/Relief/TreeNDrag2.gif +0 -0
- package/treegrid/Compatible/Relief/TreeNDrag3.gif +0 -0
- package/treegrid/Compatible/Relief/TreeNExpand.gif +0 -0
- package/treegrid/Compatible/Relief/TreeNWait.gif +0 -0
- package/treegrid/Compatible/Relief/TreeRev.gif +0 -0
- package/treegrid/Compatible/Relief/TreeRevBottom.gif +0 -0
- package/treegrid/Compatible/Relief/TreeRevMiddle.gif +0 -0
- package/treegrid/Compatible/Relief/VScroll.gif +0 -0
- package/treegrid/Compatible/Round/Backgrounds.gif +0 -0
- package/treegrid/Compatible/Round/Bool.gif +0 -0
- package/treegrid/Compatible/Round/Button.gif +0 -0
- package/treegrid/Compatible/Round/Dependencies.gif +0 -0
- package/treegrid/Compatible/Round/FastPanel1.gif +0 -0
- package/treegrid/Compatible/Round/FastPanel2.gif +0 -0
- package/treegrid/Compatible/Round/Filter.gif +0 -0
- package/treegrid/Compatible/Round/Gantt.css +1233 -0
- package/treegrid/Compatible/Round/Gantt.gif +0 -0
- package/treegrid/Compatible/Round/GanttLineA.gif +0 -0
- package/treegrid/Compatible/Round/GanttLineB.gif +0 -0
- package/treegrid/Compatible/Round/GanttLineC.gif +0 -0
- package/treegrid/Compatible/Round/GanttLineD.gif +0 -0
- package/treegrid/Compatible/Round/Grid.css +2767 -0
- package/treegrid/Compatible/Round/HScroll.png +0 -0
- package/treegrid/Compatible/Round/Menu.gif +0 -0
- package/treegrid/Compatible/Round/Pager.gif +0 -0
- package/treegrid/Compatible/Round/Panel.gif +0 -0
- package/treegrid/Compatible/Round/Sort.gif +0 -0
- package/treegrid/Compatible/Round/Toolbar.gif +0 -0
- package/treegrid/Compatible/Round/ToolbarGantt.gif +0 -0
- package/treegrid/Compatible/Round/ToolbarSheet.gif +0 -0
- package/treegrid/Compatible/Round/ToolbarSheetWide.gif +0 -0
- package/treegrid/Compatible/Round/Tree.gif +0 -0
- package/treegrid/Compatible/Round/TreeBottom.gif +0 -0
- package/treegrid/Compatible/Round/TreeMiddle.gif +0 -0
- package/treegrid/Compatible/Round/TreeNCollapse.gif +0 -0
- package/treegrid/Compatible/Round/TreeNDrag0.gif +0 -0
- package/treegrid/Compatible/Round/TreeNDrag1.gif +0 -0
- package/treegrid/Compatible/Round/TreeNDrag2.gif +0 -0
- package/treegrid/Compatible/Round/TreeNDrag3.gif +0 -0
- package/treegrid/Compatible/Round/TreeNExpand.gif +0 -0
- package/treegrid/Compatible/Round/TreeNWait.gif +0 -0
- package/treegrid/Compatible/Round/TreeRev.gif +0 -0
- package/treegrid/Compatible/Round/TreeRevBottom.gif +0 -0
- package/treegrid/Compatible/Round/TreeRevMiddle.gif +0 -0
- package/treegrid/Compatible/Round/VScroll.gif +0 -0
- package/treegrid/Compatible/Sharp/ArrowDropDown.png +0 -0
- package/treegrid/Compatible/Sharp/Bool.gif +0 -0
- package/treegrid/Compatible/Sharp/BoolSpace.gif +0 -0
- package/treegrid/Compatible/Sharp/Button.gif +0 -0
- package/treegrid/Compatible/Sharp/ButtonSpace.gif +0 -0
- package/treegrid/Compatible/Sharp/Dependencies.gif +0 -0
- package/treegrid/Compatible/Sharp/FastPanel1.gif +0 -0
- package/treegrid/Compatible/Sharp/FastPanel2.gif +0 -0
- package/treegrid/Compatible/Sharp/Filter.gif +0 -0
- package/treegrid/Compatible/Sharp/Gantt.css +1232 -0
- package/treegrid/Compatible/Sharp/Gantt.gif +0 -0
- package/treegrid/Compatible/Sharp/GanttLineA.gif +0 -0
- package/treegrid/Compatible/Sharp/GanttLineB.gif +0 -0
- package/treegrid/Compatible/Sharp/GanttLineC.gif +0 -0
- package/treegrid/Compatible/Sharp/GanttLineD.gif +0 -0
- package/treegrid/Compatible/Sharp/Grid.css +2773 -0
- package/treegrid/Compatible/Sharp/HScroll.png +0 -0
- package/treegrid/Compatible/Sharp/Menu.gif +0 -0
- package/treegrid/Compatible/Sharp/Pager.png +0 -0
- package/treegrid/Compatible/Sharp/Panel.gif +0 -0
- package/treegrid/Compatible/Sharp/Roboto-Regular.ttf +0 -0
- package/treegrid/Compatible/Sharp/Sort.gif +0 -0
- package/treegrid/Compatible/Sharp/Toolbar.png +0 -0
- package/treegrid/Compatible/Sharp/ToolbarGantt.png +0 -0
- package/treegrid/Compatible/Sharp/ToolbarSheet.png +0 -0
- package/treegrid/Compatible/Sharp/ToolbarSheetWide.png +0 -0
- package/treegrid/Compatible/Sharp/Tree.gif +0 -0
- package/treegrid/Compatible/Sharp/TreeBottom.gif +0 -0
- package/treegrid/Compatible/Sharp/TreeMiddle.gif +0 -0
- package/treegrid/Compatible/Sharp/TreeNCollapse.gif +0 -0
- package/treegrid/Compatible/Sharp/TreeNDrag0.gif +0 -0
- package/treegrid/Compatible/Sharp/TreeNDrag1.gif +0 -0
- package/treegrid/Compatible/Sharp/TreeNDrag2.gif +0 -0
- package/treegrid/Compatible/Sharp/TreeNDrag3.gif +0 -0
- package/treegrid/Compatible/Sharp/TreeNExpand.gif +0 -0
- package/treegrid/Compatible/Sharp/TreeNWait.gif +0 -0
- package/treegrid/Compatible/Sharp/VScroll.gif +0 -0
- package/treegrid/Defaults.xml +728 -0
- package/treegrid/Defaults.xml_.xml +718 -0
- package/treegrid/Ding.wav +0 -0
- package/treegrid/Drag.cur +0 -0
- package/treegrid/External/jszip.license.txt +10 -0
- package/treegrid/External/jszip.min.js +15 -0
- package/treegrid/External/jszip.min.sync.js +14 -0
- package/treegrid/GridE.js +45 -0
- package/treegrid/GridEOnDemand.js +53 -0
- package/treegrid/Help.html +536 -0
- package/treegrid/NoDrag.cur +0 -0
- package/treegrid/Styles/BlackGantt.css +887 -0
- package/treegrid/Styles/BlackGrid.css +1940 -0
- package/treegrid/Styles/Info.txt +6 -0
- package/treegrid/Styles/MaterialGantt.css +845 -0
- package/treegrid/Styles/MaterialGrid.css +1978 -0
- package/treegrid/Styles/Roboto-Light.ttf +0 -0
- package/treegrid/Styles/Roboto-Regular.ttf +0 -0
- package/treegrid/Styles/StandardGantt.css +891 -0
- package/treegrid/Styles/StandardGrid.css +1923 -0
- package/treegrid/Styles/TurqGantt.css +880 -0
- package/treegrid/Styles/TurqGrid.css +1980 -0
- package/treegrid/Styles/WhiteGantt.css +1021 -0
- package/treegrid/Styles/WhiteGrid.css +1911 -0
- package/treegrid/Text.xml +176 -0
- package/treegrid/TextEN.xml +1785 -0
- package/treegrid/TextKR.xml +176 -0
- package/treegrid/orgDefaults.xml +715 -0
- package/treegrid-global.d.ts +3294 -4904
- package/vite/owpCoreAssetsPlugin.cjs +120 -0
- package/vite/owpCoreAssetsPlugin.mjs +14 -0
- package/vite/owpCoreFixedImagesPlugin.cjs +33 -0
- package/vite/owpCoreFixedImagesPlugin.mjs +11 -0
- package/vite/staticAssetPlugin.cjs +187 -0
- package/vite/treeGridAssetsPlugin.cjs +88 -0
- package/vite/treeGridAssetsPlugin.mjs +12 -0
|
@@ -1,55 +1,52 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
import { TREEGRID_INPUT_CELL_COLOR as v } from "../../../constants/treeGrid.js";
|
|
1
|
+
var E = Object.defineProperty;
|
|
2
|
+
var G = (e, t) => E(e, "name", { value: t, configurable: !0 });
|
|
3
|
+
import { getTreeGridTextResourceUrl as k, TREEGRID_INPUT_CELL_COLOR as v } from "../../../constants/treeGrid.js";
|
|
4
4
|
import { highlightTreeGridCellById as U } from "../../../utils/treeGridUtil.js";
|
|
5
5
|
import { enqueueSnackbar as V } from "notistack";
|
|
6
6
|
import { applyTreeGridLayoutToGrid as $ } from "./treeGridLayout.js";
|
|
7
|
-
import { resolveTreeGridColumnEditValue as F, resetTreeGridColumnEditRulesState as P, syncTreeGridColumnEditRules as
|
|
8
|
-
import { measureTreeGridPerf as
|
|
9
|
-
import { debounce as
|
|
10
|
-
import { get as
|
|
11
|
-
import { isEmpty as
|
|
12
|
-
const
|
|
7
|
+
import { resolveTreeGridColumnEditValue as F, resetTreeGridColumnEditRulesState as P, syncTreeGridColumnEditRules as M } from "./treeGridColumnEditRules.js";
|
|
8
|
+
import { measureTreeGridPerf as j } from "./utils/perf.js";
|
|
9
|
+
import { debounce as O } from "../../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/function/debounce.js";
|
|
10
|
+
import { get as q } from "../../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/object/get.js";
|
|
11
|
+
import { isEmpty as z } from "../../../node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isEmpty.js";
|
|
12
|
+
const K = Number.parseInt(
|
|
13
13
|
v.replace("#", ""),
|
|
14
14
|
16
|
|
15
|
-
),
|
|
16
|
-
en: "/assets/vendors/Grid/TextEN.xml",
|
|
17
|
-
kr: "/assets/vendors/Grid/TextKR.xml"
|
|
18
|
-
}, L = /* @__PURE__ */ i((e) => `${e}?noCache=${Date.now()}`, "appendNoCacheQuery"), Q = /* @__PURE__ */ i((e) => e === "kr" ? B.kr : B.en, "getTreeGridTextResourceUrl"), X = /* @__PURE__ */ i((e) => e != null && e.includes("assets") ? L(e) : (
|
|
15
|
+
), fe = 300, L = /* @__PURE__ */ G((e) => `${e}?noCache=${Date.now()}`, "appendNoCacheQuery"), Q = /* @__PURE__ */ G((e) => e != null && e.includes("assets") ? L(e) : (
|
|
19
16
|
// @ts-expect-error - API base URL env is provided by host app
|
|
20
17
|
`undefined/${e}?noCache=${Date.now()}`
|
|
21
|
-
), "resolveTreeGridDataUrl"), J = /* @__PURE__ */
|
|
18
|
+
), "resolveTreeGridDataUrl"), J = /* @__PURE__ */ G((e, t, i) => e ? { Url: Q(t) } : { Data: { Body: [z(i) ? [] : i] } }, "buildTreeGridDataSource"), Ce = /* @__PURE__ */ G(({
|
|
22
19
|
id: e,
|
|
23
20
|
layoutUrl: t,
|
|
24
|
-
dataUrl:
|
|
21
|
+
dataUrl: i,
|
|
25
22
|
bodyData: C,
|
|
26
|
-
useDataUrl:
|
|
27
|
-
width:
|
|
23
|
+
useDataUrl: m,
|
|
24
|
+
width: p,
|
|
28
25
|
height: l,
|
|
29
|
-
languageId:
|
|
26
|
+
languageId: s
|
|
30
27
|
}) => ({
|
|
31
28
|
id: e,
|
|
32
29
|
Layout: { Url: L(t ?? "") },
|
|
33
|
-
Data: J(
|
|
30
|
+
Data: J(m, i, C),
|
|
34
31
|
Text: {
|
|
35
|
-
Url:
|
|
32
|
+
Url: k(s)
|
|
36
33
|
},
|
|
37
|
-
width:
|
|
34
|
+
width: p,
|
|
38
35
|
height: l,
|
|
39
36
|
Debug: "Error"
|
|
40
|
-
}), "buildTreeGridInitializationOptions"),
|
|
37
|
+
}), "buildTreeGridInitializationOptions"), h = /* @__PURE__ */ G((e) => q(e, "Data.Data.Data.Body.0"), "getTreeGridBodyData"), W = /* @__PURE__ */ G((e) => Array.isArray(e) ? e.length : 0, "getTreeGridBodyDataCount"), X = /* @__PURE__ */ G((e) => {
|
|
41
38
|
const t = e == null ? void 0 : e.Visible;
|
|
42
39
|
return !!e && t !== 0 && t !== !1 && t !== "0";
|
|
43
|
-
}, "isVisibleTreeGridRow"),
|
|
40
|
+
}, "isVisibleTreeGridRow"), Y = /* @__PURE__ */ G((e) => {
|
|
44
41
|
const t = e == null ? void 0 : e.Added;
|
|
45
42
|
return !!e && t !== 0 && t !== !1 && t !== "0" && t !== void 0;
|
|
46
|
-
}, "isAddedTreeGridRow"), S = /* @__PURE__ */
|
|
47
|
-
const C = e.GetAttribute(t,
|
|
43
|
+
}, "isAddedTreeGridRow"), S = /* @__PURE__ */ G((e) => !e || e.Fixed === "Foot" || !X(e) ? !1 : e.Kind === "Data" || Y(e), "isDisplayTreeGridRow"), Z = /* @__PURE__ */ G((e, t, i) => !t || !i || !S(t) ? !1 : e.CanEdit(t, i) === 1, "isEditableTreeGridCell"), g = /* @__PURE__ */ G((e, t, i) => {
|
|
44
|
+
const C = e.GetAttribute(t, i, "Color");
|
|
48
45
|
return C != null && C !== "";
|
|
49
|
-
}, "hasExplicitTreeGridCellColor"),
|
|
50
|
-
if (!(!t || !
|
|
51
|
-
return
|
|
52
|
-
}, "getEditableTreeGridCellDefaultColor"),
|
|
46
|
+
}, "hasExplicitTreeGridCellColor"), H = /* @__PURE__ */ G((e, t, i) => {
|
|
47
|
+
if (!(!t || !Z(e, t, i) || g(e, t, i)))
|
|
48
|
+
return K;
|
|
49
|
+
}, "getEditableTreeGridCellDefaultColor"), de = /* @__PURE__ */ G((e) => {
|
|
53
50
|
if (!e)
|
|
54
51
|
return !1;
|
|
55
52
|
if (typeof e.GetFirst == "function" && typeof e.GetNext == "function") {
|
|
@@ -62,42 +59,42 @@ const z = Number.parseInt(
|
|
|
62
59
|
return !1;
|
|
63
60
|
}
|
|
64
61
|
return Object.values(e.Rows ?? {}).some((t) => S(t));
|
|
65
|
-
}, "hasTreeGridDisplayDataRows"), me = /* @__PURE__ */
|
|
66
|
-
var
|
|
67
|
-
const C = (
|
|
62
|
+
}, "hasTreeGridDisplayDataRows"), me = /* @__PURE__ */ G((e, t, i) => {
|
|
63
|
+
var m;
|
|
64
|
+
const C = (m = e.Data) == null ? void 0 : m.Data;
|
|
68
65
|
e.Data.Data = {
|
|
69
66
|
...C,
|
|
70
67
|
Data: { Body: [t || []] },
|
|
71
68
|
Url: ""
|
|
72
|
-
}, e.ReloadBody(
|
|
73
|
-
}, "replaceTreeGridBodyData"),
|
|
69
|
+
}, e.ReloadBody(i);
|
|
70
|
+
}, "replaceTreeGridBodyData"), we = /* @__PURE__ */ G(({
|
|
74
71
|
id: e,
|
|
75
72
|
latestEventHandlersRef: t,
|
|
76
|
-
highlightEditableCellsRef:
|
|
73
|
+
highlightEditableCellsRef: i,
|
|
77
74
|
highlightChangedCellsRef: C,
|
|
78
|
-
treeGridInstanceRef:
|
|
79
|
-
treeGridInitStartedAtRef:
|
|
75
|
+
treeGridInstanceRef: m,
|
|
76
|
+
treeGridInitStartedAtRef: p,
|
|
80
77
|
latestLayoutOverridesRef: l,
|
|
81
|
-
appliedLayoutOverridesRef:
|
|
82
|
-
appliedBodyDataPropRef:
|
|
83
|
-
latestColumnEditRulesRef:
|
|
84
|
-
latestColumnEditRuleLookupRef:
|
|
78
|
+
appliedLayoutOverridesRef: s,
|
|
79
|
+
appliedBodyDataPropRef: x,
|
|
80
|
+
latestColumnEditRulesRef: A,
|
|
81
|
+
latestColumnEditRuleLookupRef: R,
|
|
85
82
|
appliedColumnEditRulesRef: N,
|
|
86
83
|
columnEditRulesStateRef: _,
|
|
87
|
-
hasAppliedInitialLayoutRef:
|
|
88
|
-
syncHasDisplayDataRows:
|
|
89
|
-
setIsTreeGridReady:
|
|
84
|
+
hasAppliedInitialLayoutRef: b,
|
|
85
|
+
syncHasDisplayDataRows: w,
|
|
86
|
+
setIsTreeGridReady: a
|
|
90
87
|
}) => {
|
|
91
88
|
const c = t.current;
|
|
92
89
|
window.TGSetEvent("OnRowAdd", e, (r, o) => {
|
|
93
90
|
var n, u;
|
|
94
91
|
o.CanEdit = 1, o.CanDelete = 1, (u = (n = t.current) == null ? void 0 : n.onRowAdd) == null || u.call(n, r, o);
|
|
95
92
|
}), window.TGSetEvent("OnRowAdded", e, (r) => {
|
|
96
|
-
|
|
93
|
+
w(r);
|
|
97
94
|
}), typeof (c == null ? void 0 : c.onRowClick) == "function" && window.TGSetEvent(
|
|
98
95
|
"OnClick",
|
|
99
96
|
e,
|
|
100
|
-
|
|
97
|
+
O((r, o, n, u, T, f) => {
|
|
101
98
|
var d, D;
|
|
102
99
|
(D = (d = t.current) == null ? void 0 : d.onRowClick) == null || D.call(
|
|
103
100
|
d,
|
|
@@ -112,7 +109,7 @@ const z = Number.parseInt(
|
|
|
112
109
|
), typeof (c == null ? void 0 : c.onClickButton) == "function" && window.TGSetEvent(
|
|
113
110
|
"OnClickButton",
|
|
114
111
|
e,
|
|
115
|
-
|
|
112
|
+
O((r, o, n, u) => {
|
|
116
113
|
var T, f;
|
|
117
114
|
(f = (T = t.current) == null ? void 0 : T.onClickButton) == null || f.call(
|
|
118
115
|
T,
|
|
@@ -124,32 +121,32 @@ const z = Number.parseInt(
|
|
|
124
121
|
}, 300)
|
|
125
122
|
), typeof (c == null ? void 0 : c.onRowDelete) == "function" ? window.TGSetEvent("OnRowDelete", e, (r, o, n) => {
|
|
126
123
|
var u, T;
|
|
127
|
-
|
|
124
|
+
w(r), (T = (u = t.current) == null ? void 0 : u.onRowDelete) == null || T.call(
|
|
128
125
|
u,
|
|
129
126
|
r,
|
|
130
127
|
o,
|
|
131
128
|
n
|
|
132
129
|
);
|
|
133
130
|
}) : window.TGSetEvent("OnRowDelete", e, (r) => {
|
|
134
|
-
|
|
131
|
+
w(r);
|
|
135
132
|
}), typeof (c == null ? void 0 : c.onRowUndelete) == "function" ? window.TGSetEvent("OnRowUndelete", e, (r, o) => {
|
|
136
133
|
var n, u;
|
|
137
|
-
|
|
134
|
+
w(r), (u = (n = t.current) == null ? void 0 : n.onRowUndelete) == null || u.call(n, r, o);
|
|
138
135
|
}) : window.TGSetEvent("OnRowUndelete", e, (r) => {
|
|
139
|
-
|
|
136
|
+
w(r);
|
|
140
137
|
}), window.TGSetEvent("OnGetDefaultColor", e, (r, o, n) => {
|
|
141
|
-
if (!(!
|
|
142
|
-
return
|
|
138
|
+
if (!(!i.current || !S(o)))
|
|
139
|
+
return H(r, o, n);
|
|
143
140
|
}), window.TGSetEvent("OnAfterValueChanged", e, (r, o, n, u) => {
|
|
144
|
-
var
|
|
145
|
-
const T =
|
|
141
|
+
var B, I;
|
|
142
|
+
const T = R.current, f = T ? F(T, n, u) : void 0, d = f == null ? void 0 : f.value, D = d ?? u;
|
|
146
143
|
f != null && f.invalidText && V(f.invalidText, { variant: "warning" }), d !== void 0 && r.SetValue(o, n, d, 1), C.current && S(o) && U(e, { row: o, col: n });
|
|
147
|
-
const
|
|
148
|
-
|
|
144
|
+
const y = ((B = t.current) == null ? void 0 : B.onAfterValueChanged) ?? ((I = t.current) == null ? void 0 : I.onRowChange);
|
|
145
|
+
y == null || y(r, o, n, D);
|
|
149
146
|
}), typeof (c == null ? void 0 : c.onSelect) == "function" && window.TGSetEvent(
|
|
150
147
|
"OnSelect",
|
|
151
148
|
e,
|
|
152
|
-
|
|
149
|
+
O((r) => {
|
|
153
150
|
var n, u;
|
|
154
151
|
const o = r.GetSelRows() ?? [];
|
|
155
152
|
(u = (n = t.current) == null ? void 0 : n.onSelect) == null || u.call(n, o);
|
|
@@ -165,29 +162,29 @@ const z = Number.parseInt(
|
|
|
165
162
|
}), window.TGSetEvent(
|
|
166
163
|
"OnReady",
|
|
167
164
|
e,
|
|
168
|
-
|
|
165
|
+
O((r) => {
|
|
169
166
|
var o, n;
|
|
170
|
-
if (!
|
|
167
|
+
if (!b.current) {
|
|
171
168
|
const u = l.current;
|
|
172
|
-
|
|
169
|
+
b.current = !0, $(r, u), P(_.current), M(
|
|
173
170
|
r,
|
|
174
|
-
|
|
171
|
+
R.current,
|
|
175
172
|
_.current
|
|
176
|
-
),
|
|
173
|
+
), m.current = r, s.current = u, x.current = h(r), N.current = A.current, w(r), a(!0), j(e, "TreeGrid init ready", p.current, {
|
|
177
174
|
bodyRowCount: W(
|
|
178
|
-
|
|
175
|
+
h(r)
|
|
179
176
|
)
|
|
180
|
-
}),
|
|
177
|
+
}), p.current = null, (n = (o = t.current) == null ? void 0 : o.onReady) == null || n.call(o, r);
|
|
181
178
|
}
|
|
182
179
|
}, 100)
|
|
183
180
|
);
|
|
184
181
|
}, "bindTreeGridEvents");
|
|
185
182
|
export {
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
183
|
+
fe as TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS,
|
|
184
|
+
we as bindTreeGridEvents,
|
|
185
|
+
Ce as buildTreeGridInitializationOptions,
|
|
189
186
|
W as getTreeGridBodyDataCount,
|
|
190
|
-
|
|
187
|
+
de as hasTreeGridDisplayDataRows,
|
|
191
188
|
me as replaceTreeGridBodyData
|
|
192
189
|
};
|
|
193
190
|
//# sourceMappingURL=treeGridRuntime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"treeGridRuntime.js","sources":["../../../../src/components/OwpTreeGrid/internal/treeGridRuntime.ts"],"sourcesContent":["import { TREEGRID_INPUT_CELL_COLOR } from '@/constants/treeGrid';\nimport { highlightTreeGridCellById } from '@/utils/treeGridUtil';\nimport { debounce, get, isEmpty } from 'es-toolkit/compat';\nimport { enqueueSnackbar } from 'notistack';\nimport {\n type Dispatch,\n type RefObject,\n type SetStateAction,\n} from 'react';\nimport type {\n OwpTreeGridBodyData,\n OwpTreeGridColumnEditRule,\n OwpTreeGridLayoutConfig,\n OwpTreeGridProps,\n OwpTreeGridRowModel,\n OwpTreeGridSelectedRows,\n} from '../OwpTreeGrid';\nimport { applyTreeGridLayoutToGrid } from './treeGridLayout';\nimport {\n resetTreeGridColumnEditRulesState,\n resolveTreeGridColumnEditValue,\n syncTreeGridColumnEditRules,\n type TreeGridColumnEditRuleLookup,\n type TreeGridColumnEditRulesState,\n} from './treeGridColumnEditRules';\nimport {\n measureTreeGridPerf,\n} from './utils/perf';\n\nconst TREE_GRID_INPUT_CELL_COLOR_VALUE = Number.parseInt(\n TREEGRID_INPUT_CELL_COLOR.replace('#', ''),\n 16,\n);\n\nexport const TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS = 300;\n\ntype TreeGridInitializationInput<T> = {\n id: string;\n layoutUrl?: string;\n dataUrl?: string;\n bodyData: OwpTreeGridBodyData<T>;\n useDataUrl?: boolean;\n width?: string | number;\n height?: string | number;\n languageId: string;\n};\n\nexport type TreeGridEventHandlers<T> = Pick<\n OwpTreeGridProps<T>,\n | 'onSelect'\n | 'onRowClick'\n | 'onRowAdd'\n | 'onRowDelete'\n | 'onRowUndelete'\n | 'onRowChange'\n | 'onClickButton'\n | 'onSave'\n | 'onReady'\n | 'onAfterValueChanged'\n>;\n\nexport type TreeGridEventBindingOptions<T> = Pick<OwpTreeGridProps<T>, 'id'> & {\n latestEventHandlersRef: RefObject<TreeGridEventHandlers<T>>;\n highlightEditableCellsRef: RefObject<boolean>;\n highlightChangedCellsRef: RefObject<boolean>;\n treeGridInstanceRef: RefObject<TGrid>;\n treeGridInitStartedAtRef: RefObject<number | null>;\n latestLayoutOverridesRef: RefObject<OwpTreeGridLayoutConfig | undefined>;\n appliedLayoutOverridesRef: RefObject<OwpTreeGridLayoutConfig | undefined>;\n appliedBodyDataPropRef: RefObject<OwpTreeGridBodyData<T>>;\n latestColumnEditRulesRef: RefObject<readonly OwpTreeGridColumnEditRule[] | undefined>;\n latestColumnEditRuleLookupRef: RefObject<TreeGridColumnEditRuleLookup | undefined>;\n appliedColumnEditRulesRef: RefObject<readonly OwpTreeGridColumnEditRule[] | undefined>;\n columnEditRulesStateRef: RefObject<TreeGridColumnEditRulesState>;\n hasAppliedInitialLayoutRef: RefObject<boolean>;\n syncHasDisplayDataRows: (grid: TGrid | null) => void;\n setIsTreeGridReady: Dispatch<SetStateAction<boolean>>;\n};\n\nconst TREE_GRID_TEXT_RESOURCE_URLS = {\n en: '/assets/vendors/Grid/TextEN.xml',\n kr: '/assets/vendors/Grid/TextKR.xml',\n} as const;\n\nconst appendNoCacheQuery = (url: string) => {\n return `${url}?noCache=${Date.now()}`;\n};\n\nconst getTreeGridTextResourceUrl = (languageId: string) => {\n return languageId === 'kr' ? TREE_GRID_TEXT_RESOURCE_URLS.kr : TREE_GRID_TEXT_RESOURCE_URLS.en;\n};\n\nconst resolveTreeGridDataUrl = (dataUrl?: string) => {\n return dataUrl?.includes('assets')\n ? appendNoCacheQuery(dataUrl)\n : // @ts-expect-error - API base URL env is provided by host app\n `${import.meta.env.VITE_API_BASE_URL}/${dataUrl}?noCache=${Date.now()}`;\n};\n\nconst buildTreeGridDataSource = <T,>(\n useDataUrl: boolean | undefined,\n dataUrl: string | undefined,\n bodyData: OwpTreeGridBodyData<T>,\n) => {\n if (useDataUrl) {\n return { Url: resolveTreeGridDataUrl(dataUrl) };\n }\n\n return { Data: { Body: [isEmpty(bodyData) ? [] : bodyData] } };\n};\n\n/**\n * TreeGrid 초기화 옵션 생성\n * @param input 초기화 입력값\n */\nexport const buildTreeGridInitializationOptions = <T,>({\n id,\n layoutUrl,\n dataUrl,\n bodyData,\n useDataUrl,\n width,\n height,\n languageId,\n}: TreeGridInitializationInput<T>) => {\n return {\n id,\n Layout: { Url: appendNoCacheQuery(layoutUrl ?? '') },\n Data: buildTreeGridDataSource(useDataUrl, dataUrl, bodyData),\n Text: {\n Url: getTreeGridTextResourceUrl(languageId),\n },\n width,\n height,\n Debug: 'Error',\n };\n};\n\nconst getTreeGridBodyData = (grid: TGrid | null) => {\n return get(grid, 'Data.Data.Data.Body.0');\n};\n\n/**\n * TreeGrid Body 데이터 건수\n * @param bodyData TreeGrid Body 데이터\n */\nexport const getTreeGridBodyDataCount = <T,>(bodyData: OwpTreeGridBodyData<T>) => {\n return Array.isArray(bodyData) ? bodyData.length : 0;\n};\n\nconst isVisibleTreeGridRow = (row: TRow | null | undefined) => {\n const visible = (row as { Visible?: unknown } | null)?.Visible;\n\n return !!row && visible !== 0 && visible !== false && visible !== '0';\n};\n\n/**\n * TreeGrid 추가 행 여부\n * @param row TreeGrid 행\n */\nconst isAddedTreeGridRow = (row: TRow | null | undefined) => {\n const added = (row as { Added?: unknown } | null)?.Added;\n\n return !!row && added !== 0 && added !== false && added !== '0' && added !== undefined;\n};\n\n/**\n * TreeGrid 본문 표시 행 여부\n * @param row TreeGrid 행\n */\nconst isDisplayTreeGridRow = (row: TRow | null | undefined) => {\n if (!row || row.Fixed === 'Foot' || !isVisibleTreeGridRow(row)) {\n return false;\n }\n\n return row.Kind === 'Data' || isAddedTreeGridRow(row);\n};\n\n/**\n * TreeGrid 셀 편집 가능 여부\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n */\nconst isEditableTreeGridCell = (grid: TGrid, row: TRow | null | undefined, col: string) => {\n if (!row || !col || !isDisplayTreeGridRow(row)) {\n return false;\n }\n\n return grid.CanEdit(row, col) === 1;\n};\n\n/**\n * TreeGrid 셀 명시 색상 여부\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n */\nconst hasExplicitTreeGridCellColor = (grid: TGrid, row: TRow, col: string) => {\n const color = grid.GetAttribute(row, col, 'Color');\n\n return color !== undefined && color !== null && color !== '';\n};\n\n/**\n * TreeGrid 입력 셀 기본 배경색 계산\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n */\nconst getEditableTreeGridCellDefaultColor = (\n grid: TGrid,\n row: TRow | null | undefined,\n col: string,\n) => {\n if (\n !row ||\n !isEditableTreeGridCell(grid, row, col) ||\n hasExplicitTreeGridCellColor(grid, row, col)\n ) {\n return undefined;\n }\n\n return TREE_GRID_INPUT_CELL_COLOR_VALUE;\n};\n\n/**\n * TreeGrid 표시 데이터 행 존재 여부\n * @param grid TreeGrid 인스턴스\n */\nexport const hasTreeGridDisplayDataRows = (grid: TGrid | null) => {\n if (!grid) {\n return false;\n }\n\n if (typeof grid.GetFirst === 'function' && typeof grid.GetNext === 'function') {\n let row = grid.GetFirst();\n\n while (row) {\n if (isDisplayTreeGridRow(row)) {\n return true;\n }\n\n row = grid.GetNext(row);\n }\n\n return false;\n }\n\n return Object.values(grid.Rows ?? {}).some((row) => {\n return isDisplayTreeGridRow(row);\n });\n};\n\n/**\n * TreeGrid Body 데이터 교체 후 재로드\n * @param grid TreeGrid 인스턴스\n * @param bodyData 새 Body 데이터\n * @param onReloadFinish 재로드 완료 콜백\n */\nexport const replaceTreeGridBodyData = <T,>(\n grid: TGrid,\n bodyData: OwpTreeGridBodyData<T>,\n onReloadFinish?: (code: number) => void,\n) => {\n // @ts-expect-error - TreeGrid Data.Data shape is not reflected in bundled types\n const currentDataConfig = grid.Data?.Data;\n\n // @ts-expect-error - TreeGrid Data.Data shape is not reflected in bundled types\n grid.Data.Data = {\n ...currentDataConfig,\n Data: { Body: [bodyData || []] },\n Url: '',\n };\n\n grid.ReloadBody(onReloadFinish);\n};\n\n/**\n * TreeGrid 이벤트 바인딩\n * @param options 이벤트 바인딩 옵션\n */\nexport const bindTreeGridEvents = <T,>({\n id,\n latestEventHandlersRef,\n highlightEditableCellsRef,\n highlightChangedCellsRef,\n treeGridInstanceRef,\n treeGridInitStartedAtRef,\n latestLayoutOverridesRef,\n appliedLayoutOverridesRef,\n appliedBodyDataPropRef,\n latestColumnEditRulesRef,\n latestColumnEditRuleLookupRef,\n appliedColumnEditRulesRef,\n columnEditRulesStateRef,\n hasAppliedInitialLayoutRef,\n syncHasDisplayDataRows,\n setIsTreeGridReady,\n}: TreeGridEventBindingOptions<T>) => {\n const initialEventHandlers = latestEventHandlersRef.current;\n\n window.TGSetEvent('OnRowAdd', id, (grid, row) => {\n row.CanEdit = 1;\n row.CanDelete = 1;\n\n latestEventHandlersRef.current?.onRowAdd?.(grid, row as OwpTreeGridRowModel<T>);\n });\n window.TGSetEvent('OnRowAdded', id, (grid) => {\n syncHasDisplayDataRows(grid);\n });\n\n if (typeof initialEventHandlers?.onRowClick === 'function') {\n window.TGSetEvent(\n 'OnClick',\n id,\n debounce((grid, row, col, x, y, event) => {\n latestEventHandlersRef.current?.onRowClick?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n col,\n x,\n y,\n event,\n );\n }, 300),\n );\n }\n\n if (typeof initialEventHandlers?.onClickButton === 'function') {\n window.TGSetEvent(\n 'OnClickButton',\n id,\n debounce((grid, row, col, event) => {\n latestEventHandlersRef.current?.onClickButton?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n col,\n event,\n );\n }, 300),\n );\n }\n\n if (typeof initialEventHandlers?.onRowDelete === 'function') {\n window.TGSetEvent('OnRowDelete', id, (grid, row, deleteType) => {\n syncHasDisplayDataRows(grid);\n latestEventHandlersRef.current?.onRowDelete?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n deleteType,\n );\n });\n } else {\n window.TGSetEvent('OnRowDelete', id, (grid) => {\n syncHasDisplayDataRows(grid);\n });\n }\n if (typeof initialEventHandlers?.onRowUndelete === 'function') {\n window.TGSetEvent('OnRowUndelete', id, (grid, row) => {\n syncHasDisplayDataRows(grid);\n latestEventHandlersRef.current?.onRowUndelete?.(grid, row as OwpTreeGridRowModel<T>);\n });\n } else {\n window.TGSetEvent('OnRowUndelete', id, (grid) => {\n syncHasDisplayDataRows(grid);\n });\n }\n window.TGSetEvent('OnGetDefaultColor', id, (grid, row, col) => {\n if (!highlightEditableCellsRef.current || !isDisplayTreeGridRow(row)) {\n return undefined;\n }\n\n return getEditableTreeGridCellDefaultColor(grid, row, col);\n });\n window.TGSetEvent('OnAfterValueChanged', id, (grid, row, col, value) => {\n const columnEditRuleLookup = latestColumnEditRuleLookupRef.current;\n const resolvedEditValue = columnEditRuleLookup\n ? resolveTreeGridColumnEditValue(columnEditRuleLookup, col, value)\n : undefined;\n const nextValue = resolvedEditValue?.value;\n const resolvedValue = nextValue ?? value;\n\n if (resolvedEditValue?.invalidText) {\n enqueueSnackbar(resolvedEditValue.invalidText, { variant: 'warning' });\n }\n\n if (nextValue !== undefined) {\n grid.SetValue(row, col, nextValue, 1);\n }\n\n if (highlightChangedCellsRef.current && isDisplayTreeGridRow(row)) {\n highlightTreeGridCellById(id, { row, col });\n }\n\n const valueChangedHandler =\n latestEventHandlersRef.current?.onAfterValueChanged ??\n latestEventHandlersRef.current?.onRowChange;\n\n valueChangedHandler?.(grid, row as OwpTreeGridRowModel<T>, col, resolvedValue);\n });\n if (typeof initialEventHandlers?.onSelect === 'function') {\n window.TGSetEvent(\n 'OnSelect',\n id,\n debounce((grid) => {\n const selectedRows = (grid.GetSelRows() ?? []) as OwpTreeGridSelectedRows<T>;\n latestEventHandlersRef.current?.onSelect?.(selectedRows);\n }, 100),\n );\n }\n if (typeof initialEventHandlers?.onSave === 'function') {\n window.TGSetEvent('OnSave', id, (grid, row, autoupdate) => {\n latestEventHandlersRef.current?.onSave?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n autoupdate,\n );\n });\n }\n\n window.TGSetEvent(\n 'OnReady',\n id,\n debounce((grid) => {\n if (!hasAppliedInitialLayoutRef.current) {\n const latestLayoutOverrides = latestLayoutOverridesRef.current;\n\n hasAppliedInitialLayoutRef.current = true;\n applyTreeGridLayoutToGrid(grid, latestLayoutOverrides);\n resetTreeGridColumnEditRulesState(columnEditRulesStateRef.current);\n syncTreeGridColumnEditRules(\n grid,\n latestColumnEditRuleLookupRef.current,\n columnEditRulesStateRef.current,\n );\n treeGridInstanceRef.current = grid;\n appliedLayoutOverridesRef.current = latestLayoutOverrides;\n appliedBodyDataPropRef.current = getTreeGridBodyData(grid) as OwpTreeGridBodyData<T>;\n appliedColumnEditRulesRef.current = latestColumnEditRulesRef.current;\n syncHasDisplayDataRows(grid);\n setIsTreeGridReady(true);\n measureTreeGridPerf(id, 'TreeGrid init ready', treeGridInitStartedAtRef.current, {\n bodyRowCount: getTreeGridBodyDataCount(\n getTreeGridBodyData(grid) as OwpTreeGridBodyData<T>,\n ),\n });\n treeGridInitStartedAtRef.current = null;\n latestEventHandlersRef.current?.onReady?.(grid);\n }\n }, 100),\n );\n};\n"],"names":["TREE_GRID_INPUT_CELL_COLOR_VALUE","TREEGRID_INPUT_CELL_COLOR","TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS","TREE_GRID_TEXT_RESOURCE_URLS","appendNoCacheQuery","__name","url","getTreeGridTextResourceUrl","languageId","resolveTreeGridDataUrl","dataUrl","buildTreeGridDataSource","useDataUrl","bodyData","isEmpty","buildTreeGridInitializationOptions","id","layoutUrl","width","height","getTreeGridBodyData","grid","get","getTreeGridBodyDataCount","isVisibleTreeGridRow","row","visible","isAddedTreeGridRow","added","isDisplayTreeGridRow","isEditableTreeGridCell","col","hasExplicitTreeGridCellColor","color","getEditableTreeGridCellDefaultColor","hasTreeGridDisplayDataRows","replaceTreeGridBodyData","onReloadFinish","currentDataConfig","_a","bindTreeGridEvents","latestEventHandlersRef","highlightEditableCellsRef","highlightChangedCellsRef","treeGridInstanceRef","treeGridInitStartedAtRef","latestLayoutOverridesRef","appliedLayoutOverridesRef","appliedBodyDataPropRef","latestColumnEditRulesRef","latestColumnEditRuleLookupRef","appliedColumnEditRulesRef","columnEditRulesStateRef","hasAppliedInitialLayoutRef","syncHasDisplayDataRows","setIsTreeGridReady","initialEventHandlers","_b","debounce","x","y","event","deleteType","value","columnEditRuleLookup","resolvedEditValue","resolveTreeGridColumnEditValue","nextValue","resolvedValue","enqueueSnackbar","highlightTreeGridCellById","valueChangedHandler","selectedRows","autoupdate","latestLayoutOverrides","applyTreeGridLayoutToGrid","resetTreeGridColumnEditRulesState","syncTreeGridColumnEditRules","measureTreeGridPerf"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"treeGridRuntime.js","sources":["../../../../src/components/OwpTreeGrid/internal/treeGridRuntime.ts"],"sourcesContent":["import { getTreeGridTextResourceUrl, TREEGRID_INPUT_CELL_COLOR } from '@/constants/treeGrid';\nimport { highlightTreeGridCellById } from '@/utils/treeGridUtil';\nimport { debounce, get, isEmpty } from 'es-toolkit/compat';\nimport { enqueueSnackbar } from 'notistack';\nimport {\n type Dispatch,\n type RefObject,\n type SetStateAction,\n} from 'react';\nimport type {\n OwpTreeGridBodyData,\n OwpTreeGridColumnEditRule,\n OwpTreeGridLayoutConfig,\n OwpTreeGridProps,\n OwpTreeGridRowModel,\n OwpTreeGridSelectedRows,\n} from '../OwpTreeGrid';\nimport { applyTreeGridLayoutToGrid } from './treeGridLayout';\nimport {\n resetTreeGridColumnEditRulesState,\n resolveTreeGridColumnEditValue,\n syncTreeGridColumnEditRules,\n type TreeGridColumnEditRuleLookup,\n type TreeGridColumnEditRulesState,\n} from './treeGridColumnEditRules';\nimport {\n measureTreeGridPerf,\n} from './utils/perf';\n\nconst TREE_GRID_INPUT_CELL_COLOR_VALUE = Number.parseInt(\n TREEGRID_INPUT_CELL_COLOR.replace('#', ''),\n 16,\n);\n\nexport const TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS = 300;\n\ntype TreeGridInitializationInput<T> = {\n id: string;\n layoutUrl?: string;\n dataUrl?: string;\n bodyData: OwpTreeGridBodyData<T>;\n useDataUrl?: boolean;\n width?: string | number;\n height?: string | number;\n languageId: string;\n};\n\nexport type TreeGridEventHandlers<T> = Pick<\n OwpTreeGridProps<T>,\n | 'onSelect'\n | 'onRowClick'\n | 'onRowAdd'\n | 'onRowDelete'\n | 'onRowUndelete'\n | 'onRowChange'\n | 'onClickButton'\n | 'onSave'\n | 'onReady'\n | 'onAfterValueChanged'\n>;\n\nexport type TreeGridEventBindingOptions<T> = Pick<OwpTreeGridProps<T>, 'id'> & {\n latestEventHandlersRef: RefObject<TreeGridEventHandlers<T>>;\n highlightEditableCellsRef: RefObject<boolean>;\n highlightChangedCellsRef: RefObject<boolean>;\n treeGridInstanceRef: RefObject<TGrid>;\n treeGridInitStartedAtRef: RefObject<number | null>;\n latestLayoutOverridesRef: RefObject<OwpTreeGridLayoutConfig | undefined>;\n appliedLayoutOverridesRef: RefObject<OwpTreeGridLayoutConfig | undefined>;\n appliedBodyDataPropRef: RefObject<OwpTreeGridBodyData<T>>;\n latestColumnEditRulesRef: RefObject<readonly OwpTreeGridColumnEditRule[] | undefined>;\n latestColumnEditRuleLookupRef: RefObject<TreeGridColumnEditRuleLookup | undefined>;\n appliedColumnEditRulesRef: RefObject<readonly OwpTreeGridColumnEditRule[] | undefined>;\n columnEditRulesStateRef: RefObject<TreeGridColumnEditRulesState>;\n hasAppliedInitialLayoutRef: RefObject<boolean>;\n syncHasDisplayDataRows: (grid: TGrid | null) => void;\n setIsTreeGridReady: Dispatch<SetStateAction<boolean>>;\n};\n\nconst appendNoCacheQuery = (url: string) => {\n return `${url}?noCache=${Date.now()}`;\n};\n\nconst resolveTreeGridDataUrl = (dataUrl?: string) => {\n return dataUrl?.includes('assets')\n ? appendNoCacheQuery(dataUrl)\n : // @ts-expect-error - API base URL env is provided by host app\n `${import.meta.env.VITE_API_BASE_URL}/${dataUrl}?noCache=${Date.now()}`;\n};\n\nconst buildTreeGridDataSource = <T,>(\n useDataUrl: boolean | undefined,\n dataUrl: string | undefined,\n bodyData: OwpTreeGridBodyData<T>,\n) => {\n if (useDataUrl) {\n return { Url: resolveTreeGridDataUrl(dataUrl) };\n }\n\n return { Data: { Body: [isEmpty(bodyData) ? [] : bodyData] } };\n};\n\n/**\n * TreeGrid 초기화 옵션 생성\n * @param input 초기화 입력값\n */\nexport const buildTreeGridInitializationOptions = <T,>({\n id,\n layoutUrl,\n dataUrl,\n bodyData,\n useDataUrl,\n width,\n height,\n languageId,\n}: TreeGridInitializationInput<T>) => {\n return {\n id,\n Layout: { Url: appendNoCacheQuery(layoutUrl ?? '') },\n Data: buildTreeGridDataSource(useDataUrl, dataUrl, bodyData),\n Text: {\n Url: getTreeGridTextResourceUrl(languageId),\n },\n width,\n height,\n Debug: 'Error',\n };\n};\n\nconst getTreeGridBodyData = (grid: TGrid | null) => {\n return get(grid, 'Data.Data.Data.Body.0');\n};\n\n/**\n * TreeGrid Body 데이터 건수\n * @param bodyData TreeGrid Body 데이터\n */\nexport const getTreeGridBodyDataCount = <T,>(bodyData: OwpTreeGridBodyData<T>) => {\n return Array.isArray(bodyData) ? bodyData.length : 0;\n};\n\nconst isVisibleTreeGridRow = (row: TRow | null | undefined) => {\n const visible = (row as { Visible?: unknown } | null)?.Visible;\n\n return !!row && visible !== 0 && visible !== false && visible !== '0';\n};\n\n/**\n * TreeGrid 추가 행 여부\n * @param row TreeGrid 행\n */\nconst isAddedTreeGridRow = (row: TRow | null | undefined) => {\n const added = (row as { Added?: unknown } | null)?.Added;\n\n return !!row && added !== 0 && added !== false && added !== '0' && added !== undefined;\n};\n\n/**\n * TreeGrid 본문 표시 행 여부\n * @param row TreeGrid 행\n */\nconst isDisplayTreeGridRow = (row: TRow | null | undefined) => {\n if (!row || row.Fixed === 'Foot' || !isVisibleTreeGridRow(row)) {\n return false;\n }\n\n return row.Kind === 'Data' || isAddedTreeGridRow(row);\n};\n\n/**\n * TreeGrid 셀 편집 가능 여부\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n */\nconst isEditableTreeGridCell = (grid: TGrid, row: TRow | null | undefined, col: string) => {\n if (!row || !col || !isDisplayTreeGridRow(row)) {\n return false;\n }\n\n return grid.CanEdit(row, col) === 1;\n};\n\n/**\n * TreeGrid 셀 명시 색상 여부\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n */\nconst hasExplicitTreeGridCellColor = (grid: TGrid, row: TRow, col: string) => {\n const color = grid.GetAttribute(row, col, 'Color');\n\n return color !== undefined && color !== null && color !== '';\n};\n\n/**\n * TreeGrid 입력 셀 기본 배경색 계산\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n */\nconst getEditableTreeGridCellDefaultColor = (\n grid: TGrid,\n row: TRow | null | undefined,\n col: string,\n) => {\n if (\n !row ||\n !isEditableTreeGridCell(grid, row, col) ||\n hasExplicitTreeGridCellColor(grid, row, col)\n ) {\n return undefined;\n }\n\n return TREE_GRID_INPUT_CELL_COLOR_VALUE;\n};\n\n/**\n * TreeGrid 표시 데이터 행 존재 여부\n * @param grid TreeGrid 인스턴스\n */\nexport const hasTreeGridDisplayDataRows = (grid: TGrid | null) => {\n if (!grid) {\n return false;\n }\n\n if (typeof grid.GetFirst === 'function' && typeof grid.GetNext === 'function') {\n let row = grid.GetFirst();\n\n while (row) {\n if (isDisplayTreeGridRow(row)) {\n return true;\n }\n\n row = grid.GetNext(row);\n }\n\n return false;\n }\n\n return Object.values(grid.Rows ?? {}).some((row) => {\n return isDisplayTreeGridRow(row);\n });\n};\n\n/**\n * TreeGrid Body 데이터 교체 후 재로드\n * @param grid TreeGrid 인스턴스\n * @param bodyData 새 Body 데이터\n * @param onReloadFinish 재로드 완료 콜백\n */\nexport const replaceTreeGridBodyData = <T,>(\n grid: TGrid,\n bodyData: OwpTreeGridBodyData<T>,\n onReloadFinish?: (code: number) => void,\n) => {\n // @ts-expect-error - TreeGrid Data.Data shape is not reflected in bundled types\n const currentDataConfig = grid.Data?.Data;\n\n // @ts-expect-error - TreeGrid Data.Data shape is not reflected in bundled types\n grid.Data.Data = {\n ...currentDataConfig,\n Data: { Body: [bodyData || []] },\n Url: '',\n };\n\n grid.ReloadBody(onReloadFinish);\n};\n\n/**\n * TreeGrid 이벤트 바인딩\n * @param options 이벤트 바인딩 옵션\n */\nexport const bindTreeGridEvents = <T,>({\n id,\n latestEventHandlersRef,\n highlightEditableCellsRef,\n highlightChangedCellsRef,\n treeGridInstanceRef,\n treeGridInitStartedAtRef,\n latestLayoutOverridesRef,\n appliedLayoutOverridesRef,\n appliedBodyDataPropRef,\n latestColumnEditRulesRef,\n latestColumnEditRuleLookupRef,\n appliedColumnEditRulesRef,\n columnEditRulesStateRef,\n hasAppliedInitialLayoutRef,\n syncHasDisplayDataRows,\n setIsTreeGridReady,\n}: TreeGridEventBindingOptions<T>) => {\n const initialEventHandlers = latestEventHandlersRef.current;\n\n window.TGSetEvent('OnRowAdd', id, (grid, row) => {\n row.CanEdit = 1;\n row.CanDelete = 1;\n\n latestEventHandlersRef.current?.onRowAdd?.(grid, row as OwpTreeGridRowModel<T>);\n });\n window.TGSetEvent('OnRowAdded', id, (grid) => {\n syncHasDisplayDataRows(grid);\n });\n\n if (typeof initialEventHandlers?.onRowClick === 'function') {\n window.TGSetEvent(\n 'OnClick',\n id,\n debounce((grid, row, col, x, y, event) => {\n latestEventHandlersRef.current?.onRowClick?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n col,\n x,\n y,\n event,\n );\n }, 300),\n );\n }\n\n if (typeof initialEventHandlers?.onClickButton === 'function') {\n window.TGSetEvent(\n 'OnClickButton',\n id,\n debounce((grid, row, col, event) => {\n latestEventHandlersRef.current?.onClickButton?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n col,\n event,\n );\n }, 300),\n );\n }\n\n if (typeof initialEventHandlers?.onRowDelete === 'function') {\n window.TGSetEvent('OnRowDelete', id, (grid, row, deleteType) => {\n syncHasDisplayDataRows(grid);\n latestEventHandlersRef.current?.onRowDelete?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n deleteType,\n );\n });\n } else {\n window.TGSetEvent('OnRowDelete', id, (grid) => {\n syncHasDisplayDataRows(grid);\n });\n }\n if (typeof initialEventHandlers?.onRowUndelete === 'function') {\n window.TGSetEvent('OnRowUndelete', id, (grid, row) => {\n syncHasDisplayDataRows(grid);\n latestEventHandlersRef.current?.onRowUndelete?.(grid, row as OwpTreeGridRowModel<T>);\n });\n } else {\n window.TGSetEvent('OnRowUndelete', id, (grid) => {\n syncHasDisplayDataRows(grid);\n });\n }\n window.TGSetEvent('OnGetDefaultColor', id, (grid, row, col) => {\n if (!highlightEditableCellsRef.current || !isDisplayTreeGridRow(row)) {\n return undefined;\n }\n\n return getEditableTreeGridCellDefaultColor(grid, row, col);\n });\n window.TGSetEvent('OnAfterValueChanged', id, (grid, row, col, value) => {\n const columnEditRuleLookup = latestColumnEditRuleLookupRef.current;\n const resolvedEditValue = columnEditRuleLookup\n ? resolveTreeGridColumnEditValue(columnEditRuleLookup, col, value)\n : undefined;\n const nextValue = resolvedEditValue?.value;\n const resolvedValue = nextValue ?? value;\n\n if (resolvedEditValue?.invalidText) {\n enqueueSnackbar(resolvedEditValue.invalidText, { variant: 'warning' });\n }\n\n if (nextValue !== undefined) {\n grid.SetValue(row, col, nextValue, 1);\n }\n\n if (highlightChangedCellsRef.current && isDisplayTreeGridRow(row)) {\n highlightTreeGridCellById(id, { row, col });\n }\n\n const valueChangedHandler =\n latestEventHandlersRef.current?.onAfterValueChanged ??\n latestEventHandlersRef.current?.onRowChange;\n\n valueChangedHandler?.(grid, row as OwpTreeGridRowModel<T>, col, resolvedValue);\n });\n if (typeof initialEventHandlers?.onSelect === 'function') {\n window.TGSetEvent(\n 'OnSelect',\n id,\n debounce((grid) => {\n const selectedRows = (grid.GetSelRows() ?? []) as OwpTreeGridSelectedRows<T>;\n latestEventHandlersRef.current?.onSelect?.(selectedRows);\n }, 100),\n );\n }\n if (typeof initialEventHandlers?.onSave === 'function') {\n window.TGSetEvent('OnSave', id, (grid, row, autoupdate) => {\n latestEventHandlersRef.current?.onSave?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n autoupdate,\n );\n });\n }\n\n window.TGSetEvent(\n 'OnReady',\n id,\n debounce((grid) => {\n if (!hasAppliedInitialLayoutRef.current) {\n const latestLayoutOverrides = latestLayoutOverridesRef.current;\n\n hasAppliedInitialLayoutRef.current = true;\n applyTreeGridLayoutToGrid(grid, latestLayoutOverrides);\n resetTreeGridColumnEditRulesState(columnEditRulesStateRef.current);\n syncTreeGridColumnEditRules(\n grid,\n latestColumnEditRuleLookupRef.current,\n columnEditRulesStateRef.current,\n );\n treeGridInstanceRef.current = grid;\n appliedLayoutOverridesRef.current = latestLayoutOverrides;\n appliedBodyDataPropRef.current = getTreeGridBodyData(grid) as OwpTreeGridBodyData<T>;\n appliedColumnEditRulesRef.current = latestColumnEditRulesRef.current;\n syncHasDisplayDataRows(grid);\n setIsTreeGridReady(true);\n measureTreeGridPerf(id, 'TreeGrid init ready', treeGridInitStartedAtRef.current, {\n bodyRowCount: getTreeGridBodyDataCount(\n getTreeGridBodyData(grid) as OwpTreeGridBodyData<T>,\n ),\n });\n treeGridInitStartedAtRef.current = null;\n latestEventHandlersRef.current?.onReady?.(grid);\n }\n }, 100),\n );\n};\n"],"names":["TREE_GRID_INPUT_CELL_COLOR_VALUE","TREEGRID_INPUT_CELL_COLOR","TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS","appendNoCacheQuery","__name","url","resolveTreeGridDataUrl","dataUrl","buildTreeGridDataSource","useDataUrl","bodyData","isEmpty","buildTreeGridInitializationOptions","id","layoutUrl","width","height","languageId","getTreeGridTextResourceUrl","getTreeGridBodyData","grid","get","getTreeGridBodyDataCount","isVisibleTreeGridRow","row","visible","isAddedTreeGridRow","added","isDisplayTreeGridRow","isEditableTreeGridCell","col","hasExplicitTreeGridCellColor","color","getEditableTreeGridCellDefaultColor","hasTreeGridDisplayDataRows","replaceTreeGridBodyData","onReloadFinish","currentDataConfig","_a","bindTreeGridEvents","latestEventHandlersRef","highlightEditableCellsRef","highlightChangedCellsRef","treeGridInstanceRef","treeGridInitStartedAtRef","latestLayoutOverridesRef","appliedLayoutOverridesRef","appliedBodyDataPropRef","latestColumnEditRulesRef","latestColumnEditRuleLookupRef","appliedColumnEditRulesRef","columnEditRulesStateRef","hasAppliedInitialLayoutRef","syncHasDisplayDataRows","setIsTreeGridReady","initialEventHandlers","_b","debounce","x","y","event","deleteType","value","columnEditRuleLookup","resolvedEditValue","resolveTreeGridColumnEditValue","nextValue","resolvedValue","enqueueSnackbar","highlightTreeGridCellById","valueChangedHandler","selectedRows","autoupdate","latestLayoutOverrides","applyTreeGridLayoutToGrid","resetTreeGridColumnEditRulesState","syncTreeGridColumnEditRules","measureTreeGridPerf"],"mappings":";;;;;;;;;;;AA6BA,MAAMA,IAAmC,OAAO;AAAA,EAC9CC,EAA0B,QAAQ,KAAK,EAAE;AAAA,EACzC;AACF,GAEaC,KAA2C,KA6ClDC,IAAqB,gBAAAC,EAAA,CAACC,MACnB,GAAGA,CAAG,YAAY,KAAK,KAAK,IADV,uBAIrBC,IAAyB,gBAAAF,EAAA,CAACG,MACvBA,KAAA,QAAAA,EAAS,SAAS,YACrBJ,EAAmBI,CAAO;AAAA;AAAA,EAE1B,aAAwCA,CAAO,YAAY,KAAK,KAAK;AAAA,GAJ5C,2BAOzBC,IAA0B,gBAAAJ,EAAA,CAC9BK,GACAF,GACAG,MAEID,IACK,EAAE,KAAKH,EAAuBC,CAAO,EAAA,IAGvC,EAAE,MAAM,EAAE,MAAM,CAACI,EAAQD,CAAQ,IAAI,CAAA,IAAKA,CAAQ,IAAE,GAT7B,4BAgBnBE,KAAqC,gBAAAR,EAAA,CAAK;AAAA,EACrD,IAAAS;AAAA,EACA,WAAAC;AAAA,EACA,SAAAP;AAAA,EACA,UAAAG;AAAA,EACA,YAAAD;AAAA,EACA,OAAAM;AAAA,EACA,QAAAC;AAAA,EACA,YAAAC;AACF,OACS;AAAA,EACL,IAAAJ;AAAA,EACA,QAAQ,EAAE,KAAKV,EAAmBW,KAAa,EAAE,EAAA;AAAA,EACjD,MAAMN,EAAwBC,GAAYF,GAASG,CAAQ;AAAA,EAC3D,MAAM;AAAA,IACJ,KAAKQ,EAA2BD,CAAU;AAAA,EAAA;AAAA,EAE5C,OAAAF;AAAA,EACA,QAAAC;AAAA,EACA,OAAO;AAAA,IAnBuC,uCAuB5CG,IAAsB,gBAAAf,EAAA,CAACgB,MACpBC,EAAID,GAAM,uBAAuB,GADd,wBAQfE,IAA2B,gBAAAlB,EAAA,CAAKM,MACpC,MAAM,QAAQA,CAAQ,IAAIA,EAAS,SAAS,GADb,6BAIlCa,IAAuB,gBAAAnB,EAAA,CAACoB,MAAiC;AAC7D,QAAMC,IAAWD,KAAA,gBAAAA,EAAsC;AAEvD,SAAO,CAAC,CAACA,KAAOC,MAAY,KAAKA,MAAY,MAASA,MAAY;AACpE,GAJ6B,yBAUvBC,IAAqB,gBAAAtB,EAAA,CAACoB,MAAiC;AAC3D,QAAMG,IAASH,KAAA,gBAAAA,EAAoC;AAEnD,SAAO,CAAC,CAACA,KAAOG,MAAU,KAAKA,MAAU,MAASA,MAAU,OAAOA,MAAU;AAC/E,GAJ2B,uBAUrBC,IAAuB,gBAAAxB,EAAA,CAACoB,MACxB,CAACA,KAAOA,EAAI,UAAU,UAAU,CAACD,EAAqBC,CAAG,IACpD,KAGFA,EAAI,SAAS,UAAUE,EAAmBF,CAAG,GALzB,yBAcvBK,IAAyB,gBAAAzB,EAAA,CAACgB,GAAaI,GAA8BM,MACrE,CAACN,KAAO,CAACM,KAAO,CAACF,EAAqBJ,CAAG,IACpC,KAGFJ,EAAK,QAAQI,GAAKM,CAAG,MAAM,GALL,2BAczBC,IAA+B,gBAAA3B,EAAA,CAACgB,GAAaI,GAAWM,MAAgB;AAC5E,QAAME,IAAQZ,EAAK,aAAaI,GAAKM,GAAK,OAAO;AAEjD,SAA8BE,KAAU,QAAQA,MAAU;AAC5D,GAJqC,iCAY/BC,IAAsC,gBAAA7B,EAAA,CAC1CgB,GACAI,GACAM,MACG;AACH,MACE,GAACN,KACD,CAACK,EAAuBT,GAAMI,GAAKM,CAAG,KACtCC,EAA6BX,GAAMI,GAAKM,CAAG;AAK7C,WAAO9B;AACT,GAd4C,wCAoB/BkC,KAA6B,gBAAA9B,EAAA,CAACgB,MAAuB;AAChE,MAAI,CAACA;AACH,WAAO;AAGT,MAAI,OAAOA,EAAK,YAAa,cAAc,OAAOA,EAAK,WAAY,YAAY;AAC7E,QAAII,IAAMJ,EAAK,SAAA;AAEf,WAAOI,KAAK;AACV,UAAII,EAAqBJ,CAAG;AAC1B,eAAO;AAGT,MAAAA,IAAMJ,EAAK,QAAQI,CAAG;AAAA,IACxB;AAEA,WAAO;AAAA,EACT;AAEA,SAAO,OAAO,OAAOJ,EAAK,QAAQ,CAAA,CAAE,EAAE,KAAK,CAACI,MACnCI,EAAqBJ,CAAG,CAChC;AACH,GAtB0C,+BA8B7BW,KAA0B,gBAAA/B,EAAA,CACrCgB,GACAV,GACA0B,MACG;;AAEH,QAAMC,KAAoBC,IAAAlB,EAAK,SAAL,gBAAAkB,EAAW;AAGrC,EAAAlB,EAAK,KAAK,OAAO;AAAA,IACf,GAAGiB;AAAA,IACH,MAAM,EAAE,MAAM,CAAC3B,KAAY,CAAA,CAAE,EAAA;AAAA,IAC7B,KAAK;AAAA,EAAA,GAGPU,EAAK,WAAWgB,CAAc;AAChC,GAhBuC,4BAsB1BG,KAAqB,gBAAAnC,EAAA,CAAK;AAAA,EACrC,IAAAS;AAAA,EACA,wBAAA2B;AAAA,EACA,2BAAAC;AAAA,EACA,0BAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,0BAAAC;AAAA,EACA,0BAAAC;AAAA,EACA,2BAAAC;AAAA,EACA,wBAAAC;AAAA,EACA,0BAAAC;AAAA,EACA,+BAAAC;AAAA,EACA,2BAAAC;AAAA,EACA,yBAAAC;AAAA,EACA,4BAAAC;AAAA,EACA,wBAAAC;AAAA,EACA,oBAAAC;AACF,MAAsC;AACpC,QAAMC,IAAuBf,EAAuB;AAEpD,SAAO,WAAW,YAAY3B,GAAI,CAACO,GAAMI,MAAQ;;AAC/C,IAAAA,EAAI,UAAU,GACdA,EAAI,YAAY,IAEhBgC,KAAAlB,IAAAE,EAAuB,YAAvB,gBAAAF,EAAgC,aAAhC,QAAAkB,EAAA,KAAAlB,GAA2ClB,GAAMI;AAAA,EACnD,CAAC,GACD,OAAO,WAAW,cAAcX,GAAI,CAACO,MAAS;AAC5C,IAAAiC,EAAuBjC,CAAI;AAAA,EAC7B,CAAC,GAEG,QAAOmC,KAAA,gBAAAA,EAAsB,eAAe,cAC9C,OAAO;AAAA,IACL;AAAA,IACA1C;AAAA,IACA4C,EAAS,CAACrC,GAAMI,GAAKM,GAAK4B,GAAGC,GAAGC,MAAU;;AACxC,OAAAJ,KAAAlB,IAAAE,EAAuB,YAAvB,gBAAAF,EAAgC,eAAhC,QAAAkB,EAAA;AAAA,QAAAlB;AAAA,QACElB;AAAA,QACAI;AAAA,QACAM;AAAA,QACA4B;AAAA,QACAC;AAAA,QACAC;AAAA;AAAA,IAEJ,GAAG,GAAG;AAAA,EAAA,GAIN,QAAOL,KAAA,gBAAAA,EAAsB,kBAAkB,cACjD,OAAO;AAAA,IACL;AAAA,IACA1C;AAAA,IACA4C,EAAS,CAACrC,GAAMI,GAAKM,GAAK8B,MAAU;;AAClC,OAAAJ,KAAAlB,IAAAE,EAAuB,YAAvB,gBAAAF,EAAgC,kBAAhC,QAAAkB,EAAA;AAAA,QAAAlB;AAAA,QACElB;AAAA,QACAI;AAAA,QACAM;AAAA,QACA8B;AAAA;AAAA,IAEJ,GAAG,GAAG;AAAA,EAAA,GAIN,QAAOL,KAAA,gBAAAA,EAAsB,gBAAgB,aAC/C,OAAO,WAAW,eAAe1C,GAAI,CAACO,GAAMI,GAAKqC,MAAe;;AAC9D,IAAAR,EAAuBjC,CAAI,IAC3BoC,KAAAlB,IAAAE,EAAuB,YAAvB,gBAAAF,EAAgC,gBAAhC,QAAAkB,EAAA;AAAA,MAAAlB;AAAA,MACElB;AAAA,MACAI;AAAA,MACAqC;AAAA;AAAA,EAEJ,CAAC,IAED,OAAO,WAAW,eAAehD,GAAI,CAACO,MAAS;AAC7C,IAAAiC,EAAuBjC,CAAI;AAAA,EAC7B,CAAC,GAEC,QAAOmC,KAAA,gBAAAA,EAAsB,kBAAkB,aACjD,OAAO,WAAW,iBAAiB1C,GAAI,CAACO,GAAMI,MAAQ;;AACpD,IAAA6B,EAAuBjC,CAAI,IAC3BoC,KAAAlB,IAAAE,EAAuB,YAAvB,gBAAAF,EAAgC,kBAAhC,QAAAkB,EAAA,KAAAlB,GAAgDlB,GAAMI;AAAA,EACxD,CAAC,IAED,OAAO,WAAW,iBAAiBX,GAAI,CAACO,MAAS;AAC/C,IAAAiC,EAAuBjC,CAAI;AAAA,EAC7B,CAAC,GAEH,OAAO,WAAW,qBAAqBP,GAAI,CAACO,GAAMI,GAAKM,MAAQ;AAC7D,QAAI,GAACW,EAA0B,WAAW,CAACb,EAAqBJ,CAAG;AAInE,aAAOS,EAAoCb,GAAMI,GAAKM,CAAG;AAAA,EAC3D,CAAC,GACD,OAAO,WAAW,uBAAuBjB,GAAI,CAACO,GAAMI,GAAKM,GAAKgC,MAAU;;AACtE,UAAMC,IAAuBd,EAA8B,SACrDe,IAAoBD,IACtBE,EAA+BF,GAAsBjC,GAAKgC,CAAK,IAC/D,QACEI,IAAYF,KAAA,gBAAAA,EAAmB,OAC/BG,IAAgBD,KAAaJ;AAEnC,IAAIE,KAAA,QAAAA,EAAmB,eACrBI,EAAgBJ,EAAkB,aAAa,EAAE,SAAS,WAAW,GAGnEE,MAAc,UAChB9C,EAAK,SAASI,GAAKM,GAAKoC,GAAW,CAAC,GAGlCxB,EAAyB,WAAWd,EAAqBJ,CAAG,KAC9D6C,EAA0BxD,GAAI,EAAE,KAAAW,GAAK,KAAAM,EAAA,CAAK;AAG5C,UAAMwC,MACJhC,IAAAE,EAAuB,YAAvB,gBAAAF,EAAgC,0BAChCkB,IAAAhB,EAAuB,YAAvB,gBAAAgB,EAAgC;AAElC,IAAAc,KAAA,QAAAA,EAAsBlD,GAAMI,GAA+BM,GAAKqC;AAAA,EAClE,CAAC,GACG,QAAOZ,KAAA,gBAAAA,EAAsB,aAAa,cAC5C,OAAO;AAAA,IACL;AAAA,IACA1C;AAAA,IACA4C,EAAS,CAACrC,MAAS;;AACjB,YAAMmD,IAAgBnD,EAAK,WAAA,KAAgB,CAAA;AAC3C,OAAAoC,KAAAlB,IAAAE,EAAuB,YAAvB,gBAAAF,EAAgC,aAAhC,QAAAkB,EAAA,KAAAlB,GAA2CiC;AAAA,IAC7C,GAAG,GAAG;AAAA,EAAA,GAGN,QAAOhB,KAAA,gBAAAA,EAAsB,WAAW,cAC1C,OAAO,WAAW,UAAU1C,GAAI,CAACO,GAAMI,GAAKgD,MAAe;;AACzD,KAAAhB,KAAAlB,IAAAE,EAAuB,YAAvB,gBAAAF,EAAgC,WAAhC,QAAAkB,EAAA;AAAA,MAAAlB;AAAA,MACElB;AAAA,MACAI;AAAA,MACAgD;AAAA;AAAA,EAEJ,CAAC,GAGH,OAAO;AAAA,IACL;AAAA,IACA3D;AAAA,IACA4C,EAAS,CAACrC,MAAS;;AACjB,UAAI,CAACgC,EAA2B,SAAS;AACvC,cAAMqB,IAAwB5B,EAAyB;AAEvD,QAAAO,EAA2B,UAAU,IACrCsB,EAA0BtD,GAAMqD,CAAqB,GACrDE,EAAkCxB,EAAwB,OAAO,GACjEyB;AAAA,UACExD;AAAA,UACA6B,EAA8B;AAAA,UAC9BE,EAAwB;AAAA,QAAA,GAE1BR,EAAoB,UAAUvB,GAC9B0B,EAA0B,UAAU2B,GACpC1B,EAAuB,UAAU5B,EAAoBC,CAAI,GACzD8B,EAA0B,UAAUF,EAAyB,SAC7DK,EAAuBjC,CAAI,GAC3BkC,EAAmB,EAAI,GACvBuB,EAAoBhE,GAAI,uBAAuB+B,EAAyB,SAAS;AAAA,UAC/E,cAActB;AAAA,YACZH,EAAoBC,CAAI;AAAA,UAAA;AAAA,QAC1B,CACD,GACDwB,EAAyB,UAAU,OACnCY,KAAAlB,IAAAE,EAAuB,YAAvB,gBAAAF,EAAgC,YAAhC,QAAAkB,EAAA,KAAAlB,GAA0ClB;AAAA,MAC5C;AAAA,IACF,GAAG,GAAG;AAAA,EAAA;AAEV,GA1KkC;"}
|
|
@@ -1,8 +1,39 @@
|
|
|
1
|
-
|
|
1
|
+
var T = Object.defineProperty;
|
|
2
|
+
var r = (t, e) => T(t, "name", { value: e, configurable: !0 });
|
|
3
|
+
const E = "/assets/vendors/Grid", c = "__OWP_TREE_GRID_ASSET_BASE_PATH__", a = "Styles/Roboto-Light.ttf";
|
|
4
|
+
let o, s;
|
|
5
|
+
const A = "#f44336", d = "#ffd6a8", L = "text-white text-xl font-semibold", f = "#ff8904", n = "RobotoLight", I = `${n}, sans-serif`, R = /* @__PURE__ */ r((t) => {
|
|
6
|
+
const e = t.trim();
|
|
7
|
+
return (e.startsWith("/") ? e : `/${e}`).replace(/\/+$/, "");
|
|
8
|
+
}, "normalizeTreeGridAssetBasePath"), i = /* @__PURE__ */ r(() => {
|
|
9
|
+
const t = typeof window > "u" ? void 0 : window, e = t == null ? void 0 : t[c];
|
|
10
|
+
return R(
|
|
11
|
+
e || E
|
|
12
|
+
);
|
|
13
|
+
}, "getTreeGridAssetBasePath"), _ = /* @__PURE__ */ r((t) => {
|
|
14
|
+
const e = t.replace(/^\/+/, "");
|
|
15
|
+
return `${i()}/${e}`;
|
|
16
|
+
}, "resolveTreeGridAssetUrl"), S = /* @__PURE__ */ r((t) => _(t === "kr" ? "TextKR.xml" : "TextEN.xml"), "getTreeGridTextResourceUrl"), h = /* @__PURE__ */ r(() => {
|
|
17
|
+
const t = _(a);
|
|
18
|
+
return o && s === t || (s = t, o = {
|
|
19
|
+
"@font-face": {
|
|
20
|
+
fontFamily: n,
|
|
21
|
+
fontStyle: "normal",
|
|
22
|
+
fontWeight: "normal",
|
|
23
|
+
src: `url('${t}') format('truetype')`
|
|
24
|
+
}
|
|
25
|
+
}), o;
|
|
26
|
+
}, "getTreeGridFontFaceStyles");
|
|
2
27
|
export {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
28
|
+
L as TREEGRID_CELL_HIGHLIGHT_CLASS,
|
|
29
|
+
f as TREEGRID_CELL_HIGHLIGHT_COLOR,
|
|
30
|
+
n as TREEGRID_FONT_FAMILY,
|
|
31
|
+
I as TREEGRID_FONT_FAMILY_STACK,
|
|
32
|
+
d as TREEGRID_INPUT_CELL_COLOR,
|
|
33
|
+
A as TREEGRID_WARNING_CELL_COLOR,
|
|
34
|
+
i as getTreeGridAssetBasePath,
|
|
35
|
+
h as getTreeGridFontFaceStyles,
|
|
36
|
+
S as getTreeGridTextResourceUrl,
|
|
37
|
+
_ as resolveTreeGridAssetUrl
|
|
7
38
|
};
|
|
8
39
|
//# sourceMappingURL=treeGrid.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"treeGrid.js","sources":["../../src/constants/treeGrid.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"treeGrid.js","sources":["../../src/constants/treeGrid.ts"],"sourcesContent":["const TREEGRID_DEFAULT_ASSET_BASE_PATH = '/assets/vendors/Grid';\nconst TREEGRID_ASSET_BASE_PATH_GLOBAL_KEY = '__OWP_TREE_GRID_ASSET_BASE_PATH__';\nconst TREEGRID_FONT_PATH = 'Styles/Roboto-Light.ttf';\nlet cachedTreeGridFontFaceStyles: { '@font-face': Record<string, string> } | undefined;\nlet cachedTreeGridFontUrl: string | undefined;\n\nexport const TREEGRID_WARNING_CELL_COLOR = '#f44336';\nexport const TREEGRID_INPUT_CELL_COLOR = '#ffd6a8';\n\nexport const TREEGRID_CELL_HIGHLIGHT_CLASS = 'text-white text-xl font-semibold';\nexport const TREEGRID_CELL_HIGHLIGHT_COLOR = '#ff8904';\nexport const TREEGRID_FONT_FAMILY = 'RobotoLight';\nexport const TREEGRID_FONT_FAMILY_STACK = `${TREEGRID_FONT_FAMILY}, sans-serif`;\n\n/** TreeGrid 자산 base path 정규화 */\nconst normalizeTreeGridAssetBasePath = (assetBasePath: string) => {\n const trimmedPath = assetBasePath.trim();\n const normalizedPath = trimmedPath.startsWith('/') ? trimmedPath : `/${trimmedPath}`;\n\n return normalizedPath.replace(/\\/+$/, '');\n};\n\n/** TreeGrid 자산 base path 조회 */\nexport const getTreeGridAssetBasePath = () => {\n const runtimeWindow =\n typeof window === 'undefined'\n ? undefined\n : (window as Window & {\n [TREEGRID_ASSET_BASE_PATH_GLOBAL_KEY]?: string;\n });\n const runtimeAssetBasePath = runtimeWindow?.[TREEGRID_ASSET_BASE_PATH_GLOBAL_KEY];\n\n return normalizeTreeGridAssetBasePath(\n runtimeAssetBasePath || TREEGRID_DEFAULT_ASSET_BASE_PATH,\n );\n};\n\n/** TreeGrid 자산 URL 생성 */\nexport const resolveTreeGridAssetUrl = (assetPath: string) => {\n const normalizedAssetPath = assetPath.replace(/^\\/+/, '');\n\n return `${getTreeGridAssetBasePath()}/${normalizedAssetPath}`;\n};\n\n/** TreeGrid 다국어 리소스 URL 조회 */\nexport const getTreeGridTextResourceUrl = (languageId: string) => {\n return resolveTreeGridAssetUrl(languageId === 'kr' ? 'TextKR.xml' : 'TextEN.xml');\n};\n\n/** TreeGrid 폰트 face 스타일 조회 */\nexport const getTreeGridFontFaceStyles = () => {\n const fontUrl = resolveTreeGridAssetUrl(TREEGRID_FONT_PATH);\n\n if (cachedTreeGridFontFaceStyles && cachedTreeGridFontUrl === fontUrl) {\n return cachedTreeGridFontFaceStyles;\n }\n\n cachedTreeGridFontUrl = fontUrl;\n cachedTreeGridFontFaceStyles = {\n '@font-face': {\n fontFamily: TREEGRID_FONT_FAMILY,\n fontStyle: 'normal',\n fontWeight: 'normal',\n src: `url('${fontUrl}') format('truetype')`,\n },\n };\n\n return cachedTreeGridFontFaceStyles;\n};\n"],"names":["TREEGRID_DEFAULT_ASSET_BASE_PATH","TREEGRID_ASSET_BASE_PATH_GLOBAL_KEY","TREEGRID_FONT_PATH","cachedTreeGridFontFaceStyles","cachedTreeGridFontUrl","TREEGRID_WARNING_CELL_COLOR","TREEGRID_INPUT_CELL_COLOR","TREEGRID_CELL_HIGHLIGHT_CLASS","TREEGRID_CELL_HIGHLIGHT_COLOR","TREEGRID_FONT_FAMILY","TREEGRID_FONT_FAMILY_STACK","normalizeTreeGridAssetBasePath","__name","assetBasePath","trimmedPath","getTreeGridAssetBasePath","runtimeWindow","runtimeAssetBasePath","resolveTreeGridAssetUrl","assetPath","normalizedAssetPath","getTreeGridTextResourceUrl","languageId","getTreeGridFontFaceStyles","fontUrl"],"mappings":";;AAAA,MAAMA,IAAmC,wBACnCC,IAAsC,qCACtCC,IAAqB;AAC3B,IAAIC,GACAC;AAEG,MAAMC,IAA8B,WAC9BC,IAA4B,WAE5BC,IAAgC,oCAChCC,IAAgC,WAChCC,IAAuB,eACvBC,IAA6B,GAAGD,CAAoB,gBAG3DE,IAAiC,gBAAAC,EAAA,CAACC,MAA0B;AAChE,QAAMC,IAAcD,EAAc,KAAA;AAGlC,UAFuBC,EAAY,WAAW,GAAG,IAAIA,IAAc,IAAIA,CAAW,IAE5D,QAAQ,QAAQ,EAAE;AAC1C,GALuC,mCAQ1BC,IAA2B,gBAAAH,EAAA,MAAM;AAC5C,QAAMI,IACJ,OAAO,SAAW,MACd,SACC,QAGDC,IAAuBD,KAAA,gBAAAA,EAAgBf;AAE7C,SAAOU;AAAA,IACLM,KAAwBjB;AAAA,EAAA;AAE5B,GAZwC,6BAe3BkB,IAA0B,gBAAAN,EAAA,CAACO,MAAsB;AAC5D,QAAMC,IAAsBD,EAAU,QAAQ,QAAQ,EAAE;AAExD,SAAO,GAAGJ,EAAA,CAA0B,IAAIK,CAAmB;AAC7D,GAJuC,4BAO1BC,IAA6B,gBAAAT,EAAA,CAACU,MAClCJ,EAAwBI,MAAe,OAAO,eAAe,YAAY,GADxC,+BAK7BC,IAA4B,gBAAAX,EAAA,MAAM;AAC7C,QAAMY,IAAUN,EAAwBhB,CAAkB;AAE1D,SAAIC,KAAgCC,MAA0BoB,MAI9DpB,IAAwBoB,GACxBrB,IAA+B;AAAA,IAC7B,cAAc;AAAA,MACZ,YAAYM;AAAA,MACZ,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,KAAK,QAAQe,CAAO;AAAA,IAAA;AAAA,EACtB,IAGKrB;AACT,GAlByC;"}
|
package/dist/constants.js
CHANGED
|
@@ -1,23 +1,29 @@
|
|
|
1
|
-
import { DEFAULT_CELL_ALIGNMENT as
|
|
2
|
-
import { FALLBACK_LANGUAGE_LIST as
|
|
3
|
-
import { CURRENT_LANGUAGE as
|
|
4
|
-
import { STORAGE_KEYS as
|
|
5
|
-
import { TREEGRID_CELL_HIGHLIGHT_CLASS as
|
|
1
|
+
import { DEFAULT_CELL_ALIGNMENT as L, DEFAULT_HEADER_FILL as T, DEFAULT_HEADER_FONT as A, DEFAULT_THIN_BORDER as R, DEFAULT_VALUE_FONT as e, DEFAULT_WRAP_CELL_ALIGNMENT as G } from "./constants/excel.js";
|
|
2
|
+
import { FALLBACK_LANGUAGE_LIST as I } from "./constants/language.js";
|
|
3
|
+
import { CURRENT_LANGUAGE as F, LOCAL_STORAGE_KEYS as N, STORAGE_ACCESS_TOKEN_KEY as O } from "./constants/localStorageKeys.js";
|
|
4
|
+
import { STORAGE_KEYS as t } from "./constants/storageKeys.js";
|
|
5
|
+
import { TREEGRID_CELL_HIGHLIGHT_CLASS as U, TREEGRID_CELL_HIGHLIGHT_COLOR as S, TREEGRID_FONT_FAMILY as H, TREEGRID_FONT_FAMILY_STACK as s, TREEGRID_INPUT_CELL_COLOR as x, TREEGRID_WARNING_CELL_COLOR as K, getTreeGridAssetBasePath as f, getTreeGridFontFaceStyles as m, getTreeGridTextResourceUrl as p, resolveTreeGridAssetUrl as Y } from "./constants/treeGrid.js";
|
|
6
6
|
export {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
F as CURRENT_LANGUAGE,
|
|
8
|
+
L as DEFAULT_CELL_ALIGNMENT,
|
|
9
|
+
T as DEFAULT_HEADER_FILL,
|
|
10
|
+
A as DEFAULT_HEADER_FONT,
|
|
11
11
|
R as DEFAULT_THIN_BORDER,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
12
|
+
e as DEFAULT_VALUE_FONT,
|
|
13
|
+
G as DEFAULT_WRAP_CELL_ALIGNMENT,
|
|
14
|
+
I as FALLBACK_LANGUAGE_LIST,
|
|
15
|
+
N as LOCAL_STORAGE_KEYS,
|
|
16
|
+
O as STORAGE_ACCESS_TOKEN_KEY,
|
|
17
|
+
t as STORAGE_KEYS,
|
|
18
|
+
U as TREEGRID_CELL_HIGHLIGHT_CLASS,
|
|
19
|
+
S as TREEGRID_CELL_HIGHLIGHT_COLOR,
|
|
20
|
+
H as TREEGRID_FONT_FAMILY,
|
|
21
|
+
s as TREEGRID_FONT_FAMILY_STACK,
|
|
22
|
+
x as TREEGRID_INPUT_CELL_COLOR,
|
|
23
|
+
K as TREEGRID_WARNING_CELL_COLOR,
|
|
24
|
+
f as getTreeGridAssetBasePath,
|
|
25
|
+
m as getTreeGridFontFaceStyles,
|
|
26
|
+
p as getTreeGridTextResourceUrl,
|
|
27
|
+
Y as resolveTreeGridAssetUrl
|
|
22
28
|
};
|
|
23
29
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OwpAppProvider.js","sources":["../../src/contexts/OwpAppProvider.tsx"],"sourcesContent":["import type { OwpSettingsConfigType, OwpThemesType } from '@/types/OwpSettingsTypes';\nimport type { OwpNavItemType } from '@/types/OwpNavigationTypes';\nimport { useStorage } from '@/hooks/useStorage';\nimport type { OwpLoadingProps } from '@/components/OwpLoading/OwpLoading';\nimport {\n CSSProperties,\n ComponentType,\n createContext,\n ReactNode,\n useContext,\n useLayoutEffect,\n useRef,\n} from 'react';\nimport { PartialDeep } from 'type-fest';\n\n/**\n * Logo slot props\n */\nexport interface OwpLogoSlotProps {\n className?: string;\n style?: CSSProperties;\n}\n\nexport type OwpPageSkeletonItemType =\n | 'search-header'\n | 'table'\n | 'grid'\n | 'card'\n | 'chart'\n | 'stat';\n\nexport interface OwpPageSkeletonItem {\n type: OwpPageSkeletonItemType;\n colSpan?: number;\n rowSpan?: number;\n colStart?: number;\n rowStart?: number;\n}\n\nexport interface OwpPageSkeletonSpec {\n columns?: number;\n rowHeight?: number;\n fullscreen?: boolean;\n fillContentHeight?: boolean;\n items: OwpPageSkeletonItem[];\n}\n\nexport interface OwpRouteLoadingSlotProps extends OwpLoadingProps {\n pathname: string;\n isFirstRouteLoading: boolean;\n}\n\nexport interface OwpRouteLoadingConfig extends OwpLoadingProps {\n getSkeletonSpec?: (pathname: string) => OwpPageSkeletonSpec | undefined;\n /** Click-to-release test toggle. Default false */\n releaseOnClick?: boolean;\n}\n\nexport interface OwpAppConfigs {\n routesConfig: any;\n settingsConfig?: PartialDeep<OwpSettingsConfigType>;\n themesConfig?: PartialDeep<OwpThemesType>;\n navigationConfig: OwpNavItemType[];\n}\n\n/**\n * App slots\n */\nexport interface OwpAppSlots {\n logo?: ComponentType<OwpLogoSlotProps>;\n routeLoading?: ComponentType<OwpRouteLoadingSlotProps>;\n}\n\nexport interface OwpAppSlotProps {\n logo?: OwpLogoSlotProps;\n routeLoading?: Omit<\n Partial<OwpRouteLoadingSlotProps>,\n 'pathname' | 'isFirstRouteLoading'\n > &\n OwpRouteLoadingConfig;\n}\n\nexport interface OwpAppEnv {\n apiBaseUrl?: string;\n isAccessTokenGuardEnabled?: boolean;\n isAutoLogoutEnabled?: boolean;\n autoLogoutIdleTimeoutMs?: number;\n isBackendNavigationEnabled?: boolean;\n isErrorMessageEnabled?: boolean;\n isI18nEnabled?: boolean;\n isI18nLanguageSwitcherEnabled?: boolean;\n isPasswordChangeEnabled?: boolean;\n isRequestLogPayloadEnabled?: boolean;\n [key: string]: unknown;\n}\n\nexport interface OwpAppContextValue extends OwpAppConfigs {\n env?: OwpAppEnv;\n slots?: OwpAppSlots;\n slotProps?: OwpAppSlotProps;\n}\n\nexport const OwpAppContext = createContext<OwpAppContextValue | undefined>(undefined);\n\nexport interface OwpAppProviderProps {\n configs: OwpAppConfigs;\n slots?: OwpAppSlots;\n slotProps?: OwpAppSlotProps;\n children?: ReactNode;\n env?: OwpAppEnv;\n}\n\nexport const OwpAppProvider = ({\n configs,\n slots,\n slotProps,\n children,\n env,\n}: OwpAppProviderProps) => {\n const value = useRef<OwpAppContextValue>({ ...configs, env, slots, slotProps });\n const { setEnv } = useStorage();\n\n useLayoutEffect(() => {\n setEnv(env ?? {});\n }, [env, setEnv]);\n\n return <OwpAppContext.Provider value={value.current}>{children}</OwpAppContext.Provider>;\n};\n\nexport const useOwpAppContext = () => {\n const context = useContext(OwpAppContext);\n\n if (context === undefined) {\n throw new Error('useOwpAppContext must be used within a OwpAppProvider');\n }\n\n return context;\n};\n"],"names":["OwpAppContext","createContext","OwpAppProvider","__name","configs","slots","slotProps","children","env","value","useRef","setEnv","useStorage","useLayoutEffect","useOwpAppContext","context","useContext"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"OwpAppProvider.js","sources":["../../src/contexts/OwpAppProvider.tsx"],"sourcesContent":["import type { OwpSettingsConfigType, OwpThemesType } from '@/types/OwpSettingsTypes';\nimport type { OwpNavItemType } from '@/types/OwpNavigationTypes';\nimport { useStorage } from '@/hooks/useStorage';\nimport type { OwpLoadingProps } from '@/components/OwpLoading/OwpLoading';\nimport {\n CSSProperties,\n ComponentType,\n createContext,\n ReactNode,\n useContext,\n useLayoutEffect,\n useRef,\n} from 'react';\nimport { PartialDeep } from 'type-fest';\n\n/**\n * Logo slot props\n */\nexport interface OwpLogoSlotProps {\n className?: string;\n style?: CSSProperties;\n}\n\nexport type OwpPageSkeletonItemType =\n | 'search-header'\n | 'table'\n | 'grid'\n | 'card'\n | 'chart'\n | 'stat';\n\nexport interface OwpPageSkeletonItem {\n type: OwpPageSkeletonItemType;\n colSpan?: number;\n rowSpan?: number;\n colStart?: number;\n rowStart?: number;\n}\n\nexport interface OwpPageSkeletonSpec {\n columns?: number;\n rowHeight?: number;\n fullscreen?: boolean;\n fillContentHeight?: boolean;\n items: OwpPageSkeletonItem[];\n}\n\nexport interface OwpRouteLoadingSlotProps extends OwpLoadingProps {\n pathname: string;\n isFirstRouteLoading: boolean;\n}\n\nexport interface OwpRouteLoadingConfig extends OwpLoadingProps {\n getSkeletonSpec?: (pathname: string) => OwpPageSkeletonSpec | undefined;\n /** Click-to-release test toggle. Default false */\n releaseOnClick?: boolean;\n}\n\nexport interface OwpAppConfigs {\n routesConfig: any;\n settingsConfig?: PartialDeep<OwpSettingsConfigType>;\n themesConfig?: PartialDeep<OwpThemesType>;\n navigationConfig: OwpNavItemType[];\n}\n\n/**\n * App slots\n */\nexport interface OwpAppSlots {\n logo?: ComponentType<OwpLogoSlotProps>;\n routeLoading?: ComponentType<OwpRouteLoadingSlotProps>;\n}\n\nexport interface OwpAppSlotProps {\n logo?: OwpLogoSlotProps;\n routeLoading?: Omit<\n Partial<OwpRouteLoadingSlotProps>,\n 'pathname' | 'isFirstRouteLoading'\n > &\n OwpRouteLoadingConfig;\n}\n\nexport interface OwpAppEnv {\n apiBaseUrl?: string;\n isAccessTokenGuardEnabled?: boolean;\n isAutoLogoutEnabled?: boolean;\n autoLogoutIdleTimeoutMs?: number;\n isBackendNavigationEnabled?: boolean;\n isErrorMessageEnabled?: boolean;\n isI18nEnabled?: boolean;\n isI18nLanguageSwitcherEnabled?: boolean;\n isNavigationActiveRouteRemountEnabled?: boolean;\n isPasswordChangeEnabled?: boolean;\n isRequestLogPayloadEnabled?: boolean;\n [key: string]: unknown;\n}\n\nexport interface OwpAppContextValue extends OwpAppConfigs {\n env?: OwpAppEnv;\n slots?: OwpAppSlots;\n slotProps?: OwpAppSlotProps;\n}\n\nexport const OwpAppContext = createContext<OwpAppContextValue | undefined>(undefined);\n\nexport interface OwpAppProviderProps {\n configs: OwpAppConfigs;\n slots?: OwpAppSlots;\n slotProps?: OwpAppSlotProps;\n children?: ReactNode;\n env?: OwpAppEnv;\n}\n\nexport const OwpAppProvider = ({\n configs,\n slots,\n slotProps,\n children,\n env,\n}: OwpAppProviderProps) => {\n const value = useRef<OwpAppContextValue>({ ...configs, env, slots, slotProps });\n const { setEnv } = useStorage();\n\n useLayoutEffect(() => {\n setEnv(env ?? {});\n }, [env, setEnv]);\n\n return <OwpAppContext.Provider value={value.current}>{children}</OwpAppContext.Provider>;\n};\n\nexport const useOwpAppContext = () => {\n const context = useContext(OwpAppContext);\n\n if (context === undefined) {\n throw new Error('useOwpAppContext must be used within a OwpAppProvider');\n }\n\n return context;\n};\n"],"names":["OwpAppContext","createContext","OwpAppProvider","__name","configs","slots","slotProps","children","env","value","useRef","setEnv","useStorage","useLayoutEffect","useOwpAppContext","context","useContext"],"mappings":";;;;;AAuGO,MAAMA,IAAgBC,EAA8C,MAAS,GAUvEC,IAAiB,gBAAAC,EAAA,CAAC;AAAA,EAC7B,SAAAC;AAAA,EACA,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,KAAAC;AACF,MAA2B;AACzB,QAAMC,IAAQC,EAA2B,EAAE,GAAGN,GAAS,KAAAI,GAAK,OAAAH,GAAO,WAAAC,GAAW,GACxE,EAAE,QAAAK,EAAA,IAAWC,EAAA;AAEnB,SAAAC,EAAgB,MAAM;AACpB,IAAAF,EAAOH,KAAO,EAAE;AAAA,EAClB,GAAG,CAACA,GAAKG,CAAM,CAAC,qBAERX,EAAc,UAAd,EAAuB,OAAOS,EAAM,SAAU,UAAAF,GAAS;AACjE,GAf8B,mBAiBjBO,IAAmB,gBAAAX,EAAA,MAAM;AACpC,QAAMY,IAAUC,EAAWhB,CAAa;AAExC,MAAIe,MAAY;AACd,UAAM,IAAI,MAAM,uDAAuD;AAGzE,SAAOA;AACT,GARgC;"}
|
package/dist/hooks/useLogoSrc.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
var m = Object.defineProperty;
|
|
2
2
|
var o = (r, e) => m(r, "name", { value: e, configurable: !0 });
|
|
3
|
-
import { STORAGE_KEYS as
|
|
4
|
-
import { useAtomValue as
|
|
5
|
-
import { atomWithStorage as
|
|
6
|
-
const t =
|
|
7
|
-
|
|
8
|
-
"
|
|
9
|
-
),
|
|
3
|
+
import { STORAGE_KEYS as S } from "../constants/storageKeys.js";
|
|
4
|
+
import { useAtomValue as c, useSetAtom as u } from "jotai";
|
|
5
|
+
import { atomWithStorage as s } from "jotai/utils";
|
|
6
|
+
const t = s(
|
|
7
|
+
S.currentLogoSrc,
|
|
8
|
+
""
|
|
9
|
+
), A = /* @__PURE__ */ o(() => c(t), "useGetLogoSrc"), a = /* @__PURE__ */ o(() => u(t), "useSetLogoSrc");
|
|
10
10
|
export {
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
A as useGetLogoSrc,
|
|
12
|
+
a as useSetLogoSrc
|
|
13
13
|
};
|
|
14
14
|
//# sourceMappingURL=useLogoSrc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLogoSrc.js","sources":["../../src/hooks/useLogoSrc.ts"],"sourcesContent":["import { STORAGE_KEYS } from '@/constants/storageKeys';\nimport { useAtomValue, useSetAtom } from 'jotai';\nimport { atomWithStorage } from 'jotai/utils';\n\nconst logoSrcAtom = atomWithStorage<string>(\n STORAGE_KEYS.currentLogoSrc,\n '
|
|
1
|
+
{"version":3,"file":"useLogoSrc.js","sources":["../../src/hooks/useLogoSrc.ts"],"sourcesContent":["import { STORAGE_KEYS } from '@/constants/storageKeys';\nimport { useAtomValue, useSetAtom } from 'jotai';\nimport { atomWithStorage } from 'jotai/utils';\n\nconst logoSrcAtom = atomWithStorage<string>(\n STORAGE_KEYS.currentLogoSrc,\n '',\n);\n\n/**\n * 현재 로고 경로 조회 훅\n */\nexport const useGetLogoSrc = () => {\n return useAtomValue(logoSrcAtom);\n};\n\n/**\n * 현재 로고 경로 설정 훅\n */\nexport const useSetLogoSrc = () => {\n return useSetAtom(logoSrcAtom);\n};\n"],"names":["logoSrcAtom","atomWithStorage","STORAGE_KEYS","useGetLogoSrc","__name","useAtomValue","useSetLogoSrc","useSetAtom"],"mappings":";;;;;AAIA,MAAMA,IAAcC;AAAA,EAClBC,EAAa;AAAA,EACb;AACF,GAKaC,IAAgB,gBAAAC,EAAA,MACpBC,EAAaL,CAAW,GADJ,kBAOhBM,IAAgB,gBAAAF,EAAA,MACpBG,EAAWP,CAAW,GADF;"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
var h = Object.defineProperty;
|
|
2
|
+
var a = (e, o) => h(e, "name", { value: o, configurable: !0 });
|
|
3
|
+
import { useOwpAppContext as R } from "../contexts/OwpAppProvider.js";
|
|
4
|
+
import { useAtomValue as p, atom as v, useSetAtom as A } from "jotai";
|
|
5
|
+
import { useMemo as l } from "react";
|
|
6
|
+
import { useLocation as f, useResolvedPath as g, createPath as u } from "react-router-dom";
|
|
7
|
+
const i = v(0), C = /* @__PURE__ */ a(() => p(i), "useNavigationActiveRouteRemountKey"), E = /* @__PURE__ */ a((e) => {
|
|
8
|
+
const { env: o } = R(), t = f(), m = A(i), s = g(
|
|
9
|
+
e ?? {
|
|
10
|
+
pathname: t.pathname,
|
|
11
|
+
search: t.search,
|
|
12
|
+
hash: t.hash
|
|
13
|
+
}
|
|
14
|
+
), n = (o == null ? void 0 : o.isNavigationActiveRouteRemountEnabled) ?? !0, c = l(() => !e || !n ? !1 : u(s) === u({
|
|
15
|
+
pathname: t.pathname,
|
|
16
|
+
search: t.search,
|
|
17
|
+
hash: t.hash
|
|
18
|
+
}), [
|
|
19
|
+
n,
|
|
20
|
+
t.hash,
|
|
21
|
+
t.pathname,
|
|
22
|
+
t.search,
|
|
23
|
+
s,
|
|
24
|
+
e
|
|
25
|
+
]);
|
|
26
|
+
return {
|
|
27
|
+
isNavigationActiveRouteRemountEnabled: n,
|
|
28
|
+
shouldRemountRouteOnClick: c,
|
|
29
|
+
remountRoute: /* @__PURE__ */ a(() => {
|
|
30
|
+
m((r) => r + 1);
|
|
31
|
+
}, "remountRoute")
|
|
32
|
+
};
|
|
33
|
+
}, "useNavigationActiveRouteRemount");
|
|
34
|
+
export {
|
|
35
|
+
E as useNavigationActiveRouteRemount,
|
|
36
|
+
C as useNavigationActiveRouteRemountKey
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=useNavigationActiveRouteRemount.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useNavigationActiveRouteRemount.js","sources":["../../src/hooks/useNavigationActiveRouteRemount.ts"],"sourcesContent":["import { useOwpAppContext } from '@/contexts/OwpAppProvider';\nimport { atom, useAtomValue, useSetAtom } from 'jotai';\nimport { useMemo } from 'react';\nimport { createPath, type To, useLocation, useResolvedPath } from 'react-router-dom';\n\nconst navigationActiveRouteRemountKeyAtom = atom(0);\n\n/**\n * 네비게이션 active route remount key 조회\n */\nexport const useNavigationActiveRouteRemountKey = () =>\n useAtomValue(navigationActiveRouteRemountKeyAtom);\n\n/**\n * 네비게이션 active route remount 제어값 조회\n * @param to 이동 대상 경로\n */\nexport const useNavigationActiveRouteRemount = (to?: To) => {\n const { env } = useOwpAppContext();\n const location = useLocation();\n const setNavigationActiveRouteRemountKey = useSetAtom(navigationActiveRouteRemountKeyAtom);\n const resolvedTo = useResolvedPath(\n to ?? {\n pathname: location.pathname,\n search: location.search,\n hash: location.hash,\n },\n );\n\n const isNavigationActiveRouteRemountEnabled =\n env?.isNavigationActiveRouteRemountEnabled ?? true;\n\n const shouldRemountRouteOnClick = useMemo(() => {\n if (!to || !isNavigationActiveRouteRemountEnabled) {\n return false;\n }\n\n return (\n createPath(resolvedTo) ===\n createPath({\n pathname: location.pathname,\n search: location.search,\n hash: location.hash,\n })\n );\n }, [\n isNavigationActiveRouteRemountEnabled,\n location.hash,\n location.pathname,\n location.search,\n resolvedTo,\n to,\n ]);\n\n const remountRoute = () => {\n setNavigationActiveRouteRemountKey((previousValue) => previousValue + 1);\n };\n\n return {\n isNavigationActiveRouteRemountEnabled,\n shouldRemountRouteOnClick,\n remountRoute,\n };\n};\n"],"names":["navigationActiveRouteRemountKeyAtom","atom","useNavigationActiveRouteRemountKey","__name","useAtomValue","useNavigationActiveRouteRemount","to","env","useOwpAppContext","location","useLocation","setNavigationActiveRouteRemountKey","useSetAtom","resolvedTo","useResolvedPath","isNavigationActiveRouteRemountEnabled","shouldRemountRouteOnClick","useMemo","createPath","previousValue"],"mappings":";;;;;;AAKA,MAAMA,IAAsCC,EAAK,CAAC,GAKrCC,IAAqC,gBAAAC,EAAA,MAChDC,EAAaJ,CAAmC,GADA,uCAOrCK,IAAkC,gBAAAF,EAAA,CAACG,MAAY;AAC1D,QAAM,EAAE,KAAAC,EAAA,IAAQC,EAAA,GACVC,IAAWC,EAAA,GACXC,IAAqCC,EAAWZ,CAAmC,GACnFa,IAAaC;AAAA,IACjBR,KAAM;AAAA,MACJ,UAAUG,EAAS;AAAA,MACnB,QAAQA,EAAS;AAAA,MACjB,MAAMA,EAAS;AAAA,IAAA;AAAA,EACjB,GAGIM,KACJR,KAAA,gBAAAA,EAAK,0CAAyC,IAE1CS,IAA4BC,EAAQ,MACpC,CAACX,KAAM,CAACS,IACH,KAIPG,EAAWL,CAAU,MACrBK,EAAW;AAAA,IACT,UAAUT,EAAS;AAAA,IACnB,QAAQA,EAAS;AAAA,IACjB,MAAMA,EAAS;AAAA,EAAA,CAChB,GAEF;AAAA,IACDM;AAAA,IACAN,EAAS;AAAA,IACTA,EAAS;AAAA,IACTA,EAAS;AAAA,IACTI;AAAA,IACAP;AAAA,EAAA,CACD;AAMD,SAAO;AAAA,IACL,uCAAAS;AAAA,IACA,2BAAAC;AAAA,IACA,cAPmB,gBAAAb,EAAA,MAAM;AACzB,MAAAQ,EAAmC,CAACQ,MAAkBA,IAAgB,CAAC;AAAA,IACzE,GAFqB;AAAA,EAOnB;AAEJ,GA9C+C;"}
|