Size: a a a

2020 October 31

ОС

Олександр Савуловськ... in Angular Kyiv
Добрый вечер. Помогите с rxjs. Нужно при закрытии диалогового окна к данным c диалога добавить еще стрим и передать все эти параметры в третий стрим. Вот что получилось:
dialogRef.afterClosed()
 .pipe(
   filter<TimeSheetTbl>(Boolean),
   mergeMap(data => this.loginService.userId$),
   switchMap(data => this.timeSheetService.addTimeSheetRow(data)),
 )
 .subscribe()

Но приходит только один параметр данные с диалога теряються. Спасибо.
источник
2020 November 01

D

Dima in Angular Kyiv
switchMap(data => forkJoin([of(data), this.timeSheetService.addTimeSheetRow(data)])
источник

ОС

Олександр Савуловськ... in Angular Kyiv
Dima
switchMap(data => forkJoin([of(data), this.timeSheetService.addTimeSheetRow(data)])
Идею понял. Огромное спасибо!!!
источник

С

Смородина in Angular Kyiv
Добрый день, подскажите где почитать про построение архитектуры приложения на angular?
источник

ОС

Олександр Савуловськ... in Angular Kyiv
Добрый день. Подскажите почему может не работать данная конструкция (при закрытии диалогового окна )?
dialogRef.afterClosed()
 .pipe(
   filter<TimeSheetTbl>(Boolean),
   mergeMap(data => forkJoin([
       of(data),
       this.loginService.userId$
     ])
   ),
   switchMap(([data, workmanId]) =>
     this.timeSheetService
       .addTimeSheetRow(workmanId, data.statusId, data.typeId, data.hrs, data.dtBeg, data.dtEnd)
   )
 ).subscribe(() => this.reloadTrigger$.next())
источник

MY

Mike Yaschenko in Angular Kyiv
Олександр Савуловський
Добрый день. Подскажите почему может не работать данная конструкция (при закрытии диалогового окна )?
dialogRef.afterClosed()
 .pipe(
   filter<TimeSheetTbl>(Boolean),
   mergeMap(data => forkJoin([
       of(data),
       this.loginService.userId$
     ])
   ),
   switchMap(([data, workmanId]) =>
     this.timeSheetService
       .addTimeSheetRow(workmanId, data.statusId, data.typeId, data.hrs, data.dtBeg, data.dtEnd)
   )
 ).subscribe(() => this.reloadTrigger$.next())
А если убрать фильтр?
источник

DK

Dm K in Angular Kyiv
Может быть проблема в конструкции filter(Boolean). Я точно не помню, но мне в каком-то проекте приходилось переписывать явно filter(I => Boolean(I))
источник

ОС

Олександр Савуловськ... in Angular Kyiv
Mike Yaschenko
А если убрать фильтр?
Нет убрал фильтр проблема не в нем. Проблема в forkJoin
источник

G

George in Angular Kyiv
this.loginService.userId$ не закрылся. для того что бы forkjoin сработал все стримы должны завершиться
источник

ОС

Олександр Савуловськ... in Angular Kyiv
George
this.loginService.userId$ не закрылся. для того что бы forkjoin сработал все стримы должны завершиться
Да. Спасибо я понял. Как можно обойти если меняю на combineLatest - потом при смене oginService.userId$ вся конструкция отрабатывает, а мне этого не нужно
источник

G

George in Angular Kyiv
Заменить mergeMap(...)  На withLatestFrom(loginService.userId$)
источник

G

George in Angular Kyiv
Как-то так
источник

ОС

Олександр Савуловськ... in Angular Kyiv
Заменил mergeMap(...)  На withLatestFrom(loginService.userId$) - все заработало. Всем спасибо!
источник

ОС

Олександр Савуловськ... in Angular Kyiv
Еще вопрос. Есть private
userSubject$ = new BehaviorSubject<User>({} as User);
readonly user$ = this.userSubject$.asObservable();
. User это объект {userId: number, userRole: number}. Как сделать this.userSubject$.next() и пеменять только userRole, userId - оставить без измения? Спасибо
источник

VG

Valeriy Garbuzov in Angular Kyiv
Олександр Савуловський
Еще вопрос. Есть private
userSubject$ = new BehaviorSubject<User>({} as User);
readonly user$ = this.userSubject$.asObservable();
. User это объект {userId: number, userRole: number}. Как сделать this.userSubject$.next() и пеменять только userRole, userId - оставить без измения? Спасибо
У біхейвСабжекта можна считати значення.
userSubject$.getValue() -> оновити і в next() оновлене значення
источник

ОС

Олександр Савуловськ... in Angular Kyiv
Valeriy Garbuzov
У біхейвСабжекта можна считати значення.
userSubject$.getValue() -> оновити і в next() оновлене значення
Спасибо
источник

С

Смородина in Angular Kyiv
Какие архитектуры  построения приложений сейчас используют в angular ? Мб у кого-то есть хороший пример ддд?
источник

Sergey Фrolov in Angular Kyiv
Смородина
Какие архитектуры  построения приложений сейчас используют в angular ? Мб у кого-то есть хороший пример ддд?
Да, на основе nx
источник

Sergey Фrolov in Angular Kyiv
источник

Sergey Фrolov in Angular Kyiv
источник