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

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 (136) 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 +50 -21
  7. package/client/pages/data-ooc/data-ooc-page.ts +44 -0
  8. package/client/pages/data-ooc/data-ooc-view.ts +158 -19
  9. package/client/pages/data-ooc/data-oocs-page.ts +71 -3
  10. package/client/pages/data-sample/data-sample-list-page.ts +33 -16
  11. package/client/pages/data-sample/data-sample-page.ts +7 -0
  12. package/client/pages/data-sample/data-sample-search-page.ts +12 -12
  13. package/client/pages/data-sample/data-sample-view.ts +145 -22
  14. package/client/pages/data-sample/data-samples-page.ts +133 -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/client/pages/data-summary/data-summary-list-page.ts +12 -24
  18. package/dist-client/activities/activity-data-collect-view.js +7 -0
  19. package/dist-client/activities/activity-data-collect-view.js.map +1 -1
  20. package/dist-client/activities/activity-data-review-edit.d.ts +1 -1
  21. package/dist-client/activities/activity-data-review-edit.js +63 -5
  22. package/dist-client/activities/activity-data-review-edit.js.map +1 -1
  23. package/dist-client/activities/activity-data-review-view.d.ts +1 -1
  24. package/dist-client/activities/activity-data-review-view.js +75 -5
  25. package/dist-client/activities/activity-data-review-view.js.map +1 -1
  26. package/dist-client/activities/activity-ooc-resolve-view.js +12 -0
  27. package/dist-client/activities/activity-ooc-resolve-view.js.map +1 -1
  28. package/dist-client/activities/activity-ooc-review-view.js +12 -0
  29. package/dist-client/activities/activity-ooc-review-view.js.map +1 -1
  30. package/dist-client/pages/data-ooc/data-ooc-list-page.js +50 -21
  31. package/dist-client/pages/data-ooc/data-ooc-list-page.js.map +1 -1
  32. package/dist-client/pages/data-ooc/data-ooc-page.js +44 -0
  33. package/dist-client/pages/data-ooc/data-ooc-page.js.map +1 -1
  34. package/dist-client/pages/data-ooc/data-ooc-view.d.ts +6 -3
  35. package/dist-client/pages/data-ooc/data-ooc-view.js +155 -22
  36. package/dist-client/pages/data-ooc/data-ooc-view.js.map +1 -1
  37. package/dist-client/pages/data-ooc/data-oocs-page.d.ts +1 -0
  38. package/dist-client/pages/data-ooc/data-oocs-page.js +71 -3
  39. package/dist-client/pages/data-ooc/data-oocs-page.js.map +1 -1
  40. package/dist-client/pages/data-sample/data-sample-list-page.js +33 -16
  41. package/dist-client/pages/data-sample/data-sample-list-page.js.map +1 -1
  42. package/dist-client/pages/data-sample/data-sample-page.js +7 -0
  43. package/dist-client/pages/data-sample/data-sample-page.js.map +1 -1
  44. package/dist-client/pages/data-sample/data-sample-search-page.js +12 -12
  45. package/dist-client/pages/data-sample/data-sample-search-page.js.map +1 -1
  46. package/dist-client/pages/data-sample/data-sample-view.d.ts +18 -0
  47. package/dist-client/pages/data-sample/data-sample-view.js +144 -21
  48. package/dist-client/pages/data-sample/data-sample-view.js.map +1 -1
  49. package/dist-client/pages/data-sample/data-samples-page.d.ts +2 -0
  50. package/dist-client/pages/data-sample/data-samples-page.js +134 -5
  51. package/dist-client/pages/data-sample/data-samples-page.js.map +1 -1
  52. package/dist-client/pages/data-sensor/data-sensor-list-page.js +28 -6
  53. package/dist-client/pages/data-sensor/data-sensor-list-page.js.map +1 -1
  54. package/dist-client/pages/data-set/data-item-list.js +2 -2
  55. package/dist-client/pages/data-set/data-item-list.js.map +1 -1
  56. package/dist-client/pages/data-summary/data-summary-list-page.js +12 -21
  57. package/dist-client/pages/data-summary/data-summary-list-page.js.map +1 -1
  58. package/dist-client/tsconfig.tsbuildinfo +1 -1
  59. package/dist-server/activities/activity-data-collect.js.map +1 -1
  60. package/dist-server/activities/activity-data-review.js.map +1 -1
  61. package/dist-server/activities/activity-ooc-review.js +3 -2
  62. package/dist-server/activities/activity-ooc-review.js.map +1 -1
  63. package/dist-server/controllers/create-data-sample.js +27 -29
  64. package/dist-server/controllers/create-data-sample.js.map +1 -1
  65. package/dist-server/controllers/issue-collect-data.js +55 -0
  66. package/dist-server/controllers/issue-collect-data.js.map +1 -0
  67. package/dist-server/engine/index.js +4 -0
  68. package/dist-server/engine/index.js.map +1 -0
  69. package/dist-server/engine/task/create-data-sample.js +80 -0
  70. package/dist-server/engine/task/create-data-sample.js.map +1 -0
  71. package/dist-server/engine/task/index.js +5 -0
  72. package/dist-server/engine/task/index.js.map +1 -0
  73. package/dist-server/engine/task/issue-collect-data.js +40 -0
  74. package/dist-server/engine/task/issue-collect-data.js.map +1 -0
  75. package/dist-server/index.js +1 -0
  76. package/dist-server/index.js.map +1 -1
  77. package/dist-server/routes.js +36 -65
  78. package/dist-server/routes.js.map +1 -1
  79. package/dist-server/service/data-ooc/data-ooc-query.js +32 -0
  80. package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -1
  81. package/dist-server/service/data-ooc/data-ooc.js +15 -26
  82. package/dist-server/service/data-ooc/data-ooc.js.map +1 -1
  83. package/dist-server/service/data-sample/data-sample-query.js +24 -0
  84. package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
  85. package/dist-server/service/data-sample/data-sample.js +17 -21
  86. package/dist-server/service/data-sample/data-sample.js.map +1 -1
  87. package/dist-server/service/data-sensor/data-sensor-query.js +16 -1
  88. package/dist-server/service/data-sensor/data-sensor-query.js.map +1 -1
  89. package/dist-server/service/data-sensor/data-sensor-type.js +8 -0
  90. package/dist-server/service/data-sensor/data-sensor-type.js.map +1 -1
  91. package/dist-server/service/data-sensor/data-sensor.js +15 -1
  92. package/dist-server/service/data-sensor/data-sensor.js.map +1 -1
  93. package/dist-server/service/data-set/data-item-type.js +1 -0
  94. package/dist-server/service/data-set/data-item-type.js.map +1 -1
  95. package/dist-server/service/data-set/data-set-query.js +2 -2
  96. package/dist-server/service/data-set/data-set-query.js.map +1 -1
  97. package/dist-server/service/data-summary/data-summary.js +8 -8
  98. package/dist-server/service/data-summary/data-summary.js.map +1 -1
  99. package/dist-server/tsconfig.tsbuildinfo +1 -1
  100. package/helps/dataset/task/create-data-sample.ja.md +28 -0
  101. package/helps/dataset/task/create-data-sample.ko.md +28 -0
  102. package/helps/dataset/task/create-data-sample.md +28 -0
  103. package/helps/dataset/task/create-data-sample.ms.md +30 -0
  104. package/helps/dataset/task/create-data-sample.zh.md +28 -0
  105. package/helps/dataset/task/issue-collect-data.ja.md +35 -0
  106. package/helps/dataset/task/issue-collect-data.ko.md +32 -0
  107. package/helps/dataset/task/issue-collect-data.md +32 -0
  108. package/helps/dataset/task/issue-collect-data.ms.md +34 -0
  109. package/helps/dataset/task/issue-collect-data.zh.md +32 -0
  110. package/package.json +11 -11
  111. package/server/activities/activity-data-collect.ts +3 -11
  112. package/server/activities/activity-data-review.ts +1 -5
  113. package/server/activities/activity-ooc-review.ts +6 -16
  114. package/server/controllers/create-data-sample.ts +31 -38
  115. package/server/controllers/issue-collect-data.ts +61 -0
  116. package/server/engine/index.ts +1 -0
  117. package/server/engine/task/create-data-sample.ts +92 -0
  118. package/server/engine/task/index.ts +2 -0
  119. package/server/engine/task/issue-collect-data.ts +45 -0
  120. package/server/index.ts +1 -0
  121. package/server/routes.ts +47 -76
  122. package/server/service/data-ooc/data-ooc-query.ts +17 -0
  123. package/server/service/data-ooc/data-ooc.ts +17 -28
  124. package/server/service/data-sample/data-sample-query.ts +17 -17
  125. package/server/service/data-sample/data-sample.ts +18 -23
  126. package/server/service/data-sensor/data-sensor-query.ts +13 -1
  127. package/server/service/data-sensor/data-sensor-type.ts +6 -0
  128. package/server/service/data-sensor/data-sensor.ts +13 -11
  129. package/server/service/data-set/data-item-type.ts +1 -0
  130. package/server/service/data-set/data-set-query.ts +7 -7
  131. package/server/service/data-summary/data-summary.ts +10 -23
  132. package/translations/en.json +14 -2
  133. package/translations/ja.json +11 -1
  134. package/translations/ko.json +13 -1
  135. package/translations/ms.json +10 -0
  136. 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) {
@@ -83,6 +114,7 @@ export class DataOocsPage extends localize(i18next)(PageView) {
83
114
  name
84
115
  description
85
116
  active
117
+ hidden
86
118
  tag
87
119
  group
88
120
  type
@@ -90,6 +122,7 @@ export class DataOocsPage extends localize(i18next)(PageView) {
90
122
  options
91
123
  quota
92
124
  spec
125
+ stat
93
126
  }
94
127
  data
95
128
  rawData
@@ -118,6 +151,41 @@ export class DataOocsPage extends localize(i18next)(PageView) {
118
151
  }
119
152
  updatedAt
120
153
  collectedAt
154
+ reviewActivityInstance {
155
+ ...ActivityInstanceFragment
156
+ }
157
+ resolveActivityInstance {
158
+ ...ActivityInstanceFragment
159
+ }
160
+ }
161
+ }
162
+ }
163
+
164
+ fragment ActivityInstanceFragment on ActivityInstance {
165
+ activityThreads {
166
+ assignee {
167
+ name
168
+ }
169
+ output
170
+ activityApprovals {
171
+ judgment
172
+ approver {
173
+ name
174
+ }
175
+ comment
176
+ createdAt
177
+ updatedAt
178
+ terminatedAt
179
+ }
180
+ activityThreadHistories {
181
+ transaction
182
+ reason
183
+ updater {
184
+ name
185
+ }
186
+ updatedAt
187
+ state
188
+ output
121
189
  }
122
190
  }
123
191
  }
@@ -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 {
@@ -107,16 +109,7 @@ export class DataSampleListPage extends connect(store)(localize(i18next)(PageVie
107
109
  gutterName: 'button',
108
110
  fixed: true,
109
111
  icon: 'assignment',
110
- title: i18next.t('title.open data sample view'),
111
- handlers: {
112
- click: (columns, data, column, record, rowIndex) => {
113
- openPopup(html` <data-sample-view data-sample-id=${record.id} style="background-color: white;"></data-sample-view> `, {
114
- backdrop: true,
115
- size: 'large',
116
- title: i18next.t('title.data-sample view')
117
- })
118
- }
119
- }
112
+ title: i18next.t('title.open data sample view')
120
113
  },
121
114
  {
122
115
  type: 'string',
@@ -147,7 +140,10 @@ export class DataSampleListPage extends connect(store)(localize(i18next)(PageVie
147
140
  {
148
141
  type: 'string',
149
142
  name: 'key01',
150
- header: i18next.t('field.key-01'),
143
+ header: {
144
+ renderer: i18next.t('field.key-01'),
145
+ group: i18next.t('field.key')
146
+ },
151
147
  record: {
152
148
  editable: false
153
149
  },
@@ -158,7 +154,10 @@ export class DataSampleListPage extends connect(store)(localize(i18next)(PageVie
158
154
  {
159
155
  type: 'string',
160
156
  name: 'key02',
161
- header: i18next.t('field.key-02'),
157
+ header: {
158
+ renderer: i18next.t('field.key-02'),
159
+ group: i18next.t('field.key')
160
+ },
162
161
  record: {
163
162
  editable: false
164
163
  },
@@ -169,7 +168,10 @@ export class DataSampleListPage extends connect(store)(localize(i18next)(PageVie
169
168
  {
170
169
  type: 'string',
171
170
  name: 'key03',
172
- header: i18next.t('field.key-03'),
171
+ header: {
172
+ renderer: i18next.t('field.key-03'),
173
+ group: i18next.t('field.key')
174
+ },
173
175
  record: {
174
176
  editable: false
175
177
  },
@@ -180,7 +182,10 @@ export class DataSampleListPage extends connect(store)(localize(i18next)(PageVie
180
182
  {
181
183
  type: 'string',
182
184
  name: 'key04',
183
- header: i18next.t('field.key-04'),
185
+ header: {
186
+ renderer: i18next.t('field.key-04'),
187
+ group: i18next.t('field.key')
188
+ },
184
189
  record: {
185
190
  editable: false
186
191
  },
@@ -191,7 +196,10 @@ export class DataSampleListPage extends connect(store)(localize(i18next)(PageVie
191
196
  {
192
197
  type: 'string',
193
198
  name: 'key05',
194
- header: i18next.t('field.key-05'),
199
+ header: {
200
+ renderer: i18next.t('field.key-05'),
201
+ group: i18next.t('field.key')
202
+ },
195
203
  record: {
196
204
  editable: false
197
205
  },
@@ -228,7 +236,7 @@ export class DataSampleListPage extends connect(store)(localize(i18next)(PageVie
228
236
  imex: true
229
237
  },
230
238
  {
231
- type: 'text',
239
+ type: 'json5',
232
240
  name: 'rawData',
233
241
  header: i18next.t('field.raw-data'),
234
242
  record: {
@@ -299,6 +307,15 @@ export class DataSampleListPage extends connect(store)(localize(i18next)(PageVie
299
307
  return {
300
308
  emphasized
301
309
  }
310
+ },
311
+ handlers: {
312
+ click: (columns, data, column, record, rowIndex) => {
313
+ openPopup(html` <data-sample-view data-sample-id=${record.id} style="background-color: white;"></data-sample-view> `, {
314
+ backdrop: true,
315
+ size: 'large',
316
+ title: i18next.t('title.data-sample view')
317
+ })
318
+ }
302
319
  }
303
320
  },
304
321
  sorters: [
@@ -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
 
@@ -174,16 +174,7 @@ export class DataSampleSearchPage extends connect(store)(localize(i18next)(PageV
174
174
  gutterName: 'button',
175
175
  fixed: true,
176
176
  icon: 'assignment',
177
- title: i18next.t('title.open data sample view'),
178
- handlers: {
179
- click: (columns, data, column, record, rowIndex) => {
180
- openPopup(html` <data-sample-view data-sample-id=${record.id} style="background-color: white;"></data-sample-view> `, {
181
- backdrop: true,
182
- size: 'large',
183
- title: i18next.t('title.data-sample view')
184
- })
185
- }
186
- }
177
+ title: i18next.t('title.open data sample view')
187
178
  },
188
179
  {
189
180
  type: 'string',
@@ -302,6 +293,15 @@ export class DataSampleSearchPage extends connect(store)(localize(i18next)(PageV
302
293
  return {
303
294
  emphasized
304
295
  }
296
+ },
297
+ handlers: {
298
+ click: (columns, data, column, record, rowIndex) => {
299
+ openPopup(html` <data-sample-view data-sample-id=${record.id} style="background-color: white;"></data-sample-view> `, {
300
+ backdrop: true,
301
+ size: 'large',
302
+ title: i18next.t('title.data-sample view')
303
+ })
304
+ }
305
305
  }
306
306
  },
307
307
  sorters: [
@@ -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,100 @@ 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
+ hidden
186
+ tag
187
+ group
188
+ type
189
+ unit
190
+ options
191
+ quota
192
+ spec
193
+ }
194
+ data
195
+ rawData
196
+ judgment
197
+ ooc
198
+ oos
199
+ state
200
+ history
201
+ workDate
202
+ workShift
203
+ correctiveInstruction
204
+ correctiveAction
205
+ reviewedAt
206
+ reviewer {
207
+ id
208
+ name
209
+ }
210
+ correctedAt
211
+ corrector {
212
+ id
213
+ name
214
+ }
215
+ updater {
216
+ id
217
+ name
218
+ }
219
+ updatedAt
220
+ collectedAt
221
+
222
+ reviewActivityInstance {
223
+ ...ActivityInstanceFragment
224
+ }
225
+ resolveActivityInstance {
226
+ ...ActivityInstanceFragment
227
+ }
228
+ }
229
+ }
230
+ }
231
+
232
+ fragment ActivityInstanceFragment on ActivityInstance {
233
+ activityThreads {
234
+ assignee {
235
+ name
236
+ }
237
+ output
238
+ activityApprovals {
239
+ judgment
240
+ approver {
241
+ name
242
+ }
243
+ comment
244
+ createdAt
245
+ updatedAt
246
+ terminatedAt
247
+ }
248
+ activityThreadHistories {
249
+ transaction
250
+ reason
251
+ updater {
252
+ name
253
+ }
254
+ updatedAt
255
+ state
256
+ output
132
257
  }
133
- updatedAt
134
- collectedAt
135
258
  }
136
259
  }
137
260
  `,
@@ -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,100 @@ 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
+ hidden
166
+ tag
167
+ group
168
+ type
169
+ unit
170
+ options
171
+ quota
172
+ spec
173
+ stat
174
+ }
175
+ data
176
+ rawData
177
+ judgment
178
+ ooc
179
+ oos
180
+ state
181
+ history
182
+ workDate
183
+ workShift
184
+ correctiveInstruction
185
+ correctiveAction
186
+ reviewedAt
187
+ reviewer {
188
+ id
189
+ name
190
+ }
191
+ correctedAt
192
+ corrector {
193
+ id
194
+ name
195
+ }
196
+ updater {
197
+ id
198
+ name
199
+ }
200
+ updatedAt
201
+ collectedAt
202
+ reviewActivityInstance {
203
+ ...ActivityInstanceFragment
204
+ }
205
+ resolveActivityInstance {
206
+ ...ActivityInstanceFragment
207
+ }
208
+ }
209
+ }
210
+ }
211
+ }
212
+
213
+ fragment ActivityInstanceFragment on ActivityInstance {
214
+ activityThreads {
215
+ assignee {
216
+ name
217
+ }
218
+ output
219
+ activityApprovals {
220
+ judgment
221
+ approver {
222
+ name
223
+ }
224
+ comment
225
+ createdAt
226
+ updatedAt
227
+ terminatedAt
228
+ }
229
+ activityThreadHistories {
230
+ transaction
231
+ reason
104
232
  updater {
105
- id
106
233
  name
107
234
  }
108
235
  updatedAt
109
- collectedAt
236
+ state
237
+ output
110
238
  }
111
239
  }
112
240
  }