@operato/data-grist 8.0.0-alpha.8 → 8.0.0-beta.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 (218) hide show
  1. package/CHANGELOG.md +186 -0
  2. package/dist/src/data-grid/data-grid-body.js +21 -7
  3. package/dist/src/data-grid/data-grid-body.js.map +1 -1
  4. package/dist/src/data-grid/data-grid-footer.js +2 -0
  5. package/dist/src/data-grid/data-grid-footer.js.map +1 -1
  6. package/dist/src/data-grid/data-grid-header.d.ts +1 -1
  7. package/dist/src/data-grid/data-grid-header.js +13 -9
  8. package/dist/src/data-grid/data-grid-header.js.map +1 -1
  9. package/dist/src/editors/ox-grist-editor-varname.d.ts +6 -0
  10. package/dist/src/editors/ox-grist-editor-varname.js +36 -0
  11. package/dist/src/editors/ox-grist-editor-varname.js.map +1 -0
  12. package/dist/src/editors/ox-grist-editor.js +3 -3
  13. package/dist/src/editors/ox-grist-editor.js.map +1 -1
  14. package/dist/src/editors/registry.js +3 -1
  15. package/dist/src/editors/registry.js.map +1 -1
  16. package/dist/src/gutters/gutter-sequence.d.ts +1 -1
  17. package/dist/src/record-view/index.d.ts +1 -1
  18. package/dist/src/record-view/index.js +1 -1
  19. package/dist/src/record-view/index.js.map +1 -1
  20. package/dist/src/record-view/{record-creator.d.ts → ox-record-creator.d.ts} +8 -4
  21. package/dist/src/record-view/{record-creator.js → ox-record-creator.js} +90 -34
  22. package/dist/src/record-view/ox-record-creator.js.map +1 -0
  23. package/dist/src/renderers/ox-grist-renderer-boolean.js +1 -1
  24. package/dist/src/renderers/ox-grist-renderer-boolean.js.map +1 -1
  25. package/dist/stories/accumulator-format.stories.d.ts +1 -1
  26. package/dist/stories/accumulator-format.stories.js +1 -1
  27. package/dist/stories/accumulator-format.stories.js.map +1 -1
  28. package/dist/stories/click-event-custom.stories.d.ts +45 -0
  29. package/dist/stories/click-event-custom.stories.js +247 -0
  30. package/dist/stories/click-event-custom.stories.js.map +1 -0
  31. package/dist/stories/click-event.stories.d.ts +1 -1
  32. package/dist/stories/click-event.stories.js +1 -1
  33. package/dist/stories/click-event.stories.js.map +1 -1
  34. package/dist/stories/fixed-column.stories.d.ts +1 -1
  35. package/dist/stories/fixed-column.stories.js +1 -1
  36. package/dist/stories/fixed-column.stories.js.map +1 -1
  37. package/dist/stories/grid-setting.stories.d.ts +1 -1
  38. package/dist/stories/grid-setting.stories.js +1 -1
  39. package/dist/stories/grid-setting.stories.js.map +1 -1
  40. package/dist/stories/grist-modes.stories.d.ts +1 -1
  41. package/dist/stories/grist-modes.stories.js +1 -1
  42. package/dist/stories/grist-modes.stories.js.map +1 -1
  43. package/dist/stories/group-header.stories.d.ts +1 -1
  44. package/dist/stories/group-header.stories.js +1 -1
  45. package/dist/stories/group-header.stories.js.map +1 -1
  46. package/dist/stories/textarea.stories.d.ts +1 -1
  47. package/dist/stories/textarea.stories.js +1 -1
  48. package/dist/stories/textarea.stories.js.map +1 -1
  49. package/dist/stories/tree-column-with-checkbox.stories.d.ts +1 -1
  50. package/dist/stories/tree-column-with-checkbox.stories.js +1 -1
  51. package/dist/stories/tree-column-with-checkbox.stories.js.map +1 -1
  52. package/dist/stories/tree-column.stories.d.ts +1 -1
  53. package/dist/stories/tree-column.stories.js +1 -1
  54. package/dist/stories/tree-column.stories.js.map +1 -1
  55. package/dist/tsconfig.tsbuildinfo +1 -1
  56. package/package.json +20 -20
  57. package/themes/calendar-theme.css +3 -1
  58. package/.storybook/main.js +0 -3
  59. package/.storybook/preview.js +0 -52
  60. package/.storybook/server.mjs +0 -8
  61. package/dist/src/record-view/record-creator.js.map +0 -1
  62. package/src/accumulator/accumulator.ts +0 -63
  63. package/src/configure/column-builder.ts +0 -114
  64. package/src/configure/config-builder.ts +0 -40
  65. package/src/configure/filters-option-builder.ts +0 -8
  66. package/src/configure/imex-option-builder.ts +0 -5
  67. package/src/configure/list-option-builder.ts +0 -9
  68. package/src/configure/rows-option-builder.ts +0 -38
  69. package/src/configure/tree-option-builder.ts +0 -22
  70. package/src/configure/zero-config.ts +0 -83
  71. package/src/const.ts +0 -1
  72. package/src/data-card/data-card-field.ts +0 -94
  73. package/src/data-card/data-card-gutter-menu.ts +0 -94
  74. package/src/data-card/data-card-gutter.ts +0 -103
  75. package/src/data-card/data-card.ts +0 -154
  76. package/src/data-card/event-handlers/record-card-click-handler.ts +0 -34
  77. package/src/data-card/event-handlers/record-card-dblclick-handler.ts +0 -34
  78. package/src/data-card/record-card.ts +0 -298
  79. package/src/data-consumer.ts +0 -11
  80. package/src/data-grid/data-grid-accum-field.ts +0 -109
  81. package/src/data-grid/data-grid-body-style.ts +0 -85
  82. package/src/data-grid/data-grid-body.ts +0 -749
  83. package/src/data-grid/data-grid-field.ts +0 -227
  84. package/src/data-grid/data-grid-footer.ts +0 -117
  85. package/src/data-grid/data-grid-header.ts +0 -574
  86. package/src/data-grid/data-grid.ts +0 -293
  87. package/src/data-grid/event-handlers/data-grid-body-click-handler.ts +0 -69
  88. package/src/data-grid/event-handlers/data-grid-body-contextmenu-handler.ts +0 -32
  89. package/src/data-grid/event-handlers/data-grid-body-dblclick-handler.ts +0 -42
  90. package/src/data-grid/event-handlers/data-grid-body-focus-change-handler.ts +0 -24
  91. package/src/data-grid/event-handlers/data-grid-body-keydown-handler.ts +0 -234
  92. package/src/data-grist.ts +0 -1233
  93. package/src/data-list/data-list-field.ts +0 -82
  94. package/src/data-list/data-list-gutter.ts +0 -108
  95. package/src/data-list/data-list.ts +0 -145
  96. package/src/data-list/event-handlers/record-partial-click-handler.ts +0 -34
  97. package/src/data-list/event-handlers/record-partial-dblclick-handler.ts +0 -33
  98. package/src/data-list/event-handlers/record-partial-long-press-handler.ts +0 -33
  99. package/src/data-list/record-partial.ts +0 -264
  100. package/src/data-manipulator.ts +0 -426
  101. package/src/data-provider.ts +0 -271
  102. package/src/data-report/data-report-body-style.ts +0 -58
  103. package/src/data-report/data-report-body.ts +0 -189
  104. package/src/data-report/data-report-component.ts +0 -138
  105. package/src/data-report/data-report-field.ts +0 -83
  106. package/src/data-report/data-report-header.ts +0 -242
  107. package/src/data-report/event-handlers/data-report-body-click-handler.ts +0 -38
  108. package/src/data-report/event-handlers/data-report-body-dblclick-handler.ts +0 -25
  109. package/src/data-report/event-handlers/data-report-body-keydown-handler.ts +0 -68
  110. package/src/data-report.ts +0 -424
  111. package/src/editors/index.ts +0 -4
  112. package/src/editors/ox-grist-editor-checkbox.ts +0 -28
  113. package/src/editors/ox-grist-editor-color.ts +0 -10
  114. package/src/editors/ox-grist-editor-date.ts +0 -10
  115. package/src/editors/ox-grist-editor-datetime.ts +0 -27
  116. package/src/editors/ox-grist-editor-email.ts +0 -10
  117. package/src/editors/ox-grist-editor-file.ts +0 -28
  118. package/src/editors/ox-grist-editor-image.ts +0 -31
  119. package/src/editors/ox-grist-editor-month.ts +0 -10
  120. package/src/editors/ox-grist-editor-multiple-select.ts +0 -57
  121. package/src/editors/ox-grist-editor-number.ts +0 -27
  122. package/src/editors/ox-grist-editor-password.ts +0 -10
  123. package/src/editors/ox-grist-editor-select.ts +0 -55
  124. package/src/editors/ox-grist-editor-tel.ts +0 -10
  125. package/src/editors/ox-grist-editor-text.ts +0 -14
  126. package/src/editors/ox-grist-editor-textarea.ts +0 -16
  127. package/src/editors/ox-grist-editor-time.ts +0 -10
  128. package/src/editors/ox-grist-editor-tree.ts +0 -27
  129. package/src/editors/ox-grist-editor-week.ts +0 -10
  130. package/src/editors/ox-grist-editor.ts +0 -207
  131. package/src/editors/ox-input-tree.ts +0 -226
  132. package/src/editors/registry.ts +0 -80
  133. package/src/empty-note.ts +0 -46
  134. package/src/filters/filter-checkbox.ts +0 -49
  135. package/src/filters/filter-input-barcode.ts +0 -34
  136. package/src/filters/filter-input.ts +0 -30
  137. package/src/filters/filter-range-date.ts +0 -81
  138. package/src/filters/filter-range-number.ts +0 -64
  139. package/src/filters/filter-select-buttons.ts +0 -60
  140. package/src/filters/filter-select.ts +0 -68
  141. package/src/filters/filter-styles.ts +0 -119
  142. package/src/filters/filters-form.ts +0 -476
  143. package/src/filters/index.ts +0 -10
  144. package/src/filters/registry.ts +0 -56
  145. package/src/formatters/date-formatter.ts +0 -3
  146. package/src/formatters/index.ts +0 -1
  147. package/src/formatters/number-formatter.ts +0 -3
  148. package/src/formatters/registry.ts +0 -30
  149. package/src/formatters/text-formatter.ts +0 -3
  150. package/src/gutters/gutter-button.ts +0 -51
  151. package/src/gutters/gutter-dirty.ts +0 -96
  152. package/src/gutters/gutter-row-selector.ts +0 -89
  153. package/src/gutters/gutter-sequence.ts +0 -54
  154. package/src/gutters/index.ts +0 -1
  155. package/src/gutters/registry.ts +0 -32
  156. package/src/handlers/contextmenu-tree-mutation.ts +0 -80
  157. package/src/handlers/index.ts +0 -1
  158. package/src/handlers/move-down.ts +0 -44
  159. package/src/handlers/move-up.ts +0 -44
  160. package/src/handlers/record-copy.ts +0 -38
  161. package/src/handlers/record-delete.ts +0 -30
  162. package/src/handlers/record-view-handler.ts +0 -27
  163. package/src/handlers/registry.ts +0 -42
  164. package/src/handlers/select-row-toggle.ts +0 -30
  165. package/src/handlers/select-row.ts +0 -27
  166. package/src/index.ts +0 -17
  167. package/src/personalizer/index.ts +0 -1
  168. package/src/personalizer/ox-grist-filter-personalizer.ts +0 -192
  169. package/src/personalizer/ox-grist-personalizer.ts +0 -226
  170. package/src/record-view/event-handlers/record-view-body-click-handler.ts +0 -33
  171. package/src/record-view/event-handlers/record-view-body-keydown-handler.ts +0 -26
  172. package/src/record-view/index.ts +0 -2
  173. package/src/record-view/record-creator.ts +0 -226
  174. package/src/record-view/record-view-body.ts +0 -257
  175. package/src/record-view/record-view-handler.ts +0 -86
  176. package/src/record-view/record-view.ts +0 -122
  177. package/src/renderers/index.ts +0 -14
  178. package/src/renderers/ox-grist-renderer-boolean.ts +0 -43
  179. package/src/renderers/ox-grist-renderer-color.ts +0 -15
  180. package/src/renderers/ox-grist-renderer-date.ts +0 -62
  181. package/src/renderers/ox-grist-renderer-file.ts +0 -31
  182. package/src/renderers/ox-grist-renderer-image.ts +0 -27
  183. package/src/renderers/ox-grist-renderer-json5.ts +0 -36
  184. package/src/renderers/ox-grist-renderer-link.ts +0 -17
  185. package/src/renderers/ox-grist-renderer-password.ts +0 -7
  186. package/src/renderers/ox-grist-renderer-progress.ts +0 -45
  187. package/src/renderers/ox-grist-renderer-select.ts +0 -58
  188. package/src/renderers/ox-grist-renderer-text.ts +0 -16
  189. package/src/renderers/ox-grist-renderer-textarea.ts +0 -7
  190. package/src/renderers/ox-grist-renderer-tree.ts +0 -189
  191. package/src/renderers/ox-grist-renderer.ts +0 -35
  192. package/src/renderers/registry.ts +0 -111
  193. package/src/sorters/sorters-control.ts +0 -143
  194. package/src/types.ts +0 -813
  195. package/src/utils/index.ts +0 -2
  196. package/src/utils/list-param.ts +0 -72
  197. package/src/utils/supports-passive.ts +0 -13
  198. package/stories/accumulator-format.stories.ts +0 -276
  199. package/stories/barcode-input-filter.stories.ts +0 -216
  200. package/stories/bounded-select-filters.stories.ts +0 -333
  201. package/stories/bounded-select-record.stories.ts +0 -336
  202. package/stories/click-event.stories.ts +0 -283
  203. package/stories/creatable-only-column.stories.ts +0 -253
  204. package/stories/default-filters.stories.ts +0 -241
  205. package/stories/dynamic-editable.stories.ts +0 -313
  206. package/stories/empty-sorters.stories.ts +0 -180
  207. package/stories/explicit-fetch.stories.ts +0 -186
  208. package/stories/fixed-column.stories.ts +0 -416
  209. package/stories/grid-setting.stories.ts +0 -501
  210. package/stories/grist-modes.stories.ts +0 -451
  211. package/stories/group-header.stories.ts +0 -442
  212. package/stories/record-view.stories.ts +0 -143
  213. package/stories/textarea.stories.ts +0 -261
  214. package/stories/tree-column-with-checkbox.stories.ts +0 -297
  215. package/stories/tree-column.stories.ts +0 -296
  216. package/tsconfig.json +0 -26
  217. package/web-dev-server.config.mjs +0 -27
  218. package/web-test-runner.config.mjs +0 -45
@@ -1,111 +0,0 @@
1
- import { DataCardField } from '../data-card/data-card-field.js'
2
- import { DataCardGutter } from '../data-card/data-card-gutter.js'
3
- import { RecordCard } from '../data-card/record-card.js'
4
- import { DataGridField } from '../data-grid/data-grid-field.js'
5
- import { DataListField } from '../data-list/data-list-field.js'
6
- import { DataListGutter } from '../data-list/data-list-gutter.js'
7
- import { RecordPartial } from '../data-list/record-partial.js'
8
- import { DataReportField } from '../data-report/data-report-field.js'
9
- import { ColumnConfig, FieldRenderer, GristRecord } from '../types.js'
10
- import { OxGristRendererBoolean } from './ox-grist-renderer-boolean.js'
11
- import { OxGristRendererColor } from './ox-grist-renderer-color.js'
12
- import { OxGristRendererDate } from './ox-grist-renderer-date.js'
13
- import { OxGristRendererFile } from './ox-grist-renderer-file.js'
14
- import { OxGristRendererImage } from './ox-grist-renderer-image.js'
15
- import { OxGristRendererJson5 } from './ox-grist-renderer-json5.js'
16
- import { OxGristRendererLink } from './ox-grist-renderer-link.js'
17
- import { OxGristRendererPassword } from './ox-grist-renderer-password.js'
18
- import { OxGristRendererProgress } from './ox-grist-renderer-progress.js'
19
- import { OxGristRendererSelect } from './ox-grist-renderer-select.js'
20
- import { OxGristRendererText } from './ox-grist-renderer-text.js'
21
- import { OxGristRendererTextarea } from './ox-grist-renderer-textarea.js'
22
- import { OxGristRendererTree } from './ox-grist-renderer-tree.js'
23
- import { OxGristRenderer } from './ox-grist-renderer.js'
24
-
25
- interface OxGristRendererConstructor {
26
- new (): OxGristRenderer
27
- }
28
-
29
- function isClass(func: Function) {
30
- return typeof func === 'function' && /^class\s/.test(Function.prototype.toString.call(func))
31
- }
32
-
33
- var RENDERERS: {
34
- [name: string]: FieldRenderer | OxGristRendererConstructor
35
- } = {
36
- string: OxGristRendererText,
37
- text: OxGristRendererText,
38
- textarea: OxGristRendererTextarea,
39
- email: OxGristRendererText,
40
- tel: OxGristRendererText,
41
- password: OxGristRendererPassword,
42
- integer: OxGristRendererText,
43
- float: OxGristRendererText,
44
- number: OxGristRendererText,
45
- select: OxGristRendererSelect,
46
- boolean: OxGristRendererBoolean,
47
- checkbox: OxGristRendererBoolean,
48
- month: OxGristRendererText,
49
- week: OxGristRendererText,
50
- date: OxGristRendererDate,
51
- time: OxGristRendererDate,
52
- datetime: OxGristRendererDate,
53
- color: OxGristRendererColor,
54
- progress: OxGristRendererProgress,
55
- link: OxGristRendererLink,
56
- image: OxGristRendererImage,
57
- file: OxGristRendererFile,
58
- json5: OxGristRendererJson5,
59
- tree: OxGristRendererTree
60
- }
61
-
62
- export function registerRenderer(type: string, renderer: FieldRenderer) {
63
- RENDERERS[type] = renderer
64
- }
65
-
66
- export function unregisterRenderer(type: string): void {
67
- delete RENDERERS[type]
68
- }
69
-
70
- export function getRenderers(): { [name: string]: FieldRenderer | OxGristRendererConstructor } {
71
- return { ...RENDERERS }
72
- }
73
-
74
- export function getRenderer(type: string | FieldRenderer): FieldRenderer {
75
- if (typeof type === 'function') {
76
- return type
77
- }
78
-
79
- var renderer: FieldRenderer | OxGristRendererConstructor = RENDERERS[type || 'text'] || OxGristRendererText
80
-
81
- if (!isClass(renderer)) {
82
- return renderer as FieldRenderer
83
- }
84
-
85
- return function (
86
- value: any,
87
- column: ColumnConfig,
88
- record: GristRecord,
89
- rowIndex: number,
90
- field:
91
- | DataGridField
92
- | RecordCard
93
- | DataCardGutter
94
- | DataCardField
95
- | DataListGutter
96
- | DataListField
97
- | RecordPartial
98
- | DataReportField
99
- | Element
100
- ) {
101
- var element: OxGristRenderer = new (renderer as OxGristRendererConstructor)() as any
102
-
103
- element.value = value
104
- element.record = record
105
- element.column = column
106
- element.row = rowIndex
107
- element.field = field as DataGridField
108
-
109
- return element as OxGristRenderer
110
- }
111
- }
@@ -1,143 +0,0 @@
1
- import { css, html, LitElement, PropertyValues, TemplateResult } from 'lit'
2
- import { customElement, state } from 'lit/decorators.js'
3
-
4
- import { DataGrist } from '../data-grist'
5
- import { ColumnConfig, GristConfig, SorterConfig } from '../types'
6
-
7
- @customElement('ox-sorters-control')
8
- export class SortersControl extends LitElement {
9
- static styles = [
10
- css`
11
- :host {
12
- display: flex;
13
- flex-direction: column;
14
- white-space: nowrap;
15
- }
16
-
17
- [option] {
18
- flex: 1;
19
-
20
- display: flex;
21
- justify-content: center;
22
- align-items: center;
23
- border-bottom: 1px solid rgba(0, 0, 0, 0.05);
24
- padding: 3px var(--spacing-small);
25
- }
26
-
27
- [option] > span {
28
- margin-right: auto;
29
- text-transform: capitalize;
30
- user-select: none;
31
- }
32
- [option] md-icon {
33
- margin-left: var(--spacing-medium);
34
- --md-icon-size: var(--fontsize-large);
35
- color: var(--md-sys-color-on-primary-container);
36
- }
37
- [option] sub {
38
- color: var(--md-sys-color-on-primary-container);
39
- }
40
- `
41
- ]
42
-
43
- @state() config!: GristConfig
44
- @state() columns: ColumnConfig[] = []
45
- @state() sorters: SorterConfig[] = []
46
-
47
- connectedCallback(): void {
48
- super.connectedCallback()
49
-
50
- const grist = this.closest('ox-grist') as DataGrist
51
-
52
- if (grist) {
53
- this.config = grist.compiledConfig
54
- grist.addEventListener('config-change', (e: Event) => {
55
- this.config = (e as CustomEvent).detail
56
- })
57
-
58
- grist.addEventListener('fetch-params-change', e => {
59
- const { sorters, from } = (e as CustomEvent).detail || {}
60
- if (from === 'sorters-control') {
61
- return
62
- }
63
-
64
- sorters && (this.sorters = sorters)
65
- })
66
- }
67
- }
68
-
69
- updated(changes: PropertyValues<this>) {
70
- if (changes.has('config')) {
71
- this.columns = this.config.columns.filter(column => column.sortable)
72
- this.sorters = this.sorters || this.config.sorters || []
73
- }
74
- }
75
-
76
- render(): TemplateResult {
77
- const columns = this.columns
78
-
79
- const current = this.sorters || []
80
-
81
- return html`
82
- ${columns.map(column => {
83
- const { name } = column
84
- var rank = current.findIndex(sorter => sorter.name === name) + 1
85
- var desc = rank !== 0 ? current[rank - 1].desc : null
86
-
87
- if (current.length <= 1) {
88
- rank = 0
89
- }
90
-
91
- return html`
92
- <div
93
- option
94
- @click=${(e: MouseEvent) => {
95
- this.onChangeSort(name)
96
- }}
97
- >
98
- <span>${column.header.renderer.call(this, column)}</span>
99
- ${desc === null
100
- ? html``
101
- : html`
102
- <md-icon>${desc ? 'keyboard_arrow_down' : 'keyboard_arrow_up'}</md-icon>
103
- ${rank === 0 ? html`` : html`<sub>${rank}</sub>`}
104
- `}
105
- </div>
106
- `
107
- })}
108
- `
109
- }
110
-
111
- onChangeSort(name: string) {
112
- var sorters = [...this.sorters]
113
-
114
- var idx = sorters.findIndex(sorter => sorter.name == name)
115
- if (idx !== -1) {
116
- let sorter = sorters[idx]
117
- if (sorter.desc) {
118
- sorters.splice(idx, 1)
119
- } else {
120
- sorter.desc = true
121
- }
122
- } else {
123
- var sorter = {
124
- name
125
- }
126
-
127
- sorters.push(sorter)
128
- }
129
-
130
- this.sorters = sorters
131
-
132
- this.dispatchEvent(
133
- new CustomEvent('fetch-params-change', {
134
- bubbles: true,
135
- composed: true,
136
- detail: {
137
- sorters: this.sorters,
138
- from: 'sorters-control'
139
- }
140
- })
141
- )
142
- }
143
- }