@things-factory/worklist 6.0.41 → 6.0.43

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 (150) hide show
  1. package/client/pages/activity/activity-list-page.ts +12 -7
  2. package/client/pages/todo/done-list-page.ts +1 -1
  3. package/client/pages/todo/todo-list-page.ts +1 -1
  4. package/dist-client/pages/activity/activity-list-page.js +12 -7
  5. package/dist-client/pages/activity/activity-list-page.js.map +1 -1
  6. package/dist-client/pages/todo/done-list-page.js +1 -1
  7. package/dist-client/pages/todo/done-list-page.js.map +1 -1
  8. package/dist-client/pages/todo/todo-list-page.js +1 -1
  9. package/dist-client/pages/todo/todo-list-page.js.map +1 -1
  10. package/dist-client/route.d.ts +1 -1
  11. package/dist-client/tsconfig.tsbuildinfo +1 -1
  12. package/dist-server/controllers/activity-approval/_abort.js +11 -0
  13. package/dist-server/controllers/activity-approval/_abort.js.map +1 -0
  14. package/dist-server/controllers/activity-approval/abort.js +34 -0
  15. package/dist-server/controllers/activity-approval/abort.js.map +1 -0
  16. package/dist-server/controllers/activity-approval/approve.js +10 -0
  17. package/dist-server/controllers/activity-approval/approve.js.map +1 -1
  18. package/dist-server/controllers/activity-approval/delegate.js +10 -0
  19. package/dist-server/controllers/activity-approval/delegate.js.map +1 -1
  20. package/dist-server/controllers/activity-approval/reject.js +10 -0
  21. package/dist-server/controllers/activity-approval/reject.js.map +1 -1
  22. package/dist-server/controllers/activity-instance/abort.js +35 -1
  23. package/dist-server/controllers/activity-instance/abort.js.map +1 -1
  24. package/dist-server/controllers/activity-instance/adjust-xxx.js +16 -0
  25. package/dist-server/controllers/activity-instance/adjust-xxx.js.map +1 -0
  26. package/dist-server/controllers/activity-instance/assign.js +11 -0
  27. package/dist-server/controllers/activity-instance/assign.js.map +1 -1
  28. package/dist-server/controllers/activity-instance/end.js +34 -1
  29. package/dist-server/controllers/activity-instance/end.js.map +1 -1
  30. package/dist-server/controllers/activity-instance/index.js +0 -4
  31. package/dist-server/controllers/activity-instance/index.js.map +1 -1
  32. package/dist-server/controllers/activity-instance/pick.js +11 -0
  33. package/dist-server/controllers/activity-instance/pick.js.map +1 -1
  34. package/dist-server/controllers/activity-instance/post.js +10 -0
  35. package/dist-server/controllers/activity-instance/post.js.map +1 -1
  36. package/dist-server/controllers/activity-instance/start-xxx.js +16 -0
  37. package/dist-server/controllers/activity-instance/start-xxx.js.map +1 -0
  38. package/dist-server/controllers/activity-instance/terminate-xxx.js +25 -0
  39. package/dist-server/controllers/activity-instance/terminate-xxx.js.map +1 -0
  40. package/dist-server/controllers/activity-thread/_abort.js +29 -0
  41. package/dist-server/controllers/activity-thread/_abort.js.map +1 -0
  42. package/dist-server/controllers/activity-thread/abort.js +15 -2
  43. package/dist-server/controllers/activity-thread/abort.js.map +1 -1
  44. package/dist-server/controllers/activity-thread/delegate.js +10 -0
  45. package/dist-server/controllers/activity-thread/delegate.js.map +1 -1
  46. package/dist-server/controllers/activity-thread/end.js +12 -0
  47. package/dist-server/controllers/activity-thread/end.js.map +1 -1
  48. package/dist-server/controllers/activity-thread/index.js +0 -2
  49. package/dist-server/controllers/activity-thread/index.js.map +1 -1
  50. package/dist-server/controllers/activity-thread/restart.js +11 -0
  51. package/dist-server/controllers/activity-thread/restart.js.map +1 -1
  52. package/dist-server/controllers/activity-thread/save.js +13 -0
  53. package/dist-server/controllers/activity-thread/save.js.map +1 -1
  54. package/dist-server/controllers/activity-thread/start.js +10 -0
  55. package/dist-server/controllers/activity-thread/start.js.map +1 -1
  56. package/dist-server/controllers/activity-thread/submit.js +10 -0
  57. package/dist-server/controllers/activity-thread/submit.js.map +1 -1
  58. package/dist-server/service/activity/activity-type.js +8 -0
  59. package/dist-server/service/activity/activity-type.js.map +1 -1
  60. package/dist-server/service/activity/activity.js +19 -1
  61. package/dist-server/service/activity/activity.js.map +1 -1
  62. package/dist-server/service/activity-approval/activity-approval.js +1 -1
  63. package/dist-server/service/activity-approval/activity-approval.js.map +1 -1
  64. package/dist-server/service/activity-instance/activity-instance-mutation.js +0 -29
  65. package/dist-server/service/activity-instance/activity-instance-mutation.js.map +1 -1
  66. package/dist-server/tsconfig.tsbuildinfo +1 -1
  67. package/helps/worklist/worklist-concept.md +69 -0
  68. package/package.json +9 -9
  69. package/server/controllers/activity-approval/_abort.ts +20 -0
  70. package/server/controllers/activity-approval/abort.ts +44 -0
  71. package/server/controllers/activity-approval/approve.ts +13 -0
  72. package/server/controllers/activity-approval/delegate.ts +13 -0
  73. package/server/controllers/activity-approval/reject.ts +13 -0
  74. package/server/controllers/activity-instance/abort.ts +46 -2
  75. package/server/controllers/activity-instance/assign.ts +17 -1
  76. package/server/controllers/activity-instance/end.ts +45 -2
  77. package/server/controllers/activity-instance/index.ts +0 -4
  78. package/server/controllers/activity-instance/pick.ts +17 -1
  79. package/server/controllers/activity-instance/post.ts +13 -0
  80. package/server/controllers/activity-thread/_abort.ts +43 -0
  81. package/server/controllers/activity-thread/abort.ts +20 -10
  82. package/server/controllers/activity-thread/delegate.ts +13 -0
  83. package/server/controllers/activity-thread/end.ts +17 -0
  84. package/server/controllers/activity-thread/index.ts +0 -2
  85. package/server/controllers/activity-thread/restart.ts +14 -0
  86. package/server/controllers/activity-thread/save.ts +18 -0
  87. package/server/controllers/activity-thread/start.ts +13 -0
  88. package/server/controllers/activity-thread/submit.ts +13 -0
  89. package/server/service/activity/activity-type.ts +7 -1
  90. package/server/service/activity/activity.ts +19 -0
  91. package/server/service/activity-approval/activity-approval.ts +1 -1
  92. package/server/service/activity-instance/activity-instance-mutation.ts +1 -23
  93. package/dist-client/components/activity-search-keys-input.d.ts +0 -17
  94. package/dist-client/components/activity-search-keys-input.js +0 -173
  95. package/dist-client/components/activity-search-keys-input.js.map +0 -1
  96. package/dist-client/components/grist-editor-activity-search-key.d.ts +0 -12
  97. package/dist-client/components/grist-editor-activity-search-key.js +0 -70
  98. package/dist-client/components/grist-editor-activity-search-key.js.map +0 -1
  99. package/dist-client/components/popup-activity-search-keys-input.d.ts +0 -17
  100. package/dist-client/components/popup-activity-search-keys-input.js +0 -177
  101. package/dist-client/components/popup-activity-search-keys-input.js.map +0 -1
  102. package/dist-client/pages/activity-thread/activity-thread-view.d.ts +0 -11
  103. package/dist-client/pages/activity-thread/activity-thread-view.js +0 -103
  104. package/dist-client/pages/activity-thread/activity-thread-view.js.map +0 -1
  105. package/dist-client/pages/todo/approval-waiting-list-page.d.ts +0 -40
  106. package/dist-client/pages/todo/approval-waiting-list-page.js +0 -361
  107. package/dist-client/pages/todo/approval-waiting-list-page.js.map +0 -1
  108. package/dist-client/pages/todo/assigned-list-page.d.ts +0 -36
  109. package/dist-client/pages/todo/assigned-list-page.js +0 -266
  110. package/dist-client/pages/todo/assigned-list-page.js.map +0 -1
  111. package/dist-client/types/domain.d.ts +0 -16
  112. package/dist-client/types/domain.js +0 -3
  113. package/dist-client/types/domain.js.map +0 -1
  114. package/dist-client/types/privilege.d.ts +0 -16
  115. package/dist-client/types/privilege.js +0 -3
  116. package/dist-client/types/privilege.js.map +0 -1
  117. package/dist-client/types/role.d.ts +0 -19
  118. package/dist-client/types/role.js +0 -3
  119. package/dist-client/types/role.js.map +0 -1
  120. package/dist-client/types/user.d.ts +0 -18
  121. package/dist-client/types/user.js +0 -12
  122. package/dist-client/types/user.js.map +0 -1
  123. package/dist-client/types.d.ts +0 -25
  124. package/dist-client/types.js +0 -38
  125. package/dist-client/types.js.map +0 -1
  126. package/dist-server/controllers/activity-installation/callback-registry.js +0 -21
  127. package/dist-server/controllers/activity-installation/callback-registry.js.map +0 -1
  128. package/dist-server/controllers/activity-installation-controller.js +0 -17
  129. package/dist-server/controllers/activity-installation-controller.js.map +0 -1
  130. package/dist-server/controllers/call-webhook.js +0 -41
  131. package/dist-server/controllers/call-webhook.js.map +0 -1
  132. package/dist-server/service/activity-key-set/activity-key-item-type.js +0 -50
  133. package/dist-server/service/activity-key-set/activity-key-item-type.js.map +0 -1
  134. package/dist-server/service/activity-key-set/activity-key-set-mutation.js +0 -127
  135. package/dist-server/service/activity-key-set/activity-key-set-mutation.js.map +0 -1
  136. package/dist-server/service/activity-key-set/activity-key-set-query.js +0 -97
  137. package/dist-server/service/activity-key-set/activity-key-set-query.js.map +0 -1
  138. package/dist-server/service/activity-key-set/activity-key-set-type.js +0 -74
  139. package/dist-server/service/activity-key-set/activity-key-set-type.js.map +0 -1
  140. package/dist-server/service/activity-key-set/activity-key-set.js +0 -86
  141. package/dist-server/service/activity-key-set/activity-key-set.js.map +0 -1
  142. package/dist-server/service/activity-key-set/index.js +0 -9
  143. package/dist-server/service/activity-key-set/index.js.map +0 -1
  144. package/server/controllers/activity-instance/adjust.ts +0 -25
  145. package/server/controllers/activity-instance/bid.ts +0 -52
  146. package/server/controllers/activity-instance/delegate.ts +0 -56
  147. package/server/controllers/activity-instance/start.ts +0 -20
  148. package/server/controllers/activity-instance/terminate.ts +0 -39
  149. package/server/controllers/activity-thread/adjust.ts +0 -40
  150. package/server/controllers/activity-thread/terminate.ts +0 -37
@@ -25,6 +25,19 @@ export async function submit(
25
25
  )
26
26
  }
27
27
 
28
+ /*
29
+ Prerequisites for a activity thread to Be Started.
30
+ - The previous state of the activity thread must not be terminated.
31
+ */
32
+ if (activityThread.state !== ActivityThreadStatus.Assigned && activityThread.state !== ActivityThreadStatus.Started) {
33
+ throw new Error(
34
+ context.t(`error.activity-thread should not be submitted`, {
35
+ id,
36
+ actual: activityThread.state
37
+ })
38
+ )
39
+ }
40
+
28
41
  if (!activityThread.startedAt) {
29
42
  activityThread.startedAt = new Date()
30
43
  }
@@ -6,7 +6,7 @@ import { ObjectRef, ScalarObject } from '@things-factory/shell'
6
6
  import { ApprovalLineItem } from '@things-factory/organization'
7
7
 
8
8
  import { AssigneeItem } from '../activity-instance/activity-instance'
9
- import { Activity, ActivityStatus, ActivityType, ActivityUIType } from './activity'
9
+ import { Activity, ActivityStatus, ActivityType, ActivityUIType, MultipleInstanceType } from './activity'
10
10
  import { ActivityModelItem } from './activity-model-type'
11
11
  import { ActivitySearchKeyItem } from './activity-search-key-item-type'
12
12
 
@@ -36,6 +36,9 @@ export class NewActivity {
36
36
  @Field({ nullable: true })
37
37
  startable?: boolean
38
38
 
39
+ @Field({ nullable: true })
40
+ multiple?: MultipleInstanceType
41
+
39
42
  @Field({ nullable: true })
40
43
  schedule?: string
41
44
 
@@ -117,6 +120,9 @@ export class ActivityPatch {
117
120
  @Field({ nullable: true })
118
121
  startable?: boolean
119
122
 
123
+ @Field({ nullable: true })
124
+ multiple?: MultipleInstanceType
125
+
120
126
  @Field({ nullable: true })
121
127
  schedule?: string
122
128
 
@@ -48,6 +48,17 @@ registerEnumType(ActivityType, {
48
48
  description: 'type enumeration of a activity based on BPMN 2.0'
49
49
  })
50
50
 
51
+ export enum MultipleInstanceType {
52
+ Single = '',
53
+ Parallel = 'parallel',
54
+ Sequential = 'sequential'
55
+ }
56
+
57
+ registerEnumType(MultipleInstanceType, {
58
+ name: 'MultipleInstanceType',
59
+ description: 'type enumeration of a multiple instance property based on BPMN 2.0'
60
+ })
61
+
51
62
  export enum ActivityUIType {
52
63
  Generated = 'generated',
53
64
  Template = 'template',
@@ -114,6 +125,14 @@ export class Activity {
114
125
  @Field({ nullable: true, description: 'Whether the task can be started arbitrarily by a user with privileges' })
115
126
  startable?: boolean
116
127
 
128
+ @Column({ nullable: true })
129
+ @Field({
130
+ nullable: true,
131
+ description:
132
+ 'Parallel or sequential are properties as a multi-instance activity, otherwise it means a single instance.'
133
+ })
134
+ multiple?: MultipleInstanceType
135
+
117
136
  @Column({ nullable: true })
118
137
  @Field({ nullable: true, description: 'Autostart schedule in crontab format' })
119
138
  schedule?: string
@@ -77,7 +77,7 @@ export class ActivityApproval {
77
77
  round: number = 1
78
78
 
79
79
  @Column({ nullable: true, default: 0 })
80
- @Field({ nullable: true, description: 'Nth order approval for given activity thread' })
80
+ @Field({ nullable: true, description: 'Nth order approval for the given activity thread' })
81
81
  order?: number = 0
82
82
 
83
83
  @ManyToOne(type => User, { nullable: true })
@@ -2,7 +2,7 @@ import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'
2
2
 
3
3
  import { ObjectRef, ScalarObject } from '@things-factory/shell'
4
4
 
5
- import { abort, adjust, assign, delegate, draft, end, pick, post } from '../../controllers/activity-instance'
5
+ import { abort, assign, draft, end, pick, post } from '../../controllers/activity-instance'
6
6
  import { ActivityThread } from '../activity-thread/activity-thread'
7
7
  import { ActivityInstance } from './activity-instance'
8
8
  import { ActivityInstancePatch, ActivityInstancePost, NewActivityInstance } from './activity-instance-type'
@@ -57,28 +57,6 @@ export class ActivityInstanceMutation {
57
57
  )
58
58
  }
59
59
 
60
- @Directive('@transaction')
61
- @Mutation(returns => ActivityInstance, { description: 'To modify ActivityInstance information' })
62
- async updateActivityInstance(
63
- @Arg('id') id: string,
64
- @Arg('patch') patch: ActivityInstancePatch,
65
- @Ctx() context: ResolverContext
66
- ): Promise<ActivityInstance> {
67
- return await adjust(id, patch, context)
68
- }
69
-
70
- @Directive('@transaction')
71
- @Mutation(returns => ActivityInstance, { description: 'To delegate a ActivityInstance' })
72
- async delegateActivityInstance(
73
- @Arg('id') id: string,
74
- @Arg('assigneeRole', type => ObjectRef, { nullable: true }) assigneeRole: ObjectRef,
75
- @Arg('dueAt', { nullable: true }) dueAt: Date,
76
- @Arg('reason', { nullable: true }) reason: string,
77
- @Ctx() context: ResolverContext
78
- ): Promise<ActivityInstance> {
79
- return await delegate({ id, assigneeRole, dueAt, reason }, context)
80
- }
81
-
82
60
  @Directive('@transaction')
83
61
  @Mutation(returns => ActivityInstance, { description: 'To end a ActivityInstance' })
84
62
  async endActivityInstance(
@@ -1,17 +0,0 @@
1
- import { LitElement } from 'lit';
2
- import { FetchOption } from '@operato/data-grist';
3
- import { ActivitySearchKeyItem } from '../types';
4
- declare const ActivitySearchKeysInput_base: (new (...args: any[]) => LitElement) & typeof LitElement;
5
- export declare class ActivitySearchKeysInput extends ActivitySearchKeysInput_base {
6
- static styles: import("lit").CSSResult[];
7
- value: ActivitySearchKeyItem[];
8
- gristConfig: any;
9
- private grist;
10
- render(): import("lit-html").TemplateResult<1>;
11
- fetchHandler({ filters, page, limit, sortings }: FetchOption): Promise<{
12
- total: number;
13
- records: ActivitySearchKeyItem[];
14
- }>;
15
- private updateSearchKeyItems;
16
- }
17
- export {};
@@ -1,173 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { css, html, LitElement } from 'lit';
3
- import { customElement, property, query, state } from 'lit/decorators.js';
4
- import { i18next, localize } from '@operato/i18n';
5
- import { isMobileDevice } from '@operato/utils';
6
- import { DataGrist } from '@operato/data-grist';
7
- let ActivitySearchKeysInput = class ActivitySearchKeysInput extends localize(i18next)(LitElement) {
8
- constructor() {
9
- super(...arguments);
10
- this.value = [];
11
- this.gristConfig = {
12
- list: { fields: ['name', 'description', 'active'] },
13
- columns: [
14
- { type: 'gutter', gutterName: 'row-selector', multiple: true },
15
- {
16
- type: 'gutter',
17
- gutterName: 'button',
18
- icon: 'add',
19
- handlers: {
20
- click: 'record-copy'
21
- }
22
- },
23
- {
24
- type: 'gutter',
25
- gutterName: 'button',
26
- icon: 'delete',
27
- handlers: {
28
- click: 'record-delete'
29
- }
30
- },
31
- { type: 'gutter', gutterName: 'sequence' },
32
- {
33
- type: 'gutter',
34
- gutterName: 'button',
35
- icon: 'arrow_upward',
36
- handlers: {
37
- click: 'move-up'
38
- }
39
- },
40
- {
41
- type: 'gutter',
42
- gutterName: 'button',
43
- icon: 'arrow_downward',
44
- handlers: {
45
- click: 'move-down'
46
- }
47
- },
48
- {
49
- type: 'string',
50
- name: 'name',
51
- header: i18next.t('field.name'),
52
- record: {
53
- editable: true
54
- },
55
- width: 140
56
- },
57
- {
58
- type: 'string',
59
- name: 'description',
60
- header: i18next.t('field.description'),
61
- record: {
62
- editable: true
63
- },
64
- width: 180
65
- },
66
- {
67
- type: 'string',
68
- name: 'inputKey',
69
- header: i18next.t('field.input-key'),
70
- record: {
71
- editable: true
72
- },
73
- width: 180
74
- },
75
- {
76
- type: 'string',
77
- name: 'tKey',
78
- header: i18next.t('field.t-key'),
79
- record: {
80
- editable: true
81
- },
82
- width: 180
83
- }
84
- ],
85
- rows: {
86
- selectable: {
87
- multiple: true
88
- }
89
- },
90
- pagination: {
91
- infinite: true
92
- },
93
- sorters: []
94
- };
95
- }
96
- render() {
97
- return html `
98
- <ox-grist
99
- .mode=${isMobileDevice() ? 'LIST' : 'GRID'}
100
- .config=${this.gristConfig}
101
- .fetchHandler=${this.fetchHandler.bind(this)}
102
- ></ox-grist>
103
- <div class="button-container">
104
- <mwc-button raised @click=${this.updateSearchKeyItems.bind(this)}>${i18next.t('button.save')}</mwc-button>
105
- </div>
106
- `;
107
- }
108
- async fetchHandler({ filters, page, limit, sortings = [] }) {
109
- const records = this.value || [];
110
- return {
111
- total: records.length,
112
- records
113
- };
114
- }
115
- async updateSearchKeyItems() {
116
- this.grist.commit();
117
- this.value = this.grist.data.records.map(({ name, description, inputKey, tKey }) => {
118
- return {
119
- name,
120
- description,
121
- inputKey,
122
- tKey
123
- };
124
- });
125
- this.dispatchEvent(new CustomEvent('change', {
126
- detail: this.value
127
- }));
128
- }
129
- };
130
- ActivitySearchKeysInput.styles = [
131
- css `
132
- :host {
133
- display: flex;
134
- flex-direction: column;
135
-
136
- background-color: #fff;
137
- }
138
-
139
- ox-grist {
140
- flex: 1;
141
- }
142
-
143
- .button-container {
144
- display: flex;
145
- margin-left: auto;
146
- padding: var(--padding-default);
147
- }
148
-
149
- [danger] {
150
- --mdc-theme-primary: var(--mdc-danger-button-primary-color);
151
- }
152
- mwc-button {
153
- margin-left: var(--margin-default);
154
- }
155
- `
156
- ];
157
- __decorate([
158
- property({ type: Array }),
159
- __metadata("design:type", Array)
160
- ], ActivitySearchKeysInput.prototype, "value", void 0);
161
- __decorate([
162
- state(),
163
- __metadata("design:type", Object)
164
- ], ActivitySearchKeysInput.prototype, "gristConfig", void 0);
165
- __decorate([
166
- query('ox-grist'),
167
- __metadata("design:type", DataGrist)
168
- ], ActivitySearchKeysInput.prototype, "grist", void 0);
169
- ActivitySearchKeysInput = __decorate([
170
- customElement('activity-search-keys-input')
171
- ], ActivitySearchKeysInput);
172
- export { ActivitySearchKeysInput };
173
- //# sourceMappingURL=activity-search-keys-input.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"activity-search-keys-input.js","sourceRoot":"","sources":["../../client/components/activity-search-keys-input.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, html, LitElement } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\nimport { i18next, localize } from '@operato/i18n'\nimport { isMobileDevice } from '@operato/utils'\nimport { getEditor, getRenderer, ColumnConfig, DataGrist, FetchOption, SortersControl } from '@operato/data-grist'\nimport { ActivitySearchKeyItem } from '../types'\n\n@customElement('activity-search-keys-input')\nexport class ActivitySearchKeysInput extends localize(i18next)(LitElement) {\n static styles = [\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: #fff;\n }\n\n ox-grist {\n flex: 1;\n }\n\n .button-container {\n display: flex;\n margin-left: auto;\n padding: var(--padding-default);\n }\n\n [danger] {\n --mdc-theme-primary: var(--mdc-danger-button-primary-color);\n }\n mwc-button {\n margin-left: var(--margin-default);\n }\n `\n ]\n\n @property({ type: Array }) value: ActivitySearchKeyItem[] = []\n\n @state() gristConfig: any = {\n list: { fields: ['name', 'description', 'active'] },\n columns: [\n { type: 'gutter', gutterName: 'row-selector', multiple: true },\n {\n type: 'gutter',\n gutterName: 'button',\n icon: 'add',\n handlers: {\n click: 'record-copy'\n }\n },\n {\n type: 'gutter',\n gutterName: 'button',\n icon: 'delete',\n handlers: {\n click: 'record-delete'\n }\n },\n { type: 'gutter', gutterName: 'sequence' },\n {\n type: 'gutter',\n gutterName: 'button',\n icon: 'arrow_upward',\n handlers: {\n click: 'move-up'\n }\n },\n {\n type: 'gutter',\n gutterName: 'button',\n icon: 'arrow_downward',\n handlers: {\n click: 'move-down'\n }\n },\n {\n type: 'string',\n name: 'name',\n header: i18next.t('field.name'),\n record: {\n editable: true\n },\n width: 140\n },\n {\n type: 'string',\n name: 'description',\n header: i18next.t('field.description'),\n record: {\n editable: true\n },\n width: 180\n },\n {\n type: 'string',\n name: 'inputKey',\n header: i18next.t('field.input-key'),\n record: {\n editable: true\n },\n width: 180\n },\n {\n type: 'string',\n name: 'tKey',\n header: i18next.t('field.t-key'),\n record: {\n editable: true\n },\n width: 180\n }\n ],\n rows: {\n selectable: {\n multiple: true\n }\n },\n pagination: {\n infinite: true\n },\n sorters: []\n }\n\n @query('ox-grist') private grist!: DataGrist\n\n render() {\n return html`\n <ox-grist\n .mode=${isMobileDevice() ? 'LIST' : 'GRID'}\n .config=${this.gristConfig}\n .fetchHandler=${this.fetchHandler.bind(this)}\n ></ox-grist>\n <div class=\"button-container\">\n <mwc-button raised @click=${this.updateSearchKeyItems.bind(this)}>${i18next.t('button.save')}</mwc-button>\n </div>\n `\n }\n\n async fetchHandler({ filters, page, limit, sortings = [] }: FetchOption) {\n const records = this.value || []\n return {\n total: records.length,\n records\n }\n }\n\n private async updateSearchKeyItems() {\n this.grist.commit()\n\n this.value = this.grist.data.records.map(({ name, description, inputKey, tKey }) => {\n return {\n name,\n description,\n inputKey,\n tKey\n }\n })\n\n this.dispatchEvent(\n new CustomEvent('change', {\n detail: this.value\n })\n )\n }\n}\n"]}
@@ -1,12 +0,0 @@
1
- /**
2
- * @license Copyright © HatioLab Inc. All rights reserved.
3
- */
4
- import './popup-activity-search-keys-input.js';
5
- import { OxGristEditor } from '@operato/data-grist';
6
- export declare class GristEditorActivitySearchKeys extends OxGristEditor {
7
- private popup?;
8
- get editorTemplate(): import("lit-html").TemplateResult<1>;
9
- _onclick(e: Event): void;
10
- _onkeydown(e: KeyboardEvent): void;
11
- openEditorPopup(): Promise<void>;
12
- }
@@ -1,70 +0,0 @@
1
- /**
2
- * @license Copyright © HatioLab Inc. All rights reserved.
3
- */
4
- import { __decorate } from "tslib";
5
- import './popup-activity-search-keys-input.js';
6
- import { html } from 'lit';
7
- import { customElement } from 'lit/decorators.js';
8
- import { OxGristEditor } from '@operato/data-grist';
9
- import { i18next } from '@operato/i18n';
10
- import { openPopup } from '@operato/popup';
11
- let GristEditorActivitySearchKeys = class GristEditorActivitySearchKeys extends OxGristEditor {
12
- get editorTemplate() {
13
- const value = typeof this.value === 'object' ? JSON.stringify(this.value) : this.value;
14
- return html ` <div tabindex="0">${value || ''}</div> `;
15
- }
16
- _onclick(e) {
17
- e.stopPropagation();
18
- this.openEditorPopup();
19
- }
20
- _onkeydown(e) {
21
- const key = e.key;
22
- if (key == 'Enter') {
23
- e.stopPropagation();
24
- this.openEditorPopup();
25
- }
26
- }
27
- async openEditorPopup() {
28
- var _a;
29
- if (this.popup) {
30
- delete this.popup;
31
- }
32
- const { name, help } = ((_a = this.column.record) === null || _a === void 0 ? void 0 : _a.options) || {};
33
- const confirmCallback = (newval) => {
34
- this.dispatchEvent(new CustomEvent('field-change', {
35
- bubbles: true,
36
- composed: true,
37
- detail: {
38
- before: this.value,
39
- after: newval,
40
- record: this.record,
41
- column: this.column,
42
- row: this.row
43
- }
44
- }));
45
- };
46
- /*
47
- 주의 : 이 팝업 템플릿은 layout 모듈에 의해서 render 되므로,
48
- layout의 구성에 변화가 발생하면, 다시 render된다.
49
- 이 팝업이 떠 있는 상태에서, 또 다른 팝업이 뜨는 경우도 layout 구성의 변화를 야기한다. (overlay의 갯수의 증가)
50
- 이 경우 value, options, confirmCallback 등 클로져를 사용한 것들이 초기 바인딩된 값으로 다시 바인딩되게 되는데,
51
- 만약, 템플릿 내부에서 이들 속성의 레퍼런스가 변화했다면, 원래 상태로 되돌아가는 현상이 발생하게 된다.
52
- 따라서, 가급적 이들 속성의 레퍼런스를 변화시키지 않는 것이 좋다.
53
- */
54
- var template = html `
55
- <popup-activity-search-keys-input .value=${this.value} .confirmCallback=${confirmCallback}>
56
- </popup-activity-search-keys-input>
57
- `;
58
- this.popup = openPopup(template, {
59
- backdrop: true,
60
- size: 'large',
61
- title: `${(name === null || name === void 0 ? void 0 : name.toUpperCase()) || i18next.t('field.search-keys')} `,
62
- help
63
- });
64
- }
65
- };
66
- GristEditorActivitySearchKeys = __decorate([
67
- customElement('grist-editor-activity-search-keys')
68
- ], GristEditorActivitySearchKeys);
69
- export { GristEditorActivitySearchKeys };
70
- //# sourceMappingURL=grist-editor-activity-search-key.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grist-editor-activity-search-key.js","sourceRoot":"","sources":["../../client/components/grist-editor-activity-search-key.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,OAAO,uCAAuC,CAAA;AAE9C,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAA;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,SAAS,EAAe,MAAM,gBAAgB,CAAA;AAGhD,IAAM,6BAA6B,GAAnC,MAAM,6BAA8B,SAAQ,aAAa;IAG9D,IAAI,cAAc;QAChB,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;QACtF,OAAO,IAAI,CAAA,sBAAsB,KAAK,IAAI,EAAE,SAAS,CAAA;IACvD,CAAC;IAED,QAAQ,CAAC,CAAQ;QACf,CAAC,CAAC,eAAe,EAAE,CAAA;QACnB,IAAI,CAAC,eAAe,EAAE,CAAA;IACxB,CAAC;IAED,UAAU,CAAC,CAAgB;QACzB,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAA;QACjB,IAAI,GAAG,IAAI,OAAO,EAAE;YAClB,CAAC,CAAC,eAAe,EAAE,CAAA;YACnB,IAAI,CAAC,eAAe,EAAE,CAAA;SACvB;IACH,CAAC;IAED,KAAK,CAAC,eAAe;;QACnB,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,OAAO,IAAI,CAAC,KAAK,CAAA;SAClB;QAED,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAA,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,0CAAE,OAAO,KAAI,EAAE,CAAA;QAExD,MAAM,eAAe,GAAG,CAAC,MAAW,EAAE,EAAE;YACtC,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,cAAc,EAAE;gBAC9B,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE;oBACN,MAAM,EAAE,IAAI,CAAC,KAAK;oBAClB,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,GAAG,EAAE,IAAI,CAAC,GAAG;iBACd;aACF,CAAC,CACH,CAAA;QACH,CAAC,CAAA;QAED;;;;;;;UAOE;QACF,IAAI,QAAQ,GAAG,IAAI,CAAA;iDAC0B,IAAI,CAAC,KAAK,qBAAqB,eAAe;;KAE1F,CAAA;QAED,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE;YAC/B,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,EAAE,KAAI,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG;YAClE,IAAI;SACL,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAhEY,6BAA6B;IADzC,aAAa,CAAC,mCAAmC,CAAC;GACtC,6BAA6B,CAgEzC;SAhEY,6BAA6B","sourcesContent":["/**\n * @license Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport './popup-activity-search-keys-input.js'\n\nimport { html } from 'lit'\nimport { customElement } from 'lit/decorators.js'\n\nimport { OxGristEditor } from '@operato/data-grist'\nimport { i18next } from '@operato/i18n'\nimport { openPopup, PopupHandle } from '@operato/popup'\n\n@customElement('grist-editor-activity-search-keys')\nexport class GristEditorActivitySearchKeys extends OxGristEditor {\n private popup?: PopupHandle\n\n get editorTemplate() {\n const value = typeof this.value === 'object' ? JSON.stringify(this.value) : this.value\n return html` <div tabindex=\"0\">${value || ''}</div> `\n }\n\n _onclick(e: Event): void {\n e.stopPropagation()\n this.openEditorPopup()\n }\n\n _onkeydown(e: KeyboardEvent): void {\n const key = e.key\n if (key == 'Enter') {\n e.stopPropagation()\n this.openEditorPopup()\n }\n }\n\n async openEditorPopup() {\n if (this.popup) {\n delete this.popup\n }\n\n const { name, help } = this.column.record?.options || {}\n\n const confirmCallback = (newval: any) => {\n this.dispatchEvent(\n new CustomEvent('field-change', {\n bubbles: true,\n composed: true,\n detail: {\n before: this.value,\n after: newval,\n record: this.record,\n column: this.column,\n row: this.row\n }\n })\n )\n }\n\n /* \n 주의 : 이 팝업 템플릿은 layout 모듈에 의해서 render 되므로, \n layout의 구성에 변화가 발생하면, 다시 render된다.\n 이 팝업이 떠 있는 상태에서, 또 다른 팝업이 뜨는 경우도 layout 구성의 변화를 야기한다. (overlay의 갯수의 증가)\n 이 경우 value, options, confirmCallback 등 클로져를 사용한 것들이 초기 바인딩된 값으로 다시 바인딩되게 되는데,\n 만약, 템플릿 내부에서 이들 속성의 레퍼런스가 변화했다면, 원래 상태로 되돌아가는 현상이 발생하게 된다.\n 따라서, 가급적 이들 속성의 레퍼런스를 변화시키지 않는 것이 좋다.\n */\n var template = html`\n <popup-activity-search-keys-input .value=${this.value} .confirmCallback=${confirmCallback}>\n </popup-activity-search-keys-input>\n `\n\n this.popup = openPopup(template, {\n backdrop: true,\n size: 'large',\n title: `${name?.toUpperCase() || i18next.t('field.search-keys')} `,\n help\n })\n }\n}\n"]}
@@ -1,17 +0,0 @@
1
- import { LitElement } from 'lit';
2
- import { FetchOption } from '@operato/data-grist';
3
- import { ActivitySearchKeyItem } from '../types';
4
- export declare class PopupActivitySearchKeysInput extends LitElement {
5
- static styles: import("lit").CSSResult[];
6
- value: ActivitySearchKeyItem[];
7
- confirmCallback: (newval: any) => void;
8
- gristConfig: any;
9
- private grist;
10
- render(): import("lit-html").TemplateResult<1>;
11
- fetchHandler({ filters, page, limit, sortings }: FetchOption): Promise<{
12
- total: number;
13
- records: ActivitySearchKeyItem[];
14
- }>;
15
- private onCancel;
16
- private onConfirm;
17
- }
@@ -1,177 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { css, html, LitElement } from 'lit';
3
- import { customElement, property, query, state } from 'lit/decorators.js';
4
- import { i18next } from '@operato/i18n';
5
- import { closePopup } from '@operato/popup';
6
- import { ScrollbarStyles } from '@operato/styles';
7
- import { isMobileDevice } from '@operato/utils';
8
- import { DataGrist } from '@operato/data-grist';
9
- let PopupActivitySearchKeysInput = class PopupActivitySearchKeysInput extends LitElement {
10
- constructor() {
11
- super(...arguments);
12
- this.value = [];
13
- this.gristConfig = {
14
- list: { fields: ['name', 'description', 'active'] },
15
- columns: [
16
- { type: 'gutter', gutterName: 'sequence' },
17
- {
18
- type: 'gutter',
19
- gutterName: 'button',
20
- icon: 'add',
21
- handlers: {
22
- click: 'record-copy'
23
- }
24
- },
25
- {
26
- type: 'gutter',
27
- gutterName: 'button',
28
- icon: 'delete',
29
- handlers: {
30
- click: 'record-delete'
31
- }
32
- },
33
- {
34
- type: 'gutter',
35
- gutterName: 'button',
36
- icon: 'arrow_upward',
37
- handlers: {
38
- click: 'move-up'
39
- }
40
- },
41
- {
42
- type: 'gutter',
43
- gutterName: 'button',
44
- icon: 'arrow_downward',
45
- handlers: {
46
- click: 'move-down'
47
- }
48
- },
49
- {
50
- type: 'string',
51
- name: 'name',
52
- header: i18next.t('field.name'),
53
- record: {
54
- editable: true
55
- },
56
- width: 140
57
- },
58
- {
59
- type: 'string',
60
- name: 'description',
61
- header: i18next.t('field.description'),
62
- record: {
63
- editable: true
64
- },
65
- width: 180
66
- },
67
- {
68
- type: 'string',
69
- name: 'inputKey',
70
- header: i18next.t('field.input-key'),
71
- record: {
72
- editable: true
73
- },
74
- width: 180
75
- },
76
- {
77
- type: 'string',
78
- name: 'tKey',
79
- header: i18next.t('field.t-key'),
80
- record: {
81
- editable: true
82
- },
83
- width: 180
84
- }
85
- ],
86
- rows: {
87
- selectable: false
88
- },
89
- pagination: {
90
- infinite: true
91
- },
92
- sorters: []
93
- };
94
- }
95
- render() {
96
- return html `
97
- <ox-grist
98
- .mode=${isMobileDevice() ? 'LIST' : 'GRID'}
99
- .config=${this.gristConfig}
100
- .fetchHandler=${this.fetchHandler.bind(this)}
101
- ></ox-grist>
102
-
103
- <div class="button-container">
104
- <mwc-button @click=${this.onCancel.bind(this)}>${i18next.t('button.cancel')}</mwc-button>
105
- <mwc-button @click=${this.onConfirm.bind(this)}>${i18next.t('button.confirm')}</mwc-button>
106
- </div>
107
- `;
108
- }
109
- async fetchHandler({ filters, page, limit, sortings = [] }) {
110
- const records = this.value || [];
111
- return {
112
- total: records.length,
113
- records
114
- };
115
- }
116
- onCancel(e) {
117
- closePopup(this);
118
- }
119
- onConfirm(e) {
120
- this.grist.commit();
121
- this.value = this.grist.data.records.map(({ name, description, inputKey, tKey }) => {
122
- return {
123
- name,
124
- description,
125
- inputKey,
126
- tKey
127
- };
128
- });
129
- this.confirmCallback && this.confirmCallback(this.value);
130
- closePopup(this);
131
- }
132
- };
133
- PopupActivitySearchKeysInput.styles = [
134
- ScrollbarStyles,
135
- css `
136
- :host {
137
- display: flex;
138
- flex-direction: column;
139
-
140
- background-color: #fff;
141
-
142
- width: var(--overlay-center-normal-width, 50%);
143
- height: var(--overlay-center-normal-height, 50%);
144
- }
145
-
146
- ox-grist {
147
- flex: 1;
148
- }
149
-
150
- .button-container {
151
- display: flex;
152
- margin-left: auto;
153
- padding: var(--padding-default);
154
- }
155
- `
156
- ];
157
- __decorate([
158
- property({ type: Array }),
159
- __metadata("design:type", Array)
160
- ], PopupActivitySearchKeysInput.prototype, "value", void 0);
161
- __decorate([
162
- property({ type: Object }),
163
- __metadata("design:type", Function)
164
- ], PopupActivitySearchKeysInput.prototype, "confirmCallback", void 0);
165
- __decorate([
166
- state(),
167
- __metadata("design:type", Object)
168
- ], PopupActivitySearchKeysInput.prototype, "gristConfig", void 0);
169
- __decorate([
170
- query('ox-grist'),
171
- __metadata("design:type", DataGrist)
172
- ], PopupActivitySearchKeysInput.prototype, "grist", void 0);
173
- PopupActivitySearchKeysInput = __decorate([
174
- customElement('popup-activity-search-keys-input')
175
- ], PopupActivitySearchKeysInput);
176
- export { PopupActivitySearchKeysInput };
177
- //# sourceMappingURL=popup-activity-search-keys-input.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"popup-activity-search-keys-input.js","sourceRoot":"","sources":["../../client/components/popup-activity-search-keys-input.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, html, LitElement } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\nimport { i18next } from '@operato/i18n'\nimport { closePopup } from '@operato/popup'\nimport { ScrollbarStyles } from '@operato/styles'\nimport { isMobileDevice } from '@operato/utils'\nimport { getEditor, getRenderer, ColumnConfig, DataGrist, FetchOption, SortersControl } from '@operato/data-grist'\nimport { ActivitySearchKeyItem } from '../types'\n\n@customElement('popup-activity-search-keys-input')\nexport class PopupActivitySearchKeysInput extends LitElement {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: #fff;\n\n width: var(--overlay-center-normal-width, 50%);\n height: var(--overlay-center-normal-height, 50%);\n }\n\n ox-grist {\n flex: 1;\n }\n\n .button-container {\n display: flex;\n margin-left: auto;\n padding: var(--padding-default);\n }\n `\n ]\n\n @property({ type: Array }) value: ActivitySearchKeyItem[] = []\n @property({ type: Object }) confirmCallback!: (newval: any) => void\n\n @state() gristConfig: any = {\n list: { fields: ['name', 'description', 'active'] },\n columns: [\n { type: 'gutter', gutterName: 'sequence' },\n {\n type: 'gutter',\n gutterName: 'button',\n icon: 'add',\n handlers: {\n click: 'record-copy'\n }\n },\n {\n type: 'gutter',\n gutterName: 'button',\n icon: 'delete',\n handlers: {\n click: 'record-delete'\n }\n },\n {\n type: 'gutter',\n gutterName: 'button',\n icon: 'arrow_upward',\n handlers: {\n click: 'move-up'\n }\n },\n {\n type: 'gutter',\n gutterName: 'button',\n icon: 'arrow_downward',\n handlers: {\n click: 'move-down'\n }\n },\n {\n type: 'string',\n name: 'name',\n header: i18next.t('field.name'),\n record: {\n editable: true\n },\n width: 140\n },\n {\n type: 'string',\n name: 'description',\n header: i18next.t('field.description'),\n record: {\n editable: true\n },\n width: 180\n },\n {\n type: 'string',\n name: 'inputKey',\n header: i18next.t('field.input-key'),\n record: {\n editable: true\n },\n width: 180\n },\n {\n type: 'string',\n name: 'tKey',\n header: i18next.t('field.t-key'),\n record: {\n editable: true\n },\n width: 180\n }\n ],\n rows: {\n selectable: false\n },\n pagination: {\n infinite: true\n },\n sorters: []\n }\n\n @query('ox-grist') private grist!: DataGrist\n\n render() {\n return html`\n <ox-grist\n .mode=${isMobileDevice() ? 'LIST' : 'GRID'}\n .config=${this.gristConfig}\n .fetchHandler=${this.fetchHandler.bind(this)}\n ></ox-grist>\n\n <div class=\"button-container\">\n <mwc-button @click=${this.onCancel.bind(this)}>${i18next.t('button.cancel')}</mwc-button>\n <mwc-button @click=${this.onConfirm.bind(this)}>${i18next.t('button.confirm')}</mwc-button>\n </div>\n `\n }\n\n async fetchHandler({ filters, page, limit, sortings = [] }: FetchOption) {\n const records = this.value || []\n return {\n total: records.length,\n records\n }\n }\n\n private onCancel(e: Event) {\n closePopup(this)\n }\n\n private onConfirm(e: Event) {\n this.grist.commit()\n\n this.value = this.grist.data.records.map(({ name, description, inputKey, tKey }) => {\n return {\n name,\n description,\n inputKey,\n tKey\n }\n })\n\n this.confirmCallback && this.confirmCallback(this.value)\n closePopup(this)\n }\n}\n"]}
@@ -1,11 +0,0 @@
1
- import { LitElement } from 'lit';
2
- declare const ActivityThreadView_base: (new (...args: any[]) => LitElement) & typeof LitElement;
3
- export declare class ActivityThreadView extends ActivityThreadView_base {
4
- static styles: import("lit").CSSResult[];
5
- activityInstanceId?: string;
6
- activityInstance?: any;
7
- render(): import("lit-html").TemplateResult<1>;
8
- updated(changes: any): void;
9
- fetchActivityInstance(): Promise<void>;
10
- }
11
- export {};