@owp/core 2.5.1 → 2.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/dist/_virtual/index10.js +2 -2
  2. package/dist/_virtual/index12.js +2 -2
  3. package/dist/_virtual/index13.js +2 -2
  4. package/dist/_virtual/index14.js +2 -2
  5. package/dist/_virtual/index15.js +2 -2
  6. package/dist/_virtual/index5.js +2 -2
  7. package/dist/components/{OwpFileUploadButton/OwpFileUploadButton.js → OwpFilePickerButton/OwpFilePickerButton.js} +15 -15
  8. package/dist/components/OwpFilePickerButton/OwpFilePickerButton.js.map +1 -0
  9. package/dist/components/OwpLanguageSwitcherSelect/OwpLanguageSwitcherSelect.js.map +1 -1
  10. package/dist/components/OwpMoreActionsButton/OwpMoreActionsButton.js +27 -27
  11. package/dist/components/OwpMoreActionsButton/OwpMoreActionsButton.js.map +1 -1
  12. package/dist/components/OwpMrtTable/OwpMrtTable.js +335 -317
  13. package/dist/components/OwpMrtTable/OwpMrtTable.js.map +1 -1
  14. package/dist/components/OwpPageBreadcrumb/OwpPageBreadcrumb.js +39 -32
  15. package/dist/components/OwpPageBreadcrumb/OwpPageBreadcrumb.js.map +1 -1
  16. package/dist/components/OwpTable/OwpDataTable.js +273 -251
  17. package/dist/components/OwpTable/OwpDataTable.js.map +1 -1
  18. package/dist/components/OwpTable/OwpTable.js +180 -159
  19. package/dist/components/OwpTable/OwpTable.js.map +1 -1
  20. package/dist/components/OwpTreeGrid/OwpTreeGrid.js +267 -184
  21. package/dist/components/OwpTreeGrid/OwpTreeGrid.js.map +1 -1
  22. package/dist/components/{OwpTreeGridExcelButton/OwpTreeGridExcelButton.js → OwpTreeGridExportExcelButton/OwpTreeGridExportExcelButton.js} +7 -7
  23. package/dist/components/OwpTreeGridExportExcelButton/OwpTreeGridExportExcelButton.js.map +1 -0
  24. package/dist/constants/gridTheme.js +28 -0
  25. package/dist/constants/gridTheme.js.map +1 -0
  26. package/dist/hooks/useFormDataUploadMutation.js +27 -0
  27. package/dist/hooks/useFormDataUploadMutation.js.map +1 -0
  28. package/dist/hooks.js +63 -61
  29. package/dist/hooks.js.map +1 -1
  30. package/dist/index.js +28 -28
  31. package/dist/layout/components/navbar/NavbarToggleButton.js +21 -22
  32. package/dist/layout/components/navbar/NavbarToggleButton.js.map +1 -1
  33. package/dist/layout/components/navbar/style/NavbarStyle.js +41 -37
  34. package/dist/layout/components/navbar/style/NavbarStyle.js.map +1 -1
  35. package/dist/layout/components/toolbar/ToolbarLayout.js +57 -69
  36. package/dist/layout/components/toolbar/ToolbarLayout.js.map +1 -1
  37. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/constants.js +1 -1
  38. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/index.js +1 -1
  39. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE39/index.js +1 -1
  40. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/index.js +1 -1
  41. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/constants.js +1 -1
  42. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js +1 -1
  43. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js +1 -1
  44. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/index.js +1 -1
  45. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/MSI/index.js +1 -1
  46. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/codabar/index.js +1 -1
  47. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/pharmacode/index.js +1 -1
  48. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/renderers/index.js +1 -1
  49. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
  50. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
  51. package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js +1 -1
  52. package/dist/owp-app.css +1 -1
  53. package/dist/types/components/{OwpFileUploadButton/OwpFileUploadButton.d.ts → OwpFilePickerButton/OwpFilePickerButton.d.ts} +4 -4
  54. package/dist/types/components/OwpFilePickerButton/index.d.ts +1 -0
  55. package/dist/types/components/OwpLanguageSwitcherSelect/OwpLanguageSwitcherSelect.d.ts +1 -1
  56. package/dist/types/components/OwpMoreActionsButton/OwpMoreActionsButton.d.ts +4 -4
  57. package/dist/types/components/OwpTable/OwpTable.d.ts +2 -0
  58. package/dist/types/components/OwpTreeGridExportExcelButton/OwpTreeGridExportExcelButton.d.ts +12 -0
  59. package/dist/types/components/OwpTreeGridExportExcelButton/index.d.ts +1 -0
  60. package/dist/types/constants/gridTheme.d.ts +30 -0
  61. package/dist/types/hooks/index.d.ts +1 -0
  62. package/dist/types/hooks/useFormDataUploadMutation.d.ts +30 -0
  63. package/dist/types/index.d.ts +2 -2
  64. package/dist/types/types/OwpGridThemeTypes.d.ts +14 -0
  65. package/dist/types/types/OwpSettingsTypes.d.ts +2 -0
  66. package/dist/types/types/index.d.ts +1 -0
  67. package/dist/types/utils/createFormDataBody.d.ts +20 -0
  68. package/dist/types/utils/index.d.ts +1 -0
  69. package/dist/types/utils/zipUtil.d.ts +13 -0
  70. package/dist/utils/createFormDataBody.js +26 -0
  71. package/dist/utils/createFormDataBody.js.map +1 -0
  72. package/dist/utils/zipUtil.js +42 -29
  73. package/dist/utils/zipUtil.js.map +1 -1
  74. package/dist/utils.js +87 -82
  75. package/dist/utils.js.map +1 -1
  76. package/package.json +1 -1
  77. package/dist/components/OwpFileUploadButton/OwpFileUploadButton.js.map +0 -1
  78. package/dist/components/OwpTreeGridExcelButton/OwpTreeGridExcelButton.js.map +0 -1
  79. package/dist/types/components/OwpFileUploadButton/index.d.ts +0 -1
  80. package/dist/types/components/OwpTreeGridExcelButton/OwpTreeGridExcelButton.d.ts +0 -12
  81. package/dist/types/components/OwpTreeGridExcelButton/index.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"OwpTreeGrid.js","sources":["../../../src/components/OwpTreeGrid/OwpTreeGrid.tsx"],"sourcesContent":["import { useOwpTranslation } from '@/hooks/useOwpTranslation';\nimport { useGetCurrentLanguage } from '@/hooks/useCurrentLanguage';\nimport {\n TREE_GRID_BODY_ROWS_CHANGED_EVENT,\n type TreeGridBodyRowsChangedEventDetail,\n} from '@/utils/treeGridBodyRowsEvent';\nimport { delay, isEmpty, isEqual, omit } from 'es-toolkit/compat';\n// Temporary TreeGrid perf instrumentation import. Remove with ./internal/utils/perf after profiling is finished.\nimport {\n countTreeGridPerf,\n getTreeGridPerfTimestamp,\n logTreeGridPerf,\n measureTreeGridPerf,\n} from './internal/utils/perf';\nimport {\n type CSSProperties,\n useEffect,\n useLayoutEffect,\n useRef,\n useState,\n} from 'react';\nimport { useOwpTreeGridOverlayFrame } from './internal/hooks/useOwpTreeGridOverlayFrame';\nimport {\n bindTreeGridEvents,\n buildTreeGridInitializationOptions,\n getTreeGridBodyDataCount,\n hasTreeGridDisplayDataRows,\n replaceTreeGridBodyData,\n TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS,\n type TreeGridEventHandlers,\n} from './internal/treeGridRuntime';\nimport { applyTreeGridLayoutToGrid } from './internal/treeGridLayout';\nimport { OwpTreeGridLoadingOverlay } from './internal/OwpTreeGridLoadingOverlay';\nimport { OwpTreeGridNoDataOverlay } from './internal/OwpTreeGridNoDataOverlay';\nimport {\n createTreeGridColumnEditRulesState,\n resolveTreeGridColumnEditRuleLookup,\n syncTreeGridColumnEditRules,\n} from './internal/treeGridColumnEditRules';\n\ntype TreeGridLayoutScalarValue = string | number;\ntype TreeGridNestedLayoutFields = Record<string, TreeGridLayoutScalarValue>;\ntype TreeGridLayoutFields = Record<string, TreeGridLayoutScalarValue | TreeGridNestedLayoutFields>;\ntype TreeGridSectionFields = Record<string, TreeGridLayoutScalarValue>;\n\nexport interface OwpTreeGridLayout {\n Header?: TreeGridLayoutFields;\n Toolbar?: TreeGridSectionFields;\n Foot?: TreeGridSectionFields;\n}\n\nexport type OwpTreeGridLayoutConfig = OwpTreeGridLayout;\nexport type THeader = OwpTreeGridLayoutConfig;\nexport type OwpTreeGridBodyData<T> = Record<string, never> | [] | undefined | T[];\nexport type OwpTreeGridData<T> = OwpTreeGridBodyData<T>;\nexport type TData<T> = OwpTreeGridBodyData<T>;\nexport type OwpTreeGridRowModel<T> = TRow & T;\nexport type OwpTreeGridSelectedRows<T> = OwpTreeGridRowModel<T>[];\nexport type OwpTreeGridColumnEditPreset = 'hourMinute';\n\nexport interface OwpTreeGridColumnEditRule {\n columns: readonly string[];\n preset: OwpTreeGridColumnEditPreset;\n}\n\ntype OwpTreeGridSelectHandler<T> = (selectedRows: OwpTreeGridSelectedRows<T>) => void;\ntype OwpTreeGridRowAddHandler<T> = (grid: TGrid, row: OwpTreeGridRowModel<T>) => void;\ntype OwpTreeGridRowDeleteHandler<T> = (\n grid: TGrid,\n row: OwpTreeGridRowModel<T>,\n deleteType: number,\n) => void;\ntype OwpTreeGridRowUndeleteHandler<T> = (grid: TGrid, row: OwpTreeGridRowModel<T>) => void;\ntype OwpTreeGridButtonClickHandler<T> = (\n grid: TGrid,\n row: OwpTreeGridRowModel<T>,\n col: string,\n event: Event,\n) => void;\ntype OwpTreeGridRowClickHandler<T> = (\n grid: TGrid,\n row: OwpTreeGridRowModel<T>,\n col: string,\n x: number,\n y: number,\n event: Event,\n) => void;\ntype OwpTreeGridSaveHandler<T> = (\n grid: TGrid,\n row: OwpTreeGridRowModel<T>,\n autoupdate: boolean | number,\n) => void;\ntype OwpTreeGridCellValue = unknown;\ntype OwpTreeGridAfterValueChangedHandler<T> = (\n grid: TGrid,\n row: OwpTreeGridRowModel<T>,\n col: string,\n value: OwpTreeGridCellValue,\n) => void;\n\nexport interface OwpTreeGridProps<T> {\n id: string;\n className?: string;\n containerStyle?: CSSProperties;\n containerClassName?: string;\n layoutUrl?: string;\n dataUrl?: string;\n layoutOverrides?: OwpTreeGridLayoutConfig;\n data?: OwpTreeGridBodyData<T>;\n style?: CSSProperties;\n height?: string | number;\n width?: string | number;\n useDataUrl?: boolean;\n onSelect?: OwpTreeGridSelectHandler<T>;\n onRowAdd?: OwpTreeGridRowAddHandler<T>;\n onRowDelete?: OwpTreeGridRowDeleteHandler<T>;\n onRowUndelete?: OwpTreeGridRowUndeleteHandler<T>;\n onRowChange?: OwpTreeGridAfterValueChangedHandler<T>;\n onClickButton?: OwpTreeGridButtonClickHandler<T>;\n onReady?: (grid: TGrid) => void;\n onRowClick?: OwpTreeGridRowClickHandler<T>;\n onSave?: OwpTreeGridSaveHandler<T>;\n onAfterValueChanged?: OwpTreeGridAfterValueChangedHandler<T>;\n columnEditRules?: readonly OwpTreeGridColumnEditRule[];\n highlightEditableCells?: boolean;\n highlightChangedCells?: boolean;\n loading?: boolean;\n showLoading?: boolean;\n}\n\n/**\n * OwpTreeGrid 컴포넌트\n * @param id 식별자\n * @param containerStyle containerStyle 값\n * @param containerClassName containerClassName 값\n * @param className CSS 클래스명\n * @param style 스타일 객체\n * @param height height 값\n */\nconst OwpTreeGrid = <T,>({\n id = 'treeGridWrapper',\n containerStyle,\n containerClassName,\n className,\n style,\n height = '100%',\n width = '100%',\n layoutUrl,\n dataUrl,\n layoutOverrides,\n data,\n useDataUrl,\n onSelect,\n onRowClick,\n onRowAdd,\n onRowDelete,\n onRowUndelete,\n onRowChange,\n onClickButton,\n onSave,\n onReady,\n onAfterValueChanged,\n columnEditRules,\n highlightEditableCells = true,\n highlightChangedCells = true,\n loading,\n showLoading = true,\n}: OwpTreeGridProps<T>) => {\n const { t } = useOwpTranslation();\n const treeGridInstanceRef = useRef<TGrid>(null);\n const treeGridContainerRef = useRef<HTMLDivElement | null>(null);\n const treeGridInitStartedAtRef = useRef<number | null>(null);\n const bodyReloadStartedAtRef = useRef<number | null>(null);\n const latestLayoutOverridesRef = useRef<OwpTreeGridLayoutConfig | undefined>(layoutOverrides);\n const latestBodyDataPropRef = useRef<OwpTreeGridBodyData<T>>(data);\n const latestColumnEditRulesRef = useRef<readonly OwpTreeGridColumnEditRule[] | undefined>(\n columnEditRules,\n );\n const latestColumnEditRuleLookupRef = useRef(\n resolveTreeGridColumnEditRuleLookup(columnEditRules, {\n hourMinuteInvalidText: t('Message.시간은 HH:mm 형식으로 입력해주세요.'),\n }),\n );\n const latestEventHandlersRef = useRef<TreeGridEventHandlers<T>>({\n onSelect,\n onRowClick,\n onRowAdd,\n onRowDelete,\n onRowUndelete,\n onRowChange,\n onClickButton,\n onSave,\n onReady,\n onAfterValueChanged,\n });\n const stagedBodyDataPropRef = useRef<OwpTreeGridBodyData<T>>(undefined);\n const hasStagedBodyDataPropRef = useRef(false);\n const appliedLayoutOverridesRef = useRef<OwpTreeGridLayoutConfig | undefined>(undefined);\n const appliedBodyDataPropRef = useRef<OwpTreeGridBodyData<T>>(undefined);\n const appliedColumnEditRulesRef = useRef<readonly OwpTreeGridColumnEditRule[] | undefined>(\n undefined,\n );\n const columnEditRulesStateRef = useRef(createTreeGridColumnEditRulesState());\n const hasAppliedInitialLayoutRef = useRef(false);\n const bodyReloadSequenceRef = useRef(0);\n const bindingLoadingStartedAtRef = useRef<number | null>(null);\n const bindingLoadingHideTimeoutRef = useRef<number | undefined>(undefined);\n const bodyReloadStartTimeoutRef = useRef<number | undefined>(undefined);\n const highlightEditableCellsRef = useRef(highlightEditableCells);\n const highlightChangedCellsRef = useRef(highlightChangedCells);\n const [isTreeGridReady, setIsTreeGridReady] = useState(false);\n const [isBindingLoadingVisible, setIsBindingLoadingVisible] = useState(false);\n const [hasDisplayDataRows, setHasDisplayDataRows] = useState(false);\n const currentLanguage = useGetCurrentLanguage();\n const currentLanguageIdRef = useRef(currentLanguage.id);\n const isPendingBodyReload =\n showLoading &&\n data !== undefined &&\n isTreeGridReady &&\n appliedBodyDataPropRef.current !== data;\n const isInternalLoadingVisible = showLoading && (isBindingLoadingVisible || isPendingBodyReload);\n const isLoadingOverlayVisible = (showLoading && loading === true) || isInternalLoadingVisible;\n const isNoDataVisible =\n !isLoadingOverlayVisible && data !== undefined && isEmpty(data) && !hasDisplayDataRows;\n\n const syncHasDisplayDataRows = (grid: TGrid | null) => {\n setHasDisplayDataRows(hasTreeGridDisplayDataRows(grid));\n };\n\n latestLayoutOverridesRef.current = layoutOverrides;\n latestBodyDataPropRef.current = data;\n latestColumnEditRulesRef.current = columnEditRules;\n latestColumnEditRuleLookupRef.current = resolveTreeGridColumnEditRuleLookup(columnEditRules, {\n hourMinuteInvalidText: t('Message.시간은 HH:mm 형식으로 입력해주세요.'),\n });\n highlightEditableCellsRef.current = highlightEditableCells;\n highlightChangedCellsRef.current = highlightChangedCells;\n latestEventHandlersRef.current = {\n onSelect,\n onRowClick,\n onRowAdd,\n onRowDelete,\n onRowUndelete,\n onRowChange,\n onClickButton,\n onSave,\n onReady,\n onAfterValueChanged,\n };\n\n const overlayFrame = useOwpTreeGridOverlayFrame({\n visible: isLoadingOverlayVisible || isNoDataVisible,\n containerRef: treeGridContainerRef,\n treeGridInstanceRef,\n debugId: id,\n });\n\n const clearBindingLoadingHideTimeout = () => {\n if (bindingLoadingHideTimeoutRef.current !== undefined) {\n window.clearTimeout(bindingLoadingHideTimeoutRef.current);\n bindingLoadingHideTimeoutRef.current = undefined;\n }\n };\n\n const clearBodyReloadStartTimeout = () => {\n if (bodyReloadStartTimeoutRef.current !== undefined) {\n window.clearTimeout(bodyReloadStartTimeoutRef.current);\n bodyReloadStartTimeoutRef.current = undefined;\n }\n };\n\n useEffect(() => {\n const handleBodyRowsChanged = (event: Event) => {\n const customEvent = event as CustomEvent<TreeGridBodyRowsChangedEventDetail>;\n\n if (customEvent.detail?.gridId !== id) {\n return;\n }\n\n setHasDisplayDataRows(hasTreeGridDisplayDataRows(treeGridInstanceRef.current));\n };\n\n window.addEventListener(TREE_GRID_BODY_ROWS_CHANGED_EVENT, handleBodyRowsChanged);\n\n return () => {\n window.removeEventListener(TREE_GRID_BODY_ROWS_CHANGED_EVENT, handleBodyRowsChanged);\n };\n }, [id]);\n\n useEffect(() => {\n if (!showLoading) {\n clearBodyReloadStartTimeout();\n clearBindingLoadingHideTimeout();\n bindingLoadingStartedAtRef.current = null;\n setIsBindingLoadingVisible(false);\n }\n }, [showLoading]);\n\n useEffect(() => {\n if (\n currentLanguage.id !== currentLanguageIdRef.current &&\n !isEmpty(treeGridInstanceRef.current)\n ) {\n treeGridInstanceRef.current?.Dispose();\n treeGridInstanceRef.current = null;\n currentLanguageIdRef.current = currentLanguage.id;\n }\n\n if (!isEmpty(treeGridInstanceRef.current)) {\n return;\n }\n\n bindTreeGridEvents({\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 });\n\n treeGridInitStartedAtRef.current = getTreeGridPerfTimestamp();\n countTreeGridPerf(id, 'init');\n logTreeGridPerf(id, 'TreeGrid init start', {\n useDataUrl: Boolean(useDataUrl),\n bodyRowCount: getTreeGridBodyDataCount(data),\n });\n\n window.TreeGrid(\n buildTreeGridInitializationOptions({\n id,\n layoutUrl,\n dataUrl,\n bodyData: data,\n useDataUrl,\n width,\n height,\n languageId: currentLanguage.id,\n }),\n id,\n id,\n );\n\n return () => {\n delay(() => {\n treeGridInstanceRef.current?.Dispose();\n }, 200);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useLayoutEffect(() => {\n const treeGrid = treeGridInstanceRef.current;\n const nextLayoutOverrides = latestLayoutOverridesRef.current;\n const nextBodyData = latestBodyDataPropRef.current;\n const nextColumnEditRules = latestColumnEditRulesRef.current;\n\n if (isEmpty(treeGrid) || !isTreeGridReady) {\n return;\n }\n\n const shouldApplyLayoutOverrides =\n appliedLayoutOverridesRef.current !== nextLayoutOverrides &&\n !isEqual(appliedLayoutOverridesRef.current, nextLayoutOverrides);\n const shouldApplyBodyData =\n appliedBodyDataPropRef.current !== nextBodyData &&\n (!hasStagedBodyDataPropRef.current || stagedBodyDataPropRef.current !== nextBodyData);\n const shouldApplyColumnEditRules =\n appliedColumnEditRulesRef.current !== nextColumnEditRules &&\n !isEqual(appliedColumnEditRulesRef.current, nextColumnEditRules);\n\n if (!shouldApplyLayoutOverrides && !shouldApplyBodyData && !shouldApplyColumnEditRules) {\n return;\n }\n\n if (shouldApplyLayoutOverrides) {\n const layoutApplyStartedAt = getTreeGridPerfTimestamp();\n\n applyTreeGridLayoutToGrid(treeGrid, nextLayoutOverrides, shouldApplyBodyData);\n appliedLayoutOverridesRef.current = nextLayoutOverrides;\n measureTreeGridPerf(id, 'apply layout', layoutApplyStartedAt, {\n disableBodyReload: Boolean(shouldApplyBodyData),\n });\n }\n\n if (shouldApplyBodyData) {\n const reloadSequence = bodyReloadSequenceRef.current + 1;\n const runBodyReload = () => {\n const bodyDataToApply = stagedBodyDataPropRef.current;\n\n bodyReloadStartTimeoutRef.current = undefined;\n bodyReloadStartedAtRef.current = getTreeGridPerfTimestamp();\n countTreeGridPerf(id, 'reload');\n logTreeGridPerf(id, 'ReloadBody start', {\n bodyRowCount: getTreeGridBodyDataCount(bodyDataToApply),\n });\n\n replaceTreeGridBodyData(treeGrid, bodyDataToApply, () => {\n if (bodyReloadSequenceRef.current !== reloadSequence) {\n return;\n }\n\n appliedBodyDataPropRef.current = bodyDataToApply;\n syncHasDisplayDataRows(treeGrid);\n measureTreeGridPerf(id, 'ReloadBody end', bodyReloadStartedAtRef.current, {\n bodyRowCount: getTreeGridBodyDataCount(bodyDataToApply),\n });\n bodyReloadStartedAtRef.current = null;\n\n if (stagedBodyDataPropRef.current === bodyDataToApply) {\n stagedBodyDataPropRef.current = undefined;\n hasStagedBodyDataPropRef.current = false;\n }\n\n const startedAt = bindingLoadingStartedAtRef.current;\n\n if (!showLoading || startedAt === null) {\n bindingLoadingStartedAtRef.current = null;\n setIsBindingLoadingVisible(false);\n return;\n }\n\n const remainingVisibleTime = Math.max(\n 0,\n TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS - (Date.now() - startedAt),\n );\n\n clearBindingLoadingHideTimeout();\n\n if (remainingVisibleTime === 0) {\n bindingLoadingStartedAtRef.current = null;\n setIsBindingLoadingVisible(false);\n return;\n }\n\n bindingLoadingHideTimeoutRef.current = window.setTimeout(() => {\n if (bodyReloadSequenceRef.current !== reloadSequence) {\n return;\n }\n\n bindingLoadingHideTimeoutRef.current = undefined;\n bindingLoadingStartedAtRef.current = null;\n setIsBindingLoadingVisible(false);\n }, remainingVisibleTime);\n });\n };\n\n bodyReloadSequenceRef.current = reloadSequence;\n stagedBodyDataPropRef.current = nextBodyData;\n hasStagedBodyDataPropRef.current = true;\n\n if (showLoading && nextBodyData !== undefined) {\n clearBodyReloadStartTimeout();\n clearBindingLoadingHideTimeout();\n bindingLoadingStartedAtRef.current = Date.now();\n setIsBindingLoadingVisible(true);\n bodyReloadStartTimeoutRef.current = window.setTimeout(() => {\n if (bodyReloadSequenceRef.current !== reloadSequence) {\n return;\n }\n\n runBodyReload();\n }, 0);\n } else {\n runBodyReload();\n }\n }\n\n if (shouldApplyColumnEditRules) {\n syncTreeGridColumnEditRules(\n treeGrid,\n latestColumnEditRuleLookupRef.current,\n columnEditRulesStateRef.current,\n );\n appliedColumnEditRulesRef.current = nextColumnEditRules;\n }\n }, [isTreeGridReady, layoutOverrides, data, columnEditRules, showLoading, id]);\n\n useEffect(() => {\n return () => {\n clearBodyReloadStartTimeout();\n clearBindingLoadingHideTimeout();\n };\n }, []);\n\n const resolvedContainerStyle: CSSProperties = {\n height,\n width,\n ...containerStyle,\n };\n\n if (showLoading || isNoDataVisible) {\n resolvedContainerStyle.position =\n containerStyle?.position && containerStyle.position !== 'static'\n ? containerStyle.position\n : 'relative';\n resolvedContainerStyle.isolation = 'isolate';\n }\n\n return (\n <div ref={treeGridContainerRef} className={containerClassName} style={resolvedContainerStyle}>\n <div id={id} className={className} style={omit(style, ['height', 'width'])} />\n <OwpTreeGridNoDataOverlay\n visible={isNoDataVisible}\n message={t('Message.조회된 결과가 없습니다.')}\n overlayFrame={overlayFrame}\n />\n <OwpTreeGridLoadingOverlay visible={isLoadingOverlayVisible} overlayFrame={overlayFrame} />\n </div>\n );\n};\n\nexport { OwpTreeGrid };\n"],"names":["OwpTreeGrid","__name","id","containerStyle","containerClassName","className","style","height","width","layoutUrl","dataUrl","layoutOverrides","data","useDataUrl","onSelect","onRowClick","onRowAdd","onRowDelete","onRowUndelete","onRowChange","onClickButton","onSave","onReady","onAfterValueChanged","columnEditRules","highlightEditableCells","highlightChangedCells","loading","showLoading","t","useOwpTranslation","treeGridInstanceRef","useRef","treeGridContainerRef","treeGridInitStartedAtRef","bodyReloadStartedAtRef","latestLayoutOverridesRef","latestBodyDataPropRef","latestColumnEditRulesRef","latestColumnEditRuleLookupRef","resolveTreeGridColumnEditRuleLookup","latestEventHandlersRef","stagedBodyDataPropRef","hasStagedBodyDataPropRef","appliedLayoutOverridesRef","appliedBodyDataPropRef","appliedColumnEditRulesRef","columnEditRulesStateRef","createTreeGridColumnEditRulesState","hasAppliedInitialLayoutRef","bodyReloadSequenceRef","bindingLoadingStartedAtRef","bindingLoadingHideTimeoutRef","bodyReloadStartTimeoutRef","highlightEditableCellsRef","highlightChangedCellsRef","isTreeGridReady","setIsTreeGridReady","useState","isBindingLoadingVisible","setIsBindingLoadingVisible","hasDisplayDataRows","setHasDisplayDataRows","currentLanguage","useGetCurrentLanguage","currentLanguageIdRef","isPendingBodyReload","isLoadingOverlayVisible","isNoDataVisible","isEmpty","syncHasDisplayDataRows","grid","hasTreeGridDisplayDataRows","overlayFrame","useOwpTreeGridOverlayFrame","clearBindingLoadingHideTimeout","clearBodyReloadStartTimeout","useEffect","handleBodyRowsChanged","event","_a","TREE_GRID_BODY_ROWS_CHANGED_EVENT","bindTreeGridEvents","getTreeGridPerfTimestamp","countTreeGridPerf","logTreeGridPerf","getTreeGridBodyDataCount","buildTreeGridInitializationOptions","delay","useLayoutEffect","treeGrid","nextLayoutOverrides","nextBodyData","nextColumnEditRules","shouldApplyLayoutOverrides","isEqual","shouldApplyBodyData","shouldApplyColumnEditRules","layoutApplyStartedAt","applyTreeGridLayoutToGrid","measureTreeGridPerf","reloadSequence","runBodyReload","bodyDataToApply","replaceTreeGridBodyData","startedAt","remainingVisibleTime","TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS","syncTreeGridColumnEditRules","resolvedContainerStyle","jsx","omit","OwpTreeGridNoDataOverlay","OwpTreeGridLoadingOverlay"],"mappings":"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"}
1
+ {"version":3,"file":"OwpTreeGrid.js","sources":["../../../src/components/OwpTreeGrid/OwpTreeGrid.tsx"],"sourcesContent":["import { resolveOwpGridTheme } from '@/constants/gridTheme';\nimport { useGetCurrentSettings } from '@/hooks/useOwpSettings';\nimport { useOwpTranslation } from '@/hooks/useOwpTranslation';\nimport { useGetCurrentLanguage } from '@/hooks/useCurrentLanguage';\nimport {\n TREE_GRID_BODY_ROWS_CHANGED_EVENT,\n type TreeGridBodyRowsChangedEventDetail,\n} from '@/utils/treeGridBodyRowsEvent';\nimport { delay, isEmpty, isEqual, omit } from 'es-toolkit/compat';\n// Temporary TreeGrid perf instrumentation import. Remove with ./internal/utils/perf after profiling is finished.\nimport {\n countTreeGridPerf,\n getTreeGridPerfTimestamp,\n logTreeGridPerf,\n measureTreeGridPerf,\n} from './internal/utils/perf';\nimport {\n type CSSProperties,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport GlobalStyles from '@mui/material/GlobalStyles';\nimport { useOwpTreeGridOverlayFrame } from './internal/hooks/useOwpTreeGridOverlayFrame';\nimport {\n bindTreeGridEvents,\n buildTreeGridInitializationOptions,\n getTreeGridBodyDataCount,\n hasTreeGridDisplayDataRows,\n replaceTreeGridBodyData,\n TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS,\n type TreeGridEventHandlers,\n} from './internal/treeGridRuntime';\nimport { applyTreeGridLayoutToGrid } from './internal/treeGridLayout';\nimport { OwpTreeGridLoadingOverlay } from './internal/OwpTreeGridLoadingOverlay';\nimport { OwpTreeGridNoDataOverlay } from './internal/OwpTreeGridNoDataOverlay';\nimport {\n createTreeGridColumnEditRulesState,\n resolveTreeGridColumnEditRuleLookup,\n syncTreeGridColumnEditRules,\n} from './internal/treeGridColumnEditRules';\n\ntype TreeGridLayoutScalarValue = string | number;\ntype TreeGridNestedLayoutFields = Record<string, TreeGridLayoutScalarValue>;\ntype TreeGridLayoutFields = Record<string, TreeGridLayoutScalarValue | TreeGridNestedLayoutFields>;\ntype TreeGridSectionFields = Record<string, TreeGridLayoutScalarValue>;\ntype TreeGridThemeContainerStyle = CSSProperties & {\n '--owp-tree-grid-header-background-color'?: string;\n '--owp-tree-grid-header-color'?: string;\n '--owp-tree-grid-header-font-size'?: string;\n '--owp-tree-grid-header-font-weight'?: string;\n '--owp-tree-grid-cell-font-size'?: string;\n};\n\nconst TREE_GRID_STYLE_PREFIXES = [\n 'TS',\n 'TW',\n 'TB',\n 'TM',\n 'TT',\n 'CF',\n 'CL',\n 'CO',\n 'CG',\n 'CB',\n 'CQ',\n 'CE',\n 'CS',\n 'CR',\n 'CP',\n 'CC',\n] as const;\nconst TREE_GRID_THEME_WRAPPER_CLASS = 'owp-tree-grid-theme';\n\nconst toTreeGridCssValue = (value: number | string) => {\n return typeof value === 'number' ? `${value}px` : value;\n};\n\nconst createTreeGridSelectors = ({\n rowSuffix,\n suffixes,\n withChildren = false,\n}: {\n rowSuffix?: string;\n suffixes: readonly string[];\n withChildren?: boolean;\n}) => {\n return TREE_GRID_STYLE_PREFIXES.flatMap((prefix) => {\n return suffixes.flatMap((suffix) => {\n const wrapperSelector = `.${TREE_GRID_THEME_WRAPPER_CLASS}`;\n const rowSelector = rowSuffix ? ` .${prefix}${rowSuffix}` : '';\n const selector = `${wrapperSelector}${rowSelector} .${prefix}${suffix}`;\n\n return withChildren ? [selector, `${selector} *`] : [selector];\n });\n }).join(', ');\n};\n\nconst treeGridBodyTypographySelector = createTreeGridSelectors({\n suffixes: ['Main'],\n withChildren: true,\n});\n\nconst treeGridHeaderTypographySelector = createTreeGridSelectors({\n rowSuffix: 'HeaderRow',\n suffixes: ['CellHeader', 'CellIndex', 'GanttHeaderBase', 'LevelButton'],\n withChildren: true,\n});\n\nconst treeGridHeaderSurfaceSelector = createTreeGridSelectors({\n rowSuffix: 'HeaderRow',\n suffixes: [\n 'CellHeader',\n 'CellIndex',\n 'EditHeaderInput',\n 'EditHeaderTextarea',\n 'ColorFocusedCellHeader',\n 'ColorHoveredCellHeader',\n 'ColorHoveredCellIndex',\n 'HeaderFocus',\n 'HeaderDrag',\n ],\n});\n\nconst treeGridThemeStyles = {\n [treeGridBodyTypographySelector]: {\n fontSize: 'var(--owp-tree-grid-cell-font-size, 13px)',\n fontWeight: 'normal',\n lineHeight: '16px',\n },\n [treeGridHeaderTypographySelector]: {\n color: 'var(--owp-tree-grid-header-color, #ffffff) !important',\n fontSize: 'var(--owp-tree-grid-header-font-size, 14px) !important',\n fontWeight: 'var(--owp-tree-grid-header-font-weight, normal) !important',\n lineHeight: '16px',\n },\n [treeGridHeaderSurfaceSelector]: {\n backgroundColor: 'var(--owp-tree-grid-header-background-color, #586980) !important',\n color: 'var(--owp-tree-grid-header-color, #ffffff) !important',\n },\n};\n\nexport interface OwpTreeGridLayout {\n Header?: TreeGridLayoutFields;\n Toolbar?: TreeGridSectionFields;\n Foot?: TreeGridSectionFields;\n}\n\nexport type OwpTreeGridLayoutConfig = OwpTreeGridLayout;\nexport type THeader = OwpTreeGridLayoutConfig;\nexport type OwpTreeGridBodyData<T> = Record<string, never> | [] | undefined | T[];\nexport type OwpTreeGridData<T> = OwpTreeGridBodyData<T>;\nexport type TData<T> = OwpTreeGridBodyData<T>;\nexport type OwpTreeGridRowModel<T> = TRow & T;\nexport type OwpTreeGridSelectedRows<T> = OwpTreeGridRowModel<T>[];\nexport type OwpTreeGridColumnEditPreset = 'hourMinute';\n\nexport interface OwpTreeGridColumnEditRule {\n columns: readonly string[];\n preset: OwpTreeGridColumnEditPreset;\n}\n\ntype OwpTreeGridSelectHandler<T> = (selectedRows: OwpTreeGridSelectedRows<T>) => void;\ntype OwpTreeGridRowAddHandler<T> = (grid: TGrid, row: OwpTreeGridRowModel<T>) => void;\ntype OwpTreeGridRowDeleteHandler<T> = (\n grid: TGrid,\n row: OwpTreeGridRowModel<T>,\n deleteType: number,\n) => void;\ntype OwpTreeGridRowUndeleteHandler<T> = (grid: TGrid, row: OwpTreeGridRowModel<T>) => void;\ntype OwpTreeGridButtonClickHandler<T> = (\n grid: TGrid,\n row: OwpTreeGridRowModel<T>,\n col: string,\n event: Event,\n) => void;\ntype OwpTreeGridRowClickHandler<T> = (\n grid: TGrid,\n row: OwpTreeGridRowModel<T>,\n col: string,\n x: number,\n y: number,\n event: Event,\n) => void;\ntype OwpTreeGridSaveHandler<T> = (\n grid: TGrid,\n row: OwpTreeGridRowModel<T>,\n autoupdate: boolean | number,\n) => void;\ntype OwpTreeGridCellValue = unknown;\ntype OwpTreeGridAfterValueChangedHandler<T> = (\n grid: TGrid,\n row: OwpTreeGridRowModel<T>,\n col: string,\n value: OwpTreeGridCellValue,\n) => void;\n\nexport interface OwpTreeGridProps<T> {\n id: string;\n className?: string;\n containerStyle?: CSSProperties;\n containerClassName?: string;\n layoutUrl?: string;\n dataUrl?: string;\n layoutOverrides?: OwpTreeGridLayoutConfig;\n data?: OwpTreeGridBodyData<T>;\n style?: CSSProperties;\n height?: string | number;\n width?: string | number;\n useDataUrl?: boolean;\n onSelect?: OwpTreeGridSelectHandler<T>;\n onRowAdd?: OwpTreeGridRowAddHandler<T>;\n onRowDelete?: OwpTreeGridRowDeleteHandler<T>;\n onRowUndelete?: OwpTreeGridRowUndeleteHandler<T>;\n onRowChange?: OwpTreeGridAfterValueChangedHandler<T>;\n onClickButton?: OwpTreeGridButtonClickHandler<T>;\n onReady?: (grid: TGrid) => void;\n onRowClick?: OwpTreeGridRowClickHandler<T>;\n onSave?: OwpTreeGridSaveHandler<T>;\n onAfterValueChanged?: OwpTreeGridAfterValueChangedHandler<T>;\n columnEditRules?: readonly OwpTreeGridColumnEditRule[];\n highlightEditableCells?: boolean;\n highlightChangedCells?: boolean;\n loading?: boolean;\n showLoading?: boolean;\n}\n\n/**\n * OwpTreeGrid 컴포넌트\n * @param id 식별자\n * @param containerStyle containerStyle 값\n * @param containerClassName containerClassName 값\n * @param className CSS 클래스명\n * @param style 스타일 객체\n * @param height height 값\n */\nconst OwpTreeGrid = <T,>({\n id = 'treeGridWrapper',\n containerStyle,\n containerClassName,\n className,\n style,\n height = '100%',\n width = '100%',\n layoutUrl,\n dataUrl,\n layoutOverrides,\n data,\n useDataUrl,\n onSelect,\n onRowClick,\n onRowAdd,\n onRowDelete,\n onRowUndelete,\n onRowChange,\n onClickButton,\n onSave,\n onReady,\n onAfterValueChanged,\n columnEditRules,\n highlightEditableCells = true,\n highlightChangedCells = true,\n loading,\n showLoading = true,\n}: OwpTreeGridProps<T>) => {\n const { t } = useOwpTranslation();\n const currentSettings = useGetCurrentSettings();\n const treeGridInstanceRef = useRef<TGrid>(null);\n const treeGridContainerRef = useRef<HTMLDivElement | null>(null);\n const treeGridInitStartedAtRef = useRef<number | null>(null);\n const bodyReloadStartedAtRef = useRef<number | null>(null);\n const latestLayoutOverridesRef = useRef<OwpTreeGridLayoutConfig | undefined>(layoutOverrides);\n const latestBodyDataPropRef = useRef<OwpTreeGridBodyData<T>>(data);\n const latestColumnEditRulesRef = useRef<readonly OwpTreeGridColumnEditRule[] | undefined>(\n columnEditRules,\n );\n const latestColumnEditRuleLookupRef = useRef(\n resolveTreeGridColumnEditRuleLookup(columnEditRules, {\n hourMinuteInvalidText: t('Message.시간은 HH:mm 형식으로 입력해주세요.'),\n }),\n );\n const latestEventHandlersRef = useRef<TreeGridEventHandlers<T>>({\n onSelect,\n onRowClick,\n onRowAdd,\n onRowDelete,\n onRowUndelete,\n onRowChange,\n onClickButton,\n onSave,\n onReady,\n onAfterValueChanged,\n });\n const stagedBodyDataPropRef = useRef<OwpTreeGridBodyData<T>>(undefined);\n const hasStagedBodyDataPropRef = useRef(false);\n const appliedLayoutOverridesRef = useRef<OwpTreeGridLayoutConfig | undefined>(undefined);\n const appliedBodyDataPropRef = useRef<OwpTreeGridBodyData<T>>(undefined);\n const appliedColumnEditRulesRef = useRef<readonly OwpTreeGridColumnEditRule[] | undefined>(\n undefined,\n );\n const columnEditRulesStateRef = useRef(createTreeGridColumnEditRulesState());\n const hasAppliedInitialLayoutRef = useRef(false);\n const bodyReloadSequenceRef = useRef(0);\n const bindingLoadingStartedAtRef = useRef<number | null>(null);\n const bindingLoadingHideTimeoutRef = useRef<number | undefined>(undefined);\n const bodyReloadStartTimeoutRef = useRef<number | undefined>(undefined);\n const highlightEditableCellsRef = useRef(highlightEditableCells);\n const highlightChangedCellsRef = useRef(highlightChangedCells);\n const [isTreeGridReady, setIsTreeGridReady] = useState(false);\n const [isBindingLoadingVisible, setIsBindingLoadingVisible] = useState(false);\n const [hasDisplayDataRows, setHasDisplayDataRows] = useState(false);\n const currentLanguage = useGetCurrentLanguage();\n const treeGridTheme = useMemo(\n () => resolveOwpGridTheme(currentSettings?.theme?.main?.grid),\n [currentSettings],\n );\n const currentLanguageIdRef = useRef(currentLanguage.id);\n const isPendingBodyReload =\n showLoading &&\n data !== undefined &&\n isTreeGridReady &&\n appliedBodyDataPropRef.current !== data;\n const isInternalLoadingVisible = showLoading && (isBindingLoadingVisible || isPendingBodyReload);\n const isLoadingOverlayVisible = (showLoading && loading === true) || isInternalLoadingVisible;\n const isNoDataVisible =\n !isLoadingOverlayVisible && data !== undefined && isEmpty(data) && !hasDisplayDataRows;\n\n const syncHasDisplayDataRows = (grid: TGrid | null) => {\n setHasDisplayDataRows(hasTreeGridDisplayDataRows(grid));\n };\n\n latestLayoutOverridesRef.current = layoutOverrides;\n latestBodyDataPropRef.current = data;\n latestColumnEditRulesRef.current = columnEditRules;\n latestColumnEditRuleLookupRef.current = resolveTreeGridColumnEditRuleLookup(columnEditRules, {\n hourMinuteInvalidText: t('Message.시간은 HH:mm 형식으로 입력해주세요.'),\n });\n highlightEditableCellsRef.current = highlightEditableCells;\n highlightChangedCellsRef.current = highlightChangedCells;\n latestEventHandlersRef.current = {\n onSelect,\n onRowClick,\n onRowAdd,\n onRowDelete,\n onRowUndelete,\n onRowChange,\n onClickButton,\n onSave,\n onReady,\n onAfterValueChanged,\n };\n\n const overlayFrame = useOwpTreeGridOverlayFrame({\n visible: isLoadingOverlayVisible || isNoDataVisible,\n containerRef: treeGridContainerRef,\n treeGridInstanceRef,\n debugId: id,\n });\n\n const clearBindingLoadingHideTimeout = () => {\n if (bindingLoadingHideTimeoutRef.current !== undefined) {\n window.clearTimeout(bindingLoadingHideTimeoutRef.current);\n bindingLoadingHideTimeoutRef.current = undefined;\n }\n };\n\n const clearBodyReloadStartTimeout = () => {\n if (bodyReloadStartTimeoutRef.current !== undefined) {\n window.clearTimeout(bodyReloadStartTimeoutRef.current);\n bodyReloadStartTimeoutRef.current = undefined;\n }\n };\n\n useEffect(() => {\n const handleBodyRowsChanged = (event: Event) => {\n const customEvent = event as CustomEvent<TreeGridBodyRowsChangedEventDetail>;\n\n if (customEvent.detail?.gridId !== id) {\n return;\n }\n\n setHasDisplayDataRows(hasTreeGridDisplayDataRows(treeGridInstanceRef.current));\n };\n\n window.addEventListener(TREE_GRID_BODY_ROWS_CHANGED_EVENT, handleBodyRowsChanged);\n\n return () => {\n window.removeEventListener(TREE_GRID_BODY_ROWS_CHANGED_EVENT, handleBodyRowsChanged);\n };\n }, [id]);\n\n useEffect(() => {\n if (!showLoading) {\n clearBodyReloadStartTimeout();\n clearBindingLoadingHideTimeout();\n bindingLoadingStartedAtRef.current = null;\n setIsBindingLoadingVisible(false);\n }\n }, [showLoading]);\n\n useEffect(() => {\n if (\n currentLanguage.id !== currentLanguageIdRef.current &&\n !isEmpty(treeGridInstanceRef.current)\n ) {\n treeGridInstanceRef.current?.Dispose();\n treeGridInstanceRef.current = null;\n currentLanguageIdRef.current = currentLanguage.id;\n }\n\n if (!isEmpty(treeGridInstanceRef.current)) {\n return;\n }\n\n bindTreeGridEvents({\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 });\n\n treeGridInitStartedAtRef.current = getTreeGridPerfTimestamp();\n countTreeGridPerf(id, 'init');\n logTreeGridPerf(id, 'TreeGrid init start', {\n useDataUrl: Boolean(useDataUrl),\n bodyRowCount: getTreeGridBodyDataCount(data),\n });\n\n window.TreeGrid(\n buildTreeGridInitializationOptions({\n id,\n layoutUrl,\n dataUrl,\n bodyData: data,\n useDataUrl,\n width,\n height,\n languageId: currentLanguage.id,\n }),\n id,\n id,\n );\n\n return () => {\n delay(() => {\n treeGridInstanceRef.current?.Dispose();\n }, 200);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useLayoutEffect(() => {\n const treeGrid = treeGridInstanceRef.current;\n const nextLayoutOverrides = latestLayoutOverridesRef.current;\n const nextBodyData = latestBodyDataPropRef.current;\n const nextColumnEditRules = latestColumnEditRulesRef.current;\n\n if (isEmpty(treeGrid) || !isTreeGridReady) {\n return;\n }\n\n const shouldApplyLayoutOverrides =\n appliedLayoutOverridesRef.current !== nextLayoutOverrides &&\n !isEqual(appliedLayoutOverridesRef.current, nextLayoutOverrides);\n const shouldApplyBodyData =\n appliedBodyDataPropRef.current !== nextBodyData &&\n (!hasStagedBodyDataPropRef.current || stagedBodyDataPropRef.current !== nextBodyData);\n const shouldApplyColumnEditRules =\n appliedColumnEditRulesRef.current !== nextColumnEditRules &&\n !isEqual(appliedColumnEditRulesRef.current, nextColumnEditRules);\n\n if (!shouldApplyLayoutOverrides && !shouldApplyBodyData && !shouldApplyColumnEditRules) {\n return;\n }\n\n if (shouldApplyLayoutOverrides) {\n const layoutApplyStartedAt = getTreeGridPerfTimestamp();\n\n applyTreeGridLayoutToGrid(treeGrid, nextLayoutOverrides, shouldApplyBodyData);\n appliedLayoutOverridesRef.current = nextLayoutOverrides;\n measureTreeGridPerf(id, 'apply layout', layoutApplyStartedAt, {\n disableBodyReload: Boolean(shouldApplyBodyData),\n });\n }\n\n if (shouldApplyBodyData) {\n const reloadSequence = bodyReloadSequenceRef.current + 1;\n const runBodyReload = () => {\n const bodyDataToApply = stagedBodyDataPropRef.current;\n\n bodyReloadStartTimeoutRef.current = undefined;\n bodyReloadStartedAtRef.current = getTreeGridPerfTimestamp();\n countTreeGridPerf(id, 'reload');\n logTreeGridPerf(id, 'ReloadBody start', {\n bodyRowCount: getTreeGridBodyDataCount(bodyDataToApply),\n });\n\n replaceTreeGridBodyData(treeGrid, bodyDataToApply, () => {\n if (bodyReloadSequenceRef.current !== reloadSequence) {\n return;\n }\n\n appliedBodyDataPropRef.current = bodyDataToApply;\n syncHasDisplayDataRows(treeGrid);\n measureTreeGridPerf(id, 'ReloadBody end', bodyReloadStartedAtRef.current, {\n bodyRowCount: getTreeGridBodyDataCount(bodyDataToApply),\n });\n bodyReloadStartedAtRef.current = null;\n\n if (stagedBodyDataPropRef.current === bodyDataToApply) {\n stagedBodyDataPropRef.current = undefined;\n hasStagedBodyDataPropRef.current = false;\n }\n\n const startedAt = bindingLoadingStartedAtRef.current;\n\n if (!showLoading || startedAt === null) {\n bindingLoadingStartedAtRef.current = null;\n setIsBindingLoadingVisible(false);\n return;\n }\n\n const remainingVisibleTime = Math.max(\n 0,\n TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS - (Date.now() - startedAt),\n );\n\n clearBindingLoadingHideTimeout();\n\n if (remainingVisibleTime === 0) {\n bindingLoadingStartedAtRef.current = null;\n setIsBindingLoadingVisible(false);\n return;\n }\n\n bindingLoadingHideTimeoutRef.current = window.setTimeout(() => {\n if (bodyReloadSequenceRef.current !== reloadSequence) {\n return;\n }\n\n bindingLoadingHideTimeoutRef.current = undefined;\n bindingLoadingStartedAtRef.current = null;\n setIsBindingLoadingVisible(false);\n }, remainingVisibleTime);\n });\n };\n\n bodyReloadSequenceRef.current = reloadSequence;\n stagedBodyDataPropRef.current = nextBodyData;\n hasStagedBodyDataPropRef.current = true;\n\n if (showLoading && nextBodyData !== undefined) {\n clearBodyReloadStartTimeout();\n clearBindingLoadingHideTimeout();\n bindingLoadingStartedAtRef.current = Date.now();\n setIsBindingLoadingVisible(true);\n bodyReloadStartTimeoutRef.current = window.setTimeout(() => {\n if (bodyReloadSequenceRef.current !== reloadSequence) {\n return;\n }\n\n runBodyReload();\n }, 0);\n } else {\n runBodyReload();\n }\n }\n\n if (shouldApplyColumnEditRules) {\n syncTreeGridColumnEditRules(\n treeGrid,\n latestColumnEditRuleLookupRef.current,\n columnEditRulesStateRef.current,\n );\n appliedColumnEditRulesRef.current = nextColumnEditRules;\n }\n }, [isTreeGridReady, layoutOverrides, data, columnEditRules, showLoading, id]);\n\n useEffect(() => {\n return () => {\n clearBodyReloadStartTimeout();\n clearBindingLoadingHideTimeout();\n };\n }, []);\n\n const resolvedContainerStyle: TreeGridThemeContainerStyle = {\n height,\n width,\n '--owp-tree-grid-header-background-color': treeGridTheme.header.backgroundColor,\n '--owp-tree-grid-header-color': treeGridTheme.header.color,\n '--owp-tree-grid-header-font-size': toTreeGridCssValue(treeGridTheme.header.fontSize),\n '--owp-tree-grid-header-font-weight': String(treeGridTheme.header.fontWeight),\n '--owp-tree-grid-cell-font-size': toTreeGridCssValue(treeGridTheme.cell.fontSize),\n ...containerStyle,\n };\n\n if (showLoading || isNoDataVisible) {\n resolvedContainerStyle.position =\n containerStyle?.position && containerStyle.position !== 'static'\n ? containerStyle.position\n : 'relative';\n resolvedContainerStyle.isolation = 'isolate';\n }\n\n return (\n <div\n ref={treeGridContainerRef}\n className={[TREE_GRID_THEME_WRAPPER_CLASS, containerClassName].filter(Boolean).join(' ')}\n style={resolvedContainerStyle}\n >\n <GlobalStyles styles={treeGridThemeStyles} />\n <div id={id} className={className} style={omit(style, ['height', 'width'])} />\n <OwpTreeGridNoDataOverlay\n visible={isNoDataVisible}\n message={t('Message.조회된 결과가 없습니다.')}\n overlayFrame={overlayFrame}\n />\n <OwpTreeGridLoadingOverlay visible={isLoadingOverlayVisible} overlayFrame={overlayFrame} />\n </div>\n );\n};\n\nexport { OwpTreeGrid };\n"],"names":["TREE_GRID_STYLE_PREFIXES","TREE_GRID_THEME_WRAPPER_CLASS","toTreeGridCssValue","__name","value","createTreeGridSelectors","rowSuffix","suffixes","withChildren","prefix","suffix","wrapperSelector","rowSelector","selector","treeGridBodyTypographySelector","treeGridHeaderTypographySelector","treeGridHeaderSurfaceSelector","treeGridThemeStyles","OwpTreeGrid","id","containerStyle","containerClassName","className","style","height","width","layoutUrl","dataUrl","layoutOverrides","data","useDataUrl","onSelect","onRowClick","onRowAdd","onRowDelete","onRowUndelete","onRowChange","onClickButton","onSave","onReady","onAfterValueChanged","columnEditRules","highlightEditableCells","highlightChangedCells","loading","showLoading","t","useOwpTranslation","currentSettings","useGetCurrentSettings","treeGridInstanceRef","useRef","treeGridContainerRef","treeGridInitStartedAtRef","bodyReloadStartedAtRef","latestLayoutOverridesRef","latestBodyDataPropRef","latestColumnEditRulesRef","latestColumnEditRuleLookupRef","resolveTreeGridColumnEditRuleLookup","latestEventHandlersRef","stagedBodyDataPropRef","hasStagedBodyDataPropRef","appliedLayoutOverridesRef","appliedBodyDataPropRef","appliedColumnEditRulesRef","columnEditRulesStateRef","createTreeGridColumnEditRulesState","hasAppliedInitialLayoutRef","bodyReloadSequenceRef","bindingLoadingStartedAtRef","bindingLoadingHideTimeoutRef","bodyReloadStartTimeoutRef","highlightEditableCellsRef","highlightChangedCellsRef","isTreeGridReady","setIsTreeGridReady","useState","isBindingLoadingVisible","setIsBindingLoadingVisible","hasDisplayDataRows","setHasDisplayDataRows","currentLanguage","useGetCurrentLanguage","treeGridTheme","useMemo","resolveOwpGridTheme","_b","_a","currentLanguageIdRef","isPendingBodyReload","isLoadingOverlayVisible","isNoDataVisible","isEmpty","syncHasDisplayDataRows","grid","hasTreeGridDisplayDataRows","overlayFrame","useOwpTreeGridOverlayFrame","clearBindingLoadingHideTimeout","clearBodyReloadStartTimeout","useEffect","handleBodyRowsChanged","event","TREE_GRID_BODY_ROWS_CHANGED_EVENT","bindTreeGridEvents","getTreeGridPerfTimestamp","countTreeGridPerf","logTreeGridPerf","getTreeGridBodyDataCount","buildTreeGridInitializationOptions","delay","useLayoutEffect","treeGrid","nextLayoutOverrides","nextBodyData","nextColumnEditRules","shouldApplyLayoutOverrides","isEqual","shouldApplyBodyData","shouldApplyColumnEditRules","layoutApplyStartedAt","applyTreeGridLayoutToGrid","measureTreeGridPerf","reloadSequence","runBodyReload","bodyDataToApply","replaceTreeGridBodyData","startedAt","remainingVisibleTime","TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS","syncTreeGridColumnEditRules","resolvedContainerStyle","jsxs","jsx","GlobalStyles","omit","OwpTreeGridNoDataOverlay","OwpTreeGridLoadingOverlay"],"mappings":"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"}
@@ -9,9 +9,9 @@ const O = /* @__PURE__ */ e(({
9
9
  exportName: r,
10
10
  children: a,
11
11
  loading: n,
12
- loadingPosition: c,
12
+ loadingPosition: p,
13
13
  onClick: o,
14
- ...p
14
+ ...c
15
15
  }) => {
16
16
  const { t: d } = x(), { exportByTreeGrid: l, isExporting: i } = f(t);
17
17
  return /* @__PURE__ */ m(
@@ -19,17 +19,17 @@ const O = /* @__PURE__ */ e(({
19
19
  {
20
20
  variant: "contained",
21
21
  color: "success",
22
- ...p,
22
+ ...c,
23
23
  loading: !!(n || i),
24
- loadingPosition: c ?? "start",
24
+ loadingPosition: p ?? "start",
25
25
  onClick: /* @__PURE__ */ e((s) => {
26
26
  o == null || o(s), !(s.defaultPrevented || n || i) && l(r ?? t);
27
27
  }, "handleClick"),
28
28
  children: a ?? d("Button.엑셀 다운로드")
29
29
  }
30
30
  );
31
- }, "OwpTreeGridExcelButton");
31
+ }, "OwpTreeGridExportExcelButton");
32
32
  export {
33
- O as OwpTreeGridExcelButton
33
+ O as OwpTreeGridExportExcelButton
34
34
  };
35
- //# sourceMappingURL=OwpTreeGridExcelButton.js.map
35
+ //# sourceMappingURL=OwpTreeGridExportExcelButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OwpTreeGridExportExcelButton.js","sources":["../../../src/components/OwpTreeGridExportExcelButton/OwpTreeGridExportExcelButton.tsx"],"sourcesContent":["import { useOwpTranslation } from '@/hooks/useOwpTranslation';\nimport { useTreeGridExcelExport } from '@/hooks/useTreeGridExcelExport';\nimport { Button, type ButtonProps } from '@mui/material';\nimport { type MouseEventHandler } from 'react';\n\nexport interface OwpTreeGridExportExcelButtonProps extends ButtonProps {\n gridId: string;\n exportName?: string;\n}\n\n/**\n * TreeGrid 엑셀 내보내기 버튼\n * @param gridId TreeGrid 인스턴스 ID\n * @param exportName 다운로드 파일명\n */\nconst OwpTreeGridExportExcelButton = ({\n gridId,\n exportName,\n children,\n loading,\n loadingPosition,\n onClick,\n ...buttonProps\n}: OwpTreeGridExportExcelButtonProps) => {\n const { t } = useOwpTranslation();\n const { exportByTreeGrid, isExporting } = useTreeGridExcelExport(gridId);\n\n const handleClick: MouseEventHandler<HTMLButtonElement> = (event) => {\n onClick?.(event);\n\n if (event.defaultPrevented || loading || isExporting) {\n return;\n }\n\n void exportByTreeGrid(exportName ?? gridId);\n };\n\n return (\n <Button\n variant=\"contained\"\n color=\"success\"\n {...buttonProps}\n loading={Boolean(loading || isExporting)}\n loadingPosition={loadingPosition ?? 'start'}\n onClick={handleClick}\n >\n {children ?? t('Button.엑셀 다운로드')}\n </Button>\n );\n};\n\nexport { OwpTreeGridExportExcelButton };\n"],"names":["OwpTreeGridExportExcelButton","__name","gridId","exportName","children","loading","loadingPosition","onClick","buttonProps","t","useOwpTranslation","exportByTreeGrid","isExporting","useTreeGridExcelExport","jsx","Button","event"],"mappings":";;;;;;AAeA,MAAMA,IAA+B,gBAAAC,EAAA,CAAC;AAAA,EACpC,QAAAC;AAAA,EACA,YAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL,MAAyC;AACvC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAA,GACR,EAAE,kBAAAC,GAAkB,aAAAC,MAAgBC,EAAuBX,CAAM;AAYvE,SACE,gBAAAY;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,OAAM;AAAA,MACL,GAAGP;AAAA,MACJ,SAAS,GAAQH,KAAWO;AAAA,MAC5B,iBAAiBN,KAAmB;AAAA,MACpC,SAjBsD,gBAAAL,EAAA,CAACe,MAAU;AAGnE,QAFAT,KAAA,QAAAA,EAAUS,IAEN,EAAAA,EAAM,oBAAoBX,KAAWO,MAIpCD,EAAiBR,KAAcD,CAAM;AAAA,MAC5C,GAR0D;AAAA,MAmBrD,UAAAE,KAAYK,EAAE,gBAAgB;AAAA,IAAA;AAAA,EAAA;AAGrC,GAlCqC;"}
@@ -0,0 +1,28 @@
1
+ var c = Object.defineProperty;
2
+ var o = (l, t) => c(l, "name", { value: t, configurable: !0 });
3
+ const f = {
4
+ header: {
5
+ backgroundColor: "#586980",
6
+ color: "#ffffff",
7
+ fontSize: "14px",
8
+ fontWeight: "normal",
9
+ height: 33
10
+ },
11
+ cell: {
12
+ fontSize: "13px"
13
+ }
14
+ }, a = /* @__PURE__ */ o((l) => ({
15
+ header: {
16
+ ...f.header,
17
+ ...(l == null ? void 0 : l.header) ?? {}
18
+ },
19
+ cell: {
20
+ ...f.cell,
21
+ ...(l == null ? void 0 : l.cell) ?? {}
22
+ }
23
+ }), "resolveOwpGridTheme");
24
+ export {
25
+ f as defaultOwpGridTheme,
26
+ a as resolveOwpGridTheme
27
+ };
28
+ //# sourceMappingURL=gridTheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gridTheme.js","sources":["../../src/constants/gridTheme.ts"],"sourcesContent":["import type { OwpGridThemeConfigType } from '@/types/OwpGridThemeTypes';\n\nexport type OwpResolvedGridThemeConfigType = {\n header: {\n backgroundColor: string;\n color: string;\n fontSize: number | string;\n fontWeight: number | string;\n height: number | string;\n };\n cell: {\n fontSize: number | string;\n };\n};\n\nexport const defaultOwpGridTheme = {\n header: {\n backgroundColor: '#586980',\n color: '#ffffff',\n fontSize: '14px',\n fontWeight: 'normal',\n height: 33,\n },\n cell: {\n fontSize: '13px',\n },\n} satisfies OwpResolvedGridThemeConfigType;\n\n/**\n * Grid theme 토큰 기본값 병합\n * @param gridTheme 앱 theme grid 설정\n */\nexport const resolveOwpGridTheme = (\n gridTheme?: OwpGridThemeConfigType | null,\n): OwpResolvedGridThemeConfigType => {\n return {\n header: {\n ...defaultOwpGridTheme.header,\n ...(gridTheme?.header ?? {}),\n },\n cell: {\n ...defaultOwpGridTheme.cell,\n ...(gridTheme?.cell ?? {}),\n },\n };\n};\n"],"names":["defaultOwpGridTheme","resolveOwpGridTheme","__name","gridTheme"],"mappings":";;AAeO,MAAMA,IAAsB;AAAA,EACjC,QAAQ;AAAA,IACN,iBAAiB;AAAA,IACjB,OAAO;AAAA,IACP,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,QAAQ;AAAA,EAAA;AAAA,EAEV,MAAM;AAAA,IACJ,UAAU;AAAA,EAAA;AAEd,GAMaC,IAAsB,gBAAAC,EAAA,CACjCC,OAEO;AAAA,EACL,QAAQ;AAAA,IACN,GAAGH,EAAoB;AAAA,IACvB,IAAIG,KAAA,gBAAAA,EAAW,WAAU,CAAA;AAAA,EAAC;AAAA,EAE5B,MAAM;AAAA,IACJ,GAAGH,EAAoB;AAAA,IACvB,IAAIG,KAAA,gBAAAA,EAAW,SAAQ,CAAA;AAAA,EAAC;AAC1B,IAX+B;"}
@@ -0,0 +1,27 @@
1
+ var p = Object.defineProperty;
2
+ var r = (a, o) => p(a, "name", { value: o, configurable: !0 });
3
+ import { normalizeFormDataUploadParams as b, createFormDataBody as s } from "../utils/createFormDataBody.js";
4
+ import { useCallback as f } from "react";
5
+ const D = /* @__PURE__ */ r(({
6
+ formData: a
7
+ }) => a, "createDefaultVariables"), z = /* @__PURE__ */ r((a) => {
8
+ const { mutation: o, createVariables: t, fileNameFieldName: e } = a, l = f(
9
+ (i, c) => {
10
+ const m = b(i, { fileNameFieldName: e }), u = s(m), n = {
11
+ body: m,
12
+ formData: u,
13
+ bodySerializer: s
14
+ }, d = (t == null ? void 0 : t(n)) ?? D(n);
15
+ o.mutate(d, c);
16
+ },
17
+ [t, e, o]
18
+ );
19
+ return {
20
+ ...o,
21
+ uploadFile: l
22
+ };
23
+ }, "useFormDataUploadMutation");
24
+ export {
25
+ z as useFormDataUploadMutation
26
+ };
27
+ //# sourceMappingURL=useFormDataUploadMutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFormDataUploadMutation.js","sources":["../../src/hooks/useFormDataUploadMutation.ts"],"sourcesContent":["import {\n createFormDataBody,\n normalizeFormDataUploadParams,\n type FormDataUploadBody,\n type FormDataUploadParams,\n type TAdditionalFields,\n} from '@/utils/createFormDataBody';\nimport { useCallback } from 'react';\n\nexport type {\n FormDataFieldValue,\n FormDataUploadBody,\n FormDataUploadParams,\n TAdditionalFields,\n} from '@/utils/createFormDataBody';\n\ntype FormDataUploadMutationLike = {\n mutate: (...args: any[]) => void;\n};\n\ntype FormDataUploadMutationMutateParameters<TMutation extends FormDataUploadMutationLike> =\n Parameters<TMutation['mutate']>;\n\ntype FormDataUploadMutationVariables<TMutation extends FormDataUploadMutationLike> =\n FormDataUploadMutationMutateParameters<TMutation>[0];\n\ntype FormDataUploadMutateOptions<TMutation extends FormDataUploadMutationLike> =\n FormDataUploadMutationMutateParameters<TMutation>[1];\n\nexport interface FormDataUploadMutationVariablesArgs<\n TFields extends TAdditionalFields = TAdditionalFields,\n> {\n body: FormDataUploadBody<TFields>;\n formData: FormData;\n bodySerializer: typeof createFormDataBody;\n}\n\ninterface UseFormDataUploadMutationBaseProps<TMutation extends FormDataUploadMutationLike> {\n mutation: TMutation;\n fileNameFieldName?: string;\n}\n\nexport type UseFormDataUploadMutationProps<\n TMutation extends FormDataUploadMutationLike,\n TFields extends TAdditionalFields = TAdditionalFields,\n> = FormDataUploadMutationVariables<TMutation> extends FormData\n ? UseFormDataUploadMutationBaseProps<TMutation> & {\n createVariables?: (\n args: FormDataUploadMutationVariablesArgs<TFields>,\n ) => FormDataUploadMutationVariables<TMutation>;\n }\n : UseFormDataUploadMutationBaseProps<TMutation> & {\n createVariables: (\n args: FormDataUploadMutationVariablesArgs<TFields>,\n ) => FormDataUploadMutationVariables<TMutation>;\n };\n\nexport type UseFormDataUploadMutationResult<\n TMutation extends FormDataUploadMutationLike,\n TFields extends TAdditionalFields = TAdditionalFields,\n> = TMutation & {\n uploadFile: (\n params: FormDataUploadParams<TFields>,\n options?: FormDataUploadMutateOptions<TMutation>,\n ) => void;\n};\n\nconst createDefaultVariables = <TMutation extends FormDataUploadMutationLike>({\n formData,\n}: FormDataUploadMutationVariablesArgs) => {\n return formData as FormDataUploadMutationVariables<TMutation>;\n};\n\n/**\n * FormData 업로드 mutation 어댑터 훅\n * @param props mutation 객체 및 변수 생성기\n */\nexport const useFormDataUploadMutation = <\n TMutation extends FormDataUploadMutationLike,\n TFields extends TAdditionalFields = TAdditionalFields,\n>(\n props: UseFormDataUploadMutationProps<TMutation, TFields>,\n): UseFormDataUploadMutationResult<TMutation, TFields> => {\n const { mutation, createVariables, fileNameFieldName } = props;\n\n const uploadFile = useCallback(\n (\n params: FormDataUploadParams<TFields>,\n options?: FormDataUploadMutateOptions<TMutation>,\n ) => {\n const body = normalizeFormDataUploadParams(params, { fileNameFieldName });\n const formData = createFormDataBody(body);\n const variablesArgs: FormDataUploadMutationVariablesArgs<TFields> = {\n body,\n formData,\n bodySerializer: createFormDataBody,\n };\n const nextVariables =\n createVariables?.(variablesArgs) ?? createDefaultVariables<TMutation>(variablesArgs);\n\n mutation.mutate(nextVariables, options);\n },\n [createVariables, fileNameFieldName, mutation],\n );\n\n return {\n ...mutation,\n uploadFile,\n };\n};\n"],"names":["createDefaultVariables","__name","formData","useFormDataUploadMutation","props","mutation","createVariables","fileNameFieldName","uploadFile","useCallback","params","options","body","normalizeFormDataUploadParams","createFormDataBody","variablesArgs","nextVariables"],"mappings":";;;;AAmEA,MAAMA,IAAyB,gBAAAC,EAAA,CAA+C;AAAA,EAC5E,UAAAC;AACF,MACSA,GAHsB,2BAUlBC,IAA4B,gBAAAF,EAAA,CAIvCG,MACwD;AACxD,QAAM,EAAE,UAAAC,GAAU,iBAAAC,GAAiB,mBAAAC,EAAA,IAAsBH,GAEnDI,IAAaC;AAAA,IACjB,CACEC,GACAC,MACG;AACH,YAAMC,IAAOC,EAA8BH,GAAQ,EAAE,mBAAAH,GAAmB,GAClEL,IAAWY,EAAmBF,CAAI,GAClCG,IAA8D;AAAA,QAClE,MAAAH;AAAA,QACA,UAAAV;AAAA,QACA,gBAAgBY;AAAA,MAAA,GAEZE,KACJV,KAAA,gBAAAA,EAAkBS,OAAkBf,EAAkCe,CAAa;AAErF,MAAAV,EAAS,OAAOW,GAAeL,CAAO;AAAA,IACxC;AAAA,IACA,CAACL,GAAiBC,GAAmBF,CAAQ;AAAA,EAAA;AAG/C,SAAO;AAAA,IACL,GAAGA;AAAA,IACH,YAAAG;AAAA,EAAA;AAEJ,GAhCyC;"}
package/dist/hooks.js CHANGED
@@ -1,85 +1,87 @@
1
1
  import { useGetCommonCodeList as t, useSetCommonCodeList as o } from "./hooks/useCommonCodeList.js";
2
2
  import { useAccessTokenGuard as u } from "./hooks/useAccessTokenGuard.js";
3
3
  import { useConfirm as n } from "./hooks/useConfirm.js";
4
- import { useGetCurrentLanguage as a, useGetLanguageList as f, useSetCurrentLanguage as i } from "./hooks/useCurrentLanguage.js";
4
+ import { useGetCurrentLanguage as p, useGetLanguageList as f, useSetCurrentLanguage as i } from "./hooks/useCurrentLanguage.js";
5
5
  import { useGetLogoSrc as C, useSetLogoSrc as S } from "./hooks/useLogoSrc.js";
6
6
  import { useGetCurrentUser as g, useSetCurrentUser as L } from "./hooks/useCurrentUser.js";
7
- import { useGetCurrentUserId as d, useSetCurrentUserId as T } from "./hooks/useCurrentUserId.js";
8
- import { useEnsureCurrentUserSeq as h, useGetCurrentUserSeq as l, useSetCurrentUserSeq as v } from "./hooks/useCurrentUserSeq.js";
7
+ import { useGetCurrentUserId as c, useSetCurrentUserId as T } from "./hooks/useCurrentUserId.js";
8
+ import { useEnsureCurrentUserSeq as h, useGetCurrentUserSeq as l, useSetCurrentUserSeq as U } from "./hooks/useCurrentUserSeq.js";
9
9
  import { useDebounce as b } from "./hooks/useDebounce.js";
10
- import { useDeepCompareEffect as N, useDeepCompareEffectNoCheck as D, useDeepCompareMemoize as I } from "./hooks/useDeepCompareEffect.js";
11
- import { useHeaderWrapState as q } from "./hooks/useHeaderWrapState.js";
12
- import { useInitApp as M } from "./hooks/useInitApp.js";
13
- import { useInitCommonCodes as P } from "./hooks/useInitCommonCodes.js";
14
- import { useGetNavbar as F, useNavbarActions as _ } from "./hooks/useNavbar.js";
15
- import { useGetNavigationList as B, useSetNavigationList as H } from "./hooks/useNavigation.js";
16
- import { useChangeOwpTheme as Q, useGetCurrentLayoutConfig as R, useGetCurrentSettings as W, useGetCustomScrollbarsEnabled as j, useGetDefaultSettings as J, useGetFooterTheme as V, useGetMainTheme as X, useGetNavbarTheme as Y, useGetOwpSettings as Z, useGetToolbarTheme as $, useResetSettings as ee, useSetDefaultSettings as re, useSetSettings as te } from "./hooks/useOwpSettings.js";
17
- import { useOwpTranslation as se } from "./hooks/useOwpTranslation.js";
18
- import { useGetPageLockLoading as me, usePageLockLoading as ne } from "./hooks/usePageLockLoading.js";
19
- import { usePrevious as ae } from "./hooks/usePrevious.js";
20
- import { useGetShortcuts as ie, useSetShortcuts as xe } from "./hooks/useShortcuts.js";
21
- import { getEnv as Se, setEnv as Ge, useStorage as ge } from "./hooks/useStorage.js";
22
- import { useThemeMediaQuery as ce } from "./hooks/useThemeMediaQuery.js";
23
- import { useTimeout as Te } from "./hooks/useTimeout.js";
24
- import { useTreeGridCommonCodeEnums as he } from "./hooks/useTreeGridCommonCodeEnums.js";
25
- import { useTreeGridEnums as ve } from "./hooks/useTreeGridEnums.js";
26
- import { useTreeGridExcelExport as be } from "./hooks/useTreeGridExcelExport.js";
27
- import { FALLBACK_LANGUAGE_LIST as Ne } from "./constants/language.js";
10
+ import { useDeepCompareEffect as D, useDeepCompareEffectNoCheck as N, useDeepCompareMemoize as I } from "./hooks/useDeepCompareEffect.js";
11
+ import { useFormDataUploadMutation as M } from "./hooks/useFormDataUploadMutation.js";
12
+ import { useHeaderWrapState as w } from "./hooks/useHeaderWrapState.js";
13
+ import { useInitApp as O } from "./hooks/useInitApp.js";
14
+ import { useInitCommonCodes as y } from "./hooks/useInitCommonCodes.js";
15
+ import { useGetNavbar as z, useNavbarActions as B } from "./hooks/useNavbar.js";
16
+ import { useGetNavigationList as K, useSetNavigationList as Q } from "./hooks/useNavigation.js";
17
+ import { useChangeOwpTheme as W, useGetCurrentLayoutConfig as j, useGetCurrentSettings as J, useGetCustomScrollbarsEnabled as V, useGetDefaultSettings as X, useGetFooterTheme as Y, useGetMainTheme as Z, useGetNavbarTheme as $, useGetOwpSettings as ee, useGetToolbarTheme as re, useResetSettings as te, useSetDefaultSettings as oe, useSetSettings as se } from "./hooks/useOwpSettings.js";
18
+ import { useOwpTranslation as me } from "./hooks/useOwpTranslation.js";
19
+ import { useGetPageLockLoading as ae, usePageLockLoading as pe } from "./hooks/usePageLockLoading.js";
20
+ import { usePrevious as ie } from "./hooks/usePrevious.js";
21
+ import { useGetShortcuts as Ce, useSetShortcuts as Se } from "./hooks/useShortcuts.js";
22
+ import { getEnv as ge, setEnv as Le, useStorage as de } from "./hooks/useStorage.js";
23
+ import { useThemeMediaQuery as Te } from "./hooks/useThemeMediaQuery.js";
24
+ import { useTimeout as he } from "./hooks/useTimeout.js";
25
+ import { useTreeGridCommonCodeEnums as Ue } from "./hooks/useTreeGridCommonCodeEnums.js";
26
+ import { useTreeGridEnums as be } from "./hooks/useTreeGridEnums.js";
27
+ import { useTreeGridExcelExport as De } from "./hooks/useTreeGridExcelExport.js";
28
+ import { FALLBACK_LANGUAGE_LIST as Ie } from "./constants/language.js";
28
29
  export {
29
- Ne as FALLBACK_LANGUAGE_LIST,
30
- Se as getEnv,
31
- Ge as setEnv,
30
+ Ie as FALLBACK_LANGUAGE_LIST,
31
+ ge as getEnv,
32
+ Le as setEnv,
32
33
  u as useAccessTokenGuard,
33
- Q as useChangeOwpTheme,
34
+ W as useChangeOwpTheme,
34
35
  n as useConfirm,
35
36
  b as useDebounce,
36
- N as useDeepCompareEffect,
37
- D as useDeepCompareEffectNoCheck,
37
+ D as useDeepCompareEffect,
38
+ N as useDeepCompareEffectNoCheck,
38
39
  I as useDeepCompareMemoize,
39
40
  h as useEnsureCurrentUserSeq,
41
+ M as useFormDataUploadMutation,
40
42
  t as useGetCommonCodeList,
41
- a as useGetCurrentLanguage,
42
- R as useGetCurrentLayoutConfig,
43
- W as useGetCurrentSettings,
43
+ p as useGetCurrentLanguage,
44
+ j as useGetCurrentLayoutConfig,
45
+ J as useGetCurrentSettings,
44
46
  g as useGetCurrentUser,
45
- d as useGetCurrentUserId,
47
+ c as useGetCurrentUserId,
46
48
  l as useGetCurrentUserSeq,
47
- j as useGetCustomScrollbarsEnabled,
48
- J as useGetDefaultSettings,
49
- V as useGetFooterTheme,
49
+ V as useGetCustomScrollbarsEnabled,
50
+ X as useGetDefaultSettings,
51
+ Y as useGetFooterTheme,
50
52
  f as useGetLanguageList,
51
53
  C as useGetLogoSrc,
52
- X as useGetMainTheme,
53
- F as useGetNavbar,
54
- Y as useGetNavbarTheme,
55
- B as useGetNavigationList,
56
- Z as useGetOwpSettings,
57
- me as useGetPageLockLoading,
58
- ie as useGetShortcuts,
59
- $ as useGetToolbarTheme,
60
- q as useHeaderWrapState,
61
- M as useInitApp,
62
- P as useInitCommonCodes,
63
- _ as useNavbarActions,
64
- se as useOwpTranslation,
65
- ne as usePageLockLoading,
66
- ae as usePrevious,
67
- ee as useResetSettings,
54
+ Z as useGetMainTheme,
55
+ z as useGetNavbar,
56
+ $ as useGetNavbarTheme,
57
+ K as useGetNavigationList,
58
+ ee as useGetOwpSettings,
59
+ ae as useGetPageLockLoading,
60
+ Ce as useGetShortcuts,
61
+ re as useGetToolbarTheme,
62
+ w as useHeaderWrapState,
63
+ O as useInitApp,
64
+ y as useInitCommonCodes,
65
+ B as useNavbarActions,
66
+ me as useOwpTranslation,
67
+ pe as usePageLockLoading,
68
+ ie as usePrevious,
69
+ te as useResetSettings,
68
70
  o as useSetCommonCodeList,
69
71
  i as useSetCurrentLanguage,
70
72
  L as useSetCurrentUser,
71
73
  T as useSetCurrentUserId,
72
- v as useSetCurrentUserSeq,
73
- re as useSetDefaultSettings,
74
+ U as useSetCurrentUserSeq,
75
+ oe as useSetDefaultSettings,
74
76
  S as useSetLogoSrc,
75
- H as useSetNavigationList,
76
- te as useSetSettings,
77
- xe as useSetShortcuts,
78
- ge as useStorage,
79
- ce as useThemeMediaQuery,
80
- Te as useTimeout,
81
- he as useTreeGridCommonCodeEnums,
82
- ve as useTreeGridEnums,
83
- be as useTreeGridExcelExport
77
+ Q as useSetNavigationList,
78
+ se as useSetSettings,
79
+ Se as useSetShortcuts,
80
+ de as useStorage,
81
+ Te as useThemeMediaQuery,
82
+ he as useTimeout,
83
+ Ue as useTreeGridCommonCodeEnums,
84
+ be as useTreeGridEnums,
85
+ De as useTreeGridExcelExport
84
86
  };
85
87
  //# sourceMappingURL=hooks.js.map
package/dist/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"hooks.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index.js CHANGED
@@ -2,20 +2,20 @@ import { DialogsProvider as r } from "@toolpad/core/useDialogs";
2
2
  import { themeLayouts as p } from "./layout/themeLayouts.js";
3
3
  import { createInitialOwpSettings as a, defaultSettings as x, defaultThemeOptions as f, defaultThemes as O, extendThemeWithMixins as w, generateSettings as i, getDefaultLayout as l, getDefaultThemeSettings as n, getParsedQuerySettings as d, mustHaveThemeOptions as u } from "./configs/defaultConfig.js";
4
4
  import { OwpAutoLogoutDialog as T } from "./components/OwpAutoLogoutDialog/OwpAutoLogoutDialog.js";
5
- import { OwpBarcodeInputField as c } from "./components/OwpBarcodeInput/OwpBarcodeInputField.js";
5
+ import { OwpBarcodeInputField as s } from "./components/OwpBarcodeInput/OwpBarcodeInputField.js";
6
6
  import { OwpExportDataToExcelButton as P } from "./components/OwpExportExcelButton/OwpExportExcelButton.js";
7
- import { OwpFileUploadButton as C } from "./components/OwpFileUploadButton/OwpFileUploadButton.js";
7
+ import { OwpFilePickerButton as C } from "./components/OwpFilePickerButton/OwpFilePickerButton.js";
8
8
  import { OwpMoreActionsButton as D } from "./components/OwpMoreActionsButton/OwpMoreActionsButton.js";
9
- import { OwpDatePicker as k } from "./components/OwpPicker/OwpDatePicker.js";
10
- import { OwpDateRangePicker as L } from "./components/OwpPicker/OwpDateRangePicker.js";
9
+ import { OwpDatePicker as y } from "./components/OwpPicker/OwpDatePicker.js";
10
+ import { OwpDateRangePicker as E } from "./components/OwpPicker/OwpDateRangePicker.js";
11
11
  import { OwpTimePicker as F } from "./components/OwpPicker/OwpTimePicker.js";
12
12
  import { OwpWeekDatePicker as R } from "./components/OwpPicker/OwpWeekDatePicker.js";
13
13
  import { OwpYearRangePicker as I } from "./components/OwpPicker/OwpYearRangePicker.js";
14
14
  import { OwpDataTable as H } from "./components/OwpTable/OwpDataTable.js";
15
15
  import { OwpTable as N, OwpTableTotalCount as Q, StyledTable as W, StyledTableRow as Y } from "./components/OwpTable/OwpTable.js";
16
- import { OwpFieldTable as U } from "./components/OwpTable/OwpFieldTable.js";
17
- import { OwpTextMaskField as j } from "./components/OwpTextField/OwpTextMaskField.js";
18
- import { OwpTreeGridToolbar as J } from "./components/OwpTreeGrid/OwpTreeGridToolbar.js";
16
+ import { OwpFieldTable as Z } from "./components/OwpTable/OwpFieldTable.js";
17
+ import { OwpTextMaskField as z } from "./components/OwpTextField/OwpTextMaskField.js";
18
+ import { OwpTreeGridToolbar as K } from "./components/OwpTreeGrid/OwpTreeGridToolbar.js";
19
19
  import { OwpZoomImageSlider as V } from "./components/OwpZoomImageSlider/OwpZoomImageSlider.js";
20
20
  import { default as _ } from "./components/OwpPageBreadcrumb/OwpPageBreadcrumb.js";
21
21
  import { OwpErrorBoundary as ee } from "./components/OwpErrorBoundary/OwpErrorBoundary.js";
@@ -26,26 +26,26 @@ import { CommonCodeSelector as fe, OwpCommonCodeSelector as Oe } from "./compone
26
26
  import { CommonCodeRadioGroup as ie, OwpCommonCodeRadioGroup as le } from "./components/OwpCommonCode/OwpCommonCodeRadioGroup.js";
27
27
  import { OwpErrorStatusPage as de } from "./components/OwpErrorStatusPage/OwpErrorStatusPage.js";
28
28
  import { OwpFieldHelperText as ge } from "./components/OwpFieldHelperText/OwpFieldHelperText.js";
29
- import { OwpLayout as se } from "./components/OwpLayout/OwpLayout.js";
29
+ import { OwpLayout as ce } from "./components/OwpLayout/OwpLayout.js";
30
30
  import { OwpLoading as Se } from "./components/OwpLoading/OwpLoading.js";
31
31
  import { OwpMrtTable as be } from "./components/OwpMrtTable/OwpMrtTable.js";
32
32
  import { OwpNumberField as he } from "./components/OwpNumberField/OwpNumberField.js";
33
- import { OwpOptionSelector as ye } from "./components/OwpOptionSelector/OwpOptionSelector.js";
33
+ import { OwpOptionSelector as ke } from "./components/OwpOptionSelector/OwpOptionSelector.js";
34
34
  import { OwpPageCarded as Be } from "./components/OwpPageCarded/OwpPageCarded.js";
35
- import { OwpPageContent as Ee } from "./components/OwpPageContent/OwpPageContent.js";
35
+ import { OwpPageContent as Le } from "./components/OwpPageContent/OwpPageContent.js";
36
36
  import { OwpPageLockLoading as Ge } from "./components/OwpPageLockLoading/OwpPageLockLoading.js";
37
37
  import { OwpPageTitle as ve } from "./components/OwpPageTitle/OwpPageTitle.js";
38
38
  import { OwpQuerySelector as Me } from "./components/OwpQuerySelector/OwpQuerySelector.js";
39
39
  import { OwpScrollbars as Ae } from "./components/OwpScrollbars/OwpScrollbars.js";
40
40
  import { OwpSearchFilter as Qe } from "./components/OwpSearchFilter/OwpSearchFilter.js";
41
41
  import { OwpSection as Ye } from "./components/OwpSection/OwpSection.js";
42
- import { OwpStyleProvider as Ue } from "./components/OwpStyleProvider/OwpStyleProvider.js";
43
- import { OwpSuspense as je } from "./components/OwpSuspense/OwpSuspense.js";
44
- import { OwpSvgIcon as Je } from "./components/OwpSvgIcon/OwpSvgIcon.js";
42
+ import { OwpStyleProvider as Ze } from "./components/OwpStyleProvider/OwpStyleProvider.js";
43
+ import { OwpSuspense as ze } from "./components/OwpSuspense/OwpSuspense.js";
44
+ import { OwpSvgIcon as Ke } from "./components/OwpSvgIcon/OwpSvgIcon.js";
45
45
  import { OwpRequiredHelperText as Ve } from "./components/OwpRequiredHelperText/OwpRequiredHelperText.js";
46
46
  import { OwpTab as _e } from "./components/OwpTabs/OwpTab.js";
47
47
  import { OwpTabs as eo } from "./components/OwpTabs/OwpTabs.js";
48
- import { OwpTreeGridExcelButton as ro } from "./components/OwpTreeGridExcelButton/OwpTreeGridExcelButton.js";
48
+ import { OwpTreeGridExportExcelButton as ro } from "./components/OwpTreeGridExportExcelButton/OwpTreeGridExportExcelButton.js";
49
49
  import { OwpTreeGridResetChangesButton as po } from "./components/OwpTreeGridResetChangesButton/OwpTreeGridResetChangesButton.js";
50
50
  import { OwpTreeGrid as ao } from "./components/OwpTreeGrid/OwpTreeGrid.js";
51
51
  import { TreeGrid as fo } from "./components/OwpTreeGrid/TreeGrid.js";
@@ -55,30 +55,30 @@ export {
55
55
  fe as CommonCodeSelector,
56
56
  r as DialogsProvider,
57
57
  T as OwpAutoLogoutDialog,
58
- c as OwpBarcodeInputField,
58
+ s as OwpBarcodeInputField,
59
59
  le as OwpCommonCodeRadioGroup,
60
60
  Oe as OwpCommonCodeSelector,
61
61
  H as OwpDataTable,
62
- k as OwpDatePicker,
63
- L as OwpDateRangePicker,
62
+ y as OwpDatePicker,
63
+ E as OwpDateRangePicker,
64
64
  ae as OwpDialog,
65
65
  ee as OwpErrorBoundary,
66
66
  de as OwpErrorStatusPage,
67
67
  re as OwpEventEmitter,
68
68
  P as OwpExportDataToExcelButton,
69
69
  ge as OwpFieldHelperText,
70
- U as OwpFieldTable,
71
- C as OwpFileUploadButton,
70
+ Z as OwpFieldTable,
71
+ C as OwpFilePickerButton,
72
72
  pe as OwpLanguageSwitcherSelect,
73
- se as OwpLayout,
73
+ ce as OwpLayout,
74
74
  Se as OwpLoading,
75
75
  D as OwpMoreActionsButton,
76
76
  be as OwpMrtTable,
77
77
  he as OwpNumberField,
78
- ye as OwpOptionSelector,
78
+ ke as OwpOptionSelector,
79
79
  _ as OwpPageBreadcrumb,
80
80
  Be as OwpPageCarded,
81
- Ee as OwpPageContent,
81
+ Le as OwpPageContent,
82
82
  Ge as OwpPageLockLoading,
83
83
  ve as OwpPageTitle,
84
84
  Me as OwpQuerySelector,
@@ -86,19 +86,19 @@ export {
86
86
  Ae as OwpScrollbars,
87
87
  Qe as OwpSearchFilter,
88
88
  Ye as OwpSection,
89
- Ue as OwpStyleProvider,
90
- je as OwpSuspense,
91
- Je as OwpSvgIcon,
89
+ Ze as OwpStyleProvider,
90
+ ze as OwpSuspense,
91
+ Ke as OwpSvgIcon,
92
92
  _e as OwpTab,
93
93
  N as OwpTable,
94
94
  Q as OwpTableTotalCount,
95
95
  eo as OwpTabs,
96
- j as OwpTextMaskField,
96
+ z as OwpTextMaskField,
97
97
  F as OwpTimePicker,
98
98
  ao as OwpTreeGrid,
99
- ro as OwpTreeGridExcelButton,
99
+ ro as OwpTreeGridExportExcelButton,
100
100
  po as OwpTreeGridResetChangesButton,
101
- J as OwpTreeGridToolbar,
101
+ K as OwpTreeGridToolbar,
102
102
  R as OwpWeekDatePicker,
103
103
  I as OwpYearRangePicker,
104
104
  wo as OwpYesNoSelector,