@acorex-platform/module-content-management-client 0.0.21
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-module-content-management-client-contracts.mjs +583 -0
- package/fesm2022/acorex-platform-module-content-management-client-contracts.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-content-management-client-permission-definition.provider-DHowV1eO.mjs +32 -0
- package/fesm2022/acorex-platform-module-content-management-client-permission-definition.provider-DHowV1eO.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-content-management-client-template-content-editor-widget-edit.component-CApNVTfc.mjs +694 -0
- package/fesm2022/acorex-platform-module-content-management-client-template-content-editor-widget-edit.component-CApNVTfc.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-content-management-client-template-content-editor-widget-view.component-CfupUZTI.mjs +129 -0
- package/fesm2022/acorex-platform-module-content-management-client-template-content-editor-widget-view.component-CfupUZTI.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-content-management-client.mjs +415 -0
- package/fesm2022/acorex-platform-module-content-management-client.mjs.map +1 -0
- package/package.json +28 -0
- package/types/acorex-platform-module-content-management-client-contracts.d.ts +365 -0
- package/types/acorex-platform-module-content-management-client.d.ts +48 -0
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
import { AXPFileStorageInfo, AXPPlatformScopeKey, AXPMultiLanguageString, AXPCategoryListItem } from '@acorex-platform/framework-shared/core';
|
|
2
|
+
import { AXPEntityModel } from '@acorex-platform/framework-shared/entity';
|
|
3
|
+
|
|
4
|
+
declare const AXPContentManagementMenuKeys: {
|
|
5
|
+
readonly Root: "content-management:menu";
|
|
6
|
+
readonly HelpRoot: "app:help";
|
|
7
|
+
readonly Promotions: "content-management:menu:promotions";
|
|
8
|
+
readonly TextTemplates: "content-management:menu:text-templates";
|
|
9
|
+
readonly Glossary: "content-management:menu:glossary";
|
|
10
|
+
readonly HelpCenter: "app:help:center";
|
|
11
|
+
readonly Tutorials: "app:help:tutorials";
|
|
12
|
+
readonly About: "app:about";
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Content & Documents capabilities used by this module.
|
|
17
|
+
* Domain capability keys for this module. Root groups live in `AXPCommonPermissionGroupKeys` (common contracts).
|
|
18
|
+
*/
|
|
19
|
+
declare const AXPContentDocumentsPermissionKeys: {
|
|
20
|
+
readonly Access: "ContentDocuments:Permission:Access";
|
|
21
|
+
readonly MaintainDocuments: "ContentDocuments:Permission:MaintainDocuments";
|
|
22
|
+
readonly MaintainContent: "ContentDocuments:Permission:MaintainContent";
|
|
23
|
+
readonly MaintainFormTemplates: "ContentDocuments:Permission:MaintainFormTemplates";
|
|
24
|
+
readonly Setup: "ContentDocuments:Permission:Setup";
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* @deprecated Prefer {@link AXPContentDocumentsPermissionKeys}.
|
|
28
|
+
* Legacy nested shape kept so existing imports compile during migration.
|
|
29
|
+
*/
|
|
30
|
+
declare const AXMPermissionsKeys: {
|
|
31
|
+
readonly ContentManagement: {
|
|
32
|
+
readonly Management: "ContentDocuments:Permission:MaintainContent";
|
|
33
|
+
readonly Promotion: {
|
|
34
|
+
readonly Management: "ContentDocuments:Permission:MaintainContent";
|
|
35
|
+
readonly View: "ContentDocuments:Permission:MaintainContent";
|
|
36
|
+
readonly Edit: "ContentDocuments:Permission:MaintainContent";
|
|
37
|
+
readonly Delete: "ContentDocuments:Permission:MaintainContent";
|
|
38
|
+
readonly Create: "ContentDocuments:Permission:MaintainContent";
|
|
39
|
+
};
|
|
40
|
+
readonly TextTemplate: {
|
|
41
|
+
readonly Management: "ContentDocuments:Permission:MaintainContent";
|
|
42
|
+
readonly View: "ContentDocuments:Permission:MaintainContent";
|
|
43
|
+
readonly Edit: "ContentDocuments:Permission:MaintainContent";
|
|
44
|
+
readonly Delete: "ContentDocuments:Permission:MaintainContent";
|
|
45
|
+
readonly Create: "ContentDocuments:Permission:MaintainContent";
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
declare const RootConfig: {
|
|
51
|
+
readonly config: {
|
|
52
|
+
i18n: string;
|
|
53
|
+
};
|
|
54
|
+
readonly module: {
|
|
55
|
+
readonly module: "ContentManagement";
|
|
56
|
+
readonly name: "ContentManagement";
|
|
57
|
+
readonly title: `@${string}:module.title`;
|
|
58
|
+
readonly icon: "fa-light fa-file-invoice";
|
|
59
|
+
};
|
|
60
|
+
readonly entities: {
|
|
61
|
+
readonly promotion: {
|
|
62
|
+
readonly name: "Promotion";
|
|
63
|
+
readonly title: `@${string}:promotions.entities.promotion.title`;
|
|
64
|
+
readonly titlePlural: `@${string}:promotions.entities.promotion.plural`;
|
|
65
|
+
readonly icon: "fa-light fa-megaphone";
|
|
66
|
+
};
|
|
67
|
+
readonly glossary: {
|
|
68
|
+
readonly name: "Glossary";
|
|
69
|
+
readonly title: `@${string}:glossaries.entities.glossary.title`;
|
|
70
|
+
readonly titlePlural: `@${string}:glossaries.entities.glossary.plural`;
|
|
71
|
+
readonly icon: "fa-light fa-file";
|
|
72
|
+
};
|
|
73
|
+
readonly textTemplate: {
|
|
74
|
+
readonly name: "TextTemplate";
|
|
75
|
+
readonly title: `@${string}:templates.entities.text-template.title`;
|
|
76
|
+
readonly titlePlural: `@${string}:templates.entities.text-template.plural`;
|
|
77
|
+
readonly icon: "fa-light fa-envelope";
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
interface AXMPromotionEntityModel extends AXPEntityModel<string> {
|
|
83
|
+
name: string;
|
|
84
|
+
title: string;
|
|
85
|
+
body: string;
|
|
86
|
+
imageId?: string;
|
|
87
|
+
image?: AXPFileStorageInfo;
|
|
88
|
+
contentType?: AXMSelectModel;
|
|
89
|
+
shape?: AXMSelectModel;
|
|
90
|
+
placement?: AXMSelectModel;
|
|
91
|
+
}
|
|
92
|
+
interface AXMSelectModel {
|
|
93
|
+
name: string;
|
|
94
|
+
title: string;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
type AXMTextTemplateTokenFormatMeta = {
|
|
98
|
+
dataType?: string;
|
|
99
|
+
format?: string;
|
|
100
|
+
};
|
|
101
|
+
/** Calendar system for date tokens (`solar-hijri` = Jalali / Persian). */
|
|
102
|
+
type AXMTextTemplateCalendarSystem = 'gregory' | 'solar-hijri';
|
|
103
|
+
type AXMTextTemplateRegionalFormatContext = {
|
|
104
|
+
locale: string;
|
|
105
|
+
shortDate: string;
|
|
106
|
+
shortTime: string;
|
|
107
|
+
timeZone: string;
|
|
108
|
+
/** When omitted, inferred from locale (`fa-*` → solar-hijri). */
|
|
109
|
+
calendar?: AXMTextTemplateCalendarSystem | string;
|
|
110
|
+
};
|
|
111
|
+
/**
|
|
112
|
+
* Default short-date pattern when settings do not provide ShortDate.
|
|
113
|
+
* Aligns with locale-management profiles (en-US / en-AU / en-NZ / fa-IR).
|
|
114
|
+
*/
|
|
115
|
+
declare function defaultShortDatePatternForLocale(locale: string): string;
|
|
116
|
+
declare function defaultShortTimePatternForLocale(_locale: string): string;
|
|
117
|
+
/**
|
|
118
|
+
* Resolves calendar: settings value, else `solar-hijri` for `fa-*`, else Gregorian.
|
|
119
|
+
*/
|
|
120
|
+
declare function resolveTextTemplateCalendar(locale: string, calendarSetting?: string | null): AXMTextTemplateCalendarSystem;
|
|
121
|
+
/**
|
|
122
|
+
* Parses ISO / `YYYY-MM-DD` / Date-like merge values into a Date.
|
|
123
|
+
* Date-only keys are treated as UTC midnight to avoid off-by-one shifts.
|
|
124
|
+
*/
|
|
125
|
+
declare function parseTextTemplateDateValue(value: unknown): Date | null;
|
|
126
|
+
/**
|
|
127
|
+
* Formats a date with regional patterns (`DD/MM/YYYY`, `D MMMM YYYY`, `HH:mm`, …)
|
|
128
|
+
* using the active locale for month names, digits, and calendar (Jalali for fa-IR).
|
|
129
|
+
*/
|
|
130
|
+
declare function formatTextTemplateDate(value: unknown, pattern: string, timeZone?: string, locale?: string, calendar?: AXMTextTemplateCalendarSystem | string): string;
|
|
131
|
+
declare function formatTextTemplateNumber(value: unknown, locale: string, options?: {
|
|
132
|
+
style?: 'decimal' | 'integer' | 'currency' | 'percent';
|
|
133
|
+
currency?: string;
|
|
134
|
+
}): string;
|
|
135
|
+
/**
|
|
136
|
+
* Formats merge values using PlatformManagement.Token `dataType` / `format` metadata.
|
|
137
|
+
* Unknown tokens and non-typed strings are left unchanged.
|
|
138
|
+
*/
|
|
139
|
+
declare function formatTextTemplateMergeValues(merge: Record<string, string>, metaByName: Record<string, AXMTextTemplateTokenFormatMeta>, regional: AXMTextTemplateRegionalFormatContext): Record<string, string>;
|
|
140
|
+
|
|
141
|
+
/** Stored value: { email: { subject?, body }, sms: { body }, ... } */
|
|
142
|
+
interface AXMTextTemplateChannelsValue {
|
|
143
|
+
[channelName: string]: {
|
|
144
|
+
subject?: AXPMultiLanguageString;
|
|
145
|
+
body: AXPMultiLanguageString;
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
type AXMTextTemplateChannelEditorType = 'plain' | 'rich';
|
|
149
|
+
interface AXMTextTemplateChannelConfigureSettings {
|
|
150
|
+
/** Settings definition section name (e.g. `smtp-settings`). */
|
|
151
|
+
section: string;
|
|
152
|
+
/** Optional parent group when section names are not unique. */
|
|
153
|
+
group?: string;
|
|
154
|
+
scope: AXPPlatformScopeKey;
|
|
155
|
+
}
|
|
156
|
+
interface AXMTextTemplateChannelDefinition {
|
|
157
|
+
name: string;
|
|
158
|
+
title: string;
|
|
159
|
+
type: AXMTextTemplateChannelEditorType;
|
|
160
|
+
hasSubject?: boolean;
|
|
161
|
+
communicationChannelKey?: string;
|
|
162
|
+
requiredSettingKeys?: string[];
|
|
163
|
+
configureSettings?: AXMTextTemplateChannelConfigureSettings;
|
|
164
|
+
notConfiguredMessageKey?: string;
|
|
165
|
+
}
|
|
166
|
+
interface AXMTextTemplateChannelDefinitionProvider {
|
|
167
|
+
getChannels(): AXMTextTemplateChannelDefinition[];
|
|
168
|
+
}
|
|
169
|
+
/** Template kind: content (leaf message) or master (layout shell with `[content]`). */
|
|
170
|
+
declare const AXM_TEXT_TEMPLATE_KIND: {
|
|
171
|
+
readonly Content: "content";
|
|
172
|
+
readonly Master: "master";
|
|
173
|
+
};
|
|
174
|
+
type AXMTextTemplateKind = (typeof AXM_TEXT_TEMPLATE_KIND)[keyof typeof AXM_TEXT_TEMPLATE_KIND];
|
|
175
|
+
/** Print / PDF channel key on `channels` (rich body, no subject). */
|
|
176
|
+
declare const AXM_TEXT_TEMPLATE_PRINT_CHANNEL: "print";
|
|
177
|
+
/** Reserved body slot for child template body injection (not a `{{token}}` variable). */
|
|
178
|
+
declare const AXM_TEXT_TEMPLATE_CONTENT_SLOT: "[content]";
|
|
179
|
+
/** Max `parentId` chain length (leaf → … → root), including the leaf. */
|
|
180
|
+
declare const AXM_TEXT_TEMPLATE_MAX_PARENT_DEPTH = 5;
|
|
181
|
+
interface AXMTextTemplateEntityModel extends AXPEntityModel<string> {
|
|
182
|
+
title?: AXPMultiLanguageString;
|
|
183
|
+
/** `content` (default) or `master` layout template. */
|
|
184
|
+
kind?: AXMTextTemplateKind;
|
|
185
|
+
/** Optional parent master template id (multi-level nesting supported). */
|
|
186
|
+
parentId?: string | null;
|
|
187
|
+
/** Join snapshot for `parentId` lookup. */
|
|
188
|
+
parent?: {
|
|
189
|
+
id?: string;
|
|
190
|
+
title?: AXPMultiLanguageString | string;
|
|
191
|
+
} | null;
|
|
192
|
+
channels?: AXMTextTemplateChannelsValue;
|
|
193
|
+
categoryIds?: string[];
|
|
194
|
+
categories?: AXPCategoryListItem[];
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* Collects unique placeholder token names from text (`{{name}}`).
|
|
199
|
+
*/
|
|
200
|
+
declare function collectTextTemplatePlaceholderNames(text: string): string[];
|
|
201
|
+
/**
|
|
202
|
+
* Replaces `{{token}}` when `merge[token]` is defined; otherwise leaves the token unchanged.
|
|
203
|
+
*/
|
|
204
|
+
declare function replaceTextTemplatePlaceholders(text: string, merge: Record<string, string>): string;
|
|
205
|
+
/**
|
|
206
|
+
* Resolves a template channel field (plain string or per-locale map) for the active locale.
|
|
207
|
+
*/
|
|
208
|
+
declare function resolveTextTemplateLocalizedString(value: AXPMultiLanguageString | string | undefined | null, locale: string): string;
|
|
209
|
+
/**
|
|
210
|
+
* Returns true when `text` contains the reserved `[content]` slot.
|
|
211
|
+
*/
|
|
212
|
+
declare function textTemplateContainsContentSlot(text: string | null | undefined): boolean;
|
|
213
|
+
/**
|
|
214
|
+
* Injects child body into every `[content]` occurrence in a master body.
|
|
215
|
+
*/
|
|
216
|
+
declare function replaceTextTemplateContentSlot(masterBody: string, content: string): string;
|
|
217
|
+
/**
|
|
218
|
+
* Composes a body chain: leaf first, then parents toward root.
|
|
219
|
+
* Each level applies `{{token}}` merge; parents receive the child body via `[content]`.
|
|
220
|
+
*/
|
|
221
|
+
declare function composeTextTemplateBodyChain(bodiesLeafToRoot: string[], merge: Record<string, string>): string;
|
|
222
|
+
/**
|
|
223
|
+
* Master templates: every non-empty channel body locale must include `[content]`.
|
|
224
|
+
* Content templates: no channel body may include `[content]`.
|
|
225
|
+
*/
|
|
226
|
+
declare function validateTextTemplateContentSlots(input: {
|
|
227
|
+
kind: AXMTextTemplateKind | string | undefined | null;
|
|
228
|
+
channels: AXMTextTemplateChannelsValue | undefined | null;
|
|
229
|
+
}): {
|
|
230
|
+
ok: true;
|
|
231
|
+
} | {
|
|
232
|
+
ok: false;
|
|
233
|
+
error: string;
|
|
234
|
+
};
|
|
235
|
+
interface AXMTextTemplateParentChainNode {
|
|
236
|
+
id: string;
|
|
237
|
+
kind?: string | null;
|
|
238
|
+
parentId?: string | null;
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Validates parent reference and walks the parent chain for kind, cycles, and max depth.
|
|
242
|
+
* `loadParent` should return the next parent row (or null when missing).
|
|
243
|
+
*/
|
|
244
|
+
declare function validateTextTemplateParentChain(input: {
|
|
245
|
+
id?: string | null;
|
|
246
|
+
parentId?: string | null;
|
|
247
|
+
maxDepth?: number;
|
|
248
|
+
loadParent: (id: string) => Promise<AXMTextTemplateParentChainNode | null>;
|
|
249
|
+
}): Promise<{
|
|
250
|
+
ok: true;
|
|
251
|
+
} | {
|
|
252
|
+
ok: false;
|
|
253
|
+
error: string;
|
|
254
|
+
}>;
|
|
255
|
+
|
|
256
|
+
/** Server + client command key for rendering a text template channel. */
|
|
257
|
+
declare const AXM_TEXT_TEMPLATE_RENDER_COMMAND_KEY: "ContentManagement:TextTemplate:Render";
|
|
258
|
+
/**
|
|
259
|
+
* Request to render a persisted text template channel with merge values.
|
|
260
|
+
* Walks optional `parentId` masters and injects child body into `[content]`.
|
|
261
|
+
*/
|
|
262
|
+
interface AXMTextTemplateRenderRequest {
|
|
263
|
+
textTemplateId: string;
|
|
264
|
+
/**
|
|
265
|
+
* When set, `textTemplateId` may be a canonical seed id; the render engine
|
|
266
|
+
* remaps it with tenantMasterId(`content`, tenantId, id) for the tenant copy.
|
|
267
|
+
* Also used for settings cascade (tenant Language / ShortDate / …).
|
|
268
|
+
*/
|
|
269
|
+
tenantId?: string;
|
|
270
|
+
/**
|
|
271
|
+
* Optional recipient / actor user id. When set, User Language and regional
|
|
272
|
+
* patterns are preferred over tenant/platform settings.
|
|
273
|
+
*/
|
|
274
|
+
userId?: string;
|
|
275
|
+
/** Channel key on `channels`, e.g. `email`, `sms`. Defaults to `email`. */
|
|
276
|
+
channel?: string;
|
|
277
|
+
/**
|
|
278
|
+
* Explicit locale override for MLS subject/body and number formatting.
|
|
279
|
+
* When omitted, resolved from settings: User Language → Tenant Language →
|
|
280
|
+
* Platform Language → `en-US`.
|
|
281
|
+
*/
|
|
282
|
+
locale?: string;
|
|
283
|
+
/**
|
|
284
|
+
* Event/domain values merged into `{{name}}` placeholders (e.g. `employeeName`, `documentTitle`).
|
|
285
|
+
* Prefer raw ISO dates and numeric strings — the render engine formats typed tokens
|
|
286
|
+
* (`DateTime`, `Integer`, `Decimal`, Currency/Percent) using regional settings.
|
|
287
|
+
* Context tokens used by shared masters (`companyName`, `companyEmail`, …) are filled by the
|
|
288
|
+
* render engine via PlatformManagement.Tokens when missing — do not re-supply them per caller.
|
|
289
|
+
*/
|
|
290
|
+
merge?: Record<string, string>;
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Rendered subject/body for one channel after placeholder replacement and parent composition.
|
|
294
|
+
*/
|
|
295
|
+
interface AXMTextTemplateRenderResult {
|
|
296
|
+
textTemplateId: string;
|
|
297
|
+
channel: string;
|
|
298
|
+
subject?: string;
|
|
299
|
+
body: string;
|
|
300
|
+
}
|
|
301
|
+
/** Server command key for previewing unsaved draft text template content. */
|
|
302
|
+
declare const AXM_TEXT_TEMPLATE_PREVIEW_COMMAND_KEY: "ContentManagement:TextTemplate:Preview";
|
|
303
|
+
/**
|
|
304
|
+
* Request to preview draft channel content with optional parent masters.
|
|
305
|
+
* Uses the same composition / Context token fill as render, then fills Event samples.
|
|
306
|
+
*/
|
|
307
|
+
interface AXMTextTemplatePreviewRequest {
|
|
308
|
+
/** Draft channel map from the editor (not persisted). */
|
|
309
|
+
channels: AXMTextTemplateChannelsValue;
|
|
310
|
+
/** Optional persisted master parent id to walk for `[content]` shells. */
|
|
311
|
+
parentId?: string | null;
|
|
312
|
+
/** Template kind from the host form (`content` | `master`). Informational. */
|
|
313
|
+
kind?: string;
|
|
314
|
+
/** Channel key on `channels`, e.g. `email`, `sms`. Defaults to `email`. */
|
|
315
|
+
channel?: string;
|
|
316
|
+
/**
|
|
317
|
+
* Locale for MLS fields and number formatting. Defaults to active UI language on the client,
|
|
318
|
+
* or `en-US` when omitted on the server.
|
|
319
|
+
*/
|
|
320
|
+
locale?: string;
|
|
321
|
+
/** Optional merge overrides (applied before Context resolve and Event samples). */
|
|
322
|
+
merge?: Record<string, string>;
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Preview subject/body for one channel after placeholder replacement and parent composition.
|
|
326
|
+
*/
|
|
327
|
+
interface AXMTextTemplatePreviewResult {
|
|
328
|
+
channel: string;
|
|
329
|
+
subject?: string;
|
|
330
|
+
body: string;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
/**
|
|
334
|
+
* Namespace for {@link tenantMasterId} when cloning text templates per tenant
|
|
335
|
+
* (`packs` SetupTenant → `content-management.common-setup`).
|
|
336
|
+
*/
|
|
337
|
+
declare const AXM_TEXT_TEMPLATE_TENANT_MASTER_NAMESPACE: "content";
|
|
338
|
+
/**
|
|
339
|
+
* Canonical ContentManagement.TextTemplate ids used as SetupTenant clone keys
|
|
340
|
+
* and runtime lookups (resolve via tenantMasterId + tenantId).
|
|
341
|
+
* Keep aligned with packs `text-template.mock.ids.ts`.
|
|
342
|
+
*
|
|
343
|
+
* Prefix `c71000` — same as `mockStableUuid('c71000', seq)`.
|
|
344
|
+
*/
|
|
345
|
+
declare const AXM_TEXT_TEMPLATE_IDS: {
|
|
346
|
+
readonly emailCompanyMaster: "c7100001-0001-4111-b111-010101010101";
|
|
347
|
+
readonly passwordReset: "c7100002-0001-4111-b111-020202020202";
|
|
348
|
+
readonly emailVerification: "c7100003-0001-4111-b111-030303030303";
|
|
349
|
+
readonly passwordChanged: "c7100004-0001-4111-b111-040404040404";
|
|
350
|
+
readonly ticketReceived: "c7100005-0001-4111-b111-050505050505";
|
|
351
|
+
readonly ticketResolved: "c7100006-0001-4111-b111-060606060606";
|
|
352
|
+
readonly employeeHappyBirthday: "c7100007-0001-4111-b111-070707070707";
|
|
353
|
+
readonly employeeJoiningCompany: "c7100008-0001-4111-b111-080808080808";
|
|
354
|
+
/** Document expired — daily notifier (email + in-app). */
|
|
355
|
+
readonly documentExpired: "c7100009-0001-4111-b111-090909090909";
|
|
356
|
+
/** Document near expiry — daily notifier (email + in-app). */
|
|
357
|
+
readonly documentNearExpiry: "c710000a-0001-4111-b111-0a0a0a0a0a0a";
|
|
358
|
+
/** Company print master — header, border, footer around `[content]`. */
|
|
359
|
+
readonly printCompanyMaster: "c710000b-0001-4111-b111-0b0b0b0b0b0b";
|
|
360
|
+
/** Default questionnaire print child (title, date, `{{sessionBody}}`). */
|
|
361
|
+
readonly questionnairePrint: "c710000c-0001-4111-b111-0c0c0c0c0c0c";
|
|
362
|
+
};
|
|
363
|
+
|
|
364
|
+
export { AXMPermissionsKeys, AXM_TEXT_TEMPLATE_CONTENT_SLOT, AXM_TEXT_TEMPLATE_IDS, AXM_TEXT_TEMPLATE_KIND, AXM_TEXT_TEMPLATE_MAX_PARENT_DEPTH, AXM_TEXT_TEMPLATE_PREVIEW_COMMAND_KEY, AXM_TEXT_TEMPLATE_PRINT_CHANNEL, AXM_TEXT_TEMPLATE_RENDER_COMMAND_KEY, AXM_TEXT_TEMPLATE_TENANT_MASTER_NAMESPACE, AXPContentDocumentsPermissionKeys, AXPContentManagementMenuKeys, RootConfig, collectTextTemplatePlaceholderNames, composeTextTemplateBodyChain, defaultShortDatePatternForLocale, defaultShortTimePatternForLocale, formatTextTemplateDate, formatTextTemplateMergeValues, formatTextTemplateNumber, parseTextTemplateDateValue, replaceTextTemplateContentSlot, replaceTextTemplatePlaceholders, resolveTextTemplateCalendar, resolveTextTemplateLocalizedString, textTemplateContainsContentSlot, validateTextTemplateContentSlots, validateTextTemplateParentChain };
|
|
365
|
+
export type { AXMPromotionEntityModel, AXMSelectModel, AXMTextTemplateCalendarSystem, AXMTextTemplateChannelConfigureSettings, AXMTextTemplateChannelDefinition, AXMTextTemplateChannelDefinitionProvider, AXMTextTemplateChannelEditorType, AXMTextTemplateChannelsValue, AXMTextTemplateEntityModel, AXMTextTemplateKind, AXMTextTemplateParentChainNode, AXMTextTemplatePreviewRequest, AXMTextTemplatePreviewResult, AXMTextTemplateRegionalFormatContext, AXMTextTemplateRenderRequest, AXMTextTemplateRenderResult, AXMTextTemplateTokenFormatMeta };
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { OnInit, WritableSignal, InjectionToken } from '@angular/core';
|
|
3
|
+
import * as i1 from '@acorex-platform/framework-client/layout/widget-core';
|
|
4
|
+
import * as i2 from '@acorex-platform/framework-client/core';
|
|
5
|
+
import { AXMPromotionEntityModel, AXMTextTemplateChannelDefinitionProvider } from '@acorex-platform/module-content-management-client/contracts';
|
|
6
|
+
export { AXMTextTemplateEntityModel, AXMTextTemplateKind, AXMTextTemplateParentChainNode, AXM_TEXT_TEMPLATE_CONTENT_SLOT, AXM_TEXT_TEMPLATE_KIND, AXM_TEXT_TEMPLATE_MAX_PARENT_DEPTH, AXM_TEXT_TEMPLATE_PREVIEW_COMMAND_KEY, AXM_TEXT_TEMPLATE_RENDER_COMMAND_KEY, collectTextTemplatePlaceholderNames, composeTextTemplateBodyChain, replaceTextTemplateContentSlot, replaceTextTemplatePlaceholders, resolveTextTemplateLocalizedString, textTemplateContainsContentSlot, validateTextTemplateContentSlots, validateTextTemplateParentChain } from '@acorex-platform/module-content-management-client/contracts';
|
|
7
|
+
import { AXPMenuProvider, AXPMenuProviderContext, AXPSearchCommandProvider, AXPSearchResult, AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex-platform/framework-client/common';
|
|
8
|
+
import * as _acorex_platform_framework_client_layout_entity from '@acorex-platform/framework-client/layout/entity';
|
|
9
|
+
|
|
10
|
+
declare class AXMContentManagementModule {
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXMContentManagementModule, never>;
|
|
12
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXMContentManagementModule, never, [typeof i1.AXPWidgetCoreModule, typeof i2.AXPComponentSlotModule], never>;
|
|
13
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AXMContentManagementModule>;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/** Registry / remote key for Nest `ContentManagement:TextTemplate:Render`. */
|
|
17
|
+
declare const AXC_TEXT_TEMPLATE_RENDER_COMMAND_KEY: "ContentManagement:TextTemplate:Render";
|
|
18
|
+
|
|
19
|
+
declare class AXMMenuProvider implements AXPMenuProvider {
|
|
20
|
+
private entityService;
|
|
21
|
+
provide(context: AXPMenuProviderContext): Promise<void>;
|
|
22
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXMMenuProvider, never>;
|
|
23
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXMMenuProvider>;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
declare class AXMSearchCommandProvider extends AXPSearchCommandProvider {
|
|
27
|
+
commands: AXPSearchResult[];
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
declare class AXMSettingProvider implements AXPSettingDefinitionProvider {
|
|
31
|
+
provide(context: AXPSettingDefinitionProviderContext): Promise<void>;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
declare class AXMPromotionSlotComponent implements OnInit {
|
|
35
|
+
private readonly entityService;
|
|
36
|
+
location: string;
|
|
37
|
+
notificationChannelService: _acorex_platform_framework_client_layout_entity.EntityDataAccessor<any, any, any, Omit<any, "id">, any>;
|
|
38
|
+
listData: WritableSignal<AXMPromotionEntityModel[]>;
|
|
39
|
+
private fileStorage;
|
|
40
|
+
ngOnInit(): Promise<void>;
|
|
41
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXMPromotionSlotComponent, never>;
|
|
42
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AXMPromotionSlotComponent, "acorex-platform-promotion-slot", never, {}, {}, never, never, true, never>;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/** Multi-provider token – all providers are merged for available channels */
|
|
46
|
+
declare const AXP_TEXT_TEMPLATE_CHANNEL_DEFINITION_PROVIDER: InjectionToken<AXMTextTemplateChannelDefinitionProvider>;
|
|
47
|
+
|
|
48
|
+
export { AXC_TEXT_TEMPLATE_RENDER_COMMAND_KEY, AXMContentManagementModule, AXMMenuProvider, AXMPromotionSlotComponent, AXMSearchCommandProvider, AXMSettingProvider, AXP_TEXT_TEMPLATE_CHANNEL_DEFINITION_PROVIDER };
|