labelDragSort

来自于:AC模块工作室立即使用

open addLabel startEdit close show hide finishEdit deleteLabel

概述

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

open

打开

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

params

rect:

  • 类型:JSON 类型
  • 描述:(可选项)模块的位置及尺寸
  • 内部字段:
  1. {
  2. x: 0, //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
  3. y: 0, //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
  4. w:300, //(可选项)数字类型;模块宽度(相对于所属的 Window 或 Frame;默认屏幕宽度
  5. h:300 //(可选项)数字类型;模块高度(相对于所属的 Window 或 Frame;默认300
  6. }

styles:

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

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addLabel

再次添加标签

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

params

labelArray:

  • 类型:数组 类型
  • 描述:所有标签文字数组
  • 内部字段:
  1. [{
  2. label: '旅游',
  3. },{
  4. label: '科技',
  5. },{
  6. label: '财经',
  7. }]

callback(ret, err)

ret:

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

示例代码

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

可用性

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))

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

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:'视频' //删除标签的名称
  3. }

示例代码

  1. var labelDragSort = api.require('labelDragSort');
  2. labelDragSort.deleteLabel({
  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及更高版本