diff --git a/app/dose-series-service/dose-series.service.ts b/app/dose-series-service/dose-series.service.ts index 1398239..7a5155b 100644 --- a/app/dose-series-service/dose-series.service.ts +++ b/app/dose-series-service/dose-series.service.ts @@ -48,6 +48,23 @@ export class DoseSeriesService { ); } + /** + * Deletes a DoseSeries from the server. + * @param id to lookup. + * @returns {Promise}. + */ + public delete( + id: number + ): Promise { + return this.http.delete( + `${this.doseSeriesUrl}/${id}` + ).toPromise().then( + (response) => response.json() + ).catch( + this.handleError + ); + } + /** * Creates a new DoseSeries object. * @param doseSeries to save. diff --git a/app/dose-series-slider/dose-series-slider.component.html b/app/dose-series-slider/dose-series-slider.component.html new file mode 100644 index 0000000..58dffdb --- /dev/null +++ b/app/dose-series-slider/dose-series-slider.component.html @@ -0,0 +1,13 @@ + + +

{{doseSeries.med.name}}

+ Take {{doseSeries.med.doseAmount}} {{doseSeries.med.doseUnit}}, {{doseSeries.med.doseInstructions}} +
+ + + + +
\ No newline at end of file diff --git a/app/dose-series-slider/dose-series-slider.component.ts b/app/dose-series-slider/dose-series-slider.component.ts new file mode 100644 index 0000000..75a30d7 --- /dev/null +++ b/app/dose-series-slider/dose-series-slider.component.ts @@ -0,0 +1,39 @@ +import {Component, Input} from "@angular/core"; +import {DoseSeries} from "../dose-series/dose-series"; +import {ItemSliding} from "ionic-angular/index"; +import {DoseSeriesService} from "../dose-series-service/dose-series.service"; +import {Events} from "ionic-angular/index"; + +/** + * DoseEventSlider for rendering a dose-events. + */ +@Component( + { + selector: "dose-series-slider", + templateUrl: "build/dose-series-slider/dose-series-slider.component.html" + } +) + +export class DoseSeriesSliderComponent { + + @Input() + public doseSeries: DoseSeries; + + constructor( + private doseSeriesService: DoseSeriesService, + private events: Events + ) { + } + + slidingDelete(slidingItem: ItemSliding) { + this.doseSeriesService.delete(this.doseSeries.id).then( + (doseSeries: DoseSeries) => { + this.events.publish( + "doseSeries:deleted", + doseSeries as DoseSeries + ); + } + ); + } +} + diff --git a/app/pages/med-list/med-list.html b/app/pages/med-list/med-list.html index 5aae156..c5ec0fe 100644 --- a/app/pages/med-list/med-list.html +++ b/app/pages/med-list/med-list.html @@ -7,8 +7,8 @@ - + diff --git a/app/pages/med-list/med-list.ts b/app/pages/med-list/med-list.ts index eafce85..d5211d5 100644 --- a/app/pages/med-list/med-list.ts +++ b/app/pages/med-list/med-list.ts @@ -1,8 +1,9 @@ import {Component, OnInit} from "@angular/core"; import {DoseAmigosToolbar} from "../../dose-amigos-toolbar/dose-amigos-toolbar.component"; -import {MedListComponenet} from "../../med-list-event/med-list-event.component"; +import {DoseSeriesSliderComponent} from "../../dose-series-slider/dose-series-slider.component"; import {DoseSeries} from "../../dose-series/dose-series"; import {DoseSeriesService} from "../../dose-series-service/dose-series.service"; + import {MedListCreateComponent} from "../../med-list-create-component/med-list-create.component"; import {Events, NavController} from "ionic-angular/index"; import {LoadingStatusService} from "../../loading-status-service/loading-status.service"; @@ -13,7 +14,7 @@ import {LoadingStatus} from "../../loading-status/loading-status"; templateUrl: "build/pages/med-list/med-list.html", directives: [ DoseAmigosToolbar, - MedListComponenet, + DoseSeriesSliderComponent, MedListCreateComponent ] } @@ -38,6 +39,14 @@ export class MedListPage implements OnInit { } ); + events.subscribe( + "doseSeries:deleted", + () => { + this.loadMedicationList(); + } + + ) + } public loadMedicationList = (): any => {