@things-factory/dataset 9.0.0-beta.7 → 9.0.0-beta.70

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 (82) 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 +24 -4
  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 +26 -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/components/checklist-entry-form.d.ts +21 -0
  20. package/dist-client/components/checklist-entry-form.js +108 -0
  21. package/dist-client/components/checklist-entry-form.js.map +1 -0
  22. package/dist-client/components/data-entry-form.d.ts +3 -2
  23. package/dist-client/components/data-entry-form.js +2 -2
  24. package/dist-client/components/data-entry-form.js.map +1 -1
  25. package/dist-client/pages/data-entry/data-entry-list-page.d.ts +1 -0
  26. package/dist-client/pages/data-entry/data-entry-list-page.js +12 -2
  27. package/dist-client/pages/data-entry/data-entry-list-page.js.map +1 -1
  28. package/dist-client/pages/data-ooc/data-ooc-list-page.js +2 -2
  29. package/dist-client/pages/data-ooc/data-ooc-list-page.js.map +1 -1
  30. package/dist-client/pages/data-ooc/data-ooc-page.js +3 -0
  31. package/dist-client/pages/data-ooc/data-ooc-page.js.map +1 -1
  32. package/dist-client/pages/data-ooc/data-ooc-view.js +3 -0
  33. package/dist-client/pages/data-ooc/data-ooc-view.js.map +1 -1
  34. package/dist-client/pages/data-report/data-report-list-page.js +1 -1
  35. package/dist-client/pages/data-report/data-report-list-page.js.map +1 -1
  36. package/dist-client/pages/data-sample/data-sample-view.d.ts +2 -0
  37. package/dist-client/pages/data-sample/data-sample-view.js +27 -1
  38. package/dist-client/pages/data-sample/data-sample-view.js.map +1 -1
  39. package/dist-client/pages/data-sensor/data-sensor-list-page.js +24 -0
  40. package/dist-client/pages/data-sensor/data-sensor-list-page.js.map +1 -1
  41. package/dist-client/pages/data-set/data-item-list.js +9 -0
  42. package/dist-client/pages/data-set/data-item-list.js.map +1 -1
  43. package/dist-client/pages/data-set/data-set-list-page.d.ts +2 -0
  44. package/dist-client/pages/data-set/data-set-list-page.js +55 -9
  45. package/dist-client/pages/data-set/data-set-list-page.js.map +1 -1
  46. package/dist-client/pages/data-summary/data-summary-period-page.js +53 -37
  47. package/dist-client/pages/data-summary/data-summary-period-page.js.map +1 -1
  48. package/dist-client/tsconfig.tsbuildinfo +1 -1
  49. package/dist-server/controllers/create-data-sample.js +11 -11
  50. package/dist-server/controllers/create-data-sample.js.map +1 -1
  51. package/dist-server/controllers/issue-data-collection-task.js +1 -1
  52. package/dist-server/controllers/issue-data-collection-task.js.map +1 -1
  53. package/dist-server/controllers/query-data-summary-by-period.d.ts +1 -1
  54. package/dist-server/controllers/query-data-summary-by-period.js +12 -11
  55. package/dist-server/controllers/query-data-summary-by-period.js.map +1 -1
  56. package/dist-server/service/data-sample/data-sample-query.d.ts +1 -1
  57. package/dist-server/service/data-sample/data-sample-query.js +8 -1
  58. package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
  59. package/dist-server/service/data-sensor/data-sensor-type.d.ts +4 -0
  60. package/dist-server/service/data-sensor/data-sensor-type.js +16 -0
  61. package/dist-server/service/data-sensor/data-sensor-type.js.map +1 -1
  62. package/dist-server/service/data-sensor/data-sensor.d.ts +2 -0
  63. package/dist-server/service/data-sensor/data-sensor.js +10 -0
  64. package/dist-server/service/data-sensor/data-sensor.js.map +1 -1
  65. package/dist-server/service/data-set/data-item-type.d.ts +2 -0
  66. package/dist-server/service/data-set/data-item-type.js +14 -0
  67. package/dist-server/service/data-set/data-item-type.js.map +1 -1
  68. package/dist-server/service/data-set/data-set-mutation.js +2 -2
  69. package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
  70. package/dist-server/service/data-set/data-set.d.ts +1 -0
  71. package/dist-server/service/data-set/data-set.js +5 -0
  72. package/dist-server/service/data-set/data-set.js.map +1 -1
  73. package/dist-server/service/data-summary/data-summary-query.d.ts +1 -1
  74. package/dist-server/service/data-summary/data-summary-query.js.map +1 -1
  75. package/dist-server/tsconfig.tsbuildinfo +1 -1
  76. package/package.json +13 -13
  77. package/things-factory.config.js +4 -0
  78. package/translations/en.json +3 -0
  79. package/translations/ja.json +3 -0
  80. package/translations/ko.json +3 -0
  81. package/translations/ms.json +3 -0
  82. 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,9 +15,7 @@ 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
@@ -88,6 +87,23 @@ let DataReviewActivityEdit = class DataReviewActivityEdit extends localize(i18ne
88
87
  </form>
89
88
  `;
90
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
+ }
91
107
  onChangeInstruction(e) {
92
108
  var output = {};
93
109
  const formData = new FormData(this.form);
@@ -131,6 +147,8 @@ let DataReviewActivityEdit = class DataReviewActivityEdit extends localize(i18ne
131
147
  id
132
148
  name
133
149
  description
150
+ monitorType
151
+ monitorView
134
152
  }
135
153
  dataItems {
136
154
  name
@@ -139,6 +157,7 @@ let DataReviewActivityEdit = class DataReviewActivityEdit extends localize(i18ne
139
157
  hidden
140
158
  tag
141
159
  group
160
+ subgroup
142
161
  type
143
162
  unit
144
163
  options
@@ -184,7 +203,8 @@ DataReviewActivityEdit.styles = [
184
203
  overflow: auto;
185
204
  }
186
205
 
187
- ox-data-sample-view {
206
+ ox-data-sample-view,
207
+ ox-checklist-sample-view {
188
208
  flex: 1;
189
209
  padding: var(--spacing-large);
190
210
  overflow: auto;
@@ -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 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>\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>\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 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';
@@ -10,9 +11,7 @@ let DataReviewActivityView = class DataReviewActivityView extends localize(i18ne
10
11
  render() {
11
12
  const { judgment, instruction } = this.output || {};
12
13
  return html `
13
- <div content>
14
- <ox-data-sample-view .dataSample=${this.dataSample}></ox-data-sample-view>
15
- </div>
14
+ <div content>${this.showDataSampleView()}</div>
16
15
 
17
16
  <form>
18
17
  <label>
@@ -87,6 +86,8 @@ let DataReviewActivityView = class DataReviewActivityView extends localize(i18ne
87
86
  id
88
87
  name
89
88
  description
89
+ monitorType
90
+ monitorView
90
91
  }
91
92
  dataItems {
92
93
  name
@@ -95,6 +96,7 @@ let DataReviewActivityView = class DataReviewActivityView extends localize(i18ne
95
96
  hidden
96
97
  tag
97
98
  group
99
+ subgroup
98
100
  type
99
101
  unit
100
102
  options
@@ -121,6 +123,25 @@ let DataReviewActivityView = class DataReviewActivityView extends localize(i18ne
121
123
  this.dataSample = Object.assign({}, response.data.dataSample);
122
124
  }
123
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
+ }
124
145
  };
125
146
  DataReviewActivityView.styles = [
126
147
  ScrollbarStyles,
@@ -140,7 +161,8 @@ DataReviewActivityView.styles = [
140
161
  overflow: auto;
141
162
  }
142
163
 
143
- ox-data-sample-view {
164
+ ox-data-sample-view,
165
+ ox-checklist-sample-view {
144
166
  flex: 1;
145
167
  padding: var(--spacing-large);
146
168
  overflow: auto;
@@ -1 +1 @@
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'\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 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>\n <ox-data-sample-view .dataSample=${this.dataSample}></ox-data-sample-view>\n </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 }\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
@@ -1 +1 @@
1
- {"version":3,"file":"activity-ooc-resolve-edit.js","sourceRoot":"","sources":["../../client/activities/activity-ooc-resolve-edit.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@operato/dataset/ox-data-ooc-brief-view.js'\n\nimport gql from 'graphql-tag'\nimport { css, html, LitElement, nothing } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { ScrollbarStyles } from '@operato/styles'\n\n@customElement('activity-ooc-resolve-edit')\nclass OocResolveActivityEdit extends localize(i18next)(LitElement) {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: var(--md-sys-color-surface);\n }\n\n div[content] {\n flex: 1;\n flex-direction: column;\n\n display: flex;\n overflow: auto;\n }\n\n ox-data-ooc-brief-view {\n flex: 1;\n padding: var(--spacing-large);\n overflow: auto;\n }\n\n label[action] {\n display: flex;\n flex-direction: column;\n\n padding: var(--spacing-large);\n }\n\n label[action] 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 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 @property({ type: Object }) input?: any\n @property({ type: Object }) output?: any\n @property({ type: Object }) activityThread?: any\n\n @state() dataOoc?: any\n\n @query('textarea') actionTextArea!: HTMLTextAreaElement\n\n render() {\n const action = this.output?.action\n const state = this.activityThread?.state\n const editable = state == 'unassigned' || state == 'assigned' || state == 'started'\n\n return html`\n <div content>\n <ox-data-ooc-brief-view .dataOoc=${this.dataOoc}></ox-data-ooc-brief-view>\n </div>\n\n <!-- <ox-data-ooc-correction-part .dataOoc=${this.dataOoc}></ox-data-ooc-correction-part> -->\n\n ${editable\n ? html`\n <label action>\n <h2><md-icon>build_circle</md-icon>&nbsp;<span>${i18next.t('label.corrective action')}</span></h2>\n <textarea\n placeholder=${String(i18next.t('text.corrective action placeholder'))}\n .value=${action || ''}\n @change=${this.onChangeAction}\n ></textarea>\n </label>\n `\n : nothing}\n `\n }\n\n onChangeAction(e: Event) {\n this.output ||= {}\n this.output.action = (e.target as HTMLTextAreaElement).value\n\n this.dispatchEvent(\n new CustomEvent('change', {\n detail: this.output\n })\n )\n }\n\n updated(changes) {\n if (changes.has('input')) {\n this.fetchDataOoc()\n }\n }\n\n async fetchDataOoc() {\n const id = this.input.dataOocId\n\n if (id) {\n const response = await client.query({\n query: gql`\n query ($id: String!) {\n dataOoc(id: $id) {\n id\n name\n description\n ooc\n oos\n state\n type\n useCase\n data\n judgment\n history\n correctiveAction\n correctiveInstruction\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 workDate\n workShift\n reviewer {\n id\n name\n }\n corrector {\n id\n name\n }\n collectedAt\n reviewedAt\n correctedAt\n }\n }\n `,\n variables: {\n id\n }\n })\n\n const dataOoc = {\n ...response.data.dataOoc\n }\n\n if (this.activityThread?.output) {\n dataOoc.correctiveAction = this.activityThread.output.action\n dataOoc.correctedAt = this.activityThread.updatedAt\n dataOoc.corrector = this.activityThread.assignee\n }\n\n this.dataOoc = dataOoc\n }\n }\n}\n"]}
1
+ {"version":3,"file":"activity-ooc-resolve-edit.js","sourceRoot":"","sources":["../../client/activities/activity-ooc-resolve-edit.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@operato/dataset/ox-data-ooc-brief-view.js'\n\nimport gql from 'graphql-tag'\nimport { css, html, LitElement, nothing } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { ScrollbarStyles } from '@operato/styles'\n\n@customElement('activity-ooc-resolve-edit')\nclass OocResolveActivityEdit extends localize(i18next)(LitElement) {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: var(--md-sys-color-surface);\n }\n\n div[content] {\n flex: 1;\n flex-direction: column;\n\n display: flex;\n overflow: auto;\n }\n\n ox-data-ooc-brief-view {\n flex: 1;\n padding: var(--spacing-large);\n overflow: auto;\n }\n\n label[action] {\n display: flex;\n flex-direction: column;\n\n padding: var(--spacing-large);\n }\n\n label[action] 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 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 @property({ type: Object }) input?: any\n @property({ type: Object }) output?: any\n @property({ type: Object }) activityThread?: any\n\n @state() dataOoc?: any\n\n @query('textarea') actionTextArea!: HTMLTextAreaElement\n\n render() {\n const action = this.output?.action\n const state = this.activityThread?.state\n const editable = state == 'unassigned' || state == 'assigned' || state == 'started'\n\n return html`\n <div content>\n <ox-data-ooc-brief-view .dataOoc=${this.dataOoc}></ox-data-ooc-brief-view>\n </div>\n\n <!-- <ox-data-ooc-correction-part .dataOoc=${this.dataOoc}></ox-data-ooc-correction-part> -->\n\n ${editable\n ? html`\n <label action>\n <h2><md-icon>build_circle</md-icon>&nbsp;<span>${i18next.t('label.corrective action')}</span></h2>\n <textarea\n placeholder=${String(i18next.t('text.corrective action placeholder'))}\n .value=${action || ''}\n @change=${this.onChangeAction}\n ></textarea>\n </label>\n `\n : nothing}\n `\n }\n\n onChangeAction(e: Event) {\n this.output ||= {}\n this.output.action = (e.target as HTMLTextAreaElement).value\n\n this.dispatchEvent(\n new CustomEvent('change', {\n detail: this.output\n })\n )\n }\n\n updated(changes) {\n if (changes.has('input')) {\n this.fetchDataOoc()\n }\n }\n\n async fetchDataOoc() {\n const id = this.input.dataOocId\n\n if (id) {\n const response = await client.query({\n query: gql`\n query ($id: String!) {\n dataOoc(id: $id) {\n id\n name\n description\n ooc\n oos\n state\n type\n useCase\n data\n judgment\n history\n correctiveAction\n correctiveInstruction\n dataSet {\n id\n name\n monitorType\n monitorView\n }\n dataItems {\n name\n description\n active\n hidden\n tag\n group\n subgroup\n type\n unit\n options\n quota\n spec\n stat\n }\n workDate\n workShift\n reviewer {\n id\n name\n }\n corrector {\n id\n name\n }\n collectedAt\n reviewedAt\n correctedAt\n }\n }\n `,\n variables: {\n id\n }\n })\n\n const dataOoc = {\n ...response.data.dataOoc\n }\n\n if (this.activityThread?.output) {\n dataOoc.correctiveAction = this.activityThread.output.action\n dataOoc.correctedAt = this.activityThread.updatedAt\n dataOoc.corrector = this.activityThread.assignee\n }\n\n this.dataOoc = dataOoc\n }\n }\n}\n"]}
@@ -40,6 +40,12 @@ let OocResolveActivityView = class OocResolveActivityView extends localize(i18ne
40
40
  history
41
41
  correctiveAction
42
42
  correctiveInstruction
43
+ dataSet {
44
+ id
45
+ name
46
+ monitorType
47
+ monitorView
48
+ }
43
49
  dataItems {
44
50
  name
45
51
  description
@@ -47,6 +53,7 @@ let OocResolveActivityView = class OocResolveActivityView extends localize(i18ne
47
53
  hidden
48
54
  tag
49
55
  group
56
+ subgroup
50
57
  type
51
58
  unit
52
59
  options
@@ -1 +1 @@
1
- {"version":3,"file":"activity-ooc-resolve-view.js","sourceRoot":"","sources":["../../client/activities/activity-ooc-resolve-view.ts"],"names":[],"mappings":";AAAA,OAAO,4CAA4C,CAAA;AAEnD,OAAO,GAAG,MAAM,aAAa,CAAA;AAC7B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAS,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAG1C,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;IA6CvE,MAAM;QACJ,OAAO,IAAI,CAAA;;2CAE4B,IAAI,CAAC,OAAO;;KAElD,CAAA;IACH,CAAC;IAED,OAAO,CAAC,OAAO;QACb,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,YAAY,EAAE,CAAA;QACrB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY;;QAChB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAA;QAE/B,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;gBAClC,KAAK,EAAE,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA6CT;gBACD,SAAS,EAAE;oBACT,EAAE;iBACH;aACF,CAAC,CAAA;YAEF,MAAM,OAAO,qBACR,QAAQ,CAAC,IAAI,CAAC,OAAO,CACzB,CAAA;YAED,MAAM,cAAc,GAAG,MAAA,IAAI,CAAC,gBAAgB,0CAAE,cAAc,CAAA;YAE5D,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,MAAM,EAAE,CAAC;gBAC3B,6GAA6G;gBAC7G,OAAO,CAAC,gBAAgB,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAA;gBACvD,OAAO,CAAC,WAAW,GAAG,cAAc,CAAC,SAAS,CAAA;gBAC9C,OAAO,CAAC,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAA;YAC7C,CAAC;YAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACxB,CAAC;IACH,CAAC;;AAjIM,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;AACZ;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;gEAAuB;AAEzC;IAAR,KAAK,EAAE;;uDAAc;AA3CX,sBAAsB;IADlC,aAAa,CAAC,2BAA2B,CAAC;GAC9B,sBAAsB,CAmIlC","sourcesContent":["import '@operato/dataset/ox-data-ooc-brief-view.js'\n\nimport gql from 'graphql-tag'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { ScrollbarStyles } from '@operato/styles'\n\n@customElement('activity-ooc-resolve-view')\nexport class OocResolveActivityView extends localize(i18next)(LitElement) {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: var(--md-sys-color-surface);\n }\n\n div[content] {\n flex: 1;\n flex-direction: column;\n\n display: flex;\n overflow: auto;\n }\n\n ox-data-ooc-brief-view {\n flex: 1;\n padding: var(--spacing-large);\n overflow: auto;\n }\n\n @media print {\n :host {\n display: block;\n overflow: visible;\n }\n\n div[content] {\n display: block;\n overflow: visible;\n }\n }\n `\n ]\n\n @property({ type: Object }) input?: any\n @property({ type: Object }) output?: any\n @property({ type: Object }) activityApproval?: any\n\n @state() dataOoc?: any\n\n render() {\n return html`\n <div content>\n <ox-data-ooc-brief-view .dataOoc=${this.dataOoc}></ox-data-ooc-brief-view>\n </div>\n `\n }\n\n updated(changes) {\n if (changes.has('input')) {\n this.fetchDataOoc()\n }\n }\n\n async fetchDataOoc() {\n const id = this.input.dataOocId\n\n if (id) {\n const response = await client.query({\n query: gql`\n query ($id: String!) {\n dataOoc(id: $id) {\n id\n name\n description\n ooc\n oos\n state\n type\n useCase\n data\n judgment\n history\n correctiveAction\n correctiveInstruction\n 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 workDate\n workShift\n reviewer {\n id\n name\n }\n corrector {\n id\n name\n }\n collectedAt\n reviewedAt\n correctedAt\n }\n }\n `,\n variables: {\n id\n }\n })\n\n const dataOoc = {\n ...response.data.dataOoc\n }\n\n const activityThread = this.activityApproval?.activityThread\n\n if (activityThread?.output) {\n /* approval 에서 사용되는 경우 corrective 관련정보를 보완한다. - approval과정에서는 아직 dataOoc.correctiveAction 정보는 채워지지 않았기 때문. */\n dataOoc.correctiveAction = activityThread.output.action\n dataOoc.correctedAt = activityThread.updatedAt\n dataOoc.corrector = activityThread.assignee\n }\n\n this.dataOoc = dataOoc\n }\n }\n}\n"]}
1
+ {"version":3,"file":"activity-ooc-resolve-view.js","sourceRoot":"","sources":["../../client/activities/activity-ooc-resolve-view.ts"],"names":[],"mappings":";AAAA,OAAO,4CAA4C,CAAA;AAEnD,OAAO,GAAG,MAAM,aAAa,CAAA;AAC7B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAS,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAG1C,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;IA6CvE,MAAM;QACJ,OAAO,IAAI,CAAA;;2CAE4B,IAAI,CAAC,OAAO;;KAElD,CAAA;IACH,CAAC;IAED,OAAO,CAAC,OAAO;QACb,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,YAAY,EAAE,CAAA;QACrB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY;;QAChB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAA;QAE/B,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;gBAClC,KAAK,EAAE,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAoDT;gBACD,SAAS,EAAE;oBACT,EAAE;iBACH;aACF,CAAC,CAAA;YAEF,MAAM,OAAO,qBACR,QAAQ,CAAC,IAAI,CAAC,OAAO,CACzB,CAAA;YAED,MAAM,cAAc,GAAG,MAAA,IAAI,CAAC,gBAAgB,0CAAE,cAAc,CAAA;YAE5D,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,MAAM,EAAE,CAAC;gBAC3B,6GAA6G;gBAC7G,OAAO,CAAC,gBAAgB,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAA;gBACvD,OAAO,CAAC,WAAW,GAAG,cAAc,CAAC,SAAS,CAAA;gBAC9C,OAAO,CAAC,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAA;YAC7C,CAAC;YAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACxB,CAAC;IACH,CAAC;;AAxIM,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;AACZ;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;gEAAuB;AAEzC;IAAR,KAAK,EAAE;;uDAAc;AA3CX,sBAAsB;IADlC,aAAa,CAAC,2BAA2B,CAAC;GAC9B,sBAAsB,CA0IlC","sourcesContent":["import '@operato/dataset/ox-data-ooc-brief-view.js'\n\nimport gql from 'graphql-tag'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { ScrollbarStyles } from '@operato/styles'\n\n@customElement('activity-ooc-resolve-view')\nexport class OocResolveActivityView extends localize(i18next)(LitElement) {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: var(--md-sys-color-surface);\n }\n\n div[content] {\n flex: 1;\n flex-direction: column;\n\n display: flex;\n overflow: auto;\n }\n\n ox-data-ooc-brief-view {\n flex: 1;\n padding: var(--spacing-large);\n overflow: auto;\n }\n\n @media print {\n :host {\n display: block;\n overflow: visible;\n }\n\n div[content] {\n display: block;\n overflow: visible;\n }\n }\n `\n ]\n\n @property({ type: Object }) input?: any\n @property({ type: Object }) output?: any\n @property({ type: Object }) activityApproval?: any\n\n @state() dataOoc?: any\n\n render() {\n return html`\n <div content>\n <ox-data-ooc-brief-view .dataOoc=${this.dataOoc}></ox-data-ooc-brief-view>\n </div>\n `\n }\n\n updated(changes) {\n if (changes.has('input')) {\n this.fetchDataOoc()\n }\n }\n\n async fetchDataOoc() {\n const id = this.input.dataOocId\n\n if (id) {\n const response = await client.query({\n query: gql`\n query ($id: String!) {\n dataOoc(id: $id) {\n id\n name\n description\n ooc\n oos\n state\n type\n useCase\n data\n judgment\n history\n correctiveAction\n correctiveInstruction\n dataSet {\n id\n name\n monitorType\n monitorView\n }\n dataItems {\n name\n description\n active\n hidden\n tag\n group\n subgroup\n type\n unit\n options\n quota\n spec\n stat\n }\n workDate\n workShift\n reviewer {\n id\n name\n }\n corrector {\n id\n name\n }\n collectedAt\n reviewedAt\n correctedAt\n }\n }\n `,\n variables: {\n id\n }\n })\n\n const dataOoc = {\n ...response.data.dataOoc\n }\n\n const activityThread = this.activityApproval?.activityThread\n\n if (activityThread?.output) {\n /* approval 에서 사용되는 경우 corrective 관련정보를 보완한다. - approval과정에서는 아직 dataOoc.correctiveAction 정보는 채워지지 않았기 때문. */\n dataOoc.correctiveAction = activityThread.output.action\n dataOoc.correctedAt = activityThread.updatedAt\n dataOoc.corrector = activityThread.assignee\n }\n\n this.dataOoc = dataOoc\n }\n }\n}\n"]}
@@ -1,2 +1,3 @@
1
1
  import '@material/web/icon/icon.js';
2
2
  import '@operato/dataset/ox-data-sample-view.js';
3
+ import '@operato/dataset/ox-checklist-sample-view.js';
@@ -1,6 +1,7 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import '@material/web/icon/icon.js';
3
3
  import '@operato/dataset/ox-data-sample-view.js';
4
+ import '@operato/dataset/ox-checklist-sample-view.js';
4
5
  import gql from 'graphql-tag';
5
6
  import { css, html, LitElement } from 'lit';
6
7
  import { customElement, property, state } from 'lit/decorators.js';
@@ -14,9 +15,7 @@ let OocReviewActivityEdit = class OocReviewActivityEdit extends localize(i18next
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.dataOoc}></ox-data-sample-view>
19
- </div>
18
+ <div content>${this.renderDataSample()}</div>
20
19
 
21
20
  <label instruction>
22
21
  <h2><md-icon>build_circle</md-icon>&nbsp;<span>${i18next.t('label.corrective instruction')}</span></h2>
@@ -62,6 +61,12 @@ let OocReviewActivityEdit = class OocReviewActivityEdit extends localize(i18next
62
61
  useCase
63
62
  data
64
63
  judgment
64
+ dataSet {
65
+ id
66
+ name
67
+ monitorType
68
+ monitorView
69
+ }
65
70
  dataItems {
66
71
  name
67
72
  description
@@ -69,6 +74,7 @@ let OocReviewActivityEdit = class OocReviewActivityEdit extends localize(i18next
69
74
  hidden
70
75
  tag
71
76
  group
77
+ subgroup
72
78
  type
73
79
  unit
74
80
  options
@@ -89,6 +95,23 @@ let OocReviewActivityEdit = class OocReviewActivityEdit extends localize(i18next
89
95
  this.dataOoc = response.data.dataOoc;
90
96
  }
91
97
  }
98
+ renderDataSample() {
99
+ var _a;
100
+ const dataSet = (_a = this.dataOoc) === null || _a === void 0 ? void 0 : _a.dataSet;
101
+ const monitorType = dataSet === null || dataSet === void 0 ? void 0 : dataSet.monitorType;
102
+ switch (monitorType) {
103
+ case 'generated':
104
+ return html `<ox-data-sample-view .dataSample=${this.dataOoc}></ox-data-sample-view>`;
105
+ case 'checklist':
106
+ return html `<ox-checklist-sample-view .dataSample=${this.dataOoc}></ox-checklist-sample-view>`;
107
+ case 'board':
108
+ break;
109
+ case 'page':
110
+ break;
111
+ default:
112
+ return html `<ox-data-sample-view .dataSample=${this.dataOoc}></ox-data-sample-view>`;
113
+ }
114
+ }
92
115
  };
93
116
  OocReviewActivityEdit.styles = [
94
117
  ScrollbarStyles,
@@ -108,7 +131,8 @@ OocReviewActivityEdit.styles = [
108
131
  overflow: auto;
109
132
  }
110
133
 
111
- ox-data-sample-view {
134
+ ox-data-sample-view,
135
+ ox-checklist-sample-view {
112
136
  flex: 1;
113
137
  padding: var(--spacing-large);
114
138
  overflow: auto;