@vmscloud/moz-ui-grid-vue 0.1.41 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/README.md +1 -13
  2. package/dist/MozGrid.vue.d.ts +5 -0
  3. package/dist/chunks/{index-BDQ0HlwR.js → index-2qnzL9Zm.js} +183 -32
  4. package/dist/chunks/index-BLDAzbGv.cjs +14 -0
  5. package/dist/compat/MozGridVue.vue.d.ts +33 -3
  6. package/dist/compat/MozPivotVue.vue.d.ts +33 -3
  7. package/dist/excel/ClientExcelUploadPopup.d.ts +48 -0
  8. package/dist/excel/ClientExcelUploadPopup.vue.d.ts +5 -0
  9. package/dist/excel/icons.d.ts +3 -0
  10. package/dist/{legacy/composables → excel}/useClientExcelExport.d.ts +2 -2
  11. package/dist/{legacy/composables → excel}/useClientExcelStore.d.ts +1 -1
  12. package/dist/index.cjs +76 -25
  13. package/dist/index.d.ts +27 -9
  14. package/dist/index.js +700 -89163
  15. package/dist/locale/index.d.ts +49 -0
  16. package/dist/{legacy/store → store}/index.d.ts +28 -28
  17. package/dist/store.cjs +1 -1
  18. package/dist/store.js +4 -4
  19. package/dist/stories/FieldId.stories.d.ts +1 -1
  20. package/dist/stories/FooterAggregateDiagnosis.stories.d.ts +17 -0
  21. package/dist/stories/FooterAggregatePivot.stories.d.ts +37 -0
  22. package/dist/stories/MergedCellCopy.stories.d.ts +58 -0
  23. package/dist/stories/Pivot900Rows.stories.d.ts +40 -0
  24. package/dist/stories/PivotReactiveProxy.stories.d.ts +118 -0
  25. package/dist/stories/PivotSettingsPermissions.stories.d.ts +6 -0
  26. package/dist/stories/RowGroupAggregates.stories.d.ts +57 -0
  27. package/dist/stories/RowGroupDisabled.stories.d.ts +9 -0
  28. package/dist/stories/SummaryFooter.stories.d.ts +7 -0
  29. package/dist/{legacy/stories → stories}/_helpers/localDataLoader.d.ts +1 -1
  30. package/dist/{legacy/stories → stories}/_helpers/sampleData.d.ts +11 -11
  31. package/dist/style.css +1 -1
  32. package/dist/types/injection-keys.d.ts +2 -5
  33. package/dist/types/modules.d.ts +87 -0
  34. package/dist/{legacy/types → types}/pivot-props.d.ts +1 -1
  35. package/dist/{legacy/types → types}/props.d.ts +12 -3
  36. package/dist/{legacy/types → types}/toolbar.d.ts +1 -1
  37. package/dist/utils/excel/ExcelImportUtil.cjs +1 -1
  38. package/dist/utils/excel/ExcelImportUtil.js +1 -1
  39. package/dist/utils/excel/ExcelQueueManager.cjs +1 -1
  40. package/dist/utils/excel/ExcelQueueManager.js +1 -1
  41. package/dist/utils/excel/ExcelTaskRunner.cjs +1 -1
  42. package/dist/{legacy/utils → utils}/excel/ExcelTaskRunner.d.ts +1 -1
  43. package/dist/utils/excel/ExcelTaskRunner.js +1 -1
  44. package/dist/utils/excel/ExcelTimeoutManager.cjs +1 -1
  45. package/dist/utils/excel/ExcelTimeoutManager.js +2 -4
  46. package/dist/{legacy/utils → utils}/index.d.ts +1 -1
  47. package/dist/utils/toast.d.ts +12 -0
  48. package/docs/manual/examples.md +2 -2
  49. package/docs/manual/reference.md +120 -5
  50. package/docs/manual/reference_vue.md +24 -29
  51. package/package.json +6 -7
  52. package/dist/chunks/index-D5KJLBGW.cjs +0 -14
  53. package/dist/legacy/components/common/Dragging.d.ts +0 -17
  54. package/dist/legacy/components/common/Dragging.vue.d.ts +0 -49
  55. package/dist/legacy/components/common/custom-cell/FormulaEngine.d.ts +0 -256
  56. package/dist/legacy/components/common/custom-cell/FormulaInput.vue.d.ts +0 -33
  57. package/dist/legacy/components/common/custom-cell/GridCustomCell.vue.d.ts +0 -23
  58. package/dist/legacy/components/common/custom-cell/useFormulaAutocomplete.d.ts +0 -44
  59. package/dist/legacy/components/common/excel/ClientExcelUploadPopup.vue.d.ts +0 -201
  60. package/dist/legacy/components/common/excel/assets/IconDropZone.vue.d.ts +0 -2
  61. package/dist/legacy/components/common/excel/assets/IconFileUpload.vue.d.ts +0 -2
  62. package/dist/legacy/components/common/filter/GridFilter.vue.d.ts +0 -23
  63. package/dist/legacy/components/common/footer/GridFooter.vue.d.ts +0 -29
  64. package/dist/legacy/components/common/sort/GridSort.vue.d.ts +0 -23
  65. package/dist/legacy/components/common/toolbar/GridSearchInput.vue.d.ts +0 -33
  66. package/dist/legacy/components/grid/MozGridVue.vue.d.ts +0 -2041
  67. package/dist/legacy/components/grid/MozGridVueCore.vue.d.ts +0 -118
  68. package/dist/legacy/components/grid/bulk-editor/GridBulkEditor.vue.d.ts +0 -10
  69. package/dist/legacy/components/grid/column-settings/AlignPicker.vue.d.ts +0 -10
  70. package/dist/legacy/components/grid/column-settings/ColorSwatchPicker.vue.d.ts +0 -11
  71. package/dist/legacy/components/grid/column-settings/ColumnListItem.vue.d.ts +0 -17
  72. package/dist/legacy/components/grid/column-settings/ColumnOptionsPanel.vue.d.ts +0 -32
  73. package/dist/legacy/components/grid/column-settings/FontSizePicker.vue.d.ts +0 -10
  74. package/dist/legacy/components/grid/column-settings/FontStyleToggles.vue.d.ts +0 -15
  75. package/dist/legacy/components/grid/column-settings/MaskPresetPicker.vue.d.ts +0 -14
  76. package/dist/legacy/components/grid/context-menu/GridContextMenu.vue.d.ts +0 -208
  77. package/dist/legacy/components/grid/group-panel/GroupPanel.vue.d.ts +0 -18
  78. package/dist/legacy/components/grid/toolbar/ColumnPicker.vue.d.ts +0 -17
  79. package/dist/legacy/components/grid/toolbar/ColumnSettings.vue.d.ts +0 -30
  80. package/dist/legacy/components/grid/toolbar/GridOptionModal.vue.d.ts +0 -211
  81. package/dist/legacy/components/grid/toolbar/GridToolBox.vue.d.ts +0 -69
  82. package/dist/legacy/components/pivot/MozPivotVue.vue.d.ts +0 -1868
  83. package/dist/legacy/components/pivot/PivotContextMenu.vue.d.ts +0 -634
  84. package/dist/legacy/components/pivot/PivotFieldChip.vue.d.ts +0 -16
  85. package/dist/legacy/components/pivot/PivotFieldDropZone.vue.d.ts +0 -26
  86. package/dist/legacy/components/pivot/PivotFieldPanel.vue.d.ts +0 -28
  87. package/dist/legacy/components/pivot/PivotOptionModal.vue.d.ts +0 -534
  88. package/dist/legacy/components/pivot/PivotToolBox.vue.d.ts +0 -79
  89. package/dist/legacy/components/pivot/chart/EChart.vue.d.ts +0 -13
  90. package/dist/legacy/components/pivot/chart/MozPivotChart.types.d.ts +0 -16
  91. package/dist/legacy/components/pivot/chart/MozPivotChart.vue.d.ts +0 -14
  92. package/dist/legacy/components/pivot/chart/PivotChartDetail.vue.d.ts +0 -13
  93. package/dist/legacy/components/pivot/chart/PivotChartMini.vue.d.ts +0 -18
  94. package/dist/legacy/components/pivot/chart/PivotChartMultiple.vue.d.ts +0 -18
  95. package/dist/legacy/components/pivot/chart/PivotChartToolbar.vue.d.ts +0 -38
  96. package/dist/legacy/components/pivot/chart/chartUtils.d.ts +0 -45
  97. package/dist/legacy/components/pivot/chart/useChartData.d.ts +0 -35
  98. package/dist/legacy/composables/useCellTooltip.d.ts +0 -8
  99. package/dist/legacy/composables/useColumnFormatter.d.ts +0 -45
  100. package/dist/legacy/composables/useColumnSettings.d.ts +0 -35
  101. package/dist/legacy/composables/useContextMenu.d.ts +0 -71
  102. package/dist/legacy/composables/useGridBulkEditor.d.ts +0 -36
  103. package/dist/legacy/composables/useGridChanges.d.ts +0 -28
  104. package/dist/legacy/composables/useGridColumns.d.ts +0 -37
  105. package/dist/legacy/composables/useGridCustomCell.d.ts +0 -34
  106. package/dist/legacy/composables/useGridEvents.d.ts +0 -14
  107. package/dist/legacy/composables/useGridFilter.d.ts +0 -38
  108. package/dist/legacy/composables/useGridInstance.d.ts +0 -16
  109. package/dist/legacy/composables/useGridSelect.d.ts +0 -18
  110. package/dist/legacy/composables/useGridSelection.d.ts +0 -18
  111. package/dist/legacy/composables/useGridSort.d.ts +0 -38
  112. package/dist/legacy/composables/useGridUndoRedo.d.ts +0 -28
  113. package/dist/legacy/composables/useGridValidation.d.ts +0 -28
  114. package/dist/legacy/composables/useMaskPresets.d.ts +0 -38
  115. package/dist/legacy/composables/useSearchHighlight.d.ts +0 -12
  116. package/dist/legacy/icons/IconAdd.vue.d.ts +0 -11
  117. package/dist/legacy/icons/IconArrowDownWithTail.vue.d.ts +0 -11
  118. package/dist/legacy/icons/IconArrowLeft.vue.d.ts +0 -11
  119. package/dist/legacy/icons/IconArrowLeftWithTail.vue.d.ts +0 -11
  120. package/dist/legacy/icons/IconArrowRight.vue.d.ts +0 -11
  121. package/dist/legacy/icons/IconArrowUpCenter.vue.d.ts +0 -11
  122. package/dist/legacy/icons/IconArrowUpWithTail.vue.d.ts +0 -11
  123. package/dist/legacy/icons/IconChart.vue.d.ts +0 -11
  124. package/dist/legacy/icons/IconClose.vue.d.ts +0 -13
  125. package/dist/legacy/icons/IconColorPicker.vue.d.ts +0 -11
  126. package/dist/legacy/icons/IconCustomCell.vue.d.ts +0 -11
  127. package/dist/legacy/icons/IconDecide.vue.d.ts +0 -11
  128. package/dist/legacy/icons/IconDownload.vue.d.ts +0 -11
  129. package/dist/legacy/icons/IconDragHandler.vue.d.ts +0 -11
  130. package/dist/legacy/icons/IconFilter.vue.d.ts +0 -11
  131. package/dist/legacy/icons/IconInfoFilled.vue.d.ts +0 -11
  132. package/dist/legacy/icons/IconRedo.vue.d.ts +0 -9
  133. package/dist/legacy/icons/IconReset.vue.d.ts +0 -9
  134. package/dist/legacy/icons/IconResetGridToolbar.vue.d.ts +0 -11
  135. package/dist/legacy/icons/IconSearch.vue.d.ts +0 -11
  136. package/dist/legacy/icons/IconSetting.vue.d.ts +0 -11
  137. package/dist/legacy/icons/IconSettingFilled.vue.d.ts +0 -11
  138. package/dist/legacy/icons/IconSort.vue.d.ts +0 -11
  139. package/dist/legacy/icons/IconToastWarning.vue.d.ts +0 -11
  140. package/dist/legacy/icons/IconUndo.vue.d.ts +0 -9
  141. package/dist/legacy/icons/index.d.ts +0 -25
  142. package/dist/legacy/index.d.ts +0 -69
  143. package/dist/legacy/shared/colorPresets.d.ts +0 -36
  144. package/dist/legacy/stories/Autofit.stories.d.ts +0 -9
  145. package/dist/legacy/stories/CRUD.stories.d.ts +0 -9
  146. package/dist/legacy/stories/CellAttributes.stories.d.ts +0 -19
  147. package/dist/legacy/stories/CellMask.stories.d.ts +0 -19
  148. package/dist/legacy/stories/ClientExcel.stories.d.ts +0 -8
  149. package/dist/legacy/stories/Clipboard.stories.d.ts +0 -12
  150. package/dist/legacy/stories/ColumnVisibility.stories.d.ts +0 -12
  151. package/dist/legacy/stories/ColumnWidths.stories.d.ts +0 -11
  152. package/dist/legacy/stories/CustomSortFilter.stories.d.ts +0 -7
  153. package/dist/legacy/stories/DynamicRowHeight.stories.d.ts +0 -13
  154. package/dist/legacy/stories/Editors.stories.d.ts +0 -9
  155. package/dist/legacy/stories/EmptyState.stories.d.ts +0 -10
  156. package/dist/legacy/stories/FormatRow.stories.d.ts +0 -20
  157. package/dist/legacy/stories/Grouping.stories.d.ts +0 -14
  158. package/dist/legacy/stories/HeaderGroup.stories.d.ts +0 -11
  159. package/dist/legacy/stories/LargeData.stories.d.ts +0 -19
  160. package/dist/legacy/stories/MasterDetail.stories.d.ts +0 -17
  161. package/dist/legacy/stories/Merge.stories.d.ts +0 -10
  162. package/dist/legacy/stories/MultiRow.stories.d.ts +0 -12
  163. package/dist/legacy/stories/MultiRowCrud.stories.d.ts +0 -11
  164. package/dist/legacy/stories/MultiRowGroup.stories.d.ts +0 -11
  165. package/dist/legacy/stories/Pinning.stories.d.ts +0 -44
  166. package/dist/legacy/stories/Pivot.stories.d.ts +0 -23
  167. package/dist/legacy/stories/PivotAdvanced.stories.d.ts +0 -20
  168. package/dist/legacy/stories/PivotChart.stories.d.ts +0 -23
  169. package/dist/legacy/stories/PivotNonNumeric.stories.d.ts +0 -27
  170. package/dist/legacy/stories/Preset.stories.d.ts +0 -11
  171. package/dist/legacy/stories/ReactiveAPI.stories.d.ts +0 -8
  172. package/dist/legacy/stories/ReactiveSafety.stories.d.ts +0 -28
  173. package/dist/legacy/stories/Repro.stories.d.ts +0 -36
  174. package/dist/legacy/stories/RowAPI.stories.d.ts +0 -12
  175. package/dist/legacy/stories/SelectionModes.stories.d.ts +0 -35
  176. package/dist/legacy/stories/Streaming.stories.d.ts +0 -12
  177. package/dist/legacy/stories/Tree.stories.d.ts +0 -13
  178. package/dist/legacy/stories/WorkerMode.stories.d.ts +0 -15
  179. package/dist/legacy/utils/dialog/dialog.d.ts +0 -19
  180. /package/dist/{legacy/store → store}/UploadRefreshRegistry.d.ts +0 -0
  181. /package/dist/{legacy/store → store}/excelStore.d.ts +0 -0
  182. /package/dist/{legacy/stores → stores}/index.d.ts +0 -0
  183. /package/dist/{legacy/stores → stores}/projectInfo/projectInfo.contract.d.ts +0 -0
  184. /package/dist/{legacy/types → types}/FileParameter.d.ts +0 -0
  185. /package/dist/{legacy/types → types}/StreamingParameter.d.ts +0 -0
  186. /package/dist/{legacy/types → types}/excel.types.d.ts +0 -0
  187. /package/dist/{legacy/types → types}/index.d.ts +0 -0
  188. /package/dist/{legacy/utils → utils}/async/debounce.d.ts +0 -0
  189. /package/dist/{legacy/utils → utils}/crypto/crypto.d.ts +0 -0
  190. /package/dist/{legacy/utils → utils}/excel/ExcelGuard.d.ts +0 -0
  191. /package/dist/{legacy/utils → utils}/excel/ExcelImportUtil.d.ts +0 -0
  192. /package/dist/{legacy/utils → utils}/excel/ExcelQueueManager.d.ts +0 -0
  193. /package/dist/{legacy/utils → utils}/excel/ExcelTimeoutManager.d.ts +0 -0
  194. /package/dist/{legacy/utils → utils}/file.d.ts +0 -0
  195. /package/dist/{legacy/utils → utils}/http/rest.d.ts +0 -0
  196. /package/dist/{legacy/utils → utils}/id/generator.d.ts +0 -0
@@ -1,14 +0,0 @@
1
- import { MozPivotChartProps } from './MozPivotChart.types';
2
- /** 피벗 메타 + 차트 데이터 로드 */
3
- declare function refreshChartData(): Promise<void>;
4
- declare const _default: import('vue').DefineComponent<MozPivotChartProps, {
5
- refresh: typeof refreshChartData;
6
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
7
- close: () => any;
8
- }, string, import('vue').PublicProps, Readonly<MozPivotChartProps> & Readonly<{
9
- onClose?: (() => any) | undefined;
10
- }>, {
11
- useMultipleChart: boolean;
12
- includeGrandTotal: boolean;
13
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
14
- export default _default;
@@ -1,13 +0,0 @@
1
- import { ChartType } from './chartUtils';
2
- interface Props {
3
- xLabels: string[];
4
- seriesData: {
5
- name: string;
6
- data: (number | null)[];
7
- }[];
8
- chartType: ChartType;
9
- /** X축 라벨 줄수 — 호출자가 피벗 config 기반으로 계산해 전달 */
10
- labelLines?: number;
11
- }
12
- declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
13
- export default _default;
@@ -1,18 +0,0 @@
1
- import { ChartType } from './chartUtils';
2
- interface Props {
3
- xLabels: string[];
4
- seriesData: {
5
- name: string;
6
- data: (number | null)[];
7
- }[];
8
- chartType: ChartType;
9
- width?: number;
10
- height?: number;
11
- /** X축 라벨 줄수 — 미니 차트는 라벨이 숨겨지므로 영향 적지만 일관성 위해 받음 */
12
- labelLines?: number;
13
- }
14
- declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
15
- height: number;
16
- width: number;
17
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
18
- export default _default;
@@ -1,18 +0,0 @@
1
- import { ChartType } from './chartUtils';
2
- import { PivotSeriesCategory } from '../../../../../../moz-ui-grid-core/src/index.ts';
3
- interface Props {
4
- categories: PivotSeriesCategory[];
5
- xLabels: string[];
6
- chartType: ChartType;
7
- /** X축 라벨 줄수 — 자식(PivotChartMini)에 forwarding */
8
- labelLines?: number;
9
- }
10
- declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
11
- select: (categoryName: string) => any;
12
- }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
13
- onSelect?: ((categoryName: string) => any) | undefined;
14
- }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
15
- containerRef: HTMLDivElement;
16
- itemRefs: HTMLDivElement[];
17
- }, HTMLDivElement>;
18
- export default _default;
@@ -1,38 +0,0 @@
1
- import { ChartType } from './chartUtils';
2
- interface Props {
3
- chartType: ChartType;
4
- rowFields: {
5
- field: string;
6
- header?: string;
7
- }[];
8
- columnFields: {
9
- field: string;
10
- header?: string;
11
- }[];
12
- valueFields: {
13
- field: string;
14
- header?: string;
15
- }[];
16
- selectedRowField: string;
17
- selectedColumnField: string;
18
- selectedValueFields: string[];
19
- showBack?: boolean;
20
- }
21
- declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
22
- close: () => any;
23
- back: () => any;
24
- "update:chartType": (type: ChartType) => any;
25
- "update:selectedRowField": (field: string) => any;
26
- "update:selectedColumnField": (field: string) => any;
27
- "update:selectedValueFields": (fields: string[]) => any;
28
- }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
29
- onClose?: (() => any) | undefined;
30
- onBack?: (() => any) | undefined;
31
- "onUpdate:chartType"?: ((type: ChartType) => any) | undefined;
32
- "onUpdate:selectedRowField"?: ((field: string) => any) | undefined;
33
- "onUpdate:selectedColumnField"?: ((field: string) => any) | undefined;
34
- "onUpdate:selectedValueFields"?: ((fields: string[]) => any) | undefined;
35
- }>, {
36
- showBack: boolean;
37
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
38
- export default _default;
@@ -1,45 +0,0 @@
1
- /**
2
- * chartUtils — ECharts 옵션 생성 유틸
3
- *
4
- * 차트 데이터를 ECharts option 객체로 변환합니다.
5
- * 스타일은 moz-ui-chart 라이브러리 (MozEChartSeriesType) 기준에 맞춤.
6
- */
7
- export type ChartType = 'bar' | 'line' | 'lineSymbols' | 'area';
8
- /** 시리즈별 차트 설정 (chartMap) */
9
- export interface ChartSeriesConfig {
10
- type?: ChartType;
11
- color?: string;
12
- }
13
- /** ECharts 옵션 생성 입력 */
14
- export interface EChartsConfig {
15
- chartType: ChartType;
16
- xLabels: string[];
17
- seriesData: {
18
- name: string;
19
- data: (number | null)[];
20
- }[];
21
- showTooltip?: boolean;
22
- showLegend?: boolean;
23
- showDataZoom?: boolean;
24
- /** 미니 차트 모드 (축/라벨 최소화) */
25
- mini?: boolean;
26
- /** 시리즈별 차트 타입/색상 설정 */
27
- chartMap?: Record<string, ChartSeriesConfig>;
28
- /**
29
- * X축 라벨의 줄수 — 회전·자동생략 계산에 사용.
30
- *
31
- * 호출자가 피벗 config에서 직접 계산해 전달 (결정론적):
32
- * labelLines = (selectedColumnField === 'all' ? columnFields.length : 1)
33
- * + (selectedValueFields.length > 1 ? 1 : 0)
34
- *
35
- * 미지정 시 xLabels의 '\n'을 측정 (fallback).
36
- */
37
- labelLines?: number;
38
- }
39
- /** ECharts option 생성 */
40
- export declare function toEChartsOption(config: EChartsConfig): Record<string, unknown>;
41
- /** 차트 타입 옵션 목록 */
42
- export declare const CHART_TYPE_OPTIONS: {
43
- value: ChartType;
44
- label: string;
45
- }[];
@@ -1,35 +0,0 @@
1
- import { ComputedRef, Ref } from 'vue';
2
- import { PivotResult, PivotConfig, PivotRow } from '../../../../../../moz-ui-grid-core/src/index.ts';
3
- /** 차트 데이터 입력 */
4
- export interface ChartDataInput {
5
- /** 피벗 행 데이터 (lazy 모드에서 async로 로드) */
6
- pivotRows: PivotRow[];
7
- /** 피벗 결과 (columns, columnHeaderTree 등 메타데이터) */
8
- result: PivotResult | null;
9
- config: PivotConfig | null;
10
- /** 선택된 값 필드 (시리즈) */
11
- selectedValueFields: string[];
12
- /** 카테고리 행 필드 (기본: 첫 번째 rowField) */
13
- categoryField?: string;
14
- }
15
- /** 시리즈 데이터 */
16
- export interface ChartSeries {
17
- name: string;
18
- data: (number | null)[];
19
- }
20
- /** 카테고리별 차트 데이터 */
21
- export interface ChartCategory {
22
- name: string;
23
- series: ChartSeries[];
24
- }
25
- /** 차트 데이터 출력 */
26
- export interface ChartDataOutput {
27
- /** X축 라벨 (줄바꿈 포함) */
28
- xLabels: string[];
29
- /** 카테고리별 시리즈 데이터 */
30
- categories: ChartCategory[];
31
- }
32
- /**
33
- * 피벗 데이터를 차트용 시리즈로 변환
34
- */
35
- export declare function useChartData(input: Ref<ChartDataInput>): ComputedRef<ChartDataOutput>;
@@ -1,8 +0,0 @@
1
- import { ShallowRef } from 'vue';
2
- import { PureSheet } from '../../../../moz-ui-grid-core/src/index.ts';
3
- /**
4
- * core의 `cell:tooltip` 이벤트를 받아 wijmo와 동일한 스타일의 커스텀 툴팁을 렌더합니다.
5
- * - 모든 셀에 이벤트를 붙이지 않고 core 내부의 이벤트 위임을 그대로 사용
6
- * - document.body에 단일 tooltip 엘리먼트를 재사용 (페이지 전역 싱글톤)
7
- */
8
- export declare function useCellTooltip(gridInstance: ShallowRef<PureSheet | null>): void;
@@ -1,45 +0,0 @@
1
- import { Ref, ShallowRef } from 'vue';
2
- import { PureSheet } from '../../../../moz-ui-grid-core/src/index.ts';
3
- import { IColumnFormatConfig, IColumnCellFormat, IColumnHeaderFormat } from '../types/toolbar';
4
- /**
5
- * 기존 호환 alias — 새 코드는 `IColumnCellFormat` / `IColumnHeaderFormat` 사용 권장.
6
- * @deprecated `IColumnCellFormat` 사용
7
- */
8
- export type UserCellFormat = IColumnCellFormat;
9
- /** @deprecated `IColumnHeaderFormat` 사용 */
10
- export type UserHeaderFormat = IColumnHeaderFormat;
11
- export interface ColumnFormatterOptions {
12
- /** localStorage 키 (없으면 영속화 X) */
13
- storageKey?: string;
14
- /** 기본 localStorage */
15
- storage?: Storage;
16
- }
17
- /**
18
- * wrapper-managed 컬럼별 사용자 시각 서식 composable.
19
- *
20
- * **단일 진실 원천(single source of truth)**: `config` ref 가 전체 cell/header 서식 보관.
21
- * 컴포넌트들은 `config.value.cell[colId]` / `config.value.header[colId]` 객체를 **직접
22
- * mutate** 하면 deep watch 가 자동으로 persist + grid.refresh 호출.
23
- *
24
- * `formatRow` / `formatHeader` 핸들러가 매 렌더마다 `config.value` 를 읽어 셀/헤더 DOM 에
25
- * 적용. 코어의 `cellAttributes` / `headerAttributes` 는 절대 안 만짐 — 개발자 정적/동적 attr
26
- * 과 충돌 없이 공존.
27
- */
28
- export declare function useColumnFormatter(gridInstance: ShallowRef<PureSheet | null> | Ref<PureSheet | null>, options?: ColumnFormatterOptions): {
29
- /** 단일 진실 원천 — 컴포넌트가 직접 mutate 하는 reactive ref */
30
- config: Ref<{
31
- cell: Record<string, IColumnCellFormat>;
32
- header: Record<string, IColumnHeaderFormat>;
33
- }, IColumnFormatConfig | {
34
- cell: Record<string, IColumnCellFormat>;
35
- header: Record<string, IColumnHeaderFormat>;
36
- }>;
37
- getCellFmt: (colId: string) => IColumnCellFormat;
38
- getHeaderFmt: (colId: string) => IColumnHeaderFormat;
39
- clearStyle: (colId: string) => void;
40
- clearAll: () => void;
41
- hasAnyFormat: () => boolean;
42
- getConfig: () => IColumnFormatConfig;
43
- setConfig: (next: IColumnFormatConfig) => void;
44
- restoreFromStorage: () => void;
45
- };
@@ -1,35 +0,0 @@
1
- import { Ref, ShallowRef } from 'vue';
2
- import { ColumnInfo, PureSheet } from '../../../../moz-ui-grid-core/src/index.ts';
3
- /**
4
- * ColumnSettings UI 의 컬럼 리스트·선택·드래그 상태 관리 composable.
5
- *
6
- * 책임:
7
- * - 표시 가능한 컬럼 목록 노출 (메타 컬럼 `_` prefix 제외)
8
- * - 단일 선택 컬럼 추적 (옵션 패널에 표시할 컬럼)
9
- * - 전체 선택 / 부분 선택 boolean 계산
10
- * - 초기 스냅샷 대비 변경 여부 계산
11
- * - 컬럼 순서 드래그 & 드롭 핸들러
12
- * - 컬럼 가시성 토글
13
- *
14
- * 실제 컬럼 옵션 변경(align/mask/header 등)은 ColumnOptionsPanel 이 `grid.columns.update` 를 직접 호출.
15
- * 본 composable 은 어떤 컬럼이 선택됐는지 + UI 상태만 책임짐.
16
- */
17
- export declare function useColumnSettings(gridInstance: ShallowRef<PureSheet | null> | Ref<PureSheet | null>, opts: {
18
- isOpen: Ref<boolean>;
19
- }): {
20
- columns: import('vue').ComputedRef<ColumnInfo[]>;
21
- selectedId: Ref<string | null, string | null>;
22
- selectedColumn: import('vue').ComputedRef<ColumnInfo | null>;
23
- isAllVisible: import('vue').ComputedRef<boolean>;
24
- isIndeterminate: import('vue').ComputedRef<boolean>;
25
- setAllVisible: (visible: boolean) => void;
26
- toggleVisibility: (colId: string, visible: boolean) => void;
27
- dragSrcIndex: Ref<number | null, number | null>;
28
- dropTargetIndex: Ref<number | null, number | null>;
29
- onDragStart: (e: DragEvent, index: number) => void;
30
- onDragOver: (e: DragEvent, listEl: HTMLElement | undefined) => void;
31
- onDrop: (e: DragEvent) => void;
32
- onDragEnd: () => void;
33
- hasChanges: import('vue').ComputedRef<boolean>;
34
- reset: () => void;
35
- };
@@ -1,71 +0,0 @@
1
- import { Ref } from 'vue';
2
- import { FieldDef } from '../../../../moz-ui-grid-core/src/index.ts';
3
- import { IContextMenuItem, IContextMenuConfig } from '../types/toolbar';
4
- import { UseGridFilterReturn } from './useGridFilter';
5
- import { UseGridSortReturn } from './useGridSort';
6
- import { UseGridCustomCellReturn } from './useGridCustomCell';
7
- import { UseGridBulkEditorReturn } from './useGridBulkEditor';
8
- /** 컨텍스트 메뉴 위치 */
9
- export interface ContextMenuPosition {
10
- x: number;
11
- y: number;
12
- }
13
- /** 컨텍스트 메뉴 컨텍스트 (우클릭 시 타겟 정보) */
14
- export interface ContextMenuContext {
15
- /** 우클릭 영역 */
16
- area?: 'cell' | 'header';
17
- /** 우클릭된 행 인덱스 (뷰포트 기준, pinned row는 -1) */
18
- rowIndex: number;
19
- /** 우클릭된 행 ID (데이터 식별용 — rowIndex보다 안정적) */
20
- rowId?: string | number;
21
- /** 우클릭된 컬럼 ID */
22
- columnId: string;
23
- /** 우클릭된 헤더 그룹 ID (그룹 헤더 우클릭 시) */
24
- groupId?: string;
25
- /** 우클릭된 필드 정의 */
26
- field: FieldDef | null;
27
- /** 우클릭된 셀 값 */
28
- cellValue: unknown;
29
- /** 우클릭된 행 데이터 */
30
- rowData: Record<string, unknown> | null;
31
- }
32
- /** 커맨드 콜백 핸들러 타입 */
33
- export type CommandCallback = (commandId: string, ctx: ContextMenuContext | null) => void;
34
- export interface UseContextMenuReturn {
35
- /** 메뉴 표시 여부 */
36
- visible: Ref<boolean>;
37
- /** 메뉴 위치 */
38
- position: Ref<ContextMenuPosition>;
39
- /** 메뉴 항목 목록 */
40
- menuItems: Ref<IContextMenuItem[]>;
41
- /** 현재 컨텍스트 (우클릭 대상 정보) */
42
- context: Ref<ContextMenuContext | null>;
43
- /** 메뉴 표시 */
44
- show(event: MouseEvent, ctx: ContextMenuContext): void;
45
- /** 메뉴 숨김 */
46
- hide(): void;
47
- /** 커스텀 메뉴 항목 등록 */
48
- registerItems(items: IContextMenuItem[]): void;
49
- /** 커스텀 메뉴 항목 해제 */
50
- unregisterItems(itemIds: string[]): void;
51
- /** 메뉴 설정 업데이트 */
52
- updateConfig(config: Partial<IContextMenuConfig>): void;
53
- /** 메뉴 커맨드 실행 */
54
- executeCommand(commandId: string): void;
55
- /** 커맨드 콜백 등록 (COLUMN_VIEW_SELECT 등 외부 처리 필요 시) */
56
- onCommand(callback: CommandCallback): void;
57
- /** 정리 */
58
- destroy(): void;
59
- }
60
- /**
61
- * 그리드 컨텍스트 메뉴 composable.
62
- *
63
- * moz-wijmo-grid의 ExtendGridContextMenu.ts 포팅.
64
- * Wijmo Menu → 순수 Vue 기반 컨텍스트 메뉴로 교체.
65
- */
66
- export declare function useContextMenu(config?: IContextMenuConfig, modules?: {
67
- filterModule?: UseGridFilterReturn;
68
- sortModule?: UseGridSortReturn;
69
- customCellModule?: UseGridCustomCellReturn;
70
- bulkEditorModule?: UseGridBulkEditorReturn;
71
- }): UseContextMenuReturn;
@@ -1,36 +0,0 @@
1
- import { Ref } from 'vue';
2
- import { PureSheet, FieldDef } from '../../../../moz-ui-grid-core/src/index.ts';
3
- export interface UseGridBulkEditorReturn {
4
- /** 팝업 표시 여부 */
5
- showBulkEditor: Ref<boolean>;
6
- /** 현재 선택된 컬럼 */
7
- hitColumn: Ref<FieldDef | null>;
8
- /** 일괄 편집 값 */
9
- bulkEditorValue: Ref<unknown>;
10
- /** 현재 셀 값 (기본값) */
11
- currentCellValue: Ref<unknown>;
12
- /** 팝업 열기 */
13
- show(grid: PureSheet, field?: FieldDef, cellValue?: unknown): void;
14
- /** 팝업 닫기 */
15
- hide(): void;
16
- /** 값 설정 */
17
- modifyValue(value: unknown): void;
18
- /** 일괄 편집 실행 */
19
- executeEdit(): Promise<number>;
20
- /**
21
- * [대용량/서버사이드] 일괄변경 override 핸들러 주입.
22
- * 설정되면 executeEdit 이 client 전체편집(changes.bulkUpdate 'all') 대신 이 핸들러를 호출한다.
23
- * 무한스크롤(InfiniteScrollGridMoz) 래퍼가 "필터/조회조건 기준 서버 일괄 UPDATE + pending 오버레이"로 라우팅하는 용도.
24
- * null 이면 기존 client 동작(일반 MozGrid 메뉴는 그대로).
25
- */
26
- setBulkUpdateHandler(fn: ((columnId: string, value: unknown) => Promise<number>) | null): void;
27
- /** 정리 */
28
- destroy(): void;
29
- }
30
- /**
31
- * 그리드 일괄 편집 모듈.
32
- *
33
- * moz-wijmo-grid의 useFlexGridBulkEditorModule 포팅.
34
- * Wijmo setCellData → PureSheet changes.bulkUpdate API로 교체.
35
- */
36
- export declare function useGridBulkEditor(): UseGridBulkEditorReturn;
@@ -1,28 +0,0 @@
1
- import { Ref } from 'vue';
2
- interface ChangesSummary {
3
- addedCount: number;
4
- modifiedCount: number;
5
- deletedCount: number;
6
- hasChanges: boolean;
7
- }
8
- /**
9
- * 그리드 변경 사항(CRUD dirty state)을 반응형으로 추적하는 composable.
10
- *
11
- * core의 `changeVersion` select를 사용하여 배치당 1회만 갱신된다.
12
- *
13
- * @example
14
- * ```ts
15
- * const { changes, getChanges, clearChanges } = useGridChanges();
16
- * // changes.value.hasChanges → true
17
- * ```
18
- */
19
- export declare function useGridChanges(): {
20
- changes: Ref<ChangesSummary>;
21
- getChanges: () => Promise<{
22
- added: unknown[];
23
- modified: unknown[];
24
- deleted: unknown[];
25
- } | null>;
26
- clearChanges: () => void;
27
- };
28
- export {};
@@ -1,37 +0,0 @@
1
- import { ShallowRef } from 'vue';
2
- import { ColumnState } from '../../../../moz-ui-grid-core/src/index.ts';
3
- export interface UseGridColumnsReturn {
4
- /** 컬럼 UI 상태 (너비, 가시성, 고정, 순서) */
5
- columnStates: Readonly<ShallowRef<readonly ColumnState[]>>;
6
- /** 현재 컬럼 상태를 JSON 문자열로 저장 */
7
- save(): string;
8
- /** JSON 문자열에서 컬럼 상태 복원 */
9
- load(json: string): void;
10
- /** 컬럼 왼쪽 고정 */
11
- pinLeft(colId: string): void;
12
- /** 컬럼 오른쪽 고정 */
13
- pinRight(colId: string): void;
14
- /** 컬럼 고정 해제 */
15
- unpin(colId: string): void;
16
- /** 컬럼 숨기기 */
17
- hide(colId: string): void;
18
- /** 컬럼 표시 */
19
- show(colId: string): void;
20
- /** 컬럼 너비 설정 */
21
- setWidth(colId: string, width: number): void;
22
- /** 전체 컬럼 자동 맞춤 */
23
- autoFitAll(persistent?: boolean): void;
24
- }
25
- /**
26
- * 그리드 컬럼 상태를 반응형으로 추적하는 composable.
27
- *
28
- * PureSheet의 columns Sub-API를 래핑합니다.
29
- *
30
- * @example
31
- * ```ts
32
- * const { columnStates, save, load, pinLeft, hide, autoFitAll } = useGridColumns();
33
- * const json = save(); // 상태 저장
34
- * load(json); // 상태 복원
35
- * ```
36
- */
37
- export declare function useGridColumns(): UseGridColumnsReturn;
@@ -1,34 +0,0 @@
1
- import { Ref, ShallowRef } from 'vue';
2
- import { PureSheet, FieldDef } from '../../../../moz-ui-grid-core/src/index.ts';
3
- import { ICustomCellConfig } from '../types/toolbar';
4
- export interface UseGridCustomCellReturn {
5
- /** 팝업 표시 여부 */
6
- showCustomCell: Ref<boolean>;
7
- /** 현재 선택된 컬럼 */
8
- hitColumn: Ref<FieldDef | null>;
9
- /** 현재 규칙셋 설정 */
10
- config: ShallowRef<ICustomCellConfig>;
11
- /** 팝업 열기 */
12
- showCustomCellHandler(field?: FieldDef): void;
13
- /** 팝업 닫기 */
14
- hideCustomCellHandler(): void;
15
- /** 그리드 연결 */
16
- setGrid(grid: PureSheet): void;
17
- /** 설정 교체 */
18
- setCustomCell(config: ICustomCellConfig): void;
19
- /** 현재 설정 가져오기 */
20
- getCustomCell(): ICustomCellConfig;
21
- /** 스타일 적용 (그리드 다시 렌더링) */
22
- applyCellStyle(): void;
23
- /** 전체 초기화 */
24
- clearCustomCell(): void;
25
- /** 정리 */
26
- destroy(): void;
27
- }
28
- /**
29
- * 그리드 조건부 스타일 모듈.
30
- *
31
- * moz-wijmo-grid의 useFlexGridCustomCellModule 포팅.
32
- * Wijmo formatItem → PureSheet setFormatRow/cellRenderer 기반으로 교체.
33
- */
34
- export declare function useGridCustomCell(): UseGridCustomCellReturn;
@@ -1,14 +0,0 @@
1
- import { PureSheetEventType } from '../../../../moz-ui-grid-core/src/index.ts';
2
- /**
3
- * PureSheet 이벤트를 구독하는 composable.
4
- *
5
- * 컴포넌트 언마운트 시 자동으로 구독 해제됩니다.
6
- *
7
- * @example
8
- * ```ts
9
- * useGridEvents('cell:change', (payload) => {
10
- * console.log('셀 변경:', payload);
11
- * });
12
- * ```
13
- */
14
- export declare function useGridEvents(eventType: PureSheetEventType, handler: (payload: unknown) => void): void;
@@ -1,38 +0,0 @@
1
- import { Ref } from 'vue';
2
- import { PureSheet, FieldDef } from '../../../../moz-ui-grid-core/src/index.ts';
3
- import { IFilterDef } from '../types/toolbar';
4
- export interface UseGridFilterReturn {
5
- /** 필터 팝업 표시 여부 */
6
- showFilter: Ref<boolean>;
7
- /** 현재 선택된 컬럼 (필터 팝업 기준) */
8
- hitColumn: Ref<FieldDef | null>;
9
- /** 현재 적용된 필터 목록 */
10
- filterList: Ref<IFilterDef[]>;
11
- /** 필터 팝업 열기 */
12
- showFilterHandler(field?: FieldDef): void;
13
- /** 필터 팝업 닫기 */
14
- hideFilterHandler(): void;
15
- /** 그리드 연결 */
16
- setGrid(grid: PureSheet): void;
17
- /** 필터 설정 (기존 필터 교체) */
18
- setFilter(filters: IFilterDef[]): void;
19
- /** 필터 추가 (기존 유지) */
20
- addFilter(filters: IFilterDef[]): void;
21
- /** 현재 필터 가져오기 */
22
- getFilter(): IFilterDef[];
23
- /** 필터 적용 (그리드에 반영) */
24
- applyFilter(filters?: IFilterDef[]): void;
25
- /** 필터 전체 초기화 */
26
- clearFilter(): void;
27
- /** 전체 텍스트 검색 (필터로 변환) */
28
- searchGrid(inputValue: string): void;
29
- /** 정리 */
30
- destroy(): void;
31
- }
32
- /**
33
- * 그리드 필터 모듈.
34
- *
35
- * moz-wijmo-grid의 useFlexGridFilterModule 포팅.
36
- * Wijmo CollectionView.filter → PureSheet filter API로 교체.
37
- */
38
- export declare function useGridFilter(): UseGridFilterReturn;
@@ -1,16 +0,0 @@
1
- import { Ref } from 'vue';
2
- import { PureSheet } from '../../../../moz-ui-grid-core/src/index.ts';
3
- /**
4
- * PureSheet 인스턴스에 접근하는 composable.
5
- *
6
- * MozGridVue 내부의 자식 컴포넌트에서 사용합니다.
7
- *
8
- * @example
9
- * ```ts
10
- * const { grid } = useGridInstance();
11
- * // grid.value?.sort([...]);
12
- * ```
13
- */
14
- export declare function useGridInstance(): {
15
- grid: Ref<PureSheet | null>;
16
- };
@@ -1,18 +0,0 @@
1
- import { Ref, ShallowRef } from 'vue';
2
- import { PureSheet, GridState } from '../../../../moz-ui-grid-core/src/index.ts';
3
- /**
4
- * core의 `grid.select(selector)`를 Vue `shallowRef`로 브리지하는 composable.
5
- *
6
- * grid 인스턴스 변경 시 자동 재구독, scope 해제 시 자동 정리.
7
- *
8
- * @param selector - GridState에서 원하는 슬라이스를 선택하는 함수
9
- * @param defaultValue - grid가 없을 때 사용할 기본값
10
- * @param gridRef - 생략 시 useGridInstance()로 주입된 grid 사용
11
- *
12
- * @example
13
- * ```ts
14
- * const totalRowCount = useGridSelect(s => s.totalRowCount, 0);
15
- * const columnStates = useGridSelect(s => s.columnStates, []);
16
- * ```
17
- */
18
- export declare function useGridSelect<T>(selector: (state: GridState) => T, defaultValue: T, gridRef?: Ref<PureSheet | null>): Readonly<ShallowRef<T>>;
@@ -1,18 +0,0 @@
1
- import { Ref, ShallowRef } from 'vue';
2
- /**
3
- * 그리드 선택 상태를 반응형으로 추적하는 composable.
4
- *
5
- * selectedRowCount(reactive store)를 watch하여 selectedRowIds를 갱신합니다.
6
- * 이전 구현의 이중 구독(useGridSelect + grid.on('selection:changed'))을 제거하고
7
- * reactive store 단일 소스로 단순화했습니다.
8
- *
9
- * @example
10
- * ```ts
11
- * const { selectedRowIds, selectedRowCount } = useGridSelection();
12
- * // selectedRowIds.value → ['row1', 'row2']
13
- * ```
14
- */
15
- export declare function useGridSelection(): {
16
- selectedRowIds: Ref<Array<string | number>>;
17
- selectedRowCount: Readonly<ShallowRef<number>>;
18
- };
@@ -1,38 +0,0 @@
1
- import { Ref } from 'vue';
2
- import { PureSheet, FieldDef } from '../../../../moz-ui-grid-core/src/index.ts';
3
- import { ISortDef } from '../types/toolbar';
4
- export interface UseGridSortReturn {
5
- /** 정렬 팝업 표시 여부 */
6
- showSort: Ref<boolean>;
7
- /** 현재 적용된 정렬 목록 */
8
- sortList: Ref<ISortDef[]>;
9
- /** 정렬 팝업 열기 */
10
- showSortHandler(): void;
11
- /** 정렬 팝업 닫기 */
12
- hideSortHandler(): void;
13
- /** 그리드 연결 */
14
- setGrid(grid: PureSheet): void;
15
- /** 정렬 설정 (기존 교체) */
16
- setSort(sorts: ISortDef[]): void;
17
- /** 정렬 추가 */
18
- addSort(sorts: ISortDef[]): void;
19
- /** 컬럼 직접 정렬 (헤더 클릭) */
20
- addSortDirectly(field: FieldDef, ascending?: boolean): void;
21
- /** 컬럼 정렬 제거 */
22
- removeSort(fieldId: string): void;
23
- /** 현재 정렬 가져오기 */
24
- getSort(): ISortDef[];
25
- /** 정렬 적용 */
26
- applySort(sorts?: ISortDef[]): void;
27
- /** 정렬 전체 초기화 */
28
- clearSort(): void;
29
- /** 정리 */
30
- destroy(): void;
31
- }
32
- /**
33
- * 그리드 정렬 모듈.
34
- *
35
- * moz-wijmo-grid의 useFlexGridSortModule 포팅.
36
- * Wijmo SortDescription → PureSheet sort API로 교체.
37
- */
38
- export declare function useGridSort(): UseGridSortReturn;