From 7ef4e4d4a40463490ea60801d5046cbeac9f6728 Mon Sep 17 00:00:00 2001 From: Tykayn Date: Tue, 18 May 2021 10:47:16 +0200 Subject: [PATCH] floating hint about form errors --- .../administration.component.ts | 14 +- .../advanced-config.component.html | 50 ++++--- .../base-config/base-config.component.html | 6 +- .../administration/form/form.component.html | 20 +-- .../administration/form/form.component.ts | 28 +--- .../consultation/consultation.component.ts | 4 - .../errors-list/errors-list.component.html | 4 + .../errors-list/errors-list.component.scss | 9 ++ .../form/errors-list/errors-list.component.ts | 2 +- src/assets/i18n/EN.json | 4 + src/assets/i18n/FR.json | 4 + src/styles/partials/_form-controls.scss | 91 ------------ src/styles/partials/_forms.scss | 138 +++++++++++++----- src/styles/partials/_typo.scss | 4 + 14 files changed, 180 insertions(+), 198 deletions(-) diff --git a/src/app/features/administration/administration.component.ts b/src/app/features/administration/administration.component.ts index 56024019..5ef41c21 100644 --- a/src/app/features/administration/administration.component.ts +++ b/src/app/features/administration/administration.component.ts @@ -1,8 +1,9 @@ -import { Component, OnDestroy, OnInit } from '@angular/core'; +import { Component, Inject, OnDestroy, OnInit } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { Subscription } from 'rxjs'; import { Poll } from '../../core/models/poll.model'; +import { DOCUMENT } from '@angular/common'; @Component({ selector: 'app-administration', @@ -13,7 +14,7 @@ export class AdministrationComponent implements OnInit, OnDestroy { public poll: Poll; private routeSubscription: Subscription; - constructor(private route: ActivatedRoute) {} + constructor(private route: ActivatedRoute, @Inject(DOCUMENT) private document: any) {} ngOnInit(): void { this.routeSubscription = this.route.data.subscribe((data: { poll: Poll }) => { @@ -21,6 +22,15 @@ export class AdministrationComponent implements OnInit, OnDestroy { if (data.poll) { this.poll = data.poll; } + + // focus on first field of the creation form + const firstField = this.document.querySelector('app-admin-form select'); + if (firstField) { + console.log('focus on ', firstField); + firstField.focus(); + } else { + console.log('no first field of form'); + } }); } diff --git a/src/app/features/administration/form/advanced-config/advanced-config.component.html b/src/app/features/administration/form/advanced-config/advanced-config.component.html index da3510a2..9dce29a0 100644 --- a/src/app/features/administration/form/advanced-config/advanced-config.component.html +++ b/src/app/features/administration/form/advanced-config/advanced-config.component.html @@ -74,7 +74,7 @@ Le sondage sera protégé par un mot de passe - +
Vous recevrez un mail à chaque nouvelle participation +
Vous recevrez un mail à chaque nouveau commentaire -

- - Réponses proposées -

+
+

+ + Réponses proposées +

- - - - - - La réponse « oui » sera disponible - - - La réponse « peut-être » sera disponible - - - La réponse « non » sera disponible - + + + + + La réponse « oui » sera disponible + +
+ + La réponse « peut-être » sera disponible + +
+ + La réponse « non » sera disponible + +

Restrictions visiteurs @@ -122,6 +126,7 @@ Autoriser les commentaires +
Nombre de réponses limitées à ce nombre @@ -145,7 +150,7 @@
- + Spécifier un lien unique de vote à des participants définis

@@ -153,6 +158,13 @@ avec une clé permettant de voter pour n'importe qui ayant le lien. Nécessite: évolution de la BDD et de l'API

+
diff --git a/src/app/features/administration/form/base-config/base-config.component.html b/src/app/features/administration/form/base-config/base-config.component.html index aa686d3c..3b0eaed2 100644 --- a/src/app/features/administration/form/base-config/base-config.component.html +++ b/src/app/features/administration/form/base-config/base-config.component.html @@ -25,9 +25,9 @@ > - {{ - getErrorMessage(form.controls.title) - }} + + {{ getErrorMessage(form.controls.title) }}