@things-factory/dataset 6.0.28 → 6.0.30

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 (48) hide show
  1. package/client/{components/data-collect-activity-view.ts → activities/activity-data-collect-view.ts} +1 -1
  2. package/client/{components/ooc-resolve-activity-view.ts → activities/activity-ooc-resolve-view.ts} +1 -1
  3. package/client/{components/ooc-review-activity-view.ts → activities/activity-ooc-review-view.ts} +1 -1
  4. package/client/bootstrap.ts +3 -3
  5. package/dist-client/activities/activity-data-collect-view.d.ts +19 -0
  6. package/dist-client/activities/activity-data-collect-view.js +101 -0
  7. package/dist-client/activities/activity-data-collect-view.js.map +1 -0
  8. package/dist-client/activities/activity-ooc-resolve-view.js +175 -0
  9. package/dist-client/activities/activity-ooc-resolve-view.js.map +1 -0
  10. package/dist-client/activities/activity-ooc-review-view.d.ts +1 -0
  11. package/dist-client/{components/data-ooc-activity-view.js → activities/activity-ooc-review-view.js} +24 -23
  12. package/dist-client/activities/activity-ooc-review-view.js.map +1 -0
  13. package/dist-client/bootstrap.d.ts +3 -3
  14. package/dist-client/bootstrap.js +3 -3
  15. package/dist-client/bootstrap.js.map +1 -1
  16. package/dist-client/tsconfig.tsbuildinfo +1 -1
  17. package/dist-server/activities/activity-data-collect.js +82 -0
  18. package/dist-server/activities/activity-data-collect.js.map +1 -0
  19. package/dist-server/activities/activity-ooc-resolve.js +100 -0
  20. package/dist-server/activities/activity-ooc-resolve.js.map +1 -0
  21. package/dist-server/activities/activity-ooc-review.js +107 -0
  22. package/dist-server/activities/activity-ooc-review.js.map +1 -0
  23. package/dist-server/activities/index.js +10 -0
  24. package/dist-server/activities/index.js.map +1 -0
  25. package/dist-server/controllers/activity-template/activity-data-collect.js.map +1 -1
  26. package/dist-server/controllers/index.js +0 -7
  27. package/dist-server/controllers/index.js.map +1 -1
  28. package/dist-server/index.js +1 -1
  29. package/dist-server/index.js.map +1 -1
  30. package/dist-server/service/data-set/data-set-mutation.js +1 -3
  31. package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
  32. package/dist-server/tsconfig.tsbuildinfo +1 -1
  33. package/package.json +3 -3
  34. package/server/{controllers/activity-template → activities}/activity-data-collect.ts +3 -3
  35. package/server/{controllers/activity-template → activities}/activity-ooc-resolve.ts +2 -2
  36. package/server/{controllers/activity-template → activities}/activity-ooc-review.ts +2 -2
  37. package/server/activities/index.ts +10 -0
  38. package/server/controllers/index.ts +0 -11
  39. package/server/index.ts +1 -1
  40. package/server/service/data-set/data-set-mutation.ts +1 -3
  41. package/dist-client/components/data-ooc-activity-view.js.map +0 -1
  42. package/dist-server/controllers/activity-template/activity-ooc.js +0 -59
  43. package/dist-server/controllers/activity-template/activity-ooc.js.map +0 -1
  44. package/dist-server/middlewares/index.js +0 -8
  45. package/dist-server/middlewares/index.js.map +0 -1
  46. package/dist-server/migrations/index.js +0 -12
  47. package/dist-server/migrations/index.js.map +0 -1
  48. /package/dist-client/{components/data-ooc-activity-view.d.ts → activities/activity-ooc-resolve-view.d.ts} +0 -0
@@ -10,7 +10,7 @@ import { ScrollbarStyles } from '@operato/styles'
10
10
  import { OxDataEntryForm } from '@operato/dataset/ox-data-entry-form.js'
11
11
  import { DataSet } from '@operato/dataset'
12
12
 
13
- @customElement('data-collect-activity-view')
13
+ @customElement('activity-data-collect-view')
14
14
  export class DataCollectActivityView extends localize(i18next)(LitElement) {
15
15
  static styles = [
16
16
  ScrollbarStyles,
@@ -8,7 +8,7 @@ import { client } from '@operato/graphql'
8
8
  import { i18next, localize } from '@operato/i18n'
9
9
  import { ScrollbarStyles } from '@operato/styles'
10
10
 
11
- @customElement('ooc-resolve-activity-view')
11
+ @customElement('activity-ooc-resolve-view')
12
12
  class OocResolveActivityView extends localize(i18next)(LitElement) {
13
13
  static styles = [
14
14
  ScrollbarStyles,
@@ -8,7 +8,7 @@ import { client } from '@operato/graphql'
8
8
  import { i18next, localize } from '@operato/i18n'
9
9
  import { ScrollbarStyles } from '@operato/styles'
10
10
 
11
- @customElement('ooc-review-activity-view')
11
+ @customElement('activity-ooc-review-view')
12
12
  class OocReviewActivityView extends localize(i18next)(LitElement) {
13
13
  static styles = [
14
14
  ScrollbarStyles,
@@ -1,6 +1,6 @@
1
- import './components/data-collect-activity-view' /* refered by the activity template (activity-data-collect) on server */
2
- import './components/ooc-review-activity-view' /* refered by the activity template (activity-ooc-review) on server */
3
- import './components/ooc-resolve-activity-view' /* refered by the activity template (activity-ooc-resolve) on server */
1
+ import './activities/activity-data-collect-view' /* refered by the activity template (activity-data-collect) on server */
2
+ import './activities/activity-ooc-review-view' /* refered by the activity template (activity-ooc-review) on server */
3
+ import './activities/activity-ooc-resolve-view' /* refered by the activity template (activity-ooc-resolve) on server */
4
4
 
5
5
  import '@operato/app/filter-renderer.js' /* register resource-object filter renderer */
6
6
 
@@ -0,0 +1,19 @@
1
+ import '@operato/dataset/ox-data-entry-form.js';
2
+ import { LitElement } from 'lit';
3
+ import { OxDataEntryForm } from '@operato/dataset/ox-data-entry-form.js';
4
+ import { DataSet } from '@operato/dataset';
5
+ declare const DataCollectActivityView_base: (new (...args: any[]) => LitElement) & typeof LitElement;
6
+ export declare class DataCollectActivityView extends DataCollectActivityView_base {
7
+ static styles: import("lit").CSSResult[];
8
+ input?: any;
9
+ output?: any;
10
+ dataSet?: DataSet & {
11
+ id: string;
12
+ };
13
+ entryForm: OxDataEntryForm;
14
+ render(): import("lit-html").TemplateResult<1>;
15
+ _updateDataItems(): Promise<void>;
16
+ updated(changes: any): void;
17
+ fetchDataSet(): Promise<void>;
18
+ }
19
+ export {};
@@ -0,0 +1,101 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import '@operato/dataset/ox-data-entry-form.js';
3
+ import gql from 'graphql-tag';
4
+ import { css, html, LitElement } from 'lit';
5
+ import { customElement, property, query, state } from 'lit/decorators.js';
6
+ import { client } from '@operato/graphql';
7
+ import { i18next, localize } from '@operato/i18n';
8
+ import { ScrollbarStyles } from '@operato/styles';
9
+ import { OxDataEntryForm } from '@operato/dataset/ox-data-entry-form.js';
10
+ let DataCollectActivityView = class DataCollectActivityView extends localize(i18next)(LitElement) {
11
+ 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
+ `;
19
+ }
20
+ async _updateDataItems() {
21
+ this.output = this.entryForm.value;
22
+ this.dispatchEvent(new CustomEvent('change', {
23
+ detail: this.output
24
+ }));
25
+ }
26
+ updated(changes) {
27
+ if (changes.has('input')) {
28
+ this.fetchDataSet();
29
+ }
30
+ }
31
+ async fetchDataSet() {
32
+ const id = this.input.dataSetId;
33
+ if (id) {
34
+ const response = await client.query({
35
+ query: gql `
36
+ query ($id: String!) {
37
+ dataSet(id: $id) {
38
+ id
39
+ name
40
+ description
41
+ useCase
42
+ dataItems {
43
+ name
44
+ description
45
+ active
46
+ tag
47
+ type
48
+ unit
49
+ options
50
+ quota
51
+ spec
52
+ }
53
+ }
54
+ }
55
+ `,
56
+ variables: {
57
+ id
58
+ }
59
+ });
60
+ this.dataSet = response.data.dataSet;
61
+ }
62
+ }
63
+ };
64
+ DataCollectActivityView.styles = [
65
+ ScrollbarStyles,
66
+ css `
67
+ :host {
68
+ display: flex;
69
+ flex-direction: column;
70
+
71
+ background-color: #fff;
72
+ }
73
+
74
+ ox-data-entry-form {
75
+ flex: 1;
76
+ padding: 10px;
77
+ overflow: auto;
78
+ }
79
+ `
80
+ ];
81
+ __decorate([
82
+ property({ type: Object }),
83
+ __metadata("design:type", Object)
84
+ ], DataCollectActivityView.prototype, "input", void 0);
85
+ __decorate([
86
+ property({ type: Object }),
87
+ __metadata("design:type", Object)
88
+ ], DataCollectActivityView.prototype, "output", void 0);
89
+ __decorate([
90
+ state(),
91
+ __metadata("design:type", Object)
92
+ ], DataCollectActivityView.prototype, "dataSet", void 0);
93
+ __decorate([
94
+ query('ox-data-entry-form'),
95
+ __metadata("design:type", OxDataEntryForm)
96
+ ], DataCollectActivityView.prototype, "entryForm", void 0);
97
+ DataCollectActivityView = __decorate([
98
+ customElement('activity-data-collect-view')
99
+ ], DataCollectActivityView);
100
+ export { DataCollectActivityView };
101
+ //# sourceMappingURL=activity-data-collect-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-data-collect-view.js","sourceRoot":"","sources":["../../client/activities/activity-data-collect-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,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;QACpB,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;YACxB,IAAI,CAAC,YAAY,EAAE,CAAA;SACpB;IACH,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAA;QAE/B,IAAI,EAAE,EAAE;YACN,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;gBAClC,KAAK,EAAE,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;SAoBT;gBACD,SAAS,EAAE;oBACT,EAAE;iBACH;aACF,CAAC,CAAA;YAEF,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAA;SACrC;IACH,CAAC;;AApFM,8BAAM,GAAG;IACd,eAAe;IACf,GAAG,CAAA;;;;;;;;;;;;;KAaF;CACF,CAAA;AAED;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;sDAAY;AACvC;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uDAAa;AAExC;IAAC,KAAK,EAAE;;wDAAmC;AAE3C;IAAC,KAAK,CAAC,oBAAoB,CAAC;8BAAa,eAAe;0DAAA;AAxB7C,uBAAuB;IADnC,aAAa,CAAC,4BAA4B,CAAC;GAC/B,uBAAuB,CAsFnC;SAtFY,uBAAuB","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-view')\nexport class DataCollectActivityView extends localize(i18next)(LitElement) {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: #fff;\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() {\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 tag\n type\n unit\n options\n quota\n spec\n }\n }\n }\n `,\n variables: {\n id\n }\n })\n\n this.dataSet = response.data.dataSet\n }\n }\n}\n"]}
@@ -0,0 +1,175 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import '@operato/dataset/ox-data-sample-view.js';
3
+ import gql from 'graphql-tag';
4
+ import { css, html, LitElement } from 'lit';
5
+ import { customElement, property, query, state } from 'lit/decorators.js';
6
+ import { client } from '@operato/graphql';
7
+ import { i18next, localize } from '@operato/i18n';
8
+ import { ScrollbarStyles } from '@operato/styles';
9
+ let OocResolveActivityView = class OocResolveActivityView extends localize(i18next)(LitElement) {
10
+ render() {
11
+ var _a, _b;
12
+ const action = (_a = this.output) === null || _a === void 0 ? void 0 : _a.action;
13
+ return html `
14
+ <div content>
15
+ <ox-data-sample-view .dataSample=${this.dataOoc}></ox-data-sample-view>
16
+ </div>
17
+
18
+ <div instruction>
19
+ <div><mwc-icon>build_circle</mwc-icon> <span>corrective instruction</span></div>
20
+ <div content>${(_b = this.input) === null || _b === void 0 ? void 0 : _b.instruction}</div>
21
+ </div>
22
+
23
+ <label action>
24
+ <div><mwc-icon>build_circle</mwc-icon> <span>corrective action</span></div>
25
+ <textarea
26
+ placeholder="시정 및 예방을 위한 조치 이행 사항을 입력해주세요."
27
+ .value=${action || ''}
28
+ @change=${this.onChangeAction}
29
+ ></textarea>
30
+ </label>
31
+ `;
32
+ }
33
+ onChangeAction(e) {
34
+ this.output || (this.output = {});
35
+ this.output.action = e.target.value;
36
+ this.dispatchEvent(new CustomEvent('change', {
37
+ detail: this.output
38
+ }));
39
+ }
40
+ updated(changes) {
41
+ if (changes.has('input')) {
42
+ this.fetchDataOoc();
43
+ }
44
+ }
45
+ async fetchDataOoc() {
46
+ const id = this.input.dataOocId;
47
+ if (id) {
48
+ const response = await client.query({
49
+ query: gql `
50
+ query ($id: String!) {
51
+ dataOoc(id: $id) {
52
+ id
53
+ name
54
+ description
55
+ ooc
56
+ oos
57
+ state
58
+ type
59
+ useCase
60
+ data
61
+ judgment
62
+ dataItems {
63
+ name
64
+ description
65
+ active
66
+ tag
67
+ type
68
+ unit
69
+ options
70
+ quota
71
+ spec
72
+ }
73
+ workDate
74
+ workShift
75
+ collectedAt
76
+ }
77
+ }
78
+ `,
79
+ variables: {
80
+ id
81
+ }
82
+ });
83
+ this.dataOoc = response.data.dataOoc;
84
+ }
85
+ }
86
+ };
87
+ OocResolveActivityView.styles = [
88
+ ScrollbarStyles,
89
+ css `
90
+ :host {
91
+ display: flex;
92
+ flex-direction: column;
93
+
94
+ background-color: #fff;
95
+ }
96
+
97
+ div[content] {
98
+ flex: 1;
99
+ flex-direction: column;
100
+
101
+ display: flex;
102
+ overflow: auto;
103
+ }
104
+
105
+ ox-data-sample-view {
106
+ flex: 1;
107
+ padding: var(--padding-wide);
108
+ overflow: auto;
109
+ }
110
+
111
+ div[instruction] {
112
+ display: flex;
113
+ flex-direction: column;
114
+
115
+ padding: var(--padding-wide);
116
+ }
117
+
118
+ div[instruction] div {
119
+ display: flex;
120
+ }
121
+
122
+ div[instruction] div[content] {
123
+ display: flex;
124
+ min-height: 50px;
125
+ }
126
+
127
+ label[action] {
128
+ display: flex;
129
+ flex-direction: column;
130
+
131
+ padding: var(--padding-wide);
132
+ }
133
+
134
+ label[action] div {
135
+ display: flex;
136
+ }
137
+
138
+ mwc-icon {
139
+ color: var(--status-danger-color);
140
+ }
141
+
142
+ textarea {
143
+ border: var(--input-field-border);
144
+ border-radius: var(--input-border-radius);
145
+ padding: var(--input-field-padding);
146
+ font: var(--input-field-font);
147
+ }
148
+
149
+ .button-container {
150
+ display: flex;
151
+ margin-left: auto;
152
+ padding: var(--padding-default);
153
+ }
154
+ `
155
+ ];
156
+ __decorate([
157
+ property({ type: Object }),
158
+ __metadata("design:type", Object)
159
+ ], OocResolveActivityView.prototype, "input", void 0);
160
+ __decorate([
161
+ property({ type: Object }),
162
+ __metadata("design:type", Object)
163
+ ], OocResolveActivityView.prototype, "output", void 0);
164
+ __decorate([
165
+ state(),
166
+ __metadata("design:type", Object)
167
+ ], OocResolveActivityView.prototype, "dataOoc", void 0);
168
+ __decorate([
169
+ query('textarea'),
170
+ __metadata("design:type", HTMLTextAreaElement)
171
+ ], OocResolveActivityView.prototype, "actionTextArea", void 0);
172
+ OocResolveActivityView = __decorate([
173
+ customElement('activity-ooc-resolve-view')
174
+ ], OocResolveActivityView);
175
+ //# sourceMappingURL=activity-ooc-resolve-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-ooc-resolve-view.js","sourceRoot":"","sources":["../../client/activities/activity-ooc-resolve-view.ts"],"names":[],"mappings":";AAAA,OAAO,yCAAyC,CAAA;AAEhD,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;AAGjD,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;IA8EhE,MAAM;;QACJ,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,CAAA;QAElC,OAAO,IAAI,CAAA;;2CAE4B,IAAI,CAAC,OAAO;;;;;uBAKhC,MAAA,IAAI,CAAC,KAAK,0CAAE,WAAW;;;;;;;mBAO3B,MAAM,IAAI,EAAE;oBACX,IAAI,CAAC,cAAc;;;KAGlC,CAAA;IACH,CAAC;IAED,cAAc,CAAC,CAAQ;QACrB,IAAI,CAAC,MAAM,KAAX,IAAI,CAAC,MAAM,GAAK,EAAE,EAAA;QAClB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAI,CAAC,CAAC,MAA8B,CAAC,KAAK,CAAA;QAE5D,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;YACxB,IAAI,CAAC,YAAY,EAAE,CAAA;SACpB;IACH,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAA;QAE/B,IAAI,EAAE,EAAE;YACN,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;gBAClC,KAAK,EAAE,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA6BT;gBACD,SAAS,EAAE;oBACT,EAAE;iBACH;aACF,CAAC,CAAA;YAEF,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAA;SACrC;IACH,CAAC;;AAhKM,6BAAM,GAAG;IACd,eAAe;IACf,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiEF;CACF,CAAA;AAED;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;qDAAY;AACvC;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;sDAAa;AAExC;IAAC,KAAK,EAAE;;uDAAc;AAEtB;IAAC,KAAK,CAAC,UAAU,CAAC;8BAAkB,mBAAmB;8DAAA;AA5EnD,sBAAsB;IAD3B,aAAa,CAAC,2BAA2B,CAAC;GACrC,sBAAsB,CAkK3B","sourcesContent":["import '@operato/dataset/ox-data-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 { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { ScrollbarStyles } from '@operato/styles'\n\n@customElement('activity-ooc-resolve-view')\nclass 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: #fff;\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(--padding-wide);\n overflow: auto;\n }\n\n div[instruction] {\n display: flex;\n flex-direction: column;\n\n padding: var(--padding-wide);\n }\n\n div[instruction] div {\n display: flex;\n }\n\n div[instruction] div[content] {\n display: flex;\n min-height: 50px;\n }\n\n label[action] {\n display: flex;\n flex-direction: column;\n\n padding: var(--padding-wide);\n }\n\n label[action] div {\n display: flex;\n }\n\n mwc-icon {\n color: var(--status-danger-color);\n }\n\n textarea {\n border: var(--input-field-border);\n border-radius: var(--input-border-radius);\n padding: var(--input-field-padding);\n font: var(--input-field-font);\n }\n\n .button-container {\n display: flex;\n margin-left: auto;\n padding: var(--padding-default);\n }\n `\n ]\n\n @property({ type: Object }) input?: any\n @property({ type: Object }) output?: any\n\n @state() dataOoc?: any\n\n @query('textarea') actionTextArea!: HTMLTextAreaElement\n\n render() {\n const action = this.output?.action\n\n return html`\n <div content>\n <ox-data-sample-view .dataSample=${this.dataOoc}></ox-data-sample-view>\n </div>\n\n <div instruction>\n <div><mwc-icon>build_circle</mwc-icon> <span>corrective instruction</span></div>\n <div content>${this.input?.instruction}</div>\n </div>\n\n <label action>\n <div><mwc-icon>build_circle</mwc-icon> <span>corrective action</span></div>\n <textarea\n placeholder=\"시정 및 예방을 위한 조치 이행 사항을 입력해주세요.\"\n .value=${action || ''}\n @change=${this.onChangeAction}\n ></textarea>\n </label>\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 dataItems {\n name\n description\n active\n tag\n type\n unit\n options\n quota\n spec\n }\n workDate\n workShift\n collectedAt\n }\n }\n `,\n variables: {\n id\n }\n })\n\n this.dataOoc = response.data.dataOoc\n }\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ import '@operato/dataset/ox-data-sample-view.js';
@@ -6,28 +6,28 @@ import { customElement, property, query, state } from 'lit/decorators.js';
6
6
  import { client } from '@operato/graphql';
7
7
  import { i18next, localize } from '@operato/i18n';
8
8
  import { ScrollbarStyles } from '@operato/styles';
9
- let DataOocActivityView = class DataOocActivityView extends localize(i18next)(LitElement) {
9
+ let OocReviewActivityView = class OocReviewActivityView extends localize(i18next)(LitElement) {
10
10
  render() {
11
11
  var _a;
12
- const comment = (_a = this.output) === null || _a === void 0 ? void 0 : _a.comment;
12
+ const instruction = (_a = this.output) === null || _a === void 0 ? void 0 : _a.instruction;
13
13
  return html `
14
14
  <div content>
15
15
  <ox-data-sample-view .dataSample=${this.dataOoc}></ox-data-sample-view>
16
16
  </div>
17
17
 
18
- <label comment>
19
- <div><mwc-icon>build_circle</mwc-icon> <span>correction activity</span></div>
18
+ <label instruction>
19
+ <div><mwc-icon>build_circle</mwc-icon> <span>corrective instruction</span></div>
20
20
  <textarea
21
- placeholder="조치 내용을 입력해주세요."
22
- .value=${comment || ''}
23
- @change=${this.onChangeComment}
21
+ placeholder="시정 및 예방을 위한 조치 지시 사항을 입력해주세요."
22
+ .value=${instruction || ''}
23
+ @change=${this.onChangeInstruction}
24
24
  ></textarea>
25
25
  </label>
26
26
  `;
27
27
  }
28
- onChangeComment(e) {
29
- this.output = this.output || {};
30
- this.output.comment = e.target.value;
28
+ onChangeInstruction(e) {
29
+ this.output || (this.output = {});
30
+ this.output.instruction = e.target.value;
31
31
  this.dispatchEvent(new CustomEvent('change', {
32
32
  detail: this.output
33
33
  }));
@@ -38,7 +38,8 @@ let DataOocActivityView = class DataOocActivityView extends localize(i18next)(Li
38
38
  }
39
39
  }
40
40
  async fetchDataOoc() {
41
- const id = this.input.dataOocId;
41
+ var _a;
42
+ const id = (_a = this.input) === null || _a === void 0 ? void 0 : _a.dataOocId;
42
43
  if (id) {
43
44
  const response = await client.query({
44
45
  query: gql `
@@ -79,7 +80,7 @@ let DataOocActivityView = class DataOocActivityView extends localize(i18next)(Li
79
80
  }
80
81
  }
81
82
  };
82
- DataOocActivityView.styles = [
83
+ OocReviewActivityView.styles = [
83
84
  ScrollbarStyles,
84
85
  css `
85
86
  :host {
@@ -97,20 +98,20 @@ DataOocActivityView.styles = [
97
98
  overflow: auto;
98
99
  }
99
100
 
100
- ox-data-ooc-view {
101
+ ox-data-sample-view {
101
102
  flex: 1;
102
103
  padding: var(--padding-wide);
103
104
  overflow: auto;
104
105
  }
105
106
 
106
- label[comment] {
107
+ label[instruction] {
107
108
  display: flex;
108
109
  flex-direction: column;
109
110
 
110
111
  padding: var(--padding-wide);
111
112
  }
112
113
 
113
- label[comment] div {
114
+ label[instruction] div {
114
115
  display: flex;
115
116
  }
116
117
 
@@ -135,20 +136,20 @@ DataOocActivityView.styles = [
135
136
  __decorate([
136
137
  property({ type: Object }),
137
138
  __metadata("design:type", Object)
138
- ], DataOocActivityView.prototype, "input", void 0);
139
+ ], OocReviewActivityView.prototype, "input", void 0);
139
140
  __decorate([
140
141
  property({ type: Object }),
141
142
  __metadata("design:type", Object)
142
- ], DataOocActivityView.prototype, "output", void 0);
143
+ ], OocReviewActivityView.prototype, "output", void 0);
143
144
  __decorate([
144
145
  state(),
145
146
  __metadata("design:type", Object)
146
- ], DataOocActivityView.prototype, "dataOoc", void 0);
147
+ ], OocReviewActivityView.prototype, "dataOoc", void 0);
147
148
  __decorate([
148
149
  query('textarea'),
149
150
  __metadata("design:type", HTMLTextAreaElement)
150
- ], DataOocActivityView.prototype, "commentTextArea", void 0);
151
- DataOocActivityView = __decorate([
152
- customElement('data-ooc-activity-view')
153
- ], DataOocActivityView);
154
- //# sourceMappingURL=data-ooc-activity-view.js.map
151
+ ], OocReviewActivityView.prototype, "instructionTextArea", void 0);
152
+ OocReviewActivityView = __decorate([
153
+ customElement('activity-ooc-review-view')
154
+ ], OocReviewActivityView);
155
+ //# sourceMappingURL=activity-ooc-review-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-ooc-review-view.js","sourceRoot":"","sources":["../../client/activities/activity-ooc-review-view.ts"],"names":[],"mappings":";AAAA,OAAO,yCAAyC,CAAA;AAEhD,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;AAGjD,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;IA8D/D,MAAM;;QACJ,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,MAAM,0CAAE,WAAW,CAAA;QAE5C,OAAO,IAAI,CAAA;;2CAE4B,IAAI,CAAC,OAAO;;;;;;;mBAOpC,WAAW,IAAI,EAAE;oBAChB,IAAI,CAAC,mBAAmB;;;KAGvC,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;YACxB,IAAI,CAAC,YAAY,EAAE,CAAA;SACpB;IACH,CAAC;IAED,KAAK,CAAC,YAAY;;QAChB,MAAM,EAAE,GAAG,MAAA,IAAI,CAAC,KAAK,0CAAE,SAAS,CAAA;QAEhC,IAAI,EAAE,EAAE;YACN,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;gBAClC,KAAK,EAAE,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA6BT;gBACD,SAAS,EAAE;oBACT,EAAE;iBACH;aACF,CAAC,CAAA;YAEF,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAA;SACrC;IACH,CAAC;;AA3IM,4BAAM,GAAG;IACd,eAAe;IACf,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiDF;CACF,CAAA;AAED;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;oDAAY;AACvC;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;qDAAa;AAExC;IAAC,KAAK,EAAE;;sDAAc;AAEtB;IAAC,KAAK,CAAC,UAAU,CAAC;8BAAuB,mBAAmB;kEAAA;AA5DxD,qBAAqB;IAD1B,aAAa,CAAC,0BAA0B,CAAC;GACpC,qBAAqB,CA6I1B","sourcesContent":["import '@operato/dataset/ox-data-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 { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { ScrollbarStyles } from '@operato/styles'\n\n@customElement('activity-ooc-review-view')\nclass OocReviewActivityView extends localize(i18next)(LitElement) {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: #fff;\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(--padding-wide);\n overflow: auto;\n }\n\n label[instruction] {\n display: flex;\n flex-direction: column;\n\n padding: var(--padding-wide);\n }\n\n label[instruction] div {\n display: flex;\n }\n\n mwc-icon {\n color: var(--status-danger-color);\n }\n\n textarea {\n border: var(--input-field-border);\n border-radius: var(--input-border-radius);\n padding: var(--input-field-padding);\n font: var(--input-field-font);\n }\n\n .button-container {\n display: flex;\n margin-left: auto;\n padding: var(--padding-default);\n }\n `\n ]\n\n @property({ type: Object }) input?: any\n @property({ type: Object }) output?: any\n\n @state() dataOoc?: any\n\n @query('textarea') instructionTextArea!: HTMLTextAreaElement\n\n render() {\n const instruction = this.output?.instruction\n\n return html`\n <div content>\n <ox-data-sample-view .dataSample=${this.dataOoc}></ox-data-sample-view>\n </div>\n\n <label instruction>\n <div><mwc-icon>build_circle</mwc-icon> <span>corrective instruction</span></div>\n <textarea\n placeholder=\"시정 및 예방을 위한 조치 지시 사항을 입력해주세요.\"\n .value=${instruction || ''}\n @change=${this.onChangeInstruction}\n ></textarea>\n </label>\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.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 dataItems {\n name\n description\n active\n tag\n type\n unit\n options\n quota\n spec\n }\n workDate\n workShift\n collectedAt\n }\n }\n `,\n variables: {\n id\n }\n })\n\n this.dataOoc = response.data.dataOoc\n }\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
- import './components/data-collect-activity-view';
2
- import './components/ooc-review-activity-view';
3
- import './components/ooc-resolve-activity-view';
1
+ import './activities/activity-data-collect-view';
2
+ import './activities/activity-ooc-review-view';
3
+ import './activities/activity-ooc-resolve-view';
4
4
  import '@operato/app/filter-renderer.js';
5
5
  export default function bootstrap(): void;
@@ -1,6 +1,6 @@
1
- import './components/data-collect-activity-view'; /* refered by the activity template (activity-data-collect) on server */
2
- import './components/ooc-review-activity-view'; /* refered by the activity template (activity-ooc-review) on server */
3
- import './components/ooc-resolve-activity-view'; /* refered by the activity template (activity-ooc-resolve) on server */
1
+ import './activities/activity-data-collect-view'; /* refered by the activity template (activity-data-collect) on server */
2
+ import './activities/activity-ooc-review-view'; /* refered by the activity template (activity-ooc-review) on server */
3
+ import './activities/activity-ooc-resolve-view'; /* refered by the activity template (activity-ooc-resolve) on server */
4
4
  import '@operato/app/filter-renderer.js'; /* register resource-object filter renderer */
5
5
  import { OxGristEditorCode } from '@operato/app/grist-editor/ox-grist-editor-code.js';
6
6
  import { OxGristRendererJson5, registerEditor as registerGristEditor, registerRenderer as registerGristRenderer } from '@operato/data-grist';
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../client/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,yCAAyC,CAAA,CAAC,wEAAwE;AACzH,OAAO,uCAAuC,CAAA,CAAC,sEAAsE;AACrH,OAAO,wCAAwC,CAAA,CAAC,uEAAuE;AAEvH,OAAO,iCAAiC,CAAA,CAAC,8CAA8C;AAEvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAA;AACrF,OAAO,EACL,oBAAoB,EACpB,cAAc,IAAI,mBAAmB,EACrC,gBAAgB,IAAI,qBAAqB,EAC1C,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,iEAAiE,CAAA;AAC3G,OAAO,EAAE,0BAA0B,EAAE,MAAM,yDAAyD,CAAA;AAEpG,MAAM,CAAC,OAAO,UAAU,SAAS;IAC/B,mBAAmB,CAAC,gBAAgB,EAAE,yBAAyB,CAAC,CAAA;IAChE,qBAAqB,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAA;IAE7D,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAA;IAEhD,mBAAmB,CAAC,gBAAgB,EAAE,0BAA0B,CAAC,CAAA;IACjE,qBAAqB,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAA;AAC/D,CAAC","sourcesContent":["import './components/data-collect-activity-view' /* refered by the activity template (activity-data-collect) on server */\nimport './components/ooc-review-activity-view' /* refered by the activity template (activity-ooc-review) on server */\nimport './components/ooc-resolve-activity-view' /* refered by the activity template (activity-ooc-resolve) on server */\n\nimport '@operato/app/filter-renderer.js' /* register resource-object filter renderer */\n\nimport { OxGristEditorCode } from '@operato/app/grist-editor/ox-grist-editor-code.js'\nimport {\n OxGristRendererJson5,\n registerEditor as registerGristEditor,\n registerRenderer as registerGristRenderer\n} from '@operato/data-grist'\nimport { OxGristEditorDataItemSpec } from '@operato/dataset/grist-editor/ox-grist-editor-data-item-spec.js'\nimport { OxGristEditorPartitionKeys } from '@operato/grist-editor/ox-grist-editor-partition-keys.js'\n\nexport default function bootstrap() {\n registerGristEditor('data-item-spec', OxGristEditorDataItemSpec)\n registerGristRenderer('data-item-spec', OxGristRendererJson5)\n\n registerGristEditor('script', OxGristEditorCode)\n\n registerGristEditor('partition-keys', OxGristEditorPartitionKeys)\n registerGristRenderer('partition-keys', OxGristRendererJson5)\n}\n"]}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../client/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,yCAAyC,CAAA,CAAC,wEAAwE;AACzH,OAAO,uCAAuC,CAAA,CAAC,sEAAsE;AACrH,OAAO,wCAAwC,CAAA,CAAC,uEAAuE;AAEvH,OAAO,iCAAiC,CAAA,CAAC,8CAA8C;AAEvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAA;AACrF,OAAO,EACL,oBAAoB,EACpB,cAAc,IAAI,mBAAmB,EACrC,gBAAgB,IAAI,qBAAqB,EAC1C,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,iEAAiE,CAAA;AAC3G,OAAO,EAAE,0BAA0B,EAAE,MAAM,yDAAyD,CAAA;AAEpG,MAAM,CAAC,OAAO,UAAU,SAAS;IAC/B,mBAAmB,CAAC,gBAAgB,EAAE,yBAAyB,CAAC,CAAA;IAChE,qBAAqB,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAA;IAE7D,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAA;IAEhD,mBAAmB,CAAC,gBAAgB,EAAE,0BAA0B,CAAC,CAAA;IACjE,qBAAqB,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAA;AAC/D,CAAC","sourcesContent":["import './activities/activity-data-collect-view' /* refered by the activity template (activity-data-collect) on server */\nimport './activities/activity-ooc-review-view' /* refered by the activity template (activity-ooc-review) on server */\nimport './activities/activity-ooc-resolve-view' /* refered by the activity template (activity-ooc-resolve) on server */\n\nimport '@operato/app/filter-renderer.js' /* register resource-object filter renderer */\n\nimport { OxGristEditorCode } from '@operato/app/grist-editor/ox-grist-editor-code.js'\nimport {\n OxGristRendererJson5,\n registerEditor as registerGristEditor,\n registerRenderer as registerGristRenderer\n} from '@operato/data-grist'\nimport { OxGristEditorDataItemSpec } from '@operato/dataset/grist-editor/ox-grist-editor-data-item-spec.js'\nimport { OxGristEditorPartitionKeys } from '@operato/grist-editor/ox-grist-editor-partition-keys.js'\n\nexport default function bootstrap() {\n registerGristEditor('data-item-spec', OxGristEditorDataItemSpec)\n registerGristRenderer('data-item-spec', OxGristRendererJson5)\n\n registerGristEditor('script', OxGristEditorCode)\n\n registerGristEditor('partition-keys', OxGristEditorPartitionKeys)\n registerGristRenderer('partition-keys', OxGristRendererJson5)\n}\n"]}