@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.
- package/README.md +24 -0
- package/config/components/tenant-domain/tenant-domain-form-config.d.ts +4 -0
- package/config/components/tenant-domain/tenant-domain.component.d.ts +53 -0
- package/config/enums/index.d.ts +2 -0
- package/config/enums/route-names.d.ts +3 -0
- package/config/enums/step-name.d.ts +5 -0
- package/config/index.d.ts +5 -0
- package/config/providers/index.d.ts +2 -0
- package/config/providers/route.provider.d.ts +9 -0
- package/config/providers/setting-route.provider.d.ts +9 -0
- package/config/proxy/dignite/abp/tenant-domain-management/index.d.ts +2 -0
- package/config/proxy/dignite/abp/tenant-domain-management/models.d.ts +9 -0
- package/config/proxy/dignite/abp/tenant-domain-management/tenant-domain.service.d.ts +13 -0
- package/config/public-api.d.ts +3 -0
- package/config/tenancy-domains-management-config.module.d.ts +8 -0
- package/esm2022/config/components/tenant-domain/tenant-domain-form-config.mjs +7 -0
- package/esm2022/config/components/tenant-domain/tenant-domain.component.mjs +140 -0
- package/esm2022/config/dignite-ng-expand.tenant-domain-management-config.mjs +5 -0
- package/esm2022/config/enums/index.mjs +3 -0
- package/esm2022/config/enums/route-names.mjs +11 -0
- package/esm2022/config/enums/step-name.mjs +7 -0
- package/esm2022/config/providers/index.mjs +3 -0
- package/esm2022/config/providers/route.provider.mjs +16 -0
- package/esm2022/config/providers/setting-route.provider.mjs +25 -0
- package/esm2022/config/proxy/dignite/abp/tenant-domain-management/index.mjs +3 -0
- package/esm2022/config/proxy/dignite/abp/tenant-domain-management/models.mjs +2 -0
- package/esm2022/config/proxy/dignite/abp/tenant-domain-management/tenant-domain.service.mjs +32 -0
- package/esm2022/config/public-api.mjs +4 -0
- package/esm2022/config/tenancy-domains-management-config.module.mjs +19 -0
- package/esm2022/dignite-ng-expand.tenant-domain-management.mjs +5 -0
- package/esm2022/lib/tenant-domain-management.component.mjs +19 -0
- package/esm2022/lib/tenant-domain-management.service.mjs +14 -0
- package/esm2022/public-api.mjs +6 -0
- package/fesm2022/dignite-ng-expand.tenant-domain-management-config.mjs +246 -0
- package/fesm2022/dignite-ng-expand.tenant-domain-management-config.mjs.map +1 -0
- package/fesm2022/dignite-ng-expand.tenant-domain-management.mjs +42 -0
- package/fesm2022/dignite-ng-expand.tenant-domain-management.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/tenant-domain-management.component.d.ts +5 -0
- package/lib/tenant-domain-management.service.d.ts +6 -0
- package/package.json +35 -0
- 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,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,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,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,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":";;;;;;;;;;;;;;;;;IAAa;AAAb,CAAA,UAAa,mCAAmC,EAAA;;;;;;;AAO9C,IAAA,mCAAA,CAAA,QAAA,CAAA,GAAA,iCAAwC;AAC1C,CAAC,EARY,mCAAmC,KAAnC,mCAAmC,GAQ/C,EAAA,CAAA,CAAA;;ICRW;AAAZ,CAAA,UAAY,QAAQ,EAAA;AAChB,IAAA,QAAA,CAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM;AACN,IAAA,QAAA,CAAA,QAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK;AACL,IAAA,QAAA,CAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM;AACV,CAAC,EAJW,QAAQ,KAAR,QAAQ,GAInB,EAAA,CAAA,CAAA;;ACIY,MAAA,0CAA0C,GAAG;AACxD,IAAA;AACE,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,UAAU,EAAE,eAAe;AAC3B,QAAA,IAAI,EAAE,CAAC,aAAa,EAAE,kBAAkB,CAAC;AACzC,QAAA,KAAK,EAAE,IAAI;AACZ,KAAA;;AAIa,SAAA,eAAe,CAAC,aAA4B,EAAE,WAA+B,EAAA;AAC3F,IAAA,OAAO,MAAK;AACZ,KAAC;AACH;;MCnBa,sBAAsB,CAAA;AAGjC,IAAA,WAAA,GAAA;QADA,IAAU,CAAA,UAAA,GAAQ,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;;AAE9C;;MCCY,mBAAmB,CAAA;AA6B9B,IAAA,WAAA,CAAoB,WAAwB,EAAA;QAAxB,IAAW,CAAA,WAAA,GAAX,WAAW;QA5B/B,IAAO,CAAA,OAAA,GAAG,wBAAwB;AAGlC,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,UAAkB,EAAE,MAA6B,KACnE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAe;AACrC,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,GAAG,EAAE,gEAAgE;YACrE,MAAM,EAAE,EAAE,UAAU,EAAE;SACvB,EACD,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAC,GAAG,MAAM,EAAE,CAAC;AAGtC,QAAA,IAAA,CAAA,OAAO,GAAG,CAAC,KAA+B,EAAE,MAA6B,KACvE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAuB;AAC7C,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,GAAG,EAAE,qDAAqD;AAC1D,YAAA,IAAI,EAAE,KAAK;SACZ,EACD,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAC,GAAG,MAAM,EAAE,CAAC;QAGtC,IAAG,CAAA,GAAA,GAAG,CAAC,MAA6B,KAClC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAuB;AAC7C,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,GAAG,EAAE,6CAA6C;SACnD,EACD,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAC,GAAG,MAAM,EAAE,CAAC;;8GA3B3B,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAnB,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,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA;;2FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCoBY,qBAAqB,CAAA;IAChC,WACU,CAAA,EAAe,EACf,oBAAyC,EACzC,kBAAqC,EACrC,oBAAyC,EACzC,OAAuB,EACvB,SAAoB,EAAA;QALpB,IAAE,CAAA,EAAA,GAAF,EAAE;QACF,IAAoB,CAAA,oBAAA,GAApB,oBAAoB;QACpB,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB;QAClB,IAAoB,CAAA,oBAAA,GAApB,oBAAoB;QACpB,IAAO,CAAA,OAAA,GAAP,OAAO;QACP,IAAS,CAAA,SAAA,GAAT,SAAS;QAKnB,IAAmC,CAAA,mCAAA,GAAG,mCAAmC;QACzE,IAAQ,CAAA,QAAA,GAAG,QAAQ;;QAEnB,IAAS,CAAA,SAAA,GAAW,CAAC;;QAErB,IAAQ,CAAA,QAAA,GAAY,KAAK;;QAEzB,IAAc,CAAA,cAAA,GAAQ,EAAE;;QAIxB,IAAY,CAAA,YAAA,GAAQ,EAAE;;QAEtB,IAAgB,CAAA,gBAAA,GAAQ,EAAE;AAhBxB,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;;AAkB5B,IAAA,IAAI,eAAe,GAAA;QACjB,OAAO,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,YAAY,CAAgB;;AAG1D,IAAA,MAAM,QAAQ,GAAA;;AAEZ,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,sBAAsB,EAAE,CAAC;AAC7D,QAAA,MAAM,IAAI,CAAC,eAAe,EAAE;QAC5B,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;AAC1D,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,UAAU;QAClD,IAAI,UAAU,EAAE;AACd,YAAA,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,UAAU,CAAC;YAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM;;;;IAIzC,eAAe,GAAA;QACb,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;YACrC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,IAAG;AAC9C,gBAAA,IAAI,CAAC,gBAAgB,GAAG,GAAG;gBAC3B,OAAO,CAAC,GAAG,CAAC;AACd,aAAC,CAAC;AACJ,SAAC,CAAC;;;IAIJ,eAAe,GAAA;QACb,OAAO,CAAC,OAAwB,KAA6B;;YAE3D,IAAI,CAAC,OAAO,CAAC,KAAK;AAAE,gBAAA,OAAO,IAAI;YAC/B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC/B,OAAO;oBACL,UAAU,EAAE,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAC3C,+DAA+D,CAChE;iBACF;;AAEH,YAAA,OAAO,IAAI;AACb,SAAC;;;AAGH,IAAA,OAAO,CAAC,GAAW,EAAA;AACjB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;AACxB,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAClB,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,+CAA+C,CAAC,CACnF;;;IAGH,gBAAgB,GAAA;QACd,IAAI,IAAI,GAAG,IAAI;QACf,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,YAAA,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,IAAG;gBACtF,IAAI,GAAG,EAAE;oBACP,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM;AACrC,oBAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAClB,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAC/B,iEAAiE,CAClE,CACF;oBACD,OAAO,CAAC,GAAG,CAAC;;qBACP;AACL,oBAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAC/B,kGAAkG,CACnG,CACF;oBACD,MAAM,CAAC,GAAG,CAAC;;AAEf,aAAC,CAAC;AACJ,SAAC,CAAC;;;IAIJ,IAAI,GAAA;QACF,IAAI,IAAI,CAAC,QAAQ;YAAE;AACnB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACpB,QAAA,IAAI,CAAC;AACF,aAAA,OAAO,CAAC;AACP,YAAA,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK;SACvC;AACA,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACvB,SAAC,CAAC;aAEH,SAAS,CACR,GAAG,IAAG;AACJ,YAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAClB,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAC5E;SACF,EACD,GAAG,IAAG;AACJ,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,qCAAqC,CAAC,CACzE;AACH,SAAC,CACF;;;AAGL,IAAA,YAAY,CAAC,KAAa,EAAA;AACxB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;;;AAIxB,IAAA,QAAQ,CAAC,KAAa,EAAA;AACpB,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK;YAAE;AAC5B,QAAA,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;AACzD,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;;;AAGxB,IAAA,OAAO,CAAC,KAAK,EAAA;AACX,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;;8GA1Ib,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,6EC1BlC,kzJA+EO,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDzDK,UAAU,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAiB,uiBAAE,eAAe,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAI7C,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAPjC,SAAS;+BACE,mBAAmB,EAAA,UAAA,EACjB,IAAI,EACP,OAAA,EAAA,CAAC,UAAU,EAAE,iBAAiB,EAAE,eAAe,CAAC,EAAA,QAAA,EAAA,kzJAAA,EAAA;;;AEZ9C,MAAA,kDAAkD,GAAG;AAChE,IAAA;AACE,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,UAAU,EAAE,sBAAsB;AAClC,QAAA,IAAI,EAAE,CAAC,aAAa,EAAE,kBAAkB,CAAC;AACzC,QAAA,KAAK,EAAE,IAAI;AACZ,KAAA;;AAIa,SAAA,sBAAsB,CAAC,aAA4B,EAAE,WAA+B,EAAA;AAClG,IAAA,OAAO,MAAK;QACV,WAAW,CAAC,GAAG,CAAC;AACd,YAAA;gBACE,IAAI,EAAE,mCAAmC,CAAC,MAAM;AAChD,gBAAA,cAAc,EAAE,qCAAqC;AACrD,gBAAA,SAAS,EAAE,qBAAqB;AACjC,aAAA;AACF,SAAA,CAAC;AACJ,KAAC;AACH;;MCzBa,oCAAoC,CAAA;AAC/C,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO;AACL,YAAA,QAAQ,EAAE,oCAAoC;AAC9C,YAAA,SAAS,EAAE,CAAC,kDAAkD,EAAC,0CAA0C,CAAC;SAC3G;;8GALQ,oCAAoC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAApC,oCAAoC,EAAA,CAAA,CAAA;+GAApC,oCAAoC,EAAA,CAAA,CAAA;;2FAApC,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBADhD;;;ACJD;;AAEG;;;;"}
|
|
@@ -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
|
+
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
|
+
}
|
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
|
+
}
|
package/public-api.d.ts
ADDED