@rdkmaster/jigsaw-labs
Version:
Jigsaw, the next generation component set for RDK
93 lines (92 loc) • 3 kB
TypeScript
import { AfterViewInit, ComponentFactoryResolver, ElementRef, EventEmitter, NgZone, OnDestroy, OnInit, QueryList, Renderer2 } from "@angular/core";
import { ComponentMetaData, LayoutData } from "../../core/data/layout-data";
import { JigsawRendererHost } from "../common";
import { JigsawResizableBoxBase } from "./common-box";
export declare class JigsawEditableBox extends JigsawResizableBoxBase implements AfterViewInit, OnDestroy, OnInit {
private _componentFactoryResolver;
constructor(elementRef: ElementRef, renderer: Renderer2, zone: NgZone, _componentFactoryResolver: ComponentFactoryResolver);
private _data;
data: LayoutData;
private _editable;
editable: boolean;
editableChange: EventEmitter<boolean>;
blocked: boolean;
showOptionBar: boolean;
/**
* @internal
*/
_isFirst: boolean;
parent: JigsawEditableBox;
showTabBar: boolean;
private _resizeLineWidth;
resizeLineWidth: string;
dataChange: EventEmitter<LayoutData>;
directionChange: EventEmitter<string>;
growChange: EventEmitter<number>;
fill: EventEmitter<JigsawEditableBox>;
fillTabs: EventEmitter<JigsawEditableBox>;
add: EventEmitter<any>;
remove: EventEmitter<any>;
/**
* 内部事件,只在box内部广播,应用监听`remove`(没有下划线开头)。
* @type {EventEmitter<LayoutData>}
* @private
*/
_remove: EventEmitter<LayoutData>;
protected childrenBox: QueryList<JigsawEditableBox>;
_rendererHost: JigsawRendererHost;
resizeLine: ElementRef;
private _removeDataRefreshListener;
_viewInit: EventEmitter<{}>;
/**
* @internal
*/
_$addBox(direction: string): void;
/**
* @internal
*/
_$addTabsWrapper(): void;
private _updateBoxReference(data, box);
/**
* @internal
*/
_$remove(): void;
/**
* @internal
*/
_$removeBox(item: LayoutData): void;
private _moveComponents(moveOut, moveIn);
private _updateDirection();
private _setRootProperty();
/**
* @internal
*/
_$addContent(): void;
addContent(componentMetaDataList: ComponentMetaData[]): void;
clearContent(): void;
/**
* 根据componentMetaDataList信息在box里面渲染需要的组件
* @param {ComponentMetaData[]} componentMetaDataList
* @private
*/
private _renderComponents(componentMetaDataList);
private _rendererFactory(renderer, inputs);
/**
* 绑定box的滚动监听,处理option bar & block的位置问题
* @private
*/
private _bindScrollEvent();
/**
* @internal
*/
_$handleResizeStart(event: any): void;
/**
* @internal
*/
_$handleResizeEnd(): void;
private _emitResizeEvent(eventType);
private _getAffectedBoxes(box, arr);
ngOnInit(): void;
ngAfterViewInit(): void;
ngOnDestroy(): void;
}