@things-factory/dataset 9.0.0-beta.8 → 9.0.0-beta.80

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 (161) hide show
  1. package/dist-client/activities/activity-data-collect-edit.d.ts +8 -1
  2. package/dist-client/activities/activity-data-collect-edit.js +76 -25
  3. package/dist-client/activities/activity-data-collect-edit.js.map +1 -1
  4. package/dist-client/activities/activity-data-collect-view.js +24 -24
  5. package/dist-client/activities/activity-data-collect-view.js.map +1 -1
  6. package/dist-client/activities/activity-data-review-edit.d.ts +2 -0
  7. package/dist-client/activities/activity-data-review-edit.js +111 -90
  8. package/dist-client/activities/activity-data-review-edit.js.map +1 -1
  9. package/dist-client/activities/activity-data-review-view.d.ts +2 -0
  10. package/dist-client/activities/activity-data-review-view.js +111 -88
  11. package/dist-client/activities/activity-data-review-view.js.map +1 -1
  12. package/dist-client/activities/activity-ooc-resolve-edit.js +73 -66
  13. package/dist-client/activities/activity-ooc-resolve-edit.js.map +1 -1
  14. package/dist-client/activities/activity-ooc-resolve-view.js +49 -41
  15. package/dist-client/activities/activity-ooc-resolve-view.js.map +1 -1
  16. package/dist-client/activities/activity-ooc-review-edit.d.ts +1 -0
  17. package/dist-client/activities/activity-ooc-review-edit.js +93 -72
  18. package/dist-client/activities/activity-ooc-review-edit.js.map +1 -1
  19. package/dist-client/activities/activity-ooc-review-view.js +45 -39
  20. package/dist-client/activities/activity-ooc-review-view.js.map +1 -1
  21. package/dist-client/components/checklist-entry-form.d.ts +21 -0
  22. package/dist-client/components/checklist-entry-form.js +107 -0
  23. package/dist-client/components/checklist-entry-form.js.map +1 -0
  24. package/dist-client/components/data-entry-form.d.ts +3 -2
  25. package/dist-client/components/data-entry-form.js +29 -30
  26. package/dist-client/components/data-entry-form.js.map +1 -1
  27. package/dist-client/pages/data-archive/data-archive-list-page.js +35 -34
  28. package/dist-client/pages/data-archive/data-archive-list-page.js.map +1 -1
  29. package/dist-client/pages/data-archive/data-archive-request-popup.js +17 -17
  30. package/dist-client/pages/data-archive/data-archive-request-popup.js.map +1 -1
  31. package/dist-client/pages/data-entry/data-entry-list-page.d.ts +1 -0
  32. package/dist-client/pages/data-entry/data-entry-list-page.js +42 -34
  33. package/dist-client/pages/data-entry/data-entry-list-page.js.map +1 -1
  34. package/dist-client/pages/data-key-set/data-key-item-list.js +15 -15
  35. package/dist-client/pages/data-key-set/data-key-item-list.js.map +1 -1
  36. package/dist-client/pages/data-key-set/data-key-set-importer.js +16 -17
  37. package/dist-client/pages/data-key-set/data-key-set-importer.js.map +1 -1
  38. package/dist-client/pages/data-key-set/data-key-set-list-page.js +24 -25
  39. package/dist-client/pages/data-key-set/data-key-set-list-page.js.map +1 -1
  40. package/dist-client/pages/data-ooc/data-ooc-list-page.js +40 -39
  41. package/dist-client/pages/data-ooc/data-ooc-list-page.js.map +1 -1
  42. package/dist-client/pages/data-ooc/data-ooc-page.js +21 -18
  43. package/dist-client/pages/data-ooc/data-ooc-page.js.map +1 -1
  44. package/dist-client/pages/data-ooc/data-ooc-view.js +39 -37
  45. package/dist-client/pages/data-ooc/data-ooc-view.js.map +1 -1
  46. package/dist-client/pages/data-ooc/data-oocs-page.js +20 -22
  47. package/dist-client/pages/data-ooc/data-oocs-page.js.map +1 -1
  48. package/dist-client/pages/data-report/data-report-embed-page.js +24 -21
  49. package/dist-client/pages/data-report/data-report-embed-page.js.map +1 -1
  50. package/dist-client/pages/data-report/data-report-list-page.js +26 -28
  51. package/dist-client/pages/data-report/data-report-list-page.js.map +1 -1
  52. package/dist-client/pages/data-report/data-report-samples-page.js +20 -22
  53. package/dist-client/pages/data-report/data-report-samples-page.js.map +1 -1
  54. package/dist-client/pages/data-report/jasper-report-oocs-page.js +24 -21
  55. package/dist-client/pages/data-report/jasper-report-oocs-page.js.map +1 -1
  56. package/dist-client/pages/data-report/jasper-report-samples-crosstab-page.js +24 -21
  57. package/dist-client/pages/data-report/jasper-report-samples-crosstab-page.js.map +1 -1
  58. package/dist-client/pages/data-report/jasper-report-samples-page.js +24 -21
  59. package/dist-client/pages/data-report/jasper-report-samples-page.js.map +1 -1
  60. package/dist-client/pages/data-sample/data-sample-list-page.js +37 -35
  61. package/dist-client/pages/data-sample/data-sample-list-page.js.map +1 -1
  62. package/dist-client/pages/data-sample/data-sample-page.js +18 -18
  63. package/dist-client/pages/data-sample/data-sample-page.js.map +1 -1
  64. package/dist-client/pages/data-sample/data-sample-search-page.js +36 -35
  65. package/dist-client/pages/data-sample/data-sample-search-page.js.map +1 -1
  66. package/dist-client/pages/data-sample/data-sample-view.d.ts +2 -0
  67. package/dist-client/pages/data-sample/data-sample-view.js +65 -41
  68. package/dist-client/pages/data-sample/data-sample-view.js.map +1 -1
  69. package/dist-client/pages/data-sample/data-samples-page.js +19 -21
  70. package/dist-client/pages/data-sample/data-samples-page.js.map +1 -1
  71. package/dist-client/pages/data-sensor/data-sensor-list-page.js +47 -24
  72. package/dist-client/pages/data-sensor/data-sensor-list-page.js.map +1 -1
  73. package/dist-client/pages/data-set/data-item-list.js +24 -15
  74. package/dist-client/pages/data-set/data-item-list.js.map +1 -1
  75. package/dist-client/pages/data-set/data-set-importer.js +16 -17
  76. package/dist-client/pages/data-set/data-set-importer.js.map +1 -1
  77. package/dist-client/pages/data-set/data-set-list-page.d.ts +2 -0
  78. package/dist-client/pages/data-set/data-set-list-page.js +109 -63
  79. package/dist-client/pages/data-set/data-set-list-page.js.map +1 -1
  80. package/dist-client/pages/data-summary/data-summary-list-page.js +34 -32
  81. package/dist-client/pages/data-summary/data-summary-list-page.js.map +1 -1
  82. package/dist-client/pages/data-summary/data-summary-period-page.js +99 -83
  83. package/dist-client/pages/data-summary/data-summary-period-page.js.map +1 -1
  84. package/dist-client/pages/data-summary/data-summary-search-page.js +42 -41
  85. package/dist-client/pages/data-summary/data-summary-search-page.js.map +1 -1
  86. package/dist-client/pages/data-summary/data-summary-view.js +24 -24
  87. package/dist-client/pages/data-summary/data-summary-view.js.map +1 -1
  88. package/dist-client/tsconfig.tsbuildinfo +1 -1
  89. package/dist-server/activities/activity-data-review.js +13 -2
  90. package/dist-server/activities/activity-data-review.js.map +1 -1
  91. package/dist-server/activities/activity-ooc-resolve.js +10 -4
  92. package/dist-server/activities/activity-ooc-resolve.js.map +1 -1
  93. package/dist-server/activities/activity-ooc-review.js +8 -2
  94. package/dist-server/activities/activity-ooc-review.js.map +1 -1
  95. package/dist-server/controllers/create-data-ooc.js +10 -5
  96. package/dist-server/controllers/create-data-ooc.js.map +1 -1
  97. package/dist-server/controllers/create-data-sample.js +36 -16
  98. package/dist-server/controllers/create-data-sample.js.map +1 -1
  99. package/dist-server/controllers/data-use-case.js +6 -7
  100. package/dist-server/controllers/data-use-case.js.map +1 -1
  101. package/dist-server/controllers/finalize-data-collection.js +30 -8
  102. package/dist-server/controllers/finalize-data-collection.js.map +1 -1
  103. package/dist-server/controllers/issue-data-collection-task.js +6 -3
  104. package/dist-server/controllers/issue-data-collection-task.js.map +1 -1
  105. package/dist-server/controllers/jasper-report.js +10 -7
  106. package/dist-server/controllers/jasper-report.js.map +1 -1
  107. package/dist-server/controllers/query-data-summary-by-period.d.ts +1 -1
  108. package/dist-server/controllers/query-data-summary-by-period.js +17 -13
  109. package/dist-server/controllers/query-data-summary-by-period.js.map +1 -1
  110. package/dist-server/controllers/shiny-report.js +7 -2
  111. package/dist-server/controllers/shiny-report.js.map +1 -1
  112. package/dist-server/routes.js +18 -7
  113. package/dist-server/routes.js.map +1 -1
  114. package/dist-server/service/data-archive/data-archive-mutation.js +48 -9
  115. package/dist-server/service/data-archive/data-archive-mutation.js.map +1 -1
  116. package/dist-server/service/data-key-set/data-key-set-mutation.js +25 -7
  117. package/dist-server/service/data-key-set/data-key-set-mutation.js.map +1 -1
  118. package/dist-server/service/data-key-set/data-key-set-query.js +1 -1
  119. package/dist-server/service/data-key-set/data-key-set-query.js.map +1 -1
  120. package/dist-server/service/data-ooc/data-ooc-mutation.js +15 -4
  121. package/dist-server/service/data-ooc/data-ooc-mutation.js.map +1 -1
  122. package/dist-server/service/data-ooc/data-ooc-query.js +1 -1
  123. package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -1
  124. package/dist-server/service/data-ooc/data-ooc-subscription.js +3 -4
  125. package/dist-server/service/data-ooc/data-ooc-subscription.js.map +1 -1
  126. package/dist-server/service/data-sample/data-sample-query.d.ts +1 -1
  127. package/dist-server/service/data-sample/data-sample-query.js +16 -8
  128. package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
  129. package/dist-server/service/data-sensor/data-sensor-mutation.js +24 -6
  130. package/dist-server/service/data-sensor/data-sensor-mutation.js.map +1 -1
  131. package/dist-server/service/data-sensor/data-sensor-type.d.ts +4 -0
  132. package/dist-server/service/data-sensor/data-sensor-type.js +16 -0
  133. package/dist-server/service/data-sensor/data-sensor-type.js.map +1 -1
  134. package/dist-server/service/data-sensor/data-sensor.d.ts +2 -0
  135. package/dist-server/service/data-sensor/data-sensor.js +10 -0
  136. package/dist-server/service/data-sensor/data-sensor.js.map +1 -1
  137. package/dist-server/service/data-set/data-item-type.d.ts +2 -0
  138. package/dist-server/service/data-set/data-item-type.js +14 -0
  139. package/dist-server/service/data-set/data-item-type.js.map +1 -1
  140. package/dist-server/service/data-set/data-set-mutation.js +77 -18
  141. package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
  142. package/dist-server/service/data-set/data-set-query.js +4 -4
  143. package/dist-server/service/data-set/data-set-query.js.map +1 -1
  144. package/dist-server/service/data-set/data-set.d.ts +1 -0
  145. package/dist-server/service/data-set/data-set.js +5 -0
  146. package/dist-server/service/data-set/data-set.js.map +1 -1
  147. package/dist-server/service/data-set-history/data-set-history-query.js +1 -1
  148. package/dist-server/service/data-set-history/data-set-history-query.js.map +1 -1
  149. package/dist-server/service/data-spec/data-spec-manager.js +1 -1
  150. package/dist-server/service/data-spec/data-spec-manager.js.map +1 -1
  151. package/dist-server/service/data-summary/data-summary-query.d.ts +1 -1
  152. package/dist-server/service/data-summary/data-summary-query.js +4 -6
  153. package/dist-server/service/data-summary/data-summary-query.js.map +1 -1
  154. package/dist-server/tsconfig.tsbuildinfo +1 -1
  155. package/package.json +13 -13
  156. package/things-factory.config.js +4 -0
  157. package/translations/en.json +3 -0
  158. package/translations/ja.json +3 -0
  159. package/translations/ko.json +3 -0
  160. package/translations/ms.json +3 -0
  161. package/translations/zh.json +3 -0
@@ -1,10 +1,11 @@
1
- import { __asyncGenerator, __await, __decorate, __metadata } from "tslib";
1
+ import { __decorate, __metadata } from "tslib";
2
2
  import '@material/web/icon/icon.js';
3
3
  import '@operato/data-grist';
4
4
  import '@operato/context/ox-context-page-toolbar.js';
5
5
  import './data-item-list.js';
6
6
  import './data-set-importer.js';
7
7
  import '../../components/data-entry-form.js';
8
+ import '../../components/checklist-entry-form.js';
8
9
  import gql from 'graphql-tag';
9
10
  import { css, html } from 'lit';
10
11
  import { customElement, query, state } from 'lit/decorators.js';
@@ -16,10 +17,11 @@ import { OxDataUseCase } from '@operato/dataset';
16
17
  import { client } from '@operato/graphql';
17
18
  import { i18next, localize } from '@operato/i18n';
18
19
  import { notify, openPopup } from '@operato/layout';
19
- import { PageView, store } from '@operato/shell';
20
+ import { PageView, store, navigate } from '@operato/shell';
20
21
  import { CommonGristStyles, CommonHeaderStyles, ScrollbarStyles } from '@operato/styles';
21
22
  import { isMobileDevice, sleep } from '@operato/utils';
22
23
  import { p13n } from '@operato/p13n';
24
+ import { provider } from '@things-factory/board-ui/dist-client/board-provider.js';
23
25
  const MIN = 60;
24
26
  const HOUR = 60 * MIN;
25
27
  const DAY = 24 * HOUR;
@@ -41,6 +43,7 @@ const TIMEZONE_OPTIONS = ['', DEFAULT_TZ, ...moment.tz.names().filter(tz => tz !
41
43
  const ENTRY_TYPES = [
42
44
  { display: '', value: '' },
43
45
  { display: 'Generated', value: 'generated' },
46
+ { display: 'Checklist', value: 'checklist' },
44
47
  { display: 'Board', value: 'board' },
45
48
  { display: 'CustomElement', value: 'custom-element' },
46
49
  { display: 'Page', value: 'page' },
@@ -49,6 +52,7 @@ const ENTRY_TYPES = [
49
52
  const MONITOR_TYPES = [
50
53
  { display: '', value: '' },
51
54
  { display: 'Generated', value: 'generated' },
55
+ { display: 'Checklist', value: 'checklist' },
52
56
  { display: 'Board', value: 'board' },
53
57
  { display: 'CustomElement', value: 'custom-element' },
54
58
  { display: 'Page', value: 'page' },
@@ -79,20 +83,93 @@ const USECASE_OPTIONS = () => {
79
83
  };
80
84
  });
81
85
  };
86
+ export const showEntryView = async (columns, data, column, record, rowIndex) => {
87
+ const { name, entryType, entryView } = record;
88
+ const title = `${name} - ${i18next.t('title.data-entry-form')}`;
89
+ switch (entryType) {
90
+ case 'generated':
91
+ openPopup(html ` <data-entry-form .dataSet=${record} style="background-color: white;"></data-entry-form> `, {
92
+ closable: true,
93
+ backdrop: true,
94
+ size: 'large',
95
+ title
96
+ });
97
+ break;
98
+ case 'checklist':
99
+ openPopup(html ` <checklist-entry-form .dataSet=${record} style="background-color: white;"></checklist-entry-form> `, {
100
+ closable: true,
101
+ backdrop: true,
102
+ size: 'large',
103
+ title
104
+ });
105
+ break;
106
+ case 'board':
107
+ const board = {
108
+ id: entryView
109
+ };
110
+ openPopup(html `
111
+ <ox-board-viewer
112
+ style="background-color: white;"
113
+ .board=${board}
114
+ .provider=${provider}
115
+ hide-fullscreen
116
+ hide-navigation
117
+ ></ox-board-viewer>
118
+ `, {
119
+ closable: true,
120
+ backdrop: true,
121
+ size: 'large',
122
+ title
123
+ });
124
+ // navigate(`board-viewer/${entryView}?interactive=true&title=${title}`)
125
+ break;
126
+ case 'page':
127
+ navigate(`${entryView}/${record.id}`);
128
+ break;
129
+ case 'external':
130
+ window.open(entryView, '_blank');
131
+ break;
132
+ }
133
+ };
82
134
  let DataSetListPage = class DataSetListPage extends connect(store)(p13n(localize(i18next)(PageView))) {
83
135
  constructor() {
84
136
  super(...arguments);
85
137
  this.mode = isMobileDevice() ? 'CARD' : 'GRID';
86
138
  }
139
+ static { this.styles = [
140
+ ScrollbarStyles,
141
+ CommonGristStyles,
142
+ CommonHeaderStyles,
143
+ css `
144
+ :host {
145
+ display: flex;
146
+
147
+ width: 100%;
148
+
149
+ --grid-record-emphasized-background-color: #8b0000;
150
+ --grid-record-emphasized-color: #ff6b6b;
151
+
152
+ --grid-header-padding: 2px 0 2px 9px;
153
+ }
154
+
155
+ ox-grist {
156
+ overflow-y: auto;
157
+ flex: 1;
158
+ }
159
+
160
+ .header {
161
+ grid-template-areas: 'filters actions';
162
+ }
163
+ `
164
+ ]; }
87
165
  get context() {
88
- var _a;
89
166
  return {
90
167
  title: i18next.t('title.data-set list'),
91
168
  search: {
92
169
  handler: (search) => {
93
170
  this.grist.searchText = search;
94
171
  },
95
- value: ((_a = this.grist) === null || _a === void 0 ? void 0 : _a.searchText) || ''
172
+ value: this.grist?.searchText || ''
96
173
  },
97
174
  filter: {
98
175
  handler: () => {
@@ -138,7 +215,6 @@ let DataSetListPage = class DataSetListPage extends connect(store)(p13n(localize
138
215
  .config=${this.gristConfig}
139
216
  .personalConfigProvider=${this.getPagePreferenceProvider('ox-grist')}
140
217
  .fetchHandler=${this.fetchHandler.bind(this)}
141
- ?url-params-sensitive=${this.active}
142
218
  >
143
219
  <div slot="headroom" class="header">
144
220
  <div class="filters">
@@ -213,13 +289,7 @@ let DataSetListPage = class DataSetListPage extends connect(store)(p13n(localize
213
289
  fixed: true,
214
290
  title: record => !record ? i18next.t('button.enter-data') : !record.id ? '' : i18next.t('button.enter-data'),
215
291
  handlers: {
216
- click: (columns, data, column, record, rowIndex) => {
217
- openPopup(html ` <data-entry-form .dataSet=${record} style="background-color: white;"></data-entry-form> `, {
218
- backdrop: true,
219
- size: 'large',
220
- title: i18next.t('title.data-entry-form')
221
- });
222
- }
292
+ click: showEntryView
223
293
  }
224
294
  },
225
295
  {
@@ -797,6 +867,7 @@ let DataSetListPage = class DataSetListPage extends connect(store)(p13n(localize
797
867
  hidden
798
868
  tag
799
869
  group
870
+ subgroup
800
871
  type
801
872
  unit
802
873
  options
@@ -957,15 +1028,18 @@ let DataSetListPage = class DataSetListPage extends connect(store)(p13n(localize
957
1028
  });
958
1029
  let records = this.grist.data.records;
959
1030
  var data = records.map(item => {
960
- return Object.assign({ id: item.id }, this.grist._config.columns
961
- .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)
962
- .reduce((record, column) => {
963
- var imexKey = column.imex.key;
964
- record[imexKey] = imexKey
965
- .split('.')
966
- .reduce((obj, key) => (obj && obj[key] !== 'undefined' ? obj[key] : undefined), item);
967
- return record;
968
- }, {}));
1031
+ return {
1032
+ id: item.id,
1033
+ ...this.grist._config.columns
1034
+ .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)
1035
+ .reduce((record, column) => {
1036
+ var imexKey = column.imex.key;
1037
+ record[imexKey] = imexKey
1038
+ .split('.')
1039
+ .reduce((obj, key) => (obj && obj[key] !== 'undefined' ? obj[key] : undefined), item);
1040
+ return record;
1041
+ }, {})
1042
+ };
969
1043
  });
970
1044
  return { header: headerSetting, data: data };
971
1045
  }
@@ -984,50 +1058,22 @@ let DataSetListPage = class DataSetListPage extends connect(store)(p13n(localize
984
1058
  title: i18next.t('title.import data-set')
985
1059
  });
986
1060
  }
987
- summaryScheduleTimer(exp) {
988
- return __asyncGenerator(this, arguments, function* summaryScheduleTimer_1() {
989
- while (exp && this.active) {
990
- var secs = Math.round((Number(exp) - Date.now()) / 1000);
991
- var positive = secs >= 0;
992
- secs = Math.abs(secs);
993
- const days = Math.floor(secs / DAY);
994
- secs -= days * DAY;
995
- const hours = Math.floor(secs / HOUR);
996
- secs -= hours * HOUR;
997
- const minutes = Math.floor(secs / MIN);
998
- const seconds = secs - minutes * MIN;
999
- yield yield __await(`${positive ? '' : '- '}${days ? `${days}${i18next.t('label.days')} ` : ''}${hours ? `${hours}${i18next.t('label.hours')} ` : ''}${minutes ? `${minutes}${i18next.t('label.minutes')} ` : ''}`);
1000
- yield __await(sleep(60 * 1000));
1001
- }
1002
- });
1061
+ async *summaryScheduleTimer(exp) {
1062
+ while (exp && this.active) {
1063
+ var secs = Math.round((Number(exp) - Date.now()) / 1000);
1064
+ var positive = secs >= 0;
1065
+ secs = Math.abs(secs);
1066
+ const days = Math.floor(secs / DAY);
1067
+ secs -= days * DAY;
1068
+ const hours = Math.floor(secs / HOUR);
1069
+ secs -= hours * HOUR;
1070
+ const minutes = Math.floor(secs / MIN);
1071
+ const seconds = secs - minutes * MIN;
1072
+ yield `${positive ? '' : '- '}${days ? `${days}${i18next.t('label.days')} ` : ''}${hours ? `${hours}${i18next.t('label.hours')} ` : ''}${minutes ? `${minutes}${i18next.t('label.minutes')} ` : ''}`;
1073
+ await sleep(60 * 1000);
1074
+ }
1003
1075
  }
1004
1076
  };
1005
- DataSetListPage.styles = [
1006
- ScrollbarStyles,
1007
- CommonGristStyles,
1008
- CommonHeaderStyles,
1009
- css `
1010
- :host {
1011
- display: flex;
1012
-
1013
- width: 100%;
1014
-
1015
- --grid-record-emphasized-background-color: #8b0000;
1016
- --grid-record-emphasized-color: #ff6b6b;
1017
-
1018
- --grid-header-padding: 2px 0 2px 9px;
1019
- }
1020
-
1021
- ox-grist {
1022
- overflow-y: auto;
1023
- flex: 1;
1024
- }
1025
-
1026
- .header {
1027
- grid-template-areas: 'filters actions';
1028
- }
1029
- `
1030
- ];
1031
1077
  __decorate([
1032
1078
  state(),
1033
1079
  __metadata("design:type", Object)
@@ -1 +1 @@
1
- {"version":3,"file":"data-set-list-page.js","sourceRoot":"","sources":["../../../client/pages/data-set/data-set-list-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@operato/data-grist'\nimport '@operato/context/ox-context-page-toolbar.js'\nimport './data-item-list.js'\nimport './data-set-importer.js'\nimport '../../components/data-entry-form.js'\n\nimport gql from 'graphql-tag'\nimport { css, html } from 'lit'\nimport { customElement, query, state } from 'lit/decorators.js'\nimport { asyncReplace } from 'lit/directives/async-replace.js'\nimport moment from '@operato/moment-timezone-es'\nimport { connect } from 'pwa-helpers/connect-mixin'\n\nimport { DataGrist, FetchOption, getEditor, getRenderer, ImexConfig } from '@operato/data-grist'\nimport { OxDataUseCase } from '@operato/dataset'\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { notify, openPopup } from '@operato/layout'\nimport { PageView, store } from '@operato/shell'\nimport { CommonGristStyles, CommonHeaderStyles, ScrollbarStyles } from '@operato/styles'\nimport { isMobileDevice, sleep } from '@operato/utils'\n\nimport { p13n } from '@operato/p13n'\n\nconst MIN = 60\nconst HOUR = 60 * MIN\nconst DAY = 24 * HOUR\n\nfunction getSystemTimeZone(): string {\n try {\n const timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone\n if (!timeZone) {\n throw new Error('Unable to resolve timeZone')\n }\n return timeZone\n } catch (e) {\n console.warn('Failed to get system timeZone, falling back to UTC.', e)\n return 'UTC'\n }\n}\n\nconst DEFAULT_TZ = getSystemTimeZone()\nconst TIMEZONE_OPTIONS = ['', DEFAULT_TZ, ...moment.tz.names().filter(tz => tz !== DEFAULT_TZ)]\n\nconst ENTRY_TYPES = [\n { display: '', value: '' },\n { display: 'Generated', value: 'generated' },\n { display: 'Board', value: 'board' },\n { display: 'CustomElement', value: 'custom-element' },\n { display: 'Page', value: 'page' },\n { display: 'External URL', value: 'external' }\n]\n\nconst MONITOR_TYPES = [\n { display: '', value: '' },\n { display: 'Generated', value: 'generated' },\n { display: 'Board', value: 'board' },\n { display: 'CustomElement', value: 'custom-element' },\n { display: 'Page', value: 'page' },\n { display: 'External URL', value: 'external' }\n]\n\nconst REPORT_TYPES = [\n { display: '', value: '' },\n { display: 'Generated', value: 'generated' },\n { display: 'Embed', value: 'embed' },\n { display: 'CustomElement', value: 'custom-element' },\n { display: 'Page', value: 'page' },\n { display: 'External URL', value: 'external' },\n { display: 'Jasper', value: 'jasper' },\n { display: 'Shiny', value: 'shiny' }\n]\n\nconst SUMMARY_PERIOD_TYPES = [\n { display: '', value: '' },\n { display: 'Hour', value: 'hour' },\n { display: 'WorkShift', value: 'work-shift' },\n { display: 'WorkDate', value: 'work-date' },\n { display: 'Day', value: 'day' }\n]\n\nconst USECASE_OPTIONS = () => {\n return ['', ...OxDataUseCase.getUseCaseNames()].map(name => {\n return {\n display: name,\n value: name\n }\n })\n}\n\n@customElement('data-set-list-page')\nexport class DataSetListPage extends connect(store)(p13n(localize(i18next)(PageView))) {\n static styles = [\n ScrollbarStyles,\n CommonGristStyles,\n CommonHeaderStyles,\n css`\n :host {\n display: flex;\n\n width: 100%;\n\n --grid-record-emphasized-background-color: #8b0000;\n --grid-record-emphasized-color: #ff6b6b;\n\n --grid-header-padding: 2px 0 2px 9px;\n }\n\n ox-grist {\n overflow-y: auto;\n flex: 1;\n }\n\n .header {\n grid-template-areas: 'filters actions';\n }\n `\n ]\n\n @state() gristConfig: any\n\n @state() mode: 'CARD' | 'GRID' | 'LIST' = isMobileDevice() ? 'CARD' : 'GRID'\n\n @query('ox-grist') private grist!: DataGrist\n\n get context() {\n return {\n title: i18next.t('title.data-set list'),\n search: {\n handler: (search: string) => {\n this.grist.searchText = search\n },\n value: this.grist?.searchText || ''\n },\n filter: {\n handler: () => {\n this.grist.toggleHeadroom()\n }\n },\n help: 'dataset/data-set',\n exportable: {\n name: i18next.t('title.data-set list'),\n data: this.exportHandler.bind(this)\n },\n importable: {\n handler: this.importHandler.bind(this)\n },\n actions: [\n {\n title: i18next.t('button.save'),\n action: this._updateDataSet.bind(this),\n icon: 'save'\n },\n {\n title: i18next.t('button.copy'),\n action: this._copyDataSet.bind(this),\n icon: 'content_copy'\n },\n {\n title: i18next.t('button.delete'),\n action: this._deleteDataSet.bind(this),\n icon: 'delete',\n emphasis: {\n danger: true\n }\n }\n ],\n toolbar: false\n }\n }\n\n render() {\n const mode = this.mode || (isMobileDevice() ? 'CARD' : 'GRID')\n\n return html`\n <ox-grist\n .mode=${mode}\n .config=${this.gristConfig}\n .personalConfigProvider=${this.getPagePreferenceProvider('ox-grist')!}\n .fetchHandler=${this.fetchHandler.bind(this)}\n ?url-params-sensitive=${this.active}\n >\n <div slot=\"headroom\" class=\"header\">\n <div class=\"filters\">\n <ox-filters-form autofocus without-search></ox-filters-form>\n </div>\n\n <ox-context-page-toolbar class=\"actions\" .context=${this.context}> </ox-context-page-toolbar>\n </div>\n\n <ox-grist-personalizer slot=\"setting\"></ox-grist-personalizer>\n </ox-grist>\n `\n }\n\n async pageInitialized(lifecycle) {\n this.gristConfig = {\n list: {\n fields: ['name', 'description'],\n details: ['schedule', 'active', 'tag']\n },\n columns: [\n { type: 'gutter', gutterName: 'sequence', fixed: true },\n { type: 'gutter', gutterName: 'row-selector', multiple: true, fixed: true },\n {\n type: 'gutter',\n gutterName: 'button',\n icon: record => (!record ? 'calendar_add_on' : !record.id || !record.scheduleId ? '' : 'event_available'),\n title: i18next.t('button.schedule-task'),\n handlers: {\n click: (columns, data, column, record, rowIndex) => {\n if (!record || !record.id || (!record.scheduleId && !record.schedule)) {\n return\n }\n if (record.scheduleId) {\n this.stopDataCollectionSchedule(record)\n } else {\n this.startDataCollectionSchedule(record)\n }\n }\n }\n },\n {\n type: 'gutter',\n gutterName: 'button',\n title: record =>\n !record ? i18next.t('button.edit-model') : !record.id ? '' : i18next.t('button.edit-model'),\n icon: record => (!record ? 'reorder' : !record.id ? '' : 'reorder'),\n iconOnly: false,\n width: 96,\n fixed: true,\n handlers: {\n click: (columns, data, column, record, rowIndex) => {\n if (!record.id) return\n const popup = openPopup(html` <data-item-list .dataSet=${record}></data-item-list> `, {\n backdrop: true,\n help: 'dataset/ui/data-item-list',\n size: 'large',\n title: i18next.t('title.data-item list')\n })\n popup.onclosed = () => {\n this.grist.fetch()\n }\n }\n }\n },\n {\n type: 'gutter',\n gutterName: 'button',\n icon: record => (!record ? 'fact_check' : !record.id ? '' : 'fact_check'),\n iconOnly: false,\n width: 96,\n fixed: true,\n title: record =>\n !record ? i18next.t('button.enter-data') : !record.id ? '' : i18next.t('button.enter-data'),\n handlers: {\n click: (columns, data, column, record, rowIndex) => {\n openPopup(\n html` <data-entry-form .dataSet=${record} style=\"background-color: white;\"></data-entry-form> `,\n {\n backdrop: true,\n size: 'large',\n title: i18next.t('title.data-entry-form')\n }\n )\n }\n }\n },\n {\n type: 'string',\n name: 'name',\n header: i18next.t('field.name'),\n record: {\n editable: true\n },\n filter: 'search',\n sortable: true,\n fixed: true,\n width: 150,\n imex: {\n width: 25,\n header: i18next.t('field.name'),\n type: 'string',\n key: 'name'\n }\n },\n {\n type: 'string',\n name: 'description',\n header: i18next.t('field.description'),\n record: {\n editable: true\n },\n filter: 'search',\n width: 200,\n imex: {\n width: 33,\n header: i18next.t('field.description'),\n type: 'string',\n key: 'description'\n }\n },\n {\n type: 'varname',\n name: 'tag',\n header: i18next.t('field.tag'),\n record: {\n editable: true\n },\n filter: 'search',\n width: 120,\n imex: {\n width: 25,\n header: i18next.t('field.tag'),\n type: 'string',\n key: 'tag'\n }\n },\n {\n type: 'checkbox',\n name: 'active',\n label: true,\n header: i18next.t('field.active'),\n record: {\n editable: true\n },\n filter: true,\n sortable: true,\n width: 60,\n imex: {\n width: 10,\n header: i18next.t('field.active'),\n type: 'checkbox',\n key: 'active'\n }\n },\n {\n type: 'select',\n name: 'type',\n label: true,\n header: i18next.t('field.type'),\n record: {\n editable: true,\n options: [\n {},\n {\n display: i18next.t('text.manually collected'),\n value: 'manual'\n },\n {\n display: i18next.t('text.automatically collected'),\n value: 'automatic'\n }\n ]\n },\n sortable: true,\n filter: true,\n width: 60,\n imex: {\n width: 10,\n header: i18next.t('field.type'),\n type: 'select',\n key: 'type'\n }\n },\n {\n type: 'select',\n name: 'useCase',\n label: true,\n header: i18next.t('field.use-case'),\n record: {\n editable: true,\n options: USECASE_OPTIONS\n },\n sortable: true,\n filter: true,\n width: 80\n },\n {\n type: 'resource-object',\n name: 'dataKeySet',\n header: i18next.t('field.data-key-set'),\n record: {\n editable: true,\n options: {\n queryName: 'dataKeySets'\n }\n },\n filter: false,\n width: 120\n },\n {\n type: 'partition-keys',\n name: 'partitionKeys',\n header: i18next.t('field.partition-keys'),\n record: {\n editable: true,\n options: {\n objectified: true /* transfered as a object type */\n }\n },\n width: 80\n },\n {\n type: 'select',\n name: 'timezone',\n header: i18next.t('field.timezone'),\n record: {\n editable: true,\n options: TIMEZONE_OPTIONS\n },\n width: 120,\n imex: {\n width: 13,\n header: i18next.t('field.timezone'),\n type: 'select',\n key: 'timezone'\n }\n },\n {\n type: 'crontab',\n name: 'schedule',\n label: true,\n header: i18next.t('field.schedule'),\n record: {\n editable: true,\n options: {\n objectified: true\n }\n },\n width: 80,\n imex: {\n width: 13,\n header: i18next.t('field.schedule'),\n type: 'string',\n key: 'schedule'\n }\n },\n {\n type: 'select',\n name: 'summaryPeriod',\n label: true,\n header: i18next.t('field.summary-period'),\n record: {\n editable: true,\n options: SUMMARY_PERIOD_TYPES\n },\n width: 80\n },\n {\n type: 'string',\n name: 'nextSummarySchedule',\n header: i18next.t('field.next-summary-schedule'),\n record: {\n editable: false,\n renderer: (value, column, record, rowIndex, field) => {\n return html` <span>${asyncReplace(this.summaryScheduleTimer(record.dueAt))}</span>`\n }\n },\n sortable: false,\n width: 140\n },\n {\n type: 'duration',\n name: 'timeLimit',\n header: i18next.t('field.time-limit'),\n record: {\n editable: true\n },\n width: 80\n },\n {\n type: 'resource-object',\n name: 'normalScenario',\n header: {\n renderer: i18next.t('field.normal-scenario'),\n group: i18next.t('text.scenario')\n },\n record: {\n editable: true,\n options: {\n title: i18next.t('title.lookup scenario'),\n queryName: 'scenarios',\n columns: [\n { name: 'id', hidden: true },\n { name: 'name', header: i18next.t('field.name'), filter: 'search' },\n { name: 'description', header: i18next.t('field.description'), filter: 'search' }\n ],\n list: { fields: ['name', 'description'] }\n }\n },\n sortable: true,\n filter: false,\n width: 120\n },\n {\n type: 'resource-object',\n name: 'outlierScenario',\n header: {\n renderer: i18next.t('field.outlier-scenario'),\n group: i18next.t('text.scenario')\n },\n record: {\n editable: true,\n options: {\n title: i18next.t('title.lookup scenario'),\n queryName: 'scenarios',\n columns: [\n { name: 'id', hidden: true },\n { name: 'name', header: i18next.t('field.name'), filter: 'search' },\n { name: 'description', header: i18next.t('field.description'), filter: 'search' }\n ],\n list: { fields: ['name', 'description'] }\n }\n },\n sortable: true,\n filter: false,\n width: 120\n },\n {\n type: 'resource-object',\n name: 'supervisoryRole',\n header: {\n renderer: i18next.t('field.supervisory-role'),\n group: i18next.t('field.role')\n },\n record: {\n editable: true,\n options: {\n title: i18next.t('title.lookup role'),\n queryName: 'roles'\n }\n },\n filter: false,\n width: 120\n },\n {\n type: 'resource-object',\n name: 'entryRole',\n header: {\n renderer: i18next.t('field.entry-role'),\n group: i18next.t('field.role')\n },\n record: {\n editable: true,\n options: {\n title: i18next.t('title.lookup role'),\n queryName: 'roles'\n }\n },\n width: 120\n },\n {\n type: 'resource-object',\n name: 'resolverRole',\n header: {\n renderer: i18next.t('field.resolver-role'),\n group: i18next.t('field.role')\n },\n record: {\n editable: true,\n options: {\n title: i18next.t('title.lookup role'),\n queryName: 'roles'\n }\n },\n filter: false,\n width: 120\n },\n {\n type: 'approval-line',\n name: 'reviewApprovalLine',\n header: {\n renderer: i18next.t('field.review-approval-line'),\n group: i18next.t('field.role')\n },\n record: {\n editable: true\n },\n width: 80\n },\n {\n type: 'approval-line',\n name: 'outlierApprovalLine',\n header: {\n renderer: i18next.t('field.outlier-approval-line'),\n group: i18next.t('field.role')\n },\n record: {\n editable: true\n },\n width: 80\n },\n {\n type: 'checkbox',\n name: 'requiresReview',\n label: true,\n header: {\n renderer: i18next.t('field.requires-review'),\n group: i18next.t('field.role')\n },\n record: {\n editable: true\n },\n filter: true,\n width: 60,\n imex: {\n width: 10,\n header: i18next.t('field.requires-review'),\n type: 'checkbox',\n key: 'requiresReview'\n }\n },\n {\n type: 'select',\n name: 'entryType',\n label: true,\n header: {\n renderer: i18next.t('field.entry-type'),\n group: i18next.t('field.view')\n },\n record: {\n editable: true,\n options: ENTRY_TYPES\n },\n width: 80\n },\n {\n type: 'string',\n name: 'entryView',\n header: {\n renderer: i18next.t('field.entry-view'),\n group: i18next.t('field.view')\n },\n record: {\n editable: true,\n editor: function (value, column, record, rowIndex, field) {\n var type = record.entryType !== 'board' ? 'string' : 'board'\n return getEditor(type)(value, column, record, rowIndex, field)\n },\n renderer: function (value, column, record, rowIndex, field) {\n var type = record.entryType !== 'board' ? 'string' : 'board'\n return getRenderer(type)(value, column, record, rowIndex, field)\n }\n },\n width: 140\n },\n {\n type: 'select',\n name: 'monitorType',\n label: true,\n header: {\n renderer: i18next.t('field.monitor-type'),\n group: i18next.t('field.view')\n },\n record: {\n editable: true,\n options: MONITOR_TYPES\n },\n width: 80\n },\n {\n type: 'string',\n name: 'monitorView',\n header: {\n renderer: i18next.t('field.monitor-view'),\n group: i18next.t('field.view')\n },\n record: {\n editable: true,\n editor: function (value, column, record, rowIndex, field) {\n var type = record.monitorType !== 'board' ? 'string' : 'board'\n return getEditor(type)(value, column, record, rowIndex, field)\n },\n renderer: function (value, column, record, rowIndex, field) {\n var type = record.monitorType !== 'board' ? 'string' : 'board'\n return getRenderer(type)(value, column, record, rowIndex, field)\n }\n },\n width: 140\n },\n {\n type: 'select',\n name: 'reportType',\n label: true,\n header: {\n renderer: i18next.t('field.report-type'),\n group: i18next.t('field.view')\n },\n record: {\n editable: true,\n options: REPORT_TYPES\n },\n width: 80\n },\n {\n type: 'string',\n name: 'reportView',\n header: {\n renderer: i18next.t('field.report-view'),\n group: i18next.t('field.view')\n },\n record: {\n editable: true,\n editor: function (value, column, record, rowIndex, field) {\n var type = record.reportType !== 'custom' ? 'string' : 'script'\n return getEditor(type)(value, column, record, rowIndex, field)\n },\n renderer: function (value, column, record, rowIndex, field) {\n var type = record.reportType !== 'custom' ? 'string' : 'string'\n return getRenderer(type)(value, column, record, rowIndex, field)\n }\n },\n width: 140\n },\n {\n type: 'file',\n name: 'reportTemplate',\n header: {\n renderer: i18next.t('field.report-template'),\n group: i18next.t('field.view')\n },\n record: {\n editable: true\n },\n width: 80\n },\n {\n type: 'resource-object',\n name: 'updater',\n header: i18next.t('field.updater'),\n record: {\n editable: false\n },\n width: 120\n },\n {\n type: 'datetime',\n name: 'updatedAt',\n header: i18next.t('field.updated_at'),\n record: {\n editable: false\n },\n sortable: true,\n width: 180\n }\n ],\n rows: {\n selectable: {\n multiple: true\n }\n },\n sorters: [\n {\n name: 'name'\n }\n ]\n }\n }\n\n async fetchHandler({ page, limit, sortings = [], filters = [] }: FetchOption) {\n const response = await client.query({\n query: gql`\n query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {\n responses: dataSets(filters: $filters, pagination: $pagination, sortings: $sortings) {\n items {\n id\n name\n description\n tag\n partitionKeys\n active\n type\n useCase\n schedule\n timezone\n scheduleId\n summaryPeriod\n summaryScheduleId\n timeLimit\n dataKeySet {\n id\n name\n }\n entryRole {\n id\n name\n }\n supervisoryRole {\n id\n name\n }\n resolverRole {\n id\n name\n }\n normalScenario {\n id\n name\n }\n outlierScenario {\n id\n name\n }\n reviewApprovalLine {\n type\n value\n approver {\n id\n name\n description\n controlNo\n }\n }\n outlierApprovalLine {\n type\n value\n approver {\n id\n name\n description\n controlNo\n }\n }\n requiresReview\n entryType\n entryView\n monitorType\n monitorView\n reportType\n reportView\n reportTemplate\n updater {\n id\n name\n }\n updatedAt\n dataItems {\n name\n description\n active\n hidden\n tag\n group\n type\n unit\n options\n quota\n spec\n stat\n agg\n }\n }\n total\n }\n }\n `,\n variables: {\n filters,\n pagination: { page, limit },\n sortings\n }\n })\n\n return {\n total: response.data.responses.total || 0,\n records: response.data.responses.items || []\n }\n }\n\n async _deleteDataSet() {\n if (confirm(i18next.t('text.sure_to_x', { x: i18next.t('text.delete') }))) {\n const ids = this.grist.selected.map(record => record.id)\n if (ids && ids.length > 0) {\n const response = await client.mutate({\n mutation: gql`\n mutation ($ids: [String!]!) {\n deleteDataSets(ids: $ids)\n }\n `,\n variables: {\n ids\n }\n })\n\n if (!response.errors) {\n this.grist.fetch()\n notify({\n message: i18next.t('text.info_x_successfully', { x: i18next.t('text.delete') })\n })\n }\n }\n }\n }\n\n async _copyDataSet() {\n var selected = this.grist.selected\n if (selected.length == 0) return\n\n if (!confirm(i18next.t('text.sure_to_x', { x: i18next.t('text.copy') }))) return\n var response = await client.mutate({\n mutation: gql`\n mutation ($ids: [String!]!) {\n copyDataSets(ids: $ids) {\n id\n }\n }\n `,\n variables: {\n ids: selected.map(r => r.id)\n }\n })\n\n if (!response.errors) {\n this.grist.fetch()\n }\n }\n\n async _updateDataSet() {\n let patches = this.grist.dirtyRecords\n if (patches && patches.length) {\n patches = patches.map(patch => {\n let patchField: any = patch.id ? { id: patch.id } : {}\n const dirtyFields = patch.__dirtyfields__\n for (let key in dirtyFields) {\n patchField[key] = dirtyFields[key].after\n }\n if (patchField['reportTemplate'] instanceof FileList) {\n patchField['reportTemplate'] = patchField['reportTemplate'][0]\n }\n patchField.cuFlag = patch.__dirty__\n\n return patchField\n })\n\n const response = await client.mutate({\n mutation: gql`\n mutation ($patches: [DataSetPatch!]!) {\n updateMultipleDataSet(patches: $patches) {\n name\n }\n }\n `,\n variables: {\n patches\n },\n context: {\n hasUpload: true\n }\n })\n\n if (!response.errors) {\n this.grist.fetch()\n }\n }\n }\n\n async startDataCollectionSchedule(record) {\n var response = await client.mutate({\n mutation: gql`\n mutation ($dataSetId: String!) {\n startDataCollectionSchedule(dataSetId: $dataSetId) {\n scheduleId\n }\n }\n `,\n variables: {\n dataSetId: record.id\n }\n })\n\n const scheduleId = response.data.startDataCollectionSchedule.scheduleId\n record.scheduleId = scheduleId\n\n notify({\n level: 'info',\n message: `${record.scheduleId ? 'success' : 'fail'} to start data collection schedule : ${record.name}`\n })\n\n this.grist.fetch()\n }\n\n async stopDataCollectionSchedule(record) {\n var response = await client.mutate({\n mutation: gql`\n mutation ($dataSetId: String!) {\n stopDataCollectionSchedule(dataSetId: $dataSetId) {\n scheduleId\n }\n }\n `,\n variables: {\n dataSetId: record.id\n }\n })\n\n if (!response.errors) {\n notify({\n level: 'info',\n message: `success to stop data collection schedule : ${record.name}`\n })\n } else {\n notify({\n level: 'error',\n message: `${response.errors.map(error => error.message).join('\\n')}`\n })\n }\n\n this.grist.fetch()\n }\n\n async exportHandler() {\n var headerSetting = this.grist._config.columns\n .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)\n .map(column => {\n return column.imex\n })\n\n let records = this.grist.data.records\n\n var data = records.map(item => {\n return {\n id: item.id,\n ...this.grist._config.columns\n .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)\n .reduce((record, column) => {\n var imexKey = (column.imex as ImexConfig)!.key\n record[imexKey] = imexKey\n .split('.')\n .reduce((obj, key) => (obj && obj[key] !== 'undefined' ? obj[key] : undefined), item)\n return record\n }, {})\n }\n })\n return { header: headerSetting, data: data }\n }\n\n async importHandler(records) {\n openPopup(\n html`\n <data-set-importer\n .dataSets=${records}\n @imported=${() => {\n history.back()\n this.grist.fetch()\n }}\n ></data-set-importer>\n `,\n {\n backdrop: true,\n size: 'large',\n title: i18next.t('title.import data-set')\n }\n )\n }\n\n async *summaryScheduleTimer(exp) {\n while (exp && this.active) {\n var secs = Math.round((Number(exp) - Date.now()) / 1000)\n var positive = secs >= 0\n\n secs = Math.abs(secs)\n const days = Math.floor(secs / DAY)\n secs -= days * DAY\n const hours = Math.floor(secs / HOUR)\n secs -= hours * HOUR\n const minutes = Math.floor(secs / MIN)\n const seconds = secs - minutes * MIN\n\n yield `${positive ? '' : '- '}${days ? `${days}${i18next.t('label.days')} ` : ''}${hours ? `${hours}${i18next.t('label.hours')} ` : ''}${\n minutes ? `${minutes}${i18next.t('label.minutes')} ` : ''\n }`\n\n await sleep(60 * 1000)\n }\n }\n}\n"]}
1
+ {"version":3,"file":"data-set-list-page.js","sourceRoot":"","sources":["../../../client/pages/data-set/data-set-list-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@operato/data-grist'\nimport '@operato/context/ox-context-page-toolbar.js'\nimport './data-item-list.js'\nimport './data-set-importer.js'\nimport '../../components/data-entry-form.js'\nimport '../../components/checklist-entry-form.js'\n\nimport gql from 'graphql-tag'\nimport { css, html } from 'lit'\nimport { customElement, query, state } from 'lit/decorators.js'\nimport { asyncReplace } from 'lit/directives/async-replace.js'\nimport moment from '@operato/moment-timezone-es'\nimport { connect } from 'pwa-helpers/connect-mixin'\n\nimport { DataGrist, FetchOption, getEditor, getRenderer, ImexConfig } from '@operato/data-grist'\nimport { OxDataUseCase } from '@operato/dataset'\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { notify, openPopup } from '@operato/layout'\nimport { PageView, store, navigate } from '@operato/shell'\nimport { CommonGristStyles, CommonHeaderStyles, ScrollbarStyles } from '@operato/styles'\nimport { isMobileDevice, sleep, adjustFilters } from '@operato/utils'\n\nimport { p13n } from '@operato/p13n'\nimport { provider } from '@things-factory/board-ui/dist-client/board-provider.js'\n\nconst MIN = 60\nconst HOUR = 60 * MIN\nconst DAY = 24 * HOUR\n\nfunction getSystemTimeZone(): string {\n try {\n const timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone\n if (!timeZone) {\n throw new Error('Unable to resolve timeZone')\n }\n return timeZone\n } catch (e) {\n console.warn('Failed to get system timeZone, falling back to UTC.', e)\n return 'UTC'\n }\n}\n\nconst DEFAULT_TZ = getSystemTimeZone()\nconst TIMEZONE_OPTIONS = ['', DEFAULT_TZ, ...moment.tz.names().filter(tz => tz !== DEFAULT_TZ)]\n\nconst ENTRY_TYPES = [\n { display: '', value: '' },\n { display: 'Generated', value: 'generated' },\n { display: 'Checklist', value: 'checklist' },\n { display: 'Board', value: 'board' },\n { display: 'CustomElement', value: 'custom-element' },\n { display: 'Page', value: 'page' },\n { display: 'External URL', value: 'external' }\n]\n\nconst MONITOR_TYPES = [\n { display: '', value: '' },\n { display: 'Generated', value: 'generated' },\n { display: 'Checklist', value: 'checklist' },\n { display: 'Board', value: 'board' },\n { display: 'CustomElement', value: 'custom-element' },\n { display: 'Page', value: 'page' },\n { display: 'External URL', value: 'external' }\n]\n\nconst REPORT_TYPES = [\n { display: '', value: '' },\n { display: 'Generated', value: 'generated' },\n { display: 'Embed', value: 'embed' },\n { display: 'CustomElement', value: 'custom-element' },\n { display: 'Page', value: 'page' },\n { display: 'External URL', value: 'external' },\n { display: 'Jasper', value: 'jasper' },\n { display: 'Shiny', value: 'shiny' }\n]\n\nconst SUMMARY_PERIOD_TYPES = [\n { display: '', value: '' },\n { display: 'Hour', value: 'hour' },\n { display: 'WorkShift', value: 'work-shift' },\n { display: 'WorkDate', value: 'work-date' },\n { display: 'Day', value: 'day' }\n]\n\nconst USECASE_OPTIONS = () => {\n return ['', ...OxDataUseCase.getUseCaseNames()].map(name => {\n return {\n display: name,\n value: name\n }\n })\n}\n\nexport const showEntryView = async (columns, data, column, record, rowIndex) => {\n const { name, entryType, entryView } = record\n const title = `${name} - ${i18next.t('title.data-entry-form')}`\n\n switch (entryType) {\n case 'generated':\n openPopup(html` <data-entry-form .dataSet=${record} style=\"background-color: white;\"></data-entry-form> `, {\n closable: true,\n backdrop: true,\n size: 'large',\n title\n })\n break\n case 'checklist':\n openPopup(\n html` <checklist-entry-form .dataSet=${record} style=\"background-color: white;\"></checklist-entry-form> `,\n {\n closable: true,\n backdrop: true,\n size: 'large',\n title\n }\n )\n break\n\n case 'board':\n const board = {\n id: entryView\n }\n openPopup(\n html`\n <ox-board-viewer\n style=\"background-color: white;\"\n .board=${board}\n .provider=${provider}\n hide-fullscreen\n hide-navigation\n ></ox-board-viewer>\n `,\n {\n closable: true,\n backdrop: true,\n size: 'large',\n title\n }\n )\n\n // navigate(`board-viewer/${entryView}?interactive=true&title=${title}`)\n break\n case 'page':\n navigate(`${entryView}/${record.id}`)\n break\n\n case 'external':\n window.open(entryView, '_blank')\n break\n }\n}\n\n@customElement('data-set-list-page')\nexport class DataSetListPage extends connect(store)(p13n(localize(i18next)(PageView))) {\n static styles = [\n ScrollbarStyles,\n CommonGristStyles,\n CommonHeaderStyles,\n css`\n :host {\n display: flex;\n\n width: 100%;\n\n --grid-record-emphasized-background-color: #8b0000;\n --grid-record-emphasized-color: #ff6b6b;\n\n --grid-header-padding: 2px 0 2px 9px;\n }\n\n ox-grist {\n overflow-y: auto;\n flex: 1;\n }\n\n .header {\n grid-template-areas: 'filters actions';\n }\n `\n ]\n\n @state() gristConfig: any\n\n @state() mode: 'CARD' | 'GRID' | 'LIST' = isMobileDevice() ? 'CARD' : 'GRID'\n\n @query('ox-grist') private grist!: DataGrist\n\n get context() {\n return {\n title: i18next.t('title.data-set list'),\n search: {\n handler: (search: string) => {\n this.grist.searchText = search\n },\n value: this.grist?.searchText || ''\n },\n filter: {\n handler: () => {\n this.grist.toggleHeadroom()\n }\n },\n help: 'dataset/data-set',\n exportable: {\n name: i18next.t('title.data-set list'),\n data: this.exportHandler.bind(this)\n },\n importable: {\n handler: this.importHandler.bind(this)\n },\n actions: [\n {\n title: i18next.t('button.save'),\n action: this._updateDataSet.bind(this),\n icon: 'save'\n },\n {\n title: i18next.t('button.copy'),\n action: this._copyDataSet.bind(this),\n icon: 'content_copy'\n },\n {\n title: i18next.t('button.delete'),\n action: this._deleteDataSet.bind(this),\n icon: 'delete',\n emphasis: {\n danger: true\n }\n }\n ],\n toolbar: false\n }\n }\n\n render() {\n const mode = this.mode || (isMobileDevice() ? 'CARD' : 'GRID')\n\n return html`\n <ox-grist\n .mode=${mode}\n .config=${this.gristConfig}\n .personalConfigProvider=${this.getPagePreferenceProvider('ox-grist')!}\n .fetchHandler=${this.fetchHandler.bind(this)}\n >\n <div slot=\"headroom\" class=\"header\">\n <div class=\"filters\">\n <ox-filters-form autofocus without-search></ox-filters-form>\n </div>\n\n <ox-context-page-toolbar class=\"actions\" .context=${this.context}> </ox-context-page-toolbar>\n </div>\n\n <ox-grist-personalizer slot=\"setting\"></ox-grist-personalizer>\n </ox-grist>\n `\n }\n\n async pageInitialized(lifecycle) {\n this.gristConfig = {\n list: {\n fields: ['name', 'description'],\n details: ['schedule', 'active', 'tag']\n },\n columns: [\n { type: 'gutter', gutterName: 'sequence', fixed: true },\n { type: 'gutter', gutterName: 'row-selector', multiple: true, fixed: true },\n {\n type: 'gutter',\n gutterName: 'button',\n icon: record => (!record ? 'calendar_add_on' : !record.id || !record.scheduleId ? '' : 'event_available'),\n title: i18next.t('button.schedule-task'),\n handlers: {\n click: (columns, data, column, record, rowIndex) => {\n if (!record || !record.id || (!record.scheduleId && !record.schedule)) {\n return\n }\n if (record.scheduleId) {\n this.stopDataCollectionSchedule(record)\n } else {\n this.startDataCollectionSchedule(record)\n }\n }\n }\n },\n {\n type: 'gutter',\n gutterName: 'button',\n title: record =>\n !record ? i18next.t('button.edit-model') : !record.id ? '' : i18next.t('button.edit-model'),\n icon: record => (!record ? 'reorder' : !record.id ? '' : 'reorder'),\n iconOnly: false,\n width: 96,\n fixed: true,\n handlers: {\n click: (columns, data, column, record, rowIndex) => {\n if (!record.id) return\n const popup = openPopup(html` <data-item-list .dataSet=${record}></data-item-list> `, {\n backdrop: true,\n help: 'dataset/ui/data-item-list',\n size: 'large',\n title: i18next.t('title.data-item list')\n })\n popup.onclosed = () => {\n this.grist.fetch()\n }\n }\n }\n },\n {\n type: 'gutter',\n gutterName: 'button',\n icon: record => (!record ? 'fact_check' : !record.id ? '' : 'fact_check'),\n iconOnly: false,\n width: 96,\n fixed: true,\n title: record =>\n !record ? i18next.t('button.enter-data') : !record.id ? '' : i18next.t('button.enter-data'),\n handlers: {\n click: showEntryView\n }\n },\n {\n type: 'string',\n name: 'name',\n header: i18next.t('field.name'),\n record: {\n editable: true\n },\n filter: 'search',\n sortable: true,\n fixed: true,\n width: 150,\n imex: {\n width: 25,\n header: i18next.t('field.name'),\n type: 'string',\n key: 'name'\n }\n },\n {\n type: 'string',\n name: 'description',\n header: i18next.t('field.description'),\n record: {\n editable: true\n },\n filter: 'search',\n width: 200,\n imex: {\n width: 33,\n header: i18next.t('field.description'),\n type: 'string',\n key: 'description'\n }\n },\n {\n type: 'varname',\n name: 'tag',\n header: i18next.t('field.tag'),\n record: {\n editable: true\n },\n filter: 'search',\n width: 120,\n imex: {\n width: 25,\n header: i18next.t('field.tag'),\n type: 'string',\n key: 'tag'\n }\n },\n {\n type: 'checkbox',\n name: 'active',\n label: true,\n header: i18next.t('field.active'),\n record: {\n editable: true\n },\n filter: true,\n sortable: true,\n width: 60,\n imex: {\n width: 10,\n header: i18next.t('field.active'),\n type: 'checkbox',\n key: 'active'\n }\n },\n {\n type: 'select',\n name: 'type',\n label: true,\n header: i18next.t('field.type'),\n record: {\n editable: true,\n options: [\n {},\n {\n display: i18next.t('text.manually collected'),\n value: 'manual'\n },\n {\n display: i18next.t('text.automatically collected'),\n value: 'automatic'\n }\n ]\n },\n sortable: true,\n filter: true,\n width: 60,\n imex: {\n width: 10,\n header: i18next.t('field.type'),\n type: 'select',\n key: 'type'\n }\n },\n {\n type: 'select',\n name: 'useCase',\n label: true,\n header: i18next.t('field.use-case'),\n record: {\n editable: true,\n options: USECASE_OPTIONS\n },\n sortable: true,\n filter: true,\n width: 80\n },\n {\n type: 'resource-object',\n name: 'dataKeySet',\n header: i18next.t('field.data-key-set'),\n record: {\n editable: true,\n options: {\n queryName: 'dataKeySets'\n }\n },\n filter: false,\n width: 120\n },\n {\n type: 'partition-keys',\n name: 'partitionKeys',\n header: i18next.t('field.partition-keys'),\n record: {\n editable: true,\n options: {\n objectified: true /* transfered as a object type */\n }\n },\n width: 80\n },\n {\n type: 'select',\n name: 'timezone',\n header: i18next.t('field.timezone'),\n record: {\n editable: true,\n options: TIMEZONE_OPTIONS\n },\n width: 120,\n imex: {\n width: 13,\n header: i18next.t('field.timezone'),\n type: 'select',\n key: 'timezone'\n }\n },\n {\n type: 'crontab',\n name: 'schedule',\n label: true,\n header: i18next.t('field.schedule'),\n record: {\n editable: true,\n options: {\n objectified: true\n }\n },\n width: 80,\n imex: {\n width: 13,\n header: i18next.t('field.schedule'),\n type: 'string',\n key: 'schedule'\n }\n },\n {\n type: 'select',\n name: 'summaryPeriod',\n label: true,\n header: i18next.t('field.summary-period'),\n record: {\n editable: true,\n options: SUMMARY_PERIOD_TYPES\n },\n width: 80\n },\n {\n type: 'string',\n name: 'nextSummarySchedule',\n header: i18next.t('field.next-summary-schedule'),\n record: {\n editable: false,\n renderer: (value, column, record, rowIndex, field) => {\n return html` <span>${asyncReplace(this.summaryScheduleTimer(record.dueAt))}</span>`\n }\n },\n sortable: false,\n width: 140\n },\n {\n type: 'duration',\n name: 'timeLimit',\n header: i18next.t('field.time-limit'),\n record: {\n editable: true\n },\n width: 80\n },\n {\n type: 'resource-object',\n name: 'normalScenario',\n header: {\n renderer: i18next.t('field.normal-scenario'),\n group: i18next.t('text.scenario')\n },\n record: {\n editable: true,\n options: {\n title: i18next.t('title.lookup scenario'),\n queryName: 'scenarios',\n columns: [\n { name: 'id', hidden: true },\n { name: 'name', header: i18next.t('field.name'), filter: 'search' },\n { name: 'description', header: i18next.t('field.description'), filter: 'search' }\n ],\n list: { fields: ['name', 'description'] }\n }\n },\n sortable: true,\n filter: false,\n width: 120\n },\n {\n type: 'resource-object',\n name: 'outlierScenario',\n header: {\n renderer: i18next.t('field.outlier-scenario'),\n group: i18next.t('text.scenario')\n },\n record: {\n editable: true,\n options: {\n title: i18next.t('title.lookup scenario'),\n queryName: 'scenarios',\n columns: [\n { name: 'id', hidden: true },\n { name: 'name', header: i18next.t('field.name'), filter: 'search' },\n { name: 'description', header: i18next.t('field.description'), filter: 'search' }\n ],\n list: { fields: ['name', 'description'] }\n }\n },\n sortable: true,\n filter: false,\n width: 120\n },\n {\n type: 'resource-object',\n name: 'supervisoryRole',\n header: {\n renderer: i18next.t('field.supervisory-role'),\n group: i18next.t('field.role')\n },\n record: {\n editable: true,\n options: {\n title: i18next.t('title.lookup role'),\n queryName: 'roles'\n }\n },\n filter: false,\n width: 120\n },\n {\n type: 'resource-object',\n name: 'entryRole',\n header: {\n renderer: i18next.t('field.entry-role'),\n group: i18next.t('field.role')\n },\n record: {\n editable: true,\n options: {\n title: i18next.t('title.lookup role'),\n queryName: 'roles'\n }\n },\n width: 120\n },\n {\n type: 'resource-object',\n name: 'resolverRole',\n header: {\n renderer: i18next.t('field.resolver-role'),\n group: i18next.t('field.role')\n },\n record: {\n editable: true,\n options: {\n title: i18next.t('title.lookup role'),\n queryName: 'roles'\n }\n },\n filter: false,\n width: 120\n },\n {\n type: 'approval-line',\n name: 'reviewApprovalLine',\n header: {\n renderer: i18next.t('field.review-approval-line'),\n group: i18next.t('field.role')\n },\n record: {\n editable: true\n },\n width: 80\n },\n {\n type: 'approval-line',\n name: 'outlierApprovalLine',\n header: {\n renderer: i18next.t('field.outlier-approval-line'),\n group: i18next.t('field.role')\n },\n record: {\n editable: true\n },\n width: 80\n },\n {\n type: 'checkbox',\n name: 'requiresReview',\n label: true,\n header: {\n renderer: i18next.t('field.requires-review'),\n group: i18next.t('field.role')\n },\n record: {\n editable: true\n },\n filter: true,\n width: 60,\n imex: {\n width: 10,\n header: i18next.t('field.requires-review'),\n type: 'checkbox',\n key: 'requiresReview'\n }\n },\n {\n type: 'select',\n name: 'entryType',\n label: true,\n header: {\n renderer: i18next.t('field.entry-type'),\n group: i18next.t('field.view')\n },\n record: {\n editable: true,\n options: ENTRY_TYPES\n },\n width: 80\n },\n {\n type: 'string',\n name: 'entryView',\n header: {\n renderer: i18next.t('field.entry-view'),\n group: i18next.t('field.view')\n },\n record: {\n editable: true,\n editor: function (value, column, record, rowIndex, field) {\n var type = record.entryType !== 'board' ? 'string' : 'board'\n return getEditor(type)(value, column, record, rowIndex, field)\n },\n renderer: function (value, column, record, rowIndex, field) {\n var type = record.entryType !== 'board' ? 'string' : 'board'\n return getRenderer(type)(value, column, record, rowIndex, field)\n }\n },\n width: 140\n },\n {\n type: 'select',\n name: 'monitorType',\n label: true,\n header: {\n renderer: i18next.t('field.monitor-type'),\n group: i18next.t('field.view')\n },\n record: {\n editable: true,\n options: MONITOR_TYPES\n },\n width: 80\n },\n {\n type: 'string',\n name: 'monitorView',\n header: {\n renderer: i18next.t('field.monitor-view'),\n group: i18next.t('field.view')\n },\n record: {\n editable: true,\n editor: function (value, column, record, rowIndex, field) {\n var type = record.monitorType !== 'board' ? 'string' : 'board'\n return getEditor(type)(value, column, record, rowIndex, field)\n },\n renderer: function (value, column, record, rowIndex, field) {\n var type = record.monitorType !== 'board' ? 'string' : 'board'\n return getRenderer(type)(value, column, record, rowIndex, field)\n }\n },\n width: 140\n },\n {\n type: 'select',\n name: 'reportType',\n label: true,\n header: {\n renderer: i18next.t('field.report-type'),\n group: i18next.t('field.view')\n },\n record: {\n editable: true,\n options: REPORT_TYPES\n },\n width: 80\n },\n {\n type: 'string',\n name: 'reportView',\n header: {\n renderer: i18next.t('field.report-view'),\n group: i18next.t('field.view')\n },\n record: {\n editable: true,\n editor: function (value, column, record, rowIndex, field) {\n var type = record.reportType !== 'custom' ? 'string' : 'script'\n return getEditor(type)(value, column, record, rowIndex, field)\n },\n renderer: function (value, column, record, rowIndex, field) {\n var type = record.reportType !== 'custom' ? 'string' : 'string'\n return getRenderer(type)(value, column, record, rowIndex, field)\n }\n },\n width: 140\n },\n {\n type: 'file',\n name: 'reportTemplate',\n header: {\n renderer: i18next.t('field.report-template'),\n group: i18next.t('field.view')\n },\n record: {\n editable: true\n },\n width: 80\n },\n {\n type: 'resource-object',\n name: 'updater',\n header: i18next.t('field.updater'),\n record: {\n editable: false\n },\n width: 120\n },\n {\n type: 'datetime',\n name: 'updatedAt',\n header: i18next.t('field.updated_at'),\n record: {\n editable: false\n },\n sortable: true,\n width: 180\n }\n ],\n rows: {\n selectable: {\n multiple: true\n }\n },\n sorters: [\n {\n name: 'name'\n }\n ]\n }\n }\n\n async fetchHandler({ page, limit, sortings = [], filters = [] }: FetchOption) {\n const response = await client.query({\n query: gql`\n query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {\n responses: dataSets(filters: $filters, pagination: $pagination, sortings: $sortings) {\n items {\n id\n name\n description\n tag\n partitionKeys\n active\n type\n useCase\n schedule\n timezone\n scheduleId\n summaryPeriod\n summaryScheduleId\n timeLimit\n dataKeySet {\n id\n name\n }\n entryRole {\n id\n name\n }\n supervisoryRole {\n id\n name\n }\n resolverRole {\n id\n name\n }\n normalScenario {\n id\n name\n }\n outlierScenario {\n id\n name\n }\n reviewApprovalLine {\n type\n value\n approver {\n id\n name\n description\n controlNo\n }\n }\n outlierApprovalLine {\n type\n value\n approver {\n id\n name\n description\n controlNo\n }\n }\n requiresReview\n entryType\n entryView\n monitorType\n monitorView\n reportType\n reportView\n reportTemplate\n updater {\n id\n name\n }\n updatedAt\n dataItems {\n name\n description\n active\n hidden\n tag\n group\n subgroup\n type\n unit\n options\n quota\n spec\n stat\n agg\n }\n }\n total\n }\n }\n `,\n variables: {\n filters,\n pagination: { page, limit },\n sortings\n }\n })\n\n return {\n total: response.data.responses.total || 0,\n records: response.data.responses.items || []\n }\n }\n\n async _deleteDataSet() {\n if (confirm(i18next.t('text.sure_to_x', { x: i18next.t('text.delete') }))) {\n const ids = this.grist.selected.map(record => record.id)\n if (ids && ids.length > 0) {\n const response = await client.mutate({\n mutation: gql`\n mutation ($ids: [String!]!) {\n deleteDataSets(ids: $ids)\n }\n `,\n variables: {\n ids\n }\n })\n\n if (!response.errors) {\n this.grist.fetch()\n notify({\n message: i18next.t('text.info_x_successfully', { x: i18next.t('text.delete') })\n })\n }\n }\n }\n }\n\n async _copyDataSet() {\n var selected = this.grist.selected\n if (selected.length == 0) return\n\n if (!confirm(i18next.t('text.sure_to_x', { x: i18next.t('text.copy') }))) return\n var response = await client.mutate({\n mutation: gql`\n mutation ($ids: [String!]!) {\n copyDataSets(ids: $ids) {\n id\n }\n }\n `,\n variables: {\n ids: selected.map(r => r.id)\n }\n })\n\n if (!response.errors) {\n this.grist.fetch()\n }\n }\n\n async _updateDataSet() {\n let patches = this.grist.dirtyRecords\n if (patches && patches.length) {\n patches = patches.map(patch => {\n let patchField: any = patch.id ? { id: patch.id } : {}\n const dirtyFields = patch.__dirtyfields__\n for (let key in dirtyFields) {\n patchField[key] = dirtyFields[key].after\n }\n if (patchField['reportTemplate'] instanceof FileList) {\n patchField['reportTemplate'] = patchField['reportTemplate'][0]\n }\n patchField.cuFlag = patch.__dirty__\n\n return patchField\n })\n\n const response = await client.mutate({\n mutation: gql`\n mutation ($patches: [DataSetPatch!]!) {\n updateMultipleDataSet(patches: $patches) {\n name\n }\n }\n `,\n variables: {\n patches\n },\n context: {\n hasUpload: true\n }\n })\n\n if (!response.errors) {\n this.grist.fetch()\n }\n }\n }\n\n async startDataCollectionSchedule(record) {\n var response = await client.mutate({\n mutation: gql`\n mutation ($dataSetId: String!) {\n startDataCollectionSchedule(dataSetId: $dataSetId) {\n scheduleId\n }\n }\n `,\n variables: {\n dataSetId: record.id\n }\n })\n\n const scheduleId = response.data.startDataCollectionSchedule.scheduleId\n record.scheduleId = scheduleId\n\n notify({\n level: 'info',\n message: `${record.scheduleId ? 'success' : 'fail'} to start data collection schedule : ${record.name}`\n })\n\n this.grist.fetch()\n }\n\n async stopDataCollectionSchedule(record) {\n var response = await client.mutate({\n mutation: gql`\n mutation ($dataSetId: String!) {\n stopDataCollectionSchedule(dataSetId: $dataSetId) {\n scheduleId\n }\n }\n `,\n variables: {\n dataSetId: record.id\n }\n })\n\n if (!response.errors) {\n notify({\n level: 'info',\n message: `success to stop data collection schedule : ${record.name}`\n })\n } else {\n notify({\n level: 'error',\n message: `${response.errors.map(error => error.message).join('\\n')}`\n })\n }\n\n this.grist.fetch()\n }\n\n async exportHandler() {\n var headerSetting = this.grist._config.columns\n .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)\n .map(column => {\n return column.imex\n })\n\n let records = this.grist.data.records\n\n var data = records.map(item => {\n return {\n id: item.id,\n ...this.grist._config.columns\n .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)\n .reduce((record, column) => {\n var imexKey = (column.imex as ImexConfig)!.key\n record[imexKey] = imexKey\n .split('.')\n .reduce((obj, key) => (obj && obj[key] !== 'undefined' ? obj[key] : undefined), item)\n return record\n }, {})\n }\n })\n return { header: headerSetting, data: data }\n }\n\n async importHandler(records) {\n openPopup(\n html`\n <data-set-importer\n .dataSets=${records}\n @imported=${() => {\n history.back()\n this.grist.fetch()\n }}\n ></data-set-importer>\n `,\n {\n backdrop: true,\n size: 'large',\n title: i18next.t('title.import data-set')\n }\n )\n }\n\n async *summaryScheduleTimer(exp) {\n while (exp && this.active) {\n var secs = Math.round((Number(exp) - Date.now()) / 1000)\n var positive = secs >= 0\n\n secs = Math.abs(secs)\n const days = Math.floor(secs / DAY)\n secs -= days * DAY\n const hours = Math.floor(secs / HOUR)\n secs -= hours * HOUR\n const minutes = Math.floor(secs / MIN)\n const seconds = secs - minutes * MIN\n\n yield `${positive ? '' : '- '}${days ? `${days}${i18next.t('label.days')} ` : ''}${hours ? `${hours}${i18next.t('label.hours')} ` : ''}${\n minutes ? `${minutes}${i18next.t('label.minutes')} ` : ''\n }`\n\n await sleep(60 * 1000)\n }\n }\n}\n"]}
@@ -20,15 +20,35 @@ let DataSummaryListPage = class DataSummaryListPage extends connect(store)(local
20
20
  super(...arguments);
21
21
  this.mode = isMobileDevice() ? 'CARD' : 'GRID';
22
22
  }
23
+ static { this.styles = [
24
+ ScrollbarStyles,
25
+ CommonHeaderStyles,
26
+ css `
27
+ :host {
28
+ display: flex;
29
+ flex-direction: column;
30
+
31
+ overflow: hidden;
32
+ }
33
+
34
+ ox-grist {
35
+ overflow-y: auto;
36
+ flex: 1;
37
+ }
38
+
39
+ .header {
40
+ grid-template-areas: 'filters actions';
41
+ }
42
+ `
43
+ ]; }
23
44
  get context() {
24
- var _a;
25
45
  return {
26
46
  title: i18next.t('title.data-summary list'),
27
47
  search: {
28
48
  handler: (search) => {
29
49
  this.grist.searchText = search;
30
50
  },
31
- value: ((_a = this.grist) === null || _a === void 0 ? void 0 : _a.searchText) || ''
51
+ value: this.grist?.searchText || ''
32
52
  },
33
53
  filter: {
34
54
  handler: () => {
@@ -308,40 +328,22 @@ let DataSummaryListPage = class DataSummaryListPage extends connect(store)(local
308
328
  : column.imex;
309
329
  });
310
330
  var data = records.map(item => {
311
- return Object.assign({ id: item.id }, this.gristConfig.columns
312
- .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)
313
- .reduce((record, column) => {
314
- const key = column.imex === true ? column.name : column.imex.key;
315
- record[key] = key
316
- .split('.')
317
- .reduce((obj, key) => (obj && obj[key] !== 'undefined' ? obj[key] : undefined), item);
318
- return record;
319
- }, {}));
331
+ return {
332
+ id: item.id,
333
+ ...this.gristConfig.columns
334
+ .filter(column => column.type !== 'gutter' && column.record !== undefined && column.imex !== undefined)
335
+ .reduce((record, column) => {
336
+ const key = column.imex === true ? column.name : column.imex.key;
337
+ record[key] = key
338
+ .split('.')
339
+ .reduce((obj, key) => (obj && obj[key] !== 'undefined' ? obj[key] : undefined), item);
340
+ return record;
341
+ }, {})
342
+ };
320
343
  });
321
344
  return { header: headerSetting, data: data };
322
345
  }
323
346
  };
324
- DataSummaryListPage.styles = [
325
- ScrollbarStyles,
326
- CommonHeaderStyles,
327
- css `
328
- :host {
329
- display: flex;
330
- flex-direction: column;
331
-
332
- overflow: hidden;
333
- }
334
-
335
- ox-grist {
336
- overflow-y: auto;
337
- flex: 1;
338
- }
339
-
340
- .header {
341
- grid-template-areas: 'filters actions';
342
- }
343
- `
344
- ];
345
347
  __decorate([
346
348
  state(),
347
349
  __metadata("design:type", String)