@things-factory/dataset 10.1.256 → 10.1.257

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 (46) hide show
  1. package/dist-client/activities/activity-data-collect-edit.d.ts +3 -4
  2. package/dist-client/activities/activity-data-collect-edit.js +36 -49
  3. package/dist-client/activities/activity-data-collect-edit.js.map +1 -1
  4. package/dist-client/activities/activity-data-collect-view.d.ts +3 -4
  5. package/dist-client/activities/activity-data-collect-view.js +33 -46
  6. package/dist-client/activities/activity-data-collect-view.js.map +1 -1
  7. package/dist-client/activities/activity-data-review-edit.d.ts +2 -3
  8. package/dist-client/activities/activity-data-review-edit.js +58 -77
  9. package/dist-client/activities/activity-data-review-edit.js.map +1 -1
  10. package/dist-client/activities/activity-data-review-view.d.ts +2 -3
  11. package/dist-client/activities/activity-data-review-view.js +58 -77
  12. package/dist-client/activities/activity-data-review-view.js.map +1 -1
  13. package/dist-client/activities/activity-ooc-resolve-edit.js +72 -83
  14. package/dist-client/activities/activity-ooc-resolve-edit.js.map +1 -1
  15. package/dist-client/activities/activity-ooc-resolve-view.d.ts +2 -3
  16. package/dist-client/activities/activity-ooc-resolve-view.js +72 -85
  17. package/dist-client/activities/activity-ooc-resolve-view.js.map +1 -1
  18. package/dist-client/activities/activity-ooc-review-edit.js +49 -62
  19. package/dist-client/activities/activity-ooc-review-edit.js.map +1 -1
  20. package/dist-client/activities/activity-ooc-review-view.js +62 -75
  21. package/dist-client/activities/activity-ooc-review-view.js.map +1 -1
  22. package/dist-client/pages/data-ooc/data-ooc-list-page.d.ts +5 -3
  23. package/dist-client/pages/data-ooc/data-ooc-list-page.js +9 -13
  24. package/dist-client/pages/data-ooc/data-ooc-list-page.js.map +1 -1
  25. package/dist-client/pages/data-ooc/data-ooc-page.d.ts +1 -2
  26. package/dist-client/pages/data-ooc/data-ooc-page.js +6 -115
  27. package/dist-client/pages/data-ooc/data-ooc-page.js.map +1 -1
  28. package/dist-client/pages/data-ooc/data-ooc-view.d.ts +2 -3
  29. package/dist-client/pages/data-ooc/data-ooc-view.js +105 -119
  30. package/dist-client/pages/data-ooc/data-ooc-view.js.map +1 -1
  31. package/dist-client/pages/data-ooc/data-oocs-page.d.ts +3 -2
  32. package/dist-client/pages/data-ooc/data-oocs-page.js +70 -79
  33. package/dist-client/pages/data-ooc/data-oocs-page.js.map +1 -1
  34. package/dist-client/pages/data-report/data-report-samples-page.d.ts +2 -2
  35. package/dist-client/pages/data-report/data-report-samples-page.js +25 -31
  36. package/dist-client/pages/data-report/data-report-samples-page.js.map +1 -1
  37. package/dist-client/pages/data-sample/data-sample-view.d.ts +2 -3
  38. package/dist-client/pages/data-sample/data-sample-view.js +152 -166
  39. package/dist-client/pages/data-sample/data-sample-view.js.map +1 -1
  40. package/dist-client/pages/data-sample/data-samples-page.d.ts +3 -2
  41. package/dist-client/pages/data-sample/data-samples-page.js +73 -82
  42. package/dist-client/pages/data-sample/data-samples-page.js.map +1 -1
  43. package/dist-client/pages/data-summary/data-summary-view.js +51 -62
  44. package/dist-client/pages/data-summary/data-summary-view.js.map +1 -1
  45. package/dist-client/tsconfig.tsbuildinfo +1 -1
  46. package/package.json +14 -14
@@ -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;AACnD,OAAO,6EAA6E,CAAA;AAEpF,OAAO,GAAG,MAAM,aAAa,CAAA;AAC7B,OAAO,EAAkB,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAEzC;;GAEG;AAEI,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;aACpD,WAAM,GAAG;QACd,GAAG,CAAA;;;;;;;;;;;;;;KAcF;KACF,AAhBY,CAgBZ;IAID,IAAI,OAAO;QACT,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC;SACxC,CAAA;IACH,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE;YAClC,MAAM,oBAAoB,GAAG,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,CAAA;YAClF,MAAM,qBAAqB,GAAG,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,CAAA;YAEpF,OAAO,IAAI,CAAA;2CAC0B,OAAO;UACxC,oBAAoB;gBACpB,CAAC,CAAC,IAAI,CAAA;;2BAEW,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC;kCACvC,oBAAoB;;;aAGzC;gBACH,CAAC,CAAC,OAAO;UACT,qBAAqB;gBACrB,CAAC,CAAC,IAAI,CAAA;;2BAEW,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC;kCACxC,qBAAqB;;;aAG1C;gBACH,CAAC,CAAC,OAAO;;OAEZ,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,WAAW,CAAC,OAAY,EAAE,SAAc,EAAE,MAAW;QACnD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB;;eAEG;YACH,MAAM,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,CAAA;YAErC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QACrD,CAAC;aAAM,CAAC;YACN,8BAA8B;QAChC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAa;QAC3B,MAAM,OAAO,GAAG;YACd;gBACE,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,GAAG;aACX;SACF,CAAA;QAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;YAClC,KAAK,EAAE,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiGT;YACD,SAAS,EAAE;gBACT,OAAO;aACR;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAA;IAC9C,CAAC;;AArKQ;IAAR,KAAK,EAAE;;8CAAiB;AAnBd,YAAY;IADxB,aAAa,CAAC,gBAAgB,CAAC;GACnB,YAAY,CAyLxB","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(--spacing-medium);\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 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\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
+ {"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 { QueryController } 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(--spacing-medium);\n }\n\n .end {\n page-break-after: always;\n break-after: always;\n }\n `\n ]\n\n /* The records the address lists (ADR-0190). */\n @state() private ids?: string[]\n\n private dataOocsQuery = new QueryController(\n this,\n 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 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\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: () => (this.ids ? { filters: [{ name: 'id', operator: 'in', value: this.ids }] } : undefined) }\n )\n\n get dataOocs(): any[] | undefined {\n return this.dataOocsQuery.data?.dataOocs.items\n }\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.ids = ids.split('|').map(id => id.trim())\n } else {\n /* this page is deactivated */\n }\n }\n}\n"]}
@@ -9,7 +9,8 @@ declare const DataReportSamplesPage_base: (new (...args: any[]) => import("lit")
9
9
  export declare class DataReportSamplesPage extends DataReportSamplesPage_base {
10
10
  static styles: import("lit").CSSResult[];
11
11
  dataKeySetId?: string;
12
- dataKeySet: any;
12
+ private dataKeySetQuery;
13
+ get dataKeySet(): any;
13
14
  container: HTMLIFrameElement;
14
15
  get context(): {
15
16
  title: string;
@@ -21,6 +22,5 @@ export declare class DataReportSamplesPage extends DataReportSamplesPage_base {
21
22
  renderTemplate(filters: any): void;
22
23
  pageUpdated(changes: any, lifecycle: any): void;
23
24
  fetchHandler({ page, limit, sortings, filters }: FetchOption): Promise<void>;
24
- updated(changes: any): Promise<void>;
25
25
  }
26
26
  export {};
@@ -8,12 +8,33 @@ import gql from 'graphql-tag';
8
8
  import { css, html } from 'lit';
9
9
  import { customElement, query, state } from 'lit/decorators.js';
10
10
  import moment from '@operato/moment-timezone-es';
11
- import { client } from '@operato/graphql';
11
+ import { QueryController } from '@operato/graphql';
12
12
  import { i18next, localize } from '@operato/i18n';
13
13
  import { PageView } from '@operato/shell';
14
14
  import { ScrollbarStyles } from '@operato/styles';
15
15
  import { encodeUrlParams } from '@operato/utils';
16
16
  let DataReportSamplesPage = class DataReportSamplesPage extends localize(i18next)(PageView) {
17
+ constructor() {
18
+ super(...arguments);
19
+ /* The key set the address names - its keys are filters (ADR-0190). */
20
+ this.dataKeySetQuery = new QueryController(this, gql `
21
+ query ($id: String!) {
22
+ dataKeySet(id: $id) {
23
+ id
24
+ name
25
+ description
26
+ reportType
27
+ reportView
28
+ dataKeyItems {
29
+ name
30
+ description
31
+ dataKey
32
+ tKey
33
+ }
34
+ }
35
+ }
36
+ `, { variables: () => (this.dataKeySetId ? { id: this.dataKeySetId } : undefined) });
37
+ }
17
38
  static { this.styles = [
18
39
  ScrollbarStyles,
19
40
  css `
@@ -29,6 +50,9 @@ let DataReportSamplesPage = class DataReportSamplesPage extends localize(i18next
29
50
  }
30
51
  `
31
52
  ]; }
53
+ get dataKeySet() {
54
+ return this.dataKeySetQuery.data?.dataKeySet;
55
+ }
32
56
  get context() {
33
57
  const yesterday = moment().subtract(1, 'day').format('YYYY-MM-DD');
34
58
  const today = moment().format('YYYY-MM-DD');
@@ -105,41 +129,11 @@ let DataReportSamplesPage = class DataReportSamplesPage extends localize(i18next
105
129
  }
106
130
  }
107
131
  async fetchHandler({ page, limit, sortings = [], filters = [] }) { }
108
- async updated(changes) {
109
- if (changes.has('dataKeySetId')) {
110
- if (!this.dataKeySetId) {
111
- this.dataKeySet = null;
112
- return;
113
- }
114
- const response = await client.query({ query: gql `
115
- query ($id: String!) { dataKeySet(id: $id) { id
116
- name
117
- description
118
- reportType
119
- reportView
120
- dataKeyItems { name
121
- description
122
- dataKey
123
- tKey
124
- }
125
- }
126
- }
127
- `,
128
- variables: { id: this.dataKeySetId
129
- }
130
- });
131
- this.dataKeySet = response.data.dataKeySet;
132
- }
133
- }
134
132
  };
135
133
  __decorate([
136
134
  state(),
137
135
  __metadata("design:type", String)
138
136
  ], DataReportSamplesPage.prototype, "dataKeySetId", void 0);
139
- __decorate([
140
- state(),
141
- __metadata("design:type", Object)
142
- ], DataReportSamplesPage.prototype, "dataKeySet", void 0);
143
137
  __decorate([
144
138
  query('iframe'),
145
139
  __metadata("design:type", HTMLIFrameElement)
@@ -1 +1 @@
1
- {"version":3,"file":"data-report-samples-page.js","sourceRoot":"","sources":["../../../client/pages/data-report/data-report-samples-page.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * data sample report page from 'data-key-set-list-page'\n * dateKeySetId is required\n */\nimport '@operato/data-grist'\n\nimport gql from 'graphql-tag'\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport moment from '@operato/moment-timezone-es'\n\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { PageView } from '@operato/shell'\nimport { ScrollbarStyles } from '@operato/styles'\nimport { encodeUrlParams } from '@operato/utils'\nimport { FetchOption } from '@operato/data-grist'\n\n@customElement('data-report-samples-page')\nexport class DataReportSamplesPage extends localize(i18next)(PageView) { static styles = [\n ScrollbarStyles,\n css`\n :host { display: flex;\n flex-direction: column;\n padding: 0;\n }\n\n #container { flex: 1;\n padding: 0;\n margin: 0;\n border: 0;\n }\n `\n ]\n\n @state() dataKeySetId?: string\n @state() dataKeySet: any\n @query('iframe') container!: HTMLIFrameElement\n\n get context() { const yesterday = moment().subtract(1, 'day').format('YYYY-MM-DD')\n const today = moment().format('YYYY-MM-DD')\n\n const filters = [\n { name: 'workDateRange',\n type: 'date',\n label: i18next.t('field.work-date'),\n operator: 'between',\n value: [yesterday, today]\n },\n ...this.getDataKeyFilters()\n ]\n\n return { title: i18next.t('title.data-report samples'),\n help: 'dataset/data-report-samples',\n filters\n }\n }\n\n getDataKeyFilters() { return (\n this.dataKeySet?.dataKeyItems.map((item, index) => { return { type: 'string',\n name: `key_0${index + 1}`,\n label: i18next.t(item.tKey),\n operator: 'i_like',\n width: 120\n }\n }) || []\n )\n }\n\n render() { // clear if pre-loaded\n this.container.src = ''\n\n return html`\n <ox-filters-form-base\n .filters=${this.context.filters}\n @filters-change=${e => { console.log('filters changed', e.detail)\n this.renderTemplate(e.detail.filters)\n }}\n ?url-params-sensitive=${this.active}\n ></ox-filters-form-base>\n\n <iframe></iframe>\n `\n }\n\n renderTemplate(filters) { const params = filters.reduce((acc, curr) => ((acc[curr.name] = curr.value), acc), {})\n Object.assign(params, this.lifecycle.params)\n\n const filterNames = this.getDataKeyFilters().map(x => x.name)\n const dataKeyFilters = filters.filter(x => filterNames.includes(x.name))\n const { workDateRange } = params\n\n /** ignoring date conditions */\n if (!workDateRange[0] || !workDateRange[1] || workDateRange[0] > workDateRange[1]) { return\n }\n\n /** urlencoded params including test values */\n const urlParams = { reportType: params.reportType,\n reportView: params.reportView,\n reportTemplate: params.reportTemplate,\n table: 'samples',\n datasetId: params.datasetId,\n dataKeySetId: params.dataKeySetId,\n startDate: workDateRange[0],\n endDate: workDateRange[1],\n dataKeySetItems: JSON.stringify(this.dataKeySet?.dataKeyItems || []),\n dataKeyFilters: JSON.stringify(dataKeyFilters)\n }\n\n const encodedUrlParams = encodeUrlParams(urlParams)\n\n const reportUrl = `/data-report/${urlParams.reportType}/`\n this.container.src = `${reportUrl}?${encodedUrlParams}`\n }\n\n pageUpdated(changes, lifecycle) { if (this.active) { const { dataKeySetId } = lifecycle.params\n this.dataKeySetId = dataKeySetId\n return\n }\n }\n\n async fetchHandler({ page, limit, sortings = [], filters = [] }: FetchOption) {}\n\n async updated(changes) { if (changes.has('dataKeySetId')) { if (!this.dataKeySetId) { this.dataKeySet = null\n return\n }\n\n const response = await client.query({ query: gql`\n query ($id: String!) { dataKeySet(id: $id) { id\n name\n description\n reportType\n reportView\n dataKeyItems { name\n description\n dataKey\n tKey\n }\n }\n }\n `,\n variables: { id: this.dataKeySetId\n }\n })\n\n this.dataKeySet = response.data.dataKeySet\n }\n }\n}\n"]}
1
+ {"version":3,"file":"data-report-samples-page.js","sourceRoot":"","sources":["../../../client/pages/data-report/data-report-samples-page.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * data sample report page from 'data-key-set-list-page'\n * dateKeySetId is required\n */\nimport '@operato/data-grist'\n\nimport gql from 'graphql-tag'\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport moment from '@operato/moment-timezone-es'\n\nimport { QueryController } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { PageView } from '@operato/shell'\nimport { ScrollbarStyles } from '@operato/styles'\nimport { encodeUrlParams } from '@operato/utils'\nimport { FetchOption } from '@operato/data-grist'\n\n@customElement('data-report-samples-page')\nexport class DataReportSamplesPage extends localize(i18next)(PageView) { static styles = [\n ScrollbarStyles,\n css`\n :host { display: flex;\n flex-direction: column;\n padding: 0;\n }\n\n #container { flex: 1;\n padding: 0;\n margin: 0;\n border: 0;\n }\n `\n ]\n\n @state() dataKeySetId?: string\n /* The key set the address names - its keys are filters (ADR-0190). */\n private dataKeySetQuery = new QueryController(\n this,\n gql`\n query ($id: String!) {\n dataKeySet(id: $id) {\n id\n name\n description\n reportType\n reportView\n dataKeyItems {\n name\n description\n dataKey\n tKey\n }\n }\n }\n `,\n { variables: () => (this.dataKeySetId ? { id: this.dataKeySetId } : undefined) }\n )\n\n get dataKeySet(): any {\n return this.dataKeySetQuery.data?.dataKeySet\n }\n\n @query('iframe') container!: HTMLIFrameElement\n\n get context() { const yesterday = moment().subtract(1, 'day').format('YYYY-MM-DD')\n const today = moment().format('YYYY-MM-DD')\n\n const filters = [\n { name: 'workDateRange',\n type: 'date',\n label: i18next.t('field.work-date'),\n operator: 'between',\n value: [yesterday, today]\n },\n ...this.getDataKeyFilters()\n ]\n\n return { title: i18next.t('title.data-report samples'),\n help: 'dataset/data-report-samples',\n filters\n }\n }\n\n getDataKeyFilters() { return (\n this.dataKeySet?.dataKeyItems.map((item, index) => { return { type: 'string',\n name: `key_0${index + 1}`,\n label: i18next.t(item.tKey),\n operator: 'i_like',\n width: 120\n }\n }) || []\n )\n }\n\n render() { // clear if pre-loaded\n this.container.src = ''\n\n return html`\n <ox-filters-form-base\n .filters=${this.context.filters}\n @filters-change=${e => { console.log('filters changed', e.detail)\n this.renderTemplate(e.detail.filters)\n }}\n ?url-params-sensitive=${this.active}\n ></ox-filters-form-base>\n\n <iframe></iframe>\n `\n }\n\n renderTemplate(filters) { const params = filters.reduce((acc, curr) => ((acc[curr.name] = curr.value), acc), {})\n Object.assign(params, this.lifecycle.params)\n\n const filterNames = this.getDataKeyFilters().map(x => x.name)\n const dataKeyFilters = filters.filter(x => filterNames.includes(x.name))\n const { workDateRange } = params\n\n /** ignoring date conditions */\n if (!workDateRange[0] || !workDateRange[1] || workDateRange[0] > workDateRange[1]) { return\n }\n\n /** urlencoded params including test values */\n const urlParams = { reportType: params.reportType,\n reportView: params.reportView,\n reportTemplate: params.reportTemplate,\n table: 'samples',\n datasetId: params.datasetId,\n dataKeySetId: params.dataKeySetId,\n startDate: workDateRange[0],\n endDate: workDateRange[1],\n dataKeySetItems: JSON.stringify(this.dataKeySet?.dataKeyItems || []),\n dataKeyFilters: JSON.stringify(dataKeyFilters)\n }\n\n const encodedUrlParams = encodeUrlParams(urlParams)\n\n const reportUrl = `/data-report/${urlParams.reportType}/`\n this.container.src = `${reportUrl}?${encodedUrlParams}`\n }\n\n pageUpdated(changes, lifecycle) { if (this.active) { const { dataKeySetId } = lifecycle.params\n this.dataKeySetId = dataKeySetId\n return\n }\n }\n\n async fetchHandler({ page, limit, sortings = [], filters = [] }: FetchOption) {}\n\n}\n"]}
@@ -10,12 +10,11 @@ declare const DataSampleView_base: (new (...args: any[]) => LitElement) & typeof
10
10
  export declare class DataSampleView extends DataSampleView_base {
11
11
  static styles: import("lit").CSSResult[];
12
12
  dataSampleId?: string;
13
- dataSample?: DataSample;
13
+ private dataSampleQuery;
14
+ get dataSample(): DataSample | undefined;
14
15
  private printHandler;
15
16
  render(): import("lit-html").TemplateResult<1> | typeof nothing;
16
- updated(changes: any): void;
17
17
  private renderDataSample;
18
- fetchDataSample(): Promise<void>;
19
18
  handlePrint(event: any): void;
20
19
  connectedCallback(): void;
21
20
  disconnectedCallback(): void;
@@ -7,14 +7,161 @@ import '@operato/dataset/ox-checklist-sample-view.js';
7
7
  import '@things-factory/worklist/dist-client/components/activity-thread-timeline.js';
8
8
  import gql from 'graphql-tag';
9
9
  import { css, html, LitElement, nothing } from 'lit';
10
- import { customElement, property, state } from 'lit/decorators.js';
11
- import { client } from '@operato/graphql';
10
+ import { customElement, property } from 'lit/decorators.js';
11
+ import { QueryController } from '@operato/graphql';
12
12
  import { i18next, localize } from '@operato/i18n';
13
13
  import { ScrollbarStyles } from '@operato/styles';
14
14
  import { GhostPrint } from '@operato/ghost-print';
15
15
  let DataSampleView = class DataSampleView extends localize(i18next)(LitElement) {
16
16
  constructor() {
17
17
  super(...arguments);
18
+ /* The sample this view is given (ADR-0190). */
19
+ this.dataSampleQuery = new QueryController(this, gql `
20
+ query ($id: String!) {
21
+ dataSample(id: $id) {
22
+ id
23
+ name
24
+ description
25
+ useCase
26
+ key01
27
+ key02
28
+ key03
29
+ key04
30
+ key05
31
+ data
32
+ ooc
33
+ oos
34
+ updatedAt
35
+ collectedAt
36
+ updater {
37
+ id
38
+ name
39
+ }
40
+ dataSet {
41
+ id
42
+ name
43
+ description
44
+ monitorType
45
+ monitorView
46
+ }
47
+ dataItems {
48
+ name
49
+ description
50
+ active
51
+ hidden
52
+ tag
53
+ group
54
+ subgroup
55
+ type
56
+ unit
57
+ options
58
+ quota
59
+ spec
60
+ stat
61
+ }
62
+ judgment
63
+ workDate
64
+ workShift
65
+ reviewActivityInstance {
66
+ ...ActivityInstanceFragment
67
+ }
68
+ dataOoc {
69
+ name
70
+ description
71
+ useCase
72
+ dataSet {
73
+ id
74
+ name
75
+ monitorType
76
+ monitorView
77
+ }
78
+ key01
79
+ key02
80
+ key03
81
+ key04
82
+ key05
83
+ partitionKeys
84
+ dataItems {
85
+ name
86
+ description
87
+ active
88
+ hidden
89
+ tag
90
+ group
91
+ subgroup
92
+ type
93
+ unit
94
+ options
95
+ quota
96
+ spec
97
+ }
98
+ data
99
+ rawData
100
+ judgment
101
+ ooc
102
+ oos
103
+ state
104
+ history
105
+ workDate
106
+ workShift
107
+ correctiveInstruction
108
+ correctiveAction
109
+ reviewedAt
110
+ reviewer {
111
+ id
112
+ name
113
+ }
114
+ correctedAt
115
+ corrector {
116
+ id
117
+ name
118
+ }
119
+ updater {
120
+ id
121
+ name
122
+ }
123
+ updatedAt
124
+ collectedAt
125
+
126
+ reviewActivityInstance {
127
+ ...ActivityInstanceFragment
128
+ }
129
+ resolveActivityInstance {
130
+ ...ActivityInstanceFragment
131
+ }
132
+ }
133
+ }
134
+ }
135
+
136
+ fragment ActivityInstanceFragment on ActivityInstance {
137
+ activityThreads {
138
+ assignee {
139
+ name
140
+ }
141
+ output
142
+ activityApprovals {
143
+ judgment
144
+ approver {
145
+ name
146
+ }
147
+ comment
148
+ createdAt
149
+ updatedAt
150
+ terminatedAt
151
+ }
152
+ activityThreadHistories {
153
+ transaction
154
+ reason
155
+ updater {
156
+ name
157
+ }
158
+ updatedAt
159
+ state
160
+ output
161
+ }
162
+ }
163
+ }
164
+ `, { variables: () => (this.dataSampleId ? { id: this.dataSampleId } : undefined) });
18
165
  this.printHandler = this.handlePrint.bind(this);
19
166
  }
20
167
  static { this.styles = [
@@ -52,6 +199,9 @@ let DataSampleView = class DataSampleView extends localize(i18next)(LitElement)
52
199
  }
53
200
  `
54
201
  ]; }
202
+ get dataSample() {
203
+ return this.dataSampleQuery.data?.dataSample;
204
+ }
55
205
  render() {
56
206
  const dataSample = this.dataSample;
57
207
  if (!dataSample) {
@@ -97,11 +247,6 @@ let DataSampleView = class DataSampleView extends localize(i18next)(LitElement)
97
247
  </md-fab>
98
248
  `;
99
249
  }
100
- updated(changes) {
101
- if (changes.has('dataSampleId')) {
102
- this.fetchDataSample();
103
- }
104
- }
105
250
  renderDataSample() {
106
251
  const dataSet = this.dataSample?.dataSet;
107
252
  const monitorType = dataSet?.monitorType;
@@ -119,161 +264,6 @@ let DataSampleView = class DataSampleView extends localize(i18next)(LitElement)
119
264
  break;
120
265
  }
121
266
  }
122
- async fetchDataSample() {
123
- const id = this.dataSampleId;
124
- const response = await client.query({
125
- query: gql `
126
- query ($id: String!) {
127
- dataSample(id: $id) {
128
- id
129
- name
130
- description
131
- useCase
132
- key01
133
- key02
134
- key03
135
- key04
136
- key05
137
- data
138
- ooc
139
- oos
140
- updatedAt
141
- collectedAt
142
- updater {
143
- id
144
- name
145
- }
146
- dataSet {
147
- id
148
- name
149
- description
150
- monitorType
151
- monitorView
152
- }
153
- dataItems {
154
- name
155
- description
156
- active
157
- hidden
158
- tag
159
- group
160
- subgroup
161
- type
162
- unit
163
- options
164
- quota
165
- spec
166
- stat
167
- }
168
- judgment
169
- workDate
170
- workShift
171
- reviewActivityInstance {
172
- ...ActivityInstanceFragment
173
- }
174
- dataOoc {
175
- name
176
- description
177
- useCase
178
- dataSet {
179
- id
180
- name
181
- monitorType
182
- monitorView
183
- }
184
- key01
185
- key02
186
- key03
187
- key04
188
- key05
189
- partitionKeys
190
- dataItems {
191
- name
192
- description
193
- active
194
- hidden
195
- tag
196
- group
197
- subgroup
198
- type
199
- unit
200
- options
201
- quota
202
- spec
203
- }
204
- data
205
- rawData
206
- judgment
207
- ooc
208
- oos
209
- state
210
- history
211
- workDate
212
- workShift
213
- correctiveInstruction
214
- correctiveAction
215
- reviewedAt
216
- reviewer {
217
- id
218
- name
219
- }
220
- correctedAt
221
- corrector {
222
- id
223
- name
224
- }
225
- updater {
226
- id
227
- name
228
- }
229
- updatedAt
230
- collectedAt
231
-
232
- reviewActivityInstance {
233
- ...ActivityInstanceFragment
234
- }
235
- resolveActivityInstance {
236
- ...ActivityInstanceFragment
237
- }
238
- }
239
- }
240
- }
241
-
242
- fragment ActivityInstanceFragment on ActivityInstance {
243
- activityThreads {
244
- assignee {
245
- name
246
- }
247
- output
248
- activityApprovals {
249
- judgment
250
- approver {
251
- name
252
- }
253
- comment
254
- createdAt
255
- updatedAt
256
- terminatedAt
257
- }
258
- activityThreadHistories {
259
- transaction
260
- reason
261
- updater {
262
- name
263
- }
264
- updatedAt
265
- state
266
- output
267
- }
268
- }
269
- }
270
- `,
271
- variables: {
272
- id
273
- }
274
- });
275
- this.dataSample = response.data.dataSample;
276
- }
277
267
  handlePrint(event) {
278
268
  if ((event.ctrlKey || event.metaKey) && event.key === 'p') {
279
269
  event.preventDefault();
@@ -298,10 +288,6 @@ __decorate([
298
288
  }),
299
289
  __metadata("design:type", String)
300
290
  ], DataSampleView.prototype, "dataSampleId", void 0);
301
- __decorate([
302
- state(),
303
- __metadata("design:type", Object)
304
- ], DataSampleView.prototype, "dataSample", void 0);
305
291
  DataSampleView = __decorate([
306
292
  customElement('data-sample-view')
307
293
  ], DataSampleView);
@@ -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-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"]}
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 } from 'lit/decorators.js'\n\nimport { QueryController } 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 /* The sample this view is given (ADR-0190). */\n private dataSampleQuery = new QueryController(\n this,\n 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: () => (this.dataSampleId ? { id: this.dataSampleId } : undefined) }\n )\n\n get dataSample(): DataSample | undefined {\n return this.dataSampleQuery.data?.dataSample\n }\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 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 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"]}
@@ -9,13 +9,14 @@ declare const DataSamplesPage_base: (new (...args: any[]) => import("lit").LitEl
9
9
  */
10
10
  export declare class DataSamplesPage extends DataSamplesPage_base {
11
11
  static styles: import("lit").CSSResult[];
12
- dataSamples?: any[];
12
+ private ids?;
13
+ private dataSamplesQuery;
14
+ get dataSamples(): any[] | undefined;
13
15
  get context(): {
14
16
  title: string;
15
17
  };
16
18
  render(): import("lit-html").TemplateResult<1>[] | undefined;
17
19
  updated(changes: PropertyValues<this>): void;
18
20
  pageUpdated(changes: any, lifecycle: any, before: any): void;
19
- fetchSamples(ids: string[]): Promise<void>;
20
21
  }
21
22
  export {};