@things-factory/dataset 10.1.248 → 10.1.250

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 (351) hide show
  1. package/dist-client/activities/activity-data-collect-edit.d.ts +26 -0
  2. package/dist-client/activities/activity-data-collect-edit.js +156 -0
  3. package/dist-client/activities/activity-data-collect-edit.js.map +1 -0
  4. package/dist-client/activities/activity-data-collect-view.d.ts +16 -0
  5. package/dist-client/activities/activity-data-collect-view.js +94 -0
  6. package/dist-client/activities/activity-data-collect-view.js.map +1 -0
  7. package/dist-client/activities/activity-data-review-edit.d.ts +20 -0
  8. package/dist-client/activities/activity-data-review-edit.js +300 -0
  9. package/dist-client/activities/activity-data-review-edit.js.map +1 -0
  10. package/dist-client/activities/activity-data-review-view.d.ts +16 -0
  11. package/dist-client/activities/activity-data-review-view.js +247 -0
  12. package/dist-client/activities/activity-data-review-view.js.map +1 -0
  13. package/dist-client/activities/activity-ooc-resolve-edit.d.ts +2 -0
  14. package/dist-client/activities/activity-ooc-resolve-edit.js +203 -0
  15. package/dist-client/activities/activity-ooc-resolve-edit.js.map +1 -0
  16. package/dist-client/activities/activity-ooc-resolve-view.d.ts +14 -0
  17. package/dist-client/activities/activity-ooc-resolve-view.js +154 -0
  18. package/dist-client/activities/activity-ooc-resolve-view.js.map +1 -0
  19. package/dist-client/activities/activity-ooc-review-edit.d.ts +3 -0
  20. package/dist-client/activities/activity-ooc-review-edit.js +197 -0
  21. package/dist-client/activities/activity-ooc-review-edit.js.map +1 -0
  22. package/dist-client/activities/activity-ooc-review-view.d.ts +1 -0
  23. package/dist-client/activities/activity-ooc-review-view.js +139 -0
  24. package/dist-client/activities/activity-ooc-review-view.js.map +1 -0
  25. package/dist-client/bootstrap.d.ts +10 -0
  26. package/dist-client/bootstrap.js +26 -0
  27. package/dist-client/bootstrap.js.map +1 -0
  28. package/dist-client/components/checklist-entry-form.d.ts +21 -0
  29. package/dist-client/components/checklist-entry-form.js +107 -0
  30. package/dist-client/components/checklist-entry-form.js.map +1 -0
  31. package/dist-client/components/data-entry-form.d.ts +21 -0
  32. package/dist-client/components/data-entry-form.js +107 -0
  33. package/dist-client/components/data-entry-form.js.map +1 -0
  34. package/dist-client/index.d.ts +1 -0
  35. package/dist-client/index.js +2 -0
  36. package/dist-client/index.js.map +1 -0
  37. package/dist-client/pages/data-archive/data-archive-list-page.d.ts +55 -0
  38. package/dist-client/pages/data-archive/data-archive-list-page.js +234 -0
  39. package/dist-client/pages/data-archive/data-archive-list-page.js.map +1 -0
  40. package/dist-client/pages/data-archive/data-archive-request-popup.d.ts +1 -0
  41. package/dist-client/pages/data-archive/data-archive-request-popup.js +160 -0
  42. package/dist-client/pages/data-archive/data-archive-request-popup.js.map +1 -0
  43. package/dist-client/pages/data-entry/data-entry-list-page.d.ts +31 -0
  44. package/dist-client/pages/data-entry/data-entry-list-page.js +383 -0
  45. package/dist-client/pages/data-entry/data-entry-list-page.js.map +1 -0
  46. package/dist-client/pages/data-key-set/data-key-item-list.d.ts +19 -0
  47. package/dist-client/pages/data-key-set/data-key-item-list.js +183 -0
  48. package/dist-client/pages/data-key-set/data-key-item-list.js.map +1 -0
  49. package/dist-client/pages/data-key-set/data-key-set-importer.d.ts +10 -0
  50. package/dist-client/pages/data-key-set/data-key-set-importer.js +93 -0
  51. package/dist-client/pages/data-key-set/data-key-set-importer.js.map +1 -0
  52. package/dist-client/pages/data-key-set/data-key-set-list-page.d.ts +56 -0
  53. package/dist-client/pages/data-key-set/data-key-set-list-page.js +335 -0
  54. package/dist-client/pages/data-key-set/data-key-set-list-page.js.map +1 -0
  55. package/dist-client/pages/data-ooc/data-ooc-list-page.d.ts +67 -0
  56. package/dist-client/pages/data-ooc/data-ooc-list-page.js +484 -0
  57. package/dist-client/pages/data-ooc/data-ooc-list-page.js.map +1 -0
  58. package/dist-client/pages/data-ooc/data-ooc-page.d.ts +18 -0
  59. package/dist-client/pages/data-ooc/data-ooc-page.js +166 -0
  60. package/dist-client/pages/data-ooc/data-ooc-page.js.map +1 -0
  61. package/dist-client/pages/data-ooc/data-ooc-view.d.ts +19 -0
  62. package/dist-client/pages/data-ooc/data-ooc-view.js +234 -0
  63. package/dist-client/pages/data-ooc/data-ooc-view.js.map +1 -0
  64. package/dist-client/pages/data-ooc/data-oocs-page.d.ts +18 -0
  65. package/dist-client/pages/data-ooc/data-oocs-page.js +198 -0
  66. package/dist-client/pages/data-ooc/data-oocs-page.js.map +1 -0
  67. package/dist-client/pages/data-report/data-report-embed-page.d.ts +36 -0
  68. package/dist-client/pages/data-report/data-report-embed-page.js +104 -0
  69. package/dist-client/pages/data-report/data-report-embed-page.js.map +1 -0
  70. package/dist-client/pages/data-report/data-report-list-page.d.ts +30 -0
  71. package/dist-client/pages/data-report/data-report-list-page.js +370 -0
  72. package/dist-client/pages/data-report/data-report-list-page.js.map +1 -0
  73. package/dist-client/pages/data-report/data-report-samples-page.d.ts +26 -0
  74. package/dist-client/pages/data-report/data-report-samples-page.js +151 -0
  75. package/dist-client/pages/data-report/data-report-samples-page.js.map +1 -0
  76. package/dist-client/pages/data-report/jasper-report-oocs-page.d.ts +2 -0
  77. package/dist-client/pages/data-report/jasper-report-oocs-page.js +104 -0
  78. package/dist-client/pages/data-report/jasper-report-oocs-page.js.map +1 -0
  79. package/dist-client/pages/data-report/jasper-report-samples-crosstab-page.d.ts +2 -0
  80. package/dist-client/pages/data-report/jasper-report-samples-crosstab-page.js +104 -0
  81. package/dist-client/pages/data-report/jasper-report-samples-crosstab-page.js.map +1 -0
  82. package/dist-client/pages/data-report/jasper-report-samples-page.d.ts +2 -0
  83. package/dist-client/pages/data-report/jasper-report-samples-page.js +104 -0
  84. package/dist-client/pages/data-report/jasper-report-samples-page.js.map +1 -0
  85. package/dist-client/pages/data-sample/data-sample-list-page.d.ts +62 -0
  86. package/dist-client/pages/data-sample/data-sample-list-page.js +372 -0
  87. package/dist-client/pages/data-sample/data-sample-list-page.js.map +1 -0
  88. package/dist-client/pages/data-sample/data-sample-page.d.ts +17 -0
  89. package/dist-client/pages/data-sample/data-sample-page.js +57 -0
  90. package/dist-client/pages/data-sample/data-sample-page.js.map +1 -0
  91. package/dist-client/pages/data-sample/data-sample-search-page.d.ts +51 -0
  92. package/dist-client/pages/data-sample/data-sample-search-page.js +364 -0
  93. package/dist-client/pages/data-sample/data-sample-search-page.js.map +1 -0
  94. package/dist-client/pages/data-sample/data-sample-view.d.ts +23 -0
  95. package/dist-client/pages/data-sample/data-sample-view.js +309 -0
  96. package/dist-client/pages/data-sample/data-sample-view.js.map +1 -0
  97. package/dist-client/pages/data-sample/data-samples-page.d.ts +21 -0
  98. package/dist-client/pages/data-sample/data-samples-page.js +247 -0
  99. package/dist-client/pages/data-sample/data-samples-page.js.map +1 -0
  100. package/dist-client/pages/data-sensor/data-sensor-list-page.d.ts +50 -0
  101. package/dist-client/pages/data-sensor/data-sensor-list-page.js +395 -0
  102. package/dist-client/pages/data-sensor/data-sensor-list-page.js.map +1 -0
  103. package/dist-client/pages/data-set/data-item-list.d.ts +1 -0
  104. package/dist-client/pages/data-set/data-item-list.js +321 -0
  105. package/dist-client/pages/data-set/data-item-list.js.map +1 -0
  106. package/dist-client/pages/data-set/data-set-importer.d.ts +11 -0
  107. package/dist-client/pages/data-set/data-set-importer.js +96 -0
  108. package/dist-client/pages/data-set/data-set-importer.js.map +1 -0
  109. package/dist-client/pages/data-set/data-set-list-page.d.ts +77 -0
  110. package/dist-client/pages/data-set/data-set-list-page.js +1065 -0
  111. package/dist-client/pages/data-set/data-set-list-page.js.map +1 -0
  112. package/dist-client/pages/data-summary/data-summary-list-page.d.ts +51 -0
  113. package/dist-client/pages/data-summary/data-summary-list-page.js +308 -0
  114. package/dist-client/pages/data-summary/data-summary-list-page.js.map +1 -0
  115. package/dist-client/pages/data-summary/data-summary-period-page.d.ts +73 -0
  116. package/dist-client/pages/data-summary/data-summary-period-page.js +413 -0
  117. package/dist-client/pages/data-summary/data-summary-period-page.js.map +1 -0
  118. package/dist-client/pages/data-summary/data-summary-search-page.d.ts +70 -0
  119. package/dist-client/pages/data-summary/data-summary-search-page.js +360 -0
  120. package/dist-client/pages/data-summary/data-summary-search-page.js.map +1 -0
  121. package/dist-client/pages/data-summary/data-summary-view.d.ts +1 -0
  122. package/dist-client/pages/data-summary/data-summary-view.js +114 -0
  123. package/dist-client/pages/data-summary/data-summary-view.js.map +1 -0
  124. package/dist-client/pages/sure-to.d.ts +1 -0
  125. package/dist-client/pages/sure-to.js +10 -0
  126. package/dist-client/pages/sure-to.js.map +1 -0
  127. package/dist-client/route.d.ts +1 -0
  128. package/dist-client/route.js +71 -0
  129. package/dist-client/route.js.map +1 -0
  130. package/dist-client/tsconfig.tsbuildinfo +1 -0
  131. package/dist-server/activities/activity-data-collect.d.ts +42 -0
  132. package/dist-server/activities/activity-data-collect.js +89 -0
  133. package/dist-server/activities/activity-data-collect.js.map +1 -0
  134. package/dist-server/activities/activity-data-review.d.ts +42 -0
  135. package/dist-server/activities/activity-data-review.js +101 -0
  136. package/dist-server/activities/activity-data-review.js.map +1 -0
  137. package/dist-server/activities/activity-ooc-resolve.d.ts +42 -0
  138. package/dist-server/activities/activity-ooc-resolve.js +110 -0
  139. package/dist-server/activities/activity-ooc-resolve.js.map +1 -0
  140. package/dist-server/activities/activity-ooc-review.d.ts +42 -0
  141. package/dist-server/activities/activity-ooc-review.js +91 -0
  142. package/dist-server/activities/activity-ooc-review.js.map +1 -0
  143. package/dist-server/activities/index.d.ts +1 -0
  144. package/dist-server/activities/index.js +11 -0
  145. package/dist-server/activities/index.js.map +1 -0
  146. package/dist-server/controllers/create-data-ooc.d.ts +4 -0
  147. package/dist-server/controllers/create-data-ooc.js +73 -0
  148. package/dist-server/controllers/create-data-ooc.js.map +1 -0
  149. package/dist-server/controllers/create-data-sample.d.ts +3 -0
  150. package/dist-server/controllers/create-data-sample.js +341 -0
  151. package/dist-server/controllers/create-data-sample.js.map +1 -0
  152. package/dist-server/controllers/data-use-case.d.ts +36 -0
  153. package/dist-server/controllers/data-use-case.js +62 -0
  154. package/dist-server/controllers/data-use-case.js.map +1 -0
  155. package/dist-server/controllers/finalize-data-collection.d.ts +4 -0
  156. package/dist-server/controllers/finalize-data-collection.js +354 -0
  157. package/dist-server/controllers/finalize-data-collection.js.map +1 -0
  158. package/dist-server/controllers/index.d.ts +6 -0
  159. package/dist-server/controllers/index.js +10 -0
  160. package/dist-server/controllers/index.js.map +1 -0
  161. package/dist-server/controllers/issue-data-collection-task.d.ts +2 -0
  162. package/dist-server/controllers/issue-data-collection-task.js +64 -0
  163. package/dist-server/controllers/issue-data-collection-task.js.map +1 -0
  164. package/dist-server/controllers/issue-ooc-resolve.d.ts +3 -0
  165. package/dist-server/controllers/issue-ooc-resolve.js +55 -0
  166. package/dist-server/controllers/issue-ooc-resolve.js.map +1 -0
  167. package/dist-server/controllers/issue-ooc-review.d.ts +3 -0
  168. package/dist-server/controllers/issue-ooc-review.js +52 -0
  169. package/dist-server/controllers/issue-ooc-review.js.map +1 -0
  170. package/dist-server/controllers/jasper-report.d.ts +1 -0
  171. package/dist-server/controllers/jasper-report.js +166 -0
  172. package/dist-server/controllers/jasper-report.js.map +1 -0
  173. package/dist-server/controllers/query-data-summary-by-period.d.ts +3 -0
  174. package/dist-server/controllers/query-data-summary-by-period.js +163 -0
  175. package/dist-server/controllers/query-data-summary-by-period.js.map +1 -0
  176. package/dist-server/controllers/shiny-report.d.ts +1 -0
  177. package/dist-server/controllers/shiny-report.js +40 -0
  178. package/dist-server/controllers/shiny-report.js.map +1 -0
  179. package/dist-server/engine/index.d.ts +1 -0
  180. package/dist-server/engine/index.js +4 -0
  181. package/dist-server/engine/index.js.map +1 -0
  182. package/dist-server/engine/task/create-data-sample.d.ts +1 -0
  183. package/dist-server/engine/task/create-data-sample.js +81 -0
  184. package/dist-server/engine/task/create-data-sample.js.map +1 -0
  185. package/dist-server/engine/task/index.d.ts +2 -0
  186. package/dist-server/engine/task/index.js +5 -0
  187. package/dist-server/engine/task/index.js.map +1 -0
  188. package/dist-server/engine/task/issue-collect-data.d.ts +1 -0
  189. package/dist-server/engine/task/issue-collect-data.js +40 -0
  190. package/dist-server/engine/task/issue-collect-data.js.map +1 -0
  191. package/dist-server/index.d.ts +6 -0
  192. package/dist-server/index.js +10 -0
  193. package/dist-server/index.js.map +1 -0
  194. package/dist-server/routes.d.ts +1 -0
  195. package/dist-server/routes.js +152 -0
  196. package/dist-server/routes.js.map +1 -0
  197. package/dist-server/service/data-archive/data-archive-mutation.d.ts +16 -0
  198. package/dist-server/service/data-archive/data-archive-mutation.js +278 -0
  199. package/dist-server/service/data-archive/data-archive-mutation.js.map +1 -0
  200. package/dist-server/service/data-archive/data-archive-query.d.ts +11 -0
  201. package/dist-server/service/data-archive/data-archive-query.js +97 -0
  202. package/dist-server/service/data-archive/data-archive-query.js.map +1 -0
  203. package/dist-server/service/data-archive/data-archive-type.d.ts +23 -0
  204. package/dist-server/service/data-archive/data-archive-type.js +77 -0
  205. package/dist-server/service/data-archive/data-archive-type.js.map +1 -0
  206. package/dist-server/service/data-archive/data-archive.d.ts +19 -0
  207. package/dist-server/service/data-archive/data-archive.js +84 -0
  208. package/dist-server/service/data-archive/data-archive.js.map +1 -0
  209. package/dist-server/service/data-archive/index.d.ts +5 -0
  210. package/dist-server/service/data-archive/index.js +9 -0
  211. package/dist-server/service/data-archive/index.js.map +1 -0
  212. package/dist-server/service/data-key-set/data-key-item-type.d.ts +12 -0
  213. package/dist-server/service/data-key-set/data-key-item-type.js +52 -0
  214. package/dist-server/service/data-key-set/data-key-item-type.js.map +1 -0
  215. package/dist-server/service/data-key-set/data-key-set-mutation.d.ts +10 -0
  216. package/dist-server/service/data-key-set/data-key-set-mutation.js +203 -0
  217. package/dist-server/service/data-key-set/data-key-set-mutation.js.map +1 -0
  218. package/dist-server/service/data-key-set/data-key-set-query.d.ts +12 -0
  219. package/dist-server/service/data-key-set/data-key-set-query.js +117 -0
  220. package/dist-server/service/data-key-set/data-key-set-query.js.map +1 -0
  221. package/dist-server/service/data-key-set/data-key-set-type.d.ts +28 -0
  222. package/dist-server/service/data-key-set/data-key-set-type.js +106 -0
  223. package/dist-server/service/data-key-set/data-key-set-type.js.map +1 -0
  224. package/dist-server/service/data-key-set/data-key-set.d.ts +22 -0
  225. package/dist-server/service/data-key-set/data-key-set.js +104 -0
  226. package/dist-server/service/data-key-set/data-key-set.js.map +1 -0
  227. package/dist-server/service/data-key-set/index.d.ts +5 -0
  228. package/dist-server/service/data-key-set/index.js +9 -0
  229. package/dist-server/service/data-key-set/index.js.map +1 -0
  230. package/dist-server/service/data-ooc/data-ooc-mutation.d.ts +6 -0
  231. package/dist-server/service/data-ooc/data-ooc-mutation.js +96 -0
  232. package/dist-server/service/data-ooc/data-ooc-mutation.js.map +1 -0
  233. package/dist-server/service/data-ooc/data-ooc-query.d.ts +23 -0
  234. package/dist-server/service/data-ooc/data-ooc-query.js +209 -0
  235. package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -0
  236. package/dist-server/service/data-ooc/data-ooc-subscription.d.ts +12 -0
  237. package/dist-server/service/data-ooc/data-ooc-subscription.js +64 -0
  238. package/dist-server/service/data-ooc/data-ooc-subscription.js.map +1 -0
  239. package/dist-server/service/data-ooc/data-ooc-type.d.ts +27 -0
  240. package/dist-server/service/data-ooc/data-ooc-type.js +111 -0
  241. package/dist-server/service/data-ooc/data-ooc-type.js.map +1 -0
  242. package/dist-server/service/data-ooc/data-ooc.d.ts +63 -0
  243. package/dist-server/service/data-ooc/data-ooc.js +310 -0
  244. package/dist-server/service/data-ooc/data-ooc.js.map +1 -0
  245. package/dist-server/service/data-ooc/index.d.ts +6 -0
  246. package/dist-server/service/data-ooc/index.js +10 -0
  247. package/dist-server/service/data-ooc/index.js.map +1 -0
  248. package/dist-server/service/data-sample/data-sample-mutation.d.ts +5 -0
  249. package/dist-server/service/data-sample/data-sample-mutation.js +30 -0
  250. package/dist-server/service/data-sample/data-sample-mutation.js.map +1 -0
  251. package/dist-server/service/data-sample/data-sample-query.d.ts +22 -0
  252. package/dist-server/service/data-sample/data-sample-query.js +274 -0
  253. package/dist-server/service/data-sample/data-sample-query.js.map +1 -0
  254. package/dist-server/service/data-sample/data-sample-type.d.ts +18 -0
  255. package/dist-server/service/data-sample/data-sample-type.js +68 -0
  256. package/dist-server/service/data-sample/data-sample-type.js.map +1 -0
  257. package/dist-server/service/data-sample/data-sample.d.ts +45 -0
  258. package/dist-server/service/data-sample/data-sample.js +226 -0
  259. package/dist-server/service/data-sample/data-sample.js.map +1 -0
  260. package/dist-server/service/data-sample/index.d.ts +5 -0
  261. package/dist-server/service/data-sample/index.js +9 -0
  262. package/dist-server/service/data-sample/index.js.map +1 -0
  263. package/dist-server/service/data-sensor/data-sensor-mutation.d.ts +9 -0
  264. package/dist-server/service/data-sensor/data-sensor-mutation.js +137 -0
  265. package/dist-server/service/data-sensor/data-sensor-mutation.js.map +1 -0
  266. package/dist-server/service/data-sensor/data-sensor-query.d.ts +16 -0
  267. package/dist-server/service/data-sensor/data-sensor-query.js +137 -0
  268. package/dist-server/service/data-sensor/data-sensor-query.js.map +1 -0
  269. package/dist-server/service/data-sensor/data-sensor-type.d.ts +42 -0
  270. package/dist-server/service/data-sensor/data-sensor-type.js +162 -0
  271. package/dist-server/service/data-sensor/data-sensor-type.js.map +1 -0
  272. package/dist-server/service/data-sensor/data-sensor.d.ts +33 -0
  273. package/dist-server/service/data-sensor/data-sensor.js +160 -0
  274. package/dist-server/service/data-sensor/data-sensor.js.map +1 -0
  275. package/dist-server/service/data-sensor/index.d.ts +5 -0
  276. package/dist-server/service/data-sensor/index.js +9 -0
  277. package/dist-server/service/data-sensor/index.js.map +1 -0
  278. package/dist-server/service/data-set/data-item-type.d.ts +321 -0
  279. package/dist-server/service/data-set/data-item-type.js +458 -0
  280. package/dist-server/service/data-set/data-item-type.js.map +1 -0
  281. package/dist-server/service/data-set/data-set-mutation.d.ts +20 -0
  282. package/dist-server/service/data-set/data-set-mutation.js +551 -0
  283. package/dist-server/service/data-set/data-set-mutation.js.map +1 -0
  284. package/dist-server/service/data-set/data-set-query.d.ts +39 -0
  285. package/dist-server/service/data-set/data-set-query.js +565 -0
  286. package/dist-server/service/data-set/data-set-query.js.map +1 -0
  287. package/dist-server/service/data-set/data-set-type.d.ts +75 -0
  288. package/dist-server/service/data-set/data-set-type.js +276 -0
  289. package/dist-server/service/data-set/data-set-type.js.map +1 -0
  290. package/dist-server/service/data-set/data-set.d.ts +96 -0
  291. package/dist-server/service/data-set/data-set.js +380 -0
  292. package/dist-server/service/data-set/data-set.js.map +1 -0
  293. package/dist-server/service/data-set/index.d.ts +5 -0
  294. package/dist-server/service/data-set/index.js +9 -0
  295. package/dist-server/service/data-set/index.js.map +1 -0
  296. package/dist-server/service/data-set-history/data-set-history-query.d.ts +21 -0
  297. package/dist-server/service/data-set-history/data-set-history-query.js +183 -0
  298. package/dist-server/service/data-set-history/data-set-history-query.js.map +1 -0
  299. package/dist-server/service/data-set-history/data-set-history-type.d.ts +5 -0
  300. package/dist-server/service/data-set-history/data-set-history-type.js +21 -0
  301. package/dist-server/service/data-set-history/data-set-history-type.js.map +1 -0
  302. package/dist-server/service/data-set-history/data-set-history.d.ts +53 -0
  303. package/dist-server/service/data-set-history/data-set-history.js +265 -0
  304. package/dist-server/service/data-set-history/data-set-history.js.map +1 -0
  305. package/dist-server/service/data-set-history/event-subscriber.d.ts +7 -0
  306. package/dist-server/service/data-set-history/event-subscriber.js +21 -0
  307. package/dist-server/service/data-set-history/event-subscriber.js.map +1 -0
  308. package/dist-server/service/data-set-history/index.d.ts +6 -0
  309. package/dist-server/service/data-set-history/index.js +10 -0
  310. package/dist-server/service/data-set-history/index.js.map +1 -0
  311. package/dist-server/service/data-spec/data-spec-manager.d.ts +10 -0
  312. package/dist-server/service/data-spec/data-spec-manager.js +20 -0
  313. package/dist-server/service/data-spec/data-spec-manager.js.map +1 -0
  314. package/dist-server/service/data-spec/data-spec-query.d.ts +5 -0
  315. package/dist-server/service/data-spec/data-spec-query.js +37 -0
  316. package/dist-server/service/data-spec/data-spec-query.js.map +1 -0
  317. package/dist-server/service/data-spec/data-spec.d.ts +19 -0
  318. package/dist-server/service/data-spec/data-spec.js +79 -0
  319. package/dist-server/service/data-spec/data-spec.js.map +1 -0
  320. package/dist-server/service/data-spec/index.d.ts +4 -0
  321. package/dist-server/service/data-spec/index.js +8 -0
  322. package/dist-server/service/data-spec/index.js.map +1 -0
  323. package/dist-server/service/data-summary/data-summary-mutation.d.ts +6 -0
  324. package/dist-server/service/data-summary/data-summary-mutation.js +76 -0
  325. package/dist-server/service/data-summary/data-summary-mutation.js.map +1 -0
  326. package/dist-server/service/data-summary/data-summary-query.d.ts +19 -0
  327. package/dist-server/service/data-summary/data-summary-query.js +237 -0
  328. package/dist-server/service/data-summary/data-summary-query.js.map +1 -0
  329. package/dist-server/service/data-summary/data-summary-type.d.ts +33 -0
  330. package/dist-server/service/data-summary/data-summary-type.js +139 -0
  331. package/dist-server/service/data-summary/data-summary-type.js.map +1 -0
  332. package/dist-server/service/data-summary/data-summary.d.ts +38 -0
  333. package/dist-server/service/data-summary/data-summary.js +202 -0
  334. package/dist-server/service/data-summary/data-summary.js.map +1 -0
  335. package/dist-server/service/data-summary/index.d.ts +6 -0
  336. package/dist-server/service/data-summary/index.js +10 -0
  337. package/dist-server/service/data-summary/index.js.map +1 -0
  338. package/dist-server/service/index.d.ts +14 -0
  339. package/dist-server/service/index.js +54 -0
  340. package/dist-server/service/index.js.map +1 -0
  341. package/dist-server/tsconfig.tsbuildinfo +1 -0
  342. package/dist-server/utils/config-resolver.d.ts +1 -0
  343. package/dist-server/utils/config-resolver.js +32 -0
  344. package/dist-server/utils/config-resolver.js.map +1 -0
  345. package/dist-server/utils/index.d.ts +2 -0
  346. package/dist-server/utils/index.js +6 -0
  347. package/dist-server/utils/index.js.map +1 -0
  348. package/dist-server/utils/media-validation.d.ts +51 -0
  349. package/dist-server/utils/media-validation.js +148 -0
  350. package/dist-server/utils/media-validation.js.map +1 -0
  351. package/package.json +11 -11
@@ -0,0 +1,413 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import '@material/web/icon/icon.js';
3
+ import '@operato/input/ox-input-select-buttons.js';
4
+ import '@operato/data-grist';
5
+ import gql from 'graphql-tag';
6
+ import { css, html, nothing } from 'lit';
7
+ import { customElement, query, state } from 'lit/decorators.js';
8
+ import { DataGrist } from '@operato/data-grist';
9
+ import { client } from '@operato/graphql';
10
+ import { i18next, localize } from '@operato/i18n';
11
+ import { PageView } from '@operato/shell';
12
+ import { CommonHeaderStyles, ScrollbarStyles, WorkSurfacePageStyles } from '@operato/styles';
13
+ import { isMobileDevice } from '@operato/utils';
14
+ var DataSetSummaryGroupType;
15
+ (function (DataSetSummaryGroupType) {
16
+ DataSetSummaryGroupType["Today"] = "today";
17
+ DataSetSummaryGroupType["ThisMonth"] = "this month";
18
+ DataSetSummaryGroupType["ThirtyDays"] = "30 days";
19
+ DataSetSummaryGroupType["ThisYear"] = "this year";
20
+ DataSetSummaryGroupType["TwelveMonths"] = "12 months";
21
+ DataSetSummaryGroupType["DateRange"] = "date range";
22
+ DataSetSummaryGroupType["Month"] = "month";
23
+ })(DataSetSummaryGroupType || (DataSetSummaryGroupType = {}));
24
+ let DataSummaryGroupPage = class DataSummaryGroupPage extends localize(i18next)(PageView) {
25
+ constructor() {
26
+ super(...arguments);
27
+ this.period = DataSetSummaryGroupType.ThisMonth;
28
+ this.withKeys = false;
29
+ this.mode = isMobileDevice() ? 'CARD' : 'GRID';
30
+ }
31
+ static { this.styles = [
32
+ /* The work surface frame for a list screen (ADR-0060 decision 8). */
33
+ WorkSurfacePageStyles,
34
+ ScrollbarStyles,
35
+ CommonHeaderStyles,
36
+ css `
37
+
38
+ ox-grist { overflow-y: auto;
39
+ flex: 1;
40
+ }
41
+
42
+ .header { grid-template-areas: 'filters actions';
43
+ }
44
+ `
45
+ ]; }
46
+ get context() {
47
+ return { title: i18next.t('title.data-summary period'),
48
+ help: 'dataset/data-summary-period',
49
+ actions: [
50
+ { type: 'icon',
51
+ icon: 'search',
52
+ action: () => {
53
+ this.grist.fetch();
54
+ }
55
+ }
56
+ ],
57
+ exportable: { name: i18next.t('title.data-summary period'),
58
+ data: this._exportableData.bind(this)
59
+ }
60
+ };
61
+ }
62
+ render() {
63
+ const mode = this.mode || (isMobileDevice() ? 'LIST' : 'GRID');
64
+ return html `
65
+ <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}>
66
+ <div slot="headroom" class="header">
67
+ <div
68
+ class="filters"
69
+ @change=${(e) => {
70
+ const element = e.target;
71
+ if (element?.hasAttribute('period')) {
72
+ this.period = element?.value;
73
+ }
74
+ else if (element?.hasAttribute('with-keys')) {
75
+ this.withKeys = element?.checked;
76
+ }
77
+ this.refreshGristConfig();
78
+ }}
79
+ >
80
+ <ox-input-select-buttons
81
+ class="filter"
82
+ .value=${this.period}
83
+ .options=${[
84
+ { display: i18next.t('label.period-this-month'), value: 'this month' },
85
+ { display: i18next.t('label.period-30-days'), value: '30 days' },
86
+ { display: i18next.t('label.period-this-year'), value: 'this year' },
87
+ { display: i18next.t('label.period-12-months'), value: '12 months' },
88
+ { display: i18next.t('label.period-today'), value: 'today' },
89
+ { display: i18next.t('label.period-month'), value: 'month' },
90
+ { display: i18next.t('label.period-date-range'), value: 'date range' }
91
+ ]}
92
+ period
93
+ ></ox-input-select-buttons>
94
+
95
+ ${this.period == 'date range' || this.period == 'month'
96
+ ? html `<ox-filters-form without-search></ox-filters-form>`
97
+ : nothing}
98
+
99
+ <ox-checkbox class="filter" with-keys>${i18next.t('label.group-by data-keys')}</ox-checkbox>
100
+ </div>
101
+
102
+ </div>
103
+ </ox-grist>
104
+ `;
105
+ }
106
+ pageUpdated(changes, lifecycle) {
107
+ if (this.active) {
108
+ this.dataSetId = lifecycle.resourceId;
109
+ return;
110
+ }
111
+ }
112
+ async updated(changes) {
113
+ if (changes.has('dataSetId')) {
114
+ const response = await client.query({ query: gql `
115
+ query ($id: String!) { dataSet(id: $id) { id
116
+ name
117
+ summaryPeriod
118
+ dataItems { name
119
+ description
120
+ active
121
+ hidden
122
+ tag
123
+ group
124
+ type
125
+ unit
126
+ options
127
+ quota
128
+ spec
129
+ stat
130
+ }
131
+ dataKeySet { id
132
+ name
133
+ description
134
+ dataKeyItems { name
135
+ description
136
+ dataKey
137
+ tKey
138
+ }
139
+ }
140
+ }
141
+ }
142
+ `,
143
+ variables: { id: this.dataSetId
144
+ }
145
+ });
146
+ this.dataSet = response.data?.dataSet;
147
+ this.dataKeySet = this.dataSet?.dataKeySet || {};
148
+ this.dataItems = this.dataSet?.dataItems || [];
149
+ this.refreshGristConfig();
150
+ this.grist.fetch();
151
+ }
152
+ }
153
+ getKeyColumns() {
154
+ if (!this.withKeys) {
155
+ return [];
156
+ }
157
+ return (this.dataKeySet?.dataKeyItems.map((item, index) => {
158
+ return { type: 'string',
159
+ name: `key0${index + 1}`,
160
+ header: i18next.t(item.tKey),
161
+ label: true,
162
+ record: { editable: false
163
+ },
164
+ sortable: true,
165
+ width: 120,
166
+ imex: true
167
+ };
168
+ }) || []);
169
+ }
170
+ getDataColumns() {
171
+ return (this.dataItems
172
+ ?.filter(dataItem => dataItem.active && dataItem.stat)
173
+ .map((item, index) => {
174
+ return { type: 'number',
175
+ name: `data0${index + 1}`,
176
+ header: i18next.t(item.name),
177
+ label: true,
178
+ record: { editable: false
179
+ },
180
+ width: 120,
181
+ imex: true
182
+ };
183
+ }) || []);
184
+ }
185
+ refreshGristConfig() {
186
+ const keyColumns = this.getKeyColumns();
187
+ const dataColumns = this.getDataColumns();
188
+ const listFields = [];
189
+ const monthFieldRequired = this.period == DataSetSummaryGroupType.ThisYear ||
190
+ this.period == DataSetSummaryGroupType.TwelveMonths ||
191
+ this.period == DataSetSummaryGroupType.Month;
192
+ const dateFieldRequired = this.period != DataSetSummaryGroupType.ThisYear && this.period != DataSetSummaryGroupType.TwelveMonths;
193
+ const periodRequired = this.period == DataSetSummaryGroupType.Today;
194
+ monthFieldRequired && listFields.push('month');
195
+ dateFieldRequired && listFields.push('date');
196
+ periodRequired && listFields.push('period');
197
+ keyColumns.map(col => listFields.push(col.name));
198
+ dataColumns.map(col => listFields.push(col.name));
199
+ listFields.push('count', 'countOoc', 'countOos');
200
+ this.gristConfig = { list: { fields: listFields },
201
+ columns: [
202
+ { type: 'gutter', gutterName: 'sequence', fixed: true },
203
+ monthFieldRequired && { type: 'string',
204
+ name: 'month',
205
+ fixed: true,
206
+ header: i18next.t('field.month'),
207
+ label: true,
208
+ width: 80,
209
+ sortable: true,
210
+ filter: this.period == DataSetSummaryGroupType.Month && { type: 'month',
211
+ operator: 'eq',
212
+ value: this.grist.filters?.find(({ name }) => name == 'month')?.value ||
213
+ new Date().toLocaleDateString('sv-SE').slice(0, 7)
214
+ },
215
+ hidden: this.period == DataSetSummaryGroupType.Month,
216
+ imex: true
217
+ },
218
+ dateFieldRequired && { type: 'string',
219
+ name: 'date',
220
+ fixed: true,
221
+ header: i18next.t('field.date'),
222
+ label: true,
223
+ sortable: true,
224
+ width: 100,
225
+ filter: this.period == DataSetSummaryGroupType.DateRange && { type: 'date',
226
+ operator: 'between',
227
+ value: this.grist.filters?.find(({ name }) => name == 'date')?.value || [
228
+ new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('sv-SE'),
229
+ new Date().toLocaleDateString('sv-SE')
230
+ ]
231
+ },
232
+ imex: true
233
+ },
234
+ periodRequired && { type: 'string',
235
+ name: 'period',
236
+ fixed: true,
237
+ header: i18next.t('field.time-period'),
238
+ label: true,
239
+ sortable: true,
240
+ width: 80,
241
+ imex: true
242
+ },
243
+ ...keyColumns,
244
+ ...dataColumns,
245
+ { type: 'number',
246
+ name: 'count',
247
+ header: i18next.t('field.count'),
248
+ label: true,
249
+ record: { editable: false
250
+ },
251
+ width: 30
252
+ },
253
+ { type: 'number',
254
+ name: 'countOoc',
255
+ label: true,
256
+ header: i18next.t('field.count-ooc'),
257
+ record: { editable: false
258
+ },
259
+ width: 30
260
+ },
261
+ { type: 'number',
262
+ name: 'countOos',
263
+ header: i18next.t('field.count-oos'),
264
+ label: true,
265
+ record: { editable: false
266
+ },
267
+ width: 30
268
+ }
269
+ ].filter(Boolean),
270
+ pagination: { infinite: true
271
+ },
272
+ rows: { appendable: false,
273
+ selectable: { multiple: true
274
+ }
275
+ }
276
+ };
277
+ }
278
+ async fetchHandler({ page, limit, sortings = [], filters = [] }) {
279
+ if (!this.dataSetId) {
280
+ return { records: [], total: 0 };
281
+ }
282
+ if (this.period == 'date range' || this.period == 'month') {
283
+ const { fromDate, toDate, month } = filters.reduce((acc, filter) => {
284
+ if (filter.name === 'fromDate')
285
+ acc.fromDate = filter.value;
286
+ if (filter.name === 'toDate')
287
+ acc.toDate = filter.value;
288
+ if (filter.name === 'month')
289
+ acc.month = filter.value;
290
+ return acc;
291
+ }, { fromDate: null, toDate: null, month: null });
292
+ }
293
+ const response = await client.query({ query: gql `
294
+ query (
295
+ $dataSetName: String!
296
+ $period: String!
297
+ $dataKeys: [String!]
298
+ $filters: [Filter!]
299
+ $pagination: Pagination
300
+ $sortings: [Sorting!]
301
+ ) { dataSummaryByPeriod(
302
+ dataSetName: $dataSetName
303
+ period: $period
304
+ dataKeys: $dataKeys
305
+ filters: $filters
306
+ pagination: $pagination
307
+ sortings: $sortings
308
+ ) { month
309
+ date
310
+ period
311
+ key01
312
+ key02
313
+ key03
314
+ key04
315
+ key05
316
+ data01
317
+ data02
318
+ data03
319
+ data04
320
+ data05
321
+ count
322
+ countOoc
323
+ countOos
324
+ }
325
+ }
326
+ `,
327
+ variables: { dataSetName: this.dataSet.name,
328
+ period: this.period,
329
+ dataKeys: this.withKeys ? null : [],
330
+ filters,
331
+ pagination: { page, limit },
332
+ sortings
333
+ }
334
+ });
335
+ return { records: response.data?.dataSummaryByPeriod || []
336
+ };
337
+ }
338
+ _exportableData() {
339
+ let records = [];
340
+ if (this.grist.selected && this.grist.selected.length > 0) {
341
+ records = this.grist.selected;
342
+ }
343
+ else {
344
+ records = this.grist.data.records;
345
+ }
346
+ var headerSetting = this.grist.compiledConfig.columns
347
+ .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)
348
+ .map(column => {
349
+ return column.imex === true
350
+ ? { header: column.header.renderer(column),
351
+ key: column.name,
352
+ width: column.width,
353
+ type: column.type
354
+ }
355
+ : column.imex;
356
+ });
357
+ var data = records.map(item => {
358
+ return { id: item.id,
359
+ ...this.gristConfig.columns
360
+ .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)
361
+ .reduce((record, column) => {
362
+ const key = column.imex === true ? column.name : column.imex.key;
363
+ record[key] = key
364
+ .split('.')
365
+ .reduce((obj, key) => (obj && obj[key] !== 'undefined' ? obj[key] : undefined), item);
366
+ return record;
367
+ }, {})
368
+ };
369
+ });
370
+ return { header: headerSetting, data: data };
371
+ }
372
+ };
373
+ __decorate([
374
+ state(),
375
+ __metadata("design:type", String)
376
+ ], DataSummaryGroupPage.prototype, "dataSetId", void 0);
377
+ __decorate([
378
+ state(),
379
+ __metadata("design:type", String)
380
+ ], DataSummaryGroupPage.prototype, "period", void 0);
381
+ __decorate([
382
+ state(),
383
+ __metadata("design:type", Boolean)
384
+ ], DataSummaryGroupPage.prototype, "withKeys", void 0);
385
+ __decorate([
386
+ state(),
387
+ __metadata("design:type", Object)
388
+ ], DataSummaryGroupPage.prototype, "dataSet", void 0);
389
+ __decorate([
390
+ state(),
391
+ __metadata("design:type", Object)
392
+ ], DataSummaryGroupPage.prototype, "dataKeySet", void 0);
393
+ __decorate([
394
+ state(),
395
+ __metadata("design:type", Array)
396
+ ], DataSummaryGroupPage.prototype, "dataItems", void 0);
397
+ __decorate([
398
+ state(),
399
+ __metadata("design:type", Object)
400
+ ], DataSummaryGroupPage.prototype, "gristConfig", void 0);
401
+ __decorate([
402
+ state(),
403
+ __metadata("design:type", String)
404
+ ], DataSummaryGroupPage.prototype, "mode", void 0);
405
+ __decorate([
406
+ query('ox-grist'),
407
+ __metadata("design:type", DataGrist)
408
+ ], DataSummaryGroupPage.prototype, "grist", void 0);
409
+ DataSummaryGroupPage = __decorate([
410
+ customElement('data-summary-period-page')
411
+ ], DataSummaryGroupPage);
412
+ export { DataSummaryGroupPage };
413
+ //# sourceMappingURL=data-summary-period-page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-summary-period-page.js","sourceRoot":"","sources":["../../../client/pages/data-summary/data-summary-period-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@operato/input/ox-input-select-buttons.js'\nimport '@operato/data-grist'\n\nimport gql from 'graphql-tag'\nimport { css, html, nothing } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { DataGrist, FetchHandler, FetchOption, GristRecord } from '@operato/data-grist'\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { PageView } from '@operato/shell'\nimport { CommonHeaderStyles, ScrollbarStyles, WorkSurfacePageStyles } from '@operato/styles'\nimport { isMobileDevice } from '@operato/utils'\nimport { DataItem } from '@operato/dataset'\n\nenum DataSetSummaryGroupType { Today = 'today',\n ThisMonth = 'this month',\n ThirtyDays = '30 days',\n ThisYear = 'this year',\n TwelveMonths = '12 months',\n DateRange = 'date range',\n Month = 'month'\n}\n\n@customElement('data-summary-period-page')\nexport class DataSummaryGroupPage extends localize(i18next)(PageView) { static styles = [\n /* The work surface frame for a list screen (ADR-0060 decision 8). */\n WorkSurfacePageStyles,\n ScrollbarStyles,\n CommonHeaderStyles,\n css`\n\n ox-grist { overflow-y: auto;\n flex: 1;\n }\n\n .header { grid-template-areas: 'filters actions';\n }\n `\n ]\n\n @state() dataSetId?: string\n @state() period?: string = DataSetSummaryGroupType.ThisMonth\n @state() withKeys: boolean = false\n\n @state() dataSet: any\n @state() dataKeySet: any\n @state() dataItems?: DataItem[]\n\n @state() gristConfig: any\n @state() mode: 'CARD' | 'GRID' | 'LIST' = isMobileDevice() ? 'CARD' : 'GRID'\n\n @query('ox-grist') private grist!: DataGrist\n\n get context() { return { title: i18next.t('title.data-summary period'),\n help: 'dataset/data-summary-period',\n actions: [\n { type: 'icon',\n icon: 'search',\n action: () => { this.grist.fetch()\n }\n }\n ],\n exportable: { name: i18next.t('title.data-summary period'),\n data: this._exportableData.bind(this)\n }\n }\n }\n\n render() { const mode = this.mode || (isMobileDevice() ? 'LIST' : 'GRID')\n\n return html`\n <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this) as FetchHandler}>\n <div slot=\"headroom\" class=\"header\">\n <div\n class=\"filters\"\n @change=${(e: CustomEvent) => { const element = e.target as Element\n if (element?.hasAttribute('period')) { this.period = (element as any)?.value\n } else if (element?.hasAttribute('with-keys')) { this.withKeys = (element as any)?.checked\n }\n\n this.refreshGristConfig()\n }}\n >\n <ox-input-select-buttons\n class=\"filter\"\n .value=${this.period}\n .options=${[\n { display: i18next.t('label.period-this-month'), value: 'this month' },\n { display: i18next.t('label.period-30-days'), value: '30 days' },\n { display: i18next.t('label.period-this-year'), value: 'this year' },\n { display: i18next.t('label.period-12-months'), value: '12 months' },\n { display: i18next.t('label.period-today'), value: 'today' },\n { display: i18next.t('label.period-month'), value: 'month' },\n { display: i18next.t('label.period-date-range'), value: 'date range' }\n ]}\n period\n ></ox-input-select-buttons>\n\n ${this.period == 'date range' || this.period == 'month'\n ? html`<ox-filters-form without-search></ox-filters-form>`\n : nothing}\n\n <ox-checkbox class=\"filter\" with-keys>${i18next.t('label.group-by data-keys')}</ox-checkbox>\n </div>\n\n </div>\n </ox-grist>\n `\n }\n\n pageUpdated(changes, lifecycle) { if (this.active) { this.dataSetId = lifecycle.resourceId\n return\n }\n }\n\n async updated(changes) { if (changes.has('dataSetId')) { const response = await client.query({ query: gql`\n query ($id: String!) { dataSet(id: $id) { id\n name\n summaryPeriod\n dataItems { name\n description\n active\n hidden\n tag\n group\n type\n unit\n options\n quota\n spec\n stat\n }\n dataKeySet { id\n name\n description\n dataKeyItems { name\n description\n dataKey\n tKey\n }\n }\n }\n }\n `,\n variables: { id: this.dataSetId\n }\n })\n\n this.dataSet = response.data?.dataSet\n this.dataKeySet = this.dataSet?.dataKeySet || {}\n this.dataItems = this.dataSet?.dataItems || []\n\n this.refreshGristConfig()\n this.grist.fetch()\n }\n }\n\n getKeyColumns() { if (!this.withKeys) { return []\n }\n\n return (\n this.dataKeySet?.dataKeyItems.map((item, index) => { return { type: 'string',\n name: `key0${index + 1}`,\n header: i18next.t(item.tKey),\n label: true,\n record: { editable: false\n },\n sortable: true,\n width: 120,\n imex: true\n }\n }) || []\n )\n }\n\n getDataColumns() { return (\n this.dataItems\n ?.filter(dataItem => dataItem.active && dataItem.stat)\n .map((item, index) => { return { type: 'number',\n name: `data0${index + 1}`,\n header: i18next.t(item.name),\n label: true,\n record: { editable: false\n },\n width: 120,\n imex: true\n }\n }) || []\n )\n }\n\n refreshGristConfig() { const keyColumns = this.getKeyColumns()\n const dataColumns = this.getDataColumns()\n\n const listFields = [] as string[]\n const monthFieldRequired =\n this.period == DataSetSummaryGroupType.ThisYear ||\n this.period == DataSetSummaryGroupType.TwelveMonths ||\n this.period == DataSetSummaryGroupType.Month\n const dateFieldRequired =\n this.period != DataSetSummaryGroupType.ThisYear && this.period != DataSetSummaryGroupType.TwelveMonths\n const periodRequired = this.period == DataSetSummaryGroupType.Today\n\n monthFieldRequired && listFields.push('month')\n dateFieldRequired && listFields.push('date')\n periodRequired && listFields.push('period')\n\n keyColumns.map(col => listFields.push(col.name))\n dataColumns.map(col => listFields.push(col.name))\n\n listFields.push('count', 'countOoc', 'countOos')\n\n this.gristConfig = { list: { fields: listFields },\n columns: [\n { type: 'gutter', gutterName: 'sequence', fixed: true },\n monthFieldRequired && { type: 'string',\n name: 'month',\n fixed: true,\n header: i18next.t('field.month'),\n label: true,\n width: 80,\n sortable: true,\n filter: this.period == DataSetSummaryGroupType.Month && { type: 'month',\n operator: 'eq',\n value:\n this.grist.filters?.find(({ name }) => name == 'month')?.value ||\n new Date().toLocaleDateString('sv-SE').slice(0, 7)\n },\n hidden: this.period == DataSetSummaryGroupType.Month,\n imex: true\n },\n dateFieldRequired && { type: 'string',\n name: 'date',\n fixed: true,\n header: i18next.t('field.date'),\n label: true,\n sortable: true,\n width: 100,\n filter: this.period == DataSetSummaryGroupType.DateRange && { type: 'date',\n operator: 'between',\n value: this.grist.filters?.find(({ name }) => name == 'date')?.value || [\n new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('sv-SE'),\n new Date().toLocaleDateString('sv-SE')\n ]\n },\n imex: true\n },\n periodRequired && { type: 'string',\n name: 'period',\n fixed: true,\n header: i18next.t('field.time-period'),\n label: true,\n sortable: true,\n width: 80,\n imex: true\n },\n ...keyColumns,\n ...dataColumns,\n { type: 'number',\n name: 'count',\n header: i18next.t('field.count'),\n label: true,\n record: { editable: false\n },\n width: 30\n },\n { type: 'number',\n name: 'countOoc',\n label: true,\n header: i18next.t('field.count-ooc'),\n record: { editable: false\n },\n width: 30\n },\n { type: 'number',\n name: 'countOos',\n header: i18next.t('field.count-oos'),\n label: true,\n record: { editable: false\n },\n width: 30\n }\n ].filter(Boolean),\n pagination: { infinite: true\n },\n rows: { appendable: false,\n selectable: { multiple: true\n }\n }\n }\n }\n\n async fetchHandler({ page, limit, sortings = [], filters = [] }: FetchOption) { if (!this.dataSetId) { return { records: [], total: 0 }\n }\n\n if (this.period == 'date range' || this.period == 'month') { const { fromDate, toDate, month } = filters.reduce(\n (acc, filter) => { if (filter.name === 'fromDate') acc.fromDate = filter.value\n if (filter.name === 'toDate') acc.toDate = filter.value\n if (filter.name === 'month') acc.month = filter.value\n return acc\n },\n { fromDate: null, toDate: null, month: null }\n )\n }\n\n const response = await client.query({ query: gql`\n query (\n $dataSetName: String!\n $period: String!\n $dataKeys: [String!]\n $filters: [Filter!]\n $pagination: Pagination\n $sortings: [Sorting!]\n ) { dataSummaryByPeriod(\n dataSetName: $dataSetName\n period: $period\n dataKeys: $dataKeys\n filters: $filters\n pagination: $pagination\n sortings: $sortings\n ) { month\n date\n period\n key01\n key02\n key03\n key04\n key05\n data01\n data02\n data03\n data04\n data05\n count\n countOoc\n countOos\n }\n }\n `,\n variables: { dataSetName: this.dataSet.name,\n period: this.period,\n dataKeys: this.withKeys ? null : [],\n filters,\n pagination: { page, limit },\n sortings\n }\n })\n\n return { records: response.data?.dataSummaryByPeriod || []\n }\n }\n\n _exportableData() { let records = [] as GristRecord[]\n if (this.grist.selected && this.grist.selected.length > 0) { records = this.grist.selected\n } else { records = this.grist.data.records\n }\n\n var headerSetting = this.grist.compiledConfig.columns\n .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)\n .map(column => { return column.imex === true\n ? { header: column.header.renderer(column),\n key: column.name,\n width: column.width,\n type: column.type\n }\n : column.imex\n })\n\n var data = records.map(item => { return { id: item.id,\n ...this.gristConfig.columns\n .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)\n .reduce((record, column) => { const key = column.imex === true ? column.name : column.imex.key\n record[key] = key\n .split('.')\n .reduce((obj, key) => (obj && obj[key] !== 'undefined' ? obj[key] : undefined), item)\n return record\n }, {})\n }\n })\n\n return { header: headerSetting, data: data }\n }\n}\n"]}
@@ -0,0 +1,70 @@
1
+ import '@material/web/icon/icon.js';
2
+ import '@operato/data-grist';
3
+ import './data-summary-view.js';
4
+ import { FetchOption } from '@operato/data-grist';
5
+ import { PageView } from '@operato/shell';
6
+ import { DataItem } from '@operato/dataset';
7
+ declare const DataSummarySearchPage_base: (new (...args: any[]) => import("lit").LitElement) & typeof PageView;
8
+ export declare class DataSummarySearchPage extends DataSummarySearchPage_base {
9
+ static styles: import("lit").CSSResult[];
10
+ dataSetId?: string;
11
+ dataSet: any;
12
+ dataKeySet: any;
13
+ dataItems?: DataItem[];
14
+ gristConfig: any;
15
+ mode: 'CARD' | 'GRID' | 'LIST';
16
+ private grist;
17
+ get context(): {
18
+ title: string;
19
+ search: {
20
+ handler: (search: string) => void;
21
+ value: string;
22
+ };
23
+ filter: {
24
+ handler: () => void;
25
+ };
26
+ help: string;
27
+ actions: never[];
28
+ exportable: {
29
+ name: string;
30
+ data: () => {
31
+ header: (false | {
32
+ header: any;
33
+ key: string;
34
+ width: string | number | import("@operato/data-grist").ColumnWidthCallback | undefined;
35
+ type: string;
36
+ } | undefined)[];
37
+ data: any[];
38
+ };
39
+ };
40
+ };
41
+ render(): import("lit-html").TemplateResult<1>;
42
+ pageUpdated(changes: any, lifecycle: any): void;
43
+ updated(changes: any): Promise<void>;
44
+ getKeyColumns(): any;
45
+ getDataColumns(): {
46
+ type: string;
47
+ name: string;
48
+ header: string;
49
+ record: {
50
+ editable: boolean;
51
+ };
52
+ width: number;
53
+ imex: boolean;
54
+ }[];
55
+ refreshGristConfig(): void;
56
+ fetchHandler({ page, limit, sortings, filters, search }: FetchOption): Promise<{
57
+ total: any;
58
+ records: any;
59
+ }>;
60
+ _exportableData(): {
61
+ header: (false | {
62
+ header: any;
63
+ key: string;
64
+ width: string | number | import("@operato/data-grist").ColumnWidthCallback | undefined;
65
+ type: string;
66
+ } | undefined)[];
67
+ data: any[];
68
+ };
69
+ }
70
+ export {};