@things-factory/dataset 10.1.26 → 10.1.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-client/pages/data-archive/data-archive-list-page.d.ts +0 -2
- package/dist-client/pages/data-archive/data-archive-list-page.js +4 -10
- package/dist-client/pages/data-archive/data-archive-list-page.js.map +1 -1
- package/dist-client/pages/data-entry/data-entry-list-page.d.ts +0 -2
- package/dist-client/pages/data-entry/data-entry-list-page.js +7 -14
- package/dist-client/pages/data-entry/data-entry-list-page.js.map +1 -1
- package/dist-client/pages/data-key-set/data-key-set-list-page.d.ts +0 -2
- package/dist-client/pages/data-key-set/data-key-set-list-page.js +7 -15
- package/dist-client/pages/data-key-set/data-key-set-list-page.js.map +1 -1
- package/dist-client/pages/data-ooc/data-ooc-list-page.d.ts +0 -2
- package/dist-client/pages/data-ooc/data-ooc-list-page.js +6 -11
- package/dist-client/pages/data-ooc/data-ooc-list-page.js.map +1 -1
- package/dist-client/pages/data-report/data-report-list-page.d.ts +0 -2
- package/dist-client/pages/data-report/data-report-list-page.js +7 -15
- package/dist-client/pages/data-report/data-report-list-page.js.map +1 -1
- package/dist-client/pages/data-sample/data-sample-list-page.d.ts +0 -2
- package/dist-client/pages/data-sample/data-sample-list-page.js +6 -11
- package/dist-client/pages/data-sample/data-sample-list-page.js.map +1 -1
- package/dist-client/pages/data-sample/data-sample-search-page.d.ts +0 -2
- package/dist-client/pages/data-sample/data-sample-search-page.js +5 -10
- package/dist-client/pages/data-sample/data-sample-search-page.js.map +1 -1
- package/dist-client/pages/data-sensor/data-sensor-list-page.d.ts +0 -2
- package/dist-client/pages/data-sensor/data-sensor-list-page.js +4 -10
- package/dist-client/pages/data-sensor/data-sensor-list-page.js.map +1 -1
- package/dist-client/pages/data-set/data-set-list-page.d.ts +0 -2
- package/dist-client/pages/data-set/data-set-list-page.js +5 -16
- package/dist-client/pages/data-set/data-set-list-page.js.map +1 -1
- package/dist-client/pages/data-summary/data-summary-list-page.d.ts +0 -2
- package/dist-client/pages/data-summary/data-summary-list-page.js +4 -10
- package/dist-client/pages/data-summary/data-summary-list-page.js.map +1 -1
- package/dist-client/pages/data-summary/data-summary-period-page.d.ts +0 -2
- package/dist-client/pages/data-summary/data-summary-period-page.js +4 -10
- package/dist-client/pages/data-summary/data-summary-period-page.js.map +1 -1
- package/dist-client/pages/data-summary/data-summary-search-page.d.ts +0 -2
- package/dist-client/pages/data-summary/data-summary-search-page.js +4 -10
- package/dist-client/pages/data-summary/data-summary-search-page.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +12 -12
|
@@ -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 { GhostPrint } from '@operato/ghost-print'\n\nfunction getOocStatus() { return [\n { display: i18next.t('label.state-issued'),\n value: 'ISSUED'\n },\n { display: i18next.t('label.state-reviewed'),\n value: 'REVIEWED'\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 } 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 p13n(localize(i18next)(PageView)) { static styles = [\n ScrollbarStyles,\n CommonGristStyles,\n CommonHeaderStyles,\n css`\n :host { display: flex;\n flex-direction: column;\n\n overflow: hidden;\n\n --grid-header-padding: 2px 0 2px 9px;\n }\n\n ox-grist { overflow-y: auto;\n flex: 1;\n }\n\n .header { 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() { return { title: i18next.t('title.data-ooc list'),\n search: { handler: (search: string) => { this.grist.searchText = search\n },\n value: this.grist?.searchText || ''\n },\n filter: { handler: () => { this.grist.toggleHeadroom()\n }\n },\n help: 'dataset/data-ooc',\n actions: [\n { title: i18next.t('button.print'),\n action: this.printOocs.bind(this),\n icon: 'print'\n }\n ],\n exportable: { name: i18next.t('title.data-ooc list'),\n data: this._exportableData.bind(this)\n },\n toolbar: false\n }\n }\n\n render() { 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) => { 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) { this.gristConfig = { list: { 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 { 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 { type: 'string',\n name: 'name',\n fixed: true,\n label: true,\n header: i18next.t('field.name'),\n record: { editable: false\n },\n filter: 'search',\n sortable: true,\n width: 120,\n imex: true\n },\n { type: 'string',\n name: 'description',\n label: true,\n header: i18next.t('field.description'),\n record: { editable: false\n },\n filter: 'search',\n width: 150,\n imex: true\n },\n { type: 'string',\n name: 'history',\n hidden: true,\n imex: true\n },\n { type: 'checkbox',\n name: 'ooc',\n header: i18next.t('field.ooc'),\n record: { editable: false\n },\n width: 30\n },\n { type: 'checkbox',\n name: 'oos',\n header: i18next.t('field.oos'),\n record: { editable: false\n },\n width: 30\n },\n { type: 'select',\n name: 'state',\n label: true,\n header: i18next.t('field.status'),\n record: { editable: false,\n options: [{ display: '', value: '' }, ...getOocStatus()]\n },\n width: 100,\n filter: true,\n imex: true\n },\n { type: 'string',\n name: 'correctiveInstruction',\n label: true,\n header: i18next.t('field.corrective-instruction'),\n record: { editable: false,\n language: 'text'\n },\n width: 150,\n imex: true\n },\n { type: 'string',\n name: 'correctiveAction',\n label: true,\n header: i18next.t('field.corrective-action'),\n record: { editable: false,\n language: 'text'\n },\n width: 150,\n imex: true\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 { type: 'string',\n name: 'key01',\n header: { renderer: i18next.t('field.key-01'),\n group: i18next.t('field.key')\n },\n record: { editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n { type: 'string',\n name: 'key02',\n header: { renderer: i18next.t('field.key-02'),\n group: i18next.t('field.key')\n },\n record: { editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n { type: 'string',\n name: 'key03',\n header: { renderer: i18next.t('field.key-03'),\n group: i18next.t('field.key')\n },\n record: { editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n { type: 'string',\n name: 'key04',\n header: { renderer: i18next.t('field.key-04'),\n group: i18next.t('field.key')\n },\n record: { editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n { type: 'string',\n name: 'key05',\n header: { renderer: i18next.t('field.key-05'),\n group: i18next.t('field.key')\n },\n record: { editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n { type: 'json5',\n name: 'partitionKeys',\n header: i18next.t('field.partition-keys'),\n record: { editable: false\n },\n width: 200,\n imex: true\n },\n { type: 'json5',\n name: 'data',\n header: i18next.t('field.data'),\n record: { editable: false\n },\n width: 200,\n imex: true\n },\n { type: 'text',\n name: 'rawData',\n header: i18next.t('field.raw-data'),\n record: { editable: false\n },\n width: 200,\n imex: true\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 { type: 'string',\n name: 'workShift',\n header: i18next.t('field.work-shift'),\n sortable: true,\n width: 40,\n imex: true\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 { type: 'resource-object',\n name: 'updater',\n header: i18next.t('field.updater'),\n sortable: true,\n width: 120,\n imex: true\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: { appendable: false,\n selectable: { multiple: true\n },\n handlers: { click: (columns, data, column, record, rowIndex) => { const popup = openPopup(\n html` <data-ooc-view data-ooc-id=${record.id} style=\"background-color: white;\"></data-ooc-view> `,\n { backdrop: true,\n size: 'large',\n title: i18next.t('title.data-ooc view')\n }\n )\n popup.onclosed = () => { // this.grist.fetch()\n }\n }\n }\n },\n sorters: [\n { name: 'collectedAt',\n desc: true\n }\n ]\n }\n }\n\n async fetchHandler({ page, limit, sortings = [], filters = [] }: FetchOption) { if (this.state) { filters = adjustFilters(filters, [{ name: 'state', operator: 'eq', value: this.state }])\n }\n\n const response = await client.query({ query: gql`\n query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) { responses: dataOocs(filters: $filters, pagination: $pagination, sortings: $sortings) { items { id\n name\n description\n useCase\n dataSet { id\n name\n }\n key01\n key02\n key03\n key04\n key05\n partitionKeys\n dataItems { 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 { id\n name\n }\n correctedAt\n corrector { id\n name\n }\n updater { id\n name\n }\n updatedAt\n collectedAt\n }\n total\n }\n }\n `,\n variables: { filters,\n pagination: { page, limit },\n sortings\n }\n })\n\n return { total: response.data.responses.total || 0,\n records: response.data.responses.items || []\n }\n }\n\n _exportableData() { let records = [] as GristRecord\n if (this.grist.selected && this.grist.selected.length > 0) { records = this.grist.selected\n } else { 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 => { return column.imex === true\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 => { return { id: item.id,\n ...this.gristConfig.columns\n .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)\n .reduce((record, column) => { 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() { const selected = this.grist.selected\n const ids = selected.map(record => record.id).join('|')\n\n GhostPrint.print({ 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/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 { GhostPrint } from '@operato/ghost-print'\n\nfunction getOocStatus() { return [\n { display: i18next.t('label.state-issued'),\n value: 'ISSUED'\n },\n { display: i18next.t('label.state-reviewed'),\n value: 'REVIEWED'\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 } from '@operato/shell'\nimport { CommonGristStyles, CommonHeaderStyles, ScrollbarStyles, WorkSurfacePageStyles } from '@operato/styles'\nimport { isMobileDevice, adjustFilters } from '@operato/utils'\n\n@customElement('data-ooc-list-page')\nexport class DataOocListPage extends p13n(localize(i18next)(PageView)) { static styles = [\n /* The work surface frame for a list screen (ADR-0060 decision 8). */\n WorkSurfacePageStyles,\n ScrollbarStyles,\n CommonGristStyles,\n CommonHeaderStyles,\n css`\n :host {\n --grid-header-padding: 2px 0 2px 9px;\n }\n\n ox-grist { overflow-y: auto;\n flex: 1;\n }\n\n .header { 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() { return { title: i18next.t('title.data-ooc list'),\n search: { handler: (search: string) => { this.grist.searchText = search\n },\n value: this.grist?.searchText || ''\n },\n filter: { handler: () => { this.grist.toggleHeadroom()\n }\n },\n help: 'dataset/data-ooc',\n actions: [\n { title: i18next.t('button.print'),\n action: this.printOocs.bind(this),\n icon: 'print'\n }\n ],\n exportable: { name: i18next.t('title.data-ooc list'),\n data: this._exportableData.bind(this)\n }\n }\n }\n\n render() { 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) => { this.state = (e.currentTarget as any)?.value\n this.grist.fetch()\n }}\n ></ox-input-select-buttons>\n </div>\n\n </div>\n\n <ox-grist-personalizer slot=\"setting\"></ox-grist-personalizer>\n </ox-grist>\n `\n }\n\n async pageInitialized(lifecycle) { this.gristConfig = { list: { 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 { 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 { type: 'string',\n name: 'name',\n fixed: true,\n label: true,\n header: i18next.t('field.name'),\n record: { editable: false\n },\n filter: 'search',\n sortable: true,\n width: 120,\n imex: true\n },\n { type: 'string',\n name: 'description',\n label: true,\n header: i18next.t('field.description'),\n record: { editable: false\n },\n filter: 'search',\n width: 150,\n imex: true\n },\n { type: 'string',\n name: 'history',\n hidden: true,\n imex: true\n },\n { type: 'checkbox',\n name: 'ooc',\n header: i18next.t('field.ooc'),\n record: { editable: false\n },\n width: 30\n },\n { type: 'checkbox',\n name: 'oos',\n header: i18next.t('field.oos'),\n record: { editable: false\n },\n width: 30\n },\n { type: 'select',\n name: 'state',\n label: true,\n header: i18next.t('field.status'),\n record: { editable: false,\n options: [{ display: '', value: '' }, ...getOocStatus()]\n },\n width: 100,\n filter: true,\n imex: true\n },\n { type: 'string',\n name: 'correctiveInstruction',\n label: true,\n header: i18next.t('field.corrective-instruction'),\n record: { editable: false,\n language: 'text'\n },\n width: 150,\n imex: true\n },\n { type: 'string',\n name: 'correctiveAction',\n label: true,\n header: i18next.t('field.corrective-action'),\n record: { editable: false,\n language: 'text'\n },\n width: 150,\n imex: true\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 { type: 'string',\n name: 'key01',\n header: { renderer: i18next.t('field.key-01'),\n group: i18next.t('field.key')\n },\n record: { editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n { type: 'string',\n name: 'key02',\n header: { renderer: i18next.t('field.key-02'),\n group: i18next.t('field.key')\n },\n record: { editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n { type: 'string',\n name: 'key03',\n header: { renderer: i18next.t('field.key-03'),\n group: i18next.t('field.key')\n },\n record: { editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n { type: 'string',\n name: 'key04',\n header: { renderer: i18next.t('field.key-04'),\n group: i18next.t('field.key')\n },\n record: { editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n { type: 'string',\n name: 'key05',\n header: { renderer: i18next.t('field.key-05'),\n group: i18next.t('field.key')\n },\n record: { editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n { type: 'json5',\n name: 'partitionKeys',\n header: i18next.t('field.partition-keys'),\n record: { editable: false\n },\n width: 200,\n imex: true\n },\n { type: 'json5',\n name: 'data',\n header: i18next.t('field.data'),\n record: { editable: false\n },\n width: 200,\n imex: true\n },\n { type: 'text',\n name: 'rawData',\n header: i18next.t('field.raw-data'),\n record: { editable: false\n },\n width: 200,\n imex: true\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 { type: 'string',\n name: 'workShift',\n header: i18next.t('field.work-shift'),\n sortable: true,\n width: 40,\n imex: true\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 { type: 'resource-object',\n name: 'updater',\n header: i18next.t('field.updater'),\n sortable: true,\n width: 120,\n imex: true\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: { appendable: false,\n selectable: { multiple: true\n },\n handlers: { click: (columns, data, column, record, rowIndex) => { const popup = openPopup(\n html` <data-ooc-view data-ooc-id=${record.id} style=\"background-color: white;\"></data-ooc-view> `,\n { backdrop: true,\n size: 'large',\n title: i18next.t('title.data-ooc view')\n }\n )\n popup.onclosed = () => { // this.grist.fetch()\n }\n }\n }\n },\n sorters: [\n { name: 'collectedAt',\n desc: true\n }\n ]\n }\n }\n\n async fetchHandler({ page, limit, sortings = [], filters = [] }: FetchOption) { if (this.state) { filters = adjustFilters(filters, [{ name: 'state', operator: 'eq', value: this.state }])\n }\n\n const response = await client.query({ query: gql`\n query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) { responses: dataOocs(filters: $filters, pagination: $pagination, sortings: $sortings) { items { id\n name\n description\n useCase\n dataSet { id\n name\n }\n key01\n key02\n key03\n key04\n key05\n partitionKeys\n dataItems { 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 { id\n name\n }\n correctedAt\n corrector { id\n name\n }\n updater { id\n name\n }\n updatedAt\n collectedAt\n }\n total\n }\n }\n `,\n variables: { filters,\n pagination: { page, limit },\n sortings\n }\n })\n\n return { total: response.data.responses.total || 0,\n records: response.data.responses.items || []\n }\n }\n\n _exportableData() { let records = [] as GristRecord\n if (this.grist.selected && this.grist.selected.length > 0) { records = this.grist.selected\n } else { 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 => { return column.imex === true\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 => { return { id: item.id,\n ...this.gristConfig.columns\n .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)\n .reduce((record, column) => { 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() { const selected = this.grist.selected\n const ids = selected.map(record => record.id).join('|')\n\n GhostPrint.print({ src: `./data-oocs?ids=${ids}`\n // pending: 200 * selected.length\n })\n }\n}\n"]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import '@material/web/icon/icon.js';
|
|
2
2
|
import '@operato/data-grist';
|
|
3
|
-
import '@operato/context/ox-context-page-toolbar.js';
|
|
4
3
|
import '@operato/board/ox-board-viewer.js';
|
|
5
4
|
import { FetchOption } from '@operato/data-grist';
|
|
6
5
|
import { PageView } from '@operato/shell';
|
|
@@ -20,7 +19,6 @@ export declare class DataReportListPage extends DataReportListPage_base {
|
|
|
20
19
|
filter: {
|
|
21
20
|
handler: () => void;
|
|
22
21
|
};
|
|
23
|
-
toolbar: boolean;
|
|
24
22
|
};
|
|
25
23
|
render(): import("lit-html").TemplateResult<1>;
|
|
26
24
|
pageInitialized(lifecycle: any): Promise<void>;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
2
|
import '@material/web/icon/icon.js';
|
|
3
3
|
import '@operato/data-grist';
|
|
4
|
-
import '@operato/context/ox-context-page-toolbar.js';
|
|
5
4
|
import '@operato/board/ox-board-viewer.js';
|
|
6
5
|
import gql from 'graphql-tag';
|
|
7
6
|
import { css, html } from 'lit';
|
|
@@ -12,7 +11,7 @@ import { client } from '@operato/graphql';
|
|
|
12
11
|
import { i18next, localize } from '@operato/i18n';
|
|
13
12
|
import { openPopup } from '@operato/layout';
|
|
14
13
|
import { navigate, PageView } from '@operato/shell';
|
|
15
|
-
import { CommonHeaderStyles, ScrollbarStyles } from '@operato/styles';
|
|
14
|
+
import { CommonHeaderStyles, ScrollbarStyles, WorkSurfacePageStyles } from '@operato/styles';
|
|
16
15
|
import { encodeUrlParams } from '@operato/utils';
|
|
17
16
|
import { provider } from '@operato/board/board-provider.js';
|
|
18
17
|
const USECASE_OPTIONS = () => {
|
|
@@ -95,20 +94,15 @@ let DataReportListPage = class DataReportListPage extends localize(i18next)(Page
|
|
|
95
94
|
this.mode = 'CARD';
|
|
96
95
|
}
|
|
97
96
|
static { this.styles = [
|
|
97
|
+
/* The work surface frame for a list screen (ADR-0060 decision 8). */
|
|
98
|
+
WorkSurfacePageStyles,
|
|
98
99
|
ScrollbarStyles,
|
|
99
100
|
CommonHeaderStyles,
|
|
100
101
|
css `
|
|
101
|
-
:host {
|
|
102
|
-
|
|
103
|
-
width: 100%;
|
|
104
|
-
|
|
102
|
+
:host {
|
|
105
103
|
--grid-record-emphasized-background-color: #8b0000;
|
|
106
104
|
--grid-record-emphasized-color: #ff6b6b;
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
ox-grist { overflow-y: auto;
|
|
110
|
-
flex: 1;
|
|
111
|
-
}
|
|
105
|
+
}
|
|
112
106
|
|
|
113
107
|
.header { grid-template-areas: 'filters actions';
|
|
114
108
|
}
|
|
@@ -124,13 +118,12 @@ let DataReportListPage = class DataReportListPage extends localize(i18next)(Page
|
|
|
124
118
|
filter: { handler: () => {
|
|
125
119
|
this.grist.toggleHeadroom();
|
|
126
120
|
}
|
|
127
|
-
}
|
|
128
|
-
toolbar: false };
|
|
121
|
+
} };
|
|
129
122
|
}
|
|
130
123
|
render() {
|
|
131
124
|
const mode = 'CARD';
|
|
132
125
|
return html `
|
|
133
|
-
<ox-grist
|
|
126
|
+
<ox-grist class="page-fill"
|
|
134
127
|
.mode=${mode}
|
|
135
128
|
.config=${this.gristConfig}
|
|
136
129
|
.fetchHandler=${this.fetchHandler.bind(this)}
|
|
@@ -141,7 +134,6 @@ let DataReportListPage = class DataReportListPage extends localize(i18next)(Page
|
|
|
141
134
|
<ox-filters-form class="filter" autofocus without-search></ox-filters-form>
|
|
142
135
|
</div>
|
|
143
136
|
|
|
144
|
-
<ox-context-page-toolbar class="actions" .context=${this.context}></ox-context-page-toolbar>
|
|
145
137
|
</div>
|
|
146
138
|
</ox-grist>
|
|
147
139
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-report-list-page.js","sourceRoot":"","sources":["../../../client/pages/data-report/data-report-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'\n\nimport gql from 'graphql-tag'\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { getRenderer, DataGrist, FetchOption } from '@operato/data-grist'\nimport { OxDataUseCase } from '@operato/dataset'\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { openPopup } from '@operato/layout'\nimport { navigate, PageView } from '@operato/shell'\nimport { CommonHeaderStyles, ScrollbarStyles } from '@operato/styles'\nimport { encodeUrlParams } from '@operato/utils'\n\nimport { provider } from '@operato/board/board-provider.js'\n\nconst USECASE_OPTIONS = () => { return ['', ...OxDataUseCase.getUseCaseNames()].map(name => { return { display: name,\n value: name\n }\n })\n}\n\nconst showMonitorView = (columns, data, column, record, rowIndex) => { const { id, name, monitorType, monitorView } = record\n const title = `${name} - ${i18next.t('title.data-monitor-view')}`\n\n switch (monitorType) { case 'generated':\n openPopup(html` <div style=\"background-color: white;\">Under construction</div> `, { backdrop: true,\n size: 'large',\n title\n })\n break\n\n case 'board':\n const board = { id: monitorView\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 { closable: true,\n backdrop: true,\n size: 'large',\n title\n }\n )\n\n // navigate(`board-viewer/${monitorView}?interactive=true&title=${title}`)\n break\n\n case 'custom-element':\n break\n\n case 'page':\n navigate(monitorView)\n break\n\n case 'external':\n window.open(monitorView, '_blank')\n break\n }\n}\n\nconst showReportView = (columns, data, column, record, rowIndex) => { const { id: datasetId, dataKeySet, name, reportType, reportView, reportTemplate } = record\n const { id: dataKeySetId } = dataKeySet || { id: '' }\n const title = `${name} - ${i18next.t('title.data-report-view')}`\n\n switch (reportType) { case 'generated':\n openPopup(html` <div style=\"background-color: white;\">Under construction</div> `, { backdrop: true,\n size: 'large',\n title\n })\n break\n\n case 'embed':\n break\n\n case 'custom-element':\n break\n\n case 'page':\n break\n\n case 'external':\n window.open(reportView, '_blank')\n break\n\n case 'jasper':\n case 'shiny':\n const encodedUrlParams = encodeUrlParams({ datasetId, dataKeySetId, reportType, reportView, reportTemplate })\n navigate(`/data-report-samples/?${encodedUrlParams}`)\n break\n\n default:\n break\n }\n}\n\n@customElement('data-report-list-page')\nexport class DataReportListPage extends localize(i18next)(PageView) { static styles = [\n ScrollbarStyles,\n CommonHeaderStyles,\n css`\n :host { 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 { overflow-y: auto;\n flex: 1;\n }\n\n .header { grid-template-areas: 'filters actions';\n }\n `\n ]\n\n @state() gristConfig: any\n @state() mode: 'CARD' | 'GRID' | 'LIST' = 'CARD'\n\n @query('ox-grist') private grist!: DataGrist\n\n get context() { return { title: i18next.t('title.data-report list'),\n help: 'dataset/data-report-list',\n search: { handler: (search: string) => { this.grist.searchText = search\n },\n value: this.grist?.searchText || ''\n },\n filter: { handler: () => { this.grist.toggleHeadroom()\n }\n },\n toolbar: false\n }\n }\n\n render() { const mode = 'CARD'\n\n return html`\n <ox-grist\n .mode=${mode}\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 class=\"filter\" autofocus without-search></ox-filters-form>\n </div>\n\n <ox-context-page-toolbar class=\"actions\" .context=${this.context}></ox-context-page-toolbar>\n </div>\n </ox-grist>\n `\n }\n\n async pageInitialized(lifecycle) { this.gristConfig = { list: { thumbnail: 'monitorView',\n fields: ['name', 'description'],\n details: ['schedule', 'type', 'useCase', 'latestCollectedAt', 'prevSchedule', 'nextSchedule']\n },\n columns: [\n { type: 'gutter',\n gutterName: 'button',\n icon: 'newspaper',\n iconOnly: false,\n title: i18next.t('button.view-report'),\n width: 100,\n handlers: { click: showReportView\n }\n },\n { type: 'gutter',\n gutterName: 'button',\n icon: 'analytics',\n iconOnly: false,\n title: i18next.t('button.view-monitor'),\n width: 110,\n handlers: { click: showMonitorView\n }\n },\n { type: 'string',\n name: 'name',\n header: i18next.t('field.name'),\n record: { editable: false\n },\n filter: 'search',\n sortable: true,\n width: 150\n },\n { type: 'string',\n name: 'description',\n header: i18next.t('field.description'),\n record: { editable: false\n },\n filter: 'search',\n width: 200\n },\n { type: 'select',\n name: 'type',\n label: true,\n header: i18next.t('field.type'),\n record: { editable: false,\n options: [\n {},\n { display: i18next.t('text.manually collected'),\n value: 'manual'\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 { type: 'select',\n name: 'useCase',\n label: true,\n header: i18next.t('field.use-case'),\n record: { editable: false,\n options: USECASE_OPTIONS\n },\n sortable: true,\n filter: { 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 { type: 'crontab',\n name: 'schedule',\n label: true,\n header: i18next.t('field.schedule'),\n record: { editable: false\n },\n width: 80\n },\n { type: 'resource-object',\n name: 'entryRole',\n header: i18next.t('field.entry-role'),\n record: { editable: false\n },\n width: 120\n },\n { type: 'resource-object',\n name: 'supervisoryRole',\n header: i18next.t('field.supervisory-role'),\n record: { editable: false\n },\n width: 120\n },\n { type: 'datetime',\n name: 'latestCollectedAt',\n label: true,\n header: i18next.t('field.latest-collected-at'),\n record: { editable: false\n },\n width: 180\n },\n { type: 'datetime',\n name: 'prevSchedule',\n label: true,\n header: i18next.t('field.prev-schedule'),\n record: { editable: false\n },\n width: 180\n },\n { type: 'datetime',\n name: 'nextSchedule',\n label: true,\n header: i18next.t('field.next-schedule'),\n record: { editable: false\n },\n width: 180\n },\n { type: 'string',\n name: 'monitorView',\n hidden: true,\n record: { editable: false,\n renderer: function (value, column, record, rowIndex, field) { const type = record.monitorType !== 'board' ? 'string' : 'image'\n\n let renderedValue\n\n if (record.monitorType === 'board' && record.entryBoard?.thumbnail) { renderedValue = record.entryBoard.thumbnail\n } else { renderedValue = html`<md-icon style=\"--md-icon-size: 64px;\">newsmode</md-icon>`\n }\n\n return getRenderer(type)(renderedValue, column, record, rowIndex, field)\n }\n }\n }\n ],\n rows: { appendable: false,\n selectable: { multiple: false\n },\n handlers: { click: showReportView\n },\n classifier: function (record, rowIndex) {}\n },\n sorters: [\n { name: 'name'\n }\n ]\n }\n }\n\n async fetchHandler({ page, limit, sortings = [], filters = [] }: FetchOption) { const response = await client.query({ query: gql`\n query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) { responses: dataSetsForReport(filters: $filters, pagination: $pagination, sortings: $sortings) { items { id\n dataKeySet { id\n name\n }\n name\n description\n partitionKeys\n active\n type\n useCase\n schedule\n timezone\n entryRole { id\n name\n }\n supervisoryRole { id\n name\n }\n monitorType\n monitorView\n monitorBoard { thumbnail\n }\n reportType\n reportView\n reportTemplate\n updater { id\n name\n }\n updatedAt\n dataItems { 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 latestCollectedAt\n nextSchedule\n prevSchedule\n nextSummarySchedule\n }\n total\n }\n }\n `,\n variables: { filters,\n pagination: { page, limit },\n sortings\n }\n })\n\n return { total: response.data.responses.total || 0,\n records: response.data.responses.items || []\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"data-report-list-page.js","sourceRoot":"","sources":["../../../client/pages/data-report/data-report-list-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@operato/data-grist'\nimport '@operato/board/ox-board-viewer.js'\n\nimport gql from 'graphql-tag'\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { getRenderer, DataGrist, FetchOption } from '@operato/data-grist'\nimport { OxDataUseCase } from '@operato/dataset'\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { openPopup } from '@operato/layout'\nimport { navigate, PageView } from '@operato/shell'\nimport { CommonHeaderStyles, ScrollbarStyles, WorkSurfacePageStyles } from '@operato/styles'\nimport { encodeUrlParams } from '@operato/utils'\n\nimport { provider } from '@operato/board/board-provider.js'\n\nconst USECASE_OPTIONS = () => { return ['', ...OxDataUseCase.getUseCaseNames()].map(name => { return { display: name,\n value: name\n }\n })\n}\n\nconst showMonitorView = (columns, data, column, record, rowIndex) => { const { id, name, monitorType, monitorView } = record\n const title = `${name} - ${i18next.t('title.data-monitor-view')}`\n\n switch (monitorType) { case 'generated':\n openPopup(html` <div style=\"background-color: white;\">Under construction</div> `, { backdrop: true,\n size: 'large',\n title\n })\n break\n\n case 'board':\n const board = { id: monitorView\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 { closable: true,\n backdrop: true,\n size: 'large',\n title\n }\n )\n\n // navigate(`board-viewer/${monitorView}?interactive=true&title=${title}`)\n break\n\n case 'custom-element':\n break\n\n case 'page':\n navigate(monitorView)\n break\n\n case 'external':\n window.open(monitorView, '_blank')\n break\n }\n}\n\nconst showReportView = (columns, data, column, record, rowIndex) => { const { id: datasetId, dataKeySet, name, reportType, reportView, reportTemplate } = record\n const { id: dataKeySetId } = dataKeySet || { id: '' }\n const title = `${name} - ${i18next.t('title.data-report-view')}`\n\n switch (reportType) { case 'generated':\n openPopup(html` <div style=\"background-color: white;\">Under construction</div> `, { backdrop: true,\n size: 'large',\n title\n })\n break\n\n case 'embed':\n break\n\n case 'custom-element':\n break\n\n case 'page':\n break\n\n case 'external':\n window.open(reportView, '_blank')\n break\n\n case 'jasper':\n case 'shiny':\n const encodedUrlParams = encodeUrlParams({ datasetId, dataKeySetId, reportType, reportView, reportTemplate })\n navigate(`/data-report-samples/?${encodedUrlParams}`)\n break\n\n default:\n break\n }\n}\n\n@customElement('data-report-list-page')\nexport class DataReportListPage extends localize(i18next)(PageView) { static styles = [\n /* The work surface frame for a list screen (ADR-0060 decision 8). */\n WorkSurfacePageStyles,\n ScrollbarStyles,\n CommonHeaderStyles,\n css`\n :host {\n --grid-record-emphasized-background-color: #8b0000;\n --grid-record-emphasized-color: #ff6b6b;\n }\n\n .header { grid-template-areas: 'filters actions';\n }\n `\n ]\n\n @state() gristConfig: any\n @state() mode: 'CARD' | 'GRID' | 'LIST' = 'CARD'\n\n @query('ox-grist') private grist!: DataGrist\n\n get context() { return { title: i18next.t('title.data-report list'),\n help: 'dataset/data-report-list',\n search: { handler: (search: string) => { this.grist.searchText = search\n },\n value: this.grist?.searchText || ''\n },\n filter: { handler: () => { this.grist.toggleHeadroom()\n }\n }\n }\n }\n\n render() { const mode = 'CARD'\n\n return html`\n <ox-grist class=\"page-fill\"\n .mode=${mode}\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 class=\"filter\" autofocus without-search></ox-filters-form>\n </div>\n\n </div>\n </ox-grist>\n `\n }\n\n async pageInitialized(lifecycle) { this.gristConfig = { list: { thumbnail: 'monitorView',\n fields: ['name', 'description'],\n details: ['schedule', 'type', 'useCase', 'latestCollectedAt', 'prevSchedule', 'nextSchedule']\n },\n columns: [\n { type: 'gutter',\n gutterName: 'button',\n icon: 'newspaper',\n iconOnly: false,\n title: i18next.t('button.view-report'),\n width: 100,\n handlers: { click: showReportView\n }\n },\n { type: 'gutter',\n gutterName: 'button',\n icon: 'analytics',\n iconOnly: false,\n title: i18next.t('button.view-monitor'),\n width: 110,\n handlers: { click: showMonitorView\n }\n },\n { type: 'string',\n name: 'name',\n header: i18next.t('field.name'),\n record: { editable: false\n },\n filter: 'search',\n sortable: true,\n width: 150\n },\n { type: 'string',\n name: 'description',\n header: i18next.t('field.description'),\n record: { editable: false\n },\n filter: 'search',\n width: 200\n },\n { type: 'select',\n name: 'type',\n label: true,\n header: i18next.t('field.type'),\n record: { editable: false,\n options: [\n {},\n { display: i18next.t('text.manually collected'),\n value: 'manual'\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 { type: 'select',\n name: 'useCase',\n label: true,\n header: i18next.t('field.use-case'),\n record: { editable: false,\n options: USECASE_OPTIONS\n },\n sortable: true,\n filter: { 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 { type: 'crontab',\n name: 'schedule',\n label: true,\n header: i18next.t('field.schedule'),\n record: { editable: false\n },\n width: 80\n },\n { type: 'resource-object',\n name: 'entryRole',\n header: i18next.t('field.entry-role'),\n record: { editable: false\n },\n width: 120\n },\n { type: 'resource-object',\n name: 'supervisoryRole',\n header: i18next.t('field.supervisory-role'),\n record: { editable: false\n },\n width: 120\n },\n { type: 'datetime',\n name: 'latestCollectedAt',\n label: true,\n header: i18next.t('field.latest-collected-at'),\n record: { editable: false\n },\n width: 180\n },\n { type: 'datetime',\n name: 'prevSchedule',\n label: true,\n header: i18next.t('field.prev-schedule'),\n record: { editable: false\n },\n width: 180\n },\n { type: 'datetime',\n name: 'nextSchedule',\n label: true,\n header: i18next.t('field.next-schedule'),\n record: { editable: false\n },\n width: 180\n },\n { type: 'string',\n name: 'monitorView',\n hidden: true,\n record: { editable: false,\n renderer: function (value, column, record, rowIndex, field) { const type = record.monitorType !== 'board' ? 'string' : 'image'\n\n let renderedValue\n\n if (record.monitorType === 'board' && record.entryBoard?.thumbnail) { renderedValue = record.entryBoard.thumbnail\n } else { renderedValue = html`<md-icon style=\"--md-icon-size: 64px;\">newsmode</md-icon>`\n }\n\n return getRenderer(type)(renderedValue, column, record, rowIndex, field)\n }\n }\n }\n ],\n rows: { appendable: false,\n selectable: { multiple: false\n },\n handlers: { click: showReportView\n },\n classifier: function (record, rowIndex) {}\n },\n sorters: [\n { name: 'name'\n }\n ]\n }\n }\n\n async fetchHandler({ page, limit, sortings = [], filters = [] }: FetchOption) { const response = await client.query({ query: gql`\n query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) { responses: dataSetsForReport(filters: $filters, pagination: $pagination, sortings: $sortings) { items { id\n dataKeySet { id\n name\n }\n name\n description\n partitionKeys\n active\n type\n useCase\n schedule\n timezone\n entryRole { id\n name\n }\n supervisoryRole { id\n name\n }\n monitorType\n monitorView\n monitorBoard { thumbnail\n }\n reportType\n reportView\n reportTemplate\n updater { id\n name\n }\n updatedAt\n dataItems { 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 latestCollectedAt\n nextSchedule\n prevSchedule\n nextSummarySchedule\n }\n total\n }\n }\n `,\n variables: { filters,\n pagination: { page, limit },\n sortings\n }\n })\n\n return { total: response.data.responses.total || 0,\n records: response.data.responses.items || []\n }\n }\n}\n"]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import '@material/web/icon/icon.js';
|
|
2
2
|
import '@operato/data-grist';
|
|
3
|
-
import '@operato/context/ox-context-page-toolbar.js';
|
|
4
3
|
import './data-sample-view.js';
|
|
5
4
|
import { FetchOption } from '@operato/data-grist';
|
|
6
5
|
import { PageView } from '@operato/shell';
|
|
@@ -42,7 +41,6 @@ export declare class DataSampleListPage extends DataSampleListPage_base {
|
|
|
42
41
|
data: any[];
|
|
43
42
|
};
|
|
44
43
|
};
|
|
45
|
-
toolbar: boolean;
|
|
46
44
|
};
|
|
47
45
|
render(): import("lit-html").TemplateResult<1>;
|
|
48
46
|
pageInitialized(lifecycle: any): Promise<void>;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
2
|
import '@material/web/icon/icon.js';
|
|
3
3
|
import '@operato/data-grist';
|
|
4
|
-
import '@operato/context/ox-context-page-toolbar.js';
|
|
5
4
|
import './data-sample-view.js';
|
|
6
5
|
import gql from 'graphql-tag';
|
|
7
6
|
import { css, html } from 'lit';
|
|
@@ -12,7 +11,7 @@ import { client } from '@operato/graphql';
|
|
|
12
11
|
import { i18next, localize } from '@operato/i18n';
|
|
13
12
|
import { openPopup } from '@operato/layout';
|
|
14
13
|
import { PageView } from '@operato/shell';
|
|
15
|
-
import { CommonGristStyles, CommonHeaderStyles, ScrollbarStyles } from '@operato/styles';
|
|
14
|
+
import { CommonGristStyles, CommonHeaderStyles, ScrollbarStyles, WorkSurfacePageStyles } from '@operato/styles';
|
|
16
15
|
import { isMobileDevice } from '@operato/utils';
|
|
17
16
|
import { GhostPrint } from '@operato/ghost-print';
|
|
18
17
|
import { p13n } from '@operato/p13n';
|
|
@@ -22,17 +21,15 @@ let DataSampleListPage = class DataSampleListPage extends p13n(localize(i18next)
|
|
|
22
21
|
this.mode = isMobileDevice() ? 'CARD' : 'GRID';
|
|
23
22
|
}
|
|
24
23
|
static { this.styles = [
|
|
24
|
+
/* The work surface frame for a list screen (ADR-0060 decision 8). */
|
|
25
|
+
WorkSurfacePageStyles,
|
|
25
26
|
ScrollbarStyles,
|
|
26
27
|
CommonGristStyles,
|
|
27
28
|
CommonHeaderStyles,
|
|
28
29
|
css `
|
|
29
|
-
:host {
|
|
30
|
-
flex-direction: column;
|
|
31
|
-
|
|
32
|
-
overflow: hidden;
|
|
33
|
-
|
|
30
|
+
:host {
|
|
34
31
|
--grid-header-padding: 2px 0 2px 9px;
|
|
35
|
-
|
|
32
|
+
}
|
|
36
33
|
|
|
37
34
|
ox-grist { overflow-y: auto;
|
|
38
35
|
flex: 1;
|
|
@@ -61,8 +58,7 @@ let DataSampleListPage = class DataSampleListPage extends p13n(localize(i18next)
|
|
|
61
58
|
],
|
|
62
59
|
exportable: { name: i18next.t('title.data-sample list'),
|
|
63
60
|
data: this._exportableData.bind(this)
|
|
64
|
-
}
|
|
65
|
-
toolbar: false };
|
|
61
|
+
} };
|
|
66
62
|
}
|
|
67
63
|
render() {
|
|
68
64
|
const mode = this.mode || (isMobileDevice() ? 'LIST' : 'GRID');
|
|
@@ -79,7 +75,6 @@ let DataSampleListPage = class DataSampleListPage extends p13n(localize(i18next)
|
|
|
79
75
|
<ox-filters-form class="filter" autofocus without-search></ox-filters-form>
|
|
80
76
|
</div>
|
|
81
77
|
|
|
82
|
-
<ox-context-page-toolbar class="actions" .context=${this.context}></ox-context-page-toolbar>
|
|
83
78
|
</div>
|
|
84
79
|
|
|
85
80
|
<ox-grist-personalizer slot="setting"></ox-grist-personalizer>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-sample-list-page.js","sourceRoot":"","sources":["../../../client/pages/data-sample/data-sample-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 './data-sample-view.js'\n\nimport gql from 'graphql-tag'\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport moment from '@operato/moment-timezone-es'\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 } from '@operato/shell'\nimport { CommonGristStyles, CommonHeaderStyles, ScrollbarStyles } from '@operato/styles'\nimport { isMobileDevice } from '@operato/utils'\nimport { GhostPrint } from '@operato/ghost-print'\n\nimport { p13n } from '@operato/p13n'\n\n@customElement('data-sample-list-page')\nexport class DataSampleListPage extends p13n(localize(i18next)(PageView)) { static styles = [\n ScrollbarStyles,\n CommonGristStyles,\n CommonHeaderStyles,\n css`\n :host { display: flex;\n flex-direction: column;\n\n overflow: hidden;\n\n --grid-header-padding: 2px 0 2px 9px;\n }\n\n ox-grist { overflow-y: auto;\n flex: 1;\n }\n\n .header { grid-template-areas: 'filters actions';\n }\n `\n ]\n\n @state() gristConfig: any\n @state() mode: 'CARD' | 'GRID' | 'LIST' = isMobileDevice() ? 'CARD' : 'GRID'\n\n @query('ox-grist') private grist!: DataGrist\n\n get context() { return { title: i18next.t('title.data-sample list'),\n search: { handler: (search: string) => { this.grist.searchText = search\n },\n value: this.grist?.searchText || ''\n },\n filter: { handler: () => { this.grist.toggleHeadroom()\n }\n },\n help: 'dataset/data-sample',\n actions: [\n { title: i18next.t('button.print'),\n action: this.printSamples.bind(this),\n icon: 'print'\n }\n ],\n exportable: { name: i18next.t('title.data-sample list'),\n data: this._exportableData.bind(this)\n },\n toolbar: false\n }\n }\n\n render() { 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 ?url-params-sensitive=${false /* this.active */}\n >\n <div slot=\"headroom\" class=\"header\">\n <div class=\"filters\">\n <ox-filters-form class=\"filter\" autofocus without-search></ox-filters-form>\n </div>\n\n <ox-context-page-toolbar class=\"actions\" .context=${this.context}></ox-context-page-toolbar>\n </div>\n\n <ox-grist-personalizer slot=\"setting\"></ox-grist-personalizer>\n </ox-grist>\n `\n }\n\n async pageInitialized(lifecycle) { const yesterday = moment().subtract(1, 'day').format('YYYY-MM-DD')\n const today = moment().format('YYYY-MM-DD')\n\n this.gristConfig = { list: { fields: ['dataSet', 'data', 'updater', 'updatedAt'] },\n columns: [\n { type: 'gutter', gutterName: 'sequence', fixed: true },\n { type: 'gutter', gutterName: 'row-selector', fixed: true, multiple: true },\n { type: 'gutter',\n gutterName: 'button',\n fixed: true,\n icon: 'assignment',\n iconOnly: false,\n title: i18next.t('button.detail'),\n width: 72\n },\n { type: 'string',\n name: 'name',\n fixed: true,\n label: true,\n header: i18next.t('field.name'),\n record: { editable: false\n },\n filter: 'search',\n sortable: true,\n width: 120,\n imex: true\n },\n { type: 'string',\n name: 'description',\n label: true,\n header: i18next.t('field.description'),\n record: { editable: false\n },\n filter: 'search',\n width: 150,\n imex: true\n },\n { type: 'string',\n name: 'key01',\n header: { renderer: i18next.t('field.key-01'),\n group: i18next.t('field.key')\n },\n record: { editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n { type: 'string',\n name: 'key02',\n header: { renderer: i18next.t('field.key-02'),\n group: i18next.t('field.key')\n },\n record: { editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n { type: 'string',\n name: 'key03',\n header: { renderer: i18next.t('field.key-03'),\n group: i18next.t('field.key')\n },\n record: { editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n { type: 'string',\n name: 'key04',\n header: { renderer: i18next.t('field.key-04'),\n group: i18next.t('field.key')\n },\n record: { editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n { type: 'string',\n name: 'key05',\n header: { renderer: i18next.t('field.key-05'),\n group: i18next.t('field.key')\n },\n record: { editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n { type: 'checkbox',\n name: 'ooc',\n header: i18next.t('field.ooc'),\n record: { editable: false\n },\n width: 30\n },\n { type: 'checkbox',\n name: 'oos',\n header: i18next.t('field.oos'),\n record: { editable: false\n },\n width: 30\n },\n { type: 'json5',\n name: 'data',\n header: i18next.t('field.data'),\n record: { editable: false\n },\n width: 200,\n imex: true\n },\n { type: 'json5',\n name: 'rawData',\n header: i18next.t('field.raw-data'),\n record: { editable: false\n },\n width: 200,\n imex: true\n },\n { type: 'string',\n name: 'workDate',\n header: i18next.t('field.work-date'),\n sortable: true,\n filter: { type: 'date',\n operator: 'between',\n value: [yesterday, today]\n },\n width: 80,\n imex: true\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 { type: 'datetime',\n name: 'collectedAt',\n header: i18next.t('field.collected-at'),\n sortable: true,\n width: 180,\n imex: true\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 { 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: { appendable: false,\n selectable: { multiple: true\n },\n classifier: function (record, rowIndex) { var emphasized\n if (record['oos']) { emphasized = ['#8B0000', 'white']\n } else if (record['ooc']) { emphasized = ['#FF6B6B', 'white']\n }\n\n return { emphasized\n }\n },\n handlers: { click: (columns, data, column, record, rowIndex) => { openPopup(\n html`\n <data-sample-view data-sample-id=${record.id} style=\"background-color: white;\"></data-sample-view>\n `,\n { backdrop: true,\n size: 'large',\n title: i18next.t('title.data-sample view')\n }\n )\n }\n }\n },\n sorters: [\n { name: 'collectedAt',\n desc: true\n }\n ]\n }\n }\n\n async fetchHandler({ page, limit, sortings = [], filters = [] }: FetchOption) { const response = await client.query({ query: gql`\n query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) { responses: dataSamples(filters: $filters, pagination: $pagination, sortings: $sortings) { items { id\n name\n description\n useCase\n key01\n key02\n key03\n key04\n key05\n data\n rawData\n ooc\n oos\n judgment\n workDate\n workShift\n updater { id\n name\n }\n updatedAt\n collectedAt\n }\n total\n }\n }\n `,\n variables: { filters,\n pagination: { page, limit },\n sortings\n }\n })\n\n return { total: response.data.responses.total || 0,\n records: response.data.responses.items || []\n }\n }\n\n _exportableData() { let records = [] as GristRecord[]\n if (this.grist.selected && this.grist.selected.length > 0) { records = this.grist.selected\n } else { 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 => { return column.imex === true\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 => { return { id: item.id,\n ...this.gristConfig.columns\n .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)\n .reduce((record, column) => { 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 printSamples() { const selected = this.grist.selected\n const ids = selected.map(record => record.id).join('|')\n\n GhostPrint.print({ src: `./data-samples?ids=${ids}`\n // pending: 200 * selected.length\n })\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"data-sample-list-page.js","sourceRoot":"","sources":["../../../client/pages/data-sample/data-sample-list-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@operato/data-grist'\nimport './data-sample-view.js'\n\nimport gql from 'graphql-tag'\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport moment from '@operato/moment-timezone-es'\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 } from '@operato/shell'\nimport { CommonGristStyles, CommonHeaderStyles, ScrollbarStyles, WorkSurfacePageStyles } from '@operato/styles'\nimport { isMobileDevice } from '@operato/utils'\nimport { GhostPrint } from '@operato/ghost-print'\n\nimport { p13n } from '@operato/p13n'\n\n@customElement('data-sample-list-page')\nexport class DataSampleListPage extends p13n(localize(i18next)(PageView)) { static styles = [\n /* The work surface frame for a list screen (ADR-0060 decision 8). */\n WorkSurfacePageStyles,\n ScrollbarStyles,\n CommonGristStyles,\n CommonHeaderStyles,\n css`\n :host {\n --grid-header-padding: 2px 0 2px 9px;\n }\n\n ox-grist { overflow-y: auto;\n flex: 1;\n }\n\n .header { grid-template-areas: 'filters actions';\n }\n `\n ]\n\n @state() gristConfig: any\n @state() mode: 'CARD' | 'GRID' | 'LIST' = isMobileDevice() ? 'CARD' : 'GRID'\n\n @query('ox-grist') private grist!: DataGrist\n\n get context() { return { title: i18next.t('title.data-sample list'),\n search: { handler: (search: string) => { this.grist.searchText = search\n },\n value: this.grist?.searchText || ''\n },\n filter: { handler: () => { this.grist.toggleHeadroom()\n }\n },\n help: 'dataset/data-sample',\n actions: [\n { title: i18next.t('button.print'),\n action: this.printSamples.bind(this),\n icon: 'print'\n }\n ],\n exportable: { name: i18next.t('title.data-sample list'),\n data: this._exportableData.bind(this)\n }\n }\n }\n\n render() { 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 ?url-params-sensitive=${false /* this.active */}\n >\n <div slot=\"headroom\" class=\"header\">\n <div class=\"filters\">\n <ox-filters-form class=\"filter\" autofocus without-search></ox-filters-form>\n </div>\n\n </div>\n\n <ox-grist-personalizer slot=\"setting\"></ox-grist-personalizer>\n </ox-grist>\n `\n }\n\n async pageInitialized(lifecycle) { const yesterday = moment().subtract(1, 'day').format('YYYY-MM-DD')\n const today = moment().format('YYYY-MM-DD')\n\n this.gristConfig = { list: { fields: ['dataSet', 'data', 'updater', 'updatedAt'] },\n columns: [\n { type: 'gutter', gutterName: 'sequence', fixed: true },\n { type: 'gutter', gutterName: 'row-selector', fixed: true, multiple: true },\n { type: 'gutter',\n gutterName: 'button',\n fixed: true,\n icon: 'assignment',\n iconOnly: false,\n title: i18next.t('button.detail'),\n width: 72\n },\n { type: 'string',\n name: 'name',\n fixed: true,\n label: true,\n header: i18next.t('field.name'),\n record: { editable: false\n },\n filter: 'search',\n sortable: true,\n width: 120,\n imex: true\n },\n { type: 'string',\n name: 'description',\n label: true,\n header: i18next.t('field.description'),\n record: { editable: false\n },\n filter: 'search',\n width: 150,\n imex: true\n },\n { type: 'string',\n name: 'key01',\n header: { renderer: i18next.t('field.key-01'),\n group: i18next.t('field.key')\n },\n record: { editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n { type: 'string',\n name: 'key02',\n header: { renderer: i18next.t('field.key-02'),\n group: i18next.t('field.key')\n },\n record: { editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n { type: 'string',\n name: 'key03',\n header: { renderer: i18next.t('field.key-03'),\n group: i18next.t('field.key')\n },\n record: { editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n { type: 'string',\n name: 'key04',\n header: { renderer: i18next.t('field.key-04'),\n group: i18next.t('field.key')\n },\n record: { editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n { type: 'string',\n name: 'key05',\n header: { renderer: i18next.t('field.key-05'),\n group: i18next.t('field.key')\n },\n record: { editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n { type: 'checkbox',\n name: 'ooc',\n header: i18next.t('field.ooc'),\n record: { editable: false\n },\n width: 30\n },\n { type: 'checkbox',\n name: 'oos',\n header: i18next.t('field.oos'),\n record: { editable: false\n },\n width: 30\n },\n { type: 'json5',\n name: 'data',\n header: i18next.t('field.data'),\n record: { editable: false\n },\n width: 200,\n imex: true\n },\n { type: 'json5',\n name: 'rawData',\n header: i18next.t('field.raw-data'),\n record: { editable: false\n },\n width: 200,\n imex: true\n },\n { type: 'string',\n name: 'workDate',\n header: i18next.t('field.work-date'),\n sortable: true,\n filter: { type: 'date',\n operator: 'between',\n value: [yesterday, today]\n },\n width: 80,\n imex: true\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 { type: 'datetime',\n name: 'collectedAt',\n header: i18next.t('field.collected-at'),\n sortable: true,\n width: 180,\n imex: true\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 { 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: { appendable: false,\n selectable: { multiple: true\n },\n classifier: function (record, rowIndex) { var emphasized\n if (record['oos']) { emphasized = ['#8B0000', 'white']\n } else if (record['ooc']) { emphasized = ['#FF6B6B', 'white']\n }\n\n return { emphasized\n }\n },\n handlers: { click: (columns, data, column, record, rowIndex) => { openPopup(\n html`\n <data-sample-view data-sample-id=${record.id} style=\"background-color: white;\"></data-sample-view>\n `,\n { backdrop: true,\n size: 'large',\n title: i18next.t('title.data-sample view')\n }\n )\n }\n }\n },\n sorters: [\n { name: 'collectedAt',\n desc: true\n }\n ]\n }\n }\n\n async fetchHandler({ page, limit, sortings = [], filters = [] }: FetchOption) { const response = await client.query({ query: gql`\n query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) { responses: dataSamples(filters: $filters, pagination: $pagination, sortings: $sortings) { items { id\n name\n description\n useCase\n key01\n key02\n key03\n key04\n key05\n data\n rawData\n ooc\n oos\n judgment\n workDate\n workShift\n updater { id\n name\n }\n updatedAt\n collectedAt\n }\n total\n }\n }\n `,\n variables: { filters,\n pagination: { page, limit },\n sortings\n }\n })\n\n return { total: response.data.responses.total || 0,\n records: response.data.responses.items || []\n }\n }\n\n _exportableData() { let records = [] as GristRecord[]\n if (this.grist.selected && this.grist.selected.length > 0) { records = this.grist.selected\n } else { 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 => { return column.imex === true\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 => { return { id: item.id,\n ...this.gristConfig.columns\n .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)\n .reduce((record, column) => { 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 printSamples() { const selected = this.grist.selected\n const ids = selected.map(record => record.id).join('|')\n\n GhostPrint.print({ src: `./data-samples?ids=${ids}`\n // pending: 200 * selected.length\n })\n }\n}\n"]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import '@material/web/icon/icon.js';
|
|
2
2
|
import '@operato/data-grist';
|
|
3
|
-
import '@operato/context/ox-context-page-toolbar.js';
|
|
4
3
|
import './data-sample-view.js';
|
|
5
4
|
import { FetchOption } from '@operato/data-grist';
|
|
6
5
|
import { PageView } from '@operato/shell';
|
|
@@ -28,7 +27,6 @@ export declare class DataSampleSearchPage extends DataSampleSearchPage_base {
|
|
|
28
27
|
action: () => void;
|
|
29
28
|
icon: string;
|
|
30
29
|
}[];
|
|
31
|
-
toolbar: boolean;
|
|
32
30
|
};
|
|
33
31
|
render(): import("lit-html").TemplateResult<1>;
|
|
34
32
|
pageUpdated(changes: any, lifecycle: any): void;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
2
|
import '@material/web/icon/icon.js';
|
|
3
3
|
import '@operato/data-grist';
|
|
4
|
-
import '@operato/context/ox-context-page-toolbar.js';
|
|
5
4
|
import './data-sample-view.js';
|
|
6
5
|
import gql from 'graphql-tag';
|
|
7
6
|
import { css, html } from 'lit';
|
|
@@ -12,7 +11,7 @@ import { client } from '@operato/graphql';
|
|
|
12
11
|
import { i18next, localize } from '@operato/i18n';
|
|
13
12
|
import { openPopup } from '@operato/layout';
|
|
14
13
|
import { PageView } from '@operato/shell';
|
|
15
|
-
import { CommonHeaderStyles, ScrollbarStyles } from '@operato/styles';
|
|
14
|
+
import { CommonHeaderStyles, ScrollbarStyles, WorkSurfacePageStyles } from '@operato/styles';
|
|
16
15
|
import { isMobileDevice } from '@operato/utils';
|
|
17
16
|
import { GhostPrint } from '@operato/ghost-print';
|
|
18
17
|
let DataSampleSearchPage = class DataSampleSearchPage extends localize(i18next)(PageView) {
|
|
@@ -21,14 +20,11 @@ let DataSampleSearchPage = class DataSampleSearchPage extends localize(i18next)(
|
|
|
21
20
|
this.mode = isMobileDevice() ? 'CARD' : 'GRID';
|
|
22
21
|
}
|
|
23
22
|
static { this.styles = [
|
|
23
|
+
/* The work surface frame for a list screen (ADR-0060 decision 8). */
|
|
24
|
+
WorkSurfacePageStyles,
|
|
24
25
|
ScrollbarStyles,
|
|
25
26
|
CommonHeaderStyles,
|
|
26
27
|
css `
|
|
27
|
-
:host { display: flex;
|
|
28
|
-
flex-direction: column;
|
|
29
|
-
|
|
30
|
-
overflow: hidden;
|
|
31
|
-
}
|
|
32
28
|
|
|
33
29
|
ox-grist { overflow-y: auto;
|
|
34
30
|
flex: 1;
|
|
@@ -57,8 +53,8 @@ let DataSampleSearchPage = class DataSampleSearchPage extends localize(i18next)(
|
|
|
57
53
|
],
|
|
58
54
|
// exportable: { // name: i18next.t('title.data-sample search'),
|
|
59
55
|
// data: this._exportableData.bind(this)
|
|
60
|
-
// }
|
|
61
|
-
|
|
56
|
+
// }
|
|
57
|
+
};
|
|
62
58
|
}
|
|
63
59
|
render() {
|
|
64
60
|
const mode = this.mode || (isMobileDevice() ? 'LIST' : 'GRID');
|
|
@@ -69,7 +65,6 @@ let DataSampleSearchPage = class DataSampleSearchPage extends localize(i18next)(
|
|
|
69
65
|
<ox-filters-form class="filter" autofocus without-search></ox-filters-form>
|
|
70
66
|
</div>
|
|
71
67
|
|
|
72
|
-
<ox-context-page-toolbar class="actions" .context=${this.context}></ox-context-page-toolbar>
|
|
73
68
|
</div>
|
|
74
69
|
</ox-grist>
|
|
75
70
|
`;
|