@things-factory/dataset 9.0.0-beta.5 → 9.0.0-beta.52

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 (250) hide show
  1. package/dist-client/activities/activity-data-collect-edit.d.ts +8 -1
  2. package/dist-client/activities/activity-data-collect-edit.js +62 -9
  3. package/dist-client/activities/activity-data-collect-edit.js.map +1 -1
  4. package/dist-client/activities/activity-data-review-edit.d.ts +2 -0
  5. package/dist-client/activities/activity-data-review-edit.js +43 -14
  6. package/dist-client/activities/activity-data-review-edit.js.map +1 -1
  7. package/dist-client/activities/activity-data-review-view.d.ts +2 -0
  8. package/dist-client/activities/activity-data-review-view.js +106 -4
  9. package/dist-client/activities/activity-data-review-view.js.map +1 -1
  10. package/dist-client/activities/activity-ooc-resolve-edit.js +7 -0
  11. package/dist-client/activities/activity-ooc-resolve-edit.js.map +1 -1
  12. package/dist-client/activities/activity-ooc-resolve-view.js +7 -0
  13. package/dist-client/activities/activity-ooc-resolve-view.js.map +1 -1
  14. package/dist-client/activities/activity-ooc-review-edit.d.ts +1 -0
  15. package/dist-client/activities/activity-ooc-review-edit.js +28 -4
  16. package/dist-client/activities/activity-ooc-review-edit.js.map +1 -1
  17. package/dist-client/activities/activity-ooc-review-view.js +7 -0
  18. package/dist-client/activities/activity-ooc-review-view.js.map +1 -1
  19. package/dist-client/bootstrap.d.ts +8 -8
  20. package/dist-client/bootstrap.js +8 -8
  21. package/dist-client/bootstrap.js.map +1 -1
  22. package/dist-client/components/checklist-entry-form.d.ts +21 -0
  23. package/dist-client/components/checklist-entry-form.js +108 -0
  24. package/dist-client/components/checklist-entry-form.js.map +1 -0
  25. package/dist-client/components/data-entry-form.d.ts +3 -2
  26. package/dist-client/components/data-entry-form.js +2 -2
  27. package/dist-client/components/data-entry-form.js.map +1 -1
  28. package/dist-client/pages/data-archive/data-archive-list-page.d.ts +1 -1
  29. package/dist-client/pages/data-archive/data-archive-list-page.js +1 -1
  30. package/dist-client/pages/data-archive/data-archive-list-page.js.map +1 -1
  31. package/dist-client/pages/data-entry/data-entry-list-page.d.ts +1 -0
  32. package/dist-client/pages/data-entry/data-entry-list-page.js +12 -2
  33. package/dist-client/pages/data-entry/data-entry-list-page.js.map +1 -1
  34. package/dist-client/pages/data-key-set/data-key-set-list-page.d.ts +1 -1
  35. package/dist-client/pages/data-key-set/data-key-set-list-page.js +1 -1
  36. package/dist-client/pages/data-key-set/data-key-set-list-page.js.map +1 -1
  37. package/dist-client/pages/data-ooc/data-ooc-list-page.js +2 -2
  38. package/dist-client/pages/data-ooc/data-ooc-list-page.js.map +1 -1
  39. package/dist-client/pages/data-ooc/data-ooc-page.js +3 -0
  40. package/dist-client/pages/data-ooc/data-ooc-page.js.map +1 -1
  41. package/dist-client/pages/data-ooc/data-ooc-view.js +3 -0
  42. package/dist-client/pages/data-ooc/data-ooc-view.js.map +1 -1
  43. package/dist-client/pages/data-report/data-report-list-page.js +1 -1
  44. package/dist-client/pages/data-report/data-report-list-page.js.map +1 -1
  45. package/dist-client/pages/data-sample/data-sample-view.d.ts +2 -0
  46. package/dist-client/pages/data-sample/data-sample-view.js +27 -1
  47. package/dist-client/pages/data-sample/data-sample-view.js.map +1 -1
  48. package/dist-client/pages/data-sensor/data-sensor-list-page.js +24 -0
  49. package/dist-client/pages/data-sensor/data-sensor-list-page.js.map +1 -1
  50. package/dist-client/pages/data-set/data-item-list.js +9 -0
  51. package/dist-client/pages/data-set/data-item-list.js.map +1 -1
  52. package/dist-client/pages/data-set/data-set-list-page.d.ts +2 -0
  53. package/dist-client/pages/data-set/data-set-list-page.js +59 -10
  54. package/dist-client/pages/data-set/data-set-list-page.js.map +1 -1
  55. package/dist-client/pages/data-summary/data-summary-period-page.js +53 -37
  56. package/dist-client/pages/data-summary/data-summary-period-page.js.map +1 -1
  57. package/dist-client/tsconfig.tsbuildinfo +1 -1
  58. package/dist-server/activities/activity-data-review.js +9 -9
  59. package/dist-server/activities/activity-data-review.js.map +1 -1
  60. package/dist-server/activities/activity-ooc-resolve.js +3 -3
  61. package/dist-server/activities/activity-ooc-resolve.js.map +1 -1
  62. package/dist-server/activities/activity-ooc-review.js +5 -5
  63. package/dist-server/activities/activity-ooc-review.js.map +1 -1
  64. package/dist-server/activities/index.js +5 -5
  65. package/dist-server/activities/index.js.map +1 -1
  66. package/dist-server/controllers/create-data-ooc.d.ts +3 -3
  67. package/dist-server/controllers/create-data-ooc.js +4 -4
  68. package/dist-server/controllers/create-data-ooc.js.map +1 -1
  69. package/dist-server/controllers/create-data-sample.d.ts +2 -2
  70. package/dist-server/controllers/create-data-sample.js +20 -20
  71. package/dist-server/controllers/create-data-sample.js.map +1 -1
  72. package/dist-server/controllers/data-use-case.d.ts +2 -2
  73. package/dist-server/controllers/data-use-case.js.map +1 -1
  74. package/dist-server/controllers/finalize-data-collection.d.ts +1 -1
  75. package/dist-server/controllers/finalize-data-collection.js +21 -21
  76. package/dist-server/controllers/finalize-data-collection.js.map +1 -1
  77. package/dist-server/controllers/index.d.ts +6 -6
  78. package/dist-server/controllers/index.js +6 -6
  79. package/dist-server/controllers/index.js.map +1 -1
  80. package/dist-server/controllers/issue-data-collection-task.js +3 -3
  81. package/dist-server/controllers/issue-data-collection-task.js.map +1 -1
  82. package/dist-server/controllers/issue-ooc-review.d.ts +2 -2
  83. package/dist-server/controllers/issue-ooc-review.js +2 -2
  84. package/dist-server/controllers/issue-ooc-review.js.map +1 -1
  85. package/dist-server/controllers/jasper-report.js +2 -2
  86. package/dist-server/controllers/jasper-report.js.map +1 -1
  87. package/dist-server/controllers/query-data-summary-by-period.d.ts +2 -2
  88. package/dist-server/controllers/query-data-summary-by-period.js +23 -17
  89. package/dist-server/controllers/query-data-summary-by-period.js.map +1 -1
  90. package/dist-server/controllers/shiny-report.js +2 -2
  91. package/dist-server/controllers/shiny-report.js.map +1 -1
  92. package/dist-server/engine/index.d.ts +1 -1
  93. package/dist-server/engine/index.js +1 -1
  94. package/dist-server/engine/index.js.map +1 -1
  95. package/dist-server/engine/task/create-data-sample.js +4 -4
  96. package/dist-server/engine/task/create-data-sample.js.map +1 -1
  97. package/dist-server/engine/task/index.d.ts +2 -2
  98. package/dist-server/engine/task/index.js +2 -2
  99. package/dist-server/engine/task/index.js.map +1 -1
  100. package/dist-server/engine/task/issue-collect-data.js +2 -2
  101. package/dist-server/engine/task/issue-collect-data.js.map +1 -1
  102. package/dist-server/index.d.ts +6 -6
  103. package/dist-server/index.js +6 -6
  104. package/dist-server/index.js.map +1 -1
  105. package/dist-server/routes.js +12 -12
  106. package/dist-server/routes.js.map +1 -1
  107. package/dist-server/service/data-archive/data-archive-mutation.d.ts +2 -2
  108. package/dist-server/service/data-archive/data-archive-mutation.js +22 -22
  109. package/dist-server/service/data-archive/data-archive-mutation.js.map +1 -1
  110. package/dist-server/service/data-archive/data-archive-query.d.ts +2 -2
  111. package/dist-server/service/data-archive/data-archive-query.js +10 -10
  112. package/dist-server/service/data-archive/data-archive-query.js.map +1 -1
  113. package/dist-server/service/data-archive/data-archive-type.d.ts +1 -1
  114. package/dist-server/service/data-archive/data-archive-type.js +2 -2
  115. package/dist-server/service/data-archive/data-archive-type.js.map +1 -1
  116. package/dist-server/service/data-archive/index.d.ts +3 -3
  117. package/dist-server/service/data-archive/index.js +5 -5
  118. package/dist-server/service/data-archive/index.js.map +1 -1
  119. package/dist-server/service/data-key-set/data-key-set-mutation.d.ts +2 -2
  120. package/dist-server/service/data-key-set/data-key-set-mutation.js +20 -20
  121. package/dist-server/service/data-key-set/data-key-set-mutation.js.map +1 -1
  122. package/dist-server/service/data-key-set/data-key-set-query.d.ts +2 -2
  123. package/dist-server/service/data-key-set/data-key-set-query.js +12 -12
  124. package/dist-server/service/data-key-set/data-key-set-query.js.map +1 -1
  125. package/dist-server/service/data-key-set/data-key-set-type.d.ts +3 -3
  126. package/dist-server/service/data-key-set/data-key-set-type.js +6 -6
  127. package/dist-server/service/data-key-set/data-key-set-type.js.map +1 -1
  128. package/dist-server/service/data-key-set/data-key-set.d.ts +2 -2
  129. package/dist-server/service/data-key-set/data-key-set.js +3 -3
  130. package/dist-server/service/data-key-set/data-key-set.js.map +1 -1
  131. package/dist-server/service/data-key-set/index.d.ts +3 -3
  132. package/dist-server/service/data-key-set/index.js +5 -5
  133. package/dist-server/service/data-key-set/index.js.map +1 -1
  134. package/dist-server/service/data-ooc/data-ooc-mutation.d.ts +2 -2
  135. package/dist-server/service/data-ooc/data-ooc-mutation.js +11 -11
  136. package/dist-server/service/data-ooc/data-ooc-mutation.js.map +1 -1
  137. package/dist-server/service/data-ooc/data-ooc-query.d.ts +5 -5
  138. package/dist-server/service/data-ooc/data-ooc-query.js +27 -27
  139. package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -1
  140. package/dist-server/service/data-ooc/data-ooc-subscription.d.ts +1 -1
  141. package/dist-server/service/data-ooc/data-ooc-subscription.js +3 -3
  142. package/dist-server/service/data-ooc/data-ooc-subscription.js.map +1 -1
  143. package/dist-server/service/data-ooc/data-ooc-type.d.ts +1 -1
  144. package/dist-server/service/data-ooc/data-ooc-type.js +4 -4
  145. package/dist-server/service/data-ooc/data-ooc-type.js.map +1 -1
  146. package/dist-server/service/data-ooc/data-ooc.d.ts +3 -3
  147. package/dist-server/service/data-ooc/data-ooc.js +10 -10
  148. package/dist-server/service/data-ooc/data-ooc.js.map +1 -1
  149. package/dist-server/service/data-ooc/index.d.ts +4 -4
  150. package/dist-server/service/data-ooc/index.js +6 -6
  151. package/dist-server/service/data-ooc/index.js.map +1 -1
  152. package/dist-server/service/data-sample/data-sample-mutation.d.ts +2 -2
  153. package/dist-server/service/data-sample/data-sample-mutation.js +7 -7
  154. package/dist-server/service/data-sample/data-sample-mutation.js.map +1 -1
  155. package/dist-server/service/data-sample/data-sample-query.d.ts +6 -6
  156. package/dist-server/service/data-sample/data-sample-query.js +42 -35
  157. package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
  158. package/dist-server/service/data-sample/data-sample-type.d.ts +1 -1
  159. package/dist-server/service/data-sample/data-sample-type.js +2 -2
  160. package/dist-server/service/data-sample/data-sample-type.js.map +1 -1
  161. package/dist-server/service/data-sample/data-sample.d.ts +3 -3
  162. package/dist-server/service/data-sample/data-sample.js +10 -10
  163. package/dist-server/service/data-sample/data-sample.js.map +1 -1
  164. package/dist-server/service/data-sample/index.d.ts +3 -3
  165. package/dist-server/service/data-sample/index.js +5 -5
  166. package/dist-server/service/data-sample/index.js.map +1 -1
  167. package/dist-server/service/data-sensor/data-sensor-mutation.d.ts +2 -2
  168. package/dist-server/service/data-sensor/data-sensor-mutation.js +14 -14
  169. package/dist-server/service/data-sensor/data-sensor-mutation.js.map +1 -1
  170. package/dist-server/service/data-sensor/data-sensor-query.d.ts +3 -3
  171. package/dist-server/service/data-sensor/data-sensor-query.js +16 -16
  172. package/dist-server/service/data-sensor/data-sensor-query.js.map +1 -1
  173. package/dist-server/service/data-sensor/data-sensor-type.d.ts +5 -1
  174. package/dist-server/service/data-sensor/data-sensor-type.js +18 -2
  175. package/dist-server/service/data-sensor/data-sensor-type.js.map +1 -1
  176. package/dist-server/service/data-sensor/data-sensor.d.ts +3 -1
  177. package/dist-server/service/data-sensor/data-sensor.js +13 -3
  178. package/dist-server/service/data-sensor/data-sensor.js.map +1 -1
  179. package/dist-server/service/data-sensor/index.d.ts +3 -3
  180. package/dist-server/service/data-sensor/index.js +5 -5
  181. package/dist-server/service/data-sensor/index.js.map +1 -1
  182. package/dist-server/service/data-set/data-item-type.d.ts +2 -0
  183. package/dist-server/service/data-set/data-item-type.js +14 -0
  184. package/dist-server/service/data-set/data-item-type.js.map +1 -1
  185. package/dist-server/service/data-set/data-set-mutation.d.ts +2 -2
  186. package/dist-server/service/data-set/data-set-mutation.js +32 -32
  187. package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
  188. package/dist-server/service/data-set/data-set-query.d.ts +4 -4
  189. package/dist-server/service/data-set/data-set-query.js +44 -44
  190. package/dist-server/service/data-set/data-set-query.js.map +1 -1
  191. package/dist-server/service/data-set/data-set-type.d.ts +2 -2
  192. package/dist-server/service/data-set/data-set-type.js +5 -5
  193. package/dist-server/service/data-set/data-set-type.js.map +1 -1
  194. package/dist-server/service/data-set/data-set.d.ts +3 -2
  195. package/dist-server/service/data-set/data-set.js +11 -6
  196. package/dist-server/service/data-set/data-set.js.map +1 -1
  197. package/dist-server/service/data-set/index.d.ts +3 -3
  198. package/dist-server/service/data-set/index.js +5 -5
  199. package/dist-server/service/data-set/index.js.map +1 -1
  200. package/dist-server/service/data-set-history/data-set-history-query.d.ts +4 -4
  201. package/dist-server/service/data-set-history/data-set-history-query.js +22 -22
  202. package/dist-server/service/data-set-history/data-set-history-query.js.map +1 -1
  203. package/dist-server/service/data-set-history/data-set-history-type.d.ts +1 -1
  204. package/dist-server/service/data-set-history/data-set-history-type.js +2 -2
  205. package/dist-server/service/data-set-history/data-set-history-type.js.map +1 -1
  206. package/dist-server/service/data-set-history/data-set-history.d.ts +2 -2
  207. package/dist-server/service/data-set-history/data-set-history.js +3 -3
  208. package/dist-server/service/data-set-history/data-set-history.js.map +1 -1
  209. package/dist-server/service/data-set-history/event-subscriber.d.ts +2 -2
  210. package/dist-server/service/data-set-history/event-subscriber.js +4 -4
  211. package/dist-server/service/data-set-history/event-subscriber.js.map +1 -1
  212. package/dist-server/service/data-set-history/index.d.ts +3 -3
  213. package/dist-server/service/data-set-history/index.js +6 -6
  214. package/dist-server/service/data-set-history/index.js.map +1 -1
  215. package/dist-server/service/data-spec/data-spec-manager.d.ts +1 -1
  216. package/dist-server/service/data-spec/data-spec-manager.js.map +1 -1
  217. package/dist-server/service/data-spec/data-spec-query.d.ts +1 -1
  218. package/dist-server/service/data-spec/data-spec-query.js +9 -9
  219. package/dist-server/service/data-spec/data-spec-query.js.map +1 -1
  220. package/dist-server/service/data-spec/index.d.ts +2 -2
  221. package/dist-server/service/data-spec/index.js +4 -4
  222. package/dist-server/service/data-spec/index.js.map +1 -1
  223. package/dist-server/service/data-summary/data-summary-mutation.js +11 -8
  224. package/dist-server/service/data-summary/data-summary-mutation.js.map +1 -1
  225. package/dist-server/service/data-summary/data-summary-query.d.ts +5 -5
  226. package/dist-server/service/data-summary/data-summary-query.js +31 -31
  227. package/dist-server/service/data-summary/data-summary-query.js.map +1 -1
  228. package/dist-server/service/data-summary/data-summary-type.d.ts +1 -1
  229. package/dist-server/service/data-summary/data-summary-type.js +2 -2
  230. package/dist-server/service/data-summary/data-summary-type.js.map +1 -1
  231. package/dist-server/service/data-summary/data-summary.d.ts +2 -2
  232. package/dist-server/service/data-summary/data-summary.js +6 -6
  233. package/dist-server/service/data-summary/data-summary.js.map +1 -1
  234. package/dist-server/service/data-summary/index.d.ts +3 -3
  235. package/dist-server/service/data-summary/index.js +5 -5
  236. package/dist-server/service/data-summary/index.js.map +1 -1
  237. package/dist-server/service/index.d.ts +12 -12
  238. package/dist-server/service/index.js +37 -37
  239. package/dist-server/service/index.js.map +1 -1
  240. package/dist-server/tsconfig.tsbuildinfo +1 -1
  241. package/dist-server/utils/index.d.ts +1 -1
  242. package/dist-server/utils/index.js +1 -1
  243. package/dist-server/utils/index.js.map +1 -1
  244. package/package.json +13 -13
  245. package/things-factory.config.js +4 -0
  246. package/translations/en.json +3 -0
  247. package/translations/ja.json +3 -0
  248. package/translations/ko.json +3 -0
  249. package/translations/ms.json +3 -0
  250. package/translations/zh.json +3 -0
@@ -1,6 +1,8 @@
1
1
  import '@operato/dataset/ox-data-entry-form.js';
2
+ import '@operato/dataset/ox-checklist-entry-form.js';
2
3
  import { LitElement } from 'lit';
3
4
  import { OxDataEntryForm } from '@operato/dataset/ox-data-entry-form.js';
5
+ import { OxChecklistEntryForm } from '@operato/dataset/ox-checklist-entry-form.js';
4
6
  import { DataSet } from '@operato/dataset';
5
7
  declare const DataCollectActivityEdit_base: (new (...args: any[]) => LitElement) & typeof LitElement;
6
8
  export declare class DataCollectActivityEdit extends DataCollectActivityEdit_base {
@@ -9,9 +11,14 @@ export declare class DataCollectActivityEdit extends DataCollectActivityEdit_bas
9
11
  output?: any;
10
12
  dataSet?: DataSet & {
11
13
  id: string;
14
+ entryType?: string;
15
+ entryView?: string;
12
16
  };
13
- entryForm: OxDataEntryForm;
17
+ dataEntryForm?: OxDataEntryForm;
18
+ checklistEntryForm?: OxChecklistEntryForm;
19
+ get entryForm(): OxDataEntryForm | OxChecklistEntryForm | undefined;
14
20
  render(): import("lit-html").TemplateResult<1>;
21
+ private renderEntryForm;
15
22
  _updateDataItems(e: CustomEvent): Promise<void>;
16
23
  updated(changes: any): void;
17
24
  fetchDataSet(): Promise<void>;
@@ -1,5 +1,6 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import '@operato/dataset/ox-data-entry-form.js';
3
+ import '@operato/dataset/ox-checklist-entry-form.js';
3
4
  import gql from 'graphql-tag';
4
5
  import { css, html, LitElement } from 'lit';
5
6
  import { customElement, property, query, state } from 'lit/decorators.js';
@@ -7,18 +8,62 @@ import { client } from '@operato/graphql';
7
8
  import { i18next, localize } from '@operato/i18n';
8
9
  import { ScrollbarStyles } from '@operato/styles';
9
10
  import { OxDataEntryForm } from '@operato/dataset/ox-data-entry-form.js';
11
+ import { OxChecklistEntryForm } from '@operato/dataset/ox-checklist-entry-form.js';
10
12
  let DataCollectActivityEdit = class DataCollectActivityEdit extends localize(i18next)(LitElement) {
13
+ get entryForm() {
14
+ var _a, _b;
15
+ const entryType = (_a = this.dataSet) === null || _a === void 0 ? void 0 : _a.entryType;
16
+ const entryView = (_b = this.dataSet) === null || _b === void 0 ? void 0 : _b.entryView;
17
+ switch (entryType) {
18
+ case 'generated':
19
+ return this.dataEntryForm;
20
+ case 'checklist':
21
+ return this.checklistEntryForm;
22
+ case 'board':
23
+ break;
24
+ case 'page':
25
+ break;
26
+ default:
27
+ return this.dataEntryForm;
28
+ break;
29
+ }
30
+ }
11
31
  render() {
12
- return html `
13
- <ox-data-entry-form
14
- .dataSet=${this.dataSet}
15
- .value=${this.output}
16
- @change=${this._updateDataItems}
17
- ></ox-data-entry-form>
18
- `;
32
+ return html ` <div class="container">${this.renderEntryForm()}</div> `;
33
+ }
34
+ renderEntryForm() {
35
+ var _a, _b;
36
+ const entryType = (_a = this.dataSet) === null || _a === void 0 ? void 0 : _a.entryType;
37
+ const entryView = (_b = this.dataSet) === null || _b === void 0 ? void 0 : _b.entryView;
38
+ switch (entryType) {
39
+ case 'generated':
40
+ return html `<ox-data-entry-form
41
+ .dataSet=${this.dataSet}
42
+ .value=${this.output}
43
+ @change=${this._updateDataItems}
44
+ ></ox-data-entry-form>`;
45
+ case 'checklist':
46
+ return html `<ox-checklist-entry-form
47
+ .dataSet=${this.dataSet}
48
+ .value=${this.output}
49
+ @change=${this._updateDataItems}
50
+ ></ox-checklist-entry-form>`;
51
+ case 'board':
52
+ break;
53
+ case 'page':
54
+ break;
55
+ default:
56
+ return html `<ox-data-entry-form
57
+ .dataSet=${this.dataSet}
58
+ .value=${this.output}
59
+ @change=${this._updateDataItems}
60
+ ></ox-data-entry-form>`;
61
+ break;
62
+ }
19
63
  }
20
64
  async _updateDataItems(e) {
21
65
  e.stopPropagation();
66
+ //@ts-ignore TODO replace with following line and confirm
22
67
  this.output = this.entryForm.value;
23
68
  this.dispatchEvent(new CustomEvent('change', {
24
69
  detail: this.output
@@ -40,6 +85,8 @@ let DataCollectActivityEdit = class DataCollectActivityEdit extends localize(i18
40
85
  name
41
86
  description
42
87
  useCase
88
+ entryType
89
+ entryView
43
90
  dataItems {
44
91
  name
45
92
  description
@@ -47,6 +94,7 @@ let DataCollectActivityEdit = class DataCollectActivityEdit extends localize(i18
47
94
  hidden
48
95
  tag
49
96
  group
97
+ subgroup
50
98
  type
51
99
  unit
52
100
  options
@@ -75,7 +123,8 @@ DataCollectActivityEdit.styles = [
75
123
  background-color: var(--md-sys-color-surface);
76
124
  }
77
125
 
78
- ox-data-entry-form {
126
+ ox-data-entry-form,
127
+ ox-checklist-entry-form {
79
128
  flex: 1;
80
129
  padding: 10px;
81
130
  overflow: auto;
@@ -97,7 +146,11 @@ __decorate([
97
146
  __decorate([
98
147
  query('ox-data-entry-form'),
99
148
  __metadata("design:type", OxDataEntryForm)
100
- ], DataCollectActivityEdit.prototype, "entryForm", void 0);
149
+ ], DataCollectActivityEdit.prototype, "dataEntryForm", void 0);
150
+ __decorate([
151
+ query('ox-checklist-entry-form'),
152
+ __metadata("design:type", OxChecklistEntryForm)
153
+ ], DataCollectActivityEdit.prototype, "checklistEntryForm", void 0);
101
154
  DataCollectActivityEdit = __decorate([
102
155
  customElement('activity-data-collect-edit')
103
156
  ], DataCollectActivityEdit);
@@ -1 +1 @@
1
- {"version":3,"file":"activity-data-collect-edit.js","sourceRoot":"","sources":["../../client/activities/activity-data-collect-edit.ts"],"names":[],"mappings":";AAAA,OAAO,wCAAwC,CAAA;AAE/C,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,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AAIjE,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;IA0BxE,MAAM;QACJ,OAAO,IAAI,CAAA;;mBAEI,IAAI,CAAC,OAAO;iBACd,IAAI,CAAC,MAAM;kBACV,IAAI,CAAC,gBAAgB;;KAElC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,CAAc;QACnC,CAAC,CAAC,eAAe,EAAE,CAAA;QAEnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAA;QAElC,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,QAAQ,EAAE;YACxB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CACH,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,CAAC,SAAS,CAAA;QAE/B,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;gBAClC,KAAK,EAAE,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;SAuBT;gBACD,SAAS,EAAE;oBACT,EAAE;iBACH;aACF,CAAC,CAAA;YAEF,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAA;QACtC,CAAC;IACH,CAAC;;AAzFM,8BAAM,GAAG;IACd,eAAe;IACf,GAAG,CAAA;;;;;;;;;;;;;KAaF;CACF,AAhBY,CAgBZ;AAE2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;sDAAY;AACX;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uDAAa;AAE/B;IAAR,KAAK,EAAE;;wDAAmC;AAEd;IAA5B,KAAK,CAAC,oBAAoB,CAAC;8BAAa,eAAe;0DAAA;AAxB7C,uBAAuB;IADnC,aAAa,CAAC,4BAA4B,CAAC;GAC/B,uBAAuB,CA2FnC","sourcesContent":["import '@operato/dataset/ox-data-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 { ScrollbarStyles } from '@operato/styles'\nimport { OxDataEntryForm } from '@operato/dataset/ox-data-entry-form.js'\nimport { DataSet } from '@operato/dataset'\n\n@customElement('activity-data-collect-edit')\nexport class DataCollectActivityEdit 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 ox-data-entry-form {\n flex: 1;\n padding: 10px;\n overflow: auto;\n }\n `\n ]\n\n @property({ type: Object }) input?: any\n @property({ type: Object }) output?: any\n\n @state() dataSet?: DataSet & { id: string }\n\n @query('ox-data-entry-form') entryForm!: OxDataEntryForm\n\n render() {\n return html`\n <ox-data-entry-form\n .dataSet=${this.dataSet}\n .value=${this.output}\n @change=${this._updateDataItems}\n ></ox-data-entry-form>\n `\n }\n\n async _updateDataItems(e: CustomEvent) {\n e.stopPropagation()\n\n this.output = this.entryForm.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.fetchDataSet()\n }\n }\n\n async fetchDataSet() {\n const id = this.input.dataSetId\n\n if (id) {\n const response = await client.query({\n query: gql`\n query ($id: String!) {\n dataSet(id: $id) {\n id\n name\n description\n useCase\n dataItems {\n name\n description\n active\n hidden\n tag\n group\n type\n unit\n options\n quota\n spec\n stat\n }\n }\n }\n `,\n variables: {\n id\n }\n })\n\n this.dataSet = response.data.dataSet\n }\n }\n}\n"]}
1
+ {"version":3,"file":"activity-data-collect-edit.js","sourceRoot":"","sources":["../../client/activities/activity-data-collect-edit.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/dataset/ox-data-entry-form.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 { ScrollbarStyles } from '@operato/styles'\nimport { OxDataEntryForm } from '@operato/dataset/ox-data-entry-form.js'\nimport { OxChecklistEntryForm } from '@operato/dataset/ox-checklist-entry-form.js'\n\nimport { DataSet } from '@operato/dataset'\n\n@customElement('activity-data-collect-edit')\nexport class DataCollectActivityEdit 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 ox-data-entry-form,\n ox-checklist-entry-form {\n flex: 1;\n padding: 10px;\n overflow: auto;\n }\n `\n ]\n\n @property({ type: Object }) input?: any\n @property({ type: Object }) output?: any\n\n @state() dataSet?: DataSet & { id: string; entryType?: string; entryView?: string }\n\n @query('ox-data-entry-form') dataEntryForm?: OxDataEntryForm\n @query('ox-checklist-entry-form') checklistEntryForm?: OxChecklistEntryForm\n\n get entryForm() {\n const entryType = this.dataSet?.entryType\n const entryView = this.dataSet?.entryView\n\n switch (entryType) {\n case 'generated':\n return this.dataEntryForm\n case 'checklist':\n return this.checklistEntryForm\n case 'board':\n break\n case 'page':\n break\n default:\n return this.dataEntryForm\n break\n }\n }\n\n render() {\n return html` <div class=\"container\">${this.renderEntryForm()}</div> `\n }\n\n private renderEntryForm() {\n const entryType = this.dataSet?.entryType\n const entryView = this.dataSet?.entryView\n\n switch (entryType) {\n case 'generated':\n return html`<ox-data-entry-form\n .dataSet=${this.dataSet}\n .value=${this.output}\n @change=${this._updateDataItems}\n ></ox-data-entry-form>`\n case 'checklist':\n return html`<ox-checklist-entry-form\n .dataSet=${this.dataSet}\n .value=${this.output}\n @change=${this._updateDataItems}\n ></ox-checklist-entry-form>`\n case 'board':\n break\n case 'page':\n break\n default:\n return html`<ox-data-entry-form\n .dataSet=${this.dataSet}\n .value=${this.output}\n @change=${this._updateDataItems}\n ></ox-data-entry-form>`\n break\n }\n }\n\n async _updateDataItems(e: CustomEvent) {\n e.stopPropagation()\n\n //@ts-ignore TODO replace with following line and confirm\n this.output = this.entryForm.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.fetchDataSet()\n }\n }\n\n async fetchDataSet() {\n const id = this.input.dataSetId\n\n if (id) {\n const response = await client.query({\n query: gql`\n query ($id: String!) {\n dataSet(id: $id) {\n id\n name\n description\n useCase\n entryType\n entryView\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 }\n }\n `,\n variables: {\n id\n }\n })\n\n this.dataSet = response.data.dataSet\n }\n }\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  import '@material/web/icon/icon.js';
2
2
  import '@material/web/radio/radio.js';
3
3
  import '@operato/dataset/ox-data-entry-form.js';
4
+ import '@operato/dataset/ox-checklist-sample-view.js';
4
5
  import { LitElement } from 'lit';
5
6
  declare const DataReviewActivityEdit_base: (new (...args: any[]) => LitElement) & typeof LitElement;
6
7
  export declare class DataReviewActivityEdit extends DataReviewActivityEdit_base {
@@ -11,6 +12,7 @@ export declare class DataReviewActivityEdit extends DataReviewActivityEdit_base
11
12
  dataSample?: any;
12
13
  form: HTMLFormElement;
13
14
  render(): import("lit-html").TemplateResult<1>;
15
+ private renderDataSample;
14
16
  onChangeInstruction(e: Event): void;
15
17
  updated(changes: any): void;
16
18
  fetchDataSample(): Promise<void>;
@@ -2,6 +2,7 @@ import { __decorate, __metadata } from "tslib";
2
2
  import '@material/web/icon/icon.js';
3
3
  import '@material/web/radio/radio.js';
4
4
  import '@operato/dataset/ox-data-entry-form.js';
5
+ import '@operato/dataset/ox-checklist-sample-view.js';
5
6
  import gql from 'graphql-tag';
6
7
  import { css, html, LitElement } from 'lit';
7
8
  import { customElement, property, query, state } from 'lit/decorators.js';
@@ -14,14 +15,12 @@ let DataReviewActivityEdit = class DataReviewActivityEdit extends localize(i18ne
14
15
  const { state } = this.activityThread || {};
15
16
  const editable = state == 'unassigned' || state == 'assigned' || state == 'started' || state == 'submitted';
16
17
  return html `
17
- <div content>
18
- <ox-data-sample-view .dataSample=${this.dataSample}></ox-data-sample-view>
19
- </div>
18
+ <div content>${this.renderDataSample()}</div>
20
19
 
21
20
  <form @change=${this.onChangeInstruction}>
22
21
  ${editable
23
22
  ? html `
24
- <label judgment>
23
+ <label>
25
24
  <h2><md-icon>build_circle</md-icon>&nbsp;<span>${i18next.t('label.judgment')}</span></h2>
26
25
  <div role="radiogroup" aria-label="An example group of radio buttons">
27
26
  <label>
@@ -45,17 +44,18 @@ let DataReviewActivityEdit = class DataReviewActivityEdit extends localize(i18ne
45
44
  </div>
46
45
  </label>
47
46
 
48
- <label instruction>
47
+ <label>
49
48
  <h2><md-icon>build_circle</md-icon>&nbsp;<span>${i18next.t('label.corrective instruction')}</span></h2>
50
49
  <textarea
51
50
  name="instruction"
52
51
  placeholder=${String(i18next.t('text.corrective instruction placeholder'))}
53
52
  .value=${instruction || ''}
53
+ instruction
54
54
  ></textarea>
55
55
  </label>
56
56
  `
57
57
  : html `
58
- <label judgment>
58
+ <label>
59
59
  <h2><md-icon>build_circle</md-icon>&nbsp;<span>${i18next.t('label.judgment')}</span></h2>
60
60
  <div role="radiogroup" aria-label="An example group of radio buttons">
61
61
  <label>
@@ -63,7 +63,7 @@ let DataReviewActivityEdit = class DataReviewActivityEdit extends localize(i18ne
63
63
  value="normal"
64
64
  ?checked=${judgment == 'normal'}
65
65
  aria-label=${i18next.t('label.judgment-normal')}
66
- readonly
66
+ disabled
67
67
  ></md-radio>
68
68
  ${i18next.t('label.judgment-normal')}
69
69
  </label>
@@ -72,21 +72,38 @@ let DataReviewActivityEdit = class DataReviewActivityEdit extends localize(i18ne
72
72
  value="abnormal"
73
73
  ?checked=${judgment == 'abnormal'}
74
74
  aria-label=${i18next.t('label.judgment-abnormal')}
75
- readonly
75
+ disabled
76
76
  ></md-radio
77
77
  >${i18next.t('label.judgment-abnormal')}
78
78
  </label>
79
79
  </div>
80
80
  </label>
81
81
 
82
- <label instruction>
82
+ <label>
83
83
  <h2><md-icon>build_circle</md-icon>&nbsp;<span>${i18next.t('label.corrective instruction')}</span></h2>
84
- <div>${instruction}</div>
84
+ <div instruction>${instruction}</div>
85
85
  </label>
86
86
  `}
87
87
  </form>
88
88
  `;
89
89
  }
90
+ renderDataSample() {
91
+ var _a;
92
+ const dataSet = (_a = this.dataSample) === null || _a === void 0 ? void 0 : _a.dataSet;
93
+ const monitorType = dataSet === null || dataSet === void 0 ? void 0 : dataSet.monitorType;
94
+ switch (monitorType) {
95
+ case 'generated':
96
+ return html `<ox-data-sample-view .dataSample=${this.dataSample}></ox-data-sample-view>`;
97
+ case 'checklist':
98
+ return html `<ox-checklist-sample-view .dataSample=${this.dataSample}></ox-checklist-sample-view>`;
99
+ case 'board':
100
+ break;
101
+ case 'page':
102
+ break;
103
+ default:
104
+ return html `<ox-data-sample-view .dataSample=${this.dataSample}></ox-data-sample-view>`;
105
+ }
106
+ }
90
107
  onChangeInstruction(e) {
91
108
  var output = {};
92
109
  const formData = new FormData(this.form);
@@ -130,6 +147,8 @@ let DataReviewActivityEdit = class DataReviewActivityEdit extends localize(i18ne
130
147
  id
131
148
  name
132
149
  description
150
+ monitorType
151
+ monitorView
133
152
  }
134
153
  dataItems {
135
154
  name
@@ -138,6 +157,7 @@ let DataReviewActivityEdit = class DataReviewActivityEdit extends localize(i18ne
138
157
  hidden
139
158
  tag
140
159
  group
160
+ subgroup
141
161
  type
142
162
  unit
143
163
  options
@@ -183,7 +203,8 @@ DataReviewActivityEdit.styles = [
183
203
  overflow: auto;
184
204
  }
185
205
 
186
- ox-data-sample-view {
206
+ ox-data-sample-view,
207
+ ox-checklist-sample-view {
187
208
  flex: 1;
188
209
  padding: var(--spacing-large);
189
210
  overflow: auto;
@@ -221,6 +242,13 @@ DataReviewActivityEdit.styles = [
221
242
  div {
222
243
  padding: var(--spacing-large);
223
244
  font: var(--input-field-font);
245
+ border: var(--md-sys-color-outline) solid 1px;
246
+ border-radius: var(--spacing-small);
247
+ background-color: var(--md-sys-color-surface-variant);
248
+ }
249
+
250
+ div[instruction] {
251
+ min-height: 200px;
224
252
  }
225
253
 
226
254
  md-icon {
@@ -228,13 +256,14 @@ DataReviewActivityEdit.styles = [
228
256
  }
229
257
 
230
258
  textarea {
231
- border: var(--input-field-border);
232
- border-radius: var(--spacing-small);
233
259
  margin: var(--spacing-medium);
234
260
  padding: var(--spacing-medium);
261
+ margin: 0;
235
262
  font: var(--input-field-font);
236
263
  color: var(--md-sys-color-on-surface);
237
- background: var(--md-sys-color-surface-variant);
264
+ border: var(--md-sys-color-outline) solid 1px;
265
+ border-radius: var(--spacing-small);
266
+ background-color: var(--md-sys-color-surface-variant);
238
267
 
239
268
  resize: none;
240
269
  outline: none;
@@ -1 +1 @@
1
- {"version":3,"file":"activity-data-review-edit.js","sourceRoot":"","sources":["../../client/activities/activity-data-review-edit.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@material/web/radio/radio.js'\nimport '@operato/dataset/ox-data-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 { i18next, localize } from '@operato/i18n'\nimport { ScrollbarStyles } from '@operato/styles'\nimport { client } from '@operato/graphql'\n\n@customElement('activity-data-review-edit')\nexport class DataReviewActivityEdit 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 flex: 1;\n padding: var(--spacing-large);\n overflow: auto;\n }\n\n div[role='radiogroup'] {\n display: flex;\n flex-direction: row;\n gap: var(--spacing-medium);\n\n label {\n display: flex;\n flex-direction: row;\n\n gap: var(--spacing-small);\n align-items: center;\n }\n }\n\n label {\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() dataSample?: any\n\n @query('form') form!: HTMLFormElement\n\n render() {\n const { instruction, judgment } = this.output || {}\n const { state } = this.activityThread || {}\n const editable = state == 'unassigned' || state == 'assigned' || state == 'started' || state == 'submitted'\n\n return html`\n <div content>\n <ox-data-sample-view .dataSample=${this.dataSample}></ox-data-sample-view>\n </div>\n\n <form @change=${this.onChangeInstruction}>\n ${editable\n ? html`\n <label judgment>\n <h2><md-icon>build_circle</md-icon>&nbsp;<span>${i18next.t('label.judgment')}</span></h2>\n <div role=\"radiogroup\" aria-label=\"An example group of radio buttons\">\n <label>\n <md-radio\n name=\"judgment\"\n value=\"normal\"\n ?checked=${judgment == 'normal'}\n aria-label=${i18next.t('label.judgment-normal')}\n ></md-radio>\n ${i18next.t('label.judgment-normal')}\n </label>\n <label>\n <md-radio\n name=\"judgment\"\n value=\"abnormal\"\n ?checked=${judgment == 'abnormal'}\n aria-label=${i18next.t('label.judgment-abnormal')}\n ></md-radio\n >${i18next.t('label.judgment-abnormal')}\n </label>\n </div>\n </label>\n\n <label instruction>\n <h2><md-icon>build_circle</md-icon>&nbsp;<span>${i18next.t('label.corrective instruction')}</span></h2>\n <textarea\n name=\"instruction\"\n placeholder=${String(i18next.t('text.corrective instruction placeholder'))}\n .value=${instruction || ''}\n ></textarea>\n </label>\n `\n : html`\n <label judgment>\n <h2><md-icon>build_circle</md-icon>&nbsp;<span>${i18next.t('label.judgment')}</span></h2>\n <div role=\"radiogroup\" aria-label=\"An example group of radio buttons\">\n <label>\n <md-radio\n value=\"normal\"\n ?checked=${judgment == 'normal'}\n aria-label=${i18next.t('label.judgment-normal')}\n readonly\n ></md-radio>\n ${i18next.t('label.judgment-normal')}\n </label>\n <label>\n <md-radio\n value=\"abnormal\"\n ?checked=${judgment == 'abnormal'}\n aria-label=${i18next.t('label.judgment-abnormal')}\n readonly\n ></md-radio\n >${i18next.t('label.judgment-abnormal')}\n </label>\n </div>\n </label>\n\n <label instruction>\n <h2><md-icon>build_circle</md-icon>&nbsp;<span>${i18next.t('label.corrective instruction')}</span></h2>\n <div>${instruction}</div>\n </label>\n `}\n </form>\n `\n }\n\n onChangeInstruction(e: Event) {\n var output = {}\n\n const formData = new FormData(this.form)\n formData.forEach((value, key) => {\n output[key] = value\n })\n\n this.output = output\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.fetchDataSample()\n }\n }\n\n async fetchDataSample() {\n const { dataSampleId, dataSample } = this.input || {}\n\n if (dataSample) {\n /* only for backwards compatibility - should be deleted later */\n this.dataSample = dataSample\n } else if (dataSampleId) {\n const response = await client.query({\n query: gql`\n query ($id: String!) {\n dataSample(id: $id) {\n id\n name\n description\n useCase\n key01\n key02\n key03\n key04\n key05\n data\n ooc\n oos\n dataSet {\n id\n name\n description\n }\n dataItems {\n name\n description\n active\n hidden\n tag\n group\n type\n unit\n options\n quota\n spec\n stat\n }\n judgment\n workDate\n workShift\n updater {\n id\n name\n }\n updatedAt\n collectedAt\n }\n }\n `,\n variables: {\n id: dataSampleId\n }\n })\n\n this.dataSample = {\n ...response.data.dataSample\n }\n }\n }\n}\n"]}
1
+ {"version":3,"file":"activity-data-review-edit.js","sourceRoot":"","sources":["../../client/activities/activity-data-review-edit.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@material/web/radio/radio.js'\nimport '@operato/dataset/ox-data-entry-form.js'\nimport '@operato/dataset/ox-checklist-sample-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 { i18next, localize } from '@operato/i18n'\nimport { ScrollbarStyles } from '@operato/styles'\nimport { client } from '@operato/graphql'\n\n@customElement('activity-data-review-edit')\nexport class DataReviewActivityEdit 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 div[role='radiogroup'] {\n display: flex;\n flex-direction: row;\n gap: var(--spacing-medium);\n\n label {\n display: flex;\n flex-direction: row;\n\n gap: var(--spacing-small);\n align-items: center;\n }\n }\n\n label {\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 border: var(--md-sys-color-outline) solid 1px;\n border-radius: var(--spacing-small);\n background-color: var(--md-sys-color-surface-variant);\n }\n\n div[instruction] {\n min-height: 200px;\n }\n\n md-icon {\n color: var(--status-danger-color);\n }\n\n textarea {\n margin: var(--spacing-medium);\n padding: var(--spacing-medium);\n margin: 0;\n font: var(--input-field-font);\n color: var(--md-sys-color-on-surface);\n border: var(--md-sys-color-outline) solid 1px;\n border-radius: var(--spacing-small);\n background-color: 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() dataSample?: any\n\n @query('form') form!: HTMLFormElement\n\n render() {\n const { instruction, judgment } = this.output || {}\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 <form @change=${this.onChangeInstruction}>\n ${editable\n ? html`\n <label>\n <h2><md-icon>build_circle</md-icon>&nbsp;<span>${i18next.t('label.judgment')}</span></h2>\n <div role=\"radiogroup\" aria-label=\"An example group of radio buttons\">\n <label>\n <md-radio\n name=\"judgment\"\n value=\"normal\"\n ?checked=${judgment == 'normal'}\n aria-label=${i18next.t('label.judgment-normal')}\n ></md-radio>\n ${i18next.t('label.judgment-normal')}\n </label>\n <label>\n <md-radio\n name=\"judgment\"\n value=\"abnormal\"\n ?checked=${judgment == 'abnormal'}\n aria-label=${i18next.t('label.judgment-abnormal')}\n ></md-radio\n >${i18next.t('label.judgment-abnormal')}\n </label>\n </div>\n </label>\n\n <label>\n <h2><md-icon>build_circle</md-icon>&nbsp;<span>${i18next.t('label.corrective instruction')}</span></h2>\n <textarea\n name=\"instruction\"\n placeholder=${String(i18next.t('text.corrective instruction placeholder'))}\n .value=${instruction || ''}\n instruction\n ></textarea>\n </label>\n `\n : html`\n <label>\n <h2><md-icon>build_circle</md-icon>&nbsp;<span>${i18next.t('label.judgment')}</span></h2>\n <div role=\"radiogroup\" aria-label=\"An example group of radio buttons\">\n <label>\n <md-radio\n value=\"normal\"\n ?checked=${judgment == 'normal'}\n aria-label=${i18next.t('label.judgment-normal')}\n disabled\n ></md-radio>\n ${i18next.t('label.judgment-normal')}\n </label>\n <label>\n <md-radio\n value=\"abnormal\"\n ?checked=${judgment == 'abnormal'}\n aria-label=${i18next.t('label.judgment-abnormal')}\n disabled\n ></md-radio\n >${i18next.t('label.judgment-abnormal')}\n </label>\n </div>\n </label>\n\n <label>\n <h2><md-icon>build_circle</md-icon>&nbsp;<span>${i18next.t('label.corrective instruction')}</span></h2>\n <div instruction>${instruction}</div>\n </label>\n `}\n </form>\n `\n }\n\n private renderDataSample() {\n const dataSet = this.dataSample?.dataSet\n const monitorType = dataSet?.monitorType\n\n switch (monitorType) {\n case 'generated':\n return html`<ox-data-sample-view .dataSample=${this.dataSample}></ox-data-sample-view>`\n case 'checklist':\n return html`<ox-checklist-sample-view .dataSample=${this.dataSample}></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.dataSample}></ox-data-sample-view>`\n }\n }\n\n onChangeInstruction(e: Event) {\n var output = {}\n\n const formData = new FormData(this.form)\n formData.forEach((value, key) => {\n output[key] = value\n })\n\n this.output = output\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.fetchDataSample()\n }\n }\n\n async fetchDataSample() {\n const { dataSampleId, dataSample } = this.input || {}\n\n if (dataSample) {\n /* only for backwards compatibility - should be deleted later */\n this.dataSample = dataSample\n } else if (dataSampleId) {\n const response = await client.query({\n query: gql`\n query ($id: String!) {\n dataSample(id: $id) {\n id\n name\n description\n useCase\n key01\n key02\n key03\n key04\n key05\n data\n ooc\n oos\n dataSet {\n id\n name\n description\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 judgment\n workDate\n workShift\n updater {\n id\n name\n }\n updatedAt\n collectedAt\n }\n }\n `,\n variables: {\n id: dataSampleId\n }\n })\n\n this.dataSample = {\n ...response.data.dataSample\n }\n }\n }\n}\n"]}
@@ -1,4 +1,5 @@
1
1
  import '@operato/dataset/ox-data-entry-form.js';
2
+ import '@operato/dataset/ox-checklist-sample-view.js';
2
3
  import { LitElement } from 'lit';
3
4
  declare const DataReviewActivityView_base: (new (...args: any[]) => LitElement) & typeof LitElement;
4
5
  export declare class DataReviewActivityView extends DataReviewActivityView_base {
@@ -10,5 +11,6 @@ export declare class DataReviewActivityView extends DataReviewActivityView_base
10
11
  onChangeInstruction(e: Event): void;
11
12
  updated(changes: any): void;
12
13
  fetchDataAssign(): Promise<void>;
14
+ private showDataSampleView;
13
15
  }
14
16
  export {};
@@ -1,5 +1,6 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import '@operato/dataset/ox-data-entry-form.js';
3
+ import '@operato/dataset/ox-checklist-sample-view.js';
3
4
  import gql from 'graphql-tag';
4
5
  import { css, html, LitElement } from 'lit';
5
6
  import { customElement, property, state } from 'lit/decorators.js';
@@ -8,10 +9,42 @@ import { ScrollbarStyles } from '@operato/styles';
8
9
  import { client } from '@operato/graphql';
9
10
  let DataReviewActivityView = class DataReviewActivityView extends localize(i18next)(LitElement) {
10
11
  render() {
12
+ const { judgment, instruction } = this.output || {};
11
13
  return html `
12
- <div content>
13
- <ox-data-sample-view .dataSample=${this.dataSample}></ox-data-sample-view>
14
- </div>
14
+ <div content>${this.showDataSampleView()}</div>
15
+
16
+ <form>
17
+ <label>
18
+ <h2><md-icon>build_circle</md-icon>&nbsp;<span>${i18next.t('label.judgment')}</span></h2>
19
+ <div role="radiogroup" aria-label="An example group of radio buttons">
20
+ <label>
21
+ <md-radio
22
+ name="judgment"
23
+ value="normal"
24
+ ?checked=${judgment == 'normal'}
25
+ aria-label=${i18next.t('label.judgment-normal')}
26
+ disabled
27
+ ></md-radio>
28
+ ${i18next.t('label.judgment-normal')}
29
+ </label>
30
+ <label>
31
+ <md-radio
32
+ name="judgment"
33
+ value="abnormal"
34
+ ?checked=${judgment == 'abnormal'}
35
+ aria-label=${i18next.t('label.judgment-abnormal')}
36
+ disabled
37
+ ></md-radio
38
+ >${i18next.t('label.judgment-abnormal')}
39
+ </label>
40
+ </div>
41
+ </label>
42
+
43
+ <label>
44
+ <h2><md-icon>build_circle</md-icon>&nbsp;<span>${i18next.t('label.corrective instruction')}</span></h2>
45
+ <div instruction>${instruction}</div>
46
+ </label>
47
+ </form>
15
48
  `;
16
49
  }
17
50
  onChangeInstruction(e) {
@@ -53,6 +86,8 @@ let DataReviewActivityView = class DataReviewActivityView extends localize(i18ne
53
86
  id
54
87
  name
55
88
  description
89
+ monitorType
90
+ monitorView
56
91
  }
57
92
  dataItems {
58
93
  name
@@ -61,6 +96,7 @@ let DataReviewActivityView = class DataReviewActivityView extends localize(i18ne
61
96
  hidden
62
97
  tag
63
98
  group
99
+ subgroup
64
100
  type
65
101
  unit
66
102
  options
@@ -87,6 +123,25 @@ let DataReviewActivityView = class DataReviewActivityView extends localize(i18ne
87
123
  this.dataSample = Object.assign({}, response.data.dataSample);
88
124
  }
89
125
  }
126
+ showDataSampleView() {
127
+ var _a;
128
+ const dataSet = (_a = this.dataSample) === null || _a === void 0 ? void 0 : _a.dataSet;
129
+ const monitorType = dataSet === null || dataSet === void 0 ? void 0 : dataSet.monitorType;
130
+ const monitorView = dataSet === null || dataSet === void 0 ? void 0 : dataSet.monitorView;
131
+ switch (monitorType) {
132
+ case 'generated':
133
+ return html `<ox-data-sample-view .dataSample=${this.dataSample}></ox-data-sample-view>`;
134
+ case 'checklist':
135
+ return html `<ox-checklist-sample-view .dataSample=${this.dataSample}></ox-checklist-sample-view>`;
136
+ case 'board':
137
+ break;
138
+ case 'page':
139
+ break;
140
+ default:
141
+ return html `<ox-data-sample-view .dataSample=${this.dataSample}></ox-data-sample-view>`;
142
+ break;
143
+ }
144
+ }
90
145
  };
91
146
  DataReviewActivityView.styles = [
92
147
  ScrollbarStyles,
@@ -106,12 +161,59 @@ DataReviewActivityView.styles = [
106
161
  overflow: auto;
107
162
  }
108
163
 
109
- ox-data-sample-view {
164
+ ox-data-sample-view,
165
+ ox-checklist-sample-view {
110
166
  flex: 1;
111
167
  padding: var(--spacing-large);
112
168
  overflow: auto;
113
169
  }
114
170
 
171
+ div[role='radiogroup'] {
172
+ display: flex;
173
+ flex-direction: row;
174
+ gap: var(--spacing-medium);
175
+
176
+ label {
177
+ display: flex;
178
+ flex-direction: row;
179
+
180
+ gap: var(--spacing-small);
181
+ align-items: center;
182
+ }
183
+ }
184
+
185
+ label {
186
+ display: flex;
187
+ flex-direction: column;
188
+
189
+ padding: var(--spacing-large);
190
+
191
+ h2 {
192
+ display: flex;
193
+
194
+ color: var(--title-text-color);
195
+ text-transform: capitalize;
196
+ margin: var(--title-margin);
197
+ align-items: center;
198
+ }
199
+
200
+ div {
201
+ padding: var(--spacing-large);
202
+ font: var(--input-field-font);
203
+ border: var(--md-sys-color-outline) solid 1px;
204
+ border-radius: var(--spacing-small);
205
+ background-color: var(--md-sys-color-surface-variant);
206
+ }
207
+
208
+ div[instruction] {
209
+ min-height: 200px;
210
+ }
211
+
212
+ md-icon {
213
+ color: var(--status-danger-color);
214
+ }
215
+ }
216
+
115
217
  @media print {
116
218
  :host {
117
219
  display: block;
@@ -1 +1 @@
1
- {"version":3,"file":"activity-data-review-view.js","sourceRoot":"","sources":["../../client/activities/activity-data-review-view.ts"],"names":[],"mappings":";AAAA,OAAO,wCAAwC,CAAA;AAE/C,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,MAAM,mBAAmB,CAAA;AAElE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAGlC,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;IA4CvE,MAAM;QACJ,OAAO,IAAI,CAAA;;2CAE4B,IAAI,CAAC,UAAU;;KAErD,CAAA;IACH,CAAC;IAED,mBAAmB,CAAC,CAAQ;QAC1B,IAAI,CAAC,MAAM,KAAX,IAAI,CAAC,MAAM,GAAK,EAAE,EAAA;QAClB,IAAI,CAAC,MAAM,CAAC,WAAW,GAAI,CAAC,CAAC,MAA8B,CAAC,KAAK,CAAA;QAEjE,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,QAAQ,EAAE;YACxB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CACH,CAAA;IACH,CAAC;IAED,OAAO,CAAC,OAAO;QACb,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,EAAE,CAAA;QACxB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAA;QAErD,IAAI,UAAU,EAAE,CAAC;YACf,gEAAgE;YAChE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC9B,CAAC;aAAM,IAAI,YAAY,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;gBAClC,KAAK,EAAE,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA6CT;gBACD,SAAS,EAAE;oBACT,EAAE,EAAE,YAAY;iBACjB;aACF,CAAC,CAAA;YAEF,IAAI,CAAC,UAAU,qBACV,QAAQ,CAAC,IAAI,CAAC,UAAU,CAC5B,CAAA;QACH,CAAC;IACH,CAAC;;AAnIM,6BAAM,GAAG;IACd,eAAe;IACf,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiCF;CACF,AApCY,CAoCZ;AAE2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;qDAAY;AACX;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;sDAAa;AAE/B;IAAR,KAAK,EAAE;;0DAAiB;AA1Cd,sBAAsB;IADlC,aAAa,CAAC,2BAA2B,CAAC;GAC9B,sBAAsB,CAqIlC","sourcesContent":["import '@operato/dataset/ox-data-entry-form.js'\n\nimport gql from 'graphql-tag'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\n\nimport { i18next, localize } from '@operato/i18n'\nimport { ScrollbarStyles } from '@operato/styles'\nimport { client } from '@operato/graphql'\n\n@customElement('activity-data-review-view')\nexport class DataReviewActivityView 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 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() dataSample?: any\n\n render() {\n return html`\n <div content>\n <ox-data-sample-view .dataSample=${this.dataSample}></ox-data-sample-view>\n </div>\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.fetchDataAssign()\n }\n }\n\n async fetchDataAssign() {\n const { dataSampleId, dataSample } = this.input || {}\n\n if (dataSample) {\n /* only for backwards compatibility - should be deleted later */\n this.dataSample = dataSample\n } else if (dataSampleId) {\n const response = await client.query({\n query: gql`\n query ($id: String!) {\n dataSample(id: $id) {\n id\n name\n description\n useCase\n key01\n key02\n key03\n key04\n key05\n data\n ooc\n oos\n dataSet {\n id\n name\n description\n }\n dataItems {\n name\n description\n active\n hidden\n tag\n group\n type\n unit\n options\n quota\n spec\n stat\n }\n judgment\n workDate\n workShift\n updater {\n id\n name\n }\n updatedAt\n collectedAt\n }\n }\n `,\n variables: {\n id: dataSampleId\n }\n })\n\n this.dataSample = {\n ...response.data.dataSample\n }\n }\n }\n}\n"]}
1
+ {"version":3,"file":"activity-data-review-view.js","sourceRoot":"","sources":["../../client/activities/activity-data-review-view.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/dataset/ox-data-entry-form.js'\nimport '@operato/dataset/ox-checklist-sample-view.js'\n\nimport gql from 'graphql-tag'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\n\nimport { i18next, localize } from '@operato/i18n'\nimport { ScrollbarStyles } from '@operato/styles'\nimport { client } from '@operato/graphql'\n\n@customElement('activity-data-review-view')\nexport class DataReviewActivityView 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 div[role='radiogroup'] {\n display: flex;\n flex-direction: row;\n gap: var(--spacing-medium);\n\n label {\n display: flex;\n flex-direction: row;\n\n gap: var(--spacing-small);\n align-items: center;\n }\n }\n\n label {\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 border: var(--md-sys-color-outline) solid 1px;\n border-radius: var(--spacing-small);\n background-color: var(--md-sys-color-surface-variant);\n }\n\n div[instruction] {\n min-height: 200px;\n }\n\n md-icon {\n color: var(--status-danger-color);\n }\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() dataSample?: any\n\n render() {\n const { judgment, instruction } = this.output || {}\n\n return html`\n <div content>${this.showDataSampleView()}</div>\n\n <form>\n <label>\n <h2><md-icon>build_circle</md-icon>&nbsp;<span>${i18next.t('label.judgment')}</span></h2>\n <div role=\"radiogroup\" aria-label=\"An example group of radio buttons\">\n <label>\n <md-radio\n name=\"judgment\"\n value=\"normal\"\n ?checked=${judgment == 'normal'}\n aria-label=${i18next.t('label.judgment-normal')}\n disabled\n ></md-radio>\n ${i18next.t('label.judgment-normal')}\n </label>\n <label>\n <md-radio\n name=\"judgment\"\n value=\"abnormal\"\n ?checked=${judgment == 'abnormal'}\n aria-label=${i18next.t('label.judgment-abnormal')}\n disabled\n ></md-radio\n >${i18next.t('label.judgment-abnormal')}\n </label>\n </div>\n </label>\n\n <label>\n <h2><md-icon>build_circle</md-icon>&nbsp;<span>${i18next.t('label.corrective instruction')}</span></h2>\n <div instruction>${instruction}</div>\n </label>\n </form>\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.fetchDataAssign()\n }\n }\n\n async fetchDataAssign() {\n const { dataSampleId, dataSample } = this.input || {}\n\n if (dataSample) {\n /* only for backwards compatibility - should be deleted later */\n this.dataSample = dataSample\n } else if (dataSampleId) {\n const response = await client.query({\n query: gql`\n query ($id: String!) {\n dataSample(id: $id) {\n id\n name\n description\n useCase\n key01\n key02\n key03\n key04\n key05\n data\n ooc\n oos\n dataSet {\n id\n name\n description\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 judgment\n workDate\n workShift\n updater {\n id\n name\n }\n updatedAt\n collectedAt\n }\n }\n `,\n variables: {\n id: dataSampleId\n }\n })\n\n this.dataSample = {\n ...response.data.dataSample\n }\n }\n }\n\n private showDataSampleView() {\n const dataSet = this.dataSample?.dataSet\n const monitorType = dataSet?.monitorType\n const monitorView = dataSet?.monitorView\n\n switch (monitorType) {\n case 'generated':\n return html`<ox-data-sample-view .dataSample=${this.dataSample}></ox-data-sample-view>`\n case 'checklist':\n return html`<ox-checklist-sample-view .dataSample=${this.dataSample}></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.dataSample}></ox-data-sample-view>`\n break\n }\n }\n}\n"]}
@@ -67,6 +67,12 @@ let OocResolveActivityEdit = class OocResolveActivityEdit extends localize(i18ne
67
67
  history
68
68
  correctiveAction
69
69
  correctiveInstruction
70
+ dataSet {
71
+ id
72
+ name
73
+ monitorType
74
+ monitorView
75
+ }
70
76
  dataItems {
71
77
  name
72
78
  description
@@ -74,6 +80,7 @@ let OocResolveActivityEdit = class OocResolveActivityEdit extends localize(i18ne
74
80
  hidden
75
81
  tag
76
82
  group
83
+ subgroup
77
84
  type
78
85
  unit
79
86
  options