labelDragSort

概述

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) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: 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) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

startEdit

开始编辑

startEdit()

示例代码

var labelDragSort = api.require('labelDragSort');
labelDragSort.startEdit();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

close

关闭

close()

示例代码

var labelDragSort = api.require('labelDragSort');
labelDragSort.close();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

show

显示

show(callback(ret, err))

示例代码

var labelDragSort = api.require('labelDragSort');
labelDragSort.show();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

hide

隐藏

hide()

示例代码

var labelDragSort = api.require('labelDragSort');
labelDragSort.hide();

可用性

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) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: 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({

},
function(ret,err){
    if (ret) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/01/26