BehaviorRegistry
Defined in: core/behavior/behavior-registry.ts:46
Реестр behaviors для формы
Каждый экземпляр GroupNode создает собственный реестр (композиция). Устраняет race conditions и изолирует формы друг от друга.
Наследует AbstractRegistry для унификации:
- Управления global stack
- Template methods begin/end registration
Example
class GroupNode {
private readonly behaviorRegistry = new BehaviorRegistry();
applyBehaviorSchema(schemaFn) {
this.behaviorRegistry.beginRegistration(); // Pushes this to stack
schemaFn(createBehaviorFieldPath(this)); // Uses getCurrent()
return this.behaviorRegistry.endRegistration(this); // Pops from stack
}
}
Extends
AbstractRegistry<RegisteredBehavior>
Constructors
Constructor
new BehaviorRegistry(): BehaviorRegistry;
Returns
BehaviorRegistry
Inherited from
Methods
beginRegistration()
beginRegistration(): void;
Defined in: core/utils/abstract-registry.ts:92
Начать регистрацию
Помещает this в global stack для изоляции форм Вызывает hook onBeginRegistration()
Returns
void
Inherited from
AbstractRegistry.beginRegistration
cancelRegistration()
cancelRegistration(registryName): void;
Defined in: core/utils/abstract-registry.ts:143
Отменить регистрацию без применения
Parameters
registryName
string
Имя реестра для отладки
Returns
void
Inherited from
AbstractRegistry.cancelRegistration
completeRegistration()
protected completeRegistration(registryName): void;
Defined in: core/utils/abstract-registry.ts:130
Завершить регистрацию и извлечь из стека
Parameters
registryName
string
Имя реестра для отладки
Returns
void
Inherited from
AbstractRegistry.completeRegistration
endRegistration()
endRegistration<T>(form): object;
Defined in: core/behavior/behavior-registry.ts:103
Завершить регистрацию и применить behaviors к форме Создает effect подписки для всех зарегистрированных behaviors
Type Parameters
T
T extends FormFields
Parameters
form
GroupNode<T>
GroupNode формы
Returns
object
Количество зарегистрированных behaviors и функция cleanup
cleanup
cleanup: () => void;
Returns
void
count
count: number;
getCurrent()
static getCurrent(): BehaviorRegistry | null;
Defined in: core/behavior/behavior-registry.ts:63
Получить текущий активный реестр из context stack
Returns
BehaviorRegistry | null
Текущий активный реестр или null
Example
// В schema-behaviors.ts
export function copyFrom(...) {
const registry = BehaviorRegistry.getCurrent();
if (registry) {
registry.register({ ... });
}
}
getCurrentFromStack()
protected static getCurrentFromStack<T>(ctor): T | null;
Defined in: core/utils/abstract-registry.ts:79
Получить текущий активный реестр из стека Должен быть переопределен в наследниках как static метод
Type Parameters
T
T extends AbstractRegistry<any>
Parameters
ctor
(...args) => T
Конструктор класса реестра
Returns
T | null
Текущий активный реестр или null
Inherited from
AbstractRegistry.getCurrentFromStack
getRegistrations()
getRegistrations(): RegisteredBehavior[];
Defined in: core/utils/abstract-registry.ts:113
Получить зарегистрированные элементы
Returns
RegisteredBehavior[]
Inherited from
AbstractRegistry.getRegistrations
getStack()
protected static getStack<T>(ctor): RegistryStack<T>;
Defined in: core/utils/abstract-registry.ts:61
Получить стек для конкретного класса реестра Создает новый стек если не существует
Type Parameters
T
T extends AbstractRegistry<any>
Parameters
ctor
(...args) => T
Конструктор класса реестра
Returns
RegistryStack<T>
RegistryStack для данного класса
Inherited from
isActive()
isActive(): boolean;
Defined in: core/utils/abstract-registry.ts:106
Проверить, активна ли регистрация
Returns
boolean
Inherited from
onBeginRegistration()
protected onBeginRegistration(): void;
Defined in: core/utils/abstract-registry.ts:121
Hook: вызывается в начале регистрации Может быть переопределен в наследниках для инициализации
Returns
void
Inherited from
AbstractRegistry.onBeginRegistration
register()
register<T>(handler, options?): void;
Defined in: core/behavior/behavior-registry.ts:80
Зарегистрировать behavior handler Вызывается функциями из schema-behaviors.ts
Type Parameters
T
T extends FormFields
Parameters
handler
BehaviorHandlerFn функция
options?
Опции behavior (debounce)
Returns
void
Example
const handler = createCopyBehavior(target, source, { when: ... });
registry.register(handler, { debounce: 300 });
Properties
isRegistering
protected isRegistering: boolean = false;
Defined in: core/utils/abstract-registry.ts:48
Флаг активной регистрации
Inherited from
AbstractRegistry.isRegistering
registrations
protected registrations: RegisteredBehavior[] = [];
Defined in: core/utils/abstract-registry.ts:51
Массив зарегистрированных элементов