mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2026-01-21 09:03:02 +00:00
refactor: remove refresher from data detail view
This commit is contained in:
committed by
Jovan Krunić
parent
d2a23e581e
commit
fd7f664792
@@ -17,7 +17,7 @@
|
|||||||
import {CUSTOM_ELEMENTS_SCHEMA, DebugElement} from '@angular/core';
|
import {CUSTOM_ELEMENTS_SCHEMA, DebugElement} from '@angular/core';
|
||||||
import {ComponentFixture, TestBed} from '@angular/core/testing';
|
import {ComponentFixture, TestBed} from '@angular/core/testing';
|
||||||
import {ActivatedRoute, RouterModule} from '@angular/router';
|
import {ActivatedRoute, RouterModule} from '@angular/router';
|
||||||
import {IonRefresher, IonTitle} from '@ionic/angular';
|
import {IonTitle} from '@ionic/angular';
|
||||||
import {
|
import {
|
||||||
TranslateLoader,
|
TranslateLoader,
|
||||||
TranslateModule,
|
TranslateModule,
|
||||||
@@ -45,7 +45,6 @@ describe('DataDetailComponent', () => {
|
|||||||
let fixture: ComponentFixture<DataDetailComponent>;
|
let fixture: ComponentFixture<DataDetailComponent>;
|
||||||
let detailPage: DebugElement;
|
let detailPage: DebugElement;
|
||||||
let dataProvider: DataProvider;
|
let dataProvider: DataProvider;
|
||||||
let refresher: IonRefresher;
|
|
||||||
const sampleThing = sampleThingsMap.message[0];
|
const sampleThing = sampleThingsMap.message[0];
|
||||||
let translateService: TranslateService;
|
let translateService: TranslateService;
|
||||||
|
|
||||||
@@ -99,7 +98,6 @@ describe('DataDetailComponent', () => {
|
|||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
dataProvider = TestBed.inject(DataProvider);
|
dataProvider = TestBed.inject(DataProvider);
|
||||||
translateService = TestBed.inject(TranslateService);
|
translateService = TestBed.inject(TranslateService);
|
||||||
refresher = jasmine.createSpyObj('refresher', ['complete']);
|
|
||||||
spyOn(dataProvider, 'get' as any).and.returnValue(
|
spyOn(dataProvider, 'get' as any).and.returnValue(
|
||||||
Promise.resolve(sampleThing),
|
Promise.resolve(sampleThing),
|
||||||
);
|
);
|
||||||
@@ -133,13 +131,4 @@ describe('DataDetailComponent', () => {
|
|||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should update the data item when refresh is called', async () => {
|
|
||||||
await comp.refresh(refresher);
|
|
||||||
expect(DataDetailComponent.prototype.getItem).toHaveBeenCalledWith(
|
|
||||||
sampleThing.uid,
|
|
||||||
true,
|
|
||||||
);
|
|
||||||
expect(refresher.complete).toHaveBeenCalled();
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ import {
|
|||||||
TemplateRef,
|
TemplateRef,
|
||||||
} from '@angular/core';
|
} from '@angular/core';
|
||||||
import {ActivatedRoute} from '@angular/router';
|
import {ActivatedRoute} from '@angular/router';
|
||||||
import {IonRefresher, ViewWillEnter, ModalController} from '@ionic/angular';
|
import {ViewWillEnter, ModalController} from '@ionic/angular';
|
||||||
import {LangChangeEvent, TranslateService} from '@ngx-translate/core';
|
import {LangChangeEvent, TranslateService} from '@ngx-translate/core';
|
||||||
import {
|
import {
|
||||||
SCLanguageCode,
|
SCLanguageCode,
|
||||||
@@ -171,16 +171,4 @@ export class DataDetailComponent implements ViewWillEnter {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Updates the shown thing
|
|
||||||
*
|
|
||||||
* @param refresher Refresher component that triggers the update
|
|
||||||
*/
|
|
||||||
async refresh(refresher: IonRefresher) {
|
|
||||||
if (!this.inputItem) {
|
|
||||||
await this.getItem(this.route.snapshot.paramMap.get('uid') ?? '', true);
|
|
||||||
}
|
|
||||||
await refresher.complete();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,14 +20,6 @@
|
|||||||
</ion-header>
|
</ion-header>
|
||||||
<ng-content select="[header]"></ng-content>
|
<ng-content select="[header]"></ng-content>
|
||||||
<ion-content class="ion-no-padding">
|
<ion-content class="ion-no-padding">
|
||||||
<ion-refresher slot="fixed" (ionRefresh)="refresh($event.target)">
|
|
||||||
<ion-refresher-content
|
|
||||||
pullingIcon="chevron-down-outline"
|
|
||||||
pullingText="{{ 'data.REFRESH_ACTION' | translate }}"
|
|
||||||
refreshingText="{{ 'data.REFRESHING' | translate }}"
|
|
||||||
>
|
|
||||||
</ion-refresher-content>
|
|
||||||
</ion-refresher>
|
|
||||||
<div [ngSwitch]="true">
|
<div [ngSwitch]="true">
|
||||||
<ng-container *ngSwitchCase="!item && (isDisconnected | async)">
|
<ng-container *ngSwitchCase="!item && (isDisconnected | async)">
|
||||||
<div class="centeredMessageContainer">
|
<div class="centeredMessageContainer">
|
||||||
|
|||||||
@@ -17,7 +17,6 @@
|
|||||||
import {CUSTOM_ELEMENTS_SCHEMA} from '@angular/core';
|
import {CUSTOM_ELEMENTS_SCHEMA} from '@angular/core';
|
||||||
import {ComponentFixture, TestBed} from '@angular/core/testing';
|
import {ComponentFixture, TestBed} from '@angular/core/testing';
|
||||||
import {ActivatedRoute, RouterModule} from '@angular/router';
|
import {ActivatedRoute, RouterModule} from '@angular/router';
|
||||||
import {IonRefresher} from '@ionic/angular';
|
|
||||||
import {
|
import {
|
||||||
TranslateLoader,
|
TranslateLoader,
|
||||||
TranslateModule,
|
TranslateModule,
|
||||||
@@ -45,7 +44,6 @@ describe('DaiaAvailabilityComponent', () => {
|
|||||||
let comp: DaiaAvailabilityComponent;
|
let comp: DaiaAvailabilityComponent;
|
||||||
let fixture: ComponentFixture<DaiaAvailabilityComponent>;
|
let fixture: ComponentFixture<DaiaAvailabilityComponent>;
|
||||||
let dataProvider: DaiaDataProvider;
|
let dataProvider: DaiaDataProvider;
|
||||||
let refresher: IonRefresher;
|
|
||||||
const sampleThing = sampleThingsMap.book[0];
|
const sampleThing = sampleThingsMap.book[0];
|
||||||
let translateService: TranslateService;
|
let translateService: TranslateService;
|
||||||
let configProviderMock: jasmine.SpyObj<ConfigProvider>;
|
let configProviderMock: jasmine.SpyObj<ConfigProvider>;
|
||||||
@@ -114,7 +112,6 @@ describe('DaiaAvailabilityComponent', () => {
|
|||||||
const workingDAIAurl = 'https://daia.hebis.de/DAIA2/UB_Frankfurt';
|
const workingDAIAurl = 'https://daia.hebis.de/DAIA2/UB_Frankfurt';
|
||||||
dataProvider.daiaServiceUrl = workingDAIAurl;
|
dataProvider.daiaServiceUrl = workingDAIAurl;
|
||||||
translateService = TestBed.inject(TranslateService);
|
translateService = TestBed.inject(TranslateService);
|
||||||
refresher = jasmine.createSpyObj('refresher', ['complete']);
|
|
||||||
spyOn(dataProvider, 'getAvailability' as any).and.returnValue(
|
spyOn(dataProvider, 'getAvailability' as any).and.returnValue(
|
||||||
Promise.resolve(sampleThing),
|
Promise.resolve(sampleThing),
|
||||||
);
|
);
|
||||||
@@ -143,12 +140,4 @@ describe('DaiaAvailabilityComponent', () => {
|
|||||||
DaiaAvailabilityComponent.prototype.getAvailability,
|
DaiaAvailabilityComponent.prototype.getAvailability,
|
||||||
).toHaveBeenCalledWith(sampleThing.uid);
|
).toHaveBeenCalledWith(sampleThing.uid);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should update the data item when refresh is called', async () => {
|
|
||||||
await comp.refresh(refresher);
|
|
||||||
expect(
|
|
||||||
DaiaAvailabilityComponent.prototype.getAvailability,
|
|
||||||
).toHaveBeenCalledWith(sampleThing.uid);
|
|
||||||
expect(refresher.complete).toHaveBeenCalled();
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -18,7 +18,6 @@
|
|||||||
import {CUSTOM_ELEMENTS_SCHEMA} from '@angular/core';
|
import {CUSTOM_ELEMENTS_SCHEMA} from '@angular/core';
|
||||||
import {ComponentFixture, TestBed} from '@angular/core/testing';
|
import {ComponentFixture, TestBed} from '@angular/core/testing';
|
||||||
import {ActivatedRoute, RouterModule} from '@angular/router';
|
import {ActivatedRoute, RouterModule} from '@angular/router';
|
||||||
import {IonRefresher} from '@ionic/angular';
|
|
||||||
import {
|
import {
|
||||||
TranslateLoader,
|
TranslateLoader,
|
||||||
TranslateModule,
|
TranslateModule,
|
||||||
@@ -44,7 +43,6 @@ describe('HebisDetailComponent', () => {
|
|||||||
let comp: HebisDetailComponent;
|
let comp: HebisDetailComponent;
|
||||||
let fixture: ComponentFixture<HebisDetailComponent>;
|
let fixture: ComponentFixture<HebisDetailComponent>;
|
||||||
let dataProvider: HebisDataProvider;
|
let dataProvider: HebisDataProvider;
|
||||||
let refresher: IonRefresher;
|
|
||||||
const sampleThing = sampleThingsMap.book[0];
|
const sampleThing = sampleThingsMap.book[0];
|
||||||
let translateService: TranslateService;
|
let translateService: TranslateService;
|
||||||
|
|
||||||
@@ -98,7 +96,6 @@ describe('HebisDetailComponent', () => {
|
|||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
dataProvider = TestBed.inject(HebisDataProvider);
|
dataProvider = TestBed.inject(HebisDataProvider);
|
||||||
translateService = TestBed.inject(TranslateService);
|
translateService = TestBed.inject(TranslateService);
|
||||||
refresher = jasmine.createSpyObj('refresher', ['complete']);
|
|
||||||
spyOn(dataProvider, 'get' as any).and.returnValue(
|
spyOn(dataProvider, 'get' as any).and.returnValue(
|
||||||
Promise.resolve(sampleThing),
|
Promise.resolve(sampleThing),
|
||||||
);
|
);
|
||||||
@@ -126,13 +123,4 @@ describe('HebisDetailComponent', () => {
|
|||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should update the data item when refresh is called', async () => {
|
|
||||||
await comp.refresh(refresher);
|
|
||||||
expect(HebisDetailComponent.prototype.getItem).toHaveBeenCalledWith(
|
|
||||||
sampleThing.uid,
|
|
||||||
true,
|
|
||||||
);
|
|
||||||
expect(refresher.complete).toHaveBeenCalled();
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -14,14 +14,6 @@
|
|||||||
</ion-toolbar>
|
</ion-toolbar>
|
||||||
</ion-header>
|
</ion-header>
|
||||||
<ion-content class="ion-no-padding">
|
<ion-content class="ion-no-padding">
|
||||||
<ion-refresher slot="fixed" (ionRefresh)="refresh($event.target)">
|
|
||||||
<ion-refresher-content
|
|
||||||
pullingIcon="chevron-down-outline"
|
|
||||||
pullingText="{{ 'data.REFRESH_ACTION' | translate }}"
|
|
||||||
refreshingText="{{ 'data.REFRESHING' | translate }}"
|
|
||||||
>
|
|
||||||
</ion-refresher-content>
|
|
||||||
</ion-refresher>
|
|
||||||
<div [ngSwitch]="true">
|
<div [ngSwitch]="true">
|
||||||
<ng-container *ngSwitchCase="!item && isDisconnected | async">
|
<ng-container *ngSwitchCase="!item && isDisconnected | async">
|
||||||
<div class="notFoundContainer">
|
<div class="notFoundContainer">
|
||||||
|
|||||||
Reference in New Issue
Block a user