@@ -23,7 +23,7 @@ import { TranslateModule, TranslateService } from '@ngx-translate/core';
23
23
import { TranslateLabelService } from '@rero/ng-core/src/lib/record/editor/formly/primeng/select' ;
24
24
import { TreeNode } from 'primeng/api' ;
25
25
import { TreeNodeSelectEvent } from 'primeng/tree' ;
26
- import { TreeSelectModule as PrimeNgTreeSelectModule } from 'primeng/treeselect' ;
26
+ import { TreeSelectModule } from 'primeng/treeselect' ;
27
27
import { Subscription } from 'rxjs' ;
28
28
29
29
// Doc https://primeng.org/treeselect
@@ -64,8 +64,9 @@ export interface FormlyTreeSelectFieldConfig extends FormlyFieldConfig<ITreeSele
64
64
[placeholder]="props.placeholder | translate"
65
65
[showClear]="!props.required"
66
66
[variant]="props.variant"
67
- (onNodeSelect)="onNodeSelect($event)"
68
- (onNodeUnselect)="onNodeUnselect()"
67
+ (onNodeSelect)="setFormValue($event)"
68
+ (onNodeUnselect)="clearFormValue()"
69
+ (onClear)="clearFormValue()"
69
70
/>
70
71
` ,
71
72
} )
@@ -104,12 +105,14 @@ export class TreeSelectComponent extends FieldType<FormlyFieldConfig<ITreeSelect
104
105
this . subscription . unsubscribe ( ) ;
105
106
}
106
107
107
- onNodeSelect ( event : TreeNodeSelectEvent ) : void {
108
+ setFormValue ( event : TreeNodeSelectEvent ) : void {
108
109
this . formControl . setValue ( event . node . data ) ;
109
110
}
110
111
111
- onNodeUnselect ( ) : void {
112
- this . formControl . reset ( ) ;
112
+ clearFormValue ( ) : void {
113
+ this . formControl . reset ( null ) ;
114
+ const errors = this . formControl . errors ;
115
+ this . formControl . setErrors ( errors . required ? { required : true } : null ) ;
113
116
}
114
117
115
118
private findNodeByValue ( node : TreeNode [ ] , value : string , data ?: TreeNode ) : any {
@@ -134,8 +137,8 @@ export class TreeSelectComponent extends FieldType<FormlyFieldConfig<ITreeSelect
134
137
CommonModule ,
135
138
FormsModule ,
136
139
FormlySelectModule ,
137
- PrimeNgTreeSelectModule ,
138
140
TranslateModule . forRoot ( ) ,
141
+ TreeSelectModule ,
139
142
FormlyModule . forChild ( {
140
143
types : [
141
144
{
0 commit comments