@operato/data-grist 0.2.31 → 0.2.36
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 +69 -0
- package/custom-elements.json +4280 -2580
- package/demo/data-grist-test.html +1 -1
- package/demo/index.html +18 -1
- package/dist/src/configure/column-builder.d.ts +1 -0
- package/dist/src/configure/column-builder.js.map +1 -1
- package/dist/src/configure/config-builder.d.ts +1 -0
- package/dist/src/configure/config-builder.js.map +1 -1
- package/dist/src/configure/imex-option-builder.d.ts +1 -0
- package/dist/src/configure/imex-option-builder.js.map +1 -1
- package/dist/src/configure/list-option-builder.d.ts +1 -0
- package/dist/src/configure/list-option-builder.js +1 -1
- package/dist/src/configure/list-option-builder.js.map +1 -1
- package/dist/src/configure/rows-option-builder.d.ts +1 -0
- package/dist/src/configure/rows-option-builder.js.map +1 -1
- package/dist/src/configure/{config-types.d.ts → zero-config.d.ts} +1 -0
- package/dist/src/configure/{config-types.js → zero-config.js} +1 -1
- package/dist/src/configure/zero-config.js.map +1 -0
- package/dist/src/data-card/data-card-field.d.ts +1 -0
- package/dist/src/data-card/data-card-field.js +1 -1
- package/dist/src/data-card/data-card-field.js.map +1 -1
- package/dist/src/data-card/data-card-gutter-menu.js +2 -2
- package/dist/src/data-card/data-card-gutter-menu.js.map +1 -1
- package/dist/src/data-card/data-card-gutter.d.ts +13 -1
- package/dist/src/data-card/data-card-gutter.js +2 -1
- package/dist/src/data-card/data-card-gutter.js.map +1 -1
- package/dist/src/data-card/data-card.d.ts +1 -0
- package/dist/src/data-card/data-card.js +1 -1
- package/dist/src/data-card/data-card.js.map +1 -1
- package/dist/src/data-card/event-handlers/record-card-click-handler.js.map +1 -1
- package/dist/src/data-card/event-handlers/record-card-dblclick-handler.js.map +1 -1
- package/dist/src/data-card/record-card.d.ts +1 -0
- package/dist/src/data-card/record-card.js +1 -1
- package/dist/src/data-card/record-card.js.map +1 -1
- package/dist/src/data-consumer.d.ts +1 -0
- package/dist/src/data-consumer.js.map +1 -1
- package/dist/src/data-grid/data-grid-body.d.ts +1 -0
- package/dist/src/data-grid/data-grid-body.js +1 -1
- package/dist/src/data-grid/data-grid-body.js.map +1 -1
- package/dist/src/data-grid/data-grid-field.d.ts +3 -2
- package/dist/src/data-grid/data-grid-field.js +1 -1
- package/dist/src/data-grid/data-grid-field.js.map +1 -1
- package/dist/src/data-grid/data-grid-footer.d.ts +1 -0
- package/dist/src/data-grid/data-grid-footer.js +1 -1
- package/dist/src/data-grid/data-grid-footer.js.map +1 -1
- package/dist/src/data-grid/data-grid-header.d.ts +4 -0
- package/dist/src/data-grid/data-grid-header.js +39 -11
- package/dist/src/data-grid/data-grid-header.js.map +1 -1
- package/dist/src/data-grid/data-grid.d.ts +1 -0
- package/dist/src/data-grid/data-grid.js +1 -1
- package/dist/src/data-grid/data-grid.js.map +1 -1
- package/dist/src/data-grist.d.ts +10 -7
- package/dist/src/data-grist.js +27 -19
- package/dist/src/data-grist.js.map +1 -1
- package/dist/src/data-list/data-list-field.d.ts +1 -0
- package/dist/src/data-list/data-list-field.js +4 -4
- package/dist/src/data-list/data-list-field.js.map +1 -1
- package/dist/src/data-list/data-list-gutter.d.ts +13 -1
- package/dist/src/data-list/data-list-gutter.js +2 -1
- package/dist/src/data-list/data-list-gutter.js.map +1 -1
- package/dist/src/data-list/data-list.d.ts +1 -0
- package/dist/src/data-list/data-list.js +1 -1
- package/dist/src/data-list/data-list.js.map +1 -1
- package/dist/src/data-list/event-handlers/record-partial-click-handler.js.map +1 -1
- package/dist/src/data-list/event-handlers/record-partial-dblclick-handler.js.map +1 -1
- package/dist/src/data-list/event-handlers/record-partial-long-press-handler.js.map +1 -1
- package/dist/src/data-list/record-partial.d.ts +1 -0
- package/dist/src/data-list/record-partial.js +1 -1
- package/dist/src/data-list/record-partial.js.map +1 -1
- package/dist/src/data-provider.d.ts +1 -0
- package/dist/src/data-provider.js +1 -1
- package/dist/src/data-provider.js.map +1 -1
- package/dist/src/data-report/data-report-body.d.ts +1 -0
- package/dist/src/data-report/data-report-body.js +1 -1
- package/dist/src/data-report/data-report-body.js.map +1 -1
- package/dist/src/data-report/data-report-component.d.ts +1 -0
- package/dist/src/data-report/data-report-component.js +1 -1
- package/dist/src/data-report/data-report-component.js.map +1 -1
- package/dist/src/data-report/data-report-field.d.ts +3 -2
- package/dist/src/data-report/data-report-field.js +1 -1
- package/dist/src/data-report/data-report-field.js.map +1 -1
- package/dist/src/data-report/data-report-header.js +1 -1
- package/dist/src/data-report/data-report-header.js.map +1 -1
- package/dist/src/data-report.d.ts +1 -0
- package/dist/src/data-report.js +1 -1
- package/dist/src/data-report.js.map +1 -1
- package/dist/src/editors/input-editors.d.ts +1 -0
- package/dist/src/editors/input-editors.js +1 -1
- package/dist/src/editors/input-editors.js.map +1 -1
- package/dist/src/editors/registry.d.ts +1 -0
- package/dist/src/editors/registry.js.map +1 -1
- package/dist/src/filters/index.d.ts +2 -0
- package/dist/src/filters/index.js +3 -0
- package/dist/src/filters/index.js.map +1 -0
- package/dist/src/filters/list-select.d.ts +3 -0
- package/dist/src/filters/list-select.js +12 -0
- package/dist/src/filters/list-select.js.map +1 -0
- package/dist/src/filters/registry.d.ts +7 -0
- package/dist/src/filters/registry.js +40 -0
- package/dist/src/filters/registry.js.map +1 -0
- package/dist/src/gutters/gutter-button.js.map +1 -1
- package/dist/src/gutters/gutter-dirty.d.ts +1 -0
- package/dist/src/gutters/gutter-dirty.js.map +1 -1
- package/dist/src/gutters/gutter-row-selector.js.map +1 -1
- package/dist/src/gutters/gutter-sequence.js.map +1 -1
- package/dist/src/gutters/registry.d.ts +1 -0
- package/dist/src/gutters/registry.js.map +1 -1
- package/dist/src/handlers/record-view-handler.d.ts +1 -0
- package/dist/src/handlers/record-view-handler.js.map +1 -1
- package/dist/src/handlers/registry.d.ts +1 -0
- package/dist/src/handlers/registry.js.map +1 -1
- package/dist/src/handlers/select-row-toggle.d.ts +1 -0
- package/dist/src/handlers/select-row-toggle.js.map +1 -1
- package/dist/src/handlers/select-row.d.ts +1 -0
- package/dist/src/handlers/select-row.js.map +1 -1
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.js +3 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/interfaces/index.d.ts +2 -0
- package/dist/src/interfaces/index.js +3 -0
- package/dist/src/interfaces/index.js.map +1 -0
- package/dist/src/interfaces/ox-grist-search-form.d.ts +6 -0
- package/dist/src/interfaces/ox-grist-search-form.js +2 -0
- package/dist/src/interfaces/ox-grist-search-form.js.map +1 -0
- package/dist/src/interfaces/ox-search-field.d.ts +39 -0
- package/dist/src/interfaces/ox-search-field.js +2 -0
- package/dist/src/interfaces/ox-search-field.js.map +1 -0
- package/dist/src/record-view/record-view-body.d.ts +1 -0
- package/dist/src/record-view/record-view-body.js +1 -1
- package/dist/src/record-view/record-view-body.js.map +1 -1
- package/dist/src/record-view/record-view.d.ts +1 -0
- package/dist/src/record-view/record-view.js +1 -1
- package/dist/src/record-view/record-view.js.map +1 -1
- package/dist/src/renderers/boolean-renderer.d.ts +1 -0
- package/dist/src/renderers/boolean-renderer.js.map +1 -1
- package/dist/src/renderers/color-renderer.d.ts +1 -0
- package/dist/src/renderers/color-renderer.js.map +1 -1
- package/dist/src/renderers/date-renderer.d.ts +1 -0
- package/dist/src/renderers/date-renderer.js.map +1 -1
- package/dist/src/renderers/image-renderer.d.ts +1 -0
- package/dist/src/renderers/image-renderer.js.map +1 -1
- package/dist/src/renderers/json5-renderer.d.ts +1 -0
- package/dist/src/renderers/json5-renderer.js.map +1 -1
- package/dist/src/renderers/link-renderer.d.ts +1 -0
- package/dist/src/renderers/link-renderer.js.map +1 -1
- package/dist/src/renderers/password-renderer.d.ts +1 -0
- package/dist/src/renderers/password-renderer.js.map +1 -1
- package/dist/src/renderers/progress-renderer.d.ts +1 -0
- package/dist/src/renderers/progress-renderer.js.map +1 -1
- package/dist/src/renderers/registry.d.ts +1 -0
- package/dist/src/renderers/registry.js.map +1 -1
- package/dist/src/renderers/select-renderer.d.ts +1 -0
- package/dist/src/renderers/select-renderer.js.map +1 -1
- package/dist/src/renderers/text-renderer.d.ts +1 -0
- package/dist/src/renderers/text-renderer.js.map +1 -1
- package/dist/src/search-form/index.d.ts +7 -0
- package/dist/src/search-form/index.js +8 -0
- package/dist/src/search-form/index.js.map +1 -0
- package/dist/src/search-form/ox-basic-field.d.ts +18 -0
- package/dist/src/search-form/ox-basic-field.js +75 -0
- package/dist/src/search-form/ox-basic-field.js.map +1 -0
- package/dist/src/search-form/ox-checkbox-field.d.ts +11 -0
- package/dist/src/search-form/ox-checkbox-field.js +60 -0
- package/dist/src/search-form/ox-checkbox-field.js.map +1 -0
- package/dist/src/search-form/ox-grist-search-form.d.ts +11 -0
- package/dist/src/search-form/ox-grist-search-form.js +177 -0
- package/dist/src/search-form/ox-grist-search-form.js.map +1 -0
- package/dist/src/search-form/ox-number-field.d.ts +14 -0
- package/dist/src/search-form/ox-number-field.js +112 -0
- package/dist/src/search-form/ox-number-field.js.map +1 -0
- package/dist/src/search-form/ox-search-form.d.ts +15 -0
- package/dist/src/search-form/ox-search-form.js +53 -0
- package/dist/src/search-form/ox-search-form.js.map +1 -0
- package/dist/src/search-form/ox-select-field.d.ts +21 -0
- package/dist/src/search-form/ox-select-field.js +181 -0
- package/dist/src/search-form/ox-select-field.js.map +1 -0
- package/dist/src/search-form/ox-text-field.d.ts +11 -0
- package/dist/src/search-form/ox-text-field.js +60 -0
- package/dist/src/search-form/ox-text-field.js.map +1 -0
- package/dist/src/types.d.ts +138 -0
- package/dist/src/types.js +2 -0
- package/dist/src/types.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -6
- package/src/configure/column-builder.ts +1 -0
- package/src/configure/config-builder.ts +1 -0
- package/src/configure/imex-option-builder.ts +2 -0
- package/src/configure/list-option-builder.ts +2 -1
- package/src/configure/rows-option-builder.ts +1 -0
- package/src/configure/{config-types.ts → zero-config.ts} +14 -0
- package/src/data-card/data-card-field.ts +2 -1
- package/src/data-card/data-card-gutter-menu.ts +3 -2
- package/src/data-card/data-card-gutter.ts +5 -4
- package/src/data-card/data-card.ts +2 -1
- package/src/data-card/event-handlers/record-card-click-handler.ts +2 -0
- package/src/data-card/event-handlers/record-card-dblclick-handler.ts +2 -0
- package/src/data-card/record-card.ts +2 -1
- package/src/data-consumer.ts +2 -0
- package/src/data-grid/data-grid-body.ts +2 -1
- package/src/data-grid/data-grid-field.ts +4 -3
- package/src/data-grid/data-grid-footer.ts +2 -1
- package/src/data-grid/data-grid-header.ts +44 -12
- package/src/data-grid/data-grid.ts +2 -1
- package/src/data-grist.ts +32 -21
- package/src/data-list/data-list-field.ts +5 -4
- package/src/data-list/data-list-gutter.ts +5 -4
- package/src/data-list/data-list.ts +2 -1
- package/src/data-list/event-handlers/record-partial-click-handler.ts +2 -0
- package/src/data-list/event-handlers/record-partial-dblclick-handler.ts +2 -0
- package/src/data-list/event-handlers/record-partial-long-press-handler.ts +2 -0
- package/src/data-list/record-partial.ts +2 -1
- package/src/data-provider.ts +2 -1
- package/src/data-report/data-report-body.ts +2 -1
- package/src/data-report/data-report-component.ts +2 -1
- package/src/data-report/data-report-field.ts +4 -3
- package/src/data-report/data-report-header.ts +2 -1
- package/src/data-report.ts +2 -1
- package/src/editors/input-editors.ts +2 -1
- package/src/editors/registry.ts +1 -0
- package/src/filters/index.ts +3 -0
- package/src/filters/list-select.ts +14 -0
- package/src/filters/registry.ts +48 -0
- package/src/gutters/gutter-button.ts +2 -0
- package/src/gutters/gutter-dirty.ts +1 -0
- package/src/gutters/gutter-row-selector.ts +2 -0
- package/src/gutters/gutter-sequence.ts +2 -0
- package/src/gutters/registry.ts +1 -0
- package/src/handlers/record-view-handler.ts +2 -0
- package/src/handlers/registry.ts +1 -0
- package/src/handlers/select-row-toggle.ts +2 -0
- package/src/handlers/select-row.ts +2 -0
- package/src/index.ts +4 -0
- package/src/interfaces/index.ts +2 -0
- package/src/interfaces/ox-grist-search-form.ts +7 -0
- package/src/interfaces/ox-search-field.ts +52 -0
- package/src/record-view/record-view-body.ts +2 -1
- package/src/record-view/record-view.ts +2 -1
- package/src/renderers/boolean-renderer.ts +1 -0
- package/src/renderers/color-renderer.ts +1 -0
- package/src/renderers/date-renderer.ts +2 -0
- package/src/renderers/image-renderer.ts +1 -0
- package/src/renderers/json5-renderer.ts +1 -0
- package/src/renderers/link-renderer.ts +1 -0
- package/src/renderers/password-renderer.ts +2 -0
- package/src/renderers/progress-renderer.ts +2 -0
- package/src/renderers/registry.ts +1 -0
- package/src/renderers/select-renderer.ts +2 -0
- package/src/renderers/text-renderer.ts +1 -0
- package/src/search-form/index.ts +7 -0
- package/src/search-form/ox-basic-field.ts +86 -0
- package/src/search-form/ox-checkbox-field.ts +57 -0
- package/src/search-form/ox-grist-search-form.ts +200 -0
- package/src/search-form/ox-number-field.ts +113 -0
- package/src/search-form/ox-search-form.ts +71 -0
- package/src/search-form/ox-select-field.ts +188 -0
- package/src/search-form/ox-text-field.ts +55 -0
- package/src/types.ts +169 -0
- package/yarn-error.log +2427 -3205
- package/dist/src/configure/config-types.js.map +0 -1
- package/src/types.d.ts +0 -144
|
@@ -2,8 +2,9 @@ import './data-grid-header'
|
|
|
2
2
|
import './data-grid-body'
|
|
3
3
|
import './data-grid-footer'
|
|
4
4
|
|
|
5
|
+
import { ColumnConfig, GristConfig, GristData, GristRecord, PaginationConfig } from '../types'
|
|
5
6
|
import { LitElement, PropertyValues, css, html } from 'lit'
|
|
6
|
-
import { ZERO_CONFIG, ZERO_DATA } from '../configure/config
|
|
7
|
+
import { ZERO_CONFIG, ZERO_DATA } from '../configure/zero-config'
|
|
7
8
|
import { customElement, property, query } from 'lit/decorators.js'
|
|
8
9
|
|
|
9
10
|
import { DataGridHeader } from './data-grid-header'
|
package/src/data-grist.ts
CHANGED
|
@@ -4,9 +4,10 @@ import './data-card/data-card'
|
|
|
4
4
|
import './empty-note'
|
|
5
5
|
|
|
6
6
|
import { DataConsumer, FetchHandler } from './data-consumer'
|
|
7
|
+
import { GristConfig, GristData, GristRecord } from './types'
|
|
7
8
|
import { HeadroomStyles, ScrollbarStyles, SpinnerStyles } from '@operato/styles'
|
|
8
9
|
import { LitElement, PropertyValues, css, html } from 'lit'
|
|
9
|
-
import { ZERO_CONFIG, ZERO_DATA, ZERO_PAGINATION } from './configure/config
|
|
10
|
+
import { ZERO_CONFIG, ZERO_DATA, ZERO_PAGINATION } from './configure/zero-config'
|
|
10
11
|
import { customElement, property, query, queryAsync, state } from 'lit/decorators.js'
|
|
11
12
|
|
|
12
13
|
import { DataCard } from './data-card/data-card'
|
|
@@ -87,37 +88,44 @@ export class DataGrist extends LitElement implements DataConsumer {
|
|
|
87
88
|
@state() private _showSpinner: boolean = false
|
|
88
89
|
|
|
89
90
|
private dataProvider?: DataProvider
|
|
90
|
-
private
|
|
91
|
-
private
|
|
91
|
+
private _pulltorefreshHandle?: any
|
|
92
|
+
private _headroom?: Headroom
|
|
93
|
+
private _resizeObserver = new ResizeObserver(entries => {
|
|
94
|
+
this._adjustPaddingTop()
|
|
95
|
+
})
|
|
92
96
|
|
|
93
97
|
@query('slot[name=headroom]') head!: HTMLElement
|
|
94
98
|
@query('#grist') grist!: DataGrid | DataList | DataCard
|
|
95
99
|
@queryAsync('#wrap') private wrap!: Promise<HTMLElement>
|
|
96
100
|
|
|
97
|
-
connectedCallback() {
|
|
101
|
+
async connectedCallback() {
|
|
98
102
|
super.connectedCallback()
|
|
99
103
|
|
|
100
104
|
this.dataProvider = new DataProvider(this)
|
|
105
|
+
|
|
106
|
+
await this.updateComplete
|
|
107
|
+
this._resizeObserver.observe(this.head)
|
|
101
108
|
}
|
|
102
109
|
|
|
103
110
|
disconnectedCallback() {
|
|
104
111
|
super.disconnectedCallback()
|
|
105
112
|
|
|
106
113
|
this.dataProvider?.dispose()
|
|
107
|
-
this.
|
|
114
|
+
this._resetPullToRefresh()
|
|
115
|
+
this._resizeObserver.unobserve(this.head)
|
|
108
116
|
}
|
|
109
117
|
|
|
110
|
-
private
|
|
111
|
-
if (this.
|
|
112
|
-
this.
|
|
113
|
-
delete this.
|
|
118
|
+
private _resetPullToRefresh() {
|
|
119
|
+
if (this._pulltorefreshHandle) {
|
|
120
|
+
this._pulltorefreshHandle()
|
|
121
|
+
delete this._pulltorefreshHandle
|
|
114
122
|
}
|
|
115
123
|
}
|
|
116
124
|
|
|
117
|
-
private async
|
|
118
|
-
this.
|
|
125
|
+
private async _setPullToRefresh() {
|
|
126
|
+
this._resetPullToRefresh()
|
|
119
127
|
if (this.fetchHandler) {
|
|
120
|
-
this.
|
|
128
|
+
this._pulltorefreshHandle = pulltorefresh({
|
|
121
129
|
container: await this.wrap,
|
|
122
130
|
scrollable: this.grist.pullToRefreshTarget,
|
|
123
131
|
refresh: () => {
|
|
@@ -127,17 +135,20 @@ export class DataGrist extends LitElement implements DataConsumer {
|
|
|
127
135
|
}
|
|
128
136
|
}
|
|
129
137
|
|
|
130
|
-
|
|
131
|
-
this.
|
|
138
|
+
private _adjustPaddingTop() {
|
|
139
|
+
this.grist.style.paddingTop = this.head.clientHeight + 'px'
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
private _setHeadroom() {
|
|
143
|
+
this._headroom?.destroy()
|
|
132
144
|
|
|
133
145
|
if (this.grist && this.head) {
|
|
134
|
-
|
|
135
|
-
this.grist.style.paddingTop = this.head.clientHeight + originPaddingTop + 'px'
|
|
146
|
+
this._adjustPaddingTop()
|
|
136
147
|
|
|
137
|
-
this.
|
|
148
|
+
this._headroom = new Headroom(this.head, {
|
|
138
149
|
scroller: this.grist
|
|
139
150
|
})
|
|
140
|
-
this.
|
|
151
|
+
this._headroom.init()
|
|
141
152
|
}
|
|
142
153
|
}
|
|
143
154
|
|
|
@@ -227,7 +238,7 @@ export class DataGrist extends LitElement implements DataConsumer {
|
|
|
227
238
|
|
|
228
239
|
if (changes.has('mode')) {
|
|
229
240
|
needToSetPullToRefresh = true
|
|
230
|
-
this.
|
|
241
|
+
this._setHeadroom()
|
|
231
242
|
}
|
|
232
243
|
|
|
233
244
|
if (changes.has('selectedRecords')) {
|
|
@@ -250,7 +261,7 @@ export class DataGrist extends LitElement implements DataConsumer {
|
|
|
250
261
|
}
|
|
251
262
|
|
|
252
263
|
if (needToSetPullToRefresh) {
|
|
253
|
-
await this.
|
|
264
|
+
await this._setPullToRefresh()
|
|
254
265
|
}
|
|
255
266
|
}
|
|
256
267
|
|
|
@@ -354,7 +365,7 @@ export class DataGrist extends LitElement implements DataConsumer {
|
|
|
354
365
|
/**
|
|
355
366
|
* Forced internal data to be reflected on the screen
|
|
356
367
|
* Data changing through a normal method is automatically reflected on the screen, so it is a method that does not need to be used in general.
|
|
357
|
-
Therefore, it will be deprecated.
|
|
368
|
+
* Therefore, it will be deprecated.
|
|
358
369
|
* @deprecated
|
|
359
370
|
* @method
|
|
360
371
|
*/
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { ColumnConfig, GristRecord } from '../types'
|
|
1
2
|
import { LitElement, css, html } from 'lit'
|
|
2
|
-
import { ZERO_COLUMN, ZERO_RECORD } from '../configure/config
|
|
3
|
+
import { ZERO_COLUMN, ZERO_RECORD } from '../configure/zero-config'
|
|
3
4
|
import { customElement, property } from 'lit/decorators.js'
|
|
4
5
|
|
|
5
6
|
@customElement('ox-list-field')
|
|
@@ -60,14 +61,14 @@ export class DataListField extends LitElement {
|
|
|
60
61
|
|
|
61
62
|
var {
|
|
62
63
|
label,
|
|
63
|
-
record: { renderer:
|
|
64
|
+
record: { renderer: fieldRenderer }
|
|
64
65
|
} = column
|
|
65
66
|
|
|
66
67
|
if (typeof label == 'object') {
|
|
67
68
|
let { renderer: labelRenderer } = label
|
|
68
|
-
return html`<label>${labelRenderer()}</label>${
|
|
69
|
+
return html`<label>${labelRenderer()}</label>${fieldRenderer(value, column, record, rowIndex, this)}`
|
|
69
70
|
} else {
|
|
70
|
-
return html`${
|
|
71
|
+
return html`${fieldRenderer(value, column, record, rowIndex, this)}`
|
|
71
72
|
}
|
|
72
73
|
}
|
|
73
74
|
}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { ColumnConfig, GristRecord } from '../types'
|
|
2
|
+
import { LitElement, PropertyValues, TemplateResult, css, html } from 'lit'
|
|
3
|
+
import { ZERO_COLUMN, ZERO_RECORD } from '../configure/zero-config'
|
|
3
4
|
import { customElement, property } from 'lit/decorators.js'
|
|
4
5
|
|
|
5
6
|
const DEFAULT_TEXT_ALIGN = 'left'
|
|
6
7
|
|
|
7
8
|
@customElement('ox-list-gutter')
|
|
8
|
-
class DataListGutter extends LitElement {
|
|
9
|
+
export class DataListGutter extends LitElement {
|
|
9
10
|
static styles = [
|
|
10
11
|
css`
|
|
11
12
|
:host {
|
|
@@ -45,7 +46,7 @@ class DataListGutter extends LitElement {
|
|
|
45
46
|
return this.hasAttribute('editing')
|
|
46
47
|
}
|
|
47
48
|
|
|
48
|
-
render() {
|
|
49
|
+
render(): TemplateResult {
|
|
49
50
|
if (!this.column) {
|
|
50
51
|
return html``
|
|
51
52
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import '@material/mwc-icon'
|
|
2
2
|
import './record-partial'
|
|
3
3
|
|
|
4
|
+
import { ColumnConfig, GristConfig, GristData, GristRecord } from '../types'
|
|
4
5
|
import { LitElement, PropertyValues, css, html } from 'lit'
|
|
5
|
-
import { ZERO_CONFIG, ZERO_DATA } from '../configure/config
|
|
6
|
+
import { ZERO_CONFIG, ZERO_DATA } from '../configure/zero-config'
|
|
6
7
|
import { customElement, property } from 'lit/decorators.js'
|
|
7
8
|
|
|
8
9
|
import { dataListClickHandler } from './event-handlers/data-list-click-handler'
|
|
@@ -4,8 +4,9 @@ import './data-list-gutter'
|
|
|
4
4
|
import './data-list-field'
|
|
5
5
|
import '../record-view'
|
|
6
6
|
|
|
7
|
+
import { GristConfig, GristData, GristRecord } from '../types'
|
|
7
8
|
import { LitElement, PropertyValues, css, html } from 'lit'
|
|
8
|
-
import { ZERO_CONFIG, ZERO_DATA, ZERO_RECORD } from '../configure/config
|
|
9
|
+
import { ZERO_CONFIG, ZERO_DATA, ZERO_RECORD } from '../configure/zero-config'
|
|
9
10
|
import { customElement, property } from 'lit/decorators.js'
|
|
10
11
|
|
|
11
12
|
import { recordPartialClickHandler } from './event-handlers/record-partial-click-handler'
|
package/src/data-provider.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { DataConsumer, FetchHandler } from './data-consumer'
|
|
2
|
+
import { GristRecord, SorterConfig } from './types'
|
|
2
3
|
|
|
3
|
-
import { ZERO_RECORDS } from './configure/config
|
|
4
|
+
import { ZERO_RECORDS } from './configure/zero-config'
|
|
4
5
|
|
|
5
6
|
function EMPTY_FETCHHANDLER() {
|
|
6
7
|
return {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import './data-report-field'
|
|
2
2
|
|
|
3
|
+
import { ColumnConfig, GristConfig, GristData } from '../types'
|
|
3
4
|
import { LitElement, PropertyValues, html } from 'lit'
|
|
4
|
-
import { ZERO_CONFIG, ZERO_DATA } from '../configure/config
|
|
5
|
+
import { ZERO_CONFIG, ZERO_DATA } from '../configure/zero-config'
|
|
5
6
|
import { customElement, property } from 'lit/decorators.js'
|
|
6
7
|
|
|
7
8
|
import { dataReportBodyClickHandler } from './event-handlers/data-report-body-click-handler'
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import './data-report-header'
|
|
2
2
|
import './data-report-body'
|
|
3
3
|
|
|
4
|
+
import { ColumnConfig, GristConfig, GristData } from '../types'
|
|
4
5
|
import { LitElement, PropertyValues, css, html } from 'lit'
|
|
5
|
-
import { ZERO_CONFIG, ZERO_DATA } from '../configure/config
|
|
6
|
+
import { ZERO_CONFIG, ZERO_DATA } from '../configure/zero-config'
|
|
6
7
|
import { customElement, property, query } from 'lit/decorators.js'
|
|
7
8
|
|
|
8
9
|
import { ScrollbarStyles } from '@operato/styles'
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { ColumnConfig, GristRecord } from '../types'
|
|
2
|
+
import { LitElement, PropertyValues, TemplateResult, css, html } from 'lit'
|
|
3
|
+
import { ZERO_COLUMN, ZERO_RECORD } from '../configure/zero-config'
|
|
3
4
|
import { customElement, property } from 'lit/decorators.js'
|
|
4
5
|
|
|
5
6
|
const DEFAULT_TEXT_ALIGN = 'left'
|
|
@@ -51,7 +52,7 @@ export class DataReportField extends LitElement {
|
|
|
51
52
|
@property({ type: Number }) columnIndex: number = -1
|
|
52
53
|
@property({ type: Object }) value: any
|
|
53
54
|
|
|
54
|
-
render() {
|
|
55
|
+
render(): TemplateResult {
|
|
55
56
|
if (!this.column) {
|
|
56
57
|
return html``
|
|
57
58
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { ColumnConfig, GristConfig, GristData, SortersConfig } from '../types'
|
|
1
2
|
import { LitElement, css, html } from 'lit'
|
|
2
|
-
import { ZERO_CONFIG, ZERO_DATA } from '../configure/config
|
|
3
|
+
import { ZERO_CONFIG, ZERO_DATA } from '../configure/zero-config'
|
|
3
4
|
import { customElement, property } from 'lit/decorators.js'
|
|
4
5
|
|
|
5
6
|
import { supportsPassive } from '../utils'
|
package/src/data-report.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import './data-report/data-report-component'
|
|
2
2
|
|
|
3
|
+
import { GristConfig, GristData, GristRecord, GroupConfig } from './types'
|
|
3
4
|
import { LitElement, PropertyValues, css, html } from 'lit'
|
|
4
5
|
import { ScrollbarStyles, SpinnerStyles } from '@operato/styles'
|
|
5
|
-
import { ZERO_CONFIG, ZERO_DATA, ZERO_PAGINATION } from './configure/config
|
|
6
|
+
import { ZERO_CONFIG, ZERO_DATA, ZERO_PAGINATION } from './configure/zero-config'
|
|
6
7
|
import { customElement, property, query, queryAsync, state } from 'lit/decorators.js'
|
|
7
8
|
|
|
8
9
|
import { DataConsumer } from './data-consumer'
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { ColumnConfig, GristRecord } from '../types'
|
|
1
2
|
import { LitElement, css, html } from 'lit'
|
|
2
|
-
import { ZERO_COLUMN, ZERO_RECORD } from '../configure/config
|
|
3
|
+
import { ZERO_COLUMN, ZERO_RECORD } from '../configure/zero-config'
|
|
3
4
|
import { customElement, property, query } from 'lit/decorators.js'
|
|
4
5
|
|
|
5
6
|
import { DataGridField } from '../data-grid/data-grid-field'
|
package/src/editors/registry.ts
CHANGED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import '@operato/popup'
|
|
2
|
+
|
|
3
|
+
import { FilterSelectRenderer } from '../types'
|
|
4
|
+
import { html } from 'lit-html'
|
|
5
|
+
|
|
6
|
+
export const ListSelect: FilterSelectRenderer = (column, owner) => {
|
|
7
|
+
const options = column.filter?.options
|
|
8
|
+
|
|
9
|
+
return html`
|
|
10
|
+
<ox-popup-list .config=${column} multiple attr-selected="checked" popup>
|
|
11
|
+
${options?.map((option: string) => html` <ox-checkbox option value="${option}">${option}</ox-checkbox> `)}
|
|
12
|
+
</ox-popup-list>
|
|
13
|
+
`
|
|
14
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { FilterSelectRenderer } from '../types'
|
|
2
|
+
import { ListSelect } from './list-select'
|
|
3
|
+
|
|
4
|
+
var RENDERERS: {
|
|
5
|
+
[name: string]: FilterSelectRenderer
|
|
6
|
+
} = {
|
|
7
|
+
string: ListSelect,
|
|
8
|
+
text: ListSelect,
|
|
9
|
+
email: ListSelect,
|
|
10
|
+
tel: ListSelect,
|
|
11
|
+
password: ListSelect,
|
|
12
|
+
integer: ListSelect,
|
|
13
|
+
float: ListSelect,
|
|
14
|
+
number: ListSelect,
|
|
15
|
+
select: ListSelect,
|
|
16
|
+
boolean: ListSelect,
|
|
17
|
+
checkbox: ListSelect,
|
|
18
|
+
month: ListSelect,
|
|
19
|
+
week: ListSelect,
|
|
20
|
+
date: ListSelect,
|
|
21
|
+
time: ListSelect,
|
|
22
|
+
datetime: ListSelect,
|
|
23
|
+
color: ListSelect,
|
|
24
|
+
progress: ListSelect,
|
|
25
|
+
link: ListSelect,
|
|
26
|
+
image: ListSelect,
|
|
27
|
+
json5: ListSelect
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export function registerRenderer(type: string, renderer: FilterSelectRenderer) {
|
|
31
|
+
RENDERERS[type] = renderer
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export function unregisterRenderer(type: string): void {
|
|
35
|
+
delete RENDERERS[type]
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export function getRenderers(): { [name: string]: FilterSelectRenderer } {
|
|
39
|
+
return { ...RENDERERS }
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export function getRenderer(type: string | FilterSelectRenderer): FilterSelectRenderer {
|
|
43
|
+
if (typeof type == 'function') {
|
|
44
|
+
return type
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return RENDERERS[type || 'text'] || ListSelect
|
|
48
|
+
}
|
package/src/gutters/registry.ts
CHANGED
package/src/handlers/registry.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export * from './configure/zero-config'
|
|
1
2
|
export * from './data-grist'
|
|
2
3
|
export * from './data-report'
|
|
3
4
|
|
|
@@ -6,3 +7,6 @@ export * from './renderers'
|
|
|
6
7
|
export * from './handlers'
|
|
7
8
|
export * from './formatters'
|
|
8
9
|
export * from './gutters'
|
|
10
|
+
|
|
11
|
+
export * from './interfaces'
|
|
12
|
+
export * from './search-form'
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export type OXSearchFieldType = 'select' | 'checkbox' | 'text' | 'number'
|
|
2
|
+
|
|
3
|
+
export interface OXFieldOptionProps {
|
|
4
|
+
name?: string
|
|
5
|
+
value: string
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface OXBasicFieldProps {
|
|
9
|
+
name: string
|
|
10
|
+
type?: OXSearchFieldType
|
|
11
|
+
hidden?: boolean
|
|
12
|
+
id?: string
|
|
13
|
+
placeholder?: string
|
|
14
|
+
handlers?: Record<string, (event: Event) => void>
|
|
15
|
+
defaultValue?: any
|
|
16
|
+
operator?: string
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export interface OXTextFieldProps extends OXBasicFieldProps {
|
|
20
|
+
defaultValue?: string
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface OXNumberFieldProps extends OXBasicFieldProps {
|
|
24
|
+
min?: number
|
|
25
|
+
max?: number
|
|
26
|
+
step: number
|
|
27
|
+
defaultValue?: number
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export interface OXObjectFieldProps extends OXBasicFieldProps {
|
|
31
|
+
field: string
|
|
32
|
+
queryName: string
|
|
33
|
+
defaultValue?: Record<string, any>
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface OXSelectFieldProps extends OXBasicFieldProps {
|
|
37
|
+
searchEnable?: boolean
|
|
38
|
+
options: OXFieldOptionProps[]
|
|
39
|
+
defaultValue?: any
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export interface OXCheckboxFieldProps extends OXBasicFieldProps {
|
|
43
|
+
indeterminate?: boolean
|
|
44
|
+
defaultValue?: boolean
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export type OXSearchFieldProps =
|
|
48
|
+
| OXTextFieldProps
|
|
49
|
+
| OXNumberFieldProps
|
|
50
|
+
| OXObjectFieldProps
|
|
51
|
+
| OXSelectFieldProps
|
|
52
|
+
| OXCheckboxFieldProps
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import '@material/mwc-icon'
|
|
2
2
|
import '../data-grid/data-grid-field'
|
|
3
3
|
|
|
4
|
+
import { ColumnConfig, GristRecord } from '../types'
|
|
4
5
|
import { LitElement, css, html } from 'lit'
|
|
5
6
|
import { customElement, property } from 'lit/decorators.js'
|
|
6
7
|
|
|
7
8
|
import { DataGridField } from '../data-grid/data-grid-field'
|
|
8
|
-
import { ZERO_RECORD } from '../configure/config
|
|
9
|
+
import { ZERO_RECORD } from '../configure/zero-config'
|
|
9
10
|
|
|
10
11
|
const KEY_ENTER = 13
|
|
11
12
|
const KEY_ESC = 27
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import '@material/mwc-icon'
|
|
2
2
|
import './record-view-body'
|
|
3
3
|
|
|
4
|
+
import { ColumnConfig, GristRecord } from '../types'
|
|
4
5
|
import { LitElement, css, html } from 'lit'
|
|
5
6
|
import { customElement, property } from 'lit/decorators.js'
|
|
6
7
|
|
|
7
|
-
import { ZERO_RECORD } from '../configure/config
|
|
8
|
+
import { ZERO_RECORD } from '../configure/zero-config'
|
|
8
9
|
|
|
9
10
|
@customElement('ox-record-view')
|
|
10
11
|
export class RecordView extends LitElement {
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { LitElement, css, html } from 'lit'
|
|
2
2
|
import { customElement, property } from 'lit/decorators.js'
|
|
3
3
|
|
|
4
|
+
import { FieldRenderer } from '../types'
|
|
5
|
+
|
|
4
6
|
@customElement('ox-grist-progress-renderer')
|
|
5
7
|
class DataGristProgressRenderer extends LitElement {
|
|
6
8
|
static styles = css`
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BooleanRenderer } from './boolean-renderer'
|
|
2
2
|
import { ColorRenderer } from './color-renderer'
|
|
3
3
|
import { DateRenderer } from './date-renderer'
|
|
4
|
+
import { FieldRenderer } from '../types'
|
|
4
5
|
import { ImageRenderer } from './image-renderer'
|
|
5
6
|
import { Json5Renderer } from './json5-renderer'
|
|
6
7
|
import { LinkRenderer } from './link-renderer'
|