2023-02-25 23:49:59 +01:00
|
|
|
import { AlertOptions } from "@ionic/angular";
|
|
|
|
import { Observable } from "rxjs";
|
|
|
|
import { StoragehubService } from "src/app/storagehub.service";
|
|
|
|
import { WSItem } from "../ws-item";
|
|
|
|
import { Action } from "./action";
|
|
|
|
|
|
|
|
export class DeleteAction extends Action {
|
|
|
|
|
|
|
|
override getAlertOptions(item: WSItem, storagehub: StoragehubService, reload: Function): AlertOptions {
|
|
|
|
var title = item.getTitle();
|
|
|
|
var options: AlertOptions = {
|
|
|
|
header: `Are you sure to delete item ${title} ?`,
|
|
|
|
buttons: [{
|
|
|
|
text: 'No',
|
|
|
|
role: 'cancel'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
text: 'Yes',
|
|
|
|
handler: () => {
|
2023-03-08 17:13:03 +01:00
|
|
|
this.actionHandler(item, storagehub).then((obs) => obs.subscribe(
|
2023-03-13 17:39:14 +01:00
|
|
|
() => reload(item.item.parentId)
|
2023-03-08 17:13:03 +01:00
|
|
|
));
|
2023-02-25 23:49:59 +01:00
|
|
|
}
|
|
|
|
}]
|
|
|
|
};
|
|
|
|
return options;
|
|
|
|
|
|
|
|
}
|
2023-03-08 17:13:03 +01:00
|
|
|
actionHandler(data: WSItem, storagehub: StoragehubService) {
|
2023-02-25 23:49:59 +01:00
|
|
|
return storagehub.deleteItem(data.item.id);
|
|
|
|
}
|
|
|
|
|
|
|
|
getName(): string {
|
|
|
|
return "Delete";
|
|
|
|
}
|
|
|
|
getActionType(): string | undefined {
|
|
|
|
return "destructive";
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|