@things-factory/dataset 6.2.177 → 6.2.178

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 (224) hide show
  1. package/client/pages/data-archive/data-archive-request-popup.ts +1 -1
  2. package/client/pages/data-entry/data-entry-list-page.ts +1 -1
  3. package/client/pages/data-report/data-report-list-page.ts +1 -1
  4. package/dist-client/activities/activity-data-collect-edit.js.map +1 -1
  5. package/dist-client/activities/activity-data-collect-view.js.map +1 -1
  6. package/dist-client/activities/activity-data-review-edit.js.map +1 -1
  7. package/dist-client/activities/activity-data-review-view.js.map +1 -1
  8. package/dist-client/activities/activity-ooc-resolve-edit.js.map +1 -1
  9. package/dist-client/activities/activity-ooc-resolve-view.js.map +1 -1
  10. package/dist-client/activities/activity-ooc-review-edit.js.map +1 -1
  11. package/dist-client/activities/activity-ooc-review-view.js.map +1 -1
  12. package/dist-client/components/data-entry-form.js.map +1 -1
  13. package/dist-client/pages/data-archive/data-archive-list-page.js.map +1 -1
  14. package/dist-client/pages/data-archive/data-archive-request-popup.js +1 -1
  15. package/dist-client/pages/data-archive/data-archive-request-popup.js.map +1 -1
  16. package/dist-client/pages/data-entry/data-entry-list-page.js +1 -1
  17. package/dist-client/pages/data-entry/data-entry-list-page.js.map +1 -1
  18. package/dist-client/pages/data-key-set/data-key-item-list.js.map +1 -1
  19. package/dist-client/pages/data-key-set/data-key-set-importer.js.map +1 -1
  20. package/dist-client/pages/data-key-set/data-key-set-list-page.js.map +1 -1
  21. package/dist-client/pages/data-ooc/data-ooc-list-page.js.map +1 -1
  22. package/dist-client/pages/data-ooc/data-ooc-page.js.map +1 -1
  23. package/dist-client/pages/data-ooc/data-ooc-view.js.map +1 -1
  24. package/dist-client/pages/data-ooc/data-oocs-page.js.map +1 -1
  25. package/dist-client/pages/data-report/data-report-embed-page.js.map +1 -1
  26. package/dist-client/pages/data-report/data-report-list-page.js +1 -1
  27. package/dist-client/pages/data-report/data-report-list-page.js.map +1 -1
  28. package/dist-client/pages/data-report/data-report-samples-page.js.map +1 -1
  29. package/dist-client/pages/data-report/jasper-report-oocs-page.js.map +1 -1
  30. package/dist-client/pages/data-report/jasper-report-samples-crosstab-page.js.map +1 -1
  31. package/dist-client/pages/data-report/jasper-report-samples-page.js.map +1 -1
  32. package/dist-client/pages/data-sample/data-sample-list-page.js.map +1 -1
  33. package/dist-client/pages/data-sample/data-sample-page.js.map +1 -1
  34. package/dist-client/pages/data-sample/data-sample-search-page.js.map +1 -1
  35. package/dist-client/pages/data-sample/data-sample-view.js.map +1 -1
  36. package/dist-client/pages/data-sample/data-samples-page.js.map +1 -1
  37. package/dist-client/pages/data-sensor/data-sensor-list-page.js.map +1 -1
  38. package/dist-client/pages/data-set/data-item-list.js.map +1 -1
  39. package/dist-client/pages/data-set/data-set-importer.js.map +1 -1
  40. package/dist-client/pages/data-set/data-set-list-page.js.map +1 -1
  41. package/dist-client/pages/data-summary/data-summary-list-page.js.map +1 -1
  42. package/dist-client/pages/data-summary/data-summary-period-page.js.map +1 -1
  43. package/dist-client/pages/data-summary/data-summary-search-page.js.map +1 -1
  44. package/dist-client/pages/data-summary/data-summary-view.js.map +1 -1
  45. package/dist-client/route.js.map +1 -1
  46. package/dist-client/tsconfig.tsbuildinfo +1 -1
  47. package/dist-server/activities/activity-data-collect.d.ts +41 -0
  48. package/dist-server/activities/activity-data-collect.js +3 -3
  49. package/dist-server/activities/activity-data-collect.js.map +1 -1
  50. package/dist-server/activities/activity-data-review.d.ts +41 -0
  51. package/dist-server/activities/activity-data-review.js.map +1 -1
  52. package/dist-server/activities/activity-ooc-resolve.d.ts +41 -0
  53. package/dist-server/activities/activity-ooc-resolve.js.map +1 -1
  54. package/dist-server/activities/activity-ooc-review.d.ts +41 -0
  55. package/dist-server/activities/activity-ooc-review.js.map +1 -1
  56. package/dist-server/activities/index.d.ts +1 -0
  57. package/dist-server/activities/index.js +1 -1
  58. package/dist-server/activities/index.js.map +1 -1
  59. package/dist-server/controllers/create-data-sample.d.ts +3 -0
  60. package/dist-server/controllers/create-data-sample.js +1 -2
  61. package/dist-server/controllers/create-data-sample.js.map +1 -1
  62. package/dist-server/controllers/data-use-case.d.ts +36 -0
  63. package/dist-server/controllers/data-use-case.js.map +1 -1
  64. package/dist-server/controllers/finalize-data-collection.d.ts +4 -0
  65. package/dist-server/controllers/finalize-data-collection.js +4 -5
  66. package/dist-server/controllers/finalize-data-collection.js.map +1 -1
  67. package/dist-server/controllers/index.d.ts +3 -0
  68. package/dist-server/controllers/issue-collect-data.d.ts +2 -0
  69. package/dist-server/controllers/issue-collect-data.js +1 -2
  70. package/dist-server/controllers/issue-collect-data.js.map +1 -1
  71. package/dist-server/controllers/jasper-report.d.ts +1 -0
  72. package/dist-server/controllers/jasper-report.js +1 -2
  73. package/dist-server/controllers/jasper-report.js.map +1 -1
  74. package/dist-server/controllers/query-data-summary-by-period.d.ts +3 -0
  75. package/dist-server/controllers/query-data-summary-by-period.js +1 -2
  76. package/dist-server/controllers/query-data-summary-by-period.js.map +1 -1
  77. package/dist-server/controllers/shiny-report.d.ts +1 -0
  78. package/dist-server/controllers/shiny-report.js +1 -2
  79. package/dist-server/controllers/shiny-report.js.map +1 -1
  80. package/dist-server/engine/index.d.ts +1 -0
  81. package/dist-server/engine/task/create-data-sample.d.ts +1 -0
  82. package/dist-server/engine/task/create-data-sample.js.map +1 -1
  83. package/dist-server/engine/task/index.d.ts +2 -0
  84. package/dist-server/engine/task/issue-collect-data.d.ts +1 -0
  85. package/dist-server/engine/task/issue-collect-data.js.map +1 -1
  86. package/dist-server/index.d.ts +6 -0
  87. package/dist-server/routes.d.ts +1 -0
  88. package/dist-server/routes.js.map +1 -1
  89. package/dist-server/service/data-archive/data-archive-mutation.d.ts +16 -0
  90. package/dist-server/service/data-archive/data-archive-mutation.js +2 -2
  91. package/dist-server/service/data-archive/data-archive-mutation.js.map +1 -1
  92. package/dist-server/service/data-archive/data-archive-query.d.ts +11 -0
  93. package/dist-server/service/data-archive/data-archive-query.js +2 -2
  94. package/dist-server/service/data-archive/data-archive-query.js.map +1 -1
  95. package/dist-server/service/data-archive/data-archive-type.d.ts +23 -0
  96. package/dist-server/service/data-archive/data-archive-type.js +6 -6
  97. package/dist-server/service/data-archive/data-archive-type.js.map +1 -1
  98. package/dist-server/service/data-archive/data-archive.d.ts +19 -0
  99. package/dist-server/service/data-archive/data-archive.js +2 -2
  100. package/dist-server/service/data-archive/data-archive.js.map +1 -1
  101. package/dist-server/service/data-archive/index.d.ts +5 -0
  102. package/dist-server/service/data-key-set/data-key-item-type.d.ts +12 -0
  103. package/dist-server/service/data-key-set/data-key-item-type.js +4 -4
  104. package/dist-server/service/data-key-set/data-key-item-type.js.map +1 -1
  105. package/dist-server/service/data-key-set/data-key-set-mutation.d.ts +10 -0
  106. package/dist-server/service/data-key-set/data-key-set-mutation.js +2 -2
  107. package/dist-server/service/data-key-set/data-key-set-mutation.js.map +1 -1
  108. package/dist-server/service/data-key-set/data-key-set-query.d.ts +12 -0
  109. package/dist-server/service/data-key-set/data-key-set-query.js +2 -2
  110. package/dist-server/service/data-key-set/data-key-set-query.js.map +1 -1
  111. package/dist-server/service/data-key-set/data-key-set-type.d.ts +28 -0
  112. package/dist-server/service/data-key-set/data-key-set-type.js +6 -6
  113. package/dist-server/service/data-key-set/data-key-set-type.js.map +1 -1
  114. package/dist-server/service/data-key-set/data-key-set.d.ts +22 -0
  115. package/dist-server/service/data-key-set/data-key-set.js +2 -2
  116. package/dist-server/service/data-key-set/data-key-set.js.map +1 -1
  117. package/dist-server/service/data-key-set/index.d.ts +5 -0
  118. package/dist-server/service/data-ooc/data-ooc-mutation.d.ts +6 -0
  119. package/dist-server/service/data-ooc/data-ooc-mutation.js +2 -2
  120. package/dist-server/service/data-ooc/data-ooc-mutation.js.map +1 -1
  121. package/dist-server/service/data-ooc/data-ooc-query.d.ts +22 -0
  122. package/dist-server/service/data-ooc/data-ooc-query.js +2 -2
  123. package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -1
  124. package/dist-server/service/data-ooc/data-ooc-subscription.d.ts +7 -0
  125. package/dist-server/service/data-ooc/data-ooc-subscription.js +2 -2
  126. package/dist-server/service/data-ooc/data-ooc-subscription.js.map +1 -1
  127. package/dist-server/service/data-ooc/data-ooc-type.d.ts +27 -0
  128. package/dist-server/service/data-ooc/data-ooc-type.js +6 -6
  129. package/dist-server/service/data-ooc/data-ooc-type.js.map +1 -1
  130. package/dist-server/service/data-ooc/data-ooc.d.ts +63 -0
  131. package/dist-server/service/data-ooc/data-ooc.js +5 -6
  132. package/dist-server/service/data-ooc/data-ooc.js.map +1 -1
  133. package/dist-server/service/data-ooc/index.d.ts +6 -0
  134. package/dist-server/service/data-sample/data-sample-mutation.d.ts +5 -0
  135. package/dist-server/service/data-sample/data-sample-mutation.js +2 -2
  136. package/dist-server/service/data-sample/data-sample-mutation.js.map +1 -1
  137. package/dist-server/service/data-sample/data-sample-query.d.ts +22 -0
  138. package/dist-server/service/data-sample/data-sample-query.js +2 -2
  139. package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
  140. package/dist-server/service/data-sample/data-sample-type.d.ts +18 -0
  141. package/dist-server/service/data-sample/data-sample-type.js +4 -4
  142. package/dist-server/service/data-sample/data-sample-type.js.map +1 -1
  143. package/dist-server/service/data-sample/data-sample.d.ts +45 -0
  144. package/dist-server/service/data-sample/data-sample.js +3 -4
  145. package/dist-server/service/data-sample/data-sample.js.map +1 -1
  146. package/dist-server/service/data-sample/index.d.ts +5 -0
  147. package/dist-server/service/data-sensor/data-sensor-mutation.d.ts +9 -0
  148. package/dist-server/service/data-sensor/data-sensor-mutation.js +2 -2
  149. package/dist-server/service/data-sensor/data-sensor-mutation.js.map +1 -1
  150. package/dist-server/service/data-sensor/data-sensor-query.d.ts +16 -0
  151. package/dist-server/service/data-sensor/data-sensor-query.js +2 -2
  152. package/dist-server/service/data-sensor/data-sensor-query.js.map +1 -1
  153. package/dist-server/service/data-sensor/data-sensor-type.d.ts +38 -0
  154. package/dist-server/service/data-sensor/data-sensor-type.js +6 -6
  155. package/dist-server/service/data-sensor/data-sensor-type.js.map +1 -1
  156. package/dist-server/service/data-sensor/data-sensor.d.ts +31 -0
  157. package/dist-server/service/data-sensor/data-sensor.js +3 -4
  158. package/dist-server/service/data-sensor/data-sensor.js.map +1 -1
  159. package/dist-server/service/data-sensor/index.d.ts +5 -0
  160. package/dist-server/service/data-set/data-item-type.d.ts +59 -0
  161. package/dist-server/service/data-set/data-item-type.js +6 -6
  162. package/dist-server/service/data-set/data-item-type.js.map +1 -1
  163. package/dist-server/service/data-set/data-set-mutation.d.ts +19 -0
  164. package/dist-server/service/data-set/data-set-mutation.js +2 -2
  165. package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
  166. package/dist-server/service/data-set/data-set-query.d.ts +36 -0
  167. package/dist-server/service/data-set/data-set-query.js +2 -3
  168. package/dist-server/service/data-set/data-set-query.js.map +1 -1
  169. package/dist-server/service/data-set/data-set-type.d.ts +74 -0
  170. package/dist-server/service/data-set/data-set-type.js +6 -6
  171. package/dist-server/service/data-set/data-set-type.js.map +1 -1
  172. package/dist-server/service/data-set/data-set.d.ts +92 -0
  173. package/dist-server/service/data-set/data-set.js +10 -11
  174. package/dist-server/service/data-set/data-set.js.map +1 -1
  175. package/dist-server/service/data-set/index.d.ts +5 -0
  176. package/dist-server/service/data-set-history/data-set-history-query.d.ts +21 -0
  177. package/dist-server/service/data-set-history/data-set-history-query.js +2 -2
  178. package/dist-server/service/data-set-history/data-set-history-query.js.map +1 -1
  179. package/dist-server/service/data-set-history/data-set-history-type.d.ts +5 -0
  180. package/dist-server/service/data-set-history/data-set-history-type.js +2 -2
  181. package/dist-server/service/data-set-history/data-set-history-type.js.map +1 -1
  182. package/dist-server/service/data-set-history/data-set-history.d.ts +53 -0
  183. package/dist-server/service/data-set-history/data-set-history.js +2 -2
  184. package/dist-server/service/data-set-history/data-set-history.js.map +1 -1
  185. package/dist-server/service/data-set-history/event-subscriber.d.ts +7 -0
  186. package/dist-server/service/data-set-history/event-subscriber.js +2 -2
  187. package/dist-server/service/data-set-history/event-subscriber.js.map +1 -1
  188. package/dist-server/service/data-set-history/index.d.ts +6 -0
  189. package/dist-server/service/data-spec/data-spec-manager.d.ts +10 -0
  190. package/dist-server/service/data-spec/data-spec-query.d.ts +5 -0
  191. package/dist-server/service/data-spec/data-spec-query.js +2 -2
  192. package/dist-server/service/data-spec/data-spec-query.js.map +1 -1
  193. package/dist-server/service/data-spec/data-spec.d.ts +19 -0
  194. package/dist-server/service/data-spec/data-spec.js +6 -6
  195. package/dist-server/service/data-spec/data-spec.js.map +1 -1
  196. package/dist-server/service/data-spec/index.d.ts +4 -0
  197. package/dist-server/service/data-summary/data-summary-mutation.d.ts +6 -0
  198. package/dist-server/service/data-summary/data-summary-mutation.js +2 -2
  199. package/dist-server/service/data-summary/data-summary-mutation.js.map +1 -1
  200. package/dist-server/service/data-summary/data-summary-query.d.ts +19 -0
  201. package/dist-server/service/data-summary/data-summary-query.js +2 -2
  202. package/dist-server/service/data-summary/data-summary-query.js.map +1 -1
  203. package/dist-server/service/data-summary/data-summary-type.d.ts +33 -0
  204. package/dist-server/service/data-summary/data-summary-type.js +8 -8
  205. package/dist-server/service/data-summary/data-summary-type.js.map +1 -1
  206. package/dist-server/service/data-summary/data-summary.d.ts +38 -0
  207. package/dist-server/service/data-summary/data-summary.js +2 -2
  208. package/dist-server/service/data-summary/data-summary.js.map +1 -1
  209. package/dist-server/service/data-summary/index.d.ts +6 -0
  210. package/dist-server/service/index.d.ts +14 -0
  211. package/dist-server/tsconfig.tsbuildinfo +1 -1
  212. package/dist-server/utils/config-resolver.d.ts +1 -0
  213. package/dist-server/utils/config-resolver.js +1 -2
  214. package/dist-server/utils/config-resolver.js.map +1 -1
  215. package/dist-server/utils/index.d.ts +1 -0
  216. package/package.json +11 -11
  217. package/server/activities/activity-data-collect.ts +1 -1
  218. package/server/activities/index.ts +1 -1
  219. package/server/controllers/create-data-sample.ts +2 -2
  220. package/server/controllers/finalize-data-collection.ts +1 -1
  221. package/server/controllers/issue-collect-data.ts +1 -1
  222. package/server/engine/task/create-data-sample.ts +1 -1
  223. package/server/service/data-set/data-set-mutation.ts +1 -1
  224. package/server/service/data-set/data-set-query.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"jasper-report-oocs-page.js","sourceRoot":"","sources":["../../../client/pages/data-report/jasper-report-oocs-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/data-grist'\nimport '@operato/form'\n\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\nimport { PageView } from '@operato/shell'\nimport { i18next, localize } from '@operato/i18n'\nimport { CommonButtonStyles, ScrollbarStyles } from '@operato/styles'\n\n@customElement('jasper-report-oocs-page')\nclass JasperReportOocsPage extends localize(i18next)(PageView) {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n padding: 0;\n }\n\n #container {\n flex: 1;\n padding: 0;\n margin: 0;\n border: 0;\n }\n `\n ]\n\n @query('iframe') container!: HTMLIFrameElement\n\n get context() {\n const filters = [\n {\n name: 'workDateRange',\n type: 'date',\n label: 'date',\n operator: 'between'\n }\n ]\n var actions = [\n {\n title: i18next.t('button.print'),\n action: () => {\n this.container.contentWindow?.print()\n },\n ...CommonButtonStyles.print\n }\n ]\n return {\n title: 'jasper-report',\n actions,\n filters\n }\n }\n\n render() {\n return html`\n <ox-filters-form-base\n .filters=${this.context.filters}\n @filters-change=${e => {\n console.log('filters changed', e.detail)\n this._reportTemplate(e.detail.filters)\n }}\n ?url-params-sensitive=${this.active}\n ></ox-filters-form-base>\n <iframe id=\"container\"></iframe>\n `\n }\n\n async pageUpdated(changes, lifecycle) {\n if (this.active) {\n this.updateContext()\n }\n }\n\n async _reportTemplate(filters) {\n const params = filters.reduce((acc, curr) => ((acc[curr.name] = curr.value), acc), {})\n Object.assign(params, this.lifecycle.params)\n\n const { workDateRange, workShift, template } = params\n\n /** ignoring date conditions */\n if (!workDateRange[0] || !workDateRange[1] || workDateRange[0] > workDateRange[1]) {\n return\n }\n\n /** urlencoded params including test values */\n const urlParams = {\n table: 'ooc',\n dataSetId: this.lifecycle.resourceId,\n fromWorkDate: workDateRange[0],\n toWorkDate: workDateRange[1],\n workShift,\n template,\n templateType: 'normal'\n }\n\n const encodedUrlParams = Object.keys(urlParams)\n .filter(key => {\n // ignore empty\n return !!urlParams[key]\n })\n .map(key => `${key}=${encodeURIComponent(urlParams[key])}`)\n .join('&')\n\n this.container.src = `/data-report/jasper?${encodedUrlParams}`\n }\n}\n"]}
1
+ {"version":3,"file":"jasper-report-oocs-page.js","sourceRoot":"","sources":["../../../client/pages/data-report/jasper-report-oocs-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/data-grist'\nimport '@operato/form'\n\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\nimport { PageView } from '@operato/shell'\nimport { i18next, localize } from '@operato/i18n'\nimport { CommonButtonStyles, ScrollbarStyles } from '@operato/styles'\n\n@customElement('jasper-report-oocs-page')\nclass JasperReportOocsPage extends localize(i18next)(PageView) {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n padding: 0;\n }\n\n #container {\n flex: 1;\n padding: 0;\n margin: 0;\n border: 0;\n }\n `\n ]\n\n @query('iframe') container!: HTMLIFrameElement\n\n get context() {\n const filters = [\n {\n name: 'workDateRange',\n type: 'date',\n label: 'date',\n operator: 'between'\n }\n ]\n var actions = [\n {\n title: i18next.t('button.print'),\n action: () => {\n this.container.contentWindow?.print()\n },\n ...CommonButtonStyles.print\n }\n ]\n return {\n title: 'jasper-report',\n actions,\n filters\n }\n }\n\n render() {\n return html`\n <ox-filters-form-base\n .filters=${this.context.filters}\n @filters-change=${e => {\n console.log('filters changed', e.detail)\n this._reportTemplate(e.detail.filters)\n }}\n ?url-params-sensitive=${this.active}\n ></ox-filters-form-base>\n <iframe id=\"container\"></iframe>\n `\n }\n\n async pageUpdated(changes, lifecycle) {\n if (this.active) {\n this.updateContext()\n }\n }\n\n async _reportTemplate(filters) {\n const params = filters.reduce((acc, curr) => ((acc[curr.name] = curr.value), acc), {})\n Object.assign(params, this.lifecycle.params)\n\n const { workDateRange, workShift, template } = params\n\n /** ignoring date conditions */\n if (!workDateRange[0] || !workDateRange[1] || workDateRange[0] > workDateRange[1]) {\n return\n }\n\n /** urlencoded params including test values */\n const urlParams = {\n table: 'ooc',\n dataSetId: this.lifecycle.resourceId,\n fromWorkDate: workDateRange[0],\n toWorkDate: workDateRange[1],\n workShift,\n template,\n templateType: 'normal'\n }\n\n const encodedUrlParams = Object.keys(urlParams)\n .filter(key => {\n // ignore empty\n return !!urlParams[key]\n })\n .map(key => `${key}=${encodeURIComponent(urlParams[key])}`)\n .join('&')\n\n this.container.src = `/data-report/jasper?${encodedUrlParams}`\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"jasper-report-samples-crosstab-page.js","sourceRoot":"","sources":["../../../client/pages/data-report/jasper-report-samples-crosstab-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/data-grist'\nimport '@operato/form'\n\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\nimport { PageView } from '@operato/shell'\nimport { i18next, localize } from '@operato/i18n'\nimport { CommonButtonStyles, ScrollbarStyles } from '@operato/styles'\n\n@customElement('jasper-report-samples-crosstab-page')\nclass JasperReportSamplesCrosstabPage extends localize(i18next)(PageView) {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n padding: 0;\n }\n\n #container {\n flex: 1;\n padding: 0;\n margin: 0;\n border: 0;\n }\n `\n ]\n\n @query('iframe') container!: HTMLIFrameElement\n\n get context() {\n const filters = [\n {\n name: 'workDateRange',\n type: 'date',\n label: 'date',\n operator: 'between'\n }\n ]\n var actions = [\n {\n title: i18next.t('button.print'),\n action: () => {\n this.container.contentWindow?.print()\n },\n ...CommonButtonStyles.print\n }\n ]\n return {\n title: 'jasper-report',\n actions,\n filters\n }\n }\n\n render() {\n return html`\n <ox-filters-form-base\n .filters=${this.context.filters}\n @filters-change=${e => {\n console.log('filters changed', e.detail)\n this._reportTemplate(e.detail.filters)\n }}\n ?url-params-sensitive=${this.active}\n ></ox-filters-form-base>\n <iframe id=\"container\"></iframe>\n `\n }\n\n async pageUpdated(changes, lifecycle) {\n if (this.active) {\n this.updateContext()\n }\n }\n\n async _reportTemplate(filters) {\n const params = filters.reduce((acc, curr) => ((acc[curr.name] = curr.value), acc), {})\n Object.assign(params, this.lifecycle.params)\n\n const { workDateRange, workShift, template } = params\n\n /** ignoring date conditions */\n if (!workDateRange[0] || !workDateRange[1] || workDateRange[0] > workDateRange[1]) {\n return\n }\n\n /** urlencoded params including test values */\n const urlParams = {\n table: 'samples',\n dataSetId: this.lifecycle.resourceId,\n fromWorkDate: workDateRange[0],\n toWorkDate: workDateRange[1],\n workShift,\n template,\n templateType: 'crosstab'\n }\n\n const encodedUrlParams = Object.keys(urlParams)\n .filter(key => {\n // ignore empty\n return !!urlParams[key]\n })\n .map(key => `${key}=${encodeURIComponent(urlParams[key])}`)\n .join('&')\n\n this.container.src = `/data-report/jasper?${encodedUrlParams}`\n }\n}\n"]}
1
+ {"version":3,"file":"jasper-report-samples-crosstab-page.js","sourceRoot":"","sources":["../../../client/pages/data-report/jasper-report-samples-crosstab-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/data-grist'\nimport '@operato/form'\n\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\nimport { PageView } from '@operato/shell'\nimport { i18next, localize } from '@operato/i18n'\nimport { CommonButtonStyles, ScrollbarStyles } from '@operato/styles'\n\n@customElement('jasper-report-samples-crosstab-page')\nclass JasperReportSamplesCrosstabPage extends localize(i18next)(PageView) {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n padding: 0;\n }\n\n #container {\n flex: 1;\n padding: 0;\n margin: 0;\n border: 0;\n }\n `\n ]\n\n @query('iframe') container!: HTMLIFrameElement\n\n get context() {\n const filters = [\n {\n name: 'workDateRange',\n type: 'date',\n label: 'date',\n operator: 'between'\n }\n ]\n var actions = [\n {\n title: i18next.t('button.print'),\n action: () => {\n this.container.contentWindow?.print()\n },\n ...CommonButtonStyles.print\n }\n ]\n return {\n title: 'jasper-report',\n actions,\n filters\n }\n }\n\n render() {\n return html`\n <ox-filters-form-base\n .filters=${this.context.filters}\n @filters-change=${e => {\n console.log('filters changed', e.detail)\n this._reportTemplate(e.detail.filters)\n }}\n ?url-params-sensitive=${this.active}\n ></ox-filters-form-base>\n <iframe id=\"container\"></iframe>\n `\n }\n\n async pageUpdated(changes, lifecycle) {\n if (this.active) {\n this.updateContext()\n }\n }\n\n async _reportTemplate(filters) {\n const params = filters.reduce((acc, curr) => ((acc[curr.name] = curr.value), acc), {})\n Object.assign(params, this.lifecycle.params)\n\n const { workDateRange, workShift, template } = params\n\n /** ignoring date conditions */\n if (!workDateRange[0] || !workDateRange[1] || workDateRange[0] > workDateRange[1]) {\n return\n }\n\n /** urlencoded params including test values */\n const urlParams = {\n table: 'samples',\n dataSetId: this.lifecycle.resourceId,\n fromWorkDate: workDateRange[0],\n toWorkDate: workDateRange[1],\n workShift,\n template,\n templateType: 'crosstab'\n }\n\n const encodedUrlParams = Object.keys(urlParams)\n .filter(key => {\n // ignore empty\n return !!urlParams[key]\n })\n .map(key => `${key}=${encodeURIComponent(urlParams[key])}`)\n .join('&')\n\n this.container.src = `/data-report/jasper?${encodedUrlParams}`\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"jasper-report-samples-page.js","sourceRoot":"","sources":["../../../client/pages/data-report/jasper-report-samples-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/data-grist'\nimport '@operato/form'\n\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\nimport { PageView } from '@operato/shell'\nimport { i18next, localize } from '@operato/i18n'\nimport { CommonButtonStyles, ScrollbarStyles } from '@operato/styles'\n\n@customElement('jasper-report-samples-page')\nclass JasperReportSamplesPage extends localize(i18next)(PageView) {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n padding: 0;\n }\n\n #container {\n flex: 1;\n padding: 0;\n margin: 0;\n border: 0;\n }\n `\n ]\n\n @query('iframe') container!: HTMLIFrameElement\n\n get context() {\n const filters = [\n {\n name: 'workDateRange',\n type: 'date',\n label: 'date',\n operator: 'between'\n }\n ]\n var actions = [\n {\n title: i18next.t('button.print'),\n action: () => {\n this.container.contentWindow?.print()\n },\n ...CommonButtonStyles.print\n }\n ]\n return {\n title: 'jasper-report',\n actions,\n filters\n }\n }\n\n render() {\n return html`\n <ox-filters-form-base\n .filters=${this.context.filters}\n @filters-change=${e => {\n console.log('filters changed', e.detail)\n this._reportTemplate(e.detail.filters)\n }}\n ?url-params-sensitive=${this.active}\n ></ox-filters-form-base>\n <iframe id=\"container\"></iframe>\n `\n }\n\n async pageUpdated(changes, lifecycle) {\n if (this.active) {\n this.updateContext()\n }\n }\n\n async _reportTemplate(filters) {\n const params = filters.reduce((acc, curr) => ((acc[curr.name] = curr.value), acc), {})\n Object.assign(params, this.lifecycle.params)\n\n const { workDateRange, workShift, template } = params\n\n /** ignoring date conditions */\n if (!workDateRange[0] || !workDateRange[1] || workDateRange[0] > workDateRange[1]) {\n return\n }\n\n /** urlencoded params including test values */\n const urlParams = {\n table: 'samples',\n dataSetId: this.lifecycle.resourceId,\n fromWorkDate: workDateRange[0],\n toWorkDate: workDateRange[1],\n workShift,\n template,\n templateType: 'normal'\n }\n\n const encodedUrlParams = Object.keys(urlParams)\n .filter(key => {\n // ignore empty\n return !!urlParams[key]\n })\n .map(key => `${key}=${encodeURIComponent(urlParams[key])}`)\n .join('&')\n\n this.container.src = `/data-report/jasper?${encodedUrlParams}`\n }\n}\n"]}
1
+ {"version":3,"file":"jasper-report-samples-page.js","sourceRoot":"","sources":["../../../client/pages/data-report/jasper-report-samples-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/data-grist'\nimport '@operato/form'\n\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\nimport { PageView } from '@operato/shell'\nimport { i18next, localize } from '@operato/i18n'\nimport { CommonButtonStyles, ScrollbarStyles } from '@operato/styles'\n\n@customElement('jasper-report-samples-page')\nclass JasperReportSamplesPage extends localize(i18next)(PageView) {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n padding: 0;\n }\n\n #container {\n flex: 1;\n padding: 0;\n margin: 0;\n border: 0;\n }\n `\n ]\n\n @query('iframe') container!: HTMLIFrameElement\n\n get context() {\n const filters = [\n {\n name: 'workDateRange',\n type: 'date',\n label: 'date',\n operator: 'between'\n }\n ]\n var actions = [\n {\n title: i18next.t('button.print'),\n action: () => {\n this.container.contentWindow?.print()\n },\n ...CommonButtonStyles.print\n }\n ]\n return {\n title: 'jasper-report',\n actions,\n filters\n }\n }\n\n render() {\n return html`\n <ox-filters-form-base\n .filters=${this.context.filters}\n @filters-change=${e => {\n console.log('filters changed', e.detail)\n this._reportTemplate(e.detail.filters)\n }}\n ?url-params-sensitive=${this.active}\n ></ox-filters-form-base>\n <iframe id=\"container\"></iframe>\n `\n }\n\n async pageUpdated(changes, lifecycle) {\n if (this.active) {\n this.updateContext()\n }\n }\n\n async _reportTemplate(filters) {\n const params = filters.reduce((acc, curr) => ((acc[curr.name] = curr.value), acc), {})\n Object.assign(params, this.lifecycle.params)\n\n const { workDateRange, workShift, template } = params\n\n /** ignoring date conditions */\n if (!workDateRange[0] || !workDateRange[1] || workDateRange[0] > workDateRange[1]) {\n return\n }\n\n /** urlencoded params including test values */\n const urlParams = {\n table: 'samples',\n dataSetId: this.lifecycle.resourceId,\n fromWorkDate: workDateRange[0],\n toWorkDate: workDateRange[1],\n workShift,\n template,\n templateType: 'normal'\n }\n\n const encodedUrlParams = Object.keys(urlParams)\n .filter(key => {\n // ignore empty\n return !!urlParams[key]\n })\n .map(key => `${key}=${encodeURIComponent(urlParams[key])}`)\n .join('&')\n\n this.container.src = `/data-report/jasper?${encodedUrlParams}`\n }\n}\n"]}
@@ -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 '@operato/data-grist'\nimport '@operato/context/ox-context-page-toolbar.js'\nimport './data-sample-view.js'\n\nimport gql from 'graphql-tag'\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { connect } from 'pwa-helpers/connect-mixin'\nimport moment from 'moment-timezone'\n\nimport { DataGrist, FetchOption, GristRecord } from '@operato/data-grist'\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { openPopup } from '@operato/layout'\nimport { PageView, store } from '@operato/shell'\nimport { CommonHeaderStyles, ScrollbarStyles } from '@operato/styles'\nimport { isMobileDevice } from '@operato/utils'\nimport { GhostPrint } from '@operato/ghost-print'\n\n@customElement('data-sample-list-page')\nexport class DataSampleListPage extends connect(store)(localize(i18next)(PageView)) {\n static styles = [\n ScrollbarStyles,\n CommonHeaderStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n overflow: hidden;\n\n --grid-header-padding: 2px 0 2px 9px;\n }\n\n ox-grist {\n overflow-y: auto;\n flex: 1;\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() {\n return {\n title: i18next.t('title.data-sample list'),\n search: {\n handler: (search: string) => {\n this.grist.searchText = search\n },\n value: this.grist?.searchText || ''\n },\n filter: {\n handler: () => {\n this.grist.toggleHeadroom()\n }\n },\n help: 'dataset/data-sample',\n actions: [\n {\n title: i18next.t('button.print'),\n action: this.printSamples.bind(this),\n icon: 'print'\n }\n ],\n exportable: {\n name: i18next.t('title.data-sample list'),\n data: this._exportableData.bind(this)\n },\n toolbar: false\n }\n }\n\n render() {\n const mode = this.mode || (isMobileDevice() ? 'LIST' : 'GRID')\n\n return html`\n <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)} ?url-params-sensitive=${false /* this.active */}>\n <div slot=\"headroom\" class=\"header\">\n <div class=\"title\">\n <mwc-icon>summarize</mwc-icon>\n ${i18next.t('title.data-sample list')}\n </div>\n\n <div class=\"filters\">\n <ox-filters-form class=\"filter\" autofocus without-search></ox-filters-form>\n </div>\n\n <ox-context-page-toolbar class=\"actions\" .context=${this.context}></ox-context-page-toolbar>\n </div>\n </ox-grist>\n `\n }\n\n async pageInitialized(lifecycle) {\n const yesterday = moment().subtract(1, 'day').format('YYYY-MM-DD')\n const today = moment().format('YYYY-MM-DD')\n\n this.gristConfig = {\n list: { fields: ['dataSet', 'data', 'updater', 'updatedAt'] },\n columns: [\n { type: 'gutter', gutterName: 'sequence', fixed: true },\n { type: 'gutter', gutterName: 'row-selector', fixed: true, multiple: true },\n {\n type: 'gutter',\n gutterName: 'button',\n fixed: true,\n icon: 'assignment',\n title: i18next.t('title.open data sample view')\n },\n {\n type: 'string',\n name: 'name',\n fixed: true,\n label: true,\n header: i18next.t('field.name'),\n record: {\n editable: false\n },\n filter: 'search',\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'string',\n name: 'description',\n label: true,\n header: i18next.t('field.description'),\n record: {\n editable: false\n },\n filter: 'search',\n width: 150,\n imex: true\n },\n {\n type: 'string',\n name: 'key01',\n header: {\n renderer: i18next.t('field.key-01'),\n group: i18next.t('field.key')\n },\n record: {\n editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'string',\n name: 'key02',\n header: {\n renderer: i18next.t('field.key-02'),\n group: i18next.t('field.key')\n },\n record: {\n editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'string',\n name: 'key03',\n header: {\n renderer: i18next.t('field.key-03'),\n group: i18next.t('field.key')\n },\n record: {\n editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'string',\n name: 'key04',\n header: {\n renderer: i18next.t('field.key-04'),\n group: i18next.t('field.key')\n },\n record: {\n editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'string',\n name: 'key05',\n header: {\n renderer: i18next.t('field.key-05'),\n group: i18next.t('field.key')\n },\n record: {\n editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'checkbox',\n name: 'ooc',\n header: i18next.t('field.ooc'),\n record: {\n editable: false\n },\n width: 30\n },\n {\n type: 'checkbox',\n name: 'oos',\n header: i18next.t('field.oos'),\n record: {\n editable: false\n },\n width: 30\n },\n {\n type: 'json5',\n name: 'data',\n header: i18next.t('field.data'),\n record: {\n editable: false\n },\n width: 200,\n imex: true\n },\n {\n type: 'json5',\n name: 'rawData',\n header: i18next.t('field.raw-data'),\n record: {\n editable: false\n },\n width: 200,\n imex: true\n },\n {\n type: 'string',\n name: 'workDate',\n header: i18next.t('field.work-date'),\n sortable: true,\n filter: {\n type: 'date',\n operator: 'between',\n value: [yesterday, today]\n },\n width: 80,\n imex: true\n },\n {\n type: 'string',\n name: 'workShift',\n header: i18next.t('field.work-shift'),\n sortable: true,\n width: 40,\n imex: true\n },\n {\n type: 'datetime',\n name: 'collectedAt',\n header: i18next.t('field.collected-at'),\n sortable: true,\n width: 180,\n imex: true\n },\n {\n type: 'resource-object',\n name: 'updater',\n header: i18next.t('field.updater'),\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'datetime',\n name: 'updatedAt',\n header: i18next.t('field.updated_at'),\n sortable: true,\n width: 180,\n imex: true\n }\n ],\n rows: {\n appendable: false,\n selectable: {\n multiple: true\n },\n classifier: function (record, rowIndex) {\n var emphasized\n if (record['oos']) {\n emphasized = ['#8B0000']\n } else if (record['ooc']) {\n emphasized = ['#FF6B6B']\n }\n\n return {\n emphasized\n }\n },\n handlers: {\n click: (columns, data, column, record, rowIndex) => {\n openPopup(html` <data-sample-view data-sample-id=${record.id} style=\"background-color: white;\"></data-sample-view> `, {\n backdrop: true,\n size: 'large',\n title: i18next.t('title.data-sample view')\n })\n }\n }\n },\n sorters: [\n {\n name: 'collectedAt',\n desc: true\n }\n ]\n }\n }\n\n async fetchHandler({ page, limit, sortings = [], filters = [] }: FetchOption) {\n const response = await client.query({\n query: gql`\n query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {\n responses: dataSamples(filters: $filters, pagination: $pagination, sortings: $sortings) {\n items {\n id\n name\n description\n useCase\n key01\n key02\n key03\n key04\n key05\n data\n rawData\n ooc\n oos\n judgment\n workDate\n workShift\n updater {\n id\n name\n }\n updatedAt\n collectedAt\n }\n total\n }\n }\n `,\n variables: {\n filters,\n pagination: { page, limit },\n sortings\n }\n })\n\n return {\n total: response.data.responses.total || 0,\n records: response.data.responses.items || []\n }\n }\n\n _exportableData() {\n let records = [] as GristRecord[]\n if (this.grist.selected && this.grist.selected.length > 0) {\n records = this.grist.selected\n } else {\n records = this.grist.data.records\n }\n\n var headerSetting = this.grist.compiledConfig.columns\n .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)\n .map(column => {\n return column.imex === true\n ? {\n header: column.header.renderer(column),\n key: column.name,\n width: column.width,\n type: column.type\n }\n : column.imex\n })\n\n var data = records.map(item => {\n return {\n id: item.id,\n ...this.gristConfig.columns\n .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)\n .reduce((record, column) => {\n const key = column.imex === true ? column.name : column.imex.key\n record[key] = key.split('.').reduce((obj, key) => (obj && obj[key] !== 'undefined' ? obj[key] : undefined), item)\n return record\n }, {})\n }\n })\n\n return { header: headerSetting, data: data }\n }\n\n printSamples() {\n const selected = this.grist.selected\n const ids = selected.map(record => record.id).join('|')\n\n GhostPrint.print({\n src: `./data-samples?ids=${ids}`\n // pending: 200 * selected.length\n })\n }\n}\n"]}
1
+ {"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 '@operato/data-grist'\nimport '@operato/context/ox-context-page-toolbar.js'\nimport './data-sample-view.js'\n\nimport gql from 'graphql-tag'\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { connect } from 'pwa-helpers/connect-mixin'\nimport moment from 'moment-timezone'\n\nimport { DataGrist, FetchOption, GristRecord } from '@operato/data-grist'\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { openPopup } from '@operato/layout'\nimport { PageView, store } from '@operato/shell'\nimport { CommonHeaderStyles, ScrollbarStyles } from '@operato/styles'\nimport { isMobileDevice } from '@operato/utils'\nimport { GhostPrint } from '@operato/ghost-print'\n\n@customElement('data-sample-list-page')\nexport class DataSampleListPage extends connect(store)(localize(i18next)(PageView)) {\n static styles = [\n ScrollbarStyles,\n CommonHeaderStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n overflow: hidden;\n\n --grid-header-padding: 2px 0 2px 9px;\n }\n\n ox-grist {\n overflow-y: auto;\n flex: 1;\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() {\n return {\n title: i18next.t('title.data-sample list'),\n search: {\n handler: (search: string) => {\n this.grist.searchText = search\n },\n value: this.grist?.searchText || ''\n },\n filter: {\n handler: () => {\n this.grist.toggleHeadroom()\n }\n },\n help: 'dataset/data-sample',\n actions: [\n {\n title: i18next.t('button.print'),\n action: this.printSamples.bind(this),\n icon: 'print'\n }\n ],\n exportable: {\n name: i18next.t('title.data-sample list'),\n data: this._exportableData.bind(this)\n },\n toolbar: false\n }\n }\n\n render() {\n const mode = this.mode || (isMobileDevice() ? 'LIST' : 'GRID')\n\n return html`\n <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)} ?url-params-sensitive=${false /* this.active */}>\n <div slot=\"headroom\" class=\"header\">\n <div class=\"title\">\n <mwc-icon>summarize</mwc-icon>\n ${i18next.t('title.data-sample list')}\n </div>\n\n <div class=\"filters\">\n <ox-filters-form class=\"filter\" autofocus without-search></ox-filters-form>\n </div>\n\n <ox-context-page-toolbar class=\"actions\" .context=${this.context}></ox-context-page-toolbar>\n </div>\n </ox-grist>\n `\n }\n\n async pageInitialized(lifecycle) {\n const yesterday = moment().subtract(1, 'day').format('YYYY-MM-DD')\n const today = moment().format('YYYY-MM-DD')\n\n this.gristConfig = {\n list: { fields: ['dataSet', 'data', 'updater', 'updatedAt'] },\n columns: [\n { type: 'gutter', gutterName: 'sequence', fixed: true },\n { type: 'gutter', gutterName: 'row-selector', fixed: true, multiple: true },\n {\n type: 'gutter',\n gutterName: 'button',\n fixed: true,\n icon: 'assignment',\n title: i18next.t('title.open data sample view')\n },\n {\n type: 'string',\n name: 'name',\n fixed: true,\n label: true,\n header: i18next.t('field.name'),\n record: {\n editable: false\n },\n filter: 'search',\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'string',\n name: 'description',\n label: true,\n header: i18next.t('field.description'),\n record: {\n editable: false\n },\n filter: 'search',\n width: 150,\n imex: true\n },\n {\n type: 'string',\n name: 'key01',\n header: {\n renderer: i18next.t('field.key-01'),\n group: i18next.t('field.key')\n },\n record: {\n editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'string',\n name: 'key02',\n header: {\n renderer: i18next.t('field.key-02'),\n group: i18next.t('field.key')\n },\n record: {\n editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'string',\n name: 'key03',\n header: {\n renderer: i18next.t('field.key-03'),\n group: i18next.t('field.key')\n },\n record: {\n editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'string',\n name: 'key04',\n header: {\n renderer: i18next.t('field.key-04'),\n group: i18next.t('field.key')\n },\n record: {\n editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'string',\n name: 'key05',\n header: {\n renderer: i18next.t('field.key-05'),\n group: i18next.t('field.key')\n },\n record: {\n editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'checkbox',\n name: 'ooc',\n header: i18next.t('field.ooc'),\n record: {\n editable: false\n },\n width: 30\n },\n {\n type: 'checkbox',\n name: 'oos',\n header: i18next.t('field.oos'),\n record: {\n editable: false\n },\n width: 30\n },\n {\n type: 'json5',\n name: 'data',\n header: i18next.t('field.data'),\n record: {\n editable: false\n },\n width: 200,\n imex: true\n },\n {\n type: 'json5',\n name: 'rawData',\n header: i18next.t('field.raw-data'),\n record: {\n editable: false\n },\n width: 200,\n imex: true\n },\n {\n type: 'string',\n name: 'workDate',\n header: i18next.t('field.work-date'),\n sortable: true,\n filter: {\n type: 'date',\n operator: 'between',\n value: [yesterday, today]\n },\n width: 80,\n imex: true\n },\n {\n type: 'string',\n name: 'workShift',\n header: i18next.t('field.work-shift'),\n sortable: true,\n width: 40,\n imex: true\n },\n {\n type: 'datetime',\n name: 'collectedAt',\n header: i18next.t('field.collected-at'),\n sortable: true,\n width: 180,\n imex: true\n },\n {\n type: 'resource-object',\n name: 'updater',\n header: i18next.t('field.updater'),\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'datetime',\n name: 'updatedAt',\n header: i18next.t('field.updated_at'),\n sortable: true,\n width: 180,\n imex: true\n }\n ],\n rows: {\n appendable: false,\n selectable: {\n multiple: true\n },\n classifier: function (record, rowIndex) {\n var emphasized\n if (record['oos']) {\n emphasized = ['#8B0000']\n } else if (record['ooc']) {\n emphasized = ['#FF6B6B']\n }\n\n return {\n emphasized\n }\n },\n handlers: {\n click: (columns, data, column, record, rowIndex) => {\n openPopup(html` <data-sample-view data-sample-id=${record.id} style=\"background-color: white;\"></data-sample-view> `, {\n backdrop: true,\n size: 'large',\n title: i18next.t('title.data-sample view')\n })\n }\n }\n },\n sorters: [\n {\n name: 'collectedAt',\n desc: true\n }\n ]\n }\n }\n\n async fetchHandler({ page, limit, sortings = [], filters = [] }: FetchOption) {\n const response = await client.query({\n query: gql`\n query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {\n responses: dataSamples(filters: $filters, pagination: $pagination, sortings: $sortings) {\n items {\n id\n name\n description\n useCase\n key01\n key02\n key03\n key04\n key05\n data\n rawData\n ooc\n oos\n judgment\n workDate\n workShift\n updater {\n id\n name\n }\n updatedAt\n collectedAt\n }\n total\n }\n }\n `,\n variables: {\n filters,\n pagination: { page, limit },\n sortings\n }\n })\n\n return {\n total: response.data.responses.total || 0,\n records: response.data.responses.items || []\n }\n }\n\n _exportableData() {\n let records = [] as GristRecord[]\n if (this.grist.selected && this.grist.selected.length > 0) {\n records = this.grist.selected\n } else {\n records = this.grist.data.records\n }\n\n var headerSetting = this.grist.compiledConfig.columns\n .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)\n .map(column => {\n return column.imex === true\n ? {\n header: column.header.renderer(column),\n key: column.name,\n width: column.width,\n type: column.type\n }\n : column.imex\n })\n\n var data = records.map(item => {\n return {\n id: item.id,\n ...this.gristConfig.columns\n .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)\n .reduce((record, column) => {\n const key = column.imex === true ? column.name : column.imex.key\n record[key] = key.split('.').reduce((obj, key) => (obj && obj[key] !== 'undefined' ? obj[key] : undefined), item)\n return record\n }, {})\n }\n })\n\n return { header: headerSetting, data: data }\n }\n\n printSamples() {\n const selected = this.grist.selected\n const ids = selected.map(record => record.id).join('|')\n\n GhostPrint.print({\n src: `./data-samples?ids=${ids}`\n // pending: 200 * selected.length\n })\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"data-sample-page.js","sourceRoot":"","sources":["../../../client/pages/data-sample/data-sample-page.ts"],"names":[],"mappings":";AAAA,OAAO,EAAkB,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,uBAAuB,CAAA;AAGvB,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;IAsBjE,IAAI,OAAO;QACT,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;YAC1C,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,EAAE;SACZ,CAAA;IACH,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA,oCAAoC,IAAI,CAAC,YAAY,uBAAuB,CAAA;IACzF,CAAC;IAED,OAAO,CAAC,OAA6B,IAAG,CAAC;IAEzC,WAAW,CAAC,OAAY,EAAE,SAAc,EAAE,MAAW;QACnD,IAAI,IAAI,CAAC,MAAM,EAAE;YACf;;eAEG;YACH,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,UAAU,CAAA;SACzC;aAAM;YACL,8BAA8B;SAC/B;IACH,CAAC;;AA5CM,yBAAM,GAAG;IACd,GAAG,CAAA;;;;;;;;;;;;;;;KAeF;CACF,CAAA;AAED;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;wDAAmB;AApBnC,kBAAkB;IAD9B,aAAa,CAAC,kBAAkB,CAAC;GACrB,kBAAkB,CA8C9B;SA9CY,kBAAkB","sourcesContent":["import { PropertyValues, html, css } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { PageView } from '@operato/shell'\nimport { i18next, localize } from '@operato/i18n'\n\nimport './data-sample-view.js'\n\n@customElement('data-sample-page')\nexport class DataSampleViewPage extends localize(i18next)(PageView) {\n static styles = [\n css`\n :host {\n display: flex;\n }\n\n data-sample-view {\n flex: 1;\n }\n\n @media print {\n :host {\n display: block;\n overflow: visible;\n }\n }\n `\n ]\n\n @property({ type: Object }) dataSampleId?: any\n\n get context() {\n return {\n title: i18next.t('title.data-sample view'),\n help: 'dataset/data-sample',\n actions: []\n }\n }\n\n render() {\n return html` <data-sample-view .dataSampleId=${this.dataSampleId}></data-sample-view> `\n }\n\n updated(changes: PropertyValues<this>) {}\n\n pageUpdated(changes: any, lifecycle: any, before: any) {\n if (this.active) {\n /*\n * this page is activated\n */\n this.dataSampleId = lifecycle.resourceId\n } else {\n /* this page is deactivated */\n }\n }\n}\n"]}
1
+ {"version":3,"file":"data-sample-page.js","sourceRoot":"","sources":["../../../client/pages/data-sample/data-sample-page.ts"],"names":[],"mappings":";AAAA,OAAO,EAAkB,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,uBAAuB,CAAA;AAGvB,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;IAsBjE,IAAI,OAAO;QACT,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;YAC1C,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,EAAE;SACZ,CAAA;IACH,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA,oCAAoC,IAAI,CAAC,YAAY,uBAAuB,CAAA;IACzF,CAAC;IAED,OAAO,CAAC,OAA6B,IAAG,CAAC;IAEzC,WAAW,CAAC,OAAY,EAAE,SAAc,EAAE,MAAW;QACnD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB;;eAEG;YACH,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,UAAU,CAAA;QAC1C,CAAC;aAAM,CAAC;YACN,8BAA8B;QAChC,CAAC;IACH,CAAC;;AA5CM,yBAAM,GAAG;IACd,GAAG,CAAA;;;;;;;;;;;;;;;KAeF;CACF,AAjBY,CAiBZ;AAE2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;wDAAmB;AApBnC,kBAAkB;IAD9B,aAAa,CAAC,kBAAkB,CAAC;GACrB,kBAAkB,CA8C9B","sourcesContent":["import { PropertyValues, html, css } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { PageView } from '@operato/shell'\nimport { i18next, localize } from '@operato/i18n'\n\nimport './data-sample-view.js'\n\n@customElement('data-sample-page')\nexport class DataSampleViewPage extends localize(i18next)(PageView) {\n static styles = [\n css`\n :host {\n display: flex;\n }\n\n data-sample-view {\n flex: 1;\n }\n\n @media print {\n :host {\n display: block;\n overflow: visible;\n }\n }\n `\n ]\n\n @property({ type: Object }) dataSampleId?: any\n\n get context() {\n return {\n title: i18next.t('title.data-sample view'),\n help: 'dataset/data-sample',\n actions: []\n }\n }\n\n render() {\n return html` <data-sample-view .dataSampleId=${this.dataSampleId}></data-sample-view> `\n }\n\n updated(changes: PropertyValues<this>) {}\n\n pageUpdated(changes: any, lifecycle: any, before: any) {\n if (this.active) {\n /*\n * this page is activated\n */\n this.dataSampleId = lifecycle.resourceId\n } else {\n /* this page is deactivated */\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"data-sample-search-page.js","sourceRoot":"","sources":["../../../client/pages/data-sample/data-sample-search-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/data-grist'\nimport '@operato/context/ox-context-page-toolbar.js'\nimport './data-sample-view.js'\n\nimport gql from 'graphql-tag'\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { connect } from 'pwa-helpers/connect-mixin'\nimport moment from 'moment-timezone'\n\nimport { DataGrist, FetchOption, GristRecord } from '@operato/data-grist'\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { openPopup } from '@operato/layout'\nimport { PageView, store } from '@operato/shell'\nimport { CommonHeaderStyles, ScrollbarStyles } from '@operato/styles'\nimport { isMobileDevice } from '@operato/utils'\nimport { GhostPrint } from '@operato/ghost-print'\n\n@customElement('data-sample-search-page')\nexport class DataSampleSearchPage extends connect(store)(localize(i18next)(PageView)) {\n static styles = [\n ScrollbarStyles,\n CommonHeaderStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n overflow: hidden;\n }\n\n ox-grist {\n overflow-y: auto;\n flex: 1;\n }\n `\n ]\n\n @state() dataSetId?: string\n @state() dataSet: any\n @state() dataKeySet: any\n\n @state() gristConfig: any\n @state() mode: 'CARD' | 'GRID' | 'LIST' = isMobileDevice() ? 'CARD' : 'GRID'\n\n @query('ox-grist') private grist!: DataGrist\n\n get context() {\n return {\n title: i18next.t('title.data-sample search'),\n search: {\n handler: (search: string) => {\n this.grist.searchText = search\n },\n value: this.grist?.searchText || ''\n },\n filter: {\n handler: () => {\n this.grist.toggleHeadroom()\n }\n },\n help: 'dataset/data-sample-search',\n actions: [\n {\n title: i18next.t('button.print'),\n action: this.printSamples.bind(this),\n icon: 'print'\n }\n ],\n // exportable: {\n // name: i18next.t('title.data-sample search'),\n // data: this._exportableData.bind(this)\n // },\n toolbar: false\n }\n }\n\n render() {\n const mode = this.mode || (isMobileDevice() ? 'LIST' : 'GRID')\n\n return html`\n <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}>\n <div slot=\"headroom\" class=\"header\">\n <div class=\"title\">\n <mwc-icon>summarize</mwc-icon>\n ${i18next.t('title.data-sample search')}\n </div>\n\n <div class=\"filters\">\n <ox-filters-form class=\"filter\" autofocus without-search></ox-filters-form>\n </div>\n\n <ox-context-page-toolbar class=\"actions\" .context=${this.context}></ox-context-page-toolbar>\n </div>\n </ox-grist>\n `\n }\n\n pageUpdated(changes, lifecycle) {\n if (this.active) {\n this.dataSetId = lifecycle.resourceId\n return\n }\n }\n\n async updated(changes) {\n if (changes.has('dataSetId')) {\n const response = await client.query({\n query: gql`\n query ($id: String!) {\n dataSet(id: $id) {\n id\n name\n description\n dataKeySet {\n id\n name\n description\n dataKeyItems {\n name\n description\n dataKey\n tKey\n }\n }\n }\n }\n `,\n variables: {\n id: this.dataSetId\n }\n })\n\n this.dataSet = response.data.dataSet\n this.dataKeySet = this.dataSet.dataKeySet\n\n this.refreshGristConfig()\n\n this.grist.fetch()\n }\n }\n\n getDataKeyColumns() {\n return (\n this.dataKeySet?.dataKeyItems.map((item, index) => {\n return {\n type: 'string',\n name: `key0${index + 1}`,\n header: i18next.t(item.tKey),\n record: {\n editable: false\n },\n sortable: true,\n filter: 'i_like',\n width: 120,\n imex: true\n }\n }) || []\n )\n }\n\n refreshGristConfig() {\n const yesterday = moment().subtract(1, 'day').format('YYYY-MM-DD')\n const today = moment().format('YYYY-MM-DD')\n\n this.gristConfig = {\n list: { fields: ['dataSet', 'data', 'updater', 'updatedAt'] },\n columns: [\n { type: 'gutter', gutterName: 'sequence', fixed: true },\n { type: 'gutter', gutterName: 'row-selector', fixed: true, multiple: true },\n {\n type: 'gutter',\n gutterName: 'button',\n fixed: true,\n icon: 'assignment',\n title: i18next.t('title.open data sample view')\n },\n {\n type: 'string',\n name: 'name',\n fixed: true,\n label: true,\n header: i18next.t('field.name'),\n record: {\n editable: false\n },\n filter: 'search',\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'string',\n name: 'description',\n label: true,\n header: i18next.t('field.description'),\n record: {\n editable: false\n },\n filter: 'search',\n width: 150,\n imex: true\n },\n ...this.getDataKeyColumns(),\n {\n type: 'checkbox',\n name: 'ooc',\n header: i18next.t('field.ooc'),\n record: {\n editable: false\n },\n width: 30\n },\n {\n type: 'checkbox',\n name: 'oos',\n header: i18next.t('field.oos'),\n record: {\n editable: false\n },\n width: 30\n },\n {\n type: 'json5',\n name: 'data',\n header: i18next.t('field.data'),\n record: {\n editable: false\n },\n hidden: true,\n imex: true\n },\n {\n type: 'string',\n name: 'workDate',\n header: i18next.t('field.work-date'),\n sortable: true,\n filter: {\n type: 'date',\n operator: 'between',\n value: [yesterday, today]\n },\n width: 80,\n imex: true\n },\n {\n type: 'string',\n name: 'workShift',\n header: i18next.t('field.work-shift'),\n sortable: true,\n width: 40,\n imex: true\n },\n {\n type: 'datetime',\n name: 'collectedAt',\n header: i18next.t('field.collected-at'),\n sortable: true,\n width: 180,\n imex: true\n },\n {\n type: 'resource-object',\n name: 'updater',\n header: i18next.t('field.updater'),\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'datetime',\n name: 'updatedAt',\n header: i18next.t('field.updated_at'),\n sortable: true,\n width: 180,\n imex: true\n }\n ],\n rows: {\n appendable: false,\n selectable: {\n multiple: true\n },\n classifier: function (record, rowIndex) {\n var emphasized\n if (record['oos']) {\n emphasized = ['#8B0000']\n } else if (record['ooc']) {\n emphasized = ['#FF6B6B']\n }\n\n return {\n emphasized\n }\n },\n handlers: {\n click: (columns, data, column, record, rowIndex) => {\n openPopup(html` <data-sample-view data-sample-id=${record.id} style=\"background-color: white;\"></data-sample-view> `, {\n backdrop: true,\n size: 'large',\n title: i18next.t('title.data-sample view')\n })\n }\n }\n },\n sorters: [\n {\n name: 'collectedAt',\n desc: true\n }\n ]\n }\n }\n\n async fetchHandler({ page, limit, sortings = [], filters = [] }: FetchOption) {\n if (!this.dataSetId) {\n return { records: [], total: 0 }\n }\n\n const response = await client.query({\n query: gql`\n query ($dataSetId: String!, $filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {\n responses: dataSamplesByDataSet(dataSetId: $dataSetId, filters: $filters, pagination: $pagination, sortings: $sortings) {\n items {\n id\n name\n description\n useCase\n key01\n key02\n key03\n key04\n key05\n data\n ooc\n oos\n judgment\n workDate\n workShift\n updater {\n id\n name\n }\n updatedAt\n collectedAt\n }\n total\n }\n }\n `,\n variables: {\n dataSetId: this.dataSetId,\n filters,\n pagination: { page, limit },\n sortings\n }\n })\n\n return {\n total: response.data.responses.total || 0,\n records: response.data.responses.items || []\n }\n }\n\n _exportableData() {\n let records = [] as GristRecord[]\n if (this.grist.selected && this.grist.selected.length > 0) {\n records = this.grist.selected\n } else {\n records = this.grist.data.records\n }\n\n var headerSetting = this.grist.compiledConfig.columns\n .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)\n .map(column => {\n return column.imex === true\n ? {\n header: column.header.renderer(column),\n key: column.name,\n width: column.width,\n type: column.type\n }\n : column.imex\n })\n\n var data = records.map(item => {\n return {\n id: item.id,\n ...this.gristConfig.columns\n .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)\n .reduce((record, column) => {\n const key = column.imex === true ? column.name : column.imex.key\n record[key] = key.split('.').reduce((obj, key) => (obj && obj[key] !== 'undefined' ? obj[key] : undefined), item)\n return record\n }, {})\n }\n })\n\n return { header: headerSetting, data: data }\n }\n\n printSamples() {\n const selected = this.grist.selected\n const ids = selected.map(record => record.id).join('|')\n\n GhostPrint.print({\n src: `./data-samples?ids=${ids}`\n // pending: 200 * selected.length\n })\n }\n}\n"]}
1
+ {"version":3,"file":"data-sample-search-page.js","sourceRoot":"","sources":["../../../client/pages/data-sample/data-sample-search-page.ts"],"names":[],"mappings":";AAAA,OAAO,qBAAqB,CAAA;AAC5B,OAAO,6CAA6C,CAAA;AACpD,OAAO,uBAAuB,CAAA;AAE9B,OAAO,GAAG,MAAM,aAAa,CAAA;AAC7B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AAC/B,OAAO,EAAE,aAAa,EAAY,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACnD,OAAO,MAAM,MAAM,iBAAiB,CAAA;AAEpC,OAAO,EAAE,SAAS,EAA4B,MAAM,qBAAqB,CAAA;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAG1C,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IAA9E;;QAwBI,SAAI,GAA6B,cAAc,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;IA+W9E,CAAC;IA3WC,IAAI,OAAO;;QACT,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,0BAA0B,CAAC;YAC5C,MAAM,EAAE;gBACN,OAAO,EAAE,CAAC,MAAc,EAAE,EAAE;oBAC1B,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAA;gBAChC,CAAC;gBACD,KAAK,EAAE,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,UAAU,KAAI,EAAE;aACpC;YACD,MAAM,EAAE;gBACN,OAAO,EAAE,GAAG,EAAE;oBACZ,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAA;gBAC7B,CAAC;aACF;YACD,IAAI,EAAE,4BAA4B;YAClC,OAAO,EAAE;gBACP;oBACE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC;oBAChC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;oBACpC,IAAI,EAAE,OAAO;iBACd;aACF;YACD,gBAAgB;YAChB,iDAAiD;YACjD,0CAA0C;YAC1C,KAAK;YACL,OAAO,EAAE,KAAK;SACf,CAAA;IACH,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QAE9D,OAAO,IAAI,CAAA;wBACS,IAAI,YAAY,IAAI,CAAC,WAAW,kBAAkB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;;;;cAIxF,OAAO,CAAC,CAAC,CAAC,0BAA0B,CAAC;;;;;;;8DAOW,IAAI,CAAC,OAAO;;;KAGrE,CAAA;IACH,CAAC;IAED,WAAW,CAAC,OAAO,EAAE,SAAS;QAC5B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,UAAU,CAAA;YACrC,OAAM;QACR,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAO;QACnB,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;gBAClC,KAAK,EAAE,GAAG,CAAA;;;;;;;;;;;;;;;;;;;SAmBT;gBACD,SAAS,EAAE;oBACT,EAAE,EAAE,IAAI,CAAC,SAAS;iBACnB;aACF,CAAC,CAAA;YAEF,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAA;YACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAA;YAEzC,IAAI,CAAC,kBAAkB,EAAE,CAAA;YAEzB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QACpB,CAAC;IACH,CAAC;IAED,iBAAiB;;QACf,OAAO,CACL,CAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAChD,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO,KAAK,GAAG,CAAC,EAAE;gBACxB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC5B,MAAM,EAAE;oBACN,QAAQ,EAAE,KAAK;iBAChB;gBACD,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,GAAG;gBACV,IAAI,EAAE,IAAI;aACX,CAAA;QACH,CAAC,CAAC,KAAI,EAAE,CACT,CAAA;IACH,CAAC;IAED,kBAAkB;QAChB,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAClE,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAE3C,IAAI,CAAC,WAAW,GAAG;YACjB,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE;YAC7D,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE;gBACvD,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC3E;oBACE,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,QAAQ;oBACpB,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC;iBAChD;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;oBAC/B,MAAM,EAAE;wBACN,QAAQ,EAAE,KAAK;qBAChB;oBACD,MAAM,EAAE,QAAQ;oBAChB,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,GAAG;oBACV,IAAI,EAAE,IAAI;iBACX;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC;oBACtC,MAAM,EAAE;wBACN,QAAQ,EAAE,KAAK;qBAChB;oBACD,MAAM,EAAE,QAAQ;oBAChB,KAAK,EAAE,GAAG;oBACV,IAAI,EAAE,IAAI;iBACX;gBACD,GAAG,IAAI,CAAC,iBAAiB,EAAE;gBAC3B;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,KAAK;oBACX,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;oBAC9B,MAAM,EAAE;wBACN,QAAQ,EAAE,KAAK;qBAChB;oBACD,KAAK,EAAE,EAAE;iBACV;gBACD;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,KAAK;oBACX,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;oBAC9B,MAAM,EAAE;wBACN,QAAQ,EAAE,KAAK;qBAChB;oBACD,KAAK,EAAE,EAAE;iBACV;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;oBAC/B,MAAM,EAAE;wBACN,QAAQ,EAAE,KAAK;qBAChB;oBACD,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,IAAI;iBACX;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC;oBACpC,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE;wBACN,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,SAAS;wBACnB,KAAK,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;qBAC1B;oBACD,KAAK,EAAE,EAAE;oBACT,IAAI,EAAE,IAAI;iBACX;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC;oBACrC,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,EAAE;oBACT,IAAI,EAAE,IAAI;iBACX;gBACD;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,aAAa;oBACnB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC;oBACvC,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,GAAG;oBACV,IAAI,EAAE,IAAI;iBACX;gBACD;oBACE,IAAI,EAAE,iBAAiB;oBACvB,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;oBAClC,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,GAAG;oBACV,IAAI,EAAE,IAAI;iBACX;gBACD;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC;oBACrC,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,GAAG;oBACV,IAAI,EAAE,IAAI;iBACX;aACF;YACD,IAAI,EAAE;gBACJ,UAAU,EAAE,KAAK;gBACjB,UAAU,EAAE;oBACV,QAAQ,EAAE,IAAI;iBACf;gBACD,UAAU,EAAE,UAAU,MAAM,EAAE,QAAQ;oBACpC,IAAI,UAAU,CAAA;oBACd,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;wBAClB,UAAU,GAAG,CAAC,SAAS,CAAC,CAAA;oBAC1B,CAAC;yBAAM,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;wBACzB,UAAU,GAAG,CAAC,SAAS,CAAC,CAAA;oBAC1B,CAAC;oBAED,OAAO;wBACL,UAAU;qBACX,CAAA;gBACH,CAAC;gBACD,QAAQ,EAAE;oBACR,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;wBACjD,SAAS,CAAC,IAAI,CAAA,qCAAqC,MAAM,CAAC,EAAE,wDAAwD,EAAE;4BACpH,QAAQ,EAAE,IAAI;4BACd,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;yBAC3C,CAAC,CAAA;oBACJ,CAAC;iBACF;aACF;YACD,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,IAAI;iBACX;aACF;SACF,CAAA;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAe;QAC1E,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;QAClC,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;YAClC,KAAK,EAAE,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BT;YACD,SAAS,EAAE;gBACT,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,OAAO;gBACP,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;gBAC3B,QAAQ;aACT;SACF,CAAC,CAAA;QAEF,OAAO;YACL,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;YACzC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;SAC7C,CAAA;IACH,CAAC;IAED,eAAe;QACb,IAAI,OAAO,GAAG,EAAmB,CAAA;QACjC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAA;QAC/B,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAA;QACnC,CAAC;QAED,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO;aAClD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC;aACtG,GAAG,CAAC,MAAM,CAAC,EAAE;YACZ,OAAO,MAAM,CAAC,IAAI,KAAK,IAAI;gBACzB,CAAC,CAAC;oBACE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACtC,GAAG,EAAE,MAAM,CAAC,IAAI;oBAChB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;iBAClB;gBACH,CAAC,CAAC,MAAM,CAAC,IAAI,CAAA;QACjB,CAAC,CAAC,CAAA;QAEJ,IAAI,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC5B,uBACE,EAAE,EAAE,IAAI,CAAC,EAAE,IACR,IAAI,CAAC,WAAW,CAAC,OAAO;iBACxB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC;iBACtG,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;gBACzB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA;gBAChE,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAA;gBACjH,OAAO,MAAM,CAAA;YACf,CAAC,EAAE,EAAE,CAAC,EACT;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IAC9C,CAAC;IAED,YAAY;QACV,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAA;QACpC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEvD,UAAU,CAAC,KAAK,CAAC;YACf,GAAG,EAAE,sBAAsB,GAAG,EAAE;YAChC,iCAAiC;SAClC,CAAC,CAAA;IACJ,CAAC;;AArYM,2BAAM,GAAG;IACd,eAAe;IACf,kBAAkB;IAClB,GAAG,CAAA;;;;;;;;;;;;KAYF;CACF,AAhBY,CAgBZ;AAEQ;IAAR,KAAK,EAAE;;uDAAmB;AAClB;IAAR,KAAK,EAAE;;qDAAa;AACZ;IAAR,KAAK,EAAE;;wDAAgB;AAEf;IAAR,KAAK,EAAE;;yDAAiB;AAChB;IAAR,KAAK,EAAE;;kDAAoE;AAEjD;IAA1B,KAAK,CAAC,UAAU,CAAC;8BAAiB,SAAS;mDAAA;AA1BjC,oBAAoB;IADhC,aAAa,CAAC,yBAAyB,CAAC;GAC5B,oBAAoB,CAuYhC","sourcesContent":["import '@operato/data-grist'\nimport '@operato/context/ox-context-page-toolbar.js'\nimport './data-sample-view.js'\n\nimport gql from 'graphql-tag'\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { connect } from 'pwa-helpers/connect-mixin'\nimport moment from 'moment-timezone'\n\nimport { DataGrist, FetchOption, GristRecord } from '@operato/data-grist'\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { openPopup } from '@operato/layout'\nimport { PageView, store } from '@operato/shell'\nimport { CommonHeaderStyles, ScrollbarStyles } from '@operato/styles'\nimport { isMobileDevice } from '@operato/utils'\nimport { GhostPrint } from '@operato/ghost-print'\n\n@customElement('data-sample-search-page')\nexport class DataSampleSearchPage extends connect(store)(localize(i18next)(PageView)) {\n static styles = [\n ScrollbarStyles,\n CommonHeaderStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n overflow: hidden;\n }\n\n ox-grist {\n overflow-y: auto;\n flex: 1;\n }\n `\n ]\n\n @state() dataSetId?: string\n @state() dataSet: any\n @state() dataKeySet: any\n\n @state() gristConfig: any\n @state() mode: 'CARD' | 'GRID' | 'LIST' = isMobileDevice() ? 'CARD' : 'GRID'\n\n @query('ox-grist') private grist!: DataGrist\n\n get context() {\n return {\n title: i18next.t('title.data-sample search'),\n search: {\n handler: (search: string) => {\n this.grist.searchText = search\n },\n value: this.grist?.searchText || ''\n },\n filter: {\n handler: () => {\n this.grist.toggleHeadroom()\n }\n },\n help: 'dataset/data-sample-search',\n actions: [\n {\n title: i18next.t('button.print'),\n action: this.printSamples.bind(this),\n icon: 'print'\n }\n ],\n // exportable: {\n // name: i18next.t('title.data-sample search'),\n // data: this._exportableData.bind(this)\n // },\n toolbar: false\n }\n }\n\n render() {\n const mode = this.mode || (isMobileDevice() ? 'LIST' : 'GRID')\n\n return html`\n <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}>\n <div slot=\"headroom\" class=\"header\">\n <div class=\"title\">\n <mwc-icon>summarize</mwc-icon>\n ${i18next.t('title.data-sample search')}\n </div>\n\n <div class=\"filters\">\n <ox-filters-form class=\"filter\" autofocus without-search></ox-filters-form>\n </div>\n\n <ox-context-page-toolbar class=\"actions\" .context=${this.context}></ox-context-page-toolbar>\n </div>\n </ox-grist>\n `\n }\n\n pageUpdated(changes, lifecycle) {\n if (this.active) {\n this.dataSetId = lifecycle.resourceId\n return\n }\n }\n\n async updated(changes) {\n if (changes.has('dataSetId')) {\n const response = await client.query({\n query: gql`\n query ($id: String!) {\n dataSet(id: $id) {\n id\n name\n description\n dataKeySet {\n id\n name\n description\n dataKeyItems {\n name\n description\n dataKey\n tKey\n }\n }\n }\n }\n `,\n variables: {\n id: this.dataSetId\n }\n })\n\n this.dataSet = response.data.dataSet\n this.dataKeySet = this.dataSet.dataKeySet\n\n this.refreshGristConfig()\n\n this.grist.fetch()\n }\n }\n\n getDataKeyColumns() {\n return (\n this.dataKeySet?.dataKeyItems.map((item, index) => {\n return {\n type: 'string',\n name: `key0${index + 1}`,\n header: i18next.t(item.tKey),\n record: {\n editable: false\n },\n sortable: true,\n filter: 'i_like',\n width: 120,\n imex: true\n }\n }) || []\n )\n }\n\n refreshGristConfig() {\n const yesterday = moment().subtract(1, 'day').format('YYYY-MM-DD')\n const today = moment().format('YYYY-MM-DD')\n\n this.gristConfig = {\n list: { fields: ['dataSet', 'data', 'updater', 'updatedAt'] },\n columns: [\n { type: 'gutter', gutterName: 'sequence', fixed: true },\n { type: 'gutter', gutterName: 'row-selector', fixed: true, multiple: true },\n {\n type: 'gutter',\n gutterName: 'button',\n fixed: true,\n icon: 'assignment',\n title: i18next.t('title.open data sample view')\n },\n {\n type: 'string',\n name: 'name',\n fixed: true,\n label: true,\n header: i18next.t('field.name'),\n record: {\n editable: false\n },\n filter: 'search',\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'string',\n name: 'description',\n label: true,\n header: i18next.t('field.description'),\n record: {\n editable: false\n },\n filter: 'search',\n width: 150,\n imex: true\n },\n ...this.getDataKeyColumns(),\n {\n type: 'checkbox',\n name: 'ooc',\n header: i18next.t('field.ooc'),\n record: {\n editable: false\n },\n width: 30\n },\n {\n type: 'checkbox',\n name: 'oos',\n header: i18next.t('field.oos'),\n record: {\n editable: false\n },\n width: 30\n },\n {\n type: 'json5',\n name: 'data',\n header: i18next.t('field.data'),\n record: {\n editable: false\n },\n hidden: true,\n imex: true\n },\n {\n type: 'string',\n name: 'workDate',\n header: i18next.t('field.work-date'),\n sortable: true,\n filter: {\n type: 'date',\n operator: 'between',\n value: [yesterday, today]\n },\n width: 80,\n imex: true\n },\n {\n type: 'string',\n name: 'workShift',\n header: i18next.t('field.work-shift'),\n sortable: true,\n width: 40,\n imex: true\n },\n {\n type: 'datetime',\n name: 'collectedAt',\n header: i18next.t('field.collected-at'),\n sortable: true,\n width: 180,\n imex: true\n },\n {\n type: 'resource-object',\n name: 'updater',\n header: i18next.t('field.updater'),\n sortable: true,\n width: 120,\n imex: true\n },\n {\n type: 'datetime',\n name: 'updatedAt',\n header: i18next.t('field.updated_at'),\n sortable: true,\n width: 180,\n imex: true\n }\n ],\n rows: {\n appendable: false,\n selectable: {\n multiple: true\n },\n classifier: function (record, rowIndex) {\n var emphasized\n if (record['oos']) {\n emphasized = ['#8B0000']\n } else if (record['ooc']) {\n emphasized = ['#FF6B6B']\n }\n\n return {\n emphasized\n }\n },\n handlers: {\n click: (columns, data, column, record, rowIndex) => {\n openPopup(html` <data-sample-view data-sample-id=${record.id} style=\"background-color: white;\"></data-sample-view> `, {\n backdrop: true,\n size: 'large',\n title: i18next.t('title.data-sample view')\n })\n }\n }\n },\n sorters: [\n {\n name: 'collectedAt',\n desc: true\n }\n ]\n }\n }\n\n async fetchHandler({ page, limit, sortings = [], filters = [] }: FetchOption) {\n if (!this.dataSetId) {\n return { records: [], total: 0 }\n }\n\n const response = await client.query({\n query: gql`\n query ($dataSetId: String!, $filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {\n responses: dataSamplesByDataSet(dataSetId: $dataSetId, filters: $filters, pagination: $pagination, sortings: $sortings) {\n items {\n id\n name\n description\n useCase\n key01\n key02\n key03\n key04\n key05\n data\n ooc\n oos\n judgment\n workDate\n workShift\n updater {\n id\n name\n }\n updatedAt\n collectedAt\n }\n total\n }\n }\n `,\n variables: {\n dataSetId: this.dataSetId,\n filters,\n pagination: { page, limit },\n sortings\n }\n })\n\n return {\n total: response.data.responses.total || 0,\n records: response.data.responses.items || []\n }\n }\n\n _exportableData() {\n let records = [] as GristRecord[]\n if (this.grist.selected && this.grist.selected.length > 0) {\n records = this.grist.selected\n } else {\n records = this.grist.data.records\n }\n\n var headerSetting = this.grist.compiledConfig.columns\n .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)\n .map(column => {\n return column.imex === true\n ? {\n header: column.header.renderer(column),\n key: column.name,\n width: column.width,\n type: column.type\n }\n : column.imex\n })\n\n var data = records.map(item => {\n return {\n id: item.id,\n ...this.gristConfig.columns\n .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)\n .reduce((record, column) => {\n const key = column.imex === true ? column.name : column.imex.key\n record[key] = key.split('.').reduce((obj, key) => (obj && obj[key] !== 'undefined' ? obj[key] : undefined), item)\n return record\n }, {})\n }\n })\n\n return { header: headerSetting, data: data }\n }\n\n printSamples() {\n const selected = this.grist.selected\n const ids = selected.map(record => record.id).join('|')\n\n GhostPrint.print({\n src: `./data-samples?ids=${ids}`\n // pending: 200 * selected.length\n })\n }\n}\n"]}
@@ -1 +1 @@
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 '@operato/dataset/ox-data-sample-view.js'\nimport '@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 { 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: #fff;\n }\n\n ox-data-sample-view,\n ox-data-ooc-brief-view {\n padding: var(--padding-wide);\n }\n\n activity-thread-timeline {\n margin: var(--margin-default);\n }\n\n mwc-fab {\n position: fixed;\n bottom: 15px;\n right: 16px;\n text-decoration: auto;\n opacity: 0.5;\n }\n\n @media print {\n mwc-fab {\n display: none;\n }\n }\n `\n ]\n\n @property({\n type: String,\n attribute: 'data-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` <ox-data-sample-view .dataSample=${dataSample}></ox-data-sample-view> `\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(i18next.t(dataSample?.dataOoc ? 'label.ooc review timeline' : 'label.datasample review timeline'))}\n .activityThread=${reviewActivityThread}\n short-form\n ></activity-thread-timeline>\n `\n : nothing}\n ${resolveActivityThread\n ? html`\n <activity-thread-timeline\n subtitle=${String(i18next.t('label.ooc resolve timeline'))}\n .activityThread=${resolveActivityThread}\n short-form\n ></activity-thread-timeline>\n `\n : nothing}\n\n <mwc-fab\n icon=\"print\"\n title=\"print\"\n @click=${() =>\n GhostPrint.print({\n src: `./data-sample/${this.dataSampleId}`\n })}\n >print</mwc-fab\n >\n `\n }\n\n updated(changes) {\n if (changes.has('dataSampleId')) {\n this.fetchDataSample()\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 }\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 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 }\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 }\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 '@operato/dataset/ox-data-sample-view.js'\nimport '@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 { 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: #fff;\n }\n\n ox-data-sample-view,\n ox-data-ooc-brief-view {\n padding: var(--padding-wide);\n }\n\n activity-thread-timeline {\n margin: var(--margin-default);\n }\n\n mwc-fab {\n position: fixed;\n bottom: 15px;\n right: 16px;\n text-decoration: auto;\n opacity: 0.5;\n }\n\n @media print {\n mwc-fab {\n display: none;\n }\n }\n `\n ]\n\n @property({\n type: String,\n attribute: 'data-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` <ox-data-sample-view .dataSample=${dataSample}></ox-data-sample-view> `\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(i18next.t(dataSample?.dataOoc ? 'label.ooc review timeline' : 'label.datasample review timeline'))}\n .activityThread=${reviewActivityThread}\n short-form\n ></activity-thread-timeline>\n `\n : nothing}\n ${resolveActivityThread\n ? html`\n <activity-thread-timeline\n subtitle=${String(i18next.t('label.ooc resolve timeline'))}\n .activityThread=${resolveActivityThread}\n short-form\n ></activity-thread-timeline>\n `\n : nothing}\n\n <mwc-fab\n icon=\"print\"\n title=\"print\"\n @click=${() =>\n GhostPrint.print({\n src: `./data-sample/${this.dataSampleId}`\n })}\n >print</mwc-fab\n >\n `\n }\n\n updated(changes) {\n if (changes.has('dataSampleId')) {\n this.fetchDataSample()\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 }\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 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 }\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 }\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 +1 @@
1
- {"version":3,"file":"data-samples-page.js","sourceRoot":"","sources":["../../../client/pages/data-sample/data-samples-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/dataset/ox-data-sample-view.js'\nimport '@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 Sample을 한번에 프린트하기 위한 용도로 사용되는 페이지이다.\n */\n@customElement('data-samples-page')\nexport class DataSamplesPage extends localize(i18next)(PageView) {\n static styles = [\n css`\n :host {\n display: block;\n overflow: auto;\n }\n\n .end {\n page-break-after: always;\n break-after: always;\n }\n `\n ]\n\n @state() dataSamples?: any[]\n\n get context() {\n return {\n title: i18next.t('title.data-sample view')\n }\n }\n\n render() {\n return this.dataSamples?.map(dataSample => {\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` <ox-data-sample-view .dataSample=${dataSample}></ox-data-sample-view> `\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(i18next.t(dataSample?.dataOoc ? 'label.ooc review timeline' : 'label.datasample 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 updated(changes: PropertyValues<this>) {}\n\n pageUpdated(changes: any, lifecycle: any, before: any) {\n if (this.active) {\n /*\n * this page is activated\n */\n const { ids = '' } = lifecycle.params\n\n this.fetchSamples(ids.split('|').map(id => id.trim()))\n } else {\n /* this page is deactivated */\n }\n }\n\n async fetchSamples(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 dataSamples(filters: $filters) {\n items {\n id\n name\n description\n useCase\n key01\n key02\n key03\n key04\n key05\n data\n ooc\n oos\n updatedAt\n collectedAt\n updater {\n id\n name\n }\n dataSet {\n id\n name\n description\n }\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 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 }\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\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.dataSamples = response.data.dataSamples.items\n }\n}\n"]}
1
+ {"version":3,"file":"data-samples-page.js","sourceRoot":"","sources":["../../../client/pages/data-sample/data-samples-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/dataset/ox-data-sample-view.js'\nimport '@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 Sample을 한번에 프린트하기 위한 용도로 사용되는 페이지이다.\n */\n@customElement('data-samples-page')\nexport class DataSamplesPage extends localize(i18next)(PageView) {\n static styles = [\n css`\n :host {\n display: block;\n overflow: auto;\n }\n\n .end {\n page-break-after: always;\n break-after: always;\n }\n `\n ]\n\n @state() dataSamples?: any[]\n\n get context() {\n return {\n title: i18next.t('title.data-sample view')\n }\n }\n\n render() {\n return this.dataSamples?.map(dataSample => {\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` <ox-data-sample-view .dataSample=${dataSample}></ox-data-sample-view> `\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(i18next.t(dataSample?.dataOoc ? 'label.ooc review timeline' : 'label.datasample 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 updated(changes: PropertyValues<this>) {}\n\n pageUpdated(changes: any, lifecycle: any, before: any) {\n if (this.active) {\n /*\n * this page is activated\n */\n const { ids = '' } = lifecycle.params\n\n this.fetchSamples(ids.split('|').map(id => id.trim()))\n } else {\n /* this page is deactivated */\n }\n }\n\n async fetchSamples(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 dataSamples(filters: $filters) {\n items {\n id\n name\n description\n useCase\n key01\n key02\n key03\n key04\n key05\n data\n ooc\n oos\n updatedAt\n collectedAt\n updater {\n id\n name\n }\n dataSet {\n id\n name\n description\n }\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 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 }\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\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.dataSamples = response.data.dataSamples.items\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"data-sensor-list-page.js","sourceRoot":"","sources":["../../../client/pages/data-sensor/data-sensor-list-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/data-grist'\nimport '@operato/context/ox-context-page-toolbar.js'\n\nimport gql from 'graphql-tag'\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\nimport { connect } from 'pwa-helpers/connect-mixin'\n\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { notify } from '@operato/layout'\nimport { PageView, store } from '@operato/shell'\nimport { CommonHeaderStyles, ScrollbarStyles } from '@operato/styles'\nimport { isMobileDevice } from '@operato/utils'\nimport { DataGrist, FetchOption } from '@operato/data-grist'\nimport { OxPrompt } from '@operato/popup/ox-prompt.js'\n\n@customElement('data-sensor-list-page')\nexport class DataSensorListPage extends connect(store)(localize(i18next)(PageView)) {\n static styles = [\n ScrollbarStyles,\n CommonHeaderStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n overflow: hidden;\n }\n\n ox-grist {\n overflow-y: auto;\n flex: 1;\n }\n\n @media (max-width: 450px) {\n .header {\n display: grid;\n grid-template-areas:\n 'title actions'\n 'filters filters';\n }\n }\n `\n ]\n\n @state() private gristConfig: any\n @state() private mode: 'CARD' | 'GRID' | 'LIST' = isMobileDevice() ? 'CARD' : 'GRID'\n\n @query('ox-grist') private grist!: DataGrist\n\n get context() {\n return {\n title: i18next.t('title.data-sensor list'),\n search: {\n handler: (search: string) => {\n this.grist.searchText = search\n },\n value: this.grist?.searchText || ''\n },\n filter: {\n handler: () => {\n this.grist.toggleHeadroom()\n }\n },\n help: 'dataset/data-sensor',\n actions: [\n {\n icon: 'content_copy',\n title: i18next.t('button.copy'),\n action: this._copyDataSensor.bind(this)\n },\n {\n icon: 'save',\n title: i18next.t('button.save'),\n action: this._updateDataSensor.bind(this)\n },\n {\n icon: 'delete',\n title: i18next.t('button.delete'),\n action: this._deleteDataSensor.bind(this)\n }\n ],\n toolbar: false\n }\n }\n\n render() {\n const mode = this.mode || (isMobileDevice() ? 'LIST' : 'GRID')\n\n return html`\n <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)} ?url-params-sensitive=${this.active}>\n <div slot=\"headroom\" class=\"header\">\n <div class=\"title\">\n <mwc-icon>summarize</mwc-icon>\n ${i18next.t('title.data-sensor list')}\n </div>\n\n <div class=\"filters\">\n <ox-filters-form class=\"filter\" autofocus without-search></ox-filters-form>\n </div>\n\n <ox-context-page-toolbar class=\"actions\" .context=${this.context}></ox-context-page-toolbar>\n </div>\n </ox-grist>\n `\n }\n\n async pageInitialized(lifecycle) {\n this.gristConfig = {\n list: { fields: ['name', 'description', 'active'] },\n columns: [\n { type: 'gutter', gutterName: 'sequence', fixed: true },\n { type: 'gutter', gutterName: 'row-selector', multiple: true, fixed: true },\n {\n type: 'string',\n name: 'name',\n label: true,\n header: i18next.t('field.name'),\n record: {\n editable: true\n },\n filter: 'search',\n sortable: true,\n width: 150,\n fixed: true\n },\n {\n type: 'string',\n name: 'description',\n label: true,\n header: i18next.t('field.description'),\n record: {\n editable: true\n },\n filter: 'search',\n width: 200\n },\n {\n type: 'checkbox',\n name: 'active',\n label: true,\n header: i18next.t('field.active'),\n record: {\n editable: true\n },\n sortable: true,\n filter: true,\n width: 60\n },\n {\n type: 'string',\n name: 'deviceId',\n label: true,\n header: i18next.t('field.device-id'),\n record: {\n editable: true\n },\n filter: 'search',\n sortable: true,\n width: 150\n },\n {\n type: 'string',\n name: 'tag',\n label: true,\n header: i18next.t('field.tag'),\n record: {\n editable: true\n },\n sortable: true,\n filter: 'search',\n width: 150\n },\n {\n type: 'object',\n name: 'appliance',\n header: i18next.t('field.appliance'),\n record: {\n editable: true,\n options: {\n queryName: 'appliances'\n }\n },\n sortable: true,\n width: 120\n },\n {\n type: 'resource-object',\n name: 'decoder',\n header: {\n renderer: i18next.t('field.decoder-scenario')\n },\n record: {\n editable: true,\n options: {\n title: i18next.t('title.lookup scenario'),\n queryName: 'scenarios',\n columns: [\n { name: 'id', hidden: true },\n { name: 'name', header: i18next.t('field.name'), filter: 'search' },\n { name: 'description', header: i18next.t('field.description'), filter: 'search' }\n ],\n list: { fields: ['name', 'description'] }\n }\n },\n filter: false,\n width: 120\n },\n {\n type: 'object',\n name: 'dataSet',\n header: i18next.t('field.data-set'),\n record: {\n editable: true,\n options: {\n queryName: 'dataSets'\n }\n },\n sortable: true,\n width: 120\n },\n {\n type: 'string',\n name: 'refBy',\n label: true,\n header: i18next.t('field.ref-by'),\n record: {\n editable: true\n },\n sortable: true,\n width: 150\n },\n {\n type: 'string',\n name: 'model',\n label: true,\n header: i18next.t('field.model'),\n record: {\n editable: true\n },\n sortable: true,\n width: 150\n },\n {\n type: 'string',\n name: 'brand',\n label: true,\n header: i18next.t('field.brand'),\n record: {\n editable: true\n },\n sortable: true,\n width: 150\n },\n {\n type: 'string',\n name: 'serialNo',\n label: true,\n header: i18next.t('field.serial-no'),\n record: {\n editable: true\n },\n sortable: true,\n width: 150\n },\n {\n type: 'string',\n name: 'netmask',\n label: true,\n header: i18next.t('field.netmask'),\n record: {\n editable: true\n },\n sortable: true,\n width: 150\n },\n {\n type: 'object',\n name: 'updater',\n header: i18next.t('field.updater'),\n record: {\n editable: false\n },\n sortable: true,\n width: 120\n },\n {\n type: 'datetime',\n name: 'updatedAt',\n header: i18next.t('field.updated_at'),\n record: {\n editable: false\n },\n sortable: true,\n width: 180\n }\n ],\n rows: {\n selectable: {\n multiple: true\n }\n },\n sorters: [\n {\n name: 'name'\n }\n ]\n }\n }\n\n async fetchHandler({ page, limit, sortings = [], filters = [] }: FetchOption) {\n const response = await client.query({\n query: gql`\n query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {\n responses: dataSensors(filters: $filters, pagination: $pagination, sortings: $sortings) {\n items {\n id\n name\n description\n active\n deviceId\n tag\n appliance {\n id\n name\n description\n }\n dataSet {\n id\n name\n description\n }\n decoder {\n id\n name\n description\n }\n refBy\n brand\n model\n serialNo\n netmask\n updater {\n id\n name\n }\n updatedAt\n }\n total\n }\n }\n `,\n variables: {\n filters,\n pagination: { page, limit },\n sortings\n }\n })\n\n return {\n total: response.data.responses.total || 0,\n records: response.data.responses.items || []\n }\n }\n\n async _deleteDataSensor() {\n if (\n await OxPrompt.open({\n title: i18next.t('text.are_you_sure'),\n text: i18next.t('text.sure_to_x', { x: i18next.t('text.delete') }),\n confirmButton: { text: i18next.t('button.confirm') },\n cancelButton: { text: i18next.t('button.cancel') }\n })\n ) {\n const ids = this.grist.selected.map(record => record.id)\n if (ids && ids.length > 0) {\n const response = await client.mutate({\n mutation: gql`\n mutation ($ids: [String!]!) {\n deleteDataSensors(ids: $ids)\n }\n `,\n variables: {\n ids\n }\n })\n\n if (!response.errors) {\n this.grist.fetch()\n notify({\n message: i18next.t('text.info_x_successfully', { x: i18next.t('text.delete') })\n })\n }\n }\n }\n }\n\n async _copyDataSensor() {\n var selected = this.grist.selected\n if (selected.length == 0) return\n\n if (!confirm(i18next.t('text.sure_to_x', { x: i18next.t('text.copy') }))) return\n var response = await client.mutate({\n mutation: gql`\n mutation ($ids: [String!]!) {\n copyDataSensors(ids: $ids) {\n id\n }\n }\n `,\n variables: {\n ids: selected.map(r => r.id)\n }\n })\n\n if (!response.errors) this.grist.fetch()\n }\n\n async _updateDataSensor() {\n let patches = this.grist.dirtyRecords\n if (patches && patches.length) {\n patches = patches.map(patch => {\n let patchField: any = patch.id ? { id: patch.id } : {}\n const dirtyFields = patch.__dirtyfields__\n for (let key in dirtyFields) {\n patchField[key] = dirtyFields[key].after\n }\n patchField.cuFlag = patch.__dirty__\n\n return patchField\n })\n\n const response = await client.mutate({\n mutation: gql`\n mutation ($patches: [DataSensorPatch!]!) {\n updateMultipleDataSensor(patches: $patches) {\n name\n }\n }\n `,\n variables: {\n patches\n }\n })\n\n if (!response.errors) this.grist.fetch()\n }\n }\n}\n"]}
1
+ {"version":3,"file":"data-sensor-list-page.js","sourceRoot":"","sources":["../../../client/pages/data-sensor/data-sensor-list-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/data-grist'\nimport '@operato/context/ox-context-page-toolbar.js'\n\nimport gql from 'graphql-tag'\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\nimport { connect } from 'pwa-helpers/connect-mixin'\n\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { notify } from '@operato/layout'\nimport { PageView, store } from '@operato/shell'\nimport { CommonHeaderStyles, ScrollbarStyles } from '@operato/styles'\nimport { isMobileDevice } from '@operato/utils'\nimport { DataGrist, FetchOption } from '@operato/data-grist'\nimport { OxPrompt } from '@operato/popup/ox-prompt.js'\n\n@customElement('data-sensor-list-page')\nexport class DataSensorListPage extends connect(store)(localize(i18next)(PageView)) {\n static styles = [\n ScrollbarStyles,\n CommonHeaderStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n overflow: hidden;\n }\n\n ox-grist {\n overflow-y: auto;\n flex: 1;\n }\n\n @media (max-width: 450px) {\n .header {\n display: grid;\n grid-template-areas:\n 'title actions'\n 'filters filters';\n }\n }\n `\n ]\n\n @state() private gristConfig: any\n @state() private mode: 'CARD' | 'GRID' | 'LIST' = isMobileDevice() ? 'CARD' : 'GRID'\n\n @query('ox-grist') private grist!: DataGrist\n\n get context() {\n return {\n title: i18next.t('title.data-sensor list'),\n search: {\n handler: (search: string) => {\n this.grist.searchText = search\n },\n value: this.grist?.searchText || ''\n },\n filter: {\n handler: () => {\n this.grist.toggleHeadroom()\n }\n },\n help: 'dataset/data-sensor',\n actions: [\n {\n icon: 'content_copy',\n title: i18next.t('button.copy'),\n action: this._copyDataSensor.bind(this)\n },\n {\n icon: 'save',\n title: i18next.t('button.save'),\n action: this._updateDataSensor.bind(this)\n },\n {\n icon: 'delete',\n title: i18next.t('button.delete'),\n action: this._deleteDataSensor.bind(this)\n }\n ],\n toolbar: false\n }\n }\n\n render() {\n const mode = this.mode || (isMobileDevice() ? 'LIST' : 'GRID')\n\n return html`\n <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)} ?url-params-sensitive=${this.active}>\n <div slot=\"headroom\" class=\"header\">\n <div class=\"title\">\n <mwc-icon>summarize</mwc-icon>\n ${i18next.t('title.data-sensor list')}\n </div>\n\n <div class=\"filters\">\n <ox-filters-form class=\"filter\" autofocus without-search></ox-filters-form>\n </div>\n\n <ox-context-page-toolbar class=\"actions\" .context=${this.context}></ox-context-page-toolbar>\n </div>\n </ox-grist>\n `\n }\n\n async pageInitialized(lifecycle) {\n this.gristConfig = {\n list: { fields: ['name', 'description', 'active'] },\n columns: [\n { type: 'gutter', gutterName: 'sequence', fixed: true },\n { type: 'gutter', gutterName: 'row-selector', multiple: true, fixed: true },\n {\n type: 'string',\n name: 'name',\n label: true,\n header: i18next.t('field.name'),\n record: {\n editable: true\n },\n filter: 'search',\n sortable: true,\n width: 150,\n fixed: true\n },\n {\n type: 'string',\n name: 'description',\n label: true,\n header: i18next.t('field.description'),\n record: {\n editable: true\n },\n filter: 'search',\n width: 200\n },\n {\n type: 'checkbox',\n name: 'active',\n label: true,\n header: i18next.t('field.active'),\n record: {\n editable: true\n },\n sortable: true,\n filter: true,\n width: 60\n },\n {\n type: 'string',\n name: 'deviceId',\n label: true,\n header: i18next.t('field.device-id'),\n record: {\n editable: true\n },\n filter: 'search',\n sortable: true,\n width: 150\n },\n {\n type: 'string',\n name: 'tag',\n label: true,\n header: i18next.t('field.tag'),\n record: {\n editable: true\n },\n sortable: true,\n filter: 'search',\n width: 150\n },\n {\n type: 'object',\n name: 'appliance',\n header: i18next.t('field.appliance'),\n record: {\n editable: true,\n options: {\n queryName: 'appliances'\n }\n },\n sortable: true,\n width: 120\n },\n {\n type: 'resource-object',\n name: 'decoder',\n header: {\n renderer: i18next.t('field.decoder-scenario')\n },\n record: {\n editable: true,\n options: {\n title: i18next.t('title.lookup scenario'),\n queryName: 'scenarios',\n columns: [\n { name: 'id', hidden: true },\n { name: 'name', header: i18next.t('field.name'), filter: 'search' },\n { name: 'description', header: i18next.t('field.description'), filter: 'search' }\n ],\n list: { fields: ['name', 'description'] }\n }\n },\n filter: false,\n width: 120\n },\n {\n type: 'object',\n name: 'dataSet',\n header: i18next.t('field.data-set'),\n record: {\n editable: true,\n options: {\n queryName: 'dataSets'\n }\n },\n sortable: true,\n width: 120\n },\n {\n type: 'string',\n name: 'refBy',\n label: true,\n header: i18next.t('field.ref-by'),\n record: {\n editable: true\n },\n sortable: true,\n width: 150\n },\n {\n type: 'string',\n name: 'model',\n label: true,\n header: i18next.t('field.model'),\n record: {\n editable: true\n },\n sortable: true,\n width: 150\n },\n {\n type: 'string',\n name: 'brand',\n label: true,\n header: i18next.t('field.brand'),\n record: {\n editable: true\n },\n sortable: true,\n width: 150\n },\n {\n type: 'string',\n name: 'serialNo',\n label: true,\n header: i18next.t('field.serial-no'),\n record: {\n editable: true\n },\n sortable: true,\n width: 150\n },\n {\n type: 'string',\n name: 'netmask',\n label: true,\n header: i18next.t('field.netmask'),\n record: {\n editable: true\n },\n sortable: true,\n width: 150\n },\n {\n type: 'object',\n name: 'updater',\n header: i18next.t('field.updater'),\n record: {\n editable: false\n },\n sortable: true,\n width: 120\n },\n {\n type: 'datetime',\n name: 'updatedAt',\n header: i18next.t('field.updated_at'),\n record: {\n editable: false\n },\n sortable: true,\n width: 180\n }\n ],\n rows: {\n selectable: {\n multiple: true\n }\n },\n sorters: [\n {\n name: 'name'\n }\n ]\n }\n }\n\n async fetchHandler({ page, limit, sortings = [], filters = [] }: FetchOption) {\n const response = await client.query({\n query: gql`\n query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {\n responses: dataSensors(filters: $filters, pagination: $pagination, sortings: $sortings) {\n items {\n id\n name\n description\n active\n deviceId\n tag\n appliance {\n id\n name\n description\n }\n dataSet {\n id\n name\n description\n }\n decoder {\n id\n name\n description\n }\n refBy\n brand\n model\n serialNo\n netmask\n updater {\n id\n name\n }\n updatedAt\n }\n total\n }\n }\n `,\n variables: {\n filters,\n pagination: { page, limit },\n sortings\n }\n })\n\n return {\n total: response.data.responses.total || 0,\n records: response.data.responses.items || []\n }\n }\n\n async _deleteDataSensor() {\n if (\n await OxPrompt.open({\n title: i18next.t('text.are_you_sure'),\n text: i18next.t('text.sure_to_x', { x: i18next.t('text.delete') }),\n confirmButton: { text: i18next.t('button.confirm') },\n cancelButton: { text: i18next.t('button.cancel') }\n })\n ) {\n const ids = this.grist.selected.map(record => record.id)\n if (ids && ids.length > 0) {\n const response = await client.mutate({\n mutation: gql`\n mutation ($ids: [String!]!) {\n deleteDataSensors(ids: $ids)\n }\n `,\n variables: {\n ids\n }\n })\n\n if (!response.errors) {\n this.grist.fetch()\n notify({\n message: i18next.t('text.info_x_successfully', { x: i18next.t('text.delete') })\n })\n }\n }\n }\n }\n\n async _copyDataSensor() {\n var selected = this.grist.selected\n if (selected.length == 0) return\n\n if (!confirm(i18next.t('text.sure_to_x', { x: i18next.t('text.copy') }))) return\n var response = await client.mutate({\n mutation: gql`\n mutation ($ids: [String!]!) {\n copyDataSensors(ids: $ids) {\n id\n }\n }\n `,\n variables: {\n ids: selected.map(r => r.id)\n }\n })\n\n if (!response.errors) this.grist.fetch()\n }\n\n async _updateDataSensor() {\n let patches = this.grist.dirtyRecords\n if (patches && patches.length) {\n patches = patches.map(patch => {\n let patchField: any = patch.id ? { id: patch.id } : {}\n const dirtyFields = patch.__dirtyfields__\n for (let key in dirtyFields) {\n patchField[key] = dirtyFields[key].after\n }\n patchField.cuFlag = patch.__dirty__\n\n return patchField\n })\n\n const response = await client.mutate({\n mutation: gql`\n mutation ($patches: [DataSensorPatch!]!) {\n updateMultipleDataSensor(patches: $patches) {\n name\n }\n }\n `,\n variables: {\n patches\n }\n })\n\n if (!response.errors) this.grist.fetch()\n }\n }\n}\n"]}