Просто, просто отфильтруйте изменение вашего значения.Добавьте фильтр и передайте условие согласно вашему требованию.
Фильтр RxJS используется для фильтрации значений, излучаемых источником Observable на основе заданного предиката.Если условие возвращает true, фильтр будет выдавать значение, полученное из источника Observable, в противном случае - нет.
filter (x => x! == null),
if(!this.isGlobalAdmin){
this.rangeControl.valueChanges.pipe(
filter(x => x !== null), // add filter and pass condition as per your requirement
switchMap( value => this.campaignsService.getUnpaginatedCampaignsWithinRange(
{
accountIds : this.currentUserAccount? this.currentUserAccount.id: null,
campaignStatuses: this.campaignStatusIds,
rangeStartDate: (this.rangeControl.value[0]).toISOString(),
rangeEndDate: (this.rangeControl.value[1]).toISOString()
}
)
),
tap((campaigns) => { this.campaigns = campaigns; })
).subscribe();
}
См. Это для фильтра RxjS: https://www.concretepage.com/angular/angular-rxjs-filter