Skip to content

Commit ba073d9

Browse files
committed
refactor(addons): Use configurableApiRoot property to show form inputs
1 parent 6519689 commit ba073d9

File tree

3 files changed

+17
-24
lines changed

3 files changed

+17
-24
lines changed

src/app/shared/components/addons/addon-setup-account-form/addon-setup-account-form.component.html

Lines changed: 10 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
<form [formGroup]="addonForm()" (ngSubmit)="handleSubmit()" class="flex flex-column gap-5">
22
<p-card>
3+
@if (hasConfigurableApiRoot()) {
4+
<h2 class="mb-2">
5+
{{ 'settings.addons.form.fields.hostUrl' | translate }}
6+
</h2>
7+
<p class="mb-2">
8+
{{ 'settings.addons.form.fields.hostUrlDescription' | translate }}
9+
</p>
10+
<input class="mb-4" pInputText [formControlName]="formControls.HostUrl" />
11+
}
12+
313
@if (isAccessSecretKeysFormat()) {
414
<h2 class="mb-2">
515
{{ 'settings.addons.form.fields.accessKey' | translate }}
@@ -23,13 +33,6 @@ <h2 class="mb-2">
2333
}
2434

2535
@if (isDataverseApiTokenFormat()) {
26-
<h2 class="mb-2">
27-
{{ 'settings.addons.form.fields.hostUrl' | translate }}
28-
</h2>
29-
<p class="mb-2">
30-
{{ 'settings.addons.form.fields.hostUrlDescription' | translate }}
31-
</p>
32-
<input class="mb-4" pInputText [formControlName]="formControls.HostUrl" />
3336
<h2 class="mb-2">
3437
{{ 'settings.addons.form.fields.apiToken' | translate }}
3538
</h2>
@@ -43,13 +46,6 @@ <h2 class="mb-2">
4346
}
4447

4548
@if (isUsernamePasswordFormat()) {
46-
<h2 class="mb-2">
47-
{{ 'settings.addons.form.fields.hostUrl' | translate }}
48-
</h2>
49-
<p class="mb-2">
50-
{{ 'settings.addons.form.fields.hostUrlDescription' | translate }}
51-
</p>
52-
<input class="mb-4" pInputText [formControlName]="formControls.HostUrl" />
5349
<h2 class="mb-2">
5450
{{ 'settings.addons.form.fields.username' | translate }}
5551
</h2>
@@ -71,13 +67,6 @@ <h2 class="mb-2">
7167
}
7268

7369
@if (isRepoTokenFormat()) {
74-
<h2 class="mb-2">
75-
{{ 'settings.addons.form.fields.hostUrl' | translate }}
76-
</h2>
77-
<p class="mb-2">
78-
{{ 'settings.addons.form.fields.hostUrlDescription' | translate }}
79-
</p>
80-
<input class="mb-4" pInputText [formControlName]="formControls.HostUrl" />
8170
<h2 class="mb-2">
8271
{{ 'settings.addons.form.fields.personalAccessToken' | translate }}
8372
</h2>

src/app/shared/components/addons/addon-setup-account-form/addon-setup-account-form.component.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,10 @@ export class AddonSetupAccountFormComponent {
6262
return format === CredentialsFormat.OAUTH2 || format === CredentialsFormat.OAUTH;
6363
});
6464

65+
readonly hasConfigurableApiRoot = computed(() => {
66+
return this.addon().configurableApiRoot === true;
67+
});
68+
6569
handleSubmit(): void {
6670
if (!this.isFormValid) return;
6771

src/app/shared/services/addons/addon-form.service.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,23 +26,23 @@ export class AddonFormService {
2626
const formControls: Partial<AddonForm> = {
2727
[AddonFormControls.AccountName]: this.formBuilder.control<string>(addon.displayName || '', Validators.required),
2828
};
29+
if (addon.configurableApiRoot) {
30+
formControls[AddonFormControls.HostUrl] = this.formBuilder.control<string>('', Validators.required);
31+
}
2932

3033
switch (addon.credentialsFormat) {
3134
case CredentialsFormat.ACCESS_SECRET_KEYS:
3235
formControls[AddonFormControls.AccessKey] = this.formBuilder.control<string>('', Validators.required);
3336
formControls[AddonFormControls.SecretKey] = this.formBuilder.control<string>('', Validators.required);
3437
break;
3538
case CredentialsFormat.DATAVERSE_API_TOKEN:
36-
formControls[AddonFormControls.HostUrl] = this.formBuilder.control<string>('', Validators.required);
3739
formControls[AddonFormControls.ApiToken] = this.formBuilder.control<string>('', Validators.required);
3840
break;
3941
case CredentialsFormat.USERNAME_PASSWORD:
40-
formControls[AddonFormControls.HostUrl] = this.formBuilder.control<string>('', Validators.required);
4142
formControls[AddonFormControls.Username] = this.formBuilder.control<string>('', Validators.required);
4243
formControls[AddonFormControls.Password] = this.formBuilder.control<string>('', Validators.required);
4344
break;
4445
case CredentialsFormat.REPO_TOKEN:
45-
formControls[AddonFormControls.HostUrl] = this.formBuilder.control<string>('', Validators.required);
4646
formControls[AddonFormControls.PersonalAccessToken] = this.formBuilder.control<string>('', Validators.required);
4747
break;
4848
}

0 commit comments

Comments
 (0)