@acorex-platform/module-content-management-client 0.0.54 → 0.0.57
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-template-content-editor-widget-edit.component-CphFsFSd.mjs → acorex-platform-module-content-management-client-template-content-editor-widget-edit.component-h5ING7pF.mjs} +44 -49
- package/fesm2022/acorex-platform-module-content-management-client-template-content-editor-widget-edit.component-h5ING7pF.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-content-management-client.mjs +3 -3
- package/fesm2022/acorex-platform-module-content-management-client.mjs.map +1 -1
- package/i18n/en-AU/content-management.json +284 -0
- package/i18n/en-US/content-management.json +284 -0
- package/i18n/fa-IR/content-management.json +284 -0
- package/package.json +1 -1
- package/fesm2022/acorex-platform-module-content-management-client-template-content-editor-widget-edit.component-CphFsFSd.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-content-management-client.mjs","sources":["../../../../libs/modules/content-management/client/src/lib/features/template-content-editor/channel-definition.provider.ts","../../../../libs/modules/content-management/client/src/lib/features/template-content-editor/print-text-template-channel-definition.provider.ts","../../../../libs/modules/content-management/client/src/lib/features/template-content-editor/template-content-editor-widget.config.ts","../../../../libs/modules/content-management/client/src/lib/features/template-content-editor/text-template-placeholder.util.ts","../../../../libs/modules/content-management/client/src/lib/widget-definition.provider.ts","../../../../libs/modules/content-management/client/src/lib/text-template-engine.tokens.ts","../../../../libs/modules/content-management/client/src/lib/features/promotion/components/promotion-slot/promotion-slot.component.ts","../../../../libs/modules/content-management/client/src/lib/features/promotion/components/promotion-slot/promotion-slot.component.html","../../../../libs/modules/content-management/client/src/lib/content-management.module.ts","../../../../libs/modules/content-management/client/src/lib/text-template-render.command.key.ts","../../../../libs/modules/content-management/client/src/lib/features/text-template-render/text-template-render.types.ts","../../../../libs/modules/content-management/client/src/lib/menu.provider.ts","../../../../libs/modules/content-management/client/src/lib/search-command.provider.ts","../../../../libs/modules/content-management/client/src/lib/setting.provider.ts","../../../../libs/modules/content-management/client/src/acorex-platform-module-content-management-client.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport type { AXMTextTemplateChannelDefinitionProvider } from '@acorex-platform/module-content-management-client/contracts';\n\n//#region ---- Token ----\n\n/** Multi-provider token – all providers are merged for available channels */\nexport const AXP_TEXT_TEMPLATE_CHANNEL_DEFINITION_PROVIDER = new InjectionToken<\n AXMTextTemplateChannelDefinitionProvider\n>('AXP_TEXT_TEMPLATE_CHANNEL_DEFINITION_PROVIDER');\n\n//#endregion\n","import { Injectable } from '@angular/core';\nimport {\n AXM_TEXT_TEMPLATE_PRINT_CHANNEL,\n RootConfig,\n type AXMTextTemplateChannelDefinition,\n type AXMTextTemplateChannelDefinitionProvider,\n} from '@acorex-platform/module-content-management-client/contracts';\nimport { AXP_TEXT_TEMPLATE_CHANNEL_DEFINITION_PROVIDER } from './channel-definition.provider';\n\nconst I18N = `@${RootConfig.config.i18n}:templates.channels`;\n\n//#region ---- Print text template channel ----\n\n@Injectable()\nexport class AXMPrintTextTemplateChannelDefinitionProvider\n implements AXMTextTemplateChannelDefinitionProvider\n{\n getChannels(): AXMTextTemplateChannelDefinition[] {\n return [\n {\n name: AXM_TEXT_TEMPLATE_PRINT_CHANNEL,\n title: `${I18N}.print`,\n type: 'rich',\n hasSubject: false,\n },\n ];\n }\n}\n\n//#endregion\n\nexport const printTextTemplateChannelProvider = {\n provide: AXP_TEXT_TEMPLATE_CHANNEL_DEFINITION_PROVIDER,\n useClass: AXMPrintTextTemplateChannelDefinitionProvider,\n multi: true,\n};\n","import { AXPWidgetConfig } from '@acorex-platform/framework-shared/widget-core';\nimport { AXP_WIDGETS_EDITOR_CATEGORY } from '@acorex-platform/framework-client/layout/widget-core';\nimport {\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n} from '@acorex-platform/framework-client/layout/widgets';\n\nexport const AXMTemplateContentEditorWidget: AXPWidgetConfig = {\n name: 'template-content-editor',\n title: 'Template Content',\n icon: 'fa-light fa-envelope',\n description: 'Multi-channel template editor with tabs (Email, SMS, WhatsApp, etc.)',\n categories: AXP_WIDGETS_EDITOR_CATEGORY,\n type: 'editor',\n defaultFilterWidgetName: 'string-filter',\n properties: [AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY],\n components: {\n view: {\n component: () =>\n import('./template-content-editor-widget-view.component').then(\n (c) => c.AXMTemplateContentEditorWidgetViewComponent\n ),\n },\n edit: {\n component: () =>\n import('./template-content-editor-widget-edit.component').then(\n (c) => c.AXMTemplateContentEditorWidgetEditComponent\n ),\n },\n },\n};\n","/** Re-export shared text-template placeholder / compose helpers from contracts. */\nexport {\n AXM_TEXT_TEMPLATE_CONTENT_SLOT,\n AXM_TEXT_TEMPLATE_KIND,\n AXM_TEXT_TEMPLATE_MAX_PARENT_DEPTH,\n collectTextTemplatePlaceholderNames,\n composeTextTemplateBodyChain,\n renderTextTemplateSource,\n replaceTextTemplateContentSlot,\n replaceTextTemplatePlaceholders,\n resolveTextTemplateLocalizedString,\n textTemplateContainsContentSlot,\n validateTextTemplateContentSlots,\n validateTextTemplateParentChain,\n type AXMTextTemplateEntityModel,\n type AXMTextTemplateKind,\n type AXMTextTemplateParentChainNode,\n} from '@acorex-platform/module-content-management-client/contracts';\n","//#region ---- Imports ----\n\nimport { AXPWidgetDefinitionProvider } from '@acorex-platform/framework-client/layout/widget-core';\nimport { Injectable } from '@angular/core';\nimport { AXMTemplateContentEditorWidget } from './features/template-content-editor';\n\n//#endregion\n\n//#region ---- Content Management Widgets Provider ----\n\n@Injectable()\nexport class AXMContentManagementWidgetsProvider implements AXPWidgetDefinitionProvider {\n getWidgets() {\n return [AXMTemplateContentEditorWidget];\n }\n}\n\n//#endregion\n","import { InjectionToken, inject } from '@angular/core';\nimport {\n createBuiltinBlockRegistry,\n createBuiltinPipeRegistry,\n createTextTemplateEngine,\n type ContentBlockDefinition,\n type ContentPipe,\n type TextTemplateEngine,\n} from '@acorex-platform/framework-shared/text-template';\nimport type { AXPRegistry } from '@acorex-platform/framework-shared/core';\n\n//#region ----- Angular tokens -----\n\nexport const AXC_TEXT_TEMPLATE_BLOCK_REGISTRY = new InjectionToken<AXPRegistry<ContentBlockDefinition>>(\n 'AXC_TEXT_TEMPLATE_BLOCK_REGISTRY',\n { factory: createBuiltinBlockRegistry },\n);\n\nexport const AXC_TEXT_TEMPLATE_PIPE_REGISTRY = new InjectionToken<AXPRegistry<ContentPipe>>(\n 'AXC_TEXT_TEMPLATE_PIPE_REGISTRY',\n { factory: createBuiltinPipeRegistry },\n);\n\nexport const AXC_TEXT_TEMPLATE_ENGINE = new InjectionToken<TextTemplateEngine>(\n 'AXC_TEXT_TEMPLATE_ENGINE',\n {\n factory: () =>\n createTextTemplateEngine({\n blocks: inject(AXC_TEXT_TEMPLATE_BLOCK_REGISTRY),\n pipes: inject(AXC_TEXT_TEMPLATE_PIPE_REGISTRY),\n }),\n },\n);\n\nexport const textTemplateEngineProviders = [\n { provide: AXC_TEXT_TEMPLATE_BLOCK_REGISTRY, useFactory: createBuiltinBlockRegistry },\n { provide: AXC_TEXT_TEMPLATE_PIPE_REGISTRY, useFactory: createBuiltinPipeRegistry },\n {\n provide: AXC_TEXT_TEMPLATE_ENGINE,\n useFactory: (\n blocks: AXPRegistry<ContentBlockDefinition>,\n pipes: AXPRegistry<ContentPipe>,\n ) => createTextTemplateEngine({ blocks, pipes }),\n deps: [AXC_TEXT_TEMPLATE_BLOCK_REGISTRY, AXC_TEXT_TEMPLATE_PIPE_REGISTRY],\n },\n];\n\n//#endregion\n","import { RootConfig } from '@acorex-platform/module-content-management-client/contracts';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXSafePipe } from '@acorex/core/pipes';\nimport { AXPFileStorageService } from '@acorex-platform/framework-client/common';\nimport { Component, inject, OnInit, signal, WritableSignal, ChangeDetectionStrategy } from '@angular/core';\nimport { AXMPromotionEntityModel } from '@acorex-platform/module-content-management-client/contracts';\n@Component({\n selector: 'acorex-platform-promotion-slot',\n imports: [AXSafePipe],\n changeDetection: ChangeDetectionStrategy.Eager,\n templateUrl: './promotion-slot.component.html',\n})\nexport class AXMPromotionSlotComponent implements OnInit {\n private readonly entityService = inject(AXPEntityService);\n location: string;\n\n notificationChannelService = this.entityService.withEntity(RootConfig.module.name, RootConfig.entities.promotion.name).data<any, any>();\n\n listData: WritableSignal<AXMPromotionEntityModel[]> = signal([]);\n\n private fileStorage = inject(AXPFileStorageService);\n\n async ngOnInit(): Promise<void> {\n const channels = await this.notificationChannelService.query({\n skip: 0,\n take: 10000,\n // filter: {\n // field: 'type',\n // operator: { type: 'equal' },\n // value: 'promotion',\n // },\n });\n\n const filteredItems = channels.items.filter((x) => x.placement?.name == this.location);\n\n const mappedItems = await Promise.all(\n filteredItems.map(async (item) => {\n if (item.imageId != null) {\n const image = await this.fileStorage.getInfo(item.imageId);\n\n return {\n ...item,\n image: image,\n };\n } else {\n return item;\n }\n })\n );\n\n this.listData.set(mappedItems);\n }\n} ","@for (item of listData(); track item.id) { @if (item.contentType?.name == 'media') {\n<img [src]=\"item.image?.url ?? ''\" class=\"w-full p-3 border {{\n item.shape?.name == 'circle' ? 'rounded-full' : 'rounded-none'\n }}\" />\n} @if(item.contentType?.name == 'text'){\n<div class=\"m-1 px-6 p-4 border bg-primary rounded-lg\">\n <h1 class=\"text-base/6\" [innerHTML]=\"item.body | safe : 'html'\"></h1>\n</div>\n\n} } ","import { NgModule } from '@angular/core';\nimport { AXPComponentSlotModule } from '@acorex-platform/framework-client/core';\nimport { provideLazyProvider } from '@acorex-platform/framework-client/core';\nimport { AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER } from '@acorex-platform/framework-client/common';\nimport { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/auth';\nimport { AXP_WIDGET_DEFINITION_PROVIDER, AXPWidgetCoreModule } from '@acorex-platform/framework-client/layout/widget-core';\nimport { AXMContentManagementWidgetsProvider } from './widget-definition.provider';\nimport { printTextTemplateChannelProvider } from './features/template-content-editor/print-text-template-channel-definition.provider';\nimport { textTemplateEngineProviders } from './text-template-engine.tokens';\n\n// Import promotion-related components\nimport { AXMPromotionSlotComponent } from './features/promotion/components/promotion-slot/promotion-slot.component';\n\n@NgModule({\n imports: [\n AXPWidgetCoreModule,\n AXPComponentSlotModule.forChild({\n 'side-menu-footer': [\n {\n name: 'side-menu-footer-promotion',\n component: AXMPromotionSlotComponent,\n options: {\n location: 'side-menu-footer',\n },\n },\n ],\n 'side-menu-header': [\n {\n name: 'side-menu-header-promotion',\n component: AXMPromotionSlotComponent,\n priority: 2,\n options: {\n location: 'side-menu-header',\n },\n },\n ],\n }),\n ],\n exports: [],\n declarations: [],\n providers: [\n provideLazyProvider(\n AXP_PERMISSION_DEFINITION_PROVIDER,\n () => import('./permission-definition.provider').then((m) => m.AXMPermissionDefinitionProvider),\n ),\n provideLazyProvider(AXP_MENU_PROVIDER, () => import('./menu.provider').then((m) => m.AXMMenuProvider)),\n \n provideLazyProvider(\n AXP_SETTING_DEFINITION_PROVIDER,\n () => import('./setting.provider').then((m) => m.AXMSettingProvider),\n ),\n provideLazyProvider(\n AXP_SEARCH_PROVIDER,\n () => import('./search-command.provider').then((m) => m.AXMSearchCommandProvider),\n ),\n {\n provide: AXP_WIDGET_DEFINITION_PROVIDER,\n useClass: AXMContentManagementWidgetsProvider,\n multi: true,\n },\n printTextTemplateChannelProvider,\n ...textTemplateEngineProviders,\n ],\n})\nexport class AXMContentManagementModule {}\n","import { AXM_TEXT_TEMPLATE_RENDER_COMMAND_KEY } from '@acorex-platform/module-content-management-client/contracts';\n\n/** Registry / remote key for Nest `ContentManagement:TextTemplate:Render`. */\nexport const AXC_TEXT_TEMPLATE_RENDER_COMMAND_KEY = AXM_TEXT_TEMPLATE_RENDER_COMMAND_KEY;\n","import {\n AXM_TEXT_TEMPLATE_PREVIEW_COMMAND_KEY,\n AXM_TEXT_TEMPLATE_RENDER_COMMAND_KEY,\n type AXMTextTemplatePreviewRequest,\n type AXMTextTemplatePreviewResult,\n type AXMTextTemplateRenderRequest,\n type AXMTextTemplateRenderResult,\n} from '@acorex-platform/module-content-management-client/contracts';\n\n//#region ----- Types -----\n\n/** @deprecated Prefer {@link AXM_TEXT_TEMPLATE_RENDER_COMMAND_KEY}. */\nexport const AXC_TEXT_TEMPLATE_RENDER_COMMAND_KEY = AXM_TEXT_TEMPLATE_RENDER_COMMAND_KEY;\n\n/** @deprecated Prefer {@link AXMTextTemplateRenderRequest}. */\nexport type AXPTextTemplateRenderRequest = AXMTextTemplateRenderRequest;\n\n/** @deprecated Prefer {@link AXMTextTemplateRenderResult}. */\nexport type AXPTextTemplateRenderResult = AXMTextTemplateRenderResult;\n\nexport {\n AXM_TEXT_TEMPLATE_PREVIEW_COMMAND_KEY,\n AXM_TEXT_TEMPLATE_RENDER_COMMAND_KEY,\n type AXMTextTemplatePreviewRequest,\n type AXMTextTemplatePreviewResult,\n type AXMTextTemplateRenderRequest,\n type AXMTextTemplateRenderResult,\n};\n\n//#endregion\n","import { AXPCommonMenuKeys } from '@acorex-platform/module-common-client/contracts';\nimport { AXPMenuProvider, AXPMenuProviderContext } from '@acorex-platform/framework-client/common';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { Injectable, inject } from '@angular/core';\nimport { RootConfig } from '@acorex-platform/module-content-management-client/contracts';\nimport { AXPContentDocumentsPermissionKeys } from '@acorex-platform/module-content-management-client/contracts';\nimport { AXPContentManagementMenuKeys } from '@acorex-platform/module-content-management-client/contracts';\n\n@Injectable()\nexport class AXMMenuProvider implements AXPMenuProvider {\n private entityService = inject(AXPEntityService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const scope = RootConfig.config.i18n;\n const module = RootConfig.module;\n\n //#region ---- Administration > Content (Promotions, Page Builder) ----\n\n const contentMenu = context.find(AXPCommonMenuKeys.Content);\n if (!contentMenu.exists) {\n context.find(AXPCommonMenuKeys.Administration).addItems([\n {\n name: AXPCommonMenuKeys.Content,\n priority: 10,\n text: '@general:menus.content.title',\n icon: 'fa-light fa-paint-brush',\n type: 'menu',\n children: [],\n },\n ]);\n }\n\n context.find(AXPCommonMenuKeys.Content).addItems([\n {\n name: AXPContentManagementMenuKeys.Promotions,\n text: RootConfig.entities.promotion.titlePlural,\n path: this.entityService.createPath(module.name, RootConfig.entities.promotion.name),\n icon: RootConfig.entities.promotion.icon,\n priority: 1,\n policy: {\n features: [module.name],\n permissions: [AXPContentDocumentsPermissionKeys.MaintainContent],\n },\n },\n ]);\n\n // Text Template under Configuration > Data and Content\n context.find(AXPCommonMenuKeys.DataAndContent).addItems([\n {\n name: AXPContentManagementMenuKeys.TextTemplates,\n text: RootConfig.entities.textTemplate.title,\n path: this.entityService.createPath(module.name, RootConfig.entities.textTemplate.name),\n icon: RootConfig.entities.textTemplate.icon,\n priority: 2,\n policy: {\n features: [module.name],\n permissions: [AXPContentDocumentsPermissionKeys.MaintainContent],\n },\n },\n ]);\n\n //#endregion\n\n //#region ---- Help Menu Extensions ----\n\n context.addItems([\n {\n name: AXPContentManagementMenuKeys.HelpRoot,\n priority: 900000,\n text: `@${scope}:help-center.menus.help.title`,\n icon: 'fa-light fa-circle-question',\n },\n ]);\n\n const helpMenu = context.find(AXPContentManagementMenuKeys.HelpRoot);\n\n if (helpMenu.exists) {\n helpMenu.addItems([\n {\n name: AXPContentManagementMenuKeys.HelpCenter,\n text: `@${scope}:help-center.menus.help-center.title`,\n icon: 'fa-light fa-book-open',\n priority: 900001,\n },\n {\n name: AXPContentManagementMenuKeys.Tutorials,\n text: `@${scope}:help-center.menus.tutorials.title`,\n icon: 'fa-light fa-clapperboard-play',\n priority: 900002,\n },\n {\n name: AXPContentManagementMenuKeys.About,\n text: `@${scope}:help-center.menus.about.title`,\n icon: 'fa-light fa-circle-info',\n priority: 900011,\n },\n ]);\n }\n\n //#endregion\n }\n}\n","import { AXPSearchCommandProvider, AXPSearchResult, createEntityCommandOptions } from '@acorex-platform/framework-client/common';\nimport { RootConfig } from '@acorex-platform/module-content-management-client/contracts';\n\nexport class AXMSearchCommandProvider extends AXPSearchCommandProvider {\n commands: AXPSearchResult[] = [\n {\n id: 'create-promotion',\n group: 'command',\n title: RootConfig.entities.promotion.title,\n icon: RootConfig.entities.promotion.icon,\n description: RootConfig.entities.promotion.titlePlural,\n command: {\n name: 'Entity:Create',\n options: createEntityCommandOptions(\n `${RootConfig.module.name}.${RootConfig.entities.promotion.name}`,\n {\n name: RootConfig.entities.promotion.name,\n module: RootConfig.module.name,\n title: RootConfig.entities.promotion.title,\n }\n ),\n },\n },\n {\n id: 'create-text-template',\n group: 'command',\n title: `@content-management:templates.search.create-text-template.title`,\n icon: RootConfig.entities.textTemplate.icon,\n description: `@content-management:templates.search.create-text-template.description`,\n command: {\n name: 'Entity:Create',\n options: createEntityCommandOptions(\n `${RootConfig.module.name}.${RootConfig.entities.textTemplate.name}`,\n {\n name: RootConfig.entities.textTemplate.name,\n module: RootConfig.module.name,\n title: RootConfig.entities.textTemplate.title,\n }\n ),\n },\n },\n ];\n}\n","import { AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex-platform/framework-client/common';\n\nexport class AXMSettingProvider implements AXPSettingDefinitionProvider {\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n // context\n // // Add Form Template Group\n // .addGroup('form-template', 'Form Template', 'Settings related to form templates.', RootConfig.module.icon)\n // // Start Interface Section\n // .addSection('interface', 'UI Interface', 'Customize the user interface for forms.')\n // .addSetting({\n // key: 'history-panel',\n // title: 'Show History Panel',\n // scope: 'U',\n // isInherited: true,\n // defaultValue: false,\n // widget: {\n // type: AXPWidgetsCatalog.toggle,\n // },\n // description: 'Enable or disable the history panel for forms.',\n // validationRules: [\n // {\n // rule: 'required',\n // },\n // ],\n // })\n // .endSection()\n // .endGroup();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["AXC_TEXT_TEMPLATE_RENDER_COMMAND_KEY"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-content-management-client.mjs","sources":["../../../../libs/modules/content-management/client/src/lib/features/template-content-editor/channel-definition.provider.ts","../../../../libs/modules/content-management/client/src/lib/features/template-content-editor/print-text-template-channel-definition.provider.ts","../../../../libs/modules/content-management/client/src/lib/features/template-content-editor/template-content-editor-widget.config.ts","../../../../libs/modules/content-management/client/src/lib/features/template-content-editor/text-template-placeholder.util.ts","../../../../libs/modules/content-management/client/src/lib/widget-definition.provider.ts","../../../../libs/modules/content-management/client/src/lib/text-template-engine.tokens.ts","../../../../libs/modules/content-management/client/src/lib/features/promotion/components/promotion-slot/promotion-slot.component.ts","../../../../libs/modules/content-management/client/src/lib/features/promotion/components/promotion-slot/promotion-slot.component.html","../../../../libs/modules/content-management/client/src/lib/content-management.module.ts","../../../../libs/modules/content-management/client/src/lib/text-template-render.command.key.ts","../../../../libs/modules/content-management/client/src/lib/features/text-template-render/text-template-render.types.ts","../../../../libs/modules/content-management/client/src/lib/menu.provider.ts","../../../../libs/modules/content-management/client/src/lib/search-command.provider.ts","../../../../libs/modules/content-management/client/src/lib/setting.provider.ts","../../../../libs/modules/content-management/client/src/acorex-platform-module-content-management-client.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport type { AXMTextTemplateChannelDefinitionProvider } from '@acorex-platform/module-content-management-client/contracts';\n\n//#region ---- Token ----\n\n/** Multi-provider token – all providers are merged for available channels */\nexport const AXP_TEXT_TEMPLATE_CHANNEL_DEFINITION_PROVIDER = new InjectionToken<\n AXMTextTemplateChannelDefinitionProvider\n>('AXP_TEXT_TEMPLATE_CHANNEL_DEFINITION_PROVIDER');\n\n//#endregion\n","import { Injectable } from '@angular/core';\nimport {\n AXM_TEXT_TEMPLATE_PRINT_CHANNEL,\n RootConfig,\n type AXMTextTemplateChannelDefinition,\n type AXMTextTemplateChannelDefinitionProvider,\n} from '@acorex-platform/module-content-management-client/contracts';\nimport { AXP_TEXT_TEMPLATE_CHANNEL_DEFINITION_PROVIDER } from './channel-definition.provider';\n\nconst I18N = `@${RootConfig.config.i18n}:templates.channels`;\n\n//#region ---- Print text template channel ----\n\n@Injectable()\nexport class AXMPrintTextTemplateChannelDefinitionProvider\n implements AXMTextTemplateChannelDefinitionProvider\n{\n getChannels(): AXMTextTemplateChannelDefinition[] {\n return [\n {\n name: AXM_TEXT_TEMPLATE_PRINT_CHANNEL,\n title: `${I18N}.print`,\n type: 'rich',\n hasSubject: false,\n },\n ];\n }\n}\n\n//#endregion\n\nexport const printTextTemplateChannelProvider = {\n provide: AXP_TEXT_TEMPLATE_CHANNEL_DEFINITION_PROVIDER,\n useClass: AXMPrintTextTemplateChannelDefinitionProvider,\n multi: true,\n};\n","import { AXPWidgetConfig } from '@acorex-platform/framework-shared/widget-core';\nimport { AXP_WIDGETS_EDITOR_CATEGORY } from '@acorex-platform/framework-client/layout/widget-core';\nimport {\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n} from '@acorex-platform/framework-client/layout/widgets';\n\nexport const AXMTemplateContentEditorWidget: AXPWidgetConfig = {\n name: 'template-content-editor',\n title: '@content-management:templates.widgets.template-content-editor.title',\n icon: 'fa-light fa-envelope',\n description: '@content-management:templates.widgets.template-content-editor.description',\n categories: AXP_WIDGETS_EDITOR_CATEGORY,\n type: 'editor',\n defaultFilterWidgetName: 'string-filter',\n properties: [AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY],\n components: {\n view: {\n component: () =>\n import('./template-content-editor-widget-view.component').then(\n (c) => c.AXMTemplateContentEditorWidgetViewComponent\n ),\n },\n edit: {\n component: () =>\n import('./template-content-editor-widget-edit.component').then(\n (c) => c.AXMTemplateContentEditorWidgetEditComponent\n ),\n },\n },\n};\n","/** Re-export shared text-template placeholder / compose helpers from contracts. */\nexport {\n AXM_TEXT_TEMPLATE_CONTENT_SLOT,\n AXM_TEXT_TEMPLATE_KIND,\n AXM_TEXT_TEMPLATE_MAX_PARENT_DEPTH,\n collectTextTemplatePlaceholderNames,\n composeTextTemplateBodyChain,\n renderTextTemplateSource,\n replaceTextTemplateContentSlot,\n replaceTextTemplatePlaceholders,\n resolveTextTemplateLocalizedString,\n textTemplateContainsContentSlot,\n validateTextTemplateContentSlots,\n validateTextTemplateParentChain,\n type AXMTextTemplateEntityModel,\n type AXMTextTemplateKind,\n type AXMTextTemplateParentChainNode,\n} from '@acorex-platform/module-content-management-client/contracts';\n","//#region ---- Imports ----\n\nimport { AXPWidgetDefinitionProvider } from '@acorex-platform/framework-client/layout/widget-core';\nimport { Injectable } from '@angular/core';\nimport { AXMTemplateContentEditorWidget } from './features/template-content-editor';\n\n//#endregion\n\n//#region ---- Content Management Widgets Provider ----\n\n@Injectable()\nexport class AXMContentManagementWidgetsProvider implements AXPWidgetDefinitionProvider {\n getWidgets() {\n return [AXMTemplateContentEditorWidget];\n }\n}\n\n//#endregion\n","import { InjectionToken, inject } from '@angular/core';\nimport {\n createBuiltinBlockRegistry,\n createBuiltinPipeRegistry,\n createTextTemplateEngine,\n type ContentBlockDefinition,\n type ContentPipe,\n type TextTemplateEngine,\n} from '@acorex-platform/framework-shared/text-template';\nimport type { AXPRegistry } from '@acorex-platform/framework-shared/core';\n\n//#region ----- Angular tokens -----\n\nexport const AXC_TEXT_TEMPLATE_BLOCK_REGISTRY = new InjectionToken<AXPRegistry<ContentBlockDefinition>>(\n 'AXC_TEXT_TEMPLATE_BLOCK_REGISTRY',\n { factory: createBuiltinBlockRegistry },\n);\n\nexport const AXC_TEXT_TEMPLATE_PIPE_REGISTRY = new InjectionToken<AXPRegistry<ContentPipe>>(\n 'AXC_TEXT_TEMPLATE_PIPE_REGISTRY',\n { factory: createBuiltinPipeRegistry },\n);\n\nexport const AXC_TEXT_TEMPLATE_ENGINE = new InjectionToken<TextTemplateEngine>(\n 'AXC_TEXT_TEMPLATE_ENGINE',\n {\n factory: () =>\n createTextTemplateEngine({\n blocks: inject(AXC_TEXT_TEMPLATE_BLOCK_REGISTRY),\n pipes: inject(AXC_TEXT_TEMPLATE_PIPE_REGISTRY),\n }),\n },\n);\n\nexport const textTemplateEngineProviders = [\n { provide: AXC_TEXT_TEMPLATE_BLOCK_REGISTRY, useFactory: createBuiltinBlockRegistry },\n { provide: AXC_TEXT_TEMPLATE_PIPE_REGISTRY, useFactory: createBuiltinPipeRegistry },\n {\n provide: AXC_TEXT_TEMPLATE_ENGINE,\n useFactory: (\n blocks: AXPRegistry<ContentBlockDefinition>,\n pipes: AXPRegistry<ContentPipe>,\n ) => createTextTemplateEngine({ blocks, pipes }),\n deps: [AXC_TEXT_TEMPLATE_BLOCK_REGISTRY, AXC_TEXT_TEMPLATE_PIPE_REGISTRY],\n },\n];\n\n//#endregion\n","import { RootConfig } from '@acorex-platform/module-content-management-client/contracts';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXSafePipe } from '@acorex/core/pipes';\nimport { AXPFileStorageService } from '@acorex-platform/framework-client/common';\nimport { Component, inject, OnInit, signal, WritableSignal, ChangeDetectionStrategy } from '@angular/core';\nimport { AXMPromotionEntityModel } from '@acorex-platform/module-content-management-client/contracts';\n@Component({\n selector: 'acorex-platform-promotion-slot',\n imports: [AXSafePipe],\n changeDetection: ChangeDetectionStrategy.Eager,\n templateUrl: './promotion-slot.component.html',\n})\nexport class AXMPromotionSlotComponent implements OnInit {\n private readonly entityService = inject(AXPEntityService);\n location: string;\n\n notificationChannelService = this.entityService.withEntity(RootConfig.module.name, RootConfig.entities.promotion.name).data<any, any>();\n\n listData: WritableSignal<AXMPromotionEntityModel[]> = signal([]);\n\n private fileStorage = inject(AXPFileStorageService);\n\n async ngOnInit(): Promise<void> {\n const channels = await this.notificationChannelService.query({\n skip: 0,\n take: 10000,\n // filter: {\n // field: 'type',\n // operator: { type: 'equal' },\n // value: 'promotion',\n // },\n });\n\n const filteredItems = channels.items.filter((x) => x.placement?.name == this.location);\n\n const mappedItems = await Promise.all(\n filteredItems.map(async (item) => {\n if (item.imageId != null) {\n const image = await this.fileStorage.getInfo(item.imageId);\n\n return {\n ...item,\n image: image,\n };\n } else {\n return item;\n }\n })\n );\n\n this.listData.set(mappedItems);\n }\n} ","@for (item of listData(); track item.id) { @if (item.contentType?.name == 'media') {\n<img [src]=\"item.image?.url ?? ''\" class=\"w-full p-3 border {{\n item.shape?.name == 'circle' ? 'rounded-full' : 'rounded-none'\n }}\" />\n} @if(item.contentType?.name == 'text'){\n<div class=\"m-1 px-6 p-4 border bg-primary rounded-lg\">\n <h1 class=\"text-base/6\" [innerHTML]=\"item.body | safe : 'html'\"></h1>\n</div>\n\n} } ","import { NgModule } from '@angular/core';\nimport { AXPComponentSlotModule } from '@acorex-platform/framework-client/core';\nimport { provideLazyProvider } from '@acorex-platform/framework-client/core';\nimport { AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER } from '@acorex-platform/framework-client/common';\nimport { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/auth';\nimport { AXP_WIDGET_DEFINITION_PROVIDER, AXPWidgetCoreModule } from '@acorex-platform/framework-client/layout/widget-core';\nimport { AXMContentManagementWidgetsProvider } from './widget-definition.provider';\nimport { printTextTemplateChannelProvider } from './features/template-content-editor/print-text-template-channel-definition.provider';\nimport { textTemplateEngineProviders } from './text-template-engine.tokens';\n\n// Import promotion-related components\nimport { AXMPromotionSlotComponent } from './features/promotion/components/promotion-slot/promotion-slot.component';\n\n@NgModule({\n imports: [\n AXPWidgetCoreModule,\n AXPComponentSlotModule.forChild({\n 'side-menu-footer': [\n {\n name: 'side-menu-footer-promotion',\n component: AXMPromotionSlotComponent,\n options: {\n location: 'side-menu-footer',\n },\n },\n ],\n 'side-menu-header': [\n {\n name: 'side-menu-header-promotion',\n component: AXMPromotionSlotComponent,\n priority: 2,\n options: {\n location: 'side-menu-header',\n },\n },\n ],\n }),\n ],\n exports: [],\n declarations: [],\n providers: [\n provideLazyProvider(\n AXP_PERMISSION_DEFINITION_PROVIDER,\n () => import('./permission-definition.provider').then((m) => m.AXMPermissionDefinitionProvider),\n ),\n provideLazyProvider(AXP_MENU_PROVIDER, () => import('./menu.provider').then((m) => m.AXMMenuProvider)),\n \n provideLazyProvider(\n AXP_SETTING_DEFINITION_PROVIDER,\n () => import('./setting.provider').then((m) => m.AXMSettingProvider),\n ),\n provideLazyProvider(\n AXP_SEARCH_PROVIDER,\n () => import('./search-command.provider').then((m) => m.AXMSearchCommandProvider),\n ),\n {\n provide: AXP_WIDGET_DEFINITION_PROVIDER,\n useClass: AXMContentManagementWidgetsProvider,\n multi: true,\n },\n printTextTemplateChannelProvider,\n ...textTemplateEngineProviders,\n ],\n})\nexport class AXMContentManagementModule {}\n","import { AXM_TEXT_TEMPLATE_RENDER_COMMAND_KEY } from '@acorex-platform/module-content-management-client/contracts';\n\n/** Registry / remote key for Nest `ContentManagement:TextTemplate:Render`. */\nexport const AXC_TEXT_TEMPLATE_RENDER_COMMAND_KEY = AXM_TEXT_TEMPLATE_RENDER_COMMAND_KEY;\n","import {\n AXM_TEXT_TEMPLATE_PREVIEW_COMMAND_KEY,\n AXM_TEXT_TEMPLATE_RENDER_COMMAND_KEY,\n type AXMTextTemplatePreviewRequest,\n type AXMTextTemplatePreviewResult,\n type AXMTextTemplateRenderRequest,\n type AXMTextTemplateRenderResult,\n} from '@acorex-platform/module-content-management-client/contracts';\n\n//#region ----- Types -----\n\n/** @deprecated Prefer {@link AXM_TEXT_TEMPLATE_RENDER_COMMAND_KEY}. */\nexport const AXC_TEXT_TEMPLATE_RENDER_COMMAND_KEY = AXM_TEXT_TEMPLATE_RENDER_COMMAND_KEY;\n\n/** @deprecated Prefer {@link AXMTextTemplateRenderRequest}. */\nexport type AXPTextTemplateRenderRequest = AXMTextTemplateRenderRequest;\n\n/** @deprecated Prefer {@link AXMTextTemplateRenderResult}. */\nexport type AXPTextTemplateRenderResult = AXMTextTemplateRenderResult;\n\nexport {\n AXM_TEXT_TEMPLATE_PREVIEW_COMMAND_KEY,\n AXM_TEXT_TEMPLATE_RENDER_COMMAND_KEY,\n type AXMTextTemplatePreviewRequest,\n type AXMTextTemplatePreviewResult,\n type AXMTextTemplateRenderRequest,\n type AXMTextTemplateRenderResult,\n};\n\n//#endregion\n","import { AXPCommonMenuKeys } from '@acorex-platform/module-common-client/contracts';\nimport { AXPMenuProvider, AXPMenuProviderContext } from '@acorex-platform/framework-client/common';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { Injectable, inject } from '@angular/core';\nimport { RootConfig } from '@acorex-platform/module-content-management-client/contracts';\nimport { AXPContentDocumentsPermissionKeys } from '@acorex-platform/module-content-management-client/contracts';\nimport { AXPContentManagementMenuKeys } from '@acorex-platform/module-content-management-client/contracts';\n\n@Injectable()\nexport class AXMMenuProvider implements AXPMenuProvider {\n private entityService = inject(AXPEntityService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const scope = RootConfig.config.i18n;\n const module = RootConfig.module;\n\n //#region ---- Administration > Content (Promotions, Page Builder) ----\n\n const contentMenu = context.find(AXPCommonMenuKeys.Content);\n if (!contentMenu.exists) {\n context.find(AXPCommonMenuKeys.Administration).addItems([\n {\n name: AXPCommonMenuKeys.Content,\n priority: 10,\n text: '@general:menus.content.title',\n icon: 'fa-light fa-paint-brush',\n type: 'menu',\n children: [],\n },\n ]);\n }\n\n context.find(AXPCommonMenuKeys.Content).addItems([\n {\n name: AXPContentManagementMenuKeys.Promotions,\n text: RootConfig.entities.promotion.titlePlural,\n path: this.entityService.createPath(module.name, RootConfig.entities.promotion.name),\n icon: RootConfig.entities.promotion.icon,\n priority: 1,\n policy: {\n features: [module.name],\n permissions: [AXPContentDocumentsPermissionKeys.MaintainContent],\n },\n },\n ]);\n\n // Text Template under Configuration > Data and Content\n context.find(AXPCommonMenuKeys.DataAndContent).addItems([\n {\n name: AXPContentManagementMenuKeys.TextTemplates,\n text: RootConfig.entities.textTemplate.title,\n path: this.entityService.createPath(module.name, RootConfig.entities.textTemplate.name),\n icon: RootConfig.entities.textTemplate.icon,\n priority: 2,\n policy: {\n features: [module.name],\n permissions: [AXPContentDocumentsPermissionKeys.MaintainContent],\n },\n },\n ]);\n\n //#endregion\n\n //#region ---- Help Menu Extensions ----\n\n context.addItems([\n {\n name: AXPContentManagementMenuKeys.HelpRoot,\n priority: 900000,\n text: `@${scope}:help-center.menus.help.title`,\n icon: 'fa-light fa-circle-question',\n },\n ]);\n\n const helpMenu = context.find(AXPContentManagementMenuKeys.HelpRoot);\n\n if (helpMenu.exists) {\n helpMenu.addItems([\n {\n name: AXPContentManagementMenuKeys.HelpCenter,\n text: `@${scope}:help-center.menus.help-center.title`,\n icon: 'fa-light fa-book-open',\n priority: 900001,\n },\n {\n name: AXPContentManagementMenuKeys.Tutorials,\n text: `@${scope}:help-center.menus.tutorials.title`,\n icon: 'fa-light fa-clapperboard-play',\n priority: 900002,\n },\n {\n name: AXPContentManagementMenuKeys.About,\n text: `@${scope}:help-center.menus.about.title`,\n icon: 'fa-light fa-circle-info',\n priority: 900011,\n },\n ]);\n }\n\n //#endregion\n }\n}\n","import { AXPSearchCommandProvider, AXPSearchResult, createEntityCommandOptions } from '@acorex-platform/framework-client/common';\nimport { RootConfig } from '@acorex-platform/module-content-management-client/contracts';\n\nexport class AXMSearchCommandProvider extends AXPSearchCommandProvider {\n commands: AXPSearchResult[] = [\n {\n id: 'create-promotion',\n group: 'command',\n title: RootConfig.entities.promotion.title,\n icon: RootConfig.entities.promotion.icon,\n description: RootConfig.entities.promotion.titlePlural,\n command: {\n name: 'Entity:Create',\n options: createEntityCommandOptions(\n `${RootConfig.module.name}.${RootConfig.entities.promotion.name}`,\n {\n name: RootConfig.entities.promotion.name,\n module: RootConfig.module.name,\n title: RootConfig.entities.promotion.title,\n }\n ),\n },\n },\n {\n id: 'create-text-template',\n group: 'command',\n title: `@content-management:templates.search.create-text-template.title`,\n icon: RootConfig.entities.textTemplate.icon,\n description: `@content-management:templates.search.create-text-template.description`,\n command: {\n name: 'Entity:Create',\n options: createEntityCommandOptions(\n `${RootConfig.module.name}.${RootConfig.entities.textTemplate.name}`,\n {\n name: RootConfig.entities.textTemplate.name,\n module: RootConfig.module.name,\n title: RootConfig.entities.textTemplate.title,\n }\n ),\n },\n },\n ];\n}\n","import { AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex-platform/framework-client/common';\n\nexport class AXMSettingProvider implements AXPSettingDefinitionProvider {\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n // context\n // // Add Form Template Group\n // .addGroup('form-template', 'Form Template', 'Settings related to form templates.', RootConfig.module.icon)\n // // Start Interface Section\n // .addSection('interface', 'UI Interface', 'Customize the user interface for forms.')\n // .addSetting({\n // key: 'history-panel',\n // title: 'Show History Panel',\n // scope: 'U',\n // isInherited: true,\n // defaultValue: false,\n // widget: {\n // type: AXPWidgetsCatalog.toggle,\n // },\n // description: 'Enable or disable the history panel for forms.',\n // validationRules: [\n // {\n // rule: 'required',\n // },\n // ],\n // })\n // .endSection()\n // .endGroup();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["AXC_TEXT_TEMPLATE_RENDER_COMMAND_KEY"],"mappings":"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"}
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
{
|
|
2
|
+
"module": {
|
|
3
|
+
"title": "Content Management",
|
|
4
|
+
"description": "Manage content, promotions, terms & conditions, and glossaries",
|
|
5
|
+
"menus": {
|
|
6
|
+
"root": {
|
|
7
|
+
"title": "Content Management",
|
|
8
|
+
"description": "Manage all content-related information"
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"help-center": {
|
|
13
|
+
"terms": {
|
|
14
|
+
"help": "Help",
|
|
15
|
+
"help-center": "Help Center",
|
|
16
|
+
"tutorials": "Tutorials",
|
|
17
|
+
"about": "About"
|
|
18
|
+
},
|
|
19
|
+
"menus": {
|
|
20
|
+
"help": {
|
|
21
|
+
"title": "Help",
|
|
22
|
+
"description": "Application help and support"
|
|
23
|
+
},
|
|
24
|
+
"help-center": {
|
|
25
|
+
"title": "Help Center",
|
|
26
|
+
"description": "Access help center resources"
|
|
27
|
+
},
|
|
28
|
+
"tutorials": {
|
|
29
|
+
"title": "Tutorials",
|
|
30
|
+
"description": "View application tutorials"
|
|
31
|
+
},
|
|
32
|
+
"about": {
|
|
33
|
+
"title": "About",
|
|
34
|
+
"description": "About the application"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"promotions": {
|
|
39
|
+
"terms": {
|
|
40
|
+
"promotion": "Promotion",
|
|
41
|
+
"promotions": "Promotions",
|
|
42
|
+
"media": "Media",
|
|
43
|
+
"text": "Text"
|
|
44
|
+
},
|
|
45
|
+
"entities": {
|
|
46
|
+
"promotion": {
|
|
47
|
+
"title": "Promotion",
|
|
48
|
+
"plural": "Promotions",
|
|
49
|
+
"fields": {
|
|
50
|
+
"body": {
|
|
51
|
+
"title": "Body",
|
|
52
|
+
"description": "Promotion content body",
|
|
53
|
+
"placeholder": "Enter promotion content"
|
|
54
|
+
},
|
|
55
|
+
"content-type": {
|
|
56
|
+
"title": "Content Type",
|
|
57
|
+
"description": "Type of content",
|
|
58
|
+
"placeholder": "Select content type"
|
|
59
|
+
},
|
|
60
|
+
"placement": {
|
|
61
|
+
"title": "Placement",
|
|
62
|
+
"description": "Where to display the promotion",
|
|
63
|
+
"placeholder": "Select placement location"
|
|
64
|
+
},
|
|
65
|
+
"shape": {
|
|
66
|
+
"title": "Shape",
|
|
67
|
+
"description": "Display shape for media promotions",
|
|
68
|
+
"placeholder": "Select shape"
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"templates": {
|
|
75
|
+
"terms": {
|
|
76
|
+
"template": "Template",
|
|
77
|
+
"templates": "Templates",
|
|
78
|
+
"text-template": "Text Template"
|
|
79
|
+
},
|
|
80
|
+
"channels": {
|
|
81
|
+
"print": "Print"
|
|
82
|
+
},
|
|
83
|
+
"entities": {
|
|
84
|
+
"text-template": {
|
|
85
|
+
"title": "Text Template",
|
|
86
|
+
"plural": "Text Templates",
|
|
87
|
+
"groups": {
|
|
88
|
+
"template-content": "Template Content"
|
|
89
|
+
},
|
|
90
|
+
"fields": {
|
|
91
|
+
"name": {
|
|
92
|
+
"title": "Name",
|
|
93
|
+
"description": "Unique name for the template",
|
|
94
|
+
"placeholder": "Enter template name"
|
|
95
|
+
},
|
|
96
|
+
"title": {
|
|
97
|
+
"title": "Title",
|
|
98
|
+
"description": "Display name of the template",
|
|
99
|
+
"placeholder": "Enter template title"
|
|
100
|
+
},
|
|
101
|
+
"kind": {
|
|
102
|
+
"title": "Kind",
|
|
103
|
+
"description": "Content template or master layout template.",
|
|
104
|
+
"options": {
|
|
105
|
+
"content": "Content",
|
|
106
|
+
"master": "Master"
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
"parent-id": {
|
|
110
|
+
"title": "Parent Template",
|
|
111
|
+
"description": "Optional master template that wraps this template body."
|
|
112
|
+
},
|
|
113
|
+
"parent": {
|
|
114
|
+
"title": "Parent Template"
|
|
115
|
+
},
|
|
116
|
+
"channel": {
|
|
117
|
+
"title": "Channel",
|
|
118
|
+
"description": "Delivery channel for the template",
|
|
119
|
+
"placeholder": "Select channel",
|
|
120
|
+
"options": {
|
|
121
|
+
"email": "Email",
|
|
122
|
+
"sms": "SMS",
|
|
123
|
+
"whatsapp": "WhatsApp",
|
|
124
|
+
"push": "Push",
|
|
125
|
+
"print": "Print"
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
"channels": {
|
|
129
|
+
"title": "Channels",
|
|
130
|
+
"description": "Template content per channel (Email, SMS, etc.)",
|
|
131
|
+
"placeholder": "Select channels and enter content"
|
|
132
|
+
},
|
|
133
|
+
"channel-select": {
|
|
134
|
+
"title": "Channels",
|
|
135
|
+
"description": "Select at least one channel",
|
|
136
|
+
"placeholder": "Select channels"
|
|
137
|
+
},
|
|
138
|
+
"subject": {
|
|
139
|
+
"title": "Subject",
|
|
140
|
+
"description": "Email subject line",
|
|
141
|
+
"placeholder": "Enter subject"
|
|
142
|
+
},
|
|
143
|
+
"body": {
|
|
144
|
+
"title": "Body",
|
|
145
|
+
"description": "Template body content with placeholders",
|
|
146
|
+
"placeholder": "Enter template body"
|
|
147
|
+
},
|
|
148
|
+
"body-format": {
|
|
149
|
+
"title": "Content Format",
|
|
150
|
+
"description": "Plain text or rich text (HTML)",
|
|
151
|
+
"placeholder": "Select format",
|
|
152
|
+
"options": {
|
|
153
|
+
"plain": "Plain Text",
|
|
154
|
+
"rich": "Rich Text (HTML)"
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
"body-placeholder": {
|
|
158
|
+
"plain": "Enter plain text. Use {{variableName}} for variables. Master templates must include [content].",
|
|
159
|
+
"rich": "Enter rich text. Use {{variableName}} for variables. Master templates must include [content]."
|
|
160
|
+
},
|
|
161
|
+
"category": {
|
|
162
|
+
"title": "Category",
|
|
163
|
+
"description": "Template category for grouping",
|
|
164
|
+
"placeholder": "Enter category"
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
"variables": {
|
|
170
|
+
"userName": "User Name",
|
|
171
|
+
"customerName": "Customer Name",
|
|
172
|
+
"orderId": "Order ID",
|
|
173
|
+
"totalAmount": "Total Amount",
|
|
174
|
+
"verificationCode": "Verification Code",
|
|
175
|
+
"resetLink": "Reset Link",
|
|
176
|
+
"expiryMinutes": "Expiry (minutes)"
|
|
177
|
+
},
|
|
178
|
+
"actions": {
|
|
179
|
+
"insert-variable": "Insert Variable",
|
|
180
|
+
"insert-content-slot": "Insert Content Slot",
|
|
181
|
+
"copy-from": "Copy from",
|
|
182
|
+
"configure-channel": "Configure Channel",
|
|
183
|
+
"edit": "Edit",
|
|
184
|
+
"preview": "Preview"
|
|
185
|
+
},
|
|
186
|
+
"messages": {
|
|
187
|
+
"preview-failed": {
|
|
188
|
+
"title": "Preview Unavailable",
|
|
189
|
+
"content": "Server preview failed. Showing a local preview instead."
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
"search": {
|
|
193
|
+
"create-text-template": {
|
|
194
|
+
"title": "Create Text Template",
|
|
195
|
+
"description": "Create a new email, SMS, or WhatsApp text template"
|
|
196
|
+
}
|
|
197
|
+
},
|
|
198
|
+
"widgets": {
|
|
199
|
+
"template-content-editor": {
|
|
200
|
+
"title": "Template Content",
|
|
201
|
+
"description": "Multi-channel template editor with tabs (Email, SMS, WhatsApp, etc.)"
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
},
|
|
205
|
+
"glossaries": {
|
|
206
|
+
"terms": {
|
|
207
|
+
"glossary": "Glossary",
|
|
208
|
+
"glossaries": "Glossaries"
|
|
209
|
+
},
|
|
210
|
+
"entities": {
|
|
211
|
+
"glossary": {
|
|
212
|
+
"title": "Glossary",
|
|
213
|
+
"plural": "Glossaries",
|
|
214
|
+
"fields": {
|
|
215
|
+
"title": {
|
|
216
|
+
"title": "Title",
|
|
217
|
+
"description": "Glossary term title",
|
|
218
|
+
"placeholder": "Enter title"
|
|
219
|
+
},
|
|
220
|
+
"parent-id": {
|
|
221
|
+
"title": "Parent ID",
|
|
222
|
+
"description": "Parent glossary item",
|
|
223
|
+
"placeholder": "Select parent"
|
|
224
|
+
},
|
|
225
|
+
"translation": {
|
|
226
|
+
"title": "Translation",
|
|
227
|
+
"description": "Term translation",
|
|
228
|
+
"placeholder": "Enter translation"
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
},
|
|
234
|
+
"permissions": {
|
|
235
|
+
"manage": {
|
|
236
|
+
"title": "Content Management",
|
|
237
|
+
"description": "Full access to content management"
|
|
238
|
+
},
|
|
239
|
+
"promotion": {
|
|
240
|
+
"manage": {
|
|
241
|
+
"title": "Manage Promotions",
|
|
242
|
+
"description": "Full access to promotions"
|
|
243
|
+
},
|
|
244
|
+
"view": {
|
|
245
|
+
"title": "View Promotions",
|
|
246
|
+
"description": "View promotion details"
|
|
247
|
+
},
|
|
248
|
+
"create": {
|
|
249
|
+
"title": "Create Promotion",
|
|
250
|
+
"description": "Create new promotions"
|
|
251
|
+
},
|
|
252
|
+
"edit": {
|
|
253
|
+
"title": "Edit Promotion",
|
|
254
|
+
"description": "Edit existing promotions"
|
|
255
|
+
},
|
|
256
|
+
"delete": {
|
|
257
|
+
"title": "Delete Promotions",
|
|
258
|
+
"description": "Delete promotions"
|
|
259
|
+
}
|
|
260
|
+
},
|
|
261
|
+
"text-template": {
|
|
262
|
+
"manage": {
|
|
263
|
+
"title": "Manage Text Templates",
|
|
264
|
+
"description": "Full access to text templates"
|
|
265
|
+
},
|
|
266
|
+
"view": {
|
|
267
|
+
"title": "View Text Templates",
|
|
268
|
+
"description": "View text template details"
|
|
269
|
+
},
|
|
270
|
+
"create": {
|
|
271
|
+
"title": "Create Text Template",
|
|
272
|
+
"description": "Create new text templates"
|
|
273
|
+
},
|
|
274
|
+
"edit": {
|
|
275
|
+
"title": "Edit Text Templates",
|
|
276
|
+
"description": "Edit existing text templates"
|
|
277
|
+
},
|
|
278
|
+
"delete": {
|
|
279
|
+
"title": "Delete Text Templates",
|
|
280
|
+
"description": "Delete text templates"
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
}
|