react-application-core
Version:
A react-based application core for the business applications.
206 lines (205 loc) • 9.95 kB
TypeScript
import { InputHTMLAttributes, RefAttributes, TextareaHTMLAttributes } from 'react';
import { AnyT, EntityIdT, IAcceptWrapper, IAutoCompleteWrapper, IAutoFocusWrapper, ICaptureWrapper, ICaretBlinkingFrequencyWrapper, ICaretPositionWrapper, ICaretVisibilityWrapper, IChangeableWrapper, IDefaultValueWrapper, IDelayTimeoutWrapper, IDisabledWrapper, IDisplayMessageWrapper, IDisplayNameWrapper, IDisplayValueRenderedOnlyWrapper, IDisplayValueWrapper, IEmptyValueWrapper, IEntity, IErrorMessageRenderedWrapper, IErrorWrapper, IFieldRenderedWrapper, IFieldsWrapper, IFocusedWrapper, IFormatWrapper, IFullWrapper, IKeepChangesWrapper, IKeyboardOpenWrapper, ILabelWrapper, IMaskWrapper, IMaxLengthWrapper, IMessageWrapper, IMinLengthWrapper, INameWrapper, IOnBlurWrapper, IOnChangeManuallyWrapper, IOnChangeWrapper, IOnClearWrapper, IOnClickWrapper, IOnDelayWrapper, IOnDictionaryLoadWrapper, IOnFocusWrapper, IOnFormChangeWrapper, IOnKeyEnterWrapper, IOriginalValueWrapper, IPatternWrapper, IPlaceholderWrapper, IPlainValueWrapper, IPosUseKeyboardOnMobilePlatformOnlyWrapper, IPrefixLabelWrapper, IPreventFocusWrapper, IPreventManualChangesWrapper, IProgressWrapper, IRawDataWrapper, IReadOnlyWrapper, IRenderedWrapper, IRequiredWrapper, ITabIndexWrapper, ITitleWrapper, ITypeWrapper, IUseCursorWrapper, IUseKeyboardWrapper, IValidWrapper, IValueWrapper } from '../definitions.interface';
import { DatesRangeValueT, DateTimeLikeTypeT } from './date-definition.interface';
import { IComponentCtor } from './component-definition.interface';
import { IPresetsActionEntity } from './entity-definition.interface';
import { IGenericComponent } from './generic-component-definition.interface';
import { IKeyboardConfigurationEntity } from './keyboard-definition.interface';
import { IBaseEvent, IFocusEvent } from './event-definition.interface';
import { IReduxMultiEntity } from './multi-entity-definition.interface';
import { IEnhancedGenericComponentProps } from './enhanced-generic-component-definition.interface';
/**
* @stable [16.05.2020]
*/
export declare class FieldConstants {
static readonly DISPLAY_EMPTY_VALUE = "";
static readonly ENTITY_ID_FIELD_NAME = "entityId";
static readonly ID_FIELD_NAME = "id";
static readonly VALUE_TO_CLEAR_DIRTY_CHANGES: any;
static readonly VALUE_TO_RESET: any;
}
/**
* @presets-entity
* @stable [09.05.2020]
*/
export interface IPresetsFieldEntity extends IKeyboardConfigurationEntity, /* [21.06.2020] */ IAcceptWrapper, /* [18.10.2020] */ IAutoCompleteWrapper, /* [11.08.2020] */ IAutoFocusWrapper, /* [17.06.2020] */ ICaptureWrapper<string>, /* [19.10.2020] */ ICaretBlinkingFrequencyWrapper, /* [14.10.2020] */ IChangeableWrapper, /* [20.06.2020] */ IDefaultValueWrapper, /* [20.06.2020] */ IDelayTimeoutWrapper, IDisabledWrapper, /* [14.10.2020] */ IDisplayMessageWrapper, /* [14.10.2020] */ IDisplayNameWrapper, IDisplayValueRenderedOnlyWrapper, IDisplayValueWrapper<string | ((value: AnyT) => string)>, /* [22.06.2020] */ IEmptyValueWrapper, IErrorMessageRenderedWrapper, /* [18.06.2020] */ IErrorWrapper<string>, /* [22.01.2021] */ IFieldRenderedWrapper, IFormatWrapper, IFullWrapper, IKeepChangesWrapper, ILabelWrapper, IMaskWrapper, /* [22.06.2020] */ IMaxLengthWrapper, /* [20.06.2020] */ IMessageWrapper, /* [20.06.2020] */ IMinLengthWrapper, /* [20.06.2020] */ INameWrapper, /* [21.06.2020] */ IOnBlurWrapper<IFocusEvent>, /* [21.06.2020] */ IOnChangeWrapper, /* [21.06.2020] */ IOnClearWrapper, IOnClickWrapper, /* [17.06.2020] */ IOnDelayWrapper, IOnDictionaryLoadWrapper<{}, string>, IOnFocusWrapper<IFocusEvent>, /* [21.06.2020] */ IOnFormChangeWrapper, IOnKeyEnterWrapper, /* [14.10.2020] */ IPatternWrapper, IPlaceholderWrapper, IPlainValueWrapper, /* [21.06.2020] */ IPosUseKeyboardOnMobilePlatformOnlyWrapper, /* [07.10.2020] */ IPrefixLabelWrapper, /* [18.06.2020] */ IPreventFocusWrapper, IPreventManualChangesWrapper, /* [14.10.2020] */ IProgressWrapper, /* [22.01.2021] */ IReadOnlyWrapper, /* [18.06.2020] */ IRenderedWrapper, IRequiredWrapper, ITabIndexWrapper, /* [14.10.2020] */ ITypeWrapper, IUseCursorWrapper, /* [21.06.2020] */ IUseKeyboardWrapper, /* [20.06.2020] */ IValidWrapper {
onKeyArrowDown?(event: IBaseEvent): void;
onKeyArrowUp?(event: IBaseEvent): void;
onKeyBackspace?(event: IBaseEvent): void;
onKeyDown?(event: IBaseEvent): void;
onKeyEscape?(event: IBaseEvent): void;
onKeyTab?(event: IBaseEvent): void;
onKeyUp?(event: IBaseEvent): void;
}
/**
* @redux-entity
* @stable [08.05.2020]
*/
export interface IReduxFieldEntity extends IOriginalValueWrapper, IValueWrapper {
}
/**
* @generic-entity
* @stable [14.10.2020]
*/
export interface IGenericFieldEntity extends IPresetsFieldEntity, IReduxFieldEntity {
}
/**
* @entity
* @stable [28.09.2019]
*/
export interface IFieldChangeEntity extends INameWrapper, IValueWrapper, IRawDataWrapper {
}
/**
* @flux-entity
* @stable [08.05.2020]
*/
export interface IFluxFieldsChangesEntity extends IFieldsWrapper {
}
/**
* @props
* @stable [09.05.2020]
*/
export interface IFieldProps extends IEnhancedGenericComponentProps, IGenericFieldEntity {
}
/**
* @state
* @stable [22.06.2020]
*/
export interface IFieldState extends ICaretPositionWrapper, ICaretVisibilityWrapper, IErrorWrapper<string>, IFocusedWrapper, IKeyboardOpenWrapper {
}
/**
* @component
* @stable [14.10.2020]
*/
export interface IUniversalField extends IOnChangeManuallyWrapper, IValueWrapper {
}
/**
* @component
* @stable [09.05.2020]
*/
export interface IField<TProps extends IFieldProps = IFieldProps, TState extends IFieldState = IFieldState> extends IGenericComponent<TProps, TState>, IUniversalField, IOnChangeWrapper, IOnKeyEnterWrapper {
}
/**
* @stable [29.08.2020]
*/
export declare type MultiFieldValueT<TEntity extends IEntity = IEntity> = TEntity[] | IReduxMultiEntity;
export declare type MultiFieldSingleValueT = IReduxMultiEntity | EntityIdT;
export declare type NotMultiFieldValueT<TEntity extends IEntity = IEntity> = TEntity[] | EntityIdT;
export declare type MultiFieldValueOrEntityIdT = MultiFieldValueT | EntityIdT;
export declare type MultiFieldValueOrEntitiesIdsT<TEntity extends IEntity = IEntity> = MultiFieldValueT<TEntity> | EntityIdT[];
/**
* @stable [30.10.2019]
*/
export declare enum FieldActionTypesEnum {
ATTACH_FILE = "paperclip",
CALENDAR = "calendar-alt-regular",
CAMERA = "camera",
CLOSE = "times",
DOWNLOAD = "file-download",
DROP_DOWN = "chevron-down",
VIDEO = "video"
}
/**
* @entity
* @stable [06.05.2020]
*/
export interface IFieldActionEntity extends IPresetsActionEntity, ITitleWrapper {
}
/**
* @stable [09.05.2018]
*/
export interface IMaskedInputCtor extends IComponentCtor {
inputElement: HTMLInputElement;
}
/**
* @props
* @stable [18.05.2020]
*/
export interface IFieldInputProps extends InputHTMLAttributes<HTMLInputElement>, RefAttributes<HTMLInputElement> {
}
/**
* @props
* @stable [14.10.2020]
*/
export interface IFieldTextAreaProps extends TextareaHTMLAttributes<HTMLTextAreaElement>, RefAttributes<HTMLTextAreaElement> {
}
/**
* @stable [18.05.2020]
*/
export declare type FieldComposedInputAttributesT = IFieldInputProps | IFieldTextAreaProps;
/**
* @enum
* @stable [17.06.2020]
*/
export declare enum FieldActionPositionsEnum {
LEFT = 0,
RIGHT = 1
}
export interface IFieldsPresets {
[fieldName: string]: string | IPresetsFieldEntity | ((field: any) => IPresetsFieldEntity | string);
}
/**
* @default-entity
* @stable [19.08.2020]
*/
export declare const DEFAULT_NO_AUTO_COMPLETE_FIELD_ENTITY: Readonly<IPresetsFieldEntity>;
/**
* @default-entity
* @stable [19.08.2020]
*/
export declare const DEFAULT_EMAIL_FIELD_ENTITY: Readonly<IPresetsFieldEntity>;
/**
* @default-entity
* @stable [23.01.2021]
*/
export declare const DEFAULT_VALIDATED_EMAIL_FIELD_ENTITY: Readonly<IPresetsFieldEntity>;
/**
* @default-entity
* @stable [19.08.2020]
*/
export declare const DEFAULT_PASSWORD_FIELD_ENTITY: Readonly<IPresetsFieldEntity>;
/**
* @stable [06.03.2020]
*/
export declare type DateFieldRangeValueT = DatesRangeValueT | DateTimeLikeTypeT;
/**
* @default-entity
* @stable [01.06.2020]
*/
export declare const DEFAULT_NOT_CHANGEABLE_FIELD_ENTITY: Readonly<IPresetsFieldEntity>;
/**
* @default-entity
* @stable [27.09.2020]
*/
export declare const DEFAULT_CHANGEABLE_FIELD_ENTITY: Readonly<IPresetsFieldEntity>;
/**
* @classes
* @stable [26.03.2020]
*/
export declare enum FieldClassesEnum {
ATTACHMENT = "rac-field__attachment",
BUSY = "rac-field-busy",
CHANGEABLE = "rac-field-changeable",
DISABLED = "rac-field-disabled",
ERROR_MESSAGE = "rac-field__error-message",
FIELD = "rac-field",
FOCUSED = "rac-field-focused",
FULL = "rac-full-field",
INPUT = "rac-field__input",
INPUT_CARET = "rac-field__input-caret",
INPUT_LABEL = "rac-field__input-label",
INPUT_MIRROR = "rac-field__input-mirror",
INPUT_WRAPPER = "rac-field__input-wrapper",
INVALID = "rac-field-invalid",
LABEL = "rac-field__label",
LABELED = "rac-field-labeled",
MESSAGE = "rac-field__message",
NOT_CHANGEABLE = "rac-field-not-changeable",
NOT_FOCUSED = "rac-field-not-focused",
PREFIX_LABEL = "rac-field__prefix-label",
PREVENT_FOCUS = "rac-field-prevent-focus",
REQUIRED = "rac-field-required",
SELF = "rac-field__self",
VALUE_NOT_PRESENT = "rac-field-value-not-present",
VALUE_PRESENT = "rac-field-value-present"
}