@try-at-software/input-elements
Version:
A package providing different input elements that are extensible and easily configurable for your custom needs.
48 lines (47 loc) • 2.03 kB
TypeScript
/// <reference types="react" />
import { ExtendedInputElement } from '../ExtendedInputElement';
import { UpdateCallback } from '../IInputElement';
import { ValidationRule } from '../IValueInputElement';
import { IDynamicListInputElement, IDynamicValueChange, InternalDynamicInput } from './IDynamicListInputElement';
import { IDynamicListInputElementConfiguration } from './IDynamicListInputElementConfiguration';
import { DynamicListInputElementWrapper } from './InternalPresentationComponents/DynamicListInputElementWrapper';
import { IDynamicListMenuOption } from './Menu';
export interface IInputInformation<TValue> {
uniqueId: number;
input: InternalDynamicInput<TValue>;
}
export declare class DynamicListInputElement<TValue> extends ExtendedInputElement<IDynamicValueChange<TValue>[], DynamicListInputElementWrapper<TValue>> implements IDynamicListInputElement<TValue> {
private static counter;
private readonly _configuration;
private _inputs;
constructor(config: IDynamicListInputElementConfiguration, inputOptions: IDynamicListMenuOption<TValue>[], update: UpdateCallback);
/**
* @inheritdoc
* This property will be unused.
*/
validationRules: ValidationRule<TValue[]>[];
/** @inheritdoc */
validate(): void;
/** @inheritdoc */
get hasChanges(): boolean;
/** @inheritdoc */
inputOptions: IDynamicListMenuOption<TValue>[];
/** @inheritdoc */
get inputs(): InternalDynamicInput<TValue>[];
/** @inheritdoc */
get isValid(): boolean;
/** @inheritdoc */
get value(): TValue[];
/** @inheritdoc */
protected renderComponent(): JSX.Element;
private renderMenu;
private renderFooterMenu;
private onAddNewValue;
private onDragEnd;
private reorder;
private convert;
protected setInternalValue(valueChange: IDynamicValueChange<TValue>[], isInitial: boolean): void;
/** @inheritdoc */
protected resetInternalValue(): void;
private filterInputs;
}