Skip to content

Instantly share code, notes, and snippets.

View ngohungphuc's full-sized avatar
🏡
Sài Gòn & Lelystad

Tony Ngo ngohungphuc

🏡
Sài Gòn & Lelystad
View GitHub Profile
{
"name": "Net.Core_GraphQL",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"build:ssr": "ng run Net.Core_GraphQL:server:dev",
"test": "ng test",
"lint": "ng lint",
//from the reducer
//export common use selector for your selector
export const {
selectAll,
selectEntities,
selectIds,
selectTotal
} = adapter.getSelectors();
//from the selector
new userActions.LoadAllUserSuccess({
users: userList // user list data return from API in your effect
})
export class LoadAllUserSuccess implements Action {
public readonly type = UserActionTypes.LoadAllUserSuccess;
constructor(public payload: { users: IUser[] }) {}
}
import {
createEntityAdapter,
EntityAdapter,
EntityState
} from "@ngrx/entity";
export interface IUser {
id: string;
name: string;
email: string;
export class UpdateUserEmail implements Action {
public readonly type = UserActionTypes.UpdateUserEmail;
constructor(
public payload: {
id: number;
email: string;
}
) {}
}
// Pass in 3 to to tell ReplaySubject remember all 3 value
let replaySubject = new ReplaySubject<string>(3);
replaySubject.next("First value");
replaySubject.next("Second value");
replaySubject.next("Third value");
replaySubject.asObservable().subscribe((data) => {
console.log(`Get data from replaySubject ${data}`);
});
import { BehaviorSubject } from 'rxjs';
// Behavior subjects need a first value
let behaviorSubject = new BehaviorSubject<string>("Some dummy first value");
behaviorSubject.asObservable().subscribe((data) => {
console.log(`Get data ${data}`);
});
behaviorSubject.next("next value")
private subscription$: Subscription;
public ngOnInit(): void {
this.subscription$ = this.messageervice
.getData()
.subscribe(data => { console.log(data); })
}
public ngOnDestroy(): void {
this.subscription$.unsubscribe();
import { Injectable } from "@angular/core";
import { Subject } from "rxjs";
@Injectable()
export class MessageService {
private subject = new Subject<any>();
constructor() {}
sendMessage(message: any) {