{"version":3,"file":"volo-abp.ng.text-template-management.mjs","sources":["../../../../packages/text-template-management/src/lib/components/abstract-template-content/abstract-template-content.component.ts","../../../../packages/text-template-management/src/lib/components/inline-template-content/inline-template-content.component.ts","../../../../packages/text-template-management/src/lib/components/inline-template-content/inline-template-content.component.html","../../../../packages/text-template-management/src/lib/components/template-contents/template-contents.component.ts","../../../../packages/text-template-management/src/lib/components/template-contents/template-contents.component.html","../../../../packages/text-template-management/src/lib/components/text-templates/text-templates.component.ts","../../../../packages/text-template-management/src/lib/components/text-templates/text-templates.component.html","../../../../packages/text-template-management/src/lib/defaults/default-text-tamplates-entity-props.ts","../../../../packages/text-template-management/src/lib/defaults/default-text-templates-entity-actions.ts","../../../../packages/text-template-management/src/lib/defaults/default-text-templates-toolbar-actions.ts","../../../../packages/text-template-management/src/lib/tokens/extensions.token.ts","../../../../packages/text-template-management/src/lib/guards/extensions.guard.ts","../../../../packages/text-template-management/src/lib/guards/text-template-mangement.guard.ts","../../../../packages/text-template-management/src/lib/resolvers/extensions.resolver.ts","../../../../packages/text-template-management/src/lib/text-template-management-routing.module.ts","../../../../packages/text-template-management/src/lib/text-template-management.module.ts","../../../../packages/text-template-management/src/lib/text-template-management.routes.ts","../../../../packages/text-template-management/src/volo-abp.ng.text-template-management.ts"],"sourcesContent":["import { Component, inject, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { finalize, switchMap, tap } from 'rxjs/operators';\r\nimport { PermissionService } from '@abp/ng.core';\r\nimport { ToasterService } from '@abp/ng.theme.shared';\r\nimport {\r\n  TemplateContentService,\r\n  TemplateDefinitionService,\r\n  TextTemplateContentDto,\r\n} from '@volo/abp.ng.text-template-management/proxy';\r\n\r\nconst EDIT_NON_SANDBOXED_POLICY = 'TextTemplateManagement.TextTemplates.EditNonSandboxedContents';\r\n\r\n// Not an abstract class on purpose. Do not change!\r\n@Component({ template: '' })\r\nexport class AbstractTemplateContentComponent implements OnInit {\r\n  protected fb: UntypedFormBuilder = inject(UntypedFormBuilder);\r\n  protected templateContentService: TemplateContentService = inject(TemplateContentService);\r\n  protected templateDefinitionService: TemplateDefinitionService =\r\n    inject(TemplateDefinitionService);\r\n  protected route: ActivatedRoute = inject(ActivatedRoute);\r\n  protected toasterService: ToasterService = inject(ToasterService);\r\n  protected permissionService = inject(PermissionService);\r\n\r\n  form: UntypedFormGroup;\r\n  templateContent = {} as TextTemplateContentDto;\r\n  busy: boolean;\r\n  selectedCultureName: string;\r\n  isNotSandboxedEngine = false;\r\n\r\n  get hasNonSandboxedPermission(): boolean {\r\n    const isGranted = this.permissionService.getGrantedPolicy(EDIT_NON_SANDBOXED_POLICY);\r\n    return isGranted;\r\n  }\r\n\r\n  get editingDisabled(): boolean {\r\n    return this.isNotSandboxedEngine && !this.hasNonSandboxedPermission;\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.form = this.fb.group({ content: ['', [Validators.required]] });\r\n    const templateName = this.route.snapshot.params.name;\r\n    this.templateDefinitionService.get(templateName).subscribe(result => {\r\n      this.isNotSandboxedEngine = result.isNotSandboxedEngine;\r\n    });\r\n    this.getData().subscribe();\r\n  }\r\n\r\n  getData() {\r\n    const templateName = this.route.snapshot.params.name;\r\n    return this.templateContentService\r\n      .get({ templateName, cultureName: this.selectedCultureName })\r\n      .pipe(\r\n        tap(templateContent => {\r\n          this.templateContent = templateContent;\r\n          this.form.get('content').setValue(this.templateContent.content);\r\n        }),\r\n      );\r\n  }\r\n\r\n  save(callback?: () => unknown) {\r\n    if (this.form.invalid) return;\r\n    this.busy = true;\r\n\r\n    const { content } = this.form.value;\r\n    this.templateContentService\r\n      .update({\r\n        templateName: this.templateContent.name,\r\n        cultureName: this.selectedCultureName,\r\n        content,\r\n      })\r\n      .pipe(finalize(() => (this.busy = false)))\r\n      .subscribe(() => {\r\n        this.toasterService.success('AbpUi::SavedSuccessfully');\r\n        if (callback) callback();\r\n      });\r\n  }\r\n\r\n  restoreToDefault() {\r\n    this.busy = true;\r\n\r\n    this.templateContentService\r\n      .restoreToDefault({\r\n        templateName: this.templateContent.name,\r\n        cultureName: this.selectedCultureName,\r\n      })\r\n      .pipe(\r\n        switchMap(() => this.getData()),\r\n        finalize(() => (this.busy = false)),\r\n      )\r\n      .subscribe(() => {\r\n        this.toasterService.success('AbpUi::SavedSuccessfully');\r\n      });\r\n  }\r\n}\r\n","import { Component, OnInit, inject } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { Router, RouterLink } from '@angular/router';\r\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\r\nimport { LocalizationPipe } from '@abp/ng.core';\r\nimport { PageComponent } from '@abp/ng.components/page';\r\nimport { AbstractTemplateContentComponent } from '../abstract-template-content/abstract-template-content.component';\r\n\r\n@Component({\r\n  selector: 'abp-inline-template-content',\r\n  templateUrl: 'inline-template-content.component.html',\r\n  imports: [\r\n    FormsModule,\r\n    NgxValidateCoreModule,\r\n    ReactiveFormsModule,\r\n    LocalizationPipe,\r\n    RouterLink,\r\n    PageComponent,\r\n  ],\r\n})\r\nexport class InlineTemplateContentComponent\r\n  extends AbstractTemplateContentComponent\r\n  implements OnInit\r\n{\r\n  private readonly router = inject(Router);\r\n\r\n  customizePerCulture() {\r\n    this.router.navigateByUrl(\r\n      `/text-template-management/text-templates/contents/${this.templateContent.name}`,\r\n    );\r\n  }\r\n\r\n  save() {\r\n    super.save(() => {\r\n      this.router.navigateByUrl('/text-template-management/text-templates');\r\n    });\r\n  }\r\n}\r\n","<abp-page [title]=\"'TextTemplateManagement::Contents' | abpLocalization\">\r\n  <div\r\n    role=\"alert\"\r\n    class=\"alert alert-danger\"\r\n    [innerHTML]=\"'TextTemplateManagement::InlineContentDescription' | abpLocalization\"\r\n  ></div>\r\n\r\n  @if (isNotSandboxedEngine) {\r\n    <div role=\"alert\" class=\"alert alert-warning d-flex align-items-start gap-2\">\r\n      <i class=\"fa fa-shield-alt mt-1\" aria-hidden=\"true\"></i>\r\n      <div>\r\n        <strong>{{ 'TextTemplateManagement::NonSandboxedTemplate' | abpLocalization }}</strong>\r\n        <span class=\"ms-2\">{{ 'TextTemplateManagement::NonSandboxedTemplateWarning' | abpLocalization }}</span>\r\n      </div>\r\n    </div>\r\n  }\r\n\r\n  <div class=\"card\">\r\n    <div class=\"card-header\">\r\n      <label class=\"form-label\"\r\n        >{{ 'TextTemplateManagement::Name' | abpLocalization }}:\r\n        <strong>{{ templateContent.name }}</strong></label\r\n      >\r\n    </div>\r\n    <div class=\"card-body\">\r\n      <form id=\"template-inline-content-form\" [formGroup]=\"form\">\r\n        <div class=\"row\">\r\n          <div class=\"col\">\r\n            <div class=\"mb-3\">\r\n              <label for=\"TemplateContent\" class=\"form-label\">{{\r\n                'TextTemplateManagement::TemplateContent' | abpLocalization\r\n              }}</label\r\n              ><span> * </span\r\n              ><textarea\r\n                id=\"TemplateContent\"\r\n                name=\"TemplateContent\"\r\n                rows=\"10\"\r\n                class=\"form-control\"\r\n                formControlName=\"content\"\r\n                [disabled]=\"busy || editingDisabled\"\r\n              >\r\n              </textarea>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"row\">\r\n          <div class=\"d-flex flex-column gap-2 flex-column flex-md-row justify-content-between\">\r\n            <a\r\n              routerLink=\"/text-template-management/text-templates\"\r\n              role=\"button\"\r\n              class=\"btn btn-primary\"\r\n            >\r\n              <i class=\"fa fa-arrow-left me-1\" aria-hidden=\"true\"></i>\r\n              <span>{{ 'TextTemplateManagement::ReturnToTemplates' | abpLocalization }}</span>\r\n            </a>\r\n\r\n            <div class=\"d-flex gap-2 flex-column flex-md-row\">\r\n              <button\r\n                id=\"edit-unique-localization\"\r\n                class=\"btn btn-link\"\r\n                type=\"button\"\r\n                [disabled]=\"busy\"\r\n                (click)=\"customizePerCulture()\"\r\n              >\r\n                <span>{{ 'TextTemplateManagement::CustomizePerCulture' | abpLocalization }}</span>\r\n              </button>\r\n\r\n              <button\r\n                id=\"restore-to-default\"\r\n                class=\"btn btn-outline-primary\"\r\n                type=\"button\"\r\n                [disabled]=\"busy || editingDisabled\"\r\n                (click)=\"restoreToDefault()\"\r\n              >\r\n                <span>{{ 'TextTemplateManagement::RestoreToDefault' | abpLocalization }}</span>\r\n              </button>\r\n              <button\r\n                id=\"save-content\"\r\n                class=\"btn btn-primary\"\r\n                type=\"button\"\r\n                [disabled]=\"busy || editingDisabled\"\r\n                (click)=\"save()\"\r\n              >\r\n                <span>{{ 'TextTemplateManagement::SaveContent' | abpLocalization }}</span>\r\n              </button>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </form>\r\n    </div>\r\n  </div>\r\n</abp-page>\r\n","import { Component, inject, OnInit } from '@angular/core';\r\nimport { RouterLink } from '@angular/router';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\r\nimport { ConfigStateService, LanguageInfo, LocalizationPipe } from '@abp/ng.core';\r\nimport { PageComponent } from '@abp/ng.components/page';\r\nimport { TextTemplateContentDto } from '@volo/abp.ng.text-template-management/proxy';\r\nimport { AbstractTemplateContentComponent } from '../abstract-template-content/abstract-template-content.component';\r\n\r\n@Component({\r\n  selector: 'abp-template-contents',\r\n  templateUrl: 'template-contents.component.html',\r\n  imports: [\r\n    FormsModule,\r\n    NgxValidateCoreModule,\r\n    ReactiveFormsModule,\r\n    RouterLink,\r\n    LocalizationPipe,\r\n    PageComponent,\r\n  ],\r\n})\r\nexport class TemplateContentsComponent extends AbstractTemplateContentComponent implements OnInit {\r\n  private readonly configStateService = inject(ConfigStateService);\r\n\r\n  languages: LanguageInfo[] = [];\r\n  currentCultureName: string;\r\n  referenceTemplateContent = { content: '' } as TextTemplateContentDto;\r\n\r\n  ngOnInit() {\r\n    this.languages = this.configStateService.getDeep('localization.languages');\r\n    this.selectedCultureName = this.languages[0].cultureName;\r\n    this.referenceTemplateContent.cultureName = this.configStateService.getDeep(\r\n      'localization.currentCulture.cultureName',\r\n    );\r\n    super.ngOnInit();\r\n    this.getReferenceTemplateContent();\r\n  }\r\n\r\n  getReferenceTemplateContent() {\r\n    this.templateContentService\r\n      .get({\r\n        templateName: this.route.snapshot.params.name,\r\n        cultureName: this.referenceTemplateContent.cultureName,\r\n      })\r\n      .subscribe(res => {\r\n        this.referenceTemplateContent = res;\r\n      });\r\n  }\r\n\r\n  onChangeSelectedCultureName() {\r\n    this.getData().subscribe();\r\n  }\r\n}\r\n","<abp-page [title]=\"'TextTemplateManagement::Contents' | abpLocalization\">\r\n  @if (isNotSandboxedEngine) {\r\n    <div role=\"alert\" class=\"alert alert-warning d-flex align-items-start gap-2\">\r\n      <i class=\"fa fa-shield-alt mt-1\" aria-hidden=\"true\"></i>\r\n      <div>\r\n        <strong>{{ 'TextTemplateManagement::NonSandboxedTemplate' | abpLocalization }}</strong>\r\n        <span class=\"ms-2\">{{ 'TextTemplateManagement::NonSandboxedTemplateWarning' | abpLocalization }}</span>\r\n      </div>\r\n    </div>\r\n  }\r\n\r\n  <div class=\"card\">\r\n    <div class=\"card-header\">\r\n      <label class=\"form-label\"\r\n        >{{ 'TextTemplateManagement::Name' | abpLocalization }}:\r\n        <strong>{{ templateContent.name }}</strong></label\r\n      >\r\n    </div>\r\n    <div class=\"card-body\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-6\">\r\n          <div class=\"mb-3\">\r\n            <label class=\"form-label\" for=\"target-culture-name\">{{\r\n              'TextTemplateManagement::BaseCultureName' | abpLocalization\r\n            }}</label>\r\n            <select\r\n              class=\"culture-selector form-select form-control\"\r\n              id=\"target-culture-name\"\r\n              name=\"target-culture-name\"\r\n              [(ngModel)]=\"referenceTemplateContent.cultureName\"\r\n              (ngModelChange)=\"getReferenceTemplateContent()\"\r\n            >\r\n              @for (language of languages; track $index) {\r\n                <option [ngValue]=\"language.cultureName\">\r\n                  {{ language.displayName }}\r\n                </option>\r\n              }\r\n            </select>\r\n          </div>\r\n          <div class=\"row\">\r\n            <div class=\"col\">\r\n              <div class=\"mb-3\">\r\n                <label class=\"form-label\" for=\"reference-content\">{{\r\n                  'TextTemplateManagement::BaseContent' | abpLocalization\r\n                }}</label\r\n                ><textarea\r\n                  id=\"reference-content\"\r\n                  name=\"reference-content\"\r\n                  rows=\"10\"\r\n                  class=\"form-control\"\r\n                  readonly\r\n                  [value]=\"referenceTemplateContent.content\"\r\n                >\r\n                </textarea>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"col-md-6\">\r\n          <div class=\"mb-3\">\r\n            <label class=\"form-label\" for=\"target-culture-name\">{{\r\n              'TextTemplateManagement::TargetCultureName' | abpLocalization\r\n            }}</label>\r\n            <select\r\n              class=\"culture-selector form-select form-control\"\r\n              id=\"target-culture-name\"\r\n              name=\"target-culture-name\"\r\n              [(ngModel)]=\"selectedCultureName\"\r\n              (ngModelChange)=\"onChangeSelectedCultureName()\"\r\n            >\r\n              @for (language of languages; track $index) {\r\n                <option [ngValue]=\"language.cultureName\">\r\n                  {{ language.displayName }}\r\n                </option>\r\n              }\r\n            </select>\r\n          </div>\r\n          <form id=\"template-inline-content-form\" [formGroup]=\"form\">\r\n            <div class=\"row\">\r\n              <div class=\"col\">\r\n                <div class=\"mb-3\">\r\n                  <label class=\"form-label\" for=\"TemplateContent\">{{\r\n                    'TextTemplateManagement::TemplateContent' | abpLocalization\r\n                  }}</label\r\n                  ><span> * </span\r\n                  ><textarea\r\n                    id=\"TemplateContent\"\r\n                    name=\"TemplateContent\"\r\n                    rows=\"10\"\r\n                    class=\"form-control\"\r\n                    formControlName=\"content\"\r\n                    [disabled]=\"busy || editingDisabled\"\r\n                  >\r\n                  </textarea>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </form>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"row\">\r\n        <div class=\"d-flex gap-2 flex-column flex-md-row justify-content-between\">\r\n          <a\r\n            routerLink=\"/text-template-management/text-templates\"\r\n            role=\"button\"\r\n            class=\"btn btn-primary\"\r\n          >\r\n            <i class=\"fa fa-arrow-left me-1\" aria-hidden=\"true\"></i>\r\n            <span>{{ 'TextTemplateManagement::ReturnToTemplates' | abpLocalization }}</span>\r\n          </a>\r\n\r\n          <div class=\"d-flex gap-2 flex-column flex-md-row\">\r\n            <button\r\n              id=\"restore-to-default\"\r\n              class=\"btn btn-outline-primary\"\r\n              type=\"button\"\r\n              [disabled]=\"busy || editingDisabled\"\r\n              (click)=\"restoreToDefault()\"\r\n            >\r\n              <span>{{ 'TextTemplateManagement::RestoreToDefault' | abpLocalization }}</span>\r\n            </button>\r\n            <button\r\n              id=\"save-content\"\r\n              class=\"btn btn-primary\"\r\n              type=\"button\"\r\n              [disabled]=\"busy || editingDisabled\"\r\n              (click)=\"save()\"\r\n            >\r\n              <span>{{ 'TextTemplateManagement::SaveContent' | abpLocalization }}</span>\r\n            </button>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</abp-page>\r\n","import { Component, inject, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ABP, ListService, LocalizationPipe, PagedResultDto } from '@abp/ng.core';\r\nimport { ExtensibleTableComponent, EXTENSIONS_IDENTIFIER } from '@abp/ng.components/extensible';\r\nimport { PageComponent } from '@abp/ng.components/page';\r\nimport { AdvancedEntityFiltersComponent } from '@volo/abp.commercial.ng.ui';\r\nimport {\r\n  GetTemplateDefinitionListInput,\r\n  TemplateDefinitionDto,\r\n  TemplateDefinitionService,\r\n} from '@volo/abp.ng.text-template-management/proxy';\r\nimport { eTextTemplateManagementComponents } from '../../enums/components';\r\n\r\n@Component({\r\n  selector: 'abp-text-templates',\r\n  templateUrl: 'text-templates.component.html',\r\n  providers: [\r\n    ListService,\r\n    {\r\n      provide: EXTENSIONS_IDENTIFIER,\r\n      useValue: eTextTemplateManagementComponents.TextTemplates,\r\n    },\r\n  ],\r\n  imports: [\r\n    LocalizationPipe,\r\n    AdvancedEntityFiltersComponent,\r\n    ExtensibleTableComponent,\r\n    PageComponent,\r\n  ],\r\n})\r\nexport class TextTemplatesComponent implements OnInit {\r\n  public readonly list = inject(ListService<ABP.PageQueryParams>);\r\n  protected router = inject(Router);\r\n  protected service = inject(TemplateDefinitionService);\r\n\r\n  data: PagedResultDto<TemplateDefinitionDto> = { items: [], totalCount: 0 };\r\n\r\n  ngOnInit() {\r\n    this.hookToQuery();\r\n  }\r\n\r\n  private hookToQuery() {\r\n    this.list\r\n      .hookToQuery(({ filter: filterText, ...query }) =>\r\n        this.service.getList({ ...query, filterText } as GetTemplateDefinitionListInput),\r\n      )\r\n      .subscribe(res => (this.data = res));\r\n  }\r\n\r\n  editContents(record: TemplateDefinitionDto) {\r\n    this.router.navigate([\r\n      `/text-template-management/text-templates/contents${\r\n        record.isInlineLocalized ? '/inline' : ''\r\n      }/${record.name}`,\r\n    ]);\r\n  }\r\n}\r\n","<abp-page\r\n  [title]=\"'TextTemplateManagement::Menu:TextTemplates' | abpLocalization\"\r\n  [toolbar]=\"data.items\"\r\n>\r\n  <div id=\"wrapper\">\r\n    <abp-advanced-entity-filters [list]=\"list\" localizationSourceName=\"TextTemplateManagement\" />\r\n\r\n    <div class=\"card\">\r\n      <abp-extensible-table\r\n        [actionsColumnWidth]=\"170\"\r\n        [data]=\"data.items\"\r\n        [recordsTotal]=\"data.totalCount\"\r\n        [list]=\"list\"\r\n      />\r\n    </div>\r\n  </div>\r\n</abp-page>\r\n","import { EntityProp, ePropType } from '@abp/ng.components/extensible';\r\nimport { TemplateDefinitionDto } from '@volo/abp.ng.text-template-management/proxy';\r\nimport { of } from 'rxjs';\r\n\r\nexport const DEFAULT_TEXT_TEMPLATES_ENTITY_PROPS = EntityProp.createMany<TemplateDefinitionDto>([\r\n  {\r\n    type: ePropType.String,\r\n    name: 'displayName',\r\n    displayName: 'TextTemplateManagement::Name',\r\n  },\r\n  {\r\n    type: ePropType.Boolean,\r\n    name: 'isInlineLocalized',\r\n    displayName: 'TextTemplateManagement::IsInlineLocalized',\r\n    columnWidth: 150,\r\n  },\r\n  {\r\n    type: ePropType.String,\r\n    name: 'isLayout',\r\n    displayName: 'TextTemplateManagement::IsLayout',\r\n    columnWidth: 150,\r\n    valueResolver: data => {\r\n      const icon = data.record.isLayout\r\n        ? '<div class=\"text-success\"><i class=\"fa fa-check\"></i></div>'\r\n        : '';\r\n      return of(icon);\r\n    },\r\n  },\r\n  {\r\n    type: ePropType.String,\r\n    name: 'layout',\r\n    displayName: 'TextTemplateManagement::Layout',\r\n  },\r\n  {\r\n    type: ePropType.String,\r\n    name: 'defaultCultureName',\r\n    displayName: 'TextTemplateManagement::DefaultCultureName',\r\n  },\r\n]);\r\n","import { EntityAction } from '@abp/ng.components/extensible';\r\nimport { TemplateDefinitionDto } from '@volo/abp.ng.text-template-management/proxy';\r\nimport { TextTemplatesComponent } from '../components/text-templates/text-templates.component';\r\n\r\nexport const DEFAULT_TEXT_TEMPLATES_ENTITY_ACTIONS = EntityAction.createMany<TemplateDefinitionDto>(\r\n  [\r\n    {\r\n      text: 'TextTemplateManagement::EditContents',\r\n      action: data => {\r\n        const component = data.getInjected(TextTemplatesComponent);\r\n        component.editContents(data.record);\r\n      },\r\n      permission: 'TextTemplateManagement.TextTemplates.EditContents',\r\n    },\r\n  ],\r\n);\r\n","import { ToolbarAction } from '@abp/ng.components/extensible';\r\nimport { TemplateDefinitionDto } from '@volo/abp.ng.text-template-management/proxy';\r\n\r\nexport const DEFAULT_TEXT_TEMPLATES_TOOLBAR_ACTIONS = ToolbarAction.createMany<\r\n  TemplateDefinitionDto[]\r\n>([]);\r\n","import {\r\n  EntityActionContributorCallback,\r\n  EntityPropContributorCallback,\r\n  ToolbarActionContributorCallback,\r\n} from '@abp/ng.components/extensible';\r\nimport { InjectionToken } from '@angular/core';\r\nimport { TemplateDefinitionDto } from '@volo/abp.ng.text-template-management/proxy';\r\nimport { DEFAULT_TEXT_TEMPLATES_ENTITY_PROPS } from '../defaults/default-text-tamplates-entity-props';\r\nimport { DEFAULT_TEXT_TEMPLATES_ENTITY_ACTIONS } from '../defaults/default-text-templates-entity-actions';\r\nimport { DEFAULT_TEXT_TEMPLATES_TOOLBAR_ACTIONS } from '../defaults/default-text-templates-toolbar-actions';\r\nimport { eTextTemplateManagementComponents } from '../enums/components';\r\n\r\nexport const DEFAULT_TEXT_TEMPLATE_MANAGEMENT_ENTITY_ACTIONS = {\r\n  [eTextTemplateManagementComponents.TextTemplates]: DEFAULT_TEXT_TEMPLATES_ENTITY_ACTIONS,\r\n};\r\n\r\nexport const DEFAULT_TEXT_TEMPLATE_MANAGEMENT_TOOLBAR_ACTIONS = {\r\n  [eTextTemplateManagementComponents.TextTemplates]: DEFAULT_TEXT_TEMPLATES_TOOLBAR_ACTIONS,\r\n};\r\n\r\nexport const DEFAULT_TEXT_TEMPLATE_MANAGEMENT_ENTITY_PROPS = {\r\n  [eTextTemplateManagementComponents.TextTemplates]: DEFAULT_TEXT_TEMPLATES_ENTITY_PROPS,\r\n};\r\n\r\nexport const TEXT_TEMPLATE_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS =\r\n  new InjectionToken<EntityActionContributors>(\r\n    'TEXT_TEMPLATE_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS',\r\n  );\r\n\r\nexport const TEXT_TEMPLATE_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS =\r\n  new InjectionToken<ToolbarActionContributors>(\r\n    'TEXT_TEMPLATE_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS',\r\n  );\r\n\r\nexport const TEXT_TEMPLATE_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS =\r\n  new InjectionToken<EntityPropContributors>('TEXT_TEMPLATE_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS');\r\n\r\n// Fix for TS4023 -> https://github.com/microsoft/TypeScript/issues/9944#issuecomment-254693497\r\ntype EntityActionContributors = Partial<{\r\n  [eTextTemplateManagementComponents.TextTemplates]: EntityActionContributorCallback<TemplateDefinitionDto>[];\r\n}>;\r\ntype ToolbarActionContributors = Partial<{\r\n  [eTextTemplateManagementComponents.TextTemplates]: ToolbarActionContributorCallback<\r\n    TemplateDefinitionDto[]\r\n  >[];\r\n}>;\r\ntype EntityPropContributors = Partial<{\r\n  [eTextTemplateManagementComponents.TextTemplates]: EntityPropContributorCallback<TemplateDefinitionDto>[];\r\n}>;\r\n","import {\r\n  ExtensionsService,\r\n  getObjectExtensionEntitiesFromStore,\r\n  mapEntitiesToContributors,\r\n  mergeWithDefaultActions,\r\n  mergeWithDefaultProps,\r\n} from '@abp/ng.components/extensible';\r\n\r\nimport { inject, Injectable, Injector } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map, mapTo, tap } from 'rxjs/operators';\r\n\r\nimport { eTextTemplateManagementComponents } from '../enums/components';\r\nimport {\r\n  TextTemplateManagementEntityActionContributors,\r\n  TextTemplateManagementEntityPropContributors,\r\n  TextTemplateManagementToolbarActionContributors,\r\n} from '../models/config-options';\r\nimport {\r\n  DEFAULT_TEXT_TEMPLATE_MANAGEMENT_ENTITY_ACTIONS,\r\n  DEFAULT_TEXT_TEMPLATE_MANAGEMENT_ENTITY_PROPS,\r\n  DEFAULT_TEXT_TEMPLATE_MANAGEMENT_TOOLBAR_ACTIONS,\r\n  TEXT_TEMPLATE_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS,\r\n  TEXT_TEMPLATE_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS,\r\n  TEXT_TEMPLATE_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS,\r\n} from '../tokens/extensions.token';\r\n\r\n/**\r\n * @deprecated Use `textTemplateManagementExtensionsResolver` *function* instead.\r\n */\r\n@Injectable()\r\nexport class TextTemplateManagementExtensionsGuard {\r\n  private readonly injector = inject(Injector);\r\n\r\n  canActivate(): Observable<boolean> {\r\n    const extensions: ExtensionsService = this.injector.get(ExtensionsService);\r\n    const actionContributors: TextTemplateManagementEntityActionContributors =\r\n      this.injector.get(TEXT_TEMPLATE_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS, null) || {};\r\n    const toolbarContributors: TextTemplateManagementToolbarActionContributors =\r\n      this.injector.get(TEXT_TEMPLATE_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS, null) || {};\r\n    const propContributors: TextTemplateManagementEntityPropContributors =\r\n      this.injector.get(TEXT_TEMPLATE_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS, null) || {};\r\n\r\n    return getObjectExtensionEntitiesFromStore(this.injector, 'TextTemplateManagement').pipe(\r\n      map(entities => ({\r\n        [eTextTemplateManagementComponents.TextTemplates]: entities.TextDefinition,\r\n      })),\r\n      mapEntitiesToContributors(this.injector, 'TextTemplateManagement'),\r\n      tap(objectExtensionContributors => {\r\n        mergeWithDefaultActions(\r\n          extensions.entityActions,\r\n          DEFAULT_TEXT_TEMPLATE_MANAGEMENT_ENTITY_ACTIONS,\r\n          actionContributors,\r\n        );\r\n        mergeWithDefaultActions(\r\n          extensions.toolbarActions,\r\n          DEFAULT_TEXT_TEMPLATE_MANAGEMENT_TOOLBAR_ACTIONS,\r\n          toolbarContributors,\r\n        );\r\n        mergeWithDefaultProps(\r\n          extensions.entityProps,\r\n          DEFAULT_TEXT_TEMPLATE_MANAGEMENT_ENTITY_PROPS,\r\n          objectExtensionContributors.prop,\r\n          propContributors,\r\n        );\r\n      }),\r\n      mapTo(true),\r\n    );\r\n  }\r\n}\r\n","import { Injectable, inject } from '@angular/core';\r\n\r\nimport { TEXT_TEMPLATE_MANAGEMENT_FEATURES } from '@volo/abp.ng.text-template-management/common';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ModuleVisibility } from '@volo/abp.commercial.ng.ui/config';\r\n\r\n/**\r\n * @deprecated Use `textTemplateManagementGuard` *function* instead.\r\n */\r\n@Injectable()\r\nexport class TextTemplateManagementGuard {\r\n  private textTemplateManagementFeatures = inject<Observable<ModuleVisibility>>(TEXT_TEMPLATE_MANAGEMENT_FEATURES);\r\n\r\n\r\n  canActivate() {\r\n    return this.textTemplateManagementFeatures.pipe(map(features => features.enable));\r\n  }\r\n}\r\n\r\nexport const textTemplateManagementGuard = () => {\r\n  const textTemplateManagementFeatures = inject(TEXT_TEMPLATE_MANAGEMENT_FEATURES);\r\n\r\n  return textTemplateManagementFeatures.pipe(map(features => features.enable));\r\n};\r\n","import {\r\n  ExtensionsService,\r\n  getObjectExtensionEntitiesFromStore,\r\n  mapEntitiesToContributors,\r\n  mergeWithDefaultActions,\r\n  mergeWithDefaultProps,\r\n} from '@abp/ng.components/extensible';\r\nimport { Injector, inject } from '@angular/core';\r\nimport { ResolveFn } from '@angular/router';\r\n\r\nimport { map, tap } from 'rxjs/operators';\r\nimport { eTextTemplateManagementComponents } from '../enums/components';\r\nimport {\r\n  TextTemplateManagementEntityActionContributors,\r\n  TextTemplateManagementEntityPropContributors,\r\n  TextTemplateManagementToolbarActionContributors,\r\n} from '../models/config-options';\r\nimport {\r\n  DEFAULT_TEXT_TEMPLATE_MANAGEMENT_ENTITY_ACTIONS,\r\n  DEFAULT_TEXT_TEMPLATE_MANAGEMENT_ENTITY_PROPS,\r\n  DEFAULT_TEXT_TEMPLATE_MANAGEMENT_TOOLBAR_ACTIONS,\r\n  TEXT_TEMPLATE_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS,\r\n  TEXT_TEMPLATE_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS,\r\n  TEXT_TEMPLATE_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS,\r\n} from '../tokens/extensions.token';\r\n\r\nexport const textTemplateManagementExtensionsResolver: ResolveFn<any> = () => {\r\n  const injector = inject(Injector);\r\n  const extensions: ExtensionsService = injector.get(ExtensionsService);\r\n  const actionContributors: TextTemplateManagementEntityActionContributors =\r\n    injector.get(TEXT_TEMPLATE_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS, null) || {};\r\n  const toolbarContributors: TextTemplateManagementToolbarActionContributors =\r\n    injector.get(TEXT_TEMPLATE_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS, null) || {};\r\n  const propContributors: TextTemplateManagementEntityPropContributors =\r\n    injector.get(TEXT_TEMPLATE_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS, null) || {};\r\n\r\n  return getObjectExtensionEntitiesFromStore(injector, 'TextTemplateManagement').pipe(\r\n    map(entities => ({\r\n      [eTextTemplateManagementComponents.TextTemplates]: entities.TextDefinition,\r\n    })),\r\n    mapEntitiesToContributors(injector, 'TextTemplateManagement'),\r\n    tap(objectExtensionContributors => {\r\n      mergeWithDefaultActions(\r\n        extensions.entityActions,\r\n        DEFAULT_TEXT_TEMPLATE_MANAGEMENT_ENTITY_ACTIONS,\r\n        actionContributors,\r\n      );\r\n      mergeWithDefaultActions(\r\n        extensions.toolbarActions,\r\n        DEFAULT_TEXT_TEMPLATE_MANAGEMENT_TOOLBAR_ACTIONS,\r\n        toolbarContributors,\r\n      );\r\n      mergeWithDefaultProps(\r\n        extensions.entityProps,\r\n        DEFAULT_TEXT_TEMPLATE_MANAGEMENT_ENTITY_PROPS,\r\n        objectExtensionContributors.prop,\r\n        propContributors,\r\n      );\r\n    }),\r\n  );\r\n};\r\n","import {\r\n  authGuard,\r\n  permissionGuard,\r\n  ReplaceableComponents,\r\n  ReplaceableRouteContainerComponent,\r\n  RouterOutletComponent,\r\n} from '@abp/ng.core';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { InlineTemplateContentComponent } from './components/inline-template-content/inline-template-content.component';\r\nimport { TemplateContentsComponent } from './components/template-contents/template-contents.component';\r\nimport { TextTemplatesComponent } from './components/text-templates/text-templates.component';\r\nimport { eTextTemplateManagementComponents } from './enums/components';\r\nimport { textTemplateManagementGuard } from './guards/text-template-mangement.guard';\r\nimport { textTemplateManagementExtensionsResolver } from './resolvers/extensions.resolver';\r\n\r\nconst routes: Routes = [\r\n  { path: '', redirectTo: 'text-templates', pathMatch: 'full' },\r\n  {\r\n    path: 'text-templates',\r\n    component: RouterOutletComponent,\r\n    canActivate: [authGuard, permissionGuard, textTemplateManagementGuard],\r\n    resolve: [textTemplateManagementExtensionsResolver],\r\n    children: [\r\n      {\r\n        path: '',\r\n        component: ReplaceableRouteContainerComponent,\r\n        data: {\r\n          requiredPolicy: 'TextTemplateManagement.TextTemplates',\r\n          replaceableComponent: {\r\n            key: eTextTemplateManagementComponents.TextTemplates,\r\n            defaultComponent: TextTemplatesComponent,\r\n          } as ReplaceableComponents.RouteData<TextTemplatesComponent>,\r\n        },\r\n        title: 'TextTemplateManagement::Menu:TextTemplates',\r\n      },\r\n      {\r\n        path: 'contents',\r\n        component: RouterOutletComponent,\r\n        canActivate: [permissionGuard],\r\n        data: { requiredPolicy: 'TextTemplateManagement.TextTemplates.EditContents' },\r\n        children: [\r\n          {\r\n            path: 'inline/:name',\r\n            component: ReplaceableRouteContainerComponent,\r\n            data: {\r\n              replaceableComponent: {\r\n                key: eTextTemplateManagementComponents.InlineTemplateContent,\r\n                defaultComponent: InlineTemplateContentComponent,\r\n              } as ReplaceableComponents.RouteData<InlineTemplateContentComponent>,\r\n            },\r\n          },\r\n          {\r\n            path: ':name',\r\n            component: ReplaceableRouteContainerComponent,\r\n            data: {\r\n              replaceableComponent: {\r\n                key: eTextTemplateManagementComponents.TemplateContents,\r\n                defaultComponent: TemplateContentsComponent,\r\n              } as ReplaceableComponents.RouteData<TemplateContentsComponent>,\r\n            },\r\n          },\r\n        ],\r\n        title: 'TextTemplateManagement::Contents',\r\n      },\r\n    ],\r\n  },\r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\n  exports: [RouterModule],\r\n})\r\nexport class TextTemplateManagementRoutingModule {}\r\n","import { PageModule } from '@abp/ng.components/page';\r\nimport { CoreModule, LazyModuleFactory } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { ModuleWithProviders, NgModule, NgModuleFactory } from '@angular/core';\r\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\r\nimport { AdvancedEntityFiltersModule, CommercialUiModule } from '@volo/abp.commercial.ng.ui';\r\nimport { AbstractTemplateContentComponent } from './components/abstract-template-content/abstract-template-content.component';\r\nimport { InlineTemplateContentComponent } from './components/inline-template-content/inline-template-content.component';\r\nimport { TemplateContentsComponent } from './components/template-contents/template-contents.component';\r\nimport { TextTemplatesComponent } from './components/text-templates/text-templates.component';\r\nimport { TextTemplateManagementConfigOptions } from './models/config-options';\r\nimport { TextTemplateManagementRoutingModule } from './text-template-management-routing.module';\r\nimport {\r\n  TEXT_TEMPLATE_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS,\r\n  TEXT_TEMPLATE_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS,\r\n  TEXT_TEMPLATE_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS,\r\n} from './tokens/extensions.token';\r\n\r\n@NgModule({\r\n  exports: [\r\n    TextTemplatesComponent,\r\n    TemplateContentsComponent,\r\n    InlineTemplateContentComponent,\r\n    AbstractTemplateContentComponent,\r\n  ],\r\n  imports: [\r\n    TextTemplateManagementRoutingModule,\r\n    NgxValidateCoreModule,\r\n    CoreModule,\r\n    CommercialUiModule,\r\n    ThemeSharedModule,\r\n    NgbDropdownModule,\r\n    PageModule,\r\n    AdvancedEntityFiltersModule,\r\n    TextTemplatesComponent,\r\n    TemplateContentsComponent,\r\n    InlineTemplateContentComponent,\r\n    AbstractTemplateContentComponent,\r\n  ],\r\n})\r\nexport class TextTemplateManagementModule {\r\n  static forChild(\r\n    options: TextTemplateManagementConfigOptions = {},\r\n  ): ModuleWithProviders<TextTemplateManagementModule> {\r\n    return {\r\n      ngModule: TextTemplateManagementModule,\r\n      providers: [\r\n        {\r\n          provide: TEXT_TEMPLATE_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS,\r\n          useValue: options.entityActionContributors,\r\n        },\r\n        {\r\n          provide: TEXT_TEMPLATE_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS,\r\n          useValue: options.toolbarActionContributors,\r\n        },\r\n        {\r\n          provide: TEXT_TEMPLATE_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS,\r\n          useValue: options.entityPropContributors,\r\n        },\r\n      ],\r\n    };\r\n  }\r\n  /**\r\n   * @deprecated `TextTemplateManagementModule.forLazy()` is deprecated. You can use `createRoutes` **function** instead.\r\n   */\r\n  static forLazy(\r\n    options: TextTemplateManagementConfigOptions = {},\r\n  ): NgModuleFactory<TextTemplateManagementModule> {\r\n    return new LazyModuleFactory(TextTemplateManagementModule.forChild(options));\r\n  }\r\n}\r\n","import { Provider } from '@angular/core';\r\nimport { Routes } from '@angular/router';\r\nimport {\r\n  RouterOutletComponent,\r\n  authGuard,\r\n  permissionGuard,\r\n  ReplaceableRouteContainerComponent,\r\n  ReplaceableComponents,\r\n} from '@abp/ng.core';\r\nimport {\r\n  TextTemplatesComponent,\r\n  InlineTemplateContentComponent,\r\n  TemplateContentsComponent,\r\n} from './components';\r\nimport { eTextTemplateManagementComponents } from './enums';\r\nimport { textTemplateManagementGuard } from './guards';\r\nimport { TextTemplateManagementConfigOptions } from './models';\r\nimport { textTemplateManagementExtensionsResolver } from './resolvers';\r\nimport {\r\n  TEXT_TEMPLATE_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS,\r\n  TEXT_TEMPLATE_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS,\r\n  TEXT_TEMPLATE_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS,\r\n} from './tokens';\r\n\r\nexport function createRoutes(config: TextTemplateManagementConfigOptions = {}): Routes {\r\n  return [\r\n    { path: '', redirectTo: 'text-templates', pathMatch: 'full' },\r\n    {\r\n      path: 'text-templates',\r\n      component: RouterOutletComponent,\r\n      providers: provideTextTemplateManagementContributors(config),\r\n      canActivate: [authGuard, permissionGuard, textTemplateManagementGuard],\r\n      resolve: [textTemplateManagementExtensionsResolver],\r\n      children: [\r\n        {\r\n          path: '',\r\n          component: ReplaceableRouteContainerComponent,\r\n          data: {\r\n            requiredPolicy: 'TextTemplateManagement.TextTemplates',\r\n            replaceableComponent: {\r\n              key: eTextTemplateManagementComponents.TextTemplates,\r\n              defaultComponent: TextTemplatesComponent,\r\n            } as ReplaceableComponents.RouteData<TextTemplatesComponent>,\r\n          },\r\n          title: 'TextTemplateManagement::Menu:TextTemplates',\r\n        },\r\n        {\r\n          path: 'contents',\r\n          component: RouterOutletComponent,\r\n          canActivate: [permissionGuard],\r\n          data: { requiredPolicy: 'TextTemplateManagement.TextTemplates.EditContents' },\r\n          children: [\r\n            {\r\n              path: 'inline/:name',\r\n              component: ReplaceableRouteContainerComponent,\r\n              data: {\r\n                replaceableComponent: {\r\n                  key: eTextTemplateManagementComponents.InlineTemplateContent,\r\n                  defaultComponent: InlineTemplateContentComponent,\r\n                } as ReplaceableComponents.RouteData<InlineTemplateContentComponent>,\r\n              },\r\n            },\r\n            {\r\n              path: ':name',\r\n              component: ReplaceableRouteContainerComponent,\r\n              data: {\r\n                replaceableComponent: {\r\n                  key: eTextTemplateManagementComponents.TemplateContents,\r\n                  defaultComponent: TemplateContentsComponent,\r\n                } as ReplaceableComponents.RouteData<TemplateContentsComponent>,\r\n              },\r\n            },\r\n          ],\r\n          title: 'TextTemplateManagement::Contents',\r\n        },\r\n      ],\r\n    },\r\n  ];\r\n}\r\n\r\nfunction provideTextTemplateManagementContributors(\r\n  options: TextTemplateManagementConfigOptions = {},\r\n): Provider[] {\r\n  return [\r\n    {\r\n      provide: TEXT_TEMPLATE_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS,\r\n      useValue: options.entityActionContributors,\r\n    },\r\n    {\r\n      provide: TEXT_TEMPLATE_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS,\r\n      useValue: options.toolbarActionContributors,\r\n    },\r\n    {\r\n      provide: TEXT_TEMPLATE_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS,\r\n      useValue: options.entityPropContributors,\r\n    },\r\n  ];\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}