@things-factory/dataset 7.0.1-alpha.5 → 7.0.1-alpha.51
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/client/activities/activity-ooc-resolve-edit.ts +3 -3
- package/client/activities/activity-ooc-review-edit.ts +3 -2
- package/client/components/data-entry-form.ts +6 -13
- package/client/pages/data-archive/data-archive-list-page.ts +5 -17
- package/client/pages/data-archive/data-archive-request-popup.ts +6 -9
- package/client/pages/data-entry/data-entry-list-page.ts +2 -4
- package/client/pages/data-key-set/data-key-item-list.ts +8 -22
- package/client/pages/data-key-set/data-key-set-importer.ts +4 -11
- package/client/pages/data-key-set/data-key-set-list-page.ts +6 -5
- package/client/pages/data-ooc/data-ooc-list-page.ts +2 -4
- package/client/pages/data-ooc/data-ooc-view.ts +7 -6
- package/client/pages/data-report/data-report-list-page.ts +9 -27
- package/client/pages/data-sample/data-sample-list-page.ts +2 -4
- package/client/pages/data-sample/data-sample-search-page.ts +2 -4
- package/client/pages/data-sample/data-sample-view.ts +7 -5
- package/client/pages/data-sensor/data-sensor-list-page.ts +6 -14
- package/client/pages/data-set/data-item-list.ts +7 -15
- package/client/pages/data-set/data-set-importer.ts +5 -17
- package/client/pages/data-set/data-set-list-page.ts +6 -5
- package/client/pages/data-summary/data-summary-list-page.ts +8 -9
- package/client/pages/data-summary/data-summary-period-page.ts +5 -23
- package/client/pages/data-summary/data-summary-search-page.ts +11 -34
- package/dist-client/activities/activity-ooc-resolve-edit.d.ts +1 -0
- package/dist-client/activities/activity-ooc-resolve-edit.js +3 -3
- package/dist-client/activities/activity-ooc-resolve-edit.js.map +1 -1
- package/dist-client/activities/activity-ooc-review-edit.d.ts +1 -0
- package/dist-client/activities/activity-ooc-review-edit.js +3 -2
- package/dist-client/activities/activity-ooc-review-edit.js.map +1 -1
- package/dist-client/components/data-entry-form.d.ts +1 -0
- package/dist-client/components/data-entry-form.js +5 -10
- package/dist-client/components/data-entry-form.js.map +1 -1
- package/dist-client/pages/data-archive/data-archive-list-page.d.ts +1 -0
- package/dist-client/pages/data-archive/data-archive-list-page.js +5 -17
- package/dist-client/pages/data-archive/data-archive-list-page.js.map +1 -1
- package/dist-client/pages/data-archive/data-archive-request-popup.d.ts +1 -1
- package/dist-client/pages/data-archive/data-archive-request-popup.js +5 -9
- package/dist-client/pages/data-archive/data-archive-request-popup.js.map +1 -1
- package/dist-client/pages/data-entry/data-entry-list-page.d.ts +1 -0
- package/dist-client/pages/data-entry/data-entry-list-page.js +2 -4
- package/dist-client/pages/data-entry/data-entry-list-page.js.map +1 -1
- package/dist-client/pages/data-key-set/data-key-item-list.d.ts +1 -0
- package/dist-client/pages/data-key-set/data-key-item-list.js +7 -22
- package/dist-client/pages/data-key-set/data-key-item-list.js.map +1 -1
- package/dist-client/pages/data-key-set/data-key-set-importer.d.ts +1 -0
- package/dist-client/pages/data-key-set/data-key-set-importer.js +4 -11
- package/dist-client/pages/data-key-set/data-key-set-importer.js.map +1 -1
- package/dist-client/pages/data-key-set/data-key-set-list-page.d.ts +11 -2
- package/dist-client/pages/data-key-set/data-key-set-list-page.js +6 -5
- package/dist-client/pages/data-key-set/data-key-set-list-page.js.map +1 -1
- package/dist-client/pages/data-ooc/data-ooc-list-page.d.ts +1 -0
- package/dist-client/pages/data-ooc/data-ooc-list-page.js +2 -4
- package/dist-client/pages/data-ooc/data-ooc-list-page.js.map +1 -1
- package/dist-client/pages/data-ooc/data-ooc-view.d.ts +2 -1
- package/dist-client/pages/data-ooc/data-ooc-view.js +7 -6
- package/dist-client/pages/data-ooc/data-ooc-view.js.map +1 -1
- package/dist-client/pages/data-report/data-report-list-page.d.ts +1 -0
- package/dist-client/pages/data-report/data-report-list-page.js +4 -19
- package/dist-client/pages/data-report/data-report-list-page.js.map +1 -1
- package/dist-client/pages/data-sample/data-sample-list-page.d.ts +1 -0
- package/dist-client/pages/data-sample/data-sample-list-page.js +2 -4
- package/dist-client/pages/data-sample/data-sample-list-page.js.map +1 -1
- package/dist-client/pages/data-sample/data-sample-search-page.d.ts +1 -0
- package/dist-client/pages/data-sample/data-sample-search-page.js +2 -4
- package/dist-client/pages/data-sample/data-sample-search-page.js.map +1 -1
- package/dist-client/pages/data-sample/data-sample-view.d.ts +2 -0
- package/dist-client/pages/data-sample/data-sample-view.js +7 -5
- package/dist-client/pages/data-sample/data-sample-view.js.map +1 -1
- package/dist-client/pages/data-sensor/data-sensor-list-page.d.ts +11 -2
- package/dist-client/pages/data-sensor/data-sensor-list-page.js +6 -14
- package/dist-client/pages/data-sensor/data-sensor-list-page.js.map +1 -1
- package/dist-client/pages/data-set/data-item-list.d.ts +1 -1
- package/dist-client/pages/data-set/data-item-list.js +6 -15
- package/dist-client/pages/data-set/data-item-list.js.map +1 -1
- package/dist-client/pages/data-set/data-set-importer.d.ts +1 -0
- package/dist-client/pages/data-set/data-set-importer.js +5 -16
- package/dist-client/pages/data-set/data-set-importer.js.map +1 -1
- package/dist-client/pages/data-set/data-set-list-page.d.ts +11 -2
- package/dist-client/pages/data-set/data-set-list-page.js +6 -5
- package/dist-client/pages/data-set/data-set-list-page.js.map +1 -1
- package/dist-client/pages/data-summary/data-summary-list-page.d.ts +1 -0
- package/dist-client/pages/data-summary/data-summary-list-page.js +8 -9
- package/dist-client/pages/data-summary/data-summary-list-page.js.map +1 -1
- package/dist-client/pages/data-summary/data-summary-period-page.d.ts +1 -0
- package/dist-client/pages/data-summary/data-summary-period-page.js +5 -23
- package/dist-client/pages/data-summary/data-summary-period-page.js.map +1 -1
- package/dist-client/pages/data-summary/data-summary-search-page.d.ts +1 -0
- package/dist-client/pages/data-summary/data-summary-search-page.js +6 -18
- package/dist-client/pages/data-summary/data-summary-search-page.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/controllers/create-data-sample.js +1 -1
- package/dist-server/controllers/create-data-sample.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/helps/dataset/data-sensor.md +3 -0
- package/package.json +12 -14
- 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
|
-
|
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><
|
95
|
+
<h2><md-icon>build_circle</md-icon> <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
|
-
|
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><
|
94
|
+
<h2><md-icon>build_circle</md-icon> <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 '@
|
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
|
-
<
|
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
|
-
|
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
|
-
<
|
53
|
-
|
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
|
-
<
|
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
|
-
|
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
|
-
|
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
|
-
<
|
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
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
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
|
-
|
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
|
-
|
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
|
-
<
|
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
|
-
<
|
54
|
-
<
|
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
|
}
|