@things-factory/worklist 9.1.19 → 10.0.0-beta.2

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 (103) hide show
  1. package/dist-client/components/activity-thread-timeline.d.ts +1 -9
  2. package/dist-client/components/activity-thread-timeline.js +1 -3
  3. package/dist-client/components/activity-thread-timeline.js.map +1 -1
  4. package/dist-client/pages/activity/activity-list-page.d.ts +1 -7
  5. package/dist-client/pages/activity/activity-list-page.js +125 -234
  6. package/dist-client/pages/activity/activity-list-page.js.map +1 -1
  7. package/dist-client/pages/activity/activity-page.d.ts +1 -7
  8. package/dist-client/pages/activity/activity-page.js +51 -93
  9. package/dist-client/pages/activity/activity-page.js.map +1 -1
  10. package/dist-client/pages/activity/starter-list-page.d.ts +1 -7
  11. package/dist-client/pages/activity/starter-list-page.js +33 -62
  12. package/dist-client/pages/activity/starter-list-page.js.map +1 -1
  13. package/dist-client/pages/activity-approval/activity-approval-list-page.d.ts +1 -7
  14. package/dist-client/pages/activity-approval/activity-approval-list-page.js +50 -95
  15. package/dist-client/pages/activity-approval/activity-approval-list-page.js.map +1 -1
  16. package/dist-client/pages/activity-approval/activity-approval-page.d.ts +1 -7
  17. package/dist-client/pages/activity-approval/activity-approval-page.js +73 -119
  18. package/dist-client/pages/activity-approval/activity-approval-page.js.map +1 -1
  19. package/dist-client/pages/activity-instance/activity-instance-list-page.d.ts +0 -6
  20. package/dist-client/pages/activity-instance/activity-instance-list-page.js +63 -120
  21. package/dist-client/pages/activity-instance/activity-instance-list-page.js.map +1 -1
  22. package/dist-client/pages/activity-instance/activity-instance-search-page.d.ts +1 -7
  23. package/dist-client/pages/activity-instance/activity-instance-search-page.js +55 -101
  24. package/dist-client/pages/activity-instance/activity-instance-search-page.js.map +1 -1
  25. package/dist-client/pages/activity-instance/activity-instance-start-page.d.ts +1 -7
  26. package/dist-client/pages/activity-instance/activity-instance-start-page.js +65 -109
  27. package/dist-client/pages/activity-instance/activity-instance-start-page.js.map +1 -1
  28. package/dist-client/pages/activity-stats/activity-stats-list-page.d.ts +1 -7
  29. package/dist-client/pages/activity-stats/activity-stats-list-page.js +50 -95
  30. package/dist-client/pages/activity-stats/activity-stats-list-page.js.map +1 -1
  31. package/dist-client/pages/activity-store/activity-store-page.d.ts +1 -7
  32. package/dist-client/pages/activity-store/activity-store-page.js +2 -3
  33. package/dist-client/pages/activity-store/activity-store-page.js.map +1 -1
  34. package/dist-client/pages/activity-supervisor/reporter-list-page.d.ts +1 -7
  35. package/dist-client/pages/activity-supervisor/reporter-list-page.js +36 -66
  36. package/dist-client/pages/activity-supervisor/reporter-list-page.js.map +1 -1
  37. package/dist-client/pages/activity-template/activity-template-list-page.d.ts +1 -7
  38. package/dist-client/pages/activity-template/activity-template-list-page.js +70 -134
  39. package/dist-client/pages/activity-template/activity-template-list-page.js.map +1 -1
  40. package/dist-client/pages/activity-thread/activity-thread-list-page.d.ts +1 -7
  41. package/dist-client/pages/activity-thread/activity-thread-list-page.js +49 -93
  42. package/dist-client/pages/activity-thread/activity-thread-list-page.js.map +1 -1
  43. package/dist-client/pages/activity-thread/activity-thread-page.d.ts +1 -7
  44. package/dist-client/pages/activity-thread/activity-thread-page.js +80 -135
  45. package/dist-client/pages/activity-thread/activity-thread-page.js.map +1 -1
  46. package/dist-client/pages/activity-thread/activity-thread-view-page.d.ts +1 -7
  47. package/dist-client/pages/activity-thread/activity-thread-view-page.js +54 -80
  48. package/dist-client/pages/activity-thread/activity-thread-view-page.js.map +1 -1
  49. package/dist-client/pages/activity-thread/activity-thread-view.js +4 -0
  50. package/dist-client/pages/activity-thread/activity-thread-view.js.map +1 -1
  51. package/dist-client/pages/dashboard/dashboard-home.js +3 -5
  52. package/dist-client/pages/dashboard/dashboard-home.js.map +1 -1
  53. package/dist-client/pages/installable-activity/installable-activity-list-page.d.ts +0 -6
  54. package/dist-client/pages/installable-activity/installable-activity-list-page.js +68 -130
  55. package/dist-client/pages/installable-activity/installable-activity-list-page.js.map +1 -1
  56. package/dist-client/pages/todo/approval-done-list-page.d.ts +1 -7
  57. package/dist-client/pages/todo/approval-done-list-page.js +53 -100
  58. package/dist-client/pages/todo/approval-done-list-page.js.map +1 -1
  59. package/dist-client/pages/todo/approval-pending-list-page.d.ts +0 -6
  60. package/dist-client/pages/todo/approval-pending-list-page.js +63 -119
  61. package/dist-client/pages/todo/approval-pending-list-page.js.map +1 -1
  62. package/dist-client/pages/todo/done-list-calendar-page.d.ts +1 -7
  63. package/dist-client/pages/todo/done-list-calendar-page.js +2 -3
  64. package/dist-client/pages/todo/done-list-calendar-page.js.map +1 -1
  65. package/dist-client/pages/todo/done-list-page.d.ts +1 -7
  66. package/dist-client/pages/todo/done-list-page.js +56 -106
  67. package/dist-client/pages/todo/done-list-page.js.map +1 -1
  68. package/dist-client/pages/todo/draft-list-page.d.ts +1 -7
  69. package/dist-client/pages/todo/draft-list-page.js +49 -88
  70. package/dist-client/pages/todo/draft-list-page.js.map +1 -1
  71. package/dist-client/pages/todo/pickable-list-page.d.ts +1 -7
  72. package/dist-client/pages/todo/pickable-list-page.js +48 -91
  73. package/dist-client/pages/todo/pickable-list-page.js.map +1 -1
  74. package/dist-client/pages/todo/todo-list-page.d.ts +0 -6
  75. package/dist-client/pages/todo/todo-list-page.js +56 -106
  76. package/dist-client/pages/todo/todo-list-page.js.map +1 -1
  77. package/dist-client/pages/worklist-home.js +2 -3
  78. package/dist-client/pages/worklist-home.js.map +1 -1
  79. package/dist-client/route.d.ts +1 -1
  80. package/dist-client/templates/activity-approval-context-template.js +8 -12
  81. package/dist-client/templates/activity-approval-context-template.js.map +1 -1
  82. package/dist-client/templates/activity-instance-context-template.js +8 -12
  83. package/dist-client/templates/activity-instance-context-template.js.map +1 -1
  84. package/dist-client/templates/activity-thread-context-template.js +8 -12
  85. package/dist-client/templates/activity-thread-context-template.js.map +1 -1
  86. package/dist-client/tsconfig.tsbuildinfo +1 -1
  87. package/dist-server/controllers/activity-approval/approve.js +2 -2
  88. package/dist-server/controllers/activity-approval/approve.js.map +1 -1
  89. package/dist-server/controllers/activity-thread/submit.js +2 -2
  90. package/dist-server/controllers/activity-thread/submit.js.map +1 -1
  91. package/dist-server/service/index.d.ts +2 -2
  92. package/dist-server/tsconfig.tsbuildinfo +1 -1
  93. package/package.json +16 -16
  94. package/spec/integration/approval-mixed-types.spec.ts +491 -0
  95. package/spec/integration/approval-role-based.spec.ts +389 -0
  96. package/spec/integration/instance-lifecycle.spec.ts +406 -0
  97. package/spec/integration/role-approval-edge-cases.spec.ts +581 -0
  98. package/spec/unit/controllers/activity-instance-issue.spec.ts +360 -0
  99. package/spec/unit/controllers/activity-thread-submit.spec.ts +384 -0
  100. package/spec/unit/role-approval-escalate-logic.spec.ts +499 -0
  101. package/spec/unit/role-approval-submit-logic.spec.ts +481 -0
  102. package/spec/unit/thread-state-helpers.spec.ts +253 -0
  103. package/translations/en.json +1 -1
@@ -4,17 +4,16 @@ import './installable-activity-model-item-list.js';
4
4
  import gql from 'graphql-tag';
5
5
  import { css, html } from 'lit';
6
6
  import { customElement, property, query } from 'lit/decorators.js';
7
- import { connect } from 'pwa-helpers/connect-mixin.js';
8
7
  import { DataGrist, getEditor, getRenderer } from '@operato/data-grist';
9
8
  import { client } from '@operato/graphql';
10
9
  import { i18next, localize } from '@operato/i18n';
11
10
  import { openPopup } from '@operato/layout';
12
- import { PageView, store } from '@operato/shell';
11
+ import { PageView } from '@operato/shell';
13
12
  import { CommonGristStyles, CommonHeaderStyles, ScrollbarStyles } from '@operato/styles';
14
13
  import { isMobileDevice } from '@operato/utils';
15
14
  import { p13n } from '@operato/p13n';
16
15
  import { ActivityStartingTypes, ActivityTypes, ActivityUITypes } from '../../types/types.js';
17
- let ActivityTemplateListPage = class ActivityTemplateListPage extends connect(store)(p13n(localize(i18next)(PageView))) {
16
+ let ActivityTemplateListPage = class ActivityTemplateListPage extends p13n(localize(i18next)(PageView)) {
18
17
  constructor() {
19
18
  super(...arguments);
20
19
  this.mode = isMobileDevice() ? 'CARD' : 'GRID';
@@ -24,39 +23,32 @@ let ActivityTemplateListPage = class ActivityTemplateListPage extends connect(st
24
23
  CommonGristStyles,
25
24
  CommonHeaderStyles,
26
25
  css `
27
- :host {
28
- display: flex;
26
+ :host { display: flex;
29
27
 
30
28
  width: 100%;
31
29
 
32
30
  --grid-record-emphasized-background-color: #8b0000;
33
31
  --grid-record-emphasized-color: #ff6b6b;
34
- }
32
+ }
35
33
 
36
- ox-grist {
37
- overflow-y: auto;
34
+ ox-grist { overflow-y: auto;
38
35
  flex: 1;
39
- }
36
+ }
40
37
  `
41
38
  ]; }
42
39
  get context() {
43
- return {
44
- title: i18next.t('title.installable activity list'),
45
- search: {
46
- handler: (search) => {
40
+ return { title: i18next.t('title.installable activity list'),
41
+ search: { handler: (search) => {
47
42
  this.grist.searchText = search;
48
43
  },
49
- value: this.grist?.searchText || ''
50
- },
51
- filter: {
52
- handler: () => {
44
+ value: this.grist?.searchText || '' },
45
+ filter: { handler: () => {
53
46
  this.grist.toggleHeadroom();
54
47
  }
55
48
  },
56
49
  help: 'worklist/installable-activity',
57
50
  actions: [],
58
- toolbar: false
59
- };
51
+ toolbar: false };
60
52
  }
61
53
  render() {
62
54
  const mode = this.mode;
@@ -76,26 +68,21 @@ let ActivityTemplateListPage = class ActivityTemplateListPage extends connect(st
76
68
  `;
77
69
  }
78
70
  async pageInitialized(lifecycle) {
79
- this.gristConfig = {
80
- list: {
81
- thumbnail: 'thumbnail',
71
+ this.gristConfig = { list: { thumbnail: 'thumbnail',
82
72
  fields: ['name', 'description'],
83
73
  details: ['provider', 'release']
84
74
  },
85
75
  columns: [
86
76
  { type: 'gutter', gutterName: 'sequence', fixed: true },
87
77
  { type: 'gutter', gutterName: 'row-selector', multiple: true, fixed: true },
88
- {
89
- type: 'gutter',
78
+ { type: 'gutter',
90
79
  gutterName: 'button',
91
80
  fixed: true,
92
81
  icon: 'reorder',
93
- handlers: {
94
- click: (columns, data, column, record, rowIndex) => {
82
+ handlers: { click: (columns, data, column, record, rowIndex) => {
95
83
  const popup = openPopup(html `
96
84
  <installable-activity-model-item-list .activity=${record}></installable-activity-model-item-list>
97
- `, {
98
- backdrop: true,
85
+ `, { backdrop: true,
99
86
  help: 'worklist/activity-model-item-list',
100
87
  size: 'large',
101
88
  title: i18next.t('title.activity model item list')
@@ -106,14 +93,12 @@ let ActivityTemplateListPage = class ActivityTemplateListPage extends connect(st
106
93
  }
107
94
  }
108
95
  },
109
- {
110
- type: 'gutter',
96
+ { type: 'gutter',
111
97
  gutterName: 'button',
112
98
  name: 'state',
113
99
  fixed: true,
114
100
  icon: record => (record && record.active ? 'pause' : 'play_arrow'),
115
- handlers: {
116
- click: (columns, data, column, record, rowIndex) => {
101
+ handlers: { click: (columns, data, column, record, rowIndex) => {
117
102
  if (record.active) {
118
103
  this.deactivate(record);
119
104
  }
@@ -123,68 +108,56 @@ let ActivityTemplateListPage = class ActivityTemplateListPage extends connect(st
123
108
  }
124
109
  }
125
110
  },
126
- {
127
- type: 'string',
111
+ { type: 'string',
128
112
  name: 'name',
129
113
  fixed: true,
130
114
  header: i18next.t('field.name'),
131
- record: {
132
- editable: false
115
+ record: { editable: false
133
116
  },
134
117
  filter: 'search',
135
118
  sortable: true,
136
119
  width: 150
137
120
  },
138
- {
139
- type: 'string',
121
+ { type: 'string',
140
122
  name: 'description',
141
123
  header: i18next.t('field.description'),
142
- record: {
143
- editable: false
124
+ record: { editable: false
144
125
  },
145
126
  filter: 'search',
146
127
  width: 200
147
128
  },
148
- {
149
- type: 'string',
129
+ { type: 'string',
150
130
  name: 'release',
151
131
  header: i18next.t('field.release'),
152
- record: {
153
- editable: false
132
+ record: { editable: false
154
133
  },
155
134
  filter: 'search',
156
135
  sortable: true,
157
136
  width: 80
158
137
  },
159
- {
160
- type: 'string',
138
+ { type: 'string',
161
139
  name: 'provider',
162
140
  header: i18next.t('field.provider'),
163
- record: {
164
- editable: false
141
+ record: { editable: false
165
142
  },
166
143
  filter: 'search',
167
144
  sortable: true,
168
145
  width: 120
169
146
  },
170
- {
171
- type: 'select',
147
+ { type: 'select',
172
148
  name: 'activityType',
173
149
  label: true,
174
150
  header: i18next.t('field.activity-type'),
175
- record: {
176
- editable: false,
151
+ record: { editable: false,
177
152
  options: ActivityTypes
178
153
  },
179
154
  sortable: true,
180
155
  width: 60
181
156
  },
182
- {
183
- type: 'number',
157
+ { type: 'number',
184
158
  name: 'priority',
185
159
  header: i18next.t('field.priority'),
186
- record: {
187
- editable: false,
160
+ record: { editable: false,
188
161
  renderer: function (value, column, record, rowIndex, field) {
189
162
  const color = ['', '#98FB98', '#87CEEB', '#FF6B6B', '#8B0000'][value || 0];
190
163
  const count = new Array(value > 4 ? 4 : value || 0).fill('');
@@ -193,24 +166,20 @@ let ActivityTemplateListPage = class ActivityTemplateListPage extends connect(st
193
166
  },
194
167
  width: 60
195
168
  },
196
- {
197
- type: 'select',
169
+ { type: 'select',
198
170
  name: 'startingType',
199
171
  label: true,
200
172
  header: i18next.t('field.starting-type'),
201
- record: {
202
- editable: false,
173
+ record: { editable: false,
203
174
  options: ActivityStartingTypes
204
175
  },
205
176
  sortable: true,
206
177
  width: 60
207
178
  },
208
- {
209
- type: 'select',
179
+ { type: 'select',
210
180
  name: 'multiple',
211
181
  header: i18next.t('field.multiple'),
212
- record: {
213
- editable: false,
182
+ record: { editable: false,
214
183
  options: [
215
184
  { display: 'Single', value: 'single' },
216
185
  { display: 'Parallel', value: 'parallel' },
@@ -219,30 +188,25 @@ let ActivityTemplateListPage = class ActivityTemplateListPage extends connect(st
219
188
  },
220
189
  width: 80
221
190
  },
222
- {
223
- type: 'image',
191
+ { type: 'image',
224
192
  name: 'thumbnail',
225
193
  header: i18next.t('field.thumbnail'),
226
194
  record: { editable: false },
227
195
  width: 120
228
196
  },
229
- {
230
- type: 'select',
197
+ { type: 'select',
231
198
  name: 'uiType',
232
199
  label: true,
233
200
  header: i18next.t('field.ui-type'),
234
- record: {
235
- editable: false,
201
+ record: { editable: false,
236
202
  options: ActivityUITypes
237
203
  },
238
204
  width: 80
239
205
  },
240
- {
241
- type: 'string',
206
+ { type: 'string',
242
207
  name: 'uiSource',
243
208
  header: i18next.t('field.ui-source'),
244
- record: {
245
- editable: false,
209
+ record: { editable: false,
246
210
  renderer: function (value, column, record, rowIndex, field) {
247
211
  var type = record.uiType !== 'board' ? 'script' : 'board';
248
212
  return getRenderer(type)(value, column, record, rowIndex, field);
@@ -250,23 +214,19 @@ let ActivityTemplateListPage = class ActivityTemplateListPage extends connect(st
250
214
  },
251
215
  width: 140
252
216
  },
253
- {
254
- type: 'select',
217
+ { type: 'select',
255
218
  name: 'viewType',
256
219
  label: true,
257
220
  header: i18next.t('field.view-type'),
258
- record: {
259
- editable: true,
221
+ record: { editable: true,
260
222
  options: ActivityUITypes
261
223
  },
262
224
  width: 80
263
225
  },
264
- {
265
- type: 'string',
226
+ { type: 'string',
266
227
  name: 'viewSource',
267
228
  header: i18next.t('field.view-source'),
268
- record: {
269
- editable: true,
229
+ record: { editable: true,
270
230
  editor: function (value, column, record, rowIndex, field) {
271
231
  var type = record.viewType !== 'board' ? 'script' : 'board';
272
232
  return getEditor(type)(value, column, record, rowIndex, field);
@@ -278,23 +238,19 @@ let ActivityTemplateListPage = class ActivityTemplateListPage extends connect(st
278
238
  },
279
239
  width: 140
280
240
  },
281
- {
282
- type: 'select',
241
+ { type: 'select',
283
242
  name: 'reportType',
284
243
  label: true,
285
244
  header: i18next.t('field.report-type'),
286
- record: {
287
- editable: false,
245
+ record: { editable: false,
288
246
  options: ActivityUITypes
289
247
  },
290
248
  width: 80
291
249
  },
292
- {
293
- type: 'string',
250
+ { type: 'string',
294
251
  name: 'reportSource',
295
252
  header: i18next.t('field.report-source'),
296
- record: {
297
- editable: false,
253
+ record: { editable: false,
298
254
  editor: function (value, column, record, rowIndex, field) {
299
255
  var type = record.reportType !== 'board' ? 'script' : 'board';
300
256
  return getEditor(type)(value, column, record, rowIndex, field);
@@ -307,27 +263,20 @@ let ActivityTemplateListPage = class ActivityTemplateListPage extends connect(st
307
263
  width: 140
308
264
  }
309
265
  ],
310
- rows: {
311
- selectable: false,
266
+ rows: { selectable: false,
312
267
  appendable: false
313
268
  },
314
269
  sorters: [
315
- {
316
- name: 'name'
270
+ { name: 'name'
317
271
  }
318
272
  ]
319
273
  };
320
274
  }
321
275
  async fetchHandler({ page, limit, sortings = [], filters = [] }) {
322
- const response = await client.query({
323
- query: gql `
324
- query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
325
- responses: installableActivities(filters: $filters, pagination: $pagination, sortings: $sortings) {
326
- items {
327
- activity {
328
- id
276
+ const response = await client.query({ query: gql `
277
+ query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) { responses: installableActivities(filters: $filters, pagination: $pagination, sortings: $sortings) { items { activity { id
329
278
  state
330
- }
279
+ }
331
280
  name
332
281
  description
333
282
  provider
@@ -336,8 +285,7 @@ let ActivityTemplateListPage = class ActivityTemplateListPage extends connect(st
336
285
  priority
337
286
  startingType
338
287
  multiple
339
- model {
340
- name
288
+ model { name
341
289
  description
342
290
  active
343
291
  tag
@@ -347,7 +295,7 @@ let ActivityTemplateListPage = class ActivityTemplateListPage extends connect(st
347
295
  options
348
296
  quantifier
349
297
  spec
350
- }
298
+ }
351
299
  thumbnail
352
300
  uiType
353
301
  uiSource
@@ -355,13 +303,12 @@ let ActivityTemplateListPage = class ActivityTemplateListPage extends connect(st
355
303
  viewSource
356
304
  reportType
357
305
  reportSource
358
- }
306
+ }
359
307
  total
360
- }
361
- }
308
+ }
309
+ }
362
310
  `,
363
- variables: {
364
- filters,
311
+ variables: { filters,
365
312
  pagination: { page, limit },
366
313
  sortings
367
314
  }
@@ -373,37 +320,28 @@ let ActivityTemplateListPage = class ActivityTemplateListPage extends connect(st
373
320
  for (var item of records) {
374
321
  item.active = item.activity && item.activity.state == 'released';
375
322
  }
376
- return {
377
- total,
323
+ return { total,
378
324
  records
379
325
  };
380
326
  }
381
327
  async activate(record) {
382
- await client.mutate({
383
- mutation: gql `
384
- mutation ($name: String!) {
385
- activateInstallableActivity(name: $name) {
386
- name
387
- }
388
- }
328
+ await client.mutate({ mutation: gql `
329
+ mutation ($name: String!) { activateInstallableActivity(name: $name) { name
330
+ }
331
+ }
389
332
  `,
390
- variables: {
391
- name: record.name
333
+ variables: { name: record.name
392
334
  }
393
335
  });
394
336
  this.grist?.fetch();
395
337
  }
396
338
  async deactivate(record) {
397
- await client.mutate({
398
- mutation: gql `
399
- mutation ($name: String!) {
400
- deactivateInstallableActivity(name: $name) {
401
- name
402
- }
403
- }
339
+ await client.mutate({ mutation: gql `
340
+ mutation ($name: String!) { deactivateInstallableActivity(name: $name) { name
341
+ }
342
+ }
404
343
  `,
405
- variables: {
406
- name: record.name
344
+ variables: { name: record.name
407
345
  }
408
346
  });
409
347
  this.grist?.fetch();
@@ -1 +1 @@
1
- {"version":3,"file":"installable-activity-list-page.js","sourceRoot":"","sources":["../../../client/pages/installable-activity/installable-activity-list-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/data-grist'\nimport './installable-activity-model-item-list.js'\n\nimport gql from 'graphql-tag'\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { connect } from 'pwa-helpers/connect-mixin.js'\n\nimport { DataGrist, FetchOption, getEditor, getRenderer } from '@operato/data-grist'\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 } from '@operato/utils'\n\nimport { p13n } from '@operato/p13n'\n\nimport { ActivityStartingTypes, ActivityTypes, ActivityUITypes } from '../../types/types.js'\n\n@customElement('installable-activity-list-page')\nexport class ActivityTemplateListPage 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\n ox-grist {\n overflow-y: auto;\n flex: 1;\n }\n `\n ]\n\n @property({ type: Object }) gristConfig: any\n @property({ type: String }) mode?: 'GRID' | 'LIST' | 'CARD' = isMobileDevice() ? 'CARD' : 'GRID'\n\n get context() {\n return {\n title: i18next.t('title.installable activity 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: 'worklist/installable-activity',\n actions: [],\n toolbar: false\n }\n }\n\n @query('ox-grist') grist!: DataGrist\n\n render() {\n const mode = this.mode\n\n return html`\n <ox-grist\n .mode=${mode}\n .config=${this.gristConfig}\n .fetchHandler=${this.fetchHandler.bind(this)}\n .personalConfigProvider=${this.getPagePreferenceProvider('ox-grist')!}\n >\n <div slot=\"headroom\" class=\"header\">\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 thumbnail: 'thumbnail',\n fields: ['name', 'description'],\n details: ['provider', 'release']\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 fixed: true,\n icon: 'reorder',\n handlers: {\n click: (columns, data, column, record, rowIndex) => {\n const popup = openPopup(\n html`\n <installable-activity-model-item-list .activity=${record}></installable-activity-model-item-list>\n `,\n {\n backdrop: true,\n help: 'worklist/activity-model-item-list',\n size: 'large',\n title: i18next.t('title.activity model item list')\n }\n )\n popup.onclosed = () => {\n this.grist?.fetch()\n }\n }\n }\n },\n {\n type: 'gutter',\n gutterName: 'button',\n name: 'state',\n fixed: true,\n icon: record => (record && record.active ? 'pause' : 'play_arrow'),\n handlers: {\n click: (columns, data, column, record, rowIndex) => {\n if (record.active) {\n this.deactivate(record)\n } else {\n this.activate(record)\n }\n }\n }\n },\n {\n type: 'string',\n name: 'name',\n fixed: true,\n header: i18next.t('field.name'),\n record: {\n editable: false\n },\n filter: 'search',\n sortable: true,\n width: 150\n },\n {\n type: 'string',\n name: 'description',\n header: i18next.t('field.description'),\n record: {\n editable: false\n },\n filter: 'search',\n width: 200\n },\n {\n type: 'string',\n name: 'release',\n header: i18next.t('field.release'),\n record: {\n editable: false\n },\n filter: 'search',\n sortable: true,\n width: 80\n },\n {\n type: 'string',\n name: 'provider',\n header: i18next.t('field.provider'),\n record: {\n editable: false\n },\n filter: 'search',\n sortable: true,\n width: 120\n },\n {\n type: 'select',\n name: 'activityType',\n label: true,\n header: i18next.t('field.activity-type'),\n record: {\n editable: false,\n options: ActivityTypes\n },\n sortable: true,\n width: 60\n },\n {\n type: 'number',\n name: 'priority',\n header: i18next.t('field.priority'),\n record: {\n editable: false,\n renderer: function (value, column, record, rowIndex, field) {\n const color = ['', '#98FB98', '#87CEEB', '#FF6B6B', '#8B0000'][value || 0]\n const count = new Array(value > 4 ? 4 : value || 0).fill('')\n return html`${count.map(() => html`<md-icon style=\"color:${color};\">star</md-icon>`)}`\n }\n },\n width: 60\n },\n {\n type: 'select',\n name: 'startingType',\n label: true,\n header: i18next.t('field.starting-type'),\n record: {\n editable: false,\n options: ActivityStartingTypes\n },\n sortable: true,\n width: 60\n },\n {\n type: 'select',\n name: 'multiple',\n header: i18next.t('field.multiple'),\n record: {\n editable: false,\n options: [\n { display: 'Single', value: 'single' },\n { display: 'Parallel', value: 'parallel' },\n { display: 'Sequential', value: 'sequential' }\n ]\n },\n width: 80\n },\n {\n type: 'image',\n name: 'thumbnail',\n header: i18next.t('field.thumbnail'),\n record: { editable: false },\n width: 120\n },\n {\n type: 'select',\n name: 'uiType',\n label: true,\n header: i18next.t('field.ui-type'),\n record: {\n editable: false,\n options: ActivityUITypes\n },\n width: 80\n },\n {\n type: 'string',\n name: 'uiSource',\n header: i18next.t('field.ui-source'),\n record: {\n editable: false,\n renderer: function (value, column, record, rowIndex, field) {\n var type = record.uiType !== 'board' ? 'script' : 'board'\n return getRenderer(type)(value, column, record, rowIndex, field)\n }\n },\n width: 140\n },\n {\n type: 'select',\n name: 'viewType',\n label: true,\n header: i18next.t('field.view-type'),\n record: {\n editable: true,\n options: ActivityUITypes\n },\n width: 80\n },\n {\n type: 'string',\n name: 'viewSource',\n header: i18next.t('field.view-source'),\n record: {\n editable: true,\n editor: function (value, column, record, rowIndex, field) {\n var type = record.viewType !== 'board' ? 'script' : 'board'\n return getEditor(type)(value, column, record, rowIndex, field)\n },\n renderer: function (value, column, record, rowIndex, field) {\n var type = record.viewType !== 'board' ? 'script' : '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: i18next.t('field.report-type'),\n record: {\n editable: false,\n options: ActivityUITypes\n },\n width: 80\n },\n {\n type: 'string',\n name: 'reportSource',\n header: i18next.t('field.report-source'),\n record: {\n editable: false,\n editor: function (value, column, record, rowIndex, field) {\n var type = record.reportType !== 'board' ? 'script' : 'board'\n return getEditor(type)(value, column, record, rowIndex, field)\n },\n renderer: function (value, column, record, rowIndex, field) {\n var type = record.reportType !== 'board' ? 'script' : 'board'\n return getRenderer(type)(value, column, record, rowIndex, field)\n }\n },\n width: 140\n }\n ],\n rows: {\n selectable: false,\n appendable: false\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: installableActivities(filters: $filters, pagination: $pagination, sortings: $sortings) {\n items {\n activity {\n id\n state\n }\n name\n description\n provider\n release\n activityType\n priority\n startingType\n multiple\n model {\n name\n description\n active\n tag\n inout\n type\n unit\n options\n quantifier\n spec\n }\n thumbnail\n uiType\n uiSource\n viewType\n viewSource\n reportType\n reportSource\n }\n total\n }\n }\n `,\n variables: {\n filters,\n pagination: { page, limit },\n sortings\n }\n })\n\n if (!response.data) {\n return\n }\n\n const { total, items: records } = response.data?.responses\n\n for (var item of records) {\n item.active = item.activity && item.activity.state == 'released'\n }\n\n return {\n total,\n records\n }\n }\n\n async activate(record) {\n await client.mutate({\n mutation: gql`\n mutation ($name: String!) {\n activateInstallableActivity(name: $name) {\n name\n }\n }\n `,\n variables: {\n name: record.name\n }\n })\n\n this.grist?.fetch()\n }\n\n async deactivate(record) {\n await client.mutate({\n mutation: gql`\n mutation ($name: String!) {\n deactivateInstallableActivity(name: $name) {\n name\n }\n }\n `,\n variables: {\n name: record.name\n }\n })\n\n this.grist?.fetch()\n }\n}\n"]}
1
+ {"version":3,"file":"installable-activity-list-page.js","sourceRoot":"","sources":["../../../client/pages/installable-activity/installable-activity-list-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/data-grist'\nimport './installable-activity-model-item-list.js'\n\nimport gql from 'graphql-tag'\nimport { css, html } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { DataGrist, FetchOption, getEditor, getRenderer } from '@operato/data-grist'\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { notify, openPopup } from '@operato/layout'\nimport { PageView } from '@operato/shell'\nimport { CommonGristStyles, CommonHeaderStyles, ScrollbarStyles } from '@operato/styles'\nimport { isMobileDevice } from '@operato/utils'\n\nimport { p13n } from '@operato/p13n'\n\nimport { ActivityStartingTypes, ActivityTypes, ActivityUITypes } from '../../types/types.js'\n\n@customElement('installable-activity-list-page')\nexport class ActivityTemplateListPage extends p13n(localize(i18next)(PageView)) { static styles = [\n ScrollbarStyles,\n CommonGristStyles,\n CommonHeaderStyles,\n css`\n :host { display: flex;\n\n width: 100%;\n\n --grid-record-emphasized-background-color: #8b0000;\n --grid-record-emphasized-color: #ff6b6b;\n }\n\n ox-grist { overflow-y: auto;\n flex: 1;\n }\n `\n ]\n\n @property({ type: Object }) gristConfig: any\n @property({ type: String }) mode?: 'GRID' | 'LIST' | 'CARD' = isMobileDevice() ? 'CARD' : 'GRID'\n\n get context() { return { title: i18next.t('title.installable activity list'),\n search: { handler: (search: string) => { this.grist.searchText = search\n },\n value: this.grist?.searchText || ''\n },\n filter: { handler: () => { this.grist.toggleHeadroom()\n }\n },\n help: 'worklist/installable-activity',\n actions: [],\n toolbar: false\n }\n }\n\n @query('ox-grist') grist!: DataGrist\n\n render() { const mode = this.mode\n\n return html`\n <ox-grist\n .mode=${mode}\n .config=${this.gristConfig}\n .fetchHandler=${this.fetchHandler.bind(this)}\n .personalConfigProvider=${this.getPagePreferenceProvider('ox-grist')!}\n >\n <div slot=\"headroom\" class=\"header\">\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) { this.gristConfig = { list: { thumbnail: 'thumbnail',\n fields: ['name', 'description'],\n details: ['provider', 'release']\n },\n columns: [\n { type: 'gutter', gutterName: 'sequence', fixed: true },\n { type: 'gutter', gutterName: 'row-selector', multiple: true, fixed: true },\n { type: 'gutter',\n gutterName: 'button',\n fixed: true,\n icon: 'reorder',\n handlers: { click: (columns, data, column, record, rowIndex) => { const popup = openPopup(\n html`\n <installable-activity-model-item-list .activity=${record}></installable-activity-model-item-list>\n `,\n { backdrop: true,\n help: 'worklist/activity-model-item-list',\n size: 'large',\n title: i18next.t('title.activity model item list')\n }\n )\n popup.onclosed = () => { this.grist?.fetch()\n }\n }\n }\n },\n { type: 'gutter',\n gutterName: 'button',\n name: 'state',\n fixed: true,\n icon: record => (record && record.active ? 'pause' : 'play_arrow'),\n handlers: { click: (columns, data, column, record, rowIndex) => { if (record.active) { this.deactivate(record)\n } else { this.activate(record)\n }\n }\n }\n },\n { type: 'string',\n name: 'name',\n fixed: true,\n header: i18next.t('field.name'),\n record: { editable: false\n },\n filter: 'search',\n sortable: true,\n width: 150\n },\n { type: 'string',\n name: 'description',\n header: i18next.t('field.description'),\n record: { editable: false\n },\n filter: 'search',\n width: 200\n },\n { type: 'string',\n name: 'release',\n header: i18next.t('field.release'),\n record: { editable: false\n },\n filter: 'search',\n sortable: true,\n width: 80\n },\n { type: 'string',\n name: 'provider',\n header: i18next.t('field.provider'),\n record: { editable: false\n },\n filter: 'search',\n sortable: true,\n width: 120\n },\n { type: 'select',\n name: 'activityType',\n label: true,\n header: i18next.t('field.activity-type'),\n record: { editable: false,\n options: ActivityTypes\n },\n sortable: true,\n width: 60\n },\n { type: 'number',\n name: 'priority',\n header: i18next.t('field.priority'),\n record: { editable: false,\n renderer: function (value, column, record, rowIndex, field) { const color = ['', '#98FB98', '#87CEEB', '#FF6B6B', '#8B0000'][value || 0]\n const count = new Array(value > 4 ? 4 : value || 0).fill('')\n return html`${count.map(() => html`<md-icon style=\"color:${color};\">star</md-icon>`)}`\n }\n },\n width: 60\n },\n { type: 'select',\n name: 'startingType',\n label: true,\n header: i18next.t('field.starting-type'),\n record: { editable: false,\n options: ActivityStartingTypes\n },\n sortable: true,\n width: 60\n },\n { type: 'select',\n name: 'multiple',\n header: i18next.t('field.multiple'),\n record: { editable: false,\n options: [\n { display: 'Single', value: 'single' },\n { display: 'Parallel', value: 'parallel' },\n { display: 'Sequential', value: 'sequential' }\n ]\n },\n width: 80\n },\n { type: 'image',\n name: 'thumbnail',\n header: i18next.t('field.thumbnail'),\n record: { editable: false },\n width: 120\n },\n { type: 'select',\n name: 'uiType',\n label: true,\n header: i18next.t('field.ui-type'),\n record: { editable: false,\n options: ActivityUITypes\n },\n width: 80\n },\n { type: 'string',\n name: 'uiSource',\n header: i18next.t('field.ui-source'),\n record: { editable: false,\n renderer: function (value, column, record, rowIndex, field) { var type = record.uiType !== 'board' ? 'script' : 'board'\n return getRenderer(type)(value, column, record, rowIndex, field)\n }\n },\n width: 140\n },\n { type: 'select',\n name: 'viewType',\n label: true,\n header: i18next.t('field.view-type'),\n record: { editable: true,\n options: ActivityUITypes\n },\n width: 80\n },\n { type: 'string',\n name: 'viewSource',\n header: i18next.t('field.view-source'),\n record: { editable: true,\n editor: function (value, column, record, rowIndex, field) { var type = record.viewType !== 'board' ? 'script' : 'board'\n return getEditor(type)(value, column, record, rowIndex, field)\n },\n renderer: function (value, column, record, rowIndex, field) { var type = record.viewType !== 'board' ? 'script' : 'board'\n return getRenderer(type)(value, column, record, rowIndex, field)\n }\n },\n width: 140\n },\n { type: 'select',\n name: 'reportType',\n label: true,\n header: i18next.t('field.report-type'),\n record: { editable: false,\n options: ActivityUITypes\n },\n width: 80\n },\n { type: 'string',\n name: 'reportSource',\n header: i18next.t('field.report-source'),\n record: { editable: false,\n editor: function (value, column, record, rowIndex, field) { var type = record.reportType !== 'board' ? 'script' : 'board'\n return getEditor(type)(value, column, record, rowIndex, field)\n },\n renderer: function (value, column, record, rowIndex, field) { var type = record.reportType !== 'board' ? 'script' : 'board'\n return getRenderer(type)(value, column, record, rowIndex, field)\n }\n },\n width: 140\n }\n ],\n rows: { selectable: false,\n appendable: false\n },\n sorters: [\n { name: 'name'\n }\n ]\n }\n }\n\n async fetchHandler({ page, limit, sortings = [], filters = [] }: FetchOption) { const response = await client.query({ query: gql`\n query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) { responses: installableActivities(filters: $filters, pagination: $pagination, sortings: $sortings) { items { activity { id\n state\n }\n name\n description\n provider\n release\n activityType\n priority\n startingType\n multiple\n model { name\n description\n active\n tag\n inout\n type\n unit\n options\n quantifier\n spec\n }\n thumbnail\n uiType\n uiSource\n viewType\n viewSource\n reportType\n reportSource\n }\n total\n }\n }\n `,\n variables: { filters,\n pagination: { page, limit },\n sortings\n }\n })\n\n if (!response.data) { return\n }\n\n const { total, items: records } = response.data?.responses\n\n for (var item of records) { item.active = item.activity && item.activity.state == 'released'\n }\n\n return { total,\n records\n }\n }\n\n async activate(record) { await client.mutate({ mutation: gql`\n mutation ($name: String!) { activateInstallableActivity(name: $name) { name\n }\n }\n `,\n variables: { name: record.name\n }\n })\n\n this.grist?.fetch()\n }\n\n async deactivate(record) { await client.mutate({ mutation: gql`\n mutation ($name: String!) { deactivateInstallableActivity(name: $name) { name\n }\n }\n `,\n variables: { name: record.name\n }\n })\n\n this.grist?.fetch()\n }\n}\n"]}
@@ -3,13 +3,7 @@ import '@operato/context/ox-context-page-toolbar.js';
3
3
  import '@operato/input/ox-input-select-buttons.js';
4
4
  import { DataGrist, FetchOption } from '@operato/data-grist';
5
5
  import { PageView } from '@operato/shell';
6
- declare const ApprovalDoneListPage_base: (new (...args: any[]) => {
7
- _storeUnsubscribe: import("redux").Unsubscribe;
8
- connectedCallback(): void;
9
- disconnectedCallback(): void;
10
- stateChanged(_state: unknown): void;
11
- readonly isConnected: boolean;
12
- }) & (new (...args: any[]) => import("lit").LitElement) & typeof PageView;
6
+ declare const ApprovalDoneListPage_base: (new (...args: any[]) => import("lit").LitElement) & typeof PageView;
13
7
  export declare class ApprovalDoneListPage extends ApprovalDoneListPage_base {
14
8
  static styles: import("lit").CSSResult[];
15
9
  gristConfig?: any;