Skip to content

Commit 6fe351a

Browse files
authored
Merge pull request #3796 from alexandrevryghem/w2p-122005_fixed-dropdown-values-resetting-on-enter_contribute-8_x
[Port dspace-8_x] Fixed dropdown/lookup & lookup-name fields being reset when hitting enter
2 parents 202cfe4 + c925424 commit 6fe351a

File tree

3 files changed

+10
-6
lines changed

3 files changed

+10
-6
lines changed

src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup.component.html

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,11 +94,12 @@
9494
(scrolled)="onScroll()"
9595
[scrollWindow]="false">
9696

97-
<button class="dropdown-item disabled"
97+
<button class="dropdown-item disabled" type="button"
9898
*ngIf="optionsList && optionsList.length === 0"
99-
(click)="$event.stopPropagation(); clearFields(); sdRef.close();">{{'form.no-results' | translate}}
99+
(click)="$event.stopPropagation(); clearFields(); sdRef.close();">
100+
{{ 'form.no-results' | translate }}
100101
</button>
101-
<button class="dropdown-item lookup-item"
102+
<button class="dropdown-item lookup-item" type="button"
102103
*ngFor="let listEntry of optionsList"
103104
(click)="$event.stopPropagation(); onSelect(listEntry); sdRef.close();"
104105
title="{{ listEntry.display }}">

src/app/shared/form/builder/ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.component.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,17 +40,17 @@
4040
(scrolled)="onScroll()"
4141
[scrollWindow]="false">
4242

43-
<button class="dropdown-item disabled" *ngIf="optionsList && optionsList.length === 0">{{'form.no-results' | translate}}</button>
43+
<button class="dropdown-item disabled" type="button" *ngIf="optionsList && optionsList.length === 0">{{'form.no-results' | translate}}</button>
4444
<button class="dropdown-item collection-item text-truncate"
4545
(click)="onSelect(undefined); sdRef.close()" (mousedown)="onSelect(undefined); sdRef.close()"
4646
title="{{ 'dropdown.clear.tooltip' | translate }}" role="option"
47-
>
47+
type="button">
4848
<i>{{ 'dropdown.clear' | translate }}</i>
4949
</button>
5050
<button class="dropdown-item collection-item text-truncate" *ngFor="let listEntry of optionsList; let i = index"
5151
[class.active]="i === selectedIndex"
5252
(keydown.enter)="onSelect(listEntry); sdRef.close()" (mousedown)="onSelect(listEntry); sdRef.close()"
53-
title="{{ listEntry.display }}" role="option"
53+
title="{{ listEntry.display }}" role="option" type="button"
5454
[attr.id]="listEntry.display === (currentValue|async) ? ('combobox_' + id + '_selected') : null">
5555
{{inputFormatter(listEntry)}}
5656
</button>

src/app/shared/form/form.service.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,9 @@ export class FormService {
153153
}
154154

155155
public addControlErrors(field: AbstractControl, formId: string, fieldId: string, fieldIndex: number) {
156+
if (field.errors === null) {
157+
return;
158+
}
156159
const errors: string[] = Object.keys(field.errors)
157160
.filter((errorKey) => field.errors[errorKey] === true)
158161
.map((errorKey) => `error.validation.${errorKey}`);

0 commit comments

Comments
 (0)