@noraent/nora-datagrid 0.0.31 → 0.0.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cjs/App.js CHANGED
@@ -164,7 +164,7 @@ function App() {
164
164
  const ref = useGridApiRef();
165
165
  const [dataSource, setDataSource] = useState([]);
166
166
  const handleDataSource = () => {
167
- const data = Array.from({ length: 1000 }, (_, i) => {
167
+ const data = Array.from({ length: 1000000 }, (_, i) => {
168
168
  return {
169
169
  id: i,
170
170
  code: `test-${i}`,
@@ -180,6 +180,10 @@ function App() {
180
180
  setDataSource(data);
181
181
  };
182
182
  return (_jsxs(_Fragment, { children: [_jsx("button", { onClick: () => {
183
+ ref.current.scrollToRowIndex(414);
184
+ }, children: "414 \uC774\uB3D9" }), _jsx("button", { onClick: () => {
185
+ ref.current.scrollToRowIndex(1000000);
186
+ }, children: "1000000 \uC774\uB3D9" }), _jsx("button", { onClick: () => {
183
187
  handleDataSource();
184
188
  }, children: "\uB370\uC774\uD130 set" }), _jsx("button", { onClick: () => {
185
189
  const data = ref.current.getData();
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noraent/nora-datagrid",
3
- "version": "0.0.31",
3
+ "version": "0.0.33",
4
4
  "module": "./lib/esm/index.js",
5
5
  "main": "./lib/cjs/index.js",
6
6
  "private": false,
@@ -1,26 +1,26 @@
1
1
  export declare const white = "#FFFFFF";
2
2
  export declare const black = "#000000";
3
- export declare const primary0 = "#1F0757";
4
- export declare const primary5 = "#250868";
5
- export declare const primary10 = "#2B0A7A";
6
- export declare const primary15 = "#310B8B";
7
- export declare const primary20 = "#370D9D";
8
- export declare const primary25 = "#3E0EAE";
9
- export declare const primary30 = "#4410C0";
10
- export declare const primary35 = "#4A11D1";
11
- export declare const primary40 = "#5013E3";
12
- export declare const primary45 = "#5715F5";
13
- export declare const primary50 = "#6528F5";
14
- export declare const primary55 = "#733CF6";
15
- export declare const primary60 = "#8150F7";
16
- export declare const primary65 = "#8F63F8";
17
- export declare const primary70 = "#9D77F9";
18
- export declare const primary75 = "#BA9FFB";
19
- export declare const primary80 = "#D6C6FD";
20
- export declare const primary85 = "#E4DAFE";
21
- export declare const primary90 = "#F3EEFF";
22
- export declare const primary95 = "#F6F2FF";
23
- export declare const primary100 = "#F9F7FF";
3
+ export declare const primary0 = "#";
4
+ export declare const primary5 = "#";
5
+ export declare const primary10 = "#";
6
+ export declare const primary15 = "#";
7
+ export declare const primary20 = "#";
8
+ export declare const primary25 = "#";
9
+ export declare const primary30 = "#";
10
+ export declare const primary35 = "#";
11
+ export declare const primary40 = "#";
12
+ export declare const primary45 = "#3CCC39";
13
+ export declare const primary50 = "#";
14
+ export declare const primary55 = "#";
15
+ export declare const primary60 = "#";
16
+ export declare const primary65 = "#";
17
+ export declare const primary70 = "#";
18
+ export declare const primary75 = "#";
19
+ export declare const primary80 = "#";
20
+ export declare const primary85 = "#";
21
+ export declare const primary90 = "#";
22
+ export declare const primary95 = "#";
23
+ export declare const primary100 = "#";
24
24
  export declare const gray0 = "#000000";
25
25
  export declare const gray5 = "#0C0C0C";
26
26
  export declare const gray10 = "#191919";
@@ -2,27 +2,27 @@
2
2
  export const white = "#FFFFFF";
3
3
  export const black = "#000000";
4
4
  /* Colors= */
5
- export const primary0 = "#1F0757";
6
- export const primary5 = "#250868";
7
- export const primary10 = "#2B0A7A";
8
- export const primary15 = "#310B8B";
9
- export const primary20 = "#370D9D";
10
- export const primary25 = "#3E0EAE";
11
- export const primary30 = "#4410C0";
12
- export const primary35 = "#4A11D1";
13
- export const primary40 = "#5013E3";
14
- export const primary45 = "#5715F5";
15
- export const primary50 = "#6528F5";
16
- export const primary55 = "#733CF6";
17
- export const primary60 = "#8150F7";
18
- export const primary65 = "#8F63F8";
19
- export const primary70 = "#9D77F9";
20
- export const primary75 = "#BA9FFB";
21
- export const primary80 = "#D6C6FD";
22
- export const primary85 = "#E4DAFE";
23
- export const primary90 = "#F3EEFF";
24
- export const primary95 = "#F6F2FF";
25
- export const primary100 = "#F9F7FF";
5
+ export const primary0 = "#";
6
+ export const primary5 = "#";
7
+ export const primary10 = "#";
8
+ export const primary15 = "#";
9
+ export const primary20 = "#";
10
+ export const primary25 = "#";
11
+ export const primary30 = "#";
12
+ export const primary35 = "#";
13
+ export const primary40 = "#";
14
+ export const primary45 = "#3CCC39";
15
+ export const primary50 = "#";
16
+ export const primary55 = "#";
17
+ export const primary60 = "#";
18
+ export const primary65 = "#";
19
+ export const primary70 = "#";
20
+ export const primary75 = "#";
21
+ export const primary80 = "#";
22
+ export const primary85 = "#";
23
+ export const primary90 = "#";
24
+ export const primary95 = "#";
25
+ export const primary100 = "#";
26
26
  export const gray0 = "#000000";
27
27
  export const gray5 = "#0C0C0C";
28
28
  export const gray10 = "#191919";
@@ -1,23 +1,27 @@
1
1
  import React from "react";
2
- // import {
3
- // DataGridPrivateApi,
4
- // DataGridPublicApi,
5
- // GirdApiCommon,
6
- // } from "@/core/types/dataGridProps";
7
2
  import { useGridApiMethod } from "../useGridApiMethod";
3
+ import { classes } from "../../types/classes";
8
4
  export default function usePublicTest(apiRef) {
9
5
  const getData = React.useCallback(() => {
10
6
  return apiRef.current.store.state.dataSource;
11
7
  }, []);
12
- const setTextPublic = React.useCallback((_data) => {
13
- alert("dd");
14
- console.log("!!!! public");
8
+ const scrollToRowIndex = React.useCallback((rowIndex) => {
9
+ // 가변 X
10
+ // const top = rowIndex * 32 - 32;
11
+ apiRef.current.initHeightCache();
12
+ if (apiRef.current.store.gridContainer.current) {
13
+ const body = apiRef.current.store.gridContainer.current.querySelector(`.${classes.TableClasses.body.scroll.root}`);
14
+ if (body) {
15
+ const top = apiRef.current.getScrollTop(rowIndex);
16
+ body.scrollTop = top;
17
+ }
18
+ }
15
19
  }, []);
16
20
  const addCellRange = React.useCallback((cellRange) => {
17
21
  const updatedCellRange = structuredClone(apiRef.current.store.__cellRange);
18
22
  updatedCellRange.push(cellRange);
19
23
  apiRef.current = Object.assign(Object.assign({}, apiRef.current), { store: Object.assign(Object.assign({}, apiRef.current.store), { __cellRange: updatedCellRange }) });
20
24
  }, []);
21
- const apiMethods = { setTextPublic, addCellRange, getData };
25
+ const apiMethods = { addCellRange, getData, scrollToRowIndex };
22
26
  useGridApiMethod(apiRef, apiMethods, "public");
23
27
  }
@@ -75,10 +75,13 @@ export default function useInternalPrivateApi(apiRef) {
75
75
  return defaultValues[key];
76
76
  }
77
77
  const scrollToRowIndex = React.useCallback((rowIndex) => {
78
- const top = rowIndex * 32 - 32;
78
+ // 가변 X
79
+ // const top = rowIndex * 32 - 32;
80
+ apiRef.current.initHeightCache();
79
81
  if (apiRef.current.store.gridContainer.current) {
80
82
  const body = apiRef.current.store.gridContainer.current.querySelector(`.${classes.TableClasses.body.scroll.root}`);
81
83
  if (body) {
84
+ const top = getScrollTop(rowIndex);
82
85
  body.scrollTop = top;
83
86
  }
84
87
  }
@@ -111,6 +114,31 @@ export default function useInternalPrivateApi(apiRef) {
111
114
  store.state.dataSource[rowIndex] = Object.assign(Object.assign({}, store.state.dataSource[rowIndex]), { [fieldId]: value });
112
115
  return store.state.dataSource;
113
116
  }), []);
117
+ const initHeightCache = React.useCallback(() => {
118
+ let sum = 0;
119
+ const heightCache = apiRef.current.store.state.dataSource.map((row) => {
120
+ var _a;
121
+ sum += (_a = row.height) !== null && _a !== void 0 ? _a : 32;
122
+ return sum;
123
+ });
124
+ apiRef.current.store.heightCache = heightCache;
125
+ }, []);
126
+ const getScrollTop = React.useCallback((rowIndex) => {
127
+ let low = 0;
128
+ let high = apiRef.current.store.heightCache.length - 1;
129
+ let result = 0;
130
+ while (low <= high) {
131
+ const mid = Math.floor((low + high) / 2);
132
+ if (mid < rowIndex) {
133
+ result = apiRef.current.store.heightCache[mid];
134
+ low = mid + 1;
135
+ }
136
+ else {
137
+ high = mid - 1;
138
+ }
139
+ }
140
+ return result;
141
+ }, []);
114
142
  const apiMethods = {
115
143
  setText,
116
144
  setGridContainer,
@@ -122,6 +150,8 @@ export default function useInternalPrivateApi(apiRef) {
122
150
  setEditStatus,
123
151
  cellByRowIndex,
124
152
  setBasicStore,
153
+ initHeightCache,
154
+ getScrollTop,
125
155
  };
126
156
  useGridApiMethod(apiRef, apiMethods, "private");
127
157
  return {};
@@ -54,6 +54,7 @@ export interface DataGridOptionPropsModel {
54
54
  */
55
55
  interface DataGridBasicStorePropsModel {
56
56
  gridContainer: React.RefObject<HTMLDivElement>;
57
+ heightCache: number[];
57
58
  __cellRange: Array<CellRangeDef>;
58
59
  __cellRangeTemp: CellRangeTempDef;
59
60
  }
@@ -91,6 +92,12 @@ export interface DataGridPrivateApiModel {
91
92
  * @namespace NoraDataGrid.DataGridPrivateApiModel.setBasicProps
92
93
  */
93
94
  setBasicStore: (props: DataGridBasicProps) => DataGridStoreDef["state"];
95
+ /**
96
+ * 특정 행(row)의 스크롤 위치를 가져옵니다.
97
+ * @private
98
+ * @namespace NoraDataGrid.DataGridPrivateApiModel.getScrollTop
99
+ */
100
+ getScrollTop: (rowIndex: number) => number;
94
101
  /**
95
102
  * 특정 행(row)의 위치로 스크롤을 이동합니다.
96
103
  * @private
@@ -116,18 +123,34 @@ export interface DataGridPrivateApiModel {
116
123
  * 셀 모드를 변경합니다.
117
124
  */
118
125
  setEditStatus: (editStatus: DataGridStoreDef["state"]["editStatus"]) => Promise<DataGridStoreDef["state"]["editStatus"]>;
126
+ /**
127
+ * 데이터에 있는 모든 행 높이를 초기화 합니다.
128
+ * @private
129
+ * @namespace NoraDataGrid.DataGridPublicApiModel.getData
130
+ */
131
+ initHeightCache: () => void;
119
132
  cellByRowIndex: (rowIndex: number, fieldId: keyof DataGridPrivateDataSourceModel, value: string | number | undefined) => Promise<DataGridStoreDef["state"]["dataSource"]>;
120
133
  }
121
134
  export interface DataGridPublicApiModel {
122
- setTextPublic: (data: any) => void;
123
135
  /**
124
136
  * 선택할 셀의 범위를 추가합니다.
125
137
  * @param cellRange
126
138
  * @returns
127
139
  */
128
140
  addCellRange: (cellRange: CellRangeDef) => void;
129
- forceUpdate: () => void;
141
+ /**
142
+ * 현재 데이터를 가져옵니다.
143
+ * @public
144
+ * @namespace NoraDataGrid.DataGridPublicApiModel.getData
145
+ */
130
146
  getData: <R extends DataGridBasicPropsModel["dataSource"] = DataGridBasicPropsModel["dataSource"]>() => R;
147
+ /**
148
+ * 특정 행(row)의 위치로 스크롤을 이동합니다.
149
+ * @public
150
+ * @namespace NoraDataGrid.DataGridPublicApiModel.scrollToRowIndex
151
+ */
152
+ scrollToRowIndex: (rowIndex: number) => void;
153
+ forceUpdate: () => void;
131
154
  }
132
155
  export type CommonApi = React.MutableRefObject<DataGridPrivateApi | null>;
133
156
  export type GirdApi = DataGridPublicApi;
package/lib/esm/App.js CHANGED
@@ -164,7 +164,7 @@ function App() {
164
164
  const ref = useGridApiRef();
165
165
  const [dataSource, setDataSource] = useState([]);
166
166
  const handleDataSource = () => {
167
- const data = Array.from({ length: 1000 }, (_, i) => {
167
+ const data = Array.from({ length: 1000000 }, (_, i) => {
168
168
  return {
169
169
  id: i,
170
170
  code: `test-${i}`,
@@ -180,6 +180,10 @@ function App() {
180
180
  setDataSource(data);
181
181
  };
182
182
  return (_jsxs(_Fragment, { children: [_jsx("button", { onClick: () => {
183
+ ref.current.scrollToRowIndex(414);
184
+ }, children: "414 \uC774\uB3D9" }), _jsx("button", { onClick: () => {
185
+ ref.current.scrollToRowIndex(1000000);
186
+ }, children: "1000000 \uC774\uB3D9" }), _jsx("button", { onClick: () => {
183
187
  handleDataSource();
184
188
  }, children: "\uB370\uC774\uD130 set" }), _jsx("button", { onClick: () => {
185
189
  const data = ref.current.getData();
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noraent/nora-datagrid",
3
- "version": "0.0.31",
3
+ "version": "0.0.33",
4
4
  "module": "./lib/esm/index.js",
5
5
  "main": "./lib/cjs/index.js",
6
6
  "private": false,
@@ -1,26 +1,26 @@
1
1
  export declare const white = "#FFFFFF";
2
2
  export declare const black = "#000000";
3
- export declare const primary0 = "#1F0757";
4
- export declare const primary5 = "#250868";
5
- export declare const primary10 = "#2B0A7A";
6
- export declare const primary15 = "#310B8B";
7
- export declare const primary20 = "#370D9D";
8
- export declare const primary25 = "#3E0EAE";
9
- export declare const primary30 = "#4410C0";
10
- export declare const primary35 = "#4A11D1";
11
- export declare const primary40 = "#5013E3";
12
- export declare const primary45 = "#5715F5";
13
- export declare const primary50 = "#6528F5";
14
- export declare const primary55 = "#733CF6";
15
- export declare const primary60 = "#8150F7";
16
- export declare const primary65 = "#8F63F8";
17
- export declare const primary70 = "#9D77F9";
18
- export declare const primary75 = "#BA9FFB";
19
- export declare const primary80 = "#D6C6FD";
20
- export declare const primary85 = "#E4DAFE";
21
- export declare const primary90 = "#F3EEFF";
22
- export declare const primary95 = "#F6F2FF";
23
- export declare const primary100 = "#F9F7FF";
3
+ export declare const primary0 = "#";
4
+ export declare const primary5 = "#";
5
+ export declare const primary10 = "#";
6
+ export declare const primary15 = "#";
7
+ export declare const primary20 = "#";
8
+ export declare const primary25 = "#";
9
+ export declare const primary30 = "#";
10
+ export declare const primary35 = "#";
11
+ export declare const primary40 = "#";
12
+ export declare const primary45 = "#3CCC39";
13
+ export declare const primary50 = "#";
14
+ export declare const primary55 = "#";
15
+ export declare const primary60 = "#";
16
+ export declare const primary65 = "#";
17
+ export declare const primary70 = "#";
18
+ export declare const primary75 = "#";
19
+ export declare const primary80 = "#";
20
+ export declare const primary85 = "#";
21
+ export declare const primary90 = "#";
22
+ export declare const primary95 = "#";
23
+ export declare const primary100 = "#";
24
24
  export declare const gray0 = "#000000";
25
25
  export declare const gray5 = "#0C0C0C";
26
26
  export declare const gray10 = "#191919";
@@ -2,27 +2,27 @@
2
2
  export const white = "#FFFFFF";
3
3
  export const black = "#000000";
4
4
  /* Colors= */
5
- export const primary0 = "#1F0757";
6
- export const primary5 = "#250868";
7
- export const primary10 = "#2B0A7A";
8
- export const primary15 = "#310B8B";
9
- export const primary20 = "#370D9D";
10
- export const primary25 = "#3E0EAE";
11
- export const primary30 = "#4410C0";
12
- export const primary35 = "#4A11D1";
13
- export const primary40 = "#5013E3";
14
- export const primary45 = "#5715F5";
15
- export const primary50 = "#6528F5";
16
- export const primary55 = "#733CF6";
17
- export const primary60 = "#8150F7";
18
- export const primary65 = "#8F63F8";
19
- export const primary70 = "#9D77F9";
20
- export const primary75 = "#BA9FFB";
21
- export const primary80 = "#D6C6FD";
22
- export const primary85 = "#E4DAFE";
23
- export const primary90 = "#F3EEFF";
24
- export const primary95 = "#F6F2FF";
25
- export const primary100 = "#F9F7FF";
5
+ export const primary0 = "#";
6
+ export const primary5 = "#";
7
+ export const primary10 = "#";
8
+ export const primary15 = "#";
9
+ export const primary20 = "#";
10
+ export const primary25 = "#";
11
+ export const primary30 = "#";
12
+ export const primary35 = "#";
13
+ export const primary40 = "#";
14
+ export const primary45 = "#3CCC39";
15
+ export const primary50 = "#";
16
+ export const primary55 = "#";
17
+ export const primary60 = "#";
18
+ export const primary65 = "#";
19
+ export const primary70 = "#";
20
+ export const primary75 = "#";
21
+ export const primary80 = "#";
22
+ export const primary85 = "#";
23
+ export const primary90 = "#";
24
+ export const primary95 = "#";
25
+ export const primary100 = "#";
26
26
  export const gray0 = "#000000";
27
27
  export const gray5 = "#0C0C0C";
28
28
  export const gray10 = "#191919";
@@ -1,23 +1,27 @@
1
1
  import React from "react";
2
- // import {
3
- // DataGridPrivateApi,
4
- // DataGridPublicApi,
5
- // GirdApiCommon,
6
- // } from "@/core/types/dataGridProps";
7
2
  import { useGridApiMethod } from "../useGridApiMethod";
3
+ import { classes } from "../../types/classes";
8
4
  export default function usePublicTest(apiRef) {
9
5
  const getData = React.useCallback(() => {
10
6
  return apiRef.current.store.state.dataSource;
11
7
  }, []);
12
- const setTextPublic = React.useCallback((_data) => {
13
- alert("dd");
14
- console.log("!!!! public");
8
+ const scrollToRowIndex = React.useCallback((rowIndex) => {
9
+ // 가변 X
10
+ // const top = rowIndex * 32 - 32;
11
+ apiRef.current.initHeightCache();
12
+ if (apiRef.current.store.gridContainer.current) {
13
+ const body = apiRef.current.store.gridContainer.current.querySelector(`.${classes.TableClasses.body.scroll.root}`);
14
+ if (body) {
15
+ const top = apiRef.current.getScrollTop(rowIndex);
16
+ body.scrollTop = top;
17
+ }
18
+ }
15
19
  }, []);
16
20
  const addCellRange = React.useCallback((cellRange) => {
17
21
  const updatedCellRange = structuredClone(apiRef.current.store.__cellRange);
18
22
  updatedCellRange.push(cellRange);
19
23
  apiRef.current = Object.assign(Object.assign({}, apiRef.current), { store: Object.assign(Object.assign({}, apiRef.current.store), { __cellRange: updatedCellRange }) });
20
24
  }, []);
21
- const apiMethods = { setTextPublic, addCellRange, getData };
25
+ const apiMethods = { addCellRange, getData, scrollToRowIndex };
22
26
  useGridApiMethod(apiRef, apiMethods, "public");
23
27
  }
@@ -75,10 +75,13 @@ export default function useInternalPrivateApi(apiRef) {
75
75
  return defaultValues[key];
76
76
  }
77
77
  const scrollToRowIndex = React.useCallback((rowIndex) => {
78
- const top = rowIndex * 32 - 32;
78
+ // 가변 X
79
+ // const top = rowIndex * 32 - 32;
80
+ apiRef.current.initHeightCache();
79
81
  if (apiRef.current.store.gridContainer.current) {
80
82
  const body = apiRef.current.store.gridContainer.current.querySelector(`.${classes.TableClasses.body.scroll.root}`);
81
83
  if (body) {
84
+ const top = getScrollTop(rowIndex);
82
85
  body.scrollTop = top;
83
86
  }
84
87
  }
@@ -111,6 +114,31 @@ export default function useInternalPrivateApi(apiRef) {
111
114
  store.state.dataSource[rowIndex] = Object.assign(Object.assign({}, store.state.dataSource[rowIndex]), { [fieldId]: value });
112
115
  return store.state.dataSource;
113
116
  }), []);
117
+ const initHeightCache = React.useCallback(() => {
118
+ let sum = 0;
119
+ const heightCache = apiRef.current.store.state.dataSource.map((row) => {
120
+ var _a;
121
+ sum += (_a = row.height) !== null && _a !== void 0 ? _a : 32;
122
+ return sum;
123
+ });
124
+ apiRef.current.store.heightCache = heightCache;
125
+ }, []);
126
+ const getScrollTop = React.useCallback((rowIndex) => {
127
+ let low = 0;
128
+ let high = apiRef.current.store.heightCache.length - 1;
129
+ let result = 0;
130
+ while (low <= high) {
131
+ const mid = Math.floor((low + high) / 2);
132
+ if (mid < rowIndex) {
133
+ result = apiRef.current.store.heightCache[mid];
134
+ low = mid + 1;
135
+ }
136
+ else {
137
+ high = mid - 1;
138
+ }
139
+ }
140
+ return result;
141
+ }, []);
114
142
  const apiMethods = {
115
143
  setText,
116
144
  setGridContainer,
@@ -122,6 +150,8 @@ export default function useInternalPrivateApi(apiRef) {
122
150
  setEditStatus,
123
151
  cellByRowIndex,
124
152
  setBasicStore,
153
+ initHeightCache,
154
+ getScrollTop,
125
155
  };
126
156
  useGridApiMethod(apiRef, apiMethods, "private");
127
157
  return {};
@@ -54,6 +54,7 @@ export interface DataGridOptionPropsModel {
54
54
  */
55
55
  interface DataGridBasicStorePropsModel {
56
56
  gridContainer: React.RefObject<HTMLDivElement>;
57
+ heightCache: number[];
57
58
  __cellRange: Array<CellRangeDef>;
58
59
  __cellRangeTemp: CellRangeTempDef;
59
60
  }
@@ -91,6 +92,12 @@ export interface DataGridPrivateApiModel {
91
92
  * @namespace NoraDataGrid.DataGridPrivateApiModel.setBasicProps
92
93
  */
93
94
  setBasicStore: (props: DataGridBasicProps) => DataGridStoreDef["state"];
95
+ /**
96
+ * 특정 행(row)의 스크롤 위치를 가져옵니다.
97
+ * @private
98
+ * @namespace NoraDataGrid.DataGridPrivateApiModel.getScrollTop
99
+ */
100
+ getScrollTop: (rowIndex: number) => number;
94
101
  /**
95
102
  * 특정 행(row)의 위치로 스크롤을 이동합니다.
96
103
  * @private
@@ -116,18 +123,34 @@ export interface DataGridPrivateApiModel {
116
123
  * 셀 모드를 변경합니다.
117
124
  */
118
125
  setEditStatus: (editStatus: DataGridStoreDef["state"]["editStatus"]) => Promise<DataGridStoreDef["state"]["editStatus"]>;
126
+ /**
127
+ * 데이터에 있는 모든 행 높이를 초기화 합니다.
128
+ * @private
129
+ * @namespace NoraDataGrid.DataGridPublicApiModel.getData
130
+ */
131
+ initHeightCache: () => void;
119
132
  cellByRowIndex: (rowIndex: number, fieldId: keyof DataGridPrivateDataSourceModel, value: string | number | undefined) => Promise<DataGridStoreDef["state"]["dataSource"]>;
120
133
  }
121
134
  export interface DataGridPublicApiModel {
122
- setTextPublic: (data: any) => void;
123
135
  /**
124
136
  * 선택할 셀의 범위를 추가합니다.
125
137
  * @param cellRange
126
138
  * @returns
127
139
  */
128
140
  addCellRange: (cellRange: CellRangeDef) => void;
129
- forceUpdate: () => void;
141
+ /**
142
+ * 현재 데이터를 가져옵니다.
143
+ * @public
144
+ * @namespace NoraDataGrid.DataGridPublicApiModel.getData
145
+ */
130
146
  getData: <R extends DataGridBasicPropsModel["dataSource"] = DataGridBasicPropsModel["dataSource"]>() => R;
147
+ /**
148
+ * 특정 행(row)의 위치로 스크롤을 이동합니다.
149
+ * @public
150
+ * @namespace NoraDataGrid.DataGridPublicApiModel.scrollToRowIndex
151
+ */
152
+ scrollToRowIndex: (rowIndex: number) => void;
153
+ forceUpdate: () => void;
131
154
  }
132
155
  export type CommonApi = React.MutableRefObject<DataGridPrivateApi | null>;
133
156
  export type GirdApi = DataGridPublicApi;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noraent/nora-datagrid",
3
- "version": "0.0.31",
3
+ "version": "0.0.33",
4
4
  "module": "./lib/esm/index.js",
5
5
  "main": "./lib/cjs/index.js",
6
6
  "private": false,