@acorex-platform/module-conversation-client 0.0.32 → 0.0.37

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 (57) hide show
  1. package/fesm2022/{acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-BP8QEicz.mjs → acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-C8FR7Snp.mjs} +897 -234
  2. package/fesm2022/acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-C8FR7Snp.mjs.map +1 -0
  3. package/fesm2022/{acorex-platform-module-conversation-client-after-message-sent.command-CpMGuSU1.mjs → acorex-platform-module-conversation-client-after-message-sent.command-hVFQo07j.mjs} +2 -2
  4. package/fesm2022/{acorex-platform-module-conversation-client-after-message-sent.command-CpMGuSU1.mjs.map → acorex-platform-module-conversation-client-after-message-sent.command-hVFQo07j.mjs.map} +1 -1
  5. package/fesm2022/{acorex-platform-module-conversation-client-assist-delegated-agent-detail-popup.component-Dgs6fpN3.mjs → acorex-platform-module-conversation-client-assist-delegated-agent-detail-popup.component-D6XrMTQm.mjs} +3 -3
  6. package/fesm2022/{acorex-platform-module-conversation-client-assist-delegated-agent-detail-popup.component-Dgs6fpN3.mjs.map → acorex-platform-module-conversation-client-assist-delegated-agent-detail-popup.component-D6XrMTQm.mjs.map} +1 -1
  7. package/fesm2022/{acorex-platform-module-conversation-client-assist-tool-detail-popup.component-BRW1cHN6.mjs → acorex-platform-module-conversation-client-assist-tool-detail-popup.component-BV1YH96m.mjs} +2 -2
  8. package/fesm2022/{acorex-platform-module-conversation-client-assist-tool-detail-popup.component-BRW1cHN6.mjs.map → acorex-platform-module-conversation-client-assist-tool-detail-popup.component-BV1YH96m.mjs.map} +1 -1
  9. package/fesm2022/acorex-platform-module-conversation-client-chat-call-session-page.component-b84Na7R_.mjs +1607 -0
  10. package/fesm2022/acorex-platform-module-conversation-client-chat-call-session-page.component-b84Na7R_.mjs.map +1 -0
  11. package/fesm2022/acorex-platform-module-conversation-client-chat-call-start-popup.component-BTOtRRPY.mjs +92 -0
  12. package/fesm2022/acorex-platform-module-conversation-client-chat-call-start-popup.component-BTOtRRPY.mjs.map +1 -0
  13. package/fesm2022/{acorex-platform-module-conversation-client-chat-conversation-info-media-view.component-DLYtqFLi.mjs → acorex-platform-module-conversation-client-chat-conversation-info-media-view.component-CppNPfqe.mjs} +2 -2
  14. package/fesm2022/{acorex-platform-module-conversation-client-chat-conversation-info-media-view.component-DLYtqFLi.mjs.map → acorex-platform-module-conversation-client-chat-conversation-info-media-view.component-CppNPfqe.mjs.map} +1 -1
  15. package/fesm2022/{acorex-platform-module-conversation-client-chat-conversation-info-panel.component-CE40xbl9.mjs → acorex-platform-module-conversation-client-chat-conversation-info-panel.component-C5xS98oE.mjs} +3 -3
  16. package/fesm2022/{acorex-platform-module-conversation-client-chat-conversation-info-panel.component-CE40xbl9.mjs.map → acorex-platform-module-conversation-client-chat-conversation-info-panel.component-C5xS98oE.mjs.map} +1 -1
  17. package/fesm2022/{acorex-platform-module-conversation-client-comments-page.component-VOuN3y_8.mjs → acorex-platform-module-conversation-client-comments-page.component-BhSJiJY5.mjs} +2 -2
  18. package/fesm2022/{acorex-platform-module-conversation-client-comments-page.component-VOuN3y_8.mjs.map → acorex-platform-module-conversation-client-comments-page.component-BhSJiJY5.mjs.map} +1 -1
  19. package/fesm2022/acorex-platform-module-conversation-client-contracts-entities-message.mjs +274 -0
  20. package/fesm2022/acorex-platform-module-conversation-client-contracts-entities-message.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-module-conversation-client-contracts-entities-room.mjs +295 -0
  22. package/fesm2022/acorex-platform-module-conversation-client-contracts-entities-room.mjs.map +1 -0
  23. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-acorex-platform-module-conversation-client-contracts-entity-catalog-Cy3LwYMZ.mjs +52 -0
  24. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-acorex-platform-module-conversation-client-contracts-entity-catalog-Cy3LwYMZ.mjs.map +1 -0
  25. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-message.entity-Dz7cO1P4.mjs +242 -0
  26. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-message.entity-Dz7cO1P4.mjs.map +1 -0
  27. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-room.entity-B9txvc3y.mjs +263 -0
  28. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-room.entity-B9txvc3y.mjs.map +1 -0
  29. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog.mjs +2 -0
  30. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog.mjs.map +1 -0
  31. package/fesm2022/acorex-platform-module-conversation-client-contracts.mjs.map +1 -1
  32. package/fesm2022/acorex-platform-module-conversation-client-emit-typing-indicator.command-BzsN1_ns.mjs.map +1 -1
  33. package/fesm2022/acorex-platform-module-conversation-client-local-entities.mjs +30 -0
  34. package/fesm2022/acorex-platform-module-conversation-client-local-entities.mjs.map +1 -0
  35. package/fesm2022/{acorex-platform-module-conversation-client-mark-conversation-unread.command-9tbWXMsa.mjs → acorex-platform-module-conversation-client-mark-conversation-unread.command-D0rr0npJ.mjs} +2 -2
  36. package/fesm2022/{acorex-platform-module-conversation-client-mark-conversation-unread.command-9tbWXMsa.mjs.map → acorex-platform-module-conversation-client-mark-conversation-unread.command-D0rr0npJ.mjs.map} +1 -1
  37. package/fesm2022/{acorex-platform-module-conversation-client-open-chat.command-CdMsYHwG.mjs → acorex-platform-module-conversation-client-open-chat.command-Bbgp4ZfT.mjs} +5 -5
  38. package/fesm2022/acorex-platform-module-conversation-client-open-chat.command-Bbgp4ZfT.mjs.map +1 -0
  39. package/fesm2022/{acorex-platform-module-conversation-client-retry-assist-response.command-DvOeezMD.mjs → acorex-platform-module-conversation-client-retry-assist-response.command-BMZTab8j.mjs} +2 -2
  40. package/fesm2022/{acorex-platform-module-conversation-client-retry-assist-response.command-DvOeezMD.mjs.map → acorex-platform-module-conversation-client-retry-assist-response.command-BMZTab8j.mjs.map} +1 -1
  41. package/fesm2022/acorex-platform-module-conversation-client-start-direct-chat.command-CfSIVHDu.mjs.map +1 -1
  42. package/fesm2022/{acorex-platform-module-conversation-client-sync-read-state.command-CmJAjrZb.mjs → acorex-platform-module-conversation-client-sync-read-state.command-9G3Knrre.mjs} +26 -13
  43. package/fesm2022/acorex-platform-module-conversation-client-sync-read-state.command-9G3Knrre.mjs.map +1 -0
  44. package/fesm2022/acorex-platform-module-conversation-client.mjs +1 -1
  45. package/package.json +18 -2
  46. package/types/acorex-platform-module-conversation-client-contracts-entities-message.d.ts +5 -0
  47. package/types/acorex-platform-module-conversation-client-contracts-entities-room.d.ts +5 -0
  48. package/types/acorex-platform-module-conversation-client-contracts-entity-catalog.d.ts +10 -0
  49. package/types/acorex-platform-module-conversation-client-local-entities.d.ts +12 -0
  50. package/types/acorex-platform-module-conversation-client.d.ts +24 -1
  51. package/fesm2022/acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-BP8QEicz.mjs.map +0 -1
  52. package/fesm2022/acorex-platform-module-conversation-client-chat-call-session-page.component-BStKnruT.mjs +0 -1379
  53. package/fesm2022/acorex-platform-module-conversation-client-chat-call-session-page.component-BStKnruT.mjs.map +0 -1
  54. package/fesm2022/acorex-platform-module-conversation-client-chat-call-start-popup.component-eKYhjy91.mjs +0 -89
  55. package/fesm2022/acorex-platform-module-conversation-client-chat-call-start-popup.component-eKYhjy91.mjs.map +0 -1
  56. package/fesm2022/acorex-platform-module-conversation-client-open-chat.command-CdMsYHwG.mjs.map +0 -1
  57. package/fesm2022/acorex-platform-module-conversation-client-sync-read-state.command-CmJAjrZb.mjs.map +0 -1
@@ -0,0 +1,274 @@
1
+ import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';
2
+ import { createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';
3
+
4
+ const config = {
5
+ i18n: 'conversation',
6
+ module: 'Conversation',
7
+ route: 'chat',
8
+ };
9
+ const RootConfig = {
10
+ config,
11
+ module: {
12
+ route: 'conversation',
13
+ name: config.module,
14
+ title: `@${config.i18n}:module.title`,
15
+ icon: 'fa-light fa-comments',
16
+ },
17
+ entities: {
18
+ room: {
19
+ name: 'Room',
20
+ title: `t("room.plural-title", { scope: "${config.i18n}" })`,
21
+ source: `${config.module}.Room`,
22
+ icon: 'fa-light fa-comments',
23
+ },
24
+ message: {
25
+ name: 'Message',
26
+ title: `t("message.plural-title", { scope: "${config.i18n}" })`,
27
+ source: `${config.module}.Message`,
28
+ icon: 'fa-light fa-message',
29
+ },
30
+ },
31
+ };
32
+
33
+ //#region ---- Imports ----
34
+ //#endregion
35
+ //#region ---- Property helpers ----
36
+ function messageProp(i18n, name, groupId, schema, options) {
37
+ return {
38
+ name,
39
+ title: `t("message.props.${name}", { scope: "${i18n}" })`,
40
+ groupId,
41
+ schema,
42
+ ...options,
43
+ };
44
+ }
45
+ function hiddenStorageProp(i18n, name, dataType, groupId = 'runtime') {
46
+ return messageProp(i18n, name, groupId, {
47
+ dataType,
48
+ visible: false,
49
+ nullable: true,
50
+ });
51
+ }
52
+ const filterable = {
53
+ sort: { enabled: true },
54
+ filter: { advance: { enabled: true }, inline: { enabled: false } },
55
+ };
56
+ //#endregion
57
+ //#region ---- Entity factory ----
58
+ async function messageFactory() {
59
+ const i18n = RootConfig.config.i18n;
60
+ const roomEntity = `${RootConfig.module.name}.${RootConfig.entities.room.name}`;
61
+ const entityDef = {
62
+ module: RootConfig.module.name,
63
+ name: RootConfig.entities.message.name,
64
+ title: RootConfig.entities.message.title,
65
+ icon: RootConfig.entities.message.icon,
66
+ formats: {
67
+ individual: RootConfig.entities.message.title,
68
+ plural: RootConfig.entities.message.title,
69
+ searchResult: {
70
+ title: '{{ title }}',
71
+ description: '{{ conversationId }}',
72
+ },
73
+ },
74
+ relatedEntities: [],
75
+ groups: [
76
+ { id: 'basic-info', title: '@general:terms.interface.basic-info' },
77
+ { id: 'content', title: `t("message.groups.content", { scope: "${i18n}" })` },
78
+ { id: 'flags', title: `t("message.groups.flags", { scope: "${i18n}" })` },
79
+ { id: 'runtime', title: `t("message.groups.runtime", { scope: "${i18n}" })` },
80
+ ],
81
+ properties: [
82
+ messageProp(i18n, 'name', 'basic-info', {
83
+ dataType: 'string',
84
+ interface: { type: AXPWidgetsCatalog.text },
85
+ }),
86
+ messageProp(i18n, 'title', 'basic-info', {
87
+ dataType: 'string',
88
+ interface: { type: AXPWidgetsCatalog.text },
89
+ }, { options: filterable }),
90
+ messageProp(i18n, 'conversationId', 'basic-info', {
91
+ dataType: 'string',
92
+ interface: {
93
+ type: AXPWidgetsCatalog.lookup,
94
+ options: {
95
+ entity: roomEntity,
96
+ textField: 'title',
97
+ valueField: 'id',
98
+ look: 'select',
99
+ },
100
+ },
101
+ }, { options: filterable, validations: [{ rule: 'required' }] }),
102
+ messageProp(i18n, 'senderId', 'basic-info', {
103
+ dataType: 'string',
104
+ interface: {
105
+ type: AXPWidgetsCatalog.lookup,
106
+ options: {
107
+ entity: 'SecurityManagement.User',
108
+ textField: 'displayName',
109
+ valueField: 'id',
110
+ look: 'select',
111
+ },
112
+ },
113
+ }, { options: filterable, validations: [{ rule: 'required' }] }),
114
+ messageProp(i18n, 'type', 'basic-info', {
115
+ dataType: 'string',
116
+ interface: {
117
+ type: AXPWidgetsCatalog.select,
118
+ options: {
119
+ valueField: 'name',
120
+ textField: 'title',
121
+ multiple: false,
122
+ dataSource: [
123
+ { name: 'text', title: 'Text' },
124
+ { name: 'image', title: 'Image' },
125
+ { name: 'video', title: 'Video' },
126
+ { name: 'audio', title: 'Audio' },
127
+ { name: 'voice', title: 'Voice' },
128
+ { name: 'file', title: 'File' },
129
+ { name: 'location', title: 'Location' },
130
+ { name: 'sticker', title: 'Sticker' },
131
+ { name: 'call-log', title: 'Call log' },
132
+ { name: 'system', title: 'System' },
133
+ { name: 'node', title: 'Node' },
134
+ { name: 'assist-response', title: 'Assist response' },
135
+ ],
136
+ },
137
+ },
138
+ }, { options: filterable, validations: [{ rule: 'required' }] }),
139
+ messageProp(i18n, 'fileType', 'basic-info', {
140
+ dataType: 'string',
141
+ interface: { type: AXPWidgetsCatalog.text },
142
+ }),
143
+ messageProp(i18n, 'timestamp', 'basic-info', {
144
+ dataType: 'date',
145
+ interface: { type: AXPWidgetsCatalog.dateTime },
146
+ }, { options: filterable, validations: [{ rule: 'required' }] }),
147
+ messageProp(i18n, 'status', 'content', {
148
+ dataType: 'string',
149
+ interface: {
150
+ type: AXPWidgetsCatalog.select,
151
+ options: {
152
+ valueField: 'name',
153
+ textField: 'title',
154
+ multiple: false,
155
+ dataSource: [
156
+ { name: 'sending', title: 'Sending' },
157
+ { name: 'sent', title: 'Sent' },
158
+ { name: 'delivered', title: 'Delivered' },
159
+ { name: 'read', title: 'Read' },
160
+ { name: 'failed', title: 'Failed' },
161
+ ],
162
+ },
163
+ },
164
+ }, { options: filterable, validations: [{ rule: 'required' }] }),
165
+ hiddenStorageProp(i18n, 'payload', 'object', 'content'),
166
+ hiddenStorageProp(i18n, 'replyTo', 'object'),
167
+ hiddenStorageProp(i18n, 'forwardedFrom', 'object'),
168
+ hiddenStorageProp(i18n, 'reactions', 'array'),
169
+ hiddenStorageProp(i18n, 'metadata', 'object'),
170
+ messageProp(i18n, 'forwarded', 'flags', {
171
+ dataType: 'boolean',
172
+ interface: { type: AXPWidgetsCatalog.toggle },
173
+ }),
174
+ messageProp(i18n, 'pinned', 'flags', {
175
+ dataType: 'boolean',
176
+ interface: { type: AXPWidgetsCatalog.toggle },
177
+ }),
178
+ messageProp(i18n, 'deleted', 'flags', {
179
+ dataType: 'boolean',
180
+ interface: { type: AXPWidgetsCatalog.toggle },
181
+ }),
182
+ messageProp(i18n, 'isLocal', 'flags', {
183
+ dataType: 'boolean',
184
+ visible: false,
185
+ interface: { type: AXPWidgetsCatalog.toggle },
186
+ }),
187
+ messageProp(i18n, 'editedAt', 'flags', {
188
+ dataType: 'date',
189
+ interface: { type: AXPWidgetsCatalog.dateTime },
190
+ }),
191
+ messageProp(i18n, 'deletedAt', 'flags', {
192
+ dataType: 'date',
193
+ interface: { type: AXPWidgetsCatalog.dateTime },
194
+ }),
195
+ ],
196
+ columns: [
197
+ { name: 'title' },
198
+ { name: 'conversationId' },
199
+ { name: 'senderId' },
200
+ { name: 'type' },
201
+ { name: 'timestamp' },
202
+ { name: 'status' },
203
+ ],
204
+ interfaces: {
205
+ master: {
206
+ create: {
207
+ sections: [{ id: 'basic-info' }, { id: 'content' }, { id: 'flags' }],
208
+ properties: [
209
+ { name: 'conversationId', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
210
+ { name: 'senderId', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
211
+ { name: 'type', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },
212
+ { name: 'timestamp', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },
213
+ { name: 'status', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },
214
+ { name: 'fileType', layout: { positions: { lg: { colSpan: 6, order: 6 } } } },
215
+ { name: 'title', layout: { positions: { lg: { colSpan: 12, order: 7 } } } },
216
+ { name: 'name', layout: { positions: { lg: { colSpan: 12, order: 8 } } } },
217
+ { name: 'forwarded', layout: { positions: { lg: { colSpan: 4, order: 9 } } } },
218
+ { name: 'pinned', layout: { positions: { lg: { colSpan: 4, order: 10 } } } },
219
+ { name: 'deleted', layout: { positions: { lg: { colSpan: 4, order: 11 } } } },
220
+ ],
221
+ },
222
+ update: {
223
+ sections: [{ id: 'basic-info' }, { id: 'content' }, { id: 'flags' }],
224
+ properties: [
225
+ { name: 'conversationId', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
226
+ { name: 'senderId', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
227
+ { name: 'type', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },
228
+ { name: 'timestamp', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },
229
+ { name: 'status', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },
230
+ { name: 'fileType', layout: { positions: { lg: { colSpan: 6, order: 6 } } } },
231
+ { name: 'title', layout: { positions: { lg: { colSpan: 12, order: 7 } } } },
232
+ { name: 'name', layout: { positions: { lg: { colSpan: 12, order: 8 } } } },
233
+ { name: 'forwarded', layout: { positions: { lg: { colSpan: 4, order: 9 } } } },
234
+ { name: 'pinned', layout: { positions: { lg: { colSpan: 4, order: 10 } } } },
235
+ { name: 'deleted', layout: { positions: { lg: { colSpan: 4, order: 11 } } } },
236
+ { name: 'editedAt', layout: { positions: { lg: { colSpan: 6, order: 12 } } } },
237
+ { name: 'deletedAt', layout: { positions: { lg: { colSpan: 6, order: 13 } } } },
238
+ ],
239
+ },
240
+ single: {
241
+ title: '{{title}}',
242
+ sections: [{ id: 'basic-info' }, { id: 'content' }, { id: 'flags' }],
243
+ properties: [
244
+ { name: 'conversationId', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
245
+ { name: 'senderId', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
246
+ { name: 'type', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },
247
+ { name: 'timestamp', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },
248
+ { name: 'status', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },
249
+ { name: 'title', layout: { positions: { lg: { colSpan: 12, order: 6 } } } },
250
+ ],
251
+ actions: [...entityMasterRecordActions()],
252
+ },
253
+ list: {
254
+ actions: [...entityMasterCrudActions()],
255
+ views: [
256
+ createAllQueryView({
257
+ columns: ['title', 'conversationId', 'senderId', 'type', 'timestamp', 'status'],
258
+ sorts: [{ name: 'timestamp', dir: 'desc' }],
259
+ }),
260
+ ],
261
+ },
262
+ },
263
+ },
264
+ };
265
+ return entityDef;
266
+ }
267
+ //#endregion
268
+
269
+ /**
270
+ * Generated bundle index. Do not edit.
271
+ */
272
+
273
+ export { messageFactory };
274
+ //# sourceMappingURL=acorex-platform-module-conversation-client-contracts-entities-message.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-conversation-client-contracts-entities-message.mjs","sources":["../../../../libs/modules/conversation/contracts/src/root-config.ts","../../../../libs/modules/conversation/contracts/src/entities/message/message.entity.ts","../../../../libs/modules/conversation/contracts/src/acorex-platform-module-conversation-client-contracts-entities-message.ts"],"sourcesContent":["const config = {\n i18n: 'conversation',\n module: 'Conversation',\n route: 'chat',\n};\n\nexport const RootConfig = {\n config,\n module: {\n route: 'conversation',\n name: config.module,\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-comments',\n },\n entities: {\n room: {\n name: 'Room',\n title: `t(\"room.plural-title\", { scope: \"${config.i18n}\" })`,\n source: `${config.module}.Room`,\n icon: 'fa-light fa-comments',\n },\n message: {\n name: 'Message',\n title: `t(\"message.plural-title\", { scope: \"${config.i18n}\" })`,\n source: `${config.module}.Message`,\n icon: 'fa-light fa-message',\n },\n },\n} as const;\n","//#region ---- Imports ----\n\nimport { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, AXPEntityProperty, createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';\nimport { RootConfig } from '../../root-config';\n\n//#endregion\n\n//#region ---- Property helpers ----\n\nfunction messageProp(\n i18n: string,\n name: string,\n groupId: string,\n schema: AXPEntityProperty['schema'],\n options?: Partial<AXPEntityProperty>,\n): AXPEntityProperty {\n return {\n name,\n title: `t(\"message.props.${name}\", { scope: \"${i18n}\" })`,\n groupId,\n schema,\n ...options,\n };\n}\n\nfunction hiddenStorageProp(\n i18n: string,\n name: string,\n dataType: 'object' | 'array',\n groupId = 'runtime',\n): AXPEntityProperty {\n return messageProp(i18n, name, groupId, {\n dataType,\n visible: false,\n nullable: true,\n });\n}\n\nconst filterable = {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: false } },\n};\n\n//#endregion\n\n//#region ---- Entity factory ----\n\nexport async function messageFactory(): Promise<AXPEntity | null> {\n const i18n = RootConfig.config.i18n;\n const roomEntity = `${RootConfig.module.name}.${RootConfig.entities.room.name}`;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.message.name,\n title: RootConfig.entities.message.title,\n icon: RootConfig.entities.message.icon,\n formats: {\n individual: RootConfig.entities.message.title,\n plural: RootConfig.entities.message.title,\n searchResult: {\n title: '{{ title }}',\n description: '{{ conversationId }}',\n },\n },\n relatedEntities: [],\n groups: [\n { id: 'basic-info', title: '@general:terms.interface.basic-info' },\n { id: 'content', title: `t(\"message.groups.content\", { scope: \"${i18n}\" })` },\n { id: 'flags', title: `t(\"message.groups.flags\", { scope: \"${i18n}\" })` },\n { id: 'runtime', title: `t(\"message.groups.runtime\", { scope: \"${i18n}\" })` },\n ],\n properties: [\n messageProp(i18n, 'name', 'basic-info', {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.text },\n }),\n messageProp(\n i18n,\n 'title',\n 'basic-info',\n {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.text },\n },\n { options: filterable },\n ),\n messageProp(\n i18n,\n 'conversationId',\n 'basic-info',\n {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: roomEntity,\n textField: 'title',\n valueField: 'id',\n look: 'select',\n },\n },\n },\n { options: filterable, validations: [{ rule: 'required' }] },\n ),\n messageProp(\n i18n,\n 'senderId',\n 'basic-info',\n {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: 'SecurityManagement.User',\n textField: 'displayName',\n valueField: 'id',\n look: 'select',\n },\n },\n },\n { options: filterable, validations: [{ rule: 'required' }] },\n ),\n messageProp(\n i18n,\n 'type',\n 'basic-info',\n {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n textField: 'title',\n multiple: false,\n dataSource: [\n { name: 'text', title: 'Text' },\n { name: 'image', title: 'Image' },\n { name: 'video', title: 'Video' },\n { name: 'audio', title: 'Audio' },\n { name: 'voice', title: 'Voice' },\n { name: 'file', title: 'File' },\n { name: 'location', title: 'Location' },\n { name: 'sticker', title: 'Sticker' },\n { name: 'call-log', title: 'Call log' },\n { name: 'system', title: 'System' },\n { name: 'node', title: 'Node' },\n { name: 'assist-response', title: 'Assist response' },\n ],\n },\n },\n },\n { options: filterable, validations: [{ rule: 'required' }] },\n ),\n messageProp(i18n, 'fileType', 'basic-info', {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.text },\n }),\n messageProp(\n i18n,\n 'timestamp',\n 'basic-info',\n {\n dataType: 'date',\n interface: { type: AXPWidgetsCatalog.dateTime },\n },\n { options: filterable, validations: [{ rule: 'required' }] },\n ),\n messageProp(\n i18n,\n 'status',\n 'content',\n {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n textField: 'title',\n multiple: false,\n dataSource: [\n { name: 'sending', title: 'Sending' },\n { name: 'sent', title: 'Sent' },\n { name: 'delivered', title: 'Delivered' },\n { name: 'read', title: 'Read' },\n { name: 'failed', title: 'Failed' },\n ],\n },\n },\n },\n { options: filterable, validations: [{ rule: 'required' }] },\n ),\n hiddenStorageProp(i18n, 'payload', 'object', 'content'),\n hiddenStorageProp(i18n, 'replyTo', 'object'),\n hiddenStorageProp(i18n, 'forwardedFrom', 'object'),\n hiddenStorageProp(i18n, 'reactions', 'array'),\n hiddenStorageProp(i18n, 'metadata', 'object'),\n messageProp(i18n, 'forwarded', 'flags', {\n dataType: 'boolean',\n interface: { type: AXPWidgetsCatalog.toggle },\n }),\n messageProp(i18n, 'pinned', 'flags', {\n dataType: 'boolean',\n interface: { type: AXPWidgetsCatalog.toggle },\n }),\n messageProp(i18n, 'deleted', 'flags', {\n dataType: 'boolean',\n interface: { type: AXPWidgetsCatalog.toggle },\n }),\n messageProp(i18n, 'isLocal', 'flags', {\n dataType: 'boolean',\n visible: false,\n interface: { type: AXPWidgetsCatalog.toggle },\n }),\n messageProp(i18n, 'editedAt', 'flags', {\n dataType: 'date',\n interface: { type: AXPWidgetsCatalog.dateTime },\n }),\n messageProp(i18n, 'deletedAt', 'flags', {\n dataType: 'date',\n interface: { type: AXPWidgetsCatalog.dateTime },\n }),\n ],\n columns: [\n { name: 'title' },\n { name: 'conversationId' },\n { name: 'senderId' },\n { name: 'type' },\n { name: 'timestamp' },\n { name: 'status' },\n ],\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'basic-info' }, { id: 'content' }, { id: 'flags' }],\n properties: [\n { name: 'conversationId', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'senderId', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'type', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n { name: 'timestamp', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },\n { name: 'status', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },\n { name: 'fileType', layout: { positions: { lg: { colSpan: 6, order: 6 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 12, order: 7 } } } },\n { name: 'name', layout: { positions: { lg: { colSpan: 12, order: 8 } } } },\n { name: 'forwarded', layout: { positions: { lg: { colSpan: 4, order: 9 } } } },\n { name: 'pinned', layout: { positions: { lg: { colSpan: 4, order: 10 } } } },\n { name: 'deleted', layout: { positions: { lg: { colSpan: 4, order: 11 } } } },\n ],\n },\n update: {\n sections: [{ id: 'basic-info' }, { id: 'content' }, { id: 'flags' }],\n properties: [\n { name: 'conversationId', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'senderId', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'type', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n { name: 'timestamp', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },\n { name: 'status', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },\n { name: 'fileType', layout: { positions: { lg: { colSpan: 6, order: 6 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 12, order: 7 } } } },\n { name: 'name', layout: { positions: { lg: { colSpan: 12, order: 8 } } } },\n { name: 'forwarded', layout: { positions: { lg: { colSpan: 4, order: 9 } } } },\n { name: 'pinned', layout: { positions: { lg: { colSpan: 4, order: 10 } } } },\n { name: 'deleted', layout: { positions: { lg: { colSpan: 4, order: 11 } } } },\n { name: 'editedAt', layout: { positions: { lg: { colSpan: 6, order: 12 } } } },\n { name: 'deletedAt', layout: { positions: { lg: { colSpan: 6, order: 13 } } } },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [{ id: 'basic-info' }, { id: 'content' }, { id: 'flags' }],\n properties: [\n { name: 'conversationId', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'senderId', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'type', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n { name: 'timestamp', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },\n { name: 'status', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 12, order: 6 } } } },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [\n createAllQueryView({\n columns: ['title', 'conversationId', 'senderId', 'type', 'timestamp', 'status'],\n sorts: [{ name: 'timestamp', dir: 'desc' }],\n }),\n ],\n },\n },\n },\n };\n\n return entityDef;\n}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './entity-entry.message';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,295 @@
1
+ import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';
2
+ import { createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';
3
+
4
+ const config = {
5
+ i18n: 'conversation',
6
+ module: 'Conversation',
7
+ route: 'chat',
8
+ };
9
+ const RootConfig = {
10
+ config,
11
+ module: {
12
+ route: 'conversation',
13
+ name: config.module,
14
+ title: `@${config.i18n}:module.title`,
15
+ icon: 'fa-light fa-comments',
16
+ },
17
+ entities: {
18
+ room: {
19
+ name: 'Room',
20
+ title: `t("room.plural-title", { scope: "${config.i18n}" })`,
21
+ source: `${config.module}.Room`,
22
+ icon: 'fa-light fa-comments',
23
+ },
24
+ message: {
25
+ name: 'Message',
26
+ title: `t("message.plural-title", { scope: "${config.i18n}" })`,
27
+ source: `${config.module}.Message`,
28
+ icon: 'fa-light fa-message',
29
+ },
30
+ },
31
+ };
32
+
33
+ //#region ---- Imports ----
34
+ //#endregion
35
+ //#region ---- Property helpers ----
36
+ function roomProp(i18n, name, groupId, schema, options) {
37
+ return {
38
+ name,
39
+ title: `t("room.props.${name}", { scope: "${i18n}" })`,
40
+ groupId,
41
+ schema,
42
+ ...options,
43
+ };
44
+ }
45
+ function hiddenStorageProp(i18n, name, dataType, groupId = 'runtime') {
46
+ return roomProp(i18n, name, groupId, {
47
+ dataType,
48
+ visible: false,
49
+ nullable: true,
50
+ });
51
+ }
52
+ const filterable = {
53
+ sort: { enabled: true },
54
+ filter: { advance: { enabled: true }, inline: { enabled: false } },
55
+ };
56
+ //#endregion
57
+ //#region ---- Entity factory ----
58
+ async function roomFactory() {
59
+ const i18n = RootConfig.config.i18n;
60
+ const entityDef = {
61
+ module: RootConfig.module.name,
62
+ name: RootConfig.entities.room.name,
63
+ title: RootConfig.entities.room.title,
64
+ icon: RootConfig.entities.room.icon,
65
+ formats: {
66
+ individual: RootConfig.entities.room.title,
67
+ plural: RootConfig.entities.room.title,
68
+ searchResult: {
69
+ title: '{{ title }}',
70
+ description: '{{ kind }}',
71
+ },
72
+ },
73
+ relatedEntities: [],
74
+ groups: [
75
+ { id: 'basic-info', title: '@general:terms.interface.basic-info' },
76
+ { id: 'activity', title: `t("room.groups.activity", { scope: "${i18n}" })` },
77
+ { id: 'comment', title: `t("room.groups.comment", { scope: "${i18n}" })` },
78
+ { id: 'flags', title: `t("room.groups.flags", { scope: "${i18n}" })` },
79
+ { id: 'runtime', title: `t("room.groups.runtime", { scope: "${i18n}" })` },
80
+ ],
81
+ properties: [
82
+ roomProp(i18n, 'name', 'basic-info', {
83
+ dataType: 'string',
84
+ interface: { type: AXPWidgetsCatalog.text },
85
+ }),
86
+ roomProp(i18n, 'title', 'basic-info', {
87
+ dataType: 'string',
88
+ interface: { type: AXPWidgetsCatalog.text },
89
+ }, { options: filterable, validations: [{ rule: 'required' }] }),
90
+ roomProp(i18n, 'kind', 'basic-info', {
91
+ dataType: 'string',
92
+ interface: {
93
+ type: AXPWidgetsCatalog.select,
94
+ options: {
95
+ valueField: 'name',
96
+ textField: 'title',
97
+ multiple: false,
98
+ dataSource: [
99
+ { name: 'chat', title: 'Chat' },
100
+ { name: 'comment', title: 'Comment' },
101
+ ],
102
+ },
103
+ },
104
+ }, { options: filterable, validations: [{ rule: 'required' }] }),
105
+ roomProp(i18n, 'type', 'basic-info', {
106
+ dataType: 'string',
107
+ interface: {
108
+ type: AXPWidgetsCatalog.select,
109
+ options: {
110
+ valueField: 'name',
111
+ textField: 'title',
112
+ multiple: false,
113
+ dataSource: [
114
+ { name: 'private', title: 'Private' },
115
+ { name: 'group', title: 'Group' },
116
+ { name: 'channel', title: 'Channel' },
117
+ { name: 'bot', title: 'Bot' },
118
+ ],
119
+ },
120
+ },
121
+ }, { options: filterable, validations: [{ rule: 'required' }] }),
122
+ roomProp(i18n, 'creatorId', 'basic-info', {
123
+ dataType: 'string',
124
+ interface: {
125
+ type: AXPWidgetsCatalog.lookup,
126
+ options: {
127
+ entity: 'SecurityManagement.User',
128
+ textField: 'displayName',
129
+ valueField: 'id',
130
+ look: 'select',
131
+ },
132
+ },
133
+ }, { options: filterable }),
134
+ roomProp(i18n, 'avatar', 'basic-info', {
135
+ dataType: 'string',
136
+ interface: { type: AXPWidgetsCatalog.text },
137
+ }),
138
+ roomProp(i18n, 'icon', 'basic-info', {
139
+ dataType: 'string',
140
+ interface: { type: AXPWidgetsCatalog.text },
141
+ }),
142
+ roomProp(i18n, 'description', 'basic-info', {
143
+ dataType: 'string',
144
+ interface: { type: AXPWidgetsCatalog.largeText },
145
+ }),
146
+ roomProp(i18n, 'lastMessageAt', 'activity', {
147
+ dataType: 'date',
148
+ interface: { type: AXPWidgetsCatalog.dateTime },
149
+ }, { options: filterable, validations: [{ rule: 'required' }] }),
150
+ roomProp(i18n, 'unreadCount', 'activity', {
151
+ dataType: 'number',
152
+ interface: { type: AXPWidgetsCatalog.number },
153
+ }, { options: filterable, validations: [{ rule: 'required' }] }),
154
+ roomProp(i18n, 'unreadMentions', 'activity', {
155
+ dataType: 'number',
156
+ interface: { type: AXPWidgetsCatalog.number },
157
+ }),
158
+ roomProp(i18n, 'createdAt', 'activity', {
159
+ dataType: 'date',
160
+ interface: { type: AXPWidgetsCatalog.dateTime },
161
+ }, { validations: [{ rule: 'required' }] }),
162
+ roomProp(i18n, 'updatedAt', 'activity', {
163
+ dataType: 'date',
164
+ interface: { type: AXPWidgetsCatalog.dateTime },
165
+ }, { validations: [{ rule: 'required' }] }),
166
+ roomProp(i18n, 'draft', 'activity', {
167
+ dataType: 'string',
168
+ interface: { type: AXPWidgetsCatalog.largeText },
169
+ }),
170
+ hiddenStorageProp(i18n, 'participants', 'array'),
171
+ hiddenStorageProp(i18n, 'lastMessage', 'object'),
172
+ hiddenStorageProp(i18n, 'status', 'object'),
173
+ hiddenStorageProp(i18n, 'settings', 'object'),
174
+ hiddenStorageProp(i18n, 'pinnedMessageIds', 'array'),
175
+ hiddenStorageProp(i18n, 'metadata', 'object'),
176
+ hiddenStorageProp(i18n, 'entityRef', 'object', 'comment'),
177
+ roomProp(i18n, 'topic', 'comment', {
178
+ dataType: 'string',
179
+ interface: { type: AXPWidgetsCatalog.text },
180
+ }),
181
+ roomProp(i18n, 'entityRef.entityId', 'comment', {
182
+ dataType: 'string',
183
+ visible: false,
184
+ interface: { type: AXPWidgetsCatalog.text },
185
+ }),
186
+ roomProp(i18n, 'entityRef.entityTypeId', 'comment', {
187
+ dataType: 'string',
188
+ visible: false,
189
+ interface: { type: AXPWidgetsCatalog.text },
190
+ }),
191
+ roomProp(i18n, 'entityRef.moduleName', 'comment', {
192
+ dataType: 'string',
193
+ visible: false,
194
+ interface: { type: AXPWidgetsCatalog.text },
195
+ }),
196
+ roomProp(i18n, 'entityRef.entityName', 'comment', {
197
+ dataType: 'string',
198
+ visible: false,
199
+ interface: { type: AXPWidgetsCatalog.text },
200
+ }),
201
+ roomProp(i18n, 'blocked', 'flags', {
202
+ dataType: 'boolean',
203
+ interface: { type: AXPWidgetsCatalog.toggle },
204
+ }),
205
+ roomProp(i18n, 'pinned', 'flags', {
206
+ dataType: 'boolean',
207
+ interface: { type: AXPWidgetsCatalog.toggle },
208
+ }),
209
+ roomProp(i18n, 'archived', 'flags', {
210
+ dataType: 'boolean',
211
+ interface: { type: AXPWidgetsCatalog.toggle },
212
+ }),
213
+ ],
214
+ columns: [
215
+ { name: 'title' },
216
+ { name: 'kind' },
217
+ { name: 'type' },
218
+ { name: 'lastMessageAt' },
219
+ { name: 'unreadCount' },
220
+ { name: 'pinned' },
221
+ { name: 'archived' },
222
+ ],
223
+ interfaces: {
224
+ master: {
225
+ create: {
226
+ sections: [{ id: 'basic-info' }, { id: 'activity' }, { id: 'comment' }, { id: 'flags' }],
227
+ properties: [
228
+ { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
229
+ { name: 'name', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
230
+ { name: 'kind', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },
231
+ { name: 'type', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },
232
+ { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },
233
+ { name: 'avatar', layout: { positions: { lg: { colSpan: 6, order: 6 } } } },
234
+ { name: 'icon', layout: { positions: { lg: { colSpan: 6, order: 7 } } } },
235
+ { name: 'topic', layout: { positions: { lg: { colSpan: 12, order: 8 } } } },
236
+ { name: 'lastMessageAt', layout: { positions: { lg: { colSpan: 6, order: 9 } } } },
237
+ { name: 'unreadCount', layout: { positions: { lg: { colSpan: 6, order: 10 } } } },
238
+ { name: 'pinned', layout: { positions: { lg: { colSpan: 4, order: 11 } } } },
239
+ { name: 'archived', layout: { positions: { lg: { colSpan: 4, order: 12 } } } },
240
+ { name: 'blocked', layout: { positions: { lg: { colSpan: 4, order: 13 } } } },
241
+ ],
242
+ },
243
+ update: {
244
+ sections: [{ id: 'basic-info' }, { id: 'activity' }, { id: 'comment' }, { id: 'flags' }],
245
+ properties: [
246
+ { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
247
+ { name: 'name', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
248
+ { name: 'kind', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },
249
+ { name: 'type', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },
250
+ { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },
251
+ { name: 'draft', layout: { positions: { lg: { colSpan: 12, order: 6 } } } },
252
+ { name: 'lastMessageAt', layout: { positions: { lg: { colSpan: 6, order: 7 } } } },
253
+ { name: 'unreadCount', layout: { positions: { lg: { colSpan: 6, order: 8 } } } },
254
+ { name: 'unreadMentions', layout: { positions: { lg: { colSpan: 6, order: 9 } } } },
255
+ { name: 'updatedAt', layout: { positions: { lg: { colSpan: 6, order: 10 } } } },
256
+ { name: 'pinned', layout: { positions: { lg: { colSpan: 4, order: 11 } } } },
257
+ { name: 'archived', layout: { positions: { lg: { colSpan: 4, order: 12 } } } },
258
+ { name: 'blocked', layout: { positions: { lg: { colSpan: 4, order: 13 } } } },
259
+ ],
260
+ },
261
+ single: {
262
+ title: '{{title}}',
263
+ sections: [{ id: 'basic-info' }, { id: 'activity' }, { id: 'flags' }],
264
+ properties: [
265
+ { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
266
+ { name: 'kind', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
267
+ { name: 'type', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },
268
+ { name: 'unreadCount', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },
269
+ { name: 'lastMessageAt', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },
270
+ { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 6 } } } },
271
+ ],
272
+ actions: [...entityMasterRecordActions()],
273
+ },
274
+ list: {
275
+ actions: [...entityMasterCrudActions()],
276
+ views: [
277
+ createAllQueryView({
278
+ columns: ['title', 'kind', 'type', 'lastMessageAt', 'unreadCount', 'pinned', 'archived'],
279
+ sorts: [{ name: 'lastMessageAt', dir: 'desc' }],
280
+ }),
281
+ ],
282
+ },
283
+ },
284
+ },
285
+ };
286
+ return entityDef;
287
+ }
288
+ //#endregion
289
+
290
+ /**
291
+ * Generated bundle index. Do not edit.
292
+ */
293
+
294
+ export { roomFactory };
295
+ //# sourceMappingURL=acorex-platform-module-conversation-client-contracts-entities-room.mjs.map