@vmscloud/moz-ui-grid-vue 0.2.16 → 0.2.18
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/dist/MozGrid.vue.d.ts +0 -1
- package/dist/bridge/VueRenderer.d.ts +2 -1
- package/dist/compat/MozGridVue.vue.d.ts +0 -1
- package/dist/compat/MozPivotVue.vue.d.ts +1 -1
- package/dist/composables/useGridPreset.d.ts +6 -0
- package/dist/index.cjs +2 -2
- package/dist/index.d.ts +3 -1
- package/dist/index.js +62 -16
- package/dist/stories/DataLoader.stories.d.ts +53 -0
- package/dist/stories/ObjectValue.stories.d.ts +34 -0
- package/dist/stories/_helpers/localData.worker.d.ts +1 -0
- package/dist/stories/_helpers/localDataLoader.d.ts +3 -3
- package/dist/stories/_helpers/serverRowsLoader.d.ts +55 -0
- package/dist/stories/_helpers/serverTreeLoader.d.ts +18 -0
- package/dist/style.css +1 -1
- package/dist/types/pivot-props.d.ts +4 -1
- package/dist/types/props.d.ts +6 -7
- package/dist/types/toolbar.d.ts +31 -11
- package/docs/manual/examples.md +131 -2
- package/docs/manual/reference.md +1042 -147
- package/docs/manual/reference_vue.md +259 -48
- package/docs/manual/runtime-contracts.md +23 -17
- package/package.json +3 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { DataLoader } from '@vmscloud/moz-ui-grid-core';
|
|
2
|
-
/** DataLoader.
|
|
1
|
+
import { DataLoader } from '@vmscloud/moz-ui-grid-core/worker';
|
|
2
|
+
/** DataLoader.fetchAll()가 반환하는 데이터 행 타입 */
|
|
3
3
|
type DataRow = Record<string, any>;
|
|
4
4
|
export default class LocalDataLoader extends DataLoader {
|
|
5
|
-
|
|
5
|
+
fetchAll(): Promise<DataRow[]>;
|
|
6
6
|
}
|
|
7
7
|
export {};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { DataLoader, ServerGroupFilterModel, FetchAggregatesRequest, FetchAggregatesResult, FetchGroupsRequest, FetchGroupsResult, FetchFilterValuesRequest, FetchFilterValuesResult, FetchRangeRequest, FetchRangeResult, FetchSearchRequest, FetchSearchResult } from '@vmscloud/moz-ui-grid-core/worker';
|
|
2
|
+
import { RangeUpdate } from '@vmscloud/moz-ui-grid-core';
|
|
3
|
+
/**
|
|
4
|
+
* 스토리의 저장 버튼 — `grid.changes.getAll()` 의 수정분을 서버에 반영한다(새 행·삭제는 데모에서 저장하지 않음).
|
|
5
|
+
* 범위 수정(그룹 체크박스·bulkUpdate)은 `UPDATE … WHERE 필터 AND 그룹 결과 필터 AND scope` 처럼 대상 행을 골라 바꾼다
|
|
6
|
+
* (행 ID 목록 범위 `rowIds` 는 `WHERE id IN (…)`)
|
|
7
|
+
* (200만 행 이하만 — 그 이상은 데모 서버가 전부 훑을 수 없음). 범위와 셀 수정은 겹치지 않으므로 순서와 무관하다.
|
|
8
|
+
*/
|
|
9
|
+
export declare function saveServerEdits(changes: {
|
|
10
|
+
modified: Array<{
|
|
11
|
+
rowId: string | number;
|
|
12
|
+
currentData: Record<string, unknown>;
|
|
13
|
+
}>;
|
|
14
|
+
rangeUpdates?: RangeUpdate[];
|
|
15
|
+
}, total: number): void;
|
|
16
|
+
/** 요청 기록 — 스토리 화면에 "몇 번, 어느 구간을 요청했는지" 보여 주기 위함 */
|
|
17
|
+
export declare const serverRequestLog: Array<{
|
|
18
|
+
startRow: number;
|
|
19
|
+
endRow: number;
|
|
20
|
+
sort: string;
|
|
21
|
+
filters: number;
|
|
22
|
+
anchorRow?: number;
|
|
23
|
+
}>;
|
|
24
|
+
export default class ServerRowsLoader extends DataLoader {
|
|
25
|
+
/** 조건(정렬·필터) → 결과 id 목록. 실제 서버의 "조건별 행 번호표" 역할 */
|
|
26
|
+
private resultCache;
|
|
27
|
+
private get total();
|
|
28
|
+
private resultIds;
|
|
29
|
+
fetchRange(req: FetchRangeRequest): Promise<FetchRangeResult>;
|
|
30
|
+
/**
|
|
31
|
+
* 집계 — 하단 합계(selection 없음)와 상태 표시줄 선택 합계(selection 있음).
|
|
32
|
+
* 숫자 열(id, salary)의 sum·count·min·max·avg 를 낸다. 저장 전 편집(changes)이 오면 반영한다.
|
|
33
|
+
* 200만 행을 넘는 결과는 전부 훑지 않고 계산식으로 답한다(예외·편집분만 더하고 뺌, min/max 는 근사).
|
|
34
|
+
*/
|
|
35
|
+
fetchAggregates(req: FetchAggregatesRequest): Promise<FetchAggregatesResult>;
|
|
36
|
+
/**
|
|
37
|
+
* 그룹 목록 — groupKeys 아래 다음 그룹 열로 묶은 그룹(값·행 수·집계·하위 그룹 수).
|
|
38
|
+
* 200만 행 이하에서만(그 이상은 전부 훑을 수 없음).
|
|
39
|
+
*/
|
|
40
|
+
fetchGroups(req: FetchGroupsRequest): Promise<FetchGroupsResult>;
|
|
41
|
+
private survivingCache;
|
|
42
|
+
/** 저장(saveServerEdits)용 — 행 수를 지정해 그룹 결과 필터 통과 행을 구한다 */
|
|
43
|
+
survivingIdsFor(total: number, filterModel: FetchRangeRequest['filterModel'], groupColumns: string[], model: ServerGroupFilterModel): Set<number>;
|
|
44
|
+
/**
|
|
45
|
+
* 그룹 결과 필터를 통과하는 행 — 행 필터 후 그룹별 행 수·집계로 맨 아래 그룹 경로마다 판정한다(그리드와 같은 규칙,
|
|
46
|
+
* 판정 함수는 core 의 createGroupFilterPredicate). 실제 서버라면 GROUP BY … HAVING 으로 한다.
|
|
47
|
+
*/
|
|
48
|
+
private survivingIds;
|
|
49
|
+
/** 현재 필터 결과 전체를 집계에 더한다 */
|
|
50
|
+
private addAllRows;
|
|
51
|
+
/** 툴바 검색 — 현재 조건의 결과에서 일치하는 셀(최대 1,000개) */
|
|
52
|
+
fetchSearch(req: FetchSearchRequest): Promise<FetchSearchResult>;
|
|
53
|
+
/** 필터 값 목록(체크박스) — 열마다 가능한 값 */
|
|
54
|
+
fetchFilterValues(req: FetchFilterValuesRequest): Promise<FetchFilterValuesResult>;
|
|
55
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { DataLoader, FetchNodeAggregatesRequest, FetchNodeAggregatesResult, FetchPathRequest, FetchRangeRequest, FetchRangeResult, FetchSearchRequest, FetchSearchResult, TreeNodeLocation } from '@vmscloud/moz-ui-grid-core/worker';
|
|
2
|
+
import { RangeUpdate } from '@vmscloud/moz-ui-grid-core';
|
|
3
|
+
export declare const treeRequestLog: string[];
|
|
4
|
+
/** 저장 버튼 — 셀 수정과 트리 범위 수정을 "DB"에 반영한다 */
|
|
5
|
+
export declare function saveTreeEdits(changes: {
|
|
6
|
+
modified: Array<{
|
|
7
|
+
rowId: string | number;
|
|
8
|
+
currentData: Record<string, unknown>;
|
|
9
|
+
}>;
|
|
10
|
+
rangeUpdates?: RangeUpdate[];
|
|
11
|
+
}): void;
|
|
12
|
+
export default class ServerTreeLoader extends DataLoader {
|
|
13
|
+
fetchRange(req: FetchRangeRequest): Promise<FetchRangeResult>;
|
|
14
|
+
/** 저장 전 편집을 반영한 노드 급여 합계 — 저장된 서브트리 합에 편집 차이를 더한다 */
|
|
15
|
+
fetchNodeAggregates(req: FetchNodeAggregatesRequest): Promise<FetchNodeAggregatesResult>;
|
|
16
|
+
fetchSearch(req: FetchSearchRequest): Promise<FetchSearchResult>;
|
|
17
|
+
fetchPath(req: FetchPathRequest): Promise<TreeNodeLocation | null>;
|
|
18
|
+
}
|