@operato/data-grist 2.0.0-alpha.2 → 2.0.0-alpha.20
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/CHANGELOG.md +129 -0
- package/dist/src/accumulator/accumulator.js +4 -4
- package/dist/src/accumulator/accumulator.js.map +1 -1
- package/dist/src/configure/rows-option-builder.js +2 -1
- package/dist/src/configure/rows-option-builder.js.map +1 -1
- package/dist/src/configure/zero-config.js +1 -0
- package/dist/src/configure/zero-config.js.map +1 -1
- package/dist/src/data-card/event-handlers/record-card-click-handler.js +1 -1
- package/dist/src/data-card/event-handlers/record-card-click-handler.js.map +1 -1
- package/dist/src/data-grid/data-grid-accum-field.js +3 -2
- package/dist/src/data-grid/data-grid-accum-field.js.map +1 -1
- package/dist/src/data-grid/data-grid-body.js +3 -1
- package/dist/src/data-grid/data-grid-body.js.map +1 -1
- package/dist/src/data-grid/data-grid-header.d.ts +1 -0
- package/dist/src/data-grid/data-grid-header.js +16 -14
- package/dist/src/data-grid/data-grid-header.js.map +1 -1
- package/dist/src/data-grist.d.ts +225 -3
- package/dist/src/data-grist.js +195 -3
- package/dist/src/data-grist.js.map +1 -1
- package/dist/src/data-list/event-handlers/record-partial-click-handler.js +1 -1
- package/dist/src/data-list/event-handlers/record-partial-click-handler.js.map +1 -1
- package/dist/src/data-manipulator.d.ts +6 -4
- package/dist/src/data-manipulator.js +91 -21
- package/dist/src/data-manipulator.js.map +1 -1
- package/dist/src/editors/ox-grist-editor-number.js +2 -2
- package/dist/src/editors/ox-grist-editor-number.js.map +1 -1
- package/dist/src/editors/ox-grist-editor.js +5 -1
- package/dist/src/editors/ox-grist-editor.js.map +1 -1
- package/dist/src/editors/ox-input-tree.js +1 -1
- package/dist/src/editors/ox-input-tree.js.map +1 -1
- package/dist/src/handlers/contextmenu-tree-mutation.js +1 -19
- package/dist/src/handlers/contextmenu-tree-mutation.js.map +1 -1
- package/dist/src/renderers/ox-grist-renderer-tree.js +1 -1
- package/dist/src/renderers/ox-grist-renderer-tree.js.map +1 -1
- package/dist/src/types.d.ts +435 -4
- package/dist/src/types.js +9 -0
- package/dist/src/types.js.map +1 -1
- package/dist/stories/accumulator.stories.js +10 -5
- package/dist/stories/accumulator.stories.js.map +1 -1
- package/dist/stories/dynamic-editable.stories.js +10 -0
- package/dist/stories/dynamic-editable.stories.js.map +1 -1
- package/dist/stories/fixed-column.stories.js +3 -3
- package/dist/stories/fixed-column.stories.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/docs/gutter/gutter.md +7 -0
- package/package.json +5 -5
- package/src/accumulator/accumulator.ts +4 -4
- package/src/configure/rows-option-builder.ts +11 -1
- package/src/configure/zero-config.ts +1 -0
- package/src/data-card/event-handlers/record-card-click-handler.ts +1 -1
- package/src/data-grid/data-grid-accum-field.ts +3 -2
- package/src/data-grid/data-grid-body.ts +3 -1
- package/src/data-grid/data-grid-header.ts +22 -18
- package/src/data-grist.ts +250 -3
- package/src/data-list/event-handlers/record-partial-click-handler.ts +1 -1
- package/src/data-manipulator.ts +113 -22
- package/src/editors/ox-grist-editor-number.ts +3 -2
- package/src/editors/ox-grist-editor.ts +5 -1
- package/src/editors/ox-input-tree.ts +1 -1
- package/src/handlers/contextmenu-tree-mutation.ts +1 -19
- package/src/renderers/ox-grist-renderer-tree.ts +1 -1
- package/src/types.ts +443 -4
- package/stories/accumulator.stories.ts +10 -5
- package/stories/dynamic-editable.stories.ts +10 -0
- package/stories/fixed-column.stories.ts +3 -3
- package/themes/grist-theme.css +1 -1
- package/dist/src/data-grid/event-handlers/data-grid-body-focus-change-handler copy.d.ts +0 -7
- package/dist/src/data-grid/event-handlers/data-grid-body-focus-change-handler copy.js +0 -19
- package/dist/src/data-grid/event-handlers/data-grid-body-focus-change-handler copy.js.map +0 -1
- package/dist/src/handlers/contextmenu-tree.d.ts +0 -3
- package/dist/src/handlers/contextmenu-tree.js +0 -30
- package/dist/src/handlers/contextmenu-tree.js.map +0 -1
- package/dist/src/handlers/move-up copy.d.ts +0 -3
- package/dist/src/handlers/move-up copy.js +0 -26
- package/dist/src/handlers/move-up copy.js.map +0 -1
@@ -79,7 +79,8 @@ const config = {
|
|
79
79
|
},
|
80
80
|
filter: 'search',
|
81
81
|
sortable: true,
|
82
|
-
width: 120
|
82
|
+
width: 120,
|
83
|
+
fixed: true
|
83
84
|
},
|
84
85
|
{
|
85
86
|
type: 'string',
|
@@ -105,6 +106,10 @@ const config = {
|
|
105
106
|
align: 'right'
|
106
107
|
},
|
107
108
|
accumulator: 'avg',
|
109
|
+
// accumulator: {
|
110
|
+
// type: 'avg',
|
111
|
+
// tag: true
|
112
|
+
// },
|
108
113
|
sortable: true,
|
109
114
|
width: 130
|
110
115
|
},
|
@@ -115,7 +120,10 @@ const config = {
|
|
115
120
|
header: 'accval2',
|
116
121
|
record: {
|
117
122
|
editable: true,
|
118
|
-
align: 'right'
|
123
|
+
align: 'right',
|
124
|
+
renderer: (value: any, column: any, record: any) => {
|
125
|
+
return value && Intl.NumberFormat('en-US').format(value)
|
126
|
+
}
|
119
127
|
},
|
120
128
|
accumulator: {
|
121
129
|
type: 'sum',
|
@@ -162,9 +170,6 @@ const config = {
|
|
162
170
|
{
|
163
171
|
name: 'name',
|
164
172
|
desc: true
|
165
|
-
},
|
166
|
-
{
|
167
|
-
name: 'email'
|
168
173
|
}
|
169
174
|
],
|
170
175
|
pagination: {
|
@@ -24,6 +24,7 @@ const fetchHandler: FetchHandler = async ({ sorters = [], filters, page, limit }
|
|
24
24
|
name: idx % 2 ? `shnam-${start + idx + 1}` : `heartyoh-${start + idx + 1}`,
|
25
25
|
description: idx % 2 ? `hatiolabmanager${start + idx + 1}1234567890` : `hatiosea manager-${start + idx + 1}`,
|
26
26
|
number: idx,
|
27
|
+
float: 1.3,
|
27
28
|
date: '2023-09-20',
|
28
29
|
routing: {
|
29
30
|
id: '006dc64d-4fb9-4afc-a9ea-962bd1b9e110',
|
@@ -117,6 +118,15 @@ function buildConfig({ headerFilter }: { headerFilter: boolean }) {
|
|
117
118
|
},
|
118
119
|
width: 80
|
119
120
|
},
|
121
|
+
{
|
122
|
+
type: 'float',
|
123
|
+
name: 'float',
|
124
|
+
header: 'float',
|
125
|
+
record: {
|
126
|
+
editable: true
|
127
|
+
},
|
128
|
+
width: 80
|
129
|
+
},
|
120
130
|
{
|
121
131
|
type: 'date',
|
122
132
|
name: 'date',
|
@@ -144,8 +144,7 @@ const config = {
|
|
144
144
|
},
|
145
145
|
filter: 'search',
|
146
146
|
sortable: true,
|
147
|
-
width: 120
|
148
|
-
fixed: true
|
147
|
+
width: 120
|
149
148
|
},
|
150
149
|
{
|
151
150
|
type: 'string',
|
@@ -161,7 +160,8 @@ const config = {
|
|
161
160
|
click: (columns, data, column, record, rowIndex, target) => {
|
162
161
|
alert(`${column!.name} ${record![column!.name]}, row : ${rowIndex}`)
|
163
162
|
}
|
164
|
-
} as GristEventHandlerSet
|
163
|
+
} as GristEventHandlerSet,
|
164
|
+
fixed: true
|
165
165
|
},
|
166
166
|
{
|
167
167
|
type: 'email',
|
package/themes/grist-theme.css
CHANGED
@@ -41,7 +41,7 @@ body {
|
|
41
41
|
|
42
42
|
--grid-record-background-color: var(--theme-white-color);
|
43
43
|
--grid-record-odd-background-color: #f9f7f5;
|
44
|
-
--grid-record-padding: 0
|
44
|
+
--grid-record-padding: 0 5px 0 5px;
|
45
45
|
--grid-record-color: var(--secondary-color);
|
46
46
|
--grid-record-color-hover: var(--primary-color);
|
47
47
|
--grid-record-wide-fontsize: var(--fontsize-small);
|
@@ -1,19 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* ox-grid-body 의 focus-change handler
|
3
|
-
*
|
4
|
-
* - handler의 this 는 ox-grid-body임.
|
5
|
-
*/
|
6
|
-
export async function dataGridBodyFocusChangeHandler(e) {
|
7
|
-
const { row: rowIndex, column: columnIndex } = e.detail;
|
8
|
-
const target = this.getFieldByIndex(rowIndex, columnIndex);
|
9
|
-
var { column, record } = target || {};
|
10
|
-
/* do column focus handler */
|
11
|
-
if (column) {
|
12
|
-
var { focus } = column.handlers;
|
13
|
-
focus && focus(this.columns, this.data, column, record, rowIndex, target);
|
14
|
-
}
|
15
|
-
/* do rows focus handler */
|
16
|
-
var { focus: rowsFocus } = this.config.rows.handlers;
|
17
|
-
rowsFocus && rowsFocus(this.columns, this.data, column, record, rowIndex, target);
|
18
|
-
}
|
19
|
-
//# sourceMappingURL=data-grid-body-focus-change-handler%20copy.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"data-grid-body-focus-change-handler copy.js","sourceRoot":"","sources":["../../../../src/data-grid/event-handlers/data-grid-body-focus-change-handler copy.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAqB,CAAQ;IAC/E,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,GAAI,CAAiB,CAAC,MAAM,CAAA;IAExE,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;IAE1D,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IAErC,6BAA6B;IAC7B,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC/B,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;IAC3E,CAAC;IAED,2BAA2B;IAC3B,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAA;IACpD,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;AACnF,CAAC","sourcesContent":["import { DataGridBody } from '../data-grid-body'\n\n/**\n * ox-grid-body 의 focus-change handler\n *\n * - handler의 this 는 ox-grid-body임.\n */\nexport async function dataGridBodyFocusChangeHandler(this: DataGridBody, e: Event): Promise<void> {\n const { row: rowIndex, column: columnIndex } = (e as CustomEvent).detail\n\n const target = this.getFieldByIndex(rowIndex, columnIndex)\n\n var { column, record } = target || {}\n\n /* do column focus handler */\n if (column) {\n var { focus } = column.handlers\n focus && focus(this.columns, this.data, column, record, rowIndex, target)\n }\n\n /* do rows focus handler */\n var { focus: rowsFocus } = this.config.rows.handlers\n rowsFocus && rowsFocus(this.columns, this.data, column, record, rowIndex, target)\n}\n"]}
|
@@ -1,3 +0,0 @@
|
|
1
|
-
import { DataGridField } from '../data-grid/data-grid-field';
|
2
|
-
import { ColumnConfig, GristData, GristRecord } from '../types';
|
3
|
-
export declare const ContextMenuTree: (columns: ColumnConfig[], data: GristData, column: ColumnConfig, record: GristRecord, rowIndex: number, field: DataGridField) => void;
|
@@ -1,30 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* handler들은 ox-grid-field 로부터 호출되는 것을 전제로 하며,
|
3
|
-
* 전반적인 처리를 위해서, columns 및 data 정보를 포함해서 제공할 수 있어야 한다.
|
4
|
-
*/
|
5
|
-
export const ContextMenuTree = function (columns, data, column, record, rowIndex, field) {
|
6
|
-
// var moveTo = rowIndex - 1
|
7
|
-
// var length = data.records.length
|
8
|
-
// if (rowIndex >= length || moveTo < 0 || moveTo >= length) {
|
9
|
-
// return
|
10
|
-
// }
|
11
|
-
// data.records.splice(rowIndex, 1)
|
12
|
-
// data.records.splice(moveTo, 0, record)
|
13
|
-
// field.dispatchEvent(
|
14
|
-
// new CustomEvent('record-change', {
|
15
|
-
// bubbles: true,
|
16
|
-
// composed: true
|
17
|
-
// })
|
18
|
-
// )
|
19
|
-
// field.dispatchEvent(
|
20
|
-
// new CustomEvent('focus-change', {
|
21
|
-
// bubbles: true,
|
22
|
-
// composed: true,
|
23
|
-
// detail: {
|
24
|
-
// row: moveTo,
|
25
|
-
// column: column
|
26
|
-
// }
|
27
|
-
// })
|
28
|
-
// )
|
29
|
-
};
|
30
|
-
//# sourceMappingURL=contextmenu-tree.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"contextmenu-tree.js","sourceRoot":"","sources":["../../../src/handlers/contextmenu-tree.ts"],"names":[],"mappings":"AAGA;;;GAGG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,UAC7B,OAAuB,EACvB,IAAe,EACf,MAAoB,EACpB,MAAmB,EACnB,QAAgB,EAChB,KAAoB;IAEpB,4BAA4B;IAC5B,mCAAmC;IACnC,8DAA8D;IAC9D,WAAW;IACX,IAAI;IACJ,mCAAmC;IACnC,yCAAyC;IACzC,uBAAuB;IACvB,uCAAuC;IACvC,qBAAqB;IACrB,qBAAqB;IACrB,OAAO;IACP,IAAI;IACJ,uBAAuB;IACvB,sCAAsC;IACtC,qBAAqB;IACrB,sBAAsB;IACtB,gBAAgB;IAChB,qBAAqB;IACrB,uBAAuB;IACvB,QAAQ;IACR,OAAO;IACP,IAAI;AACN,CAAC,CAAA","sourcesContent":["import { DataGridField } from '../data-grid/data-grid-field'\nimport { ColumnConfig, GristData, GristRecord } from '../types'\n\n/*\n * handler들은 ox-grid-field 로부터 호출되는 것을 전제로 하며,\n * 전반적인 처리를 위해서, columns 및 data 정보를 포함해서 제공할 수 있어야 한다.\n */\n\nexport const ContextMenuTree = function (\n columns: ColumnConfig[],\n data: GristData,\n column: ColumnConfig,\n record: GristRecord,\n rowIndex: number,\n field: DataGridField\n): void {\n // var moveTo = rowIndex - 1\n // var length = data.records.length\n // if (rowIndex >= length || moveTo < 0 || moveTo >= length) {\n // return\n // }\n // data.records.splice(rowIndex, 1)\n // data.records.splice(moveTo, 0, record)\n // field.dispatchEvent(\n // new CustomEvent('record-change', {\n // bubbles: true,\n // composed: true\n // })\n // )\n // field.dispatchEvent(\n // new CustomEvent('focus-change', {\n // bubbles: true,\n // composed: true,\n // detail: {\n // row: moveTo,\n // column: column\n // }\n // })\n // )\n}\n"]}
|
@@ -1,3 +0,0 @@
|
|
1
|
-
import { DataGridField } from '../data-grid/data-grid-field';
|
2
|
-
import { ColumnConfig, GristData, GristRecord } from '../types';
|
3
|
-
export declare const MoveUp: (columns: ColumnConfig[], data: GristData, column: ColumnConfig, record: GristRecord, rowIndex: number, field: DataGridField) => void;
|
@@ -1,26 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* handler들은 ox-grid-field 로부터 호출되는 것을 전제로 하며,
|
3
|
-
* 전반적인 처리를 위해서, columns 및 data 정보를 포함해서 제공할 수 있어야 한다.
|
4
|
-
*/
|
5
|
-
export const MoveUp = function (columns, data, column, record, rowIndex, field) {
|
6
|
-
var moveTo = rowIndex - 1;
|
7
|
-
var length = data.records.length;
|
8
|
-
if (rowIndex >= length || moveTo < 0 || moveTo >= length) {
|
9
|
-
return;
|
10
|
-
}
|
11
|
-
data.records.splice(rowIndex, 1);
|
12
|
-
data.records.splice(moveTo, 0, record);
|
13
|
-
field.dispatchEvent(new CustomEvent('record-change', {
|
14
|
-
bubbles: true,
|
15
|
-
composed: true
|
16
|
-
}));
|
17
|
-
field.dispatchEvent(new CustomEvent('focus-change', {
|
18
|
-
bubbles: true,
|
19
|
-
composed: true,
|
20
|
-
detail: {
|
21
|
-
row: moveTo,
|
22
|
-
column: column
|
23
|
-
}
|
24
|
-
}));
|
25
|
-
};
|
26
|
-
//# sourceMappingURL=move-up%20copy.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"move-up copy.js","sourceRoot":"","sources":["../../../src/handlers/move-up copy.ts"],"names":[],"mappings":"AAGA;;;GAGG;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,UACpB,OAAuB,EACvB,IAAe,EACf,MAAoB,EACpB,MAAmB,EACnB,QAAgB,EAChB,KAAoB;IAEpB,IAAI,MAAM,GAAG,QAAQ,GAAG,CAAC,CAAA;IACzB,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;IAEhC,IAAI,QAAQ,IAAI,MAAM,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;QACzD,OAAM;IACR,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAChC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;IAEtC,KAAK,CAAC,aAAa,CACjB,IAAI,WAAW,CAAC,eAAe,EAAE;QAC/B,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;KACf,CAAC,CACH,CAAA;IAED,KAAK,CAAC,aAAa,CACjB,IAAI,WAAW,CAAC,cAAc,EAAE;QAC9B,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE;YACN,GAAG,EAAE,MAAM;YACX,MAAM,EAAE,MAAM;SACf;KACF,CAAC,CACH,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { DataGridField } from '../data-grid/data-grid-field'\nimport { ColumnConfig, GristData, GristRecord } from '../types'\n\n/*\n * handler들은 ox-grid-field 로부터 호출되는 것을 전제로 하며,\n * 전반적인 처리를 위해서, columns 및 data 정보를 포함해서 제공할 수 있어야 한다.\n */\n\nexport const MoveUp = function (\n columns: ColumnConfig[],\n data: GristData,\n column: ColumnConfig,\n record: GristRecord,\n rowIndex: number,\n field: DataGridField\n): void {\n var moveTo = rowIndex - 1\n var length = data.records.length\n\n if (rowIndex >= length || moveTo < 0 || moveTo >= length) {\n return\n }\n\n data.records.splice(rowIndex, 1)\n data.records.splice(moveTo, 0, record)\n\n field.dispatchEvent(\n new CustomEvent('record-change', {\n bubbles: true,\n composed: true\n })\n )\n\n field.dispatchEvent(\n new CustomEvent('focus-change', {\n bubbles: true,\n composed: true,\n detail: {\n row: moveTo,\n column: column\n }\n })\n )\n}\n"]}
|