@rdkmaster/jigsaw-labs
Version:
Jigsaw, the next generation component set for RDK
124 lines (123 loc) • 3.66 kB
TypeScript
import { EventEmitter, OnInit, ElementRef } from "@angular/core";
import { AbstractJigsawComponent } from "../common";
/**
* 本组件模拟了一个类似抽屉的效果,用于收纳UI上重要性不高的视图。
*
* $since = v1.1.7
*/
export declare class JigsawDrawer extends AbstractJigsawComponent implements OnInit {
private _elementRef;
constructor(_elementRef: ElementRef);
private _position;
/**
* 用于设置抽屉的位置,支持上下左右4个方向。
*
* $demo = drawer/basic
*/
position: "left" | "right" | "top" | "bottom";
private _open;
/**
* 代表了抽屉的状态,`true`为打开状态,`false`为关闭状态。在双绑模式下,改变此属性的值可以打开或者关闭抽屉。
*
* $demo = drawer/basic
*/
open: boolean;
/**
* 当抽屉的状态发生变化时,Jigsaw发出此事件
*
* $demo = drawer/basic
*
* @type {EventEmitter<boolean>}
*/
openChange: EventEmitter<boolean>;
/**
* 容器的selector,支持'.className'、'#id'、'[attr]'、'tagName'
* 向上寻找离抽屉最近的匹配节点作为抽屉的容器
*
* $demo = drawer/with-div
* $demo = drawer/with-scrollbar
* $demo = drawer/with-tab
*/
container: string;
private _offsetTop;
private _offsetLeft;
private _offsetRight;
private _offsetBottom;
/**
* $demo = drawer/with-div
*/
offsetTop: string;
/**
* $demo = drawer/with-div
*/
offsetLeft: string;
/**
* $demo = drawer/with-div
*/
offsetRight: string;
/**
* $demo = drawer/with-div
*/
offsetBottom: string;
/**
* $demo = drawer/with-div
*/
width: string;
/**
* $demo = drawer/with-div
*/
height: string;
/**
* $demo = drawer/in-dom
*/
floating: boolean;
private _drawerEl;
private _$hostWidth;
private _$hostHeight;
private _setHostSize();
/**
* host(jigsaw-drawer)宽高的计算方法:
* 浮动模式下:不做任何处理。
* 文档流模式下:
* host是inline-block的模式,所以width和height属性没值时,默认按内容计算尺寸;
* 有值时则为width和height的属性值
*/
private _calcHostWidth();
private _calcHostHeight();
/**
* @internal
*/
_$handleStyle: {};
private _setStyle();
/**
* 抽屉(div.jigsaw-drawer)宽高的计算方法:
*
* 在浮动模式下:
* 有width和height属性值时,按照width和height的值;
* 否则position为top或bottom时,宽度为100%,跟随容器的宽度,高度为auto,按内容撑开;
* position为left或right时,宽度为auto,按内容撑开,高度为100%,跟随容器的宽度;
*
* 在文档流模式下:
* 当有width和height属性值时,因为width和height是设置在host上的,所以采用计算值calc(100% - 14px)
* 当没有width和height属性值时,则宽高设置为auto,按照内容撑开
*/
private _calcWidth();
private _calcDrawerWidth();
private _calcHeight();
private _calcDrawerHeight();
/**
* @internal
*/
_$handleClass: {};
/**
* @internal
*/
_$onAnimation: boolean;
private _setClass();
_$toggleOpen(e: any): void;
private _setContainer();
private _update();
ngOnInit(): void;
}
export declare class JigsawDrawerModule {
}