UNPKG

react-application-core

Version:

A react-based application core for the business applications.

134 lines (133 loc) 5.73 kB
import * as React from 'react'; import { IBaseEvent } from './event-definition.interface'; import { IPresetsXYEntity } from './xy-definition.interface'; import { IAutoUnsubscribingWrapper, ICallbackWrapper, ICaptureWrapper, IConditionWrapper, IDataWrapper, IDetectFileTypeWrapper, IElementWrapper, IEventNameWrapper, IEventWrapper, IFileNameWrapper, IParentClassNameWrapper, IParentElementWrapper, IPositionConfigurationWrapper, IUrlWrapper } from '../definitions.interface'; /** * @stable [08.11.2019] */ export interface IScrollConfigEntity { alignWithLeft?: boolean; alignWithTop?: boolean; offsetTop?: number; } /** * @stable [28.10.2019] */ export declare type InputElementT = HTMLInputElement | HTMLTextAreaElement; /** * @stable [23.10.2019] */ export declare enum ElementsMarkersEnum { SELECTED_ELEMENT_817ACCF6 = "rac-element-817accf6", STICKY_ELEMENT_275B4646 = "rac-element-275b4646" } /** * @stable [29.09.2019] */ export interface IJQueryElement<TElement extends Element = Element> extends JQuery<TElement> { } /** * @stable [23.11.2019] */ export interface ICaptureEventConfigEntity extends IAutoUnsubscribingWrapper, ICallbackWrapper<(event?: IBaseEvent) => void>, ICaptureWrapper, IConditionWrapper<() => boolean>, IElementWrapper<Element | EventTarget>, IEventNameWrapper, IParentElementWrapper<Element | EventTarget> { } /** * @configuration-entity * @stable [24.01.2020] */ export interface IDomPositionConfigurationEntity extends IPositionConfigurationWrapper<IDomPositionConfigEntity> { } /** * @config-entity * @see https://api.jqueryui.com/position/ * @stable [24.01.2020] */ export interface IDomPositionConfigEntity<TElement extends HTMLElement = HTMLElement> extends IEventWrapper<Event | (() => Event)>, // Extra synthetic props IElementWrapper<TElement> { at?: string; collision?: string; my?: string; of?: TElement | Event | string; } /** * @default-entity * @stable [24.01.2020] */ export declare const DEFAULT_DOM_POSITION_CONFIG_ENTITY: Readonly<IDomPositionConfigEntity<HTMLElement>>; /** * @default-entity * @stable [24.01.2020] */ export declare const DEFAULT_DOM_RIGHT_POSITION_CONFIG_ENTITY: Readonly<IDomPositionConfigEntity<HTMLElement>>; /** * @config-entity * @stable [23.11.2019] */ export interface IDomFireEventConfigEntity<TEvent extends Event = Event> extends IElementWrapper<Element | EventTarget>, IEventNameWrapper, IEventWrapper<TEvent> { } /** * @config-entity * @stable [25.01.2020] */ export interface IDomParentConfigEntity extends IElementWrapper, IParentClassNameWrapper { } /** * @config-entity * @stable [13.12.2020] */ export interface IDownloadFileConfigEntity extends IDataWrapper<Blob>, IDetectFileTypeWrapper, IFileNameWrapper, IUrlWrapper { } /** * @stable [29.09.2019] */ export interface IDomAccessor { documentBody?: Element; rootElement?: Element; addChild(child: Element, parentEl?: Element): Element; addClassNames(element: Element, ...clsNames: string[]): void; addClassNamesToRootElement(...clsName: string[]): void; addRootElement(): Element; asImageUrl(url: string): string; asJqEl<TJqElement extends IJQueryElement = IJQueryElement>(source: Element): TJqElement; asSelector(selector: string): string; cancelEvent(event: IBaseEvent): void; captureEvent(cfg: ICaptureEventConfigEntity): () => void; captureEventWithinElement(cfg: ICaptureEventConfigEntity): any; createElement<TElement extends HTMLElement = HTMLElement>(tag?: string, parentEl?: Element): TElement; createScript(cfg: Partial<HTMLScriptElement>): Promise<HTMLScriptElement>; disableFullScreen(element?: Element): any; dispatchEvent(cfg: IDomFireEventConfigEntity): void; downloadFile(cfg: IDownloadFileConfigEntity): Promise<void>; downloadFileByBlob(cfg: IDownloadFileConfigEntity): void; enableFullScreen(element?: Element): any; findElement(selector: string, parent?: Element): Element; fireEvent(cfg: IDomFireEventConfigEntity): void; getActiveElement(): Element; getContentHeight(source: Element): number; getElement(id: string): Element; getHeight(source: Element): number; getParents(cfg: IDomParentConfigEntity): IJQueryElement; getParentsAsElements(cfg: IDomParentConfigEntity): Element[]; getProperty(source: Element, property: string): string; getScrollInfo(el: Element): IPresetsXYEntity; getScrollLeft(el: Element): number; getScrollTop(el: Element): number; getTransformScaleStyles(scale: number, transformOrigin?: string): React.CSSProperties; getTransformStyles(transform: string, transformOrigin?: string): React.CSSProperties; getWidth(source: Element): number; hasClasses(target: Element, ...classNames: string[]): boolean; hasElements(selector: string, target?: Element): boolean; hasParent(cfg: IDomParentConfigEntity): boolean; isAlreadyFocused(): boolean; isElementFocused(element: Element): boolean; isElementVisibleWithinParent(child: Element, parentEl?: Element): boolean; redirect(path: string): void; reload(forceReload?: boolean): void; removeChild(child: Element, parentEl?: Element): any; removeClassNames(element: Element, ...clsNames: string[]): void; removeClassNamesFromRootElement(...clsNames: string[]): any; scrollTo(payload: IPresetsXYEntity | Element, parentEl?: Element, config?: IScrollConfigEntity): void; setPosition(cfg: IDomPositionConfigEntity): void; setScrollLeft(el: Element, left: number): void; setScrollTop(el: Element, top: number): void; }