add imagecutter

This commit is contained in:
YuanXu
2017-07-07 14:33:55 +08:00
parent 0a93d659ea
commit 34095176bf
4 changed files with 99 additions and 1 deletions

33
types/zui/imagecutter.d.ts vendored Normal file
View File

@@ -0,0 +1,33 @@
interface ImageCutterOption {
coverColor?: string,
coverOpacity?: number,
defaultWidth?: number,
defaultHeight?: number,
fixedRatio?: boolean,
minWidth?: number,
minHeight?: number,
post?: string,
get?: string
}
interface ImageData {
originWidth: number,
originHeight: number,
scaled: boolean,
scaleHeight: number,
scaleWidth: number,
width: number,
height: number,
left: number,
right: number,
top: number,
bottom: number
}
interface ImageCutter {
resetImage(img: string): any;
getData(): ImageData;
}
interface JQuery {
imgCutter(option: ImageCutterOption): JQuery;
data(cmd: string): ImageCutter;
}

View File

@@ -16,6 +16,8 @@
///<reference path="draggable.d.ts" />
///<reference path="droppable.d.ts" />
///<reference path="sortable.d.ts" />
///<reference path="selectable.d.ts" />
///<reference path="imagecutter.d.ts" />
/*~ If this module is a UMD module that exposes a global variable 'myLib' when
*~ loaded outside a module loader environment, declare that global here.

31
types/zui/selectable.d.ts vendored Normal file
View File

@@ -0,0 +1,31 @@
interface SelectableEvent {
selections: Map<number, boolean>;
selected: Array<number>;
}
interface SelectableOption {
selector?: string,
trigger?: string,
rangeStyle?: string|object,
clickBehavior?: string,
mouseButton?: string,
ignoreVal?: number,
start?(e?: SelectableEvent): boolean;
finish?(e?: SelectableEvent): void;
select?(e?: SelectableEvent): void;
unselect?(e?: SelectableEvent): void;
}
interface Selectable {
toggle(): any;
toggle(elementOrId: string | object | JQuery): any;
select(): any;
select(elementOrId: string | object | JQuery): any;
unselect(): any;
unselect(elementOrId: string | object | JQuery): any;
}
interface JQuery {
selectable(option?: SelectableOption): JQuery;
}

View File

@@ -244,4 +244,36 @@ var options = {
};
// 初始化时传入选项参数
$('#sortableList').sortable(options)
$('#sortableList').sortable(options)
/**
* selectable
*/
$('#selectable').selectable({
selector: 'div', // #selectable 内的所有 div 都可以进行选中
rangeStyle: {
border: '1px solid red' // 拖选范围指示矩形边框设置为红色
},
finish: function (data: SelectableEvent) { // 选择结束时的回调函数
// 所有元素的选中或非选中状态
console.log(data.selections);
// 所有已选中的元素 ID 值的数组
console.log(data.selected);
}
});
/**
* image cutter
*/
// 获取 imgCutter 实例
var myImgCutter = $('#imgCutter').data('zui.imgCutter');
// 调用 resetImg 方法
myImgCutter.resetImage('http://zui.sexy/docs/img/img1.jpg');
// 调用 getData 方法
var myImgCutterData = myImgCutter.getData();