UNPKG

jenesius-vue-form

Version:

Heavy form system for Vue.js

24 lines (23 loc) 1.07 kB
import Form from "./Form"; /** * @description Класс для работы с зависимыми элементами формы. Основная задача - поддержание целостности. * При добавлении элемента устанавливается значение родителя, а также добавление в массив. * При удалении значение родителя сбрасывается. * */ export default class DependencyQueue<T extends (DependencyItem & Record<string, any>)> { private array; private readonly form; constructor(form: Form); add(object: T): void; remove(object: T): void; find(expression: (elem: T, index: number) => boolean): T | undefined; forEach(callback: (elem: T) => void): void; get length(): number; includes(elem: T): boolean; reduce<U>(callback: (acc: U, elem: T) => U, defaultAcc: U): U; } export interface DependencyItem { parent?: Form | undefined; name?: string; dispatchEvent?: any; }