import { Injectable } from '@angular/core'; import { invoke } from '@tauri-apps/api'; import { from, map } from 'rxjs'; import { Plan } from '../models/plan'; @Injectable({ providedIn: 'root' }) export class PlanService { currentPlan?: Plan; planStore: string[] = []; constructor() { this.getPreviousPlans(); } loadPlan(path: string) { return from(invoke('load_plan', { path })).pipe( map(plan => { this.currentPlan = plan; return plan }) ); } loadPlanNoSave(path: string) { return from(invoke('load_plan', { path })).pipe( ); } loadBasePlan() { return from(invoke('base_plan')); } savePlan(path: string, plan: Plan) { plan.plan.forEach(elem => { if (!elem.notes) { elem.notes = "" } }) return from(invoke('save_plan', { path, plan })).subscribe(status => { }); } getPreviousPlans() { from(invoke('load_stored_plans')).subscribe(plans => this.planStore = plans); } }