@things-factory/dataset 6.2.105 → 6.2.110
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.
- package/client/activities/activity-data-collect-view.ts +7 -0
- package/client/activities/activity-data-review-edit.ts +66 -4
- package/client/activities/activity-data-review-view.ts +78 -4
- package/client/activities/activity-ooc-resolve-view.ts +12 -0
- package/client/activities/activity-ooc-review-view.ts +12 -0
- package/client/pages/data-ooc/data-ooc-list-page.ts +16 -4
- package/client/pages/data-ooc/data-ooc-page.ts +42 -0
- package/client/pages/data-ooc/data-ooc-view.ts +158 -19
- package/client/pages/data-ooc/data-oocs-page.ts +69 -3
- package/client/pages/data-sample/data-sample-page.ts +7 -0
- package/client/pages/data-sample/data-sample-search-page.ts +25 -20
- package/client/pages/data-sample/data-sample-view.ts +144 -22
- package/client/pages/data-sample/data-samples-page.ts +131 -5
- package/client/pages/data-set/data-item-list.ts +2 -2
- package/dist-client/activities/activity-data-collect-view.js +7 -0
- package/dist-client/activities/activity-data-collect-view.js.map +1 -1
- package/dist-client/activities/activity-data-review-edit.d.ts +1 -1
- package/dist-client/activities/activity-data-review-edit.js +63 -5
- package/dist-client/activities/activity-data-review-edit.js.map +1 -1
- package/dist-client/activities/activity-data-review-view.d.ts +1 -1
- package/dist-client/activities/activity-data-review-view.js +75 -5
- package/dist-client/activities/activity-data-review-view.js.map +1 -1
- package/dist-client/activities/activity-ooc-resolve-view.js +12 -0
- package/dist-client/activities/activity-ooc-resolve-view.js.map +1 -1
- package/dist-client/activities/activity-ooc-review-view.js +12 -0
- package/dist-client/activities/activity-ooc-review-view.js.map +1 -1
- package/dist-client/pages/data-ooc/data-ooc-list-page.js +16 -4
- package/dist-client/pages/data-ooc/data-ooc-list-page.js.map +1 -1
- package/dist-client/pages/data-ooc/data-ooc-page.js +42 -0
- package/dist-client/pages/data-ooc/data-ooc-page.js.map +1 -1
- package/dist-client/pages/data-ooc/data-ooc-view.d.ts +6 -3
- package/dist-client/pages/data-ooc/data-ooc-view.js +155 -22
- package/dist-client/pages/data-ooc/data-ooc-view.js.map +1 -1
- package/dist-client/pages/data-ooc/data-oocs-page.d.ts +1 -0
- package/dist-client/pages/data-ooc/data-oocs-page.js +69 -3
- package/dist-client/pages/data-ooc/data-oocs-page.js.map +1 -1
- package/dist-client/pages/data-sample/data-sample-page.js +7 -0
- package/dist-client/pages/data-sample/data-sample-page.js.map +1 -1
- package/dist-client/pages/data-sample/data-sample-search-page.d.ts +6 -1
- package/dist-client/pages/data-sample/data-sample-search-page.js +19 -13
- package/dist-client/pages/data-sample/data-sample-search-page.js.map +1 -1
- package/dist-client/pages/data-sample/data-sample-view.d.ts +18 -0
- package/dist-client/pages/data-sample/data-sample-view.js +143 -21
- package/dist-client/pages/data-sample/data-sample-view.js.map +1 -1
- package/dist-client/pages/data-sample/data-samples-page.d.ts +2 -0
- package/dist-client/pages/data-sample/data-samples-page.js +132 -5
- package/dist-client/pages/data-sample/data-samples-page.js.map +1 -1
- package/dist-client/pages/data-set/data-item-list.js +2 -2
- package/dist-client/pages/data-set/data-item-list.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/activities/activity-data-review.js.map +1 -1
- package/dist-server/activities/activity-ooc-review.js +2 -1
- package/dist-server/activities/activity-ooc-review.js.map +1 -1
- package/dist-server/controllers/create-data-sample.js +27 -29
- package/dist-server/controllers/create-data-sample.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc-query.js +32 -0
- package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc.js +15 -26
- package/dist-server/service/data-ooc/data-ooc.js.map +1 -1
- package/dist-server/service/data-sample/data-sample-query.js +24 -0
- package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
- package/dist-server/service/data-sample/data-sample.js +15 -20
- package/dist-server/service/data-sample/data-sample.js.map +1 -1
- package/dist-server/service/data-set/data-item-type.js +1 -0
- package/dist-server/service/data-set/data-item-type.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/server/activities/activity-data-review.ts +1 -5
- package/server/activities/activity-ooc-review.ts +5 -15
- package/server/controllers/create-data-sample.ts +31 -38
- package/server/service/data-ooc/data-ooc-query.ts +17 -0
- package/server/service/data-ooc/data-ooc.ts +17 -28
- package/server/service/data-sample/data-sample-query.ts +14 -0
- package/server/service/data-sample/data-sample.ts +15 -21
- package/server/service/data-set/data-item-type.ts +1 -0
- package/translations/en.json +5 -1
- package/translations/ja.json +5 -1
- package/translations/ko.json +4 -0
- package/translations/ms.json +4 -0
- package/translations/zh.json +5 -1
@@ -1,8 +1,11 @@
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
2
2
|
import '@operato/dataset/ox-data-ooc-brief-view.js';
|
3
3
|
import '@material/mwc-fab';
|
4
|
-
import
|
5
|
-
import
|
4
|
+
import '@things-factory/worklist/dist-client/components/activity-thread-timeline.js';
|
5
|
+
import gql from 'graphql-tag';
|
6
|
+
import { css, html, LitElement, nothing } from 'lit';
|
7
|
+
import { customElement, property, state } from 'lit/decorators.js';
|
8
|
+
import { client } from '@operato/graphql';
|
6
9
|
import { i18next, localize } from '@operato/i18n';
|
7
10
|
import { ScrollbarStyles } from '@operato/styles';
|
8
11
|
import { GhostPrint } from '@operato/ghost-print';
|
@@ -12,8 +15,32 @@ let DataOocView = class DataOocView extends localize(i18next)(LitElement) {
|
|
12
15
|
this.printHandler = this.handlePrint.bind(this);
|
13
16
|
}
|
14
17
|
render() {
|
18
|
+
var _a, _b, _c, _d, _e, _f;
|
19
|
+
if (!this.dataOoc) {
|
20
|
+
return nothing;
|
21
|
+
}
|
22
|
+
const reviewActivityThread = (_c = (_b = (_a = this.dataOoc) === null || _a === void 0 ? void 0 : _a.reviewActivityInstance) === null || _b === void 0 ? void 0 : _b.activityThreads) === null || _c === void 0 ? void 0 : _c[0];
|
23
|
+
const resolveActivityThread = (_f = (_e = (_d = this.dataOoc) === null || _d === void 0 ? void 0 : _d.resolveActivityInstance) === null || _e === void 0 ? void 0 : _e.activityThreads) === null || _f === void 0 ? void 0 : _f[0];
|
15
24
|
return html `
|
16
25
|
<ox-data-ooc-brief-view .dataOoc=${this.dataOoc}></ox-data-ooc-brief-view>
|
26
|
+
${reviewActivityThread
|
27
|
+
? html `
|
28
|
+
<activity-thread-timeline
|
29
|
+
subtitle=${String(i18next.t('label.ooc review timeline'))}
|
30
|
+
.activityThread=${reviewActivityThread}
|
31
|
+
short-form
|
32
|
+
></activity-thread-timeline>
|
33
|
+
`
|
34
|
+
: nothing}
|
35
|
+
${resolveActivityThread
|
36
|
+
? html `
|
37
|
+
<activity-thread-timeline
|
38
|
+
subtitle=${String(i18next.t('label.ooc resolve timeline'))}
|
39
|
+
.activityThread=${resolveActivityThread}
|
40
|
+
short-form
|
41
|
+
></activity-thread-timeline>
|
42
|
+
`
|
43
|
+
: nothing}
|
17
44
|
|
18
45
|
<mwc-fab
|
19
46
|
icon="print"
|
@@ -25,6 +52,116 @@ let DataOocView = class DataOocView extends localize(i18next)(LitElement) {
|
|
25
52
|
>
|
26
53
|
`;
|
27
54
|
}
|
55
|
+
updated(changes) {
|
56
|
+
if (changes.has('dataOocId')) {
|
57
|
+
this.fetchDataOoc();
|
58
|
+
}
|
59
|
+
}
|
60
|
+
async fetchDataOoc() {
|
61
|
+
const id = this.dataOocId;
|
62
|
+
const response = await client.query({
|
63
|
+
query: gql `
|
64
|
+
query ($id: String!) {
|
65
|
+
dataOoc(id: $id) {
|
66
|
+
id
|
67
|
+
name
|
68
|
+
description
|
69
|
+
useCase
|
70
|
+
dataSet {
|
71
|
+
id
|
72
|
+
name
|
73
|
+
}
|
74
|
+
key01
|
75
|
+
key02
|
76
|
+
key03
|
77
|
+
key04
|
78
|
+
key05
|
79
|
+
partitionKeys
|
80
|
+
dataItems {
|
81
|
+
name
|
82
|
+
description
|
83
|
+
active
|
84
|
+
hidden
|
85
|
+
tag
|
86
|
+
group
|
87
|
+
type
|
88
|
+
unit
|
89
|
+
options
|
90
|
+
quota
|
91
|
+
spec
|
92
|
+
stat
|
93
|
+
}
|
94
|
+
data
|
95
|
+
rawData
|
96
|
+
judgment
|
97
|
+
ooc
|
98
|
+
oos
|
99
|
+
state
|
100
|
+
history
|
101
|
+
workDate
|
102
|
+
workShift
|
103
|
+
correctiveInstruction
|
104
|
+
correctiveAction
|
105
|
+
reviewedAt
|
106
|
+
reviewer {
|
107
|
+
id
|
108
|
+
name
|
109
|
+
}
|
110
|
+
correctedAt
|
111
|
+
corrector {
|
112
|
+
id
|
113
|
+
name
|
114
|
+
}
|
115
|
+
updater {
|
116
|
+
id
|
117
|
+
name
|
118
|
+
}
|
119
|
+
updatedAt
|
120
|
+
collectedAt
|
121
|
+
reviewActivityInstance {
|
122
|
+
...ActivityInstanceFragment
|
123
|
+
}
|
124
|
+
resolveActivityInstance {
|
125
|
+
...ActivityInstanceFragment
|
126
|
+
}
|
127
|
+
}
|
128
|
+
}
|
129
|
+
|
130
|
+
fragment ActivityInstanceFragment on ActivityInstance {
|
131
|
+
activityThreads {
|
132
|
+
assignee {
|
133
|
+
name
|
134
|
+
}
|
135
|
+
output
|
136
|
+
activityApprovals {
|
137
|
+
judgment
|
138
|
+
approver {
|
139
|
+
name
|
140
|
+
}
|
141
|
+
comment
|
142
|
+
createdAt
|
143
|
+
updatedAt
|
144
|
+
terminatedAt
|
145
|
+
}
|
146
|
+
activityThreadHistories {
|
147
|
+
transaction
|
148
|
+
reason
|
149
|
+
updater {
|
150
|
+
name
|
151
|
+
}
|
152
|
+
updatedAt
|
153
|
+
state
|
154
|
+
output
|
155
|
+
}
|
156
|
+
}
|
157
|
+
}
|
158
|
+
`,
|
159
|
+
variables: {
|
160
|
+
id
|
161
|
+
}
|
162
|
+
});
|
163
|
+
this.dataOoc = response.data.dataOoc;
|
164
|
+
}
|
28
165
|
handlePrint(event) {
|
29
166
|
if ((event.ctrlKey || event.metaKey) && event.key === 'p') {
|
30
167
|
event.preventDefault();
|
@@ -46,21 +183,23 @@ DataOocView.styles = [
|
|
46
183
|
ScrollbarStyles,
|
47
184
|
css `
|
48
185
|
:host {
|
49
|
-
display:
|
50
|
-
flex-direction: column;
|
186
|
+
display: block;
|
51
187
|
position: relative;
|
52
|
-
|
53
188
|
background-color: #fff;
|
189
|
+
|
190
|
+
overflow: auto;
|
54
191
|
}
|
55
192
|
|
56
193
|
ox-data-ooc-brief-view {
|
57
|
-
flex: 1;
|
58
194
|
padding: var(--padding-wide);
|
59
|
-
|
195
|
+
}
|
196
|
+
|
197
|
+
activity-thread-timeline {
|
198
|
+
margin: var(--margin-default);
|
60
199
|
}
|
61
200
|
|
62
201
|
mwc-fab {
|
63
|
-
position:
|
202
|
+
position: fixed;
|
64
203
|
bottom: 15px;
|
65
204
|
right: 16px;
|
66
205
|
text-decoration: auto;
|
@@ -68,15 +207,6 @@ DataOocView.styles = [
|
|
68
207
|
}
|
69
208
|
|
70
209
|
@media print {
|
71
|
-
:host {
|
72
|
-
display: block;
|
73
|
-
}
|
74
|
-
|
75
|
-
ox-data-ooc-brief-view {
|
76
|
-
flex: unset;
|
77
|
-
overflow: visible;
|
78
|
-
}
|
79
|
-
|
80
210
|
mwc-fab {
|
81
211
|
display: none;
|
82
212
|
}
|
@@ -84,13 +214,16 @@ DataOocView.styles = [
|
|
84
214
|
`
|
85
215
|
];
|
86
216
|
__decorate([
|
87
|
-
property({
|
217
|
+
property({
|
218
|
+
type: String,
|
219
|
+
attribute: 'data-ooc-id'
|
220
|
+
}),
|
221
|
+
__metadata("design:type", String)
|
222
|
+
], DataOocView.prototype, "dataOocId", void 0);
|
223
|
+
__decorate([
|
224
|
+
state(),
|
88
225
|
__metadata("design:type", Object)
|
89
226
|
], DataOocView.prototype, "dataOoc", void 0);
|
90
|
-
__decorate([
|
91
|
-
query('ox-data-ooc-brief-view'),
|
92
|
-
__metadata("design:type", HTMLTextAreaElement)
|
93
|
-
], DataOocView.prototype, "sampleView", void 0);
|
94
227
|
DataOocView = __decorate([
|
95
228
|
customElement('data-ooc-view')
|
96
229
|
], DataOocView);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-ooc-view.js","sourceRoot":"","sources":["../../../client/pages/data-ooc/data-ooc-view.ts"],"names":[],"mappings":";AAAA,OAAO,4CAA4C,CAAA;AACnD,OAAO,mBAAmB,CAAA;
|
1
|
+
{"version":3,"file":"data-ooc-view.js","sourceRoot":"","sources":["../../../client/pages/data-ooc/data-ooc-view.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/dataset/ox-data-ooc-brief-view.js'\nimport '@material/mwc-fab'\nimport '@things-factory/worklist/dist-client/components/activity-thread-timeline.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'\nimport { GhostPrint } from '@operato/ghost-print'\n\n@customElement('data-ooc-view')\nexport class DataOocView extends localize(i18next)(LitElement) {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: block;\n position: relative;\n background-color: #fff;\n\n overflow: auto;\n }\n\n ox-data-ooc-brief-view {\n padding: var(--padding-wide);\n }\n\n activity-thread-timeline {\n margin: var(--margin-default);\n }\n\n mwc-fab {\n position: fixed;\n bottom: 15px;\n right: 16px;\n text-decoration: auto;\n opacity: 0.5;\n }\n\n @media print {\n mwc-fab {\n display: none;\n }\n }\n `\n ]\n\n @property({\n type: String,\n attribute: 'data-ooc-id'\n })\n dataOocId?: string\n\n @state() dataOoc?: any\n\n private printHandler = this.handlePrint.bind(this)\n\n render() {\n if (!this.dataOoc) {\n return nothing\n }\n\n const reviewActivityThread = this.dataOoc?.reviewActivityInstance?.activityThreads?.[0]\n const resolveActivityThread = this.dataOoc?.resolveActivityInstance?.activityThreads?.[0]\n\n return html`\n <ox-data-ooc-brief-view .dataOoc=${this.dataOoc}></ox-data-ooc-brief-view>\n ${reviewActivityThread\n ? html`\n <activity-thread-timeline\n subtitle=${String(i18next.t('label.ooc review timeline'))}\n .activityThread=${reviewActivityThread}\n short-form\n ></activity-thread-timeline>\n `\n : nothing}\n ${resolveActivityThread\n ? html`\n <activity-thread-timeline\n subtitle=${String(i18next.t('label.ooc resolve timeline'))}\n .activityThread=${resolveActivityThread}\n short-form\n ></activity-thread-timeline>\n `\n : nothing}\n\n <mwc-fab\n icon=\"print\"\n title=\"print\"\n @click=${() =>\n GhostPrint.print({\n src: `./data-ooc/${this.dataOoc.id}`\n })}\n >print</mwc-fab\n >\n `\n }\n\n updated(changes) {\n if (changes.has('dataOocId')) {\n this.fetchDataOoc()\n }\n }\n\n async fetchDataOoc() {\n const id = this.dataOocId\n\n const response = await client.query({\n query: gql`\n query ($id: String!) {\n dataOoc(id: $id) {\n id\n name\n description\n useCase\n dataSet {\n id\n name\n }\n key01\n key02\n key03\n key04\n key05\n partitionKeys\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 data\n rawData\n judgment\n ooc\n oos\n state\n history\n workDate\n workShift\n correctiveInstruction\n correctiveAction\n reviewedAt\n reviewer {\n id\n name\n }\n correctedAt\n corrector {\n id\n name\n }\n updater {\n id\n name\n }\n updatedAt\n collectedAt\n reviewActivityInstance {\n ...ActivityInstanceFragment\n }\n resolveActivityInstance {\n ...ActivityInstanceFragment\n }\n }\n }\n\n fragment ActivityInstanceFragment on ActivityInstance {\n activityThreads {\n assignee {\n name\n }\n output\n activityApprovals {\n judgment\n approver {\n name\n }\n comment\n createdAt\n updatedAt\n terminatedAt\n }\n activityThreadHistories {\n transaction\n reason\n updater {\n name\n }\n updatedAt\n state\n output\n }\n }\n }\n `,\n variables: {\n id\n }\n })\n\n this.dataOoc = response.data.dataOoc\n }\n\n handlePrint(event) {\n if ((event.ctrlKey || event.metaKey) && event.key === 'p') {\n event.preventDefault()\n\n GhostPrint.print({\n src: `./data-ooc/${this.dataOoc.id}`\n })\n }\n }\n\n connectedCallback(): void {\n super.connectedCallback()\n window.addEventListener('keydown', this.printHandler)\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback()\n window.removeEventListener('keydown', this.printHandler)\n }\n}\n"]}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import '@operato/dataset/ox-data-ooc-brief-view.js';
|
2
|
+
import '@things-factory/worklist/dist-client/components/activity-thread-timeline.js';
|
2
3
|
import { PageView } from '@operato/shell';
|
3
4
|
declare const DataOocsPage_base: (new (...args: any[]) => import("lit").LitElement) & typeof PageView;
|
4
5
|
/**
|
@@ -1,7 +1,8 @@
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
2
2
|
import '@operato/dataset/ox-data-ooc-brief-view.js';
|
3
|
+
import '@things-factory/worklist/dist-client/components/activity-thread-timeline.js';
|
3
4
|
import gql from 'graphql-tag';
|
4
|
-
import { html, css } from 'lit';
|
5
|
+
import { html, css, nothing } from 'lit';
|
5
6
|
import { customElement, state } from 'lit/decorators.js';
|
6
7
|
import { PageView } from '@operato/shell';
|
7
8
|
import { i18next, localize } from '@operato/i18n';
|
@@ -17,7 +18,33 @@ let DataOocsPage = class DataOocsPage extends localize(i18next)(PageView) {
|
|
17
18
|
}
|
18
19
|
render() {
|
19
20
|
var _a;
|
20
|
-
return (_a = this.dataOocs) === null || _a === void 0 ? void 0 : _a.map(dataOoc =>
|
21
|
+
return (_a = this.dataOocs) === null || _a === void 0 ? void 0 : _a.map(dataOoc => {
|
22
|
+
var _a, _b, _c, _d;
|
23
|
+
const reviewActivityThread = (_b = (_a = dataOoc === null || dataOoc === void 0 ? void 0 : dataOoc.reviewActivityInstance) === null || _a === void 0 ? void 0 : _a.activityThreads) === null || _b === void 0 ? void 0 : _b[0];
|
24
|
+
const resolveActivityThread = (_d = (_c = dataOoc === null || dataOoc === void 0 ? void 0 : dataOoc.resolveActivityInstance) === null || _c === void 0 ? void 0 : _c.activityThreads) === null || _d === void 0 ? void 0 : _d[0];
|
25
|
+
return html `
|
26
|
+
<ox-data-ooc-brief-view .dataOoc=${dataOoc}></ox-data-ooc-brief-view>
|
27
|
+
${reviewActivityThread
|
28
|
+
? html `
|
29
|
+
<activity-thread-timeline
|
30
|
+
subtitle=${String(i18next.t('label.ooc review timeline'))}
|
31
|
+
.activityThread=${reviewActivityThread}
|
32
|
+
short-form
|
33
|
+
></activity-thread-timeline>
|
34
|
+
`
|
35
|
+
: nothing}
|
36
|
+
${resolveActivityThread
|
37
|
+
? html `
|
38
|
+
<activity-thread-timeline
|
39
|
+
subtitle=${String(i18next.t('label.ooc resolve timeline'))}
|
40
|
+
.activityThread=${resolveActivityThread}
|
41
|
+
short-form
|
42
|
+
></activity-thread-timeline>
|
43
|
+
`
|
44
|
+
: nothing}
|
45
|
+
<div class="end"></div>
|
46
|
+
`;
|
47
|
+
});
|
21
48
|
}
|
22
49
|
pageUpdated(changes, lifecycle, before) {
|
23
50
|
if (this.active) {
|
@@ -97,6 +124,41 @@ let DataOocsPage = class DataOocsPage extends localize(i18next)(PageView) {
|
|
97
124
|
}
|
98
125
|
updatedAt
|
99
126
|
collectedAt
|
127
|
+
reviewActivityInstance {
|
128
|
+
...ActivityInstanceFragment
|
129
|
+
}
|
130
|
+
resolveActivityInstance {
|
131
|
+
...ActivityInstanceFragment
|
132
|
+
}
|
133
|
+
}
|
134
|
+
}
|
135
|
+
}
|
136
|
+
|
137
|
+
fragment ActivityInstanceFragment on ActivityInstance {
|
138
|
+
activityThreads {
|
139
|
+
assignee {
|
140
|
+
name
|
141
|
+
}
|
142
|
+
output
|
143
|
+
activityApprovals {
|
144
|
+
judgment
|
145
|
+
approver {
|
146
|
+
name
|
147
|
+
}
|
148
|
+
comment
|
149
|
+
createdAt
|
150
|
+
updatedAt
|
151
|
+
terminatedAt
|
152
|
+
}
|
153
|
+
activityThreadHistories {
|
154
|
+
transaction
|
155
|
+
reason
|
156
|
+
updater {
|
157
|
+
name
|
158
|
+
}
|
159
|
+
updatedAt
|
160
|
+
state
|
161
|
+
output
|
100
162
|
}
|
101
163
|
}
|
102
164
|
}
|
@@ -115,7 +177,11 @@ DataOocsPage.styles = [
|
|
115
177
|
overflow: auto;
|
116
178
|
}
|
117
179
|
|
118
|
-
|
180
|
+
activity-thread-timeline {
|
181
|
+
margin: var(--margin-default);
|
182
|
+
}
|
183
|
+
|
184
|
+
.end {
|
119
185
|
page-break-after: always;
|
120
186
|
break-after: always;
|
121
187
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-oocs-page.js","sourceRoot":"","sources":["../../../client/pages/data-ooc/data-oocs-page.ts"],"names":[],"mappings":";AAAA,OAAO,4CAA4C,CAAA;
|
1
|
+
{"version":3,"file":"data-oocs-page.js","sourceRoot":"","sources":["../../../client/pages/data-ooc/data-oocs-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/dataset/ox-data-ooc-brief-view.js'\nimport '@things-factory/worklist/dist-client/components/activity-thread-timeline.js'\n\nimport gql from 'graphql-tag'\nimport { PropertyValues, html, css, nothing } from 'lit'\nimport { customElement, state } from 'lit/decorators.js'\nimport { PageView } from '@operato/shell'\nimport { i18next, localize } from '@operato/i18n'\nimport { client } from '@operato/graphql'\n\n/**\n * 이 페이지는 여러개의 Data OOC를 한번에 프린트하기 위한 용도로 사용되는 페이지이다.\n */\n@customElement('data-oocs-page')\nexport class DataOocsPage extends localize(i18next)(PageView) {\n static styles = [\n css`\n :host {\n display: block;\n overflow: auto;\n }\n\n activity-thread-timeline {\n margin: var(--margin-default);\n }\n\n .end {\n page-break-after: always;\n break-after: always;\n }\n `\n ]\n\n @state() dataOocs?: any[]\n\n get context() {\n return {\n title: i18next.t('title.data-ooc view')\n }\n }\n\n render() {\n return this.dataOocs?.map(dataOoc => {\n const reviewActivityThread = dataOoc?.reviewActivityInstance?.activityThreads?.[0]\n const resolveActivityThread = dataOoc?.resolveActivityInstance?.activityThreads?.[0]\n\n return html`\n <ox-data-ooc-brief-view .dataOoc=${dataOoc}></ox-data-ooc-brief-view>\n ${reviewActivityThread\n ? html`\n <activity-thread-timeline\n subtitle=${String(i18next.t('label.ooc review timeline'))}\n .activityThread=${reviewActivityThread}\n short-form\n ></activity-thread-timeline>\n `\n : nothing}\n ${resolveActivityThread\n ? html`\n <activity-thread-timeline\n subtitle=${String(i18next.t('label.ooc resolve timeline'))}\n .activityThread=${resolveActivityThread}\n short-form\n ></activity-thread-timeline>\n `\n : nothing}\n <div class=\"end\"></div>\n `\n })\n }\n\n pageUpdated(changes: any, lifecycle: any, before: any) {\n if (this.active) {\n /*\n * this page is activated\n */\n const { ids = '' } = lifecycle.params\n\n this.fetchOocs(ids.split('|').map(id => id.trim()))\n } else {\n /* this page is deactivated */\n }\n }\n\n async fetchOocs(ids: string[]) {\n const filters = [\n {\n name: 'id',\n operator: 'in',\n value: ids\n }\n ]\n\n const response = await client.query({\n query: gql`\n query ($filters: [Filter!]) {\n dataOocs(filters: $filters) {\n items {\n id\n name\n description\n useCase\n dataSet {\n id\n name\n }\n key01\n key02\n key03\n key04\n key05\n partitionKeys\n dataItems {\n name\n description\n active\n tag\n group\n type\n unit\n options\n quota\n spec\n }\n data\n rawData\n judgment\n ooc\n oos\n state\n history\n workDate\n workShift\n correctiveInstruction\n correctiveAction\n reviewedAt\n reviewer {\n id\n name\n }\n correctedAt\n corrector {\n id\n name\n }\n updater {\n id\n name\n }\n updatedAt\n collectedAt\n reviewActivityInstance {\n ...ActivityInstanceFragment\n }\n resolveActivityInstance {\n ...ActivityInstanceFragment\n }\n }\n }\n }\n\n fragment ActivityInstanceFragment on ActivityInstance {\n activityThreads {\n assignee {\n name\n }\n output\n activityApprovals {\n judgment\n approver {\n name\n }\n comment\n createdAt\n updatedAt\n terminatedAt\n }\n activityThreadHistories {\n transaction\n reason\n updater {\n name\n }\n updatedAt\n state\n output\n }\n }\n }\n `,\n variables: {\n filters\n }\n })\n\n this.dataOocs = response.data.dataOocs.items\n }\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-sample-page.js","sourceRoot":"","sources":["../../../client/pages/data-sample/data-sample-page.ts"],"names":[],"mappings":";AAAA,OAAO,EAAkB,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,uBAAuB,CAAA;AAGvB,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;
|
1
|
+
{"version":3,"file":"data-sample-page.js","sourceRoot":"","sources":["../../../client/pages/data-sample/data-sample-page.ts"],"names":[],"mappings":";AAAA,OAAO,EAAkB,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,uBAAuB,CAAA;AAGvB,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;IAsBjE,IAAI,OAAO;QACT,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;YAC1C,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,EAAE;SACZ,CAAA;IACH,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA,oCAAoC,IAAI,CAAC,YAAY,uBAAuB,CAAA;IACzF,CAAC;IAED,OAAO,CAAC,OAA6B,IAAG,CAAC;IAEzC,WAAW,CAAC,OAAY,EAAE,SAAc,EAAE,MAAW;QACnD,IAAI,IAAI,CAAC,MAAM,EAAE;YACf;;eAEG;YACH,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,UAAU,CAAA;SACzC;aAAM;YACL,8BAA8B;SAC/B;IACH,CAAC;;AA5CM,yBAAM,GAAG;IACd,GAAG,CAAA;;;;;;;;;;;;;;;KAeF;CACF,CAAA;AAED;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;wDAAmB;AApBnC,kBAAkB;IAD9B,aAAa,CAAC,kBAAkB,CAAC;GACrB,kBAAkB,CA8C9B;SA9CY,kBAAkB","sourcesContent":["import { PropertyValues, html, css } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { PageView } from '@operato/shell'\nimport { i18next, localize } from '@operato/i18n'\n\nimport './data-sample-view.js'\n\n@customElement('data-sample-page')\nexport class DataSampleViewPage extends localize(i18next)(PageView) {\n static styles = [\n css`\n :host {\n display: flex;\n }\n\n data-sample-view {\n flex: 1;\n }\n\n @media print {\n :host {\n display: block;\n overflow: visible;\n }\n }\n `\n ]\n\n @property({ type: Object }) dataSampleId?: any\n\n get context() {\n return {\n title: i18next.t('title.data-sample view'),\n help: 'dataset/data-sample',\n actions: []\n }\n }\n\n render() {\n return html` <data-sample-view .dataSampleId=${this.dataSampleId}></data-sample-view> `\n }\n\n updated(changes: PropertyValues<this>) {}\n\n pageUpdated(changes: any, lifecycle: any, before: any) {\n if (this.active) {\n /*\n * this page is activated\n */\n this.dataSampleId = lifecycle.resourceId\n } else {\n /* this page is deactivated */\n }\n }\n}\n"]}
|
@@ -28,7 +28,11 @@ export declare class DataSampleSearchPage extends DataSampleSearchPage_base {
|
|
28
28
|
handler: () => void;
|
29
29
|
};
|
30
30
|
help: string;
|
31
|
-
actions:
|
31
|
+
actions: {
|
32
|
+
title: string;
|
33
|
+
action: () => void;
|
34
|
+
icon: string;
|
35
|
+
}[];
|
32
36
|
exportable: {
|
33
37
|
name: string;
|
34
38
|
data: () => {
|
@@ -61,5 +65,6 @@ export declare class DataSampleSearchPage extends DataSampleSearchPage_base {
|
|
61
65
|
} | undefined)[];
|
62
66
|
data: any[];
|
63
67
|
};
|
68
|
+
printSamples(): void;
|
64
69
|
}
|
65
70
|
export {};
|
@@ -14,6 +14,7 @@ import { openPopup } from '@operato/layout';
|
|
14
14
|
import { PageView, store } from '@operato/shell';
|
15
15
|
import { CommonHeaderStyles, ScrollbarStyles } from '@operato/styles';
|
16
16
|
import { isMobileDevice } from '@operato/utils';
|
17
|
+
import { GhostPrint } from '@operato/ghost-print';
|
17
18
|
let DataSampleSearchPage = class DataSampleSearchPage extends connect(store)(localize(i18next)(PageView)) {
|
18
19
|
constructor() {
|
19
20
|
super(...arguments);
|
@@ -35,7 +36,13 @@ let DataSampleSearchPage = class DataSampleSearchPage extends connect(store)(loc
|
|
35
36
|
}
|
36
37
|
},
|
37
38
|
help: 'dataset/data-sample-search',
|
38
|
-
actions: [
|
39
|
+
actions: [
|
40
|
+
{
|
41
|
+
title: i18next.t('button.print'),
|
42
|
+
action: this.printSamples.bind(this),
|
43
|
+
icon: 'print'
|
44
|
+
}
|
45
|
+
],
|
39
46
|
exportable: {
|
40
47
|
name: i18next.t('title.data-sample search'),
|
41
48
|
data: this._exportableData.bind(this)
|
@@ -134,9 +141,7 @@ let DataSampleSearchPage = class DataSampleSearchPage extends connect(store)(loc
|
|
134
141
|
title: i18next.t('title.open data sample view'),
|
135
142
|
handlers: {
|
136
143
|
click: (columns, data, column, record, rowIndex) => {
|
137
|
-
openPopup(html `
|
138
|
-
<data-sample-view data-sample-id=${record.id} style="background-color: white;"></data-sample-view>
|
139
|
-
`, {
|
144
|
+
openPopup(html ` <data-sample-view data-sample-id=${record.id} style="background-color: white;"></data-sample-view> `, {
|
140
145
|
backdrop: true,
|
141
146
|
size: 'large',
|
142
147
|
title: i18next.t('title.data-sample view')
|
@@ -278,12 +283,7 @@ let DataSampleSearchPage = class DataSampleSearchPage extends connect(store)(loc
|
|
278
283
|
const response = await client.query({
|
279
284
|
query: gql `
|
280
285
|
query ($dataSetId: String!, $filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
|
281
|
-
responses: dataSamplesByDataSet(
|
282
|
-
dataSetId: $dataSetId
|
283
|
-
filters: $filters
|
284
|
-
pagination: $pagination
|
285
|
-
sortings: $sortings
|
286
|
-
) {
|
286
|
+
responses: dataSamplesByDataSet(dataSetId: $dataSetId, filters: $filters, pagination: $pagination, sortings: $sortings) {
|
287
287
|
items {
|
288
288
|
id
|
289
289
|
name
|
@@ -348,14 +348,20 @@ let DataSampleSearchPage = class DataSampleSearchPage extends connect(store)(loc
|
|
348
348
|
.filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)
|
349
349
|
.reduce((record, column) => {
|
350
350
|
const key = column.imex === true ? column.name : column.imex.key;
|
351
|
-
record[key] = key
|
352
|
-
.split('.')
|
353
|
-
.reduce((obj, key) => (obj && obj[key] !== 'undefined' ? obj[key] : undefined), item);
|
351
|
+
record[key] = key.split('.').reduce((obj, key) => (obj && obj[key] !== 'undefined' ? obj[key] : undefined), item);
|
354
352
|
return record;
|
355
353
|
}, {}));
|
356
354
|
});
|
357
355
|
return { header: headerSetting, data: data };
|
358
356
|
}
|
357
|
+
printSamples() {
|
358
|
+
const selected = this.grist.selected;
|
359
|
+
const ids = selected.map(record => record.id).join('|');
|
360
|
+
GhostPrint.print({
|
361
|
+
src: `./data-samples?ids=${ids}`
|
362
|
+
// pending: 200 * selected.length
|
363
|
+
});
|
364
|
+
}
|
359
365
|
};
|
360
366
|
DataSampleSearchPage.styles = [
|
361
367
|
ScrollbarStyles,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-sample-search-page.js","sourceRoot":"","sources":["../../../client/pages/data-sample/data-sample-search-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/data-grist'\nimport '@operato/context/ox-context-page-toolbar.js'\nimport './data-sample-view.js'\n\nimport gql from 'graphql-tag'\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { connect } from 'pwa-helpers/connect-mixin'\nimport moment from 'moment-timezone'\n\nimport { DataGrist, FetchOption, GristRecord } from '@operato/data-grist'\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { openPopup } from '@operato/layout'\nimport { PageView, store } from '@operato/shell'\nimport { CommonHeaderStyles, ScrollbarStyles } from '@operato/styles'\nimport { isMobileDevice } from '@operato/utils'\n\n@customElement('data-sample-search-page')\nexport class DataSampleSearchPage extends connect(store)(localize(i18next)(PageView)) {\n static styles = [\n ScrollbarStyles,\n CommonHeaderStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n overflow: hidden;\n }\n\n ox-grist {\n overflow-y: auto;\n flex: 1;\n }\n `\n ]\n\n @state() dataSetId?: string\n @state() dataSet: any\n @state() dataKeySet: any\n\n @state() gristConfig: any\n @state() mode: 'CARD' | 'GRID' | 'LIST' = isMobileDevice() ? 'CARD' : 'GRID'\n\n @query('ox-grist') private grist!: DataGrist\n\n get context() {\n return {\n title: i18next.t('title.data-sample search'),\n search: {\n handler: (search: string) => {\n this.grist.searchText = search\n },\n value: this.grist?.searchText || ''\n },\n filter: {\n handler: () => {\n this.grist.toggleHeadroom()\n }\n },\n help: 'dataset/data-sample-search',\n actions: [],\n exportable: {\n name: i18next.t('title.data-sample search'),\n data: this._exportableData.bind(this)\n },\n toolbar: false\n }\n }\n\n render() {\n const mode = this.mode || (isMobileDevice() ? 'LIST' : 'GRID')\n\n return html`\n <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}>\n <div slot=\"headroom\" class=\"header\">\n <div class=\"title\">\n <mwc-icon>summarize</mwc-icon>\n ${i18next.t('title.data-sample search')}\n </div>\n\n <div class=\"filters\">\n <ox-filters-form class=\"filter\" autofocus without-search></ox-filters-form>\n </div>\n\n <ox-context-page-toolbar class=\"actions\" .context=${this.context}></ox-context-page-toolbar>\n </div>\n </ox-grist>\n `\n }\n\n pageUpdated(changes, lifecycle) {\n if (this.active) {\n this.dataSetId = lifecycle.resourceId\n return\n }\n }\n\n async updated(changes) {\n if (changes.has('dataSetId')) {\n const response = await client.query({\n query: gql`\n query ($id: String!) {\n dataSet(id: $id) {\n id\n name\n description\n dataKeySet {\n id\n name\n description\n dataKeyItems {\n name\n description\n dataKey\n tKey\n }\n }\n }\n }\n `,\n variables: {\n id: this.dataSetId\n }\n })\n\n this.dataSet = response.data.dataSet\n this.dataKeySet = this.dataSet.dataKeySet\n\n this.refreshGristConfig()\n\n this.grist.fetch()\n }\n }\n\n getDataKeyColumns() {\n return (\n this.dataKeySet?.dataKeyItems.map((item, index) => {\n return {\n type: 'string',\n name: `key0${index + 1}`,\n header: i18next.t(item.tKey),\n record: {\n editable: false\n },\n sortable: true,\n filter: 'i_like',\n width: 120,\n imex: true\n }\n }) || []\n )\n }\n\n refreshGristConfig() {\n const yesterday = moment().subtract(1, 'day').format('YYYY-MM-DD')\n const today = moment().format('YYYY-MM-DD')\n\n this.gristConfig = {\n list: { fields: ['dataSet', 'data', 'updater', 'updatedAt'] },\n columns: [\n { type: 'gutter', gutterName: 'sequence', fixed: true },\n { type: 'gutter', gutterName: 'row-selector', fixed: true, multiple: true },\n {\n type: 'gutter',\n gutterName: 'button',\n fixed: true,\n icon: 'assignment',\n title: i18next.t('title.open data sample view'),\n handlers: {\n click: (columns, data, column, record, rowIndex) => {\n openPopup(\n html`\n <data-sample-view data-sample-id=${record.id} style=\"background-color: white;\"></data-sample-view>\n `,\n {\n backdrop: true,\n size: 'large',\n title: i18next.t('title.data-sample view')\n }\n )\n }\n }\n },\n {\n type: 'string',\n name: 'name',\n fixed: true,\n label: true,\n header: i18next.t('field.name'),\n record: {\n editable: false\n },\n filter: 'search',\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'string',\n name: 'description',\n label: true,\n header: i18next.t('field.description'),\n record: {\n editable: false\n },\n filter: 'search',\n width: 150,\n imex: true\n },\n ...this.getDataKeyColumns(),\n {\n type: 'checkbox',\n name: 'ooc',\n header: i18next.t('field.ooc'),\n record: {\n editable: false\n },\n width: 30\n },\n {\n type: 'checkbox',\n name: 'oos',\n header: i18next.t('field.oos'),\n record: {\n editable: false\n },\n width: 30\n },\n {\n type: 'json5',\n name: 'data',\n header: i18next.t('field.data'),\n record: {\n editable: false\n },\n hidden: true,\n imex: true\n },\n {\n type: 'string',\n name: 'workDate',\n header: i18next.t('field.work-date'),\n sortable: true,\n filter: {\n type: 'date',\n operator: 'between',\n value: [yesterday, today]\n },\n width: 80,\n imex: true\n },\n {\n type: 'string',\n name: 'workShift',\n header: i18next.t('field.work-shift'),\n sortable: true,\n width: 40,\n imex: true\n },\n {\n type: 'datetime',\n name: 'collectedAt',\n header: i18next.t('field.collected-at'),\n sortable: true,\n width: 180,\n imex: true\n },\n {\n type: 'resource-object',\n name: 'updater',\n header: i18next.t('field.updater'),\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'datetime',\n name: 'updatedAt',\n header: i18next.t('field.updated_at'),\n sortable: true,\n width: 180,\n imex: true\n }\n ],\n rows: {\n appendable: false,\n selectable: {\n multiple: true\n },\n classifier: function (record, rowIndex) {\n var emphasized\n if (record['oos']) {\n emphasized = ['#8B0000']\n } else if (record['ooc']) {\n emphasized = ['#FF6B6B']\n }\n\n return {\n emphasized\n }\n }\n },\n sorters: [\n {\n name: 'collectedAt',\n desc: true\n }\n ]\n }\n }\n\n async fetchHandler({ page, limit, sortings = [], filters = [] }: FetchOption) {\n if (!this.dataSetId) {\n return { records: [], total: 0 }\n }\n\n const response = await client.query({\n query: gql`\n query ($dataSetId: String!, $filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {\n responses: dataSamplesByDataSet(\n dataSetId: $dataSetId\n filters: $filters\n pagination: $pagination\n sortings: $sortings\n ) {\n items {\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 judgment\n workDate\n workShift\n updater {\n id\n name\n }\n updatedAt\n collectedAt\n }\n total\n }\n }\n `,\n variables: {\n dataSetId: this.dataSetId,\n filters,\n pagination: { page, limit },\n sortings\n }\n })\n\n return {\n total: response.data.responses.total || 0,\n records: response.data.responses.items || []\n }\n }\n\n _exportableData() {\n let records = [] as GristRecord[]\n if (this.grist.selected && this.grist.selected.length > 0) {\n records = this.grist.selected\n } else {\n records = this.grist.data.records\n }\n\n var headerSetting = this.grist.compiledConfig.columns\n .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)\n .map(column => {\n return column.imex === true\n ? {\n header: column.header.renderer(column),\n key: column.name,\n width: column.width,\n type: column.type\n }\n : column.imex\n })\n\n var data = records.map(item => {\n return {\n id: item.id,\n ...this.gristConfig.columns\n .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)\n .reduce((record, column) => {\n const key = column.imex === true ? column.name : column.imex.key\n record[key] = key\n .split('.')\n .reduce((obj, key) => (obj && obj[key] !== 'undefined' ? obj[key] : undefined), item)\n return record\n }, {})\n }\n })\n\n return { header: headerSetting, data: data }\n }\n}\n"]}
|
1
|
+
{"version":3,"file":"data-sample-search-page.js","sourceRoot":"","sources":["../../../client/pages/data-sample/data-sample-search-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/data-grist'\nimport '@operato/context/ox-context-page-toolbar.js'\nimport './data-sample-view.js'\n\nimport gql from 'graphql-tag'\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { connect } from 'pwa-helpers/connect-mixin'\nimport moment from 'moment-timezone'\n\nimport { DataGrist, FetchOption, GristRecord } from '@operato/data-grist'\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { openPopup } from '@operato/layout'\nimport { PageView, store } from '@operato/shell'\nimport { CommonHeaderStyles, ScrollbarStyles } from '@operato/styles'\nimport { isMobileDevice } from '@operato/utils'\nimport { GhostPrint } from '@operato/ghost-print'\n\n@customElement('data-sample-search-page')\nexport class DataSampleSearchPage extends connect(store)(localize(i18next)(PageView)) {\n static styles = [\n ScrollbarStyles,\n CommonHeaderStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n overflow: hidden;\n }\n\n ox-grist {\n overflow-y: auto;\n flex: 1;\n }\n `\n ]\n\n @state() dataSetId?: string\n @state() dataSet: any\n @state() dataKeySet: any\n\n @state() gristConfig: any\n @state() mode: 'CARD' | 'GRID' | 'LIST' = isMobileDevice() ? 'CARD' : 'GRID'\n\n @query('ox-grist') private grist!: DataGrist\n\n get context() {\n return {\n title: i18next.t('title.data-sample search'),\n search: {\n handler: (search: string) => {\n this.grist.searchText = search\n },\n value: this.grist?.searchText || ''\n },\n filter: {\n handler: () => {\n this.grist.toggleHeadroom()\n }\n },\n help: 'dataset/data-sample-search',\n actions: [\n {\n title: i18next.t('button.print'),\n action: this.printSamples.bind(this),\n icon: 'print'\n }\n ],\n exportable: {\n name: i18next.t('title.data-sample search'),\n data: this._exportableData.bind(this)\n },\n toolbar: false\n }\n }\n\n render() {\n const mode = this.mode || (isMobileDevice() ? 'LIST' : 'GRID')\n\n return html`\n <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}>\n <div slot=\"headroom\" class=\"header\">\n <div class=\"title\">\n <mwc-icon>summarize</mwc-icon>\n ${i18next.t('title.data-sample search')}\n </div>\n\n <div class=\"filters\">\n <ox-filters-form class=\"filter\" autofocus without-search></ox-filters-form>\n </div>\n\n <ox-context-page-toolbar class=\"actions\" .context=${this.context}></ox-context-page-toolbar>\n </div>\n </ox-grist>\n `\n }\n\n pageUpdated(changes, lifecycle) {\n if (this.active) {\n this.dataSetId = lifecycle.resourceId\n return\n }\n }\n\n async updated(changes) {\n if (changes.has('dataSetId')) {\n const response = await client.query({\n query: gql`\n query ($id: String!) {\n dataSet(id: $id) {\n id\n name\n description\n dataKeySet {\n id\n name\n description\n dataKeyItems {\n name\n description\n dataKey\n tKey\n }\n }\n }\n }\n `,\n variables: {\n id: this.dataSetId\n }\n })\n\n this.dataSet = response.data.dataSet\n this.dataKeySet = this.dataSet.dataKeySet\n\n this.refreshGristConfig()\n\n this.grist.fetch()\n }\n }\n\n getDataKeyColumns() {\n return (\n this.dataKeySet?.dataKeyItems.map((item, index) => {\n return {\n type: 'string',\n name: `key0${index + 1}`,\n header: i18next.t(item.tKey),\n record: {\n editable: false\n },\n sortable: true,\n filter: 'i_like',\n width: 120,\n imex: true\n }\n }) || []\n )\n }\n\n refreshGristConfig() {\n const yesterday = moment().subtract(1, 'day').format('YYYY-MM-DD')\n const today = moment().format('YYYY-MM-DD')\n\n this.gristConfig = {\n list: { fields: ['dataSet', 'data', 'updater', 'updatedAt'] },\n columns: [\n { type: 'gutter', gutterName: 'sequence', fixed: true },\n { type: 'gutter', gutterName: 'row-selector', fixed: true, multiple: true },\n {\n type: 'gutter',\n gutterName: 'button',\n fixed: true,\n icon: 'assignment',\n title: i18next.t('title.open data sample view'),\n handlers: {\n click: (columns, data, column, record, rowIndex) => {\n openPopup(html` <data-sample-view data-sample-id=${record.id} style=\"background-color: white;\"></data-sample-view> `, {\n backdrop: true,\n size: 'large',\n title: i18next.t('title.data-sample view')\n })\n }\n }\n },\n {\n type: 'string',\n name: 'name',\n fixed: true,\n label: true,\n header: i18next.t('field.name'),\n record: {\n editable: false\n },\n filter: 'search',\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'string',\n name: 'description',\n label: true,\n header: i18next.t('field.description'),\n record: {\n editable: false\n },\n filter: 'search',\n width: 150,\n imex: true\n },\n ...this.getDataKeyColumns(),\n {\n type: 'checkbox',\n name: 'ooc',\n header: i18next.t('field.ooc'),\n record: {\n editable: false\n },\n width: 30\n },\n {\n type: 'checkbox',\n name: 'oos',\n header: i18next.t('field.oos'),\n record: {\n editable: false\n },\n width: 30\n },\n {\n type: 'json5',\n name: 'data',\n header: i18next.t('field.data'),\n record: {\n editable: false\n },\n hidden: true,\n imex: true\n },\n {\n type: 'string',\n name: 'workDate',\n header: i18next.t('field.work-date'),\n sortable: true,\n filter: {\n type: 'date',\n operator: 'between',\n value: [yesterday, today]\n },\n width: 80,\n imex: true\n },\n {\n type: 'string',\n name: 'workShift',\n header: i18next.t('field.work-shift'),\n sortable: true,\n width: 40,\n imex: true\n },\n {\n type: 'datetime',\n name: 'collectedAt',\n header: i18next.t('field.collected-at'),\n sortable: true,\n width: 180,\n imex: true\n },\n {\n type: 'resource-object',\n name: 'updater',\n header: i18next.t('field.updater'),\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'datetime',\n name: 'updatedAt',\n header: i18next.t('field.updated_at'),\n sortable: true,\n width: 180,\n imex: true\n }\n ],\n rows: {\n appendable: false,\n selectable: {\n multiple: true\n },\n classifier: function (record, rowIndex) {\n var emphasized\n if (record['oos']) {\n emphasized = ['#8B0000']\n } else if (record['ooc']) {\n emphasized = ['#FF6B6B']\n }\n\n return {\n emphasized\n }\n }\n },\n sorters: [\n {\n name: 'collectedAt',\n desc: true\n }\n ]\n }\n }\n\n async fetchHandler({ page, limit, sortings = [], filters = [] }: FetchOption) {\n if (!this.dataSetId) {\n return { records: [], total: 0 }\n }\n\n const response = await client.query({\n query: gql`\n query ($dataSetId: String!, $filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {\n responses: dataSamplesByDataSet(dataSetId: $dataSetId, filters: $filters, pagination: $pagination, sortings: $sortings) {\n items {\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 judgment\n workDate\n workShift\n updater {\n id\n name\n }\n updatedAt\n collectedAt\n }\n total\n }\n }\n `,\n variables: {\n dataSetId: this.dataSetId,\n filters,\n pagination: { page, limit },\n sortings\n }\n })\n\n return {\n total: response.data.responses.total || 0,\n records: response.data.responses.items || []\n }\n }\n\n _exportableData() {\n let records = [] as GristRecord[]\n if (this.grist.selected && this.grist.selected.length > 0) {\n records = this.grist.selected\n } else {\n records = this.grist.data.records\n }\n\n var headerSetting = this.grist.compiledConfig.columns\n .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)\n .map(column => {\n return column.imex === true\n ? {\n header: column.header.renderer(column),\n key: column.name,\n width: column.width,\n type: column.type\n }\n : column.imex\n })\n\n var data = records.map(item => {\n return {\n id: item.id,\n ...this.gristConfig.columns\n .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)\n .reduce((record, column) => {\n const key = column.imex === true ? column.name : column.imex.key\n record[key] = key.split('.').reduce((obj, key) => (obj && obj[key] !== 'undefined' ? obj[key] : undefined), item)\n return record\n }, {})\n }\n })\n\n return { header: headerSetting, data: data }\n }\n\n printSamples() {\n const selected = this.grist.selected\n const ids = selected.map(record => record.id).join('|')\n\n GhostPrint.print({\n src: `./data-samples?ids=${ids}`\n // pending: 200 * selected.length\n })\n }\n}\n"]}
|
@@ -1 +1,19 @@
|
|
1
1
|
import '@operato/dataset/ox-data-sample-view.js';
|
2
|
+
import '@operato/dataset/ox-data-ooc-brief-view.js';
|
3
|
+
import '@things-factory/worklist/dist-client/components/activity-thread-timeline.js';
|
4
|
+
import { LitElement, nothing } from 'lit';
|
5
|
+
import { DataSample } from '@operato/dataset';
|
6
|
+
declare const DataSampleView_base: (new (...args: any[]) => LitElement) & typeof LitElement;
|
7
|
+
export declare class DataSampleView extends DataSampleView_base {
|
8
|
+
static styles: import("lit").CSSResult[];
|
9
|
+
dataSampleId?: string;
|
10
|
+
dataSample?: DataSample;
|
11
|
+
private printHandler;
|
12
|
+
render(): import("lit-html").TemplateResult<1> | typeof nothing;
|
13
|
+
updated(changes: any): void;
|
14
|
+
fetchDataSample(): Promise<void>;
|
15
|
+
handlePrint(event: any): void;
|
16
|
+
connectedCallback(): void;
|
17
|
+
disconnectedCallback(): void;
|
18
|
+
}
|
19
|
+
export {};
|