/** * @namespace toolkit.baseClasses */ /// /// import { IValidatableController, IRulesCustomizer, IValidator } from 'angular-typescript-validation'; import { EditorState } from '../enums/editorState'; import { INotificationService } from '../services/notificationService'; export declare abstract class BaseEditorController implements IValidatableController { $timeout: ng.ITimeoutService; notificationService: INotificationService; private validationService; private isReqRunning; private isValidationRequestRunning; /** * Rules for validating our item with. * @member {IRulesCustomizer} toolkit.baseClasses.BaseEditorController#rulesCustomizer */ rulesCustomizer: IRulesCustomizer; /** * Form element. Used in validation scenario. * @member {any} toolkit.baseClasses.BaseEditorController#form */ form: any; /** * Item which is validated. * @member {T} toolkit.baseClasses.BaseEditorController#item */ item: T; /** * Obsolete. Do not use this property. Returns item. * @member {T} toolkit.baseClasses.BaseEditorController#model */ readonly model: T; /** * The callback function to execute when the editor is closed. * @member {Function} toolkit.baseClasses.BaseEditorController#onClose */ onClose: Function; /** * Checks if request for validating or edit item is currently running. * @member {boolean} toolkit.baseClasses.BaseEditorController#isRequestRunning */ isRequestRunning: boolean; /** * The state of the editor add/edit. * @member {EditorState} toolkit.baseClasses.BaseEditorController#state */ state: EditorState; /** * Whether to clear item on close or not. Close occurs automatically after success submit. * @member {boolean} toolkit.baseClasses.BaseEditorController#clearItemOnClose */ clearItemOnClose: boolean; showMessageOnSuccess: boolean; successMessage: string; /** * @class toolkit.baseClasses.BaseEditorController * @implements IValidatableController * @classdesc Provides methods for validating request before server call, the editor states. * @param {ng.IScope} $scope Scope of the component. * @param {ng.ITimeoutService} $timeout Angular timeout. * @param {INotificationService} notificationService Ez notification service. * @param {IValidator} validator Validator for item which should be edited. */ constructor($scope: any, $timeout: ng.ITimeoutService, notificationService: INotificationService, validator: IValidator); /** * Provide your promise method which calls server side to save item. * @abstract * @method toolkit.baseClasses.BaseEditorController#save * @return {Promise} */ abstract save(): Promise; /** * Closes the editor. Clears item on close by default and calls onClose callback. * @method toolkit.baseClasses.BaseEditorController#close */ close(): void; /** * Occurs on response success. Could be overriden. * @method toolkit.baseClasses.BaseEditorController#onResponseSuccess * @param {any} response The response from the server. */ protected onResponseSuccess(response: any): void; protected handleWarnResponse(response: any): void; /** * Notifies user about success save. Could be overriden to provide different notification. * @method toolkit.baseClasses.BaseEditorController#successNotification */ protected successNotification(): void; /** * Method is called after validation is occured, if false the do not call the save method. * @method toolkit.baseClasses.BaseEditorController#afterValidation * @param {boolean} validationResult The validation result. */ afterValidation(validationResult: boolean): boolean; /** * Validates an item, in case of success, makes request to server in order to save item. * @method toolkit.baseClasses.BaseEditorController#submit */ submit(): void; /** * Whether editor is in add state. * @method toolkit.baseClasses.BaseEditorController#isInAddState */ isInAddState(): boolean; /** * Whether editor is in edit state. * @method toolkit.baseClasses.BaseEditorController#isInEditState */ isInEditState(): boolean; /** * Nulls an item. * @method toolkit.baseClasses.BaseEditorController#clearItem */ clearItem(): void; }