+
{{ values$ | async | json }}
+
+
+
+ `,
+ changeDetection: environment.changeDetection
+})
+export class RxStateParentSelectionsComponent {
+ values$ = new Subject();
+
+ formGroupModel$ = of({
+ name: '',
+ age: 0
+ });
+}
diff --git a/apps/demos/src/app/features/experiments/state/selections/source.service.ts b/apps/demos/src/app/features/experiments/state/selections/source.service.ts
new file mode 100644
index 0000000000..7a44503762
--- /dev/null
+++ b/apps/demos/src/app/features/experiments/state/selections/source.service.ts
@@ -0,0 +1,9 @@
+import { Injectable } from '@angular/core';
+import { timer } from 'rxjs';
+
+@Injectable({
+ providedIn: 'root',
+})
+export class SourceService {
+ $ = timer(0, 1000);
+}
diff --git a/apps/demos/src/app/features/experiments/state/selections/subscription.service.ts b/apps/demos/src/app/features/experiments/state/selections/subscription.service.ts
new file mode 100644
index 0000000000..9f87e48b24
--- /dev/null
+++ b/apps/demos/src/app/features/experiments/state/selections/subscription.service.ts
@@ -0,0 +1,21 @@
+import { Injectable, OnDestroy } from '@angular/core';
+import { Observable, Subject, Subscription } from 'rxjs';
+import { mergeAll } from 'rxjs/operators';
+
+@Injectable()
+export class SubscriptionHandlingService implements OnDestroy {
+ subscription = new Subscription();
+ processes$ = new Subject();
+
+ constructor() {
+ this.subscription.add(this.processes$.pipe(mergeAll()).subscribe());
+ }
+
+ hold(o$: Observable