@things-factory/dataset 9.0.0-beta.47 → 9.0.0-beta.48

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 (35) hide show
  1. package/dist-client/activities/activity-data-collect-edit.d.ts +1 -1
  2. package/dist-client/activities/activity-data-collect-edit.js +18 -34
  3. package/dist-client/activities/activity-data-collect-edit.js.map +1 -1
  4. package/dist-client/activities/activity-data-review-edit.d.ts +1 -1
  5. package/dist-client/activities/activity-data-review-edit.js +7 -12
  6. package/dist-client/activities/activity-data-review-edit.js.map +1 -1
  7. package/dist-client/activities/activity-data-review-view.js +5 -8
  8. package/dist-client/activities/activity-data-review-view.js.map +1 -1
  9. package/dist-client/activities/activity-ooc-review-edit.js +7 -15
  10. package/dist-client/activities/activity-ooc-review-edit.js.map +1 -1
  11. package/dist-client/components/checklist-entry-form.d.ts +21 -0
  12. package/dist-client/components/checklist-entry-form.js +108 -0
  13. package/dist-client/components/checklist-entry-form.js.map +1 -0
  14. package/dist-client/components/data-entry-form.d.ts +0 -6
  15. package/dist-client/components/data-entry-form.js +1 -51
  16. package/dist-client/components/data-entry-form.js.map +1 -1
  17. package/dist-client/pages/data-entry/data-entry-list-page.d.ts +1 -0
  18. package/dist-client/pages/data-entry/data-entry-list-page.js +9 -0
  19. package/dist-client/pages/data-entry/data-entry-list-page.js.map +1 -1
  20. package/dist-client/pages/data-ooc/data-ooc-list-page.js +2 -2
  21. package/dist-client/pages/data-ooc/data-ooc-list-page.js.map +1 -1
  22. package/dist-client/pages/data-sample/data-sample-view.d.ts +1 -1
  23. package/dist-client/pages/data-sample/data-sample-view.js +6 -10
  24. package/dist-client/pages/data-sample/data-sample-view.js.map +1 -1
  25. package/dist-client/pages/data-set/data-set-list-page.d.ts +1 -0
  26. package/dist-client/pages/data-set/data-set-list-page.js +11 -0
  27. package/dist-client/pages/data-set/data-set-list-page.js.map +1 -1
  28. package/dist-client/route.js +0 -3
  29. package/dist-client/route.js.map +1 -1
  30. package/dist-client/tsconfig.tsbuildinfo +1 -1
  31. package/dist-server/tsconfig.tsbuildinfo +1 -1
  32. package/package.json +5 -5
  33. package/dist-client/pages/data-entry/checklist-entry-page.d.ts +0 -21
  34. package/dist-client/pages/data-entry/checklist-entry-page.js +0 -209
  35. package/dist-client/pages/data-entry/checklist-entry-page.js.map +0 -1
@@ -1,7 +1,6 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import '@material/web/icon/icon.js';
3
3
  import '@operato/dataset/ox-data-entry-form.js';
4
- import '@operato/dataset/ox-checklist-entry-form.js';
5
4
  import gql from 'graphql-tag';
6
5
  import { css, html, LitElement } from 'lit';
7
6
  import { customElement, property, query, state } from 'lit/decorators.js';
@@ -9,33 +8,10 @@ import { client } from '@operato/graphql';
9
8
  import { i18next, localize } from '@operato/i18n';
10
9
  import { CommonHeaderStyles, ScrollbarStyles } from '@operato/styles';
11
10
  import { OxDataEntryForm } from '@operato/dataset/ox-data-entry-form.js';
12
- import { OxChecklistEntryForm } from '@operato/dataset/ox-checklist-entry-form.js';
13
11
  let DataEntryForm = class DataEntryForm extends localize(i18next)(LitElement) {
14
- get entryForm() {
15
- var _a, _b;
16
- const entryType = (_a = this.dataSet) === null || _a === void 0 ? void 0 : _a.entryType;
17
- const entryView = (_b = this.dataSet) === null || _b === void 0 ? void 0 : _b.entryView;
18
- switch (entryType) {
19
- case 'generated':
20
- if (!entryView || entryView === 'Default') {
21
- return this.dataEntryForm;
22
- }
23
- else if (entryView === 'Checklist') {
24
- return this.checklistEntryForm;
25
- }
26
- break;
27
- case 'board':
28
- break;
29
- case 'page':
30
- break;
31
- default:
32
- return this.dataEntryForm;
33
- break;
34
- }
35
- }
36
12
  render() {
37
13
  return html `
38
- ${this.showEntryView()}
14
+ <ox-data-entry-form .dataSet=${this.dataSet}></ox-data-entry-form>
39
15
 
40
16
  <div class="footer">
41
17
  <div filler></div>
@@ -49,28 +25,6 @@ let DataEntryForm = class DataEntryForm extends localize(i18next)(LitElement) {
49
25
  </div>
50
26
  `;
51
27
  }
52
- showEntryView() {
53
- var _a, _b;
54
- const entryType = (_a = this.dataSet) === null || _a === void 0 ? void 0 : _a.entryType;
55
- const entryView = (_b = this.dataSet) === null || _b === void 0 ? void 0 : _b.entryView;
56
- switch (entryType) {
57
- case 'generated':
58
- if (!entryView || entryView === 'Default') {
59
- return html `<ox-data-entry-form .dataSet=${this.dataSet}></ox-data-entry-form>`;
60
- }
61
- else if (entryView === 'Checklist') {
62
- return html `<ox-checklist-entry-form .dataSet=${this.dataSet}></ox-checklist-entry-form>`;
63
- }
64
- break;
65
- case 'board':
66
- break;
67
- case 'page':
68
- break;
69
- default:
70
- return html `<ox-data-entry-form .dataSet=${this.dataSet}></ox-data-entry-form>`;
71
- break;
72
- }
73
- }
74
28
  async updateDataItems() {
75
29
  var _a, _b;
76
30
  //@ts-ignore TODO replace with following line and confirm
@@ -147,10 +101,6 @@ __decorate([
147
101
  query('ox-data-entry-form'),
148
102
  __metadata("design:type", OxDataEntryForm)
149
103
  ], DataEntryForm.prototype, "dataEntryForm", void 0);
150
- __decorate([
151
- query('ox-checklist-entry-form'),
152
- __metadata("design:type", OxChecklistEntryForm)
153
- ], DataEntryForm.prototype, "checklistEntryForm", void 0);
154
104
  DataEntryForm = __decorate([
155
105
  customElement('data-entry-form')
156
106
  ], DataEntryForm);
@@ -1 +1 @@
1
- {"version":3,"file":"data-entry-form.js","sourceRoot":"","sources":["../../client/components/data-entry-form.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@operato/dataset/ox-data-entry-form.js'\nimport '@operato/dataset/ox-checklist-entry-form.js'\n\nimport gql from 'graphql-tag'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { CommonHeaderStyles, ScrollbarStyles } from '@operato/styles'\nimport { DataSet } from '@operato/dataset'\nimport { OxDataEntryForm } from '@operato/dataset/ox-data-entry-form.js'\nimport { OxChecklistEntryForm } from '@operato/dataset/ox-checklist-entry-form.js'\n\n@customElement('data-entry-form')\nexport class DataEntryForm extends localize(i18next)(LitElement) {\n static styles = [\n CommonHeaderStyles,\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: var(--md-sys-color-surface);\n }\n\n ox-data-entry-form {\n flex: 1;\n padding: 10px;\n overflow: auto;\n }\n\n .footer span {\n font-size: 0.8em;\n color: var(--md-sys-color-on-surface);\n line-height: 1.5;\n padding: 10px;\n }\n `\n ]\n\n @property({ type: Object }) dataSet?: DataSet & { id: string; entryType?: string; entryView?: string }\n\n @state() dataSample?: { id: string; collectedAt: Date }\n\n @query('ox-data-entry-form') dataEntryForm?: OxDataEntryForm\n @query('ox-checklist-entry-form') checklistEntryForm?: OxChecklistEntryForm\n\n get entryForm() {\n const entryType = this.dataSet?.entryType\n const entryView = this.dataSet?.entryView\n\n switch (entryType) {\n case 'generated':\n if (!entryView || entryView === 'Default') {\n return this.dataEntryForm\n } else if (entryView === 'Checklist') {\n return this.checklistEntryForm\n }\n break\n case 'board':\n break\n case 'page':\n break\n default:\n return this.dataEntryForm\n break\n }\n }\n\n render() {\n return html`\n ${this.showEntryView()}\n\n <div class=\"footer\">\n <div filler></div>\n ${!this.dataSample\n ? html`\n <button @click=${this.updateDataItems.bind(this)} done>\n <md-icon>save</md-icon>${i18next.t('button.save')}\n </button>\n `\n : html` <span>${i18next.t('field.collected-at')}: ${this.dataSample.collectedAt.toLocaleString()}</span> `}\n </div>\n `\n }\n\n private showEntryView() {\n const entryType = this.dataSet?.entryType\n const entryView = this.dataSet?.entryView\n\n switch (entryType) {\n case 'generated':\n if (!entryView || entryView === 'Default') {\n return html`<ox-data-entry-form .dataSet=${this.dataSet}></ox-data-entry-form>`\n } else if (entryView === 'Checklist') {\n return html`<ox-checklist-entry-form .dataSet=${this.dataSet}></ox-checklist-entry-form>`\n }\n break\n case 'board':\n break\n case 'page':\n break\n default:\n return html`<ox-data-entry-form .dataSet=${this.dataSet}></ox-data-entry-form>`\n break\n }\n }\n\n private async updateDataItems() {\n //@ts-ignore TODO replace with following line and confirm\n const data = this.entryForm.buildValue()\n\n const dataSample = {\n dataSet: {\n id: this.dataSet?.id\n },\n data\n } as any\n\n if (this.dataSample?.collectedAt) {\n dataSample.collectedAt = this.dataSample.collectedAt\n }\n\n const response = await client.mutate({\n mutation: gql`\n mutation ($dataSample: NewDataSample!) {\n createDataSample(dataSample: $dataSample) {\n id\n collectedAt\n }\n }\n `,\n variables: {\n dataSample\n },\n context: {\n hasUpload: true\n }\n })\n\n if (!response.errors) {\n const { id, collectedAt } = response.data.createDataSample\n this.dataSample = {\n id,\n collectedAt: new Date(collectedAt)\n }\n\n document.dispatchEvent(\n new CustomEvent('notify', { detail: { message: i18next.t('text.data sample created successfully') } })\n )\n }\n }\n}\n"]}
1
+ {"version":3,"file":"data-entry-form.js","sourceRoot":"","sources":["../../client/components/data-entry-form.ts"],"names":[],"mappings":";AAAA,OAAO,4BAA4B,CAAA;AACnC,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,kBAAkB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AAGjE,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;IAiC9D,MAAM;QACJ,OAAO,IAAI,CAAA;qCACsB,IAAI,CAAC,OAAO;;;;UAIvC,CAAC,IAAI,CAAC,UAAU;YAChB,CAAC,CAAC,IAAI,CAAA;+BACe,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;yCACrB,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;;aAEpD;YACH,CAAC,CAAC,IAAI,CAAA,UAAU,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,EAAE,UAAU;;KAE/G,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,eAAe;;QAC3B,yDAAyD;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAA;QAExC,MAAM,UAAU,GAAG;YACjB,OAAO,EAAE;gBACP,EAAE,EAAE,MAAA,IAAI,CAAC,OAAO,0CAAE,EAAE;aACrB;YACD,IAAI;SACE,CAAA;QAER,IAAI,MAAA,IAAI,CAAC,UAAU,0CAAE,WAAW,EAAE,CAAC;YACjC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAA;QACtD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;YACnC,QAAQ,EAAE,GAAG,CAAA;;;;;;;OAOZ;YACD,SAAS,EAAE;gBACT,UAAU;aACX;YACD,OAAO,EAAE;gBACP,SAAS,EAAE,IAAI;aAChB;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrB,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAA;YAC1D,IAAI,CAAC,UAAU,GAAG;gBAChB,EAAE;gBACF,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC;aACnC,CAAA;YAED,QAAQ,CAAC,aAAa,CACpB,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,uCAAuC,CAAC,EAAE,EAAE,CAAC,CACvG,CAAA;QACH,CAAC;IACH,CAAC;;AA5FM,oBAAM,GAAG;IACd,kBAAkB;IAClB,eAAe;IACf,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;KAoBF;CACF,AAxBY,CAwBZ;AAE2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;8CAAuD;AAEzE;IAAR,KAAK,EAAE;;iDAA+C;AAE1B;IAA5B,KAAK,CAAC,oBAAoB,CAAC;8BAAiB,eAAe;oDAAA;AA/BjD,aAAa;IADzB,aAAa,CAAC,iBAAiB,CAAC;GACpB,aAAa,CA8FzB","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@operato/dataset/ox-data-entry-form.js'\n\nimport gql from 'graphql-tag'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { CommonHeaderStyles, ScrollbarStyles } from '@operato/styles'\nimport { DataSet } from '@operato/dataset'\nimport { OxDataEntryForm } from '@operato/dataset/ox-data-entry-form.js'\n\n@customElement('data-entry-form')\nexport class DataEntryForm extends localize(i18next)(LitElement) {\n static styles = [\n CommonHeaderStyles,\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: var(--md-sys-color-surface);\n }\n\n ox-data-entry-form {\n flex: 1;\n padding: 10px;\n overflow: auto;\n }\n\n .footer span {\n font-size: 0.8em;\n color: var(--md-sys-color-on-surface);\n line-height: 1.5;\n padding: 10px;\n }\n `\n ]\n\n @property({ type: Object }) dataSet?: DataSet & { id: string; entryType?: string }\n\n @state() dataSample?: { id: string; collectedAt: Date }\n\n @query('ox-data-entry-form') dataEntryForm?: OxDataEntryForm\n\n render() {\n return html`\n <ox-data-entry-form .dataSet=${this.dataSet}></ox-data-entry-form>\n\n <div class=\"footer\">\n <div filler></div>\n ${!this.dataSample\n ? html`\n <button @click=${this.updateDataItems.bind(this)} done>\n <md-icon>save</md-icon>${i18next.t('button.save')}\n </button>\n `\n : html` <span>${i18next.t('field.collected-at')}: ${this.dataSample.collectedAt.toLocaleString()}</span> `}\n </div>\n `\n }\n\n private async updateDataItems() {\n //@ts-ignore TODO replace with following line and confirm\n const data = this.entryForm.buildValue()\n\n const dataSample = {\n dataSet: {\n id: this.dataSet?.id\n },\n data\n } as any\n\n if (this.dataSample?.collectedAt) {\n dataSample.collectedAt = this.dataSample.collectedAt\n }\n\n const response = await client.mutate({\n mutation: gql`\n mutation ($dataSample: NewDataSample!) {\n createDataSample(dataSample: $dataSample) {\n id\n collectedAt\n }\n }\n `,\n variables: {\n dataSample\n },\n context: {\n hasUpload: true\n }\n })\n\n if (!response.errors) {\n const { id, collectedAt } = response.data.createDataSample\n this.dataSample = {\n id,\n collectedAt: new Date(collectedAt)\n }\n\n document.dispatchEvent(\n new CustomEvent('notify', { detail: { message: i18next.t('text.data sample created successfully') } })\n )\n }\n }\n}\n"]}
@@ -3,6 +3,7 @@ import '@operato/data-grist';
3
3
  import '@operato/context/ox-context-page-toolbar.js';
4
4
  import '@operato/board/ox-board-viewer.js';
5
5
  import '../../components/data-entry-form.js';
6
+ import '../../components/checklist-entry-form.js';
6
7
  import { FetchOption } from '@operato/data-grist';
7
8
  import { PageView } from '@operato/shell';
8
9
  declare const DataEntryListPage_base: (new (...args: any[]) => {
@@ -4,6 +4,7 @@ import '@operato/data-grist';
4
4
  import '@operato/context/ox-context-page-toolbar.js';
5
5
  import '@operato/board/ox-board-viewer.js';
6
6
  import '../../components/data-entry-form.js';
7
+ import '../../components/checklist-entry-form.js';
7
8
  import gql from 'graphql-tag';
8
9
  import { css, html } from 'lit';
9
10
  import { customElement, query, state } from 'lit/decorators.js';
@@ -43,6 +44,14 @@ const showEntryView = async (columns, data, column, record, rowIndex) => {
43
44
  title
44
45
  });
45
46
  break;
47
+ case 'checklist':
48
+ openPopup(html ` <checklist-entry-form .dataSet=${record} style="background-color: white;"></checklist-entry-form> `, {
49
+ closable: true,
50
+ backdrop: true,
51
+ size: 'large',
52
+ title
53
+ });
54
+ break;
46
55
  case 'board':
47
56
  const board = {
48
57
  id: entryView
@@ -1 +1 @@
1
- {"version":3,"file":"data-entry-list-page.js","sourceRoot":"","sources":["../../../client/pages/data-entry/data-entry-list-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@operato/data-grist'\nimport '@operato/context/ox-context-page-toolbar.js'\nimport '@operato/board/ox-board-viewer.js'\nimport '../../components/data-entry-form.js'\n\nimport gql from 'graphql-tag'\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\nimport { connect } from 'pwa-helpers/connect-mixin'\n\nimport { ColumnConfig, DataGrist, FetchOption, SortersControl, getRenderer } from '@operato/data-grist'\nimport { OxDataUseCase } from '@operato/dataset'\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { openPopup, notify } from '@operato/layout'\nimport { InheritedValueType, navigate, PageView, store } from '@operato/shell'\nimport { CommonHeaderStyles, ScrollbarStyles } from '@operato/styles'\nimport { provider } from '@things-factory/board-ui/dist-client/board-provider.js'\nimport { OxPopup } from '@operato/popup'\n\nconst USECASE_OPTIONS = () => {\n return ['', ...OxDataUseCase.getUseCaseNames()].map(name => {\n return {\n display: name,\n value: name\n }\n })\n}\n\nconst showEntryView = async (columns, data, column, record, rowIndex) => {\n if (!record.isEntryAllowed) {\n notify({\n message: 'You are not allowed to enter data for this dataset',\n level: 'error'\n })\n return\n }\n\n const { name, entryType, entryView } = record\n const title = `${name} - ${i18next.t('title.data-entry-form')}`\n\n switch (entryType) {\n case 'generated':\n openPopup(html` <data-entry-form .dataSet=${record} style=\"background-color: white;\"></data-entry-form> `, {\n closable: true,\n backdrop: true,\n size: 'large',\n title\n })\n break\n\n case 'board':\n const board = {\n id: entryView\n }\n openPopup(\n html`\n <ox-board-viewer\n style=\"background-color: white;\"\n .board=${board}\n .provider=${provider}\n hide-fullscreen\n hide-navigation\n ></ox-board-viewer>\n `,\n {\n closable: true,\n backdrop: true,\n size: 'large',\n title\n }\n )\n\n // navigate(`board-viewer/${entryView}?interactive=true&title=${title}`)\n break\n\n case 'custom-element':\n break\n\n case 'page':\n navigate(`${entryView}/${record.id}`)\n break\n\n case 'external':\n window.open(entryView, '_blank')\n break\n }\n}\n\nconst issueDataEntry = async (columns, data, column, record, rowIndex) => {\n if (!record.isSupervisor) {\n notify({\n message: 'You are not allowed to issue data collection for this dataset',\n level: 'error'\n })\n return\n }\n\n const response = await client.mutate({\n mutation: gql`\n mutation ($dataSetId: String!) {\n issueDataCollection(dataSetId: $dataSetId)\n }\n `,\n variables: { dataSetId: record.id }\n })\n\n if (response.errors) {\n notify({\n message: response.errors[0].message,\n level: 'error'\n })\n } else {\n notify({\n message: 'Data entry task issued successfully'\n })\n }\n}\n\n@customElement('data-entry-list-page')\nexport class DataEntryListPage extends connect(store)(localize(i18next)(PageView)) {\n static styles = [\n ScrollbarStyles,\n CommonHeaderStyles,\n css`\n :host {\n display: flex;\n\n width: 100%;\n\n --grid-record-emphasized-background-color: #8b0000;\n --grid-record-emphasized-color: #ff6b6b;\n }\n\n ox-grist {\n overflow-y: auto;\n flex: 1;\n }\n\n .header {\n grid-template-areas: 'filters actions';\n }\n `\n ]\n\n @state() private gristConfig: any\n\n @query('ox-grist') private grist!: DataGrist\n\n get context() {\n return {\n title: i18next.t('title.data-entry list'),\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-entry-list',\n toolbar: false\n }\n }\n\n render() {\n return html`\n <ox-grist\n mode=\"CARD\"\n .config=${this.gristConfig}\n .fetchHandler=${this.fetchHandler.bind(this)}\n ?url-params-sensitive=${this.active}\n >\n <div slot=\"headroom\" class=\"header\">\n <div class=\"filters\">\n <ox-filters-form autofocus without-search></ox-filters-form>\n </div>\n </div>\n </ox-grist>\n `\n }\n\n async pageInitialized(lifecycle) {\n this.gristConfig = {\n list: {\n thumbnail: 'entryView',\n fields: ['name', 'description'],\n details: ['schedule', 'type', 'useCase', 'latestCollectedAt', 'prevSchedule', 'nextSchedule']\n },\n columns: [\n {\n type: 'gutter',\n gutterName: 'button',\n icon: record => (record?.isSupervisor || record?.isEntryAllowed ? 'assignment_add' : ''),\n iconOnly: false,\n width: 96,\n fixed: true,\n title: record =>\n record?.isSupervisor || record?.isEntryAllowed ? i18next.t('button.assign-data-collection') : '',\n handlers: {\n click: issueDataEntry\n }\n },\n {\n type: 'gutter',\n gutterName: 'button',\n icon: record => (record?.isEntryAllowed ? 'note_alt' : ''),\n iconOnly: false,\n width: 96,\n fixed: true,\n title: record => (record?.isEntryAllowed ? i18next.t('button.enter-data') : ''),\n handlers: {\n click: showEntryView\n }\n },\n {\n type: 'string',\n name: 'name',\n header: i18next.t('field.name'),\n record: {\n editable: false\n },\n filter: 'search',\n sortable: true,\n width: 150\n },\n {\n type: 'string',\n name: 'description',\n header: i18next.t('field.description'),\n record: {\n editable: false\n },\n filter: 'search',\n width: 200\n },\n {\n type: 'select',\n name: 'type',\n label: true,\n header: i18next.t('field.type'),\n record: {\n editable: false,\n options: [\n {},\n {\n display: i18next.t('text.manually collected'),\n value: 'manual'\n },\n {\n display: i18next.t('text.automatically collected'),\n value: 'automatic'\n }\n ]\n },\n sortable: true,\n filter: true,\n width: 60\n },\n {\n type: 'select',\n name: 'useCase',\n label: true,\n header: i18next.t('field.use-case'),\n record: {\n editable: false,\n options: USECASE_OPTIONS\n },\n sortable: true,\n filter: {\n operator: 'eq',\n options: USECASE_OPTIONS /* in case select options type is a function, filter should have its own options */\n },\n width: 80\n },\n {\n type: 'crontab',\n name: 'schedule',\n label: true,\n header: i18next.t('field.schedule'),\n record: {\n editable: false\n },\n width: 80\n },\n {\n type: 'resource-object',\n name: 'entryRole',\n header: i18next.t('field.entry-role'),\n record: {\n editable: false\n },\n width: 120\n },\n {\n type: 'resource-object',\n name: 'supervisoryRole',\n header: i18next.t('field.supervisory-role'),\n record: {\n editable: false\n },\n width: 120\n },\n {\n type: 'datetime',\n name: 'latestCollectedAt',\n label: true,\n header: i18next.t('field.latest-collected-at'),\n record: {\n editable: false\n },\n width: 180\n },\n {\n type: 'datetime',\n name: 'prevSchedule',\n label: true,\n header: i18next.t('field.prev-schedule'),\n record: {\n editable: false\n },\n width: 180\n },\n {\n type: 'datetime',\n name: 'nextSchedule',\n label: true,\n header: i18next.t('field.next-schedule'),\n record: {\n editable: false\n },\n width: 180\n },\n {\n type: 'string',\n name: 'entryView',\n hidden: true,\n record: {\n editable: false,\n renderer: function (value, column, record, rowIndex, field) {\n const type = record.entryType !== 'board' ? 'string' : 'image'\n\n let renderedValue\n\n if (record.entryType === 'board' && record.entryBoard?.thumbnail) {\n renderedValue = record.entryBoard.thumbnail\n } else {\n renderedValue = html`<md-icon style=\"--md-icon-size: 64px;\">assignment_add</md-icon>`\n }\n\n return getRenderer(type)(renderedValue, column, record, rowIndex, field)\n }\n },\n handlers: {\n click: (columns, data, column, record, rowIndex) => {\n if (record?.isEntryAllowed) {\n showEntryView(columns, data, column, record, rowIndex)\n }\n }\n }\n }\n ],\n rows: {\n appendable: false,\n editable: false,\n selectable: {\n multiple: false\n },\n classifier: function (record, rowIndex) {}\n },\n sorters: [\n {\n name: 'name'\n }\n ]\n }\n }\n\n async fetchHandler({ page, limit, sortings = [], filters = [] }: FetchOption) {\n const response = await client.query({\n query: gql`\n query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!], $inherited: InheritedValueType) {\n responses: dataSetsForEntry(\n filters: $filters\n pagination: $pagination\n sortings: $sortings\n inherited: $inherited\n ) {\n items {\n id\n name\n description\n partitionKeys\n active\n type\n useCase\n schedule\n timezone\n isSupervisor\n isEntryAllowed\n entryRole {\n id\n name\n }\n supervisoryRole {\n id\n name\n }\n entryType\n entryView\n entryBoard {\n thumbnail\n }\n monitorType\n monitorView\n updater {\n id\n name\n }\n reportType\n reportView\n updatedAt\n dataItems {\n name\n description\n active\n hidden\n tag\n group\n subgroup\n type\n unit\n options\n quota\n spec\n stat\n }\n latestCollectedAt\n nextSchedule\n prevSchedule\n nextSummarySchedule\n }\n total\n }\n }\n `,\n variables: {\n filters,\n pagination: { page, limit },\n sortings,\n inherited: InheritedValueType.Include\n }\n })\n\n return {\n total: response.data.responses.total || 0,\n records: response.data.responses.items || []\n }\n }\n}\n"]}
1
+ {"version":3,"file":"data-entry-list-page.js","sourceRoot":"","sources":["../../../client/pages/data-entry/data-entry-list-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@operato/data-grist'\nimport '@operato/context/ox-context-page-toolbar.js'\nimport '@operato/board/ox-board-viewer.js'\nimport '../../components/data-entry-form.js'\nimport '../../components/checklist-entry-form.js'\n\nimport gql from 'graphql-tag'\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\nimport { connect } from 'pwa-helpers/connect-mixin'\n\nimport { ColumnConfig, DataGrist, FetchOption, SortersControl, getRenderer } from '@operato/data-grist'\nimport { OxDataUseCase } from '@operato/dataset'\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { openPopup, notify } from '@operato/layout'\nimport { InheritedValueType, navigate, PageView, store } from '@operato/shell'\nimport { CommonHeaderStyles, ScrollbarStyles } from '@operato/styles'\nimport { provider } from '@things-factory/board-ui/dist-client/board-provider.js'\n\nconst USECASE_OPTIONS = () => {\n return ['', ...OxDataUseCase.getUseCaseNames()].map(name => {\n return {\n display: name,\n value: name\n }\n })\n}\n\nconst showEntryView = async (columns, data, column, record, rowIndex) => {\n if (!record.isEntryAllowed) {\n notify({\n message: 'You are not allowed to enter data for this dataset',\n level: 'error'\n })\n return\n }\n\n const { name, entryType, entryView } = record\n const title = `${name} - ${i18next.t('title.data-entry-form')}`\n\n switch (entryType) {\n case 'generated':\n openPopup(html` <data-entry-form .dataSet=${record} style=\"background-color: white;\"></data-entry-form> `, {\n closable: true,\n backdrop: true,\n size: 'large',\n title\n })\n break\n\n case 'checklist':\n openPopup(\n html` <checklist-entry-form .dataSet=${record} style=\"background-color: white;\"></checklist-entry-form> `,\n {\n closable: true,\n backdrop: true,\n size: 'large',\n title\n }\n )\n break\n\n case 'board':\n const board = {\n id: entryView\n }\n openPopup(\n html`\n <ox-board-viewer\n style=\"background-color: white;\"\n .board=${board}\n .provider=${provider}\n hide-fullscreen\n hide-navigation\n ></ox-board-viewer>\n `,\n {\n closable: true,\n backdrop: true,\n size: 'large',\n title\n }\n )\n\n // navigate(`board-viewer/${entryView}?interactive=true&title=${title}`)\n break\n\n case 'custom-element':\n break\n\n case 'page':\n navigate(`${entryView}/${record.id}`)\n break\n\n case 'external':\n window.open(entryView, '_blank')\n break\n }\n}\n\nconst issueDataEntry = async (columns, data, column, record, rowIndex) => {\n if (!record.isSupervisor) {\n notify({\n message: 'You are not allowed to issue data collection for this dataset',\n level: 'error'\n })\n return\n }\n\n const response = await client.mutate({\n mutation: gql`\n mutation ($dataSetId: String!) {\n issueDataCollection(dataSetId: $dataSetId)\n }\n `,\n variables: { dataSetId: record.id }\n })\n\n if (response.errors) {\n notify({\n message: response.errors[0].message,\n level: 'error'\n })\n } else {\n notify({\n message: 'Data entry task issued successfully'\n })\n }\n}\n\n@customElement('data-entry-list-page')\nexport class DataEntryListPage extends connect(store)(localize(i18next)(PageView)) {\n static styles = [\n ScrollbarStyles,\n CommonHeaderStyles,\n css`\n :host {\n display: flex;\n\n width: 100%;\n\n --grid-record-emphasized-background-color: #8b0000;\n --grid-record-emphasized-color: #ff6b6b;\n }\n\n ox-grist {\n overflow-y: auto;\n flex: 1;\n }\n\n .header {\n grid-template-areas: 'filters actions';\n }\n `\n ]\n\n @state() private gristConfig: any\n\n @query('ox-grist') private grist!: DataGrist\n\n get context() {\n return {\n title: i18next.t('title.data-entry list'),\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-entry-list',\n toolbar: false\n }\n }\n\n render() {\n return html`\n <ox-grist\n mode=\"CARD\"\n .config=${this.gristConfig}\n .fetchHandler=${this.fetchHandler.bind(this)}\n ?url-params-sensitive=${this.active}\n >\n <div slot=\"headroom\" class=\"header\">\n <div class=\"filters\">\n <ox-filters-form autofocus without-search></ox-filters-form>\n </div>\n </div>\n </ox-grist>\n `\n }\n\n async pageInitialized(lifecycle) {\n this.gristConfig = {\n list: {\n thumbnail: 'entryView',\n fields: ['name', 'description'],\n details: ['schedule', 'type', 'useCase', 'latestCollectedAt', 'prevSchedule', 'nextSchedule']\n },\n columns: [\n {\n type: 'gutter',\n gutterName: 'button',\n icon: record => (record?.isSupervisor || record?.isEntryAllowed ? 'assignment_add' : ''),\n iconOnly: false,\n width: 96,\n fixed: true,\n title: record =>\n record?.isSupervisor || record?.isEntryAllowed ? i18next.t('button.assign-data-collection') : '',\n handlers: {\n click: issueDataEntry\n }\n },\n {\n type: 'gutter',\n gutterName: 'button',\n icon: record => (record?.isEntryAllowed ? 'note_alt' : ''),\n iconOnly: false,\n width: 96,\n fixed: true,\n title: record => (record?.isEntryAllowed ? i18next.t('button.enter-data') : ''),\n handlers: {\n click: showEntryView\n }\n },\n {\n type: 'string',\n name: 'name',\n header: i18next.t('field.name'),\n record: {\n editable: false\n },\n filter: 'search',\n sortable: true,\n width: 150\n },\n {\n type: 'string',\n name: 'description',\n header: i18next.t('field.description'),\n record: {\n editable: false\n },\n filter: 'search',\n width: 200\n },\n {\n type: 'select',\n name: 'type',\n label: true,\n header: i18next.t('field.type'),\n record: {\n editable: false,\n options: [\n {},\n {\n display: i18next.t('text.manually collected'),\n value: 'manual'\n },\n {\n display: i18next.t('text.automatically collected'),\n value: 'automatic'\n }\n ]\n },\n sortable: true,\n filter: true,\n width: 60\n },\n {\n type: 'select',\n name: 'useCase',\n label: true,\n header: i18next.t('field.use-case'),\n record: {\n editable: false,\n options: USECASE_OPTIONS\n },\n sortable: true,\n filter: {\n operator: 'eq',\n options: USECASE_OPTIONS /* in case select options type is a function, filter should have its own options */\n },\n width: 80\n },\n {\n type: 'crontab',\n name: 'schedule',\n label: true,\n header: i18next.t('field.schedule'),\n record: {\n editable: false\n },\n width: 80\n },\n {\n type: 'resource-object',\n name: 'entryRole',\n header: i18next.t('field.entry-role'),\n record: {\n editable: false\n },\n width: 120\n },\n {\n type: 'resource-object',\n name: 'supervisoryRole',\n header: i18next.t('field.supervisory-role'),\n record: {\n editable: false\n },\n width: 120\n },\n {\n type: 'datetime',\n name: 'latestCollectedAt',\n label: true,\n header: i18next.t('field.latest-collected-at'),\n record: {\n editable: false\n },\n width: 180\n },\n {\n type: 'datetime',\n name: 'prevSchedule',\n label: true,\n header: i18next.t('field.prev-schedule'),\n record: {\n editable: false\n },\n width: 180\n },\n {\n type: 'datetime',\n name: 'nextSchedule',\n label: true,\n header: i18next.t('field.next-schedule'),\n record: {\n editable: false\n },\n width: 180\n },\n {\n type: 'string',\n name: 'entryView',\n hidden: true,\n record: {\n editable: false,\n renderer: function (value, column, record, rowIndex, field) {\n const type = record.entryType !== 'board' ? 'string' : 'image'\n\n let renderedValue\n\n if (record.entryType === 'board' && record.entryBoard?.thumbnail) {\n renderedValue = record.entryBoard.thumbnail\n } else {\n renderedValue = html`<md-icon style=\"--md-icon-size: 64px;\">assignment_add</md-icon>`\n }\n\n return getRenderer(type)(renderedValue, column, record, rowIndex, field)\n }\n },\n handlers: {\n click: (columns, data, column, record, rowIndex) => {\n if (record?.isEntryAllowed) {\n showEntryView(columns, data, column, record, rowIndex)\n }\n }\n }\n }\n ],\n rows: {\n appendable: false,\n editable: false,\n selectable: {\n multiple: false\n },\n classifier: function (record, rowIndex) {}\n },\n sorters: [\n {\n name: 'name'\n }\n ]\n }\n }\n\n async fetchHandler({ page, limit, sortings = [], filters = [] }: FetchOption) {\n const response = await client.query({\n query: gql`\n query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!], $inherited: InheritedValueType) {\n responses: dataSetsForEntry(\n filters: $filters\n pagination: $pagination\n sortings: $sortings\n inherited: $inherited\n ) {\n items {\n id\n name\n description\n partitionKeys\n active\n type\n useCase\n schedule\n timezone\n isSupervisor\n isEntryAllowed\n entryRole {\n id\n name\n }\n supervisoryRole {\n id\n name\n }\n entryType\n entryView\n entryBoard {\n thumbnail\n }\n monitorType\n monitorView\n updater {\n id\n name\n }\n reportType\n reportView\n updatedAt\n dataItems {\n name\n description\n active\n hidden\n tag\n group\n subgroup\n type\n unit\n options\n quota\n spec\n stat\n }\n latestCollectedAt\n nextSchedule\n prevSchedule\n nextSummarySchedule\n }\n total\n }\n }\n `,\n variables: {\n filters,\n pagination: { page, limit },\n sortings,\n inherited: InheritedValueType.Include\n }\n })\n\n return {\n total: response.data.responses.total || 0,\n records: response.data.responses.items || []\n }\n }\n}\n"]}
@@ -178,7 +178,7 @@ let DataOocListPage = class DataOocListPage extends connect(store)(p13n(localize
178
178
  imex: true
179
179
  },
180
180
  {
181
- type: 'textarea',
181
+ type: 'string',
182
182
  name: 'correctiveInstruction',
183
183
  label: true,
184
184
  header: i18next.t('field.corrective-instruction'),
@@ -190,7 +190,7 @@ let DataOocListPage = class DataOocListPage extends connect(store)(p13n(localize
190
190
  imex: true
191
191
  },
192
192
  {
193
- type: 'textarea',
193
+ type: 'string',
194
194
  name: 'correctiveAction',
195
195
  label: true,
196
196
  header: i18next.t('field.corrective-action'),
@@ -1 +1 @@
1
- {"version":3,"file":"data-ooc-list-page.js","sourceRoot":"","sources":["../../../client/pages/data-ooc/data-ooc-list-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@operato/data-grist'\nimport '@operato/context/ox-context-page-toolbar.js'\nimport '@operato/input/ox-input-select-buttons.js'\n\nimport { p13n } from '@operato/p13n'\n\nimport './data-ooc-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'\n\nimport { GhostPrint } from '@operato/ghost-print'\n\nfunction getOocStatus() {\n return [\n {\n display: i18next.t('label.state-issued'),\n value: 'ISSUED'\n },\n {\n display: i18next.t('label.state-reviewed'),\n value: 'REVIEWED'\n },\n {\n display: i18next.t('label.state-corrected'),\n value: 'CORRECTED'\n }\n ]\n}\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 { CommonGristStyles, CommonHeaderStyles, ScrollbarStyles } from '@operato/styles'\nimport { isMobileDevice, adjustFilters } from '@operato/utils'\n\n@customElement('data-ooc-list-page')\nexport class DataOocListPage extends connect(store)(p13n(localize(i18next)(PageView))) {\n static styles = [\n ScrollbarStyles,\n CommonGristStyles,\n CommonHeaderStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n overflow: hidden;\n\n --grid-header-padding: 2px 0 2px 9px;\n }\n\n ox-grist {\n overflow-y: auto;\n flex: 1;\n }\n\n .header {\n grid-template-areas: 'filters actions';\n }\n `\n ]\n\n @state() private gristConfig: any\n @state() private mode: 'CARD' | 'GRID' | 'LIST' = isMobileDevice() ? 'CARD' : 'GRID'\n @state() private state?: string[]\n\n @query('ox-grist') private grist!: DataGrist\n\n get context() {\n return {\n title: i18next.t('title.data-ooc list'),\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-ooc',\n actions: [\n {\n title: i18next.t('button.print'),\n action: this.printOocs.bind(this),\n icon: 'print'\n }\n ],\n exportable: {\n name: i18next.t('title.data-ooc list'),\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\n .mode=${mode}\n .config=${this.gristConfig}\n .fetchHandler=${this.fetchHandler.bind(this)}\n .personalConfigProvider=${this.getPagePreferenceProvider('ox-grist')!}\n >\n <div slot=\"headroom\" class=\"header\">\n <div class=\"filters\">\n <ox-input-select-buttons\n .value=${this.state}\n .options=${getOocStatus()}\n @change=${(e: CustomEvent) => {\n this.state = (e.currentTarget as any)?.value\n this.grist.fetch()\n }}\n ></ox-input-select-buttons>\n </div>\n\n <ox-context-page-toolbar class=\"actions\" .context=${this.context}></ox-context-page-toolbar>\n </div>\n\n <ox-grist-personalizer slot=\"setting\"></ox-grist-personalizer>\n </ox-grist>\n `\n }\n\n async pageInitialized(lifecycle) {\n this.gristConfig = {\n list: {\n fields: ['dataSet', 'data', 'correctiveAction', 'corrector', 'correctedAt', 'collectedAt', 'creator']\n },\n columns: [\n { type: 'gutter', gutterName: 'sequence', fixed: true },\n { type: 'gutter', gutterName: 'row-selector', multiple: true, fixed: true },\n {\n type: 'gutter',\n gutterName: 'button',\n fixed: true,\n icon: 'assignment_turned_in',\n iconOnly: false,\n title: i18next.t('button.detail'),\n width: 72\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 {\n type: 'string',\n name: 'history',\n hidden: true,\n imex: true\n },\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: 'select',\n name: 'state',\n label: true,\n header: i18next.t('field.status'),\n record: {\n editable: false,\n options: [{ display: '', value: '' }, ...getOocStatus()]\n },\n width: 100,\n filter: true,\n imex: true\n },\n {\n type: 'textarea',\n name: 'correctiveInstruction',\n label: true,\n header: i18next.t('field.corrective-instruction'),\n record: {\n editable: false,\n language: 'text'\n },\n width: 150,\n imex: true\n },\n {\n type: 'textarea',\n name: 'correctiveAction',\n label: true,\n header: i18next.t('field.corrective-action'),\n record: {\n editable: false,\n language: 'text'\n },\n width: 150,\n imex: true\n },\n {\n type: 'resource-object',\n name: 'dataSet',\n header: i18next.t('field.data-set'),\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'string',\n name: 'key01',\n header: {\n renderer: i18next.t('field.key-01'),\n group: i18next.t('field.key')\n },\n record: {\n editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'string',\n name: 'key02',\n header: {\n renderer: i18next.t('field.key-02'),\n group: i18next.t('field.key')\n },\n record: {\n editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'string',\n name: 'key03',\n header: {\n renderer: i18next.t('field.key-03'),\n group: i18next.t('field.key')\n },\n record: {\n editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'string',\n name: 'key04',\n header: {\n renderer: i18next.t('field.key-04'),\n group: i18next.t('field.key')\n },\n record: {\n editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'string',\n name: 'key05',\n header: {\n renderer: i18next.t('field.key-05'),\n group: i18next.t('field.key')\n },\n record: {\n editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'json5',\n name: 'partitionKeys',\n header: i18next.t('field.partition-keys'),\n record: {\n editable: false\n },\n width: 200,\n imex: true\n },\n {\n type: 'json5',\n name: 'data',\n header: i18next.t('field.data'),\n record: {\n editable: false\n },\n width: 200,\n imex: true\n },\n {\n type: 'text',\n name: 'rawData',\n header: i18next.t('field.raw-data'),\n record: {\n editable: false\n },\n width: 200,\n imex: true\n },\n {\n type: 'string',\n name: 'workDate',\n header: i18next.t('field.work-date'),\n sortable: true,\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 handlers: {\n click: (columns, data, column, record, rowIndex) => {\n const popup = openPopup(\n html` <data-ooc-view data-ooc-id=${record.id} style=\"background-color: white;\"></data-ooc-view> `,\n {\n backdrop: true,\n size: 'large',\n title: i18next.t('title.data-ooc view')\n }\n )\n popup.onclosed = () => {\n // this.grist.fetch()\n }\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.state) {\n filters = adjustFilters(filters, [{ name: 'state', operator: 'eq', value: this.state }])\n }\n\n const response = await client.query({\n query: gql`\n query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {\n responses: dataOocs(filters: $filters, pagination: $pagination, sortings: $sortings) {\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 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 }\n total\n }\n }\n `,\n variables: {\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 printOocs() {\n const selected = this.grist.selected\n const ids = selected.map(record => record.id).join('|')\n\n GhostPrint.print({\n src: `./data-oocs?ids=${ids}`\n // pending: 200 * selected.length\n })\n }\n}\n"]}
1
+ {"version":3,"file":"data-ooc-list-page.js","sourceRoot":"","sources":["../../../client/pages/data-ooc/data-ooc-list-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@operato/data-grist'\nimport '@operato/context/ox-context-page-toolbar.js'\nimport '@operato/input/ox-input-select-buttons.js'\n\nimport { p13n } from '@operato/p13n'\n\nimport './data-ooc-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'\n\nimport { GhostPrint } from '@operato/ghost-print'\n\nfunction getOocStatus() {\n return [\n {\n display: i18next.t('label.state-issued'),\n value: 'ISSUED'\n },\n {\n display: i18next.t('label.state-reviewed'),\n value: 'REVIEWED'\n },\n {\n display: i18next.t('label.state-corrected'),\n value: 'CORRECTED'\n }\n ]\n}\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 { CommonGristStyles, CommonHeaderStyles, ScrollbarStyles } from '@operato/styles'\nimport { isMobileDevice, adjustFilters } from '@operato/utils'\n\n@customElement('data-ooc-list-page')\nexport class DataOocListPage extends connect(store)(p13n(localize(i18next)(PageView))) {\n static styles = [\n ScrollbarStyles,\n CommonGristStyles,\n CommonHeaderStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n overflow: hidden;\n\n --grid-header-padding: 2px 0 2px 9px;\n }\n\n ox-grist {\n overflow-y: auto;\n flex: 1;\n }\n\n .header {\n grid-template-areas: 'filters actions';\n }\n `\n ]\n\n @state() private gristConfig: any\n @state() private mode: 'CARD' | 'GRID' | 'LIST' = isMobileDevice() ? 'CARD' : 'GRID'\n @state() private state?: string[]\n\n @query('ox-grist') private grist!: DataGrist\n\n get context() {\n return {\n title: i18next.t('title.data-ooc list'),\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-ooc',\n actions: [\n {\n title: i18next.t('button.print'),\n action: this.printOocs.bind(this),\n icon: 'print'\n }\n ],\n exportable: {\n name: i18next.t('title.data-ooc list'),\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\n .mode=${mode}\n .config=${this.gristConfig}\n .fetchHandler=${this.fetchHandler.bind(this)}\n .personalConfigProvider=${this.getPagePreferenceProvider('ox-grist')!}\n >\n <div slot=\"headroom\" class=\"header\">\n <div class=\"filters\">\n <ox-input-select-buttons\n .value=${this.state}\n .options=${getOocStatus()}\n @change=${(e: CustomEvent) => {\n this.state = (e.currentTarget as any)?.value\n this.grist.fetch()\n }}\n ></ox-input-select-buttons>\n </div>\n\n <ox-context-page-toolbar class=\"actions\" .context=${this.context}></ox-context-page-toolbar>\n </div>\n\n <ox-grist-personalizer slot=\"setting\"></ox-grist-personalizer>\n </ox-grist>\n `\n }\n\n async pageInitialized(lifecycle) {\n this.gristConfig = {\n list: {\n fields: ['dataSet', 'data', 'correctiveAction', 'corrector', 'correctedAt', 'collectedAt', 'creator']\n },\n columns: [\n { type: 'gutter', gutterName: 'sequence', fixed: true },\n { type: 'gutter', gutterName: 'row-selector', multiple: true, fixed: true },\n {\n type: 'gutter',\n gutterName: 'button',\n fixed: true,\n icon: 'assignment_turned_in',\n iconOnly: false,\n title: i18next.t('button.detail'),\n width: 72\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 {\n type: 'string',\n name: 'history',\n hidden: true,\n imex: true\n },\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: 'select',\n name: 'state',\n label: true,\n header: i18next.t('field.status'),\n record: {\n editable: false,\n options: [{ display: '', value: '' }, ...getOocStatus()]\n },\n width: 100,\n filter: true,\n imex: true\n },\n {\n type: 'string',\n name: 'correctiveInstruction',\n label: true,\n header: i18next.t('field.corrective-instruction'),\n record: {\n editable: false,\n language: 'text'\n },\n width: 150,\n imex: true\n },\n {\n type: 'string',\n name: 'correctiveAction',\n label: true,\n header: i18next.t('field.corrective-action'),\n record: {\n editable: false,\n language: 'text'\n },\n width: 150,\n imex: true\n },\n {\n type: 'resource-object',\n name: 'dataSet',\n header: i18next.t('field.data-set'),\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'string',\n name: 'key01',\n header: {\n renderer: i18next.t('field.key-01'),\n group: i18next.t('field.key')\n },\n record: {\n editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'string',\n name: 'key02',\n header: {\n renderer: i18next.t('field.key-02'),\n group: i18next.t('field.key')\n },\n record: {\n editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'string',\n name: 'key03',\n header: {\n renderer: i18next.t('field.key-03'),\n group: i18next.t('field.key')\n },\n record: {\n editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'string',\n name: 'key04',\n header: {\n renderer: i18next.t('field.key-04'),\n group: i18next.t('field.key')\n },\n record: {\n editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'string',\n name: 'key05',\n header: {\n renderer: i18next.t('field.key-05'),\n group: i18next.t('field.key')\n },\n record: {\n editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'json5',\n name: 'partitionKeys',\n header: i18next.t('field.partition-keys'),\n record: {\n editable: false\n },\n width: 200,\n imex: true\n },\n {\n type: 'json5',\n name: 'data',\n header: i18next.t('field.data'),\n record: {\n editable: false\n },\n width: 200,\n imex: true\n },\n {\n type: 'text',\n name: 'rawData',\n header: i18next.t('field.raw-data'),\n record: {\n editable: false\n },\n width: 200,\n imex: true\n },\n {\n type: 'string',\n name: 'workDate',\n header: i18next.t('field.work-date'),\n sortable: true,\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 handlers: {\n click: (columns, data, column, record, rowIndex) => {\n const popup = openPopup(\n html` <data-ooc-view data-ooc-id=${record.id} style=\"background-color: white;\"></data-ooc-view> `,\n {\n backdrop: true,\n size: 'large',\n title: i18next.t('title.data-ooc view')\n }\n )\n popup.onclosed = () => {\n // this.grist.fetch()\n }\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.state) {\n filters = adjustFilters(filters, [{ name: 'state', operator: 'eq', value: this.state }])\n }\n\n const response = await client.query({\n query: gql`\n query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {\n responses: dataOocs(filters: $filters, pagination: $pagination, sortings: $sortings) {\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 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 }\n total\n }\n }\n `,\n variables: {\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 printOocs() {\n const selected = this.grist.selected\n const ids = selected.map(record => record.id).join('|')\n\n GhostPrint.print({\n src: `./data-oocs?ids=${ids}`\n // pending: 200 * selected.length\n })\n }\n}\n"]}
@@ -14,7 +14,7 @@ export declare class DataSampleView extends DataSampleView_base {
14
14
  private printHandler;
15
15
  render(): import("lit-html").TemplateResult<1> | typeof nothing;
16
16
  updated(changes: any): void;
17
- private showDataSampleView;
17
+ private renderDataSample;
18
18
  fetchDataSample(): Promise<void>;
19
19
  handlePrint(event: any): void;
20
20
  connectedCallback(): void;
@@ -32,7 +32,7 @@ let DataSampleView = class DataSampleView extends localize(i18next)(LitElement)
32
32
  }
33
33
  return html `
34
34
  ${!(dataSample === null || dataSample === void 0 ? void 0 : dataSample.dataOoc)
35
- ? html `${this.showDataSampleView()}`
35
+ ? html `${this.renderDataSample()}`
36
36
  : html ` <ox-data-ooc-brief-view .dataOoc=${dataSample.dataOoc}></ox-data-ooc-brief-view>`}
37
37
  ${reviewActivityThread
38
38
  ? html `
@@ -68,20 +68,15 @@ let DataSampleView = class DataSampleView extends localize(i18next)(LitElement)
68
68
  this.fetchDataSample();
69
69
  }
70
70
  }
71
- showDataSampleView() {
71
+ renderDataSample() {
72
72
  var _a;
73
73
  const dataSet = (_a = this.dataSample) === null || _a === void 0 ? void 0 : _a.dataSet;
74
74
  const monitorType = dataSet === null || dataSet === void 0 ? void 0 : dataSet.monitorType;
75
- const monitorView = dataSet === null || dataSet === void 0 ? void 0 : dataSet.monitorView;
76
75
  switch (monitorType) {
77
76
  case 'generated':
78
- if (!monitorView || monitorView === 'Default') {
79
- return html `<ox-data-sample-view .dataSample=${this.dataSample}></ox-data-sample-view>`;
80
- }
81
- else if (monitorView === 'Checklist') {
82
- return html `<ox-checklist-sample-view .dataSample=${this.dataSample}></ox-checklist-sample-view>`;
83
- }
84
- break;
77
+ return html `<ox-data-sample-view .dataSample=${this.dataSample}></ox-data-sample-view>`;
78
+ case 'checklist':
79
+ return html `<ox-checklist-sample-view .dataSample=${this.dataSample}></ox-checklist-sample-view>`;
85
80
  case 'board':
86
81
  break;
87
82
  case 'page':
@@ -274,6 +269,7 @@ DataSampleView.styles = [
274
269
  }
275
270
 
276
271
  ox-data-sample-view,
272
+ ox-checklist-sample-view,
277
273
  ox-data-ooc-brief-view {
278
274
  padding: var(--spacing-large);
279
275
  }
@@ -1 +1 @@
1
- {"version":3,"file":"data-sample-view.js","sourceRoot":"","sources":["../../../client/pages/data-sample/data-sample-view.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@material/web/fab/fab.js'\nimport '@operato/dataset/ox-data-sample-view.js'\nimport '@operato/dataset/ox-data-ooc-brief-view.js'\nimport '@operato/dataset/ox-checklist-sample-view.js'\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, state } from 'lit/decorators.js'\n\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { ScrollbarStyles } from '@operato/styles'\nimport { DataSample } from '@operato/dataset'\nimport { GhostPrint } from '@operato/ghost-print'\n\n@customElement('data-sample-view')\nexport class DataSampleView extends localize(i18next)(LitElement) {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n position: relative;\n display: block;\n overflow: auto;\n background-color: var(--md-sys-color-surface);\n }\n\n ox-data-sample-view,\n ox-data-ooc-brief-view {\n padding: var(--spacing-large);\n }\n\n activity-thread-timeline {\n margin: var(--spacing-medium);\n }\n\n md-fab {\n position: fixed;\n bottom: 15px;\n right: 16px;\n text-decoration: auto;\n opacity: 0.5;\n }\n\n @media print {\n md-fab {\n display: none;\n }\n }\n `\n ]\n\n @property({\n type: String,\n attribute: 'data-sample-id'\n })\n dataSampleId?: string\n\n @state() dataSample?: DataSample\n\n private printHandler = this.handlePrint.bind(this)\n\n render() {\n const dataSample = this.dataSample\n\n if (!dataSample) {\n return nothing\n }\n\n if (dataSample.dataOoc) {\n var reviewActivityThread = dataSample.dataOoc.reviewActivityInstance?.activityThreads?.[0]\n var resolveActivityThread = dataSample.dataOoc.resolveActivityInstance?.activityThreads?.[0]\n } else {\n var reviewActivityThread = dataSample?.reviewActivityInstance?.activityThreads?.[0]\n }\n\n return html`\n ${!dataSample?.dataOoc\n ? html`${this.showDataSampleView()}`\n : html` <ox-data-ooc-brief-view .dataOoc=${dataSample!.dataOoc}></ox-data-ooc-brief-view>`}\n ${reviewActivityThread\n ? html`\n <activity-thread-timeline\n subtitle=${String(\n i18next.t(dataSample?.dataOoc ? 'label.ooc review timeline' : 'label.datasample review timeline')\n )}\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 <md-fab\n title=\"print\"\n @click=${() =>\n GhostPrint.print({\n src: `./data-sample/${this.dataSampleId}`\n })}\n >\n <md-icon slot=\"icon\">print</md-icon>\n </md-fab>\n `\n }\n\n updated(changes) {\n if (changes.has('dataSampleId')) {\n this.fetchDataSample()\n }\n }\n\n private showDataSampleView() {\n const dataSet = this.dataSample?.dataSet\n const monitorType = dataSet?.monitorType\n const monitorView = dataSet?.monitorView\n\n switch (monitorType) {\n case 'generated':\n if (!monitorView || monitorView === 'Default') {\n return html`<ox-data-sample-view .dataSample=${this.dataSample}></ox-data-sample-view>`\n } else if (monitorView === 'Checklist') {\n return html`<ox-checklist-sample-view .dataSample=${this.dataSample}></ox-checklist-sample-view>`\n }\n break\n case 'board':\n break\n case 'page':\n break\n default:\n return html`<ox-data-sample-view .dataSample=${this.dataSample}></ox-data-sample-view>`\n break\n }\n }\n\n async fetchDataSample() {\n const id = this.dataSampleId\n\n const response = await client.query({\n query: gql`\n query ($id: String!) {\n dataSample(id: $id) {\n id\n name\n description\n useCase\n key01\n key02\n key03\n key04\n key05\n data\n ooc\n oos\n updatedAt\n collectedAt\n updater {\n id\n name\n }\n dataSet {\n id\n name\n description\n monitorType\n monitorView\n }\n dataItems {\n name\n description\n active\n hidden\n tag\n group\n subgroup\n type\n unit\n options\n quota\n spec\n stat\n }\n judgment\n workDate\n workShift\n reviewActivityInstance {\n ...ActivityInstanceFragment\n }\n dataOoc {\n name\n description\n useCase\n dataSet {\n id\n name\n monitorType\n monitorView\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 subgroup\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\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 id\n }\n })\n\n this.dataSample = response.data.dataSample\n }\n\n handlePrint(event) {\n if ((event.ctrlKey || event.metaKey) && event.key === 'p') {\n event.preventDefault()\n\n GhostPrint.print({\n src: `./data-sample/${this.dataSampleId}`\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
+ {"version":3,"file":"data-sample-view.js","sourceRoot":"","sources":["../../../client/pages/data-sample/data-sample-view.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@material/web/fab/fab.js'\nimport '@operato/dataset/ox-data-sample-view.js'\nimport '@operato/dataset/ox-data-ooc-brief-view.js'\nimport '@operato/dataset/ox-checklist-sample-view.js'\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, state } from 'lit/decorators.js'\n\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { ScrollbarStyles } from '@operato/styles'\nimport { DataSample } from '@operato/dataset'\nimport { GhostPrint } from '@operato/ghost-print'\n\n@customElement('data-sample-view')\nexport class DataSampleView extends localize(i18next)(LitElement) {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n position: relative;\n display: block;\n overflow: auto;\n background-color: var(--md-sys-color-surface);\n }\n\n ox-data-sample-view,\n ox-checklist-sample-view,\n ox-data-ooc-brief-view {\n padding: var(--spacing-large);\n }\n\n activity-thread-timeline {\n margin: var(--spacing-medium);\n }\n\n md-fab {\n position: fixed;\n bottom: 15px;\n right: 16px;\n text-decoration: auto;\n opacity: 0.5;\n }\n\n @media print {\n md-fab {\n display: none;\n }\n }\n `\n ]\n\n @property({\n type: String,\n attribute: 'data-sample-id'\n })\n dataSampleId?: string\n\n @state() dataSample?: DataSample\n\n private printHandler = this.handlePrint.bind(this)\n\n render() {\n const dataSample = this.dataSample\n\n if (!dataSample) {\n return nothing\n }\n\n if (dataSample.dataOoc) {\n var reviewActivityThread = dataSample.dataOoc.reviewActivityInstance?.activityThreads?.[0]\n var resolveActivityThread = dataSample.dataOoc.resolveActivityInstance?.activityThreads?.[0]\n } else {\n var reviewActivityThread = dataSample?.reviewActivityInstance?.activityThreads?.[0]\n }\n\n return html`\n ${!dataSample?.dataOoc\n ? html`${this.renderDataSample()}`\n : html` <ox-data-ooc-brief-view .dataOoc=${dataSample!.dataOoc}></ox-data-ooc-brief-view>`}\n ${reviewActivityThread\n ? html`\n <activity-thread-timeline\n subtitle=${String(\n i18next.t(dataSample?.dataOoc ? 'label.ooc review timeline' : 'label.datasample review timeline')\n )}\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 <md-fab\n title=\"print\"\n @click=${() =>\n GhostPrint.print({\n src: `./data-sample/${this.dataSampleId}`\n })}\n >\n <md-icon slot=\"icon\">print</md-icon>\n </md-fab>\n `\n }\n\n updated(changes) {\n if (changes.has('dataSampleId')) {\n this.fetchDataSample()\n }\n }\n\n private renderDataSample() {\n const dataSet = this.dataSample?.dataSet\n const monitorType = dataSet?.monitorType\n\n switch (monitorType) {\n case 'generated':\n return html`<ox-data-sample-view .dataSample=${this.dataSample}></ox-data-sample-view>`\n case 'checklist':\n return html`<ox-checklist-sample-view .dataSample=${this.dataSample}></ox-checklist-sample-view>`\n case 'board':\n break\n case 'page':\n break\n default:\n return html`<ox-data-sample-view .dataSample=${this.dataSample}></ox-data-sample-view>`\n break\n }\n }\n\n async fetchDataSample() {\n const id = this.dataSampleId\n\n const response = await client.query({\n query: gql`\n query ($id: String!) {\n dataSample(id: $id) {\n id\n name\n description\n useCase\n key01\n key02\n key03\n key04\n key05\n data\n ooc\n oos\n updatedAt\n collectedAt\n updater {\n id\n name\n }\n dataSet {\n id\n name\n description\n monitorType\n monitorView\n }\n dataItems {\n name\n description\n active\n hidden\n tag\n group\n subgroup\n type\n unit\n options\n quota\n spec\n stat\n }\n judgment\n workDate\n workShift\n reviewActivityInstance {\n ...ActivityInstanceFragment\n }\n dataOoc {\n name\n description\n useCase\n dataSet {\n id\n name\n monitorType\n monitorView\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 subgroup\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\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 id\n }\n })\n\n this.dataSample = response.data.dataSample\n }\n\n handlePrint(event) {\n if ((event.ctrlKey || event.metaKey) && event.key === 'p') {\n event.preventDefault()\n\n GhostPrint.print({\n src: `./data-sample/${this.dataSampleId}`\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"]}
@@ -4,6 +4,7 @@ import '@operato/context/ox-context-page-toolbar.js';
4
4
  import './data-item-list.js';
5
5
  import './data-set-importer.js';
6
6
  import '../../components/data-entry-form.js';
7
+ import '../../components/checklist-entry-form.js';
7
8
  import { FetchOption, ImexConfig } from '@operato/data-grist';
8
9
  import { PageView } from '@operato/shell';
9
10
  export declare const showEntryView: (columns: any, data: any, column: any, record: any, rowIndex: any) => Promise<void>;
@@ -5,6 +5,7 @@ import '@operato/context/ox-context-page-toolbar.js';
5
5
  import './data-item-list.js';
6
6
  import './data-set-importer.js';
7
7
  import '../../components/data-entry-form.js';
8
+ import '../../components/checklist-entry-form.js';
8
9
  import gql from 'graphql-tag';
9
10
  import { css, html } from 'lit';
10
11
  import { customElement, query, state } from 'lit/decorators.js';
@@ -42,6 +43,7 @@ const TIMEZONE_OPTIONS = ['', DEFAULT_TZ, ...moment.tz.names().filter(tz => tz !
42
43
  const ENTRY_TYPES = [
43
44
  { display: '', value: '' },
44
45
  { display: 'Generated', value: 'generated' },
46
+ { display: 'Checklist', value: 'checklist' },
45
47
  { display: 'Board', value: 'board' },
46
48
  { display: 'CustomElement', value: 'custom-element' },
47
49
  { display: 'Page', value: 'page' },
@@ -50,6 +52,7 @@ const ENTRY_TYPES = [
50
52
  const MONITOR_TYPES = [
51
53
  { display: '', value: '' },
52
54
  { display: 'Generated', value: 'generated' },
55
+ { display: 'Checklist', value: 'checklist' },
53
56
  { display: 'Board', value: 'board' },
54
57
  { display: 'CustomElement', value: 'custom-element' },
55
58
  { display: 'Page', value: 'page' },
@@ -92,6 +95,14 @@ export const showEntryView = async (columns, data, column, record, rowIndex) =>
92
95
  title
93
96
  });
94
97
  break;
98
+ case 'checklist':
99
+ openPopup(html ` <checklist-entry-form .dataSet=${record} style="background-color: white;"></checklist-entry-form> `, {
100
+ closable: true,
101
+ backdrop: true,
102
+ size: 'large',
103
+ title
104
+ });
105
+ break;
95
106
  case 'board':
96
107
  const board = {
97
108
  id: entryView