@things-factory/worklist 6.0.42 → 6.0.45

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 (143) hide show
  1. package/client/pages/activity-stats/activity-stats-importer.ts +97 -0
  2. package/client/pages/activity-stats/activity-stats-list-page.ts +348 -0
  3. package/client/pages/todo/approval-done-list-page.ts +340 -0
  4. package/client/pages/todo/approval-pending-list-page.ts +1 -1
  5. package/client/pages/todo/done-list-calendar-page.ts +115 -0
  6. package/client/pages/todo/done-list-page.ts +2 -3
  7. package/client/pages/todo/pickable-list-page.ts +2 -1
  8. package/client/pages/todo/todo-list-page.ts +1 -1
  9. package/client/route.ts +12 -0
  10. package/client/themes/calendar-theme.css +54 -0
  11. package/dist-client/pages/activity-stats/activity-stats-importer.d.ts +22 -0
  12. package/dist-client/pages/activity-stats/activity-stats-importer.js +100 -0
  13. package/dist-client/pages/activity-stats/activity-stats-importer.js.map +1 -0
  14. package/dist-client/pages/activity-stats/activity-stats-list-page.d.ts +62 -0
  15. package/dist-client/pages/activity-stats/activity-stats-list-page.js +326 -0
  16. package/dist-client/pages/activity-stats/activity-stats-list-page.js.map +1 -0
  17. package/dist-client/pages/todo/approval-done-list-page.d.ts +39 -0
  18. package/dist-client/pages/todo/approval-done-list-page.js +338 -0
  19. package/dist-client/pages/todo/approval-done-list-page.js.map +1 -0
  20. package/dist-client/pages/todo/approval-pending-list-page.js +1 -1
  21. package/dist-client/pages/todo/approval-pending-list-page.js.map +1 -1
  22. package/dist-client/pages/todo/done-list-calendar-page.d.ts +24 -0
  23. package/dist-client/pages/todo/done-list-calendar-page.js +107 -0
  24. package/dist-client/pages/todo/done-list-calendar-page.js.map +1 -0
  25. package/dist-client/pages/todo/done-list-page.js +2 -3
  26. package/dist-client/pages/todo/done-list-page.js.map +1 -1
  27. package/dist-client/pages/todo/pickable-list-page.d.ts +1 -0
  28. package/dist-client/pages/todo/pickable-list-page.js +2 -1
  29. package/dist-client/pages/todo/pickable-list-page.js.map +1 -1
  30. package/dist-client/pages/todo/todo-list-page.js +1 -1
  31. package/dist-client/pages/todo/todo-list-page.js.map +1 -1
  32. package/dist-client/route.d.ts +1 -1
  33. package/dist-client/route.js +9 -0
  34. package/dist-client/route.js.map +1 -1
  35. package/dist-client/tsconfig.tsbuildinfo +1 -1
  36. package/dist-server/controllers/activity-approval/_abort.js +11 -0
  37. package/dist-server/controllers/activity-approval/_abort.js.map +1 -0
  38. package/dist-server/controllers/activity-approval/abort.js +34 -0
  39. package/dist-server/controllers/activity-approval/abort.js.map +1 -0
  40. package/dist-server/controllers/activity-approval/approve.js +10 -0
  41. package/dist-server/controllers/activity-approval/approve.js.map +1 -1
  42. package/dist-server/controllers/activity-approval/delegate.js +10 -0
  43. package/dist-server/controllers/activity-approval/delegate.js.map +1 -1
  44. package/dist-server/controllers/activity-approval/reject.js +10 -0
  45. package/dist-server/controllers/activity-approval/reject.js.map +1 -1
  46. package/dist-server/controllers/activity-instance/abort.js +35 -1
  47. package/dist-server/controllers/activity-instance/abort.js.map +1 -1
  48. package/dist-server/controllers/activity-instance/adjust-xxx.js +16 -0
  49. package/dist-server/controllers/activity-instance/adjust-xxx.js.map +1 -0
  50. package/dist-server/controllers/activity-instance/assign.js +11 -0
  51. package/dist-server/controllers/activity-instance/assign.js.map +1 -1
  52. package/dist-server/controllers/activity-instance/end.js +34 -1
  53. package/dist-server/controllers/activity-instance/end.js.map +1 -1
  54. package/dist-server/controllers/activity-instance/index.js +0 -4
  55. package/dist-server/controllers/activity-instance/index.js.map +1 -1
  56. package/dist-server/controllers/activity-instance/pick.js +11 -0
  57. package/dist-server/controllers/activity-instance/pick.js.map +1 -1
  58. package/dist-server/controllers/activity-instance/post.js +10 -0
  59. package/dist-server/controllers/activity-instance/post.js.map +1 -1
  60. package/dist-server/controllers/activity-instance/start-xxx.js +16 -0
  61. package/dist-server/controllers/activity-instance/start-xxx.js.map +1 -0
  62. package/dist-server/controllers/activity-instance/terminate-xxx.js +25 -0
  63. package/dist-server/controllers/activity-instance/terminate-xxx.js.map +1 -0
  64. package/dist-server/controllers/activity-thread/_abort.js +29 -0
  65. package/dist-server/controllers/activity-thread/_abort.js.map +1 -0
  66. package/dist-server/controllers/activity-thread/abort.js +15 -2
  67. package/dist-server/controllers/activity-thread/abort.js.map +1 -1
  68. package/dist-server/controllers/activity-thread/delegate.js +10 -0
  69. package/dist-server/controllers/activity-thread/delegate.js.map +1 -1
  70. package/dist-server/controllers/activity-thread/end.js +12 -0
  71. package/dist-server/controllers/activity-thread/end.js.map +1 -1
  72. package/dist-server/controllers/activity-thread/index.js +0 -2
  73. package/dist-server/controllers/activity-thread/index.js.map +1 -1
  74. package/dist-server/controllers/activity-thread/restart.js +11 -0
  75. package/dist-server/controllers/activity-thread/restart.js.map +1 -1
  76. package/dist-server/controllers/activity-thread/save.js +13 -0
  77. package/dist-server/controllers/activity-thread/save.js.map +1 -1
  78. package/dist-server/controllers/activity-thread/start.js +10 -0
  79. package/dist-server/controllers/activity-thread/start.js.map +1 -1
  80. package/dist-server/controllers/activity-thread/submit.js +10 -0
  81. package/dist-server/controllers/activity-thread/submit.js.map +1 -1
  82. package/dist-server/service/activity-approval/activity-approval-query.js +48 -0
  83. package/dist-server/service/activity-approval/activity-approval-query.js.map +1 -1
  84. package/dist-server/service/activity-approval/activity-approval.js +1 -1
  85. package/dist-server/service/activity-approval/activity-approval.js.map +1 -1
  86. package/dist-server/service/activity-instance/activity-instance-mutation.js +0 -29
  87. package/dist-server/service/activity-instance/activity-instance-mutation.js.map +1 -1
  88. package/dist-server/service/activity-stats/activity-stats-query.js +93 -0
  89. package/dist-server/service/activity-stats/activity-stats-query.js.map +1 -0
  90. package/dist-server/service/activity-stats/activity-stats-type.js +47 -0
  91. package/dist-server/service/activity-stats/activity-stats-type.js.map +1 -0
  92. package/dist-server/service/activity-stats/index.js +6 -0
  93. package/dist-server/service/activity-stats/index.js.map +1 -0
  94. package/dist-server/service/activity-summary/activity-summary-query.js +4 -22
  95. package/dist-server/service/activity-summary/activity-summary-query.js.map +1 -1
  96. package/dist-server/service/index.js +2 -0
  97. package/dist-server/service/index.js.map +1 -1
  98. package/dist-server/tsconfig.tsbuildinfo +1 -1
  99. package/helps/worklist/activity-bank.md +22 -0
  100. package/helps/worklist/{activity-approval.md → activity-stats.md} +1 -1
  101. package/helps/worklist/draft-list.md +15 -0
  102. package/helps/worklist/worklist-concept.md +72 -0
  103. package/package.json +10 -9
  104. package/server/controllers/activity-approval/_abort.ts +20 -0
  105. package/server/controllers/activity-approval/abort.ts +44 -0
  106. package/server/controllers/activity-approval/approve.ts +13 -0
  107. package/server/controllers/activity-approval/delegate.ts +13 -0
  108. package/server/controllers/activity-approval/reject.ts +13 -0
  109. package/server/controllers/activity-instance/abort.ts +46 -2
  110. package/server/controllers/activity-instance/assign.ts +17 -1
  111. package/server/controllers/activity-instance/end.ts +45 -2
  112. package/server/controllers/activity-instance/index.ts +0 -4
  113. package/server/controllers/activity-instance/pick.ts +17 -1
  114. package/server/controllers/activity-instance/post.ts +13 -0
  115. package/server/controllers/activity-thread/_abort.ts +43 -0
  116. package/server/controllers/activity-thread/abort.ts +20 -10
  117. package/server/controllers/activity-thread/delegate.ts +13 -0
  118. package/server/controllers/activity-thread/end.ts +17 -0
  119. package/server/controllers/activity-thread/index.ts +0 -2
  120. package/server/controllers/activity-thread/restart.ts +14 -0
  121. package/server/controllers/activity-thread/save.ts +18 -0
  122. package/server/controllers/activity-thread/start.ts +13 -0
  123. package/server/controllers/activity-thread/submit.ts +13 -0
  124. package/server/service/activity-approval/activity-approval-query.ts +45 -1
  125. package/server/service/activity-approval/activity-approval.ts +1 -1
  126. package/server/service/activity-instance/activity-instance-mutation.ts +1 -23
  127. package/server/service/activity-stats/activity-stats-query.ts +94 -0
  128. package/server/service/activity-stats/activity-stats-type.ts +34 -0
  129. package/server/service/activity-stats/index.ts +3 -0
  130. package/server/service/activity-summary/activity-summary-query.ts +4 -22
  131. package/server/service/index.ts +2 -0
  132. package/things-factory.config.js +4 -1
  133. package/translations/en.json +10 -0
  134. package/translations/ko.json +12 -2
  135. package/translations/ms.json +10 -0
  136. package/translations/zh.json +10 -0
  137. package/server/controllers/activity-instance/adjust.ts +0 -25
  138. package/server/controllers/activity-instance/bid.ts +0 -52
  139. package/server/controllers/activity-instance/delegate.ts +0 -56
  140. package/server/controllers/activity-instance/start.ts +0 -20
  141. package/server/controllers/activity-instance/terminate.ts +0 -39
  142. package/server/controllers/activity-thread/adjust.ts +0 -40
  143. package/server/controllers/activity-thread/terminate.ts +0 -37
@@ -1,52 +0,0 @@
1
- import { In } from 'typeorm'
2
-
3
- import { User } from '@things-factory/auth-base'
4
-
5
- import { ActivityInstance, ActivityInstanceStatus } from '../../service/activity-instance/activity-instance'
6
- import { ActivityInstancePost } from '../../service/activity-instance/activity-instance-type'
7
- import { createActivityThreadsForAllRoleUsers, createActivityThreadsForUsers } from '../common'
8
-
9
- export async function bid(activityInstance: ActivityInstancePost, context: ResolverContext): Promise<ActivityInstance> {
10
- const { domain, user, tx } = context.state
11
- const { id, assignees } = activityInstance
12
-
13
- var origin = id
14
- ? await tx.getRepository(ActivityInstance).findOne({
15
- where: { domain: { id: domain.id }, id },
16
- relations: [
17
- 'domain',
18
- 'activity',
19
- 'assigneeRole',
20
- 'supervisoryRole',
21
- 'updater',
22
- 'creator',
23
- 'starter',
24
- 'terminator'
25
- ]
26
- })
27
- : null
28
-
29
- const bid = await tx.getRepository(ActivityInstance).save({
30
- ...origin,
31
- ...activityInstance,
32
- transaction: 'bid',
33
- state: ActivityInstanceStatus.Posted,
34
- domain,
35
- creator: user,
36
- updater: user
37
- })
38
-
39
- const assignedUsers = await tx.getRepository(User).findBy({
40
- email: In(assignees || [])
41
- })
42
-
43
- if (bid.threadsMin === 0 && bid.assigneeRoleId) {
44
- await createActivityThreadsForAllRoleUsers('post', bid, context)
45
- }
46
-
47
- if (assignedUsers.length > 0) {
48
- await createActivityThreadsForUsers('post', bid, assignedUsers, context)
49
- }
50
-
51
- return await tx.getRepository(ActivityInstance).findOneBy({ id: bid.id })
52
- }
@@ -1,56 +0,0 @@
1
- import { ActivityInstance, ActivityInstanceStatus } from '../../service/activity-instance/activity-instance'
2
- import { evalActivityInstanceState } from '../common'
3
-
4
- export async function delegate(
5
- {
6
- id,
7
- assigneeRole,
8
- dueAt,
9
- reason
10
- }: {
11
- id: string
12
- assigneeRole?: object
13
- dueAt?: Date
14
- reason?: string
15
- },
16
- context: any
17
- ): Promise<ActivityInstance> {
18
- const { domain, user, tx } = context.state
19
-
20
- const repository = tx.getRepository(ActivityInstance)
21
-
22
- var activityInstance = await repository.findOne({
23
- where: { domain: { id: domain.id }, id },
24
- relations: ['domain', 'activity', 'assigneeRole', 'supervisoryRole', 'updater', 'creator', 'starter', 'terminator']
25
- })
26
-
27
- if (!activityInstance) {
28
- throw new Error(
29
- context.t('error.activity-instance not found', {
30
- activityInstance: id
31
- })
32
- )
33
- }
34
-
35
- if (!activityInstance.isDelegatable()) {
36
- throw new Error(
37
- context.t('error.activity-instance not delegatable', {
38
- activityInstance: id
39
- })
40
- )
41
- }
42
-
43
- if (dueAt) {
44
- activityInstance.dueAt = dueAt
45
- }
46
-
47
- return await repository.save({
48
- ...activityInstance,
49
- reason,
50
- assigneeRole,
51
- transaction: 'delegate',
52
- state: await evalActivityInstanceState(id, context),
53
- updater: user,
54
- assignedAt: new Date()
55
- })
56
- }
@@ -1,20 +0,0 @@
1
- import { ActivityInstance } from '../../service/activity-instance/activity-instance'
2
- import { evalActivityInstanceState } from '../common'
3
-
4
- export async function start(id: string, context: ResolverContext): Promise<ActivityInstance> {
5
- const { domain, user, tx } = context.state
6
-
7
- const repository = tx.getRepository(ActivityInstance)
8
- const activityInstance = await repository.findOne({
9
- where: { domain: { id: domain.id }, id },
10
- relations: ['domain', 'activity', 'assigneeRole', 'supervisoryRole', 'updater', 'creator', 'starter', 'terminator']
11
- })
12
-
13
- return await repository.save({
14
- ...activityInstance,
15
- transaction: 'start',
16
- ...(await evalActivityInstanceState(id, context)),
17
- updater: user,
18
- startedAt: new Date()
19
- })
20
- }
@@ -1,39 +0,0 @@
1
- import { ActivityInstance } from '../../service/activity-instance/activity-instance'
2
- import { evalActivityInstanceState } from '../common'
3
-
4
- export async function terminate(
5
- { id, output, reason }: { id: string; output?: object; reason?: string },
6
- context: any
7
- ): Promise<ActivityInstance> {
8
- const { domain, user, tx } = context.state
9
-
10
- const repository = tx.getRepository(ActivityInstance)
11
-
12
- var activityInstance = await repository.findOne({
13
- where: { domain: { id: domain.id }, id },
14
- relations: ['domain', 'activity', 'assigneeRole', 'supervisoryRole', 'updater', 'creator', 'starter', 'terminator']
15
- })
16
-
17
- if (!activityInstance) {
18
- throw new Error(
19
- context.t('error.activity-instance not found', {
20
- activityInstance: id
21
- })
22
- )
23
- }
24
-
25
- if (!activityInstance.startedAt) {
26
- activityInstance.startedAt = new Date()
27
- }
28
-
29
- return await repository.save({
30
- ...activityInstance,
31
- reason,
32
- output,
33
- transaction: 'terminate',
34
- state: await evalActivityInstanceState(id, context),
35
- updater: user,
36
- terminatedAt: new Date(),
37
- terminator: user
38
- })
39
- }
@@ -1,40 +0,0 @@
1
- import { ActivityThread } from '../../service/activity-thread/activity-thread'
2
- import { ActivityThreadPatch } from '../../service/activity-thread/activity-thread-type'
3
- import { updateActivityInstanceState } from '../common'
4
-
5
- export async function adjust(
6
- id: string,
7
- patch: ActivityThreadPatch,
8
- context: ResolverContext
9
- ): Promise<ActivityThread> {
10
- const { domain, user, tx } = context.state
11
- const repository = tx.getRepository(ActivityThread)
12
-
13
- const activityThread = await repository.findOne({
14
- where: { domain: { id: domain.id }, id },
15
- relations: ['domain', 'activityInstance', 'assignee', 'creator', 'updater']
16
- })
17
-
18
- if (!activityThread) {
19
- throw new Error(
20
- context.t('error.activity-thread not found', {
21
- activityThread: id
22
- })
23
- )
24
- }
25
-
26
- if (!activityThread.startedAt) {
27
- activityThread.startedAt = new Date()
28
- }
29
-
30
- const result = await repository.save({
31
- ...activityThread,
32
- ...patch,
33
- transaction: 'adjust',
34
- updater: user
35
- })
36
-
37
- await updateActivityInstanceState(activityThread.activityInstanceId, context)
38
-
39
- return result
40
- }
@@ -1,37 +0,0 @@
1
- import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'
2
- import { updateActivityInstanceState } from '../common'
3
-
4
- export async function terminate(
5
- { id, output, reason }: { id: string; output?: object; reason?: string },
6
- context: any
7
- ): Promise<ActivityThread> {
8
- const { domain, user, tx } = context.state
9
- var repository = tx.getRepository(ActivityThread)
10
-
11
- var activityThread = await repository.findOne({
12
- where: { domain: { id: domain.id }, id }
13
- })
14
-
15
- if (!activityThread) {
16
- throw new Error(
17
- context.t('error.activity-thread not found', {
18
- activityThread: id
19
- })
20
- )
21
- }
22
-
23
- const result = await repository.save({
24
- ...activityThread,
25
- reason,
26
- output,
27
- transaction: 'terminate',
28
- state: ActivityThreadStatus.Ended,
29
- updater: user,
30
- terminatedAt: new Date(),
31
- terminator: user
32
- })
33
-
34
- await updateActivityInstanceState(activityThread.activityInstanceId, context)
35
-
36
- return result
37
- }