Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Framasoft
Framadate
funky-framadate-front
Commits
f6ce2248
Commit
f6ce2248
authored
May 04, 2021
by
Tykayn
Committed by
tykayn
May 04, 2021
Browse files
separate choice from form
parent
186e5e36
Pipeline
#414995
passed with stage
in 3 minutes and 8 seconds
Changes
3
Pipelines
2
Hide whitespace changes
Inline
Side-by-side
src/app/features/administration/form/form.component.ts
View file @
f6ce2248
...
...
@@ -9,6 +9,7 @@ import { Router } from '@angular/router';
import
{
environment
}
from
'
../../../../environments/environment
'
;
import
{
PollUtilitiesService
}
from
'
../../../core/services/poll.utilities.service
'
;
import
{
StorageService
}
from
'
../../../core/services/storage.service
'
;
import
{
defaultDates
,
defaultTimeOfDay
}
from
'
../../../../../mocks/old-stuff/config/defaultConfigs
'
;
@
Component
({
selector
:
'
app-admin-form
'
,
...
...
@@ -53,29 +54,29 @@ export class FormComponent implements OnInit {
creatorEmail
:
[
''
,
[
Validators
.
required
]],
custom_url
:
[
this
.
pollUtilitiesService
.
makeUuid
(),
[
Validators
.
required
]],
description
:
[
''
,
[
Validators
.
required
]],
choices
:
this
.
fb
.
array
([
this
.
fb
.
group
({
label
:
[
''
,
[
Validators
.
required
]],
imageUrl
:
[
''
,
[
Validators
.
required
]],
}),
]),
dateChoices
:
this
.
fb
.
array
([
this
.
fb
.
group
({
label
:
[
''
,
[
Validators
.
required
]],
// if we have enabled detailed time choices per date choice, we have to make a time property for each date choice
timeChoices
:
this
.
fb
.
array
([
this
.
fb
.
group
({
label
:
[
''
,
[
Validators
.
required
]],
}),
]),
}),
]),
// these time choice are meant to be the same for each day
timeChoices
:
this
.
fb
.
array
([
this
.
fb
.
group
({
label
:
[
''
,
[
Validators
.
required
]],
}),
]),
//
choices: this.fb.array([
//
this.fb.group({
//
label: ['', [Validators.required]],
//
imageUrl: ['', [Validators.required]],
//
}),
//
]),
//
dateChoices: this.fb.array([
//
this.fb.group({
//
label: ['', [Validators.required]],
//
// if we have enabled detailed time choices per date choice, we have to make a time property for each date choice
//
timeChoices: this.fb.array([
//
this.fb.group({
//
label: ['', [Validators.required]],
//
}),
//
]),
//
}),
//
]),
//
//
these time choice are meant to be the same for each day
//
timeChoices: this.fb.array([
//
this.fb.group({
//
label: ['', [Validators.required]],
//
}),
//
]),
kind
:
[
''
,
[
Validators
.
required
]],
areResultsPublic
:
[
true
,
[
Validators
.
required
]],
whoCanChangeAnswers
:
[
'
everybody
'
,
[
Validators
.
required
]],
...
...
@@ -141,18 +142,14 @@ export class FormComponent implements OnInit {
startDateInterval
:
new
Date
(),
endDateInterval
:
new
Date
(),
comments
:
[],
choices
:
[
{
name
:
'
un choix
'
,
url
:
'
https://placekitten.com/120/150
'
,
},
],
dateChoices
:
[
{
name
:
new
Date
(),
},
],
timeChoices
:
[],
// choices: [
// {
// name: 'un choix',
// url: 'https://placekitten.com/120/150',
// },
// ],
// dateChoices: defaultDates,
// timeChoices: defaultTimeOfDay,
});
}
...
...
src/app/features/shared/components/ui/form/errors-list/errors-list.component.html
View file @
f6ce2248
<div
class=
"validation-error-list"
[ngClass]=
"{ 'has-background-warning': totalErrors > 0 }"
>
<div
class=
"validation-error-list padded"
[ngClass]=
"{ 'has-background-warning': totalErrors > 0, 'has-background-success': totalErrors === 0 }"
>
<h1
class=
"title is-1"
>
Validation
</h1>
<span
class=
"status"
>
statut: {{ form.status }}
</span>
<s
pan
class=
"has-background-warning total-errors"
*ngIf=
"form &&
getFormValidation
Errors
()
"
>
<span
class=
"status
marged
"
>
statut: {{ form.status }}
</span>
<s
trong
class=
"
marged
has-background-warning total-errors"
*ngIf=
"form &&
total
Errors"
>
{{ totalErrors }} erreurs de validation
</s
pan
>
</s
trong
>
<ul>
<li
*ngFor=
"let m of messages"
>
...
...
src/app/features/shared/components/ui/form/errors-list/errors-list.component.ts
View file @
f6ce2248
...
...
@@ -24,7 +24,14 @@ export class ErrorsListComponent implements OnInit {
this
.
messages
=
[];
Object
.
keys
(
this
.
form
.
controls
).
forEach
((
key
)
=>
{
const
controlErrors
:
ValidationErrors
=
this
.
form
.
get
(
key
).
errors
;
const
theKey
=
this
.
form
.
get
(
key
);
const
invalidData
=
theKey
.
invalid
;
if
(
invalidData
)
{
totalErrors
++
;
console
.
log
(
'
key
'
,
key
,
invalidData
);
this
.
messages
.
push
(
''
+
key
+
'
est invalide
'
);
}
const
controlErrors
:
ValidationErrors
=
theKey
.
errors
;
if
(
controlErrors
!=
null
)
{
console
.
log
(
'
controlErrors
'
,
controlErrors
);
totalErrors
++
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment