@things-factory/dataset 7.0.0-alpha.6 → 7.0.0-alpha.7

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 (117) hide show
  1. package/client/activities/activity-data-collect-view.ts +7 -0
  2. package/client/activities/activity-data-review-edit.ts +66 -4
  3. package/client/activities/activity-data-review-view.ts +78 -4
  4. package/client/activities/activity-ooc-resolve-view.ts +12 -0
  5. package/client/activities/activity-ooc-review-view.ts +12 -0
  6. package/client/pages/data-ooc/data-ooc-list-page.ts +38 -9
  7. package/client/pages/data-ooc/data-ooc-page.ts +42 -0
  8. package/client/pages/data-ooc/data-ooc-view.ts +158 -19
  9. package/client/pages/data-ooc/data-oocs-page.ts +69 -3
  10. package/client/pages/data-sample/data-sample-list-page.ts +23 -6
  11. package/client/pages/data-sample/data-sample-page.ts +7 -0
  12. package/client/pages/data-sample/data-sample-search-page.ts +2 -2
  13. package/client/pages/data-sample/data-sample-view.ts +144 -22
  14. package/client/pages/data-sample/data-samples-page.ts +131 -5
  15. package/client/pages/data-sensor/data-sensor-list-page.ts +28 -6
  16. package/client/pages/data-set/data-item-list.ts +2 -2
  17. package/dist-client/activities/activity-data-collect-view.js +7 -0
  18. package/dist-client/activities/activity-data-collect-view.js.map +1 -1
  19. package/dist-client/activities/activity-data-review-edit.d.ts +1 -1
  20. package/dist-client/activities/activity-data-review-edit.js +63 -5
  21. package/dist-client/activities/activity-data-review-edit.js.map +1 -1
  22. package/dist-client/activities/activity-data-review-view.d.ts +1 -1
  23. package/dist-client/activities/activity-data-review-view.js +75 -5
  24. package/dist-client/activities/activity-data-review-view.js.map +1 -1
  25. package/dist-client/activities/activity-ooc-resolve-view.js +12 -0
  26. package/dist-client/activities/activity-ooc-resolve-view.js.map +1 -1
  27. package/dist-client/activities/activity-ooc-review-view.js +12 -0
  28. package/dist-client/activities/activity-ooc-review-view.js.map +1 -1
  29. package/dist-client/pages/data-ooc/data-ooc-list-page.js +38 -9
  30. package/dist-client/pages/data-ooc/data-ooc-list-page.js.map +1 -1
  31. package/dist-client/pages/data-ooc/data-ooc-page.js +42 -0
  32. package/dist-client/pages/data-ooc/data-ooc-page.js.map +1 -1
  33. package/dist-client/pages/data-ooc/data-ooc-view.d.ts +6 -3
  34. package/dist-client/pages/data-ooc/data-ooc-view.js +155 -22
  35. package/dist-client/pages/data-ooc/data-ooc-view.js.map +1 -1
  36. package/dist-client/pages/data-ooc/data-oocs-page.d.ts +1 -0
  37. package/dist-client/pages/data-ooc/data-oocs-page.js +69 -3
  38. package/dist-client/pages/data-ooc/data-oocs-page.js.map +1 -1
  39. package/dist-client/pages/data-sample/data-sample-list-page.js +23 -6
  40. package/dist-client/pages/data-sample/data-sample-list-page.js.map +1 -1
  41. package/dist-client/pages/data-sample/data-sample-page.js +7 -0
  42. package/dist-client/pages/data-sample/data-sample-page.js.map +1 -1
  43. package/dist-client/pages/data-sample/data-sample-search-page.js +2 -2
  44. package/dist-client/pages/data-sample/data-sample-search-page.js.map +1 -1
  45. package/dist-client/pages/data-sample/data-sample-view.d.ts +18 -0
  46. package/dist-client/pages/data-sample/data-sample-view.js +143 -21
  47. package/dist-client/pages/data-sample/data-sample-view.js.map +1 -1
  48. package/dist-client/pages/data-sample/data-samples-page.d.ts +2 -0
  49. package/dist-client/pages/data-sample/data-samples-page.js +132 -5
  50. package/dist-client/pages/data-sample/data-samples-page.js.map +1 -1
  51. package/dist-client/pages/data-sensor/data-sensor-list-page.js +28 -6
  52. package/dist-client/pages/data-sensor/data-sensor-list-page.js.map +1 -1
  53. package/dist-client/pages/data-set/data-item-list.js +2 -2
  54. package/dist-client/pages/data-set/data-item-list.js.map +1 -1
  55. package/dist-client/tsconfig.tsbuildinfo +1 -1
  56. package/dist-server/activities/activity-data-review.js.map +1 -1
  57. package/dist-server/activities/activity-ooc-review.js +2 -1
  58. package/dist-server/activities/activity-ooc-review.js.map +1 -1
  59. package/dist-server/controllers/create-data-sample.js +27 -29
  60. package/dist-server/controllers/create-data-sample.js.map +1 -1
  61. package/dist-server/engine/index.js +4 -0
  62. package/dist-server/engine/index.js.map +1 -0
  63. package/dist-server/engine/task/create-data-sample.js +80 -0
  64. package/dist-server/engine/task/create-data-sample.js.map +1 -0
  65. package/dist-server/engine/task/index.js +4 -0
  66. package/dist-server/engine/task/index.js.map +1 -0
  67. package/dist-server/index.js +1 -0
  68. package/dist-server/index.js.map +1 -1
  69. package/dist-server/routes.js +35 -27
  70. package/dist-server/routes.js.map +1 -1
  71. package/dist-server/service/data-ooc/data-ooc-query.js +32 -0
  72. package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -1
  73. package/dist-server/service/data-ooc/data-ooc.js +15 -26
  74. package/dist-server/service/data-ooc/data-ooc.js.map +1 -1
  75. package/dist-server/service/data-sample/data-sample-query.js +24 -0
  76. package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
  77. package/dist-server/service/data-sample/data-sample.js +17 -21
  78. package/dist-server/service/data-sample/data-sample.js.map +1 -1
  79. package/dist-server/service/data-sensor/data-sensor-query.js +16 -1
  80. package/dist-server/service/data-sensor/data-sensor-query.js.map +1 -1
  81. package/dist-server/service/data-sensor/data-sensor-type.js +8 -0
  82. package/dist-server/service/data-sensor/data-sensor-type.js.map +1 -1
  83. package/dist-server/service/data-sensor/data-sensor.js +15 -1
  84. package/dist-server/service/data-sensor/data-sensor.js.map +1 -1
  85. package/dist-server/service/data-set/data-item-type.js +1 -0
  86. package/dist-server/service/data-set/data-item-type.js.map +1 -1
  87. package/dist-server/service/data-set/data-set-query.js +2 -2
  88. package/dist-server/service/data-set/data-set-query.js.map +1 -1
  89. package/dist-server/tsconfig.tsbuildinfo +1 -1
  90. package/helps/dataset/task/create-data-sample.ja.md +28 -0
  91. package/helps/dataset/task/create-data-sample.ko.md +28 -0
  92. package/helps/dataset/task/create-data-sample.md +28 -0
  93. package/helps/dataset/task/create-data-sample.ms.md +30 -0
  94. package/helps/dataset/task/create-data-sample.zh.md +28 -0
  95. package/package.json +11 -11
  96. package/server/activities/activity-data-review.ts +1 -5
  97. package/server/activities/activity-ooc-review.ts +5 -15
  98. package/server/controllers/create-data-sample.ts +31 -38
  99. package/server/engine/index.ts +1 -0
  100. package/server/engine/task/create-data-sample.ts +92 -0
  101. package/server/engine/task/index.ts +1 -0
  102. package/server/index.ts +1 -0
  103. package/server/routes.ts +47 -31
  104. package/server/service/data-ooc/data-ooc-query.ts +17 -0
  105. package/server/service/data-ooc/data-ooc.ts +17 -28
  106. package/server/service/data-sample/data-sample-query.ts +17 -17
  107. package/server/service/data-sample/data-sample.ts +18 -23
  108. package/server/service/data-sensor/data-sensor-query.ts +13 -1
  109. package/server/service/data-sensor/data-sensor-type.ts +6 -0
  110. package/server/service/data-sensor/data-sensor.ts +13 -11
  111. package/server/service/data-set/data-item-type.ts +1 -0
  112. package/server/service/data-set/data-set-query.ts +7 -7
  113. package/translations/en.json +14 -2
  114. package/translations/ja.json +11 -1
  115. package/translations/ko.json +13 -1
  116. package/translations/ms.json +10 -0
  117. package/translations/zh.json +11 -1
@@ -1,7 +1,8 @@
1
1
  import '@operato/dataset/ox-data-ooc-brief-view.js'
2
+ import '@things-factory/worklist/dist-client/components/activity-thread-timeline.js'
2
3
 
3
4
  import gql from 'graphql-tag'
4
- import { PropertyValues, html, css } from 'lit'
5
+ import { PropertyValues, html, css, nothing } from 'lit'
5
6
  import { customElement, state } from 'lit/decorators.js'
6
7
  import { PageView } from '@operato/shell'
7
8
  import { i18next, localize } from '@operato/i18n'
@@ -19,7 +20,11 @@ export class DataOocsPage extends localize(i18next)(PageView) {
19
20
  overflow: auto;
20
21
  }
21
22
 
22
- ox-data-ooc-brief-view {
23
+ activity-thread-timeline {
24
+ margin: var(--margin-default);
25
+ }
26
+
27
+ .end {
23
28
  page-break-after: always;
24
29
  break-after: always;
25
30
  }
@@ -35,7 +40,33 @@ export class DataOocsPage extends localize(i18next)(PageView) {
35
40
  }
36
41
 
37
42
  render() {
38
- return this.dataOocs?.map(dataOoc => html` <ox-data-ooc-brief-view .dataOoc=${dataOoc}></ox-data-ooc-brief-view> `)
43
+ return this.dataOocs?.map(dataOoc => {
44
+ const reviewActivityThread = dataOoc?.reviewActivityInstance?.activityThreads?.[0]
45
+ const resolveActivityThread = dataOoc?.resolveActivityInstance?.activityThreads?.[0]
46
+
47
+ return html`
48
+ <ox-data-ooc-brief-view .dataOoc=${dataOoc}></ox-data-ooc-brief-view>
49
+ ${reviewActivityThread
50
+ ? html`
51
+ <activity-thread-timeline
52
+ subtitle=${String(i18next.t('label.ooc review timeline'))}
53
+ .activityThread=${reviewActivityThread}
54
+ short-form
55
+ ></activity-thread-timeline>
56
+ `
57
+ : nothing}
58
+ ${resolveActivityThread
59
+ ? html`
60
+ <activity-thread-timeline
61
+ subtitle=${String(i18next.t('label.ooc resolve timeline'))}
62
+ .activityThread=${resolveActivityThread}
63
+ short-form
64
+ ></activity-thread-timeline>
65
+ `
66
+ : nothing}
67
+ <div class="end"></div>
68
+ `
69
+ })
39
70
  }
40
71
 
41
72
  pageUpdated(changes: any, lifecycle: any, before: any) {
@@ -118,6 +149,41 @@ export class DataOocsPage extends localize(i18next)(PageView) {
118
149
  }
119
150
  updatedAt
120
151
  collectedAt
152
+ reviewActivityInstance {
153
+ ...ActivityInstanceFragment
154
+ }
155
+ resolveActivityInstance {
156
+ ...ActivityInstanceFragment
157
+ }
158
+ }
159
+ }
160
+ }
161
+
162
+ fragment ActivityInstanceFragment on ActivityInstance {
163
+ activityThreads {
164
+ assignee {
165
+ name
166
+ }
167
+ output
168
+ activityApprovals {
169
+ judgment
170
+ approver {
171
+ name
172
+ }
173
+ comment
174
+ createdAt
175
+ updatedAt
176
+ terminatedAt
177
+ }
178
+ activityThreadHistories {
179
+ transaction
180
+ reason
181
+ updater {
182
+ name
183
+ }
184
+ updatedAt
185
+ state
186
+ output
121
187
  }
122
188
  }
123
189
  }
@@ -28,6 +28,8 @@ export class DataSampleListPage extends connect(store)(localize(i18next)(PageVie
28
28
  flex-direction: column;
29
29
 
30
30
  overflow: hidden;
31
+
32
+ --grid-header-padding: 2px 0 2px 9px;
31
33
  }
32
34
 
33
35
  ox-grist {
@@ -147,7 +149,10 @@ export class DataSampleListPage extends connect(store)(localize(i18next)(PageVie
147
149
  {
148
150
  type: 'string',
149
151
  name: 'key01',
150
- header: i18next.t('field.key-01'),
152
+ header: {
153
+ renderer: i18next.t('field.key-01'),
154
+ group: i18next.t('field.key')
155
+ },
151
156
  record: {
152
157
  editable: false
153
158
  },
@@ -158,7 +163,10 @@ export class DataSampleListPage extends connect(store)(localize(i18next)(PageVie
158
163
  {
159
164
  type: 'string',
160
165
  name: 'key02',
161
- header: i18next.t('field.key-02'),
166
+ header: {
167
+ renderer: i18next.t('field.key-02'),
168
+ group: i18next.t('field.key')
169
+ },
162
170
  record: {
163
171
  editable: false
164
172
  },
@@ -169,7 +177,10 @@ export class DataSampleListPage extends connect(store)(localize(i18next)(PageVie
169
177
  {
170
178
  type: 'string',
171
179
  name: 'key03',
172
- header: i18next.t('field.key-03'),
180
+ header: {
181
+ renderer: i18next.t('field.key-03'),
182
+ group: i18next.t('field.key')
183
+ },
173
184
  record: {
174
185
  editable: false
175
186
  },
@@ -180,7 +191,10 @@ export class DataSampleListPage extends connect(store)(localize(i18next)(PageVie
180
191
  {
181
192
  type: 'string',
182
193
  name: 'key04',
183
- header: i18next.t('field.key-04'),
194
+ header: {
195
+ renderer: i18next.t('field.key-04'),
196
+ group: i18next.t('field.key')
197
+ },
184
198
  record: {
185
199
  editable: false
186
200
  },
@@ -191,7 +205,10 @@ export class DataSampleListPage extends connect(store)(localize(i18next)(PageVie
191
205
  {
192
206
  type: 'string',
193
207
  name: 'key05',
194
- header: i18next.t('field.key-05'),
208
+ header: {
209
+ renderer: i18next.t('field.key-05'),
210
+ group: i18next.t('field.key')
211
+ },
195
212
  record: {
196
213
  editable: false
197
214
  },
@@ -228,7 +245,7 @@ export class DataSampleListPage extends connect(store)(localize(i18next)(PageVie
228
245
  imex: true
229
246
  },
230
247
  {
231
- type: 'text',
248
+ type: 'json5',
232
249
  name: 'rawData',
233
250
  header: i18next.t('field.raw-data'),
234
251
  record: {
@@ -16,6 +16,13 @@ export class DataSampleViewPage extends localize(i18next)(PageView) {
16
16
  data-sample-view {
17
17
  flex: 1;
18
18
  }
19
+
20
+ @media print {
21
+ :host {
22
+ display: block;
23
+ overflow: visible;
24
+ }
25
+ }
19
26
  `
20
27
  ]
21
28
 
@@ -405,8 +405,8 @@ export class DataSampleSearchPage extends connect(store)(localize(i18next)(PageV
405
405
  const ids = selected.map(record => record.id).join('|')
406
406
 
407
407
  GhostPrint.print({
408
- src: `./data-samples?ids=${ids}`,
409
- pending: 300 * selected.length
408
+ src: `./data-samples?ids=${ids}`
409
+ // pending: 200 * selected.length
410
410
  })
411
411
  }
412
412
  }
@@ -1,4 +1,6 @@
1
1
  import '@operato/dataset/ox-data-sample-view.js'
2
+ import '@operato/dataset/ox-data-ooc-brief-view.js'
3
+ import '@things-factory/worklist/dist-client/components/activity-thread-timeline.js'
2
4
 
3
5
  import gql from 'graphql-tag'
4
6
  import { css, html, LitElement, nothing } from 'lit'
@@ -11,25 +13,28 @@ import { DataSample } from '@operato/dataset'
11
13
  import { GhostPrint } from '@operato/ghost-print'
12
14
 
13
15
  @customElement('data-sample-view')
14
- class DataSampleView extends localize(i18next)(LitElement) {
16
+ export class DataSampleView extends localize(i18next)(LitElement) {
15
17
  static styles = [
16
18
  ScrollbarStyles,
17
19
  css`
18
20
  :host {
19
- display: flex;
20
- flex-direction: column;
21
-
21
+ position: relative;
22
+ display: block;
23
+ overflow: auto;
22
24
  background-color: #fff;
23
25
  }
24
26
 
25
- ox-data-sample-view {
26
- flex: 1;
27
+ ox-data-sample-view,
28
+ ox-data-ooc-brief-view {
27
29
  padding: var(--padding-wide);
28
- overflow: auto;
30
+ }
31
+
32
+ activity-thread-timeline {
33
+ margin: var(--margin-default);
29
34
  }
30
35
 
31
36
  mwc-fab {
32
- position: absolute;
37
+ position: fixed;
33
38
  bottom: 15px;
34
39
  right: 16px;
35
40
  text-decoration: auto;
@@ -37,15 +42,6 @@ class DataSampleView extends localize(i18next)(LitElement) {
37
42
  }
38
43
 
39
44
  @media print {
40
- :host {
41
- display: block;
42
- }
43
-
44
- ox-data-sample-view {
45
- flex: unset;
46
- overflow: visible;
47
- }
48
-
49
45
  mwc-fab {
50
46
  display: none;
51
47
  }
@@ -64,8 +60,41 @@ class DataSampleView extends localize(i18next)(LitElement) {
64
60
  private printHandler = this.handlePrint.bind(this)
65
61
 
66
62
  render() {
63
+ const dataSample = this.dataSample
64
+
65
+ if (!dataSample) {
66
+ return nothing
67
+ }
68
+
69
+ if (dataSample.dataOoc) {
70
+ var reviewActivityThread = dataSample.dataOoc.reviewActivityInstance?.activityThreads?.[0]
71
+ var resolveActivityThread = dataSample.dataOoc.resolveActivityInstance?.activityThreads?.[0]
72
+ } else {
73
+ var reviewActivityThread = dataSample?.reviewActivityInstance?.activityThreads?.[0]
74
+ }
75
+
67
76
  return html`
68
- ${this.dataSample ? html`<ox-data-sample-view .dataSample=${this.dataSample}></ox-data-sample-view>` : nothing}
77
+ ${!dataSample?.dataOoc
78
+ ? html` <ox-data-sample-view .dataSample=${dataSample}></ox-data-sample-view> `
79
+ : html` <ox-data-ooc-brief-view .dataOoc=${dataSample!.dataOoc}></ox-data-ooc-brief-view>`}
80
+ ${reviewActivityThread
81
+ ? html`
82
+ <activity-thread-timeline
83
+ subtitle=${String(i18next.t(dataSample?.dataOoc ? 'label.ooc review timeline' : 'label.datasample review timeline'))}
84
+ .activityThread=${reviewActivityThread}
85
+ short-form
86
+ ></activity-thread-timeline>
87
+ `
88
+ : nothing}
89
+ ${resolveActivityThread
90
+ ? html`
91
+ <activity-thread-timeline
92
+ subtitle=${String(i18next.t('label.ooc resolve timeline'))}
93
+ .activityThread=${resolveActivityThread}
94
+ short-form
95
+ ></activity-thread-timeline>
96
+ `
97
+ : nothing}
69
98
 
70
99
  <mwc-fab
71
100
  icon="print"
@@ -104,6 +133,12 @@ class DataSampleView extends localize(i18next)(LitElement) {
104
133
  data
105
134
  ooc
106
135
  oos
136
+ updatedAt
137
+ collectedAt
138
+ updater {
139
+ id
140
+ name
141
+ }
107
142
  dataSet {
108
143
  id
109
144
  name
@@ -126,12 +161,99 @@ class DataSampleView extends localize(i18next)(LitElement) {
126
161
  judgment
127
162
  workDate
128
163
  workShift
129
- updater {
130
- id
164
+ reviewActivityInstance {
165
+ ...ActivityInstanceFragment
166
+ }
167
+ dataOoc {
131
168
  name
169
+ description
170
+ useCase
171
+ dataSet {
172
+ id
173
+ name
174
+ }
175
+ key01
176
+ key02
177
+ key03
178
+ key04
179
+ key05
180
+ partitionKeys
181
+ dataItems {
182
+ name
183
+ description
184
+ active
185
+ tag
186
+ group
187
+ type
188
+ unit
189
+ options
190
+ quota
191
+ spec
192
+ }
193
+ data
194
+ rawData
195
+ judgment
196
+ ooc
197
+ oos
198
+ state
199
+ history
200
+ workDate
201
+ workShift
202
+ correctiveInstruction
203
+ correctiveAction
204
+ reviewedAt
205
+ reviewer {
206
+ id
207
+ name
208
+ }
209
+ correctedAt
210
+ corrector {
211
+ id
212
+ name
213
+ }
214
+ updater {
215
+ id
216
+ name
217
+ }
218
+ updatedAt
219
+ collectedAt
220
+
221
+ reviewActivityInstance {
222
+ ...ActivityInstanceFragment
223
+ }
224
+ resolveActivityInstance {
225
+ ...ActivityInstanceFragment
226
+ }
227
+ }
228
+ }
229
+ }
230
+
231
+ fragment ActivityInstanceFragment on ActivityInstance {
232
+ activityThreads {
233
+ assignee {
234
+ name
235
+ }
236
+ output
237
+ activityApprovals {
238
+ judgment
239
+ approver {
240
+ name
241
+ }
242
+ comment
243
+ createdAt
244
+ updatedAt
245
+ terminatedAt
246
+ }
247
+ activityThreadHistories {
248
+ transaction
249
+ reason
250
+ updater {
251
+ name
252
+ }
253
+ updatedAt
254
+ state
255
+ output
132
256
  }
133
- updatedAt
134
- collectedAt
135
257
  }
136
258
  }
137
259
  `,
@@ -1,7 +1,9 @@
1
1
  import '@operato/dataset/ox-data-sample-view.js'
2
+ import '@operato/dataset/ox-data-ooc-brief-view.js'
3
+ import '@things-factory/worklist/dist-client/components/activity-thread-timeline.js'
2
4
 
3
5
  import gql from 'graphql-tag'
4
- import { PropertyValues, html, css } from 'lit'
6
+ import { PropertyValues, html, css, nothing } from 'lit'
5
7
  import { customElement, state } from 'lit/decorators.js'
6
8
  import { PageView } from '@operato/shell'
7
9
  import { i18next, localize } from '@operato/i18n'
@@ -19,7 +21,7 @@ export class DataSamplesPage extends localize(i18next)(PageView) {
19
21
  overflow: auto;
20
22
  }
21
23
 
22
- ox-data-sample-view {
24
+ .end {
23
25
  page-break-after: always;
24
26
  break-after: always;
25
27
  }
@@ -35,7 +37,39 @@ export class DataSamplesPage extends localize(i18next)(PageView) {
35
37
  }
36
38
 
37
39
  render() {
38
- return this.dataSamples?.map(dataSample => html` <ox-data-sample-view .dataSample=${dataSample}></ox-data-sample-view> `)
40
+ return this.dataSamples?.map(dataSample => {
41
+ if (dataSample?.dataOoc) {
42
+ var reviewActivityThread = dataSample.dataOoc.reviewActivityInstance?.activityThreads?.[0]
43
+ var resolveActivityThread = dataSample.dataOoc.resolveActivityInstance?.activityThreads?.[0]
44
+ } else {
45
+ var reviewActivityThread = dataSample?.reviewActivityInstance?.activityThreads?.[0]
46
+ }
47
+
48
+ return html`
49
+ ${!dataSample.dataOoc
50
+ ? html` <ox-data-sample-view .dataSample=${dataSample}></ox-data-sample-view> `
51
+ : html` <ox-data-ooc-brief-view .dataOoc=${dataSample.dataOoc}></ox-data-ooc-brief-view>`}
52
+ ${reviewActivityThread
53
+ ? html`
54
+ <activity-thread-timeline
55
+ subtitle=${String(i18next.t(dataSample?.dataOoc ? 'label.ooc review timeline' : 'label.datasample review timeline'))}
56
+ .activityThread=${reviewActivityThread}
57
+ short-form
58
+ ></activity-thread-timeline>
59
+ `
60
+ : nothing}
61
+ ${resolveActivityThread
62
+ ? html`
63
+ <activity-thread-timeline
64
+ subtitle=${String(i18next.t('label.ooc resolve timeline'))}
65
+ .activityThread=${resolveActivityThread}
66
+ short-form
67
+ ></activity-thread-timeline>
68
+ `
69
+ : nothing}
70
+ <div class="end"></div>
71
+ `
72
+ })
39
73
  }
40
74
 
41
75
  updated(changes: PropertyValues<this>) {}
@@ -79,6 +113,12 @@ export class DataSamplesPage extends localize(i18next)(PageView) {
79
113
  data
80
114
  ooc
81
115
  oos
116
+ updatedAt
117
+ collectedAt
118
+ updater {
119
+ id
120
+ name
121
+ }
82
122
  dataSet {
83
123
  id
84
124
  name
@@ -101,12 +141,98 @@ export class DataSamplesPage extends localize(i18next)(PageView) {
101
141
  judgment
102
142
  workDate
103
143
  workShift
144
+ reviewActivityInstance {
145
+ ...ActivityInstanceFragment
146
+ }
147
+ dataOoc {
148
+ name
149
+ description
150
+ useCase
151
+ dataSet {
152
+ id
153
+ name
154
+ }
155
+ key01
156
+ key02
157
+ key03
158
+ key04
159
+ key05
160
+ partitionKeys
161
+ dataItems {
162
+ name
163
+ description
164
+ active
165
+ tag
166
+ group
167
+ type
168
+ unit
169
+ options
170
+ quota
171
+ spec
172
+ }
173
+ data
174
+ rawData
175
+ judgment
176
+ ooc
177
+ oos
178
+ state
179
+ history
180
+ workDate
181
+ workShift
182
+ correctiveInstruction
183
+ correctiveAction
184
+ reviewedAt
185
+ reviewer {
186
+ id
187
+ name
188
+ }
189
+ correctedAt
190
+ corrector {
191
+ id
192
+ name
193
+ }
194
+ updater {
195
+ id
196
+ name
197
+ }
198
+ updatedAt
199
+ collectedAt
200
+ reviewActivityInstance {
201
+ ...ActivityInstanceFragment
202
+ }
203
+ resolveActivityInstance {
204
+ ...ActivityInstanceFragment
205
+ }
206
+ }
207
+ }
208
+ }
209
+ }
210
+
211
+ fragment ActivityInstanceFragment on ActivityInstance {
212
+ activityThreads {
213
+ assignee {
214
+ name
215
+ }
216
+ output
217
+ activityApprovals {
218
+ judgment
219
+ approver {
220
+ name
221
+ }
222
+ comment
223
+ createdAt
224
+ updatedAt
225
+ terminatedAt
226
+ }
227
+ activityThreadHistories {
228
+ transaction
229
+ reason
104
230
  updater {
105
- id
106
231
  name
107
232
  }
108
233
  updatedAt
109
- collectedAt
234
+ state
235
+ output
110
236
  }
111
237
  }
112
238
  }
@@ -90,12 +90,7 @@ export class DataSensorListPage extends connect(store)(localize(i18next)(PageVie
90
90
  const mode = this.mode || (isMobileDevice() ? 'LIST' : 'GRID')
91
91
 
92
92
  return html`
93
- <ox-grist
94
- .mode=${mode}
95
- .config=${this.gristConfig}
96
- .fetchHandler=${this.fetchHandler.bind(this)}
97
- ?url-params-sensitive=${this.active}
98
- >
93
+ <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)} ?url-params-sensitive=${this.active}>
99
94
  <div slot="headroom" class="header">
100
95
  <div class="title">
101
96
  <mwc-icon>summarize</mwc-icon>
@@ -191,6 +186,28 @@ export class DataSensorListPage extends connect(store)(localize(i18next)(PageVie
191
186
  sortable: true,
192
187
  width: 120
193
188
  },
189
+ {
190
+ type: 'resource-object',
191
+ name: 'decoder',
192
+ header: {
193
+ renderer: i18next.t('field.decoder-scenario')
194
+ },
195
+ record: {
196
+ editable: true,
197
+ options: {
198
+ title: i18next.t('title.lookup scenario'),
199
+ queryName: 'scenarios',
200
+ columns: [
201
+ { name: 'id', hidden: true },
202
+ { name: 'name', header: i18next.t('field.name'), filter: 'search' },
203
+ { name: 'description', header: i18next.t('field.description'), filter: 'search' }
204
+ ],
205
+ list: { fields: ['name', 'description'] }
206
+ }
207
+ },
208
+ filter: false,
209
+ width: 120
210
+ },
194
211
  {
195
212
  type: 'object',
196
213
  name: 'dataSet',
@@ -315,6 +332,11 @@ export class DataSensorListPage extends connect(store)(localize(i18next)(PageVie
315
332
  name
316
333
  description
317
334
  }
335
+ decoder {
336
+ id
337
+ name
338
+ description
339
+ }
318
340
  refBy
319
341
  brand
320
342
  model
@@ -153,7 +153,7 @@ class DataItemList extends localize(i18next)(LitElement) {
153
153
  name: 'type',
154
154
  header: i18next.t('field.type'),
155
155
  record: {
156
- options: ['', 'number', 'text', 'select', 'boolean', 'date', 'datetime', 'file'],
156
+ options: ['', 'number', 'text', 'select', 'radio', 'boolean', 'date', 'datetime', 'file'],
157
157
  editable: true
158
158
  },
159
159
  width: 120
@@ -170,7 +170,7 @@ class DataItemList extends localize(i18next)(LitElement) {
170
170
  name: record.type,
171
171
  help: '',
172
172
  spec:
173
- record.type === 'select'
173
+ record.type === 'select' || record.type === 'radio'
174
174
  ? [
175
175
  {
176
176
  type: 'options' /* property-editor type */,
@@ -66,6 +66,13 @@ DataCollectActivityView.styles = [
66
66
  padding: 10px;
67
67
  overflow: auto;
68
68
  }
69
+
70
+ @media print {
71
+ :host {
72
+ display: block;
73
+ overflow: visible;
74
+ }
75
+ }
69
76
  `
70
77
  ];
71
78
  __decorate([