@things-factory/dataset 8.0.0 → 9.0.0-beta.3

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 (147) hide show
  1. package/dist-client/activities/activity-data-review-edit.d.ts +5 -1
  2. package/dist-client/activities/activity-data-review-edit.js +143 -5
  3. package/dist-client/activities/activity-data-review-edit.js.map +1 -1
  4. package/dist-client/pages/data-entry/data-entry-list-page.js +2 -2
  5. package/dist-client/pages/data-entry/data-entry-list-page.js.map +1 -1
  6. package/dist-client/tsconfig.tsbuildinfo +1 -1
  7. package/dist-server/activities/activity-data-review.js +18 -5
  8. package/dist-server/activities/activity-data-review.js.map +1 -1
  9. package/dist-server/activities/activity-ooc-review.js +13 -52
  10. package/dist-server/activities/activity-ooc-review.js.map +1 -1
  11. package/dist-server/controllers/create-data-ooc.d.ts +4 -0
  12. package/dist-server/controllers/create-data-ooc.js +65 -0
  13. package/dist-server/controllers/create-data-ooc.js.map +1 -0
  14. package/dist-server/controllers/create-data-sample.js +4 -94
  15. package/dist-server/controllers/create-data-sample.js.map +1 -1
  16. package/dist-server/controllers/index.d.ts +3 -0
  17. package/dist-server/controllers/index.js +3 -0
  18. package/dist-server/controllers/index.js.map +1 -1
  19. package/dist-server/controllers/issue-ooc-resolve.d.ts +3 -0
  20. package/dist-server/controllers/issue-ooc-resolve.js +49 -0
  21. package/dist-server/controllers/issue-ooc-resolve.js.map +1 -0
  22. package/dist-server/controllers/issue-ooc-review.d.ts +3 -0
  23. package/dist-server/controllers/issue-ooc-review.js +47 -0
  24. package/dist-server/controllers/issue-ooc-review.js.map +1 -0
  25. package/dist-server/service/data-sample/data-sample-query.d.ts +1 -1
  26. package/dist-server/service/data-sample/data-sample-query.js +3 -3
  27. package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
  28. package/dist-server/service/index.d.ts +1 -1
  29. package/dist-server/tsconfig.tsbuildinfo +1 -1
  30. package/package.json +26 -26
  31. package/translations/en.json +3 -0
  32. package/translations/ja.json +3 -0
  33. package/translations/ko.json +3 -0
  34. package/translations/ms.json +3 -0
  35. package/translations/zh.json +3 -0
  36. package/client/activities/activity-data-collect-edit.ts +0 -105
  37. package/client/activities/activity-data-collect-view.ts +0 -91
  38. package/client/activities/activity-data-review-edit.ts +0 -133
  39. package/client/activities/activity-data-review-view.ts +0 -145
  40. package/client/activities/activity-ooc-resolve-edit.ts +0 -195
  41. package/client/activities/activity-ooc-resolve-view.ts +0 -143
  42. package/client/activities/activity-ooc-review-edit.ts +0 -173
  43. package/client/activities/activity-ooc-review-view.ts +0 -129
  44. package/client/bootstrap.ts +0 -35
  45. package/client/components/data-entry-form.ts +0 -109
  46. package/client/index.ts +0 -1
  47. package/client/pages/data-archive/data-archive-list-page.ts +0 -277
  48. package/client/pages/data-archive/data-archive-request-popup.ts +0 -177
  49. package/client/pages/data-entry/data-entry-list-page.ts +0 -464
  50. package/client/pages/data-key-set/data-key-item-list.ts +0 -183
  51. package/client/pages/data-key-set/data-key-set-importer.ts +0 -89
  52. package/client/pages/data-key-set/data-key-set-list-page.ts +0 -413
  53. package/client/pages/data-ooc/data-ooc-list-page.ts +0 -549
  54. package/client/pages/data-ooc/data-ooc-page.ts +0 -164
  55. package/client/pages/data-ooc/data-ooc-view.ts +0 -236
  56. package/client/pages/data-ooc/data-oocs-page.ts +0 -200
  57. package/client/pages/data-report/data-report-embed-page.ts +0 -108
  58. package/client/pages/data-report/data-report-list-page.ts +0 -454
  59. package/client/pages/data-report/data-report-samples-page.ts +0 -174
  60. package/client/pages/data-report/jasper-report-oocs-page.ts +0 -110
  61. package/client/pages/data-report/jasper-report-samples-crosstab-page.ts +0 -110
  62. package/client/pages/data-report/jasper-report-samples-page.ts +0 -110
  63. package/client/pages/data-sample/data-sample-list-page.ts +0 -442
  64. package/client/pages/data-sample/data-sample-page.ts +0 -55
  65. package/client/pages/data-sample/data-sample-search-page.ts +0 -424
  66. package/client/pages/data-sample/data-sample-view.ts +0 -292
  67. package/client/pages/data-sample/data-samples-page.ts +0 -249
  68. package/client/pages/data-sensor/data-sensor-list-page.ts +0 -456
  69. package/client/pages/data-set/data-item-list.ts +0 -304
  70. package/client/pages/data-set/data-set-importer.ts +0 -89
  71. package/client/pages/data-set/data-set-list-page.ts +0 -1078
  72. package/client/pages/data-summary/data-summary-list-page.ts +0 -363
  73. package/client/pages/data-summary/data-summary-period-page.ts +0 -439
  74. package/client/pages/data-summary/data-summary-search-page.ts +0 -426
  75. package/client/pages/data-summary/data-summary-view.ts +0 -133
  76. package/client/route.ts +0 -91
  77. package/client/tsconfig.json +0 -13
  78. package/server/activities/activity-data-collect.ts +0 -100
  79. package/server/activities/activity-data-review.ts +0 -82
  80. package/server/activities/activity-ooc-resolve.ts +0 -123
  81. package/server/activities/activity-ooc-review.ts +0 -144
  82. package/server/activities/index.ts +0 -11
  83. package/server/controllers/create-data-sample.ts +0 -426
  84. package/server/controllers/data-use-case.ts +0 -98
  85. package/server/controllers/finalize-data-collection.ts +0 -388
  86. package/server/controllers/index.ts +0 -3
  87. package/server/controllers/issue-data-collection-task.ts +0 -70
  88. package/server/controllers/jasper-report.ts +0 -186
  89. package/server/controllers/query-data-summary-by-period.ts +0 -178
  90. package/server/controllers/shiny-report.ts +0 -54
  91. package/server/engine/index.ts +0 -1
  92. package/server/engine/task/create-data-sample.ts +0 -100
  93. package/server/engine/task/index.ts +0 -2
  94. package/server/engine/task/issue-collect-data.ts +0 -45
  95. package/server/index.ts +0 -8
  96. package/server/routes.ts +0 -188
  97. package/server/service/data-archive/data-archive-mutation.ts +0 -273
  98. package/server/service/data-archive/data-archive-query.ts +0 -58
  99. package/server/service/data-archive/data-archive-type.ts +0 -48
  100. package/server/service/data-archive/data-archive.ts +0 -69
  101. package/server/service/data-archive/index.ts +0 -6
  102. package/server/service/data-key-set/data-key-item-type.ts +0 -31
  103. package/server/service/data-key-set/data-key-set-mutation.ts +0 -201
  104. package/server/service/data-key-set/data-key-set-query.ts +0 -68
  105. package/server/service/data-key-set/data-key-set-type.ts +0 -70
  106. package/server/service/data-key-set/data-key-set.ts +0 -86
  107. package/server/service/data-key-set/index.ts +0 -6
  108. package/server/service/data-ooc/data-ooc-mutation.ts +0 -154
  109. package/server/service/data-ooc/data-ooc-query.ts +0 -106
  110. package/server/service/data-ooc/data-ooc-subscription.ts +0 -48
  111. package/server/service/data-ooc/data-ooc-type.ts +0 -71
  112. package/server/service/data-ooc/data-ooc.ts +0 -259
  113. package/server/service/data-ooc/index.ts +0 -7
  114. package/server/service/data-sample/data-sample-mutation.ts +0 -18
  115. package/server/service/data-sample/data-sample-query.ts +0 -215
  116. package/server/service/data-sample/data-sample-type.ts +0 -47
  117. package/server/service/data-sample/data-sample.ts +0 -193
  118. package/server/service/data-sample/index.ts +0 -6
  119. package/server/service/data-sensor/data-sensor-mutation.ts +0 -116
  120. package/server/service/data-sensor/data-sensor-query.ts +0 -76
  121. package/server/service/data-sensor/data-sensor-type.ts +0 -104
  122. package/server/service/data-sensor/data-sensor.ts +0 -126
  123. package/server/service/data-sensor/index.ts +0 -6
  124. package/server/service/data-set/data-item-type.ts +0 -155
  125. package/server/service/data-set/data-set-mutation.ts +0 -552
  126. package/server/service/data-set/data-set-query.ts +0 -461
  127. package/server/service/data-set/data-set-type.ts +0 -204
  128. package/server/service/data-set/data-set.ts +0 -326
  129. package/server/service/data-set/index.ts +0 -6
  130. package/server/service/data-set-history/data-set-history-query.ts +0 -126
  131. package/server/service/data-set-history/data-set-history-type.ts +0 -12
  132. package/server/service/data-set-history/data-set-history.ts +0 -217
  133. package/server/service/data-set-history/event-subscriber.ts +0 -17
  134. package/server/service/data-set-history/index.ts +0 -7
  135. package/server/service/data-spec/data-spec-manager.ts +0 -21
  136. package/server/service/data-spec/data-spec-query.ts +0 -21
  137. package/server/service/data-spec/data-spec.ts +0 -45
  138. package/server/service/data-spec/index.ts +0 -5
  139. package/server/service/data-summary/data-summary-mutation.ts +0 -45
  140. package/server/service/data-summary/data-summary-query.ts +0 -179
  141. package/server/service/data-summary/data-summary-type.ts +0 -86
  142. package/server/service/data-summary/data-summary.ts +0 -170
  143. package/server/service/data-summary/index.ts +0 -7
  144. package/server/service/index.ts +0 -57
  145. package/server/tsconfig.json +0 -10
  146. package/server/utils/config-resolver.ts +0 -29
  147. package/server/utils/index.ts +0 -1
@@ -1,363 +0,0 @@
1
- import '@material/web/icon/icon.js'
2
- import '@operato/data-grist'
3
- import '@operato/context/ox-context-page-toolbar.js'
4
- import './data-summary-view.js'
5
-
6
- import { CommonHeaderStyles, ScrollbarStyles } from '@operato/styles'
7
- import { PageView, store } from '@operato/shell'
8
- import { css, html } from 'lit'
9
- import { customElement, property, query, state } from 'lit/decorators.js'
10
- import moment from '@operato/moment-timezone-es'
11
- import { DataGrist, GristRecord, FetchOption } from '@operato/data-grist'
12
- import { client } from '@operato/graphql'
13
- import { i18next, localize } from '@operato/i18n'
14
- import { notify, openPopup } from '@operato/layout'
15
- import { isMobileDevice } from '@operato/utils'
16
-
17
- import { connect } from 'pwa-helpers/connect-mixin'
18
- import gql from 'graphql-tag'
19
-
20
- @customElement('data-summary-list-page')
21
- export class DataSummaryListPage extends connect(store)(localize(i18next)(PageView)) {
22
- static styles = [
23
- ScrollbarStyles,
24
- CommonHeaderStyles,
25
- css`
26
- :host {
27
- display: flex;
28
- flex-direction: column;
29
-
30
- overflow: hidden;
31
- }
32
-
33
- ox-grist {
34
- overflow-y: auto;
35
- flex: 1;
36
- }
37
-
38
- .header {
39
- grid-template-areas: 'filters actions';
40
- }
41
- `
42
- ]
43
-
44
- @state() private mode: 'CARD' | 'GRID' | 'LIST' = isMobileDevice() ? 'CARD' : 'GRID'
45
- @state() private gristConfig: any
46
-
47
- @query('ox-grist') private grist!: DataGrist
48
-
49
- get context() {
50
- return {
51
- title: i18next.t('title.data-summary list'),
52
- search: {
53
- handler: (search: string) => {
54
- this.grist.searchText = search
55
- },
56
- value: this.grist?.searchText || ''
57
- },
58
- filter: {
59
- handler: () => {
60
- this.grist.toggleHeadroom()
61
- }
62
- },
63
- help: 'dataset/data-summary',
64
- exportable: {
65
- name: i18next.t('title.data-summary list'),
66
- data: this._exportableData.bind(this)
67
- },
68
- toolbar: false
69
- }
70
- }
71
-
72
- render() {
73
- const mode = this.mode || (isMobileDevice() ? 'LIST' : 'GRID')
74
-
75
- return html`
76
- <ox-grist
77
- .mode=${mode}
78
- .config=${this.gristConfig}
79
- .fetchHandler=${this.fetchHandler.bind(this)}
80
- ?url-params-sensitive=${false /* this.active */}
81
- >
82
- <div slot="headroom" class="header">
83
- <div class="filters">
84
- <ox-filters-form autofocus without-search></ox-filters-form>
85
- </div>
86
-
87
- <ox-context-page-toolbar class="actions" .context=${this.context}></ox-context-page-toolbar>
88
- </div>
89
- </ox-grist>
90
- `
91
- }
92
-
93
- async pageInitialized(lifecycle) {
94
- const yesterday = moment().subtract(1, 'day').format('YYYY-MM-DD')
95
- const today = moment().format('YYYY-MM-DD')
96
-
97
- this.gristConfig = {
98
- list: { fields: ['dataSet', 'data', 'updater', 'updatedAt'] },
99
- columns: [
100
- { type: 'gutter', gutterName: 'sequence', fixed: true },
101
- { type: 'gutter', gutterName: 'row-selector', multiple: true, fixed: true },
102
- {
103
- type: 'gutter',
104
- gutterName: 'button',
105
- fixed: true,
106
- icon: 'assignment',
107
- iconOnly: false,
108
- title: i18next.t('button.detail'),
109
- width: 72
110
- },
111
- {
112
- type: 'string',
113
- name: 'name',
114
- fixed: true,
115
- label: true,
116
- header: i18next.t('field.name'),
117
- record: {
118
- editable: false
119
- },
120
- filter: 'search',
121
- sortable: true,
122
- width: 120,
123
- imex: true
124
- },
125
- {
126
- type: 'string',
127
- name: 'description',
128
- label: true,
129
- header: i18next.t('field.description'),
130
- record: {
131
- editable: false
132
- },
133
- filter: 'search',
134
- width: 150,
135
- imex: true
136
- },
137
- {
138
- type: 'string',
139
- name: 'date',
140
- header: i18next.t('field.date'),
141
- sortable: true,
142
- filter: {
143
- type: 'date',
144
- operator: 'between',
145
- value: [yesterday, today]
146
- },
147
- width: 80,
148
- imex: true
149
- },
150
- {
151
- type: 'string',
152
- name: 'period',
153
- header: i18next.t('field.time-period'),
154
- sortable: true,
155
- width: 60,
156
- imex: true
157
- },
158
- ...Array.from({ length: 5 }, (_, idx) => {
159
- return {
160
- type: 'string',
161
- name: `key0${idx + 1}`,
162
- header: {
163
- renderer: i18next.t(`field.key-0${idx + 1}`),
164
- group: i18next.t('field.key')
165
- },
166
- record: {
167
- editable: false
168
- },
169
- width: 120,
170
- imex: true
171
- }
172
- }),
173
- ...Array.from({ length: 5 }, (_, idx) => {
174
- return {
175
- type: 'number',
176
- name: `data0${idx + 1}`,
177
- header: {
178
- renderer: i18next.t(`field.data-0${idx + 1}`),
179
- group: i18next.t('field.data')
180
- },
181
- record: {
182
- editable: false,
183
- align: 'right'
184
- },
185
- width: 120,
186
- imex: true
187
- }
188
- }),
189
- {
190
- type: 'number',
191
- name: 'count',
192
- header: i18next.t('field.count'),
193
- record: {
194
- editable: false
195
- },
196
- width: 30
197
- },
198
- {
199
- type: 'number',
200
- name: 'countOoc',
201
- header: i18next.t('field.count-ooc'),
202
- record: {
203
- editable: false
204
- },
205
- width: 30
206
- },
207
- {
208
- type: 'number',
209
- name: 'countOos',
210
- header: i18next.t('field.count-oos'),
211
- record: {
212
- editable: false
213
- },
214
- width: 30
215
- },
216
- {
217
- type: 'resource-object',
218
- name: 'updater',
219
- header: i18next.t('field.updater'),
220
- sortable: true,
221
- width: 120,
222
- imex: true
223
- },
224
- {
225
- type: 'datetime',
226
- name: 'updatedAt',
227
- header: i18next.t('field.updated_at'),
228
- sortable: true,
229
- width: 180,
230
- imex: true
231
- }
232
- ],
233
- rows: {
234
- appendable: false,
235
- selectable: {
236
- multiple: true
237
- },
238
- classifier: function (record, rowIndex) {
239
- var emphasized
240
- if (record['oos']) {
241
- emphasized = ['#8B0000', 'white']
242
- } else if (record['ooc']) {
243
- emphasized = ['#FF6B6B', 'white']
244
- }
245
-
246
- return {
247
- emphasized
248
- }
249
- },
250
- handlers: {
251
- click: (columns, data, column, record, rowIndex) => {
252
- openPopup(
253
- html`
254
- <data-summary-view data-summary-id=${record.id} style="background-color: white;"></data-summary-view>
255
- `,
256
- {
257
- backdrop: true,
258
- size: 'large',
259
- title: i18next.t('title.data-summary view')
260
- }
261
- )
262
- }
263
- }
264
- },
265
- sorters: [
266
- {
267
- name: 'date',
268
- desc: true
269
- }
270
- ]
271
- }
272
- }
273
-
274
- async fetchHandler({ page, limit, sortings = [], filters = [] }: FetchOption) {
275
- const response = await client.query({
276
- query: gql`
277
- query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
278
- responses: dataSummaries(filters: $filters, pagination: $pagination, sortings: $sortings) {
279
- items {
280
- id
281
- name
282
- description
283
- dataSet {
284
- id
285
- }
286
- date
287
- period
288
- key01
289
- key02
290
- key03
291
- key04
292
- key05
293
- data01
294
- data02
295
- data03
296
- data04
297
- data05
298
- summary
299
- count
300
- countOoc
301
- countOos
302
- updater {
303
- id
304
- name
305
- }
306
- updatedAt
307
- }
308
- total
309
- }
310
- }
311
- `,
312
- variables: {
313
- filters,
314
- pagination: { page, limit },
315
- sortings
316
- }
317
- })
318
-
319
- return {
320
- total: response.data.responses.total || 0,
321
- records: response.data.responses.items || []
322
- }
323
- }
324
-
325
- _exportableData() {
326
- let records = [] as GristRecord[]
327
- if (this.grist.selected && this.grist.selected.length > 0) {
328
- records = this.grist.selected
329
- } else {
330
- records = this.grist.data.records
331
- }
332
-
333
- var headerSetting = this.grist.compiledConfig.columns
334
- .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)
335
- .map(column => {
336
- return column.imex === true
337
- ? {
338
- header: column.header.renderer(column),
339
- key: column.name,
340
- width: column.width,
341
- type: column.type
342
- }
343
- : column.imex
344
- })
345
-
346
- var data = records.map(item => {
347
- return {
348
- id: item.id,
349
- ...this.gristConfig.columns
350
- .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)
351
- .reduce((record, column) => {
352
- const key = column.imex === true ? column.name : column.imex.key
353
- record[key] = key
354
- .split('.')
355
- .reduce((obj, key) => (obj && obj[key] !== 'undefined' ? obj[key] : undefined), item)
356
- return record
357
- }, {})
358
- }
359
- })
360
-
361
- return { header: headerSetting, data: data }
362
- }
363
- }