UNPKG

@alfresco/adf-core

Version:
44 lines (43 loc) 1.74 kB
/*! * @license * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { InjectionToken, Injector } from '@angular/core'; import { Subject } from 'rxjs'; import { FormRulesEvent } from '../events/form-rules.event'; import { FormModel, FormService } from '../public-api'; export declare const FORM_RULES_MANAGER: InjectionToken<FormRulesManager<any>>; /** * A factory for forms rule manager * * @param injector Angular injector * @returns FormsRuleManager instance */ export declare function formRulesManagerFactory<T>(injector: Injector): FormRulesManager<T>; export declare abstract class FormRulesManager<T> { protected formService: FormService; constructor(formService: FormService); protected formModel: FormModel; protected onDestroy$: Subject<boolean>; private initialized; initialize(formModel: FormModel): void; protected abstract getRules(): T; protected abstract handleRuleEvent(event: FormRulesEvent, rules: T): void; destroy(): void; } export declare class ByPassFormRuleManager<T> extends FormRulesManager<T> { protected getRules(): T; protected handleRuleEvent(): void; }