@supermapgis/vue-iclient-leaflet 11.2.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 (719) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +31 -0
  3. package/dist/iclient-leaflet-vue.css +24471 -0
  4. package/dist/iclient-leaflet-vue.js +190317 -0
  5. package/dist/iclient-leaflet-vue.min.css +9 -0
  6. package/dist/iclient-leaflet-vue.min.js +517 -0
  7. package/dist/index.js +15 -0
  8. package/lib/_assets/iconfont/icon-sm-components.css +245 -0
  9. package/lib/_assets/iconfont/icon-sm-components.eot +0 -0
  10. package/lib/_assets/iconfont/icon-sm-components.svg +197 -0
  11. package/lib/_assets/iconfont/icon-sm-components.ttf +0 -0
  12. package/lib/_assets/iconfont/icon-sm-components.woff +0 -0
  13. package/lib/_assets/iconfont/icon-sm-components.woff2 +0 -0
  14. package/lib/_lang/en.js +446 -0
  15. package/lib/_lang/index.js +385 -0
  16. package/lib/_lang/zh.js +445 -0
  17. package/lib/_mixin/AntdRender.js +686 -0
  18. package/lib/_mixin/Card.js +197 -0
  19. package/lib/_mixin/GridLayer.js +153 -0
  20. package/lib/_mixin/Layer.js +140 -0
  21. package/lib/_mixin/Options.js +114 -0
  22. package/lib/_mixin/Popper.js +134 -0
  23. package/lib/_mixin/Theme.js +441 -0
  24. package/lib/_mixin/ThirdService.js +243 -0
  25. package/lib/_mixin/TileLayer.js +138 -0
  26. package/lib/_mixin/Timer.js +230 -0
  27. package/lib/_mixin/VmUpdater.js +204 -0
  28. package/lib/_mixin/WebMapBase.js +3467 -0
  29. package/lib/_mixin/map-events.js +200 -0
  30. package/lib/_mixin/map-getter.js +341 -0
  31. package/lib/_types/AddressMatchParameter.js +118 -0
  32. package/lib/_types/GeoJSONParamter.js +113 -0
  33. package/lib/_types/RestDataParameter.js +141 -0
  34. package/lib/_types/RestMapParameter.js +141 -0
  35. package/lib/_types/RestParameter.js +121 -0
  36. package/lib/_types/event/BaseTypes.js +124 -0
  37. package/lib/_types/event/Event.js +442 -0
  38. package/lib/_types/event/Events.js +484 -0
  39. package/lib/_types/event/Pixel.js +295 -0
  40. package/lib/_types/event/Util.js +305 -0
  41. package/lib/_types/iPortalDataParameter.js +121 -0
  42. package/lib/_types/iServerBaseParameter.js +111 -0
  43. package/lib/_types/iServerDataParameter.js +154 -0
  44. package/lib/_types/iServerMapParameter.js +154 -0
  45. package/lib/_types/index.js +231 -0
  46. package/lib/_types/map-event.js +163 -0
  47. package/lib/_utils/EchartsDataService.js +843 -0
  48. package/lib/_utils/RestService.js +7096 -0
  49. package/lib/_utils/WebMapService.js +1607 -0
  50. package/lib/_utils/epsg-define.js +181 -0
  51. package/lib/_utils/get-features.js +232 -0
  52. package/lib/_utils/global-event.js +134 -0
  53. package/lib/_utils/iPortalDataService.js +7459 -0
  54. package/lib/_utils/iServerRestService.js +7603 -0
  55. package/lib/_utils/props-binder.js +129 -0
  56. package/lib/_utils/statistics.js +147 -0
  57. package/lib/_utils/style/color/colorPalette.js +192 -0
  58. package/lib/_utils/style/color/serialColors.js +352 -0
  59. package/lib/_utils/style/common/common.css +1 -0
  60. package/lib/_utils/style/mixins/config.css +0 -0
  61. package/lib/_utils/style/mixins/mixins.css +0 -0
  62. package/lib/_utils/style/theme/antd.css +25242 -0
  63. package/lib/_utils/style/theme/antdVar.css +0 -0
  64. package/lib/_utils/style/theme/chart.js +7477 -0
  65. package/lib/_utils/style/theme/set-theme.js +200 -0
  66. package/lib/_utils/style/theme/theme.css +0 -0
  67. package/lib/_utils/style/theme/theme.json +356 -0
  68. package/lib/_utils/util.js +484 -0
  69. package/lib/_utils/vue-types/index.js +396 -0
  70. package/lib/_utils/vue-types/utils.js +318 -0
  71. package/lib/avatar/index.js +656 -0
  72. package/lib/avatar/style/avatar.css +1 -0
  73. package/lib/avatar/style/css.js +9 -0
  74. package/lib/avatar/style/index.css +2135 -0
  75. package/lib/avatar/style/index.js +9 -0
  76. package/lib/border/index.js +642 -0
  77. package/lib/border/style/border.css +1 -0
  78. package/lib/border/style/css.js +7 -0
  79. package/lib/border/style/index.js +7 -0
  80. package/lib/breadcrumb/index.js +813 -0
  81. package/lib/breadcrumb/style/breadcrumb.css +1 -0
  82. package/lib/breadcrumb/style/css.js +9 -0
  83. package/lib/breadcrumb/style/index.css +2102 -0
  84. package/lib/breadcrumb/style/index.js +9 -0
  85. package/lib/button/index.js +758 -0
  86. package/lib/button/style/button.css +1 -0
  87. package/lib/button/style/css.js +9 -0
  88. package/lib/button/style/index.css +3571 -0
  89. package/lib/button/style/index.js +9 -0
  90. package/lib/card/index.js +824 -0
  91. package/lib/card/style/card.css +1 -0
  92. package/lib/card/style/css.js +9 -0
  93. package/lib/card/style/index.css +2379 -0
  94. package/lib/card/style/index.js +9 -0
  95. package/lib/chart/index.js +9471 -0
  96. package/lib/chart/style/chart.css +1 -0
  97. package/lib/chart/style/css.js +11 -0
  98. package/lib/chart/style/index.js +11 -0
  99. package/lib/checkbox/index.js +756 -0
  100. package/lib/checkbox/style/checkbox.css +1 -0
  101. package/lib/checkbox/style/css.js +9 -0
  102. package/lib/checkbox/style/index.css +2286 -0
  103. package/lib/checkbox/style/index.js +9 -0
  104. package/lib/collapse/index.js +446 -0
  105. package/lib/collapse/style/collapse.css +1 -0
  106. package/lib/collapse/style/css.js +9 -0
  107. package/lib/collapse/style/index.css +2187 -0
  108. package/lib/collapse/style/index.js +9 -0
  109. package/lib/collapse-card/index.js +588 -0
  110. package/lib/collapse-card/style/collapse-card.css +1 -0
  111. package/lib/collapse-card/style/css.js +7 -0
  112. package/lib/collapse-card/style/index.js +7 -0
  113. package/lib/color-picker/index.js +521 -0
  114. package/lib/color-picker/style/color-picker.css +1 -0
  115. package/lib/color-picker/style/css.js +7 -0
  116. package/lib/color-picker/style/index.js +7 -0
  117. package/lib/date-picker/index.js +680 -0
  118. package/lib/date-picker/style/css.js +9 -0
  119. package/lib/date-picker/style/date-picker.css +1 -0
  120. package/lib/date-picker/style/index.css +4236 -0
  121. package/lib/date-picker/style/index.js +9 -0
  122. package/lib/dropdown/index.js +347 -0
  123. package/lib/dropdown/style/css.js +9 -0
  124. package/lib/dropdown/style/dropdown.css +1 -0
  125. package/lib/dropdown/style/index.css +2344 -0
  126. package/lib/dropdown/style/index.js +9 -0
  127. package/lib/empty/index.js +643 -0
  128. package/lib/empty/style/css.js +9 -0
  129. package/lib/empty/style/empty.css +1 -0
  130. package/lib/empty/style/index.css +2095 -0
  131. package/lib/empty/style/index.js +9 -0
  132. package/lib/icon/index.js +681 -0
  133. package/lib/icon/style/css.js +9 -0
  134. package/lib/icon/style/icon.css +1 -0
  135. package/lib/icon/style/index.css +2058 -0
  136. package/lib/icon/style/index.js +9 -0
  137. package/lib/identify/index.js +1081 -0
  138. package/lib/identify/style/css.js +9 -0
  139. package/lib/identify/style/identify.css +1 -0
  140. package/lib/identify/style/index.js +9 -0
  141. package/lib/iframe/index.js +344 -0
  142. package/lib/iframe/style/css.js +7 -0
  143. package/lib/iframe/style/iframe.css +1 -0
  144. package/lib/iframe/style/index.js +7 -0
  145. package/lib/image/index.js +446 -0
  146. package/lib/image/style/css.js +7 -0
  147. package/lib/image/style/image.css +1 -0
  148. package/lib/image/style/index.js +7 -0
  149. package/lib/index.js +1040 -0
  150. package/lib/indicator/index.js +996 -0
  151. package/lib/indicator/style/countTo.css +1 -0
  152. package/lib/indicator/style/css.js +7 -0
  153. package/lib/indicator/style/index.js +7 -0
  154. package/lib/indicator/style/indicator.css +1 -0
  155. package/lib/init.js +207 -0
  156. package/lib/input/index.js +1151 -0
  157. package/lib/input/style/css.js +9 -0
  158. package/lib/input/style/index.css +2549 -0
  159. package/lib/input/style/index.js +9 -0
  160. package/lib/input/style/input.css +1 -0
  161. package/lib/input-number/index.js +739 -0
  162. package/lib/input-number/style/css.js +9 -0
  163. package/lib/input-number/style/index.css +2360 -0
  164. package/lib/input-number/style/index.js +9 -0
  165. package/lib/input-number/style/input-number.css +1 -0
  166. package/lib/layout/index.js +700 -0
  167. package/lib/layout/style/css.js +9 -0
  168. package/lib/layout/style/index.css +2185 -0
  169. package/lib/layout/style/index.js +9 -0
  170. package/lib/layout/style/layout.css +0 -0
  171. package/lib/liquid-fill/index.js +983 -0
  172. package/lib/liquid-fill/style/css.js +7 -0
  173. package/lib/liquid-fill/style/index.js +7 -0
  174. package/lib/liquid-fill/style/liquid-fill.css +1 -0
  175. package/lib/marker/index.js +649 -0
  176. package/lib/marker/style/css.js +0 -0
  177. package/lib/marker/style/index.js +0 -0
  178. package/lib/menu/index.js +858 -0
  179. package/lib/menu/style/css.js +9 -0
  180. package/lib/menu/style/index.css +2777 -0
  181. package/lib/menu/style/index.js +9 -0
  182. package/lib/menu/style/menu.css +0 -0
  183. package/lib/message/index.js +174 -0
  184. package/lib/message/style/css.js +9 -0
  185. package/lib/message/style/index.css +2143 -0
  186. package/lib/message/style/index.js +9 -0
  187. package/lib/message/style/message.css +1 -0
  188. package/lib/modal/index.js +742 -0
  189. package/lib/modal/style/css.js +9 -0
  190. package/lib/modal/style/index.css +2289 -0
  191. package/lib/modal/style/index.js +9 -0
  192. package/lib/modal/style/modal.css +1 -0
  193. package/lib/nav/style/css.js +9 -0
  194. package/lib/nav/style/index.js +9 -0
  195. package/lib/nav/style/nav.css +1 -0
  196. package/lib/notification/index.js +151 -0
  197. package/lib/notification/style/css.js +9 -0
  198. package/lib/notification/style/index.css +2285 -0
  199. package/lib/notification/style/index.js +9 -0
  200. package/lib/notification/style/notification.css +1 -0
  201. package/lib/pagination/index.js +352 -0
  202. package/lib/pagination/style/css.js +9 -0
  203. package/lib/pagination/style/index.css +2529 -0
  204. package/lib/pagination/style/index.js +9 -0
  205. package/lib/pagination/style/pagination.css +1 -0
  206. package/lib/popup/index.js +800 -0
  207. package/lib/popup/style/css.js +0 -0
  208. package/lib/popup/style/index.js +0 -0
  209. package/lib/progress/index.js +1146 -0
  210. package/lib/progress/style/css.js +9 -0
  211. package/lib/progress/style/index.css +2226 -0
  212. package/lib/progress/style/index.js +9 -0
  213. package/lib/progress/style/progress.css +1 -0
  214. package/lib/radio/index.js +852 -0
  215. package/lib/radio/style/css.js +9 -0
  216. package/lib/radio/style/index.css +2381 -0
  217. package/lib/radio/style/index.js +9 -0
  218. package/lib/radio/style/radio.css +1 -0
  219. package/lib/select/index.js +836 -0
  220. package/lib/select/style/css.js +9 -0
  221. package/lib/select/style/index.css +2655 -0
  222. package/lib/select/style/index.js +9 -0
  223. package/lib/select/style/select.css +1 -0
  224. package/lib/slider/index.js +347 -0
  225. package/lib/slider/style/css.js +9 -0
  226. package/lib/slider/style/index.css +2233 -0
  227. package/lib/slider/style/index.js +9 -0
  228. package/lib/slider/style/slider.css +1 -0
  229. package/lib/slideshow/index.js +913 -0
  230. package/lib/slideshow/style/css.js +9 -0
  231. package/lib/slideshow/style/index.js +9 -0
  232. package/lib/slideshow/style/slideshow.css +1 -0
  233. package/lib/spin/index.js +357 -0
  234. package/lib/spin/style/css.js +9 -0
  235. package/lib/spin/style/index.css +2268 -0
  236. package/lib/spin/style/index.js +9 -0
  237. package/lib/spin/style/spin.css +1 -0
  238. package/lib/steps/index.js +748 -0
  239. package/lib/steps/style/css.js +9 -0
  240. package/lib/steps/style/index.css +2724 -0
  241. package/lib/steps/style/index.js +9 -0
  242. package/lib/steps/style/steps.css +1 -0
  243. package/lib/style.js +7 -0
  244. package/lib/switch/index.js +654 -0
  245. package/lib/switch/style/css.js +9 -0
  246. package/lib/switch/style/index.css +2241 -0
  247. package/lib/switch/style/index.js +9 -0
  248. package/lib/switch/style/switch.css +1 -0
  249. package/lib/table/index.js +810 -0
  250. package/lib/table/style/css.js +9 -0
  251. package/lib/table/style/index.css +2909 -0
  252. package/lib/table/style/index.js +9 -0
  253. package/lib/table/style/table.css +1 -0
  254. package/lib/table-popup/index.js +438 -0
  255. package/lib/table-popup/style/css.js +9 -0
  256. package/lib/table-popup/style/index.js +9 -0
  257. package/lib/table-popup/style/table-popup.css +1 -0
  258. package/lib/tabs/index.js +743 -0
  259. package/lib/tabs/style/css.js +9 -0
  260. package/lib/tabs/style/index.css +2692 -0
  261. package/lib/tabs/style/index.js +9 -0
  262. package/lib/tabs/style/tabs.css +1 -0
  263. package/lib/text/index.js +434 -0
  264. package/lib/text/style/css.js +7 -0
  265. package/lib/text/style/index.js +7 -0
  266. package/lib/text/style/text.css +1 -0
  267. package/lib/tile-layer/index.js +535 -0
  268. package/lib/tile-layer/style/css.js +0 -0
  269. package/lib/tile-layer/style/index.js +0 -0
  270. package/lib/time-line/index.js +654 -0
  271. package/lib/time-line/style/css.js +7 -0
  272. package/lib/time-line/style/index.js +7 -0
  273. package/lib/time-line/style/time-line.css +1 -0
  274. package/lib/time-picker/index.js +669 -0
  275. package/lib/time-picker/style/css.js +9 -0
  276. package/lib/time-picker/style/index.css +2418 -0
  277. package/lib/time-picker/style/index.js +9 -0
  278. package/lib/time-picker/style/time-picker.css +1 -0
  279. package/lib/time-range/index.js +526 -0
  280. package/lib/time-range/style/css.js +7 -0
  281. package/lib/time-range/style/index.js +7 -0
  282. package/lib/time-range/style/time-range.css +1 -0
  283. package/lib/time-slider/index.js +1169 -0
  284. package/lib/time-slider/style/css.js +7 -0
  285. package/lib/time-slider/style/index.js +7 -0
  286. package/lib/time-slider/style/time-slider.css +1 -0
  287. package/lib/time-text/index.js +393 -0
  288. package/lib/time-text/style/css.js +7 -0
  289. package/lib/time-text/style/index.js +7 -0
  290. package/lib/time-text/style/time-text.css +1 -0
  291. package/lib/tooltip/index.js +635 -0
  292. package/lib/tooltip/style/css.js +9 -0
  293. package/lib/tooltip/style/index.css +2231 -0
  294. package/lib/tooltip/style/index.js +9 -0
  295. package/lib/tooltip/style/tooltip.css +0 -0
  296. package/lib/transfer/index.js +636 -0
  297. package/lib/transfer/style/css.js +9 -0
  298. package/lib/transfer/style/index.css +2302 -0
  299. package/lib/transfer/style/index.js +9 -0
  300. package/lib/transfer/style/transfer.css +1 -0
  301. package/lib/tree/index.js +857 -0
  302. package/lib/tree/style/css.js +9 -0
  303. package/lib/tree/style/index.css +2644 -0
  304. package/lib/tree/style/index.js +9 -0
  305. package/lib/tree/style/tree.css +1 -0
  306. package/lib/tree-select/index.js +765 -0
  307. package/lib/tree-select/style/css.js +9 -0
  308. package/lib/tree-select/style/index.css +2508 -0
  309. package/lib/tree-select/style/index.js +9 -0
  310. package/lib/tree-select/style/tree-select.css +1 -0
  311. package/lib/video-player/index.js +1472 -0
  312. package/lib/video-player/style/css.js +11 -0
  313. package/lib/video-player/style/index.js +11 -0
  314. package/lib/video-player/style/video-player.css +1 -0
  315. package/lib/web-map/index.js +2241 -0
  316. package/lib/web-map/style/css.js +15 -0
  317. package/lib/web-map/style/index.js +15 -0
  318. package/lib/web-map/style/web-map.css +1 -0
  319. package/package.json +97 -0
  320. package/src/common/_assets/iconfont/icon-sm-components.css +245 -0
  321. package/src/common/_assets/iconfont/icon-sm-components.eot +0 -0
  322. package/src/common/_assets/iconfont/icon-sm-components.svg +197 -0
  323. package/src/common/_assets/iconfont/icon-sm-components.ttf +0 -0
  324. package/src/common/_assets/iconfont/icon-sm-components.woff +0 -0
  325. package/src/common/_assets/iconfont/icon-sm-components.woff2 +0 -0
  326. package/src/common/_lang/en.js +355 -0
  327. package/src/common/_lang/index.js +177 -0
  328. package/src/common/_lang/zh.js +342 -0
  329. package/src/common/_mixin/AntdRender.ts +114 -0
  330. package/src/common/_mixin/Card.ts +22 -0
  331. package/src/common/_mixin/Theme.ts +222 -0
  332. package/src/common/_mixin/ThirdService.ts +58 -0
  333. package/src/common/_mixin/Timer.ts +58 -0
  334. package/src/common/_mixin/VmUpdater.ts +46 -0
  335. package/src/common/_types/AddressMatchParameter.js +9 -0
  336. package/src/common/_types/GeoJSONParamter.ts +17 -0
  337. package/src/common/_types/RestDataParameter.js +8 -0
  338. package/src/common/_types/RestMapParameter.js +8 -0
  339. package/src/common/_types/RestParameter.js +12 -0
  340. package/src/common/_types/event/BaseTypes.js +24 -0
  341. package/src/common/_types/event/Event.js +315 -0
  342. package/src/common/_types/event/Events.js +353 -0
  343. package/src/common/_types/event/Pixel.js +177 -0
  344. package/src/common/_types/event/Util.js +173 -0
  345. package/src/common/_types/iPortalDataParameter.js +12 -0
  346. package/src/common/_types/iServerBaseParameter.ts +28 -0
  347. package/src/common/_types/iServerDataParameter.ts +13 -0
  348. package/src/common/_types/iServerMapParameter.ts +13 -0
  349. package/src/common/_utils/EchartsDataService.js +527 -0
  350. package/src/common/_utils/RestService.js +130 -0
  351. package/src/common/_utils/WebMapService.ts +1292 -0
  352. package/src/common/_utils/epsg-define.js +55 -0
  353. package/src/common/_utils/get-features.js +92 -0
  354. package/src/common/_utils/global-event.js +6 -0
  355. package/src/common/_utils/iPortalDataService.js +444 -0
  356. package/src/common/_utils/iServerRestService.js +487 -0
  357. package/src/common/_utils/statistics.js +36 -0
  358. package/src/common/_utils/style/color/colorPalette.ts +63 -0
  359. package/src/common/_utils/style/color/serialColors.ts +207 -0
  360. package/src/common/_utils/style/common/common.scss +39 -0
  361. package/src/common/_utils/style/mixins/config.scss +4 -0
  362. package/src/common/_utils/style/mixins/mixins.scss +48 -0
  363. package/src/common/_utils/style/theme/antd.less +2 -0
  364. package/src/common/_utils/style/theme/antdVar.less +371 -0
  365. package/src/common/_utils/style/theme/chart.js +548 -0
  366. package/src/common/_utils/style/theme/set-theme.ts +43 -0
  367. package/src/common/_utils/style/theme/theme.json +356 -0
  368. package/src/common/_utils/style/theme/theme.scss +495 -0
  369. package/src/common/_utils/util.js +251 -0
  370. package/src/common/_utils/vue-types/index.js +267 -0
  371. package/src/common/_utils/vue-types/utils.js +194 -0
  372. package/src/common/avatar/Avatar.vue +41 -0
  373. package/src/common/avatar/index.js +9 -0
  374. package/src/common/avatar/style/avatar.scss +8 -0
  375. package/src/common/avatar/style/index.js +4 -0
  376. package/src/common/avatar/style/index.less +3 -0
  377. package/src/common/border/Border.vue +121 -0
  378. package/src/common/border/assets/border.config.json +67 -0
  379. package/src/common/border/assets/image/border1.png +0 -0
  380. package/src/common/border/assets/image/border10.png +0 -0
  381. package/src/common/border/assets/image/border11.png +0 -0
  382. package/src/common/border/assets/image/border12.png +0 -0
  383. package/src/common/border/assets/image/border13.png +0 -0
  384. package/src/common/border/assets/image/border2.png +0 -0
  385. package/src/common/border/assets/image/border3.png +0 -0
  386. package/src/common/border/assets/image/border4.png +0 -0
  387. package/src/common/border/assets/image/border5.png +0 -0
  388. package/src/common/border/assets/image/border6.png +0 -0
  389. package/src/common/border/assets/image/border7.png +0 -0
  390. package/src/common/border/assets/image/border8.png +0 -0
  391. package/src/common/border/assets/image/border9.png +0 -0
  392. package/src/common/border/index.js +9 -0
  393. package/src/common/border/style/border.scss +19 -0
  394. package/src/common/border/style/index.js +4 -0
  395. package/src/common/breadcrumb/Breadcrumb.vue +21 -0
  396. package/src/common/breadcrumb/BreadcrumbItem.vue +21 -0
  397. package/src/common/breadcrumb/BreadcrumbSeparator.vue +19 -0
  398. package/src/common/breadcrumb/index.js +13 -0
  399. package/src/common/breadcrumb/style/breadcrumb.scss +21 -0
  400. package/src/common/breadcrumb/style/index.js +4 -0
  401. package/src/common/breadcrumb/style/index.less +3 -0
  402. package/src/common/button/Button.vue +34 -0
  403. package/src/common/button/Group.vue +31 -0
  404. package/src/common/button/index.js +11 -0
  405. package/src/common/button/style/button.scss +91 -0
  406. package/src/common/button/style/index.js +4 -0
  407. package/src/common/button/style/index.less +3 -0
  408. package/src/common/button/style/mixin.scss +56 -0
  409. package/src/common/card/Card.vue +32 -0
  410. package/src/common/card/Grid.vue +20 -0
  411. package/src/common/card/Meta.vue +20 -0
  412. package/src/common/card/index.js +13 -0
  413. package/src/common/card/style/card.scss +43 -0
  414. package/src/common/card/style/index.js +4 -0
  415. package/src/common/card/style/index.less +3 -0
  416. package/src/common/chart/ChartMixin.vue +1572 -0
  417. package/src/common/chart/index.js +9 -0
  418. package/src/common/chart/style/chart.scss +10 -0
  419. package/src/common/chart/style/index.js +5 -0
  420. package/src/common/checkbox/Checkbox.vue +37 -0
  421. package/src/common/checkbox/Group.vue +36 -0
  422. package/src/common/checkbox/index.js +11 -0
  423. package/src/common/checkbox/style/checkbox.scss +40 -0
  424. package/src/common/checkbox/style/index.js +4 -0
  425. package/src/common/checkbox/style/index.less +3 -0
  426. package/src/common/collapse/Collapse.vue +32 -0
  427. package/src/common/collapse/Panel.vue +26 -0
  428. package/src/common/collapse/index.js +11 -0
  429. package/src/common/collapse/style/collapse.scss +10 -0
  430. package/src/common/collapse/style/index.js +4 -0
  431. package/src/common/collapse/style/index.less +3 -0
  432. package/src/common/collapse-card/CollapseCard.vue +150 -0
  433. package/src/common/collapse-card/index.js +9 -0
  434. package/src/common/collapse-card/style/collapse-card.scss +176 -0
  435. package/src/common/collapse-card/style/index.js +4 -0
  436. package/src/common/color-picker/ColorPicker.vue +106 -0
  437. package/src/common/color-picker/index.js +9 -0
  438. package/src/common/color-picker/style/color-picker.scss +37 -0
  439. package/src/common/color-picker/style/index.js +4 -0
  440. package/src/common/config-provider/ConfigProvider.vue +31 -0
  441. package/src/common/config-provider/index.js +9 -0
  442. package/src/common/date-picker/BaseMixin.vue +23 -0
  443. package/src/common/date-picker/DatePicker.vue +20 -0
  444. package/src/common/date-picker/MonthPicker.vue +20 -0
  445. package/src/common/date-picker/RangePicker.vue +20 -0
  446. package/src/common/date-picker/WeekPicker.vue +20 -0
  447. package/src/common/date-picker/index.js +15 -0
  448. package/src/common/date-picker/style/date-picker.scss +290 -0
  449. package/src/common/date-picker/style/index.js +4 -0
  450. package/src/common/date-picker/style/index.less +3 -0
  451. package/src/common/date-picker/style/mixin.scss +75 -0
  452. package/src/common/dropdown/Dropdown.vue +31 -0
  453. package/src/common/dropdown/index.js +9 -0
  454. package/src/common/dropdown/style/dropdown.scss +22 -0
  455. package/src/common/dropdown/style/index.js +4 -0
  456. package/src/common/dropdown/style/index.less +3 -0
  457. package/src/common/empty/Empty.vue +26 -0
  458. package/src/common/empty/RenderEmpty.ts +50 -0
  459. package/src/common/empty/assets/image/empty.png +0 -0
  460. package/src/common/empty/index.js +9 -0
  461. package/src/common/empty/style/empty.scss +31 -0
  462. package/src/common/empty/style/index.js +4 -0
  463. package/src/common/empty/style/index.less +3 -0
  464. package/src/common/icon/Icon.vue +66 -0
  465. package/src/common/icon/index.js +9 -0
  466. package/src/common/icon/style/icon.scss +12 -0
  467. package/src/common/icon/style/index.js +4 -0
  468. package/src/common/icon/style/index.less +3 -0
  469. package/src/common/iframe/Iframe.vue +17 -0
  470. package/src/common/iframe/index.js +9 -0
  471. package/src/common/iframe/style/iframe.scss +7 -0
  472. package/src/common/iframe/style/index.js +4 -0
  473. package/src/common/image/Image.vue +83 -0
  474. package/src/common/image/index.js +9 -0
  475. package/src/common/image/style/image.scss +33 -0
  476. package/src/common/image/style/index.js +4 -0
  477. package/src/common/indicator/CountTo.vue +92 -0
  478. package/src/common/indicator/Indicator.vue +308 -0
  479. package/src/common/indicator/index.js +11 -0
  480. package/src/common/indicator/style/countTo.scss +7 -0
  481. package/src/common/indicator/style/index.js +4 -0
  482. package/src/common/indicator/style/indicator.scss +47 -0
  483. package/src/common/input/BaseMixin.vue +24 -0
  484. package/src/common/input/Group.vue +31 -0
  485. package/src/common/input/Input.vue +41 -0
  486. package/src/common/input/Password.vue +41 -0
  487. package/src/common/input/Search.vue +40 -0
  488. package/src/common/input/TextArea.vue +25 -0
  489. package/src/common/input/index.js +17 -0
  490. package/src/common/input/style/index.js +4 -0
  491. package/src/common/input/style/index.less +3 -0
  492. package/src/common/input/style/input.scss +72 -0
  493. package/src/common/input/style/mixin.scss +42 -0
  494. package/src/common/input-number/InputNumber.vue +44 -0
  495. package/src/common/input-number/index.js +9 -0
  496. package/src/common/input-number/style/index.js +4 -0
  497. package/src/common/input-number/style/index.less +3 -0
  498. package/src/common/input-number/style/input-number.scss +43 -0
  499. package/src/common/layout/Content.vue +25 -0
  500. package/src/common/layout/Footer.vue +25 -0
  501. package/src/common/layout/Header.vue +25 -0
  502. package/src/common/layout/Layout.vue +25 -0
  503. package/src/common/layout/Sider.vue +33 -0
  504. package/src/common/layout/index.js +17 -0
  505. package/src/common/layout/style/index.js +4 -0
  506. package/src/common/layout/style/index.less +3 -0
  507. package/src/common/layout/style/layout.scss +5 -0
  508. package/src/common/liquid-fill/LiquidFill.vue +209 -0
  509. package/src/common/liquid-fill/index.js +9 -0
  510. package/src/common/liquid-fill/style/index.js +4 -0
  511. package/src/common/liquid-fill/style/liquid-fill.scss +6 -0
  512. package/src/common/menu/Menu.vue +31 -0
  513. package/src/common/menu/MenuItem.vue +37 -0
  514. package/src/common/menu/SubMenu.vue +51 -0
  515. package/src/common/menu/index.js +13 -0
  516. package/src/common/menu/style/index.js +4 -0
  517. package/src/common/menu/style/index.less +3 -0
  518. package/src/common/menu/style/menu.scss +0 -0
  519. package/src/common/message/Message.js +12 -0
  520. package/src/common/message/index.js +3 -0
  521. package/src/common/message/style/index.js +4 -0
  522. package/src/common/message/style/index.less +3 -0
  523. package/src/common/message/style/message.scss +16 -0
  524. package/src/common/modal/Modal.vue +64 -0
  525. package/src/common/modal/index.js +9 -0
  526. package/src/common/modal/main.ts +49 -0
  527. package/src/common/modal/style/index.js +4 -0
  528. package/src/common/modal/style/index.less +3 -0
  529. package/src/common/modal/style/modal.scss +23 -0
  530. package/src/common/nav/Nav.vue +158 -0
  531. package/src/common/nav/assets/image/background_image.png +0 -0
  532. package/src/common/nav/assets/image/item_active.png +0 -0
  533. package/src/common/nav/index.js +9 -0
  534. package/src/common/nav/style/index.js +5 -0
  535. package/src/common/nav/style/nav.scss +55 -0
  536. package/src/common/notification/Notification.js +10 -0
  537. package/src/common/notification/index.js +3 -0
  538. package/src/common/notification/style/index.js +4 -0
  539. package/src/common/notification/style/index.less +3 -0
  540. package/src/common/notification/style/notification.scss +30 -0
  541. package/src/common/pagination/Pagination.vue +32 -0
  542. package/src/common/pagination/index.js +9 -0
  543. package/src/common/pagination/style/index.js +4 -0
  544. package/src/common/pagination/style/index.less +3 -0
  545. package/src/common/pagination/style/pagination.scss +131 -0
  546. package/src/common/progress/Progress.vue +98 -0
  547. package/src/common/progress/index.js +9 -0
  548. package/src/common/progress/style/index.js +4 -0
  549. package/src/common/progress/style/index.less +3 -0
  550. package/src/common/progress/style/progress.scss +43 -0
  551. package/src/common/radio/Button.vue +18 -0
  552. package/src/common/radio/Group.vue +48 -0
  553. package/src/common/radio/Radio.vue +36 -0
  554. package/src/common/radio/index.js +13 -0
  555. package/src/common/radio/style/index.js +4 -0
  556. package/src/common/radio/style/index.less +3 -0
  557. package/src/common/radio/style/radio.scss +127 -0
  558. package/src/common/select/OptGroup.vue +20 -0
  559. package/src/common/select/Option.vue +22 -0
  560. package/src/common/select/Select.vue +49 -0
  561. package/src/common/select/index.js +13 -0
  562. package/src/common/select/style/index.js +4 -0
  563. package/src/common/select/style/index.less +3 -0
  564. package/src/common/select/style/select.scss +140 -0
  565. package/src/common/slider/Slider.vue +31 -0
  566. package/src/common/slider/index.js +9 -0
  567. package/src/common/slider/style/index.js +4 -0
  568. package/src/common/slider/style/index.less +3 -0
  569. package/src/common/slider/style/slider.scss +8 -0
  570. package/src/common/slideshow/Slideshow.vue +354 -0
  571. package/src/common/slideshow/SlideshowItem.vue +17 -0
  572. package/src/common/slideshow/Swiper.js +29 -0
  573. package/src/common/slideshow/index.js +11 -0
  574. package/src/common/slideshow/style/index.js +5 -0
  575. package/src/common/slideshow/style/slideshow.scss +48 -0
  576. package/src/common/spin/Spin.vue +17 -0
  577. package/src/common/spin/index.js +9 -0
  578. package/src/common/spin/main.ts +13 -0
  579. package/src/common/spin/style/index.js +4 -0
  580. package/src/common/spin/style/index.less +3 -0
  581. package/src/common/spin/style/spin.scss +14 -0
  582. package/src/common/steps/Step.vue +33 -0
  583. package/src/common/steps/Steps.vue +39 -0
  584. package/src/common/steps/index.js +11 -0
  585. package/src/common/steps/style/index.js +4 -0
  586. package/src/common/steps/style/index.less +3 -0
  587. package/src/common/steps/style/mixin.scss +67 -0
  588. package/src/common/steps/style/steps.scss +98 -0
  589. package/src/common/switch/Switch.vue +41 -0
  590. package/src/common/switch/index.js +9 -0
  591. package/src/common/switch/style/index.js +4 -0
  592. package/src/common/switch/style/index.less +3 -0
  593. package/src/common/switch/style/switch.scss +20 -0
  594. package/src/common/table/Column.vue +18 -0
  595. package/src/common/table/ColumnGroup.vue +19 -0
  596. package/src/common/table/Table.vue +18 -0
  597. package/src/common/table/index.js +13 -0
  598. package/src/common/table/style/index.js +4 -0
  599. package/src/common/table/style/index.less +3 -0
  600. package/src/common/table/style/table.scss +138 -0
  601. package/src/common/table-popup/TablePopup.vue +73 -0
  602. package/src/common/table-popup/index.js +9 -0
  603. package/src/common/table-popup/style/index.js +5 -0
  604. package/src/common/table-popup/style/table-popup.scss +52 -0
  605. package/src/common/tabs/TabPane.vue +26 -0
  606. package/src/common/tabs/Tabs.vue +41 -0
  607. package/src/common/tabs/index.js +11 -0
  608. package/src/common/tabs/style/index.js +4 -0
  609. package/src/common/tabs/style/index.less +3 -0
  610. package/src/common/tabs/style/tabs.scss +95 -0
  611. package/src/common/text/Text.vue +69 -0
  612. package/src/common/text/index.js +9 -0
  613. package/src/common/text/style/index.js +4 -0
  614. package/src/common/text/style/text.scss +23 -0
  615. package/src/common/time-line/TimeLine.vue +260 -0
  616. package/src/common/time-line/index.js +9 -0
  617. package/src/common/time-line/style/index.js +4 -0
  618. package/src/common/time-line/style/time-line.scss +10 -0
  619. package/src/common/time-picker/TimePicker.vue +47 -0
  620. package/src/common/time-picker/index.js +9 -0
  621. package/src/common/time-picker/style/index.js +4 -0
  622. package/src/common/time-picker/style/index.less +3 -0
  623. package/src/common/time-picker/style/time-picker.scss +69 -0
  624. package/src/common/time-range/TimeRange.vue +122 -0
  625. package/src/common/time-range/index.js +9 -0
  626. package/src/common/time-range/style/index.js +4 -0
  627. package/src/common/time-range/style/time-range.scss +10 -0
  628. package/src/common/time-slider/TimeSlider.vue +591 -0
  629. package/src/common/time-slider/index.js +9 -0
  630. package/src/common/time-slider/style/index.js +4 -0
  631. package/src/common/time-slider/style/mixin.scss +36 -0
  632. package/src/common/time-slider/style/time-slider.scss +147 -0
  633. package/src/common/time-text/TimeText.vue +51 -0
  634. package/src/common/time-text/index.js +9 -0
  635. package/src/common/time-text/style/index.js +4 -0
  636. package/src/common/time-text/style/time-text.scss +14 -0
  637. package/src/common/tooltip/Tooltip.vue +21 -0
  638. package/src/common/tooltip/index.js +9 -0
  639. package/src/common/tooltip/style/index.js +4 -0
  640. package/src/common/tooltip/style/index.less +3 -0
  641. package/src/common/tooltip/style/tooltip.scss +5 -0
  642. package/src/common/transfer/Transfer.vue +19 -0
  643. package/src/common/transfer/index.js +9 -0
  644. package/src/common/transfer/style/index.js +4 -0
  645. package/src/common/transfer/style/index.less +3 -0
  646. package/src/common/transfer/style/transfer.scss +52 -0
  647. package/src/common/tree/DirectoryTree.vue +32 -0
  648. package/src/common/tree/Tree.vue +32 -0
  649. package/src/common/tree/TreeNode.vue +49 -0
  650. package/src/common/tree/index.js +13 -0
  651. package/src/common/tree/style/index.js +4 -0
  652. package/src/common/tree/style/index.less +3 -0
  653. package/src/common/tree/style/tree.scss +16 -0
  654. package/src/common/tree-select/TreeSelect.vue +43 -0
  655. package/src/common/tree-select/TreeSelectNode.vue +49 -0
  656. package/src/common/tree-select/index.js +11 -0
  657. package/src/common/tree-select/style/index.js +4 -0
  658. package/src/common/tree-select/style/index.less +3 -0
  659. package/src/common/tree-select/style/tree-select.scss +38 -0
  660. package/src/common/video-player/VideoPlayer.vue +423 -0
  661. package/src/common/video-player/index.js +9 -0
  662. package/src/common/video-player/style/index.js +5 -0
  663. package/src/common/video-player/style/video-player.scss +266 -0
  664. package/src/common/web-map/WebMapBase.ts +1178 -0
  665. package/src/common/web-map/config/MunicipalCenter.json +1 -0
  666. package/src/common/web-map/config/ProvinceCenter.json +1 -0
  667. package/src/image.d.ts +7 -0
  668. package/src/init.js +38 -0
  669. package/src/leaflet/README.md +31 -0
  670. package/src/leaflet/_mixin/GridLayer.js +33 -0
  671. package/src/leaflet/_mixin/Layer.js +26 -0
  672. package/src/leaflet/_mixin/Options.js +10 -0
  673. package/src/leaflet/_mixin/Popper.js +25 -0
  674. package/src/leaflet/_mixin/TileLayer.js +18 -0
  675. package/src/leaflet/_mixin/map-getter.ts +122 -0
  676. package/src/leaflet/_types/index.js +17 -0
  677. package/src/leaflet/_types/map-event.js +34 -0
  678. package/src/leaflet/_utils/props-binder.js +23 -0
  679. package/src/leaflet/chart/Chart.vue +25 -0
  680. package/src/leaflet/chart/ChartViewModel.js +44 -0
  681. package/src/leaflet/chart/index.js +9 -0
  682. package/src/leaflet/components.ts +206 -0
  683. package/src/leaflet/css.js +3 -0
  684. package/src/leaflet/entrys.json +106 -0
  685. package/src/leaflet/identify/Identify.vue +233 -0
  686. package/src/leaflet/identify/IdentifyViewModel.js +114 -0
  687. package/src/leaflet/identify/index.js +9 -0
  688. package/src/leaflet/identify/style/identify.scss +30 -0
  689. package/src/leaflet/identify/style/index.js +4 -0
  690. package/src/leaflet/index.ts +5 -0
  691. package/src/leaflet/leaflet-wrapper.js +125 -0
  692. package/src/leaflet/marker/Marker.vue +46 -0
  693. package/src/leaflet/marker/MarkerViewModel.js +31 -0
  694. package/src/leaflet/marker/index.js +9 -0
  695. package/src/leaflet/package.json +97 -0
  696. package/src/leaflet/popup/Popup.vue +93 -0
  697. package/src/leaflet/popup/PopupViewModel.js +75 -0
  698. package/src/leaflet/popup/index.js +9 -0
  699. package/src/leaflet/style.js +3 -0
  700. package/src/leaflet/style.scss +52 -0
  701. package/src/leaflet/web-map/WebMap.vue +213 -0
  702. package/src/leaflet/web-map/WebMapViewModel.ts +1102 -0
  703. package/src/leaflet/web-map/_mixin/map-events.ts +65 -0
  704. package/src/leaflet/web-map/index.js +9 -0
  705. package/src/leaflet/web-map/layer/tile/TileLayer.vue +88 -0
  706. package/src/leaflet/web-map/layer/tile/TileLayerViewModel.js +66 -0
  707. package/src/leaflet/web-map/layer/tile/index.js +9 -0
  708. package/src/leaflet/web-map/style/index.js +7 -0
  709. package/src/leaflet/web-map/style/web-map.scss +32 -0
  710. package/src/sfc.d.ts +50 -0
  711. package/src/vue-i18n.d.ts +26 -0
  712. package/src/vue-options.d.ts +18 -0
  713. package/static/libs/echarts-layer/EchartsLayer.js +390 -0
  714. package/static/libs/geostats/geostats.js +1227 -0
  715. package/static/libs/iclient-common/iclient-common.js +2 -0
  716. package/static/libs/iclient-leaflet/iclient-leaflet.min.css +8 -0
  717. package/static/libs/iclient-leaflet/iclient-leaflet.min.js +1741 -0
  718. package/static/libs/json-sql/jsonsql.js +125 -0
  719. package/tsconfig.json +43 -0
@@ -0,0 +1,591 @@
1
+ <template>
2
+ <div class="sm-component-time-slider" dir="ltr" :style="[getBackgroundStyle, newThemeStyle]">
3
+ <button class="sm-play-control sm-button sm-paused" :style="{ color, ...newThemeStyle }" @click="changePlayState">
4
+ <i :class="['sm-icon-play', playState ? 'sm-components-icon-zanting' : 'sm-components-icon-bofang3']" />
5
+ </button>
6
+ <div class="sm-progress-control-wrapper" :style="lineStyleHeight">
7
+ <div
8
+ :class="['sm-progress-control', uniqueId]"
9
+ :style="{ ...lineStyle, ...lineStyleHeight }"
10
+ @click="handleMouseClick"
11
+ >
12
+ <div class="sm-progress-holder">
13
+ <div class="sm-load-progress" :style="{ width: sliderBarWidth }"></div>
14
+ <div class="sm-mouse-display" :style="{ left: mouseLeft + 'px' }">
15
+ <div v-show="mouseCurrent" class="sm-time-tooltip">
16
+ <span class="sm-time-tooltip-content">{{ mouseCurrent }}</span>
17
+ </div>
18
+ </div>
19
+ <div class="sm-play-progress sm-slider-bar" :style="{ ...playProgressStyle, width: sliderBarWidth }"></div>
20
+ <div v-show="showLabel" class="sm-time-node" :style="newLabelStyle">
21
+ <div class="sm-start-node">{{ startFormat }}</div>
22
+ <div class="sm-end-node">{{ endFormat }}</div>
23
+ </div>
24
+ </div>
25
+ </div>
26
+ </div>
27
+ </div>
28
+ </template>
29
+ <script lang="ts">
30
+ import Theme from 'vue-iclient/src/common/_mixin/Theme';
31
+ import interact from 'interactjs';
32
+ import moment from 'moment';
33
+ import UniqueId from 'lodash.uniqueid';
34
+ import { Component, Prop, Mixins, Emit, Watch } from 'vue-property-decorator';
35
+
36
+ type Label = {
37
+ formatter?: Function;
38
+ show?: boolean;
39
+ };
40
+
41
+ type lineStyle = {
42
+ height: string;
43
+ };
44
+ @Component({
45
+ name: 'SmTimeSlider'
46
+ })
47
+ export default class SmTimeSlider extends Mixins(Theme) {
48
+ mouseTime: string | number = 0;
49
+ mouseLeft = 0;
50
+ currentTime = 0;
51
+ playState = false;
52
+ sliderBarWidth = '0%';
53
+ status = false;
54
+ draggable: boolean = false;
55
+ updateInterval: any;
56
+ rafIds_: Object;
57
+ namedRafs_: any;
58
+ uniqueId: string = UniqueId(`${this.$options.name.toLowerCase()}-`);
59
+
60
+ @Prop({ default: false }) autoPlay: boolean;
61
+ @Prop({ default: true }) loop: boolean;
62
+ @Prop({ default: 1000 }) playInterval: number;
63
+ @Prop() duration: number;
64
+ @Prop({
65
+ default() {
66
+ return [];
67
+ }
68
+ })
69
+ data: Array<any>;
70
+
71
+ @Prop({
72
+ default() {
73
+ return {};
74
+ }
75
+ })
76
+ label: Label;
77
+
78
+ @Prop({
79
+ default() {
80
+ return {};
81
+ }
82
+ })
83
+ lineStyle: lineStyle;
84
+
85
+ @Prop({
86
+ default() {
87
+ return {};
88
+ }
89
+ })
90
+ checkpointStyle: Object;
91
+
92
+ @Prop({
93
+ default() {
94
+ return {};
95
+ }
96
+ })
97
+ themeStyle: Object;
98
+
99
+ get color() {
100
+ return this.getColor(0);
101
+ }
102
+
103
+ get showLabel() {
104
+ if (!this.label || !Object.prototype.hasOwnProperty.call(this.label, 'show')) {
105
+ return true;
106
+ }
107
+ return this.label.show;
108
+ }
109
+
110
+ get formatter() {
111
+ return (this.label || {}).formatter;
112
+ }
113
+
114
+ get newThemeStyle() {
115
+ return Object.assign(this.themeStyle || {});
116
+ }
117
+
118
+ get newLabelStyle() {
119
+ const labelStyle = { color: this.getTextColor, ...this.label };
120
+ delete labelStyle.formatter;
121
+ return Object.assign(labelStyle || {});
122
+ }
123
+
124
+ get isDataDuration() {
125
+ return !this.duration;
126
+ }
127
+
128
+ get startValue() {
129
+ return this.isDataDuration ? this.data[0] : 0;
130
+ }
131
+
132
+ get endValue() {
133
+ if (!this.isDataDuration) {
134
+ return this.duration;
135
+ }
136
+ const length = this.data.length;
137
+ if (length < 1) {
138
+ return '';
139
+ }
140
+ const end = this.data[length - 1];
141
+ return end;
142
+ }
143
+
144
+ get startFormat() {
145
+ if (this.startValue === void 0) {
146
+ return '';
147
+ }
148
+ return this.formatTime(this.startValue);
149
+ }
150
+
151
+ get endFormat() {
152
+ return this.formatTime(this.endValue);
153
+ }
154
+
155
+ get UPDATE_REFRESH_INTERVAL() {
156
+ return this.playInterval / 30;
157
+ }
158
+
159
+ get playbackRate() {
160
+ if (!this.isDataDuration) {
161
+ return this.UPDATE_REFRESH_INTERVAL;
162
+ }
163
+ if (!this.data || this.data.length < 2) {
164
+ return 0;
165
+ }
166
+ const length = this.data.length;
167
+ const totalInterval = this.playInterval * (length - 1);
168
+ const rate = this.dataDuration / (totalInterval / this.UPDATE_REFRESH_INTERVAL);
169
+ return rate * 1000;
170
+ }
171
+
172
+ get current() {
173
+ const current = (this.isDataDuration ? this.currentTime / 1000 : this.currentTime) + this.startValue;
174
+ return this.formatTime(current);
175
+ }
176
+
177
+ get mouseCurrent() {
178
+ if (this.isDataDuration && (!this.data || this.data.length === 0)) {
179
+ return '';
180
+ }
181
+ const current = this.mouseTime + this.startValue;
182
+ return this.formatTime(current);
183
+ }
184
+
185
+ get lineStyleHeight() {
186
+ if (this.lineStyle && Object.prototype.hasOwnProperty.call(this.lineStyle, 'height')) {
187
+ return { height: this.lineStyle.height };
188
+ }
189
+ return { height: '6px' };
190
+ }
191
+
192
+ get sliderBarSize() {
193
+ const height: number = parseFloat(this.lineStyleHeight.height);
194
+ return height <= 6 ? height * 2 : height * 1.5;
195
+ }
196
+
197
+ get playProgressStyle() {
198
+ const checkpointStyle = Object.assign(
199
+ { 'border-color': this.color, background: this.color },
200
+ this.checkpointStyle || {}
201
+ );
202
+
203
+ if (checkpointStyle && checkpointStyle.background) {
204
+ return { background: checkpointStyle.background };
205
+ }
206
+ return {};
207
+ }
208
+
209
+ get checkPointStyle() {
210
+ let style = '';
211
+ for (let key in this.checkpointStyle) {
212
+ style += `${key}: ${this.checkpointStyle[key]} !important;`;
213
+ }
214
+ return style;
215
+ }
216
+
217
+ get dataDuration() {
218
+ if (this.isDataDuration) {
219
+ const data = this.data || [];
220
+ const start = parseInt(data[0]) || 0;
221
+ const end = data.length > 1 ? parseInt(data[data.length - 1]) : start;
222
+ return end - start || 0;
223
+ }
224
+ return 0;
225
+ }
226
+
227
+ @Watch('draggable')
228
+ draggableWatcher() {
229
+ this.bindMouseMove('mousemove', this.handleMouseMove);
230
+ this.bindMouseMove('click', this.handleMouseClick);
231
+ }
232
+
233
+ @Watch('sliderBarWidth')
234
+ sliderBarWidthWatcher() {
235
+ const left = this.sliderBarWidth === '100.00%' ? `calc(100% - ${this.sliderBarSize}px)` : this.sliderBarWidth;
236
+ this.modifySliderBarStyle(`left:${left} !important`);
237
+ }
238
+
239
+ @Watch('lineStyleHeight')
240
+ lineStyleWatcher() {
241
+ this.modifySliderBarStyle(`width:${this.sliderBarSize}px !important;height:${this.sliderBarSize}px !important`);
242
+ }
243
+
244
+ @Watch('checkpointStyle', { immediate: true })
245
+ checkpointStyleWatcher() {
246
+ this.modifySliderBarStyle(this.checkPointStyle);
247
+ }
248
+
249
+ @Watch('currentTime', { immediate: true })
250
+ currentTimeWatcher() {
251
+ if (
252
+ (this.isDataDuration && this.currentTime >= this.dataDuration * 1000) ||
253
+ (!this.isDataDuration && this.currentTime >= this.duration)
254
+ ) {
255
+ if (!this.loop) {
256
+ this.updateDom();
257
+ this.emitEnd();
258
+ } else if (this.loop && this.playState) {
259
+ this.currentTime = 0;
260
+ }
261
+ }
262
+ this.timePlayerChange();
263
+ }
264
+
265
+ @Watch('autoPlay', { immediate: true })
266
+ autoPlayWatcher() {
267
+ this.autoPlay ? this.emitPlaying() : this.emitPause();
268
+ }
269
+
270
+ @Watch('playState', { immediate: true })
271
+ playStateWatcher() {
272
+ this.emitTimePlayerPlay();
273
+ }
274
+
275
+ mounted() {
276
+ this.$nextTick(() => this.bindDrag(this.uniqueId));
277
+ this.$on('playing', this.enableInterval_);
278
+ this.$on('pause', this.disableInterval_);
279
+ this.$on('end', this.disableInterval_);
280
+ this.bindMouseMove('mousemove', this.handleMouseMove);
281
+ this.bindMouseMove('click', this.handleMouseClick);
282
+ this.$on('theme-style-changed', () => {
283
+ const left = this.sliderBarWidth === '100.00%' ? `calc(100% - ${this.sliderBarSize})` : this.sliderBarWidth;
284
+ this.modifySliderBarStyle(`${this.checkPointStyle}left:${left} !important`);
285
+ });
286
+ this.init();
287
+ }
288
+
289
+ beforeDestroy() {
290
+ this.$off('playing', this.enableInterval_);
291
+ this.$off('pause', this.disableInterval_);
292
+ this.$off('end', this.disableInterval_);
293
+ }
294
+
295
+ init() {
296
+ this.autoPlay ? this.emitPlaying() : this.emitPause();
297
+ }
298
+
299
+ bindMouseMove(eventName, fn, className = this.uniqueId) {
300
+ const el = document.getElementsByClassName(className)[0];
301
+ if (this.draggable) {
302
+ // @ts-ignore
303
+ el.removeEventListener(eventName, fn);
304
+ } else {
305
+ // @ts-ignore
306
+ el.addEventListener(eventName, fn);
307
+ }
308
+ }
309
+
310
+ bindDrag(className) {
311
+ interact(`.${className}`).draggable({
312
+ startAxis: 'x',
313
+ lockAxis: 'x',
314
+ enabled: true,
315
+ inertia: true,
316
+ modifiers: [
317
+ interact.modifiers.restrict({
318
+ restriction: 'self'
319
+ })
320
+ ],
321
+ cursorChecker: () => {
322
+ return 'pointer';
323
+ },
324
+ listeners: {
325
+ start: () => {
326
+ this.draggable = true;
327
+ },
328
+ move: event => {
329
+ if (this.draggable) {
330
+ this.handleDragMove(event);
331
+ }
332
+ },
333
+ end: () => {
334
+ this.draggable = false;
335
+ }
336
+ }
337
+ });
338
+ }
339
+
340
+ changePlayState() {
341
+ this.playState = !this.playState;
342
+ this.playState ? this.emitPlaying() : this.emitPause();
343
+ }
344
+
345
+ updateDom() {
346
+ if (!this.$el) {
347
+ return '';
348
+ }
349
+ const progress = this.getProgress();
350
+ if (!this.draggable) {
351
+ this.requestNamedAnimationFrame('Slider#update', () => {
352
+ this.sliderBarWidth = (progress * 100).toFixed(2) + '%';
353
+ });
354
+ }
355
+ this.sliderBarWidth = (progress * 100).toFixed(2) + '%';
356
+ return progress;
357
+ }
358
+
359
+ handleMouseClick(event, offsetX) {
360
+ const newTime = this.getCurrentTime_(event, offsetX);
361
+ this.setcurrentTime(newTime);
362
+ this.handleMouseMove(event, offsetX);
363
+ if (this.playState) {
364
+ setTimeout(this.updateDom, 1000);
365
+ } else {
366
+ this.updateDom();
367
+ }
368
+ }
369
+
370
+ handleMouseMove(event, offsetX) {
371
+ const newTime = this.getCurrentTime_(event, offsetX);
372
+ this.mouseTime = newTime;
373
+ this.mouseLeft = event.offsetX || offsetX * this.getTotalDistance();
374
+ }
375
+
376
+ handleDragMove(event) {
377
+ const totalDistance = this.getTotalDistance();
378
+ const distance = event.dx / totalDistance + this.getProgress();
379
+ this.handleMouseClick(event, distance);
380
+ this.handleMouseMove(event, distance);
381
+ }
382
+
383
+ setcurrentTime(time) {
384
+ if (typeof time !== 'undefined') {
385
+ if (time < 0) {
386
+ time = 0;
387
+ }
388
+ this.currentTime = this.isDataDuration ? time * 1000 : time;
389
+ }
390
+ }
391
+
392
+ getTotalDistance(className = this.uniqueId) {
393
+ // @ts-ignore
394
+ return document.getElementsByClassName(className)[0].offsetWidth;
395
+ }
396
+
397
+ getProgress() {
398
+ return Number(this.clamp(this.getPercent(), 0, 1).toFixed(4));
399
+ }
400
+
401
+ getPercent() {
402
+ if (this.isDataDuration) {
403
+ const currentTime = this.currentTime / 1000;
404
+ const percent = currentTime / this.dataDuration;
405
+ return percent;
406
+ }
407
+ return this.currentTime / this.duration;
408
+ }
409
+
410
+ getCurrentTime_(event, percent) {
411
+ const distance = event.offsetX;
412
+ const totalDistance = this.getTotalDistance();
413
+ percent = percent || distance / totalDistance;
414
+ percent = Math.min(1, Math.max(0, percent));
415
+ let newTime = percent * (this.isDataDuration ? this.dataDuration : this.duration);
416
+ if (newTime === Infinity) {
417
+ return '';
418
+ }
419
+ return newTime;
420
+ }
421
+
422
+ clamp(number, min, max) {
423
+ number = Number(number);
424
+ return Math.min(max, Math.max(min, isNaN(number) ? min : number));
425
+ }
426
+
427
+ enableInterval_() {
428
+ this.playState = true;
429
+ if (this.updateInterval) {
430
+ return;
431
+ }
432
+ this.updateInterval = setInterval(() => {
433
+ this.currentTime += this.playbackRate;
434
+ if (this.isDataDuration) {
435
+ this.currentTime = this.currentTime / 1000 >= this.dataDuration ? this.dataDuration * 1000 : this.currentTime;
436
+ } else {
437
+ this.currentTime = this.currentTime >= this.duration ? this.duration : this.currentTime;
438
+ }
439
+ this.updateDom();
440
+ }, this.UPDATE_REFRESH_INTERVAL);
441
+ }
442
+
443
+ disableInterval_() {
444
+ if (!this.updateInterval) {
445
+ return;
446
+ }
447
+ clearInterval(this.updateInterval);
448
+ this.updateInterval = null;
449
+ this.playState = false;
450
+ }
451
+
452
+ requestAnimationFrame(fn) {
453
+ // @ts-ignore
454
+ if (!this.supportsRaf_) {
455
+ return setTimeout(fn, 1000 / 60);
456
+ }
457
+
458
+ let id;
459
+
460
+ fn = fn.bind(this);
461
+
462
+ id = window.requestAnimationFrame(() => {
463
+ // @ts-ignore
464
+ if (this.rafIds_.has(id)) {
465
+ // @ts-ignore
466
+ this.rafIds_.delete(id);
467
+ }
468
+ fn();
469
+ });
470
+ // @ts-ignore
471
+ this.rafIds_.add(id);
472
+
473
+ return id;
474
+ }
475
+
476
+ requestNamedAnimationFrame(name, fn) {
477
+ if (!this.namedRafs_) {
478
+ this.namedRafs_ = {};
479
+ }
480
+
481
+ fn = fn.bind(this);
482
+ const id = this.requestAnimationFrame(() => {
483
+ fn();
484
+ if (Object.prototype.hasOwnProperty.call(this.namedRafs_, name)) {
485
+ delete this.namedRafs_.name;
486
+ }
487
+ });
488
+ this.namedRafs_[name] = id;
489
+ return name;
490
+ }
491
+
492
+ cancelNamedAnimationFrame(name) {
493
+ if (!this.namedRafs_.has(name)) {
494
+ return;
495
+ }
496
+ this.cancelAnimationFrame(this.namedRafs_.get(name));
497
+ this.namedRafs_.delete(name);
498
+ }
499
+
500
+ cancelAnimationFrame(id) {
501
+ if (!this.rafIds_) {
502
+ this.rafIds_ = {};
503
+ }
504
+
505
+ if (Object.prototype.hasOwnProperty.call(this.rafIds_, id)) {
506
+ delete this.rafIds_[id];
507
+ window.cancelAnimationFrame(id);
508
+ }
509
+ return id;
510
+ }
511
+
512
+ formatTime(timestamp) {
513
+ // timestamp
514
+ if (this.formatter) {
515
+ return this.formatter(timestamp);
516
+ }
517
+ const defaultFormat = this.isDataDuration ? 'YYYY-MM--DD HH:mm:ss' : 'HH:mm:ss';
518
+ const date = this.isDataDuration ? this.timestamp2Date(timestamp) : this.duration2Date(timestamp);
519
+ // 判断是否是Date格式
520
+ if (!moment(date, defaultFormat).isValid()) {
521
+ return timestamp;
522
+ }
523
+ return date;
524
+ }
525
+
526
+ timestamp2Date(timestamp) {
527
+ return timestamp ? moment(timestamp * 1000).format('YYYY-MM-DD HH:mm:ss') : '';
528
+ }
529
+
530
+ duration2Date(duration = this.duration) {
531
+ const $moment = moment.duration(duration, 'milliseconds');
532
+ const hours = this.getZeroPlaceholder($moment.hours());
533
+ const minutes = this.getZeroPlaceholder($moment.minutes());
534
+ const seconds = this.getZeroPlaceholder($moment.seconds());
535
+ return [hours, minutes, seconds].join(':');
536
+ }
537
+
538
+ getZeroPlaceholder(val) {
539
+ if (val === 0) {
540
+ return '00';
541
+ // @ts-ignore
542
+ } else if (parseInt(val / 10) <= 0) {
543
+ return `0${val}`;
544
+ } else {
545
+ return val;
546
+ }
547
+ }
548
+
549
+ modifySliderBarStyle(style, ruleName = `.${this.uniqueId}::before`) {
550
+ // @ts-ignore
551
+ document.styleSheets[0].addRule(ruleName, style);
552
+ }
553
+
554
+ @Emit('timeplayerchanged')
555
+ timePlayerChange() {
556
+ const currentTimeStamp = this.currentTime + this.startValue * 1000;
557
+ if (this.isDataDuration) {
558
+ // @ts-ignore
559
+ const lastIndex: number = this.data.findIndex((val, index) => {
560
+ if (index < this.data.length - 1) {
561
+ const nextData = this.data[index + 1];
562
+ const timestamp = val * 1000;
563
+ const nextTimestamp = nextData * 1000;
564
+ if (timestamp <= currentTimeStamp && nextTimestamp > currentTimeStamp) {
565
+ return true;
566
+ }
567
+ }
568
+ return false;
569
+ });
570
+ const nextIndex = lastIndex === -1 ? -1 : lastIndex + 1 <= this.data.length ? lastIndex + 1 : lastIndex;
571
+ return { currentTimeStamp, lastIndex, nextIndex };
572
+ } else {
573
+ return { currentDuration: currentTimeStamp };
574
+ }
575
+ }
576
+
577
+ @Emit('playing')
578
+ emitPlaying() {}
579
+
580
+ @Emit('pause')
581
+ emitPause() {}
582
+
583
+ @Emit('end')
584
+ emitEnd() {}
585
+
586
+ @Emit('timeplayerplaychanged')
587
+ emitTimePlayerPlay() {
588
+ return this.playState;
589
+ }
590
+ }
591
+ </script>
@@ -0,0 +1,9 @@
1
+ import TimeSlider from './TimeSlider';
2
+ import init from 'vue-iclient/src/init';
3
+
4
+ TimeSlider.install = function(Vue, opts) {
5
+ init(Vue, opts);
6
+ Vue.component(TimeSlider.options ? TimeSlider.options.name : TimeSlider.name, TimeSlider);
7
+ };
8
+
9
+ export default TimeSlider;
@@ -0,0 +1,4 @@
1
+ import 'vue-iclient/src/common/_assets/iconfont/icon-sm-components.css';
2
+ import 'vue-iclient/src/common/_utils/style/common/common.scss';
3
+
4
+ import './time-slider.scss';
@@ -0,0 +1,36 @@
1
+ @mixin transition($string: $transition--default) {
2
+ -webkit-transition: $string;
3
+ -moz-transition: $string;
4
+ -ms-transition: $string;
5
+ -o-transition: $string;
6
+ transition: $string;
7
+ }
8
+
9
+ @mixin display-flex($alignment: '', $justification: '') {
10
+ display: -webkit-box;
11
+ display: -webkit-flex;
12
+ display: -ms-flexbox;
13
+ display: flex;
14
+
15
+ @if $alignment != '' {
16
+ -webkit-box-align: $alignment;
17
+ -webkit-align-items: $alignment;
18
+ -ms-flex-align: $alignment;
19
+ align-items: $alignment;
20
+ }
21
+
22
+ @if $justification != '' {
23
+ -webkit-box-pack: $justification;
24
+ -webkit-justify-content: $justification;
25
+ -ms-flex-pack: $justification;
26
+ justify-content: $justification;
27
+ }
28
+ }
29
+
30
+ @mixin flex($value) {
31
+ -webkit-box-flex: $value;
32
+ -moz-box-flex: $value;
33
+ -webkit-flex: $value;
34
+ -ms-flex: $value;
35
+ flex: $value;
36
+ }