@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
@@ -38,7 +38,7 @@ export class OxGristRendererTree extends OxGristRenderer {
|
|
38
38
|
transform: translate(-25%, -50%) rotate(-90deg);
|
39
39
|
content: ' ';
|
40
40
|
border: 5px solid transparent;
|
41
|
-
border-top: 5px solid var(--primary-
|
41
|
+
border-top: 5px solid var(--md-sys-color-on-primary-container, #1890ff);
|
42
42
|
}
|
43
43
|
|
44
44
|
span[expander][expanded]::before {
|
@@ -48,7 +48,7 @@ export class OxGristRendererTree extends OxGristRenderer {
|
|
48
48
|
transform: translate(-50%, -25%);
|
49
49
|
content: ' ';
|
50
50
|
border: 5px solid transparent;
|
51
|
-
border-top: 5px solid var(--primary-
|
51
|
+
border-top: 5px solid var(--md-sys-color-on-primary-container, #1890ff);
|
52
52
|
}
|
53
53
|
|
54
54
|
span[checkbox] {
|
@@ -70,7 +70,7 @@ export class OxGristRendererTree extends OxGristRenderer {
|
|
70
70
|
display: block;
|
71
71
|
width: 10px;
|
72
72
|
height: 10px;
|
73
|
-
border: 1px solid var(--primary-
|
73
|
+
border: 1px solid var(--md-sys-color-on-primary-container, #1890ff);
|
74
74
|
border-radius: 2px;
|
75
75
|
}
|
76
76
|
|
@@ -79,8 +79,8 @@ export class OxGristRendererTree extends OxGristRenderer {
|
|
79
79
|
}
|
80
80
|
|
81
81
|
span[checkbox][checked='checked']::before {
|
82
|
-
background-color: var(--primary-
|
83
|
-
border-color: var(--primary-
|
82
|
+
background-color: var(--md-sys-color-on-primary-container, #1890ff);
|
83
|
+
border-color: var(--md-sys-color-on-primary-container, #1890ff);
|
84
84
|
}
|
85
85
|
|
86
86
|
span[checkbox][checked='checked']::after {
|
@@ -100,8 +100,8 @@ export class OxGristRendererTree extends OxGristRenderer {
|
|
100
100
|
}
|
101
101
|
|
102
102
|
span[checkbox][checked='half-checked']::before {
|
103
|
-
background-color: var(--primary-
|
104
|
-
border-color: var(--primary-
|
103
|
+
background-color: var(--md-sys-color-on-primary-container, #1890ff);
|
104
|
+
border-color: var(--md-sys-color-on-primary-container, #1890ff);
|
105
105
|
}
|
106
106
|
|
107
107
|
span[checkbox][checked='half-checked']::after {
|
@@ -30,12 +30,12 @@ export class SortersControl extends LitElement {
|
|
30
30
|
user-select: none;
|
31
31
|
}
|
32
32
|
[option] md-icon {
|
33
|
-
margin-left: var(--
|
33
|
+
margin-left: var(--spacing-medium);
|
34
34
|
--md-icon-size: var(--fontsize-large);
|
35
|
-
color: var(--primary-
|
35
|
+
color: var(--md-sys-color-on-primary-container);
|
36
36
|
}
|
37
37
|
[option] sub {
|
38
|
-
color: var(--primary-
|
38
|
+
color: var(--md-sys-color-on-primary-container);
|
39
39
|
}
|
40
40
|
`
|
41
41
|
]
|
@@ -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 {
|
11
12
|
ColumnConfig,
|
@@ -188,6 +189,7 @@ export default {
|
|
188
189
|
config: { control: 'object' },
|
189
190
|
mode: { control: 'select', options: ['GRID', 'LIST', 'CARD'] },
|
190
191
|
urlParamsSensitive: { control: 'boolean' },
|
192
|
+
theme: { control: 'select', options: ['light', 'dark'] },
|
191
193
|
withoutSearch: { control: 'boolean' }
|
192
194
|
}
|
193
195
|
}
|
@@ -204,6 +206,7 @@ interface ArgTypes {
|
|
204
206
|
urlParamsSensitive: boolean
|
205
207
|
withoutSearch: boolean
|
206
208
|
fetchHandler: object
|
209
|
+
theme: 'light' | 'dark'
|
207
210
|
}
|
208
211
|
|
209
212
|
const Template: Story<ArgTypes> = ({
|
@@ -211,9 +214,17 @@ const Template: Story<ArgTypes> = ({
|
|
211
214
|
mode = 'GRID',
|
212
215
|
urlParamsSensitive = false,
|
213
216
|
withoutSearch = false,
|
214
|
-
fetchHandler
|
217
|
+
fetchHandler,
|
218
|
+
theme = 'light'
|
215
219
|
}: ArgTypes) =>
|
216
|
-
html` <link
|
220
|
+
html` <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap" rel="stylesheet" />
|
221
|
+
|
222
|
+
<link href="/themes/light.css" rel="stylesheet" />
|
223
|
+
<link href="/themes/dark.css" rel="stylesheet" />
|
224
|
+
<link href="/themes/spacing.css" rel="stylesheet" />
|
225
|
+
<link href="/themes/grist-theme.css" rel="stylesheet" />
|
226
|
+
|
227
|
+
<link
|
217
228
|
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
|
218
229
|
rel="stylesheet"
|
219
230
|
/>
|
@@ -226,15 +237,19 @@ const Template: Story<ArgTypes> = ({
|
|
226
237
|
rel="stylesheet"
|
227
238
|
/>
|
228
239
|
|
229
|
-
<
|
230
|
-
|
231
|
-
|
240
|
+
<style>
|
241
|
+
${MDTypeScaleStyles.cssText}
|
242
|
+
</style>
|
232
243
|
|
233
244
|
<style>
|
234
245
|
${CommonGristStyles.cssText}
|
235
246
|
${CommonHeaderStyles.cssText}
|
236
247
|
</style>
|
237
248
|
|
249
|
+
<script>
|
250
|
+
document.body.classList.add('${theme}')
|
251
|
+
</script>
|
252
|
+
|
238
253
|
<style>
|
239
254
|
ox-grist {
|
240
255
|
height: 600px;
|
@@ -5,6 +5,7 @@ import '@operato/popup/ox-popup-list.js'
|
|
5
5
|
import '@material/web/icon/icon.js'
|
6
6
|
|
7
7
|
import { html, TemplateResult } from 'lit'
|
8
|
+
import { styles as MDTypeScaleStyles } from '@material/web/typography/md-typescale-styles'
|
8
9
|
|
9
10
|
import { FetchHandler } from '../src/types.js'
|
10
11
|
|
@@ -121,7 +122,8 @@ export default {
|
|
121
122
|
argTypes: {
|
122
123
|
englishOnly: { control: 'boolean' },
|
123
124
|
selectAfterChange: { control: 'boolean' },
|
124
|
-
headerFilter: { control: 'boolean' }
|
125
|
+
headerFilter: { control: 'boolean' },
|
126
|
+
theme: { control: 'select', options: ['light', 'dark'] }
|
125
127
|
}
|
126
128
|
}
|
127
129
|
|
@@ -135,10 +137,18 @@ interface ArgTypes {
|
|
135
137
|
englishOnly: boolean
|
136
138
|
selectAfterChange: boolean
|
137
139
|
headerFilter: boolean
|
140
|
+
theme: 'light' | 'dark'
|
138
141
|
}
|
139
142
|
|
140
|
-
const Template: Story<ArgTypes> = ({ englishOnly, selectAfterChange, headerFilter }: ArgTypes) =>
|
141
|
-
html` <link
|
143
|
+
const Template: Story<ArgTypes> = ({ englishOnly, selectAfterChange, headerFilter, theme = 'light' }: ArgTypes) =>
|
144
|
+
html` <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap" rel="stylesheet" />
|
145
|
+
|
146
|
+
<link href="/themes/light.css" rel="stylesheet" />
|
147
|
+
<link href="/themes/dark.css" rel="stylesheet" />
|
148
|
+
<link href="/themes/spacing.css" rel="stylesheet" />
|
149
|
+
<link href="/themes/grist-theme.css" rel="stylesheet" />
|
150
|
+
|
151
|
+
<link
|
142
152
|
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
|
143
153
|
rel="stylesheet"
|
144
154
|
/>
|
@@ -150,15 +160,20 @@ const Template: Story<ArgTypes> = ({ englishOnly, selectAfterChange, headerFilte
|
|
150
160
|
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
|
151
161
|
rel="stylesheet"
|
152
162
|
/>
|
153
|
-
|
154
|
-
<
|
155
|
-
|
163
|
+
|
164
|
+
<style>
|
165
|
+
${MDTypeScaleStyles.cssText}
|
166
|
+
</style>
|
156
167
|
|
157
168
|
<style>
|
158
169
|
${CommonGristStyles.cssText}
|
159
170
|
${CommonHeaderStyles.cssText}
|
160
171
|
</style>
|
161
172
|
|
173
|
+
<script>
|
174
|
+
document.body.classList.add('${theme}')
|
175
|
+
</script>
|
176
|
+
|
162
177
|
<style>
|
163
178
|
ox-grist {
|
164
179
|
height: 600px;
|
@@ -5,6 +5,8 @@ import '@operato/popup/ox-popup-list.js'
|
|
5
5
|
import '@material/web/icon/icon.js'
|
6
6
|
|
7
7
|
import { html, TemplateResult } from 'lit'
|
8
|
+
import { styles as MDTypeScaleStyles } from '@material/web/typography/md-typescale-styles'
|
9
|
+
|
8
10
|
import { sleep } from '@operato/utils'
|
9
11
|
|
10
12
|
import { ColumnConfig, FetchHandler, GristRecord, SelectOption } from '../src/types.js'
|
@@ -258,7 +260,8 @@ export default {
|
|
258
260
|
title: 'bounded select filters for ox-grist',
|
259
261
|
component: 'ox-grist',
|
260
262
|
argTypes: {
|
261
|
-
headerFilter: { control: 'boolean' }
|
263
|
+
headerFilter: { control: 'boolean' },
|
264
|
+
theme: { control: 'select', options: ['light', 'dark'] }
|
262
265
|
}
|
263
266
|
}
|
264
267
|
|
@@ -270,10 +273,18 @@ interface Story<T> {
|
|
270
273
|
|
271
274
|
interface ArgTypes {
|
272
275
|
headerFilter: boolean
|
276
|
+
theme: 'light' | 'dark'
|
273
277
|
}
|
274
278
|
|
275
|
-
const Template: Story<ArgTypes> = ({ headerFilter }: ArgTypes) =>
|
276
|
-
html` <link
|
279
|
+
const Template: Story<ArgTypes> = ({ headerFilter, theme = 'light' }: ArgTypes) =>
|
280
|
+
html` <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap" rel="stylesheet" />
|
281
|
+
|
282
|
+
<link href="/themes/light.css" rel="stylesheet" />
|
283
|
+
<link href="/themes/dark.css" rel="stylesheet" />
|
284
|
+
<link href="/themes/spacing.css" rel="stylesheet" />
|
285
|
+
<link href="/themes/grist-theme.css" rel="stylesheet" />
|
286
|
+
|
287
|
+
<link
|
277
288
|
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
|
278
289
|
rel="stylesheet"
|
279
290
|
/>
|
@@ -285,15 +296,20 @@ const Template: Story<ArgTypes> = ({ headerFilter }: ArgTypes) =>
|
|
285
296
|
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
|
286
297
|
rel="stylesheet"
|
287
298
|
/>
|
288
|
-
|
289
|
-
<
|
290
|
-
|
299
|
+
|
300
|
+
<style>
|
301
|
+
${MDTypeScaleStyles.cssText}
|
302
|
+
</style>
|
291
303
|
|
292
304
|
<style>
|
293
305
|
${CommonGristStyles.cssText}
|
294
306
|
${CommonHeaderStyles.cssText}
|
295
307
|
</style>
|
296
308
|
|
309
|
+
<script>
|
310
|
+
document.body.classList.add('${theme}')
|
311
|
+
</script>
|
312
|
+
|
297
313
|
<style>
|
298
314
|
ox-grist {
|
299
315
|
height: 600px;
|
@@ -310,8 +326,8 @@ const Template: Story<ArgTypes> = ({ headerFilter }: ArgTypes) =>
|
|
310
326
|
.fetchHandler=${fetchHandler}
|
311
327
|
@filters-change=${(e: Event) => console.log('filters', (e.target as any).filters)}
|
312
328
|
>
|
313
|
-
<div slot="headroom">
|
314
|
-
<div
|
329
|
+
<div slot="headroom" class="header">
|
330
|
+
<div class="filters">
|
315
331
|
<ox-filters-form></ox-filters-form>
|
316
332
|
</div>
|
317
333
|
</div>
|
@@ -5,6 +5,8 @@ import '@operato/popup/ox-popup-list.js'
|
|
5
5
|
import '@material/web/icon/icon.js'
|
6
6
|
|
7
7
|
import { html, TemplateResult } from 'lit'
|
8
|
+
import { styles as MDTypeScaleStyles } from '@material/web/typography/md-typescale-styles'
|
9
|
+
|
8
10
|
import { sleep } from '@operato/utils'
|
9
11
|
|
10
12
|
import { ColumnConfig, FetchHandler, FieldEditor, GristRecord, SelectOption } from '../src/types.js'
|
@@ -261,7 +263,8 @@ export default {
|
|
261
263
|
title: 'bounded select record for ox-grist',
|
262
264
|
component: 'ox-grist',
|
263
265
|
argTypes: {
|
264
|
-
headerFilter: { control: 'boolean' }
|
266
|
+
headerFilter: { control: 'boolean' },
|
267
|
+
theme: { control: 'select', options: ['light', 'dark'] }
|
265
268
|
}
|
266
269
|
}
|
267
270
|
|
@@ -273,10 +276,18 @@ interface Story<T> {
|
|
273
276
|
|
274
277
|
interface ArgTypes {
|
275
278
|
headerFilter: boolean
|
279
|
+
theme: 'light' | 'dark'
|
276
280
|
}
|
277
281
|
|
278
|
-
const Template: Story<ArgTypes> = ({ headerFilter }: ArgTypes) =>
|
279
|
-
html` <link
|
282
|
+
const Template: Story<ArgTypes> = ({ headerFilter, theme = 'light' }: ArgTypes) =>
|
283
|
+
html` <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap" rel="stylesheet" />
|
284
|
+
|
285
|
+
<link href="/themes/light.css" rel="stylesheet" />
|
286
|
+
<link href="/themes/dark.css" rel="stylesheet" />
|
287
|
+
<link href="/themes/spacing.css" rel="stylesheet" />
|
288
|
+
<link href="/themes/grist-theme.css" rel="stylesheet" />
|
289
|
+
|
290
|
+
<link
|
280
291
|
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
|
281
292
|
rel="stylesheet"
|
282
293
|
/>
|
@@ -288,15 +299,20 @@ const Template: Story<ArgTypes> = ({ headerFilter }: ArgTypes) =>
|
|
288
299
|
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
|
289
300
|
rel="stylesheet"
|
290
301
|
/>
|
291
|
-
|
292
|
-
<
|
293
|
-
|
302
|
+
|
303
|
+
<style>
|
304
|
+
${MDTypeScaleStyles.cssText}
|
305
|
+
</style>
|
294
306
|
|
295
307
|
<style>
|
296
308
|
${CommonGristStyles.cssText}
|
297
309
|
${CommonHeaderStyles.cssText}
|
298
310
|
</style>
|
299
311
|
|
312
|
+
<script>
|
313
|
+
document.body.classList.add('${theme}')
|
314
|
+
</script>
|
315
|
+
|
300
316
|
<style>
|
301
317
|
ox-grist {
|
302
318
|
height: 600px;
|
@@ -313,8 +329,8 @@ const Template: Story<ArgTypes> = ({ headerFilter }: ArgTypes) =>
|
|
313
329
|
.fetchHandler=${fetchHandler}
|
314
330
|
@filters-change=${(e: Event) => console.log('filters', (e.target as any).filters)}
|
315
331
|
>
|
316
|
-
<div slot="headroom">
|
317
|
-
<div
|
332
|
+
<div slot="headroom" class="header">
|
333
|
+
<div class="filters">
|
318
334
|
<ox-filters-form></ox-filters-form>
|
319
335
|
</div>
|
320
336
|
</div>
|
@@ -5,6 +5,7 @@ import '@operato/popup/ox-popup-list.js'
|
|
5
5
|
import '@material/web/icon/icon.js'
|
6
6
|
|
7
7
|
import { html, TemplateResult } from 'lit'
|
8
|
+
import { styles as MDTypeScaleStyles } from '@material/web/typography/md-typescale-styles'
|
8
9
|
|
9
10
|
import { FetchHandler } from '../src/types.js'
|
10
11
|
import { CommonHeaderStyles, CommonGristStyles } from '@operato/styles'
|
@@ -152,7 +153,8 @@ export default {
|
|
152
153
|
title: 'creatable only column for ox-grist',
|
153
154
|
component: 'ox-grist',
|
154
155
|
argTypes: {
|
155
|
-
headerFilter: { control: 'boolean' }
|
156
|
+
headerFilter: { control: 'boolean' },
|
157
|
+
theme: { control: 'select', options: ['light', 'dark'] }
|
156
158
|
}
|
157
159
|
}
|
158
160
|
|
@@ -164,10 +166,18 @@ interface Story<T> {
|
|
164
166
|
|
165
167
|
interface ArgTypes {
|
166
168
|
headerFilter: boolean
|
169
|
+
theme: 'light' | 'dark'
|
167
170
|
}
|
168
171
|
|
169
|
-
const Template: Story<ArgTypes> = ({ headerFilter }: ArgTypes) =>
|
170
|
-
html` <link
|
172
|
+
const Template: Story<ArgTypes> = ({ headerFilter, theme = 'light' }: ArgTypes) =>
|
173
|
+
html` <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap" rel="stylesheet" />
|
174
|
+
|
175
|
+
<link href="/themes/light.css" rel="stylesheet" />
|
176
|
+
<link href="/themes/dark.css" rel="stylesheet" />
|
177
|
+
<link href="/themes/spacing.css" rel="stylesheet" />
|
178
|
+
<link href="/themes/grist-theme.css" rel="stylesheet" />
|
179
|
+
|
180
|
+
<link
|
171
181
|
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
|
172
182
|
rel="stylesheet"
|
173
183
|
/>
|
@@ -180,15 +190,19 @@ const Template: Story<ArgTypes> = ({ headerFilter }: ArgTypes) =>
|
|
180
190
|
rel="stylesheet"
|
181
191
|
/>
|
182
192
|
|
183
|
-
<
|
184
|
-
|
185
|
-
|
193
|
+
<style>
|
194
|
+
${MDTypeScaleStyles.cssText}
|
195
|
+
</style>
|
186
196
|
|
187
197
|
<style>
|
188
198
|
${CommonGristStyles.cssText}
|
189
199
|
${CommonHeaderStyles.cssText}
|
190
200
|
</style>
|
191
201
|
|
202
|
+
<script>
|
203
|
+
document.body.classList.add('${theme}')
|
204
|
+
</script>
|
205
|
+
|
192
206
|
<style>
|
193
207
|
ox-grist {
|
194
208
|
height: 600px;
|
@@ -209,31 +223,31 @@ const Template: Story<ArgTypes> = ({ headerFilter }: ArgTypes) =>
|
|
209
223
|
console.log(name, number, chk)
|
210
224
|
}}
|
211
225
|
>
|
212
|
-
<div slot="headroom">
|
213
|
-
<div
|
226
|
+
<div slot="headroom" class="header">
|
227
|
+
<div class="filters">
|
214
228
|
<ox-filters-form></ox-filters-form>
|
215
|
-
</div>
|
216
229
|
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
230
|
+
<div id="sorters">
|
231
|
+
Sort
|
232
|
+
<md-icon
|
233
|
+
@click=${(e: Event) => {
|
234
|
+
const target = e.currentTarget as HTMLElement
|
235
|
+
;(target.closest('#sorters')!.querySelector('#sorter-control') as any).open({
|
236
|
+
right: 0,
|
237
|
+
top: target.offsetTop + target.offsetHeight
|
238
|
+
})
|
239
|
+
}}
|
240
|
+
>expand_more</md-icon
|
241
|
+
>
|
242
|
+
<ox-popup id="sorter-control">
|
243
|
+
<ox-sorters-control> </ox-sorters-control>
|
244
|
+
</ox-popup>
|
245
|
+
</div>
|
246
|
+
|
247
|
+
<ox-record-creator id="add" light-popup>
|
248
|
+
<button><md-icon>add</md-icon></button>
|
249
|
+
</ox-record-creator>
|
232
250
|
</div>
|
233
|
-
|
234
|
-
<ox-record-creator id="add" light-popup>
|
235
|
-
<button><md-icon>add</md-icon></button>
|
236
|
-
</ox-record-creator>
|
237
251
|
</div>
|
238
252
|
</ox-grist>`
|
239
253
|
|
@@ -5,6 +5,7 @@ import '@operato/popup/ox-popup-list.js'
|
|
5
5
|
import '@material/web/icon/icon.js'
|
6
6
|
|
7
7
|
import { html, TemplateResult } from 'lit'
|
8
|
+
import { styles as MDTypeScaleStyles } from '@material/web/typography/md-typescale-styles'
|
8
9
|
|
9
10
|
import { FetchHandler } from '../src/types.js'
|
10
11
|
|
@@ -149,7 +150,8 @@ export default {
|
|
149
150
|
title: 'default filters for ox-grist',
|
150
151
|
component: 'ox-grist',
|
151
152
|
argTypes: {
|
152
|
-
headerFilter: { control: 'boolean' }
|
153
|
+
headerFilter: { control: 'boolean' },
|
154
|
+
theme: { control: 'select', options: ['light', 'dark'] }
|
153
155
|
}
|
154
156
|
}
|
155
157
|
|
@@ -161,10 +163,18 @@ interface Story<T> {
|
|
161
163
|
|
162
164
|
interface ArgTypes {
|
163
165
|
headerFilter: boolean
|
166
|
+
theme?: 'light' | 'dark'
|
164
167
|
}
|
165
168
|
|
166
|
-
const Template: Story<ArgTypes> = ({ headerFilter }: ArgTypes) =>
|
167
|
-
html` <link
|
169
|
+
const Template: Story<ArgTypes> = ({ headerFilter, theme = 'light' }: ArgTypes) =>
|
170
|
+
html` <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap" rel="stylesheet" />
|
171
|
+
|
172
|
+
<link href="/themes/light.css" rel="stylesheet" />
|
173
|
+
<link href="/themes/dark.css" rel="stylesheet" />
|
174
|
+
<link href="/themes/spacing.css" rel="stylesheet" />
|
175
|
+
<link href="/themes/grist-theme.css" rel="stylesheet" />
|
176
|
+
|
177
|
+
<link
|
168
178
|
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL@20..48,100..700,0..1"
|
169
179
|
rel="stylesheet"
|
170
180
|
/>
|
@@ -176,15 +186,20 @@ const Template: Story<ArgTypes> = ({ headerFilter }: ArgTypes) =>
|
|
176
186
|
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL@20..48,100..700,0..1"
|
177
187
|
rel="stylesheet"
|
178
188
|
/>
|
179
|
-
|
180
|
-
<
|
181
|
-
|
189
|
+
|
190
|
+
<style>
|
191
|
+
${MDTypeScaleStyles.cssText}
|
192
|
+
</style>
|
182
193
|
|
183
194
|
<style>
|
184
195
|
${CommonGristStyles.cssText}
|
185
196
|
${CommonHeaderStyles.cssText}
|
186
197
|
</style>
|
187
198
|
|
199
|
+
<script>
|
200
|
+
document.body.classList.add('${theme}')
|
201
|
+
</script>
|
202
|
+
|
188
203
|
<style>
|
189
204
|
ox-grist {
|
190
205
|
height: 600px;
|
@@ -201,26 +216,26 @@ const Template: Story<ArgTypes> = ({ headerFilter }: ArgTypes) =>
|
|
201
216
|
.fetchHandler=${fetchHandler}
|
202
217
|
@filters-change=${(e: Event) => console.log('filters', (e.target as any).filters)}
|
203
218
|
>
|
204
|
-
<div slot="headroom">
|
205
|
-
<div
|
219
|
+
<div slot="headroom" class="header">
|
220
|
+
<div class="filters">
|
206
221
|
<ox-filters-form></ox-filters-form>
|
207
|
-
</div>
|
208
222
|
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
223
|
+
<div id="sorters">
|
224
|
+
Sort
|
225
|
+
<md-icon
|
226
|
+
@click=${(e: Event) => {
|
227
|
+
const target = e.currentTarget as HTMLElement
|
228
|
+
;(target.closest('#sorters')!.querySelector('#sorter-control') as any).open({
|
229
|
+
right: 0,
|
230
|
+
top: target.offsetTop + target.offsetHeight
|
231
|
+
})
|
232
|
+
}}
|
233
|
+
>expand_more</md-icon
|
234
|
+
>
|
235
|
+
<ox-popup id="sorter-control">
|
236
|
+
<ox-sorters-control> </ox-sorters-control>
|
237
|
+
</ox-popup>
|
238
|
+
</div>
|
224
239
|
</div>
|
225
240
|
</div>
|
226
241
|
</ox-grist>`
|