@abp/ng.setting-management 9.0.2 → 9.1.0-rc.1

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.
Files changed (46) hide show
  1. package/config/lib/providers/features.token.d.ts +1 -7
  2. package/config/lib/providers/route.provider.d.ts +2 -13
  3. package/config/lib/providers/setting-tab.provider.d.ts +2 -8
  4. package/config/lib/providers/visible.provider.d.ts +2 -8
  5. package/fesm2022/abp-ng.setting-management-config.mjs +60 -75
  6. package/fesm2022/abp-ng.setting-management-config.mjs.map +1 -1
  7. package/fesm2022/abp-ng.setting-management-proxy.mjs +6 -6
  8. package/fesm2022/abp-ng.setting-management.mjs +12 -12
  9. package/fesm2022/abp-ng.setting-management.mjs.map +1 -1
  10. package/package.json +3 -9
  11. package/esm2022/abp-ng.setting-management.mjs +0 -5
  12. package/esm2022/config/abp-ng.setting-management-config.mjs +0 -5
  13. package/esm2022/config/lib/components/email-setting-group/email-setting-group.component.mjs +0 -92
  14. package/esm2022/config/lib/enums/index.mjs +0 -4
  15. package/esm2022/config/lib/enums/policy-names.mjs +0 -2
  16. package/esm2022/config/lib/enums/route-names.mjs +0 -2
  17. package/esm2022/config/lib/enums/setting-tab-names.mjs +0 -2
  18. package/esm2022/config/lib/providers/features.token.mjs +0 -30
  19. package/esm2022/config/lib/providers/index.mjs +0 -6
  20. package/esm2022/config/lib/providers/route.provider.mjs +0 -34
  21. package/esm2022/config/lib/providers/setting-management-config.provider.mjs +0 -11
  22. package/esm2022/config/lib/providers/setting-tab.provider.mjs +0 -24
  23. package/esm2022/config/lib/providers/visible.provider.mjs +0 -26
  24. package/esm2022/config/lib/proxy/email-settings.service.mjs +0 -36
  25. package/esm2022/config/lib/proxy/index.mjs +0 -3
  26. package/esm2022/config/lib/proxy/models.mjs +0 -2
  27. package/esm2022/config/lib/services/index.mjs +0 -2
  28. package/esm2022/config/lib/services/settings-tabs.service.mjs +0 -12
  29. package/esm2022/config/lib/setting-management-config.module.mjs +0 -30
  30. package/esm2022/config/public-api.mjs +0 -7
  31. package/esm2022/lib/components/setting-management.component.mjs +0 -33
  32. package/esm2022/lib/enums/components.mjs +0 -2
  33. package/esm2022/lib/enums/index.mjs +0 -3
  34. package/esm2022/lib/enums/route-names.mjs +0 -2
  35. package/esm2022/lib/setting-management-routing.module.mjs +0 -40
  36. package/esm2022/lib/setting-management.module.mjs +0 -30
  37. package/esm2022/proxy/abp-ng.setting-management-proxy.mjs +0 -5
  38. package/esm2022/proxy/lib/proxy/email-settings.service.mjs +0 -33
  39. package/esm2022/proxy/lib/proxy/index.mjs +0 -6
  40. package/esm2022/proxy/lib/proxy/models.mjs +0 -2
  41. package/esm2022/proxy/lib/proxy/time-zone-settings.service.mjs +0 -33
  42. package/esm2022/proxy/lib/proxy/volo/abp/index.mjs +0 -2
  43. package/esm2022/proxy/lib/proxy/volo/abp/models.mjs +0 -2
  44. package/esm2022/proxy/lib/proxy/volo/index.mjs +0 -3
  45. package/esm2022/proxy/public-api.mjs +0 -2
  46. package/esm2022/public-api.mjs +0 -4
@@ -28,12 +28,12 @@ class SettingManagementComponent {
28
28
  this.selected = this.settings[0];
29
29
  }));
30
30
  }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SettingManagementComponent, deps: [{ token: i1.SettingTabsService }], target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.5", type: SettingManagementComponent, selector: "abp-setting-management", ngImport: i0, template: "<abp-page [title]=\"'AbpSettingManagement::Settings' | abpLocalization\">\r\n <div id=\"SettingManagementWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-md-3 mb-2 mb-md-0\">\r\n <ul class=\"nav flex-column nav-pills\" id=\"nav-tab\" role=\"tablist\">\r\n <ng-container *abpFor=\"let setting of settings; trackBy: trackByFn\">\r\n <li\r\n (click)=\"selected = setting\"\r\n class=\"nav-item pointer\"\r\n *abpPermission=\"setting.requiredPolicy\"\r\n >\r\n <a\r\n class=\"nav-link\"\r\n [id]=\"setting.name + '-tab'\"\r\n role=\"tab\"\r\n [class.active]=\"setting.name === selected.name\"\r\n >{{ setting.name | abpLocalization }}</a\r\n >\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n <div class=\"col-12 col-md-9\">\r\n @if (settings.length) {\r\n <div class=\"tab-content\">\r\n <div class=\"tab-pane fade show active\" [id]=\"selected.name + '-tab'\" role=\"tabpanel\">\r\n <ng-container *ngComponentOutlet=\"selected.component\"></ng-container>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n", dependencies: [{ kind: "directive", type: i2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i3.ForDirective, selector: "[abpFor]", inputs: ["abpForOf", "abpForOrderBy", "abpForOrderDir", "abpForFilterBy", "abpForFilterVal", "abpForTrackBy", "abpForCompareBy", "abpForEmptyRef"] }, { kind: "directive", type: i3.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission", "abpPermissionRunChangeDetection"] }, { kind: "component", type: i4.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "pipe", type: i3.LocalizationPipe, name: "abpLocalization" }] }); }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: SettingManagementComponent, deps: [{ token: i1.SettingTabsService }], target: i0.ɵɵFactoryTarget.Component }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.7", type: SettingManagementComponent, isStandalone: false, selector: "abp-setting-management", ngImport: i0, template: "<abp-page [title]=\"'AbpSettingManagement::Settings' | abpLocalization\">\r\n <div id=\"SettingManagementWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-md-3 mb-2 mb-md-0\">\r\n <ul class=\"nav flex-column nav-pills\" id=\"nav-tab\" role=\"tablist\">\r\n <ng-container *abpFor=\"let setting of settings; trackBy: trackByFn\">\r\n <li\r\n (click)=\"selected = setting\"\r\n class=\"nav-item pointer\"\r\n *abpPermission=\"setting.requiredPolicy\"\r\n >\r\n <a\r\n class=\"nav-link\"\r\n [id]=\"setting.name + '-tab'\"\r\n role=\"tab\"\r\n [class.active]=\"setting.name === selected.name\"\r\n >{{ setting.name | abpLocalization }}</a\r\n >\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n <div class=\"col-12 col-md-9\">\r\n @if (settings.length) {\r\n <div class=\"tab-content\">\r\n <div class=\"tab-pane fade show active\" [id]=\"selected.name + '-tab'\" role=\"tabpanel\">\r\n <ng-container *ngComponentOutlet=\"selected.component\"></ng-container>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n", dependencies: [{ kind: "directive", type: i2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i3.ForDirective, selector: "[abpFor]", inputs: ["abpForOf", "abpForOrderBy", "abpForOrderDir", "abpForFilterBy", "abpForFilterVal", "abpForTrackBy", "abpForCompareBy", "abpForEmptyRef"] }, { kind: "directive", type: i3.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission", "abpPermissionRunChangeDetection"] }, { kind: "component", type: i4.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "pipe", type: i3.LocalizationPipe, name: "abpLocalization" }] }); }
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SettingManagementComponent, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: SettingManagementComponent, decorators: [{
35
35
  type: Component,
36
- args: [{ selector: 'abp-setting-management', template: "<abp-page [title]=\"'AbpSettingManagement::Settings' | abpLocalization\">\r\n <div id=\"SettingManagementWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-md-3 mb-2 mb-md-0\">\r\n <ul class=\"nav flex-column nav-pills\" id=\"nav-tab\" role=\"tablist\">\r\n <ng-container *abpFor=\"let setting of settings; trackBy: trackByFn\">\r\n <li\r\n (click)=\"selected = setting\"\r\n class=\"nav-item pointer\"\r\n *abpPermission=\"setting.requiredPolicy\"\r\n >\r\n <a\r\n class=\"nav-link\"\r\n [id]=\"setting.name + '-tab'\"\r\n role=\"tab\"\r\n [class.active]=\"setting.name === selected.name\"\r\n >{{ setting.name | abpLocalization }}</a\r\n >\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n <div class=\"col-12 col-md-9\">\r\n @if (settings.length) {\r\n <div class=\"tab-content\">\r\n <div class=\"tab-pane fade show active\" [id]=\"selected.name + '-tab'\" role=\"tabpanel\">\r\n <ng-container *ngComponentOutlet=\"selected.component\"></ng-container>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n" }]
36
+ args: [{ standalone: false, selector: 'abp-setting-management', template: "<abp-page [title]=\"'AbpSettingManagement::Settings' | abpLocalization\">\r\n <div id=\"SettingManagementWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-md-3 mb-2 mb-md-0\">\r\n <ul class=\"nav flex-column nav-pills\" id=\"nav-tab\" role=\"tablist\">\r\n <ng-container *abpFor=\"let setting of settings; trackBy: trackByFn\">\r\n <li\r\n (click)=\"selected = setting\"\r\n class=\"nav-item pointer\"\r\n *abpPermission=\"setting.requiredPolicy\"\r\n >\r\n <a\r\n class=\"nav-link\"\r\n [id]=\"setting.name + '-tab'\"\r\n role=\"tab\"\r\n [class.active]=\"setting.name === selected.name\"\r\n >{{ setting.name | abpLocalization }}</a\r\n >\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n <div class=\"col-12 col-md-9\">\r\n @if (settings.length) {\r\n <div class=\"tab-content\">\r\n <div class=\"tab-pane fade show active\" [id]=\"selected.name + '-tab'\" role=\"tabpanel\">\r\n <ng-container *ngComponentOutlet=\"selected.component\"></ng-container>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n" }]
37
37
  }], ctorParameters: () => [{ type: i1.SettingTabsService }] });
38
38
 
39
39
  const routes = [
@@ -58,11 +58,11 @@ const routes = [
58
58
  },
59
59
  ];
60
60
  class SettingManagementRoutingModule {
61
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SettingManagementRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
62
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: SettingManagementRoutingModule, imports: [i1$1.RouterModule], exports: [RouterModule] }); }
63
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SettingManagementRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
61
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: SettingManagementRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
62
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.7", ngImport: i0, type: SettingManagementRoutingModule, imports: [i1$1.RouterModule], exports: [RouterModule] }); }
63
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: SettingManagementRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
64
64
  }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SettingManagementRoutingModule, decorators: [{
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: SettingManagementRoutingModule, decorators: [{
66
66
  type: NgModule,
67
67
  args: [{
68
68
  imports: [RouterModule.forChild(routes)],
@@ -80,11 +80,11 @@ class SettingManagementModule {
80
80
  static forLazy() {
81
81
  return new LazyModuleFactory(SettingManagementModule.forChild());
82
82
  }
83
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SettingManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
84
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: SettingManagementModule, declarations: [SettingManagementComponent], imports: [SettingManagementRoutingModule, CoreModule, ThemeSharedModule, PageModule], exports: [SettingManagementComponent] }); }
85
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SettingManagementModule, imports: [SettingManagementRoutingModule, CoreModule, ThemeSharedModule, PageModule] }); }
83
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: SettingManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
84
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.7", ngImport: i0, type: SettingManagementModule, declarations: [SettingManagementComponent], imports: [SettingManagementRoutingModule, CoreModule, ThemeSharedModule, PageModule], exports: [SettingManagementComponent] }); }
85
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: SettingManagementModule, imports: [SettingManagementRoutingModule, CoreModule, ThemeSharedModule, PageModule] }); }
86
86
  }
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SettingManagementModule, decorators: [{
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: SettingManagementModule, decorators: [{
88
88
  type: NgModule,
89
89
  args: [{
90
90
  declarations: [SettingManagementComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"abp-ng.setting-management.mjs","sources":["../../../../packages/setting-management/src/lib/components/setting-management.component.ts","../../../../packages/setting-management/src/lib/components/setting-management.component.html","../../../../packages/setting-management/src/lib/setting-management-routing.module.ts","../../../../packages/setting-management/src/lib/setting-management.module.ts","../../../../packages/setting-management/src/abp-ng.setting-management.ts"],"sourcesContent":["import { ABP } from '@abp/ng.core';\r\nimport { SettingTabsService } from '@abp/ng.setting-management/config';\r\nimport { Component, OnDestroy, OnInit, TrackByFunction } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'abp-setting-management',\r\n templateUrl: './setting-management.component.html',\r\n})\r\nexport class SettingManagementComponent implements OnDestroy, OnInit {\r\n private subscription = new Subscription();\r\n settings: ABP.Tab[] = [];\r\n\r\n selected!: ABP.Tab;\r\n\r\n trackByFn: TrackByFunction<ABP.Tab> = (_, item) => item.name;\r\n\r\n constructor(private settingTabsService: SettingTabsService) {}\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n ngOnInit() {\r\n this.subscription.add(\r\n this.settingTabsService.visible$.subscribe(settings => {\r\n this.settings = settings;\r\n\r\n if (!this.selected) this.selected = this.settings[0];\r\n }),\r\n );\r\n }\r\n}\r\n","<abp-page [title]=\"'AbpSettingManagement::Settings' | abpLocalization\">\r\n <div id=\"SettingManagementWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-md-3 mb-2 mb-md-0\">\r\n <ul class=\"nav flex-column nav-pills\" id=\"nav-tab\" role=\"tablist\">\r\n <ng-container *abpFor=\"let setting of settings; trackBy: trackByFn\">\r\n <li\r\n (click)=\"selected = setting\"\r\n class=\"nav-item pointer\"\r\n *abpPermission=\"setting.requiredPolicy\"\r\n >\r\n <a\r\n class=\"nav-link\"\r\n [id]=\"setting.name + '-tab'\"\r\n role=\"tab\"\r\n [class.active]=\"setting.name === selected.name\"\r\n >{{ setting.name | abpLocalization }}</a\r\n >\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n <div class=\"col-12 col-md-9\">\r\n @if (settings.length) {\r\n <div class=\"tab-content\">\r\n <div class=\"tab-pane fade show active\" [id]=\"selected.name + '-tab'\" role=\"tabpanel\">\r\n <ng-container *ngComponentOutlet=\"selected.component\"></ng-container>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport {\r\n authGuard,\r\n ReplaceableComponents,\r\n ReplaceableRouteContainerComponent,\r\n RouterOutletComponent,\r\n} from '@abp/ng.core';\r\nimport { SettingManagementComponent } from './components/setting-management.component';\r\nimport { eSettingManagementComponents } from './enums/components';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: RouterOutletComponent,\r\n canActivate: [authGuard],\r\n children: [\r\n {\r\n path: '',\r\n component: ReplaceableRouteContainerComponent,\r\n data: {\r\n requiredPolicy: 'AbpAccount.SettingManagement',\r\n replaceableComponent: {\r\n key: eSettingManagementComponents.SettingManagement,\r\n defaultComponent: SettingManagementComponent,\r\n } as ReplaceableComponents.RouteData,\r\n },\r\n },\r\n ],\r\n title: 'AbpSettingManagement::Settings',\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class SettingManagementRoutingModule { }\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 { SettingManagementComponent } from './components/setting-management.component';\r\nimport { SettingManagementRoutingModule } from './setting-management-routing.module';\r\n\r\n@NgModule({\r\n declarations: [SettingManagementComponent],\r\n exports: [SettingManagementComponent],\r\n imports: [SettingManagementRoutingModule, CoreModule, ThemeSharedModule, PageModule],\r\n})\r\nexport class SettingManagementModule {\r\n static forChild(): ModuleWithProviders<SettingManagementModule> {\r\n return {\r\n ngModule: SettingManagementModule,\r\n providers: [],\r\n };\r\n }\r\n\r\n static forLazy(): NgModuleFactory<SettingManagementModule> {\r\n return new LazyModuleFactory(SettingManagementModule.forChild());\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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"}
1
+ {"version":3,"file":"abp-ng.setting-management.mjs","sources":["../../../../packages/setting-management/src/lib/components/setting-management.component.ts","../../../../packages/setting-management/src/lib/components/setting-management.component.html","../../../../packages/setting-management/src/lib/setting-management-routing.module.ts","../../../../packages/setting-management/src/lib/setting-management.module.ts","../../../../packages/setting-management/src/abp-ng.setting-management.ts"],"sourcesContent":["import { ABP } from '@abp/ng.core';\r\nimport { SettingTabsService } from '@abp/ng.setting-management/config';\r\nimport { Component, OnDestroy, OnInit, TrackByFunction } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'abp-setting-management',\r\n templateUrl: './setting-management.component.html',\r\n})\r\nexport class SettingManagementComponent implements OnDestroy, OnInit {\r\n private subscription = new Subscription();\r\n settings: ABP.Tab[] = [];\r\n\r\n selected!: ABP.Tab;\r\n\r\n trackByFn: TrackByFunction<ABP.Tab> = (_, item) => item.name;\r\n\r\n constructor(private settingTabsService: SettingTabsService) {}\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n ngOnInit() {\r\n this.subscription.add(\r\n this.settingTabsService.visible$.subscribe(settings => {\r\n this.settings = settings;\r\n\r\n if (!this.selected) this.selected = this.settings[0];\r\n }),\r\n );\r\n }\r\n}\r\n","<abp-page [title]=\"'AbpSettingManagement::Settings' | abpLocalization\">\r\n <div id=\"SettingManagementWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <div class=\"row\">\r\n <div class=\"col-12 col-md-3 mb-2 mb-md-0\">\r\n <ul class=\"nav flex-column nav-pills\" id=\"nav-tab\" role=\"tablist\">\r\n <ng-container *abpFor=\"let setting of settings; trackBy: trackByFn\">\r\n <li\r\n (click)=\"selected = setting\"\r\n class=\"nav-item pointer\"\r\n *abpPermission=\"setting.requiredPolicy\"\r\n >\r\n <a\r\n class=\"nav-link\"\r\n [id]=\"setting.name + '-tab'\"\r\n role=\"tab\"\r\n [class.active]=\"setting.name === selected.name\"\r\n >{{ setting.name | abpLocalization }}</a\r\n >\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n <div class=\"col-12 col-md-9\">\r\n @if (settings.length) {\r\n <div class=\"tab-content\">\r\n <div class=\"tab-pane fade show active\" [id]=\"selected.name + '-tab'\" role=\"tabpanel\">\r\n <ng-container *ngComponentOutlet=\"selected.component\"></ng-container>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport {\r\n authGuard,\r\n ReplaceableComponents,\r\n ReplaceableRouteContainerComponent,\r\n RouterOutletComponent,\r\n} from '@abp/ng.core';\r\nimport { SettingManagementComponent } from './components/setting-management.component';\r\nimport { eSettingManagementComponents } from './enums/components';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: RouterOutletComponent,\r\n canActivate: [authGuard],\r\n children: [\r\n {\r\n path: '',\r\n component: ReplaceableRouteContainerComponent,\r\n data: {\r\n requiredPolicy: 'AbpAccount.SettingManagement',\r\n replaceableComponent: {\r\n key: eSettingManagementComponents.SettingManagement,\r\n defaultComponent: SettingManagementComponent,\r\n } as ReplaceableComponents.RouteData,\r\n },\r\n },\r\n ],\r\n title: 'AbpSettingManagement::Settings',\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class SettingManagementRoutingModule { }\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 { SettingManagementComponent } from './components/setting-management.component';\r\nimport { SettingManagementRoutingModule } from './setting-management-routing.module';\r\n\r\n@NgModule({\r\n declarations: [SettingManagementComponent],\r\n exports: [SettingManagementComponent],\r\n imports: [SettingManagementRoutingModule, CoreModule, ThemeSharedModule, PageModule],\r\n})\r\nexport class SettingManagementModule {\r\n static forChild(): ModuleWithProviders<SettingManagementModule> {\r\n return {\r\n ngModule: SettingManagementModule,\r\n providers: [],\r\n };\r\n }\r\n\r\n static forLazy(): NgModuleFactory<SettingManagementModule> {\r\n return new LazyModuleFactory(SettingManagementModule.forChild());\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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"}
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@abp/ng.setting-management",
3
- "version": "9.0.2",
3
+ "version": "9.1.0-rc.1",
4
4
  "homepage": "https://abp.io",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/abpframework/abp.git"
8
8
  },
9
9
  "dependencies": {
10
- "@abp/ng.components": "~9.0.2",
11
- "@abp/ng.theme.shared": "~9.0.2",
10
+ "@abp/ng.components": "~9.1.0-rc.1",
11
+ "@abp/ng.theme.shared": "~9.1.0-rc.1",
12
12
  "tslib": "^2.0.0"
13
13
  },
14
14
  "publishConfig": {
@@ -36,20 +36,14 @@
36
36
  },
37
37
  ".": {
38
38
  "types": "./index.d.ts",
39
- "esm2022": "./esm2022/abp-ng.setting-management.mjs",
40
- "esm": "./esm2022/abp-ng.setting-management.mjs",
41
39
  "default": "./fesm2022/abp-ng.setting-management.mjs"
42
40
  },
43
41
  "./config": {
44
42
  "types": "./config/index.d.ts",
45
- "esm2022": "./esm2022/config/abp-ng.setting-management-config.mjs",
46
- "esm": "./esm2022/config/abp-ng.setting-management-config.mjs",
47
43
  "default": "./fesm2022/abp-ng.setting-management-config.mjs"
48
44
  },
49
45
  "./proxy": {
50
46
  "types": "./proxy/index.d.ts",
51
- "esm2022": "./esm2022/proxy/abp-ng.setting-management-proxy.mjs",
52
- "esm": "./esm2022/proxy/abp-ng.setting-management-proxy.mjs",
53
47
  "default": "./fesm2022/abp-ng.setting-management-proxy.mjs"
54
48
  }
55
49
  },
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnNldHRpbmctbWFuYWdlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NldHRpbmctbWFuYWdlbWVudC9zcmMvYWJwLW5nLnNldHRpbmctbWFuYWdlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLnNldHRpbmctbWFuYWdlbWVudC1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zZXR0aW5nLW1hbmFnZW1lbnQvY29uZmlnL3NyYy9hYnAtbmcuc2V0dGluZy1tYW5hZ2VtZW50LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -1,92 +0,0 @@
1
- import { collapse, ToasterService } from '@abp/ng.theme.shared';
2
- import { Component, inject } from '@angular/core';
3
- import { toSignal } from '@angular/core/rxjs-interop';
4
- import { UntypedFormBuilder, Validators } from '@angular/forms';
5
- import { finalize } from 'rxjs/operators';
6
- import { EmailSettingsService } from '@abp/ng.setting-management/proxy';
7
- import { ConfigStateService, LocalizationService } from '@abp/ng.core';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@abp/ng.setting-management/proxy";
10
- import * as i2 from "@angular/forms";
11
- import * as i3 from "@abp/ng.theme.shared";
12
- import * as i4 from "@abp/ng.core";
13
- import * as i5 from "@ngx-validate/core";
14
- const { required, email } = Validators;
15
- export class EmailSettingGroupComponent {
16
- constructor(emailSettingsService, fb, toasterService) {
17
- this.emailSettingsService = emailSettingsService;
18
- this.fb = fb;
19
- this.toasterService = toasterService;
20
- this.localizationService = inject(LocalizationService);
21
- this.configStateSevice = inject(ConfigStateService);
22
- this.currentUserEmail = toSignal(this.configStateSevice.getDeep$(['currentUser', 'email']));
23
- this.saving = false;
24
- this.emailingPolicy = "SettingManagement.Emailing" /* SettingManagementPolicyNames.Emailing */;
25
- this.isEmailTestModalOpen = false;
26
- this.modalSize = { size: 'lg' };
27
- }
28
- ngOnInit() {
29
- this.getData();
30
- }
31
- getData() {
32
- this.emailSettingsService.get().subscribe(res => {
33
- this.buildForm(res);
34
- });
35
- }
36
- buildForm(emailSettings) {
37
- this.form = this.fb.group({
38
- defaultFromDisplayName: [emailSettings.defaultFromDisplayName, [Validators.required]],
39
- defaultFromAddress: [emailSettings.defaultFromAddress, [Validators.required]],
40
- smtpHost: [emailSettings.smtpHost],
41
- smtpPort: [emailSettings.smtpPort, [Validators.required]],
42
- smtpEnableSsl: [emailSettings.smtpEnableSsl],
43
- smtpUseDefaultCredentials: [emailSettings.smtpUseDefaultCredentials],
44
- smtpDomain: [emailSettings.smtpDomain],
45
- smtpUserName: [emailSettings.smtpUserName],
46
- smtpPassword: [emailSettings.smtpPassword],
47
- });
48
- }
49
- submit() {
50
- if (this.saving || this.form.invalid)
51
- return;
52
- this.saving = true;
53
- this.emailSettingsService
54
- .update(this.form.value)
55
- .pipe(finalize(() => (this.saving = false)))
56
- .subscribe(() => {
57
- this.toasterService.success('AbpSettingManagement::SavedSuccessfully');
58
- this.getData();
59
- });
60
- }
61
- openSendEmailModal() {
62
- this.buildEmailTestForm();
63
- this.isEmailTestModalOpen = true;
64
- }
65
- buildEmailTestForm() {
66
- const { defaultFromAddress } = this.form.value || {};
67
- const defaultSubject = this.localizationService.instant('AbpSettingManagement::TestEmailSubject', ...[Math.floor(Math.random() * 9999).toString()]);
68
- const defaultBody = this.localizationService.instant('AbpSettingManagement::TestEmailBody');
69
- this.emailTestForm = this.fb.group({
70
- senderEmailAddress: [defaultFromAddress || '', [required, email]],
71
- targetEmailAddress: [this.currentUserEmail(), [required, email]],
72
- subject: [defaultSubject, [required]],
73
- body: [defaultBody],
74
- });
75
- }
76
- emailTestFormSubmit() {
77
- if (this.emailTestForm.invalid) {
78
- return;
79
- }
80
- this.emailSettingsService.sendTestEmail(this.emailTestForm.value).subscribe(res => {
81
- this.toasterService.success('AbpSettingManagement::SuccessfullySent');
82
- this.isEmailTestModalOpen = false;
83
- });
84
- }
85
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: EmailSettingGroupComponent, deps: [{ token: i1.EmailSettingsService }, { token: i2.UntypedFormBuilder }, { token: i3.ToasterService }], target: i0.ɵɵFactoryTarget.Component }); }
86
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.5", type: EmailSettingGroupComponent, selector: "abp-email-setting-group", ngImport: i0, template: "@if (form) {\r\n <form [formGroup]=\"form\" class=\"py-2 abp-md-form\" (ngSubmit)=\"submit()\" [validateOnSubmit]=\"true\">\r\n <div class=\"mb-3 form-group\">\r\n <label class=\"form-label\"\r\n >{{ 'AbpSettingManagement::DefaultFromDisplayName' | abpLocalization\r\n }}<span class=\"ms-1\">*</span></label\r\n >\r\n <input type=\"text\" class=\"form-control\" formControlName=\"defaultFromDisplayName\" />\r\n </div>\r\n <div class=\"mb-3 form-group\">\r\n <label class=\"form-label\"\r\n >{{ 'AbpSettingManagement::DefaultFromAddress' | abpLocalization\r\n }}<span class=\"ms-1\">*</span></label\r\n >\r\n <input type=\"text\" class=\"form-control\" formControlName=\"defaultFromAddress\" />\r\n </div>\r\n <div class=\"mb-3 form-group\">\r\n <label class=\"form-label\">{{ 'AbpSettingManagement::SmtpHost' | abpLocalization }}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"smtpHost\" />\r\n </div>\r\n <div class=\"mb-3 form-group\">\r\n <label class=\"form-label\"\r\n >{{ 'AbpSettingManagement::SmtpPort' | abpLocalization }}<span class=\"ms-1\">*</span></label\r\n >\r\n <input type=\"number\" class=\"form-control\" formControlName=\"smtpPort\" />\r\n </div>\r\n\r\n <div class=\"form-check mb-2\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"smtp-enable-ssl\"\r\n class=\"form-check-input\"\r\n formControlName=\"smtpEnableSsl\"\r\n />\r\n <label class=\"form-check-label\" for=\"smtp-enable-ssl\">{{\r\n 'AbpSettingManagement::SmtpEnableSsl' | abpLocalization\r\n }}</label>\r\n </div>\r\n <div class=\"form-check mb-2\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"smtp-use-default-credentials\"\r\n class=\"form-check-input\"\r\n formControlName=\"smtpUseDefaultCredentials\"\r\n />\r\n <label class=\"form-check-label\" for=\"smtp-use-default-credentials\">{{\r\n 'AbpSettingManagement::SmtpUseDefaultCredentials' | abpLocalization\r\n }}</label>\r\n </div>\r\n\r\n <div\r\n [@collapse]=\"{\r\n value: form.get('smtpUseDefaultCredentials')?.value ? 'collapsed' : 'expanded',\r\n params: { time: '200ms', easing: 'linear' }\r\n }\"\r\n >\r\n <div class=\"mb-3 form-group\">\r\n <label class=\"form-label\">{{ 'AbpSettingManagement::SmtpDomain' | abpLocalization }}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"smtpDomain\" />\r\n </div>\r\n\r\n <div class=\"mb-3 form-group\">\r\n <label class=\"form-label\">{{\r\n 'AbpSettingManagement::SmtpUserName' | abpLocalization\r\n }}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"smtpUserName\" />\r\n </div>\r\n\r\n <div class=\"form-group\">\r\n <label class=\"form-label\">{{\r\n 'AbpSettingManagement::SmtpPassword' | abpLocalization\r\n }}</label>\r\n <input type=\"password\" class=\"form-control\" formControlName=\"smtpPassword\" />\r\n </div>\r\n </div>\r\n\r\n <hr />\r\n\r\n <abp-button buttonType=\"submit\" iconClass=\"fa fa-save\">\r\n {{ 'AbpSettingManagement::Save' | abpLocalization }}\r\n </abp-button>\r\n <button\r\n *abpPermission=\"emailingPolicy\"\r\n type=\"button\"\r\n (click)=\"openSendEmailModal()\"\r\n class=\"btn btn-primary mx-2\"\r\n >\r\n <i class=\"fa f-send\" aria-hidden=\"true\"></i>\r\n {{ 'AbpSettingManagement::SendTestEmail' | abpLocalization }}\r\n </button>\r\n </form>\r\n}\r\n\r\n<abp-modal [(visible)]=\"isEmailTestModalOpen\" [options]=\"modalSize\">\r\n <ng-template #abpHeader>\r\n <h3>{{ 'SendTestEmail' | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"emailTestForm\" id=\"emailTestForm\" (ngSubmit)=\"emailTestFormSubmit()\">\r\n <div class=\"mb-3 form-group\">\r\n <label class=\"form-label\">{{\r\n 'AbpSettingManagement::SenderEmailAddress' | abpLocalization\r\n }}</label>\r\n <input class=\"form-control\" formControlName=\"senderEmailAddress\" />\r\n </div>\r\n\r\n <div class=\"mb-3 form-group\">\r\n <label class=\"form-label\">{{\r\n 'AbpSettingManagement::TargetEmailAddress' | abpLocalization\r\n }}</label>\r\n <input class=\"form-control\" formControlName=\"targetEmailAddress\" />\r\n </div>\r\n\r\n <div class=\"mb-3 form-group\">\r\n <label class=\"form-label\">{{ 'AbpSettingManagement::Subject' | abpLocalization }}</label>\r\n <input class=\"form-control\" formControlName=\"subject\" />\r\n </div>\r\n\r\n <div class=\"mb-3 form-group\">\r\n <label class=\"form-label\">{{ 'AbpSettingManagement::Body' | abpLocalization }}</label>\r\n <textarea class=\"form-control\" formControlName=\"body\"></textarea>\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <abp-button\r\n buttonType=\"submit\"\r\n iconClass=\"fa fa-send\"\r\n formName=\"emailTestForm\"\r\n [disabled]=\"emailTestForm.invalid && emailTestForm.dirty\"\r\n >\r\n <span>{{ 'AbpTenantManagement::Send' | abpLocalization }}</span>\r\n </abp-button>\r\n\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>Close</button>\r\n </ng-template>\r\n</abp-modal>\r\n", dependencies: [{ kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i4.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission", "abpPermissionRunChangeDetection"] }, { kind: "directive", type: i5.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i5.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i3.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i3.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i3.ModalCloseDirective, selector: "[abpClose]" }, { kind: "pipe", type: i4.LocalizationPipe, name: "abpLocalization" }], animations: [collapse] }); }
87
- }
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: EmailSettingGroupComponent, decorators: [{
89
- type: Component,
90
- args: [{ selector: 'abp-email-setting-group', animations: [collapse], template: "@if (form) {\r\n <form [formGroup]=\"form\" class=\"py-2 abp-md-form\" (ngSubmit)=\"submit()\" [validateOnSubmit]=\"true\">\r\n <div class=\"mb-3 form-group\">\r\n <label class=\"form-label\"\r\n >{{ 'AbpSettingManagement::DefaultFromDisplayName' | abpLocalization\r\n }}<span class=\"ms-1\">*</span></label\r\n >\r\n <input type=\"text\" class=\"form-control\" formControlName=\"defaultFromDisplayName\" />\r\n </div>\r\n <div class=\"mb-3 form-group\">\r\n <label class=\"form-label\"\r\n >{{ 'AbpSettingManagement::DefaultFromAddress' | abpLocalization\r\n }}<span class=\"ms-1\">*</span></label\r\n >\r\n <input type=\"text\" class=\"form-control\" formControlName=\"defaultFromAddress\" />\r\n </div>\r\n <div class=\"mb-3 form-group\">\r\n <label class=\"form-label\">{{ 'AbpSettingManagement::SmtpHost' | abpLocalization }}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"smtpHost\" />\r\n </div>\r\n <div class=\"mb-3 form-group\">\r\n <label class=\"form-label\"\r\n >{{ 'AbpSettingManagement::SmtpPort' | abpLocalization }}<span class=\"ms-1\">*</span></label\r\n >\r\n <input type=\"number\" class=\"form-control\" formControlName=\"smtpPort\" />\r\n </div>\r\n\r\n <div class=\"form-check mb-2\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"smtp-enable-ssl\"\r\n class=\"form-check-input\"\r\n formControlName=\"smtpEnableSsl\"\r\n />\r\n <label class=\"form-check-label\" for=\"smtp-enable-ssl\">{{\r\n 'AbpSettingManagement::SmtpEnableSsl' | abpLocalization\r\n }}</label>\r\n </div>\r\n <div class=\"form-check mb-2\">\r\n <input\r\n type=\"checkbox\"\r\n id=\"smtp-use-default-credentials\"\r\n class=\"form-check-input\"\r\n formControlName=\"smtpUseDefaultCredentials\"\r\n />\r\n <label class=\"form-check-label\" for=\"smtp-use-default-credentials\">{{\r\n 'AbpSettingManagement::SmtpUseDefaultCredentials' | abpLocalization\r\n }}</label>\r\n </div>\r\n\r\n <div\r\n [@collapse]=\"{\r\n value: form.get('smtpUseDefaultCredentials')?.value ? 'collapsed' : 'expanded',\r\n params: { time: '200ms', easing: 'linear' }\r\n }\"\r\n >\r\n <div class=\"mb-3 form-group\">\r\n <label class=\"form-label\">{{ 'AbpSettingManagement::SmtpDomain' | abpLocalization }}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"smtpDomain\" />\r\n </div>\r\n\r\n <div class=\"mb-3 form-group\">\r\n <label class=\"form-label\">{{\r\n 'AbpSettingManagement::SmtpUserName' | abpLocalization\r\n }}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"smtpUserName\" />\r\n </div>\r\n\r\n <div class=\"form-group\">\r\n <label class=\"form-label\">{{\r\n 'AbpSettingManagement::SmtpPassword' | abpLocalization\r\n }}</label>\r\n <input type=\"password\" class=\"form-control\" formControlName=\"smtpPassword\" />\r\n </div>\r\n </div>\r\n\r\n <hr />\r\n\r\n <abp-button buttonType=\"submit\" iconClass=\"fa fa-save\">\r\n {{ 'AbpSettingManagement::Save' | abpLocalization }}\r\n </abp-button>\r\n <button\r\n *abpPermission=\"emailingPolicy\"\r\n type=\"button\"\r\n (click)=\"openSendEmailModal()\"\r\n class=\"btn btn-primary mx-2\"\r\n >\r\n <i class=\"fa f-send\" aria-hidden=\"true\"></i>\r\n {{ 'AbpSettingManagement::SendTestEmail' | abpLocalization }}\r\n </button>\r\n </form>\r\n}\r\n\r\n<abp-modal [(visible)]=\"isEmailTestModalOpen\" [options]=\"modalSize\">\r\n <ng-template #abpHeader>\r\n <h3>{{ 'SendTestEmail' | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"emailTestForm\" id=\"emailTestForm\" (ngSubmit)=\"emailTestFormSubmit()\">\r\n <div class=\"mb-3 form-group\">\r\n <label class=\"form-label\">{{\r\n 'AbpSettingManagement::SenderEmailAddress' | abpLocalization\r\n }}</label>\r\n <input class=\"form-control\" formControlName=\"senderEmailAddress\" />\r\n </div>\r\n\r\n <div class=\"mb-3 form-group\">\r\n <label class=\"form-label\">{{\r\n 'AbpSettingManagement::TargetEmailAddress' | abpLocalization\r\n }}</label>\r\n <input class=\"form-control\" formControlName=\"targetEmailAddress\" />\r\n </div>\r\n\r\n <div class=\"mb-3 form-group\">\r\n <label class=\"form-label\">{{ 'AbpSettingManagement::Subject' | abpLocalization }}</label>\r\n <input class=\"form-control\" formControlName=\"subject\" />\r\n </div>\r\n\r\n <div class=\"mb-3 form-group\">\r\n <label class=\"form-label\">{{ 'AbpSettingManagement::Body' | abpLocalization }}</label>\r\n <textarea class=\"form-control\" formControlName=\"body\"></textarea>\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <abp-button\r\n buttonType=\"submit\"\r\n iconClass=\"fa fa-send\"\r\n formName=\"emailTestForm\"\r\n [disabled]=\"emailTestForm.invalid && emailTestForm.dirty\"\r\n >\r\n <span>{{ 'AbpTenantManagement::Send' | abpLocalization }}</span>\r\n </abp-button>\r\n\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>Close</button>\r\n </ng-template>\r\n</abp-modal>\r\n" }]
91
- }], ctorParameters: () => [{ type: i1.EmailSettingsService }, { type: i2.UntypedFormBuilder }, { type: i3.ToasterService }] });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtc2V0dGluZy1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zZXR0aW5nLW1hbmFnZW1lbnQvY29uZmlnL3NyYy9saWIvY29tcG9uZW50cy9lbWFpbC1zZXR0aW5nLWdyb3VwL2VtYWlsLXNldHRpbmctZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2V0dGluZy1tYW5hZ2VtZW50L2NvbmZpZy9zcmMvbGliL2NvbXBvbmVudHMvZW1haWwtc2V0dGluZy1ncm91cC9lbWFpbC1zZXR0aW5nLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBb0IsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7OztBQUV2RSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxHQUFHLFVBQVUsQ0FBQztBQU92QyxNQUFNLE9BQU8sMEJBQTBCO0lBY3JDLFlBQ1Usb0JBQTBDLEVBQzFDLEVBQXNCLEVBQ3RCLGNBQThCO1FBRjlCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7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dCI6WyJpbXBvcnQgeyBOZ2JNb2RhbE9wdGlvbnMgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IGNvbGxhcHNlLCBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBmaW5hbGl6ZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU2V0dGluZ01hbmFnZW1lbnRQb2xpY3lOYW1lcyB9IGZyb20gJy4uLy4uL2VudW1zL3BvbGljeS1uYW1lcyc7XHJcbmltcG9ydCB7IEVtYWlsU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5zZXR0aW5nLW1hbmFnZW1lbnQvcHJveHknO1xyXG5pbXBvcnQgeyBFbWFpbFNldHRpbmdzRHRvIH0gZnJvbSAnLi4vLi4vcHJveHkvbW9kZWxzJztcclxuaW1wb3J0IHsgQ29uZmlnU3RhdGVTZXJ2aWNlLCBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuXHJcbmNvbnN0IHsgcmVxdWlyZWQsIGVtYWlsIH0gPSBWYWxpZGF0b3JzO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtZW1haWwtc2V0dGluZy1ncm91cCcsXHJcbiAgdGVtcGxhdGVVcmw6ICdlbWFpbC1zZXR0aW5nLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcclxuICBhbmltYXRpb25zOiBbY29sbGFwc2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRW1haWxTZXR0aW5nR3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBsb2NhbGl6YXRpb25TZXJ2aWNlID0gaW5qZWN0KExvY2FsaXphdGlvblNlcnZpY2UpO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBjb25maWdTdGF0ZVNldmljZSA9IGluamVjdChDb25maWdTdGF0ZVNlcnZpY2UpO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBjdXJyZW50VXNlckVtYWlsID0gdG9TaWduYWwoXHJcbiAgICB0aGlzLmNvbmZpZ1N0YXRlU2V2aWNlLmdldERlZXAkKFsnY3VycmVudFVzZXInLCAnZW1haWwnXSksXHJcbiAgKTtcclxuXHJcbiAgZm9ybSE6IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgZW1haWxUZXN0Rm9ybTogVW50eXBlZEZvcm1Hcm91cDtcclxuICBzYXZpbmcgPSBmYWxzZTtcclxuICBlbWFpbGluZ1BvbGljeSA9IFNldHRpbmdNYW5hZ2VtZW50UG9saWN5TmFtZXMuRW1haWxpbmc7XHJcbiAgaXNFbWFpbFRlc3RNb2RhbE9wZW4gPSBmYWxzZTtcclxuICBtb2RhbFNpemU6IE5nYk1vZGFsT3B0aW9ucyA9IHsgc2l6ZTogJ2xnJyB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZW1haWxTZXR0aW5nc1NlcnZpY2U6IEVtYWlsU2V0dGluZ3NTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSB0b2FzdGVyU2VydmljZTogVG9hc3RlclNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZ2V0RGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXREYXRhKCkge1xyXG4gICAgdGhpcy5lbWFpbFNldHRpbmdzU2VydmljZS5nZXQoKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgdGhpcy5idWlsZEZvcm0ocmVzKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEZvcm0oZW1haWxTZXR0aW5nczogRW1haWxTZXR0aW5nc0R0bykge1xyXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIGRlZmF1bHRGcm9tRGlzcGxheU5hbWU6IFtlbWFpbFNldHRpbmdzLmRlZmF1bHRGcm9tRGlzcGxheU5hbWUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXHJcbiAgICAgIGRlZmF1bHRGcm9tQWRkcmVzczogW2VtYWlsU2V0dGluZ3MuZGVmYXVsdEZyb21BZGRyZXNzLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxyXG4gICAgICBzbXRwSG9zdDogW2VtYWlsU2V0dGluZ3Muc210cEhvc3RdLFxyXG4gICAgICBzbXRwUG9ydDogW2VtYWlsU2V0dGluZ3Muc210cFBvcnQsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXHJcbiAgICAgIHNtdHBFbmFibGVTc2w6IFtlbWFpbFNldHRpbmdzLnNtdHBFbmFibGVTc2xdLFxyXG4gICAgICBzbXRwVXNlRGVmYXVsdENyZWRlbnRpYWxzOiBbZW1haWxTZXR0aW5ncy5zbXRwVXNlRGVmYXVsdENyZWRlbnRpYWxzXSxcclxuICAgICAgc210cERvbWFpbjogW2VtYWlsU2V0dGluZ3Muc210cERvbWFpbl0sXHJcbiAgICAgIHNtdHBVc2VyTmFtZTogW2VtYWlsU2V0dGluZ3Muc210cFVzZXJOYW1lXSxcclxuICAgICAgc210cFBhc3N3b3JkOiBbZW1haWxTZXR0aW5ncy5zbXRwUGFzc3dvcmRdLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXQoKSB7XHJcbiAgICBpZiAodGhpcy5zYXZpbmcgfHwgdGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLnNhdmluZyA9IHRydWU7XHJcbiAgICB0aGlzLmVtYWlsU2V0dGluZ3NTZXJ2aWNlXHJcbiAgICAgIC51cGRhdGUodGhpcy5mb3JtLnZhbHVlKVxyXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5zYXZpbmcgPSBmYWxzZSkpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLnN1Y2Nlc3MoJ0FicFNldHRpbmdNYW5hZ2VtZW50OjpTYXZlZFN1Y2Nlc3NmdWxseScpO1xyXG4gICAgICAgIHRoaXMuZ2V0RGF0YSgpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG9wZW5TZW5kRW1haWxNb2RhbCgpIHtcclxuICAgIHRoaXMuYnVpbGRFbWFpbFRlc3RGb3JtKCk7XHJcbiAgICB0aGlzLmlzRW1haWxUZXN0TW9kYWxPcGVuID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGJ1aWxkRW1haWxUZXN0Rm9ybSgpIHtcclxuICAgIGNvbnN0IHsgZGVmYXVsdEZyb21BZGRyZXNzIH0gPSB0aGlzLmZvcm0udmFsdWUgfHwge307XHJcbiAgICBjb25zdCBkZWZhdWx0U3ViamVjdCA9IHRoaXMubG9jYWxpemF0aW9uU2VydmljZS5pbnN0YW50KFxyXG4gICAgICAnQWJwU2V0dGluZ01hbmFnZW1lbnQ6OlRlc3RFbWFpbFN1YmplY3QnLFxyXG4gICAgICAuLi5bTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogOTk5OSkudG9TdHJpbmcoKV0sXHJcbiAgICApO1xyXG4gICAgY29uc3QgZGVmYXVsdEJvZHkgPSB0aGlzLmxvY2FsaXphdGlvblNlcnZpY2UuaW5zdGFudCgnQWJwU2V0dGluZ01hbmFnZW1lbnQ6OlRlc3RFbWFpbEJvZHknKTtcclxuXHJcbiAgICB0aGlzLmVtYWlsVGVzdEZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgc2VuZGVyRW1haWxBZGRyZXNzOiBbZGVmYXVsdEZyb21BZGRyZXNzIHx8ICcnLCBbcmVxdWlyZWQsIGVtYWlsXV0sXHJcbiAgICAgIHRhcmdldEVtYWlsQWRkcmVzczogW3RoaXMuY3VycmVudFVzZXJFbWFpbCgpLCBbcmVxdWlyZWQsIGVtYWlsXV0sXHJcbiAgICAgIHN1YmplY3Q6IFtkZWZhdWx0U3ViamVjdCwgW3JlcXVpcmVkXV0sXHJcbiAgICAgIGJvZHk6IFtkZWZhdWx0Qm9keV0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGVtYWlsVGVzdEZvcm1TdWJtaXQoKSB7XHJcbiAgICBpZiAodGhpcy5lbWFpbFRlc3RGb3JtLmludmFsaWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZW1haWxTZXR0aW5nc1NlcnZpY2Uuc2VuZFRlc3RFbWFpbCh0aGlzLmVtYWlsVGVzdEZvcm0udmFsdWUpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLnN1Y2Nlc3MoJ0FicFNldHRpbmdNYW5hZ2VtZW50OjpTdWNjZXNzZnVsbHlTZW50Jyk7XHJcbiAgICAgIHRoaXMuaXNFbWFpbFRlc3RNb2RhbE9wZW4gPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCJAaWYgKGZvcm0pIHtcclxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cInB5LTIgYWJwLW1kLWZvcm1cIiAobmdTdWJtaXQpPVwic3VibWl0KClcIiBbdmFsaWRhdGVPblN1Ym1pdF09XCJ0cnVlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWItMyBmb3JtLWdyb3VwXCI+XHJcbiAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIlxyXG4gICAgICAgID57eyAnQWJwU2V0dGluZ01hbmFnZW1lbnQ6OkRlZmF1bHRGcm9tRGlzcGxheU5hbWUnIHwgYWJwTG9jYWxpemF0aW9uXHJcbiAgICAgICAgfX08c3BhbiBjbGFzcz1cIm1zLTFcIj4qPC9zcGFuPjwvbGFiZWxcclxuICAgICAgPlxyXG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cImRlZmF1bHRGcm9tRGlzcGxheU5hbWVcIiAvPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWItMyBmb3JtLWdyb3VwXCI+XHJcbiAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIlxyXG4gICAgICAgID57eyAnQWJwU2V0dGluZ01hbmFnZW1lbnQ6OkRlZmF1bHRGcm9tQWRkcmVzcycgfCBhYnBMb2NhbGl6YXRpb25cclxuICAgICAgICB9fTxzcGFuIGNsYXNzPVwibXMtMVwiPio8L3NwYW4+PC9sYWJlbFxyXG4gICAgICA+XHJcbiAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZm9ybUNvbnRyb2xOYW1lPVwiZGVmYXVsdEZyb21BZGRyZXNzXCIgLz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm1iLTMgZm9ybS1ncm91cFwiPlxyXG4gICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3sgJ0FicFNldHRpbmdNYW5hZ2VtZW50OjpTbXRwSG9zdCcgfCBhYnBMb2NhbGl6YXRpb24gfX08L2xhYmVsPlxyXG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cInNtdHBIb3N0XCIgLz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm1iLTMgZm9ybS1ncm91cFwiPlxyXG4gICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCJcclxuICAgICAgICA+e3sgJ0FicFNldHRpbmdNYW5hZ2VtZW50OjpTbXRwUG9ydCcgfCBhYnBMb2NhbGl6YXRpb24gfX08c3BhbiBjbGFzcz1cIm1zLTFcIj4qPC9zcGFuPjwvbGFiZWxcclxuICAgICAgPlxyXG4gICAgICA8aW5wdXQgdHlwZT1cIm51bWJlclwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZm9ybUNvbnRyb2xOYW1lPVwic210cFBvcnRcIiAvPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgbWItMlwiPlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgIGlkPVwic210cC1lbmFibGUtc3NsXCJcclxuICAgICAgICBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIlxyXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNtdHBFbmFibGVTc2xcIlxyXG4gICAgICAvPlxyXG4gICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgZm9yPVwic210cC1lbmFibGUtc3NsXCI+e3tcclxuICAgICAgICAnQWJwU2V0dGluZ01hbmFnZW1lbnQ6OlNtdHBFbmFibGVTc2wnIHwgYWJwTG9jYWxpemF0aW9uXHJcbiAgICAgIH19PC9sYWJlbD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgbWItMlwiPlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgIGlkPVwic210cC11c2UtZGVmYXVsdC1jcmVkZW50aWFsc1wiXHJcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCJcclxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzbXRwVXNlRGVmYXVsdENyZWRlbnRpYWxzXCJcclxuICAgICAgLz5cclxuICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIGZvcj1cInNtdHAtdXNlLWRlZmF1bHQtY3JlZGVudGlhbHNcIj57e1xyXG4gICAgICAgICdBYnBTZXR0aW5nTWFuYWdlbWVudDo6U210cFVzZURlZmF1bHRDcmVkZW50aWFscycgfCBhYnBMb2NhbGl6YXRpb25cclxuICAgICAgfX08L2xhYmVsPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdlxyXG4gICAgICBbQGNvbGxhcHNlXT1cIntcclxuICAgICAgICB2YWx1ZTogZm9ybS5nZXQoJ3NtdHBVc2VEZWZhdWx0Q3JlZGVudGlhbHMnKT8udmFsdWUgPyAnY29sbGFwc2VkJyA6ICdleHBhbmRlZCcsXHJcbiAgICAgICAgcGFyYW1zOiB7IHRpbWU6ICcyMDBtcycsIGVhc2luZzogJ2xpbmVhcicgfVxyXG4gICAgICB9XCJcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1iLTMgZm9ybS1ncm91cFwiPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj57eyAnQWJwU2V0dGluZ01hbmFnZW1lbnQ6OlNtdHBEb21haW4nIHwgYWJwTG9jYWxpemF0aW9uIH19PC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cInNtdHBEb21haW5cIiAvPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtYi0zIGZvcm0tZ3JvdXBcIj5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3tcclxuICAgICAgICAgICdBYnBTZXR0aW5nTWFuYWdlbWVudDo6U210cFVzZXJOYW1lJyB8IGFicExvY2FsaXphdGlvblxyXG4gICAgICAgIH19PC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cInNtdHBVc2VyTmFtZVwiIC8+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3tcclxuICAgICAgICAgICdBYnBTZXR0aW5nTWFuYWdlbWVudDo6U210cFBhc3N3b3JkJyB8IGFicExvY2FsaXphdGlvblxyXG4gICAgICAgIH19PC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgdHlwZT1cInBhc3N3b3JkXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBmb3JtQ29udHJvbE5hbWU9XCJzbXRwUGFzc3dvcmRcIiAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxociAvPlxyXG5cclxuICAgIDxhYnAtYnV0dG9uIGJ1dHRvblR5cGU9XCJzdWJtaXRcIiBpY29uQ2xhc3M9XCJmYSBmYS1zYXZlXCI+XHJcbiAgICAgIHt7ICdBYnBTZXR0aW5nTWFuYWdlbWVudDo6U2F2ZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYWJwLWJ1dHRvbj5cclxuICAgIDxidXR0b25cclxuICAgICAgKmFicFBlcm1pc3Npb249XCJlbWFpbGluZ1BvbGljeVwiXHJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAoY2xpY2spPVwib3BlblNlbmRFbWFpbE1vZGFsKClcIlxyXG4gICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBteC0yXCJcclxuICAgID5cclxuICAgICAgPGkgY2xhc3M9XCJmYSBmLXNlbmRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgIHt7ICdBYnBTZXR0aW5nTWFuYWdlbWVudDo6U2VuZFRlc3RFbWFpbCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZm9ybT5cclxufVxyXG5cclxuPGFicC1tb2RhbCBbKHZpc2libGUpXT1cImlzRW1haWxUZXN0TW9kYWxPcGVuXCIgW29wdGlvbnNdPVwibW9kYWxTaXplXCI+XHJcbiAgPG5nLXRlbXBsYXRlICNhYnBIZWFkZXI+XHJcbiAgICA8aDM+e3sgJ1NlbmRUZXN0RW1haWwnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9oMz5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2FicEJvZHk+XHJcbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImVtYWlsVGVzdEZvcm1cIiBpZD1cImVtYWlsVGVzdEZvcm1cIiAobmdTdWJtaXQpPVwiZW1haWxUZXN0Rm9ybVN1Ym1pdCgpXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtYi0zIGZvcm0tZ3JvdXBcIj5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3tcclxuICAgICAgICAgICdBYnBTZXR0aW5nTWFuYWdlbWVudDo6U2VuZGVyRW1haWxBZGRyZXNzJyB8IGFicExvY2FsaXphdGlvblxyXG4gICAgICAgIH19PC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBmb3JtQ29udHJvbE5hbWU9XCJzZW5kZXJFbWFpbEFkZHJlc3NcIiAvPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtYi0zIGZvcm0tZ3JvdXBcIj5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3tcclxuICAgICAgICAgICdBYnBTZXR0aW5nTWFuYWdlbWVudDo6VGFyZ2V0RW1haWxBZGRyZXNzJyB8IGFicExvY2FsaXphdGlvblxyXG4gICAgICAgIH19PC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBmb3JtQ29udHJvbE5hbWU9XCJ0YXJnZXRFbWFpbEFkZHJlc3NcIiAvPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtYi0zIGZvcm0tZ3JvdXBcIj5cclxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3sgJ0FicFNldHRpbmdNYW5hZ2VtZW50OjpTdWJqZWN0JyB8IGFicExvY2FsaXphdGlvbiB9fTwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZm9ybUNvbnRyb2xOYW1lPVwic3ViamVjdFwiIC8+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1iLTMgZm9ybS1ncm91cFwiPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj57eyAnQWJwU2V0dGluZ01hbmFnZW1lbnQ6OkJvZHknIHwgYWJwTG9jYWxpemF0aW9uIH19PC9sYWJlbD5cclxuICAgICAgICA8dGV4dGFyZWEgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBmb3JtQ29udHJvbE5hbWU9XCJib2R5XCI+PC90ZXh0YXJlYT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Zvcm0+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNhYnBGb290ZXI+XHJcbiAgICA8YWJwLWJ1dHRvblxyXG4gICAgICBidXR0b25UeXBlPVwic3VibWl0XCJcclxuICAgICAgaWNvbkNsYXNzPVwiZmEgZmEtc2VuZFwiXHJcbiAgICAgIGZvcm1OYW1lPVwiZW1haWxUZXN0Rm9ybVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJlbWFpbFRlc3RGb3JtLmludmFsaWQgJiYgZW1haWxUZXN0Rm9ybS5kaXJ0eVwiXHJcbiAgICA+XHJcbiAgICAgIDxzcGFuPnt7ICdBYnBUZW5hbnRNYW5hZ2VtZW50OjpTZW5kJyB8IGFicExvY2FsaXphdGlvbiB9fTwvc3Bhbj5cclxuICAgIDwvYWJwLWJ1dHRvbj5cclxuXHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgYWJwQ2xvc2U+Q2xvc2U8L2J1dHRvbj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2FicC1tb2RhbD5cclxuIl19
@@ -1,4 +0,0 @@
1
- export * from './route-names';
2
- export * from './setting-tab-names';
3
- export * from './policy-names';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zZXR0aW5nLW1hbmFnZW1lbnQvY29uZmlnL3NyYy9saWIvZW51bXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yb3V0ZS1uYW1lcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2V0dGluZy10YWItbmFtZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BvbGljeS1uYW1lcyc7XHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9saWN5LW5hbWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2V0dGluZy1tYW5hZ2VtZW50L2NvbmZpZy9zcmMvbGliL2VudW1zL3BvbGljeS1uYW1lcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGVudW0gU2V0dGluZ01hbmFnZW1lbnRQb2xpY3lOYW1lcyB7XHJcbiAgRW1haWxpbmcgPSAnU2V0dGluZ01hbmFnZW1lbnQuRW1haWxpbmcnLFxyXG59XHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtbmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zZXR0aW5nLW1hbmFnZW1lbnQvY29uZmlnL3NyYy9saWIvZW51bXMvcm91dGUtbmFtZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBlbnVtIGVTZXR0aW5nTWFuYWdlbWVudFJvdXRlTmFtZXMge1xyXG4gIFNldHRpbmdzID0gJ0FicFNldHRpbmdNYW5hZ2VtZW50OjpTZXR0aW5ncycsXHJcbn1cclxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy10YWItbmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zZXR0aW5nLW1hbmFnZW1lbnQvY29uZmlnL3NyYy9saWIvZW51bXMvc2V0dGluZy10YWItbmFtZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBlbnVtIGVTZXR0aW5nTWFuYW1hZ2VtZW50U2V0dGluZ1RhYk5hbWVzIHtcclxuICBFbWFpbFNldHRpbmdHcm91cCA9ICdBYnBTZXR0aW5nTWFuYWdlbWVudDo6TWVudTpFbWFpbGluZycsXHJcbn1cclxuIl19
@@ -1,30 +0,0 @@
1
- import { ConfigStateService, featuresFactory, noop } from '@abp/ng.core';
2
- import { APP_INITIALIZER, inject, InjectionToken } from '@angular/core';
3
- import { map } from 'rxjs/operators';
4
- export const SETTING_MANAGEMENT_FEATURES = new InjectionToken('SETTING_MANAGEMENT_FEATURES', {
5
- providedIn: 'root',
6
- factory: () => {
7
- const configState = inject(ConfigStateService);
8
- const featureKey = 'SettingManagement.Enable';
9
- const mapFn = (features) => ({
10
- enable: features[featureKey].toLowerCase() !== 'false',
11
- });
12
- return featuresFactory(configState, [featureKey], mapFn);
13
- },
14
- });
15
- export const SETTING_MANAGEMENT_ROUTE_VISIBILITY = new InjectionToken('SETTING_MANAGEMENT_ROUTE_VISIBILITY', {
16
- providedIn: 'root',
17
- factory: () => {
18
- const stream = inject(SETTING_MANAGEMENT_FEATURES);
19
- return stream.pipe(map(features => features.enable));
20
- },
21
- });
22
- export const SETTING_MANAGEMENT_FEATURES_PROVIDERS = [
23
- {
24
- provide: APP_INITIALIZER,
25
- useFactory: noop,
26
- deps: [SETTING_MANAGEMENT_ROUTE_VISIBILITY],
27
- multi: true,
28
- },
29
- ];
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZXMudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zZXR0aW5nLW1hbmFnZW1lbnQvY29uZmlnL3NyYy9saWIvcHJvdmlkZXJzL2ZlYXR1cmVzLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsSUFBSSxjQUFjLENBQzNELDZCQUE2QixFQUM3QjtJQUNFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDWixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUMvQyxNQUFNLFVBQVUsR0FBRywwQkFBMEIsQ0FBQztRQUM5QyxNQUFNLEtBQUssR0FBRyxDQUFDLFFBQWdDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDbkQsTUFBTSxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxPQUFPO1NBQ3ZELENBQUMsQ0FBQztRQUNILE9BQU8sZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzNELENBQUM7Q0FDRixDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBRyxJQUFJLGNBQWMsQ0FDbkUscUNBQXFDLEVBQ3JDO0lBQ0UsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNaLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQ25ELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDO0NBQ0YsQ0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUc7SUFDbkQ7UUFDRSxPQUFPLEVBQUUsZUFBZTtRQUN4QixVQUFVLEVBQUUsSUFBSTtRQUNoQixJQUFJLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQztRQUMzQyxLQUFLLEVBQUUsSUFBSTtLQUNaO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbmZpZ1N0YXRlU2VydmljZSwgZmVhdHVyZXNGYWN0b3J5LCBub29wIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBpbmplY3QsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IFNFVFRJTkdfTUFOQUdFTUVOVF9GRUFUVVJFUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYnNlcnZhYmxlPHsgZW5hYmxlOiBib29sZWFuIH0+PihcclxuICAnU0VUVElOR19NQU5BR0VNRU5UX0ZFQVRVUkVTJyxcclxuICB7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbiAgICBmYWN0b3J5OiAoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbmZpZ1N0YXRlID0gaW5qZWN0KENvbmZpZ1N0YXRlU2VydmljZSk7XHJcbiAgICAgIGNvbnN0IGZlYXR1cmVLZXkgPSAnU2V0dGluZ01hbmFnZW1lbnQuRW5hYmxlJztcclxuICAgICAgY29uc3QgbWFwRm4gPSAoZmVhdHVyZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pID0+ICh7XHJcbiAgICAgICAgZW5hYmxlOiBmZWF0dXJlc1tmZWF0dXJlS2V5XS50b0xvd2VyQ2FzZSgpICE9PSAnZmFsc2UnLFxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIGZlYXR1cmVzRmFjdG9yeShjb25maWdTdGF0ZSwgW2ZlYXR1cmVLZXldLCBtYXBGbik7XHJcbiAgICB9LFxyXG4gIH0sXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgU0VUVElOR19NQU5BR0VNRU5UX1JPVVRFX1ZJU0lCSUxJVFkgPSBuZXcgSW5qZWN0aW9uVG9rZW48T2JzZXJ2YWJsZTxib29sZWFuPj4oXHJcbiAgJ1NFVFRJTkdfTUFOQUdFTUVOVF9ST1VURV9WSVNJQklMSVRZJyxcclxuICB7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbiAgICBmYWN0b3J5OiAoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHN0cmVhbSA9IGluamVjdChTRVRUSU5HX01BTkFHRU1FTlRfRkVBVFVSRVMpO1xyXG4gICAgICByZXR1cm4gc3RyZWFtLnBpcGUobWFwKGZlYXR1cmVzID0+IGZlYXR1cmVzLmVuYWJsZSkpO1xyXG4gICAgfSxcclxuICB9LFxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IFNFVFRJTkdfTUFOQUdFTUVOVF9GRUFUVVJFU19QUk9WSURFUlMgPSBbXHJcbiAge1xyXG4gICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG4gICAgdXNlRmFjdG9yeTogbm9vcCxcclxuICAgIGRlcHM6IFtTRVRUSU5HX01BTkFHRU1FTlRfUk9VVEVfVklTSUJJTElUWV0sXHJcbiAgICBtdWx0aTogdHJ1ZSxcclxuICB9LFxyXG5dO1xyXG4iXX0=
@@ -1,6 +0,0 @@
1
- export * from './route.provider';
2
- export * from './setting-tab.provider';
3
- export * from './visible.provider';
4
- export * from './setting-management-config.provider';
5
- export * from './features.token';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zZXR0aW5nLW1hbmFnZW1lbnQvY29uZmlnL3NyYy9saWIvcHJvdmlkZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcm91dGUucHJvdmlkZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3NldHRpbmctdGFiLnByb3ZpZGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi92aXNpYmxlLnByb3ZpZGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXR0aW5nLW1hbmFnZW1lbnQtY29uZmlnLnByb3ZpZGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlcy50b2tlbic7XHJcbiJdfQ==
@@ -1,34 +0,0 @@
1
- import { noop, RoutesService } from '@abp/ng.core';
2
- import { APP_INITIALIZER, inject, InjectionToken } from '@angular/core';
3
- import { debounceTime, map } from 'rxjs/operators';
4
- import { SettingTabsService } from '../services/settings-tabs.service';
5
- export function configureRoutes(routesService) {
6
- return () => {
7
- routesService.add([
8
- {
9
- name: "AbpSettingManagement::Settings" /* eSettingManagementRouteNames.Settings */,
10
- path: '/setting-management',
11
- parentName: "AbpUiNavigation::Menu:Administration" /* eThemeSharedRouteNames.Administration */,
12
- layout: "application" /* eLayoutType.application */,
13
- order: 100,
14
- iconClass: 'fa fa-cog',
15
- },
16
- ]);
17
- };
18
- }
19
- export const SETTING_MANAGEMENT_HAS_SETTING = new InjectionToken('SETTING_MANAGEMENT_HAS_SETTING', {
20
- factory: () => {
21
- const settingTabsService = inject(SettingTabsService);
22
- return settingTabsService.visible$.pipe(debounceTime(0), map(nodes => !!nodes.length));
23
- },
24
- });
25
- export const SETTING_MANAGEMENT_ROUTE_PROVIDERS = [
26
- { provide: APP_INITIALIZER, useFactory: configureRoutes, deps: [RoutesService], multi: true },
27
- {
28
- provide: APP_INITIALIZER,
29
- useFactory: noop,
30
- deps: [SETTING_MANAGEMENT_HAS_SETTING],
31
- multi: true,
32
- },
33
- ];
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zZXR0aW5nLW1hbmFnZW1lbnQvY29uZmlnL3NyYy9saWIvcHJvdmlkZXJzL3JvdXRlLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxJQUFJLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBR3ZFLE1BQU0sVUFBVSxlQUFlLENBQUMsYUFBNEI7SUFDMUQsT0FBTyxHQUFHLEVBQUU7UUFDVixhQUFhLENBQUMsR0FBRyxDQUFDO1lBQ2hCO2dCQUNFLElBQUksOEVBQXVDO2dCQUMzQyxJQUFJLEVBQUUscUJBQXFCO2dCQUMzQixVQUFVLG9GQUF1QztnQkFDakQsTUFBTSw2Q0FBeUI7Z0JBQy9CLEtBQUssRUFBRSxHQUFHO2dCQUNWLFNBQVMsRUFBRSxXQUFXO2FBQ3ZCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLElBQUksY0FBYyxDQUM5RCxnQ0FBZ0MsRUFDaEM7SUFDRSxPQUFPLEVBQUUsR0FBRyxFQUFFO1FBQ1osTUFBTSxrQkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN0RCxPQUFPLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3JDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFDZixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUM3QixDQUFDO0lBQ0osQ0FBQztDQUNGLENBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFHO0lBQ2hELEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7SUFDN0Y7UUFDRSxPQUFPLEVBQUUsZUFBZTtRQUN4QixVQUFVLEVBQUUsSUFBSTtRQUNoQixJQUFJLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztRQUN0QyxLQUFLLEVBQUUsSUFBSTtLQUNaO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVMYXlvdXRUeXBlLCBub29wLCBSb3V0ZXNTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgZVRoZW1lU2hhcmVkUm91dGVOYW1lcyB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBpbmplY3QsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBlU2V0dGluZ01hbmFnZW1lbnRSb3V0ZU5hbWVzIH0gZnJvbSAnLi4vZW51bXMvcm91dGUtbmFtZXMnO1xyXG5pbXBvcnQgeyBTZXR0aW5nVGFic1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zZXR0aW5ncy10YWJzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY29uZmlndXJlUm91dGVzKHJvdXRlc1NlcnZpY2U6IFJvdXRlc1NlcnZpY2UpIHtcclxuICByZXR1cm4gKCkgPT4ge1xyXG4gICAgcm91dGVzU2VydmljZS5hZGQoW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogZVNldHRpbmdNYW5hZ2VtZW50Um91dGVOYW1lcy5TZXR0aW5ncyxcclxuICAgICAgICBwYXRoOiAnL3NldHRpbmctbWFuYWdlbWVudCcsXHJcbiAgICAgICAgcGFyZW50TmFtZTogZVRoZW1lU2hhcmVkUm91dGVOYW1lcy5BZG1pbmlzdHJhdGlvbixcclxuICAgICAgICBsYXlvdXQ6IGVMYXlvdXRUeXBlLmFwcGxpY2F0aW9uLFxyXG4gICAgICAgIG9yZGVyOiAxMDAsXHJcbiAgICAgICAgaWNvbkNsYXNzOiAnZmEgZmEtY29nJyxcclxuICAgICAgfSxcclxuICAgIF0pO1xyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBTRVRUSU5HX01BTkFHRU1FTlRfSEFTX1NFVFRJTkcgPSBuZXcgSW5qZWN0aW9uVG9rZW48T2JzZXJ2YWJsZTxib29sZWFuPj4oXHJcbiAgJ1NFVFRJTkdfTUFOQUdFTUVOVF9IQVNfU0VUVElORycsXHJcbiAge1xyXG4gICAgZmFjdG9yeTogKCkgPT4ge1xyXG4gICAgICBjb25zdCBzZXR0aW5nVGFic1NlcnZpY2UgPSBpbmplY3QoU2V0dGluZ1RhYnNTZXJ2aWNlKTtcclxuICAgICAgcmV0dXJuIHNldHRpbmdUYWJzU2VydmljZS52aXNpYmxlJC5waXBlKFxyXG4gICAgICAgIGRlYm91bmNlVGltZSgwKSxcclxuICAgICAgICBtYXAobm9kZXMgPT4gISFub2Rlcy5sZW5ndGgpLFxyXG4gICAgICApO1xyXG4gICAgfSxcclxuICB9LFxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IFNFVFRJTkdfTUFOQUdFTUVOVF9ST1VURV9QUk9WSURFUlMgPSBbXHJcbiAgeyBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsIHVzZUZhY3Rvcnk6IGNvbmZpZ3VyZVJvdXRlcywgZGVwczogW1JvdXRlc1NlcnZpY2VdLCBtdWx0aTogdHJ1ZSB9LFxyXG4gIHtcclxuICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgIHVzZUZhY3Rvcnk6IG5vb3AsXHJcbiAgICBkZXBzOiBbU0VUVElOR19NQU5BR0VNRU5UX0hBU19TRVRUSU5HXSxcclxuICAgIG11bHRpOiB0cnVlLFxyXG4gIH0sXHJcbl07XHJcbiJdfQ==
@@ -1,11 +0,0 @@
1
- import { makeEnvironmentProviders } from '@angular/core';
2
- import { SETTING_MANAGEMENT_FEATURES_PROVIDERS, SETTING_MANAGEMENT_ROUTE_PROVIDERS, SETTING_MANAGEMENT_SETTING_TAB_PROVIDERS, SETTING_MANAGEMENT_VISIBLE_PROVIDERS, } from './';
3
- export function provideSettingManagementConfig() {
4
- return makeEnvironmentProviders([
5
- SETTING_MANAGEMENT_ROUTE_PROVIDERS,
6
- SETTING_MANAGEMENT_SETTING_TAB_PROVIDERS,
7
- SETTING_MANAGEMENT_FEATURES_PROVIDERS,
8
- SETTING_MANAGEMENT_VISIBLE_PROVIDERS,
9
- ]);
10
- }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1tYW5hZ2VtZW50LWNvbmZpZy5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NldHRpbmctbWFuYWdlbWVudC9jb25maWcvc3JjL2xpYi9wcm92aWRlcnMvc2V0dGluZy1tYW5hZ2VtZW50LWNvbmZpZy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUNMLHFDQUFxQyxFQUNyQyxrQ0FBa0MsRUFDbEMsd0NBQXdDLEVBQ3hDLG9DQUFvQyxHQUNyQyxNQUFNLElBQUksQ0FBQztBQUVaLE1BQU0sVUFBVSw4QkFBOEI7SUFDNUMsT0FBTyx3QkFBd0IsQ0FBQztRQUM5QixrQ0FBa0M7UUFDbEMsd0NBQXdDO1FBQ3hDLHFDQUFxQztRQUNyQyxvQ0FBb0M7S0FDckMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIFNFVFRJTkdfTUFOQUdFTUVOVF9GRUFUVVJFU19QUk9WSURFUlMsXHJcbiAgU0VUVElOR19NQU5BR0VNRU5UX1JPVVRFX1BST1ZJREVSUyxcclxuICBTRVRUSU5HX01BTkFHRU1FTlRfU0VUVElOR19UQUJfUFJPVklERVJTLFxyXG4gIFNFVFRJTkdfTUFOQUdFTUVOVF9WSVNJQkxFX1BST1ZJREVSUyxcclxufSBmcm9tICcuLyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVNldHRpbmdNYW5hZ2VtZW50Q29uZmlnKCkge1xyXG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW1xyXG4gICAgU0VUVElOR19NQU5BR0VNRU5UX1JPVVRFX1BST1ZJREVSUyxcclxuICAgIFNFVFRJTkdfTUFOQUdFTUVOVF9TRVRUSU5HX1RBQl9QUk9WSURFUlMsXHJcbiAgICBTRVRUSU5HX01BTkFHRU1FTlRfRkVBVFVSRVNfUFJPVklERVJTLFxyXG4gICAgU0VUVElOR19NQU5BR0VNRU5UX1ZJU0lCTEVfUFJPVklERVJTLFxyXG4gIF0pO1xyXG59XHJcbiJdfQ==
@@ -1,24 +0,0 @@
1
- import { APP_INITIALIZER } from '@angular/core';
2
- import { EmailSettingGroupComponent } from '../components/email-setting-group/email-setting-group.component';
3
- import { SettingTabsService } from '../services/settings-tabs.service';
4
- export const SETTING_MANAGEMENT_SETTING_TAB_PROVIDERS = [
5
- {
6
- provide: APP_INITIALIZER,
7
- useFactory: configureSettingTabs,
8
- deps: [SettingTabsService],
9
- multi: true,
10
- },
11
- ];
12
- export function configureSettingTabs(settingTabs) {
13
- return () => {
14
- settingTabs.add([
15
- {
16
- name: "AbpSettingManagement::Menu:Emailing" /* eSettingManamagementSettingTabNames.EmailSettingGroup */,
17
- order: 100,
18
- requiredPolicy: 'SettingManagement.Emailing',
19
- component: EmailSettingGroupComponent,
20
- },
21
- ]);
22
- };
23
- }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy10YWIucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zZXR0aW5nLW1hbmFnZW1lbnQvY29uZmlnL3NyYy9saWIvcHJvdmlkZXJzL3NldHRpbmctdGFiLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFFN0csT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFdkUsTUFBTSxDQUFDLE1BQU0sd0NBQXdDLEdBQUc7SUFDdEQ7UUFDRSxPQUFPLEVBQUUsZUFBZTtRQUN4QixVQUFVLEVBQUUsb0JBQW9CO1FBQ2hDLElBQUksRUFBRSxDQUFDLGtCQUFrQixDQUFDO1FBQzFCLEtBQUssRUFBRSxJQUFJO0tBQ1o7Q0FDRixDQUFDO0FBRUYsTUFBTSxVQUFVLG9CQUFvQixDQUFDLFdBQStCO0lBQ2xFLE9BQU8sR0FBRyxFQUFFO1FBQ1YsV0FBVyxDQUFDLEdBQUcsQ0FBQztZQUNkO2dCQUNFLElBQUksbUdBQXVEO2dCQUMzRCxLQUFLLEVBQUUsR0FBRztnQkFDVixjQUFjLEVBQUUsNEJBQTRCO2dCQUM1QyxTQUFTLEVBQUUsMEJBQTBCO2FBQ3RDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBFbWFpbFNldHRpbmdHcm91cENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZW1haWwtc2V0dGluZy1ncm91cC9lbWFpbC1zZXR0aW5nLWdyb3VwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGVTZXR0aW5nTWFuYW1hZ2VtZW50U2V0dGluZ1RhYk5hbWVzIH0gZnJvbSAnLi4vZW51bXMvc2V0dGluZy10YWItbmFtZXMnO1xyXG5pbXBvcnQgeyBTZXR0aW5nVGFic1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zZXR0aW5ncy10YWJzLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGNvbnN0IFNFVFRJTkdfTUFOQUdFTUVOVF9TRVRUSU5HX1RBQl9QUk9WSURFUlMgPSBbXHJcbiAge1xyXG4gICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG4gICAgdXNlRmFjdG9yeTogY29uZmlndXJlU2V0dGluZ1RhYnMsXHJcbiAgICBkZXBzOiBbU2V0dGluZ1RhYnNTZXJ2aWNlXSxcclxuICAgIG11bHRpOiB0cnVlLFxyXG4gIH0sXHJcbl07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY29uZmlndXJlU2V0dGluZ1RhYnMoc2V0dGluZ1RhYnM6IFNldHRpbmdUYWJzU2VydmljZSkge1xyXG4gIHJldHVybiAoKSA9PiB7XHJcbiAgICBzZXR0aW5nVGFicy5hZGQoW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogZVNldHRpbmdNYW5hbWFnZW1lbnRTZXR0aW5nVGFiTmFtZXMuRW1haWxTZXR0aW5nR3JvdXAsXHJcbiAgICAgICAgb3JkZXI6IDEwMCxcclxuICAgICAgICByZXF1aXJlZFBvbGljeTogJ1NldHRpbmdNYW5hZ2VtZW50LkVtYWlsaW5nJyxcclxuICAgICAgICBjb21wb25lbnQ6IEVtYWlsU2V0dGluZ0dyb3VwQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgXSk7XHJcbiAgfTtcclxufVxyXG4iXX0=
@@ -1,26 +0,0 @@
1
- import { APP_INITIALIZER, Injector } from '@angular/core';
2
- import { combineLatest } from 'rxjs';
3
- import { RoutesService } from '@abp/ng.core';
4
- import { SETTING_MANAGEMENT_HAS_SETTING } from './route.provider';
5
- import { SETTING_MANAGEMENT_ROUTE_VISIBILITY } from './features.token';
6
- export const SETTING_MANAGEMENT_VISIBLE_PROVIDERS = [
7
- {
8
- provide: APP_INITIALIZER,
9
- useFactory: setSettingManagementVisibility,
10
- deps: [Injector],
11
- multi: true,
12
- },
13
- ];
14
- export function setSettingManagementVisibility(injector) {
15
- return () => {
16
- const settingManagementHasSetting$ = injector.get(SETTING_MANAGEMENT_HAS_SETTING);
17
- const isSettingManagementFeatureEnable$ = injector.get(SETTING_MANAGEMENT_ROUTE_VISIBILITY);
18
- const routes = injector.get(RoutesService);
19
- combineLatest([settingManagementHasSetting$, isSettingManagementFeatureEnable$]).subscribe(([settingManagementHasSetting, isSettingManagementFeatureEnable]) => {
20
- routes.patch("AbpSettingManagement::Settings" /* eSettingManagementRouteNames.Settings */, {
21
- invisible: !(settingManagementHasSetting && isSettingManagementFeatureEnable),
22
- });
23
- });
24
- };
25
- }
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaWJsZS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NldHRpbmctbWFuYWdlbWVudC9jb25maWcvc3JjL2xpYi9wcm92aWRlcnMvdmlzaWJsZS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0MsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHdkUsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQUc7SUFDbEQ7UUFDRSxPQUFPLEVBQUUsZUFBZTtRQUN4QixVQUFVLEVBQUUsOEJBQThCO1FBQzFDLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQztRQUNoQixLQUFLLEVBQUUsSUFBSTtLQUNaO0NBQ0YsQ0FBQztBQUVGLE1BQU0sVUFBVSw4QkFBOEIsQ0FBQyxRQUFrQjtJQUMvRCxPQUFPLEdBQUcsRUFBRTtRQUNWLE1BQU0sNEJBQTRCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQ2xGLE1BQU0saUNBQWlDLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1FBQzVGLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDM0MsYUFBYSxDQUFDLENBQUMsNEJBQTRCLEVBQUUsaUNBQWlDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDeEYsQ0FBQyxDQUFDLDJCQUEyQixFQUFFLGdDQUFnQyxDQUFDLEVBQUUsRUFBRTtZQUNsRSxNQUFNLENBQUMsS0FBSywrRUFBd0M7Z0JBQ2xELFNBQVMsRUFBRSxDQUFDLENBQUMsMkJBQTJCLElBQUksZ0NBQWdDLENBQUM7YUFDOUUsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFJvdXRlc1NlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBTRVRUSU5HX01BTkFHRU1FTlRfSEFTX1NFVFRJTkcgfSBmcm9tICcuL3JvdXRlLnByb3ZpZGVyJztcclxuaW1wb3J0IHsgU0VUVElOR19NQU5BR0VNRU5UX1JPVVRFX1ZJU0lCSUxJVFkgfSBmcm9tICcuL2ZlYXR1cmVzLnRva2VuJztcclxuaW1wb3J0IHsgZVNldHRpbmdNYW5hZ2VtZW50Um91dGVOYW1lcyB9IGZyb20gJy4uL2VudW1zJztcclxuXHJcbmV4cG9ydCBjb25zdCBTRVRUSU5HX01BTkFHRU1FTlRfVklTSUJMRV9QUk9WSURFUlMgPSBbXHJcbiAge1xyXG4gICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG4gICAgdXNlRmFjdG9yeTogc2V0U2V0dGluZ01hbmFnZW1lbnRWaXNpYmlsaXR5LFxyXG4gICAgZGVwczogW0luamVjdG9yXSxcclxuICAgIG11bHRpOiB0cnVlLFxyXG4gIH0sXHJcbl07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc2V0U2V0dGluZ01hbmFnZW1lbnRWaXNpYmlsaXR5KGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gIHJldHVybiAoKSA9PiB7XHJcbiAgICBjb25zdCBzZXR0aW5nTWFuYWdlbWVudEhhc1NldHRpbmckID0gaW5qZWN0b3IuZ2V0KFNFVFRJTkdfTUFOQUdFTUVOVF9IQVNfU0VUVElORyk7XHJcbiAgICBjb25zdCBpc1NldHRpbmdNYW5hZ2VtZW50RmVhdHVyZUVuYWJsZSQgPSBpbmplY3Rvci5nZXQoU0VUVElOR19NQU5BR0VNRU5UX1JPVVRFX1ZJU0lCSUxJVFkpO1xyXG4gICAgY29uc3Qgcm91dGVzID0gaW5qZWN0b3IuZ2V0KFJvdXRlc1NlcnZpY2UpO1xyXG4gICAgY29tYmluZUxhdGVzdChbc2V0dGluZ01hbmFnZW1lbnRIYXNTZXR0aW5nJCwgaXNTZXR0aW5nTWFuYWdlbWVudEZlYXR1cmVFbmFibGUkXSkuc3Vic2NyaWJlKFxyXG4gICAgICAoW3NldHRpbmdNYW5hZ2VtZW50SGFzU2V0dGluZywgaXNTZXR0aW5nTWFuYWdlbWVudEZlYXR1cmVFbmFibGVdKSA9PiB7XHJcbiAgICAgICAgcm91dGVzLnBhdGNoKGVTZXR0aW5nTWFuYWdlbWVudFJvdXRlTmFtZXMuU2V0dGluZ3MsIHtcclxuICAgICAgICAgIGludmlzaWJsZTogIShzZXR0aW5nTWFuYWdlbWVudEhhc1NldHRpbmcgJiYgaXNTZXR0aW5nTWFuYWdlbWVudEZlYXR1cmVFbmFibGUpLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgKTtcclxuICB9O1xyXG59XHJcbiJdfQ==
@@ -1,36 +0,0 @@
1
- import { RestService } from '@abp/ng.core';
2
- import { Injectable } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@abp/ng.core";
5
- /**
6
- @deprecated This method is deprecated, use it from @abp/ng.setting-management/proxy
7
- */
8
- export class EmailSettingsService {
9
- constructor(restService) {
10
- this.restService = restService;
11
- this.apiName = 'SettingManagement';
12
- this.get = () => this.restService.request({
13
- method: 'GET',
14
- url: '/api/setting-management/emailing',
15
- }, { apiName: this.apiName });
16
- this.sendTestEmail = (input) => this.restService.request({
17
- method: 'POST',
18
- url: '/api/setting-management/emailing/send-test-email',
19
- body: input,
20
- }, { apiName: this.apiName });
21
- this.update = (input) => this.restService.request({
22
- method: 'POST',
23
- url: '/api/setting-management/emailing',
24
- body: input,
25
- }, { apiName: this.apiName });
26
- }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: EmailSettingsService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
28
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: EmailSettingsService, providedIn: 'root' }); }
29
- }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: EmailSettingsService, decorators: [{
31
- type: Injectable,
32
- args: [{
33
- providedIn: 'root',
34
- }]
35
- }], ctorParameters: () => [{ type: i1.RestService }] });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtc2V0dGluZ3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NldHRpbmctbWFuYWdlbWVudC9jb25maWcvc3JjL2xpYi9wcm94eS9lbWFpbC1zZXR0aW5ncy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRTNDOztFQUVFO0FBSUYsTUFBTSxPQUFPLG9CQUFvQjtJQTBCL0IsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUF6QjVDLFlBQU8sR0FBRyxtQkFBbUIsQ0FBQztRQUU5QixRQUFHLEdBQUcsR0FBRyxFQUFFLENBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQXdCO1lBQzlDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLGtDQUFrQztTQUN4QyxFQUNELEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBRTdCLGtCQUFhLEdBQUcsQ0FBQyxLQUF5QixFQUFFLEVBQUUsQ0FDNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQVk7WUFDbEMsTUFBTSxFQUFFLE1BQU07WUFDZCxHQUFHLEVBQUUsa0RBQWtEO1lBQ3ZELElBQUksRUFBRSxLQUFLO1NBQ1osRUFDRCxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUU3QixXQUFNLEdBQUcsQ0FBQyxLQUE2QixFQUFFLEVBQUUsQ0FDekMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQVk7WUFDbEMsTUFBTSxFQUFFLE1BQU07WUFDZCxHQUFHLEVBQUUsa0NBQWtDO1lBQ3ZDLElBQUksRUFBRSxLQUFLO1NBQ1osRUFDRCxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUVrQixDQUFDOzhHQTFCckMsb0JBQW9CO2tIQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7MkZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRW1haWxTZXR0aW5nc0R0bywgU2VuZFRlc3RFbWFpbElucHV0LCBVcGRhdGVFbWFpbFNldHRpbmdzRHRvIH0gZnJvbSAnLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG5AZGVwcmVjYXRlZCBUaGlzIG1ldGhvZCBpcyBkZXByZWNhdGVkLCB1c2UgaXQgZnJvbSBAYWJwL25nLnNldHRpbmctbWFuYWdlbWVudC9wcm94eVxyXG4qL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRW1haWxTZXR0aW5nc1NlcnZpY2Uge1xyXG4gIGFwaU5hbWUgPSAnU2V0dGluZ01hbmFnZW1lbnQnO1xyXG5cclxuICBnZXQgPSAoKSA9PlxyXG4gICAgdGhpcy5yZXN0U2VydmljZS5yZXF1ZXN0PGFueSwgRW1haWxTZXR0aW5nc0R0bz4oe1xyXG4gICAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgICB1cmw6ICcvYXBpL3NldHRpbmctbWFuYWdlbWVudC9lbWFpbGluZycsXHJcbiAgICB9LFxyXG4gICAgeyBhcGlOYW1lOiB0aGlzLmFwaU5hbWUgfSk7XHJcblxyXG4gIHNlbmRUZXN0RW1haWwgPSAoaW5wdXQ6IFNlbmRUZXN0RW1haWxJbnB1dCkgPT5cclxuICAgIHRoaXMucmVzdFNlcnZpY2UucmVxdWVzdDxhbnksIHZvaWQ+KHtcclxuICAgICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICAgIHVybDogJy9hcGkvc2V0dGluZy1tYW5hZ2VtZW50L2VtYWlsaW5nL3NlbmQtdGVzdC1lbWFpbCcsXHJcbiAgICAgIGJvZHk6IGlucHV0LFxyXG4gICAgfSxcclxuICAgIHsgYXBpTmFtZTogdGhpcy5hcGlOYW1lIH0pO1xyXG5cclxuICB1cGRhdGUgPSAoaW5wdXQ6IFVwZGF0ZUVtYWlsU2V0dGluZ3NEdG8pID0+XHJcbiAgICB0aGlzLnJlc3RTZXJ2aWNlLnJlcXVlc3Q8YW55LCB2b2lkPih7XHJcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgICB1cmw6ICcvYXBpL3NldHRpbmctbWFuYWdlbWVudC9lbWFpbGluZycsXHJcbiAgICAgIGJvZHk6IGlucHV0LFxyXG4gICAgfSxcclxuICAgIHsgYXBpTmFtZTogdGhpcy5hcGlOYW1lIH0pO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZSkge31cclxufVxyXG4iXX0=
@@ -1,3 +0,0 @@
1
- export * from './email-settings.service';
2
- export * from './models';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zZXR0aW5nLW1hbmFnZW1lbnQvY29uZmlnL3NyYy9saWIvcHJveHkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZW1haWwtc2V0dGluZ3Muc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcclxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc2V0dGluZy1tYW5hZ2VtZW50L2NvbmZpZy9zcmMvbGliL3Byb3h5L21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCBpbnRlcmZhY2UgRW1haWxTZXR0aW5nc0R0byB7XHJcbiAgc210cEhvc3Q/OiBzdHJpbmc7XHJcbiAgc210cFBvcnQ6IG51bWJlcjtcclxuICBzbXRwVXNlck5hbWU/OiBzdHJpbmc7XHJcbiAgc210cFBhc3N3b3JkPzogc3RyaW5nO1xyXG4gIHNtdHBEb21haW4/OiBzdHJpbmc7XHJcbiAgc210cEVuYWJsZVNzbDogYm9vbGVhbjtcclxuICBzbXRwVXNlRGVmYXVsdENyZWRlbnRpYWxzOiBib29sZWFuO1xyXG4gIGRlZmF1bHRGcm9tQWRkcmVzcz86IHN0cmluZztcclxuICBkZWZhdWx0RnJvbURpc3BsYXlOYW1lPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlbmRUZXN0RW1haWxJbnB1dCB7XHJcbiAgc2VuZGVyRW1haWxBZGRyZXNzOiBzdHJpbmc7XHJcbiAgdGFyZ2V0RW1haWxBZGRyZXNzOiBzdHJpbmc7XHJcbiAgc3ViamVjdDogc3RyaW5nO1xyXG4gIGJvZHk/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlRW1haWxTZXR0aW5nc0R0byB7XHJcbiAgc210cEhvc3Q/OiBzdHJpbmc7XHJcbiAgc210cFBvcnQ6IG51bWJlcjtcclxuICBzbXRwVXNlck5hbWU/OiBzdHJpbmc7XHJcbiAgc210cFBhc3N3b3JkPzogc3RyaW5nO1xyXG4gIHNtdHBEb21haW4/OiBzdHJpbmc7XHJcbiAgc210cEVuYWJsZVNzbDogYm9vbGVhbjtcclxuICBzbXRwVXNlRGVmYXVsdENyZWRlbnRpYWxzOiBib29sZWFuO1xyXG4gIGRlZmF1bHRGcm9tQWRkcmVzczogc3RyaW5nO1xyXG4gIGRlZmF1bHRGcm9tRGlzcGxheU5hbWU6IHN0cmluZztcclxufVxyXG4iXX0=
@@ -1,2 +0,0 @@
1
- export * from './settings-tabs.service';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zZXR0aW5nLW1hbmFnZW1lbnQvY29uZmlnL3NyYy9saWIvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2V0dGluZ3MtdGFicy5zZXJ2aWNlJztcclxuIl19