@things-factory/dataset 5.0.0-alpha.12 → 5.0.0-alpha.13

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.
@@ -1,5 +1,5 @@
1
1
  import {
2
- Json5Renderer,
2
+ OxGristRendererJson5,
3
3
  registerEditor as registerGristEditor,
4
4
  registerRenderer as registerGristRenderer
5
5
  } from '@operato/data-grist'
@@ -9,8 +9,8 @@ import { OxGristEditorPartitionKeys } from '@operato/app/grist-editor/ox-grist-e
9
9
 
10
10
  export default function bootstrap() {
11
11
  registerGristEditor('data-item-spec', OxGristEditorDataItemSpec)
12
- registerGristRenderer('data-item-spec', Json5Renderer)
12
+ registerGristRenderer('data-item-spec', OxGristRendererJson5)
13
13
 
14
14
  registerGristEditor('partition-keys', OxGristEditorPartitionKeys)
15
- registerGristRenderer('partition-keys', Json5Renderer)
15
+ registerGristRenderer('partition-keys', OxGristRendererJson5)
16
16
  }
@@ -1,9 +1,10 @@
1
- import gql from 'graphql-tag'
2
- import { css, html, LitElement } from 'lit'
1
+ import '@operato/dataset/ox-data-entry-form.js'
3
2
 
4
- import { client } from '@operato/graphql'
3
+ import { LitElement, css, html } from 'lit'
5
4
  import { i18next, localize } from '@operato/i18n'
6
- import '@operato/dataset/ox-data-entry-form.js'
5
+
6
+ import { client } from '@operato/graphql'
7
+ import gql from 'graphql-tag'
7
8
 
8
9
  class DataEntryForm extends localize(i18next)(LitElement) {
9
10
  static get properties() {
@@ -69,6 +70,12 @@ class DataEntryForm extends localize(i18next)(LitElement) {
69
70
  dataSample
70
71
  }
71
72
  })
73
+
74
+ if (!response.errors) {
75
+ document.dispatchEvent(
76
+ new CustomEvent('notify', { detail: { message: i18next.t('text.data sample created successfully') } })
77
+ )
78
+ }
72
79
  }
73
80
  }
74
81
 
@@ -60,7 +60,11 @@ export class DataSample extends connect(store)(localize(i18next)(PageView)) {
60
60
  action: this._deleteDataSample.bind(this),
61
61
  ...CommonButtonStyles.delete
62
62
  }
63
- ]
63
+ ],
64
+ exportable: {
65
+ name: i18next.t('title.data-sample list'),
66
+ data: this._exportableData.bind(this)
67
+ }
64
68
  }
65
69
  }
66
70
 
@@ -121,7 +125,8 @@ export class DataSample extends connect(store)(localize(i18next)(PageView)) {
121
125
  },
122
126
  filter: 'search',
123
127
  sortable: true,
124
- width: 120
128
+ width: 120,
129
+ imex: true
125
130
  },
126
131
  {
127
132
  type: 'string',
@@ -132,7 +137,8 @@ export class DataSample extends connect(store)(localize(i18next)(PageView)) {
132
137
  editable: true
133
138
  },
134
139
  filter: 'search',
135
- width: 150
140
+ width: 150,
141
+ imex: true
136
142
  },
137
143
  {
138
144
  type: 'resource-object',
@@ -142,7 +148,8 @@ export class DataSample extends connect(store)(localize(i18next)(PageView)) {
142
148
  editable: false
143
149
  },
144
150
  sortable: true,
145
- width: 120
151
+ width: 120,
152
+ imex: true
146
153
  },
147
154
  {
148
155
  type: 'json5',
@@ -151,7 +158,8 @@ export class DataSample extends connect(store)(localize(i18next)(PageView)) {
151
158
  record: {
152
159
  editable: false
153
160
  },
154
- width: 200
161
+ width: 200,
162
+ imex: true
155
163
  },
156
164
  {
157
165
  type: 'json5',
@@ -160,7 +168,8 @@ export class DataSample extends connect(store)(localize(i18next)(PageView)) {
160
168
  record: {
161
169
  editable: false
162
170
  },
163
- width: 200
171
+ width: 200,
172
+ imex: true
164
173
  },
165
174
  {
166
175
  type: 'json5',
@@ -178,28 +187,32 @@ export class DataSample extends connect(store)(localize(i18next)(PageView)) {
178
187
  record: {
179
188
  editable: false
180
189
  },
181
- width: 200
190
+ width: 200,
191
+ imex: true
182
192
  },
183
193
  {
184
194
  type: 'resource-object',
185
195
  name: 'updater',
186
196
  header: i18next.t('field.updater'),
187
197
  sortable: true,
188
- width: 120
198
+ width: 120,
199
+ imex: true
189
200
  },
190
201
  {
191
202
  type: 'datetime',
192
203
  name: 'updatedAt',
193
204
  header: i18next.t('field.updated_at'),
194
205
  sortable: true,
195
- width: 180
206
+ width: 180,
207
+ imex: true
196
208
  },
197
209
  {
198
210
  type: 'datetime',
199
211
  name: 'collectedAt',
200
212
  header: i18next.t('field.collected_at'),
201
213
  sortable: true,
202
- width: 180
214
+ width: 180,
215
+ imex: true
203
216
  }
204
217
  ],
205
218
  rows: {
@@ -296,11 +309,43 @@ export class DataSample extends connect(store)(localize(i18next)(PageView)) {
296
309
  }
297
310
  }
298
311
 
299
- async stateChanged(state) {
300
- if (this.active && this._currentPopupName && !state.layout.viewparts[this._currentPopupName]) {
301
- this.grist.fetch()
302
- this._currentPopupName = null
312
+ _exportableData() {
313
+ let records = []
314
+ if (this.grist.selected && this.grist.selected.length > 0) {
315
+ records = this.grist.selected
316
+ } else {
317
+ records = this.grist.data.records
303
318
  }
319
+
320
+ var headerSetting = this.grist.compiledConfig.columns
321
+ .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)
322
+ .map(column => {
323
+ return column.imex === true
324
+ ? {
325
+ header: column.header.renderer(),
326
+ key: column.name,
327
+ width: column.width,
328
+ type: column.type
329
+ }
330
+ : column.imex
331
+ })
332
+
333
+ var data = records.map(item => {
334
+ return {
335
+ id: item.id,
336
+ ...this.gristConfig.columns
337
+ .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)
338
+ .reduce((record, column) => {
339
+ const key = column.imex === true ? column.name : column.imex.key
340
+ record[key] = key
341
+ .split('.')
342
+ .reduce((obj, key) => (obj && obj[key] !== 'undefined' ? obj[key] : undefined), item)
343
+ return record
344
+ }, {})
345
+ }
346
+ })
347
+
348
+ return { header: headerSetting, data: data }
304
349
  }
305
350
  }
306
351
 
@@ -382,13 +382,6 @@ export class DataSensor extends connect(store)(localize(i18next)(PageView)) {
382
382
  }
383
383
  }
384
384
 
385
- async stateChanged(state) {
386
- if (this.active && this._currentPopupName && !state.layout.viewparts[this._currentPopupName]) {
387
- this.grist.fetch()
388
- this._currentPopupName = null
389
- }
390
- }
391
-
392
385
  async _copyDataSensor() {
393
386
  var selected = this.grist.selected
394
387
  if (selected.length == 0) return
@@ -139,12 +139,15 @@ export class DataSet extends connect(store)(localize(i18next)(PageView)) {
139
139
  handlers: {
140
140
  click: (columns, data, column, record, rowIndex) => {
141
141
  if (!record.id) return
142
- openPopup(html` <data-item-list .dataSet=${record}></data-item-list> `, {
142
+ const popup = openPopup(html` <data-item-list .dataSet=${record}></data-item-list> `, {
143
143
  backdrop: true,
144
144
  help: 'data-set/ui/data-item-list',
145
145
  size: 'large',
146
146
  title: i18next.t('title.data-item list')
147
147
  })
148
+ popup.onclosed = () => {
149
+ this.grist.fetch()
150
+ }
148
151
  }
149
152
  }
150
153
  },
@@ -309,6 +312,7 @@ export class DataSet extends connect(store)(localize(i18next)(PageView)) {
309
312
  active
310
313
  tag
311
314
  type
315
+ unit
312
316
  options
313
317
  quota
314
318
  spec
@@ -356,13 +360,6 @@ export class DataSet extends connect(store)(localize(i18next)(PageView)) {
356
360
  }
357
361
  }
358
362
 
359
- async stateChanged(state) {
360
- if (this.active && this._currentPopupName && !state.layout.viewparts[this._currentPopupName]) {
361
- this.grist.fetch()
362
- this._currentPopupName = null
363
- }
364
- }
365
-
366
363
  async _copyDataSet() {
367
364
  var selected = this.grist.selected
368
365
  if (selected.length == 0) return
@@ -381,7 +378,9 @@ export class DataSet extends connect(store)(localize(i18next)(PageView)) {
381
378
  }
382
379
  })
383
380
 
384
- if (!response.errors) this.grist.fetch()
381
+ if (!response.errors) {
382
+ this.grist.fetch()
383
+ }
385
384
  }
386
385
 
387
386
  async _updateDataSet() {
@@ -412,7 +411,9 @@ export class DataSet extends connect(store)(localize(i18next)(PageView)) {
412
411
  }
413
412
  })
414
413
 
415
- if (!response.errors) this.grist.fetch()
414
+ if (!response.errors) {
415
+ this.grist.fetch()
416
+ }
416
417
  }
417
418
  }
418
419
 
@@ -35,7 +35,7 @@ const replaceVariables = (keys, dic) => {
35
35
  }
36
36
  return keys;
37
37
  };
38
- // It is required UTC date for Partitioning File System like AWS S3.
38
+ // It is required UTC date for Partitioning File System like AWS S3 from Athena.
39
39
  // ex) %YYYY, %MM, %DD
40
40
  const formatDate = (keys, _moment) => {
41
41
  for (const k in keys) {
@@ -64,10 +64,12 @@ let DataSampleMutation = class DataSampleMutation {
64
64
  spec[dataItem.tag] = Object.assign(Object.assign({}, dataItem.spec), { name: dataItem.name /* do we need ? */ });
65
65
  return spec;
66
66
  }, {});
67
+ // appending spec to data for reporting and optimizing AWS Athena search
68
+ dataSample.data = Object.assign(Object.assign({}, dataSample.data), { _spec: JSON.stringify(spec) });
67
69
  var partitionKeys = Object.assign({}, dataSet.partitionKeys);
68
70
  const collectedAt = dataSample.collectedAt || new Date();
69
71
  partitionKeys = formatDate(partitionKeys, (0, moment_1.default)(collectedAt).utc());
70
- partitionKeys = replaceVariables(partitionKeys, Object.assign({ domainId: domain.id, dataSetId: dataSample.dataSetId }, dataSample.data));
72
+ partitionKeys = replaceVariables(partitionKeys, Object.assign({ domain: domain.subdomain, dataSetId: dataSample.dataSetId }, dataSample.data));
71
73
  return await tx.getRepository(data_sample_1.DataSample).save(Object.assign(Object.assign({ name: dataSet.name, description: dataSet.description }, dataSample), { domain,
72
74
  partitionKeys,
73
75
  spec,
@@ -1 +1 @@
1
- {"version":3,"file":"data-sample-mutation.js","sourceRoot":"","sources":["../../../server/service/data-sample/data-sample-mutation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-sample-mutation.js","sourceRoot":"","sources":["../../../server/service/data-sample/data-sample-mutation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/dataset",
3
- "version": "5.0.0-alpha.12",
3
+ "version": "5.0.0-alpha.13",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -24,18 +24,19 @@
24
24
  "migration:create": "node ../../node_modules/typeorm/cli.js migration:create -d ./server/migrations"
25
25
  },
26
26
  "dependencies": {
27
- "@operato/app": "1.0.0-alpha.30",
28
- "@operato/data-grist": "1.0.0-alpha.30",
29
- "@operato/dataset": "1.0.0-alpha.30",
30
- "@operato/graphql": "1.0.0-alpha.30",
31
- "@operato/i18n": "1.0.0-alpha.30",
32
- "@operato/layout": "1.0.0-alpha.30",
33
- "@operato/shell": "1.0.0-alpha.30",
34
- "@operato/styles": "1.0.0-alpha.30",
35
- "@operato/utils": "1.0.0-alpha.30",
36
- "@things-factory/auth-base": "^5.0.0-alpha.12",
37
- "@things-factory/env": "^5.0.0-alpha.12",
38
- "@things-factory/shell": "^5.0.0-alpha.12"
27
+ "@operato/app": "1.0.0-alpha.33",
28
+ "@operato/data-grist": "1.0.0-alpha.33",
29
+ "@operato/dataset": "1.0.0-alpha.33",
30
+ "@operato/graphql": "1.0.0-alpha.33",
31
+ "@operato/i18n": "1.0.0-alpha.33",
32
+ "@operato/layout": "1.0.0-alpha.33",
33
+ "@operato/shell": "1.0.0-alpha.33",
34
+ "@operato/styles": "1.0.0-alpha.33",
35
+ "@operato/utils": "1.0.0-alpha.33",
36
+ "@things-factory/auth-base": "^5.0.0-alpha.13",
37
+ "@things-factory/env": "^5.0.0-alpha.13",
38
+ "@things-factory/shell": "^5.0.0-alpha.13",
39
+ "moment": "^2.29.1"
39
40
  },
40
- "gitHead": "fdfb881f0a6ae429387c04494449ed50c2a117b0"
41
+ "gitHead": "49704052461599b174959ff494abb9ef1facd887"
41
42
  }
@@ -22,7 +22,7 @@ const replaceVariables = (keys, dic) => {
22
22
  return keys
23
23
  }
24
24
 
25
- // It is required UTC date for Partitioning File System like AWS S3.
25
+ // It is required UTC date for Partitioning File System like AWS S3 from Athena.
26
26
  // ex) %YYYY, %MM, %DD
27
27
  const formatDate = (keys, _moment) => {
28
28
  for (const k in keys) {
@@ -63,6 +63,9 @@ export class DataSampleMutation {
63
63
  return spec
64
64
  }, {})
65
65
 
66
+ // appending spec to data for reporting and optimizing AWS Athena search
67
+ dataSample.data = { ...dataSample.data, _spec: JSON.stringify(spec) }
68
+
66
69
  var partitionKeys = {
67
70
  ...dataSet.partitionKeys
68
71
  }
@@ -70,7 +73,7 @@ export class DataSampleMutation {
70
73
  const collectedAt = dataSample.collectedAt || new Date()
71
74
  partitionKeys = formatDate(partitionKeys, moment(collectedAt).utc())
72
75
  partitionKeys = replaceVariables(partitionKeys, {
73
- domainId: domain.id,
76
+ domain: domain.subdomain,
74
77
  dataSetId: dataSample.dataSetId,
75
78
  ...dataSample.data
76
79
  })
@@ -14,6 +14,7 @@
14
14
  "field.spec": "spec",
15
15
  "field.tag": "tag name",
16
16
  "field.unit": "unit",
17
+ "text.data sample created successfully": "a data sample created successfully",
17
18
  "title.data-entry-form": "data entry form",
18
19
  "title.data-item list": "data item list",
19
20
  "title.data-sample list": "data sample list",
@@ -14,6 +14,7 @@
14
14
  "field.spec": "명세",
15
15
  "field.tag": "태그이름",
16
16
  "field.unit": "단위",
17
+ "text.data sample created successfully": "데이타 샘플이 성공적으로 생성되었습니다",
17
18
  "title.data-entry-form": "데이타 입력",
18
19
  "title.data-item list": "데이타 아이템 조회",
19
20
  "title.data-sample list": "데이타 샘플 조회",
@@ -14,6 +14,7 @@
14
14
  "field.spec": "spec",
15
15
  "field.tag": "tag name",
16
16
  "field.unit": "unit",
17
+ "text.data sample created successfully": "a data sample created successfully",
17
18
  "title.data-entry-form": "data entry form",
18
19
  "title.data-item list": "data item list",
19
20
  "title.data-sample list": "data sample list",
@@ -14,6 +14,7 @@
14
14
  "field.spec": "spec",
15
15
  "field.tag": "tag name",
16
16
  "field.unit": "unit",
17
+ "text.data sample created successfully": "a data sample created successfully",
17
18
  "title.data-entry-form": "data entry form",
18
19
  "title.data-item list": "data item list",
19
20
  "title.data-sample list": "data sample list",