@dignite-ng/expand.tenant-domain-management 3.0.0-rc.3

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 (42) hide show
  1. package/README.md +24 -0
  2. package/config/components/tenant-domain/tenant-domain-form-config.d.ts +4 -0
  3. package/config/components/tenant-domain/tenant-domain.component.d.ts +53 -0
  4. package/config/enums/index.d.ts +2 -0
  5. package/config/enums/route-names.d.ts +3 -0
  6. package/config/enums/step-name.d.ts +5 -0
  7. package/config/index.d.ts +5 -0
  8. package/config/providers/index.d.ts +2 -0
  9. package/config/providers/route.provider.d.ts +9 -0
  10. package/config/providers/setting-route.provider.d.ts +9 -0
  11. package/config/proxy/dignite/abp/tenant-domain-management/index.d.ts +2 -0
  12. package/config/proxy/dignite/abp/tenant-domain-management/models.d.ts +9 -0
  13. package/config/proxy/dignite/abp/tenant-domain-management/tenant-domain.service.d.ts +13 -0
  14. package/config/public-api.d.ts +3 -0
  15. package/config/tenancy-domains-management-config.module.d.ts +8 -0
  16. package/esm2022/config/components/tenant-domain/tenant-domain-form-config.mjs +7 -0
  17. package/esm2022/config/components/tenant-domain/tenant-domain.component.mjs +140 -0
  18. package/esm2022/config/dignite-ng-expand.tenant-domain-management-config.mjs +5 -0
  19. package/esm2022/config/enums/index.mjs +3 -0
  20. package/esm2022/config/enums/route-names.mjs +11 -0
  21. package/esm2022/config/enums/step-name.mjs +7 -0
  22. package/esm2022/config/providers/index.mjs +3 -0
  23. package/esm2022/config/providers/route.provider.mjs +16 -0
  24. package/esm2022/config/providers/setting-route.provider.mjs +25 -0
  25. package/esm2022/config/proxy/dignite/abp/tenant-domain-management/index.mjs +3 -0
  26. package/esm2022/config/proxy/dignite/abp/tenant-domain-management/models.mjs +2 -0
  27. package/esm2022/config/proxy/dignite/abp/tenant-domain-management/tenant-domain.service.mjs +32 -0
  28. package/esm2022/config/public-api.mjs +4 -0
  29. package/esm2022/config/tenancy-domains-management-config.module.mjs +19 -0
  30. package/esm2022/dignite-ng-expand.tenant-domain-management.mjs +5 -0
  31. package/esm2022/lib/tenant-domain-management.component.mjs +19 -0
  32. package/esm2022/lib/tenant-domain-management.service.mjs +14 -0
  33. package/esm2022/public-api.mjs +6 -0
  34. package/fesm2022/dignite-ng-expand.tenant-domain-management-config.mjs +246 -0
  35. package/fesm2022/dignite-ng-expand.tenant-domain-management-config.mjs.map +1 -0
  36. package/fesm2022/dignite-ng-expand.tenant-domain-management.mjs +42 -0
  37. package/fesm2022/dignite-ng-expand.tenant-domain-management.mjs.map +1 -0
  38. package/index.d.ts +5 -0
  39. package/lib/tenant-domain-management.component.d.ts +5 -0
  40. package/lib/tenant-domain-management.service.d.ts +6 -0
  41. package/package.json +35 -0
  42. package/public-api.d.ts +2 -0
package/README.md ADDED
@@ -0,0 +1,24 @@
1
+ # TenantDomainManagement
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 18.1.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project tenant-domain-management` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project tenant-domain-management`.
8
+ > Note: Don't forget to add `--project tenant-domain-management` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build tenant-domain-management` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build tenant-domain-management`, go to the dist folder `cd dist/tenant-domain-management` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test tenant-domain-management` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
@@ -0,0 +1,4 @@
1
+ export declare class TenantDomainFormConfig {
2
+ domainName: any;
3
+ constructor();
4
+ }
@@ -0,0 +1,53 @@
1
+ import { LocalizationService } from '@abp/ng.core';
2
+ import { ToasterService } from '@abp/ng.theme.shared';
3
+ import { OnInit } from '@angular/core';
4
+ import { eTenancyDomainsManagementRouteNames } from '../../enums';
5
+ import { AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors } from '@angular/forms';
6
+ import { ValidatorsService } from '@dignite-ng/expand.core';
7
+ import { StepName } from '../../enums/step-name';
8
+ import { TenantDomainService } from '../../proxy/dignite/abp/tenant-domain-management';
9
+ import { Clipboard } from '@angular/cdk/clipboard';
10
+ import * as i0 from "@angular/core";
11
+ export declare class TenantDomainComponent implements OnInit {
12
+ private fb;
13
+ private _LocalizationService;
14
+ private _ValidatorsService;
15
+ private _TenantDomainService;
16
+ private toaster;
17
+ private clipboard;
18
+ constructor(fb: FormBuilder, _LocalizationService: LocalizationService, _ValidatorsService: ValidatorsService, _TenantDomainService: TenantDomainService, toaster: ToasterService, clipboard: Clipboard);
19
+ eTenancyDomainsManagementRouteNames: typeof eTenancyDomainsManagementRouteNames;
20
+ StepName: typeof StepName;
21
+ /**步骤 */
22
+ stepIndex: number;
23
+ /**是否提交 */
24
+ isSubmit: boolean;
25
+ /**表单验证 */
26
+ formValidation: any;
27
+ /**表单 */
28
+ formEntity: FormGroup | undefined;
29
+ /**解析的域名 */
30
+ parsedDomain: any;
31
+ /**域名信息 */
32
+ TenantDomainInfo: any;
33
+ get domainNameInput(): FormControl;
34
+ ngOnInit(): Promise<void>;
35
+ /**获取域名 */
36
+ getTenantDomain(): Promise<unknown>;
37
+ /**域名验证 */
38
+ DomainValidator(): (control: AbstractControl) => ValidationErrors | null;
39
+ /**拷贝 */
40
+ copyBtn(txt: string): void;
41
+ /**checkCnameRecord 检查CNAME记录 */
42
+ checkCnameRecord(): Promise<unknown>;
43
+ /**表单提交 */
44
+ save(): void;
45
+ /**返回上一步 */
46
+ backLastStep(index: number): void;
47
+ /**下一步 */
48
+ nextStep(index: number): void;
49
+ /**编辑域名 */
50
+ editbtn(index: any): void;
51
+ static ɵfac: i0.ɵɵFactoryDeclaration<TenantDomainComponent, never>;
52
+ static ɵcmp: i0.ɵɵComponentDeclaration<TenantDomainComponent, "lib-tenant-domain", never, {}, {}, never, never, true, never>;
53
+ }
@@ -0,0 +1,2 @@
1
+ export * from './route-names';
2
+ export * from './step-name';
@@ -0,0 +1,3 @@
1
+ export declare enum eTenancyDomainsManagementRouteNames {
2
+ Domain = "TenantDomainManagement::Domains"
3
+ }
@@ -0,0 +1,5 @@
1
+ export declare enum StepName {
2
+ fillIn = 0,
3
+ check = 1,
4
+ finish = 2
5
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@dignite-ng/expand.tenant-domain-management/config" />
5
+ export * from './public-api';
@@ -0,0 +1,2 @@
1
+ export * from './route.provider';
2
+ export * from './setting-route.provider';
@@ -0,0 +1,9 @@
1
+ import { RoutesService } from '@abp/ng.core';
2
+ import { SettingTabsService } from '@abp/ng.setting-management/config';
3
+ export declare const Tenancy_Domains_Management_ROUTE_PROVIDERS: {
4
+ provide: import("@angular/core").InjectionToken<readonly (() => import("rxjs").Observable<unknown> | Promise<unknown> | void)[]>;
5
+ useFactory: typeof configureRoutes;
6
+ deps: (typeof RoutesService | typeof SettingTabsService)[];
7
+ multi: boolean;
8
+ }[];
9
+ export declare function configureRoutes(routesService: RoutesService, settingTabs: SettingTabsService): () => void;
@@ -0,0 +1,9 @@
1
+ import { RoutesService } from '@abp/ng.core';
2
+ import { SettingTabsService } from '@abp/ng.setting-management/config';
3
+ export declare const Tenancy_Domains_Management_Setting_ROUTE_PROVIDERS: {
4
+ provide: import("@angular/core").InjectionToken<readonly (() => import("rxjs").Observable<unknown> | Promise<unknown> | void)[]>;
5
+ useFactory: typeof configureSettingRoutes;
6
+ deps: (typeof RoutesService | typeof SettingTabsService)[];
7
+ multi: boolean;
8
+ }[];
9
+ export declare function configureSettingRoutes(routesService: RoutesService, settingTabs: SettingTabsService): () => void;
@@ -0,0 +1,2 @@
1
+ export * from './models';
2
+ export * from './tenant-domain.service';
@@ -0,0 +1,9 @@
1
+ export interface ConnectTenantDomainInput {
2
+ domainName: string;
3
+ }
4
+ export interface TenantDomainDto {
5
+ domainName?: string;
6
+ isValid: boolean;
7
+ proxyAddress?: string;
8
+ tenantId?: string;
9
+ }
@@ -0,0 +1,13 @@
1
+ import type { ConnectTenantDomainInput, TenantDomainDto } from './models';
2
+ import { RestService, Rest } from '@abp/ng.core';
3
+ import * as i0 from "@angular/core";
4
+ export declare class TenantDomainService {
5
+ private restService;
6
+ apiName: string;
7
+ checkCnameRecord: (domainName: string, config?: Partial<Rest.Config>) => import("rxjs").Observable<boolean>;
8
+ connect: (input: ConnectTenantDomainInput, config?: Partial<Rest.Config>) => import("rxjs").Observable<TenantDomainDto>;
9
+ get: (config?: Partial<Rest.Config>) => import("rxjs").Observable<TenantDomainDto>;
10
+ constructor(restService: RestService);
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<TenantDomainService, never>;
12
+ static ɵprov: i0.ɵɵInjectableDeclaration<TenantDomainService>;
13
+ }
@@ -0,0 +1,3 @@
1
+ export * from './enums';
2
+ export * from './tenancy-domains-management-config.module';
3
+ export * from './providers';
@@ -0,0 +1,8 @@
1
+ import { ModuleWithProviders } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class TenancyDomainsManagementConfigModule {
4
+ static forRoot(): ModuleWithProviders<TenancyDomainsManagementConfigModule>;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<TenancyDomainsManagementConfigModule, never>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TenancyDomainsManagementConfigModule, never, never, never>;
7
+ static ɵinj: i0.ɵɵInjectorDeclaration<TenancyDomainsManagementConfigModule>;
8
+ }
@@ -0,0 +1,7 @@
1
+ import { Validators } from '@angular/forms';
2
+ export class TenantDomainFormConfig {
3
+ constructor() {
4
+ this.domainName = ['', [Validators.required]];
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LWRvbWFpbi1mb3JtLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RlbmFudC1kb21haW4tbWFuYWdlbWVudC9jb25maWcvc3JjL2NvbXBvbmVudHMvdGVuYW50LWRvbWFpbi90ZW5hbnQtZG9tYWluLWZvcm0tY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxNQUFNLE9BQU8sc0JBQXNCO0lBR2pDO1FBREEsZUFBVSxHQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDL0IsQ0FBQztDQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5leHBvcnQgY2xhc3MgVGVuYW50RG9tYWluRm9ybUNvbmZpZyB7XHJcblxyXG4gIGRvbWFpbk5hbWU6IGFueSA9IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXTtcclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcbn1cclxuIl19
@@ -0,0 +1,140 @@
1
+ import { CoreModule } from '@abp/ng.core';
2
+ import { ThemeSharedModule } from '@abp/ng.theme.shared';
3
+ import { Component } from '@angular/core';
4
+ import { eTenancyDomainsManagementRouteNames } from '../../enums';
5
+ import { TenantDomainFormConfig } from './tenant-domain-form-config';
6
+ import { finalize } from 'rxjs';
7
+ import * as psl from 'psl';
8
+ import { StepName } from '../../enums/step-name';
9
+ import { ClipboardModule } from '@angular/cdk/clipboard';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/forms";
12
+ import * as i2 from "@abp/ng.core";
13
+ import * as i3 from "@dignite-ng/expand.core";
14
+ import * as i4 from "../../proxy/dignite/abp/tenant-domain-management";
15
+ import * as i5 from "@abp/ng.theme.shared";
16
+ import * as i6 from "@angular/cdk/clipboard";
17
+ import * as i7 from "@angular/common";
18
+ import * as i8 from "@ngx-validate/core";
19
+ export class TenantDomainComponent {
20
+ constructor(fb, _LocalizationService, _ValidatorsService, _TenantDomainService, toaster, clipboard) {
21
+ this.fb = fb;
22
+ this._LocalizationService = _LocalizationService;
23
+ this._ValidatorsService = _ValidatorsService;
24
+ this._TenantDomainService = _TenantDomainService;
25
+ this.toaster = toaster;
26
+ this.clipboard = clipboard;
27
+ this.eTenancyDomainsManagementRouteNames = eTenancyDomainsManagementRouteNames;
28
+ this.StepName = StepName;
29
+ /**步骤 */
30
+ this.stepIndex = 0;
31
+ /**是否提交 */
32
+ this.isSubmit = false;
33
+ /**表单验证 */
34
+ this.formValidation = '';
35
+ /**解析的域名 */
36
+ this.parsedDomain = '';
37
+ /**域名信息 */
38
+ this.TenantDomainInfo = '';
39
+ console.log(this.StepName);
40
+ }
41
+ get domainNameInput() {
42
+ return this.formEntity?.get('domainName');
43
+ }
44
+ async ngOnInit() {
45
+ // throw new Error('Method not implemented.');
46
+ this.formEntity = this.fb.group(new TenantDomainFormConfig());
47
+ await this.getTenantDomain();
48
+ this.domainNameInput.addValidators(this.DomainValidator());
49
+ let domainName = this.TenantDomainInfo?.domainName;
50
+ if (domainName) {
51
+ this.domainNameInput.patchValue(domainName);
52
+ this.stepIndex = this.StepName.finish;
53
+ }
54
+ }
55
+ /**获取域名 */
56
+ getTenantDomain() {
57
+ return new Promise((resolve, reject) => {
58
+ this._TenantDomainService.get().subscribe(res => {
59
+ this.TenantDomainInfo = res;
60
+ resolve(res);
61
+ });
62
+ });
63
+ }
64
+ /**域名验证 */
65
+ DomainValidator() {
66
+ return (control) => {
67
+ // const parsed:any = psl.parse(control.value);
68
+ if (!control.value)
69
+ return null;
70
+ if (!psl.isValid(control.value)) {
71
+ return {
72
+ repetition: this._LocalizationService.instant('TenantDomainManagement::YourDomainNameMustContainAValidSuffix'),
73
+ };
74
+ }
75
+ return null;
76
+ };
77
+ }
78
+ /**拷贝 */
79
+ copyBtn(txt) {
80
+ this.clipboard.copy(txt);
81
+ this.toaster.success(this._LocalizationService.instant('TenantDomainManagement::ReplicationSuccessful'));
82
+ }
83
+ /**checkCnameRecord 检查CNAME记录 */
84
+ checkCnameRecord() {
85
+ let that = this;
86
+ return new Promise((resolve, reject) => {
87
+ this._TenantDomainService.checkCnameRecord(that.domainNameInput?.value).subscribe(res => {
88
+ if (res) {
89
+ that.stepIndex = that.StepName.finish;
90
+ that.toaster.success(that._LocalizationService.instant('TenantDomainManagement::YourDomainNameHasBeenVerifiedPleaseBind'));
91
+ resolve(res);
92
+ }
93
+ else {
94
+ that.toaster.error(that._LocalizationService.instant('TenantDomainManagement::YourDomainNameIsNotVerifiedPleaseCheckTheDNSConfigurationOfTheDomainName'));
95
+ reject(res);
96
+ }
97
+ });
98
+ });
99
+ }
100
+ /**表单提交 */
101
+ save() {
102
+ if (this.isSubmit)
103
+ return;
104
+ this.isSubmit = true;
105
+ this._TenantDomainService
106
+ .connect({
107
+ domainName: this.domainNameInput.value,
108
+ })
109
+ .pipe(finalize(() => {
110
+ this.isSubmit = false;
111
+ }))
112
+ .subscribe(res => {
113
+ this.toaster.success(this._LocalizationService.instant('TenantDomainManagement::SaveSuccessful'));
114
+ }, err => {
115
+ this.toaster.error(this._LocalizationService.instant('TenantDomainManagement::SaveFailure'));
116
+ });
117
+ }
118
+ /**返回上一步 */
119
+ backLastStep(index) {
120
+ this.stepIndex = index;
121
+ }
122
+ /**下一步 */
123
+ nextStep(index) {
124
+ if (!this.formEntity.valid)
125
+ return;
126
+ this.parsedDomain = psl.parse(this.domainNameInput.value);
127
+ this.stepIndex = index;
128
+ }
129
+ /**编辑域名 */
130
+ editbtn(index) {
131
+ this.stepIndex = index;
132
+ }
133
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenantDomainComponent, deps: [{ token: i1.FormBuilder }, { token: i2.LocalizationService }, { token: i3.ValidatorsService }, { token: i4.TenantDomainService }, { token: i5.ToasterService }, { token: i6.Clipboard }], target: i0.ɵɵFactoryTarget.Component }); }
134
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TenantDomainComponent, isStandalone: true, selector: "lib-tenant-domain", ngImport: i0, template: "<!-- <form [formGroup]=\"formEntity\" (keydown.enter)=\"$event.preventDefault()\" [class]=\"{'was-validated':formValidation}\"\r\n (submit)=\"save()\">\r\n <div class=\"tenant-domain\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'MultiTenancyDomains::DomainName'|abpLocalization}}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"domainName\">\r\n <div class=\"text-danger invalid-feedback\">\r\n {{domainNameInput.errors?.repetition}}\r\n </div>\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"submit\" [loading]=\"isSubmit\"\r\n [disabled]=\"isSubmit\">{{'AbpUi::Save'|abpLocalization}}</abp-button>\r\n </div>\r\n</form> -->\r\n\r\n<form [formGroup]=\"formEntity\" (keydown.enter)=\"$event.preventDefault()\" [class]=\"{'was-validated':formValidation}\"\r\n (submit)=\"nextStep(StepName.check)\">\r\n <div class=\"tenant-domain\">\r\n <ng-container *ngIf=\"stepIndex===StepName.fillIn\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'TenantDomainManagement::DomainName'|abpLocalization}}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"domainName\">\r\n <div class=\"text-danger \">\r\n {{domainNameInput?.errors?.repetition}}\r\n </div>\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"submit\">{{'TenantDomainManagement::NextStep'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.check\">\r\n <h5 class=\"card-title mb-3 d-inline-block\" role=\"button\" (click.stop)=\"backLastStep(StepName.fillIn)\"><i\r\n class=\"bi bi-arrow-left me-2\"></i>{{domainNameInput?.value}}</h5>\r\n <h5>{{'TenantDomainManagement::DomainSetup'|abpLocalization}} </h5>\r\n <p>{{'TenantDomainManagement::FollowTheInstructionsBelow'|abpLocalization}}</p>\r\n <ol>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::LogInToYourProvider'|abpLocalization}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::OpenDNSManagementFor{0}'|abpLocalization:domainNameInput?.value}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::AddANewDNSRecordByCopyingAndPastingTheNameAndNewValue'|abpLocalization}}</li>\r\n </ol>\r\n <table class=\"table ms-2\">\r\n <thead>\r\n <tr>\r\n <th>{{'TenantDomainManagement::Type'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::Name'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::NewValue'|abpLocalization}}</th>\r\n <th style=\"width: 1%;\"></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td>CNAME</td>\r\n <td>{{ (parsedDomain?.subdomain)?(parsedDomain?.subdomain):'www'}}</td>\r\n <td>{{TenantDomainInfo?.proxyAddress}}</td>\r\n <td style=\"width: 1%;\"><i class=\"bi bi-clipboard\"\r\n (click.stop)=\"copyBtn(TenantDomainInfo?.proxyAddress)\" role=\"button\"></i></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"checkCnameRecord()\">{{'TenantDomainManagement::ValidateDomainName'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.finish\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label d-flex justify-content-between align-items-center\">\r\n {{'TenantDomainManagement::DomainName'|abpLocalization}}\r\n <span class=\"text-primary\" role=\"button\" (click.stop)=\"editbtn(StepName.fillIn)\">{{'TenantDomainManagement::Edit'|abpLocalization}}</span>\r\n </label>\r\n {{domainNameInput?.value}}\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"save()\" [loading]=\"isSubmit\" [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n\r\n <!-- <abp-button iconClass=\"fa fa-save\" buttonType=\"submit\" [loading]=\"isSubmit\"\r\n [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button> -->\r\n </div>\r\n</form>", styles: [""], dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i2.LocalizationPipe, name: "abpLocalization" }, { kind: "directive", type: i2.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "ngmodule", type: ThemeSharedModule }, { kind: "directive", type: i8.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i8.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i5.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "ngmodule", type: ClipboardModule }] }); }
135
+ }
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenantDomainComponent, decorators: [{
137
+ type: Component,
138
+ args: [{ selector: 'lib-tenant-domain', standalone: true, imports: [CoreModule, ThemeSharedModule, ClipboardModule], template: "<!-- <form [formGroup]=\"formEntity\" (keydown.enter)=\"$event.preventDefault()\" [class]=\"{'was-validated':formValidation}\"\r\n (submit)=\"save()\">\r\n <div class=\"tenant-domain\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'MultiTenancyDomains::DomainName'|abpLocalization}}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"domainName\">\r\n <div class=\"text-danger invalid-feedback\">\r\n {{domainNameInput.errors?.repetition}}\r\n </div>\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"submit\" [loading]=\"isSubmit\"\r\n [disabled]=\"isSubmit\">{{'AbpUi::Save'|abpLocalization}}</abp-button>\r\n </div>\r\n</form> -->\r\n\r\n<form [formGroup]=\"formEntity\" (keydown.enter)=\"$event.preventDefault()\" [class]=\"{'was-validated':formValidation}\"\r\n (submit)=\"nextStep(StepName.check)\">\r\n <div class=\"tenant-domain\">\r\n <ng-container *ngIf=\"stepIndex===StepName.fillIn\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'TenantDomainManagement::DomainName'|abpLocalization}}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"domainName\">\r\n <div class=\"text-danger \">\r\n {{domainNameInput?.errors?.repetition}}\r\n </div>\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"submit\">{{'TenantDomainManagement::NextStep'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.check\">\r\n <h5 class=\"card-title mb-3 d-inline-block\" role=\"button\" (click.stop)=\"backLastStep(StepName.fillIn)\"><i\r\n class=\"bi bi-arrow-left me-2\"></i>{{domainNameInput?.value}}</h5>\r\n <h5>{{'TenantDomainManagement::DomainSetup'|abpLocalization}} </h5>\r\n <p>{{'TenantDomainManagement::FollowTheInstructionsBelow'|abpLocalization}}</p>\r\n <ol>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::LogInToYourProvider'|abpLocalization}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::OpenDNSManagementFor{0}'|abpLocalization:domainNameInput?.value}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::AddANewDNSRecordByCopyingAndPastingTheNameAndNewValue'|abpLocalization}}</li>\r\n </ol>\r\n <table class=\"table ms-2\">\r\n <thead>\r\n <tr>\r\n <th>{{'TenantDomainManagement::Type'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::Name'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::NewValue'|abpLocalization}}</th>\r\n <th style=\"width: 1%;\"></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td>CNAME</td>\r\n <td>{{ (parsedDomain?.subdomain)?(parsedDomain?.subdomain):'www'}}</td>\r\n <td>{{TenantDomainInfo?.proxyAddress}}</td>\r\n <td style=\"width: 1%;\"><i class=\"bi bi-clipboard\"\r\n (click.stop)=\"copyBtn(TenantDomainInfo?.proxyAddress)\" role=\"button\"></i></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"checkCnameRecord()\">{{'TenantDomainManagement::ValidateDomainName'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.finish\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label d-flex justify-content-between align-items-center\">\r\n {{'TenantDomainManagement::DomainName'|abpLocalization}}\r\n <span class=\"text-primary\" role=\"button\" (click.stop)=\"editbtn(StepName.fillIn)\">{{'TenantDomainManagement::Edit'|abpLocalization}}</span>\r\n </label>\r\n {{domainNameInput?.value}}\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"save()\" [loading]=\"isSubmit\" [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n\r\n <!-- <abp-button iconClass=\"fa fa-save\" buttonType=\"submit\" [loading]=\"isSubmit\"\r\n [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button> -->\r\n </div>\r\n</form>" }]
139
+ }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.LocalizationService }, { type: i3.ValidatorsService }, { type: i4.TenantDomainService }, { type: i5.ToasterService }, { type: i6.Clipboard }] });
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LWRvbWFpbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW5hbnQtZG9tYWluLW1hbmFnZW1lbnQvY29uZmlnL3NyYy9jb21wb25lbnRzL3RlbmFudC1kb21haW4vdGVuYW50LWRvbWFpbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW5hbnQtZG9tYWluLW1hbmFnZW1lbnQvY29uZmlnL3NyYy9jb21wb25lbnRzL3RlbmFudC1kb21haW4vdGVuYW50LWRvbWFpbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUF1QixNQUFNLGNBQWMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQWtCLE1BQU0sc0JBQXNCLENBQUM7QUFDekUsT0FBTyxFQUFFLFNBQVMsRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBUWxFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRXJFLE9BQU8sRUFBRSxRQUFRLEVBQW9CLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sS0FBSyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBQzNCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZUFBZSxFQUFhLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7QUFTcEUsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxZQUNVLEVBQWUsRUFDZixvQkFBeUMsRUFDekMsa0JBQXFDLEVBQ3JDLG9CQUF5QyxFQUN6QyxPQUF1QixFQUN2QixTQUFvQjtRQUxwQixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFxQjtRQUN6Qyx1QkFBa0IsR0FB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UUFDSixDQUFDLEVBQ0QsR0FBRyxDQUFDLEVBQUU7WUFDSixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FDaEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxxQ0FBcUMsQ0FBQyxDQUN6RSxDQUFDO1FBQ0osQ0FBQyxDQUNGLENBQUM7SUFDTixDQUFDO0lBQ0QsV0FBVztJQUNYLFlBQVksQ0FBQyxLQUFhO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxTQUFTO0lBQ1QsUUFBUSxDQUFDLEtBQWE7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSztZQUFFLE9BQU87UUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUNELFVBQVU7SUFDVixPQUFPLENBQUMsS0FBSztRQUNYLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7OEdBM0lVLHFCQUFxQjtrR0FBckIscUJBQXFCLDZFQzFCbEMsa3pKQStFTyx5RER6REssVUFBVSxtdUNBQUUsaUJBQWlCLHVpQkFBRSxlQUFlOzsyRkFJN0MscUJBQXFCO2tCQVBqQyxTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1AsQ0FBQyxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29yZU1vZHVsZSwgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IFRoZW1lU2hhcmVkTW9kdWxlLCBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBlVGVuYW5jeURvbWFpbnNNYW5hZ2VtZW50Um91dGVOYW1lcyB9IGZyb20gJy4uLy4uL2VudW1zJztcclxuaW1wb3J0IHtcclxuICBBYnN0cmFjdENvbnRyb2wsXHJcbiAgRm9ybUJ1aWxkZXIsXHJcbiAgRm9ybUNvbnRyb2wsXHJcbiAgRm9ybUdyb3VwLFxyXG4gIFZhbGlkYXRpb25FcnJvcnMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBUZW5hbnREb21haW5Gb3JtQ29uZmlnIH0gZnJvbSAnLi90ZW5hbnQtZG9tYWluLWZvcm0tY29uZmlnJztcclxuaW1wb3J0IHsgVmFsaWRhdG9yc1NlcnZpY2UgfSBmcm9tICdAZGlnbml0ZS1uZy9leHBhbmQuY29yZSc7XHJcbmltcG9ydCB7IGZpbmFsaXplLCBPYnNlcnZhYmxlLCBwaXBlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCAqIGFzIHBzbCBmcm9tICdwc2wnO1xyXG5pbXBvcnQgeyBTdGVwTmFtZSB9IGZyb20gJy4uLy4uL2VudW1zL3N0ZXAtbmFtZSc7XHJcbmltcG9ydCB7IFRlbmFudERvbWFpblNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcm94eS9kaWduaXRlL2FicC90ZW5hbnQtZG9tYWluLW1hbmFnZW1lbnQnO1xyXG5pbXBvcnQgeyBDbGlwYm9hcmRNb2R1bGUsIENsaXBib2FyZCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jbGlwYm9hcmQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdGVuYW50LWRvbWFpbicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgVGhlbWVTaGFyZWRNb2R1bGUsIENsaXBib2FyZE1vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbmFudC1kb21haW4uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi90ZW5hbnQtZG9tYWluLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRlbmFudERvbWFpbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgX0xvY2FsaXphdGlvblNlcnZpY2U6IExvY2FsaXphdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9WYWxpZGF0b3JzU2VydmljZTogVmFsaWRhdG9yc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9UZW5hbnREb21haW5TZXJ2aWNlOiBUZW5hbnREb21haW5TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0b2FzdGVyOiBUb2FzdGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgY2xpcGJvYXJkOiBDbGlwYm9hcmRcclxuICApIHtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuU3RlcE5hbWUpO1xyXG4gIH1cclxuXHJcbiAgZVRlbmFuY3lEb21haW5zTWFuYWdlbWVudFJvdXRlTmFtZXMgPSBlVGVuYW5jeURvbWFpbnNNYW5hZ2VtZW50Um91dGVOYW1lcztcclxuICBTdGVwTmFtZSA9IFN0ZXBOYW1lO1xyXG4gIC8qKuatpemqpCAqL1xyXG4gIHN0ZXBJbmRleDogbnVtYmVyID0gMDtcclxuICAvKirmmK/lkKbmj5DkuqQgKi9cclxuICBpc1N1Ym1pdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIC8qKuihqOWNlemqjOivgSAqL1xyXG4gIGZvcm1WYWxpZGF0aW9uOiBhbnkgPSAnJztcclxuICAvKirooajljZUgKi9cclxuICBmb3JtRW50aXR5OiBGb3JtR3JvdXAgfCB1bmRlZmluZWQ7XHJcbiAgLyoq6Kej5p6Q55qE5Z+f5ZCNICovXHJcbiAgcGFyc2VkRG9tYWluOiBhbnkgPSAnJztcclxuICAvKirln5/lkI3kv6Hmga8gKi9cclxuICBUZW5hbnREb21haW5JbmZvOiBhbnkgPSAnJztcclxuXHJcbiAgZ2V0IGRvbWFpbk5hbWVJbnB1dCgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1FbnRpdHk/LmdldCgnZG9tYWluTmFtZScpIGFzIEZvcm1Db250cm9sO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XHJcbiAgICB0aGlzLmZvcm1FbnRpdHkgPSB0aGlzLmZiLmdyb3VwKG5ldyBUZW5hbnREb21haW5Gb3JtQ29uZmlnKCkpO1xyXG4gICAgYXdhaXQgdGhpcy5nZXRUZW5hbnREb21haW4oKTtcclxuICAgIHRoaXMuZG9tYWluTmFtZUlucHV0LmFkZFZhbGlkYXRvcnModGhpcy5Eb21haW5WYWxpZGF0b3IoKSk7XHJcbiAgICBsZXQgZG9tYWluTmFtZSA9IHRoaXMuVGVuYW50RG9tYWluSW5mbz8uZG9tYWluTmFtZTtcclxuICAgIGlmIChkb21haW5OYW1lKSB7XHJcbiAgICAgIHRoaXMuZG9tYWluTmFtZUlucHV0LnBhdGNoVmFsdWUoZG9tYWluTmFtZSk7XHJcbiAgICAgIHRoaXMuc3RlcEluZGV4ID0gdGhpcy5TdGVwTmFtZS5maW5pc2g7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qKuiOt+WPluWfn+WQjSAqL1xyXG4gIGdldFRlbmFudERvbWFpbigpIHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIHRoaXMuX1RlbmFudERvbWFpblNlcnZpY2UuZ2V0KCkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgdGhpcy5UZW5hbnREb21haW5JbmZvID0gcmVzO1xyXG4gICAgICAgIHJlc29sdmUocmVzKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKuWfn+WQjemqjOivgSAqL1xyXG4gIERvbWFpblZhbGlkYXRvcigpIHtcclxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xyXG4gICAgICAvLyBjb25zdCBwYXJzZWQ6YW55ID0gcHNsLnBhcnNlKGNvbnRyb2wudmFsdWUpO1xyXG4gICAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHJldHVybiBudWxsO1xyXG4gICAgICBpZiAoIXBzbC5pc1ZhbGlkKGNvbnRyb2wudmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIHJlcGV0aXRpb246IHRoaXMuX0xvY2FsaXphdGlvblNlcnZpY2UuaW5zdGFudChcclxuICAgICAgICAgICAgJ1RlbmFudERvbWFpbk1hbmFnZW1lbnQ6OllvdXJEb21haW5OYW1lTXVzdENvbnRhaW5BVmFsaWRTdWZmaXgnXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9O1xyXG4gIH1cclxuICAvKirmi7fotJ0gKi9cclxuICBjb3B5QnRuKHR4dDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmNsaXBib2FyZC5jb3B5KHR4dCk7XHJcbiAgICB0aGlzLnRvYXN0ZXIuc3VjY2VzcyhcclxuICAgICAgdGhpcy5fTG9jYWxpemF0aW9uU2VydmljZS5pbnN0YW50KCdUZW5hbnREb21haW5NYW5hZ2VtZW50OjpSZXBsaWNhdGlvblN1Y2Nlc3NmdWwnKVxyXG4gICAgKTtcclxuICB9XHJcbiAgLyoqY2hlY2tDbmFtZVJlY29yZCDmo4Dmn6VDTkFNReiusOW9lSAqL1xyXG4gIGNoZWNrQ25hbWVSZWNvcmQoKSB7XHJcbiAgICBsZXQgdGhhdCA9IHRoaXM7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICB0aGlzLl9UZW5hbnREb21haW5TZXJ2aWNlLmNoZWNrQ25hbWVSZWNvcmQodGhhdC5kb21haW5OYW1lSW5wdXQ/LnZhbHVlKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICB0aGF0LnN0ZXBJbmRleCA9IHRoYXQuU3RlcE5hbWUuZmluaXNoO1xyXG4gICAgICAgICAgdGhhdC50b2FzdGVyLnN1Y2Nlc3MoXHJcbiAgICAgICAgICAgIHRoYXQuX0xvY2FsaXphdGlvblNlcnZpY2UuaW5zdGFudChcclxuICAgICAgICAgICAgICAnVGVuYW50RG9tYWluTWFuYWdlbWVudDo6WW91ckRvbWFpbk5hbWVIYXNCZWVuVmVyaWZpZWRQbGVhc2VCaW5kJ1xyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgcmVzb2x2ZShyZXMpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGF0LnRvYXN0ZXIuZXJyb3IoXHJcbiAgICAgICAgICAgIHRoYXQuX0xvY2FsaXphdGlvblNlcnZpY2UuaW5zdGFudChcclxuICAgICAgICAgICAgICAnVGVuYW50RG9tYWluTWFuYWdlbWVudDo6WW91ckRvbWFpbk5hbWVJc05vdFZlcmlmaWVkUGxlYXNlQ2hlY2tUaGVETlNDb25maWd1cmF0aW9uT2ZUaGVEb21haW5OYW1lJ1xyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgcmVqZWN0KHJlcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoq6KGo5Y2V5o+Q5LqkICovXHJcbiAgc2F2ZSgpIHtcclxuICAgIGlmICh0aGlzLmlzU3VibWl0KSByZXR1cm47XHJcbiAgICB0aGlzLmlzU3VibWl0ID0gdHJ1ZTtcclxuICAgIHRoaXMuX1RlbmFudERvbWFpblNlcnZpY2VcclxuICAgICAgLmNvbm5lY3Qoe1xyXG4gICAgICAgIGRvbWFpbk5hbWU6IHRoaXMuZG9tYWluTmFtZUlucHV0LnZhbHVlLFxyXG4gICAgICB9KVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmlzU3VibWl0ID0gZmFsc2U7XHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgIHJlcyA9PiB7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0ZXIuc3VjY2VzcyhcclxuICAgICAgICAgICAgdGhpcy5fTG9jYWxpemF0aW9uU2VydmljZS5pbnN0YW50KCdUZW5hbnREb21haW5NYW5hZ2VtZW50OjpTYXZlU3VjY2Vzc2Z1bCcpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyID0+IHtcclxuICAgICAgICAgIHRoaXMudG9hc3Rlci5lcnJvcihcclxuICAgICAgICAgICAgdGhpcy5fTG9jYWxpemF0aW9uU2VydmljZS5pbnN0YW50KCdUZW5hbnREb21haW5NYW5hZ2VtZW50OjpTYXZlRmFpbHVyZScpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICB9XHJcbiAgLyoq6L+U5Zue5LiK5LiA5q2lICovXHJcbiAgYmFja0xhc3RTdGVwKGluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMuc3RlcEluZGV4ID0gaW5kZXg7XHJcbiAgfVxyXG5cclxuICAvKirkuIvkuIDmraUgKi9cclxuICBuZXh0U3RlcChpbmRleDogbnVtYmVyKSB7XHJcbiAgICBpZiAoIXRoaXMuZm9ybUVudGl0eS52YWxpZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5wYXJzZWREb21haW4gPSBwc2wucGFyc2UodGhpcy5kb21haW5OYW1lSW5wdXQudmFsdWUpO1xyXG4gICAgdGhpcy5zdGVwSW5kZXggPSBpbmRleDtcclxuICB9XHJcbiAgLyoq57yW6L6R5Z+f5ZCNICovXHJcbiAgZWRpdGJ0bihpbmRleCkge1xyXG4gICAgdGhpcy5zdGVwSW5kZXggPSBpbmRleDtcclxuICB9XHJcbn1cclxuIiwiPCEtLSA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1FbnRpdHlcIiAoa2V5ZG93bi5lbnRlcik9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiIFtjbGFzc109XCJ7J3dhcy12YWxpZGF0ZWQnOmZvcm1WYWxpZGF0aW9ufVwiXHJcbiAgICAoc3VibWl0KT1cInNhdmUoKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInRlbmFudC1kb21haW5cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCI+e3snTXVsdGlUZW5hbmN5RG9tYWluczo6RG9tYWluTmFtZSd8YWJwTG9jYWxpemF0aW9ufX08L2xhYmVsPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cImRvbWFpbk5hbWVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZGFuZ2VyIGludmFsaWQtZmVlZGJhY2tcIj5cclxuICAgICAgICAgICAgICAgIHt7ZG9tYWluTmFtZUlucHV0LmVycm9ycz8ucmVwZXRpdGlvbn19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxociBjbGFzcz1cIm15LTNcIiAvPlxyXG4gICAgICAgIDxhYnAtYnV0dG9uICBpY29uQ2xhc3M9XCJmYSBmYS1zYXZlXCIgYnV0dG9uVHlwZT1cInN1Ym1pdFwiIFtsb2FkaW5nXT1cImlzU3VibWl0XCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiaXNTdWJtaXRcIj57eydBYnBVaTo6U2F2ZSd8YWJwTG9jYWxpemF0aW9ufX08L2FicC1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuPC9mb3JtPiAtLT5cclxuXHJcbjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybUVudGl0eVwiIChrZXlkb3duLmVudGVyKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCIgW2NsYXNzXT1cInsnd2FzLXZhbGlkYXRlZCc6Zm9ybVZhbGlkYXRpb259XCJcclxuICAgIChzdWJtaXQpPVwibmV4dFN0ZXAoU3RlcE5hbWUuY2hlY2spXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGVuYW50LWRvbWFpblwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGVwSW5kZXg9PT1TdGVwTmFtZS5maWxsSW5cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIj57eydUZW5hbnREb21haW5NYW5hZ2VtZW50OjpEb21haW5OYW1lJ3xhYnBMb2NhbGl6YXRpb259fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cImRvbWFpbk5hbWVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWRhbmdlciBcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e2RvbWFpbk5hbWVJbnB1dD8uZXJyb3JzPy5yZXBldGl0aW9ufX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGhyIGNsYXNzPVwibXktM1wiIC8+XHJcbiAgICAgICAgICAgIDxhYnAtYnV0dG9uIGNsYXNzPVwiZmxvYXQtZW5kXCJcclxuICAgICAgICAgICAgICAgIGJ1dHRvblR5cGU9XCJzdWJtaXRcIj57eydUZW5hbnREb21haW5NYW5hZ2VtZW50OjpOZXh0U3RlcCd8YWJwTG9jYWxpemF0aW9ufX08L2FicC1idXR0b24+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0ZXBJbmRleD09PVN0ZXBOYW1lLmNoZWNrXCI+XHJcbiAgICAgICAgICAgIDxoNSBjbGFzcz1cImNhcmQtdGl0bGUgbWItMyBkLWlubGluZS1ibG9ja1wiIHJvbGU9XCJidXR0b25cIiAoY2xpY2suc3RvcCk9XCJiYWNrTGFzdFN0ZXAoU3RlcE5hbWUuZmlsbEluKVwiPjxpXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiaSBiaS1hcnJvdy1sZWZ0IG1lLTJcIj48L2k+e3tkb21haW5OYW1lSW5wdXQ/LnZhbHVlfX08L2g1PlxyXG4gICAgICAgICAgICA8aDU+e3snVGVuYW50RG9tYWluTWFuYWdlbWVudDo6RG9tYWluU2V0dXAnfGFicExvY2FsaXphdGlvbn19IDwvaDU+XHJcbiAgICAgICAgICAgIDxwPnt7J1RlbmFudERvbWFpbk1hbmFnZW1lbnQ6OkZvbGxvd1RoZUluc3RydWN0aW9uc0JlbG93J3xhYnBMb2NhbGl6YXRpb259fTwvcD5cclxuICAgICAgICAgICAgPG9sPlxyXG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibWItMlwiPiB7eydUZW5hbnREb21haW5NYW5hZ2VtZW50OjpMb2dJblRvWW91clByb3ZpZGVyJ3xhYnBMb2NhbGl6YXRpb259fTwvbGk+XHJcbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJtYi0yXCI+IHt7J1RlbmFudERvbWFpbk1hbmFnZW1lbnQ6Ok9wZW5ETlNNYW5hZ2VtZW50Rm9yezB9J3xhYnBMb2NhbGl6YXRpb246ZG9tYWluTmFtZUlucHV0Py52YWx1ZX19PC9saT5cclxuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm1iLTJcIj4ge3snVGVuYW50RG9tYWluTWFuYWdlbWVudDo6QWRkQU5ld0ROU1JlY29yZEJ5Q29weWluZ0FuZFBhc3RpbmdUaGVOYW1lQW5kTmV3VmFsdWUnfGFicExvY2FsaXphdGlvbn19PC9saT5cclxuICAgICAgICAgICAgPC9vbD5cclxuICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidGFibGUgbXMtMlwiPlxyXG4gICAgICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoPnt7J1RlbmFudERvbWFpbk1hbmFnZW1lbnQ6OlR5cGUnfGFicExvY2FsaXphdGlvbn19PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoPnt7J1RlbmFudERvbWFpbk1hbmFnZW1lbnQ6Ok5hbWUnfGFicExvY2FsaXphdGlvbn19PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoPnt7J1RlbmFudERvbWFpbk1hbmFnZW1lbnQ6Ok5ld1ZhbHVlJ3xhYnBMb2NhbGl6YXRpb259fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT1cIndpZHRoOiAxJTtcIj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkNOQU1FPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7IChwYXJzZWREb21haW4/LnN1YmRvbWFpbik/KHBhcnNlZERvbWFpbj8uc3ViZG9tYWluKTond3d3J319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7VGVuYW50RG9tYWluSW5mbz8ucHJveHlBZGRyZXNzfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9XCJ3aWR0aDogMSU7XCI+PGkgY2xhc3M9XCJiaSBiaS1jbGlwYm9hcmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljay5zdG9wKT1cImNvcHlCdG4oVGVuYW50RG9tYWluSW5mbz8ucHJveHlBZGRyZXNzKVwiIHJvbGU9XCJidXR0b25cIj48L2k+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICAgICAgPGFicC1idXR0b24gY2xhc3M9XCJmbG9hdC1lbmRcIlxyXG4gICAgICAgICAgICAgICAgYnV0dG9uVHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjaGVja0NuYW1lUmVjb3JkKClcIj57eydUZW5hbnREb21haW5NYW5hZ2VtZW50OjpWYWxpZGF0ZURvbWFpbk5hbWUnfGFicExvY2FsaXphdGlvbn19PC9hYnAtYnV0dG9uPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGVwSW5kZXg9PT1TdGVwTmFtZS5maW5pc2hcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWwgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7J1RlbmFudERvbWFpbk1hbmFnZW1lbnQ6OkRvbWFpbk5hbWUnfGFicExvY2FsaXphdGlvbn19XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXByaW1hcnlcIiAgcm9sZT1cImJ1dHRvblwiIChjbGljay5zdG9wKT1cImVkaXRidG4oU3RlcE5hbWUuZmlsbEluKVwiPnt7J1RlbmFudERvbWFpbk1hbmFnZW1lbnQ6OkVkaXQnfGFicExvY2FsaXphdGlvbn19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIHt7ZG9tYWluTmFtZUlucHV0Py52YWx1ZX19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8aHIgY2xhc3M9XCJteS0zXCIgLz5cclxuICAgICAgICAgICAgPGFicC1idXR0b24gY2xhc3M9XCJmbG9hdC1lbmRcIlxyXG4gICAgICAgICAgICAgICAgYnV0dG9uVHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJzYXZlKClcIiBbbG9hZGluZ109XCJpc1N1Ym1pdFwiIFtkaXNhYmxlZF09XCJpc1N1Ym1pdFwiPnt7J1RlbmFudERvbWFpbk1hbmFnZW1lbnQ6OlNhdmUnfGFicExvY2FsaXphdGlvbn19PC9hYnAtYnV0dG9uPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8IS0tIDxhYnAtYnV0dG9uIGljb25DbGFzcz1cImZhIGZhLXNhdmVcIiBidXR0b25UeXBlPVwic3VibWl0XCIgW2xvYWRpbmddPVwiaXNTdWJtaXRcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNTdWJtaXRcIj57eydUZW5hbnREb21haW5NYW5hZ2VtZW50OjpTYXZlJ3xhYnBMb2NhbGl6YXRpb259fTwvYWJwLWJ1dHRvbj4gLS0+XHJcbiAgICA8L2Rpdj5cclxuPC9mb3JtPiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnbml0ZS1uZy1leHBhbmQudGVuYW50LWRvbWFpbi1tYW5hZ2VtZW50LWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RlbmFudC1kb21haW4tbWFuYWdlbWVudC9jb25maWcvc3JjL2RpZ25pdGUtbmctZXhwYW5kLnRlbmFudC1kb21haW4tbWFuYWdlbWVudC1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './route-names';
2
+ export * from './step-name';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW5hbnQtZG9tYWluLW1hbmFnZW1lbnQvY29uZmlnL3NyYy9lbnVtcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcm91dGUtbmFtZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0ZXAtbmFtZSc7XHJcbiJdfQ==
@@ -0,0 +1,11 @@
1
+ export var eTenancyDomainsManagementRouteNames;
2
+ (function (eTenancyDomainsManagementRouteNames) {
3
+ // Cms = 'Cms::Menu:Cms',
4
+ // Entries = 'Cms::FormControl:Entry',
5
+ // Settings = "Cms::Menu:Settings",
6
+ // Fields = "Cms::Fields",
7
+ // Sections = "Cms::Sections",
8
+ // SiteLanguage="Cms::DisplayName:Cms.Site.Languages",
9
+ eTenancyDomainsManagementRouteNames["Domain"] = "TenantDomainManagement::Domains";
10
+ })(eTenancyDomainsManagementRouteNames || (eTenancyDomainsManagementRouteNames = {}));
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtbmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW5hbnQtZG9tYWluLW1hbmFnZW1lbnQvY29uZmlnL3NyYy9lbnVtcy9yb3V0ZS1uYW1lcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBYSxtQ0FRWjtBQVJELFdBQWEsbUNBQW1DO0lBQzlDLHlCQUF5QjtJQUN6QixzQ0FBc0M7SUFDdEMsbUNBQW1DO0lBQ25DLDBCQUEwQjtJQUMxQiw4QkFBOEI7SUFDOUIsc0RBQXNEO0lBQ3RELGlGQUF3QyxDQUFBO0FBQzFDLENBQUMsRUFSWSxtQ0FBbUMsS0FBbkMsbUNBQW1DLFFBUS9DIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICBlbnVtIGVUZW5hbmN5RG9tYWluc01hbmFnZW1lbnRSb3V0ZU5hbWVzIHtcclxuICAvLyBDbXMgPSAnQ21zOjpNZW51OkNtcycsXHJcbiAgLy8gRW50cmllcyA9ICdDbXM6OkZvcm1Db250cm9sOkVudHJ5JyxcclxuICAvLyBTZXR0aW5ncyA9IFwiQ21zOjpNZW51OlNldHRpbmdzXCIsXHJcbiAgLy8gRmllbGRzID0gXCJDbXM6OkZpZWxkc1wiLFxyXG4gIC8vIFNlY3Rpb25zID0gXCJDbXM6OlNlY3Rpb25zXCIsXHJcbiAgLy8gU2l0ZUxhbmd1YWdlPVwiQ21zOjpEaXNwbGF5TmFtZTpDbXMuU2l0ZS5MYW5ndWFnZXNcIixcclxuICBEb21haW49XCJUZW5hbnREb21haW5NYW5hZ2VtZW50OjpEb21haW5zXCJcclxufSJdfQ==
@@ -0,0 +1,7 @@
1
+ export var StepName;
2
+ (function (StepName) {
3
+ StepName[StepName["fillIn"] = 0] = "fillIn";
4
+ StepName[StepName["check"] = 1] = "check";
5
+ StepName[StepName["finish"] = 2] = "finish";
6
+ })(StepName || (StepName = {}));
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1uYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVuYW50LWRvbWFpbi1tYW5hZ2VtZW50L2NvbmZpZy9zcmMvZW51bXMvc3RlcC1uYW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFFBSVg7QUFKRCxXQUFZLFFBQVE7SUFDaEIsMkNBQU0sQ0FBQTtJQUNOLHlDQUFLLENBQUE7SUFDTCwyQ0FBTSxDQUFBO0FBQ1YsQ0FBQyxFQUpXLFFBQVEsS0FBUixRQUFRLFFBSW5CIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gU3RlcE5hbWUge1xyXG4gICAgZmlsbEluLFxyXG4gICAgY2hlY2ssXHJcbiAgICBmaW5pc2hcclxufVxyXG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './route.provider';
2
+ export * from './setting-route.provider';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW5hbnQtZG9tYWluLW1hbmFnZW1lbnQvY29uZmlnL3NyYy9wcm92aWRlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yb3V0ZS5wcm92aWRlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2V0dGluZy1yb3V0ZS5wcm92aWRlcic7XHJcbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import { RoutesService } from '@abp/ng.core';
2
+ import { APP_INITIALIZER } from '@angular/core';
3
+ import { SettingTabsService } from '@abp/ng.setting-management/config';
4
+ export const Tenancy_Domains_Management_ROUTE_PROVIDERS = [
5
+ {
6
+ provide: APP_INITIALIZER,
7
+ useFactory: configureRoutes,
8
+ deps: [RoutesService, SettingTabsService],
9
+ multi: true,
10
+ },
11
+ ];
12
+ export function configureRoutes(routesService, settingTabs) {
13
+ return () => {
14
+ };
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW5hbnQtZG9tYWluLW1hbmFnZW1lbnQvY29uZmlnL3NyYy9wcm92aWRlcnMvcm91dGUucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFHLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBTXZFLE1BQU0sQ0FBQyxNQUFNLDBDQUEwQyxHQUFHO0lBQ3hEO1FBQ0UsT0FBTyxFQUFFLGVBQWU7UUFDeEIsVUFBVSxFQUFFLGVBQWU7UUFDM0IsSUFBSSxFQUFFLENBQUMsYUFBYSxFQUFFLGtCQUFrQixDQUFDO1FBQ3pDLEtBQUssRUFBRSxJQUFJO0tBQ1o7Q0FDRixDQUFDO0FBR0YsTUFBTSxVQUFVLGVBQWUsQ0FBQyxhQUE0QixFQUFFLFdBQStCO0lBQzNGLE9BQU8sR0FBRyxFQUFFO0lBQ1osQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ICBSb3V0ZXNTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNldHRpbmdUYWJzU2VydmljZSB9IGZyb20gJ0BhYnAvbmcuc2V0dGluZy1tYW5hZ2VtZW50L2NvbmZpZyc7XHJcblxyXG5cclxuXHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IFRlbmFuY3lfRG9tYWluc19NYW5hZ2VtZW50X1JPVVRFX1BST1ZJREVSUyA9IFtcclxuICB7XHJcbiAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICB1c2VGYWN0b3J5OiBjb25maWd1cmVSb3V0ZXMsXHJcbiAgICBkZXBzOiBbUm91dGVzU2VydmljZSwgU2V0dGluZ1RhYnNTZXJ2aWNlXSxcclxuICAgIG11bHRpOiB0cnVlLFxyXG4gIH0sXHJcbl07XHJcblxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbmZpZ3VyZVJvdXRlcyhyb3V0ZXNTZXJ2aWNlOiBSb3V0ZXNTZXJ2aWNlLCBzZXR0aW5nVGFiczogU2V0dGluZ1RhYnNTZXJ2aWNlKSB7XHJcbiAgcmV0dXJuICgpID0+IHtcclxuICB9O1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,25 @@
1
+ import { RoutesService } from '@abp/ng.core';
2
+ import { APP_INITIALIZER } from '@angular/core';
3
+ import { eTenancyDomainsManagementRouteNames } from '../enums/route-names';
4
+ import { SettingTabsService } from '@abp/ng.setting-management/config';
5
+ import { TenantDomainComponent } from '../components/tenant-domain/tenant-domain.component';
6
+ export const Tenancy_Domains_Management_Setting_ROUTE_PROVIDERS = [
7
+ {
8
+ provide: APP_INITIALIZER,
9
+ useFactory: configureSettingRoutes,
10
+ deps: [RoutesService, SettingTabsService],
11
+ multi: true,
12
+ },
13
+ ];
14
+ export function configureSettingRoutes(routesService, settingTabs) {
15
+ return () => {
16
+ settingTabs.add([
17
+ {
18
+ name: eTenancyDomainsManagementRouteNames.Domain,
19
+ requiredPolicy: 'TenantDomainManagement.ManageDomain',
20
+ component: TenantDomainComponent,
21
+ },
22
+ ]);
23
+ };
24
+ }
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1yb3V0ZS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RlbmFudC1kb21haW4tbWFuYWdlbWVudC9jb25maWcvc3JjL3Byb3ZpZGVycy9zZXR0aW5nLXJvdXRlLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRyxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQU01RixNQUFNLENBQUMsTUFBTSxrREFBa0QsR0FBRztJQUNoRTtRQUNFLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLFVBQVUsRUFBRSxzQkFBc0I7UUFDbEMsSUFBSSxFQUFFLENBQUMsYUFBYSxFQUFFLGtCQUFrQixDQUFDO1FBQ3pDLEtBQUssRUFBRSxJQUFJO0tBQ1o7Q0FDRixDQUFDO0FBR0YsTUFBTSxVQUFVLHNCQUFzQixDQUFDLGFBQTRCLEVBQUUsV0FBK0I7SUFDbEcsT0FBTyxHQUFHLEVBQUU7UUFDVixXQUFXLENBQUMsR0FBRyxDQUFDO1lBQ2Q7Z0JBQ0UsSUFBSSxFQUFFLG1DQUFtQyxDQUFDLE1BQU07Z0JBQ2hELGNBQWMsRUFBRSxxQ0FBcUM7Z0JBQ3JELFNBQVMsRUFBRSxxQkFBcUI7YUFDakM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgIFJvdXRlc1NlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBBUFBfSU5JVElBTElaRVIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZVRlbmFuY3lEb21haW5zTWFuYWdlbWVudFJvdXRlTmFtZXMgfSBmcm9tICcuLi9lbnVtcy9yb3V0ZS1uYW1lcyc7XHJcbmltcG9ydCB7IFNldHRpbmdUYWJzU2VydmljZSB9IGZyb20gJ0BhYnAvbmcuc2V0dGluZy1tYW5hZ2VtZW50L2NvbmZpZyc7XHJcbmltcG9ydCB7IFRlbmFudERvbWFpbkNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvdGVuYW50LWRvbWFpbi90ZW5hbnQtZG9tYWluLmNvbXBvbmVudCc7XHJcblxyXG5cclxuXHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IFRlbmFuY3lfRG9tYWluc19NYW5hZ2VtZW50X1NldHRpbmdfUk9VVEVfUFJPVklERVJTID0gW1xyXG4gIHtcclxuICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgIHVzZUZhY3Rvcnk6IGNvbmZpZ3VyZVNldHRpbmdSb3V0ZXMsXHJcbiAgICBkZXBzOiBbUm91dGVzU2VydmljZSwgU2V0dGluZ1RhYnNTZXJ2aWNlXSxcclxuICAgIG11bHRpOiB0cnVlLFxyXG4gIH0sXHJcbl07XHJcblxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbmZpZ3VyZVNldHRpbmdSb3V0ZXMocm91dGVzU2VydmljZTogUm91dGVzU2VydmljZSwgc2V0dGluZ1RhYnM6IFNldHRpbmdUYWJzU2VydmljZSkge1xyXG4gIHJldHVybiAoKSA9PiB7XHJcbiAgICBzZXR0aW5nVGFicy5hZGQoW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogZVRlbmFuY3lEb21haW5zTWFuYWdlbWVudFJvdXRlTmFtZXMuRG9tYWluLFxyXG4gICAgICAgIHJlcXVpcmVkUG9saWN5OiAnVGVuYW50RG9tYWluTWFuYWdlbWVudC5NYW5hZ2VEb21haW4nLFxyXG4gICAgICAgIGNvbXBvbmVudDogVGVuYW50RG9tYWluQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgXSk7XHJcbiAgfTtcclxufVxyXG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './models';
2
+ export * from './tenant-domain.service';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW5hbnQtZG9tYWluLW1hbmFnZW1lbnQvY29uZmlnL3NyYy9wcm94eS9kaWduaXRlL2FicC90ZW5hbnQtZG9tYWluLW1hbmFnZW1lbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vdGVuYW50LWRvbWFpbi5zZXJ2aWNlJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVuYW50LWRvbWFpbi1tYW5hZ2VtZW50L2NvbmZpZy9zcmMvcHJveHkvZGlnbml0ZS9hYnAvdGVuYW50LWRvbWFpbi1tYW5hZ2VtZW50L21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29ubmVjdFRlbmFudERvbWFpbklucHV0IHtcclxuICBkb21haW5OYW1lOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGVuYW50RG9tYWluRHRvIHtcclxuICBkb21haW5OYW1lPzogc3RyaW5nO1xyXG4gIGlzVmFsaWQ6IGJvb2xlYW47XHJcbiAgcHJveHlBZGRyZXNzPzogc3RyaW5nO1xyXG4gIHRlbmFudElkPzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,32 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@abp/ng.core";
4
+ export class TenantDomainService {
5
+ constructor(restService) {
6
+ this.restService = restService;
7
+ this.apiName = 'TenantDomainManagement';
8
+ this.checkCnameRecord = (domainName, config) => this.restService.request({
9
+ method: 'GET',
10
+ url: '/api/tenant-domain-management/tenant-domain/check-cname-record',
11
+ params: { domainName },
12
+ }, { apiName: this.apiName, ...config });
13
+ this.connect = (input, config) => this.restService.request({
14
+ method: 'POST',
15
+ url: '/api/tenant-domain-management/tenant-domain/connect',
16
+ body: input,
17
+ }, { apiName: this.apiName, ...config });
18
+ this.get = (config) => this.restService.request({
19
+ method: 'GET',
20
+ url: '/api/tenant-domain-management/tenant-domain',
21
+ }, { apiName: this.apiName, ...config });
22
+ }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenantDomainService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
24
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenantDomainService, providedIn: 'root' }); }
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenantDomainService, decorators: [{
27
+ type: Injectable,
28
+ args: [{
29
+ providedIn: 'root',
30
+ }]
31
+ }], ctorParameters: () => [{ type: i1.RestService }] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LWRvbWFpbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVuYW50LWRvbWFpbi1tYW5hZ2VtZW50L2NvbmZpZy9zcmMvcHJveHkvZGlnbml0ZS9hYnAvdGVuYW50LWRvbWFpbi1tYW5hZ2VtZW50L3RlbmFudC1kb21haW4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFLM0MsTUFBTSxPQUFPLG1CQUFtQjtJQTZCOUIsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUE1QjVDLFlBQU8sR0FBRyx3QkFBd0IsQ0FBQztRQUduQyxxQkFBZ0IsR0FBRyxDQUFDLFVBQWtCLEVBQUUsTUFBNkIsRUFBRSxFQUFFLENBQ3ZFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFlO1lBQ3JDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLGdFQUFnRTtZQUNyRSxNQUFNLEVBQUUsRUFBRSxVQUFVLEVBQUU7U0FDdkIsRUFDRCxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUd2QyxZQUFPLEdBQUcsQ0FBQyxLQUErQixFQUFFLE1BQTZCLEVBQUUsRUFBRSxDQUMzRSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBdUI7WUFDN0MsTUFBTSxFQUFFLE1BQU07WUFDZCxHQUFHLEVBQUUscURBQXFEO1lBQzFELElBQUksRUFBRSxLQUFLO1NBQ1osRUFDRCxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUd2QyxRQUFHLEdBQUcsQ0FBQyxNQUE2QixFQUFFLEVBQUUsQ0FDdEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQXVCO1lBQzdDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxFQUFFLDZDQUE2QztTQUNuRCxFQUNELEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBRVEsQ0FBQzs4R0E3QnJDLG1CQUFtQjtrSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07OzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbm5lY3RUZW5hbnREb21haW5JbnB1dCwgVGVuYW50RG9tYWluRHRvIH0gZnJvbSAnLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBSZXN0U2VydmljZSwgUmVzdCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZW5hbnREb21haW5TZXJ2aWNlIHtcclxuICBhcGlOYW1lID0gJ1RlbmFudERvbWFpbk1hbmFnZW1lbnQnO1xyXG4gIFxyXG5cclxuICBjaGVja0NuYW1lUmVjb3JkID0gKGRvbWFpbk5hbWU6IHN0cmluZywgY29uZmlnPzogUGFydGlhbDxSZXN0LkNvbmZpZz4pID0+XHJcbiAgICB0aGlzLnJlc3RTZXJ2aWNlLnJlcXVlc3Q8YW55LCBib29sZWFuPih7XHJcbiAgICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICAgIHVybDogJy9hcGkvdGVuYW50LWRvbWFpbi1tYW5hZ2VtZW50L3RlbmFudC1kb21haW4vY2hlY2stY25hbWUtcmVjb3JkJyxcclxuICAgICAgcGFyYW1zOiB7IGRvbWFpbk5hbWUgfSxcclxuICAgIH0sXHJcbiAgICB7IGFwaU5hbWU6IHRoaXMuYXBpTmFtZSwuLi5jb25maWcgfSk7XHJcbiAgXHJcblxyXG4gIGNvbm5lY3QgPSAoaW5wdXQ6IENvbm5lY3RUZW5hbnREb21haW5JbnB1dCwgY29uZmlnPzogUGFydGlhbDxSZXN0LkNvbmZpZz4pID0+XHJcbiAgICB0aGlzLnJlc3RTZXJ2aWNlLnJlcXVlc3Q8YW55LCBUZW5hbnREb21haW5EdG8+KHtcclxuICAgICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICAgIHVybDogJy9hcGkvdGVuYW50LWRvbWFpbi1tYW5hZ2VtZW50L3RlbmFudC1kb21haW4vY29ubmVjdCcsXHJcbiAgICAgIGJvZHk6IGlucHV0LFxyXG4gICAgfSxcclxuICAgIHsgYXBpTmFtZTogdGhpcy5hcGlOYW1lLC4uLmNvbmZpZyB9KTtcclxuICBcclxuXHJcbiAgZ2V0ID0gKGNvbmZpZz86IFBhcnRpYWw8UmVzdC5Db25maWc+KSA9PlxyXG4gICAgdGhpcy5yZXN0U2VydmljZS5yZXF1ZXN0PGFueSwgVGVuYW50RG9tYWluRHRvPih7XHJcbiAgICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICAgIHVybDogJy9hcGkvdGVuYW50LWRvbWFpbi1tYW5hZ2VtZW50L3RlbmFudC1kb21haW4nLFxyXG4gICAgfSxcclxuICAgIHsgYXBpTmFtZTogdGhpcy5hcGlOYW1lLC4uLmNvbmZpZyB9KTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXN0U2VydmljZTogUmVzdFNlcnZpY2UpIHt9XHJcbn1cclxuIl19
@@ -0,0 +1,4 @@
1
+ export * from './enums';
2
+ export * from './tenancy-domains-management-config.module';
3
+ export * from './providers';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RlbmFudC1kb21haW4tbWFuYWdlbWVudC9jb25maWcvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZW51bXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RlbmFuY3ktZG9tYWlucy1tYW5hZ2VtZW50LWNvbmZpZy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XHJcbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { Tenancy_Domains_Management_ROUTE_PROVIDERS } from './providers/route.provider';
3
+ import { Tenancy_Domains_Management_Setting_ROUTE_PROVIDERS } from './providers';
4
+ import * as i0 from "@angular/core";
5
+ export class TenancyDomainsManagementConfigModule {
6
+ static forRoot() {
7
+ return {
8
+ ngModule: TenancyDomainsManagementConfigModule,
9
+ providers: [Tenancy_Domains_Management_Setting_ROUTE_PROVIDERS, Tenancy_Domains_Management_ROUTE_PROVIDERS],
10
+ };
11
+ }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenancyDomainsManagementConfigModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TenancyDomainsManagementConfigModule }); }
14
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenancyDomainsManagementConfigModule }); }
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenancyDomainsManagementConfigModule, decorators: [{
17
+ type: NgModule
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW5jeS1kb21haW5zLW1hbmFnZW1lbnQtY29uZmlnLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RlbmFudC1kb21haW4tbWFuYWdlbWVudC9jb25maWcvc3JjL3RlbmFuY3ktZG9tYWlucy1tYW5hZ2VtZW50LWNvbmZpZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLDBDQUEwQyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEYsT0FBTyxFQUFFLGtEQUFrRCxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUdqRixNQUFNLE9BQU8sb0NBQW9DO0lBQy9DLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxvQ0FBb0M7WUFDOUMsU0FBUyxFQUFFLENBQUMsa0RBQWtELEVBQUMsMENBQTBDLENBQUM7U0FDM0csQ0FBQztJQUNKLENBQUM7OEdBTlUsb0NBQW9DOytHQUFwQyxvQ0FBb0M7K0dBQXBDLG9DQUFvQzs7MkZBQXBDLG9DQUFvQztrQkFEaEQsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRlbmFuY3lfRG9tYWluc19NYW5hZ2VtZW50X1JPVVRFX1BST1ZJREVSUyB9IGZyb20gJy4vcHJvdmlkZXJzL3JvdXRlLnByb3ZpZGVyJztcclxuaW1wb3J0IHsgVGVuYW5jeV9Eb21haW5zX01hbmFnZW1lbnRfU2V0dGluZ19ST1VURV9QUk9WSURFUlMgfSBmcm9tICcuL3Byb3ZpZGVycyc7XHJcblxyXG5ATmdNb2R1bGUoKVxyXG5leHBvcnQgY2xhc3MgVGVuYW5jeURvbWFpbnNNYW5hZ2VtZW50Q29uZmlnTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFRlbmFuY3lEb21haW5zTWFuYWdlbWVudENvbmZpZ01vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IFRlbmFuY3lEb21haW5zTWFuYWdlbWVudENvbmZpZ01vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbVGVuYW5jeV9Eb21haW5zX01hbmFnZW1lbnRfU2V0dGluZ19ST1VURV9QUk9WSURFUlMsVGVuYW5jeV9Eb21haW5zX01hbmFnZW1lbnRfUk9VVEVfUFJPVklERVJTXSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnbml0ZS1uZy1leHBhbmQudGVuYW50LWRvbWFpbi1tYW5hZ2VtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvdGVuYW50LWRvbWFpbi1tYW5hZ2VtZW50L3NyYy9kaWduaXRlLW5nLWV4cGFuZC50ZW5hbnQtZG9tYWluLW1hbmFnZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TenantDomainManagementComponent {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenantDomainManagementComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TenantDomainManagementComponent, isStandalone: true, selector: "lib-tenant-domain-management", ngImport: i0, template: `
6
+ <p>
7
+ tenant-domain-management works!
8
+ </p>
9
+ `, isInline: true, styles: [""] }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenantDomainManagementComponent, decorators: [{
12
+ type: Component,
13
+ args: [{ selector: 'lib-tenant-domain-management', standalone: true, imports: [], template: `
14
+ <p>
15
+ tenant-domain-management works!
16
+ </p>
17
+ ` }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LWRvbWFpbi1tYW5hZ2VtZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RlbmFudC1kb21haW4tbWFuYWdlbWVudC9zcmMvbGliL3RlbmFudC1kb21haW4tbWFuYWdlbWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFhMUMsTUFBTSxPQUFPLCtCQUErQjs4R0FBL0IsK0JBQStCO2tHQUEvQiwrQkFBK0Isd0ZBUGhDOzs7O0dBSVQ7OzJGQUdVLCtCQUErQjtrQkFYM0MsU0FBUzsrQkFDRSw4QkFBOEIsY0FDNUIsSUFBSSxXQUNQLEVBQUUsWUFDRDs7OztHQUlUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi10ZW5hbnQtZG9tYWluLW1hbmFnZW1lbnQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW10sXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxwPlxyXG4gICAgICB0ZW5hbnQtZG9tYWluLW1hbmFnZW1lbnQgd29ya3MhXHJcbiAgICA8L3A+XHJcbiAgYCxcclxuICBzdHlsZXM6IGBgXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZW5hbnREb21haW5NYW5hZ2VtZW50Q29tcG9uZW50IHtcclxuXHJcbn1cclxuIl19
@@ -0,0 +1,14 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TenantDomainManagementService {
4
+ constructor() { }
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenantDomainManagementService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenantDomainManagementService, providedIn: 'root' }); }
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenantDomainManagementService, decorators: [{
9
+ type: Injectable,
10
+ args: [{
11
+ providedIn: 'root'
12
+ }]
13
+ }], ctorParameters: () => [] });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LWRvbWFpbi1tYW5hZ2VtZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW5hbnQtZG9tYWluLW1hbmFnZW1lbnQvc3JjL2xpYi90ZW5hbnQtZG9tYWluLW1hbmFnZW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sNkJBQTZCO0lBRXhDLGdCQUFnQixDQUFDOzhHQUZOLDZCQUE2QjtrSEFBN0IsNkJBQTZCLGNBRjVCLE1BQU07OzJGQUVQLDZCQUE2QjtrQkFIekMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZW5hbnREb21haW5NYW5hZ2VtZW50U2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcbn1cclxuIl19
@@ -0,0 +1,6 @@
1
+ /*
2
+ * Public API Surface of tenant-domain-management
3
+ */
4
+ export * from './lib/tenant-domain-management.service';
5
+ export * from './lib/tenant-domain-management.component';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3RlbmFudC1kb21haW4tbWFuYWdlbWVudC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYywwQ0FBMEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB0ZW5hbnQtZG9tYWluLW1hbmFnZW1lbnRcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90ZW5hbnQtZG9tYWluLW1hbmFnZW1lbnQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RlbmFudC1kb21haW4tbWFuYWdlbWVudC5jb21wb25lbnQnO1xyXG4iXX0=
@@ -0,0 +1,246 @@
1
+ import * as i0 from '@angular/core';
2
+ import { APP_INITIALIZER, Injectable, Component, NgModule } from '@angular/core';
3
+ import * as i2 from '@abp/ng.core';
4
+ import { RoutesService, CoreModule } from '@abp/ng.core';
5
+ import { SettingTabsService } from '@abp/ng.setting-management/config';
6
+ import * as i5 from '@abp/ng.theme.shared';
7
+ import { ThemeSharedModule } from '@abp/ng.theme.shared';
8
+ import * as i1 from '@angular/forms';
9
+ import { Validators } from '@angular/forms';
10
+ import { finalize } from 'rxjs';
11
+ import * as psl from 'psl';
12
+ import * as i6 from '@angular/cdk/clipboard';
13
+ import { ClipboardModule } from '@angular/cdk/clipboard';
14
+ import * as i3 from '@dignite-ng/expand.core';
15
+ import * as i7 from '@angular/common';
16
+ import * as i8 from '@ngx-validate/core';
17
+
18
+ var eTenancyDomainsManagementRouteNames;
19
+ (function (eTenancyDomainsManagementRouteNames) {
20
+ // Cms = 'Cms::Menu:Cms',
21
+ // Entries = 'Cms::FormControl:Entry',
22
+ // Settings = "Cms::Menu:Settings",
23
+ // Fields = "Cms::Fields",
24
+ // Sections = "Cms::Sections",
25
+ // SiteLanguage="Cms::DisplayName:Cms.Site.Languages",
26
+ eTenancyDomainsManagementRouteNames["Domain"] = "TenantDomainManagement::Domains";
27
+ })(eTenancyDomainsManagementRouteNames || (eTenancyDomainsManagementRouteNames = {}));
28
+
29
+ var StepName;
30
+ (function (StepName) {
31
+ StepName[StepName["fillIn"] = 0] = "fillIn";
32
+ StepName[StepName["check"] = 1] = "check";
33
+ StepName[StepName["finish"] = 2] = "finish";
34
+ })(StepName || (StepName = {}));
35
+
36
+ const Tenancy_Domains_Management_ROUTE_PROVIDERS = [
37
+ {
38
+ provide: APP_INITIALIZER,
39
+ useFactory: configureRoutes,
40
+ deps: [RoutesService, SettingTabsService],
41
+ multi: true,
42
+ },
43
+ ];
44
+ function configureRoutes(routesService, settingTabs) {
45
+ return () => {
46
+ };
47
+ }
48
+
49
+ class TenantDomainFormConfig {
50
+ constructor() {
51
+ this.domainName = ['', [Validators.required]];
52
+ }
53
+ }
54
+
55
+ class TenantDomainService {
56
+ constructor(restService) {
57
+ this.restService = restService;
58
+ this.apiName = 'TenantDomainManagement';
59
+ this.checkCnameRecord = (domainName, config) => this.restService.request({
60
+ method: 'GET',
61
+ url: '/api/tenant-domain-management/tenant-domain/check-cname-record',
62
+ params: { domainName },
63
+ }, { apiName: this.apiName, ...config });
64
+ this.connect = (input, config) => this.restService.request({
65
+ method: 'POST',
66
+ url: '/api/tenant-domain-management/tenant-domain/connect',
67
+ body: input,
68
+ }, { apiName: this.apiName, ...config });
69
+ this.get = (config) => this.restService.request({
70
+ method: 'GET',
71
+ url: '/api/tenant-domain-management/tenant-domain',
72
+ }, { apiName: this.apiName, ...config });
73
+ }
74
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenantDomainService, deps: [{ token: i2.RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
75
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenantDomainService, providedIn: 'root' }); }
76
+ }
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenantDomainService, decorators: [{
78
+ type: Injectable,
79
+ args: [{
80
+ providedIn: 'root',
81
+ }]
82
+ }], ctorParameters: () => [{ type: i2.RestService }] });
83
+
84
+ class TenantDomainComponent {
85
+ constructor(fb, _LocalizationService, _ValidatorsService, _TenantDomainService, toaster, clipboard) {
86
+ this.fb = fb;
87
+ this._LocalizationService = _LocalizationService;
88
+ this._ValidatorsService = _ValidatorsService;
89
+ this._TenantDomainService = _TenantDomainService;
90
+ this.toaster = toaster;
91
+ this.clipboard = clipboard;
92
+ this.eTenancyDomainsManagementRouteNames = eTenancyDomainsManagementRouteNames;
93
+ this.StepName = StepName;
94
+ /**步骤 */
95
+ this.stepIndex = 0;
96
+ /**是否提交 */
97
+ this.isSubmit = false;
98
+ /**表单验证 */
99
+ this.formValidation = '';
100
+ /**解析的域名 */
101
+ this.parsedDomain = '';
102
+ /**域名信息 */
103
+ this.TenantDomainInfo = '';
104
+ console.log(this.StepName);
105
+ }
106
+ get domainNameInput() {
107
+ return this.formEntity?.get('domainName');
108
+ }
109
+ async ngOnInit() {
110
+ // throw new Error('Method not implemented.');
111
+ this.formEntity = this.fb.group(new TenantDomainFormConfig());
112
+ await this.getTenantDomain();
113
+ this.domainNameInput.addValidators(this.DomainValidator());
114
+ let domainName = this.TenantDomainInfo?.domainName;
115
+ if (domainName) {
116
+ this.domainNameInput.patchValue(domainName);
117
+ this.stepIndex = this.StepName.finish;
118
+ }
119
+ }
120
+ /**获取域名 */
121
+ getTenantDomain() {
122
+ return new Promise((resolve, reject) => {
123
+ this._TenantDomainService.get().subscribe(res => {
124
+ this.TenantDomainInfo = res;
125
+ resolve(res);
126
+ });
127
+ });
128
+ }
129
+ /**域名验证 */
130
+ DomainValidator() {
131
+ return (control) => {
132
+ // const parsed:any = psl.parse(control.value);
133
+ if (!control.value)
134
+ return null;
135
+ if (!psl.isValid(control.value)) {
136
+ return {
137
+ repetition: this._LocalizationService.instant('TenantDomainManagement::YourDomainNameMustContainAValidSuffix'),
138
+ };
139
+ }
140
+ return null;
141
+ };
142
+ }
143
+ /**拷贝 */
144
+ copyBtn(txt) {
145
+ this.clipboard.copy(txt);
146
+ this.toaster.success(this._LocalizationService.instant('TenantDomainManagement::ReplicationSuccessful'));
147
+ }
148
+ /**checkCnameRecord 检查CNAME记录 */
149
+ checkCnameRecord() {
150
+ let that = this;
151
+ return new Promise((resolve, reject) => {
152
+ this._TenantDomainService.checkCnameRecord(that.domainNameInput?.value).subscribe(res => {
153
+ if (res) {
154
+ that.stepIndex = that.StepName.finish;
155
+ that.toaster.success(that._LocalizationService.instant('TenantDomainManagement::YourDomainNameHasBeenVerifiedPleaseBind'));
156
+ resolve(res);
157
+ }
158
+ else {
159
+ that.toaster.error(that._LocalizationService.instant('TenantDomainManagement::YourDomainNameIsNotVerifiedPleaseCheckTheDNSConfigurationOfTheDomainName'));
160
+ reject(res);
161
+ }
162
+ });
163
+ });
164
+ }
165
+ /**表单提交 */
166
+ save() {
167
+ if (this.isSubmit)
168
+ return;
169
+ this.isSubmit = true;
170
+ this._TenantDomainService
171
+ .connect({
172
+ domainName: this.domainNameInput.value,
173
+ })
174
+ .pipe(finalize(() => {
175
+ this.isSubmit = false;
176
+ }))
177
+ .subscribe(res => {
178
+ this.toaster.success(this._LocalizationService.instant('TenantDomainManagement::SaveSuccessful'));
179
+ }, err => {
180
+ this.toaster.error(this._LocalizationService.instant('TenantDomainManagement::SaveFailure'));
181
+ });
182
+ }
183
+ /**返回上一步 */
184
+ backLastStep(index) {
185
+ this.stepIndex = index;
186
+ }
187
+ /**下一步 */
188
+ nextStep(index) {
189
+ if (!this.formEntity.valid)
190
+ return;
191
+ this.parsedDomain = psl.parse(this.domainNameInput.value);
192
+ this.stepIndex = index;
193
+ }
194
+ /**编辑域名 */
195
+ editbtn(index) {
196
+ this.stepIndex = index;
197
+ }
198
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenantDomainComponent, deps: [{ token: i1.FormBuilder }, { token: i2.LocalizationService }, { token: i3.ValidatorsService }, { token: TenantDomainService }, { token: i5.ToasterService }, { token: i6.Clipboard }], target: i0.ɵɵFactoryTarget.Component }); }
199
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TenantDomainComponent, isStandalone: true, selector: "lib-tenant-domain", ngImport: i0, template: "<!-- <form [formGroup]=\"formEntity\" (keydown.enter)=\"$event.preventDefault()\" [class]=\"{'was-validated':formValidation}\"\r\n (submit)=\"save()\">\r\n <div class=\"tenant-domain\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'MultiTenancyDomains::DomainName'|abpLocalization}}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"domainName\">\r\n <div class=\"text-danger invalid-feedback\">\r\n {{domainNameInput.errors?.repetition}}\r\n </div>\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"submit\" [loading]=\"isSubmit\"\r\n [disabled]=\"isSubmit\">{{'AbpUi::Save'|abpLocalization}}</abp-button>\r\n </div>\r\n</form> -->\r\n\r\n<form [formGroup]=\"formEntity\" (keydown.enter)=\"$event.preventDefault()\" [class]=\"{'was-validated':formValidation}\"\r\n (submit)=\"nextStep(StepName.check)\">\r\n <div class=\"tenant-domain\">\r\n <ng-container *ngIf=\"stepIndex===StepName.fillIn\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'TenantDomainManagement::DomainName'|abpLocalization}}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"domainName\">\r\n <div class=\"text-danger \">\r\n {{domainNameInput?.errors?.repetition}}\r\n </div>\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"submit\">{{'TenantDomainManagement::NextStep'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.check\">\r\n <h5 class=\"card-title mb-3 d-inline-block\" role=\"button\" (click.stop)=\"backLastStep(StepName.fillIn)\"><i\r\n class=\"bi bi-arrow-left me-2\"></i>{{domainNameInput?.value}}</h5>\r\n <h5>{{'TenantDomainManagement::DomainSetup'|abpLocalization}} </h5>\r\n <p>{{'TenantDomainManagement::FollowTheInstructionsBelow'|abpLocalization}}</p>\r\n <ol>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::LogInToYourProvider'|abpLocalization}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::OpenDNSManagementFor{0}'|abpLocalization:domainNameInput?.value}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::AddANewDNSRecordByCopyingAndPastingTheNameAndNewValue'|abpLocalization}}</li>\r\n </ol>\r\n <table class=\"table ms-2\">\r\n <thead>\r\n <tr>\r\n <th>{{'TenantDomainManagement::Type'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::Name'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::NewValue'|abpLocalization}}</th>\r\n <th style=\"width: 1%;\"></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td>CNAME</td>\r\n <td>{{ (parsedDomain?.subdomain)?(parsedDomain?.subdomain):'www'}}</td>\r\n <td>{{TenantDomainInfo?.proxyAddress}}</td>\r\n <td style=\"width: 1%;\"><i class=\"bi bi-clipboard\"\r\n (click.stop)=\"copyBtn(TenantDomainInfo?.proxyAddress)\" role=\"button\"></i></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"checkCnameRecord()\">{{'TenantDomainManagement::ValidateDomainName'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.finish\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label d-flex justify-content-between align-items-center\">\r\n {{'TenantDomainManagement::DomainName'|abpLocalization}}\r\n <span class=\"text-primary\" role=\"button\" (click.stop)=\"editbtn(StepName.fillIn)\">{{'TenantDomainManagement::Edit'|abpLocalization}}</span>\r\n </label>\r\n {{domainNameInput?.value}}\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"save()\" [loading]=\"isSubmit\" [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n\r\n <!-- <abp-button iconClass=\"fa fa-save\" buttonType=\"submit\" [loading]=\"isSubmit\"\r\n [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button> -->\r\n </div>\r\n</form>", styles: [""], dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i2.LocalizationPipe, name: "abpLocalization" }, { kind: "directive", type: i2.StopPropagationDirective, selector: "[click.stop]", outputs: ["click.stop"] }, { kind: "ngmodule", type: ThemeSharedModule }, { kind: "directive", type: i8.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i8.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i5.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "ngmodule", type: ClipboardModule }] }); }
200
+ }
201
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenantDomainComponent, decorators: [{
202
+ type: Component,
203
+ args: [{ selector: 'lib-tenant-domain', standalone: true, imports: [CoreModule, ThemeSharedModule, ClipboardModule], template: "<!-- <form [formGroup]=\"formEntity\" (keydown.enter)=\"$event.preventDefault()\" [class]=\"{'was-validated':formValidation}\"\r\n (submit)=\"save()\">\r\n <div class=\"tenant-domain\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'MultiTenancyDomains::DomainName'|abpLocalization}}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"domainName\">\r\n <div class=\"text-danger invalid-feedback\">\r\n {{domainNameInput.errors?.repetition}}\r\n </div>\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"submit\" [loading]=\"isSubmit\"\r\n [disabled]=\"isSubmit\">{{'AbpUi::Save'|abpLocalization}}</abp-button>\r\n </div>\r\n</form> -->\r\n\r\n<form [formGroup]=\"formEntity\" (keydown.enter)=\"$event.preventDefault()\" [class]=\"{'was-validated':formValidation}\"\r\n (submit)=\"nextStep(StepName.check)\">\r\n <div class=\"tenant-domain\">\r\n <ng-container *ngIf=\"stepIndex===StepName.fillIn\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'TenantDomainManagement::DomainName'|abpLocalization}}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"domainName\">\r\n <div class=\"text-danger \">\r\n {{domainNameInput?.errors?.repetition}}\r\n </div>\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"submit\">{{'TenantDomainManagement::NextStep'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.check\">\r\n <h5 class=\"card-title mb-3 d-inline-block\" role=\"button\" (click.stop)=\"backLastStep(StepName.fillIn)\"><i\r\n class=\"bi bi-arrow-left me-2\"></i>{{domainNameInput?.value}}</h5>\r\n <h5>{{'TenantDomainManagement::DomainSetup'|abpLocalization}} </h5>\r\n <p>{{'TenantDomainManagement::FollowTheInstructionsBelow'|abpLocalization}}</p>\r\n <ol>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::LogInToYourProvider'|abpLocalization}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::OpenDNSManagementFor{0}'|abpLocalization:domainNameInput?.value}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::AddANewDNSRecordByCopyingAndPastingTheNameAndNewValue'|abpLocalization}}</li>\r\n </ol>\r\n <table class=\"table ms-2\">\r\n <thead>\r\n <tr>\r\n <th>{{'TenantDomainManagement::Type'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::Name'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::NewValue'|abpLocalization}}</th>\r\n <th style=\"width: 1%;\"></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td>CNAME</td>\r\n <td>{{ (parsedDomain?.subdomain)?(parsedDomain?.subdomain):'www'}}</td>\r\n <td>{{TenantDomainInfo?.proxyAddress}}</td>\r\n <td style=\"width: 1%;\"><i class=\"bi bi-clipboard\"\r\n (click.stop)=\"copyBtn(TenantDomainInfo?.proxyAddress)\" role=\"button\"></i></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"checkCnameRecord()\">{{'TenantDomainManagement::ValidateDomainName'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.finish\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label d-flex justify-content-between align-items-center\">\r\n {{'TenantDomainManagement::DomainName'|abpLocalization}}\r\n <span class=\"text-primary\" role=\"button\" (click.stop)=\"editbtn(StepName.fillIn)\">{{'TenantDomainManagement::Edit'|abpLocalization}}</span>\r\n </label>\r\n {{domainNameInput?.value}}\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"save()\" [loading]=\"isSubmit\" [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n\r\n <!-- <abp-button iconClass=\"fa fa-save\" buttonType=\"submit\" [loading]=\"isSubmit\"\r\n [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button> -->\r\n </div>\r\n</form>" }]
204
+ }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.LocalizationService }, { type: i3.ValidatorsService }, { type: TenantDomainService }, { type: i5.ToasterService }, { type: i6.Clipboard }] });
205
+
206
+ const Tenancy_Domains_Management_Setting_ROUTE_PROVIDERS = [
207
+ {
208
+ provide: APP_INITIALIZER,
209
+ useFactory: configureSettingRoutes,
210
+ deps: [RoutesService, SettingTabsService],
211
+ multi: true,
212
+ },
213
+ ];
214
+ function configureSettingRoutes(routesService, settingTabs) {
215
+ return () => {
216
+ settingTabs.add([
217
+ {
218
+ name: eTenancyDomainsManagementRouteNames.Domain,
219
+ requiredPolicy: 'TenantDomainManagement.ManageDomain',
220
+ component: TenantDomainComponent,
221
+ },
222
+ ]);
223
+ };
224
+ }
225
+
226
+ class TenancyDomainsManagementConfigModule {
227
+ static forRoot() {
228
+ return {
229
+ ngModule: TenancyDomainsManagementConfigModule,
230
+ providers: [Tenancy_Domains_Management_Setting_ROUTE_PROVIDERS, Tenancy_Domains_Management_ROUTE_PROVIDERS],
231
+ };
232
+ }
233
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenancyDomainsManagementConfigModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
234
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.5", ngImport: i0, type: TenancyDomainsManagementConfigModule }); }
235
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenancyDomainsManagementConfigModule }); }
236
+ }
237
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenancyDomainsManagementConfigModule, decorators: [{
238
+ type: NgModule
239
+ }] });
240
+
241
+ /**
242
+ * Generated bundle index. Do not edit.
243
+ */
244
+
245
+ export { StepName, TenancyDomainsManagementConfigModule, Tenancy_Domains_Management_ROUTE_PROVIDERS, Tenancy_Domains_Management_Setting_ROUTE_PROVIDERS, configureRoutes, configureSettingRoutes, eTenancyDomainsManagementRouteNames };
246
+ //# sourceMappingURL=dignite-ng-expand.tenant-domain-management-config.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dignite-ng-expand.tenant-domain-management-config.mjs","sources":["../../../projects/tenant-domain-management/config/src/enums/route-names.ts","../../../projects/tenant-domain-management/config/src/enums/step-name.ts","../../../projects/tenant-domain-management/config/src/providers/route.provider.ts","../../../projects/tenant-domain-management/config/src/components/tenant-domain/tenant-domain-form-config.ts","../../../projects/tenant-domain-management/config/src/proxy/dignite/abp/tenant-domain-management/tenant-domain.service.ts","../../../projects/tenant-domain-management/config/src/components/tenant-domain/tenant-domain.component.ts","../../../projects/tenant-domain-management/config/src/components/tenant-domain/tenant-domain.component.html","../../../projects/tenant-domain-management/config/src/providers/setting-route.provider.ts","../../../projects/tenant-domain-management/config/src/tenancy-domains-management-config.module.ts","../../../projects/tenant-domain-management/config/src/dignite-ng-expand.tenant-domain-management-config.ts"],"sourcesContent":["export enum eTenancyDomainsManagementRouteNames {\r\n // Cms = 'Cms::Menu:Cms',\r\n // Entries = 'Cms::FormControl:Entry',\r\n // Settings = \"Cms::Menu:Settings\",\r\n // Fields = \"Cms::Fields\",\r\n // Sections = \"Cms::Sections\",\r\n // SiteLanguage=\"Cms::DisplayName:Cms.Site.Languages\",\r\n Domain=\"TenantDomainManagement::Domains\"\r\n}","export enum StepName {\r\n fillIn,\r\n check,\r\n finish\r\n}\r\n","import { RoutesService } from '@abp/ng.core';\r\nimport { APP_INITIALIZER } from '@angular/core';\r\nimport { SettingTabsService } from '@abp/ng.setting-management/config';\r\n\r\n\r\n\r\n\r\n\r\nexport const Tenancy_Domains_Management_ROUTE_PROVIDERS = [\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: configureRoutes,\r\n deps: [RoutesService, SettingTabsService],\r\n multi: true,\r\n },\r\n];\r\n\r\n\r\nexport function configureRoutes(routesService: RoutesService, settingTabs: SettingTabsService) {\r\n return () => {\r\n };\r\n}\r\n","import { Validators } from '@angular/forms';\r\n\r\nexport class TenantDomainFormConfig {\r\n\r\n domainName: any = ['', [Validators.required]];\r\n constructor() {}\r\n}\r\n","import type { ConnectTenantDomainInput, TenantDomainDto } from './models';\r\nimport { RestService, Rest } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TenantDomainService {\r\n apiName = 'TenantDomainManagement';\r\n \r\n\r\n checkCnameRecord = (domainName: string, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, boolean>({\r\n method: 'GET',\r\n url: '/api/tenant-domain-management/tenant-domain/check-cname-record',\r\n params: { domainName },\r\n },\r\n { apiName: this.apiName,...config });\r\n \r\n\r\n connect = (input: ConnectTenantDomainInput, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, TenantDomainDto>({\r\n method: 'POST',\r\n url: '/api/tenant-domain-management/tenant-domain/connect',\r\n body: input,\r\n },\r\n { apiName: this.apiName,...config });\r\n \r\n\r\n get = (config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, TenantDomainDto>({\r\n method: 'GET',\r\n url: '/api/tenant-domain-management/tenant-domain',\r\n },\r\n { apiName: this.apiName,...config });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { CoreModule, LocalizationService } from '@abp/ng.core';\r\nimport { ThemeSharedModule, ToasterService } from '@abp/ng.theme.shared';\r\nimport { Component, inject, OnInit } from '@angular/core';\r\nimport { eTenancyDomainsManagementRouteNames } from '../../enums';\r\nimport {\r\n AbstractControl,\r\n FormBuilder,\r\n FormControl,\r\n FormGroup,\r\n ValidationErrors,\r\n} from '@angular/forms';\r\nimport { TenantDomainFormConfig } from './tenant-domain-form-config';\r\nimport { ValidatorsService } from '@dignite-ng/expand.core';\r\nimport { finalize, Observable, pipe } from 'rxjs';\r\nimport * as psl from 'psl';\r\nimport { StepName } from '../../enums/step-name';\r\nimport { TenantDomainService } from '../../proxy/dignite/abp/tenant-domain-management';\r\nimport { ClipboardModule, Clipboard } from '@angular/cdk/clipboard';\r\n\r\n@Component({\r\n selector: 'lib-tenant-domain',\r\n standalone: true,\r\n imports: [CoreModule, ThemeSharedModule, ClipboardModule],\r\n templateUrl: './tenant-domain.component.html',\r\n styleUrl: './tenant-domain.component.scss',\r\n})\r\nexport class TenantDomainComponent implements OnInit {\r\n constructor(\r\n private fb: FormBuilder,\r\n private _LocalizationService: LocalizationService,\r\n private _ValidatorsService: ValidatorsService,\r\n private _TenantDomainService: TenantDomainService,\r\n private toaster: ToasterService,\r\n private clipboard: Clipboard\r\n ) {\r\n console.log(this.StepName);\r\n }\r\n\r\n eTenancyDomainsManagementRouteNames = eTenancyDomainsManagementRouteNames;\r\n StepName = StepName;\r\n /**步骤 */\r\n stepIndex: number = 0;\r\n /**是否提交 */\r\n isSubmit: boolean = false;\r\n /**表单验证 */\r\n formValidation: any = '';\r\n /**表单 */\r\n formEntity: FormGroup | undefined;\r\n /**解析的域名 */\r\n parsedDomain: any = '';\r\n /**域名信息 */\r\n TenantDomainInfo: any = '';\r\n\r\n get domainNameInput() {\r\n return this.formEntity?.get('domainName') as FormControl;\r\n }\r\n\r\n async ngOnInit(): Promise<void> {\r\n // throw new Error('Method not implemented.');\r\n this.formEntity = this.fb.group(new TenantDomainFormConfig());\r\n await this.getTenantDomain();\r\n this.domainNameInput.addValidators(this.DomainValidator());\r\n let domainName = this.TenantDomainInfo?.domainName;\r\n if (domainName) {\r\n this.domainNameInput.patchValue(domainName);\r\n this.stepIndex = this.StepName.finish;\r\n }\r\n }\r\n /**获取域名 */\r\n getTenantDomain() {\r\n return new Promise((resolve, reject) => {\r\n this._TenantDomainService.get().subscribe(res => {\r\n this.TenantDomainInfo = res;\r\n resolve(res);\r\n });\r\n });\r\n }\r\n\r\n /**域名验证 */\r\n DomainValidator() {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n // const parsed:any = psl.parse(control.value);\r\n if (!control.value) return null;\r\n if (!psl.isValid(control.value)) {\r\n return {\r\n repetition: this._LocalizationService.instant(\r\n 'TenantDomainManagement::YourDomainNameMustContainAValidSuffix'\r\n ),\r\n };\r\n }\r\n return null;\r\n };\r\n }\r\n /**拷贝 */\r\n copyBtn(txt: string) {\r\n this.clipboard.copy(txt);\r\n this.toaster.success(\r\n this._LocalizationService.instant('TenantDomainManagement::ReplicationSuccessful')\r\n );\r\n }\r\n /**checkCnameRecord 检查CNAME记录 */\r\n checkCnameRecord() {\r\n let that = this;\r\n return new Promise((resolve, reject) => {\r\n this._TenantDomainService.checkCnameRecord(that.domainNameInput?.value).subscribe(res => {\r\n if (res) {\r\n that.stepIndex = that.StepName.finish;\r\n that.toaster.success(\r\n that._LocalizationService.instant(\r\n 'TenantDomainManagement::YourDomainNameHasBeenVerifiedPleaseBind'\r\n )\r\n );\r\n resolve(res);\r\n } else {\r\n that.toaster.error(\r\n that._LocalizationService.instant(\r\n 'TenantDomainManagement::YourDomainNameIsNotVerifiedPleaseCheckTheDNSConfigurationOfTheDomainName'\r\n )\r\n );\r\n reject(res);\r\n }\r\n });\r\n });\r\n }\r\n\r\n /**表单提交 */\r\n save() {\r\n if (this.isSubmit) return;\r\n this.isSubmit = true;\r\n this._TenantDomainService\r\n .connect({\r\n domainName: this.domainNameInput.value,\r\n })\r\n .pipe(\r\n finalize(() => {\r\n this.isSubmit = false;\r\n })\r\n )\r\n .subscribe(\r\n res => {\r\n this.toaster.success(\r\n this._LocalizationService.instant('TenantDomainManagement::SaveSuccessful')\r\n );\r\n },\r\n err => {\r\n this.toaster.error(\r\n this._LocalizationService.instant('TenantDomainManagement::SaveFailure')\r\n );\r\n }\r\n );\r\n }\r\n /**返回上一步 */\r\n backLastStep(index: number) {\r\n this.stepIndex = index;\r\n }\r\n\r\n /**下一步 */\r\n nextStep(index: number) {\r\n if (!this.formEntity.valid) return;\r\n this.parsedDomain = psl.parse(this.domainNameInput.value);\r\n this.stepIndex = index;\r\n }\r\n /**编辑域名 */\r\n editbtn(index) {\r\n this.stepIndex = index;\r\n }\r\n}\r\n","<!-- <form [formGroup]=\"formEntity\" (keydown.enter)=\"$event.preventDefault()\" [class]=\"{'was-validated':formValidation}\"\r\n (submit)=\"save()\">\r\n <div class=\"tenant-domain\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'MultiTenancyDomains::DomainName'|abpLocalization}}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"domainName\">\r\n <div class=\"text-danger invalid-feedback\">\r\n {{domainNameInput.errors?.repetition}}\r\n </div>\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"submit\" [loading]=\"isSubmit\"\r\n [disabled]=\"isSubmit\">{{'AbpUi::Save'|abpLocalization}}</abp-button>\r\n </div>\r\n</form> -->\r\n\r\n<form [formGroup]=\"formEntity\" (keydown.enter)=\"$event.preventDefault()\" [class]=\"{'was-validated':formValidation}\"\r\n (submit)=\"nextStep(StepName.check)\">\r\n <div class=\"tenant-domain\">\r\n <ng-container *ngIf=\"stepIndex===StepName.fillIn\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{'TenantDomainManagement::DomainName'|abpLocalization}}</label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"domainName\">\r\n <div class=\"text-danger \">\r\n {{domainNameInput?.errors?.repetition}}\r\n </div>\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"submit\">{{'TenantDomainManagement::NextStep'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.check\">\r\n <h5 class=\"card-title mb-3 d-inline-block\" role=\"button\" (click.stop)=\"backLastStep(StepName.fillIn)\"><i\r\n class=\"bi bi-arrow-left me-2\"></i>{{domainNameInput?.value}}</h5>\r\n <h5>{{'TenantDomainManagement::DomainSetup'|abpLocalization}} </h5>\r\n <p>{{'TenantDomainManagement::FollowTheInstructionsBelow'|abpLocalization}}</p>\r\n <ol>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::LogInToYourProvider'|abpLocalization}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::OpenDNSManagementFor{0}'|abpLocalization:domainNameInput?.value}}</li>\r\n <li class=\"mb-2\"> {{'TenantDomainManagement::AddANewDNSRecordByCopyingAndPastingTheNameAndNewValue'|abpLocalization}}</li>\r\n </ol>\r\n <table class=\"table ms-2\">\r\n <thead>\r\n <tr>\r\n <th>{{'TenantDomainManagement::Type'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::Name'|abpLocalization}}</th>\r\n <th>{{'TenantDomainManagement::NewValue'|abpLocalization}}</th>\r\n <th style=\"width: 1%;\"></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr>\r\n <td>CNAME</td>\r\n <td>{{ (parsedDomain?.subdomain)?(parsedDomain?.subdomain):'www'}}</td>\r\n <td>{{TenantDomainInfo?.proxyAddress}}</td>\r\n <td style=\"width: 1%;\"><i class=\"bi bi-clipboard\"\r\n (click.stop)=\"copyBtn(TenantDomainInfo?.proxyAddress)\" role=\"button\"></i></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"checkCnameRecord()\">{{'TenantDomainManagement::ValidateDomainName'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n <ng-container *ngIf=\"stepIndex===StepName.finish\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label d-flex justify-content-between align-items-center\">\r\n {{'TenantDomainManagement::DomainName'|abpLocalization}}\r\n <span class=\"text-primary\" role=\"button\" (click.stop)=\"editbtn(StepName.fillIn)\">{{'TenantDomainManagement::Edit'|abpLocalization}}</span>\r\n </label>\r\n {{domainNameInput?.value}}\r\n </div>\r\n <hr class=\"my-3\" />\r\n <abp-button class=\"float-end\"\r\n buttonType=\"button\" (click)=\"save()\" [loading]=\"isSubmit\" [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button>\r\n </ng-container>\r\n\r\n <!-- <abp-button iconClass=\"fa fa-save\" buttonType=\"submit\" [loading]=\"isSubmit\"\r\n [disabled]=\"isSubmit\">{{'TenantDomainManagement::Save'|abpLocalization}}</abp-button> -->\r\n </div>\r\n</form>","import { RoutesService } from '@abp/ng.core';\r\nimport { APP_INITIALIZER } from '@angular/core';\r\nimport { eTenancyDomainsManagementRouteNames } from '../enums/route-names';\r\nimport { SettingTabsService } from '@abp/ng.setting-management/config';\r\nimport { TenantDomainComponent } from '../components/tenant-domain/tenant-domain.component';\r\n\r\n\r\n\r\n\r\n\r\nexport const Tenancy_Domains_Management_Setting_ROUTE_PROVIDERS = [\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: configureSettingRoutes,\r\n deps: [RoutesService, SettingTabsService],\r\n multi: true,\r\n },\r\n];\r\n\r\n\r\nexport function configureSettingRoutes(routesService: RoutesService, settingTabs: SettingTabsService) {\r\n return () => {\r\n settingTabs.add([\r\n {\r\n name: eTenancyDomainsManagementRouteNames.Domain,\r\n requiredPolicy: 'TenantDomainManagement.ManageDomain',\r\n component: TenantDomainComponent,\r\n },\r\n ]);\r\n };\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { Tenancy_Domains_Management_ROUTE_PROVIDERS } from './providers/route.provider';\r\nimport { Tenancy_Domains_Management_Setting_ROUTE_PROVIDERS } from './providers';\r\n\r\n@NgModule()\r\nexport class TenancyDomainsManagementConfigModule {\r\n static forRoot(): ModuleWithProviders<TenancyDomainsManagementConfigModule> {\r\n return {\r\n ngModule: TenancyDomainsManagementConfigModule,\r\n providers: [Tenancy_Domains_Management_Setting_ROUTE_PROVIDERS,Tenancy_Domains_Management_ROUTE_PROVIDERS],\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i4.TenantDomainService"],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable, Component } from '@angular/core';
3
+
4
+ class TenantDomainManagementService {
5
+ constructor() { }
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenantDomainManagementService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
7
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenantDomainManagementService, providedIn: 'root' }); }
8
+ }
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenantDomainManagementService, decorators: [{
10
+ type: Injectable,
11
+ args: [{
12
+ providedIn: 'root'
13
+ }]
14
+ }], ctorParameters: () => [] });
15
+
16
+ class TenantDomainManagementComponent {
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenantDomainManagementComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: TenantDomainManagementComponent, isStandalone: true, selector: "lib-tenant-domain-management", ngImport: i0, template: `
19
+ <p>
20
+ tenant-domain-management works!
21
+ </p>
22
+ `, isInline: true, styles: [""] }); }
23
+ }
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: TenantDomainManagementComponent, decorators: [{
25
+ type: Component,
26
+ args: [{ selector: 'lib-tenant-domain-management', standalone: true, imports: [], template: `
27
+ <p>
28
+ tenant-domain-management works!
29
+ </p>
30
+ ` }]
31
+ }] });
32
+
33
+ /*
34
+ * Public API Surface of tenant-domain-management
35
+ */
36
+
37
+ /**
38
+ * Generated bundle index. Do not edit.
39
+ */
40
+
41
+ export { TenantDomainManagementComponent, TenantDomainManagementService };
42
+ //# sourceMappingURL=dignite-ng-expand.tenant-domain-management.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dignite-ng-expand.tenant-domain-management.mjs","sources":["../../../projects/tenant-domain-management/src/lib/tenant-domain-management.service.ts","../../../projects/tenant-domain-management/src/lib/tenant-domain-management.component.ts","../../../projects/tenant-domain-management/src/public-api.ts","../../../projects/tenant-domain-management/src/dignite-ng-expand.tenant-domain-management.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TenantDomainManagementService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-tenant-domain-management',\r\n standalone: true,\r\n imports: [],\r\n template: `\r\n <p>\r\n tenant-domain-management works!\r\n </p>\r\n `,\r\n styles: ``\r\n})\r\nexport class TenantDomainManagementComponent {\r\n\r\n}\r\n","/*\r\n * Public API Surface of tenant-domain-management\r\n */\r\n\r\nexport * from './lib/tenant-domain-management.service';\r\nexport * from './lib/tenant-domain-management.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAKa,6BAA6B,CAAA;AAExC,IAAA,WAAA,GAAA;8GAFW,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,cAF5B,MAAM,EAAA,CAAA,CAAA;;2FAEP,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCSY,+BAA+B,CAAA;8GAA/B,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,+BAA+B,EAPhC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAGU,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAX3C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,8BAA8B,EAC5B,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,EAAE,EACD,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA;;;ACVH;;AAEG;;ACFH;;AAEG;;;;"}
package/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@dignite-ng/expand.tenant-domain-management" />
5
+ export * from './public-api';
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class TenantDomainManagementComponent {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<TenantDomainManagementComponent, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<TenantDomainManagementComponent, "lib-tenant-domain-management", never, {}, {}, never, never, true, never>;
5
+ }
@@ -0,0 +1,6 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class TenantDomainManagementService {
3
+ constructor();
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<TenantDomainManagementService, never>;
5
+ static ɵprov: i0.ɵɵInjectableDeclaration<TenantDomainManagementService>;
6
+ }
package/package.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "@dignite-ng/expand.tenant-domain-management",
3
+ "version": "3.0.0-rc.3",
4
+ "peerDependencies": {
5
+ "@angular/common": "^18.1.0",
6
+ "@angular/core": "^18.1.0"
7
+ },
8
+ "dependencies": {
9
+ "tslib": "^2.3.0"
10
+ },
11
+ "sideEffects": false,
12
+ "publishConfig": {
13
+ "access": "public",
14
+ "registry": "https://registry.npmjs.org/"
15
+ },
16
+ "module": "fesm2022/dignite-ng-expand.tenant-domain-management.mjs",
17
+ "typings": "index.d.ts",
18
+ "exports": {
19
+ "./package.json": {
20
+ "default": "./package.json"
21
+ },
22
+ ".": {
23
+ "types": "./index.d.ts",
24
+ "esm2022": "./esm2022/dignite-ng-expand.tenant-domain-management.mjs",
25
+ "esm": "./esm2022/dignite-ng-expand.tenant-domain-management.mjs",
26
+ "default": "./fesm2022/dignite-ng-expand.tenant-domain-management.mjs"
27
+ },
28
+ "./config": {
29
+ "types": "./config/index.d.ts",
30
+ "esm2022": "./esm2022/config/dignite-ng-expand.tenant-domain-management-config.mjs",
31
+ "esm": "./esm2022/config/dignite-ng-expand.tenant-domain-management-config.mjs",
32
+ "default": "./fesm2022/dignite-ng-expand.tenant-domain-management-config.mjs"
33
+ }
34
+ }
35
+ }
@@ -0,0 +1,2 @@
1
+ export * from './lib/tenant-domain-management.service';
2
+ export * from './lib/tenant-domain-management.component';