armisa-models
Version:
models of armisa!
39 lines (31 loc) • 1.32 kB
text/typescript
import { BasePageData } from "../Page/BasePageData";
import { PageEventType } from "../Page/Events";
import { Callback } from "../Types";
import { MainStacksFactory } from "./Main";
export interface IResponseOfReport<IROW> {
rows: IROW[];
searchParameter: any;
}
export class StackFactory {
public stackId: number = 0;
public isDeleted: number = 0;
trigger = (eventName: PageEventType, ...args: any) => {
this.pageData.Eventing.triggerControl(eventName, `stack-${this.pageData.id}-${this.stackId}`, args);
}
on = (eventName: PageEventType, callBack: Callback) => {
this.pageData.Eventing.onControl(eventName, `stack-${this.pageData.id}-${this.stackId}`, callBack);
}
removeOn = (eventName: PageEventType) => {
this.pageData.Eventing.removeOnControl(eventName, `stack-${this.pageData.id}-${this.stackId}`);
}
stackWillUnMount = () => {
this.pageData.Eventing.trigger('field.set.will.onmount')
// this.pageData.Eventing.triggerControl('field.set.will.onmount', `stack-${this.pageData.id}-${this.stackId}`);
}
constructor(
public pageData: BasePageData,
public mainStackFactory: MainStacksFactory
) {
this.stackId = mainStackFactory.stacks.length;
}
}