import { OptionProps } from "@/lib/helper/type" import { makeAutoObservable } from "mobx"; import RatePlanSectionState from "./rate-plan-section-state"; export default class PricePlanDetailState { private pricePlanId: string = ""; private flow: number = 0; private name: string = ""; private version: string = ""; private usageEventModalIsOpen: boolean = false; private usageEventSelected: Array = []; private eventSelectted: OptionProps | null = null; private ratePlans: RatePlanSectionState[] = [] constructor() { makeAutoObservable(this) } getPricePlanId = () => this.pricePlanId; getFlow = () => this.flow; getName = () => this.name; getVersion = () => this.version; getUsageEventModalIsOpen = () => this.usageEventModalIsOpen; getUsageEventSelected = () => this.usageEventSelected; getEventSelected = () => this.eventSelectted; getRatePlans = () => this.ratePlans setPricePlanId = (id: string) => { this.pricePlanId = id; }; setFlow = (flow: number) => { this.flow = flow; }; setName = (name: string) => { this.name = name; }; setVersion = (version: string) => { this.version = version; }; setUsageEventModalIsOpen = (isOpen: boolean) => { this.usageEventModalIsOpen = isOpen; }; setUsageEventSelected = (selected: Array) => { this.usageEventSelected = selected; }; setEventSelected = (option: OptionProps | null) => { this.eventSelectted = option; }; setRatePlans = (plans: RatePlanSectionState[]) => { this.ratePlans = plans } reset = () => { this.pricePlanId = ""; this.flow = 0; this.name = ""; this.version = ""; this.usageEventModalIsOpen = false; this.usageEventSelected = []; this.eventSelectted = null; }; }