@things-factory/dataset 7.0.1-alpha.5 → 7.0.1-alpha.50

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.
Files changed (95) hide show
  1. package/client/activities/activity-ooc-resolve-edit.ts +3 -3
  2. package/client/activities/activity-ooc-review-edit.ts +3 -2
  3. package/client/components/data-entry-form.ts +6 -13
  4. package/client/pages/data-archive/data-archive-list-page.ts +5 -17
  5. package/client/pages/data-archive/data-archive-request-popup.ts +6 -9
  6. package/client/pages/data-entry/data-entry-list-page.ts +2 -4
  7. package/client/pages/data-key-set/data-key-item-list.ts +8 -22
  8. package/client/pages/data-key-set/data-key-set-importer.ts +4 -11
  9. package/client/pages/data-key-set/data-key-set-list-page.ts +6 -5
  10. package/client/pages/data-ooc/data-ooc-list-page.ts +2 -4
  11. package/client/pages/data-ooc/data-ooc-view.ts +7 -6
  12. package/client/pages/data-report/data-report-list-page.ts +9 -27
  13. package/client/pages/data-sample/data-sample-list-page.ts +2 -4
  14. package/client/pages/data-sample/data-sample-search-page.ts +2 -4
  15. package/client/pages/data-sample/data-sample-view.ts +7 -5
  16. package/client/pages/data-sensor/data-sensor-list-page.ts +6 -14
  17. package/client/pages/data-set/data-item-list.ts +7 -15
  18. package/client/pages/data-set/data-set-importer.ts +5 -17
  19. package/client/pages/data-set/data-set-list-page.ts +6 -5
  20. package/client/pages/data-summary/data-summary-list-page.ts +8 -9
  21. package/client/pages/data-summary/data-summary-period-page.ts +5 -23
  22. package/client/pages/data-summary/data-summary-search-page.ts +11 -34
  23. package/dist-client/activities/activity-ooc-resolve-edit.d.ts +1 -0
  24. package/dist-client/activities/activity-ooc-resolve-edit.js +3 -3
  25. package/dist-client/activities/activity-ooc-resolve-edit.js.map +1 -1
  26. package/dist-client/activities/activity-ooc-review-edit.d.ts +1 -0
  27. package/dist-client/activities/activity-ooc-review-edit.js +3 -2
  28. package/dist-client/activities/activity-ooc-review-edit.js.map +1 -1
  29. package/dist-client/components/data-entry-form.d.ts +1 -0
  30. package/dist-client/components/data-entry-form.js +5 -10
  31. package/dist-client/components/data-entry-form.js.map +1 -1
  32. package/dist-client/pages/data-archive/data-archive-list-page.d.ts +1 -0
  33. package/dist-client/pages/data-archive/data-archive-list-page.js +5 -17
  34. package/dist-client/pages/data-archive/data-archive-list-page.js.map +1 -1
  35. package/dist-client/pages/data-archive/data-archive-request-popup.d.ts +1 -1
  36. package/dist-client/pages/data-archive/data-archive-request-popup.js +5 -9
  37. package/dist-client/pages/data-archive/data-archive-request-popup.js.map +1 -1
  38. package/dist-client/pages/data-entry/data-entry-list-page.d.ts +1 -0
  39. package/dist-client/pages/data-entry/data-entry-list-page.js +2 -4
  40. package/dist-client/pages/data-entry/data-entry-list-page.js.map +1 -1
  41. package/dist-client/pages/data-key-set/data-key-item-list.d.ts +1 -0
  42. package/dist-client/pages/data-key-set/data-key-item-list.js +7 -22
  43. package/dist-client/pages/data-key-set/data-key-item-list.js.map +1 -1
  44. package/dist-client/pages/data-key-set/data-key-set-importer.d.ts +1 -0
  45. package/dist-client/pages/data-key-set/data-key-set-importer.js +4 -11
  46. package/dist-client/pages/data-key-set/data-key-set-importer.js.map +1 -1
  47. package/dist-client/pages/data-key-set/data-key-set-list-page.d.ts +11 -2
  48. package/dist-client/pages/data-key-set/data-key-set-list-page.js +6 -5
  49. package/dist-client/pages/data-key-set/data-key-set-list-page.js.map +1 -1
  50. package/dist-client/pages/data-ooc/data-ooc-list-page.d.ts +1 -0
  51. package/dist-client/pages/data-ooc/data-ooc-list-page.js +2 -4
  52. package/dist-client/pages/data-ooc/data-ooc-list-page.js.map +1 -1
  53. package/dist-client/pages/data-ooc/data-ooc-view.d.ts +2 -1
  54. package/dist-client/pages/data-ooc/data-ooc-view.js +7 -6
  55. package/dist-client/pages/data-ooc/data-ooc-view.js.map +1 -1
  56. package/dist-client/pages/data-report/data-report-list-page.d.ts +1 -0
  57. package/dist-client/pages/data-report/data-report-list-page.js +4 -19
  58. package/dist-client/pages/data-report/data-report-list-page.js.map +1 -1
  59. package/dist-client/pages/data-sample/data-sample-list-page.d.ts +1 -0
  60. package/dist-client/pages/data-sample/data-sample-list-page.js +2 -4
  61. package/dist-client/pages/data-sample/data-sample-list-page.js.map +1 -1
  62. package/dist-client/pages/data-sample/data-sample-search-page.d.ts +1 -0
  63. package/dist-client/pages/data-sample/data-sample-search-page.js +2 -4
  64. package/dist-client/pages/data-sample/data-sample-search-page.js.map +1 -1
  65. package/dist-client/pages/data-sample/data-sample-view.d.ts +2 -0
  66. package/dist-client/pages/data-sample/data-sample-view.js +7 -5
  67. package/dist-client/pages/data-sample/data-sample-view.js.map +1 -1
  68. package/dist-client/pages/data-sensor/data-sensor-list-page.d.ts +11 -2
  69. package/dist-client/pages/data-sensor/data-sensor-list-page.js +6 -14
  70. package/dist-client/pages/data-sensor/data-sensor-list-page.js.map +1 -1
  71. package/dist-client/pages/data-set/data-item-list.d.ts +1 -1
  72. package/dist-client/pages/data-set/data-item-list.js +6 -15
  73. package/dist-client/pages/data-set/data-item-list.js.map +1 -1
  74. package/dist-client/pages/data-set/data-set-importer.d.ts +1 -0
  75. package/dist-client/pages/data-set/data-set-importer.js +5 -16
  76. package/dist-client/pages/data-set/data-set-importer.js.map +1 -1
  77. package/dist-client/pages/data-set/data-set-list-page.d.ts +11 -2
  78. package/dist-client/pages/data-set/data-set-list-page.js +6 -5
  79. package/dist-client/pages/data-set/data-set-list-page.js.map +1 -1
  80. package/dist-client/pages/data-summary/data-summary-list-page.d.ts +1 -0
  81. package/dist-client/pages/data-summary/data-summary-list-page.js +8 -9
  82. package/dist-client/pages/data-summary/data-summary-list-page.js.map +1 -1
  83. package/dist-client/pages/data-summary/data-summary-period-page.d.ts +1 -0
  84. package/dist-client/pages/data-summary/data-summary-period-page.js +5 -23
  85. package/dist-client/pages/data-summary/data-summary-period-page.js.map +1 -1
  86. package/dist-client/pages/data-summary/data-summary-search-page.d.ts +1 -0
  87. package/dist-client/pages/data-summary/data-summary-search-page.js +6 -18
  88. package/dist-client/pages/data-summary/data-summary-search-page.js.map +1 -1
  89. package/dist-client/tsconfig.tsbuildinfo +1 -1
  90. package/dist-server/controllers/create-data-sample.js +1 -1
  91. package/dist-server/controllers/create-data-sample.js.map +1 -1
  92. package/dist-server/tsconfig.tsbuildinfo +1 -1
  93. package/helps/dataset/data-sensor.md +3 -0
  94. package/package.json +12 -14
  95. package/server/controllers/create-data-sample.ts +1 -1
@@ -1,5 +1,5 @@
1
+ import '@material/web/icon/icon.js'
1
2
  import '@operato/dataset/ox-data-ooc-brief-view.js'
2
- // import '@operato/dataset/ox-data-ooc-correction-part.js'
3
3
 
4
4
  import gql from 'graphql-tag'
5
5
  import { css, html, LitElement, nothing } from 'lit'
@@ -51,7 +51,7 @@ class OocResolveActivityEdit extends localize(i18next)(LitElement) {
51
51
  align-items: center;
52
52
  }
53
53
 
54
- mwc-icon {
54
+ md-icon {
55
55
  color: var(--status-danger-color);
56
56
  }
57
57
 
@@ -92,7 +92,7 @@ class OocResolveActivityEdit extends localize(i18next)(LitElement) {
92
92
  ${editable
93
93
  ? html`
94
94
  <label action>
95
- <h2><mwc-icon>build_circle</mwc-icon>&nbsp;<span>${i18next.t('label.corrective action')}</span></h2>
95
+ <h2><md-icon>build_circle</md-icon>&nbsp;<span>${i18next.t('label.corrective action')}</span></h2>
96
96
  <textarea placeholder=${String(i18next.t('text.corrective action placeholder'))} .value=${action || ''} @change=${this.onChangeAction}></textarea>
97
97
  </label>
98
98
  `
@@ -1,3 +1,4 @@
1
+ import '@material/web/icon/icon.js'
1
2
  import '@operato/dataset/ox-data-sample-view.js'
2
3
 
3
4
  import gql from 'graphql-tag'
@@ -54,7 +55,7 @@ class OocReviewActivityEdit extends localize(i18next)(LitElement) {
54
55
  font: var(--input-field-font);
55
56
  }
56
57
 
57
- mwc-icon {
58
+ md-icon {
58
59
  color: var(--status-danger-color);
59
60
  }
60
61
 
@@ -90,7 +91,7 @@ class OocReviewActivityEdit extends localize(i18next)(LitElement) {
90
91
  </div>
91
92
 
92
93
  <label instruction>
93
- <h2><mwc-icon>build_circle</mwc-icon>&nbsp;<span>${i18next.t('label.corrective instruction')}</span></h2>
94
+ <h2><md-icon>build_circle</md-icon>&nbsp;<span>${i18next.t('label.corrective instruction')}</span></h2>
94
95
  ${editable
95
96
  ? html`
96
97
  <textarea
@@ -1,3 +1,4 @@
1
+ import '@material/web/icon/icon.js'
1
2
  import '@operato/dataset/ox-data-entry-form.js'
2
3
 
3
4
  import gql from 'graphql-tag'
@@ -6,13 +7,14 @@ import { customElement, property, query, state } from 'lit/decorators.js'
6
7
 
7
8
  import { client } from '@operato/graphql'
8
9
  import { i18next, localize } from '@operato/i18n'
9
- import { ScrollbarStyles } from '@operato/styles'
10
+ import { ButtonContainerStyles, ScrollbarStyles } from '@operato/styles'
10
11
  import { OxDataEntryForm } from '@operato/dataset/ox-data-entry-form.js'
11
12
  import { DataSet } from '@operato/dataset'
12
13
 
13
14
  @customElement('data-entry-form')
14
15
  export class DataEntryForm extends localize(i18next)(LitElement) {
15
16
  static styles = [
17
+ ButtonContainerStyles,
16
18
  ScrollbarStyles,
17
19
  css`
18
20
  :host {
@@ -28,12 +30,6 @@ export class DataEntryForm extends localize(i18next)(LitElement) {
28
30
  overflow: auto;
29
31
  }
30
32
 
31
- .button-container {
32
- display: flex;
33
- margin-left: auto;
34
- padding: var(--padding-default);
35
- }
36
-
37
33
  .button-container span {
38
34
  font-size: 14px;
39
35
  color: #333;
@@ -52,11 +48,10 @@ export class DataEntryForm extends localize(i18next)(LitElement) {
52
48
  render() {
53
49
  return html`
54
50
  <ox-data-entry-form .dataSet=${this.dataSet}></ox-data-entry-form>
51
+
55
52
  <div class="button-container">
56
53
  ${!this.dataSample
57
- ? html`
58
- <mwc-button raised @click=${this.updateDataItems.bind(this)}>${i18next.t('button.save')}</mwc-button>
59
- `
54
+ ? html` <button @click=${this.updateDataItems.bind(this)}><md-icon>save</md-icon>${i18next.t('button.save')}</button> `
60
55
  : html` <span>${i18next.t('field.collected-at')}: ${this.dataSample.collectedAt.toLocaleString()}</span> `}
61
56
  </div>
62
57
  `
@@ -101,9 +96,7 @@ export class DataEntryForm extends localize(i18next)(LitElement) {
101
96
  collectedAt: new Date(collectedAt)
102
97
  }
103
98
 
104
- document.dispatchEvent(
105
- new CustomEvent('notify', { detail: { message: i18next.t('text.data sample created successfully') } })
106
- )
99
+ document.dispatchEvent(new CustomEvent('notify', { detail: { message: i18next.t('text.data sample created successfully') } }))
107
100
  }
108
101
  }
109
102
  }
@@ -1,3 +1,4 @@
1
+ import '@material/web/icon/icon.js'
1
2
  import '@operato/data-grist'
2
3
  import '@operato/context/ox-context-page-toolbar.js'
3
4
 
@@ -77,17 +78,9 @@ export class DataArchiveListPage extends connect(store)(localize(i18next)(PageVi
77
78
  const mode = this.mode || (isMobileDevice() ? 'LIST' : 'GRID')
78
79
 
79
80
  return html`
80
- <ox-grist
81
- .mode=${mode}
82
- .config=${this.gristConfig}
83
- .fetchHandler=${this.fetchHandler.bind(this)}
84
- ?url-params-sensitive=${false /* this.active */}
85
- >
81
+ <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)} ?url-params-sensitive=${false /* this.active */}>
86
82
  <div slot="headroom" class="header">
87
- <div class="title">
88
- <mwc-icon>summarize</mwc-icon>
89
- ${i18next.t('title.data-archive list')}
90
- </div>
83
+ <div class="title">${i18next.t('title.data-archive list')}</div>
91
84
 
92
85
  <!-- <div class="filters">
93
86
  <ox-filters-form class="filter" autofocus without-search></ox-filters-form>
@@ -185,10 +178,7 @@ export class DataArchiveListPage extends connect(store)(localize(i18next)(PageVi
185
178
 
186
179
  async openArchivePopup() {
187
180
  this.popup = openPopup(
188
- html` <data-archive-request-popup
189
- @requested=${this.closePopupAndRefesh.bind(this)}
190
- @created=${this.closePopupAndRefesh.bind(this)}
191
- ></data-archive-request-popup>`,
181
+ html` <data-archive-request-popup @requested=${this.closePopupAndRefesh.bind(this)} @created=${this.closePopupAndRefesh.bind(this)}></data-archive-request-popup>`,
192
182
  {
193
183
  backdrop: true,
194
184
  size: 'small',
@@ -264,9 +254,7 @@ export class DataArchiveListPage extends connect(store)(localize(i18next)(PageVi
264
254
  .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)
265
255
  .reduce((record, column) => {
266
256
  const key = column.imex === true ? column.name : column.imex.key
267
- record[key] = key
268
- .split('.')
269
- .reduce((obj, key) => (obj && obj[key] !== 'undefined' ? obj[key] : undefined), item)
257
+ record[key] = key.split('.').reduce((obj, key) => (obj && obj[key] !== 'undefined' ? obj[key] : undefined), item)
270
258
  return record
271
259
  }, {})
272
260
  }
@@ -1,10 +1,13 @@
1
+ import '@material/web/icon/icon.js'
2
+
1
3
  import gql from 'graphql-tag'
2
4
  import { css, html, LitElement } from 'lit'
3
5
  import { customElement, property, query, state } from 'lit/decorators.js'
4
6
 
5
7
  import { i18next, localize } from '@operato/i18n'
6
8
  import { client } from '@operato/graphql'
7
- import { SingleColumnFormStyles } from '@things-factory/form-ui'
9
+ import { SingleColumnFormStyles } from '@operato/form'
10
+ import { ButtonContainerStyles } from '@operato/styles'
8
11
 
9
12
  import moment from 'moment-timezone'
10
13
  import { CustomAlert } from '@operato/shell'
@@ -12,6 +15,7 @@ import { CustomAlert } from '@operato/shell'
12
15
  @customElement('data-archive-request-popup')
13
16
  class DataArchiveRequestPopup extends localize(i18next)(LitElement) {
14
17
  static styles = [
18
+ ButtonContainerStyles,
15
19
  SingleColumnFormStyles,
16
20
  css`
17
21
  :host {
@@ -25,13 +29,6 @@ class DataArchiveRequestPopup extends localize(i18next)(LitElement) {
25
29
  form {
26
30
  overflow: auto;
27
31
  }
28
-
29
- .button-container {
30
- display: flex;
31
- margin-top: auto;
32
- margin-left: auto;
33
- padding: var(--padding-default);
34
- }
35
32
  `
36
33
  ]
37
34
 
@@ -53,7 +50,7 @@ class DataArchiveRequestPopup extends localize(i18next)(LitElement) {
53
50
  </form>
54
51
 
55
52
  <div class="button-container">
56
- <mwc-button raised @click=${this.requestArchive} label=${String(i18next.t('button.submit'))}></mwc-button>
53
+ <button @click=${this.requestArchive}><md-icon>archive</md-icon>${String(i18next.t('button.submit'))}</button>
57
54
  </div>
58
55
  `
59
56
  }
@@ -1,3 +1,4 @@
1
+ import '@material/web/icon/icon.js'
1
2
  import '@operato/data-grist'
2
3
  import '@operato/context/ox-context-page-toolbar.js'
3
4
  import '@operato/board/ox-board-viewer.js'
@@ -120,10 +121,7 @@ export class DataEntryListPage extends connect(store)(localize(i18next)(PageView
120
121
  return html`
121
122
  <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)} ?url-params-sensitive=${this.active}>
122
123
  <div slot="headroom" class="header">
123
- <div class="title">
124
- <mwc-icon>summarize</mwc-icon>
125
- ${i18next.t('title.data-entry list')}
126
- </div>
124
+ <div class="title">${i18next.t('title.data-entry list')}</div>
127
125
 
128
126
  <div class="filters">
129
127
  <ox-filters-form autofocus without-search></ox-filters-form>
@@ -1,3 +1,5 @@
1
+ import '@material/web/icon/icon.js'
2
+
1
3
  import gql from 'graphql-tag'
2
4
  import { css, html, LitElement } from 'lit'
3
5
  import { customElement, property, query, state } from 'lit/decorators.js'
@@ -6,10 +8,12 @@ import { client } from '@operato/graphql'
6
8
  import { i18next, localize } from '@operato/i18n'
7
9
  import { isMobileDevice } from '@operato/utils'
8
10
  import { DataGrist, FetchOption } from '@operato/data-grist'
11
+ import { ButtonContainerStyles } from '@operato/styles'
9
12
 
10
13
  @customElement('data-key-item-list')
11
14
  export class DataKeyItemList extends localize(i18next)(LitElement) {
12
15
  static styles = [
16
+ ButtonContainerStyles,
13
17
  css`
14
18
  :host {
15
19
  display: flex;
@@ -21,19 +25,6 @@ export class DataKeyItemList extends localize(i18next)(LitElement) {
21
25
  ox-grist {
22
26
  flex: 1;
23
27
  }
24
-
25
- .button-container {
26
- display: flex;
27
- margin-left: auto;
28
- padding: var(--padding-default);
29
- }
30
-
31
- [danger] {
32
- --mdc-theme-primary: var(--mdc-danger-button-primary-color);
33
- }
34
- mwc-button {
35
- margin-left: var(--margin-default);
36
- }
37
28
  `
38
29
  ]
39
30
 
@@ -43,16 +34,11 @@ export class DataKeyItemList extends localize(i18next)(LitElement) {
43
34
 
44
35
  render() {
45
36
  return html`
46
- <ox-grist
47
- .mode=${isMobileDevice() ? 'LIST' : 'GRID'}
48
- .config=${this.gristConfig}
49
- .fetchHandler=${this.fetchHandler.bind(this)}
50
- ></ox-grist>
37
+ <ox-grist .mode=${isMobileDevice() ? 'LIST' : 'GRID'} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}></ox-grist>
38
+
51
39
  <div class="button-container">
52
- <mwc-button raised danger @click=${this._deleteDataKeyItems.bind(this)}
53
- >${i18next.t('button.delete')}</mwc-button
54
- >
55
- <mwc-button raised @click=${this._updateDataKeyItems.bind(this)}>${i18next.t('button.save')}</mwc-button>
40
+ <button danger @click=${this._deleteDataKeyItems.bind(this)}><md-icon>delete_forever</md-icon>${i18next.t('button.delete')}</button>
41
+ <button @click=${this._updateDataKeyItems.bind(this)}><md-icon>save</md-icon>${i18next.t('button.save')}</button>
56
42
  </div>
57
43
  `
58
44
  }
@@ -1,3 +1,4 @@
1
+ import '@material/web/icon/icon.js'
1
2
  import '@operato/data-grist'
2
3
 
3
4
  import gql from 'graphql-tag'
@@ -7,10 +8,12 @@ import { customElement, property, query, state } from 'lit/decorators.js'
7
8
  import { client } from '@operato/graphql'
8
9
  import { i18next } from '@operato/i18n'
9
10
  import { isMobileDevice } from '@operato/utils'
11
+ import { ButtonContainerStyles } from '@operato/styles'
10
12
 
11
13
  @customElement('data-key-set-importer')
12
14
  export class DataKeySetImporter extends LitElement {
13
15
  static styles = [
16
+ ButtonContainerStyles,
14
17
  css`
15
18
  :host {
16
19
  display: flex;
@@ -22,16 +25,6 @@ export class DataKeySetImporter extends LitElement {
22
25
  ox-grist {
23
26
  flex: 1;
24
27
  }
25
-
26
- .button-container {
27
- display: flex;
28
- margin-left: auto;
29
- padding: var(--padding-default);
30
- }
31
-
32
- mwc-button {
33
- margin-left: var(--margin-default);
34
- }
35
28
  `
36
29
  ]
37
30
 
@@ -73,7 +66,7 @@ export class DataKeySetImporter extends LitElement {
73
66
  ></ox-grist>
74
67
 
75
68
  <div class="button-container">
76
- <mwc-button raised @click="${this.save.bind(this)}">${i18next.t('button.save')}</mwc-button>
69
+ <button @click="${this.save.bind(this)}"><md-icon>save</md-icon>${i18next.t('button.save')}</button>
77
70
  </div>
78
71
  `
79
72
  }
@@ -1,3 +1,4 @@
1
+ import '@material/web/icon/icon.js'
1
2
  import '@operato/data-grist'
2
3
  import '@operato/context/ox-context-page-toolbar.js'
3
4
  import './data-key-set-importer.js'
@@ -102,7 +103,10 @@ export class DataKeySetListPage extends connect(store)(localize(i18next)(PageVie
102
103
  {
103
104
  title: i18next.t('button.delete'),
104
105
  action: this._deleteDataKeySet.bind(this),
105
- icon: 'delete'
106
+ icon: 'delete',
107
+ emphasis: {
108
+ danger: true
109
+ }
106
110
  }
107
111
  ],
108
112
  exportable: {
@@ -122,10 +126,7 @@ export class DataKeySetListPage extends connect(store)(localize(i18next)(PageVie
122
126
  return html`
123
127
  <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}>
124
128
  <div slot="headroom" class="header">
125
- <div class="title">
126
- <mwc-icon>summarize</mwc-icon>
127
- ${i18next.t('title.data-key-set list')}
128
- </div>
129
+ <div class="title">${i18next.t('title.data-key-set list')}</div>
129
130
 
130
131
  <div class="filters">
131
132
  <ox-filters-form autofocus without-search></ox-filters-form>
@@ -1,3 +1,4 @@
1
+ import '@material/web/icon/icon.js'
1
2
  import '@operato/data-grist'
2
3
  import '@operato/context/ox-context-page-toolbar.js'
3
4
  import '@operato/input/ox-input-select-buttons.js'
@@ -100,10 +101,7 @@ export class DataOocListPage extends connect(store)(localize(i18next)(PageView))
100
101
  return html`
101
102
  <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}>
102
103
  <div slot="headroom" class="header">
103
- <div class="title">
104
- <mwc-icon>summarize</mwc-icon>
105
- ${i18next.t('title.data-ooc list')}
106
- </div>
104
+ <div class="title">${i18next.t('title.data-ooc list')}</div>
107
105
 
108
106
  <div class="filters">
109
107
  <ox-input-select-buttons
@@ -1,5 +1,6 @@
1
+ import '@material/web/icon/icon.js'
2
+ import '@material/web/fab/fab.js'
1
3
  import '@operato/dataset/ox-data-ooc-brief-view.js'
2
- import '@material/mwc-fab'
3
4
  import '@things-factory/worklist/dist-client/components/activity-thread-timeline.js'
4
5
 
5
6
  import gql from 'graphql-tag'
@@ -32,7 +33,7 @@ export class DataOocView extends localize(i18next)(LitElement) {
32
33
  margin: var(--margin-default);
33
34
  }
34
35
 
35
- mwc-fab {
36
+ md-fab {
36
37
  position: fixed;
37
38
  bottom: 15px;
38
39
  right: 16px;
@@ -41,7 +42,7 @@ export class DataOocView extends localize(i18next)(LitElement) {
41
42
  }
42
43
 
43
44
  @media print {
44
- mwc-fab {
45
+ md-fab {
45
46
  display: none;
46
47
  }
47
48
  }
@@ -87,15 +88,15 @@ export class DataOocView extends localize(i18next)(LitElement) {
87
88
  `
88
89
  : nothing}
89
90
 
90
- <mwc-fab
91
- icon="print"
91
+ <md-fab
92
92
  title="print"
93
93
  @click=${() =>
94
94
  GhostPrint.print({
95
95
  src: `./data-ooc/${this.dataOoc.id}`
96
96
  })}
97
- >print</mwc-fab
98
97
  >
98
+ <md-icon slot="icon">print</md-icon>
99
+ </md-fab>
99
100
  `
100
101
  }
101
102
 
@@ -1,3 +1,4 @@
1
+ import '@material/web/icon/icon.js'
1
2
  import '@operato/data-grist'
2
3
  import '@operato/context/ox-context-page-toolbar.js'
3
4
  import '@operato/board/ox-board-viewer.js'
@@ -44,23 +45,12 @@ const showMonitorView = (columns, data, column, record, rowIndex) => {
44
45
  const board = {
45
46
  id: monitorView
46
47
  }
47
- openPopup(
48
- html`
49
- <ox-board-viewer
50
- style="background-color: white;"
51
- .board=${board}
52
- .provider=${provider}
53
- hide-fullscreen
54
- hide-navigation
55
- ></ox-board-viewer>
56
- `,
57
- {
58
- closable: true,
59
- backdrop: true,
60
- size: 'large',
61
- title
62
- }
63
- )
48
+ openPopup(html` <ox-board-viewer style="background-color: white;" .board=${board} .provider=${provider} hide-fullscreen hide-navigation></ox-board-viewer> `, {
49
+ closable: true,
50
+ backdrop: true,
51
+ size: 'large',
52
+ title
53
+ })
64
54
 
65
55
  // navigate(`board-viewer/${monitorView}?interactive=true&title=${title}`)
66
56
  break
@@ -166,17 +156,9 @@ export class DataReportListPage extends connect(store)(localize(i18next)(PageVie
166
156
  const mode = 'CARD'
167
157
 
168
158
  return html`
169
- <ox-grist
170
- .mode=${mode}
171
- .config=${this.gristConfig}
172
- .fetchHandler=${this.fetchHandler.bind(this)}
173
- ?url-params-sensitive=${this.active}
174
- >
159
+ <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)} ?url-params-sensitive=${this.active}>
175
160
  <div slot="headroom" class="header">
176
- <div class="title">
177
- <mwc-icon>summarize</mwc-icon>
178
- ${i18next.t('title.data-report list')}
179
- </div>
161
+ <div class="title">${i18next.t('title.data-report list')}</div>
180
162
 
181
163
  <div class="filters">
182
164
  <ox-filters-form class="filter" autofocus without-search></ox-filters-form>
@@ -1,3 +1,4 @@
1
+ import '@material/web/icon/icon.js'
1
2
  import '@operato/data-grist'
2
3
  import '@operato/context/ox-context-page-toolbar.js'
3
4
  import './data-sample-view.js'
@@ -80,10 +81,7 @@ export class DataSampleListPage extends connect(store)(localize(i18next)(PageVie
80
81
  return html`
81
82
  <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)} ?url-params-sensitive=${false /* this.active */}>
82
83
  <div slot="headroom" class="header">
83
- <div class="title">
84
- <mwc-icon>summarize</mwc-icon>
85
- ${i18next.t('title.data-sample list')}
86
- </div>
84
+ <div class="title">${i18next.t('title.data-sample list')}</div>
87
85
 
88
86
  <div class="filters">
89
87
  <ox-filters-form class="filter" autofocus without-search></ox-filters-form>
@@ -1,3 +1,4 @@
1
+ import '@material/web/icon/icon.js'
1
2
  import '@operato/data-grist'
2
3
  import '@operato/context/ox-context-page-toolbar.js'
3
4
  import './data-sample-view.js'
@@ -82,10 +83,7 @@ export class DataSampleSearchPage extends connect(store)(localize(i18next)(PageV
82
83
  return html`
83
84
  <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}>
84
85
  <div slot="headroom" class="header">
85
- <div class="title">
86
- <mwc-icon>summarize</mwc-icon>
87
- ${i18next.t('title.data-sample search')}
88
- </div>
86
+ <div class="title">${i18next.t('title.data-sample search')}</div>
89
87
 
90
88
  <div class="filters">
91
89
  <ox-filters-form class="filter" autofocus without-search></ox-filters-form>
@@ -1,3 +1,5 @@
1
+ import '@material/web/icon/icon.js'
2
+ import '@material/web/fab/fab.js'
1
3
  import '@operato/dataset/ox-data-sample-view.js'
2
4
  import '@operato/dataset/ox-data-ooc-brief-view.js'
3
5
  import '@things-factory/worklist/dist-client/components/activity-thread-timeline.js'
@@ -33,7 +35,7 @@ export class DataSampleView extends localize(i18next)(LitElement) {
33
35
  margin: var(--margin-default);
34
36
  }
35
37
 
36
- mwc-fab {
38
+ md-fab {
37
39
  position: fixed;
38
40
  bottom: 15px;
39
41
  right: 16px;
@@ -42,7 +44,7 @@ export class DataSampleView extends localize(i18next)(LitElement) {
42
44
  }
43
45
 
44
46
  @media print {
45
- mwc-fab {
47
+ md-fab {
46
48
  display: none;
47
49
  }
48
50
  }
@@ -96,15 +98,15 @@ export class DataSampleView extends localize(i18next)(LitElement) {
96
98
  `
97
99
  : nothing}
98
100
 
99
- <mwc-fab
100
- icon="print"
101
+ <md-fab
101
102
  title="print"
102
103
  @click=${() =>
103
104
  GhostPrint.print({
104
105
  src: `./data-sample/${this.dataSampleId}`
105
106
  })}
106
- >print</mwc-fab
107
107
  >
108
+ <md-icon slot="icon">print</md-icon>
109
+ </md-fab>
108
110
  `
109
111
  }
110
112
 
@@ -1,3 +1,4 @@
1
+ import '@material/web/icon/icon.js'
1
2
  import '@operato/data-grist'
2
3
  import '@operato/context/ox-context-page-toolbar.js'
3
4
 
@@ -33,15 +34,6 @@ export class DataSensorListPage extends connect(store)(localize(i18next)(PageVie
33
34
  overflow-y: auto;
34
35
  flex: 1;
35
36
  }
36
-
37
- @media (max-width: 450px) {
38
- .header {
39
- display: grid;
40
- grid-template-areas:
41
- 'title actions'
42
- 'filters filters';
43
- }
44
- }
45
37
  `
46
38
  ]
47
39
 
@@ -79,7 +71,10 @@ export class DataSensorListPage extends connect(store)(localize(i18next)(PageVie
79
71
  {
80
72
  icon: 'delete',
81
73
  title: i18next.t('button.delete'),
82
- action: this._deleteDataSensor.bind(this)
74
+ action: this._deleteDataSensor.bind(this),
75
+ emphasis: {
76
+ danger: true
77
+ }
83
78
  }
84
79
  ],
85
80
  toolbar: false
@@ -92,10 +87,7 @@ export class DataSensorListPage extends connect(store)(localize(i18next)(PageVie
92
87
  return html`
93
88
  <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)} ?url-params-sensitive=${this.active}>
94
89
  <div slot="headroom" class="header">
95
- <div class="title">
96
- <mwc-icon>summarize</mwc-icon>
97
- ${i18next.t('title.data-sensor list')}
98
- </div>
90
+ <div class="title">${i18next.t('title.data-sensor list')}</div>
99
91
 
100
92
  <div class="filters">
101
93
  <ox-filters-form class="filter" autofocus without-search></ox-filters-form>
@@ -1,3 +1,5 @@
1
+ import '@material/web/icon/icon.js'
2
+
1
3
  import gql from 'graphql-tag'
2
4
 
3
5
  import { css, html, LitElement } from 'lit'
@@ -7,6 +9,7 @@ import { client } from '@operato/graphql'
7
9
  import { i18next, localize } from '@operato/i18n'
8
10
  import { isMobileDevice } from '@operato/utils'
9
11
  import { DataGrist, FetchOption } from '@operato/data-grist'
12
+ import { ButtonContainerStyles } from '@operato/styles'
10
13
 
11
14
  const DataItemStats = ['sum', 'mean', 'stddev', 'variance', 'min', 'max', 'range', 'median', 'mode']
12
15
 
@@ -17,6 +20,7 @@ class DataItemList extends localize(i18next)(LitElement) {
17
20
  @state() gristConfig: any
18
21
 
19
22
  static styles = [
23
+ ButtonContainerStyles,
20
24
  css`
21
25
  :host {
22
26
  display: flex;
@@ -28,19 +32,6 @@ class DataItemList extends localize(i18next)(LitElement) {
28
32
  ox-grist {
29
33
  flex: 1;
30
34
  }
31
-
32
- .button-container {
33
- display: flex;
34
- margin-left: auto;
35
- padding: var(--padding-default);
36
- }
37
-
38
- [danger] {
39
- --mdc-theme-primary: var(--mdc-danger-button-primary-color);
40
- }
41
- mwc-button {
42
- margin-left: var(--margin-default);
43
- }
44
35
  `
45
36
  ]
46
37
 
@@ -49,9 +40,10 @@ class DataItemList extends localize(i18next)(LitElement) {
49
40
  render() {
50
41
  return html`
51
42
  <ox-grist .mode=${isMobileDevice() ? 'LIST' : 'GRID'} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}></ox-grist>
43
+
52
44
  <div class="button-container">
53
- <mwc-button raised danger @click=${this._deleteDataItems.bind(this)}>${i18next.t('button.delete')}</mwc-button>
54
- <mwc-button raised @click=${this._updateDataItems.bind(this)}>${i18next.t('button.save')}</mwc-button>
45
+ <button danger @click=${this._deleteDataItems.bind(this)}><md-icon>delete_forever</md-icon>${i18next.t('button.delete')}</button>
46
+ <button @click=${this._updateDataItems.bind(this)}><md-icon>save</md-icon>${i18next.t('button.save')}</button>
55
47
  </div>
56
48
  `
57
49
  }