@things-factory/dataset 6.0.25 → 6.0.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/README.md +26 -11
  2. package/assets/images/data-collect.png +0 -0
  3. package/assets/images/ooc.png +0 -0
  4. package/assets/images/oos.png +0 -0
  5. package/client/{bootstrap.js → bootstrap.ts} +5 -1
  6. package/client/components/data-collect-activity-view.ts +100 -0
  7. package/client/components/{data-entry-form.js → data-entry-form.ts} +30 -33
  8. package/client/components/ooc-resolve-activity-view.ts +174 -0
  9. package/client/components/ooc-review-activity-view.ts +153 -0
  10. package/client/pages/data-archive/{data-archive-list-page.js → data-archive-list-page.ts} +67 -53
  11. package/client/pages/data-archive/{data-archive-request-popup.js → data-archive-request-popup.ts} +41 -39
  12. package/client/pages/data-entry/{data-entry-list-page.js → data-entry-list-page.ts} +41 -38
  13. package/client/pages/data-key-set/{data-key-item-list.js → data-key-item-list.ts} +31 -39
  14. package/client/pages/data-key-set/data-key-set-importer.ts +95 -0
  15. package/client/pages/data-key-set/{data-key-set-list-page.js → data-key-set-list-page.ts} +54 -35
  16. package/client/pages/data-ooc/{data-ooc-list-page.js → data-ooc-list-page.ts} +56 -36
  17. package/client/pages/data-ooc/data-ooc-view-page.ts +115 -0
  18. package/client/pages/data-ooc/data-ooc-view.ts +124 -0
  19. package/client/pages/data-report/{data-report-embed-page.js → data-report-embed-page.ts} +25 -34
  20. package/client/pages/data-report/{data-report-list-page.js → data-report-list-page.ts} +49 -43
  21. package/client/pages/data-report/{data-report-samples-page.js → data-report-samples-page.ts} +29 -43
  22. package/client/pages/data-report/{jasper-report-oocs-page.js → jasper-report-oocs-page.ts} +22 -34
  23. package/client/pages/data-report/{jasper-report-samples-crosstab-page.js → jasper-report-samples-crosstab-page.ts} +22 -34
  24. package/client/pages/data-report/{jasper-report-samples-page.js → jasper-report-samples-page.ts} +22 -34
  25. package/client/pages/data-sample/{data-sample-list-page.js → data-sample-list-page.ts} +49 -36
  26. package/client/pages/data-sample/{data-sample-search-page.js → data-sample-search-page.ts} +53 -39
  27. package/client/pages/data-sample/{data-sample-view.js → data-sample-view.ts} +29 -33
  28. package/client/pages/data-sensor/{data-sensor-list-page.js → data-sensor-list-page.ts} +41 -35
  29. package/client/pages/data-set/{data-item-list.js → data-item-list.ts} +31 -37
  30. package/client/pages/data-set/data-set-importer.ts +96 -0
  31. package/client/pages/data-set/{data-set-list-page.js → data-set-list-page.ts} +173 -40
  32. package/client/{route.js → route.ts} +5 -1
  33. package/client/tsconfig.json +11 -0
  34. package/config/config.development.js +30 -30
  35. package/config/config.production.js +31 -31
  36. package/dist-client/bootstrap.d.ts +5 -0
  37. package/dist-client/bootstrap.js +16 -0
  38. package/dist-client/bootstrap.js.map +1 -0
  39. package/dist-client/components/data-collect-activity-view.d.ts +19 -0
  40. package/dist-client/components/data-collect-activity-view.js +101 -0
  41. package/dist-client/components/data-collect-activity-view.js.map +1 -0
  42. package/dist-client/components/data-entry-form.d.ts +15 -0
  43. package/dist-client/components/data-entry-form.js +83 -0
  44. package/dist-client/components/data-entry-form.js.map +1 -0
  45. package/dist-client/components/data-ooc-activity-view.d.ts +1 -0
  46. package/dist-client/components/data-ooc-activity-view.js +154 -0
  47. package/dist-client/components/data-ooc-activity-view.js.map +1 -0
  48. package/dist-client/components/ooc-resolve-activity-view.d.ts +1 -0
  49. package/dist-client/components/ooc-resolve-activity-view.js +175 -0
  50. package/dist-client/components/ooc-resolve-activity-view.js.map +1 -0
  51. package/dist-client/components/ooc-review-activity-view.d.ts +1 -0
  52. package/dist-client/components/ooc-review-activity-view.js +155 -0
  53. package/dist-client/components/ooc-review-activity-view.js.map +1 -0
  54. package/dist-client/index.d.ts +1 -0
  55. package/dist-client/index.js +2 -0
  56. package/dist-client/index.js.map +1 -0
  57. package/dist-client/pages/data-archive/data-archive-list-page.d.ts +71 -0
  58. package/dist-client/pages/data-archive/data-archive-list-page.js +287 -0
  59. package/dist-client/pages/data-archive/data-archive-list-page.js.map +1 -0
  60. package/dist-client/pages/data-archive/data-archive-request-popup.d.ts +1 -0
  61. package/dist-client/pages/data-archive/data-archive-request-popup.js +161 -0
  62. package/dist-client/pages/data-archive/data-archive-request-popup.js.map +1 -0
  63. package/dist-client/pages/data-entry/data-entry-list-page.d.ts +36 -0
  64. package/dist-client/pages/data-entry/data-entry-list-page.js +383 -0
  65. package/dist-client/pages/data-entry/data-entry-list-page.js.map +1 -0
  66. package/dist-client/pages/data-key-set/data-key-item-list.d.ts +18 -0
  67. package/dist-client/pages/data-key-set/data-key-item-list.js +188 -0
  68. package/dist-client/pages/data-key-set/data-key-item-list.js.map +1 -0
  69. package/dist-client/pages/data-key-set/data-key-set-importer.d.ts +9 -0
  70. package/dist-client/pages/data-key-set/data-key-set-importer.js +100 -0
  71. package/dist-client/pages/data-key-set/data-key-set-importer.js.map +1 -0
  72. package/dist-client/pages/data-key-set/data-key-set-list-page.d.ts +60 -0
  73. package/dist-client/pages/data-key-set/data-key-set-list-page.js +450 -0
  74. package/dist-client/pages/data-key-set/data-key-set-list-page.js.map +1 -0
  75. package/dist-client/pages/data-ooc/data-ooc-list-page.d.ts +58 -0
  76. package/dist-client/pages/data-ooc/data-ooc-list-page.js +479 -0
  77. package/dist-client/pages/data-ooc/data-ooc-list-page.js.map +1 -0
  78. package/dist-client/pages/data-ooc/data-ooc-view-page.d.ts +18 -0
  79. package/dist-client/pages/data-ooc/data-ooc-view-page.js +114 -0
  80. package/dist-client/pages/data-ooc/data-ooc-view-page.js.map +1 -0
  81. package/dist-client/pages/data-ooc/data-ooc-view.d.ts +15 -0
  82. package/dist-client/pages/data-ooc/data-ooc-view.js +130 -0
  83. package/dist-client/pages/data-ooc/data-ooc-view.js.map +1 -0
  84. package/dist-client/pages/data-report/data-report-embed-page.d.ts +36 -0
  85. package/dist-client/pages/data-report/data-report-embed-page.js +101 -0
  86. package/dist-client/pages/data-report/data-report-embed-page.js.map +1 -0
  87. package/dist-client/pages/data-report/data-report-list-page.d.ts +36 -0
  88. package/dist-client/pages/data-report/data-report-list-page.js +431 -0
  89. package/dist-client/pages/data-report/data-report-list-page.js.map +1 -0
  90. package/dist-client/pages/data-report/data-report-samples-page.d.ts +32 -0
  91. package/dist-client/pages/data-report/data-report-samples-page.js +164 -0
  92. package/dist-client/pages/data-report/data-report-samples-page.js.map +1 -0
  93. package/dist-client/pages/data-report/jasper-report-oocs-page.d.ts +2 -0
  94. package/dist-client/pages/data-report/jasper-report-oocs-page.js +101 -0
  95. package/dist-client/pages/data-report/jasper-report-oocs-page.js.map +1 -0
  96. package/dist-client/pages/data-report/jasper-report-samples-crosstab-page.d.ts +2 -0
  97. package/dist-client/pages/data-report/jasper-report-samples-crosstab-page.js +101 -0
  98. package/dist-client/pages/data-report/jasper-report-samples-crosstab-page.js.map +1 -0
  99. package/dist-client/pages/data-report/jasper-report-samples-page.d.ts +2 -0
  100. package/dist-client/pages/data-report/jasper-report-samples-page.js +101 -0
  101. package/dist-client/pages/data-report/jasper-report-samples-page.js.map +1 -0
  102. package/dist-client/pages/data-sample/data-sample-list-page.d.ts +58 -0
  103. package/dist-client/pages/data-sample/data-sample-list-page.js +412 -0
  104. package/dist-client/pages/data-sample/data-sample-list-page.js.map +1 -0
  105. package/dist-client/pages/data-sample/data-sample-search-page.d.ts +63 -0
  106. package/dist-client/pages/data-sample/data-sample-search-page.js +413 -0
  107. package/dist-client/pages/data-sample/data-sample-search-page.js.map +1 -0
  108. package/dist-client/pages/data-sample/data-sample-view.d.ts +1 -0
  109. package/dist-client/pages/data-sample/data-sample-view.js +109 -0
  110. package/dist-client/pages/data-sample/data-sample-view.js.map +1 -0
  111. package/dist-client/pages/data-sensor/data-sensor-list-page.d.ts +49 -0
  112. package/dist-client/pages/data-sensor/data-sensor-list-page.js +419 -0
  113. package/dist-client/pages/data-sensor/data-sensor-list-page.js.map +1 -0
  114. package/dist-client/pages/data-set/data-item-list.d.ts +1 -0
  115. package/dist-client/pages/data-set/data-item-list.js +267 -0
  116. package/dist-client/pages/data-set/data-item-list.js.map +1 -0
  117. package/dist-client/pages/data-set/data-set-importer.d.ts +10 -0
  118. package/dist-client/pages/data-set/data-set-importer.js +103 -0
  119. package/dist-client/pages/data-set/data-set-importer.js.map +1 -0
  120. package/dist-client/pages/data-set/data-set-list-page.d.ts +73 -0
  121. package/dist-client/pages/data-set/data-set-list-page.js +861 -0
  122. package/dist-client/pages/data-set/data-set-list-page.js.map +1 -0
  123. package/dist-client/route.d.ts +1 -0
  124. package/dist-client/route.js +50 -0
  125. package/dist-client/route.js.map +1 -0
  126. package/dist-client/tsconfig.tsbuildinfo +1 -0
  127. package/dist-server/controllers/activity-template/activity-data-collect.js +82 -0
  128. package/dist-server/controllers/activity-template/activity-data-collect.js.map +1 -0
  129. package/dist-server/controllers/activity-template/activity-ooc-resolve.js +100 -0
  130. package/dist-server/controllers/activity-template/activity-ooc-resolve.js.map +1 -0
  131. package/dist-server/controllers/activity-template/activity-ooc-review.js +107 -0
  132. package/dist-server/controllers/activity-template/activity-ooc-review.js.map +1 -0
  133. package/dist-server/controllers/activity-template/activity-ooc.js +59 -0
  134. package/dist-server/controllers/activity-template/activity-ooc.js.map +1 -0
  135. package/dist-server/controllers/create-data-sample.js +53 -14
  136. package/dist-server/controllers/create-data-sample.js.map +1 -1
  137. package/dist-server/controllers/data-use-case.js +1 -1
  138. package/dist-server/controllers/data-use-case.js.map +1 -1
  139. package/dist-server/controllers/index.js +7 -0
  140. package/dist-server/controllers/index.js.map +1 -1
  141. package/dist-server/index.js +1 -2
  142. package/dist-server/index.js.map +1 -1
  143. package/dist-server/routes.js +47 -3
  144. package/dist-server/routes.js.map +1 -1
  145. package/dist-server/service/data-ooc/data-ooc-query.js +22 -2
  146. package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -1
  147. package/dist-server/service/data-ooc/data-ooc.js +26 -0
  148. package/dist-server/service/data-ooc/data-ooc.js.map +1 -1
  149. package/dist-server/service/data-set/data-set-mutation.js +88 -0
  150. package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
  151. package/dist-server/service/data-set/data-set-query.js +38 -4
  152. package/dist-server/service/data-set/data-set-query.js.map +1 -1
  153. package/dist-server/service/data-set/data-set-type.js +16 -0
  154. package/dist-server/service/data-set/data-set-type.js.map +1 -1
  155. package/dist-server/service/data-set/data-set.js +55 -3
  156. package/dist-server/service/data-set/data-set.js.map +1 -1
  157. package/dist-server/service/data-set-history/data-set-history-query.js +4 -3
  158. package/dist-server/service/data-set-history/data-set-history-query.js.map +1 -1
  159. package/dist-server/tsconfig.tsbuildinfo +1 -1
  160. package/helps/dataset/data-ooc.md +5 -4
  161. package/package.json +17 -12
  162. package/server/controllers/activity-template/activity-data-collect.ts +84 -0
  163. package/server/controllers/activity-template/activity-ooc-resolve.ts +114 -0
  164. package/server/controllers/activity-template/activity-ooc-review.ts +118 -0
  165. package/server/controllers/create-data-sample.ts +61 -21
  166. package/server/controllers/data-use-case.ts +1 -1
  167. package/server/controllers/index.ts +11 -0
  168. package/server/index.ts +1 -2
  169. package/server/routes.ts +62 -5
  170. package/server/service/data-ooc/data-ooc-query.ts +12 -2
  171. package/server/service/data-ooc/data-ooc.ts +23 -0
  172. package/server/service/data-set/data-set-mutation.ts +99 -0
  173. package/server/service/data-set/data-set-query.ts +39 -5
  174. package/server/service/data-set/data-set-type.ts +14 -0
  175. package/server/service/data-set/data-set.ts +43 -2
  176. package/server/service/data-set-history/data-set-history-query.ts +4 -3
  177. package/server/tsconfig.json +10 -0
  178. package/things-factory.config.js +6 -2
  179. package/translations/en.json +3 -1
  180. package/translations/ko.json +3 -1
  181. package/translations/ms.json +3 -0
  182. package/translations/zh.json +3 -0
  183. package/client/pages/data-key-set/data-key-set-importer.js +0 -105
  184. package/client/pages/data-ooc/data-ooc-view.js +0 -188
  185. package/client/pages/data-set/data-set-importer.js +0 -103
  186. package/server/middlewares/index.ts +0 -3
  187. package/server/migrations/index.ts +0 -9
  188. package/tsconfig.json +0 -9
  189. /package/assets/{data-report.jpg → images/data-report.jpg} +0 -0
  190. /package/assets/{data-samples.jpg → images/data-samples.jpg} +0 -0
  191. /package/assets/{diagram.jpg → images/dataset-diagram.jpg} +0 -0
  192. /package/assets/{glue-table-indices.png → images/glue-table-indices-for-dataset.png} +0 -0
  193. /package/client/{index.js → index.ts} +0 -0
@@ -3,17 +3,20 @@ import '@operato/board/ox-board-viewer.js'
3
3
 
4
4
  import gql from 'graphql-tag'
5
5
  import { css, html } from 'lit'
6
+ import { customElement, property, query, state } from 'lit/decorators.js'
6
7
  import { connect } from 'pwa-helpers/connect-mixin'
7
8
 
8
- import { getRenderer } from '@operato/data-grist'
9
+ import { getEditor, getRenderer, ColumnConfig, DataGrist, FetchOption, SortersControl } from '@operato/data-grist'
9
10
  import { OxDataUseCase } from '@operato/dataset'
10
11
  import { client } from '@operato/graphql'
11
12
  import { i18next, localize } from '@operato/i18n'
12
13
  import { openPopup } from '@operato/layout'
13
14
  import { navigate, PageView, store } from '@operato/shell'
14
15
  import { CommonGristStyles, ScrollbarStyles } from '@operato/styles'
16
+ import { OxPopup } from '@operato/popup'
17
+ import { encodeUrlParams } from '@operato/utils'
18
+
15
19
  import { provider } from '@things-factory/board-ui'
16
- import { encodeUrlParams } from '@things-factory/utils'
17
20
 
18
21
  const USECASE_OPTIONS = () => {
19
22
  return ['', ...OxDataUseCase.getUseCaseNames()].map(name => {
@@ -62,6 +65,9 @@ const showMonitorView = (columns, data, column, record, rowIndex) => {
62
65
  // navigate(`board-viewer/${monitorView}?interactive=true&title=${title}`)
63
66
  break
64
67
 
68
+ case 'custom-element':
69
+ break
70
+
65
71
  case 'page':
66
72
  navigate(monitorView)
67
73
  break
@@ -73,8 +79,8 @@ const showMonitorView = (columns, data, column, record, rowIndex) => {
73
79
  }
74
80
 
75
81
  const showReportView = (columns, data, column, record, rowIndex) => {
76
- const { id:datasetId, dataKeySet, name, reportType, reportView, reportTemplate } = record
77
- const { id:dataKeySetId } = dataKeySet || { id: '' }
82
+ const { id: datasetId, dataKeySet, name, reportType, reportView, reportTemplate } = record
83
+ const { id: dataKeySetId } = dataKeySet || { id: '' }
78
84
  const title = `${name} - ${i18next.t('title.data-report-view')}`
79
85
 
80
86
  switch (reportType) {
@@ -89,55 +95,63 @@ const showReportView = (columns, data, column, record, rowIndex) => {
89
95
  case 'embed':
90
96
  break
91
97
 
98
+ case 'custom-element':
99
+ break
100
+
92
101
  case 'page':
93
102
  break
94
103
 
95
104
  case 'external':
96
105
  window.open(reportView, '_blank')
97
106
  break
98
-
107
+
99
108
  case 'jasper':
100
109
  case 'shiny':
101
110
  const encodedUrlParams = encodeUrlParams({ datasetId, dataKeySetId, reportType, reportView, reportTemplate })
102
111
  navigate(`/data-report-samples/?${encodedUrlParams}`)
103
112
  break
104
-
113
+
105
114
  default:
106
115
  break
107
116
  }
108
117
  }
109
118
 
119
+ @customElement('data-report-list-page')
110
120
  export class DataReportListPage extends connect(store)(localize(i18next)(PageView)) {
111
- static get properties() {
112
- return {
113
- active: String,
114
- gristConfig: Object,
115
- filters: Object,
116
- sorters: Object,
117
- mode: String
118
- }
119
- }
121
+ static styles = [
122
+ ScrollbarStyles,
123
+ CommonGristStyles,
124
+ css`
125
+ :host {
126
+ display: flex;
120
127
 
121
- static get styles() {
122
- return [
123
- ScrollbarStyles,
124
- CommonGristStyles,
125
- css`
126
- :host {
127
- display: flex;
128
+ width: 100%;
128
129
 
129
- width: 100%;
130
+ --grid-record-emphasized-background-color: red;
131
+ --grid-record-emphasized-color: yellow;
132
+ }
133
+ `
134
+ ]
130
135
 
131
- --grid-record-emphasized-background-color: red;
132
- --grid-record-emphasized-color: yellow;
133
- }
134
- `
135
- ]
136
- }
136
+ @state() gristConfig: any
137
+ @state() mode: 'CARD' | 'GRID' | 'LIST' = 'CARD'
138
+ @query('ox-grist') private grist!: DataGrist
139
+ @query('#sorter-control') private sortersControl!: OxPopup
137
140
 
138
141
  get context() {
139
142
  return {
140
- title: i18next.t('title.data-report list'),
143
+ search: {
144
+ handler: (search: string) => {
145
+ this.grist.searchText = search
146
+ },
147
+ placeholder: i18next.t('title.data-report list'),
148
+ value: this.grist.searchText
149
+ },
150
+ filter: {
151
+ handler: () => {
152
+ this.grist.toggleHeadroom()
153
+ }
154
+ },
141
155
  help: 'dataset/data-report-list'
142
156
  }
143
157
  }
@@ -149,13 +163,12 @@ export class DataReportListPage extends connect(store)(localize(i18next)(PageVie
149
163
  <ox-grist
150
164
  .mode=${mode}
151
165
  .config=${this.gristConfig}
152
- .filters=${this.filters}
153
- .orders=${this.orders}
154
166
  .fetchHandler=${this.fetchHandler.bind(this)}
167
+ ?url-params-sensitive=${this.active}
155
168
  >
156
169
  <div slot="headroom">
157
170
  <div id="filters">
158
- <ox-filters-form autofocus></ox-filters-form>
171
+ <ox-filters-form autofocus without-search></ox-filters-form>
159
172
  </div>
160
173
 
161
174
  <div id="sorters">
@@ -163,7 +176,7 @@ export class DataReportListPage extends connect(store)(localize(i18next)(PageVie
163
176
  <mwc-icon
164
177
  @click=${e => {
165
178
  const target = e.currentTarget
166
- this.renderRoot.querySelector('#sorter-control').open({
179
+ this.sortersControl.open({
167
180
  right: 0,
168
181
  top: target.offsetTop + target.offsetHeight
169
182
  })
@@ -179,10 +192,6 @@ export class DataReportListPage extends connect(store)(localize(i18next)(PageVie
179
192
  `
180
193
  }
181
194
 
182
- get grist() {
183
- return this.renderRoot.querySelector('ox-grist')
184
- }
185
-
186
195
  async pageInitialized(lifecycle) {
187
196
  this.gristConfig = {
188
197
  list: {
@@ -275,8 +284,7 @@ export class DataReportListPage extends connect(store)(localize(i18next)(PageVie
275
284
  record: {
276
285
  editable: false
277
286
  },
278
- width: 80,
279
- label: true
287
+ width: 80
280
288
  },
281
289
  {
282
290
  type: 'resource-object',
@@ -358,7 +366,7 @@ export class DataReportListPage extends connect(store)(localize(i18next)(PageVie
358
366
  }
359
367
  }
360
368
 
361
- async fetchHandler({ page, limit, sortings = [], filters = [] }) {
369
+ async fetchHandler({ page, limit, sortings = [], filters = [] }: FetchOption) {
362
370
  const response = await client.query({
363
371
  query: gql`
364
372
  query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
@@ -430,5 +438,3 @@ export class DataReportListPage extends connect(store)(localize(i18next)(PageVie
430
438
  }
431
439
  }
432
440
  }
433
-
434
- window.customElements.define('data-report-list-page', DataReportListPage)
@@ -6,46 +6,41 @@ import '@operato/data-grist'
6
6
 
7
7
  import gql from 'graphql-tag'
8
8
  import { css, html } from 'lit'
9
+ import { customElement, property, query, state } from 'lit/decorators.js'
9
10
  import { connect } from 'pwa-helpers/connect-mixin'
10
11
 
11
12
  import { client } from '@operato/graphql'
12
13
  import { i18next, localize } from '@operato/i18n'
13
14
  import { PageView, store } from '@operato/shell'
14
15
  import { ScrollbarStyles } from '@operato/styles'
16
+ import { encodeUrlParams } from '@operato/utils'
17
+ import { FetchOption } from '@operato/data-grist'
15
18
 
16
- import { encodeUrlParams } from '@things-factory/utils'
17
-
19
+ @customElement('data-report-samples-page')
18
20
  export class DataReportSamplesPage extends connect(store)(localize(i18next)(PageView)) {
19
- static get properties() {
20
- return {
21
- dataKeySetId: String,
22
- dataKeySet: Object,
23
- active: String
24
- }
25
- }
21
+ static styles = [
22
+ ScrollbarStyles,
23
+ css`
24
+ :host {
25
+ display: flex;
26
+ flex-direction: column;
27
+ padding: 0;
28
+ }
26
29
 
27
- static get styles() {
28
- return [
29
- ScrollbarStyles,
30
- css`
31
- :host {
32
- display: flex;
33
- flex-direction: column;
34
- padding: 0;
35
- }
30
+ #container {
31
+ flex: 1;
32
+ padding: 0;
33
+ margin: 0;
34
+ border: 0;
35
+ }
36
+ `
37
+ ]
36
38
 
37
- #container {
38
- flex: 1;
39
- padding: 0;
40
- margin: 0;
41
- border: 0;
42
- }
43
- `
44
- ]
45
- }
39
+ @state() dataKeySetId?: string
40
+ @state() dataKeySet: any
41
+ @query('iframe') container!: HTMLIFrameElement
46
42
 
47
43
  get context() {
48
-
49
44
  const today = new Date().toISOString().split('T')[0]
50
45
 
51
46
  const filters = [
@@ -82,12 +77,7 @@ export class DataReportSamplesPage extends connect(store)(localize(i18next)(Page
82
77
 
83
78
  render() {
84
79
  // clear if pre-loaded
85
- const container = this.shadowRoot.querySelector('#container')
86
- if (container) {
87
- container.src = ""
88
- // @TODO: Clear filters
89
- /** */
90
- }
80
+ this.container.src = ''
91
81
 
92
82
  return html`
93
83
  <ox-filters-form-base
@@ -98,7 +88,8 @@ export class DataReportSamplesPage extends connect(store)(localize(i18next)(Page
98
88
  }}
99
89
  ?url-params-sensitive=${this.active}
100
90
  ></ox-filters-form-base>
101
- <iframe id="container"></iframe>
91
+
92
+ <iframe></iframe>
102
93
  `
103
94
  }
104
95
 
@@ -132,7 +123,7 @@ export class DataReportSamplesPage extends connect(store)(localize(i18next)(Page
132
123
  const encodedUrlParams = encodeUrlParams(urlParams)
133
124
 
134
125
  const reportUrl = `/data-report/${urlParams.reportType}/`
135
- this.shadowRoot.querySelector('#container').src = `${reportUrl}?${encodedUrlParams}`
126
+ this.container.src = `${reportUrl}?${encodedUrlParams}`
136
127
  }
137
128
 
138
129
  pageUpdated(changes, lifecycle) {
@@ -143,14 +134,12 @@ export class DataReportSamplesPage extends connect(store)(localize(i18next)(Page
143
134
  }
144
135
  }
145
136
 
146
- async fetchHandler({ page, limit, sortings = [], filters = [] }) {
147
-
148
- }
137
+ async fetchHandler({ page, limit, sortings = [], filters = [] }: FetchOption) {}
149
138
 
150
139
  async updated(changes) {
151
140
  if (changes.has('dataKeySetId')) {
152
141
  if (!this.dataKeySetId) {
153
- this.dataKeySet = null
142
+ this.dataKeySet = null
154
143
  return
155
144
  }
156
145
 
@@ -180,7 +169,4 @@ export class DataReportSamplesPage extends connect(store)(localize(i18next)(Page
180
169
  this.dataKeySet = response.data.dataKeySet
181
170
  }
182
171
  }
183
-
184
172
  }
185
-
186
- window.customElements.define('data-report-samples-page', DataReportSamplesPage)
@@ -2,40 +2,33 @@ import '@operato/data-grist'
2
2
  import '@operato/form'
3
3
 
4
4
  import { css, html } from 'lit'
5
+ import { customElement, property, query, state } from 'lit/decorators.js'
5
6
 
7
+ import { PageView } from '@operato/shell'
6
8
  import { i18next, localize } from '@operato/i18n'
7
9
  import { CommonButtonStyles, ScrollbarStyles } from '@operato/styles'
8
- import { PageView } from '@things-factory/shell'
9
10
 
11
+ @customElement('jasper-report-oocs-page')
10
12
  class JasperReportOocsPage extends localize(i18next)(PageView) {
11
- static get properties() {
12
- return {
13
- _grnNo: String,
14
- _status: String,
15
- resourceId: String,
16
- params: Object
17
- }
18
- }
13
+ static styles = [
14
+ ScrollbarStyles,
15
+ css`
16
+ :host {
17
+ display: flex;
18
+ flex-direction: column;
19
+ padding: 0;
20
+ }
19
21
 
20
- static get styles() {
21
- return [
22
- ScrollbarStyles,
23
- css`
24
- :host {
25
- display: flex;
26
- flex-direction: column;
27
- padding: 0;
28
- }
22
+ #container {
23
+ flex: 1;
24
+ padding: 0;
25
+ margin: 0;
26
+ border: 0;
27
+ }
28
+ `
29
+ ]
29
30
 
30
- #container {
31
- flex: 1;
32
- padding: 0;
33
- margin: 0;
34
- border: 0;
35
- }
36
- `
37
- ]
38
- }
31
+ @query('iframe') container!: HTMLIFrameElement
39
32
 
40
33
  get context() {
41
34
  const filters = [
@@ -50,7 +43,7 @@ class JasperReportOocsPage extends localize(i18next)(PageView) {
50
43
  {
51
44
  title: i18next.t('button.print'),
52
45
  action: () => {
53
- this.renderRoot.querySelector('iframe').contentWindow.print()
46
+ this.container.contentWindow?.print()
54
47
  },
55
48
  ...CommonButtonStyles.print
56
49
  }
@@ -76,9 +69,6 @@ class JasperReportOocsPage extends localize(i18next)(PageView) {
76
69
  `
77
70
  }
78
71
 
79
- get searchForm() {
80
- return this.renderRoot.querySelector('ox-filters-form-base')
81
- }
82
72
  async pageUpdated(changes, lifecycle) {
83
73
  if (this.active) {
84
74
  this.updateContext()
@@ -115,8 +105,6 @@ class JasperReportOocsPage extends localize(i18next)(PageView) {
115
105
  .map(key => `${key}=${encodeURIComponent(urlParams[key])}`)
116
106
  .join('&')
117
107
 
118
- this.shadowRoot.querySelector('#container').src = `/data-report/jasper?${encodedUrlParams}`
108
+ this.container.src = `/data-report/jasper?${encodedUrlParams}`
119
109
  }
120
110
  }
121
-
122
- window.customElements.define('jasper-report-oocs-page', JasperReportOocsPage)
@@ -2,40 +2,33 @@ import '@operato/data-grist'
2
2
  import '@operato/form'
3
3
 
4
4
  import { css, html } from 'lit'
5
+ import { customElement, property, query, state } from 'lit/decorators.js'
5
6
 
7
+ import { PageView } from '@operato/shell'
6
8
  import { i18next, localize } from '@operato/i18n'
7
9
  import { CommonButtonStyles, ScrollbarStyles } from '@operato/styles'
8
- import { PageView } from '@things-factory/shell'
9
10
 
11
+ @customElement('jasper-report-samples-crosstab-page')
10
12
  class JasperReportSamplesCrosstabPage extends localize(i18next)(PageView) {
11
- static get properties() {
12
- return {
13
- _grnNo: String,
14
- _status: String,
15
- resourceId: String,
16
- params: Object
17
- }
18
- }
13
+ static styles = [
14
+ ScrollbarStyles,
15
+ css`
16
+ :host {
17
+ display: flex;
18
+ flex-direction: column;
19
+ padding: 0;
20
+ }
19
21
 
20
- static get styles() {
21
- return [
22
- ScrollbarStyles,
23
- css`
24
- :host {
25
- display: flex;
26
- flex-direction: column;
27
- padding: 0;
28
- }
22
+ #container {
23
+ flex: 1;
24
+ padding: 0;
25
+ margin: 0;
26
+ border: 0;
27
+ }
28
+ `
29
+ ]
29
30
 
30
- #container {
31
- flex: 1;
32
- padding: 0;
33
- margin: 0;
34
- border: 0;
35
- }
36
- `
37
- ]
38
- }
31
+ @query('iframe') container!: HTMLIFrameElement
39
32
 
40
33
  get context() {
41
34
  const filters = [
@@ -50,7 +43,7 @@ class JasperReportSamplesCrosstabPage extends localize(i18next)(PageView) {
50
43
  {
51
44
  title: i18next.t('button.print'),
52
45
  action: () => {
53
- this.renderRoot.querySelector('iframe').contentWindow.print()
46
+ this.container.contentWindow?.print()
54
47
  },
55
48
  ...CommonButtonStyles.print
56
49
  }
@@ -76,9 +69,6 @@ class JasperReportSamplesCrosstabPage extends localize(i18next)(PageView) {
76
69
  `
77
70
  }
78
71
 
79
- get searchForm() {
80
- return this.renderRoot.querySelector('ox-filters-form-base')
81
- }
82
72
  async pageUpdated(changes, lifecycle) {
83
73
  if (this.active) {
84
74
  this.updateContext()
@@ -115,8 +105,6 @@ class JasperReportSamplesCrosstabPage extends localize(i18next)(PageView) {
115
105
  .map(key => `${key}=${encodeURIComponent(urlParams[key])}`)
116
106
  .join('&')
117
107
 
118
- this.shadowRoot.querySelector('#container').src = `/data-report/jasper?${encodedUrlParams}`
108
+ this.container.src = `/data-report/jasper?${encodedUrlParams}`
119
109
  }
120
110
  }
121
-
122
- window.customElements.define('jasper-report-samples-crosstab-page', JasperReportSamplesCrosstabPage)
@@ -2,40 +2,33 @@ import '@operato/data-grist'
2
2
  import '@operato/form'
3
3
 
4
4
  import { css, html } from 'lit'
5
+ import { customElement, property, query, state } from 'lit/decorators.js'
5
6
 
7
+ import { PageView } from '@operato/shell'
6
8
  import { i18next, localize } from '@operato/i18n'
7
9
  import { CommonButtonStyles, ScrollbarStyles } from '@operato/styles'
8
- import { PageView } from '@things-factory/shell'
9
10
 
11
+ @customElement('jasper-report-samples-page')
10
12
  class JasperReportSamplesPage extends localize(i18next)(PageView) {
11
- static get properties() {
12
- return {
13
- _grnNo: String,
14
- _status: String,
15
- resourceId: String,
16
- params: Object
17
- }
18
- }
13
+ static styles = [
14
+ ScrollbarStyles,
15
+ css`
16
+ :host {
17
+ display: flex;
18
+ flex-direction: column;
19
+ padding: 0;
20
+ }
19
21
 
20
- static get styles() {
21
- return [
22
- ScrollbarStyles,
23
- css`
24
- :host {
25
- display: flex;
26
- flex-direction: column;
27
- padding: 0;
28
- }
22
+ #container {
23
+ flex: 1;
24
+ padding: 0;
25
+ margin: 0;
26
+ border: 0;
27
+ }
28
+ `
29
+ ]
29
30
 
30
- #container {
31
- flex: 1;
32
- padding: 0;
33
- margin: 0;
34
- border: 0;
35
- }
36
- `
37
- ]
38
- }
31
+ @query('iframe') container!: HTMLIFrameElement
39
32
 
40
33
  get context() {
41
34
  const filters = [
@@ -50,7 +43,7 @@ class JasperReportSamplesPage extends localize(i18next)(PageView) {
50
43
  {
51
44
  title: i18next.t('button.print'),
52
45
  action: () => {
53
- this.renderRoot.querySelector('iframe').contentWindow.print()
46
+ this.container.contentWindow?.print()
54
47
  },
55
48
  ...CommonButtonStyles.print
56
49
  }
@@ -76,9 +69,6 @@ class JasperReportSamplesPage extends localize(i18next)(PageView) {
76
69
  `
77
70
  }
78
71
 
79
- get searchForm() {
80
- return this.renderRoot.querySelector('ox-filters-form-base')
81
- }
82
72
  async pageUpdated(changes, lifecycle) {
83
73
  if (this.active) {
84
74
  this.updateContext()
@@ -115,8 +105,6 @@ class JasperReportSamplesPage extends localize(i18next)(PageView) {
115
105
  .map(key => `${key}=${encodeURIComponent(urlParams[key])}`)
116
106
  .join('&')
117
107
 
118
- this.shadowRoot.querySelector('#container').src = `/data-report/jasper?${encodedUrlParams}`
108
+ this.container.src = `/data-report/jasper?${encodedUrlParams}`
119
109
  }
120
110
  }
121
-
122
- window.customElements.define('jasper-report-samples-page', JasperReportSamplesPage)