armisa-models
Version:
models of armisa!
52 lines (46 loc) • 1.49 kB
text/typescript
import { AxiosInstance } from 'axios';
import { MainStateManager } from '../MainStateManager';
import { AttrEvent } from '../AttrEvent';
import { IResult } from './GetAll';
export abstract class ModelLanguage {
private atrrEvent: AttrEvent<IResult> = new AttrEvent(this.empty());
// private sync: ApiSync = new ApiSync(
// this.mainStateManager,
// this.axiosInstance,
// this.mainStateManager.Usering
// );
constructor(
public mainStateManager: MainStateManager,
private empty: () => IResult,
private axiosInstance: AxiosInstance
) { }
on = this.atrrEvent.on;
removeOn = this.atrrEvent.removeOn;
trigger = this.atrrEvent.trigger;
get = this.atrrEvent.get;
getAll = this.atrrEvent.getAll;
set = this.atrrEvent.set;
setKey = this.atrrEvent.setKey;
// request = (
// path: string,
// deserialize: (
// mainStateManager: MainStateManager,
// json: { isAmisa: boolean, languages: ILanguage[] }
// ) => IResult,
// onError: (
// err: AxiosError
// ) => void
// ) => {
// this.trigger('form.waitLoading');
// this.sync
// .fetch(path, {})
// .then((response: AxiosResponse) => {
// const result = deserialize(this.mainStateManager, response.data);
// this.set(result);
// this.trigger('form.wasLoaded');
// })
// .catch((error: AxiosError) => {
// onError(error);
// });
// };
}