import { ITypeOfFormForRoute } from "../../AmisaAuth/Menus/1-MenuFactory";
import { IMainStateFactory } from "../../Types";

export class Argument {
    public id?: number;
    public code?: string;
    public object?: any;
    public finedInRows?: boolean;
    public customPayload?: any;
    public typeOfForm?: ITypeOfFormForRoute;
    public ExtraStackMenuComponent?: React.ComponentType<{ mainState: IMainStateFactory }>
    constructor() {

    }

    public static Id(id: number, finedInRows?: boolean) {
        const result = new Argument();
        result.id = id;
        result.finedInRows = finedInRows;
        return result;
    }
    public static Code(code: string, finedInRows?: boolean) {
        const result = new Argument();
        result.code = code;
        result.finedInRows = finedInRows;
        return result;
    }
    public static Object(object: any, finedInRows?: boolean) {
        const result = new Argument();
        result.object = object;
        result.finedInRows = finedInRows;
        return result;
    }
}