armisa-models
Version:
models of armisa!
45 lines (36 loc) • 1.3 kB
text/typescript
import { DateBoxesFactory } from "../DateBox/DateBoxesFactory";
import { DatePickerFactory } from './DatePickerFactory';
export class DatePickersFactory {
public get any(): any {
return this;
}
#currentSelected: 'from' | 'to' = 'from';
public get currentSelected() {
return this.#currentSelected;
}
public changeCurrentSelected = () => {
if (this.#currentSelected === 'from') {
this.#currentSelected = 'to';
} else {
this.#currentSelected = 'from';
}
this.forceUpdate();
}
public get getCurrentDatePickerFactory(): DatePickerFactory {
if (this.#currentSelected === 'from') {
return this.fromFactory;
} else {
return this.toFactory;
}
}
public fromFactory: DatePickerFactory;
public toFactory: DatePickerFactory;
constructor(
public selfDateBoxsFactory: DateBoxesFactory,
public forceUpdate: () => void,
public closeModal: () => void,
) {
this.fromFactory = new DatePickerFactory(selfDateBoxsFactory.fromDateBoxFactory, forceUpdate);
this.toFactory = new DatePickerFactory(selfDateBoxsFactory.toDateBoxFactory, forceUpdate);
}
}