import { IExpressionManager } from "./IExpressionManager"; import { IComponentMapManager } from "./IComponentMapManager"; import { IHttpManager } from "./IHttpManager"; import { INavigationService } from "./INavigationService"; import { ICompiledExpressionInfo } from "./ICompiledExpressionInfo"; export declare abstract class ComponentShell { protected expressionManager: IExpressionManager; protected componentMapManager: IComponentMapManager; protected httpManager: IHttpManager; protected navigationService: INavigationService; private precompiledExpressionInfos; private compiledExpressionInfos; protected changedProperties: { formName: string; controlName: string; propertyName: string; }[]; private propertyChangedSubscription; private expressionsMustInitializedSubscription; protected expressionInitialized: boolean; private onInitOverrides; private onChangesOverrides; private onDoCheckOverrides; private onAfterContentInitOverrides; private onAfterContentCheckedOverrides; private onAfterViewInitOverrides; private onAfterViewCheckedOverrides; private onDestroyOverrides; detectChangesCallback: Function; constructor(componentMapManager: IComponentMapManager, expressionManager: IExpressionManager, httpManager: IHttpManager, navigationService: INavigationService); protected IsNullorUndefined(object: any): boolean; protected IsNotNullorUndefined(object: any): boolean; private isExpressionValid(expressionString); addExpression(expressionString: string[], propertyName: string, callback: Function, executeimmediately?: boolean): void; private compileExpressions(); private executeExpression(expression); /** * Ust componentlerde değişen değerleri bildirmek için kullanılır. * @param formKey içinde bulunan formun key adı * @param controlKey componentin adı * @param changedPropertyName değişen property adı. */ protected addToChangedList(formKey: string, controlKey: string, changedPropertyName: string): void; protected getExpression(propertyName: string): ICompiledExpressionInfo | undefined; /** * Form üzerinde değişen controllere bağlı olarak başka componentlerin expressionlarının * tekrar hesaplanması gerektiğinde çağrılır. */ private executeExpressionsForChangedProperties(changedProperty); publishChangedProperties(): void; onInit(): void; onChanges(): void; onDoCheck(): void; onAfterContentInit(): void; onAfterContentChecked(): void; onAfterViewInit(): void; onAfterViewChecked(): void; onDestroy(): void; protected addOnInitOverrides(func: Function): void; protected addOnChangesOverrides(func: Function): void; protected addOnDoCheckOverrides(func: Function): void; protected addOnAfterContentInitOverrides(func: Function): void; protected addOnAfterContentCheckedOverrides(func: Function): void; protected addOnAfterViewInitOverrides(func: Function): void; protected addOnAfterViewCheckedOverrides(func: Function): void; protected addOnOnDestroyOverrides(func: Function): void; toJSONObject(): any; abstract getFormName(): string; abstract getControlName(): string; abstract getShellSchema(): any; abstract getShellTypeName(): string; /** * Form post edilirken gönderilecek mi? */ readonly abstract isFormValue: boolean; /** * Form post edilirken gönderilecek veri */ abstract getFormValue(): any; readonly abstract isValid: boolean; abstract getValidationErrors(): string[] | undefined; /** * Control bir tab control gibi başka controllere * ev sahipliği yapıyor mu? Varsayılan false */ isContainer(): boolean; /** * Eğer control bir container ise içinde bulunan * controlleri döndürür. Varsayılan undefined. * * @returns {Array} * @memberof ComponentShell */ getControls(): Array; onRegisterComponent(): void; onUnRegisterComponent(): void; abstract onAddExpression(): void; abstract objectMap(): any; reset(): void; }