@oxiaom/adoremix-linux-arm 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. package/index.js +24 -0
  2. package/native/.adoremix-native.json +1 -0
  3. package/native/AdoreMixV8.0.17_console_linuxarm +0 -0
  4. package/native/README.md +20 -0
  5. package/native/audio/libqtaudio_alsa.so +0 -0
  6. package/native/audio/libqtmedia_pulse.so +0 -0
  7. package/native/bearer/libqconnmanbearer.so +0 -0
  8. package/native/bearer/libqgenericbearer.so +0 -0
  9. package/native/bearer/libqnmbearer.so +0 -0
  10. package/native/etc/Demo1.ini +49 -0
  11. package/native/etc/docroot/bangzhu/.project +22 -0
  12. package/native/etc/docroot/bangzhu/css/app.css +21 -0
  13. package/native/etc/docroot/bangzhu/css/feedback.css +131 -0
  14. package/native/etc/docroot/bangzhu/css/icons-extra.css +63 -0
  15. package/native/etc/docroot/bangzhu/css/mui.dtpicker.css +136 -0
  16. package/native/etc/docroot/bangzhu/css/mui.imageviewer.css +123 -0
  17. package/native/etc/docroot/bangzhu/css/mui.indexedlist.css +112 -0
  18. package/native/etc/docroot/bangzhu/css/mui.listpicker.css +95 -0
  19. package/native/etc/docroot/bangzhu/css/mui.min.css +5 -0
  20. package/native/etc/docroot/bangzhu/css/mui.picker.all.css +285 -0
  21. package/native/etc/docroot/bangzhu/css/mui.picker.css +85 -0
  22. package/native/etc/docroot/bangzhu/css/mui.picker.min.css +7 -0
  23. package/native/etc/docroot/bangzhu/css/mui.poppicker.css +64 -0
  24. package/native/etc/docroot/bangzhu/examples/accordion.html +125 -0
  25. package/native/etc/docroot/bangzhu/examples/actionsheet-plus.html +128 -0
  26. package/native/etc/docroot/bangzhu/examples/actionsheet.html +153 -0
  27. package/native/etc/docroot/bangzhu/examples/ad.html +47 -0
  28. package/native/etc/docroot/bangzhu/examples/ajax.html +155 -0
  29. package/native/etc/docroot/bangzhu/examples/badges.html +54 -0
  30. package/native/etc/docroot/bangzhu/examples/beecloud.html +150 -0
  31. package/native/etc/docroot/bangzhu/examples/best-practices/list-to-detail/detail.html +104 -0
  32. package/native/etc/docroot/bangzhu/examples/best-practices/list-to-detail/list-to-detail.css +160 -0
  33. package/native/etc/docroot/bangzhu/examples/best-practices/list-to-detail/listview.html +326 -0
  34. package/native/etc/docroot/bangzhu/examples/best-practices/list-to-detail/vue.min.js +8 -0
  35. package/native/etc/docroot/bangzhu/examples/buttons-with-badges.html +48 -0
  36. package/native/etc/docroot/bangzhu/examples/buttons-with-block.html +50 -0
  37. package/native/etc/docroot/bangzhu/examples/buttons-with-icons.html +68 -0
  38. package/native/etc/docroot/bangzhu/examples/buttons-with-loading.html +86 -0
  39. package/native/etc/docroot/bangzhu/examples/buttons.html +89 -0
  40. package/native/etc/docroot/bangzhu/examples/card.html +97 -0
  41. package/native/etc/docroot/bangzhu/examples/checkbox.html +68 -0
  42. package/native/etc/docroot/bangzhu/examples/clouddb_wilddog.html +268 -0
  43. package/native/etc/docroot/bangzhu/examples/date.html +88 -0
  44. package/native/etc/docroot/bangzhu/examples/dialog.html +82 -0
  45. package/native/etc/docroot/bangzhu/examples/dtpicker.html +129 -0
  46. package/native/etc/docroot/bangzhu/examples/echarts.html +150 -0
  47. package/native/etc/docroot/bangzhu/examples/feedback.html +72 -0
  48. package/native/etc/docroot/bangzhu/examples/grid-default.html +61 -0
  49. package/native/etc/docroot/bangzhu/examples/grid-pagination.html +266 -0
  50. package/native/etc/docroot/bangzhu/examples/guide.html +269 -0
  51. package/native/etc/docroot/bangzhu/examples/icons-extra.html +161 -0
  52. package/native/etc/docroot/bangzhu/examples/icons.html +182 -0
  53. package/native/etc/docroot/bangzhu/examples/im-chat.html +711 -0
  54. package/native/etc/docroot/bangzhu/examples/imageviewer-native.html +90 -0
  55. package/native/etc/docroot/bangzhu/examples/imageviewer.html +197 -0
  56. package/native/etc/docroot/bangzhu/examples/indexed-list-select.html +459 -0
  57. package/native/etc/docroot/bangzhu/examples/indexed-list.html +265 -0
  58. package/native/etc/docroot/bangzhu/examples/info.html +119 -0
  59. package/native/etc/docroot/bangzhu/examples/input.html +108 -0
  60. package/native/etc/docroot/bangzhu/examples/lazyload-image.html +73 -0
  61. package/native/etc/docroot/bangzhu/examples/list-triplex-row.html +115 -0
  62. package/native/etc/docroot/bangzhu/examples/list-with-input.html +91 -0
  63. package/native/etc/docroot/bangzhu/examples/locker-dom.html +85 -0
  64. package/native/etc/docroot/bangzhu/examples/login.html +83 -0
  65. package/native/etc/docroot/bangzhu/examples/media-list.html +220 -0
  66. package/native/etc/docroot/bangzhu/examples/message-bottom.html +87 -0
  67. package/native/etc/docroot/bangzhu/examples/modals.html +45 -0
  68. package/native/etc/docroot/bangzhu/examples/nav-nativeObj.html +45 -0
  69. package/native/etc/docroot/bangzhu/examples/nav.html +135 -0
  70. package/native/etc/docroot/bangzhu/examples/nav_transparent.html +127 -0
  71. package/native/etc/docroot/bangzhu/examples/nav_transparent_native.html +121 -0
  72. package/native/etc/docroot/bangzhu/examples/numbox.html +114 -0
  73. package/native/etc/docroot/bangzhu/examples/offcanvas-drag-down.html +384 -0
  74. package/native/etc/docroot/bangzhu/examples/offcanvas-drag-left-plus-main.html +293 -0
  75. package/native/etc/docroot/bangzhu/examples/offcanvas-drag-left-plus-menu.html +102 -0
  76. package/native/etc/docroot/bangzhu/examples/offcanvas-drag-left.html +228 -0
  77. package/native/etc/docroot/bangzhu/examples/offcanvas-drag-right-plus-main.html +292 -0
  78. package/native/etc/docroot/bangzhu/examples/offcanvas-drag-right-plus-menu.html +111 -0
  79. package/native/etc/docroot/bangzhu/examples/offcanvas-drag-right.html +220 -0
  80. package/native/etc/docroot/bangzhu/examples/pagination.html +236 -0
  81. package/native/etc/docroot/bangzhu/examples/picker.html +159 -0
  82. package/native/etc/docroot/bangzhu/examples/popovers.html +200 -0
  83. package/native/etc/docroot/bangzhu/examples/progressbar.html +171 -0
  84. package/native/etc/docroot/bangzhu/examples/pullrefresh.html +86 -0
  85. package/native/etc/docroot/bangzhu/examples/pullrefresh_main.html +46 -0
  86. package/native/etc/docroot/bangzhu/examples/pullrefresh_sub.html +101 -0
  87. package/native/etc/docroot/bangzhu/examples/pullrefresh_with_tab.html +586 -0
  88. package/native/etc/docroot/bangzhu/examples/radio.html +93 -0
  89. package/native/etc/docroot/bangzhu/examples/range.html +89 -0
  90. package/native/etc/docroot/bangzhu/examples/setting.html +910 -0
  91. package/native/etc/docroot/bangzhu/examples/slider-default.html +98 -0
  92. package/native/etc/docroot/bangzhu/examples/slider-native.html +43 -0
  93. package/native/etc/docroot/bangzhu/examples/slider-table-default.html +62 -0
  94. package/native/etc/docroot/bangzhu/examples/slider-table-pagination.html +74 -0
  95. package/native/etc/docroot/bangzhu/examples/slider-with-title.html +99 -0
  96. package/native/etc/docroot/bangzhu/examples/switches.html +92 -0
  97. package/native/etc/docroot/bangzhu/examples/tab-top-subpage-1.html +131 -0
  98. package/native/etc/docroot/bangzhu/examples/tab-top-subpage-2.html +131 -0
  99. package/native/etc/docroot/bangzhu/examples/tab-top-subpage-3.html +56 -0
  100. package/native/etc/docroot/bangzhu/examples/tab-top-subpage-4.html +110 -0
  101. package/native/etc/docroot/bangzhu/examples/tab-top-subpage-5.html +131 -0
  102. package/native/etc/docroot/bangzhu/examples/tab-top-webview-main.html +183 -0
  103. package/native/etc/docroot/bangzhu/examples/tab-vertical-scroll.html +170 -0
  104. package/native/etc/docroot/bangzhu/examples/tab-webview-main.html +112 -0
  105. package/native/etc/docroot/bangzhu/examples/tab-webview-subpage-about.html +38 -0
  106. package/native/etc/docroot/bangzhu/examples/tab-webview-subpage-chat.html +127 -0
  107. package/native/etc/docroot/bangzhu/examples/tab-webview-subpage-contact.html +155 -0
  108. package/native/etc/docroot/bangzhu/examples/tab-webview-subpage-setting.html +79 -0
  109. package/native/etc/docroot/bangzhu/examples/tab-with-segmented-control-vertical.html +85 -0
  110. package/native/etc/docroot/bangzhu/examples/tab-with-segmented-control.html +195 -0
  111. package/native/etc/docroot/bangzhu/examples/tab-with-viewpagerindicator.html +203 -0
  112. package/native/etc/docroot/bangzhu/examples/tabbar-labels-only.html +44 -0
  113. package/native/etc/docroot/bangzhu/examples/tabbar-with-submenus.html +75 -0
  114. package/native/etc/docroot/bangzhu/examples/tabbar.html +247 -0
  115. package/native/etc/docroot/bangzhu/examples/tableviews-with-badges.html +78 -0
  116. package/native/etc/docroot/bangzhu/examples/tableviews-with-collapses.html +83 -0
  117. package/native/etc/docroot/bangzhu/examples/tableviews-with-swipe.html +184 -0
  118. package/native/etc/docroot/bangzhu/examples/tableviews.html +87 -0
  119. package/native/etc/docroot/bangzhu/examples/typography.html +41 -0
  120. package/native/etc/docroot/bangzhu/fonts/mui-icons-extra.ttf +0 -0
  121. package/native/etc/docroot/bangzhu/fonts/mui.ttf +0 -0
  122. package/native/etc/docroot/bangzhu/images/60x60.gif +0 -0
  123. package/native/etc/docroot/bangzhu/images/cbd.jpg +0 -0
  124. package/native/etc/docroot/bangzhu/images/login-1.png +0 -0
  125. package/native/etc/docroot/bangzhu/images/logo.png +0 -0
  126. package/native/etc/docroot/bangzhu/images/muwu.jpg +0 -0
  127. package/native/etc/docroot/bangzhu/images/qrcode.png +0 -0
  128. package/native/etc/docroot/bangzhu/images/shuijiao.jpg +0 -0
  129. package/native/etc/docroot/bangzhu/images/yuantiao.jpg +0 -0
  130. package/native/etc/docroot/bangzhu/index-menu.html +196 -0
  131. package/native/etc/docroot/bangzhu/index.html +414 -0
  132. package/native/etc/docroot/bangzhu/js/95516.js +32 -0
  133. package/native/etc/docroot/bangzhu/js/arttmpl.js +2 -0
  134. package/native/etc/docroot/bangzhu/js/beecloud.js +141 -0
  135. package/native/etc/docroot/bangzhu/js/city.data-3.js +11548 -0
  136. package/native/etc/docroot/bangzhu/js/city.data.js +1605 -0
  137. package/native/etc/docroot/bangzhu/js/feedback.js +234 -0
  138. package/native/etc/docroot/bangzhu/js/mui.dtpicker.js +471 -0
  139. package/native/etc/docroot/bangzhu/js/mui.imageViewer.js +268 -0
  140. package/native/etc/docroot/bangzhu/js/mui.indexedlist.js +187 -0
  141. package/native/etc/docroot/bangzhu/js/mui.js +8390 -0
  142. package/native/etc/docroot/bangzhu/js/mui.lazyload.img.js +116 -0
  143. package/native/etc/docroot/bangzhu/js/mui.lazyload.js +327 -0
  144. package/native/etc/docroot/bangzhu/js/mui.listpicker.js +399 -0
  145. package/native/etc/docroot/bangzhu/js/mui.locker.js +303 -0
  146. package/native/etc/docroot/bangzhu/js/mui.min.js +6 -0
  147. package/native/etc/docroot/bangzhu/js/mui.picker.all.js +1018 -0
  148. package/native/etc/docroot/bangzhu/js/mui.picker.js +389 -0
  149. package/native/etc/docroot/bangzhu/js/mui.picker.min.js +7 -0
  150. package/native/etc/docroot/bangzhu/js/mui.poppicker.js +160 -0
  151. package/native/etc/docroot/bangzhu/js/mui.previewimage.js +382 -0
  152. package/native/etc/docroot/bangzhu/js/mui.pullToRefresh.js +407 -0
  153. package/native/etc/docroot/bangzhu/js/mui.pullToRefresh.material.js +352 -0
  154. package/native/etc/docroot/bangzhu/js/mui.view.js +628 -0
  155. package/native/etc/docroot/bangzhu/js/mui.zoom.js +322 -0
  156. package/native/etc/docroot/bangzhu/js/update.js +45 -0
  157. package/native/etc/docroot/bangzhu/js/webviewGroup.js +286 -0
  158. package/native/etc/docroot/bangzhu/libs/echarts-all.js +35 -0
  159. package/native/etc/docroot/bangzhu/manifest.json +994 -0
  160. package/native/etc/docroot/index.html +1 -0
  161. package/native/etc/docroot/luyin2/index.html +145 -0
  162. package/native/etc/docroot/luyin2/js/jquery-1.10.1.min.js +6 -0
  163. package/native/etc/docroot/luyin2/js/jquery-1.5.min.js +16 -0
  164. package/native/etc/docroot/luyin2/js/jquery.js +18 -0
  165. package/native/etc/docroot/luyin2/js/jquery.multiselect.js +104 -0
  166. package/native/etc/docroot/luyin2/js/lame.min.js +308 -0
  167. package/native/etc/docroot/luyin2/js/recordmp3.js +239 -0
  168. package/native/etc/docroot/luyin2/js/worker-realtime.js +106 -0
  169. package/native/etc/docroot/luyin2//346/223/215/344/275/234/346/214/207/345/215/227.txt +3 -0
  170. package/native/etc/docroot/static/css/app.8421a6d597ba48619941ccd4e386fbb2.css +675 -0
  171. package/native/etc/docroot/static/css/app.8421a6d597ba48619941ccd4e386fbb2.css.map +1 -0
  172. package/native/etc/docroot/static/fonts/element-icons.535877f.woff +0 -0
  173. package/native/etc/docroot/static/fonts/element-icons.732389d.ttf +0 -0
  174. package/native/etc/docroot/static/img/login_bg.ad6b482.jpg +0 -0
  175. package/native/etc/docroot/static/js/app.eff1c2200a448936b027.js +2 -0
  176. package/native/etc/docroot/static/js/app.eff1c2200a448936b027.js.map +1 -0
  177. package/native/etc/docroot/static/js/manifest.400eada2d24447a4fc30.js +2 -0
  178. package/native/etc/docroot/static/js/manifest.400eada2d24447a4fc30.js.map +1 -0
  179. package/native/etc/docroot/static/js/vendor.ca4f735ec1dfe336a804.js +45 -0
  180. package/native/etc/docroot/static/js/vendor.ca4f735ec1dfe336a804.js.map +1 -0
  181. package/native/etc/docroot/tts.js +151 -0
  182. package/native/etc/docroot/xcx/Discover.html +156 -0
  183. package/native/etc/docroot/xcx/css/mui.css +5649 -0
  184. package/native/etc/docroot/xcx/css/mui.min.css +5 -0
  185. package/native/etc/docroot/xcx/devicelist.html +659 -0
  186. package/native/etc/docroot/xcx/fonts/mui.ttf +0 -0
  187. package/native/etc/docroot/xcx/index.html +75 -0
  188. package/native/etc/docroot/xcx/index.js +1 -0
  189. package/native/etc/docroot/xcx/js/axios.min.js +3 -0
  190. package/native/etc/docroot/xcx/js/axios.min.map +1 -0
  191. package/native/etc/docroot/xcx/js/js.cookie.js +8 -0
  192. package/native/etc/docroot/xcx/js/mui.js +8390 -0
  193. package/native/etc/docroot/xcx/js/mui.min.js +6 -0
  194. package/native/etc/docroot/xcx/main.html +85 -0
  195. package/native/etc/ssl/README.txt +5 -0
  196. package/native/etc/ssl/ca.crt +21 -0
  197. package/native/etc/ssl/ca.key +27 -0
  198. package/native/etc/ssl/client.crt +20 -0
  199. package/native/etc/ssl/client.key +28 -0
  200. package/native/etc/ssl/client.p12 +0 -0
  201. package/native/etc/ssl/server.crt +20 -0
  202. package/native/etc/ssl/server.key +28 -0
  203. package/native/etc/templates/demo-de.tpl +12 -0
  204. package/native/etc/templates/demo.tpl +12 -0
  205. package/native/etc/ttys/adore03.sql +426 -0
  206. package/native/etc/ttys/adore04.sql +426 -0
  207. package/native/etc/ttys/adore1.sql +859 -0
  208. package/native/etc/ttys/adore_mix22.sql +806 -0
  209. package/native/etc/ttys/sqlite.sql +1140 -0
  210. package/native/etc/ttys/sqlite3main.sql +434 -0
  211. package/native/etc/ttys/sqltest.sql +279 -0
  212. package/native/etc/ttys/tp3sql.sql +1412 -0
  213. package/native/find.js +529 -0
  214. package/native/findsc.js +701 -0
  215. package/native/iconengines/libqsvgicon.so +0 -0
  216. package/native/imageformats/libqgif.so +0 -0
  217. package/native/imageformats/libqico.so +0 -0
  218. package/native/imageformats/libqjpeg.so +0 -0
  219. package/native/imageformats/libqsvg.so +0 -0
  220. package/native/lib/libQt5Concurrent.so.5 +0 -0
  221. package/native/lib/libQt5Core.so.5 +0 -0
  222. package/native/lib/libQt5DBus.so.5 +0 -0
  223. package/native/lib/libQt5Multimedia.so.5 +0 -0
  224. package/native/lib/libQt5MultimediaGstTools.so.5 +0 -0
  225. package/native/lib/libQt5Network.so.5 +0 -0
  226. package/native/lib/libQt5Sql.so.5 +0 -0
  227. package/native/lib/libQt5Svg.so.5 +0 -0
  228. package/native/lib/libQt5WebSockets.so.5 +0 -0
  229. package/native/lib/libQt5Xml.so.5 +0 -0
  230. package/native/lib/libcrypto.so.3 +0 -0
  231. package/native/lib/libgcc_s.so.1 +0 -0
  232. package/native/lib/libmariadb.so.3 +0 -0
  233. package/native/lib/libmp3lame.so.0 +0 -0
  234. package/native/lib/libmp3lame.so.0.0.0 +0 -0
  235. package/native/lib/libopus.so.0 +0 -0
  236. package/native/lib/libopus.so.0.8.0 +0 -0
  237. package/native/lib/libopusfile.so.0 +0 -0
  238. package/native/lib/libopusfile.so.0.4.2 +0 -0
  239. package/native/lib/libopusurl.so.0 +0 -0
  240. package/native/lib/libopusurl.so.0.4.2 +0 -0
  241. package/native/lib/libsqlite3.so.0 +0 -0
  242. package/native/lib/libsqlite3.so.0.8.6 +0 -0
  243. package/native/lib/libssl.so.3 +0 -0
  244. package/native/lib/libstdc++.so.6 +0 -0
  245. package/native/lib/libstdc++.so.6.0.30 +0 -0
  246. package/native/mediaservice/libgstaudiodecoder.so +0 -0
  247. package/native/mediaservice/libgstcamerabin.so +0 -0
  248. package/native/mediaservice/libgstmediacapture.so +0 -0
  249. package/native/mediaservice/libgstmediaplayer.so +0 -0
  250. package/native/platforms/libqeglfs.so +0 -0
  251. package/native/platforms/libqlinuxfb.so +0 -0
  252. package/native/platforms/libqminimal.so +0 -0
  253. package/native/platforms/libqminimalegl.so +0 -0
  254. package/native/platforms/libqoffscreen.so +0 -0
  255. package/native/platforms/libqvnc.so +0 -0
  256. package/native/platforms/libqxcb.so +0 -0
  257. package/native/qt.conf +3 -0
  258. package/native/sqldrivers/libqsqlite.so +0 -0
  259. package/native/sqldrivers/libqsqlmysql.so +0 -0
  260. package/native/sqldrivers/libsqlitecipher.so +0 -0
  261. package/native/tts.js +151 -0
  262. package/package.json +23 -0
@@ -0,0 +1,268 @@
1
+ /**
2
+ * 图片预览组件
3
+ * varstion 0.4.0
4
+ * by Houfeng
5
+ * Houfeng@DCloud.io
6
+ */
7
+
8
+ (function($, document) {
9
+
10
+ $.init({
11
+ gestureConfig: {
12
+ tap: true, //默认为true
13
+ doubletap: true, //默认为false
14
+ longtap: true, //默认为false
15
+ swipe: true, //默认为true
16
+ drag: true, //默认为true
17
+ hold: true, //默认为false,不监听
18
+ release: true //默认为false,不监听
19
+ }
20
+ });
21
+
22
+ var touchSupport = ('ontouchstart' in document);
23
+ var tapEventName = touchSupport ? 'tap' : 'click';
24
+ var enterEventName = touchSupport ? 'tap' : 'click';
25
+ var imageClassName = $.className('image');
26
+
27
+
28
+ //创建DOM (此函数是否可放在 mui.js 中)
29
+ $.dom = function(str) {
30
+ if (!$.__create_dom_div__) {
31
+ $.__create_dom_div__ = document.createElement('div');
32
+ }
33
+ $.__create_dom_div__.innerHTML = str;
34
+ return $.__create_dom_div__.childNodes;
35
+ };
36
+
37
+ //图片预览组件类
38
+ var ImageViewer = $.ImageViewer = $.Class.extend({
39
+ //构造函数
40
+ init: function(selector, options) {
41
+ var self = this;
42
+ self.options = options || {};
43
+ self.selector = selector || 'img';
44
+ if (self.options.dbl) {
45
+ enterEventName = touchSupport ? 'doubletap' : 'dblclick';
46
+ }
47
+ self.findAllImage();
48
+ self.createViewer();
49
+ self.bindEvent();
50
+ },
51
+ //创建图片预览组件的整体 UI
52
+ createViewer: function() {
53
+ var self = this;
54
+ self.viewer = $.dom("<div class='mui-imageviewer'><div class='mui-imageviewer-mask'></div><div class='mui-imageviewer-header'><i class='mui-icon mui-icon-closeempty mui-imageviewer-close'></i><span class='mui-imageviewer-state'></span></div><i class='mui-icon mui-icon-arrowleft mui-imageviewer-left'></i><i class='mui-icon mui-icon-arrowright mui-imageviewer-right'></i></div>");
55
+ self.viewer = self.viewer[0] || self.viewer;
56
+ //self.viewer.style.height = screen.height;
57
+ self.closeButton = self.viewer.querySelector('.mui-imageviewer-close');
58
+ self.state = self.viewer.querySelector('.mui-imageviewer-state');
59
+ self.leftButton = self.viewer.querySelector('.mui-imageviewer-left');
60
+ self.rightButton = self.viewer.querySelector('.mui-imageviewer-right');
61
+ self.mask = self.viewer.querySelector('.mui-imageviewer-mask');
62
+ document.body.appendChild(self.viewer);
63
+ },
64
+ //查找所有符合的图片
65
+ findAllImage: function() {
66
+ var self = this;
67
+ self.images = [].slice.call($(self.selector));
68
+ },
69
+ //检查图片是否为启动预览的图片
70
+ checkImage: function(target) {
71
+ var self = this;
72
+ if (target.tagName !== 'IMG') return false;
73
+ return self.images.some(function(image) {
74
+ return image == target;
75
+ });
76
+ },
77
+ //绑定事件
78
+ bindEvent: function() {
79
+ var self = this;
80
+ //绑定图片 tap 事件
81
+ document.addEventListener(enterEventName, function(event) {
82
+ if (!self.viewer) return;
83
+ var target = event.target;
84
+ if (!self.checkImage(target)) return;
85
+ self.viewer.style.display = 'block';
86
+ setTimeout(function() {
87
+ self.viewer.style.opacity = 1;
88
+ }, 0);
89
+ self.index = self.images.indexOf(target);
90
+ self.currentItem = self.createImage(self.index);
91
+ }, false);
92
+ //关系按钮事件
93
+ self.closeButton.addEventListener(tapEventName, function(event) {
94
+ self.viewer.style.opacity = 0;
95
+ setTimeout(function() {
96
+ self.viewer.style.display = 'none';
97
+ self.disposeImage(true);
98
+ }, 600);
99
+ event.preventDefault();
100
+ event.cancelBubble = true;
101
+ }, false);
102
+ //处理左右按钮
103
+ self.leftButton.addEventListener(tapEventName, function() {
104
+ self.prev();
105
+ }, false);
106
+ self.rightButton.addEventListener(tapEventName, function() {
107
+ self.next();
108
+ }, false);
109
+ //处理划动
110
+ self.mask.addEventListener($.EVENT_MOVE, function(event) {
111
+ event.preventDefault();
112
+ event.cancelBubble = true;
113
+ }, false);
114
+ self.viewer.addEventListener('swipeleft', function(event) {
115
+ if (self.scaleValue == 1) self.next();
116
+ event.preventDefault();
117
+ event.cancelBubble = true;
118
+ }, false);
119
+ self.viewer.addEventListener('swiperight', function(event) {
120
+ if (self.scaleValue == 1) self.prev();
121
+ event.preventDefault();
122
+ event.cancelBubble = true;
123
+ }, false);
124
+ //处理缩放开始
125
+ self.viewer.addEventListener($.EVENT_START, function(event) {
126
+ var touches = event.touches;
127
+ if (touches.length == 2) {
128
+ var p1 = touches[0];
129
+ var p2 = touches[1];
130
+ var x = p1.pageX - p2.pageX; //x1-x2
131
+ var y = p1.pageY - p2.pageY; //y1-y2
132
+ self.scaleStart = Math.sqrt(x * x + y * y);
133
+ self.isMultiTouch = true;
134
+ } else if (touches.length = 1) {
135
+ self.dragStart = touches[0];
136
+ }
137
+ }, false);
138
+ self.viewer.addEventListener($.EVENT_MOVE, function(event) {
139
+ var img = self.currentItem.querySelector('img');
140
+ var touches = event.changedTouches;
141
+ if (touches.length == 2) {
142
+ event.preventDefault();
143
+ event.cancelBubble = true;
144
+ var p1 = touches[0];
145
+ var p2 = touches[1];
146
+ var x = p1.pageX - p2.pageX;
147
+ var y = p1.pageY - p2.pageY;
148
+ self.scaleEnd = Math.sqrt(x * x + y * y);
149
+ self._scaleValue = (self.scaleValue * (self.scaleEnd / self.scaleStart));
150
+ //self.state.innerText = self._scaleValue;
151
+ img.style.webkitTransform = "scale(" + self._scaleValue + "," + self._scaleValue + ") "; // + " translate(" + self.dragX || 0 + "px," + self.dragY || 0 + "px)";
152
+ } else if (!self.isMultiTouch && touches.length == 1 && self.scaleValue != 1) {
153
+ event.preventDefault();
154
+ event.cancelBubble = true;
155
+ self.dragEnd = touches[0];
156
+ self._dragX = self.dragX + (self.dragEnd.pageX - self.dragStart.pageX);
157
+ self._dragY = self.dragY + (self.dragEnd.pageY - self.dragStart.pageY);
158
+ img.style.marginLeft = self._dragX + 'px';
159
+ img.style.marginTop = self._dragY + 'px';
160
+ //img.style.transform = "translate(" + self._dragX + "px," + self._dragY + "px) " + " scale(" + self.scaleValue || 1 + "," + self.scaleValue || 1 + ")";
161
+ }
162
+ }, false);
163
+ self.viewer.addEventListener($.EVENT_END, function() {
164
+ self.scaleValue = self._scaleValue || self.scaleValue;
165
+ self._scaleValue = null;
166
+ self.dragX = self._dragX;
167
+ self.dragY = self._dragY;
168
+ self._dragX = null;
169
+ self._dragY = null;
170
+ var touches = event.touches;
171
+ self.isMultiTouch = (touches.length != 0);
172
+ });
173
+ // doubletap 好像不能用
174
+ self.viewer.addEventListener('doubletap', function() {
175
+ var img = self.currentItem.querySelector('img');
176
+ if (self.scaleValue === 1) {
177
+ self.scaleValue = 2;
178
+ } else {
179
+ self.scaleValue = 1;
180
+ }
181
+ self.dragX = 0;
182
+ self.dragY = 0;
183
+ img.style.marginLeft = self.dragX + 'px';
184
+ img.style.marginTop = self.dragY + 'px';
185
+ img.style.webkitTransform = "scale(" + self.scaleValue + "," + self.scaleValue + ") "; //+ " translate(" + self.dragX || 0 + "px," + self.dragY || 0 + "px)";
186
+ self.viewer.__tap_num = 0;
187
+ }, false);
188
+ //处理缩放结束
189
+ },
190
+ //下一张图片
191
+ next: function() {
192
+ var self = this;
193
+ self.mask.style.display = 'block';
194
+ self.index++;
195
+ var newItem = self.createImage(self.index, 'right');
196
+ setTimeout(function() {
197
+ self.currentItem.classList.remove('mui-imageviewer-item-center');
198
+ self.currentItem.classList.add('mui-imageviewer-item-left');
199
+ newItem.classList.remove('mui-imageviewer-item-right');
200
+ newItem.classList.add('mui-imageviewer-item-center');
201
+ self.oldItem = self.currentItem;
202
+ self.currentItem = newItem;
203
+ // TODO: 临时,稍候将调整
204
+ setTimeout(function() {
205
+ self.disposeImage();
206
+ self.mask.style.display = 'none';
207
+ }, 600);
208
+ }, 25);
209
+ },
210
+ //上一张图片
211
+ prev: function() {
212
+ var self = this;
213
+ self.mask.style.display = 'block';
214
+ self.index--;
215
+ var newItem = self.createImage(self.index, 'left');
216
+ setTimeout(function() {
217
+ self.currentItem.classList.remove('mui-imageviewer-item-center');
218
+ self.currentItem.classList.add('mui-imageviewer-item-right');
219
+ newItem.classList.remove('mui-imageviewer-item-left');
220
+ newItem.classList.add('mui-imageviewer-item-center');
221
+ self.oldItem = self.currentItem;
222
+ self.currentItem = newItem;
223
+ // TODO: 临时,稍候将调整
224
+ setTimeout(function() {
225
+ self.disposeImage();
226
+ self.mask.style.display = 'none';
227
+ }, 600);
228
+ }, 25);
229
+ },
230
+ //释放不显示的图片
231
+ disposeImage: function(all) {
232
+ var sel = '.mui-imageviewer-item-left,.mui-imageviewer-item-right';
233
+ if (all) sel += ",.mui-imageviewer-item";
234
+ var willdisposes = $(sel);
235
+ willdisposes.each(function(i, item) {
236
+ if (item.parentNode && item.parentNode.removeChild)
237
+ item.parentNode.removeChild(item, true);
238
+ });
239
+ },
240
+ //创建一个图片
241
+ createImage: function(index, type) {
242
+ var self = this;
243
+ type = type || 'center';
244
+ if (index < 0) index = self.images.length - 1;
245
+ if (index > self.images.length - 1) index = 0;
246
+ self.index = index;
247
+ var item = $.dom("<div class='mui-imageviewer-item'></div>")[0];
248
+ item.appendChild($.dom('<span><img src="' + self.images[self.index].src + '"/></span>')[0]);
249
+ item.classList.add('mui-imageviewer-item-' + type);
250
+ self.viewer.appendChild(item);
251
+ self.state.innerText = (self.index + 1) + "/" + self.images.length;
252
+ //重置初始缩放比例
253
+ self.scaleValue = 1;
254
+ self.dragX = 0;
255
+ self.dragY = 0;
256
+ return item;
257
+ }
258
+ });
259
+
260
+ $.imageViewer = function(selector, options) {
261
+ return new ImageViewer(selector, options);
262
+ };
263
+
264
+ $.ready(function() {
265
+ $.imageViewer('.' + imageClassName);
266
+ });
267
+
268
+ }(mui, document));
@@ -0,0 +1,187 @@
1
+ /**
2
+ * IndexedList
3
+ * 类似联系人应用中的联系人列表,可以按首字母分组
4
+ * 右侧的字母定位工具条,可以快速定位列表位置
5
+ * varstion 1.0.0
6
+ * by Houfeng
7
+ * Houfeng@DCloud.io
8
+ **/
9
+
10
+ (function($, window, document) {
11
+
12
+ var classSelector = function(name) {
13
+ return '.' + $.className(name);
14
+ }
15
+
16
+ var IndexedList = $.IndexedList = $.Class.extend({
17
+ /**
18
+ * 通过 element 和 options 构造 IndexedList 实例
19
+ **/
20
+ init: function(holder, options) {
21
+ var self = this;
22
+ self.options = options || {};
23
+ self.box = holder;
24
+ if (!self.box) {
25
+ throw "实例 IndexedList 时需要指定 element";
26
+ }
27
+ self.createDom();
28
+ self.findElements();
29
+ self.caleLayout();
30
+ self.bindEvent();
31
+ },
32
+ createDom: function() {
33
+ var self = this;
34
+ self.el = self.el || {};
35
+ //styleForSearch 用于搜索,此方式能在数据较多时获取很好的性能
36
+ self.el.styleForSearch = document.createElement('style');
37
+ (document.head || document.body).appendChild(self.el.styleForSearch);
38
+ },
39
+ findElements: function() {
40
+ var self = this;
41
+ self.el = self.el || {};
42
+ self.el.search = self.box.querySelector(classSelector('indexed-list-search'));
43
+ self.el.searchInput = self.box.querySelector(classSelector('indexed-list-search-input'));
44
+ self.el.searchClear = self.box.querySelector(classSelector('indexed-list-search') + ' ' + classSelector('icon-clear'));
45
+ self.el.bar = self.box.querySelector(classSelector('indexed-list-bar'));
46
+ self.el.barItems = [].slice.call(self.box.querySelectorAll(classSelector('indexed-list-bar') + ' a'));
47
+ self.el.inner = self.box.querySelector(classSelector('indexed-list-inner'));
48
+ self.el.items = [].slice.call(self.box.querySelectorAll(classSelector('indexed-list-item')));
49
+ self.el.liArray = [].slice.call(self.box.querySelectorAll(classSelector('indexed-list-inner') + ' li'));
50
+ self.el.alert = self.box.querySelector(classSelector('indexed-list-alert'));
51
+ },
52
+ caleLayout: function() {
53
+ var self = this;
54
+ var withoutSearchHeight = (self.box.offsetHeight - self.el.search.offsetHeight) + 'px';
55
+ self.el.bar.style.height = withoutSearchHeight;
56
+ self.el.inner.style.height = withoutSearchHeight;
57
+ var barItemHeight = ((self.el.bar.offsetHeight - 40) / self.el.barItems.length) + 'px';
58
+ self.el.barItems.forEach(function(item) {
59
+ item.style.height = barItemHeight;
60
+ item.style.lineHeight = barItemHeight;
61
+ });
62
+ },
63
+ scrollTo: function(group) {
64
+ var self = this;
65
+ var groupElement = self.el.inner.querySelector('[data-group="' + group + '"]');
66
+ if (!groupElement || (self.hiddenGroups && self.hiddenGroups.indexOf(groupElement) > -1)) {
67
+ return;
68
+ }
69
+ self.el.inner.scrollTop = groupElement.offsetTop;
70
+ },
71
+ bindBarEvent: function() {
72
+ var self = this;
73
+ var pointElement = null;
74
+ var findStart = function(event) {
75
+ if (pointElement) {
76
+ pointElement.classList.remove('active');
77
+ pointElement = null;
78
+ }
79
+ self.el.bar.classList.add('active');
80
+ var point = event.changedTouches ? event.changedTouches[0] : event;
81
+ pointElement = document.elementFromPoint(point.pageX, point.pageY);
82
+ if (pointElement) {
83
+ var group = pointElement.innerText;
84
+ if (group && group.length == 1) {
85
+ pointElement.classList.add('active');
86
+ self.el.alert.innerText = group;
87
+ self.el.alert.classList.add('active');
88
+ self.scrollTo(group);
89
+ }
90
+ }
91
+ event.preventDefault();
92
+ };
93
+ var findEnd = function(event) {
94
+ self.el.alert.classList.remove('active');
95
+ self.el.bar.classList.remove('active');
96
+ if (pointElement) {
97
+ pointElement.classList.remove('active');
98
+ pointElement = null;
99
+ }
100
+ };
101
+ self.el.bar.addEventListener($.EVENT_MOVE, function(event) {
102
+ findStart(event);
103
+ }, false);
104
+ self.el.bar.addEventListener($.EVENT_START, function(event) {
105
+ findStart(event);
106
+ }, false);
107
+ document.body.addEventListener($.EVENT_END, function(event) {
108
+ findEnd(event);
109
+ }, false);
110
+ document.body.addEventListener($.EVENT_CANCEL, function(event) {
111
+ findEnd(event);
112
+ }, false);
113
+ },
114
+ search: function(keyword) {
115
+ var self = this;
116
+ keyword = (keyword || '').toLowerCase();
117
+ var selectorBuffer = [];
118
+ var groupIndex = -1;
119
+ var itemCount = 0;
120
+ var liArray = self.el.liArray;
121
+ var itemTotal = liArray.length;
122
+ self.hiddenGroups = [];
123
+ var checkGroup = function(currentIndex, last) {
124
+ if (itemCount >= currentIndex - groupIndex - (last ? 0 : 1)) {
125
+ selectorBuffer.push(classSelector('indexed-list-inner li') + ':nth-child(' + (groupIndex + 1) + ')');
126
+ self.hiddenGroups.push(liArray[groupIndex]);
127
+ };
128
+ groupIndex = currentIndex;
129
+ itemCount = 0;
130
+ }
131
+ liArray.forEach(function(item) {
132
+ var currentIndex = liArray.indexOf(item);
133
+ if (item.classList.contains($.className('indexed-list-group'))) {
134
+ checkGroup(currentIndex, false);
135
+ } else {
136
+ var text = (item.innerText || '').toLowerCase();
137
+ var value = (item.getAttribute('data-value') || '').toLowerCase();
138
+ var tags = (item.getAttribute('data-tags') || '').toLowerCase();
139
+ if (keyword && text.indexOf(keyword) < 0 &&
140
+ value.indexOf(keyword) < 0 &&
141
+ tags.indexOf(keyword) < 0) {
142
+ selectorBuffer.push(classSelector('indexed-list-inner li') + ':nth-child(' + (currentIndex + 1) + ')');
143
+ itemCount++;
144
+ }
145
+ if (currentIndex >= itemTotal - 1) {
146
+ checkGroup(currentIndex, true);
147
+ }
148
+ }
149
+ });
150
+ if (selectorBuffer.length >= itemTotal) {
151
+ self.el.inner.classList.add('empty');
152
+ } else if (selectorBuffer.length > 0) {
153
+ self.el.inner.classList.remove('empty');
154
+ self.el.styleForSearch.innerText = selectorBuffer.join(', ') + "{display:none;}";
155
+ } else {
156
+ self.el.inner.classList.remove('empty');
157
+ self.el.styleForSearch.innerText = "";
158
+ }
159
+ },
160
+ bindSearchEvent: function() {
161
+ var self = this;
162
+ self.el.searchInput.addEventListener('input', function() {
163
+ var keyword = this.value;
164
+ self.search(keyword);
165
+ }, false);
166
+ $(self.el.search).on('tap', classSelector('icon-clear'), function() {
167
+ self.search('');
168
+ }, false);
169
+ },
170
+ bindEvent: function() {
171
+ var self = this;
172
+ self.bindBarEvent();
173
+ self.bindSearchEvent();
174
+ }
175
+ });
176
+
177
+ //mui(selector).indexedList 方式
178
+ $.fn.indexedList = function(options) {
179
+ //遍历选择的元素
180
+ this.each(function(i, element) {
181
+ if (element.indexedList) return;
182
+ element.indexedList = new IndexedList(element, options);
183
+ });
184
+ return this[0] ? this[0].indexedList : null;
185
+ };
186
+
187
+ })(mui, window, document);