diff options
author | Chocobozzz <me@florianbigard.com> | 2022-09-07 16:24:44 +0200 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2022-09-08 08:41:48 +0200 |
commit | 8b69f9f02879ee3cf72bc9d4aa96cc71f18e6eea (patch) | |
tree | a6021e5925dae0b6da1dbb57641719357f4c3b6a /client/src/app/shared | |
parent | 08d2761097f8186d2a76ff1f01391401a5a089ef (diff) | |
download | PeerTube-8b69f9f02879ee3cf72bc9d4aa96cc71f18e6eea.tar.gz PeerTube-8b69f9f02879ee3cf72bc9d4aa96cc71f18e6eea.tar.zst PeerTube-8b69f9f02879ee3cf72bc9d4aa96cc71f18e6eea.zip |
Check admin config when loading the page
Avoid issues when an invalid config was set in the configuration file
Diffstat (limited to 'client/src/app/shared')
-rw-r--r-- | client/src/app/shared/shared-forms/form-reactive.ts | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/client/src/app/shared/shared-forms/form-reactive.ts b/client/src/app/shared/shared-forms/form-reactive.ts index 6b3a6c773..a19ffdd82 100644 --- a/client/src/app/shared/shared-forms/form-reactive.ts +++ b/client/src/app/shared/shared-forms/form-reactive.ts | |||
@@ -1,5 +1,5 @@ | |||
1 | 1 | ||
2 | import { FormGroup } from '@angular/forms' | 2 | import { AbstractControl, FormGroup } from '@angular/forms' |
3 | import { wait } from '@root-helpers/utils' | 3 | import { wait } from '@root-helpers/utils' |
4 | import { BuildFormArgument, BuildFormDefaultValues } from '../form-validators/form-validator.model' | 4 | import { BuildFormArgument, BuildFormDefaultValues } from '../form-validators/form-validator.model' |
5 | import { FormValidatorService } from './form-validator.service' | 5 | import { FormValidatorService } from './form-validator.service' |
@@ -44,6 +44,21 @@ export abstract class FormReactive { | |||
44 | } while (this.form.status === 'PENDING') | 44 | } while (this.form.status === 'PENDING') |
45 | } | 45 | } |
46 | 46 | ||
47 | protected markAllAsDirty (controlsArg?: { [ key: string ]: AbstractControl }) { | ||
48 | const controls = controlsArg || this.form.controls | ||
49 | |||
50 | for (const key of Object.keys(controls)) { | ||
51 | const control = controls[key] | ||
52 | |||
53 | if (control instanceof FormGroup) { | ||
54 | this.markAllAsDirty(control.controls) | ||
55 | continue | ||
56 | } | ||
57 | |||
58 | control.markAsDirty() | ||
59 | } | ||
60 | } | ||
61 | |||
47 | protected forceCheck () { | 62 | protected forceCheck () { |
48 | this.onStatusChanged(this.form, this.formErrors, this.validationMessages, false) | 63 | this.onStatusChanged(this.form, this.formErrors, this.validationMessages, false) |
49 | } | 64 | } |
@@ -59,7 +74,8 @@ export abstract class FormReactive { | |||
59 | this.onStatusChanged( | 74 | this.onStatusChanged( |
60 | form.controls[field] as FormGroup, | 75 | form.controls[field] as FormGroup, |
61 | formErrors[field] as FormReactiveErrors, | 76 | formErrors[field] as FormReactiveErrors, |
62 | validationMessages[field] as FormReactiveValidationMessages | 77 | validationMessages[field] as FormReactiveValidationMessages, |
78 | onlyDirty | ||
63 | ) | 79 | ) |
64 | continue | 80 | continue |
65 | } | 81 | } |