@things-factory/worklist 6.0.26 → 6.0.27

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 (76) hide show
  1. package/client/bootstrap.ts +4 -3
  2. package/client/components/activity-starter-form.ts +6 -0
  3. package/client/pages/activity-approval/activity-approval-page.ts +61 -14
  4. package/client/pages/activity-instance/activity-instance-page.ts +18 -0
  5. package/client/pages/activity-thread/activity-thread-page.ts +24 -3
  6. package/client/pages/todo/draft-list-page.ts +6 -3
  7. package/client/types.js +1 -0
  8. package/dist-client/bootstrap.d.ts +1 -0
  9. package/dist-client/bootstrap.js +3 -2
  10. package/dist-client/bootstrap.js.map +1 -1
  11. package/dist-client/components/activity-starter-form.js +6 -0
  12. package/dist-client/components/activity-starter-form.js.map +1 -1
  13. package/dist-client/pages/activity-approval/activity-approval-page.d.ts +2 -2
  14. package/dist-client/pages/activity-approval/activity-approval-page.js +59 -14
  15. package/dist-client/pages/activity-approval/activity-approval-page.js.map +1 -1
  16. package/dist-client/pages/activity-instance/activity-instance-page.d.ts +2 -1
  17. package/dist-client/pages/activity-instance/activity-instance-page.js +15 -0
  18. package/dist-client/pages/activity-instance/activity-instance-page.js.map +1 -1
  19. package/dist-client/pages/activity-thread/activity-thread-page.d.ts +2 -2
  20. package/dist-client/pages/activity-thread/activity-thread-page.js +21 -3
  21. package/dist-client/pages/activity-thread/activity-thread-page.js.map +1 -1
  22. package/dist-client/pages/todo/draft-list-page.d.ts +4 -8
  23. package/dist-client/pages/todo/draft-list-page.js +4 -1
  24. package/dist-client/pages/todo/draft-list-page.js.map +1 -1
  25. package/dist-client/tsconfig.tsbuildinfo +1 -1
  26. package/dist-client/types.js +1 -0
  27. package/dist-client/types.js.map +1 -1
  28. package/dist-server/controllers/activity-approval/approve.js +1 -1
  29. package/dist-server/controllers/activity-approval/approve.js.map +1 -1
  30. package/dist-server/controllers/activity-instance/draft.js +16 -0
  31. package/dist-server/controllers/activity-instance/draft.js.map +1 -1
  32. package/dist-server/controllers/activity-instance/post.js +2 -2
  33. package/dist-server/controllers/activity-instance/post.js.map +1 -1
  34. package/dist-server/controllers/activity-thread/submit.js +1 -1
  35. package/dist-server/controllers/activity-thread/submit.js.map +1 -1
  36. package/dist-server/controllers/common.js +45 -36
  37. package/dist-server/controllers/common.js.map +1 -1
  38. package/dist-server/service/activity/activity.js +2 -1
  39. package/dist-server/service/activity/activity.js.map +1 -1
  40. package/dist-server/service/activity-instance/activity-instance-query.js +41 -0
  41. package/dist-server/service/activity-instance/activity-instance-query.js.map +1 -1
  42. package/dist-server/tsconfig.tsbuildinfo +1 -1
  43. package/package.json +8 -7
  44. package/server/controllers/activity-approval/approve.ts +2 -2
  45. package/server/controllers/activity-instance/draft.ts +18 -0
  46. package/server/controllers/activity-instance/post.ts +3 -3
  47. package/server/controllers/activity-thread/submit.ts +2 -2
  48. package/server/controllers/common.ts +52 -32
  49. package/server/service/activity/activity.ts +2 -1
  50. package/server/service/activity-instance/activity-instance-query.ts +44 -0
  51. package/things-factory.config.js +1 -4
  52. package/translations/en.json +1 -0
  53. package/translations/ko.json +1 -0
  54. package/translations/ms.json +1 -0
  55. package/translations/zh.json +1 -0
  56. package/dist-client/pages/installed-activity/installed-activity-list-page.d.ts +0 -45
  57. package/dist-client/pages/installed-activity/installed-activity-list-page.js +0 -412
  58. package/dist-client/pages/installed-activity/installed-activity-list-page.js.map +0 -1
  59. package/dist-client/pages/installed-activity/installed-activity-model-item-list.d.ts +0 -1
  60. package/dist-client/pages/installed-activity/installed-activity-model-item-list.js +0 -20
  61. package/dist-client/pages/installed-activity/installed-activity-model-item-list.js.map +0 -1
  62. package/dist-client/templates/activity-context-template.d.ts +0 -2
  63. package/dist-client/templates/activity-context-template.js +0 -62
  64. package/dist-client/templates/activity-context-template.js.map +0 -1
  65. package/dist-server/controllers/activity-extension-controller.js +0 -11
  66. package/dist-server/controllers/activity-extension-controller.js.map +0 -1
  67. package/dist-server/service/installed-activity/index.js +0 -10
  68. package/dist-server/service/installed-activity/index.js.map +0 -1
  69. package/dist-server/service/installed-activity/installed-activity-mutation.js +0 -60
  70. package/dist-server/service/installed-activity/installed-activity-mutation.js.map +0 -1
  71. package/dist-server/service/installed-activity/installed-activity-query.js +0 -48
  72. package/dist-server/service/installed-activity/installed-activity-query.js.map +0 -1
  73. package/dist-server/service/installed-activity/installed-activity-type.js +0 -21
  74. package/dist-server/service/installed-activity/installed-activity-type.js.map +0 -1
  75. package/dist-server/service/installed-activity/installed-activity.js +0 -70
  76. package/dist-server/service/installed-activity/installed-activity.js.map +0 -1
@@ -1,412 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import '@operato/data-grist';
3
- import './installed-activity-model-item-list.js';
4
- import gql from 'graphql-tag';
5
- import { css, html } from 'lit';
6
- import { customElement, property, query } from 'lit/decorators.js';
7
- import { connect } from 'pwa-helpers/connect-mixin.js';
8
- import { DataGrist, getEditor, getRenderer } from '@operato/data-grist';
9
- import { client } from '@operato/graphql';
10
- import { i18next, localize } from '@operato/i18n';
11
- import { openPopup } from '@operato/layout';
12
- import { PageView, store } from '@operato/shell';
13
- import { CommonGristStyles, ScrollbarStyles } from '@operato/styles';
14
- import { isMobileDevice } from '@operato/utils';
15
- import { ActivityTypes, ActivityUITypes } from '../../types.js';
16
- let ActivityTemplateListPage = class ActivityTemplateListPage extends connect(store)(localize(i18next)(PageView)) {
17
- constructor() {
18
- super(...arguments);
19
- this.mode = isMobileDevice() ? 'CARD' : 'GRID';
20
- }
21
- get context() {
22
- return {
23
- search: {
24
- handler: (search) => {
25
- this.grist.searchText = search;
26
- },
27
- placeholder: i18next.t('title.installed activity list'),
28
- value: this.grist.searchText
29
- },
30
- filter: {
31
- handler: () => {
32
- this.grist.toggleHeadroom();
33
- }
34
- },
35
- help: 'worklist/installed-activity',
36
- actions: []
37
- };
38
- }
39
- render() {
40
- const mode = this.mode;
41
- return html `
42
- <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}>
43
- <div slot="headroom">
44
- <div id="filters">
45
- <ox-filters-form autofocus without-search></ox-filters-form>
46
- </div>
47
-
48
- <div id="sorters">
49
- Sort
50
- <mwc-icon
51
- @click=${e => {
52
- const target = e.currentTarget;
53
- this.sorterControl.open({
54
- right: 0,
55
- top: target.offsetTop + target.offsetHeight
56
- });
57
- }}
58
- >expand_more</mwc-icon
59
- >
60
- <ox-popup id="sorter-control">
61
- <ox-sorters-control> </ox-sorters-control>
62
- </ox-popup>
63
- </div>
64
-
65
- <div id="modes">
66
- <mwc-icon @click=${() => (this.mode = 'GRID')} ?active=${mode == 'GRID'}>grid_on</mwc-icon>
67
- <mwc-icon @click=${() => (this.mode = 'LIST')} ?active=${mode == 'LIST'}>format_list_bulleted</mwc-icon>
68
- <mwc-icon @click=${() => (this.mode = 'CARD')} ?active=${mode == 'CARD'}>apps</mwc-icon>
69
- </div>
70
- </div>
71
- </ox-grist>
72
- `;
73
- }
74
- async pageInitialized(lifecycle) {
75
- this.gristConfig = {
76
- list: {
77
- thumbnail: 'thumbnail',
78
- fields: ['name', 'description'],
79
- details: ['visibility', 'updatedAt']
80
- },
81
- columns: [
82
- { type: 'gutter', gutterName: 'sequence' },
83
- { type: 'gutter', gutterName: 'row-selector', multiple: true },
84
- {
85
- type: 'gutter',
86
- gutterName: 'button',
87
- icon: 'reorder',
88
- handlers: {
89
- click: (columns, data, column, record, rowIndex) => {
90
- const popup = openPopup(html ` <installed-activity-model-item-list .activity=${record}></installed-activity-model-item-list> `, {
91
- backdrop: true,
92
- help: 'worklist/installed-activity-model-item-list',
93
- size: 'large',
94
- title: i18next.t('title.installed activity model item list')
95
- });
96
- popup.onclosed = () => {
97
- var _a;
98
- (_a = this.grist) === null || _a === void 0 ? void 0 : _a.fetch();
99
- };
100
- }
101
- }
102
- },
103
- {
104
- type: 'gutter',
105
- gutterName: 'button',
106
- name: 'state',
107
- icon: record => (record && record.active ? 'pause' : 'play_arrow'),
108
- handlers: {
109
- click: (columns, data, column, record, rowIndex) => {
110
- if (record.active) {
111
- this.deactivate(record);
112
- }
113
- else {
114
- this.activate(record);
115
- }
116
- }
117
- }
118
- },
119
- {
120
- type: 'string',
121
- name: 'name',
122
- header: i18next.t('field.name'),
123
- record: {
124
- editable: false
125
- },
126
- filter: 'search',
127
- sortable: true,
128
- width: 150
129
- },
130
- {
131
- type: 'string',
132
- name: 'description',
133
- header: i18next.t('field.description'),
134
- record: {
135
- editable: false
136
- },
137
- filter: 'search',
138
- width: 200
139
- },
140
- {
141
- type: 'string',
142
- name: 'version',
143
- header: i18next.t('field.version'),
144
- record: {
145
- editable: false
146
- },
147
- filter: 'search',
148
- sortable: true,
149
- width: 150
150
- },
151
- {
152
- type: 'string',
153
- name: 'provider',
154
- header: i18next.t('field.provider'),
155
- record: {
156
- editable: false
157
- },
158
- filter: 'search',
159
- sortable: true,
160
- width: 150
161
- },
162
- {
163
- type: 'select',
164
- name: 'activityType',
165
- label: true,
166
- header: i18next.t('field.activity-type'),
167
- record: {
168
- editable: false,
169
- options: ActivityTypes
170
- },
171
- sortable: true,
172
- // filter: true,
173
- width: 60
174
- },
175
- {
176
- type: 'image',
177
- name: 'thumbnail',
178
- header: i18next.t('field.thumbnail'),
179
- record: { editable: false },
180
- width: 120
181
- },
182
- {
183
- type: 'select',
184
- name: 'uiType',
185
- label: true,
186
- header: i18next.t('field.ui-type'),
187
- record: {
188
- editable: false,
189
- options: ActivityUITypes
190
- },
191
- width: 80
192
- },
193
- {
194
- type: 'string',
195
- name: 'uiSource',
196
- header: i18next.t('field.ui-source'),
197
- record: {
198
- editable: false,
199
- renderer: function (value, column, record, rowIndex, field) {
200
- var type = record.uiType !== 'board' ? 'script' : 'board';
201
- return getRenderer(type)(value, column, record, rowIndex, field);
202
- }
203
- },
204
- width: 140
205
- },
206
- {
207
- type: 'select',
208
- name: 'reportType',
209
- label: true,
210
- header: i18next.t('field.report-type'),
211
- record: {
212
- editable: false,
213
- options: ActivityUITypes
214
- },
215
- width: 80
216
- },
217
- {
218
- type: 'string',
219
- name: 'reportSource',
220
- header: i18next.t('field.report-source'),
221
- record: {
222
- editable: false,
223
- editor: function (value, column, record, rowIndex, field) {
224
- var type = record.reportType !== 'board' ? 'script' : 'board';
225
- return getEditor(type)(value, column, record, rowIndex, field);
226
- },
227
- renderer: function (value, column, record, rowIndex, field) {
228
- var type = record.reportType !== 'board' ? 'script' : 'board';
229
- return getRenderer(type)(value, column, record, rowIndex, field);
230
- }
231
- },
232
- width: 140
233
- },
234
- {
235
- type: 'checkbox',
236
- name: 'startable',
237
- label: true,
238
- header: i18next.t('field.startable'),
239
- record: {
240
- editable: false
241
- },
242
- // filter: true,
243
- sortable: true,
244
- width: 60
245
- },
246
- {
247
- type: 'checkbox',
248
- name: 'active',
249
- label: true,
250
- header: i18next.t('field.active'),
251
- record: {
252
- editable: false,
253
- renderer: function (value, column, record, rowIndex, field) {
254
- var type = record.reportType !== 'board' ? 'script' : 'board';
255
- return getRenderer(type)(value, column, record, rowIndex, field);
256
- }
257
- },
258
- // filter: true,
259
- sortable: true,
260
- width: 60
261
- },
262
- {
263
- type: 'resource-object',
264
- name: 'updater',
265
- header: i18next.t('field.updater'),
266
- record: {
267
- editable: false
268
- },
269
- sortable: true,
270
- width: 120
271
- }
272
- ],
273
- rows: {
274
- selectable: false,
275
- appendable: false
276
- },
277
- sorters: [
278
- {
279
- name: 'name'
280
- }
281
- ]
282
- };
283
- }
284
- async pageUpdated(changes, lifecycle) {
285
- if (this.active) {
286
- }
287
- }
288
- async fetchHandler({ page, limit, sortings = [], filters = [] }) {
289
- var _a;
290
- const response = await client.query({
291
- query: gql `
292
- query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
293
- responses: installedActivities(filters: $filters, pagination: $pagination, sortings: $sortings) {
294
- items {
295
- activity {
296
- id
297
- state
298
- }
299
- name
300
- description
301
- provider
302
- release
303
- activityType
304
- startable
305
- model {
306
- name
307
- description
308
- active
309
- tag
310
- inout
311
- type
312
- unit
313
- options
314
- quantifier
315
- spec
316
- }
317
- thumbnail
318
- uiType
319
- uiSource
320
- reportType
321
- reportSource
322
- }
323
- total
324
- }
325
- }
326
- `,
327
- variables: {
328
- filters,
329
- pagination: { page, limit },
330
- sortings
331
- }
332
- });
333
- if (!response.data) {
334
- return;
335
- }
336
- const { total, items: records } = (_a = response.data) === null || _a === void 0 ? void 0 : _a.responses;
337
- for (var item of records) {
338
- item.active = item.activity && item.activity.state == 'released';
339
- }
340
- return {
341
- total,
342
- records
343
- };
344
- }
345
- async activate(record) {
346
- var _a;
347
- await client.mutate({
348
- mutation: gql `
349
- mutation ($name: String!) {
350
- activateInstalledActivity(name: $name) {
351
- name
352
- }
353
- }
354
- `,
355
- variables: {
356
- name: record.name
357
- }
358
- });
359
- (_a = this.grist) === null || _a === void 0 ? void 0 : _a.fetch();
360
- }
361
- async deactivate(record) {
362
- var _a;
363
- await client.mutate({
364
- mutation: gql `
365
- mutation ($name: String!) {
366
- deactivateInstalledActivity(name: $name) {
367
- name
368
- }
369
- }
370
- `,
371
- variables: {
372
- name: record.name
373
- }
374
- });
375
- (_a = this.grist) === null || _a === void 0 ? void 0 : _a.fetch();
376
- }
377
- };
378
- ActivityTemplateListPage.styles = [
379
- ScrollbarStyles,
380
- CommonGristStyles,
381
- css `
382
- :host {
383
- display: flex;
384
-
385
- width: 100%;
386
-
387
- --grid-record-emphasized-background-color: red;
388
- --grid-record-emphasized-color: yellow;
389
- }
390
- `
391
- ];
392
- __decorate([
393
- property({ type: Object }),
394
- __metadata("design:type", Object)
395
- ], ActivityTemplateListPage.prototype, "gristConfig", void 0);
396
- __decorate([
397
- property({ type: String }),
398
- __metadata("design:type", String)
399
- ], ActivityTemplateListPage.prototype, "mode", void 0);
400
- __decorate([
401
- query('#sorter-control'),
402
- __metadata("design:type", Object)
403
- ], ActivityTemplateListPage.prototype, "sorterControl", void 0);
404
- __decorate([
405
- query('ox-grist'),
406
- __metadata("design:type", DataGrist)
407
- ], ActivityTemplateListPage.prototype, "grist", void 0);
408
- ActivityTemplateListPage = __decorate([
409
- customElement('installed-activity-list-page')
410
- ], ActivityTemplateListPage);
411
- export { ActivityTemplateListPage };
412
- //# sourceMappingURL=installed-activity-list-page.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"installed-activity-list-page.js","sourceRoot":"","sources":["../../../client/pages/installed-activity/installed-activity-list-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/data-grist'\nimport './installed-activity-model-item-list.js'\nimport gql from 'graphql-tag'\nimport { css, html } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { connect } from 'pwa-helpers/connect-mixin.js'\n\nimport { DataGrist, 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 { CommonButtonStyles, CommonGristStyles, ScrollbarStyles } from '@operato/styles'\nimport { isMobileDevice } from '@operato/utils'\n\nimport { ActivityTypes, ActivityUITypes } from '../../types.js'\n\n@customElement('installed-activity-list-page')\nexport class ActivityTemplateListPage extends connect(store)(localize(i18next)(PageView)) {\n static styles = [\n ScrollbarStyles,\n CommonGristStyles,\n css`\n :host {\n display: flex;\n\n width: 100%;\n\n --grid-record-emphasized-background-color: red;\n --grid-record-emphasized-color: yellow;\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 search: {\n handler: (search: string) => {\n this.grist.searchText = search\n },\n placeholder: i18next.t('title.installed activity list'),\n value: this.grist.searchText\n },\n filter: {\n handler: () => {\n this.grist.toggleHeadroom()\n }\n },\n help: 'worklist/installed-activity',\n actions: []\n }\n }\n\n @query('#sorter-control') sorterControl?: any\n @query('ox-grist') grist!: DataGrist\n\n render() {\n const mode = this.mode\n\n return html`\n <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}>\n <div slot=\"headroom\">\n <div id=\"filters\">\n <ox-filters-form autofocus without-search></ox-filters-form>\n </div>\n\n <div id=\"sorters\">\n Sort\n <mwc-icon\n @click=${e => {\n const target = e.currentTarget\n this.sorterControl.open({\n right: 0,\n top: target.offsetTop + target.offsetHeight\n })\n }}\n >expand_more</mwc-icon\n >\n <ox-popup id=\"sorter-control\">\n <ox-sorters-control> </ox-sorters-control>\n </ox-popup>\n </div>\n\n <div id=\"modes\">\n <mwc-icon @click=${() => (this.mode = 'GRID')} ?active=${mode == 'GRID'}>grid_on</mwc-icon>\n <mwc-icon @click=${() => (this.mode = 'LIST')} ?active=${mode == 'LIST'}>format_list_bulleted</mwc-icon>\n <mwc-icon @click=${() => (this.mode = 'CARD')} ?active=${mode == 'CARD'}>apps</mwc-icon>\n </div>\n </div>\n </ox-grist>\n `\n }\n\n async pageInitialized(lifecycle) {\n this.gristConfig = {\n list: {\n thumbnail: 'thumbnail',\n fields: ['name', 'description'],\n details: ['visibility', 'updatedAt']\n },\n columns: [\n { type: 'gutter', gutterName: 'sequence' },\n { type: 'gutter', gutterName: 'row-selector', multiple: true },\n {\n type: 'gutter',\n gutterName: 'button',\n icon: 'reorder',\n handlers: {\n click: (columns, data, column, record, rowIndex) => {\n const popup = openPopup(\n html` <installed-activity-model-item-list .activity=${record}></installed-activity-model-item-list> `,\n {\n backdrop: true,\n help: 'worklist/installed-activity-model-item-list',\n size: 'large',\n title: i18next.t('title.installed 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 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 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: 'version',\n header: i18next.t('field.version'),\n record: {\n editable: false\n },\n filter: 'search',\n sortable: true,\n width: 150\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: 150\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 // filter: true,\n width: 60\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: '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 type: 'checkbox',\n name: 'startable',\n label: true,\n header: i18next.t('field.startable'),\n record: {\n editable: false\n },\n // filter: true,\n sortable: true,\n width: 60\n },\n {\n type: 'checkbox',\n name: 'active',\n label: true,\n header: i18next.t('field.active'),\n record: {\n editable: false,\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 // filter: true,\n sortable: true,\n width: 60\n },\n {\n type: 'resource-object',\n name: 'updater',\n header: i18next.t('field.updater'),\n record: {\n editable: false\n },\n sortable: true,\n width: 120\n }\n ],\n rows: {\n selectable: false,\n appendable: false\n },\n sorters: [\n {\n name: 'name'\n }\n ]\n }\n }\n\n async pageUpdated(changes, lifecycle) {\n if (this.active) {\n }\n }\n\n async fetchHandler({ page, limit, sortings = [], filters = [] }) {\n const response = await client.query({\n query: gql`\n query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {\n responses: installedActivities(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 startable\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 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 activateInstalledActivity(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 deactivateInstalledActivity(name: $name) {\n name\n }\n }\n `,\n variables: {\n name: record.name\n }\n })\n\n this.grist?.fetch()\n }\n}\n"]}
@@ -1,20 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { html } from 'lit';
3
- import { customElement } from 'lit/decorators.js';
4
- import { isMobileDevice } from '@operato/utils';
5
- import { ActivityModelItemList } from '../activity/activity-model-item-list';
6
- let InstalledActivityModelItemList = class InstalledActivityModelItemList extends ActivityModelItemList {
7
- render() {
8
- return html `
9
- <ox-grist
10
- .mode=${isMobileDevice() ? 'CARD' : 'GRID'}
11
- .config=${this.gristConfig}
12
- .fetchHandler=${this.fetchHandler.bind(this)}
13
- ></ox-grist>
14
- `;
15
- }
16
- };
17
- InstalledActivityModelItemList = __decorate([
18
- customElement('installed-activity-model-item-list')
19
- ], InstalledActivityModelItemList);
20
- //# sourceMappingURL=installed-activity-model-item-list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"installed-activity-model-item-list.js","sourceRoot":"","sources":["../../../client/pages/installed-activity/installed-activity-model-item-list.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAG5E,IAAM,8BAA8B,GAApC,MAAM,8BAA+B,SAAQ,qBAAqB;IAChE,MAAM;QACJ,OAAO,IAAI,CAAA;;gBAEC,cAAc,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;kBAChC,IAAI,CAAC,WAAW;wBACV,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;;KAE/C,CAAA;IACH,CAAC;CACF,CAAA;AAVK,8BAA8B;IADnC,aAAa,CAAC,oCAAoC,CAAC;GAC9C,8BAA8B,CAUnC","sourcesContent":["import { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\nimport { isMobileDevice } from '@operato/utils'\nimport { ActivityModelItemList } from '../activity/activity-model-item-list'\n\n@customElement('installed-activity-model-item-list')\nclass InstalledActivityModelItemList extends ActivityModelItemList {\n render() {\n return html`\n <ox-grist\n .mode=${isMobileDevice() ? 'CARD' : 'GRID'}\n .config=${this.gristConfig}\n .fetchHandler=${this.fetchHandler.bind(this)}\n ></ox-grist>\n `\n }\n}\n"]}
@@ -1,2 +0,0 @@
1
- import '@material/mwc-icon';
2
- import '@things-factory/organization/dist-client/component/approval-line-view.js';
@@ -1,62 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import '@material/mwc-icon';
3
- import { html, css, LitElement } from 'lit';
4
- import { customElement, state } from 'lit/decorators.js';
5
- import { connect } from 'pwa-helpers/connect-mixin';
6
- import { ContextToolbarOverlayStyle } from '@operato/context/ox-context-toolbar-overlay-style.js';
7
- import { store } from '@operato/shell';
8
- import '@things-factory/organization/dist-client/component/approval-line-view.js';
9
- const formatter = new Intl.DateTimeFormat(navigator.language, { dateStyle: 'full', timeStyle: 'short' });
10
- let ActivityContextTemplate = class ActivityContextTemplate extends connect(store)(LitElement) {
11
- render() {
12
- const activityApproval = this.context.activityApproval || {};
13
- const { round, order, approver, createdAt, activityThread } = activityApproval || {};
14
- const { state, dueAt, assignedAt, assignee, activityInstance } = activityThread || {};
15
- const { name, description, thumbnail, approvalLine } = activityInstance || {};
16
- return html `
17
- <div>
18
- <div>name: ${name}</div>
19
- <div>description: ${description}</div>
20
- <div>state: ${state}</div>
21
- <div>round: ${round}</div>
22
- <div>order: ${order}</div>
23
- <div>assigned at: ${assignedAt && formatter.format(new Date(assignedAt))}</div>
24
- <div>due at: ${dueAt && formatter.format(new Date(dueAt))}</div>
25
- <div>assignee: ${assignee === null || assignee === void 0 ? void 0 : assignee.name}</div>
26
- <div>approver: ${approver === null || approver === void 0 ? void 0 : approver.name}</div>
27
- <div>waited since: ${createdAt && formatter.format(new Date(createdAt))}</div>
28
- </div>
29
- <div>
30
- <div approval-line>
31
- ${approvalLine
32
- ? html ` <approval-line-view .model=${approvalLine} .current=${order}></approval-line-view> `
33
- : html ``}
34
- </div>
35
- <img src=${thumbnail} />
36
- </div>
37
- `;
38
- }
39
- stateChanged(state) {
40
- this.context = state.route.context;
41
- }
42
- };
43
- ActivityContextTemplate.styles = [
44
- ContextToolbarOverlayStyle,
45
- css `
46
- :host {
47
- background-color: white;
48
-
49
- width: 100%;
50
- padding: 5px;
51
- overflow: auto;
52
- }
53
- `
54
- ];
55
- __decorate([
56
- state(),
57
- __metadata("design:type", Object)
58
- ], ActivityContextTemplate.prototype, "context", void 0);
59
- ActivityContextTemplate = __decorate([
60
- customElement('activity-context-template')
61
- ], ActivityContextTemplate);
62
- //# sourceMappingURL=activity-context-template.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"activity-context-template.js","sourceRoot":"","sources":["../../client/templates/activity-context-template.ts"],"names":[],"mappings":";AAAA,OAAO,oBAAoB,CAAA;AAE3B,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAEnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,sDAAsD,CAAA;AACjG,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAGtC,OAAO,0EAA0E,CAAA;AAEjF,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;AAGxG,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC;IAgB9D,MAAM;QACJ,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAA;QAE5D,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,gBAAgB,IAAI,EAAE,CAAA;QACpF,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,cAAc,IAAI,EAAE,CAAA;QACrF,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,gBAAgB,IAAI,EAAE,CAAA;QAE7E,OAAO,IAAI,CAAA;;qBAEM,IAAI;4BACG,WAAW;sBACjB,KAAK;sBACL,KAAK;sBACL,KAAK;4BACC,UAAU,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;uBACzD,KAAK,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;yBACxC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI;yBACd,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI;6BACV,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;;;;YAInE,YAAY;YACZ,CAAC,CAAC,IAAI,CAAA,+BAA+B,YAAY,aAAa,KAAK,yBAAyB;YAC5F,CAAC,CAAC,IAAI,CAAA,EAAE;;mBAED,SAAS;;KAEvB,CAAA;IACH,CAAC;IAED,YAAY,CAAC,KAAK;QAChB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAA;IACpC,CAAC;;AAhDM,8BAAM,GAAG;IACd,0BAA0B;IAC1B,GAAG,CAAA;;;;;;;;KAQF;CACF,CAAA;AAED;IAAC,KAAK,EAAE;;wDAAgB;AAdpB,uBAAuB;IAD5B,aAAa,CAAC,2BAA2B,CAAC;GACrC,uBAAuB,CAkD5B","sourcesContent":["import '@material/mwc-icon'\n\nimport { html, css, LitElement } from 'lit'\nimport { customElement, state } from 'lit/decorators.js'\n\nimport { connect } from 'pwa-helpers/connect-mixin'\n\nimport { ContextToolbarOverlayStyle } from '@operato/context/ox-context-toolbar-overlay-style.js'\nimport { store } from '@operato/shell'\nimport { i18next } from '@operato/i18n'\n\nimport '@things-factory/organization/dist-client/component/approval-line-view.js'\n\nconst formatter = new Intl.DateTimeFormat(navigator.language, { dateStyle: 'full', timeStyle: 'short' })\n\n@customElement('activity-context-template')\nclass ActivityContextTemplate extends connect(store)(LitElement) {\n static styles = [\n ContextToolbarOverlayStyle,\n css`\n :host {\n background-color: white;\n\n width: 100%;\n padding: 5px;\n overflow: auto;\n }\n `\n ]\n\n @state() private context\n\n render() {\n const activityApproval = this.context.activityApproval || {}\n\n const { round, order, approver, createdAt, activityThread } = activityApproval || {}\n const { state, dueAt, assignedAt, assignee, activityInstance } = activityThread || {}\n const { name, description, thumbnail, approvalLine } = activityInstance || {}\n\n return html`\n <div>\n <div>name: ${name}</div>\n <div>description: ${description}</div>\n <div>state: ${state}</div>\n <div>round: ${round}</div>\n <div>order: ${order}</div>\n <div>assigned at: ${assignedAt && formatter.format(new Date(assignedAt))}</div>\n <div>due at: ${dueAt && formatter.format(new Date(dueAt))}</div>\n <div>assignee: ${assignee?.name}</div>\n <div>approver: ${approver?.name}</div>\n <div>waited since: ${createdAt && formatter.format(new Date(createdAt))}</div>\n </div>\n <div>\n <div approval-line>\n ${approvalLine\n ? html` <approval-line-view .model=${approvalLine} .current=${order}></approval-line-view> `\n : html``}\n </div>\n <img src=${thumbnail} />\n </div>\n `\n }\n\n stateChanged(state) {\n this.context = state.route.context\n }\n}\n"]}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ActivityExtensionController = void 0;
4
- class ActivityExtensionController {
5
- static registerActivityExtensionType(type, controller) {
6
- ActivityExtensionController.types[type] = controller;
7
- }
8
- }
9
- exports.ActivityExtensionController = ActivityExtensionController;
10
- ActivityExtensionController.types = {};
11
- //# sourceMappingURL=activity-extension-controller.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"activity-extension-controller.js","sourceRoot":"","sources":["../../server/controllers/activity-extension-controller.ts"],"names":[],"mappings":";;;AAMA,MAAa,2BAA2B;IAEtC,MAAM,CAAC,6BAA6B,CAAC,IAAY,EAAE,UAAuC;QACxF,2BAA2B,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAA;IACtD,CAAC;;AAJH,kEAKC;AAJQ,iCAAK,GAAG,EAAE,CAAA","sourcesContent":["import { Activity } from '../service/activity/activity'\n\nexport interface ActivityProvider {\n getActivity(id: string): Activity\n}\n\nexport class ActivityExtensionController {\n static types = {}\n static registerActivityExtensionType(type: string, controller: ActivityExtensionController) {\n ActivityExtensionController.types[type] = controller\n }\n}\n"]}
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.subscribers = exports.resolvers = exports.entities = void 0;
4
- const installed_activity_1 = require("./installed-activity");
5
- const installed_activity_query_1 = require("./installed-activity-query");
6
- const installed_activity_mutation_1 = require("./installed-activity-mutation");
7
- exports.entities = [installed_activity_1.InstalledActivity];
8
- exports.resolvers = [installed_activity_query_1.InstalledActivityQuery, installed_activity_mutation_1.InstalledActivityMutation];
9
- exports.subscribers = [];
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/service/installed-activity/index.ts"],"names":[],"mappings":";;;AAAA,6DAAwD;AACxD,yEAAmE;AACnE,+EAAyE;AAE5D,QAAA,QAAQ,GAAG,CAAC,sCAAiB,CAAC,CAAA;AAC9B,QAAA,SAAS,GAAG,CAAC,iDAAsB,EAAE,uDAAyB,CAAC,CAAA;AAC/D,QAAA,WAAW,GAAG,EAAE,CAAA","sourcesContent":["import { InstalledActivity } from './installed-activity'\nimport { InstalledActivityQuery } from './installed-activity-query'\nimport { InstalledActivityMutation } from './installed-activity-mutation'\n\nexport const entities = [InstalledActivity]\nexport const resolvers = [InstalledActivityQuery, InstalledActivityMutation]\nexport const subscribers = []\n"]}
@@ -1,60 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InstalledActivityMutation = void 0;
4
- const tslib_1 = require("tslib");
5
- const type_graphql_1 = require("type-graphql");
6
- const activity_installation_controller_1 = require("../../controllers/activity-installation-controller");
7
- const activity_1 = require("../activity/activity");
8
- const installed_activity_1 = require("./installed-activity");
9
- let InstalledActivityMutation = class InstalledActivityMutation {
10
- async activateInstalledActivity(name, context) {
11
- const { domain, user, tx } = context.state;
12
- const installedActivity = activity_installation_controller_1.ActivityInstallations.get(name);
13
- const repository = tx.getRepository(activity_1.Activity);
14
- const activity = await repository.findOneBy({
15
- domain: { id: domain.id },
16
- name
17
- });
18
- if (!activity) {
19
- return await repository.save(Object.assign(Object.assign({}, installedActivity), { state: activity_1.ActivityStatus.Released, domain, creator: user, updater: user }));
20
- }
21
- else {
22
- return await repository.save(Object.assign(Object.assign(Object.assign({}, activity), installedActivity), { state: activity_1.ActivityStatus.Released, domain, updater: user }));
23
- }
24
- }
25
- async deactivateInstalledActivity(name, context) {
26
- const { domain, user, tx } = context.state;
27
- const repository = tx.getRepository(activity_1.Activity);
28
- const activity = await repository.findOneBy({
29
- domain: { id: domain.id },
30
- name
31
- });
32
- if (!activity) {
33
- return;
34
- }
35
- return await repository.save(Object.assign(Object.assign({}, activity), { state: activity_1.ActivityStatus.Deprecated, updater: user }));
36
- }
37
- };
38
- tslib_1.__decorate([
39
- (0, type_graphql_1.Directive)('@transaction'),
40
- (0, type_graphql_1.Mutation)(returns => activity_1.Activity, { description: 'To activate installed activity to Activity on given domain' }),
41
- tslib_1.__param(0, (0, type_graphql_1.Arg)('name')),
42
- tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
43
- tslib_1.__metadata("design:type", Function),
44
- tslib_1.__metadata("design:paramtypes", [String, Object]),
45
- tslib_1.__metadata("design:returntype", Promise)
46
- ], InstalledActivityMutation.prototype, "activateInstalledActivity", null);
47
- tslib_1.__decorate([
48
- (0, type_graphql_1.Directive)('@transaction'),
49
- (0, type_graphql_1.Mutation)(returns => activity_1.Activity, { description: 'To deactivate installed activity to Activity on given domain' }),
50
- tslib_1.__param(0, (0, type_graphql_1.Arg)('name')),
51
- tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
52
- tslib_1.__metadata("design:type", Function),
53
- tslib_1.__metadata("design:paramtypes", [String, Object]),
54
- tslib_1.__metadata("design:returntype", Promise)
55
- ], InstalledActivityMutation.prototype, "deactivateInstalledActivity", null);
56
- InstalledActivityMutation = tslib_1.__decorate([
57
- (0, type_graphql_1.Resolver)(installed_activity_1.InstalledActivity)
58
- ], InstalledActivityMutation);
59
- exports.InstalledActivityMutation = InstalledActivityMutation;
60
- //# sourceMappingURL=installed-activity-mutation.js.map