@things-factory/worklist 6.0.27 → 6.0.28

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 (183) hide show
  1. package/client/bootstrap.ts +9 -1
  2. package/client/components/activity-starter-form.ts +35 -10
  3. package/client/grist-editor/grist-editor-activity-search-key.ts +79 -0
  4. package/client/grist-editor/popup-activity-search-keys-input.ts +167 -0
  5. package/client/pages/activity/activity-list-page.ts +74 -11
  6. package/client/pages/activity/activity-partial-view.ts +82 -0
  7. package/client/pages/activity/starter-list-page.ts +1 -0
  8. package/client/pages/activity-instance/activity-instance-search-page.ts +377 -0
  9. package/client/pages/activity-instance/activity-instance-view.ts +135 -0
  10. package/client/pages/activity-store/activity-store-page.ts +1 -1
  11. package/client/pages/activity-template/activity-template-list-page.ts +1 -1
  12. package/client/pages/activity-thread/activity-thread-page.ts +8 -3
  13. package/client/pages/activity-thread/activity-thread-view.ts +102 -0
  14. package/client/pages/installable-activity/installable-activity-list-page.ts +1 -1
  15. package/client/pages/todo/approval-waiting-list-page.ts +12 -2
  16. package/client/pages/todo/draft-list-page.ts +13 -2
  17. package/client/pages/todo/todo-list-page.ts +14 -3
  18. package/client/route.ts +4 -0
  19. package/client/types/activity-instance-type.ts +123 -0
  20. package/client/types/activity-instance.ts +124 -0
  21. package/client/types/activity-model-type.ts +40 -0
  22. package/client/types/activity-search-key-item-type.ts +9 -0
  23. package/client/types/activity-thread-type.ts +19 -0
  24. package/client/types/activity-thread.ts +88 -0
  25. package/client/types/activity.ts +97 -0
  26. package/client/{types.js → types/types.ts} +0 -9
  27. package/dist-client/bootstrap.js +4 -1
  28. package/dist-client/bootstrap.js.map +1 -1
  29. package/dist-client/components/activity-starter-form.d.ts +1 -1
  30. package/dist-client/components/activity-starter-form.js +34 -9
  31. package/dist-client/components/activity-starter-form.js.map +1 -1
  32. package/dist-client/grist-editor/grist-editor-activity-search-key.d.ts +12 -0
  33. package/dist-client/grist-editor/grist-editor-activity-search-key.js +70 -0
  34. package/dist-client/grist-editor/grist-editor-activity-search-key.js.map +1 -0
  35. package/dist-client/grist-editor/popup-activity-search-keys-input.d.ts +17 -0
  36. package/dist-client/grist-editor/popup-activity-search-keys-input.js +177 -0
  37. package/dist-client/grist-editor/popup-activity-search-keys-input.js.map +1 -0
  38. package/dist-client/pages/activity/activity-list-page.d.ts +4 -0
  39. package/dist-client/pages/activity/activity-list-page.js +73 -11
  40. package/dist-client/pages/activity/activity-list-page.js.map +1 -1
  41. package/dist-client/pages/activity/activity-partial-view.d.ts +13 -0
  42. package/dist-client/pages/activity/activity-partial-view.js +56 -0
  43. package/dist-client/pages/activity/activity-partial-view.js.map +1 -0
  44. package/dist-client/pages/activity/starter-list-page.js.map +1 -1
  45. package/dist-client/pages/activity-instance/activity-instance-search-page.d.ts +76 -0
  46. package/dist-client/pages/activity-instance/activity-instance-search-page.js +371 -0
  47. package/dist-client/pages/activity-instance/activity-instance-search-page.js.map +1 -0
  48. package/dist-client/pages/activity-instance/activity-instance-view.d.ts +14 -0
  49. package/dist-client/pages/activity-instance/activity-instance-view.js +130 -0
  50. package/dist-client/pages/activity-instance/activity-instance-view.js.map +1 -0
  51. package/dist-client/pages/activity-store/activity-store-page.js +1 -1
  52. package/dist-client/pages/activity-store/activity-store-page.js.map +1 -1
  53. package/dist-client/pages/activity-template/activity-template-list-page.js +1 -1
  54. package/dist-client/pages/activity-template/activity-template-list-page.js.map +1 -1
  55. package/dist-client/pages/activity-thread/activity-thread-page.js +8 -3
  56. package/dist-client/pages/activity-thread/activity-thread-page.js.map +1 -1
  57. package/dist-client/pages/activity-thread/activity-thread-view.d.ts +11 -0
  58. package/dist-client/pages/activity-thread/activity-thread-view.js +103 -0
  59. package/dist-client/pages/activity-thread/activity-thread-view.js.map +1 -0
  60. package/dist-client/pages/installable-activity/installable-activity-list-page.js +1 -1
  61. package/dist-client/pages/installable-activity/installable-activity-list-page.js.map +1 -1
  62. package/dist-client/pages/todo/approval-waiting-list-page.js +12 -2
  63. package/dist-client/pages/todo/approval-waiting-list-page.js.map +1 -1
  64. package/dist-client/pages/todo/draft-list-page.js +12 -2
  65. package/dist-client/pages/todo/draft-list-page.js.map +1 -1
  66. package/dist-client/pages/todo/todo-list-page.js +13 -3
  67. package/dist-client/pages/todo/todo-list-page.js.map +1 -1
  68. package/dist-client/route.d.ts +1 -1
  69. package/dist-client/route.js +3 -0
  70. package/dist-client/route.js.map +1 -1
  71. package/dist-client/tsconfig.tsbuildinfo +1 -1
  72. package/dist-client/types/activity-instance-type.d.ts +76 -0
  73. package/dist-client/types/activity-instance-type.js +11 -0
  74. package/dist-client/types/activity-instance-type.js.map +1 -0
  75. package/dist-client/types/activity-instance.d.ts +70 -0
  76. package/dist-client/types/activity-instance.js +36 -0
  77. package/dist-client/types/activity-instance.js.map +1 -0
  78. package/dist-client/types/activity-model-type.d.ts +31 -0
  79. package/dist-client/types/activity-model-type.js +18 -0
  80. package/dist-client/types/activity-model-type.js.map +1 -0
  81. package/dist-client/types/activity-search-key-item-type.d.ts +6 -0
  82. package/dist-client/types/activity-search-key-item-type.js +3 -0
  83. package/dist-client/types/activity-search-key-item-type.js.map +1 -0
  84. package/dist-client/types/activity-thread-type.d.ts +15 -0
  85. package/dist-client/types/activity-thread-type.js +7 -0
  86. package/dist-client/types/activity-thread-type.js.map +1 -0
  87. package/dist-client/types/activity-thread.d.ts +37 -0
  88. package/dist-client/types/activity-thread.js +51 -0
  89. package/dist-client/types/activity-thread.js.map +1 -0
  90. package/dist-client/types/activity.d.ts +62 -0
  91. package/dist-client/types/activity.js +35 -0
  92. package/dist-client/types/activity.js.map +1 -0
  93. package/dist-client/types/types.d.ts +15 -0
  94. package/dist-client/types/types.js +30 -0
  95. package/dist-client/types/types.js.map +1 -0
  96. package/dist-server/controllers/activity-approval/approve.js +2 -0
  97. package/dist-server/controllers/activity-approval/approve.js.map +1 -1
  98. package/dist-server/controllers/activity-approval/reject.js +2 -0
  99. package/dist-server/controllers/activity-approval/reject.js.map +1 -1
  100. package/dist-server/controllers/activity-extension-controller.js +11 -0
  101. package/dist-server/controllers/activity-extension-controller.js.map +1 -0
  102. package/dist-server/controllers/activity-installation/activity-installation-controller.js +25 -0
  103. package/dist-server/controllers/activity-installation/activity-installation-controller.js.map +1 -0
  104. package/dist-server/controllers/activity-installation/call-webhook.js +41 -0
  105. package/dist-server/controllers/activity-installation/call-webhook.js.map +1 -0
  106. package/dist-server/controllers/activity-installation/callback-registry.js +21 -0
  107. package/dist-server/controllers/activity-installation/callback-registry.js.map +1 -0
  108. package/dist-server/controllers/activity-instance/abort.js +1 -1
  109. package/dist-server/controllers/activity-instance/abort.js.map +1 -1
  110. package/dist-server/controllers/activity-instance/adjust.js +1 -1
  111. package/dist-server/controllers/activity-instance/adjust.js.map +1 -1
  112. package/dist-server/controllers/activity-instance/delegate.js +5 -0
  113. package/dist-server/controllers/activity-instance/delegate.js.map +1 -1
  114. package/dist-server/controllers/activity-instance/draft.js +11 -1
  115. package/dist-server/controllers/activity-instance/draft.js.map +1 -1
  116. package/dist-server/controllers/activity-instance/post.js +38 -3
  117. package/dist-server/controllers/activity-instance/post.js.map +1 -1
  118. package/dist-server/controllers/activity-instance/start.js +1 -1
  119. package/dist-server/controllers/activity-instance/start.js.map +1 -1
  120. package/dist-server/controllers/activity-thread/submit.js +1 -1
  121. package/dist-server/controllers/activity-thread/submit.js.map +1 -1
  122. package/dist-server/controllers/common.js +61 -22
  123. package/dist-server/controllers/common.js.map +1 -1
  124. package/dist-server/controllers/index.js +1 -1
  125. package/dist-server/controllers/index.js.map +1 -1
  126. package/dist-server/service/activity/activity-history.js +15 -0
  127. package/dist-server/service/activity/activity-history.js.map +1 -1
  128. package/dist-server/service/activity/activity-search-key-item-type.js +28 -0
  129. package/dist-server/service/activity/activity-search-key-item-type.js.map +1 -0
  130. package/dist-server/service/activity/activity-type.js +32 -0
  131. package/dist-server/service/activity/activity-type.js.map +1 -1
  132. package/dist-server/service/activity/activity.js +23 -2
  133. package/dist-server/service/activity/activity.js.map +1 -1
  134. package/dist-server/service/activity-approval/event-subscriber.js +1 -1
  135. package/dist-server/service/activity-approval/event-subscriber.js.map +1 -1
  136. package/dist-server/service/activity-instance/activity-instance-history.js +53 -0
  137. package/dist-server/service/activity-instance/activity-instance-history.js.map +1 -1
  138. package/dist-server/service/activity-instance/activity-instance-query.js +29 -0
  139. package/dist-server/service/activity-instance/activity-instance-query.js.map +1 -1
  140. package/dist-server/service/activity-instance/activity-instance.js +53 -0
  141. package/dist-server/service/activity-instance/activity-instance.js.map +1 -1
  142. package/dist-server/service/activity-instance/event-subscriber.js +4 -4
  143. package/dist-server/service/activity-instance/event-subscriber.js.map +1 -1
  144. package/dist-server/service/activity-thread/activity-thread.js +4 -1
  145. package/dist-server/service/activity-thread/activity-thread.js.map +1 -1
  146. package/dist-server/service/installable-activity/installable-activity-mutation.js +1 -1
  147. package/dist-server/service/installable-activity/installable-activity-mutation.js.map +1 -1
  148. package/dist-server/service/installable-activity/installable-activity-query.js +1 -1
  149. package/dist-server/service/installable-activity/installable-activity-query.js.map +1 -1
  150. package/dist-server/service/installable-activity/installable-activity.js.map +1 -1
  151. package/dist-server/tsconfig.tsbuildinfo +1 -1
  152. package/package.json +8 -8
  153. package/server/controllers/activity-approval/approve.ts +3 -0
  154. package/server/controllers/activity-approval/reject.ts +3 -0
  155. package/server/controllers/{activity-installation-controller.ts → activity-installation/activity-installation-controller.ts} +12 -1
  156. package/server/controllers/activity-instance/abort.ts +1 -1
  157. package/server/controllers/activity-instance/adjust.ts +1 -1
  158. package/server/controllers/activity-instance/delegate.ts +9 -1
  159. package/server/controllers/activity-instance/draft.ts +12 -3
  160. package/server/controllers/activity-instance/post.ts +54 -6
  161. package/server/controllers/activity-instance/start.ts +1 -1
  162. package/server/controllers/activity-thread/submit.ts +1 -0
  163. package/server/controllers/common.ts +85 -28
  164. package/server/controllers/index.ts +1 -1
  165. package/server/service/activity/activity-history.ts +13 -0
  166. package/server/service/activity/activity-search-key-item-type.ts +16 -0
  167. package/server/service/activity/activity-type.ts +28 -1
  168. package/server/service/activity/activity.ts +20 -2
  169. package/server/service/activity-approval/event-subscriber.ts +1 -1
  170. package/server/service/activity-instance/activity-instance-history.ts +41 -0
  171. package/server/service/activity-instance/activity-instance-query.ts +30 -1
  172. package/server/service/activity-instance/activity-instance.ts +41 -0
  173. package/server/service/activity-instance/event-subscriber.ts +4 -4
  174. package/server/service/activity-thread/activity-thread.ts +6 -3
  175. package/server/service/installable-activity/installable-activity-mutation.ts +1 -1
  176. package/server/service/installable-activity/installable-activity-query.ts +1 -1
  177. package/server/service/installable-activity/installable-activity.ts +3 -1
  178. package/things-factory.config.js +4 -1
  179. package/translations/en.json +4 -0
  180. package/translations/ko.json +4 -0
  181. package/translations/ms.json +4 -0
  182. package/translations/zh.json +4 -0
  183. /package/server/controllers/{call-webhook.ts → activity-installation/call-webhook.ts} +0 -0
@@ -15,7 +15,8 @@ import { CommonGristStyles, ScrollbarStyles } from '@operato/styles'
15
15
  import { isMobileDevice } from '@operato/utils'
16
16
  import { OxPopup } from '@operato/popup'
17
17
 
18
- import { ActivityInstanceStatus, Priorities } from '../../types.js'
18
+ import { ActivityInstanceStatus } from '../../types/activity-instance'
19
+ import { Priorities } from '../../types/types.js'
19
20
 
20
21
  const MIN = 60
21
22
  const HOUR = 60 * MIN
@@ -193,7 +194,17 @@ export class DraftListPage extends connect(store)(localize(i18next)(PageView)) {
193
194
  header: i18next.t('field.status'),
194
195
  record: {
195
196
  editable: false,
196
- options: ActivityInstanceStatus
197
+ options: [
198
+ { display: 'Draft', value: 'draft' },
199
+ { display: 'Posted', value: 'posted' },
200
+ { display: 'WaitingAssignment', value: 'waiting-assignment' },
201
+ { display: 'Assigned', value: 'assigned' },
202
+ { display: 'Started', value: 'started' },
203
+ { display: 'Pending', value: 'pending' },
204
+ { display: 'Escalated', value: 'escalated' },
205
+ { display: 'Ended', value: 'ended' },
206
+ { display: 'Aborted', value: 'aborted' }
207
+ ]
197
208
  },
198
209
  // filter: true,
199
210
  width: 60
@@ -14,7 +14,8 @@ import { navigate, PageView, store } from '@operato/shell'
14
14
  import { CommonGristStyles, ScrollbarStyles } from '@operato/styles'
15
15
  import { isMobileDevice, sleep } from '@operato/utils'
16
16
 
17
- import { ActivityInstanceStatus, Priorities } from '../../types.js'
17
+ import { ActivityInstanceStatus } from '../../types/activity-instance'
18
+ import { Priorities } from '../../types/types.js'
18
19
 
19
20
  const MIN = 60
20
21
  const HOUR = 60 * MIN
@@ -183,9 +184,19 @@ export class TodoListPage extends connect(store)(localize(i18next)(PageView)) {
183
184
  header: i18next.t('field.status'),
184
185
  record: {
185
186
  editable: false,
186
- options: ActivityInstanceStatus
187
+ options: [
188
+ { display: 'Draft', value: 'draft' },
189
+ { display: 'Posted', value: 'posted' },
190
+ { display: 'WaitingAssignment', value: 'waiting-assignment' },
191
+ { display: 'Assigned', value: 'assigned' },
192
+ { display: 'Started', value: 'started' },
193
+ { display: 'Pending', value: 'pending' },
194
+ { display: 'Escalated', value: 'escalated' },
195
+ { display: 'Ended', value: 'ended' },
196
+ { display: 'Aborted', value: 'aborted' }
197
+ ]
187
198
  },
188
- // filter: true,
199
+ filter: false,
189
200
  width: 60
190
201
  },
191
202
  {
package/client/route.ts CHANGED
@@ -60,6 +60,10 @@ export default function route(page: string) {
60
60
  import('./pages/activity-instance/activity-instance-list-page.js')
61
61
  return page
62
62
 
63
+ case 'activity-instance-search':
64
+ import('./pages/activity-instance/activity-instance-search-page.js')
65
+ return page
66
+
63
67
  case 'activity-template-list':
64
68
  import('./pages/activity-template/activity-template-list-page.js')
65
69
  return page
@@ -0,0 +1,123 @@
1
+ import { Role } from '@operato/shell'
2
+ import { ApprovalLineItem } from '@things-factory/organization'
3
+
4
+ import { ActivityType, ActivityUIType } from './activity'
5
+ import { AssigneeItem, ActivityInstance, ActivityInstanceStatus } from './activity-instance'
6
+
7
+ export class NewActivityInstance {
8
+ name?: string
9
+
10
+ activityId?: string
11
+
12
+ description?: string
13
+
14
+ priority?: number
15
+
16
+ reason?: string
17
+
18
+ threadsMin?: number
19
+
20
+ threadsMax?: number
21
+
22
+ dueAt?: Date
23
+
24
+ input?: { [key: string]: any }
25
+
26
+ adhocType?: string
27
+
28
+ refBy?: string
29
+
30
+ activityType?: ActivityType
31
+
32
+ uiType?: ActivityUIType
33
+
34
+ uiSource?: string
35
+
36
+ supervisoryRole?: Role
37
+
38
+ assigneeRole?: Role
39
+
40
+ assignees?: AssigneeItem[]
41
+
42
+ approvalLine?: ApprovalLineItem[]
43
+ }
44
+
45
+ export class ActivityInstancePost {
46
+ id?: string
47
+
48
+ name?: string
49
+
50
+ activityId?: string
51
+
52
+ description?: string
53
+
54
+ priority?: number
55
+
56
+ reason?: string
57
+
58
+ threadsMin?: number
59
+
60
+ threadsMax?: number
61
+
62
+ dueAt?: Date
63
+
64
+ input?: { [key: string]: any }
65
+
66
+ adhocType?: string
67
+
68
+ refBy?: string
69
+
70
+ activityType?: ActivityType
71
+
72
+ uiType?: ActivityUIType
73
+
74
+ uiSource?: string
75
+
76
+ supervisoryRole?: Role
77
+
78
+ assigneeRole?: Role
79
+
80
+ assignees?: AssigneeItem[]
81
+
82
+ approvalLine?: ApprovalLineItem[]
83
+ }
84
+
85
+ export class ActivityInstanceSave {
86
+ output?: { [key: string]: any }
87
+
88
+ assignees?: AssigneeItem[]
89
+
90
+ approvalLine?: ApprovalLineItem[]
91
+ }
92
+
93
+ export class ActivityInstancePatch {
94
+ id?: string
95
+
96
+ name?: string
97
+
98
+ description?: string
99
+
100
+ priority?: number
101
+
102
+ state?: ActivityInstanceStatus
103
+
104
+ threadsMin?: number
105
+
106
+ threadsMax?: number
107
+
108
+ dueAt?: Date
109
+
110
+ input?: { [key: string]: any }
111
+
112
+ assignees?: AssigneeItem[]
113
+
114
+ approvalLine?: ApprovalLineItem[]
115
+
116
+ cuFlag?: string
117
+ }
118
+
119
+ export class ActivityInstanceList {
120
+ items?: ActivityInstance[]
121
+
122
+ total?: number
123
+ }
@@ -0,0 +1,124 @@
1
+ import { Domain, User, Role } from '@operato/shell'
2
+ import { OrgMemberTargetType, OrgMemberTarget, ApprovalLineItem } from '@things-factory/organization'
3
+
4
+ import { ActivityThread } from './activity-thread'
5
+ import { Activity, ActivityType, ActivityUIType } from './activity'
6
+
7
+ export enum ActivityInstanceStatus {
8
+ Draft = 'draft',
9
+ Posted = 'posted',
10
+ WaitingAssignment = 'waiting-assignment',
11
+ Assigned = 'assigned',
12
+ Started = 'started',
13
+ Pending = 'pending',
14
+ Ended = 'ended',
15
+ Aborted = 'aborted'
16
+ }
17
+
18
+ export class AssigneeItem {
19
+ type?: OrgMemberTargetType
20
+
21
+ value?: string
22
+
23
+ assignee?: OrgMemberTarget
24
+ }
25
+
26
+ export class ActivityInstance {
27
+ id?: string
28
+
29
+ version?: number = 1
30
+
31
+ domain?: Domain
32
+
33
+ name?: string
34
+
35
+ description?: string
36
+
37
+ activityType?: ActivityType
38
+
39
+ adhocType?: string
40
+
41
+ key01?: string = ''
42
+
43
+ key02?: string = ''
44
+
45
+ key03?: string = ''
46
+
47
+ key04?: string = ''
48
+
49
+ key05?: string = ''
50
+
51
+ activityThreads?: ActivityThread[]
52
+
53
+ uiType?: ActivityUIType
54
+
55
+ uiSource?: string
56
+
57
+ priority?: number = 1
58
+
59
+ state?: ActivityInstanceStatus
60
+
61
+ reason?: string
62
+
63
+ threadsMin?: number = 0
64
+
65
+ threadsMax?: number = 0
66
+
67
+ input?: { [key: string]: any }
68
+
69
+ output?: { [key: string]: any }
70
+
71
+ refBy?: string
72
+
73
+ activity?: Activity
74
+
75
+ assigneeRole?: Role
76
+
77
+ supervisoryRole?: Role
78
+
79
+ dueAt?: Date
80
+
81
+ transaction?: string
82
+
83
+ assignees?: AssigneeItem[]
84
+
85
+ approvalLine?: ApprovalLineItem[]
86
+
87
+ createdAt?: Date
88
+
89
+ updatedAt?: Date
90
+
91
+ assignedAt?: Date
92
+
93
+ startedAt?: Date
94
+
95
+ terminatedAt?: Date
96
+
97
+ creator?: User
98
+
99
+ creatorId?: string
100
+
101
+ updater?: User
102
+
103
+ updaterId?: string
104
+
105
+ starter?: User
106
+
107
+ starterId?: string
108
+
109
+ terminator?: User
110
+
111
+ terminatorId?: string
112
+
113
+ thumbnail?: string
114
+
115
+ isDelegatable(): boolean {
116
+ switch (this.state) {
117
+ case ActivityInstanceStatus.Posted:
118
+ case ActivityInstanceStatus.Assigned:
119
+ return true
120
+ default:
121
+ return false
122
+ }
123
+ }
124
+ }
@@ -0,0 +1,40 @@
1
+ export enum ActivityModelItemInoutType {
2
+ in = 'in',
3
+ out = 'out',
4
+ inout = 'inout'
5
+ }
6
+
7
+ export enum ActivityModelItemType {
8
+ number = 'number',
9
+ text = 'text',
10
+ textarea = 'textarea',
11
+ boolean = 'boolean',
12
+ select = 'select',
13
+ file = 'file'
14
+ }
15
+
16
+ export class ActivityModelItem {
17
+ name?: string
18
+
19
+ description?: string
20
+
21
+ tag?: string
22
+
23
+ active?: boolean
24
+
25
+ hidden?: boolean
26
+
27
+ mandatory?: boolean
28
+
29
+ inout?: ActivityModelItemInoutType
30
+
31
+ type?: ActivityModelItemType
32
+
33
+ options?: { [option: string]: any }
34
+
35
+ unit?: string
36
+
37
+ quantifier?: number[]
38
+
39
+ spec?: { [key: string]: any }
40
+ }
@@ -0,0 +1,9 @@
1
+ export class ActivitySearchKeyItem {
2
+ name?: string
3
+
4
+ description?: string
5
+
6
+ inputKey?: string
7
+
8
+ tKey?: string
9
+ }
@@ -0,0 +1,19 @@
1
+ import { ActivityThread, ActivityThreadStatus } from './activity-thread'
2
+
3
+ export class ActivityThreadPatch {
4
+ id?: string
5
+
6
+ state?: ActivityThreadStatus
7
+
8
+ active?: boolean
9
+ }
10
+
11
+ export class ActivityThreadSave {
12
+ output?: { [key: string]: any }
13
+ }
14
+
15
+ export class ActivityThreadList {
16
+ items?: ActivityThread[]
17
+
18
+ total?: number
19
+ }
@@ -0,0 +1,88 @@
1
+ import { Domain, User } from '@operato/shell'
2
+
3
+ import { ActivityInstance } from './activity-instance'
4
+
5
+ export enum ActivityThreadStatus {
6
+ Assigned = 'assigned',
7
+ Started = 'started',
8
+ Delegated = 'delegated',
9
+ Submitted = 'submitted',
10
+ Escalated = 'escalated',
11
+ Rejected = 'rejected',
12
+ Ended = 'ended',
13
+ Aborted = 'aborted'
14
+ }
15
+
16
+ export class ActivityThread {
17
+ id?: string
18
+
19
+ domain?: Domain
20
+
21
+ version?: number = 1
22
+
23
+ activityInstance?: ActivityInstance
24
+
25
+ state?: ActivityThreadStatus
26
+
27
+ output?: { [key: string]: any }
28
+
29
+ assignee?: User
30
+
31
+ round?: number = 1
32
+
33
+ transaction?: string
34
+
35
+ dueAt?: Date
36
+
37
+ assignedAt?: Date
38
+
39
+ startedAt?: Date
40
+
41
+ terminatedAt?: Date
42
+
43
+ createdAt?: Date
44
+
45
+ updatedAt?: Date
46
+
47
+ creator?: User
48
+
49
+ updater?: User
50
+
51
+ terminator?: User
52
+
53
+ isPendingStarted(): boolean {
54
+ switch (this.state) {
55
+ case ActivityThreadStatus.Assigned:
56
+ return true
57
+ default:
58
+ return false
59
+ }
60
+ }
61
+
62
+ isPendingEnded(): boolean {
63
+ switch (this.state) {
64
+ case ActivityThreadStatus.Started:
65
+ case ActivityThreadStatus.Rejected:
66
+ case ActivityThreadStatus.Submitted:
67
+ return true
68
+ default:
69
+ return false
70
+ }
71
+ }
72
+
73
+ isValid(): boolean {
74
+ switch (this.state) {
75
+ case ActivityThreadStatus.Assigned:
76
+ case ActivityThreadStatus.Started:
77
+ case ActivityThreadStatus.Ended:
78
+ case ActivityThreadStatus.Rejected:
79
+ case ActivityThreadStatus.Escalated:
80
+ case ActivityThreadStatus.Aborted:
81
+ case ActivityThreadStatus.Submitted:
82
+ return true
83
+ case ActivityThreadStatus.Delegated:
84
+ default:
85
+ return false
86
+ }
87
+ }
88
+ }
@@ -0,0 +1,97 @@
1
+ import { Domain, User, Role } from '@operato/shell'
2
+ import { ApprovalLineItem, AssigneeItem } from '@things-factory/organization'
3
+
4
+ import { ActivityModelItem } from './activity-model-type'
5
+ import { ActivitySearchKeyItem } from './activity-search-key-item-type'
6
+
7
+ export enum ActivityStatus {
8
+ Draft = 'draft',
9
+ Released = 'released',
10
+ Deprecated = 'deprecated'
11
+ }
12
+
13
+ export enum ActivityType {
14
+ Task = 'task',
15
+ Service = 'service',
16
+ Send = 'send',
17
+ Receive = 'receive',
18
+ User = 'user',
19
+ Manual = 'manual',
20
+ BusinessRule = 'business-rule',
21
+ Script = 'script',
22
+ Subprocess = 'sub-process',
23
+ Call = 'call'
24
+ }
25
+
26
+ export enum ActivityUIType {
27
+ Generated = 'generated',
28
+ Template = 'template',
29
+ Board = 'board',
30
+ CustomElement = 'custom-element',
31
+ Page = 'page',
32
+ External = 'external'
33
+ }
34
+
35
+ export class Activity {
36
+ id?: string
37
+
38
+ version?: number = 1
39
+
40
+ domain?: Domain
41
+
42
+ name?: string
43
+
44
+ description?: string
45
+
46
+ activityType?: ActivityType
47
+
48
+ state?: ActivityStatus
49
+
50
+ searchKeys?: ActivitySearchKeyItem[]
51
+
52
+ model?: ActivityModelItem[]
53
+
54
+ priority?: number = 1
55
+
56
+ startable?: boolean
57
+
58
+ schedule?: string
59
+
60
+ standardTime?: number
61
+
62
+ cycleTime?: number
63
+
64
+ tactTime?: number
65
+
66
+ leadTime?: number
67
+
68
+ issuerRole?: Role
69
+
70
+ assigneeRole?: Role
71
+
72
+ supervisoryRole?: Role
73
+
74
+ assignees?: AssigneeItem[]
75
+
76
+ approvalLine?: ApprovalLineItem[]
77
+
78
+ uiType?: ActivityUIType
79
+
80
+ uiSource?: string
81
+
82
+ reportType?: ActivityUIType
83
+
84
+ reportSource?: string
85
+
86
+ createdAt?: Date
87
+
88
+ updatedAt?: Date
89
+
90
+ client?: User
91
+
92
+ creator?: User
93
+
94
+ updater?: User
95
+
96
+ thumbnail?: string
97
+ }
@@ -1,12 +1,3 @@
1
- export const ActivityInstanceStatus = [
2
- { display: '', value: '' },
3
- { display: 'posted', value: 'posted' },
4
- { display: 'Assigned', value: 'assigned' },
5
- { display: 'Started', value: 'started' },
6
- { display: 'Ended', value: 'ended' },
7
- { display: 'Aborted', value: 'aborted' }
8
- ]
9
-
10
1
  export const Priorities = [
11
2
  { display: '', value: '' },
12
3
  { display: 'Emergency', value: 3 },
@@ -5,11 +5,12 @@ import { html } from 'lit-html';
5
5
  import { store } from '@operato/shell';
6
6
  import { openOverlay, TOOL_POSITION } from '@operato/layout';
7
7
  import { APPEND_CONTEXT_TOOL } from '@things-factory/context-ui';
8
- import { registerEditor as registerGristEditor, registerRenderer as registerGristRenderer } from '@operato/data-grist';
8
+ import { OxGristRendererJson5, registerEditor as registerGristEditor, registerRenderer as registerGristRenderer } from '@operato/data-grist';
9
9
  import { OxGristEditorDuration } from '@operato/grist-editor/ox-grist-editor-duration.js';
10
10
  import { OxGristEditorQuantifier } from '@operato/grist-editor/ox-grist-editor-quantifier.js';
11
11
  import { OxGristRendererDuration } from '@operato/grist-editor/ox-grist-renderer-duration.js';
12
12
  import { OxGristRendererQuantifier } from '@operato/grist-editor/ox-grist-renderer-quantifier.js';
13
+ import { GristEditorActivitySearchKeys } from './grist-editor/grist-editor-activity-search-key.js';
13
14
  export default function bootstrap() {
14
15
  ;
15
16
  [
@@ -44,5 +45,7 @@ export default function bootstrap() {
44
45
  registerGristRenderer('duration', OxGristRendererDuration);
45
46
  registerGristEditor('quantifier', OxGristEditorQuantifier);
46
47
  registerGristRenderer('quantifier', OxGristRendererQuantifier);
48
+ registerGristEditor('activity-search-keys', GristEditorActivitySearchKeys);
49
+ registerGristRenderer('activity-search-keys', OxGristRendererJson5);
47
50
  }
48
51
  //# sourceMappingURL=bootstrap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../client/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAA;AAC3B,OAAO,mDAAmD,CAAA;AAC1D,OAAO,iDAAiD,CAAA;AAExD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAEhE,OAAO,EAAE,cAAc,IAAI,mBAAmB,EAAE,gBAAgB,IAAI,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AACtH,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAA;AACzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAA;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAA;AAC7F,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAA;AAEjG,MAAM,CAAC,OAAO,UAAU,SAAS;IAC/B,CAAC;IAAA;QACC;YACE,QAAQ,EAAE,IAAI,CAAA,6EAA6E;YAC3F,OAAO,EAAE,kBAAkB;SAC5B;QACD;YACE,QAAQ,EAAE,IAAI,CAAA,yEAAyE;YACvF,OAAO,EAAE,gBAAgB;SAC1B;KACF,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAClC,KAAK,CAAC,QAAQ,CAAC;YACb,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE;gBACJ,QAAQ,EAAE,aAAa,CAAC,KAAK;gBAC7B,QAAQ,EAAE,IAAI,CAAA;;qBAED,KAAK,EAAC,CAAC,EAAC,EAAE;oBACjB,WAAW,CAAC,yBAAyB,EAAE;wBACrC,QAAQ;qBACT,CAAC,CAAA;gBACJ,CAAC;;;SAGJ;gBACD,OAAO;aACR;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,mBAAmB,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAA;IACtD,qBAAqB,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAA;IAC1D,mBAAmB,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAA;IAC1D,qBAAqB,CAAC,YAAY,EAAE,yBAAyB,CAAC,CAAA;AAChE,CAAC","sourcesContent":["import '@material/mwc-icon'\nimport './templates/activity-approval-context-template.js'\nimport './templates/activity-thread-context-template.js'\n\nimport { html } from 'lit-html'\nimport { store } from '@operato/shell'\nimport { openOverlay, TOOL_POSITION } from '@operato/layout'\nimport { APPEND_CONTEXT_TOOL } from '@things-factory/context-ui'\n\nimport { registerEditor as registerGristEditor, registerRenderer as registerGristRenderer } from '@operato/data-grist'\nimport { OxGristEditorDuration } from '@operato/grist-editor/ox-grist-editor-duration.js'\nimport { OxGristEditorQuantifier } from '@operato/grist-editor/ox-grist-editor-quantifier.js'\nimport { OxGristRendererDuration } from '@operato/grist-editor/ox-grist-renderer-duration.js'\nimport { OxGristRendererQuantifier } from '@operato/grist-editor/ox-grist-renderer-quantifier.js'\n\nexport default function bootstrap() {\n ;[\n {\n template: html` <activity-approval-context-template></activity-approval-context-template> `,\n context: 'activityApproval'\n },\n {\n template: html` <activity-thread-context-template></activity-thread-context-template> `,\n context: 'activityThread'\n }\n ].forEach(({ template, context }) => {\n store.dispatch({\n type: APPEND_CONTEXT_TOOL,\n tool: {\n position: TOOL_POSITION.FRONT,\n template: html`\n <mwc-icon\n @click=${async e => {\n openOverlay('context-toolbar-overlay', {\n template\n })\n }}\n >info</mwc-icon\n >\n `,\n context\n }\n })\n })\n\n registerGristEditor('duration', OxGristEditorDuration)\n registerGristRenderer('duration', OxGristRendererDuration)\n registerGristEditor('quantifier', OxGristEditorQuantifier)\n registerGristRenderer('quantifier', OxGristRendererQuantifier)\n}\n"]}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../client/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAA;AAC3B,OAAO,mDAAmD,CAAA;AAC1D,OAAO,iDAAiD,CAAA;AAExD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAEhE,OAAO,EACL,oBAAoB,EACpB,cAAc,IAAI,mBAAmB,EACrC,gBAAgB,IAAI,qBAAqB,EAC1C,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAA;AACzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAA;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAA;AAC7F,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAA;AACjG,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAA;AAElG,MAAM,CAAC,OAAO,UAAU,SAAS;IAC/B,CAAC;IAAA;QACC;YACE,QAAQ,EAAE,IAAI,CAAA,6EAA6E;YAC3F,OAAO,EAAE,kBAAkB;SAC5B;QACD;YACE,QAAQ,EAAE,IAAI,CAAA,yEAAyE;YACvF,OAAO,EAAE,gBAAgB;SAC1B;KACF,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAClC,KAAK,CAAC,QAAQ,CAAC;YACb,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE;gBACJ,QAAQ,EAAE,aAAa,CAAC,KAAK;gBAC7B,QAAQ,EAAE,IAAI,CAAA;;qBAED,KAAK,EAAC,CAAC,EAAC,EAAE;oBACjB,WAAW,CAAC,yBAAyB,EAAE;wBACrC,QAAQ;qBACT,CAAC,CAAA;gBACJ,CAAC;;;SAGJ;gBACD,OAAO;aACR;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,mBAAmB,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAA;IACtD,qBAAqB,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAA;IAC1D,mBAAmB,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAA;IAC1D,qBAAqB,CAAC,YAAY,EAAE,yBAAyB,CAAC,CAAA;IAE9D,mBAAmB,CAAC,sBAAsB,EAAE,6BAA6B,CAAC,CAAA;IAC1E,qBAAqB,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAAA;AACrE,CAAC","sourcesContent":["import '@material/mwc-icon'\nimport './templates/activity-approval-context-template.js'\nimport './templates/activity-thread-context-template.js'\n\nimport { html } from 'lit-html'\nimport { store } from '@operato/shell'\nimport { openOverlay, TOOL_POSITION } from '@operato/layout'\nimport { APPEND_CONTEXT_TOOL } from '@things-factory/context-ui'\n\nimport {\n OxGristRendererJson5,\n registerEditor as registerGristEditor,\n registerRenderer as registerGristRenderer\n} from '@operato/data-grist'\nimport { OxGristEditorDuration } from '@operato/grist-editor/ox-grist-editor-duration.js'\nimport { OxGristEditorQuantifier } from '@operato/grist-editor/ox-grist-editor-quantifier.js'\nimport { OxGristRendererDuration } from '@operato/grist-editor/ox-grist-renderer-duration.js'\nimport { OxGristRendererQuantifier } from '@operato/grist-editor/ox-grist-renderer-quantifier.js'\nimport { GristEditorActivitySearchKeys } from './grist-editor/grist-editor-activity-search-key.js'\n\nexport default function bootstrap() {\n ;[\n {\n template: html` <activity-approval-context-template></activity-approval-context-template> `,\n context: 'activityApproval'\n },\n {\n template: html` <activity-thread-context-template></activity-thread-context-template> `,\n context: 'activityThread'\n }\n ].forEach(({ template, context }) => {\n store.dispatch({\n type: APPEND_CONTEXT_TOOL,\n tool: {\n position: TOOL_POSITION.FRONT,\n template: html`\n <mwc-icon\n @click=${async e => {\n openOverlay('context-toolbar-overlay', {\n template\n })\n }}\n >info</mwc-icon\n >\n `,\n context\n }\n })\n })\n\n registerGristEditor('duration', OxGristEditorDuration)\n registerGristRenderer('duration', OxGristRendererDuration)\n registerGristEditor('quantifier', OxGristEditorQuantifier)\n registerGristRenderer('quantifier', OxGristRendererQuantifier)\n\n registerGristEditor('activity-search-keys', GristEditorActivitySearchKeys)\n registerGristRenderer('activity-search-keys', OxGristRendererJson5)\n}\n"]}
@@ -7,7 +7,7 @@ declare const ActivityStarterForm_base: (new (...args: any[]) => LitElement) & t
7
7
  export declare class ActivityStarterForm extends ActivityStarterForm_base {
8
8
  static styles: import("lit").CSSResult[];
9
9
  activityId?: string;
10
- activity?: any;
10
+ activity: any;
11
11
  activityInstance: any;
12
12
  render(): import("lit-html").TemplateResult<1>;
13
13
  firstUpdated(): void;