@operato/data-grist 2.0.0-alpha.64 → 2.0.0-alpha.68
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 +9 -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/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 +1 -1
- 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/record-card.d.ts +1 -1
- 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 +5 -1
- package/dist/src/data-grid/data-grid-accum-field.js.map +1 -1
- package/dist/src/data-grid/data-grid-footer.d.ts +1 -1
- 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 +13 -15
- package/dist/src/data-grid/data-grid-header.js.map +1 -1
- package/dist/src/data-grist.js +21 -21
- package/dist/src/data-grist.js.map +1 -1
- package/dist/src/data-list/data-list.d.ts +1 -1
- 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/record-partial.d.ts +1 -1
- package/dist/src/data-list/record-partial.js +19 -19
- package/dist/src/data-list/record-partial.js.map +1 -1
- package/dist/src/empty-note.d.ts +1 -1
- package/dist/src/empty-note.js +3 -3
- package/dist/src/empty-note.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 +4 -4
- package/dist/src/handlers/contextmenu-tree-mutation.js.map +1 -1
- package/dist/src/record-view/record-creator.d.ts +1 -1
- 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 +1 -1
- 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 +1 -1
- package/dist/src/record-view/record-view.js +5 -5
- package/dist/src/record-view/record-view.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.stories.d.ts +1 -1
- package/dist/stories/accumulator.stories.js +22 -10
- 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 +80 -72
- 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 +80 -72
- 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 +21 -9
- 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 +80 -71
- 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 +81 -72
- 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 +122 -113
- package/dist/stories/fixed-column.stories.js.map +1 -1
- package/dist/stories/grist-modes.stories.d.ts +1 -1
- package/dist/stories/grist-modes.stories.js +132 -123
- 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 +122 -113
- 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 +113 -104
- 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 +126 -117
- 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 +126 -117
- package/dist/stories/tree-column.stories.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -7
- package/src/data-card/data-card-gutter-menu.ts +5 -5
- package/src/data-card/data-card.ts +3 -3
- package/src/data-card/record-card.ts +30 -32
- package/src/data-grid/data-grid-accum-field.ts +5 -1
- package/src/data-grid/data-grid-footer.ts +18 -11
- package/src/data-grid/data-grid-header.ts +13 -15
- package/src/data-grist.ts +23 -23
- package/src/data-list/data-list.ts +3 -3
- package/src/data-list/record-partial.ts +21 -23
- package/src/empty-note.ts +3 -3
- package/src/gutters/gutter-button.ts +3 -3
- package/src/gutters/gutter-dirty.ts +5 -5
- package/src/handlers/contextmenu-tree-mutation.ts +4 -4
- 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/stories/accumulator.stories.ts +22 -10
- package/stories/barcode-input-filter.stories.ts +91 -82
- package/stories/default-filters.stories.ts +91 -82
- package/stories/dynamic-editable.stories.ts +21 -9
- package/stories/empty-sorters.stories.ts +92 -82
- package/stories/explicit-fetch.stories.ts +93 -83
- package/stories/fixed-column.stories.ts +134 -124
- package/stories/grist-modes.stories.ts +144 -139
- package/stories/group-header.stories.ts +134 -124
- package/stories/textarea.stories.ts +115 -110
- package/stories/tree-column-with-checkbox.stories.ts +134 -124
- package/stories/tree-column.stories.ts +134 -124
@@ -1,4 +1,4 @@
|
|
1
|
-
import '@material/
|
1
|
+
import '@material/web/icon/icon.js'
|
2
2
|
import '../empty-note'
|
3
3
|
import './record-card'
|
4
4
|
|
@@ -42,7 +42,7 @@ export class DataCard extends DataManipulator {
|
|
42
42
|
}
|
43
43
|
|
44
44
|
#upward {
|
45
|
-
--
|
45
|
+
--md-icon-size: 26px;
|
46
46
|
position: absolute;
|
47
47
|
top: var(--data-card-fab-position-vertical);
|
48
48
|
right: var(--data-card-fab-position-horizontal);
|
@@ -142,7 +142,7 @@ export class DataCard extends DataManipulator {
|
|
142
142
|
${this.empty ? html` <ox-empty-note title="NO RECORDS"></ox-empty-note> ` : html``}
|
143
143
|
${this.isTop
|
144
144
|
? html``
|
145
|
-
: html` <
|
145
|
+
: html` <md-icon id="upward" @click=${(e: Event) => this.gotoTop(e)}>arrow_upward</md-icon> `}
|
146
146
|
`
|
147
147
|
}
|
148
148
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import '@material/
|
1
|
+
import '@material/web/icon/icon.js'
|
2
2
|
import './data-card-field'
|
3
3
|
import '../record-view'
|
4
4
|
import './data-card-gutter'
|
@@ -183,7 +183,7 @@ export class RecordCard extends LitElement {
|
|
183
183
|
}
|
184
184
|
|
185
185
|
return html`
|
186
|
-
${dirtyIcon ? html` <
|
186
|
+
${dirtyIcon ? html` <md-icon dirty>${dirtyIcon}</md-icon> ` : html``}
|
187
187
|
${thumbnailColumn
|
188
188
|
? html` <ox-card-field
|
189
189
|
thumbnail
|
@@ -216,46 +216,44 @@ export class RecordCard extends LitElement {
|
|
216
216
|
></ox-card-gutter>
|
217
217
|
`
|
218
218
|
: gutters.length > 2
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
219
|
+
? html`
|
220
|
+
<ox-card-gutter-menu
|
221
|
+
.gutters=${gutters}
|
222
|
+
.rowIndex=${rowIndex}
|
223
|
+
.record=${record}
|
224
|
+
.clickHandler=${this.clickHandler}
|
225
|
+
.dblclickHandler=${this.dblclickHandler}
|
226
|
+
></ox-card-gutter-menu>
|
227
|
+
`
|
228
|
+
: html``}
|
229
229
|
</div>
|
230
230
|
|
231
231
|
<div brief>
|
232
232
|
${briefFields.map(
|
233
|
-
(column, idx) =>
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
`
|
233
|
+
(column, idx) => html`
|
234
|
+
<ox-card-field
|
235
|
+
.rowIndex=${rowIndex}
|
236
|
+
.column=${column}
|
237
|
+
.record=${record}
|
238
|
+
.value=${record[column?.name || '']}
|
239
|
+
?name=${idx == 0}
|
240
|
+
?desc=${idx == 1}
|
241
|
+
></ox-card-field>
|
242
|
+
`
|
244
243
|
)}
|
245
244
|
</div>
|
246
245
|
${detailFields.length > 0
|
247
246
|
? html`
|
248
247
|
<div detail>
|
249
248
|
${detailFields.map(
|
250
|
-
(column, idx) =>
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
`
|
249
|
+
(column, idx) => html`
|
250
|
+
<ox-card-field
|
251
|
+
.rowIndex=${rowIndex}
|
252
|
+
.column=${column}
|
253
|
+
.record=${record}
|
254
|
+
.value=${record[column?.name || '']}
|
255
|
+
></ox-card-field>
|
256
|
+
`
|
259
257
|
)}
|
260
258
|
</div>
|
261
259
|
`
|
@@ -47,6 +47,10 @@ export class DataGridAccumField extends LitElement {
|
|
47
47
|
flex: none;
|
48
48
|
margin: 0 auto;
|
49
49
|
}
|
50
|
+
|
51
|
+
md-icon {
|
52
|
+
font-size: 1.5em;
|
53
|
+
}
|
50
54
|
`
|
51
55
|
]
|
52
56
|
|
@@ -62,7 +66,7 @@ export class DataGridAccumField extends LitElement {
|
|
62
66
|
|
63
67
|
render(): TemplateResult {
|
64
68
|
if (!this.column || !this.column.accumulator) {
|
65
|
-
return this.columnIndex == 0 ? html`<
|
69
|
+
return this.columnIndex == 0 ? html`<md-icon>functions</md-icon>` : html`${nothing}`
|
66
70
|
}
|
67
71
|
|
68
72
|
var { value, column, record, rowIndex } = this
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import '@material/
|
1
|
+
import '@material/web/icon/icon.js'
|
2
2
|
|
3
3
|
import { css, html, LitElement } from 'lit'
|
4
4
|
import { customElement, property } from 'lit/decorators.js'
|
@@ -14,17 +14,18 @@ export class DataGridFooter extends LitElement {
|
|
14
14
|
:host {
|
15
15
|
display: flex;
|
16
16
|
flex-direction: row;
|
17
|
+
gap: 4px;
|
17
18
|
overflow: hidden;
|
18
19
|
|
19
20
|
padding: var(--grid-footer-padding);
|
20
21
|
background-color: var(--grid-footer-background-color);
|
21
22
|
font-size: var(--grid-footer-font-size);
|
23
|
+
align-items: center;
|
22
24
|
}
|
23
25
|
|
24
26
|
:host * {
|
25
27
|
white-space: nowrap;
|
26
28
|
overflow: hidden;
|
27
|
-
padding: 0 2px;
|
28
29
|
|
29
30
|
text-overflow: ellipsis;
|
30
31
|
text-align: center;
|
@@ -35,11 +36,18 @@ export class DataGridFooter extends LitElement {
|
|
35
36
|
flex: 1;
|
36
37
|
}
|
37
38
|
|
38
|
-
|
39
|
+
md-icon {
|
39
40
|
font-size: 1.5em;
|
40
41
|
vertical-align: middle;
|
41
42
|
}
|
42
43
|
|
44
|
+
.limit {
|
45
|
+
display: flex;
|
46
|
+
flex-direction: row;
|
47
|
+
gap: 6px;
|
48
|
+
align-items: center;
|
49
|
+
}
|
50
|
+
|
43
51
|
.limit a {
|
44
52
|
color: var(--grid-footer-limit-color);
|
45
53
|
}
|
@@ -82,20 +90,19 @@ export class DataGridFooter extends LitElement {
|
|
82
90
|
var totalPage = Math.max(1, Math.ceil(total / limit))
|
83
91
|
|
84
92
|
return html`
|
85
|
-
<a ?inactive=${page <= 1} @click=${() => this._gotoPage(1)}><
|
86
|
-
<a ?inactive=${page <= 1} @click=${() => this._gotoPage(page - 1)}><
|
93
|
+
<a ?inactive=${page <= 1} @click=${() => this._gotoPage(1)}><md-icon>skip_previous</md-icon></a>
|
94
|
+
<a ?inactive=${page <= 1} @click=${() => this._gotoPage(page - 1)}><md-icon>navigate_before</md-icon></a>
|
87
95
|
<span>page <strong>${page}</strong> / ${totalPage}</span>
|
88
|
-
<a ?inactive=${page >= totalPage} @click=${() => this._gotoPage(page + 1)}><
|
89
|
-
<a ?inactive=${page >= totalPage} @click=${() => this._gotoPage(totalPage)}><
|
96
|
+
<a ?inactive=${page >= totalPage} @click=${() => this._gotoPage(page + 1)}><md-icon>navigate_next</md-icon></a>
|
97
|
+
<a ?inactive=${page >= totalPage} @click=${() => this._gotoPage(totalPage)}><md-icon>skip_next</md-icon></a>
|
90
98
|
|
91
99
|
<span class="filler"></span>
|
92
100
|
|
93
101
|
<span class="limit">
|
94
102
|
${pages.map(
|
95
|
-
size =>
|
96
|
-
|
97
|
-
|
98
|
-
`
|
103
|
+
size => html`
|
104
|
+
<a ?selected=${limit == size} @click=${() => this._changeLimit(size)}>${stringifyBigNumber(size)}</a>
|
105
|
+
`
|
99
106
|
)}
|
100
107
|
records
|
101
108
|
</span>
|
@@ -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'
|
@@ -62,7 +62,7 @@ export class DataGridHeader extends LitElement {
|
|
62
62
|
align-self: center;
|
63
63
|
}
|
64
64
|
|
65
|
-
span[for-title]
|
65
|
+
span[for-title] md-icon {
|
66
66
|
font-size: var(--grid-record-fontsize);
|
67
67
|
}
|
68
68
|
|
@@ -75,11 +75,11 @@ export class DataGridHeader extends LitElement {
|
|
75
75
|
border: 0;
|
76
76
|
}
|
77
77
|
|
78
|
-
span[sorter]
|
78
|
+
span[sorter] md-icon {
|
79
79
|
font-size: var(--grid-header-sorter-size);
|
80
80
|
}
|
81
81
|
|
82
|
-
span[filter] >
|
82
|
+
span[filter] > md-icon {
|
83
83
|
font-size: var(--fontsize-default);
|
84
84
|
line-height: 20px;
|
85
85
|
}
|
@@ -104,7 +104,7 @@ export class DataGridHeader extends LitElement {
|
|
104
104
|
vertical-align: middle;
|
105
105
|
}
|
106
106
|
|
107
|
-
[filter-title]
|
107
|
+
[filter-title] md-icon {
|
108
108
|
opacity: 0.7;
|
109
109
|
color: var(--grid-header-filter-title-icon-color);
|
110
110
|
}
|
@@ -363,12 +363,10 @@ export class DataGridHeader extends LitElement {
|
|
363
363
|
if (sorters.length > 1) {
|
364
364
|
var rank = sorters.indexOf(sorter) + 1
|
365
365
|
return sorter.desc
|
366
|
-
? html` <
|
367
|
-
: html` <
|
366
|
+
? html` <md-icon>keyboard_arrow_down</md-icon><sub>${rank}</sub> `
|
367
|
+
: html` <md-icon>keyboard_arrow_up</md-icon><sub>${rank}</sub> `
|
368
368
|
} else {
|
369
|
-
return sorter.desc
|
370
|
-
? html` <mwc-icon>keyboard_arrow_down</mwc-icon> `
|
371
|
-
: html` <mwc-icon>keyboard_arrow_up</mwc-icon> `
|
369
|
+
return sorter.desc ? html` <md-icon>keyboard_arrow_down</md-icon> ` : html` <md-icon>keyboard_arrow_up</md-icon> `
|
372
370
|
}
|
373
371
|
}
|
374
372
|
|
@@ -381,7 +379,7 @@ export class DataGridHeader extends LitElement {
|
|
381
379
|
const renderer = getFilterRenderer(type)[idx]
|
382
380
|
|
383
381
|
return html`
|
384
|
-
<
|
382
|
+
<md-icon
|
385
383
|
@click=${(e: Event) => {
|
386
384
|
const parent = (e.target as HTMLElement).closest('[column]') as HTMLElement
|
387
385
|
const popup = parent.querySelector('ox-popup, ox-popup-list') as OxPopup | null
|
@@ -398,14 +396,14 @@ export class DataGridHeader extends LitElement {
|
|
398
396
|
top
|
399
397
|
})
|
400
398
|
}}
|
401
|
-
>filter_alt</
|
399
|
+
>filter_alt</md-icon
|
402
400
|
>
|
403
401
|
|
404
402
|
${!renderer
|
405
403
|
? html``
|
406
404
|
: type !== 'select'
|
407
405
|
? html` <ox-popup
|
408
|
-
><div filter-title><
|
406
|
+
><div filter-title><md-icon>filter_alt</md-icon> filter by <strong>${column.name}</strong></div>
|
409
407
|
${renderer(column, value, this)}</ox-popup
|
410
408
|
>`
|
411
409
|
: filter!.operator === 'in'
|
@@ -431,7 +429,7 @@ export class DataGridHeader extends LitElement {
|
|
431
429
|
})
|
432
430
|
)}
|
433
431
|
><div filter-title slot="header">
|
434
|
-
<
|
432
|
+
<md-icon>filter_alt</md-icon> filter by <strong>${column.name}</strong>
|
435
433
|
</div>
|
436
434
|
${renderer(column, value, this)}</ox-popup-list
|
437
435
|
>`
|
@@ -451,7 +449,7 @@ export class DataGridHeader extends LitElement {
|
|
451
449
|
})
|
452
450
|
)}
|
453
451
|
><div filter-title slot="header">
|
454
|
-
<
|
452
|
+
<md-icon>filter_alt</md-icon> filter by <strong>${column.name}</strong>
|
455
453
|
</div>
|
456
454
|
${renderer(column, value, this)}</ox-popup-list
|
457
455
|
>`}
|
package/src/data-grist.ts
CHANGED
@@ -59,7 +59,7 @@ export class DataGrist extends LitElement implements DataConsumer {
|
|
59
59
|
|
60
60
|
padding: var(--ox-grist-padding);
|
61
61
|
|
62
|
-
--
|
62
|
+
--md-icon-size: var(--grid-record-wide-fontsize);
|
63
63
|
}
|
64
64
|
|
65
65
|
#wrap {
|
@@ -404,28 +404,28 @@ export class DataGrist extends LitElement implements DataConsumer {
|
|
404
404
|
</ox-grid>
|
405
405
|
`
|
406
406
|
: this.mode == 'CARD'
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
407
|
+
? html`
|
408
|
+
<ox-card
|
409
|
+
id="grist"
|
410
|
+
.config=${this.compiledConfig}
|
411
|
+
.data=${this._data}
|
412
|
+
.sorters=${this.sorters || []}
|
413
|
+
.filters=${this.filters || []}
|
414
|
+
?empty=${empty}
|
415
|
+
>
|
416
|
+
</ox-card>
|
417
|
+
`
|
418
|
+
: html`
|
419
|
+
<ox-list
|
420
|
+
id="grist"
|
421
|
+
.config=${this.compiledConfig}
|
422
|
+
.data=${this._data}
|
423
|
+
.sorters=${this.sorters || []}
|
424
|
+
.filters=${this.filters || []}
|
425
|
+
?empty=${empty}
|
426
|
+
>
|
427
|
+
</ox-list>
|
428
|
+
`}
|
429
429
|
</div>
|
430
430
|
|
431
431
|
<div id="spinner" ?show=${this._showSpinner}></div>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import '@material/
|
1
|
+
import '@material/web/icon/icon.js'
|
2
2
|
import './record-partial'
|
3
3
|
|
4
4
|
import { css, html, PropertyValues } from 'lit'
|
@@ -25,7 +25,7 @@ export class DataList extends DataManipulator {
|
|
25
25
|
}
|
26
26
|
|
27
27
|
#upward {
|
28
|
-
--
|
28
|
+
--md-icon-size: 26px;
|
29
29
|
position: absolute;
|
30
30
|
top: var(--data-list-fab-position-vertical);
|
31
31
|
right: var(--data-list-fab-position-horizontal);
|
@@ -118,7 +118,7 @@ export class DataList extends DataManipulator {
|
|
118
118
|
${this.empty ? html` <ox-empty-note title="NO RECORDS"></ox-empty-note> ` : html``}
|
119
119
|
${this.isTop
|
120
120
|
? html``
|
121
|
-
: html` <
|
121
|
+
: html` <md-icon id="upward" @click=${(e: Event) => this.gotoTop(e)}>arrow_upward</md-icon> `}
|
122
122
|
`
|
123
123
|
}
|
124
124
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import '@material/
|
1
|
+
import '@material/web/icon/icon.js'
|
2
2
|
import './data-list-gutter'
|
3
3
|
import './data-list-field'
|
4
4
|
import '../record-view'
|
@@ -169,33 +169,31 @@ export class RecordPartial extends LitElement {
|
|
169
169
|
}
|
170
170
|
|
171
171
|
return html`
|
172
|
-
${dirtyIcon ? html` <
|
172
|
+
${dirtyIcon ? html` <md-icon dirty>${dirtyIcon}</md-icon> ` : html``}
|
173
173
|
${gutters.map(
|
174
|
-
gutter =>
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
`
|
174
|
+
gutter => html`
|
175
|
+
<ox-list-gutter
|
176
|
+
class=${gutter.name === 'detail' ? 'expand' : ''}
|
177
|
+
.rowIndex=${rowIndex}
|
178
|
+
.column=${gutter}
|
179
|
+
.record=${record}
|
180
|
+
.value=${record[gutter.name]}
|
181
|
+
></ox-list-gutter>
|
182
|
+
`
|
184
183
|
)}
|
185
184
|
|
186
185
|
<div content>
|
187
186
|
${displayColumns.map(
|
188
|
-
(column, idx) =>
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
`
|
187
|
+
(column, idx) => html`
|
188
|
+
<ox-list-field
|
189
|
+
.rowIndex=${rowIndex}
|
190
|
+
.column=${column}
|
191
|
+
.record=${record}
|
192
|
+
.value=${record[column?.name || '']}
|
193
|
+
?name=${idx == 0}
|
194
|
+
?desc=${idx == 1}
|
195
|
+
></ox-list-field>
|
196
|
+
`
|
199
197
|
)}
|
200
198
|
</div>
|
201
199
|
${thumbnail
|
package/src/empty-note.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import '@material/
|
1
|
+
import '@material/web/icon/icon.js'
|
2
2
|
|
3
3
|
import { LitElement, css, html } from 'lit'
|
4
4
|
import { customElement, property } from 'lit/decorators.js'
|
@@ -11,7 +11,7 @@ export class EmptyNote extends LitElement {
|
|
11
11
|
text-align: center;
|
12
12
|
}
|
13
13
|
|
14
|
-
|
14
|
+
md-icon {
|
15
15
|
font: var(--oops-note-icon-font);
|
16
16
|
color: var(--oops-note-icon-color);
|
17
17
|
border: var(--oops-note-icon-border);
|
@@ -38,7 +38,7 @@ export class EmptyNote extends LitElement {
|
|
38
38
|
|
39
39
|
render() {
|
40
40
|
return html`
|
41
|
-
${this.icon ? html`<
|
41
|
+
${this.icon ? html`<md-icon>${this.icon}</md-icon>` : html``}
|
42
42
|
<div titler>${this.title}</div>
|
43
43
|
${this.description ? html`<div description>${this.description}</div>` : html``}
|
44
44
|
`
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import '@material/
|
1
|
+
import '@material/web/icon/icon.js'
|
2
2
|
|
3
3
|
import { html } from 'lit'
|
4
4
|
|
@@ -23,13 +23,13 @@ export class GutterButton {
|
|
23
23
|
sortable: false,
|
24
24
|
header: {
|
25
25
|
renderer: function (column) {
|
26
|
-
return html` <
|
26
|
+
return html` <md-icon style=${inlineHeaderStyle} title=${title}>${iconFn()}</md-icon> `
|
27
27
|
} as HeaderRenderer
|
28
28
|
},
|
29
29
|
record: {
|
30
30
|
align: 'center',
|
31
31
|
renderer: function (value, column, record, rowIndex, field) {
|
32
|
-
return html` <
|
32
|
+
return html` <md-icon style=${inlineRecordStyle} title=${title}>${iconFn(record)}</md-icon> `
|
33
33
|
} as FieldRenderer
|
34
34
|
},
|
35
35
|
forGrid: true,
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import '@material/
|
1
|
+
import '@material/web/icon/icon.js'
|
2
2
|
|
3
3
|
import { css, html, LitElement } from 'lit'
|
4
4
|
import { customElement, property } from 'lit/decorators.js'
|
@@ -13,7 +13,7 @@ class GutterDirtyElement extends LitElement {
|
|
13
13
|
margin: auto;
|
14
14
|
}
|
15
15
|
|
16
|
-
|
16
|
+
md-icon {
|
17
17
|
width: var(--grid-record-dirty-icon-size);
|
18
18
|
height: var(--grid-record-dirty-icon-size);
|
19
19
|
border-radius: 50%;
|
@@ -38,11 +38,11 @@ class GutterDirtyElement extends LitElement {
|
|
38
38
|
render() {
|
39
39
|
switch (this.value) {
|
40
40
|
case '+':
|
41
|
-
return html` <
|
41
|
+
return html` <md-icon style=${INLINESTYLE} center add>add</md-icon> `
|
42
42
|
case '-':
|
43
|
-
return html` <
|
43
|
+
return html` <md-icon style=${INLINESTYLE} center remove>remove</md-icon> `
|
44
44
|
case 'M':
|
45
|
-
return html` <
|
45
|
+
return html` <md-icon style=${INLINESTYLE} center done>done</md-icon> `
|
46
46
|
default:
|
47
47
|
return ''
|
48
48
|
}
|
@@ -42,7 +42,7 @@ export const ContextMenuTreeMutation = function (
|
|
42
42
|
dispatchEvent(field, 'add-sibling-node')
|
43
43
|
}}
|
44
44
|
>
|
45
|
-
<
|
45
|
+
<md-icon slot="icon">add</md-icon>
|
46
46
|
</ox-popup-menuitem>
|
47
47
|
|
48
48
|
<ox-popup-menuitem
|
@@ -51,7 +51,7 @@ export const ContextMenuTreeMutation = function (
|
|
51
51
|
dispatchEvent(field, 'add-child-node')
|
52
52
|
}}
|
53
53
|
>
|
54
|
-
<
|
54
|
+
<md-icon slot="icon">playlist_add</md-icon>
|
55
55
|
</ox-popup-menuitem>
|
56
56
|
|
57
57
|
<div separator></div>
|
@@ -62,7 +62,7 @@ export const ContextMenuTreeMutation = function (
|
|
62
62
|
dispatchEvent(field, 'collapse-all')
|
63
63
|
}}
|
64
64
|
>
|
65
|
-
<
|
65
|
+
<md-icon slot="icon">unfold_less</md-icon>
|
66
66
|
</ox-popup-menuitem>
|
67
67
|
|
68
68
|
<ox-popup-menuitem
|
@@ -71,7 +71,7 @@ export const ContextMenuTreeMutation = function (
|
|
71
71
|
dispatchEvent(field, 'expand-all')
|
72
72
|
}}
|
73
73
|
>
|
74
|
-
<
|
74
|
+
<md-icon slot="icon">unfold_more</md-icon>
|
75
75
|
</ox-popup-menuitem>
|
76
76
|
`,
|
77
77
|
top: e.pageY,
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import '@material/
|
1
|
+
import '@material/web/icon/icon.js'
|
2
2
|
import '../data-grid/data-grid-field'
|
3
3
|
|
4
4
|
import { css, html, LitElement } from 'lit'
|
@@ -34,7 +34,7 @@ export class RecordViewBody extends LitElement {
|
|
34
34
|
color: var(--record-view-label-color);
|
35
35
|
}
|
36
36
|
|
37
|
-
label
|
37
|
+
label md-icon {
|
38
38
|
display: none;
|
39
39
|
}
|
40
40
|
|
@@ -43,7 +43,7 @@ export class RecordViewBody extends LitElement {
|
|
43
43
|
font-weight: bold;
|
44
44
|
}
|
45
45
|
|
46
|
-
label[editable]
|
46
|
+
label[editable] md-icon {
|
47
47
|
display: inline-block;
|
48
48
|
font-size: var(--record-view-label-icon-size);
|
49
49
|
opacity: 0.5;
|
@@ -99,7 +99,7 @@ export class RecordViewBody extends LitElement {
|
|
99
99
|
|
100
100
|
return html`
|
101
101
|
<label ?editable=${editable}
|
102
|
-
><span>${mandatory ? '*' : ''}${this._renderLabel(column)}</span> <
|
102
|
+
><span>${mandatory ? '*' : ''}${this._renderLabel(column)}</span> <md-icon>edit</md-icon></label
|
103
103
|
>
|
104
104
|
<ox-grid-field
|
105
105
|
.rowIndex=${rowIndex}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import '@material/
|
1
|
+
import '@material/web/icon/icon.js'
|
2
2
|
import './record-view-body'
|
3
3
|
import '@operato/input/ox-input-file.js'
|
4
4
|
import '../data-grid/data-grid-field'
|
@@ -53,7 +53,7 @@ export class RecordView extends LitElement {
|
|
53
53
|
vertical-align: middle;
|
54
54
|
}
|
55
55
|
|
56
|
-
[footer] button
|
56
|
+
[footer] button md-icon {
|
57
57
|
margin-top: -3px;
|
58
58
|
margin-right: 5px;
|
59
59
|
font-size: var(--record-view-footer-iconbutton-size);
|
@@ -74,9 +74,9 @@ export class RecordView extends LitElement {
|
|
74
74
|
<ox-record-view-body .columns=${this.columns} .record=${this.record} .rowIndex=${this.rowIndex}>
|
75
75
|
</ox-record-view-body>
|
76
76
|
<div footer>
|
77
|
-
<button @click=${this.onReset.bind(this)}><
|
78
|
-
<button @click=${this.onCancel.bind(this)}><
|
79
|
-
<button @click=${this.onOK.bind(this)} ok><
|
77
|
+
<button @click=${this.onReset.bind(this)}><md-icon>refresh</md-icon><span>Reset</span></button>
|
78
|
+
<button @click=${this.onCancel.bind(this)}><md-icon>clear</md-icon><span>Cancel</span></button>
|
79
|
+
<button @click=${this.onOK.bind(this)} ok><md-icon>radio_button_unchecked</md-icon><span>OK</span></button>
|
80
80
|
</div>
|
81
81
|
`
|
82
82
|
}
|
@@ -29,9 +29,9 @@ export class SortersControl extends LitElement {
|
|
29
29
|
text-transform: capitalize;
|
30
30
|
user-select: none;
|
31
31
|
}
|
32
|
-
[option]
|
32
|
+
[option] md-icon {
|
33
33
|
margin-left: var(--margin-default);
|
34
|
-
--
|
34
|
+
--md-icon-size: var(--fontsize-large);
|
35
35
|
color: var(--primary-color);
|
36
36
|
}
|
37
37
|
[option] sub {
|
@@ -99,7 +99,7 @@ export class SortersControl extends LitElement {
|
|
99
99
|
${desc === null
|
100
100
|
? html``
|
101
101
|
: html`
|
102
|
-
<
|
102
|
+
<md-icon>${desc ? 'keyboard_arrow_down' : 'keyboard_arrow_up'}</md-icon>
|
103
103
|
${rank === 0 ? html`` : html`<sub>${rank}</sub>`}
|
104
104
|
`}
|
105
105
|
</div>
|