77 lines
1.7 KiB
TypeScript
77 lines
1.7 KiB
TypeScript
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<any> = [];
|
|
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<any>) => {
|
|
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;
|
|
};
|
|
}
|