@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.
Files changed (134) hide show
  1. package/client/activity-summary-generator.ts +5 -5
  2. package/client/bootstrap.ts +3 -6
  3. package/client/grist-editor/grist-editor-activity-search-key.ts +3 -2
  4. package/client/grist-editor/grist-renderer-activity-search-key.ts +25 -0
  5. package/client/pages/activity/activity-list-page.ts +25 -52
  6. package/client/pages/activity/activity-page.ts +1 -1
  7. package/client/pages/activity/activity-partial-view.ts +0 -3
  8. package/client/pages/activity/starter-list-page.ts +0 -1
  9. package/client/pages/activity-instance/activity-instance-list-page.ts +8 -3
  10. package/client/pages/activity-instance/activity-instance-page.ts +2 -2
  11. package/client/pages/activity-thread/activity-thread-page.ts +4 -11
  12. package/client/pages/installable-activity/installable-activity-list-page.ts +19 -26
  13. package/client/pages/todo/{approval-waiting-list-page.ts → approval-pending-list-page.ts} +14 -23
  14. package/client/pages/todo/done-list-page.ts +23 -22
  15. package/client/pages/todo/draft-list-page.ts +16 -14
  16. package/client/pages/todo/pickable-list-page.ts +24 -26
  17. package/client/pages/todo/todo-list-page.ts +34 -19
  18. package/client/route.ts +2 -6
  19. package/client/types/activity-instance.ts +1 -1
  20. package/client/types/activity.ts +0 -6
  21. package/dist-client/activity-summary-generator.js +5 -5
  22. package/dist-client/activity-summary-generator.js.map +1 -1
  23. package/dist-client/bootstrap.js +3 -2
  24. package/dist-client/bootstrap.js.map +1 -1
  25. package/dist-client/grist-editor/grist-editor-activity-search-key.js +3 -2
  26. package/dist-client/grist-editor/grist-editor-activity-search-key.js.map +1 -1
  27. package/dist-client/grist-editor/grist-renderer-activity-search-key.d.ts +3 -0
  28. package/dist-client/grist-editor/grist-renderer-activity-search-key.js +22 -0
  29. package/dist-client/grist-editor/grist-renderer-activity-search-key.js.map +1 -0
  30. package/dist-client/pages/activity/activity-list-page.js +25 -52
  31. package/dist-client/pages/activity/activity-list-page.js.map +1 -1
  32. package/dist-client/pages/activity/activity-page.d.ts +1 -1
  33. package/dist-client/pages/activity/activity-page.js +1 -1
  34. package/dist-client/pages/activity/activity-page.js.map +1 -1
  35. package/dist-client/pages/activity/activity-partial-view.js +1 -1
  36. package/dist-client/pages/activity/activity-partial-view.js.map +1 -1
  37. package/dist-client/pages/activity/starter-list-page.js +0 -1
  38. package/dist-client/pages/activity/starter-list-page.js.map +1 -1
  39. package/dist-client/pages/activity-instance/activity-instance-list-page.js +8 -3
  40. package/dist-client/pages/activity-instance/activity-instance-list-page.js.map +1 -1
  41. package/dist-client/pages/activity-instance/activity-instance-page.d.ts +1 -1
  42. package/dist-client/pages/activity-instance/activity-instance-page.js +2 -2
  43. package/dist-client/pages/activity-instance/activity-instance-page.js.map +1 -1
  44. package/dist-client/pages/activity-thread/activity-thread-page.js +4 -6
  45. package/dist-client/pages/activity-thread/activity-thread-page.js.map +1 -1
  46. package/dist-client/pages/installable-activity/installable-activity-list-page.d.ts +0 -1
  47. package/dist-client/pages/installable-activity/installable-activity-list-page.js +17 -24
  48. package/dist-client/pages/installable-activity/installable-activity-list-page.js.map +1 -1
  49. package/dist-client/pages/todo/approval-pending-list-page.d.ts +40 -0
  50. package/dist-client/pages/todo/approval-pending-list-page.js +360 -0
  51. package/dist-client/pages/todo/approval-pending-list-page.js.map +1 -0
  52. package/dist-client/pages/todo/approval-waiting-list-page.js +9 -15
  53. package/dist-client/pages/todo/approval-waiting-list-page.js.map +1 -1
  54. package/dist-client/pages/todo/assigned-list-page.js +0 -1
  55. package/dist-client/pages/todo/assigned-list-page.js.map +1 -1
  56. package/dist-client/pages/todo/done-list-page.js +22 -21
  57. package/dist-client/pages/todo/done-list-page.js.map +1 -1
  58. package/dist-client/pages/todo/draft-list-page.js +16 -15
  59. package/dist-client/pages/todo/draft-list-page.js.map +1 -1
  60. package/dist-client/pages/todo/pickable-list-page.js +26 -31
  61. package/dist-client/pages/todo/pickable-list-page.js.map +1 -1
  62. package/dist-client/pages/todo/todo-list-page.js +34 -20
  63. package/dist-client/pages/todo/todo-list-page.js.map +1 -1
  64. package/dist-client/route.d.ts +1 -1
  65. package/dist-client/route.js +2 -5
  66. package/dist-client/route.js.map +1 -1
  67. package/dist-client/tsconfig.tsbuildinfo +1 -1
  68. package/dist-client/types/activity-instance.d.ts +1 -1
  69. package/dist-client/types/activity-instance.js +1 -1
  70. package/dist-client/types/activity-instance.js.map +1 -1
  71. package/dist-client/types/activity.d.ts +0 -3
  72. package/dist-client/types/activity.js.map +1 -1
  73. package/dist-server/controllers/activity-instance/end.js +3 -0
  74. package/dist-server/controllers/activity-instance/end.js.map +1 -1
  75. package/dist-server/controllers/activity-instance/post.js +2 -1
  76. package/dist-server/controllers/activity-instance/post.js.map +1 -1
  77. package/dist-server/controllers/activity-instance/terminate.js +3 -0
  78. package/dist-server/controllers/activity-instance/terminate.js.map +1 -1
  79. package/dist-server/controllers/activity-thread/abort.js +5 -2
  80. package/dist-server/controllers/activity-thread/abort.js.map +1 -1
  81. package/dist-server/controllers/activity-thread/adjust.js +8 -0
  82. package/dist-server/controllers/activity-thread/adjust.js.map +1 -1
  83. package/dist-server/controllers/activity-thread/end.js +5 -2
  84. package/dist-server/controllers/activity-thread/end.js.map +1 -1
  85. package/dist-server/controllers/activity-thread/save.js +7 -4
  86. package/dist-server/controllers/activity-thread/save.js.map +1 -1
  87. package/dist-server/controllers/activity-thread/submit.js +6 -3
  88. package/dist-server/controllers/activity-thread/submit.js.map +1 -1
  89. package/dist-server/controllers/common.js +1 -1
  90. package/dist-server/controllers/common.js.map +1 -1
  91. package/dist-server/service/activity/activity-history.js +0 -15
  92. package/dist-server/service/activity/activity-history.js.map +1 -1
  93. package/dist-server/service/activity/activity-type.js +0 -24
  94. package/dist-server/service/activity/activity-type.js.map +1 -1
  95. package/dist-server/service/activity/activity.js +7 -22
  96. package/dist-server/service/activity/activity.js.map +1 -1
  97. package/dist-server/service/activity-approval/activity-approval-query.js +2 -2
  98. package/dist-server/service/activity-approval/activity-approval-query.js.map +1 -1
  99. package/dist-server/service/activity-instance/activity-instance-query.js +1 -1
  100. package/dist-server/service/activity-instance/activity-instance-query.js.map +1 -1
  101. package/dist-server/service/activity-instance/activity-instance.js +1 -1
  102. package/dist-server/service/activity-instance/activity-instance.js.map +1 -1
  103. package/dist-server/service/activity-summary/activity-summary-query.js +3 -3
  104. package/dist-server/service/activity-summary/activity-summary-query.js.map +1 -1
  105. package/dist-server/service/activity-summary/activity-summary.js +1 -1
  106. package/dist-server/service/activity-summary/activity-summary.js.map +1 -1
  107. package/dist-server/service/installable-activity/installable-activity.js +7 -0
  108. package/dist-server/service/installable-activity/installable-activity.js.map +1 -1
  109. package/dist-server/tsconfig.tsbuildinfo +1 -1
  110. package/package.json +3 -3
  111. package/server/controllers/activity-instance/end.ts +4 -0
  112. package/server/controllers/activity-instance/post.ts +2 -0
  113. package/server/controllers/activity-instance/terminate.ts +4 -0
  114. package/server/controllers/activity-thread/abort.ts +6 -2
  115. package/server/controllers/activity-thread/adjust.ts +12 -0
  116. package/server/controllers/activity-thread/end.ts +6 -2
  117. package/server/controllers/activity-thread/save.ts +9 -4
  118. package/server/controllers/activity-thread/submit.ts +7 -3
  119. package/server/controllers/common.ts +1 -1
  120. package/server/service/activity/activity-history.ts +0 -12
  121. package/server/service/activity/activity-type.ts +0 -18
  122. package/server/service/activity/activity.ts +7 -19
  123. package/server/service/activity-approval/activity-approval-query.ts +1 -1
  124. package/server/service/activity-instance/activity-instance-query.ts +1 -1
  125. package/server/service/activity-instance/activity-instance.ts +1 -1
  126. package/server/service/activity-summary/activity-summary-query.ts +2 -2
  127. package/server/service/activity-summary/activity-summary.ts +1 -1
  128. package/server/service/installable-activity/installable-activity.ts +3 -0
  129. package/things-factory.config.js +1 -2
  130. package/translations/en.json +25 -3
  131. package/translations/ko.json +25 -3
  132. package/translations/ms.json +67 -45
  133. package/translations/zh.json +66 -44
  134. package/client/pages/todo/assigned-list-page.ts +0 -258
@@ -1,24 +1,26 @@
1
1
  {
2
- "button.abort": "abort",
3
- "button.approve": "approve",
4
- "button.assign": "assign",
5
- "button.buy": "buy",
6
- "button.delegate": "delegate",
7
- "button.draft": "draft",
8
- "button.finish": "finish",
9
- "button.pick": "pick",
10
- "button.post": "post",
11
- "button.restart": "restart",
12
- "button.start": "start",
13
- "button.submit": "submit",
14
- "field.activity-type": "activity type",
15
- "field.assignee": "assignee",
16
- "field.assignee-role": "assigneerole",
17
- "field.cycle-time": "CT(sec)",
18
- "field.due-at": "due at",
19
- "field.due-in": "due in",
20
- "field.hidden": "hidden",
21
- "field.inout": "inout",
2
+ "button.abort": "[ms] abort",
3
+ "button.approve": "[ms] approve",
4
+ "button.assign": "[ms] assign",
5
+ "button.buy": "[ms] buy",
6
+ "button.delegate": "[ms] delegate",
7
+ "button.draft": "[ms] draft",
8
+ "button.finish": "[ms] finish",
9
+ "button.pick": "[ms] pick",
10
+ "button.post": "[ms] post",
11
+ "button.restart": "[ms] restart",
12
+ "button.start": "[ms] start",
13
+ "button.submit": "[ms] submit",
14
+ "field.activity-type": "[ms] activity type",
15
+ "field.approval-line": "[ms] approval line",
16
+ "field.assignee": "[ms] assignee",
17
+ "field.assignees": "[ms] assignees",
18
+ "field.assignee-role": "[ms] assigneerole",
19
+ "field.cycle-time": "[ms] CT(sec)",
20
+ "field.due-at": "[ms] due at",
21
+ "field.due-in": "[ms] due in",
22
+ "field.hidden": "[ms] hidden",
23
+ "field.inout": "[ms] inout",
22
24
  "field.input-key": "[ms] input-key",
23
25
  "field.issuer": "issuer",
24
26
  "field.posted-at": "posted at",
@@ -49,13 +51,28 @@
49
51
  "field.view-type": "[ms] view type",
50
52
  "field.view-source": "[ms] view source",
51
53
  "label.activity-instance": "[ms] activity instance",
54
+ "label.activity-state-draft": "[ms] draft",
55
+ "label.activity-state-released": "[ms] released",
56
+ "label.activity-state-deprecated": "[ms] deprecated",
57
+ "label.activity-state-posted": "[ms] posted",
58
+ "label.activity-state-pending-assignment": "[ms] pending assignment",
59
+ "label.activity-state-assigned": "[ms] assigned",
60
+ "label.activity-state-started": "[ms] started",
61
+ "label.activity-state-delegated": "[ms] delegated",
62
+ "label.activity-state-submitted": "[ms] submitted",
63
+ "label.activity-state-escalated": "[ms] escalated",
64
+ "label.activity-state-pending": "[ms] pending",
65
+ "label.activity-state-rejected": "[ms] rejected",
66
+ "label.activity-state-ended": "[ms] ended",
67
+ "label.activity-state-aborted": "[ms] aborted",
52
68
  "label.days": "[ms] 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-rejected": "rejected",
73
+ "label.filter-proceeding": "proceeding",
58
74
  "label.filter-resubmitted": "resubmitted",
75
+ "label.filter-pending-approval": "pending approval",
59
76
  "label.hours": "[ms] hours",
60
77
  "label.minutes": "[ms] minutes",
61
78
  "label.seconds": "[ms] seconds",
@@ -64,28 +81,33 @@
64
81
  "text.installable-activities": "[ms] installable activities",
65
82
  "text.pick": "[ms] pick",
66
83
  "text.save": "[ms] save",
67
- "text.task_is_finished_successfully": "task is finished successfully.",
68
- "text.task_is_saved_successfully": "task is saved successfully",
69
- "text.task_is_started_successfully": "task is started successfully.",
70
- "title.activity bank": "activity bank",
71
- "title.activity list": "activity list",
72
- "title.activity model item list": "activity model item list",
73
- "title.activity instance list": "activity instance list",
74
- "title.activity instance search": "activity instance search",
75
- "title.activity instance view": "activity instance view",
76
- "title.activity intro": "activity intro",
77
- "title.activity preview": "activity preview",
78
- "title.activity reporter list": "activity reporter list",
79
- "title.activity starter": "activity starter",
80
- "title.activity starter list": "activity starter list",
81
- "title.activity store": "activity store",
82
- "title.activity summary": "activity summary",
83
- "title.activity template model item list": "activity template model item list",
84
- "title.activity template list": "activity template list",
85
- "title.approval waiting list": "approval waiting list",
86
- "title.assigned list": "assigned list",
87
- "title.done list": "done list",
88
- "title.draft list": "draft list",
89
- "title.installable activity list": "installable activity list",
90
- "title.todo list": "todo list"
84
+ "text.task_is_finished_successfully": "[ms] task is finished successfully.",
85
+ "text.task_is_saved_successfully": "[ms] task is saved successfully",
86
+ "text.task_is_started_successfully": "[ms] task is started successfully.",
87
+ "title.activity bank": "[ms] activity bank",
88
+ "title.activity list": "[ms] activity list",
89
+ "title.activity model item list": "[ms] activity model item list",
90
+ "title.activity instance list": "[ms] activity instance list",
91
+ "title.activity instance search": "[ms] activity instance search",
92
+ "title.activity instance view": "[ms] activity instance view",
93
+ "title.activity intro": "[ms] activity intro",
94
+ "title.activity preview": "[ms] activity preview",
95
+ "title.activity reporter list": "[ms] activity reporter list",
96
+ "title.activity schedule (un)register": "[ms] (un)register activity schedule",
97
+ "title.activity starter": "[ms] activity starter",
98
+ "title.activity starter list": "[ms] activity starter list",
99
+ "title.activity store": "[ms] activity store",
100
+ "title.activity summary": "[ms] activity summary",
101
+ "title.activity template model item list": "[ms] activity template model item list",
102
+ "title.activity template list": "[ms] activity template list",
103
+ "title.approval pending list": "[ms] approval pending list",
104
+ "title.assigned list": "[ms] assigned list",
105
+ "title.done list": "[ms] done list",
106
+ "title.draft list": "[ms] draft list",
107
+ "title.edit duration": "[ms] edit duration",
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",
111
+ "title.todo list": "[ms] todo list",
112
+ "title.view page": "[ms] view page"
91
113
  }
@@ -1,23 +1,25 @@
1
1
  {
2
- "button.abort": "abort",
3
- "button.approve": "approve",
4
- "button.assign": "assign",
5
- "button.buy": "buy",
6
- "button.delegate": "delegate",
7
- "button.draft": "draft",
8
- "button.finish": "finish",
9
- "button.pick": "pick",
10
- "button.post": "post",
11
- "button.restart": "restart",
12
- "button.start": "start",
13
- "button.submit": "submit",
14
- "field.activity-type": "activity type",
15
- "field.assignee": "assignee",
16
- "field.assignee-role": "assigneerole",
17
- "field.cycle-time": "CT(sec)",
18
- "field.due-at": "due at",
19
- "field.due-in": "due in",
20
- "field.inout": "inout",
2
+ "button.abort": "[zh] abort",
3
+ "button.approve": "[zh] approve",
4
+ "button.assign": "[zh] assign",
5
+ "button.buy": "[zh] buy",
6
+ "button.delegate": "[zh] delegate",
7
+ "button.draft": "[zh] draft",
8
+ "button.finish": "[zh] finish",
9
+ "button.pick": "[zh] pick",
10
+ "button.post": "[zh] post",
11
+ "button.restart": "[zh] restart",
12
+ "button.start": "[zh] start",
13
+ "button.submit": "[zh] submit",
14
+ "field.activity-type": "[zh] activity type",
15
+ "field.approval-line": "[zh] approval line",
16
+ "field.assignee": "[zh] assignee",
17
+ "field.assignees": "[zh] assignees",
18
+ "field.assignee-role": "[zh] assigneerole",
19
+ "field.cycle-time": "[zh] CT(sec)",
20
+ "field.due-at": "[zh] due at",
21
+ "field.due-in": "[zh] due in",
22
+ "field.inout": "[zh] inout",
21
23
  "field.input-key": "[zh] input-key",
22
24
  "field.issuer": "issuer",
23
25
  "field.hidden": "hidden",
@@ -49,13 +51,28 @@
49
51
  "field.view-type": "[zh] view type",
50
52
  "field.view-source": "[zh] view source",
51
53
  "label.activity-instance": "[zh] activity instance",
54
+ "label.activity-state-draft": "[zh] draft",
55
+ "label.activity-state-released": "[zh] released",
56
+ "label.activity-state-deprecated": "[zh] deprecated",
57
+ "label.activity-state-posted": "[zh] posted",
58
+ "label.activity-state-pending-assignment": "[zh] pending assignment",
59
+ "label.activity-state-assigned": "[zh] assigned",
60
+ "label.activity-state-started": "[zh] started",
61
+ "label.activity-state-delegated": "[zh] delegated",
62
+ "label.activity-state-submitted": "[zh] submitted",
63
+ "label.activity-state-escalated": "[zh] escalated",
64
+ "label.activity-state-pending": "[zh] pending",
65
+ "label.activity-state-rejected": "[zh] rejected",
66
+ "label.activity-state-ended": "[zh] ended",
67
+ "label.activity-state-aborted": "[zh] aborted",
52
68
  "label.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-rejected": "rejected",
73
+ "label.filter-proceeding": "proceeding",
58
74
  "label.filter-resubmitted": "resubmitted",
75
+ "label.filter-pending-approval": "pending approval",
59
76
  "label.hours": "小时",
60
77
  "label.minutes": "分钟",
61
78
  "label.seconds": "秒钟",
@@ -64,28 +81,33 @@
64
81
  "text.installable-activities": "[zh] installable activities",
65
82
  "text.pick": "[zh] pick",
66
83
  "text.save": "[zh] save",
67
- "text.task_is_finished_successfully": "task is finished successfully.",
68
- "text.task_is_saved_successfully": "task is saved successfully",
69
- "text.task_is_started_successfully": "task is started successfully.",
70
- "title.activity bank": "activity bank",
71
- "title.activity list": "activity list",
72
- "title.activity model item list": "activity model item list",
73
- "title.activity instance list": "activity instance list",
74
- "title.activity instance search": "activity instance search",
75
- "title.activity instance view": "activity instance view",
76
- "title.activity intro": "activity intro",
77
- "title.activity preview": "activity preview",
78
- "title.activity reporter list": "activity reporter list",
79
- "title.activity starter": "activity starter",
80
- "title.activity starter list": "activity starter list",
81
- "title.activity store": "activity store",
82
- "title.activity summary": "activity summary",
83
- "title.activity template model item list": "activity template model item list",
84
- "title.activity template list": "activity template list",
85
- "title.approval waiting list": "approval waiting list",
86
- "title.assigned list": "assigned list",
87
- "title.done list": "done list",
88
- "title.draft list": "draft list",
89
- "title.installable activity list": "installable activity list",
90
- "title.todo list": "todo list"
84
+ "text.task_is_finished_successfully": "[zh] task is finished successfully.",
85
+ "text.task_is_saved_successfully": "[zh] task is saved successfully",
86
+ "text.task_is_started_successfully": "[zh] task is started successfully.",
87
+ "title.activity bank": "[zh] activity bank",
88
+ "title.activity list": "[zh] activity list",
89
+ "title.activity model item list": "[zh] activity model item list",
90
+ "title.activity instance list": "[zh] activity instance list",
91
+ "title.activity instance search": "[zh] activity instance search",
92
+ "title.activity instance view": "[zh] activity instance view",
93
+ "title.activity intro": "[zh] activity intro",
94
+ "title.activity preview": "[zh] activity preview",
95
+ "title.activity schedule (un)register": "[zh] (un)register activity schedule",
96
+ "title.activity reporter list": "[zh] activity reporter list",
97
+ "title.activity starter": "[zh] activity starter",
98
+ "title.activity starter list": "[zh] activity starter list",
99
+ "title.activity store": "[zh] activity store",
100
+ "title.activity summary": "[zh] activity summary",
101
+ "title.activity template model item list": "[zh] activity template model item list",
102
+ "title.activity template list": "[zh] activity template list",
103
+ "title.approval pending list": "[zh] approval pending list",
104
+ "title.assigned list": "[zh] assigned list",
105
+ "title.done list": "[zh] done list",
106
+ "title.draft list": "[zh] draft list",
107
+ "title.edit duration": "[zh] edit duration",
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",
111
+ "title.todo list": "[zh] todo list",
112
+ "title.view page": "[zh] view page"
91
113
  }
@@ -1,258 +0,0 @@
1
- import '@operato/data-grist'
2
- import '@operato/input/ox-input-select-buttons.js'
3
-
4
- import gql from 'graphql-tag'
5
- import { css, html } from 'lit'
6
- import { customElement, property, query, state } from 'lit/decorators.js'
7
- import { connect } from 'pwa-helpers/connect-mixin.js'
8
-
9
- import { DataGrist, FetchOption, getRenderer } from '@operato/data-grist'
10
- import { client } from '@operato/graphql'
11
- import { i18next, localize } from '@operato/i18n'
12
- import { PageView, store } from '@operato/shell'
13
- import { CommonGristStyles, ScrollbarStyles } from '@operato/styles'
14
- import { isMobileDevice } from '@operato/utils'
15
-
16
- const FILTERS = [
17
- {
18
- display: 'Important',
19
- value: 'Important'
20
- },
21
- {
22
- display: 'Imminent',
23
- value: 'Imminent'
24
- },
25
- {
26
- display: 'Disapproved',
27
- value: 'Disapproved'
28
- }
29
- ]
30
-
31
- @customElement('assigned-list-page')
32
- export class AssignedListPage extends connect(store)(localize(i18next)(PageView)) {
33
- static styles = [
34
- ScrollbarStyles,
35
- CommonGristStyles,
36
- css`
37
- :host {
38
- display: flex;
39
-
40
- width: 100%;
41
-
42
- --grid-record-emphasized-background-color: red;
43
- --grid-record-emphasized-color: yellow;
44
- }
45
-
46
- #modes {
47
- margin-left: auto;
48
- }
49
- `
50
- ]
51
-
52
- @property({ type: Object }) gristConfig?: any
53
- @property({ type: String }) mode: 'GRID' | 'LIST' | 'CARD' = isMobileDevice() ? 'LIST' : 'GRID'
54
-
55
- @query('ox-grist') grist!: DataGrist
56
-
57
- @state() filters?: string[]
58
-
59
- get context() {
60
- return {
61
- search: {
62
- handler: (search: string) => {
63
- this.grist.searchText = search
64
- },
65
- placeholder: i18next.t('title.assigned list'),
66
- value: this.grist.searchText
67
- },
68
- filter: {
69
- handler: () => {
70
- this.grist.toggleHeadroom()
71
- }
72
- }
73
- }
74
- }
75
-
76
- render() {
77
- const mode = this.mode
78
-
79
- return html`
80
- <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}>
81
- <div slot="headroom">
82
- <div id="filters">
83
- <ox-input-select-buttons
84
- .value=${this.filters}
85
- .options=${FILTERS}
86
- @change=${(e: CustomEvent) => {
87
- this.filters = (e.currentTarget as any)?.value
88
- }}
89
- multiple
90
- ></ox-input-select-buttons>
91
- </div>
92
-
93
- <div id="modes">
94
- <mwc-icon @click=${() => (this.mode = 'GRID')} ?active=${mode == 'GRID'}>grid_on</mwc-icon>
95
- <mwc-icon @click=${() => (this.mode = 'LIST')} ?active=${mode == 'LIST'}>format_list_bulleted</mwc-icon>
96
- <mwc-icon @click=${() => (this.mode = 'CARD')} ?active=${mode == 'CARD'}>apps</mwc-icon>
97
- </div>
98
- </div>
99
- </ox-grist>
100
- `
101
- }
102
-
103
- async pageInitialized(lifecycle) {
104
- this.gristConfig = {
105
- list: {
106
- thumbnail: 'thumbnail',
107
- fields: ['name', 'description'],
108
- details: ['createdAt', 'due']
109
- },
110
- columns: [
111
- { type: 'gutter', gutterName: 'sequence' },
112
- {
113
- type: 'string',
114
- name: 'name',
115
- header: i18next.t('field.name'),
116
- record: {
117
- editable: false
118
- },
119
- filter: 'search',
120
- sortable: true,
121
- width: 150
122
- },
123
- {
124
- type: 'string',
125
- name: 'description',
126
- header: i18next.t('field.description'),
127
- record: {
128
- editable: false
129
- },
130
- filter: 'search',
131
- width: 200
132
- },
133
- {
134
- type: 'string',
135
- name: 'uiSource',
136
- header: i18next.t('field.ui-source'),
137
- record: {
138
- editable: false,
139
- renderer: function (value, column, record, rowIndex, field) {
140
- const { uiType, uiSource } = record.activity || {}
141
- var type = uiType !== 'board' ? 'string' : 'board'
142
- return getRenderer(type)(uiSource, column, record, rowIndex, field)
143
- }
144
- },
145
- width: 140,
146
- hidden: true
147
- },
148
- {
149
- type: 'resource-object',
150
- name: 'creator',
151
- header: i18next.t('field.creator'),
152
- record: {
153
- editable: false
154
- },
155
- sortable: true,
156
- width: 120
157
- },
158
- {
159
- type: 'datetime',
160
- name: 'dueAt',
161
- header: i18next.t('field.due-at'),
162
- record: {
163
- editable: false
164
- },
165
- sortable: true,
166
- // filter: {
167
- // type: 'date',
168
- // operator: 'between'
169
- // },
170
- width: 180
171
- },
172
- {
173
- type: 'datetime',
174
- name: 'updatedAt',
175
- header: i18next.t('field.updated_at'),
176
- record: {
177
- editable: false
178
- },
179
- sortable: true,
180
- width: 180
181
- },
182
- {
183
- type: 'datetime',
184
- name: 'createdAt',
185
- header: i18next.t('field.created_at'),
186
- record: {
187
- editable: false
188
- },
189
- sortable: true,
190
- // filter: 'between',
191
- width: 180
192
- },
193
- {
194
- type: 'image',
195
- name: 'thumbnail',
196
- header: i18next.t('field.thumbnail'),
197
- record: { editable: false },
198
- hidden: true
199
- }
200
- ],
201
- rows: {
202
- appendable: false
203
- },
204
- sorters: [
205
- {
206
- name: 'name'
207
- }
208
- ]
209
- }
210
- }
211
-
212
- async pageUpdated(changes, lifecycle, changedBefore) {
213
- if (this.active) {
214
- this.grist?.fetch()
215
- }
216
- }
217
-
218
- async fetchHandler({ page, limit, sortings = [], filters = [] }: FetchOption) {
219
- const response = await client.query({
220
- query: gql`
221
- query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
222
- responses: activityInstances(filters: $filters, pagination: $pagination, sortings: $sortings) {
223
- items {
224
- id
225
- name
226
- description
227
- priority
228
- state
229
- input
230
- activityType
231
- uiType
232
- uiSource
233
- dueAt
234
- thumbnail
235
- updatedAt
236
- createdAt
237
- creator {
238
- id
239
- name
240
- }
241
- }
242
- total
243
- }
244
- }
245
- `,
246
- variables: {
247
- filters,
248
- pagination: { page, limit },
249
- sortings
250
- }
251
- })
252
-
253
- return {
254
- total: response.data.responses.total || 0,
255
- records: response.data.responses.items || []
256
- }
257
- }
258
- }