@things-factory/worklist 6.0.39 → 6.0.41

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 (100) hide show
  1. package/client/activity-summary-generator.ts +5 -5
  2. package/client/pages/activity/activity-page.ts +1 -1
  3. package/client/pages/activity/starter-list-page.ts +0 -1
  4. package/client/pages/activity-instance/activity-instance-page.ts +2 -2
  5. package/client/pages/activity-thread/activity-thread-page.ts +5 -5
  6. package/client/pages/installable-activity/installable-activity-list-page.ts +15 -0
  7. package/client/pages/todo/{approval-waiting-list-page.ts → approval-pending-list-page.ts} +5 -9
  8. package/client/pages/todo/done-list-page.ts +5 -6
  9. package/client/pages/todo/draft-list-page.ts +1 -1
  10. package/client/pages/todo/pickable-list-page.ts +24 -25
  11. package/client/pages/todo/todo-list-page.ts +16 -11
  12. package/client/route.ts +2 -6
  13. package/client/types/activity-instance.ts +1 -1
  14. package/dist-client/activity-summary-generator.js +5 -5
  15. package/dist-client/activity-summary-generator.js.map +1 -1
  16. package/dist-client/pages/activity/activity-page.d.ts +1 -1
  17. package/dist-client/pages/activity/activity-page.js +1 -1
  18. package/dist-client/pages/activity/activity-page.js.map +1 -1
  19. package/dist-client/pages/activity/starter-list-page.js +0 -1
  20. package/dist-client/pages/activity/starter-list-page.js.map +1 -1
  21. package/dist-client/pages/activity-instance/activity-instance-page.d.ts +1 -1
  22. package/dist-client/pages/activity-instance/activity-instance-page.js +2 -2
  23. package/dist-client/pages/activity-instance/activity-instance-page.js.map +1 -1
  24. package/dist-client/pages/activity-thread/activity-thread-page.js +5 -5
  25. package/dist-client/pages/activity-thread/activity-thread-page.js.map +1 -1
  26. package/dist-client/pages/installable-activity/installable-activity-list-page.js +15 -0
  27. package/dist-client/pages/installable-activity/installable-activity-list-page.js.map +1 -1
  28. package/dist-client/pages/todo/approval-pending-list-page.d.ts +40 -0
  29. package/dist-client/pages/todo/approval-pending-list-page.js +360 -0
  30. package/dist-client/pages/todo/approval-pending-list-page.js.map +1 -0
  31. package/dist-client/pages/todo/assigned-list-page.js +0 -1
  32. package/dist-client/pages/todo/assigned-list-page.js.map +1 -1
  33. package/dist-client/pages/todo/done-list-page.js +4 -5
  34. package/dist-client/pages/todo/done-list-page.js.map +1 -1
  35. package/dist-client/pages/todo/draft-list-page.js +1 -1
  36. package/dist-client/pages/todo/draft-list-page.js.map +1 -1
  37. package/dist-client/pages/todo/pickable-list-page.js +23 -24
  38. package/dist-client/pages/todo/pickable-list-page.js.map +1 -1
  39. package/dist-client/pages/todo/todo-list-page.js +16 -11
  40. package/dist-client/pages/todo/todo-list-page.js.map +1 -1
  41. package/dist-client/route.d.ts +1 -1
  42. package/dist-client/route.js +2 -5
  43. package/dist-client/route.js.map +1 -1
  44. package/dist-client/tsconfig.tsbuildinfo +1 -1
  45. package/dist-client/types/activity-instance.d.ts +1 -1
  46. package/dist-client/types/activity-instance.js +1 -1
  47. package/dist-client/types/activity-instance.js.map +1 -1
  48. package/dist-server/controllers/activity-instance/end.js +3 -0
  49. package/dist-server/controllers/activity-instance/end.js.map +1 -1
  50. package/dist-server/controllers/activity-instance/post.js +2 -1
  51. package/dist-server/controllers/activity-instance/post.js.map +1 -1
  52. package/dist-server/controllers/activity-instance/terminate.js +3 -0
  53. package/dist-server/controllers/activity-instance/terminate.js.map +1 -1
  54. package/dist-server/controllers/activity-thread/abort.js +5 -2
  55. package/dist-server/controllers/activity-thread/abort.js.map +1 -1
  56. package/dist-server/controllers/activity-thread/adjust.js +8 -0
  57. package/dist-server/controllers/activity-thread/adjust.js.map +1 -1
  58. package/dist-server/controllers/activity-thread/end.js +5 -2
  59. package/dist-server/controllers/activity-thread/end.js.map +1 -1
  60. package/dist-server/controllers/activity-thread/save.js +6 -3
  61. package/dist-server/controllers/activity-thread/save.js.map +1 -1
  62. package/dist-server/controllers/activity-thread/submit.js +6 -3
  63. package/dist-server/controllers/activity-thread/submit.js.map +1 -1
  64. package/dist-server/controllers/common.js +1 -1
  65. package/dist-server/controllers/common.js.map +1 -1
  66. package/dist-server/service/activity-approval/activity-approval-query.js +2 -2
  67. package/dist-server/service/activity-approval/activity-approval-query.js.map +1 -1
  68. package/dist-server/service/activity-instance/activity-instance-query.js +1 -1
  69. package/dist-server/service/activity-instance/activity-instance-query.js.map +1 -1
  70. package/dist-server/service/activity-instance/activity-instance.js +1 -1
  71. package/dist-server/service/activity-instance/activity-instance.js.map +1 -1
  72. package/dist-server/service/activity-summary/activity-summary-query.js +3 -3
  73. package/dist-server/service/activity-summary/activity-summary-query.js.map +1 -1
  74. package/dist-server/service/activity-summary/activity-summary.js +1 -1
  75. package/dist-server/service/activity-summary/activity-summary.js.map +1 -1
  76. package/dist-server/service/installable-activity/installable-activity.js +7 -0
  77. package/dist-server/service/installable-activity/installable-activity.js.map +1 -1
  78. package/dist-server/tsconfig.tsbuildinfo +1 -1
  79. package/package.json +3 -3
  80. package/server/controllers/activity-instance/end.ts +4 -0
  81. package/server/controllers/activity-instance/post.ts +2 -0
  82. package/server/controllers/activity-instance/terminate.ts +4 -0
  83. package/server/controllers/activity-thread/abort.ts +6 -2
  84. package/server/controllers/activity-thread/adjust.ts +12 -0
  85. package/server/controllers/activity-thread/end.ts +6 -2
  86. package/server/controllers/activity-thread/save.ts +7 -3
  87. package/server/controllers/activity-thread/submit.ts +7 -3
  88. package/server/controllers/common.ts +1 -1
  89. package/server/service/activity-approval/activity-approval-query.ts +1 -1
  90. package/server/service/activity-instance/activity-instance-query.ts +1 -1
  91. package/server/service/activity-instance/activity-instance.ts +1 -1
  92. package/server/service/activity-summary/activity-summary-query.ts +2 -2
  93. package/server/service/activity-summary/activity-summary.ts +1 -1
  94. package/server/service/installable-activity/installable-activity.ts +3 -0
  95. package/things-factory.config.js +1 -2
  96. package/translations/en.json +5 -3
  97. package/translations/ko.json +5 -3
  98. package/translations/ms.json +5 -3
  99. package/translations/zh.json +5 -3
  100. 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.39",
3
+ "version": "6.0.41",
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.39",
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": "0785dcb60e33faa110e9d6056909384c4f50b7bf"
39
+ "gitHead": "781f8ef2c026fc38c7485eaa6bd51367fbe7ec09"
40
40
  }
@@ -21,6 +21,10 @@ export async function end(
21
21
  )
22
22
  }
23
23
 
24
+ if (!activityInstance.startedAt) {
25
+ activityInstance.startedAt = new Date()
26
+ }
27
+
24
28
  return await repository.save({
25
29
  ...activityInstance,
26
30
  reason,
@@ -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,6 +22,10 @@ export async function terminate(
22
22
  )
23
23
  }
24
24
 
25
+ if (!activityInstance.startedAt) {
26
+ activityInstance.startedAt = new Date()
27
+ }
28
+
25
29
  return await repository.save({
26
30
  ...activityInstance,
27
31
  reason,
@@ -22,7 +22,11 @@ export async function abort(
22
22
  )
23
23
  }
24
24
 
25
- const result = await repository.save({
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 result
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
- const result = await repository.save({
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 result
40
+ return activityThread
37
41
  }
@@ -6,7 +6,7 @@ export async function save(id: string, save: ActivityThreadSave, context: Resolv
6
6
  const { domain, user, tx } = context.state
7
7
  const repository = tx.getRepository(ActivityThread)
8
8
 
9
- const activityThread = await repository.findOne({
9
+ var activityThread = await repository.findOne({
10
10
  where: { domain: { id: domain.id }, id }
11
11
  })
12
12
 
@@ -18,7 +18,11 @@ export async function save(id: string, save: ActivityThreadSave, context: Resolv
18
18
  )
19
19
  }
20
20
 
21
- const result = await repository.save({
21
+ if (!activityThread.startedAt) {
22
+ activityThread.startedAt = new Date()
23
+ }
24
+
25
+ activityThread = await repository.save({
22
26
  ...activityThread,
23
27
  ...save,
24
28
  state: ActivityThreadStatus.Started,
@@ -28,5 +32,5 @@ export async function save(id: string, save: ActivityThreadSave, context: Resolv
28
32
 
29
33
  await updateActivityInstanceState(activityThread.activityInstanceId, context)
30
34
 
31
- return result
35
+ return activityThread
32
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
- var result = await repository.save({
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
- var result = await repository.save({
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 result
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.WaitingAssignment
53
+ state: ActivityInstanceStatus.PendingAssignment
54
54
  }
55
55
  case pendingStartedThreads.length > 0:
56
56
  return {
@@ -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 approvalWaitingList(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ActivityApprovalList> {
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.WaitingAssignment]
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
- WaitingAssignment = 'waiting-assignment',
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 numberOfApprovalWaitings(
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.WaitingAssignment]
107
+ status: [ActivityInstanceStatus.Posted, ActivityInstanceStatus.PendingAssignment]
108
108
  })
109
109
  .andWhere('ai.assigneeRole IN (:...roles)', { roles })
110
110
  .andWhere('threads.id IS NULL') /* 이미 내가 할당된 경우는 제외한다. */
@@ -6,7 +6,7 @@ export class ActivitySummary {
6
6
  numberOfToDos?: number
7
7
 
8
8
  @Field({ nullable: true })
9
- numberOfApprovalWaitings?: number
9
+ numberOfApprovalPendings?: number
10
10
 
11
11
  @Field({ nullable: true })
12
12
  numberOfPicks?: number
@@ -23,6 +23,9 @@ export class InstallableActivity {
23
23
  @Field({ nullable: true })
24
24
  activityType?: ActivityType
25
25
 
26
+ @Field({ nullable: true })
27
+ priority?: number = 1
28
+
26
29
  @Field({ nullable: true })
27
30
  startable?: boolean
28
31
 
@@ -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-waiting-list-page', page: 'approval-waiting-list' },
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' },
@@ -55,7 +55,7 @@
55
55
  "label.activity-state-released": "released",
56
56
  "label.activity-state-deprecated": "deprecated",
57
57
  "label.activity-state-posted": "posted",
58
- "label.activity-state-waiting-assignment": "waiting assignment",
58
+ "label.activity-state-pending-assignment": "pending assignment",
59
59
  "label.activity-state-assigned": "assigned",
60
60
  "label.activity-state-started": "started",
61
61
  "label.activity-state-delegated": "delegated",
@@ -70,9 +70,9 @@
70
70
  "label.filter-important": "important",
71
71
  "label.filter-due": "due",
72
72
  "label.filter-recent": "recent",
73
- "label.filter-rejected": "rejected",
74
73
  "label.filter-proceeding": "proceeding",
75
74
  "label.filter-resubmitted": "resubmitted",
75
+ "label.filter-pending-approval": "pending approval",
76
76
  "label.hours": "hours",
77
77
  "label.minutes": "minutes",
78
78
  "label.seconds": "seconds",
@@ -100,12 +100,14 @@
100
100
  "title.activity summary": "activity summary",
101
101
  "title.activity template model item list": "activity template model item list",
102
102
  "title.activity template list": "activity template list",
103
- "title.approval waiting list": "approval waiting list",
103
+ "title.approval pending list": "approval pending list",
104
104
  "title.assigned list": "assigned list",
105
105
  "title.done list": "done list",
106
106
  "title.draft list": "draft list",
107
107
  "title.edit duration": "edit duration",
108
108
  "title.installable activity list": "installable activity list",
109
+ "title.open this activity page": "open this activity page",
110
+ "title.pick activity": "pick this activity to handle",
109
111
  "title.todo list": "todo list",
110
112
  "title.view page": "view page"
111
113
  }
@@ -55,7 +55,7 @@
55
55
  "label.activity-state-posted": "게시됨",
56
56
  "label.activity-state-released": "배포됨",
57
57
  "label.activity-state-deprecated": "폐기됨",
58
- "label.activity-state-waiting-assignment": "할당대기",
58
+ "label.activity-state-pending-assignment": "할당대기",
59
59
  "label.activity-state-assigned": "할당됨",
60
60
  "label.activity-state-started": "진행중",
61
61
  "label.activity-state-delegated": "위임됨",
@@ -70,9 +70,9 @@
70
70
  "label.filter-important": "중요",
71
71
  "label.filter-due": "만기",
72
72
  "label.filter-recent": "최근",
73
- "label.filter-rejected": "반려",
74
73
  "label.filter-proceeding": "작업중",
75
74
  "label.filter-resubmitted": "재상신",
75
+ "label.filter-pending-approval": "승인진행중",
76
76
  "label.hours": "시간",
77
77
  "label.minutes": "분",
78
78
  "label.seconds": "초",
@@ -100,12 +100,14 @@
100
100
  "title.activity summary": "업무 종합 현황",
101
101
  "title.activity template model item list": "업무 템플릿 모델 항목",
102
102
  "title.activity template list": "업무 템플릿",
103
- "title.approval waiting list": "승인 대기 리스트",
103
+ "title.approval pending list": "승인 대기 리스트",
104
104
  "title.assigned list": "나의 연관 업무 현황",
105
105
  "title.done list": "완료한 업무",
106
106
  "title.draft list": "작성중인 업무",
107
107
  "title.edit duration": "소요시간 편집",
108
108
  "title.installable activity list": "설치 가능 업무",
109
+ "title.open this activity page": "이 업무 페이지 열기",
110
+ "title.pick activity": "이 업무를 내가 담당하기위해 선택",
109
111
  "title.todo list": "나의 할일 리스트",
110
112
  "title.view page": "페이지 보기"
111
113
  }
@@ -55,7 +55,7 @@
55
55
  "label.activity-state-released": "[ms] released",
56
56
  "label.activity-state-deprecated": "[ms] deprecated",
57
57
  "label.activity-state-posted": "[ms] posted",
58
- "label.activity-state-waiting-assignment": "[ms] waiting assignment",
58
+ "label.activity-state-pending-assignment": "[ms] pending assignment",
59
59
  "label.activity-state-assigned": "[ms] assigned",
60
60
  "label.activity-state-started": "[ms] started",
61
61
  "label.activity-state-delegated": "[ms] delegated",
@@ -70,9 +70,9 @@
70
70
  "label.filter-important": "important",
71
71
  "label.filter-due": "due",
72
72
  "label.filter-recent": "recent",
73
- "label.filter-rejected": "rejected",
74
73
  "label.filter-proceeding": "proceeding",
75
74
  "label.filter-resubmitted": "resubmitted",
75
+ "label.filter-pending-approval": "pending approval",
76
76
  "label.hours": "[ms] hours",
77
77
  "label.minutes": "[ms] minutes",
78
78
  "label.seconds": "[ms] seconds",
@@ -100,12 +100,14 @@
100
100
  "title.activity summary": "[ms] activity summary",
101
101
  "title.activity template model item list": "[ms] activity template model item list",
102
102
  "title.activity template list": "[ms] activity template list",
103
- "title.approval waiting list": "[ms] approval waiting list",
103
+ "title.approval pending list": "[ms] approval pending list",
104
104
  "title.assigned list": "[ms] assigned list",
105
105
  "title.done list": "[ms] done list",
106
106
  "title.draft list": "[ms] draft list",
107
107
  "title.edit duration": "[ms] edit duration",
108
108
  "title.installable activity list": "[ms] installable activity list",
109
+ "title.open this activity page": "[ms] open this activity page",
110
+ "title.pick activity": "[ms] pick this activity to handle",
109
111
  "title.todo list": "[ms] todo list",
110
112
  "title.view page": "[ms] view page"
111
113
  }
@@ -55,7 +55,7 @@
55
55
  "label.activity-state-released": "[zh] released",
56
56
  "label.activity-state-deprecated": "[zh] deprecated",
57
57
  "label.activity-state-posted": "[zh] posted",
58
- "label.activity-state-waiting-assignment": "[zh] waiting assignment",
58
+ "label.activity-state-pending-assignment": "[zh] pending assignment",
59
59
  "label.activity-state-assigned": "[zh] assigned",
60
60
  "label.activity-state-started": "[zh] started",
61
61
  "label.activity-state-delegated": "[zh] delegated",
@@ -70,9 +70,9 @@
70
70
  "label.filter-important": "important",
71
71
  "label.filter-due": "due",
72
72
  "label.filter-recent": "recent",
73
- "label.filter-rejected": "rejected",
74
73
  "label.filter-proceeding": "proceeding",
75
74
  "label.filter-resubmitted": "resubmitted",
75
+ "label.filter-pending-approval": "pending approval",
76
76
  "label.hours": "小时",
77
77
  "label.minutes": "分钟",
78
78
  "label.seconds": "秒钟",
@@ -100,12 +100,14 @@
100
100
  "title.activity summary": "[zh] activity summary",
101
101
  "title.activity template model item list": "[zh] activity template model item list",
102
102
  "title.activity template list": "[zh] activity template list",
103
- "title.approval waiting list": "[zh] approval waiting list",
103
+ "title.approval pending list": "[zh] approval pending list",
104
104
  "title.assigned list": "[zh] assigned list",
105
105
  "title.done list": "[zh] done list",
106
106
  "title.draft list": "[zh] draft list",
107
107
  "title.edit duration": "[zh] edit duration",
108
108
  "title.installable activity list": "[zh] installable activity list",
109
+ "title.open this activity page": "[zh] open this activity page",
110
+ "title.pick activity": "[zh] pick this activity to handle",
109
111
  "title.todo list": "[zh] todo list",
110
112
  "title.view page": "[zh] view page"
111
113
  }