@acorex/modules 20.0.5 → 20.0.6
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.
- package/conversation/index.d.ts +157 -217
- package/fesm2022/{acorex-modules-application-management-module-designer.component-CvFiEI1a.mjs → acorex-modules-application-management-module-designer.component-oGgCaUDu.mjs} +2 -2
- package/fesm2022/{acorex-modules-application-management-module-designer.component-CvFiEI1a.mjs.map → acorex-modules-application-management-module-designer.component-oGgCaUDu.mjs.map} +1 -1
- package/fesm2022/acorex-modules-application-management.mjs +1 -1
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-B10cRw3M.mjs → acorex-modules-auth-acorex-modules-auth-Cj4td3eM.mjs} +9 -9
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-B10cRw3M.mjs.map → acorex-modules-auth-acorex-modules-auth-Cj4td3eM.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-app-chooser.component-C-HPf2jz.mjs → acorex-modules-auth-app-chooser.component-C60idNYx.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-app-chooser.component-C-HPf2jz.mjs.map → acorex-modules-auth-app-chooser.component-C60idNYx.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-eC1_ukrb.mjs → acorex-modules-auth-login.module-siRdi16m.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-login.module-eC1_ukrb.mjs.map → acorex-modules-auth-login.module-siRdi16m.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-DpfqRgAl.mjs → acorex-modules-auth-master.layout-BJCAe5Ai.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-master.layout-DpfqRgAl.mjs.map → acorex-modules-auth-master.layout-BJCAe5Ai.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-DAB9dWB8.mjs → acorex-modules-auth-password.component-6-EEsfc2.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-DAB9dWB8.mjs.map → acorex-modules-auth-password.component-6-EEsfc2.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-rE9yrcGW.mjs → acorex-modules-auth-password.component-VhDUmkMc.mjs} +3 -3
- package/fesm2022/acorex-modules-auth-password.component-VhDUmkMc.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-routes-EGvejNu9.mjs → acorex-modules-auth-routes-BwBn4o81.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-EGvejNu9.mjs.map → acorex-modules-auth-routes-BwBn4o81.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-DF3_fgzH.mjs → acorex-modules-auth-two-factor.module-D7NgZHmC.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-two-factor.module-DF3_fgzH.mjs.map → acorex-modules-auth-two-factor.module-D7NgZHmC.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-user-sessions.component-BPb-WS4k.mjs → acorex-modules-auth-user-sessions.component-DhlBCxly.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-user-sessions.component-BPb-WS4k.mjs.map → acorex-modules-auth-user-sessions.component-DhlBCxly.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +1762 -1568
- package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
- package/fesm2022/acorex-modules-dashboard-management.mjs +9 -9
- package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +3 -3
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-role.entity-BDErzNv-.mjs.map +1 -1
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-DqpAYmHM.mjs → acorex-modules-platform-management-acorex-modules-platform-management-Dfux0tkB.mjs} +6 -6
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-Dfux0tkB.mjs.map +1 -0
- package/fesm2022/{acorex-modules-platform-management-list-version.component-DidjxkmH.mjs → acorex-modules-platform-management-list-version.component-CSNKxghv.mjs} +2 -2
- package/fesm2022/{acorex-modules-platform-management-list-version.component-DidjxkmH.mjs.map → acorex-modules-platform-management-list-version.component-CSNKxghv.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-platform-management-settings.provider-DcHKHrSK.mjs → acorex-modules-platform-management-settings.provider-C4RaOgkr.mjs} +35 -25
- package/fesm2022/acorex-modules-platform-management-settings.provider-C4RaOgkr.mjs.map +1 -0
- package/fesm2022/acorex-modules-platform-management.mjs +1 -1
- package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-CtEDcg_B.mjs +589 -0
- package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-CtEDcg_B.mjs.map +1 -0
- package/fesm2022/acorex-modules-report-management.mjs +208 -0
- package/fesm2022/acorex-modules-report-management.mjs.map +1 -0
- package/fesm2022/acorex-modules-security-management.mjs +582 -72
- package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-workflow-management-task-board.page-R4x5Rq-D.mjs → acorex-modules-workflow-management-task-board.page-Bugxqd0W.mjs} +2 -2
- package/fesm2022/acorex-modules-workflow-management-task-board.page-Bugxqd0W.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management.mjs +1 -1
- package/package.json +5 -1
- package/report-management/README.md +356 -0
- package/report-management/index.d.ts +39 -0
- package/security-management/index.d.ts +162 -2
- package/fesm2022/acorex-modules-auth-password.component-rE9yrcGW.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-DqpAYmHM.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-settings.provider-DcHKHrSK.mjs.map +0 -1
- package/fesm2022/acorex-modules-security-management-permissions-editor.component-B4TdyHtv.mjs +0 -218
- package/fesm2022/acorex-modules-security-management-permissions-editor.component-B4TdyHtv.mjs.map +0 -1
- package/fesm2022/acorex-modules-security-management-permissions-widget-column.component-DTMj6gxb.mjs +0 -41
- package/fesm2022/acorex-modules-security-management-permissions-widget-column.component-DTMj6gxb.mjs.map +0 -1
- package/fesm2022/acorex-modules-security-management-permissions-widget-designer.component-BJdbKpRQ.mjs +0 -20
- package/fesm2022/acorex-modules-security-management-permissions-widget-designer.component-BJdbKpRQ.mjs.map +0 -1
- package/fesm2022/acorex-modules-security-management-permissions-widget-edit.component-GTmDlgWW.mjs +0 -51
- package/fesm2022/acorex-modules-security-management-permissions-widget-edit.component-GTmDlgWW.mjs.map +0 -1
- package/fesm2022/acorex-modules-security-management-permissions-widget-print.component-BZ75aI18.mjs +0 -21
- package/fesm2022/acorex-modules-security-management-permissions-widget-print.component-BZ75aI18.mjs.map +0 -1
- package/fesm2022/acorex-modules-security-management-permissions-widget-view.component-CYQqerAX.mjs +0 -20
- package/fesm2022/acorex-modules-security-management-permissions-widget-view.component-CYQqerAX.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-task-board.page-R4x5Rq-D.mjs.map +0 -1
package/conversation/index.d.ts
CHANGED
@@ -1,42 +1,17 @@
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
2
|
-
import { OnInit, OnDestroy
|
3
|
-
import * as
|
4
|
-
import {
|
5
|
-
import * as _acorex_platform_core from '@acorex/platform/core';
|
6
|
-
import { AXPContent, AXPUserReference, AXPEntityReference, AXPContentType, AXPQueryRequest, AXPPagedListResult } from '@acorex/platform/core';
|
2
|
+
import { Injector, OnInit, OnDestroy } from '@angular/core';
|
3
|
+
import * as i1 from '@angular/router';
|
4
|
+
import { AXPEntity } from '@acorex/platform/common';
|
7
5
|
import { AXPEntityModel, AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';
|
8
|
-
import
|
9
|
-
import {
|
6
|
+
import { AXPContent, AXPUserReference, AXPEntityReference, AXPBackButton, AXPContentType, AXPQueryRequest, AXPPagedListResult } from '@acorex/platform/core';
|
7
|
+
import { AXTabsComponent, AXTabStripChangedEvent } from '@acorex/components/tabs';
|
8
|
+
import { AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '@acorex/platform/layout/views';
|
9
|
+
import { Observable } from 'rxjs';
|
10
|
+
import { AXConversationMessage, AXConversationActionEvent, AXConversationMenuOpeningEvent } from '@acorex/components/conversation';
|
10
11
|
import * as _angular_platform_browser from '@angular/platform-browser';
|
11
12
|
import { DomSanitizer } from '@angular/platform-browser';
|
12
|
-
import * as i22 from '@acorex/components/wysiwyg';
|
13
13
|
import { AXWysiwygContainerComponent } from '@acorex/components/wysiwyg';
|
14
14
|
import { AXStyleLookType } from '@acorex/cdk/common';
|
15
|
-
import * as i5 from '@angular/common';
|
16
|
-
import * as i6 from '@angular/forms';
|
17
|
-
import * as i7 from '@angular/router';
|
18
|
-
import * as i8 from '@acorex/core/format';
|
19
|
-
import * as i10 from '@acorex/components/comment';
|
20
|
-
import * as i11 from '@acorex/core/translation';
|
21
|
-
import * as i12 from '@acorex/cdk/resizable';
|
22
|
-
import * as i13 from '@acorex/components/image';
|
23
|
-
import * as i14 from '@acorex/components/avatar';
|
24
|
-
import * as i15 from '@acorex/components/badge';
|
25
|
-
import * as i16 from '@acorex/components/decorators';
|
26
|
-
import * as i17 from '@acorex/components/text-box';
|
27
|
-
import * as i18 from '@acorex/components/search-box';
|
28
|
-
import * as i20 from '@acorex/components/button';
|
29
|
-
import * as i21 from '@acorex/components/loading';
|
30
|
-
import * as i23 from '@acorex/components/label';
|
31
|
-
import * as i24 from '@acorex/components/select-box';
|
32
|
-
import * as i25 from '@acorex/components/form';
|
33
|
-
import * as i26 from '@acorex/components/dropdown-button';
|
34
|
-
import * as i27 from '@acorex/components/dropdown';
|
35
|
-
import * as i28 from '@acorex/components/toolbar';
|
36
|
-
import * as i29 from '@acorex/components/skeleton';
|
37
|
-
import * as i30 from '@acorex/platform/layout/views';
|
38
|
-
import * as i31 from '@acorex/platform/layout/components';
|
39
|
-
import { AXPEntity } from '@acorex/platform/common';
|
40
15
|
import { AXBasePageComponent } from '@acorex/components/page';
|
41
16
|
import { AXPWidgetNode, AXPLayoutWidgetComponent, AXPWidgetConfig } from '@acorex/platform/layout/builder';
|
42
17
|
|
@@ -67,6 +42,14 @@ declare const RootConfig: {
|
|
67
42
|
};
|
68
43
|
};
|
69
44
|
|
45
|
+
declare class AXMConversationModule {
|
46
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMConversationModule, never>;
|
47
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXMConversationModule, never, never, [typeof i1.RouterModule]>;
|
48
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXMConversationModule>;
|
49
|
+
}
|
50
|
+
|
51
|
+
declare function messageFactory(injector: Injector): Promise<AXPEntity | null>;
|
52
|
+
|
70
53
|
type AXMSeenType = 'delivered' | 'read';
|
71
54
|
type AXMReactionType = 'like' | 'love' | 'laugh' | 'angry' | 'sad' | string;
|
72
55
|
interface AXMConversationReaction {
|
@@ -82,10 +65,21 @@ interface AXMConversationMessage extends AXPEntityModel<string> {
|
|
82
65
|
message: AXPContent;
|
83
66
|
author: AXPUserReference;
|
84
67
|
replyId?: string | null;
|
85
|
-
reactions
|
86
|
-
seen
|
68
|
+
reactions: AXMConversationReaction[];
|
69
|
+
seen: AXMConversationSeen[];
|
70
|
+
isPinned?: boolean;
|
87
71
|
}
|
88
72
|
|
73
|
+
declare abstract class AXMMessageService extends AXMEntityCrudServiceImpl<string, AXMConversationMessage> {
|
74
|
+
}
|
75
|
+
declare class AXMMessageServiceImpl extends AXMMessageService {
|
76
|
+
constructor();
|
77
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMMessageServiceImpl, never>;
|
78
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMMessageServiceImpl>;
|
79
|
+
}
|
80
|
+
|
81
|
+
declare function roomFactory(injector: Injector): Promise<AXPEntity | null>;
|
82
|
+
|
89
83
|
interface AXMConversationRoom extends AXPEntityModel<string> {
|
90
84
|
title?: string;
|
91
85
|
members: AXPUserReference[];
|
@@ -93,24 +87,18 @@ interface AXMConversationRoom extends AXPEntityModel<string> {
|
|
93
87
|
topic?: 'support' | 'group' | 'channel' | 'personal' | string;
|
94
88
|
}
|
95
89
|
|
96
|
-
|
97
|
-
* Extended user interface for chat members with UI-specific properties
|
98
|
-
*/
|
99
|
-
interface AXMChatMember {
|
100
|
-
id: string;
|
101
|
-
firstName: string;
|
102
|
-
lastName: string;
|
103
|
-
fullName: string;
|
104
|
-
avatar?: string;
|
105
|
-
isOnline?: boolean;
|
90
|
+
declare abstract class AXMRoomService extends AXMEntityCrudServiceImpl<string, AXMConversationRoom> {
|
106
91
|
}
|
92
|
+
declare class AXMRoomServiceImpl extends AXMRoomService {
|
93
|
+
constructor();
|
94
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMRoomServiceImpl, never>;
|
95
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMRoomServiceImpl>;
|
96
|
+
}
|
97
|
+
|
107
98
|
/**
|
108
99
|
* Extended message interface for chat messages with UI-specific properties
|
109
100
|
*/
|
110
101
|
interface AXMChatMessage extends AXMConversationMessage {
|
111
|
-
isFromCurrentUser?: boolean;
|
112
|
-
formattedDate?: string;
|
113
|
-
hasSeen?: boolean;
|
114
102
|
}
|
115
103
|
/**
|
116
104
|
* Extended room interface for chat rooms with UI-specific properties
|
@@ -118,23 +106,18 @@ interface AXMChatMessage extends AXMConversationMessage {
|
|
118
106
|
interface AXMChatRoom extends AXMConversationRoom {
|
119
107
|
lastMessage?: AXMChatMessage;
|
120
108
|
unreadCount: number;
|
121
|
-
roomMembers: AXMChatMember[];
|
122
|
-
}
|
123
|
-
/**
|
124
|
-
* Data transfer object for creating a new chat message
|
125
|
-
*/
|
126
|
-
interface AXMCreateChatMessageDto {
|
127
|
-
roomId: string;
|
128
|
-
content: string;
|
129
|
-
contentType?: string;
|
130
|
-
replyId?: string | null;
|
131
109
|
}
|
132
110
|
|
133
|
-
declare class AXMChatComponent implements OnInit {
|
134
|
-
private
|
135
|
-
private router;
|
111
|
+
declare class AXMChatComponent extends AXPPageLayoutBaseComponent implements OnInit, OnDestroy {
|
112
|
+
private activatedRoute;
|
136
113
|
private chatService;
|
114
|
+
private userService;
|
115
|
+
private popupService;
|
116
|
+
private router;
|
117
|
+
private unsubscribe;
|
118
|
+
private messageSentSubscription?;
|
137
119
|
tab: _angular_core.Signal<AXTabsComponent | undefined>;
|
120
|
+
container: _angular_core.Signal<AXPPageLayoutComponent | undefined>;
|
138
121
|
rooms: _angular_core.WritableSignal<AXMChatRoom[]>;
|
139
122
|
allRooms: _angular_core.WritableSignal<AXMChatRoom[]>;
|
140
123
|
selectedRoom: _angular_core.WritableSignal<AXMChatRoom | null>;
|
@@ -145,79 +128,158 @@ declare class AXMChatComponent implements OnInit {
|
|
145
128
|
searchQuery: _angular_core.WritableSignal<string>;
|
146
129
|
showSearch: _angular_core.WritableSignal<boolean>;
|
147
130
|
placeholder: _angular_core.WritableSignal<string>;
|
148
|
-
filteredRooms: _angular_core.
|
131
|
+
filteredRooms: _angular_core.WritableSignal<AXMChatRoom[]>;
|
132
|
+
searchEffect: _angular_core.EffectRef;
|
149
133
|
unreadCount: _angular_core.Signal<number>;
|
150
134
|
allCount: _angular_core.Signal<number>;
|
151
135
|
hasUnread: _angular_core.Signal<boolean>;
|
152
136
|
totalCount: _angular_core.Signal<number>;
|
153
|
-
|
137
|
+
af: _angular_core.AfterRenderRef;
|
138
|
+
onTabChange(event: AXTabStripChangedEvent): void;
|
154
139
|
ngOnInit(): Promise<void>;
|
155
|
-
|
140
|
+
private loadFromRoute;
|
141
|
+
getPageTitle(): Promise<string>;
|
156
142
|
getPageDescription(): string;
|
157
|
-
|
143
|
+
getBackButton(): Promise<AXPBackButton | null>;
|
144
|
+
onBackButtonClick(): void | Promise<void>;
|
158
145
|
loadChats(): Promise<void>;
|
159
146
|
refreshChat(): Promise<void>;
|
160
147
|
markChatAsRead(chatId: string): Promise<void>;
|
161
148
|
searchChat(query: string): void;
|
162
|
-
goBack(): void;
|
163
149
|
onSearch(query: string): void;
|
164
150
|
clearSearch(): void;
|
165
|
-
onNewConversation(): void
|
166
|
-
emitBack(): void;
|
151
|
+
onNewConversation(): Promise<void>;
|
167
152
|
ngOnDestroy(): void;
|
168
153
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMChatComponent, never>;
|
169
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMChatComponent, "axm-chat", never, {}, {}, never, never,
|
154
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMChatComponent, "axm-chat", never, {}, {}, never, never, true, never>;
|
155
|
+
}
|
156
|
+
|
157
|
+
declare abstract class AXMChatService {
|
158
|
+
abstract createRoom(memberIds: string[], title?: string): Promise<AXMChatRoom>;
|
159
|
+
abstract getRoom(roomId: string): Promise<AXMChatRoom>;
|
160
|
+
abstract listRooms(skip?: number, take?: number): Promise<{
|
161
|
+
items: AXMChatRoom[];
|
162
|
+
total: number;
|
163
|
+
}>;
|
164
|
+
abstract updateRoom(roomId: string, data: Partial<AXMConversationRoom>): Promise<AXMConversationRoom>;
|
165
|
+
abstract deleteRoom(roomId: string): Promise<boolean>;
|
166
|
+
abstract addParticipant(roomId: string, userId: string): Promise<AXMConversationRoom>;
|
167
|
+
abstract removeParticipant(roomId: string, userId: string): Promise<AXMConversationRoom>;
|
168
|
+
abstract sendMessage(roomId: string, content: string, contentType?: AXPContentType, replyId?: string): Promise<AXMChatMessage>;
|
169
|
+
abstract getMessages(roomId: string, skip?: number, take?: number): Promise<{
|
170
|
+
items: AXMChatMessage[];
|
171
|
+
total: number;
|
172
|
+
}>;
|
173
|
+
abstract getMessage(messageId: string): Promise<AXMChatMessage>;
|
174
|
+
abstract editMessage(messageId: string, content: string, contentType?: AXPContentType): Promise<AXMConversationMessage>;
|
175
|
+
abstract deleteMessage(messageId: string): Promise<boolean>;
|
176
|
+
abstract replyMessage(replyToMessageId: string, content: string, contentType?: AXPContentType): Promise<AXMConversationMessage>;
|
177
|
+
abstract pinMessage(messageId: string): Promise<AXMConversationMessage>;
|
178
|
+
abstract unpinMessage(messageId: string): Promise<AXMConversationMessage>;
|
179
|
+
abstract addReaction(messageId: string, type: AXMReactionType): Promise<AXMConversationMessage>;
|
180
|
+
abstract removeReaction(messageId: string, type: AXMReactionType): Promise<AXMConversationMessage>;
|
181
|
+
abstract getReactions(messageId: string): Promise<AXMConversationReaction[]>;
|
182
|
+
abstract markSeen(messageId: string): Promise<AXMConversationMessage>;
|
183
|
+
abstract getSeenBy(messageId: string): Promise<AXMConversationSeen[]>;
|
184
|
+
abstract markRoomSeen(roomId: string): Promise<boolean>;
|
185
|
+
abstract readonly messageSent$: Observable<AXMChatMessage>;
|
186
|
+
}
|
187
|
+
declare class AXMChatServiceImpl implements AXMChatService {
|
188
|
+
private readonly roomService;
|
189
|
+
private readonly messageService;
|
190
|
+
private readonly sessionService;
|
191
|
+
private readonly usersService;
|
192
|
+
private readonly _messageSent$;
|
193
|
+
readonly messageSent$: Observable<AXMChatMessage>;
|
194
|
+
private getCurrentUser;
|
195
|
+
private getUserInfo;
|
196
|
+
private formatMessage;
|
197
|
+
private getUnreadCount;
|
198
|
+
createRoom(memberIds: string[], title?: string): Promise<AXMChatRoom>;
|
199
|
+
getRoom(roomId: string): Promise<AXMChatRoom>;
|
200
|
+
listRooms(skip?: number, take?: number): Promise<{
|
201
|
+
items: AXMChatRoom[];
|
202
|
+
total: number;
|
203
|
+
}>;
|
204
|
+
updateRoom(roomId: string, data: Partial<AXMConversationRoom>): Promise<AXMConversationRoom>;
|
205
|
+
deleteRoom(roomId: string): Promise<boolean>;
|
206
|
+
addParticipant(roomId: string, userId: string): Promise<AXMConversationRoom>;
|
207
|
+
removeParticipant(roomId: string, userId: string): Promise<AXMConversationRoom>;
|
208
|
+
sendMessage(roomId: string, content: string, contentType?: AXPContentType, replyId?: string): Promise<AXMChatMessage>;
|
209
|
+
getMessages(roomId: string, skip?: number, take?: number): Promise<{
|
210
|
+
items: AXMChatMessage[];
|
211
|
+
total: number;
|
212
|
+
}>;
|
213
|
+
getMessage(messageId: string): Promise<AXMChatMessage>;
|
214
|
+
editMessage(messageId: string, content: string, contentType?: AXPContentType): Promise<AXMConversationMessage>;
|
215
|
+
deleteMessage(messageId: string): Promise<boolean>;
|
216
|
+
replyMessage(replyToMessageId: string, content: string, contentType?: AXPContentType): Promise<AXMConversationMessage>;
|
217
|
+
pinMessage(messageId: string): Promise<AXMConversationMessage>;
|
218
|
+
unpinMessage(messageId: string): Promise<AXMConversationMessage>;
|
219
|
+
addReaction(messageId: string, type: AXMReactionType): Promise<AXMConversationMessage>;
|
220
|
+
removeReaction(messageId: string, type: AXMReactionType): Promise<AXMConversationMessage>;
|
221
|
+
getReactions(messageId: string): Promise<AXMConversationReaction[]>;
|
222
|
+
markSeen(messageId: string): Promise<AXMConversationMessage>;
|
223
|
+
getSeenBy(messageId: string): Promise<AXMConversationSeen[]>;
|
224
|
+
markRoomSeen(roomId: string): Promise<boolean>;
|
225
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMChatServiceImpl, never>;
|
226
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMChatServiceImpl>;
|
170
227
|
}
|
171
228
|
|
172
229
|
declare class AXMChatItemComponent {
|
230
|
+
#private;
|
173
231
|
data: _angular_core.InputSignal<AXMChatRoom>;
|
174
232
|
pressChatItem: _angular_core.OutputEmitterRef<string>;
|
175
233
|
private sessionService;
|
176
|
-
private
|
177
|
-
private
|
178
|
-
protected
|
179
|
-
|
180
|
-
|
234
|
+
private userService;
|
235
|
+
private datePipe;
|
236
|
+
protected chatName: _angular_core.WritableSignal<{
|
237
|
+
fullName: string;
|
238
|
+
id: string;
|
239
|
+
}>;
|
240
|
+
protected formattedLastMessageDate: _angular_core.Signal<string | null>;
|
241
|
+
protected lastMessage: _angular_core.Signal<{
|
242
|
+
content: string;
|
243
|
+
contentType: string;
|
244
|
+
}>;
|
181
245
|
protected hasUnread: _angular_core.Signal<boolean>;
|
182
246
|
protected unreadCount: _angular_core.Signal<string>;
|
183
|
-
protected isOnline: _angular_core.Signal<boolean>;
|
184
|
-
protected myId: string | undefined;
|
185
|
-
protected extractInitials(name: string): string;
|
186
247
|
protected onPressChatItem(id: string): void;
|
187
248
|
protected messageSeenStatus(): string;
|
188
249
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMChatItemComponent, never>;
|
189
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMChatItemComponent, "axm-chat-item", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; }, { "pressChatItem": "pressChatItem"; }, never, never,
|
250
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMChatItemComponent, "axm-chat-item", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; }, { "pressChatItem": "pressChatItem"; }, never, never, true, never>;
|
190
251
|
}
|
191
252
|
|
192
|
-
declare class AXMChatPreviewComponent
|
193
|
-
private elRef;
|
253
|
+
declare class AXMChatPreviewComponent {
|
194
254
|
private activatedRoute;
|
195
255
|
private fileService;
|
196
256
|
private chatService;
|
257
|
+
private sessionService;
|
258
|
+
private toastService;
|
259
|
+
protected chatData: _angular_core.WritableSignal<AXConversationMessage[]>;
|
260
|
+
protected isEditing: _angular_core.WritableSignal<boolean>;
|
261
|
+
protected editId: _angular_core.WritableSignal<string | null>;
|
262
|
+
protected height: _angular_core.WritableSignal<number>;
|
263
|
+
protected isLoading: _angular_core.WritableSignal<boolean>;
|
264
|
+
protected error: _angular_core.WritableSignal<string | null>;
|
265
|
+
protected setHeight(height: number): void;
|
197
266
|
protected options: _angular_core.WritableSignal<{
|
198
267
|
disabled: boolean;
|
199
268
|
readonly: boolean;
|
200
269
|
value: string;
|
201
270
|
}>;
|
202
|
-
protected
|
203
|
-
|
204
|
-
private initialTextAreaHeight;
|
205
|
-
private textareaHeight;
|
206
|
-
private messageId;
|
207
|
-
constructor(elRef: ElementRef);
|
208
|
-
protected dynamicHeight: _angular_core.Signal<string>;
|
209
|
-
ngOnDestroy(): void;
|
271
|
+
protected roomId: string;
|
272
|
+
ngOnInit(): void;
|
210
273
|
handleFileChange(event: any): void;
|
211
274
|
handleCancelRecord(event: any): void;
|
212
275
|
handleEndRecord(event: any): void;
|
213
276
|
handleOnSend(e: any): void;
|
214
277
|
handleOnAction(e: AXConversationActionEvent): void;
|
215
278
|
scrollToEnd(): void;
|
216
|
-
addMockMessage(): void;
|
217
279
|
loadMessages(roomId: string): Promise<void>;
|
218
|
-
|
280
|
+
protected addItemHandler(e: AXConversationMenuOpeningEvent): void;
|
219
281
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMChatPreviewComponent, never>;
|
220
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMChatPreviewComponent, "axm-chat-preview", never, {}, {}, never, never,
|
282
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMChatPreviewComponent, "axm-chat-preview", never, {}, {}, never, never, true, never>;
|
221
283
|
}
|
222
284
|
|
223
285
|
/**
|
@@ -322,135 +384,13 @@ declare class AXMCommentListViewComponent implements OnInit {
|
|
322
384
|
scrollMain(): void;
|
323
385
|
calcDefrenetTime(date: Date | undefined): number | undefined;
|
324
386
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMCommentListViewComponent, never>;
|
325
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMCommentListViewComponent, "axm-comment-list-view", never, {}, {}, never, never,
|
326
|
-
}
|
327
|
-
|
328
|
-
declare class AXMConversationModule {
|
329
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMConversationModule, never>;
|
330
|
-
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXMConversationModule, [typeof AXMChatComponent, typeof AXMChatItemComponent, typeof AXMChatPreviewComponent, typeof AXMCommentListViewComponent], [typeof i5.CommonModule, typeof i6.FormsModule, typeof i7.RouterModule, typeof i8.AXFormatModule, typeof i9.AXConversationModule, typeof i10.AXCommentModule, typeof i11.AXTranslationModule, typeof i12.AXResizableDirective, typeof i13.AXImageModule, typeof i14.AXAvatarModule, typeof i15.AXBadgeModule, typeof i16.AXDecoratorModule, typeof i17.AXTextBoxModule, typeof i18.AXSearchBoxModule, typeof i19.AXTabsModule, typeof i20.AXButtonModule, typeof i21.AXLoadingModule, typeof i22.AXWysiwygModule, typeof i23.AXLabelModule, typeof i24.AXSelectBoxModule, typeof i25.AXFormModule, typeof i26.AXDropdownButtonModule, typeof i27.AXDropdownModule, typeof i28.AXToolBarModule, typeof i29.AXSkeletonModule, typeof i30.AXPPageLayoutComponent, typeof i31.AXPThemeLayoutBlockComponent, typeof i31.AXPThemeLayoutStartSideComponent, typeof i31.AXPThemeLayoutHeaderComponent, typeof i31.AXPThemeLayoutToolbarComponent], [typeof AXMChatItemComponent, typeof AXMChatPreviewComponent, typeof AXMCommentListViewComponent, typeof i7.RouterModule]>;
|
331
|
-
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXMConversationModule>;
|
332
|
-
}
|
333
|
-
|
334
|
-
declare function messageFactory(injector: Injector): Promise<AXPEntity | null>;
|
335
|
-
|
336
|
-
declare abstract class AXMMessageService extends AXMEntityCrudServiceImpl<string, AXMConversationMessage> {
|
337
|
-
}
|
338
|
-
declare class AXMMessageServiceImpl extends AXMMessageService {
|
339
|
-
constructor();
|
340
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMMessageServiceImpl, never>;
|
341
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMMessageServiceImpl>;
|
342
|
-
}
|
343
|
-
|
344
|
-
declare function roomFactory(injector: Injector): Promise<AXPEntity | null>;
|
345
|
-
|
346
|
-
declare abstract class AXMRoomService extends AXMEntityCrudServiceImpl<string, AXMConversationRoom> {
|
347
|
-
}
|
348
|
-
declare class AXMRoomServiceImpl extends AXMRoomService {
|
349
|
-
constructor();
|
350
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMRoomServiceImpl, never>;
|
351
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMRoomServiceImpl>;
|
352
|
-
}
|
353
|
-
|
354
|
-
/**
|
355
|
-
* Abstract Chat Service defining the contract for chat functionality
|
356
|
-
*/
|
357
|
-
declare abstract class AXMChatService {
|
358
|
-
/**
|
359
|
-
* Get all chat rooms available to the current user
|
360
|
-
*/
|
361
|
-
abstract getAllChatRooms(skip?: number, take?: number): Promise<{
|
362
|
-
items: AXMChatRoom[];
|
363
|
-
total: number;
|
364
|
-
}>;
|
365
|
-
/**
|
366
|
-
* Get details of a specific chat room
|
367
|
-
*/
|
368
|
-
abstract getChatRoom(roomId: string): Promise<AXMChatRoom>;
|
369
|
-
/**
|
370
|
-
* Get messages for a specific chat room
|
371
|
-
*/
|
372
|
-
abstract getChatMessages(roomId: string, skip?: number, take?: number): Promise<{
|
373
|
-
items: AXMChatMessage[];
|
374
|
-
total: number;
|
375
|
-
}>;
|
376
|
-
/**
|
377
|
-
* Send a message to a chat room
|
378
|
-
*/
|
379
|
-
abstract sendMessage(roomId: string, content: string, contentType?: AXPContentType, replyId?: string): Promise<AXMConversationMessage>;
|
380
|
-
/**
|
381
|
-
* Mark all messages in a chat room as read
|
382
|
-
*/
|
383
|
-
abstract markChatAsRead(roomId: string): Promise<boolean>;
|
384
|
-
/**
|
385
|
-
* Edit an existing message
|
386
|
-
*/
|
387
|
-
abstract editMessage(messageId: string, content: string, contentType?: AXPContentType): Promise<AXMConversationMessage>;
|
388
|
-
/**
|
389
|
-
* Delete a message
|
390
|
-
*/
|
391
|
-
abstract deleteMessage(messageId: string): Promise<boolean>;
|
392
|
-
/**
|
393
|
-
* Create a new conversation with specified members
|
394
|
-
*/
|
395
|
-
abstract createNewConversation(memberIds: string[]): Promise<AXMChatRoom>;
|
396
|
-
/**
|
397
|
-
* Add a reaction to a message
|
398
|
-
*/
|
399
|
-
abstract addReaction(messageId: string, type: AXMReactionType): Promise<AXMConversationMessage>;
|
400
|
-
/**
|
401
|
-
* Remove a reaction from a message
|
402
|
-
*/
|
403
|
-
abstract removeReaction(messageId: string, type: AXMReactionType): Promise<AXMConversationMessage>;
|
404
|
-
/**
|
405
|
-
* Add a member to a chat room
|
406
|
-
*/
|
407
|
-
abstract addRoomMember(roomId: string, userId: string): Promise<AXMConversationRoom>;
|
408
|
-
/**
|
409
|
-
* Remove a member from a chat room
|
410
|
-
*/
|
411
|
-
abstract removeRoomMember(roomId: string, memberId: string): Promise<AXMConversationRoom>;
|
412
|
-
}
|
413
|
-
declare class AXMChatServiceImpl implements AXMChatService {
|
414
|
-
private readonly roomService;
|
415
|
-
private readonly messageService;
|
416
|
-
private readonly sessionService;
|
417
|
-
private readonly usersService;
|
418
|
-
private getCurrentUser;
|
419
|
-
private getUserInfo;
|
420
|
-
private formatMessage;
|
421
|
-
private formatMember;
|
422
|
-
getRoomList(skip?: number, take?: number): Promise<_acorex_platform_core.AXPPagedListResult<AXMConversationRoom>>;
|
423
|
-
getRoomDetails(roomId: string): Promise<AXMConversationRoom>;
|
424
|
-
createRoom(roomData: Omit<AXMConversationRoom, 'id'>): Promise<string>;
|
425
|
-
addRoomMember(roomId: string, userId: string): Promise<AXMConversationRoom>;
|
426
|
-
removeRoomMember(roomId: string, memberId: string): Promise<AXMConversationRoom>;
|
427
|
-
deleteRoom(roomId: string): Promise<void>;
|
428
|
-
listMessages(roomId: string, skip?: number, take?: number): Promise<_acorex_platform_core.AXPPagedListResult<AXMConversationMessage>>;
|
429
|
-
sendMessage(roomId: string, content: string, contentType?: AXPContentType, replyId?: string): Promise<AXMConversationMessage>;
|
430
|
-
editMessage(messageId: string, content: string, contentType?: AXPContentType): Promise<AXMConversationMessage>;
|
431
|
-
deleteMessage(messageId: string): Promise<boolean>;
|
432
|
-
markAsSeen(messageId: string): Promise<AXMConversationMessage>;
|
433
|
-
addReaction(messageId: string, type: AXMReactionType): Promise<AXMConversationMessage>;
|
434
|
-
removeReaction(messageId: string, type: AXMReactionType): Promise<AXMConversationMessage>;
|
435
|
-
markChatAsRead(roomId: string): Promise<boolean>;
|
436
|
-
getUnreadCount(roomId: string): Promise<number>;
|
437
|
-
getChatRoom(roomId: string): Promise<AXMChatRoom>;
|
438
|
-
getAllChatRooms(skip?: number, take?: number): Promise<{
|
439
|
-
items: AXMChatRoom[];
|
440
|
-
total: number;
|
441
|
-
}>;
|
442
|
-
getChatMessages(roomId: string, skip?: number, take?: number): Promise<{
|
443
|
-
items: AXMChatMessage[];
|
444
|
-
total: number;
|
445
|
-
}>;
|
446
|
-
createNewConversation(memberIds: string[]): Promise<AXMChatRoom>;
|
447
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMChatServiceImpl, never>;
|
448
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMChatServiceImpl>;
|
387
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMCommentListViewComponent, "axm-comment-list-view", never, {}, {}, never, never, true, never>;
|
449
388
|
}
|
450
389
|
|
451
390
|
declare class AXMCommentLookupPopup extends AXBasePageComponent {
|
452
391
|
protected lookupNode: AXPWidgetNode;
|
453
|
-
|
392
|
+
protected titleNode: AXPWidgetNode;
|
393
|
+
context: _angular_core.WritableSignal<any>;
|
454
394
|
handleClose(): void;
|
455
395
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMCommentLookupPopup, never>;
|
456
396
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMCommentLookupPopup, "ng-component", never, {}, {}, never, never, true, never>;
|
@@ -582,4 +522,4 @@ declare class AXMCommentWidgetViewComponent extends AXPLayoutWidgetComponent imp
|
|
582
522
|
declare const AXPCommentWidget: AXPWidgetConfig;
|
583
523
|
|
584
524
|
export { AXMChatComponent, AXMChatItemComponent, AXMChatPreviewComponent, AXMChatService, AXMChatServiceImpl, AXMCommentListViewComponent, AXMCommentLookupPopup, AXMCommentService, AXMCommentServiceImpl, AXMCommentWidgetViewComponent, AXMConversationModule, AXMMessageService, AXMMessageServiceImpl, AXMRoomService, AXMRoomServiceImpl, AXPCommentWidget, RootConfig, messageFactory, roomFactory };
|
585
|
-
export type {
|
525
|
+
export type { AXMChatMessage, AXMChatRoom, AXMCommentMessage, AXMCommentRoom, AXMCommentUser, AXMConversationMessage, AXMConversationReaction, AXMConversationRoom, AXMConversationSeen, AXMCreateCommentDto, AXMReactionType, AXMSeenType };
|
@@ -291,7 +291,7 @@ class AXMModuleDesignerComponent {
|
|
291
291
|
set(target, 'data', data);
|
292
292
|
}
|
293
293
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXMModuleDesignerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
294
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: AXMModuleDesignerComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "contextMenu", first: true, predicate: ["contextMenu"], descendants: true, isSignal: true }], ngImport: i0, template: "<ax-drawer-container class=\"ax-overflow-hidden\">\n <ax-drawer #drawer location=\"start\" [collapsed]=\"false\" [mode]=\"'push'\">\n <ax-content class=\" ax-w-80 ax-relative ax-border-e ax-px-4 ax-py-2\">\n <div class=\"ax-overflow-auto ax-h-[calc(100vh-180px)]\">\n <span class=\"ax-font-bold ax-text-xl\">{{ 'designer.modules' | translate | async }}</span>\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-mt-4\">\n @if(modules().length){\n <ax-collapse-group [accordion]=\"false\" look=\"blank\">\n @for(m of modules();track $index){\n <ax-collapse class=\"ctx\" icon=\"fas fa-folder ax-text-warning\" [isCollapsed]=\"true\" [caption]=\"m.title\"\n look=\"none\" data-elementType=\"module\" [attr.data-moduleId]=\"m.id\" data-entityType=\"module\">\n <div class=\"ax-mx-3\">\n <ax-collapse-group [accordion]=\"false\" look=\"blank\">\n <ax-collapse class=\"ctx\" icon=\"fas fa-box ax-text-neutral-400\" [isCollapsed]=\"true\"\n (onClick)=\"handleCollapseItemClick(m.id, $event, 'entity')\"\n [caption]=\"('designer.entities' | translate | async) ?? 'Entities'\" look=\"none\"\n data-elementType=\"subModule\" [attr.data-moduleId]=\"m.id\" data-entityType=\"entity\">\n <ng-container [ngTemplateOutlet]=\"childTemplate\" [ngTemplateOutletContext]=\"{\n $implicit: { type: 'entity', items: getEntities(m.id), moduleId: m.id }\n }\"></ng-container>\n </ax-collapse>\n\n <ax-collapse class=\"ctx\" icon=\"fas fa-star ax-text-neutral-400\" [isCollapsed]=\"true\"\n (onClick)=\"handleCollapseItemClick(m.id, $event, 'feature')\"\n [caption]=\"('designer.features' | translate | async) ?? 'Features'\" look=\"none\"\n data-elementType=\"subModule\" [attr.data-moduleId]=\"m.id\" data-entityType=\"feature\">\n <ng-container [ngTemplateOutlet]=\"childTemplate\" [ngTemplateOutletContext]=\"{\n $implicit: { type: 'feature', items: getFeatures(m.id), moduleId: m.id }\n }\"></ng-container>\n </ax-collapse>\n\n <ax-collapse class=\"ctx\" icon=\"fas fa-key ax-text-neutral-400\" [isCollapsed]=\"true\"\n (onClick)=\"handleCollapseItemClick(m.id, $event, 'permission')\"\n [caption]=\"('designer.permissions' | translate | async) ?? 'Permissions'\" look=\"none\"\n data-elementType=\"subModule\" [attr.data-moduleId]=\"m.id\" data-entityType=\"permission\">\n <ng-container [ngTemplateOutlet]=\"childTemplate\" [ngTemplateOutletContext]=\"{\n $implicit: { type: 'permission', items: getPermissions(m.id), moduleId: m.id }\n }\"></ng-container>\n </ax-collapse>\n </ax-collapse-group>\n </div>\n </ax-collapse>\n }\n </ax-collapse-group>\n } @else {\n <div class=\"ax-h-full ax-flex ax-items-center ax-justify-center\">\n <span class=\"ax-text-neutral-500 ax-text-sm\">{{ 'designer.emptyModulesText' | translate | async }}</span>\n </div>\n }\n </div>\n <ax-button class=\"ax-absolute ax-bottom-4 ax-w-72\"\n [text]=\"('designer.createModule' | translate | async) ?? 'Create New Module'\" (onClick)=\"createModule()\"\n look=\"solid\" color=\"primary\">\n <ax-icon class=\"fas fa-plus\"> </ax-icon>\n </ax-button>\n </div>\n </ax-content>\n\n <ng-template #childTemplate let-child>\n <div class=\"ax-flex ax-flex-col ax-cursor-pointer ax-select-none ax-border-s ax-ms-[14px] ax-ps-2\">\n @for (item of child.items; track $index) {\n\n <div #d (click)=\"contextMenuService.showDetails(child.type, item.id)\"\n class=\"ctx ax-px-2 ax-py-1 ax-flex ax-items-center ax-justify-between hover:ax-bg-neutral-100 dark:hover:ax-bg-neutral-700 hover:ax-rounded-md\"\n data-elementType=\"subModuleItem\">\n {{ assignData(d, { record: item, entityType: child.type, moduleId: child.moduleId }) }}\n <span>{{ item.title }}</span>\n <ax-badge [look]=\"'twotone'\" [color]=\"item.isArchived ? 'danger' : 'success'\"\n [text]=\"item.isArchived ? 'Off' : 'On'\">\n </ax-badge>\n </div>\n }\n </div>\n </ng-template>\n </ax-drawer>\n <ax-content>\n <router-outlet></router-outlet>\n </ax-content>\n</ax-drawer-container>\n\n<ax-context-menu #contextMenu (onItemClick)=\"handleActionClick($event)\" [items]=\"[]\" [target]=\"'.ctx'\"\n [orientation]=\"'vertical'\" [closeOn]=\"'leave'\" (onOpening)=\"openingContextMenu($event)\">\n</ax-context-menu>", styles: [".ax-collapse-header{padding:.25rem .5rem!important}.ax-collapse-header:hover{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(245 245 245 / var(--tw-bg-opacity, 1))}.ax-collapse-header:hover:is(.ax-dark *){--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity, 1))}.ax-collapse-body-content{padding:.25rem!important;padding-inline-start:0!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "component", type: i2.AXDrawerComponent, selector: "ax-drawer", inputs: ["location", "showBackdrop", "mode", "closeOthers", "collapsed"], outputs: ["locationChange", "modeChange", "collapsedChange"] }, { kind: "component", type: i2.AXDrawerContainerComponent, selector: "ax-drawer-container" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i6.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2$1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i8.AXTranslatorPipe, name: "translate" }, { kind: "ngmodule", type: AXSideMenuModule }, { kind: "ngmodule", type: AXCollapseModule }, { kind: "component", type: i6$1.AXCollapseComponent, selector: "ax-collapse", inputs: ["disabled", "look", "isCollapsed", "showHeader", "caption", "icon", "isLoading", "headerTemplate"], outputs: ["onClick", "isCollapsedChange"] }, { kind: "component", type: i6$1.AXCollapseGroupComponent, selector: "ax-collapse-group", inputs: ["look", "accordion", "activeIndex"], outputs: ["accordionChange", "activeIndexChange"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXSelectionListModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i7.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "
|
294
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: AXMModuleDesignerComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "contextMenu", first: true, predicate: ["contextMenu"], descendants: true, isSignal: true }], ngImport: i0, template: "<ax-drawer-container class=\"ax-overflow-hidden\">\n <ax-drawer #drawer location=\"start\" [collapsed]=\"false\" [mode]=\"'push'\">\n <ax-content class=\" ax-w-80 ax-relative ax-border-e ax-px-4 ax-py-2\">\n <div class=\"ax-overflow-auto ax-h-[calc(100vh-180px)]\">\n <span class=\"ax-font-bold ax-text-xl\">{{ 'designer.modules' | translate | async }}</span>\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-mt-4\">\n @if(modules().length){\n <ax-collapse-group [accordion]=\"false\" look=\"blank\">\n @for(m of modules();track $index){\n <ax-collapse class=\"ctx\" icon=\"fas fa-folder ax-text-warning\" [isCollapsed]=\"true\" [caption]=\"m.title\"\n look=\"none\" data-elementType=\"module\" [attr.data-moduleId]=\"m.id\" data-entityType=\"module\">\n <div class=\"ax-mx-3\">\n <ax-collapse-group [accordion]=\"false\" look=\"blank\">\n <ax-collapse class=\"ctx\" icon=\"fas fa-box ax-text-neutral-400\" [isCollapsed]=\"true\"\n (onClick)=\"handleCollapseItemClick(m.id, $event, 'entity')\"\n [caption]=\"('designer.entities' | translate | async) ?? 'Entities'\" look=\"none\"\n data-elementType=\"subModule\" [attr.data-moduleId]=\"m.id\" data-entityType=\"entity\">\n <ng-container [ngTemplateOutlet]=\"childTemplate\" [ngTemplateOutletContext]=\"{\n $implicit: { type: 'entity', items: getEntities(m.id), moduleId: m.id }\n }\"></ng-container>\n </ax-collapse>\n\n <ax-collapse class=\"ctx\" icon=\"fas fa-star ax-text-neutral-400\" [isCollapsed]=\"true\"\n (onClick)=\"handleCollapseItemClick(m.id, $event, 'feature')\"\n [caption]=\"('designer.features' | translate | async) ?? 'Features'\" look=\"none\"\n data-elementType=\"subModule\" [attr.data-moduleId]=\"m.id\" data-entityType=\"feature\">\n <ng-container [ngTemplateOutlet]=\"childTemplate\" [ngTemplateOutletContext]=\"{\n $implicit: { type: 'feature', items: getFeatures(m.id), moduleId: m.id }\n }\"></ng-container>\n </ax-collapse>\n\n <ax-collapse class=\"ctx\" icon=\"fas fa-key ax-text-neutral-400\" [isCollapsed]=\"true\"\n (onClick)=\"handleCollapseItemClick(m.id, $event, 'permission')\"\n [caption]=\"('designer.permissions' | translate | async) ?? 'Permissions'\" look=\"none\"\n data-elementType=\"subModule\" [attr.data-moduleId]=\"m.id\" data-entityType=\"permission\">\n <ng-container [ngTemplateOutlet]=\"childTemplate\" [ngTemplateOutletContext]=\"{\n $implicit: { type: 'permission', items: getPermissions(m.id), moduleId: m.id }\n }\"></ng-container>\n </ax-collapse>\n </ax-collapse-group>\n </div>\n </ax-collapse>\n }\n </ax-collapse-group>\n } @else {\n <div class=\"ax-h-full ax-flex ax-items-center ax-justify-center\">\n <span class=\"ax-text-neutral-500 ax-text-sm\">{{ 'designer.emptyModulesText' | translate | async }}</span>\n </div>\n }\n </div>\n <ax-button class=\"ax-absolute ax-bottom-4 ax-w-72\"\n [text]=\"('designer.createModule' | translate | async) ?? 'Create New Module'\" (onClick)=\"createModule()\"\n look=\"solid\" color=\"primary\">\n <ax-icon class=\"fas fa-plus\"> </ax-icon>\n </ax-button>\n </div>\n </ax-content>\n\n <ng-template #childTemplate let-child>\n <div class=\"ax-flex ax-flex-col ax-cursor-pointer ax-select-none ax-border-s ax-ms-[14px] ax-ps-2\">\n @for (item of child.items; track $index) {\n\n <div #d (click)=\"contextMenuService.showDetails(child.type, item.id)\"\n class=\"ctx ax-px-2 ax-py-1 ax-flex ax-items-center ax-justify-between hover:ax-bg-neutral-100 dark:hover:ax-bg-neutral-700 hover:ax-rounded-md\"\n data-elementType=\"subModuleItem\">\n {{ assignData(d, { record: item, entityType: child.type, moduleId: child.moduleId }) }}\n <span>{{ item.title }}</span>\n <ax-badge [look]=\"'twotone'\" [color]=\"item.isArchived ? 'danger' : 'success'\"\n [text]=\"item.isArchived ? 'Off' : 'On'\">\n </ax-badge>\n </div>\n }\n </div>\n </ng-template>\n </ax-drawer>\n <ax-content>\n <router-outlet></router-outlet>\n </ax-content>\n</ax-drawer-container>\n\n<ax-context-menu #contextMenu (onItemClick)=\"handleActionClick($event)\" [items]=\"[]\" [target]=\"'.ctx'\"\n [orientation]=\"'vertical'\" [closeOn]=\"'leave'\" (onOpening)=\"openingContextMenu($event)\">\n</ax-context-menu>", styles: [".ax-collapse-header{padding:.25rem .5rem!important}.ax-collapse-header:hover{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(245 245 245 / var(--tw-bg-opacity, 1))}.ax-collapse-header:hover:is(.ax-dark *){--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity, 1))}.ax-collapse-body-content{padding:.25rem!important;padding-inline-start:0!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "component", type: i2.AXDrawerComponent, selector: "ax-drawer", inputs: ["location", "showBackdrop", "mode", "closeOthers", "collapsed"], outputs: ["locationChange", "modeChange", "collapsedChange"] }, { kind: "component", type: i2.AXDrawerContainerComponent, selector: "ax-drawer-container" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i6.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2$1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i8.AXTranslatorPipe, name: "translate" }, { kind: "ngmodule", type: AXSideMenuModule }, { kind: "ngmodule", type: AXCollapseModule }, { kind: "component", type: i6$1.AXCollapseComponent, selector: "ax-collapse", inputs: ["disabled", "look", "isCollapsed", "showHeader", "caption", "icon", "isLoading", "headerTemplate"], outputs: ["onClick", "isCollapsedChange"] }, { kind: "component", type: i6$1.AXCollapseGroupComponent, selector: "ax-collapse-group", inputs: ["look", "accordion", "activeIndex"], outputs: ["accordionChange", "activeIndexChange"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXSelectionListModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i7.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "ngmodule", type: AXMenuModule }, { kind: "component", type: i8$1.AXContextMenuComponent, selector: "ax-context-menu", inputs: ["orientation", "openOn", "closeOn", "items", "target"], outputs: ["onItemClick", "onOpening"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2$2.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
295
295
|
}
|
296
296
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: AXMModuleDesignerComponent, decorators: [{
|
297
297
|
type: Component,
|
@@ -312,4 +312,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
|
|
312
312
|
}], ctorParameters: () => [] });
|
313
313
|
|
314
314
|
export { AXMModuleDesignerComponent };
|
315
|
-
//# sourceMappingURL=acorex-modules-application-management-module-designer.component-
|
315
|
+
//# sourceMappingURL=acorex-modules-application-management-module-designer.component-oGgCaUDu.mjs.map
|