import { BaseObject } from '../helpers/baseobject'; import { IdentityValue } from '../helpers/identityvalue'; import { IServiceDataLoader } from './servicedataloader.interface'; import { EventEmitter } from '@angular/core'; import { CallerComponent } from '../helpers/caller.component'; import { IServiceBase } from './base.interface'; import { ModelState, NavigationMode } from '../helpers/enums'; import { IFilter } from '../helpers/filtrable'; import { IServiceOptions } from './serviceoptions.interface'; import { Router } from '@angular/router'; import { RequestSetting, ResponseData, ResponseSetting } from '../helpers/response'; import { CacheDataContainer } from '../helpers/cachecontainer'; /** * * * @export * @class ServiceManagerBase * @extends {ServiceBase} * @implements {IServiceManager} * @template TModel: model result */ export interface IServiceManagerBase extends IServiceDataLoader, IServiceOptions, IServiceBase { emitters: { add: EventEmitter; added: EventEmitter; edit: EventEmitter; edited: EventEmitter; delete: EventEmitter; deleted: EventEmitter; stateChange: EventEmitter; cancel: EventEmitter; requeryCompleted: EventEmitter | null>; }; model: Partial | null; cacheData: CacheDataContainer; resourceName: string; hasComponentManager: boolean; activeNavigation: NavigationMode; routingUrl: string; router: Router; /** *Especifica el lugar desde donde es invocado el ServiceManager y se ejecuta en el siguiente orden: manager -> list: al hacer un refresh en el explorador desde el ListManager manager -> form: al hacer un refresh en el explorador desde el FormManager * * @type {('manager' | 'list' | 'form')} */ callerComponent: CallerComponent; skipValidationModelOnce: boolean; responseSetting: ResponseSetting; showSelection: boolean; filter: IFilter; identityValue: number | string; skipValidationModel: boolean; deleteRequestClass: 'Identity' | 'Model'; readonly isAdding: boolean; readonly isEditing: boolean; readonly state: ModelState; readonly instanceId: string; setOptions(options: Partial>): void; getDefaultModel(externalModel?: Partial): Partial; getSubscription(requestSetting: Partial, callback?: (response: Partial>>) => void): void; deleteSubscription(callback?: (response: Partial>) => void): void; addSubscription(callback?: (response: Partial>) => void): void; editSubscription(callback?: (response: Partial>) => void): void; getSettingSubscription(requestSetting?: Partial, callback?: (response: Partial>) => void): void; requerySubscription(identity: IdentityValue, callback?: (response: Partial>) => void): void; setModalFilter(): void; setDataSource: any; isModelAttached(model: Partial): boolean; add(model?: Partial): void; edit(model: Partial, afterSetCurrent?: Function): void; delete(model: Partial): void; erase(model: Partial): void; localPost(model?: Partial> | Partial): void; post(): void; cancel(): void; setCurrent(currentModel: Partial, callback?: Function): void; updateCurrent(currentModel: Partial): void; stateChange(state: ModelState, curState?: ModelState): void; push(current: any): void; trackByFn(model: Partial): void; newModelInstance: Partial; } export interface IServiceManager extends IServiceManagerBase { }