Files
ocs-portal-web/lib/price-plan-detail/state/price-plan-detail-state.ts
2025-04-15 13:56:54 +07:00

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;
};
}