jenesius-vue-form
Version:
Heavy form system for Vue.js
25 lines (24 loc) • 1.71 kB
TypeScript
import FormEvent from "./FormEvent";
import { FormAvailability } from "../types";
export default class AvailabilityEvent extends FormEvent {
sourceAvailabilities: FormAvailability;
oldAvailabilities: FormAvailability;
newAvailability: boolean;
oldAvailability: boolean;
constructor(sourceAvailabilities: FormAvailability, oldAvailabilities: FormAvailability, newAvailability?: boolean, oldAvailability?: boolean);
/**
* @description Статическая функция, формирующая новые availability объект(event), но фильтруя сравнения по имени.
* Используется для передачи только части объекта изменений в дочерний элемент.
* */
static restoreByName(event: AvailabilityEvent, name: string): AvailabilityEvent;
/**
* @description По переданному availabilities для нужного поля получает значение доступности. Третий параметр -
* текущая доступность для целевого объекта.
* */
static GetAvailability(state: FormAvailability, name: string, defaultAvailability?: boolean): boolean;
/**
* @description Более краткая форма для доступности. Используется для одного поля. Получает изменение доступности.
* [Доступно ли поле сейчас, было ли оно доступно ранее]
* */
static GetFieldAvailability(event: AvailabilityEvent, fieldName: string): [boolean, boolean];
}