react-application-core
Version:
A react-based application core for the business applications.
63 lines (62 loc) • 1.99 kB
TypeScript
import { EntityIdT, IEntity, IEntityWrapper, ISelectedValueIgnoredWrapper } from '../definitions.interface';
import { IBaseSelectProps, IBaseSelectState } from './select-definition.interface';
import { IGenericComponentProps } from './generic-component-definition.interface';
import { IReduxMultiEntity } from './multi-entity-definition.interface';
import { MultiFieldValueT } from './field-definition.interface';
/**
* @stable [01.06.2018]
*/
export interface IMultiFieldState extends IBaseSelectState {
}
/**
* @presets-entity
* @stable [16.06.2020]
*/
export interface IPresetsMultiFieldEntity extends ISelectedValueIgnoredWrapper {
}
/**
* @generic-entity
* @stable [16.06.2020]
*/
export interface IGenericMultiFieldEntity extends IPresetsMultiFieldEntity, IBaseSelectProps {
}
/**
* @props
* @stable [16.06.2020]
*/
export interface IMultiFieldProps extends IGenericComponentProps, IGenericMultiFieldEntity {
}
/**
* @config-entity
* @stable [02.09.2020]
*/
export interface IMultiFieldValueFilterConfigEntity<TEntity = IEntity> {
addFilter?: (entity: TEntity) => boolean;
currentEntity: MultiFieldValueT<TEntity>;
editFilter?: (entity: TEntity) => boolean;
removeFilter?: (entity: TEntity) => boolean;
sourceEntities: MultiFieldValueT<TEntity>;
}
/**
* @config-entity
* @stable [02.09.2020]
*/
export interface IMultiFieldValueConcatConfigEntity<TEntity = IEntity> {
concatEntity?: IReduxMultiEntity<TEntity>;
currentEntity: MultiFieldValueT<TEntity>;
}
/**
* @config-entity
* @stable [04.09.2020]
*/
export interface IMultiFieldValueMergeConfigEntity<TEntity = IEntity, TValue = unknown> extends IEntityWrapper<MultiFieldValueT<TEntity>> {
groupKeyAccessor?: (item?: TEntity) => EntityIdT;
groupValueAccessor?: (item?: TEntity) => TValue;
}
/**
* @classes
* @stable [16.06.2020]
*/
export declare enum MultiFieldClassesEnum {
MULTI_FIELD = "rac-multi-field"
}