labelDragSort

addLabel close hide deleteLabel

概述

labelDragSort 封装了一个标签拖拽排序的功能。本模块类似open一个frame,开发者可指定其所依附的窗口(通过fixedOn参数)。开发者只需要传入标签信息,就可以长按触发编辑状态,拖动标签进行排序,也可以在长按的过程中删掉标签。

open

打开

open({params}, callback(ret, err))

rect:

  • 类型:JSON 类型
  • 描述:(可选项)模块的位置及尺寸
  • 内部字段:

styles:

  • 类型:JSON 类型
  • 描述:(可选项)模块各部分的样式
  • 内部字段:
  1. leftIcon: {
  2. leftIconImg:'', //(可选项) 字符串类型;左上角图标
  3. leftIconSize:15, //(可选项) 数字类型;左上角图标的大小;默认:15
  4. leftMargin:5 //(可选项) 数字类型;左上角图标距离左边的距离;默认:15
  5. },
  6. mark: { //(可选项)JSON对象;长按后显示,删除图标的样式
  7. icon: '', //(可选项)字符串类型;图标路径(本地路径,支持fs://、widget://);默认:删除图标
  8. },
  9. layout: {
  10. column:3 , // (可选项)数字类型,标签有几列;默认:3
  11. margin:10, // (可选项)数字类型,标签上下左右间距;默认:10
  12. labelBgColor:'#000' // (可选项)数字类型,标签的背景颜色;默认:#000
  13. }
  14. text:{
  15. size:12 , // (可选项)数字类型,文字的大小;默认:12
  16. color: '', //(可选项)字符串类型;文字的颜色;默认:#000
  17. }
  18. item:{
  19. height:47 // (可选项)数字类型,标签的高度;默认:47
  20. corner:6 // (可选项)数字类型,标签的圆角度;默认:6
  21. }
  22. }

labelArray:

  • 类型:数组 类型
  • 描述:所有标签文字数组
  • 内部字段:
  1. [{
  2. label: '新闻',
  3. },{
  4. label: '音乐',
  5. },{
  6. label: '视频',
  7. },
  8. ]

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 默认:模块依附于当前 window

fixed:

  • 类型:布尔类型
  • 描述:(可选项)是否将模块视图固定到窗口上,不跟随窗口上下滚动
  • 默认:false

callback(ret, err)

ret:

  • 类型:JSON 对象内部字段:
  1. {
  2. status:true, // 显示成功
  3. eventType: 'delete', // 字符串类型;删除时触发回调
  4. 'leftIconClick' // 字符串类型;左上角图标点击事件
  5. name:'视频' //字符串类型;仅在点击左上角图标时返回
  6. }

示例代码

  1. var labelDragSort = api.require('labelDragSort');
  2. labelDragSort.open({
  3. rect: {
  4. x: 0,
  5. w: 300,
  6. h: 600
  7. },
  8. styles:{
  9. mark: {
  10. icon: '',
  11. },
  12. layout: {
  13. column:3 ,
  14. margin:10,
  15. labelBgColor:'#000000',
  16. },
  17. text:{
  18. size:12 ,
  19. color: '#FFFFFF',
  20. },
  21. item:{
  22. height:47,
  23. corner:6
  24. }
  25. },
  26. labelArray:[{
  27. label: '新闻',
  28. },{
  29. label: '音乐',
  30. },{
  31. label: '视频',
  32. },{
  33. label: '新闻',
  34. },{
  35. label: '音乐',
  36. },{
  37. label: '视频',
  38. fixedOn: api.frameName,
  39. fixed: false
  40. }, function(ret, err) {
  41. if (ret) {
  42. alert(JSON.stringify(ret));
  43. } else {
  44. alert(JSON.stringify(err));
  45. }
  46. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addLabel

再次添加标签

addLabel({params}, callback(ret, err))

params

  • 类型:数组 类型
  • 描述:所有标签文字数组
  • 内部字段:

callback(ret, err)

ret:

  • 类型:JSON 对象内部字段:
  1. {
  2. status:true //添加成功
  3. }

示例代码

  1. labelDragSort.addLabel({
  2. labelArray:[{
  3. label: '旅游',
  4. },{
  5. label: '科技',
  6. },{
  7. label: '财经',
  8. }],
  9. }, function(ret, err) {
  10. if (ret) {
  11. alert(JSON.stringify(ret));
  12. } else {
  13. alert(JSON.stringify(err));
  14. }
  15. });

iOS系统,Android系统

可提供的1.0.0及更高版本

startEdit

开始编辑

startEdit()

示例代码

  1. var labelDragSort = api.require('labelDragSort');
  2. labelDragSort.startEdit({
  3. id: 1
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

close

关闭

close()

示例代码

  1. var labelDragSort = api.require('labelDragSort');
  2. labelDragSort.close({
  3. id:1
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

show

显示

show(callback(ret, err))

示例代码

iOS系统,Android系统

hide

隐藏

hide()

示例代码

  1. var labelDragSort = api.require('labelDragSort');
  2. labelDragSort.hide({
  3. id:1
  4. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

finishEdit

编辑完成

finishEdit(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象内部字段:
  1. {
  2. labelArray:["","",""] //排序后的标签数组
  3. }

示例代码

  1. var labelDragSort = api.require('labelDragSort');
  2. labelDragSort.finishEdit({
  3. id:1
  4. },
  5. function(ret,err){
  6. if (ret) {
  7. alert(JSON.stringify(ret));
  8. } else {
  9. alert(JSON.stringify(err));
  10. }
  11. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

deleteLabel

删除标签

deleteLabel(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象内部字段:
  1. {
  2. labelName:'视频' //删除标签的名称

示例代码

iOS系统,Android系统

可提供的1.0.0及更高版本