index.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. import CustomPage from './base/CustomPage'
  2. CustomPage({
  3. onShareAppMessage() {
  4. return {
  5. title: '扩展能力',
  6. path: 'page/extend/index'
  7. }
  8. },
  9. data: {
  10. list: [
  11. {
  12. id: 'form',
  13. name: '表单',
  14. open: false,
  15. father: 'form', // 父文件夹
  16. pages: ['cell', 'slideview', 'form', 'uploader']
  17. },
  18. {
  19. id: 'widget',
  20. name: '基础组件',
  21. open: false,
  22. father: 'base', // 父文件夹
  23. pages: [
  24. 'article',
  25. 'icons',
  26. 'badge',
  27. 'flex',
  28. 'footer',
  29. 'gallery',
  30. 'grid',
  31. 'loadmore',
  32. 'loading',
  33. 'panel',
  34. 'preview'
  35. ]
  36. },
  37. {
  38. id: 'feedback',
  39. name: '操作反馈',
  40. open: false,
  41. father: 'operate', // 父文件夹
  42. pages: ['dialog', 'msg', 'half-screen-dialog', 'actionsheet', 'toptips']
  43. },
  44. {
  45. id: 'nav',
  46. name: '导航相关',
  47. open: false,
  48. father: 'navigation', // 父文件夹
  49. pages: ['navigation', 'tabbar']
  50. },
  51. {
  52. id: 'search',
  53. name: '搜索相关',
  54. open: false,
  55. father: 'search', // 父文件夹
  56. pages: ['searchbar']
  57. },
  58. {
  59. id: 'extended',
  60. name: '扩展组件',
  61. open: false,
  62. father: 'extend', // 父文件夹
  63. pages: ['emoji', 'video-swiper', 'index-list', 'recycle-view', 'sticky', 'tabs', 'vtabs', 'barrage', 'select-text', 'wxml-to-canvas']
  64. },
  65. {
  66. id: 'adaptive',
  67. name: '多端适配(需在PC端体验)',
  68. open: false,
  69. pages: [
  70. {zh: '左右伸缩', url: 'adapt/telescopic/telescopic'},
  71. {zh: '换行排列', url: 'adapt/linebreak/linebreak'},
  72. {zh: '侧边导航栏', url: 'adapt/sidenavigation/sidenavigation'},
  73. {zh: '分页展现', url: 'adapt/pagination/pagination'},
  74. {zh: '自由布局', url: 'adapt/freelayout/freelayout'},
  75. {zh: '分层展现', url: 'adapt/layeredpresentation/layeredpresentation'},
  76. {zh: '横向拓展', url: 'adapt/horizontalexpansion/horizontalexpansion'}
  77. ]
  78. }
  79. ],
  80. extendedList: [
  81. {
  82. id: 'extended',
  83. name: '扩展组件',
  84. open: false,
  85. pages: ['emoji', 'video-swiper', 'index-list', 'recycle-view', 'sticky', 'tabs', 'vtabs', 'barrage', 'select-text', 'wxml-to-canvas']
  86. }
  87. ]
  88. },
  89. kindToggle(e) {
  90. const id = e.currentTarget.id
  91. const list = this.data.list
  92. for (let i = 0, len = list.length; i < len; ++i) {
  93. if (list[i].id === id) {
  94. list[i].open = !list[i].open
  95. } else {
  96. list[i].open = false
  97. }
  98. }
  99. // const extendedList = this.data.extendedList.map((item) => ({...item, open: false}))
  100. this.setData({
  101. list,
  102. // extendedList,
  103. })
  104. },
  105. kindExtenedListToggle(e) {
  106. const id = e.currentTarget.id
  107. const extendedList = this.data.extendedList
  108. for (let i = 0, len = extendedList.length; i < len; ++i) {
  109. if (extendedList[i].id === id) {
  110. extendedList[i].open = !extendedList[i].open
  111. } else {
  112. extendedList[i].open = false
  113. }
  114. }
  115. const list = this.data.list.map((item) => ({...item, open: false}))
  116. this.setData({
  117. extendedList,
  118. list,
  119. })
  120. },
  121. themeToggle() {
  122. const App = getApp()
  123. if (App.themeChanged) {
  124. if (App.globalData.theme === 'light') {
  125. App.themeChanged('dark')
  126. } else {
  127. App.themeChanged('light')
  128. }
  129. }
  130. }
  131. })