@things-factory/worklist 5.0.7 → 5.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. package/client/{bootstrap.js → bootstrap.ts} +0 -0
  2. package/client/components/activity-/bowner-view.js +0 -1
  3. package/client/components/activity-instance-preview.js +1 -2
  4. package/client/components/{activity-intro-view.js → activity-intro-view.ts} +29 -42
  5. package/client/components/activity-reporter-view.js +0 -1
  6. package/client/components/activity-starter-form.js +2 -3
  7. package/client/{index.js → index.ts} +0 -0
  8. package/client/pages/activity/{activity-list-page.js → activity-list-page.ts} +26 -36
  9. package/client/pages/activity/activity-model-item-list.js +4 -1
  10. package/client/pages/activity/activity-page.js +2 -3
  11. package/client/pages/activity/starter-list-page.js +1 -1
  12. package/client/pages/activity-instance/activity-instance-list-page.js +1 -1
  13. package/client/pages/activity-instance/activity-instance-page.js +2 -2
  14. package/client/pages/activity-store/activity-store-page.js +1 -1
  15. package/client/pages/activity-supervisor/reporter-list-page.js +1 -1
  16. package/client/pages/activity-template/activity-template-list-page.js +1 -1
  17. package/client/pages/activity-thread/activity-thread-list-page.js +1 -1
  18. package/client/pages/activity-thread/activity-thread-page.js +2 -2
  19. package/client/pages/todo/assigned-list-page.js +1 -1
  20. package/client/pages/todo/draft-list-page.js +4 -2
  21. package/client/pages/todo/pickable-list-page.js +2 -2
  22. package/client/pages/todo/todo-list-page.js +2 -2
  23. package/client/pages/{worklist-home.js → worklist-home.ts} +2 -6
  24. package/client/{route.js → route.ts} +1 -1
  25. package/client/tsconfig.json +11 -0
  26. package/dist-client/bootstrap.d.ts +1 -0
  27. package/dist-client/bootstrap.js +12 -0
  28. package/dist-client/bootstrap.js.map +1 -0
  29. package/dist-client/components/activity-/bowner-view.d.ts +1 -0
  30. package/dist-client/components/activity-/bowner-view.js +96 -0
  31. package/dist-client/components/activity-/bowner-view.js.map +1 -0
  32. package/dist-client/components/activity-instance-preview.d.ts +1 -0
  33. package/dist-client/components/activity-instance-preview.js +180 -0
  34. package/dist-client/components/activity-instance-preview.js.map +1 -0
  35. package/dist-client/components/activity-intro-view.d.ts +1 -0
  36. package/dist-client/components/activity-intro-view.js +104 -0
  37. package/dist-client/components/activity-intro-view.js.map +1 -0
  38. package/dist-client/components/activity-reporter-view.d.ts +1 -0
  39. package/dist-client/components/activity-reporter-view.js +96 -0
  40. package/dist-client/components/activity-reporter-view.js.map +1 -0
  41. package/dist-client/components/activity-starter-form.d.ts +1 -0
  42. package/dist-client/components/activity-starter-form.js +293 -0
  43. package/dist-client/components/activity-starter-form.js.map +1 -0
  44. package/dist-client/index.d.ts +1 -0
  45. package/dist-client/index.js +2 -0
  46. package/dist-client/index.js.map +1 -0
  47. package/dist-client/pages/activity/activity-list-page.d.ts +47 -0
  48. package/dist-client/pages/activity/activity-list-page.js +479 -0
  49. package/dist-client/pages/activity/activity-list-page.js.map +1 -0
  50. package/dist-client/pages/activity/activity-model-item-list.d.ts +194 -0
  51. package/dist-client/pages/activity/activity-model-item-list.js +288 -0
  52. package/dist-client/pages/activity/activity-model-item-list.js.map +1 -0
  53. package/dist-client/pages/activity/activity-page.d.ts +49 -0
  54. package/dist-client/pages/activity/activity-page.js +367 -0
  55. package/dist-client/pages/activity/activity-page.js.map +1 -0
  56. package/dist-client/pages/activity/starter-list-page.d.ts +143 -0
  57. package/dist-client/pages/activity/starter-list-page.js +209 -0
  58. package/dist-client/pages/activity/starter-list-page.js.map +1 -0
  59. package/dist-client/pages/activity-instance/activity-instance-list-page.d.ts +137 -0
  60. package/dist-client/pages/activity-instance/activity-instance-list-page.js +202 -0
  61. package/dist-client/pages/activity-instance/activity-instance-list-page.js.map +1 -0
  62. package/dist-client/pages/activity-instance/activity-instance-page.d.ts +49 -0
  63. package/dist-client/pages/activity-instance/activity-instance-page.js +365 -0
  64. package/dist-client/pages/activity-instance/activity-instance-page.js.map +1 -0
  65. package/dist-client/pages/activity-store/activity-store-page.d.ts +174 -0
  66. package/dist-client/pages/activity-store/activity-store-page.js +211 -0
  67. package/dist-client/pages/activity-store/activity-store-page.js.map +1 -0
  68. package/dist-client/pages/activity-supervisor/reporter-list-page.d.ts +143 -0
  69. package/dist-client/pages/activity-supervisor/reporter-list-page.js +209 -0
  70. package/dist-client/pages/activity-supervisor/reporter-list-page.js.map +1 -0
  71. package/dist-client/pages/activity-template/activity-template-importer.d.ts +24 -0
  72. package/dist-client/pages/activity-template/activity-template-importer.js +98 -0
  73. package/dist-client/pages/activity-template/activity-template-importer.js.map +1 -0
  74. package/dist-client/pages/activity-template/activity-template-list-page.d.ts +263 -0
  75. package/dist-client/pages/activity-template/activity-template-list-page.js +402 -0
  76. package/dist-client/pages/activity-template/activity-template-list-page.js.map +1 -0
  77. package/dist-client/pages/activity-template/activity-template-model-item-list.d.ts +1 -0
  78. package/dist-client/pages/activity-template/activity-template-model-item-list.js +36 -0
  79. package/dist-client/pages/activity-template/activity-template-model-item-list.js.map +1 -0
  80. package/dist-client/pages/activity-thread/activity-thread-importer.d.ts +24 -0
  81. package/dist-client/pages/activity-thread/activity-thread-importer.js +98 -0
  82. package/dist-client/pages/activity-thread/activity-thread-importer.js.map +1 -0
  83. package/dist-client/pages/activity-thread/activity-thread-list-page.d.ts +145 -0
  84. package/dist-client/pages/activity-thread/activity-thread-list-page.js +284 -0
  85. package/dist-client/pages/activity-thread/activity-thread-list-page.js.map +1 -0
  86. package/dist-client/pages/activity-thread/activity-thread-page.d.ts +46 -0
  87. package/dist-client/pages/activity-thread/activity-thread-page.js +331 -0
  88. package/dist-client/pages/activity-thread/activity-thread-page.js.map +1 -0
  89. package/dist-client/pages/dashboard/dashboard-home.d.ts +1 -0
  90. package/dist-client/pages/dashboard/dashboard-home.js +17 -0
  91. package/dist-client/pages/dashboard/dashboard-home.js.map +1 -0
  92. package/dist-client/pages/todo/assigned-list-page.d.ts +124 -0
  93. package/dist-client/pages/todo/assigned-list-page.js +233 -0
  94. package/dist-client/pages/todo/assigned-list-page.js.map +1 -0
  95. package/dist-client/pages/todo/draft-list-page.d.ts +198 -0
  96. package/dist-client/pages/todo/draft-list-page.js +312 -0
  97. package/dist-client/pages/todo/draft-list-page.js.map +1 -0
  98. package/dist-client/pages/todo/pickable-list-page.d.ts +150 -0
  99. package/dist-client/pages/todo/pickable-list-page.js +260 -0
  100. package/dist-client/pages/todo/pickable-list-page.js.map +1 -0
  101. package/dist-client/pages/todo/todo-list-page.d.ts +232 -0
  102. package/dist-client/pages/todo/todo-list-page.js +333 -0
  103. package/dist-client/pages/todo/todo-list-page.js.map +1 -0
  104. package/dist-client/pages/worklist-home.d.ts +1 -0
  105. package/dist-client/pages/worklist-home.js +18 -0
  106. package/dist-client/pages/worklist-home.js.map +1 -0
  107. package/dist-client/route.d.ts +1 -0
  108. package/dist-client/route.js +53 -0
  109. package/dist-client/route.js.map +1 -0
  110. package/dist-client/tsconfig.tsbuildinfo +1 -0
  111. package/dist-client/types.d.ts +19 -0
  112. package/dist-client/types.js +37 -0
  113. package/dist-client/types.js.map +1 -0
  114. package/dist-server/controllers/activity-extension-controller.js.map +1 -1
  115. package/dist-server/controllers/activity-instance/abort.js +4 -5
  116. package/dist-server/controllers/activity-instance/abort.js.map +1 -1
  117. package/dist-server/controllers/activity-instance/adjust.js +3 -2
  118. package/dist-server/controllers/activity-instance/adjust.js.map +1 -1
  119. package/dist-server/controllers/activity-instance/assign.js +9 -25
  120. package/dist-server/controllers/activity-instance/assign.js.map +1 -1
  121. package/dist-server/controllers/activity-instance/delegate.js +5 -6
  122. package/dist-server/controllers/activity-instance/delegate.js.map +1 -1
  123. package/dist-server/controllers/activity-instance/draft.js +6 -7
  124. package/dist-server/controllers/activity-instance/draft.js.map +1 -1
  125. package/dist-server/controllers/activity-instance/end.js +5 -6
  126. package/dist-server/controllers/activity-instance/end.js.map +1 -1
  127. package/dist-server/controllers/activity-instance/index.js +11 -24
  128. package/dist-server/controllers/activity-instance/index.js.map +1 -1
  129. package/dist-server/controllers/activity-instance/pick.js +6 -6
  130. package/dist-server/controllers/activity-instance/pick.js.map +1 -1
  131. package/dist-server/controllers/activity-instance/post.js +10 -6
  132. package/dist-server/controllers/activity-instance/post.js.map +1 -1
  133. package/dist-server/controllers/activity-instance/start.js +3 -2
  134. package/dist-server/controllers/activity-instance/start.js.map +1 -1
  135. package/dist-server/controllers/activity-instance/terminate.js +5 -6
  136. package/dist-server/controllers/activity-instance/terminate.js.map +1 -1
  137. package/dist-server/controllers/activity-thread/abort.js +3 -4
  138. package/dist-server/controllers/activity-thread/abort.js.map +1 -1
  139. package/dist-server/controllers/activity-thread/adjust.js +2 -1
  140. package/dist-server/controllers/activity-thread/adjust.js.map +1 -1
  141. package/dist-server/controllers/activity-thread/delegate.js +4 -5
  142. package/dist-server/controllers/activity-thread/delegate.js.map +1 -1
  143. package/dist-server/controllers/activity-thread/end.js +4 -5
  144. package/dist-server/controllers/activity-thread/end.js.map +1 -1
  145. package/dist-server/controllers/activity-thread/index.js +8 -21
  146. package/dist-server/controllers/activity-thread/index.js.map +1 -1
  147. package/dist-server/controllers/activity-thread/save.js +2 -1
  148. package/dist-server/controllers/activity-thread/save.js.map +1 -1
  149. package/dist-server/controllers/activity-thread/start.js +4 -5
  150. package/dist-server/controllers/activity-thread/start.js.map +1 -1
  151. package/dist-server/controllers/activity-thread/terminate.js +3 -4
  152. package/dist-server/controllers/activity-thread/terminate.js.map +1 -1
  153. package/dist-server/controllers/common.js +23 -6
  154. package/dist-server/controllers/common.js.map +1 -1
  155. package/dist-server/controllers/index.js.map +1 -1
  156. package/dist-server/index.js +4 -17
  157. package/dist-server/index.js.map +1 -1
  158. package/dist-server/middlewares/index.js.map +1 -1
  159. package/dist-server/migrations/index.js.map +1 -1
  160. package/dist-server/routes.js +0 -1
  161. package/dist-server/routes.js.map +1 -1
  162. package/dist-server/service/activity/activity-history.js +68 -76
  163. package/dist-server/service/activity/activity-history.js.map +1 -1
  164. package/dist-server/service/activity/activity-model-type.js +51 -60
  165. package/dist-server/service/activity/activity-model-type.js.map +1 -1
  166. package/dist-server/service/activity/activity-mutation.js +39 -50
  167. package/dist-server/service/activity/activity-mutation.js.map +1 -1
  168. package/dist-server/service/activity/activity-query.js +61 -72
  169. package/dist-server/service/activity/activity-query.js.map +1 -1
  170. package/dist-server/service/activity/activity-type.js +91 -102
  171. package/dist-server/service/activity/activity-type.js.map +1 -1
  172. package/dist-server/service/activity/activity.js +68 -76
  173. package/dist-server/service/activity/activity.js.map +1 -1
  174. package/dist-server/service/activity/event-subscriber.js +2 -7
  175. package/dist-server/service/activity/event-subscriber.js.map +1 -1
  176. package/dist-server/service/activity/index.js.map +1 -1
  177. package/dist-server/service/activity-instance/activity-instance-history.js +81 -89
  178. package/dist-server/service/activity-instance/activity-instance-history.js.map +1 -1
  179. package/dist-server/service/activity-instance/activity-instance-mutation.js +71 -85
  180. package/dist-server/service/activity-instance/activity-instance-mutation.js.map +1 -1
  181. package/dist-server/service/activity-instance/activity-instance-query.js +67 -78
  182. package/dist-server/service/activity-instance/activity-instance-query.js.map +1 -1
  183. package/dist-server/service/activity-instance/activity-instance-subscription.js +8 -21
  184. package/dist-server/service/activity-instance/activity-instance-subscription.js.map +1 -1
  185. package/dist-server/service/activity-instance/activity-instance-type.js +106 -106
  186. package/dist-server/service/activity-instance/activity-instance-type.js.map +1 -1
  187. package/dist-server/service/activity-instance/activity-instance.js +85 -93
  188. package/dist-server/service/activity-instance/activity-instance.js.map +1 -1
  189. package/dist-server/service/activity-instance/event-subscriber.js +3 -8
  190. package/dist-server/service/activity-instance/event-subscriber.js.map +1 -1
  191. package/dist-server/service/activity-instance/index.js.map +1 -1
  192. package/dist-server/service/activity-template/activity-template-history.js +50 -58
  193. package/dist-server/service/activity-template/activity-template-history.js.map +1 -1
  194. package/dist-server/service/activity-template/activity-template-mutation.js +39 -50
  195. package/dist-server/service/activity-template/activity-template-mutation.js.map +1 -1
  196. package/dist-server/service/activity-template/activity-template-query.js +48 -45
  197. package/dist-server/service/activity-template/activity-template-query.js.map +1 -1
  198. package/dist-server/service/activity-template/activity-template-type.js +65 -76
  199. package/dist-server/service/activity-template/activity-template-type.js.map +1 -1
  200. package/dist-server/service/activity-template/activity-template.js +48 -56
  201. package/dist-server/service/activity-template/activity-template.js.map +1 -1
  202. package/dist-server/service/activity-template/event-subscriber.js +2 -7
  203. package/dist-server/service/activity-template/event-subscriber.js.map +1 -1
  204. package/dist-server/service/activity-template/index.js.map +1 -1
  205. package/dist-server/service/activity-thread/activity-thread-mutation.js +84 -95
  206. package/dist-server/service/activity-thread/activity-thread-mutation.js.map +1 -1
  207. package/dist-server/service/activity-thread/activity-thread-query.js +45 -56
  208. package/dist-server/service/activity-thread/activity-thread-query.js.map +1 -1
  209. package/dist-server/service/activity-thread/activity-thread-subscription.js +7 -20
  210. package/dist-server/service/activity-thread/activity-thread-subscription.js.map +1 -1
  211. package/dist-server/service/activity-thread/activity-thread-type.js +25 -34
  212. package/dist-server/service/activity-thread/activity-thread-type.js.map +1 -1
  213. package/dist-server/service/activity-thread/activity-thread.js +43 -51
  214. package/dist-server/service/activity-thread/activity-thread.js.map +1 -1
  215. package/dist-server/service/activity-thread/event-subscriber.js +5 -10
  216. package/dist-server/service/activity-thread/event-subscriber.js.map +1 -1
  217. package/dist-server/service/activity-thread/index.js.map +1 -1
  218. package/dist-server/service/index.js +5 -18
  219. package/dist-server/service/index.js.map +1 -1
  220. package/dist-server/tsconfig.tsbuildinfo +1 -0
  221. package/package.json +13 -11
  222. package/server/controllers/activity-instance/abort.ts +5 -10
  223. package/server/controllers/activity-instance/adjust.ts +5 -7
  224. package/server/controllers/activity-instance/assign.ts +13 -45
  225. package/server/controllers/activity-instance/delegate.ts +6 -8
  226. package/server/controllers/activity-instance/draft.ts +7 -13
  227. package/server/controllers/activity-instance/end.ts +6 -9
  228. package/server/controllers/activity-instance/pick.ts +12 -9
  229. package/server/controllers/activity-instance/post.ts +14 -12
  230. package/server/controllers/activity-instance/start.ts +5 -3
  231. package/server/controllers/activity-instance/terminate.ts +6 -8
  232. package/server/controllers/activity-thread/abort.ts +3 -9
  233. package/server/controllers/activity-thread/adjust.ts +3 -6
  234. package/server/controllers/activity-thread/delegate.ts +4 -7
  235. package/server/controllers/activity-thread/end.ts +4 -7
  236. package/server/controllers/activity-thread/save.ts +3 -6
  237. package/server/controllers/activity-thread/start.ts +4 -11
  238. package/server/controllers/activity-thread/terminate.ts +3 -7
  239. package/server/controllers/common.ts +33 -14
  240. package/server/routes.ts +0 -2
  241. package/server/service/activity/activity-model-type.ts +4 -4
  242. package/server/service/activity-instance/activity-instance-history.ts +2 -2
  243. package/server/service/activity-instance/activity-instance-mutation.ts +11 -15
  244. package/server/service/activity-instance/activity-instance-subscription.ts +1 -5
  245. package/server/service/activity-instance/activity-instance-type.ts +17 -11
  246. package/server/service/activity-instance/activity-instance.ts +2 -2
  247. package/server/service/activity-template/activity-template-query.ts +10 -0
  248. package/server/service/activity-thread/activity-thread-mutation.ts +7 -7
  249. package/server/service/activity-thread/activity-thread-subscription.ts +0 -4
  250. package/server/service/activity-thread/activity-thread-type.ts +1 -1
  251. package/server/service/activity-thread/activity-thread.ts +1 -1
  252. package/server/service/activity-thread/event-subscriber.ts +3 -3
  253. package/server/tsconfig.json +10 -0
  254. package/things-factory.config.js +2 -2
  255. package/tsconfig.json +0 -9
@@ -0,0 +1,479 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import '@operato/data-grist';
3
+ import './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 { 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 { CommonButtonStyles, CommonGristStyles, ScrollbarStyles } from '@operato/styles';
14
+ import { isMobileDevice } from '@operato/utils';
15
+ import { ActivityTypes, ActivityUITypes } from '../../types.js';
16
+ let ActivityListPage = class ActivityListPage extends connect(store)(localize(i18next)(PageView)) {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.mode = 'CARD';
20
+ }
21
+ get context() {
22
+ return {
23
+ title: i18next.t('title.activity list'),
24
+ help: 'worklist/activity',
25
+ actions: [
26
+ Object.assign({ title: i18next.t('button.save'), action: this._updateActivity.bind(this) }, CommonButtonStyles.save)
27
+ ]
28
+ };
29
+ }
30
+ render() {
31
+ const mode = this.mode || (isMobileDevice() ? 'CARD' : 'GRID');
32
+ return html `
33
+ <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}>
34
+ <div slot="headroom">
35
+ <div id="filters">
36
+ <ox-filters-form autofocus></ox-filters-form>
37
+ </div>
38
+
39
+ <div id="sorters">
40
+ Sort
41
+ <mwc-icon
42
+ @click=${e => {
43
+ var _a;
44
+ const target = e.currentTarget;
45
+ (_a = this.renderRoot.querySelector('#sorter-control')) === null || _a === void 0 ? void 0 : _a.open({
46
+ right: 0,
47
+ top: target.offsetTop + target.offsetHeight
48
+ });
49
+ }}
50
+ >expand_more</mwc-icon
51
+ >
52
+ <ox-popup id="sorter-control">
53
+ <ox-sorters-control> </ox-sorters-control>
54
+ </ox-popup>
55
+ </div>
56
+
57
+ <div id="modes">
58
+ <mwc-icon @click=${() => (this.mode = 'GRID')} ?active=${mode == 'GRID'}>grid_on</mwc-icon>
59
+ <mwc-icon @click=${() => (this.mode = 'CARD')} ?active=${mode == 'CARD'}>apps</mwc-icon>
60
+ </div>
61
+ </div>
62
+ </ox-grist>
63
+ `;
64
+ }
65
+ async pageInitialized(lifecycle) {
66
+ this.gristConfig = {
67
+ list: {
68
+ thumbnail: 'thumbnail',
69
+ fields: ['name', 'description'],
70
+ details: ['updatedAt']
71
+ },
72
+ columns: [
73
+ { type: 'gutter', gutterName: 'sequence' },
74
+ { type: 'gutter', gutterName: 'row-selector', multiple: true },
75
+ {
76
+ type: 'gutter',
77
+ gutterName: 'button',
78
+ icon: 'reorder',
79
+ handlers: {
80
+ click: (columns, data, column, record, rowIndex) => {
81
+ if (!record.id)
82
+ return;
83
+ const popup = openPopup(html ` <activity-model-item-list .activity=${record}></activity-model-item-list> `, {
84
+ backdrop: true,
85
+ help: 'worklist/activity/activity-model-item-list',
86
+ size: 'large',
87
+ title: i18next.t('title.activity model item list')
88
+ });
89
+ popup.onclosed = () => {
90
+ var _a;
91
+ (_a = this.grist) === null || _a === void 0 ? void 0 : _a.fetch();
92
+ };
93
+ }
94
+ }
95
+ },
96
+ {
97
+ type: 'string',
98
+ name: 'name',
99
+ header: i18next.t('field.name'),
100
+ record: {
101
+ editable: true
102
+ },
103
+ filter: 'search',
104
+ sortable: true,
105
+ width: 150
106
+ },
107
+ {
108
+ type: 'string',
109
+ name: 'description',
110
+ header: i18next.t('field.description'),
111
+ record: {
112
+ editable: true
113
+ },
114
+ filter: 'search',
115
+ width: 200
116
+ },
117
+ {
118
+ type: 'select',
119
+ name: 'activityType',
120
+ label: true,
121
+ header: i18next.t('field.activity-type'),
122
+ record: {
123
+ editable: true,
124
+ options: ActivityTypes
125
+ },
126
+ sortable: true,
127
+ // filter: true,
128
+ width: 60
129
+ },
130
+ // {
131
+ // type: 'json5',
132
+ // name: 'model',
133
+ // label: true,
134
+ // header: i18next.t('field.model'),
135
+ // record: {
136
+ // editable: true
137
+ // },
138
+ // width: 120
139
+ // },
140
+ {
141
+ type: 'number',
142
+ name: 'priority',
143
+ header: i18next.t('field.priority'),
144
+ record: {
145
+ editable: true
146
+ },
147
+ width: 30
148
+ },
149
+ {
150
+ type: 'boolean',
151
+ name: 'startable',
152
+ label: true,
153
+ header: i18next.t('field.startable'),
154
+ record: {
155
+ editable: true
156
+ },
157
+ width: 80
158
+ },
159
+ {
160
+ type: 'crontab',
161
+ name: 'schedule',
162
+ label: true,
163
+ header: i18next.t('field.schedule'),
164
+ record: {
165
+ editable: true,
166
+ options: {
167
+ objectified: true
168
+ }
169
+ },
170
+ width: 80
171
+ },
172
+ {
173
+ type: 'image',
174
+ name: 'thumbnail',
175
+ header: i18next.t('field.thumbnail'),
176
+ record: { editable: true },
177
+ width: 120
178
+ },
179
+ {
180
+ type: 'resource-object',
181
+ name: 'issuerRole',
182
+ header: i18next.t('field.issuer-role'),
183
+ record: {
184
+ editable: true,
185
+ options: {
186
+ queryName: 'roles'
187
+ }
188
+ },
189
+ filter: 'search',
190
+ width: 120
191
+ },
192
+ {
193
+ type: 'resource-object',
194
+ name: 'assigneeRole',
195
+ header: i18next.t('field.assignee-role'),
196
+ record: {
197
+ editable: true,
198
+ options: {
199
+ queryName: 'roles'
200
+ }
201
+ },
202
+ filter: 'search',
203
+ width: 120
204
+ },
205
+ {
206
+ type: 'resource-object',
207
+ name: 'supervisoryRole',
208
+ header: i18next.t('field.supervisory-role'),
209
+ record: {
210
+ editable: true,
211
+ options: {
212
+ queryName: 'roles'
213
+ }
214
+ },
215
+ filter: 'search',
216
+ width: 120
217
+ },
218
+ {
219
+ type: 'select',
220
+ name: 'uiType',
221
+ label: true,
222
+ header: i18next.t('field.ui-type'),
223
+ record: {
224
+ editable: true,
225
+ options: ActivityUITypes
226
+ },
227
+ width: 80
228
+ },
229
+ {
230
+ type: 'string',
231
+ name: 'uiSource',
232
+ header: i18next.t('field.ui-source'),
233
+ record: {
234
+ editable: true,
235
+ editor: function (value, column, record, rowIndex, field) {
236
+ var type = record.uiType !== 'board' ? 'script' : 'board';
237
+ return getEditor(type)(value, column, record, rowIndex, field);
238
+ },
239
+ renderer: function (value, column, record, rowIndex, field) {
240
+ var type = record.uiType !== 'board' ? 'script' : 'board';
241
+ return getRenderer(type)(value, column, record, rowIndex, field);
242
+ }
243
+ },
244
+ width: 140
245
+ },
246
+ {
247
+ type: 'select',
248
+ name: 'reportType',
249
+ label: true,
250
+ header: i18next.t('field.report-type'),
251
+ record: {
252
+ editable: true,
253
+ options: ActivityUITypes
254
+ },
255
+ width: 80
256
+ },
257
+ {
258
+ type: 'string',
259
+ name: 'reportSource',
260
+ header: i18next.t('field.report-source'),
261
+ record: {
262
+ editable: true,
263
+ editor: function (value, column, record, rowIndex, field) {
264
+ var type = record.reportType !== 'board' ? 'script' : 'board';
265
+ return getEditor(type)(value, column, record, rowIndex, field);
266
+ },
267
+ renderer: function (value, column, record, rowIndex, field) {
268
+ var type = record.reportType !== 'board' ? 'script' : 'board';
269
+ return getRenderer(type)(value, column, record, rowIndex, field);
270
+ }
271
+ },
272
+ width: 140
273
+ },
274
+ {
275
+ type: 'duration',
276
+ name: 'standardTime',
277
+ header: i18next.t('field.standard-time'),
278
+ record: {
279
+ editable: true
280
+ },
281
+ sortable: true,
282
+ width: 80
283
+ },
284
+ {
285
+ type: 'duration',
286
+ name: 'cycleTime',
287
+ header: i18next.t('field.cycle-time'),
288
+ record: {
289
+ editable: true
290
+ },
291
+ sortable: true,
292
+ width: 80
293
+ },
294
+ {
295
+ type: 'duration',
296
+ name: 'tactTime',
297
+ header: i18next.t('field.tact-time'),
298
+ record: {
299
+ editable: true
300
+ },
301
+ sortable: true,
302
+ width: 80
303
+ },
304
+ {
305
+ type: 'duration',
306
+ name: 'leadTime',
307
+ header: i18next.t('field.lead-time'),
308
+ record: {
309
+ editable: true
310
+ },
311
+ sortable: true,
312
+ width: 80
313
+ },
314
+ {
315
+ type: 'resource-object',
316
+ name: 'updater',
317
+ header: i18next.t('field.updater'),
318
+ record: {
319
+ editable: false
320
+ },
321
+ sortable: true,
322
+ width: 120
323
+ },
324
+ {
325
+ type: 'datetime',
326
+ name: 'updatedAt',
327
+ header: i18next.t('field.updated_at'),
328
+ record: {
329
+ editable: false
330
+ },
331
+ sortable: true,
332
+ width: 180
333
+ }
334
+ ],
335
+ rows: {
336
+ selectable: {
337
+ multiple: true
338
+ },
339
+ handlers: {
340
+ click: 'select-row-toggle'
341
+ }
342
+ },
343
+ sorters: [
344
+ {
345
+ name: 'name'
346
+ }
347
+ ]
348
+ };
349
+ }
350
+ async fetchHandler({ page, limit, sortings = [], filters = [] }) {
351
+ const response = await client.query({
352
+ query: gql `
353
+ query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
354
+ responses: activities(filters: $filters, pagination: $pagination, sortings: $sortings) {
355
+ items {
356
+ id
357
+ name
358
+ description
359
+ activityType
360
+ model {
361
+ name
362
+ description
363
+ active
364
+ tag
365
+ inout
366
+ type
367
+ unit
368
+ options
369
+ quantifier
370
+ spec
371
+ }
372
+ thumbnail
373
+ priority
374
+ issuerRole {
375
+ id
376
+ name
377
+ }
378
+ assigneeRole {
379
+ id
380
+ name
381
+ }
382
+ supervisoryRole {
383
+ id
384
+ name
385
+ }
386
+ uiType
387
+ uiSource
388
+ startable
389
+ schedule
390
+ standardTime
391
+ leadTime
392
+ cycleTime
393
+ tactTime
394
+ updater {
395
+ id
396
+ name
397
+ }
398
+ updatedAt
399
+ }
400
+ total
401
+ }
402
+ }
403
+ `,
404
+ variables: {
405
+ filters,
406
+ pagination: { page, limit },
407
+ sortings
408
+ }
409
+ });
410
+ return {
411
+ total: response.data.responses.total || 0,
412
+ records: response.data.responses.items || []
413
+ };
414
+ }
415
+ async _updateActivity() {
416
+ var _a, _b;
417
+ let patches = (_a = this.grist) === null || _a === void 0 ? void 0 : _a.dirtyRecords;
418
+ if (patches && patches.length) {
419
+ patches = patches.map(patch => {
420
+ let patchField = patch.id ? { id: patch.id } : {};
421
+ const dirtyFields = patch.__dirtyfields__;
422
+ for (let key in dirtyFields) {
423
+ patchField[key] = dirtyFields[key].after;
424
+ }
425
+ patchField.cuFlag = patch.__dirty__;
426
+ return patchField;
427
+ });
428
+ const response = await client.mutate({
429
+ mutation: gql `
430
+ mutation ($patches: [ActivityPatch!]!) {
431
+ updateMultipleActivity(patches: $patches) {
432
+ name
433
+ }
434
+ }
435
+ `,
436
+ variables: {
437
+ patches
438
+ },
439
+ context: {
440
+ hasUpload: true
441
+ }
442
+ });
443
+ if (!response.errors) {
444
+ (_b = this.grist) === null || _b === void 0 ? void 0 : _b.fetch();
445
+ }
446
+ }
447
+ }
448
+ };
449
+ ActivityListPage.styles = [
450
+ ScrollbarStyles,
451
+ CommonGristStyles,
452
+ css `
453
+ :host {
454
+ display: flex;
455
+
456
+ width: 100%;
457
+
458
+ --grid-record-emphasized-background-color: red;
459
+ --grid-record-emphasized-color: yellow;
460
+ }
461
+ `
462
+ ];
463
+ __decorate([
464
+ property({ type: Object }),
465
+ __metadata("design:type", Object)
466
+ ], ActivityListPage.prototype, "gristConfig", void 0);
467
+ __decorate([
468
+ property({ type: String }),
469
+ __metadata("design:type", String)
470
+ ], ActivityListPage.prototype, "mode", void 0);
471
+ __decorate([
472
+ query('ox-grist'),
473
+ __metadata("design:type", Object)
474
+ ], ActivityListPage.prototype, "grist", void 0);
475
+ ActivityListPage = __decorate([
476
+ customElement('activity-list-page')
477
+ ], ActivityListPage);
478
+ export { ActivityListPage };
479
+ //# sourceMappingURL=activity-list-page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-list-page.js","sourceRoot":"","sources":["../../../client/pages/activity/activity-list-page.ts"],"names":[],"mappings":"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","sourcesContent":["import '@operato/data-grist'\nimport './activity-model-item-list.js'\n\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 { getEditor, getRenderer } from '@operato/data-grist'\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { 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('activity-list-page')\nexport class ActivityListPage 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: 'CARD' | 'GRID' = 'CARD'\n\n @query('ox-grist') grist?: HTMLElement & { fetch: any; dirtyRecords: any }\n\n get context() {\n return {\n title: i18next.t('title.activity list'),\n help: 'worklist/activity',\n actions: [\n {\n title: i18next.t('button.save'),\n action: this._updateActivity.bind(this),\n ...CommonButtonStyles.save\n }\n ]\n }\n }\n\n render() {\n const mode = this.mode || (isMobileDevice() ? 'CARD' : 'GRID')\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></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.renderRoot.querySelector('#sorter-control') as any)?.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 = '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: ['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 if (!record.id) return\n const popup = openPopup(\n html` <activity-model-item-list .activity=${record}></activity-model-item-list> `,\n {\n backdrop: true,\n help: 'worklist/activity/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: 'string',\n name: 'name',\n header: i18next.t('field.name'),\n record: {\n editable: true\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: true\n },\n filter: 'search',\n width: 200\n },\n {\n type: 'select',\n name: 'activityType',\n label: true,\n header: i18next.t('field.activity-type'),\n record: {\n editable: true,\n options: ActivityTypes\n },\n sortable: true,\n // filter: true,\n width: 60\n },\n // {\n // type: 'json5',\n // name: 'model',\n // label: true,\n // header: i18next.t('field.model'),\n // record: {\n // editable: true\n // },\n // width: 120\n // },\n {\n type: 'number',\n name: 'priority',\n header: i18next.t('field.priority'),\n record: {\n editable: true\n },\n width: 30\n },\n {\n type: 'boolean',\n name: 'startable',\n label: true,\n header: i18next.t('field.startable'),\n record: {\n editable: true\n },\n width: 80\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 },\n {\n type: 'image',\n name: 'thumbnail',\n header: i18next.t('field.thumbnail'),\n record: { editable: true },\n width: 120\n },\n {\n type: 'resource-object',\n name: 'issuerRole',\n header: i18next.t('field.issuer-role'),\n record: {\n editable: true,\n options: {\n queryName: 'roles'\n }\n },\n filter: 'search',\n width: 120\n },\n {\n type: 'resource-object',\n name: 'assigneeRole',\n header: i18next.t('field.assignee-role'),\n record: {\n editable: true,\n options: {\n queryName: 'roles'\n }\n },\n filter: 'search',\n width: 120\n },\n {\n type: 'resource-object',\n name: 'supervisoryRole',\n header: i18next.t('field.supervisory-role'),\n record: {\n editable: true,\n options: {\n queryName: 'roles'\n }\n },\n filter: 'search',\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: true,\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: true,\n editor: function (value, column, record, rowIndex, field) {\n var type = record.uiType !== '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.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: true,\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: true,\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: 'duration',\n name: 'standardTime',\n header: i18next.t('field.standard-time'),\n record: {\n editable: true\n },\n sortable: true,\n width: 80\n },\n {\n type: 'duration',\n name: 'cycleTime',\n header: i18next.t('field.cycle-time'),\n record: {\n editable: true\n },\n sortable: true,\n width: 80\n },\n {\n type: 'duration',\n name: 'tactTime',\n header: i18next.t('field.tact-time'),\n record: {\n editable: true\n },\n sortable: true,\n width: 80\n },\n {\n type: 'duration',\n name: 'leadTime',\n header: i18next.t('field.lead-time'),\n record: {\n editable: true\n },\n sortable: true,\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 sortable: true,\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 handlers: {\n click: 'select-row-toggle'\n }\n },\n sorters: [\n {\n name: 'name'\n }\n ]\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: activities(filters: $filters, pagination: $pagination, sortings: $sortings) {\n items {\n id\n name\n description\n activityType\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 priority\n issuerRole {\n id\n name\n }\n assigneeRole {\n id\n name\n }\n supervisoryRole {\n id\n name\n }\n uiType\n uiSource\n startable\n schedule\n standardTime\n leadTime\n cycleTime\n tactTime\n updater {\n id\n name\n }\n updatedAt\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 _updateActivity() {\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 patchField.cuFlag = patch.__dirty__\n\n return patchField\n })\n\n const response = await client.mutate({\n mutation: gql`\n mutation ($patches: [ActivityPatch!]!) {\n updateMultipleActivity(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"]}