UNPKG

react-application-core

Version:

A react-based application core for the business applications.

66 lines (65 loc) 2.26 kB
import { IUniversalLayoutBuilderConfigEntity, IUniversalLayoutProps, IUniversalLayoutViewBuilder, UniversalLayoutBuilderChildrenT } from '../../../definition'; import { StringNumberT } from '../../../definitions.interface'; export declare class UniversalLayoutBuilder<TNode, TProps extends IUniversalLayoutProps = IUniversalLayoutProps> { private readonly layoutViewBuilder; private index; private readonly layoutId; /** * @stable [22.10.2018] * @param {IUniversalLayoutViewBuilder<TNode>} layoutViewBuilder */ constructor(layoutViewBuilder: IUniversalLayoutViewBuilder<TNode, TProps>); /** * @stable [23.01.2020] * @param {IUniversalLayoutBuilderConfigEntity<TNode>} layoutConfig * @returns {TNode} */ build(layoutConfig: IUniversalLayoutBuilderConfigEntity<TNode>): TNode; /** * @stable [23.01.2020] * @param {UniversalLayoutBuilderChildrenT<TNode>} _ * @returns {StringNumberT} */ protected asClonedItemKey(_: UniversalLayoutBuilderChildrenT<TNode>): StringNumberT; /** * @stable [22.10.2018] * @param {IUniversalLayoutBuilderConfigEntity<TNode>} layoutConfig * @returns {TNode} */ private buildLayout; /** * @stable [23.01.2020] * @param {IUniversalLayoutBuilderConfigEntity<TNode>} layoutConfig * @returns {TNode} */ private buildHorizontalLayout; /** * @stable [22.10.2018] * @param {IUniversalLayoutBuilderConfigEntity<TNode>} layoutConfig * @returns {TNode} */ private buildVerticalLayout; /** * @stable [23.01.2020] * @param {IUniversalLayoutBuilderConfigEntity<TNode>} layoutConfig * @returns {Array<UniversalLayoutBuilderChildrenT<TNode>>} */ private filterChildren; /** * @stable [22.10.2018] * @param {UniversalLayoutBuilderChildrenT<TNode>} item * @param {IUniversalLayoutBuilderConfigEntity<TNode>} layoutConfig * @returns {TNode} */ private asClonedItem; /** * @stable [23.01.2020] * @returns {TProps} */ private get key(); /** * @stable [23.01.2020] * @returns {string} */ private get newKey(); }