labelDragSort
来自于:AC模块工作室立即使用
open addLabel startEdit close show hide finishEdit deleteLabel
概述
labelDragSort 封装了一个标签拖拽排序的功能。本模块类似open一个frame,开发者可指定其所依附的窗口(通过fixedOn参数)。开发者只需要传入标签信息,就可以长按触发编辑状态,拖动标签进行排序,也可以在长按的过程中删掉标签。
open
打开
open({params}, callback(ret, err))
params
rect:
- 类型:JSON 类型
- 描述:(可选项)模块的位置及尺寸
- 内部字段:
{
x: 0, //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
y: 0, //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
w:300, //(可选项)数字类型;模块宽度(相对于所属的 Window 或 Frame;默认屏幕宽度
h:300 //(可选项)数字类型;模块高度(相对于所属的 Window 或 Frame;默认300
}
styles:
- 类型:JSON 类型
- 描述:(可选项)模块各部分的样式
- 内部字段:
{
leftIcon: {
leftIconImg:'', //(可选项) 字符串类型;左上角图标
leftIconSize:15, //(可选项) 数字类型;左上角图标的大小;默认:15
leftMargin:5 //(可选项) 数字类型;左上角图标距离左边的距离;默认:15
},
mark: { //(可选项)JSON对象;长按后显示,删除图标的样式
icon: '', //(可选项)字符串类型;图标路径(本地路径,支持fs://、widget://);默认:删除图标
},
layout: {
column:3 , // (可选项)数字类型,标签有几列;默认:3
margin:10, // (可选项)数字类型,标签上下左右间距;默认:10
labelBgColor:'#000' // (可选项)数字类型,标签的背景颜色;默认:#000
}
text:{
size:12 , // (可选项)数字类型,文字的大小;默认:12
color: '', //(可选项)字符串类型;文字的颜色;默认:#000
}
item:{
height:47 // (可选项)数字类型,标签的高度;默认:47
corner:6 // (可选项)数字类型,标签的圆角度;默认:6
}
}
labelArray:
- 类型:数组 类型
- 描述:所有标签文字数组
- 内部字段:
[{
label: '新闻',
},{
label: '音乐',
},{
label: '视频',
},
]
fixedOn:
- 类型:字符串类型
- 描述:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
- 默认:模块依附于当前 window
fixed:
- 类型:布尔类型
- 描述:(可选项)是否将模块视图固定到窗口上,不跟随窗口上下滚动
- 默认:false
callback(ret, err)
ret:
- 类型:JSON 对象内部字段:
{
status:true, // 显示成功
eventType: 'delete', // 字符串类型;删除时触发回调
'leftIconClick' // 字符串类型;左上角图标点击事件
name:'视频' //字符串类型;仅在点击左上角图标时返回
}
示例代码
var labelDragSort = api.require('labelDragSort');
labelDragSort.open({
rect: {
x: 0,
y: 0,
w: 300,
h: 600
},
styles:{
mark: {
icon: '',
},
layout: {
column:3 ,
margin:10,
labelBgColor:'#000000',
},
text:{
size:12 ,
color: '#FFFFFF',
},
item:{
height:47,
corner:6
}
},
labelArray:[{
label: '新闻',
},{
label: '音乐',
},{
label: '视频',
},{
label: '新闻',
},{
label: '音乐',
},{
label: '视频',
}],
fixedOn: api.frameName,
fixed: false
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addLabel
再次添加标签
addLabel({params}, callback(ret, err))
params
labelArray:
- 类型:数组 类型
- 描述:所有标签文字数组
- 内部字段:
[{
label: '旅游',
},{
label: '科技',
},{
label: '财经',
}]
callback(ret, err)
ret:
- 类型:JSON 对象内部字段:
{
status:true //添加成功
}
示例代码
var labelDragSort = api.require('labelDragSort');
labelDragSort.addLabel({
labelArray:[{
label: '旅游',
},{
label: '科技',
},{
label: '财经',
}],
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
startEdit
开始编辑
startEdit()
示例代码
var labelDragSort = api.require('labelDragSort');
labelDragSort.startEdit({
id: 1
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
close
关闭
close()
示例代码
var labelDragSort = api.require('labelDragSort');
labelDragSort.close({
id:1
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
show
显示
show(callback(ret, err))
示例代码
var labelDragSort = api.require('labelDragSort');
labelDragSort.show({
id:1
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
hide
隐藏
hide()
示例代码
var labelDragSort = api.require('labelDragSort');
labelDragSort.hide({
id:1
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
finishEdit
编辑完成
finishEdit(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象内部字段:
{
labelArray:["","",""] //排序后的标签数组
}
示例代码
var labelDragSort = api.require('labelDragSort');
labelDragSort.finishEdit({
id:1
},
function(ret,err){
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
deleteLabel
删除标签
deleteLabel(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON 对象内部字段:
{
labelName:'视频' //删除标签的名称
}
示例代码
var labelDragSort = api.require('labelDragSort');
labelDragSort.deleteLabel({
id:1
},
function(ret,err){
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本