mirror of
https://github.com/Raghu-Ch/angular-challenges.git
synced 2026-02-10 12:53:03 -05:00
feat: create challenge 48 without solution
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
---
|
||||
title: 🟠 Save your form's bacon: with the navigation alert
|
||||
description: Challenge 48 is about Bob 🧙♂️ the product owner, he wants to develop a new feature in response to customer complaints about losing form input information.
|
||||
author: Timothy Alcaide
|
||||
contributors:
|
||||
- tomalaforge
|
||||
challengeNumber: 48
|
||||
command: angular-dialog-alert-form
|
||||
sidebar:
|
||||
order: 121
|
||||
badge: New
|
||||
---
|
||||
|
||||
:::note
|
||||
WIP: The following documentation need to be written.
|
||||
:::
|
||||
|
||||
## Context
|
||||
|
||||
As a member of the development team, you need to address a specific request from the product owner, Bob 🧙♂️ He wants to develop a new feature in response to customer complaints about losing form input information.
|
||||
|
||||
## User Story
|
||||
|
||||
Here's the feature expressed as a user story (functional expectation)
|
||||
|
||||
"As a user, I would like to have an alert dialog box that appears when I attempt to navigate away from the /form page after I have started entering information into the form."
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
1. On the /form page:
|
||||
|
||||
- If the input text has been pre-filled, then an alert dialog box opens.
|
||||
- Otherwise, the user navigates normally.
|
||||
|
||||
2. The alert dialog box must be clear and concise, stating: "Caution! You have unsaved information. Do you want to continue and lose them?" with the following button labels:
|
||||
|
||||
- Continue without saving
|
||||
- Stay on page
|
||||
|
||||
3. The appearance and behavior of the alert dialog box must comply with W3C conventions, see [alert dialog pattern](https://www.w3.org/WAI/ARIA/apg/patterns/alertdialog/)
|
||||
4. Maximize the use of the new concepts and syntax in the latest version of Angular.
|
||||
5. (Bonus) : Try to adopt a declarative approach (for dialog opening, for example).
|
||||
|
||||
<details>
|
||||
<summary>Tips 🤫 (if you really need it and after careful consideration)</summary>
|
||||
Use the Material CDK Dialog - https://material.angular.io/cdk/dialog/overview
|
||||
Use the CanDeactivate guard - https://angular.io/api/router/CanDeactivate (use new functionnal approach).
|
||||
</details>
|
||||
@@ -9,7 +9,6 @@ challengeNumber: 47
|
||||
command: typescript-enums-vs-union-types
|
||||
sidebar:
|
||||
order: 18
|
||||
badge: New
|
||||
---
|
||||
|
||||
## Information
|
||||
|
||||
@@ -13,7 +13,7 @@ hero:
|
||||
icon: right-arrow
|
||||
variant: primary
|
||||
- text: Ir al Desafío más reciente
|
||||
link: /es/challenges/typescript/47-enums-vs-union-types/
|
||||
link: /es/challenges/angular/48-dialog-alert-form/
|
||||
icon: rocket
|
||||
- text: Dar una estrella
|
||||
link: https://github.com/tomalaforge/angular-challenges
|
||||
@@ -26,8 +26,8 @@ import MyIcon from '../../../components/MyIcon.astro';
|
||||
import SubscriptionForm from '../../../components/SubscriptionForm.astro';
|
||||
|
||||
<CardGrid>
|
||||
<Card title="47 Desafíos">
|
||||
Este repositorio contiene 47 Desafíos relacionados con <b>Angular</b>, <b>Nx</b>, <b>RxJS</b>, <b>Ngrx</b> y <b>Typescript</b>.
|
||||
<Card title="48 Desafíos">
|
||||
Este repositorio contiene 48 Desafíos relacionados con <b>Angular</b>, <b>Nx</b>, <b>RxJS</b>, <b>Ngrx</b> y <b>Typescript</b>.
|
||||
Estos desafíos se resuelven en torno a problemas de la vida real o características específicas para mejorar tus habilidades.
|
||||
</Card>
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ hero:
|
||||
icon: right-arrow
|
||||
variant: primary
|
||||
- text: Aller au dernier Challenge
|
||||
link: /fr/challenges/typescript/47-enums-vs-union-types/
|
||||
link: /fr/challenges/angular/48-dialog-alert-form/
|
||||
icon: rocket
|
||||
- text: Donne une étoile
|
||||
link: https://github.com/tomalaforge/angular-challenges
|
||||
@@ -26,8 +26,8 @@ import MyIcon from '../../../components/MyIcon.astro';
|
||||
import SubscriptionForm from '../../../components/SubscriptionForm.astro';
|
||||
|
||||
<CardGrid>
|
||||
<Card title="47 Défis">
|
||||
Ce répertoire rassemble 47 Défis liés à <b>Angular</b>, <b>Nx</b>, <b>RxJS</b>, <b>Ngrx</b> et <b>Typescript</b>. Ces défis portent sur des problèmes réels ou des fonctionnalités spécifiques pour améliorer vos compétences.
|
||||
<Card title="48 Défis">
|
||||
Ce répertoire rassemble 48 Défis liés à <b>Angular</b>, <b>Nx</b>, <b>RxJS</b>, <b>Ngrx</b> et <b>Typescript</b>. Ces défis portent sur des problèmes réels ou des fonctionnalités spécifiques pour améliorer vos compétences.
|
||||
</Card>
|
||||
|
||||
<Card title="Subscribe to get notify of latest challenges">
|
||||
|
||||
@@ -26,10 +26,9 @@ import MyIcon from '../../components/MyIcon.astro';
|
||||
|
||||
import SubscriptionForm from '../../components/SubscriptionForm.astro';
|
||||
|
||||
|
||||
<CardGrid>
|
||||
<Card title="47 Challenges">
|
||||
This repository gathers 47 Challenges related to <b>Angular</b>, <b>Nx</b>, <b>RxJS</b>, <b>Ngrx</b> and <b>Typescript</b>.
|
||||
<Card title="48 Challenges">
|
||||
This repository gathers 48 Challenges related to <b>Angular</b>, <b>Nx</b>, <b>RxJS</b>, <b>Ngrx</b> and <b>Typescript</b>.
|
||||
These challenges resolve around real-life issues or specific features to elevate your skills.
|
||||
</Card>
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ hero:
|
||||
icon: right-arrow
|
||||
variant: primary
|
||||
- text: Ir para o desafio mais recente
|
||||
link: /pt/challenges/typescript/47-enums-vs-union-types/
|
||||
link: /pt/challenges/angular/48-dialog-alert-form/
|
||||
icon: rocket
|
||||
- text: Dar uma estrela
|
||||
link: https://github.com/tomalaforge/angular-challenges
|
||||
@@ -26,8 +26,8 @@ import MyIcon from '../../../components/MyIcon.astro';
|
||||
import SubscriptionForm from '../../../components/SubscriptionForm.astro';
|
||||
|
||||
<CardGrid>
|
||||
<Card title="47 Desafios">
|
||||
Este repositório possui 47 Desafios relacionados a <b>Angular</b>, <b>Nx</b>, <b>RxJS</b>,
|
||||
<Card title="48 Desafios">
|
||||
Este repositório possui 48 Desafios relacionados a <b>Angular</b>, <b>Nx</b>, <b>RxJS</b>,
|
||||
<b>Ngrx</b> e <b>Typescript</b>.
|
||||
Esses desafios são voltados para problemas reais ou funcionalidades específicas afim de
|
||||
melhorar suas habilidades.
|
||||
|
||||
@@ -13,7 +13,7 @@ hero:
|
||||
icon: right-arrow
|
||||
variant: primary
|
||||
- text: Перейти к последней задаче
|
||||
link: /ru/challenges/typescript/47-enums-vs-union-types/
|
||||
link: /ru/challenges/angular/48-dialog-alert-form/
|
||||
icon: rocket
|
||||
- text: Добавить звезду
|
||||
link: https://github.com/tomalaforge/angular-challenges
|
||||
|
||||
Reference in New Issue
Block a user