@things-factory/dataset 6.0.30 → 6.0.33

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 (59) hide show
  1. package/client/activities/activity-data-collect-edit.ts +100 -0
  2. package/client/activities/activity-data-collect-view.ts +1 -20
  3. package/client/activities/activity-ooc-resolve-edit.ts +174 -0
  4. package/client/activities/activity-ooc-resolve-view.ts +10 -37
  5. package/client/activities/activity-ooc-review-edit.ts +153 -0
  6. package/client/activities/activity-ooc-review-view.ts +10 -33
  7. package/client/bootstrap.ts +3 -0
  8. package/client/pages/data-set/data-set-list-page.ts +8 -9
  9. package/dist-client/activities/activity-data-collect-edit.d.ts +19 -0
  10. package/dist-client/activities/activity-data-collect-edit.js +101 -0
  11. package/dist-client/activities/activity-data-collect-edit.js.map +1 -0
  12. package/dist-client/activities/activity-data-collect-view.d.ts +0 -3
  13. package/dist-client/activities/activity-data-collect-view.js +2 -19
  14. package/dist-client/activities/activity-data-collect-view.js.map +1 -1
  15. package/dist-client/activities/activity-ooc-resolve-edit.d.ts +1 -0
  16. package/dist-client/activities/activity-ooc-resolve-edit.js +175 -0
  17. package/dist-client/activities/activity-ooc-resolve-edit.js.map +1 -0
  18. package/dist-client/activities/activity-ooc-resolve-view.js +12 -36
  19. package/dist-client/activities/activity-ooc-resolve-view.js.map +1 -1
  20. package/dist-client/activities/activity-ooc-review-edit.d.ts +1 -0
  21. package/dist-client/activities/activity-ooc-review-edit.js +155 -0
  22. package/dist-client/activities/activity-ooc-review-edit.js.map +1 -0
  23. package/dist-client/activities/activity-ooc-review-view.js +10 -29
  24. package/dist-client/activities/activity-ooc-review-view.js.map +1 -1
  25. package/dist-client/bootstrap.d.ts +3 -0
  26. package/dist-client/bootstrap.js +3 -0
  27. package/dist-client/bootstrap.js.map +1 -1
  28. package/dist-client/components/data-ooc-activity-view.d.ts +1 -0
  29. package/dist-client/components/data-ooc-activity-view.js +154 -0
  30. package/dist-client/components/data-ooc-activity-view.js.map +1 -0
  31. package/dist-client/pages/data-set/data-set-list-page.js +8 -8
  32. package/dist-client/pages/data-set/data-set-list-page.js.map +1 -1
  33. package/dist-client/tsconfig.tsbuildinfo +1 -1
  34. package/dist-server/activities/activity-data-collect.js +4 -2
  35. package/dist-server/activities/activity-data-collect.js.map +1 -1
  36. package/dist-server/activities/activity-ooc-resolve.js +4 -2
  37. package/dist-server/activities/activity-ooc-resolve.js.map +1 -1
  38. package/dist-server/activities/activity-ooc-review.js +4 -2
  39. package/dist-server/activities/activity-ooc-review.js.map +1 -1
  40. package/dist-server/controllers/activity-template/activity-data-collect.js.map +1 -1
  41. package/dist-server/controllers/activity-template/activity-ooc.js +59 -0
  42. package/dist-server/controllers/activity-template/activity-ooc.js.map +1 -0
  43. package/dist-server/routes.js +14 -4
  44. package/dist-server/routes.js.map +1 -1
  45. package/dist-server/service/data-set/data-set-mutation.js +12 -8
  46. package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
  47. package/dist-server/service/data-set/data-set-query.js +1 -1
  48. package/dist-server/service/data-set/data-set-query.js.map +1 -1
  49. package/dist-server/service/data-set/data-set.js +2 -2
  50. package/dist-server/service/data-set/data-set.js.map +1 -1
  51. package/dist-server/tsconfig.tsbuildinfo +1 -1
  52. package/package.json +11 -11
  53. package/server/activities/activity-data-collect.ts +4 -2
  54. package/server/activities/activity-ooc-resolve.ts +4 -2
  55. package/server/activities/activity-ooc-review.ts +4 -2
  56. package/server/routes.ts +22 -5
  57. package/server/service/data-set/data-set-mutation.ts +12 -8
  58. package/server/service/data-set/data-set-query.ts +1 -1
  59. package/server/service/data-set/data-set.ts +2 -2
@@ -0,0 +1,100 @@
1
+ import '@operato/dataset/ox-data-entry-form.js'
2
+
3
+ import gql from 'graphql-tag'
4
+ import { css, html, LitElement } from 'lit'
5
+ import { customElement, property, query, state } from 'lit/decorators.js'
6
+
7
+ import { client } from '@operato/graphql'
8
+ import { i18next, localize } from '@operato/i18n'
9
+ import { ScrollbarStyles } from '@operato/styles'
10
+ import { OxDataEntryForm } from '@operato/dataset/ox-data-entry-form.js'
11
+ import { DataSet } from '@operato/dataset'
12
+
13
+ @customElement('activity-data-collect-edit')
14
+ export class DataCollectActivityEdit extends localize(i18next)(LitElement) {
15
+ static styles = [
16
+ ScrollbarStyles,
17
+ css`
18
+ :host {
19
+ display: flex;
20
+ flex-direction: column;
21
+
22
+ background-color: #fff;
23
+ }
24
+
25
+ ox-data-entry-form {
26
+ flex: 1;
27
+ padding: 10px;
28
+ overflow: auto;
29
+ }
30
+ `
31
+ ]
32
+
33
+ @property({ type: Object }) input?: any
34
+ @property({ type: Object }) output?: any
35
+
36
+ @state() dataSet?: DataSet & { id: string }
37
+
38
+ @query('ox-data-entry-form') entryForm!: OxDataEntryForm
39
+
40
+ render() {
41
+ return html`
42
+ <ox-data-entry-form
43
+ .dataSet=${this.dataSet}
44
+ .value=${this.output}
45
+ @change=${this._updateDataItems}
46
+ ></ox-data-entry-form>
47
+ `
48
+ }
49
+
50
+ async _updateDataItems() {
51
+ this.output = this.entryForm.value
52
+
53
+ this.dispatchEvent(
54
+ new CustomEvent('change', {
55
+ detail: this.output
56
+ })
57
+ )
58
+ }
59
+
60
+ updated(changes) {
61
+ if (changes.has('input')) {
62
+ this.fetchDataSet()
63
+ }
64
+ }
65
+
66
+ async fetchDataSet() {
67
+ const id = this.input.dataSetId
68
+
69
+ if (id) {
70
+ const response = await client.query({
71
+ query: gql`
72
+ query ($id: String!) {
73
+ dataSet(id: $id) {
74
+ id
75
+ name
76
+ description
77
+ useCase
78
+ dataItems {
79
+ name
80
+ description
81
+ active
82
+ tag
83
+ type
84
+ unit
85
+ options
86
+ quota
87
+ spec
88
+ }
89
+ }
90
+ }
91
+ `,
92
+ variables: {
93
+ id
94
+ }
95
+ })
96
+
97
+ this.dataSet = response.data.dataSet
98
+ }
99
+ }
100
+ }
@@ -7,7 +7,6 @@ import { customElement, property, query, state } from 'lit/decorators.js'
7
7
  import { client } from '@operato/graphql'
8
8
  import { i18next, localize } from '@operato/i18n'
9
9
  import { ScrollbarStyles } from '@operato/styles'
10
- import { OxDataEntryForm } from '@operato/dataset/ox-data-entry-form.js'
11
10
  import { DataSet } from '@operato/dataset'
12
11
 
13
12
  @customElement('activity-data-collect-view')
@@ -35,26 +34,8 @@ export class DataCollectActivityView extends localize(i18next)(LitElement) {
35
34
 
36
35
  @state() dataSet?: DataSet & { id: string }
37
36
 
38
- @query('ox-data-entry-form') entryForm!: OxDataEntryForm
39
-
40
37
  render() {
41
- return html`
42
- <ox-data-entry-form
43
- .dataSet=${this.dataSet}
44
- .value=${this.output}
45
- @change=${this._updateDataItems}
46
- ></ox-data-entry-form>
47
- `
48
- }
49
-
50
- async _updateDataItems() {
51
- this.output = this.entryForm.value
52
-
53
- this.dispatchEvent(
54
- new CustomEvent('change', {
55
- detail: this.output
56
- })
57
- )
38
+ return html` <ox-data-entry-form .dataSet=${this.dataSet} .value=${this.output}></ox-data-entry-form>`
58
39
  }
59
40
 
60
41
  updated(changes) {
@@ -0,0 +1,174 @@
1
+ import '@operato/dataset/ox-data-sample-view.js'
2
+
3
+ import gql from 'graphql-tag'
4
+ import { css, html, LitElement } from 'lit'
5
+ import { customElement, property, query, state } from 'lit/decorators.js'
6
+
7
+ import { client } from '@operato/graphql'
8
+ import { i18next, localize } from '@operato/i18n'
9
+ import { ScrollbarStyles } from '@operato/styles'
10
+
11
+ @customElement('activity-ooc-resolve-edit')
12
+ class OocResolveActivityEdit extends localize(i18next)(LitElement) {
13
+ static styles = [
14
+ ScrollbarStyles,
15
+ css`
16
+ :host {
17
+ display: flex;
18
+ flex-direction: column;
19
+
20
+ background-color: #fff;
21
+ }
22
+
23
+ div[content] {
24
+ flex: 1;
25
+ flex-direction: column;
26
+
27
+ display: flex;
28
+ overflow: auto;
29
+ }
30
+
31
+ ox-data-sample-view {
32
+ flex: 1;
33
+ padding: var(--padding-wide);
34
+ overflow: auto;
35
+ }
36
+
37
+ div[instruction] {
38
+ display: flex;
39
+ flex-direction: column;
40
+
41
+ padding: var(--padding-wide);
42
+ }
43
+
44
+ div[instruction] div {
45
+ display: flex;
46
+ }
47
+
48
+ div[instruction] div[content] {
49
+ display: flex;
50
+ min-height: 50px;
51
+ }
52
+
53
+ label[action] {
54
+ display: flex;
55
+ flex-direction: column;
56
+
57
+ padding: var(--padding-wide);
58
+ }
59
+
60
+ label[action] div {
61
+ display: flex;
62
+ }
63
+
64
+ mwc-icon {
65
+ color: var(--status-danger-color);
66
+ }
67
+
68
+ textarea {
69
+ border: var(--input-field-border);
70
+ border-radius: var(--input-border-radius);
71
+ padding: var(--input-field-padding);
72
+ font: var(--input-field-font);
73
+ }
74
+
75
+ .button-container {
76
+ display: flex;
77
+ margin-left: auto;
78
+ padding: var(--padding-default);
79
+ }
80
+ `
81
+ ]
82
+
83
+ @property({ type: Object }) input?: any
84
+ @property({ type: Object }) output?: any
85
+
86
+ @state() dataOoc?: any
87
+
88
+ @query('textarea') actionTextArea!: HTMLTextAreaElement
89
+
90
+ render() {
91
+ const action = this.output?.action
92
+
93
+ return html`
94
+ <div content>
95
+ <ox-data-sample-view .dataSample=${this.dataOoc}></ox-data-sample-view>
96
+ </div>
97
+
98
+ <div instruction>
99
+ <div><mwc-icon>build_circle</mwc-icon> <span>corrective instruction</span></div>
100
+ <div content>${this.input?.instruction}</div>
101
+ </div>
102
+
103
+ <label action>
104
+ <div><mwc-icon>build_circle</mwc-icon> <span>corrective action</span></div>
105
+ <textarea
106
+ placeholder="시정 및 예방을 위한 조치 이행 사항을 입력해주세요."
107
+ .value=${action || ''}
108
+ @change=${this.onChangeAction}
109
+ ></textarea>
110
+ </label>
111
+ `
112
+ }
113
+
114
+ onChangeAction(e: Event) {
115
+ this.output ||= {}
116
+ this.output.action = (e.target as HTMLTextAreaElement).value
117
+
118
+ this.dispatchEvent(
119
+ new CustomEvent('change', {
120
+ detail: this.output
121
+ })
122
+ )
123
+ }
124
+
125
+ updated(changes) {
126
+ if (changes.has('input')) {
127
+ this.fetchDataOoc()
128
+ }
129
+ }
130
+
131
+ async fetchDataOoc() {
132
+ const id = this.input.dataOocId
133
+
134
+ if (id) {
135
+ const response = await client.query({
136
+ query: gql`
137
+ query ($id: String!) {
138
+ dataOoc(id: $id) {
139
+ id
140
+ name
141
+ description
142
+ ooc
143
+ oos
144
+ state
145
+ type
146
+ useCase
147
+ data
148
+ judgment
149
+ dataItems {
150
+ name
151
+ description
152
+ active
153
+ tag
154
+ type
155
+ unit
156
+ options
157
+ quota
158
+ spec
159
+ }
160
+ workDate
161
+ workShift
162
+ collectedAt
163
+ }
164
+ }
165
+ `,
166
+ variables: {
167
+ id
168
+ }
169
+ })
170
+
171
+ this.dataOoc = response.data.dataOoc
172
+ }
173
+ }
174
+ }
@@ -50,32 +50,24 @@ class OocResolveActivityView extends localize(i18next)(LitElement) {
50
50
  min-height: 50px;
51
51
  }
52
52
 
53
- label[action] {
53
+ div[action] {
54
54
  display: flex;
55
55
  flex-direction: column;
56
56
 
57
57
  padding: var(--padding-wide);
58
58
  }
59
59
 
60
- label[action] div {
60
+ div[action] div {
61
61
  display: flex;
62
62
  }
63
63
 
64
- mwc-icon {
65
- color: var(--status-danger-color);
66
- }
67
-
68
- textarea {
69
- border: var(--input-field-border);
70
- border-radius: var(--input-border-radius);
71
- padding: var(--input-field-padding);
72
- font: var(--input-field-font);
64
+ div[action] div[content] {
65
+ display: flex;
66
+ min-height: 50px;
73
67
  }
74
68
 
75
- .button-container {
76
- display: flex;
77
- margin-left: auto;
78
- padding: var(--padding-default);
69
+ mwc-icon {
70
+ color: var(--status-danger-color);
79
71
  }
80
72
  `
81
73
  ]
@@ -85,11 +77,7 @@ class OocResolveActivityView extends localize(i18next)(LitElement) {
85
77
 
86
78
  @state() dataOoc?: any
87
79
 
88
- @query('textarea') actionTextArea!: HTMLTextAreaElement
89
-
90
80
  render() {
91
- const action = this.output?.action
92
-
93
81
  return html`
94
82
  <div content>
95
83
  <ox-data-sample-view .dataSample=${this.dataOoc}></ox-data-sample-view>
@@ -100,28 +88,13 @@ class OocResolveActivityView extends localize(i18next)(LitElement) {
100
88
  <div content>${this.input?.instruction}</div>
101
89
  </div>
102
90
 
103
- <label action>
91
+ <div action>
104
92
  <div><mwc-icon>build_circle</mwc-icon> <span>corrective action</span></div>
105
- <textarea
106
- placeholder="시정 및 예방을 위한 조치 이행 사항을 입력해주세요."
107
- .value=${action || ''}
108
- @change=${this.onChangeAction}
109
- ></textarea>
110
- </label>
93
+ <div content>${this.output?.action}</div>
94
+ </div>
111
95
  `
112
96
  }
113
97
 
114
- onChangeAction(e: Event) {
115
- this.output ||= {}
116
- this.output.action = (e.target as HTMLTextAreaElement).value
117
-
118
- this.dispatchEvent(
119
- new CustomEvent('change', {
120
- detail: this.output
121
- })
122
- )
123
- }
124
-
125
98
  updated(changes) {
126
99
  if (changes.has('input')) {
127
100
  this.fetchDataOoc()
@@ -0,0 +1,153 @@
1
+ import '@operato/dataset/ox-data-sample-view.js'
2
+
3
+ import gql from 'graphql-tag'
4
+ import { css, html, LitElement } from 'lit'
5
+ import { customElement, property, query, state } from 'lit/decorators.js'
6
+
7
+ import { client } from '@operato/graphql'
8
+ import { i18next, localize } from '@operato/i18n'
9
+ import { ScrollbarStyles } from '@operato/styles'
10
+
11
+ @customElement('activity-ooc-review-edit')
12
+ class OocReviewActivityEdit extends localize(i18next)(LitElement) {
13
+ static styles = [
14
+ ScrollbarStyles,
15
+ css`
16
+ :host {
17
+ display: flex;
18
+ flex-direction: column;
19
+
20
+ background-color: #fff;
21
+ }
22
+
23
+ div[content] {
24
+ flex: 1;
25
+ flex-direction: column;
26
+
27
+ display: flex;
28
+ overflow: auto;
29
+ }
30
+
31
+ ox-data-sample-view {
32
+ flex: 1;
33
+ padding: var(--padding-wide);
34
+ overflow: auto;
35
+ }
36
+
37
+ label[instruction] {
38
+ display: flex;
39
+ flex-direction: column;
40
+
41
+ padding: var(--padding-wide);
42
+ }
43
+
44
+ label[instruction] div {
45
+ display: flex;
46
+ }
47
+
48
+ mwc-icon {
49
+ color: var(--status-danger-color);
50
+ }
51
+
52
+ textarea {
53
+ border: var(--input-field-border);
54
+ border-radius: var(--input-border-radius);
55
+ padding: var(--input-field-padding);
56
+ font: var(--input-field-font);
57
+ }
58
+
59
+ .button-container {
60
+ display: flex;
61
+ margin-left: auto;
62
+ padding: var(--padding-default);
63
+ }
64
+ `
65
+ ]
66
+
67
+ @property({ type: Object }) input?: any
68
+ @property({ type: Object }) output?: any
69
+
70
+ @state() dataOoc?: any
71
+
72
+ @query('textarea') instructionTextArea!: HTMLTextAreaElement
73
+
74
+ render() {
75
+ const instruction = this.output?.instruction
76
+
77
+ return html`
78
+ <div content>
79
+ <ox-data-sample-view .dataSample=${this.dataOoc}></ox-data-sample-view>
80
+ </div>
81
+
82
+ <label instruction>
83
+ <div><mwc-icon>build_circle</mwc-icon> <span>corrective instruction</span></div>
84
+ <textarea
85
+ placeholder="시정 및 예방을 위한 조치 지시 사항을 입력해주세요."
86
+ .value=${instruction || ''}
87
+ @change=${this.onChangeInstruction}
88
+ ></textarea>
89
+ </label>
90
+ `
91
+ }
92
+
93
+ onChangeInstruction(e: Event) {
94
+ this.output ||= {}
95
+ this.output.instruction = (e.target as HTMLTextAreaElement).value
96
+
97
+ this.dispatchEvent(
98
+ new CustomEvent('change', {
99
+ detail: this.output
100
+ })
101
+ )
102
+ }
103
+
104
+ updated(changes) {
105
+ if (changes.has('input')) {
106
+ this.fetchDataOoc()
107
+ }
108
+ }
109
+
110
+ async fetchDataOoc() {
111
+ const id = this.input?.dataOocId
112
+
113
+ if (id) {
114
+ const response = await client.query({
115
+ query: gql`
116
+ query ($id: String!) {
117
+ dataOoc(id: $id) {
118
+ id
119
+ name
120
+ description
121
+ ooc
122
+ oos
123
+ state
124
+ type
125
+ useCase
126
+ data
127
+ judgment
128
+ dataItems {
129
+ name
130
+ description
131
+ active
132
+ tag
133
+ type
134
+ unit
135
+ options
136
+ quota
137
+ spec
138
+ }
139
+ workDate
140
+ workShift
141
+ collectedAt
142
+ }
143
+ }
144
+ `,
145
+ variables: {
146
+ id
147
+ }
148
+ })
149
+
150
+ this.dataOoc = response.data.dataOoc
151
+ }
152
+ }
153
+ }
@@ -34,32 +34,24 @@ class OocReviewActivityView extends localize(i18next)(LitElement) {
34
34
  overflow: auto;
35
35
  }
36
36
 
37
- label[instruction] {
37
+ div[instruction] {
38
38
  display: flex;
39
39
  flex-direction: column;
40
40
 
41
41
  padding: var(--padding-wide);
42
42
  }
43
43
 
44
- label[instruction] div {
44
+ div[instruction] div {
45
45
  display: flex;
46
46
  }
47
47
 
48
- mwc-icon {
49
- color: var(--status-danger-color);
50
- }
51
-
52
- textarea {
53
- border: var(--input-field-border);
54
- border-radius: var(--input-border-radius);
55
- padding: var(--input-field-padding);
56
- font: var(--input-field-font);
48
+ div[instruction] div[content] {
49
+ display: flex;
50
+ min-height: 50px;
57
51
  }
58
52
 
59
- .button-container {
60
- display: flex;
61
- margin-left: auto;
62
- padding: var(--padding-default);
53
+ mwc-icon {
54
+ color: var(--status-danger-color);
63
55
  }
64
56
  `
65
57
  ]
@@ -79,28 +71,13 @@ class OocReviewActivityView extends localize(i18next)(LitElement) {
79
71
  <ox-data-sample-view .dataSample=${this.dataOoc}></ox-data-sample-view>
80
72
  </div>
81
73
 
82
- <label instruction>
74
+ <div instruction>
83
75
  <div><mwc-icon>build_circle</mwc-icon> <span>corrective instruction</span></div>
84
- <textarea
85
- placeholder="시정 및 예방을 위한 조치 지시 사항을 입력해주세요."
86
- .value=${instruction || ''}
87
- @change=${this.onChangeInstruction}
88
- ></textarea>
89
- </label>
76
+ <div content>${instruction || ''}</div>
77
+ </div>
90
78
  `
91
79
  }
92
80
 
93
- onChangeInstruction(e: Event) {
94
- this.output ||= {}
95
- this.output.instruction = (e.target as HTMLTextAreaElement).value
96
-
97
- this.dispatchEvent(
98
- new CustomEvent('change', {
99
- detail: this.output
100
- })
101
- )
102
- }
103
-
104
81
  updated(changes) {
105
82
  if (changes.has('input')) {
106
83
  this.fetchDataOoc()
@@ -1,3 +1,6 @@
1
+ import './activities/activity-data-collect-edit' /* refered by the activity template (activity-data-collect) on server */
2
+ import './activities/activity-ooc-review-edit' /* refered by the activity template (activity-ooc-review) on server */
3
+ import './activities/activity-ooc-resolve-edit' /* refered by the activity template (activity-ooc-resolve) on server */
1
4
  import './activities/activity-data-collect-view' /* refered by the activity template (activity-data-collect) on server */
2
5
  import './activities/activity-ooc-review-view' /* refered by the activity template (activity-ooc-review) on server */
3
6
  import './activities/activity-ooc-resolve-view' /* refered by the activity template (activity-ooc-resolve) on server */
@@ -247,14 +247,14 @@ export class DataSetListPage extends connect(store)(localize(i18next)(PageView))
247
247
  {
248
248
  type: 'gutter',
249
249
  gutterName: 'button',
250
- icon: record => (!record || !record.name ? '' : record.schedulerHandle ? 'pause' : 'play_arrow'),
250
+ icon: record => (!record || !record.name ? '' : record.scheduleId ? 'pause' : 'play_arrow'),
251
251
  handlers: {
252
252
  click: (columns, data, column, record, rowIndex) => {
253
253
  if (!record || !record.name) {
254
254
  /* TODO record가 새로 추가된 것이면 리턴하도록 한다. */
255
255
  return
256
256
  }
257
- if (record.schedulerHandle) {
257
+ if (record.scheduleId) {
258
258
  this.stopDataCollectionSchedule(record)
259
259
  } else {
260
260
  this.startDataCollectionSchedule(record)
@@ -451,7 +451,6 @@ export class DataSetListPage extends connect(store)(localize(i18next)(PageView))
451
451
  key: 'timezone'
452
452
  }
453
453
  },
454
-
455
454
  {
456
455
  type: 'resource-object',
457
456
  name: 'supervisoryRole',
@@ -638,7 +637,7 @@ export class DataSetListPage extends connect(store)(localize(i18next)(PageView))
638
637
  useCase
639
638
  schedule
640
639
  timezone
641
- schedulerHandle
640
+ scheduleId
642
641
  dataKeySet {
643
642
  id
644
643
  name
@@ -805,7 +804,7 @@ export class DataSetListPage extends connect(store)(localize(i18next)(PageView))
805
804
  mutation: gql`
806
805
  mutation ($dataSetId: String!) {
807
806
  startDataCollectionSchedule(dataSetId: $dataSetId) {
808
- schedulerHandle
807
+ scheduleId
809
808
  }
810
809
  }
811
810
  `,
@@ -814,12 +813,12 @@ export class DataSetListPage extends connect(store)(localize(i18next)(PageView))
814
813
  }
815
814
  })
816
815
 
817
- const schedulerHandle = response.data.startDataCollectionSchedule.schedulerHandle
818
- record.schedulerHandle = schedulerHandle
816
+ const scheduleId = response.data.startDataCollectionSchedule.scheduleId
817
+ record.scheduleId = scheduleId
819
818
 
820
819
  notify({
821
820
  level: 'info',
822
- message: `${record.schedulerHandle ? 'success' : 'fail'} to start data collection schedule : ${record.name}`
821
+ message: `${record.scheduleId ? 'success' : 'fail'} to start data collection schedule : ${record.name}`
823
822
  })
824
823
 
825
824
  this.grist.fetch()
@@ -830,7 +829,7 @@ export class DataSetListPage extends connect(store)(localize(i18next)(PageView))
830
829
  mutation: gql`
831
830
  mutation ($dataSetId: String!) {
832
831
  stopDataCollectionSchedule(dataSetId: $dataSetId) {
833
- schedulerHandle
832
+ scheduleId
834
833
  }
835
834
  }
836
835
  `,