@operato/data-grist 2.0.0-alpha.9 → 2.0.0-alpha.92
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 +358 -0
- package/demo/data-grist-test.html +25 -14
- package/demo/index.html +25 -14
- package/demo/report-test.html +13 -2
- 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/data-card-gutter-menu.d.ts +1 -1
- package/dist/src/data-card/data-card-gutter-menu.js +5 -5
- package/dist/src/data-card/data-card-gutter-menu.js.map +1 -1
- package/dist/src/data-card/data-card.d.ts +2 -2
- package/dist/src/data-card/data-card.js +3 -3
- package/dist/src/data-card/data-card.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-card/record-card.d.ts +2 -2
- package/dist/src/data-card/record-card.js +26 -26
- package/dist/src/data-card/record-card.js.map +1 -1
- package/dist/src/data-grid/data-grid-accum-field.js +8 -3
- package/dist/src/data-grid/data-grid-accum-field.js.map +1 -1
- package/dist/src/data-grid/data-grid-body.d.ts +3 -3
- package/dist/src/data-grid/data-grid-body.js +9 -4
- package/dist/src/data-grid/data-grid-body.js.map +1 -1
- package/dist/src/data-grid/data-grid-field.d.ts +1 -1
- package/dist/src/data-grid/data-grid-field.js +2 -2
- package/dist/src/data-grid/data-grid-field.js.map +1 -1
- package/dist/src/data-grid/data-grid-footer.d.ts +2 -2
- package/dist/src/data-grid/data-grid-footer.js +17 -9
- package/dist/src/data-grid/data-grid-footer.js.map +1 -1
- package/dist/src/data-grid/data-grid-header.d.ts +1 -1
- package/dist/src/data-grid/data-grid-header.js +38 -35
- package/dist/src/data-grid/data-grid-header.js.map +1 -1
- package/dist/src/data-grid/data-grid.d.ts +1 -1
- package/dist/src/data-grid/data-grid.js +12 -2
- package/dist/src/data-grid/data-grid.js.map +1 -1
- package/dist/src/data-grist.d.ts +226 -4
- package/dist/src/data-grist.js +218 -25
- package/dist/src/data-grist.js.map +1 -1
- package/dist/src/data-list/data-list-gutter.js +12 -0
- package/dist/src/data-list/data-list-gutter.js.map +1 -1
- package/dist/src/data-list/data-list.d.ts +2 -2
- package/dist/src/data-list/data-list.js +3 -3
- package/dist/src/data-list/data-list.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-list/record-partial.d.ts +2 -2
- package/dist/src/data-list/record-partial.js +20 -18
- package/dist/src/data-list/record-partial.js.map +1 -1
- package/dist/src/data-manipulator.d.ts +6 -6
- package/dist/src/data-manipulator.js +44 -29
- package/dist/src/data-manipulator.js.map +1 -1
- package/dist/src/data-report/data-report-body.d.ts +1 -1
- package/dist/src/data-report/data-report-component.d.ts +1 -1
- package/dist/src/data-report.d.ts +1 -1
- package/dist/src/editors/ox-grist-editor-checkbox.d.ts +3 -2
- package/dist/src/editors/ox-grist-editor-checkbox.js +9 -2
- package/dist/src/editors/ox-grist-editor-checkbox.js.map +1 -1
- package/dist/src/editors/ox-grist-editor-color.d.ts +1 -1
- package/dist/src/editors/ox-grist-editor-date.d.ts +1 -1
- package/dist/src/editors/ox-grist-editor-datetime.d.ts +2 -2
- package/dist/src/editors/ox-grist-editor-datetime.js +1 -2
- package/dist/src/editors/ox-grist-editor-datetime.js.map +1 -1
- package/dist/src/editors/ox-grist-editor-email.d.ts +1 -1
- package/dist/src/editors/ox-grist-editor-file.d.ts +3 -2
- package/dist/src/editors/ox-grist-editor-file.js +8 -2
- package/dist/src/editors/ox-grist-editor-file.js.map +1 -1
- package/dist/src/editors/ox-grist-editor-image.d.ts +2 -2
- package/dist/src/editors/ox-grist-editor-image.js +8 -8
- package/dist/src/editors/ox-grist-editor-image.js.map +1 -1
- package/dist/src/editors/ox-grist-editor-month.d.ts +1 -1
- package/dist/src/editors/ox-grist-editor-multiple-select.d.ts +1 -1
- package/dist/src/editors/ox-grist-editor-number.d.ts +3 -2
- package/dist/src/editors/ox-grist-editor-number.js +10 -9
- package/dist/src/editors/ox-grist-editor-number.js.map +1 -1
- package/dist/src/editors/ox-grist-editor-password.d.ts +1 -1
- package/dist/src/editors/ox-grist-editor-select.d.ts +1 -1
- package/dist/src/editors/ox-grist-editor-tel.d.ts +1 -1
- package/dist/src/editors/ox-grist-editor-text.d.ts +2 -1
- package/dist/src/editors/ox-grist-editor-text.js +3 -0
- package/dist/src/editors/ox-grist-editor-text.js.map +1 -1
- package/dist/src/editors/ox-grist-editor-textarea.d.ts +2 -1
- package/dist/src/editors/ox-grist-editor-textarea.js +3 -0
- package/dist/src/editors/ox-grist-editor-textarea.js.map +1 -1
- package/dist/src/editors/ox-grist-editor-time.d.ts +1 -1
- package/dist/src/editors/ox-grist-editor-tree.d.ts +1 -1
- package/dist/src/editors/ox-grist-editor-week.d.ts +1 -1
- package/dist/src/editors/ox-grist-editor.d.ts +4 -4
- package/dist/src/editors/ox-grist-editor.js +14 -12
- package/dist/src/editors/ox-grist-editor.js.map +1 -1
- package/dist/src/editors/ox-input-tree.d.ts +1 -1
- package/dist/src/empty-note.d.ts +2 -2
- package/dist/src/empty-note.js +3 -3
- package/dist/src/empty-note.js.map +1 -1
- package/dist/src/filters/filter-checkbox.js +12 -5
- package/dist/src/filters/filter-checkbox.js.map +1 -1
- package/dist/src/filters/filter-range-date.js +12 -1
- package/dist/src/filters/filter-range-date.js.map +1 -1
- package/dist/src/filters/filter-styles.js +47 -28
- package/dist/src/filters/filter-styles.js.map +1 -1
- package/dist/src/filters/filters-form.d.ts +1 -0
- package/dist/src/filters/filters-form.js +71 -50
- package/dist/src/filters/filters-form.js.map +1 -1
- package/dist/src/gutters/gutter-button.d.ts +1 -1
- package/dist/src/gutters/gutter-button.js +3 -3
- package/dist/src/gutters/gutter-button.js.map +1 -1
- package/dist/src/gutters/gutter-dirty.d.ts +1 -1
- package/dist/src/gutters/gutter-dirty.js +5 -5
- package/dist/src/gutters/gutter-dirty.js.map +1 -1
- package/dist/src/handlers/contextmenu-tree-mutation.js +5 -23
- package/dist/src/handlers/contextmenu-tree-mutation.js.map +1 -1
- package/dist/src/index.d.ts +0 -1
- package/dist/src/index.js +0 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/record-view/record-creator.d.ts +2 -2
- package/dist/src/record-view/record-creator.js +1 -1
- package/dist/src/record-view/record-creator.js.map +1 -1
- package/dist/src/record-view/record-view-body.d.ts +3 -3
- package/dist/src/record-view/record-view-body.js +4 -4
- package/dist/src/record-view/record-view-body.js.map +1 -1
- package/dist/src/record-view/record-view.d.ts +2 -2
- package/dist/src/record-view/record-view.js +5 -5
- package/dist/src/record-view/record-view.js.map +1 -1
- package/dist/src/renderers/ox-grist-renderer-progress.d.ts +1 -1
- package/dist/src/renderers/ox-grist-renderer-tree.d.ts +1 -1
- package/dist/src/renderers/ox-grist-renderer.d.ts +2 -2
- package/dist/src/sorters/sorters-control.js +3 -3
- package/dist/src/sorters/sorters-control.js.map +1 -1
- package/dist/src/types.d.ts +1 -8
- package/dist/src/types.js.map +1 -1
- package/dist/stories/accumulator.stories.d.ts +1 -1
- package/dist/stories/accumulator.stories.js +55 -127
- package/dist/stories/accumulator.stories.js.map +1 -1
- package/dist/stories/barcode-input-filter.stories.d.ts +1 -1
- package/dist/stories/barcode-input-filter.stories.js +41 -79
- package/dist/stories/barcode-input-filter.stories.js.map +1 -1
- package/dist/stories/default-filters.stories.d.ts +1 -1
- package/dist/stories/default-filters.stories.js +41 -79
- package/dist/stories/default-filters.stories.js.map +1 -1
- package/dist/stories/dynamic-editable.stories.d.ts +1 -1
- package/dist/stories/dynamic-editable.stories.js +61 -86
- package/dist/stories/dynamic-editable.stories.js.map +1 -1
- package/dist/stories/empty-sorters.stories.d.ts +1 -1
- package/dist/stories/empty-sorters.stories.js +41 -78
- package/dist/stories/empty-sorters.stories.js.map +1 -1
- package/dist/stories/explicit-fetch.stories.d.ts +1 -1
- package/dist/stories/explicit-fetch.stories.js +42 -79
- package/dist/stories/explicit-fetch.stories.js.map +1 -1
- package/dist/stories/fixed-column.stories.d.ts +1 -1
- package/dist/stories/fixed-column.stories.js +45 -127
- package/dist/stories/fixed-column.stories.js.map +1 -1
- package/dist/stories/grid-setting.stories.d.ts +36 -0
- package/dist/stories/grid-setting.stories.js +403 -0
- package/dist/stories/grid-setting.stories.js.map +1 -0
- package/dist/stories/grist-modes.stories.d.ts +1 -1
- package/dist/stories/grist-modes.stories.js +74 -140
- package/dist/stories/grist-modes.stories.js.map +1 -1
- package/dist/stories/group-header.stories.d.ts +1 -1
- package/dist/stories/group-header.stories.js +45 -127
- package/dist/stories/group-header.stories.js.map +1 -1
- package/dist/stories/textarea.stories.d.ts +1 -1
- package/dist/stories/textarea.stories.js +39 -121
- package/dist/stories/textarea.stories.js.map +1 -1
- package/dist/stories/tree-column-with-checkbox.stories.d.ts +1 -1
- package/dist/stories/tree-column-with-checkbox.stories.js +49 -136
- package/dist/stories/tree-column-with-checkbox.stories.js.map +1 -1
- package/dist/stories/tree-column.stories.d.ts +1 -1
- package/dist/stories/tree-column.stories.js +49 -136
- package/dist/stories/tree-column.stories.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/docs/default-value/default-value.md +1 -1
- package/docs/default-value/value-generator/date-generator.md +2 -2
- package/docs/default-value/value-generator/month-date-generator.md +2 -2
- package/docs/default-value/value-generator/week-date-generator.md +2 -2
- package/docs/default-value/value-generator/year-date-generator.md +2 -2
- package/package.json +21 -20
- package/src/configure/rows-option-builder.ts +11 -1
- package/src/configure/zero-config.ts +1 -0
- package/src/data-card/data-card-gutter-menu.ts +5 -5
- package/src/data-card/data-card.ts +3 -3
- package/src/data-card/event-handlers/record-card-click-handler.ts +1 -1
- package/src/data-card/record-card.ts +30 -32
- package/src/data-grid/data-grid-accum-field.ts +8 -3
- package/src/data-grid/data-grid-body.ts +10 -5
- package/src/data-grid/data-grid-field.ts +1 -1
- package/src/data-grid/data-grid-footer.ts +18 -11
- package/src/data-grid/data-grid-header.ts +68 -65
- package/src/data-grid/data-grid.ts +14 -4
- package/src/data-grist.ts +275 -27
- package/src/data-list/data-list-gutter.ts +12 -0
- package/src/data-list/data-list.ts +3 -3
- package/src/data-list/event-handlers/record-partial-click-handler.ts +1 -1
- package/src/data-list/record-partial.ts +22 -22
- package/src/data-manipulator.ts +52 -31
- package/src/editors/ox-grist-editor-checkbox.ts +12 -2
- package/src/editors/ox-grist-editor-datetime.ts +1 -2
- package/src/editors/ox-grist-editor-file.ts +12 -2
- package/src/editors/ox-grist-editor-image.ts +10 -7
- package/src/editors/ox-grist-editor-number.ts +11 -9
- package/src/editors/ox-grist-editor-text.ts +4 -0
- package/src/editors/ox-grist-editor-textarea.ts +4 -0
- package/src/editors/ox-grist-editor.ts +14 -10
- package/src/empty-note.ts +3 -3
- package/src/filters/filter-checkbox.ts +15 -5
- package/src/filters/filter-range-date.ts +16 -1
- package/src/filters/filter-styles.ts +47 -28
- package/src/filters/filters-form.ts +76 -50
- package/src/gutters/gutter-button.ts +3 -3
- package/src/gutters/gutter-dirty.ts +5 -5
- package/src/handlers/contextmenu-tree-mutation.ts +5 -23
- package/src/index.ts +0 -1
- package/src/record-view/record-creator.ts +1 -1
- package/src/record-view/record-view-body.ts +4 -4
- package/src/record-view/record-view.ts +5 -5
- package/src/sorters/sorters-control.ts +3 -3
- package/src/types.ts +1 -9
- package/stories/accumulator.stories.ts +54 -129
- package/stories/barcode-input-filter.stories.ts +53 -89
- package/stories/default-filters.stories.ts +53 -89
- package/stories/dynamic-editable.stories.ts +68 -92
- package/stories/empty-sorters.stories.ts +53 -89
- package/stories/explicit-fetch.stories.ts +54 -90
- package/stories/fixed-column.stories.ts +57 -137
- package/stories/grid-setting.stories.ts +441 -0
- package/stories/grist-modes.stories.ts +86 -155
- package/stories/group-header.stories.ts +57 -137
- package/stories/textarea.stories.ts +42 -127
- package/stories/tree-column-with-checkbox.stories.ts +53 -138
- package/stories/tree-column.stories.ts +53 -138
- package/themes/grist-theme.css +1 -1
- package/dist/src/value-generator/date-generator.d.ts +0 -6
- package/dist/src/value-generator/date-generator.js +0 -30
- package/dist/src/value-generator/date-generator.js.map +0 -1
- package/dist/src/value-generator/hour-time-generator.d.ts +0 -7
- package/dist/src/value-generator/hour-time-generator.js +0 -29
- package/dist/src/value-generator/hour-time-generator.js.map +0 -1
- package/dist/src/value-generator/index.d.ts +0 -1
- package/dist/src/value-generator/index.js +0 -2
- package/dist/src/value-generator/index.js.map +0 -1
- package/dist/src/value-generator/minute-time-generator.d.ts +0 -7
- package/dist/src/value-generator/minute-time-generator.js +0 -29
- package/dist/src/value-generator/minute-time-generator.js.map +0 -1
- package/dist/src/value-generator/month-date-generator.d.ts +0 -7
- package/dist/src/value-generator/month-date-generator.js +0 -31
- package/dist/src/value-generator/month-date-generator.js.map +0 -1
- package/dist/src/value-generator/now-generator.d.ts +0 -4
- package/dist/src/value-generator/now-generator.js +0 -8
- package/dist/src/value-generator/now-generator.js.map +0 -1
- package/dist/src/value-generator/registry.d.ts +0 -11
- package/dist/src/value-generator/registry.js +0 -50
- package/dist/src/value-generator/registry.js.map +0 -1
- package/dist/src/value-generator/time-generator.d.ts +0 -6
- package/dist/src/value-generator/time-generator.js +0 -28
- package/dist/src/value-generator/time-generator.js.map +0 -1
- package/dist/src/value-generator/today-generator.d.ts +0 -4
- package/dist/src/value-generator/today-generator.js +0 -8
- package/dist/src/value-generator/today-generator.js.map +0 -1
- package/dist/src/value-generator/week-date-generator.d.ts +0 -7
- package/dist/src/value-generator/week-date-generator.js +0 -29
- package/dist/src/value-generator/week-date-generator.js.map +0 -1
- package/dist/src/value-generator/year-date-generator.d.ts +0 -7
- package/dist/src/value-generator/year-date-generator.js +0 -29
- package/dist/src/value-generator/year-date-generator.js.map +0 -1
- package/src/value-generator/date-generator.ts +0 -35
- package/src/value-generator/hour-time-generator.ts +0 -43
- package/src/value-generator/index.ts +0 -1
- package/src/value-generator/minute-time-generator.ts +0 -43
- package/src/value-generator/month-date-generator.ts +0 -38
- package/src/value-generator/now-generator.ts +0 -10
- package/src/value-generator/registry.ts +0 -58
- package/src/value-generator/time-generator.ts +0 -33
- package/src/value-generator/today-generator.ts +0 -10
- package/src/value-generator/week-date-generator.ts +0 -40
- package/src/value-generator/year-date-generator.ts +0 -36
@@ -1,5 +1,5 @@
|
|
1
1
|
import '@operato/popup/ox-popup.js'
|
2
|
-
import '@material/
|
2
|
+
import '@material/web/icon/icon.js'
|
3
3
|
|
4
4
|
import { css, html, LitElement, PropertyValues, nothing, TemplateResult } from 'lit'
|
5
5
|
import { customElement, property, state } from 'lit/decorators.js'
|
@@ -22,6 +22,7 @@ export class DataGridHeader extends LitElement {
|
|
22
22
|
TooltipStyles,
|
23
23
|
css`
|
24
24
|
:host {
|
25
|
+
position: relative;
|
25
26
|
display: grid;
|
26
27
|
grid-template-columns: var(--grid-template-columns);
|
27
28
|
|
@@ -62,7 +63,7 @@ export class DataGridHeader extends LitElement {
|
|
62
63
|
align-self: center;
|
63
64
|
}
|
64
65
|
|
65
|
-
span[for-title]
|
66
|
+
span[for-title] md-icon {
|
66
67
|
font-size: var(--grid-record-fontsize);
|
67
68
|
}
|
68
69
|
|
@@ -75,11 +76,11 @@ export class DataGridHeader extends LitElement {
|
|
75
76
|
border: 0;
|
76
77
|
}
|
77
78
|
|
78
|
-
span[sorter]
|
79
|
+
span[sorter] md-icon {
|
79
80
|
font-size: var(--grid-header-sorter-size);
|
80
81
|
}
|
81
82
|
|
82
|
-
span[filter] >
|
83
|
+
span[filter] > md-icon {
|
83
84
|
font-size: var(--fontsize-default);
|
84
85
|
line-height: 20px;
|
85
86
|
}
|
@@ -104,7 +105,7 @@ export class DataGridHeader extends LitElement {
|
|
104
105
|
vertical-align: middle;
|
105
106
|
}
|
106
107
|
|
107
|
-
[filter-title]
|
108
|
+
[filter-title] md-icon {
|
108
109
|
opacity: 0.7;
|
109
110
|
color: var(--grid-header-filter-title-icon-color);
|
110
111
|
}
|
@@ -363,12 +364,10 @@ export class DataGridHeader extends LitElement {
|
|
363
364
|
if (sorters.length > 1) {
|
364
365
|
var rank = sorters.indexOf(sorter) + 1
|
365
366
|
return sorter.desc
|
366
|
-
? html` <
|
367
|
-
: html` <
|
367
|
+
? html` <md-icon>keyboard_arrow_down</md-icon><sub>${rank}</sub> `
|
368
|
+
: html` <md-icon>keyboard_arrow_up</md-icon><sub>${rank}</sub> `
|
368
369
|
} else {
|
369
|
-
return sorter.desc
|
370
|
-
? html` <mwc-icon>keyboard_arrow_down</mwc-icon> `
|
371
|
-
: html` <mwc-icon>keyboard_arrow_up</mwc-icon> `
|
370
|
+
return sorter.desc ? html` <md-icon>keyboard_arrow_down</md-icon> ` : html` <md-icon>keyboard_arrow_up</md-icon> `
|
372
371
|
}
|
373
372
|
}
|
374
373
|
|
@@ -381,7 +380,7 @@ export class DataGridHeader extends LitElement {
|
|
381
380
|
const renderer = getFilterRenderer(type)[idx]
|
382
381
|
|
383
382
|
return html`
|
384
|
-
<
|
383
|
+
<md-icon
|
385
384
|
@click=${(e: Event) => {
|
386
385
|
const parent = (e.target as HTMLElement).closest('[column]') as HTMLElement
|
387
386
|
const popup = parent.querySelector('ox-popup, ox-popup-list') as OxPopup | null
|
@@ -398,63 +397,63 @@ export class DataGridHeader extends LitElement {
|
|
398
397
|
top
|
399
398
|
})
|
400
399
|
}}
|
401
|
-
>filter_alt</
|
400
|
+
>filter_alt</md-icon
|
402
401
|
>
|
403
402
|
|
404
403
|
${!renderer
|
405
404
|
? html``
|
406
405
|
: type !== 'select'
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
406
|
+
? html` <ox-popup
|
407
|
+
><div filter-title><md-icon>filter_alt</md-icon> filter by <strong>${column.name}</strong></div>
|
408
|
+
${renderer(column, value, this)}</ox-popup
|
409
|
+
>`
|
410
|
+
: filter!.operator === 'in'
|
411
|
+
? html`<ox-popup-list
|
412
|
+
multiple
|
413
|
+
attr-selected="checked"
|
414
|
+
.value=${value}
|
415
|
+
with-search
|
416
|
+
@select=${(e: CustomEvent) =>
|
417
|
+
e.target?.dispatchEvent(
|
418
|
+
new CustomEvent('filter-change', {
|
419
|
+
bubbles: true,
|
420
|
+
composed: true,
|
421
|
+
detail: {
|
422
|
+
name,
|
423
|
+
operator: filter!.operator,
|
424
|
+
value: !e.detail
|
425
|
+
? undefined
|
426
|
+
: e.detail instanceof Array && e.detail.length === 0
|
427
|
+
? undefined
|
428
|
+
: e.detail
|
429
|
+
}
|
430
|
+
})
|
431
|
+
)}
|
432
|
+
><div filter-title slot="header">
|
433
|
+
<md-icon>filter_alt</md-icon> filter by <strong>${column.name}</strong>
|
434
|
+
</div>
|
435
|
+
${renderer(column, value, this)}</ox-popup-list
|
436
|
+
>`
|
437
|
+
: html`<ox-popup-list
|
438
|
+
.value=${value}
|
439
|
+
with-search
|
440
|
+
@select=${(e: CustomEvent) =>
|
441
|
+
e.target?.dispatchEvent(
|
442
|
+
new CustomEvent('filter-change', {
|
443
|
+
bubbles: true,
|
444
|
+
composed: true,
|
445
|
+
detail: {
|
446
|
+
name,
|
447
|
+
operator: filter!.operator,
|
448
|
+
value: e.detail ? e.detail : undefined
|
449
|
+
}
|
450
|
+
})
|
451
|
+
)}
|
452
|
+
><div filter-title slot="header">
|
453
|
+
<md-icon>filter_alt</md-icon> filter by <strong>${column.name}</strong>
|
454
|
+
</div>
|
455
|
+
${renderer(column, value, this)}</ox-popup-list
|
456
|
+
>`}
|
458
457
|
`
|
459
458
|
}
|
460
459
|
|
@@ -471,11 +470,15 @@ export class DataGridHeader extends LitElement {
|
|
471
470
|
if (sorter.desc) {
|
472
471
|
sorters.splice(idx, 1)
|
473
472
|
} else {
|
474
|
-
|
473
|
+
sorters.splice(idx, 1, {
|
474
|
+
...sorter,
|
475
|
+
desc: true
|
476
|
+
})
|
475
477
|
}
|
476
478
|
} else {
|
477
479
|
var sorter = {
|
478
|
-
name: column.name
|
480
|
+
name: column.name,
|
481
|
+
desc: false
|
479
482
|
}
|
480
483
|
|
481
484
|
sorters.push(sorter)
|
@@ -43,6 +43,11 @@ export class DataGrid extends DataManipulator {
|
|
43
43
|
transform: translate(-50%, -50%);
|
44
44
|
}
|
45
45
|
|
46
|
+
div[setting] {
|
47
|
+
position: relative;
|
48
|
+
z-index: 100;
|
49
|
+
}
|
50
|
+
|
46
51
|
@media print {
|
47
52
|
:host {
|
48
53
|
zoom: 80%;
|
@@ -159,7 +164,7 @@ export class DataGrid extends DataManipulator {
|
|
159
164
|
|
160
165
|
if (this.focused && 'row' in this.focused) {
|
161
166
|
var { row = 0, column = 0 } = this.focused
|
162
|
-
var { records: oldrecords = [] } = changes.get('data')
|
167
|
+
var { records: oldrecords = [] } = changes.get('data') || {}
|
163
168
|
var { records: newrecords } = this.data
|
164
169
|
|
165
170
|
var oldrecord = oldrecords[row]
|
@@ -172,8 +177,8 @@ export class DataGrid extends DataManipulator {
|
|
172
177
|
('id' in oldrecord
|
173
178
|
? record.id == oldrecord.id
|
174
179
|
: 'name' in oldrecord
|
175
|
-
|
176
|
-
|
180
|
+
? record.name == oldrecord.name
|
181
|
+
: false)
|
177
182
|
)
|
178
183
|
|
179
184
|
this.focused = {
|
@@ -222,6 +227,10 @@ export class DataGrid extends DataManipulator {
|
|
222
227
|
var data = this.data
|
223
228
|
|
224
229
|
return html`
|
230
|
+
<div setting>
|
231
|
+
<slot name="setting"></slot>
|
232
|
+
</div>
|
233
|
+
|
225
234
|
<ox-grid-header
|
226
235
|
.columns=${columns}
|
227
236
|
.sorters=${this.sorters}
|
@@ -234,7 +243,8 @@ export class DataGrid extends DataManipulator {
|
|
234
243
|
this.calculateWidths(columns)
|
235
244
|
}}
|
236
245
|
@fixed-lefts-change=${(e: CustomEvent) => (this.fixedLefts = e.detail)}
|
237
|
-
|
246
|
+
>
|
247
|
+
</ox-grid-header>
|
238
248
|
|
239
249
|
<ox-grid-body
|
240
250
|
.config=${this.config}
|