@things-factory/dataset 9.0.0-beta.8 → 9.0.0-beta.80
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/dist-client/activities/activity-data-collect-edit.d.ts +8 -1
- package/dist-client/activities/activity-data-collect-edit.js +76 -25
- package/dist-client/activities/activity-data-collect-edit.js.map +1 -1
- package/dist-client/activities/activity-data-collect-view.js +24 -24
- package/dist-client/activities/activity-data-collect-view.js.map +1 -1
- package/dist-client/activities/activity-data-review-edit.d.ts +2 -0
- package/dist-client/activities/activity-data-review-edit.js +111 -90
- package/dist-client/activities/activity-data-review-edit.js.map +1 -1
- package/dist-client/activities/activity-data-review-view.d.ts +2 -0
- package/dist-client/activities/activity-data-review-view.js +111 -88
- package/dist-client/activities/activity-data-review-view.js.map +1 -1
- package/dist-client/activities/activity-ooc-resolve-edit.js +73 -66
- package/dist-client/activities/activity-ooc-resolve-edit.js.map +1 -1
- package/dist-client/activities/activity-ooc-resolve-view.js +49 -41
- package/dist-client/activities/activity-ooc-resolve-view.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 +93 -72
- package/dist-client/activities/activity-ooc-review-edit.js.map +1 -1
- package/dist-client/activities/activity-ooc-review-view.js +45 -39
- package/dist-client/activities/activity-ooc-review-view.js.map +1 -1
- package/dist-client/components/checklist-entry-form.d.ts +21 -0
- package/dist-client/components/checklist-entry-form.js +107 -0
- package/dist-client/components/checklist-entry-form.js.map +1 -0
- package/dist-client/components/data-entry-form.d.ts +3 -2
- package/dist-client/components/data-entry-form.js +29 -30
- package/dist-client/components/data-entry-form.js.map +1 -1
- package/dist-client/pages/data-archive/data-archive-list-page.js +35 -34
- package/dist-client/pages/data-archive/data-archive-list-page.js.map +1 -1
- package/dist-client/pages/data-archive/data-archive-request-popup.js +17 -17
- 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 +42 -34
- 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.js +15 -15
- 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.js +16 -17
- 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.js +24 -25
- 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.js +40 -39
- package/dist-client/pages/data-ooc/data-ooc-list-page.js.map +1 -1
- package/dist-client/pages/data-ooc/data-ooc-page.js +21 -18
- package/dist-client/pages/data-ooc/data-ooc-page.js.map +1 -1
- package/dist-client/pages/data-ooc/data-ooc-view.js +39 -37
- package/dist-client/pages/data-ooc/data-ooc-view.js.map +1 -1
- package/dist-client/pages/data-ooc/data-oocs-page.js +20 -22
- package/dist-client/pages/data-ooc/data-oocs-page.js.map +1 -1
- package/dist-client/pages/data-report/data-report-embed-page.js +24 -21
- package/dist-client/pages/data-report/data-report-embed-page.js.map +1 -1
- package/dist-client/pages/data-report/data-report-list-page.js +26 -28
- package/dist-client/pages/data-report/data-report-list-page.js.map +1 -1
- package/dist-client/pages/data-report/data-report-samples-page.js +20 -22
- package/dist-client/pages/data-report/data-report-samples-page.js.map +1 -1
- package/dist-client/pages/data-report/jasper-report-oocs-page.js +24 -21
- package/dist-client/pages/data-report/jasper-report-oocs-page.js.map +1 -1
- package/dist-client/pages/data-report/jasper-report-samples-crosstab-page.js +24 -21
- package/dist-client/pages/data-report/jasper-report-samples-crosstab-page.js.map +1 -1
- package/dist-client/pages/data-report/jasper-report-samples-page.js +24 -21
- package/dist-client/pages/data-report/jasper-report-samples-page.js.map +1 -1
- package/dist-client/pages/data-sample/data-sample-list-page.js +37 -35
- package/dist-client/pages/data-sample/data-sample-list-page.js.map +1 -1
- package/dist-client/pages/data-sample/data-sample-page.js +18 -18
- package/dist-client/pages/data-sample/data-sample-page.js.map +1 -1
- package/dist-client/pages/data-sample/data-sample-search-page.js +36 -35
- 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 +65 -41
- package/dist-client/pages/data-sample/data-sample-view.js.map +1 -1
- package/dist-client/pages/data-sample/data-samples-page.js +19 -21
- package/dist-client/pages/data-sample/data-samples-page.js.map +1 -1
- package/dist-client/pages/data-sensor/data-sensor-list-page.js +47 -24
- package/dist-client/pages/data-sensor/data-sensor-list-page.js.map +1 -1
- package/dist-client/pages/data-set/data-item-list.js +24 -15
- package/dist-client/pages/data-set/data-item-list.js.map +1 -1
- package/dist-client/pages/data-set/data-set-importer.js +16 -17
- 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 +2 -0
- package/dist-client/pages/data-set/data-set-list-page.js +109 -63
- package/dist-client/pages/data-set/data-set-list-page.js.map +1 -1
- package/dist-client/pages/data-summary/data-summary-list-page.js +34 -32
- package/dist-client/pages/data-summary/data-summary-list-page.js.map +1 -1
- package/dist-client/pages/data-summary/data-summary-period-page.js +99 -83
- package/dist-client/pages/data-summary/data-summary-period-page.js.map +1 -1
- package/dist-client/pages/data-summary/data-summary-search-page.js +42 -41
- package/dist-client/pages/data-summary/data-summary-search-page.js.map +1 -1
- package/dist-client/pages/data-summary/data-summary-view.js +24 -24
- package/dist-client/pages/data-summary/data-summary-view.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/activities/activity-data-review.js +13 -2
- package/dist-server/activities/activity-data-review.js.map +1 -1
- package/dist-server/activities/activity-ooc-resolve.js +10 -4
- package/dist-server/activities/activity-ooc-resolve.js.map +1 -1
- package/dist-server/activities/activity-ooc-review.js +8 -2
- package/dist-server/activities/activity-ooc-review.js.map +1 -1
- package/dist-server/controllers/create-data-ooc.js +10 -5
- package/dist-server/controllers/create-data-ooc.js.map +1 -1
- package/dist-server/controllers/create-data-sample.js +36 -16
- package/dist-server/controllers/create-data-sample.js.map +1 -1
- package/dist-server/controllers/data-use-case.js +6 -7
- package/dist-server/controllers/data-use-case.js.map +1 -1
- package/dist-server/controllers/finalize-data-collection.js +30 -8
- package/dist-server/controllers/finalize-data-collection.js.map +1 -1
- package/dist-server/controllers/issue-data-collection-task.js +6 -3
- package/dist-server/controllers/issue-data-collection-task.js.map +1 -1
- package/dist-server/controllers/jasper-report.js +10 -7
- package/dist-server/controllers/jasper-report.js.map +1 -1
- package/dist-server/controllers/query-data-summary-by-period.d.ts +1 -1
- package/dist-server/controllers/query-data-summary-by-period.js +17 -13
- package/dist-server/controllers/query-data-summary-by-period.js.map +1 -1
- package/dist-server/controllers/shiny-report.js +7 -2
- package/dist-server/controllers/shiny-report.js.map +1 -1
- package/dist-server/routes.js +18 -7
- package/dist-server/routes.js.map +1 -1
- package/dist-server/service/data-archive/data-archive-mutation.js +48 -9
- package/dist-server/service/data-archive/data-archive-mutation.js.map +1 -1
- package/dist-server/service/data-key-set/data-key-set-mutation.js +25 -7
- package/dist-server/service/data-key-set/data-key-set-mutation.js.map +1 -1
- package/dist-server/service/data-key-set/data-key-set-query.js +1 -1
- package/dist-server/service/data-key-set/data-key-set-query.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc-mutation.js +15 -4
- package/dist-server/service/data-ooc/data-ooc-mutation.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc-query.js +1 -1
- package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc-subscription.js +3 -4
- package/dist-server/service/data-ooc/data-ooc-subscription.js.map +1 -1
- package/dist-server/service/data-sample/data-sample-query.d.ts +1 -1
- package/dist-server/service/data-sample/data-sample-query.js +16 -8
- package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
- package/dist-server/service/data-sensor/data-sensor-mutation.js +24 -6
- package/dist-server/service/data-sensor/data-sensor-mutation.js.map +1 -1
- package/dist-server/service/data-sensor/data-sensor-type.d.ts +4 -0
- package/dist-server/service/data-sensor/data-sensor-type.js +16 -0
- package/dist-server/service/data-sensor/data-sensor-type.js.map +1 -1
- package/dist-server/service/data-sensor/data-sensor.d.ts +2 -0
- package/dist-server/service/data-sensor/data-sensor.js +10 -0
- package/dist-server/service/data-sensor/data-sensor.js.map +1 -1
- package/dist-server/service/data-set/data-item-type.d.ts +2 -0
- package/dist-server/service/data-set/data-item-type.js +14 -0
- package/dist-server/service/data-set/data-item-type.js.map +1 -1
- package/dist-server/service/data-set/data-set-mutation.js +77 -18
- package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
- package/dist-server/service/data-set/data-set-query.js +4 -4
- package/dist-server/service/data-set/data-set-query.js.map +1 -1
- package/dist-server/service/data-set/data-set.d.ts +1 -0
- package/dist-server/service/data-set/data-set.js +5 -0
- package/dist-server/service/data-set/data-set.js.map +1 -1
- package/dist-server/service/data-set-history/data-set-history-query.js +1 -1
- package/dist-server/service/data-set-history/data-set-history-query.js.map +1 -1
- package/dist-server/service/data-spec/data-spec-manager.js +1 -1
- package/dist-server/service/data-spec/data-spec-manager.js.map +1 -1
- package/dist-server/service/data-summary/data-summary-query.d.ts +1 -1
- package/dist-server/service/data-summary/data-summary-query.js +4 -6
- package/dist-server/service/data-summary/data-summary-query.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +13 -13
- package/things-factory.config.js +4 -0
- package/translations/en.json +3 -0
- package/translations/ja.json +3 -0
- package/translations/ko.json +3 -0
- package/translations/ms.json +3 -0
- package/translations/zh.json +3 -0
@@ -1,6 +1,7 @@
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
2
2
|
import '@material/web/icon/icon.js';
|
3
3
|
import '@operato/dataset/ox-data-sample-view.js';
|
4
|
+
import '@operato/dataset/ox-checklist-sample-view.js';
|
4
5
|
import gql from 'graphql-tag';
|
5
6
|
import { css, html, LitElement } from 'lit';
|
6
7
|
import { customElement, property, state } from 'lit/decorators.js';
|
@@ -8,15 +9,77 @@ import { client } from '@operato/graphql';
|
|
8
9
|
import { i18next, localize } from '@operato/i18n';
|
9
10
|
import { ScrollbarStyles } from '@operato/styles';
|
10
11
|
let OocReviewActivityEdit = class OocReviewActivityEdit extends localize(i18next)(LitElement) {
|
12
|
+
static { this.styles = [
|
13
|
+
ScrollbarStyles,
|
14
|
+
css `
|
15
|
+
:host {
|
16
|
+
display: flex;
|
17
|
+
flex-direction: column;
|
18
|
+
|
19
|
+
background-color: var(--md-sys-color-surface);
|
20
|
+
}
|
21
|
+
|
22
|
+
div[content] {
|
23
|
+
flex: 1;
|
24
|
+
flex-direction: column;
|
25
|
+
|
26
|
+
display: flex;
|
27
|
+
overflow: auto;
|
28
|
+
}
|
29
|
+
|
30
|
+
ox-data-sample-view,
|
31
|
+
ox-checklist-sample-view {
|
32
|
+
flex: 1;
|
33
|
+
padding: var(--spacing-large);
|
34
|
+
overflow: auto;
|
35
|
+
}
|
36
|
+
|
37
|
+
label[instruction] {
|
38
|
+
display: flex;
|
39
|
+
flex-direction: column;
|
40
|
+
|
41
|
+
padding: var(--spacing-large);
|
42
|
+
|
43
|
+
h2 {
|
44
|
+
display: flex;
|
45
|
+
|
46
|
+
color: var(--title-text-color);
|
47
|
+
text-transform: capitalize;
|
48
|
+
margin: var(--title-margin);
|
49
|
+
align-items: center;
|
50
|
+
}
|
51
|
+
|
52
|
+
div {
|
53
|
+
padding: var(--spacing-large);
|
54
|
+
font: var(--input-field-font);
|
55
|
+
}
|
56
|
+
|
57
|
+
md-icon {
|
58
|
+
color: var(--status-danger-color);
|
59
|
+
}
|
60
|
+
|
61
|
+
textarea {
|
62
|
+
border: var(--input-field-border);
|
63
|
+
border-radius: var(--spacing-small);
|
64
|
+
margin: var(--spacing-medium);
|
65
|
+
padding: var(--spacing-medium);
|
66
|
+
font: var(--input-field-font);
|
67
|
+
color: var(--md-sys-color-on-surface);
|
68
|
+
background: var(--md-sys-color-surface-variant);
|
69
|
+
|
70
|
+
resize: none;
|
71
|
+
outline: none;
|
72
|
+
min-height: 200px;
|
73
|
+
}
|
74
|
+
}
|
75
|
+
`
|
76
|
+
]; }
|
11
77
|
render() {
|
12
|
-
|
13
|
-
const instruction = (_a = this.output) === null || _a === void 0 ? void 0 : _a.instruction;
|
78
|
+
const instruction = this.output?.instruction;
|
14
79
|
const { state } = this.activityThread || {};
|
15
80
|
const editable = state == 'unassigned' || state == 'assigned' || state == 'started' || state == 'submitted';
|
16
81
|
return html `
|
17
|
-
<div content>
|
18
|
-
<ox-data-sample-view .dataSample=${this.dataOoc}></ox-data-sample-view>
|
19
|
-
</div>
|
82
|
+
<div content>${this.renderDataSample()}</div>
|
20
83
|
|
21
84
|
<label instruction>
|
22
85
|
<h2><md-icon>build_circle</md-icon> <span>${i18next.t('label.corrective instruction')}</span></h2>
|
@@ -33,7 +96,7 @@ let OocReviewActivityEdit = class OocReviewActivityEdit extends localize(i18next
|
|
33
96
|
`;
|
34
97
|
}
|
35
98
|
onChangeInstruction(e) {
|
36
|
-
this.output
|
99
|
+
this.output ||= {};
|
37
100
|
this.output.instruction = e.target.value;
|
38
101
|
this.dispatchEvent(new CustomEvent('change', {
|
39
102
|
detail: this.output
|
@@ -45,8 +108,7 @@ let OocReviewActivityEdit = class OocReviewActivityEdit extends localize(i18next
|
|
45
108
|
}
|
46
109
|
}
|
47
110
|
async fetchDataOoc() {
|
48
|
-
|
49
|
-
const id = (_a = this.input) === null || _a === void 0 ? void 0 : _a.dataOocId;
|
111
|
+
const id = this.input?.dataOocId;
|
50
112
|
if (id) {
|
51
113
|
const response = await client.query({
|
52
114
|
query: gql `
|
@@ -62,6 +124,12 @@ let OocReviewActivityEdit = class OocReviewActivityEdit extends localize(i18next
|
|
62
124
|
useCase
|
63
125
|
data
|
64
126
|
judgment
|
127
|
+
dataSet {
|
128
|
+
id
|
129
|
+
name
|
130
|
+
monitorType
|
131
|
+
monitorView
|
132
|
+
}
|
65
133
|
dataItems {
|
66
134
|
name
|
67
135
|
description
|
@@ -69,6 +137,7 @@ let OocReviewActivityEdit = class OocReviewActivityEdit extends localize(i18next
|
|
69
137
|
hidden
|
70
138
|
tag
|
71
139
|
group
|
140
|
+
subgroup
|
72
141
|
type
|
73
142
|
unit
|
74
143
|
options
|
@@ -89,71 +158,23 @@ let OocReviewActivityEdit = class OocReviewActivityEdit extends localize(i18next
|
|
89
158
|
this.dataOoc = response.data.dataOoc;
|
90
159
|
}
|
91
160
|
}
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
display: flex;
|
108
|
-
overflow: auto;
|
109
|
-
}
|
110
|
-
|
111
|
-
ox-data-sample-view {
|
112
|
-
flex: 1;
|
113
|
-
padding: var(--spacing-large);
|
114
|
-
overflow: auto;
|
115
|
-
}
|
116
|
-
|
117
|
-
label[instruction] {
|
118
|
-
display: flex;
|
119
|
-
flex-direction: column;
|
120
|
-
|
121
|
-
padding: var(--spacing-large);
|
122
|
-
|
123
|
-
h2 {
|
124
|
-
display: flex;
|
125
|
-
|
126
|
-
color: var(--title-text-color);
|
127
|
-
text-transform: capitalize;
|
128
|
-
margin: var(--title-margin);
|
129
|
-
align-items: center;
|
130
|
-
}
|
131
|
-
|
132
|
-
div {
|
133
|
-
padding: var(--spacing-large);
|
134
|
-
font: var(--input-field-font);
|
135
|
-
}
|
136
|
-
|
137
|
-
md-icon {
|
138
|
-
color: var(--status-danger-color);
|
139
|
-
}
|
140
|
-
|
141
|
-
textarea {
|
142
|
-
border: var(--input-field-border);
|
143
|
-
border-radius: var(--spacing-small);
|
144
|
-
margin: var(--spacing-medium);
|
145
|
-
padding: var(--spacing-medium);
|
146
|
-
font: var(--input-field-font);
|
147
|
-
color: var(--md-sys-color-on-surface);
|
148
|
-
background: var(--md-sys-color-surface-variant);
|
149
|
-
|
150
|
-
resize: none;
|
151
|
-
outline: none;
|
152
|
-
min-height: 200px;
|
161
|
+
renderDataSample() {
|
162
|
+
const dataSet = this.dataOoc?.dataSet;
|
163
|
+
const monitorType = dataSet?.monitorType;
|
164
|
+
switch (monitorType) {
|
165
|
+
case 'generated':
|
166
|
+
return html `<ox-data-sample-view .dataSample=${this.dataOoc}></ox-data-sample-view>`;
|
167
|
+
case 'checklist':
|
168
|
+
return html `<ox-checklist-sample-view .dataSample=${this.dataOoc}></ox-checklist-sample-view>`;
|
169
|
+
case 'board':
|
170
|
+
break;
|
171
|
+
case 'page':
|
172
|
+
break;
|
173
|
+
default:
|
174
|
+
return html `<ox-data-sample-view .dataSample=${this.dataOoc}></ox-data-sample-view>`;
|
153
175
|
}
|
154
|
-
|
155
|
-
|
156
|
-
];
|
176
|
+
}
|
177
|
+
};
|
157
178
|
__decorate([
|
158
179
|
property({ type: Object }),
|
159
180
|
__metadata("design:type", Object)
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"activity-ooc-review-edit.js","sourceRoot":"","sources":["../../client/activities/activity-ooc-review-edit.ts"],"names":[],"mappings":";AAAA,OAAO,4BAA4B,CAAA;AACnC,OAAO,yCAAyC,CAAA;
|
1
|
+
{"version":3,"file":"activity-ooc-review-edit.js","sourceRoot":"","sources":["../../client/activities/activity-ooc-review-edit.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@operato/dataset/ox-data-sample-view.js'\nimport '@operato/dataset/ox-checklist-sample-view.js'\nimport gql from 'graphql-tag'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { ScrollbarStyles } from '@operato/styles'\n\n@customElement('activity-ooc-review-edit')\nclass OocReviewActivityEdit extends localize(i18next)(LitElement) {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: var(--md-sys-color-surface);\n }\n\n div[content] {\n flex: 1;\n flex-direction: column;\n\n display: flex;\n overflow: auto;\n }\n\n ox-data-sample-view,\n ox-checklist-sample-view {\n flex: 1;\n padding: var(--spacing-large);\n overflow: auto;\n }\n\n label[instruction] {\n display: flex;\n flex-direction: column;\n\n padding: var(--spacing-large);\n\n h2 {\n display: flex;\n\n color: var(--title-text-color);\n text-transform: capitalize;\n margin: var(--title-margin);\n align-items: center;\n }\n\n div {\n padding: var(--spacing-large);\n font: var(--input-field-font);\n }\n\n md-icon {\n color: var(--status-danger-color);\n }\n\n textarea {\n border: var(--input-field-border);\n border-radius: var(--spacing-small);\n margin: var(--spacing-medium);\n padding: var(--spacing-medium);\n font: var(--input-field-font);\n color: var(--md-sys-color-on-surface);\n background: var(--md-sys-color-surface-variant);\n\n resize: none;\n outline: none;\n min-height: 200px;\n }\n }\n `\n ]\n\n @property({ type: Object }) input?: any\n @property({ type: Object }) output?: any\n @property({ type: Object }) activityThread?: any\n\n @state() dataOoc?: any\n\n render() {\n const instruction = this.output?.instruction\n const { state } = this.activityThread || {}\n const editable = state == 'unassigned' || state == 'assigned' || state == 'started' || state == 'submitted'\n\n return html`\n <div content>${this.renderDataSample()}</div>\n\n <label instruction>\n <h2><md-icon>build_circle</md-icon> <span>${i18next.t('label.corrective instruction')}</span></h2>\n ${editable\n ? html`\n <textarea\n placeholder=${String(i18next.t('text.corrective instruction placeholder'))}\n .value=${instruction || ''}\n @change=${this.onChangeInstruction}\n ></textarea>\n `\n : html`<div>${instruction}</div>`}\n </label>\n `\n }\n\n onChangeInstruction(e: Event) {\n this.output ||= {}\n this.output.instruction = (e.target as HTMLTextAreaElement).value\n\n this.dispatchEvent(\n new CustomEvent('change', {\n detail: this.output\n })\n )\n }\n\n updated(changes) {\n if (changes.has('input')) {\n this.fetchDataOoc()\n }\n }\n\n async fetchDataOoc() {\n const id = this.input?.dataOocId\n\n if (id) {\n const response = await client.query({\n query: gql`\n query ($id: String!) {\n dataOoc(id: $id) {\n id\n name\n description\n ooc\n oos\n state\n type\n useCase\n data\n judgment\n dataSet {\n id\n name\n monitorType\n monitorView\n }\n dataItems {\n name\n description\n active\n hidden\n tag\n group\n subgroup\n type\n unit\n options\n quota\n spec\n stat\n }\n workDate\n workShift\n collectedAt\n }\n }\n `,\n variables: {\n id\n }\n })\n\n this.dataOoc = response.data.dataOoc\n }\n }\n\n private renderDataSample() {\n const dataSet = this.dataOoc?.dataSet\n const monitorType = dataSet?.monitorType\n\n switch (monitorType) {\n case 'generated':\n return html`<ox-data-sample-view .dataSample=${this.dataOoc}></ox-data-sample-view>`\n case 'checklist':\n return html`<ox-checklist-sample-view .dataSample=${this.dataOoc}></ox-checklist-sample-view>`\n case 'board':\n break\n case 'page':\n break\n default:\n return html`<ox-data-sample-view .dataSample=${this.dataOoc}></ox-data-sample-view>`\n }\n }\n}\n"]}
|
@@ -7,6 +7,43 @@ import { client } from '@operato/graphql';
|
|
7
7
|
import { i18next, localize } from '@operato/i18n';
|
8
8
|
import { ScrollbarStyles } from '@operato/styles';
|
9
9
|
let OocReviewActivityView = class OocReviewActivityView extends localize(i18next)(LitElement) {
|
10
|
+
static { this.styles = [
|
11
|
+
ScrollbarStyles,
|
12
|
+
css `
|
13
|
+
:host {
|
14
|
+
display: flex;
|
15
|
+
flex-direction: column;
|
16
|
+
|
17
|
+
background-color: var(--md-sys-color-surface);
|
18
|
+
}
|
19
|
+
|
20
|
+
div[content] {
|
21
|
+
flex: 1;
|
22
|
+
flex-direction: column;
|
23
|
+
|
24
|
+
display: flex;
|
25
|
+
overflow: auto;
|
26
|
+
}
|
27
|
+
|
28
|
+
ox-data-ooc-brief-view {
|
29
|
+
flex: 1;
|
30
|
+
padding: var(--spacing-large);
|
31
|
+
overflow: auto;
|
32
|
+
}
|
33
|
+
|
34
|
+
@media print {
|
35
|
+
:host {
|
36
|
+
display: block;
|
37
|
+
overflow: visible;
|
38
|
+
}
|
39
|
+
|
40
|
+
div[content] {
|
41
|
+
display: block;
|
42
|
+
overflow: visible;
|
43
|
+
}
|
44
|
+
}
|
45
|
+
`
|
46
|
+
]; }
|
10
47
|
render() {
|
11
48
|
return html `
|
12
49
|
<div content>
|
@@ -20,8 +57,7 @@ let OocReviewActivityView = class OocReviewActivityView extends localize(i18next
|
|
20
57
|
}
|
21
58
|
}
|
22
59
|
async fetchDataOoc() {
|
23
|
-
|
24
|
-
const id = (_a = this.input) === null || _a === void 0 ? void 0 : _a.dataOocId;
|
60
|
+
const id = this.input?.dataOocId;
|
25
61
|
if (id) {
|
26
62
|
const response = await client.query({
|
27
63
|
query: gql `
|
@@ -40,6 +76,12 @@ let OocReviewActivityView = class OocReviewActivityView extends localize(i18next
|
|
40
76
|
history
|
41
77
|
correctiveAction
|
42
78
|
correctiveInstruction
|
79
|
+
dataSet {
|
80
|
+
id
|
81
|
+
name
|
82
|
+
monitorType
|
83
|
+
monitorView
|
84
|
+
}
|
43
85
|
dataItems {
|
44
86
|
name
|
45
87
|
description
|
@@ -47,6 +89,7 @@ let OocReviewActivityView = class OocReviewActivityView extends localize(i18next
|
|
47
89
|
hidden
|
48
90
|
tag
|
49
91
|
group
|
92
|
+
subgroup
|
50
93
|
type
|
51
94
|
unit
|
52
95
|
options
|
@@ -78,43 +121,6 @@ let OocReviewActivityView = class OocReviewActivityView extends localize(i18next
|
|
78
121
|
}
|
79
122
|
}
|
80
123
|
};
|
81
|
-
OocReviewActivityView.styles = [
|
82
|
-
ScrollbarStyles,
|
83
|
-
css `
|
84
|
-
:host {
|
85
|
-
display: flex;
|
86
|
-
flex-direction: column;
|
87
|
-
|
88
|
-
background-color: var(--md-sys-color-surface);
|
89
|
-
}
|
90
|
-
|
91
|
-
div[content] {
|
92
|
-
flex: 1;
|
93
|
-
flex-direction: column;
|
94
|
-
|
95
|
-
display: flex;
|
96
|
-
overflow: auto;
|
97
|
-
}
|
98
|
-
|
99
|
-
ox-data-ooc-brief-view {
|
100
|
-
flex: 1;
|
101
|
-
padding: var(--spacing-large);
|
102
|
-
overflow: auto;
|
103
|
-
}
|
104
|
-
|
105
|
-
@media print {
|
106
|
-
:host {
|
107
|
-
display: block;
|
108
|
-
overflow: visible;
|
109
|
-
}
|
110
|
-
|
111
|
-
div[content] {
|
112
|
-
display: block;
|
113
|
-
overflow: visible;
|
114
|
-
}
|
115
|
-
}
|
116
|
-
`
|
117
|
-
];
|
118
124
|
__decorate([
|
119
125
|
property({ type: Object }),
|
120
126
|
__metadata("design:type", Object)
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"activity-ooc-review-view.js","sourceRoot":"","sources":["../../client/activities/activity-ooc-review-view.ts"],"names":[],"mappings":";AAAA,OAAO,4CAA4C,CAAA;AAEnD,OAAO,GAAG,MAAM,aAAa,CAAA;AAC7B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAS,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAGjD,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;
|
1
|
+
{"version":3,"file":"activity-ooc-review-view.js","sourceRoot":"","sources":["../../client/activities/activity-ooc-review-view.ts"],"names":[],"mappings":";AAAA,OAAO,4CAA4C,CAAA;AAEnD,OAAO,GAAG,MAAM,aAAa,CAAA;AAC7B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAS,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAGjD,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;aACxD,WAAM,GAAG;QACd,eAAe;QACf,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiCF;KACF,AApCY,CAoCZ;IAOD,MAAM;QACJ,OAAO,IAAI,CAAA;;2CAE4B,IAAI,CAAC,OAAO;;KAElD,CAAA;IACH,CAAC;IAED,OAAO,CAAC,OAAO;QACb,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,YAAY,EAAE,CAAA;QACrB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,CAAA;QAEhC,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;gBAClC,KAAK,EAAE,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAoDT;gBACD,SAAS,EAAE;oBACT,EAAE;iBACH;aACF,CAAC,CAAA;YAEF,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAA;QACtC,CAAC;IACH,CAAC;;AApF2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;oDAAY;AACX;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;qDAAa;AAE/B;IAAR,KAAK,EAAE;;sDAAc;AA1ClB,qBAAqB;IAD1B,aAAa,CAAC,0BAA0B,CAAC;GACpC,qBAAqB,CA4H1B","sourcesContent":["import '@operato/dataset/ox-data-ooc-brief-view.js'\n\nimport gql from 'graphql-tag'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { ScrollbarStyles } from '@operato/styles'\n\n@customElement('activity-ooc-review-view')\nclass OocReviewActivityView extends localize(i18next)(LitElement) {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: var(--md-sys-color-surface);\n }\n\n div[content] {\n flex: 1;\n flex-direction: column;\n\n display: flex;\n overflow: auto;\n }\n\n ox-data-ooc-brief-view {\n flex: 1;\n padding: var(--spacing-large);\n overflow: auto;\n }\n\n @media print {\n :host {\n display: block;\n overflow: visible;\n }\n\n div[content] {\n display: block;\n overflow: visible;\n }\n }\n `\n ]\n\n @property({ type: Object }) input?: any\n @property({ type: Object }) output?: any\n\n @state() dataOoc?: any\n\n render() {\n return html`\n <div content>\n <ox-data-ooc-brief-view .dataOoc=${this.dataOoc}></ox-data-ooc-brief-view>\n </div>\n `\n }\n\n updated(changes) {\n if (changes.has('input')) {\n this.fetchDataOoc()\n }\n }\n\n async fetchDataOoc() {\n const id = this.input?.dataOocId\n\n if (id) {\n const response = await client.query({\n query: gql`\n query ($id: String!) {\n dataOoc(id: $id) {\n id\n name\n description\n ooc\n oos\n state\n type\n useCase\n data\n judgment\n history\n correctiveAction\n correctiveInstruction\n dataSet {\n id\n name\n monitorType\n monitorView\n }\n dataItems {\n name\n description\n active\n hidden\n tag\n group\n subgroup\n type\n unit\n options\n quota\n spec\n stat\n }\n workDate\n workShift\n reviewer {\n id\n name\n }\n corrector {\n id\n name\n }\n collectedAt\n reviewedAt\n correctedAt\n }\n }\n `,\n variables: {\n id\n }\n })\n\n this.dataOoc = response.data.dataOoc\n }\n }\n}\n"]}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import '@material/web/icon/icon.js';
|
2
|
+
import '@operato/dataset/ox-checklist-entry-form.js';
|
3
|
+
import { LitElement } from 'lit';
|
4
|
+
import { DataSet } from '@operato/dataset';
|
5
|
+
import { OxChecklistEntryForm } from '@operato/dataset/ox-checklist-entry-form.js';
|
6
|
+
declare const ChecklistEntryForm_base: (new (...args: any[]) => LitElement) & typeof LitElement;
|
7
|
+
export declare class ChecklistEntryForm extends ChecklistEntryForm_base {
|
8
|
+
static styles: import("lit").CSSResult[];
|
9
|
+
dataSet?: DataSet & {
|
10
|
+
id: string;
|
11
|
+
entryType?: string;
|
12
|
+
};
|
13
|
+
dataSample?: {
|
14
|
+
id: string;
|
15
|
+
collectedAt: Date;
|
16
|
+
};
|
17
|
+
entryForm?: OxChecklistEntryForm;
|
18
|
+
render(): import("lit-html").TemplateResult<1>;
|
19
|
+
private updateDataItems;
|
20
|
+
}
|
21
|
+
export {};
|
@@ -0,0 +1,107 @@
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
2
|
+
import '@material/web/icon/icon.js';
|
3
|
+
import '@operato/dataset/ox-checklist-entry-form.js';
|
4
|
+
import gql from 'graphql-tag';
|
5
|
+
import { css, html, LitElement } from 'lit';
|
6
|
+
import { customElement, property, query, state } from 'lit/decorators.js';
|
7
|
+
import { client } from '@operato/graphql';
|
8
|
+
import { i18next, localize } from '@operato/i18n';
|
9
|
+
import { CommonHeaderStyles, ScrollbarStyles } from '@operato/styles';
|
10
|
+
import { OxChecklistEntryForm } from '@operato/dataset/ox-checklist-entry-form.js';
|
11
|
+
let ChecklistEntryForm = class ChecklistEntryForm extends localize(i18next)(LitElement) {
|
12
|
+
static { this.styles = [
|
13
|
+
CommonHeaderStyles,
|
14
|
+
ScrollbarStyles,
|
15
|
+
css `
|
16
|
+
:host {
|
17
|
+
display: flex;
|
18
|
+
flex-direction: column;
|
19
|
+
|
20
|
+
background-color: var(--md-sys-color-surface);
|
21
|
+
}
|
22
|
+
|
23
|
+
ox-checklist-entry-form {
|
24
|
+
flex: 1;
|
25
|
+
padding: 10px;
|
26
|
+
overflow: auto;
|
27
|
+
}
|
28
|
+
|
29
|
+
.footer span {
|
30
|
+
font-size: 0.8em;
|
31
|
+
color: var(--md-sys-color-on-surface);
|
32
|
+
line-height: 1.5;
|
33
|
+
padding: 10px;
|
34
|
+
}
|
35
|
+
`
|
36
|
+
]; }
|
37
|
+
render() {
|
38
|
+
return html `
|
39
|
+
<ox-checklist-entry-form .dataSet=${this.dataSet}></ox-checklist-entry-form>
|
40
|
+
|
41
|
+
<div class="footer">
|
42
|
+
<div filler></div>
|
43
|
+
${!this.dataSample
|
44
|
+
? html `
|
45
|
+
<button @click=${this.updateDataItems.bind(this)} done>
|
46
|
+
<md-icon>save</md-icon>${i18next.t('button.save')}
|
47
|
+
</button>
|
48
|
+
`
|
49
|
+
: html ` <span>${i18next.t('field.collected-at')}: ${this.dataSample.collectedAt.toLocaleString()}</span> `}
|
50
|
+
</div>
|
51
|
+
`;
|
52
|
+
}
|
53
|
+
async updateDataItems() {
|
54
|
+
//@ts-ignore TODO replace with following line and confirm
|
55
|
+
const data = this.entryForm.buildValue();
|
56
|
+
const dataSample = {
|
57
|
+
dataSet: {
|
58
|
+
id: this.dataSet?.id
|
59
|
+
},
|
60
|
+
data
|
61
|
+
};
|
62
|
+
if (this.dataSample?.collectedAt) {
|
63
|
+
dataSample.collectedAt = this.dataSample.collectedAt;
|
64
|
+
}
|
65
|
+
const response = await client.mutate({
|
66
|
+
mutation: gql `
|
67
|
+
mutation ($dataSample: NewDataSample!) {
|
68
|
+
createDataSample(dataSample: $dataSample) {
|
69
|
+
id
|
70
|
+
collectedAt
|
71
|
+
}
|
72
|
+
}
|
73
|
+
`,
|
74
|
+
variables: {
|
75
|
+
dataSample
|
76
|
+
},
|
77
|
+
context: {
|
78
|
+
hasUpload: true
|
79
|
+
}
|
80
|
+
});
|
81
|
+
if (!response.errors) {
|
82
|
+
const { id, collectedAt } = response.data.createDataSample;
|
83
|
+
this.dataSample = {
|
84
|
+
id,
|
85
|
+
collectedAt: new Date(collectedAt)
|
86
|
+
};
|
87
|
+
document.dispatchEvent(new CustomEvent('notify', { detail: { message: i18next.t('text.data sample created successfully') } }));
|
88
|
+
}
|
89
|
+
}
|
90
|
+
};
|
91
|
+
__decorate([
|
92
|
+
property({ type: Object }),
|
93
|
+
__metadata("design:type", Object)
|
94
|
+
], ChecklistEntryForm.prototype, "dataSet", void 0);
|
95
|
+
__decorate([
|
96
|
+
state(),
|
97
|
+
__metadata("design:type", Object)
|
98
|
+
], ChecklistEntryForm.prototype, "dataSample", void 0);
|
99
|
+
__decorate([
|
100
|
+
query('ox-checklist-entry-form'),
|
101
|
+
__metadata("design:type", OxChecklistEntryForm)
|
102
|
+
], ChecklistEntryForm.prototype, "entryForm", void 0);
|
103
|
+
ChecklistEntryForm = __decorate([
|
104
|
+
customElement('checklist-entry-form')
|
105
|
+
], ChecklistEntryForm);
|
106
|
+
export { ChecklistEntryForm };
|
107
|
+
//# sourceMappingURL=checklist-entry-form.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"checklist-entry-form.js","sourceRoot":"","sources":["../../client/components/checklist-entry-form.ts"],"names":[],"mappings":";AAAA,OAAO,4BAA4B,CAAA;AACnC,OAAO,6CAA6C,CAAA;AAEpD,OAAO,GAAG,MAAM,aAAa,CAAA;AAC7B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAErE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAA;AAG3E,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;aAC5D,WAAM,GAAG;QACd,kBAAkB;QAClB,eAAe;QACf,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;KAoBF;KACF,AAxBY,CAwBZ;IAQD,MAAM;QACJ,OAAO,IAAI,CAAA;0CAC2B,IAAI,CAAC,OAAO;;;;UAI5C,CAAC,IAAI,CAAC,UAAU;YAChB,CAAC,CAAC,IAAI,CAAA;+BACe,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;yCACrB,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;;aAEpD;YACH,CAAC,CAAC,IAAI,CAAA,UAAU,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,EAAE,UAAU;;KAE/G,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,yDAAyD;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAA;QAExC,MAAM,UAAU,GAAG;YACjB,OAAO,EAAE;gBACP,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE;aACrB;YACD,IAAI;SACE,CAAA;QAER,IAAI,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC;YACjC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAA;QACtD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;YACnC,QAAQ,EAAE,GAAG,CAAA;;;;;;;OAOZ;YACD,SAAS,EAAE;gBACT,UAAU;aACX;YACD,OAAO,EAAE;gBACP,SAAS,EAAE,IAAI;aAChB;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrB,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAA;YAC1D,IAAI,CAAC,UAAU,GAAG;gBAChB,EAAE;gBACF,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC;aACnC,CAAA;YAED,QAAQ,CAAC,aAAa,CACpB,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,uCAAuC,CAAC,EAAE,EAAE,CAAC,CACvG,CAAA;QACH,CAAC;IACH,CAAC;;AAlE2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mDAAuD;AAEzE;IAAR,KAAK,EAAE;;sDAA+C;AAErB;IAAjC,KAAK,CAAC,yBAAyB,CAAC;8BAAa,oBAAoB;qDAAA;AA/BvD,kBAAkB;IAD9B,aAAa,CAAC,sBAAsB,CAAC;GACzB,kBAAkB,CA8F9B","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@operato/dataset/ox-checklist-entry-form.js'\n\nimport gql from 'graphql-tag'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { CommonHeaderStyles, ScrollbarStyles } from '@operato/styles'\nimport { DataSet } from '@operato/dataset'\nimport { OxChecklistEntryForm } from '@operato/dataset/ox-checklist-entry-form.js'\n\n@customElement('checklist-entry-form')\nexport class ChecklistEntryForm extends localize(i18next)(LitElement) {\n static styles = [\n CommonHeaderStyles,\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: var(--md-sys-color-surface);\n }\n\n ox-checklist-entry-form {\n flex: 1;\n padding: 10px;\n overflow: auto;\n }\n\n .footer span {\n font-size: 0.8em;\n color: var(--md-sys-color-on-surface);\n line-height: 1.5;\n padding: 10px;\n }\n `\n ]\n\n @property({ type: Object }) dataSet?: DataSet & { id: string; entryType?: string }\n\n @state() dataSample?: { id: string; collectedAt: Date }\n\n @query('ox-checklist-entry-form') entryForm?: OxChecklistEntryForm\n\n render() {\n return html`\n <ox-checklist-entry-form .dataSet=${this.dataSet}></ox-checklist-entry-form>\n\n <div class=\"footer\">\n <div filler></div>\n ${!this.dataSample\n ? html`\n <button @click=${this.updateDataItems.bind(this)} done>\n <md-icon>save</md-icon>${i18next.t('button.save')}\n </button>\n `\n : html` <span>${i18next.t('field.collected-at')}: ${this.dataSample.collectedAt.toLocaleString()}</span> `}\n </div>\n `\n }\n\n private async updateDataItems() {\n //@ts-ignore TODO replace with following line and confirm\n const data = this.entryForm.buildValue()\n\n const dataSample = {\n dataSet: {\n id: this.dataSet?.id\n },\n data\n } as any\n\n if (this.dataSample?.collectedAt) {\n dataSample.collectedAt = this.dataSample.collectedAt\n }\n\n const response = await client.mutate({\n mutation: gql`\n mutation ($dataSample: NewDataSample!) {\n createDataSample(dataSample: $dataSample) {\n id\n collectedAt\n }\n }\n `,\n variables: {\n dataSample\n },\n context: {\n hasUpload: true\n }\n })\n\n if (!response.errors) {\n const { id, collectedAt } = response.data.createDataSample\n this.dataSample = {\n id,\n collectedAt: new Date(collectedAt)\n }\n\n document.dispatchEvent(\n new CustomEvent('notify', { detail: { message: i18next.t('text.data sample created successfully') } })\n )\n }\n }\n}\n"]}
|
@@ -1,19 +1,20 @@
|
|
1
1
|
import '@material/web/icon/icon.js';
|
2
2
|
import '@operato/dataset/ox-data-entry-form.js';
|
3
3
|
import { LitElement } from 'lit';
|
4
|
-
import { OxDataEntryForm } from '@operato/dataset/ox-data-entry-form.js';
|
5
4
|
import { DataSet } from '@operato/dataset';
|
5
|
+
import { OxDataEntryForm } from '@operato/dataset/ox-data-entry-form.js';
|
6
6
|
declare const DataEntryForm_base: (new (...args: any[]) => LitElement) & typeof LitElement;
|
7
7
|
export declare class DataEntryForm extends DataEntryForm_base {
|
8
8
|
static styles: import("lit").CSSResult[];
|
9
9
|
dataSet?: DataSet & {
|
10
10
|
id: string;
|
11
|
+
entryType?: string;
|
11
12
|
};
|
12
13
|
dataSample?: {
|
13
14
|
id: string;
|
14
15
|
collectedAt: Date;
|
15
16
|
};
|
16
|
-
|
17
|
+
dataEntryForm?: OxDataEntryForm;
|
17
18
|
render(): import("lit-html").TemplateResult<1>;
|
18
19
|
private updateDataItems;
|
19
20
|
}
|
@@ -9,6 +9,31 @@ import { i18next, localize } from '@operato/i18n';
|
|
9
9
|
import { CommonHeaderStyles, ScrollbarStyles } from '@operato/styles';
|
10
10
|
import { OxDataEntryForm } from '@operato/dataset/ox-data-entry-form.js';
|
11
11
|
let DataEntryForm = class DataEntryForm extends localize(i18next)(LitElement) {
|
12
|
+
static { this.styles = [
|
13
|
+
CommonHeaderStyles,
|
14
|
+
ScrollbarStyles,
|
15
|
+
css `
|
16
|
+
:host {
|
17
|
+
display: flex;
|
18
|
+
flex-direction: column;
|
19
|
+
|
20
|
+
background-color: var(--md-sys-color-surface);
|
21
|
+
}
|
22
|
+
|
23
|
+
ox-data-entry-form {
|
24
|
+
flex: 1;
|
25
|
+
padding: 10px;
|
26
|
+
overflow: auto;
|
27
|
+
}
|
28
|
+
|
29
|
+
.footer span {
|
30
|
+
font-size: 0.8em;
|
31
|
+
color: var(--md-sys-color-on-surface);
|
32
|
+
line-height: 1.5;
|
33
|
+
padding: 10px;
|
34
|
+
}
|
35
|
+
`
|
36
|
+
]; }
|
12
37
|
render() {
|
13
38
|
return html `
|
14
39
|
<ox-data-entry-form .dataSet=${this.dataSet}></ox-data-entry-form>
|
@@ -26,16 +51,15 @@ let DataEntryForm = class DataEntryForm extends localize(i18next)(LitElement) {
|
|
26
51
|
`;
|
27
52
|
}
|
28
53
|
async updateDataItems() {
|
29
|
-
var _a, _b;
|
30
54
|
//@ts-ignore TODO replace with following line and confirm
|
31
|
-
const data = this.
|
55
|
+
const data = this.dataEntryForm.buildValue();
|
32
56
|
const dataSample = {
|
33
57
|
dataSet: {
|
34
|
-
id:
|
58
|
+
id: this.dataSet?.id
|
35
59
|
},
|
36
60
|
data
|
37
61
|
};
|
38
|
-
if (
|
62
|
+
if (this.dataSample?.collectedAt) {
|
39
63
|
dataSample.collectedAt = this.dataSample.collectedAt;
|
40
64
|
}
|
41
65
|
const response = await client.mutate({
|
@@ -64,31 +88,6 @@ let DataEntryForm = class DataEntryForm extends localize(i18next)(LitElement) {
|
|
64
88
|
}
|
65
89
|
}
|
66
90
|
};
|
67
|
-
DataEntryForm.styles = [
|
68
|
-
CommonHeaderStyles,
|
69
|
-
ScrollbarStyles,
|
70
|
-
css `
|
71
|
-
:host {
|
72
|
-
display: flex;
|
73
|
-
flex-direction: column;
|
74
|
-
|
75
|
-
background-color: var(--md-sys-color-surface);
|
76
|
-
}
|
77
|
-
|
78
|
-
ox-data-entry-form {
|
79
|
-
flex: 1;
|
80
|
-
padding: 10px;
|
81
|
-
overflow: auto;
|
82
|
-
}
|
83
|
-
|
84
|
-
.footer span {
|
85
|
-
font-size: 0.8em;
|
86
|
-
color: var(--md-sys-color-on-surface);
|
87
|
-
line-height: 1.5;
|
88
|
-
padding: 10px;
|
89
|
-
}
|
90
|
-
`
|
91
|
-
];
|
92
91
|
__decorate([
|
93
92
|
property({ type: Object }),
|
94
93
|
__metadata("design:type", Object)
|
@@ -100,7 +99,7 @@ __decorate([
|
|
100
99
|
__decorate([
|
101
100
|
query('ox-data-entry-form'),
|
102
101
|
__metadata("design:type", OxDataEntryForm)
|
103
|
-
], DataEntryForm.prototype, "
|
102
|
+
], DataEntryForm.prototype, "dataEntryForm", void 0);
|
104
103
|
DataEntryForm = __decorate([
|
105
104
|
customElement('data-entry-form')
|
106
105
|
], DataEntryForm);
|