@operato/data-grist 2.0.0-alpha.146 → 2.0.0-alpha.149
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 +26 -0
- package/demo/data-grist-test.html +1 -1
- package/demo/index.html +1 -1
- package/dist/src/data-card/data-card-field.js +2 -2
- package/dist/src/data-card/data-card-field.js.map +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-gutter.js +6 -6
- package/dist/src/data-card/data-card-gutter.js.map +1 -1
- package/dist/src/data-card/data-card.js +7 -9
- package/dist/src/data-card/data-card.js.map +1 -1
- package/dist/src/data-card/record-card.js +9 -10
- package/dist/src/data-card/record-card.js.map +1 -1
- package/dist/src/data-grid/data-grid-accum-field.js +5 -3
- package/dist/src/data-grid/data-grid-accum-field.js.map +1 -1
- package/dist/src/data-grid/data-grid-body-style.js +1 -1
- package/dist/src/data-grid/data-grid-body-style.js.map +1 -1
- package/dist/src/data-grid/data-grid-body.js +3 -3
- package/dist/src/data-grid/data-grid-body.js.map +1 -1
- package/dist/src/data-grid/data-grid-footer.js +2 -2
- package/dist/src/data-grid/data-grid-footer.js.map +1 -1
- package/dist/src/data-grid/data-grid-header.js +4 -4
- package/dist/src/data-grid/data-grid-header.js.map +1 -1
- package/dist/src/data-grid/data-grid.js +13 -1
- package/dist/src/data-grid/data-grid.js.map +1 -1
- package/dist/src/data-list/data-list-field.js +5 -5
- package/dist/src/data-list/data-list-field.js.map +1 -1
- package/dist/src/data-list/data-list-gutter.js +3 -3
- package/dist/src/data-list/data-list-gutter.js.map +1 -1
- package/dist/src/data-list/data-list.js +4 -4
- package/dist/src/data-list/data-list.js.map +1 -1
- package/dist/src/data-list/record-partial.js +9 -10
- package/dist/src/data-list/record-partial.js.map +1 -1
- package/dist/src/editors/ox-input-tree.js +7 -7
- package/dist/src/editors/ox-input-tree.js.map +1 -1
- package/dist/src/filters/filter-input-barcode.js +1 -0
- package/dist/src/filters/filter-input-barcode.js.map +1 -1
- package/dist/src/filters/filter-styles.js +25 -19
- package/dist/src/filters/filter-styles.js.map +1 -1
- package/dist/src/filters/filters-form.js +4 -0
- package/dist/src/filters/filters-form.js.map +1 -1
- package/dist/src/gutters/gutter-dirty.js +1 -1
- package/dist/src/gutters/gutter-dirty.js.map +1 -1
- package/dist/src/renderers/ox-grist-renderer-tree.js +7 -7
- package/dist/src/renderers/ox-grist-renderer-tree.js.map +1 -1
- package/dist/src/sorters/sorters-control.js +3 -3
- package/dist/src/sorters/sorters-control.js.map +1 -1
- package/dist/stories/accumulator-format.stories.d.ts +5 -0
- package/dist/stories/accumulator-format.stories.js +17 -4
- package/dist/stories/accumulator-format.stories.js.map +1 -1
- package/dist/stories/barcode-input-filter.stories.d.ts +5 -0
- package/dist/stories/barcode-input-filter.stories.js +19 -5
- package/dist/stories/barcode-input-filter.stories.js.map +1 -1
- package/dist/stories/bounded-select-filters.stories.d.ts +5 -0
- package/dist/stories/bounded-select-filters.stories.js +21 -7
- package/dist/stories/bounded-select-filters.stories.js.map +1 -1
- package/dist/stories/bounded-select-record.stories.d.ts +5 -0
- package/dist/stories/bounded-select-record.stories.js +21 -7
- package/dist/stories/bounded-select-record.stories.js.map +1 -1
- package/dist/stories/creatable-only-column.stories.d.ts +5 -0
- package/dist/stories/creatable-only-column.stories.js +34 -21
- package/dist/stories/creatable-only-column.stories.js.map +1 -1
- package/dist/stories/default-filters.stories.d.ts +5 -0
- package/dist/stories/default-filters.stories.js +31 -17
- package/dist/stories/default-filters.stories.js.map +1 -1
- package/dist/stories/dynamic-editable.stories.d.ts +5 -0
- package/dist/stories/dynamic-editable.stories.js +34 -21
- package/dist/stories/dynamic-editable.stories.js.map +1 -1
- package/dist/stories/empty-sorters.stories.d.ts +7 -1
- package/dist/stories/empty-sorters.stories.js +31 -17
- package/dist/stories/empty-sorters.stories.js.map +1 -1
- package/dist/stories/explicit-fetch.stories.d.ts +5 -0
- package/dist/stories/explicit-fetch.stories.js +30 -17
- package/dist/stories/explicit-fetch.stories.js.map +1 -1
- package/dist/stories/fixed-column.stories.d.ts +5 -0
- package/dist/stories/fixed-column.stories.js +34 -21
- package/dist/stories/fixed-column.stories.js.map +1 -1
- package/dist/stories/grid-setting.stories.d.ts +5 -0
- package/dist/stories/grid-setting.stories.js +41 -15
- package/dist/stories/grid-setting.stories.js.map +1 -1
- package/dist/stories/grist-modes.stories.d.ts +5 -0
- package/dist/stories/grist-modes.stories.js +39 -26
- package/dist/stories/grist-modes.stories.js.map +1 -1
- package/dist/stories/group-header.stories.d.ts +5 -0
- package/dist/stories/group-header.stories.js +34 -21
- package/dist/stories/group-header.stories.js.map +1 -1
- package/dist/stories/textarea.stories.d.ts +5 -0
- package/dist/stories/textarea.stories.js +27 -13
- package/dist/stories/textarea.stories.js.map +1 -1
- package/dist/stories/tree-column-with-checkbox.stories.d.ts +5 -0
- package/dist/stories/tree-column-with-checkbox.stories.js +34 -21
- package/dist/stories/tree-column-with-checkbox.stories.js.map +1 -1
- package/dist/stories/tree-column.stories.d.ts +5 -0
- package/dist/stories/tree-column.stories.js +34 -21
- package/dist/stories/tree-column.stories.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -6
- package/src/data-card/data-card-field.ts +2 -2
- package/src/data-card/data-card-gutter-menu.ts +5 -5
- package/src/data-card/data-card-gutter.ts +6 -6
- package/src/data-card/data-card.ts +7 -9
- package/src/data-card/record-card.ts +9 -10
- package/src/data-grid/data-grid-accum-field.ts +5 -3
- package/src/data-grid/data-grid-body-style.ts +1 -1
- package/src/data-grid/data-grid-body.ts +4 -3
- package/src/data-grid/data-grid-footer.ts +2 -2
- package/src/data-grid/data-grid-header.ts +4 -4
- package/src/data-grid/data-grid.ts +13 -1
- package/src/data-list/data-list-field.ts +5 -5
- package/src/data-list/data-list-gutter.ts +3 -3
- package/src/data-list/data-list.ts +4 -4
- package/src/data-list/record-partial.ts +9 -10
- package/src/editors/ox-input-tree.ts +7 -7
- package/src/filters/filter-input-barcode.ts +1 -0
- package/src/filters/filter-styles.ts +25 -19
- package/src/filters/filters-form.ts +4 -0
- package/src/gutters/gutter-dirty.ts +1 -1
- package/src/renderers/ox-grist-renderer-tree.ts +7 -7
- package/src/sorters/sorters-control.ts +3 -3
- package/stories/accumulator-format.stories.ts +20 -5
- package/stories/barcode-input-filter.stories.ts +21 -6
- package/stories/bounded-select-filters.stories.ts +24 -8
- package/stories/bounded-select-record.stories.ts +24 -8
- package/stories/creatable-only-column.stories.ts +42 -28
- package/stories/default-filters.stories.ts +39 -24
- package/stories/dynamic-editable.stories.ts +42 -28
- package/stories/empty-sorters.stories.ts +41 -25
- package/stories/explicit-fetch.stories.ts +38 -24
- package/stories/fixed-column.stories.ts +42 -28
- package/stories/grid-setting.stories.ts +44 -16
- package/stories/grist-modes.stories.ts +53 -33
- package/stories/group-header.stories.ts +42 -28
- package/stories/textarea.stories.ts +35 -14
- package/stories/tree-column-with-checkbox.stories.ts +42 -28
- package/stories/tree-column.stories.ts +42 -28
- package/themes/dark-hc.css +151 -0
- package/themes/dark-mc.css +151 -0
- package/themes/dark.css +151 -0
- package/themes/grist-theme.css +103 -100
- package/themes/light-hc.css +151 -0
- package/themes/light-mc.css +151 -0
- package/themes/light.css +151 -0
- package/themes/md-typescale-styles.css +100 -0
- package/themes/spacing.css +43 -0
- package/themes/state-color.css +6 -0
- package/dist/stories/accumulator-format.stories copy.d.ts +0 -40
- package/dist/stories/accumulator-format.stories copy.js +0 -232
- package/dist/stories/accumulator-format.stories copy.js.map +0 -1
- package/themes/app-theme.css +0 -145
- package/themes/form-theme.css +0 -75
- package/themes/oops-theme.css +0 -26
- package/themes/report-theme.css +0 -47
@@ -6,6 +6,7 @@ import '@operato/popup/ox-popup-list.js'
|
|
6
6
|
import '@material/web/icon/icon.js'
|
7
7
|
|
8
8
|
import { html, TemplateResult } from 'lit'
|
9
|
+
import { styles as MDTypeScaleStyles } from '@material/web/typography/md-typescale-styles'
|
9
10
|
|
10
11
|
import { CommonHeaderStyles, CommonGristStyles } from '@operato/styles'
|
11
12
|
|
@@ -338,7 +339,8 @@ export default {
|
|
338
339
|
argTypes: {
|
339
340
|
config: { control: 'object' },
|
340
341
|
mode: { control: 'select', options: ['GRID', 'LIST', 'CARD'] },
|
341
|
-
urlParamsSensitive: { control: 'boolean' }
|
342
|
+
urlParamsSensitive: { control: 'boolean' },
|
343
|
+
theme: { control: 'select', options: ['light', 'dark'] }
|
342
344
|
}
|
343
345
|
}
|
344
346
|
|
@@ -352,11 +354,25 @@ interface ArgTypes {
|
|
352
354
|
config: object
|
353
355
|
mode: 'GRID' | 'LIST' | 'CARD'
|
354
356
|
urlParamsSensitive: boolean
|
357
|
+
theme: 'light' | 'dark'
|
355
358
|
fetchHandler: FetchHandler
|
356
359
|
}
|
357
360
|
|
358
|
-
const Template: Story<ArgTypes> = ({
|
359
|
-
|
361
|
+
const Template: Story<ArgTypes> = ({
|
362
|
+
config,
|
363
|
+
mode = 'GRID',
|
364
|
+
urlParamsSensitive = false,
|
365
|
+
fetchHandler,
|
366
|
+
theme = 'light'
|
367
|
+
}: ArgTypes) =>
|
368
|
+
html` <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap" rel="stylesheet" />
|
369
|
+
|
370
|
+
<link href="/themes/light.css" rel="stylesheet" />
|
371
|
+
<link href="/themes/dark.css" rel="stylesheet" />
|
372
|
+
<link href="/themes/spacing.css" rel="stylesheet" />
|
373
|
+
<link href="/themes/grist-theme.css" rel="stylesheet" />
|
374
|
+
|
375
|
+
<link
|
360
376
|
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
|
361
377
|
rel="stylesheet"
|
362
378
|
/>
|
@@ -369,15 +385,19 @@ const Template: Story<ArgTypes> = ({ config, mode = 'GRID', urlParamsSensitive =
|
|
369
385
|
rel="stylesheet"
|
370
386
|
/>
|
371
387
|
|
372
|
-
<
|
373
|
-
|
374
|
-
|
388
|
+
<style>
|
389
|
+
${MDTypeScaleStyles.cssText}
|
390
|
+
</style>
|
375
391
|
|
376
392
|
<style>
|
377
393
|
${CommonGristStyles.cssText}
|
378
394
|
${CommonHeaderStyles.cssText}
|
379
395
|
</style>
|
380
396
|
|
397
|
+
<script>
|
398
|
+
document.body.classList.add('${theme}')
|
399
|
+
</script>
|
400
|
+
|
381
401
|
<style>
|
382
402
|
ox-grist {
|
383
403
|
height: 600px;
|
@@ -395,37 +415,37 @@ const Template: Story<ArgTypes> = ({ config, mode = 'GRID', urlParamsSensitive =
|
|
395
415
|
?url-params-sensitive=${urlParamsSensitive}
|
396
416
|
@filters-change=${(e: Event) => console.log('filters', (e.target as any).filters)}
|
397
417
|
>
|
398
|
-
<div slot="headroom">
|
399
|
-
<div
|
418
|
+
<div slot="headroom" class="header">
|
419
|
+
<div class="filters">
|
400
420
|
<ox-filters-form autofocus></ox-filters-form>
|
401
|
-
</div>
|
402
421
|
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
422
|
+
<div id="sorters">
|
423
|
+
Sort
|
424
|
+
<md-icon
|
425
|
+
@click=${(e: Event) => {
|
426
|
+
const target = e.currentTarget as HTMLElement
|
427
|
+
;(target.closest('#sorters')!.querySelector('#sorter-control') as any).open({
|
428
|
+
right: 0,
|
429
|
+
top: target.offsetTop + target.offsetHeight
|
430
|
+
})
|
431
|
+
}}
|
432
|
+
>expand_more</md-icon
|
433
|
+
>
|
434
|
+
<ox-popup id="sorter-control">
|
435
|
+
<ox-sorters-control> </ox-sorters-control>
|
436
|
+
</ox-popup>
|
437
|
+
</div>
|
419
438
|
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
439
|
+
<div id="modes">
|
440
|
+
<md-icon @click=${() => (mode = 'GRID')} ?active=${mode == 'GRID'}>grid_on</md-icon>
|
441
|
+
<md-icon @click=${() => (mode = 'LIST')} ?active=${mode == 'LIST'}>format_list_bulleted</md-icon>
|
442
|
+
<md-icon @click=${() => (mode = 'CARD')} ?active=${mode == 'CARD'}>apps</md-icon>
|
443
|
+
</div>
|
425
444
|
|
426
|
-
|
427
|
-
|
428
|
-
|
445
|
+
<ox-record-creator id="add" light-popup>
|
446
|
+
<button><md-icon>add</md-icon></button>
|
447
|
+
</ox-record-creator>
|
448
|
+
</div>
|
429
449
|
</div>
|
430
450
|
</ox-grist>`
|
431
451
|
|
@@ -6,6 +6,7 @@ import '@operato/popup/ox-popup-list.js'
|
|
6
6
|
import '@material/web/icon/icon.js'
|
7
7
|
|
8
8
|
import { html, TemplateResult } from 'lit'
|
9
|
+
import { styles as MDTypeScaleStyles } from '@material/web/typography/md-typescale-styles'
|
9
10
|
|
10
11
|
import { CommonHeaderStyles, CommonGristStyles } from '@operato/styles'
|
11
12
|
|
@@ -346,7 +347,8 @@ export default {
|
|
346
347
|
title: 'group header',
|
347
348
|
component: 'ox-grist',
|
348
349
|
argTypes: {
|
349
|
-
config: { control: 'object' }
|
350
|
+
config: { control: 'object' },
|
351
|
+
theme: { control: 'select', options: ['light', 'dark'] }
|
350
352
|
}
|
351
353
|
}
|
352
354
|
|
@@ -358,10 +360,18 @@ interface Story<T> {
|
|
358
360
|
|
359
361
|
interface ArgTypes {
|
360
362
|
config: object
|
363
|
+
theme: 'light' | 'dark'
|
361
364
|
}
|
362
365
|
|
363
|
-
const Template: Story<ArgTypes> = ({ config }: ArgTypes) =>
|
364
|
-
html` <link
|
366
|
+
const Template: Story<ArgTypes> = ({ config, theme = 'light' }: ArgTypes) =>
|
367
|
+
html` <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap" rel="stylesheet" />
|
368
|
+
|
369
|
+
<link href="/themes/light.css" rel="stylesheet" />
|
370
|
+
<link href="/themes/dark.css" rel="stylesheet" />
|
371
|
+
<link href="/themes/spacing.css" rel="stylesheet" />
|
372
|
+
<link href="/themes/grist-theme.css" rel="stylesheet" />
|
373
|
+
|
374
|
+
<link
|
365
375
|
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
|
366
376
|
rel="stylesheet"
|
367
377
|
/>
|
@@ -374,15 +384,19 @@ const Template: Story<ArgTypes> = ({ config }: ArgTypes) =>
|
|
374
384
|
rel="stylesheet"
|
375
385
|
/>
|
376
386
|
|
377
|
-
<
|
378
|
-
|
379
|
-
|
387
|
+
<style>
|
388
|
+
${MDTypeScaleStyles.cssText}
|
389
|
+
</style>
|
380
390
|
|
381
391
|
<style>
|
382
392
|
${CommonGristStyles.cssText}
|
383
393
|
${CommonHeaderStyles.cssText}
|
384
394
|
</style>
|
385
395
|
|
396
|
+
<script>
|
397
|
+
document.body.classList.add('${theme}')
|
398
|
+
</script>
|
399
|
+
|
386
400
|
<style>
|
387
401
|
ox-grist {
|
388
402
|
height: 600px;
|
@@ -399,31 +413,31 @@ const Template: Story<ArgTypes> = ({ config }: ArgTypes) =>
|
|
399
413
|
.fetchHandler=${fetchHandler}
|
400
414
|
@filters-change=${(e: Event) => console.log('filters', (e.target as any).filters)}
|
401
415
|
>
|
402
|
-
<div slot="headroom">
|
403
|
-
<div
|
416
|
+
<div slot="headroom" class="header">
|
417
|
+
<div class="filters">
|
404
418
|
<ox-filters-form autofocus></ox-filters-form>
|
405
|
-
</div>
|
406
419
|
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
420
|
+
<div id="sorters">
|
421
|
+
Sort
|
422
|
+
<md-icon
|
423
|
+
@click=${(e: Event) => {
|
424
|
+
const target = e.currentTarget as HTMLElement
|
425
|
+
;(target.closest('#sorters')!.querySelector('#sorter-control') as any).open({
|
426
|
+
right: 0,
|
427
|
+
top: target.offsetTop + target.offsetHeight
|
428
|
+
})
|
429
|
+
}}
|
430
|
+
>expand_more</md-icon
|
431
|
+
>
|
432
|
+
<ox-popup id="sorter-control">
|
433
|
+
<ox-sorters-control> </ox-sorters-control>
|
434
|
+
</ox-popup>
|
435
|
+
</div>
|
423
436
|
|
424
|
-
|
425
|
-
|
426
|
-
|
437
|
+
<ox-record-creator id="add" light-popup>
|
438
|
+
<button><md-icon>add</md-icon></button>
|
439
|
+
</ox-record-creator>
|
440
|
+
</div>
|
427
441
|
</div>
|
428
442
|
</ox-grist>`
|
429
443
|
|
@@ -6,6 +6,7 @@ import '@operato/popup/ox-popup-list.js'
|
|
6
6
|
import '@material/web/icon/icon.js'
|
7
7
|
|
8
8
|
import { html, TemplateResult } from 'lit'
|
9
|
+
import { styles as MDTypeScaleStyles } from '@material/web/typography/md-typescale-styles'
|
9
10
|
|
10
11
|
import { CommonHeaderStyles, CommonGristStyles } from '@operato/styles'
|
11
12
|
|
@@ -175,7 +176,8 @@ export default {
|
|
175
176
|
argTypes: {
|
176
177
|
config: { control: 'object' },
|
177
178
|
mode: { control: 'select', options: ['GRID', 'LIST', 'CARD'] },
|
178
|
-
urlParamsSensitive: { control: 'boolean' }
|
179
|
+
urlParamsSensitive: { control: 'boolean' },
|
180
|
+
theme: { control: 'select', options: ['light', 'dark'] }
|
179
181
|
}
|
180
182
|
}
|
181
183
|
|
@@ -189,11 +191,25 @@ interface ArgTypes {
|
|
189
191
|
config: object
|
190
192
|
mode: 'GRID' | 'LIST' | 'CARD'
|
191
193
|
urlParamsSensitive: boolean
|
194
|
+
theme: 'light' | 'dark'
|
192
195
|
fetchHandler: FetchHandler
|
193
196
|
}
|
194
197
|
|
195
|
-
const Template: Story<ArgTypes> = ({
|
196
|
-
|
198
|
+
const Template: Story<ArgTypes> = ({
|
199
|
+
config,
|
200
|
+
mode = 'GRID',
|
201
|
+
urlParamsSensitive = false,
|
202
|
+
fetchHandler,
|
203
|
+
theme = 'light'
|
204
|
+
}: ArgTypes) =>
|
205
|
+
html` <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap" rel="stylesheet" />
|
206
|
+
|
207
|
+
<link href="/themes/light.css" rel="stylesheet" />
|
208
|
+
<link href="/themes/dark.css" rel="stylesheet" />
|
209
|
+
<link href="/themes/spacing.css" rel="stylesheet" />
|
210
|
+
<link href="/themes/grist-theme.css" rel="stylesheet" />
|
211
|
+
|
212
|
+
<link
|
197
213
|
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
|
198
214
|
rel="stylesheet"
|
199
215
|
/>
|
@@ -206,15 +222,20 @@ const Template: Story<ArgTypes> = ({ config, mode = 'GRID', urlParamsSensitive =
|
|
206
222
|
rel="stylesheet"
|
207
223
|
/>
|
208
224
|
|
209
|
-
<
|
210
|
-
|
211
|
-
|
225
|
+
<style>
|
226
|
+
${MDTypeScaleStyles.cssText}
|
227
|
+
</style>
|
212
228
|
|
213
229
|
<style>
|
214
|
-
${CommonGristStyles.cssText}
|
215
|
-
|
230
|
+
${CommonGristStyles.cssText} ${CommonHeaderStyles.cssText} #add {
|
231
|
+
margin-left: auto;
|
232
|
+
}
|
216
233
|
</style>
|
217
234
|
|
235
|
+
<script>
|
236
|
+
document.body.classList.add('${theme}')
|
237
|
+
</script>
|
238
|
+
|
218
239
|
<style>
|
219
240
|
ox-grist {
|
220
241
|
height: 600px;
|
@@ -232,14 +253,14 @@ const Template: Story<ArgTypes> = ({ config, mode = 'GRID', urlParamsSensitive =
|
|
232
253
|
?url-params-sensitive=${urlParamsSensitive}
|
233
254
|
@filters-change=${(e: Event) => console.log('filters', (e.target as any).filters)}
|
234
255
|
>
|
235
|
-
<div slot="headroom">
|
236
|
-
<div
|
256
|
+
<div slot="headroom" class="header">
|
257
|
+
<div class="filters">
|
237
258
|
<ox-filters-form autofocus></ox-filters-form>
|
238
|
-
</div>
|
239
259
|
|
240
|
-
|
241
|
-
|
242
|
-
|
260
|
+
<ox-record-creator id="add" light-popup>
|
261
|
+
<button><md-icon>add</md-icon></button>
|
262
|
+
</ox-record-creator>
|
263
|
+
</div>
|
243
264
|
</div>
|
244
265
|
</ox-grist>`
|
245
266
|
|
@@ -6,6 +6,7 @@ import '@operato/popup/ox-popup-list.js'
|
|
6
6
|
import '@material/web/icon/icon.js'
|
7
7
|
|
8
8
|
import { html, TemplateResult } from 'lit'
|
9
|
+
import { styles as MDTypeScaleStyles } from '@material/web/typography/md-typescale-styles'
|
9
10
|
|
10
11
|
import { CommonHeaderStyles, CommonGristStyles } from '@operato/styles'
|
11
12
|
|
@@ -202,7 +203,8 @@ export default {
|
|
202
203
|
title: 'tree column with checkbox',
|
203
204
|
component: 'ox-grist',
|
204
205
|
argTypes: {
|
205
|
-
config: { control: 'object' }
|
206
|
+
config: { control: 'object' },
|
207
|
+
theme: { control: 'select', options: ['light', 'dark'] }
|
206
208
|
}
|
207
209
|
}
|
208
210
|
|
@@ -214,10 +216,18 @@ interface Story<T> {
|
|
214
216
|
|
215
217
|
interface ArgTypes {
|
216
218
|
config: object
|
219
|
+
theme: 'light' | 'dark'
|
217
220
|
}
|
218
221
|
|
219
|
-
const Template: Story<ArgTypes> = ({ config }: ArgTypes) =>
|
220
|
-
html` <link
|
222
|
+
const Template: Story<ArgTypes> = ({ config, theme = 'light' }: ArgTypes) =>
|
223
|
+
html` <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap" rel="stylesheet" />
|
224
|
+
|
225
|
+
<link href="/themes/light.css" rel="stylesheet" />
|
226
|
+
<link href="/themes/dark.css" rel="stylesheet" />
|
227
|
+
<link href="/themes/spacing.css" rel="stylesheet" />
|
228
|
+
<link href="/themes/grist-theme.css" rel="stylesheet" />
|
229
|
+
|
230
|
+
<link
|
221
231
|
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
|
222
232
|
rel="stylesheet"
|
223
233
|
/>
|
@@ -230,15 +240,19 @@ const Template: Story<ArgTypes> = ({ config }: ArgTypes) =>
|
|
230
240
|
rel="stylesheet"
|
231
241
|
/>
|
232
242
|
|
233
|
-
<
|
234
|
-
|
235
|
-
|
243
|
+
<style>
|
244
|
+
${MDTypeScaleStyles.cssText}
|
245
|
+
</style>
|
236
246
|
|
237
247
|
<style>
|
238
248
|
${CommonGristStyles.cssText}
|
239
249
|
${CommonHeaderStyles.cssText}
|
240
250
|
</style>
|
241
251
|
|
252
|
+
<script>
|
253
|
+
document.body.classList.add('${theme}')
|
254
|
+
</script>
|
255
|
+
|
242
256
|
<style>
|
243
257
|
ox-grist {
|
244
258
|
height: 600px;
|
@@ -255,31 +269,31 @@ const Template: Story<ArgTypes> = ({ config }: ArgTypes) =>
|
|
255
269
|
.fetchHandler=${fetchHandler}
|
256
270
|
@filters-change=${(e: Event) => console.log('filters', (e.target as any).filters)}
|
257
271
|
>
|
258
|
-
<div slot="headroom">
|
259
|
-
<div
|
272
|
+
<div slot="headroom" class="header">
|
273
|
+
<div class="filters">
|
260
274
|
<ox-filters-form autofocus></ox-filters-form>
|
261
|
-
</div>
|
262
275
|
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
276
|
+
<div id="sorters">
|
277
|
+
Sort
|
278
|
+
<md-icon
|
279
|
+
@click=${(e: Event) => {
|
280
|
+
const target = e.currentTarget as HTMLElement
|
281
|
+
;(target.closest('#sorters')!.querySelector('#sorter-control') as any).open({
|
282
|
+
right: 0,
|
283
|
+
top: target.offsetTop + target.offsetHeight
|
284
|
+
})
|
285
|
+
}}
|
286
|
+
>expand_more</md-icon
|
287
|
+
>
|
288
|
+
<ox-popup id="sorter-control">
|
289
|
+
<ox-sorters-control> </ox-sorters-control>
|
290
|
+
</ox-popup>
|
291
|
+
</div>
|
279
292
|
|
280
|
-
|
281
|
-
|
282
|
-
|
293
|
+
<ox-record-creator id="add" light-popup>
|
294
|
+
<button><md-icon>add</md-icon></button>
|
295
|
+
</ox-record-creator>
|
296
|
+
</div>
|
283
297
|
</div>
|
284
298
|
</ox-grist>`
|
285
299
|
|
@@ -6,6 +6,7 @@ import '@operato/popup/ox-popup-list.js'
|
|
6
6
|
import '@material/web/icon/icon.js'
|
7
7
|
|
8
8
|
import { html, TemplateResult } from 'lit'
|
9
|
+
import { styles as MDTypeScaleStyles } from '@material/web/typography/md-typescale-styles'
|
9
10
|
|
10
11
|
import { CommonHeaderStyles, CommonGristStyles } from '@operato/styles'
|
11
12
|
|
@@ -201,7 +202,8 @@ export default {
|
|
201
202
|
title: 'tree column',
|
202
203
|
component: 'ox-grist',
|
203
204
|
argTypes: {
|
204
|
-
config: { control: 'object' }
|
205
|
+
config: { control: 'object' },
|
206
|
+
theme: { control: 'select', options: ['light', 'dark'] }
|
205
207
|
}
|
206
208
|
}
|
207
209
|
|
@@ -213,10 +215,18 @@ interface Story<T> {
|
|
213
215
|
|
214
216
|
interface ArgTypes {
|
215
217
|
config: object
|
218
|
+
theme: 'light' | 'dark'
|
216
219
|
}
|
217
220
|
|
218
|
-
const Template: Story<ArgTypes> = ({ config }: ArgTypes) =>
|
219
|
-
html` <link
|
221
|
+
const Template: Story<ArgTypes> = ({ config, theme = 'light' }: ArgTypes) =>
|
222
|
+
html` <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap" rel="stylesheet" />
|
223
|
+
|
224
|
+
<link href="/themes/light.css" rel="stylesheet" />
|
225
|
+
<link href="/themes/dark.css" rel="stylesheet" />
|
226
|
+
<link href="/themes/spacing.css" rel="stylesheet" />
|
227
|
+
<link href="/themes/grist-theme.css" rel="stylesheet" />
|
228
|
+
|
229
|
+
<link
|
220
230
|
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
|
221
231
|
rel="stylesheet"
|
222
232
|
/>
|
@@ -229,15 +239,19 @@ const Template: Story<ArgTypes> = ({ config }: ArgTypes) =>
|
|
229
239
|
rel="stylesheet"
|
230
240
|
/>
|
231
241
|
|
232
|
-
<
|
233
|
-
|
234
|
-
|
242
|
+
<style>
|
243
|
+
${MDTypeScaleStyles.cssText}
|
244
|
+
</style>
|
235
245
|
|
236
246
|
<style>
|
237
247
|
${CommonGristStyles.cssText}
|
238
248
|
${CommonHeaderStyles.cssText}
|
239
249
|
</style>
|
240
250
|
|
251
|
+
<script>
|
252
|
+
document.body.classList.add('${theme}')
|
253
|
+
</script>
|
254
|
+
|
241
255
|
<style>
|
242
256
|
ox-grist {
|
243
257
|
height: 600px;
|
@@ -254,31 +268,31 @@ const Template: Story<ArgTypes> = ({ config }: ArgTypes) =>
|
|
254
268
|
.fetchHandler=${fetchHandler}
|
255
269
|
@filters-change=${(e: Event) => console.log('filters', (e.target as any).filters)}
|
256
270
|
>
|
257
|
-
<div slot="headroom">
|
258
|
-
<div
|
271
|
+
<div slot="headroom" class="header">
|
272
|
+
<div class="filters">
|
259
273
|
<ox-filters-form autofocus></ox-filters-form>
|
260
|
-
</div>
|
261
274
|
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
275
|
+
<div id="sorters">
|
276
|
+
Sort
|
277
|
+
<md-icon
|
278
|
+
@click=${(e: Event) => {
|
279
|
+
const target = e.currentTarget as HTMLElement
|
280
|
+
;(target.closest('#sorters')!.querySelector('#sorter-control') as any).open({
|
281
|
+
right: 0,
|
282
|
+
top: target.offsetTop + target.offsetHeight
|
283
|
+
})
|
284
|
+
}}
|
285
|
+
>expand_more</md-icon
|
286
|
+
>
|
287
|
+
<ox-popup id="sorter-control">
|
288
|
+
<ox-sorters-control> </ox-sorters-control>
|
289
|
+
</ox-popup>
|
290
|
+
</div>
|
278
291
|
|
279
|
-
|
280
|
-
|
281
|
-
|
292
|
+
<ox-record-creator id="add" light-popup>
|
293
|
+
<button><md-icon>add</md-icon></button>
|
294
|
+
</ox-record-creator>
|
295
|
+
</div>
|
282
296
|
</div>
|
283
297
|
</ox-grist>`
|
284
298
|
|