@things-factory/worklist 6.0.37 → 6.0.40
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.
- package/client/activity-summary-generator.ts +5 -5
- package/client/bootstrap.ts +3 -6
- package/client/grist-editor/grist-editor-activity-search-key.ts +3 -2
- package/client/grist-editor/grist-renderer-activity-search-key.ts +25 -0
- package/client/pages/activity/activity-list-page.ts +25 -52
- package/client/pages/activity/activity-page.ts +1 -1
- package/client/pages/activity/activity-partial-view.ts +0 -3
- package/client/pages/activity/starter-list-page.ts +0 -1
- package/client/pages/activity-instance/activity-instance-list-page.ts +8 -3
- package/client/pages/activity-instance/activity-instance-page.ts +2 -2
- package/client/pages/activity-thread/activity-thread-page.ts +4 -11
- package/client/pages/installable-activity/installable-activity-list-page.ts +19 -26
- package/client/pages/todo/{approval-waiting-list-page.ts → approval-pending-list-page.ts} +14 -23
- package/client/pages/todo/done-list-page.ts +23 -22
- package/client/pages/todo/draft-list-page.ts +16 -14
- package/client/pages/todo/pickable-list-page.ts +24 -26
- package/client/pages/todo/todo-list-page.ts +34 -19
- package/client/route.ts +2 -6
- package/client/types/activity-instance.ts +1 -1
- package/client/types/activity.ts +0 -6
- package/dist-client/activity-summary-generator.js +5 -5
- package/dist-client/activity-summary-generator.js.map +1 -1
- package/dist-client/bootstrap.js +3 -2
- package/dist-client/bootstrap.js.map +1 -1
- package/dist-client/grist-editor/grist-editor-activity-search-key.js +3 -2
- package/dist-client/grist-editor/grist-editor-activity-search-key.js.map +1 -1
- package/dist-client/grist-editor/grist-renderer-activity-search-key.d.ts +3 -0
- package/dist-client/grist-editor/grist-renderer-activity-search-key.js +22 -0
- package/dist-client/grist-editor/grist-renderer-activity-search-key.js.map +1 -0
- package/dist-client/pages/activity/activity-list-page.js +25 -52
- package/dist-client/pages/activity/activity-list-page.js.map +1 -1
- package/dist-client/pages/activity/activity-page.d.ts +1 -1
- package/dist-client/pages/activity/activity-page.js +1 -1
- package/dist-client/pages/activity/activity-page.js.map +1 -1
- package/dist-client/pages/activity/activity-partial-view.js +1 -1
- package/dist-client/pages/activity/activity-partial-view.js.map +1 -1
- package/dist-client/pages/activity/starter-list-page.js +0 -1
- package/dist-client/pages/activity/starter-list-page.js.map +1 -1
- package/dist-client/pages/activity-instance/activity-instance-list-page.js +8 -3
- package/dist-client/pages/activity-instance/activity-instance-list-page.js.map +1 -1
- package/dist-client/pages/activity-instance/activity-instance-page.d.ts +1 -1
- package/dist-client/pages/activity-instance/activity-instance-page.js +2 -2
- package/dist-client/pages/activity-instance/activity-instance-page.js.map +1 -1
- package/dist-client/pages/activity-thread/activity-thread-page.js +4 -6
- package/dist-client/pages/activity-thread/activity-thread-page.js.map +1 -1
- package/dist-client/pages/installable-activity/installable-activity-list-page.d.ts +0 -1
- package/dist-client/pages/installable-activity/installable-activity-list-page.js +17 -24
- package/dist-client/pages/installable-activity/installable-activity-list-page.js.map +1 -1
- package/dist-client/pages/todo/approval-pending-list-page.d.ts +40 -0
- package/dist-client/pages/todo/approval-pending-list-page.js +360 -0
- package/dist-client/pages/todo/approval-pending-list-page.js.map +1 -0
- package/dist-client/pages/todo/approval-waiting-list-page.js +9 -15
- package/dist-client/pages/todo/approval-waiting-list-page.js.map +1 -1
- package/dist-client/pages/todo/assigned-list-page.js +0 -1
- package/dist-client/pages/todo/assigned-list-page.js.map +1 -1
- package/dist-client/pages/todo/done-list-page.js +22 -21
- package/dist-client/pages/todo/done-list-page.js.map +1 -1
- package/dist-client/pages/todo/draft-list-page.js +16 -15
- package/dist-client/pages/todo/draft-list-page.js.map +1 -1
- package/dist-client/pages/todo/pickable-list-page.js +26 -31
- package/dist-client/pages/todo/pickable-list-page.js.map +1 -1
- package/dist-client/pages/todo/todo-list-page.js +34 -20
- package/dist-client/pages/todo/todo-list-page.js.map +1 -1
- package/dist-client/route.d.ts +1 -1
- package/dist-client/route.js +2 -5
- package/dist-client/route.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-client/types/activity-instance.d.ts +1 -1
- package/dist-client/types/activity-instance.js +1 -1
- package/dist-client/types/activity-instance.js.map +1 -1
- package/dist-client/types/activity.d.ts +0 -3
- package/dist-client/types/activity.js.map +1 -1
- package/dist-server/controllers/activity-instance/end.js +3 -0
- package/dist-server/controllers/activity-instance/end.js.map +1 -1
- package/dist-server/controllers/activity-instance/post.js +2 -1
- package/dist-server/controllers/activity-instance/post.js.map +1 -1
- package/dist-server/controllers/activity-instance/terminate.js +3 -0
- package/dist-server/controllers/activity-instance/terminate.js.map +1 -1
- package/dist-server/controllers/activity-thread/abort.js +5 -2
- package/dist-server/controllers/activity-thread/abort.js.map +1 -1
- package/dist-server/controllers/activity-thread/adjust.js +8 -0
- package/dist-server/controllers/activity-thread/adjust.js.map +1 -1
- package/dist-server/controllers/activity-thread/end.js +5 -2
- package/dist-server/controllers/activity-thread/end.js.map +1 -1
- package/dist-server/controllers/activity-thread/save.js +7 -4
- package/dist-server/controllers/activity-thread/save.js.map +1 -1
- package/dist-server/controllers/activity-thread/submit.js +6 -3
- package/dist-server/controllers/activity-thread/submit.js.map +1 -1
- package/dist-server/controllers/common.js +1 -1
- package/dist-server/controllers/common.js.map +1 -1
- package/dist-server/service/activity/activity-history.js +0 -15
- package/dist-server/service/activity/activity-history.js.map +1 -1
- package/dist-server/service/activity/activity-type.js +0 -24
- package/dist-server/service/activity/activity-type.js.map +1 -1
- package/dist-server/service/activity/activity.js +7 -22
- package/dist-server/service/activity/activity.js.map +1 -1
- package/dist-server/service/activity-approval/activity-approval-query.js +2 -2
- package/dist-server/service/activity-approval/activity-approval-query.js.map +1 -1
- package/dist-server/service/activity-instance/activity-instance-query.js +1 -1
- package/dist-server/service/activity-instance/activity-instance-query.js.map +1 -1
- package/dist-server/service/activity-instance/activity-instance.js +1 -1
- package/dist-server/service/activity-instance/activity-instance.js.map +1 -1
- package/dist-server/service/activity-summary/activity-summary-query.js +3 -3
- package/dist-server/service/activity-summary/activity-summary-query.js.map +1 -1
- package/dist-server/service/activity-summary/activity-summary.js +1 -1
- package/dist-server/service/activity-summary/activity-summary.js.map +1 -1
- package/dist-server/service/installable-activity/installable-activity.js +7 -0
- package/dist-server/service/installable-activity/installable-activity.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/server/controllers/activity-instance/end.ts +4 -0
- package/server/controllers/activity-instance/post.ts +2 -0
- package/server/controllers/activity-instance/terminate.ts +4 -0
- package/server/controllers/activity-thread/abort.ts +6 -2
- package/server/controllers/activity-thread/adjust.ts +12 -0
- package/server/controllers/activity-thread/end.ts +6 -2
- package/server/controllers/activity-thread/save.ts +9 -4
- package/server/controllers/activity-thread/submit.ts +7 -3
- package/server/controllers/common.ts +1 -1
- package/server/service/activity/activity-history.ts +0 -12
- package/server/service/activity/activity-type.ts +0 -18
- package/server/service/activity/activity.ts +7 -19
- package/server/service/activity-approval/activity-approval-query.ts +1 -1
- package/server/service/activity-instance/activity-instance-query.ts +1 -1
- package/server/service/activity-instance/activity-instance.ts +1 -1
- package/server/service/activity-summary/activity-summary-query.ts +2 -2
- package/server/service/activity-summary/activity-summary.ts +1 -1
- package/server/service/installable-activity/installable-activity.ts +3 -0
- package/things-factory.config.js +1 -2
- package/translations/en.json +25 -3
- package/translations/ko.json +25 -3
- package/translations/ms.json +67 -45
- package/translations/zh.json +66 -44
- package/client/pages/todo/assigned-list-page.ts +0 -258
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@things-factory/worklist",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.40",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "dist-client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -31,10 +31,10 @@
|
|
|
31
31
|
"@things-factory/auth-base": "^6.0.34",
|
|
32
32
|
"@things-factory/board-service": "^6.0.34",
|
|
33
33
|
"@things-factory/context-ui": "^6.0.34",
|
|
34
|
-
"@things-factory/organization": "^6.0.
|
|
34
|
+
"@things-factory/organization": "^6.0.40",
|
|
35
35
|
"@things-factory/scheduler-client": "^6.0.35",
|
|
36
36
|
"@things-factory/shell": "^6.0.34",
|
|
37
37
|
"moment-timezone": "^0.5.40"
|
|
38
38
|
},
|
|
39
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "12f9a90b362b53ed1a8df8bdac015f4a5676a75b"
|
|
40
40
|
}
|
|
@@ -24,6 +24,7 @@ export async function post(
|
|
|
24
24
|
viewType,
|
|
25
25
|
viewSource,
|
|
26
26
|
dueAt,
|
|
27
|
+
priority,
|
|
27
28
|
approvalLine,
|
|
28
29
|
activityId,
|
|
29
30
|
activityType,
|
|
@@ -76,6 +77,7 @@ export async function post(
|
|
|
76
77
|
activityInstance.viewSource = viewSource || activity.viewSource
|
|
77
78
|
activityInstance.assigneeRole = assigneeRole || activity.assigneeRole
|
|
78
79
|
activityInstance.supervisoryRole = supervisoryRole || activity.supervisoryRole
|
|
80
|
+
activityInstance.priority = priority ?? activity.priority
|
|
79
81
|
|
|
80
82
|
if (!assignees || !approvalLine) {
|
|
81
83
|
activityInstance.adhocType = 'standard'
|
|
@@ -22,7 +22,11 @@ export async function abort(
|
|
|
22
22
|
)
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
if (!activityThread.startedAt) {
|
|
26
|
+
activityThread.startedAt = new Date()
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
activityThread = await repository.save({
|
|
26
30
|
...activityThread,
|
|
27
31
|
reason,
|
|
28
32
|
state: ActivityThreadStatus.Aborted,
|
|
@@ -34,5 +38,5 @@ export async function abort(
|
|
|
34
38
|
|
|
35
39
|
await updateActivityInstanceState(activityThread.activityInstanceId, context)
|
|
36
40
|
|
|
37
|
-
return
|
|
41
|
+
return activityThread
|
|
38
42
|
}
|
|
@@ -15,6 +15,18 @@ export async function adjust(
|
|
|
15
15
|
relations: ['domain', 'activityInstance', 'assignee', 'creator', 'updater']
|
|
16
16
|
})
|
|
17
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
|
+
|
|
18
30
|
const result = await repository.save({
|
|
19
31
|
...activityThread,
|
|
20
32
|
...patch,
|
|
@@ -21,7 +21,11 @@ export async function end(
|
|
|
21
21
|
)
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
if (!activityThread.startedAt) {
|
|
25
|
+
activityThread.startedAt = new Date()
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
activityThread = await repository.save({
|
|
25
29
|
...activityThread,
|
|
26
30
|
reason,
|
|
27
31
|
output,
|
|
@@ -33,5 +37,5 @@ export async function end(
|
|
|
33
37
|
|
|
34
38
|
await updateActivityInstanceState(activityThread.activityInstanceId, context)
|
|
35
39
|
|
|
36
|
-
return
|
|
40
|
+
return activityThread
|
|
37
41
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { ActivityThread } from '../../service/activity-thread/activity-thread'
|
|
2
1
|
import { ActivityThreadSave } from '../../service/activity-thread/activity-thread-type'
|
|
3
2
|
import { updateActivityInstanceState } from '../common'
|
|
3
|
+
import { ActivityThread, ActivityThreadStatus } from '../../service/activity-thread/activity-thread'
|
|
4
4
|
|
|
5
5
|
export async function save(id: string, save: ActivityThreadSave, context: ResolverContext): Promise<ActivityThread> {
|
|
6
6
|
const { domain, user, tx } = context.state
|
|
7
7
|
const repository = tx.getRepository(ActivityThread)
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
var activityThread = await repository.findOne({
|
|
10
10
|
where: { domain: { id: domain.id }, id }
|
|
11
11
|
})
|
|
12
12
|
|
|
@@ -18,14 +18,19 @@ export async function save(id: string, save: ActivityThreadSave, context: Resolv
|
|
|
18
18
|
)
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
if (!activityThread.startedAt) {
|
|
22
|
+
activityThread.startedAt = new Date()
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
activityThread = await repository.save({
|
|
22
26
|
...activityThread,
|
|
23
27
|
...save,
|
|
28
|
+
state: ActivityThreadStatus.Started,
|
|
24
29
|
transaction: 'save',
|
|
25
30
|
updater: user
|
|
26
31
|
})
|
|
27
32
|
|
|
28
33
|
await updateActivityInstanceState(activityThread.activityInstanceId, context)
|
|
29
34
|
|
|
30
|
-
return
|
|
35
|
+
return activityThread
|
|
31
36
|
}
|
|
@@ -25,6 +25,10 @@ export async function submit(
|
|
|
25
25
|
)
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
+
if (!activityThread.startedAt) {
|
|
29
|
+
activityThread.startedAt = new Date()
|
|
30
|
+
}
|
|
31
|
+
|
|
28
32
|
const approvalLine: ApprovalLineItem[] = activityThread.activityInstance.approvalLine
|
|
29
33
|
|
|
30
34
|
if (approvalLine && approvalLine.length > 0) {
|
|
@@ -46,7 +50,7 @@ export async function submit(
|
|
|
46
50
|
updater: user
|
|
47
51
|
})
|
|
48
52
|
|
|
49
|
-
|
|
53
|
+
activityThread = await repository.save({
|
|
50
54
|
...activityThread,
|
|
51
55
|
reason,
|
|
52
56
|
output,
|
|
@@ -55,7 +59,7 @@ export async function submit(
|
|
|
55
59
|
updater: user
|
|
56
60
|
})
|
|
57
61
|
} else {
|
|
58
|
-
|
|
62
|
+
activityThread = await repository.save({
|
|
59
63
|
...activityThread,
|
|
60
64
|
reason,
|
|
61
65
|
output,
|
|
@@ -69,5 +73,5 @@ export async function submit(
|
|
|
69
73
|
|
|
70
74
|
await updateActivityInstanceState(activityThread.activityInstanceId, context)
|
|
71
75
|
|
|
72
|
-
return
|
|
76
|
+
return activityThread
|
|
73
77
|
}
|
|
@@ -50,7 +50,7 @@ export async function evalActivityInstanceState(
|
|
|
50
50
|
}
|
|
51
51
|
case threadsMin > validThreads.length:
|
|
52
52
|
return {
|
|
53
|
-
state: ActivityInstanceStatus.
|
|
53
|
+
state: ActivityInstanceStatus.PendingAssignment
|
|
54
54
|
}
|
|
55
55
|
case pendingStartedThreads.length > 0:
|
|
56
56
|
return {
|
|
@@ -93,18 +93,6 @@ export class ActivityHistory implements HistoryEntityInterface<Activity> {
|
|
|
93
93
|
@Field({ nullable: true })
|
|
94
94
|
standardTime?: number
|
|
95
95
|
|
|
96
|
-
@Column({ nullable: true })
|
|
97
|
-
@Field({ nullable: true })
|
|
98
|
-
cycleTime?: number
|
|
99
|
-
|
|
100
|
-
@Column({ nullable: true })
|
|
101
|
-
@Field({ nullable: true })
|
|
102
|
-
tactTime?: number
|
|
103
|
-
|
|
104
|
-
@Column({ nullable: true })
|
|
105
|
-
@Field({ nullable: true })
|
|
106
|
-
leadTime?: number
|
|
107
|
-
|
|
108
96
|
@ManyToOne(type => Role, { nullable: true })
|
|
109
97
|
@Field(type => Role, { nullable: true })
|
|
110
98
|
issuerRole?: Role
|
|
@@ -48,15 +48,6 @@ export class NewActivity {
|
|
|
48
48
|
@Field({ nullable: true })
|
|
49
49
|
standardTime?: number
|
|
50
50
|
|
|
51
|
-
@Field({ nullable: true })
|
|
52
|
-
cycleTime?: number
|
|
53
|
-
|
|
54
|
-
@Field({ nullable: true })
|
|
55
|
-
tactTime?: number
|
|
56
|
-
|
|
57
|
-
@Field({ nullable: true })
|
|
58
|
-
leadTime?: number
|
|
59
|
-
|
|
60
51
|
@Field(type => ObjectRef, { nullable: true })
|
|
61
52
|
issuerRole?: ObjectRef
|
|
62
53
|
|
|
@@ -138,15 +129,6 @@ export class ActivityPatch {
|
|
|
138
129
|
@Field({ nullable: true })
|
|
139
130
|
standardTime?: number
|
|
140
131
|
|
|
141
|
-
@Field({ nullable: true })
|
|
142
|
-
cycleTime?: number
|
|
143
|
-
|
|
144
|
-
@Field({ nullable: true })
|
|
145
|
-
tactTime?: number
|
|
146
|
-
|
|
147
|
-
@Field({ nullable: true })
|
|
148
|
-
leadTime?: number
|
|
149
|
-
|
|
150
132
|
@Field(type => ObjectRef, { nullable: true })
|
|
151
133
|
issuerRole?: ObjectRef
|
|
152
134
|
|
|
@@ -45,7 +45,7 @@ export enum ActivityType {
|
|
|
45
45
|
|
|
46
46
|
registerEnumType(ActivityType, {
|
|
47
47
|
name: 'ActivityType',
|
|
48
|
-
description: 'type enumeration of a activity'
|
|
48
|
+
description: 'type enumeration of a activity based on BPMN 2.0'
|
|
49
49
|
})
|
|
50
50
|
|
|
51
51
|
export enum ActivityUIType {
|
|
@@ -91,7 +91,7 @@ export class Activity {
|
|
|
91
91
|
description?: string
|
|
92
92
|
|
|
93
93
|
@Column({ nullable: true })
|
|
94
|
-
@Field({ nullable: true })
|
|
94
|
+
@Field({ nullable: true, description: 'BPMN 2.0 task type' })
|
|
95
95
|
activityType?: ActivityType
|
|
96
96
|
|
|
97
97
|
@Column({ nullable: true })
|
|
@@ -111,37 +111,25 @@ export class Activity {
|
|
|
111
111
|
priority?: number = 1
|
|
112
112
|
|
|
113
113
|
@Column({ nullable: true })
|
|
114
|
-
@Field({ nullable: true, description: 'Whether the task can be started arbitrarily by a user with privileges
|
|
114
|
+
@Field({ nullable: true, description: 'Whether the task can be started arbitrarily by a user with privileges' })
|
|
115
115
|
startable?: boolean
|
|
116
116
|
|
|
117
117
|
@Column({ nullable: true })
|
|
118
|
-
@Field({ nullable: true })
|
|
118
|
+
@Field({ nullable: true, description: 'Autostart schedule in crontab format' })
|
|
119
119
|
schedule?: string
|
|
120
120
|
|
|
121
121
|
@Column({ nullable: true })
|
|
122
|
-
@Field({ nullable: true })
|
|
122
|
+
@Field({ nullable: true, description: 'ID of the autostart schedule registered in the schedule service' })
|
|
123
123
|
scheduleId?: string
|
|
124
124
|
|
|
125
125
|
@Column({ nullable: true })
|
|
126
|
-
@Field({ nullable: true })
|
|
126
|
+
@Field({ nullable: true, description: 'Time zone to which automatic scheduling is applied' })
|
|
127
127
|
timezone?: string
|
|
128
128
|
|
|
129
129
|
@Column({ nullable: true })
|
|
130
|
-
@Field({ nullable: true })
|
|
130
|
+
@Field({ nullable: true, description: 'Standard time for this activity to be performed' })
|
|
131
131
|
standardTime?: number
|
|
132
132
|
|
|
133
|
-
@Column({ nullable: true })
|
|
134
|
-
@Field({ nullable: true })
|
|
135
|
-
cycleTime?: number
|
|
136
|
-
|
|
137
|
-
@Column({ nullable: true })
|
|
138
|
-
@Field({ nullable: true })
|
|
139
|
-
tactTime?: number
|
|
140
|
-
|
|
141
|
-
@Column({ nullable: true })
|
|
142
|
-
@Field({ nullable: true })
|
|
143
|
-
leadTime?: number
|
|
144
|
-
|
|
145
133
|
@ManyToOne(type => Role, { nullable: true })
|
|
146
134
|
@Field(type => Role, { nullable: true })
|
|
147
135
|
issuerRole?: Role
|
|
@@ -34,7 +34,7 @@ export class ActivityApprovalQuery {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
@Query(returns => ActivityApprovalList, { description: 'To fetch the list of work results I need to review' })
|
|
37
|
-
async
|
|
37
|
+
async approvalPendingList(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ActivityApprovalList> {
|
|
38
38
|
var { domain, user } = context.state
|
|
39
39
|
|
|
40
40
|
const judgment = [
|
|
@@ -97,7 +97,7 @@ export class ActivityInstanceQuery {
|
|
|
97
97
|
})
|
|
98
98
|
.leftJoinAndSelect('ai.activityThreads', 'threads', 'threads.assignee = :user', { user: user.id })
|
|
99
99
|
.andWhere('ai.state IN (:...status)', {
|
|
100
|
-
status: [ActivityInstanceStatus.Posted, ActivityInstanceStatus.
|
|
100
|
+
status: [ActivityInstanceStatus.Posted, ActivityInstanceStatus.PendingAssignment]
|
|
101
101
|
})
|
|
102
102
|
.andWhere('ai.assigneeRole IN (:...roles)', { roles })
|
|
103
103
|
.andWhere('threads.id IS NULL') /* 이미 내가 할당된 경우는 제외한다. */
|
|
@@ -22,7 +22,7 @@ import { Activity, ActivityType, ActivityUIType } from '../activity/activity'
|
|
|
22
22
|
export enum ActivityInstanceStatus {
|
|
23
23
|
Draft = 'draft',
|
|
24
24
|
Posted = 'posted',
|
|
25
|
-
|
|
25
|
+
PendingAssignment = 'pending-assignment',
|
|
26
26
|
Assigned = 'assigned',
|
|
27
27
|
Started = 'started',
|
|
28
28
|
Pending = 'pending',
|
|
@@ -38,7 +38,7 @@ export class ActivitySummaryQuery {
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
@FieldResolver(type => Number)
|
|
41
|
-
async
|
|
41
|
+
async numberOfApprovalPendings(
|
|
42
42
|
@Root() activitySummary: ActivitySummary,
|
|
43
43
|
@Ctx() context: ResolverContext
|
|
44
44
|
): Promise<number> {
|
|
@@ -104,7 +104,7 @@ export class ActivitySummaryQuery {
|
|
|
104
104
|
})
|
|
105
105
|
.leftJoinAndSelect('ai.activityThreads', 'threads', 'threads.assignee = :user', { user: user.id })
|
|
106
106
|
.andWhere('ai.state IN (:...status)', {
|
|
107
|
-
status: [ActivityInstanceStatus.Posted, ActivityInstanceStatus.
|
|
107
|
+
status: [ActivityInstanceStatus.Posted, ActivityInstanceStatus.PendingAssignment]
|
|
108
108
|
})
|
|
109
109
|
.andWhere('ai.assigneeRole IN (:...roles)', { roles })
|
|
110
110
|
.andWhere('threads.id IS NULL') /* 이미 내가 할당된 경우는 제외한다. */
|
package/things-factory.config.js
CHANGED
|
@@ -8,10 +8,9 @@ export default {
|
|
|
8
8
|
{ tagname: 'worklist-home', page: 'worklist-home' },
|
|
9
9
|
{ tagname: 'worklist-dashboard', page: 'worklist-dashboard' },
|
|
10
10
|
{ tagname: 'pickable-list-page', page: 'pickable-list' },
|
|
11
|
-
{ tagname: 'assigned-list-page', page: 'assigned-list' },
|
|
12
11
|
{ tagname: 'todo-list-page', page: 'todo-list' },
|
|
13
12
|
{ tagname: 'done-list-page', page: 'done-list' },
|
|
14
|
-
{ tagname: 'approval-
|
|
13
|
+
{ tagname: 'approval-pending-list-page', page: 'approval-pending-list' },
|
|
15
14
|
{ tagname: 'draft-list-page', page: 'draft-list' },
|
|
16
15
|
{ tagname: 'starter-list-page', page: 'starter-list' },
|
|
17
16
|
{ tagname: 'reporter-list-page', page: 'reporter-list' },
|
package/translations/en.json
CHANGED
|
@@ -12,7 +12,9 @@
|
|
|
12
12
|
"button.start": "start",
|
|
13
13
|
"button.submit": "submit",
|
|
14
14
|
"field.activity-type": "activity type",
|
|
15
|
+
"field.approval-line": "approval line",
|
|
15
16
|
"field.assignee": "assignee",
|
|
17
|
+
"field.assignees": "assignees",
|
|
16
18
|
"field.assignee-role": "assignee role",
|
|
17
19
|
"field.cycle-time": "CT(sec)",
|
|
18
20
|
"field.due-at": "due at",
|
|
@@ -49,13 +51,28 @@
|
|
|
49
51
|
"field.view-type": "view type",
|
|
50
52
|
"field.view-source": "view source",
|
|
51
53
|
"label.activity-instance": "activity instance",
|
|
54
|
+
"label.activity-state-draft": "draft",
|
|
55
|
+
"label.activity-state-released": "released",
|
|
56
|
+
"label.activity-state-deprecated": "deprecated",
|
|
57
|
+
"label.activity-state-posted": "posted",
|
|
58
|
+
"label.activity-state-pending-assignment": "pending assignment",
|
|
59
|
+
"label.activity-state-assigned": "assigned",
|
|
60
|
+
"label.activity-state-started": "started",
|
|
61
|
+
"label.activity-state-delegated": "delegated",
|
|
62
|
+
"label.activity-state-submitted": "submitted",
|
|
63
|
+
"label.activity-state-escalated": "escalated",
|
|
64
|
+
"label.activity-state-pending": "pending",
|
|
65
|
+
"label.activity-state-rejected": "rejected",
|
|
66
|
+
"label.activity-state-ended": "ended",
|
|
67
|
+
"label.activity-state-aborted": "aborted",
|
|
52
68
|
"label.days": "days",
|
|
53
69
|
"label.filter-aborted": "aborted",
|
|
54
70
|
"label.filter-important": "important",
|
|
55
71
|
"label.filter-due": "due",
|
|
56
72
|
"label.filter-recent": "recent",
|
|
57
|
-
"label.filter-
|
|
73
|
+
"label.filter-proceeding": "proceeding",
|
|
58
74
|
"label.filter-resubmitted": "resubmitted",
|
|
75
|
+
"label.filter-pending-approval": "pending approval",
|
|
59
76
|
"label.hours": "hours",
|
|
60
77
|
"label.minutes": "minutes",
|
|
61
78
|
"label.seconds": "seconds",
|
|
@@ -76,16 +93,21 @@
|
|
|
76
93
|
"title.activity intro": "activity intro",
|
|
77
94
|
"title.activity preview": "activity preview",
|
|
78
95
|
"title.activity reporter list": "activity reporter list",
|
|
96
|
+
"title.activity schedule (un)register": "(un)register activity schedule",
|
|
79
97
|
"title.activity starter": "activity starter",
|
|
80
98
|
"title.activity starter list": "activity starter list",
|
|
81
99
|
"title.activity store": "activity store",
|
|
82
100
|
"title.activity summary": "activity summary",
|
|
83
101
|
"title.activity template model item list": "activity template model item list",
|
|
84
102
|
"title.activity template list": "activity template list",
|
|
85
|
-
"title.approval
|
|
103
|
+
"title.approval pending list": "approval pending list",
|
|
86
104
|
"title.assigned list": "assigned list",
|
|
87
105
|
"title.done list": "done list",
|
|
88
106
|
"title.draft list": "draft list",
|
|
107
|
+
"title.edit duration": "edit duration",
|
|
89
108
|
"title.installable activity list": "installable activity list",
|
|
90
|
-
"title.
|
|
109
|
+
"title.open this activity page": "open this activity page",
|
|
110
|
+
"title.pick activity": "pick this activity to handle",
|
|
111
|
+
"title.todo list": "todo list",
|
|
112
|
+
"title.view page": "view page"
|
|
91
113
|
}
|
package/translations/ko.json
CHANGED
|
@@ -12,7 +12,9 @@
|
|
|
12
12
|
"button.start": "시작",
|
|
13
13
|
"button.submit": "제출",
|
|
14
14
|
"field.activity-type": "업무 타입",
|
|
15
|
+
"field.approval-line": "결재선",
|
|
15
16
|
"field.assignee": "피할당자",
|
|
17
|
+
"field.assignees": "피할당자",
|
|
16
18
|
"field.assignee-role": "피할당 역할",
|
|
17
19
|
"field.cycle-time": "CT(초)",
|
|
18
20
|
"field.due-at": "만기시간",
|
|
@@ -49,13 +51,28 @@
|
|
|
49
51
|
"field.view-type": "뷰 타입",
|
|
50
52
|
"field.view-source": "뷰 소스",
|
|
51
53
|
"label.activity-instance": "업무 인스턴스",
|
|
54
|
+
"label.activity-state-draft": "초안작업중",
|
|
55
|
+
"label.activity-state-posted": "게시됨",
|
|
56
|
+
"label.activity-state-released": "배포됨",
|
|
57
|
+
"label.activity-state-deprecated": "폐기됨",
|
|
58
|
+
"label.activity-state-pending-assignment": "할당대기",
|
|
59
|
+
"label.activity-state-assigned": "할당됨",
|
|
60
|
+
"label.activity-state-started": "진행중",
|
|
61
|
+
"label.activity-state-delegated": "위임됨",
|
|
62
|
+
"label.activity-state-submitted": "제출됨",
|
|
63
|
+
"label.activity-state-escalated": "승인진행중",
|
|
64
|
+
"label.activity-state-pending": "지연중",
|
|
65
|
+
"label.activity-state-rejected": "반려됨",
|
|
66
|
+
"label.activity-state-ended": "완료됨",
|
|
67
|
+
"label.activity-state-aborted": "취소됨",
|
|
52
68
|
"label.days": "일",
|
|
53
69
|
"label.filter-aborted": "중단",
|
|
54
70
|
"label.filter-important": "중요",
|
|
55
71
|
"label.filter-due": "만기",
|
|
56
72
|
"label.filter-recent": "최근",
|
|
57
|
-
"label.filter-
|
|
73
|
+
"label.filter-proceeding": "작업중",
|
|
58
74
|
"label.filter-resubmitted": "재상신",
|
|
75
|
+
"label.filter-pending-approval": "승인진행중",
|
|
59
76
|
"label.hours": "시간",
|
|
60
77
|
"label.minutes": "분",
|
|
61
78
|
"label.seconds": "초",
|
|
@@ -76,16 +93,21 @@
|
|
|
76
93
|
"title.activity intro": "업무 소개",
|
|
77
94
|
"title.activity preview": "업무 미리보기",
|
|
78
95
|
"title.activity reporter list": "업무 현황",
|
|
96
|
+
"title.activity schedule (un)register": "업무 스케쥴 등록/삭제",
|
|
79
97
|
"title.activity starter": "업무 발급",
|
|
80
98
|
"title.activity starter list": "새업무 할당",
|
|
81
99
|
"title.activity store": "업무 스토어",
|
|
82
100
|
"title.activity summary": "업무 종합 현황",
|
|
83
101
|
"title.activity template model item list": "업무 템플릿 모델 항목",
|
|
84
102
|
"title.activity template list": "업무 템플릿",
|
|
85
|
-
"title.approval
|
|
103
|
+
"title.approval pending list": "승인 대기 리스트",
|
|
86
104
|
"title.assigned list": "나의 연관 업무 현황",
|
|
87
105
|
"title.done list": "완료한 업무",
|
|
88
106
|
"title.draft list": "작성중인 업무",
|
|
107
|
+
"title.edit duration": "소요시간 편집",
|
|
89
108
|
"title.installable activity list": "설치 가능 업무",
|
|
90
|
-
"title.
|
|
109
|
+
"title.open this activity page": "이 업무 페이지 열기",
|
|
110
|
+
"title.pick activity": "이 업무를 내가 담당하기위해 선택",
|
|
111
|
+
"title.todo list": "나의 할일 리스트",
|
|
112
|
+
"title.view page": "페이지 보기"
|
|
91
113
|
}
|