@acorex-platform/framework-client 0.0.28 → 0.0.32
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/fesm2022/{acorex-platform-framework-client-common-common-settings.provider-CLm2BVk-.mjs → acorex-platform-framework-client-common-common-settings.provider-CzBr0cRi.mjs} +23 -2
- package/fesm2022/acorex-platform-framework-client-common-common-settings.provider-CzBr0cRi.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-common.mjs +678 -112
- package/fesm2022/acorex-platform-framework-client-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-core.mjs +85 -9
- package/fesm2022/acorex-platform-framework-client-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-builder.mjs +3 -6
- package/fesm2022/acorex-platform-framework-client-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-components.mjs +469 -73
- package/fesm2022/acorex-platform-framework-client-layout-components.mjs.map +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-BXOMs6oD.mjs → acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-Bu8LLCVa.mjs} +3324 -2169
- package/fesm2022/acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-Bu8LLCVa.mjs.map +1 -0
- package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-DCK-qb-F.mjs → acorex-platform-framework-client-layout-entity-attachments-page.component-EU1dgVH_.mjs} +2 -2
- package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-DCK-qb-F.mjs.map → acorex-platform-framework-client-layout-entity-attachments-page.component-EU1dgVH_.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-entity-bulk-entity.command-Cs3agnpF.mjs → acorex-platform-framework-client-layout-entity-bulk-entity.command-DNBhGkO8.mjs} +43 -15
- package/fesm2022/acorex-platform-framework-client-layout-entity-bulk-entity.command-DNBhGkO8.mjs.map +1 -0
- package/fesm2022/{acorex-platform-framework-client-layout-entity-file-list-popup.component-p0hxDb0W.mjs → acorex-platform-framework-client-layout-entity-file-list-popup.component-B3__csKW.mjs} +3 -3
- package/fesm2022/{acorex-platform-framework-client-layout-entity-file-list-popup.component-p0hxDb0W.mjs.map → acorex-platform-framework-client-layout-entity-file-list-popup.component-B3__csKW.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-entity-gallery-page.component-DYV9YPyw.mjs → acorex-platform-framework-client-layout-entity-gallery-page.component-DtNSVjeF.mjs} +2 -2
- package/fesm2022/{acorex-platform-framework-client-layout-entity-gallery-page.component-DYV9YPyw.mjs.map → acorex-platform-framework-client-layout-entity-gallery-page.component-DtNSVjeF.mjs.map} +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-entity.mjs +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-views.mjs +37 -6
- package/fesm2022/acorex-platform-framework-client-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs +148 -130
- package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs.map +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-3CO4xJB3.mjs → acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-4mX8aYzA.mjs} +3 -3
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-3CO4xJB3.mjs.map → acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-4mX8aYzA.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-tabular-data-edit-popup.component-CRST84ou.mjs → acorex-platform-framework-client-layout-widgets-tabular-data-edit-popup.component-D3pnOGmB.mjs} +3 -3
- package/fesm2022/{acorex-platform-framework-client-layout-widgets-tabular-data-edit-popup.component-CRST84ou.mjs.map → acorex-platform-framework-client-layout-widgets-tabular-data-edit-popup.component-D3pnOGmB.mjs.map} +1 -1
- package/fesm2022/acorex-platform-framework-client-layout-widgets.mjs +1127 -717
- package/fesm2022/acorex-platform-framework-client-layout-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-realtime.mjs +70 -5
- package/fesm2022/acorex-platform-framework-client-realtime.mjs.map +1 -1
- package/fesm2022/acorex-platform-framework-client-runtime.mjs +121 -6
- package/fesm2022/acorex-platform-framework-client-runtime.mjs.map +1 -1
- package/fesm2022/{acorex-platform-framework-client-themes-default-entity-master-single-view.component-C2Abf7Lb.mjs → acorex-platform-framework-client-themes-default-entity-master-single-view.component-DCpl6AXq.mjs} +51 -12
- package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-single-view.component-DCpl6AXq.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-themes-default.mjs +770 -679
- package/fesm2022/acorex-platform-framework-client-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-framework-client-themes-shared-settings.provider-D2XPkc71.mjs → acorex-platform-framework-client-themes-shared-settings.provider-CpsAIsxj.mjs} +76 -1
- package/fesm2022/acorex-platform-framework-client-themes-shared-settings.provider-CpsAIsxj.mjs.map +1 -0
- package/fesm2022/acorex-platform-framework-client-themes-shared.mjs +320 -32
- package/fesm2022/acorex-platform-framework-client-themes-shared.mjs.map +1 -1
- package/package.json +7 -7
- package/types/acorex-platform-framework-client-common.d.ts +137 -9
- package/types/acorex-platform-framework-client-core.d.ts +4 -1
- package/types/acorex-platform-framework-client-layout-components.d.ts +139 -20
- package/types/acorex-platform-framework-client-layout-entity.d.ts +518 -256
- package/types/acorex-platform-framework-client-layout-views.d.ts +48 -0
- package/types/acorex-platform-framework-client-layout-widget-core.d.ts +2 -2
- package/types/acorex-platform-framework-client-layout-widgets.d.ts +130 -80
- package/types/acorex-platform-framework-client-realtime.d.ts +39 -2
- package/types/acorex-platform-framework-client-runtime.d.ts +56 -5
- package/types/acorex-platform-framework-client-themes-default.d.ts +144 -14
- package/types/acorex-platform-framework-client-themes-shared.d.ts +36 -3
- package/fesm2022/acorex-platform-framework-client-common-common-settings.provider-CLm2BVk-.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-BXOMs6oD.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-layout-entity-bulk-entity.command-Cs3agnpF.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-single-view.component-C2Abf7Lb.mjs.map +0 -1
- package/fesm2022/acorex-platform-framework-client-themes-shared-settings.provider-D2XPkc71.mjs.map +0 -1
|
@@ -23,6 +23,22 @@ interface AXPRealtimeInboxRefreshPayload {
|
|
|
23
23
|
/** Optional hint so clients can apply deletes/archives without a fetch. */
|
|
24
24
|
op?: 'created' | 'updated' | 'deleted' | 'archived';
|
|
25
25
|
}
|
|
26
|
+
interface AXPRealtimeBackgroundJobTrayRefreshPayload {
|
|
27
|
+
jobId?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Hint for client tray sync.
|
|
30
|
+
* Prefer applying locally; full list fetch only when the job is missing (e.g. `created`).
|
|
31
|
+
*/
|
|
32
|
+
op?: 'created' | 'updated' | 'completed' | 'failed' | 'cancelled' | 'dismissed';
|
|
33
|
+
status?: string;
|
|
34
|
+
progress?: number;
|
|
35
|
+
statusText?: string;
|
|
36
|
+
currentStep?: string;
|
|
37
|
+
supportsProgress?: boolean;
|
|
38
|
+
keepInTrayAfterComplete?: boolean;
|
|
39
|
+
completedAt?: string;
|
|
40
|
+
trayDismissedAt?: string;
|
|
41
|
+
}
|
|
26
42
|
interface AXPRealtimeConversationMessagePayload {
|
|
27
43
|
conversationId: string;
|
|
28
44
|
messageId: string;
|
|
@@ -49,6 +65,16 @@ interface AXPRealtimeConversationCallPayload {
|
|
|
49
65
|
/** Optional call correlation id shared across invite → accept. */
|
|
50
66
|
callId?: string;
|
|
51
67
|
}
|
|
68
|
+
interface AXPRealtimeBulkProgressPayload {
|
|
69
|
+
executionId: string;
|
|
70
|
+
entity: string;
|
|
71
|
+
name: string;
|
|
72
|
+
current: number;
|
|
73
|
+
total: number;
|
|
74
|
+
succeeded: number;
|
|
75
|
+
failed: number;
|
|
76
|
+
status: 'running' | 'completed';
|
|
77
|
+
}
|
|
52
78
|
interface AXPRealtimeEntityMutationPayload {
|
|
53
79
|
entityName: string;
|
|
54
80
|
operation: 'created' | 'updated' | 'deleted';
|
|
@@ -101,10 +127,12 @@ interface AXPRealtimeTopicHandlerRegistration {
|
|
|
101
127
|
}
|
|
102
128
|
|
|
103
129
|
declare const AXP_REALTIME_TOPIC_INBOX_REFRESH = "inbox.refresh";
|
|
130
|
+
declare const AXP_REALTIME_TOPIC_BACKGROUND_JOB_TRAY_REFRESH = "background-job.tray.refresh";
|
|
104
131
|
declare const AXP_REALTIME_TOPIC_CONVERSATION_MESSAGE = "conversation.message";
|
|
105
132
|
declare const AXP_REALTIME_TOPIC_CONVERSATION_TYPING = "conversation.typing";
|
|
106
133
|
declare const AXP_REALTIME_TOPIC_CONVERSATION_CALL = "conversation.call";
|
|
107
134
|
declare const AXP_REALTIME_TOPIC_ENTITY_MUTATION = "entity.mutation";
|
|
135
|
+
declare const AXP_REALTIME_TOPIC_BULK_PROGRESS = "runtime.bulk.progress";
|
|
108
136
|
declare const AXP_REALTIME_TOPIC_USER_PRESENCE = "user.presence";
|
|
109
137
|
declare const AXP_REALTIME_SOCKET_EVENT = "realtime";
|
|
110
138
|
declare const AXP_REALTIME_SUBSCRIBE_CONVERSATION = "subscribe.conversation";
|
|
@@ -155,8 +183,11 @@ declare class AXPRealtimeConnectionService extends AXPRealtimeConnectionPort imp
|
|
|
155
183
|
private readonly config;
|
|
156
184
|
private readonly session;
|
|
157
185
|
private readonly dispatcher;
|
|
186
|
+
private readonly bulkProgress;
|
|
187
|
+
private readonly document;
|
|
158
188
|
private socket;
|
|
159
189
|
private statusSub;
|
|
190
|
+
private wakeListenersBound;
|
|
160
191
|
private readonly joinedConversations;
|
|
161
192
|
private readonly connectionStatusSubject;
|
|
162
193
|
/** Latest Socket.IO connection state for feature modules (e.g. chat). */
|
|
@@ -178,6 +209,12 @@ declare class AXPRealtimeConnectionService extends AXPRealtimeConnectionPort imp
|
|
|
178
209
|
unsubscribePresence(userIds: readonly string[]): void;
|
|
179
210
|
leavePresence(): Promise<void>;
|
|
180
211
|
setPresence(status: 'online' | 'away' | 'busy', source?: 'auto' | 'manual'): Promise<AXPRealtimeUserPresenceSnapshotItem | undefined>;
|
|
212
|
+
private registerBulkProgressHandler;
|
|
213
|
+
private bindWakeListeners;
|
|
214
|
+
private unbindWakeListeners;
|
|
215
|
+
private readonly onVisibilityResume;
|
|
216
|
+
private readonly onNetworkResume;
|
|
217
|
+
private resumeIfAuthorized;
|
|
181
218
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPRealtimeConnectionService, [{ optional: true; }]>;
|
|
182
219
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPRealtimeConnectionService>;
|
|
183
220
|
}
|
|
@@ -273,5 +310,5 @@ declare class AXPUserPresenceIdleService {
|
|
|
273
310
|
/** Idle without input before automatic Away. Keep in sync with server `AXP_USER_PRESENCE_IDLE_MS`. */
|
|
274
311
|
declare const AXP_USER_PRESENCE_IDLE_MS: number;
|
|
275
312
|
|
|
276
|
-
export { AXPRealtimeConnectionPort, AXPRealtimeConnectionService, AXPRealtimeDispatcherService, AXPUserPresenceIdleService, AXPUserPresenceService, AXP_REALTIME_CONFIG, AXP_REALTIME_EMIT_TYPING, AXP_REALTIME_PRESENCE_LEAVE, AXP_REALTIME_PRESENCE_SET, AXP_REALTIME_SOCKET_EVENT, AXP_REALTIME_SUBSCRIBE_CONVERSATION, AXP_REALTIME_SUBSCRIBE_PRESENCE, AXP_REALTIME_TOPIC_CONVERSATION_CALL, AXP_REALTIME_TOPIC_CONVERSATION_MESSAGE, AXP_REALTIME_TOPIC_CONVERSATION_TYPING, AXP_REALTIME_TOPIC_ENTITY_MUTATION, AXP_REALTIME_TOPIC_HANDLER, AXP_REALTIME_TOPIC_INBOX_REFRESH, AXP_REALTIME_TOPIC_USER_PRESENCE, AXP_REALTIME_UNSUBSCRIBE_CONVERSATION, AXP_REALTIME_UNSUBSCRIBE_PRESENCE, AXP_USER_PRESENCE_IDLE_MS, isWatchablePresenceUserId, parseUserPresencePayload, presenceDurationBucket, provideRealtime, resolveRealtimeSocketUrl };
|
|
277
|
-
export type { AXPPresenceDurationBucket, AXPProvideRealtimeOptions, AXPRealtimeAudience, AXPRealtimeConfig, AXPRealtimeConnectionStatus, AXPRealtimeConversationCallAction, AXPRealtimeConversationCallMedia, AXPRealtimeConversationCallPayload, AXPRealtimeConversationMessagePayload, AXPRealtimeConversationTypingPayload, AXPRealtimeEntityMutationPayload, AXPRealtimeEnvelope, AXPRealtimeInboxRefreshPayload, AXPRealtimePresenceSetResult, AXPRealtimePresenceSubscribeResult, AXPRealtimeTopicHandler, AXPRealtimeTopicHandlerRegistration, AXPRealtimeUserPresencePayload, AXPRealtimeUserPresenceSnapshotItem, AXPRealtimeUserPresenceSource, AXPRealtimeUserPresenceStatus, AXPUserPresence, AXPUserPresenceSetInput, AXPUserPresenceSource, AXPUserPresenceStatus };
|
|
313
|
+
export { AXPRealtimeConnectionPort, AXPRealtimeConnectionService, AXPRealtimeDispatcherService, AXPUserPresenceIdleService, AXPUserPresenceService, AXP_REALTIME_CONFIG, AXP_REALTIME_EMIT_TYPING, AXP_REALTIME_PRESENCE_LEAVE, AXP_REALTIME_PRESENCE_SET, AXP_REALTIME_SOCKET_EVENT, AXP_REALTIME_SUBSCRIBE_CONVERSATION, AXP_REALTIME_SUBSCRIBE_PRESENCE, AXP_REALTIME_TOPIC_BACKGROUND_JOB_TRAY_REFRESH, AXP_REALTIME_TOPIC_BULK_PROGRESS, AXP_REALTIME_TOPIC_CONVERSATION_CALL, AXP_REALTIME_TOPIC_CONVERSATION_MESSAGE, AXP_REALTIME_TOPIC_CONVERSATION_TYPING, AXP_REALTIME_TOPIC_ENTITY_MUTATION, AXP_REALTIME_TOPIC_HANDLER, AXP_REALTIME_TOPIC_INBOX_REFRESH, AXP_REALTIME_TOPIC_USER_PRESENCE, AXP_REALTIME_UNSUBSCRIBE_CONVERSATION, AXP_REALTIME_UNSUBSCRIBE_PRESENCE, AXP_USER_PRESENCE_IDLE_MS, isWatchablePresenceUserId, parseUserPresencePayload, presenceDurationBucket, provideRealtime, resolveRealtimeSocketUrl };
|
|
314
|
+
export type { AXPPresenceDurationBucket, AXPProvideRealtimeOptions, AXPRealtimeAudience, AXPRealtimeBackgroundJobTrayRefreshPayload, AXPRealtimeBulkProgressPayload, AXPRealtimeConfig, AXPRealtimeConnectionStatus, AXPRealtimeConversationCallAction, AXPRealtimeConversationCallMedia, AXPRealtimeConversationCallPayload, AXPRealtimeConversationMessagePayload, AXPRealtimeConversationTypingPayload, AXPRealtimeEntityMutationPayload, AXPRealtimeEnvelope, AXPRealtimeInboxRefreshPayload, AXPRealtimePresenceSetResult, AXPRealtimePresenceSubscribeResult, AXPRealtimeTopicHandler, AXPRealtimeTopicHandlerRegistration, AXPRealtimeUserPresencePayload, AXPRealtimeUserPresenceSnapshotItem, AXPRealtimeUserPresenceSource, AXPRealtimeUserPresenceStatus, AXPUserPresence, AXPUserPresenceSetInput, AXPUserPresenceSource, AXPUserPresenceStatus };
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { AXPBulkCommandRequest, AXPCommandExecuteResultPromise, AXPBulkCommandResultData, AXPCommandExecuteOptions, AXPCommandMiddleware, AXPCommand, AXPQueryMiddleware, AXPQuery, AXPQueryExecuteOptions, AXPViewProvider } from '@acorex-platform/framework-shared/runtime';
|
|
1
|
+
import { AXPBulkCommandRequest, AXPCommandExecuteResultPromise, AXPBulkCommandResultData, AXPBulkCommandProgress, AXPCommandExecuteOptions, AXPCommandMiddleware, AXPCommand, AXPQueryMiddleware, AXPQuery, AXPQueryExecuteOptions, AXPViewProvider } from '@acorex-platform/framework-shared/runtime';
|
|
2
2
|
export { AXPCommandExecuteOptions, AXPCommandMiddleware, AXPCommandMiddlewareContext, AXPQueryExecuteOptions, AXPQueryMiddleware, AXPQueryMiddlewareContext, AXPQuerySnapshotOption, composeCommandMiddlewares, composeQueryMiddlewares } from '@acorex-platform/framework-shared/runtime';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { InjectionToken, EnvironmentProviders, Type, Provider } from '@angular/core';
|
|
5
|
+
import { Observable } from 'rxjs';
|
|
5
6
|
import { AXPRuntimeCommandResult, AXPRuntimeQueryResult, AXPViewDefinition, AXPMetaData } from '@acorex-platform/framework-shared/core';
|
|
6
7
|
import { AXComponent } from '@acorex/cdk/common';
|
|
7
8
|
|
|
@@ -20,6 +21,35 @@ declare class AXPBulkCommandService {
|
|
|
20
21
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPBulkCommandService>;
|
|
21
22
|
}
|
|
22
23
|
|
|
24
|
+
interface AXPBulkProgressWatchOptions {
|
|
25
|
+
/**
|
|
26
|
+
* `true` — poll GET /progress (socket down).
|
|
27
|
+
* `false` / omitted — socket only; never call GET /progress.
|
|
28
|
+
*/
|
|
29
|
+
poll?: boolean;
|
|
30
|
+
/** Poll interval when `poll` is enabled. Default 250ms. */
|
|
31
|
+
intervalMs?: number;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Actor-only progress bus for in-flight bulk commands.
|
|
35
|
+
*
|
|
36
|
+
* Prefer realtime (`runtime.bulk.progress` → {@link notify}).
|
|
37
|
+
* GET /progress only when the caller sets `poll: true` (socket down).
|
|
38
|
+
*/
|
|
39
|
+
declare class AXPBulkProgressChannel {
|
|
40
|
+
private readonly hooks;
|
|
41
|
+
private readonly zone;
|
|
42
|
+
private readonly subject;
|
|
43
|
+
/** Called by the realtime topic handler when a socket tick arrives. */
|
|
44
|
+
notify(progress: AXPBulkCommandProgress): void;
|
|
45
|
+
watch(executionId: string, options?: AXPBulkProgressWatchOptions): Observable<AXPBulkCommandProgress>;
|
|
46
|
+
private emit;
|
|
47
|
+
private clearPoll;
|
|
48
|
+
private pollOnce;
|
|
49
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPBulkProgressChannel, never>;
|
|
50
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPBulkProgressChannel>;
|
|
51
|
+
}
|
|
52
|
+
|
|
23
53
|
type AXPCommandExecutionStage = 'before' | 'after';
|
|
24
54
|
interface AXPCommandExecutionEvent<TInput = unknown, TResult = unknown> {
|
|
25
55
|
executionId: string;
|
|
@@ -364,13 +394,15 @@ declare class AXPRuntimeModule {
|
|
|
364
394
|
*
|
|
365
395
|
* Host apps that only consume the client lib and call a different API stack should
|
|
366
396
|
* register {@link provideExternalRuntimeQueryTransport},
|
|
367
|
-
* {@link provideExternalRuntimeCommandTransport},
|
|
368
|
-
* {@link provideExternalRuntimeBulkTransport}
|
|
397
|
+
* {@link provideExternalRuntimeCommandTransport},
|
|
398
|
+
* {@link provideExternalRuntimeBulkTransport} for {@link AXPRuntimeRemoteHookKeys.CommandExecuteBulk},
|
|
399
|
+
* and {@link provideBulkProgressPollTransport} for {@link AXPRuntimeRemoteHookKeys.CommandBulkProgress}
|
|
369
400
|
* (see `RUNTIME_REMOTE_BULK_TRANSPORT.md`).
|
|
370
401
|
*/
|
|
371
402
|
declare const AXPRuntimeRemoteHookKeys: {
|
|
372
403
|
readonly CommandExecute: "runtime.command.execute";
|
|
373
404
|
readonly CommandExecuteBulk: "runtime.command.execute-bulk";
|
|
405
|
+
readonly CommandBulkProgress: "runtime.command.bulk-progress";
|
|
374
406
|
readonly QueryExecute: "runtime.query.execute";
|
|
375
407
|
};
|
|
376
408
|
interface AXPRuntimeCommandExecuteHookPayload {
|
|
@@ -388,6 +420,12 @@ interface AXPRuntimeCommandExecuteBulkHookPayload {
|
|
|
388
420
|
handled?: boolean;
|
|
389
421
|
result?: AXPRuntimeCommandResult<AXPBulkCommandResultData> | null;
|
|
390
422
|
}
|
|
423
|
+
interface AXPRuntimeCommandBulkProgressHookPayload {
|
|
424
|
+
executionId: string;
|
|
425
|
+
/** Set by a provider when it handled the remote call. */
|
|
426
|
+
handled?: boolean;
|
|
427
|
+
progress?: AXPBulkCommandProgress | null;
|
|
428
|
+
}
|
|
391
429
|
interface AXPRuntimeQueryExecuteHookPayload {
|
|
392
430
|
name: string;
|
|
393
431
|
input: unknown;
|
|
@@ -548,5 +586,18 @@ interface AXPExternalRuntimeQueryTransportOptions {
|
|
|
548
586
|
*/
|
|
549
587
|
declare function provideExternalRuntimeQueryTransport(transport: AXPExternalRuntimeQueryTransport, options?: AXPExternalRuntimeQueryTransportOptions): Provider[];
|
|
550
588
|
|
|
551
|
-
|
|
552
|
-
|
|
589
|
+
type AXPBulkProgressPollTransport = (executionId: string) => Promise<AXPBulkCommandProgress | null | undefined>;
|
|
590
|
+
interface AXPBulkProgressPollTransportOptions {
|
|
591
|
+
/** Hook waterfall order (ascending). Default `-100` so this runs before connectivity. */
|
|
592
|
+
priority?: number;
|
|
593
|
+
}
|
|
594
|
+
/** Replace the default {@link AXPBulkProgressChannel} (e.g. SSE or a host-specific bus). */
|
|
595
|
+
declare function provideBulkProgressChannel(factory: () => AXPBulkProgressChannel): Provider[];
|
|
596
|
+
/**
|
|
597
|
+
* Registers a poll transport for hosts that have a progress HTTP API but no realtime.
|
|
598
|
+
* Same pattern as {@link provideExternalRuntimeBulkTransport}.
|
|
599
|
+
*/
|
|
600
|
+
declare function provideBulkProgressPollTransport(transport: AXPBulkProgressPollTransport, options?: AXPBulkProgressPollTransportOptions): Provider[];
|
|
601
|
+
|
|
602
|
+
export { AXPBulkCommandService, AXPBulkProgressChannel, AXPCommandEventsService, AXPCommandExecutor, AXPCommandRegistry, AXPCommandService, AXPPolicyEngineContext, AXPPolicyEngineDirective, AXPPolicyEngineRegistry, AXPPolicyEngineService, AXPQueryEventsService, AXPQueryExecutor, AXPQueryRegistry, AXPQueryService, AXPRuntimeModule, AXPRuntimeRemoteHookKeys, AXPRuntimeTransportHookKeys, AXPRuntimeTransportService, AXPViewExecutor, AXPViewRegistry, AXPViewService, AXP_COMMAND_EXTENSION, AXP_COMMAND_MIDDLEWARE_SETUP, AXP_COMMAND_SETUP, AXP_POLICY_ENGINE_MIDDLEWARE_SETUP, AXP_POLICY_EXTENSION, AXP_QUERY_EXTENSION, AXP_QUERY_MIDDLEWARE_SETUP, AXP_QUERY_SETUP, AXP_VIEW_EXTENSION, AXP_VIEW_SETUP, composePolicyEngineMiddlewares, composeViewMiddlewares, provideBulkProgressChannel, provideBulkProgressPollTransport, provideCommand, provideCommandMiddleware, provideCommandSetups, provideExternalRuntimeBulkTransport, provideExternalRuntimeCommandTransport, provideExternalRuntimeQueryTransport, providePolicySetups, provideQueryMiddleware, provideQuerySetups, provideViewSetup, provideViewSetups };
|
|
603
|
+
export type { AXPBulkProgressPollTransport, AXPBulkProgressPollTransportOptions, AXPBulkProgressWatchOptions, AXPCommandExecutionEvent, AXPCommandExecutionStage, AXPCommandExtension, AXPExternalRuntimeBulkTransport, AXPExternalRuntimeBulkTransportOptions, AXPExternalRuntimeCommandTransport, AXPExternalRuntimeCommandTransportOptions, AXPExternalRuntimeQueryTransport, AXPExternalRuntimeQueryTransportOptions, AXPPolicy, AXPPolicyEngineMiddleware, AXPPolicyExtension, AXPQueryExecutionEvent, AXPQueryExecutionStage, AXPQueryExtension, AXPRuntimeCommandBulkProgressHookPayload, AXPRuntimeCommandExecuteBulkHookPayload, AXPRuntimeCommandExecuteHookPayload, AXPRuntimeQueryExecuteHookPayload, AXPRuntimeTransportExecuteHookPayload, AXPViewExtension, AXPViewMiddleware };
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import * as _acorex_platform_framework_shared_entity from '@acorex-platform/framework-shared/entity';
|
|
2
|
+
import { AXPEntityMasterListDisplayMode } from '@acorex-platform/framework-shared/entity';
|
|
1
3
|
import * as _ngrx_signals from '@ngrx/signals';
|
|
2
4
|
import * as _angular_core from '@angular/core';
|
|
3
5
|
import { AfterViewInit, OnDestroy, Signal } from '@angular/core';
|
|
@@ -6,13 +8,14 @@ import { AXPMenuVerticalMode } from '@acorex-platform/framework-client/themes/sh
|
|
|
6
8
|
import { AXValueChangedEvent } from '@acorex/cdk/common';
|
|
7
9
|
import { AXActionSheetService } from '@acorex/components/action-sheet';
|
|
8
10
|
import { AXDataTableComponent, AXRowCommandItem, AXDataTableRowDbClick, AXRowCommandItemClickEvent, AXDataTableRowCssClassResolver, AXDataTableCellCssClassResolver, onColumnSizeChangedEvent, AXColumnsOrderChangedEvent } from '@acorex/components/data-table';
|
|
11
|
+
import { AXPopoverComponent } from '@acorex/components/popover';
|
|
9
12
|
import { AXUnsubscriber } from '@acorex/core/utils';
|
|
10
13
|
import { AXPDeviceService } from '@acorex-platform/framework-client/core';
|
|
11
|
-
import { AXPEntityCommandTriggerViewModel, AXPEntityDetailListViewModel, AXPEntityMasterListViewModel, AXPEntityMasterListViewSortPropViewModel } from '@acorex-platform/framework-client/layout/entity';
|
|
14
|
+
import { AXPEntityCommandTriggerViewModel, AXPEntityDetailListViewModel, AXPEntityCardListHost, AXPEntityCardSecondaryActionItem, AXPEntityMasterListViewModel, AXPEntityMasterListViewSortPropViewModel } from '@acorex-platform/framework-client/layout/entity';
|
|
12
15
|
import { AXPBreadcrumbItem, AXPActionMenuItem, AXPExecuteCommand } from '@acorex-platform/framework-shared/core';
|
|
13
16
|
import { AXPlatform } from '@acorex/core/platform';
|
|
14
17
|
import { AXPPageLayoutBaseComponent } from '@acorex-platform/framework-client/layout/views';
|
|
15
|
-
import { AXDataPagerChangedEvent
|
|
18
|
+
import { AXDataPagerChangedEvent } from '@acorex/components/data-pager';
|
|
16
19
|
import * as _acorex_platform_framework_client_common from '@acorex-platform/framework-client/common';
|
|
17
20
|
import { AXPTabNavigationService, AXPTabPreviewService, AXPTabDescriptor, AXPTabTitleParts, AXPMenuItem, AXPSettingsService, AXPMenuVisibilityService } from '@acorex-platform/framework-client/common';
|
|
18
21
|
import { AXContextMenuItemsClickEvent } from '@acorex/components/menu';
|
|
@@ -43,6 +46,9 @@ declare class AXPEntityDetailListViewComponent {
|
|
|
43
46
|
sideMenuCompactWidth: _angular_core.Signal<number>;
|
|
44
47
|
menuVerticalMode: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode>;
|
|
45
48
|
menuOrientation: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuOrientation>;
|
|
49
|
+
menuAppearance: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuAppearance>;
|
|
50
|
+
headerAppearance: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPHeaderAppearance>;
|
|
51
|
+
mainFooterFullWidth: _angular_core.Signal<boolean>;
|
|
46
52
|
isPrinting: _angular_core.Signal<boolean>;
|
|
47
53
|
isDarkMode: _angular_core.Signal<boolean>;
|
|
48
54
|
isLightMode: _angular_core.Signal<boolean>;
|
|
@@ -54,6 +60,12 @@ declare class AXPEntityDetailListViewComponent {
|
|
|
54
60
|
isMenuHorizontal: _angular_core.Signal<boolean>;
|
|
55
61
|
effectiveMenuVerticalMode: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode>;
|
|
56
62
|
sideMenuDrawerWidth: _angular_core.Signal<number>;
|
|
63
|
+
menuDarkEnabled: _angular_core.Signal<boolean>;
|
|
64
|
+
menuBrandEnabled: _angular_core.Signal<boolean>;
|
|
65
|
+
effectiveMainFooterFullWidth: _angular_core.Signal<boolean>;
|
|
66
|
+
headerBrandEnabled: _angular_core.Signal<boolean>;
|
|
67
|
+
headerButtonColor: _angular_core.Signal<"default" | "primary">;
|
|
68
|
+
headerButtonLook: _angular_core.Signal<"default" | "blank">;
|
|
57
69
|
changeThemeMode: (theme: _acorex_platform_framework_client_themes_shared.AXPThemeMode) => void;
|
|
58
70
|
openSideMenu: () => void;
|
|
59
71
|
closeSideMenu: () => void;
|
|
@@ -83,6 +95,9 @@ declare class AXPEntityDetailListViewComponent {
|
|
|
83
95
|
sideMenuCompactWidth: number;
|
|
84
96
|
menuVerticalMode: _acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode;
|
|
85
97
|
menuOrientation: _acorex_platform_framework_client_themes_shared.AXPMenuOrientation;
|
|
98
|
+
menuAppearance: _acorex_platform_framework_client_themes_shared.AXPMenuAppearance;
|
|
99
|
+
headerAppearance: _acorex_platform_framework_client_themes_shared.AXPHeaderAppearance;
|
|
100
|
+
mainFooterFullWidth: boolean;
|
|
86
101
|
isPrinting: boolean;
|
|
87
102
|
}>;
|
|
88
103
|
protected deviceService: AXPDeviceService;
|
|
@@ -91,6 +106,13 @@ declare class AXPEntityDetailListViewComponent {
|
|
|
91
106
|
vm: AXPEntityDetailListViewModel;
|
|
92
107
|
protected focusedRow: any;
|
|
93
108
|
grid: AXDataTableComponent;
|
|
109
|
+
protected listDisplayModePopover: _angular_core.Signal<AXPopoverComponent | undefined>;
|
|
110
|
+
protected showListDisplayModeControl: _angular_core.Signal<boolean>;
|
|
111
|
+
protected listDisplayMode: _angular_core.Signal<_acorex_platform_framework_shared_entity.AXPEntityMasterListLayoutType>;
|
|
112
|
+
protected hasTableListDisplayOption: _angular_core.Signal<boolean>;
|
|
113
|
+
protected hasCardListDisplayOption: _angular_core.Signal<boolean>;
|
|
114
|
+
protected hasRowListDisplayOption: _angular_core.Signal<boolean>;
|
|
115
|
+
protected listDisplayModeButtonIcon: _angular_core.Signal<"fa-light fa-table" | "fa-light fa-grip-lines" | "fa-light fa-grid-2">;
|
|
94
116
|
constructor(actionSheetService: AXActionSheetService, unsubscriber: AXUnsubscriber);
|
|
95
117
|
private readonly destroyed;
|
|
96
118
|
handleChangeSearchValue(e: AXValueChangedEvent): void;
|
|
@@ -103,6 +125,7 @@ declare class AXPEntityDetailListViewComponent {
|
|
|
103
125
|
protected getDropdownRowItems: (rowData: unknown) => Promise<AXRowCommandItem[]>;
|
|
104
126
|
protected handleSelectedRowsChange(rows: unknown[]): Promise<void>;
|
|
105
127
|
protected handleRowCommandClick(e: AXRowCommandItemClickEvent): Promise<void>;
|
|
128
|
+
protected setListDisplayMode(mode: AXPEntityMasterListDisplayMode): void;
|
|
106
129
|
private refreshToolbarActions;
|
|
107
130
|
protected destroy(): void;
|
|
108
131
|
ngOnDestroy(): void;
|
|
@@ -111,48 +134,68 @@ declare class AXPEntityDetailListViewComponent {
|
|
|
111
134
|
}
|
|
112
135
|
|
|
113
136
|
declare class AXPEntityMasterListCardListComponent {
|
|
114
|
-
|
|
115
|
-
vm: _angular_core.InputSignal<AXPEntityMasterListViewModel>;
|
|
116
|
-
pageChanged: _angular_core.OutputEmitterRef<AXDataPagerChangedEvent>;
|
|
117
|
-
protected pagerDisplayMode: _angular_core.Signal<AXDataPagerMode>;
|
|
137
|
+
vm: _angular_core.InputSignal<AXPEntityCardListHost>;
|
|
118
138
|
protected items: _angular_core.WritableSignal<Record<string, unknown>[]>;
|
|
119
139
|
protected loading: _angular_core.WritableSignal<boolean>;
|
|
120
|
-
protected
|
|
140
|
+
protected loadingMore: _angular_core.WritableSignal<boolean>;
|
|
141
|
+
protected hasMore: _angular_core.WritableSignal<boolean>;
|
|
121
142
|
protected totalCount: _angular_core.WritableSignal<number>;
|
|
122
|
-
protected
|
|
143
|
+
protected highlightedRowId: _angular_core.WritableSignal<string | number | null>;
|
|
123
144
|
protected pageSize: _angular_core.WritableSignal<number>;
|
|
124
145
|
protected showSelection: _angular_core.Signal<boolean>;
|
|
125
146
|
protected rowKey: _angular_core.Signal<string>;
|
|
147
|
+
protected isRowLayout: _angular_core.Signal<boolean>;
|
|
148
|
+
protected canLoadMore: _angular_core.Signal<boolean>;
|
|
149
|
+
protected loadedCount: _angular_core.Signal<number>;
|
|
150
|
+
protected showListStatus: _angular_core.Signal<boolean>;
|
|
126
151
|
protected skeletonCount: _angular_core.Signal<number>;
|
|
152
|
+
protected readonly loadMoreSkeletonPlaceholders: number[];
|
|
153
|
+
protected showSkeletonAvatar: _angular_core.Signal<boolean>;
|
|
127
154
|
protected skeletonFieldCount: _angular_core.Signal<number>;
|
|
128
155
|
protected skeletonBadgeCount: _angular_core.Signal<number>;
|
|
129
156
|
protected skeletonShowFooter: _angular_core.Signal<boolean>;
|
|
130
157
|
protected skeletonPlaceholders: _angular_core.Signal<number[]>;
|
|
158
|
+
protected loadSecondaryActions: (row: Record<string, unknown>) => Promise<AXPEntityCardSecondaryActionItem[]>;
|
|
159
|
+
/** True while load-more is fetching the next chunk; ignore replace-on-changed. */
|
|
160
|
+
private appending;
|
|
161
|
+
private readonly cardGrid;
|
|
162
|
+
private readonly expandedRowIds;
|
|
163
|
+
private readonly columnCount;
|
|
131
164
|
constructor();
|
|
132
|
-
reload(
|
|
165
|
+
reload(_resetPagination?: boolean): Promise<void>;
|
|
133
166
|
/** Marks a card with the same post-create highlight used by the data table. */
|
|
134
167
|
highlightCardById(rowId: string | number): void;
|
|
135
168
|
clearCardHighlight(): void;
|
|
136
169
|
protected isRowHighlighted(row: Record<string, unknown>): boolean;
|
|
137
|
-
/**
|
|
170
|
+
/** Replaces the accumulated list with the current data-source page (no fetch). */
|
|
138
171
|
syncFromDataSource(): void;
|
|
139
172
|
/** Lightweight snapshot for entity list layout diagnostics. */
|
|
140
173
|
getTraceSnapshot(): {
|
|
141
174
|
itemCount: number;
|
|
142
175
|
loading: boolean;
|
|
176
|
+
loadingMore: boolean;
|
|
177
|
+
hasMore: boolean;
|
|
143
178
|
pageIndex: number;
|
|
144
179
|
pageSize: number;
|
|
145
180
|
};
|
|
181
|
+
protected isCardExpanded(row: Record<string, unknown>): boolean;
|
|
182
|
+
protected onCardExtraExpanded(index: number, expanded: boolean): void;
|
|
183
|
+
private rowId;
|
|
184
|
+
private visualRowIndexes;
|
|
185
|
+
private cardHosts;
|
|
186
|
+
private realignExpandedRows;
|
|
146
187
|
protected trackRow(index: number, row: Record<string, unknown> | undefined): string | number;
|
|
147
188
|
protected isRowSelected(row: Record<string, unknown>): boolean;
|
|
148
189
|
protected onRowSelectionChange(row: Record<string, unknown>, selected: boolean): void;
|
|
149
190
|
protected onCommandClick(name: string, row: Record<string, unknown>): Promise<void>;
|
|
150
|
-
protected
|
|
151
|
-
private
|
|
152
|
-
private
|
|
191
|
+
protected onInfiniteScrollReached(): void;
|
|
192
|
+
private loadMore;
|
|
193
|
+
private loadPage;
|
|
194
|
+
private applyPageFromDataSource;
|
|
195
|
+
private resolvePageSize;
|
|
153
196
|
private waitForDataSourceLoad;
|
|
154
197
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPEntityMasterListCardListComponent, never>;
|
|
155
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityMasterListCardListComponent, "axp-entity-master-list-card-list", never, { "vm": { "alias": "vm"; "required": true; "isSignal": true; }; }, {
|
|
198
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPEntityMasterListCardListComponent, "axp-entity-master-list-card-list", never, { "vm": { "alias": "vm"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
156
199
|
}
|
|
157
200
|
|
|
158
201
|
declare class AXPEntityMasterListDataTableComponent {
|
|
@@ -203,6 +246,9 @@ declare class AXPEntityMasterListViewComponent extends AXPPageLayoutBaseComponen
|
|
|
203
246
|
sideMenuCompactWidth: _angular_core.Signal<number>;
|
|
204
247
|
menuVerticalMode: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode>;
|
|
205
248
|
menuOrientation: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuOrientation>;
|
|
249
|
+
menuAppearance: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuAppearance>;
|
|
250
|
+
headerAppearance: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPHeaderAppearance>;
|
|
251
|
+
mainFooterFullWidth: _angular_core.Signal<boolean>;
|
|
206
252
|
isPrinting: _angular_core.Signal<boolean>;
|
|
207
253
|
isDarkMode: _angular_core.Signal<boolean>;
|
|
208
254
|
isLightMode: _angular_core.Signal<boolean>;
|
|
@@ -214,6 +260,12 @@ declare class AXPEntityMasterListViewComponent extends AXPPageLayoutBaseComponen
|
|
|
214
260
|
isMenuHorizontal: _angular_core.Signal<boolean>;
|
|
215
261
|
effectiveMenuVerticalMode: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode>;
|
|
216
262
|
sideMenuDrawerWidth: _angular_core.Signal<number>;
|
|
263
|
+
menuDarkEnabled: _angular_core.Signal<boolean>;
|
|
264
|
+
menuBrandEnabled: _angular_core.Signal<boolean>;
|
|
265
|
+
effectiveMainFooterFullWidth: _angular_core.Signal<boolean>;
|
|
266
|
+
headerBrandEnabled: _angular_core.Signal<boolean>;
|
|
267
|
+
headerButtonColor: _angular_core.Signal<"default" | "primary">;
|
|
268
|
+
headerButtonLook: _angular_core.Signal<"default" | "blank">;
|
|
217
269
|
changeThemeMode: (theme: _acorex_platform_framework_client_themes_shared.AXPThemeMode) => void;
|
|
218
270
|
openSideMenu: () => void;
|
|
219
271
|
closeSideMenu: () => void;
|
|
@@ -243,6 +295,9 @@ declare class AXPEntityMasterListViewComponent extends AXPPageLayoutBaseComponen
|
|
|
243
295
|
sideMenuCompactWidth: number;
|
|
244
296
|
menuVerticalMode: _acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode;
|
|
245
297
|
menuOrientation: _acorex_platform_framework_client_themes_shared.AXPMenuOrientation;
|
|
298
|
+
menuAppearance: _acorex_platform_framework_client_themes_shared.AXPMenuAppearance;
|
|
299
|
+
headerAppearance: _acorex_platform_framework_client_themes_shared.AXPHeaderAppearance;
|
|
300
|
+
mainFooterFullWidth: boolean;
|
|
246
301
|
isPrinting: boolean;
|
|
247
302
|
}>;
|
|
248
303
|
protected searchBarShown: _angular_core.WritableSignal<boolean>;
|
|
@@ -338,6 +393,9 @@ declare class AXPRootLayoutHeaderComponent {
|
|
|
338
393
|
sideMenuCompactWidth: _angular_core.Signal<number>;
|
|
339
394
|
menuVerticalMode: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode>;
|
|
340
395
|
menuOrientation: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuOrientation>;
|
|
396
|
+
menuAppearance: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuAppearance>;
|
|
397
|
+
headerAppearance: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPHeaderAppearance>;
|
|
398
|
+
mainFooterFullWidth: _angular_core.Signal<boolean>;
|
|
341
399
|
isPrinting: _angular_core.Signal<boolean>;
|
|
342
400
|
isDarkMode: _angular_core.Signal<boolean>;
|
|
343
401
|
isLightMode: _angular_core.Signal<boolean>;
|
|
@@ -349,6 +407,12 @@ declare class AXPRootLayoutHeaderComponent {
|
|
|
349
407
|
isMenuHorizontal: _angular_core.Signal<boolean>;
|
|
350
408
|
effectiveMenuVerticalMode: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode>;
|
|
351
409
|
sideMenuDrawerWidth: _angular_core.Signal<number>;
|
|
410
|
+
menuDarkEnabled: _angular_core.Signal<boolean>;
|
|
411
|
+
menuBrandEnabled: _angular_core.Signal<boolean>;
|
|
412
|
+
effectiveMainFooterFullWidth: _angular_core.Signal<boolean>;
|
|
413
|
+
headerBrandEnabled: _angular_core.Signal<boolean>;
|
|
414
|
+
headerButtonColor: _angular_core.Signal<"default" | "primary">;
|
|
415
|
+
headerButtonLook: _angular_core.Signal<"default" | "blank">;
|
|
352
416
|
changeThemeMode: (theme: _acorex_platform_framework_client_themes_shared.AXPThemeMode) => void;
|
|
353
417
|
openSideMenu: () => void;
|
|
354
418
|
closeSideMenu: () => void;
|
|
@@ -378,9 +442,15 @@ declare class AXPRootLayoutHeaderComponent {
|
|
|
378
442
|
sideMenuCompactWidth: number;
|
|
379
443
|
menuVerticalMode: _acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode;
|
|
380
444
|
menuOrientation: _acorex_platform_framework_client_themes_shared.AXPMenuOrientation;
|
|
445
|
+
menuAppearance: _acorex_platform_framework_client_themes_shared.AXPMenuAppearance;
|
|
446
|
+
headerAppearance: _acorex_platform_framework_client_themes_shared.AXPHeaderAppearance;
|
|
447
|
+
mainFooterFullWidth: boolean;
|
|
381
448
|
isPrinting: boolean;
|
|
382
449
|
}>;
|
|
383
450
|
protected readonly tabNavigation: AXPTabNavigationService;
|
|
451
|
+
protected readonly hostClass: _angular_core.Signal<"w-full flex min-w-0 items-center gap-2 h-14 px-2 shrink-0 border-b border-default bg-lightest dark:darker-surface axp-header-simple" | "w-full flex min-w-0 items-center gap-2 h-14 px-2 shrink-0 border-b border-default primary-surface ax-light axp-header-brand">;
|
|
452
|
+
protected readonly headerButtonColor: _angular_core.Signal<"primary" | "default">;
|
|
453
|
+
protected readonly headerButtonLook: _angular_core.Signal<"default" | "blank">;
|
|
384
454
|
constructor();
|
|
385
455
|
protected toggleSideMenu(): void;
|
|
386
456
|
protected handleLogoClick(): void;
|
|
@@ -397,6 +467,7 @@ declare class AXPRouteTabBarComponent implements AfterViewInit, OnDestroy {
|
|
|
397
467
|
#private;
|
|
398
468
|
protected readonly tabNavigation: AXPTabNavigationService;
|
|
399
469
|
protected readonly tabPreviewService: AXPTabPreviewService;
|
|
470
|
+
private readonly themeStore;
|
|
400
471
|
private readonly translateService;
|
|
401
472
|
private readonly host;
|
|
402
473
|
private readonly tabStrip;
|
|
@@ -407,6 +478,7 @@ declare class AXPRouteTabBarComponent implements AfterViewInit, OnDestroy {
|
|
|
407
478
|
private readonly stripWidthPx;
|
|
408
479
|
protected readonly isTabDragging: _angular_core.WritableSignal<boolean>;
|
|
409
480
|
protected readonly inHeader: _angular_core.WritableSignal<boolean>;
|
|
481
|
+
protected readonly simpleHeaderTabs: _angular_core.Signal<boolean>;
|
|
410
482
|
protected readonly tabTitleTooltipOpenAfterMs = 500;
|
|
411
483
|
private stripResizeObserver?;
|
|
412
484
|
protected readonly layout: _angular_core.Signal<AXPRouteTabBarLayout>;
|
|
@@ -490,6 +562,9 @@ declare class AXPRootLayoutMenuComponent {
|
|
|
490
562
|
sideMenuCompactWidth: Signal<number>;
|
|
491
563
|
menuVerticalMode: Signal<AXPMenuVerticalMode>;
|
|
492
564
|
menuOrientation: Signal<_acorex_platform_framework_client_themes_shared.AXPMenuOrientation>;
|
|
565
|
+
menuAppearance: Signal<_acorex_platform_framework_client_themes_shared.AXPMenuAppearance>;
|
|
566
|
+
headerAppearance: Signal<_acorex_platform_framework_client_themes_shared.AXPHeaderAppearance>;
|
|
567
|
+
mainFooterFullWidth: Signal<boolean>;
|
|
493
568
|
isPrinting: Signal<boolean>;
|
|
494
569
|
isDarkMode: Signal<boolean>;
|
|
495
570
|
isLightMode: Signal<boolean>;
|
|
@@ -501,6 +576,12 @@ declare class AXPRootLayoutMenuComponent {
|
|
|
501
576
|
isMenuHorizontal: Signal<boolean>;
|
|
502
577
|
effectiveMenuVerticalMode: Signal<AXPMenuVerticalMode>;
|
|
503
578
|
sideMenuDrawerWidth: Signal<number>;
|
|
579
|
+
menuDarkEnabled: Signal<boolean>;
|
|
580
|
+
menuBrandEnabled: Signal<boolean>;
|
|
581
|
+
effectiveMainFooterFullWidth: Signal<boolean>;
|
|
582
|
+
headerBrandEnabled: Signal<boolean>;
|
|
583
|
+
headerButtonColor: Signal<"default" | "primary">;
|
|
584
|
+
headerButtonLook: Signal<"default" | "blank">;
|
|
504
585
|
changeThemeMode: (theme: _acorex_platform_framework_client_themes_shared.AXPThemeMode) => void;
|
|
505
586
|
openSideMenu: () => void;
|
|
506
587
|
closeSideMenu: () => void;
|
|
@@ -530,6 +611,9 @@ declare class AXPRootLayoutMenuComponent {
|
|
|
530
611
|
sideMenuCompactWidth: number;
|
|
531
612
|
menuVerticalMode: AXPMenuVerticalMode;
|
|
532
613
|
menuOrientation: _acorex_platform_framework_client_themes_shared.AXPMenuOrientation;
|
|
614
|
+
menuAppearance: _acorex_platform_framework_client_themes_shared.AXPMenuAppearance;
|
|
615
|
+
headerAppearance: _acorex_platform_framework_client_themes_shared.AXPHeaderAppearance;
|
|
616
|
+
mainFooterFullWidth: boolean;
|
|
533
617
|
isPrinting: boolean;
|
|
534
618
|
}>;
|
|
535
619
|
private readonly sessionService;
|
|
@@ -622,6 +706,9 @@ declare class AXPRootHorizontalLayoutComponent {
|
|
|
622
706
|
sideMenuCompactWidth: _angular_core.Signal<number>;
|
|
623
707
|
menuVerticalMode: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode>;
|
|
624
708
|
menuOrientation: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuOrientation>;
|
|
709
|
+
menuAppearance: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuAppearance>;
|
|
710
|
+
headerAppearance: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPHeaderAppearance>;
|
|
711
|
+
mainFooterFullWidth: _angular_core.Signal<boolean>;
|
|
625
712
|
isPrinting: _angular_core.Signal<boolean>;
|
|
626
713
|
isDarkMode: _angular_core.Signal<boolean>;
|
|
627
714
|
isLightMode: _angular_core.Signal<boolean>;
|
|
@@ -633,6 +720,12 @@ declare class AXPRootHorizontalLayoutComponent {
|
|
|
633
720
|
isMenuHorizontal: _angular_core.Signal<boolean>;
|
|
634
721
|
effectiveMenuVerticalMode: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode>;
|
|
635
722
|
sideMenuDrawerWidth: _angular_core.Signal<number>;
|
|
723
|
+
menuDarkEnabled: _angular_core.Signal<boolean>;
|
|
724
|
+
menuBrandEnabled: _angular_core.Signal<boolean>;
|
|
725
|
+
effectiveMainFooterFullWidth: _angular_core.Signal<boolean>;
|
|
726
|
+
headerBrandEnabled: _angular_core.Signal<boolean>;
|
|
727
|
+
headerButtonColor: _angular_core.Signal<"default" | "primary">;
|
|
728
|
+
headerButtonLook: _angular_core.Signal<"default" | "blank">;
|
|
636
729
|
changeThemeMode: (theme: _acorex_platform_framework_client_themes_shared.AXPThemeMode) => void;
|
|
637
730
|
openSideMenu: () => void;
|
|
638
731
|
closeSideMenu: () => void;
|
|
@@ -662,6 +755,9 @@ declare class AXPRootHorizontalLayoutComponent {
|
|
|
662
755
|
sideMenuCompactWidth: number;
|
|
663
756
|
menuVerticalMode: _acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode;
|
|
664
757
|
menuOrientation: _acorex_platform_framework_client_themes_shared.AXPMenuOrientation;
|
|
758
|
+
menuAppearance: _acorex_platform_framework_client_themes_shared.AXPMenuAppearance;
|
|
759
|
+
headerAppearance: _acorex_platform_framework_client_themes_shared.AXPHeaderAppearance;
|
|
760
|
+
mainFooterFullWidth: boolean;
|
|
665
761
|
isPrinting: boolean;
|
|
666
762
|
}>;
|
|
667
763
|
protected handleCollapsedChange(value: boolean): void;
|
|
@@ -690,6 +786,9 @@ declare class AXPRootLayoutComponent {
|
|
|
690
786
|
sideMenuCompactWidth: _angular_core.Signal<number>;
|
|
691
787
|
menuVerticalMode: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode>;
|
|
692
788
|
menuOrientation: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuOrientation>;
|
|
789
|
+
menuAppearance: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuAppearance>;
|
|
790
|
+
headerAppearance: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPHeaderAppearance>;
|
|
791
|
+
mainFooterFullWidth: _angular_core.Signal<boolean>;
|
|
693
792
|
isPrinting: _angular_core.Signal<boolean>;
|
|
694
793
|
isDarkMode: _angular_core.Signal<boolean>;
|
|
695
794
|
isLightMode: _angular_core.Signal<boolean>;
|
|
@@ -701,6 +800,12 @@ declare class AXPRootLayoutComponent {
|
|
|
701
800
|
isMenuHorizontal: _angular_core.Signal<boolean>;
|
|
702
801
|
effectiveMenuVerticalMode: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode>;
|
|
703
802
|
sideMenuDrawerWidth: _angular_core.Signal<number>;
|
|
803
|
+
menuDarkEnabled: _angular_core.Signal<boolean>;
|
|
804
|
+
menuBrandEnabled: _angular_core.Signal<boolean>;
|
|
805
|
+
effectiveMainFooterFullWidth: _angular_core.Signal<boolean>;
|
|
806
|
+
headerBrandEnabled: _angular_core.Signal<boolean>;
|
|
807
|
+
headerButtonColor: _angular_core.Signal<"default" | "primary">;
|
|
808
|
+
headerButtonLook: _angular_core.Signal<"default" | "blank">;
|
|
704
809
|
changeThemeMode: (theme: _acorex_platform_framework_client_themes_shared.AXPThemeMode) => void;
|
|
705
810
|
openSideMenu: () => void;
|
|
706
811
|
closeSideMenu: () => void;
|
|
@@ -730,6 +835,9 @@ declare class AXPRootLayoutComponent {
|
|
|
730
835
|
sideMenuCompactWidth: number;
|
|
731
836
|
menuVerticalMode: _acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode;
|
|
732
837
|
menuOrientation: _acorex_platform_framework_client_themes_shared.AXPMenuOrientation;
|
|
838
|
+
menuAppearance: _acorex_platform_framework_client_themes_shared.AXPMenuAppearance;
|
|
839
|
+
headerAppearance: _acorex_platform_framework_client_themes_shared.AXPHeaderAppearance;
|
|
840
|
+
mainFooterFullWidth: boolean;
|
|
733
841
|
isPrinting: boolean;
|
|
734
842
|
}>;
|
|
735
843
|
protected menuStore: {
|
|
@@ -791,6 +899,9 @@ declare class AXPRootVerticalLayoutComponent {
|
|
|
791
899
|
sideMenuCompactWidth: _angular_core.Signal<number>;
|
|
792
900
|
menuVerticalMode: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode>;
|
|
793
901
|
menuOrientation: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuOrientation>;
|
|
902
|
+
menuAppearance: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuAppearance>;
|
|
903
|
+
headerAppearance: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPHeaderAppearance>;
|
|
904
|
+
mainFooterFullWidth: _angular_core.Signal<boolean>;
|
|
794
905
|
isPrinting: _angular_core.Signal<boolean>;
|
|
795
906
|
isDarkMode: _angular_core.Signal<boolean>;
|
|
796
907
|
isLightMode: _angular_core.Signal<boolean>;
|
|
@@ -802,6 +913,12 @@ declare class AXPRootVerticalLayoutComponent {
|
|
|
802
913
|
isMenuHorizontal: _angular_core.Signal<boolean>;
|
|
803
914
|
effectiveMenuVerticalMode: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode>;
|
|
804
915
|
sideMenuDrawerWidth: _angular_core.Signal<number>;
|
|
916
|
+
menuDarkEnabled: _angular_core.Signal<boolean>;
|
|
917
|
+
menuBrandEnabled: _angular_core.Signal<boolean>;
|
|
918
|
+
effectiveMainFooterFullWidth: _angular_core.Signal<boolean>;
|
|
919
|
+
headerBrandEnabled: _angular_core.Signal<boolean>;
|
|
920
|
+
headerButtonColor: _angular_core.Signal<"default" | "primary">;
|
|
921
|
+
headerButtonLook: _angular_core.Signal<"default" | "blank">;
|
|
805
922
|
changeThemeMode: (theme: _acorex_platform_framework_client_themes_shared.AXPThemeMode) => void;
|
|
806
923
|
openSideMenu: () => void;
|
|
807
924
|
closeSideMenu: () => void;
|
|
@@ -831,12 +948,25 @@ declare class AXPRootVerticalLayoutComponent {
|
|
|
831
948
|
sideMenuCompactWidth: number;
|
|
832
949
|
menuVerticalMode: _acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode;
|
|
833
950
|
menuOrientation: _acorex_platform_framework_client_themes_shared.AXPMenuOrientation;
|
|
951
|
+
menuAppearance: _acorex_platform_framework_client_themes_shared.AXPMenuAppearance;
|
|
952
|
+
headerAppearance: _acorex_platform_framework_client_themes_shared.AXPHeaderAppearance;
|
|
953
|
+
mainFooterFullWidth: boolean;
|
|
834
954
|
isPrinting: boolean;
|
|
835
955
|
}>;
|
|
836
956
|
protected deviceService: AXPDeviceService;
|
|
837
957
|
protected router: Router;
|
|
838
958
|
/** Recreates the drawer when switching overlay ↔ push to reset internal layout sizing. */
|
|
839
959
|
protected readonly sideMenuDrawerKey: _angular_core.Signal<"overlay" | "push">;
|
|
960
|
+
/** Logo / profile divider: white on dark menus, black on light menus. */
|
|
961
|
+
protected readonly sideMenuDividerBorderClass: _angular_core.Signal<"border-white/7" | "border-black/7">;
|
|
962
|
+
/** Brand-light menu surface: primary in light app mode, primary-darkest in dark app mode. */
|
|
963
|
+
protected readonly sideMenuBrandLightSurfaceClass: _angular_core.Signal<"primary-surface" | "ax-dark primary-darkest-surface">;
|
|
964
|
+
/** Header chrome for dark / light / brand-light / brand-dark menu appearances. */
|
|
965
|
+
protected readonly sideMenuHeaderClass: _angular_core.Signal<string>;
|
|
966
|
+
/** Body chrome for dark / light / brand-light / brand-dark menu appearances. */
|
|
967
|
+
protected readonly sideMenuSurfaceClass: _angular_core.Signal<string>;
|
|
968
|
+
/** White scrollbar thumb on dark menu surfaces. */
|
|
969
|
+
protected readonly sideMenuScrollUsesLightThumb: _angular_core.Signal<boolean>;
|
|
840
970
|
constructor();
|
|
841
971
|
protected handleResizingEnded(e: AXValueChangedEvent<number>): void;
|
|
842
972
|
protected handleBackdropClick(): void;
|