Skip to content

Commit d62ec81

Browse files
committed
fix: fix issue that caused select elements to get assigned wrong initial value
1 parent 9163d74 commit d62ec81

File tree

3 files changed

+18
-0
lines changed

3 files changed

+18
-0
lines changed

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
## ngrx-forms Changelog
22

3+
<a name="2.1.2"></a>
4+
### 2.1.2
5+
6+
#### Bugfixes
7+
8+
* fix issue that caused `select` elements to get assigned wrong initial value, closes [#32](https://github.com/MrWolfZ/ngrx-forms/issues/32)
9+
310
<a name="2.1.1"></a>
411
### 2.1.1
512

src/view-adapter/select-multiple.spec.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -363,4 +363,10 @@ describe(NgrxSelectMultipleOption.name, () => {
363363
it('should work if option is created without view adapter', () => {
364364
expect(new NgrxSelectMultipleOption({} as any, {} as any, null as any)).toBeDefined();
365365
});
366+
367+
it('ngOnInit should not change the element if no matching view adapter is injected', () => {
368+
option = new NgrxSelectMultipleOption({} as any, renderer, null as any);
369+
option.ngOnInit();
370+
expect(renderer.setProperty).not.toHaveBeenCalled();
371+
});
366372
});

src/view-adapter/select-multiple.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,10 @@ const NULL_VIEW_ADAPTER: NgrxSelectMultipleViewAdapter = {
116116
updateOptionValue: () => void 0,
117117
} as any;
118118

119+
const NULL_RENDERER: Renderer2 = {
120+
setProperty: () => void 0,
121+
} as any;
122+
119123
@Directive({
120124
// tslint:disable-next-line:directive-selector
121125
selector: 'option',
@@ -128,6 +132,7 @@ export class NgrxSelectMultipleOption implements OnInit, OnDestroy {
128132
private renderer: Renderer2,
129133
@Host() @Optional() private viewAdapter: NgrxSelectMultipleViewAdapter,
130134
) {
135+
this.renderer = viewAdapter ? renderer : NULL_RENDERER;
131136
this.viewAdapter = viewAdapter || NULL_VIEW_ADAPTER;
132137
this.id = this.viewAdapter.registerOption(this);
133138
}

0 commit comments

Comments
 (0)