|
@@ -21,22 +21,63 @@ export interface DragactLayout {
|
|
|
}
|
|
|
|
|
|
interface DragactProps {
|
|
|
- layout?: DragactLayout[]
|
|
|
- /**外部属性 */
|
|
|
+ layout?: DragactLayout[] //暂时不推荐使用
|
|
|
+ /**
|
|
|
+ * 宽度切分比
|
|
|
+ * 这个参数会把容器的宽度平均分为col等份
|
|
|
+ * 于是容器内元素的最小宽度就等于 containerWidth/col
|
|
|
+ */
|
|
|
col: number,
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 容器的宽度
|
|
|
+ */
|
|
|
width: number,
|
|
|
- /**每个元素的最小高度 */
|
|
|
+
|
|
|
+ /**容器内每个元素的最小高度 */
|
|
|
rowHeight: number,
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 容器内部的padding
|
|
|
+ */
|
|
|
padding?: number,
|
|
|
|
|
|
- children: any[]
|
|
|
+ children: any[] | any
|
|
|
+
|
|
|
|
|
|
+ //
|
|
|
+ // interface GridItemEvent {
|
|
|
+ // event: any //浏览器拖动事件
|
|
|
+ // GridX: number //在布局中的x格子
|
|
|
+ // GridY: number //在布局中的y格子
|
|
|
+ // w: number //元素的宽度
|
|
|
+ // h: number //元素的高度
|
|
|
+ // UniqueKey: string | number //元素的唯一key
|
|
|
+ // }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 拖动开始的回调
|
|
|
+ */
|
|
|
onDragStart?: (event: GridItemEvent) => void
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 拖动中的回调
|
|
|
+ */
|
|
|
onDrag?: (event: GridItemEvent) => void
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 拖动结束的回调
|
|
|
+ */
|
|
|
onDragEnd?: (key: number | string) => void
|
|
|
|
|
|
+ /**
|
|
|
+ * 每个元素的margin,第一个参数是左右,第二个参数是上下
|
|
|
+ */
|
|
|
margin: [number, number]
|
|
|
|
|
|
+ /**
|
|
|
+ * layout的名字
|
|
|
+ */
|
|
|
className: number | string
|
|
|
}
|
|
|
|
|
@@ -51,7 +92,7 @@ interface DragactState {
|
|
|
containerHeight: number
|
|
|
}
|
|
|
|
|
|
-export class DraggerLayout extends React.Component<DragactProps, DragactState> {
|
|
|
+export class Dragact extends React.Component<DragactProps, DragactState> {
|
|
|
constructor(props: DragactProps) {
|
|
|
super(props)
|
|
|
this.onDrag = this.onDrag.bind(this)
|