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

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 (73) hide show
  1. package/fesm2022/{acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-C8FR7Snp.mjs → acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-DUR2oyfP.mjs} +10935 -9294
  2. package/fesm2022/acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-DUR2oyfP.mjs.map +1 -0
  3. package/fesm2022/{acorex-platform-module-conversation-client-after-message-sent.command-hVFQo07j.mjs → acorex-platform-module-conversation-client-after-message-sent.command-qTWATpgC.mjs} +2 -2
  4. package/fesm2022/{acorex-platform-module-conversation-client-after-message-sent.command-hVFQo07j.mjs.map → acorex-platform-module-conversation-client-after-message-sent.command-qTWATpgC.mjs.map} +1 -1
  5. package/fesm2022/{acorex-platform-module-conversation-client-assist-delegated-agent-detail-popup.component-D6XrMTQm.mjs → acorex-platform-module-conversation-client-assist-delegated-agent-detail-popup.component-DQWhOmBE.mjs} +8 -7
  6. package/fesm2022/{acorex-platform-module-conversation-client-assist-delegated-agent-detail-popup.component-D6XrMTQm.mjs.map → acorex-platform-module-conversation-client-assist-delegated-agent-detail-popup.component-DQWhOmBE.mjs.map} +1 -1
  7. package/fesm2022/acorex-platform-module-conversation-client-assist-message-renderer.component-DyVepuaW.mjs +1756 -0
  8. package/fesm2022/acorex-platform-module-conversation-client-assist-message-renderer.component-DyVepuaW.mjs.map +1 -0
  9. package/fesm2022/acorex-platform-module-conversation-client-assist-tool-detail-popup.component-D8na_1QJ.mjs +120 -0
  10. package/fesm2022/{acorex-platform-module-conversation-client-assist-tool-detail-popup.component-BV1YH96m.mjs.map → acorex-platform-module-conversation-client-assist-tool-detail-popup.component-D8na_1QJ.mjs.map} +1 -1
  11. package/fesm2022/{acorex-platform-module-conversation-client-chat-call-session-page.component-b84Na7R_.mjs → acorex-platform-module-conversation-client-chat-call-session-page.component-BeS4Duip.mjs} +747 -25
  12. package/fesm2022/acorex-platform-module-conversation-client-chat-call-session-page.component-BeS4Duip.mjs.map +1 -0
  13. package/fesm2022/{acorex-platform-module-conversation-client-chat-call-start-popup.component-BTOtRRPY.mjs → acorex-platform-module-conversation-client-chat-call-start-popup.component-BbEhkLLh.mjs} +4 -4
  14. package/fesm2022/{acorex-platform-module-conversation-client-chat-call-start-popup.component-BTOtRRPY.mjs.map → acorex-platform-module-conversation-client-chat-call-start-popup.component-BbEhkLLh.mjs.map} +1 -1
  15. package/fesm2022/{acorex-platform-module-conversation-client-chat-conversation-info-media-view.component-CppNPfqe.mjs → acorex-platform-module-conversation-client-chat-conversation-info-media-view.component-Bnbj0e6M.mjs} +3 -3
  16. package/fesm2022/{acorex-platform-module-conversation-client-chat-conversation-info-media-view.component-CppNPfqe.mjs.map → acorex-platform-module-conversation-client-chat-conversation-info-media-view.component-Bnbj0e6M.mjs.map} +1 -1
  17. package/fesm2022/acorex-platform-module-conversation-client-chat-conversation-info-panel.component-bwT1-lAn.mjs +497 -0
  18. package/fesm2022/acorex-platform-module-conversation-client-chat-conversation-info-panel.component-bwT1-lAn.mjs.map +1 -0
  19. package/fesm2022/{acorex-platform-module-conversation-client-comments-page.component-BhSJiJY5.mjs → acorex-platform-module-conversation-client-comments-page.component-BxUz9jTX.mjs} +2 -2
  20. package/fesm2022/{acorex-platform-module-conversation-client-comments-page.component-BhSJiJY5.mjs.map → acorex-platform-module-conversation-client-comments-page.component-BxUz9jTX.mjs.map} +1 -1
  21. package/fesm2022/acorex-platform-module-conversation-client-contracts-entities-channel-audience.mjs +277 -0
  22. package/fesm2022/acorex-platform-module-conversation-client-contracts-entities-channel-audience.mjs.map +1 -0
  23. package/fesm2022/acorex-platform-module-conversation-client-contracts-entities-channel-post.mjs +530 -0
  24. package/fesm2022/acorex-platform-module-conversation-client-contracts-entities-channel-post.mjs.map +1 -0
  25. package/fesm2022/acorex-platform-module-conversation-client-contracts-entities-channel-receipt.mjs +206 -0
  26. package/fesm2022/acorex-platform-module-conversation-client-contracts-entities-channel-receipt.mjs.map +1 -0
  27. package/fesm2022/acorex-platform-module-conversation-client-contracts-entities-message.mjs +65 -17
  28. package/fesm2022/acorex-platform-module-conversation-client-contracts-entities-message.mjs.map +1 -1
  29. package/fesm2022/acorex-platform-module-conversation-client-contracts-entities-room.mjs +231 -59
  30. package/fesm2022/acorex-platform-module-conversation-client-contracts-entities-room.mjs.map +1 -1
  31. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-acorex-platform-module-conversation-client-contracts-entity-catalog-CV_sCYGf.mjs +87 -0
  32. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-acorex-platform-module-conversation-client-contracts-entity-catalog-CV_sCYGf.mjs.map +1 -0
  33. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-channel-audience.entity-DyaUcESJ.mjs +213 -0
  34. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-channel-audience.entity-DyaUcESJ.mjs.map +1 -0
  35. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-channel-post.entity-CbBcChEt.mjs +466 -0
  36. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-channel-post.entity-CbBcChEt.mjs.map +1 -0
  37. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-channel-receipt.entity-DtRFj8zV.mjs +142 -0
  38. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-channel-receipt.entity-DtRFj8zV.mjs.map +1 -0
  39. package/fesm2022/{acorex-platform-module-conversation-client-contracts-entity-catalog-message.entity-Dz7cO1P4.mjs → acorex-platform-module-conversation-client-contracts-entity-catalog-message.entity-CJk1wEvA.mjs} +35 -19
  40. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-message.entity-CJk1wEvA.mjs.map +1 -0
  41. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-room.entity-Ctt7qzfF.mjs +403 -0
  42. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-room.entity-Ctt7qzfF.mjs.map +1 -0
  43. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog.mjs +1 -1
  44. package/fesm2022/acorex-platform-module-conversation-client-contracts.mjs +846 -4
  45. package/fesm2022/acorex-platform-module-conversation-client-contracts.mjs.map +1 -1
  46. package/fesm2022/acorex-platform-module-conversation-client-local-entities.mjs +3 -0
  47. package/fesm2022/acorex-platform-module-conversation-client-local-entities.mjs.map +1 -1
  48. package/fesm2022/{acorex-platform-module-conversation-client-mark-conversation-unread.command-D0rr0npJ.mjs → acorex-platform-module-conversation-client-mark-conversation-unread.command-juoWxu7I.mjs} +2 -2
  49. package/fesm2022/{acorex-platform-module-conversation-client-mark-conversation-unread.command-D0rr0npJ.mjs.map → acorex-platform-module-conversation-client-mark-conversation-unread.command-juoWxu7I.mjs.map} +1 -1
  50. package/fesm2022/{acorex-platform-module-conversation-client-open-chat.command-Bbgp4ZfT.mjs → acorex-platform-module-conversation-client-open-chat.command-ridcdmj7.mjs} +2 -2
  51. package/fesm2022/{acorex-platform-module-conversation-client-open-chat.command-Bbgp4ZfT.mjs.map → acorex-platform-module-conversation-client-open-chat.command-ridcdmj7.mjs.map} +1 -1
  52. package/fesm2022/{acorex-platform-module-conversation-client-retry-assist-response.command-BMZTab8j.mjs → acorex-platform-module-conversation-client-retry-assist-response.command-BsYxaH3g.mjs} +2 -2
  53. package/fesm2022/{acorex-platform-module-conversation-client-retry-assist-response.command-BMZTab8j.mjs.map → acorex-platform-module-conversation-client-retry-assist-response.command-BsYxaH3g.mjs.map} +1 -1
  54. package/fesm2022/{acorex-platform-module-conversation-client-sync-read-state.command-9G3Knrre.mjs → acorex-platform-module-conversation-client-sync-read-state.command-DsCyIdEk.mjs} +7 -2
  55. package/fesm2022/acorex-platform-module-conversation-client-sync-read-state.command-DsCyIdEk.mjs.map +1 -0
  56. package/fesm2022/acorex-platform-module-conversation-client.mjs +1 -1
  57. package/package.json +14 -2
  58. package/types/acorex-platform-module-conversation-client-contracts-entities-channel-audience.d.ts +5 -0
  59. package/types/acorex-platform-module-conversation-client-contracts-entities-channel-post.d.ts +5 -0
  60. package/types/acorex-platform-module-conversation-client-contracts-entities-channel-receipt.d.ts +5 -0
  61. package/types/acorex-platform-module-conversation-client-contracts.d.ts +432 -2
  62. package/types/acorex-platform-module-conversation-client.d.ts +680 -161
  63. package/fesm2022/acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-C8FR7Snp.mjs.map +0 -1
  64. package/fesm2022/acorex-platform-module-conversation-client-assist-tool-detail-popup.component-BV1YH96m.mjs +0 -120
  65. package/fesm2022/acorex-platform-module-conversation-client-chat-call-session-page.component-b84Na7R_.mjs.map +0 -1
  66. package/fesm2022/acorex-platform-module-conversation-client-chat-conversation-info-panel.component-C5xS98oE.mjs +0 -472
  67. package/fesm2022/acorex-platform-module-conversation-client-chat-conversation-info-panel.component-C5xS98oE.mjs.map +0 -1
  68. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-acorex-platform-module-conversation-client-contracts-entity-catalog-Cy3LwYMZ.mjs +0 -52
  69. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-acorex-platform-module-conversation-client-contracts-entity-catalog-Cy3LwYMZ.mjs.map +0 -1
  70. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-message.entity-Dz7cO1P4.mjs.map +0 -1
  71. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-room.entity-B9txvc3y.mjs +0 -263
  72. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-room.entity-B9txvc3y.mjs.map +0 -1
  73. package/fesm2022/acorex-platform-module-conversation-client-sync-read-state.command-9G3Knrre.mjs.map +0 -1
@@ -1,5 +1,40 @@
1
1
  import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';
2
- import { createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';
2
+ import { createAllQueryView, createQueryView, entityMasterCrudActions, entityMasterRecordActions, entityDetailsCrudActions, entityMasterViewAction, entityDetailsSimpleCondition } from '@acorex-platform/framework-shared/entity';
3
+
4
+ //#region ----- Imports -----
5
+ //#endregion
6
+ //#region ----- Target entity map -----
7
+ /** Lookup entity for each audience target type. `organization` has no row lookup. */
8
+ const AXM_CHANNEL_AUDIENCE_TARGET_ENTITY = {
9
+ organization: null,
10
+ user: 'SecurityManagement.User',
11
+ role: 'SecurityManagement.Role',
12
+ team: 'OrganizationManagement.Team',
13
+ businessUnit: 'OrganizationManagement.BusinessUnit',
14
+ position: 'OrganizationManagement.Position',
15
+ jobDefinition: 'OrganizationManagement.JobDefinition',
16
+ };
17
+ function axmChannelAudienceTargetEntity(targetType) {
18
+ if (!targetType) {
19
+ return null;
20
+ }
21
+ return AXM_CHANNEL_AUDIENCE_TARGET_ENTITY[targetType] ?? null;
22
+ }
23
+ function axmRoomAudienceRule(room) {
24
+ const roomId = room.id?.trim();
25
+ const targetType = room.audienceTargetType?.trim();
26
+ if (!roomId || !targetType) {
27
+ return null;
28
+ }
29
+ return {
30
+ id: `room-audience:${roomId}`,
31
+ roomId,
32
+ targetType,
33
+ targetId: room.audienceTargetId?.trim() || undefined,
34
+ mode: room.audienceMode?.trim() ?? 'include',
35
+ };
36
+ }
37
+ //#endregion
3
38
 
4
39
  const config = {
5
40
  i18n: 'conversation',
@@ -27,8 +62,40 @@ const RootConfig = {
27
62
  source: `${config.module}.Message`,
28
63
  icon: 'fa-light fa-message',
29
64
  },
65
+ channelPost: {
66
+ name: 'ChannelPost',
67
+ source: `${config.module}.ChannelPost`,
68
+ title: `@${config.i18n}:entities.channel-post.title`,
69
+ titlePlural: `@${config.i18n}:entities.channel-post.plural`,
70
+ icon: 'fa-light fa-bullhorn',
71
+ },
72
+ channelAudience: {
73
+ name: 'ChannelAudience',
74
+ source: `${config.module}.ChannelAudience`,
75
+ title: `@${config.i18n}:entities.channel-audience.title`,
76
+ titlePlural: `@${config.i18n}:entities.channel-audience.plural`,
77
+ icon: 'fa-light fa-users',
78
+ },
79
+ channelReceipt: {
80
+ name: 'ChannelReceipt',
81
+ source: `${config.module}.ChannelReceipt`,
82
+ title: `@${config.i18n}:entities.channel-receipt.title`,
83
+ titlePlural: `@${config.i18n}:entities.channel-receipt.plural`,
84
+ icon: 'fa-light fa-envelope-open',
85
+ },
86
+ },
87
+ pages: {
88
+ feed: {
89
+ path: 'announcements',
90
+ title: `@${config.i18n}:pages.feed.title`,
91
+ description: `@${config.i18n}:pages.feed.description`,
92
+ icon: 'fa-light fa-bullhorn',
93
+ },
30
94
  },
31
95
  };
96
+ const CHANNEL_POST_ENTITY_NAME = RootConfig.entities.channelPost.source;
97
+ const CHANNEL_AUDIENCE_ENTITY_NAME = RootConfig.entities.channelAudience.source;
98
+ const CHANNEL_RECEIPT_ENTITY_NAME = RootConfig.entities.channelReceipt.source;
32
99
 
33
100
  //#region ---- Imports ----
34
101
  //#endregion
@@ -53,6 +120,27 @@ const filterable = {
53
120
  sort: { enabled: true },
54
121
  filter: { advance: { enabled: true }, inline: { enabled: false } },
55
122
  };
123
+ /** Channel admin forms omit `type`; treat missing as channel. */
124
+ const channelAudienceVisible = '{{ !context.eval("type") || context.eval("type") === "channel" }}';
125
+ /** Select stores the combo item (`{ value }`) when strategy is `item`, otherwise the primitive key. */
126
+ const audienceTargetTypeKey = "(context.eval('audienceTargetType')?.value || context.eval('audienceTargetType')?.name || context.eval('audienceTargetType')?.id || context.eval('audienceTargetType'))";
127
+ const channelTargetLookupVisible = `{{ (!context.eval("type") || context.eval("type") === "channel") && !!${audienceTargetTypeKey} && ${audienceTargetTypeKey} !== "organization" }}`;
128
+ const audienceTargetTypeOptions = [
129
+ { name: 'organization', title: '@conversation:entities.channel-audience.fields.target-type.options.organization' },
130
+ { name: 'user', title: '@conversation:entities.channel-audience.fields.target-type.options.user' },
131
+ { name: 'role', title: '@conversation:entities.channel-audience.fields.target-type.options.role' },
132
+ { name: 'team', title: '@conversation:entities.channel-audience.fields.target-type.options.team' },
133
+ { name: 'businessUnit', title: '@conversation:entities.channel-audience.fields.target-type.options.business-unit' },
134
+ { name: 'position', title: '@conversation:entities.channel-audience.fields.target-type.options.position' },
135
+ { name: 'jobDefinition', title: '@conversation:entities.channel-audience.fields.target-type.options.job-definition' },
136
+ ];
137
+ const audienceModeOptions = [
138
+ { name: 'include', title: '@conversation:entities.channel-audience.fields.mode.options.include' },
139
+ { name: 'exclude', title: '@conversation:entities.channel-audience.fields.mode.options.exclude' },
140
+ ];
141
+ const audienceTargetEntityByTypeJson = JSON.stringify(AXM_CHANNEL_AUDIENCE_TARGET_ENTITY);
142
+ const audienceTargetLookupEntity = `{{ (${audienceTargetEntityByTypeJson})[${audienceTargetTypeKey}] || '' }}`;
143
+ const audienceTypeChangedAction = `{{ context.set('audienceTargetEntity', (${audienceTargetEntityByTypeJson})[${audienceTargetTypeKey}] || ''); context.set('audienceTargetId', null); }}`;
56
144
  //#endregion
57
145
  //#region ---- Entity factory ----
58
146
  async function roomFactory() {
@@ -62,6 +150,7 @@ async function roomFactory() {
62
150
  name: RootConfig.entities.room.name,
63
151
  title: RootConfig.entities.room.title,
64
152
  icon: RootConfig.entities.room.icon,
153
+ searchTags: ['room', 'chat-room', 'conversation-room', 'private-chat', 'group-chat', 'channel', 'comment-thread', 'participants', 'unread', 'archived', 'اتاق', 'اتاق‌ها', 'گفتگو', 'گفتگوها', 'نظر'],
65
154
  formats: {
66
155
  individual: RootConfig.entities.room.title,
67
156
  plural: RootConfig.entities.room.title,
@@ -70,10 +159,21 @@ async function roomFactory() {
70
159
  description: '{{ kind }}',
71
160
  },
72
161
  },
73
- relatedEntities: [],
162
+ relatedEntities: [
163
+ {
164
+ entity: RootConfig.entities.channelPost.source,
165
+ title: RootConfig.entities.channelPost.titlePlural,
166
+ columns: ['title', 'kind', 'status', 'authorUserId', 'publishedAt', 'isPinned'],
167
+ conditions: [entityDetailsSimpleCondition('roomId')],
168
+ actions: [...entityDetailsCrudActions('roomId', { delete: false, view: false }), entityMasterViewAction()],
169
+ persistence: { foreignKeyField: 'roomId' },
170
+ excludeProperties: ['roomId'],
171
+ layout: { type: 'page-list', position: 'after', order: 1 },
172
+ },
173
+ ],
74
174
  groups: [
75
175
  { id: 'basic-info', title: '@general:terms.interface.basic-info' },
76
- { id: 'activity', title: `t("room.groups.activity", { scope: "${i18n}" })` },
176
+ { id: 'audience', title: `@${i18n}:entities.channel-audience.title` },
77
177
  { id: 'comment', title: `t("room.groups.comment", { scope: "${i18n}" })` },
78
178
  { id: 'flags', title: `t("room.groups.flags", { scope: "${i18n}" })` },
79
179
  { id: 'runtime', title: `t("room.groups.runtime", { scope: "${i18n}" })` },
@@ -89,6 +189,7 @@ async function roomFactory() {
89
189
  }, { options: filterable, validations: [{ rule: 'required' }] }),
90
190
  roomProp(i18n, 'kind', 'basic-info', {
91
191
  dataType: 'string',
192
+ defaultValue: 'chat',
92
193
  interface: {
93
194
  type: AXPWidgetsCatalog.select,
94
195
  options: {
@@ -96,14 +197,15 @@ async function roomFactory() {
96
197
  textField: 'title',
97
198
  multiple: false,
98
199
  dataSource: [
99
- { name: 'chat', title: 'Chat' },
100
- { name: 'comment', title: 'Comment' },
200
+ { name: 'chat', title: `@${i18n}:room.options.kind.chat` },
201
+ { name: 'comment', title: `@${i18n}:room.options.kind.comment` },
101
202
  ],
102
203
  },
103
204
  },
104
205
  }, { options: filterable, validations: [{ rule: 'required' }] }),
105
206
  roomProp(i18n, 'type', 'basic-info', {
106
207
  dataType: 'string',
208
+ defaultValue: 'channel',
107
209
  interface: {
108
210
  type: AXPWidgetsCatalog.select,
109
211
  options: {
@@ -111,10 +213,10 @@ async function roomFactory() {
111
213
  textField: 'title',
112
214
  multiple: false,
113
215
  dataSource: [
114
- { name: 'private', title: 'Private' },
115
- { name: 'group', title: 'Group' },
116
- { name: 'channel', title: 'Channel' },
117
- { name: 'bot', title: 'Bot' },
216
+ { name: 'private', title: `@${i18n}:room.options.type.private` },
217
+ { name: 'group', title: `@${i18n}:room.options.type.group` },
218
+ { name: 'channel', title: `@${i18n}:room.options.type.channel` },
219
+ { name: 'bot', title: `@${i18n}:room.options.type.bot` },
118
220
  ],
119
221
  },
120
222
  },
@@ -143,28 +245,92 @@ async function roomFactory() {
143
245
  dataType: 'string',
144
246
  interface: { type: AXPWidgetsCatalog.largeText },
145
247
  }),
146
- roomProp(i18n, 'lastMessageAt', 'activity', {
248
+ roomProp(i18n, 'audienceTargetType', 'audience', {
249
+ dataType: 'string',
250
+ defaultValue: 'organization',
251
+ visible: channelAudienceVisible,
252
+ interface: {
253
+ type: AXPWidgetsCatalog.select,
254
+ options: {
255
+ valueField: 'name',
256
+ textField: 'title',
257
+ multiple: false,
258
+ dataSource: audienceTargetTypeOptions,
259
+ },
260
+ triggers: [
261
+ {
262
+ event: "{{ events.context('audienceTargetType') }}",
263
+ action: audienceTypeChangedAction,
264
+ },
265
+ ],
266
+ },
267
+ }, { title: `@${i18n}:entities.channel-audience.fields.target-type.title` }),
268
+ roomProp(i18n, 'audienceTargetEntity', 'audience', {
269
+ dataType: 'string',
270
+ visible: false,
271
+ interface: { type: AXPWidgetsCatalog.text },
272
+ }),
273
+ roomProp(i18n, 'audienceTargetId', 'audience', {
274
+ dataType: 'string',
275
+ visible: channelTargetLookupVisible,
276
+ interface: {
277
+ type: AXPWidgetsCatalog.lookup,
278
+ options: {
279
+ entity: audienceTargetLookupEntity,
280
+ valueField: 'id',
281
+ look: 'select',
282
+ },
283
+ triggers: [
284
+ {
285
+ event: "{{ events.context('audienceTargetType') }}",
286
+ action: `{{ widget.refresh() }}`,
287
+ },
288
+ ],
289
+ },
290
+ }, { title: `@${i18n}:entities.channel-audience.fields.target-id.title` }),
291
+ roomProp(i18n, 'audienceMode', 'audience', {
292
+ dataType: 'string',
293
+ defaultValue: 'include',
294
+ visible: channelAudienceVisible,
295
+ interface: {
296
+ type: AXPWidgetsCatalog.select,
297
+ options: {
298
+ valueField: 'name',
299
+ textField: 'title',
300
+ multiple: false,
301
+ dataSource: audienceModeOptions,
302
+ },
303
+ },
304
+ }, { title: `@${i18n}:entities.channel-audience.fields.mode.title` }),
305
+ roomProp(i18n, 'lastMessageAt', 'runtime', {
147
306
  dataType: 'date',
307
+ visible: false,
148
308
  interface: { type: AXPWidgetsCatalog.dateTime },
149
- }, { options: filterable, validations: [{ rule: 'required' }] }),
150
- roomProp(i18n, 'unreadCount', 'activity', {
309
+ }, { options: filterable }),
310
+ roomProp(i18n, 'unreadCount', 'runtime', {
151
311
  dataType: 'number',
312
+ defaultValue: 0,
313
+ visible: false,
152
314
  interface: { type: AXPWidgetsCatalog.number },
153
- }, { options: filterable, validations: [{ rule: 'required' }] }),
154
- roomProp(i18n, 'unreadMentions', 'activity', {
315
+ }, { options: filterable }),
316
+ roomProp(i18n, 'unreadMentions', 'runtime', {
155
317
  dataType: 'number',
318
+ visible: false,
156
319
  interface: { type: AXPWidgetsCatalog.number },
157
320
  }),
158
- roomProp(i18n, 'createdAt', 'activity', {
321
+ roomProp(i18n, 'createdAt', 'runtime', {
159
322
  dataType: 'date',
323
+ visible: false,
160
324
  interface: { type: AXPWidgetsCatalog.dateTime },
161
325
  }, { validations: [{ rule: 'required' }] }),
162
- roomProp(i18n, 'updatedAt', 'activity', {
326
+ roomProp(i18n, 'updatedAt', 'runtime', {
163
327
  dataType: 'date',
328
+ visible: false,
164
329
  interface: { type: AXPWidgetsCatalog.dateTime },
165
330
  }, { validations: [{ rule: 'required' }] }),
166
- roomProp(i18n, 'draft', 'activity', {
331
+ roomProp(i18n, 'draft', 'runtime', {
167
332
  dataType: 'string',
333
+ visible: false,
168
334
  interface: { type: AXPWidgetsCatalog.largeText },
169
335
  }),
170
336
  hiddenStorageProp(i18n, 'participants', 'array'),
@@ -173,7 +339,10 @@ async function roomFactory() {
173
339
  hiddenStorageProp(i18n, 'settings', 'object'),
174
340
  hiddenStorageProp(i18n, 'pinnedMessageIds', 'array'),
175
341
  hiddenStorageProp(i18n, 'metadata', 'object'),
176
- hiddenStorageProp(i18n, 'entityRef', 'object', 'comment'),
342
+ {
343
+ ...hiddenStorageProp(i18n, 'entityRef', 'object', 'comment'),
344
+ title: `t("room.props.entityRef.title", { scope: "${i18n}" })`,
345
+ },
177
346
  roomProp(i18n, 'topic', 'comment', {
178
347
  dataType: 'string',
179
348
  interface: { type: AXPWidgetsCatalog.text },
@@ -200,6 +369,7 @@ async function roomFactory() {
200
369
  }),
201
370
  roomProp(i18n, 'blocked', 'flags', {
202
371
  dataType: 'boolean',
372
+ visible: false,
203
373
  interface: { type: AXPWidgetsCatalog.toggle },
204
374
  }),
205
375
  roomProp(i18n, 'pinned', 'flags', {
@@ -211,63 +381,47 @@ async function roomFactory() {
211
381
  interface: { type: AXPWidgetsCatalog.toggle },
212
382
  }),
213
383
  ],
214
- columns: [
215
- { name: 'title' },
216
- { name: 'kind' },
217
- { name: 'type' },
218
- { name: 'lastMessageAt' },
219
- { name: 'unreadCount' },
220
- { name: 'pinned' },
221
- { name: 'archived' },
222
- ],
384
+ columns: [{ name: 'title' }, { name: 'kind' }, { name: 'type' }, { name: 'pinned' }, { name: 'archived' }],
223
385
  interfaces: {
224
386
  master: {
225
387
  create: {
226
- sections: [{ id: 'basic-info' }, { id: 'activity' }, { id: 'comment' }, { id: 'flags' }],
388
+ sections: [{ id: 'basic-info' }, { id: 'audience' }, { id: 'flags' }],
227
389
  properties: [
228
390
  { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
229
391
  { 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 } } } },
392
+ { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },
393
+ { name: 'audienceTargetType', layout: { positions: { lg: { colSpan: 4, order: 4 } } } },
394
+ { name: 'audienceTargetId', layout: { positions: { lg: { colSpan: 4, order: 5 } } } },
395
+ { name: 'audienceMode', layout: { positions: { lg: { colSpan: 4, order: 6 } } } },
396
+ { name: 'pinned', layout: { positions: { lg: { colSpan: 6, order: 7 } } } },
397
+ { name: 'archived', layout: { positions: { lg: { colSpan: 6, order: 8 } } } },
241
398
  ],
242
399
  },
243
400
  update: {
244
- sections: [{ id: 'basic-info' }, { id: 'activity' }, { id: 'comment' }, { id: 'flags' }],
401
+ sections: [{ id: 'basic-info' }, { id: 'audience' }, { id: 'flags' }],
245
402
  properties: [
246
403
  { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
247
404
  { 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 } } } },
405
+ { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },
406
+ { name: 'audienceTargetType', layout: { positions: { lg: { colSpan: 4, order: 4 } } } },
407
+ { name: 'audienceTargetId', layout: { positions: { lg: { colSpan: 4, order: 5 } } } },
408
+ { name: 'audienceMode', layout: { positions: { lg: { colSpan: 4, order: 6 } } } },
409
+ { name: 'pinned', layout: { positions: { lg: { colSpan: 6, order: 7 } } } },
410
+ { name: 'archived', layout: { positions: { lg: { colSpan: 6, order: 8 } } } },
259
411
  ],
260
412
  },
261
413
  single: {
262
414
  title: '{{title}}',
263
- sections: [{ id: 'basic-info' }, { id: 'activity' }, { id: 'flags' }],
415
+ sections: [{ id: 'basic-info' }, { id: 'audience' }, { id: 'flags' }],
264
416
  properties: [
265
417
  { 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 } } } },
418
+ { name: 'name', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
419
+ { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },
420
+ { name: 'audienceTargetType', layout: { positions: { lg: { colSpan: 4, order: 4 } } } },
421
+ { name: 'audienceTargetId', layout: { positions: { lg: { colSpan: 4, order: 5 } } } },
422
+ { name: 'audienceMode', layout: { positions: { lg: { colSpan: 4, order: 6 } } } },
423
+ { name: 'pinned', layout: { positions: { lg: { colSpan: 6, order: 7 } } } },
424
+ { name: 'archived', layout: { positions: { lg: { colSpan: 6, order: 8 } } } },
271
425
  ],
272
426
  actions: [...entityMasterRecordActions()],
273
427
  },
@@ -275,9 +429,27 @@ async function roomFactory() {
275
429
  actions: [...entityMasterCrudActions()],
276
430
  views: [
277
431
  createAllQueryView({
278
- columns: ['title', 'kind', 'type', 'lastMessageAt', 'unreadCount', 'pinned', 'archived'],
279
- sorts: [{ name: 'lastMessageAt', dir: 'desc' }],
432
+ columns: ['title', 'kind', 'type', 'pinned', 'archived'],
433
+ sorts: [{ name: 'title', dir: 'asc' }],
280
434
  }),
435
+ createQueryView('channels', `t("room.views.channels", { scope: "${i18n}" })`, true, {
436
+ columns: ['title', 'description', 'pinned', 'archived'],
437
+ conditions: [{ name: 'type', operator: { type: 'equal' }, value: 'channel' }],
438
+ sorts: [{ name: 'title', dir: 'asc' }],
439
+ }),
440
+ ],
441
+ },
442
+ card: {
443
+ enabled: false,
444
+ header: {
445
+ title: 'title',
446
+ description: 'description',
447
+ icon: 'icon',
448
+ },
449
+ fields: [
450
+ { name: 'pinned', display: 'simple' },
451
+ { name: 'archived', display: 'simple' },
452
+ { name: 'audienceTargetType', display: 'simple' },
281
453
  ],
282
454
  },
283
455
  },
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-conversation-client-contracts-entities-room.mjs","sources":["../../../../libs/modules/conversation/contracts/src/root-config.ts","../../../../libs/modules/conversation/contracts/src/entities/room/room.entity.ts","../../../../libs/modules/conversation/contracts/src/acorex-platform-module-conversation-client-contracts-entities-room.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 roomProp(\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(\"room.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 roomProp(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 roomFactory(): Promise<AXPEntity | null> {\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.room.name,\n title: RootConfig.entities.room.title,\n icon: RootConfig.entities.room.icon,\n formats: {\n individual: RootConfig.entities.room.title,\n plural: RootConfig.entities.room.title,\n searchResult: {\n title: '{{ title }}',\n description: '{{ kind }}',\n },\n },\n relatedEntities: [],\n groups: [\n { id: 'basic-info', title: '@general:terms.interface.basic-info' },\n { id: 'activity', title: `t(\"room.groups.activity\", { scope: \"${i18n}\" })` },\n { id: 'comment', title: `t(\"room.groups.comment\", { scope: \"${i18n}\" })` },\n { id: 'flags', title: `t(\"room.groups.flags\", { scope: \"${i18n}\" })` },\n { id: 'runtime', title: `t(\"room.groups.runtime\", { scope: \"${i18n}\" })` },\n ],\n properties: [\n roomProp(i18n, 'name', 'basic-info', {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.text },\n }),\n roomProp(\n i18n,\n 'title',\n 'basic-info',\n {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.text },\n },\n { options: filterable, validations: [{ rule: 'required' }] },\n ),\n roomProp(\n i18n,\n 'kind',\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: 'chat', title: 'Chat' },\n { name: 'comment', title: 'Comment' },\n ],\n },\n },\n },\n { options: filterable, validations: [{ rule: 'required' }] },\n ),\n roomProp(\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: 'private', title: 'Private' },\n { name: 'group', title: 'Group' },\n { name: 'channel', title: 'Channel' },\n { name: 'bot', title: 'Bot' },\n ],\n },\n },\n },\n { options: filterable, validations: [{ rule: 'required' }] },\n ),\n roomProp(\n i18n,\n 'creatorId',\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 },\n ),\n roomProp(i18n, 'avatar', 'basic-info', {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.text },\n }),\n roomProp(i18n, 'icon', 'basic-info', {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.text },\n }),\n roomProp(i18n, 'description', 'basic-info', {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.largeText },\n }),\n roomProp(\n i18n,\n 'lastMessageAt',\n 'activity',\n {\n dataType: 'date',\n interface: { type: AXPWidgetsCatalog.dateTime },\n },\n { options: filterable, validations: [{ rule: 'required' }] },\n ),\n roomProp(\n i18n,\n 'unreadCount',\n 'activity',\n {\n dataType: 'number',\n interface: { type: AXPWidgetsCatalog.number },\n },\n { options: filterable, validations: [{ rule: 'required' }] },\n ),\n roomProp(i18n, 'unreadMentions', 'activity', {\n dataType: 'number',\n interface: { type: AXPWidgetsCatalog.number },\n }),\n roomProp(\n i18n,\n 'createdAt',\n 'activity',\n {\n dataType: 'date',\n interface: { type: AXPWidgetsCatalog.dateTime },\n },\n { validations: [{ rule: 'required' }] },\n ),\n roomProp(\n i18n,\n 'updatedAt',\n 'activity',\n {\n dataType: 'date',\n interface: { type: AXPWidgetsCatalog.dateTime },\n },\n { validations: [{ rule: 'required' }] },\n ),\n roomProp(i18n, 'draft', 'activity', {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.largeText },\n }),\n hiddenStorageProp(i18n, 'participants', 'array'),\n hiddenStorageProp(i18n, 'lastMessage', 'object'),\n hiddenStorageProp(i18n, 'status', 'object'),\n hiddenStorageProp(i18n, 'settings', 'object'),\n hiddenStorageProp(i18n, 'pinnedMessageIds', 'array'),\n hiddenStorageProp(i18n, 'metadata', 'object'),\n hiddenStorageProp(i18n, 'entityRef', 'object', 'comment'),\n roomProp(i18n, 'topic', 'comment', {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.text },\n }),\n roomProp(i18n, 'entityRef.entityId', 'comment', {\n dataType: 'string',\n visible: false,\n interface: { type: AXPWidgetsCatalog.text },\n }),\n roomProp(i18n, 'entityRef.entityTypeId', 'comment', {\n dataType: 'string',\n visible: false,\n interface: { type: AXPWidgetsCatalog.text },\n }),\n roomProp(i18n, 'entityRef.moduleName', 'comment', {\n dataType: 'string',\n visible: false,\n interface: { type: AXPWidgetsCatalog.text },\n }),\n roomProp(i18n, 'entityRef.entityName', 'comment', {\n dataType: 'string',\n visible: false,\n interface: { type: AXPWidgetsCatalog.text },\n }),\n roomProp(i18n, 'blocked', 'flags', {\n dataType: 'boolean',\n interface: { type: AXPWidgetsCatalog.toggle },\n }),\n roomProp(i18n, 'pinned', 'flags', {\n dataType: 'boolean',\n interface: { type: AXPWidgetsCatalog.toggle },\n }),\n roomProp(i18n, 'archived', 'flags', {\n dataType: 'boolean',\n interface: { type: AXPWidgetsCatalog.toggle },\n }),\n ],\n columns: [\n { name: 'title' },\n { name: 'kind' },\n { name: 'type' },\n { name: 'lastMessageAt' },\n { name: 'unreadCount' },\n { name: 'pinned' },\n { name: 'archived' },\n ],\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'basic-info' }, { id: 'activity' }, { id: 'comment' }, { id: 'flags' }],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'name', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'kind', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n { name: 'type', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },\n { name: 'avatar', layout: { positions: { lg: { colSpan: 6, order: 6 } } } },\n { name: 'icon', layout: { positions: { lg: { colSpan: 6, order: 7 } } } },\n { name: 'topic', layout: { positions: { lg: { colSpan: 12, order: 8 } } } },\n { name: 'lastMessageAt', layout: { positions: { lg: { colSpan: 6, order: 9 } } } },\n { name: 'unreadCount', layout: { positions: { lg: { colSpan: 6, order: 10 } } } },\n { name: 'pinned', layout: { positions: { lg: { colSpan: 4, order: 11 } } } },\n { name: 'archived', layout: { positions: { lg: { colSpan: 4, order: 12 } } } },\n { name: 'blocked', layout: { positions: { lg: { colSpan: 4, order: 13 } } } },\n ],\n },\n update: {\n sections: [{ id: 'basic-info' }, { id: 'activity' }, { id: 'comment' }, { id: 'flags' }],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'name', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'kind', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n { name: 'type', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },\n { name: 'draft', layout: { positions: { lg: { colSpan: 12, order: 6 } } } },\n { name: 'lastMessageAt', layout: { positions: { lg: { colSpan: 6, order: 7 } } } },\n { name: 'unreadCount', layout: { positions: { lg: { colSpan: 6, order: 8 } } } },\n { name: 'unreadMentions', layout: { positions: { lg: { colSpan: 6, order: 9 } } } },\n { name: 'updatedAt', layout: { positions: { lg: { colSpan: 6, order: 10 } } } },\n { name: 'pinned', layout: { positions: { lg: { colSpan: 4, order: 11 } } } },\n { name: 'archived', layout: { positions: { lg: { colSpan: 4, order: 12 } } } },\n { name: 'blocked', layout: { positions: { lg: { colSpan: 4, order: 13 } } } },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [{ id: 'basic-info' }, { id: 'activity' }, { id: 'flags' }],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'kind', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'type', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n { name: 'unreadCount', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },\n { name: 'lastMessageAt', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 6 } } } },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [\n createAllQueryView({\n columns: ['title', 'kind', 'type', 'lastMessageAt', 'unreadCount', 'pinned', 'archived'],\n sorts: [{ name: 'lastMessageAt', 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.room';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-module-conversation-client-contracts-entities-room.mjs","sources":["../../../../libs/modules/conversation/contracts/src/channel-audience-target.util.ts","../../../../libs/modules/conversation/contracts/src/root-config.ts","../../../../libs/modules/conversation/contracts/src/entities/room/room.entity.ts","../../../../libs/modules/conversation/contracts/src/acorex-platform-module-conversation-client-contracts-entities-room.ts"],"sourcesContent":["//#region ----- Imports -----\n\nimport type {\n AXMChannelAudienceEntityModel,\n AXMChannelAudienceMode,\n AXMChannelAudienceTargetType,\n} from './entities/channel-audience/channel-audience.types';\n\n//#endregion\n\n//#region ----- Target entity map -----\n\n/** Lookup entity for each audience target type. `organization` has no row lookup. */\nexport const AXM_CHANNEL_AUDIENCE_TARGET_ENTITY: Record<\n AXMChannelAudienceTargetType,\n string | null\n> = {\n organization: null,\n user: 'SecurityManagement.User',\n role: 'SecurityManagement.Role',\n team: 'OrganizationManagement.Team',\n businessUnit: 'OrganizationManagement.BusinessUnit',\n position: 'OrganizationManagement.Position',\n jobDefinition: 'OrganizationManagement.JobDefinition',\n};\n\nexport function axmChannelAudienceTargetEntity(\n targetType: string | null | undefined,\n): string | null {\n if (!targetType) {\n return null;\n }\n return AXM_CHANNEL_AUDIENCE_TARGET_ENTITY[targetType as AXMChannelAudienceTargetType] ?? null;\n}\n\nexport function axmRoomAudienceRule(room: {\n id?: string | null;\n audienceTargetType?: string | null;\n audienceTargetId?: string | null;\n audienceMode?: string | null;\n}): AXMChannelAudienceEntityModel | null {\n const roomId = room.id?.trim();\n const targetType = room.audienceTargetType?.trim() as AXMChannelAudienceTargetType | undefined;\n if (!roomId || !targetType) {\n return null;\n }\n return {\n id: `room-audience:${roomId}`,\n roomId,\n targetType,\n targetId: room.audienceTargetId?.trim() || undefined,\n mode: (room.audienceMode?.trim() as AXMChannelAudienceMode | undefined) ?? 'include',\n };\n}\n\n//#endregion\n","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 channelPost: {\n name: 'ChannelPost',\n source: `${config.module}.ChannelPost`,\n title: `@${config.i18n}:entities.channel-post.title`,\n titlePlural: `@${config.i18n}:entities.channel-post.plural`,\n icon: 'fa-light fa-bullhorn',\n },\n channelAudience: {\n name: 'ChannelAudience',\n source: `${config.module}.ChannelAudience`,\n title: `@${config.i18n}:entities.channel-audience.title`,\n titlePlural: `@${config.i18n}:entities.channel-audience.plural`,\n icon: 'fa-light fa-users',\n },\n channelReceipt: {\n name: 'ChannelReceipt',\n source: `${config.module}.ChannelReceipt`,\n title: `@${config.i18n}:entities.channel-receipt.title`,\n titlePlural: `@${config.i18n}:entities.channel-receipt.plural`,\n icon: 'fa-light fa-envelope-open',\n },\n },\n pages: {\n feed: {\n path: 'announcements',\n title: `@${config.i18n}:pages.feed.title`,\n description: `@${config.i18n}:pages.feed.description`,\n icon: 'fa-light fa-bullhorn',\n },\n },\n} as const;\n\nexport const CHANNEL_POST_ENTITY_NAME = RootConfig.entities.channelPost.source;\nexport const CHANNEL_AUDIENCE_ENTITY_NAME = RootConfig.entities.channelAudience.source;\nexport const CHANNEL_RECEIPT_ENTITY_NAME = RootConfig.entities.channelReceipt.source;\n","//#region ---- Imports ----\n\nimport { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';\nimport {\n AXPEntity,\n AXPEntityProperty,\n createAllQueryView,\n createQueryView,\n entityDetailsCrudActions,\n entityDetailsSimpleCondition,\n entityMasterCrudActions,\n entityMasterRecordActions,\n entityMasterViewAction,\n} from '@acorex-platform/framework-shared/entity';\nimport { AXM_CHANNEL_AUDIENCE_TARGET_ENTITY } from '../../channel-audience-target.util';\nimport { RootConfig } from '../../root-config';\n\n//#endregion\n\n//#region ---- Property helpers ----\n\nfunction roomProp(i18n: string, name: string, groupId: string, schema: AXPEntityProperty['schema'], options?: Partial<AXPEntityProperty>): AXPEntityProperty {\n return {\n name,\n title: `t(\"room.props.${name}\", { scope: \"${i18n}\" })`,\n groupId,\n schema,\n ...options,\n };\n}\n\nfunction hiddenStorageProp(i18n: string, name: string, dataType: 'object' | 'array', groupId = 'runtime'): AXPEntityProperty {\n return roomProp(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/** Channel admin forms omit `type`; treat missing as channel. */\nconst channelAudienceVisible = '{{ !context.eval(\"type\") || context.eval(\"type\") === \"channel\" }}';\n/** Select stores the combo item (`{ value }`) when strategy is `item`, otherwise the primitive key. */\nconst audienceTargetTypeKey = \"(context.eval('audienceTargetType')?.value || context.eval('audienceTargetType')?.name || context.eval('audienceTargetType')?.id || context.eval('audienceTargetType'))\";\nconst channelTargetLookupVisible = `{{ (!context.eval(\"type\") || context.eval(\"type\") === \"channel\") && !!${audienceTargetTypeKey} && ${audienceTargetTypeKey} !== \"organization\" }}`;\n\nconst audienceTargetTypeOptions = [\n { name: 'organization', title: '@conversation:entities.channel-audience.fields.target-type.options.organization' },\n { name: 'user', title: '@conversation:entities.channel-audience.fields.target-type.options.user' },\n { name: 'role', title: '@conversation:entities.channel-audience.fields.target-type.options.role' },\n { name: 'team', title: '@conversation:entities.channel-audience.fields.target-type.options.team' },\n { name: 'businessUnit', title: '@conversation:entities.channel-audience.fields.target-type.options.business-unit' },\n { name: 'position', title: '@conversation:entities.channel-audience.fields.target-type.options.position' },\n { name: 'jobDefinition', title: '@conversation:entities.channel-audience.fields.target-type.options.job-definition' },\n];\n\nconst audienceModeOptions = [\n { name: 'include', title: '@conversation:entities.channel-audience.fields.mode.options.include' },\n { name: 'exclude', title: '@conversation:entities.channel-audience.fields.mode.options.exclude' },\n];\n\nconst audienceTargetEntityByTypeJson = JSON.stringify(AXM_CHANNEL_AUDIENCE_TARGET_ENTITY);\nconst audienceTargetLookupEntity = `{{ (${audienceTargetEntityByTypeJson})[${audienceTargetTypeKey}] || '' }}`;\nconst audienceTypeChangedAction = `{{ context.set('audienceTargetEntity', (${audienceTargetEntityByTypeJson})[${audienceTargetTypeKey}] || ''); context.set('audienceTargetId', null); }}`;\n\n//#endregion\n\n//#region ---- Entity factory ----\n\nexport async function roomFactory(): Promise<AXPEntity | null> {\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.room.name,\n title: RootConfig.entities.room.title,\n icon: RootConfig.entities.room.icon,\n searchTags: ['room', 'chat-room', 'conversation-room', 'private-chat', 'group-chat', 'channel', 'comment-thread', 'participants', 'unread', 'archived', 'اتاق', 'اتاق‌ها', 'گفتگو', 'گفتگوها', 'نظر'],\n formats: {\n individual: RootConfig.entities.room.title,\n plural: RootConfig.entities.room.title,\n searchResult: {\n title: '{{ title }}',\n description: '{{ kind }}',\n },\n },\n relatedEntities: [\n {\n entity: RootConfig.entities.channelPost.source,\n title: RootConfig.entities.channelPost.titlePlural,\n columns: ['title', 'kind', 'status', 'authorUserId', 'publishedAt', 'isPinned'],\n conditions: [entityDetailsSimpleCondition('roomId')],\n actions: [...entityDetailsCrudActions('roomId', { delete: false, view: false }), entityMasterViewAction()],\n persistence: { foreignKeyField: 'roomId' },\n excludeProperties: ['roomId'],\n layout: { type: 'page-list', position: 'after', order: 1 },\n },\n ],\n groups: [\n { id: 'basic-info', title: '@general:terms.interface.basic-info' },\n { id: 'audience', title: `@${i18n}:entities.channel-audience.title` },\n { id: 'comment', title: `t(\"room.groups.comment\", { scope: \"${i18n}\" })` },\n { id: 'flags', title: `t(\"room.groups.flags\", { scope: \"${i18n}\" })` },\n { id: 'runtime', title: `t(\"room.groups.runtime\", { scope: \"${i18n}\" })` },\n ],\n properties: [\n roomProp(i18n, 'name', 'basic-info', {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.text },\n }),\n roomProp(\n i18n,\n 'title',\n 'basic-info',\n {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.text },\n },\n { options: filterable, validations: [{ rule: 'required' }] },\n ),\n roomProp(\n i18n,\n 'kind',\n 'basic-info',\n {\n dataType: 'string',\n defaultValue: 'chat',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n textField: 'title',\n multiple: false,\n dataSource: [\n { name: 'chat', title: `@${i18n}:room.options.kind.chat` },\n { name: 'comment', title: `@${i18n}:room.options.kind.comment` },\n ],\n },\n },\n },\n { options: filterable, validations: [{ rule: 'required' }] },\n ),\n roomProp(\n i18n,\n 'type',\n 'basic-info',\n {\n dataType: 'string',\n defaultValue: 'channel',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n textField: 'title',\n multiple: false,\n dataSource: [\n { name: 'private', title: `@${i18n}:room.options.type.private` },\n { name: 'group', title: `@${i18n}:room.options.type.group` },\n { name: 'channel', title: `@${i18n}:room.options.type.channel` },\n { name: 'bot', title: `@${i18n}:room.options.type.bot` },\n ],\n },\n },\n },\n { options: filterable, validations: [{ rule: 'required' }] },\n ),\n roomProp(\n i18n,\n 'creatorId',\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 },\n ),\n roomProp(i18n, 'avatar', 'basic-info', {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.text },\n }),\n roomProp(i18n, 'icon', 'basic-info', {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.text },\n }),\n roomProp(i18n, 'description', 'basic-info', {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.largeText },\n }),\n roomProp(\n i18n,\n 'audienceTargetType',\n 'audience',\n {\n dataType: 'string',\n defaultValue: 'organization',\n visible: channelAudienceVisible,\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n textField: 'title',\n multiple: false,\n dataSource: audienceTargetTypeOptions,\n },\n triggers: [\n {\n event: \"{{ events.context('audienceTargetType') }}\",\n action: audienceTypeChangedAction,\n },\n ],\n },\n },\n { title: `@${i18n}:entities.channel-audience.fields.target-type.title` },\n ),\n roomProp(i18n, 'audienceTargetEntity', 'audience', {\n dataType: 'string',\n visible: false,\n interface: { type: AXPWidgetsCatalog.text },\n }),\n roomProp(\n i18n,\n 'audienceTargetId',\n 'audience',\n {\n dataType: 'string',\n visible: channelTargetLookupVisible,\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: audienceTargetLookupEntity,\n valueField: 'id',\n look: 'select',\n },\n triggers: [\n {\n event: \"{{ events.context('audienceTargetType') }}\",\n action: `{{ widget.refresh() }}`,\n },\n ],\n },\n },\n { title: `@${i18n}:entities.channel-audience.fields.target-id.title` },\n ),\n roomProp(\n i18n,\n 'audienceMode',\n 'audience',\n {\n dataType: 'string',\n defaultValue: 'include',\n visible: channelAudienceVisible,\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n textField: 'title',\n multiple: false,\n dataSource: audienceModeOptions,\n },\n },\n },\n { title: `@${i18n}:entities.channel-audience.fields.mode.title` },\n ),\n roomProp(\n i18n,\n 'lastMessageAt',\n 'runtime',\n {\n dataType: 'date',\n visible: false,\n interface: { type: AXPWidgetsCatalog.dateTime },\n },\n { options: filterable },\n ),\n roomProp(\n i18n,\n 'unreadCount',\n 'runtime',\n {\n dataType: 'number',\n defaultValue: 0,\n visible: false,\n interface: { type: AXPWidgetsCatalog.number },\n },\n { options: filterable },\n ),\n roomProp(i18n, 'unreadMentions', 'runtime', {\n dataType: 'number',\n visible: false,\n interface: { type: AXPWidgetsCatalog.number },\n }),\n roomProp(\n i18n,\n 'createdAt',\n 'runtime',\n {\n dataType: 'date',\n visible: false,\n interface: { type: AXPWidgetsCatalog.dateTime },\n },\n { validations: [{ rule: 'required' }] },\n ),\n roomProp(\n i18n,\n 'updatedAt',\n 'runtime',\n {\n dataType: 'date',\n visible: false,\n interface: { type: AXPWidgetsCatalog.dateTime },\n },\n { validations: [{ rule: 'required' }] },\n ),\n roomProp(i18n, 'draft', 'runtime', {\n dataType: 'string',\n visible: false,\n interface: { type: AXPWidgetsCatalog.largeText },\n }),\n hiddenStorageProp(i18n, 'participants', 'array'),\n hiddenStorageProp(i18n, 'lastMessage', 'object'),\n hiddenStorageProp(i18n, 'status', 'object'),\n hiddenStorageProp(i18n, 'settings', 'object'),\n hiddenStorageProp(i18n, 'pinnedMessageIds', 'array'),\n hiddenStorageProp(i18n, 'metadata', 'object'),\n {\n ...hiddenStorageProp(i18n, 'entityRef', 'object', 'comment'),\n title: `t(\"room.props.entityRef.title\", { scope: \"${i18n}\" })`,\n },\n roomProp(i18n, 'topic', 'comment', {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.text },\n }),\n roomProp(i18n, 'entityRef.entityId', 'comment', {\n dataType: 'string',\n visible: false,\n interface: { type: AXPWidgetsCatalog.text },\n }),\n roomProp(i18n, 'entityRef.entityTypeId', 'comment', {\n dataType: 'string',\n visible: false,\n interface: { type: AXPWidgetsCatalog.text },\n }),\n roomProp(i18n, 'entityRef.moduleName', 'comment', {\n dataType: 'string',\n visible: false,\n interface: { type: AXPWidgetsCatalog.text },\n }),\n roomProp(i18n, 'entityRef.entityName', 'comment', {\n dataType: 'string',\n visible: false,\n interface: { type: AXPWidgetsCatalog.text },\n }),\n roomProp(i18n, 'blocked', 'flags', {\n dataType: 'boolean',\n visible: false,\n interface: { type: AXPWidgetsCatalog.toggle },\n }),\n roomProp(i18n, 'pinned', 'flags', {\n dataType: 'boolean',\n interface: { type: AXPWidgetsCatalog.toggle },\n }),\n roomProp(i18n, 'archived', 'flags', {\n dataType: 'boolean',\n interface: { type: AXPWidgetsCatalog.toggle },\n }),\n ],\n columns: [{ name: 'title' }, { name: 'kind' }, { name: 'type' }, { name: 'pinned' }, { name: 'archived' }],\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'basic-info' }, { id: 'audience' }, { id: 'flags' }],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'name', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },\n { name: 'audienceTargetType', layout: { positions: { lg: { colSpan: 4, order: 4 } } } },\n { name: 'audienceTargetId', layout: { positions: { lg: { colSpan: 4, order: 5 } } } },\n { name: 'audienceMode', layout: { positions: { lg: { colSpan: 4, order: 6 } } } },\n { name: 'pinned', layout: { positions: { lg: { colSpan: 6, order: 7 } } } },\n { name: 'archived', layout: { positions: { lg: { colSpan: 6, order: 8 } } } },\n ],\n },\n update: {\n sections: [{ id: 'basic-info' }, { id: 'audience' }, { id: 'flags' }],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'name', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },\n { name: 'audienceTargetType', layout: { positions: { lg: { colSpan: 4, order: 4 } } } },\n { name: 'audienceTargetId', layout: { positions: { lg: { colSpan: 4, order: 5 } } } },\n { name: 'audienceMode', layout: { positions: { lg: { colSpan: 4, order: 6 } } } },\n { name: 'pinned', layout: { positions: { lg: { colSpan: 6, order: 7 } } } },\n { name: 'archived', layout: { positions: { lg: { colSpan: 6, order: 8 } } } },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [{ id: 'basic-info' }, { id: 'audience' }, { id: 'flags' }],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'name', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },\n { name: 'audienceTargetType', layout: { positions: { lg: { colSpan: 4, order: 4 } } } },\n { name: 'audienceTargetId', layout: { positions: { lg: { colSpan: 4, order: 5 } } } },\n { name: 'audienceMode', layout: { positions: { lg: { colSpan: 4, order: 6 } } } },\n { name: 'pinned', layout: { positions: { lg: { colSpan: 6, order: 7 } } } },\n { name: 'archived', layout: { positions: { lg: { colSpan: 6, order: 8 } } } },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [\n createAllQueryView({\n columns: ['title', 'kind', 'type', 'pinned', 'archived'],\n sorts: [{ name: 'title', dir: 'asc' }],\n }),\n createQueryView('channels', `t(\"room.views.channels\", { scope: \"${i18n}\" })`, true, {\n columns: ['title', 'description', 'pinned', 'archived'],\n conditions: [{ name: 'type', operator: { type: 'equal' }, value: 'channel' }],\n sorts: [{ name: 'title', dir: 'asc' }],\n }),\n ],\n },\n card: {\n enabled: false,\n header: {\n title: 'title',\n description: 'description',\n icon: 'icon',\n },\n fields: [\n { name: 'pinned', display: 'simple' },\n { name: 'archived', display: 'simple' },\n { name: 'audienceTargetType', display: 'simple' },\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.room';\n"],"names":[],"mappings":"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"}