From b839e671d6e94702d7ad4c1510c27759524363f3 Mon Sep 17 00:00:00 2001 From: lishenfeng Date: Mon, 13 Apr 2026 14:13:06 +0800 Subject: [PATCH] =?UTF-8?q?init():=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 26 + .hbuilderx/launch.json | 23 + App.vue | 47 + index.html | 26 + main.js | 68 + manifest.json | 128 + package-lock.json | 128 + package.json | 11 + pages.json | 297 + pages/addressBook/addressBook.vue | 329 + pages/addressBook/follow.vue | 159 + pages/addressBook/myDept.vue | 189 + pages/forewarning/forewarning.vue | 174 + pages/forewarning/hd.vue | 273 + pages/forewarning/sh.vue | 343 + .../shInformation/shInformation.vue | 119 + pages/forewarning/sk.vue | 275 + pages/gqzq/detail/index.vue | 306 + pages/gqzq/gqxx.vue | 521 ++ pages/gqzq/gqxx/gqxx.vue | 87 + pages/gqzq/gqxx/qk.vue | 315 + pages/gqzq/gqxx/qkForm.vue | 301 + pages/gqzq/gqxx/xq.vue | 331 + pages/gqzq/gqxx/xqForm.vue | 311 + pages/gqzq/index.vue | 122 + pages/gqzq/zqxx.vue | 392 + pages/gqzq/zqxx/form.vue | 352 + pages/gqzq/zqxx/table.vue | 319 + pages/gqzq/zqxx/zqxx.vue | 51 + pages/hdDetail/hdDetail.vue | 113 + pages/hdDetail/jcsj/chartOption.js | 242 + pages/hdDetail/jcsj/jcsj.vue | 166 + pages/hdDetail/jcsj/jcsjTable.vue | 110 + pages/hdDetail/spjk/spjk.vue | 127 + pages/hdDetail/tjsj/tjsj.vue | 161 + pages/hdDetail/zbyq/resList.vue | 87 + pages/hdDetail/zbyq/zbyq.vue | 166 + pages/homeIndex/chartOption.js | 100 + pages/homeIndex/index.vue | 1259 +++ pages/homeIndex/warnSwiper.vue | 110 + pages/login/login.vue | 254 + pages/modifyPassword/modifyPassword.vue | 140 + pages/mypage/mypage.vue | 241 + pages/orderFeedback/fk.vue | 175 + pages/orderFeedback/orderFeedback.vue | 314 + pages/orderFeedback/orderInformation.vue | 146 + pages/orderFeedback/zl.vue | 151 + pages/personInfo/personInfo.vue | 258 + pages/rain/Table.vue | 114 + pages/rain/rain.vue | 556 ++ pages/rainDetail/jcsj/chartOption.js | 181 + pages/rainDetail/jcsj/jcsj.vue | 171 + pages/rainDetail/jcsj/jcsjTable.vue | 91 + pages/rainDetail/rainDetail.vue | 102 + pages/rainDetail/tjsj/tjsj.vue | 144 + pages/rainDetail/zbyq/resList.vue | 87 + pages/rainDetail/zbyq/zbyq.vue | 166 + pages/skDetail/jcsj/chartOption.js | 261 + pages/skDetail/jcsj/jcsj.vue | 172 + pages/skDetail/jcsj/jcsjTable.vue | 110 + pages/skDetail/skDetail.vue | 161 + pages/skDetail/spjk/spjk.vue | 131 + pages/skDetail/tjsj/tjsj.vue | 161 + pages/skDetail/txjc/txjc.vue | 120 + pages/skDetail/zbyq/resList.vue | 87 + pages/skDetail/zbyq/zbyq.vue | 166 + pages/skDetail/zrtx/card.vue | 156 + pages/skDetail/zrtx/zrtx.vue | 55 + pages/upgrade/index.vue | 276 + pages/utils/dicType.js | 43 + pages/utils/tool.js | 64 + pages/utils/upgrade.js | 90 + pages/water/hdWater/hdWater.vue | 167 + pages/water/hdWater/table.vue | 125 + pages/water/skWater/skWater.vue | 167 + pages/water/skWater/table.vue | 135 + pages/water/water.vue | 93 + pages/xxsb/dsfrom.vue | 762 ++ pages/xxsb/from.vue | 682 ++ pages/xxsb/fromSeverity.vue | 656 ++ pages/xxsb/index.vue | 91 + pages/xxsb/map.vue | 124 + static/c1.png | Bin 0 -> 401 bytes static/c2.png | Bin 0 -> 470 bytes static/c3.png | Bin 0 -> 511 bytes static/c4.png | Bin 0 -> 476 bytes static/c5.png | Bin 0 -> 472 bytes static/c6.png | Bin 0 -> 545 bytes static/c7.png | Bin 0 -> 365 bytes static/c8.png | Bin 0 -> 587 bytes static/c9.png | Bin 0 -> 565 bytes static/customicons.css | 20 + static/customicons.ttf | Bin 0 -> 2416 bytes static/h5Player/h5player.min.js | 313 + static/h5Player/playctrl1/DecodeWorker.js | 642 ++ static/h5Player/playctrl1/Decoder.js | 1 + static/h5Player/playctrl1simd/DecodeWorker.js | 642 ++ static/h5Player/playctrl1simd/Decoder.js | 1 + static/h5Player/playctrl2/Decoder.js | 21 + static/h5Player/playctrl2/Decoder.wasm | Bin 0 -> 2765133 bytes static/h5Player/playctrl2/Decoder.worker.js | 1 + static/h5Player/playctrl3/Decoder.js | 21 + static/h5Player/playctrl3/Decoder.wasm | Bin 0 -> 3142947 bytes static/h5Player/playctrl3/Decoder.worker.js | 1 + static/h5Player/talk/AudioInterCom.js | 21 + static/h5Player/talk/AudioInterCom.wasm | Bin 0 -> 1088347 bytes static/h5Player/talkW/AudioInterCom.js | 21 + static/h5Player/talkW/AudioInterCom.wasm | Bin 0 -> 1104247 bytes static/h5Player/talkW/AudioInterCom.worker.js | 1 + .../h5Player/transform/libSystemTransform.js | 6525 ++++++++++++++ .../transform/libSystemTransform.wasm | Bin 0 -> 799346 bytes .../transform/systemTransform-worker.js | 120 + static/h5Player/webplayer.html | 84 + static/images/dept.png | Bin 0 -> 5138 bytes static/images/deptItem.png | Bin 0 -> 7058 bytes static/images/filter.png | Bin 0 -> 5297 bytes static/images/follow.png | Bin 0 -> 7118 bytes static/images/home.png | Bin 0 -> 4289 bytes static/images/home1.png | Bin 0 -> 18631 bytes static/images/home2.png | Bin 0 -> 18631 bytes static/images/icon.png | Bin 0 -> 386 bytes static/images/info.png | Bin 0 -> 723 bytes static/images/my.png | Bin 0 -> 897 bytes static/images/my1.png | Bin 0 -> 904 bytes static/images/my2_icon@2x.png | Bin 0 -> 6585 bytes static/images/my2_icon@2x2.png | Bin 0 -> 19679 bytes static/images/password.png | Bin 0 -> 826 bytes static/images/phone_icon@2x.png | Bin 0 -> 5255 bytes static/images/phone_icon@2x2.png | Bin 0 -> 24732 bytes static/images/u8.png | Bin 0 -> 312276 bytes static/images/upgrade.png | Bin 0 -> 39003 bytes static/logo.png | Bin 0 -> 4023 bytes static/logo1.png | Bin 0 -> 5590 bytes static/logoc.png | Bin 0 -> 463446 bytes static/tabs/add.png | Bin 0 -> 3540 bytes static/tabs/bigImg.png | Bin 0 -> 650922 bytes static/tabs/chartcolumn@2x.png | Bin 0 -> 1136 bytes static/tabs/dw-icon.png | Bin 0 -> 668 bytes static/tabs/gongqing.png | Bin 0 -> 35220 bytes static/tabs/gongqing2.png | Bin 0 -> 65015 bytes static/tabs/home.png | Bin 0 -> 4289 bytes static/tabs/home1.png | Bin 0 -> 18631 bytes static/tabs/home2.png | Bin 0 -> 18631 bytes static/tabs/ld.png | Bin 0 -> 1311 bytes static/tabs/my2_icon@2x.png | Bin 0 -> 6585 bytes static/tabs/my2_icon@2x2.png | Bin 0 -> 19679 bytes static/tabs/noData1.png | Bin 0 -> 27629 bytes static/tabs/phone_icon@2x.png | Bin 0 -> 5255 bytes static/tabs/phone_icon@2x2.png | Bin 0 -> 24732 bytes static/tabs/touxiang.png | Bin 0 -> 36144 bytes static/tabs/water.png | Bin 0 -> 24807 bytes static/tabs/water2.png | Bin 0 -> 57102 bytes static/tabs/xingzhuang.png | Bin 0 -> 21237 bytes static/tabs/xingzhuang2.png | Bin 0 -> 62580 bytes static/tabs/xinxi_icon@2x.png | Bin 0 -> 31144 bytes static/tabs/xinxi_icon@2x2.png | Bin 0 -> 53934 bytes static/tabs/yujing_icon@2x.png | Bin 0 -> 16781 bytes static/tabs/yujing_icon@2x2.png | Bin 0 -> 57030 bytes static/uni.png | Bin 0 -> 4162 bytes subpkg/rainDetail/rainDetail.vue | 11 + template.html | 28 + uni.scss | 3 + uni_modules/qiun-data-charts/changelog.md | 320 + .../qiun-data-charts/qiun-data-charts.vue | 1618 ++++ .../components/qiun-error/qiun-error.vue | 46 + .../components/qiun-loading/loading1.vue | 162 + .../components/qiun-loading/loading2.vue | 170 + .../components/qiun-loading/loading3.vue | 173 + .../components/qiun-loading/loading4.vue | 222 + .../components/qiun-loading/loading5.vue | 229 + .../components/qiun-loading/qiun-loading.vue | 36 + .../js_sdk/u-charts/config-echarts.js | 425 + .../js_sdk/u-charts/config-ucharts.js | 606 ++ .../js_sdk/u-charts/readme.md | 5 + .../js_sdk/u-charts/u-charts.js | 7706 +++++++++++++++++ .../js_sdk/u-charts/u-charts.min.js | 18 + uni_modules/qiun-data-charts/license.md | 201 + uni_modules/qiun-data-charts/package.json | 80 + uni_modules/qiun-data-charts/readme.md | 84 + .../static/app-plus/echarts.min.js | 23 + .../qiun-data-charts/static/h5/echarts.min.js | 23 + uni_modules/uni-badge/changelog.md | 33 + .../components/uni-badge/uni-badge.vue | 268 + uni_modules/uni-badge/package.json | 85 + uni_modules/uni-badge/readme.md | 10 + uni_modules/uni-breadcrumb/changelog.md | 6 + .../uni-breadcrumb-item.vue | 121 + .../uni-breadcrumb/uni-breadcrumb.vue | 41 + uni_modules/uni-breadcrumb/package.json | 88 + uni_modules/uni-breadcrumb/readme.md | 66 + uni_modules/uni-calendar/changelog.md | 26 + .../components/uni-calendar/calendar.js | 546 ++ .../components/uni-calendar/i18n/en.json | 12 + .../components/uni-calendar/i18n/index.js | 8 + .../components/uni-calendar/i18n/zh-Hans.json | 12 + .../components/uni-calendar/i18n/zh-Hant.json | 12 + .../uni-calendar/uni-calendar-item.vue | 187 + .../components/uni-calendar/uni-calendar.vue | 566 ++ .../components/uni-calendar/util.js | 360 + uni_modules/uni-calendar/package.json | 85 + uni_modules/uni-calendar/readme.md | 103 + uni_modules/uni-card/changelog.md | 26 + .../uni-card/components/uni-card/uni-card.vue | 272 + uni_modules/uni-card/package.json | 90 + uni_modules/uni-card/readme.md | 12 + uni_modules/uni-collapse/changelog.md | 36 + .../uni-collapse-item/uni-collapse-item.vue | 402 + .../components/uni-collapse/uni-collapse.vue | 147 + uni_modules/uni-collapse/package.json | 89 + uni_modules/uni-collapse/readme.md | 12 + uni_modules/uni-combox/changelog.md | 15 + .../components/uni-combox/uni-combox.vue | 294 + uni_modules/uni-combox/package.json | 90 + uni_modules/uni-combox/readme.md | 11 + uni_modules/uni-countdown/changelog.md | 24 + .../components/uni-countdown/i18n/en.json | 6 + .../components/uni-countdown/i18n/index.js | 8 + .../uni-countdown/i18n/zh-Hans.json | 6 + .../uni-countdown/i18n/zh-Hant.json | 6 + .../uni-countdown/uni-countdown.vue | 267 + uni_modules/uni-countdown/package.json | 86 + uni_modules/uni-countdown/readme.md | 10 + uni_modules/uni-data-checkbox/changelog.md | 45 + .../uni-data-checkbox/uni-data-checkbox.vue | 821 ++ uni_modules/uni-data-checkbox/package.json | 84 + uni_modules/uni-data-checkbox/readme.md | 18 + uni_modules/uni-data-picker/changelog.md | 75 + .../components/uni-data-picker/keypress.js | 45 + .../uni-data-picker/uni-data-picker.vue | 551 ++ .../uni-data-pickerview/uni-data-picker.js | 622 ++ .../uni-data-pickerview.vue | 323 + uni_modules/uni-data-picker/package.json | 90 + uni_modules/uni-data-picker/readme.md | 22 + uni_modules/uni-data-select/changelog.md | 35 + .../uni-data-select/uni-data-select.vue | 517 ++ uni_modules/uni-data-select/package.json | 85 + uni_modules/uni-data-select/readme.md | 8 + uni_modules/uni-dateformat/changelog.md | 10 + .../components/uni-dateformat/date-format.js | 200 + .../uni-dateformat/uni-dateformat.vue | 88 + uni_modules/uni-dateformat/package.json | 88 + uni_modules/uni-dateformat/readme.md | 11 + uni_modules/uni-datetime-picker/changelog.md | 133 + .../uni-datetime-picker/calendar-item.vue | 177 + .../uni-datetime-picker/calendar.vue | 928 ++ .../uni-datetime-picker/i18n/en.json | 22 + .../uni-datetime-picker/i18n/index.js | 8 + .../uni-datetime-picker/i18n/zh-Hans.json | 22 + .../uni-datetime-picker/i18n/zh-Hant.json | 22 + .../uni-datetime-picker/time-picker.vue | 934 ++ .../uni-datetime-picker.vue | 1026 +++ .../components/uni-datetime-picker/util.js | 403 + uni_modules/uni-datetime-picker/package.json | 87 + uni_modules/uni-datetime-picker/readme.md | 21 + uni_modules/uni-drawer/changelog.md | 13 + .../components/uni-drawer/keypress.js | 45 + .../components/uni-drawer/uni-drawer.vue | 183 + uni_modules/uni-drawer/package.json | 87 + uni_modules/uni-drawer/readme.md | 10 + uni_modules/uni-easyinput/changelog.md | 97 + .../components/uni-easyinput/common.js | 56 + .../uni-easyinput/uni-easyinput.vue | 657 ++ uni_modules/uni-easyinput/package.json | 87 + uni_modules/uni-easyinput/readme.md | 11 + uni_modules/uni-fab/changelog.md | 23 + .../uni-fab/components/uni-fab/uni-fab.vue | 491 ++ uni_modules/uni-fab/package.json | 84 + uni_modules/uni-fab/readme.md | 9 + uni_modules/uni-fav/changelog.md | 19 + .../uni-fav/components/uni-fav/i18n/en.json | 4 + .../uni-fav/components/uni-fav/i18n/index.js | 8 + .../components/uni-fav/i18n/zh-Hans.json | 4 + .../components/uni-fav/i18n/zh-Hant.json | 4 + .../uni-fav/components/uni-fav/uni-fav.vue | 161 + uni_modules/uni-fav/package.json | 89 + uni_modules/uni-fav/readme.md | 10 + uni_modules/uni-file-picker/changelog.md | 67 + .../uni-file-picker/choose-and-upload-file.js | 224 + .../uni-file-picker/uni-file-picker.vue | 667 ++ .../uni-file-picker/upload-file.vue | 325 + .../uni-file-picker/upload-image.vue | 292 + .../components/uni-file-picker/utils.js | 109 + uni_modules/uni-file-picker/package.json | 83 + uni_modules/uni-file-picker/readme.md | 11 + uni_modules/uni-forms/changelog.md | 92 + .../uni-forms-item/uni-forms-item.vue | 627 ++ .../components/uni-forms/uni-forms.vue | 397 + .../uni-forms/components/uni-forms/utils.js | 293 + .../components/uni-forms/validate.js | 486 ++ uni_modules/uni-forms/package.json | 88 + uni_modules/uni-forms/readme.md | 23 + uni_modules/uni-goods-nav/changelog.md | 18 + .../components/uni-goods-nav/i18n/en.json | 6 + .../components/uni-goods-nav/i18n/index.js | 8 + .../uni-goods-nav/i18n/zh-Hans.json | 6 + .../uni-goods-nav/i18n/zh-Hant.json | 6 + .../uni-goods-nav/uni-goods-nav.vue | 229 + uni_modules/uni-goods-nav/package.json | 88 + uni_modules/uni-goods-nav/readme.md | 10 + uni_modules/uni-grid/changelog.md | 13 + .../uni-grid-item/uni-grid-item.vue | 127 + .../uni-grid/components/uni-grid/uni-grid.vue | 142 + uni_modules/uni-grid/package.json | 86 + uni_modules/uni-grid/readme.md | 11 + uni_modules/uni-group/changelog.md | 16 + .../components/uni-group/uni-group.vue | 134 + uni_modules/uni-group/package.json | 87 + uni_modules/uni-group/readme.md | 9 + uni_modules/uni-icons/changelog.md | 22 + .../uni-icons/components/uni-icons/icons.js | 1169 +++ .../components/uni-icons/uni-icons.vue | 96 + .../components/uni-icons/uniicons.css | 663 ++ .../components/uni-icons/uniicons.ttf | Bin 0 -> 35760 bytes uni_modules/uni-icons/package.json | 86 + uni_modules/uni-icons/readme.md | 8 + uni_modules/uni-indexed-list/changelog.md | 17 + .../uni-indexed-list-item.vue | 144 + .../uni-indexed-list/uni-indexed-list.vue | 367 + uni_modules/uni-indexed-list/package.json | 89 + uni_modules/uni-indexed-list/readme.md | 11 + uni_modules/uni-link/changelog.md | 17 + .../uni-link/components/uni-link/uni-link.vue | 128 + uni_modules/uni-link/package.json | 87 + uni_modules/uni-link/readme.md | 11 + uni_modules/uni-list/changelog.md | 46 + .../components/uni-list-ad/uni-list-ad.vue | 107 + .../uni-list-chat/uni-list-chat.scss | 58 + .../uni-list-chat/uni-list-chat.vue | 593 ++ .../uni-list-item/uni-list-item.vue | 534 ++ .../uni-list/components/uni-list/uni-list.vue | 123 + .../components/uni-list/uni-refresh.vue | 65 + .../components/uni-list/uni-refresh.wxs | 87 + uni_modules/uni-list/package.json | 88 + uni_modules/uni-list/readme.md | 346 + uni_modules/uni-load-more/changelog.md | 19 + .../components/uni-load-more/i18n/en.json | 5 + .../components/uni-load-more/i18n/index.js | 8 + .../uni-load-more/i18n/zh-Hans.json | 5 + .../uni-load-more/i18n/zh-Hant.json | 5 + .../uni-load-more/uni-load-more.vue | 399 + uni_modules/uni-load-more/package.json | 86 + uni_modules/uni-load-more/readme.md | 14 + uni_modules/uni-nav-bar/changelog.md | 51 + .../components/uni-nav-bar/uni-nav-bar.vue | 357 + .../components/uni-nav-bar/uni-status-bar.vue | 24 + uni_modules/uni-nav-bar/package.json | 86 + uni_modules/uni-nav-bar/readme.md | 15 + uni_modules/uni-notice-bar/changelog.md | 18 + .../uni-notice-bar/uni-notice-bar.vue | 426 + uni_modules/uni-notice-bar/package.json | 87 + uni_modules/uni-notice-bar/readme.md | 13 + uni_modules/uni-number-box/changelog.md | 25 + .../uni-number-box/uni-number-box.vue | 221 + uni_modules/uni-number-box/package.json | 85 + uni_modules/uni-number-box/readme.md | 13 + uni_modules/uni-pagination/changelog.md | 27 + .../components/uni-pagination/i18n/en.json | 5 + .../components/uni-pagination/i18n/es.json | 5 + .../components/uni-pagination/i18n/fr.json | 5 + .../components/uni-pagination/i18n/index.js | 12 + .../uni-pagination/i18n/zh-Hans.json | 5 + .../uni-pagination/i18n/zh-Hant.json | 5 + .../uni-pagination/uni-pagination.vue | 465 + uni_modules/uni-pagination/package.json | 83 + uni_modules/uni-pagination/readme.md | 11 + uni_modules/uni-popup/changelog.md | 68 + .../components/uni-popup-dialog/keypress.js | 45 + .../uni-popup-dialog/uni-popup-dialog.vue | 275 + .../uni-popup-message/uni-popup-message.vue | 143 + .../uni-popup-share/uni-popup-share.vue | 187 + .../components/uni-popup/i18n/en.json | 7 + .../components/uni-popup/i18n/index.js | 8 + .../components/uni-popup/i18n/zh-Hans.json | 7 + .../components/uni-popup/i18n/zh-Hant.json | 7 + .../components/uni-popup/keypress.js | 45 + .../uni-popup/components/uni-popup/popup.js | 26 + .../components/uni-popup/uni-popup.vue | 473 + uni_modules/uni-popup/package.json | 87 + uni_modules/uni-popup/readme.md | 17 + uni_modules/uni-rate/changelog.md | 25 + .../uni-rate/components/uni-rate/uni-rate.vue | 365 + uni_modules/uni-rate/package.json | 88 + uni_modules/uni-rate/readme.md | 12 + uni_modules/uni-row/changelog.md | 10 + .../uni-row/components/uni-col/uni-col.vue | 317 + .../uni-row/components/uni-row/uni-row.vue | 190 + uni_modules/uni-row/package.json | 87 + uni_modules/uni-row/readme.md | 10 + uni_modules/uni-scss/changelog.md | 8 + uni_modules/uni-scss/index.scss | 1 + uni_modules/uni-scss/package.json | 82 + uni_modules/uni-scss/readme.md | 4 + uni_modules/uni-scss/styles/index.scss | 7 + .../uni-scss/styles/setting/_border.scss | 3 + .../uni-scss/styles/setting/_color.scss | 66 + .../uni-scss/styles/setting/_radius.scss | 55 + .../uni-scss/styles/setting/_space.scss | 56 + .../uni-scss/styles/setting/_styles.scss | 167 + .../uni-scss/styles/setting/_text.scss | 24 + .../uni-scss/styles/setting/_variables.scss | 146 + .../uni-scss/styles/tools/functions.scss | 19 + uni_modules/uni-scss/theme.scss | 31 + uni_modules/uni-scss/variables.scss | 62 + uni_modules/uni-search-bar/changelog.md | 33 + .../components/uni-search-bar/i18n/en.json | 4 + .../components/uni-search-bar/i18n/index.js | 8 + .../uni-search-bar/i18n/zh-Hans.json | 4 + .../uni-search-bar/i18n/zh-Hant.json | 4 + .../uni-search-bar/uni-search-bar.vue | 298 + uni_modules/uni-search-bar/package.json | 89 + uni_modules/uni-search-bar/readme.md | 14 + uni_modules/uni-section/changelog.md | 2 + .../components/uni-section/uni-section.vue | 167 + uni_modules/uni-section/package.json | 87 + uni_modules/uni-section/readme.md | 8 + .../uni-segmented-control/changelog.md | 9 + .../uni-segmented-control.vue | 145 + .../uni-segmented-control/package.json | 87 + uni_modules/uni-segmented-control/readme.md | 13 + uni_modules/uni-steps/changelog.md | 16 + .../components/uni-steps/uni-steps.vue | 269 + uni_modules/uni-steps/package.json | 89 + uni_modules/uni-steps/readme.md | 13 + uni_modules/uni-swipe-action/changelog.md | 43 + .../uni-swipe-action-item/bindingx.js | 302 + .../components/uni-swipe-action-item/isPC.js | 12 + .../uni-swipe-action-item/mpalipay.js | 195 + .../uni-swipe-action-item/mpother.js | 260 + .../components/uni-swipe-action-item/mpwxs.js | 84 + .../uni-swipe-action-item/render.js | 270 + .../uni-swipe-action-item.vue | 347 + .../components/uni-swipe-action-item/wx.wxs | 341 + .../uni-swipe-action/uni-swipe-action.vue | 60 + uni_modules/uni-swipe-action/package.json | 87 + uni_modules/uni-swipe-action/readme.md | 11 + uni_modules/uni-swiper-dot/changelog.md | 12 + .../uni-swiper-dot/uni-swiper-dot.vue | 218 + uni_modules/uni-swiper-dot/package.json | 87 + uni_modules/uni-swiper-dot/readme.md | 11 + uni_modules/uni-table/changelog.md | 27 + .../components/uni-table/uni-table.vue | 455 + .../components/uni-tbody/uni-tbody.vue | 29 + .../uni-table/components/uni-td/uni-td.vue | 90 + .../components/uni-th/filter-dropdown.vue | 511 ++ .../uni-table/components/uni-th/uni-th.vue | 285 + .../components/uni-thead/uni-thead.vue | 129 + .../components/uni-tr/table-checkbox.vue | 179 + .../uni-table/components/uni-tr/uni-tr.vue | 171 + uni_modules/uni-table/i18n/en.json | 9 + uni_modules/uni-table/i18n/es.json | 9 + uni_modules/uni-table/i18n/fr.json | 9 + uni_modules/uni-table/i18n/index.js | 12 + uni_modules/uni-table/i18n/zh-Hans.json | 9 + uni_modules/uni-table/i18n/zh-Hant.json | 9 + uni_modules/uni-table/package.json | 83 + uni_modules/uni-table/readme.md | 13 + uni_modules/uni-tag/changelog.md | 21 + .../uni-tag/components/uni-tag/uni-tag.vue | 252 + uni_modules/uni-tag/package.json | 87 + uni_modules/uni-tag/readme.md | 13 + uni_modules/uni-test/changelog.md | 39 + .../uni-test/components/uni-test/uni-test.vue | 26 + uni_modules/uni-test/package.json | 83 + uni_modules/uni-test/readme.md | 10 + uni_modules/uni-title/changelog.md | 10 + .../components/uni-title/uni-title.vue | 171 + uni_modules/uni-title/package.json | 88 + uni_modules/uni-title/readme.md | 14 + uni_modules/uni-tooltip/changelog.md | 10 + .../components/uni-tooltip/uni-tooltip.vue | 68 + uni_modules/uni-tooltip/package.json | 88 + uni_modules/uni-tooltip/readme.md | 8 + uni_modules/uni-transition/changelog.md | 20 + .../uni-transition/createAnimation.js | 131 + .../uni-transition/uni-transition.vue | 281 + uni_modules/uni-transition/package.json | 87 + uni_modules/uni-transition/readme.md | 11 + uni_modules/uni-ui/changelog.md | 541 ++ .../uni-ui/components/uni-ui/uni-ui.vue | 7 + uni_modules/uni-ui/package.json | 129 + uni_modules/uni-ui/readme.md | 247 + uni_modules/uview-ui/LICENSE | 21 + uni_modules/uview-ui/README.md | 66 + uni_modules/uview-ui/changelog.md | 374 + .../uview-ui/components/u--form/u--form.vue | 78 + .../uview-ui/components/u--image/u--image.vue | 47 + .../uview-ui/components/u--input/u--input.vue | 73 + .../uview-ui/components/u--text/u--text.vue | 44 + .../components/u--textarea/u--textarea.vue | 48 + .../components/u-action-sheet/props.js | 54 + .../u-action-sheet/u-action-sheet.vue | 278 + .../uview-ui/components/u-album/props.js | 59 + .../uview-ui/components/u-album/u-album.vue | 259 + .../uview-ui/components/u-alert/props.js | 44 + .../uview-ui/components/u-alert/u-alert.vue | 243 + .../components/u-avatar-group/props.js | 52 + .../u-avatar-group/u-avatar-group.vue | 103 + .../uview-ui/components/u-avatar/props.js | 78 + .../uview-ui/components/u-avatar/u-avatar.vue | 173 + .../uview-ui/components/u-back-top/props.js | 54 + .../components/u-back-top/u-back-top.vue | 129 + .../uview-ui/components/u-badge/props.js | 72 + .../uview-ui/components/u-badge/u-badge.vue | 171 + .../uview-ui/components/u-button/nvue.scss | 46 + .../uview-ui/components/u-button/props.js | 161 + .../uview-ui/components/u-button/u-button.vue | 495 ++ .../uview-ui/components/u-button/vue.scss | 80 + .../uview-ui/components/u-calendar/header.vue | 99 + .../uview-ui/components/u-calendar/month.vue | 579 ++ .../uview-ui/components/u-calendar/props.js | 144 + .../components/u-calendar/u-calendar.vue | 384 + .../uview-ui/components/u-calendar/util.js | 85 + .../components/u-car-keyboard/props.js | 14 + .../u-car-keyboard/u-car-keyboard.vue | 311 + .../uview-ui/components/u-cell-group/props.js | 14 + .../components/u-cell-group/u-cell-group.vue | 61 + .../uview-ui/components/u-cell/props.js | 110 + .../uview-ui/components/u-cell/u-cell.vue | 229 + .../components/u-checkbox-group/props.js | 82 + .../u-checkbox-group/u-checkbox-group.vue | 103 + .../uview-ui/components/u-checkbox/props.js | 69 + .../components/u-checkbox/u-checkbox.vue | 344 + .../components/u-circle-progress/props.js | 8 + .../u-circle-progress/u-circle-progress.vue | 198 + .../uview-ui/components/u-code-input/props.js | 79 + .../components/u-code-input/u-code-input.vue | 252 + .../uview-ui/components/u-code/props.js | 34 + .../uview-ui/components/u-code/u-code.vue | 129 + .../uview-ui/components/u-col/props.js | 29 + .../uview-ui/components/u-col/u-col.vue | 162 + .../components/u-collapse-item/props.js | 59 + .../u-collapse-item/u-collapse-item.vue | 225 + .../uview-ui/components/u-collapse/props.js | 19 + .../components/u-collapse/u-collapse.vue | 90 + .../components/u-column-notice/props.js | 55 + .../u-column-notice/u-column-notice.vue | 160 + .../uview-ui/components/u-count-down/props.js | 24 + .../components/u-count-down/u-count-down.vue | 163 + .../uview-ui/components/u-count-down/utils.js | 62 + .../uview-ui/components/u-count-to/props.js | 59 + .../components/u-count-to/u-count-to.vue | 184 + .../components/u-datetime-picker/props.js | 116 + .../u-datetime-picker/u-datetime-picker.vue | 360 + .../uview-ui/components/u-divider/props.js | 44 + .../components/u-divider/u-divider.vue | 116 + .../components/u-dropdown-item/props.js | 36 + .../u-dropdown-item/u-dropdown-item.vue | 127 + .../uview-ui/components/u-dropdown/props.js | 65 + .../components/u-dropdown/u-dropdown.vue | 127 + .../uview-ui/components/u-empty/props.js | 59 + .../uview-ui/components/u-empty/u-empty.vue | 128 + .../uview-ui/components/u-form-item/props.js | 48 + .../components/u-form-item/u-form-item.vue | 235 + .../uview-ui/components/u-form/props.js | 45 + .../uview-ui/components/u-form/u-form.vue | 214 + .../uview-ui/components/u-gap/props.js | 24 + .../uview-ui/components/u-gap/u-gap.vue | 38 + .../uview-ui/components/u-grid-item/props.js | 14 + .../components/u-grid-item/u-grid-item.vue | 209 + .../uview-ui/components/u-grid/props.js | 19 + .../uview-ui/components/u-grid/u-grid.vue | 97 + .../uview-ui/components/u-icon/icons.js | 214 + .../uview-ui/components/u-icon/props.js | 89 + .../uview-ui/components/u-icon/u-icon.vue | 234 + .../uview-ui/components/u-image/props.js | 84 + .../uview-ui/components/u-image/u-image.vue | 232 + .../components/u-index-anchor/props.js | 29 + .../u-index-anchor/u-index-anchor.vue | 91 + .../uview-ui/components/u-index-item/props.js | 5 + .../components/u-index-item/u-index-item.vue | 87 + .../uview-ui/components/u-index-list/props.js | 29 + .../components/u-index-list/u-index-list.vue | 440 + .../uview-ui/components/u-input/props.js | 187 + .../uview-ui/components/u-input/u-input.vue | 354 + .../uview-ui/components/u-keyboard/props.js | 84 + .../components/u-keyboard/u-keyboard.vue | 164 + .../components/u-line-progress/props.js | 28 + .../u-line-progress/u-line-progress.vue | 144 + .../uview-ui/components/u-line/props.js | 33 + .../uview-ui/components/u-line/u-line.vue | 62 + .../uview-ui/components/u-link/props.js | 39 + .../uview-ui/components/u-link/u-link.vue | 83 + .../uview-ui/components/u-list-item/props.js | 9 + .../components/u-list-item/u-list-item.vue | 116 + .../uview-ui/components/u-list/props.js | 76 + .../uview-ui/components/u-list/u-list.vue | 157 + .../components/u-loading-icon/props.js | 59 + .../u-loading-icon/u-loading-icon.vue | 343 + .../components/u-loading-page/props.js | 49 + .../u-loading-page/u-loading-page.vue | 115 + .../uview-ui/components/u-loadmore/props.js | 94 + .../components/u-loadmore/u-loadmore.vue | 150 + .../uview-ui/components/u-modal/props.js | 89 + .../uview-ui/components/u-modal/u-modal.vue | 228 + .../uview-ui/components/u-navbar/props.js | 84 + .../uview-ui/components/u-navbar/u-navbar.vue | 186 + .../uview-ui/components/u-no-network/props.js | 19 + .../components/u-no-network/u-no-network.vue | 220 + .../uview-ui/components/u-notice-bar/props.js | 70 + .../components/u-notice-bar/u-notice-bar.vue | 101 + .../uview-ui/components/u-notify/props.js | 49 + .../uview-ui/components/u-notify/u-notify.vue | 211 + .../uview-ui/components/u-number-box/props.js | 109 + .../components/u-number-box/u-number-box.vue | 416 + .../components/u-number-keyboard/props.js | 19 + .../u-number-keyboard/u-number-keyboard.vue | 196 + .../uview-ui/components/u-overlay/props.js | 24 + .../components/u-overlay/u-overlay.vue | 68 + .../uview-ui/components/u-parse/node/node.vue | 499 ++ .../uview-ui/components/u-parse/parser.js | 1075 +++ .../uview-ui/components/u-parse/props.js | 45 + .../uview-ui/components/u-parse/u-parse.vue | 366 + .../components/u-picker-column/props.js | 5 + .../u-picker-column/u-picker-column.vue | 27 + .../uview-ui/components/u-picker/props.js | 79 + .../uview-ui/components/u-picker/u-picker.vue | 286 + .../uview-ui/components/u-popup/props.js | 79 + .../uview-ui/components/u-popup/u-popup.vue | 304 + .../components/u-radio-group/props.js | 85 + .../u-radio-group/u-radio-group.vue | 108 + .../uview-ui/components/u-radio/props.js | 64 + .../uview-ui/components/u-radio/u-radio.vue | 339 + .../uview-ui/components/u-rate/props.js | 69 + .../uview-ui/components/u-rate/u-rate.vue | 306 + .../uview-ui/components/u-read-more/props.js | 61 + .../components/u-read-more/u-read-more.vue | 157 + .../uview-ui/components/u-row-notice/props.js | 39 + .../components/u-row-notice/u-row-notice.vue | 330 + .../uview-ui/components/u-row/props.js | 19 + .../uview-ui/components/u-row/u-row.vue | 93 + .../components/u-safe-bottom/props.js | 5 + .../u-safe-bottom/u-safe-bottom.vue | 56 + .../uview-ui/components/u-scroll-list/nvue.js | 28 + .../components/u-scroll-list/other.js | 0 .../components/u-scroll-list/props.js | 34 + .../components/u-scroll-list/scrollWxs.wxs | 50 + .../u-scroll-list/u-scroll-list.vue | 224 + .../uview-ui/components/u-search/props.js | 118 + .../uview-ui/components/u-search/u-search.vue | 303 + .../uview-ui/components/u-skeleton/props.js | 59 + .../components/u-skeleton/u-skeleton.vue | 244 + .../uview-ui/components/u-slider/mpother.js | 113 + .../uview-ui/components/u-slider/mpwxs.js | 42 + .../uview-ui/components/u-slider/mpwxs.wxs | 121 + .../components/u-slider/nvue - 副本.js | 180 + .../uview-ui/components/u-slider/nvue.js | 193 + .../uview-ui/components/u-slider/props.js | 54 + .../uview-ui/components/u-slider/u-slider.vue | 55 + .../uview-ui/components/u-status-bar/props.js | 8 + .../components/u-status-bar/u-status-bar.vue | 46 + .../uview-ui/components/u-steps-item/props.js | 24 + .../components/u-steps-item/u-steps-item.vue | 316 + .../uview-ui/components/u-steps/props.js | 39 + .../uview-ui/components/u-steps/u-steps.vue | 80 + .../uview-ui/components/u-sticky/props.js | 40 + .../uview-ui/components/u-sticky/u-sticky.vue | 212 + .../uview-ui/components/u-subsection/props.js | 49 + .../components/u-subsection/u-subsection.vue | 299 + .../u-swipe-action-item/index - backup.wxs | 256 + .../components/u-swipe-action-item/index.wxs | 225 + .../u-swipe-action-item/nvue - backup.js | 270 + .../components/u-swipe-action-item/nvue.js | 174 + .../components/u-swipe-action-item/props.js | 41 + .../u-swipe-action-item.vue | 190 + .../components/u-swipe-action-item/wxs.js | 15 + .../components/u-swipe-action/props.js | 9 + .../u-swipe-action/u-swipe-action.vue | 67 + .../components/u-swiper-indicator/props.js | 29 + .../u-swiper-indicator/u-swiper-indicator.vue | 110 + .../uview-ui/components/u-swiper/props.js | 125 + .../uview-ui/components/u-swiper/u-swiper.vue | 255 + .../uview-ui/components/u-switch/props.js | 54 + .../uview-ui/components/u-switch/u-switch.vue | 177 + .../components/u-tabbar-item/props.js | 35 + .../u-tabbar-item/u-tabbar-item.vue | 142 + .../uview-ui/components/u-tabbar/props.js | 44 + .../uview-ui/components/u-tabbar/u-tabbar.vue | 141 + .../uview-ui/components/u-table/props.js | 5 + .../uview-ui/components/u-table/u-table.vue | 29 + .../uview-ui/components/u-tabs-item/props.js | 5 + .../components/u-tabs-item/u-tabs-item.vue | 29 + .../uview-ui/components/u-tabs/props.js | 64 + .../uview-ui/components/u-tabs/u-tabs.vue | 363 + .../uview-ui/components/u-tag/props.js | 84 + .../uview-ui/components/u-tag/u-tag.vue | 358 + uni_modules/uview-ui/components/u-td/props.js | 5 + uni_modules/uview-ui/components/u-td/u-td.vue | 31 + .../uview-ui/components/u-text/props.js | 110 + .../uview-ui/components/u-text/u-text.vue | 223 + .../uview-ui/components/u-text/value.js | 85 + .../uview-ui/components/u-textarea/props.js | 119 + .../components/u-textarea/u-textarea.vue | 239 + .../uview-ui/components/u-toast/u-toast.vue | 291 + .../uview-ui/components/u-toolbar/props.js | 34 + .../components/u-toolbar/u-toolbar.vue | 102 + .../components/u-tooltip/clipboard.min.js | 58 + .../uview-ui/components/u-tooltip/props.js | 59 + .../components/u-tooltip/u-tooltip.vue | 365 + uni_modules/uview-ui/components/u-tr/props.js | 5 + uni_modules/uview-ui/components/u-tr/u-tr.vue | 31 + .../components/u-transition/nvue.ani-map.js | 68 + .../uview-ui/components/u-transition/props.js | 24 + .../components/u-transition/transition.js | 157 + .../components/u-transition/u-transition.vue | 92 + .../u-transition/vue.ani-style.scss | 113 + .../uview-ui/components/u-upload/mixin.js | 21 + .../uview-ui/components/u-upload/props.js | 124 + .../uview-ui/components/u-upload/u-upload.vue | 558 ++ .../uview-ui/components/u-upload/utils.js | 151 + .../uview-ui/components/uview-ui/uview-ui.vue | 15 + uni_modules/uview-ui/index.js | 79 + uni_modules/uview-ui/index.scss | 23 + uni_modules/uview-ui/libs/config/color.js | 17 + uni_modules/uview-ui/libs/config/config.js | 34 + uni_modules/uview-ui/libs/config/props.js | 190 + .../uview-ui/libs/config/props/actionSheet.js | 25 + .../uview-ui/libs/config/props/album.js | 25 + .../uview-ui/libs/config/props/alert.js | 22 + .../uview-ui/libs/config/props/avatar.js | 28 + .../uview-ui/libs/config/props/avatarGroup.js | 23 + .../uview-ui/libs/config/props/backtop.js | 27 + .../uview-ui/libs/config/props/badge.js | 27 + .../uview-ui/libs/config/props/button.js | 42 + .../uview-ui/libs/config/props/calendar.js | 42 + .../uview-ui/libs/config/props/carKeyboard.js | 15 + .../uview-ui/libs/config/props/cell.js | 35 + .../uview-ui/libs/config/props/cellGroup.js | 17 + .../uview-ui/libs/config/props/checkbox.js | 27 + .../libs/config/props/checkboxGroup.js | 29 + .../libs/config/props/circleProgress.js | 15 + .../uview-ui/libs/config/props/code.js | 21 + .../uview-ui/libs/config/props/codeInput.js | 29 + uni_modules/uview-ui/libs/config/props/col.js | 19 + .../uview-ui/libs/config/props/collapse.js | 17 + .../libs/config/props/collapseItem.js | 25 + .../libs/config/props/columnNotice.js | 24 + .../uview-ui/libs/config/props/countDown.js | 18 + .../uview-ui/libs/config/props/countTo.js | 25 + .../libs/config/props/datetimePicker.js | 36 + .../uview-ui/libs/config/props/divider.js | 23 + .../uview-ui/libs/config/props/empty.js | 26 + .../uview-ui/libs/config/props/form.js | 22 + .../uview-ui/libs/config/props/formItem.js | 23 + uni_modules/uview-ui/libs/config/props/gap.js | 19 + .../uview-ui/libs/config/props/grid.js | 17 + .../uview-ui/libs/config/props/gridItem.js | 16 + .../uview-ui/libs/config/props/icon.js | 36 + .../uview-ui/libs/config/props/image.js | 30 + .../uview-ui/libs/config/props/indexAnchor.js | 19 + .../uview-ui/libs/config/props/indexList.js | 19 + .../uview-ui/libs/config/props/input.js | 48 + .../uview-ui/libs/config/props/keyboard.js | 30 + .../uview-ui/libs/config/props/line.js | 20 + .../libs/config/props/lineProgress.js | 19 + .../uview-ui/libs/config/props/link.js | 26 + .../uview-ui/libs/config/props/list.js | 28 + .../uview-ui/libs/config/props/listItem.js | 15 + .../uview-ui/libs/config/props/loadingIcon.js | 30 + .../uview-ui/libs/config/props/loadingPage.js | 23 + .../uview-ui/libs/config/props/loadmore.js | 32 + .../uview-ui/libs/config/props/modal.js | 31 + .../uview-ui/libs/config/props/navbar.js | 32 + .../uview-ui/libs/config/props/noNetwork.js | 18 + .../uview-ui/libs/config/props/noticeBar.js | 27 + .../uview-ui/libs/config/props/notify.js | 22 + .../uview-ui/libs/config/props/numberBox.js | 35 + .../libs/config/props/numberKeyboard.js | 17 + .../uview-ui/libs/config/props/overlay.js | 18 + .../uview-ui/libs/config/props/parse.js | 22 + .../uview-ui/libs/config/props/picker.js | 29 + .../uview-ui/libs/config/props/popup.js | 29 + .../uview-ui/libs/config/props/radio.js | 27 + .../uview-ui/libs/config/props/radioGroup.js | 30 + .../uview-ui/libs/config/props/rate.js | 26 + .../uview-ui/libs/config/props/readMore.js | 22 + uni_modules/uview-ui/libs/config/props/row.js | 17 + .../uview-ui/libs/config/props/rowNotice.js | 21 + .../uview-ui/libs/config/props/scrollList.js | 20 + .../uview-ui/libs/config/props/search.js | 37 + .../uview-ui/libs/config/props/section.js | 24 + .../uview-ui/libs/config/props/skeleton.js | 25 + .../uview-ui/libs/config/props/slider.js | 25 + .../uview-ui/libs/config/props/statusBar.js | 15 + .../uview-ui/libs/config/props/steps.js | 21 + .../uview-ui/libs/config/props/stepsItem.js | 18 + .../uview-ui/libs/config/props/sticky.js | 20 + .../uview-ui/libs/config/props/subsection.js | 23 + .../uview-ui/libs/config/props/swipeAction.js | 15 + .../libs/config/props/swipeActionItem.js | 21 + .../uview-ui/libs/config/props/swiper.js | 39 + .../libs/config/props/swipterIndicator.js | 19 + .../uview-ui/libs/config/props/switch.js | 24 + .../uview-ui/libs/config/props/tabbar.js | 22 + .../uview-ui/libs/config/props/tabbarItem.js | 20 + .../uview-ui/libs/config/props/tabs.js | 32 + uni_modules/uview-ui/libs/config/props/tag.js | 29 + .../uview-ui/libs/config/props/text.js | 38 + .../uview-ui/libs/config/props/textarea.js | 36 + .../uview-ui/libs/config/props/toast.js | 30 + .../uview-ui/libs/config/props/toolbar.js | 21 + .../uview-ui/libs/config/props/tooltip.js | 25 + .../uview-ui/libs/config/props/transition.js | 18 + .../uview-ui/libs/config/props/upload.js | 36 + uni_modules/uview-ui/libs/config/zIndex.js | 20 + uni_modules/uview-ui/libs/css/color.scss | 155 + uni_modules/uview-ui/libs/css/common.scss | 97 + uni_modules/uview-ui/libs/css/components.scss | 15 + uni_modules/uview-ui/libs/css/flex.scss | 257 + uni_modules/uview-ui/libs/css/h5.scss | 0 uni_modules/uview-ui/libs/css/mixin.scss | 8 + uni_modules/uview-ui/libs/css/mp.scss | 0 uni_modules/uview-ui/libs/css/nvue.scss | 0 uni_modules/uview-ui/libs/css/vue.scss | 27 + .../uview-ui/libs/function/colorGradient.js | 134 + .../uview-ui/libs/function/debounce.js | 29 + uni_modules/uview-ui/libs/function/digit.js | 167 + uni_modules/uview-ui/libs/function/index.js | 731 ++ .../uview-ui/libs/function/platform.js | 75 + uni_modules/uview-ui/libs/function/test.js | 288 + .../uview-ui/libs/function/throttle.js | 30 + .../libs/luch-request/adapters/index.js | 97 + .../luch-request/core/InterceptorManager.js | 50 + .../libs/luch-request/core/Request.js | 198 + .../libs/luch-request/core/buildFullPath.js | 20 + .../libs/luch-request/core/defaults.js | 29 + .../libs/luch-request/core/dispatchRequest.js | 3 + .../libs/luch-request/core/mergeConfig.js | 103 + .../uview-ui/libs/luch-request/core/settle.js | 16 + .../libs/luch-request/helpers/buildURL.js | 69 + .../libs/luch-request/helpers/combineURLs.js | 14 + .../luch-request/helpers/isAbsoluteURL.js | 14 + .../uview-ui/libs/luch-request/index.d.ts | 116 + .../uview-ui/libs/luch-request/index.js | 3 + .../uview-ui/libs/luch-request/utils.js | 131 + .../uview-ui/libs/luch-request/utils/clone.js | 264 + uni_modules/uview-ui/libs/mixin/button.js | 13 + uni_modules/uview-ui/libs/mixin/mixin.js | 160 + uni_modules/uview-ui/libs/mixin/mpMixin.js | 8 + uni_modules/uview-ui/libs/mixin/mpShare.js | 13 + uni_modules/uview-ui/libs/mixin/openType.js | 25 + uni_modules/uview-ui/libs/mixin/style.js | 228 + uni_modules/uview-ui/libs/mixin/touch.js | 59 + .../uview-ui/libs/util/async-validator.js | 1343 +++ uni_modules/uview-ui/libs/util/calendar.js | 546 ++ uni_modules/uview-ui/libs/util/dayjs.js | 308 + uni_modules/uview-ui/libs/util/emitter.js | 51 + uni_modules/uview-ui/libs/util/route.js | 124 + uni_modules/uview-ui/package.json | 84 + uni_modules/uview-ui/theme.scss | 44 + 849 files changed, 114111 insertions(+) create mode 100644 .gitignore create mode 100644 .hbuilderx/launch.json create mode 100644 App.vue create mode 100644 index.html create mode 100644 main.js create mode 100644 manifest.json create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 pages.json create mode 100644 pages/addressBook/addressBook.vue create mode 100644 pages/addressBook/follow.vue create mode 100644 pages/addressBook/myDept.vue create mode 100644 pages/forewarning/forewarning.vue create mode 100644 pages/forewarning/hd.vue create mode 100644 pages/forewarning/sh.vue create mode 100644 pages/forewarning/shInformation/shInformation.vue create mode 100644 pages/forewarning/sk.vue create mode 100644 pages/gqzq/detail/index.vue create mode 100644 pages/gqzq/gqxx.vue create mode 100644 pages/gqzq/gqxx/gqxx.vue create mode 100644 pages/gqzq/gqxx/qk.vue create mode 100644 pages/gqzq/gqxx/qkForm.vue create mode 100644 pages/gqzq/gqxx/xq.vue create mode 100644 pages/gqzq/gqxx/xqForm.vue create mode 100644 pages/gqzq/index.vue create mode 100644 pages/gqzq/zqxx.vue create mode 100644 pages/gqzq/zqxx/form.vue create mode 100644 pages/gqzq/zqxx/table.vue create mode 100644 pages/gqzq/zqxx/zqxx.vue create mode 100644 pages/hdDetail/hdDetail.vue create mode 100644 pages/hdDetail/jcsj/chartOption.js create mode 100644 pages/hdDetail/jcsj/jcsj.vue create mode 100644 pages/hdDetail/jcsj/jcsjTable.vue create mode 100644 pages/hdDetail/spjk/spjk.vue create mode 100644 pages/hdDetail/tjsj/tjsj.vue create mode 100644 pages/hdDetail/zbyq/resList.vue create mode 100644 pages/hdDetail/zbyq/zbyq.vue create mode 100644 pages/homeIndex/chartOption.js create mode 100644 pages/homeIndex/index.vue create mode 100644 pages/homeIndex/warnSwiper.vue create mode 100644 pages/login/login.vue create mode 100644 pages/modifyPassword/modifyPassword.vue create mode 100644 pages/mypage/mypage.vue create mode 100644 pages/orderFeedback/fk.vue create mode 100644 pages/orderFeedback/orderFeedback.vue create mode 100644 pages/orderFeedback/orderInformation.vue create mode 100644 pages/orderFeedback/zl.vue create mode 100644 pages/personInfo/personInfo.vue create mode 100644 pages/rain/Table.vue create mode 100644 pages/rain/rain.vue create mode 100644 pages/rainDetail/jcsj/chartOption.js create mode 100644 pages/rainDetail/jcsj/jcsj.vue create mode 100644 pages/rainDetail/jcsj/jcsjTable.vue create mode 100644 pages/rainDetail/rainDetail.vue create mode 100644 pages/rainDetail/tjsj/tjsj.vue create mode 100644 pages/rainDetail/zbyq/resList.vue create mode 100644 pages/rainDetail/zbyq/zbyq.vue create mode 100644 pages/skDetail/jcsj/chartOption.js create mode 100644 pages/skDetail/jcsj/jcsj.vue create mode 100644 pages/skDetail/jcsj/jcsjTable.vue create mode 100644 pages/skDetail/skDetail.vue create mode 100644 pages/skDetail/spjk/spjk.vue create mode 100644 pages/skDetail/tjsj/tjsj.vue create mode 100644 pages/skDetail/txjc/txjc.vue create mode 100644 pages/skDetail/zbyq/resList.vue create mode 100644 pages/skDetail/zbyq/zbyq.vue create mode 100644 pages/skDetail/zrtx/card.vue create mode 100644 pages/skDetail/zrtx/zrtx.vue create mode 100644 pages/upgrade/index.vue create mode 100644 pages/utils/dicType.js create mode 100644 pages/utils/tool.js create mode 100644 pages/utils/upgrade.js create mode 100644 pages/water/hdWater/hdWater.vue create mode 100644 pages/water/hdWater/table.vue create mode 100644 pages/water/skWater/skWater.vue create mode 100644 pages/water/skWater/table.vue create mode 100644 pages/water/water.vue create mode 100644 pages/xxsb/dsfrom.vue create mode 100644 pages/xxsb/from.vue create mode 100644 pages/xxsb/fromSeverity.vue create mode 100644 pages/xxsb/index.vue create mode 100644 pages/xxsb/map.vue create mode 100644 static/c1.png create mode 100644 static/c2.png create mode 100644 static/c3.png create mode 100644 static/c4.png create mode 100644 static/c5.png create mode 100644 static/c6.png create mode 100644 static/c7.png create mode 100644 static/c8.png create mode 100644 static/c9.png create mode 100644 static/customicons.css create mode 100644 static/customicons.ttf create mode 100644 static/h5Player/h5player.min.js create mode 100644 static/h5Player/playctrl1/DecodeWorker.js create mode 100644 static/h5Player/playctrl1/Decoder.js create mode 100644 static/h5Player/playctrl1simd/DecodeWorker.js create mode 100644 static/h5Player/playctrl1simd/Decoder.js create mode 100644 static/h5Player/playctrl2/Decoder.js create mode 100644 static/h5Player/playctrl2/Decoder.wasm create mode 100644 static/h5Player/playctrl2/Decoder.worker.js create mode 100644 static/h5Player/playctrl3/Decoder.js create mode 100644 static/h5Player/playctrl3/Decoder.wasm create mode 100644 static/h5Player/playctrl3/Decoder.worker.js create mode 100644 static/h5Player/talk/AudioInterCom.js create mode 100644 static/h5Player/talk/AudioInterCom.wasm create mode 100644 static/h5Player/talkW/AudioInterCom.js create mode 100644 static/h5Player/talkW/AudioInterCom.wasm create mode 100644 static/h5Player/talkW/AudioInterCom.worker.js create mode 100644 static/h5Player/transform/libSystemTransform.js create mode 100644 static/h5Player/transform/libSystemTransform.wasm create mode 100644 static/h5Player/transform/systemTransform-worker.js create mode 100644 static/h5Player/webplayer.html create mode 100644 static/images/dept.png create mode 100644 static/images/deptItem.png create mode 100644 static/images/filter.png create mode 100644 static/images/follow.png create mode 100644 static/images/home.png create mode 100644 static/images/home1.png create mode 100644 static/images/home2.png create mode 100644 static/images/icon.png create mode 100644 static/images/info.png create mode 100644 static/images/my.png create mode 100644 static/images/my1.png create mode 100644 static/images/my2_icon@2x.png create mode 100644 static/images/my2_icon@2x2.png create mode 100644 static/images/password.png create mode 100644 static/images/phone_icon@2x.png create mode 100644 static/images/phone_icon@2x2.png create mode 100644 static/images/u8.png create mode 100644 static/images/upgrade.png create mode 100644 static/logo.png create mode 100644 static/logo1.png create mode 100644 static/logoc.png create mode 100644 static/tabs/add.png create mode 100644 static/tabs/bigImg.png create mode 100644 static/tabs/chartcolumn@2x.png create mode 100644 static/tabs/dw-icon.png create mode 100644 static/tabs/gongqing.png create mode 100644 static/tabs/gongqing2.png create mode 100644 static/tabs/home.png create mode 100644 static/tabs/home1.png create mode 100644 static/tabs/home2.png create mode 100644 static/tabs/ld.png create mode 100644 static/tabs/my2_icon@2x.png create mode 100644 static/tabs/my2_icon@2x2.png create mode 100644 static/tabs/noData1.png create mode 100644 static/tabs/phone_icon@2x.png create mode 100644 static/tabs/phone_icon@2x2.png create mode 100644 static/tabs/touxiang.png create mode 100644 static/tabs/water.png create mode 100644 static/tabs/water2.png create mode 100644 static/tabs/xingzhuang.png create mode 100644 static/tabs/xingzhuang2.png create mode 100644 static/tabs/xinxi_icon@2x.png create mode 100644 static/tabs/xinxi_icon@2x2.png create mode 100644 static/tabs/yujing_icon@2x.png create mode 100644 static/tabs/yujing_icon@2x2.png create mode 100644 static/uni.png create mode 100644 subpkg/rainDetail/rainDetail.vue create mode 100644 template.html create mode 100644 uni.scss create mode 100644 uni_modules/qiun-data-charts/changelog.md create mode 100644 uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts.vue create mode 100644 uni_modules/qiun-data-charts/components/qiun-error/qiun-error.vue create mode 100644 uni_modules/qiun-data-charts/components/qiun-loading/loading1.vue create mode 100644 uni_modules/qiun-data-charts/components/qiun-loading/loading2.vue create mode 100644 uni_modules/qiun-data-charts/components/qiun-loading/loading3.vue create mode 100644 uni_modules/qiun-data-charts/components/qiun-loading/loading4.vue create mode 100644 uni_modules/qiun-data-charts/components/qiun-loading/loading5.vue create mode 100644 uni_modules/qiun-data-charts/components/qiun-loading/qiun-loading.vue create mode 100644 uni_modules/qiun-data-charts/js_sdk/u-charts/config-echarts.js create mode 100644 uni_modules/qiun-data-charts/js_sdk/u-charts/config-ucharts.js create mode 100644 uni_modules/qiun-data-charts/js_sdk/u-charts/readme.md create mode 100644 uni_modules/qiun-data-charts/js_sdk/u-charts/u-charts.js create mode 100644 uni_modules/qiun-data-charts/js_sdk/u-charts/u-charts.min.js create mode 100644 uni_modules/qiun-data-charts/license.md create mode 100644 uni_modules/qiun-data-charts/package.json create mode 100644 uni_modules/qiun-data-charts/readme.md create mode 100644 uni_modules/qiun-data-charts/static/app-plus/echarts.min.js create mode 100644 uni_modules/qiun-data-charts/static/h5/echarts.min.js create mode 100644 uni_modules/uni-badge/changelog.md create mode 100644 uni_modules/uni-badge/components/uni-badge/uni-badge.vue create mode 100644 uni_modules/uni-badge/package.json create mode 100644 uni_modules/uni-badge/readme.md create mode 100644 uni_modules/uni-breadcrumb/changelog.md create mode 100644 uni_modules/uni-breadcrumb/components/uni-breadcrumb-item/uni-breadcrumb-item.vue create mode 100644 uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue create mode 100644 uni_modules/uni-breadcrumb/package.json create mode 100644 uni_modules/uni-breadcrumb/readme.md create mode 100644 uni_modules/uni-calendar/changelog.md create mode 100644 uni_modules/uni-calendar/components/uni-calendar/calendar.js create mode 100644 uni_modules/uni-calendar/components/uni-calendar/i18n/en.json create mode 100644 uni_modules/uni-calendar/components/uni-calendar/i18n/index.js create mode 100644 uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hans.json create mode 100644 uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hant.json create mode 100644 uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item.vue create mode 100644 uni_modules/uni-calendar/components/uni-calendar/uni-calendar.vue create mode 100644 uni_modules/uni-calendar/components/uni-calendar/util.js create mode 100644 uni_modules/uni-calendar/package.json create mode 100644 uni_modules/uni-calendar/readme.md create mode 100644 uni_modules/uni-card/changelog.md create mode 100644 uni_modules/uni-card/components/uni-card/uni-card.vue create mode 100644 uni_modules/uni-card/package.json create mode 100644 uni_modules/uni-card/readme.md create mode 100644 uni_modules/uni-collapse/changelog.md create mode 100644 uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.vue create mode 100644 uni_modules/uni-collapse/components/uni-collapse/uni-collapse.vue create mode 100644 uni_modules/uni-collapse/package.json create mode 100644 uni_modules/uni-collapse/readme.md create mode 100644 uni_modules/uni-combox/changelog.md create mode 100644 uni_modules/uni-combox/components/uni-combox/uni-combox.vue create mode 100644 uni_modules/uni-combox/package.json create mode 100644 uni_modules/uni-combox/readme.md create mode 100644 uni_modules/uni-countdown/changelog.md create mode 100644 uni_modules/uni-countdown/components/uni-countdown/i18n/en.json create mode 100644 uni_modules/uni-countdown/components/uni-countdown/i18n/index.js create mode 100644 uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hans.json create mode 100644 uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hant.json create mode 100644 uni_modules/uni-countdown/components/uni-countdown/uni-countdown.vue create mode 100644 uni_modules/uni-countdown/package.json create mode 100644 uni_modules/uni-countdown/readme.md create mode 100644 uni_modules/uni-data-checkbox/changelog.md create mode 100644 uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.vue create mode 100644 uni_modules/uni-data-checkbox/package.json create mode 100644 uni_modules/uni-data-checkbox/readme.md create mode 100644 uni_modules/uni-data-picker/changelog.md create mode 100644 uni_modules/uni-data-picker/components/uni-data-picker/keypress.js create mode 100644 uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue create mode 100644 uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.js create mode 100644 uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.vue create mode 100644 uni_modules/uni-data-picker/package.json create mode 100644 uni_modules/uni-data-picker/readme.md create mode 100644 uni_modules/uni-data-select/changelog.md create mode 100644 uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue create mode 100644 uni_modules/uni-data-select/package.json create mode 100644 uni_modules/uni-data-select/readme.md create mode 100644 uni_modules/uni-dateformat/changelog.md create mode 100644 uni_modules/uni-dateformat/components/uni-dateformat/date-format.js create mode 100644 uni_modules/uni-dateformat/components/uni-dateformat/uni-dateformat.vue create mode 100644 uni_modules/uni-dateformat/package.json create mode 100644 uni_modules/uni-dateformat/readme.md create mode 100644 uni_modules/uni-datetime-picker/changelog.md create mode 100644 uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.vue create mode 100644 uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue create mode 100644 uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/en.json create mode 100644 uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js create mode 100644 uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hans.json create mode 100644 uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hant.json create mode 100644 uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.vue create mode 100644 uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue create mode 100644 uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js create mode 100644 uni_modules/uni-datetime-picker/package.json create mode 100644 uni_modules/uni-datetime-picker/readme.md create mode 100644 uni_modules/uni-drawer/changelog.md create mode 100644 uni_modules/uni-drawer/components/uni-drawer/keypress.js create mode 100644 uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue create mode 100644 uni_modules/uni-drawer/package.json create mode 100644 uni_modules/uni-drawer/readme.md create mode 100644 uni_modules/uni-easyinput/changelog.md create mode 100644 uni_modules/uni-easyinput/components/uni-easyinput/common.js create mode 100644 uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue create mode 100644 uni_modules/uni-easyinput/package.json create mode 100644 uni_modules/uni-easyinput/readme.md create mode 100644 uni_modules/uni-fab/changelog.md create mode 100644 uni_modules/uni-fab/components/uni-fab/uni-fab.vue create mode 100644 uni_modules/uni-fab/package.json create mode 100644 uni_modules/uni-fab/readme.md create mode 100644 uni_modules/uni-fav/changelog.md create mode 100644 uni_modules/uni-fav/components/uni-fav/i18n/en.json create mode 100644 uni_modules/uni-fav/components/uni-fav/i18n/index.js create mode 100644 uni_modules/uni-fav/components/uni-fav/i18n/zh-Hans.json create mode 100644 uni_modules/uni-fav/components/uni-fav/i18n/zh-Hant.json create mode 100644 uni_modules/uni-fav/components/uni-fav/uni-fav.vue create mode 100644 uni_modules/uni-fav/package.json create mode 100644 uni_modules/uni-fav/readme.md create mode 100644 uni_modules/uni-file-picker/changelog.md create mode 100644 uni_modules/uni-file-picker/components/uni-file-picker/choose-and-upload-file.js create mode 100644 uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.vue create mode 100644 uni_modules/uni-file-picker/components/uni-file-picker/upload-file.vue create mode 100644 uni_modules/uni-file-picker/components/uni-file-picker/upload-image.vue create mode 100644 uni_modules/uni-file-picker/components/uni-file-picker/utils.js create mode 100644 uni_modules/uni-file-picker/package.json create mode 100644 uni_modules/uni-file-picker/readme.md create mode 100644 uni_modules/uni-forms/changelog.md create mode 100644 uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue create mode 100644 uni_modules/uni-forms/components/uni-forms/uni-forms.vue create mode 100644 uni_modules/uni-forms/components/uni-forms/utils.js create mode 100644 uni_modules/uni-forms/components/uni-forms/validate.js create mode 100644 uni_modules/uni-forms/package.json create mode 100644 uni_modules/uni-forms/readme.md create mode 100644 uni_modules/uni-goods-nav/changelog.md create mode 100644 uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/en.json create mode 100644 uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/index.js create mode 100644 uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hans.json create mode 100644 uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hant.json create mode 100644 uni_modules/uni-goods-nav/components/uni-goods-nav/uni-goods-nav.vue create mode 100644 uni_modules/uni-goods-nav/package.json create mode 100644 uni_modules/uni-goods-nav/readme.md create mode 100644 uni_modules/uni-grid/changelog.md create mode 100644 uni_modules/uni-grid/components/uni-grid-item/uni-grid-item.vue create mode 100644 uni_modules/uni-grid/components/uni-grid/uni-grid.vue create mode 100644 uni_modules/uni-grid/package.json create mode 100644 uni_modules/uni-grid/readme.md create mode 100644 uni_modules/uni-group/changelog.md create mode 100644 uni_modules/uni-group/components/uni-group/uni-group.vue create mode 100644 uni_modules/uni-group/package.json create mode 100644 uni_modules/uni-group/readme.md create mode 100644 uni_modules/uni-icons/changelog.md create mode 100644 uni_modules/uni-icons/components/uni-icons/icons.js create mode 100644 uni_modules/uni-icons/components/uni-icons/uni-icons.vue create mode 100644 uni_modules/uni-icons/components/uni-icons/uniicons.css create mode 100644 uni_modules/uni-icons/components/uni-icons/uniicons.ttf create mode 100644 uni_modules/uni-icons/package.json create mode 100644 uni_modules/uni-icons/readme.md create mode 100644 uni_modules/uni-indexed-list/changelog.md create mode 100644 uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list-item.vue create mode 100644 uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list.vue create mode 100644 uni_modules/uni-indexed-list/package.json create mode 100644 uni_modules/uni-indexed-list/readme.md create mode 100644 uni_modules/uni-link/changelog.md create mode 100644 uni_modules/uni-link/components/uni-link/uni-link.vue create mode 100644 uni_modules/uni-link/package.json create mode 100644 uni_modules/uni-link/readme.md create mode 100644 uni_modules/uni-list/changelog.md create mode 100644 uni_modules/uni-list/components/uni-list-ad/uni-list-ad.vue create mode 100644 uni_modules/uni-list/components/uni-list-chat/uni-list-chat.scss create mode 100644 uni_modules/uni-list/components/uni-list-chat/uni-list-chat.vue create mode 100644 uni_modules/uni-list/components/uni-list-item/uni-list-item.vue create mode 100644 uni_modules/uni-list/components/uni-list/uni-list.vue create mode 100644 uni_modules/uni-list/components/uni-list/uni-refresh.vue create mode 100644 uni_modules/uni-list/components/uni-list/uni-refresh.wxs create mode 100644 uni_modules/uni-list/package.json create mode 100644 uni_modules/uni-list/readme.md create mode 100644 uni_modules/uni-load-more/changelog.md create mode 100644 uni_modules/uni-load-more/components/uni-load-more/i18n/en.json create mode 100644 uni_modules/uni-load-more/components/uni-load-more/i18n/index.js create mode 100644 uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json create mode 100644 uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json create mode 100644 uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue create mode 100644 uni_modules/uni-load-more/package.json create mode 100644 uni_modules/uni-load-more/readme.md create mode 100644 uni_modules/uni-nav-bar/changelog.md create mode 100644 uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue create mode 100644 uni_modules/uni-nav-bar/components/uni-nav-bar/uni-status-bar.vue create mode 100644 uni_modules/uni-nav-bar/package.json create mode 100644 uni_modules/uni-nav-bar/readme.md create mode 100644 uni_modules/uni-notice-bar/changelog.md create mode 100644 uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.vue create mode 100644 uni_modules/uni-notice-bar/package.json create mode 100644 uni_modules/uni-notice-bar/readme.md create mode 100644 uni_modules/uni-number-box/changelog.md create mode 100644 uni_modules/uni-number-box/components/uni-number-box/uni-number-box.vue create mode 100644 uni_modules/uni-number-box/package.json create mode 100644 uni_modules/uni-number-box/readme.md create mode 100644 uni_modules/uni-pagination/changelog.md create mode 100644 uni_modules/uni-pagination/components/uni-pagination/i18n/en.json create mode 100644 uni_modules/uni-pagination/components/uni-pagination/i18n/es.json create mode 100644 uni_modules/uni-pagination/components/uni-pagination/i18n/fr.json create mode 100644 uni_modules/uni-pagination/components/uni-pagination/i18n/index.js create mode 100644 uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hans.json create mode 100644 uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hant.json create mode 100644 uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue create mode 100644 uni_modules/uni-pagination/package.json create mode 100644 uni_modules/uni-pagination/readme.md create mode 100644 uni_modules/uni-popup/changelog.md create mode 100644 uni_modules/uni-popup/components/uni-popup-dialog/keypress.js create mode 100644 uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue create mode 100644 uni_modules/uni-popup/components/uni-popup-message/uni-popup-message.vue create mode 100644 uni_modules/uni-popup/components/uni-popup-share/uni-popup-share.vue create mode 100644 uni_modules/uni-popup/components/uni-popup/i18n/en.json create mode 100644 uni_modules/uni-popup/components/uni-popup/i18n/index.js create mode 100644 uni_modules/uni-popup/components/uni-popup/i18n/zh-Hans.json create mode 100644 uni_modules/uni-popup/components/uni-popup/i18n/zh-Hant.json create mode 100644 uni_modules/uni-popup/components/uni-popup/keypress.js create mode 100644 uni_modules/uni-popup/components/uni-popup/popup.js create mode 100644 uni_modules/uni-popup/components/uni-popup/uni-popup.vue create mode 100644 uni_modules/uni-popup/package.json create mode 100644 uni_modules/uni-popup/readme.md create mode 100644 uni_modules/uni-rate/changelog.md create mode 100644 uni_modules/uni-rate/components/uni-rate/uni-rate.vue create mode 100644 uni_modules/uni-rate/package.json create mode 100644 uni_modules/uni-rate/readme.md create mode 100644 uni_modules/uni-row/changelog.md create mode 100644 uni_modules/uni-row/components/uni-col/uni-col.vue create mode 100644 uni_modules/uni-row/components/uni-row/uni-row.vue create mode 100644 uni_modules/uni-row/package.json create mode 100644 uni_modules/uni-row/readme.md create mode 100644 uni_modules/uni-scss/changelog.md create mode 100644 uni_modules/uni-scss/index.scss create mode 100644 uni_modules/uni-scss/package.json create mode 100644 uni_modules/uni-scss/readme.md create mode 100644 uni_modules/uni-scss/styles/index.scss create mode 100644 uni_modules/uni-scss/styles/setting/_border.scss create mode 100644 uni_modules/uni-scss/styles/setting/_color.scss create mode 100644 uni_modules/uni-scss/styles/setting/_radius.scss create mode 100644 uni_modules/uni-scss/styles/setting/_space.scss create mode 100644 uni_modules/uni-scss/styles/setting/_styles.scss create mode 100644 uni_modules/uni-scss/styles/setting/_text.scss create mode 100644 uni_modules/uni-scss/styles/setting/_variables.scss create mode 100644 uni_modules/uni-scss/styles/tools/functions.scss create mode 100644 uni_modules/uni-scss/theme.scss create mode 100644 uni_modules/uni-scss/variables.scss create mode 100644 uni_modules/uni-search-bar/changelog.md create mode 100644 uni_modules/uni-search-bar/components/uni-search-bar/i18n/en.json create mode 100644 uni_modules/uni-search-bar/components/uni-search-bar/i18n/index.js create mode 100644 uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hans.json create mode 100644 uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hant.json create mode 100644 uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar.vue create mode 100644 uni_modules/uni-search-bar/package.json create mode 100644 uni_modules/uni-search-bar/readme.md create mode 100644 uni_modules/uni-section/changelog.md create mode 100644 uni_modules/uni-section/components/uni-section/uni-section.vue create mode 100644 uni_modules/uni-section/package.json create mode 100644 uni_modules/uni-section/readme.md create mode 100644 uni_modules/uni-segmented-control/changelog.md create mode 100644 uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.vue create mode 100644 uni_modules/uni-segmented-control/package.json create mode 100644 uni_modules/uni-segmented-control/readme.md create mode 100644 uni_modules/uni-steps/changelog.md create mode 100644 uni_modules/uni-steps/components/uni-steps/uni-steps.vue create mode 100644 uni_modules/uni-steps/package.json create mode 100644 uni_modules/uni-steps/readme.md create mode 100644 uni_modules/uni-swipe-action/changelog.md create mode 100644 uni_modules/uni-swipe-action/components/uni-swipe-action-item/bindingx.js create mode 100644 uni_modules/uni-swipe-action/components/uni-swipe-action-item/isPC.js create mode 100644 uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpalipay.js create mode 100644 uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpother.js create mode 100644 uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpwxs.js create mode 100644 uni_modules/uni-swipe-action/components/uni-swipe-action-item/render.js create mode 100644 uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item.vue create mode 100644 uni_modules/uni-swipe-action/components/uni-swipe-action-item/wx.wxs create mode 100644 uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action.vue create mode 100644 uni_modules/uni-swipe-action/package.json create mode 100644 uni_modules/uni-swipe-action/readme.md create mode 100644 uni_modules/uni-swiper-dot/changelog.md create mode 100644 uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot.vue create mode 100644 uni_modules/uni-swiper-dot/package.json create mode 100644 uni_modules/uni-swiper-dot/readme.md create mode 100644 uni_modules/uni-table/changelog.md create mode 100644 uni_modules/uni-table/components/uni-table/uni-table.vue create mode 100644 uni_modules/uni-table/components/uni-tbody/uni-tbody.vue create mode 100644 uni_modules/uni-table/components/uni-td/uni-td.vue create mode 100644 uni_modules/uni-table/components/uni-th/filter-dropdown.vue create mode 100644 uni_modules/uni-table/components/uni-th/uni-th.vue create mode 100644 uni_modules/uni-table/components/uni-thead/uni-thead.vue create mode 100644 uni_modules/uni-table/components/uni-tr/table-checkbox.vue create mode 100644 uni_modules/uni-table/components/uni-tr/uni-tr.vue create mode 100644 uni_modules/uni-table/i18n/en.json create mode 100644 uni_modules/uni-table/i18n/es.json create mode 100644 uni_modules/uni-table/i18n/fr.json create mode 100644 uni_modules/uni-table/i18n/index.js create mode 100644 uni_modules/uni-table/i18n/zh-Hans.json create mode 100644 uni_modules/uni-table/i18n/zh-Hant.json create mode 100644 uni_modules/uni-table/package.json create mode 100644 uni_modules/uni-table/readme.md create mode 100644 uni_modules/uni-tag/changelog.md create mode 100644 uni_modules/uni-tag/components/uni-tag/uni-tag.vue create mode 100644 uni_modules/uni-tag/package.json create mode 100644 uni_modules/uni-tag/readme.md create mode 100644 uni_modules/uni-test/changelog.md create mode 100644 uni_modules/uni-test/components/uni-test/uni-test.vue create mode 100644 uni_modules/uni-test/package.json create mode 100644 uni_modules/uni-test/readme.md create mode 100644 uni_modules/uni-title/changelog.md create mode 100644 uni_modules/uni-title/components/uni-title/uni-title.vue create mode 100644 uni_modules/uni-title/package.json create mode 100644 uni_modules/uni-title/readme.md create mode 100644 uni_modules/uni-tooltip/changelog.md create mode 100644 uni_modules/uni-tooltip/components/uni-tooltip/uni-tooltip.vue create mode 100644 uni_modules/uni-tooltip/package.json create mode 100644 uni_modules/uni-tooltip/readme.md create mode 100644 uni_modules/uni-transition/changelog.md create mode 100644 uni_modules/uni-transition/components/uni-transition/createAnimation.js create mode 100644 uni_modules/uni-transition/components/uni-transition/uni-transition.vue create mode 100644 uni_modules/uni-transition/package.json create mode 100644 uni_modules/uni-transition/readme.md create mode 100644 uni_modules/uni-ui/changelog.md create mode 100644 uni_modules/uni-ui/components/uni-ui/uni-ui.vue create mode 100644 uni_modules/uni-ui/package.json create mode 100644 uni_modules/uni-ui/readme.md create mode 100644 uni_modules/uview-ui/LICENSE create mode 100644 uni_modules/uview-ui/README.md create mode 100644 uni_modules/uview-ui/changelog.md create mode 100644 uni_modules/uview-ui/components/u--form/u--form.vue create mode 100644 uni_modules/uview-ui/components/u--image/u--image.vue create mode 100644 uni_modules/uview-ui/components/u--input/u--input.vue create mode 100644 uni_modules/uview-ui/components/u--text/u--text.vue create mode 100644 uni_modules/uview-ui/components/u--textarea/u--textarea.vue create mode 100644 uni_modules/uview-ui/components/u-action-sheet/props.js create mode 100644 uni_modules/uview-ui/components/u-action-sheet/u-action-sheet.vue create mode 100644 uni_modules/uview-ui/components/u-album/props.js create mode 100644 uni_modules/uview-ui/components/u-album/u-album.vue create mode 100644 uni_modules/uview-ui/components/u-alert/props.js create mode 100644 uni_modules/uview-ui/components/u-alert/u-alert.vue create mode 100644 uni_modules/uview-ui/components/u-avatar-group/props.js create mode 100644 uni_modules/uview-ui/components/u-avatar-group/u-avatar-group.vue create mode 100644 uni_modules/uview-ui/components/u-avatar/props.js create mode 100644 uni_modules/uview-ui/components/u-avatar/u-avatar.vue create mode 100644 uni_modules/uview-ui/components/u-back-top/props.js create mode 100644 uni_modules/uview-ui/components/u-back-top/u-back-top.vue create mode 100644 uni_modules/uview-ui/components/u-badge/props.js create mode 100644 uni_modules/uview-ui/components/u-badge/u-badge.vue create mode 100644 uni_modules/uview-ui/components/u-button/nvue.scss create mode 100644 uni_modules/uview-ui/components/u-button/props.js create mode 100644 uni_modules/uview-ui/components/u-button/u-button.vue create mode 100644 uni_modules/uview-ui/components/u-button/vue.scss create mode 100644 uni_modules/uview-ui/components/u-calendar/header.vue create mode 100644 uni_modules/uview-ui/components/u-calendar/month.vue create mode 100644 uni_modules/uview-ui/components/u-calendar/props.js create mode 100644 uni_modules/uview-ui/components/u-calendar/u-calendar.vue create mode 100644 uni_modules/uview-ui/components/u-calendar/util.js create mode 100644 uni_modules/uview-ui/components/u-car-keyboard/props.js create mode 100644 uni_modules/uview-ui/components/u-car-keyboard/u-car-keyboard.vue create mode 100644 uni_modules/uview-ui/components/u-cell-group/props.js create mode 100644 uni_modules/uview-ui/components/u-cell-group/u-cell-group.vue create mode 100644 uni_modules/uview-ui/components/u-cell/props.js create mode 100644 uni_modules/uview-ui/components/u-cell/u-cell.vue create mode 100644 uni_modules/uview-ui/components/u-checkbox-group/props.js create mode 100644 uni_modules/uview-ui/components/u-checkbox-group/u-checkbox-group.vue create mode 100644 uni_modules/uview-ui/components/u-checkbox/props.js create mode 100644 uni_modules/uview-ui/components/u-checkbox/u-checkbox.vue create mode 100644 uni_modules/uview-ui/components/u-circle-progress/props.js create mode 100644 uni_modules/uview-ui/components/u-circle-progress/u-circle-progress.vue create mode 100644 uni_modules/uview-ui/components/u-code-input/props.js create mode 100644 uni_modules/uview-ui/components/u-code-input/u-code-input.vue create mode 100644 uni_modules/uview-ui/components/u-code/props.js create mode 100644 uni_modules/uview-ui/components/u-code/u-code.vue create mode 100644 uni_modules/uview-ui/components/u-col/props.js create mode 100644 uni_modules/uview-ui/components/u-col/u-col.vue create mode 100644 uni_modules/uview-ui/components/u-collapse-item/props.js create mode 100644 uni_modules/uview-ui/components/u-collapse-item/u-collapse-item.vue create mode 100644 uni_modules/uview-ui/components/u-collapse/props.js create mode 100644 uni_modules/uview-ui/components/u-collapse/u-collapse.vue create mode 100644 uni_modules/uview-ui/components/u-column-notice/props.js create mode 100644 uni_modules/uview-ui/components/u-column-notice/u-column-notice.vue create mode 100644 uni_modules/uview-ui/components/u-count-down/props.js create mode 100644 uni_modules/uview-ui/components/u-count-down/u-count-down.vue create mode 100644 uni_modules/uview-ui/components/u-count-down/utils.js create mode 100644 uni_modules/uview-ui/components/u-count-to/props.js create mode 100644 uni_modules/uview-ui/components/u-count-to/u-count-to.vue create mode 100644 uni_modules/uview-ui/components/u-datetime-picker/props.js create mode 100644 uni_modules/uview-ui/components/u-datetime-picker/u-datetime-picker.vue create mode 100644 uni_modules/uview-ui/components/u-divider/props.js create mode 100644 uni_modules/uview-ui/components/u-divider/u-divider.vue create mode 100644 uni_modules/uview-ui/components/u-dropdown-item/props.js create mode 100644 uni_modules/uview-ui/components/u-dropdown-item/u-dropdown-item.vue create mode 100644 uni_modules/uview-ui/components/u-dropdown/props.js create mode 100644 uni_modules/uview-ui/components/u-dropdown/u-dropdown.vue create mode 100644 uni_modules/uview-ui/components/u-empty/props.js create mode 100644 uni_modules/uview-ui/components/u-empty/u-empty.vue create mode 100644 uni_modules/uview-ui/components/u-form-item/props.js create mode 100644 uni_modules/uview-ui/components/u-form-item/u-form-item.vue create mode 100644 uni_modules/uview-ui/components/u-form/props.js create mode 100644 uni_modules/uview-ui/components/u-form/u-form.vue create mode 100644 uni_modules/uview-ui/components/u-gap/props.js create mode 100644 uni_modules/uview-ui/components/u-gap/u-gap.vue create mode 100644 uni_modules/uview-ui/components/u-grid-item/props.js create mode 100644 uni_modules/uview-ui/components/u-grid-item/u-grid-item.vue create mode 100644 uni_modules/uview-ui/components/u-grid/props.js create mode 100644 uni_modules/uview-ui/components/u-grid/u-grid.vue create mode 100644 uni_modules/uview-ui/components/u-icon/icons.js create mode 100644 uni_modules/uview-ui/components/u-icon/props.js create mode 100644 uni_modules/uview-ui/components/u-icon/u-icon.vue create mode 100644 uni_modules/uview-ui/components/u-image/props.js create mode 100644 uni_modules/uview-ui/components/u-image/u-image.vue create mode 100644 uni_modules/uview-ui/components/u-index-anchor/props.js create mode 100644 uni_modules/uview-ui/components/u-index-anchor/u-index-anchor.vue create mode 100644 uni_modules/uview-ui/components/u-index-item/props.js create mode 100644 uni_modules/uview-ui/components/u-index-item/u-index-item.vue create mode 100644 uni_modules/uview-ui/components/u-index-list/props.js create mode 100644 uni_modules/uview-ui/components/u-index-list/u-index-list.vue create mode 100644 uni_modules/uview-ui/components/u-input/props.js create mode 100644 uni_modules/uview-ui/components/u-input/u-input.vue create mode 100644 uni_modules/uview-ui/components/u-keyboard/props.js create mode 100644 uni_modules/uview-ui/components/u-keyboard/u-keyboard.vue create mode 100644 uni_modules/uview-ui/components/u-line-progress/props.js create mode 100644 uni_modules/uview-ui/components/u-line-progress/u-line-progress.vue create mode 100644 uni_modules/uview-ui/components/u-line/props.js create mode 100644 uni_modules/uview-ui/components/u-line/u-line.vue create mode 100644 uni_modules/uview-ui/components/u-link/props.js create mode 100644 uni_modules/uview-ui/components/u-link/u-link.vue create mode 100644 uni_modules/uview-ui/components/u-list-item/props.js create mode 100644 uni_modules/uview-ui/components/u-list-item/u-list-item.vue create mode 100644 uni_modules/uview-ui/components/u-list/props.js create mode 100644 uni_modules/uview-ui/components/u-list/u-list.vue create mode 100644 uni_modules/uview-ui/components/u-loading-icon/props.js create mode 100644 uni_modules/uview-ui/components/u-loading-icon/u-loading-icon.vue create mode 100644 uni_modules/uview-ui/components/u-loading-page/props.js create mode 100644 uni_modules/uview-ui/components/u-loading-page/u-loading-page.vue create mode 100644 uni_modules/uview-ui/components/u-loadmore/props.js create mode 100644 uni_modules/uview-ui/components/u-loadmore/u-loadmore.vue create mode 100644 uni_modules/uview-ui/components/u-modal/props.js create mode 100644 uni_modules/uview-ui/components/u-modal/u-modal.vue create mode 100644 uni_modules/uview-ui/components/u-navbar/props.js create mode 100644 uni_modules/uview-ui/components/u-navbar/u-navbar.vue create mode 100644 uni_modules/uview-ui/components/u-no-network/props.js create mode 100644 uni_modules/uview-ui/components/u-no-network/u-no-network.vue create mode 100644 uni_modules/uview-ui/components/u-notice-bar/props.js create mode 100644 uni_modules/uview-ui/components/u-notice-bar/u-notice-bar.vue create mode 100644 uni_modules/uview-ui/components/u-notify/props.js create mode 100644 uni_modules/uview-ui/components/u-notify/u-notify.vue create mode 100644 uni_modules/uview-ui/components/u-number-box/props.js create mode 100644 uni_modules/uview-ui/components/u-number-box/u-number-box.vue create mode 100644 uni_modules/uview-ui/components/u-number-keyboard/props.js create mode 100644 uni_modules/uview-ui/components/u-number-keyboard/u-number-keyboard.vue create mode 100644 uni_modules/uview-ui/components/u-overlay/props.js create mode 100644 uni_modules/uview-ui/components/u-overlay/u-overlay.vue create mode 100644 uni_modules/uview-ui/components/u-parse/node/node.vue create mode 100644 uni_modules/uview-ui/components/u-parse/parser.js create mode 100644 uni_modules/uview-ui/components/u-parse/props.js create mode 100644 uni_modules/uview-ui/components/u-parse/u-parse.vue create mode 100644 uni_modules/uview-ui/components/u-picker-column/props.js create mode 100644 uni_modules/uview-ui/components/u-picker-column/u-picker-column.vue create mode 100644 uni_modules/uview-ui/components/u-picker/props.js create mode 100644 uni_modules/uview-ui/components/u-picker/u-picker.vue create mode 100644 uni_modules/uview-ui/components/u-popup/props.js create mode 100644 uni_modules/uview-ui/components/u-popup/u-popup.vue create mode 100644 uni_modules/uview-ui/components/u-radio-group/props.js create mode 100644 uni_modules/uview-ui/components/u-radio-group/u-radio-group.vue create mode 100644 uni_modules/uview-ui/components/u-radio/props.js create mode 100644 uni_modules/uview-ui/components/u-radio/u-radio.vue create mode 100644 uni_modules/uview-ui/components/u-rate/props.js create mode 100644 uni_modules/uview-ui/components/u-rate/u-rate.vue create mode 100644 uni_modules/uview-ui/components/u-read-more/props.js create mode 100644 uni_modules/uview-ui/components/u-read-more/u-read-more.vue create mode 100644 uni_modules/uview-ui/components/u-row-notice/props.js create mode 100644 uni_modules/uview-ui/components/u-row-notice/u-row-notice.vue create mode 100644 uni_modules/uview-ui/components/u-row/props.js create mode 100644 uni_modules/uview-ui/components/u-row/u-row.vue create mode 100644 uni_modules/uview-ui/components/u-safe-bottom/props.js create mode 100644 uni_modules/uview-ui/components/u-safe-bottom/u-safe-bottom.vue create mode 100644 uni_modules/uview-ui/components/u-scroll-list/nvue.js create mode 100644 uni_modules/uview-ui/components/u-scroll-list/other.js create mode 100644 uni_modules/uview-ui/components/u-scroll-list/props.js create mode 100644 uni_modules/uview-ui/components/u-scroll-list/scrollWxs.wxs create mode 100644 uni_modules/uview-ui/components/u-scroll-list/u-scroll-list.vue create mode 100644 uni_modules/uview-ui/components/u-search/props.js create mode 100644 uni_modules/uview-ui/components/u-search/u-search.vue create mode 100644 uni_modules/uview-ui/components/u-skeleton/props.js create mode 100644 uni_modules/uview-ui/components/u-skeleton/u-skeleton.vue create mode 100644 uni_modules/uview-ui/components/u-slider/mpother.js create mode 100644 uni_modules/uview-ui/components/u-slider/mpwxs.js create mode 100644 uni_modules/uview-ui/components/u-slider/mpwxs.wxs create mode 100644 uni_modules/uview-ui/components/u-slider/nvue - 副本.js create mode 100644 uni_modules/uview-ui/components/u-slider/nvue.js create mode 100644 uni_modules/uview-ui/components/u-slider/props.js create mode 100644 uni_modules/uview-ui/components/u-slider/u-slider.vue create mode 100644 uni_modules/uview-ui/components/u-status-bar/props.js create mode 100644 uni_modules/uview-ui/components/u-status-bar/u-status-bar.vue create mode 100644 uni_modules/uview-ui/components/u-steps-item/props.js create mode 100644 uni_modules/uview-ui/components/u-steps-item/u-steps-item.vue create mode 100644 uni_modules/uview-ui/components/u-steps/props.js create mode 100644 uni_modules/uview-ui/components/u-steps/u-steps.vue create mode 100644 uni_modules/uview-ui/components/u-sticky/props.js create mode 100644 uni_modules/uview-ui/components/u-sticky/u-sticky.vue create mode 100644 uni_modules/uview-ui/components/u-subsection/props.js create mode 100644 uni_modules/uview-ui/components/u-subsection/u-subsection.vue create mode 100644 uni_modules/uview-ui/components/u-swipe-action-item/index - backup.wxs create mode 100644 uni_modules/uview-ui/components/u-swipe-action-item/index.wxs create mode 100644 uni_modules/uview-ui/components/u-swipe-action-item/nvue - backup.js create mode 100644 uni_modules/uview-ui/components/u-swipe-action-item/nvue.js create mode 100644 uni_modules/uview-ui/components/u-swipe-action-item/props.js create mode 100644 uni_modules/uview-ui/components/u-swipe-action-item/u-swipe-action-item.vue create mode 100644 uni_modules/uview-ui/components/u-swipe-action-item/wxs.js create mode 100644 uni_modules/uview-ui/components/u-swipe-action/props.js create mode 100644 uni_modules/uview-ui/components/u-swipe-action/u-swipe-action.vue create mode 100644 uni_modules/uview-ui/components/u-swiper-indicator/props.js create mode 100644 uni_modules/uview-ui/components/u-swiper-indicator/u-swiper-indicator.vue create mode 100644 uni_modules/uview-ui/components/u-swiper/props.js create mode 100644 uni_modules/uview-ui/components/u-swiper/u-swiper.vue create mode 100644 uni_modules/uview-ui/components/u-switch/props.js create mode 100644 uni_modules/uview-ui/components/u-switch/u-switch.vue create mode 100644 uni_modules/uview-ui/components/u-tabbar-item/props.js create mode 100644 uni_modules/uview-ui/components/u-tabbar-item/u-tabbar-item.vue create mode 100644 uni_modules/uview-ui/components/u-tabbar/props.js create mode 100644 uni_modules/uview-ui/components/u-tabbar/u-tabbar.vue create mode 100644 uni_modules/uview-ui/components/u-table/props.js create mode 100644 uni_modules/uview-ui/components/u-table/u-table.vue create mode 100644 uni_modules/uview-ui/components/u-tabs-item/props.js create mode 100644 uni_modules/uview-ui/components/u-tabs-item/u-tabs-item.vue create mode 100644 uni_modules/uview-ui/components/u-tabs/props.js create mode 100644 uni_modules/uview-ui/components/u-tabs/u-tabs.vue create mode 100644 uni_modules/uview-ui/components/u-tag/props.js create mode 100644 uni_modules/uview-ui/components/u-tag/u-tag.vue create mode 100644 uni_modules/uview-ui/components/u-td/props.js create mode 100644 uni_modules/uview-ui/components/u-td/u-td.vue create mode 100644 uni_modules/uview-ui/components/u-text/props.js create mode 100644 uni_modules/uview-ui/components/u-text/u-text.vue create mode 100644 uni_modules/uview-ui/components/u-text/value.js create mode 100644 uni_modules/uview-ui/components/u-textarea/props.js create mode 100644 uni_modules/uview-ui/components/u-textarea/u-textarea.vue create mode 100644 uni_modules/uview-ui/components/u-toast/u-toast.vue create mode 100644 uni_modules/uview-ui/components/u-toolbar/props.js create mode 100644 uni_modules/uview-ui/components/u-toolbar/u-toolbar.vue create mode 100644 uni_modules/uview-ui/components/u-tooltip/clipboard.min.js create mode 100644 uni_modules/uview-ui/components/u-tooltip/props.js create mode 100644 uni_modules/uview-ui/components/u-tooltip/u-tooltip.vue create mode 100644 uni_modules/uview-ui/components/u-tr/props.js create mode 100644 uni_modules/uview-ui/components/u-tr/u-tr.vue create mode 100644 uni_modules/uview-ui/components/u-transition/nvue.ani-map.js create mode 100644 uni_modules/uview-ui/components/u-transition/props.js create mode 100644 uni_modules/uview-ui/components/u-transition/transition.js create mode 100644 uni_modules/uview-ui/components/u-transition/u-transition.vue create mode 100644 uni_modules/uview-ui/components/u-transition/vue.ani-style.scss create mode 100644 uni_modules/uview-ui/components/u-upload/mixin.js create mode 100644 uni_modules/uview-ui/components/u-upload/props.js create mode 100644 uni_modules/uview-ui/components/u-upload/u-upload.vue create mode 100644 uni_modules/uview-ui/components/u-upload/utils.js create mode 100644 uni_modules/uview-ui/components/uview-ui/uview-ui.vue create mode 100644 uni_modules/uview-ui/index.js create mode 100644 uni_modules/uview-ui/index.scss create mode 100644 uni_modules/uview-ui/libs/config/color.js create mode 100644 uni_modules/uview-ui/libs/config/config.js create mode 100644 uni_modules/uview-ui/libs/config/props.js create mode 100644 uni_modules/uview-ui/libs/config/props/actionSheet.js create mode 100644 uni_modules/uview-ui/libs/config/props/album.js create mode 100644 uni_modules/uview-ui/libs/config/props/alert.js create mode 100644 uni_modules/uview-ui/libs/config/props/avatar.js create mode 100644 uni_modules/uview-ui/libs/config/props/avatarGroup.js create mode 100644 uni_modules/uview-ui/libs/config/props/backtop.js create mode 100644 uni_modules/uview-ui/libs/config/props/badge.js create mode 100644 uni_modules/uview-ui/libs/config/props/button.js create mode 100644 uni_modules/uview-ui/libs/config/props/calendar.js create mode 100644 uni_modules/uview-ui/libs/config/props/carKeyboard.js create mode 100644 uni_modules/uview-ui/libs/config/props/cell.js create mode 100644 uni_modules/uview-ui/libs/config/props/cellGroup.js create mode 100644 uni_modules/uview-ui/libs/config/props/checkbox.js create mode 100644 uni_modules/uview-ui/libs/config/props/checkboxGroup.js create mode 100644 uni_modules/uview-ui/libs/config/props/circleProgress.js create mode 100644 uni_modules/uview-ui/libs/config/props/code.js create mode 100644 uni_modules/uview-ui/libs/config/props/codeInput.js create mode 100644 uni_modules/uview-ui/libs/config/props/col.js create mode 100644 uni_modules/uview-ui/libs/config/props/collapse.js create mode 100644 uni_modules/uview-ui/libs/config/props/collapseItem.js create mode 100644 uni_modules/uview-ui/libs/config/props/columnNotice.js create mode 100644 uni_modules/uview-ui/libs/config/props/countDown.js create mode 100644 uni_modules/uview-ui/libs/config/props/countTo.js create mode 100644 uni_modules/uview-ui/libs/config/props/datetimePicker.js create mode 100644 uni_modules/uview-ui/libs/config/props/divider.js create mode 100644 uni_modules/uview-ui/libs/config/props/empty.js create mode 100644 uni_modules/uview-ui/libs/config/props/form.js create mode 100644 uni_modules/uview-ui/libs/config/props/formItem.js create mode 100644 uni_modules/uview-ui/libs/config/props/gap.js create mode 100644 uni_modules/uview-ui/libs/config/props/grid.js create mode 100644 uni_modules/uview-ui/libs/config/props/gridItem.js create mode 100644 uni_modules/uview-ui/libs/config/props/icon.js create mode 100644 uni_modules/uview-ui/libs/config/props/image.js create mode 100644 uni_modules/uview-ui/libs/config/props/indexAnchor.js create mode 100644 uni_modules/uview-ui/libs/config/props/indexList.js create mode 100644 uni_modules/uview-ui/libs/config/props/input.js create mode 100644 uni_modules/uview-ui/libs/config/props/keyboard.js create mode 100644 uni_modules/uview-ui/libs/config/props/line.js create mode 100644 uni_modules/uview-ui/libs/config/props/lineProgress.js create mode 100644 uni_modules/uview-ui/libs/config/props/link.js create mode 100644 uni_modules/uview-ui/libs/config/props/list.js create mode 100644 uni_modules/uview-ui/libs/config/props/listItem.js create mode 100644 uni_modules/uview-ui/libs/config/props/loadingIcon.js create mode 100644 uni_modules/uview-ui/libs/config/props/loadingPage.js create mode 100644 uni_modules/uview-ui/libs/config/props/loadmore.js create mode 100644 uni_modules/uview-ui/libs/config/props/modal.js create mode 100644 uni_modules/uview-ui/libs/config/props/navbar.js create mode 100644 uni_modules/uview-ui/libs/config/props/noNetwork.js create mode 100644 uni_modules/uview-ui/libs/config/props/noticeBar.js create mode 100644 uni_modules/uview-ui/libs/config/props/notify.js create mode 100644 uni_modules/uview-ui/libs/config/props/numberBox.js create mode 100644 uni_modules/uview-ui/libs/config/props/numberKeyboard.js create mode 100644 uni_modules/uview-ui/libs/config/props/overlay.js create mode 100644 uni_modules/uview-ui/libs/config/props/parse.js create mode 100644 uni_modules/uview-ui/libs/config/props/picker.js create mode 100644 uni_modules/uview-ui/libs/config/props/popup.js create mode 100644 uni_modules/uview-ui/libs/config/props/radio.js create mode 100644 uni_modules/uview-ui/libs/config/props/radioGroup.js create mode 100644 uni_modules/uview-ui/libs/config/props/rate.js create mode 100644 uni_modules/uview-ui/libs/config/props/readMore.js create mode 100644 uni_modules/uview-ui/libs/config/props/row.js create mode 100644 uni_modules/uview-ui/libs/config/props/rowNotice.js create mode 100644 uni_modules/uview-ui/libs/config/props/scrollList.js create mode 100644 uni_modules/uview-ui/libs/config/props/search.js create mode 100644 uni_modules/uview-ui/libs/config/props/section.js create mode 100644 uni_modules/uview-ui/libs/config/props/skeleton.js create mode 100644 uni_modules/uview-ui/libs/config/props/slider.js create mode 100644 uni_modules/uview-ui/libs/config/props/statusBar.js create mode 100644 uni_modules/uview-ui/libs/config/props/steps.js create mode 100644 uni_modules/uview-ui/libs/config/props/stepsItem.js create mode 100644 uni_modules/uview-ui/libs/config/props/sticky.js create mode 100644 uni_modules/uview-ui/libs/config/props/subsection.js create mode 100644 uni_modules/uview-ui/libs/config/props/swipeAction.js create mode 100644 uni_modules/uview-ui/libs/config/props/swipeActionItem.js create mode 100644 uni_modules/uview-ui/libs/config/props/swiper.js create mode 100644 uni_modules/uview-ui/libs/config/props/swipterIndicator.js create mode 100644 uni_modules/uview-ui/libs/config/props/switch.js create mode 100644 uni_modules/uview-ui/libs/config/props/tabbar.js create mode 100644 uni_modules/uview-ui/libs/config/props/tabbarItem.js create mode 100644 uni_modules/uview-ui/libs/config/props/tabs.js create mode 100644 uni_modules/uview-ui/libs/config/props/tag.js create mode 100644 uni_modules/uview-ui/libs/config/props/text.js create mode 100644 uni_modules/uview-ui/libs/config/props/textarea.js create mode 100644 uni_modules/uview-ui/libs/config/props/toast.js create mode 100644 uni_modules/uview-ui/libs/config/props/toolbar.js create mode 100644 uni_modules/uview-ui/libs/config/props/tooltip.js create mode 100644 uni_modules/uview-ui/libs/config/props/transition.js create mode 100644 uni_modules/uview-ui/libs/config/props/upload.js create mode 100644 uni_modules/uview-ui/libs/config/zIndex.js create mode 100644 uni_modules/uview-ui/libs/css/color.scss create mode 100644 uni_modules/uview-ui/libs/css/common.scss create mode 100644 uni_modules/uview-ui/libs/css/components.scss create mode 100644 uni_modules/uview-ui/libs/css/flex.scss create mode 100644 uni_modules/uview-ui/libs/css/h5.scss create mode 100644 uni_modules/uview-ui/libs/css/mixin.scss create mode 100644 uni_modules/uview-ui/libs/css/mp.scss create mode 100644 uni_modules/uview-ui/libs/css/nvue.scss create mode 100644 uni_modules/uview-ui/libs/css/vue.scss create mode 100644 uni_modules/uview-ui/libs/function/colorGradient.js create mode 100644 uni_modules/uview-ui/libs/function/debounce.js create mode 100644 uni_modules/uview-ui/libs/function/digit.js create mode 100644 uni_modules/uview-ui/libs/function/index.js create mode 100644 uni_modules/uview-ui/libs/function/platform.js create mode 100644 uni_modules/uview-ui/libs/function/test.js create mode 100644 uni_modules/uview-ui/libs/function/throttle.js create mode 100644 uni_modules/uview-ui/libs/luch-request/adapters/index.js create mode 100644 uni_modules/uview-ui/libs/luch-request/core/InterceptorManager.js create mode 100644 uni_modules/uview-ui/libs/luch-request/core/Request.js create mode 100644 uni_modules/uview-ui/libs/luch-request/core/buildFullPath.js create mode 100644 uni_modules/uview-ui/libs/luch-request/core/defaults.js create mode 100644 uni_modules/uview-ui/libs/luch-request/core/dispatchRequest.js create mode 100644 uni_modules/uview-ui/libs/luch-request/core/mergeConfig.js create mode 100644 uni_modules/uview-ui/libs/luch-request/core/settle.js create mode 100644 uni_modules/uview-ui/libs/luch-request/helpers/buildURL.js create mode 100644 uni_modules/uview-ui/libs/luch-request/helpers/combineURLs.js create mode 100644 uni_modules/uview-ui/libs/luch-request/helpers/isAbsoluteURL.js create mode 100644 uni_modules/uview-ui/libs/luch-request/index.d.ts create mode 100644 uni_modules/uview-ui/libs/luch-request/index.js create mode 100644 uni_modules/uview-ui/libs/luch-request/utils.js create mode 100644 uni_modules/uview-ui/libs/luch-request/utils/clone.js create mode 100644 uni_modules/uview-ui/libs/mixin/button.js create mode 100644 uni_modules/uview-ui/libs/mixin/mixin.js create mode 100644 uni_modules/uview-ui/libs/mixin/mpMixin.js create mode 100644 uni_modules/uview-ui/libs/mixin/mpShare.js create mode 100644 uni_modules/uview-ui/libs/mixin/openType.js create mode 100644 uni_modules/uview-ui/libs/mixin/style.js create mode 100644 uni_modules/uview-ui/libs/mixin/touch.js create mode 100644 uni_modules/uview-ui/libs/util/async-validator.js create mode 100644 uni_modules/uview-ui/libs/util/calendar.js create mode 100644 uni_modules/uview-ui/libs/util/dayjs.js create mode 100644 uni_modules/uview-ui/libs/util/emitter.js create mode 100644 uni_modules/uview-ui/libs/util/route.js create mode 100644 uni_modules/uview-ui/package.json create mode 100644 uni_modules/uview-ui/theme.scss diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..44e168b --- /dev/null +++ b/.gitignore @@ -0,0 +1,26 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +node_modules/ +/.pnp +.pnp.js +unpackage/ + +# testing +/coverage + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* +yarn.lock +build.7z diff --git a/.hbuilderx/launch.json b/.hbuilderx/launch.json new file mode 100644 index 0000000..07d9281 --- /dev/null +++ b/.hbuilderx/launch.json @@ -0,0 +1,23 @@ +{ + // launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/ + // launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数 + "version" : "0.0", + "configurations" : [ + { + "app-plus" : { + "launchtype" : "local" + }, + "default" : { + "launchtype" : "local" + }, + "mp-weixin" : { + "launchtype" : "local" + }, + "type" : "uniCloud" + }, + { + "playground" : "standard", + "type" : "uni-app:app-android" + } + ] +} diff --git a/App.vue b/App.vue new file mode 100644 index 0000000..6114a62 --- /dev/null +++ b/App.vue @@ -0,0 +1,47 @@ + + + diff --git a/index.html b/index.html new file mode 100644 index 0000000..b507463 --- /dev/null +++ b/index.html @@ -0,0 +1,26 @@ + + + + + + + + + + + + +
+ + + diff --git a/main.js b/main.js new file mode 100644 index 0000000..75e50ad --- /dev/null +++ b/main.js @@ -0,0 +1,68 @@ +// #ifndef VUE3 +import Vue from 'vue' +import uView from '@/uni_modules/uview-ui' +Vue.use(uView) +import App from './App' +import { + $http +} from '@escook/request-miniprogram' + +Vue.config.productionTip = false +uni.$http = $http +// $http.baseUrl = 'http://local.gunshiiot.com:18083' +$http.baseUrl = 'http://36.139.207.50:18083' +// 请求拦截器 +$http.beforeRequest = function(options) { + // uni.showLoading({ + // title: '数据加载中' + // }) + // if ( + // options.url.indexOf('/gunshiApp/xfflood/doLogin') == -1 + // && options.url.indexOf('/gunshiApp/xfflood/getLoginInfo') == -1 + // && options.url.indexOf('/gunshiApp/xfflood/my/info/getByUserId') == -1 + // && options.url.indexOf('/gunshiApp/xfflood/bzProjectManipulationRecord/file/get/') == -1 + // ) { + // // uni.showLoading({ + // // title: '数据加载中' + // // }) + // } + + + if (options.url.indexOf('/doLogin') == -1) { + options.header = { + 'gs-token': uni.getStorageSync('Gs-Token') + } + } +} +// 响应拦截器 +$http.afterRequest = function(options) { + // uni.hideLoading() +} +uni.$showMsg = function(title = '数据请求失败了', duration = 1500) { + return uni.showToast({ + title, + duration, + icon: 'none' + }) +} +Vue.config.productionTip = false +App.mpType = 'app' + +const app = new Vue({ + ...App +}) +app.$mount() +// #endif + +// #ifdef VUE3 +import { + createSSRApp +} from 'vue' +import App from './App.vue' +export function createApp() { + const app = createSSRApp(App) + return { + app + } +} +// #endif \ No newline at end of file diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..858e954 --- /dev/null +++ b/manifest.json @@ -0,0 +1,128 @@ +{ + "name" : "咸丰水利", + "appid" : "__UNI__FB46C1F", + "description" : "", + "versionName" : "1.0.2", + "versionCode" : 1, + "transformPx" : false, + "app-plus" : { + /* 5+App特有相关 */ + "usingComponents" : true, + "nvueCompiler" : "uni-app", + "nvueStyleCompiler" : "uni-app", + "splashscreen" : { + "alwaysShowBeforeRender" : true, + "waiting" : true, + "autoclose" : true, + "delay" : 0 + }, + "modules" : { + "VideoPlayer" : {}, + "Contacts" : {}, + "Messaging" : {}, + "Camera" : {}, + "Maps" : {} + }, + /* 模块配置 */ + "distribute" : { + /* 应用发布信息 */ + "android" : { + /* android打包配置 */ + "packagename" : "com.gunshi.xffxkh", + "permissions" : [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "ios" : { + "dSYMs" : false + }, + /* ios打包配置 */ + "sdkConfigs" : { + "ad" : {}, + "maps" : { + "amap" : { + "name" : "4799ff37874e604a22b910b44ca948e5", + "appkey_ios" : "755dafdf984df7a1609fb30f6861bd17", + "appkey_android" : "755dafdf984df7a1609fb30f6861bd17" + } + } + }, + "splashscreen" : { + "androidStyle" : "common" + }, + "icons" : { + "android" : { + "hdpi" : "unpackage/res/icons/72x72.png", + "xhdpi" : "unpackage/res/icons/96x96.png", + "xxhdpi" : "unpackage/res/icons/144x144.png", + "xxxhdpi" : "unpackage/res/icons/192x192.png" + }, + "ios" : { + "appstore" : "unpackage/res/icons/1024x1024.png", + "ipad" : { + "app" : "unpackage/res/icons/76x76.png", + "app@2x" : "unpackage/res/icons/152x152.png", + "notification" : "unpackage/res/icons/20x20.png", + "notification@2x" : "unpackage/res/icons/40x40.png", + "proapp@2x" : "unpackage/res/icons/167x167.png", + "settings" : "unpackage/res/icons/29x29.png", + "settings@2x" : "unpackage/res/icons/58x58.png", + "spotlight" : "unpackage/res/icons/40x40.png", + "spotlight@2x" : "unpackage/res/icons/80x80.png" + }, + "iphone" : { + "app@2x" : "unpackage/res/icons/120x120.png", + "app@3x" : "unpackage/res/icons/180x180.png", + "notification@2x" : "unpackage/res/icons/40x40.png", + "notification@3x" : "unpackage/res/icons/60x60.png", + "settings@2x" : "unpackage/res/icons/58x58.png", + "settings@3x" : "unpackage/res/icons/87x87.png", + "spotlight@2x" : "unpackage/res/icons/80x80.png", + "spotlight@3x" : "unpackage/res/icons/120x120.png" + } + } + } + } + }, + /* SDK配置 */ + "quickapp" : {}, + /* 快应用特有相关 */ + "mp-weixin" : { + /* 小程序特有相关 */ + "appid" : "", + "setting" : { + "urlCheck" : false + }, + "usingComponents" : true + }, + "vueVersion" : "2", + "h5" : { + "template" : "template.html", + "sdkConfigs" : { + "maps" : { + "amap" : { + "key" : "4799ff37874e604a22b910b44ca948e5", + "securityJsCode" : "", + "serviceHost" : "" + } + } + } + } +} +/* android打包配置 *//* ios打包配置 */ + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..2c322f4 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,128 @@ +{ + "name": "xffxkh-app", + "version": "1.0.1", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "dependencies": { + "@amap/amap-jsapi-loader": "^1.0.1", + "@escook/request-miniprogram": "^0.2.1", + "crypto-js": "^4.2.0", + "echarts": "^4.9.0", + "es6-promise": "^4.2.8", + "flv.js": "^1.6.2", + "moment": "^2.30.1" + } + }, + "node_modules/@amap/amap-jsapi-loader": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@amap/amap-jsapi-loader/-/amap-jsapi-loader-1.0.1.tgz", + "integrity": "sha512-nPyLKt7Ow/ThHLkSvn2etQlUzqxmTVgK7bIgwdBRTg2HK5668oN7xVxkaiRe3YZEzGzfV2XgH5Jmu2T73ljejw==" + }, + "node_modules/@escook/request-miniprogram": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/@escook/request-miniprogram/-/request-miniprogram-0.2.1.tgz", + "integrity": "sha512-ueWV5YsaEm/ycQZuEjMiA88GFMhfBQSjy9GrP9omy4xAQajkGTbYIlnhzsDfWzRPmRC1fKmAiKMrCVcgS+SHcQ==" + }, + "node_modules/crypto-js": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==" + }, + "node_modules/echarts": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-4.9.0.tgz", + "integrity": "sha512-+ugizgtJ+KmsJyyDPxaw2Br5FqzuBnyOWwcxPKO6y0gc5caYcfnEUIlNStx02necw8jmKmTafmpHhGo4XDtEIA==", + "dependencies": { + "zrender": "4.3.2" + } + }, + "node_modules/es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + }, + "node_modules/flv.js": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/flv.js/-/flv.js-1.6.2.tgz", + "integrity": "sha512-xre4gUbX1MPtgQRKj2pxJENp/RnaHaxYvy3YToVVCrSmAWUu85b9mug6pTXF6zakUjNP2lFWZ1rkSX7gxhB/2A==", + "dependencies": { + "es6-promise": "^4.2.8", + "webworkify-webpack": "^2.1.5" + } + }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "engines": { + "node": "*" + } + }, + "node_modules/webworkify-webpack": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/webworkify-webpack/-/webworkify-webpack-2.1.5.tgz", + "integrity": "sha512-2akF8FIyUvbiBBdD+RoHpoTbHMQF2HwjcxfDvgztAX5YwbZNyrtfUMgvfgFVsgDhDPVTlkbb5vyasqDHfIDPQw==" + }, + "node_modules/zrender": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-4.3.2.tgz", + "integrity": "sha512-bIusJLS8c4DkIcdiK+s13HiQ/zjQQVgpNohtd8d94Y2DnJqgM1yjh/jpDb8DoL6hd7r8Awagw8e3qK/oLaWr3g==" + } + }, + "dependencies": { + "@amap/amap-jsapi-loader": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@amap/amap-jsapi-loader/-/amap-jsapi-loader-1.0.1.tgz", + "integrity": "sha512-nPyLKt7Ow/ThHLkSvn2etQlUzqxmTVgK7bIgwdBRTg2HK5668oN7xVxkaiRe3YZEzGzfV2XgH5Jmu2T73ljejw==" + }, + "@escook/request-miniprogram": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/@escook/request-miniprogram/-/request-miniprogram-0.2.1.tgz", + "integrity": "sha512-ueWV5YsaEm/ycQZuEjMiA88GFMhfBQSjy9GrP9omy4xAQajkGTbYIlnhzsDfWzRPmRC1fKmAiKMrCVcgS+SHcQ==" + }, + "crypto-js": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==" + }, + "echarts": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-4.9.0.tgz", + "integrity": "sha512-+ugizgtJ+KmsJyyDPxaw2Br5FqzuBnyOWwcxPKO6y0gc5caYcfnEUIlNStx02necw8jmKmTafmpHhGo4XDtEIA==", + "requires": { + "zrender": "4.3.2" + } + }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + }, + "flv.js": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/flv.js/-/flv.js-1.6.2.tgz", + "integrity": "sha512-xre4gUbX1MPtgQRKj2pxJENp/RnaHaxYvy3YToVVCrSmAWUu85b9mug6pTXF6zakUjNP2lFWZ1rkSX7gxhB/2A==", + "requires": { + "es6-promise": "^4.2.8", + "webworkify-webpack": "^2.1.5" + } + }, + "moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==" + }, + "webworkify-webpack": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/webworkify-webpack/-/webworkify-webpack-2.1.5.tgz", + "integrity": "sha512-2akF8FIyUvbiBBdD+RoHpoTbHMQF2HwjcxfDvgztAX5YwbZNyrtfUMgvfgFVsgDhDPVTlkbb5vyasqDHfIDPQw==" + }, + "zrender": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-4.3.2.tgz", + "integrity": "sha512-bIusJLS8c4DkIcdiK+s13HiQ/zjQQVgpNohtd8d94Y2DnJqgM1yjh/jpDb8DoL6hd7r8Awagw8e3qK/oLaWr3g==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..547af8c --- /dev/null +++ b/package.json @@ -0,0 +1,11 @@ +{ + "dependencies": { + "@amap/amap-jsapi-loader": "^1.0.1", + "@escook/request-miniprogram": "^0.2.1", + "crypto-js": "^4.2.0", + "echarts": "^4.9.0", + "es6-promise": "^4.2.8", + "flv.js": "^1.6.2", + "moment": "^2.30.1" + } +} diff --git a/pages.json b/pages.json new file mode 100644 index 0000000..2916b29 --- /dev/null +++ b/pages.json @@ -0,0 +1,297 @@ +{ + "easycom": { + "^u-(.*)": "@/uni_modules/uview-ui/components/u-$1/u-$1.vue" + }, + "pages": [{ + "path": "pages/login/login", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/upgrade/index", + "style": { + "navigationBarTitleText": "", + "navigationStyle": "custom", + "app-plus": { + "bounce": "none", + "animationType": "none", + "background": "transparent" + } + } + }, + { + "path": "pages/rain/rain", + "style": { + "navigationBarTitleText": "", + "enablePullDownRefresh": false + } + }, + { + "path": "pages/homeIndex/index", + "style": { + "navigationBarTitleText": "", + "enablePullDownRefresh": true, + "app-plus": { + "pullToRefresh": { + "support": true, + "style": "default", + "offset": "70px" + } + } + } + }, + { + "path": "pages/xxsb/index", + "style": { + "navigationBarTitleText": "信息上报" + } + }, + { + "path": "pages/xxsb/from", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/xxsb/fromSeverity", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/xxsb/dsfrom", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/xxsb/map", + "style": { + "navigationBarTitleText": "地图示例" + } + }, + { + "path": "pages/gqzq/index", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/gqzq/gqxx", + "style": { + "navigationBarTitleText": "工情信息" + } + }, + { + "path": "pages/gqzq/zqxx", + "style": { + "navigationBarTitleText": "灾情信息" + } + }, + { + "path": "pages/gqzq/detail/index", + "style": { + "navigationBarTitleText": "查看" + } + }, + { + "path": "pages/mypage/mypage", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/personInfo/personInfo", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/modifyPassword/modifyPassword", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/forewarning/forewarning", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/forewarning/sh", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/forewarning/shInformation/shInformation", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/addressBook/addressBook", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/water/water", + "style": { + "navigationBarTitleText": "", + "enablePullDownRefresh": false + }, + "onMessage": "handleMessage" + }, + { + "path": "pages/rainDetail/rainDetail", + "style": { + "navigationBarTitleText": "", + "enablePullDownRefresh": false + } + }, + { + "path": "pages/hdDetail/hdDetail", + "style": { + "navigationBarTitleText": "", + "enablePullDownRefresh": false + } + }, + { + "path": "pages/skDetail/skDetail", + "style": { + "navigationBarTitleText": "", + "enablePullDownRefresh": false + } + }, + { + "path": "pages/addressBook/follow", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/addressBook/myDept", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/orderFeedback/orderFeedback", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/orderFeedback/orderInformation", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/gqzq/gqxx/gqxx", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/gqzq/gqxx/qk", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/gqzq/gqxx/xq", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/gqzq/gqxx/qkForm", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/gqzq/gqxx/xqForm", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/gqzq/zqxx/zqxx", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/gqzq/zqxx/table", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/gqzq/zqxx/form", + "style": { + "navigationBarTitleText": "" + } + } + ], + "usingComponents": { + "map": "/uni_modules/@dcloudio/uni-map/components/uni-map/uni-map" + }, + + "tabBar": { + "color": "#333333", + "selectedColor": "#59A7FF", + "list": [{ + "pagePath": "pages/homeIndex/index", + "iconPath": "/static/tabs/home.png", + "selectedIconPath": "static/tabs/home2.png", + "text": "首页" + }, + { + "pagePath": "pages/addressBook/addressBook", + "iconPath": "/static/tabs/phone_icon@2x.png", + "selectedIconPath": "static/tabs/phone_icon@2x2.png", + "text": "通讯录" + }, + { + "pagePath": "pages/mypage/mypage", + "iconPath": "/static/images/my2_icon@2x.png", + "selectedIconPath": "static/images/my2_icon@2x2.png", + "text": "我的" + } + ] + }, + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "uni-app", + "navigationBarBackgroundColor": "#F8F8F8", + "backgroundColor": "#F8F8F8", + "backgroundColorTop": "transparent", + "navigationStyle": "custom", + "app-plus": { + "background": "#efeff4" + } + }, + "subPackages": [{ + "root": "subpkg", + "pages": [{ + "path": "rainDetail/rainDetail" + }] + }], + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "uni-app", + "navigationBarBackgroundColor": "#F8F8F8", + "backgroundColor": "#F8F8F8", + "backgroundColorTop": "transparent", + "navigationStyle": "custom", + "app-plus": { + "background": "#efeff4" + } + } +} \ No newline at end of file diff --git a/pages/addressBook/addressBook.vue b/pages/addressBook/addressBook.vue new file mode 100644 index 0000000..02120d9 --- /dev/null +++ b/pages/addressBook/addressBook.vue @@ -0,0 +1,329 @@ + + + + + diff --git a/pages/addressBook/follow.vue b/pages/addressBook/follow.vue new file mode 100644 index 0000000..de2078d --- /dev/null +++ b/pages/addressBook/follow.vue @@ -0,0 +1,159 @@ + + + + + diff --git a/pages/addressBook/myDept.vue b/pages/addressBook/myDept.vue new file mode 100644 index 0000000..ea38bfd --- /dev/null +++ b/pages/addressBook/myDept.vue @@ -0,0 +1,189 @@ + + + + + diff --git a/pages/forewarning/forewarning.vue b/pages/forewarning/forewarning.vue new file mode 100644 index 0000000..aa213ea --- /dev/null +++ b/pages/forewarning/forewarning.vue @@ -0,0 +1,174 @@ + + + + + diff --git a/pages/forewarning/hd.vue b/pages/forewarning/hd.vue new file mode 100644 index 0000000..91cdd1e --- /dev/null +++ b/pages/forewarning/hd.vue @@ -0,0 +1,273 @@ + + + + + diff --git a/pages/forewarning/sh.vue b/pages/forewarning/sh.vue new file mode 100644 index 0000000..1af75cf --- /dev/null +++ b/pages/forewarning/sh.vue @@ -0,0 +1,343 @@ + + + + + diff --git a/pages/forewarning/shInformation/shInformation.vue b/pages/forewarning/shInformation/shInformation.vue new file mode 100644 index 0000000..0903de9 --- /dev/null +++ b/pages/forewarning/shInformation/shInformation.vue @@ -0,0 +1,119 @@ + + + + + diff --git a/pages/forewarning/sk.vue b/pages/forewarning/sk.vue new file mode 100644 index 0000000..698ecbd --- /dev/null +++ b/pages/forewarning/sk.vue @@ -0,0 +1,275 @@ + + + + + diff --git a/pages/gqzq/detail/index.vue b/pages/gqzq/detail/index.vue new file mode 100644 index 0000000..7d355e1 --- /dev/null +++ b/pages/gqzq/detail/index.vue @@ -0,0 +1,306 @@ + + + diff --git a/pages/gqzq/gqxx.vue b/pages/gqzq/gqxx.vue new file mode 100644 index 0000000..72feaa2 --- /dev/null +++ b/pages/gqzq/gqxx.vue @@ -0,0 +1,521 @@ + + + diff --git a/pages/gqzq/gqxx/gqxx.vue b/pages/gqzq/gqxx/gqxx.vue new file mode 100644 index 0000000..4de06cb --- /dev/null +++ b/pages/gqzq/gqxx/gqxx.vue @@ -0,0 +1,87 @@ + + + + + diff --git a/pages/gqzq/gqxx/qk.vue b/pages/gqzq/gqxx/qk.vue new file mode 100644 index 0000000..a05038e --- /dev/null +++ b/pages/gqzq/gqxx/qk.vue @@ -0,0 +1,315 @@ + + + + + diff --git a/pages/gqzq/gqxx/qkForm.vue b/pages/gqzq/gqxx/qkForm.vue new file mode 100644 index 0000000..f8e22d9 --- /dev/null +++ b/pages/gqzq/gqxx/qkForm.vue @@ -0,0 +1,301 @@ + + + + + diff --git a/pages/gqzq/gqxx/xq.vue b/pages/gqzq/gqxx/xq.vue new file mode 100644 index 0000000..d3f0b9c --- /dev/null +++ b/pages/gqzq/gqxx/xq.vue @@ -0,0 +1,331 @@ + + + + + diff --git a/pages/gqzq/gqxx/xqForm.vue b/pages/gqzq/gqxx/xqForm.vue new file mode 100644 index 0000000..ad6ad37 --- /dev/null +++ b/pages/gqzq/gqxx/xqForm.vue @@ -0,0 +1,311 @@ + + + + + diff --git a/pages/gqzq/index.vue b/pages/gqzq/index.vue new file mode 100644 index 0000000..055146e --- /dev/null +++ b/pages/gqzq/index.vue @@ -0,0 +1,122 @@ + + + diff --git a/pages/gqzq/zqxx.vue b/pages/gqzq/zqxx.vue new file mode 100644 index 0000000..1521c89 --- /dev/null +++ b/pages/gqzq/zqxx.vue @@ -0,0 +1,392 @@ + + + diff --git a/pages/gqzq/zqxx/form.vue b/pages/gqzq/zqxx/form.vue new file mode 100644 index 0000000..37a5224 --- /dev/null +++ b/pages/gqzq/zqxx/form.vue @@ -0,0 +1,352 @@ + + + + + diff --git a/pages/gqzq/zqxx/table.vue b/pages/gqzq/zqxx/table.vue new file mode 100644 index 0000000..db71037 --- /dev/null +++ b/pages/gqzq/zqxx/table.vue @@ -0,0 +1,319 @@ + + + + + diff --git a/pages/gqzq/zqxx/zqxx.vue b/pages/gqzq/zqxx/zqxx.vue new file mode 100644 index 0000000..ffa87b0 --- /dev/null +++ b/pages/gqzq/zqxx/zqxx.vue @@ -0,0 +1,51 @@ + + + + + diff --git a/pages/hdDetail/hdDetail.vue b/pages/hdDetail/hdDetail.vue new file mode 100644 index 0000000..a3b2240 --- /dev/null +++ b/pages/hdDetail/hdDetail.vue @@ -0,0 +1,113 @@ + + + + + \ No newline at end of file diff --git a/pages/hdDetail/jcsj/chartOption.js b/pages/hdDetail/jcsj/chartOption.js new file mode 100644 index 0000000..1407b80 --- /dev/null +++ b/pages/hdDetail/jcsj/chartOption.js @@ -0,0 +1,242 @@ + +import echarts from 'echarts/lib/echarts'; + +export default function DrpOption(data=[],wrz,grz) { + const maxVal = Math.max(...data.map(obj => obj.drp)) + const maxSw = Math.max(...data.map(obj => obj.z)) + const minSw = Math.min(...data.map(obj => obj.z)) + const maxLl = Math.max(...data.map(obj => obj.tq)) + const minLl = Math.min(...data.map(obj => obj.tq)) + console.log("maxLl",wrz,grz); + let eopts = { + tooltip: { + trigger: 'axis', + }, + grid: [ + { + top: "13%", + left: "10%", + right: "8%", + width: '80%', + height: '35%' + }, + { + bottom: "5%", + left: "10%", + right: "8%", + width: '80%', + height: '35%' + }, + ], + legend: { + // 显示图例 + show: true, + // 图例的位置 + data: ['警戒水位', '危险水位', "降雨量", "水位", "转换流量"], + left:3, + right:0, + itemWidth:16, + }, + xAxis: [ + { + gridIndex: 0, + type: 'category', + data: data.map(o => o.tm).reverse(), + splitLine: { + show: false + }, + axisLabel: { + color: '#333', + fontSize: 12, + show:false, + }, + axisLine: { + lineStyle: { + color: '#07a6ff', + width: 0.5, + } + }, + axisTick: { + show: false, + }, + }, + { + gridIndex: 1, + type: 'category', + data: data.map(o => o.tm.substr("2020-".length,11)), + inverse: true, + splitLine: { + show: false + }, + axisLabel: { + color: '#333', + fontSize: 12, + formatter: val => val.substr('2020-'.length, 11) + }, + axisLine: { + lineStyle: { + color: '#07a6ff', + width: 0.5, + } + }, + axisTick: { + show: false, + }, + } + ], + yAxis: [ + { + inverse: true, + gridIndex: 0, + type: 'value', + position: 'left', + name: "降雨量(mm)", + nameLocation: "start", + axisLabel: { + color: '#333', + fontSize: 12, + }, + splitLine: { + show: true, + lineStyle: { + color: '#07a6ff', + width: 0.25, + type: 'dotted' + } + }, + axisLine: { + show: false + }, + axisTick: { + show: false, + }, + min: 0, + max: maxVal + }, + { + gridIndex: 1, + type: 'value', + position: 'left', + name: "水位(m)", + splitLine: { + show: true, + lineStyle: { + color: '#07a6ff', + width: 0.25, + type: 'dotted' + } + }, + axisLabel: { + color: '#333', + fontSize: 12, + }, + axisLine: { + show: false + }, + axisTick: { + show: false, + }, + min: minSw, + max: maxSw + }, + { + gridIndex: 1, + type: 'value', + position: 'right', + name: "流量(m³/s)", + splitLine: { + show: false, + lineStyle: { + color: '#07a6ff', + width: 0.25, + type: 'dotted' + } + }, + axisLabel: { + color: '#333', + fontSize: 12, + }, + axisLine: { + show: false + }, + axisTick: { + show: false, + }, + min: minLl, + max: maxLl + } + ], + } + let chartData = { + series: [ + + { + xAxisIndex: 1, + yAxisIndex: 1, + name: '危险水位', + type: 'line', + color: "#D9001B", + lineStyle: { + type: "dashed" + }, + data: data.map(o => grz), + symbol: 'none' // 设置标记点为'none',即去掉圆点 + }, + { + xAxisIndex: 1, + yAxisIndex: 1, + name: '警戒水位', + type: 'line', + color: "#F59A23", + barWidth: '60%', + data: data.map(o => wrz), + lineStyle: { + type: "dashed" + }, + symbol: 'none' // 设置标记点为'none',即去掉圆点 + }, + { + name: '降雨量', + type: 'bar', + barWidth: '60%', + data: data.map(o => o.drp).reverse(), + itemStyle: { + color: "#007AFD", + }, + label: { + show: false, + }, + + }, + { + xAxisIndex: 1, + yAxisIndex: 1, + name: '水位', + type: 'line', + symbol: 'none', + color: "#0AE0B5", + label: { + show: false, + }, + data: data.map(o => o.z ? o.z.toFixed(2) : null), + }, + { + xAxisIndex: 1, + yAxisIndex: 2, + name: '转换流量', + type: 'line', + color: "#007AFD", + symbol: 'none', + showSymbol: false, + label: { + show: false, + }, + data: data.map(o => o.tq), + } + ] + } + return { + eopts, + chartData + } +} diff --git a/pages/hdDetail/jcsj/jcsj.vue b/pages/hdDetail/jcsj/jcsj.vue new file mode 100644 index 0000000..7338c07 --- /dev/null +++ b/pages/hdDetail/jcsj/jcsj.vue @@ -0,0 +1,166 @@ + + + + + diff --git a/pages/hdDetail/jcsj/jcsjTable.vue b/pages/hdDetail/jcsj/jcsjTable.vue new file mode 100644 index 0000000..7dc4abb --- /dev/null +++ b/pages/hdDetail/jcsj/jcsjTable.vue @@ -0,0 +1,110 @@ + + + + + \ No newline at end of file diff --git a/pages/hdDetail/spjk/spjk.vue b/pages/hdDetail/spjk/spjk.vue new file mode 100644 index 0000000..49ce5bf --- /dev/null +++ b/pages/hdDetail/spjk/spjk.vue @@ -0,0 +1,127 @@ + + + + + + diff --git a/pages/hdDetail/tjsj/tjsj.vue b/pages/hdDetail/tjsj/tjsj.vue new file mode 100644 index 0000000..67fbd81 --- /dev/null +++ b/pages/hdDetail/tjsj/tjsj.vue @@ -0,0 +1,161 @@ + + + + + diff --git a/pages/hdDetail/zbyq/resList.vue b/pages/hdDetail/zbyq/resList.vue new file mode 100644 index 0000000..d40603e --- /dev/null +++ b/pages/hdDetail/zbyq/resList.vue @@ -0,0 +1,87 @@ + + + + + diff --git a/pages/hdDetail/zbyq/zbyq.vue b/pages/hdDetail/zbyq/zbyq.vue new file mode 100644 index 0000000..c137a05 --- /dev/null +++ b/pages/hdDetail/zbyq/zbyq.vue @@ -0,0 +1,166 @@ + + + + + diff --git a/pages/homeIndex/chartOption.js b/pages/homeIndex/chartOption.js new file mode 100644 index 0000000..4016e27 --- /dev/null +++ b/pages/homeIndex/chartOption.js @@ -0,0 +1,100 @@ + +import echarts from 'echarts/lib/echarts'; +import moment from 'moment'; + +export default function DrpOption(data=[]) { + const maxY = Math.max(...data.map(item => item.sumDrp)) + let eopts = { + tooltip: { + trigger: 'axis', + }, + grid: { + x: 18, + y: 24, + x2: 28, + y2: 36, + borderWidth: 0, + bottom: '10%', + left: '8%', + width: '90%', + }, + calculable: true, + xAxis: [ + { + type: 'category', + data: data.map(o => moment(o.time).format("HH:mm")), + splitLine: { + show: false + }, + axisLabel: { + color: '#bbb', + fontSize: 14, + overflow: 'truncate', + }, + axisLine: { + lineStyle: { + color: '#dfdfdf', + width: 0.5 + } + }, + axisTick: { + show: false + } + } + ], + yAxis: [ + { + type: 'value', + position: 'left', + splitLine: { + show: true, + lineStyle: { + color: '#07a6ff', + width: 0.25, + type: 'dashed' + } + }, + axisLabel: { + color: '#bbb', + fontSize: 10, + }, + axisLine: { + show: false + }, + axisTick: { + show: false + }, + min: 0, + max:maxY + } + ], + // dataZoom: [ + // { + // type: 'slider', // 设置为滑动条类型 + // xAxisIndex: 0, // 指定控制第一个 x 轴 + // start: 0, // 初始窗口的起始位置(百分比) + // end: 100, // 初始窗口的结束位置(百分比) + + // } + // ], + } + let chartData = { + series: [ + { + name: '面雨量(mm)', + type: 'bar', + barWidth: '60%', + data: data.map(o => o.sumDrp), + itemStyle: { + normal: { + color: "#6395f9" + } + } + } + ] + } + return { + eopts, + chartData + } +} diff --git a/pages/homeIndex/index.vue b/pages/homeIndex/index.vue new file mode 100644 index 0000000..bb785b0 --- /dev/null +++ b/pages/homeIndex/index.vue @@ -0,0 +1,1259 @@ + + + + + diff --git a/pages/homeIndex/warnSwiper.vue b/pages/homeIndex/warnSwiper.vue new file mode 100644 index 0000000..c8fb7b0 --- /dev/null +++ b/pages/homeIndex/warnSwiper.vue @@ -0,0 +1,110 @@ + + + + + \ No newline at end of file diff --git a/pages/login/login.vue b/pages/login/login.vue new file mode 100644 index 0000000..a8de855 --- /dev/null +++ b/pages/login/login.vue @@ -0,0 +1,254 @@ + + + + + diff --git a/pages/modifyPassword/modifyPassword.vue b/pages/modifyPassword/modifyPassword.vue new file mode 100644 index 0000000..7da4b10 --- /dev/null +++ b/pages/modifyPassword/modifyPassword.vue @@ -0,0 +1,140 @@ + + + + + diff --git a/pages/mypage/mypage.vue b/pages/mypage/mypage.vue new file mode 100644 index 0000000..c810d64 --- /dev/null +++ b/pages/mypage/mypage.vue @@ -0,0 +1,241 @@ + + + + + diff --git a/pages/orderFeedback/fk.vue b/pages/orderFeedback/fk.vue new file mode 100644 index 0000000..7d508ec --- /dev/null +++ b/pages/orderFeedback/fk.vue @@ -0,0 +1,175 @@ + + + + + diff --git a/pages/orderFeedback/orderFeedback.vue b/pages/orderFeedback/orderFeedback.vue new file mode 100644 index 0000000..3149db9 --- /dev/null +++ b/pages/orderFeedback/orderFeedback.vue @@ -0,0 +1,314 @@ + + + + + diff --git a/pages/orderFeedback/orderInformation.vue b/pages/orderFeedback/orderInformation.vue new file mode 100644 index 0000000..508ea12 --- /dev/null +++ b/pages/orderFeedback/orderInformation.vue @@ -0,0 +1,146 @@ + + + + + diff --git a/pages/orderFeedback/zl.vue b/pages/orderFeedback/zl.vue new file mode 100644 index 0000000..fb52b3c --- /dev/null +++ b/pages/orderFeedback/zl.vue @@ -0,0 +1,151 @@ + + + + + diff --git a/pages/personInfo/personInfo.vue b/pages/personInfo/personInfo.vue new file mode 100644 index 0000000..dd0cf1b --- /dev/null +++ b/pages/personInfo/personInfo.vue @@ -0,0 +1,258 @@ + + + + + diff --git a/pages/rain/Table.vue b/pages/rain/Table.vue new file mode 100644 index 0000000..ca3af03 --- /dev/null +++ b/pages/rain/Table.vue @@ -0,0 +1,114 @@ + + + + + \ No newline at end of file diff --git a/pages/rain/rain.vue b/pages/rain/rain.vue new file mode 100644 index 0000000..633f4f5 --- /dev/null +++ b/pages/rain/rain.vue @@ -0,0 +1,556 @@ + + + + + \ No newline at end of file diff --git a/pages/rainDetail/jcsj/chartOption.js b/pages/rainDetail/jcsj/chartOption.js new file mode 100644 index 0000000..de204d9 --- /dev/null +++ b/pages/rainDetail/jcsj/chartOption.js @@ -0,0 +1,181 @@ + +import echarts from 'echarts/lib/echarts'; + +export default function DrpOption(echartData) { + let totalDrp = 0; + const DRPLEVEL = [10, 20, 50, 100, 250]; + const maxVal = DRPLEVEL.find(o => o > totalDrp); + const xMaxVal = echartData?.actual ? DRPLEVEL.find(o => { + let max = Math.max(...echartData?.actual || []) + return o > max + }):maxVal + // const xMaxVal = Math.ceil(Math.max(...echartData.actual)) + 2 + const yMaxVal = echartData?.actual ? DRPLEVEL.find(o => { + let max = Math.max(...echartData?.total) + return o > max + }): maxVal + let eopts = { + tooltip: { + trigger: 'axis' + }, + grid:{ + x: 40, + y: 30, + x2: 30, + y2: 28, + borderWidth: 0 + }, + legend: { + // 显示图例 + show: true, + // 图例的位置 + data: ['实测', '累计'] + }, + calculable: true, + xAxis: [ + { + type: 'category', + // data: echartData?.time.map(item => item.substr('2020--'.length)), + data: echartData?.time, + splitLine: { + show: false + }, + axisLabel: { + color: '#333', + fontSize: 12, + format: 'xAxisFormat' + }, + axisLine: { + lineStyle: { + color: '#07a6ff', + width: 0.5, + } + }, + axisTick: { + show: false, + }, + } + ], + yAxis: [ + { + type: 'value', + position: 'left', + name:"雨量mm", + splitLine: { + show: true, + lineStyle: { + color: '#07a6ff', + width: 0.25, + type: 'dashed' + } + }, + axisLabel: { + color: '#333', + fontSize: 12, + }, + axisLine: { + show: false + }, + axisTick: { + show: false, + }, + min: 0, + max: xMaxVal + }, + { + type: 'value', + position: 'right', + name:"累计mm", + splitLine: { + show: true, + lineStyle: { + color: '#07a6ff', + width: 0.25, + type: 'dashed' + } + }, + axisLabel: { + color: '#333', + fontSize: 12, + }, + axisLine: { + show: false + }, + axisTick: { + show: false, + }, + min: 0, + max: yMaxVal + } + ] + } + let chartData = { + series: [ + { + name: '实测', + type: 'bar', + barWidth: '60%', + data: echartData?.actual, + itemStyle: { + normal: { + barBorderRadius: [3, 3, 0, 0], + color: new echarts.graphic.LinearGradient( + 0, 0, 0, 1, + [ + { offset: 0, color: '#3876cd' }, + { offset: 0.5, color: '#45b4e7' }, + { offset: 1, color: '#54ffff' } + ] + ), + }, + }, + label: { + show: false, + }, + markPoint: { + data: [ + { type: 'max', name: '最大值', symbol: 'circle', symbolSize: 1, symbolOffset: [0, -12] }, + ] + }, + }, + { + yAxisIndex: 1, + name: '累计', + type: 'line', + showSymbol: false, + label: { + show: false, + }, + data: echartData?.total, + lineStyle: { + normal: { + width: 1, + } + }, + areaStyle: { + normal: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: 'rgba(3, 194, 236, 0.3)' + }, { + offset: 0.8, + color: 'rgba(3, 194, 236, 0)' + } + ], false), + shadowColor: 'rgba(0, 0, 0, 0.1)', + shadowBlur: 10 + } + }, + itemStyle: { + normal: { + color: '#03C2EC' + } + }, + } + ] + } + return { + eopts, + chartData + } +} diff --git a/pages/rainDetail/jcsj/jcsj.vue b/pages/rainDetail/jcsj/jcsj.vue new file mode 100644 index 0000000..130deb8 --- /dev/null +++ b/pages/rainDetail/jcsj/jcsj.vue @@ -0,0 +1,171 @@ + + + + + diff --git a/pages/rainDetail/jcsj/jcsjTable.vue b/pages/rainDetail/jcsj/jcsjTable.vue new file mode 100644 index 0000000..eec7c05 --- /dev/null +++ b/pages/rainDetail/jcsj/jcsjTable.vue @@ -0,0 +1,91 @@ + + + + + \ No newline at end of file diff --git a/pages/rainDetail/rainDetail.vue b/pages/rainDetail/rainDetail.vue new file mode 100644 index 0000000..5fc5ccc --- /dev/null +++ b/pages/rainDetail/rainDetail.vue @@ -0,0 +1,102 @@ + + + + + \ No newline at end of file diff --git a/pages/rainDetail/tjsj/tjsj.vue b/pages/rainDetail/tjsj/tjsj.vue new file mode 100644 index 0000000..0773cae --- /dev/null +++ b/pages/rainDetail/tjsj/tjsj.vue @@ -0,0 +1,144 @@ + + + + + diff --git a/pages/rainDetail/zbyq/resList.vue b/pages/rainDetail/zbyq/resList.vue new file mode 100644 index 0000000..d40603e --- /dev/null +++ b/pages/rainDetail/zbyq/resList.vue @@ -0,0 +1,87 @@ + + + + + diff --git a/pages/rainDetail/zbyq/zbyq.vue b/pages/rainDetail/zbyq/zbyq.vue new file mode 100644 index 0000000..16567ee --- /dev/null +++ b/pages/rainDetail/zbyq/zbyq.vue @@ -0,0 +1,166 @@ + + + + + diff --git a/pages/skDetail/jcsj/chartOption.js b/pages/skDetail/jcsj/chartOption.js new file mode 100644 index 0000000..55836f0 --- /dev/null +++ b/pages/skDetail/jcsj/chartOption.js @@ -0,0 +1,261 @@ + +import echarts from 'echarts/lib/echarts'; + +export default function DrpOption( + data, + afsltdz, + flLowLimLev, + desFloodLev, + calFloodLev) { + const maxVal = Math.max(...data.map(obj => obj.drp)) + const maxSw = Math.ceil(Math.max(...data.map(obj => obj.rz))) + const minSw = Math.floor(Math.min(...data.map(obj => obj.rz))) + const maxKr = Math.max(...data.map(obj => obj.w)) + const minKr = Math.min(...data.map(obj => obj.w)) + console.log('desFloodLev',desFloodLev); + let eopts = { + tooltip: { + trigger: 'axis', + }, + grid: [ + { + top: "13%", + left: "10%", + right: "8%", + width: '80%', + height: '35%' + }, + { + bottom: "5%", + left: "10%", + right: "8%", + width: '80%', + height: '35%' + }, + ], + legend: { + // 显示图例 + show: true, + // 图例的位置 + data: ["校核水位", '设计水位', '汛限水位', '降雨量', '水位', '库容'], + left:0, + right:0, + itemWidth:10, + padding:0 + }, + xAxis: [ + { + gridIndex: 0, + type: 'category', + data: data.map(o => o.tm).reverse(), + + splitLine: { + show: false + }, + axisLabel: { + color: '#333', + fontSize: 12, + show: false + }, + axisLine: { + lineStyle: { + color: '#07a6ff', + width: 0.5 + } + }, + axisTick: { + show: false + } + }, + { + gridIndex: 1, + type: 'category', + data: data.map(o => o.tm.substr("2020-".length,11)), + inverse: true, + splitLine: { + show: false + }, + axisLabel: { + color: '#333', + fontSize: 12, + formatter: val => val.substr('2020-'.length, 11) + }, + axisLine: { + lineStyle: { + color: '#07a6ff', + width: 0.5 + } + }, + axisTick: { + show: false + } + } + ], + yAxis: [ + { + inverse: true, + gridIndex: 0, + type: 'value', + position: 'left', + name: '降雨量(mm)', + nameLocation: 'start', + axisLabel: { + color: '#333', + fontSize: 12 + }, + splitLine: { + show: true, + lineStyle: { + color: '#07a6ff', + width: 0.25, + type: 'dotted' + } + }, + axisLine: { + show: false + }, + axisTick: { + show: false + }, + min: 0, + max: maxVal + }, + { + gridIndex: 1, + type: 'value', + position: 'left', + name: '水位(m)', + splitLine: { + show: true, + lineStyle: { + color: '#07a6ff', + width: 0.25, + type: 'dotted' + } + }, + axisLabel: { + color: '#333', + fontSize: 12 + }, + axisLine: { + show: false + }, + axisTick: { + show: false + }, + min: minSw, + max: maxSw + }, + { + gridIndex: 1, + type: 'value', + position: 'right', + name: '库容(万m³)', + splitLine: { + show: false, + lineStyle: { + color: '#07a6ff', + width: 0.25, + type: 'dotted' + } + }, + axisLabel: { + color: '#333', + fontSize: 12 + }, + axisLine: { + show: false + }, + axisTick: { + show: false + }, + min: minKr, + max: maxKr + } + ], + } + let chartData = { + series: [ + { + xAxisIndex: 1, + yAxisIndex: 1, + name: '校核水位', + type: 'line', + color: '#D9001B', + lineStyle: { + type: 'dashed' + }, + data: data.map(o => calFloodLev), + symbol: 'none' // 设置标记点为'none',即去掉圆点 + }, + { + xAxisIndex: 1, + yAxisIndex: 1, + name: '设计水位', + type: 'line', + color: '#F59A23', + data: data.map(o => desFloodLev), + lineStyle: { + type: 'dashed' + }, + symbol: 'none' // 设置标记点为'none',即去掉圆点 + }, + { + xAxisIndex: 1, + yAxisIndex: 1, + name: '汛限水位', + type: 'line', + color: '#FDDC9F', + data: data.map(o => { + return flLowLimLev + }), + lineStyle: { + type: 'dashed' + }, + symbol: 'none' // 设置标记点为'none',即去掉圆点 + }, + { + name: '降雨量', + type: 'bar', + barWidth: '60%', + data: data.map(o => o.drp).reverse(), + itemStyle: { + color: '#007AFD' + }, + label: { + show: false + } + }, + { + xAxisIndex: 1, + yAxisIndex: 1, + name: '水位', + type: 'line', + symbol: 'none', + color: '#0AE0B5', + label: { + show: false + }, + data: data.map(o => o.rz ? o.rz.toFixed(2):null ) + }, + { + xAxisIndex: 1, + yAxisIndex: 2, + name: '库容', + type: 'line', + color: '#007AFD', + symbol: 'none', + showSymbol: false, + label: { + show: false + }, + data: data.map(o => o.w) + } + ], + } + return { + eopts, + chartData + } +} + diff --git a/pages/skDetail/jcsj/jcsj.vue b/pages/skDetail/jcsj/jcsj.vue new file mode 100644 index 0000000..7d7a4a4 --- /dev/null +++ b/pages/skDetail/jcsj/jcsj.vue @@ -0,0 +1,172 @@ + + + + + diff --git a/pages/skDetail/jcsj/jcsjTable.vue b/pages/skDetail/jcsj/jcsjTable.vue new file mode 100644 index 0000000..edd234d --- /dev/null +++ b/pages/skDetail/jcsj/jcsjTable.vue @@ -0,0 +1,110 @@ + + + + + \ No newline at end of file diff --git a/pages/skDetail/skDetail.vue b/pages/skDetail/skDetail.vue new file mode 100644 index 0000000..9bb17ea --- /dev/null +++ b/pages/skDetail/skDetail.vue @@ -0,0 +1,161 @@ + + + + + \ No newline at end of file diff --git a/pages/skDetail/spjk/spjk.vue b/pages/skDetail/spjk/spjk.vue new file mode 100644 index 0000000..4489113 --- /dev/null +++ b/pages/skDetail/spjk/spjk.vue @@ -0,0 +1,131 @@ + + + + + + + diff --git a/pages/skDetail/tjsj/tjsj.vue b/pages/skDetail/tjsj/tjsj.vue new file mode 100644 index 0000000..3c9c003 --- /dev/null +++ b/pages/skDetail/tjsj/tjsj.vue @@ -0,0 +1,161 @@ + + + + + diff --git a/pages/skDetail/txjc/txjc.vue b/pages/skDetail/txjc/txjc.vue new file mode 100644 index 0000000..a0ba14e --- /dev/null +++ b/pages/skDetail/txjc/txjc.vue @@ -0,0 +1,120 @@ + + + + + diff --git a/pages/skDetail/zbyq/resList.vue b/pages/skDetail/zbyq/resList.vue new file mode 100644 index 0000000..d40603e --- /dev/null +++ b/pages/skDetail/zbyq/resList.vue @@ -0,0 +1,87 @@ + + + + + diff --git a/pages/skDetail/zbyq/zbyq.vue b/pages/skDetail/zbyq/zbyq.vue new file mode 100644 index 0000000..c137a05 --- /dev/null +++ b/pages/skDetail/zbyq/zbyq.vue @@ -0,0 +1,166 @@ + + + + + diff --git a/pages/skDetail/zrtx/card.vue b/pages/skDetail/zrtx/card.vue new file mode 100644 index 0000000..7a1e407 --- /dev/null +++ b/pages/skDetail/zrtx/card.vue @@ -0,0 +1,156 @@ + + + + + diff --git a/pages/skDetail/zrtx/zrtx.vue b/pages/skDetail/zrtx/zrtx.vue new file mode 100644 index 0000000..ddd08a9 --- /dev/null +++ b/pages/skDetail/zrtx/zrtx.vue @@ -0,0 +1,55 @@ + + + + + diff --git a/pages/upgrade/index.vue b/pages/upgrade/index.vue new file mode 100644 index 0000000..d163502 --- /dev/null +++ b/pages/upgrade/index.vue @@ -0,0 +1,276 @@ + + + + + + \ No newline at end of file diff --git a/pages/utils/dicType.js b/pages/utils/dicType.js new file mode 100644 index 0000000..7c98997 --- /dev/null +++ b/pages/utils/dicType.js @@ -0,0 +1,43 @@ + +export function repDict(e) { + let name="" + if(e=="1"){ + name="行政责任人" + }else if(e=="2"){ + name="技术责任人" + }else if(e=="3"){ + name="巡查责任人" + }else if(e=="4"){ + name="主管部门责任人" + }else if(e=="5"){ + name="管理单位责任人" + } + return name +} + +// 县,乡镇判断 +export function disType(e) { + let type; + if (e.endsWith('000000000')) { + type = 1; + } else{ + type = 0; + } + return type; +} + +// 响应等级判断 +// 县,乡镇判断 +export function level(e) { + let name; + if (e == 1) { + name = "Ⅰ级"; + } else if (e == 2) { + name = "Ⅱ级"; + } else if (e == 3) { + name = "Ⅲ级"; + } else if (e == 4) { + name = "Ⅳ级"; + } + return name +} diff --git a/pages/utils/tool.js b/pages/utils/tool.js new file mode 100644 index 0000000..9de8188 --- /dev/null +++ b/pages/utils/tool.js @@ -0,0 +1,64 @@ +export function restm (e) { + let index = '' + if (e == '8') { + index = 0 + } else if (e == '9') { + index = 1 + } else if (e == '10') { + index = 2 + } else if (e == '11') { + index = 3 + } else if (e == '12') { + index = 4 + } else if (e == '13') { + index = 5 + } else if (e == '14') { + index = 6 + } else if (e == '15') { + index = 7 + } else if (e == '16') { + index = 8 + } else if (e == '17') { + index = 9 + } else if (e == '18') { + index = 10 + } else if (e == '19') { + index = 11 + } else if (e == '20') { + index = 12 + } else if (e == '21') { + index = 13 + } else if (e == '22') { + index = 14 + } else if (e == '23') { + index = 15 + } else if (e == '0') { + index = 16 + } else if (e == '1') { + index = 17 + } else if (e == '2') { + index = 18 + } else if (e == '3') { + index = 19 + } else if (e == '4') { + index = 20 + } else if (e == '5') { + index = 21 + } else if (e == '6') { + index = 22 + } else if (e == '7') { + index = 23 + } + return index +} +export const adnmZhen = adcd => { + if (!adcd || !nameMap) { + return undefined + } + if (adcd.endsWith('000000000')) { + return undefined + } else if (adcd.endsWith('000000')) { + return nameMap[adcd] + } + return nameMap[`${adcd.substr(0, 9)}000000`] +} diff --git a/pages/utils/upgrade.js b/pages/utils/upgrade.js new file mode 100644 index 0000000..a226c70 --- /dev/null +++ b/pages/utils/upgrade.js @@ -0,0 +1,90 @@ +/** + * @description H5+下载App + * @param downloadUrl:App下载链接 + * @param progressCallBack:下载进度回调 + */ +export const downloadApp = (downloadUrl, progressCallBack = () => { },) => { + return new Promise((resolve, reject) => { + //创建下载任务 + const downloadTask = plus.downloader.createDownload(downloadUrl, { + method: "GET" + }, (task, status) => { + if (status == 200) { //下载成功 + resolve(task.filename) + + } else { + reject('fail') + uni.showToast({ + title: '下载失败', + duration: 1500, + icon: "none" + }); + } + }) + //监听下载过程 + downloadTask.addEventListener("statechanged", (task, status) => { + switch (task.state) { + case 1: // 开始 + break; + case 2: //已连接到服务器 + break; + case 3: // 已接收到数据 + let hasProgress = task.totalSize && task.totalSize > 0 //是否能获取到App大小 + if (hasProgress) { + let current = parseInt(100 * task.downloadedSize / task.totalSize); //获取下载进度百分比 + progressCallBack(current) + } + break; + case 4: // 下载完成 + break; + } + }); + //开始执行下载 + downloadTask.start(); + }) + + +} +/** + * @description H5+安装APP + * @param fileName:app文件名 + * @param callBack:安装成功回调 + */ +export const installApp = (fileName, callBack = () => {}) => { + //注册广播监听app安装情况 + onInstallListening(callBack); + //开始安装 + plus.runtime.install(plus.io.convertLocalFileSystemURL(fileName), {}, () => { + //成功跳转到安装界面 + }, function(error) { + uni.showToast({ + title: '安装失败', + duration: 1500, + icon: "none" + }); + }) + +} +/** + * @description 注册广播监听APP是否安装成功 + * @param callBack:安装成功回调函数 + */ +const onInstallListening = (callBack = () => {}) => { + + let mainActivity = plus.android.runtimeMainActivity(); //获取activity + //生成广播接收器 + let receiver = plus.android.implements('io.dcloud.android.content.BroadcastReceiver', { + onReceive: (context, intent) => { //接收广播回调 + plus.android.importClass(intent); + mainActivity.unregisterReceiver(receiver); //取消监听 + callBack() + } + }); + let IntentFilter = plus.android.importClass('android.content.IntentFilter'); + let Intent = plus.android.importClass('android.content.Intent'); + let filter = new IntentFilter(); + filter.addAction(Intent.ACTION_PACKAGE_ADDED); //监听APP安装 + filter.addDataScheme("package"); + mainActivity.registerReceiver(receiver, filter); //注册广播 + +} \ No newline at end of file diff --git a/pages/water/hdWater/hdWater.vue b/pages/water/hdWater/hdWater.vue new file mode 100644 index 0000000..30a1c2c --- /dev/null +++ b/pages/water/hdWater/hdWater.vue @@ -0,0 +1,167 @@ + + + + + diff --git a/pages/water/hdWater/table.vue b/pages/water/hdWater/table.vue new file mode 100644 index 0000000..0fc00c7 --- /dev/null +++ b/pages/water/hdWater/table.vue @@ -0,0 +1,125 @@ + + + + + \ No newline at end of file diff --git a/pages/water/skWater/skWater.vue b/pages/water/skWater/skWater.vue new file mode 100644 index 0000000..02294af --- /dev/null +++ b/pages/water/skWater/skWater.vue @@ -0,0 +1,167 @@ + + + + + diff --git a/pages/water/skWater/table.vue b/pages/water/skWater/table.vue new file mode 100644 index 0000000..6305936 --- /dev/null +++ b/pages/water/skWater/table.vue @@ -0,0 +1,135 @@ + + + + + \ No newline at end of file diff --git a/pages/water/water.vue b/pages/water/water.vue new file mode 100644 index 0000000..72e49ec --- /dev/null +++ b/pages/water/water.vue @@ -0,0 +1,93 @@ + + + + + diff --git a/pages/xxsb/dsfrom.vue b/pages/xxsb/dsfrom.vue new file mode 100644 index 0000000..c9f69da --- /dev/null +++ b/pages/xxsb/dsfrom.vue @@ -0,0 +1,762 @@ + + + + + diff --git a/pages/xxsb/from.vue b/pages/xxsb/from.vue new file mode 100644 index 0000000..2d6d68a --- /dev/null +++ b/pages/xxsb/from.vue @@ -0,0 +1,682 @@ + + + + + diff --git a/pages/xxsb/fromSeverity.vue b/pages/xxsb/fromSeverity.vue new file mode 100644 index 0000000..fc62a53 --- /dev/null +++ b/pages/xxsb/fromSeverity.vue @@ -0,0 +1,656 @@ + + + + + diff --git a/pages/xxsb/index.vue b/pages/xxsb/index.vue new file mode 100644 index 0000000..77e6ed1 --- /dev/null +++ b/pages/xxsb/index.vue @@ -0,0 +1,91 @@ + + + diff --git a/pages/xxsb/map.vue b/pages/xxsb/map.vue new file mode 100644 index 0000000..7ca83e4 --- /dev/null +++ b/pages/xxsb/map.vue @@ -0,0 +1,124 @@ + + + diff --git a/static/c1.png b/static/c1.png new file mode 100644 index 0000000000000000000000000000000000000000..9d38fdc45f54393919608143278902961ebfc03e GIT binary patch literal 401 zcmeAS@N?(olHy`uVBq!ia0vp^DImv+@EMfolJl@2-tdeIgiE72V3$+1a&#<;nGqB*6-wd0Dfno2^$& z7L}LYx}4kkKI1~4j2xSM#i^{e>mxFDC0DcwoaERsZFdmo&xZb=|e; zVChPF@z}uo`_jyFigEMR=cKgdY*81V{;5gJlXF9MvNaZ^cipGtGKCwGwYFdLih#FiI|b%1`}h zcD?9wzL;(MG`RGl!=KdO=X$Ia3G&T>{3@pZ$E>nWT~vAlEaktaqI1klarbacw7TzPB-Tm@A?1# z=DKt1Tm@&jBni*W72Dq8$U1XQ@j1)qcYd?AM-~6vdS%zgB|W!|l9z8;VdkK15fZWZ z0_Xa#{=&Tl?+&}Myixw!c0&2Cz{(%uYaLfyIpx20a+b;i&8Hu}PrN-Tsf8gx{xaWd zSEda)?3G(j%z6CKKWpOGAAJoS5gg_&aw+l?Pq*dmh)8I56YfnYkc%|gRM+fjvg@w| z$E(g+E=n8A7O8TmM)@~hDG@eQ_vn5n5wpR0%`A=`87W~$m7>*=T~gqVW%D$JmT%Wy00-NUV`g= zPWq+lU_K79dVw=Ll(hEL%sa^y|HiF3Bqng#c7b&Xt+%gdOo& V%D;5ZBtB5oc)I$ztaD0e0stIlwo?EA literal 0 HcmV?d00001 diff --git a/static/c3.png b/static/c3.png new file mode 100644 index 0000000000000000000000000000000000000000..216202ad01c5d093a15c247cf791bf66759cf54d GIT binary patch literal 511 zcmeAS@N?(olHy`uVBq!ia0vp^DImqEwn3#C`6axcex~Gd{NX4zUH%{jrQQ%<>_`I#L<;VZ} zZHv8>O^d80dDUJWN}qZ5sw(5+2E$_#$vr=hznV9v_(!hA^s)ehHzYuO_$GPFaj>L^Z^8*-5pGM3JjCnSB#oUXR4yIck*z;L5euG4hrQnMaF=Mr^If6ezqfPO{rmaH zG`Recv6gZBZ^h$ro*MqgZ`L;0*JWSQ?4MdEEc#Ycl^2Ku*&||7ybYSKxgR(e zUi8LbW#8LW_O;o`+{cdv9h)e%;+1X1dv+zh{}-wmlY4-{_IaWH_ctMZlX+XXL2>Bm L>gTe~DWM4f<{`=m literal 0 HcmV?d00001 diff --git a/static/c4.png b/static/c4.png new file mode 100644 index 0000000000000000000000000000000000000000..fb8b4770c323cc87544a502c4efcd9792ec6047a GIT binary patch literal 476 zcmeAS@N?(olHy`uVBq!ia0vp^DIm!v{Zmph6H*@EOQ`c;Jj35m?s8tsB!ig_bOsad3NWyNKsO#%u4s6f}!WF<$1wue~HTU+T}QZ;Gq4 z+^p*LR=oRR<2>VYrDayznw7JEgn9(s4mmKdKH{5e^24HIn&xXKq`oqWXf4s;nPY6> zl5RSUO)+g!*Qq{!;a&O8LAO2%J{IadS>Y&oFLd#-`B8Zi;r0eCLdRUCfQpstnaz}|9;&C$edE%qT=zMqcbI`S>(i_Uwsp-Jh?$Zac<}T=h6;^ V(bfHGPg+0`|eiw2lA( literal 0 HcmV?d00001 diff --git a/static/c5.png b/static/c5.png new file mode 100644 index 0000000000000000000000000000000000000000..310bfb123ba811240a23883c589557cced22af97 GIT binary patch literal 472 zcmeAS@N?(olHy`uVBq!ia0vp^DImMU#{OfDLKp{`iu-m;URIy-X0%w>4GPR z_aE3Db+En7Vpp-?y{8>c_3j;K1E(wImUzhRpIo-4)yng0f9$<4bN?NcJ+$)R>Cmd5 zPnT-Q*3a3qRzbM)VHC^C!+&Q!2$x98T^XQ1{a2U4m97Z?l}kQ1avTGN#j9nTb Uw;LB#rGg^I)78&qol`;+04O}Qp#T5? literal 0 HcmV?d00001 diff --git a/static/c6.png b/static/c6.png new file mode 100644 index 0000000000000000000000000000000000000000..c3c45d8814b2657a1c603b1a44c8207da134cb40 GIT binary patch literal 545 zcmeAS@N?(olHy`uVBq!ia0vp^DImqbxJT^6j8j=}L4 z`U~zp;jZGGq_3%#*Y{@jiL-*|KAoCX9M=6tMV3p`Xx_9LpK6YHtIv61@a%(@?tX{a zixmsYle>5975wq9?fBo`FZ<0Z_ST1U_$og>`Bwh@oq)-Q*IY8`n6H2IUEezHG>gnR z4m?JSR+TGA8lKK}%#OUITJo;LRm!DE@lpDwn1HB=DfxjiElxjmC-aCcb$n6qV?vwH z70D$Ac9y-Kb4tS6k2yc|sk#5)HGj$%vfgZBIOdhE(svqtDm`(*VzL-mu^Hy19AKPf2Xw<}^wvyk3;W5tc1>eFM@ s<<*_%cP|y0-yh@^lK=|O<{9 literal 0 HcmV?d00001 diff --git a/static/c7.png b/static/c7.png new file mode 100644 index 0000000000000000000000000000000000000000..a1e73908c282c8ce053a037a9b0d0ff2bcdb5f28 GIT binary patch literal 365 zcmeAS@N?(olHy`uVBq!ia0vp^DIm6ZD L`njxgN@xNA8ryiD literal 0 HcmV?d00001 diff --git a/static/c8.png b/static/c8.png new file mode 100644 index 0000000000000000000000000000000000000000..c32633c0b399d119fe940b19fb48ee0efd986ca1 GIT binary patch literal 587 zcmeAS@N?(olHy`uVBq!ia0vp^DImtDWKw)GSgG z<{?!7vyg^n3M^01LJZ}7srr_TW_zQ?t87k(~wwf+9)vT z%KQIoiZ6ORmsqxitIvdcU#@t4EXP6v-^(UI#Jk~jfg$H7CzX--mMU=ckjl- zO_N=n{=9#BNIpzt0(^6iu(G%&IbVv*qm>1hi!XSEd0U$OB}=(W(sDW)~2<6brG`eb|Eywk@UH2a9_S~2ou;@L{mE;Re4S!9(w0H>~IdYlxQPbf~&0B26{}evs0SCD6 b<@sM36JAtSn%f$@0;LB}S3j3^P6r-DwW=|@#WR(W@( zZdqJkeNu(zZcxH)-rk0j)>6#pwJ%5 z({0I4*ENL;Hg>s)Wo2yHMQWq+YVK10K1LEVCnUj62Kls6uex~DF( zmCs;?h^>{Qb=Fc@o?qGaU(P$0_Dg@wVQpV1_%AL~YBQ@%pW7wIWu-GZ7%RRBC{J)$ zYTez|@_3zqf=Wi}%JdkW31MA*>f4V5YcgIo@dcs(Z~1ke=Y_pcHP{M@c~4hAmvv4F FO#nHb*8Bhf literal 0 HcmV?d00001 diff --git a/static/customicons.css b/static/customicons.css new file mode 100644 index 0000000..14ed5fa --- /dev/null +++ b/static/customicons.css @@ -0,0 +1,20 @@ +@font-face { + font-family: "customicons"; /* Project id 2878519 */ + src:url('/static/customicons.ttf') format('truetype'); +} + +.customicons { + font-family: "customicons" !important; +} + +.youxi:before { + content: "\e60e"; +} + +.wenjian:before { + content: "\e60f"; +} + +.zhuanfa:before { + content: "\e610"; +} diff --git a/static/customicons.ttf b/static/customicons.ttf new file mode 100644 index 0000000000000000000000000000000000000000..a3c8ab9f22d18d5d605503eda314e5d2a31fdfc0 GIT binary patch literal 2416 zcmd^A%WoS+82@H>?IgD2#K~q|hdkDH>bQB>&f0O>=25F@5|GlQX`8fENObGiPEx<* zIHl>yDoB8U!lAtvAt9k$df{KC1gT1(TA*@aKU;Z8A_c6Yj%<0Ab$%Pq=pKvad z-A@0oKRQn&-bGc{Qu=Do+{0<;!iM5&AR2xX-va&;wQns~zS&B(8f^c>xHVfy>O!2V zuzd$(TTZ`OWbJet@*^0lc|DhE{bb?+k@a&TAyX`DmiI>vrzUh9wW#VtLONPQPcgH{GfcG%HCo!>rVIv8K7)wAe(G9W~W6s*} z5MlL3;c^>AXo`e0v-20pnbpgA>V(Zx`M)vCu4i=kuX|?D<5C8Ok=0}+EcYWmqwucq z9k>tcJ$p@N7UdY3K%*@M)z9zF77#b3%z!fxHdq^cAvWrY zjm5{}(W73UQ-HKbh-#b|iyQiGC8|vcP=ZB(`A1^`pS7F$eO6f+XC1Pl#U~jwSS-Z6 zoYdm6fFb2Ts4UG+2aoy3eJ4h)WHMJqPWZ+ggv;Y`8Ne>v?K0a?dV7a@d%xnHstS*S!80>UHNq5P zcT^Cf-6E!7v@~-j7+e|8elTC7!G#HLb7P0n=yWzJ9gWT2iG@K%Yp-64j#evA{TmZG zWJPwUm;la=mS?v1K>SNwq9YWdlSr<&p0z19Zlu(!^)Mr=JSzZ7)T_mjuz=s|>kl!c zB@l~)Q)H`{IH*LH!r`TeI(%*{!Lr8Sps0GoVXsi(ZM7mhk8cX!KdH!FU9!mAbI=zO zP#q6W0#>gAiixoIV3!-P``)ng_~q*Du3#5l{`J@HiH~s`$rPj0xaF>5@3G|gDTd`t z2}&`saAq1brJKoCUtp5O z;^K01ht1M-_H0vw)#X+iuR9#q9aYKR<`5;DCw%I1?(O?_+2N4wrR4G}CnNsOmL?^| z?r41nJAO^`vqW__v>3uGEQc3DyKNq9yhk|YJmP6uSZGw-E=vQP_BpOMS9fi$j;5~R zmD%KpS-b3(?Z^BHZ8{R|>1<(-tEK86+@Y}Cr!9vT!UsEbw=A*jY1`o&ywm0}zN$9* z)x4>Q+QHOsI)0nBn^>R*ddb8hc%O+S-~kg`@aNM^Yz04QVjB(OyQ}-O!($Prh)GSD zCqQqSm{BWzW@3Sy^o5B<@ZXwP0{+Rw7E);6#8&VJCbrQEYc{c+0xUUQO6ld)s(Ni( zT~8MB=|aAI*q={jwz7KZaCq3Sq)MCXg}gcviX2jNseGz*=w|aqMk|-oYPwX&sk88x z%4Q2{u~gVdCCj0;a=Cai9OmS z&fu!b!m{+7^jYf_XqRXcdfcZoHN+IGM+T-)9_ZH9MG(} zz7$rH1y-?vT($u}Noa>?&9ExsItb%AjOS24WW<@{KiqoZ|NR#gi3v<(60?v^AJ&GW i+l8&0>&^ObYFtuIC+Gpxs*A((`E@KK=o#Msw}} literal 0 HcmV?d00001 diff --git a/static/h5Player/h5player.min.js b/static/h5Player/h5player.min.js new file mode 100644 index 0000000..3675c9b --- /dev/null +++ b/static/h5Player/h5player.min.js @@ -0,0 +1,313 @@ +!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n,i=t();for(n in i)("object"==typeof exports?exports:e)[n]=i[n]}}(window,function(){return n=[function(e,t,ls){!function(us){var ds;//! moment.js +//! version : 2.29.1 +//! authors : Tim Wood, Iskren Chernev, Moment.js contributors +//! license : MIT +//! momentjs.com +us.exports=function(){"use strict";var t,r;function l(){return t.apply(null,arguments)}function e(e){t=e}function s(e){return e instanceof Array||Object.prototype.toString.call(e)==="[object Array]"}function o(e){return e!=null&&Object.prototype.toString.call(e)==="[object Object]"}function u(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function d(e){if(Object.getOwnPropertyNames)return Object.getOwnPropertyNames(e).length===0;else{var t;for(t in e)if(u(e,t))return false;return true}}function a(e){return e===void 0}function h(e){return typeof e==="number"||Object.prototype.toString.call(e)==="[object Number]"}function c(e){return e instanceof Date||Object.prototype.toString.call(e)==="[object Date]"}function i(e,t){var n=[],i;for(i=0;i>>0,i;for(i=0;i0)for(n=0;n=0;return(a?n?"+":"":"-")+Math.pow(10,Math.max(0,r)).toString().substr(1)+i}var O=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,I=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,W={},H={};function j(e,t,n,i){var r=i;if(typeof i==="string")r=function(){return this[i]()};if(e)H[e]=r;if(t)H[t[0]]=function(){return x(r.apply(this,arguments),t[1],t[2])};if(n)H[n]=function(){return this.localeData().ordinal(r.apply(this,arguments),e)}}function F(e){if(e.match(/\[[\s\S]/))return e.replace(/^\[|\]$/g,"");return e.replace(/\\/g,"")}function B(i){var r=i.match(O),e,a;for(e=0,a=r.length;e=0&&I.test(e)){e=e.replace(I,i);I.lastIndex=0;n-=1}return e}var z={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function V(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];if(t||!n)return t;this._longDateFormat[e]=n.match(O).map(function(e){if(e==="MMMM"||e==="MM"||e==="DD"||e==="dddd")return e.slice(1);return e}).join("");return this._longDateFormat[e]}var G="Invalid date";function J(){return this._invalidDate}var q="%d",K=/\d{1,2}/;function X(e){return this._ordinal.replace("%d",e)}var Z={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function $(e,t,n,i){var r=this._relativeTime[n];return E(r)?r(e,t,n,i):r.replace(/%d/i,e)}function Q(e,t){var n=this._relativeTime[e>0?"future":"past"];return E(n)?n(t):n.replace(/%s/i,t)}var ee={};function te(e,t){var n=e.toLowerCase();ee[n]=ee[n+"s"]=ee[t]=e}function ne(e){return typeof e==="string"?ee[e]||ee[e.toLowerCase()]:undefined}function ie(e){var t={},n,i;for(i in e)if(u(e,i)){n=ne(i);if(n)t[n]=e[i]}return t}var re={};function ae(e,t){re[e]=t}function se(e){var t=[],n;for(n in e)if(u(e,n))t.push({unit:n,priority:re[n]});t.sort(function(e,t){return e.priority-t.priority});return t}function oe(e){return e%4===0&&e%100!==0||e%400===0}function ue(e){if(e<0)return Math.ceil(e)||0;else return Math.floor(e)}function de(e){var t=+e,n=0;if(t!==0&&isFinite(t))n=ue(t);return n}function le(t,n){return function(e){if(e!=null){ce(this,t,e);l.updateOffset(this,n);return this}else return he(this,t)}}function he(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function ce(e,t,n){if(e.isValid()&&!isNaN(n))if(t==="FullYear"&&oe(e.year())&&e.month()===1&&e.date()===29){n=de(n);e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),$e(n,e.month()))}else e._d["set"+(e._isUTC?"UTC":"")+t](n)}function _e(e){e=ne(e);if(E(this[e]))return this[e]();return this}function fe(e,t){if(typeof e==="object"){e=ie(e);var n=se(e),i;for(i=0;i68?1900:2e3)};var mt=le("FullYear",true);function pt(){return oe(this.year())}function yt(e,t,n,i,r,a,s){var o;if(e<100&&e>=0){o=new Date(e+400,t,n,i,r,a,s);if(isFinite(o.getFullYear()))o.setFullYear(e)}else o=new Date(e,t,n,i,r,a,s);return o}function vt(e){var t,n;if(e<100&&e>=0){n=Array.prototype.slice.call(arguments);n[0]=e+400;t=new Date(Date.UTC.apply(null,n));if(isFinite(t.getUTCFullYear()))t.setUTCFullYear(e)}else t=new Date(Date.UTC.apply(null,arguments));return t}function gt(e,t,n){var i=7+t-n,r=(7+vt(e,0,i).getUTCDay()-t)%7;return-r+i-1}function Mt(e,t,n,i,r){var a=(7+n-i)%7,s=gt(e,i,r),o=1+7*(t-1)+a+s,u,d;if(o<=0){u=e-1;d=ft(u)+o}else if(o>ft(e)){u=e+1;d=o-ft(e)}else{u=e;d=o}return{year:u,dayOfYear:d}}function Lt(e,t,n){var i=gt(e.year(),t,n),r=Math.floor((e.dayOfYear()-i-1)/7)+1,a,s;if(r<1){s=e.year()-1;a=r+St(s,t,n)}else if(r>St(e.year(),t,n)){a=r-St(e.year(),t,n);s=e.year()+1}else{s=e.year();a=r}return{week:a,year:s}}function St(e,t,n){var i=gt(e,t,n),r=gt(e+1,t,n);return(ft(e)-i+r)/7}function kt(e){return Lt(e,this._week.dow,this._week.doy).week}j("w",["ww",2],"wo","week"),j("W",["WW",2],"Wo","isoWeek"),te("week","w"),te("isoWeek","W"),ae("week",5),ae("isoWeek",5),Ae("w",Me),Ae("ww",Me,pe),Ae("W",Me),Ae("WW",Me,pe),je(["w","ww","W","WW"],function(e,t,n,i){t[i.substr(0,1)]=de(e)});var bt={dow:0,doy:6};function wt(){return this._week.dow}function Dt(){return this._week.doy}function Tt(e){var t=this.localeData().week(this);return e==null?t:this.add((e-t)*7,"d")}function Et(e){var t=Lt(this,1,4).week;return e==null?t:this.add((e-t)*7,"d")}function Yt(e,t){if(typeof e!=="string")return e;if(!isNaN(e))return parseInt(e,10);e=t.weekdaysParse(e);if(typeof e==="number")return e;return null}function Pt(e,t){if(typeof e==="string")return t.weekdaysParse(e)%7||7;return isNaN(e)?null:e}function Ct(e,t){return e.slice(t,7).concat(e.slice(0,t))}j("d",0,"do","day"),j("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),j("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),j("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),j("e",0,0,"weekday"),j("E",0,0,"isoWeekday"),te("day","d"),te("weekday","e"),te("isoWeekday","E"),ae("day",11),ae("weekday",11),ae("isoWeekday",11),Ae("d",Me),Ae("e",Me),Ae("E",Me),Ae("dd",function(e,t){return t.weekdaysMinRegex(e)}),Ae("ddd",function(e,t){return t.weekdaysShortRegex(e)}),Ae("dddd",function(e,t){return t.weekdaysRegex(e)}),je(["dd","ddd","dddd"],function(e,t,n,i){var r=n._locale.weekdaysParse(e,i,n._strict);if(r!=null)t.d=r;else m(n).invalidWeekday=e}),je(["d","e","E"],function(e,t,n,i){t[i]=de(e)});var Rt="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),At="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),xt="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Ot=Ce,It=Ce,Wt=Ce;function Ht(e,t){var n=s(this._weekdays)?this._weekdays:this._weekdays[e&&e!==true&&this._weekdays.isFormat.test(t)?"format":"standalone"];return e===true?Ct(n,this._week.dow):e?n[e.day()]:n}function jt(e){return e===true?Ct(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort}function Ft(e){return e===true?Ct(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin}function Bt(e,t,n){var i,r,a,s=e.toLocaleLowerCase();if(!this._weekdaysParse){this._weekdaysParse=[];this._shortWeekdaysParse=[];this._minWeekdaysParse=[];for(i=0;i<7;++i){a=f([2e3,1]).day(i);this._minWeekdaysParse[i]=this.weekdaysMin(a,"").toLocaleLowerCase();this._shortWeekdaysParse[i]=this.weekdaysShort(a,"").toLocaleLowerCase();this._weekdaysParse[i]=this.weekdays(a,"").toLocaleLowerCase()}}if(n)if(t==="dddd"){r=Xe.call(this._weekdaysParse,s);return r!==-1?r:null}else if(t==="ddd"){r=Xe.call(this._shortWeekdaysParse,s);return r!==-1?r:null}else{r=Xe.call(this._minWeekdaysParse,s);return r!==-1?r:null}else if(t==="dddd"){r=Xe.call(this._weekdaysParse,s);if(r!==-1)return r;r=Xe.call(this._shortWeekdaysParse,s);if(r!==-1)return r;r=Xe.call(this._minWeekdaysParse,s);return r!==-1?r:null}else if(t==="ddd"){r=Xe.call(this._shortWeekdaysParse,s);if(r!==-1)return r;r=Xe.call(this._weekdaysParse,s);if(r!==-1)return r;r=Xe.call(this._minWeekdaysParse,s);return r!==-1?r:null}else{r=Xe.call(this._minWeekdaysParse,s);if(r!==-1)return r;r=Xe.call(this._weekdaysParse,s);if(r!==-1)return r;r=Xe.call(this._shortWeekdaysParse,s);return r!==-1?r:null}}function Ut(e,t,n){var i,r,a;if(this._weekdaysParseExact)return Bt.call(this,e,t,n);if(!this._weekdaysParse){this._weekdaysParse=[];this._minWeekdaysParse=[];this._shortWeekdaysParse=[];this._fullWeekdaysParse=[]}for(i=0;i<7;i++){r=f([2e3,1]).day(i);if(n&&!this._fullWeekdaysParse[i]){this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(r,"").replace(".","\\.?")+"$","i");this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(r,"").replace(".","\\.?")+"$","i");this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(r,"").replace(".","\\.?")+"$","i")}if(!this._weekdaysParse[i]){a="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,"");this._weekdaysParse[i]=new RegExp(a.replace(".",""),"i")}if(n&&t==="dddd"&&this._fullWeekdaysParse[i].test(e))return i;else if(n&&t==="ddd"&&this._shortWeekdaysParse[i].test(e))return i;else if(n&&t==="dd"&&this._minWeekdaysParse[i].test(e))return i;else if(!n&&this._weekdaysParse[i].test(e))return i}}function Nt(e){if(!this.isValid())return e!=null?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();if(e!=null){e=Yt(e,this.localeData());return this.add(e-t,"d")}else return t}function zt(e){if(!this.isValid())return e!=null?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return e==null?t:this.add(e-t,"d")}function Vt(e){if(!this.isValid())return e!=null?this:NaN;if(e!=null){var t=Pt(e,this.localeData());return this.day(this.day()%7?t:t-7)}else return this.day()||7}function Gt(e){if(this._weekdaysParseExact){if(!u(this,"_weekdaysRegex"))Kt.call(this);if(e)return this._weekdaysStrictRegex;else return this._weekdaysRegex}else{if(!u(this,"_weekdaysRegex"))this._weekdaysRegex=Ot;return this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex}}function Jt(e){if(this._weekdaysParseExact){if(!u(this,"_weekdaysRegex"))Kt.call(this);if(e)return this._weekdaysShortStrictRegex;else return this._weekdaysShortRegex}else{if(!u(this,"_weekdaysShortRegex"))this._weekdaysShortRegex=It;return this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex}}function qt(e){if(this._weekdaysParseExact){if(!u(this,"_weekdaysRegex"))Kt.call(this);if(e)return this._weekdaysMinStrictRegex;else return this._weekdaysMinRegex}else{if(!u(this,"_weekdaysMinRegex"))this._weekdaysMinRegex=Wt;return this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex}}function Kt(){function e(e,t){return t.length-e.length}var t=[],n=[],i=[],r=[],a,s,o,u,d;for(a=0;a<7;a++){s=f([2e3,1]).day(a);o=Ie(this.weekdaysMin(s,""));u=Ie(this.weekdaysShort(s,""));d=Ie(this.weekdays(s,""));t.push(o);n.push(u);i.push(d);r.push(o);r.push(u);r.push(d)}t.sort(e);n.sort(e);i.sort(e);r.sort(e);this._weekdaysRegex=new RegExp("^("+r.join("|")+")","i");this._weekdaysShortRegex=this._weekdaysRegex;this._weekdaysMinRegex=this._weekdaysRegex;this._weekdaysStrictRegex=new RegExp("^("+i.join("|")+")","i");this._weekdaysShortStrictRegex=new RegExp("^("+n.join("|")+")","i");this._weekdaysMinStrictRegex=new RegExp("^("+t.join("|")+")","i")}function Xt(){return this.hours()%12||12}function Zt(){return this.hours()||24}function $t(e,t){j(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function Qt(e,t){return t._meridiemParse}function en(e){return(e+"").toLowerCase().charAt(0)==="p"}j("H",["HH",2],0,"hour"),j("h",["hh",2],0,Xt),j("k",["kk",2],0,Zt),j("hmm",0,0,function(){return""+Xt.apply(this)+x(this.minutes(),2)}),j("hmmss",0,0,function(){return""+Xt.apply(this)+x(this.minutes(),2)+x(this.seconds(),2)}),j("Hmm",0,0,function(){return""+this.hours()+x(this.minutes(),2)}),j("Hmmss",0,0,function(){return""+this.hours()+x(this.minutes(),2)+x(this.seconds(),2)}),$t("a",true),$t("A",false),te("hour","h"),ae("hour",13),Ae("a",Qt),Ae("A",Qt),Ae("H",Me),Ae("h",Me),Ae("k",Me),Ae("HH",Me,pe),Ae("hh",Me,pe),Ae("kk",Me,pe),Ae("hmm",Le),Ae("hmmss",Se),Ae("Hmm",Le),Ae("Hmmss",Se),He(["H","HH"],ze),He(["k","kk"],function(e,t,n){var i=de(e);t[ze]=i===24?0:i}),He(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e);n._meridiem=e}),He(["h","hh"],function(e,t,n){t[ze]=de(e);m(n).bigHour=true}),He("hmm",function(e,t,n){var i=e.length-2;t[ze]=de(e.substr(0,i));t[Ve]=de(e.substr(i));m(n).bigHour=true}),He("hmmss",function(e,t,n){var i=e.length-4,r=e.length-2;t[ze]=de(e.substr(0,i));t[Ve]=de(e.substr(i,2));t[Ge]=de(e.substr(r));m(n).bigHour=true}),He("Hmm",function(e,t,n){var i=e.length-2;t[ze]=de(e.substr(0,i));t[Ve]=de(e.substr(i))}),He("Hmmss",function(e,t,n){var i=e.length-4,r=e.length-2;t[ze]=de(e.substr(0,i));t[Ve]=de(e.substr(i,2));t[Ge]=de(e.substr(r))});var tn,nn=le("Hours",true);function rn(e,t,n){if(e>11)return n?"pm":"PM";else return n?"am":"AM"}var an={calendar:R,longDateFormat:z,invalidDate:G,ordinal:q,dayOfMonthOrdinalParse:K,relativeTime:Z,months:Qe,monthsShort:et,week:bt,weekdays:Rt,weekdaysMin:xt,weekdaysShort:At,meridiemParse:/[ap]\.?m?\.?/i},sn={},on={},un;function dn(e,t){var n,i=Math.min(e.length,t.length);for(n=0;n0){r=cn(a.slice(0,n).join("-"));if(r)return r;if(i&&i.length>=n&&dn(a,i)>=n-1)break;n--}t++}return un}function cn(t){var e=null,n;if(sn[t]===undefined&&typeof us!=="undefined"&&us&&us.exports)try{e=un._abbr;n=ds;ls(285)("./"+t);_n(e)}catch(e){sn[t]=null}return sn[t]}function _n(e,t){var n;if(e){if(a(t))n=pn(e);else n=fn(e,t);if(n)un=n;else if(typeof console!=="undefined"&&console.warn)console.warn("Locale "+e+" not found. Did you forget to load it?")}return un._abbr}function fn(e,t){if(t!==null){var n,i=an;t.abbr=e;if(sn[e]!=null){T("defineLocaleOverride","use moment.updateLocale(localeName, config) to change "+"an existing locale. moment.defineLocale(localeName, "+"config) should only be used for creating a new locale "+"See http://momentjs.com/guides/#/warnings/define-locale/ for more info.");i=sn[e]._config}else if(t.parentLocale!=null)if(sn[t.parentLocale]!=null)i=sn[t.parentLocale]._config;else{n=cn(t.parentLocale);if(n!=null)i=n._config;else{if(!on[t.parentLocale])on[t.parentLocale]=[];on[t.parentLocale].push({name:e,config:t});return null}}sn[e]=new C(P(i,t));if(on[e])on[e].forEach(function(e){fn(e.name,e.config)});_n(e);return sn[e]}else{delete sn[e];return null}}function mn(e,t){if(t!=null){var n,i,r=an;if(sn[e]!=null&&sn[e].parentLocale!=null)sn[e].set(P(sn[e]._config,t));else{i=cn(e);if(i!=null)r=i._config;t=P(r,t);if(i==null)t.abbr=e;n=new C(t);n.parentLocale=sn[e];sn[e]=n}_n(e)}else if(sn[e]!=null)if(sn[e].parentLocale!=null){sn[e]=sn[e].parentLocale;if(e===_n())_n(e)}else if(sn[e]!=null)delete sn[e];return sn[e]}function pn(e){var t;if(e&&e._locale&&e._locale._abbr)e=e._locale._abbr;if(!e)return un;if(!s(e)){t=cn(e);if(t)return t;e=[e]}return hn(e)}function yn(){return D(sn)}function vn(e){var t,n=e._a;if(n&&m(e).overflow===-2){t=n[Ue]<0||n[Ue]>11?Ue:n[Ne]<1||n[Ne]>$e(n[Be],n[Ue])?Ne:n[ze]<0||n[ze]>24||n[ze]===24&&(n[Ve]!==0||n[Ge]!==0||n[Je]!==0)?ze:n[Ve]<0||n[Ve]>59?Ve:n[Ge]<0||n[Ge]>59?Ge:n[Je]<0||n[Je]>999?Je:-1;if(m(e)._overflowDayOfYear&&(tNe))t=Ne;if(m(e)._overflowWeeks&&t===-1)t=qe;if(m(e)._overflowWeekday&&t===-1)t=Ke;m(e).overflow=t}return e}var gn=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Mn=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Ln=/Z|[+-]\d\d(?::?\d\d)?/,Sn=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,false],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,false],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,false],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,false],["YYYY",/\d{4}/,false]],kn=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],bn=/^\/?Date\((-?\d+)/i,wn=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,Dn={UT:0,GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function Tn(e){var t,n,i=e._i,r=gn.exec(i)||Mn.exec(i),a,s,o,u;if(r){m(e).iso=true;for(t=0,n=Sn.length;tft(s)||e._dayOfYear===0)m(e)._overflowDayOfYear=true;n=vt(s,0,e._dayOfYear);e._a[Ue]=n.getUTCMonth();e._a[Ne]=n.getUTCDate()}for(t=0;t<3&&e._a[t]==null;++t)e._a[t]=i[t]=r[t];for(;t<7;t++)e._a[t]=i[t]=e._a[t]==null?t===2?1:0:e._a[t];if(e._a[ze]===24&&e._a[Ve]===0&&e._a[Ge]===0&&e._a[Je]===0){e._nextDay=true;e._a[ze]=0}e._d=(e._useUTC?vt:yt).apply(null,i);a=e._useUTC?e._d.getUTCDay():e._d.getDay();if(e._tzm!=null)e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm);if(e._nextDay)e._a[ze]=24;if(e._w&&typeof e._w.d!=="undefined"&&e._w.d!==a)m(e).weekdayMismatch=true}function Hn(e){var t,n,i,r,a,s,o,u,d;t=e._w;if(t.GG!=null||t.W!=null||t.E!=null){a=1;s=4;n=On(t.GG,e._a[Be],Lt(Jn(),1,4).year);i=On(t.W,1);r=On(t.E,1);if(r<1||r>7)u=true}else{a=e._locale._week.dow;s=e._locale._week.doy;d=Lt(Jn(),a,s);n=On(t.gg,e._a[Be],d.year);i=On(t.w,d.week);if(t.d!=null){r=t.d;if(r<0||r>6)u=true}else if(t.e!=null){r=t.e+a;if(t.e<0||t.e>6)u=true}else r=a}if(i<1||i>St(n,a,s))m(e)._overflowWeeks=true;else if(u!=null)m(e)._overflowWeekday=true;else{o=Mt(n,i,r,a,s);e._a[Be]=o.year;e._dayOfYear=o.dayOfYear}}function jn(e){if(e._f===l.ISO_8601){Tn(e);return}if(e._f===l.RFC_2822){An(e);return}e._a=[];m(e).empty=true;var t=""+e._i,n,i,r,a,s,o=t.length,u=0,d;r=N(e._f,e._locale).match(O)||[];for(n=0;n0)m(e).unusedInput.push(s);t=t.slice(t.indexOf(i)+i.length);u+=i.length}if(H[a]){if(i)m(e).empty=false;else m(e).unusedTokens.push(a);Fe(a,i,e)}else if(e._strict&&!i)m(e).unusedTokens.push(a)}m(e).charsLeftOver=o-u;if(t.length>0)m(e).unusedInput.push(t);if(e._a[ze]<=12&&m(e).bigHour===true&&e._a[ze]>0)m(e).bigHour=undefined;m(e).parsedDateParts=e._a.slice(0);m(e).meridiem=e._meridiem;e._a[ze]=Fn(e._locale,e._a[ze],e._meridiem);d=m(e).era;if(d!==null)e._a[Be]=e._locale.erasConvertYear(d,e._a[Be]);Wn(e);vn(e)}function Fn(e,t,n){var i;if(n==null)return t;if(e.meridiemHour!=null)return e.meridiemHour(t,n);else if(e.isPM!=null){i=e.isPM(n);if(i&&t<12)t+=12;if(!i&&t===12)t=0;return t}else return t}function Bn(e){var t,n,i,r,a,s,o=false;if(e._f.length===0){m(e).invalidFormat=true;e._d=new Date(NaN);return}for(r=0;rthis?this:e;else return y()});function Xn(e,t){var n,i;if(t.length===1&&s(t[0]))t=t[0];if(!t.length)return Jn();n=t[0];for(i=1;ithis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Mi(){if(!a(this._isDSTShifted))return this._isDSTShifted;var e={},t;M(e,this);e=zn(e);if(e._a){t=e._isUTC?f(e._a):Jn(e._a);this._isDSTShifted=this.isValid()&&oi(e._a,t.toArray())>0}else this._isDSTShifted=false;return this._isDSTShifted}function Li(){return this.isValid()?!this._isUTC:false}function Si(){return this.isValid()?this._isUTC:false}function ki(){return this.isValid()?this._isUTC&&this._offset===0:false}l.updateOffset=function(){};var bi=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,wi=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Di(e,t){var n=e,i=null,r,a,s;if(ai(e))n={ms:e._milliseconds,d:e._days,M:e._months};else if(h(e)||!isNaN(+e)){n={};if(t)n[t]=+e;else n.milliseconds=+e}else if(i=bi.exec(e)){r=i[1]==="-"?-1:1;n={y:0,d:de(i[Ne])*r,h:de(i[ze])*r,m:de(i[Ve])*r,s:de(i[Ge])*r,ms:de(si(i[Je]*1e3))*r}}else if(i=wi.exec(e)){r=i[1]==="-"?-1:1;n={y:Ti(i[2],r),M:Ti(i[3],r),w:Ti(i[4],r),d:Ti(i[5],r),h:Ti(i[6],r),m:Ti(i[7],r),s:Ti(i[8],r)}}else if(n==null)n={};else if(typeof n==="object"&&("from"in n||"to"in n)){s=Yi(Jn(n.from),Jn(n.to));n={};n.ms=s.milliseconds;n.M=s.months}a=new ri(n);if(ai(e)&&u(e,"_locale"))a._locale=e._locale;if(ai(e)&&u(e,"_isValid"))a._isValid=e._isValid;return a}function Ti(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function Ei(e,t){var n={};n.months=t.month()-e.month()+(t.year()-e.year())*12;if(e.clone().add(n.months,"M").isAfter(t))--n.months;n.milliseconds=+t-+e.clone().add(n.months,"M");return n}function Yi(e,t){var n;if(!(e.isValid()&&t.isValid()))return{milliseconds:0,months:0};t=hi(t,e);if(e.isBefore(t))n=Ei(e,t);else{n=Ei(t,e);n.milliseconds=-n.milliseconds;n.months=-n.months}return n}function Pi(r,a){return function(e,t){var n,i;if(t!==null&&!isNaN(+t)){T(a,"moment()."+a+"(period, number) is deprecated. Please use moment()."+a+"(number, period). "+"See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.");i=e;e=t;t=i}n=Di(e,t);Ci(this,n,r);return this}}function Ci(e,t,n,i){var r=t._milliseconds,a=si(t._days),s=si(t._months);if(!e.isValid())return;i=i==null?true:i;if(s)ut(e,he(e,"Month")+s*n);if(a)ce(e,"Date",he(e,"Date")+a*n);if(r)e._d.setTime(e._d.valueOf()+r*n);if(i)l.updateOffset(e,a||s)}Di.fn=ri.prototype,Di.invalid=ii;var Ri=Pi(1,"add"),Ai=Pi(-1,"subtract");function xi(e){return typeof e==="string"||e instanceof String}function Oi(e){return S(e)||c(e)||xi(e)||h(e)||Wi(e)||Ii(e)||e===null||e===undefined}function Ii(e){var t=o(e)&&!d(e),n=false,i=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],r,a;for(r=0;rn.valueOf();else return n.valueOf()9999)return U(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ");if(E(Date.prototype.toISOString))if(t)return this.toDate().toISOString();else return new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace("Z",U(n,"Z"));return U(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function $i(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="",n,i,r,a;if(!this.isLocal()){e=this.utcOffset()===0?"moment.utc":"moment.parseZone";t="Z"}n="["+e+'("]';i=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY";r="-MM-DD[T]HH:mm:ss.SSS";a=t+'[")]';return this.format(n+i+r+a)}function Qi(e){if(!e)e=this.isUtc()?l.defaultFormatUtc:l.defaultFormat;var t=U(this,e);return this.localeData().postformat(t)}function er(e,t){if(this.isValid()&&(S(e)&&e.isValid()||Jn(e).isValid()))return Di({to:this,from:e}).locale(this.locale()).humanize(!t);else return this.localeData().invalidDate()}function tr(e){return this.from(Jn(),e)}function nr(e,t){if(this.isValid()&&(S(e)&&e.isValid()||Jn(e).isValid()))return Di({from:this,to:e}).locale(this.locale()).humanize(!t);else return this.localeData().invalidDate()}function ir(e){return this.to(Jn(),e)}function rr(e){var t;if(e===undefined)return this._locale._abbr;else{t=pn(e);if(t!=null)this._locale=t;return this}}l.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",l.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var ar=b("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){if(e===undefined)return this.localeData();else return this.locale(e)});function sr(){return this._locale}var or=1e3,ur=60*or,dr=60*ur,lr=(365*400+97)*24*dr;function hr(e,t){return(e%t+t)%t}function cr(e,t,n){if(e<100&&e>=0)return new Date(e+400,t,n)-lr;else return new Date(e,t,n).valueOf()}function _r(e,t,n){if(e<100&&e>=0)return Date.UTC(e+400,t,n)-lr;else return Date.UTC(e,t,n)}function fr(e){var t,n;e=ne(e);if(e===undefined||e==="millisecond"||!this.isValid())return this;n=this._isUTC?_r:cr;switch(e){case"year":t=n(this.year(),0,1);break;case"quarter":t=n(this.year(),this.month()-this.month()%3,1);break;case"month":t=n(this.year(),this.month(),1);break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":t=n(this.year(),this.month(),this.date());break;case"hour":t=this._d.valueOf();t-=hr(t+(this._isUTC?0:this.utcOffset()*ur),dr);break;case"minute":t=this._d.valueOf();t-=hr(t,ur);break;case"second":t=this._d.valueOf();t-=hr(t,or);break}this._d.setTime(t);l.updateOffset(this,true);return this}function mr(e){var t,n;e=ne(e);if(e===undefined||e==="millisecond"||!this.isValid())return this;n=this._isUTC?_r:cr;switch(e){case"year":t=n(this.year()+1,0,1)-1;break;case"quarter":t=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=n(this.year(),this.month()+1,1)-1;break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf();t+=dr-hr(t+(this._isUTC?0:this.utcOffset()*ur),dr)-1;break;case"minute":t=this._d.valueOf();t+=ur-hr(t,ur)-1;break;case"second":t=this._d.valueOf();t+=or-hr(t,or)-1;break}this._d.setTime(t);l.updateOffset(this,true);return this}function pr(){return this._d.valueOf()-(this._offset||0)*6e4}function yr(){return Math.floor(this.valueOf()/1e3)}function vr(){return new Date(this.valueOf())}function gr(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]}function Mr(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}}function Lr(){return this.isValid()?this.toISOString():null}function Sr(){return p(this)}function kr(){return _({},m(this))}function br(){return m(this).overflow}function wr(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Dr(e,t){var n,i,r,a=this._eras||pn("en")._eras;for(n=0,i=a.length;n=0)return a[i]}}function Er(e,t){var n=e.since<=e.until?+1:-1;if(t===undefined)return l(e.since).year();else return l(e.since).year()+(t-e.offset)*n}function Yr(){var e,t,n,i=this.localeData().eras();for(e=0,t=i.length;ea)t=a;return Kr.call(this,e,t,n,i,r)}}function Kr(e,t,n,i,r){var a=Mt(e,t,n,i,r),s=vt(a.year,0,a.dayOfYear);this.year(s.getUTCFullYear());this.month(s.getUTCMonth());this.date(s.getUTCDate());return this}function Xr(e){return e==null?Math.ceil((this.month()+1)/3):this.month((e-1)*3+this.month()%3)}j("N",0,0,"eraAbbr"),j("NN",0,0,"eraAbbr"),j("NNN",0,0,"eraAbbr"),j("NNNN",0,0,"eraName"),j("NNNNN",0,0,"eraNarrow"),j("y",["y",1],"yo","eraYear"),j("y",["yy",2],0,"eraYear"),j("y",["yyy",3],0,"eraYear"),j("y",["yyyy",4],0,"eraYear"),Ae("N",Ir),Ae("NN",Ir),Ae("NNN",Ir),Ae("NNNN",Wr),Ae("NNNNN",Hr),He(["N","NN","NNN","NNNN","NNNNN"],function(e,t,n,i){var r=n._locale.erasParse(e,i,n._strict);if(r)m(n).era=r;else m(n).invalidEra=e}),Ae("y",De),Ae("yy",De),Ae("yyy",De),Ae("yyyy",De),Ae("yo",jr),He(["y","yy","yyy","yyyy"],Be),He(["yo"],function(e,t,n,i){var r;if(n._locale._eraYearOrdinalRegex)r=e.match(n._locale._eraYearOrdinalRegex);if(n._locale.eraYearOrdinalParse)t[Be]=n._locale.eraYearOrdinalParse(e,r);else t[Be]=parseInt(e,10)}),j(0,["gg",2],0,function(){return this.weekYear()%100}),j(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Br("gggg","weekYear"),Br("ggggg","weekYear"),Br("GGGG","isoWeekYear"),Br("GGGGG","isoWeekYear"),te("weekYear","gg"),te("isoWeekYear","GG"),ae("weekYear",1),ae("isoWeekYear",1),Ae("G",Te),Ae("g",Te),Ae("GG",Me,pe),Ae("gg",Me,pe),Ae("GGGG",be,ve),Ae("gggg",be,ve),Ae("GGGGG",we,ge),Ae("ggggg",we,ge),je(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,i){t[i.substr(0,2)]=de(e)}),je(["gg","GG"],function(e,t,n,i){t[i]=l.parseTwoDigitYear(e)}),j("Q",0,"Qo","quarter"),te("quarter","Q"),ae("quarter",7),Ae("Q",me),He("Q",function(e,t){t[Ue]=(de(e)-1)*3}),j("D",["DD",2],"Do","date"),te("date","D"),ae("date",9),Ae("D",Me),Ae("DD",Me,pe),Ae("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),He(["D","DD"],Ne),He("Do",function(e,t){t[Ne]=de(e.match(Me)[0])});var Zr=le("Date",true);function $r(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return e==null?t:this.add(e-t,"d")}j("DDD",["DDDD",3],"DDDo","dayOfYear"),te("dayOfYear","DDD"),ae("dayOfYear",4),Ae("DDD",ke),Ae("DDDD",ye),He(["DDD","DDDD"],function(e,t,n){n._dayOfYear=de(e)}),j("m",["mm",2],0,"minute"),te("minute","m"),ae("minute",14),Ae("m",Me),Ae("mm",Me,pe),He(["m","mm"],Ve);var Qr=le("Minutes",false);j("s",["ss",2],0,"second"),te("second","s"),ae("second",15),Ae("s",Me),Ae("ss",Me,pe),He(["s","ss"],Ge);var ea=le("Seconds",false),ta,na;for(j("S",0,0,function(){return~~(this.millisecond()/100)}),j(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),j(0,["SSS",3],0,"millisecond"),j(0,["SSSS",4],0,function(){return this.millisecond()*10}),j(0,["SSSSS",5],0,function(){return this.millisecond()*100}),j(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3}),j(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4}),j(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5}),j(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6}),te("millisecond","ms"),ae("millisecond",16),Ae("S",ke,me),Ae("SS",ke,pe),Ae("SSS",ke,ye),ta="SSSS";ta.length<=9;ta+="S")Ae(ta,De);function ia(e,t){t[Je]=de(("0."+e)*1e3)}for(ta="S";ta.length<=9;ta+="S")He(ta,ia);function ra(){return this._isUTC?"UTC":""}function aa(){return this._isUTC?"Coordinated Universal Time":""}na=le("Milliseconds",false),j("z",0,0,"zoneAbbr"),j("zz",0,0,"zoneName");var sa=L.prototype;if(sa.add=Ri,sa.calendar=Fi,sa.clone=Bi,sa.diff=qi,sa.endOf=mr,sa.format=Qi,sa.from=er,sa.fromNow=tr,sa.to=nr,sa.toNow=ir,sa.get=_e,sa.invalidAt=br,sa.isAfter=Ui,sa.isBefore=Ni,sa.isBetween=zi,sa.isSame=Vi,sa.isSameOrAfter=Gi,sa.isSameOrBefore=Ji,sa.isValid=Sr,sa.lang=ar,sa.locale=rr,sa.localeData=sr,sa.max=Kn,sa.min=qn,sa.parsingFlags=kr,sa.set=fe,sa.startOf=fr,sa.subtract=Ai,sa.toArray=gr,sa.toObject=Mr,sa.toDate=vr,sa.toISOString=Zi,sa.inspect=$i,typeof Symbol!=="undefined"&&Symbol.for!=null)sa[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"};function oa(e){return Jn(e*1e3)}function ua(){return Jn.apply(null,arguments).parseZone()}function da(e){return e}sa.toJSON=Lr,sa.toString=Xi,sa.unix=yr,sa.valueOf=pr,sa.creationData=wr,sa.eraName=Yr,sa.eraNarrow=Pr,sa.eraAbbr=Cr,sa.eraYear=Rr,sa.year=mt,sa.isLeapYear=pt,sa.weekYear=Ur,sa.isoWeekYear=Nr,sa.quarter=sa.quarters=Xr,sa.month=dt,sa.daysInMonth=lt,sa.week=sa.weeks=Tt,sa.isoWeek=sa.isoWeeks=Et,sa.weeksInYear=Gr,sa.weeksInWeekYear=Jr,sa.isoWeeksInYear=zr,sa.isoWeeksInISOWeekYear=Vr,sa.date=Zr,sa.day=sa.days=Nt,sa.weekday=zt,sa.isoWeekday=Vt,sa.dayOfYear=$r,sa.hour=sa.hours=nn,sa.minute=sa.minutes=Qr,sa.second=sa.seconds=ea,sa.millisecond=sa.milliseconds=na,sa.utcOffset=_i,sa.utc=mi,sa.local=pi,sa.parseZone=yi,sa.hasAlignedHourOffset=vi,sa.isDST=gi,sa.isLocal=Li,sa.isUtcOffset=Si,sa.isUtc=ki,sa.isUTC=ki,sa.zoneAbbr=ra,sa.zoneName=aa,sa.dates=b("dates accessor is deprecated. Use date instead.",Zr),sa.months=b("months accessor is deprecated. Use month instead",dt),sa.years=b("years accessor is deprecated. Use year instead",mt),sa.zone=b("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",fi),sa.isDSTShifted=b("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Mi);var la=C.prototype;function ha(e,t,n,i){var r=pn(),a=f().set(i,t);return r[n](a,e)}function ca(e,t,n){if(h(e)){t=e;e=undefined}e=e||"";if(t!=null)return ha(e,t,n,"month");var i,r=[];for(i=0;i<12;i++)r[i]=ha(e,i,n,"month");return r}function _a(e,t,n,i){if(typeof e==="boolean"){if(h(t)){n=t;t=undefined}t=t||""}else{t=e;n=t;e=false;if(h(t)){n=t;t=undefined}t=t||""}var r=pn(),a=e?r._week.dow:0,s,o=[];if(n!=null)return ha(t,(n+a)%7,i,"day");for(s=0;s<7;s++)o[s]=ha(t,(s+a)%7,i,"day");return o}function fa(e,t){return ca(e,t,"months")}function ma(e,t){return ca(e,t,"monthsShort")}function pa(e,t,n){return _a(e,t,n,"weekdays")}function ya(e,t,n){return _a(e,t,n,"weekdaysShort")}function va(e,t,n){return _a(e,t,n,"weekdaysMin")}la.calendar=A,la.longDateFormat=V,la.invalidDate=J,la.ordinal=X,la.preparse=da,la.postformat=da,la.relativeTime=$,la.pastFuture=Q,la.set=Y,la.eras=Dr,la.erasParse=Tr,la.erasConvertYear=Er,la.erasAbbrRegex=xr,la.erasNameRegex=Ar,la.erasNarrowRegex=Or,la.months=rt,la.monthsShort=at,la.monthsParse=ot,la.monthsRegex=ct,la.monthsShortRegex=ht,la.week=kt,la.firstDayOfYear=Dt,la.firstDayOfWeek=wt,la.weekdays=Ht,la.weekdaysMin=Ft,la.weekdaysShort=jt,la.weekdaysParse=Ut,la.weekdaysRegex=Gt,la.weekdaysShortRegex=Jt,la.weekdaysMinRegex=qt,la.isPM=en,la.meridiem=rn,_n("en",{eras:[{since:"0001-01-01",until:+Infinity,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-Infinity,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,n=de(e%100/10)===1?"th":t===1?"st":t===2?"nd":t===3?"rd":"th";return e+n}}),l.lang=b("moment.lang is deprecated. Use moment.locale instead.",_n),l.langData=b("moment.langData is deprecated. Use moment.localeData instead.",pn);var ga=Math.abs;function Ma(){var e=this._data;this._milliseconds=ga(this._milliseconds);this._days=ga(this._days);this._months=ga(this._months);e.milliseconds=ga(e.milliseconds);e.seconds=ga(e.seconds);e.minutes=ga(e.minutes);e.hours=ga(e.hours);e.months=ga(e.months);e.years=ga(e.years);return this}function La(e,t,n,i){var r=Di(t,n);e._milliseconds+=i*r._milliseconds;e._days+=i*r._days;e._months+=i*r._months;return e._bubble()}function Sa(e,t){return La(this,e,t,1)}function ka(e,t){return La(this,e,t,-1)}function ba(e){if(e<0)return Math.floor(e);else return Math.ceil(e)}function wa(){var e=this._milliseconds,t=this._days,n=this._months,i=this._data,r,a,s,o,u;if(!(e>=0&&t>=0&&n>=0||e<=0&&t<=0&&n<=0)){e+=ba(Ta(n)+t)*864e5;t=0;n=0}i.milliseconds=e%1e3;r=ue(e/1e3);i.seconds=r%60;a=ue(r/60);i.minutes=a%60;s=ue(a/60);i.hours=s%24;t+=ue(s/24);u=ue(Da(t));n+=u;t-=ba(Ta(u));o=ue(n/12);n%=12;i.days=t;i.months=n;i.years=o;return this}function Da(e){return e*4800/146097}function Ta(e){return e*146097/4800}function Ea(e){if(!this.isValid())return NaN;var t,n,i=this._milliseconds;e=ne(e);if(e==="month"||e==="quarter"||e==="year"){t=this._days+i/864e5;n=this._months+Da(t);switch(e){case"month":return n;case"quarter":return n/3;case"year":return n/12}}else{t=this._days+Math.round(Ta(this._months));switch(e){case"week":return t/7+i/6048e5;case"day":return t+i/864e5;case"hour":return t*24+i/36e5;case"minute":return t*1440+i/6e4;case"second":return t*86400+i/1e3;case"millisecond":return Math.floor(t*864e5)+i;default:throw new Error("Unknown unit "+e)}}}function Ya(){if(!this.isValid())return NaN;return this._milliseconds+this._days*864e5+this._months%12*2592e6+de(this._months/12)*31536e6}function Pa(e){return function(){return this.as(e)}}var Ca=Pa("ms"),Ra=Pa("s"),Aa=Pa("m"),xa=Pa("h"),Oa=Pa("d"),Ia=Pa("w"),Wa=Pa("M"),Ha=Pa("Q"),ja=Pa("y");function Fa(){return Di(this)}function Ba(e){e=ne(e);return this.isValid()?this[e+"s"]():NaN}function Ua(e){return function(){return this.isValid()?this._data[e]:NaN}}var Na=Ua("milliseconds"),za=Ua("seconds"),Va=Ua("minutes"),Ga=Ua("hours"),Ja=Ua("days"),qa=Ua("months"),Ka=Ua("years");function Xa(){return ue(this.days()/7)}var Za=Math.round,$a={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function Qa(e,t,n,i,r){return r.relativeTime(t||1,!!n,e,i)}function es(e,t,n,i){var r=Di(e).abs(),a=Za(r.as("s")),s=Za(r.as("m")),o=Za(r.as("h")),u=Za(r.as("d")),d=Za(r.as("M")),l=Za(r.as("w")),h=Za(r.as("y")),c=a<=n.ss&&["s",a]||a0;c[4]=i;return Qa.apply(null,c)}function ts(e){if(e===undefined)return Za;if(typeof e==="function"){Za=e;return true}return false}function ns(e,t){if($a[e]===undefined)return false;if(t===undefined)return $a[e];$a[e]=t;if(e==="s")$a.ss=t-1;return true}function is(e,t){if(!this.isValid())return this.localeData().invalidDate();var n=false,i=$a,r,a;if(typeof e==="object"){t=e;e=false}if(typeof e==="boolean")n=e;if(typeof t==="object"){i=Object.assign({},$a,t);if(t.s!=null&&t.ss==null)i.ss=t.s-1}r=this.localeData();a=es(this,!n,i,r);if(n)a=r.pastFuture(+this,a);return r.postformat(a)}var rs=Math.abs;function as(e){return(e>0)-(e<0)||+e}function ss(){if(!this.isValid())return this.localeData().invalidDate();var e=rs(this._milliseconds)/1e3,t=rs(this._days),n=rs(this._months),i,r,a,s,o=this.asSeconds(),u,d,l,h;if(!o)return"P0D";i=ue(e/60);r=ue(i/60);e%=60;i%=60;a=ue(n/12);n%=12;s=e?e.toFixed(3).replace(/\.?0+$/,""):"";u=o<0?"-":"";d=as(this._months)!==as(o)?"-":"";l=as(this._days)!==as(o)?"-":"";h=as(this._milliseconds)!==as(o)?"-":"";return u+"P"+(a?d+a+"Y":"")+(n?d+n+"M":"")+(t?l+t+"D":"")+(r||i||e?"T":"")+(r?h+r+"H":"")+(i?h+i+"M":"")+(e?h+s+"S":"")}var os=ri.prototype;return os.isValid=ni,os.abs=Ma,os.add=Sa,os.subtract=ka,os.as=Ea,os.asMilliseconds=Ca,os.asSeconds=Ra,os.asMinutes=Aa,os.asHours=xa,os.asDays=Oa,os.asWeeks=Ia,os.asMonths=Wa,os.asQuarters=Ha,os.asYears=ja,os.valueOf=Ya,os._bubble=wa,os.clone=Fa,os.get=Ba,os.milliseconds=Na,os.seconds=za,os.minutes=Va,os.hours=Ga,os.days=Ja,os.weeks=Xa,os.months=qa,os.years=Ka,os.humanize=is,os.toISOString=ss,os.toString=ss,os.toJSON=ss,os.locale=rr,os.localeData=sr,os.toIsoString=b("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",ss),os.lang=ar,j("X",0,0,"unix"),j("x",0,0,"valueOf"),Ae("x",Te),Ae("X",Pe),He("X",function(e,t,n){n._d=new Date(parseFloat(e)*1e3)}),He("x",function(e,t,n){n._d=new Date(de(e))}), +//! moment.js +l.version="2.29.1",e(Jn),l.fn=sa,l.min=Zn,l.max=$n,l.now=Qn,l.utc=f,l.unix=oa,l.months=fa,l.isDate=c,l.locale=_n,l.invalid=y,l.duration=Di,l.isMoment=S,l.weekdays=pa,l.parseZone=ua,l.localeData=pn,l.isDuration=ai,l.monthsShort=ma,l.weekdaysMin=va,l.defineLocale=fn,l.updateLocale=mn,l.locales=yn,l.weekdaysShort=ya,l.normalizeUnits=ne,l.relativeTimeRounding=ts,l.relativeTimeThreshold=ns,l.calendarFormat=ji,l.prototype=sa,l.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},l}()}.call(this,ls(284)(e))},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t,n){"use strict";t.__esModule=!0;var i,r=n(92),a=(i=r)&&i.__esModule?i:{default:i};function s(e,t){for(var n=0;n ",i=1;i ";s.ENABLE_CALLBACK&&s.emitter.emit("log","error",n),s.ENABLE_ERROR&&(console.error?console.error(n):console.warn?console.warn(n):console.log(n))}},{key:"i",value:function(e){e&&!s.FORCE_GLOBAL_TAG||(e=s.GLOBAL_TAG);for(var t=[].concat(Array.prototype.slice.call(arguments)),n="["+e+"] > ",i=1;i ";s.ENABLE_CALLBACK&&s.emitter.emit("log","info",n),s.ENABLE_INFO&&(console.info?console.info(n):console.log(n))}},{key:"w",value:function(e){e&&!s.FORCE_GLOBAL_TAG||(e=s.GLOBAL_TAG);for(var t=[].concat(Array.prototype.slice.call(arguments)),n="["+e+"] > ",i=1;i ";s.ENABLE_CALLBACK&&s.emitter.emit("log","warn",n),s.ENABLE_WARN&&(console.warn?console.warn(n):console.log(n))}},{key:"d",value:function(e){e&&!s.FORCE_GLOBAL_TAG||(e=s.GLOBAL_TAG);for(var t=[].concat(Array.prototype.slice.call(arguments)),n="["+e+"] > ",i=1;i ";s.ENABLE_CALLBACK&&s.emitter.emit("log","debug",n),s.ENABLE_DEBUG&&(console.debug?console.debug(n):console.log(n))}},{key:"v",value:function(e){e&&!s.FORCE_GLOBAL_TAG||(e=s.GLOBAL_TAG);for(var t=[].concat(Array.prototype.slice.call(arguments)),n="["+e+"] > ",i=1;i ";s.ENABLE_CALLBACK&&s.emitter.emit("log","verbose",n),s.ENABLE_VERBOSE&&console.log(n)}}]),r=s;function s(){(0,i.default)(this,s)}r.GLOBAL_TAG="flv.js",r.FORCE_GLOBAL_TAG=!1,r.ENABLE_ERROR=!0,r.ENABLE_INFO=!0,r.ENABLE_WARN=!0,r.ENABLE_DEBUG=!0,r.ENABLE_VERBOSE=!0,r.ENABLE_CALLBACK=!1,r.emitter=new n.default,t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NotImplementedException=t.InvalidArgumentException=t.IllegalStateException=t.RuntimeException=void 0;var i=u(n(24)),r=u(n(25)),a=u(n(26)),s=u(n(1)),o=u(n(2));function u(e){return e&&e.__esModule?e:{default:e}}n=t.RuntimeException=((0,o.default)(d,[{key:"toString",value:function(){return this.name+": "+this.message}},{key:"name",get:function(){return"RuntimeException"}},{key:"message",get:function(){return this._message}}]),d);function d(e){(0,s.default)(this,d),this._message=e}t.IllegalStateException=((0,a.default)(l,n),(0,o.default)(l,[{key:"name",get:function(){return"IllegalStateException"}}]),l);function l(e){return(0,s.default)(this,l),(0,r.default)(this,(l.__proto__||(0,i.default)(l)).call(this,e))}t.InvalidArgumentException=((0,a.default)(h,n),(0,o.default)(h,[{key:"name",get:function(){return"InvalidArgumentException"}}]),h);function h(e){return(0,s.default)(this,h),(0,r.default)(this,(h.__proto__||(0,i.default)(h)).call(this,e))}t.NotImplementedException=((0,a.default)(c,n),(0,o.default)(c,[{key:"name",get:function(){return"NotImplementedException"}}]),c);function c(e){return(0,s.default)(this,c),(0,r.default)(this,(c.__proto__||(0,i.default)(c)).call(this,e))}},function(e,t,n){var i=n(53)("wks"),r=n(40),a=n(5).Symbol,s="function"==typeof a;(e.exports=function(e){return i[e]||(i[e]=s&&a[e]||(s?a:r)("Symbol."+e))}).store=i},function(e,t,n){var i=n(16),r=n(76),a=n(50),s=Object.defineProperty;t.f=n(11)?Object.defineProperty:function(e,t,n){if(i(e),t=a(t,!0),i(n),r)try{return s(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){e.exports=!n(19)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t,n){"use strict";t.__esModule=!0;var i=s(n(273)),r=s(n(275)),a="function"==typeof r.default&&"symbol"==typeof i.default?function(e){return typeof e}:function(e){return e&&"function"==typeof r.default&&e.constructor===r.default&&e!==r.default.prototype?"symbol":typeof e};function s(e){return e&&e.__esModule?e:{default:e}}t.default="function"==typeof r.default&&"symbol"===a(i.default)?function(e){return void 0===e?"undefined":a(e)}:function(e){return e&&"function"==typeof r.default&&e.constructor===r.default&&e!==r.default.prototype?"symbol":void 0===e?"undefined":a(e)}},function(e,t,n){"use strict";var i="object"==typeof Reflect?Reflect:null,u=i&&"function"==typeof i.apply?i.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};var r=i&&"function"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)},a=Number.isNaN||function(e){return e!=e};function s(){s.init.call(this)}e.exports=s,e.exports.once=function(o,u){return new Promise(function(e,t){function n(e){o.removeListener(u,i),t(e)}function i(){"function"==typeof o.removeListener&&o.removeListener("error",n),e([].slice.call(arguments))}var r,a,s;p(o,u,i,{once:!0}),"error"!==u&&(a=n,s={once:!0},"function"==typeof(r=o).on&&p(r,"error",a,s))})},(s.EventEmitter=s).prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var o=10;function d(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function l(e){return void 0===e._maxListeners?s.defaultMaxListeners:e._maxListeners}function h(e,t,n,i){var r,a;return d(n),void 0===(r=e._events)?(r=e._events=Object.create(null),e._eventsCount=0):(void 0!==r.newListener&&(e.emit("newListener",t,n.listener||n),r=e._events),a=r[t]),void 0===a?(a=r[t]=n,++e._eventsCount):("function"==typeof a?a=r[t]=i?[n,a]:[a,n]:i?a.unshift(n):a.push(n),0<(n=l(e))&&a.length>n&&!a.warned&&(a.warned=!0,(n=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit")).name="MaxListenersExceededWarning",n.emitter=e,n.type=t,n.count=a.length,n=n,console&&console.warn&&console.warn(n))),e}function c(e,t,n){e={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},t=function(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}.bind(e);return t.listener=n,e.wrapFn=t}function _(e,t,n){e=e._events;if(void 0===e)return[];t=e[t];return void 0===t?[]:"function"==typeof t?n?[t.listener||t]:[t]:n?function(e){for(var t=new Array(e.length),n=0;n=e.length?{value:void 0,done:!0}:(t=i(e,t),this._i+=t.length,{value:t,done:!1})})},function(e,t,n){function i(){}var r=n(16),a=n(248),s=n(54),o=n(52)("IE_PROTO"),u="prototype",d=function(){var e=n(49)("iframe"),t=s.length;for(e.style.display="none",n(79).appendChild(e),e.src="javascript:",(e=e.contentWindow.document).open(),e.write(" + + + +
+ + + \ No newline at end of file diff --git a/static/images/dept.png b/static/images/dept.png new file mode 100644 index 0000000000000000000000000000000000000000..18abebc5a3e21cc893ed6c2c81bb1efaf90f53fa GIT binary patch literal 5138 zcma)AcUV)wvJVi1gqmOg0X1|bAP}SrB#IQNN*4iX0!o!$LJ1Z+0R*JlkR~9_&>={d z9;73QRDn3xw==stGiRd>^)*?*JYWC-z@n|Cev8_7 zpFE7GsP9tqvRrCM<9$o>DxhqDZv_D0=+jn58wXggTLnKq>lk?4RK;ufvQn7|#Ky_n zJwQYIESB>$?Csk-&z{86zr&O1t0oosO>?m^w?9Tsh~0K3_ldwS>}k26p2fOB#L~x@ zQgw)#A2;}fu=Ej>Y?js-2me`B(aE9mj0_nWr=@Jg;Lz_R)#WBk%jV(wp8hQC)CGZu`H>T-u6xOFl-TV0pI~+~? zs!@6g9S&Scj$V=);YVTf+Tw3pVF4hbFh{>_{YBlms8~{=8Y64)(O&E)cI_l;0;vye1Fx>pFTkSO7VO>Ggu5%FxmG+eOm?EZ83}*b!{rD0A_0jB(_@gF zD|m6c&D+=??}O&_kc-Cx-0Ej`D6Q|R0JY!b_H$NuX;~Uc6BL7u3YV3L`RnJe@x0fgscq;3W8l{8tpV4;2n` zK)_4j!ymF?k6@1^Oo5tO?9fL*ezc!@xCEzVi2{>w36=j}%~p|+QpR+xo@jFe0dtn2G_w7&HHVTQaF#FqZwoAx8Xi^wfS zt?Wm(u^oRk{?#$}IrglhIr`rll>aYqmp1na$b?-*haFV{q2EN-+keMcPW^&CMgEHs zD`A=))JoMj7RN_sFdAc3v<9#OR+Gf9+I%Ja1xa z%KmQ+r_Q*g$oL|%{eREMn_ZRRt2a(v_dh_PFjgvAjMJ=Q&hQDg5+a>?jO9WICc-e|kFqi}4iWYy_2GYS}B z(t^Fy1vab;>e?3&;dlMF)NxCE&70ep`;2tjx zl6x?3IP#4gvqhrA-FI*Fd}Pu1Y74=QLqooi;i~7DEwcdpZV#p3FSnyiw0i?FL$A_Q z=r{X$5mu29?B|l$SmK}gg~~}2yLE=eYL!wAa+9-elRCQFmQ2qk`@jkREd@Rzqv(;R z$)d<6_RB>*sgh`eDjGE2O;g#7_x_}XcVpapVBFK{uGJOrwur5cV*7t zx4gc%go;#fS7xY#kQUGnldd-Tbhf9B*v4CW@l;wY*^1^?*1<*bPrV+J`PNfXM-(1$ zHM~C58p4Q!yXhuI6->wu;``*DXpE2irO-q3;>le;df0ZL7@IUyh|Rd_gErP7)=A)j zkd{F0lz=X_n*L|0zBWz{dwxU~1m!5a(yoQOV%R?>0!o(1jV?)oN0aZzN`Z)+6O(oy zAV1a1v~lX5j)*=ml^tjk2gQ*KZ)L-FL4 z5W2EMCP@}51i9k|5kXJUDw|bIF$N2apUj~Wc8|V?bMOikDexuFh{(wtb6r`M9BK9FYzP3RRAHy;;JJTcd8IHVcd1Y5i9q zqD|l&oxo9iU?l2KsRqghdcG@OQbJ|o{-E|DEDe6|ZO~=)u;)IgXPbP$#^o@@f^U{= zuynZot{3XpX7~VLmhz0tRSfpv&OCO75FW@qaSvogVqS0604Qf4O)i}a8`Qh@$HSTG z&L2#gxaN1A3DV4UY7XU2L3m&9bExXJdo}EN32vVu9JGh?UJX75%1bYk20udDeP+G` zLS&`3v?&`BRo1ST3-y0DWicYjak<4(%^V8y#mm8qM6(zLj}Aetc3Zis^@T}yfo`8H zUk@qtL2T2`QLi?Rn^8U04k~mioF2xHMrLwD9hh)c8+&xrFsmI0uq<)uekNf`SvU!! z(K+H0>%!G>SC4fudirDGy%Lqn<)*HUbum04~g=^PNc|(iP zN+8Q2`>Df;7c|Y$;WD(SId5EhMoJ=;rCQrr`H9McB5vZj=2RFr{|{wfPso7g`_LDn zC&9C0FzrBi(rz))tB~O&NI?tEpMcKg_1uhr32A!rX56D+A%cd)(g9?cK$SE6q;wh*6BOXZg3!H+$?;WB^4Tu`=I-&a4(p z{nUKBjJ|o$hhS69QOM{f3|?JAETHWSVbt73Q|n(&07^ZTGq3Cc4$XCl@5Q*<|Z% zOVRtL+tox*_>;Lksqw`l7;i%AsgN);gXWRES}qWrrmz8W`s0CkUr#%;9numT{?ph~u@$_WDerd8dmL}bK6=rrYfw0u9 z5$rVO$n#jJ_>J;7zSP+{?DS-Ir^Tf!`+kQ1;HUa8B8~;JwBn5Z;%l&a)xf(-HgL@Q z;Vkz#<8qNAm5ArzV~G!fF@Or124UJzP9a^~a$=f&QZWnC5iuNx3LnP#IVpx?vHM(!={h7W z4#RUwOE>)aLrPd@wVRq-6;#iDs2ts_tpSx^5W;7vOe@JG){acY1vK9}zqT$rtt4E! z{(3D#e^(zxYPgntighQ={5a?GkumU0VcaDX=`v>iZk!XFbjS?hj%q^hZGEZ&Q~10_w%^PucCHMD zg|sZ&@g~$i*0z7t+h}=n9_f)u(SC2Q}&-t}eMcKOUm19tsav64vzaTitG+HS2SiC=@GwQxfrNW{hm z_K+X4wAjVj^3;QoWs%CUl3KOLWC@6f+&o64k-Z3F{ki>*I9uHu){x%+1lV zar2$&;(OyIP}za3I>V-RMEa`7)>7!nScl~GueGrUr-IpZZAE2bn`-(#O^CuDUXLtk z`B+tIurv_o!XU&5B1(;)5*r;XcHZmcEKUqwyftTaxyJtr*?7>@`G?a~%v$3^Z^`p= zd=zFHYL19bmC2u<1;T$+Ib7bp{X5)9#pD$!npxd5R(|H7_i4qch8%X#Rc!mGj6lKB zx-640cKmh+r=VEaQYyo-bXu#+D;2R(d(3bHpbs=^G;{dGDu}D}xVu?Wv?AxR_=)7e z8wJwcAKV%%kA<0dn%o*XoJgOBud$G783^Yf=qn1E4#VDUk%L{Vm#?8ulGZc*!-0w4 zw7(zLCYSx95S!!U+`qtV!r1G6*R0MPH9g$vvT0lYC*gga=D_sQ zFTUT)8a|V9wAB1+;)wmF*JyEfj^_FW9My+AA-9{|3nJ>257i^u+Mdyy zE4f>yz9i{&m8!}AZrciGJ^b)KV6dG?r0a?7HI1Yq+;V(YN5t@keCDW?|BNE&#OE6w z%DpVmR5alh9jDNfbYSM4H>hq;R(ea#0Ximc@H0s^87WFF^?mzpU!tjjgl11mNKswY zkoR1PrVds z*q|Or?M+1}K94&>xxqswAIEh6C)rVtA*JGE{amQ9V)hKhS{VB+D_`|+LW54vTuaW&9R1gLmvX6VZ-~sE>LDPXZ$+HpK+0|~p zgWrbZ-8`NZ6RgEn~K9qK`LsVP1tr|O(%uCi6y zI0j4vFKyD!NV{9wJ`I)wUmPb1=IULUpB&@$_EmKYA$WP1kqz>XLuR?M6{KBNrobeN z-&)uIyOaZwI`j`?G2Q;6pWfn|qb(SULaqH0)s`J#P4GSVfP_J?BwtNw3y98_;I(N; zUU*5mzAZt*B~5LS*{U+1Rr~E<3afnYzuaRV@=|rIhM|*bM$z4JI$5stoq5prmZOC= z>x2FU4lwft&#UK@&v%0JK(CB}lWvb2mi3#Qdl|&_;$)3Yn6s6d+v_D7v2mC)xbNS$ zz650jWjLj;0`K>Xs@=jg6tn71jIB#}J+DYH1{QS)`6`cn)q^L z3`b+-?%~HyGXfz~pgZlxTOS;(t}+tnPluR62Q zQhFQ?2<^WKHZtJ0fW9*K=gEQ(hfIp_h?^Tf?N=w71Dw@J(h-@qTWPF8MUHfq5z;}fAkZX;Xjy%tyo#+(;L{nfjk4eK=K25R9x>eAC){C}z03j0>9iuq1wpG3Xn O1885@S1-GI7yA#}o0T~L literal 0 HcmV?d00001 diff --git a/static/images/deptItem.png b/static/images/deptItem.png new file mode 100644 index 0000000000000000000000000000000000000000..70a80bc29ef52037e0735c50ff1631933fedcc80 GIT binary patch literal 7058 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 PpaUq%s>xJHnFjq2w%|{0 literal 0 HcmV?d00001 diff --git a/static/images/home.png b/static/images/home.png new file mode 100644 index 0000000000000000000000000000000000000000..021b1cdee7348eedac08b9538f2ef21370ab699c GIT binary patch literal 4289 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 Y6tlIh<)@oW&YuKeZRvoanqRx~KWc3rxBvhE literal 0 HcmV?d00001 diff --git a/static/images/home1.png b/static/images/home1.png new file mode 100644 index 0000000000000000000000000000000000000000..538ae02a5fb5605592d6483c98a19961f77b3709 GIT binary patch literal 18631 zcmV*iKuy1iP)PyA07*naRCr$Poei*TSykWvd!O$6G55WhdBY4dDyYDK1}lCbiCIR7P;d8Rmoc?%clJ z=j@&L-)FCLSMR$|_vyZUzt63Dulx4x+qZk2{o8A;|6Y49gZ`_xKyQJSS-`C9mHHRz zEzny4Jy881=q<293-my((3t&8^%m%X>c>EDffZVy2Wo}J>|d(4Ko8V$jREghZ+m0> zaebWr@75Mr{YC99J8gl(0A~>!_mC}Otph)|2kO8k%)CGch;DoN>L;_?UWWM|st4>a zu6XmBJy5GM?+l0*h3C$vw!`*WcXfa!ex|vA^>D4~>i0mc%#tl2&4Z{7n)`2>@40Te zKM&O`*k;1jgSE2Z(0iz5O}QXQDL`GodCJ{;aNYfs`JO2StqrhNxO%Xb9SyyQTH108 zfTSVH0i=Q9`+4ZneD5Uh`_ecW-%9!o=}0qen9^g=KH{66ICV!H!?)CQ5jbMt+9h_<(;AK%)}hkWZeL8rhTxgeq)CQ3NwEGau&G9{qHo8HzG1>#^;Y)k>1+X@_Qm-{D z6x;_^@2xtK)&rF@(;Tmq6B}|MNjN8-NFciYp&A?k=;HbwNV}KkL$!XfhUkF@0J$%a z31Awo)N2u}T#l87fxWlt#84md%`{U-m_%@x2T~3qLUZGdfWR|et09_f!(89t8g6ez zuk;YG7Vi@*0gQ0n2VngY{Gou=d#l!~)O#o~&72UgExeN)iJ_hLNE#%1A`Q`a8wQtv zE#3lXfEw<3r*db%ry6YTg?GbAeSd9S-v-DcV1(=PZv8mnqSx97)}H_uZh>zL1Lu0H z9;z%{VuBYGuzq^&iW z;Ef2+4$MY`h~Urx@s|IpU6^a)B@w8q@pQ;%*YU~L;mZJgHVhsMgPXj^V*%_Mk9(<6 z7=w>^i{C9r_`MR?9!%heoA8g0;fG^*=34^RBO`dpu?QB0i&@@kZV1Tt--9(@QJU}M zPT@0_fGOvdB)q#W=12lkE-0~mTD4bd85A~>5N7cx~beLcnwcFp1@T|2*#`XE~PzMkma=DTY?=Ig9 zn*(W7!qOX!D%ffOBM=duwFnUJR}+{G0M6D>RVCJKfiJeex4__Y0cKnszdRg(kHO$K ztic`5;ZH^rc!IT6!08+-1#6bK>O;W!_CG&B9i~@WgP~%#UBQ;aIr2*api=WsXO5KcskG`H#ni}@hQGtNFx2M`{*cqPe`b_h_+kqDCZNDW8@OhHdIff*940><&a zc%=dZ0DsMRya2%8F$l86fv%AUyz%&mH+W-J;g_+7dpCFBcA_%K{Az0mCsKRY+^Y9h zdB_fQvAT16OwU}xEAgE&Uy^ktQScra!A|8$YcRtJECmOub~{z=k#Zo#T*z1l8z8db zcWa<5%%Ftv6KtAwJj*-$V+!%hdZji?dtev9TaCx7$^q^glqjddz!}~uR9dKYE2*;R zq1tclvkTM`FtrH}X|9xdB?<3#8PW}4#3Q931@9CgB3!P7u>)8DpKLt7&H!Hr;4z0b z{nWYDd%eNysuFL*1dnh{OTxgcx7vZK$Rc0k#IMsB^qbr$#v2Rt9Z zr>{E1>o63?9{6qJaeFzyyKx0$?X5&&*Xvf-ZNQ1A%7uXZn+yZb^P1J!0IH+#zzeR6 zT4#lLk4#`?U1@j$mZd_Q!#Y>eUP*^{1c+jT9l}l=EIm;QQt4rBfhSv!7sBJqyupQI zfJu0B9{31=H&iA5OX=~Dc&p6;oGb{7x9SCp`P0L$yUK``XyAzbbTRjRF z)~)6U7Jb>$-ZeViKrI2&BEo~LD>1Ya1+UnEO}&zhp&o%6&_fMs&lG^FJ(BeXw^)aN zXn?Qwz+;cmE42~I`t|oZ;EuxMH+L#rNxc>2^)v+Ji!CZxoaG|h(+O0^5HDBMnyxKT zc;JrNCd5;6cn}^2LDsgS;4!R|TuFN+@kT*#*rvRkmG*%Z z)~tYs;qf0!hhNxmxNlU#mjzr?Wif{D1&gz!@-5+&av`3s!()i2ONaIe57)vJS73`Z zSW4l9N_!=Sc@0n=)(nD2qKbFP0?%~7Hvo9j3G_;BBZKwtzvVq%H?Hsp#TdJ7f<;mx2;l;KR6rYO{dbkwV)j zSd7=;(!Ew~TSCrqg~iDSYQOs{#D4-3fLnSV)CM+nQBQu$Xr^%xM=aPBu^-VCo_~FkfQ% zP^<6|D;{*|5Is}Kl@w6HBMs`uFhRl4j$X-n42uDt z;Z4@z0TC>?W+m0@=UuQknLu>_DP5%PB0O+6ZEkHzS3GnQ9_kz^cqnUe(R(}-z7`%% zvWm9?#63J7^#<>-4!64z{;)EbEFxH(^);)L2hP6LD>+ zRd|SANv|sfa7x^43p_W3c)-Oo6ynWfFK!9B+grS{8sj&)-9EQwrMHBzY-yP_EB?-D zI&|~o0CkYHr3H&xbHW3wz$L`X3J=jMRRydWW1|@0X&!i<;kI;OZ3VOcX?%%~!{g1) z;uqWw{tO<~d0(?S89*I^SCX}*+*S*Qc&vEP5X}`H2ol$rJg#-X-!}%|V1QdrBLypd z&y@$>3E)-L81E_#CT)TR*Q|H|=UFbYJ$|584AVa0VFzY#&Hk+xA;eoicql9e-r-hb z@f-vE-MF^2;<0%;U#?lRa(II;@N45S{_4CI*&ZKIhp@IZtElxL!UNZqyvMU(@lEFJ z3lGau&3#sndf@HGPdw>kx}ad8G%YEK<};U_u>U zEN*RzT2;k^tFS&8;OWleMTX~x_u<{Dd1ja3U*U;M#^XZ_0ncKQ?co8ngjZ?{@n#+4 z)v2g;P{V|AT_N6VwJ2awg2zkVTzEX&17E`A_yX2LU!!8gLQW!i~3 zFy%-_^l|?Y4?GIse_D&zIfwUEJF&=i#RtP2^>&ce0@VSg>~@P-i>EsP5++?fH0!{W zbZx2G{FfB9hR16q?{VA!7oE<~Q}btI+0sKEcr$=I zjK@8)X4Q5!U|Z$-NjP(TH9##0Q>T0>IejQSsde7kQnQ;@ga_b8Q{dSEzBU%Maz9i5 zb#g4g_S^3<9+ye|8eWNm2( z6wcxa2KZ*Sh+$*&lQV|;capKd$H3#EE4*1wvdwL^&n*PEbzYna)rkUXg)p_{OX;!4 zxeD>A15?!6lJViRp=SViE(|`S7amRx!0dPbR%dX>aDw+$1tx4}AR(X}xOozxI+%x2 zK;8E8y*jsC&Xf!D#51KZrINTleQ4@TyfkNur?kfMp_@Y&K&~wrTz_hYQvXI}&5DiU z-p?Z2a)STC5RkQitAgsVB=zNiYJrK?AW&_G@?W?Dn>%DOh!5&0udv-h9Wbd6OG#Bc zePGJKV9gtRj`8@$er@S=(-~Xua8DwSG5b$dfj=*I@~7C2HsLmQ+WT1LjxIY4sFnk2 zPN+Al!^OvMgx!4zhO&4#>miB{>1nNUhWJ#zG(*KBWX|GZQQ@nB0MjjfQS0djO1=9r zfZu1YU{rWl=;^K2t3<45gKC!gHwD!S@~Hy@m4JFf~eE zJb_5omoP%noFN{)lZ1Ps;_*y8JHX$7$BRAi)Kh;_>zU(V#UIGyG7Nsz8NA9md?bZx z^2l^IdszV1l6u+{Zk3_mN`Pt;A@niGsQ|&8X-XE4FcFxk1Nmh~ZF<0D5sv*@Hy+P` z!Ak%&Yqj_gD#fQI@eO0}l^*yu0PIN9f1M)>M8V>>0sMGX z;JpGBkA>#;`V^||t@>O*@lz~`*LDyX!h*!V=%aMj>b{{QMCm;oHzJgZ}8&vU3{Dk3?>C!x=!_& z2jCVC{SF%Oa01IBSFSTjDG}AYG|Y<&uyuC}B|dQPl3^)Py=UoV2KbzQ zgq?E>c#L3i$7qZn=RuoXr;_Fc> zut}Lg_|XC$xYu}me>uY2Wbt=$1uiS6UxvSM z3w&GXchFp_d&n0(R8A&u3-y}3X&08>Nkj;i6H%oTXs zFM$ctc>mQ~Kq@Q#AAs*=bp>nxwzlhL+o?!#t*c26!Rtm z61u3b?+Fp%%!jDvg`6pcDdtYT!VPwSpY$G2=@)H#k`fE>Na$DXPVle8o~lRTB%hiW z`lSLzJ4??q!c~vkqDIt5DWpQJk#FBz%PTr5A>%I^)R(q;9Va0 z?rH~r-h_TbxQpwx@~0~)sQR_7O&uicTMDQ)?<944TGi9*O(9o`s@{%4u|ZIVu)Fp4 z^FpNY*eWJG7Db5qzQ;fF24B%H-u6JXSl}Ued><>-LwQmR{Zc7Cr~0)n_Acn9<^we& z+>_i%d#8;NtQ^=MR6Qk;Z`1P-DvA%I`aXdYA%aD&;l4>gDqwwu>#lmHSH`o&`w`V! zAa4PWS9*h=+MS@xg?6W|rv-|6UTWE}ud{~|pmex*)BUhKt%wIw>cc20lWXrp zKv#C?>p3z+!_lDtrYy1=a_voVotBJszvGfCoNgJicSM!uz+_ z04^g?w0Wsjh!aZ#m4B4lJR2s2 zi2YY@fwqwEG7!#Ld{;FBYyLu4#jxP3ywqqTNb6oIDDJ8 z&pV~z-7LUV*vCD=f3qJ)y#?l3z&pIS8se?hF5EmXm99%2E>Ov0?!Is@o~JkEonrCp zyxhr^7>EGD+ceY@uN8XQdTdySSHR$@^NiX5yte=hUg|yGNTtuvL(x-RK*hygt@w$T z(h|B3`&RFvT7c5wo)#md#7Nei2$fd$hLaj1?UA@SFswTb)Z;vFJcfVtP}brxS5K_C z?dmq@C-uXnx4>Kr82ofO!E4~KgUuQ!Dt?5EKyh74_DyMVVijTE?2vB`P;KGfBet&9 zlXa(5+2i-YL&XK$c+^+zu_TYG_VOp=Lq$15z9-H#X8(lV0vgeTdJolUK%Mg^v8HcO;`ZJ32$T{hx`utv{Owxx zTRBka`qQlZNz^@DK_M08I^1*2q1I8XjrYK!NAf^181998;++bE!ub$7-e3)0+5>gY zN$L3U4e%=O@pJT01n3}P-|B$sm_JFW5v$5sx0kLx<-)z-orblS8pJ%xnRF!))A8YqT*Y1nt2tHlXjg+4cr>R5u*9`bbnDwjVo#M9~? zg$Gtf7Xin5%2`n!G8B5k-LkLp@66^iYydrD`B0b7NsE z=1>Md+yk}1pgPA-^}wr*$7|`K2-K#p*P{d`?v=u|s8acS6~aVk5A}{`)FnRxRJ#7u zC4U-dL1GxniDX@>zKtG93lfAXhI~KN19grmS>U4+C^p9i>KsbKzFG2lx*oM`#Y88d zMB$qyNJyx+vl+Kz?CfpDpj@t{a;kcI?I{iUC`JU&RModU{Ru!1)B=O*JU`Vtyv7%J zt(#!PTE1e4a#kLdu1CoN?=ni?Qb5UqZcdOOSgelV7WZm`K`wu4awm!sQQZq6V638$ z`n?9K0+)=(4*~e}^E^=c&)&@f1gaR~b$)`;q(X@e_U=H%stJO%xdX>MiXN-W0`DS9 z-+_VB)#c))c&pc+bPmP*DTa3erndY^6h1=b&;!+NDD}?@7Vx+o!0SZiV;)5>CB?E@ znAp8spENs5m{=K5ZEH~UP^rR40I2TC-luYa0XGk}2@*Cce2rXA`Mg9i7@(lK7ehTc z*zyt#{(0}AdSE(PAOhtqMn#1(CrqRZye9%E*`4biM8U1@vlevM*6aE`dL-shRQCiX zEuE+NQw;xlpgN7D{z<_C2Ddxl^%Nx-;t?um;RYp2F7irUA8)%TeTV9y?s+`y&G*$c ze5quf14_gQDtrP{DoD^P(L3o%^i-5Ezz_Bwst2Z%1q^OC74Dcg?ARg7RO!>(IqVIn z=5jx`UrMSZdJnb4h&t!LLZATLL6xrnTN`i9q~|>jR~x-GM}}mD?4-v5rNXOxh^>hhg{lljzkYs zm(kNdXP*UHfr@z)MTv{CNVaWpm(>!7mP6%$npGtcwzel#<^-xKiscc^Y8^^|%B?~5 z9;zp1Q40_#Z}9Ian^Q7psMor#}Uwb#%!`LDqGLDDp7(SDhE`0sHFh4skXhRWk+ea zr`Mi(pn4cqVF3@k)*IZBdZ-{wcvL*AuPHx@hhH8WP`WU7nL556s8tM^{xxP;}0a2;G+OO1_O5J+wl%N1{iq* zYk+G!aE-mB=xXA#Y>J6S?JZ=SW<1spnBmdJqP(4sG=m-kWJoqzsyxSPO&wD&<40dN$ z2KfEqo;M*t+42UrSm5d2<7wXDdUFm!!+Ai-xe{G+sHu>T7hz7=myf%btd!_OzU3!l z4|r3DbiW6O_W-!xo4TdSyf2$T;`al#=71+!gD(K^c>u0C%Q;sMRPUkKt^AL@!LOJ) zyyNcDxnCJ@!tZFn^mB~GhIjZv0MCZOb!Qc-9;kB+RLGSK-VcXgGX@`-OHuL!hIUQ7 zn0TffSk7Z;EIyx58Q_*h|K4eMeh<|71#0Yp-!UF<0q}_sqPGhU%~5Jq?lgFwuJ5r2>U;wA`_ADF#^Mo^0V(IHv}e-ZDCA8MGI@@`m4dY|47B*ntJ3@n z*r}-NfIaEY>w!9NKzV%70Y7hnzZ7t)s#~}xgE<9A0GkC?E)3*j-r$Rj!E@ko@ub7j z<^A>og<(Cywe!G!MjjG)QAu{xY|anfTW?(j}ff&`*|Ut1DYM=Of#1EVsD<<52$Db*JXI7X77h7w@Mw@0fy#S)Dh$38bz$wP{px`_A3*KE;Eizj zE$y9nUj&I+xs+D;a^anT6%V)}pgborcq@9STwWD^9v6eD{&|me0RJeICz;b*son#1 z4uJ9q+b@2ag|FH>2}B|Mi;KEB8NI27i1K)VB!+w%niL>@Psln!WiW6af6D;R1+aEn zT~rU$IRFYC|HoPUWC2u?I|)Pt$XfWa1Wd8FxNBMA$MSP-Ayi+5fpIE-%6TJsOoOK% ztCO(W3pJjK3&a*T$6j35_CW3Ri0azKu&*{hno+~nl)vO0{wuwZcW}HVNY23%BDv*B z+=Q#`Z4o5y&n+q#f~MgTU^F<5cglDwdaqPcw+0uT$BPW`*{8L5w)aqH+(UWb!K;-B zuQ48fz%3a9Qeoh#=$-gjMej5ZC=27O8YDtjF`SEF@qU2B)*+t2)CDT>Qr=+QdORDz zSM@;k9_ncP&EkLMJ{bI4@9`%Bk+0zBiP%h;p&h*xLq73NxrUd>hyVZ}07*naR6ME? zBO+81_7N_^M9)OH!iiBcpyJO`C6JyfKviJ~gJ&9pZ|H&Qfm(d1AI)#v1CN(ES8o~= zsP=g%<*jmWOMoIsgeWL?7N(j6kSrhPk=CJKaTFq?t*UseG`AAC8ldXD>gfjf_8zDn zsH4GS(ZAyHVE{i+u|=hUa}KT;hFj)N!Bd5huOm=|h+$vc=5Fbow3pIQX-}2rSo`1- zFXizW2BBl*sXR%k&!NtK4t2M6_&$0k0wi9Fx7OBR1)vQf|dV6%6aDI?NN0 z=%EORgnlVhsn?QROG3YJO7C9S_e5jyBWD$;Mb72x&y-lydmO>@J#e@2_#VP!3RL2u zstG(jmIxK}RP<7OOU$b#@x4hM5LG>Troo^VBM6l(V&3H9(bWZPS)vGl#PCnTKHUhs zO$j7aJb%IfFYSR!Lcac7z9XQe%bzg#peym+4NMUtSHTt0Lxp@wc_$4N{{*2DpqzoB zm(pQgRQsCV#Nw$!a{n zS3CXvXz!umPh|IvgPa_DCVK38d=S7(2o&KVOeVrb*_^o(Jypn|Vjk57R9MVq{=^V( z0Lu_Cc%T9nWoU92ZkbcD8F;v56NU(wz@!C=M(K-k`dI|3Zx(R2x^MiE2fl;ru!Lzi zKsAoxo-gaLk1!1kTseTp7;NXbuUdjIxe{hzVM+=TiI-%jsDsCZH7nFtea36d=Emh@0FLcRdg2$pb# zaBl!Bp`YYSao26*m83Cv&P!?Uq$(<&1ao#mzHRvEkQrv>xEJtU>W{R!4$y~ zkje_)4l^EV0y8M;8b0e_OUa=kR0L@V(1q#wxlqjI~c|=B>bEJ^0uuDymz?H8~mUFo^bRM z-NFB&2R;Dc#nz!DG)>r-z%;aQgose_uNKNnRSG7;HKBJJ!Zx0Y$E+x?D$bP2dO=A)3%j zDeuI0%rK8o4U5`K6&0+8O6)ZW9EK)!&1BY0S|U&=aUxyxjaxcyJ^O1QU8ZxjEm3aA+8{~%1*qjUPc z4DRwiY%QSL zdJ-YXtwaM&LvZD(WU<#6oNAyv@cmVVw{-&Q3f%4hZZw3uZUgSh1-J`W;Ex5UM<%fA z7iR+%#zldF_E7p_dxJr^$YnhUavmz?R4*|I=f<7BFOR#N#kYj~X%fBETAfePD-kHd z#J)vqbx7F2G+u*W8^^s*(K`(%Fp~<_uGLV{es%!Md}?T>y^}yi+ooY(2*uU%gxvQA zPcp#EPH7IsY3Mskhj*qx6+@KOF5FbecLffYP(3n&Pl1v;K3C$*BRiePvuz$9(P^sLij?- zop_-c?lF!hL~b0)jsi^dN`y#zr{JLo)n)+A@_w;a=T8#$rJl%D7z}EGsPR%dS8bcP z;x><4Pccv*gU3I0CEka%P?^%?Py&?qs4hwl6@eOU!foupYY%m3K;8LNnEP*nNrAd< z0|pPFNP#NWVXFxS4EY48FdJ4F6cz+%Fc{X~2M?uy(ubK>HpMUa9hq5f^|ghli)sg2j*jvc7cCd|eT?Ao{v zIhaFT=IusQn}8zZP!kM-Ffm5qiansHLJ_V;1#}qXF0=|uc*NBYcoX*OoVI;BcRGU? zFx(TMcp)W+s>W~xiC&5@?XJV~R>!u4iQf~f-Ss-ulRSz!6BR!x@zPtJR zd)|pqty?&ODFuojmQe9ufT^mXlF+Y-1Sn3d?L`A&LW<%gq`Z>gM}kK7J#tcqpoTk607~4OCQ{);Ca8WepM`qMR#0 zG3=9^NhOlAXi4g%Ot_lOLLFqgyRs4#WtF{Oex1LI%Jl=kF5_q|*@GyZ2Fzwbbh5Ts@ z2Zst`p26i=2i7XRkzL7i`t(7NOVHmvg~J&BbgI9xaZ zK(Silp2x%HfZE=I#g#gTk{DgQ4lne8(z%*BC4bU0XQ-4&W=;wJq&gbFrx}m$g*jE{ zZ{O)kJYVNeoG~dzY(}Mz`P0TItk#G8X*k&r)MQwDDCVp5QU%wd2$ZTe2@{p7N@)`& zW-U>iLZG+|{tjQ^HV6qldCLpqe}a_wXfn=1|*P`!^RJnupTm zM-2I{e+Y()yY4|01d10rr#KNPtOwzufy%mC;Y&q{wgOpMBLP5d@hbr^pNf4bPQ0UP zfa0tfX3JOx!z6iqw-zLLkp-rm&1s-EcVGfgBbbdr?WIBvRlzds(~4>kC+NKrMRk?{ zl!Vx)%R_nm<<*Gg$DPBwO@Wf3bx>4ecunbCwr$YP0jNjea4o8f>u>~$Wk*}v@HwEm zo*K(h*shjw|0oxiB*d;-Pbni?osY^1l*rAOgsMJ=1lI#dKOyB3ubC*o@U zV_@+@czo`ON2z{;cf#X&B1q_2GsN|qsKh%_&P`#G&)7f}y%g=tu#fOCk79^@PyvWG zkF|U+KMkTpY+&~W0RI`_PBK)ItLil zeEVz8)E4gC0VAQ`k;juA@L~hpatfe&zpe1Rv6?k?Trc4sFEm3v0+oh*^iKSoi~^>@ zzV)cAj_P7$3Ab|s5GOM6QZuFVy7cHY07aSn?Qr-h&lOR^CX<;9b=sJ59i)cpEYcQZNp+b<5N2MF#TGpfLen+u;gg5w=ZZq4%I^g>RuMiB$uog^5%;zqk(b;DacJO6ki96I#-36sK6%*9?lP*=<^H zOpFKLw;j^R&@Xo3y8weP1@J{4c&s^D4a45=Ciuo&Z5gYdx&FkpkIjC0nFedU=9L)aHp0c0EOphn+ODlHICCd` z212gSk$@Fuc84|QSjOXVFt`YhYhbVy;o9f9l#IiLxcXcEZ^$YRJ2~27y z!*z)E&7Cpf4Q?^O^TPnFjUeJxxLu~yKO>K6`!W;UhQk#YT)DbU=Y9Ym@(zDxVn`Q` zUW;eL>ung^0nJcPZ;eUUpJd-z*Ze7J1^%<{f?s4&cfM^hi@R;Y1U(eD!^;9MFZ#T& zues22>{TrA6!7L9BRsDmv(OT{R=7~s#1@#$xvrsz7E~7X6+qw@+jg>vG+TBO3c?XP z53-%7E#Q2uG!dY1pBGJUZI5j~OWvZujw|sOBAf54EmML7%VDA?+BXIXm4tmFObAfH zW;52Jn#n8*LCsbfHWo+@z_bSI-r%M>Z3wmttwW<7n>M0d}*lG7|!u5!^W=h)TrQ{V)!iQbm)C%Q{i5OjSJ_q@+WTFXf2AZ4KY_TUkE5Zd2YqT zy?eWNo4rxVIteeVR{L}aG8K*_#|Ue2LZ8i@dMG*lw1J7kK7L79m>URk(b@Y}no7%k z%j3T2l?YQj=%4ooMaYLjDGNgpnK{!?B&{+}OJTIaN1((zrLuVrs4mjERGr5#Pr|@X z$25yQ<1qvfb+v&lW6UXlI2L2iVA?SJUhH@;c5d3FvOiX0-zlJYo+0rTkEFa)@TP4G z=M49@ruRTy-i4QQBN2&JSx*>S(bkr7wCZ&X#2iNhI{s zGiY1ah>$z6vtJS7vL>GjlVZ%T=FO=3g7ZEv?kuQy0h`lci|HMqve4KTif{mkWX|V| zCh%NrlyI+2HYZd%kHR*JLT%~{!cVO7UyJsZ-Md`)4Y_OV$icQZyq_L`DK^%(x|@7g zn~FUJqHvp;uwn=udJl)@32Nffp&mm%se=q>9L7_mw09EkFUN+_#&Tqs6vS$|yi@*k zR6sG0((6%eVV_h@FeJf7eGz%FWt&0jrF0IJwq;3MTc%z3q$ybn*Hmbi0H*ud&hk)U z_EZhi=$%5VCN*m|UaCcTViGOev9-dN=1)1LkKvwpDTaJn>7xy~9X?h1(p+_sC?G%- zMW0y{Ruch8$gGSl-l?i;n8emyCaf@7#Rdz~xkPWnklZQfokEQyJ=rFzDRocP?}=Ql zcj@x2@7t++*g(ZU8V+nBP}^H!pN`dKNIP770xzH~c=clviR1Os{ICCcn z`}9Sp`o!-iaof9|S>=9^a<@>)fgx$Qw@ytme(h37jujIOt98XhDok*fbO^82PU%oH z$$e9C8H0*yl+;5mm9`RX3-=oPs@ycSr`VE@r(xf$kWZR;OWq{56_7$3AUSA7<*Zuu zlU>l-J8i_eJ*h4a`BQSrQL9|OfOlF6P&(|B{ZW^rIML>%+D__`utjE44VH$Ao%`sq zI0(c$F=>|kDHoo^8L?IIl~9BiT!$yQ*^@nSdGR$sA-?yh*s6vKRJfq=3_hul(6gsV zxtu-A0#5QLUUa@!4U>jS!am8PMEprhkb;65fs(LKpL?#ARN9h16E77Sx3RHXyiJ9l zuC|n%NrRON5{-Rboj--9-t0`m`%2-Ho?5(Z0P?8T)_B4is&yV3I)R(#od}aum(x3~ zGTb{5Q2ga|e^gGK*eCB&^^1FWcv4T}ttKegnnk|X4aD|cY~~8Q*tTBO6@a>ged47E zpM2>sMJ~8JCZV1r%mR}%pAHL(30&G6g*{LL7!M2K%6(EHA^8(wqL&hwc=6>uGCvhB zMGqzGQMrnV29|i*RIqnEzaw}hhSxkPDK@$eLQw3>tD0c%0mTLaQS{L{D&L#fk@nI6 zr6FG$?gfR<))N!^3ezjG$8g%zo3@f}kDJzA4h9C_4m^%?D1(tXr>By(O)Ko~K`pxqF zrSX24QKJGV7g~pZxx`ryfY7C#Ej!sHO$I=mO{cmN5}X){a1dzqi320u1ErJY5bllP z*S2b)G)yT}gee#HNm$K1N)Bz|trmYcIW-YLJt^%qVT)~YWU>;tBnlAElneWGn3oIn ziNt8%7GOk4zVG+q~1v zaPP1}zCdj3#v$ubd@LM(c`wY(7i)1sd#UXS?6896PTmnk3boxp!n?ROQj~;=tyxm2 zm_M=8L=+{Yk1V}YRc~r+nm6+?>5}eTT!@?lQ!|rh)=JWg&Y4tzk_(>Bpy_O>LCS?A z67Fg5l!J-yQ@qr88)j>*md|zNxoqVSn`YPel7(FHPE8m+sUf5N_*iH`%G+qqS?a0w zP}*ZjI4$-hIBd`zZZkHu4EbWXCs47uLI?o~(oli4j%pY~y?BgumFA|o+$j|!;#dyV z5zBg~ZXPO3OZ$ZhKFrf(CG6|sr3e%c7YQ?IJX4OdWx-yt(MyFUVhXA#1=sOC;ZpH_ zSaeLlk_*qp7HRa%0TE`%8Hu!j)ppT2D2id2JwsT+`=MWMeSC7WnjbE>>aG!vU7o;k z^EOQjQ8+ z#5)~1P&(|(c`2>YN0NPYJe+w&iUIqX`xzbLLKJVrmw6Ibkuhwsp=FI+eswk1)w@XFXBLR+z@~UxB-L zOMMUvZJArhZS_tIhIm*a#rR1E)u5*YI-=^-0p z`WX5(4VxoaG7uWMJcfUA;W;Se+6z?jTnR~XK=ER0kn{|iUie{LE6K+9aU)?G-?O@0 z!aePsc=6NOpI{Lx3H?%WLME%!OHD-lNxB`1T^aVd3WlCbCMs=D@lHC7o@K)@u;`f- zP#U5Xs1Qa|IVCWR03t*Z?n$Rd=1hbtg();zh(`%%)l}P6uRDpdm&=_F;+?t!l?nTD zUW$)NheLWPEu+th`88A${sk`;!#{RBkCJb==nPXNVGc2VwYQ=l-fHwr66y&!;;jbJ zTj>GIi_8#3W>h_U%6+-;RtXfT#49a6132q@Qm&5gIeUuwL@^@uPC1z5y=thWHs-NUjVZm2HCFgXHV*|0!_bB#{l^(JIsMz&f!o6_ODN4k_ zK*)IU8!uJC42J;285s=n`BH&G27z33UhqlC;A@e9;fJVF0VLVZkCV&8xiax>nM=zy863BFj$DUd9U<#8|%$syYgkHpL^G;!G zzbx8(37Epz=?qk`X07&Vs3@WHd+nw8eX9C#07x>;*k7R1r=aSN66}9On56CHpa{nh zQzi~ziO1rF4&EtVbVB7QrONXcmg+|0^8xg}@W*e6#vQEQG` zZka`yFl+Bb&!j=p?=uHg&ZgS?OX#PYv!#<%YRllI5<51cL=36t*^fU@mA>GaVh9-S z3rJC{AS?os+~ztwa)K(>;3uNvY)IB1nGPpz=}Z8Lj}NCFdMyD@N_}LszZ;uZR1ytJ`-SAr5Qrna{Deaj~RKYVv8@AamfD~;Q23S$sEj-Ri zO6(XR;zSf|x=~L`8l*|IFFjKb9>#T3ItiU=&yX|4146ZD%E83gfyb%jl8g&(c{| zWM5u%{!C(hKF)svksZM6i!T?v2}v>+U#m~KP*208K}z4FRQJ=KyAQ!|ADZN-I`j(* z>6uB2aEUELleP&A!J_?w@Ke_JwH*bpaQSJ&Ira+!OW9ChB51T5zo%CZfJU!Wvh)2A zUM3}N%g`n@c6XGfbhIZslu&>eZcc}JglRn<{x6E2hUu`p)5?M33o`WMZ7!c`gQ__i zYXrk^rQC&~tj=DtYwUQ=zOsY51A1KO4M1@)2wYVh2m)BRSn)C5UsLNQ0l3Upm{}=O z$c!4jkUU0^0$4204wN&BruUvs6EUDojeT zQ-^pcc9hReQewvd6z!*M$j5?R=h#o%uz@K87AB&^js%9@D8MwV`wJ5s4br%*ZA%Xy zPTA${1b(Z4qW~eHv%n-16c7JDDwvi7YL1uc3RRO+Nf}KATMl6u0*beiZhbkhWI%9$ z5F&O)5BDeW4Dk543`!1+I5W=78+ozEV}Q3Z80eX>3-E&TFG+48s()pB3QaR7hNh$?PCMKDr#B)V2QiD{&tgY3zxd|!Q zE80))iwy&0aUzn2+}e(l3VvAZ0j2v5@3LRkI(*}mVu(jiKTKevJ^8nS2yq$y!Y%Nr z2*ICAi4pHNLPQ{9x!g(Yv6v_!zoo>9@Eh>-;Q#;#X-PyuREA=WAMdC66d&U`etI)v zPN|x#!BGCy-ijfhZi7j%c;RJ05Gr~t4Oh7EoPE_QK7U6Z*8^caHWuC8ogN;9g^%Pe zd;p5j4B@9hik;gzlXA6Q;`^zs?K5Ul9h&fOa1f+}mH`zA>i2f!V{K5SIcm=HuQRN! zclOS;qeKDxn|iX6_tj><08wH?eouhJuC(81#Qpc}cBDrlNZOY4N+HCHmH8BO=jlCUI=^Jm$9VW@Us zf>6N-fHsPglo(;*aKeDn3URf76nhW_!X8jD&#% ziv!{U*J8L>xm9;W=VJs4o8fT%1|E5ggF=pu)wO2=ogTcr$nt#y45DHN z+p!H0B%T#a)kzP4w2Hh7OziKPgNk`6AD;(Rx<*BNwoOpgE)3TJvo?%?g~=(Y-AnDK zZ5QB*laBzUZ5VPR+B4cUOh&Quz3wl(52UU7%y(V$c#>c`I8X~f#ixo;!TV_lxX)W{ z!!%*w4h*gZbQeFFZTVUOs$Cc!w$}j0A8dl#In8DaS!T`r>Cbr4cR0JM3(x0hh&YRO z82~ygq53q-Gqu5_-=79+u269=thQrrf)ek)&xSNy-326oob&W;HkEKWfWt2}DdlX) z$%v0rxua(vs59PqtXc{ZI|fYUOE<$y{<%=jv?9+Wc33{-lUJA#`iZCFZL0pIQ1N@6 zTQy-Ik08EOpPVX(JeE5!7h@+1dM;cD+Z}?p3V`kMY*>H;gx?c10WTc@VP+O^)DL-a zAC2F0_M{gQfWmuKUD|UqDcgThe9&PDf3FRu97tSvl(!`Ilkaohs!jc)Ep<3OiJo8E zP`rO*!)Qx^EN8zq+sVYkTiP(#F9M@)b2h{$0Om;gd<}Xe+EH?)bW-AL5+=zz#g<|} z9p>@5s}v#9@pN#Y_=-zF#a|P#g7@`c;P(;+axmO@BcKNbe=czGzId*1(Ia4C@bZ52 zTImPx@;#yA^TO=OuIyLhZET1ZT6ZP`fFS8zw`qvS*K3RO^dQ zN3%Im9Yx014t;yo1f^|ATQbBJ$hz1}KWCo(F4L|ZY#6U)sB@GWM_o$9pKGtg?{hFs zfy5`RAZI!ppq7A&zmf|9`MBg(8Z6$|=PCrCwqdT_bA3v?M(`*KdwgN{C ziBVqxp7eNW7m5@s1Ow zz-UU?fxchRQwdbF1_Xa5RRJ>F3S7L^$7@A{htDJp%H;Ft!P50J>b9Kvth{hka`Z$3 zQQIKMtudvci5>*JpN1&<{c5;UZ#7G-;A@E2U&?;5$L}(>SNEeHF17oWD zg@Q)_;;o$hAUkZ+tru;BfWMo@`SUUs8CrR`(_5`cJ{vmYN%t4C%{ zNHg;#zStpzdHUL{9;gMO;?w8l1$<6g9LmRJe~=82@K`*1K?Vmyob*e)S{qd9nRxo* z>j5C)NO&ynUur8MT4WH+gI#{!#ar>YqNwtIIyv#Nbc?;bzD!d3{T$SGIe@y@kIz}u zhDYg{#72h$l)U-^-fA9LGB7k;dVpxa-XKoTg|hdOir_GH_vVw7XAK~wOt!Te7sG;q2=EG&OkLd7nF zVAgZeEfu*UR$YI$$Ux`{Qu_WD0ZUIzvjEe7V->c`ZADqcc6t)x{mvjAp;yv2JKT^j z9RV4r!eB~73;DHFE>0IW(?QY(SsN(g;q=evReQ^G)8f^63$tyZU3OMokp6jK@#R)& zyTi6y7l>v~LPr$d1$&b3^3i90CAkiOELd6Bg=ggG}_9^qANq=c6PqgTp zThepo{>-Vc8Q=H`@J1&mAbx;dV{r>6mP%HiT{fqS$Sgi$mpjKPyA07*naRCr$Poei*TSykWvd!O$6G55WhdBY4dDyYDK1}lCbiCIR7P;d8Rmoc?%clJ z=j@&L-)FCLSMR$|_vyZUzt63Dulx4x+qZk2{o8A;|6Y49gZ`_xKyQJSS-`C9mHHRz zEzny4Jy881=q<293-my((3t&8^%m%X>c>EDffZVy2Wo}J>|d(4Ko8V$jREghZ+m0> zaebWr@75Mr{YC99J8gl(0A~>!_mC}Otph)|2kO8k%)CGch;DoN>L;_?UWWM|st4>a zu6XmBJy5GM?+l0*h3C$vw!`*WcXfa!ex|vA^>D4~>i0mc%#tl2&4Z{7n)`2>@40Te zKM&O`*k;1jgSE2Z(0iz5O}QXQDL`GodCJ{;aNYfs`JO2StqrhNxO%Xb9SyyQTH108 zfTSVH0i=Q9`+4ZneD5Uh`_ecW-%9!o=}0qen9^g=KH{66ICV!H!?)CQ5jbMt+9h_<(;AK%)}hkWZeL8rhTxgeq)CQ3NwEGau&G9{qHo8HzG1>#^;Y)k>1+X@_Qm-{D z6x;_^@2xtK)&rF@(;Tmq6B}|MNjN8-NFciYp&A?k=;HbwNV}KkL$!XfhUkF@0J$%a z31Awo)N2u}T#l87fxWlt#84md%`{U-m_%@x2T~3qLUZGdfWR|et09_f!(89t8g6ez zuk;YG7Vi@*0gQ0n2VngY{Gou=d#l!~)O#o~&72UgExeN)iJ_hLNE#%1A`Q`a8wQtv zE#3lXfEw<3r*db%ry6YTg?GbAeSd9S-v-DcV1(=PZv8mnqSx97)}H_uZh>zL1Lu0H z9;z%{VuBYGuzq^&iW z;Ef2+4$MY`h~Urx@s|IpU6^a)B@w8q@pQ;%*YU~L;mZJgHVhsMgPXj^V*%_Mk9(<6 z7=w>^i{C9r_`MR?9!%heoA8g0;fG^*=34^RBO`dpu?QB0i&@@kZV1Tt--9(@QJU}M zPT@0_fGOvdB)q#W=12lkE-0~mTD4bd85A~>5N7cx~beLcnwcFp1@T|2*#`XE~PzMkma=DTY?=Ig9 zn*(W7!qOX!D%ffOBM=duwFnUJR}+{G0M6D>RVCJKfiJeex4__Y0cKnszdRg(kHO$K ztic`5;ZH^rc!IT6!08+-1#6bK>O;W!_CG&B9i~@WgP~%#UBQ;aIr2*api=WsXO5KcskG`H#ni}@hQGtNFx2M`{*cqPe`b_h_+kqDCZNDW8@OhHdIff*940><&a zc%=dZ0DsMRya2%8F$l86fv%AUyz%&mH+W-J;g_+7dpCFBcA_%K{Az0mCsKRY+^Y9h zdB_fQvAT16OwU}xEAgE&Uy^ktQScra!A|8$YcRtJECmOub~{z=k#Zo#T*z1l8z8db zcWa<5%%Ftv6KtAwJj*-$V+!%hdZji?dtev9TaCx7$^q^glqjddz!}~uR9dKYE2*;R zq1tclvkTM`FtrH}X|9xdB?<3#8PW}4#3Q931@9CgB3!P7u>)8DpKLt7&H!Hr;4z0b z{nWYDd%eNysuFL*1dnh{OTxgcx7vZK$Rc0k#IMsB^qbr$#v2Rt9Z zr>{E1>o63?9{6qJaeFzyyKx0$?X5&&*Xvf-ZNQ1A%7uXZn+yZb^P1J!0IH+#zzeR6 zT4#lLk4#`?U1@j$mZd_Q!#Y>eUP*^{1c+jT9l}l=EIm;QQt4rBfhSv!7sBJqyupQI zfJu0B9{31=H&iA5OX=~Dc&p6;oGb{7x9SCp`P0L$yUK``XyAzbbTRjRF z)~)6U7Jb>$-ZeViKrI2&BEo~LD>1Ya1+UnEO}&zhp&o%6&_fMs&lG^FJ(BeXw^)aN zXn?Qwz+;cmE42~I`t|oZ;EuxMH+L#rNxc>2^)v+Ji!CZxoaG|h(+O0^5HDBMnyxKT zc;JrNCd5;6cn}^2LDsgS;4!R|TuFN+@kT*#*rvRkmG*%Z z)~tYs;qf0!hhNxmxNlU#mjzr?Wif{D1&gz!@-5+&av`3s!()i2ONaIe57)vJS73`Z zSW4l9N_!=Sc@0n=)(nD2qKbFP0?%~7Hvo9j3G_;BBZKwtzvVq%H?Hsp#TdJ7f<;mx2;l;KR6rYO{dbkwV)j zSd7=;(!Ew~TSCrqg~iDSYQOs{#D4-3fLnSV)CM+nQBQu$Xr^%xM=aPBu^-VCo_~FkfQ% zP^<6|D;{*|5Is}Kl@w6HBMs`uFhRl4j$X-n42uDt z;Z4@z0TC>?W+m0@=UuQknLu>_DP5%PB0O+6ZEkHzS3GnQ9_kz^cqnUe(R(}-z7`%% zvWm9?#63J7^#<>-4!64z{;)EbEFxH(^);)L2hP6LD>+ zRd|SANv|sfa7x^43p_W3c)-Oo6ynWfFK!9B+grS{8sj&)-9EQwrMHBzY-yP_EB?-D zI&|~o0CkYHr3H&xbHW3wz$L`X3J=jMRRydWW1|@0X&!i<;kI;OZ3VOcX?%%~!{g1) z;uqWw{tO<~d0(?S89*I^SCX}*+*S*Qc&vEP5X}`H2ol$rJg#-X-!}%|V1QdrBLypd z&y@$>3E)-L81E_#CT)TR*Q|H|=UFbYJ$|584AVa0VFzY#&Hk+xA;eoicql9e-r-hb z@f-vE-MF^2;<0%;U#?lRa(II;@N45S{_4CI*&ZKIhp@IZtElxL!UNZqyvMU(@lEFJ z3lGau&3#sndf@HGPdw>kx}ad8G%YEK<};U_u>U zEN*RzT2;k^tFS&8;OWleMTX~x_u<{Dd1ja3U*U;M#^XZ_0ncKQ?co8ngjZ?{@n#+4 z)v2g;P{V|AT_N6VwJ2awg2zkVTzEX&17E`A_yX2LU!!8gLQW!i~3 zFy%-_^l|?Y4?GIse_D&zIfwUEJF&=i#RtP2^>&ce0@VSg>~@P-i>EsP5++?fH0!{W zbZx2G{FfB9hR16q?{VA!7oE<~Q}btI+0sKEcr$=I zjK@8)X4Q5!U|Z$-NjP(TH9##0Q>T0>IejQSsde7kQnQ;@ga_b8Q{dSEzBU%Maz9i5 zb#g4g_S^3<9+ye|8eWNm2( z6wcxa2KZ*Sh+$*&lQV|;capKd$H3#EE4*1wvdwL^&n*PEbzYna)rkUXg)p_{OX;!4 zxeD>A15?!6lJViRp=SViE(|`S7amRx!0dPbR%dX>aDw+$1tx4}AR(X}xOozxI+%x2 zK;8E8y*jsC&Xf!D#51KZrINTleQ4@TyfkNur?kfMp_@Y&K&~wrTz_hYQvXI}&5DiU z-p?Z2a)STC5RkQitAgsVB=zNiYJrK?AW&_G@?W?Dn>%DOh!5&0udv-h9Wbd6OG#Bc zePGJKV9gtRj`8@$er@S=(-~Xua8DwSG5b$dfj=*I@~7C2HsLmQ+WT1LjxIY4sFnk2 zPN+Al!^OvMgx!4zhO&4#>miB{>1nNUhWJ#zG(*KBWX|GZQQ@nB0MjjfQS0djO1=9r zfZu1YU{rWl=;^K2t3<45gKC!gHwD!S@~Hy@m4JFf~eE zJb_5omoP%noFN{)lZ1Ps;_*y8JHX$7$BRAi)Kh;_>zU(V#UIGyG7Nsz8NA9md?bZx z^2l^IdszV1l6u+{Zk3_mN`Pt;A@niGsQ|&8X-XE4FcFxk1Nmh~ZF<0D5sv*@Hy+P` z!Ak%&Yqj_gD#fQI@eO0}l^*yu0PIN9f1M)>M8V>>0sMGX z;JpGBkA>#;`V^||t@>O*@lz~`*LDyX!h*!V=%aMj>b{{QMCm;oHzJgZ}8&vU3{Dk3?>C!x=!_& z2jCVC{SF%Oa01IBSFSTjDG}AYG|Y<&uyuC}B|dQPl3^)Py=UoV2KbzQ zgq?E>c#L3i$7qZn=RuoXr;_Fc> zut}Lg_|XC$xYu}me>uY2Wbt=$1uiS6UxvSM z3w&GXchFp_d&n0(R8A&u3-y}3X&08>Nkj;i6H%oTXs zFM$ctc>mQ~Kq@Q#AAs*=bp>nxwzlhL+o?!#t*c26!Rtm z61u3b?+Fp%%!jDvg`6pcDdtYT!VPwSpY$G2=@)H#k`fE>Na$DXPVle8o~lRTB%hiW z`lSLzJ4??q!c~vkqDIt5DWpQJk#FBz%PTr5A>%I^)R(q;9Va0 z?rH~r-h_TbxQpwx@~0~)sQR_7O&uicTMDQ)?<944TGi9*O(9o`s@{%4u|ZIVu)Fp4 z^FpNY*eWJG7Db5qzQ;fF24B%H-u6JXSl}Ued><>-LwQmR{Zc7Cr~0)n_Acn9<^we& z+>_i%d#8;NtQ^=MR6Qk;Z`1P-DvA%I`aXdYA%aD&;l4>gDqwwu>#lmHSH`o&`w`V! zAa4PWS9*h=+MS@xg?6W|rv-|6UTWE}ud{~|pmex*)BUhKt%wIw>cc20lWXrp zKv#C?>p3z+!_lDtrYy1=a_voVotBJszvGfCoNgJicSM!uz+_ z04^g?w0Wsjh!aZ#m4B4lJR2s2 zi2YY@fwqwEG7!#Ld{;FBYyLu4#jxP3ywqqTNb6oIDDJ8 z&pV~z-7LUV*vCD=f3qJ)y#?l3z&pIS8se?hF5EmXm99%2E>Ov0?!Is@o~JkEonrCp zyxhr^7>EGD+ceY@uN8XQdTdySSHR$@^NiX5yte=hUg|yGNTtuvL(x-RK*hygt@w$T z(h|B3`&RFvT7c5wo)#md#7Nei2$fd$hLaj1?UA@SFswTb)Z;vFJcfVtP}brxS5K_C z?dmq@C-uXnx4>Kr82ofO!E4~KgUuQ!Dt?5EKyh74_DyMVVijTE?2vB`P;KGfBet&9 zlXa(5+2i-YL&XK$c+^+zu_TYG_VOp=Lq$15z9-H#X8(lV0vgeTdJolUK%Mg^v8HcO;`ZJ32$T{hx`utv{Owxx zTRBka`qQlZNz^@DK_M08I^1*2q1I8XjrYK!NAf^181998;++bE!ub$7-e3)0+5>gY zN$L3U4e%=O@pJT01n3}P-|B$sm_JFW5v$5sx0kLx<-)z-orblS8pJ%xnRF!))A8YqT*Y1nt2tHlXjg+4cr>R5u*9`bbnDwjVo#M9~? zg$Gtf7Xin5%2`n!G8B5k-LkLp@66^iYydrD`B0b7NsE z=1>Md+yk}1pgPA-^}wr*$7|`K2-K#p*P{d`?v=u|s8acS6~aVk5A}{`)FnRxRJ#7u zC4U-dL1GxniDX@>zKtG93lfAXhI~KN19grmS>U4+C^p9i>KsbKzFG2lx*oM`#Y88d zMB$qyNJyx+vl+Kz?CfpDpj@t{a;kcI?I{iUC`JU&RModU{Ru!1)B=O*JU`Vtyv7%J zt(#!PTE1e4a#kLdu1CoN?=ni?Qb5UqZcdOOSgelV7WZm`K`wu4awm!sQQZq6V638$ z`n?9K0+)=(4*~e}^E^=c&)&@f1gaR~b$)`;q(X@e_U=H%stJO%xdX>MiXN-W0`DS9 z-+_VB)#c))c&pc+bPmP*DTa3erndY^6h1=b&;!+NDD}?@7Vx+o!0SZiV;)5>CB?E@ znAp8spENs5m{=K5ZEH~UP^rR40I2TC-luYa0XGk}2@*Cce2rXA`Mg9i7@(lK7ehTc z*zyt#{(0}AdSE(PAOhtqMn#1(CrqRZye9%E*`4biM8U1@vlevM*6aE`dL-shRQCiX zEuE+NQw;xlpgN7D{z<_C2Ddxl^%Nx-;t?um;RYp2F7irUA8)%TeTV9y?s+`y&G*$c ze5quf14_gQDtrP{DoD^P(L3o%^i-5Ezz_Bwst2Z%1q^OC74Dcg?ARg7RO!>(IqVIn z=5jx`UrMSZdJnb4h&t!LLZATLL6xrnTN`i9q~|>jR~x-GM}}mD?4-v5rNXOxh^>hhg{lljzkYs zm(kNdXP*UHfr@z)MTv{CNVaWpm(>!7mP6%$npGtcwzel#<^-xKiscc^Y8^^|%B?~5 z9;zp1Q40_#Z}9Ian^Q7psMor#}Uwb#%!`LDqGLDDp7(SDhE`0sHFh4skXhRWk+ea zr`Mi(pn4cqVF3@k)*IZBdZ-{wcvL*AuPHx@hhH8WP`WU7nL556s8tM^{xxP;}0a2;G+OO1_O5J+wl%N1{iq* zYk+G!aE-mB=xXA#Y>J6S?JZ=SW<1spnBmdJqP(4sG=m-kWJoqzsyxSPO&wD&<40dN$ z2KfEqo;M*t+42UrSm5d2<7wXDdUFm!!+Ai-xe{G+sHu>T7hz7=myf%btd!_OzU3!l z4|r3DbiW6O_W-!xo4TdSyf2$T;`al#=71+!gD(K^c>u0C%Q;sMRPUkKt^AL@!LOJ) zyyNcDxnCJ@!tZFn^mB~GhIjZv0MCZOb!Qc-9;kB+RLGSK-VcXgGX@`-OHuL!hIUQ7 zn0TffSk7Z;EIyx58Q_*h|K4eMeh<|71#0Yp-!UF<0q}_sqPGhU%~5Jq?lgFwuJ5r2>U;wA`_ADF#^Mo^0V(IHv}e-ZDCA8MGI@@`m4dY|47B*ntJ3@n z*r}-NfIaEY>w!9NKzV%70Y7hnzZ7t)s#~}xgE<9A0GkC?E)3*j-r$Rj!E@ko@ub7j z<^A>og<(Cywe!G!MjjG)QAu{xY|anfTW?(j}ff&`*|Ut1DYM=Of#1EVsD<<52$Db*JXI7X77h7w@Mw@0fy#S)Dh$38bz$wP{px`_A3*KE;Eizj zE$y9nUj&I+xs+D;a^anT6%V)}pgborcq@9STwWD^9v6eD{&|me0RJeICz;b*son#1 z4uJ9q+b@2ag|FH>2}B|Mi;KEB8NI27i1K)VB!+w%niL>@Psln!WiW6af6D;R1+aEn zT~rU$IRFYC|HoPUWC2u?I|)Pt$XfWa1Wd8FxNBMA$MSP-Ayi+5fpIE-%6TJsOoOK% ztCO(W3pJjK3&a*T$6j35_CW3Ri0azKu&*{hno+~nl)vO0{wuwZcW}HVNY23%BDv*B z+=Q#`Z4o5y&n+q#f~MgTU^F<5cglDwdaqPcw+0uT$BPW`*{8L5w)aqH+(UWb!K;-B zuQ48fz%3a9Qeoh#=$-gjMej5ZC=27O8YDtjF`SEF@qU2B)*+t2)CDT>Qr=+QdORDz zSM@;k9_ncP&EkLMJ{bI4@9`%Bk+0zBiP%h;p&h*xLq73NxrUd>hyVZ}07*naR6ME? zBO+81_7N_^M9)OH!iiBcpyJO`C6JyfKviJ~gJ&9pZ|H&Qfm(d1AI)#v1CN(ES8o~= zsP=g%<*jmWOMoIsgeWL?7N(j6kSrhPk=CJKaTFq?t*UseG`AAC8ldXD>gfjf_8zDn zsH4GS(ZAyHVE{i+u|=hUa}KT;hFj)N!Bd5huOm=|h+$vc=5Fbow3pIQX-}2rSo`1- zFXizW2BBl*sXR%k&!NtK4t2M6_&$0k0wi9Fx7OBR1)vQf|dV6%6aDI?NN0 z=%EORgnlVhsn?QROG3YJO7C9S_e5jyBWD$;Mb72x&y-lydmO>@J#e@2_#VP!3RL2u zstG(jmIxK}RP<7OOU$b#@x4hM5LG>Troo^VBM6l(V&3H9(bWZPS)vGl#PCnTKHUhs zO$j7aJb%IfFYSR!Lcac7z9XQe%bzg#peym+4NMUtSHTt0Lxp@wc_$4N{{*2DpqzoB zm(pQgRQsCV#Nw$!a{n zS3CXvXz!umPh|IvgPa_DCVK38d=S7(2o&KVOeVrb*_^o(Jypn|Vjk57R9MVq{=^V( z0Lu_Cc%T9nWoU92ZkbcD8F;v56NU(wz@!C=M(K-k`dI|3Zx(R2x^MiE2fl;ru!Lzi zKsAoxo-gaLk1!1kTseTp7;NXbuUdjIxe{hzVM+=TiI-%jsDsCZH7nFtea36d=Emh@0FLcRdg2$pb# zaBl!Bp`YYSao26*m83Cv&P!?Uq$(<&1ao#mzHRvEkQrv>xEJtU>W{R!4$y~ zkje_)4l^EV0y8M;8b0e_OUa=kR0L@V(1q#wxlqjI~c|=B>bEJ^0uuDymz?H8~mUFo^bRM z-NFB&2R;Dc#nz!DG)>r-z%;aQgose_uNKNnRSG7;HKBJJ!Zx0Y$E+x?D$bP2dO=A)3%j zDeuI0%rK8o4U5`K6&0+8O6)ZW9EK)!&1BY0S|U&=aUxyxjaxcyJ^O1QU8ZxjEm3aA+8{~%1*qjUPc z4DRwiY%QSL zdJ-YXtwaM&LvZD(WU<#6oNAyv@cmVVw{-&Q3f%4hZZw3uZUgSh1-J`W;Ex5UM<%fA z7iR+%#zldF_E7p_dxJr^$YnhUavmz?R4*|I=f<7BFOR#N#kYj~X%fBETAfePD-kHd z#J)vqbx7F2G+u*W8^^s*(K`(%Fp~<_uGLV{es%!Md}?T>y^}yi+ooY(2*uU%gxvQA zPcp#EPH7IsY3Mskhj*qx6+@KOF5FbecLffYP(3n&Pl1v;K3C$*BRiePvuz$9(P^sLij?- zop_-c?lF!hL~b0)jsi^dN`y#zr{JLo)n)+A@_w;a=T8#$rJl%D7z}EGsPR%dS8bcP z;x><4Pccv*gU3I0CEka%P?^%?Py&?qs4hwl6@eOU!foupYY%m3K;8LNnEP*nNrAd< z0|pPFNP#NWVXFxS4EY48FdJ4F6cz+%Fc{X~2M?uy(ubK>HpMUa9hq5f^|ghli)sg2j*jvc7cCd|eT?Ao{v zIhaFT=IusQn}8zZP!kM-Ffm5qiansHLJ_V;1#}qXF0=|uc*NBYcoX*OoVI;BcRGU? zFx(TMcp)W+s>W~xiC&5@?XJV~R>!u4iQf~f-Ss-ulRSz!6BR!x@zPtJR zd)|pqty?&ODFuojmQe9ufT^mXlF+Y-1Sn3d?L`A&LW<%gq`Z>gM}kK7J#tcqpoTk607~4OCQ{);Ca8WepM`qMR#0 zG3=9^NhOlAXi4g%Ot_lOLLFqgyRs4#WtF{Oex1LI%Jl=kF5_q|*@GyZ2Fzwbbh5Ts@ z2Zst`p26i=2i7XRkzL7i`t(7NOVHmvg~J&BbgI9xaZ zK(Silp2x%HfZE=I#g#gTk{DgQ4lne8(z%*BC4bU0XQ-4&W=;wJq&gbFrx}m$g*jE{ zZ{O)kJYVNeoG~dzY(}Mz`P0TItk#G8X*k&r)MQwDDCVp5QU%wd2$ZTe2@{p7N@)`& zW-U>iLZG+|{tjQ^HV6qldCLpqe}a_wXfn=1|*P`!^RJnupTm zM-2I{e+Y()yY4|01d10rr#KNPtOwzufy%mC;Y&q{wgOpMBLP5d@hbr^pNf4bPQ0UP zfa0tfX3JOx!z6iqw-zLLkp-rm&1s-EcVGfgBbbdr?WIBvRlzds(~4>kC+NKrMRk?{ zl!Vx)%R_nm<<*Gg$DPBwO@Wf3bx>4ecunbCwr$YP0jNjea4o8f>u>~$Wk*}v@HwEm zo*K(h*shjw|0oxiB*d;-Pbni?osY^1l*rAOgsMJ=1lI#dKOyB3ubC*o@U zV_@+@czo`ON2z{;cf#X&B1q_2GsN|qsKh%_&P`#G&)7f}y%g=tu#fOCk79^@PyvWG zkF|U+KMkTpY+&~W0RI`_PBK)ItLil zeEVz8)E4gC0VAQ`k;juA@L~hpatfe&zpe1Rv6?k?Trc4sFEm3v0+oh*^iKSoi~^>@ zzV)cAj_P7$3Ab|s5GOM6QZuFVy7cHY07aSn?Qr-h&lOR^CX<;9b=sJ59i)cpEYcQZNp+b<5N2MF#TGpfLen+u;gg5w=ZZq4%I^g>RuMiB$uog^5%;zqk(b;DacJO6ki96I#-36sK6%*9?lP*=<^H zOpFKLw;j^R&@Xo3y8weP1@J{4c&s^D4a45=Ciuo&Z5gYdx&FkpkIjC0nFedU=9L)aHp0c0EOphn+ODlHICCd` z212gSk$@Fuc84|QSjOXVFt`YhYhbVy;o9f9l#IiLxcXcEZ^$YRJ2~27y z!*z)E&7Cpf4Q?^O^TPnFjUeJxxLu~yKO>K6`!W;UhQk#YT)DbU=Y9Ym@(zDxVn`Q` zUW;eL>ung^0nJcPZ;eUUpJd-z*Ze7J1^%<{f?s4&cfM^hi@R;Y1U(eD!^;9MFZ#T& zues22>{TrA6!7L9BRsDmv(OT{R=7~s#1@#$xvrsz7E~7X6+qw@+jg>vG+TBO3c?XP z53-%7E#Q2uG!dY1pBGJUZI5j~OWvZujw|sOBAf54EmML7%VDA?+BXIXm4tmFObAfH zW;52Jn#n8*LCsbfHWo+@z_bSI-r%M>Z3wmttwW<7n>M0d}*lG7|!u5!^W=h)TrQ{V)!iQbm)C%Q{i5OjSJ_q@+WTFXf2AZ4KY_TUkE5Zd2YqT zy?eWNo4rxVIteeVR{L}aG8K*_#|Ue2LZ8i@dMG*lw1J7kK7L79m>URk(b@Y}no7%k z%j3T2l?YQj=%4ooMaYLjDGNgpnK{!?B&{+}OJTIaN1((zrLuVrs4mjERGr5#Pr|@X z$25yQ<1qvfb+v&lW6UXlI2L2iVA?SJUhH@;c5d3FvOiX0-zlJYo+0rTkEFa)@TP4G z=M49@ruRTy-i4QQBN2&JSx*>S(bkr7wCZ&X#2iNhI{s zGiY1ah>$z6vtJS7vL>GjlVZ%T=FO=3g7ZEv?kuQy0h`lci|HMqve4KTif{mkWX|V| zCh%NrlyI+2HYZd%kHR*JLT%~{!cVO7UyJsZ-Md`)4Y_OV$icQZyq_L`DK^%(x|@7g zn~FUJqHvp;uwn=udJl)@32Nffp&mm%se=q>9L7_mw09EkFUN+_#&Tqs6vS$|yi@*k zR6sG0((6%eVV_h@FeJf7eGz%FWt&0jrF0IJwq;3MTc%z3q$ybn*Hmbi0H*ud&hk)U z_EZhi=$%5VCN*m|UaCcTViGOev9-dN=1)1LkKvwpDTaJn>7xy~9X?h1(p+_sC?G%- zMW0y{Ruch8$gGSl-l?i;n8emyCaf@7#Rdz~xkPWnklZQfokEQyJ=rFzDRocP?}=Ql zcj@x2@7t++*g(ZU8V+nBP}^H!pN`dKNIP770xzH~c=clviR1Os{ICCcn z`}9Sp`o!-iaof9|S>=9^a<@>)fgx$Qw@ytme(h37jujIOt98XhDok*fbO^82PU%oH z$$e9C8H0*yl+;5mm9`RX3-=oPs@ycSr`VE@r(xf$kWZR;OWq{56_7$3AUSA7<*Zuu zlU>l-J8i_eJ*h4a`BQSrQL9|OfOlF6P&(|B{ZW^rIML>%+D__`utjE44VH$Ao%`sq zI0(c$F=>|kDHoo^8L?IIl~9BiT!$yQ*^@nSdGR$sA-?yh*s6vKRJfq=3_hul(6gsV zxtu-A0#5QLUUa@!4U>jS!am8PMEprhkb;65fs(LKpL?#ARN9h16E77Sx3RHXyiJ9l zuC|n%NrRON5{-Rboj--9-t0`m`%2-Ho?5(Z0P?8T)_B4is&yV3I)R(#od}aum(x3~ zGTb{5Q2ga|e^gGK*eCB&^^1FWcv4T}ttKegnnk|X4aD|cY~~8Q*tTBO6@a>ged47E zpM2>sMJ~8JCZV1r%mR}%pAHL(30&G6g*{LL7!M2K%6(EHA^8(wqL&hwc=6>uGCvhB zMGqzGQMrnV29|i*RIqnEzaw}hhSxkPDK@$eLQw3>tD0c%0mTLaQS{L{D&L#fk@nI6 zr6FG$?gfR<))N!^3ezjG$8g%zo3@f}kDJzA4h9C_4m^%?D1(tXr>By(O)Ko~K`pxqF zrSX24QKJGV7g~pZxx`ryfY7C#Ej!sHO$I=mO{cmN5}X){a1dzqi320u1ErJY5bllP z*S2b)G)yT}gee#HNm$K1N)Bz|trmYcIW-YLJt^%qVT)~YWU>;tBnlAElneWGn3oIn ziNt8%7GOk4zVG+q~1v zaPP1}zCdj3#v$ubd@LM(c`wY(7i)1sd#UXS?6896PTmnk3boxp!n?ROQj~;=tyxm2 zm_M=8L=+{Yk1V}YRc~r+nm6+?>5}eTT!@?lQ!|rh)=JWg&Y4tzk_(>Bpy_O>LCS?A z67Fg5l!J-yQ@qr88)j>*md|zNxoqVSn`YPel7(FHPE8m+sUf5N_*iH`%G+qqS?a0w zP}*ZjI4$-hIBd`zZZkHu4EbWXCs47uLI?o~(oli4j%pY~y?BgumFA|o+$j|!;#dyV z5zBg~ZXPO3OZ$ZhKFrf(CG6|sr3e%c7YQ?IJX4OdWx-yt(MyFUVhXA#1=sOC;ZpH_ zSaeLlk_*qp7HRa%0TE`%8Hu!j)ppT2D2id2JwsT+`=MWMeSC7WnjbE>>aG!vU7o;k z^EOQjQ8+ z#5)~1P&(|(c`2>YN0NPYJe+w&iUIqX`xzbLLKJVrmw6Ibkuhwsp=FI+eswk1)w@XFXBLR+z@~UxB-L zOMMUvZJArhZS_tIhIm*a#rR1E)u5*YI-=^-0p z`WX5(4VxoaG7uWMJcfUA;W;Se+6z?jTnR~XK=ER0kn{|iUie{LE6K+9aU)?G-?O@0 z!aePsc=6NOpI{Lx3H?%WLME%!OHD-lNxB`1T^aVd3WlCbCMs=D@lHC7o@K)@u;`f- zP#U5Xs1Qa|IVCWR03t*Z?n$Rd=1hbtg();zh(`%%)l}P6uRDpdm&=_F;+?t!l?nTD zUW$)NheLWPEu+th`88A${sk`;!#{RBkCJb==nPXNVGc2VwYQ=l-fHwr66y&!;;jbJ zTj>GIi_8#3W>h_U%6+-;RtXfT#49a6132q@Qm&5gIeUuwL@^@uPC1z5y=thWHs-NUjVZm2HCFgXHV*|0!_bB#{l^(JIsMz&f!o6_ODN4k_ zK*)IU8!uJC42J;285s=n`BH&G27z33UhqlC;A@e9;fJVF0VLVZkCV&8xiax>nM=zy863BFj$DUd9U<#8|%$syYgkHpL^G;!G zzbx8(37Epz=?qk`X07&Vs3@WHd+nw8eX9C#07x>;*k7R1r=aSN66}9On56CHpa{nh zQzi~ziO1rF4&EtVbVB7QrONXcmg+|0^8xg}@W*e6#vQEQG` zZka`yFl+Bb&!j=p?=uHg&ZgS?OX#PYv!#<%YRllI5<51cL=36t*^fU@mA>GaVh9-S z3rJC{AS?os+~ztwa)K(>;3uNvY)IB1nGPpz=}Z8Lj}NCFdMyD@N_}LszZ;uZR1ytJ`-SAr5Qrna{Deaj~RKYVv8@AamfD~;Q23S$sEj-Ri zO6(XR;zSf|x=~L`8l*|IFFjKb9>#T3ItiU=&yX|4146ZD%E83gfyb%jl8g&(c{| zWM5u%{!C(hKF)svksZM6i!T?v2}v>+U#m~KP*208K}z4FRQJ=KyAQ!|ADZN-I`j(* z>6uB2aEUELleP&A!J_?w@Ke_JwH*bpaQSJ&Ira+!OW9ChB51T5zo%CZfJU!Wvh)2A zUM3}N%g`n@c6XGfbhIZslu&>eZcc}JglRn<{x6E2hUu`p)5?M33o`WMZ7!c`gQ__i zYXrk^rQC&~tj=DtYwUQ=zOsY51A1KO4M1@)2wYVh2m)BRSn)C5UsLNQ0l3Upm{}=O z$c!4jkUU0^0$4204wN&BruUvs6EUDojeT zQ-^pcc9hReQewvd6z!*M$j5?R=h#o%uz@K87AB&^js%9@D8MwV`wJ5s4br%*ZA%Xy zPTA${1b(Z4qW~eHv%n-16c7JDDwvi7YL1uc3RRO+Nf}KATMl6u0*beiZhbkhWI%9$ z5F&O)5BDeW4Dk543`!1+I5W=78+ozEV}Q3Z80eX>3-E&TFG+48s()pB3QaR7hNh$?PCMKDr#B)V2QiD{&tgY3zxd|!Q zE80))iwy&0aUzn2+}e(l3VvAZ0j2v5@3LRkI(*}mVu(jiKTKevJ^8nS2yq$y!Y%Nr z2*ICAi4pHNLPQ{9x!g(Yv6v_!zoo>9@Eh>-;Q#;#X-PyuREA=WAMdC66d&U`etI)v zPN|x#!BGCy-ijfhZi7j%c;RJ05Gr~t4Oh7EoPE_QK7U6Z*8^caHWuC8ogN;9g^%Pe zd;p5j4B@9hik;gzlXA6Q;`^zs?K5Ul9h&fOa1f+}mH`zA>i2f!V{K5SIcm=HuQRN! zclOS;qeKDxn|iX6_tj><08wH?eouhJuC(81#Qpc}cBDrlNZOY4N+HCHmH8BO=jlCUI=^Jm$9VW@Us zf>6N-fHsPglo(;*aKeDn3URf76nhW_!X8jD&#% ziv!{U*J8L>xm9;W=VJs4o8fT%1|E5ggF=pu)wO2=ogTcr$nt#y45DHN z+p!H0B%T#a)kzP4w2Hh7OziKPgNk`6AD;(Rx<*BNwoOpgE)3TJvo?%?g~=(Y-AnDK zZ5QB*laBzUZ5VPR+B4cUOh&Quz3wl(52UU7%y(V$c#>c`I8X~f#ixo;!TV_lxX)W{ z!!%*w4h*gZbQeFFZTVUOs$Cc!w$}j0A8dl#In8DaS!T`r>Cbr4cR0JM3(x0hh&YRO z82~ygq53q-Gqu5_-=79+u269=thQrrf)ek)&xSNy-326oob&W;HkEKWfWt2}DdlX) z$%v0rxua(vs59PqtXc{ZI|fYUOE<$y{<%=jv?9+Wc33{-lUJA#`iZCFZL0pIQ1N@6 zTQy-Ik08EOpPVX(JeE5!7h@+1dM;cD+Z}?p3V`kMY*>H;gx?c10WTc@VP+O^)DL-a zAC2F0_M{gQfWmuKUD|UqDcgThe9&PDf3FRu97tSvl(!`Ilkaohs!jc)Ep<3OiJo8E zP`rO*!)Qx^EN8zq+sVYkTiP(#F9M@)b2h{$0Om;gd<}Xe+EH?)bW-AL5+=zz#g<|} z9p>@5s}v#9@pN#Y_=-zF#a|P#g7@`c;P(;+axmO@BcKNbe=czGzId*1(Ia4C@bZ52 zTImPx@;#yA^TO=OuIyLhZET1ZT6ZP`fFS8zw`qvS*K3RO^dQ zN3%Im9Yx014t;yo1f^|ATQbBJ$hz1}KWCo(F4L|ZY#6U)sB@GWM_o$9pKGtg?{hFs zfy5`RAZI!ppq7A&zmf|9`MBg(8Z6$|=PCrCwqdT_bA3v?M(`*KdwgN{C ziBVqxp7eNW7m5@s1Ow zz-UU?fxchRQwdbF1_Xa5RRJ>F3S7L^$7@A{htDJp%H;Ft!P50J>b9Kvth{hka`Z$3 zQQIKMtudvci5>*JpN1&<{c5;UZ#7G-;A@E2U&?;5$L}(>SNEeHF17oWD zg@Q)_;;o$hAUkZ+tru;BfWMo@`SUUs8CrR`(_5`cJ{vmYN%t4C%{ zNHg;#zStpzdHUL{9;gMO;?w8l1$<6g9LmRJe~=82@K`*1K?Vmyob*e)S{qd9nRxo* z>j5C)NO&ynUur8MT4WH+gI#{!#ar>YqNwtIIyv#Nbc?;bzD!d3{T$SGIe@y@kIz}u zhDYg{#72h$l)U-^-fA9LGB7k;dVpxa-XKoTg|hdOir_GH_vVw7XAK~wOt!Te7sG;q2=EG&OkLd7nF zVAgZeEfu*UR$YI$$Ux`{Qu_WD0ZUIzvjEe7V->c`ZADqcc6t)x{mvjAp;yv2JKT^j z9RV4r!eB~73;DHFE>0IW(?QY(SsN(g;q=evReQ^G)8f^63$tyZU3OMokp6jK@#R)& zyTi6y7l>v~LPr$d1$&b3^3i90CAkiOELd6Bg=ggG}_9^qANq=c6PqgTp zThepo{>-Vc8Q=H`@J1&mAbx;dV{r>6mP%HiT{fqS$Sgi$mpjKP000>X1^@s6#OZ}&00009a7bBm000XT z000XT0n*)m`~Uy}G)Y83R7i=vma$I5Fc5}6P$k&1b*NM(y0NjfVqxpT3L7i0#Vatt z#s(AFvK6LE9lDXNQ_x9HXz6<~!fiKU0 z0c9b`Dgy8f>{{X)gLEO8nMof2#K>_qKc g^@b#A{MQQb2Z8rdpG(Fj>i_@%07*qoM6N<$f;)?&kpKVy literal 0 HcmV?d00001 diff --git a/static/images/info.png b/static/images/info.png new file mode 100644 index 0000000000000000000000000000000000000000..40c7fdaf03223b245902f9160a90eeff1bc3dd2e GIT binary patch literal 723 zcmeAS@N?(olHy`uVBq!ia0vp^4nSNn{1`ISV`@iy0V%Nq1;ub zg7f?KGuS-cZ}aGGp15%J-g|G$s(0VL^wK13(n%H5mF}$#r=K=;n@aIYt#;h`eTJOY zg6UpMH$<$zzOlElUU9*l>i*-4m-wp)MVv`7`jDHT&OD2|W|o~;ccS6+)3vI$3)UVu z{$)d6kq>`{#)2j7%u~Ni^kC_Zxx^gBX|w!(j#+@^T)#V)nP+hvFzRxgf0@16Q3t5@ zgZPT8SrQ?h^%gQFUi<}O68*=4JpSD}Z?;D0O!ca{%&f&ypq^(o+vFclMDBv)4-3{@ z&z5*sX1)LZe~x^O>8Ecr9|+lfci!1FleE_52a0wcS@Xg6fPm5=YyPkYPbI5Gtmg7v zSsSL^8~N}j$3fdRw(g^wqSmrCH(q{Ob3V@?L`(El1=G3a%|P9=8Q!c<+bk*Nqc-_s zMomif@~E{z$Irj;OE8+5puoEO?!EWlGk-Df67D$uSb{@NF(UWbXG`BdYieB$39 zxa{)FuT@Jg$zPn?5VeFsku_o>Q;SG~>x={4|GEE84bV_=Yp^aU3k%^m&}|YsS^j6u pymRNexEO1d(38NCqW$|B({7zxU^CNM3YZWXJYD@<);T3K0RTn~E1UoT literal 0 HcmV?d00001 diff --git a/static/images/my.png b/static/images/my.png new file mode 100644 index 0000000000000000000000000000000000000000..6f14af4b047e57b110cabbab307101c14594a6bb GIT binary patch literal 897 zcmeAS@N?(olHy`uVBq!ia0vp^PC#tO!3HGfZ#fGRU@Q)DcVbv~PUa<$!;&U>c zv7h@-A}a#}v$m&;V@O5Z+u3Kcg#!f+sCTif=~amJw_Oo3;UA-B*MfSNk19!euewAQ zK3KZFNrBb1dSwNth`*}%Yfp`cjS(XGPI}jb1op1^y1~`ZtH=2L*=@I_KK*>Q^ukZa zvU|6kBI_#Ujq`8&?2XfBI>7noO}duKBULlKTmSZ@{$w!!W~4m_ArCLU);goZ_~&W$-v$1u6+DR>Prd!WvX}Kk$`tFm7tWIV0`4g) z+D&RUR<=B`yswRKUvEOqH0yaEtd*_>9$J0CWOnWA;G-P-l6%aUHGFSWANnCH*x9nU z^_la3y?-?<$p#(Dhwlj;pWm@ORd`V&!@HSb#cJF(wP`sMj?M0PByTOXOn>GDw!;&S zXA8J&NXqYcDraEfu&nZRghSAGDgOsYRPS!CS<)7fjcos$wb{ODCS z^R!yW?#@ewJySGVXV}I?Z~uNdAWSkZM?G$zSKmI7Se1pM7c+gb3H%$X?|X*Cp4R4F9;TFWQ|P zRv`W}Lp)&Nr5HaKrGrnKz5n>RJ+oSNe^f9wGam*OLAmE7^T)ZAVD$g>#xA>s5r# zh`ccrE!R4fUc14$saf+y084+H$3D9P-NpiSrIi}_g>Tv-tDZM<-&guBt)SRgpq5m6 z!LR#IqVTTdLw!pV7H{OyzrvPPbO!}_2!wjJ^xDUns6jRaHPx#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&106|3K~z{r?U&z6 z+fWpM_m}$OOJ734l~Nco2t}l$6)tGdVIKm`uohW2jL?ZF#pWSW2Bi!vQo$dSid1N| zk`S`%%}Gt#o8-i8_|lL2bb8zK-FuUBPv6;Z&CFnC@XXBMbq2;==WtsVKjwrFbdY>W zZJgd3@L_CX8Vr9`S8{WLI6dY?Meo6^Si~_H>QdU1HO2P88%Y-A)&M4>K^s^X)huM9 z%WYhaAWnI@XcP`oy~a05KoEdNJWhkUDol5J-cToMOM8F1IZR zO)=1=C1zQubRmQRXK=P7u=R<1w-DjtPFvjl4G{!5gA<*++> zOd&)YJe;b_?ioXlbU~Dq&FvbTLQ%;t`$7ym#?eTTxkwB)W_zm1{ELO8i-@5j={xAuAdWzowI?{M;7Q-X4Adde( zMW(0xD+7v00-c`XH)xlg-IJOSh>0tKPEYY0*k4= e%nWSXw*LSS=j4aN|MnpO0000Py3b4f%&RCr$PU44`tMU}s|-$&SJfK8A{01t`@3krw?5=G$z7v)>S>X7N`o?#$v zbkV5cu&eHZ19%YEMb`)`QNl3qb@jwSKK$B5*k(V>Vq zjekTmjYWfqeywF1Nn3v-6ph#?Rz1Qw}(H-g)P-`F#EyM0^tf zoDqSf8Nz2UJwQZ12!i1L%PzZYb2FHz*PJa6oWa4tT%}Su69C=;0Otb0ym|>M;kZu% zz&Zf9uTUs_ucM=*nsB_Pc5hkWl*{EeBBG6m?*xF^O_ielV_vZI# zDd0pG+AaWC8r@ZzFTvy-{0snY4}zf7N*C>x0M42Feuzd9hghc&Hb-3;=Rj6IPS> z;n&xlLqkLV($mxP+a~d_-?W(kPH%5-e%`!!%Zcb?DJtf&BIC69*olbOJ^AF5D|>r; zgR}-U9jEEQDV0j|bGh6XL;c3A7haP9yRKb6ntdpkNhhMK{DQ-D({m5$Hla()xPG6Vp>0e~$;v;`5LMnpDNZdXeE zk%)LRMmD5~h(*h?W&prpM8w9>BN6eH0KmT^ns|ZduaDi;)%AFz!P9Wy_`cs03jcEe z@R9~DmI3lWE|+^K2!h9gAlTT`)5DhT#I3Kd@6dcce_}qLKdD-+E<{AOk1?Pc)pmuT zf4^K!|FT)BMt@;^6XtqlQAxm-R15${FB1$A819z?uPDRoz+Qd!&6)AOe~ z&J}y;zP`SL3WdUXmSw$*h}aNYH_bN@JxoN4UDxGfxUQ}4!0~|^bw?x{{ zLsDKrsPduv0pMoGalV!E*bN!Z^SrkLz*UIIM_JnY@CQV^#J27Ksn=rCW_T~3Qp!t0 z-xz*54ZC2b)%f0mh}U#>b~aUyk=A+!1_tI6(GAgkD6L_69KP$=LWq0P9CT!?x&X)b z{Z6*@rmUZNL@Bkxb=~jRLlDg#vs^B}*|Mxp1Hk+gd0~A|mu=evDULZjRO-NqKvPc9 z*7U4W>cg8iZ|?8y?NwMv5PYbW9GueF?8ss5GXTIB=`{9;ZCjV7d2FS@)Ud3gi|{v6y3=e^N?qZ)E{}J> zwsN_Afn`~%Q*w>v@SgM2x-h2#oao8@Jpf4K^|Tfddu-d@cEBQL)WUt=pG`!p6+SNo zdGKrN%ru_riGjn)JO1=tt9Je<{(?#VU?O!Gx?~e*XFA&q`vRNCX@y>va`|M-vRD&;R6=>I7D8~eh*2{JPGsf2!)VsOe1ab@7K`U} zbaXtOWSj%7@8ICzkwZg6Y{Wf2$=VU|a#O3i5pW`Znja^0jo45q6yDm=(eYf8#UH4B z2L}gVR;g6j+>*p|a#yulJ5=jj063_Tw*4_(#YO6yswnOzZLq+qOTd z!;uznBFFL{CeRFTEffk1+jknBEt;H`?>v=C<)H)@=Ac@wzCp(UJ~nVTgk|pBxqPoN zJ)-!@eP;XhG&vAVD5BRED`8Ea>Kis~+H_jn(3{x6@qK><5#4OEC|2%q7;jroVCi`Zt*@E* z^C04vL*Tq?B2Fd*PL!YKe@!L_fU*#R6Ct%*lO!OeWcOXyV0sFI;M9ro^GpaFDdoLU zQbygmIS23w2b$-eu8`_YA9)gTsyGuj)cb@Gi)-;%6F5=&w8u@Jc1o$sUDs`BNNT+| zp;gB(m&-ktWoa9uS%s3%=Z~+IR<0&+JkPrg5tkVV?2%2IHZ7Ryj^ze&X-XG%fS)^e zF54EhqbG=HmE$D@);b1x2woUa1x{GSlYe>NN{k4Wce=CF#9C0zG)dCK`;ko94P9w{* zPM<0fmO2Y>1zL_6RZ9KH;D!7%Ap|G$oESKqvD~t(2Xuu&MBj28=WV+E+VqW+faiJN zL`05R*J?_sGxp5@zuyFu3RC>DYY#{`@sSdY&f%91aSgtwZp6S!4&&hgHBh58US@I~k z6Bl9A%?!3u2=Rehz+s;ot$I(0IAGhhJ!K_51sCS~zE4D*noE092yxtgz~Rbrg+k#M znuGDB_!7r)*rwHPEg}KW^A?9?CbbhTRVtNNk5u~GdsKOz_Z~$2yyn{3V{CR-5;bb_ ze!!A*Ld#;Y$VnZv{F903y^iDDHs+2arSt$mXiD>LA%uyqj^;FN^0Xx&rTlVOc$Ta4 z=rk#W;G8{wxg1L=x9Ao=4KtFz+qP|vA8)r7lYsC0OT!HDTth>r{YnTiocw$EsNxdK zN-6F5Z6Z3l(aEQER@tVlEdfsAjfiZ>)@qhz9m%D!hk@gH-i3(BZiYH-ixA>fIvv`y z*^+>i@|U{h1BmD%$8o+s0-TS8g)VN?Sr!p_j^miPCF)Gmrmdp{JkKj5;_#g%ZVL;f zeAIEAPYeS`O3CR=m&EPNbe3hkud}n0YcsT4i%MW%VBkunl&;2qjS!-91UMW@p=E1o zJ8ZQmT1K&L=-~C35aQ$!;QT@JO;1BZLo?fHN?IE{QJR$JHGOn;hK^l_VB{vcT~h?l z2qBKt?9(RCpai6p{F)~3y-1f-Nd2y1(BaWlqZSo9C!1w*DiRfQ7SzEzJ)pdw?txm@zX-;+KY17tU0w!sPiRgO% z;%I-Wi0EC8U2~}o#(plI-Ndk+H6XoTrQt$S=L%j?mpiJj;6$>8o42G zZfhS^Qw<54>xnXVaZwSS_SyF3SVvq_kTxoZdAH8e5b@^rb6iJaQ;^o=IUXhwy`ilD zoPuD`S(5MjA0(pv(wIy%1}D;Pn;dkcJOybD^>|mbjhs^u3_45lJg>xc$#wc5;>B&Z z3LS|}L0T#0cL3llouw(IPHj7K=}2q}(t4iv3?d$(v$SfpI=k&Usw1%}M!S0T>KO+e zbP&4@PnuzW)Y5keA!f9svwD;O>JmhJg>BnLrI4D90pItpBBEax3Wa+{CoF0tU!Lck zfr#t@sM9tGAx>$j@E9rOUlY;00pLmo4FC)k3WZm-TE)Gnq8$gr6&XALa4RByG0Z>n zJDnX&O6z$Z%TX&lhKL3o$GNm60`mI$`u?U^EONpp_Evn!Xn_&Y9ggE%kyMC{?C*Kr zYW8W`XU<&!z%QJYwr&5s5&Rg|dbm~yaYL3vfceG888SHw6lXKF#uFx|jt78+j^l9I z$ILg+^G*YRhbAa>z;(UY^Wd{W2rds@w>n?G@Be~`j@1#`m=NGBB^_9`YSr`^GiJC- zsSm`hY>S9L-M)SM{N>A+|5--}jiz0>a^6N)$jze{3YOUr);#-6e?>Fez zur5+cPTDvo?Q6`*IcV;*u#6Mmi&ANx=UtA7t2GCEN(jMs%Q5+JGLcwGO3C%HUaz^J z5%L}(#GQtH>)K69c^Lp0Rn#G(4UXfSk|u*v%0U2_u$b96^Z7!E;pAJHOXXHBm)~Jo zmQhYYBB}tu+a1Tz^=M0TPxc#&W7h!SD~MPynFtXV+qQk5N#F7MM5)}K1%MfvWB!8> zVmRI3Uf^UXc_iD|XTYOd?L!wE+B&2yZIbhWz@;&lF+#Rk2=VHXe`Gd6b`4#J=33#Fp`oFx z8=Vz3Itn;o(c~gLdX0TTh<)`vx-u9;ziQR0LtgsQm;T1!3pnQSk=c~|tR)VQoS*7u zQrK6j{8SHuU};xZ7gvd^dn=Vn3-bB=?Qx&n6EMWt&tIFiHrYg59PwB?C4bh6fJD_! z_@Xnl97lUSq%UVY|pA9kSCnb?mzAieF*cqxgX@?jD zi1-QHwm%w!RExy(ytg3Ye`$4kk@z+t#F*H-{VtzbD|8kWBjxaoR7*C7Pu!od!OpU* zZ$0tE6YJv^pJjfIJMOsGE2X&hQwI^9Y_JhEyAaX3VzGE(JuK!@N;YL^7o$VOH`=!S z!_iE)L}^9O^A5Hw>w9T$(kMaf1OTq%#5KB~3JbkGM?}Laengxe7W#S_0302ao8(-H zTB+$?2n zNxexazX1TOQ_^i$3nBh37I3m!K03O9{`V9F&o6@@SX8fzyJ2=wRwC^#7K=xBbab$- zY)ospg7t%ggD5^MW9Fd;-6bnoKCAE_YqGZdzNu^B^K?KU2Lh>q<2#Jzs=bgX=g>>UWwE-hAKh zCL$BVugc|euU)ca3A=X02M$w8DcRWg4g&!_8w9}#-QC?g4Eo0E61}!=007QKm{iXb zYt9sjSg&-`rcIl!iTj!}nR{?>aAu`aVQ)gd-0QY`gb+2$5>03e>hJGAC7;i;n}dnX zs2uu_u&ZZXTe)052NC;1pWT+oyBzvVb6(-g>!IA+SI|;Q{_3+khi;>4wR(D2S69t6 z#*+fV_x-zw$fTGVDWxuQU6*h3b!}0GaJCJx@A0H-sw*?K2WJ=1I{<)RDRp;B9~c<8 zKq;l0zGQ^^`-BjSCz8{oLJooR8Y1Fa4><#YZ$reBZQJHDesyo2=Pg7;4xnc@gv_+i zeDH9!TK!OWclQ`2TD=%7l}d-_ayizFYX#ax{8WkPB*$@Br&Y5}3LNe!rQ|AjrjZ0| zZQH&85$oo3J;3Ders^-8H5T-Qy_32QRO_!Z^*KHK-SHN?@_tA!9t zCz~f0aQgcCUS2E~*;mI%V;VY@e9Up2>nCF-?f>_E|7@ky`w;OW0LZ63evR=00Qfo) z-QqY7>zo?eN~O|Ea=9GGgU>gZ_z%@;bzWCj7kdXz*kS>PNAP`r1rZrVO>zhe5nbGf z`_6c)^?iSK7%^}u-__XeVtDLMBuM_eKS)G(=W@9y`}rW^*=!R6fYT#I;+P=67|e0-9NU$C z%w~|?yLW$k>C&b9X;)*6Q#TR=@H{$a&YaU1En381%t>2p;P6PLQfYoJm*Web>1Tgy zp-@&!`5%hvQ9Nga$p3U=*a5fOc6;|6CGRUWa-Y6WIb8$ zI}Uh^BVUby!$L}^7#xxFR;AR1uIo1SwUzZvPm8}%;8`z(SY|qIBH(cLg_$#Fem6nX zNNy-oa ztVP70W@}$lSVt;Du))%@tbRm1chrE-G#fmr04D+uYhyXke_9F>+oqJd;y^#TqRK8` ztYPJDDtJ-@PIOtm1OUF2K(jm=b8Jobf*@dbgt~bWrU3HPhls+T*=97E6IRo}lPYkc zFHdKfSB|44P5gJp+k|J8QXk&Dd2@d~-7HhzeX{}CCE_w7`lN=tXH&qFI&emTrFn&R z=?|+b^=8s@gk`l_?M1{367tbd@YD@Bqb|(%r1aVvbN?YC_BXk?5l-I;H+0JQHl*#xRG@7p702?k!%t`1keL;n1G($SUHU> zzhWEK8V(#@S*cWFe;$5uC2`52|K`#+q zowB~Cp7P4d*z8b#(+e-WaJ{bQURn!i8gNDy5IMlJJ*HV-pR{DzsBzX4(R-R*EvMX)y^`(Vs3^kCp(=$P%M$s0(B$sSVoR>K%zsL|5 z2>V88n)q6=So}^Fp43U?)bhaDckx{5FQ3nILdiFUhR!np;Fu%=O3;@Ls~q|9T>$uY zSj%!#g0V8!b;}s{jDcw#)L{6&BcOwRqQFgI$c93g6aDd#;qjJyd!y+D! zbaZt5Hgmh3B12OiIJIOIU9^uOqQfJ@K rTrRgA5w{Z2Q?_kyPjNq5W~l!Mhy!>As4JH>00000NkvXXu0mjflEJ!v literal 0 HcmV?d00001 diff --git a/static/images/my2_icon@2x2.png b/static/images/my2_icon@2x2.png new file mode 100644 index 0000000000000000000000000000000000000000..b9539745164b7755c75f2556c3f23922ea98c25f GIT binary patch literal 19679 zcmXtgRa9I}(=P7r!6mo{cZUSRV1qMg2pZhoHAr3{xZ5yzfZ#f~ySs)#1A)Ogd~2Qm zV(+f2+SOfEPj{E>SWSQmE*2#g0s;c=r;m!-Z{z&`9t^a%_x>g>#oK`BuB{@EP%}w= zjDSFo@JUe)=wo`;iQVXEY`As*dT6BE1Q+wqACfxinhZqb(27C)+-N-=vI+iStFVTK zjPt3VLV}+U_+^`vFN~M3p3u%R2Kl?<-0CeKivrGuYyaIJ3cHW1hgfzb=q~w3IsQ}e z?zhE|#jJ)$nWZQDDJeK)X;ZhU^0r2N@B3;K#A^Z4wCMcWeeoLT4(Pr5Er~S7#8=Nm zPwZcQK*gQZbA@4!Ie*1yKpTol8_KLnESWLZZ1g{B%)#6jg~bQur>y#=InS28?;ADo zKXK#KI}{YG(|hn|}?qu5XHh||kH z7xhS2iWrhi$jD7eleRU>=+@X(H0>R;OZ2R6v%B${w)tLY;*bjdaYqXRV7QF zxAA&U(kPeAy+b)Vl}FAMy34S_s>m<e&$rL)MmIrYw`?m-O5&smo~>6qhW1sqSz)avFve#LKBMP?6Sk!92%z#DipM5Q>12 zXow`xlrZa$LZt<{x{HOpnoX_8+QbwMyvPW|qVO0pWOG6NMlFlGo4 zeTF{7(#O)p(pK16-X#cb)~xG9b^W_358+18g>jV(nLNBKncZ9p^%2MAyapx($6j*P ztFG7B&NzC!H0{DqhRL@X#A?R?LtzNo|Knr+JG*_y@Y{F%6x#Lbb0@H#xI_|Z3-MX* zw>P=<%FSu(C|h>xTr%uwR0hQTWD_v7yX$y#i#f>|?kr^$T1gmn3utAlv2Y?)dhMKL zCvz$YmN(Z!%Qr%D057MF%~8+=qYc~{FRX=F*gb_X>VyIryP-^vtHj8kgXmwE!?1UImjcycjie_=% zHxRN=p^u{vnruRGxDYdPEMP&=rd}Md7sOHo(&MgyrE}3DkV-DuK4Sp{5a#VJLV)|p z3ocG^lb0?@yc5}4dHq9(EYeGky#v#Pf>=i31*pT49*A`Yy@HDG&2ez84&vNv+FV?y z2gD&3+q+0YNS~o3cJGso2%_BUiO#~A#0ty3dwj@L;*rGx$_l|MhXItB2L4 zNu)-6*KCR_Fb9c7#nk%|@`QP&iCIu3o?AeS)anxDX*fbF%<@vByq;h<7igi1?hLrc z6q7gM;B5UJDu$v5HrWK~qDunmNabeI4J<}vL1(cXhoifq-%x$TJ4S3t>>dFhnxtg) zgzNvxQSKb?UPo~5cpdQaB|y9OLxqkcF1e&FUqj+Y2kI^#JPSO3g{kQ}$e1UjnQ_}b z+t-uW(?J@CnvBCsl#vzM<>>iYEk&1hpM@g`2x%ugF@7M;Pe3jc5C~~Gh->enD$dp9 zezUh6{TxUq?^!b59>dTo5!^%g5WD0Q3#Fs#g`(Y^EfD1!HT(E+N8hySlRNp70^E6Y zt6h632M8sx-WD98Nkdl~8Y)z>>}Y<*hGtiZDmD`V?hGu(R*-o7in!-qM6f!bT0(FT z!HQ%XxlMtg8#C40XJWUl)*RYxB;L`FI91Bahe=s>NxOt$fcK;f-6{4Kyflo8q@;z| zCm`vq#`aRH^}@>a;_((N5rkMi*K-UE7*OJ2%^qTXIb(T`W)~?dM9kE$IqiX(5tgPFJDbypcVFjl?2g0!!LV4mgNinwj1-dkJM^tZiP#3c>Vlm|`3 z){{|j`BF#r9wo=QAS%K~K|T6?$Jp=8UkK72*k6&;z<4EO*M$VD-+uBX;6?11C@iqa z?k}*jX<5)~(|2QZG;-g0VFyGau$K7_OkH;76GbOAhTv~BB}8XB;3CJ@m^(J>)LYgK z>Q$nK*awA*7jWF*UN9~teho+G(0(7*C>LVOu}=`DX!~1@;&mCAL|Wv9sUXyrX7NmU z8CL^!;JQ?DQ&drqDB#AU8$*=|&WCn8AX{@A{NMze&k&xXr_~ZiX$`t+`OL`o+@sjj z@s+k}Q*T!6)U85JojuP=LM%373PCtT7ORXvxr8g8h;4%R_{3?$eW~ktd*iy>La3K# z2u|6BmejW@X^cLi?mk-ZoPu8I30@2wAvkRYj{(X|nPV8;rJi;<@HE0Z08*4UL((E@ZsYACDNU}OoXGvzILw24p;=G%3%;K zM01qT-w&1f1vK?sJ7Lkf^_UrbKk>iyKMv_b=>BcG%esieGi0%SjOJ+44biD=474lh zuum+=!Y^RKNIC91)newD@yrm_u*BP+h+_Gi%SiZMe!hujZZf;PCiS)*J3}AQJk!pX zDhP!~h&pK3u%}kDngY$Q0Bpi-aEtM4&9a+eyMtq42e}D9BZD{BcoJ7YYmWD1n z-i4&1ueI<;ch<&uIYv!=$Lo7D0=QL39jUD^)ip-Uwupv7$C=<|1Vop&8AgnhXkR_W z1dPU>4>FIlSMwZHaEv6T*JU=Wu>WM+=V(l^h4sZ^I;7BukXE{k@vn_T$<3FQyBfU9 zHnDSiit8)sl5`0ZC(O-%IMGSAPD-qNxQJt<%W}R8j1j@n=<^ZgmNDfUc!IQ+=t%^n z5JjO`FM8=EOif)eouMO5v*Ga#{ckS-^p5Rhp5EfSdJyu{uHE(!z`IUN8^eb<@!A;2 z!7z)pRGj*4;dF9%`TKRylNe}DJ^|@;nJ3bKX&v$hKrq&OQT}xGJteB1B!nQ_{wv`f zCi+ts@}~{Yc$Hm(WS;F-7RT-md#!>jDNUw6!ErMEYdPa+3?0hdzx)iUy0Nl^^!VD7 z`2&qKl_ZyFXt6GJ*CN&cY zIv(fVDpWPeiS%89B)*Dp@*`D$AUpY7Xq73~^#y0Bv$5&DfCN(Whxq1=rNP%QoS#CK zrlvwYRTS6|g}OO>T(FO(IcR1PALTnv%<_oUQh47N`JwQ>)F>YyYpsb8MA37Vi|Qnu zE2sp8HfN=@@rhmvsT6V3_mynZA6Sq@qxnNzoropMPufhJ6sv)2GHO+OMwtb%1k|d{ zBfY=IbMTKj<@GyiUUSDF{sqPtJQ;ue(0oVHR6)*lv?_0eAx%gq4XFSSvVtHamto1O zVF9bq8Gf5gEy@QWnkksDQen}e_5%vpYcUIHmVDjc{soU;b-d0 zZC=cakl9OT^Yn-B1zFOX3Rf)OJkHVuEU=@j(kTuTuyjxfKc@(lQJ0;1d_d798X8<2 z%p7Ch{Dx{KO_x6B#_NOfVf$!`+{gcCp~H27_GuM39FkPJNe(H-08+wm!`X%D(fZ~i z*qeWp-v6h>T5M!U7`!!X?j$#9>UH1#O$aB@H@kt!JS6yv8T9mLg8HW>F4n6H(IS<> z$n*m=!oCelh<<(zS!W(lLPKyU_??pAPoK;1Kpr1&SjE8tM&_X!^LvLVf+?>bp6+7z z5fi}>lrFc)n&N}=Q)Wis>NQNt=Fk=4RMx>F_&x!Vp~^-$B1{ z*i#TiKKXrX1ar;S21yS%gH?sb0CAZ}Lc_FE&b|Lq**(6GeWD<9vP*!6+eKmxTxJ)7 zF#cksOchf%6SDDZEI(a%6jLSLLOhc1aF;y3XO881qvGjp6ZF6#kOA#NZVReLO?KlQOS7} zRcGL|s&h}7S6dcI^znl_8JK^;PJfexx)Ye$!C{z%mBua2@i_wKn*MCAzn@J8f0N2r z6p06Y)5V7TmCFC6QCUe1)Xsj$oS%iIxi_D^TwLx;?9Q^fXMQAFepkd1xkGL*d6^gJ z+fkmKUO$-H`z3%H2g8`Y9p@UCiqBaJa=k|*F;88SLlm&*N1nt6M1eT=!0M8MG$%g% z%cj;8f&r;u3xXYOfP=$QmVV4bK*alfb@tD&!vQhk;4aKomj&w!@31wI zZTLBo>Dp@FZCyZ|(iRlsnFV=XTA{O%SpJ$NpSQZF>L*__%8Gq4(%A1G^|>*=#H=h= z9Hj3Eo-$Q$#P(%Ok$A=b(_i3!)qZ!m_(&uD=eLEo9BC8lj-5en;cq(N+y}NYG?Il1 zGY7&+sLMfoi_e&5ZD1u*g^m3CTT#T(nUMf=MYdHU#>p$)NPoU`wQJ98K4*!;rHz^A z2fU>voUWZbJn7oAPp3uZcdQou7X{PKt4$T*$U=&_FcT@7wbUrT6Rk~>Yy$hFBlRzi z9@d+RA%Zp^o?2xWh1?D?vje9wCuue~?e8aWE{*X?%nQ35s|vrcMtVQ@{reJA_3wv5 zH|EM89YjdJctvG1>%4K~v39O%Mq39vd0&H7QYE6r^HU1x=l^;oO|!a}2pgz9{c$oJ zFuTse1}>7Q9@N(gL@6|jAv)?J5x2(!g?VJob_qkiI*Y5W{{%IzX!hUXgu0>rGG>I! zFt1Fx&vaV3NO5;FUb4c|d{!{y@f>tSiYEU_6`HZ#?cPEpay1vCf`~OMVv%*r0T>Cj zdl7y>=EKivlxM;WPrnIntx@a4d_P}Bx8a#Jcg!YE5e|o5bUILVAAVRC{MR7jrT6p^ zyK4?u5sRR!@2!fCbNfA}F{B+!$B}+cQ{zN^JR1y5!wd!areqONK5T^C&sOqX^zK#@ z_yp9v90$xzZCU@_hM0#JnmOPyhsp6*ZA);ct;%Qy!T_D6U-PgMz(Oz*au*4YqsAsM z<{ZKYN+MeD@WNV(2;r}y4=l84Pc*2PeaATs2kn#BgtiFyQk>9er*HZKtj7h4+;@;S zj@)+I!VjULlx2YD)%dn5A<`g#+uR0({_6VZ2J^;G_LH@usB=0~J8Zn6R;(5<*81=8 zel&l!3-fY#gN&D-rqMn6SBuiBpW!3?9BEsV;V%rZi5 zQIZqcezGeVYy&PRKqEM0;q2&Z%u)ucqvYgRHkAYIx61fNpZX*R}^rA>+n3b9{4ru zbjg#So}u0?3xqm*qAttKjg{7@AQPe=XgAFzCcJx~!2pY{Lv{GtjFdt8C?^0Z8(tFU zrkHGqj()O(KcO6l+P-fFXW0EbvEIuA*|>~B-F4^s#xY&!B<6PQ7WUK9#J6RsM6)7o zSJsCTu79xz3sc{>FTaa>T5eRRtMKjv!sjb&KKrPF0_5OYHk(@VU6v0=HusqEUT?>U zGji2{WTnj(9;GARJa)S;*n##~X%YUO(6v1mjdHEql$wa0cdq&o(RQUDnA((vIEjYD z7AjKk;Rcrz{f-FDW{oQ{#ysykZPOpdZ{heC7uyS*>LjM6)T1p!yyuFw4p|$-w-ZEc zw`U8PgpH$O-KL9?V$fK9Q5U{{r$S*M(}nD0R}c=FYZG?ZeahjRVmt;$u$}w3Haasw z`Pgu|wQ_D#znah?svIvzs-H~$t+zmvKM51DUf8#N4Lf)04%nSmvO<2t`o)_3n$P1H z&S^`Yss8%4usHLLPbxcu|1-bHslxsiq7|$EIt!5lp8IkS5Adc=F{&`Su3wP4JJWQr zgq#ZD^c+HznxFVZaN&&tmdWo5^~4mUJnxq6-$(733hiK(!>~4B!;-&rTMq}u%V9*a;SP0`A5!rl`tIkkB6wnw-#p*Ql8gyGB%C& zCSpKH}==%qgenft?+HoGzs}2y*9S4*29k zO@j4SCy7$6@By)D>^sKT^mi*|0>(o%)W;ix4qOmnq}*g%3Yj-=T*nt^CSArxg<;Ta z7;Wh73K6e#_70;iM9otbjUMmhVy#w{h5{V4L#rM$H-l3b9V5zT!BN?g zvk8)_`im>vVi+zuzGWwIe?j)|J+HTal!|$2f8{yb-+Zsgz`r=3bg&+k(I7S6yxfPg z8qwGLZ|tH9MV16h@g7IBrd60(g;uR=S1Cs8YY&y-?SB82_#(oOPyo8I;R4+xg-s&yU$=zju$_)`sbkj=2>5RhpekkI(W$|z_&zi=CzQOZ?f&) zv3|2c8%ouT{j#PUo9((R0v^u3y*(Sspuh&VeO>mUFFe%n99Z`vZ_Vc{YMQerY4;y5 z6!e~T(KvG#%@`Y|?Lh4a`hE1}-VQqeW!*QvR@%-b)50vh&5cqY@hq*3=NahHwvalHZ~5 zdIt`wY?o{sPkCGhH&e1v+}@m=sYQF((nfAoe$ApOrxl_A^RFiCeqAQ5iKb$CDTfX* z+ZoI+JdHF{Mq2Xdg8BZt`0&1OypHmmKgo~e(7%llfATJeOU5ZQNmlI=|6J%UMxWJ7 zo!&zoyCIoiYnbb2Fm~Yw)0-JnE&O)m{+_46J~vZmueQz=i4g(=^%VFf}(GWBPXX< zoB!qgY@G-2FL|qrW=!=xWkd!Xf1et;+9SKe5DW?SE8h;b{~7edF#Ax;*y1~IJ<3DV z%JNHrGXML4XS*iKnwd(OYDUiHXE%Y(RPb27*UEtfq7X;Q-NHI&+Cz?jj1>c%>+&9S z{_s6X_V6;)hN7d=g$=Hgw3@`vFRZyrAOQ}p^~BCJb7@0u*ifobuczfm4E*q)KnImj z@Ggup-+kqg%Vp^QB>K|hyq>)?G2n%9FAr~BEH*0FgpEe0d|+Wg1~wL<;l_IKSqR0{ z8D&KkyECWc2>aGD{IuUUPP#qRh#28ao!C4Hks!Z&;`yHz>D}*|y(I$ZKwUwDDCjgb zdS4^=3ZOy7J}N>iQAk2ys3h&{d}|yRZEiN1M`^rdN+R8LiNc26N1RF-{?i5^_`_oe zan;oS=??8_QGlzf8^aSEPC=}L%HeqzCDi}H8|Lw2F8MN{j$wc9rL(2oWGw;wIZL6w z{`Pt}$hY-n4#{jIy6yx8Cf!SgNs@p`<|US@P)@N2i5B<8PQaugGqd^p85b;vXSU8T zBRD)A@k!!62@Ch1M9YuU8FyU2%uL?Gz8LxkNWt$z+cdY)O^{I+>@Y=aTAXa)r1eG9FF|IqyNA5{8iD9G&E143^?I>5 z*PN~{?vE)*SiHEFcese%|DDjPR!aj}4L zOp+Fv6n=T!rhzrjGbS0GUr<^DHKCD4x``2T=2d#>`#($B55wPd_&Wyy)O(&gXyu^V zVe9!n!0fejw7^=Sl;vopQUT(iWxfJh&y{TKZB*=lp!9a>J*H`dAQ(??bcZj;c0hi12&i0qu%eN|MmF_lLS`$?3fR-+_84FPkT^q@{^8xecn7N;io1 zzQ>D`6hJH}cWuNeOTlUddBRsWRFfS}gKy~P`i6d!E4x%0U+$T3;1sv~(MH$^&99N#@G0#ALS^~)8<^uL*jSj?0?7!Motyg=LuW~`PC``I5=B*)j1O_(eU9}( z<`x+T!{lDjOWdfCY`}TTpK*V(KXHyCAsV?vk89b0yav?!L)2C84PAe|(^nJms&74# z21syj)yH%U>A>!jF7fn1uXiC32O04P+4^_CtGewQUC9;(E1Hw@nO4-2jC&-I|7yZc6Sx@r8jGvFx>v8-J&_W=UGGSy3E&XQV^MEllvB=Ztk$` zy?Y(0u!oHoYyr)vJr)mGu{bisb2%z~Doati<<@0vjJ)O;oe<6KPtw>;#=?D${2x z^O*cPq)T%9ul$}8S@Hp=UZyL5s^xTiX&uE>sJ7~vGvOj#;Kk`0mXF#d(OJ%>Mxg9C-%Lw7;q9d7fs+=YzW_2uq z1j!k;>W%}FEUm)G7lxg!scZ7d9zz?#WT@`b|06ebzx&T&vV+j=&Vdg5a^$h}u?=mS zeMc2_v~nJ6G@#OGxNQq)DL`ZXC&^0CQlH%LM8vY$3(%EC*nUhTd>jMfzKoMKNb&>z zYEJ7RzknlU>|ZpYbO+;~c1sTXUxjrbUK>g5+09b+usVs{n$?J!Y+bx~haT?fZCWaw zZ(jI+zJgQs@Pg_#@;x0Fe%J8f+`EzdT@P^Qw`>-1cbp*bne>}?24Di*GHcp;4`f@* zY9`rdsEBnNK8Cyz?cRJE@?E~zhifdpjChx(w_K->ZEr(h+v<>5DyTz&04l}`#qOL!{BZ94aVY>*i5!Omy?X;vJK66REmE- z(RFb&=wg~Pv~UZx{=yzn1kcZNon+mAV^oAB`AD6TE36SI;9r&NYgbLS)p}s};pM?n z&V8OQ#!brw($hV%;a{VAYIy^(0Bb61$rCLa&FrsmaV_K{ku5j^R9coliPGCt+9%_d zhlEeHSkN-28QyXuWG^+`Vm5N>iRkbekj^h~WP@ zoy?n@e<@hmskFr)!$WTb5WFWaVi=x@P5-d>|#gHV#|wl zG*~0!&!x~e1P<3bG{ZxY-`jW}^7}(W+J2!Oi}*Xj$$mAFW}L^IoRrP+Cs}@;mVXUP zu>n;;uC0#9i6t{Voeuz_@SXPYnNY|{-PQYj3A>-4@0SyvZ;?#ehDd`Oj@QX7RB5_g zZ4#usu@i|KKYIqU1&z&%)9wEwr5Z+?aGqRE$u}-yc&9UDkkaPzJ&>tp`7%W0vsfkVo-<_^``p@I{cLSxGULLgIuyoJ zT{oIcVPksDDYCO#{alM8;~_?cdv93~B^HQmBNO*M*23WwZ>*RC$+Z5egNkpQ77yH%d|<1vl!kd82V&gl+Da8yDrlFl zeuWF7r(VdG1pea>mRFLAzX?KR<+=CSpy;E?lNN4TX~Y_k?ER|pVNF&I=iXB+ljo4( z`+~`2ilrUwN5TDZ<+0W8zg(JfBHnrCg4-k^Mzd&{2PNr2S86XN)hPLgT8&fB{}qz0 zFb&gYmCHMK7u#?1RL4KwH1y<;8#^iO?O^Tqat|*_jKjZ(N_MGlhkLi~lDqE(fQOzw zon195FoFJMx^a;IuLEBfW>3N!#d{s)IZxCCz0f@nOJbUxifBk8r+p+q47YEgM?hV)| z;(GVK=b+v3zD@7k38-ENCV}jY%7tSM(cErg!^?2z>(WF;mo=}!ZKdBlgnTZ}Bb5zn z6|)rXA2+W5;bJ{5@4+L+UV_l?MxRZ9(SIeX425zY=TaEE-BnM^Mfc5rKF+v`dg9)V zs%O-C_MA05orVW3LKFbgM5l6(f&i@=fBhS6B_oWaLKSzby z4I8=Si=x73NVj(zft7W(8zk%9nAck#A>`wRAfktka*;H~1l7EmSd4)77nT|AF{!x~#>ldn)bX zdV_#ry%;n(?J*uYnk>{2iecO+KL2=9Yn{csq0oJkiu26^7iV{> zpQ;N+3Yl&Gt}W@p{kMIch8!esfOtYhc3W>K?De?ISi5@AQEu_WW>-G~jzt{Wn{4Qe_2l-_Ac>@(0md3cq8_lV&!i4k<^X!s;EIUOTAV(A31sa0!&WLcnls;qAl z6;RbptZBM&zlE3QUZm(krBLDP8oI@(%4Z*z!Ufia@x_3k;iIkh?|LQJPSrM~vq&t( zebGkRPLCW23hZ?g^8#t@wWX8dfN>$d$zdM`$i%%lBZ8c{LT%`7)9Rj{!s$X;F2~@l zyZPy2s`xsg+PIjjhd@Z%J<~Es8r$1hvH(q1*CBt%!VEE7H$w`#dwkcFd~ZRc#ClW! zozI!pD;d2Zmf_(r%?!tEj`H>7XhIYV9?7Ef3cCr z0|V;c?Zoc~W?5_qpK|qe&bWgKLnul97xr5q8sto)BcfaHq;!{e(5{cH39)k((XE*O z%k*WbTJnNpoQkYu+uva6bUmmB!Avyi>ZUx$zk^_zOF_=l@};C&`Hi*8A2$maAWh`P zxWa{U=Pf4(iwq=ZI9g=z6c}}zE+pYQreHsm6ZeguDh%6GiRq9dj12PRASL(PGg0l` z73NG0-jpW#@_ObE#Sq0pKZ`84uY2m4qfbzfrZ6YU$2s@yPf zBO-q!Mz`pxKEF^><6-`xEr`_uKn(dAllt->P2T@=Rs^adNKFegmhC^_ASZPJRB~5jCJuB zIMxK456jg%vwM}r9WK60rK8-6TCoPq8~n*}E&`N#2-ZSUMOfuQ5b|4o$wof$qI5pH zdJ$S)(&!*pX{FLt4>!2A&F1+1+1KC^E}8l*LIU&0#%;R1-vdyT5oo`El>d(g{d9>^ z7|>>nERpSze3vF&Y;$mF$=0m<3EcxTIHc%`>R4B*pE;53F54NWDgh|Z-$bCoV!8X zr8kiI0|S^iP9{M^f}(~S7gR`h%`s6fi1P1o_?8*r?Tc+dxh74k&_ptomo>+HVV|Xy zqNj{Hb1EE+rjd7>6-M_g%N;xAhI%#^^ss%@9fWG-<5mi@Li@h1Phb*vc1qI5nLt1! zV3E5L@J}_(%h5yn>)t82(5yRPRN-KM-P$I|yf<2qi^mFY?Zk4+llFWMg>^C;64W`$ za)G!|5%g6*;^bkZy^_&M#>P1c*4UlQiv*M9Af=Wu4ArtiA{%UG@`TWK6X}9DgxDS; zgWk>;|L!Wpj}>{s3t*{ku%e8m^d55V^R(7v{~!mN+wv)!^S!#dc6q7WQ&P5X(6lnD zzV2zzWS$g_IJgyOKM6t*=lOyX-g6G z>l8x14DW5O!=hC0yLa)kD|waW8~dNY<;oGO`$4&^w`WRH{#9bf1PODv26lak)d174 zgOySPL+-n>xY`vh{_;l`dmY5ueSaD!#`EV3rcEF`|CkhUSC2kP5BQ~eqeENRrCB8H zFg_k>6kbUyvAtX!o#?&nda`cqC{EJe4tS?Z=Xd(5Z{uIM96Yv)<`Nqmsz>ewc2*v_ zvmOQfU98lx<=^#d{nO(I?n97|3iN>QVj9e{EQ{MXYr{P1lAVERs##x`^ypoa=&(Co z>(hn(T0u=r1BGS+qGGBhG_{)M3mon_Mc1NI@@SgWfZwz76?0ad7WLY zbBGIe_Oc5VKu}V?eg&907EOurp^1{uQ?-=XVpcUBXHa8nyy;jzQ1$5Sq#Vc(%vm2G z48RYZ_^e9W`J| zNzzsZboLn{`=D7W|7U5`;?INKwPTJ3I}qpcm*&44`UFhUcx_hnizZ?i&B(5o#8{W7smLXAmE^kOE8ZM;vKpRMTVXL{ z6o+WAbP86nA3A$l^oTs#fo?#4IX&;D%OUC5dECxjoV)(wK;U+VJKYKUe?5LGyxz=( zS0FsOYL7$=X8?-zXx79pP!EJqPB%_L$`QKxUA{9&Ibv&V%|a)GB~#*JkPa%{7K9QnTP+Nk^jK3~bewisJ}!zm(W$aHqnwdI;GkhTKxdxq zC%8-eSEz|-Yb+KxFe1{dWa^h{LqVDNc}w3T%jNal%jQ)V`%a#Emym@u4av1#xa+|L zQm(9<*Y66*5~&Y4IRS7=)Z~fK7ZsivgIYXTmfJL^%9)N)xQK^y%kY3z+Aq*NENm|4 z9?epiyo_O_){;iH4Q3qvYslwo_O;_Lt0&~yBtZf5HPf{atp#>n9Nnq97$8J^aA7~w zvvmRYhrg5P{e?vG5pVR8e!31`z^>paZ#6VqcZt_0ukCf~t?Np}3S!Aq>ro$G#*ZDR-?q%a|EfRVbDwsEAg@6>ydy)xhj)PZ5#l2Fn_OpC9 z6)2-|yYfCYOt&?dhVGXCsR8umF*L6Ahc}9DsiP*lyr69LT_D)@#o=)^bKRfjFuSb> zJF(bu25X91x}E1%-dfd;mI~Rgh zimgvG8@QzYFK*obIDj+eif7k4$$lHh4D;6vW+i%_7TY{^PkxPVk3y`xu$Yc%+KC^% zXVmA!4#}^3!l}W#I5`CGvB$nj>M}=;P!S+VO zS)=KE{?;?3+b!KK`p>FY?xtB{^_Y@8a(EJ>A1i=xC)rSf_Nr zRK`&n3(?9wEV&-t&ZN$SJ;5QYyM_HQG7_3DJ}K7KBZ6#VFAk3`?|<(7KmzzTr`%5VHUiqRVK$*FQP$Z_IRNFmcV{H8`_GX72If`BDmTqTGau4=rn^3hN2Eb5G zgC&{Ibu4GBok}1j40&5*z)|Qv=?LAAALhI7jwf(uA}5S>{|XB;U@T2{u(NNM6>c^z z*j+JfA%t7z1gM_q*lV)^VNc(TDV)ojqZLqDC9VM|8D6qP_&`azNOX1&K%E5W%_Gsd z@O3Z<*{!kkzSStLfxZN;?Y`i0PVp+{*@gPkOlJ`P-8Cp4qUy2Hvv{>tU$>#c%Qj8G zp}xSxSCGUfz;4(v1xeu(y?%-0n_9}ukeMj}Yq50w6w@ikb|?bGkm@A3&hofL#-b@o zcAIvac0xmrHAAkhsHXnw$NiCZexlP`V(?AY!*|A5T}s3>}DTQ14slt5;>jZ}Qf0v;2*-xe51t-RsJ_6uMEm zjfdUpuAI2zg(qo=Latx+obq$Kfi=ND4nPBKrFbuW8ytkBD5a|n4!hsBz_Q3gkCk~m zT+$r>2E1(v&goI~H<4hNpRxMi((d{ZTTp)aG4)}7P9`P=|Ngc@oARMvIxUODEz`<`py_|-MGUYyY4nOqt&F#T6x1=sT3p!hyYi>HP1eY=a?Bgjs(0sC}5KW;`B2 z8=1M<)$yh~k`2*p936K2M}w&VmszTXR^ z7`i;QL~@-^12l*v(ZSED4ynYH;iQ#m96C73_}7r+2~J=Rr*9J$BrUA}(n%%Pi&`2# zY%yCtW{7DrpaN+$ZBmeX;nP}-L1QVYGYQ;jfq{0%zJPVr9*iMz)<*i{(dPEJ+K+ zFOo(r`Z%-VZI|pr`F0Wxtb31kO1vzU(pynFogbFTE!<0k`p74w5Okomv`^FSZ^bl< z%_c*QRrJsPi|&>{cii*0n!OBxfl&_wJ{n5R7wl-#gZqZW+}$Z?L0ke>Td+vVu5-Bi z#E1Po80}_8b=yLv&N`+&szM!ycdgqau$rT%4<*xak@O?hPoZDLXlR~S;Y7vMkfjP* zwlG?Nec*zbUQW_cJNW|hoykLJKM!}g{2a`mZhX3wXWJQrQ8oBO)+*7m3iuWVCR?}Kar)o)PG0GeWsKrD{sMIS*VoS#Yvo%9VDzK1A-zRb; z_F5+D8c<}Bp91G3;|tg6;m*lMHxV6!s&roCbCRlbLr!_Gr))_uIg*uK*rnk~fbkFK zcb37QP_#7)17gUjyWX1pASBT~_HU`RF!5s_mcFK+(80yKe)B8~aQTs~uoy5v=`#ff zS@4Qhy?jQEKDTNFgm8N`F_i-k@fhj02MfW~Z`G9Ik9==48kbB!xDYobnYFbM*j}p? zEZ8N&=Y~+}-Y(FkN_T;EQxrR^q;1GlR#8q4Pd!Bpe&#s-sj2~Y6gpm%i*AI)VZ^KLI z5Yc~BtWRqup|;U}{>Z=j?%5g9lfNqA^F)Q>Tu}0T%Ue{eCMf|~&|mW)k%d~Xh|suk z>GBG(f{g-9ceD?7y?2G373U*@pU2}YAV7FPF5=Ek91g}rO3Qlwmxyw0CfpN@6t7R0 zNJ+hr@8~w_!`ZVY75N;V+$Q$Y9&r!@Dro|i9`I8o|ka&$%1`2jSaw!G_an$d) z@O*Dzdvq!Y{B&1XB)EU?m~~$9G$8U^WeeAxZiDAq@5l1 z*xKcKzG$)ToYJ@dFFFjx^MF|xuA`&*m4c;;#rrN_6BNwa%I)(C#!JdmLbC&)k<@@ z^+TZY2XR101)tZI=Lyy7&7BZ%kXq4VXM=4+f#B*NUY+)WRdS{Tjtnk$po*Qp7%mSP z^QoXrJ(D8LN1^?BRHi%t6(1u7PPcjR!p#E{ZUlxmg~tC(kcv>aRgkm=Ngcf?)a$8M zFdF!n%F{6L3Pk1MeNz=FfW&Eu80r;ThYEIhPPjNla!{p{S+K;D5Rc}=Y8%crU`K^1 zRwaJdT{+Vnz~pyf=*2#(7wiKn?pkcC$9a{8fOTr6_B!(`-(kU}b#h2wuxw`sG%i$S zM7kjiq*|#Nv13$7WuFsN&7XXzSGj`RM##KMG2Dxw^4rF=&Z#=FI(bFXq3QfN0Mt{V z>dado4zja6K$NjrR$=l=SA}&RoV>}ri}UL30ZB~4d|a86aHRQ;gR5U`(Gu@{g|pqdsw46FgGWOx=_!YbtJ_>hnPy=t-ZJLFR_ zT-?@k{cHu8hb3%}m1$Q9sDHrnD#z;g_e^snnhQN83*hWhDpey51PaaH%S_f+emY-mP`G6Jfnu?rR+8#Rc0%gK7SNN}%$8 ziIR?r6e|Ch>?|Z!DsE#4=r61;OsrPho0YxJ+^S6nuz=~dEAyh!so+V$;Z1cr{^awpaEn8{G$hoJk71pH6GNw_13@#Uvcxr) zqVYf#+NDU`MpMH2O z`Ewl_UG+Q8W0)5o|M>~|;=LMB{Plme!ZgqNE4@zjix7M70#OAP9K*V-Q7MiGD}cn%E>A!@k-^e% z;C~J8wpVxTa8;!f>(w}>qYTr0DwJM8BS4j^6_twH2B{U!1Dvi*i@|;#z#P)rt{QC> ztWF!EITpnwI3{oUdk<28C{`o>oHyV!N21}tZB(Q^Ag#c)3OIH= z)Y;)NNd6o}6RPlWoG+!yv`3Zvm3z2uUcd7)p9*yVsQk%c2slWsZbDcLrdrXoU>H~j z7DGWo#s40t&hBuq=vE=32P#sovg-#LdZ0W+%$tgihmHG3$eLUXwy2bh+Y~nb9EX3y zfbt<=0I8=+%z^khge9+(N&zA~go{Q)r(NB*IWs5SINpa4&xdslI6@Sg4b4`iMmI#DWa8q}`D=lgZ6^Eq__(=f0OELAR=7bi~wEDkdq z>}C+JS{;bGgM@2kg^LNmaN1brTm;Jl*M&4&3Qz?V!$dTjAZY$^tWGpL#<(do3X4}M z4^z{_!|i+x0b(demEnC(Xo3p)Z4pGOMtKvCMg#vdM;Zi@5ASF=gkkCjQ6+z#&Gw+I*WE#_JZmj{Zf6{*)sfP{eUf+>S|CF6FgS9qSU z(TUL+N)9@jgo9z4-aJI@3KVYlWOf+^{Dn=>0yrsXe4ZhrKCdUMA5;p9hcu`WRVRK- zGeIBw4hFt9s1UXQ4d3bHsH8yNoLr#sjOEVe)?mhMcp-czO)5(lF4U z_(-w%SaYm8u((YdaAUaq&zlgxELV5j%`7_?zNJw!xN39^~W!Sc7s6TbBk1{ z?FY`$2TH%;0l-qYRI&J&c02D=6T@F{k&)ryigGRwRI~cs7%<&UKVN&ec{SsWPDgZ8 zHLE*$Hwl(Pq%R1nqYoLr^*--J^>Yl6f4mMChjZNKr|e1~^2g#%ICbs(u}Zqak26Sm zoR5w|rB~gUVDZ-nhJ%S}`3o*mu0eop-Gtm0_D>;;LF)mqd9VF-n{}Zad1MUBB~j^nn@x zmOtsy@DP2e=2`wi2_uDLu=w+!u+U$mLB0Ax#_eI0^V__VK_}YF(gYLs|1WCX9@d0WdVEKzDm>4NsF<>!V{^CsXF8$~jvJ^CZ zjjGxRIQ3o<0~7zADo+YeKY;vqs!^gCB7Yo4RU^Lm2sn4+oQvZJ)DW=vbe(FA3Kw6u z2e6QT=|^jrn4YKKh+3ka}Nx+>>@B zUtg1F4FYQzT)m4m1$NY>W*ta@Or-+a-H;d)y_`0$M6gTh|kw4(Ljj!pKO#0c z>OQ)kvJKnKI$%aop7?zS0wt)>l;`hp`sE8n$ zB|xJd%3ZHp0=2Kh*5{W-fNYl{)YQNxxjQ34qaS$8&4fuE_a#u1I+BClXH3whx=TxN zrh9m&`tHj&AO8sK2figF;~(cK{l-$ErgUJJZ+kqCz!IqAdES@bdP+xN3DlGh?DB1o z=Mh)}bv)1e@>@^o2rPk`(t%yR?eRPUOQ4SDd0&3(DII|&P*Xav%eOtAM_>um@jUO# eZ#|_W@c#k+fw!}v(~t=O0000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&0?$cAK~!i%?U+ex zB0&^@=TCMJQE5DgQSl}&AOw-b1rpZ~@umnezd%uMAqG6TAYvroK~NBJCqmRbrXFDi zG}_%2x+c_j5b9NT)%&`ZuJ+gd2f<}nh0CxCmthqy!zx^cRk#eRa2ZyiEHfMq3xz^5 znRL6|CX?yn;zAGvolX}B1d7Gtcs$1Iz6Uxo@9*#Ba@pl_LF!)<3FEi^Dx1w-US8rAf^c(l^Btq4R0eX@Xfz~6r_=fT z{Jh)kuGgWJ%V03{`+bbk zK)%e&%L^G3_-!;A7(EZTSF6>+y=Jp{u~=YKF*0Sg+pWXlfNTJmX&9A4tyUwWn#<)d zq!^hpAV5sg=`@C<1C89@-%lnJEGtH)%-!7`n82f*&1M*40GTqd|ALI)@5eG5$drM1 zOCpgNjYe2z135DA#&~^w1s_`UdOg@tuyqAUmVu7{e&5pq_GsnrP{}fIg2eu51J4Ni zkc(s)vh?A1xm;pM8SC}hZnqO349P{N44f3POoQ9oTQz0i`vl80fK#@bGVob~bXD3GH?pLq}kJ%>e(6%*km6 zRI62z;>kmo%F`?q3Ss#;uui}kp8DI{8-|V$i^bHGIcJ)kkIK{R`uZBnG*E4tS*=#+ zRj=3Q^ZDO2fObStgf`(li+#vNvJ8AJ|9Ob?IcHP(8p$%N)hZs3>vTFyfd;cOE z4U{ayGF*mLxD2as8CKyktiokjh0CxCmtmD3B(vXt06hA*@4?2KxBvhE07*qoM6N<$ Ef>3aHSO5S3 literal 0 HcmV?d00001 diff --git a/static/images/phone_icon@2x.png b/static/images/phone_icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..d4bf6f3a829343f57c1e0c538db29a4054a8d2fd GIT binary patch literal 5255 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 N002ovPDHLkV1k`+6%7CY literal 0 HcmV?d00001 diff --git a/static/images/phone_icon@2x2.png b/static/images/phone_icon@2x2.png new file mode 100644 index 0000000000000000000000000000000000000000..cbcdf53282752712c66d26534cbeb87c5ad4429e GIT binary patch literal 24732 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 literal 0 HcmV?d00001 diff --git a/static/images/u8.png b/static/images/u8.png new file mode 100644 index 0000000000000000000000000000000000000000..3bf82a697f50069decb215c0e01e3fc819d76389 GIT binary patch literal 312276 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

;h|Zx(tHqy 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%0A{=USpaZsI^NHFG1O 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 literal 0 HcmV?d00001 diff --git a/static/images/upgrade.png b/static/images/upgrade.png new file mode 100644 index 0000000000000000000000000000000000000000..243ea25bd562673f26dc5d7d93a5957c065f1744 GIT binary patch literal 39003 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

    hgThuae*?Km98=&m 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

    {dU=tm>3)h(^u4nmKoKRP5^RqZG(19v4 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

    ?i@XwgoxmKMmPA7t`xlXy?nuiy!D^qFF^ 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Ð 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�ZH7K0#xcbLl}HXuh6=^zJTz8A}9r6A^J?% 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

    r4E5xPSGvY`hITj5K(Sq*PN|7-rNkG%lxdWD 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 literal 0 HcmV?d00001 diff --git a/static/tabs/add.png b/static/tabs/add.png new file mode 100644 index 0000000000000000000000000000000000000000..3dc048afbe1efde152e23b3558ea4ff7fa94f190 GIT binary patch literal 3540 zcmV;_4J-1AP) z3(!_Y8OQ%YBq8&qLZGRji5f3Xfgp?ssD)fcq!=KIP%#NmGX<4QA&HO_SJRqp*7h*xdwJh?pFL;KvwJQ(^PdmqJ!j9e&+qKH z?0NRtPY7hL91frapi}7YQ2;&-phcNJ31EMj_No8B0bsrQE44LCj>-b~&H#D=_=@`X z2?-r%k2(RK1F#Ih3jlT}bgaZn8o{3d;4A>$0h|Ni7>BkzrA`2;r4H>dE@=UO1b|@x zh5{JifjyPV%K#Pwco@K2{+ZXf_zwPT1zYNK9@s-EAB9eU#l9NpEBKKBE&|Zs16$&h zwEz|Xco4upd@{@@@O1z#R=~S?V2{nRHFN^}#S4psdo>ZjGy!Z7fXKM^3t)}_PIm2g z*FC-;fXV80EQzuOz$*a$1YoavM-S^G_1@ny^jGRs^=jBDA-lE%xD~)%3DvJHuE4ic zz$aO(a~ptF09Gr|68QTu>--deF6tzZuaP|gbhKnI)a&4M0Lv}bNh=O6GhY?JOBOEa ze-*%e0=QHFB}V&?6Tol*%n(3>rCZY-0%*a>fgAeNm=5~80OqNar>TRJwvu`YV7dTa zjoG$m1kgEa;7=03BQcz^L;xcNQ0EEkYU(e5dj#-dj1zlAR=^KYm*psqSSWzLp2M!B zP6D`70J|c#dve;rPm9=ac{x8bg}}>oq5y6Zz|IIh_=NxtOC$LEBQ*ADb-7GC@N#t& z!2AgQSRsHmX#!tw*ud=qn3zG}787jS^5KFm!o;KkM`qOadJeP}i{>_Va; z^9yL!bS=^6ze@`I@#@Ud8Sr8XzMH2_^N8>#B>{de@!;nbpsY&{*!-E``yB!})h756 zMCgeJ5ad{ci45+y1-=zAp6s^;oWykt5&mEs;AasIBtN=zDZsF31%b!&I$Lyc^(7Uf z-b@p#Jq5sz6N&)0QJSlH^MTr{zj7AtMgSYs-$1)OZp$D5j}x{V2Vid1Uo~gOZG^L{ zK@IBo)-#S(G55=em&dSPRiWT#c-rglA++J8T6NT_{Ad;Kt2@9Dj~pVOey#J4TjQAwq-2(@V zQiDcG0uO7S3K=`Xal7SAqP0ot4UalEZ#9v+qFq3f9flQX^Sjn(6@4%l=*v2R5L74&IHO)3$;5TS~Hv+G# z%vRAYJF?MJ@N!Y22Q=GA@JBM(qU)rs*g;{{ zUV?8LbpM!@#Vvyg`~RN7j;LiNfSsCsDQ%2fD6Ecaq88xOmF)}$chLO)ZvcxJ?1)od z(Cn*gqm3fx1bnEer!^J)UIv5PXnuc&!G^eHm1cik8*P<+ntDD<1+S~fM$tKC3xf@D zi_S(a@VbubRgZ70`8^BZhU^_;SqQ}#U&PI;QJZysZ;U0fBgAH+uZZTvo@YXK%9Iqg{RhFAGe%g#$bZg{t ztR#J;S{k)h`MAf+`_8+X4NpqmUMwMO<1_efgbu>-t%1VoZ^38TO%^JPTecC#<9!BC zSrL0FgB=uBo2cMFZ^0l+c}%m7{JJ%k$rh7R2Vjh5`$Z~XBk7_8FR$(&_|)TN`2%4a zAHh!~tTkWHWQ(qoe#|-mzge>}7x;CANS3ai!I!xJClI!yoYXdoj#VS@x*jh}ZzjX% z5VpCJDX4)`rl?DOtumV_Zm}tW)Bjnk*z7t&T=)+dW7a7%X;w1YQ%(1JHj}0g!5%q1 zt^H9I`X=uqn1IZm6(MaeTKnCH$>^5N8#gP*F|VNcw(&J0DJEql8I=mUthanF{0 zLSxVJVB7Fc{Rs^j$k+&z`SDLAwcK_EjW@81bAEg)LIS6Qi$jHXtW&+Z){b{GHbm-j z11E1(iHnl5rLCHaPql}8T^`D0(}QdCm+!2*RBU#T*vDkuRpChvoHfio0wERLj__JR z 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Â!|q~0!~8sn3p)v->E1%pXcN*>YoM#4Z4TuZ}eB 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

    yEo9+NG%~h(gViem${v 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�ln!<2H&Q!h7Qlk5Kt?F2;>3GU(%PdWbghTgT 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∓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%0DV{58 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 CQ8~~6 literal 0 HcmV?d00001 diff --git a/static/tabs/gongqing.png b/static/tabs/gongqing.png new file mode 100644 index 0000000000000000000000000000000000000000..9b8ac60d559339028ec015131560b6c0488f6775 GIT binary patch literal 35220 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 literal 0 HcmV?d00001 diff --git a/static/tabs/home.png b/static/tabs/home.png new file mode 100644 index 0000000000000000000000000000000000000000..021b1cdee7348eedac08b9538f2ef21370ab699c GIT binary patch literal 4289 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 Y6tlIh<)@oW&YuKeZRvoanqRx~KWc3rxBvhE literal 0 HcmV?d00001 diff --git a/static/tabs/home1.png b/static/tabs/home1.png new file mode 100644 index 0000000000000000000000000000000000000000..538ae02a5fb5605592d6483c98a19961f77b3709 GIT binary patch literal 18631 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 literal 0 HcmV?d00001 diff --git a/static/tabs/my2_icon@2x2.png b/static/tabs/my2_icon@2x2.png new file mode 100644 index 0000000000000000000000000000000000000000..b9539745164b7755c75f2556c3f23922ea98c25f GIT binary patch literal 19679 zcmXtgRa9I}(=P7r!6mo{cZUSRV1qMg2pZhoHAr3{xZ5yzfZ#f~ySs)#1A)Ogd~2Qm zV(+f2+SOfEPj{E>SWSQmE*2#g0s;c=r;m!-Z{z&`9t^a%_x>g>#oK`BuB{@EP%}w= zjDSFo@JUe)=wo`;iQVXEY`As*dT6BE1Q+wqACfxinhZqb(27C)+-N-=vI+iStFVTK zjPt3VLV}+U_+^`vFN~M3p3u%R2Kl?<-0CeKivrGuYyaIJ3cHW1hgfzb=q~w3IsQ}e z?zhE|#jJ)$nWZQDDJeK)X;ZhU^0r2N@B3;K#A^Z4wCMcWeeoLT4(Pr5Er~S7#8=Nm zPwZcQK*gQZbA@4!Ie*1yKpTol8_KLnESWLZZ1g{B%)#6jg~bQur>y#=InS28?;ADo zKXK#KI}{YG(|hn|}?qu5XHh||kH z7xhS2iWrhi$jD7eleRU>=+@X(H0>R;OZ2R6v%B${w)tLY;*bjdaYqXRV7QF zxAA&U(kPeAy+b)Vl}FAMy34S_s>m<e&$rL)MmIrYw`?m-O5&smo~>6qhW1sqSz)avFve#LKBMP?6Sk!92%z#DipM5Q>12 zXow`xlrZa$LZt<{x{HOpnoX_8+QbwMyvPW|qVO0pWOG6NMlFlGo4 zeTF{7(#O)p(pK16-X#cb)~xG9b^W_358+18g>jV(nLNBKncZ9p^%2MAyapx($6j*P ztFG7B&NzC!H0{DqhRL@X#A?R?LtzNo|Knr+JG*_y@Y{F%6x#Lbb0@H#xI_|Z3-MX* zw>P=<%FSu(C|h>xTr%uwR0hQTWD_v7yX$y#i#f>|?kr^$T1gmn3utAlv2Y?)dhMKL zCvz$YmN(Z!%Qr%D057MF%~8+=qYc~{FRX=F*gb_X>VyIryP-^vtHj8kgXmwE!?1UImjcycjie_=% zHxRN=p^u{vnruRGxDYdPEMP&=rd}Md7sOHo(&MgyrE}3DkV-DuK4Sp{5a#VJLV)|p z3ocG^lb0?@yc5}4dHq9(EYeGky#v#Pf>=i31*pT49*A`Yy@HDG&2ez84&vNv+FV?y z2gD&3+q+0YNS~o3cJGso2%_BUiO#~A#0ty3dwj@L;*rGx$_l|MhXItB2L4 zNu)-6*KCR_Fb9c7#nk%|@`QP&iCIu3o?AeS)anxDX*fbF%<@vByq;h<7igi1?hLrc z6q7gM;B5UJDu$v5HrWK~qDunmNabeI4J<}vL1(cXhoifq-%x$TJ4S3t>>dFhnxtg) zgzNvxQSKb?UPo~5cpdQaB|y9OLxqkcF1e&FUqj+Y2kI^#JPSO3g{kQ}$e1UjnQ_}b z+t-uW(?J@CnvBCsl#vzM<>>iYEk&1hpM@g`2x%ugF@7M;Pe3jc5C~~Gh->enD$dp9 zezUh6{TxUq?^!b59>dTo5!^%g5WD0Q3#Fs#g`(Y^EfD1!HT(E+N8hySlRNp70^E6Y zt6h632M8sx-WD98Nkdl~8Y)z>>}Y<*hGtiZDmD`V?hGu(R*-o7in!-qM6f!bT0(FT z!HQ%XxlMtg8#C40XJWUl)*RYxB;L`FI91Bahe=s>NxOt$fcK;f-6{4Kyflo8q@;z| zCm`vq#`aRH^}@>a;_((N5rkMi*K-UE7*OJ2%^qTXIb(T`W)~?dM9kE$IqiX(5tgPFJDbypcVFjl?2g0!!LV4mgNinwj1-dkJM^tZiP#3c>Vlm|`3 z){{|j`BF#r9wo=QAS%K~K|T6?$Jp=8UkK72*k6&;z<4EO*M$VD-+uBX;6?11C@iqa z?k}*jX<5)~(|2QZG;-g0VFyGau$K7_OkH;76GbOAhTv~BB}8XB;3CJ@m^(J>)LYgK z>Q$nK*awA*7jWF*UN9~teho+G(0(7*C>LVOu}=`DX!~1@;&mCAL|Wv9sUXyrX7NmU z8CL^!;JQ?DQ&drqDB#AU8$*=|&WCn8AX{@A{NMze&k&xXr_~ZiX$`t+`OL`o+@sjj z@s+k}Q*T!6)U85JojuP=LM%373PCtT7ORXvxr8g8h;4%R_{3?$eW~ktd*iy>La3K# z2u|6BmejW@X^cLi?mk-ZoPu8I30@2wAvkRYj{(X|nPV8;rJi;<@HE0Z08*4UL((E@ZsYACDNU}OoXGvzILw24p;=G%3%;K zM01qT-w&1f1vK?sJ7Lkf^_UrbKk>iyKMv_b=>BcG%esieGi0%SjOJ+44biD=474lh zuum+=!Y^RKNIC91)newD@yrm_u*BP+h+_Gi%SiZMe!hujZZf;PCiS)*J3}AQJk!pX zDhP!~h&pK3u%}kDngY$Q0Bpi-aEtM4&9a+eyMtq42e}D9BZD{BcoJ7YYmWD1n z-i4&1ueI<;ch<&uIYv!=$Lo7D0=QL39jUD^)ip-Uwupv7$C=<|1Vop&8AgnhXkR_W z1dPU>4>FIlSMwZHaEv6T*JU=Wu>WM+=V(l^h4sZ^I;7BukXE{k@vn_T$<3FQyBfU9 zHnDSiit8)sl5`0ZC(O-%IMGSAPD-qNxQJt<%W}R8j1j@n=<^ZgmNDfUc!IQ+=t%^n z5JjO`FM8=EOif)eouMO5v*Ga#{ckS-^p5Rhp5EfSdJyu{uHE(!z`IUN8^eb<@!A;2 z!7z)pRGj*4;dF9%`TKRylNe}DJ^|@;nJ3bKX&v$hKrq&OQT}xGJteB1B!nQ_{wv`f zCi+ts@}~{Yc$Hm(WS;F-7RT-md#!>jDNUw6!ErMEYdPa+3?0hdzx)iUy0Nl^^!VD7 z`2&qKl_ZyFXt6GJ*CN&cY zIv(fVDpWPeiS%89B)*Dp@*`D$AUpY7Xq73~^#y0Bv$5&DfCN(Whxq1=rNP%QoS#CK zrlvwYRTS6|g}OO>T(FO(IcR1PALTnv%<_oUQh47N`JwQ>)F>YyYpsb8MA37Vi|Qnu zE2sp8HfN=@@rhmvsT6V3_mynZA6Sq@qxnNzoropMPufhJ6sv)2GHO+OMwtb%1k|d{ zBfY=IbMTKj<@GyiUUSDF{sqPtJQ;ue(0oVHR6)*lv?_0eAx%gq4XFSSvVtHamto1O zVF9bq8Gf5gEy@QWnkksDQen}e_5%vpYcUIHmVDjc{soU;b-d0 zZC=cakl9OT^Yn-B1zFOX3Rf)OJkHVuEU=@j(kTuTuyjxfKc@(lQJ0;1d_d798X8<2 z%p7Ch{Dx{KO_x6B#_NOfVf$!`+{gcCp~H27_GuM39FkPJNe(H-08+wm!`X%D(fZ~i z*qeWp-v6h>T5M!U7`!!X?j$#9>UH1#O$aB@H@kt!JS6yv8T9mLg8HW>F4n6H(IS<> z$n*m=!oCelh<<(zS!W(lLPKyU_??pAPoK;1Kpr1&SjE8tM&_X!^LvLVf+?>bp6+7z z5fi}>lrFc)n&N}=Q)Wis>NQNt=Fk=4RMx>F_&x!Vp~^-$B1{ z*i#TiKKXrX1ar;S21yS%gH?sb0CAZ}Lc_FE&b|Lq**(6GeWD<9vP*!6+eKmxTxJ)7 zF#cksOchf%6SDDZEI(a%6jLSLLOhc1aF;y3XO881qvGjp6ZF6#kOA#NZVReLO?KlQOS7} zRcGL|s&h}7S6dcI^znl_8JK^;PJfexx)Ye$!C{z%mBua2@i_wKn*MCAzn@J8f0N2r z6p06Y)5V7TmCFC6QCUe1)Xsj$oS%iIxi_D^TwLx;?9Q^fXMQAFepkd1xkGL*d6^gJ z+fkmKUO$-H`z3%H2g8`Y9p@UCiqBaJa=k|*F;88SLlm&*N1nt6M1eT=!0M8MG$%g% z%cj;8f&r;u3xXYOfP=$QmVV4bK*alfb@tD&!vQhk;4aKomj&w!@31wI zZTLBo>Dp@FZCyZ|(iRlsnFV=XTA{O%SpJ$NpSQZF>L*__%8Gq4(%A1G^|>*=#H=h= z9Hj3Eo-$Q$#P(%Ok$A=b(_i3!)qZ!m_(&uD=eLEo9BC8lj-5en;cq(N+y}NYG?Il1 zGY7&+sLMfoi_e&5ZD1u*g^m3CTT#T(nUMf=MYdHU#>p$)NPoU`wQJ98K4*!;rHz^A z2fU>voUWZbJn7oAPp3uZcdQou7X{PKt4$T*$U=&_FcT@7wbUrT6Rk~>Yy$hFBlRzi z9@d+RA%Zp^o?2xWh1?D?vje9wCuue~?e8aWE{*X?%nQ35s|vrcMtVQ@{reJA_3wv5 zH|EM89YjdJctvG1>%4K~v39O%Mq39vd0&H7QYE6r^HU1x=l^;oO|!a}2pgz9{c$oJ zFuTse1}>7Q9@N(gL@6|jAv)?J5x2(!g?VJob_qkiI*Y5W{{%IzX!hUXgu0>rGG>I! zFt1Fx&vaV3NO5;FUb4c|d{!{y@f>tSiYEU_6`HZ#?cPEpay1vCf`~OMVv%*r0T>Cj zdl7y>=EKivlxM;WPrnIntx@a4d_P}Bx8a#Jcg!YE5e|o5bUILVAAVRC{MR7jrT6p^ zyK4?u5sRR!@2!fCbNfA}F{B+!$B}+cQ{zN^JR1y5!wd!areqONK5T^C&sOqX^zK#@ z_yp9v90$xzZCU@_hM0#JnmOPyhsp6*ZA);ct;%Qy!T_D6U-PgMz(Oz*au*4YqsAsM z<{ZKYN+MeD@WNV(2;r}y4=l84Pc*2PeaATs2kn#BgtiFyQk>9er*HZKtj7h4+;@;S zj@)+I!VjULlx2YD)%dn5A<`g#+uR0({_6VZ2J^;G_LH@usB=0~J8Zn6R;(5<*81=8 zel&l!3-fY#gN&D-rqMn6SBuiBpW!3?9BEsV;V%rZi5 zQIZqcezGeVYy&PRKqEM0;q2&Z%u)ucqvYgRHkAYIx61fNpZX*R}^rA>+n3b9{4ru zbjg#So}u0?3xqm*qAttKjg{7@AQPe=XgAFzCcJx~!2pY{Lv{GtjFdt8C?^0Z8(tFU zrkHGqj()O(KcO6l+P-fFXW0EbvEIuA*|>~B-F4^s#xY&!B<6PQ7WUK9#J6RsM6)7o zSJsCTu79xz3sc{>FTaa>T5eRRtMKjv!sjb&KKrPF0_5OYHk(@VU6v0=HusqEUT?>U zGji2{WTnj(9;GARJa)S;*n##~X%YUO(6v1mjdHEql$wa0cdq&o(RQUDnA((vIEjYD z7AjKk;Rcrz{f-FDW{oQ{#ysykZPOpdZ{heC7uyS*>LjM6)T1p!yyuFw4p|$-w-ZEc zw`U8PgpH$O-KL9?V$fK9Q5U{{r$S*M(}nD0R}c=FYZG?ZeahjRVmt;$u$}w3Haasw z`Pgu|wQ_D#znah?svIvzs-H~$t+zmvKM51DUf8#N4Lf)04%nSmvO<2t`o)_3n$P1H z&S^`Yss8%4usHLLPbxcu|1-bHslxsiq7|$EIt!5lp8IkS5Adc=F{&`Su3wP4JJWQr zgq#ZD^c+HznxFVZaN&&tmdWo5^~4mUJnxq6-$(733hiK(!>~4B!;-&rTMq}u%V9*a;SP0`A5!rl`tIkkB6wnw-#p*Ql8gyGB%C& zCSpKH}==%qgenft?+HoGzs}2y*9S4*29k zO@j4SCy7$6@By)D>^sKT^mi*|0>(o%)W;ix4qOmnq}*g%3Yj-=T*nt^CSArxg<;Ta z7;Wh73K6e#_70;iM9otbjUMmhVy#w{h5{V4L#rM$H-l3b9V5zT!BN?g zvk8)_`im>vVi+zuzGWwIe?j)|J+HTal!|$2f8{yb-+Zsgz`r=3bg&+k(I7S6yxfPg z8qwGLZ|tH9MV16h@g7IBrd60(g;uR=S1Cs8YY&y-?SB82_#(oOPyo8I;R4+xg-s&yU$=zju$_)`sbkj=2>5RhpekkI(W$|z_&zi=CzQOZ?f&) zv3|2c8%ouT{j#PUo9((R0v^u3y*(Sspuh&VeO>mUFFe%n99Z`vZ_Vc{YMQerY4;y5 z6!e~T(KvG#%@`Y|?Lh4a`hE1}-VQqeW!*QvR@%-b)50vh&5cqY@hq*3=NahHwvalHZ~5 zdIt`wY?o{sPkCGhH&e1v+}@m=sYQF((nfAoe$ApOrxl_A^RFiCeqAQ5iKb$CDTfX* z+ZoI+JdHF{Mq2Xdg8BZt`0&1OypHmmKgo~e(7%llfATJeOU5ZQNmlI=|6J%UMxWJ7 zo!&zoyCIoiYnbb2Fm~Yw)0-JnE&O)m{+_46J~vZmueQz=i4g(=^%VFf}(GWBPXX< zoB!qgY@G-2FL|qrW=!=xWkd!Xf1et;+9SKe5DW?SE8h;b{~7edF#Ax;*y1~IJ<3DV z%JNHrGXML4XS*iKnwd(OYDUiHXE%Y(RPb27*UEtfq7X;Q-NHI&+Cz?jj1>c%>+&9S z{_s6X_V6;)hN7d=g$=Hgw3@`vFRZyrAOQ}p^~BCJb7@0u*ifobuczfm4E*q)KnImj z@Ggup-+kqg%Vp^QB>K|hyq>)?G2n%9FAr~BEH*0FgpEe0d|+Wg1~wL<;l_IKSqR0{ z8D&KkyECWc2>aGD{IuUUPP#qRh#28ao!C4Hks!Z&;`yHz>D}*|y(I$ZKwUwDDCjgb zdS4^=3ZOy7J}N>iQAk2ys3h&{d}|yRZEiN1M`^rdN+R8LiNc26N1RF-{?i5^_`_oe zan;oS=??8_QGlzf8^aSEPC=}L%HeqzCDi}H8|Lw2F8MN{j$wc9rL(2oWGw;wIZL6w z{`Pt}$hY-n4#{jIy6yx8Cf!SgNs@p`<|US@P)@N2i5B<8PQaugGqd^p85b;vXSU8T zBRD)A@k!!62@Ch1M9YuU8FyU2%uL?Gz8LxkNWt$z+cdY)O^{I+>@Y=aTAXa)r1eG9FF|IqyNA5{8iD9G&E143^?I>5 z*PN~{?vE)*SiHEFcese%|DDjPR!aj}4L zOp+Fv6n=T!rhzrjGbS0GUr<^DHKCD4x``2T=2d#>`#($B55wPd_&Wyy)O(&gXyu^V zVe9!n!0fejw7^=Sl;vopQUT(iWxfJh&y{TKZB*=lp!9a>J*H`dAQ(??bcZj;c0hi12&i0qu%eN|MmF_lLS`$?3fR-+_84FPkT^q@{^8xecn7N;io1 zzQ>D`6hJH}cWuNeOTlUddBRsWRFfS}gKy~P`i6d!E4x%0U+$T3;1sv~(MH$^&99N#@G0#ALS^~)8<^uL*jSj?0?7!Motyg=LuW~`PC``I5=B*)j1O_(eU9}( z<`x+T!{lDjOWdfCY`}TTpK*V(KXHyCAsV?vk89b0yav?!L)2C84PAe|(^nJms&74# z21syj)yH%U>A>!jF7fn1uXiC32O04P+4^_CtGewQUC9;(E1Hw@nO4-2jC&-I|7yZc6Sx@r8jGvFx>v8-J&_W=UGGSy3E&XQV^MEllvB=Ztk$` zy?Y(0u!oHoYyr)vJr)mGu{bisb2%z~Doati<<@0vjJ)O;oe<6KPtw>;#=?D${2x z^O*cPq)T%9ul$}8S@Hp=UZyL5s^xTiX&uE>sJ7~vGvOj#;Kk`0mXF#d(OJ%>Mxg9C-%Lw7;q9d7fs+=YzW_2uq z1j!k;>W%}FEUm)G7lxg!scZ7d9zz?#WT@`b|06ebzx&T&vV+j=&Vdg5a^$h}u?=mS zeMc2_v~nJ6G@#OGxNQq)DL`ZXC&^0CQlH%LM8vY$3(%EC*nUhTd>jMfzKoMKNb&>z zYEJ7RzknlU>|ZpYbO+;~c1sTXUxjrbUK>g5+09b+usVs{n$?J!Y+bx~haT?fZCWaw zZ(jI+zJgQs@Pg_#@;x0Fe%J8f+`EzdT@P^Qw`>-1cbp*bne>}?24Di*GHcp;4`f@* zY9`rdsEBnNK8Cyz?cRJE@?E~zhifdpjChx(w_K->ZEr(h+v<>5DyTz&04l}`#qOL!{BZ94aVY>*i5!Omy?X;vJK66REmE- z(RFb&=wg~Pv~UZx{=yzn1kcZNon+mAV^oAB`AD6TE36SI;9r&NYgbLS)p}s};pM?n z&V8OQ#!brw($hV%;a{VAYIy^(0Bb61$rCLa&FrsmaV_K{ku5j^R9coliPGCt+9%_d zhlEeHSkN-28QyXuWG^+`Vm5N>iRkbekj^h~WP@ zoy?n@e<@hmskFr)!$WTb5WFWaVi=x@P5-d>|#gHV#|wl zG*~0!&!x~e1P<3bG{ZxY-`jW}^7}(W+J2!Oi}*Xj$$mAFW}L^IoRrP+Cs}@;mVXUP zu>n;;uC0#9i6t{Voeuz_@SXPYnNY|{-PQYj3A>-4@0SyvZ;?#ehDd`Oj@QX7RB5_g zZ4#usu@i|KKYIqU1&z&%)9wEwr5Z+?aGqRE$u}-yc&9UDkkaPzJ&>tp`7%W0vsfkVo-<_^``p@I{cLSxGULLgIuyoJ zT{oIcVPksDDYCO#{alM8;~_?cdv93~B^HQmBNO*M*23WwZ>*RC$+Z5egNkpQ77yH%d|<1vl!kd82V&gl+Da8yDrlFl zeuWF7r(VdG1pea>mRFLAzX?KR<+=CSpy;E?lNN4TX~Y_k?ER|pVNF&I=iXB+ljo4( z`+~`2ilrUwN5TDZ<+0W8zg(JfBHnrCg4-k^Mzd&{2PNr2S86XN)hPLgT8&fB{}qz0 zFb&gYmCHMK7u#?1RL4KwH1y<;8#^iO?O^Tqat|*_jKjZ(N_MGlhkLi~lDqE(fQOzw zon195FoFJMx^a;IuLEBfW>3N!#d{s)IZxCCz0f@nOJbUxifBk8r+p+q47YEgM?hV)| z;(GVK=b+v3zD@7k38-ENCV}jY%7tSM(cErg!^?2z>(WF;mo=}!ZKdBlgnTZ}Bb5zn z6|)rXA2+W5;bJ{5@4+L+UV_l?MxRZ9(SIeX425zY=TaEE-BnM^Mfc5rKF+v`dg9)V zs%O-C_MA05orVW3LKFbgM5l6(f&i@=fBhS6B_oWaLKSzby z4I8=Si=x73NVj(zft7W(8zk%9nAck#A>`wRAfktka*;H~1l7EmSd4)77nT|AF{!x~#>ldn)bX zdV_#ry%;n(?J*uYnk>{2iecO+KL2=9Yn{csq0oJkiu26^7iV{> zpQ;N+3Yl&Gt}W@p{kMIch8!esfOtYhc3W>K?De?ISi5@AQEu_WW>-G~jzt{Wn{4Qe_2l-_Ac>@(0md3cq8_lV&!i4k<^X!s;EIUOTAV(A31sa0!&WLcnls;qAl z6;RbptZBM&zlE3QUZm(krBLDP8oI@(%4Z*z!Ufia@x_3k;iIkh?|LQJPSrM~vq&t( zebGkRPLCW23hZ?g^8#t@wWX8dfN>$d$zdM`$i%%lBZ8c{LT%`7)9Rj{!s$X;F2~@l zyZPy2s`xsg+PIjjhd@Z%J<~Es8r$1hvH(q1*CBt%!VEE7H$w`#dwkcFd~ZRc#ClW! zozI!pD;d2Zmf_(r%?!tEj`H>7XhIYV9?7Ef3cCr z0|V;c?Zoc~W?5_qpK|qe&bWgKLnul97xr5q8sto)BcfaHq;!{e(5{cH39)k((XE*O z%k*WbTJnNpoQkYu+uva6bUmmB!Avyi>ZUx$zk^_zOF_=l@};C&`Hi*8A2$maAWh`P zxWa{U=Pf4(iwq=ZI9g=z6c}}zE+pYQreHsm6ZeguDh%6GiRq9dj12PRASL(PGg0l` z73NG0-jpW#@_ObE#Sq0pKZ`84uY2m4qfbzfrZ6YU$2s@yPf zBO-q!Mz`pxKEF^><6-`xEr`_uKn(dAllt->P2T@=Rs^adNKFegmhC^_ASZPJRB~5jCJuB zIMxK456jg%vwM}r9WK60rK8-6TCoPq8~n*}E&`N#2-ZSUMOfuQ5b|4o$wof$qI5pH zdJ$S)(&!*pX{FLt4>!2A&F1+1+1KC^E}8l*LIU&0#%;R1-vdyT5oo`El>d(g{d9>^ z7|>>nERpSze3vF&Y;$mF$=0m<3EcxTIHc%`>R4B*pE;53F54NWDgh|Z-$bCoV!8X zr8kiI0|S^iP9{M^f}(~S7gR`h%`s6fi1P1o_?8*r?Tc+dxh74k&_ptomo>+HVV|Xy zqNj{Hb1EE+rjd7>6-M_g%N;xAhI%#^^ss%@9fWG-<5mi@Li@h1Phb*vc1qI5nLt1! zV3E5L@J}_(%h5yn>)t82(5yRPRN-KM-P$I|yf<2qi^mFY?Zk4+llFWMg>^C;64W`$ za)G!|5%g6*;^bkZy^_&M#>P1c*4UlQiv*M9Af=Wu4ArtiA{%UG@`TWK6X}9DgxDS; zgWk>;|L!Wpj}>{s3t*{ku%e8m^d55V^R(7v{~!mN+wv)!^S!#dc6q7WQ&P5X(6lnD zzV2zzWS$g_IJgyOKM6t*=lOyX-g6G z>l8x14DW5O!=hC0yLa)kD|waW8~dNY<;oGO`$4&^w`WRH{#9bf1PODv26lak)d174 zgOySPL+-n>xY`vh{_;l`dmY5ueSaD!#`EV3rcEF`|CkhUSC2kP5BQ~eqeENRrCB8H zFg_k>6kbUyvAtX!o#?&nda`cqC{EJe4tS?Z=Xd(5Z{uIM96Yv)<`Nqmsz>ewc2*v_ zvmOQfU98lx<=^#d{nO(I?n97|3iN>QVj9e{EQ{MXYr{P1lAVERs##x`^ypoa=&(Co z>(hn(T0u=r1BGS+qGGBhG_{)M3mon_Mc1NI@@SgWfZwz76?0ad7WLY zbBGIe_Oc5VKu}V?eg&907EOurp^1{uQ?-=XVpcUBXHa8nyy;jzQ1$5Sq#Vc(%vm2G z48RYZ_^e9W`J| zNzzsZboLn{`=D7W|7U5`;?INKwPTJ3I}qpcm*&44`UFhUcx_hnizZ?i&B(5o#8{W7smLXAmE^kOE8ZM;vKpRMTVXL{ z6o+WAbP86nA3A$l^oTs#fo?#4IX&;D%OUC5dECxjoV)(wK;U+VJKYKUe?5LGyxz=( zS0FsOYL7$=X8?-zXx79pP!EJqPB%_L$`QKxUA{9&Ibv&V%|a)GB~#*JkPa%{7K9QnTP+Nk^jK3~bewisJ}!zm(W$aHqnwdI;GkhTKxdxq zC%8-eSEz|-Yb+KxFe1{dWa^h{LqVDNc}w3T%jNal%jQ)V`%a#Emym@u4av1#xa+|L zQm(9<*Y66*5~&Y4IRS7=)Z~fK7ZsivgIYXTmfJL^%9)N)xQK^y%kY3z+Aq*NENm|4 z9?epiyo_O_){;iH4Q3qvYslwo_O;_Lt0&~yBtZf5HPf{atp#>n9Nnq97$8J^aA7~w zvvmRYhrg5P{e?vG5pVR8e!31`z^>paZ#6VqcZt_0ukCf~t?Np}3S!Aq>ro$G#*ZDR-?q%a|EfRVbDwsEAg@6>ydy)xhj)PZ5#l2Fn_OpC9 z6)2-|yYfCYOt&?dhVGXCsR8umF*L6Ahc}9DsiP*lyr69LT_D)@#o=)^bKRfjFuSb> zJF(bu25X91x}E1%-dfd;mI~Rgh zimgvG8@QzYFK*obIDj+eif7k4$$lHh4D;6vW+i%_7TY{^PkxPVk3y`xu$Yc%+KC^% zXVmA!4#}^3!l}W#I5`CGvB$nj>M}=;P!S+VO zS)=KE{?;?3+b!KK`p>FY?xtB{^_Y@8a(EJ>A1i=xC)rSf_Nr zRK`&n3(?9wEV&-t&ZN$SJ;5QYyM_HQG7_3DJ}K7KBZ6#VFAk3`?|<(7KmzzTr`%5VHUiqRVK$*FQP$Z_IRNFmcV{H8`_GX72If`BDmTqTGau4=rn^3hN2Eb5G zgC&{Ibu4GBok}1j40&5*z)|Qv=?LAAALhI7jwf(uA}5S>{|XB;U@T2{u(NNM6>c^z z*j+JfA%t7z1gM_q*lV)^VNc(TDV)ojqZLqDC9VM|8D6qP_&`azNOX1&K%E5W%_Gsd z@O3Z<*{!kkzSStLfxZN;?Y`i0PVp+{*@gPkOlJ`P-8Cp4qUy2Hvv{>tU$>#c%Qj8G zp}xSxSCGUfz;4(v1xeu(y?%-0n_9}ukeMj}Yq50w6w@ikb|?bGkm@A3&hofL#-b@o zcAIvac0xmrHAAkhsHXnw$NiCZexlP`V(?AY!*|A5T}s3>}DTQ14slt5;>jZ}Qf0v;2*-xe51t-RsJ_6uMEm zjfdUpuAI2zg(qo=Latx+obq$Kfi=ND4nPBKrFbuW8ytkBD5a|n4!hsBz_Q3gkCk~m zT+$r>2E1(v&goI~H<4hNpRxMi((d{ZTTp)aG4)}7P9`P=|Ngc@oARMvIxUODEz`<`py_|-MGUYyY4nOqt&F#T6x1=sT3p!hyYi>HP1eY=a?Bgjs(0sC}5KW;`B2 z8=1M<)$yh~k`2*p936K2M}w&VmszTXR^ z7`i;QL~@-^12l*v(ZSED4ynYH;iQ#m96C73_}7r+2~J=Rr*9J$BrUA}(n%%Pi&`2# zY%yCtW{7DrpaN+$ZBmeX;nP}-L1QVYGYQ;jfq{0%zJPVr9*iMz)<*i{(dPEJ+K+ zFOo(r`Z%-VZI|pr`F0Wxtb31kO1vzU(pynFogbFTE!<0k`p74w5Okomv`^FSZ^bl< z%_c*QRrJsPi|&>{cii*0n!OBxfl&_wJ{n5R7wl-#gZqZW+}$Z?L0ke>Td+vVu5-Bi z#E1Po80}_8b=yLv&N`+&szM!ycdgqau$rT%4<*xak@O?hPoZDLXlR~S;Y7vMkfjP* zwlG?Nec*zbUQW_cJNW|hoykLJKM!}g{2a`mZhX3wXWJQrQ8oBO)+*7m3iuWVCR?}Kar)o)PG0GeWsKrD{sMIS*VoS#Yvo%9VDzK1A-zRb; z_F5+D8c<}Bp91G3;|tg6;m*lMHxV6!s&roCbCRlbLr!_Gr))_uIg*uK*rnk~fbkFK zcb37QP_#7)17gUjyWX1pASBT~_HU`RF!5s_mcFK+(80yKe)B8~aQTs~uoy5v=`#ff zS@4Qhy?jQEKDTNFgm8N`F_i-k@fhj02MfW~Z`G9Ik9==48kbB!xDYobnYFbM*j}p? zEZ8N&=Y~+}-Y(FkN_T;EQxrR^q;1GlR#8q4Pd!Bpe&#s-sj2~Y6gpm%i*AI)VZ^KLI z5Yc~BtWRqup|;U}{>Z=j?%5g9lfNqA^F)Q>Tu}0T%Ue{eCMf|~&|mW)k%d~Xh|suk z>GBG(f{g-9ceD?7y?2G373U*@pU2}YAV7FPF5=Ek91g}rO3Qlwmxyw0CfpN@6t7R0 zNJ+hr@8~w_!`ZVY75N;V+$Q$Y9&r!@Dro|i9`I8o|ka&$%1`2jSaw!G_an$d) z@O*Dzdvq!Y{B&1XB)EU?m~~$9G$8U^WeeAxZiDAq@5l1 z*xKcKzG$)ToYJ@dFFFjx^MF|xuA`&*m4c;;#rrN_6BNwa%I)(C#!JdmLbC&)k<@@ z^+TZY2XR101)tZI=Lyy7&7BZ%kXq4VXM=4+f#B*NUY+)WRdS{Tjtnk$po*Qp7%mSP z^QoXrJ(D8LN1^?BRHi%t6(1u7PPcjR!p#E{ZUlxmg~tC(kcv>aRgkm=Ngcf?)a$8M zFdF!n%F{6L3Pk1MeNz=FfW&Eu80r;ThYEIhPPjNla!{p{S+K;D5Rc}=Y8%crU`K^1 zRwaJdT{+Vnz~pyf=*2#(7wiKn?pkcC$9a{8fOTr6_B!(`-(kU}b#h2wuxw`sG%i$S zM7kjiq*|#Nv13$7WuFsN&7XXzSGj`RM##KMG2Dxw^4rF=&Z#=FI(bFXq3QfN0Mt{V z>dado4zja6K$NjrR$=l=SA}&RoV>}ri}UL30ZB~4d|a86aHRQ;gR5U`(Gu@{g|pqdsw46FgGWOx=_!YbtJ_>hnPy=t-ZJLFR_ zT-?@k{cHu8hb3%}m1$Q9sDHrnD#z;g_e^snnhQN83*hWhDpey51PaaH%S_f+emY-mP`G6Jfnu?rR+8#Rc0%gK7SNN}%$8 ziIR?r6e|Ch>?|Z!DsE#4=r61;OsrPho0YxJ+^S6nuz=~dEAyh!so+V$;Z1cr{^awpaEn8{G$hoJk71pH6GNw_13@#Uvcxr) zqVYf#+NDU`MpMH2O z`Ewl_UG+Q8W0)5o|M>~|;=LMB{Plme!ZgqNE4@zjix7M70#OAP9K*V-Q7MiGD}cn%E>A!@k-^e% z;C~J8wpVxTa8;!f>(w}>qYTr0DwJM8BS4j^6_twH2B{U!1Dvi*i@|;#z#P)rt{QC> ztWF!EITpnwI3{oUdk<28C{`o>oHyV!N21}tZB(Q^Ag#c)3OIH= z)Y;)NNd6o}6RPlWoG+!yv`3Zvm3z2uUcd7)p9*yVsQk%c2slWsZbDcLrdrXoU>H~j z7DGWo#s40t&hBuq=vE=32P#sovg-#LdZ0W+%$tgihmHG3$eLUXwy2bh+Y~nb9EX3y zfbt<=0I8=+%z^khge9+(N&zA~go{Q)r(NB*IWs5SINpa4&xdslI6@Sg4b4`iMmI#DWa8q}`D=lgZ6^Eq__(=f0OELAR=7bi~wEDkdq z>}C+JS{;bGgM@2kg^LNmaN1brTm;Jl*M&4&3Qz?V!$dTjAZY$^tWGpL#<(do3X4}M z4^z{_!|i+x0b(demEnC(Xo3p)Z4pGOMtKvCMg#vdM;Zi@5ASF=gkkCjQ6+z#&Gw+I*WE#_JZmj{Zf6{*)sfP{eUf+>S|CF6FgS9qSU z(TUL+N)9@jgo9z4-aJI@3KVYlWOf+^{Dn=>0yrsXe4ZhrKCdUMA5;p9hcu`WRVRK- zGeIBw4hFt9s1UXQ4d3bHsH8yNoLr#sjOEVe)?mhMcp-czO)5(lF4U z_(-w%SaYm8u((YdaAUaq&zlgxELV5j%`7_?zNJw!xN39^~W!Sc7s6TbBk1{ z?FY`$2TH%;0l-qYRI&J&c02D=6T@F{k&)ryigGRwRI~cs7%<&UKVN&ec{SsWPDgZ8 zHLE*$Hwl(Pq%R1nqYoLr^*--J^>Yl6f4mMChjZNKr|e1~^2g#%ICbs(u}Zqak26Sm zoR5w|rB~gUVDZ-nhJ%S}`3o*mu0eop-Gtm0_D>;;LF)mqd9VF-n{}Zad1MUBB~j^nn@x zmOtsy@DP2e=2`wi2_uDLu=w+!u+U$mLB0Ax#_eI0^V__VK_}YF(gYLs|1WCX9@d0WdVEKzDm>4NsF<>!V{^CsXF8$~jvJ^CZ zjjGxRIQ3o<0~7zADo+YeKY;vqs!^gCB7Yo4RU^Lm2sn4+oQvZJ)DW=vbe(FA3Kw6u z2e6QT=|^jrn4YKKh+3ka}Nx+>>@B zUtg1F4FYQzT)m4m1$NY>W*ta@Or-+a-H;d)y_`0$M6gTh|kw4(Ljj!pKO#0c z>OQ)kvJKnKI$%aop7?zS0wt)>l;`hp`sE8n$ zB|xJd%3ZHp0=2Kh*5{W-fNYl{)YQNxxjQ34qaS$8&4fuE_a#u1I+BClXH3whx=TxN zrh9m&`tHj&AO8sK2figF;~(cK{l-$ErgUJJZ+kqCz!IqAdES@bdP+xN3DlGh?DB1o z=Mh)}bv)1e@>@^o2rPk`(t%yR?eRPUOQ4SDd0&3(DII|&P*Xav%eOtAM_>um@jUO# eZ#|_W@c#k+fw!}v(~t=O0000baYIwJlb1OzF>Pf=kd z*NoE+xYSJLmV2M7>*RG4lc`@O@#B<#eytQpk5ZE5QbNP0%8@IVuhqHW z=5In|VPf2G^|-gt>1j%Up+EyL8t|y&;pbOH7mqQG6Q2qffI@sM4W-9a`KFWfN@97# zM#qIq$CP{4;aACTx5l#xOyvz~%c<3*{`bm)9+k4P3wq3n^j<2Fn1-7v#Ot2VA|k=R zvXW%}QOqreWu_Ci90tL4dMcwMP3bY?Z9rW79h2W=J~{t6w<#EL&b`ZlK`Y(l_)IX8;nG%5spoNaKFwQ z+oMOL9?6K01S^8B*T3{>SU3d5;OCTb(0D8ycu2wI-Jvx-ddygmRO)`J{P*pm?e<`* zL<}@ZD*$O)kb>OC7R*TabC9BpAXIxf1|ccxemT9a4(#b&hfSk^IkrRgffxF$yg zmOp(JUpPETcF#YDVzq@ld;QJU`XAIXrl4X#&$KQLH;ceg?}w-P+WZj%s{nQ)8X8FF zB_m5J61dmSml2L&^omAGs3eaDvj>77GC&iC#DU&H5d*)-allOgIB2dZBP_i+7rGw7 zhICnOkAyQ(*A>BG7{rffZJ>(@y;3_+AE(}=7F-3iPu zaf=zxEZ0;G0%LzK^9aFiU7ZX_6kvd5Df$LmQg^XvDIVf5z33% z)9?gH!QLW2jTKMVTi!#^&h$pbO8|kF+hYKLGS_1pTuMku=r_s|(a|4R6bl|;Exf#R z1V`aq29i7qx~(9bUgltX6{sN>{Sd-rG+Q^6+0CE{0^Cgv=($g)c=L_t?dIJLa4{Z~ z&deOn5x`hpjM24;4nykB0N5`>mq6pd9r&n<^OZtEk|jxtntK23p((`tExrKRFYGcLm)_rcR24_>OWruUJX( ze_%`?s5pimwvn01;yPFOe4!lg!$nE#Lnns{;mPqQo$E9`dtayPYIL|lJ?DO}WBW8S zN#NwxZlWSnl2ZGT3<{opNognm%JD)gWXR`bg8S^`+`SeUY|e~_gznWCWD?Hi_)Hc! z3q$ff&0Izfi11iz>VS@P)f`9YqORyRFl;e)T%?myRxZ+7hJk(bop2~fPKXAZ@}iC@ zNB}VoL+hulB$=r1d8M@@A=l>(<<`s;YrIc73JZ(?obp5y8yhMLjdWW5 zTE(4#Pv?n{kQ8mXPQu16DKCLj0#+H1_Ie&>1r>Yl>6~gjyxwVMcTNH?<{-ULN&`%NME{G&JwD zjTjZE7QfMppLtyTu`Z`UgCHSE&hk~#A9Rnyj81w&3nr9P019=W)StQGOJ#kmb9?AK zU-ccZ;!=CroBkTiHt@O3Mn&5XMP0Z+<(#6V$+C7IGoquoKH&n6E|!AXb+8e`I*IZr({B^1kRcPpjb z$;7I(5C+Q*(y_R{YBf9M6aUV52&%Gvzo{6EZ2}%S@a~TG^~Ivyr&j3&ZAK8xydR8cLy)BuCq=A%nNBzp4`N43DhF005Ms3SW2X% zL4mVvrXoLud#hc#zCuk_ zbQ~15#bNu}aY-FJEKCqBH+QLC@C?qOOlTN@hH~McKma8);mXT=KKyMu8qb%xili2IYH7yDK;y z&Q+ycVAx4Sjm0PtN|#lM3#+WnS4*7N?BYl#+dPijXh9rjT;PO_vu+*;tZ3ZU?~Db2 z5F|>4@Zs|f}gDwQ!LwiQooCJ zomcY)y4t;Ed~}Bla;J#5CfX0gJ%%Pcb**$%KrmR}Qo65Dw+5)a8}0{Q1X&t^!H>~) z+aF$%|B(3c;aCyE9hy(47w4N=NsWjv#T+rJxB{lz41VbCPeAIF=I(wdY$|#|maPsP zN7M1J5AK9ML7{M``$7Z>^%S-m3(;kH-rf^%3Oq(t-9I$Y|98k)m}tG}TEMbrttlzW z$J`TX)_5%LG*~3R-DONRJly}`+hr5D>e6{D33486ilwdFHswzB0$Zd}Lr23T9&uWc z2~AG*8Ipxc>j%A&uU5&DmH1BYe+UT25A_)0TqowzQA!YgRhFm5=C|&Y0i&%;B$A5e++*2t;ie*{2 zMFXEr^voTGo1l;?4hObT9l@mKnj$sKQTm*_(JV^o~z0Uqz246xq-CCupeC{&5j z@LhgAgOIhn({h+pO=X?T=R0ZuO(nfHVh{+ZX;fpi9H4evM>pZO0beu~VW&&AYUKH0pl>isaC)6wQJ z`AESPz*5XXHJX#FXkA)v6)ZO6qWW?m}DR5q!M>1l6@mjg)XIR@Opb= z4XM}v2yL*ID-}B*>TvozV`w^eZSM*q8I)HewY@v%0-`Meo{{nLq2Zi6{Bg5ixA%X9 zzTmD~c+a(Z&P-9;Xgr5hd|wQLmJ)@>5jE8W!gvi@$VUrF?m>K?NDVHlNs&FhIB_Ot z;oZgP4_BS~wSWZrij=RQmTo7` zwezR%IPHFLES*$4SZFBh8(hBge2ORw!Jp}n-ByXk?^^I%!3vsX{Yws3tBrGs@^naI z(+#gp6=KZghJ&GY@EA;0nTEx)mw=#V9#9$=+8>aeN zAlTZy;DnB0Rca;>j6LCGhSW9$J z0^t|x@mAy8_p_$RtdBcg8_k>EkoF2xET`NQ^v`VwEBr!42a9c+i2_9iO&=oe1@DON zD+S+rZzE1tclh+)sS>QiQSNiKjjlMvKtq$01FevZVzUhN5`qOJ9;bU^107}u)G{^r zj{@qbr3F1^%nv;gW{E=S?eg+)8QF4hpd8fqUMr38GV?=y18TPMmY4}ejt8}81-uui z5~g0S&!k9RR_?@@GerzgE+x^>=;T3HS+rec%WyQK|9=&UHILO(~=-2JA zftdXTA&xq|@(7JcJt8E0m-=C7j98<$6G70!bf`os>>0t_cx)%5Cxa7hPm|=Svt%p= zYj88tzI;;`=NBh>j|5p4PEz08*P&4YqFXeQlW2;J3BI4~s%G(BKt+7{A}idOPJX^5 zcbTgdR!#wt>`(p;m?TQNbJ?eM8>fl|b1aOG$~r6pi-66Z&%Db|(qgjm)Fhw;t>}UH zBl3k@{wAArb2Fvql9O-BB83O}8fY-?Mmcz7px(H*BtSGp7k&UZ^GaL_;!inTQDauS{slW(5 zf@rJT1OH8{XA20+NMmLuA~t!6WF7A}h!rTHSZdk*cy!TW(*0Al0juY`ZXe;+oiI5a zl_cus($e%rPN2r~JK=hMOwLGTO&(A&l5h7$_mAB|1H5EH>1A z@KRgP>Sp8KhS$q|#d@9TR4piXT3cOxnYqAwI5Mp#f9e-%>O7?@zP(?d96%1xxChpU zt_g>oU!0n6+dUvpwGKqz6_D5qTiC??Y{zaVp3bt8!wY4lm%%|t_!lkD2cl1Uj-~)g z%gPS(SVR~;K!0j~M zNgwUyJyCZ z_58AJFgoSpZx(E3=qKjInpTI+%HoHMjjO|Zrw0<6M&kk%lVXgpVfT}28U(5%_^BcZ z=ukJ=g<7#R(LjA_UQd%(Q9Y<=!snaUirv3vv*)Fubaeh%(dzlyqeYAG;h*FC*IFaU=_Jd|@n8IqV6x`R-wH7nW$pOV^q)jW z7Kz@OL|tS=D4a>wHJPk5g;5U57lv8Zq5E`ut*bT9g+uSV5};T2`%?|)kD>-9PZPbq z(^8Ne5IScX9~Yt0IKQ&f?mjHzWP+fPNZenBJayuk@x^ej$<)QO*HD}@$6J2|~vOFG6 z7HN&dI*O9V6O#qIRJ&Vvc+clE<|Y18XMf_8LS#E@+Et&Uze9rkR}={Fl0twY2_Is% z>~F^8U0&4he6^NLti@nj?xucbI74UiIi816lY+9>RPOo zneC%&EYW$3q)fbjSI${neyXk=%}=qt&7}u7TonvY5j))VF|j+Xgqb3=>jc6>yZO}?iA-e_vfP^@0zZW2 zlJNMvH`Z#O@jc*vJss9PbX{-8d{(Wz7|{vQD5ub#afJ##W>*lcu3zE&{oQSS_cL>3ECKX%|uWB-&*caZjch;>t2sHV_a6S__T7w zJqJp-kslh`-S3ionv^P|5txoYbfJ|A;gwM+s4UAK>!*Pr8Rwn@lv$|Y-dq5+wC-bZ zT(Q^F4MFzv3g^qqGZBiUAsP>+^w8H(=dZbO@}Nrbhup1@dn^xL5Y_FUpF&g^N{1?; z;0Y{fp7<0qXubYsCg%P6r!n#Rj3{CqNG1aEqJ~&Z8mSAJw_)PV+Mn}fa=d#doMkc| zw_>3}(0cMk{kcsofoh~6(GVBOTC=A07rb9~&Gxhy${KfrA$Mec1jJzVxaT^bjJ zFfw_Z^#e*aS~{-4Koa9_G;lg=$Uqq>e~^%Ci3DU{aTct>@+O}9@ga((&vUxiD)qJ~ zxfouBY2tIPh|u#0b6I14$zKw0R^R++e2X3AL*9#y%iy@c>XINDG@(EMjv=W(`1ikP zgVZMUU7y$ky7!yHxCACymuIN0UN}Q_U@|DjYtRUoX?}r*$a5z=;8_Az^8e9hoW2sP z?<;r5@xV>VGe+)yPKD;`L=YSRM-cL!EaW46%l+>qw<{}Qac4N#B^X>(90VeY9H1k> zsUts3VlE){gZ`JS#zQ$k$*M$l!bUkbJ^)r){y<7~f0}zq!4vG|OgLFyI-WLfAPx9^?~_BR&e@4AWaQ%2HaRr?;%Xzar8ruFrn1CQk$ z4$o^4*E);kqK|>tDOTc`vk(UTYr}*ER*~MCU*dC)uV@%ji@&e&QHCx+w|E)6UWP&e zt_C^Mo6=AjaEO-}zUu?uhVxM~{Y$_<{BLqNS3$)Q@F-u12<2_xR!GTy!$oyBj~u?E zbh|ptY)TyZb;Jbeyi1x4l*W!0DO4bd z&?1j4#Hc`m(8b+;jYO@0E$ytCna?bA5jdZ1tb5<{@hC~pLW{BKp8}<5hn9QeO9eEf z0TR}W9Y;MRhd^@}0!2u)i9Dv4o%AA-jUw*C8*=N>Sm$~ec+V+EEi#Ra*_8bSpTSS!THydM-U(Oj&t!d$f@)PCRwtW;z@l3Z@}q4m;t>sq5ztJ#5LX z3k~-TvQJgPgy)L|q3?Dju(07WMxf$_fpX};N{Rjy{&Jg+=m>tK(4M;F=!RRgA@?1t zE*ENdbunk_Z5B^ixEC8J^Z5^ba>rawh`ZK#zsQ$I^azL0= zF$!uEXzsw-U<(IFmzQb{^G+2E7n0&vBWdHc*6V3BF8$R3@ ziW#yQe{P4-?Dzw_6O7PW5|H1oIU$hxt;9g$bJ;VhDR$1DJ2=#I{tA|f>s;Qf2SH+9ifbc_n(9VWW04ah9+Vi$%cHDBs$0!$aQ%u}cpN-w z_SslmI5{;~SzatPF#_8yS>-uO%6?Bj9=FPyMrYa`iCcLv8~KqA-a+R0lG01wAhn~V zbJB~Pd>(#L;su}E6R?cy`J4bH`vHrGd+ATSqyo^1_Fd7xwPBSI(+>fe2&yo8?=9?i zz3nafp{A_yArHx{4sPB(=yNfl~JyqI1JzbTZi~`lLfin^%mhmCC051CI?lMrG{@~+JsNz@B1aooI zhfbQ;l+cviJOk1UHGGi1pDR{B>UO{56}E^DZYQlDsM7b0Ky@8POY6G>N0`h|DF0r2 z;Ob@Pg~nEO0hEm64K{4=U9L8gFj@r0KdTi#C#Fq1u_`ozXM(@koo`IC?{{#xnk||9 z#;qE%xc6$%`{YFYKaHJ?3vlp5gub4zm>qO^4YW&a3`azG+XrmEBaEsGj3Qp!Be77! zXAWl~JGAmZ!_Yy}@k6usY07av8!638`$npYY@*-PL*T=yfu!6Bd5lL2xsmcR)gE@% znOsiYj}ivH>rxC3NtCshQ6&@FRx{E2O=?5yNIy}@Kh-!ZEj60o?Nkt`@~QE#v9-^g zdTnQ&{Z-*}z@-+TXCzC4UgWeUq|aP{^U??MW{E1F#kL#(+T$7*kT*4-dnvju)|!z0 z8YAtA9O0l9+FZci*z4;3%0N}vY5?jQQ#S&C^Q<_`uEY$UQLKo-sj!Mst|Jp3c3(U$ z$%OUl>vgev<9lvNq-qo%35D{%2Gc=|{gAh>nPo-2gbNkk+qiH#EnUSD#rj+_<(~Ut z7l*984z1V));9&^8}Uaal;TanNTB90)_IgNHiOr%^$qX$QByiC)*~V@#t&7HV#JWS zD{D|;Y5-%NOy;evXE`jpW=a&z7QI{;b-A2YIRrwO7%}O(YkrR!uQyEB{r!-%71j3( z2QhZ_&n1&#RbTE^JFSMnZM~<>wh|fYbc(^f6Ga*d%2IZzTyL`Ym+dsIhPy3UNqU>z ztLidBi18i6s892%@s+IY)FnH;>3!s*rPJc&CRE(q51Jcw7zeBNdjR1Wxy`=ZmfM~i zih8_o^j<6?KTs@AW>A>*rN;QmYpTNYl%v>V-^LkdSAl><;0HZ5izxcbrI&u8=!4(- z)XNk9Nw^bA@UGNJ6)Y9`|B#fAw$bW zYeJif;2!Sot6uH5Xrk4ye-5ibe7}CvzzA>M)$gl(Y+GT@BEJRPdwHnX?Td<$cE(m) zX-5^iTg<6fB_P&W+McVJpK&lnh|JY+tjutzMt0U3@AaE+TK%^EgB>9qwU(!A)m^xX z2u2tNIg{L^ZmevQm zJbHVZGA=eW<~w{OoWb2QjF$6URe(37@myx*Ju3T@m@p+9N-0h#=GfbzTw5wT{FJIw zy=`a3Na@|-&GV&+IE#4x`fF+=P8@(~z*;_2V-Svgq)IZao_U76=0i@uzvVikJrV_h zavNfgbXMzxNv5^cPUqaBnmQf>inRDGwuX~!CiouM>S)V`dUvopdXU$<`9w8-{xSI_ zJ$|^twA|%GeW3FkHMCHv>%E&*C`i`|@x<#VBaQ%aUb;3$XAgH#pyFWYYYR2di4h0c z=8kPJ(CFTASkAV!l+4Ig!3*gTcEtR-H|_$nrFZp(+o{h5HDH=}nO)R7REZC4@c_?B zFW{kRp@=?qX2arZf*K((Fv5)R<4fZtkiR&XNbfeXnR;DLo;nD=$z4Cn41IEpk_jTj zTZP4*;PHg1R+EcI^+R%XUU=;%EO&cCoG6MS4_-ugrdy#>f8#kYGhNEVOu}6?+X=bO zVxS$hb{f}1Fq|~6LqLxn7s5s@8!_`+pJ~?jhikz__HiLuO^5@v5?e!gc_>6kV)AR7 zF-?G*uCHGJ3u2|1a4DiZdLA3K{s`A7-BiEvN2@6R%dpj4BU9Ilv4e1Q<|Ein#`^6T z%*-rsO?WW4#!6>BMB0)sx)~;Y*w(7)!SScvQsiSF*+7eB8>+5os^fI3^^dnKS#T}1 zSdOTXbY90&Vu8GaqnJl#c*7ws?<1!FFswji1_NFbYH*(xC7f(Gc#hGd)Z`d@;wAa^ ztgpi*KsBgY|NiiBit8eJPzk0$9>BmumYNk z!=JemNM`_8$z!eu@$ptV-*g}hCn8Rl{#<7Hba~#NqOKEH{Vt!NA;@xWa~u}7DC`t= z%Cnx#$<04VEY#9|(|dNqdnT$1yNbO!EH5STAmhud8=_ReGD})z_T}gvU8)|XvNxb> z_i9riS*o|2=_ES&Pyn*Nd?NMZggnm$sMKXcQOOb%)06v>z54FdR^sPyWQZ*GqvC15 zO+23(y_meu+;3QU-A4yA4l}%Gq&W}EPAo+B^GBVh7tR8T%ZE2Bt4I@&f+l}|mv-Hh z4lwn!zBBjS^$Yiy07%VWCh<6KBJl@5FvR38%~H`04V&`SBn31 z?RoS#C7It=Wc64%X6y|0P^U>EVoe_R&2|Z_z8Ib9xH2>b+lVyRh_f=2DrZ$y(G3hS zTuohKJ>h})5g7x?slr`gvUM4^-g@*Cye;Gc!D-yH_)VUQEuyJ-IzjADy1y8$npa;c z8^kAjeoIHrLd<2h*Wh$VK}t>{g&#y#uN{j(DEDU|*(v7Zs*tLyy>T~5m$0^|t$JJF ztkT`$Zja8J`=p$ysuF(SV{SGS}ouBJStRL@X~7+e03sJPiMYQ_6w#DJBa9VZfZ#sm)-K< zCJI;-_`TM+6#_`K(0mjq=x-fgvv=HwDiMpLGg=APlYs5B3o067{8c>L_l3V_`=?OT zVN$Cq4TUWOswM~jgJ630Tb1c;&MU*o#zL>_MOv4q%f&)r7db7-+j`@j$1fpyKjN4? zx94`c2`T}1d+oO5pr?DS-Xh>NK3A(%jx(W(7hO=>mN} zP2;Thcgs(?%JgJ#;LZk09Qi5eq%tZZ+F0oQT`(+DGv$5ofk(I`oRB$i*nbtHKe{h0 zeNbtr*U#zUf!^zrAgw#&?GYu$W(le$)vxJP=BA@ZU>Y`jOT&F{Ha)4$yP{&li^k1R zcTVHl&*6YV7MW%aJw8N~^o0ggv~dbLlp7u$uQf4V+;vC)gkIrSZ~FrN7&id2a$rc~ z&YLX0FE|$SNG>pW-L8(KybYr79-4}B)vZO7CGG=56)|=Nzw87tSn+aJ>DJp{uj zdf#FDu0lfmnq;5wf$LiuK(xtRM_6bI`44zb_2rz*x)@_497szqj*_urCl^klN>Z#& z5>jFc8mw07-Mg*;FS_$(6g`g-uN4cftF5?zQzj(CV(0>bTp# zGLNGF$J=m%fMtw;pm%+Q$zpp7G7i&&x;x=bAHcU25~6Xyij59a@h6He?% zr+bY=(Xs$Xo#IjumfJ&=Sfl0I2%rJ!3-m8#Ex`ZuI6uf)HeOFFI89v2h3ThqB#_jT z1M1;tSx|o=D51Jf)hEMjuDQ+zxp;S3?-}2PX!O+_zIRRO+}*JUg{NUPE78D-k)H~W zkCI`cQD*QhbU50C4A-Y~r2RMdSDllU`yGdeO@LYs}+@xzi zgdtndY%8!%l`vEcE<@2p+R?RIw^r6gAl+!uY9ZFbdQt>vnzj##n6+C8oDB~ba5-#z zp6^#DlKztwHC@A^whweY8r@V%Pv!O|*(Um)*i~zVy5i+!AgcAlHHchNifv&SkxpYG zJpK~qCI)Pv2=hyjlR+WU$R#dgd$cd{x~vu`_DFDyI3SUoXV@GSl;&Q-aV9u&*J>| zxAAAPiJW?XH)(#+4G5021UesDbSNAB{-Wf2vsfdM*Bu^wtQubK$3eKi^)1?G{&(s=~@v-l*RWC*TB8+D_O( zuak-#&wQpvW3No~&9AzGDKrGB$H(V>1EUbe4-KWAY~XXHL?LnrQw$X3nf2DcXM1$S zYPY9TQ-a5{-T~XL_M$8tSa1_;Q%^h7R~H>|{U_FXbaHoLEHjTJbwYo@<5wLB*kL9jCBi5+=X zFYurnyHHfxYqS;==qH(_WM3jfIW00HA;TN>?9$&)#aC}{PR29>r~+}$W3)shoXO}g(68fu|ySG%Axx%6GF0&V1HF>Px+)naY z+0pm*!1!gWE_GO4b$DdIT~G~h{uc2W3bl(%(0p3W3Rcg4_UsLRYvR>=bS0(}7uNv= zk*#eQ8TO^aTaoGkb0H4=F41PE`cBTrD>R=U&$|Daj39}9QUT<}_DgETUaM)vaI$ZQ zsF7KGFDs63!-}PvDi-j6dBE{+UT!GxA&4M6LQP*@;mYatR=cxVT<^x)fy48pHXq}) z24u0Y|K{;p{URG<`w$PFdCtDehWoC|t<*aOkL~{E<%ROoj61RQ+X!fi&avTOQIOJC z9YR1cFn}G;o#m4ZKh^b)Szaf?*S=p<8Hf6gw-Lz=$@+gv9)CoB25>Hr*}(EMaKwE7 z6Y1&E03z`|Q{(?nE%|>9HOEpS@2B>zcbkob(JhnY{N=t z`%b#A=$H404~ow7U)fC!kkoHxETXT!+C8;5x9t(hz zpOW8T#h)qi&qITSq!BlAa9;oCb}F*pQS6?C$fj+^Q4I$nj3D5y1S@6fC7?>?sllwY zijZ=D*XBH++%-00euctgVYF8`8qJLyA~!WeM}YRL;s;aoO<;z_Vkn@iB_kHn7mQg1 z7k}9_rN2ZD?!v@mW3^H@t2@(UVZMnq*VkAj@xWTh(1Dy19{qqAqZAC=JTz07)0K|xBPfFNi*Iqp z?0DfQm_;=9pJ)kVlly>(?%@*DBQ#8ma0_&9V|H;5{0lJDx0puj5p1UU3Z}Cles}lj zQi1Ig^k2qLf%u#9w%-OA#}|AWmrZIpYQ{hS@u2PWi^0&q=k^oVTWddUU8@qmKX>AK zx7GwE&+F0fMB=4DXwzN%lNsVvlI^%ZJUS**+zoTg+~xY_4lu0GO}SX>a(K&Yd`r(B zvv!wDoOS<#G!XhJb;z?CK}~^D+t^&}(E~@Mrv6W5?f>N~|4%nd(GMon~*f4OBL87_Tm8b5WlQ-soHwuq{+3eW3!TD*r^vd;VtF{)h?=a(S z3UlXbG^mj%M41Ii)jOYn^%5QHx_4}!r`@x1ZtQ$@ZTb0BTSvfybZ)(~qxi3r$YN1Q zq!|Gc+#knLG2TI0yv)wqU_pa{cvEZL8}MSK;Oq(>%Xu-<@0Lb4z4gZ@sFSowuD6V; zUvft?0q|rwiT)S>5Ik^3`V>16kP1~znTn_+;)51hUTm64)dBE7S24P;@VG6Au<$9JW+o=s&(80K zR~pf}^ZAYBY4Stks%O|uz@F9@vo6=n7qmt317n(ZS5-blaa&c837QldLk5PFdxZy` z+j~jIjgQ6A^(M0QYV*$+)B9k(ROi!EiuYT~#r?w_=Pi@gVg)=@Q0$1A_%3*3b4`ZC z9Q_xE7)kN_yzJDUhn6AYY_5y^4^7)yFcKe4N^eCdSq=bZzbEX96L>YF*Yl&WT$FEW zd(SViF*FZ4I+4a!s1@Ewtb@(?Af(ITpQ?`9GT+Cb6ejW^_uHF0-ZPvqno*yepF9d6 zoH;SXYt$3Fj_o`j$@4l$6&H0`zbUMIn=_`{70>xAL^hsGX@+shlH63JVKC8 z$Xq_Iao(H6oz0A)nvt9&3=kQe29nH*IU=8QYzxVZSnw$FSXUW2)BYkTZ1C%n10=amvCznF)ND2;aPo`2iE}%G-Q8V0slVVomlfFWb z*Xv#3B~GD9!h|StB?n#{=B5(C*PzIPH+8Z1`-12wlZM*_3UYG71Hb`YH1qU5jzE$9 zTua3n&zav^2GsuBuYFiJi{;w>Hpqu zc-sEadBl%s(<1+nnG)zPf3{cdQo%w0wVSFtG+dP9wmu~*$aNefa~?uYNQwhZC^15Y z9VC6bn4kkStBU#n6e<*Dr5E}M7s*YE1O$coXTu#Lz_$^S?+x!k)1=s9V6kS2GFQVS zSOjmnT{j43KlK{A_-I&qFP+9BQ-!g;5_;^-KXiUKSSt@pQg#CRgC_v1WO#PZLue%c zLgN5U0eYQa#lual<{?sIY1-l17qkdbz_W3Zu7P%!Yn zi{(_=oQn37<8v57|L+d z^P=R+MpFq-=Es()PQoYXDG3(C+Zy!LQiftf1W|&Rf{W}fIy8hIjVDspraN92t=`_g ze36VOt6kwP4aef?19;|cH9IF_Y{Svo%Tg0VHQ+T91YAN|pHv40)^hjyijslwmuQ%( zAXAf=KP6gR`^Rn81Z+=vCjeeQOK_j?X>0;*pthb2Qifb0vEKmSV~Z8hY9qau-q87g z3vTO5(>~7%hfAfmhiuz*k%L;Trcrc|J|3B>?|p$k=4`dWMZe4$$x@08 z=`JfM01;lsV@e(X2?ht{(DHzt)qOLNwpLiWQT0m+HC$|j1vWbtLhZuX4o-dAJP+1R zDiipEVxMO6(fmcGM(jpok0vRsm$%BGq;xw!78>Y$J_^?mv%`g)vnt zJ@f}6AiOnZ9Gwhz9~G;tthwKIldzqP-FjyzzF{@QN`S`^K5-SaM{CF4aZH4)svOZT zcN9|@s9k3S=a+~!G?t&7N|&yphusNVdIB9wrpWzcL;=KdjDVlwK<|gZPI!4|M=3 z(rG4WF_f$YqBPRmxca)KmYq0VCZBs$-Ib>EO62Yap9jF{dfiS#rsd&Ew$%d4Lcmw; zy8!b#9M8hWn*Dgu+M04Y)V*(8(`X9M)u+%v#bGz@B^F!|%N`;^z}JkcF!}YC=>C$M z&a`zsgW=#=y_Y)quCS)t3_Pd7;!6IfSDQ6qd?+%3L>~yL?9Pj<^}pFq%yoFc-LTh# zO{ZJ$yMdXiACXdtY4{}RJQn9e=Xzo8gA%|(%FtS2$LlH_BgQ=5TGd!v?f|6PrLL0} z>c(=ngAjsu*Bd6kPYFoag}UEZbSCCMwwP$e7i+w|~eBWA!1hgLC>p z0>wg(MPgdyw+WxT^-Ez^v{e;Ea}|jeNQ9(_6~Ah6`7M)Hz-wMU?eJJckX{s#1$o&&pk{EiD&~K8v6)q9JrU zkO*!7DXtth5-VO@!K+h4!Pfe_B##)2!QQMwm-cq>)kSvQL6YD*^8}Y=51Isuu=aE+ z^1Obc3PSU#u$i#vn31bX@OqS0@GXtMB`bX!ke;D0Osh|9;fn z7sB~W1XR-C)}cYD>xvO=CU&|>Xv2fM9}wgUF!HGx+8H^vcPP%uk%A41it8+bE?|a@ zZ}fO(6tU6v*wSOZ8+{i2gO>+vRZ@$Q_{2a2GD=4_46^qHRq`@FRBcLnk~WTyqg=Qy zhrw^u?!oVkg050o9Vf?kbmt$|TF!mRpK?auKwomu1-TqrYiT&lCMpDH6!%S4OI>|s z@3Z8Zim4YBBO8P&^1Me>o*?0=0|qP1Cq})P-2}p$ zdL>KX3}`w1ywUXd3Be*(W4K!<%lELzi-R-fSxZ22$x-QgyD;9Ek}WBT%7GHBlp1Lt z!;j&M&N=FbBbw{IREijq`TB=jjM*_@J9WA3+V7Okr}M@mUFV%YS>P=_vx@IyOPR>R zr{P{g@G#Isab70NCY!_K-sVu({tQs^mTG^b+W9crq5C!;MySZb_Ehl1$;?VRAqq4( zk>n(%ir>}CZ}>dasM^m}=(S%jRoN^yJ6(5OYajM?Pk(2<`E>DD*w34*s3U+zXy!rm z2vaDe2v{7L!_VBliH4)|58ja7dGD?j$c0ly#nuZN&hzfhS}ub!XC7yZA6{D}h)p*& z+1hA>A$@d$Fw%1$X9+_Ne1)PHaZ%8?xl;v2D=Lr!!oy4^*DT5&Wa3$|v#9Fb`Wl8LGoE|h0dxCmd^pSRZ_ zX=1*-+R|1Vj+I&Yye>1KV%@M-sx^XNUhXT;Z2!QJ8%%rYdg=afdQqaQwH_prP*PGF z{A+PcjolNA9PE;b`Gw6nETOSy%Z%dJw|wWQU=c+@&)(N&O`J1tDqz7p2ct$Heqvs= zqhWkCriISa*h9D%{A%)tW8ZZl>iRDc)Jv;SIhOzttlF)Nqs}UzKUyR9&{pe=!)V$h zCkk1xz*HE2cLHIet*akuZX5F_flPVylLU|WFCmB6Pu^B@^bX7-N{p&@Tu_R;+ONDe ztD9i$lkBIT=rY?3r^}ansP`A@ZQFYDyemW}eG(lfhpjLr1~cc)wXNHcqQ8d|^S-qA zTr%3O4WvdAzi2dhB%iLBr#N-13h2r2^)<1C9TzLjBV~>n{FCl1&LP>MP({{0%7tJ` zl*e>M$N9wlq`H8Oo15|of0dT5;cUj9sk>yIpsY2E>z{yq%q!?8{b-X666>~9@)532 zXqaWpw{Fpz90NI}xQijbyEBd*$5wK8t zXJZ~^O|_B1_*Jp%o_c3CC>D0>i$9Aj(oaRHLaV!T<)%@wTc6ru<*h4qN-R}z8!NS+ zR~0nE8{g=NkIz@G3JdrfH69jhwc$EReq0%LC>AC9#dEo$M3>y~=)@4Y9U_X?ZNU!0fye`>&VIWjRKX;_SrF7jNcpuHlbFfCY?3lmu)?UY z6QJ^#9r#Zkfyzl2&aeAsW^TRZFEH3++=y+xqL+^Febv#4tO-qu@^6F_3Tz*5PaEUl z*-O)U-vIG^GqlWtxVnV=;ZjK>b~Ck|o(oFk&%iAI+tcA68-9p?e)@rz$n0$^WGq)3 zkvyC&c@3;wbVU^g*F^CFZq>aqy7dA3Q_pca9#%o*F~5rHC=HL-iLBDaVg+Au!HJyK z6rX&LC*P1UGoj7K9rHkAahKZ(m`xx;7%EuzXNlr28}^dIGc5#cWZIINq98(Volsb% z$*|trD78L}wzrHs(P+(_=tK9F1MkDRnzP8_DBR|3Y)h3$OL}}D8JciCL8F;Xah;h< zIcjr(HT?zIWi3^l*p*4`dM0leSETIxU+;g36goQcE_s7y%!H`XQXB)%U7jZ@5KWy= zo3d|PM7%$~M^~!)L7PI0-s}C_(Um<>_j(vRIDRmo9)pEd5G=bHUQ*=sI_YCrhgVZA zhu;nug&@C`oaLPyyQ^miVXr$v}ve0&~mF?Tl=veBora9*WU3BPwiR$wPaDG2FHR&t<5wOx{~oMwUvbHH&S-sdsbehcE6L zduUi?$_u&EVcfk*is4)D>G>dJzL@&i6;n#{t&5gv#P->^I{`&j7xq~BD~6o(KDpR~ z!0;>k1IGEtM$B&7QZ^8iY`7Or!_33RZ7V$%bh&eoPDL~Fejz5dM3ul%4Qi*s^ z5AXQJg9KW6P%XJDp+31)Hfp6vc3$20NmR(!OVOBowOq;2^U6tvB&ff^A#v*%F&a{= zm3f3(ndaTiQKGfqT?Vg=)EPb_%Eu4K5S={xjHPfoSRl$SgwYUheaOUDDI=%69q{>6 zb+)eL&6fq{lYo&uJ#kG2yATRA^4haSl&{YP3jd?JuZoJR3DymS1Pd^@1`F;G+})kv z1cJL0T!Op1!{F}jFu1!rK>`fU;N1D|y6<8TO^t0-%p-fRBIx5Ykchg0hCgqvkj?J%qzL09q`X)Cq1 z5EK&pH)dGGQnC`}ym~oX@>8yg+k3YUnIZ^lhqr_PHs9b6lEAIYndtJH!ZdDQoE$+U zpD8c3>Q|Y#VDN|IWRuv$ZYatTBhUD+zN##h~7}P4hQfE3C$Wue;YqC(@L_{GBpQq zErjo26aXk$jev(RJweCjcGvlu1>sai@<9I4Xg$nC>o5b-A@6X>kB%7MB;i>5{_ND! zj&w(UVUdHlEPH~T%PZ<^I?Rhh@r%t5Umqt1xHr{*{w{wqxbT?nAaX6aj)2p4%q#1+ zCQG?XvsNF%Kt+<9PN3FM>}JiKwpvIl=Zo}G$Kr_!q@{v|nPkNIdx$Ojha7p zVZ~JwOaWu$$|fq=q9I^7Wj34pJu*%HxYPjt$1xHgTTtz3_q@f}9|Yz@n9CqI%wgrc zkr@ygf_3!ti9%M1x{zm*StNxP=r6DI~zyH+- zQjH7$`F6dTO7LP_jGjvV^)r%eFE)BRRR=m|2oor8B^pO2%|YzpM-fiumd9^HVxoI| z|8P;|4J(M&zl1A;N<7}~f1Fi?SjCoN>J%0cuv0{MDJN5+q9UJ=8kC=RtG5r1j&Hw6 zM|A+AJA6Az4$ph|3q`az5_ARU8B1v2ZVoem^|}F$Nx2-3w}YvE=Y!rn9sQ0CV^Rhz zH+7f2V~#2^fwVj_!$IFf_P&%CkyT4=8ezrf1$@1eYC$wpsPMv_#|N38+CaQY4@BP zG5g(a;V+B)ET^oY-R`#`QwuWeddf=A5alp3U!$7tw_IlLj?g@XVo(ODeybqh=p6^cV=D&?Ny>PdC z2%@i+=Z0y)vXFKLXi$!DI_uJjJg}M~=PSc0%%atLoacf$wyMA?=vX-N$4>i}xMFlf zzCTOfJsPNU`Ccoeo?^R!q8ekncz^m8M(U;iNmsA%Yy_O7DYGN~9v12qGBDum@|g;< zpwHH)2^+~4sCltim1tr1^60JgrLtrbr(7pO(1*#_h;iCO*N5C+gF8fMBchc#V^Cbnp0iO3)T)QiDjY*lq|ZflvobLAs@Aq z3Ijpn(b1$Cc_I;$_keleyut&;@5b_UNr59Fp1wUdx`~fU?IOR}b?jx)zR9 zy&k6AP!B8f0n6}>qZqaip(FLG@Ny$Ynkz*1Y_Ff|m^8tLTy`rXS@ z;o;w;!AmT0hECeOlhw30^cNKas^-1wtXFr z2xFU{VGSPJT2Q;+Qabb*&vjY*=OWNKOj-~c09bbGzakhSeA_P++BEU7q%ou@FhmAt z>XxyxocEDu&%Z)yN8~6zbLf$#Y&!As_TzxhxxLl!8XH}4J*ZUH z;mEu-7Lc0U_*v~BK>h{B5pfs&@%j?Uo7ajn z;+dHWkf|rmSg^r8W%E7lO>aW_vA5kH7yZ?Gv=^7qkLS&^I#{&W4jTO5)WB^|*L?5w zHiubK5XsN6_=Z8U=*}kG2|>aDgb>y9ryRvBXmT8Yx$W zHoGk-7S+-^{89D!xCS1ptKTZ@S|QPlUZ^&2){Wqmn2@!P9MN|qow)1qT_&cZr6*1- zdJ8o!{YT|fJtwLA6=puCYx+J?8ctPs(J4VecI|Z){TzmwRKRH7AA=zWIwt7_EtT$A z@~GdYB3T?Jk{c-27oM}6H#g8))aYDV`l}Mh;#tHHuu(-b2p9nNYD(P;&S!dwCM?in%j@cVS$T zEqZrNepv@8MO=ecZjny<_2pI>ICP5v`M~k&wian5Z2e!UC?Ulmd6pu_&9xJhDnC$x zf_2jJyEu8=_3P5=s+)sE5c_oHytd8iU^lkiAeMg{)80G`Jg(c}EsPF%Tv+0wMd4bF zoW#*fOXt9~p`Wl2Hq~2 z11`~bR4Wi{HWwVwXR`SvR0Knm!FwqIE>Xr}4#mOjTT;=Z1vj9#&VuOEpa=*hARkoA3)9`6KIh|7SR-`?oyXRT=6j=CQ!BL1J%5t z&Tj|t3o1TXv82OBh83evo4U$qA+TV&&Z$IlhBqqSQ~KJxL4wVmWD5}%3FpXx^x9%jq!Ya=cI4-d>C;{N< zCzk?AAG4U0bvj&LUWc0-ILuaUdlq{StiS8LfFlg5Pf;~z&x0o8&ko5wPOZ=OC4AcX zqXrI$=or{@UI6fJ7ll|hXi&8pdgFk+0;k)Yx3e5}o6v5*vYDn-rTDYrZ?NV?FuVTg zbFu-6d$0#>N`GDjyiSYfo)q38GwY{&-7$$rg@pOVspZR7)5u9%kfjxWLP1Jn9H=AW z3QF0)Lui*%{)Srmf6k^?eF-vwu59(?1^5R1NYOEr*c^Q%@2>p<^*2 z)PphkzT8{?BJsmJ`RgZ*eNG#{)3)49zBl2NI(P{+7cs$&T8sH7?4H+uOI*2Ke1L6d z)xADgEeKS7tiNu|+! zs_ol9RX9i9WD`N9*Eo`il!2@$YQ>YjPS;V?NXwdj&LWx}<-xKDf6Z!Z9$p`YaAQ+a z^$5zUyuKfH$yddBexMi<2=b{Q!IfAWM(IAY#*~cic2~4qO;e(`xzt)@@Hdf)tF1Hv z1x@q1W|?^>8!eSl(Es_Q4)6aV6gxH_JX5Fhx&r%InpE_11N(|58ob|S9B3J_a1@$XMtc#gX$vC(aZh-c8B^iN{sAMNZhVuJP$rS3?) zMdfb+(otS`&l<0??2yimX%KS~4mMiWk2SA{BA=&R=k&FU{&9Z*mWq4U4GyF6p+jkV zX)vLL@j2M`8Lg*f543w;5ks=s0zNL@2E$Za-t`hc{~CxCi|@c2R~@mP27Udy8y5g) z>>xYU4~nezVPIHq-gy5WyB_+sMQN1K=731MNox}@f{n3H6p!^;=0WFtBHhI3e4IVX z^jhP51(2GQEYKEe}PP$eQhctwD4aH&0{&1`-?D+;?kj@aDq|Uxw17P zqq-l5#it*sJ((zmc#QBpCz{W~5-6*d85a_<{Fx*+y}$vv537iIIz)VYr}Jz=^_}?f zubv%QK=KMhu5ty06ovs#+shyryA|M`Lj9UTah+>Z_*Kg{u`ja4y(AF7 zlSS-fVI`x{68u)%u69z)o`jdWubekQj-W|ldf}J%C#OdkwW`mui(wgdVm$l&GgwVa zg?D$3khr4rewW#8$x`D>u8U87_k|Qrr?83S7`cyLieWk;1;+5Q+Y&2AHd?r245;94 z{p)u*O5z$xd(s~`f?hj?=^ma)9>Y0)%&Y0#j-{-7?G&x2{LU1;d*q0eUNSQ_Vcb^X zqX-hP7HpKHP8uG6OUzzduiJwmStrh#@Z0>ym3_w3E!=KuS-Ym}RGFhxexM6Pfrx>N z7svH5Vw;uN)GsZ;bZmS#u8pl(IhmSv0 z1&z_?v!y8jzb|Nk)M7?i-|9m4t)rd>KD2Ds(j7JxIllVovj-1S-r}=ZJ*-p^x8@^f z>y*@Y9p)-66K^yr27sSbY}Ldydr_Lkv1hN+B3;#*Va#;nu+v!X6dA~HU5tQDHA+H$)U_4*S-e_Z>N6Px$x6SHc7vvi{hem3u#x=X_$QXD3`~Ha`7USDa?u zw5q|jLkhS|pd?yn)TDKa43zkb=kvAzFR9RW&zJAqt-Lm0a6CcaCXq=f0oL zx7T#ag`G;kJ*prc-;oLAfendD0OtQq#@)VsNSo$oEBQ8cl_ht(tTxeQgC^H|I@PiU@i3_b*0M9rX0{%VZAkvj^E0 z;f@XykjZg7s(Nzb`8C-<{g)uI{#d=x0x5`H)#LNt`oDjQXR%yarGKRiitMnp@!0O( z@KfdA$K*O4N_C@3)0aGWzUh9pk)A>MS`^H=R0Tanud=T2vmkm{xAZ~cdv2f8_mRx< zdkfZ_B;>h&vHqt``^5odOBg}-jRuMCgtrnl1eWhZi*y6h0>@czxe#;b`O3PIs}%$L z?BfB&&;WDKQFp@>@na8GmBXLkpX-BL(fQi!j}9-sK0x|&TTGuDnA>ks^j{@?yJ}mv zu~d*#*Hylyp5q&5oNKYlsD1+$)X^}OS&5n`;Kd{2ae5baSTV05hPR`(+X<^BFAT9L zv{o%(qbUCf0Tw56d(`7l$B^izO0yIFChD5y#6%%#o;2Ai7}Q2fMp2RPLRXkwlg_KP zcg)>wKzc$6#X=BWD6nS^m_r1e156kXo|5nOLuVWwHvcL-)n)5BIkkW0UCtyLaS}1y zRw?QV%^``pJw+}PF0|}V$Wpseob@z77c>qOLn9XL4I@2H>R08#&|tjpX}}0h2>x8K z`^)%zw`Vbz`|_o)<^7rDE6ap9@jM+Xm;<~tYCPTX&tPC!-BPubsJJX(^=oeDu=bY} zUo5_s&gS#YCgxn+%`4T4$dafYaOiY2w2j_SfWFu-odo&}AhWI_OO9S);GS#8FN{zM z90NS506t|76wm%Y4D`zC*eQQoMR1G^hrVjaxYYj|Ri=^=1#q@z>)omqn&1(+ogzej z%E>urmHk6T14GczCq9fG-nU1<5bs0Xv>j+*8a=ZaQW>FZ%LIhBL=8h84@oTW-=)Ej zAC@oX8jo1NOzxN^s`uIs^O~~lrwdw9lw70v^jmsijRq-omm+pR1(T*88_pIVQ9IOx zS{c%(Xrlue+wahS?%O`;<~ z$@FwfGb%{C)-Yi;={q#>ur*D`{InNsHH*NmO=m*&w8G7@u%X8$$`Bl;Q@sDV+Y08B zLa{sXF+#0qS}~#owkXOn9S#%n@ZvAT1TC+6?jJ)Nf(|L4KpgN1^&E2jbPmR;rh}q|%E6Y}7PW)GiZ40F zAu_@)9ITrqHS2V;b#0l2#^+D=O z`pB{v$M;NktQi(r9CAUx{@1$VzUFbU-p->hTxkYqs>gW}L&*I4(vm|@OYmW^-cSz7 zg=NHPSl6l9h7?12)&&%Vx#_Pyo}1=zkS)Qul?8cm5fVzl`_QoxLXe~k$q(*V&YKKK zB_ca)`X(1rU#G_7URFtG5VC0LEvrPykpn&-5hRFqbqn#>%mSSSc{Jc`9Zp|ymEM>x zXVZN+=sN6S_O^EuT3rvG#B-q!5fs6WuHz1nAhU75`DCMgC*QjUfl4DNUNT<^Oo5Qp z&_-a;GF~8OBkO8~7~&&@Ril~Sg z7=MmHf}Ppm5nhi;_L2A8d|}!?EyGpR#Qpg&S_;R5(Yqdb*>YszO6w~}s z*sQ$IO#N+Vu6in#A=0E-XGw&HaS^6uwdv2D&njX*d*oN58v_x0PtGWt0mdqqu<<=3 zK=iWe0T#S~KGC2ck~LYU>LGoBfBAWUjVgG<2CLA&&7J^t64Sh7A z1gqfF{T^2gSPzpPWpKl3i+u6NOBSNbxUgY-1YoapQ@f$cck{h*Wl7f$Qnd2SQDcu> z&x`f>!|)D5u)5aEgw_q*ER_v>#sq*1KVls3w%CWe*7~D_+AXP06H?3THZ#h4Gniw< z^&2_pQroMKwGY4hBErm|@tqS}7;T85ivtJYGT!%dc9;_OhTf2qQo-0<96siqh zv(G-ns)hf~o2di!#|F1c@A2616amYdfNy(~j1+0X*%xol zeY4oHTif$B_DX?s`Qc2HVdEFC;FWToZ8Qim%CIXyg<+-n%RmY#{pbO5ekr*^R~apg z`lLeCW(~YKccVEaXVvR!FBB`ottEKSE`6TUqYN&E@5l=N6jvx`L_n2%zu3Y;{ zql|UjjHJe}J|;7+r3Eq~TWRJI&Hn{1q1*GvAI=jQ_)v`#CKM0A{0bA!I{SCE=|u`+ z?|G9xTrj-lb}AD|i89Q(NkDF=t)?Afn8p&d(Gh}R5cJnUyuavpzGKgy6;D>g)w43z02+fT~-1;ZG)?&vT$(Bk)S zsASh9xB*{m!EL!F&CP1z^i5S=z41ffs4d<^NEHk}C_ek2vNDmocH;sUXdd{ulHY9Mr}n$J95XP=jA+&x9+XKew& zpZA+#c}j(mt$)=Y3)}Wb5GuC?!N!k(@LdK1X#a`R2y^GPe)1A+jxKO(5@=y|^ zi!=SVd>Pp_0-jLJte+O3V$(k%?u!6=aM^JF*q3#bk zOK=pxo!O5o8V&y*hkj096n6w4(?Gky*~J15nrZ}ndVF^Tl5oXIjTmgiZt0Wqf?;?1 zId&ad7!wNV0F#Lf^P+}Y5*N}RLbv^158|_}?MwKAkELn8W*oC-eK)-?2{E`nSAT^^ zbzRp_2d3Ky%QcT-+*N=5ES2&rgR>tgw2;eax*27q9X#qgY^BdH>xMKN51ocU#I=mu zHpj_}oZp&TuXJhf>xU*RL|t}<#!cT~+1`Mv#4o?UnM_Xy5kcottS|e)oZ+OSOf%Ea0GmoRUeciX#XfW!Yyoizf zt@{G{vc(~))su`1G~t930eF0nPy@h;9Kig)r*KvgfH<+Rkvsq{9v&*+|M%0T#aP#e z56E%<-4XDA>HUu>{BImZAt3JeG_;+b@ApVWw5kkeGhUSMfMBy_j1V>Xhyu$LfMS2*$&%#mj zTTnt1HiMiuU3Gx74hPw9>0BB+F5+jHcY z3M@jt&$gWZB9pGbolM)Fd+U5P!2owvVY4XJ%GP)4B}OKL1%A+ZuNQ&bfsiD-s+n#-+Rg2avwjq1XKcoX-p?~?D`psVKLv*NCMu>&EBp=@a=a}U9~@+)7GGd|#> zx^qQ|XHN-;Cio$tyDfz7>TIy2op@%*ksGn?}On zKbs_ed4SwxF7!ahlPG#!J`CG$pJ>&K9?uVvz2>*ITG=&mA9`M_9f}5D2x|Qm&lagOiBc`!C~xAnbz5l2?*KJZOvhAF*6aW8Eh>vm^5LK9gAf&0OvR0_Zo!oi4#0JBG~}PRAsaljsng|OQlPzPnaz+X1#y*mu}d0Sk9J8i2dl2;OS0u8anWae$XLPR z8q68HI_5dtMcu8>ssS4w9N!2I{zsZ8~A@Rz!ceKqgS1{P#8eT>}lE2lHj^e|&pQSa$?pP|af9hPu zZRcQS+>p0PBxd}>u(!A=Z2%zL=zo0t$#rLm?1kO^X~t(O(9x=W#&g-kaBZ93r>4Y= zE*YwA(k&B5?E4s_;>`}iKtd?E;PGM5#VF%qx}K3-e_lxG2BQXFL?AY-v^0{!?SZuDuk>0SWlTj z&2yC;gRavg!4-GO#@%Su=&XSnMBn9H1sOW*@vdQ(f9<)%eTG}LKdByb0KdVjIScM| z<-9-skayH!AEi(d{vK{VWD(I=8lFYY6b6P5ccf0Vdwm>DIypq%#gOpBDS0GUTCUIB zH$84LT@RhZopmBr)7Yeix`*l8A)33H^hC190Y7lh)s&&VComMRrZF^ndockDR}Pg} zf|qQDClYDI!Pr*>Y1;S2zT21i(RZ-$ zN%$cU!ydWhW8v}r(?byV-^d!skXiG^tJmwgXO>23hMT~lsRNgMRfcZ%X#IVzm@_&q zwk4vdI9Cv;)mb}TED1EQmCAD$TrHE?eqkM2cD;9Nl3?~S9_h1p_|!Q6eHhvr$}|n# zTfQ)8@!z>$xsr0~1JXBzJBGE;`G#wLk?JdbCGF9h%#zp(Hy$3T1|I9(e(AWN%Z+$FsMnl4_^uNqM;Z1P~LSl zij}Hl$&=B)E_y8$Q*-I-tj7bKOI2+#k8rhA=f4k(HcQ$} z*&I_-mFsbHqk=~Nfh|!=syAy&&sE+23pXo?l!dm&^f+nt*s1oME)2N5mb0}yepb!2 zufyKQIqTHPG^!`rp+d3+Mewq6cFDKth(+v}JR(L}QYOd5yGJfBVds`@Q!*C3qN)$6(*(~lejgy~YJ#UCXqo2?VW5{9C zB1xwHLszy|7S*M#t52a7>d{I##hpiPZN&Tr>YX+*hMdo?ov#j-@$NN%d|h_it5_W4 z-Iek8TWKCkOAgdHebqb&CWY1)%}=z8d@Jm7dq|ZC0Rc@ja!Ph8ab4385T; z_7dhy~zaw-IqOZgVXG2dsSp|xy#9V=;1$;%*?O<}~<>*O@=WP(PPY+{G3A3}kX*sGm&Uov}a|hrdeJfyXuQ3ekUGzkpxzHiJ zg~gpW(u_n-nkV`dAOKAk_AuR-E?>UP;=PFqFzyKe*naOwZx7dNJVnbv)$at~fw0Rs z=SUzZXk}`8&+q46m%V9*@bo>y-{>5gmIJVKODFvt!^M-=w3wGm3Vub z595{i!$QBocQ8J>BIoeCc8>e>1Pi8C0#l(rw8g89W4~qBt?*x_a6RZ=3BAB}90Xa|IyS1!SB|RZ{AuF6t(dx*o`NXszV^2=SHT_6*$6sbxXN?%`jxaW6Yp%z9>+ z?}oY literal 0 HcmV?d00001 diff --git a/static/tabs/phone_icon@2x.png b/static/tabs/phone_icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..d4bf6f3a829343f57c1e0c538db29a4054a8d2fd GIT binary patch literal 5255 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 N002ovPDHLkV1k`+6%7CY literal 0 HcmV?d00001 diff --git a/static/tabs/phone_icon@2x2.png b/static/tabs/phone_icon@2x2.png new file mode 100644 index 0000000000000000000000000000000000000000..cbcdf53282752712c66d26534cbeb87c5ad4429e GIT binary patch literal 24732 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 literal 0 HcmV?d00001 diff --git a/static/tabs/touxiang.png b/static/tabs/touxiang.png new file mode 100644 index 0000000000000000000000000000000000000000..088f2605920123a52adf13e07818d363546fbad7 GIT binary patch literal 36144 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 literal 0 HcmV?d00001 diff --git a/static/tabs/xingzhuang.png b/static/tabs/xingzhuang.png new file mode 100644 index 0000000000000000000000000000000000000000..e4d785c842b1bf9c2b6a2fac78e81d2067a0c850 GIT binary patch literal 21237 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 literal 0 HcmV?d00001 diff --git a/static/tabs/xingzhuang2.png b/static/tabs/xingzhuang2.png new file mode 100644 index 0000000000000000000000000000000000000000..677a369b5f3614c905299177a4db74d60ae4ef49 GIT binary patch literal 62580 zcmV)7K*zs{P)PyA07*naRCr$Oy$QIbM^!GoYVWhp)bre#Ng#wkAR!PLWRNgNCJ~}C_=8@!kD_uF z1@v) zY-Rd1Ffn2 zk@B2|gdR53rF79%<;dzOVHp={1v0~3^N|Tv+SlvRh98ILsx`4^WY87TxbH0t0H6y7 zmH}Fe*4jk?m}?oBwP5xcWA|Ht-NxG87T`hCYTw^7t(_LSGu;&{=2t!d{l#_A+jb-L z;39){ec%2yap(J>)7Gs2o$afprl(f7`~B5}c57t|25aoVthX(@#q`Y<+cq1)!g~Cl zF|f)2thNTG4ZsR(VbU0ATY$C!Xj4rc6^N+l1pO_gNW&^qf)NLz5}G$6@apHl=jizN!0}GF|#-0i-a{_?fYAmcV z#!Q2?(*uAhW6T74KGvFXW1wS<9m_VnuEs{Md&=2smOgK#AT|RWL$XGHl)a$EUQdG(H@)gAeYW zI_9w6m+w=(32uW@4*{CwM*-NNuMy5Th!hf%u`2OQV6Yr36*f|xWG{8joZ;|)Sh@!m zJteyg#w=QZB?ETBfSDgym~R=_4;CJPR_k61{X1=|efwD7?l{nWaQB^Wc*N58BOrYr z0g*Ku-?MvVdwI{s*4Whg*1&EBV@@;x4v36_Qvu)v09XeGI$mxB=L1uj5=5UkzGI$> zP$$)OE=i;-nGn$69q{HAaudb%f+yUHAdLxJh_a?{33_Q5LPr_j=OXn!aRl_?pu3K9fZp*U8Pe)2s3llF~HUxgnl>Mxpzj4a&WlJ#+t zPpA3A_zQmG-372S2F$(Iz@1>>b_;fg8Nhu8U}qP)d-|>Zp6#z&KO4UP-Z>o6-ha<~ zfF1alZEwD9$HsOa9&K8!$F~eT)>=5#7`w?Dv!(^G2EeRFuZQ^E>JaK4co3up==EjA z2a2bYO`xQnEGwOXVctg^5)pqCE6q7jlrTS1HHjH^50InuhmWaLgnC<)n%N0ps?72U%41=NGO`6I&0|z$IXy&@F96tCYt4R~ z%9&Pcm$ic(0C1yix4zr5{abIib;TaI$n?I~IMAS$$GU6Qtoy?|RwiAQmrly@)$DOl=YdX~9r29dPQan>wLb(&H*bi3fY* z=L8U`fn_nBQGrOq)&N39z#!D={*zwDu||K5ex#32gJ%thimp}o!)TzHAB7g&Sa7=M zAa(%apdf|F1wKiZ?pG9z_xBal?q(kQ-?HtDoT!E_PWSA4b_ zZoB7)qJ9}P3j?cTptKV4cOSs+17r69m|cF_X1;5TxduA@o3_DTCd&WSb%%nFSHc&sfHBE?Sg0 z)6pa(TRj;xc0>}uQ|cD2Gt|&9pzHvYeUU>dVn^j1m96@e!a96v>MDpaDNRSD@(?hp z#+)>*A%ttf@)A1zlg8LNR~(cZGT)0sNW^!rZ) z1R-OdWWcS0;j(*DqHK&Rf>I@FGqt1m`ug+IPYujsZGP!o@t_%4VyzZDfX0>x7*$MI z>T&sxs>hC>MxZW7tRj@6r{yyCA=Sk`CcqGFZPJxS#Pd9tb&V*ETH1vK)atA!Ftlu{ z$ra>N@nR-Dq~DB6BaV>~2x)4CvnHZe)#;kn9>KU6NeYja0L%^md-cG=70`n3^cUmmkYEB42(BUk%N>fah%-x~qw{7qUQVORSaJV=uVHt5DvO^0-9--Sh0}l2W1q zX30V(857^2UPKGeb1#EAQ-LCzJC;5``$Ej!kpWSz)OUTzG({t7N#sBh^fYPx zVO)v1I`XBbp)1u`lTfsj;3oksRTwpm5l`t2(MSz2g;M(&6pz&;nTS;t_2lfSkz-4$ zKyzfv0fz!^OVcOGFM)`(7e4Jtc6_w zaErC}Th_qWyGw&BxBtw_-A8+we;B75xS+hc$c`O1w&Miox6U=TcRm>NbPMnpV_;fx zNX^QK%Aod2C}EaxR&_HEwP0<-G(c;^J(Kyt{zLr#Vv&rEMMx$$aK)-zi9-ru4q+MH z^)G>uhx%IgV%rI*n}QI5CQ0Gz!z==>jRHoeL&eYo&1(`|c%Q_yRr{wX_Am`myxfXt zQfr!cop?gujtE3FH>*OPlnkr0kCuwF4q*+vxX&8{H(P+q!N4WGp1Edha`L`y7n0h}IvbTyBHS$mu z8g#R>jnuuh+z{V4NIOtbjH3laLb@}kWP8sMITpww$i!~M7@Py5x(ktAmRi;qH@gxjtMCfG9{6E6LB7SO`s>pbRIpX5T&!os{Y7&n6N0N9JWwtev}6BFByR?gAU0iritJh}12Q%)Hl>p#<))&<7e zr&wdQlu3yhZHa2vSBYw zoy)UUeso}D{Ba$myN(5*6DO#2V4K0eq#c#J+}{v!8yGwT3Cy)%?7#L~{V(0rT6xov zdPYYEM8A03#BpmnrN)z6;y^>S}{^_VhN+^Xh4(! zHUn>ZR_(5MF=G5IL2>c@P$6Q#?bc%%3u@&n0|@Oi@5Ox@zE7*aLMYMz@{Eqz%Z8K< zPG@X6_}YSJ6x_UxcS(>}83UiOw*Td&^($}Ret}uy?T-HI@PX(e+u8uPK6-r6dNBaJ z7+P+t#`=<%b)tK6Hf8fRfKih|M@v6cj`R;G@1;V}JQQw4={OteCDwXKnlrPvN^U}7 z$mnuzR0wu>qy|Pq=}3hsOMEWY#NYf*_oPMvr3gfoKox7g>yC4LYZd0pkfji7)%7BT3SVY{zWjHA!P+A^l3d4T>$LOi~)O%1@i^d?|<=zJ67Iu zxFqP*u&~yxj>;N`1`K%tH3oy9&_xegq}Zz?gj)t> zRc3MKPj4b*m~YvYY9$r3)w z3LHvr02WR2-LqzGQd1miDB?O9I7o?IA*fc3^VsD%Oof*k9V1Q^|0|4FQ+YBoNLEGY z53RANX_)pZ@AD(#erfeortIQV3)b$pt=6|-0G~8t=BpF?4{uw@u%W1kx%HwQk7)Jn z^DGR0)Eao20oa`4pwhi;3@TLOKsCXN{HA6;P0EYYvb+e?wYUsC$lxWfK-4EmBe#R- zKva}!6oSGZQ~R7RY+c|(nVB3@}`XL7V_7)SU~F| zAmm+3nJ`j|LFOjCXf*+eq8`PVnd&PH6?F*1S@MJ|IgFsakzO?BO{JtsJtEzF4@(0P zgap7uabk}(AfmJ*$f)Ugr7lhOSaA)A znCxXmW1LICFv`@hc^pk$*ZQh~5QD}Mv{&;3Dw9Wj^*Xe{_qqw$!PPVa4;X;20l+`a znZY-9d}_sR_@~j26B%JBnMA8Dx@F^vfqBXR%!`dRFE9p9!^7!05yP((#V1YFT2r+# zF6by4PmLMlRvDyDuOmSNQWjHn+6UTX8i$IqY3Qj4`-g)Kfy{h7yj<#JE~CnS9%tR* zELSJ7D(_5=zPeVx!Z6@#nybLemkFCnOon%gKsTW;1L#bM z7-MSQIz#%;>=x-=BdBDWjv=&VhE@2F!90;1w5qpGbLSVlSuTq63Al2MDK62`9 zGq~3EU-QU`oO7fc1|g-c8K3lc3jq8pSo?{k_0!jnx{@{;5WRZa_@*<=DF!;vYZ-GP z82eY5scwSi|VMJP`)(295>A)*Vg(V_U`3e8_ zAH`2yy-Zk#0|ahbtpb^%eGIVOdme>Nv|;RIJ8C%|6E32!Bg7Sx+Y~Mq_EUQP17&_toTBuo#21!u3DG1c-4`ySDC*3 zSijZ&a;tOuUE3~v+|aEc!`SVb-TWJOY%%TbbHJFFfrTG2#+@gfRnE8N9L9xRApX+|TCVc2S6!%=(Ln-E|`hm&X}-G*jur{3s18%Z*`C*q0>E0^?2E-nbO5GtcX&6Xo8CrLiZ z2Bt}&#losv)N9JKl7S+nZZ>Wji_rQJynaG`CdEa_BIfL|uM}^Hytfv18UvSF1D}DV z!NuF&xbgu_Rp_%}Yy-Gx+xVvL|8=HiUueOcU@Ua1(=kPfC5Vo43ZuR$wgxPD zNHXZE*5l;Yix~58n4*UtwHRd$Xhaw5$9BjM<$_oi_B1-V1YKP3qgi%YPY}T&%97g* z|BB1*QD2MlBvF8Ym=HlBAGDexE4e{B6F>->Gzzo;A#PY|3#>!$%v7FsM3dmFJ)zgA6_Giow1OtD+{LtjLxBpUevSTw4xhdJ? zDJ|%|1fcaA0Q*GKf;Jv586Bd+z_J>3CVC*sF_4ml=Dm3rB9#kQXJ=qiqj;W*Intf&yi`tAT(V*(QYfBBz7&$nKmqC^k(U8c@Q_Lm z!qXy+Q*-_laM0S$T9i3NZ^dQwRa7ppt_g@xyYT@2Yr()j^t-LkwRhZp=eCRLQ?y1P z+W0$nAK&UNJQrH#<;KE~fPoE3K!owFRwRTqVo7#1GJ$o5`KNR?UMOVAHBwa;BJHy% zn*mw^HZb+baU20uj(J%lRM{C0Mnec$C`tp%Mw||%7G+g6B_wFaK8ef}LtsB8eTp{3 z136wM6r~I3SrQeB&tu9!wlYAiy&+%}1hPaMiJPKs>VZXhtKv=p0HK6T#i+@?APp!DWvAgQai|p8z?)E1eGkD#=m=}Vz zrx;^8e7!*iJCz=5K*YQ{vJ@>lQW4sM#!X&Ng713#APRF7l)4<|H&nkUs5a>tS7NOd z#RDJ==HyXc1Ul5A3OyDt`dZ$QPDWmvKE6_$OZr6BBco_gmiibd6@n2%A9(^Ysby% z;=3X8#v2wuR4p6Z$_q2ipEh+uag)g0Lrj7jz=-#Wf{_JSG63JQ#{BK_!2a9z@u{8K zPJOkPn=ab5vc0_bJlkr$91Of1EIfksf(n}eA_r2mR>dP?i=N8%tXf-Y_6HNNP*NyE zs;_A!E5ula9vwoOkikx`7j+==6U+!8jZ!*dmt_KH1DM8shi2uO&x(qx)?uj7%MU6Z z@kj$qeWj`ULU}43qEj|kLIom)U!nT)Jfw095zoDlvwFo)2wThh$jw>qvoz3I=^GYa zbD<$JU-F@JEr(!Y)(8>9igjB6-16}mW6Y;}3zJvg^0Q`EAC-8z<(;>lW?J^gFg9c@ zJjo|6>hTah&JqENLBv3H>OS_qCQY)tL8264&yNH{B`!2EMst~qwlpi^pLtnV#*!Z8 zcN%_j03J>gVuw-(nvzQkYR100ig>g_^fbl7%3j4MK|W%g)WFwbS3{+-y!wb}n7&jW z^*^<*(~-ZfjEX%T4lFWbQ5-8)kqtku%<>=wmdaa2w#nqAOkaq`N}2kp)~C`QcFPV) z$}D6*$dpfXyao*XbI-Oub?a*U|(pUwHd&sodHDUxRH?% zF8Ibss4!S6adW&z5gb+CD!|wXd?RGQD!`I}Nc~4C#6@>&{nwte>MCQT{HS0WW0|IO zDXhl#)D$39V6)PvQ7m%<50wSF5t4@VZ9;|bkx`(*7SJ&%-izeB!(}DEqQVRRxZx&O z2LwWWnNg25RLD}{Z>q6^e^viz6qyQ@TQCFT4&k?7vhCJ~H*cN%<|X2uG*R6}t&P8N z;TB_CFETCjGXVCf228klBhE>M7}f@Oh(P3>iCkILpeZ0w!3E9{(jO0UwY^H5Bvt)U zgjXj8KBdHvGw*25Y7(kH&;2Tup6LW@yYPv)SJ6n@_>!$(@;%ua0n*T^WmfpiJ54%D z6fF8}k@oJt&6ZxHlL{k}pK9JGK?6oExK?PP(a%C3UB^r93iuIM{kGM6-uJJVHBmmjBl(*iXeX7KgV)IOiN5XX?8-p=D= zn&QV!$dtBP#9n`%=^}uLNKJmzAUsk4!vIn>Vv5DhGA~?$cGPA9Vnm_TKsKwAYM)nb z-<_E9LFXhol5xB!CQEWQMU0oSKTJ(x*R`Htk}Boe6yA#-9i_ z9rPlw4yPXngc3A{kuZ)|Vn7OW>o`j#{ zQI5G=&!6mv@tRe5tm=0Gg~ku^&d*y5B14H*BH3R8vBL80RH-> z*RQyyWHH`TzkcO&TgJQv%;0>mW{L%E#CZMH&FDO21+DNTSlI^Cp`l%5Xqx$CAtJmj z7R>oHQL_?3*(ksfYVa{+h|9e%g<0=D|BkCTDqospWQZGyv81L_<0~3QjY0*j*uaN- z8p=uqb8troqY;3J8N&uJX%axjq^wy|=Qwq0TCCBtkPz;VlfE^#nQ>nac_=b1c;|S7 z|HJz>80~0OqXu9?ZlebfcV^PpqsVJ&-xb6iRSRI?t1uY+ugUopUx^8hzSd_%}aFuDB9yTZ!!rFNZ- z|6bs+<}D9V_K^iy4fRMt&pX147!7A=%8=%pkMiC*ebaCtcdgTzrFjN6l5!K1sp_sE zVpIFXqhKm0%M7hj5fV*@smxTF8Dmk3eAYXeXh?K9eJw?=9;V0^nYLbpEGu#vAIm;? zw$k{fl8mWM&Dq4jD@=KUfaUE$soEZ;gGavG!R2W?k2N!~g&w07*naR7*WU zSZ4FqG%_ytXY%HLa)k?It{8abPUQhYBu~n+Tht_i(J^L4RQyql zMYKF_7NqF9h_EuRkYT)-q7<{HCcR;r98({pFbRLHp*{{mdC-kC;b?+!qHPx7bKU;n zW8MDB9cJU(Z(e1ge`X8XZ-O>l0ATa29Af??`xf_Q< z!cdo^aEsLyEIv&v4(BQ+5d4~#$8gN+>Z7aWmI#3>8weGbV;MGv z9AzloE`f1LL8&%2%D%{6_a2^*r-lk5I5KT-{CI}Z$nqg_MHs+l1SQRt^pTMJQdqIa{wt|LbfXHwZ9G=t0dO>qy$Ds3>zAav`fQ-aOAhi$5)UPTP{G!e1T=kOqUG{TFO z+^zDiW#X#6JY};~az!HCFbbcX8cjvmsW?PBGzx153-vRlj;87gZ<#1xQLZ8<0=gJ3 zvEebFA$&#)9}*BLMzlImE-?DIn&r5vwXB!|TB2HAtYzC}`ho62QB{~KpeaB?l z<*!^020mc=?d!~jciwz{%fjOgz#G8WbLyZ{f>D7$4U(l=7Nz$iPc4ch=^>;D6?480 zE0bpUS@O&g+Usk<5g91_1GRt7oX3FuX^!GqYmkcWNK zg{BDKu%M@gJ6!RpA&6kDdccPOL{(3oIx!4AN`ss!HDnWk`no>G!XZ}Wh#Dvk*YYF{ zDq)^(l{~AW;nE2Dx*BFP9E`3t7XHSz&3Dblci#M3W9?({4toRen23aBo20v3o0&sU zLw2GEQKD7LR(w|z9*s|pf<}XMT&b$`O|n%J3Ppmn6{|#iWu2lBqN58$oS#fJ8a!Er zR>~MsFr9N$h(Hud4Tu!??ofcJ00p`qEr^$5D4O`qK&|#+&3?&gCnbKhjH(7%uo{eo z#KD3bOzCT2#4H(ixtnBJ(k6|)Sk|b+moYb6Yd;BKZ!{a6eiZ9p9=P5tC{=;Z9fZ{t)iviidDD*$(U5YOGeP~GX_Qy zh;(Ro>?Zq?+*eN5DcJB}H$8$fpRlPDmrkh)nG0={H>PN&y}qZatXC*Y>{_x;LCBpq zsPtP{F;dJ`oC2(+Riyai|E)S|h1C#?@B#{?B5S0kRYqi&*r4=Bb~rELSCnNGKvPK? zA1VjKH8U`39ED?6!WwhezlVeV6|A}0YHHnRudV8L_7N32&-UCF+|FyLe7i1cj%MYfT^;Yf-%RHvO7a!oRsF3 zWZ2w-kWdChPC-$VCw)aFF4t2#09@AXxKt zFy=P1@f|n*B>o6d?Zuy*6sMS;PF86?rsn0lQT`R5YwYw+8VcmavqE0y;zeY<0T2ND}I6 z!qi3}%H<{KWpF$aAX4Pt>5ScH0j@E|+-^3#UYfm-CJ{G`CQ`aK)Jx0|1Z~Y+g ztcx)Zfq+$TS^TV~HXx*8C1yaFK8&8+Gol0#Xi*}Mw+lj;B_{G2Fy7iwlVHzMUZ-*w zOatIF-N{CQH|elHTczR1AQ6I%AWF4Iuq~pjy4VoPIh7}M=@hAWe}&`|spIp1g80ff zBC(79#|Ahc7C=<76|@U1N3CRTXowr>D0Kx*YVsEtn}WuKK1BdsR?1d~8^u6UJqRn+ zkyts=Y^Bd7aFIk@nLS>*a`OOiqcyO@Y(B zmy#H>!AKxbx-m>aX??@LRYbA@jH-H5r0xk&Q;9^RKj>)z#Y2E@=vWmENRJpJ6?03< zHUUwB+>qYD>`8;NP~BHoxug{k#2-4986r#mH65g`pZqf+FLgEXb!+m=n&lrvI!ih5 zMWm7`{f*0p)VQdcrWt-pj zQeMzXq|;ebDg{`%p-?>0$Pp}C@U^0SDbK3nvCuk6r4FO1<<|^>DlWPbtAdKZ)`JaG4MsE)Y@Z zclqRaP{~dJxXWyM=S|mHJ2=UJ!P6K+>%)>1wa`N@%4rlX;w|_QI+gNF;_r%(OE5yA zM|#A}N)#fYG|Yxns!h5<1eFV1vr>5_B1{uXn`0Avf~y#;#_O@ulsO?^Y33R|1R|Ju z%!P_k_2kBZv9|$;l0Hd>)vUK3Vr%qdUAOfxGKNQm=!vQoY@nRie-}VPJ6ywnUo%wz~hN2KHSE8iWjERLI~c!Hi`V-oy=S_k%I_ zm`!iL@m2spZ)gSc{1QF&V_{jlQplN+$e_lz#D)fximJ|-m;;wVVgg1{AxJP)(M4`N zY2Z~LMQ*xz88geCq9{Z#Yki@z%S>`qz6uaIT~j@xyd9?uf`yw&9j$5s;zUT-9pAqS z5Ea-%0{g>ko2WClGsOB*pkS+^ngOZwJ1K6d;hK{~g{A~d!XPQz0@Ml!(Uqzc0~Lr$ zB=Ao-|6#_&NV_KBNuvr;s9rgn0YYaiqd&@IvdBq>rGWmM^A4d$pd-pk}>nQYxn2!CWR` zT(STUA`tBaup8sGL8=SuHfv@o6a$G25HSnQ!}6aBB3Fnoif7~$F!M*VBOJ|1kC6> zHO8N?E&L{AFSJ{jdgS}!$b;WS`C!(L57K`!dZMEIwgK*ncvJ>Zf;ggYw7x6~gzkls zGxYOgCgH|3z9Hp?8qLx=WpSw!K`yn@&g!vs*MA+QA`r#fZ7ONV`f4$6+4sHHZ^ndX z*@*NFZ0rHRLzvLG8!W6(NTd0p;`j>AM&%dnl%lvv_vAp87kuCvvAt5Tsgtk@Ngl#S zE;oaKAMavGX$^Y{^pVAs`sr8@cGCGY4qSZ3NGuj~!}*c;ogD!5t%ZIJi@DfXJU1NY z;x=Vg8&|;7#KBecqC(}k%HM7o7{m9*_=IdUHbEl;?m4pIw>~Q%AKK>G6njXR*km$? zd8X8uDB#|dCQ$&90+Lmk<9YKWq$9>xj4h~B6QD5F;Pnk(@oT6!yy9Po?~@>v)XC(n z=~G?9t6&tXqVBe;-^D`|{JjW7djWhRqdSX4Rv3Ft6st~OZE7R|yi+dmZRvR|gSb5Lm1S8Ta3Th2Frz0D;Egi60wQ z-Ev@oPL1bN3%wgRj+Xn~cEI9o9s-vGF~N6y;xWWP55aBVJuO!+f>R4Ys^!|k`uuP2 zeX+mrllh(vKtwa^c^O};XGukwLc=N;5v64QpvazY0-|K7$a(V_b|uip-pjpnVI28H zAC+FYtr0*#p=Y{Hs8BVkxZ&Sq%TMf`+CC+KI#DR)U1c@vf}$f8wE-|Q9*8WgEB6f% z4i_MnYpm8CwMV6Q6B9Uv)7Yv-Vge-<7{#Q@F+^xDhFNK!GOKpVk|aiu{xk-{Wc()r z58@4i&S2oZo$kQGQrAMi8(yNv(rLlegn_kF23AkBVa;RYYI4KUF*Fg@Oa zi7^9XZR6@&>{*!WT3F~>SnT@W%Y6&o{s88C7G~xLuzP+0i^~HKdN}Mc0}~yrvjv^D zaX^IAH~gPLunQg=#r>f`q=0ta5sc|~a&9crTW`A1D)z+qnxx2Q^!9#+Aq$&-*>^55<=n|_UWL<*DB zBk5>_UNne7FyEoy#7Ur*iyju1hb@3EXh1=%P=F`%6Z$tz6$DW7aYXH5Jxwv2fG-mH z)L0SKEA&1PY|!g*o(RsSf)|6{NbCdtcVessn^v^o#I+qbaZMXeSThEjR~T3`*@l%9 zEtu{Ym}nUX7-Ip991yj9z3A;M^(`#-EG+c^mizd>fp6OaEOY_xKhT5QXL@kQOb_mx z?ZMs!1S%}=r)$nb1MI6uQ0!|bv@wPNshpq8L^mQAQxrc9)ufrROLLndzYC!w4=V4{ zS{Xa&lw5m39?}sZ#0RXAG#R1%Npa-|^?!j$)5SaR~bAKNmm>a-D^L^OAIDmfNLc0yH0zq)hKr2kwunlBO z3#W61A*-zbR)DC{01Hzwl5*B$lFE!em2b3RRFkzaOAyMsTaGZ=yrA5AZ&Kcb4vxe! z=2bGSQBBAz>kb7Xm6Lo*qkK@J(#6tp%a2MR!Y}-#j3N9`nYTxX7z#w{k`j%|X5t(f z5D~&B<~D`-l^9WlPaN3uN74$qNJ`ih@4XWAFfjJx<3DKi+<&cwjxn%ddJG=Dc^pn% zKL%%Q?ZCMwj5{D&H`RttI|h$OFw95c69h%<@7%J5-Sd68d!`T9@9M%eJD1^>Jzdx} zJAj2Sy+dyc$AMsm9@u!>!1$PfPRn~z4v4896rgbwfQadt!Z@MeiA3>JmDfZThsZ+m z3~B~UPTyy>d9y@T#xzCHaQs4m|Y1(!HO4vrV8tf+4!s5_5#^; zFZ_$pf0ChDCA?yNsO3P>lx}fCJKt$vwXl5DQjk}5gGdu7>7Xe(abjp!VyB)I7LRy? zf~HOZ@%x~t%Lqh0ABb+XEOgo}SUcH*(>HeD{6|g03(uH_(>HWnj0cD5raO&Z-%&uE z5vy<>9pH4%!tBz(c}o}Hu?SzeV-arJ(}jJD7OXWcel*!JFxfWH3DZoM29TzjVnVIZ z({)KZ284QWQ7&rbwQ&{S$~BF8-q~=ENK4zG4eGJRnqAg_Ld}p+Iwo~J8UlQtK980` zd>nt$8=E=C*MW$yR#yZo;E`ADDv%-&-4IsIN~YvaW_WVXYSyF%6tOr3BH@F^rQ=HF z%zvykPpypj`VM{jg8}sV)&UTD zM;PN8i_?4OVQaz>WUk4GhXE$|SI&~6{HPnKOez0O-7v-aQdB`ZFrrxqOM@yfs?IlF zu^#3T--!6WVt&cs%Z_-NW|2GM&qX@PsTrr?$a1WM5e1?K#L`eyJd@6h&ZkoF5`{ue zON~Kv`B(jh#+pdu9Pf0bOrWjBt5hJu=~b9!g?JDKpAm=_FhGovVGFQwss-nqFbOYz z>F5KME|{J)k>1MMg7#- z@DG|DPxY-PR7n*%Ao|bsDXF7S>i-aVP2(vCtPQoqT2{XXL<+%3-vho^XJ;vQqbW2{ z>nR~#Gp&bRQA8~ku`UJZ)W%wtiSuqO;ih6PxI2Kw9>7u$SHKLcoM^-2kDGv>dg4lW z?&(u-+WL;m?fH-Jhxtm|XL|7YTNmNuH_SP3>h%qD#sH=|Etnkhc}WhBuH5C~Mjs0Ks=`E?A? zz@jpW!vrH*TRQw+#aar&;n*X$?Cz5U=aww=mj}?9Xu%mD$!34wq z{KJGv3)ere3?I3E9xlFf$t6uL^(?HKY{66qSKIuy5hpScBWgfY^BihGq<+sdGOy4I zb~$l~xn)c@nTe#X0QssxUY$rq@T(a3hHOkzO$kG?SrSKPns(g83rGcEaJ z?orr7N2^e8$5Kza(w_>3b6JT4`nM)YX*ERnk*N-eF*;YPVNCQj|NJF7a;0Y<$}dY93LQfuh!iru~r< zqyw7!R)T;$h%Hx82Mhv4_)kW!3Zn_oYHqK4ZE;J4ap1Gi2k3Tjc^csKO&$38A6^Tu zId>IoT!D+!|M}NM0R;004))=XFQ0|Ky80mOU$ijQ!L2HOsUO2=adnN#UGz?z$OV4I zRWm2p^n(%&L`;?-fyAdEBA(}=2SIbFQRKQ@0w9+(@k>!euS!fongvM(B3YyY77~cC zSaA=Y()=L<5hWsL3SF5?`0neUF&p0Y-Mt2kzecD5@C2fe$h#6SBv#~bfT$!#+&&T7 zQs>5Gd04yr(T%MZ^U4C@!Ori1Py4i%{r;>~(`|Uc8Po9AXRd>%KVtF+b|vgs!Ro=~ z0etj^dHB%Pb8yRU+{K2gj2?u>akFh$;*VU4(`UBa6=gI45ivo&+w?sX>1J#0ltcv2 zM*|5CNHs9hJOXOdebZcqt9+m!85?Ba+Nj7B>jTY1Y6We$z}qIE)6gz6#j#BD3rqka zJO*Uw(m3TZtxR<|N^3#UzX(QB;1X!as%P!$1VQ29^%G82E8{^$45}{m0cLTJ)#3n5 zs|9DBJOOWd>Kb_U*{fjds{izY4i~I&x&PKZJ^0)2%)uwNEx0{yI90AN? zqgY01RaM0&V3h3-`Ld>`>=Q+X)pESv@)KPbq{wFzsVWpBxBFsPpnB+gfk(CPWA}%x zAoxxRTd!-P!dBrCxxQikO$e+>s>a5o6bc1TKWmJ0^@mENe26xRDkK<*dPWDLY=N+f zL5MA(Rb1{3U~bVuZ)pJ26K%NQ?3M6q&shiOo-p|zb~Ws9fu~juy`xXuxB&0H>;T-d zy9X2F1}4W^ZmS4R*YeJO0X5n=L#YvIbfl#xr>1MNSzv(jy^viQZirLHIBOiuz|)oG zCgtFZ(ys1`lkfe8a*#vMGm_1d-+nA{R>HI8b4wCAI2Y&m-8{xupR=JI+ z!;H+)R@NW%`Y>?)&3l&N_b%NJm)*VO4t&F`Y&_z`tv)JX!SYoaGO@D*?<>g=MN~#L zw7Qk8@}9h))#Xr=RLlxjgC|H1W8#)t=_}H!z~HKrP!f}mN%a~O9(bg1|6dt9BRB;w z{(|Zg0#V#+CP9ddQ3ak##~E0Rzy$Y+z|#Wgn}{fwkr=82E00-)wvFF;j!W|k3l@3{ z7EavUf%m^^GraVymERX$5OT*ID-x1lapevVQN#0tx_IUg?s3DjgnW$MF&WP(!bHNj zGaiG&c$9~q{`k09GZ&9N6yj8E$4npI^|b@=shj5Ac&6Gdm>NegD*Gr`)6^VB+U+1; z8Hk9yrB$w5Luhji2w?ciI&S52H+Y@3N%9xa{cp zg#q;E`mklwIK2PDt?=VdSowVskY4N!U}hdSo%Ug_JAj!53lGfpVb{Sf99Z<(-3#vU zGhF5K``~a_JZ`O6J=u0U{x?juV8e9Vd3JcxBj)q0n{2t2D~!>6umASW_u)^kn1jE( zdJcBY_FcblUmhlg(iJrgh`1?JMiS#rK{UK~?8lr&K7<7IGqbBI90Zj^V3JCI4%-oKKFlrmq2D)PTmFzUcgsgOR3E{`9g^P$H_gGr z%vO)b1K8Sd-0C)*w5AQGt{a1s*LPt3WDBM-PSf^>o_#O=FbVQ6uQ>>RcMGZYgh)!FZj73MVJh6CT?b3p#b`C=r9$_>iAT=ap z7_kjM)$!As0|$FBnC-%v^&R;AS8au#Id3gYjX%5~gww8r%NDlpUWO~~UW9A!Uxr(D zFT-uSdoaI@bFHwN1jZdVYr~PR_|$m}EiV+|Fi3XQkUJkJSbzMl3j_xO;6eH59X)cx z7@Twb1U&KhaX9b9ad$lJ6rOtaF#loP=IqxYQUvT6{7(j>i9A`)__+B z{(M~#Ay1RqlBk`Vnyn8Wk=iWlIYIPlY@uSUMzlO0W91J1h$xChNq|X-Q%Yr)HUAEY zh6;-yG{0nFd3G7LZtTDSqCj20yI;B0EzjfT)rUiz4{-nhAOJ~3K~(E+Zg~Lr?eD?1 zUCZ$8yB6T;`qll zAJ3o;=O^KzZ4S6v;11$PuW0R53r<`!2IrlKXD3a-6Sj`S#ud18{^2{i1hd%x?Ax>O zu1jWN@8ST~PL09J@o<|+A*eNDSpg1epcMJ3B15&ACKN0SsbHXZRYhjGrl8el8Nig~ zr{;XYLWP^@tK&B><9;c8^ZM?3h(L6GnwpjKJPHcL4XZ{7ebwFo`IdbrcrWk^HU1q& zMZw5tJu89qD!hxNFot7(ITn=N-`5wEQQnCd=vEej8xV(jP5!wAA~tjtY%BYC z2*xGZ3yQ*wJeU)~Q7&0AP8 zVPLugZpw(j>8GI$z!+&mzY|zf8bvBFN}i5G`)F*FgiH6UxnERes7ui_loSt56D@t{ z1dLqOk>>;qQ)lH~JhIjk$?B`4n>34xGUBk$e90to#n{+`8MFSEuitAhSS{`i9|G=q zj|^in-&@8grOd_4HdJJ)E#zgO6Y?nY8?e@JBaXB72Nwr!I<{iE4ex#R@$lxSuRZ2V z^my*`zuh_qpT6Os1EO6A2ma2no)0i1@L)&=VFdYbiIYG6xG5J`I@T+0I8A&1w`Sq@ESw_)`Jo^7NYbfz3hne$AF?%dmj|MiW1@Xt3K zguC~5U2FBh}0sf{Er_Id^zr%ab4|EV0{RY(X1?f|&p zAz?beImeB|Pdt7aUh%kT*tFu<(houWb)Vb=pS^j}#j;j*S}FTl-w(zmqFlW#rz8ww zYF2otb*=}aY0=a=1Dj?e%$>i$!wR5ku97QJ1+L1=CKZi}Ec@W9A`{j)SXmeC5bnOO z0#OKtrh0}jK~;vPd9PeeO9;i|K?#~rqxBf6teFxSwyd?hyTNr0RWeu^z>84;T_Lf1Lqz;eoVci%kEl) zU-0M{fu(HhjX#Q}Di59tY2Q=BBXpJZEO1;}`-M z*AzQg@g!y}U>oUN^C(JT)mO$MH01APRD(y(IL<@fX1smaQ=Wl=&#~@*G zu{&_9VZZ<7J@B3F^A0%1CdXjablAk1a(^&&$M=<4v;ZVE5*BBD|2Sl-^I!&m!MtRolBL^uK_9(4uv7f6-A+o=ceWT)DZ5+-ItdqNYxY+@GopYibmpx&H`EWS=W@UjlkOf*+VFxD$m9 zEhc&=7@(eC>cimQk1Rd^td;P$uR8%wT-zB<>PP$vm%n!&=)wQF@&Nqxl?ULq2bZB` zEKH2I+%-DmZYt(;fh2SjGZ;J?P9I7h4n#3EqU7lNpFK%7Isct+vBzu{3Jvz`S zDlHYsge1yXRjbgvBE}?B$ai*+INyfk*)(P;czaVZU$w`L@mt|aNfArK9}do9lvLd5 zD+xrxo=RBP=wAR*`H`D8av4wYzVNA%v;_?6nOMTd~ zVH`gEx)b1n$F4f6!D$4$>vt}~|GaDlzHs9_?3wSoSP&j%fhP{SU}~gMO(-LMVqQo3 zjstUfx}B~NRUnd1g5Ym0wowx%EFPx_7>A$7{H&#c1N|qRJOS@|{#rQykyFlVIhub+ z^Z$L#9Q@A3``xw}yviF7RdZK&2U8cfy12l5aFt?+!NrtNjLmo`CZBF>U@gy9((AfyFWJU5}v5?+QM<54$4MGA=gRGotrU=h1C1c=x`GDT}f zB9em1y9Sy>(Fz_`-OPYKq=3)5)(t_Q2XZ_ zX5j;u?SpIYTXaj@xEwz|=9ib_m1fBcN{UbYa3VkjVEG4hh>X9Aq2S*S$z}1Tv}hwy zRHH487ske1EG|#ea1-%TcL1kt=)hZ_u^N8z@hjank)sJm2te<;_yGLX)w8f~5tAML z8Q4g3q>-dBf_OBDI0N?gtHmQx0u92m=ut&5aYJT6l(UbUr+bQ$ z%xGLC(?GU}Thy3ekw{jnBn+c-1OJ3+j2YG{q>Er|BO7{__l6w`0lem+MTn+=?VF3b;La;lBu~u#oJUlujzYmSm%vF7fAp_JkEtg`&dH;|U=(giBJx10k1kC|nj)0q< z`#!dXDF}|92x7*2RS0Izs|}ls9j((IKXj$S)Ge{PLf=Te=GR0rvX&HwomF&$$wHh{ zN?j9d4#SDUk<>Cb!M|wS9I9wa5$#pQhXGLzR*wWkO@T4hTvE%S2))K2hP0%7X$;s_ z6XXFVF5-sL<%I!kT-Sj=`-$V=m1nO$s`)~A7}=j(vKRjR8#6F7KY;Nue-ffU-ZXYz z@iQbyYd|EWY82s1B;qJkkhbcjHGol*;SmkQ6Ca&-go-`@m|e#6zXz~&bsPTRMQh=; zPgr@>rpFiq#LFB1Y1=$pdwMKkeg&O^glo{Ee)u zCfe|xmv4su=c((`YD&dejrNqk+|;N{_3AAT4A`#r^KAHTy)@MWS0gpt96P(tV}L6fC0>R{YGOv|LFYFr{GV2 zbUi$FbLXglQ8Ys631h1r%vc{LuL^O!2WMfSH-OnifSIKM?3^9IZF~Cg-CfJDZC4lW z+>gidTIXFOm|=h(SKh|k7CLTm!h;jdkWX?zc&48(9r>i*aXXrk(nKRxI|5Od>C$dX z!4DkUsZ0rC3i&KpL5dOy3LcRHMD=r4Dk?HGsfrCVjfJDG21KG<=4@gP(zx6AyV=oW zK}J94^p)^8uRk76T#LCZBV$eVL$simY+r!4e&PYR;m&y&n{30%sdjeJqbnWTN}-`j z<54g|@WBI7u!kZ3P;`dkmu5SU6o^=P|3jBwF-YY@cYc!b$6jGZJFY0=`A>LT?u*Zy zhWGvGI(XEEqnpolzEWuUx_u$6eJ(yj>)B%5} z9Bw!1pm!7wkc(5XNGYmMbzP1$_rl}93(sPqVX`dWC&d@ut`d4235asXJh8O?5U;pN zhRM4OL=Nm|rEYbBNq!@rhbL5J;SHp9gJ3{J1vhOK|CqWw?7kp4;R%1S53esvUY|m}u$u!9{&7k1f%&Phx>&$#}x^ zFwaH>1`;+=Y>2vkq@8#Xc}kJA0!G8L*coSL%(`EyP0jL$zEWM_l1SDFL{TH*JgQLM z&%nW1P*P}m0x_yC#&5zrc(4nDg#ny)$~1iRznlzDK6&b>$RQ@_z4J4>;Lk4E1Atfb zOt#&W%$=hw{=6k5BT9m(bj7`sBT|s9B3#lWQ7&;bN(VbbG)xdE82g?GGYE&Sed*B&)vaa5Q+VkKz!b{_1*#XFYa6E`iv756Q}fn{8{ zz{JWH;NqY=+Be8Ai&MEa0^jRaqq@Lco!TjNF#|{57oXPp(d6BXumY}WNFs55Nq|UL zT*{9Eh;%3y!D{c8^VI^STcc8hE=UnZ;y+_hbZ)K(c5whdef}o+z=g-VL*b9~4};%- zb@@Jc=jV38f%zUxPGT0X2O)a2gdaw2PDN2u#*#}QLP5(lPc((BveDF2L z!%seW%@LoEgYkjS-Y^Tl@bL%Wfdf6jGxaejiI%R_YLNv7=>b*E9FOz4&$!o-W7c9d zZKz8ws3__d*j@Z|R+f}$vSeD-GFTwH>pTK?E)>R!`mnHMp*_}u=RIl)KJe1@aPr!* z?-`gJjfN3??mIAm&)&8OAKkVHH}CGbaKTgu++qgamf}{~f^s%yHB)p*vQB`Ai;d@H zBzP5wLLsV0L+puvJq$2;y~Ay#iiQY8*NXFq>S>@ZCEFbvN}x^+W#s7zYt|PO3HV$Q zafC?#cP(_Z?mrxRCb)tcmS%9x&8#FJ&>4r~8BzV-CZyh(zc zisvtR$9=iO1s$iyXRkj?h5$b=dL}f$&N?N{KKpOV_`S#?!up4H4k6h zz6g632X5-=5+q&h$R}8O+T^1XnlErHBB`EJM3t(G3WfM-awU*W6WOL%tw%zIVp)s* zYxzx#gJB+#ixH8VUYnNYg!N9cTkUuj?}V;Je@YK9?Y8lxS&z15WRE2^_b;Oof7x{j8o(t&@E0>>R-|>2EJe~yu*vGGF z!~b~UI(X&drjOW*Jxu&K>cud-AE#=+|Mi1#=f1uRV&l=klbF5j&QA)=Au(yDBe6$` zEnEjQwJ!8ra>O_wQamC`1a@qPf;dI&hVoQ; zMvB=~z%3nYS}0N=V%pf~6V2RJ(MuM7_^eg%k8eEbs2ub0^*iR^4S#n(+&j~EcY)z< z`iZfY%Nxr_nfCGaYqH;+lBXj^B`Pt@3PBt z>$t<*{1y}hC*l;v$pH5psz6j+zsMbqCXk`FD9vbe-Ol5w#HN}coXT48T5>BHi0n`x zsveX?6)n4sx_g-ipeoLg)iz&-m&9MV0)x{s%pbyymTRV3@ar$y3~zbXdbj)iNdA_3 z1NiMP?1De}%3f!oaZ2X43B+3rrLHl(6g}1k9nucube^vPC>Ds`Qc)U6G33w>SxphV z(J7^GDvp)WDPsfZ5{oQl(%miB_uDOSs)kdv-+#e6c=LHHe_*_#NZET1^x-eAo`;X$ zxZv(+L#u*@ZE`H^{%4+NG$mERNudoTCtuI&aVk{mP!q_ccLkU<=QFZ8b(@+YDdd@f z4n(wcn!`~aExYz^D>H4nVrAtwisCYLC}g`NqQ6-Jv#2p3*n($1Y6ZOamB+zZ$4wjw z2D!4BGxXDccOQKF_5~R0c#umQSsU~&Gmk`Ol0^#)B+6OqDEDGG>E)WP3huOs7Byz{ zFME;eY*_wE@hf8ERN9DOXZQvs3$IbagZcMiqT>MIC6Aec55IDwyV&su?GKMF!65dZ zUNHyTXL@cm4bR=4!ee7FA1&qW5W_C#T0(ZHXhnL}*EIN4&>KC@Fz)FOS%4YtP*=kY z5*M9EwDuSM)J(CzLFVQ0k@Y}zIL$iwmu)P7STit;V zzwSi%v2)fOvHb2|=)*63d?$SVyR&XXCANh-x^e1IOr>gONYI{Jo}{)!ul=(Egfu#e z5wg_?mFL`a6`v>%3T$HEM5a(t^^}ok5*NZO014mYX)Sn~0iGYVVMPnxcA5l3iR{{?bhc;Wt0G3vS=tb+HR<7&B#E*r`c3hI%@hG;vd=DsJ5B zQE8h^<7z-80Duu`2zcpir(i@@H%SbuthSUZ>^sK#aE~AcukrWewshc+Uc3&TdJ^6@ z_k#&W7}40ay9e*OY!<$F+mZw0mG0t5zbeZY)VSQ#S=@|11s^RBAE?I=Q$bNxH$N;d zb_j)&6H(`-!F$c9N0jAtSgePrOq1}}VVt@173@)cgt+R0$zr&r!!B7k`}CFY(Knp} zXKXpL_z>R0@f)9c06zT9{Z9Sy>Ss(NK(9GoKtoXf7H%# z04SQT5r0Gj!R*$d08ywPuiuGBa^R*|TuFNKd8^=}=dFd6hk4UVp5geZV@w5%hW7gf z-|n65!|z^p5I%OpqFYhJbGPH!+t^2cUfVETt9S%8T*Bwcwa-WENFZr+N@A0wZ$){Y z)zTO*au+P>K;-A9vA>R;ai@V|BI($g1Fa>*7JAU6DWO9+=;i(Z=4N|fdlp{yl=bkx zUw{o5OJKrtlz!{tS@`&ki!PO6 z?Nkd^xJ>MVVnm24!qecD7ko@I+F%)l9GA1DShljLm1bBZ&P+g%;8+Y+(}YHWup}_z zn#KPUV8psZ-qk&wlE_>@>pmfN2ZhVs+`8Cz8LMx@_i#NO7@Q3?{Li>@c_QNlK zawqJ@Yid@E!J28GH{||^i&D@I7ak8Ud;H-a z2a9v|YwulvxBv5l@Xa0b?#ye{*5?7~CyeYcA0&Xo=qE&6k+^O-cy-&t@nj@?3!2&ZZ2;gtd5!mkmwk;|BNj!}*{gmDSG!ZM1qp${R4I{o98 z3FQQV=$d*Sku>Z@1-0A;B5+}YF?OgZKB{uY>I_~7gFrNZrGs7Aw7vs>{`!;QrB7IW zM7N3FGt-6F|IIyc>38~4 z8_22&e~gG8D{2BGFSF^d;mqX5WMn08WhfpK{#NUbl~~|FBT=xZR0)(9<_JBWRM4^BL80>1FekA$<1pKMI=8D_z*ylVm8{15lRwRaqJ z$IPyr8WSE-uAx3>u59Z_$fV>URp#;{~oGYs*5J>cp1NU5ChM+YQJ?=8y>Z(1M8;7;NJZ`xP5mIcF+4`S@927l`yvpr(h0* z@bEEBdgEDjv0;C@y+7Q6I04u`Vh>i2cc0-o+wl_|I_fY^*U#G8fp{$y3<_FN<+lA9ko`frY=P^e#EkmLE>~{~qJ3jp& z-15MpyRCKQc-slO4Cb;BigWLI_|Hj-oV`(wNm{1g!gHZz_!%Jr>?4wgo(>H*iw>lA z;z+~$iua=gl_;z9WLP1P;g+R@wb>~8z%l+IR^Zgwc}cjR5R)Ap_~5Op#+`T=@2xMq z1mS<>NI^}R@^kc-C`sH+9r5Pio0K{DR47?08-Yl=MUuuD$WZvuV(vdUfWe++c=V&D;i}(#46MRKUJmmQ zSI9nm`3(H=R~~}9_I6>yE$_DT6~kH#h<3R`hm0}J49bc~=#)uax>50+h8YyVC_UJ> z4Z=w(i@*R4gc+FtB%Q3?XG=&_|-2TfJ^VfJ!#ghpy7GgxcRyS z-!PaW2Tc$}1EV0zb#2xJE!aa=s4iDttitjX(tJs44fVFFh8CoFfE5iDK|R z=WN&EpvHj+Ez<0K9|p5sIQKCt;j(w0?ttTP|8^bh!TT@X4S)NseXw)3=VC(+h?wc& zV9FFp%fFHQZ(4~8juoG>NU^9exyFLVl`j#`qDHH<0Tm#ugKL@e7L_FJ80M{{7?K|h z2AvU%5Qr#Z#T!-KZL)E3&zV(Sg^~mh1tONa?8lpR#`V=L{kuyU^92By1&$k`UvkDY zT=bmP@VHH5Lv8b+$SAh=k2fyBJH9dt3(EtSFNdBH=0f>MyE4@;$kA*B(?An!z8y`cP+sme`ODR_PevNXRZewygs@^JtA7O!m*m5 z$4{B#SGO7j`hzZL+$@o&DP~pBL^BLk{$y@*Bf_PCQD?~1FxXL2#LHVIm9jDv4a<9#K$* zg0FQ(XFw@Mj6G3x%0Da|%_7L^zr(q@4OpdkPe`QcGoB@)>tPlo0U`>Y~6F%zzLaSE@rv;%K=vyjX{+QsB zt~%iZ-hay3QhJ9c%CXuCAj%yc32|N6Rl_`}N&x|?V5_K3YU^lJO>F=oRMaELad^Yi*26nrwE3_ZkKWanZk&ZbzicmDb<2DR^zt<&I!l! zN|7&~D@gUR;-xY-sCsj3PIhaUb*9tGVw_oeh$^P8>15$gJ&rMfDy=v}mZs@`kTLDZ ziENq^vm85o2ZF(?@sjXYi?O63<;4knglQzW%C-7llz!$bJ!Q3*qeQ3BXr52n{K;+#x9^tHlNu*8rK^}fnVZI-;ijaf_-kD8x z&X_enfAwB4acV}~WWq!W2#nL>2kWZrw|q%{=a`hPl-OVNgb+9ojPNMfN30)*H$8I$ z{Ni&q9(Ix$9tr!2YYxDNzPT5+?OcSprM}B#9Y>ESu9`_LjK8a^0D&k(fU|JqcN`-W zCJRem1b8)s)T*IiASEQ}y#RoSm{?z}PE9COnF)2L)jvhp8)PGQnJ|Ka109nF@S#si z*A%ZHFN9_zRNLm@JAs}$uBIJW7yyFNxhGD*`z}}mPd|C$s9bf9ZCrZS68zWC?}s~P z`mlD=Z`yUo7RNtf$GIWPf%tf3)DTFiO!=6?>R2O;gfzsZEG45IfCzAECL&!GW*37H zLZoiaY(l64ki-~6Yyg1>GilKy!j-KvHc!G^p0f$w@U#%#Qc2VN5O3=Ezu(>q|M%Pb z;I>`ME}Iqki`NCasTmCjl7$sYE4Jbyl!6LGp|@_HPXe+GnKDsu`4)fSbkw&?RZ|CU zy&F2BWHu{O6mo9V`V>&hYu~buG^asVgFO6loP6Lc=*D|d^E9L9*Q|kM`W8X2(z(n* ze*~k2F1YKoyIl*! zzB3uKbEk-?PXFOkZqn}p6Ke0$^9CSdLQfP!6TtM0EQL}N)P!E601@8$U@hQ&90VfF zrakAxDR|rSx4_HKUVYfio?9NkUtPWjK6>ST*#6Km;2t&%2I6UqxKunGh_u`1CDHld z86{aB5;X)_eE7_UdoKQ~W=qAskunx}R7h(W13uScQX0jTZ+-9Z#c&{U-%^ zq&-ru8m7GI`kp3f30>u64HQ&C%#RNH-3M?P*)zDJ+XHyjIn(ezFIWqkR~-I|ZtN<` z;aBfmg5SP$7VetC&E9y?C%AjkD(gE;Bk_lfcj_w1^}Jk&5~XUuUIU`KArL^6rJ-O~ z;*kvg6@6>6^d&O-dIlHKxeaEu5Lv&#cGFz0vBzxPMi!drf5#ZkGH1ZDp{mmh?`xpo2eFAiKz5guvc zcjs%w6w~Ugz*QV?%0DPP)=HBlaBy%VOQh6+)_|yCVChw5e+yfRCH2&RG=>idA-$aO z&L<%1;@QR))=aeFW#_DgUwy%5c)|&Xe{VWoef;N_?SYS8wIA-@({)!@WBUn+RE-m3 zPYM$Gn*~$ll|$BicDEV~uLYT1)kKkL{}>p?KzoGo{9&wuLl<_*!v$NUC>Wp(ymb2st&6wNMvqa89xpLkA1~+m6i?;;2CF5 z!AD-T{-`B9e&&`%c>9+RzKQ!6{~ynpGTIFnzqC(Ng3N_I7TK; zn{QjdJZAuy5XL{!Ws&rZ66vCv984{Liu{GYQb&Oap6(HGaw-y(0Enmql`Ls9KxD+X zYJO3^xg1K=^nm3(MlpY4*^QjymVN_0qtc{;JbGm}{Nw4P@TC2E7K=mh(C!Aj<9p+9 z)jhK&bbx_toT4eMZjjJ*A@fcY8D^EdgHa?5l|)HcRZ%pJkzPXyP6|^ze+0Mh-MwZE z2P?S~ds4eG^C6Q`c3+6P1cCRWA@SG)5w4TbBO2=CSON zAFc^w#mH+c5Yf*~n=Do+dx^ql< zIQg)l1zQ?i>V5jgG5E}lWAN)Ov*yA^T+-mK8J>2=5u`KYbI-<07(vN9JaQZ9%-kVI zl`4=(mUh)K8A{*SY*hkbG!>Z@mUJEXk}XU*E1@Eq>cK!^CtKm!_PEE%W@Nvow!kQv zB)s5bTPvPEuj`DZDH==!j`6wD)WZIo(?;O@V+I$sM8j3V)%VW8->;iAIYl!Ko7{^* zYrmR|M#hcK157oB2HvI7-wGKC%Q`Q6L}qk0=0X4|5HVwD{-`vWApBY!Ke?^p)_8M-DF-h|psF_bt2N6W4EtyEbCxYRl9!HnoD43l&w+ ztkN?HMmc>jpVNlu!Bnxx^N%qgB1%@pvqYCV10v@3XQ?gPVtpw@%8XNW5Csrrjf2-c zNlrEB?&OmJR+S>B0kGkO3_q*Mb2 zMkYD~7kH@P0aFJ0T#_oL02t+)XR2*b2cj?;%BwKmq&3@QRyd`VX>+f(LL>u3t|kmF z(XbfRqt^DppFV9Ry!43+&#cBaueoc&lmWT<{%OGLrcI4tQ-0LLfIeRzfY0$P&{@nU z#o0^?YPTXk0-w?JNfSP*%|u#b3aYadiDToS&a_Ega4m(S1IwJ^c}z(lbM|&C%A!J$ zsv>l$!{ZL?EA*~lVv-xB@H2R5K7-qp4nbMP;5DAo#}oVSe%cav(+NY1x*Y`5S3Z90 z6nyZ;3D`8*3OB^6K%@c=V}9}nzCvS)sl3ux+_$Pjo&kFHacCWZ=oV52M0kf1h-B1L z_Ej0|^V?7uVWY{mRmf>O!2hF1g!h>tb1|!Q?UEk2@X0ISug+Mt;5smP`u^7Yr{MkH z-3mYa^_0nq#T^KfD27+gNJN&Nj(Y4u@Kyx{@6LJxcBUL^_Lc)9U0~#=DXp#GdGT}f zW;(9`5dpQN2PXr`@~NFt_>!)?Oj#tR=AEc_8E~QW-6mi`J*g@nYO_tvjo3K?s zbZ>oOsz%EeihAB-m%^uCe!zlHIwMo>-ZTsU_?<2A%{z9(j>)DC{<%Yi{+uS!hHSnK zrK_%UoFz&IAXLFeFiW(_nI^QR8*u!imcaM_@^F*fwa}lRFt;(V*FmhYc;?%xfDy8A-g#R895`d#COg+FJu_u*Hy&sNNfe)DA z*aUO+(d={!j@iE(KKcCR@VK>$%PIQlrg^yF%VTiIrg>OCQaAA@x@)HDf;yF|`4J$_ z7@I5@5d+0byNl|ev0Wb{qE}A)Z==FQl&2#~6^hAuP9vqspj313=&*t}HCP~;m~236 zYz~fk#4y}^$s^6RG7J5|n$`dQ!yWL?S8oBlR;UYssHbj{(Lzj~4M-bZhH1>R^OhnC zf2vM`zJgZv&nhC>wlyx<&)f5l8bmUyNM6}}yXClWQc^zY%3!@evN)#mrZI`I6co!{ zNqZ@G2|YOI#!>kREAmeJ@E*T^-2IEYym&Tje71xGM!Vo|o;Ct6J!W9RUOaYr@7O%N z~osRS7Vk;I-ea0$BL0xV~og`0nybt zG*U5Osw2J??kd{dvxLDN0}((`ubD#T;}Z>NZJUEf95DztzxPol(|Vyl*xu#0?t*uI zeIwkvc^2w;)pVZ)qG0FncPhw=LDu+d1FoECA^7P&mhNd zOX6us8QDsj63$8fXhP4^QT6AUPd@BE;@g|&i#dcVC&n%2CshhKx<|bGp6!8wZKy;c$LBh3J z#}nK}U?V%60_#OYLm5Hg#sp#0N(S!KG&Ad$UJsDR0- z7Br?Bu52L72!cbb#JjE z%UJds3l-?P&@m8E!qYmy;d9fzU5H2&QRc&^B1~QOWVRz_t5ukrUK=wF7#;0_x1PBg z{`Axpi&~y-+%*q>^zr-Q+FQn;Hqs3PgI%QPR0Wb(D7B?cby8Qvnob3RqjbQS@Vb8L zy7Ih_0IEIZSD1szW|m5<1iMLpOt}Mg@}x}(?s2LL%@S5sWsVb|a;V#J@w9du4218v z+l#qBm}%YLRlrfJd*IKXGz6y~)@Ke^FXRUgzZxL&9#Ox&a$D~5I{2_&lIx1z46M5l zd74$}X6igBhCnWz!z1NbG4iTRj3}6l_;zYV1ndZ*)+`4JKL*c{{t}26z%7b8euP{2 zcvy9At_6L)b$I5ZN8tT0+6N9>*}Gt`22BvKL*6Gg06JpZjFsdj4HnF7&_iJ-XC zI(B3l=&{zxV`;#XE_qZ~3oCa1Emfo3Fx=D}0VO?{gmEj|*3+Rpv4IzLbnZi>naO=? zl_s$f%^Dt0y5MmG@cQG2&9?hOehd&@J_hUVnTFA&byz|@A|7+k;JM?m`!>~QM+g>c ziLz(juDnep%15Af1sK_-*{goUPv5I~GCYNq@1nJ{IE2&+T2=y)cQgbLHPOnnN|>2y zLU&QX+n={D{MA{j%^9)9{Cwf&F?jtKe*;^0%t2Rw9Y)OBn_l|o8AxSZQ%C|W?T{z~ zB$C;YbVBqWCLrRGcs*3L$fxwD;}R zLQ}gNP|la|+$S%GOJ9B1ve9+7>+`bMeehxLhYX@=YQW!ZwE z-U2Rs{1CkHgb}mtzK|d45iMO-7u)yZ7<3yjlKm&1ex9KYjBN`!7@#x>@=S7?9KDsL zS)xn|sfeXXP&7eCr9oz0WOyZOoYs$I-&48=|?OL5+PMRZr3}>zlr0?8L~u$qDJIE*#m_-2VL;3s8<7A zW+X;Cn`Hs>xHM~)Mut`o*WeXT7=l+kZfH?UvzK0u!D{OfjT+D0E(1Lg$gc@&!v{Gd z#Z*wIzXm^Qa|A0AXo$(S+IMX~ zeD0M8!&8q~c#$+55Hjzo+jqg6F8hrsrjL?@9uXcP2^ZSYoD#B6Xz!kg3YFwvCDO`? zmGUbEkv#(+s6shT#Q|8Z_Ja3;Ds~`M5MQKr~v1(SCWvBR#*V!faL8fH1t8 z9YT&(3`plm<*BqWBEM_qi)nMxHTNGcdKuZVk1B$T{3hEuKa?HT(g&3~=WL>o!TCpD~sa41Kj{et?7o>9zO!lJhX4Y9^F&B^)2{9xY4e_p=>-g@~4*fHLK zdQT08@W_Wd1gi!>RdeG7qAHgq+$*0e27jyJ#J`n#_SYgiA% z2VS%v9J$ZJuNU(D-nDraUi=^T!Owm*3HAOu4E5JdZjlzZ4Rp=WD$Y}!NH&~IUsE1+*ck&*mHWeH5V z_%CK${?j z)&|$!Sj%_$a5wzjIs3qcCoD5@oyGj%iTuC0Y7@Ng%8gKV)l6xSo}Rj~V18bTElhNe zj==(s{uZ@V>bx^xB#lSAb7fT-*6R3Fp%Ii#lrvgL_N16YWwy5fRJ|RQD2iRsP%0B} zVEoC%&cgJv65!;(es3x?;-T01mf5bq@R&jP>r+R~@15FtDa#M+YQP^|wjFM|*8!0~ z^hzIWvnJ1aJWlzd0ridMbt=rmTh&gKk2jYGq8u2h5dcMC{g}KPoSOzi-XPSOr^&}= zhX9ks@GQ?<3!1Y{c+p8K;N$1-4@(9Xw~dc;|LKNlIPVkp!!PchH0L0Dhr3{~x1RA5 z6D_OI9ce{nU{OD`C_#-bFM_B@$yRhQww~6guHMdX&l5Q_W=#}?#gF_FFMcgrk?*A% z!kj2ZCvx^HzLx7L4i1k5XIW~$7-)$p>mf?!iJi8WgRUB`!#|w96fS%mo{j88 zTlHt|+%^yAeQ7(~_P`vBj&!-RX2c^(EK~#&-z{BQGhHXR^RR+Z0z|Jwj|l4#<&?>O zZqy|Nj#CMj?2XlAoVXd6n8a_g$mB*Mc5S3)``6Jk!c6GKR1;RL>Vr#PegK^Pm?fPr zD>L$dp4Mk>8iQAV^j?^oZ9;unuUVpXdFf*kmwE|VIb&Z4@il)6AQA{<9ubEtBM>Rp zi>y$R7_@22je+^p?z2vIMycE|v50NxB<5$z+_c=IM4BoURt!*m*2!-M&~(p?sjD56 zKn|7+=toVa>>r=S!e~=Xn4fLI5o>zjzyD|@JZ_)GRg1X!H*;{&S9ic28|Gl?aNT5U zo5b5HY!ge;B*rJ-brX=3;ABW~z=1`K5oPu+{By3`v0^v?5f=sVU=X)B0X_()Ls5`I z{gybxf*!x`z#>?s(;vi-5!P^dhSvZ!@Y3uBRLBmT*8y_+QfGNJEV4}-}psz?=DVB|)wT36N$o(lDaP5l?FGFoQDVyrnI)(Nk_w#DRXOt(zn z`V+4{7|uOzbkSZBj^xhGvvA=j*Tc>COaNx2^>)|H&YZb`v62W}6y$Z%5o0Mc+XTcV zdx+Iaf`lQM<$%pRAo}8@<^mg@6~LItr(%$#6;s42f>)b^lmSm;KW%|X^v8jexGiLN zr^;}ye!h@Cyf`3g z7hsP&l{p~N1xRz0v|YgtvV-hog=b`eh=M!W_r%yGUOnAHkEnpjxe~g6dtt;Sr;Wg$ zK51l8rH%16;!AIxgb&>?0T1nN!IIv>%6UNx>vH}C3Q5@^k1Y;}Qsj^H3DU@J#S#1& zD~8z8jOrE_Fg7*PN@9tn?kI3v8K}#8K&im_Pw-#d#-E%(AZoz@2MxfLZ#WDdyI=o8 z4G(({kAA%2ix0u2*K7r>s^5*vwC<0^VTjIP7=UVU`Yca zZC<)$>w+qD3!Rg>RtZznEojZOpm(4Sm%LzKc+2Ul7F8OA4)Z4uOu+@8S`T;JJ7qrZ z?(Z_St?{;xlr9+>hK(71RMKd5E_xVZB+BAJp{+$P-hYm?^4at`KRLea$mJy2UUOig zpd|wU<=yln*F5bb#?~ZOaOKFLkZ4NIp^|pw>{?iYxL?pPPRuo7!raDMz(r3ShPOOr z3G6%4WzK~yCzZO?aJxUegJMFKVnio`^So)7Ne|A%H^0P zCg=W)o+mMp@zJqj=wiQX#2n5-8P{zOe>lt{@HM;;$ z;NvkTOo~LHqf2xyb9@toXXR>xvAg5;8x^I)_c`0C>2Q>y*e0RH9srSModOh6mrFdT z2qK+iV&|2e4aqt>DZdeC3sALSt^wwxGhQ40j_0g}x1F(O!5OTwUvoPDOB>*m*KRjy z`@KDdi4|eVPdx`GWwfqTRG9Oi-#%@A?*LKYAlnUeZL{H}WA!8Ou09bvH%aPUrQj-K zHdYtNr;>o)3C|@`6M3RR?$Bx$h`1c<0FnlRaTgc=!)_pKW@%P{O6$3+uuQ(egbQP5rbhKMJ!#`xF`@M+?f09bTz5|oJV3m{?} zD^cC;c%mRy5i=Z|^bav};)g- zF5A$#3N;x(D2a(AmV;e#AtXK%)$qh<3E5DMApuBL&vSFMpJzQ3iIE+;GWPl)fawPA z-~ya}!~lHYS@BCSH!U8a$G% zR#ovF9tlARV-z&vJ3ESCQ8}f<3+<;6f}h|L1gGlHZBlQ;Dn(YpJxr2E+R=pqk`#jY zZdjf~Y^qr5J0J=)7QXpHfT*-*%63kd=C1qwS9im|J$E^r^@xE*Ey?`sf4*rRUh&oK z@UuKajUVye0wOERk(PNNO1ylTJNP-KZ;!Up9q4;E{|O2-H=a!!$Y23$|5%3@n?P)^jZ=TO}NO z$RK>?qJ!b6efG|Fz89){x6Q)2A72kQ-#G!Om9_2~^z>lTBYFyM9)-IJgkgBfyo^0+ zy8~tyIc}$eGEm^X_ly##!w)3M+4j6omMcxwN-TRi*FejUfD6!LmZe~hzSKh0-fkEq zKlCF{9{P~-j(LGqm7cGCDmxulBa@?1XRKGXuM4ThLPn=&gGoa)B~QU!PZy^B*eWvB?pZ zb{l8Z649%nG!}%=L6{)|(M|63y^vgDkyDWppJaeY6?*Rj5g?+@e=3V@1lo;LCfp$q zP0zNV*=QL-c=glQz(2fj-@TIL=t+ZC@Fx#W!K*&~0Nipnf>8}>{Wa*rAa>ma6HU!) z4R|=cgTjUR$X^^si9oR6tKa5lnwVmY1qg-LKIoe<-53o+0K&tY`2H~798oJ^X0B;G zq8?O=n!kRDc2O-W?E~=66VigtigTp5C#mb`B7`mB69X(B>ZZ@)H@ICtKHGw+@dotw z)Zv|{FM~fnam2`5Mm;)qlCVbB=Wd&Xf4p`awof^0d-X&MF- z9@qJnol8Q?N&pECxqFHNQD$AA!6(*ICqSg3b#hEkr29+rR>4s(7@i(>=K_~#EojZR zVEK|B_~-=(!V90Ubg!(}sTAG4c@|#x#RuWLx9x@&ru%ml(2d?v-JVPHb!Xx-l9&l2 zEd1mbvt0!t_H4E zpa+kFI509oLkrO}YwPs3o$0I$0E3 zC)_{QfYII>4D?`pPLz+yc_djnDyvq{D>~!M5<3yEtVbjb5kU|Yh&Y6)Zle}M$}c;- zc*ll42pQ4jT0l)rV%6f%oj~W5EO>+Nfx_l=%*^8H{3i7E)!}W=S_5x=)*7?RwYPsT zZQ#;%+u{A+*$NMBp98#q4O9N>T?O>@)XdGXK8_ugDNZIMGlVw!mD0g{NTMnlmBdk! zt#x0%)>3`G2{3_&Hm94=KTw0eJaZ+y>D1-0q|crp$LqS^^*>wT(>Lsd`I(lhXjwDy z3qxT)sg49%2!%F&e}Rv%WcJbYP<6FfM-QBZ2Z9`>65{(ZM>r?APFunmfl~YN}}tOm_EJ zFv4Y;ckA&Y0LK;fFIOIg093(=uB+jI+_ETfO*tiSiD_#+wP0?%30++P=Rai`y!*_R zaL_WIt^Vt+bMV%$ZHBM@Xcsh#0{RB)Fo+cjjB>bjr&|(AinG~K$4P3EX1MS(CQnow zU52ome}1}B@dzDc@+QiY`?^uKVD}8b40?i1fU}=83~xJi6pmTbV?4sW@q;nB4_>zm z{^iDT<>6fQB1YYx$^3MTtycTO@bY^sB@!=c}i^&K0lea5Wgo4A|NfO4h@ zYgYEbf4=HaIOC|1y&f;}1Kuz;2cNut3_fw)4!D2ww9SC%!gzKK>h+q*%0{QmZZ!Fl zB5_Vpj(CYVEzlfvQ6+cV?T&=Z7zaXYKRsK*{O$(SYbBg>(o%TunXBQ*RXysC7?w*x z&*;kAb{Q|KzprkN9$-+_l`6kRxw4e)W@Vw)O;jf-H3P-Q$hVH#+-0s{u4;O!V8~l9Byphv> zw_R^`WSN{(`S;6wPsuuAqFOI01{@=}M1FWHruFBs zIb9GFr4*tVVnal~5ilFA7EJv%X>)#}Y0?m$ef%iA@9foZ#LAw^L&O-g{-^J4gHPPB z6DDwrxw~e-2y!x>Y0-G&2cjSTV0r!YoSDbPG;Bb}4-EwTHmUMP5~%10w(V&gmw6=;|%-U)PVp zhFuMqviA?$fG%#sVuAj;-Ce^VWGHoHLP9oRY{ZW$R@li=6f9J;)-1DiXin(+Q>w!;Um-U`#xE$Hg4!Eiqw4klas42YN& ziGQG{NW_mDN}877Vh@^6Bk^*i7v_f0|r_r%dF>ZwBy2D43;vIQd_KVkx5 zrYDQ*=PkN}FFrK+xM5&nE+MeFS526oY??&HSDdyS-gWvaSToYSM_waloxkg}+ApSJR02P2#jD*Lat%)u2u z-U*lAvJ>v!I0G}S78K46DlkfnaS8m-cuDqmw1pT?GM|SK0ZuN%i!45Iu(oLqww}}U zObeP54Fif7J$(hd^Ym4)b|iOmNj3Ct-raz||L%79#PvH&j!iFaJG*+{W+|HGxe##0 zkkKjolqC~H4x485dSEAMZrY{0C^PQf5O1()`Ge(M?KM>ql}_Jk2Q z@u0rFR_lsV68ru7os;mUZ;ruzI~p+5SA$Vk_bL=V^PrKUv}=ljO?I(fv23-vPj|>{ z!y-#7v--$dtvu7m3JOHDtBQn7HzoyO2#}h#G{hEyCG(7`oE`d|cT1CPS53er7`1E? z8pe#uW($^$bi41I4A3Quw!{)PHgDfA70mR$&F=FeNv`rF{HPWJU3gK z*Vmb*qKdy8kFeQ-X}q)(J)il~Ab#IK9S&OB1y4PsAD;K_fel|Fi;Q*ty0fepEK$EYMj-B1W~$ScC8YT^p-Vlwd&?8?|iy z$ek)6ii@ti@gkE`ig#;3WU!WD7)9?2_9g%(wjZ7FM@XZ0*e9dd$-QPx?fGe_wJg2AKf zy#*$wOB19=F!D8YsB%ep(ZMKsIM_9ALKvgcv|fyHj4->Krkvp`F7Si$fw3Qa6#p~* zmnD=Y1KzBZ4RNq^(3+7hIN{)ac>ZIC;G~24&HZ5y*AI^4woS9}H&^e1TQ|&_qGxt4 zb}T*!JLlmSn`Yqd&2wH$H0>{P|Ot!HU7IJ&Fmnn-RdT>4`nAPJ=#I#4G-d4gEBdX9u0ai_Q0_X{JXrl0_Da2fxw02vxW3&~cyS^olIh$-EG%8h~JSzGV= z4QH)|zdma%3@+l@mxT(XG05gvMH3#{F%J)nVMZ+`&$Zyjd#B-l@7xU=cFr3G#w(3X z0MpHj+NE&&1`{@$T;|V5O;0zVIo>eKz1N(z8s2->Dj4lw+?`v_p-6yiY^n+G{N@(; z*bjCX!07I;8~U2FcxDdr+*dHo#Dx1_tr5Yc6lND=^5kHTjSJycw>g)~mVG6ZE`6YI zC2bIx%#oCy0#*;z;i%QU@T3F!;IaGk!hy@WVYDw(b#pO{&Ahv7rUmc)-!ZuC=aaB| zu4O%1Z!7#k%^vn&wNz@PVm zy#Ex}kaD5$@B)$TKL@bPD+@#st^)x*EG>%%Wan^aWWI#ar9CEQ^u}kbTGZ7qinwvrAoM5h8PN;l!r^18T5p9&zYsjIVUfN z_rG8*9JqY%)c0mPse}mV?Y-_x8{taKz{We`2D(fQCsaC|qaK$`P}XoBJ;({<7XTcz zybDe~cmNI@?KU2xIR)Rao)Xdzamkb{sawz*?yVURTsBZQ2U8DR+GYO58&j*wt}d3J z+WQ!v`}}Q_@J~P73HRZ3RqpP*Zc|o;dmvey2|(1=><3^AYYN4PnO>#ClYFN2<@4aI z28J+sZdeHrl_Ik`??Ne6^(wad%rcaCPZSh{!3%%7zGLjbyL`$9kt8BoRW)F)bVj&p zM~J~|w@q7u31GkSDJ$VGPG1Ep9_BowP6QkS>tFiuE_nZUx0t{-T1~v@(JmRB>bp6` zTYy&fN7{7Vv6#VnL-Eha|ITP#Z??QTrL#;$PDpWI{Gvq-e$tjKsM7?PZ zh?wfOt2Y$)L-^){JSxe6=oNAMUU*dGPbU)8tqb3Z#ZYR%sJTws%pq@Rm1fOmK-kkc z2Jm7xDG*B6)4Pt=`|#(|Fo2D9Wu9^L68PJ5)|#SfzY9gx1RH~^H{Ca7GPJM0dmMI7 zwyfoJw>Oa4GFlsmBEXJIve~&3rl*@wF9FUueiZ)Ud28U{<@&LW#VA?TyPI}np3xTg z)J?mL<;BcvoD0@7q5`i05q@SoB3!;=Wrg|D+;n={5rgp7)0V+w_l=qI)kf*znq6n@ zqUZMIJEq{n*YAd3Y?(7Jnazm0yS$Uw&Y%l245H{m`VslWWkcFe;?z@F_^H3f%&H$Jq#ax$-Z#-s@~u6Y;1R1CmQgYFK&b@Zr%m;-U0^u zahc|pXwI_eGG@QT?~La&Z~wz(*55sQCA{p3BYX9z#lt}y1fk1*HVGeCw+rstI&XsO z{XKT+XoBq2I=k~-^a8}B;)U)DkW?wTg{aRe1tY-$Ci+#0sT5?|I4ZW&g#l4MAe`9} z6sTl(FfuGoJ||?a@Q9>WkOI7TS?LE221Xt5WHs(kHSua9yS)Slt?h@moV5ndd*U)! zvKIondm`XFCg@pme)4MSLs?maTPg)8ee!(hO z_B-D3+!J16Tsk=PIK%wBEebX;)CJE!ZWP{l+G;pv|NgyF_^J~j-n45TUik6*;kuvf zg8ES1Y_;RoH+6McJA~orHJI2}ql8uqVA)U|{?D^l!^I~pH%kBe{6Qf3n@75;YTQu4=(}d66 zHV*%G!#LcxW8O>-m!;kl)OKIOoxs%frQp&=e`1@&gQ06Z|GuYln{*JT#!UO|%0mQa zRc9l&gI2TwBB}2r5+25%mE{y{gl8v6SPc?d26i|;RMl|ejcMy%LVdHFW{GON33p*0 z#v;o3rupvR)%|eMQ&+&tPg((MNB4fUM@kqR$*m7e!Udmr5bpfdB-Doyi0T%I6y7tw z;8om>5+DAuz5#M%#`DPBH1xpV~LsySQCE zgX^^t29|Wg*~c!0*FSv~JmH|hht0dd;5lCA`0lT5hArFXOgv?H01uE>1Cb{edP0-q z4JfCYuyRc=eEyXO!PAc%-djd~ue5`QfiL{r2KfFj$88;>ZVN=A94cigwHa<3AM7{_7 zSx`D6@7eFf{}J*OBKt! zlKWFW?)*5zl}r`4#7VNmv}ySct7xu;N6QW*D7%|R7)L!=bCdw%ye4+kGIeU|T{Spj zZ6Cbs#N}|_la|9iquqPG9K-`V=HRcsx&glav)#tC!LqaF>`_r;t8#BiJ?5e(haMen z5zkIFp_p&MOHNq<|9S{_TPB;v3&q_d8;qCvU*1Mp(_}Kz z=P?fqOa}A`2lv4{p1#~9C;mP*7ARd29KUq?gz<##-a2o*QAc%s)4RG|vA}}T%X%4W$7&9J?ii05m3O%A5c0ft%5qS;Ixkz@M z7qLyA$gL1@1uZ?eS+6J`!;VDa<4RIrI?jcOo=+UHPss9KS`>OeKEGRIYST1Jb3~x8 zyACHDF$AwYbtOFYh#^>xMvZLUo}R(h;+APQE? z@fJZ7K?pO(aV#f2Vh}#`;(g#T`|h1vM>`q+o;-ucSl)frR=DD4yUhVv%%$n=!a6@W zAhNC7-9Vc&gjYBnwyFo-bjmV#{?WsGtz_$-%)?90_Nf+p>PO@7PuK1QypzlqHtX(k zyPdL8x$0>rK+5*Gn&HdjFoK)?n0W*FGhT^9;0I4yk@DVd{HA;VQmFxv%a1n?Y1%{s zPMC|Z2SB6*sVNY(Ww`fv1pSitIw69(!N-A!0Tg-OmYziq$z|@gO5=5o40gdOM-Ia) zPFew{JYs0ko(J9`_V?e~1ead79d=IP{cQI9l)s{gMh(1^h@`=1a7i~Y-GbJ13zjeM zhR?j>0662Q;os{nSrvcL%l-VVyWs8L*a8oY&70dm`nxf6T-@3rjJT=1iHVCY1AXn1 zZn*gPQF!%}m;7F`;t~9>TR#Pt-nbinaNn%C3=u7?0V0ztWe?XTnx)BfR*oxTH4=E# zj%axw9q9GcYWZnwd|?hjaFfQ00pk(TdPMC!A|g%++7i`OJ%UJW`n3qL>2*>V2y;J= zp*sibtdHd}O@fU#6uLtbmxjJ_qPg=6j}ljC)gFUL)tWDIKJlFZce$s7dtgdsl&TX@4DF^w?o|*E5&H zu)Aqwfy3FO*U&4wWAiM0^%s+H6%pmq zsmoOkV7w=kxs8`NO19$)un_~-#z8OINSh`e5d|XqV2syvq&OKcN)_GDNmua%KbY$# zWI|~|%}uHTO4lSk*qgIb90MclA%Oa8m`w>$cVHE*GzMr!2D;#}2MoYjM=yahjvj_1 zR`>1EHAeSupM&Rp^j`Ss`e_pzvUi=^YVOuy6$0t{$8jMLP0ch-(D&KLEP;=lyDy-( z@Q3_!>x0v9!DlzZFE`FWe=i z!iovM+&l+Y{CpCwx@!_17;Bi=oF6h8Aaja7)c^JB?Is{mND)F^jCC+#f#pQ=DXv7I zs`44=Xaz1MN-1?d-5nFq7UZ|!9+3p1DlE`Y+zU&Xn4Dqu3kCFZo##MEBYFk82fHA~ zRDoSixY7Z5<{Myg1=kwrA>maREiff%k2z!j&VK9?IO(uqIAnPbEFZE5KC1$%c!TVj z|8g(fyI~sY?x3d0{qcDV1dM`h!Rmr0fw5)42+NtgZmC&%#BY z-v~F{KV<;ho~84pc$@*CM$YkYj;e* z|J*eR>&F^^8>;BRVbKOGD`KxxiWL%g;Fp?wA*hNFs)k*7D`_@ICMn3bpG`273yDs` zFDZZId?_#Ne8NCdAkrYgJg=uQBmpiJU3GUS=_-9!A!HR0bp%FyFfs5>heJA%zbY2X zzZpFwyz1JZKy|7IGV`{8@x zzTeD1y}t&7eRd})8Ub2~(0+;-h4HJIW(&#|o=oq73!l6U{_NBhd!@w3!=c!|%?EbO z!(U#x8NPkzgz+j&vG`CL*VUvnvKWOCNo<~7komyqPKs>w?xN6p7kIxKVM_i zjJ)UH;U>~nXw1PO5eGMJIec~0uDSdi>^FXNxKuFtN6vY{n;_<~667?Vsr1-e z(6xQ=s5O0X_^Lj5#F}0>e08q@4qQSZ;9PUpIK1N155W43vrzA=neA!g;;VpbXKjx? zw2V?>cJeX%4Zy`GFNc>tanuyB|3m)4nAksFy#p@4Z5QmG##4W#Id^5eKw`ZqcLNZ$ z@YYpZ%jdi&EP?;~oRzR_aN+Yc*D95^5Z%UI4Y>88Sy*@f4BWA44({7N4;#kjp@}r^ zs~ZD>H?Z0h8unjbw9W^GvOp9Hnt8TLups>Q;oHQpD*%(loCKX*YtiV_n5~p~O}D(~ z6C(ww{#AVk1ylf$5q9378Z%OWi24>`X`l0`f>NbZ+%q7G#lCeQ!h!nv*xML9WZ|z^ zvp(T31+-*)RjRaYAOw+J@D#lgUx*B2N9I3Q&J?$DaVG_L!+N`FuzE=sJa)eUc*aq~ z@Q78t@PoT2;9sxV2J5%aLQl6n{t!-OC|GNpeRH#I%Up$w3VhOGBXIG_%iy`kjQn19 zk@f`mc1<_o(i?ZeXK&sG5AB>c^FZ1ljc5k3kJI~|LM)DkHKiupoG*Oh68Jx7t%BtP zodFSgJLYO~JT5Zbf^Cxx*fidR2gc@1{KtY%!_+x4*NB_zp6xq02Bb3vf?S1zGTz?+2tQN|PTy2--*nf6H&c_4B!P6i*;+NoD;U0?^%b44cF0g-q`R#5bb zKW2U7{}8b4(M!FfDs4Yy5S@Iw3f7z-Mhph&}VEWv&qo-Tl1Oty5@F%6rY=&R*qrAwjPFZ-zmMgdF|DksL1(=IwTK7S%*Ua6Q36X(e-X=raj0PL(yd@;u$wL0P~&Hb9ZZk zCvu|Lngl01L7qFR>Z?0PvDr+p&OcBEMoPs>4>kc*G_$5-nw2qk_YHbU=HfnA_`QXR ziU>yLds`wDYdWK_+d!&NBX!na<#YJ zn!+DZF?HL$L3P>cs064qXyI+~GiQAT=;6I{Z0bgaZEOkys0c*3b92g(gYfE;m&2Kl zUSgJZf5<;rWFN1q{@g7)Vf~JIbFm@HA)ZjD*GFjv&Cn5JbB^bQxx>y^D6pQQT_W2O zFUA2Sn+fRgU}^+IaJ#p~ULmjgTymtx)QZ`hDBb+WNwp-Yhpd3=n;w6)n!N=R9Nx0 zK}anjik%wI5yu^n^FZVUEWwt5ADlQjK-aUyS(=I?M70G%p;PcT%8^DF8r-0XZEg-G z)`1q-S!oP5BN&-mJ|*x;q4x(0(Ic7%Q*a-1j~;(OKm6G#E8qo>8~y(vM$~|R_}}et z`A>EO7TZU#z-gM@Ghg-u>87~<^doymncKB=ak~g)cup{Gym>%J`WhW}Nry;td+V+p zga6l@m<;PNo*O4CcqTk!4oie2uiI=|RY`nV=W&~;(Kl4+%aPbmf>+WnS9Y2gW!0*C3i%~8yZ)>g}4|7Y{;<+e>eZYEp&|=x5X_TDi|w3)V4yw z!u{DUpeKi^AZnB|-aa;sF%3+q!9Xi!cjI;1Z+^x~7=9Qp2+Z@X^KbBs*#)0{2-f|2 z(gfNu;nU<+8Lx!Gu?P)_E&`bQsE7anlbhsN(V{@48VdO#M?(88IgLPhj>|cA367Sg zqI9Z;h7^V2V%pi!C!+A z7m#}hM4sV1I92W7h~0PoaF(K?O~EJ)h!oP;9S9AG5=$b`OEg9;rk0mwy>Gfqbg>Y; zjB%=E;vFwJemVThAMLZKyqeD8WZ_TZWs=Xo^a1$ULo+5=k4HRAJccPmkc8Ng;HA&s z!Z?w-tC}dfYqKLDlA3IdaVq`Jps_YnPg)r{Ik;?HNiakr(!K472Jd5c@_I|G*4e=)+uSrec=1Y)Ay5;wov|K4jY88 zzUB}(c*Wkiw`}21Q~l=c8)xB#mp%Y@ZNjr=H5kAI&ftMk0HU*ZGuDh=l&a;M&DR6@%&=DykE< zIRayL++#)mh1c&WJP=7hRifi@y`0R@cA)JXv?GS9p=4sxePm!Du}2DN=RlIEiFvi+ zeUJ7Gh@C{RTm~jm6<{fzQxzlqkjP3HE}jOTnr=Zk*McRZUGQIjauA&L=p}nx0pQ^R z9j)D~@1BHLe*Pi2ciVjMhzt;UK8RH_jm27nr4WpKWIPw~NLKU`BNL4vv$;%6+ceI; zW&=xh(}Dpex)YW;QOzh4@-RRps9L$^n&N@h`!MYY#SM9?Dp8j6G!K1L08xN3x#h-H zGbz#FbT`jnuH1^Q3mN4EYVY;p#RFOkVuJHQV9euH6n>#~Y@o85W!~^@!Yn zWq2+DqLew>8Yg^K&3&n8UJfg$$6{HT=a|(XIHG*cu+V#Q{+>TMcrBKb03XjPW7ADoVu}*-R+20LKRcT012h(iZc`Y2-t`@GbOOu$%n{tYwbK3kwK^+ma}{rB(7Szh8;*H-X_Uk zwcFtZ!rbBkFg@OY)>IRYIcgZb^4dep&8~k)KjSkkc>NU{;j=f7K~K$ICxk(EuUAG% zLMVt6LfuK#6e73#qZ+-o;YNLjN&y1hCTT%y@Ah$o)PX3o3}y4y`Cn(@hv$(gXkZ z-2LEHCoTKE7nb*A!E<(BxOEr2<;qR4Vf(xZQpd`SQ90wSEgb?;La&s+sbi9-rz#zi z`DuenOpXIY(yjo;91vB?EPaXK8gH5$)AC^Acd>F-Dj|>iz%LuMeJiqD)`sP}iZLPz z2ON`gTjX&N5{PVD#4D-NR6`@rp#!+$T9t|ne#ZymuiTv(_LOO-z9@FDov`TN1q`}|>CLU`)~)9~v5-T*&& zXxhk(xp1(nZjuP+3i7%642K-gNs{v!kv_q3pu2 zWdmMPtZ)ZWU2Zr%bpw?vjO6rOM(^@=JPstMKIY2l{tK_$QGmV0LxNESf<;qBl$xkS zs-u;z1E((US3``vax#obq@emek{7^i0>QS7t&lOB>WX#=T`6rcG4`++twLAYu>0MY zxG;x48+Zj$0p~txDSYsS`arPFwj?r9z5%n)b|!zm2xM+ z1ZGSt7?|H_(+M3|RiRZ;_#GHYB5UvZ&yw(8s>tbPb|-PnYTyn>sS*{jZOaXVbjvC; z22XqE(q{7TED&Lgh@I);Fq8Ej822M^=QD~r0Hf6Euo!U|ayv1t#=ui+kijPEZH6m~h zh!k5c7_7@|HA8Yt_a&K%+=Mv`T zG4r~FWg}g1@rldfFHc|nJNJxs&$Qt3AMb*H`Tkb8W85i3t53k+;03ZNKL_t&m zu$GXQwUl@66A4g$4?m*>oGjI}%P&J5_d^mQ=TX#;oNT4ZfY~6nTw!DbrEv@v7pnC{ z1tUd40&YaNE@nuZ`B%h#gFLs>F>zF?#HHCEw&_G|S57U7n`+zbj-{5-{RMEY~s5AC8+GS>2uo8@za8?K$WtMo%l)=Cf zBc)xUH5(-i_SWFcW0t_*J$D~druKL7gOwNm>FTZU*_(F4&Z&kuS>IE~61X*}nY!IV z!5jhc^CW(ec#wS3TtUOOTYj2auvRKS75OzV2(q9gm5900z21N=RSL-7mqMqhvwbFA zX3=N0c8DH{bC|j1Pc^7JwTSfcK!hHV;Hu?f9s$%cE6t45SVp9b>4R#Ki@D5@B7Xc`08ytVRohk_3j!B^wdqwB_l7j z+(KGKr_?@CnT=BpGYQh10~7atg(#)MCg@Ctpdo4;ivSp+IZkaNaOSayW#4v5^Wv?6hhnTe;`qn2jzLDFu*e?XRqA|i(}h1(SWc1bT?dj{SNr?15>6?bMatT-Bvqv z!D(|?Rl#nCu)6G%M^d_S5>|cRNq&zacp9ik+Gnwp_8A`v((b+UDyvHRH~3(lb^etE z5>kA@d~tI8HqSL<+1kp(lS-u5}eeN}g}KwvC-7t}C{$Q7{*1 zWY4z;BKmj|vr;)Hh_4;6Oc0$IP6as9AYrOjeA%nV;De?*NyViamP5sIA*NI+lrY?1 zgC`u&59c1Y+?1GIIo#!H0`0kbgmEZLRJ`uqN%-tdWAMGZCSk{9)5tZ}-p1O`cxx@K z9AIj5xS!O{rJAhcY*ypb+g+-7m~Mn>(#+x~dIor$NoR2(JE#am!tAgyYjd@+N$fSM zaeOX-gqS;B`lfVspYVUwtj`F9;^ExE2>aMr(SN~pZR-))2{D{a06^ubf)bP&ghkBg znLk2<_7|F@9etzRHaX9%3dA90A*^R3?JwzA;jwv|eV%Y8pP(d<%V^ybMfBZd>$wQ} zaGDWts{mhLsSt~h`C|U{0xxB(!(prY;E4wfn*ScXZyy}EtlO65FuPiozF~~!##Ov} zr-aSB=i$yxGX{Xx-8%*MZk>g(NxbI`^O&&OBG%-_%xM{4(a?ev4 z6uSiN^f~B{ltZbvIUB}1a6p8+W@^t41k6sFuvP-z+YLOtt?oQHX39o_T=8HTx0d21 zi<%DD2+)WKUEUE(8OOvs$7nVTJ|_MZ0WXPz3j!huo*C*;x=`Ujj|l7?UKl&VL$c^9 zVe;d$p)S~OX)heKq8E-_(+h{K#yi)#V6?vrda-C3mZfc?=hKAE;|*B9eID-FG6Q#S znSuMa&%?IyCNyVDD7tFU+k;Cn%=WhNApake)1>^alRr(k6d-mb>;wuk?I$S^g!tJo z0ZD4f3XIng8#1A~9pFLIUi__!j-0b`ad=EfE#jJ!PhmtkJleLYp>3`nWZ~@W4MZ^vm947U-=`<4{rgK*| zfutOT9k5_YNdx|2l_vNC0@1o1;Es4?WH@1-Z7#ZURiKqvk%V#W7$)X}fJ@fPnY}do zk{5Eu4n=Gdg{=ak3enaG(H4wS08PZYV<3vOir^AS5q`^o5&0Z*j?A52rpRN<025w^ z%U|Won-Xuma2FApI1nzw{K_Z{h>X#HsQ|0dNriSQ5IJ_GbhBUB&(rXCkddHgDKCPw zq|RnF5D6g7jXN7N$|_X^Blbw5S2CViZPbzsbA?|d`kihPu^cQ3Ms%d{cf(`6uC9O` z2t?bUgk|#lKt6^-1>07<%Z^zZi!9Q`7VK{-GVlesCNmQC{4=Q(q@o}BE56gl!igzx zE`47Us?c8!74prPlDUfVwac!Jx>0p5$dTFKx#pH_0oUEqK;AM(NsN!!6`12@B245S zu#BJ?Ayp@t>|+F%DvqHlc~BJ`2P)({zU{;}Hs}&JK?4fTT$VMgFhJ=7*i5RjKol9D zKBCM`mAypEoUnO*5!v&MNZQHhsNy`aoeienC}c$gYUS3V|AKWJp@bD>0bN0G{5YzJ zK@>^bdkRfdO(3|oDK6-mrtTOrA|@@#{@Z|3su#N8s;pG$6+uHA8xOE%m`j?7C0g7r zQkV<4I}bDj##q4P7U$R1CQJ zZYw;_ya(+!j;eu(%#5v!EZ|fyhku3jUp5qd=U;bsSrq#eP!4MH(0)s=y3>vnMH{n` z@9J_I5n&lgh$U>d6PJ$Ny2&vUF*|-Chf%aD`n1{*ESCMPjYl8`Aem1=gg>e)UGk|^ zL?Hxmw6>=J)Jn)jJzpf|%*LC{oz|xoMt~|GZzN-cQo2@`1QtLOgEwyCIuLPhQ5gzl z3QuqI1Xaf$$mZXt9fcc%wH&56+{8^4%n$OHGX(PaN^oJVIUvde*0>ssLs33d^j@&; zrv()I1Hfp?I@^#Di4F!KY*)I}tr9tCxSMy{O-g=J&olTTc2sfkQcV&8s1^6N0E zD!{Lz6=4Dkqvockv=yil#^8h?J0=QWirbr=WKLHE3I`660no7su%mw_=bnhvuw`WO zd1kWy<0?0E*8;AB$)yyL7KSR4fbt#f?b6JWzH7ME)U%AZnKmXadMk zX6ttM@e37Y{` zd0b*bX~3`&p@P-Wj8$jL7%^GmViNqU0pUh8@_MPhcML3BiqNu64ueJ@Qh4wW1#4qqUH+y<^hU(%c5M5 zF`~-=%7X#mQ2;Oy-j@TQM63X!C_iZex(7Lm&MAN@5%@%S6xdZ1hFc2mIw~k*k{URp zML+Glo$z>tC)L4RXn4X3NyU6CfQ^HNEac{Qt;B%H98{rqA0|K)EJx4|t3q<@8bT`5 zi^J%Q*S34j3u+@z6>=_w!Ocg}Fd}S?HuQ8$V@5&O6C;(0b zfHf4WBZ0*Z290-COr9gO4l?}H4uPmj8hjHE3lOQ2pH)Wtbmru?qWOCTh=kBZ^>GBD z;8#uV)DzRusuFP90uizHo!A+zgrh1$a;!ozG<>lAyKfRX>U0M;STWmLhGw!G4a`*N z&Vf;FVJ+sr8u z6OWGQWeXHY!RH!6^&t!863G*bltDp#$Q>ll3D&DjZv#d`!r20qN~JpV6d4jFtDG{q zl+aBjK90XBb+-2=7%AFag!5%>c%>K@)u>89$tk*&ohl$=*pV5hR^B)PI|&`pOW}No z%&8iF-o=ULB`Rcf8i<*GMZmUWAaZoI>>}wFsjpJGDdlFc9ss^mmgSuotbQrRhsqM3 zUled;g2Gw8v;zSl_(lh~wTYWkp0G(&UF8KgRwVgKL-DMlwE+}w9a#V~MYt&6o$WBv zAfLuNEu)l!Hn+I)c~)o1bWlA{A6Jnw${kA1Hzp$lK(b0jCeQ{)r6q{By?WhcfZ~G4 zj4fO`5)X$E%nzN-HEBO|EEld_=_|_GoXsqB)kcmpOC;4(60?2z(~S#;6A_=H zd!qs(l@|IEfj>f{&`0jHKP%kk+pYkkj$$>0;-sla0V?bIvz5WK&?Xnaq9|^IX6w^M zQU6)dbHNRd1ZW*oE6YEF5}usa(~JT1sB$^wP+%;fk+PfSUt_o<1S+FM@qC;=mXD1o z6~?5p3bfZe5p5lxh<_*7LzBM!G+Iu1+e|BOk^K1E=^dR!wzJ%hQv#!@gF$$wR+FTC zn%_kp5v7d+z^aFsqdALRipjdZRYU7RzG`)ojm;z$f&f!V98x(RWqkNiSUtNx0)4gl zP{_`JQ3VjC+;G6=n&MEbgHhm*8E(ZhskJE!C~qjs)`x4g-rI`7b8lSTs5Os)qI?|y zoK^tzF=l0iH_Cr}pdGKLp=*BhX7Pz(`UzR>kjkOhSZbV!;4W#m)R zt&(Q4+uSuwfnn|i_76cSe|#mg`@_kU6Dq-PA}ngz4rLBGFvtdWnWsUOPY_w^qU1}$ zM*e}1lSG4?W*=*!6tN zXdtEiOi>h9mu2~(nR?&P3OIY+aQ9H_k+m9JT$HtEL1A{zXcdQKo|?c0GG%~^p0T2C zocg#n;fw_2*1GDTQ*WD_055@U1lGJHg{VU?Qq{PM2-5mj$0U=1QINIz&u4$LfWy3_njl003+v2XBK{h@7}W~3m9$wZf>6T0hm-E zlKdf0%eJ$6=Iyggbx0+T1r#KsaySw`R|JE|s+yVZUNM!eieghymRGfEwU5t0-!BVz z*)@GV)3t+Z_1cS}Ry?~b;V8U#GnbPnKkSSn5iNBbLiJ)h6=Nae&fwNG6vZ87S$?D0C@<@6miHBK$~9fEvbDOeyYFdG zgXaL0PXSXFq*E-|6F^Z-Bhewz!p zq^!X`Hx2c-nn#tj^6V1I7ZgQtcmhOZ6u!;OYOt*?R2^ApH@_e>Z2`;LKzeK@3@n2< z9RX3*cBokT8SSZP6{i^a(2s!4C zj7uJfN`QNyEUze`{Mz*F{2e=r!zS$0=oPK)U*6Z%cs4X!uLP(aXS6sw341!;A}I?M z>$FrQAgV&_$3=>XAm#P2is{UD>0U{y)5h*5SdxrgNV!xVGObEP7Q^QW0QsW~vQ0J` z-zEhVky((~P<6S$L^QX9;1d{JliKYK73E{X{OvC$0ajsloC*P)*drTTOrF%NROZlX zPQX<8NI_F#o>@Ls$~!To4iFNh(U_VAFd=X<@2$;lpB#VaMzbghO)BP^sHZ;*SCmke zKLRK}Hdpq4W6S(6w!vxFyUmg1m2k)e(fXWn@+hM-#+JUziZr70JM?7$tRE0jaw3+~qgz)T5nbpfr9JhW{4)$pn(%qLvyKL3Zu z)>^ffLs34<6-(=8SHNV1Tc`*hq-LD77o2w`zfyQ2EU{G3Y~%VW$;)0S!XTrL6Pe|iAUk*0-3YGrqPPY0ZKDquK2mM(1bN0`^^R7FvEL&$4H8{Hj zIKF^l2@@Ufc1j6Oy~9*t+^Q=F6G1DJ3D|E!mw}!Xq7wL3x~aInm?=p0vM3J_JRX#; z{WYTHwxmRAAnQ~Llta+$5-~$ijY6u>`To*1US&K_*$xi6MNL(Pp!W6LmzweMFrv-Z z3m@6*QncDZ1B8k*#iQMFhj&=5JQ?Ay#5t~B((S4azPFDj$Rz~>>^Ak2 zxWE#oEn4|w1JX$*-*6mBrPc~y8+quc7@Zg9&{)jz$p(W1tJ#PX=PN2o&OlX6K$&wI zOcwGZ{e9Mklx6?7QsiEWrLR}SWVuqX87(wEs3C}Ie*PK?_)4=?T-j($+_v?Sqb779 zf=g;}{?k_XHH$N#1}}#aPJp853L|PKH10v_QF1!QzXW`!xF|Pt7{F%p)3h>mmMes9 zOasEGl3(;urV2#BTEQ~IFm?k6ad|rh=AdlS3Xr}wqceH-pXI05)(tc^H^{C@H z#AE6m2bUEmf5^K3ZSn%$`TqyQQpuh;FEJ@@vUw1pV|zUT!J^9GcH6roN`T9 z*P7ylu6pevfZ}w3+A4suGSga$xo?@yORhJofhhQs38MmCgd%l8gtV+79kD67uOvVjW$$a6R;wi&_frNDC(jMA9Ks2Mey4XU&SFBJ3FEUP*N-}lMTM3MO3{xe*k834dIoBw@y!ny?@0E?~ z&~o;=;l9DG(N?-B36l*5FI@s!gO=tt1hmQMxDZ_o z`wjyD1w8XHCilJ{YFI$$T|WMiE-dQ?`Ab+75vn2}D?GWRb!1PpG0CQ}|mStbUbrhVVY{ zYn0Ht1P+Llbrp@@BpA#LRtmT&5T!0Trx=l*EMFv;X4E$;hEZoa)!W>X&5cCpw~m71 z(^)9t##XKP43v%UZaCu54e;Wk*%=VwQ;)x;yZgwQ$Jfg8d?hh$=-|TFXkiO6()hP zb0EUIg^+2oUpB0>_QgS|wmkPWvc@q80?lk7J zXGHrQyf4&|&)<%1`)?1BeZPd(m9z6*S8sdI0UL6PrRs8c_(hlX^w!oM1T}beQNVdn zm{PKJ1}=*RBI&_YTWtvx$pjLD3n1EqAaiyknv!<1Oe2C5FvBZm5V|Tba`wpg?`W?t z^O(kS`%xi)QOOduOaVbBK2a>q^fA~D59l!#3gU7+gpqU{86c)QtLt~F3eoFvGOB5d zYdBsPLBMDa=p3kmzXbkP8!_&crBN+2w5l&&Zq`<9P95y}#a?4JPucr|sr5jOaw8IQ;rdcD>Fk9b(C z=wGM+q>5)EN~_!?l$O8liM#IyO5+`3+!aF0?Q)d@;FIajkv20EvC0XZ`8=0mngSN1 zeE3?KP$KC5&D8UZYGRkqL|v7mCK~ZHP;=N=BhRa=4NjX}_)867Yc!R^i$a$SQeSb2 z2AJ(hzsn)J-Yo}0?leouiM&^96iK5k45^b&J3LM&Jj$`50Qgp`tbcCf*4dlkUk{(H z(CBti1NZ8Su36LH+jVN$D$j-jo(fQ`4UJYXp{irKp5|-pc7m8*n?qDUf%SZBg~CSy zD{Y6t8EgM)r`Y}-5;Ro?pT-b4&|xcSyeX$45zM5(Md++e000x(Nklb^^dKfM(8m;#3rB zr??ZvfU`Pvas89d-A_I0JeFkxnr;^DYFZmW5#w{OrUIn^DwWbCSB3I{ysNNBsGvg< zE~-MW`~<0x{J-X|?N_hrxc_E<=Vm*`7+(l6NgP8$Oq(=7C~A}lN)=in^`()cM3Jig z1^Evm@z$3{d(F(6 zwf8>8CxI7^_qQ&y=JK0avu>Gg%N4aTRz(zbX_5XU>Sl%y;zQ9|&6r$OZ9m5Gwp!t} zZQGh~t7X@Wh8-~p%jnK!u1L23uw;gNSQuA9IEuP{lB%U2pPFBOV`xg|_}~%Ddi;mW zi?{9i?2PNLGU3mG=5^TZjy4Fqod`tM7$yj!A3z3vV+vgcuEx$fjYu*o2J!_18k=hi z)*HtZhN2@w16smBQY$SwwDp8id*bwfr~{WgKi~k7(VCo-;frHL-sVoO#rO##um7>me zy@id7zy9rOK+n`vfA>ST)+b*1*6@^U^FS18eB;>OWxo1QHKVUE@MQppn&h<&_FNqv z006_RRC4T4s4zU|)(a^Yz0IhzzN8`rWr^DX90af`ZpN&#AadyOZv{eWb6YVoDVbE% z-~k(QhS`0}`%NP)H&~7~#4}D-!yNJ3V1mp!nVLb`X(~fCsKZu^EzEx>5qqN zeR02D_SEPICgsK?V0Dn&{%VB)K#KUsa@*f~7)wQS?!pg*08TCv>9*Z=(>s*T4O z&9eTV0N7(M`b@I$1QJU77k6c}4CXzQINGWOWpvVWscdYR;R@nDa-Dxuw;!8P_(tshWzyRL*JyISjuyb85e2t3BUL#F9mdQhz)ZE9#B4 zdI52=9Zx`3-69Z;s6_ENNnk?nNW%3D`q)Pw-8c)<8i*XH?>b%0s2qc}uKKuOfvwpw zd>(}73HZSV&3<&|+Xr9UET#;@cB!>+t?WDR9t2fiCh%V|=s^N*iN$>{>>#Vxey00z z;3K)3*jA~&zgCd%HZ}^_HmBdPYQB{`p3Bkfpi$du+fYY&;m&6VTov20{#s?Wz*{7_ zuOCM$T37US-%A=(+8k)~cJSp5qYwI#K&vbcAu<;w@?p7}c{;uT4r$PmtzB zEIab#Y^geMn5y~XMAct__;XNS@L!4(5iC>B~y)4cm)9h`P6d& z!;3#bFf|h1L>_xB9HkjLTh?p1uG{pT%Ovto=bDV(Dg(?7t?98J zqa|7My`?UrBY4h>0KWjx({rw$KJ%+zyttX^*dU1$VW=(EJkE%_X>sAti1C*UJOIY7 z(xv;O`HlhG?$IQgZaYuP^N?b`+;|niz-du}rcx%kWg>7y&JG)sAlr62M>&qz{nBph zCPjq^MDDy(8svZ>#^w~-$$&2h&ytReEjzc$FN{t^g%*f1fK4`;bzkgPkzV3~pP-o> z8TC^@GlEQ)&CammCPsNbc&H;mq3t7&okmtnJ;xw-Qdb^!CIvMR-AoV|xI*CLzr7~t z`*qDf-iFyLuRrmLYn#Fkqslj0x2+cBX1@(PlW+@&GX_M_ zfW>yv++l_AS_;enfEle@zbhjFqpvpRAqB{!uC%vGNydUFn#vvzh-_Wu+(sB|r=L=s^nY&-h%zTvoQlT|hHrS3k&W+&1VG0o z8<3NO>GZnena0`D_)6BU6l3^qt%OOzvDaXnC&GUK^rH>NGpm2_iC=jq>Nf){Q%rxn zy}x;OWqD)q<5cs*O!O6i{}{mju(Y4VBt3Mp)=>gXfm|?xODejErz27W`6F^VMblO< zo%M1MOzgr;Hmjtj2HoninwTU7uo+{QF*3X#{wA+?4WicXcf6udxQD%8)SzP>bli9leOhQRX{D@eMCm&0M znmBG%!c5I$F5jmi%CF6dHEJ9RDpSh!t9`Q`XNl=3sD8Qzo?F4f$@dcpB}&F&W@3pa zs^udOAEL#DM{Dq-RMCCRbSHtgD=_NEH-g|UzDVX|K6G?$J_tlbms(mXCQx>HyuD%+Z$W@;xp4ZVeE%w&3jAZBWXc+#0}ZYwMvWTH{}7^P%R)nBjXGkPN5* zL}p>Yftzj&n*gGQQMSJ+K$JT>V-nV5Xa2E|y~RrY~EI2C72z)drVh6W8w zGP5ga#gutfr@?+z(bFF@sH}Qv(028+1*NM%{W1eT#T?J_2LIyB%KE7(M>i%Shr8!= zYTZ&f!jXU3yS!LENW@=i-bZ763WWU(G%teWOp!{{zh$jM#r`E$-)hT-VtVwSyzIv^ zxTI;EnFj*d5s}Q8TnHTmWA&pj=!_HYbfK#q3&$y07vC#=%&nmaYN?*y4;Gzi7CQ|B zQRv2zYivy3ODPHNwxjj6r<`I>lFk=9hS0;!pPBig1eKolf|(dzE540vh47qsoL#jj zZu%_ksj^_Cj^Z>wZUDRrqL&HuJTv~4ukz6|e|PuU!VZxe#*RVYzTsBG!r)*3{IvC6X z$^Eu9Mk)7{Stxq}lFbsZ2BOHW1ftS<%;rc>0i@4xMqx?rX)FSfk9DoALu>6sFWW%g zg|eCWt#Ku*)p+hLTV_BkIGh1dC@kNIa^yayn~IlWhkGv)M?*}VIH+Epr7GDp(h9fJ z$b9o)4v4(0^!(fWBKHpe|z9UVUB*|a52Re-dF1n99vvIeC6X679Ok_4>NEd z0S5ruN8lx+8QvXtZIMpqp7l-xB5C%W$O=m0J2DL%E+8rw5nao`N=kgVvY=RctVX*E z29lN+L$+fo=EArUZ(f$S9yDTk}5IPgy1!Ta~gI)9xj<&P_rZZ!+*p(CoQ-jgOwa zaPbZNL;FtsR{U2`>6_TqBhN12!;AYDh!4#wzK^+jh=@NA=7S(wZp5v*j_c|CXP16gKxna-FG#pI6O=ATQVq>SUyoX6O)y+3{beYYZ!oo&GxJEYvLjM>ZH zjQrIT0j|T){q&GAXlI^;BRF=#Xu__pTrqDa`LCsJle~S8-s>wvmS@38`cZcSnkXj1sZ;Nu{AzT)`{>(}|!bKCD(weOJKM1&|}^3Cp}Z7&=Pxpe(wJexmA zgonWNM`)&M6!sj2;~|OtrI1z%PZ)Cg>_~SEYL!6JKaxjIV3aLvkA>b!fua!>98p0W zQkgTsI0~CbYl1s2ds;J&Q=wr%ZYgMMbVl5vKuY=-7%urN{#G%g8c+L6a#E%3unzio z0BM=$@gm5x8_yW86R0OJ@>ZKtb16!WTr}eIlBX)@$x<3dInqDJWzZ+c+LfQn0G%b! z|1#GnP|beEb^Y_z)l0wG$|y+kc+5<1E+~cQ=+4=`#Tp--5g+CNMxgsaI1J`JAZqs= z4HFMzY$B`o#|?x_SzWq!P~={N1sw#)zqAx&?GF;mGk@mKWdMKL_q0uI{QT ze42pI0`zGHe}ss_J8IKtRG1*DOsg%nm8Qu;mL{-DB)L-PCxz>Uq(h57THnp{z&#*s zrhk_OV>ujQUSoU{{O)141ONkVrHzd_4-|W28`;J$2Z$v88J@YDTHRn~>{A92kt-ydPc!fmDmqayUYavr1o1=@x_a(+IRz`J-3J4R zqBDH_hdWn3v}4bFHrrDX-+_t_Fx7{^bQcj066j6>Pm zF)lJyrvQE(;8#J_Ndmn&NA=c>*3YkBnw`J!olk~0=1kOnBtE z8AMCOVSf^ZM<6@h(O}UJ zc+mT}KG;MbUTQhji_ObxFI-S4#c93Wdgs2%=ifZu_BJHiOlaw=;_#(pVsS|@RF1El ziy4?6cFrOTh{X4}URRzD+9<*CSMt+X9bVQ7~V#DyPxTHA~j$PdsY#i>e>}tUb%GP zJ9l6CAOg??m;d{NAKmj46^`7yfNR?pK)YuzPDJ}q^ByL; zjVSC%s&+7V8!<0ah?IaO4zJS!3xp1glvnI}j2TCjJs!~1!jfvLL11x`q{ljGclp7f zM2s;$WxpUd8T6> zm#0&nZfp$#zBK@9+1r*^~PdtiPSM3;$hfoq&+;4FyFpu%ZpdTU0D xZ`T`ZSC=lnGe7LLcD&{vRDv3zwNK$)5lK002ovPDHLkV1m?BlOX^A literal 0 HcmV?d00001 diff --git a/static/tabs/xinxi_icon@2x.png b/static/tabs/xinxi_icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..5700dcb67a345bbbfc3eaf42926fdf1af0f70796 GIT binary patch literal 31144 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 LNkvXXu0mjf&#uEJ literal 0 HcmV?d00001 diff --git a/static/tabs/xinxi_icon@2x2.png b/static/tabs/xinxi_icon@2x2.png new file mode 100644 index 0000000000000000000000000000000000000000..7e4aed8296f408968b3465da3d7ff5d1d30606ee GIT binary patch literal 53934 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 literal 0 HcmV?d00001 diff --git a/static/tabs/yujing_icon@2x.png b/static/tabs/yujing_icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..84b1183f06acf3e36b99f496ad2813675f1f1627 GIT binary patch literal 16781 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 Z{r~v8KSTBm@{<4n002ovPDHLkV1nHAfHVLA literal 0 HcmV?d00001 diff --git a/static/tabs/yujing_icon@2x2.png b/static/tabs/yujing_icon@2x2.png new file mode 100644 index 0000000000000000000000000000000000000000..24d73e5c4eb314978189c6b31059e2917f64f8c9 GIT binary patch literal 57030 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 literal 0 HcmV?d00001 diff --git a/subpkg/rainDetail/rainDetail.vue b/subpkg/rainDetail/rainDetail.vue new file mode 100644 index 0000000..2248022 --- /dev/null +++ b/subpkg/rainDetail/rainDetail.vue @@ -0,0 +1,11 @@ + + + + + \ No newline at end of file diff --git a/template.html b/template.html new file mode 100644 index 0000000..b9298b7 --- /dev/null +++ b/template.html @@ -0,0 +1,28 @@ + + + + + + + <%= htmlWebpackPlugin.options.title %> + + + + + + + + + + + + +

    + + + diff --git a/uni.scss b/uni.scss new file mode 100644 index 0000000..d4c7d1b --- /dev/null +++ b/uni.scss @@ -0,0 +1,3 @@ +@import '@/uni_modules/uview-ui/theme.scss'; +@import '@/uni_modules/uni-scss/variables.scss'; +/* uni.scss */ diff --git a/uni_modules/qiun-data-charts/changelog.md b/uni_modules/qiun-data-charts/changelog.md new file mode 100644 index 0000000..4d470a4 --- /dev/null +++ b/uni_modules/qiun-data-charts/changelog.md @@ -0,0 +1,320 @@ +## 2.5.0-20230101(2023-01-01) +- 秋云图表组件 修改条件编译顺序,确保uniapp的cli方式的项目依赖不完整时可以正常显示 +- 秋云图表组件 恢复props属性directory的使用,以修复vue3项目中,开启echarts后,echarts目录识别错误的bug +- uCharts.js 修复区域图、混合图只有一个数据时图表显示不正确的bug +- uCharts.js 修复折线图、区域图中时间轴类别图表tooltip指示点显示不正确的bug +- uCharts.js 修复x轴使用labelCount时,并且boundaryGap = 'justify' 并且关闭Y轴显示的时候,最后一个坐标值不显示的bug +- uCharts.js 修复折线图只有一组数据时 ios16 渲染颜色不正确的bug +- uCharts.js 修复玫瑰图半径显示不正确的bug +- uCharts.js 柱状图、山峰图增加正负图功能,y轴网格如果需要显示0轴则由 min max 及 splitNumber 确定,后续版本优化自动显示0轴 +- uCharts.js 柱状图column增加 opts.extra.column.labelPosition,数据标签位置,有效值为 outside外部, insideTop内顶部, center内中间, bottom内底部 +- uCharts.js 雷达图radar增加 opts.extra.radar.labelShow,否显示各项标识文案是,默认true +- uCharts.js 提示窗tooltip增加 opts.extra.tooltip.boxPadding,提示窗边框填充距离,默认3px +- uCharts.js 提示窗tooltip增加 opts.extra.tooltip.fontSize,提示窗字体大小配置,默认13px +- uCharts.js 提示窗tooltip增加 opts.extra.tooltip.lineHeight,提示窗文字行高,默认20px +- uCharts.js 提示窗tooltip增加 opts.extra.tooltip.legendShow,是否显示左侧图例,默认true +- uCharts.js 提示窗tooltip增加 opts.extra.tooltip.legendShape,图例形状,图例标识样式,有效值为 auto自动跟随图例, diamond◆, circle●, triangle▲, square■, rect▬, line- +- uCharts.js 标记线markLine增加 opts.extra.markLine.labelFontSize,字体大小配置,默认13px +- uCharts.js 标记线markLine增加 opts.extra.markLine.labelPadding,标签边框内填充距离,默认6px +- uCharts.js 折线图line增加 opts.extra.line.linearType,渐变色类型,可选值 none关闭渐变色,custom 自定义渐变色。使用自定义渐变色时请赋值serie.linearColor作为颜色值 +- uCharts.js 折线图line增加 serie.linearColor,渐变色数组,格式为2维数组[起始位置,颜色值],例如[[0,'#0EE2F8'],[0.3,'#2BDCA8'],[0.6,'#1890FF'],[1,'#9A60B4']] +- uCharts.js 折线图line增加 opts.extra.line.onShadow,是否开启折线阴影,开启后请赋值serie.setShadow阴影设置 +- uCharts.js 折线图line增加 serie.setShadow,阴影配置,格式为4位数组:[offsetX,offsetY,blur,color] +- uCharts.js 折线图line增加 opts.extra.line.animation,动画效果方向,可选值为vertical 垂直动画效果,horizontal 水平动画效果 +- uCharts.js X轴xAxis增加 opts.xAxis.lineHeight,X轴字体行高,默认20px +- uCharts.js X轴xAxis增加 opts.xAxis.marginTop,X轴文字距离轴线的距离,默认0px +- uCharts.js X轴xAxis增加 opts.xAxis.title,当前X轴标题 +- uCharts.js X轴xAxis增加 opts.xAxis.titleFontSize,标题字体大小,默认13px +- uCharts.js X轴xAxis增加 opts.xAxis.titleOffsetY,标题纵向偏移距离,负数为向上偏移,正数向下偏移 +- uCharts.js X轴xAxis增加 opts.xAxis.titleOffsetX,标题横向偏移距离,负数为向左偏移,正数向右偏移 +- uCharts.js X轴xAxis增加 opts.xAxis.titleFontColor,标题字体颜色,默认#666666 + +## 报错TypeError: Cannot read properties of undefined (reading 'length') +- 如果是uni-modules版本组件,请先登录HBuilderX账号; +- 在HBuilderX中的manifest.json,点击重新获取uniapp的appid,或者删除appid重新粘贴,重新运行; +- 如果是cli项目请使用码云上的非uniCloud版本组件; +- 或者添加uniCloud的依赖; +- 或者使用原生uCharts; +## 2.4.5-20221130(2022-11-30) +- uCharts.js 优化tooltip当文字很多变为左侧显示时,如果画布仍显显示不下,提示框错位置变为以左侧0位置起画 +- uCharts.js 折线图修复特殊情况下只有单点数据,并改变线宽后点变为圆形的bug +- uCharts.js 修复Y轴disabled启用后无效并报错的bug +- uCharts.js 修复仪表盘起始结束角度特殊情况下显示不正确的bug +- uCharts.js 雷达图新增参数 opts.extra.radar.radius , 自定义雷达图半径 +- uCharts.js 折线图、区域图增加tooltip指示点,opts.extra.line.activeType/opts.extra.area.activeType,可选值"none"不启用激活指示点,"hollow"空心点模式,"solid"实心点模式 +## 2.4.4-20221102(2022-11-02) +- 秋云图表组件 修复使用echarts时reload、reshow无法调用重新渲染的bug,[详见码云PR](https://gitee.com/uCharts/uCharts/pulls/40) +- 秋云图表组件 修复使用echarts时,初始化时宽高不正确的bug,[详见码云PR](https://gitee.com/uCharts/uCharts/pulls/42) +- 秋云图表组件 修复uniapp的h5使用history模式时,无法加载echarts的bug +- 秋云图表组件 小程序端@complete、@scrollLeft、@scrollRight、@getTouchStart、@getTouchMove、@getTouchEnd事件增加opts参数传出,方便一些特殊需求的交互获取数据。 + +- uCharts.js 修复calTooltipYAxisData方法内formatter格式化方法未与y轴方法同步的问题,[详见码云PR](https://gitee.com/uCharts/uCharts/pulls/43) +- uCharts.js 地图新增参数opts.series[i].fillOpacity,以透明度方式来设置颜色过度效果,[详见码云PR](https://gitee.com/uCharts/uCharts/pulls/38) +- uCharts.js 地图新增参数opts.extra.map.active,是否启用点击激活变色 +- uCharts.js 地图新增参数opts.extra.map.activeTextColor,是否启用点击激活变色 +- uCharts.js 地图新增渲染完成事件renderComplete +- uCharts.js 漏斗图修复当部分数据相同时tooltip提示窗点击错误的bug +- uCharts.js 漏斗图新增参数series.data[i].centerText 居中标签文案 +- uCharts.js 漏斗图新增参数series.data[i].centerTextSize 居中标签文案字体大小,默认opts.fontSize +- uCharts.js 漏斗图新增参数series.data[i].centerTextColor 居中标签文案字体颜色,默认#FFFFFF +- uCharts.js 漏斗图新增参数opts.extra.funnel.minSize 最小值的最小宽度,默认0 +- uCharts.js 进度条新增参数opts.extra.arcbar.direction,动画方向,可选值为cw顺时针、ccw逆时针 +- uCharts.js 混合图新增参数opts.extra.mix.line.width,折线的宽度,默认2 +- uCharts.js 修复tooltip开启horizentalLine水平横线标注时,图表显示错位的bug +- uCharts.js 优化tooltip当文字很多变为左侧显示时,如果画布仍显显示不下,提示框错位置变为以左侧0位置起画 +- uCharts.js 修复开启滚动条后X轴文字超出绘图区域后的隐藏逻辑 +- uCharts.js 柱状图、条状图修复堆叠模式不能通过{value,color}赋值单个柱子颜色的问题 +- uCharts.js 气泡图修复不识别series.textSize和series.textColor的bug + +## 报错TypeError: Cannot read properties of undefined (reading 'length') +1. 如果是uni-modules版本组件,请先登录HBuilderX账号; +2. 在HBuilderX中的manifest.json,点击重新获取uniapp的appid,或者删除appid重新粘贴,重新运行; +3. 如果是cli项目请使用码云上的非uniCloud版本组件; +4. 或者添加uniCloud的依赖; +5. 或者使用原生uCharts; +## 2.4.3-20220505(2022-05-05) +- 秋云图表组件 修复开启canvas2d后将series赋值为空数组显示加载图标时,再次赋值后画布闪动的bug +- 秋云图表组件 修复升级hbx最新版后ECharts的highlight方法报错的bug +- uCharts.js 雷达图新增参数opts.extra.radar.gridEval,数据点位网格抽希,默认1 +- uCharts.js 雷达图新增参数opts.extra.radar.axisLabel, 是否显示刻度点值,默认false +- uCharts.js 雷达图新增参数opts.extra.radar.axisLabelTofix,刻度点值小数位数,默认0 +- uCharts.js 雷达图新增参数opts.extra.radar.labelPointShow,是否显示末端刻度圆点,默认false +- uCharts.js 雷达图新增参数opts.extra.radar.labelPointRadius,刻度圆点的半径,默认3 +- uCharts.js 雷达图新增参数opts.extra.radar.labelPointColor,刻度圆点的颜色,默认#cccccc +- uCharts.js 雷达图新增参数opts.extra.radar.linearType,渐变色类型,可选值"none"关闭渐变,"custom"开启渐变 +- uCharts.js 雷达图新增参数opts.extra.radar.customColor,自定义渐变颜色,数组类型对应series的数组长度以匹配不同series颜色的不同配色方案,例如["#FA7D8D", "#EB88E2"] +- uCharts.js 雷达图优化支持series.textColor、series.textSize属性 +- uCharts.js 柱状图中温度计式图标,优化支持全圆角类型,修复边框有缝隙的bug,详见官网【演示】中的温度计图表 +- uCharts.js 柱状图新增参数opts.extra.column.activeWidth,当前点击柱状图的背景宽度,默认一个单元格单位 +- uCharts.js 混合图增加opts.extra.mix.area.gradient 区域图是否开启渐变色 +- uCharts.js 混合图增加opts.extra.mix.area.opacity 区域图透明度,默认0.2 +- uCharts.js 饼图、圆环图、玫瑰图、漏斗图,增加opts.series[0].data[i].labelText,自定义标签文字,避免formatter格式化的繁琐,详见官网【演示】中的饼图 +- uCharts.js 饼图、圆环图、玫瑰图、漏斗图,增加opts.series[0].data[i].labelShow,自定义是否显示某一个指示标签,避免因饼图类别太多导致标签重复或者居多导致图形变形的问题,详见官网【演示】中的饼图 +- uCharts.js 增加opts.series[i].legendText/opts.series[0].data[i].legendText(与series.name同级)自定义图例显示文字的方法 +- uCharts.js 优化X轴、Y轴formatter格式化方法增加形参,统一为fromatter:function(value,index,opts){} +- uCharts.js 修复横屏模式下无法使用双指缩放方法的bug +- uCharts.js 修复当只有一条数据或者多条数据值相等的时候Y轴自动计算的最大值错误的bug +- 【官网模板】增加外部自定义图例与图表交互的例子,[点击跳转](https://www.ucharts.cn/v2/#/layout/info?id=2) + +## 注意:非unimodules 版本如因更新 hbx 至 3.4.7 导致报错如下,请到码云更新非 unimodules 版本组件,[点击跳转](https://gitee.com/uCharts/uCharts/tree/master/uni-app/uCharts-%E7%BB%84%E4%BB%B6) +> Error in callback for immediate watcher "uchartsOpts": "SyntaxError: Unexpected token u in JSON at position 0" +## 2.4.2-20220421(2022-04-21) +- 秋云图表组件 修复HBX升级3.4.6.20220420版本后echarts报错的问题 +## 2.4.2-20220420(2022-04-20) +## 重要!此版本uCharts新增了很多功能,修复了诸多已知问题 +- 秋云图表组件 新增onzoom开启双指缩放功能(仅uCharts),前提需要直角坐标系类图表类型,并且ontouch为true、opts.enableScroll为true,详见实例项目K线图 +- 秋云图表组件 新增optsWatch是否监听opts变化,关闭optsWatch后,动态修改opts不会触发图表重绘 +- 秋云图表组件 修复开启canvas2d功能后,动态更新数据后画布闪动的bug +- 秋云图表组件 去除directory属性,改为自动获取echarts.min.js路径(升级不受影响) +- 秋云图表组件 增加getImage()方法及@getImage事件,通过ref调用getImage()方法获,触发@getImage事件获取当前画布的base64图片文件流。 +- 秋云图表组件 支付宝、字节跳动、飞书、快手小程序支持开启canvas2d同层渲染设置。 +- 秋云图表组件 新增加【非uniCloud】版本组件,避免有些不需要uniCloud的使用组件发布至小程序需要提交隐私声明问题,请到码云[【非uniCloud版本】](https://gitee.com/uCharts/uCharts/tree/master/uni-app/uCharts-%E7%BB%84%E4%BB%B6),或npm[【非uniCloud版本】](https://www.npmjs.com/package/@qiun/uni-ucharts)下载使用。 +- uCharts.js 新增dobuleZoom双指缩放功能 +- uCharts.js 新增山峰图type="mount",数据格式为饼图类格式,不需要传入categories,具体详见新版官网在线演示 +- uCharts.js 修复折线图当数据中存在null时tooltip报错的bug +- uCharts.js 修复饼图类当画布比较小时自动计算的半径是负数报错的bug +- uCharts.js 统一各图表类型的series.formatter格式化方法的形参为(val, index, series, opts),方便格式化时有更多参数可用 +- uCharts.js 标记线功能增加labelText自定义显示文字,增加labelAlign标签显示位置(左侧或右侧),增加标签显示位置微调labelOffsetX、labelOffsetY +- uCharts.js 修复条状图当数值很小时开启圆角后样式错误的bug +- uCharts.js 修复X轴开启disabled后,X轴仍占用空间的bug +- uCharts.js 修复X轴开启滚动条并且开启rotateLabel后,X轴文字与滚动条重叠的bug +- uCharts.js 增加X轴rotateAngle文字旋转自定义角度,取值范围(-90至90) +- uCharts.js 修复地图文字标签层级显示不正确的bug +- uCharts.js 修复饼图、圆环图、玫瑰图当数据全部为0的时候不显示数据标签的bug +- uCharts.js 修复当opts.padding上边距为0时,Y轴顶部刻度标签位置不正确的bug + +## 另外我们还开发了各大原生小程序组件,已发布至码云和npm +[https://gitee.com/uCharts/uCharts](https://gitee.com/uCharts/uCharts) +[https://www.npmjs.com/~qiun](https://www.npmjs.com/~qiun) + +## 对于原生uCharts文档我们已上线新版官方网站,详情点击下面链接进入官网 +[https://www.uCharts.cn/v2/](https://www.ucharts.cn/v2/) +## 2.3.7-20220122(2022-01-22) +## 重要!使用vue3编译,请使用cli模式并升级至最新依赖,HbuilderX编译需要使用3.3.8以上版本 +- uCharts.js 修复uni-app平台组件模式使用vue3编译到小程序报错的bug。 +## 2.3.7-20220118(2022-01-18) +## 注意,使用vue3的前提是需要3.3.8.20220114-alpha版本的HBuilder! +## 2.3.67-20220118(2022-01-18) +- 秋云图表组件 组件初步支持vue3,全端编译会有些问题,具体详见下面修改: +1. 小程序端运行时,在uni_modules文件夹的qiun-data-charts.js中搜索 new uni_modules_qiunDataCharts_js_sdk_uCharts_uCharts.uCharts,将.uCharts去掉。 +2. 小程序端发行时,在uni_modules文件夹的qiun-data-charts.js中搜索 new e.uCharts,将.uCharts去掉,变为 new e。 +3. 如果觉得上述步骤比较麻烦,如果您的项目只编译到小程序端,可以修改u-charts.js最后一行导出方式,将 export default uCharts;变更为 export default { uCharts: uCharts }; 这样变更后,H5和App端的renderjs会有问题,请开发者自行选择。(此问题非组件问题,请等待DC官方修复Vue3的小程序端) +## 2.3.6-20220111(2022-01-11) +- 秋云图表组件 修改组件 props 属性中的 background 默认值为 rgba(0,0,0,0) +## 2.3.6-20211201(2021-12-01) +- uCharts.js 修复bar条状图开启圆角模式时,值很小时圆角渲染错误的bug +## 2.3.5-20211014(2021-10-15) +- uCharts.js 增加vue3的编译支持(仅原生uCharts,qiun-data-charts组件后续会支持,请关注更新) +## 2.3.4-20211012(2021-10-12) +- 秋云图表组件 修复 mac os x 系统 mouseover 事件丢失的 bug +## 2.3.3-20210706(2021-07-06) +- uCharts.js 增加雷达图开启数据点值(opts.dataLabel)的显示 +## 2.3.2-20210627(2021-06-27) +- 秋云图表组件 修复tooltipCustom个别情况下传值不正确报错TypeError: Cannot read property 'name' of undefined的bug +## 2.3.1-20210616(2021-06-16) +- uCharts.js 修复圆角柱状图使用4角圆角时,当数值过大时不正确的bug +## 2.3.0-20210612(2021-06-12) +- uCharts.js 【重要】uCharts增加nvue兼容,可在nvue项目中使用gcanvas组件渲染uCharts,[详见码云uCharts-demo-nvue](https://gitee.com/uCharts/uCharts) +- 秋云图表组件 增加tapLegend属性,是否开启图例点击交互事件 +- 秋云图表组件 getIndex事件中增加返回uCharts实例中的opts参数,以便在页面中调用参数 +- 示例项目 pages/other/other.vue增加app端自定义tooltip的方法,详见showOptsTooltip方法 +## 2.2.1-20210603(2021-06-03) +- uCharts.js 修复饼图、圆环图、玫瑰图,当起始角度不为0时,tooltip位置不准确的bug +- uCharts.js 增加温度计式柱状图开启顶部半圆形的配置 +## 2.2.0-20210529(2021-05-29) +- uCharts.js 增加条状图type="bar" +- 示例项目 pages/ucharts/ucharts.vue增加条状图的demo +## 2.1.7-20210524(2021-05-24) +- uCharts.js 修复大数据量模式下曲线图不平滑的bug +## 2.1.6-20210523(2021-05-23) +- 秋云图表组件 修复小程序端开启滚动条更新数据后滚动条位置不符合预期的bug +## 2.1.5-2021051702(2021-05-17) +- uCharts.js 修复自定义Y轴min和max值为0时不能正确显示的bug +## 2.1.5-20210517(2021-05-17) +- uCharts.js 修复Y轴自定义min和max时,未按指定的最大值最小值显示坐标轴刻度的bug +## 2.1.4-20210516(2021-05-16) +- 秋云图表组件 优化onWindowResize防抖方法 +- 秋云图表组件 修复APP端uCharts更新数据时,清空series显示loading图标后再显示图表,图表抖动的bug +- uCharts.js 修复开启canvas2d后,x轴、y轴、series自定义字体大小未按比例缩放的bug +- 示例项目 修复format-e.vue拼写错误导致app端使用uCharts渲染图表 +## 2.1.3-20210513(2021-05-13) +- 秋云图表组件 修改uCharts变更chartData数据为updateData方法,支持带滚动条的数据动态打点 +- 秋云图表组件 增加onWindowResize防抖方法 fix by ど誓言,如尘般染指流年づ +- 秋云图表组件 H5或者APP变更chartData数据显示loading图表时,原数据闪现的bug +- 秋云图表组件 props增加errorReload禁用错误点击重新加载的方法 +- uCharts.js 增加tooltip显示category(x轴对应点位)标题的功能,opts.extra.tooltip.showCategory,默认为false +- uCharts.js 修复mix混合图只有柱状图时,tooltip的分割线显示位置不正确的bug +- uCharts.js 修复开启滚动条,图表在拖动中动态打点,滚动条位置不正确的bug +- uCharts.js 修复饼图类数据格式为echarts数据格式,series为空数组报错的bug +- 示例项目 修改uCharts.js更新到v2.1.2版本后,@getIndex方法获取索引值变更为e.currentIndex.index +- 示例项目 pages/updata/updata.vue增加滚动条拖动更新(数据动态打点)的demo +- 示例项目 pages/other/other.vue增加errorReload禁用错误点击重新加载的demo +## 2.1.2-20210509(2021-05-09) +秋云图表组件 修复APP端初始化时就传入chartData或lacaldata不显示图表的bug +## 2.1.1-20210509(2021-05-09) +- 秋云图表组件 变更ECharts的eopts配置在renderjs内执行,支持在config-echarts.js配置文件内写function配置。 +- 秋云图表组件 修复APP端报错Prop being mutated: "onmouse"错误的bug。 +- 秋云图表组件 修复APP端报错Error: Not Found:Page[6][-1,27] at view.umd.min.js:1的bug。 +## 2.1.0-20210507(2021-05-07) +- 秋云图表组件 修复初始化时就有数据或者数据更新的时候loading加载动画闪动的bug +- uCharts.js 修复x轴format方法categories为字符串类型时返回NaN的bug +- uCharts.js 修复series.textColor、legend.fontColor未执行全局默认颜色的bug +## 2.1.0-20210506(2021-05-06) +- 秋云图表组件 修复极个别情况下报错item.properties undefined的bug +- 秋云图表组件 修复极个别情况下关闭加载动画reshow不起作用,无法显示图表的bug +- 示例项目 pages/ucharts/ucharts.vue 增加时间轴折线图(type="tline")、时间轴区域图(type="tarea")、散点图(type="scatter")、气泡图demo(type="bubble")、倒三角形漏斗图(opts.extra.funnel.type="triangle")、金字塔形漏斗图(opts.extra.funnel.type="pyramid") +- 示例项目 pages/format-u/format-u.vue 增加X轴format格式化示例 +- uCharts.js 升级至v2.1.0版本 +- uCharts.js 修复 玫瑰图面积模式点击tooltip位置不正确的bug +- uCharts.js 修复 玫瑰图点击图例,只剩一个类别显示空白的bug +- uCharts.js 修复 饼图类图点击图例,其他图表tooltip位置某些情况下不准的bug +- uCharts.js 修复 x轴为矢量轴(时间轴)情况下,点击tooltip位置不正确的bug +- uCharts.js 修复 词云图获取点击索引偶尔不准的bug +- uCharts.js 增加 直角坐标系图表X轴format格式化方法(原生uCharts.js用法请使用formatter) +- uCharts.js 增加 漏斗图扩展配置,倒三角形(opts.extra.funnel.type="triangle"),金字塔形(opts.extra.funnel.type="pyramid") +- uCharts.js 增加 散点图(opts.type="scatter")、气泡图(opts.type="bubble") +- 后期计划 完善散点图、气泡图,增加markPoints标记点,增加横向条状图。 +## 2.0.0-20210502(2021-05-02) +- uCharts.js 修复词云图获取点击索引不正确的bug +## 2.0.0-20210501(2021-05-01) +- 秋云图表组件 修复QQ小程序、百度小程序在关闭动画效果情况下,v-for循环使用图表,显示不正确的bug +## 2.0.0-20210426(2021-04-26) +- 秋云图表组件 修复QQ小程序不支持canvas2d的bug +- 秋云图表组件 修复钉钉小程序某些情况点击坐标计算错误的bug +- uCharts.js 增加 extra.column.categoryGap 参数,柱状图类每个category点位(X轴点)柱子组之间的间距 +- uCharts.js 增加 yAxis.data[i].titleOffsetY 参数,标题纵向偏移距离,负数为向上偏移,正数向下偏移 +- uCharts.js 增加 yAxis.data[i].titleOffsetX 参数,标题横向偏移距离,负数为向左偏移,正数向右偏移 +- uCharts.js 增加 extra.gauge.labelOffset 参数,仪表盘标签文字径向便宜距离,默认13px +## 2.0.0-20210422-2(2021-04-22) +秋云图表组件 修复 formatterAssign 未判断 args[key] == null 的情况导致栈溢出的 bug +## 2.0.0-20210422(2021-04-22) +- 秋云图表组件 修复H5、APP、支付宝小程序、微信小程序canvas2d模式下横屏模式的bug +## 2.0.0-20210421(2021-04-21) +- uCharts.js 修复多行图例的情况下,图例在上方或者下方时,图例float为左侧或者右侧时,第二行及以后的图例对齐方式不正确的bug +## 2.0.0-20210420(2021-04-20) +- 秋云图表组件 修复微信小程序开启canvas2d模式后,windows版微信小程序不支持canvas2d模式的bug +- 秋云图表组件 修改非uni_modules版本为v2.0版本qiun-data-charts组件 +## 2.0.0-20210419(2021-04-19) +## v1.0版本已停更,建议转uni_modules版本组件方式调用,点击右侧绿色【使用HBuilderX导入插件】即可使用,示例项目请点击右侧蓝色按钮【使用HBuilderX导入示例项目】。 +## 初次使用如果提示未注册<qiun-data-charts>组件,请重启HBuilderX,如仍不好用,请重启电脑; +## 如果是cli项目,请尝试清理node_modules,重新install,还不行就删除项目,再重新install。 +## 此问题已于DCloud官方确认,HBuilderX下个版本会修复。 +## 其他图表不显示问题详见[常见问题选项卡](https://demo.ucharts.cn) +## 新手请先完整阅读帮助文档及常见问题3遍,右侧蓝色按钮示例项目请看2遍! +## [DEMO演示及在线生成工具(v2.0文档)https://demo.ucharts.cn](https://demo.ucharts.cn) +## [图表组件在项目中的应用参见 UReport数据报表](https://ext.dcloud.net.cn/plugin?id=4651) +- uCharts.js 修复混合图中柱状图单独设置颜色不生效的bug +- uCharts.js 修复多Y轴单独设置fontSize时,开启canvas2d后,未对应放大字体的bug +## 2.0.0-20210418(2021-04-18) +- 秋云图表组件 增加directory配置,修复H5端history模式下如果发布到二级目录无法正确加载echarts.min.js的bug +## 2.0.0-20210416(2021-04-16) +## v1.0版本已停更,建议转uni_modules版本组件方式调用,点击右侧绿色【使用HBuilderX导入插件】即可使用,示例项目请点击右侧蓝色按钮【使用HBuilderX导入示例项目】。 +## 初次使用如果提示未注册<qiun-data-charts>组件,请重启HBuilderX,如仍不好用,请重启电脑; +## 如果是cli项目,请尝试清理node_modules,重新install,还不行就删除项目,再重新install。 +## 此问题已于DCloud官方确认,HBuilderX下个版本会修复。 +## 其他图表不显示问题详见[常见问题选项卡](https://demo.ucharts.cn) +## 新手请先完整阅读帮助文档及常见问题3遍,右侧蓝色按钮示例项目请看2遍! +## [DEMO演示及在线生成工具(v2.0文档)https://demo.ucharts.cn](https://demo.ucharts.cn) +## [图表组件在项目中的应用参见 UReport数据报表](https://ext.dcloud.net.cn/plugin?id=4651) +- 秋云图表组件 修复APP端某些情况下报错`Not Found Page`的bug,fix by 高级bug开发技术员 +- 示例项目 修复APP端v-for循环某些情况下报错`Not Found Page`的bug,fix by 高级bug开发技术员 +- uCharts.js 修复非直角坐标系tooltip提示窗右侧超出未变换方向显示的bug +## 2.0.0-20210415(2021-04-15) +- 秋云图表组件 修复H5端发布到二级目录下echarts无法加载的bug +- 秋云图表组件 修复某些情况下echarts.off('finished')移除监听事件报错的bug +## 2.0.0-20210414(2021-04-14) +## v1.0版本已停更,建议转uni_modules版本组件方式调用,点击右侧绿色【使用HBuilderX导入插件】即可使用,示例项目请点击右侧蓝色按钮【使用HBuilderX导入示例项目】。 +## 初次使用如果提示未注册<qiun-data-charts>组件,请重启HBuilderX,如仍不好用,请重启电脑; +## 如果是cli项目,请尝试清理node_modules,重新install,还不行就删除项目,再重新install。 +## 此问题已于DCloud官方确认,HBuilderX下个版本会修复。 +## 其他图表不显示问题详见[常见问题选项卡](https://demo.ucharts.cn) +## 新手请先完整阅读帮助文档及常见问题3遍,右侧蓝色按钮示例项目请看2遍! +## [DEMO演示及在线生成工具(v2.0文档)https://demo.ucharts.cn](https://demo.ucharts.cn) +## [图表组件在项目中的应用参见 UReport数据报表](https://ext.dcloud.net.cn/plugin?id=4651) +- 秋云图表组件 修复H5端在cli项目下ECharts引用地址错误的bug +- 示例项目 增加ECharts的formatter用法的示例(详见示例项目format-e.vue) +- uCharts.js 增加圆环图中心背景色的配置extra.ring.centerColor +- uCharts.js 修复微信小程序安卓端柱状图开启透明色后显示不正确的bug +## 2.0.0-20210413(2021-04-13) +- 秋云图表组件 修复百度小程序多个图表真机未能正确获取根元素dom尺寸的bug +- 秋云图表组件 修复百度小程序横屏模式方向不正确的bug +- 秋云图表组件 修改ontouch时,@getTouchStart@getTouchMove@getTouchEnd的触发条件 +- uCharts.js 修复饼图类数据格式series属性不生效的bug +- uCharts.js 增加时序区域图 详见示例项目中ucharts.vue +## 2.0.0-20210412-2(2021-04-12) +## v1.0版本已停更,建议转uni_modules版本组件方式调用,点击右侧绿色【使用HBuilderX导入插件】即可使用,示例项目请点击右侧蓝色按钮【使用HBuilderX导入示例项目】。 +## 初次使用如果提示未注册<qiun-data-charts>组件,请重启HBuilderX。如仍不好用,请重启电脑,此问题已于DCloud官方确认,HBuilderX下个版本会修复。 +## [DEMO演示及在线生成工具(v2.0文档)https://demo.ucharts.cn](https://demo.ucharts.cn) +## [图表组件在uniCloudAdmin中的应用 UReport数据报表](https://ext.dcloud.net.cn/plugin?id=4651) +- 秋云图表组件 修复uCharts在APP端横屏模式下不能正确渲染的bug +- 示例项目 增加ECharts柱状图渐变色、圆角柱状图、横向柱状图(条状图)的示例 +## 2.0.0-20210412(2021-04-12) +- 秋云图表组件 修复created中判断echarts导致APP端无法识别,改回mounted中判断echarts初始化 +- uCharts.js 修复2d模式下series.textOffset未乘像素比的bug +## 2.0.0-20210411(2021-04-11) +## v1.0版本已停更,建议转uni_modules版本组件方式调用,点击右侧绿色【使用HBuilderX导入插件】即可使用,示例项目请点击右侧蓝色按钮【使用HBuilderX导入示例项目】。 +## 初次使用如果提示未注册组件,请重启HBuilderX,并清空小程序开发者工具缓存。 +## [DEMO演示及在线生成工具(v2.0文档)https://demo.ucharts.cn](https://demo.ucharts.cn) +## [图表组件在uniCloudAdmin中的应用 UReport数据报表](https://ext.dcloud.net.cn/plugin?id=4651) +- uCharts.js 折线图区域图增加connectNulls断点续连的功能,详见示例项目中ucharts.vue +- 秋云图表组件 变更初始化方法为created,变更type2d默认值为true,优化2d模式下组件初始化后dom获取不到的bug +- 秋云图表组件 修复左右布局时,右侧图表点击坐标错误的bug,修复tooltip柱状图自定义颜色显示object的bug +## 2.0.0-20210410(2021-04-10) +- 修复左右布局时,右侧图表点击坐标错误的bug,修复柱状图自定义颜色tooltip显示object的bug +- 增加标记线及柱状图自定义颜色的demo +## 2.0.0-20210409(2021-04-08) +## v1.0版本已停更,建议转uni_modules版本组件方式调用,点击右侧【使用HBuilderX导入插件】即可体验,DEMO演示及在线生成工具(v2.0文档)[https://demo.ucharts.cn](https://demo.ucharts.cn) +## 图表组件在uniCloudAdmin中的应用 [UReport数据报表](https://ext.dcloud.net.cn/plugin?id=4651) +- uCharts.js 修复钉钉小程序百度小程序measureText不准确的bug,修复2d模式下饼图类activeRadius为按比例放大的bug +- 修复组件在支付宝小程序端点击位置不准确的bug +## 2.0.0-20210408(2021-04-07) +- 修复组件在支付宝小程序端不能显示的bug(目前支付宝小程不能点击交互,后续修复) +- uCharts.js 修复高分屏下柱状图类,圆弧进度条 自定义宽度不能按比例放大的bug +## 2.0.0-20210407(2021-04-06) +## v1.0版本已停更,建议转uni_modules版本组件方式调用,点击右侧【使用HBuilderX导入插件】即可体验,DEMO演示及在线生成工具(v2.0文档)[https://demo.ucharts.cn](https://demo.ucharts.cn) +## 增加 通过tofix和unit快速格式化y轴的demo add by `howcode` +## 增加 图表组件在uniCloudAdmin中的应用 [UReport数据报表](https://ext.dcloud.net.cn/plugin?id=4651) +## 2.0.0-20210406(2021-04-05) +# 秋云图表组件+uCharts v2.0版本同步上线,使用方法详见https://demo.ucharts.cn帮助页 +## 2.0.0(2021-04-05) +# 秋云图表组件+uCharts v2.0版本同步上线,使用方法详见https://demo.ucharts.cn帮助页 diff --git a/uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts.vue b/uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts.vue new file mode 100644 index 0000000..5678f7d --- /dev/null +++ b/uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts.vue @@ -0,0 +1,1618 @@ + + + + + + + + + + diff --git a/uni_modules/qiun-data-charts/components/qiun-error/qiun-error.vue b/uni_modules/qiun-data-charts/components/qiun-error/qiun-error.vue new file mode 100644 index 0000000..b15b19f --- /dev/null +++ b/uni_modules/qiun-data-charts/components/qiun-error/qiun-error.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/uni_modules/qiun-data-charts/components/qiun-loading/loading1.vue b/uni_modules/qiun-data-charts/components/qiun-loading/loading1.vue new file mode 100644 index 0000000..b701394 --- /dev/null +++ b/uni_modules/qiun-data-charts/components/qiun-loading/loading1.vue @@ -0,0 +1,162 @@ + + + + + diff --git a/uni_modules/qiun-data-charts/components/qiun-loading/loading2.vue b/uni_modules/qiun-data-charts/components/qiun-loading/loading2.vue new file mode 100644 index 0000000..7541b31 --- /dev/null +++ b/uni_modules/qiun-data-charts/components/qiun-loading/loading2.vue @@ -0,0 +1,170 @@ + + + + + diff --git a/uni_modules/qiun-data-charts/components/qiun-loading/loading3.vue b/uni_modules/qiun-data-charts/components/qiun-loading/loading3.vue new file mode 100644 index 0000000..8e14db3 --- /dev/null +++ b/uni_modules/qiun-data-charts/components/qiun-loading/loading3.vue @@ -0,0 +1,173 @@ + + + + + diff --git a/uni_modules/qiun-data-charts/components/qiun-loading/loading4.vue b/uni_modules/qiun-data-charts/components/qiun-loading/loading4.vue new file mode 100644 index 0000000..77c55b7 --- /dev/null +++ b/uni_modules/qiun-data-charts/components/qiun-loading/loading4.vue @@ -0,0 +1,222 @@ + + + + + diff --git a/uni_modules/qiun-data-charts/components/qiun-loading/loading5.vue b/uni_modules/qiun-data-charts/components/qiun-loading/loading5.vue new file mode 100644 index 0000000..cb93a55 --- /dev/null +++ b/uni_modules/qiun-data-charts/components/qiun-loading/loading5.vue @@ -0,0 +1,229 @@ + + + + diff --git a/uni_modules/qiun-data-charts/components/qiun-loading/qiun-loading.vue b/uni_modules/qiun-data-charts/components/qiun-loading/qiun-loading.vue new file mode 100644 index 0000000..7789060 --- /dev/null +++ b/uni_modules/qiun-data-charts/components/qiun-loading/qiun-loading.vue @@ -0,0 +1,36 @@ + + + + + diff --git a/uni_modules/qiun-data-charts/js_sdk/u-charts/config-echarts.js b/uni_modules/qiun-data-charts/js_sdk/u-charts/config-echarts.js new file mode 100644 index 0000000..8d335c1 --- /dev/null +++ b/uni_modules/qiun-data-charts/js_sdk/u-charts/config-echarts.js @@ -0,0 +1,425 @@ +/* + * uCharts® + * 高性能跨平台图表库,支持H5、APP、小程序(微信/支付宝/百度/头条/QQ/360)、Vue、Taro等支持canvas的框架平台 + * Copyright (c) 2021 QIUN®秋云 https://www.ucharts.cn All rights reserved. + * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) + * 复制使用请保留本段注释,感谢支持开源! + * + * uCharts®官方网站 + * https://www.uCharts.cn + * + * 开源地址: + * https://gitee.com/uCharts/uCharts + * + * uni-app插件市场地址: + * http://ext.dcloud.net.cn/plugin?id=271 + * + */ + +// 通用配置项 + +// 主题颜色配置:如每个图表类型需要不同主题,请在对应图表类型上更改color属性 +const color = ['#1890FF', '#91CB74', '#FAC858', '#EE6666', '#73C0DE', '#3CA272', '#FC8452', '#9A60B4', '#ea7ccc']; + +const cfe = { + //demotype为自定义图表类型 + "type": ["pie", "ring", "rose", "funnel", "line", "column", "area", "radar", "gauge","candle","demotype"], + //增加自定义图表类型,如果需要categories,请在这里加入您的图表类型例如最后的"demotype" + "categories": ["line", "column", "area", "radar", "gauge", "candle","demotype"], + //instance为实例变量承载属性,option为eopts承载属性,不要删除 + "instance": {}, + "option": {}, + //下面是自定义format配置,因除H5端外的其他端无法通过props传递函数,只能通过此属性对应下标的方式来替换 + "formatter":{ + "tooltipDemo1":function(res){ + let result = '' + for (let i in res) { + if (i == 0) { + result += res[i].axisValueLabel + '年销售额' + } + let value = '--' + if (res[i].data !== null) { + value = res[i].data + } + // #ifdef H5 + result += '\n' + res[i].seriesName + ':' + value + ' 万元' + // #endif + + // #ifdef APP-PLUS + result += '
    ' + res[i].marker + res[i].seriesName + ':' + value + ' 万元' + // #endif + } + return result; + }, + legendFormat:function(name){ + return "自定义图例+"+name; + }, + "xAxisFormat": function (value) { + return value.substr('2020--'.length, 11) + }, + yAxisFormatDemo:function (value, index) { + return value + '元'; + }, + seriesFormatDemo:function(res){ + return res.name + '年' + res.value + '元'; + } + }, + //这里演示了自定义您的图表类型的option,可以随意命名,之后在组件上 type="demotype" 后,组件会调用这个花括号里的option,如果组件上还存在eopts参数,会将demotype与eopts中option合并后渲染图表。 + "demotype":{ + "color": color, + //在这里填写echarts的option即可 + + }, + //下面是自定义配置,请添加项目所需的通用配置 + "column": { + "color": color, + "title": { + "text": '' + }, + "tooltip": { + "trigger": 'axis' + }, + "grid": { + "top": 30, + "bottom": 50, + "right": 15, + "left": 40 + }, + "legend": { + "bottom": 'left', + }, + "toolbox": { + "show": false, + }, + "xAxis": { + "type": 'category', + "axisLabel": { + "color": '#666666' + }, + "axisLine": { + "lineStyle": { + "color": '#CCCCCC' + } + }, + "boundaryGap": true, + "data": [] + }, + "yAxis": { + "type": 'value', + "axisTick": { + "show": false, + }, + "axisLabel": { + "color": '#666666' + }, + "axisLine": { + "lineStyle": { + "color": '#CCCCCC' + } + }, + }, + "seriesTemplate": { + "name": '', + "type": 'bar', + "data": [], + "barwidth": 20, + "label": { + "show": true, + "color": "#666666", + "position": 'top', + }, + }, + }, + "line": { + "color": color, + "title": { + "text": '' + }, + "tooltip": { + "trigger": 'axis' + }, + "grid": { + "top": 30, + "bottom": 50, + "right": 15, + "left": 40 + }, + "legend": { + "bottom": 'left', + }, + "toolbox": { + "show": false, + }, + "xAxis": { + "type": 'category', + "axisLabel": { + "color": '#666666' + }, + "axisLine": { + "lineStyle": { + "color": '#CCCCCC' + } + }, + "boundaryGap": true, + "data": [] + }, + "yAxis": { + "type": 'value', + "axisTick": { + "show": false, + }, + "axisLabel": { + "color": '#666666' + }, + "axisLine": { + "lineStyle": { + "color": '#CCCCCC' + } + }, + }, + "seriesTemplate": { + "name": '', + "type": 'line', + "data": [], + "barwidth": 20, + "label": { + "show": true, + "color": "#666666", + "position": 'top', + }, + }, + }, + "area": { + "color": color, + "title": { + "text": '' + }, + "tooltip": { + "trigger": 'axis' + }, + "grid": { + "top": 30, + "bottom": 50, + "right": 15, + "left": 40 + }, + "legend": { + "bottom": 'left', + }, + "toolbox": { + "show": false, + }, + "xAxis": { + "type": 'category', + "axisLabel": { + "color": '#666666' + }, + "axisLine": { + "lineStyle": { + "color": '#CCCCCC' + } + }, + "boundaryGap": true, + "data": [] + }, + "yAxis": { + "type": 'value', + "axisTick": { + "show": false, + }, + "axisLabel": { + "color": '#666666' + }, + "axisLine": { + "lineStyle": { + "color": '#CCCCCC' + } + }, + }, + "seriesTemplate": { + "name": '', + "type": 'line', + "data": [], + "areaStyle": {}, + "label": { + "show": true, + "color": "#666666", + "position": 'top', + }, + }, + }, + "pie": { + "color": color, + "title": { + "text": '' + }, + "tooltip": { + "trigger": 'item' + }, + "grid": { + "top": 40, + "bottom": 30, + "right": 15, + "left": 15 + }, + "legend": { + "bottom": 'left', + }, + "seriesTemplate": { + "name": '', + "type": 'pie', + "data": [], + "radius": '50%', + "label": { + "show": true, + "color": "#666666", + "position": 'top', + }, + }, + }, + "ring": { + "color": color, + "title": { + "text": '' + }, + "tooltip": { + "trigger": 'item' + }, + "grid": { + "top": 40, + "bottom": 30, + "right": 15, + "left": 15 + }, + "legend": { + "bottom": 'left', + }, + "seriesTemplate": { + "name": '', + "type": 'pie', + "data": [], + "radius": ['40%', '70%'], + "avoidLabelOverlap": false, + "label": { + "show": true, + "color": "#666666", + "position": 'top', + }, + "labelLine": { + "show": true + }, + }, + }, + "rose": { + "color": color, + "title": { + "text": '' + }, + "tooltip": { + "trigger": 'item' + }, + "legend": { + "top": 'bottom' + }, + "seriesTemplate": { + "name": '', + "type": 'pie', + "data": [], + "radius": "55%", + "center": ['50%', '50%'], + "roseType": 'area', + }, + }, + "funnel": { + "color": color, + "title": { + "text": '' + }, + "tooltip": { + "trigger": 'item', + "formatter": "{b} : {c}%" + }, + "legend": { + "top": 'bottom' + }, + "seriesTemplate": { + "name": '', + "type": 'funnel', + "left": '10%', + "top": 60, + "bottom": 60, + "width": '80%', + "min": 0, + "max": 100, + "minSize": '0%', + "maxSize": '100%', + "sort": 'descending', + "gap": 2, + "label": { + "show": true, + "position": 'inside' + }, + "labelLine": { + "length": 10, + "lineStyle": { + "width": 1, + "type": 'solid' + } + }, + "itemStyle": { + "bordercolor": '#fff', + "borderwidth": 1 + }, + "emphasis": { + "label": { + "fontSize": 20 + } + }, + "data": [], + }, + }, + "gauge": { + "color": color, + "tooltip": { + "formatter": '{a}
    {b} : {c}%' + }, + "seriesTemplate": { + "name": '业务指标', + "type": 'gauge', + "detail": {"formatter": '{value}%'}, + "data": [{"value": 50, "name": '完成率'}] + }, + }, + "candle": { + "xAxis": { + "data": [] + }, + "yAxis": {}, + "color": color, + "title": { + "text": '' + }, + "dataZoom": [{ + "type": 'inside', + "xAxisIndex": [0, 1], + "start": 10, + "end": 100 + }, + { + "show": true, + "xAxisIndex": [0, 1], + "type": 'slider', + "bottom": 10, + "start": 10, + "end": 100 + } + ], + "seriesTemplate": { + "name": '', + "type": 'k', + "data": [], + }, + } +} + +export default cfe; \ No newline at end of file diff --git a/uni_modules/qiun-data-charts/js_sdk/u-charts/config-ucharts.js b/uni_modules/qiun-data-charts/js_sdk/u-charts/config-ucharts.js new file mode 100644 index 0000000..17b28b3 --- /dev/null +++ b/uni_modules/qiun-data-charts/js_sdk/u-charts/config-ucharts.js @@ -0,0 +1,606 @@ +/* + * uCharts® + * 高性能跨平台图表库,支持H5、APP、小程序(微信/支付宝/百度/头条/QQ/360)、Vue、Taro等支持canvas的框架平台 + * Copyright (c) 2021 QIUN®秋云 https://www.ucharts.cn All rights reserved. + * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) + * 复制使用请保留本段注释,感谢支持开源! + * + * uCharts®官方网站 + * https://www.uCharts.cn + * + * 开源地址: + * https://gitee.com/uCharts/uCharts + * + * uni-app插件市场地址: + * http://ext.dcloud.net.cn/plugin?id=271 + * + */ + +// 主题颜色配置:如每个图表类型需要不同主题,请在对应图表类型上更改color属性 +const color = ['#1890FF', '#91CB74', '#FAC858', '#EE6666', '#73C0DE', '#3CA272', '#FC8452', '#9A60B4', '#ea7ccc']; + +//事件转换函数,主要用作格式化x轴为时间轴,根据需求自行修改 +const formatDateTime = (timeStamp, returnType)=>{ + var date = new Date(); + date.setTime(timeStamp * 1000); + var y = date.getFullYear(); + var m = date.getMonth() + 1; + m = m < 10 ? ('0' + m) : m; + var d = date.getDate(); + d = d < 10 ? ('0' + d) : d; + var h = date.getHours(); + h = h < 10 ? ('0' + h) : h; + var minute = date.getMinutes(); + var second = date.getSeconds(); + minute = minute < 10 ? ('0' + minute) : minute; + second = second < 10 ? ('0' + second) : second; + if(returnType == 'full'){return y + '-' + m + '-' + d + ' '+ h +':' + minute + ':' + second;} + if(returnType == 'y-m-d'){return y + '-' + m + '-' + d;} + if(returnType == 'h:m'){return h +':' + minute;} + if(returnType == 'h:m:s'){return h +':' + minute +':' + second;} + return [y, m, d, h, minute, second]; +} + +const cfu = { + //demotype为自定义图表类型,一般不需要自定义图表类型,只需要改根节点上对应的类型即可 + "type":["pie","ring","rose","word","funnel","map","arcbar","line","column","mount","bar","area","radar","gauge","candle","mix","tline","tarea","scatter","bubble","demotype"], + "range":["饼状图","圆环图","玫瑰图","词云图","漏斗图","地图","圆弧进度条","折线图","柱状图","山峰图","条状图","区域图","雷达图","仪表盘","K线图","混合图","时间轴折线","时间轴区域","散点图","气泡图","自定义类型"], + //增加自定义图表类型,如果需要categories,请在这里加入您的图表类型,例如最后的"demotype" + //自定义类型时需要注意"tline","tarea","scatter","bubble"等时间轴(矢量x轴)类图表,没有categories,不需要加入categories + "categories":["line","column","mount","bar","area","radar","gauge","candle","mix","demotype"], + //instance为实例变量承载属性,不要删除 + "instance":{}, + //option为opts及eopts承载属性,不要删除 + "option":{}, + //下面是自定义format配置,因除H5端外的其他端无法通过props传递函数,只能通过此属性对应下标的方式来替换 + "formatter":{ + "yAxisDemo1":function(val, index, opts){return val+'元'}, + "yAxisDemo2":function(val, index, opts){return val.toFixed(2)}, + "xAxisDemo1":function(val, index, opts){return val+'年';}, + "xAxisDemo2":function(val, index, opts){return formatDateTime(val,'h:m')}, + "seriesDemo1":function(val, index, series, opts){return val+'元'}, + "tooltipDemo1":function(item, category, index, opts){ + if(index==0){ + return '随便用'+item.data+'年' + }else{ + return '其他我没改'+item.data+'天' + } + }, + "pieDemo":function(val, index, series, opts){ + if(index !== undefined){ + return series[index].name+':'+series[index].data+'元' + } + }, + }, + //这里演示了自定义您的图表类型的option,可以随意命名,之后在组件上 type="demotype" 后,组件会调用这个花括号里的option,如果组件上还存在opts参数,会将demotype与opts中option合并后渲染图表。 + "demotype":{ + //我这里把曲线图当做了自定义图表类型,您可以根据需要随意指定类型或配置 + "type": "line", + "color": color, + "padding": [15,10,0,15], + "xAxis": { + "disableGrid": true, + }, + "yAxis": { + "gridType": "dash", + "dashLength": 2, + }, + "legend": { + }, + "extra": { + "line": { + "type": "curve", + "width": 2 + }, + } + }, + //下面是自定义配置,请添加项目所需的通用配置 + "pie":{ + "type": "pie", + "color": color, + "padding": [5,5,5,5], + "extra": { + "pie": { + "activeOpacity": 0.5, + "activeRadius": 10, + "offsetAngle": 0, + "labelWidth": 15, + "border": true, + "borderWidth": 3, + "borderColor": "#FFFFFF" + }, + } + }, + "ring":{ + "type": "ring", + "color": color, + "padding": [5,5,5,5], + "rotate": false, + "dataLabel": true, + "legend": { + "show": true, + "position": "right", + "lineHeight": 25, + }, + "title": { + "name": "收益率", + "fontSize": 15, + "color": "#666666" + }, + "subtitle": { + "name": "70%", + "fontSize": 25, + "color": "#7cb5ec" + }, + "extra": { + "ring": { + "ringWidth":30, + "activeOpacity": 0.5, + "activeRadius": 10, + "offsetAngle": 0, + "labelWidth": 15, + "border": true, + "borderWidth": 3, + "borderColor": "#FFFFFF" + }, + }, + }, + "rose":{ + "type": "rose", + "color": color, + "padding": [5,5,5,5], + "legend": { + "show": true, + "position": "left", + "lineHeight": 25, + }, + "extra": { + "rose": { + "type": "area", + "minRadius": 50, + "activeOpacity": 0.5, + "activeRadius": 10, + "offsetAngle": 0, + "labelWidth": 15, + "border": false, + "borderWidth": 2, + "borderColor": "#FFFFFF" + }, + } + }, + "word":{ + "type": "word", + "color": color, + "extra": { + "word": { + "type": "normal", + "autoColors": false + } + } + }, + "funnel":{ + "type": "funnel", + "color": color, + "padding": [15,15,0,15], + "extra": { + "funnel": { + "activeOpacity": 0.3, + "activeWidth": 10, + "border": true, + "borderWidth": 2, + "borderColor": "#FFFFFF", + "fillOpacity": 1, + "labelAlign": "right" + }, + } + }, + "map":{ + "type": "map", + "color": color, + "padding": [0,0,0,0], + "dataLabel": true, + "extra": { + "map": { + "border": true, + "borderWidth": 1, + "borderColor": "#666666", + "fillOpacity": 0.6, + "activeBorderColor": "#F04864", + "activeFillColor": "#FACC14", + "activeFillOpacity": 1 + }, + } + }, + "arcbar":{ + "type": "arcbar", + "color": color, + "title": { + "name": "百分比", + "fontSize": 25, + "color": "#00FF00" + }, + "subtitle": { + "name": "默认标题", + "fontSize": 15, + "color": "#666666" + }, + "extra": { + "arcbar": { + "type": "default", + "width": 12, + "backgroundColor": "#E9E9E9", + "startAngle": 0.75, + "endAngle": 0.25, + "gap": 2 + } + } + }, + "line":{ + "type": "line", + "color": color, + "padding": [15,10,0,15], + "xAxis": { + "disableGrid": true, + }, + "yAxis": { + "gridType": "dash", + "dashLength": 2, + }, + "legend": { + }, + "extra": { + "line": { + "type": "straight", + "width": 2, + "activeType": "hollow" + }, + } + }, + "tline":{ + "type": "line", + "color": color, + "padding": [15,10,0,15], + "xAxis": { + "disableGrid": false, + "boundaryGap":"justify", + }, + "yAxis": { + "gridType": "dash", + "dashLength": 2, + "data":[ + { + "min":0, + "max":80 + } + ] + }, + "legend": { + }, + "extra": { + "line": { + "type": "curve", + "width": 2, + "activeType": "hollow" + }, + } + }, + "tarea":{ + "type": "area", + "color": color, + "padding": [15,10,0,15], + "xAxis": { + "disableGrid": true, + "boundaryGap":"justify", + }, + "yAxis": { + "gridType": "dash", + "dashLength": 2, + "data":[ + { + "min":0, + "max":80 + } + ] + }, + "legend": { + }, + "extra": { + "area": { + "type": "curve", + "opacity": 0.2, + "addLine": true, + "width": 2, + "gradient": true, + "activeType": "hollow" + }, + } + }, + "column":{ + "type": "column", + "color": color, + "padding": [15,15,0,5], + "xAxis": { + "disableGrid": true, + }, + "yAxis": { + "data":[{"min":0}] + }, + "legend": { + }, + "extra": { + "column": { + "type": "group", + "width": 30, + "activeBgColor": "#000000", + "activeBgOpacity": 0.08 + }, + } + }, + "mount":{ + "type": "mount", + "color": color, + "padding": [15,15,0,5], + "xAxis": { + "disableGrid": true, + }, + "yAxis": { + "data":[{"min":0}] + }, + "legend": { + }, + "extra": { + "mount": { + "type": "mount", + "widthRatio": 1.5, + }, + } + }, + "bar":{ + "type": "bar", + "color": color, + "padding": [15,30,0,5], + "xAxis": { + "boundaryGap":"justify", + "disableGrid":false, + "min":0, + "axisLine":false + }, + "yAxis": { + }, + "legend": { + }, + "extra": { + "bar": { + "type": "group", + "width": 30, + "meterBorde": 1, + "meterFillColor": "#FFFFFF", + "activeBgColor": "#000000", + "activeBgOpacity": 0.08 + }, + } + }, + "area":{ + "type": "area", + "color": color, + "padding": [15,15,0,15], + "xAxis": { + "disableGrid": true, + }, + "yAxis": { + "gridType": "dash", + "dashLength": 2, + }, + "legend": { + }, + "extra": { + "area": { + "type": "straight", + "opacity": 0.2, + "addLine": true, + "width": 2, + "gradient": false, + "activeType": "hollow" + }, + } + }, + "radar":{ + "type": "radar", + "color": color, + "padding": [5,5,5,5], + "dataLabel": false, + "legend": { + "show": true, + "position": "right", + "lineHeight": 25, + }, + "extra": { + "radar": { + "gridType": "radar", + "gridColor": "#CCCCCC", + "gridCount": 3, + "opacity": 0.2, + "max": 200, + "labelShow": true + }, + } + }, + "gauge":{ + "type": "gauge", + "color": color, + "title": { + "name": "66Km/H", + "fontSize": 25, + "color": "#2fc25b", + "offsetY": 50 + }, + "subtitle": { + "name": "实时速度", + "fontSize": 15, + "color": "#1890ff", + "offsetY": -50 + }, + "extra": { + "gauge": { + "type": "default", + "width": 30, + "labelColor": "#666666", + "startAngle": 0.75, + "endAngle": 0.25, + "startNumber": 0, + "endNumber": 100, + "labelFormat": "", + "splitLine": { + "fixRadius": 0, + "splitNumber": 10, + "width": 30, + "color": "#FFFFFF", + "childNumber": 5, + "childWidth": 12 + }, + "pointer": { + "width": 24, + "color": "auto" + } + } + } + }, + "candle":{ + "type": "candle", + "color": color, + "padding": [15,15,0,15], + "enableScroll": true, + "enableMarkLine": true, + "dataLabel": false, + "xAxis": { + "labelCount": 4, + "itemCount": 40, + "disableGrid": true, + "gridColor": "#CCCCCC", + "gridType": "solid", + "dashLength": 4, + "scrollShow": true, + "scrollAlign": "left", + "scrollColor": "#A6A6A6", + "scrollBackgroundColor": "#EFEBEF" + }, + "yAxis": { + }, + "legend": { + }, + "extra": { + "candle": { + "color": { + "upLine": "#f04864", + "upFill": "#f04864", + "downLine": "#2fc25b", + "downFill": "#2fc25b" + }, + "average": { + "show": true, + "name": ["MA5","MA10","MA30"], + "day": [5,10,20], + "color": ["#1890ff","#2fc25b","#facc14"] + } + }, + "markLine": { + "type": "dash", + "dashLength": 5, + "data": [ + { + "value": 2150, + "lineColor": "#f04864", + "showLabel": true + }, + { + "value": 2350, + "lineColor": "#f04864", + "showLabel": true + } + ] + } + } + }, + "mix":{ + "type": "mix", + "color": color, + "padding": [15,15,0,15], + "xAxis": { + "disableGrid": true, + }, + "yAxis": { + "disabled": false, + "disableGrid": false, + "splitNumber": 5, + "gridType": "dash", + "dashLength": 4, + "gridColor": "#CCCCCC", + "padding": 10, + "showTitle": true, + "data": [] + }, + "legend": { + }, + "extra": { + "mix": { + "column": { + "width": 20 + } + }, + } + }, + "scatter":{ + "type": "scatter", + "color":color, + "padding":[15,15,0,15], + "dataLabel":false, + "xAxis": { + "disableGrid": false, + "gridType":"dash", + "splitNumber":5, + "boundaryGap":"justify", + "min":0 + }, + "yAxis": { + "disableGrid": false, + "gridType":"dash", + }, + "legend": { + }, + "extra": { + "scatter": { + }, + } + }, + "bubble":{ + "type": "bubble", + "color":color, + "padding":[15,15,0,15], + "xAxis": { + "disableGrid": false, + "gridType":"dash", + "splitNumber":5, + "boundaryGap":"justify", + "min":0, + "max":250 + }, + "yAxis": { + "disableGrid": false, + "gridType":"dash", + "data":[{ + "min":0, + "max":150 + }] + }, + "legend": { + }, + "extra": { + "bubble": { + "border":2, + "opacity": 0.5, + }, + } + } +} + +export default cfu; \ No newline at end of file diff --git a/uni_modules/qiun-data-charts/js_sdk/u-charts/readme.md b/uni_modules/qiun-data-charts/js_sdk/u-charts/readme.md new file mode 100644 index 0000000..d307ba3 --- /dev/null +++ b/uni_modules/qiun-data-charts/js_sdk/u-charts/readme.md @@ -0,0 +1,5 @@ +# uCharts JSSDK说明 +1、如不使用uCharts组件,可直接引用u-charts.js,打包编译后会`自动压缩`,压缩后体积约为`120kb`。 +2、如果120kb的体积仍需压缩,请手到uCharts官网通过在线定制选择您需要的图表。 +3、config-ucharts.js为uCharts组件的用户配置文件,升级前请`自行备份config-ucharts.js`文件,以免被强制覆盖。 +4、config-echarts.js为ECharts组件的用户配置文件,升级前请`自行备份config-echarts.js`文件,以免被强制覆盖。 \ No newline at end of file diff --git a/uni_modules/qiun-data-charts/js_sdk/u-charts/u-charts.js b/uni_modules/qiun-data-charts/js_sdk/u-charts/u-charts.js new file mode 100644 index 0000000..f78bde5 --- /dev/null +++ b/uni_modules/qiun-data-charts/js_sdk/u-charts/u-charts.js @@ -0,0 +1,7706 @@ +/* + * uCharts (R) + * 高性能跨平台图表库,支持H5、APP、小程序(微信/支付宝/百度/头条/QQ/360/快手)、Vue、Taro等支持canvas的框架平台 + * Copyright (C) 2018-2022 QIUN (R) 秋云 https://www.ucharts.cn All rights reserved. + * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) + * 复制使用请保留本段注释,感谢支持开源! + * + * uCharts (R) 官方网站 + * https://www.uCharts.cn + * + * 开源地址: + * https://gitee.com/uCharts/uCharts + * + * uni-app插件市场地址: + * http://ext.dcloud.net.cn/plugin?id=271 + * + */ + +'use strict'; + +var config = { + version: 'v2.5.0-20230101', + yAxisWidth: 15, + xAxisHeight: 22, + padding: [10, 10, 10, 10], + rotate: false, + fontSize: 13, + fontColor: '#666666', + dataPointShape: ['circle', 'circle', 'circle', 'circle'], + color: ['#1890FF', '#91CB74', '#FAC858', '#EE6666', '#73C0DE', '#3CA272', '#FC8452', '#9A60B4', '#ea7ccc'], + linearColor: ['#0EE2F8', '#2BDCA8', '#FA7D8D', '#EB88E2', '#2AE3A0', '#0EE2F8', '#EB88E2', '#6773E3', '#F78A85'], + pieChartLinePadding: 15, + pieChartTextPadding: 5, + titleFontSize: 20, + subtitleFontSize: 15, + radarLabelTextMargin: 13, +}; + +var assign = function(target, ...varArgs) { + if (target == null) { + throw new TypeError('[uCharts] Cannot convert undefined or null to object'); + } + if (!varArgs || varArgs.length <= 0) { + return target; + } + // 深度合并对象 + function deepAssign(obj1, obj2) { + for (let key in obj2) { + obj1[key] = obj1[key] && obj1[key].toString() === "[object Object]" ? + deepAssign(obj1[key], obj2[key]) : obj1[key] = obj2[key]; + } + return obj1; + } + varArgs.forEach(val => { + target = deepAssign(target, val); + }); + return target; +}; + +var util = { + toFixed: function toFixed(num, limit) { + limit = limit || 2; + if (this.isFloat(num)) { + num = num.toFixed(limit); + } + return num; + }, + isFloat: function isFloat(num) { + return num % 1 !== 0; + }, + approximatelyEqual: function approximatelyEqual(num1, num2) { + return Math.abs(num1 - num2) < 1e-10; + }, + isSameSign: function isSameSign(num1, num2) { + return Math.abs(num1) === num1 && Math.abs(num2) === num2 || Math.abs(num1) !== num1 && Math.abs(num2) !== num2; + }, + isSameXCoordinateArea: function isSameXCoordinateArea(p1, p2) { + return this.isSameSign(p1.x, p2.x); + }, + isCollision: function isCollision(obj1, obj2) { + obj1.end = {}; + obj1.end.x = obj1.start.x + obj1.width; + obj1.end.y = obj1.start.y - obj1.height; + obj2.end = {}; + obj2.end.x = obj2.start.x + obj2.width; + obj2.end.y = obj2.start.y - obj2.height; + var flag = obj2.start.x > obj1.end.x || obj2.end.x < obj1.start.x || obj2.end.y > obj1.start.y || obj2.start.y < obj1.end.y; + return !flag; + } +}; + +//兼容H5点击事件 +function getH5Offset(e) { + e.mp = { + changedTouches: [] + }; + e.mp.changedTouches.push({ + x: e.offsetX, + y: e.offsetY + }); + return e; +} + +// hex 转 rgba +function hexToRgb(hexValue, opc) { + var rgx = /^#?([a-f\d])([a-f\d])([a-f\d])$/i; + var hex = hexValue.replace(rgx, function(m, r, g, b) { + return r + r + g + g + b + b; + }); + var rgb = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); + var r = parseInt(rgb[1], 16); + var g = parseInt(rgb[2], 16); + var b = parseInt(rgb[3], 16); + return 'rgba(' + r + ',' + g + ',' + b + ',' + opc + ')'; +} + +function findRange(num, type, limit) { + if (isNaN(num)) { + throw new Error('[uCharts] series数据需为Number格式'); + } + limit = limit || 10; + type = type ? type : 'upper'; + var multiple = 1; + while (limit < 1) { + limit *= 10; + multiple *= 10; + } + if (type === 'upper') { + num = Math.ceil(num * multiple); + } else { + num = Math.floor(num * multiple); + } + while (num % limit !== 0) { + if (type === 'upper') { + if (num == num + 1) { //修复数据值过大num++无效的bug by 向日葵 @xrk_jy + break; + } + num++; + } else { + num--; + } + } + return num / multiple; +} + +function calCandleMA(dayArr, nameArr, colorArr, kdata) { + let seriesTemp = []; + for (let k = 0; k < dayArr.length; k++) { + let seriesItem = { + data: [], + name: nameArr[k], + color: colorArr[k] + }; + for (let i = 0, len = kdata.length; i < len; i++) { + if (i < dayArr[k]) { + seriesItem.data.push(null); + continue; + } + let sum = 0; + for (let j = 0; j < dayArr[k]; j++) { + sum += kdata[i - j][1]; + } + seriesItem.data.push(+(sum / dayArr[k]).toFixed(3)); + } + seriesTemp.push(seriesItem); + } + return seriesTemp; +} + +function calValidDistance(self, distance, chartData, config, opts) { + var dataChartAreaWidth = opts.width - opts.area[1] - opts.area[3]; + var dataChartWidth = chartData.eachSpacing * (opts.chartData.xAxisData.xAxisPoints.length - 1); + if(opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1){ + if(opts.extra.mount.widthRatio>2) opts.extra.mount.widthRatio = 2 + dataChartWidth += (opts.extra.mount.widthRatio - 1)*chartData.eachSpacing; + } + var validDistance = distance; + if (distance >= 0) { + validDistance = 0; + self.uevent.trigger('scrollLeft'); + self.scrollOption.position = 'left' + opts.xAxis.scrollPosition = 'left'; + } else if (Math.abs(distance) >= dataChartWidth - dataChartAreaWidth) { + validDistance = dataChartAreaWidth - dataChartWidth; + self.uevent.trigger('scrollRight'); + self.scrollOption.position = 'right' + opts.xAxis.scrollPosition = 'right'; + } else { + self.scrollOption.position = distance + opts.xAxis.scrollPosition = distance; + } + return validDistance; +} + +function isInAngleRange(angle, startAngle, endAngle) { + function adjust(angle) { + while (angle < 0) { + angle += 2 * Math.PI; + } + while (angle > 2 * Math.PI) { + angle -= 2 * Math.PI; + } + return angle; + } + angle = adjust(angle); + startAngle = adjust(startAngle); + endAngle = adjust(endAngle); + if (startAngle > endAngle) { + endAngle += 2 * Math.PI; + if (angle < startAngle) { + angle += 2 * Math.PI; + } + } + return angle >= startAngle && angle <= endAngle; +} + +function createCurveControlPoints(points, i) { + function isNotMiddlePoint(points, i) { + if (points[i - 1] && points[i + 1]) { + return points[i].y >= Math.max(points[i - 1].y, points[i + 1].y) || points[i].y <= Math.min(points[i - 1].y, + points[i + 1].y); + } else { + return false; + } + } + function isNotMiddlePointX(points, i) { + if (points[i - 1] && points[i + 1]) { + return points[i].x >= Math.max(points[i - 1].x, points[i + 1].x) || points[i].x <= Math.min(points[i - 1].x, + points[i + 1].x); + } else { + return false; + } + } + var a = 0.2; + var b = 0.2; + var pAx = null; + var pAy = null; + var pBx = null; + var pBy = null; + if (i < 1) { + pAx = points[0].x + (points[1].x - points[0].x) * a; + pAy = points[0].y + (points[1].y - points[0].y) * a; + } else { + pAx = points[i].x + (points[i + 1].x - points[i - 1].x) * a; + pAy = points[i].y + (points[i + 1].y - points[i - 1].y) * a; + } + + if (i > points.length - 3) { + var last = points.length - 1; + pBx = points[last].x - (points[last].x - points[last - 1].x) * b; + pBy = points[last].y - (points[last].y - points[last - 1].y) * b; + } else { + pBx = points[i + 1].x - (points[i + 2].x - points[i].x) * b; + pBy = points[i + 1].y - (points[i + 2].y - points[i].y) * b; + } + if (isNotMiddlePoint(points, i + 1)) { + pBy = points[i + 1].y; + } + if (isNotMiddlePoint(points, i)) { + pAy = points[i].y; + } + if (isNotMiddlePointX(points, i + 1)) { + pBx = points[i + 1].x; + } + if (isNotMiddlePointX(points, i)) { + pAx = points[i].x; + } + if (pAy >= Math.max(points[i].y, points[i + 1].y) || pAy <= Math.min(points[i].y, points[i + 1].y)) { + pAy = points[i].y; + } + if (pBy >= Math.max(points[i].y, points[i + 1].y) || pBy <= Math.min(points[i].y, points[i + 1].y)) { + pBy = points[i + 1].y; + } + if (pAx >= Math.max(points[i].x, points[i + 1].x) || pAx <= Math.min(points[i].x, points[i + 1].x)) { + pAx = points[i].x; + } + if (pBx >= Math.max(points[i].x, points[i + 1].x) || pBx <= Math.min(points[i].x, points[i + 1].x)) { + pBx = points[i + 1].x; + } + return { + ctrA: { + x: pAx, + y: pAy + }, + ctrB: { + x: pBx, + y: pBy + } + }; +} + + +function convertCoordinateOrigin(x, y, center) { + return { + x: center.x + x, + y: center.y - y + }; +} + +function avoidCollision(obj, target) { + if (target) { + // is collision test + while (util.isCollision(obj, target)) { + if (obj.start.x > 0) { + obj.start.y--; + } else if (obj.start.x < 0) { + obj.start.y++; + } else { + if (obj.start.y > 0) { + obj.start.y++; + } else { + obj.start.y--; + } + } + } + } + return obj; +} + +function fixPieSeries(series, opts, config){ + let pieSeriesArr = []; + if(series.length>0 && series[0].data.constructor.toString().indexOf('Array') > -1){ + opts._pieSeries_ = series; + let oldseries = series[0].data; + for (var i = 0; i < oldseries.length; i++) { + oldseries[i].formatter = series[0].formatter; + oldseries[i].data = oldseries[i].value; + pieSeriesArr.push(oldseries[i]); + } + opts.series = pieSeriesArr; + }else{ + pieSeriesArr = series; + } + return pieSeriesArr; +} + +function fillSeries(series, opts, config) { + var index = 0; + for (var i = 0; i < series.length; i++) { + let item = series[i]; + if (!item.color) { + item.color = config.color[index]; + index = (index + 1) % config.color.length; + } + if (!item.linearIndex) { + item.linearIndex = i; + } + if (!item.index) { + item.index = 0; + } + if (!item.type) { + item.type = opts.type; + } + if (typeof item.show == "undefined") { + item.show = true; + } + if (!item.type) { + item.type = opts.type; + } + if (!item.pointShape) { + item.pointShape = "circle"; + } + if (!item.legendShape) { + switch (item.type) { + case 'line': + item.legendShape = "line"; + break; + case 'column': + case 'bar': + item.legendShape = "rect"; + break; + case 'area': + case 'mount': + item.legendShape = "triangle"; + break; + default: + item.legendShape = "circle"; + } + } + } + return series; +} + +function fillCustomColor(linearType, customColor, series, config) { + var newcolor = customColor || []; + if (linearType == 'custom' && newcolor.length == 0 ) { + newcolor = config.linearColor; + } + if (linearType == 'custom' && newcolor.length < series.length) { + let chazhi = series.length - newcolor.length; + for (var i = 0; i < chazhi; i++) { + newcolor.push(config.linearColor[(i + 1) % config.linearColor.length]); + } + } + return newcolor; +} + +function getDataRange(minData, maxData) { + var limit = 0; + var range = maxData - minData; + if (range >= 10000) { + limit = 1000; + } else if (range >= 1000) { + limit = 100; + } else if (range >= 100) { + limit = 10; + } else if (range >= 10) { + limit = 5; + } else if (range >= 1) { + limit = 1; + } else if (range >= 0.1) { + limit = 0.1; + } else if (range >= 0.01) { + limit = 0.01; + } else if (range >= 0.001) { + limit = 0.001; + } else if (range >= 0.0001) { + limit = 0.0001; + } else if (range >= 0.00001) { + limit = 0.00001; + } else { + limit = 0.000001; + } + return { + minRange: findRange(minData, 'lower', limit), + maxRange: findRange(maxData, 'upper', limit) + }; +} + +function measureText(text, fontSize, context) { + var width = 0; + text = String(text); + // #ifdef MP-ALIPAY || MP-BAIDU || APP-NVUE + context = false; + // #endif + if (context !== false && context !== undefined && context.setFontSize && context.measureText) { + context.setFontSize(fontSize); + return context.measureText(text).width; + } else { + var text = text.split(''); + for (let i = 0; i < text.length; i++) { + let item = text[i]; + if (/[a-zA-Z]/.test(item)) { + width += 7; + } else if (/[0-9]/.test(item)) { + width += 5.5; + } else if (/\./.test(item)) { + width += 2.7; + } else if (/-/.test(item)) { + width += 3.25; + } else if (/:/.test(item)) { + width += 2.5; + } else if (/[\u4e00-\u9fa5]/.test(item)) { + width += 10; + } else if (/\(|\)/.test(item)) { + width += 3.73; + } else if (/\s/.test(item)) { + width += 2.5; + } else if (/%/.test(item)) { + width += 8; + } else { + width += 10; + } + } + return width * fontSize / 10; + } +} + +function dataCombine(series) { + return series.reduce(function(a, b) { + return (a.data ? a.data : a).concat(b.data); + }, []); +} + +function dataCombineStack(series, len) { + var sum = new Array(len); + for (var j = 0; j < sum.length; j++) { + sum[j] = 0; + } + for (var i = 0; i < series.length; i++) { + for (var j = 0; j < sum.length; j++) { + sum[j] += series[i].data[j]; + } + } + return series.reduce(function(a, b) { + return (a.data ? a.data : a).concat(b.data).concat(sum); + }, []); +} + +function getTouches(touches, opts, e) { + let x, y; + if (touches.clientX) { + if (opts.rotate) { + y = opts.height - touches.clientX * opts.pix; + x = (touches.pageY - e.currentTarget.offsetTop - (opts.height / opts.pix / 2) * (opts.pix - 1)) * opts.pix; + } else { + x = touches.clientX * opts.pix; + y = (touches.pageY - e.currentTarget.offsetTop - (opts.height / opts.pix / 2) * (opts.pix - 1)) * opts.pix; + } + } else { + if (opts.rotate) { + y = opts.height - touches.x * opts.pix; + x = touches.y * opts.pix; + } else { + x = touches.x * opts.pix; + y = touches.y * opts.pix; + } + } + return { + x: x, + y: y + } +} + +function getSeriesDataItem(series, index, group) { + var data = []; + var newSeries = []; + var indexIsArr = index.constructor.toString().indexOf('Array') > -1; + if(indexIsArr){ + let tempSeries = filterSeries(series); + for (var i = 0; i < group.length; i++) { + newSeries.push(tempSeries[group[i]]); + } + }else{ + newSeries = series; + }; + for (let i = 0; i < newSeries.length; i++) { + let item = newSeries[i]; + let tmpindex = -1; + if(indexIsArr){ + tmpindex = index[i]; + }else{ + tmpindex = index; + } + if (item.data[tmpindex] !== null && typeof item.data[tmpindex] !== 'undefined' && item.show) { + let seriesItem = {}; + seriesItem.color = item.color; + seriesItem.type = item.type; + seriesItem.style = item.style; + seriesItem.pointShape = item.pointShape; + seriesItem.disableLegend = item.disableLegend; + seriesItem.legendShape = item.legendShape; + seriesItem.name = item.name; + seriesItem.show = item.show; + seriesItem.data = item.formatter ? item.formatter(item.data[tmpindex]) : item.data[tmpindex]; + data.push(seriesItem); + } + } + return data; +} + +function getMaxTextListLength(list, fontSize, context) { + var lengthList = list.map(function(item) { + return measureText(item, fontSize, context); + }); + return Math.max.apply(null, lengthList); +} + +function getRadarCoordinateSeries(length) { + var eachAngle = 2 * Math.PI / length; + var CoordinateSeries = []; + for (var i = 0; i < length; i++) { + CoordinateSeries.push(eachAngle * i); + } + return CoordinateSeries.map(function(item) { + return -1 * item + Math.PI / 2; + }); +} + +function getToolTipData(seriesData, opts, index, group, categories) { + var option = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {}; + var calPoints = opts.chartData.calPoints?opts.chartData.calPoints:[]; + let points = {}; + if(group.length > 0){ + let filterPoints = []; + for (let i = 0; i < group.length; i++) { + filterPoints.push(calPoints[group[i]]) + } + points = filterPoints[0][index[0]]; + }else{ + for (let i = 0; i < calPoints.length; i++) { + if(calPoints[i][index]){ + points = calPoints[i][index]; + break; + } + } + }; + var textList = seriesData.map(function(item) { + let titleText = null; + if (opts.categories && opts.categories.length>0) { + titleText = categories[index]; + }; + return { + text: option.formatter ? option.formatter(item, titleText, index, opts) : item.name + ': ' + item.data, + color: item.color, + legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape + }; + }); + var offset = { + x: Math.round(points.x), + y: Math.round(points.y) + }; + return { + textList: textList, + offset: offset + }; +} + +function getMixToolTipData(seriesData, opts, index, categories) { + var option = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {}; + var points = opts.chartData.xAxisPoints[index] + opts.chartData.eachSpacing / 2; + var textList = seriesData.map(function(item) { + return { + text: option.formatter ? option.formatter(item, categories[index], index, opts) : item.name + ': ' + item.data, + color: item.color, + disableLegend: item.disableLegend ? true : false, + legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape + }; + }); + textList = textList.filter(function(item) { + if (item.disableLegend !== true) { + return item; + } + }); + var offset = { + x: Math.round(points), + y: 0 + }; + return { + textList: textList, + offset: offset + }; +} + +function getCandleToolTipData(series, seriesData, opts, index, categories, extra) { + var option = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : {}; + var calPoints = opts.chartData.calPoints; + let upColor = extra.color.upFill; + let downColor = extra.color.downFill; + //颜色顺序为开盘,收盘,最低,最高 + let color = [upColor, upColor, downColor, upColor]; + var textList = []; + seriesData.map(function(item) { + if (index == 0) { + if (item.data[1] - item.data[0] < 0) { + color[1] = downColor; + } else { + color[1] = upColor; + } + } else { + if (item.data[0] < series[index - 1][1]) { + color[0] = downColor; + } + if (item.data[1] < item.data[0]) { + color[1] = downColor; + } + if (item.data[2] > series[index - 1][1]) { + color[2] = upColor; + } + if (item.data[3] < series[index - 1][1]) { + color[3] = downColor; + } + } + let text1 = { + text: '开盘:' + item.data[0], + color: color[0], + legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape + }; + let text2 = { + text: '收盘:' + item.data[1], + color: color[1], + legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape + }; + let text3 = { + text: '最低:' + item.data[2], + color: color[2], + legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape + }; + let text4 = { + text: '最高:' + item.data[3], + color: color[3], + legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape + }; + textList.push(text1, text2, text3, text4); + }); + var validCalPoints = []; + var offset = { + x: 0, + y: 0 + }; + for (let i = 0; i < calPoints.length; i++) { + let points = calPoints[i]; + if (typeof points[index] !== 'undefined' && points[index] !== null) { + validCalPoints.push(points[index]); + } + } + offset.x = Math.round(validCalPoints[0][0].x); + return { + textList: textList, + offset: offset + }; +} + +function filterSeries(series) { + let tempSeries = []; + for (let i = 0; i < series.length; i++) { + if (series[i].show == true) { + tempSeries.push(series[i]) + } + } + return tempSeries; +} + +function findCurrentIndex(currentPoints, calPoints, opts, config) { + var offset = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0; + var current={ index:-1, group:[] }; + var spacing = opts.chartData.eachSpacing / 2; + let xAxisPoints = []; + if (calPoints && calPoints.length > 0) { + if (!opts.categories) { + spacing = 0; + }else{ + for (let i = 1; i < opts.chartData.xAxisPoints.length; i++) { + xAxisPoints.push(opts.chartData.xAxisPoints[i] - spacing); + } + if ((opts.type == 'line' || opts.type == 'area') && opts.xAxis.boundaryGap == 'justify') { + xAxisPoints = opts.chartData.xAxisPoints; + } + } + if (isInExactChartArea(currentPoints, opts, config)) { + if (!opts.categories) { + let timePoints = Array(calPoints.length); + for (let i = 0; i < calPoints.length; i++) { + timePoints[i] = Array(calPoints[i].length) + for (let j = 0; j < calPoints[i].length; j++) { + timePoints[i][j] = (Math.abs(calPoints[i][j].x - currentPoints.x)); + } + }; + let pointValue = Array(timePoints.length); + let pointIndex = Array(timePoints.length); + for (let i = 0; i < timePoints.length; i++) { + pointValue[i] = Math.min.apply(null, timePoints[i]); + pointIndex[i] = timePoints[i].indexOf(pointValue[i]); + } + let minValue = Math.min.apply(null, pointValue); + current.index = []; + for (let i = 0; i < pointValue.length; i++) { + if(pointValue[i] == minValue){ + current.group.push(i); + current.index.push(pointIndex[i]); + } + }; + }else{ + xAxisPoints.forEach(function(item, index) { + if (currentPoints.x + offset + spacing > item) { + current.index = index; + } + }); + } + } + } + return current; +} + +function findBarChartCurrentIndex(currentPoints, calPoints, opts, config) { + var offset = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0; + var current={ index:-1, group:[] }; + var spacing = opts.chartData.eachSpacing / 2; + let yAxisPoints = opts.chartData.yAxisPoints; + if (calPoints && calPoints.length > 0) { + if (isInExactChartArea(currentPoints, opts, config)) { + yAxisPoints.forEach(function(item, index) { + if (currentPoints.y + offset + spacing > item) { + current.index = index; + } + }); + } + } + return current; +} + +function findLegendIndex(currentPoints, legendData, opts) { + let currentIndex = -1; + let gap = 0; + if (isInExactLegendArea(currentPoints, legendData.area)) { + let points = legendData.points; + let index = -1; + for (let i = 0, len = points.length; i < len; i++) { + let item = points[i]; + for (let j = 0; j < item.length; j++) { + index += 1; + let area = item[j]['area']; + if (area && currentPoints.x > area[0] - gap && currentPoints.x < area[2] + gap && currentPoints.y > area[1] - gap && currentPoints.y < area[3] + gap) { + currentIndex = index; + break; + } + } + } + return currentIndex; + } + return currentIndex; +} + +function isInExactLegendArea(currentPoints, area) { + return currentPoints.x > area.start.x && currentPoints.x < area.end.x && currentPoints.y > area.start.y && currentPoints.y < area.end.y; +} + +function isInExactChartArea(currentPoints, opts, config) { + return currentPoints.x <= opts.width - opts.area[1] + 10 && currentPoints.x >= opts.area[3] - 10 && currentPoints.y >= opts.area[0] && currentPoints.y <= opts.height - opts.area[2]; +} + +function findRadarChartCurrentIndex(currentPoints, radarData, count) { + var eachAngleArea = 2 * Math.PI / count; + var currentIndex = -1; + if (isInExactPieChartArea(currentPoints, radarData.center, radarData.radius)) { + var fixAngle = function fixAngle(angle) { + if (angle < 0) { + angle += 2 * Math.PI; + } + if (angle > 2 * Math.PI) { + angle -= 2 * Math.PI; + } + return angle; + }; + var angle = Math.atan2(radarData.center.y - currentPoints.y, currentPoints.x - radarData.center.x); + angle = -1 * angle; + if (angle < 0) { + angle += 2 * Math.PI; + } + var angleList = radarData.angleList.map(function(item) { + item = fixAngle(-1 * item); + return item; + }); + angleList.forEach(function(item, index) { + var rangeStart = fixAngle(item - eachAngleArea / 2); + var rangeEnd = fixAngle(item + eachAngleArea / 2); + if (rangeEnd < rangeStart) { + rangeEnd += 2 * Math.PI; + } + if (angle >= rangeStart && angle <= rangeEnd || angle + 2 * Math.PI >= rangeStart && angle + 2 * Math.PI <= rangeEnd) { + currentIndex = index; + } + }); + } + return currentIndex; +} + +function findFunnelChartCurrentIndex(currentPoints, funnelData) { + var currentIndex = -1; + for (var i = 0, len = funnelData.series.length; i < len; i++) { + var item = funnelData.series[i]; + if (currentPoints.x > item.funnelArea[0] && currentPoints.x < item.funnelArea[2] && currentPoints.y > item.funnelArea[1] && currentPoints.y < item.funnelArea[3]) { + currentIndex = i; + break; + } + } + return currentIndex; +} + +function findWordChartCurrentIndex(currentPoints, wordData) { + var currentIndex = -1; + for (var i = 0, len = wordData.length; i < len; i++) { + var item = wordData[i]; + if (currentPoints.x > item.area[0] && currentPoints.x < item.area[2] && currentPoints.y > item.area[1] && currentPoints.y < item.area[3]) { + currentIndex = i; + break; + } + } + return currentIndex; +} + +function findMapChartCurrentIndex(currentPoints, opts) { + var currentIndex = -1; + var cData = opts.chartData.mapData; + var data = opts.series; + var tmp = pointToCoordinate(currentPoints.y, currentPoints.x, cData.bounds, cData.scale, cData.xoffset, cData.yoffset); + var poi = [tmp.x, tmp.y]; + for (var i = 0, len = data.length; i < len; i++) { + var item = data[i].geometry.coordinates; + if (isPoiWithinPoly(poi, item, opts.chartData.mapData.mercator)) { + currentIndex = i; + break; + } + } + return currentIndex; +} + +function findRoseChartCurrentIndex(currentPoints, pieData, opts) { + var currentIndex = -1; + var series = getRoseDataPoints(opts._series_, opts.extra.rose.type, pieData.radius, pieData.radius); + if (pieData && pieData.center && isInExactPieChartArea(currentPoints, pieData.center, pieData.radius)) { + var angle = Math.atan2(pieData.center.y - currentPoints.y, currentPoints.x - pieData.center.x); + angle = -angle; + if(opts.extra.rose && opts.extra.rose.offsetAngle){ + angle = angle - opts.extra.rose.offsetAngle * Math.PI / 180; + } + for (var i = 0, len = series.length; i < len; i++) { + if (isInAngleRange(angle, series[i]._start_, series[i]._start_ + series[i]._rose_proportion_ * 2 * Math.PI)) { + currentIndex = i; + break; + } + } + } + return currentIndex; +} + +function findPieChartCurrentIndex(currentPoints, pieData, opts) { + var currentIndex = -1; + var series = getPieDataPoints(pieData.series); + if (pieData && pieData.center && isInExactPieChartArea(currentPoints, pieData.center, pieData.radius)) { + var angle = Math.atan2(pieData.center.y - currentPoints.y, currentPoints.x - pieData.center.x); + angle = -angle; + if(opts.extra.pie && opts.extra.pie.offsetAngle){ + angle = angle - opts.extra.pie.offsetAngle * Math.PI / 180; + } + if(opts.extra.ring && opts.extra.ring.offsetAngle){ + angle = angle - opts.extra.ring.offsetAngle * Math.PI / 180; + } + for (var i = 0, len = series.length; i < len; i++) { + if (isInAngleRange(angle, series[i]._start_, series[i]._start_ + series[i]._proportion_ * 2 * Math.PI)) { + currentIndex = i; + break; + } + } + } + return currentIndex; +} + +function isInExactPieChartArea(currentPoints, center, radius) { + return Math.pow(currentPoints.x - center.x, 2) + Math.pow(currentPoints.y - center.y, 2) <= Math.pow(radius, 2); +} + + +function splitPoints(points,eachSeries) { + var newPoints = []; + var items = []; + points.forEach(function(item, index) { + if(eachSeries.connectNulls){ + if (item !== null) { + items.push(item); + } + }else{ + if (item !== null) { + items.push(item); + } else { + if (items.length) { + newPoints.push(items); + } + items = []; + } + } + + }); + if (items.length) { + newPoints.push(items); + } + return newPoints; +} + + +function calLegendData(series, opts, config, chartData, context) { + let legendData = { + area: { + start: { + x: 0, + y: 0 + }, + end: { + x: 0, + y: 0 + }, + width: 0, + height: 0, + wholeWidth: 0, + wholeHeight: 0 + }, + points: [], + widthArr: [], + heightArr: [] + }; + if (opts.legend.show === false) { + chartData.legendData = legendData; + return legendData; + } + let padding = opts.legend.padding * opts.pix; + let margin = opts.legend.margin * opts.pix; + let fontSize = opts.legend.fontSize ? opts.legend.fontSize * opts.pix : config.fontSize; + let shapeWidth = 15 * opts.pix; + let shapeRight = 5 * opts.pix; + let lineHeight = Math.max(opts.legend.lineHeight * opts.pix, fontSize); + if (opts.legend.position == 'top' || opts.legend.position == 'bottom') { + let legendList = []; + let widthCount = 0; + let widthCountArr = []; + let currentRow = []; + for (let i = 0; i < series.length; i++) { + let item = series[i]; + const legendText = item.legendText ? item.legendText : item.name; + let itemWidth = shapeWidth + shapeRight + measureText(legendText || 'undefined', fontSize, context) + opts.legend.itemGap * opts.pix; + if (widthCount + itemWidth > opts.width - opts.area[1] - opts.area[3]) { + legendList.push(currentRow); + widthCountArr.push(widthCount - opts.legend.itemGap * opts.pix); + widthCount = itemWidth; + currentRow = [item]; + } else { + widthCount += itemWidth; + currentRow.push(item); + } + } + if (currentRow.length) { + legendList.push(currentRow); + widthCountArr.push(widthCount - opts.legend.itemGap * opts.pix); + legendData.widthArr = widthCountArr; + let legendWidth = Math.max.apply(null, widthCountArr); + switch (opts.legend.float) { + case 'left': + legendData.area.start.x = opts.area[3]; + legendData.area.end.x = opts.area[3] + legendWidth + 2 * padding; + break; + case 'right': + legendData.area.start.x = opts.width - opts.area[1] - legendWidth - 2 * padding; + legendData.area.end.x = opts.width - opts.area[1]; + break; + default: + legendData.area.start.x = (opts.width - legendWidth) / 2 - padding; + legendData.area.end.x = (opts.width + legendWidth) / 2 + padding; + } + legendData.area.width = legendWidth + 2 * padding; + legendData.area.wholeWidth = legendWidth + 2 * padding; + legendData.area.height = legendList.length * lineHeight + 2 * padding; + legendData.area.wholeHeight = legendList.length * lineHeight + 2 * padding + 2 * margin; + legendData.points = legendList; + } + } else { + let len = series.length; + let maxHeight = opts.height - opts.area[0] - opts.area[2] - 2 * margin - 2 * padding; + let maxLength = Math.min(Math.floor(maxHeight / lineHeight), len); + legendData.area.height = maxLength * lineHeight + padding * 2; + legendData.area.wholeHeight = maxLength * lineHeight + padding * 2; + switch (opts.legend.float) { + case 'top': + legendData.area.start.y = opts.area[0] + margin; + legendData.area.end.y = opts.area[0] + margin + legendData.area.height; + break; + case 'bottom': + legendData.area.start.y = opts.height - opts.area[2] - margin - legendData.area.height; + legendData.area.end.y = opts.height - opts.area[2] - margin; + break; + default: + legendData.area.start.y = (opts.height - legendData.area.height) / 2; + legendData.area.end.y = (opts.height + legendData.area.height) / 2; + } + let lineNum = len % maxLength === 0 ? len / maxLength : Math.floor((len / maxLength) + 1); + let currentRow = []; + for (let i = 0; i < lineNum; i++) { + let temp = series.slice(i * maxLength, i * maxLength + maxLength); + currentRow.push(temp); + } + legendData.points = currentRow; + if (currentRow.length) { + for (let i = 0; i < currentRow.length; i++) { + let item = currentRow[i]; + let maxWidth = 0; + for (let j = 0; j < item.length; j++) { + let itemWidth = shapeWidth + shapeRight + measureText(item[j].name || 'undefined', fontSize, context) + opts.legend.itemGap * opts.pix; + if (itemWidth > maxWidth) { + maxWidth = itemWidth; + } + } + legendData.widthArr.push(maxWidth); + legendData.heightArr.push(item.length * lineHeight + padding * 2); + } + let legendWidth = 0 + for (let i = 0; i < legendData.widthArr.length; i++) { + legendWidth += legendData.widthArr[i]; + } + legendData.area.width = legendWidth - opts.legend.itemGap * opts.pix + 2 * padding; + legendData.area.wholeWidth = legendData.area.width + padding; + } + } + switch (opts.legend.position) { + case 'top': + legendData.area.start.y = opts.area[0] + margin; + legendData.area.end.y = opts.area[0] + margin + legendData.area.height; + break; + case 'bottom': + legendData.area.start.y = opts.height - opts.area[2] - legendData.area.height - margin; + legendData.area.end.y = opts.height - opts.area[2] - margin; + break; + case 'left': + legendData.area.start.x = opts.area[3]; + legendData.area.end.x = opts.area[3] + legendData.area.width; + break; + case 'right': + legendData.area.start.x = opts.width - opts.area[1] - legendData.area.width; + legendData.area.end.x = opts.width - opts.area[1]; + break; + } + chartData.legendData = legendData; + return legendData; +} + +function calCategoriesData(categories, opts, config, eachSpacing, context) { + var result = { + angle: 0, + xAxisHeight: opts.xAxis.lineHeight * opts.pix + opts.xAxis.marginTop * opts.pix + }; + var fontSize = opts.xAxis.fontSize * opts.pix; + var categoriesTextLenth = categories.map(function(item,index) { + var xitem = opts.xAxis.formatter ? opts.xAxis.formatter(item,index,opts) : item; + return measureText(String(xitem), fontSize, context); + }); + var maxTextLength = Math.max.apply(this, categoriesTextLenth); + if (opts.xAxis.rotateLabel == true) { + result.angle = opts.xAxis.rotateAngle * Math.PI / 180; + let tempHeight = opts.xAxis.marginTop * opts.pix * 2 + Math.abs(maxTextLength * Math.sin(result.angle)) + tempHeight = tempHeight < fontSize + opts.xAxis.marginTop * opts.pix * 2 ? tempHeight + opts.xAxis.marginTop * opts.pix * 2 : tempHeight; + result.xAxisHeight = tempHeight; + } + if (opts.enableScroll && opts.xAxis.scrollShow) { + result.xAxisHeight += 6 * opts.pix; + } + if (opts.xAxis.disabled){ + result.xAxisHeight = 0; + } + return result; +} + +function getXAxisTextList(series, opts, config, stack) { + var index = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : -1; + var data; + if (stack == 'stack') { + data = dataCombineStack(series, opts.categories.length); + } else { + data = dataCombine(series); + } + var sorted = []; + // remove null from data + data = data.filter(function(item) { + //return item !== null; + if (typeof item === 'object' && item !== null) { + if (item.constructor.toString().indexOf('Array') > -1) { + return item !== null; + } else { + return item.value !== null; + } + } else { + return item !== null; + } + }); + data.map(function(item) { + if (typeof item === 'object') { + if (item.constructor.toString().indexOf('Array') > -1) { + if (opts.type == 'candle') { + item.map(function(subitem) { + sorted.push(subitem); + }) + } else { + sorted.push(item[0]); + } + } else { + sorted.push(item.value); + } + } else { + sorted.push(item); + } + }) + + var minData = 0; + var maxData = 0; + if (sorted.length > 0) { + minData = Math.min.apply(this, sorted); + maxData = Math.max.apply(this, sorted); + } + //为了兼容v1.9.0之前的项目 + if (index > -1) { + if (typeof opts.xAxis.data[index].min === 'number') { + minData = Math.min(opts.xAxis.data[index].min, minData); + } + if (typeof opts.xAxis.data[index].max === 'number') { + maxData = Math.max(opts.xAxis.data[index].max, maxData); + } + } else { + if (typeof opts.xAxis.min === 'number') { + minData = Math.min(opts.xAxis.min, minData); + } + if (typeof opts.xAxis.max === 'number') { + maxData = Math.max(opts.xAxis.max, maxData); + } + } + if (minData === maxData) { + var rangeSpan = maxData || 10; + maxData += rangeSpan; + } + //var dataRange = getDataRange(minData, maxData); + var minRange = minData; + var maxRange = maxData; + var range = []; + var eachRange = (maxRange - minRange) / opts.xAxis.splitNumber; + for (var i = 0; i <= opts.xAxis.splitNumber; i++) { + range.push(minRange + eachRange * i); + } + return range; +} + +function calXAxisData(series, opts, config, context) { + //堆叠图重算Y轴 + var columnstyle = assign({}, { + type: "" + }, opts.extra.bar); + var result = { + angle: 0, + xAxisHeight: opts.xAxis.lineHeight * opts.pix + opts.xAxis.marginTop * opts.pix + }; + result.ranges = getXAxisTextList(series, opts, config, columnstyle.type); + result.rangesFormat = result.ranges.map(function(item) { + //item = opts.xAxis.formatter ? opts.xAxis.formatter(item) : util.toFixed(item, 2); + item = util.toFixed(item, 2); + return item; + }); + var xAxisScaleValues = result.ranges.map(function(item) { + // 如果刻度值是浮点数,则保留两位小数 + item = util.toFixed(item, 2); + // 若有自定义格式则调用自定义的格式化函数 + //item = opts.xAxis.formatter ? opts.xAxis.formatter(Number(item)) : item; + return item; + }); + result = Object.assign(result, getXAxisPoints(xAxisScaleValues, opts, config)); + // 计算X轴刻度的属性譬如每个刻度的间隔,刻度的起始点\结束点以及总长 + var eachSpacing = result.eachSpacing; + var textLength = xAxisScaleValues.map(function(item) { + return measureText(item, opts.xAxis.fontSize * opts.pix, context); + }); + if (opts.xAxis.disabled === true) { + result.xAxisHeight = 0; + } + return result; +} + +function getRadarDataPoints(angleList, center, radius, series, opts) { + var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1; + var radarOption = opts.extra.radar || {}; + radarOption.max = radarOption.max || 0; + var maxData = Math.max(radarOption.max, Math.max.apply(null, dataCombine(series))); + var data = []; + for (let i = 0; i < series.length; i++) { + let each = series[i]; + let listItem = {}; + listItem.color = each.color; + listItem.legendShape = each.legendShape; + listItem.pointShape = each.pointShape; + listItem.data = []; + each.data.forEach(function(item, index) { + let tmp = {}; + tmp.angle = angleList[index]; + tmp.proportion = item / maxData; + tmp.value = item; + tmp.position = convertCoordinateOrigin(radius * tmp.proportion * process * Math.cos(tmp.angle), radius * tmp.proportion * process * Math.sin(tmp.angle), center); + listItem.data.push(tmp); + }); + data.push(listItem); + } + return data; +} + +function getPieDataPoints(series, radius) { + var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1; + var count = 0; + var _start_ = 0; + for (let i = 0; i < series.length; i++) { + let item = series[i]; + item.data = item.data === null ? 0 : item.data; + count += item.data; + } + for (let i = 0; i < series.length; i++) { + let item = series[i]; + item.data = item.data === null ? 0 : item.data; + if (count === 0) { + item._proportion_ = 1 / series.length * process; + } else { + item._proportion_ = item.data / count * process; + } + item._radius_ = radius; + } + for (let i = 0; i < series.length; i++) { + let item = series[i]; + item._start_ = _start_; + _start_ += 2 * item._proportion_ * Math.PI; + } + return series; +} + +function getFunnelDataPoints(series, radius, option, eachSpacing) { + var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; + for (let i = 0; i < series.length; i++) { + if(option.type == 'funnel'){ + series[i].radius = series[i].data / series[0].data * radius * process; + }else{ + series[i].radius = (eachSpacing * (series.length - i)) / (eachSpacing * series.length) * radius * process; + } + series[i]._proportion_ = series[i].data / series[0].data; + } + // if(option.type !== 'pyramid'){ + // series.reverse(); + // } + return series; +} + +function getRoseDataPoints(series, type, minRadius, radius) { + var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; + var count = 0; + var _start_ = 0; + var dataArr = []; + for (let i = 0; i < series.length; i++) { + let item = series[i]; + item.data = item.data === null ? 0 : item.data; + count += item.data; + dataArr.push(item.data); + } + var minData = Math.min.apply(null, dataArr); + var maxData = Math.max.apply(null, dataArr); + var radiusLength = radius - minRadius; + for (let i = 0; i < series.length; i++) { + let item = series[i]; + item.data = item.data === null ? 0 : item.data; + if (count === 0) { + item._proportion_ = 1 / series.length * process; + item._rose_proportion_ = 1 / series.length * process; + } else { + item._proportion_ = item.data / count * process; + if(type == 'area'){ + item._rose_proportion_ = 1 / series.length * process; + }else{ + item._rose_proportion_ = item.data / count * process; + } + } + item._radius_ = minRadius + radiusLength * ((item.data - minData) / (maxData - minData)) || radius; + } + for (let i = 0; i < series.length; i++) { + let item = series[i]; + item._start_ = _start_; + _start_ += 2 * item._rose_proportion_ * Math.PI; + } + return series; +} + +function getArcbarDataPoints(series, arcbarOption) { + var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1; + if (process == 1) { + process = 0.999999; + } + for (let i = 0; i < series.length; i++) { + let item = series[i]; + item.data = item.data === null ? 0 : item.data; + let totalAngle; + if (arcbarOption.type == 'circle') { + totalAngle = 2; + } else { + if(arcbarOption.direction == 'ccw'){ + if (arcbarOption.startAngle < arcbarOption.endAngle) { + totalAngle = 2 + arcbarOption.startAngle - arcbarOption.endAngle; + } else { + totalAngle = arcbarOption.startAngle - arcbarOption.endAngle; + } + }else{ + if (arcbarOption.endAngle < arcbarOption.startAngle) { + totalAngle = 2 + arcbarOption.endAngle - arcbarOption.startAngle; + } else { + totalAngle = arcbarOption.startAngle - arcbarOption.endAngle; + } + } + } + item._proportion_ = totalAngle * item.data * process + arcbarOption.startAngle; + if(arcbarOption.direction == 'ccw'){ + item._proportion_ = arcbarOption.startAngle - totalAngle * item.data * process ; + } + if (item._proportion_ >= 2) { + item._proportion_ = item._proportion_ % 2; + } + } + return series; +} + +function getGaugeArcbarDataPoints(series, arcbarOption) { + var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1; + if (process == 1) { + process = 0.999999; + } + for (let i = 0; i < series.length; i++) { + let item = series[i]; + item.data = item.data === null ? 0 : item.data; + let totalAngle; + if (arcbarOption.type == 'circle') { + totalAngle = 2; + } else { + if (arcbarOption.endAngle < arcbarOption.startAngle) { + totalAngle = 2 + arcbarOption.endAngle - arcbarOption.startAngle; + } else { + totalAngle = arcbarOption.startAngle - arcbarOption.endAngle; + } + } + item._proportion_ = totalAngle * item.data * process + arcbarOption.startAngle; + if (item._proportion_ >= 2) { + item._proportion_ = item._proportion_ % 2; + } + } + return series; +} + +function getGaugeAxisPoints(categories, startAngle, endAngle) { + let totalAngle; + if (endAngle < startAngle) { + totalAngle = 2 + endAngle - startAngle; + } else { + totalAngle = startAngle - endAngle; + } + let tempStartAngle = startAngle; + for (let i = 0; i < categories.length; i++) { + categories[i].value = categories[i].value === null ? 0 : categories[i].value; + categories[i]._startAngle_ = tempStartAngle; + categories[i]._endAngle_ = totalAngle * categories[i].value + startAngle; + if (categories[i]._endAngle_ >= 2) { + categories[i]._endAngle_ = categories[i]._endAngle_ % 2; + } + tempStartAngle = categories[i]._endAngle_; + } + return categories; +} + +function getGaugeDataPoints(series, categories, gaugeOption) { + let process = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1; + for (let i = 0; i < series.length; i++) { + let item = series[i]; + item.data = item.data === null ? 0 : item.data; + if (gaugeOption.pointer.color == 'auto') { + for (let i = 0; i < categories.length; i++) { + if (item.data <= categories[i].value) { + item.color = categories[i].color; + break; + } + } + } else { + item.color = gaugeOption.pointer.color; + } + let totalAngle; + if (gaugeOption.endAngle < gaugeOption.startAngle) { + totalAngle = 2 + gaugeOption.endAngle - gaugeOption.startAngle; + } else { + totalAngle = gaugeOption.startAngle - gaugeOption.endAngle; + } + item._endAngle_ = totalAngle * item.data + gaugeOption.startAngle; + item._oldAngle_ = gaugeOption.oldAngle; + if (gaugeOption.oldAngle < gaugeOption.endAngle) { + item._oldAngle_ += 2; + } + if (item.data >= gaugeOption.oldData) { + item._proportion_ = (item._endAngle_ - item._oldAngle_) * process + gaugeOption.oldAngle; + } else { + item._proportion_ = item._oldAngle_ - (item._oldAngle_ - item._endAngle_) * process; + } + if (item._proportion_ >= 2) { + item._proportion_ = item._proportion_ % 2; + } + } + return series; +} + +function getPieTextMaxLength(series, config, context, opts) { + series = getPieDataPoints(series); + let maxLength = 0; + for (let i = 0; i < series.length; i++) { + let item = series[i]; + let text = item.formatter ? item.formatter(+item._proportion_.toFixed(2)) : util.toFixed(item._proportion_ * 100) + '%'; + maxLength = Math.max(maxLength, measureText(text, item.textSize * opts.pix || config.fontSize, context)); + } + return maxLength; +} + +function fixColumeData(points, eachSpacing, columnLen, index, config, opts) { + return points.map(function(item) { + if (item === null) { + return null; + } + var seriesGap = 0; + var categoryGap = 0; + if (opts.type == 'mix') { + seriesGap = opts.extra.mix.column.seriesGap * opts.pix || 0; + categoryGap = opts.extra.mix.column.categoryGap * opts.pix || 0; + } else { + seriesGap = opts.extra.column.seriesGap * opts.pix || 0; + categoryGap = opts.extra.column.categoryGap * opts.pix || 0; + } + seriesGap = Math.min(seriesGap, eachSpacing / columnLen) + categoryGap = Math.min(categoryGap, eachSpacing / columnLen) + item.width = Math.ceil((eachSpacing - 2 * categoryGap - seriesGap * (columnLen - 1)) / columnLen); + if (opts.extra.mix && opts.extra.mix.column.width && +opts.extra.mix.column.width > 0) { + item.width = Math.min(item.width, +opts.extra.mix.column.width * opts.pix); + } + if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) { + item.width = Math.min(item.width, +opts.extra.column.width * opts.pix); + } + if (item.width <= 0) { + item.width = 1; + } + item.x += (index + 0.5 - columnLen / 2) * (item.width + seriesGap); + return item; + }); +} + +function fixBarData(points, eachSpacing, columnLen, index, config, opts) { + return points.map(function(item) { + if (item === null) { + return null; + } + var seriesGap = 0; + var categoryGap = 0; + seriesGap = opts.extra.bar.seriesGap * opts.pix || 0; + categoryGap = opts.extra.bar.categoryGap * opts.pix || 0; + seriesGap = Math.min(seriesGap, eachSpacing / columnLen) + categoryGap = Math.min(categoryGap, eachSpacing / columnLen) + item.width = Math.ceil((eachSpacing - 2 * categoryGap - seriesGap * (columnLen - 1)) / columnLen); + if (opts.extra.bar && opts.extra.bar.width && +opts.extra.bar.width > 0) { + item.width = Math.min(item.width, +opts.extra.bar.width * opts.pix); + } + if (item.width <= 0) { + item.width = 1; + } + item.y += (index + 0.5 - columnLen / 2) * (item.width + seriesGap); + return item; + }); +} + +function fixColumeMeterData(points, eachSpacing, columnLen, index, config, opts, border) { + var categoryGap = opts.extra.column.categoryGap * opts.pix || 0; + return points.map(function(item) { + if (item === null) { + return null; + } + item.width = eachSpacing - 2 * categoryGap; + if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) { + item.width = Math.min(item.width, +opts.extra.column.width * opts.pix); + } + if (index > 0) { + item.width -= border; + } + return item; + }); +} + +function fixColumeStackData(points, eachSpacing, columnLen, index, config, opts, series) { + var categoryGap = opts.extra.column.categoryGap * opts.pix || 0; + return points.map(function(item, indexn) { + if (item === null) { + return null; + } + item.width = Math.ceil(eachSpacing - 2 * categoryGap); + if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) { + item.width = Math.min(item.width, +opts.extra.column.width * opts.pix); + } + if (item.width <= 0) { + item.width = 1; + } + return item; + }); +} + +function fixBarStackData(points, eachSpacing, columnLen, index, config, opts, series) { + var categoryGap = opts.extra.bar.categoryGap * opts.pix || 0; + return points.map(function(item, indexn) { + if (item === null) { + return null; + } + item.width = Math.ceil(eachSpacing - 2 * categoryGap); + if (opts.extra.bar && opts.extra.bar.width && +opts.extra.bar.width > 0) { + item.width = Math.min(item.width, +opts.extra.bar.width * opts.pix); + } + if (item.width <= 0) { + item.width = 1; + } + return item; + }); +} + +function getXAxisPoints(categories, opts, config) { + var spacingValid = opts.width - opts.area[1] - opts.area[3]; + var dataCount = opts.enableScroll ? Math.min(opts.xAxis.itemCount, categories.length) : categories.length; + if ((opts.type == 'line' || opts.type == 'area' || opts.type == 'scatter' || opts.type == 'bubble' || opts.type == 'bar') && dataCount > 1 && opts.xAxis.boundaryGap == 'justify') { + dataCount -= 1; + } + var widthRatio = 0; + if(opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1){ + if(opts.extra.mount.widthRatio>2) opts.extra.mount.widthRatio = 2 + widthRatio = opts.extra.mount.widthRatio - 1; + dataCount += widthRatio; + } + var eachSpacing = spacingValid / dataCount; + var xAxisPoints = []; + var startX = opts.area[3]; + var endX = opts.width - opts.area[1]; + categories.forEach(function(item, index) { + xAxisPoints.push(startX + widthRatio / 2 * eachSpacing + index * eachSpacing); + }); + if (opts.xAxis.boundaryGap !== 'justify') { + if (opts.enableScroll === true) { + xAxisPoints.push(startX + widthRatio * eachSpacing + categories.length * eachSpacing); + } else { + xAxisPoints.push(endX); + } + } + return { + xAxisPoints: xAxisPoints, + startX: startX, + endX: endX, + eachSpacing: eachSpacing + }; +} + +function getCandleDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config) { + var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1; + var points = []; + var validHeight = opts.height - opts.area[0] - opts.area[2]; + data.forEach(function(item, index) { + if (item === null) { + points.push(null); + } else { + var cPoints = []; + item.forEach(function(items, indexs) { + var point = {}; + point.x = xAxisPoints[index] + Math.round(eachSpacing / 2); + var value = items.value || items; + var height = validHeight * (value - minRange) / (maxRange - minRange); + height *= process; + point.y = opts.height - Math.round(height) - opts.area[2]; + cPoints.push(point); + }); + points.push(cPoints); + } + }); + return points; +} + +function getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config) { + var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1; + var boundaryGap = 'center'; + if (opts.type == 'line' || opts.type == 'area' || opts.type == 'scatter' || opts.type == 'bubble' ) { + boundaryGap = opts.xAxis.boundaryGap; + } + var points = []; + var validHeight = opts.height - opts.area[0] - opts.area[2]; + var validWidth = opts.width - opts.area[1] - opts.area[3]; + data.forEach(function(item, index) { + if (item === null) { + points.push(null); + } else { + var point = {}; + point.color = item.color; + point.x = xAxisPoints[index]; + var value = item; + if (typeof item === 'object' && item !== null) { + if (item.constructor.toString().indexOf('Array') > -1) { + let xranges, xminRange, xmaxRange; + xranges = [].concat(opts.chartData.xAxisData.ranges); + xminRange = xranges.shift(); + xmaxRange = xranges.pop(); + value = item[1]; + point.x = opts.area[3] + validWidth * (item[0] - xminRange) / (xmaxRange - xminRange); + if(opts.type == 'bubble'){ + point.r = item[2]; + point.t = item[3]; + } + } else { + value = item.value; + } + } + if (boundaryGap == 'center') { + point.x += eachSpacing / 2; + } + var height = validHeight * (value - minRange) / (maxRange - minRange); + height *= process; + point.y = opts.height - height - opts.area[2]; + points.push(point); + } + }); + return points; +} + +function getLineDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, lineOption, process){ + var process = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : 1; + var boundaryGap = opts.xAxis.boundaryGap; + var points = []; + var validHeight = opts.height - opts.area[0] - opts.area[2]; + var validWidth = opts.width - opts.area[1] - opts.area[3]; + data.forEach(function(item, index) { + if (item === null) { + points.push(null); + } else { + var point = {}; + point.color = item.color; + if(lineOption.animation == 'vertical'){ + point.x = xAxisPoints[index]; + var value = item; + if (typeof item === 'object' && item !== null) { + if (item.constructor.toString().indexOf('Array') > -1) { + let xranges, xminRange, xmaxRange; + xranges = [].concat(opts.chartData.xAxisData.ranges); + xminRange = xranges.shift(); + xmaxRange = xranges.pop(); + value = item[1]; + point.x = opts.area[3] + validWidth * (item[0] - xminRange) / (xmaxRange - xminRange); + } else { + value = item.value; + } + } + if (boundaryGap == 'center') { + point.x += eachSpacing / 2; + } + var height = validHeight * (value - minRange) / (maxRange - minRange); + height *= process; + point.y = opts.height - height - opts.area[2]; + points.push(point); + }else{ + point.x = xAxisPoints[0] + eachSpacing * index * process; + var value = item; + if (boundaryGap == 'center') { + point.x += eachSpacing / 2; + } + var height = validHeight * (value - minRange) / (maxRange - minRange); + point.y = opts.height - height - opts.area[2]; + points.push(point); + } + } + }); + return points; +} + +function getColumnDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, zeroPoints, process){ + var process = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : 1; + var points = []; + var validHeight = opts.height - opts.area[0] - opts.area[2]; + var validWidth = opts.width - opts.area[1] - opts.area[3]; + data.forEach(function(item, index) { + if (item === null) { + points.push(null); + } else { + var point = {}; + point.color = item.color; + point.x = xAxisPoints[index]; + var value = item; + if (typeof item === 'object' && item !== null) { + if (item.constructor.toString().indexOf('Array') > -1) { + let xranges, xminRange, xmaxRange; + xranges = [].concat(opts.chartData.xAxisData.ranges); + xminRange = xranges.shift(); + xmaxRange = xranges.pop(); + value = item[1]; + point.x = opts.area[3] + validWidth * (item[0] - xminRange) / (xmaxRange - xminRange); + } else { + value = item.value; + } + } + point.x += eachSpacing / 2; + var height = validHeight * (value * process - minRange) / (maxRange - minRange); + point.y = opts.height - height - opts.area[2]; + points.push(point); + } + }); + return points; +} + +function getMountDataPoints(series, minRange, maxRange, xAxisPoints, eachSpacing, opts, mountOption, zeroPoints) { + var process = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : 1; + var points = []; + var validHeight = opts.height - opts.area[0] - opts.area[2]; + var validWidth = opts.width - opts.area[1] - opts.area[3]; + var mountWidth = eachSpacing * mountOption.widthRatio; + series.forEach(function(item, index) { + if (item === null) { + points.push(null); + } else { + var point = {}; + point.color = item.color; + point.x = xAxisPoints[index]; + point.x += eachSpacing / 2; + var value = item.data; + var height = validHeight * (value * process - minRange) / (maxRange - minRange); + point.y = opts.height - height - opts.area[2]; + point.value = value; + point.width = mountWidth; + points.push(point); + } + }); + return points; +} + +function getBarDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config) { + var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1; + var points = []; + var validHeight = opts.height - opts.area[0] - opts.area[2]; + var validWidth = opts.width - opts.area[1] - opts.area[3]; + data.forEach(function(item, index) { + if (item === null) { + points.push(null); + } else { + var point = {}; + point.color = item.color; + point.y = yAxisPoints[index]; + var value = item; + if (typeof item === 'object' && item !== null) { + value = item.value; + } + var height = validWidth * (value - minRange) / (maxRange - minRange); + height *= process; + point.height = height; + point.value = value; + point.x = height + opts.area[3]; + points.push(point); + } + }); + return points; +} + +function getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, stackSeries) { + var process = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : 1; + var points = []; + var validHeight = opts.height - opts.area[0] - opts.area[2]; + data.forEach(function(item, index) { + if (item === null) { + points.push(null); + } else { + var point = {}; + point.color = item.color; + point.x = xAxisPoints[index] + Math.round(eachSpacing / 2); + + if (seriesIndex > 0) { + var value = 0; + for (let i = 0; i <= seriesIndex; i++) { + value += stackSeries[i].data[index]; + } + var value0 = value - item; + var height = validHeight * (value - minRange) / (maxRange - minRange); + var height0 = validHeight * (value0 - minRange) / (maxRange - minRange); + } else { + var value = item; + if (typeof item === 'object' && item !== null) { + value = item.value; + } + var height = validHeight * (value - minRange) / (maxRange - minRange); + var height0 = 0; + } + var heightc = height0; + height *= process; + heightc *= process; + point.y = opts.height - Math.round(height) - opts.area[2]; + point.y0 = opts.height - Math.round(heightc) - opts.area[2]; + points.push(point); + } + }); + return points; +} + +function getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, stackSeries) { + var process = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : 1; + var points = []; + var validHeight = opts.width - opts.area[1] - opts.area[3]; + data.forEach(function(item, index) { + if (item === null) { + points.push(null); + } else { + var point = {}; + point.color = item.color; + point.y = yAxisPoints[index]; + if (seriesIndex > 0) { + var value = 0; + for (let i = 0; i <= seriesIndex; i++) { + value += stackSeries[i].data[index]; + } + var value0 = value - item; + var height = validHeight * (value - minRange) / (maxRange - minRange); + var height0 = validHeight * (value0 - minRange) / (maxRange - minRange); + } else { + var value = item; + if (typeof item === 'object' && item !== null) { + value = item.value; + } + var height = validHeight * (value - minRange) / (maxRange - minRange); + var height0 = 0; + } + var heightc = height0; + height *= process; + heightc *= process; + point.height = height - heightc; + point.x = opts.area[3] + height; + point.x0 = opts.area[3] + heightc; + points.push(point); + } + }); + return points; +} + +function getYAxisTextList(series, opts, config, stack, yData) { + var index = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : -1; + var data; + if (stack == 'stack') { + data = dataCombineStack(series, opts.categories.length); + } else { + data = dataCombine(series); + } + var sorted = []; + // remove null from data + data = data.filter(function(item) { + //return item !== null; + if (typeof item === 'object' && item !== null) { + if (item.constructor.toString().indexOf('Array') > -1) { + return item !== null; + } else { + return item.value !== null; + } + } else { + return item !== null; + } + }); + data.map(function(item) { + if (typeof item === 'object') { + if (item.constructor.toString().indexOf('Array') > -1) { + if (opts.type == 'candle') { + item.map(function(subitem) { + sorted.push(subitem); + }) + } else { + sorted.push(item[1]); + } + } else { + sorted.push(item.value); + } + } else { + sorted.push(item); + } + }) + var minData = yData.min || 0; + var maxData = yData.max || 0; + if (sorted.length > 0) { + minData = Math.min.apply(this, sorted); + maxData = Math.max.apply(this, sorted); + } + if (minData === maxData) { + if(maxData == 0){ + maxData = 10; + }else{ + minData = 0; + } + } + var dataRange = getDataRange(minData, maxData); + var minRange = (yData.min === undefined || yData.min === null) ? dataRange.minRange : yData.min; + var maxRange = (yData.max === undefined || yData.max === null) ? dataRange.maxRange : yData.max; + var eachRange = (maxRange - minRange) / opts.yAxis.splitNumber; + var range = []; + for (var i = 0; i <= opts.yAxis.splitNumber; i++) { + range.push(minRange + eachRange * i); + } + return range.reverse(); +} + +function calYAxisData(series, opts, config, context) { + //堆叠图重算Y轴 + var columnstyle = assign({}, { + type: "" + }, opts.extra.column); + //如果是多Y轴,重新计算 + var YLength = opts.yAxis.data.length; + var newSeries = new Array(YLength); + if (YLength > 0) { + for (let i = 0; i < YLength; i++) { + newSeries[i] = []; + for (let j = 0; j < series.length; j++) { + if (series[j].index == i) { + newSeries[i].push(series[j]); + } + } + } + var rangesArr = new Array(YLength); + var rangesFormatArr = new Array(YLength); + var yAxisWidthArr = new Array(YLength); + + for (let i = 0; i < YLength; i++) { + let yData = opts.yAxis.data[i]; + //如果总开关不显示,强制每个Y轴为不显示 + if (opts.yAxis.disabled == true) { + yData.disabled = true; + } + if(yData.type === 'categories'){ + if(!yData.formatter){ + yData.formatter = (val,index,opts) => {return val + (yData.unit || '')}; + } + yData.categories = yData.categories || opts.categories; + rangesArr[i] = yData.categories; + }else{ + if(!yData.formatter){ + yData.formatter = (val,index,opts) => {return util.toFixed(val, yData.tofix || 0) + (yData.unit || '')}; + } + rangesArr[i] = getYAxisTextList(newSeries[i], opts, config, columnstyle.type, yData, i); + } + let yAxisFontSizes = yData.fontSize * opts.pix || config.fontSize; + yAxisWidthArr[i] = { + position: yData.position ? yData.position : 'left', + width: 0 + }; + rangesFormatArr[i] = rangesArr[i].map(function(items,index) { + items = yData.formatter(items,index,opts); + yAxisWidthArr[i].width = Math.max(yAxisWidthArr[i].width, measureText(items, yAxisFontSizes, context) + 5); + return items; + }); + let calibration = yData.calibration ? 4 * opts.pix : 0; + yAxisWidthArr[i].width += calibration + 3 * opts.pix; + if (yData.disabled === true) { + yAxisWidthArr[i].width = 0; + } + } + } else { + var rangesArr = new Array(1); + var rangesFormatArr = new Array(1); + var yAxisWidthArr = new Array(1); + if(opts.type === 'bar'){ + rangesArr[0] = opts.categories; + if(!opts.yAxis.formatter){ + opts.yAxis.formatter = (val,index,opts) => {return val + (opts.yAxis.unit || '')} + } + }else{ + if(!opts.yAxis.formatter){ + opts.yAxis.formatter = (val,index,opts) => {return val.toFixed(opts.yAxis.tofix ) + (opts.yAxis.unit || '')} + } + rangesArr[0] = getYAxisTextList(series, opts, config, columnstyle.type, {}); + } + yAxisWidthArr[0] = { + position: 'left', + width: 0 + }; + var yAxisFontSize = opts.yAxis.fontSize * opts.pix || config.fontSize; + rangesFormatArr[0] = rangesArr[0].map(function(item,index) { + item = opts.yAxis.formatter(item,index,opts); + yAxisWidthArr[0].width = Math.max(yAxisWidthArr[0].width, measureText(item, yAxisFontSize, context) + 5); + return item; + }); + yAxisWidthArr[0].width += 3 * opts.pix; + if (opts.yAxis.disabled === true) { + yAxisWidthArr[0] = { + position: 'left', + width: 0 + }; + opts.yAxis.data[0] = { + disabled: true + }; + } else { + opts.yAxis.data[0] = { + disabled: false, + position: 'left', + max: opts.yAxis.max, + min: opts.yAxis.min, + formatter: opts.yAxis.formatter + }; + if(opts.type === 'bar'){ + opts.yAxis.data[0].categories = opts.categories; + opts.yAxis.data[0].type = 'categories'; + } + } + } + return { + rangesFormat: rangesFormatArr, + ranges: rangesArr, + yAxisWidth: yAxisWidthArr + }; +} + +function calTooltipYAxisData(point, series, opts, config, eachSpacing) { + let ranges = [].concat(opts.chartData.yAxisData.ranges); + let spacingValid = opts.height - opts.area[0] - opts.area[2]; + let minAxis = opts.area[0]; + let items = []; + for (let i = 0; i < ranges.length; i++) { + let maxVal = Math.max.apply(this, ranges[i]); + let minVal = Math.min.apply(this, ranges[i]); + let item = maxVal - (maxVal - minVal) * (point - minAxis) / spacingValid; + item = opts.yAxis.data && opts.yAxis.data[i].formatter ? opts.yAxis.data[i].formatter(item, i, opts) : item.toFixed(0); + items.push(String(item)) + } + return items; +} + +function calMarkLineData(points, opts) { + let minRange, maxRange; + let spacingValid = opts.height - opts.area[0] - opts.area[2]; + for (let i = 0; i < points.length; i++) { + points[i].yAxisIndex = points[i].yAxisIndex ? points[i].yAxisIndex : 0; + let range = [].concat(opts.chartData.yAxisData.ranges[points[i].yAxisIndex]); + minRange = range.pop(); + maxRange = range.shift(); + let height = spacingValid * (points[i].value - minRange) / (maxRange - minRange); + points[i].y = opts.height - Math.round(height) - opts.area[2]; + } + return points; +} + +function contextRotate(context, opts) { + if (opts.rotateLock !== true) { + context.translate(opts.height, 0); + context.rotate(90 * Math.PI / 180); + } else if (opts._rotate_ !== true) { + context.translate(opts.height, 0); + context.rotate(90 * Math.PI / 180); + opts._rotate_ = true; + } +} + +function drawPointShape(points, color, shape, context, opts) { + context.beginPath(); + if (opts.dataPointShapeType == 'hollow') { + context.setStrokeStyle(color); + context.setFillStyle(opts.background); + context.setLineWidth(2 * opts.pix); + } else { + context.setStrokeStyle("#ffffff"); + context.setFillStyle(color); + context.setLineWidth(1 * opts.pix); + } + if (shape === 'diamond') { + points.forEach(function(item, index) { + if (item !== null) { + context.moveTo(item.x, item.y - 4.5); + context.lineTo(item.x - 4.5, item.y); + context.lineTo(item.x, item.y + 4.5); + context.lineTo(item.x + 4.5, item.y); + context.lineTo(item.x, item.y - 4.5); + } + }); + } else if (shape === 'circle') { + points.forEach(function(item, index) { + if (item !== null) { + context.moveTo(item.x + 2.5 * opts.pix, item.y); + context.arc(item.x, item.y, 3 * opts.pix, 0, 2 * Math.PI, false); + } + }); + } else if (shape === 'square') { + points.forEach(function(item, index) { + if (item !== null) { + context.moveTo(item.x - 3.5, item.y - 3.5); + context.rect(item.x - 3.5, item.y - 3.5, 7, 7); + } + }); + } else if (shape === 'triangle') { + points.forEach(function(item, index) { + if (item !== null) { + context.moveTo(item.x, item.y - 4.5); + context.lineTo(item.x - 4.5, item.y + 4.5); + context.lineTo(item.x + 4.5, item.y + 4.5); + context.lineTo(item.x, item.y - 4.5); + } + }); + } else if (shape === 'none') { + return; + } + context.closePath(); + context.fill(); + context.stroke(); +} + +function drawActivePoint(points, color, shape, context, opts, option, seriesIndex) { + if(!opts.tooltip){ + return + } + if(opts.tooltip.group.length>0 && opts.tooltip.group.includes(seriesIndex) == false){ + return + } + var pointIndex = typeof opts.tooltip.index === 'number' ? opts.tooltip.index : opts.tooltip.index[opts.tooltip.group.indexOf(seriesIndex)]; + context.beginPath(); + if (option.activeType == 'hollow') { + context.setStrokeStyle(color); + context.setFillStyle(opts.background); + context.setLineWidth(2 * opts.pix); + } else { + context.setStrokeStyle("#ffffff"); + context.setFillStyle(color); + context.setLineWidth(1 * opts.pix); + } + if (shape === 'diamond') { + points.forEach(function(item, index) { + if (item !== null && pointIndex == index ) { + context.moveTo(item.x, item.y - 4.5); + context.lineTo(item.x - 4.5, item.y); + context.lineTo(item.x, item.y + 4.5); + context.lineTo(item.x + 4.5, item.y); + context.lineTo(item.x, item.y - 4.5); + } + }); + } else if (shape === 'circle') { + points.forEach(function(item, index) { + if (item !== null && pointIndex == index) { + context.moveTo(item.x + 2.5 * opts.pix, item.y); + context.arc(item.x, item.y, 3 * opts.pix, 0, 2 * Math.PI, false); + } + }); + } else if (shape === 'square') { + points.forEach(function(item, index) { + if (item !== null && pointIndex == index) { + context.moveTo(item.x - 3.5, item.y - 3.5); + context.rect(item.x - 3.5, item.y - 3.5, 7, 7); + } + }); + } else if (shape === 'triangle') { + points.forEach(function(item, index) { + if (item !== null && pointIndex == index) { + context.moveTo(item.x, item.y - 4.5); + context.lineTo(item.x - 4.5, item.y + 4.5); + context.lineTo(item.x + 4.5, item.y + 4.5); + context.lineTo(item.x, item.y - 4.5); + } + }); + } else if (shape === 'none') { + return; + } + context.closePath(); + context.fill(); + context.stroke(); +} + +function drawRingTitle(opts, config, context, center) { + var titlefontSize = opts.title.fontSize || config.titleFontSize; + var subtitlefontSize = opts.subtitle.fontSize || config.subtitleFontSize; + var title = opts.title.name || ''; + var subtitle = opts.subtitle.name || ''; + var titleFontColor = opts.title.color || opts.fontColor; + var subtitleFontColor = opts.subtitle.color || opts.fontColor; + var titleHeight = title ? titlefontSize : 0; + var subtitleHeight = subtitle ? subtitlefontSize : 0; + var margin = 5; + if (subtitle) { + var textWidth = measureText(subtitle, subtitlefontSize * opts.pix, context); + var startX = center.x - textWidth / 2 + (opts.subtitle.offsetX|| 0) * opts.pix ; + var startY = center.y + subtitlefontSize * opts.pix / 2 + (opts.subtitle.offsetY || 0) * opts.pix; + if (title) { + startY += (titleHeight * opts.pix + margin) / 2; + } + context.beginPath(); + context.setFontSize(subtitlefontSize * opts.pix); + context.setFillStyle(subtitleFontColor); + context.fillText(subtitle, startX, startY); + context.closePath(); + context.stroke(); + } + if (title) { + var _textWidth = measureText(title, titlefontSize * opts.pix, context); + var _startX = center.x - _textWidth / 2 + (opts.title.offsetX || 0); + var _startY = center.y + titlefontSize * opts.pix / 2 + (opts.title.offsetY || 0) * opts.pix; + if (subtitle) { + _startY -= (subtitleHeight * opts.pix + margin) / 2; + } + context.beginPath(); + context.setFontSize(titlefontSize * opts.pix); + context.setFillStyle(titleFontColor); + context.fillText(title, _startX, _startY); + context.closePath(); + context.stroke(); + } +} + +function drawPointText(points, series, config, context, opts) { + // 绘制数据文案 + var data = series.data; + var textOffset = series.textOffset ? series.textOffset : 0; + points.forEach(function(item, index) { + if (item !== null) { + context.beginPath(); + var fontSize = series.textSize ? series.textSize * opts.pix : config.fontSize; + context.setFontSize(fontSize); + context.setFillStyle(series.textColor || opts.fontColor); + var value = data[index] + if (typeof data[index] === 'object' && data[index] !== null) { + if (data[index].constructor.toString().indexOf('Array')>-1) { + value = data[index][1]; + } else { + value = data[index].value + } + } + var formatVal = series.formatter ? series.formatter(value,index,series,opts) : value; + context.setTextAlign('center'); + context.fillText(String(formatVal), item.x, item.y - 4 + textOffset * opts.pix); + context.closePath(); + context.stroke(); + context.setTextAlign('left'); + } + }); +} + +function drawColumePointText(points, series, config, context, opts) { + // 绘制数据文案 + var data = series.data; + var textOffset = series.textOffset ? series.textOffset : 0; + var Position = opts.extra.column.labelPosition; + points.forEach(function(item, index) { + if (item !== null) { + context.beginPath(); + var fontSize = series.textSize ? series.textSize * opts.pix : config.fontSize; + context.setFontSize(fontSize); + context.setFillStyle(series.textColor || opts.fontColor); + var value = data[index] + if (typeof data[index] === 'object' && data[index] !== null) { + if (data[index].constructor.toString().indexOf('Array')>-1) { + value = data[index][1]; + } else { + value = data[index].value + } + } + var formatVal = series.formatter ? series.formatter(value,index,series,opts) : value; + context.setTextAlign('center'); + var startY = item.y - 4 * opts.pix + textOffset * opts.pix; + if(item.y > series.zeroPoints){ + startY = item.y + textOffset * opts.pix + fontSize; + } + if(Position == 'insideTop'){ + startY = item.y + fontSize + textOffset * opts.pix; + if(item.y > series.zeroPoints){ + startY = item.y - textOffset * opts.pix - 4 * opts.pix; + } + } + if(Position == 'center'){ + startY = item.y + textOffset * opts.pix + (opts.height - opts.area[2] - item.y + fontSize)/2; + if(series.zeroPoints < opts.height - opts.area[2]){ + startY = item.y + textOffset * opts.pix + (series.zeroPoints - item.y + fontSize)/2; + } + if(item.y > series.zeroPoints){ + startY = item.y - textOffset * opts.pix - (item.y - series.zeroPoints - fontSize)/2; + } + if(opts.extra.column.type == 'stack'){ + startY = item.y + textOffset * opts.pix + (item.y0 - item.y + fontSize)/2; + } + } + if(Position == 'bottom'){ + startY = opts.height - opts.area[2] + textOffset * opts.pix - 4 * opts.pix; + if(series.zeroPoints < opts.height - opts.area[2]){ + startY = series.zeroPoints + textOffset * opts.pix - 4 * opts.pix; + } + if(item.y > series.zeroPoints){ + startY = series.zeroPoints - textOffset * opts.pix + fontSize + 2 * opts.pix; + } + if(opts.extra.column.type == 'stack'){ + startY = item.y0 + textOffset * opts.pix - 4 * opts.pix; + } + } + context.fillText(String(formatVal), item.x, startY); + context.closePath(); + context.stroke(); + context.setTextAlign('left'); + } + }); +} + +function drawMountPointText(points, series, config, context, opts, zeroPoints) { + // 绘制数据文案 + var data = series.data; + var textOffset = series.textOffset ? series.textOffset : 0; + var Position = opts.extra.mount.labelPosition; + points.forEach(function(item, index) { + if (item !== null) { + context.beginPath(); + var fontSize = series[index].textSize ? series[index].textSize * opts.pix : config.fontSize; + context.setFontSize(fontSize); + context.setFillStyle(series[index].textColor || opts.fontColor); + var value = item.value + var formatVal = series[index].formatter ? series[index].formatter(value,index,series,opts) : value; + context.setTextAlign('center'); + var startY = item.y - 4 * opts.pix + textOffset * opts.pix; + if(item.y > zeroPoints){ + startY = item.y + textOffset * opts.pix + fontSize; + } + context.fillText(String(formatVal), item.x, startY); + context.closePath(); + context.stroke(); + context.setTextAlign('left'); + } + }); +} + +function drawBarPointText(points, series, config, context, opts) { + // 绘制数据文案 + var data = series.data; + var textOffset = series.textOffset ? series.textOffset : 0; + points.forEach(function(item, index) { + if (item !== null) { + context.beginPath(); + var fontSize = series.textSize ? series.textSize * opts.pix : config.fontSize; + context.setFontSize(fontSize); + context.setFillStyle(series.textColor || opts.fontColor); + var value = data[index] + if (typeof data[index] === 'object' && data[index] !== null) { + value = data[index].value ; + } + var formatVal = series.formatter ? series.formatter(value,index,series,opts) : value; + context.setTextAlign('left'); + context.fillText(String(formatVal), item.x + 4 * opts.pix , item.y + fontSize / 2 - 3 ); + context.closePath(); + context.stroke(); + } + }); +} + +function drawGaugeLabel(gaugeOption, radius, centerPosition, opts, config, context) { + radius -= gaugeOption.width / 2 + gaugeOption.labelOffset * opts.pix; + radius = radius < 10 ? 10 : radius; + let totalAngle; + if (gaugeOption.endAngle < gaugeOption.startAngle) { + totalAngle = 2 + gaugeOption.endAngle - gaugeOption.startAngle; + } else { + totalAngle = gaugeOption.startAngle - gaugeOption.endAngle; + } + let splitAngle = totalAngle / gaugeOption.splitLine.splitNumber; + let totalNumber = gaugeOption.endNumber - gaugeOption.startNumber; + let splitNumber = totalNumber / gaugeOption.splitLine.splitNumber; + let nowAngle = gaugeOption.startAngle; + let nowNumber = gaugeOption.startNumber; + for (let i = 0; i < gaugeOption.splitLine.splitNumber + 1; i++) { + var pos = { + x: radius * Math.cos(nowAngle * Math.PI), + y: radius * Math.sin(nowAngle * Math.PI) + }; + var labelText = gaugeOption.formatter ? gaugeOption.formatter(nowNumber,i,opts) : nowNumber; + pos.x += centerPosition.x - measureText(labelText, config.fontSize, context) / 2; + pos.y += centerPosition.y; + var startX = pos.x; + var startY = pos.y; + context.beginPath(); + context.setFontSize(config.fontSize); + context.setFillStyle(gaugeOption.labelColor || opts.fontColor); + context.fillText(labelText, startX, startY + config.fontSize / 2); + context.closePath(); + context.stroke(); + nowAngle += splitAngle; + if (nowAngle >= 2) { + nowAngle = nowAngle % 2; + } + nowNumber += splitNumber; + } +} + +function drawRadarLabel(angleList, radius, centerPosition, opts, config, context) { + var radarOption = opts.extra.radar || {}; + angleList.forEach(function(angle, index) { + if(radarOption.labelPointShow === true && opts.categories[index] !== ''){ + var posPoint = { + x: radius * Math.cos(angle), + y: radius * Math.sin(angle) + }; + var posPointAxis = convertCoordinateOrigin(posPoint.x, posPoint.y, centerPosition); + context.setFillStyle(radarOption.labelPointColor); + context.beginPath(); + context.arc(posPointAxis.x, posPointAxis.y, radarOption.labelPointRadius * opts.pix, 0, 2 * Math.PI, false); + context.closePath(); + context.fill(); + } + if(radarOption.labelShow === true){ + var pos = { + x: (radius + config.radarLabelTextMargin * opts.pix) * Math.cos(angle), + y: (radius + config.radarLabelTextMargin * opts.pix) * Math.sin(angle) + }; + var posRelativeCanvas = convertCoordinateOrigin(pos.x, pos.y, centerPosition); + var startX = posRelativeCanvas.x; + var startY = posRelativeCanvas.y; + if (util.approximatelyEqual(pos.x, 0)) { + startX -= measureText(opts.categories[index] || '', config.fontSize, context) / 2; + } else if (pos.x < 0) { + startX -= measureText(opts.categories[index] || '', config.fontSize, context); + } + context.beginPath(); + context.setFontSize(config.fontSize); + context.setFillStyle(radarOption.labelColor || opts.fontColor); + context.fillText(opts.categories[index] || '', startX, startY + config.fontSize / 2); + context.closePath(); + context.stroke(); + } + }); + +} + +function drawPieText(series, opts, config, context, radius, center) { + var lineRadius = config.pieChartLinePadding; + var textObjectCollection = []; + var lastTextObject = null; + var seriesConvert = series.map(function(item,index) { + var text = item.formatter ? item.formatter(item,index,series,opts) : util.toFixed(item._proportion_.toFixed(4) * 100) + '%'; + text = item.labelText ? item.labelText : text; + var arc = 2 * Math.PI - (item._start_ + 2 * Math.PI * item._proportion_ / 2); + if (item._rose_proportion_) { + arc = 2 * Math.PI - (item._start_ + 2 * Math.PI * item._rose_proportion_ / 2); + } + var color = item.color; + var radius = item._radius_; + return { + arc: arc, + text: text, + color: color, + radius: radius, + textColor: item.textColor, + textSize: item.textSize, + labelShow: item.labelShow + }; + }); + for (let i = 0; i < seriesConvert.length; i++) { + let item = seriesConvert[i]; + // line end + let orginX1 = Math.cos(item.arc) * (item.radius + lineRadius); + let orginY1 = Math.sin(item.arc) * (item.radius + lineRadius); + // line start + let orginX2 = Math.cos(item.arc) * item.radius; + let orginY2 = Math.sin(item.arc) * item.radius; + // text start + let orginX3 = orginX1 >= 0 ? orginX1 + config.pieChartTextPadding : orginX1 - config.pieChartTextPadding; + let orginY3 = orginY1; + let textWidth = measureText(item.text, item.textSize * opts.pix || config.fontSize, context); + let startY = orginY3; + if (lastTextObject && util.isSameXCoordinateArea(lastTextObject.start, { + x: orginX3 + })) { + if (orginX3 > 0) { + startY = Math.min(orginY3, lastTextObject.start.y); + } else if (orginX1 < 0) { + startY = Math.max(orginY3, lastTextObject.start.y); + } else { + if (orginY3 > 0) { + startY = Math.max(orginY3, lastTextObject.start.y); + } else { + startY = Math.min(orginY3, lastTextObject.start.y); + } + } + } + if (orginX3 < 0) { + orginX3 -= textWidth; + } + let textObject = { + lineStart: { + x: orginX2, + y: orginY2 + }, + lineEnd: { + x: orginX1, + y: orginY1 + }, + start: { + x: orginX3, + y: startY + }, + width: textWidth, + height: config.fontSize, + text: item.text, + color: item.color, + textColor: item.textColor, + textSize: item.textSize + }; + lastTextObject = avoidCollision(textObject, lastTextObject); + textObjectCollection.push(lastTextObject); + } + for (let i = 0; i < textObjectCollection.length; i++) { + if(seriesConvert[i].labelShow === false){ + continue; + } + let item = textObjectCollection[i]; + let lineStartPoistion = convertCoordinateOrigin(item.lineStart.x, item.lineStart.y, center); + let lineEndPoistion = convertCoordinateOrigin(item.lineEnd.x, item.lineEnd.y, center); + let textPosition = convertCoordinateOrigin(item.start.x, item.start.y, center); + context.setLineWidth(1 * opts.pix); + context.setFontSize(item.textSize * opts.pix || config.fontSize); + context.beginPath(); + context.setStrokeStyle(item.color); + context.setFillStyle(item.color); + context.moveTo(lineStartPoistion.x, lineStartPoistion.y); + let curveStartX = item.start.x < 0 ? textPosition.x + item.width : textPosition.x; + let textStartX = item.start.x < 0 ? textPosition.x - 5 : textPosition.x + 5; + context.quadraticCurveTo(lineEndPoistion.x, lineEndPoistion.y, curveStartX, textPosition.y); + context.moveTo(lineStartPoistion.x, lineStartPoistion.y); + context.stroke(); + context.closePath(); + context.beginPath(); + context.moveTo(textPosition.x + item.width, textPosition.y); + context.arc(curveStartX, textPosition.y, 2 * opts.pix, 0, 2 * Math.PI); + context.closePath(); + context.fill(); + context.beginPath(); + context.setFontSize(item.textSize * opts.pix || config.fontSize); + context.setFillStyle(item.textColor || opts.fontColor); + context.fillText(item.text, textStartX, textPosition.y + 3); + context.closePath(); + context.stroke(); + context.closePath(); + } +} + +function drawToolTipSplitLine(offsetX, opts, config, context) { + var toolTipOption = opts.extra.tooltip || {}; + toolTipOption.gridType = toolTipOption.gridType == undefined ? 'solid' : toolTipOption.gridType; + toolTipOption.dashLength = toolTipOption.dashLength == undefined ? 4 : toolTipOption.dashLength; + var startY = opts.area[0]; + var endY = opts.height - opts.area[2]; + if (toolTipOption.gridType == 'dash') { + context.setLineDash([toolTipOption.dashLength, toolTipOption.dashLength]); + } + context.setStrokeStyle(toolTipOption.gridColor || '#cccccc'); + context.setLineWidth(1 * opts.pix); + context.beginPath(); + context.moveTo(offsetX, startY); + context.lineTo(offsetX, endY); + context.stroke(); + context.setLineDash([]); + if (toolTipOption.xAxisLabel) { + let labelText = opts.categories[opts.tooltip.index]; + context.setFontSize(config.fontSize); + let textWidth = measureText(labelText, config.fontSize, context); + let textX = offsetX - 0.5 * textWidth; + let textY = endY + 2 * opts.pix; + context.beginPath(); + context.setFillStyle(hexToRgb(toolTipOption.labelBgColor || config.toolTipBackground, toolTipOption.labelBgOpacity || config.toolTipOpacity)); + context.setStrokeStyle(toolTipOption.labelBgColor || config.toolTipBackground); + context.setLineWidth(1 * opts.pix); + context.rect(textX - toolTipOption.boxPadding * opts.pix, textY, textWidth + 2 * toolTipOption.boxPadding * opts.pix, config.fontSize + 2 * toolTipOption.boxPadding * opts.pix); + context.closePath(); + context.stroke(); + context.fill(); + context.beginPath(); + context.setFontSize(config.fontSize); + context.setFillStyle(toolTipOption.labelFontColor || opts.fontColor); + context.fillText(String(labelText), textX, textY + toolTipOption.boxPadding * opts.pix + config.fontSize); + context.closePath(); + context.stroke(); + } +} + +function drawMarkLine(opts, config, context) { + let markLineOption = assign({}, { + type: 'solid', + dashLength: 4, + data: [] + }, opts.extra.markLine); + let startX = opts.area[3]; + let endX = opts.width - opts.area[1]; + let points = calMarkLineData(markLineOption.data, opts); + for (let i = 0; i < points.length; i++) { + let item = assign({}, { + lineColor: '#DE4A42', + showLabel: false, + labelFontSize: 13, + labelPadding: 6, + labelFontColor: '#666666', + labelBgColor: '#DFE8FF', + labelBgOpacity: 0.8, + labelAlign: 'left', + labelOffsetX: 0, + labelOffsetY: 0, + }, points[i]); + if (markLineOption.type == 'dash') { + context.setLineDash([markLineOption.dashLength, markLineOption.dashLength]); + } + context.setStrokeStyle(item.lineColor); + context.setLineWidth(1 * opts.pix); + context.beginPath(); + context.moveTo(startX, item.y); + context.lineTo(endX, item.y); + context.stroke(); + context.setLineDash([]); + if (item.showLabel) { + let fontSize = item.labelFontSize * opts.pix; + let labelText = item.labelText ? item.labelText : item.value; + context.setFontSize(fontSize); + let textWidth = measureText(labelText, fontSize, context); + let bgWidth = textWidth + item.labelPadding * opts.pix * 2; + let bgStartX = item.labelAlign == 'left' ? opts.area[3] - bgWidth : opts.width - opts.area[1]; + bgStartX += item.labelOffsetX; + let bgStartY = item.y - 0.5 * fontSize - item.labelPadding * opts.pix; + bgStartY += item.labelOffsetY; + let textX = bgStartX + item.labelPadding * opts.pix; + let textY = item.y; + context.setFillStyle(hexToRgb(item.labelBgColor, item.labelBgOpacity)); + context.setStrokeStyle(item.labelBgColor); + context.setLineWidth(1 * opts.pix); + context.beginPath(); + context.rect(bgStartX, bgStartY, bgWidth, fontSize + 2 * item.labelPadding * opts.pix); + context.closePath(); + context.stroke(); + context.fill(); + context.setFontSize(fontSize); + context.setTextAlign('left'); + context.setFillStyle(item.labelFontColor); + context.fillText(String(labelText), textX, bgStartY + fontSize + item.labelPadding * opts.pix/2); + context.stroke(); + context.setTextAlign('left'); + } + } +} + +function drawToolTipHorizentalLine(opts, config, context, eachSpacing, xAxisPoints) { + var toolTipOption = assign({}, { + gridType: 'solid', + dashLength: 4 + }, opts.extra.tooltip); + var startX = opts.area[3]; + var endX = opts.width - opts.area[1]; + if (toolTipOption.gridType == 'dash') { + context.setLineDash([toolTipOption.dashLength, toolTipOption.dashLength]); + } + context.setStrokeStyle(toolTipOption.gridColor || '#cccccc'); + context.setLineWidth(1 * opts.pix); + context.beginPath(); + context.moveTo(startX, opts.tooltip.offset.y); + context.lineTo(endX, opts.tooltip.offset.y); + context.stroke(); + context.setLineDash([]); + if (toolTipOption.yAxisLabel) { + let boxPadding = toolTipOption.boxPadding * opts.pix; + let labelText = calTooltipYAxisData(opts.tooltip.offset.y, opts.series, opts, config, eachSpacing); + let widthArr = opts.chartData.yAxisData.yAxisWidth; + let tStartLeft = opts.area[3]; + let tStartRight = opts.width - opts.area[1]; + for (let i = 0; i < labelText.length; i++) { + context.setFontSize(toolTipOption.fontSize * opts.pix); + let textWidth = measureText(labelText[i], toolTipOption.fontSize * opts.pix, context); + let bgStartX, bgEndX, bgWidth; + if (widthArr[i].position == 'left') { + bgStartX = tStartLeft - (textWidth + boxPadding * 2) - 2 * opts.pix; + bgEndX = Math.max(bgStartX, bgStartX + textWidth + boxPadding * 2); + } else { + bgStartX = tStartRight + 2 * opts.pix; + bgEndX = Math.max(bgStartX + widthArr[i].width, bgStartX + textWidth + boxPadding * 2); + } + bgWidth = bgEndX - bgStartX; + let textX = bgStartX + (bgWidth - textWidth) / 2; + let textY = opts.tooltip.offset.y; + context.beginPath(); + context.setFillStyle(hexToRgb(toolTipOption.labelBgColor || config.toolTipBackground, toolTipOption.labelBgOpacity || config.toolTipOpacity)); + context.setStrokeStyle(toolTipOption.labelBgColor || config.toolTipBackground); + context.setLineWidth(1 * opts.pix); + context.rect(bgStartX, textY - 0.5 * config.fontSize - boxPadding, bgWidth, config.fontSize + 2 * boxPadding); + context.closePath(); + context.stroke(); + context.fill(); + context.beginPath(); + context.setFontSize(config.fontSize); + context.setFillStyle(toolTipOption.labelFontColor || opts.fontColor); + context.fillText(labelText[i], textX, textY + 0.5 * config.fontSize); + context.closePath(); + context.stroke(); + if (widthArr[i].position == 'left') { + tStartLeft -= (widthArr[i].width + opts.yAxis.padding * opts.pix); + } else { + tStartRight += widthArr[i].width + opts.yAxis.padding * opts.pix; + } + } + } +} + +function drawToolTipSplitArea(offsetX, opts, config, context, eachSpacing) { + var toolTipOption = assign({}, { + activeBgColor: '#000000', + activeBgOpacity: 0.08, + activeWidth: eachSpacing + }, opts.extra.column); + toolTipOption.activeWidth = toolTipOption.activeWidth > eachSpacing ? eachSpacing : toolTipOption.activeWidth; + var startY = opts.area[0]; + var endY = opts.height - opts.area[2]; + context.beginPath(); + context.setFillStyle(hexToRgb(toolTipOption.activeBgColor, toolTipOption.activeBgOpacity)); + context.rect(offsetX - toolTipOption.activeWidth / 2, startY, toolTipOption.activeWidth, endY - startY); + context.closePath(); + context.fill(); + context.setFillStyle("#FFFFFF"); +} + +function drawBarToolTipSplitArea(offsetX, opts, config, context, eachSpacing) { + var toolTipOption = assign({}, { + activeBgColor: '#000000', + activeBgOpacity: 0.08 + }, opts.extra.bar); + var startX = opts.area[3]; + var endX = opts.width - opts.area[1]; + context.beginPath(); + context.setFillStyle(hexToRgb(toolTipOption.activeBgColor, toolTipOption.activeBgOpacity)); + context.rect( startX ,offsetX - eachSpacing / 2 , endX - startX,eachSpacing); + context.closePath(); + context.fill(); + context.setFillStyle("#FFFFFF"); +} + + +function drawToolTip(textList, offset, opts, config, context, eachSpacing, xAxisPoints) { + var toolTipOption = assign({}, { + showBox: true, + showArrow: true, + showCategory: false, + bgColor: '#000000', + bgOpacity: 0.7, + borderColor: '#000000', + borderWidth: 0, + borderRadius: 0, + borderOpacity: 0.7, + boxPadding: 3, + fontColor: '#FFFFFF', + fontSize: 13, + lineHeight: 20, + legendShow: true, + legendShape: 'auto', + splitLine: true, + }, opts.extra.tooltip); + if(toolTipOption.showCategory==true && opts.categories){ + textList.unshift({text:opts.categories[opts.tooltip.index],color:null}) + } + var fontSize = toolTipOption.fontSize * opts.pix; + var lineHeight = toolTipOption.lineHeight * opts.pix; + var boxPadding = toolTipOption.boxPadding * opts.pix; + var legendWidth = fontSize; + var legendMarginRight = 5 * opts.pix; + if(toolTipOption.legendShow == false){ + legendWidth = 0; + legendMarginRight = 0; + } + var arrowWidth = toolTipOption.showArrow ? 8 * opts.pix : 0; + var isOverRightBorder = false; + if (opts.type == 'line' || opts.type == 'mount' || opts.type == 'area' || opts.type == 'candle' || opts.type == 'mix') { + if (toolTipOption.splitLine == true) { + drawToolTipSplitLine(opts.tooltip.offset.x, opts, config, context); + } + } + offset = assign({ + x: 0, + y: 0 + }, offset); + offset.y -= 8 * opts.pix; + var textWidth = textList.map(function(item) { + return measureText(item.text, fontSize, context); + }); + var toolTipWidth = legendWidth + legendMarginRight + 4 * boxPadding + Math.max.apply(null, textWidth); + var toolTipHeight = 2 * boxPadding + textList.length * lineHeight; + if (toolTipOption.showBox == false) { + return + } + // if beyond the right border + if (offset.x - Math.abs(opts._scrollDistance_ || 0) + arrowWidth + toolTipWidth > opts.width) { + isOverRightBorder = true; + } + if (toolTipHeight + offset.y > opts.height) { + offset.y = opts.height - toolTipHeight; + } + // draw background rect + context.beginPath(); + context.setFillStyle(hexToRgb(toolTipOption.bgColor, toolTipOption.bgOpacity)); + context.setLineWidth(toolTipOption.borderWidth * opts.pix); + context.setStrokeStyle(hexToRgb(toolTipOption.borderColor, toolTipOption.borderOpacity)); + var radius = toolTipOption.borderRadius; + if (isOverRightBorder) { + // 增加左侧仍然超出的判断 + if(toolTipWidth + arrowWidth > opts.width){ + offset.x = opts.width + Math.abs(opts._scrollDistance_ || 0) + arrowWidth + (toolTipWidth - opts.width) + } + if(toolTipWidth > offset.x){ + offset.x = opts.width + Math.abs(opts._scrollDistance_ || 0) + arrowWidth + (toolTipWidth - opts.width) + } + if (toolTipOption.showArrow) { + context.moveTo(offset.x, offset.y + 10 * opts.pix); + context.lineTo(offset.x - arrowWidth, offset.y + 10 * opts.pix + 5 * opts.pix); + } + context.arc(offset.x - arrowWidth - radius, offset.y + toolTipHeight - radius, radius, 0, Math.PI / 2, false); + context.arc(offset.x - arrowWidth - Math.round(toolTipWidth) + radius, offset.y + toolTipHeight - radius, radius, + Math.PI / 2, Math.PI, false); + context.arc(offset.x - arrowWidth - Math.round(toolTipWidth) + radius, offset.y + radius, radius, -Math.PI, -Math.PI / 2, false); + context.arc(offset.x - arrowWidth - radius, offset.y + radius, radius, -Math.PI / 2, 0, false); + if (toolTipOption.showArrow) { + context.lineTo(offset.x - arrowWidth, offset.y + 10 * opts.pix - 5 * opts.pix); + context.lineTo(offset.x, offset.y + 10 * opts.pix); + } + } else { + if (toolTipOption.showArrow) { + context.moveTo(offset.x, offset.y + 10 * opts.pix); + context.lineTo(offset.x + arrowWidth, offset.y + 10 * opts.pix - 5 * opts.pix); + } + context.arc(offset.x + arrowWidth + radius, offset.y + radius, radius, -Math.PI, -Math.PI / 2, false); + context.arc(offset.x + arrowWidth + Math.round(toolTipWidth) - radius, offset.y + radius, radius, -Math.PI / 2, 0, + false); + context.arc(offset.x + arrowWidth + Math.round(toolTipWidth) - radius, offset.y + toolTipHeight - radius, radius, 0, + Math.PI / 2, false); + context.arc(offset.x + arrowWidth + radius, offset.y + toolTipHeight - radius, radius, Math.PI / 2, Math.PI, false); + if (toolTipOption.showArrow) { + context.lineTo(offset.x + arrowWidth, offset.y + 10 * opts.pix + 5 * opts.pix); + context.lineTo(offset.x, offset.y + 10 * opts.pix); + } + } + context.closePath(); + context.fill(); + if (toolTipOption.borderWidth > 0) { + context.stroke(); + } + // draw legend + if(toolTipOption.legendShow){ + textList.forEach(function(item, index) { + if (item.color !== null) { + context.beginPath(); + context.setFillStyle(item.color); + var startX = offset.x + arrowWidth + 2 * boxPadding; + var startY = offset.y + (lineHeight - fontSize) / 2 + lineHeight * index + boxPadding + 1; + if (isOverRightBorder) { + startX = offset.x - toolTipWidth - arrowWidth + 2 * boxPadding; + } + switch (item.legendShape) { + case 'line': + context.moveTo(startX, startY + 0.5 * legendWidth - 2 * opts.pix); + context.fillRect(startX, startY + 0.5 * legendWidth - 2 * opts.pix, legendWidth, 4 * opts.pix); + break; + case 'triangle': + context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix); + context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * legendWidth + 5 * opts.pix); + context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * legendWidth + 5 * opts.pix); + context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix); + break; + case 'diamond': + context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix); + context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * legendWidth); + context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth + 5 * opts.pix); + context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * legendWidth); + context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix); + break; + case 'circle': + context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth); + context.arc(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth, 5 * opts.pix, 0, 2 * Math.PI); + break; + case 'rect': + context.moveTo(startX, startY + 0.5 * legendWidth - 5 * opts.pix); + context.fillRect(startX, startY + 0.5 * legendWidth - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix); + break; + case 'square': + context.moveTo(startX + 2 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix); + context.fillRect(startX + 2 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix, 10 * opts.pix, 10 * opts.pix); + break; + default: + context.moveTo(startX, startY + 0.5 * legendWidth - 5 * opts.pix); + context.fillRect(startX, startY + 0.5 * legendWidth - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix); + } + context.closePath(); + context.fill(); + } + }); + } + + // draw text list + textList.forEach(function(item, index) { + var startX = offset.x + arrowWidth + 2 * boxPadding + legendWidth + legendMarginRight; + if (isOverRightBorder) { + startX = offset.x - toolTipWidth - arrowWidth + 2 * boxPadding + legendWidth + legendMarginRight; + } + var startY = offset.y + lineHeight * index + (lineHeight - fontSize)/2 - 1 + boxPadding + fontSize; + context.beginPath(); + context.setFontSize(fontSize); + context.setTextBaseline('normal'); + context.setFillStyle(toolTipOption.fontColor); + context.fillText(item.text, startX, startY); + context.closePath(); + context.stroke(); + }); +} + +function drawColumnDataPoints(series, opts, config, context) { + let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; + let xAxisData = opts.chartData.xAxisData, + xAxisPoints = xAxisData.xAxisPoints, + eachSpacing = xAxisData.eachSpacing; + let columnOption = assign({}, { + type: 'group', + width: eachSpacing / 2, + meterBorder: 4, + meterFillColor: '#FFFFFF', + barBorderCircle: false, + barBorderRadius: [], + seriesGap: 2, + linearType: 'none', + linearOpacity: 1, + customColor: [], + colorStop: 0, + labelPosition: 'outside' + }, opts.extra.column); + let calPoints = []; + context.save(); + let leftNum = -2; + let rightNum = xAxisPoints.length + 2; + if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) { + context.translate(opts._scrollDistance_, 0); + leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2; + rightNum = leftNum + opts.xAxis.itemCount + 4; + } + if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) { + drawToolTipSplitArea(opts.tooltip.offset.x, opts, config, context, eachSpacing); + } + columnOption.customColor = fillCustomColor(columnOption.linearType, columnOption.customColor, series, config); + series.forEach(function(eachSeries, seriesIndex) { + let ranges, minRange, maxRange; + ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); + minRange = ranges.pop(); + maxRange = ranges.shift(); + + // 计算0轴坐标 + let spacingValid = opts.height - opts.area[0] - opts.area[2]; + let zeroHeight = spacingValid * (0 - minRange) / (maxRange - minRange); + let zeroPoints = opts.height - Math.round(zeroHeight) - opts.area[2]; + eachSeries.zeroPoints = zeroPoints; + var data = eachSeries.data; + switch (columnOption.type) { + case 'group': + var points = getColumnDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, zeroPoints, process); + var tooltipPoints = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process); + calPoints.push(tooltipPoints); + points = fixColumeData(points, eachSpacing, series.length, seriesIndex, config, opts); + for (let i = 0; i < points.length; i++) { + let item = points[i]; + //fix issues/I27B1N yyoinge & Joeshu + if (item !== null && i > leftNum && i < rightNum) { + var startX = item.x - item.width / 2; + var height = opts.height - item.y - opts.area[2]; + context.beginPath(); + var fillColor = item.color || eachSeries.color + var strokeColor = item.color || eachSeries.color + if (columnOption.linearType !== 'none') { + var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints); + //透明渐变 + if (columnOption.linearType == 'opacity') { + grd.addColorStop(0, hexToRgb(fillColor, columnOption.linearOpacity)); + grd.addColorStop(1, hexToRgb(fillColor, 1)); + } else { + grd.addColorStop(0, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity)); + grd.addColorStop(columnOption.colorStop, hexToRgb(columnOption.customColor[eachSeries.linearIndex],columnOption.linearOpacity)); + grd.addColorStop(1, hexToRgb(fillColor, 1)); + } + fillColor = grd + } + // 圆角边框 + if ((columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4) || columnOption.barBorderCircle === true) { + const left = startX; + const top = item.y > zeroPoints ? zeroPoints : item.y; + const width = item.width; + const height = Math.abs(zeroPoints - item.y); + if (columnOption.barBorderCircle) { + columnOption.barBorderRadius = [width / 2, width / 2, 0, 0]; + } + if(item.y > zeroPoints){ + columnOption.barBorderRadius = [0, 0,width / 2, width / 2]; + } + let [r0, r1, r2, r3] = columnOption.barBorderRadius; + let minRadius = Math.min(width/2,height/2); + r0 = r0 > minRadius ? minRadius : r0; + r1 = r1 > minRadius ? minRadius : r1; + r2 = r2 > minRadius ? minRadius : r2; + r3 = r3 > minRadius ? minRadius : r3; + r0 = r0 < 0 ? 0 : r0; + r1 = r1 < 0 ? 0 : r1; + r2 = r2 < 0 ? 0 : r2; + r3 = r3 < 0 ? 0 : r3; + context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2); + context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0); + context.arc(left + width - r2, top + height - r2, r2, 0, Math.PI / 2); + context.arc(left + r3, top + height - r3, r3, Math.PI / 2, Math.PI); + } else { + context.moveTo(startX, item.y); + context.lineTo(startX + item.width, item.y); + context.lineTo(startX + item.width, zeroPoints); + context.lineTo(startX, zeroPoints); + context.lineTo(startX, item.y); + context.setLineWidth(1) + context.setStrokeStyle(strokeColor); + } + context.setFillStyle(fillColor); + context.closePath(); + //context.stroke(); + context.fill(); + } + }; + break; + case 'stack': + // 绘制堆叠数据图 + var points = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process); + calPoints.push(points); + points = fixColumeStackData(points, eachSpacing, series.length, seriesIndex, config, opts, series); + for (let i = 0; i < points.length; i++) { + let item = points[i]; + if (item !== null && i > leftNum && i < rightNum) { + context.beginPath(); + var fillColor = item.color || eachSeries.color; + var startX = item.x - item.width / 2 + 1; + var height = opts.height - item.y - opts.area[2]; + var height0 = opts.height - item.y0 - opts.area[2]; + if (seriesIndex > 0) { + height -= height0; + } + context.setFillStyle(fillColor); + context.moveTo(startX, item.y); + context.fillRect(startX, item.y, item.width, height); + context.closePath(); + context.fill(); + } + }; + break; + case 'meter': + // 绘制温度计数据图 + var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); + calPoints.push(points); + points = fixColumeMeterData(points, eachSpacing, series.length, seriesIndex, config, opts, columnOption.meterBorder); + for (let i = 0; i < points.length; i++) { + let item = points[i]; + if (item !== null && i > leftNum && i < rightNum) { + //画背景颜色 + context.beginPath(); + if (seriesIndex == 0 && columnOption.meterBorder > 0) { + context.setStrokeStyle(eachSeries.color); + context.setLineWidth(columnOption.meterBorder * opts.pix); + } + if(seriesIndex == 0){ + context.setFillStyle(columnOption.meterFillColor); + }else{ + context.setFillStyle(item.color || eachSeries.color); + } + var startX = item.x - item.width / 2; + var height = opts.height - item.y - opts.area[2]; + if ((columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4) || columnOption.barBorderCircle === true) { + const left = startX; + const top = item.y; + const width = item.width; + const height = zeroPoints - item.y; + if (columnOption.barBorderCircle) { + columnOption.barBorderRadius = [width / 2, width / 2, 0, 0]; + } + let [r0, r1, r2, r3] = columnOption.barBorderRadius; + let minRadius = Math.min(width/2,height/2); + r0 = r0 > minRadius ? minRadius : r0; + r1 = r1 > minRadius ? minRadius : r1; + r2 = r2 > minRadius ? minRadius : r2; + r3 = r3 > minRadius ? minRadius : r3; + r0 = r0 < 0 ? 0 : r0; + r1 = r1 < 0 ? 0 : r1; + r2 = r2 < 0 ? 0 : r2; + r3 = r3 < 0 ? 0 : r3; + context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2); + context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0); + context.arc(left + width - r2, top + height - r2, r2, 0, Math.PI / 2); + context.arc(left + r3, top + height - r3, r3, Math.PI / 2, Math.PI); + context.fill(); + }else{ + context.moveTo(startX, item.y); + context.lineTo(startX + item.width, item.y); + context.lineTo(startX + item.width, zeroPoints); + context.lineTo(startX, zeroPoints); + context.lineTo(startX, item.y); + context.fill(); + } + if (seriesIndex == 0 && columnOption.meterBorder > 0) { + context.closePath(); + context.stroke(); + } + } + } + break; + } + }); + + if (opts.dataLabel !== false && process === 1) { + series.forEach(function(eachSeries, seriesIndex) { + let ranges, minRange, maxRange; + ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); + minRange = ranges.pop(); + maxRange = ranges.shift(); + var data = eachSeries.data; + switch (columnOption.type) { + case 'group': + var points = getColumnDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); + points = fixColumeData(points, eachSpacing, series.length, seriesIndex, config, opts); + drawColumePointText(points, eachSeries, config, context, opts); + break; + case 'stack': + var points = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process); + drawColumePointText(points, eachSeries, config, context, opts); + break; + case 'meter': + var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); + drawColumePointText(points, eachSeries, config, context, opts); + break; + } + }); + } + context.restore(); + return { + xAxisPoints: xAxisPoints, + calPoints: calPoints, + eachSpacing: eachSpacing + }; +} + +function drawMountDataPoints(series, opts, config, context) { + let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; + let xAxisData = opts.chartData.xAxisData, + xAxisPoints = xAxisData.xAxisPoints, + eachSpacing = xAxisData.eachSpacing; + let mountOption = assign({}, { + type: 'mount', + widthRatio: 1, + borderWidth: 1, + barBorderCircle: false, + barBorderRadius: [], + linearType: 'none', + linearOpacity: 1, + customColor: [], + colorStop: 0, + }, opts.extra.mount); + mountOption.widthRatio = mountOption.widthRatio <= 0 ? 0 : mountOption.widthRatio; + mountOption.widthRatio = mountOption.widthRatio >= 2 ? 2 : mountOption.widthRatio; + let calPoints = []; + context.save(); + let leftNum = -2; + let rightNum = xAxisPoints.length + 2; + if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) { + context.translate(opts._scrollDistance_, 0); + leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2; + rightNum = leftNum + opts.xAxis.itemCount + 4; + } + mountOption.customColor = fillCustomColor(mountOption.linearType, mountOption.customColor, series, config); + let ranges, minRange, maxRange; + ranges = [].concat(opts.chartData.yAxisData.ranges[0]); + minRange = ranges.pop(); + maxRange = ranges.shift(); + + // 计算0轴坐标 + let spacingValid = opts.height - opts.area[0] - opts.area[2]; + let zeroHeight = spacingValid * (0 - minRange) / (maxRange - minRange); + let zeroPoints = opts.height - Math.round(zeroHeight) - opts.area[2]; + + var points = getMountDataPoints(series, minRange, maxRange, xAxisPoints, eachSpacing, opts, mountOption, zeroPoints, process); + switch (mountOption.type) { + case 'bar': + for (let i = 0; i < points.length; i++) { + let item = points[i]; + if (item !== null && i > leftNum && i < rightNum) { + var startX = item.x - eachSpacing*mountOption.widthRatio/2; + var height = opts.height - item.y - opts.area[2]; + context.beginPath(); + var fillColor = item.color || series[i].color + var strokeColor = item.color || series[i].color + if (mountOption.linearType !== 'none') { + var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints); + //透明渐变 + if (mountOption.linearType == 'opacity') { + grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity)); + grd.addColorStop(1, hexToRgb(fillColor, 1)); + } else { + grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity)); + grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex],mountOption.linearOpacity)); + grd.addColorStop(1, hexToRgb(fillColor, 1)); + } + fillColor = grd + } + // 圆角边框 + if ((mountOption.barBorderRadius && mountOption.barBorderRadius.length === 4) || mountOption.barBorderCircle === true) { + const left = startX; + const top = item.y > zeroPoints ? zeroPoints : item.y; + const width = item.width; + const height = Math.abs(zeroPoints - item.y); + if (mountOption.barBorderCircle) { + mountOption.barBorderRadius = [width / 2, width / 2, 0, 0]; + } + if(item.y > zeroPoints){ + mountOption.barBorderRadius = [0, 0,width / 2, width / 2]; + } + let [r0, r1, r2, r3] = mountOption.barBorderRadius; + let minRadius = Math.min(width/2,height/2); + r0 = r0 > minRadius ? minRadius : r0; + r1 = r1 > minRadius ? minRadius : r1; + r2 = r2 > minRadius ? minRadius : r2; + r3 = r3 > minRadius ? minRadius : r3; + r0 = r0 < 0 ? 0 : r0; + r1 = r1 < 0 ? 0 : r1; + r2 = r2 < 0 ? 0 : r2; + r3 = r3 < 0 ? 0 : r3; + context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2); + context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0); + context.arc(left + width - r2, top + height - r2, r2, 0, Math.PI / 2); + context.arc(left + r3, top + height - r3, r3, Math.PI / 2, Math.PI); + } else { + context.moveTo(startX, item.y); + context.lineTo(startX + item.width, item.y); + context.lineTo(startX + item.width, zeroPoints); + context.lineTo(startX, zeroPoints); + context.lineTo(startX, item.y); + } + context.setStrokeStyle(strokeColor); + context.setFillStyle(fillColor); + if(mountOption.borderWidth > 0){ + context.setLineWidth(mountOption.borderWidth * opts.pix); + context.closePath(); + context.stroke(); + } + context.fill(); + } + }; + break; + case 'triangle': + for (let i = 0; i < points.length; i++) { + let item = points[i]; + if (item !== null && i > leftNum && i < rightNum) { + var startX = item.x - eachSpacing*mountOption.widthRatio/2; + var height = opts.height - item.y - opts.area[2]; + context.beginPath(); + var fillColor = item.color || series[i].color + var strokeColor = item.color || series[i].color + if (mountOption.linearType !== 'none') { + var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints); + //透明渐变 + if (mountOption.linearType == 'opacity') { + grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity)); + grd.addColorStop(1, hexToRgb(fillColor, 1)); + } else { + grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity)); + grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex],mountOption.linearOpacity)); + grd.addColorStop(1, hexToRgb(fillColor, 1)); + } + fillColor = grd + } + context.moveTo(startX, zeroPoints); + context.lineTo(item.x, item.y); + context.lineTo(startX + item.width, zeroPoints); + context.setStrokeStyle(strokeColor); + context.setFillStyle(fillColor); + if(mountOption.borderWidth > 0){ + context.setLineWidth(mountOption.borderWidth * opts.pix); + context.stroke(); + } + context.fill(); + } + }; + break; + case 'mount': + for (let i = 0; i < points.length; i++) { + let item = points[i]; + if (item !== null && i > leftNum && i < rightNum) { + var startX = item.x - eachSpacing*mountOption.widthRatio/2; + var height = opts.height - item.y - opts.area[2]; + context.beginPath(); + var fillColor = item.color || series[i].color + var strokeColor = item.color || series[i].color + if (mountOption.linearType !== 'none') { + var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints); + //透明渐变 + if (mountOption.linearType == 'opacity') { + grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity)); + grd.addColorStop(1, hexToRgb(fillColor, 1)); + } else { + grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity)); + grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex],mountOption.linearOpacity)); + grd.addColorStop(1, hexToRgb(fillColor, 1)); + } + fillColor = grd + } + context.moveTo(startX, zeroPoints); + context.bezierCurveTo(item.x - item.width/4, zeroPoints, item.x - item.width/4, item.y, item.x, item.y); + context.bezierCurveTo(item.x + item.width/4, item.y, item.x + item.width/4, zeroPoints, startX + item.width, zeroPoints); + context.setStrokeStyle(strokeColor); + context.setFillStyle(fillColor); + if(mountOption.borderWidth > 0){ + context.setLineWidth(mountOption.borderWidth * opts.pix); + context.stroke(); + } + context.fill(); + } + }; + break; + case 'sharp': + for (let i = 0; i < points.length; i++) { + let item = points[i]; + if (item !== null && i > leftNum && i < rightNum) { + var startX = item.x - eachSpacing*mountOption.widthRatio/2; + var height = opts.height - item.y - opts.area[2]; + context.beginPath(); + var fillColor = item.color || series[i].color + var strokeColor = item.color || series[i].color + if (mountOption.linearType !== 'none') { + var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints); + //透明渐变 + if (mountOption.linearType == 'opacity') { + grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity)); + grd.addColorStop(1, hexToRgb(fillColor, 1)); + } else { + grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity)); + grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex],mountOption.linearOpacity)); + grd.addColorStop(1, hexToRgb(fillColor, 1)); + } + fillColor = grd + } + context.moveTo(startX, zeroPoints); + context.quadraticCurveTo(item.x - 0, zeroPoints - height/4, item.x, item.y); + context.quadraticCurveTo(item.x + 0, zeroPoints - height/4, startX + item.width, zeroPoints) + context.setStrokeStyle(strokeColor); + context.setFillStyle(fillColor); + if(mountOption.borderWidth > 0){ + context.setLineWidth(mountOption.borderWidth * opts.pix); + context.stroke(); + } + context.fill(); + } + }; + break; + } + + if (opts.dataLabel !== false && process === 1) { + let ranges, minRange, maxRange; + ranges = [].concat(opts.chartData.yAxisData.ranges[0]); + minRange = ranges.pop(); + maxRange = ranges.shift(); + var points = getMountDataPoints(series, minRange, maxRange, xAxisPoints, eachSpacing, opts, mountOption, zeroPoints, process); + drawMountPointText(points, series, config, context, opts, zeroPoints); + } + context.restore(); + return { + xAxisPoints: xAxisPoints, + calPoints: points, + eachSpacing: eachSpacing + }; +} + +function drawBarDataPoints(series, opts, config, context) { + let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; + let yAxisPoints = []; + let eachSpacing = (opts.height - opts.area[0] - opts.area[2])/opts.categories.length; + for (let i = 0; i < opts.categories.length; i++) { + yAxisPoints.push(opts.area[0] + eachSpacing / 2 + eachSpacing * i); + } + let columnOption = assign({}, { + type: 'group', + width: eachSpacing / 2, + meterBorder: 4, + meterFillColor: '#FFFFFF', + barBorderCircle: false, + barBorderRadius: [], + seriesGap: 2, + linearType: 'none', + linearOpacity: 1, + customColor: [], + colorStop: 0, + }, opts.extra.bar); + let calPoints = []; + context.save(); + let leftNum = -2; + let rightNum = yAxisPoints.length + 2; + if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) { + drawBarToolTipSplitArea(opts.tooltip.offset.y, opts, config, context, eachSpacing); + } + columnOption.customColor = fillCustomColor(columnOption.linearType, columnOption.customColor, series, config); + series.forEach(function(eachSeries, seriesIndex) { + let ranges, minRange, maxRange; + ranges = [].concat(opts.chartData.xAxisData.ranges); + maxRange = ranges.pop(); + minRange = ranges.shift(); + var data = eachSeries.data; + switch (columnOption.type) { + case 'group': + var points = getBarDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, process); + var tooltipPoints = getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, series, process); + calPoints.push(tooltipPoints); + points = fixBarData(points, eachSpacing, series.length, seriesIndex, config, opts); + for (let i = 0; i < points.length; i++) { + let item = points[i]; + //fix issues/I27B1N yyoinge & Joeshu + if (item !== null && i > leftNum && i < rightNum) { + //var startX = item.x - item.width / 2; + var startX = opts.area[3]; + var startY = item.y - item.width / 2; + var height = item.height; + context.beginPath(); + var fillColor = item.color || eachSeries.color + var strokeColor = item.color || eachSeries.color + if (columnOption.linearType !== 'none') { + var grd = context.createLinearGradient(startX, item.y, item.x, item.y); + //透明渐变 + if (columnOption.linearType == 'opacity') { + grd.addColorStop(0, hexToRgb(fillColor, columnOption.linearOpacity)); + grd.addColorStop(1, hexToRgb(fillColor, 1)); + } else { + grd.addColorStop(0, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity)); + grd.addColorStop(columnOption.colorStop, hexToRgb(columnOption.customColor[eachSeries.linearIndex],columnOption.linearOpacity)); + grd.addColorStop(1, hexToRgb(fillColor, 1)); + } + fillColor = grd + } + // 圆角边框 + if ((columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4) || columnOption.barBorderCircle === true) { + const left = startX; + const width = item.width; + const top = item.y - item.width / 2; + const height = item.height; + if (columnOption.barBorderCircle) { + columnOption.barBorderRadius = [width / 2, width / 2, 0, 0]; + } + let [r0, r1, r2, r3] = columnOption.barBorderRadius; + let minRadius = Math.min(width/2,height/2); + r0 = r0 > minRadius ? minRadius : r0; + r1 = r1 > minRadius ? minRadius : r1; + r2 = r2 > minRadius ? minRadius : r2; + r3 = r3 > minRadius ? minRadius : r3; + r0 = r0 < 0 ? 0 : r0; + r1 = r1 < 0 ? 0 : r1; + r2 = r2 < 0 ? 0 : r2; + r3 = r3 < 0 ? 0 : r3; + + context.arc(left + r3, top + r3, r3, -Math.PI, -Math.PI / 2); + context.arc(item.x - r0, top + r0, r0, -Math.PI / 2, 0); + context.arc(item.x - r1, top + width - r1, r1, 0, Math.PI / 2); + context.arc(left + r2, top + width - r2, r2, Math.PI / 2, Math.PI); + } else { + context.moveTo(startX, startY); + context.lineTo(item.x, startY); + context.lineTo(item.x, startY + item.width); + context.lineTo(startX, startY + item.width); + context.lineTo(startX, startY); + context.setLineWidth(1) + context.setStrokeStyle(strokeColor); + } + context.setFillStyle(fillColor); + context.closePath(); + //context.stroke(); + context.fill(); + } + }; + break; + case 'stack': + // 绘制堆叠数据图 + var points = getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, series, process); + calPoints.push(points); + points = fixBarStackData(points, eachSpacing, series.length, seriesIndex, config, opts, series); + for (let i = 0; i < points.length; i++) { + let item = points[i]; + if (item !== null && i > leftNum && i < rightNum) { + context.beginPath(); + var fillColor = item.color || eachSeries.color; + var startX = item.x0; + context.setFillStyle(fillColor); + context.moveTo(startX, item.y - item.width/2); + context.fillRect(startX, item.y - item.width/2, item.height , item.width); + context.closePath(); + context.fill(); + } + }; + break; + } + }); + + if (opts.dataLabel !== false && process === 1) { + series.forEach(function(eachSeries, seriesIndex) { + let ranges, minRange, maxRange; + ranges = [].concat(opts.chartData.xAxisData.ranges); + maxRange = ranges.pop(); + minRange = ranges.shift(); + var data = eachSeries.data; + switch (columnOption.type) { + case 'group': + var points = getBarDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, process); + points = fixBarData(points, eachSpacing, series.length, seriesIndex, config, opts); + drawBarPointText(points, eachSeries, config, context, opts); + break; + case 'stack': + var points = getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, series, process); + drawBarPointText(points, eachSeries, config, context, opts); + break; + } + }); + } + return { + yAxisPoints: yAxisPoints, + calPoints: calPoints, + eachSpacing: eachSpacing + }; +} + +function drawCandleDataPoints(series, seriesMA, opts, config, context) { + var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1; + var candleOption = assign({}, { + color: {}, + average: {} + }, opts.extra.candle); + candleOption.color = assign({}, { + upLine: '#f04864', + upFill: '#f04864', + downLine: '#2fc25b', + downFill: '#2fc25b' + }, candleOption.color); + candleOption.average = assign({}, { + show: false, + name: [], + day: [], + color: config.color + }, candleOption.average); + opts.extra.candle = candleOption; + let xAxisData = opts.chartData.xAxisData, + xAxisPoints = xAxisData.xAxisPoints, + eachSpacing = xAxisData.eachSpacing; + let calPoints = []; + context.save(); + let leftNum = -2; + let rightNum = xAxisPoints.length + 2; + let leftSpace = 0; + let rightSpace = opts.width + eachSpacing; + if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) { + context.translate(opts._scrollDistance_, 0); + leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2; + rightNum = leftNum + opts.xAxis.itemCount + 4; + leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3]; + rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing; + } + //画均线 + if (candleOption.average.show || seriesMA) { //Merge pull request !12 from 邱贵翔 + seriesMA.forEach(function(eachSeries, seriesIndex) { + let ranges, minRange, maxRange; + ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); + minRange = ranges.pop(); + maxRange = ranges.shift(); + var data = eachSeries.data; + var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); + var splitPointList = splitPoints(points,eachSeries); + for (let i = 0; i < splitPointList.length; i++) { + let points = splitPointList[i]; + context.beginPath(); + context.setStrokeStyle(eachSeries.color); + context.setLineWidth(1); + if (points.length === 1) { + context.moveTo(points[0].x, points[0].y); + context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI); + } else { + context.moveTo(points[0].x, points[0].y); + let startPoint = 0; + for (let j = 0; j < points.length; j++) { + let item = points[j]; + if (startPoint == 0 && item.x > leftSpace) { + context.moveTo(item.x, item.y); + startPoint = 1; + } + if (j > 0 && item.x > leftSpace && item.x < rightSpace) { + var ctrlPoint = createCurveControlPoints(points, j - 1); + context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, + item.y); + } + } + context.moveTo(points[0].x, points[0].y); + } + context.closePath(); + context.stroke(); + } + }); + } + //画K线 + series.forEach(function(eachSeries, seriesIndex) { + let ranges, minRange, maxRange; + ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); + minRange = ranges.pop(); + maxRange = ranges.shift(); + var data = eachSeries.data; + var points = getCandleDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); + calPoints.push(points); + var splitPointList = splitPoints(points,eachSeries); + for (let i = 0; i < splitPointList[0].length; i++) { + if (i > leftNum && i < rightNum) { + let item = splitPointList[0][i]; + context.beginPath(); + //如果上涨 + if (data[i][1] - data[i][0] > 0) { + context.setStrokeStyle(candleOption.color.upLine); + context.setFillStyle(candleOption.color.upFill); + context.setLineWidth(1 * opts.pix); + context.moveTo(item[3].x, item[3].y); //顶点 + context.lineTo(item[1].x, item[1].y); //收盘中间点 + context.lineTo(item[1].x - eachSpacing / 4, item[1].y); //收盘左侧点 + context.lineTo(item[0].x - eachSpacing / 4, item[0].y); //开盘左侧点 + context.lineTo(item[0].x, item[0].y); //开盘中间点 + context.lineTo(item[2].x, item[2].y); //底点 + context.lineTo(item[0].x, item[0].y); //开盘中间点 + context.lineTo(item[0].x + eachSpacing / 4, item[0].y); //开盘右侧点 + context.lineTo(item[1].x + eachSpacing / 4, item[1].y); //收盘右侧点 + context.lineTo(item[1].x, item[1].y); //收盘中间点 + context.moveTo(item[3].x, item[3].y); //顶点 + } else { + context.setStrokeStyle(candleOption.color.downLine); + context.setFillStyle(candleOption.color.downFill); + context.setLineWidth(1 * opts.pix); + context.moveTo(item[3].x, item[3].y); //顶点 + context.lineTo(item[0].x, item[0].y); //开盘中间点 + context.lineTo(item[0].x - eachSpacing / 4, item[0].y); //开盘左侧点 + context.lineTo(item[1].x - eachSpacing / 4, item[1].y); //收盘左侧点 + context.lineTo(item[1].x, item[1].y); //收盘中间点 + context.lineTo(item[2].x, item[2].y); //底点 + context.lineTo(item[1].x, item[1].y); //收盘中间点 + context.lineTo(item[1].x + eachSpacing / 4, item[1].y); //收盘右侧点 + context.lineTo(item[0].x + eachSpacing / 4, item[0].y); //开盘右侧点 + context.lineTo(item[0].x, item[0].y); //开盘中间点 + context.moveTo(item[3].x, item[3].y); //顶点 + } + context.closePath(); + context.fill(); + context.stroke(); + } + } + }); + context.restore(); + return { + xAxisPoints: xAxisPoints, + calPoints: calPoints, + eachSpacing: eachSpacing + }; +} + +function drawAreaDataPoints(series, opts, config, context) { + var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; + var areaOption = assign({}, { + type: 'straight', + opacity: 0.2, + addLine: false, + width: 2, + gradient: false, + activeType: 'none' + }, opts.extra.area); + let xAxisData = opts.chartData.xAxisData, + xAxisPoints = xAxisData.xAxisPoints, + eachSpacing = xAxisData.eachSpacing; + let endY = opts.height - opts.area[2]; + let calPoints = []; + context.save(); + let leftSpace = 0; + let rightSpace = opts.width + eachSpacing; + if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) { + context.translate(opts._scrollDistance_, 0); + leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3]; + rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing; + } + series.forEach(function(eachSeries, seriesIndex) { + let ranges, minRange, maxRange; + ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); + minRange = ranges.pop(); + maxRange = ranges.shift(); + let data = eachSeries.data; + let points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); + calPoints.push(points); + let splitPointList = splitPoints(points,eachSeries); + for (let i = 0; i < splitPointList.length; i++) { + let points = splitPointList[i]; + // 绘制区域数 + context.beginPath(); + context.setStrokeStyle(hexToRgb(eachSeries.color, areaOption.opacity)); + if (areaOption.gradient) { + let gradient = context.createLinearGradient(0, opts.area[0], 0, opts.height - opts.area[2]); + gradient.addColorStop('0', hexToRgb(eachSeries.color, areaOption.opacity)); + gradient.addColorStop('1.0', hexToRgb("#FFFFFF", 0.1)); + context.setFillStyle(gradient); + } else { + context.setFillStyle(hexToRgb(eachSeries.color, areaOption.opacity)); + } + context.setLineWidth(areaOption.width * opts.pix); + if (points.length > 1) { + let firstPoint = points[0]; + let lastPoint = points[points.length - 1]; + context.moveTo(firstPoint.x, firstPoint.y); + let startPoint = 0; + if (areaOption.type === 'curve') { + for (let j = 0; j < points.length; j++) { + let item = points[j]; + if (startPoint == 0 && item.x > leftSpace) { + context.moveTo(item.x, item.y); + startPoint = 1; + } + if (j > 0 && item.x > leftSpace && item.x < rightSpace) { + let ctrlPoint = createCurveControlPoints(points, j - 1); + context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y); + } + }; + } + if (areaOption.type === 'straight') { + for (let j = 0; j < points.length; j++) { + let item = points[j]; + if (startPoint == 0 && item.x > leftSpace) { + context.moveTo(item.x, item.y); + startPoint = 1; + } + if (j > 0 && item.x > leftSpace && item.x < rightSpace) { + context.lineTo(item.x, item.y); + } + }; + } + if (areaOption.type === 'step') { + for (let j = 0; j < points.length; j++) { + let item = points[j]; + if (startPoint == 0 && item.x > leftSpace) { + context.moveTo(item.x, item.y); + startPoint = 1; + } + if (j > 0 && item.x > leftSpace && item.x < rightSpace) { + context.lineTo(item.x, points[j - 1].y); + context.lineTo(item.x, item.y); + } + }; + } + context.lineTo(lastPoint.x, endY); + context.lineTo(firstPoint.x, endY); + context.lineTo(firstPoint.x, firstPoint.y); + } else { + let item = points[0]; + context.moveTo(item.x - eachSpacing / 2, item.y); + // context.lineTo(item.x + eachSpacing / 2, item.y); + // context.lineTo(item.x + eachSpacing / 2, endY); + // context.lineTo(item.x - eachSpacing / 2, endY); + // context.moveTo(item.x - eachSpacing / 2, item.y); + } + context.closePath(); + context.fill(); + //画连线 + if (areaOption.addLine) { + if (eachSeries.lineType == 'dash') { + let dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8; + dashLength *= opts.pix; + context.setLineDash([dashLength, dashLength]); + } + context.beginPath(); + context.setStrokeStyle(eachSeries.color); + context.setLineWidth(areaOption.width * opts.pix); + if (points.length === 1) { + context.moveTo(points[0].x, points[0].y); + // context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI); + } else { + context.moveTo(points[0].x, points[0].y); + let startPoint = 0; + if (areaOption.type === 'curve') { + for (let j = 0; j < points.length; j++) { + let item = points[j]; + if (startPoint == 0 && item.x > leftSpace) { + context.moveTo(item.x, item.y); + startPoint = 1; + } + if (j > 0 && item.x > leftSpace && item.x < rightSpace) { + let ctrlPoint = createCurveControlPoints(points, j - 1); + context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y); + } + }; + } + if (areaOption.type === 'straight') { + for (let j = 0; j < points.length; j++) { + let item = points[j]; + if (startPoint == 0 && item.x > leftSpace) { + context.moveTo(item.x, item.y); + startPoint = 1; + } + if (j > 0 && item.x > leftSpace && item.x < rightSpace) { + context.lineTo(item.x, item.y); + } + }; + } + if (areaOption.type === 'step') { + for (let j = 0; j < points.length; j++) { + let item = points[j]; + if (startPoint == 0 && item.x > leftSpace) { + context.moveTo(item.x, item.y); + startPoint = 1; + } + if (j > 0 && item.x > leftSpace && item.x < rightSpace) { + context.lineTo(item.x, points[j - 1].y); + context.lineTo(item.x, item.y); + } + }; + } + context.moveTo(points[0].x, points[0].y); + } + context.stroke(); + context.setLineDash([]); + } + } + //画点 + if (opts.dataPointShape !== false) { + drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts); + } + drawActivePoint(points, eachSeries.color, eachSeries.pointShape, context, opts, areaOption,seriesIndex); + }); + + if (opts.dataLabel !== false && process === 1) { + series.forEach(function(eachSeries, seriesIndex) { + let ranges, minRange, maxRange; + ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); + minRange = ranges.pop(); + maxRange = ranges.shift(); + var data = eachSeries.data; + var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); + drawPointText(points, eachSeries, config, context, opts); + }); + } + context.restore(); + return { + xAxisPoints: xAxisPoints, + calPoints: calPoints, + eachSpacing: eachSpacing + }; +} + +function drawScatterDataPoints(series, opts, config, context) { + var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; + var scatterOption = assign({}, { + type: 'circle' + }, opts.extra.scatter); + let xAxisData = opts.chartData.xAxisData, + xAxisPoints = xAxisData.xAxisPoints, + eachSpacing = xAxisData.eachSpacing; + var calPoints = []; + context.save(); + let leftSpace = 0; + let rightSpace = opts.width + eachSpacing; + if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) { + context.translate(opts._scrollDistance_, 0); + leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3]; + rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing; + } + series.forEach(function(eachSeries, seriesIndex) { + let ranges, minRange, maxRange; + ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); + minRange = ranges.pop(); + maxRange = ranges.shift(); + var data = eachSeries.data; + var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); + context.beginPath(); + context.setStrokeStyle(eachSeries.color); + context.setFillStyle(eachSeries.color); + context.setLineWidth(1 * opts.pix); + var shape = eachSeries.pointShape; + if (shape === 'diamond') { + points.forEach(function(item, index) { + if (item !== null) { + context.moveTo(item.x, item.y - 4.5); + context.lineTo(item.x - 4.5, item.y); + context.lineTo(item.x, item.y + 4.5); + context.lineTo(item.x + 4.5, item.y); + context.lineTo(item.x, item.y - 4.5); + } + }); + } else if (shape === 'circle') { + points.forEach(function(item, index) { + if (item !== null) { + context.moveTo(item.x + 2.5 * opts.pix, item.y); + context.arc(item.x, item.y, 3 * opts.pix, 0, 2 * Math.PI, false); + } + }); + } else if (shape === 'square') { + points.forEach(function(item, index) { + if (item !== null) { + context.moveTo(item.x - 3.5, item.y - 3.5); + context.rect(item.x - 3.5, item.y - 3.5, 7, 7); + } + }); + } else if (shape === 'triangle') { + points.forEach(function(item, index) { + if (item !== null) { + context.moveTo(item.x, item.y - 4.5); + context.lineTo(item.x - 4.5, item.y + 4.5); + context.lineTo(item.x + 4.5, item.y + 4.5); + context.lineTo(item.x, item.y - 4.5); + } + }); + } else if (shape === 'triangle') { + return; + } + context.closePath(); + context.fill(); + context.stroke(); + }); + if (opts.dataLabel !== false && process === 1) { + series.forEach(function(eachSeries, seriesIndex) { + let ranges, minRange, maxRange; + ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); + minRange = ranges.pop(); + maxRange = ranges.shift(); + var data = eachSeries.data; + var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); + drawPointText(points, eachSeries, config, context, opts); + }); + } + context.restore(); + return { + xAxisPoints: xAxisPoints, + calPoints: calPoints, + eachSpacing: eachSpacing + }; +} + +function drawBubbleDataPoints(series, opts, config, context) { + var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; + var bubbleOption = assign({}, { + opacity: 1, + border:2 + }, opts.extra.bubble); + let xAxisData = opts.chartData.xAxisData, + xAxisPoints = xAxisData.xAxisPoints, + eachSpacing = xAxisData.eachSpacing; + var calPoints = []; + context.save(); + let leftSpace = 0; + let rightSpace = opts.width + eachSpacing; + if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) { + context.translate(opts._scrollDistance_, 0); + leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3]; + rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing; + } + series.forEach(function(eachSeries, seriesIndex) { + let ranges, minRange, maxRange; + ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); + minRange = ranges.pop(); + maxRange = ranges.shift(); + var data = eachSeries.data; + var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); + context.beginPath(); + context.setStrokeStyle(eachSeries.color); + context.setLineWidth(bubbleOption.border * opts.pix); + context.setFillStyle(hexToRgb(eachSeries.color, bubbleOption.opacity)); + points.forEach(function(item, index) { + context.moveTo(item.x + item.r, item.y); + context.arc(item.x, item.y, item.r * opts.pix, 0, 2 * Math.PI, false); + }); + context.closePath(); + context.fill(); + context.stroke(); + + if (opts.dataLabel !== false && process === 1) { + points.forEach(function(item, index) { + context.beginPath(); + var fontSize = eachSeries.textSize * opts.pix || config.fontSize; + context.setFontSize(fontSize); + context.setFillStyle(eachSeries.textColor || "#FFFFFF"); + context.setTextAlign('center'); + context.fillText(String(item.t), item.x, item.y + fontSize/2); + context.closePath(); + context.stroke(); + context.setTextAlign('left'); + }); + } + }); + context.restore(); + return { + xAxisPoints: xAxisPoints, + calPoints: calPoints, + eachSpacing: eachSpacing + }; +} + +function drawLineDataPoints(series, opts, config, context) { + var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; + var lineOption = assign({}, { + type: 'straight', + width: 2, + activeType: 'none', + linearType: 'none', + onShadow: false, + animation: 'vertical', + }, opts.extra.line); + lineOption.width *= opts.pix; + let xAxisData = opts.chartData.xAxisData, + xAxisPoints = xAxisData.xAxisPoints, + eachSpacing = xAxisData.eachSpacing; + var calPoints = []; + context.save(); + let leftSpace = 0; + let rightSpace = opts.width + eachSpacing; + if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) { + context.translate(opts._scrollDistance_, 0); + leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3]; + rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing; + } + series.forEach(function(eachSeries, seriesIndex) { + // 这段很神奇的代码用于解决ios16的setStrokeStyle失效的bug + context.beginPath(); + context.setStrokeStyle(eachSeries.color); + context.moveTo(-10000, -10000); + context.lineTo(-10001, -10001); + context.stroke(); + let ranges, minRange, maxRange; + ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); + minRange = ranges.pop(); + maxRange = ranges.shift(); + var data = eachSeries.data; + var points = getLineDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, lineOption, process); + calPoints.push(points); + var splitPointList = splitPoints(points,eachSeries); + if (eachSeries.lineType == 'dash') { + let dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8; + dashLength *= opts.pix; + context.setLineDash([dashLength, dashLength]); + } + context.beginPath(); + var strokeColor = eachSeries.color; + if (lineOption.linearType !== 'none' && eachSeries.linearColor && eachSeries.linearColor.length > 0) { + var grd = context.createLinearGradient(opts.chartData.xAxisData.startX, opts.height/2, opts.chartData.xAxisData.endX, opts.height/2); + for (var i = 0; i < eachSeries.linearColor.length; i++) { + grd.addColorStop(eachSeries.linearColor[i][0], hexToRgb(eachSeries.linearColor[i][1], 1)); + } + strokeColor = grd + } + context.setStrokeStyle(strokeColor); + if (lineOption.onShadow == true && eachSeries.setShadow && eachSeries.setShadow.length > 0) { + context.setShadow(eachSeries.setShadow[0], eachSeries.setShadow[1], eachSeries.setShadow[2], eachSeries.setShadow[3]); + }else{ + context.setShadow(0, 0, 0, 'rgba(0,0,0,0)'); + } + context.setLineWidth(lineOption.width); + splitPointList.forEach(function(points, index) { + if (points.length === 1) { + context.moveTo(points[0].x, points[0].y); + // context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI); + } else { + context.moveTo(points[0].x, points[0].y); + let startPoint = 0; + if (lineOption.type === 'curve') { + for (let j = 0; j < points.length; j++) { + let item = points[j]; + if (startPoint == 0 && item.x > leftSpace) { + context.moveTo(item.x, item.y); + startPoint = 1; + } + if (j > 0 && item.x > leftSpace && item.x < rightSpace) { + var ctrlPoint = createCurveControlPoints(points, j - 1); + context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y); + } + }; + } + if (lineOption.type === 'straight') { + for (let j = 0; j < points.length; j++) { + let item = points[j]; + if (startPoint == 0 && item.x > leftSpace) { + context.moveTo(item.x, item.y); + startPoint = 1; + } + if (j > 0 && item.x > leftSpace && item.x < rightSpace) { + context.lineTo(item.x, item.y); + } + }; + } + if (lineOption.type === 'step') { + for (let j = 0; j < points.length; j++) { + let item = points[j]; + if (startPoint == 0 && item.x > leftSpace) { + context.moveTo(item.x, item.y); + startPoint = 1; + } + if (j > 0 && item.x > leftSpace && item.x < rightSpace) { + context.lineTo(item.x, points[j - 1].y); + context.lineTo(item.x, item.y); + } + }; + } + context.moveTo(points[0].x, points[0].y); + } + }); + context.stroke(); + context.setLineDash([]); + if (opts.dataPointShape !== false) { + drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts); + } + drawActivePoint(points, eachSeries.color, eachSeries.pointShape, context, opts, lineOption); + }); + if (opts.dataLabel !== false && process === 1) { + series.forEach(function(eachSeries, seriesIndex) { + let ranges, minRange, maxRange; + ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); + minRange = ranges.pop(); + maxRange = ranges.shift(); + var data = eachSeries.data; + var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); + drawPointText(points, eachSeries, config, context, opts); + }); + } + context.restore(); + return { + xAxisPoints: xAxisPoints, + calPoints: calPoints, + eachSpacing: eachSpacing + }; +} + +function drawMixDataPoints(series, opts, config, context) { + let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; + let xAxisData = opts.chartData.xAxisData, + xAxisPoints = xAxisData.xAxisPoints, + eachSpacing = xAxisData.eachSpacing; + let columnOption = assign({}, { + width: eachSpacing / 2, + barBorderCircle: false, + barBorderRadius: [], + seriesGap: 2, + linearType: 'none', + linearOpacity: 1, + customColor: [], + colorStop: 0, + }, opts.extra.mix.column); + let areaOption = assign({}, { + opacity: 0.2, + gradient: false + }, opts.extra.mix.area); + let lineOption = assign({}, { + width: 2 + }, opts.extra.mix.line); + let endY = opts.height - opts.area[2]; + let calPoints = []; + var columnIndex = 0; + var columnLength = 0; + series.forEach(function(eachSeries, seriesIndex) { + if (eachSeries.type == 'column') { + columnLength += 1; + } + }); + context.save(); + let leftNum = -2; + let rightNum = xAxisPoints.length + 2; + let leftSpace = 0; + let rightSpace = opts.width + eachSpacing; + if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) { + context.translate(opts._scrollDistance_, 0); + leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2; + rightNum = leftNum + opts.xAxis.itemCount + 4; + leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3]; + rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing; + } + columnOption.customColor = fillCustomColor(columnOption.linearType, columnOption.customColor, series, config); + series.forEach(function(eachSeries, seriesIndex) { + let ranges, minRange, maxRange; + ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); + minRange = ranges.pop(); + maxRange = ranges.shift(); + var data = eachSeries.data; + var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); + calPoints.push(points); + // 绘制柱状数据图 + if (eachSeries.type == 'column') { + points = fixColumeData(points, eachSpacing, columnLength, columnIndex, config, opts); + for (let i = 0; i < points.length; i++) { + let item = points[i]; + if (item !== null && i > leftNum && i < rightNum) { + var startX = item.x - item.width / 2; + var height = opts.height - item.y - opts.area[2]; + context.beginPath(); + var fillColor = item.color || eachSeries.color + var strokeColor = item.color || eachSeries.color + if (columnOption.linearType !== 'none') { + var grd = context.createLinearGradient(startX, item.y, startX, opts.height - opts.area[2]); + //透明渐变 + if (columnOption.linearType == 'opacity') { + grd.addColorStop(0, hexToRgb(fillColor, columnOption.linearOpacity)); + grd.addColorStop(1, hexToRgb(fillColor, 1)); + } else { + grd.addColorStop(0, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity)); + grd.addColorStop(columnOption.colorStop, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity)); + grd.addColorStop(1, hexToRgb(fillColor, 1)); + } + fillColor = grd + } + // 圆角边框 + if ((columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4) || columnOption.barBorderCircle) { + const left = startX; + const top = item.y; + const width = item.width; + const height = opts.height - opts.area[2] - item.y; + if (columnOption.barBorderCircle) { + columnOption.barBorderRadius = [width / 2, width / 2, 0, 0]; + } + let [r0, r1, r2, r3] = columnOption.barBorderRadius; + let minRadius = Math.min(width/2,height/2); + r0 = r0 > minRadius ? minRadius : r0; + r1 = r1 > minRadius ? minRadius : r1; + r2 = r2 > minRadius ? minRadius : r2; + r3 = r3 > minRadius ? minRadius : r3; + r0 = r0 < 0 ? 0 : r0; + r1 = r1 < 0 ? 0 : r1; + r2 = r2 < 0 ? 0 : r2; + r3 = r3 < 0 ? 0 : r3; + context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2); + context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0); + context.arc(left + width - r2, top + height - r2, r2, 0, Math.PI / 2); + context.arc(left + r3, top + height - r3, r3, Math.PI / 2, Math.PI); + } else { + context.moveTo(startX, item.y); + context.lineTo(startX + item.width, item.y); + context.lineTo(startX + item.width, opts.height - opts.area[2]); + context.lineTo(startX, opts.height - opts.area[2]); + context.lineTo(startX, item.y); + context.setLineWidth(1) + context.setStrokeStyle(strokeColor); + } + context.setFillStyle(fillColor); + context.closePath(); + context.fill(); + } + } + columnIndex += 1; + } + //绘制区域图数据 + if (eachSeries.type == 'area') { + let splitPointList = splitPoints(points,eachSeries); + for (let i = 0; i < splitPointList.length; i++) { + let points = splitPointList[i]; + // 绘制区域数据 + context.beginPath(); + context.setStrokeStyle(eachSeries.color); + context.setStrokeStyle(hexToRgb(eachSeries.color, areaOption.opacity)); + if (areaOption.gradient) { + let gradient = context.createLinearGradient(0, opts.area[0], 0, opts.height - opts.area[2]); + gradient.addColorStop('0', hexToRgb(eachSeries.color, areaOption.opacity)); + gradient.addColorStop('1.0', hexToRgb("#FFFFFF", 0.1)); + context.setFillStyle(gradient); + } else { + context.setFillStyle(hexToRgb(eachSeries.color, areaOption.opacity)); + } + context.setLineWidth(2 * opts.pix); + if (points.length > 1) { + var firstPoint = points[0]; + let lastPoint = points[points.length - 1]; + context.moveTo(firstPoint.x, firstPoint.y); + let startPoint = 0; + if (eachSeries.style === 'curve') { + for (let j = 0; j < points.length; j++) { + let item = points[j]; + if (startPoint == 0 && item.x > leftSpace) { + context.moveTo(item.x, item.y); + startPoint = 1; + } + if (j > 0 && item.x > leftSpace && item.x < rightSpace) { + var ctrlPoint = createCurveControlPoints(points, j - 1); + context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y); + } + }; + } else { + for (let j = 0; j < points.length; j++) { + let item = points[j]; + if (startPoint == 0 && item.x > leftSpace) { + context.moveTo(item.x, item.y); + startPoint = 1; + } + if (j > 0 && item.x > leftSpace && item.x < rightSpace) { + context.lineTo(item.x, item.y); + } + }; + } + context.lineTo(lastPoint.x, endY); + context.lineTo(firstPoint.x, endY); + context.lineTo(firstPoint.x, firstPoint.y); + } else { + let item = points[0]; + context.moveTo(item.x - eachSpacing / 2, item.y); + // context.lineTo(item.x + eachSpacing / 2, item.y); + // context.lineTo(item.x + eachSpacing / 2, endY); + // context.lineTo(item.x - eachSpacing / 2, endY); + // context.moveTo(item.x - eachSpacing / 2, item.y); + } + context.closePath(); + context.fill(); + } + } + // 绘制折线数据图 + if (eachSeries.type == 'line') { + var splitPointList = splitPoints(points,eachSeries); + splitPointList.forEach(function(points, index) { + if (eachSeries.lineType == 'dash') { + let dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8; + dashLength *= opts.pix; + context.setLineDash([dashLength, dashLength]); + } + context.beginPath(); + context.setStrokeStyle(eachSeries.color); + context.setLineWidth(lineOption.width * opts.pix); + if (points.length === 1) { + context.moveTo(points[0].x, points[0].y); + // context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI); + } else { + context.moveTo(points[0].x, points[0].y); + let startPoint = 0; + if (eachSeries.style == 'curve') { + for (let j = 0; j < points.length; j++) { + let item = points[j]; + if (startPoint == 0 && item.x > leftSpace) { + context.moveTo(item.x, item.y); + startPoint = 1; + } + if (j > 0 && item.x > leftSpace && item.x < rightSpace) { + var ctrlPoint = createCurveControlPoints(points, j - 1); + context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, + item.x, item.y); + } + } + } else { + for (let j = 0; j < points.length; j++) { + let item = points[j]; + if (startPoint == 0 && item.x > leftSpace) { + context.moveTo(item.x, item.y); + startPoint = 1; + } + if (j > 0 && item.x > leftSpace && item.x < rightSpace) { + context.lineTo(item.x, item.y); + } + } + } + context.moveTo(points[0].x, points[0].y); + } + context.stroke(); + context.setLineDash([]); + }); + } + // 绘制点数据图 + if (eachSeries.type == 'point') { + eachSeries.addPoint = true; + } + if (eachSeries.addPoint == true && eachSeries.type !== 'column') { + drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts); + } + }); + if (opts.dataLabel !== false && process === 1) { + var columnIndex = 0; + series.forEach(function(eachSeries, seriesIndex) { + let ranges, minRange, maxRange; + ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); + minRange = ranges.pop(); + maxRange = ranges.shift(); + var data = eachSeries.data; + var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); + if (eachSeries.type !== 'column') { + drawPointText(points, eachSeries, config, context, opts); + } else { + points = fixColumeData(points, eachSpacing, columnLength, columnIndex, config, opts); + drawPointText(points, eachSeries, config, context, opts); + columnIndex += 1; + } + }); + } + context.restore(); + return { + xAxisPoints: xAxisPoints, + calPoints: calPoints, + eachSpacing: eachSpacing, + } +} + + +function drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints) { + var toolTipOption = opts.extra.tooltip || {}; + if (toolTipOption.horizentalLine && opts.tooltip && process === 1 && (opts.type == 'line' || opts.type == 'area' || opts.type == 'column' || opts.type == 'mount' || opts.type == 'candle' || opts.type == 'mix')) { + drawToolTipHorizentalLine(opts, config, context, eachSpacing, xAxisPoints) + } + context.save(); + if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) { + context.translate(opts._scrollDistance_, 0); + } + if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) { + drawToolTip(opts.tooltip.textList, opts.tooltip.offset, opts, config, context, eachSpacing, xAxisPoints); + } + context.restore(); + +} + +function drawXAxis(categories, opts, config, context) { + + let xAxisData = opts.chartData.xAxisData, + xAxisPoints = xAxisData.xAxisPoints, + startX = xAxisData.startX, + endX = xAxisData.endX, + eachSpacing = xAxisData.eachSpacing; + var boundaryGap = 'center'; + if (opts.type == 'bar' || opts.type == 'line' || opts.type == 'area'|| opts.type == 'scatter' || opts.type == 'bubble') { + boundaryGap = opts.xAxis.boundaryGap; + } + var startY = opts.height - opts.area[2]; + var endY = opts.area[0]; + + //绘制滚动条 + if (opts.enableScroll && opts.xAxis.scrollShow) { + var scrollY = opts.height - opts.area[2] + config.xAxisHeight; + var scrollScreenWidth = endX - startX; + var scrollTotalWidth = eachSpacing * (xAxisPoints.length - 1); + if(opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1){ + if(opts.extra.mount.widthRatio>2) opts.extra.mount.widthRatio = 2 + scrollTotalWidth += (opts.extra.mount.widthRatio - 1)*eachSpacing; + } + var scrollWidth = scrollScreenWidth * scrollScreenWidth / scrollTotalWidth; + var scrollLeft = 0; + if (opts._scrollDistance_) { + scrollLeft = -opts._scrollDistance_ * (scrollScreenWidth) / scrollTotalWidth; + } + context.beginPath(); + context.setLineCap('round'); + context.setLineWidth(6 * opts.pix); + context.setStrokeStyle(opts.xAxis.scrollBackgroundColor || "#EFEBEF"); + context.moveTo(startX, scrollY); + context.lineTo(endX, scrollY); + context.stroke(); + context.closePath(); + context.beginPath(); + context.setLineCap('round'); + context.setLineWidth(6 * opts.pix); + context.setStrokeStyle(opts.xAxis.scrollColor || "#A6A6A6"); + context.moveTo(startX + scrollLeft, scrollY); + context.lineTo(startX + scrollLeft + scrollWidth, scrollY); + context.stroke(); + context.closePath(); + context.setLineCap('butt'); + } + context.save(); + if (opts._scrollDistance_ && opts._scrollDistance_ !== 0) { + context.translate(opts._scrollDistance_, 0); + } + //绘制X轴刻度线 + if (opts.xAxis.calibration === true) { + context.setStrokeStyle(opts.xAxis.gridColor || "#cccccc"); + context.setLineCap('butt'); + context.setLineWidth(1 * opts.pix); + xAxisPoints.forEach(function(item, index) { + if (index > 0) { + context.beginPath(); + context.moveTo(item - eachSpacing / 2, startY); + context.lineTo(item - eachSpacing / 2, startY + 3 * opts.pix); + context.closePath(); + context.stroke(); + } + }); + } + //绘制X轴网格 + if (opts.xAxis.disableGrid !== true) { + context.setStrokeStyle(opts.xAxis.gridColor || "#cccccc"); + context.setLineCap('butt'); + context.setLineWidth(1 * opts.pix); + if (opts.xAxis.gridType == 'dash') { + context.setLineDash([opts.xAxis.dashLength * opts.pix, opts.xAxis.dashLength * opts.pix]); + } + opts.xAxis.gridEval = opts.xAxis.gridEval || 1; + xAxisPoints.forEach(function(item, index) { + if (index % opts.xAxis.gridEval == 0) { + context.beginPath(); + context.moveTo(item, startY); + context.lineTo(item, endY); + context.stroke(); + } + }); + context.setLineDash([]); + } + //绘制X轴文案 + if (opts.xAxis.disabled !== true) { + // 对X轴列表做抽稀处理 + //默认全部显示X轴标签 + let maxXAxisListLength = categories.length; + //如果设置了X轴单屏数量 + if (opts.xAxis.labelCount) { + //如果设置X轴密度 + if (opts.xAxis.itemCount) { + maxXAxisListLength = Math.ceil(categories.length / opts.xAxis.itemCount * opts.xAxis.labelCount); + } else { + maxXAxisListLength = opts.xAxis.labelCount; + } + maxXAxisListLength -= 1; + } + + let ratio = Math.ceil(categories.length / maxXAxisListLength); + + let newCategories = []; + let cgLength = categories.length; + for (let i = 0; i < cgLength; i++) { + if (i % ratio !== 0) { + newCategories.push(""); + } else { + newCategories.push(categories[i]); + } + } + newCategories[cgLength - 1] = categories[cgLength - 1]; + var xAxisFontSize = opts.xAxis.fontSize * opts.pix || config.fontSize; + if (config._xAxisTextAngle_ === 0) { + newCategories.forEach(function(item, index) { + var xitem = opts.xAxis.formatter ? opts.xAxis.formatter(item,index,opts) : item; + var offset = -measureText(String(xitem), xAxisFontSize, context) / 2; + if (boundaryGap == 'center') { + offset += eachSpacing / 2; + } + var scrollHeight = 0; + if (opts.xAxis.scrollShow) { + scrollHeight = 6 * opts.pix; + } + // 如果在主视图区域内 + var _scrollDistance_ = opts._scrollDistance_ || 0; + var truePoints = boundaryGap == 'center' ? xAxisPoints[index] + eachSpacing / 2 : xAxisPoints[index]; + if((truePoints - Math.abs(_scrollDistance_)) >= (opts.area[3] - 1) && (truePoints - Math.abs(_scrollDistance_)) <= (opts.width - opts.area[1] + 1)){ + context.beginPath(); + context.setFontSize(xAxisFontSize); + context.setFillStyle(opts.xAxis.fontColor || opts.fontColor); + context.fillText(String(xitem), xAxisPoints[index] + offset, startY + opts.xAxis.marginTop * opts.pix + (opts.xAxis.lineHeight - opts.xAxis.fontSize) * opts.pix / 2 + opts.xAxis.fontSize * opts.pix); + context.closePath(); + context.stroke(); + } + }); + } else { + newCategories.forEach(function(item, index) { + var xitem = opts.xAxis.formatter ? opts.xAxis.formatter(item) : item; + // 如果在主视图区域内 + var _scrollDistance_ = opts._scrollDistance_ || 0; + var truePoints = boundaryGap == 'center' ? xAxisPoints[index] + eachSpacing / 2 : xAxisPoints[index]; + if((truePoints - Math.abs(_scrollDistance_)) >= (opts.area[3] - 1) && (truePoints - Math.abs(_scrollDistance_)) <= (opts.width - opts.area[1] + 1)){ + context.save(); + context.beginPath(); + context.setFontSize(xAxisFontSize); + context.setFillStyle(opts.xAxis.fontColor || opts.fontColor); + var textWidth = measureText(String(xitem), xAxisFontSize, context); + var offsetX = xAxisPoints[index]; + if (boundaryGap == 'center') { + offsetX = xAxisPoints[index] + eachSpacing / 2; + } + var scrollHeight = 0; + if (opts.xAxis.scrollShow) { + scrollHeight = 6 * opts.pix; + } + var offsetY = startY + opts.xAxis.marginTop * opts.pix + xAxisFontSize - xAxisFontSize * Math.abs(Math.sin(config._xAxisTextAngle_)); + if(opts.xAxis.rotateAngle < 0){ + offsetX -= xAxisFontSize / 2; + textWidth = 0; + }else{ + offsetX += xAxisFontSize / 2; + textWidth = -textWidth; + } + context.translate(offsetX, offsetY); + context.rotate(-1 * config._xAxisTextAngle_); + context.fillText(String(xitem), textWidth , 0 ); + context.closePath(); + context.stroke(); + context.restore(); + } + }); + } + } + context.restore(); + + //画X轴标题 + if (opts.xAxis.title) { + context.beginPath(); + context.setFontSize(opts.xAxis.titleFontSize * opts.pix); + context.setFillStyle(opts.xAxis.titleFontColor); + context.fillText(String(opts.xAxis.title), opts.width - opts.area[1] + opts.xAxis.titleOffsetX * opts.pix,opts.height - opts.area[2] + opts.xAxis.marginTop * opts.pix + (opts.xAxis.lineHeight - opts.xAxis.titleFontSize) * opts.pix / 2 + (opts.xAxis.titleFontSize + opts.xAxis.titleOffsetY) * opts.pix); + context.closePath(); + context.stroke(); + } + + //绘制X轴轴线 + if (opts.xAxis.axisLine) { + context.beginPath(); + context.setStrokeStyle(opts.xAxis.axisLineColor); + context.setLineWidth(1 * opts.pix); + context.moveTo(startX, opts.height - opts.area[2]); + context.lineTo(endX, opts.height - opts.area[2]); + context.stroke(); + } +} + +function drawYAxisGrid(categories, opts, config, context) { + if (opts.yAxis.disableGrid === true) { + return; + } + let spacingValid = opts.height - opts.area[0] - opts.area[2]; + let eachSpacing = spacingValid / opts.yAxis.splitNumber; + let startX = opts.area[3]; + let xAxisPoints = opts.chartData.xAxisData.xAxisPoints, + xAxiseachSpacing = opts.chartData.xAxisData.eachSpacing; + let TotalWidth = xAxiseachSpacing * (xAxisPoints.length - 1); + if(opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1 ){ + if(opts.extra.mount.widthRatio>2) opts.extra.mount.widthRatio = 2 + TotalWidth += (opts.extra.mount.widthRatio - 1) * xAxiseachSpacing; + } + let endX = startX + TotalWidth; + let points = []; + let startY = 1 + if (opts.xAxis.axisLine === false) { + startY = 0 + } + for (let i = startY; i < opts.yAxis.splitNumber + 1; i++) { + points.push(opts.height - opts.area[2] - eachSpacing * i); + } + context.save(); + if (opts._scrollDistance_ && opts._scrollDistance_ !== 0) { + context.translate(opts._scrollDistance_, 0); + } + if (opts.yAxis.gridType == 'dash') { + context.setLineDash([opts.yAxis.dashLength * opts.pix, opts.yAxis.dashLength * opts.pix]); + } + context.setStrokeStyle(opts.yAxis.gridColor); + context.setLineWidth(1 * opts.pix); + points.forEach(function(item, index) { + context.beginPath(); + context.moveTo(startX, item); + context.lineTo(endX, item); + context.stroke(); + }); + context.setLineDash([]); + context.restore(); +} + +function drawYAxis(series, opts, config, context) { + if (opts.yAxis.disabled === true) { + return; + } + var spacingValid = opts.height - opts.area[0] - opts.area[2]; + var eachSpacing = spacingValid / opts.yAxis.splitNumber; + var startX = opts.area[3]; + var endX = opts.width - opts.area[1]; + var endY = opts.height - opts.area[2]; + // set YAxis background + context.beginPath(); + context.setFillStyle(opts.background); + if (opts.enableScroll == true && opts.xAxis.scrollPosition && opts.xAxis.scrollPosition !== 'left') { + context.fillRect(0, 0, startX, endY + 2 * opts.pix); + } + if (opts.enableScroll == true && opts.xAxis.scrollPosition && opts.xAxis.scrollPosition !== 'right') { + context.fillRect(endX, 0, opts.width, endY + 2 * opts.pix); + } + context.closePath(); + context.stroke(); + + let tStartLeft = opts.area[3]; + let tStartRight = opts.width - opts.area[1]; + let tStartCenter = opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2; + if (opts.yAxis.data) { + for (let i = 0; i < opts.yAxis.data.length; i++) { + let yData = opts.yAxis.data[i]; + var points = []; + if(yData.type === 'categories'){ + for (let i = 0; i <= yData.categories.length; i++) { + points.push(opts.area[0] + spacingValid / yData.categories.length / 2 + spacingValid / yData.categories.length * i); + } + }else{ + for (let i = 0; i <= opts.yAxis.splitNumber; i++) { + points.push(opts.area[0] + eachSpacing * i); + } + } + if (yData.disabled !== true) { + let rangesFormat = opts.chartData.yAxisData.rangesFormat[i]; + let yAxisFontSize = yData.fontSize ? yData.fontSize * opts.pix : config.fontSize; + let yAxisWidth = opts.chartData.yAxisData.yAxisWidth[i]; + let textAlign = yData.textAlign || "right"; + //画Y轴刻度及文案 + rangesFormat.forEach(function(item, index) { + var pos = points[index]; + context.beginPath(); + context.setFontSize(yAxisFontSize); + context.setLineWidth(1 * opts.pix); + context.setStrokeStyle(yData.axisLineColor || '#cccccc'); + context.setFillStyle(yData.fontColor || opts.fontColor); + let tmpstrat = 0; + let gapwidth = 4 * opts.pix; + if (yAxisWidth.position == 'left') { + //画刻度线 + if (yData.calibration == true) { + context.moveTo(tStartLeft, pos); + context.lineTo(tStartLeft - 3 * opts.pix, pos); + gapwidth += 3 * opts.pix; + } + //画文字 + switch (textAlign) { + case "left": + context.setTextAlign('left'); + tmpstrat = tStartLeft - yAxisWidth.width + break; + case "right": + context.setTextAlign('right'); + tmpstrat = tStartLeft - gapwidth + break; + default: + context.setTextAlign('center'); + tmpstrat = tStartLeft - yAxisWidth.width / 2 + } + context.fillText(String(item), tmpstrat, pos + yAxisFontSize / 2 - 3 * opts.pix); + + } else if (yAxisWidth.position == 'right') { + //画刻度线 + if (yData.calibration == true) { + context.moveTo(tStartRight, pos); + context.lineTo(tStartRight + 3 * opts.pix, pos); + gapwidth += 3 * opts.pix; + } + switch (textAlign) { + case "left": + context.setTextAlign('left'); + tmpstrat = tStartRight + gapwidth + break; + case "right": + context.setTextAlign('right'); + tmpstrat = tStartRight + yAxisWidth.width + break; + default: + context.setTextAlign('center'); + tmpstrat = tStartRight + yAxisWidth.width / 2 + } + context.fillText(String(item), tmpstrat, pos + yAxisFontSize / 2 - 3 * opts.pix); + } else if (yAxisWidth.position == 'center') { + //画刻度线 + if (yData.calibration == true) { + context.moveTo(tStartCenter, pos); + context.lineTo(tStartCenter - 3 * opts.pix, pos); + gapwidth += 3 * opts.pix; + } + //画文字 + switch (textAlign) { + case "left": + context.setTextAlign('left'); + tmpstrat = tStartCenter - yAxisWidth.width + break; + case "right": + context.setTextAlign('right'); + tmpstrat = tStartCenter - gapwidth + break; + default: + context.setTextAlign('center'); + tmpstrat = tStartCenter - yAxisWidth.width / 2 + } + context.fillText(String(item), tmpstrat, pos + yAxisFontSize / 2 - 3 * opts.pix); + } + context.closePath(); + context.stroke(); + context.setTextAlign('left'); + }); + //画Y轴轴线 + if (yData.axisLine !== false) { + context.beginPath(); + context.setStrokeStyle(yData.axisLineColor || '#cccccc'); + context.setLineWidth(1 * opts.pix); + if (yAxisWidth.position == 'left') { + context.moveTo(tStartLeft, opts.height - opts.area[2]); + context.lineTo(tStartLeft, opts.area[0]); + } else if (yAxisWidth.position == 'right') { + context.moveTo(tStartRight, opts.height - opts.area[2]); + context.lineTo(tStartRight, opts.area[0]); + } else if (yAxisWidth.position == 'center') { + context.moveTo(tStartCenter, opts.height - opts.area[2]); + context.lineTo(tStartCenter, opts.area[0]); + } + context.stroke(); + } + //画Y轴标题 + if (opts.yAxis.showTitle) { + let titleFontSize = yData.titleFontSize * opts.pix || config.fontSize; + let title = yData.title; + context.beginPath(); + context.setFontSize(titleFontSize); + context.setFillStyle(yData.titleFontColor || opts.fontColor); + if (yAxisWidth.position == 'left') { + context.fillText(title, tStartLeft - measureText(title, titleFontSize, context) / 2 + (yData.titleOffsetX || 0), opts.area[0] - (10 - (yData.titleOffsetY || 0)) * opts.pix); + } else if (yAxisWidth.position == 'right') { + context.fillText(title, tStartRight - measureText(title, titleFontSize, context) / 2 + (yData.titleOffsetX || 0), opts.area[0] - (10 - (yData.titleOffsetY || 0)) * opts.pix); + } else if (yAxisWidth.position == 'center') { + context.fillText(title, tStartCenter - measureText(title, titleFontSize, context) / 2 + (yData.titleOffsetX || 0), opts.area[0] - (10 - (yData.titleOffsetY || 0)) * opts.pix); + } + context.closePath(); + context.stroke(); + } + if (yAxisWidth.position == 'left') { + tStartLeft -= (yAxisWidth.width + opts.yAxis.padding * opts.pix); + } else { + tStartRight += yAxisWidth.width + opts.yAxis.padding * opts.pix; + } + } + } + } + +} + +function drawLegend(series, opts, config, context, chartData) { + if (opts.legend.show === false) { + return; + } + let legendData = chartData.legendData; + let legendList = legendData.points; + let legendArea = legendData.area; + let padding = opts.legend.padding * opts.pix; + let fontSize = opts.legend.fontSize * opts.pix; + let shapeWidth = 15 * opts.pix; + let shapeRight = 5 * opts.pix; + let itemGap = opts.legend.itemGap * opts.pix; + let lineHeight = Math.max(opts.legend.lineHeight * opts.pix, fontSize); + //画背景及边框 + context.beginPath(); + context.setLineWidth(opts.legend.borderWidth * opts.pix); + context.setStrokeStyle(opts.legend.borderColor); + context.setFillStyle(opts.legend.backgroundColor); + context.moveTo(legendArea.start.x, legendArea.start.y); + context.rect(legendArea.start.x, legendArea.start.y, legendArea.width, legendArea.height); + context.closePath(); + context.fill(); + context.stroke(); + legendList.forEach(function(itemList, listIndex) { + let width = 0; + let height = 0; + width = legendData.widthArr[listIndex]; + height = legendData.heightArr[listIndex]; + let startX = 0; + let startY = 0; + if (opts.legend.position == 'top' || opts.legend.position == 'bottom') { + switch (opts.legend.float) { + case 'left': + startX = legendArea.start.x + padding; + break; + case 'right': + startX = legendArea.start.x + legendArea.width - width; + break; + default: + startX = legendArea.start.x + (legendArea.width - width) / 2; + } + startY = legendArea.start.y + padding + listIndex * lineHeight; + } else { + if (listIndex == 0) { + width = 0; + } else { + width = legendData.widthArr[listIndex - 1]; + } + startX = legendArea.start.x + padding + width; + startY = legendArea.start.y + padding + (legendArea.height - height) / 2; + } + context.setFontSize(config.fontSize); + for (let i = 0; i < itemList.length; i++) { + let item = itemList[i]; + item.area = [0, 0, 0, 0]; + item.area[0] = startX; + item.area[1] = startY; + item.area[3] = startY + lineHeight; + context.beginPath(); + context.setLineWidth(1 * opts.pix); + context.setStrokeStyle(item.show ? item.color : opts.legend.hiddenColor); + context.setFillStyle(item.show ? item.color : opts.legend.hiddenColor); + switch (item.legendShape) { + case 'line': + context.moveTo(startX, startY + 0.5 * lineHeight - 2 * opts.pix); + context.fillRect(startX, startY + 0.5 * lineHeight - 2 * opts.pix, 15 * opts.pix, 4 * opts.pix); + break; + case 'triangle': + context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix); + context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * lineHeight + 5 * opts.pix); + context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * lineHeight + 5 * opts.pix); + context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix); + break; + case 'diamond': + context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix); + context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * lineHeight); + context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight + 5 * opts.pix); + context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * lineHeight); + context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix); + break; + case 'circle': + context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight); + context.arc(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight, 5 * opts.pix, 0, 2 * Math.PI); + break; + case 'rect': + context.moveTo(startX, startY + 0.5 * lineHeight - 5 * opts.pix); + context.fillRect(startX, startY + 0.5 * lineHeight - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix); + break; + case 'square': + context.moveTo(startX + 5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix); + context.fillRect(startX + 5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix, 10 * opts.pix, 10 * opts.pix); + break; + case 'none': + break; + default: + context.moveTo(startX, startY + 0.5 * lineHeight - 5 * opts.pix); + context.fillRect(startX, startY + 0.5 * lineHeight - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix); + } + context.closePath(); + context.fill(); + context.stroke(); + startX += shapeWidth + shapeRight; + let fontTrans = 0.5 * lineHeight + 0.5 * fontSize - 2; + const legendText = item.legendText ? item.legendText : item.name; + context.beginPath(); + context.setFontSize(fontSize); + context.setFillStyle(item.show ? opts.legend.fontColor : opts.legend.hiddenColor); + context.fillText(legendText, startX, startY + fontTrans); + context.closePath(); + context.stroke(); + if (opts.legend.position == 'top' || opts.legend.position == 'bottom') { + startX += measureText(legendText, fontSize, context) + itemGap; + item.area[2] = startX; + } else { + item.area[2] = startX + measureText(legendText, fontSize, context) + itemGap;; + startX -= shapeWidth + shapeRight; + startY += lineHeight; + } + } + }); +} + +function drawPieDataPoints(series, opts, config, context) { + var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; + var pieOption = assign({}, { + activeOpacity: 0.5, + activeRadius: 10, + offsetAngle: 0, + labelWidth: 15, + ringWidth: 30, + customRadius: 0, + border: false, + borderWidth: 2, + borderColor: '#FFFFFF', + centerColor: '#FFFFFF', + linearType: 'none', + customColor: [], + }, opts.type == "pie" ? opts.extra.pie : opts.extra.ring); + var centerPosition = { + x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2, + y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2 + }; + if (config.pieChartLinePadding == 0) { + config.pieChartLinePadding = pieOption.activeRadius * opts.pix; + } + + var radius = Math.min((opts.width - opts.area[1] - opts.area[3]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding - config._pieTextMaxLength_, (opts.height - opts.area[0] - opts.area[2]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding); + radius = radius < 10 ? 10 : radius; + if (pieOption.customRadius > 0) { + radius = pieOption.customRadius * opts.pix; + } + series = getPieDataPoints(series, radius, process); + var activeRadius = pieOption.activeRadius * opts.pix; + pieOption.customColor = fillCustomColor(pieOption.linearType, pieOption.customColor, series, config); + series = series.map(function(eachSeries) { + eachSeries._start_ += (pieOption.offsetAngle) * Math.PI / 180; + return eachSeries; + }); + series.forEach(function(eachSeries, seriesIndex) { + if (opts.tooltip) { + if (opts.tooltip.index == seriesIndex) { + context.beginPath(); + context.setFillStyle(hexToRgb(eachSeries.color, pieOption.activeOpacity || 0.5)); + context.moveTo(centerPosition.x, centerPosition.y); + context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_ + activeRadius, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._proportion_ * Math.PI); + context.closePath(); + context.fill(); + } + } + context.beginPath(); + context.setLineWidth(pieOption.borderWidth * opts.pix); + context.lineJoin = "round"; + context.setStrokeStyle(pieOption.borderColor); + var fillcolor = eachSeries.color; + if (pieOption.linearType == 'custom') { + var grd; + if(context.createCircularGradient){ + grd = context.createCircularGradient(centerPosition.x, centerPosition.y, eachSeries._radius_) + }else{ + grd = context.createRadialGradient(centerPosition.x, centerPosition.y, 0,centerPosition.x, centerPosition.y, eachSeries._radius_) + } + grd.addColorStop(0, hexToRgb(pieOption.customColor[eachSeries.linearIndex], 1)) + grd.addColorStop(1, hexToRgb(eachSeries.color, 1)) + fillcolor = grd + } + context.setFillStyle(fillcolor); + context.moveTo(centerPosition.x, centerPosition.y); + context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._proportion_ * Math.PI); + context.closePath(); + context.fill(); + if (pieOption.border == true) { + context.stroke(); + } + }); + if (opts.type === 'ring') { + var innerPieWidth = radius * 0.6; + if (typeof pieOption.ringWidth === 'number' && pieOption.ringWidth > 0) { + innerPieWidth = Math.max(0, radius - pieOption.ringWidth * opts.pix); + } + context.beginPath(); + context.setFillStyle(pieOption.centerColor); + context.moveTo(centerPosition.x, centerPosition.y); + context.arc(centerPosition.x, centerPosition.y, innerPieWidth, 0, 2 * Math.PI); + context.closePath(); + context.fill(); + } + if (opts.dataLabel !== false && process === 1) { + drawPieText(series, opts, config, context, radius, centerPosition); + } + if (process === 1 && opts.type === 'ring') { + drawRingTitle(opts, config, context, centerPosition); + } + return { + center: centerPosition, + radius: radius, + series: series + }; +} + +function drawRoseDataPoints(series, opts, config, context) { + var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; + var roseOption = assign({}, { + type: 'area', + activeOpacity: 0.5, + activeRadius: 10, + offsetAngle: 0, + labelWidth: 15, + border: false, + borderWidth: 2, + borderColor: '#FFFFFF', + linearType: 'none', + customColor: [], + }, opts.extra.rose); + if (config.pieChartLinePadding == 0) { + config.pieChartLinePadding = roseOption.activeRadius * opts.pix; + } + var centerPosition = { + x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2, + y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2 + }; + var radius = Math.min((opts.width - opts.area[1] - opts.area[3]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding - config._pieTextMaxLength_, (opts.height - opts.area[0] - opts.area[2]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding); + radius = radius < 10 ? 10 : radius; + var minRadius = roseOption.minRadius || radius * 0.5; + if(radius < minRadius){ + radius = minRadius + 10; + } + series = getRoseDataPoints(series, roseOption.type, minRadius, radius, process); + var activeRadius = roseOption.activeRadius * opts.pix; + roseOption.customColor = fillCustomColor(roseOption.linearType, roseOption.customColor, series, config); + series = series.map(function(eachSeries) { + eachSeries._start_ += (roseOption.offsetAngle || 0) * Math.PI / 180; + return eachSeries; + }); + series.forEach(function(eachSeries, seriesIndex) { + if (opts.tooltip) { + if (opts.tooltip.index == seriesIndex) { + context.beginPath(); + context.setFillStyle(hexToRgb(eachSeries.color, roseOption.activeOpacity || 0.5)); + context.moveTo(centerPosition.x, centerPosition.y); + context.arc(centerPosition.x, centerPosition.y, activeRadius + eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._rose_proportion_ * Math.PI); + context.closePath(); + context.fill(); + } + } + context.beginPath(); + context.setLineWidth(roseOption.borderWidth * opts.pix); + context.lineJoin = "round"; + context.setStrokeStyle(roseOption.borderColor); + var fillcolor = eachSeries.color; + if (roseOption.linearType == 'custom') { + var grd; + if(context.createCircularGradient){ + grd = context.createCircularGradient(centerPosition.x, centerPosition.y, eachSeries._radius_) + }else{ + grd = context.createRadialGradient(centerPosition.x, centerPosition.y, 0,centerPosition.x, centerPosition.y, eachSeries._radius_) + } + grd.addColorStop(0, hexToRgb(roseOption.customColor[eachSeries.linearIndex], 1)) + grd.addColorStop(1, hexToRgb(eachSeries.color, 1)) + fillcolor = grd + } + context.setFillStyle(fillcolor); + context.moveTo(centerPosition.x, centerPosition.y); + context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._rose_proportion_ * Math.PI); + context.closePath(); + context.fill(); + if (roseOption.border == true) { + context.stroke(); + } + }); + + if (opts.dataLabel !== false && process === 1) { + drawPieText(series, opts, config, context, radius, centerPosition); + } + return { + center: centerPosition, + radius: radius, + series: series + }; +} + +function drawArcbarDataPoints(series, opts, config, context) { + var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; + var arcbarOption = assign({}, { + startAngle: 0.75, + endAngle: 0.25, + type: 'default', + direction: 'cw', + lineCap: 'round', + width: 12 , + gap: 2 , + linearType: 'none', + customColor: [], + }, opts.extra.arcbar); + series = getArcbarDataPoints(series, arcbarOption, process); + var centerPosition; + if (arcbarOption.centerX || arcbarOption.centerY) { + centerPosition = { + x: arcbarOption.centerX ? arcbarOption.centerX : opts.width / 2, + y: arcbarOption.centerY ? arcbarOption.centerY : opts.height / 2 + }; + } else { + centerPosition = { + x: opts.width / 2, + y: opts.height / 2 + }; + } + var radius; + if (arcbarOption.radius) { + radius = arcbarOption.radius; + } else { + radius = Math.min(centerPosition.x, centerPosition.y); + radius -= 5 * opts.pix; + radius -= arcbarOption.width / 2; + } + radius = radius < 10 ? 10 : radius; + arcbarOption.customColor = fillCustomColor(arcbarOption.linearType, arcbarOption.customColor, series, config); + + for (let i = 0; i < series.length; i++) { + let eachSeries = series[i]; + //背景颜色 + context.setLineWidth(arcbarOption.width * opts.pix); + context.setStrokeStyle(arcbarOption.backgroundColor || '#E9E9E9'); + context.setLineCap(arcbarOption.lineCap); + context.beginPath(); + if (arcbarOption.type == 'default') { + context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width * opts.pix + arcbarOption.gap * opts.pix) * i, arcbarOption.startAngle * Math.PI, arcbarOption.endAngle * Math.PI, arcbarOption.direction == 'ccw'); + } else { + context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width * opts.pix + arcbarOption.gap * opts.pix) * i, 0, 2 * Math.PI, arcbarOption.direction == 'ccw'); + } + context.stroke(); + //进度条 + var fillColor = eachSeries.color + if(arcbarOption.linearType == 'custom'){ + var grd = context.createLinearGradient(centerPosition.x - radius, centerPosition.y, centerPosition.x + radius, centerPosition.y); + grd.addColorStop(1, hexToRgb(arcbarOption.customColor[eachSeries.linearIndex], 1)) + grd.addColorStop(0, hexToRgb(eachSeries.color, 1)) + fillColor = grd; + } + context.setLineWidth(arcbarOption.width * opts.pix); + context.setStrokeStyle(fillColor); + context.setLineCap(arcbarOption.lineCap); + context.beginPath(); + context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width * opts.pix + arcbarOption.gap * opts.pix) * i, arcbarOption.startAngle * Math.PI, eachSeries._proportion_ * Math.PI, arcbarOption.direction == 'ccw'); + context.stroke(); + } + drawRingTitle(opts, config, context, centerPosition); + return { + center: centerPosition, + radius: radius, + series: series + }; +} + +function drawGaugeDataPoints(categories, series, opts, config, context) { + var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1; + var gaugeOption = assign({}, { + type: 'default', + startAngle: 0.75, + endAngle: 0.25, + width: 15, + labelOffset:13, + splitLine: { + fixRadius: 0, + splitNumber: 10, + width: 15, + color: '#FFFFFF', + childNumber: 5, + childWidth: 5 + }, + pointer: { + width: 15, + color: 'auto' + } + }, opts.extra.gauge); + if (gaugeOption.oldAngle == undefined) { + gaugeOption.oldAngle = gaugeOption.startAngle; + } + if (gaugeOption.oldData == undefined) { + gaugeOption.oldData = 0; + } + categories = getGaugeAxisPoints(categories, gaugeOption.startAngle, gaugeOption.endAngle); + var centerPosition = { + x: opts.width / 2, + y: opts.height / 2 + }; + var radius = Math.min(centerPosition.x, centerPosition.y); + radius -= 5 * opts.pix; + radius -= gaugeOption.width / 2; + radius = radius < 10 ? 10 : radius; + var innerRadius = radius - gaugeOption.width; + var totalAngle = 0; + //判断仪表盘的样式:default百度样式,progress新样式 + if (gaugeOption.type == 'progress') { + //## 第一步画中心圆形背景和进度条背景 + //中心圆形背景 + var pieRadius = radius - gaugeOption.width * 3; + context.beginPath(); + let gradient = context.createLinearGradient(centerPosition.x, centerPosition.y - pieRadius, centerPosition.x, centerPosition.y + pieRadius); + //配置渐变填充(起点:中心点向上减半径;结束点中心点向下加半径) + gradient.addColorStop('0', hexToRgb(series[0].color, 0.3)); + gradient.addColorStop('1.0', hexToRgb("#FFFFFF", 0.1)); + context.setFillStyle(gradient); + context.arc(centerPosition.x, centerPosition.y, pieRadius, 0, 2 * Math.PI, false); + context.fill(); + //画进度条背景 + context.setLineWidth(gaugeOption.width); + context.setStrokeStyle(hexToRgb(series[0].color, 0.3)); + context.setLineCap('round'); + context.beginPath(); + context.arc(centerPosition.x, centerPosition.y, innerRadius, gaugeOption.startAngle * Math.PI, gaugeOption.endAngle * Math.PI, false); + context.stroke(); + //## 第二步画刻度线 + if (gaugeOption.endAngle < gaugeOption.startAngle) { + totalAngle = 2 + gaugeOption.endAngle - gaugeOption.startAngle; + } else { + totalAngle = gaugeOption.startAngle - gaugeOption.endAngle; + } + let splitAngle = totalAngle / gaugeOption.splitLine.splitNumber; + let childAngle = totalAngle / gaugeOption.splitLine.splitNumber / gaugeOption.splitLine.childNumber; + let startX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius; + let endX = -radius - gaugeOption.width - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.width; + context.save(); + context.translate(centerPosition.x, centerPosition.y); + context.rotate((gaugeOption.startAngle - 1) * Math.PI); + let len = gaugeOption.splitLine.splitNumber * gaugeOption.splitLine.childNumber + 1; + let proc = series[0].data * process; + for (let i = 0; i < len; i++) { + context.beginPath(); + //刻度线随进度变色 + if (proc > (i / len)) { + context.setStrokeStyle(hexToRgb(series[0].color, 1)); + } else { + context.setStrokeStyle(hexToRgb(series[0].color, 0.3)); + } + context.setLineWidth(3 * opts.pix); + context.moveTo(startX, 0); + context.lineTo(endX, 0); + context.stroke(); + context.rotate(childAngle * Math.PI); + } + context.restore(); + //## 第三步画进度条 + series = getGaugeArcbarDataPoints(series, gaugeOption, process); + context.setLineWidth(gaugeOption.width); + context.setStrokeStyle(series[0].color); + context.setLineCap('round'); + context.beginPath(); + context.arc(centerPosition.x, centerPosition.y, innerRadius, gaugeOption.startAngle * Math.PI, series[0]._proportion_ * Math.PI, false); + context.stroke(); + //## 第四步画指针 + let pointerRadius = radius - gaugeOption.width * 2.5; + context.save(); + context.translate(centerPosition.x, centerPosition.y); + context.rotate((series[0]._proportion_ - 1) * Math.PI); + context.beginPath(); + context.setLineWidth(gaugeOption.width / 3); + let gradient3 = context.createLinearGradient(0, -pointerRadius * 0.6, 0, pointerRadius * 0.6); + gradient3.addColorStop('0', hexToRgb('#FFFFFF', 0)); + gradient3.addColorStop('0.5', hexToRgb(series[0].color, 1)); + gradient3.addColorStop('1.0', hexToRgb('#FFFFFF', 0)); + context.setStrokeStyle(gradient3); + context.arc(0, 0, pointerRadius, 0.85 * Math.PI, 1.15 * Math.PI, false); + context.stroke(); + context.beginPath(); + context.setLineWidth(1); + context.setStrokeStyle(series[0].color); + context.setFillStyle(series[0].color); + context.moveTo(-pointerRadius - gaugeOption.width / 3 / 2, -4); + context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2 - 4, 0); + context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2, 4); + context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2, -4); + context.stroke(); + context.fill(); + context.restore(); + //default百度样式 + } else { + //画背景 + context.setLineWidth(gaugeOption.width); + context.setLineCap('butt'); + for (let i = 0; i < categories.length; i++) { + let eachCategories = categories[i]; + context.beginPath(); + context.setStrokeStyle(eachCategories.color); + context.arc(centerPosition.x, centerPosition.y, radius, eachCategories._startAngle_ * Math.PI, eachCategories._endAngle_ * Math.PI, false); + context.stroke(); + } + context.save(); + //画刻度线 + if (gaugeOption.endAngle < gaugeOption.startAngle) { + totalAngle = 2 + gaugeOption.endAngle - gaugeOption.startAngle; + } else { + totalAngle = gaugeOption.startAngle - gaugeOption.endAngle; + } + let splitAngle = totalAngle / gaugeOption.splitLine.splitNumber; + let childAngle = totalAngle / gaugeOption.splitLine.splitNumber / gaugeOption.splitLine.childNumber; + let startX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius; + let endX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.width; + let childendX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.childWidth; + context.translate(centerPosition.x, centerPosition.y); + context.rotate((gaugeOption.startAngle - 1) * Math.PI); + for (let i = 0; i < gaugeOption.splitLine.splitNumber + 1; i++) { + context.beginPath(); + context.setStrokeStyle(gaugeOption.splitLine.color); + context.setLineWidth(2 * opts.pix); + context.moveTo(startX, 0); + context.lineTo(endX, 0); + context.stroke(); + context.rotate(splitAngle * Math.PI); + } + context.restore(); + context.save(); + context.translate(centerPosition.x, centerPosition.y); + context.rotate((gaugeOption.startAngle - 1) * Math.PI); + for (let i = 0; i < gaugeOption.splitLine.splitNumber * gaugeOption.splitLine.childNumber + 1; i++) { + context.beginPath(); + context.setStrokeStyle(gaugeOption.splitLine.color); + context.setLineWidth(1 * opts.pix); + context.moveTo(startX, 0); + context.lineTo(childendX, 0); + context.stroke(); + context.rotate(childAngle * Math.PI); + } + context.restore(); + //画指针 + series = getGaugeDataPoints(series, categories, gaugeOption, process); + for (let i = 0; i < series.length; i++) { + let eachSeries = series[i]; + context.save(); + context.translate(centerPosition.x, centerPosition.y); + context.rotate((eachSeries._proportion_ - 1) * Math.PI); + context.beginPath(); + context.setFillStyle(eachSeries.color); + context.moveTo(gaugeOption.pointer.width, 0); + context.lineTo(0, -gaugeOption.pointer.width / 2); + context.lineTo(-innerRadius, 0); + context.lineTo(0, gaugeOption.pointer.width / 2); + context.lineTo(gaugeOption.pointer.width, 0); + context.closePath(); + context.fill(); + context.beginPath(); + context.setFillStyle('#FFFFFF'); + context.arc(0, 0, gaugeOption.pointer.width / 6, 0, 2 * Math.PI, false); + context.fill(); + context.restore(); + } + if (opts.dataLabel !== false) { + drawGaugeLabel(gaugeOption, radius, centerPosition, opts, config, context); + } + } + //画仪表盘标题,副标题 + drawRingTitle(opts, config, context, centerPosition); + if (process === 1 && opts.type === 'gauge') { + opts.extra.gauge.oldAngle = series[0]._proportion_; + opts.extra.gauge.oldData = series[0].data; + } + return { + center: centerPosition, + radius: radius, + innerRadius: innerRadius, + categories: categories, + totalAngle: totalAngle + }; +} + +function drawRadarDataPoints(series, opts, config, context) { + var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; + var radarOption = assign({}, { + gridColor: '#cccccc', + gridType: 'radar', + gridEval:1, + axisLabel:false, + axisLabelTofix:0, + labelShow:true, + labelColor:'#666666', + labelPointShow:false, + labelPointRadius:3, + labelPointColor:'#cccccc', + opacity: 0.2, + gridCount: 3, + border:false, + borderWidth:2, + linearType: 'none', + customColor: [], + }, opts.extra.radar); + var coordinateAngle = getRadarCoordinateSeries(opts.categories.length); + var centerPosition = { + x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2, + y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2 + }; + var xr = (opts.width - opts.area[1] - opts.area[3]) / 2 + var yr = (opts.height - opts.area[0] - opts.area[2]) / 2 + var radius = Math.min(xr - (getMaxTextListLength(opts.categories, config.fontSize, context) + config.radarLabelTextMargin), yr - config.radarLabelTextMargin); + radius -= config.radarLabelTextMargin * opts.pix; + radius = radius < 10 ? 10 : radius; + radius = radarOption.radius ? radarOption.radius : radius; + // 画分割线 + context.beginPath(); + context.setLineWidth(1 * opts.pix); + context.setStrokeStyle(radarOption.gridColor); + coordinateAngle.forEach(function(angle,index) { + var pos = convertCoordinateOrigin(radius * Math.cos(angle), radius * Math.sin(angle), centerPosition); + context.moveTo(centerPosition.x, centerPosition.y); + if (index % radarOption.gridEval == 0) { + context.lineTo(pos.x, pos.y); + } + }); + context.stroke(); + context.closePath(); + + // 画背景网格 + var _loop = function _loop(i) { + var startPos = {}; + context.beginPath(); + context.setLineWidth(1 * opts.pix); + context.setStrokeStyle(radarOption.gridColor); + if (radarOption.gridType == 'radar') { + coordinateAngle.forEach(function(angle, index) { + var pos = convertCoordinateOrigin(radius / radarOption.gridCount * i * Math.cos(angle), radius / + radarOption.gridCount * i * Math.sin(angle), centerPosition); + if (index === 0) { + startPos = pos; + context.moveTo(pos.x, pos.y); + } else { + context.lineTo(pos.x, pos.y); + } + }); + context.lineTo(startPos.x, startPos.y); + } else { + var pos = convertCoordinateOrigin(radius / radarOption.gridCount * i * Math.cos(1.5), radius / radarOption.gridCount * i * Math.sin(1.5), centerPosition); + context.arc(centerPosition.x, centerPosition.y, centerPosition.y - pos.y, 0, 2 * Math.PI, false); + } + context.stroke(); + context.closePath(); + }; + for (var i = 1; i <= radarOption.gridCount; i++) { + _loop(i); + } + radarOption.customColor = fillCustomColor(radarOption.linearType, radarOption.customColor, series, config); + var radarDataPoints = getRadarDataPoints(coordinateAngle, centerPosition, radius, series, opts, process); + radarDataPoints.forEach(function(eachSeries, seriesIndex) { + // 绘制区域数据 + context.beginPath(); + context.setLineWidth(radarOption.borderWidth * opts.pix); + context.setStrokeStyle(eachSeries.color); + + var fillcolor = hexToRgb(eachSeries.color, radarOption.opacity); + if (radarOption.linearType == 'custom') { + var grd; + if(context.createCircularGradient){ + grd = context.createCircularGradient(centerPosition.x, centerPosition.y, radius) + }else{ + grd = context.createRadialGradient(centerPosition.x, centerPosition.y, 0,centerPosition.x, centerPosition.y, radius) + } + grd.addColorStop(0, hexToRgb(radarOption.customColor[series[seriesIndex].linearIndex], radarOption.opacity)) + grd.addColorStop(1, hexToRgb(eachSeries.color, radarOption.opacity)) + fillcolor = grd + } + + context.setFillStyle(fillcolor); + eachSeries.data.forEach(function(item, index) { + if (index === 0) { + context.moveTo(item.position.x, item.position.y); + } else { + context.lineTo(item.position.x, item.position.y); + } + }); + context.closePath(); + context.fill(); + if(radarOption.border === true){ + context.stroke(); + } + context.closePath(); + if (opts.dataPointShape !== false) { + var points = eachSeries.data.map(function(item) { + return item.position; + }); + drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts); + } + }); + // 画刻度值 + if(radarOption.axisLabel === true){ + const maxData = Math.max(radarOption.max, Math.max.apply(null, dataCombine(series))); + const stepLength = radius / radarOption.gridCount; + const fontSize = opts.fontSize * opts.pix; + context.setFontSize(fontSize); + context.setFillStyle(opts.fontColor); + context.setTextAlign('left'); + for (var i = 0; i < radarOption.gridCount + 1; i++) { + let label = i * maxData / radarOption.gridCount; + label = label.toFixed(radarOption.axisLabelTofix); + context.fillText(String(label), centerPosition.x + 3 * opts.pix, centerPosition.y - i * stepLength + fontSize / 2); + } + } + + // draw label text + drawRadarLabel(coordinateAngle, radius, centerPosition, opts, config, context); + + // draw dataLabel + if (opts.dataLabel !== false && process === 1) { + radarDataPoints.forEach(function(eachSeries, seriesIndex) { + context.beginPath(); + var fontSize = eachSeries.textSize * opts.pix || config.fontSize; + context.setFontSize(fontSize); + context.setFillStyle(eachSeries.textColor || opts.fontColor); + eachSeries.data.forEach(function(item, index) { + //如果是中心点垂直的上下点位 + if(Math.abs(item.position.x - centerPosition.x)<2){ + //如果在上面 + if(item.position.y < centerPosition.y){ + context.setTextAlign('center'); + context.fillText(item.value, item.position.x, item.position.y - 4); + }else{ + context.setTextAlign('center'); + context.fillText(item.value, item.position.x, item.position.y + fontSize + 2); + } + }else{ + //如果在左侧 + if(item.position.x < centerPosition.x){ + context.setTextAlign('right'); + context.fillText(item.value, item.position.x - 4, item.position.y + fontSize / 2 - 2); + }else{ + context.setTextAlign('left'); + context.fillText(item.value, item.position.x + 4, item.position.y + fontSize / 2 - 2); + } + } + }); + context.closePath(); + context.stroke(); + }); + context.setTextAlign('left'); + } + + return { + center: centerPosition, + radius: radius, + angleList: coordinateAngle + }; +} + +// 经纬度转墨卡托 +function lonlat2mercator(longitude, latitude) { + var mercator = Array(2); + var x = longitude * 20037508.34 / 180; + var y = Math.log(Math.tan((90 + latitude) * Math.PI / 360)) / (Math.PI / 180); + y = y * 20037508.34 / 180; + mercator[0] = x; + mercator[1] = y; + return mercator; +} + +// 墨卡托转经纬度 +function mercator2lonlat(longitude, latitude) { + var lonlat = Array(2) + var x = longitude / 20037508.34 * 180; + var y = latitude / 20037508.34 * 180; + y = 180 / Math.PI * (2 * Math.atan(Math.exp(y * Math.PI / 180)) - Math.PI / 2); + lonlat[0] = x; + lonlat[1] = y; + return lonlat; +} + +function getBoundingBox(data) { + var bounds = {},coords; + bounds.xMin = 180; + bounds.xMax = 0; + bounds.yMin = 90; + bounds.yMax = 0 + for (var i = 0; i < data.length; i++) { + var coorda = data[i].geometry.coordinates + for (var k = 0; k < coorda.length; k++) { + coords = coorda[k]; + if (coords.length == 1) { + coords = coords[0] + } + for (var j = 0; j < coords.length; j++) { + var longitude = coords[j][0]; + var latitude = coords[j][1]; + var point = { + x: longitude, + y: latitude + } + bounds.xMin = bounds.xMin < point.x ? bounds.xMin : point.x; + bounds.xMax = bounds.xMax > point.x ? bounds.xMax : point.x; + bounds.yMin = bounds.yMin < point.y ? bounds.yMin : point.y; + bounds.yMax = bounds.yMax > point.y ? bounds.yMax : point.y; + } + } + } + return bounds; +} + +function coordinateToPoint(latitude, longitude, bounds, scale, xoffset, yoffset) { + return { + x: (longitude - bounds.xMin) * scale + xoffset, + y: (bounds.yMax - latitude) * scale + yoffset + }; +} + +function pointToCoordinate(pointY, pointX, bounds, scale, xoffset, yoffset) { + return { + x: (pointX - xoffset) / scale + bounds.xMin, + y: bounds.yMax - (pointY - yoffset) / scale + }; +} + +function isRayIntersectsSegment(poi, s_poi, e_poi) { + if (s_poi[1] == e_poi[1]) { + return false; + } + if (s_poi[1] > poi[1] && e_poi[1] > poi[1]) { + return false; + } + if (s_poi[1] < poi[1] && e_poi[1] < poi[1]) { + return false; + } + if (s_poi[1] == poi[1] && e_poi[1] > poi[1]) { + return false; + } + if (e_poi[1] == poi[1] && s_poi[1] > poi[1]) { + return false; + } + if (s_poi[0] < poi[0] && e_poi[1] < poi[1]) { + return false; + } + let xseg = e_poi[0] - (e_poi[0] - s_poi[0]) * (e_poi[1] - poi[1]) / (e_poi[1] - s_poi[1]); + if (xseg < poi[0]) { + return false; + } else { + return true; + } +} + +function isPoiWithinPoly(poi, poly, mercator) { + let sinsc = 0; + for (let i = 0; i < poly.length; i++) { + let epoly = poly[i][0]; + if (poly.length == 1) { + epoly = poly[i][0] + } + for (let j = 0; j < epoly.length - 1; j++) { + let s_poi = epoly[j]; + let e_poi = epoly[j + 1]; + if (mercator) { + s_poi = lonlat2mercator(epoly[j][0], epoly[j][1]); + e_poi = lonlat2mercator(epoly[j + 1][0], epoly[j + 1][1]); + } + if (isRayIntersectsSegment(poi, s_poi, e_poi)) { + sinsc += 1; + } + } + } + if (sinsc % 2 == 1) { + return true; + } else { + return false; + } +} + +function drawMapDataPoints(series, opts, config, context) { + var mapOption = assign({}, { + border: true, + mercator: false, + borderWidth: 1, + active:true, + borderColor: '#666666', + fillOpacity: 0.6, + activeBorderColor: '#f04864', + activeFillColor: '#facc14', + activeFillOpacity: 1 + }, opts.extra.map); + var coords, point; + var data = series; + var bounds = getBoundingBox(data); + if (mapOption.mercator) { + var max = lonlat2mercator(bounds.xMax, bounds.yMax) + var min = lonlat2mercator(bounds.xMin, bounds.yMin) + bounds.xMax = max[0] + bounds.yMax = max[1] + bounds.xMin = min[0] + bounds.yMin = min[1] + } + var xScale = opts.width / Math.abs(bounds.xMax - bounds.xMin); + var yScale = opts.height / Math.abs(bounds.yMax - bounds.yMin); + var scale = xScale < yScale ? xScale : yScale; + var xoffset = opts.width / 2 - Math.abs(bounds.xMax - bounds.xMin) / 2 * scale; + var yoffset = opts.height / 2 - Math.abs(bounds.yMax - bounds.yMin) / 2 * scale; + for (var i = 0; i < data.length; i++) { + context.beginPath(); + context.setLineWidth(mapOption.borderWidth * opts.pix); + context.setStrokeStyle(mapOption.borderColor); + context.setFillStyle(hexToRgb(series[i].color, series[i].fillOpacity||mapOption.fillOpacity)); + if (mapOption.active == true && opts.tooltip) { + if (opts.tooltip.index == i) { + context.setStrokeStyle(mapOption.activeBorderColor); + context.setFillStyle(hexToRgb(mapOption.activeFillColor, mapOption.activeFillOpacity)); + } + } + var coorda = data[i].geometry.coordinates + for (var k = 0; k < coorda.length; k++) { + coords = coorda[k]; + if (coords.length == 1) { + coords = coords[0] + } + for (var j = 0; j < coords.length; j++) { + var gaosi = Array(2); + if (mapOption.mercator) { + gaosi = lonlat2mercator(coords[j][0], coords[j][1]) + } else { + gaosi = coords[j] + } + point = coordinateToPoint(gaosi[1], gaosi[0], bounds, scale, xoffset, yoffset) + if (j === 0) { + context.beginPath(); + context.moveTo(point.x, point.y); + } else { + context.lineTo(point.x, point.y); + } + } + context.fill(); + if (mapOption.border == true) { + context.stroke(); + } + } + } + if (opts.dataLabel == true) { + for (var i = 0; i < data.length; i++) { + var centerPoint = data[i].properties.centroid; + if (centerPoint) { + if (mapOption.mercator) { + centerPoint = lonlat2mercator(data[i].properties.centroid[0], data[i].properties.centroid[1]) + } + point = coordinateToPoint(centerPoint[1], centerPoint[0], bounds, scale, xoffset, yoffset); + let fontSize = data[i].textSize * opts.pix || config.fontSize; + let fontColor = data[i].textColor || opts.fontColor; + if(mapOption.active && mapOption.activeTextColor && opts.tooltip && opts.tooltip.index == i){ + fontColor = mapOption.activeTextColor; + } + let text = data[i].properties.name; + context.beginPath(); + context.setFontSize(fontSize) + context.setFillStyle(fontColor) + context.fillText(text, point.x - measureText(text, fontSize, context) / 2, point.y + fontSize / 2); + context.closePath(); + context.stroke(); + } + } + } + opts.chartData.mapData = { + bounds: bounds, + scale: scale, + xoffset: xoffset, + yoffset: yoffset, + mercator: mapOption.mercator + } + drawToolTipBridge(opts, config, context, 1); + context.draw(); +} + +function normalInt(min, max, iter) { + iter = iter == 0 ? 1 : iter; + var arr = []; + for (var i = 0; i < iter; i++) { + arr[i] = Math.random(); + }; + return Math.floor(arr.reduce(function(i, j) { + return i + j + }) / iter * (max - min)) + min; +}; + +function collisionNew(area, points, width, height) { + var isIn = false; + for (let i = 0; i < points.length; i++) { + if (points[i].area) { + if (area[3] < points[i].area[1] || area[0] > points[i].area[2] || area[1] > points[i].area[3] || area[2] < points[i].area[0]) { + if (area[0] < 0 || area[1] < 0 || area[2] > width || area[3] > height) { + isIn = true; + break; + } else { + isIn = false; + } + } else { + isIn = true; + break; + } + } + } + return isIn; +}; + +function getWordCloudPoint(opts, type, context) { + let points = opts.series; + switch (type) { + case 'normal': + for (let i = 0; i < points.length; i++) { + let text = points[i].name; + let tHeight = points[i].textSize * opts.pix; + let tWidth = measureText(text, tHeight, context); + let x, y; + let area; + let breaknum = 0; + while (true) { + breaknum++; + x = normalInt(-opts.width / 2, opts.width / 2, 5) - tWidth / 2; + y = normalInt(-opts.height / 2, opts.height / 2, 5) + tHeight / 2; + area = [x - 5 + opts.width / 2, y - 5 - tHeight + opts.height / 2, x + tWidth + 5 + opts.width / 2, y + 5 + + opts.height / 2 + ]; + let isCollision = collisionNew(area, points, opts.width, opts.height); + if (!isCollision) break; + if (breaknum == 1000) { + area = [-100, -100, -100, -100]; + break; + } + }; + points[i].area = area; + } + break; + case 'vertical': + function Spin() { + //获取均匀随机值,是否旋转,旋转的概率为(1-0.5) + if (Math.random() > 0.7) { + return true; + } else { + return false + }; + }; + for (let i = 0; i < points.length; i++) { + let text = points[i].name; + let tHeight = points[i].textSize * opts.pix; + let tWidth = measureText(text, tHeight, context); + let isSpin = Spin(); + let x, y, area, areav; + let breaknum = 0; + while (true) { + breaknum++; + let isCollision; + if (isSpin) { + x = normalInt(-opts.width / 2, opts.width / 2, 5) - tWidth / 2; + y = normalInt(-opts.height / 2, opts.height / 2, 5) + tHeight / 2; + area = [y - 5 - tWidth + opts.width / 2, (-x - 5 + opts.height / 2), y + 5 + opts.width / 2, (-x + tHeight + 5 + opts.height / 2)]; + areav = [opts.width - (opts.width / 2 - opts.height / 2) - (-x + tHeight + 5 + opts.height / 2) - 5, (opts.height / 2 - opts.width / 2) + (y - 5 - tWidth + opts.width / 2) - 5, opts.width - (opts.width / 2 - opts.height / 2) - (-x + tHeight + 5 + opts.height / 2) + tHeight, (opts.height / 2 - opts.width / 2) + (y - 5 - tWidth + opts.width / 2) + tWidth + 5]; + isCollision = collisionNew(areav, points, opts.height, opts.width); + } else { + x = normalInt(-opts.width / 2, opts.width / 2, 5) - tWidth / 2; + y = normalInt(-opts.height / 2, opts.height / 2, 5) + tHeight / 2; + area = [x - 5 + opts.width / 2, y - 5 - tHeight + opts.height / 2, x + tWidth + 5 + opts.width / 2, y + 5 + opts.height / 2]; + isCollision = collisionNew(area, points, opts.width, opts.height); + } + if (!isCollision) break; + if (breaknum == 1000) { + area = [-1000, -1000, -1000, -1000]; + break; + } + }; + if (isSpin) { + points[i].area = areav; + points[i].areav = area; + } else { + points[i].area = area; + } + points[i].rotate = isSpin; + }; + break; + } + return points; +} + +function drawWordCloudDataPoints(series, opts, config, context) { + let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; + let wordOption = assign({}, { + type: 'normal', + autoColors: true + }, opts.extra.word); + if (!opts.chartData.wordCloudData) { + opts.chartData.wordCloudData = getWordCloudPoint(opts, wordOption.type, context); + } + context.beginPath(); + context.setFillStyle(opts.background); + context.rect(0, 0, opts.width, opts.height); + context.fill(); + context.save(); + let points = opts.chartData.wordCloudData; + context.translate(opts.width / 2, opts.height / 2); + for (let i = 0; i < points.length; i++) { + context.save(); + if (points[i].rotate) { + context.rotate(90 * Math.PI / 180); + } + let text = points[i].name; + let tHeight = points[i].textSize * opts.pix; + let tWidth = measureText(text, tHeight, context); + context.beginPath(); + context.setStrokeStyle(points[i].color); + context.setFillStyle(points[i].color); + context.setFontSize(tHeight); + if (points[i].rotate) { + if (points[i].areav[0] > 0) { + if (opts.tooltip) { + if (opts.tooltip.index == i) { + context.strokeText(text, (points[i].areav[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].areav[1] + 5 + tHeight - opts.height / 2) * process); + } else { + context.fillText(text, (points[i].areav[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].areav[1] + 5 + tHeight - opts.height / 2) * process); + } + } else { + context.fillText(text, (points[i].areav[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].areav[1] + 5 + tHeight - opts.height / 2) * process); + } + } + } else { + if (points[i].area[0] > 0) { + if (opts.tooltip) { + if (opts.tooltip.index == i) { + context.strokeText(text, (points[i].area[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].area[1] + 5 + tHeight - opts.height / 2) * process); + } else { + context.fillText(text, (points[i].area[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].area[1] + 5 + tHeight - opts.height / 2) * process); + } + } else { + context.fillText(text, (points[i].area[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].area[1] + 5 + tHeight - opts.height / 2) * process); + } + } + } + context.stroke(); + context.restore(); + } + context.restore(); +} + +function drawFunnelDataPoints(series, opts, config, context) { + let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; + let funnelOption = assign({}, { + type:'funnel', + activeWidth: 10, + activeOpacity: 0.3, + border: false, + borderWidth: 2, + borderColor: '#FFFFFF', + fillOpacity: 1, + minSize: 0, + labelAlign: 'right', + linearType: 'none', + customColor: [], + }, opts.extra.funnel); + let eachSpacing = (opts.height - opts.area[0] - opts.area[2]) / series.length; + let centerPosition = { + x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2, + y: opts.height - opts.area[2] + }; + let activeWidth = funnelOption.activeWidth * opts.pix; + let radius = Math.min((opts.width - opts.area[1] - opts.area[3]) / 2 - activeWidth, (opts.height - opts.area[0] - opts.area[2]) / 2 - activeWidth); + let seriesNew = getFunnelDataPoints(series, radius, funnelOption, eachSpacing, process); + context.save(); + context.translate(centerPosition.x, centerPosition.y); + funnelOption.customColor = fillCustomColor(funnelOption.linearType, funnelOption.customColor, series, config); + if(funnelOption.type == 'pyramid'){ + for (let i = 0; i < seriesNew.length; i++) { + if (i == seriesNew.length -1) { + if (opts.tooltip) { + if (opts.tooltip.index == i) { + context.beginPath(); + context.setFillStyle(hexToRgb(seriesNew[i].color, funnelOption.activeOpacity)); + context.moveTo(-activeWidth, -eachSpacing); + context.lineTo(-seriesNew[i].radius - activeWidth, 0); + context.lineTo(seriesNew[i].radius + activeWidth, 0); + context.lineTo(activeWidth, -eachSpacing); + context.lineTo(-activeWidth, -eachSpacing); + context.closePath(); + context.fill(); + } + } + seriesNew[i].funnelArea = [centerPosition.x - seriesNew[i].radius, centerPosition.y - eachSpacing * (i + 1), centerPosition.x + seriesNew[i].radius, centerPosition.y - eachSpacing * i]; + context.beginPath(); + context.setLineWidth(funnelOption.borderWidth * opts.pix); + context.setStrokeStyle(funnelOption.borderColor); + var fillColor = hexToRgb(seriesNew[i].color, funnelOption.fillOpacity); + if (funnelOption.linearType == 'custom') { + var grd = context.createLinearGradient(seriesNew[i].radius, -eachSpacing, -seriesNew[i].radius, -eachSpacing); + grd.addColorStop(0, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity)); + grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[i].linearIndex], funnelOption.fillOpacity)); + grd.addColorStop(1, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity)); + fillColor = grd + } + context.setFillStyle(fillColor); + context.moveTo(0, -eachSpacing); + context.lineTo(-seriesNew[i].radius, 0); + context.lineTo(seriesNew[i].radius, 0); + context.lineTo(0, -eachSpacing); + context.closePath(); + context.fill(); + if (funnelOption.border == true) { + context.stroke(); + } + } else { + if (opts.tooltip) { + if (opts.tooltip.index == i) { + context.beginPath(); + context.setFillStyle(hexToRgb(seriesNew[i].color, funnelOption.activeOpacity)); + context.moveTo(0, 0); + context.lineTo(-seriesNew[i].radius - activeWidth, 0); + context.lineTo(-seriesNew[i + 1].radius - activeWidth, -eachSpacing); + context.lineTo(seriesNew[i + 1].radius + activeWidth, -eachSpacing); + context.lineTo(seriesNew[i].radius + activeWidth, 0); + context.lineTo(0, 0); + context.closePath(); + context.fill(); + } + } + seriesNew[i].funnelArea = [centerPosition.x - seriesNew[i].radius, centerPosition.y - eachSpacing * (i + 1), centerPosition.x + seriesNew[i].radius, centerPosition.y - eachSpacing * i]; + context.beginPath(); + context.setLineWidth(funnelOption.borderWidth * opts.pix); + context.setStrokeStyle(funnelOption.borderColor); + var fillColor = hexToRgb(seriesNew[i].color, funnelOption.fillOpacity); + if (funnelOption.linearType == 'custom') { + var grd = context.createLinearGradient(seriesNew[i].radius, -eachSpacing, -seriesNew[i].radius, -eachSpacing); + grd.addColorStop(0, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity)); + grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[i].linearIndex], funnelOption.fillOpacity)); + grd.addColorStop(1, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity)); + fillColor = grd + } + context.setFillStyle(fillColor); + context.moveTo(0, 0); + context.lineTo(-seriesNew[i].radius, 0); + context.lineTo(-seriesNew[i + 1].radius, -eachSpacing); + context.lineTo(seriesNew[i + 1].radius, -eachSpacing); + context.lineTo(seriesNew[i].radius, 0); + context.lineTo(0, 0); + context.closePath(); + context.fill(); + if (funnelOption.border == true) { + context.stroke(); + } + } + context.translate(0, -eachSpacing) + } + }else{ + context.translate(0, - (seriesNew.length - 1) * eachSpacing); + for (let i = 0; i < seriesNew.length; i++) { + if (i == seriesNew.length - 1) { + if (opts.tooltip) { + if (opts.tooltip.index == i) { + context.beginPath(); + context.setFillStyle(hexToRgb(seriesNew[i].color, funnelOption.activeOpacity)); + context.moveTo(-activeWidth - funnelOption.minSize/2, 0); + context.lineTo(-seriesNew[i].radius - activeWidth, -eachSpacing); + context.lineTo(seriesNew[i].radius + activeWidth, -eachSpacing); + context.lineTo(activeWidth + funnelOption.minSize/2, 0); + context.lineTo(-activeWidth - funnelOption.minSize/2, 0); + context.closePath(); + context.fill(); + } + } + seriesNew[i].funnelArea = [centerPosition.x - seriesNew[i].radius, centerPosition.y - eachSpacing, centerPosition.x + seriesNew[i].radius, centerPosition.y ]; + context.beginPath(); + context.setLineWidth(funnelOption.borderWidth * opts.pix); + context.setStrokeStyle(funnelOption.borderColor); + var fillColor = hexToRgb(seriesNew[i].color, funnelOption.fillOpacity); + if (funnelOption.linearType == 'custom') { + var grd = context.createLinearGradient(seriesNew[i].radius, -eachSpacing, -seriesNew[i].radius, -eachSpacing); + grd.addColorStop(0, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity)); + grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[i].linearIndex], funnelOption.fillOpacity)); + grd.addColorStop(1, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity)); + fillColor = grd + } + context.setFillStyle(fillColor); + context.moveTo(0, 0); + context.lineTo(-funnelOption.minSize/2, 0); + context.lineTo(-seriesNew[i].radius, -eachSpacing); + context.lineTo(seriesNew[i].radius, -eachSpacing); + context.lineTo(funnelOption.minSize/2, 0); + context.lineTo(0, 0); + context.closePath(); + context.fill(); + if (funnelOption.border == true) { + context.stroke(); + } + } else { + if (opts.tooltip) { + if (opts.tooltip.index == i) { + context.beginPath(); + context.setFillStyle(hexToRgb(seriesNew[i].color, funnelOption.activeOpacity)); + context.moveTo(0, 0); + context.lineTo(-seriesNew[i + 1].radius - activeWidth, 0); + context.lineTo(-seriesNew[i].radius - activeWidth, -eachSpacing); + context.lineTo(seriesNew[i].radius + activeWidth, -eachSpacing); + context.lineTo(seriesNew[i + 1].radius + activeWidth, 0); + context.lineTo(0, 0); + context.closePath(); + context.fill(); + } + } + seriesNew[i].funnelArea = [centerPosition.x - seriesNew[i].radius, centerPosition.y - eachSpacing * (seriesNew.length - i), centerPosition.x + seriesNew[i].radius, centerPosition.y - eachSpacing * (seriesNew.length - i - 1)]; + context.beginPath(); + context.setLineWidth(funnelOption.borderWidth * opts.pix); + context.setStrokeStyle(funnelOption.borderColor); + var fillColor = hexToRgb(seriesNew[i].color, funnelOption.fillOpacity); + if (funnelOption.linearType == 'custom') { + var grd = context.createLinearGradient(seriesNew[i].radius, -eachSpacing, -seriesNew[i].radius, -eachSpacing); + grd.addColorStop(0, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity)); + grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[i].linearIndex], funnelOption.fillOpacity)); + grd.addColorStop(1, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity)); + fillColor = grd + } + context.setFillStyle(fillColor); + context.moveTo(0, 0); + context.lineTo(-seriesNew[i + 1].radius, 0); + context.lineTo(-seriesNew[i].radius, -eachSpacing); + context.lineTo(seriesNew[i].radius, -eachSpacing); + context.lineTo(seriesNew[i + 1].radius, 0); + context.lineTo(0, 0); + context.closePath(); + context.fill(); + if (funnelOption.border == true) { + context.stroke(); + } + } + context.translate(0, eachSpacing) + } + } + + context.restore(); + if (opts.dataLabel !== false && process === 1) { + drawFunnelText(seriesNew, opts, context, eachSpacing, funnelOption.labelAlign, activeWidth, centerPosition); + } + if (process === 1) { + drawFunnelCenterText(seriesNew, opts, context, eachSpacing, funnelOption.labelAlign, activeWidth, centerPosition); + } + return { + center: centerPosition, + radius: radius, + series: seriesNew + }; +} + +function drawFunnelText(series, opts, context, eachSpacing, labelAlign, activeWidth, centerPosition) { + for (let i = 0; i < series.length; i++) { + let item = series[i]; + if(item.labelShow === false){ + continue; + } + let startX, endX, startY, fontSize; + let text = item.formatter ? item.formatter(item,i,series,opts) : util.toFixed(item._proportion_ * 100) + '%'; + text = item.labelText ? item.labelText : text; + if (labelAlign == 'right') { + if (i == series.length -1) { + startX = (item.funnelArea[2] + centerPosition.x) / 2; + } else { + startX = (item.funnelArea[2] + series[i + 1].funnelArea[2]) / 2; + } + endX = startX + activeWidth * 2; + startY = item.funnelArea[1] + eachSpacing / 2; + fontSize = item.textSize * opts.pix || opts.fontSize * opts.pix; + context.setLineWidth(1 * opts.pix); + context.setStrokeStyle(item.color); + context.setFillStyle(item.color); + context.beginPath(); + context.moveTo(startX, startY); + context.lineTo(endX, startY); + context.stroke(); + context.closePath(); + context.beginPath(); + context.moveTo(endX, startY); + context.arc(endX, startY, 2 * opts.pix, 0, 2 * Math.PI); + context.closePath(); + context.fill(); + context.beginPath(); + context.setFontSize(fontSize); + context.setFillStyle(item.textColor || opts.fontColor); + context.fillText(text, endX + 5, startY + fontSize / 2 - 2); + context.closePath(); + context.stroke(); + context.closePath(); + } + if (labelAlign == 'left') { + if (i == series.length -1) { + startX = (item.funnelArea[0] + centerPosition.x) / 2; + } else { + startX = (item.funnelArea[0] + series[i + 1].funnelArea[0]) / 2; + } + endX = startX - activeWidth * 2; + startY = item.funnelArea[1] + eachSpacing / 2; + fontSize = item.textSize * opts.pix || opts.fontSize * opts.pix; + context.setLineWidth(1 * opts.pix); + context.setStrokeStyle(item.color); + context.setFillStyle(item.color); + context.beginPath(); + context.moveTo(startX, startY); + context.lineTo(endX, startY); + context.stroke(); + context.closePath(); + context.beginPath(); + context.moveTo(endX, startY); + context.arc(endX, startY, 2, 0, 2 * Math.PI); + context.closePath(); + context.fill(); + context.beginPath(); + context.setFontSize(fontSize); + context.setFillStyle(item.textColor || opts.fontColor); + context.fillText(text, endX - 5 - measureText(text, fontSize, context), startY + fontSize / 2 - 2); + context.closePath(); + context.stroke(); + context.closePath(); + } + } +} + +function drawFunnelCenterText(series, opts, context, eachSpacing, labelAlign, activeWidth, centerPosition) { + for (let i = 0; i < series.length; i++) { + let item = series[i]; + let startY, fontSize; + if (item.centerText) { + startY = item.funnelArea[1] + eachSpacing / 2; + fontSize = item.centerTextSize * opts.pix || opts.fontSize * opts.pix; + context.beginPath(); + context.setFontSize(fontSize); + context.setFillStyle(item.centerTextColor || "#FFFFFF"); + context.fillText(item.centerText, centerPosition.x - measureText(item.centerText, fontSize, context) / 2, startY + fontSize / 2 - 2); + context.closePath(); + context.stroke(); + context.closePath(); + } + } +} + + +function drawCanvas(opts, context) { + context.save(); + context.translate(0, 0.5); + context.restore(); + context.draw(); +} + +var Timing = { + easeIn: function easeIn(pos) { + return Math.pow(pos, 3); + }, + easeOut: function easeOut(pos) { + return Math.pow(pos - 1, 3) + 1; + }, + easeInOut: function easeInOut(pos) { + if ((pos /= 0.5) < 1) { + return 0.5 * Math.pow(pos, 3); + } else { + return 0.5 * (Math.pow(pos - 2, 3) + 2); + } + }, + linear: function linear(pos) { + return pos; + } +}; + +function Animation(opts) { + this.isStop = false; + opts.duration = typeof opts.duration === 'undefined' ? 1000 : opts.duration; + opts.timing = opts.timing || 'easeInOut'; + var delay = 17; + function createAnimationFrame() { + if (typeof setTimeout !== 'undefined') { + return function(step, delay) { + setTimeout(function() { + var timeStamp = +new Date(); + step(timeStamp); + }, delay); + }; + } else if (typeof requestAnimationFrame !== 'undefined') { + return requestAnimationFrame; + } else { + return function(step) { + step(null); + }; + } + }; + var animationFrame = createAnimationFrame(); + var startTimeStamp = null; + var _step = function step(timestamp) { + if (timestamp === null || this.isStop === true) { + opts.onProcess && opts.onProcess(1); + opts.onAnimationFinish && opts.onAnimationFinish(); + return; + } + if (startTimeStamp === null) { + startTimeStamp = timestamp; + } + if (timestamp - startTimeStamp < opts.duration) { + var process = (timestamp - startTimeStamp) / opts.duration; + var timingFunction = Timing[opts.timing]; + process = timingFunction(process); + opts.onProcess && opts.onProcess(process); + animationFrame(_step, delay); + } else { + opts.onProcess && opts.onProcess(1); + opts.onAnimationFinish && opts.onAnimationFinish(); + } + }; + _step = _step.bind(this); + animationFrame(_step, delay); +} + +Animation.prototype.stop = function() { + this.isStop = true; +}; + +function drawCharts(type, opts, config, context) { + var _this = this; + var series = opts.series; + //兼容ECharts饼图类数据格式 + if (type === 'pie' || type === 'ring' || type === 'mount' || type === 'rose' || type === 'funnel') { + series = fixPieSeries(series, opts, config); + } + var categories = opts.categories; + if (type === 'mount') { + categories = []; + for (let j = 0; j < series.length; j++) { + if(series[j].show !== false) categories.push(series[j].name) + } + opts.categories = categories; + } + series = fillSeries(series, opts, config); + var duration = opts.animation ? opts.duration : 0; + _this.animationInstance && _this.animationInstance.stop(); + var seriesMA = null; + if (type == 'candle') { + let average = assign({}, opts.extra.candle.average); + if (average.show) { + seriesMA = calCandleMA(average.day, average.name, average.color, series[0].data); + seriesMA = fillSeries(seriesMA, opts, config); + opts.seriesMA = seriesMA; + } else if (opts.seriesMA) { + seriesMA = opts.seriesMA = fillSeries(opts.seriesMA, opts, config); + } else { + seriesMA = series; + } + } else { + seriesMA = series; + } + /* 过滤掉show=false的series */ + opts._series_ = series = filterSeries(series); + //重新计算图表区域 + opts.area = new Array(4); + //复位绘图区域 + for (let j = 0; j < 4; j++) { + opts.area[j] = opts.padding[j] * opts.pix; + } + //通过计算三大区域:图例、X轴、Y轴的大小,确定绘图区域 + var _calLegendData = calLegendData(seriesMA, opts, config, opts.chartData, context), + legendHeight = _calLegendData.area.wholeHeight, + legendWidth = _calLegendData.area.wholeWidth; + + switch (opts.legend.position) { + case 'top': + opts.area[0] += legendHeight; + break; + case 'bottom': + opts.area[2] += legendHeight; + break; + case 'left': + opts.area[3] += legendWidth; + break; + case 'right': + opts.area[1] += legendWidth; + break; + } + + let _calYAxisData = {}, + yAxisWidth = 0; + if (opts.type === 'line' || opts.type === 'column'|| opts.type === 'mount' || opts.type === 'area' || opts.type === 'mix' || opts.type === 'candle' || opts.type === 'scatter' || opts.type === 'bubble' || opts.type === 'bar') { + _calYAxisData = calYAxisData(series, opts, config, context); + yAxisWidth = _calYAxisData.yAxisWidth; + //如果显示Y轴标题 + if (opts.yAxis.showTitle) { + let maxTitleHeight = 0; + for (let i = 0; i < opts.yAxis.data.length; i++) { + maxTitleHeight = Math.max(maxTitleHeight, opts.yAxis.data[i].titleFontSize ? opts.yAxis.data[i].titleFontSize * opts.pix : config.fontSize) + } + opts.area[0] += maxTitleHeight; + } + let rightIndex = 0, + leftIndex = 0; + //计算主绘图区域左右位置 + for (let i = 0; i < yAxisWidth.length; i++) { + if (yAxisWidth[i].position == 'left') { + if (leftIndex > 0) { + opts.area[3] += yAxisWidth[i].width + opts.yAxis.padding * opts.pix; + } else { + opts.area[3] += yAxisWidth[i].width; + } + leftIndex += 1; + } else if (yAxisWidth[i].position == 'right') { + if (rightIndex > 0) { + opts.area[1] += yAxisWidth[i].width + opts.yAxis.padding * opts.pix; + } else { + opts.area[1] += yAxisWidth[i].width; + } + rightIndex += 1; + } + } + } else { + config.yAxisWidth = yAxisWidth; + } + opts.chartData.yAxisData = _calYAxisData; + + if (opts.categories && opts.categories.length && opts.type !== 'radar' && opts.type !== 'gauge' && opts.type !== 'bar') { + opts.chartData.xAxisData = getXAxisPoints(opts.categories, opts, config); + let _calCategoriesData = calCategoriesData(opts.categories, opts, config, opts.chartData.xAxisData.eachSpacing, context), + xAxisHeight = _calCategoriesData.xAxisHeight, + angle = _calCategoriesData.angle; + config.xAxisHeight = xAxisHeight; + config._xAxisTextAngle_ = angle; + opts.area[2] += xAxisHeight; + opts.chartData.categoriesData = _calCategoriesData; + } else { + if (opts.type === 'line' || opts.type === 'area' || opts.type === 'scatter' || opts.type === 'bubble' || opts.type === 'bar') { + opts.chartData.xAxisData = calXAxisData(series, opts, config, context); + categories = opts.chartData.xAxisData.rangesFormat; + let _calCategoriesData = calCategoriesData(categories, opts, config, opts.chartData.xAxisData.eachSpacing, context), + xAxisHeight = _calCategoriesData.xAxisHeight, + angle = _calCategoriesData.angle; + config.xAxisHeight = xAxisHeight; + config._xAxisTextAngle_ = angle; + opts.area[2] += xAxisHeight; + opts.chartData.categoriesData = _calCategoriesData; + } else { + opts.chartData.xAxisData = { + xAxisPoints: [] + }; + } + } + + //计算右对齐偏移距离 + if (opts.enableScroll && opts.xAxis.scrollAlign == 'right' && opts._scrollDistance_ === undefined) { + let offsetLeft = 0, + xAxisPoints = opts.chartData.xAxisData.xAxisPoints, + startX = opts.chartData.xAxisData.startX, + endX = opts.chartData.xAxisData.endX, + eachSpacing = opts.chartData.xAxisData.eachSpacing; + let totalWidth = eachSpacing * (xAxisPoints.length - 1); + let screenWidth = endX - startX; + offsetLeft = screenWidth - totalWidth; + _this.scrollOption.currentOffset = offsetLeft; + _this.scrollOption.startTouchX = offsetLeft; + _this.scrollOption.distance = 0; + _this.scrollOption.lastMoveTime = 0; + opts._scrollDistance_ = offsetLeft; + } + + if (type === 'pie' || type === 'ring' || type === 'rose') { + config._pieTextMaxLength_ = opts.dataLabel === false ? 0 : getPieTextMaxLength(seriesMA, config, context, opts); + } + + switch (type) { + case 'word': + this.animationInstance = new Animation({ + timing: opts.timing, + duration: duration, + onProcess: function(process) { + context.clearRect(0, 0, opts.width, opts.height); + if (opts.rotate) { + contextRotate(context, opts); + } + drawWordCloudDataPoints(series, opts, config, context, process); + drawCanvas(opts, context); + }, + onAnimationFinish: function onAnimationFinish() { + _this.uevent.trigger('renderComplete'); + } + }); + break; + case 'map': + context.clearRect(0, 0, opts.width, opts.height); + drawMapDataPoints(series, opts, config, context); + setTimeout(()=>{ + this.uevent.trigger('renderComplete'); + },50) + break; + case 'funnel': + this.animationInstance = new Animation({ + timing: opts.timing, + duration: duration, + onProcess: function(process) { + context.clearRect(0, 0, opts.width, opts.height); + if (opts.rotate) { + contextRotate(context, opts); + } + opts.chartData.funnelData = drawFunnelDataPoints(series, opts, config, context, process); + drawLegend(opts.series, opts, config, context, opts.chartData); + drawToolTipBridge(opts, config, context, process); + drawCanvas(opts, context); + }, + onAnimationFinish: function onAnimationFinish() { + _this.uevent.trigger('renderComplete'); + } + }); + break; + case 'line': + this.animationInstance = new Animation({ + timing: opts.timing, + duration: duration, + onProcess: function onProcess(process) { + context.clearRect(0, 0, opts.width, opts.height); + if (opts.rotate) { + contextRotate(context, opts); + } + drawYAxisGrid(categories, opts, config, context); + drawXAxis(categories, opts, config, context); + var _drawLineDataPoints = drawLineDataPoints(series, opts, config, context, process), + xAxisPoints = _drawLineDataPoints.xAxisPoints, + calPoints = _drawLineDataPoints.calPoints, + eachSpacing = _drawLineDataPoints.eachSpacing; + opts.chartData.xAxisPoints = xAxisPoints; + opts.chartData.calPoints = calPoints; + opts.chartData.eachSpacing = eachSpacing; + drawYAxis(series, opts, config, context); + if (opts.enableMarkLine !== false && process === 1) { + drawMarkLine(opts, config, context); + } + drawLegend(opts.series, opts, config, context, opts.chartData); + drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints); + drawCanvas(opts, context); + }, + onAnimationFinish: function onAnimationFinish() { + _this.uevent.trigger('renderComplete'); + } + }); + break; + case 'scatter': + this.animationInstance = new Animation({ + timing: opts.timing, + duration: duration, + onProcess: function onProcess(process) { + context.clearRect(0, 0, opts.width, opts.height); + if (opts.rotate) { + contextRotate(context, opts); + } + drawYAxisGrid(categories, opts, config, context); + drawXAxis(categories, opts, config, context); + var _drawScatterDataPoints = drawScatterDataPoints(series, opts, config, context, process), + xAxisPoints = _drawScatterDataPoints.xAxisPoints, + calPoints = _drawScatterDataPoints.calPoints, + eachSpacing = _drawScatterDataPoints.eachSpacing; + opts.chartData.xAxisPoints = xAxisPoints; + opts.chartData.calPoints = calPoints; + opts.chartData.eachSpacing = eachSpacing; + drawYAxis(series, opts, config, context); + if (opts.enableMarkLine !== false && process === 1) { + drawMarkLine(opts, config, context); + } + drawLegend(opts.series, opts, config, context, opts.chartData); + drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints); + drawCanvas(opts, context); + }, + onAnimationFinish: function onAnimationFinish() { + _this.uevent.trigger('renderComplete'); + } + }); + break; + case 'bubble': + this.animationInstance = new Animation({ + timing: opts.timing, + duration: duration, + onProcess: function onProcess(process) { + context.clearRect(0, 0, opts.width, opts.height); + if (opts.rotate) { + contextRotate(context, opts); + } + drawYAxisGrid(categories, opts, config, context); + drawXAxis(categories, opts, config, context); + var _drawBubbleDataPoints = drawBubbleDataPoints(series, opts, config, context, process), + xAxisPoints = _drawBubbleDataPoints.xAxisPoints, + calPoints = _drawBubbleDataPoints.calPoints, + eachSpacing = _drawBubbleDataPoints.eachSpacing; + opts.chartData.xAxisPoints = xAxisPoints; + opts.chartData.calPoints = calPoints; + opts.chartData.eachSpacing = eachSpacing; + drawYAxis(series, opts, config, context); + if (opts.enableMarkLine !== false && process === 1) { + drawMarkLine(opts, config, context); + } + drawLegend(opts.series, opts, config, context, opts.chartData); + drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints); + drawCanvas(opts, context); + }, + onAnimationFinish: function onAnimationFinish() { + _this.uevent.trigger('renderComplete'); + } + }); + break; + case 'mix': + this.animationInstance = new Animation({ + timing: opts.timing, + duration: duration, + onProcess: function onProcess(process) { + context.clearRect(0, 0, opts.width, opts.height); + if (opts.rotate) { + contextRotate(context, opts); + } + drawYAxisGrid(categories, opts, config, context); + drawXAxis(categories, opts, config, context); + var _drawMixDataPoints = drawMixDataPoints(series, opts, config, context, process), + xAxisPoints = _drawMixDataPoints.xAxisPoints, + calPoints = _drawMixDataPoints.calPoints, + eachSpacing = _drawMixDataPoints.eachSpacing; + opts.chartData.xAxisPoints = xAxisPoints; + opts.chartData.calPoints = calPoints; + opts.chartData.eachSpacing = eachSpacing; + drawYAxis(series, opts, config, context); + if (opts.enableMarkLine !== false && process === 1) { + drawMarkLine(opts, config, context); + } + drawLegend(opts.series, opts, config, context, opts.chartData); + drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints); + drawCanvas(opts, context); + }, + onAnimationFinish: function onAnimationFinish() { + _this.uevent.trigger('renderComplete'); + } + }); + break; + case 'column': + this.animationInstance = new Animation({ + timing: opts.timing, + duration: duration, + onProcess: function onProcess(process) { + context.clearRect(0, 0, opts.width, opts.height); + if (opts.rotate) { + contextRotate(context, opts); + } + drawYAxisGrid(categories, opts, config, context); + drawXAxis(categories, opts, config, context); + var _drawColumnDataPoints = drawColumnDataPoints(series, opts, config, context, process), + xAxisPoints = _drawColumnDataPoints.xAxisPoints, + calPoints = _drawColumnDataPoints.calPoints, + eachSpacing = _drawColumnDataPoints.eachSpacing; + opts.chartData.xAxisPoints = xAxisPoints; + opts.chartData.calPoints = calPoints; + opts.chartData.eachSpacing = eachSpacing; + drawYAxis(series, opts, config, context); + if (opts.enableMarkLine !== false && process === 1) { + drawMarkLine(opts, config, context); + } + drawLegend(opts.series, opts, config, context, opts.chartData); + drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints); + drawCanvas(opts, context); + }, + onAnimationFinish: function onAnimationFinish() { + _this.uevent.trigger('renderComplete'); + } + }); + break; + case 'mount': + this.animationInstance = new Animation({ + timing: opts.timing, + duration: duration, + onProcess: function onProcess(process) { + context.clearRect(0, 0, opts.width, opts.height); + if (opts.rotate) { + contextRotate(context, opts); + } + drawYAxisGrid(categories, opts, config, context); + drawXAxis(categories, opts, config, context); + var _drawMountDataPoints = drawMountDataPoints(series, opts, config, context, process), + xAxisPoints = _drawMountDataPoints.xAxisPoints, + calPoints = _drawMountDataPoints.calPoints, + eachSpacing = _drawMountDataPoints.eachSpacing; + opts.chartData.xAxisPoints = xAxisPoints; + opts.chartData.calPoints = calPoints; + opts.chartData.eachSpacing = eachSpacing; + drawYAxis(series, opts, config, context); + if (opts.enableMarkLine !== false && process === 1) { + drawMarkLine(opts, config, context); + } + drawLegend(opts.series, opts, config, context, opts.chartData); + drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints); + drawCanvas(opts, context); + }, + onAnimationFinish: function onAnimationFinish() { + _this.uevent.trigger('renderComplete'); + } + }); + break; + case 'bar': + this.animationInstance = new Animation({ + timing: opts.timing, + duration: duration, + onProcess: function onProcess(process) { + context.clearRect(0, 0, opts.width, opts.height); + if (opts.rotate) { + contextRotate(context, opts); + } + drawXAxis(categories, opts, config, context); + var _drawBarDataPoints = drawBarDataPoints(series, opts, config, context, process), + yAxisPoints = _drawBarDataPoints.yAxisPoints, + calPoints = _drawBarDataPoints.calPoints, + eachSpacing = _drawBarDataPoints.eachSpacing; + opts.chartData.yAxisPoints = yAxisPoints; + opts.chartData.xAxisPoints = opts.chartData.xAxisData.xAxisPoints; + opts.chartData.calPoints = calPoints; + opts.chartData.eachSpacing = eachSpacing; + drawYAxis(series, opts, config, context); + if (opts.enableMarkLine !== false && process === 1) { + drawMarkLine(opts, config, context); + } + drawLegend(opts.series, opts, config, context, opts.chartData); + drawToolTipBridge(opts, config, context, process, eachSpacing, yAxisPoints); + drawCanvas(opts, context); + }, + onAnimationFinish: function onAnimationFinish() { + _this.uevent.trigger('renderComplete'); + } + }); + break; + case 'area': + this.animationInstance = new Animation({ + timing: opts.timing, + duration: duration, + onProcess: function onProcess(process) { + context.clearRect(0, 0, opts.width, opts.height); + if (opts.rotate) { + contextRotate(context, opts); + } + drawYAxisGrid(categories, opts, config, context); + drawXAxis(categories, opts, config, context); + var _drawAreaDataPoints = drawAreaDataPoints(series, opts, config, context, process), + xAxisPoints = _drawAreaDataPoints.xAxisPoints, + calPoints = _drawAreaDataPoints.calPoints, + eachSpacing = _drawAreaDataPoints.eachSpacing; + opts.chartData.xAxisPoints = xAxisPoints; + opts.chartData.calPoints = calPoints; + opts.chartData.eachSpacing = eachSpacing; + drawYAxis(series, opts, config, context); + if (opts.enableMarkLine !== false && process === 1) { + drawMarkLine(opts, config, context); + } + drawLegend(opts.series, opts, config, context, opts.chartData); + drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints); + drawCanvas(opts, context); + }, + onAnimationFinish: function onAnimationFinish() { + _this.uevent.trigger('renderComplete'); + } + }); + break; + case 'ring': + this.animationInstance = new Animation({ + timing: opts.timing, + duration: duration, + onProcess: function onProcess(process) { + context.clearRect(0, 0, opts.width, opts.height); + if (opts.rotate) { + contextRotate(context, opts); + } + opts.chartData.pieData = drawPieDataPoints(series, opts, config, context, process); + drawLegend(opts.series, opts, config, context, opts.chartData); + drawToolTipBridge(opts, config, context, process); + drawCanvas(opts, context); + }, + onAnimationFinish: function onAnimationFinish() { + _this.uevent.trigger('renderComplete'); + } + }); + break; + case 'pie': + this.animationInstance = new Animation({ + timing: opts.timing, + duration: duration, + onProcess: function onProcess(process) { + context.clearRect(0, 0, opts.width, opts.height); + if (opts.rotate) { + contextRotate(context, opts); + } + opts.chartData.pieData = drawPieDataPoints(series, opts, config, context, process); + drawLegend(opts.series, opts, config, context, opts.chartData); + drawToolTipBridge(opts, config, context, process); + drawCanvas(opts, context); + }, + onAnimationFinish: function onAnimationFinish() { + _this.uevent.trigger('renderComplete'); + } + }); + break; + case 'rose': + this.animationInstance = new Animation({ + timing: opts.timing, + duration: duration, + onProcess: function onProcess(process) { + context.clearRect(0, 0, opts.width, opts.height); + if (opts.rotate) { + contextRotate(context, opts); + } + opts.chartData.pieData = drawRoseDataPoints(series, opts, config, context, process); + drawLegend(opts.series, opts, config, context, opts.chartData); + drawToolTipBridge(opts, config, context, process); + drawCanvas(opts, context); + }, + onAnimationFinish: function onAnimationFinish() { + _this.uevent.trigger('renderComplete'); + } + }); + break; + case 'radar': + this.animationInstance = new Animation({ + timing: opts.timing, + duration: duration, + onProcess: function onProcess(process) { + context.clearRect(0, 0, opts.width, opts.height); + if (opts.rotate) { + contextRotate(context, opts); + } + opts.chartData.radarData = drawRadarDataPoints(series, opts, config, context, process); + drawLegend(opts.series, opts, config, context, opts.chartData); + drawToolTipBridge(opts, config, context, process); + drawCanvas(opts, context); + }, + onAnimationFinish: function onAnimationFinish() { + _this.uevent.trigger('renderComplete'); + } + }); + break; + case 'arcbar': + this.animationInstance = new Animation({ + timing: opts.timing, + duration: duration, + onProcess: function onProcess(process) { + context.clearRect(0, 0, opts.width, opts.height); + if (opts.rotate) { + contextRotate(context, opts); + } + opts.chartData.arcbarData = drawArcbarDataPoints(series, opts, config, context, process); + drawCanvas(opts, context); + }, + onAnimationFinish: function onAnimationFinish() { + _this.uevent.trigger('renderComplete'); + } + }); + break; + case 'gauge': + this.animationInstance = new Animation({ + timing: opts.timing, + duration: duration, + onProcess: function onProcess(process) { + context.clearRect(0, 0, opts.width, opts.height); + if (opts.rotate) { + contextRotate(context, opts); + } + opts.chartData.gaugeData = drawGaugeDataPoints(categories, series, opts, config, context, process); + drawCanvas(opts, context); + }, + onAnimationFinish: function onAnimationFinish() { + _this.uevent.trigger('renderComplete'); + } + }); + break; + case 'candle': + this.animationInstance = new Animation({ + timing: opts.timing, + duration: duration, + onProcess: function onProcess(process) { + context.clearRect(0, 0, opts.width, opts.height); + if (opts.rotate) { + contextRotate(context, opts); + } + drawYAxisGrid(categories, opts, config, context); + drawXAxis(categories, opts, config, context); + var _drawCandleDataPoints = drawCandleDataPoints(series, seriesMA, opts, config, context, process), + xAxisPoints = _drawCandleDataPoints.xAxisPoints, + calPoints = _drawCandleDataPoints.calPoints, + eachSpacing = _drawCandleDataPoints.eachSpacing; + opts.chartData.xAxisPoints = xAxisPoints; + opts.chartData.calPoints = calPoints; + opts.chartData.eachSpacing = eachSpacing; + drawYAxis(series, opts, config, context); + if (opts.enableMarkLine !== false && process === 1) { + drawMarkLine(opts, config, context); + } + if (seriesMA) { + drawLegend(seriesMA, opts, config, context, opts.chartData); + } else { + drawLegend(opts.series, opts, config, context, opts.chartData); + } + drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints); + drawCanvas(opts, context); + }, + onAnimationFinish: function onAnimationFinish() { + _this.uevent.trigger('renderComplete'); + } + }); + break; + } +} + +function uChartsEvent() { + this.events = {}; +} + +uChartsEvent.prototype.addEventListener = function(type, listener) { + this.events[type] = this.events[type] || []; + this.events[type].push(listener); +}; + +uChartsEvent.prototype.delEventListener = function(type) { + this.events[type] = []; +}; + +uChartsEvent.prototype.trigger = function() { + for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + var type = args[0]; + var params = args.slice(1); + if (!!this.events[type]) { + this.events[type].forEach(function(listener) { + try { + listener.apply(null, params); + } catch (e) { + //console.log('[uCharts] '+e); + } + }); + } +}; + +var uCharts = function uCharts(opts) { + opts.pix = opts.pixelRatio ? opts.pixelRatio : 1; + opts.fontSize = opts.fontSize ? opts.fontSize : 13; + opts.fontColor = opts.fontColor ? opts.fontColor : config.fontColor; + if (opts.background == "" || opts.background == "none") { + opts.background = "#FFFFFF" + } + opts.title = assign({}, opts.title); + opts.subtitle = assign({}, opts.subtitle); + opts.duration = opts.duration ? opts.duration : 1000; + opts.yAxis = assign({}, { + data: [], + showTitle: false, + disabled: false, + disableGrid: false, + gridSet: 'number', + splitNumber: 5, + gridType: 'solid', + dashLength: 4 * opts.pix, + gridColor: '#cccccc', + padding: 10, + fontColor: '#666666' + }, opts.yAxis); + opts.xAxis = assign({}, { + rotateLabel: false, + rotateAngle:45, + disabled: false, + disableGrid: false, + splitNumber: 5, + calibration:false, + fontColor: '#666666', + fontSize: 13, + lineHeight: 20, + marginTop: 0, + gridType: 'solid', + dashLength: 4, + scrollAlign: 'left', + boundaryGap: 'center', + axisLine: true, + axisLineColor: '#cccccc', + titleFontSize: 13, + titleOffsetY: 0, + titleOffsetX: 0, + titleFontColor: '#666666' + }, opts.xAxis); + opts.xAxis.scrollPosition = opts.xAxis.scrollAlign; + opts.legend = assign({}, { + show: true, + position: 'bottom', + float: 'center', + backgroundColor: 'rgba(0,0,0,0)', + borderColor: 'rgba(0,0,0,0)', + borderWidth: 0, + padding: 5, + margin: 5, + itemGap: 10, + fontSize: opts.fontSize, + lineHeight: opts.fontSize, + fontColor: opts.fontColor, + formatter: {}, + hiddenColor: '#CECECE' + }, opts.legend); + opts.extra = assign({ + tooltip:{ + legendShape: 'auto' + } + }, opts.extra); + opts.rotate = opts.rotate ? true : false; + opts.animation = opts.animation ? true : false; + opts.rotate = opts.rotate ? true : false; + opts.canvas2d = opts.canvas2d ? true : false; + + let config$$1 = assign({}, config); + config$$1.color = opts.color ? opts.color : config$$1.color; + if (opts.type == 'pie') { + config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.pie.labelWidth * opts.pix || config$$1.pieChartLinePadding * opts.pix; + } + if (opts.type == 'ring') { + config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.ring.labelWidth * opts.pix || config$$1.pieChartLinePadding * opts.pix; + } + if (opts.type == 'rose') { + config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.rose.labelWidth * opts.pix || config$$1.pieChartLinePadding * opts.pix; + } + config$$1.pieChartTextPadding = opts.dataLabel === false ? 0 : config$$1.pieChartTextPadding * opts.pix; + + //屏幕旋转 + config$$1.rotate = opts.rotate; + if (opts.rotate) { + let tempWidth = opts.width; + let tempHeight = opts.height; + opts.width = tempHeight; + opts.height = tempWidth; + } + + //适配高分屏 + opts.padding = opts.padding ? opts.padding : config$$1.padding; + config$$1.yAxisWidth = config.yAxisWidth * opts.pix; + config$$1.fontSize = opts.fontSize * opts.pix; + config$$1.titleFontSize = config.titleFontSize * opts.pix; + config$$1.subtitleFontSize = config.subtitleFontSize * opts.pix; + if(!opts.context){ + throw new Error('[uCharts] 未获取到context!注意:v2.0版本后,需要自行获取canvas的绘图上下文并传入opts.context!'); + } + this.context = opts.context; + if (!this.context.setTextAlign) { + this.context.setStrokeStyle = function(e) { + return this.strokeStyle = e; + } + this.context.setLineWidth = function(e) { + return this.lineWidth = e; + } + this.context.setLineCap = function(e) { + return this.lineCap = e; + } + this.context.setFontSize = function(e) { + return this.font = e + "px sans-serif"; + } + this.context.setFillStyle = function(e) { + return this.fillStyle = e; + } + this.context.setTextAlign = function(e) { + return this.textAlign = e; + } + this.context.setTextBaseline = function(e) { + return this.textBaseline = e; + } + this.context.setShadow = function(offsetX,offsetY,blur,color) { + this.shadowColor = color; + this.shadowOffsetX = offsetX; + this.shadowOffsetY = offsetY; + this.shadowBlur = blur; + } + this.context.draw = function() {} + } + //兼容NVUEsetLineDash + if(!this.context.setLineDash){ + this.context.setLineDash = function(e) {} + } + opts.chartData = {}; + this.uevent = new uChartsEvent(); + this.scrollOption = { + currentOffset: 0, + startTouchX: 0, + distance: 0, + lastMoveTime: 0 + }; + this.opts = opts; + this.config = config$$1; + drawCharts.call(this, opts.type, opts, config$$1, this.context); +}; + +uCharts.prototype.updateData = function() { + let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + this.opts = assign({}, this.opts, data); + this.opts.updateData = true; + let scrollPosition = data.scrollPosition || 'current'; + switch (scrollPosition) { + case 'current': + this.opts._scrollDistance_ = this.scrollOption.currentOffset; + break; + case 'left': + this.opts._scrollDistance_ = 0; + this.scrollOption = { + currentOffset: 0, + startTouchX: 0, + distance: 0, + lastMoveTime: 0 + }; + break; + case 'right': + let _calYAxisData = calYAxisData(this.opts.series, this.opts, this.config, this.context), yAxisWidth = _calYAxisData.yAxisWidth; + this.config.yAxisWidth = yAxisWidth; + let offsetLeft = 0; + let _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config), xAxisPoints = _getXAxisPoints0.xAxisPoints, + startX = _getXAxisPoints0.startX, + endX = _getXAxisPoints0.endX, + eachSpacing = _getXAxisPoints0.eachSpacing; + let totalWidth = eachSpacing * (xAxisPoints.length - 1); + let screenWidth = endX - startX; + offsetLeft = screenWidth - totalWidth; + this.scrollOption = { + currentOffset: offsetLeft, + startTouchX: offsetLeft, + distance: 0, + lastMoveTime: 0 + }; + this.opts._scrollDistance_ = offsetLeft; + break; + } + drawCharts.call(this, this.opts.type, this.opts, this.config, this.context); +}; + +uCharts.prototype.zoom = function() { + var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.opts.xAxis.itemCount; + if (this.opts.enableScroll !== true) { + console.log('[uCharts] 请启用滚动条后使用') + return; + } + //当前屏幕中间点 + let centerPoint = Math.round(Math.abs(this.scrollOption.currentOffset) / this.opts.chartData.eachSpacing) + Math.round(this.opts.xAxis.itemCount / 2); + this.opts.animation = false; + this.opts.xAxis.itemCount = val.itemCount; + //重新计算x轴偏移距离 + let _calYAxisData = calYAxisData(this.opts.series, this.opts, this.config, this.context), + yAxisWidth = _calYAxisData.yAxisWidth; + this.config.yAxisWidth = yAxisWidth; + let offsetLeft = 0; + let _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config), + xAxisPoints = _getXAxisPoints0.xAxisPoints, + startX = _getXAxisPoints0.startX, + endX = _getXAxisPoints0.endX, + eachSpacing = _getXAxisPoints0.eachSpacing; + let centerLeft = eachSpacing * centerPoint; + let screenWidth = endX - startX; + let MaxLeft = screenWidth - eachSpacing * (xAxisPoints.length - 1); + offsetLeft = screenWidth / 2 - centerLeft; + if (offsetLeft > 0) { + offsetLeft = 0; + } + if (offsetLeft < MaxLeft) { + offsetLeft = MaxLeft; + } + this.scrollOption = { + currentOffset: offsetLeft, + startTouchX: 0, + distance: 0, + lastMoveTime: 0 + }; + calValidDistance(this, offsetLeft, this.opts.chartData, this.config, this.opts); + this.opts._scrollDistance_ = offsetLeft; + drawCharts.call(this, this.opts.type, this.opts, this.config, this.context); +}; + +uCharts.prototype.dobuleZoom = function(e) { + if (this.opts.enableScroll !== true) { + console.log('[uCharts] 请启用滚动条后使用') + return; + } + const tcs = e.changedTouches; + if (tcs.length < 2) { + return; + } + for (var i = 0; i < tcs.length; i++) { + tcs[i].x = tcs[i].x ? tcs[i].x : tcs[i].clientX; + tcs[i].y = tcs[i].y ? tcs[i].y : tcs[i].clientY; + } + const ntcs = [getTouches(tcs[0], this.opts, e),getTouches(tcs[1], this.opts, e)]; + const xlength = Math.abs(ntcs[0].x - ntcs[1].x); + // 记录初始的两指之间的数据 + if(!this.scrollOption.moveCount){ + let cts0 = {changedTouches:[{x:tcs[0].x,y:this.opts.area[0] / this.opts.pix + 2}]}; + let cts1 = {changedTouches:[{x:tcs[1].x,y:this.opts.area[0] / this.opts.pix + 2}]}; + if(this.opts.rotate){ + cts0 = {changedTouches:[{x:this.opts.height / this.opts.pix - this.opts.area[0] / this.opts.pix - 2,y:tcs[0].y}]}; + cts1 = {changedTouches:[{x:this.opts.height / this.opts.pix - this.opts.area[0] / this.opts.pix - 2,y:tcs[1].y}]}; + } + const moveCurrent1 = this.getCurrentDataIndex(cts0).index; + const moveCurrent2 = this.getCurrentDataIndex(cts1).index; + const moveCount = Math.abs(moveCurrent1 - moveCurrent2); + this.scrollOption.moveCount = moveCount; + this.scrollOption.moveCurrent1 = Math.min(moveCurrent1, moveCurrent2); + this.scrollOption.moveCurrent2 = Math.max(moveCurrent1, moveCurrent2); + return; + } + + let currentEachSpacing = xlength / this.scrollOption.moveCount; + let itemCount = (this.opts.width - this.opts.area[1] - this.opts.area[3]) / currentEachSpacing; + itemCount = itemCount <= 2 ? 2 : itemCount; + itemCount = itemCount >= this.opts.categories.length ? this.opts.categories.length : itemCount; + this.opts.animation = false; + this.opts.xAxis.itemCount = itemCount; + // 重新计算滚动条偏移距离 + let offsetLeft = 0; + let _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config), + xAxisPoints = _getXAxisPoints0.xAxisPoints, + startX = _getXAxisPoints0.startX, + endX = _getXAxisPoints0.endX, + eachSpacing = _getXAxisPoints0.eachSpacing; + let currentLeft = eachSpacing * this.scrollOption.moveCurrent1; + let screenWidth = endX - startX; + let MaxLeft = screenWidth - eachSpacing * (xAxisPoints.length - 1); + offsetLeft = -currentLeft+Math.min(ntcs[0].x,ntcs[1].x)-this.opts.area[3]-eachSpacing; + if (offsetLeft > 0) { + offsetLeft = 0; + } + if (offsetLeft < MaxLeft) { + offsetLeft = MaxLeft; + } + this.scrollOption.currentOffset= offsetLeft; + this.scrollOption.startTouchX= 0; + this.scrollOption.distance=0; + calValidDistance(this, offsetLeft, this.opts.chartData, this.config, this.opts); + this.opts._scrollDistance_ = offsetLeft; + drawCharts.call(this, this.opts.type, this.opts, this.config, this.context); +} + +uCharts.prototype.stopAnimation = function() { + this.animationInstance && this.animationInstance.stop(); +}; + +uCharts.prototype.addEventListener = function(type, listener) { + this.uevent.addEventListener(type, listener); +}; + +uCharts.prototype.delEventListener = function(type) { + this.uevent.delEventListener(type); +}; + +uCharts.prototype.getCurrentDataIndex = function(e) { + var touches = null; + if (e.changedTouches) { + touches = e.changedTouches[0]; + } else { + touches = e.mp.changedTouches[0]; + } + if (touches) { + let _touches$ = getTouches(touches, this.opts, e); + if (this.opts.type === 'pie' || this.opts.type === 'ring') { + return findPieChartCurrentIndex({ + x: _touches$.x, + y: _touches$.y + }, this.opts.chartData.pieData, this.opts); + } else if (this.opts.type === 'rose') { + return findRoseChartCurrentIndex({ + x: _touches$.x, + y: _touches$.y + }, this.opts.chartData.pieData, this.opts); + } else if (this.opts.type === 'radar') { + return findRadarChartCurrentIndex({ + x: _touches$.x, + y: _touches$.y + }, this.opts.chartData.radarData, this.opts.categories.length); + } else if (this.opts.type === 'funnel') { + return findFunnelChartCurrentIndex({ + x: _touches$.x, + y: _touches$.y + }, this.opts.chartData.funnelData); + } else if (this.opts.type === 'map') { + return findMapChartCurrentIndex({ + x: _touches$.x, + y: _touches$.y + }, this.opts); + } else if (this.opts.type === 'word') { + return findWordChartCurrentIndex({ + x: _touches$.x, + y: _touches$.y + }, this.opts.chartData.wordCloudData); + } else if (this.opts.type === 'bar') { + return findBarChartCurrentIndex({ + x: _touches$.x, + y: _touches$.y + }, this.opts.chartData.calPoints, this.opts, this.config, Math.abs(this.scrollOption.currentOffset)); + } else { + return findCurrentIndex({ + x: _touches$.x, + y: _touches$.y + }, this.opts.chartData.calPoints, this.opts, this.config, Math.abs(this.scrollOption.currentOffset)); + } + } + return -1; +}; + +uCharts.prototype.getLegendDataIndex = function(e) { + var touches = null; + if (e.changedTouches) { + touches = e.changedTouches[0]; + } else { + touches = e.mp.changedTouches[0]; + } + if (touches) { + let _touches$ = getTouches(touches, this.opts, e); + return findLegendIndex({ + x: _touches$.x, + y: _touches$.y + }, this.opts.chartData.legendData); + } + return -1; +}; + +uCharts.prototype.touchLegend = function(e) { + var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var touches = null; + if (e.changedTouches) { + touches = e.changedTouches[0]; + } else { + touches = e.mp.changedTouches[0]; + } + if (touches) { + var _touches$ = getTouches(touches, this.opts, e); + var index = this.getLegendDataIndex(e); + if (index >= 0) { + if (this.opts.type == 'candle') { + this.opts.seriesMA[index].show = !this.opts.seriesMA[index].show; + } else { + this.opts.series[index].show = !this.opts.series[index].show; + } + this.opts.animation = option.animation ? true : false; + this.opts._scrollDistance_ = this.scrollOption.currentOffset; + drawCharts.call(this, this.opts.type, this.opts, this.config, this.context); + } + } + +}; + +uCharts.prototype.showToolTip = function(e) { + var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var touches = null; + if (e.changedTouches) { + touches = e.changedTouches[0]; + } else { + touches = e.mp.changedTouches[0]; + } + if (!touches) { + console.log("[uCharts] 未获取到event坐标信息"); + } + var _touches$ = getTouches(touches, this.opts, e); + var currentOffset = this.scrollOption.currentOffset; + var opts = assign({}, this.opts, { + _scrollDistance_: currentOffset, + animation: false + }); + if (this.opts.type === 'line' || this.opts.type === 'area' || this.opts.type === 'column' || this.opts.type === 'scatter' || this.opts.type === 'bubble') { + var current = this.getCurrentDataIndex(e); + var index = option.index == undefined ? current.index : option.index; + if (index > -1 || index.length>0) { + var seriesData = getSeriesDataItem(this.opts.series, index, current.group); + if (seriesData.length !== 0) { + var _getToolTipData = getToolTipData(seriesData, this.opts, index, current.group, this.opts.categories, option), + textList = _getToolTipData.textList, + offset = _getToolTipData.offset; + offset.y = _touches$.y; + opts.tooltip = { + textList: option.textList !== undefined ? option.textList : textList, + offset: option.offset !== undefined ? option.offset : offset, + option: option, + index: index, + group: current.group + }; + } + } + drawCharts.call(this, opts.type, opts, this.config, this.context); + } + if (this.opts.type === 'mount') { + var index = option.index == undefined ? this.getCurrentDataIndex(e).index : option.index; + if (index > -1) { + var opts = assign({}, this.opts, {animation: false}); + var seriesData = assign({}, opts._series_[index]); + var textList = [{ + text: option.formatter ? option.formatter(seriesData, undefined, index, opts) : seriesData.name + ': ' + seriesData.data, + color: seriesData.color, + legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? seriesData.legendShape : this.opts.extra.tooltip.legendShape + }]; + var offset = { + x: opts.chartData.calPoints[index].x, + y: _touches$.y + }; + opts.tooltip = { + textList: option.textList ? option.textList : textList, + offset: option.offset !== undefined ? option.offset : offset, + option: option, + index: index + }; + } + + drawCharts.call(this, opts.type, opts, this.config, this.context); + } + if (this.opts.type === 'bar') { + var current = this.getCurrentDataIndex(e); + var index = option.index == undefined ? current.index : option.index; + if (index > -1 || index.length>0) { + var seriesData = getSeriesDataItem(this.opts.series, index, current.group); + if (seriesData.length !== 0) { + var _getToolTipData = getToolTipData(seriesData, this.opts, index, current.group, this.opts.categories, option), + textList = _getToolTipData.textList, + offset = _getToolTipData.offset; + offset.x = _touches$.x; + opts.tooltip = { + textList: option.textList !== undefined ? option.textList : textList, + offset: option.offset !== undefined ? option.offset : offset, + option: option, + index: index + }; + } + } + drawCharts.call(this, opts.type, opts, this.config, this.context); + } + if (this.opts.type === 'mix') { + var current = this.getCurrentDataIndex(e); + var index = option.index == undefined ? current.index : option.index; + if (index > -1) { + var currentOffset = this.scrollOption.currentOffset; + var opts = assign({}, this.opts, { + _scrollDistance_: currentOffset, + animation: false + }); + var seriesData = getSeriesDataItem(this.opts.series, index); + if (seriesData.length !== 0) { + var _getMixToolTipData = getMixToolTipData(seriesData, this.opts, index, this.opts.categories, option), + textList = _getMixToolTipData.textList, + offset = _getMixToolTipData.offset; + offset.y = _touches$.y; + opts.tooltip = { + textList: option.textList ? option.textList : textList, + offset: option.offset !== undefined ? option.offset : offset, + option: option, + index: index + }; + } + } + drawCharts.call(this, opts.type, opts, this.config, this.context); + } + if (this.opts.type === 'candle') { + var current = this.getCurrentDataIndex(e); + var index = option.index == undefined ? current.index : option.index; + if (index > -1) { + var currentOffset = this.scrollOption.currentOffset; + var opts = assign({}, this.opts, { + _scrollDistance_: currentOffset, + animation: false + }); + var seriesData = getSeriesDataItem(this.opts.series, index); + if (seriesData.length !== 0) { + var _getToolTipData = getCandleToolTipData(this.opts.series[0].data, seriesData, this.opts, index, this.opts.categories, this.opts.extra.candle, option), + textList = _getToolTipData.textList, + offset = _getToolTipData.offset; + offset.y = _touches$.y; + opts.tooltip = { + textList: option.textList ? option.textList : textList, + offset: option.offset !== undefined ? option.offset : offset, + option: option, + index: index + }; + } + } + drawCharts.call(this, opts.type, opts, this.config, this.context); + } + if (this.opts.type === 'pie' || this.opts.type === 'ring' || this.opts.type === 'rose' || this.opts.type === 'funnel') { + var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index; + if (index > -1) { + var opts = assign({}, this.opts, {animation: false}); + var seriesData = assign({}, opts._series_[index]); + var textList = [{ + text: option.formatter ? option.formatter(seriesData, undefined, index, opts) : seriesData.name + ': ' + seriesData.data, + color: seriesData.color, + legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? seriesData.legendShape : this.opts.extra.tooltip.legendShape + }]; + var offset = { + x: _touches$.x, + y: _touches$.y + }; + opts.tooltip = { + textList: option.textList ? option.textList : textList, + offset: option.offset !== undefined ? option.offset : offset, + option: option, + index: index + }; + } + drawCharts.call(this, opts.type, opts, this.config, this.context); + } + if (this.opts.type === 'map') { + var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index; + if (index > -1) { + var opts = assign({}, this.opts, {animation: false}); + var seriesData = assign({}, this.opts.series[index]); + seriesData.name = seriesData.properties.name + var textList = [{ + text: option.formatter ? option.formatter(seriesData, undefined, index, this.opts) : seriesData.name, + color: seriesData.color, + legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? seriesData.legendShape : this.opts.extra.tooltip.legendShape + }]; + var offset = { + x: _touches$.x, + y: _touches$.y + }; + opts.tooltip = { + textList: option.textList ? option.textList : textList, + offset: option.offset !== undefined ? option.offset : offset, + option: option, + index: index + }; + } + opts.updateData = false; + drawCharts.call(this, opts.type, opts, this.config, this.context); + } + if (this.opts.type === 'word') { + var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index; + if (index > -1) { + var opts = assign({}, this.opts, {animation: false}); + var seriesData = assign({}, this.opts.series[index]); + var textList = [{ + text: option.formatter ? option.formatter(seriesData, undefined, index, this.opts) : seriesData.name, + color: seriesData.color, + legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? seriesData.legendShape : this.opts.extra.tooltip.legendShape + }]; + var offset = { + x: _touches$.x, + y: _touches$.y + }; + opts.tooltip = { + textList: option.textList ? option.textList : textList, + offset: option.offset !== undefined ? option.offset : offset, + option: option, + index: index + }; + } + opts.updateData = false; + drawCharts.call(this, opts.type, opts, this.config, this.context); + } + if (this.opts.type === 'radar') { + var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index; + if (index > -1) { + var opts = assign({}, this.opts, {animation: false}); + var seriesData = getSeriesDataItem(this.opts.series, index); + if (seriesData.length !== 0) { + var textList = seriesData.map((item) => { + return { + text: option.formatter ? option.formatter(item, this.opts.categories[index], index, this.opts) : item.name + ': ' + item.data, + color: item.color, + legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? item.legendShape : this.opts.extra.tooltip.legendShape + }; + }); + var offset = { + x: _touches$.x, + y: _touches$.y + }; + opts.tooltip = { + textList: option.textList ? option.textList : textList, + offset: option.offset !== undefined ? option.offset : offset, + option: option, + index: index + }; + } + } + drawCharts.call(this, opts.type, opts, this.config, this.context); + } +}; + +uCharts.prototype.translate = function(distance) { + this.scrollOption = { + currentOffset: distance, + startTouchX: distance, + distance: 0, + lastMoveTime: 0 + }; + let opts = assign({}, this.opts, { + _scrollDistance_: distance, + animation: false + }); + drawCharts.call(this, this.opts.type, opts, this.config, this.context); +}; + +uCharts.prototype.scrollStart = function(e) { + var touches = null; + if (e.changedTouches) { + touches = e.changedTouches[0]; + } else { + touches = e.mp.changedTouches[0]; + } + var _touches$ = getTouches(touches, this.opts, e); + if (touches && this.opts.enableScroll === true) { + this.scrollOption.startTouchX = _touches$.x; + } +}; + +uCharts.prototype.scroll = function(e) { + if (this.scrollOption.lastMoveTime === 0) { + this.scrollOption.lastMoveTime = Date.now(); + } + let Limit = this.opts.touchMoveLimit || 60; + let currMoveTime = Date.now(); + let duration = currMoveTime - this.scrollOption.lastMoveTime; + if (duration < Math.floor(1000 / Limit)) return; + if (this.scrollOption.startTouchX == 0) return; + this.scrollOption.lastMoveTime = currMoveTime; + var touches = null; + if (e.changedTouches) { + touches = e.changedTouches[0]; + } else { + touches = e.mp.changedTouches[0]; + } + if (touches && this.opts.enableScroll === true) { + var _touches$ = getTouches(touches, this.opts, e); + var _distance; + _distance = _touches$.x - this.scrollOption.startTouchX; + var currentOffset = this.scrollOption.currentOffset; + var validDistance = calValidDistance(this, currentOffset + _distance, this.opts.chartData, this.config, this.opts); + this.scrollOption.distance = _distance = validDistance - currentOffset; + var opts = assign({}, this.opts, { + _scrollDistance_: currentOffset + _distance, + animation: false + }); + this.opts = opts; + drawCharts.call(this, opts.type, opts, this.config, this.context); + return currentOffset + _distance; + } +}; + +uCharts.prototype.scrollEnd = function(e) { + if (this.opts.enableScroll === true) { + var _scrollOption = this.scrollOption, + currentOffset = _scrollOption.currentOffset, + distance = _scrollOption.distance; + this.scrollOption.currentOffset = currentOffset + distance; + this.scrollOption.distance = 0; + this.scrollOption.moveCount = 0; + } +}; + +export default uCharts; \ No newline at end of file diff --git a/uni_modules/qiun-data-charts/js_sdk/u-charts/u-charts.min.js b/uni_modules/qiun-data-charts/js_sdk/u-charts/u-charts.min.js new file mode 100644 index 0000000..0902ecd --- /dev/null +++ b/uni_modules/qiun-data-charts/js_sdk/u-charts/u-charts.min.js @@ -0,0 +1,18 @@ +/* + * uCharts (R) + * 高性能跨平台图表库,支持H5、APP、小程序(微信/支付宝/百度/头条/QQ/360/快手)、Vue、Taro等支持canvas的框架平台 + * Copyright (C) 2021 QIUN (R) 秋云 https://www.ucharts.cn All rights reserved. + * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) + * 复制使用请保留本段注释,感谢支持开源! + * + * uCharts (R) 官方网站 + * https://www.uCharts.cn + * + * 开源地址: + * https://gitee.com/uCharts/uCharts + * + * uni-app插件市场地址: + * http://ext.dcloud.net.cn/plugin?id=271 + * + */ +"use strict";var config={version:"v2.5.0-20230101",yAxisWidth:15,xAxisHeight:22,padding:[10,10,10,10],rotate:false,fontSize:13,fontColor:"#666666",dataPointShape:["circle","circle","circle","circle"],color:["#1890FF","#91CB74","#FAC858","#EE6666","#73C0DE","#3CA272","#FC8452","#9A60B4","#ea7ccc"],linearColor:["#0EE2F8","#2BDCA8","#FA7D8D","#EB88E2","#2AE3A0","#0EE2F8","#EB88E2","#6773E3","#F78A85"],pieChartLinePadding:15,pieChartTextPadding:5,titleFontSize:20,subtitleFontSize:15,radarLabelTextMargin:13};var assign=function(e,...t){if(e==null){throw new TypeError("[uCharts] Cannot convert undefined or null to object")}if(!t||t.length<=0){return e}function i(e,a){for(let t in a){e[t]=e[t]&&e[t].toString()==="[object Object]"?i(e[t],a[t]):e[t]=a[t]}return e}t.forEach(t=>{e=i(e,t)});return e};var util={toFixed:function t(e,a){a=a||2;if(this.isFloat(e)){e=e.toFixed(a)}return e},isFloat:function t(e){return e%1!==0},approximatelyEqual:function t(e,a){return Math.abs(e-a)<1e-10},isSameSign:function t(e,a){return Math.abs(e)===e&&Math.abs(a)===a||Math.abs(e)!==e&&Math.abs(a)!==a},isSameXCoordinateArea:function t(e,a){return this.isSameSign(e.x,a.x)},isCollision:function t(e,a){e.end={};e.end.x=e.start.x+e.width;e.end.y=e.start.y-e.height;a.end={};a.end.x=a.start.x+a.width;a.end.y=a.start.y-a.height;var i=a.start.x>e.end.x||a.end.xe.start.y||a.start.y1){if(r.extra.mount.widthRatio>2)r.extra.mount.widthRatio=2;n+=(r.extra.mount.widthRatio-1)*a.eachSpacing}var l=e;if(e>=0){l=0;t.uevent.trigger("scrollLeft");t.scrollOption.position="left";r.xAxis.scrollPosition="left"}else if(Math.abs(e)>=n-o){l=o-n;t.uevent.trigger("scrollRight");t.scrollOption.position="right";r.xAxis.scrollPosition="right"}else{t.scrollOption.position=e;r.xAxis.scrollPosition=e}return l}function isInAngleRange(t,e,a){function i(t){while(t<0){t+=2*Math.PI}while(t>2*Math.PI){t-=2*Math.PI}return t}t=i(t);e=i(e);a=i(a);if(e>a){a+=2*Math.PI;if(t=e&&t<=a}function createCurveControlPoints(t,e){function a(t,e){if(t[e-1]&&t[e+1]){return t[e].y>=Math.max(t[e-1].y,t[e+1].y)||t[e].y<=Math.min(t[e-1].y,t[e+1].y)}else{return false}}function c(t,e){if(t[e-1]&&t[e+1]){return t[e].x>=Math.max(t[e-1].x,t[e+1].x)||t[e].x<=Math.min(t[e-1].x,t[e+1].x)}else{return false}}var i=.2;var r=.2;var o=null;var n=null;var l=null;var s=null;if(e<1){o=t[0].x+(t[1].x-t[0].x)*i;n=t[0].y+(t[1].y-t[0].y)*i}else{o=t[e].x+(t[e+1].x-t[e-1].x)*i;n=t[e].y+(t[e+1].y-t[e-1].y)*i}if(e>t.length-3){var h=t.length-1;l=t[h].x-(t[h].x-t[h-1].x)*r;s=t[h].y-(t[h].y-t[h-1].y)*r}else{l=t[e+1].x-(t[e+2].x-t[e].x)*r;s=t[e+1].y-(t[e+2].y-t[e].y)*r}if(a(t,e+1)){s=t[e+1].y}if(a(t,e)){n=t[e].y}if(c(t,e+1)){l=t[e+1].x}if(c(t,e)){o=t[e].x}if(n>=Math.max(t[e].y,t[e+1].y)||n<=Math.min(t[e].y,t[e+1].y)){n=t[e].y}if(s>=Math.max(t[e].y,t[e+1].y)||s<=Math.min(t[e].y,t[e+1].y)){s=t[e+1].y}if(o>=Math.max(t[e].x,t[e+1].x)||o<=Math.min(t[e].x,t[e+1].x)){o=t[e].x}if(l>=Math.max(t[e].x,t[e+1].x)||l<=Math.min(t[e].x,t[e+1].x)){l=t[e+1].x}return{ctrA:{x:o,y:n},ctrB:{x:l,y:s}}}function convertCoordinateOrigin(t,e,a){return{x:a.x+t,y:a.y-e}}function avoidCollision(t,e){if(e){while(util.isCollision(t,e)){if(t.start.x>0){t.start.y--}else if(t.start.x<0){t.start.y++}else{if(t.start.y>0){t.start.y++}else{t.start.y--}}}}return t}function fixPieSeries(e,a,t){let i=[];if(e.length>0&&e[0].data.constructor.toString().indexOf("Array")>-1){a._pieSeries_=e;let t=e[0].data;for(var r=0;r=1e4){a=1e3}else if(i>=1e3){a=100}else if(i>=100){a=10}else if(i>=10){a=5}else if(i>=1){a=1}else if(i>=.1){a=.1}else if(i>=.01){a=.01}else if(i>=.001){a=.001}else if(i>=1e-4){a=1e-4}else if(i>=1e-5){a=1e-5}else{a=1e-6}return{minRange:findRange(t,"lower",a),maxRange:findRange(e,"upper",a)}}function measureText(a,t,e){var i=0;a=String(a);e=false;if(e!==false&&e!==undefined&&e.setFontSize&&e.measureText){e.setFontSize(t);return e.measureText(a).width}else{var a=a.split("");for(let e=0;e-1;if(n){let t=filterSeries(e);for(var l=0;l5&&arguments[5]!==undefined?arguments[5]:{};var l=a.chartData.calPoints?a.chartData.calPoints:[];let s={};if(r.length>0){let e=[];for(let t=0;t0){e=o[i]}return{text:n.formatter?n.formatter(t,e,i,a):t.name+": "+t.data,color:t.color,legendShape:a.extra.tooltip.legendShape=="auto"?t.legendShape:a.extra.tooltip.legendShape}});var h={x:Math.round(s.x),y:Math.round(s.y)};return{textList:e,offset:h}}function getMixToolTipData(t,e,a,i){var r=arguments.length>4&&arguments[4]!==undefined?arguments[4]:{};var o=e.chartData.xAxisPoints[a]+e.chartData.eachSpacing/2;var n=t.map(function(t){return{text:r.formatter?r.formatter(t,i[a],a,e):t.name+": "+t.data,color:t.color,disableLegend:t.disableLegend?true:false,legendShape:e.extra.tooltip.legendShape=="auto"?t.legendShape:e.extra.tooltip.legendShape}});n=n.filter(function(t){if(t.disableLegend!==true){return t}});var l={x:Math.round(o),y:0};return{textList:n,offset:l}}function getCandleToolTipData(o,e,n,l,i,t){var r=arguments.length>6&&arguments[6]!==undefined?arguments[6]:{};var a=n.chartData.calPoints;let s=t.color.upFill;let h=t.color.downFill;let c=[s,s,h,s];var d=[];e.map(function(t){if(l==0){if(t.data[1]-t.data[0]<0){c[1]=h}else{c[1]=s}}else{if(t.data[0]o[l-1][1]){c[2]=s}if(t.data[3]4&&arguments[4]!==undefined?arguments[4]:0;var l={index:-1,group:[]};var i=e.chartData.eachSpacing/2;let r=[];if(n&&n.length>0){if(!e.categories){i=0}else{for(let t=1;tt){l.index=e}})}}}return l}function findBarChartCurrentIndex(a,t,e,i){var r=arguments.length>4&&arguments[4]!==undefined?arguments[4]:0;var o={index:-1,group:[]};var n=e.chartData.eachSpacing/2;let l=e.chartData.yAxisPoints;if(t&&t.length>0){if(isInExactChartArea(a,e,i)){l.forEach(function(t,e){if(a.y+r+n>t){o.index=e}})}}return o}function findLegendIndex(o,t,e){let n=-1;let l=0;if(isInExactLegendArea(o,t.area)){let i=t.points;let r=-1;for(let t=0,e=i.length;tt[0]-l&&o.xt[1]-l&&o.ye.start.x&&t.xe.start.y&&t.y=e.area[3]-10&&t.y>=e.area[0]&&t.y<=e.height-e.area[2]}function findRadarChartCurrentIndex(t,e,a){var r=2*Math.PI/a;var o=-1;if(isInExactPieChartArea(t,e.center,e.radius)){var n=function t(e){if(e<0){e+=2*Math.PI}if(e>2*Math.PI){e-=2*Math.PI}return e};var l=Math.atan2(e.center.y-t.y,t.x-e.center.x);l=-1*l;if(l<0){l+=2*Math.PI}var i=e.angleList.map(function(t){t=n(-1*t);return t});i.forEach(function(t,e){var a=n(t-r/2);var i=n(t+r/2);if(i=a&&l<=i||l+2*Math.PI>=a&&l+2*Math.PI<=i){o=e}})}return o}function findFunnelChartCurrentIndex(t,e){var a=-1;for(var i=0,r=e.series.length;io.funnelArea[0]&&t.xo.funnelArea[1]&&t.yo.area[0]&&t.xo.area[1]&&t.ys.width-s.area[1]-s.area[3]){i.push(n);o.push(r-s.legend.itemGap*s.pix);r=e;n=[t]}else{r+=e;n.push(t)}}if(n.length){i.push(n);o.push(r-s.legend.itemGap*s.pix);c.widthArr=o;let t=Math.max.apply(null,o);switch(s.legend.float){case"left":c.area.start.x=s.area[3];c.area.end.x=s.area[3]+t+2*d;break;case"right":c.area.start.x=s.width-s.area[1]-t-2*d;c.area.end.x=s.width-s.area[1];break;default:c.area.start.x=(s.width-t)/2-d;c.area.end.x=(s.width+t)/2+d}c.area.width=t+2*d;c.area.wholeWidth=t+2*d;c.area.height=i.length*u+2*d;c.area.wholeHeight=i.length*u+2*d+2*x;c.points=i}}else{let t=l.length;let e=s.height-s.area[0]-s.area[2]-2*x-2*d;let a=Math.min(Math.floor(e/u),t);c.area.height=a*u+d*2;c.area.wholeHeight=a*u+d*2;switch(s.legend.float){case"top":c.area.start.y=s.area[0]+x;c.area.end.y=s.area[0]+x+c.area.height;break;case"bottom":c.area.start.y=s.height-s.area[2]-x-c.area.height;c.area.end.y=s.height-s.area[2]-x;break;default:c.area.start.y=(s.height-c.area.height)/2;c.area.end.y=(s.height+c.area.height)/2}let i=t%a===0?t/a:Math.floor(t/a+1);let r=[];for(let e=0;ei){i=t}}c.widthArr.push(i);c.heightArr.push(a.length*u+d*2)}let e=0;for(let t=0;t4&&arguments[4]!==undefined?arguments[4]:-1;var i;if(c=="stack"){i=dataCombineStack(t,e.categories.length)}else{i=dataCombine(t)}var r=[];i=i.filter(function(t){if(typeof t==="object"&&t!==null){if(t.constructor.toString().indexOf("Array")>-1){return t!==null}else{return t.value!==null}}else{return t!==null}});i.map(function(t){if(typeof t==="object"){if(t.constructor.toString().indexOf("Array")>-1){if(e.type=="candle"){t.map(function(t){r.push(t)})}else{r.push(t[0])}}else{r.push(t.value)}}else{r.push(t)}});var o=0;var n=0;if(r.length>0){o=Math.min.apply(this,r);n=Math.max.apply(this,r)}if(a>-1){if(typeof e.xAxis.data[a].min==="number"){o=Math.min(e.xAxis.data[a].min,o)}if(typeof e.xAxis.data[a].max==="number"){n=Math.max(e.xAxis.data[a].max,n)}}else{if(typeof e.xAxis.min==="number"){o=Math.min(e.xAxis.min,o)}if(typeof e.xAxis.max==="number"){n=Math.max(e.xAxis.max,n)}}if(o===n){var d=n||10;n+=d}var l=o;var x=n;var f=[];var p=(x-l)/e.xAxis.splitNumber;for(var s=0;s<=e.xAxis.splitNumber;s++){f.push(l+p*s)}return f}function calXAxisData(t,e,a,i){var r=assign({},{type:""},e.extra.bar);var o={angle:0,xAxisHeight:e.xAxis.lineHeight*e.pix+e.xAxis.marginTop*e.pix};o.ranges=getXAxisTextList(t,e,a,r.type);o.rangesFormat=o.ranges.map(function(t){t=util.toFixed(t,2);return t});var n=o.ranges.map(function(t){t=util.toFixed(t,2);return t});o=Object.assign(o,getXAxisPoints(n,e,a));var l=o.eachSpacing;var s=n.map(function(t){return measureText(t,e.xAxis.fontSize*e.pix,i)});if(e.xAxis.disabled===true){o.xAxisHeight=0}return o}function getRadarDataPoints(r,o,n,a,t){var l=arguments.length>5&&arguments[5]!==undefined?arguments[5]:1;var e=t.extra.radar||{};e.max=e.max||0;var s=Math.max(e.max,Math.max.apply(null,dataCombine(a)));var h=[];for(let e=0;e2&&arguments[2]!==undefined?arguments[2]:1;var o=0;var n=0;for(let e=0;e4&&arguments[4]!==undefined?arguments[4]:1;for(let t=0;t4&&arguments[4]!==undefined?arguments[4]:1;var l=0;var s=0;var h=[];for(let e=0;e2&&arguments[2]!==undefined?arguments[2]:1;if(o==1){o=.999999}for(let a=0;a=2){t._proportion_=t._proportion_%2}}return i}function getGaugeArcbarDataPoints(i,r){var o=arguments.length>2&&arguments[2]!==undefined?arguments[2]:1;if(o==1){o=.999999}for(let a=0;a=2){t._proportion_=t._proportion_%2}}return i}function getGaugeAxisPoints(e,a,t){let i;if(t=2){e[t]._endAngle_=e[t]._endAngle_%2}r=e[t]._endAngle_}return e}function getGaugeDataPoints(i,r,o){let n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:1;for(let a=0;a=o.oldData){e._proportion_=(e._endAngle_-e._oldAngle_)*n+o.oldAngle}else{e._proportion_=e._oldAngle_-(e._oldAngle_-e._endAngle_)*n}if(e._proportion_>=2){e._proportion_=e._proportion_%2}}return i}function getPieTextMaxLength(i,r,o,n){i=getPieDataPoints(i);let l=0;for(let a=0;a0){t.width=Math.min(t.width,+n.extra.mix.column.width*n.pix)}if(n.extra.column&&n.extra.column.width&&+n.extra.column.width>0){t.width=Math.min(t.width,+n.extra.column.width*n.pix)}if(t.width<=0){t.width=1}t.x+=(o+.5-r/2)*(t.width+e);return t})}function fixBarData(t,i,r,o,e,n){return t.map(function(t){if(t===null){return null}var e=0;var a=0;e=n.extra.bar.seriesGap*n.pix||0;a=n.extra.bar.categoryGap*n.pix||0;e=Math.min(e,i/r);a=Math.min(a,i/r);t.width=Math.ceil((i-2*a-e*(r-1))/r);if(n.extra.bar&&n.extra.bar.width&&+n.extra.bar.width>0){t.width=Math.min(t.width,+n.extra.bar.width*n.pix)}if(t.width<=0){t.width=1}t.y+=(o+.5-r/2)*(t.width+e);return t})}function fixColumeMeterData(t,e,a,i,r,o,n){var l=o.extra.column.categoryGap*o.pix||0;return t.map(function(t){if(t===null){return null}t.width=e-2*l;if(o.extra.column&&o.extra.column.width&&+o.extra.column.width>0){t.width=Math.min(t.width,+o.extra.column.width*o.pix)}if(i>0){t.width-=n}return t})}function fixColumeStackData(t,a,e,i,r,o,n){var l=o.extra.column.categoryGap*o.pix||0;return t.map(function(t,e){if(t===null){return null}t.width=Math.ceil(a-2*l);if(o.extra.column&&o.extra.column.width&&+o.extra.column.width>0){t.width=Math.min(t.width,+o.extra.column.width*o.pix)}if(t.width<=0){t.width=1}return t})}function fixBarStackData(t,a,e,i,r,o,n){var l=o.extra.bar.categoryGap*o.pix||0;return t.map(function(t,e){if(t===null){return null}t.width=Math.ceil(a-2*l);if(o.extra.bar&&o.extra.bar.width&&+o.extra.bar.width>0){t.width=Math.min(t.width,+o.extra.bar.width*o.pix)}if(t.width<=0){t.width=1}return t})}function getXAxisPoints(t,e,h){var a=e.width-e.area[1]-e.area[3];var i=e.enableScroll?Math.min(e.xAxis.itemCount,t.length):t.length;if((e.type=="line"||e.type=="area"||e.type=="scatter"||e.type=="bubble"||e.type=="bar")&&i>1&&e.xAxis.boundaryGap=="justify"){i-=1}var r=0;if(e.type=="mount"&&e.extra&&e.extra.mount&&e.extra.mount.widthRatio&&e.extra.mount.widthRatio>1){if(e.extra.mount.widthRatio>2)e.extra.mount.widthRatio=2;r=e.extra.mount.widthRatio-1;i+=r}var o=a/i;var n=[];var l=e.area[3];var s=e.width-e.area[1];t.forEach(function(t,e){n.push(l+r/2*o+e*o)});if(e.xAxis.boundaryGap!=="justify"){if(e.enableScroll===true){n.push(l+r*o+t.length*o)}else{n.push(s)}}return{xAxisPoints:n,startX:l,endX:s,eachSpacing:o}}function getCandleDataPoints(t,l,s,h,c,d,a){var x=arguments.length>7&&arguments[7]!==undefined?arguments[7]:1;var e=[];var f=d.height-d.area[0]-d.area[2];t.forEach(function(t,o){if(t===null){e.push(null)}else{var n=[];t.forEach(function(t,e){var a={};a.x=h[o]+Math.round(c/2);var i=t.value||t;var r=f*(i-l)/(s-l);r*=x;a.y=d.height-Math.round(r)-d.area[2];n.push(a)});e.push(n)}});return e}function getDataPoints(t,a,n,l,s,h,e){var c=arguments.length>7&&arguments[7]!==undefined?arguments[7]:1;var d="center";if(h.type=="line"||h.type=="area"||h.type=="scatter"||h.type=="bubble"){d=h.xAxis.boundaryGap}var x=[];var f=h.height-h.area[0]-h.area[2];var p=h.width-h.area[1]-h.area[3];t.forEach(function(i,t){if(i===null){x.push(null)}else{var r={};r.color=i.color;r.x=l[t];var o=i;if(typeof i==="object"&&i!==null){if(i.constructor.toString().indexOf("Array")>-1){let t,e,a;t=[].concat(h.chartData.xAxisData.ranges);e=t.shift();a=t.pop();o=i[1];r.x=h.area[3]+p*(i[0]-e)/(a-e);if(h.type=="bubble"){r.r=i[2];r.t=i[3]}}else{o=i.value}}if(d=="center"){r.x+=s/2}var e=f*(o-a)/(n-a);e*=c;r.y=h.height-e-h.area[2];x.push(r)}});return x}function getLineDataPoints(t,a,n,l,s,h,e,p,c){var c=arguments.length>8&&arguments[8]!==undefined?arguments[8]:1;var d=h.xAxis.boundaryGap;var x=[];var f=h.height-h.area[0]-h.area[2];var u=h.width-h.area[1]-h.area[3];t.forEach(function(i,t){if(i===null){x.push(null)}else{var r={};r.color=i.color;if(p.animation=="vertical"){r.x=l[t];var o=i;if(typeof i==="object"&&i!==null){if(i.constructor.toString().indexOf("Array")>-1){let t,e,a;t=[].concat(h.chartData.xAxisData.ranges);e=t.shift();a=t.pop();o=i[1];r.x=h.area[3]+u*(i[0]-e)/(a-e)}else{o=i.value}}if(d=="center"){r.x+=s/2}var e=f*(o-a)/(n-a);e*=c;r.y=h.height-e-h.area[2];x.push(r)}else{r.x=l[0]+s*t*c;var o=i;if(d=="center"){r.x+=s/2}var e=f*(o-a)/(n-a);r.y=h.height-e-h.area[2];x.push(r)}}});return x}function getColumnDataPoints(t,a,n,l,s,h,e,i,c){var c=arguments.length>8&&arguments[8]!==undefined?arguments[8]:1;var d=[];var x=h.height-h.area[0]-h.area[2];var f=h.width-h.area[1]-h.area[3];t.forEach(function(i,t){if(i===null){d.push(null)}else{var r={};r.color=i.color;r.x=l[t];var o=i;if(typeof i==="object"&&i!==null){if(i.constructor.toString().indexOf("Array")>-1){let t,e,a;t=[].concat(h.chartData.xAxisData.ranges);e=t.shift();a=t.pop();o=i[1];r.x=h.area[3]+f*(i[0]-e)/(a-e)}else{o=i.value}}r.x+=s/2;var e=x*(o*c-a)/(n-a);r.y=h.height-e-h.area[2];d.push(r)}});return d}function getMountDataPoints(t,o,n,l,s,h,e,a){var c=arguments.length>8&&arguments[8]!==undefined?arguments[8]:1;var d=[];var x=h.height-h.area[0]-h.area[2];var i=h.width-h.area[1]-h.area[3];var f=s*e.widthRatio;t.forEach(function(t,e){if(t===null){d.push(null)}else{var a={};a.color=t.color;a.x=l[e];a.x+=s/2;var i=t.data;var r=x*(i*c-o)/(n-o);a.y=h.height-r-h.area[2];a.value=i;a.width=f;d.push(a)}});return d}function getBarDataPoints(t,o,n,l,e,s,a){var h=arguments.length>7&&arguments[7]!==undefined?arguments[7]:1;var c=[];var i=s.height-s.area[0]-s.area[2];var d=s.width-s.area[1]-s.area[3];t.forEach(function(t,e){if(t===null){c.push(null)}else{var a={};a.color=t.color;a.y=l[e];var i=t;if(typeof t==="object"&&t!==null){i=t.value}var r=d*(i-o)/(n-o);r*=h;a.height=r;a.value=i;a.x=r+s.area[3];c.push(a)}});return c}function getStackDataPoints(t,s,h,c,g,d,e,x,y){var f=arguments.length>9&&arguments[9]!==undefined?arguments[9]:1;var p=[];var u=d.height-d.area[0]-d.area[2];t.forEach(function(t,e){if(t===null){p.push(null)}else{var a={};a.color=t.color;a.x=c[e]+Math.round(g/2);if(x>0){var i=0;for(let t=0;t<=x;t++){i+=y[t].data[e]}var r=i-t;var o=u*(i-s)/(h-s);var n=u*(r-s)/(h-s)}else{var i=t;if(typeof t==="object"&&t!==null){i=t.value}var o=u*(i-s)/(h-s);var n=0}var l=n;o*=f;l*=f;a.y=d.height-Math.round(o)-d.area[2];a.y0=d.height-Math.round(l)-d.area[2];p.push(a)}});return p}function getBarStackDataPoints(t,s,h,c,e,d,a,x,g){var f=arguments.length>9&&arguments[9]!==undefined?arguments[9]:1;var p=[];var u=d.width-d.area[1]-d.area[3];t.forEach(function(t,e){if(t===null){p.push(null)}else{var a={};a.color=t.color;a.y=c[e];if(x>0){var i=0;for(let t=0;t<=x;t++){i+=g[t].data[e]}var r=i-t;var o=u*(i-s)/(h-s);var n=u*(r-s)/(h-s)}else{var i=t;if(typeof t==="object"&&t!==null){i=t.value}var o=u*(i-s)/(h-s);var n=0}var l=n;o*=f;l*=f;a.height=o-l;a.x=d.area[3]+o;a.x0=d.area[3]+l;p.push(a)}});return p}function getYAxisTextList(t,e,h,c,a){var d=arguments.length>5&&arguments[5]!==undefined?arguments[5]:-1;var i;if(c=="stack"){i=dataCombineStack(t,e.categories.length)}else{i=dataCombine(t)}var r=[];i=i.filter(function(t){if(typeof t==="object"&&t!==null){if(t.constructor.toString().indexOf("Array")>-1){return t!==null}else{return t.value!==null}}else{return t!==null}});i.map(function(t){if(typeof t==="object"){if(t.constructor.toString().indexOf("Array")>-1){if(e.type=="candle"){t.map(function(t){r.push(t)})}else{r.push(t[1])}}else{r.push(t.value)}}else{r.push(t)}});var o=a.min||0;var n=a.max||0;if(r.length>0){o=Math.min.apply(this,r);n=Math.max.apply(this,r)}if(o===n){if(n==0){n=10}else{o=0}}var l=getDataRange(o,n);var x=a.min===undefined||a.min===null?l.minRange:a.min;var f=a.max===undefined||a.max===null?l.maxRange:a.max;var p=(f-x)/e.yAxis.splitNumber;var u=[];for(var s=0;s<=e.yAxis.splitNumber;s++){u.push(x+p*s)}return u.reverse()}function calYAxisData(a,o,e,n){var l=assign({},{type:""},o.extra.column);var t=o.yAxis.data.length;var s=new Array(t);if(t>0){for(let e=0;e{return t+(i.unit||"")}}i.categories=i.categories||o.categories;h[r]=i.categories}else{if(!i.formatter){i.formatter=(t,e,a)=>{return util.toFixed(t,i.tofix||0)+(i.unit||"")}}h[r]=getYAxisTextList(s[r],o,e,l.type,i,r)}let a=i.fontSize*o.pix||e.fontSize;d[r]={position:i.position?i.position:"left",width:0};c[r]=h[r].map(function(t,e){t=i.formatter(t,e,o);d[r].width=Math.max(d[r].width,measureText(t,a,n)+5);return t});let t=i.calibration?4*o.pix:0;d[r].width+=t+3*o.pix;if(i.disabled===true){d[r].width=0}}}else{var h=new Array(1);var c=new Array(1);var d=new Array(1);if(o.type==="bar"){h[0]=o.categories;if(!o.yAxis.formatter){o.yAxis.formatter=(t,e,a)=>{return t+(a.yAxis.unit||"")}}}else{if(!o.yAxis.formatter){o.yAxis.formatter=(t,e,a)=>{return t.toFixed(a.yAxis.tofix)+(a.yAxis.unit||"")}}h[0]=getYAxisTextList(a,o,e,l.type,{})}d[0]={position:"left",width:0};var i=o.yAxis.fontSize*o.pix||e.fontSize;c[0]=h[0].map(function(t,e){t=o.yAxis.formatter(t,e,o);d[0].width=Math.max(d[0].width,measureText(t,i,n)+5);return t});d[0].width+=3*o.pix;if(o.yAxis.disabled===true){d[0]={position:"left",width:0};o.yAxis.data[0]={disabled:true}}else{o.yAxis.data[0]={disabled:false,position:"left",max:o.yAxis.max,min:o.yAxis.min,formatter:o.yAxis.formatter};if(o.type==="bar"){o.yAxis.data[0].categories=o.categories;o.yAxis.data[0].type="categories"}}}return{rangesFormat:c,ranges:h,yAxisWidth:d}}function calTooltipYAxisData(r,t,o,e,a){let n=[].concat(o.chartData.yAxisData.ranges);let l=o.height-o.area[0]-o.area[2];let s=o.area[0];let h=[];for(let i=0;i0&&r.tooltip.group.includes(n)==false){return}var l=typeof r.tooltip.index==="number"?r.tooltip.index:r.tooltip.index[r.tooltip.group.indexOf(n)];i.beginPath();if(o.activeType=="hollow"){i.setStrokeStyle(e);i.setFillStyle(r.background);i.setLineWidth(2*r.pix)}else{i.setStrokeStyle("#ffffff");i.setFillStyle(e);i.setLineWidth(1*r.pix)}if(a==="diamond"){t.forEach(function(t,e){if(t!==null&&l==e){i.moveTo(t.x,t.y-4.5);i.lineTo(t.x-4.5,t.y);i.lineTo(t.x,t.y+4.5);i.lineTo(t.x+4.5,t.y);i.lineTo(t.x,t.y-4.5)}})}else if(a==="circle"){t.forEach(function(t,e){if(t!==null&&l==e){i.moveTo(t.x+2.5*r.pix,t.y);i.arc(t.x,t.y,3*r.pix,0,2*Math.PI,false)}})}else if(a==="square"){t.forEach(function(t,e){if(t!==null&&l==e){i.moveTo(t.x-3.5,t.y-3.5);i.rect(t.x-3.5,t.y-3.5,7,7)}})}else if(a==="triangle"){t.forEach(function(t,e){if(t!==null&&l==e){i.moveTo(t.x,t.y-4.5);i.lineTo(t.x-4.5,t.y+4.5);i.lineTo(t.x+4.5,t.y+4.5);i.lineTo(t.x,t.y-4.5)}})}else if(a==="none"){return}i.closePath();i.fill();i.stroke()}function drawRingTitle(t,e,a,i){var r=t.title.fontSize||e.titleFontSize;var o=t.subtitle.fontSize||e.subtitleFontSize;var n=t.title.name||"";var l=t.subtitle.name||"";var c=t.title.color||t.fontColor;var d=t.subtitle.color||t.fontColor;var x=n?r:0;var f=l?o:0;var s=5;if(l){var p=measureText(l,o*t.pix,a);var u=i.x-p/2+(t.subtitle.offsetX||0)*t.pix;var h=i.y+o*t.pix/2+(t.subtitle.offsetY||0)*t.pix;if(n){h+=(x*t.pix+s)/2}a.beginPath();a.setFontSize(o*t.pix);a.setFillStyle(d);a.fillText(l,u,h);a.closePath();a.stroke()}if(n){var g=measureText(n,r*t.pix,a);var y=i.x-g/2+(t.title.offsetX||0);var v=i.y+r*t.pix/2+(t.title.offsetY||0)*t.pix;if(l){v-=(f*t.pix+s)/2}a.beginPath();a.setFontSize(r*t.pix);a.setFillStyle(c);a.fillText(n,y,v);a.closePath();a.stroke()}}function drawPointText(t,o,n,l,s){var h=o.data;var c=o.textOffset?o.textOffset:0;t.forEach(function(t,e){if(t!==null){l.beginPath();var a=o.textSize?o.textSize*s.pix:n.fontSize;l.setFontSize(a);l.setFillStyle(o.textColor||s.fontColor);var i=h[e];if(typeof h[e]==="object"&&h[e]!==null){if(h[e].constructor.toString().indexOf("Array")>-1){i=h[e][1]}else{i=h[e].value}}var r=o.formatter?o.formatter(i,e,o,s):i;l.setTextAlign("center");l.fillText(String(r),t.x,t.y-4+c*s.pix);l.closePath();l.stroke();l.setTextAlign("left")}})}function drawColumePointText(t,n,l,s,h){var c=n.data;var d=n.textOffset?n.textOffset:0;var x=h.extra.column.labelPosition;t.forEach(function(t,e){if(t!==null){s.beginPath();var a=n.textSize?n.textSize*h.pix:l.fontSize;s.setFontSize(a);s.setFillStyle(n.textColor||h.fontColor);var i=c[e];if(typeof c[e]==="object"&&c[e]!==null){if(c[e].constructor.toString().indexOf("Array")>-1){i=c[e][1]}else{i=c[e].value}}var r=n.formatter?n.formatter(i,e,n,h):i;s.setTextAlign("center");var o=t.y-4*h.pix+d*h.pix;if(t.y>n.zeroPoints){o=t.y+d*h.pix+a}if(x=="insideTop"){o=t.y+a+d*h.pix;if(t.y>n.zeroPoints){o=t.y-d*h.pix-4*h.pix}}if(x=="center"){o=t.y+d*h.pix+(h.height-h.area[2]-t.y+a)/2;if(n.zeroPointsn.zeroPoints){o=t.y-d*h.pix-(t.y-n.zeroPoints-a)/2}if(h.extra.column.type=="stack"){o=t.y+d*h.pix+(t.y0-t.y+a)/2}}if(x=="bottom"){o=h.height-h.area[2]+d*h.pix-4*h.pix;if(n.zeroPointsn.zeroPoints){o=n.zeroPoints-d*h.pix+a+2*h.pix}if(h.extra.column.type=="stack"){o=t.y0+d*h.pix-4*h.pix}}s.fillText(String(r),t.x,o);s.closePath();s.stroke();s.setTextAlign("left")}})}function drawMountPointText(t,n,l,s,h,c){var e=n.data;var d=n.textOffset?n.textOffset:0;var a=h.extra.mount.labelPosition;t.forEach(function(t,e){if(t!==null){s.beginPath();var a=n[e].textSize?n[e].textSize*h.pix:l.fontSize;s.setFontSize(a);s.setFillStyle(n[e].textColor||h.fontColor);var i=t.value;var r=n[e].formatter?n[e].formatter(i,e,n,h):i;s.setTextAlign("center");var o=t.y-4*h.pix+d*h.pix;if(t.y>c){o=t.y+d*h.pix+a}s.fillText(String(r),t.x,o);s.closePath();s.stroke();s.setTextAlign("left")}})}function drawBarPointText(t,o,n,l,s){var h=o.data;var e=o.textOffset?o.textOffset:0;t.forEach(function(t,e){if(t!==null){l.beginPath();var a=o.textSize?o.textSize*s.pix:n.fontSize;l.setFontSize(a);l.setFillStyle(o.textColor||s.fontColor);var i=h[e];if(typeof h[e]==="object"&&h[e]!==null){i=h[e].value}var r=o.formatter?o.formatter(i,e,o,s):i;l.setTextAlign("left");l.fillText(String(r),t.x+4*s.pix,t.y+a/2-3);l.closePath();l.stroke()}})}function drawGaugeLabel(e,a,i,r,o,n){a-=e.width/2+e.labelOffset*r.pix;a=a<10?10:a;let t;if(e.endAngle=2){l=l%2}s+=x}}function drawRadarLabel(t,s,h,c,d,x){var f=c.extra.radar||{};t.forEach(function(t,e){if(f.labelPointShow===true&&c.categories[e]!==""){var a={x:s*Math.cos(t),y:s*Math.sin(t)};var i=convertCoordinateOrigin(a.x,a.y,h);x.setFillStyle(f.labelPointColor);x.beginPath();x.arc(i.x,i.y,f.labelPointRadius*c.pix,0,2*Math.PI,false);x.closePath();x.fill()}if(f.labelShow===true){var r={x:(s+d.radarLabelTextMargin*c.pix)*Math.cos(t),y:(s+d.radarLabelTextMargin*c.pix)*Math.sin(t)};var o=convertCoordinateOrigin(r.x,r.y,h);var n=o.x;var l=o.y;if(util.approximatelyEqual(r.x,0)){n-=measureText(c.categories[e]||"",d.fontSize,x)/2}else if(r.x<0){n-=measureText(c.categories[e]||"",d.fontSize,x)}x.beginPath();x.setFontSize(d.fontSize);x.setFillStyle(f.labelColor||c.fontColor);x.fillText(c.categories[e]||"",n,l+d.fontSize/2);x.closePath();x.stroke()}})}function drawPieText(n,d,x,f,t,l){var p=x.pieChartLinePadding;var u=[];var g=null;var y=n.map(function(t,e){var a=t.formatter?t.formatter(t,e,n,d):util.toFixed(t._proportion_.toFixed(4)*100)+"%";a=t.labelText?t.labelText:a;var i=2*Math.PI-(t._start_+2*Math.PI*t._proportion_/2);if(t._rose_proportion_){i=2*Math.PI-(t._start_+2*Math.PI*t._rose_proportion_/2)}var r=t.color;var o=t._radius_;return{arc:i,text:a,color:r,radius:o,textColor:t.textColor,textSize:t.textSize,labelShow:t.labelShow}});for(let c=0;c=0?e+x.pieChartTextPadding:e-x.pieChartTextPadding;let n=a;let l=measureText(t.text,t.textSize*d.pix||x.fontSize,f);let s=n;if(g&&util.isSameXCoordinateArea(g.start,{x:o})){if(o>0){s=Math.min(n,g.start.y)}else if(e<0){s=Math.max(n,g.start.y)}else{if(n>0){s=Math.max(n,g.start.y)}else{s=Math.min(n,g.start.y)}}}if(o<0){o-=l}let h={lineStart:{x:i,y:r},lineEnd:{x:e,y:a},start:{x:o,y:s},width:l,height:x.fontSize,text:t.text,color:t.color,textColor:t.textColor,textSize:t.textSize};g=avoidCollision(h,g);u.push(g)}for(let n=0;nr?r:o.activeWidth;var n=e.area[0];var l=e.height-e.area[2];i.beginPath();i.setFillStyle(hexToRgb(o.activeBgColor,o.activeBgOpacity));i.rect(t-o.activeWidth/2,n,o.activeWidth,l-n);i.closePath();i.fill();i.setFillStyle("#FFFFFF")}function drawBarToolTipSplitArea(t,e,a,i,r){var o=assign({},{activeBgColor:"#000000",activeBgOpacity:.08},e.extra.bar);var n=e.area[3];var l=e.width-e.area[1];i.beginPath();i.setFillStyle(hexToRgb(o.activeBgColor,o.activeBgOpacity));i.rect(n,t-r/2,l-n,r);i.closePath();i.fill();i.setFillStyle("#FFFFFF")}function drawToolTip(e,r,o,a,n,i,f){var l=assign({},{showBox:true,showArrow:true,showCategory:false,bgColor:"#000000",bgOpacity:.7,borderColor:"#000000",borderWidth:0,borderRadius:0,borderOpacity:.7,boxPadding:3,fontColor:"#FFFFFF",fontSize:13,lineHeight:20,legendShow:true,legendShape:"auto",splitLine:true},o.extra.tooltip);if(l.showCategory==true&&o.categories){e.unshift({text:o.categories[o.tooltip.index],color:null})}var s=l.fontSize*o.pix;var p=l.lineHeight*o.pix;var h=l.boxPadding*o.pix;var c=s;var u=5*o.pix;if(l.legendShow==false){c=0;u=0}var d=l.showArrow?8*o.pix:0;var g=false;if(o.type=="line"||o.type=="mount"||o.type=="area"||o.type=="candle"||o.type=="mix"){if(l.splitLine==true){drawToolTipSplitLine(o.tooltip.offset.x,o,a,n)}}r=assign({x:0,y:0},r);r.y-=8*o.pix;var y=e.map(function(t){return measureText(t.text,s,n)});var x=c+u+4*h+Math.max.apply(null,y);var v=2*h+e.length*p;if(l.showBox==false){return}if(r.x-Math.abs(o._scrollDistance_||0)+d+x>o.width){g=true}if(v+r.y>o.height){r.y=o.height-v}n.beginPath();n.setFillStyle(hexToRgb(l.bgColor,l.bgOpacity));n.setLineWidth(l.borderWidth*o.pix);n.setStrokeStyle(hexToRgb(l.borderColor,l.borderOpacity));var t=l.borderRadius;if(g){if(x+d>o.width){r.x=o.width+Math.abs(o._scrollDistance_||0)+d+(x-o.width)}if(x>r.x){r.x=o.width+Math.abs(o._scrollDistance_||0)+d+(x-o.width)}if(l.showArrow){n.moveTo(r.x,r.y+10*o.pix);n.lineTo(r.x-d,r.y+10*o.pix+5*o.pix)}n.arc(r.x-d-t,r.y+v-t,t,0,Math.PI/2,false);n.arc(r.x-d-Math.round(x)+t,r.y+v-t,t,Math.PI/2,Math.PI,false);n.arc(r.x-d-Math.round(x)+t,r.y+t,t,-Math.PI,-Math.PI/2,false);n.arc(r.x-d-t,r.y+t,t,-Math.PI/2,0,false);if(l.showArrow){n.lineTo(r.x-d,r.y+10*o.pix-5*o.pix);n.lineTo(r.x,r.y+10*o.pix)}}else{if(l.showArrow){n.moveTo(r.x,r.y+10*o.pix);n.lineTo(r.x+d,r.y+10*o.pix-5*o.pix)}n.arc(r.x+d+t,r.y+t,t,-Math.PI,-Math.PI/2,false);n.arc(r.x+d+Math.round(x)-t,r.y+t,t,-Math.PI/2,0,false);n.arc(r.x+d+Math.round(x)-t,r.y+v-t,t,0,Math.PI/2,false);n.arc(r.x+d+t,r.y+v-t,t,Math.PI/2,Math.PI,false);if(l.showArrow){n.lineTo(r.x+d,r.y+10*o.pix+5*o.pix);n.lineTo(r.x,r.y+10*o.pix)}}n.closePath();n.fill();if(l.borderWidth>0){n.stroke()}if(l.legendShow){e.forEach(function(t,e){if(t.color!==null){n.beginPath();n.setFillStyle(t.color);var a=r.x+d+2*h;var i=r.y+(p-s)/2+p*e+h+1;if(g){a=r.x-x-d+2*h}switch(t.legendShape){case"line":n.moveTo(a,i+.5*c-2*o.pix);n.fillRect(a,i+.5*c-2*o.pix,c,4*o.pix);break;case"triangle":n.moveTo(a+7.5*o.pix,i+.5*c-5*o.pix);n.lineTo(a+2.5*o.pix,i+.5*c+5*o.pix);n.lineTo(a+12.5*o.pix,i+.5*c+5*o.pix);n.lineTo(a+7.5*o.pix,i+.5*c-5*o.pix);break;case"diamond":n.moveTo(a+7.5*o.pix,i+.5*c-5*o.pix);n.lineTo(a+2.5*o.pix,i+.5*c);n.lineTo(a+7.5*o.pix,i+.5*c+5*o.pix);n.lineTo(a+12.5*o.pix,i+.5*c);n.lineTo(a+7.5*o.pix,i+.5*c-5*o.pix);break;case"circle":n.moveTo(a+7.5*o.pix,i+.5*c);n.arc(a+7.5*o.pix,i+.5*c,5*o.pix,0,2*Math.PI);break;case"rect":n.moveTo(a,i+.5*c-5*o.pix);n.fillRect(a,i+.5*c-5*o.pix,15*o.pix,10*o.pix);break;case"square":n.moveTo(a+2*o.pix,i+.5*c-5*o.pix);n.fillRect(a+2*o.pix,i+.5*c-5*o.pix,10*o.pix,10*o.pix);break;default:n.moveTo(a,i+.5*c-5*o.pix);n.fillRect(a,i+.5*c-5*o.pix,15*o.pix,10*o.pix)}n.closePath();n.fill()}})}e.forEach(function(t,e){var a=r.x+d+2*h+c+u;if(g){a=r.x-x-d+2*h+c+u}var i=r.y+p*e+(p-s)/2-1+h+s;n.beginPath();n.setFontSize(s);n.setTextBaseline("normal");n.setFillStyle(l.fontColor);n.fillText(t.text,a,i);n.closePath();n.stroke()})}function drawColumnDataPoints(T,b,S,w){let A=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;let t=b.chartData.xAxisData,P=t.xAxisPoints,C=t.eachSpacing;let D=assign({},{type:"group",width:C/2,meterBorder:4,meterFillColor:"#FFFFFF",barBorderCircle:false,barBorderRadius:[],seriesGap:2,linearType:"none",linearOpacity:1,customColor:[],colorStop:0,labelPosition:"outside"},b.extra.column);let M=[];w.save();let L=-2;let F=P.length+2;if(b._scrollDistance_&&b._scrollDistance_!==0&&b.enableScroll===true){w.translate(b._scrollDistance_,0);L=Math.floor(-b._scrollDistance_/C)-2;F=L+b.xAxis.itemCount+4}if(b.tooltip&&b.tooltip.textList&&b.tooltip.textList.length&&A===1){drawToolTipSplitArea(b.tooltip.offset.x,b,S,w,C)}D.customColor=fillCustomColor(D.linearType,D.customColor,T,S);T.forEach(function(a,i){let e,t,o;e=[].concat(b.chartData.yAxisData.ranges[a.index]);t=e.pop();o=e.shift();let x=b.height-b.area[0]-b.area[2];let f=x*(0-t)/(o-t);let n=b.height-Math.round(f)-b.area[2];a.zeroPoints=n;var p=a.data;switch(D.type){case"group":var r=getColumnDataPoints(p,t,o,P,C,b,S,n,A);var u=getStackDataPoints(p,t,o,P,C,b,S,i,T,A);M.push(u);r=fixColumeData(r,C,T.length,i,S,b);for(let t=0;tL&&tn?n:o.y;const d=o.width;const s=Math.abs(n-o.y);if(D.barBorderCircle){D.barBorderRadius=[d/2,d/2,0,0]}if(o.y>n){D.barBorderRadius=[0,0,d/2,d/2]}let[t,e,a,i]=D.barBorderRadius;let r=Math.min(d/2,s/2);t=t>r?r:t;e=e>r?r:e;a=a>r?r:a;i=i>r?r:i;t=t<0?0:t;e=e<0?0:e;a=a<0?0:a;i=i<0?0:i;w.arc(h+t,c+t,t,-Math.PI,-Math.PI/2);w.arc(h+d-e,c+e,e,-Math.PI/2,0);w.arc(h+d-a,c+s-a,a,0,Math.PI/2);w.arc(h+i,c+s-i,i,Math.PI/2,Math.PI)}else{w.moveTo(l,o.y);w.lineTo(l+o.width,o.y);w.lineTo(l+o.width,n);w.lineTo(l,n);w.lineTo(l,o.y);w.setLineWidth(1);w.setStrokeStyle(y)}w.setFillStyle(g);w.closePath();w.fill()}};break;case"stack":var r=getStackDataPoints(p,t,o,P,C,b,S,i,T,A);M.push(r);r=fixColumeStackData(r,C,T.length,i,S,b,T);for(let e=0;eL&&e0){s-=m}w.setFillStyle(g);w.moveTo(l,t.y);w.fillRect(l,t.y,t.width,s);w.closePath();w.fill()}};break;case"meter":var r=getDataPoints(p,t,o,P,C,b,S,A);M.push(r);r=fixColumeMeterData(r,C,T.length,i,S,b,D.meterBorder);for(let t=0;tL&&t0){w.setStrokeStyle(a.color);w.setLineWidth(D.meterBorder*b.pix)}if(i==0){w.setFillStyle(D.meterFillColor)}else{w.setFillStyle(o.color||a.color)}var l=o.x-o.width/2;var s=b.height-o.y-b.area[2];if(D.barBorderRadius&&D.barBorderRadius.length===4||D.barBorderCircle===true){const h=l;const c=o.y;const d=o.width;const s=n-o.y;if(D.barBorderCircle){D.barBorderRadius=[d/2,d/2,0,0]}let[t,e,a,i]=D.barBorderRadius;let r=Math.min(d/2,s/2);t=t>r?r:t;e=e>r?r:e;a=a>r?r:a;i=i>r?r:i;t=t<0?0:t;e=e<0?0:e;a=a<0?0:a;i=i<0?0:i;w.arc(h+t,c+t,t,-Math.PI,-Math.PI/2);w.arc(h+d-e,c+e,e,-Math.PI/2,0);w.arc(h+d-a,c+s-a,a,0,Math.PI/2);w.arc(h+i,c+s-i,i,Math.PI/2,Math.PI);w.fill()}else{w.moveTo(l,o.y);w.lineTo(l+o.width,o.y);w.lineTo(l+o.width,n);w.lineTo(l,n);w.lineTo(l,o.y);w.fill()}if(i==0&&D.meterBorder>0){w.closePath();w.stroke()}}}break}});if(b.dataLabel!==false&&A===1){T.forEach(function(t,e){let a,i,r;a=[].concat(b.chartData.yAxisData.ranges[t.index]);i=a.pop();r=a.shift();var o=t.data;switch(D.type){case"group":var n=getColumnDataPoints(o,i,r,P,C,b,S,A);n=fixColumeData(n,C,T.length,e,S,b);drawColumePointText(n,t,S,w,b);break;case"stack":var n=getStackDataPoints(o,i,r,P,C,b,S,e,T,A);drawColumePointText(n,t,S,w,b);break;case"meter":var n=getDataPoints(o,i,r,P,C,b,S,A);drawColumePointText(n,t,S,w,b);break}})}w.restore();return{xAxisPoints:P,calPoints:M,eachSpacing:C}}function drawMountDataPoints(i,r,o,n){let f=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;let t=r.chartData.xAxisData,p=t.xAxisPoints,l=t.eachSpacing;let s=assign({},{type:"mount",widthRatio:1,borderWidth:1,barBorderCircle:false,barBorderRadius:[],linearType:"none",linearOpacity:1,customColor:[],colorStop:0},r.extra.mount);s.widthRatio=s.widthRatio<=0?0:s.widthRatio;s.widthRatio=s.widthRatio>=2?2:s.widthRatio;let e=[];n.save();let u=-2;let g=p.length+2;if(r._scrollDistance_&&r._scrollDistance_!==0&&r.enableScroll===true){n.translate(r._scrollDistance_,0);u=Math.floor(-r._scrollDistance_/l)-2;g=u+r.xAxis.itemCount+4}s.customColor=fillCustomColor(s.linearType,s.customColor,i,o);let y,v,m;y=[].concat(r.chartData.yAxisData.ranges[0]);v=y.pop();m=y.shift();let T=r.height-r.area[0]-r.area[2];let b=T*(0-v)/(m-v);let h=r.height-Math.round(b)-r.area[2];var c=getMountDataPoints(i,v,m,p,l,r,s,h,f);switch(s.type){case"bar":for(let t=0;tu&&th?h:o.y;const C=o.width;const S=Math.abs(h-o.y);if(s.barBorderCircle){s.barBorderRadius=[C/2,C/2,0,0]}if(o.y>h){s.barBorderRadius=[0,0,C/2,C/2]}let[t,e,a,i]=s.barBorderRadius;let r=Math.min(C/2,S/2);t=t>r?r:t;e=e>r?r:e;a=a>r?r:a;i=i>r?r:i;t=t<0?0:t;e=e<0?0:e;a=a<0?0:a;i=i<0?0:i;n.arc(A+t,P+t,t,-Math.PI,-Math.PI/2);n.arc(A+C-e,P+e,e,-Math.PI/2,0);n.arc(A+C-a,P+S-a,a,0,Math.PI/2);n.arc(A+i,P+S-i,i,Math.PI/2,Math.PI)}else{n.moveTo(d,o.y);n.lineTo(d+o.width,o.y);n.lineTo(d+o.width,h);n.lineTo(d,h);n.lineTo(d,o.y)}n.setStrokeStyle(w);n.setFillStyle(a);if(s.borderWidth>0){n.setLineWidth(s.borderWidth*r.pix);n.closePath();n.stroke()}n.fill()}};break;case"triangle":for(let e=0;eu&&e0){n.setLineWidth(s.borderWidth*r.pix);n.stroke()}n.fill()}};break;case"mount":for(let e=0;eu&&e0){n.setLineWidth(s.borderWidth*r.pix);n.stroke()}n.fill()}};break;case"sharp":for(let e=0;eu&&e0){n.setLineWidth(s.borderWidth*r.pix);n.stroke()}n.fill()}};break}if(r.dataLabel!==false&&f===1){let t,e,a;t=[].concat(r.chartData.yAxisData.ranges[0]);e=t.pop();a=t.shift();var c=getMountDataPoints(i,e,a,p,l,r,s,h,f);drawMountPointText(c,i,o,n,r,h)}n.restore();return{xAxisPoints:p,calPoints:c,eachSpacing:l}}function drawBarDataPoints(y,v,m,T){let b=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;let S=[];let w=(v.height-v.area[0]-v.area[2])/v.categories.length;for(let t=0;tC&&tr?r:t;e=e>r?r:e;a=a>r?r:a;i=i>r?r:i;t=t<0?0:t;e=e<0?0:e;a=a<0?0:a;i=i<0?0:i;T.arc(g+i,c+i,i,-Math.PI,-Math.PI/2);T.arc(o.x-t,c+t,t,-Math.PI/2,0);T.arc(o.x-e,c+h-e,e,0,Math.PI/2);T.arc(g+a,c+h-a,a,Math.PI/2,Math.PI)}else{T.moveTo(n,r);T.lineTo(o.x,r);T.lineTo(o.x,r+o.width);T.lineTo(n,r+o.width);T.lineTo(n,r);T.setLineWidth(1);T.setStrokeStyle(u)}T.setFillStyle(l);T.closePath();T.fill()}};break;case"stack":var i=getBarStackDataPoints(x,e,d,S,w,v,m,t,y,b);P.push(i);i=fixBarStackData(i,w,y.length,t,m,v,y);for(let e=0;eC&&e5&&arguments[5]!==undefined?arguments[5]:1;var s=assign({},{color:{},average:{}},h.extra.candle);s.color=assign({},{upLine:"#f04864",upFill:"#f04864",downLine:"#2fc25b",downFill:"#2fc25b"},s.color);s.average=assign({},{show:false,name:[],day:[],color:c.color},s.average);h.extra.candle=s;let a=h.chartData.xAxisData,x=a.xAxisPoints,f=a.eachSpacing;let y=[];d.save();let p=-2;let v=x.length+2;let u=0;let m=h.width+f;if(h._scrollDistance_&&h._scrollDistance_!==0&&h.enableScroll===true){d.translate(h._scrollDistance_,0);p=Math.floor(-h._scrollDistance_/f)-2;v=p+h.xAxis.itemCount+4;u=-h._scrollDistance_-f*2+h.area[3];m=u+(h.xAxis.itemCount+4)*f}if(s.average.show||t){t.forEach(function(e,t){let a,i,r;a=[].concat(h.chartData.yAxisData.ranges[e.index]);i=a.pop();r=a.shift();var o=e.data;var n=getDataPoints(o,i,r,x,f,h,c,g);var l=splitPoints(n,e);for(let t=0;tu){d.moveTo(t.x,t.y);a=1}if(e>0&&t.x>u&&t.xp&&e0){d.setStrokeStyle(s.color.upLine);d.setFillStyle(s.color.upFill);d.setLineWidth(1*h.pix);d.moveTo(t[3].x,t[3].y);d.lineTo(t[1].x,t[1].y);d.lineTo(t[1].x-f/4,t[1].y);d.lineTo(t[0].x-f/4,t[0].y);d.lineTo(t[0].x,t[0].y);d.lineTo(t[2].x,t[2].y);d.lineTo(t[0].x,t[0].y);d.lineTo(t[0].x+f/4,t[0].y);d.lineTo(t[1].x+f/4,t[1].y);d.lineTo(t[1].x,t[1].y);d.moveTo(t[3].x,t[3].y)}else{d.setStrokeStyle(s.color.downLine);d.setFillStyle(s.color.downFill);d.setLineWidth(1*h.pix);d.moveTo(t[3].x,t[3].y);d.lineTo(t[0].x,t[0].y);d.lineTo(t[0].x-f/4,t[0].y);d.lineTo(t[1].x-f/4,t[1].y);d.lineTo(t[1].x,t[1].y);d.lineTo(t[2].x,t[2].y);d.lineTo(t[1].x,t[1].y);d.lineTo(t[1].x+f/4,t[1].y);d.lineTo(t[0].x+f/4,t[0].y);d.lineTo(t[0].x,t[0].y);d.moveTo(t[3].x,t[3].y)}d.closePath();d.fill();d.stroke()}}});d.restore();return{xAxisPoints:x,calPoints:y,eachSpacing:f}}function drawAreaDataPoints(t,s,h,c){var d=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;var x=assign({},{type:"straight",opacity:.2,addLine:false,width:2,gradient:false,activeType:"none"},s.extra.area);let e=s.chartData.xAxisData,f=e.xAxisPoints,p=e.eachSpacing;let y=s.height-s.area[2];let v=[];c.save();let u=0;let g=s.width+p;if(s._scrollDistance_&&s._scrollDistance_!==0&&s.enableScroll===true){c.translate(s._scrollDistance_,0);u=-s._scrollDistance_-p*2+s.area[3];g=u+(s.xAxis.itemCount+4)*p}t.forEach(function(e,t){let a,i,r;a=[].concat(s.chartData.yAxisData.ranges[e.index]);i=a.pop();r=a.shift();let o=e.data;let n=getDataPoints(o,i,r,f,p,s,h,d);v.push(n);let l=splitPoints(n,e);for(let t=0;t1){let t=r[0];let e=r[r.length-1];c.moveTo(t.x,t.y);let i=0;if(x.type==="curve"){for(let a=0;au){c.moveTo(e.x,e.y);i=1}if(a>0&&e.x>u&&e.xu){c.moveTo(t.x,t.y);i=1}if(e>0&&t.x>u&&t.xu){c.moveTo(t.x,t.y);i=1}if(e>0&&t.x>u&&t.xu){c.moveTo(e.x,e.y);i=1}if(a>0&&e.x>u&&e.xu){c.moveTo(t.x,t.y);i=1}if(e>0&&t.x>u&&t.xu){c.moveTo(t.x,t.y);i=1}if(e>0&&t.x>u&&t.x4&&arguments[4]!==undefined?arguments[4]:1;var i=assign({},{type:"circle"},s.extra.scatter);let e=s.chartData.xAxisData,x=e.xAxisPoints,f=e.eachSpacing;var r=[];c.save();let a=0;let o=s.width+f;if(s._scrollDistance_&&s._scrollDistance_!==0&&s.enableScroll===true){c.translate(s._scrollDistance_,0);a=-s._scrollDistance_-f*2+s.area[3];o=a+(s.xAxis.itemCount+4)*f}t.forEach(function(t,e){let a,i,r;a=[].concat(s.chartData.yAxisData.ranges[t.index]);i=a.pop();r=a.shift();var o=t.data;var n=getDataPoints(o,i,r,x,f,s,h,d);c.beginPath();c.setStrokeStyle(t.color);c.setFillStyle(t.color);c.setLineWidth(1*s.pix);var l=t.pointShape;if(l==="diamond"){n.forEach(function(t,e){if(t!==null){c.moveTo(t.x,t.y-4.5);c.lineTo(t.x-4.5,t.y);c.lineTo(t.x,t.y+4.5);c.lineTo(t.x+4.5,t.y);c.lineTo(t.x,t.y-4.5)}})}else if(l==="circle"){n.forEach(function(t,e){if(t!==null){c.moveTo(t.x+2.5*s.pix,t.y);c.arc(t.x,t.y,3*s.pix,0,2*Math.PI,false)}})}else if(l==="square"){n.forEach(function(t,e){if(t!==null){c.moveTo(t.x-3.5,t.y-3.5);c.rect(t.x-3.5,t.y-3.5,7,7)}})}else if(l==="triangle"){n.forEach(function(t,e){if(t!==null){c.moveTo(t.x,t.y-4.5);c.lineTo(t.x-4.5,t.y+4.5);c.lineTo(t.x+4.5,t.y+4.5);c.lineTo(t.x,t.y-4.5)}})}else if(l==="triangle"){return}c.closePath();c.fill();c.stroke()});if(s.dataLabel!==false&&d===1){t.forEach(function(t,e){let a,i,r;a=[].concat(s.chartData.yAxisData.ranges[t.index]);i=a.pop();r=a.shift();var o=t.data;var n=getDataPoints(o,i,r,x,f,s,h,d);drawPointText(n,t,h,c,s)})}c.restore();return{xAxisPoints:x,calPoints:r,eachSpacing:f}}function drawBubbleDataPoints(a,l,s,h){var c=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;var d=assign({},{opacity:1,border:2},l.extra.bubble);let t=l.chartData.xAxisData,x=t.xAxisPoints,f=t.eachSpacing;var i=[];h.save();let e=0;let r=l.width+f;if(l._scrollDistance_&&l._scrollDistance_!==0&&l.enableScroll===true){h.translate(l._scrollDistance_,0);e=-l._scrollDistance_-f*2+l.area[3];r=e+(l.xAxis.itemCount+4)*f}a.forEach(function(i,t){let e,a,r;e=[].concat(l.chartData.yAxisData.ranges[i.index]);a=e.pop();r=e.shift();var o=i.data;var n=getDataPoints(o,a,r,x,f,l,s,c);h.beginPath();h.setStrokeStyle(i.color);h.setLineWidth(d.border*l.pix);h.setFillStyle(hexToRgb(i.color,d.opacity));n.forEach(function(t,e){h.moveTo(t.x+t.r,t.y);h.arc(t.x,t.y,t.r*l.pix,0,2*Math.PI,false)});h.closePath();h.fill();h.stroke();if(l.dataLabel!==false&&c===1){n.forEach(function(t,e){h.beginPath();var a=i.textSize*l.pix||s.fontSize;h.setFontSize(a);h.setFillStyle(i.textColor||"#FFFFFF");h.setTextAlign("center");h.fillText(String(t.t),t.x,t.y+a/2);h.closePath();h.stroke();h.setTextAlign("left")})}});h.restore();return{xAxisPoints:x,calPoints:i,eachSpacing:f}}function drawLineDataPoints(t,d,x,f){var p=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;var u=assign({},{type:"straight",width:2,activeType:"none",linearType:"none",onShadow:false,animation:"vertical"},d.extra.line);u.width*=d.pix;let e=d.chartData.xAxisData,g=e.xAxisPoints,y=e.eachSpacing;var T=[];f.save();let v=0;let m=d.width+y;if(d._scrollDistance_&&d._scrollDistance_!==0&&d.enableScroll===true){f.translate(d._scrollDistance_,0);v=-d._scrollDistance_-y*2+d.area[3];m=v+(d.xAxis.itemCount+4)*y}t.forEach(function(e,c){f.beginPath();f.setStrokeStyle(e.color);f.moveTo(-1e4,-1e4);f.lineTo(-10001,-10001);f.stroke();let t,a,i;t=[].concat(d.chartData.yAxisData.ranges[e.index]);a=t.pop();i=t.shift();var r=e.data;var o=getLineDataPoints(r,a,i,g,y,d,x,u,p);T.push(o);var n=splitPoints(o,e);if(e.lineType=="dash"){let t=e.dashLength?e.dashLength:8;t*=d.pix;f.setLineDash([t,t])}f.beginPath();var l=e.color;if(u.linearType!=="none"&&e.linearColor&&e.linearColor.length>0){var s=f.createLinearGradient(d.chartData.xAxisData.startX,d.height/2,d.chartData.xAxisData.endX,d.height/2);for(var h=0;h0){f.setShadow(e.setShadow[0],e.setShadow[1],e.setShadow[2],e.setShadow[3])}else{f.setShadow(0,0,0,"rgba(0,0,0,0)")}f.setLineWidth(u.width);n.forEach(function(i,t){if(i.length===1){f.moveTo(i[0].x,i[0].y)}else{f.moveTo(i[0].x,i[0].y);let a=0;if(u.type==="curve"){for(let e=0;ev){f.moveTo(t.x,t.y);a=1}if(e>0&&t.x>v&&t.xv){f.moveTo(t.x,t.y);a=1}if(e>0&&t.x>v&&t.xv){f.moveTo(t.x,t.y);a=1}if(e>0&&t.x>v&&t.x4&&arguments[4]!==undefined?arguments[4]:1;let e=v.chartData.xAxisData,b=e.xAxisPoints,S=e.eachSpacing;let w=assign({},{width:S/2,barBorderCircle:false,barBorderRadius:[],seriesGap:2,linearType:"none",linearOpacity:1,customColor:[],colorStop:0},v.extra.mix.column);let A=assign({},{opacity:.2,gradient:false},v.extra.mix.area);let M=assign({},{width:2},v.extra.mix.line);let L=v.height-v.area[2];let F=[];var _=0;var k=0;t.forEach(function(t,e){if(t.type=="column"){k+=1}});T.save();let R=-2;let I=b.length+2;let P=0;let C=v.width+S;if(v._scrollDistance_&&v._scrollDistance_!==0&&v.enableScroll===true){T.translate(v._scrollDistance_,0);R=Math.floor(-v._scrollDistance_/S)-2;I=R+v.xAxis.itemCount+4;P=-v._scrollDistance_-S*2+v.area[3];C=P+(v.xAxis.itemCount+4)*S}w.customColor=fillCustomColor(w.linearType,w.customColor,t,m);t.forEach(function(n,t){let o,x,f;o=[].concat(v.chartData.yAxisData.ranges[n.index]);x=o.pop();f=o.shift();var p=n.data;var a=getDataPoints(p,x,f,b,S,v,m,D);F.push(a);if(n.type=="column"){a=fixColumeData(a,S,k,_,m,v);for(let t=0;tR&&tr?r:t;e=e>r?r:e;a=a>r?r:a;i=i>r?r:i;t=t<0?0:t;e=e<0?0:e;a=a<0?0:a;i=i<0?0:i;T.arc(h+t,c+t,t,-Math.PI,-Math.PI/2);T.arc(h+d-e,c+e,e,-Math.PI/2,0);T.arc(h+d-a,c+s-a,a,0,Math.PI/2);T.arc(h+i,c+s-i,i,Math.PI/2,Math.PI)}else{T.moveTo(l,o.y);T.lineTo(l+o.width,o.y);T.lineTo(l+o.width,v.height-v.area[2]);T.lineTo(l,v.height-v.area[2]);T.lineTo(l,o.y);T.setLineWidth(1);T.setStrokeStyle(u)}T.setFillStyle(e);T.closePath();T.fill()}}_+=1}if(n.type=="area"){let e=splitPoints(a,n);for(let t=0;t1){var r=i[0];let t=i[i.length-1];T.moveTo(r.x,r.y);let a=0;if(n.style==="curve"){for(let e=0;eP){T.moveTo(t.x,t.y);a=1}if(e>0&&t.x>P&&t.xP){T.moveTo(t.x,t.y);a=1}if(e>0&&t.x>P&&t.xP){T.moveTo(t.x,t.y);a=1}if(e>0&&t.x>P&&t.xP){T.moveTo(t.x,t.y);a=1}if(e>0&&t.x>P&&t.x1){if(h.extra.mount.widthRatio>2)h.extra.mount.widthRatio=2;l+=(h.extra.mount.widthRatio-1)*f}var s=n*n/l;var y=0;if(h._scrollDistance_){y=-h._scrollDistance_*n/l}d.beginPath();d.setLineCap("round");d.setLineWidth(6*h.pix);d.setStrokeStyle(h.xAxis.scrollBackgroundColor||"#EFEBEF");d.moveTo(t,o);d.lineTo(a,o);d.stroke();d.closePath();d.beginPath();d.setLineCap("round");d.setLineWidth(6*h.pix);d.setStrokeStyle(h.xAxis.scrollColor||"#A6A6A6");d.moveTo(t+y,o);d.lineTo(t+y+s,o);d.stroke();d.closePath();d.setLineCap("butt")}d.save();if(h._scrollDistance_&&h._scrollDistance_!==0){d.translate(h._scrollDistance_,0)}if(h.xAxis.calibration===true){d.setStrokeStyle(h.xAxis.gridColor||"#cccccc");d.setLineCap("butt");d.setLineWidth(1*h.pix);x.forEach(function(t,e){if(e>0){d.beginPath();d.moveTo(t-f/2,u);d.lineTo(t-f/2,u+3*h.pix);d.closePath();d.stroke()}})}if(h.xAxis.disableGrid!==true){d.setStrokeStyle(h.xAxis.gridColor||"#cccccc");d.setLineCap("butt");d.setLineWidth(1*h.pix);if(h.xAxis.gridType=="dash"){d.setLineDash([h.xAxis.dashLength*h.pix,h.xAxis.dashLength*h.pix])}h.xAxis.gridEval=h.xAxis.gridEval||1;x.forEach(function(t,e){if(e%h.xAxis.gridEval==0){d.beginPath();d.moveTo(t,u);d.lineTo(t,i);d.stroke()}});d.setLineDash([])}if(h.xAxis.disabled!==true){let t=r.length;if(h.xAxis.labelCount){if(h.xAxis.itemCount){t=Math.ceil(r.length/h.xAxis.itemCount*h.xAxis.labelCount)}else{t=h.xAxis.labelCount}t-=1}let e=Math.ceil(r.length/t);let a=[];let i=r.length;for(let t=0;t=h.area[3]-1&&n-Math.abs(o)<=h.width-h.area[1]+1){d.beginPath();d.setFontSize(g);d.setFillStyle(h.xAxis.fontColor||h.fontColor);d.fillText(String(a),x[e]+i,u+h.xAxis.marginTop*h.pix+(h.xAxis.lineHeight-h.xAxis.fontSize)*h.pix/2+h.xAxis.fontSize*h.pix);d.closePath();d.stroke()}})}else{a.forEach(function(t,e){var a=h.xAxis.formatter?h.xAxis.formatter(t):t;var i=h._scrollDistance_||0;var r=p=="center"?x[e]+f/2:x[e];if(r-Math.abs(i)>=h.area[3]-1&&r-Math.abs(i)<=h.width-h.area[1]+1){d.save();d.beginPath();d.setFontSize(g);d.setFillStyle(h.xAxis.fontColor||h.fontColor);var o=measureText(String(a),g,d);var n=x[e];if(p=="center"){n=x[e]+f/2}var l=0;if(h.xAxis.scrollShow){l=6*h.pix}var s=u+h.xAxis.marginTop*h.pix+g-g*Math.abs(Math.sin(c._xAxisTextAngle_));if(h.xAxis.rotateAngle<0){n-=g/2;o=0}else{n+=g/2;o=-o}d.translate(n,s);d.rotate(-1*c._xAxisTextAngle_);d.fillText(String(a),o,0);d.closePath();d.stroke();d.restore()}})}}d.restore();if(h.xAxis.title){d.beginPath();d.setFontSize(h.xAxis.titleFontSize*h.pix);d.setFillStyle(h.xAxis.titleFontColor);d.fillText(String(h.xAxis.title),h.width-h.area[1]+h.xAxis.titleOffsetX*h.pix,h.height-h.area[2]+h.xAxis.marginTop*h.pix+(h.xAxis.lineHeight-h.xAxis.titleFontSize)*h.pix/2+(h.xAxis.titleFontSize+h.xAxis.titleOffsetY)*h.pix);d.closePath();d.stroke()}if(h.xAxis.axisLine){d.beginPath();d.setStrokeStyle(h.xAxis.axisLineColor);d.setLineWidth(1*h.pix);d.moveTo(t,h.height-h.area[2]);d.lineTo(a,h.height-h.area[2]);d.stroke()}}function drawYAxisGrid(c,e,d,a){if(e.yAxis.disableGrid===true){return}let t=e.height-e.area[0]-e.area[2];let i=t/e.yAxis.splitNumber;let r=e.area[3];let o=e.chartData.xAxisData.xAxisPoints,n=e.chartData.xAxisData.eachSpacing;let l=n*(o.length-1);if(e.type=="mount"&&e.extra&&e.extra.mount&&e.extra.mount.widthRatio&&e.extra.mount.widthRatio>1){if(e.extra.mount.widthRatio>2)e.extra.mount.widthRatio=2;l+=(e.extra.mount.widthRatio-1)*n}let x=r+l;let s=[];let h=1;if(e.xAxis.axisLine===false){h=0}for(let t=h;t4&&arguments[4]!==undefined?arguments[4]:1;var n=assign({},{activeOpacity:.5,activeRadius:10,offsetAngle:0,labelWidth:15,ringWidth:30,customRadius:0,border:false,borderWidth:2,borderColor:"#FFFFFF",centerColor:"#FFFFFF",linearType:"none",customColor:[]},r.type=="pie"?r.extra.pie:r.extra.ring);var l={x:r.area[3]+(r.width-r.area[1]-r.area[3])/2,y:r.area[0]+(r.height-r.area[0]-r.area[2])/2};if(e.pieChartLinePadding==0){e.pieChartLinePadding=n.activeRadius*r.pix}var i=Math.min((r.width-r.area[1]-r.area[3])/2-e.pieChartLinePadding-e.pieChartTextPadding-e._pieTextMaxLength_,(r.height-r.area[0]-r.area[2])/2-e.pieChartLinePadding-e.pieChartTextPadding);i=i<10?10:i;if(n.customRadius>0){i=n.customRadius*r.pix}t=getPieDataPoints(t,i,a);var h=n.activeRadius*r.pix;n.customColor=fillCustomColor(n.linearType,n.customColor,t,e);t=t.map(function(t){t._start_+=n.offsetAngle*Math.PI/180;return t});t.forEach(function(t,e){if(r.tooltip){if(r.tooltip.index==e){o.beginPath();o.setFillStyle(hexToRgb(t.color,n.activeOpacity||.5));o.moveTo(l.x,l.y);o.arc(l.x,l.y,t._radius_+h,t._start_,t._start_+2*t._proportion_*Math.PI);o.closePath();o.fill()}}o.beginPath();o.setLineWidth(n.borderWidth*r.pix);o.lineJoin="round";o.setStrokeStyle(n.borderColor);var a=t.color;if(n.linearType=="custom"){var i;if(o.createCircularGradient){i=o.createCircularGradient(l.x,l.y,t._radius_)}else{i=o.createRadialGradient(l.x,l.y,0,l.x,l.y,t._radius_)}i.addColorStop(0,hexToRgb(n.customColor[t.linearIndex],1));i.addColorStop(1,hexToRgb(t.color,1));a=i}o.setFillStyle(a);o.moveTo(l.x,l.y);o.arc(l.x,l.y,t._radius_,t._start_,t._start_+2*t._proportion_*Math.PI);o.closePath();o.fill();if(n.border==true){o.stroke()}});if(r.type==="ring"){var s=i*.6;if(typeof n.ringWidth==="number"&&n.ringWidth>0){s=Math.max(0,i-n.ringWidth*r.pix)}o.beginPath();o.setFillStyle(n.centerColor);o.moveTo(l.x,l.y);o.arc(l.x,l.y,s,0,2*Math.PI);o.closePath();o.fill()}if(r.dataLabel!==false&&a===1){drawPieText(t,r,e,o,i,l)}if(a===1&&r.type==="ring"){drawRingTitle(r,e,o,l)}return{center:l,radius:i,series:t}}function drawRoseDataPoints(t,r,e,o){var a=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;var n=assign({},{type:"area",activeOpacity:.5,activeRadius:10,offsetAngle:0,labelWidth:15,border:false,borderWidth:2,borderColor:"#FFFFFF",linearType:"none",customColor:[]},r.extra.rose);if(e.pieChartLinePadding==0){e.pieChartLinePadding=n.activeRadius*r.pix}var l={x:r.area[3]+(r.width-r.area[1]-r.area[3])/2,y:r.area[0]+(r.height-r.area[0]-r.area[2])/2};var i=Math.min((r.width-r.area[1]-r.area[3])/2-e.pieChartLinePadding-e.pieChartTextPadding-e._pieTextMaxLength_,(r.height-r.area[0]-r.area[2])/2-e.pieChartLinePadding-e.pieChartTextPadding);i=i<10?10:i;var s=n.minRadius||i*.5;if(i4&&arguments[4]!==undefined?arguments[4]:1;var o=assign({},{startAngle:.75,endAngle:.25,type:"default",direction:"cw",lineCap:"round",width:12,gap:2,linearType:"none",customColor:[]},i.extra.arcbar);a=getArcbarDataPoints(a,o,e);var n;if(o.centerX||o.centerY){n={x:o.centerX?o.centerX:i.width/2,y:o.centerY?o.centerY:i.height/2}}else{n={x:i.width/2,y:i.height/2}}var l;if(o.radius){l=o.radius}else{l=Math.min(n.x,n.y);l-=5*i.pix;l-=o.width/2}l=l<10?10:l;o.customColor=fillCustomColor(o.linearType,o.customColor,a,t);for(let e=0;e5&&arguments[5]!==undefined?arguments[5]:1;var f=assign({},{type:"default",startAngle:.75,endAngle:.25,width:15,labelOffset:13,splitLine:{fixRadius:0,splitNumber:10,width:15,color:"#FFFFFF",childNumber:5,childWidth:5},pointer:{width:15,color:"auto"}},c.extra.gauge);if(f.oldAngle==undefined){f.oldAngle=f.startAngle}if(f.oldData==undefined){f.oldData=0}n=getGaugeAxisPoints(n,f.startAngle,f.endAngle);var p={x:c.width/2,y:c.height/2};var u=Math.min(p.x,p.y);u-=5*c.pix;u-=f.width/2;u=u<10?10:u;var g=u-f.width;var y=0;if(f.type=="progress"){var v=u-f.width*3;d.beginPath();let t=d.createLinearGradient(p.x,p.y-v,p.x,p.y+v);t.addColorStop("0",hexToRgb(h[0].color,.3));t.addColorStop("1.0",hexToRgb("#FFFFFF",.1));d.setFillStyle(t);d.arc(p.x,p.y,v,0,2*Math.PI,false);d.fill();d.setLineWidth(f.width);d.setStrokeStyle(hexToRgb(h[0].color,.3));d.setLineCap("round");d.beginPath();d.arc(p.x,p.y,g,f.startAngle*Math.PI,f.endAngle*Math.PI,false);d.stroke();if(f.endAnglet/o){d.setStrokeStyle(hexToRgb(h[0].color,1))}else{d.setStrokeStyle(hexToRgb(h[0].color,.3))}d.setLineWidth(3*c.pix);d.moveTo(i,0);d.lineTo(r,0);d.stroke();d.rotate(a*Math.PI)}d.restore();h=getGaugeArcbarDataPoints(h,f,x);d.setLineWidth(f.width);d.setStrokeStyle(h[0].color);d.setLineCap("round");d.beginPath();d.arc(p.x,p.y,g,f.startAngle*Math.PI,h[0]._proportion_*Math.PI,false);d.stroke();let l=u-f.width*2.5;d.save();d.translate(p.x,p.y);d.rotate((h[0]._proportion_-1)*Math.PI);d.beginPath();d.setLineWidth(f.width/3);let s=d.createLinearGradient(0,-l*.6,0,l*.6);s.addColorStop("0",hexToRgb("#FFFFFF",0));s.addColorStop("0.5",hexToRgb(h[0].color,1));s.addColorStop("1.0",hexToRgb("#FFFFFF",0));d.setStrokeStyle(s);d.arc(0,0,l,.85*Math.PI,1.15*Math.PI,false);d.stroke();d.beginPath();d.setLineWidth(1);d.setStrokeStyle(h[0].color);d.setFillStyle(h[0].color);d.moveTo(-l-f.width/3/2,-4);d.lineTo(-l-f.width/3/2-4,0);d.lineTo(-l-f.width/3/2,4);d.lineTo(-l-f.width/3/2,-4);d.stroke();d.fill();d.restore()}else{d.setLineWidth(f.width);d.setLineCap("butt");for(let e=0;e4&&arguments[4]!==undefined?arguments[4]:1;var s=assign({},{gridColor:"#cccccc",gridType:"radar",gridEval:1,axisLabel:false,axisLabelTofix:0,labelShow:true,labelColor:"#666666",labelPointShow:false,labelPointRadius:3,labelPointColor:"#cccccc",opacity:.2,gridCount:3,border:false,borderWidth:2,linearType:"none",customColor:[]},n.extra.radar);var a=getRadarCoordinateSeries(n.categories.length);var h={x:n.area[3]+(n.width-n.area[1]-n.area[3])/2,y:n.area[0]+(n.height-n.area[0]-n.area[2])/2};var r=(n.width-n.area[1]-n.area[3])/2;var d=(n.height-n.area[0]-n.area[2])/2;var c=Math.min(r-(getMaxTextListLength(n.categories,i.fontSize,l)+i.radarLabelTextMargin),d-i.radarLabelTextMargin);c-=i.radarLabelTextMargin*n.pix;c=c<10?10:c;c=s.radius?s.radius:c;l.beginPath();l.setLineWidth(1*n.pix);l.setStrokeStyle(s.gridColor);a.forEach(function(t,e){var a=convertCoordinateOrigin(c*Math.cos(t),c*Math.sin(t),h);l.moveTo(h.x,h.y);if(e%s.gridEval==0){l.lineTo(a.x,a.y)}});l.stroke();l.closePath();var x=function t(i){var r={};l.beginPath();l.setLineWidth(1*n.pix);l.setStrokeStyle(s.gridColor);if(s.gridType=="radar"){a.forEach(function(t,e){var a=convertCoordinateOrigin(c/s.gridCount*i*Math.cos(t),c/s.gridCount*i*Math.sin(t),h);if(e===0){r=a;l.moveTo(a.x,a.y)}else{l.lineTo(a.x,a.y)}});l.lineTo(r.x,r.y)}else{var e=convertCoordinateOrigin(c/s.gridCount*i*Math.cos(1.5),c/s.gridCount*i*Math.sin(1.5),h);l.arc(h.x,h.y,h.y-e.y,0,2*Math.PI,false)}l.stroke();l.closePath()};for(var e=1;e<=s.gridCount;e++){x(e)}s.customColor=fillCustomColor(s.linearType,s.customColor,o,i);var f=getRadarDataPoints(a,h,c,o,n,t);f.forEach(function(t,e){l.beginPath();l.setLineWidth(s.borderWidth*n.pix);l.setStrokeStyle(t.color);var a=hexToRgb(t.color,s.opacity);if(s.linearType=="custom"){var i;if(l.createCircularGradient){i=l.createCircularGradient(h.x,h.y,c)}else{i=l.createRadialGradient(h.x,h.y,0,h.x,h.y,c)}i.addColorStop(0,hexToRgb(s.customColor[o[e].linearIndex],s.opacity));i.addColorStop(1,hexToRgb(t.color,s.opacity));a=i}l.setFillStyle(a);t.data.forEach(function(t,e){if(e===0){l.moveTo(t.position.x,t.position.y)}else{l.lineTo(t.position.x,t.position.y)}});l.closePath();l.fill();if(s.border===true){l.stroke()}l.closePath();if(n.dataPointShape!==false){var r=t.data.map(function(t){return t.position});drawPointShape(r,t.color,t.pointShape,l,n)}});if(s.axisLabel===true){const p=Math.max(s.max,Math.max.apply(null,dataCombine(o)));const u=c/s.gridCount;const g=n.fontSize*n.pix;l.setFontSize(g);l.setFillStyle(n.fontColor);l.setTextAlign("left");for(var e=0;eh.x?e.xMax:h.x;e.yMin=e.yMinh.y?e.yMax:h.y}}}return e}function coordinateToPoint(t,e,a,i,r,o){return{x:(e-a.xMin)*i+r,y:(a.yMax-t)*i+o}}function pointToCoordinate(t,e,a,i,r,o){return{x:(e-r)/i+a.xMin,y:a.yMax-(t-o)/i}}function isRayIntersectsSegment(t,e,a){if(e[1]==a[1]){return false}if(e[1]>t[1]&&a[1]>t[1]){return false}if(e[1]t[1]){return false}if(a[1]==t[1]&&e[1]>t[1]){return false}if(e[0]a[t].area[2]||e[1]>a[t].area[3]||e[2]i||e[3]>r){o=true;break}else{o=false}}else{o=true;break}}}return o}function getWordCloudPoint(c,t,d){let x=c.series;switch(t){case"normal":for(let l=0;l.7){return true}else{return false}};for(let h=0;h4&&arguments[4]!==undefined?arguments[4]:1;let a=assign({},{type:"normal",autoColors:true},r.extra.word);if(!r.chartData.wordCloudData){r.chartData.wordCloudData=getWordCloudPoint(r,a.type,o)}o.beginPath();o.setFillStyle(r.background);o.rect(0,0,r.width,r.height);o.fill();o.save();let l=r.chartData.wordCloudData;o.translate(r.width/2,r.height/2);for(let i=0;i0){if(r.tooltip){if(r.tooltip.index==i){o.strokeText(t,(l[i].areav[0]+5-r.width/2)*n-a*(1-n)/2,(l[i].areav[1]+5+e-r.height/2)*n)}else{o.fillText(t,(l[i].areav[0]+5-r.width/2)*n-a*(1-n)/2,(l[i].areav[1]+5+e-r.height/2)*n)}}else{o.fillText(t,(l[i].areav[0]+5-r.width/2)*n-a*(1-n)/2,(l[i].areav[1]+5+e-r.height/2)*n)}}}else{if(l[i].area[0]>0){if(r.tooltip){if(r.tooltip.index==i){o.strokeText(t,(l[i].area[0]+5-r.width/2)*n-a*(1-n)/2,(l[i].area[1]+5+e-r.height/2)*n)}else{o.fillText(t,(l[i].area[0]+5-r.width/2)*n-a*(1-n)/2,(l[i].area[1]+5+e-r.height/2)*n)}}else{o.fillText(t,(l[i].area[0]+5-r.width/2)*n-a*(1-n)/2,(l[i].area[1]+5+e-r.height/2)*n)}}}o.stroke();o.restore()}o.restore()}function drawFunnelDataPoints(t,e,c,a){let d=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;let i=assign({},{type:"funnel",activeWidth:10,activeOpacity:.3,border:false,borderWidth:2,borderColor:"#FFFFFF",fillOpacity:1,minSize:0,labelAlign:"right",linearType:"none",customColor:[]},e.extra.funnel);let r=(e.height-e.area[0]-e.area[2])/t.length;let o={x:e.area[3]+(e.width-e.area[1]-e.area[3])/2,y:e.height-e.area[2]};let n=i.activeWidth*e.pix;let x=Math.min((e.width-e.area[1]-e.area[3])/2-n,(e.height-e.area[0]-e.area[2])/2-n);let l=getFunnelDataPoints(t,x,i,r,d);a.save();a.translate(o.x,o.y);i.customColor=fillCustomColor(i.linearType,i.customColor,t,c);if(i.type=="pyramid"){for(let t=0;t0){l.area[3]+=i[t].width+l.yAxis.padding*l.pix}else{l.area[3]+=i[t].width}a+=1}else if(i[t].position=="right"){if(e>0){l.area[1]+=i[t].width+l.yAxis.padding*l.pix}else{l.area[1]+=i[t].width}e+=1}}}else{n.yAxisWidth=i}l.chartData.yAxisData=f;if(l.categories&&l.categories.length&&l.type!=="radar"&&l.type!=="gauge"&&l.type!=="bar"){l.chartData.xAxisData=getXAxisPoints(l.categories,l,n);let t=calCategoriesData(l.categories,l,n,l.chartData.xAxisData.eachSpacing,s),e=t.xAxisHeight,a=t.angle;n.xAxisHeight=e;n._xAxisTextAngle_=a;l.area[2]+=e;l.chartData.categoriesData=t}else{if(l.type==="line"||l.type==="area"||l.type==="scatter"||l.type==="bubble"||l.type==="bar"){l.chartData.xAxisData=calXAxisData(c,l,n,s);d=l.chartData.xAxisData.rangesFormat;let t=calCategoriesData(d,l,n,l.chartData.xAxisData.eachSpacing,s),e=t.xAxisHeight,a=t.angle;n.xAxisHeight=e;n._xAxisTextAngle_=a;l.area[2]+=e;l.chartData.categoriesData=t}else{l.chartData.xAxisData={xAxisPoints:[]}}}if(l.enableScroll&&l.xAxis.scrollAlign=="right"&&l._scrollDistance_===undefined){let t=0,e=l.chartData.xAxisData.xAxisPoints,a=l.chartData.xAxisData.startX,i=l.chartData.xAxisData.endX,r=l.chartData.xAxisData.eachSpacing;let o=r*(e.length-1);let n=i-a;t=n-o;h.scrollOption.currentOffset=t;h.scrollOption.startTouchX=t;h.scrollOption.distance=0;h.scrollOption.lastMoveTime=0;l._scrollDistance_=t}if(t==="pie"||t==="ring"||t==="rose"){n._pieTextMaxLength_=l.dataLabel===false?0:getPieTextMaxLength(x,n,s,l)}switch(t){case"word":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function(t){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawWordCloudDataPoints(c,l,n,s,t);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"map":s.clearRect(0,0,l.width,l.height);drawMapDataPoints(c,l,n,s);setTimeout(()=>{this.uevent.trigger("renderComplete")},50);break;case"funnel":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function(t){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}l.chartData.funnelData=drawFunnelDataPoints(c,l,n,s,t);drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,t);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"line":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawLineDataPoints(c,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"scatter":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawScatterDataPoints(c,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"bubble":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawBubbleDataPoints(c,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"mix":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawMixDataPoints(c,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"column":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawColumnDataPoints(c,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"mount":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawMountDataPoints(c,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"bar":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawXAxis(d,l,n,s);var a=drawBarDataPoints(c,l,n,s,e),i=a.yAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.yAxisPoints=i;l.chartData.xAxisPoints=l.chartData.xAxisData.xAxisPoints;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"area":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawAreaDataPoints(c,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"ring":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}l.chartData.pieData=drawPieDataPoints(c,l,n,s,e);drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"pie":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}l.chartData.pieData=drawPieDataPoints(c,l,n,s,e);drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"rose":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}l.chartData.pieData=drawRoseDataPoints(c,l,n,s,e);drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"radar":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}l.chartData.radarData=drawRadarDataPoints(c,l,n,s,e);drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"arcbar":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}l.chartData.arcbarData=drawArcbarDataPoints(c,l,n,s,e);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"gauge":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}l.chartData.gaugeData=drawGaugeDataPoints(d,c,l,n,s,e);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"candle":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawCandleDataPoints(c,x,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}if(x){drawLegend(x,l,n,s,l.chartData)}else{drawLegend(l.series,l,n,s,l.chartData)}drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break}}function uChartsEvent(){this.events={}}uChartsEvent.prototype.addEventListener=function(t,e){this.events[t]=this.events[t]||[];this.events[t].push(e)};uChartsEvent.prototype.delEventListener=function(t){this.events[t]=[]};uChartsEvent.prototype.trigger=function(){for(var t=arguments.length,e=Array(t),a=0;a0&&arguments[0]!==undefined?arguments[0]:{};this.opts=assign({},this.opts,t);this.opts.updateData=true;let c=t.scrollPosition||"current";switch(c){case"current":this.opts._scrollDistance_=this.scrollOption.currentOffset;break;case"left":this.opts._scrollDistance_=0;this.scrollOption={currentOffset:0,startTouchX:0,distance:0,lastMoveTime:0};break;case"right":let t=calYAxisData(this.opts.series,this.opts,this.config,this.context),e=t.yAxisWidth;this.config.yAxisWidth=e;let a=0;let i=getXAxisPoints(this.opts.categories,this.opts,this.config),r=i.xAxisPoints,o=i.startX,n=i.endX,l=i.eachSpacing;let s=l*(r.length-1);let h=n-o;a=h-s;this.scrollOption={currentOffset:a,startTouchX:a,distance:0,lastMoveTime:0};this.opts._scrollDistance_=a;break}drawCharts.call(this,this.opts.type,this.opts,this.config,this.context)};uCharts.prototype.zoom=function(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:this.opts.xAxis.itemCount;if(this.opts.enableScroll!==true){console.log("[uCharts] 请启用滚动条后使用");return}let e=Math.round(Math.abs(this.scrollOption.currentOffset)/this.opts.chartData.eachSpacing)+Math.round(this.opts.xAxis.itemCount/2);this.opts.animation=false;this.opts.xAxis.itemCount=t.itemCount;let a=calYAxisData(this.opts.series,this.opts,this.config,this.context),i=a.yAxisWidth;this.config.yAxisWidth=i;let r=0;let o=getXAxisPoints(this.opts.categories,this.opts,this.config),h=o.xAxisPoints,c=o.startX,d=o.endX,n=o.eachSpacing;let x=n*e;let l=d-c;let s=l-n*(h.length-1);r=l/2-x;if(r>0){r=0}if(r=this.opts.categories.length?this.opts.categories.length:r;this.opts.animation=false;this.opts.xAxis.itemCount=r;let o=0;let n=getXAxisPoints(this.opts.categories,this.opts,this.config),x=n.xAxisPoints,f=n.startX,p=n.endX,l=n.eachSpacing;let u=l*this.scrollOption.moveCurrent1;let g=p-f;let y=g-l*(x.length-1);o=-u+Math.min(i[0].x,i[1].x)-this.opts.area[3]-l;if(o>0){o=0}if(o1&&arguments[1]!==undefined?arguments[1]:{};var a=null;if(t.changedTouches){a=t.changedTouches[0]}else{a=t.mp.changedTouches[0]}if(a){var i=getTouches(a,this.opts,t);var r=this.getLegendDataIndex(t);if(r>=0){if(this.opts.type=="candle"){this.opts.seriesMA[r].show=!this.opts.seriesMA[r].show}else{this.opts.series[r].show=!this.opts.series[r].show}this.opts.animation=e.animation?true:false;this.opts._scrollDistance_=this.scrollOption.currentOffset;drawCharts.call(this,this.opts.type,this.opts,this.config,this.context)}}};uCharts.prototype.showToolTip=function(t){var e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var c=null;if(t.changedTouches){c=t.changedTouches[0]}else{c=t.mp.changedTouches[0]}if(!c){console.log("[uCharts] 未获取到event坐标信息")}var a=getTouches(c,this.opts,t);var d=this.scrollOption.currentOffset;var i=assign({},this.opts,{_scrollDistance_:d,animation:false});if(this.opts.type==="line"||this.opts.type==="area"||this.opts.type==="column"||this.opts.type==="scatter"||this.opts.type==="bubble"){var r=this.getCurrentDataIndex(t);var o=e.index==undefined?r.index:e.index;if(o>-1||o.length>0){var n=getSeriesDataItem(this.opts.series,o,r.group);if(n.length!==0){var l=getToolTipData(n,this.opts,o,r.group,this.opts.categories,e),s=l.textList,h=l.offset;h.y=a.y;i.tooltip={textList:e.textList!==undefined?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o,group:r.group}}}drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="mount"){var o=e.index==undefined?this.getCurrentDataIndex(t).index:e.index;if(o>-1){var i=assign({},this.opts,{animation:false});var n=assign({},i._series_[o]);var s=[{text:e.formatter?e.formatter(n,undefined,o,i):n.name+": "+n.data,color:n.color,legendShape:this.opts.extra.tooltip.legendShape=="auto"?n.legendShape:this.opts.extra.tooltip.legendShape}];var h={x:i.chartData.calPoints[o].x,y:a.y};i.tooltip={textList:e.textList?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="bar"){var r=this.getCurrentDataIndex(t);var o=e.index==undefined?r.index:e.index;if(o>-1||o.length>0){var n=getSeriesDataItem(this.opts.series,o,r.group);if(n.length!==0){var l=getToolTipData(n,this.opts,o,r.group,this.opts.categories,e),s=l.textList,h=l.offset;h.x=a.x;i.tooltip={textList:e.textList!==undefined?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}}drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="mix"){var r=this.getCurrentDataIndex(t);var o=e.index==undefined?r.index:e.index;if(o>-1){var d=this.scrollOption.currentOffset;var i=assign({},this.opts,{_scrollDistance_:d,animation:false});var n=getSeriesDataItem(this.opts.series,o);if(n.length!==0){var x=getMixToolTipData(n,this.opts,o,this.opts.categories,e),s=x.textList,h=x.offset;h.y=a.y;i.tooltip={textList:e.textList?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}}drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="candle"){var r=this.getCurrentDataIndex(t);var o=e.index==undefined?r.index:e.index;if(o>-1){var d=this.scrollOption.currentOffset;var i=assign({},this.opts,{_scrollDistance_:d,animation:false});var n=getSeriesDataItem(this.opts.series,o);if(n.length!==0){var l=getCandleToolTipData(this.opts.series[0].data,n,this.opts,o,this.opts.categories,this.opts.extra.candle,e),s=l.textList,h=l.offset;h.y=a.y;i.tooltip={textList:e.textList?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}}drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="pie"||this.opts.type==="ring"||this.opts.type==="rose"||this.opts.type==="funnel"){var o=e.index==undefined?this.getCurrentDataIndex(t):e.index;if(o>-1){var i=assign({},this.opts,{animation:false});var n=assign({},i._series_[o]);var s=[{text:e.formatter?e.formatter(n,undefined,o,i):n.name+": "+n.data,color:n.color,legendShape:this.opts.extra.tooltip.legendShape=="auto"?n.legendShape:this.opts.extra.tooltip.legendShape}];var h={x:a.x,y:a.y};i.tooltip={textList:e.textList?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="map"){var o=e.index==undefined?this.getCurrentDataIndex(t):e.index;if(o>-1){var i=assign({},this.opts,{animation:false});var n=assign({},this.opts.series[o]);n.name=n.properties.name;var s=[{text:e.formatter?e.formatter(n,undefined,o,this.opts):n.name,color:n.color,legendShape:this.opts.extra.tooltip.legendShape=="auto"?n.legendShape:this.opts.extra.tooltip.legendShape}];var h={x:a.x,y:a.y};i.tooltip={textList:e.textList?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}i.updateData=false;drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="word"){var o=e.index==undefined?this.getCurrentDataIndex(t):e.index;if(o>-1){var i=assign({},this.opts,{animation:false});var n=assign({},this.opts.series[o]);var s=[{text:e.formatter?e.formatter(n,undefined,o,this.opts):n.name,color:n.color,legendShape:this.opts.extra.tooltip.legendShape=="auto"?n.legendShape:this.opts.extra.tooltip.legendShape}];var h={x:a.x,y:a.y};i.tooltip={textList:e.textList?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}i.updateData=false;drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="radar"){var o=e.index==undefined?this.getCurrentDataIndex(t):e.index;if(o>-1){var i=assign({},this.opts,{animation:false});var n=getSeriesDataItem(this.opts.series,o);if(n.length!==0){var s=n.map(t=>{return{text:e.formatter?e.formatter(t,this.opts.categories[o],o,this.opts):t.name+": "+t.data,color:t.color,legendShape:this.opts.extra.tooltip.legendShape=="auto"?t.legendShape:this.opts.extra.tooltip.legendShape}});var h={x:a.x,y:a.y};i.tooltip={textList:e.textList?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}}drawCharts.call(this,i.type,i,this.config,this.context)}};uCharts.prototype.translate=function(t){this.scrollOption={currentOffset:t,startTouchX:t,distance:0,lastMoveTime:0};let e=assign({},this.opts,{_scrollDistance_:t,animation:false});drawCharts.call(this,this.opts.type,e,this.config,this.context)};uCharts.prototype.scrollStart=function(t){var e=null;if(t.changedTouches){e=t.changedTouches[0]}else{e=t.mp.changedTouches[0]}var a=getTouches(e,this.opts,t);if(e&&this.opts.enableScroll===true){this.scrollOption.startTouchX=a.x}};uCharts.prototype.scroll=function(t){if(this.scrollOption.lastMoveTime===0){this.scrollOption.lastMoveTime=Date.now()}let e=this.opts.touchMoveLimit||60;let a=Date.now();let i=a-this.scrollOption.lastMoveTime;if(i=0){var o="touchend"!==n?e.targetTouches[0]:e.changedTouches[0];o&&st(t,o,e,i)}else st(t,e,e,i),e.zrDelta=e.wheelDelta?e.wheelDelta/120:-(e.detail||0)/3;var a=e.button;return null==e.which&&void 0!==a&&gw.test(e.type)&&(e.which=1&a?1:2&a?3:4&a?2:0),e}function ht(t,e,i){pw?t.addEventListener(e,i):t.attachEvent("on"+e,i)}function ct(t,e,i){pw?t.removeEventListener(e,i):t.detachEvent("on"+e,i)}function dt(t){return 2===t.which||3===t.which}function ft(t){var e=t[1][0]-t[0][0],i=t[1][1]-t[0][1];return Math.sqrt(e*e+i*i)}function pt(t){return[(t[0][0]+t[1][0])/2,(t[0][1]+t[1][1])/2]}function gt(t,e,i){return{type:t,event:i,target:e.target,topTarget:e.topTarget,cancelBubble:!1,offsetX:i.zrX,offsetY:i.zrY,gestureEvent:i.gestureEvent,pinchX:i.pinchX,pinchY:i.pinchY,pinchScale:i.pinchScale,wheelDelta:i.zrDelta,zrByTouch:i.zrByTouch,which:i.which,stop:mt}}function mt(t){mw(this.event)}function vt(){}function yt(t,e,i){if(t[t.rectHover?"rectContain":"contain"](e,i)){for(var n,o=t;o;){if(o.clipPath&&!o.clipPath.contain(e,i))return!1;o.silent&&(n=!0),o=o.parent}return!n||xw}return!1}function xt(){var t=new bw(6);return _t(t),t}function _t(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t}function wt(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t}function bt(t,e,i){var n=e[0]*i[0]+e[2]*i[1],o=e[1]*i[0]+e[3]*i[1],a=e[0]*i[2]+e[2]*i[3],r=e[1]*i[2]+e[3]*i[3],s=e[0]*i[4]+e[2]*i[5]+e[4],l=e[1]*i[4]+e[3]*i[5]+e[5];return t[0]=n,t[1]=o,t[2]=a,t[3]=r,t[4]=s,t[5]=l,t}function St(t,e,i){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4]+i[0],t[5]=e[5]+i[1],t}function Mt(t,e,i){var n=e[0],o=e[2],a=e[4],r=e[1],s=e[3],l=e[5],u=Math.sin(i),h=Math.cos(i);return t[0]=n*h+r*u,t[1]=-n*u+r*h,t[2]=o*h+s*u,t[3]=-o*u+h*s,t[4]=h*a+u*l,t[5]=h*l-u*a,t}function It(t,e,i){var n=i[0],o=i[1];return t[0]=e[0]*n,t[1]=e[1]*o,t[2]=e[2]*n,t[3]=e[3]*o,t[4]=e[4]*n,t[5]=e[5]*o,t}function Tt(t,e){var i=e[0],n=e[2],o=e[4],a=e[1],r=e[3],s=e[5],l=i*r-a*n;return l?(l=1/l,t[0]=r*l,t[1]=-a*l,t[2]=-n*l,t[3]=i*l,t[4]=(n*s-r*o)*l,t[5]=(a*o-i*s)*l,t):null}function At(t){var e=xt();return wt(e,t),e}function Dt(t){return t>Iw||t<-Iw}function Ct(t){this._target=t.target,this._life=t.life||1e3,this._delay=t.delay||0,this._initialized=!1,this.loop=null!=t.loop&&t.loop,this.gap=t.gap||0,this.easing=t.easing||"Linear",this.onframe=t.onframe,this.ondestroy=t.ondestroy,this.onrestart=t.onrestart,this._pausedTime=0,this._paused=!1}function Lt(t){return(t=Math.round(t))<0?0:t>255?255:t}function kt(t){return(t=Math.round(t))<0?0:t>360?360:t}function Pt(t){return t<0?0:t>1?1:t}function Nt(t){return Lt(t.length&&"%"===t.charAt(t.length-1)?parseFloat(t)/100*255:parseInt(t,10))}function Ot(t){return Pt(t.length&&"%"===t.charAt(t.length-1)?parseFloat(t)/100:parseFloat(t))}function Et(t,e,i){return i<0?i+=1:i>1&&(i-=1),6*i<1?t+(e-t)*i*6:2*i<1?e:3*i<2?t+(e-t)*(2/3-i)*6:t}function Rt(t,e,i){return t+(e-t)*i}function zt(t,e,i,n,o){return t[0]=e,t[1]=i,t[2]=n,t[3]=o,t}function Bt(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function Vt(t,e){Vw&&Bt(Vw,e),Vw=Bw.put(t,Vw||e.slice())}function Gt(t,e){if(t){e=e||[];var i=Bw.get(t);if(i)return Bt(e,i);var n=(t+="").replace(/ /g,"").toLowerCase();if(n in zw)return Bt(e,zw[n]),Vt(t,e),e;if("#"!==n.charAt(0)){var o=n.indexOf("("),a=n.indexOf(")");if(-1!==o&&a+1===n.length){var r=n.substr(0,o),s=n.substr(o+1,a-(o+1)).split(","),l=1;switch(r){case"rgba":if(4!==s.length)return void zt(e,0,0,0,1);l=Ot(s.pop());case"rgb":return 3!==s.length?void zt(e,0,0,0,1):(zt(e,Nt(s[0]),Nt(s[1]),Nt(s[2]),l),Vt(t,e),e);case"hsla":return 4!==s.length?void zt(e,0,0,0,1):(s[3]=Ot(s[3]),Ft(s,e),Vt(t,e),e);case"hsl":return 3!==s.length?void zt(e,0,0,0,1):(Ft(s,e),Vt(t,e),e);default:return}}zt(e,0,0,0,1)}else{if(4===n.length)return(u=parseInt(n.substr(1),16))>=0&&u<=4095?(zt(e,(3840&u)>>4|(3840&u)>>8,240&u|(240&u)>>4,15&u|(15&u)<<4,1),Vt(t,e),e):void zt(e,0,0,0,1);if(7===n.length){var u=parseInt(n.substr(1),16);return u>=0&&u<=16777215?(zt(e,(16711680&u)>>16,(65280&u)>>8,255&u,1),Vt(t,e),e):void zt(e,0,0,0,1)}}}}function Ft(t,e){var i=(parseFloat(t[0])%360+360)%360/360,n=Ot(t[1]),o=Ot(t[2]),a=o<=.5?o*(n+1):o+n-o*n,r=2*o-a;return e=e||[],zt(e,Lt(255*Et(r,a,i+1/3)),Lt(255*Et(r,a,i)),Lt(255*Et(r,a,i-1/3)),1),4===t.length&&(e[3]=t[3]),e}function Wt(t){if(t){var e,i,n=t[0]/255,o=t[1]/255,a=t[2]/255,r=Math.min(n,o,a),s=Math.max(n,o,a),l=s-r,u=(s+r)/2;if(0===l)e=0,i=0;else{i=u<.5?l/(s+r):l/(2-s-r);var h=((s-n)/6+l/2)/l,c=((s-o)/6+l/2)/l,d=((s-a)/6+l/2)/l;n===s?e=d-c:o===s?e=1/3+h-d:a===s&&(e=2/3+c-h),e<0&&(e+=1),e>1&&(e-=1)}var f=[360*e,i,u];return null!=t[3]&&f.push(t[3]),f}}function Ht(t,e){var i=Gt(t);if(i){for(var n=0;n<3;n++)i[n]=e<0?i[n]*(1-e)|0:(255-i[n])*e+i[n]|0,i[n]>255?i[n]=255:t[n]<0&&(i[n]=0);return qt(i,4===i.length?"rgba":"rgb")}}function Zt(t){var e=Gt(t);if(e)return((1<<24)+(e[0]<<16)+(e[1]<<8)+ +e[2]).toString(16).slice(1)}function Ut(t,e,i){if(e&&e.length&&t>=0&&t<=1){i=i||[];var n=t*(e.length-1),o=Math.floor(n),a=Math.ceil(n),r=e[o],s=e[a],l=n-o;return i[0]=Lt(Rt(r[0],s[0],l)),i[1]=Lt(Rt(r[1],s[1],l)),i[2]=Lt(Rt(r[2],s[2],l)),i[3]=Pt(Rt(r[3],s[3],l)),i}}function Xt(t,e,i){if(e&&e.length&&t>=0&&t<=1){var n=t*(e.length-1),o=Math.floor(n),a=Math.ceil(n),r=Gt(e[o]),s=Gt(e[a]),l=n-o,u=qt([Lt(Rt(r[0],s[0],l)),Lt(Rt(r[1],s[1],l)),Lt(Rt(r[2],s[2],l)),Pt(Rt(r[3],s[3],l))],"rgba");return i?{color:u,leftIndex:o,rightIndex:a,value:n}:u}}function jt(t,e,i,n){if(t=Gt(t))return t=Wt(t),null!=e&&(t[0]=kt(e)),null!=i&&(t[1]=Ot(i)),null!=n&&(t[2]=Ot(n)),qt(Ft(t),"rgba")}function Yt(t,e){if((t=Gt(t))&&null!=e)return t[3]=Pt(e),qt(t,"rgba")}function qt(t,e){if(t&&t.length){var i=t[0]+","+t[1]+","+t[2];return"rgba"!==e&&"hsva"!==e&&"hsla"!==e||(i+=","+t[3]),e+"("+i+")"}}function Kt(t,e){return t[e]}function $t(t,e,i){t[e]=i}function Jt(t,e,i){return(e-t)*i+t}function Qt(t,e,i){return i>.5?e:t}function te(t,e,i,n,o){var a=t.length;if(1===o)for(s=0;so)t.length=o;else for(r=n;r=0&&!(m[i]<=e);i--);i=Math.min(i,u-2)}else{for(i=L;ie);i++);i=Math.min(i-1,u-2)}L=i,k=e;var n=m[i+1]-m[i];if(0!==n)if(I=(e-m[i])/n,l)if(A=v[i],T=v[0===i?i:i-1],D=v[i>u-2?u-1:i+1],C=v[i>u-3?u-1:i+2],d)ne(T,A,D,C,I,I*I,I*I*I,r(t,o),g);else{if(f)a=ne(T,A,D,C,I,I*I,I*I*I,P,1),a=re(P);else{if(p)return Qt(A,D,I);a=oe(T,A,D,C,I,I*I,I*I*I)}s(t,o,a)}else if(d)te(v[i],v[i+1],I,r(t,o),g);else{var a;if(f)te(v[i],v[i+1],I,P,1),a=re(P);else{if(p)return Qt(v[i],v[i+1],I);a=Jt(v[i],v[i+1],I)}s(t,o,a)}},ondestroy:i});return e&&"spline"!==e&&(N.easing=e),N}}}function ue(t,e,i,n,o,a,r,s){_(n)?(a=o,o=n,n=0):x(o)?(a=o,o="linear",n=0):x(n)?(a=n,n=0):x(i)?(a=i,i=500):i||(i=500),t.stopAnimation(),he(t,"",t,e,i,n,s);var l=t.animators.slice(),u=l.length;u||a&&a();for(var h=0;h0&&t.animate(e,!1).when(null==o?500:o,s).delay(a||0)}function ce(t,e,i,n){if(e){var o={};o[e]={},o[e][i]=n,t.attr(o)}else t.attr(i,n)}function de(t,e,i,n){i<0&&(t+=i,i=-i),n<0&&(e+=n,n=-n),this.x=t,this.y=e,this.width=i,this.height=n}function fe(t){for(var e=0;t>=eb;)e|=1&t,t>>=1;return t+e}function pe(t,e,i,n){var o=e+1;if(o===i)return 1;if(n(t[o++],t[e])<0){for(;o=0;)o++;return o-e}function ge(t,e,i){for(i--;e>>1])<0?l=a:s=a+1;var u=n-s;switch(u){case 3:t[s+3]=t[s+2];case 2:t[s+2]=t[s+1];case 1:t[s+1]=t[s];break;default:for(;u>0;)t[s+u]=t[s+u-1],u--}t[s]=r}}function ve(t,e,i,n,o,a){var r=0,s=0,l=1;if(a(t,e[i+o])>0){for(s=n-o;l0;)r=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),r+=o,l+=o}else{for(s=o+1;ls&&(l=s);var u=r;r=o-l,l=o-u}for(r++;r>>1);a(t,e[i+h])>0?r=h+1:l=h}return l}function ye(t,e,i,n,o,a){var r=0,s=0,l=1;if(a(t,e[i+o])<0){for(s=o+1;ls&&(l=s);var u=r;r=o-l,l=o-u}else{for(s=n-o;l=0;)r=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),r+=o,l+=o}for(r++;r>>1);a(t,e[i+h])<0?l=h:r=h+1}return l}function xe(t,e){function i(i){var s=a[i],u=r[i],h=a[i+1],c=r[i+1];r[i]=u+c,i===l-3&&(a[i+1]=a[i+2],r[i+1]=r[i+2]),l--;var d=ye(t[h],t,s,u,0,e);s+=d,0!==(u-=d)&&0!==(c=ve(t[s+u-1],t,h,c,c-1,e))&&(u<=c?n(s,u,h,c):o(s,u,h,c))}function n(i,n,o,a){var r=0;for(r=0;r=ib||f>=ib);if(p)break;g<0&&(g=0),g+=2}if((s=g)<1&&(s=1),1===n){for(r=0;r=0;r--)t[f+r]=t[d+r];if(0===n){v=!0;break}}if(t[c--]=u[h--],1==--a){v=!0;break}if(0!=(m=a-ve(t[l],u,0,a,a-1,e))){for(a-=m,f=(c-=m)+1,d=(h-=m)+1,r=0;r=ib||m>=ib);if(v)break;p<0&&(p=0),p+=2}if((s=p)<1&&(s=1),1===a){for(f=(c-=n)+1,d=(l-=n)+1,r=n-1;r>=0;r--)t[f+r]=t[d+r];t[c]=u[h]}else{if(0===a)throw new Error;for(d=c-(a-1),r=0;r=0;r--)t[f+r]=t[d+r];t[c]=u[h]}else for(d=c-(a-1),r=0;r1;){var t=l-2;if(t>=1&&r[t-1]<=r[t]+r[t+1]||t>=2&&r[t-2]<=r[t]+r[t-1])r[t-1]r[t+1])break;i(t)}},this.forceMergeRuns=function(){for(;l>1;){var t=l-2;t>0&&r[t-1]s&&(l=s),me(t,i,i+l,i+a,e),a=l}r.pushRun(i,a),r.mergeRuns(),o-=a,i+=a}while(0!==o);r.forceMergeRuns()}}function we(t,e){return t.zlevel===e.zlevel?t.z===e.z?t.z2-e.z2:t.z-e.z:t.zlevel-e.zlevel}function be(t,e,i){var n=null==e.x?0:e.x,o=null==e.x2?1:e.x2,a=null==e.y?0:e.y,r=null==e.y2?0:e.y2;return e.global||(n=n*i.width+i.x,o=o*i.width+i.x,a=a*i.height+i.y,r=r*i.height+i.y),n=isNaN(n)?0:n,o=isNaN(o)?1:o,a=isNaN(a)?0:a,r=isNaN(r)?0:r,t.createLinearGradient(n,a,o,r)}function Se(t,e,i){var n=i.width,o=i.height,a=Math.min(n,o),r=null==e.x?.5:e.x,s=null==e.y?.5:e.y,l=null==e.r?.5:e.r;return e.global||(r=r*n+i.x,s=s*o+i.y,l*=a),t.createRadialGradient(r,s,0,r,s,l)}function Me(){return!1}function Ie(t,e,i){var n=iw(),o=e.getWidth(),a=e.getHeight(),r=n.style;return r&&(r.position="absolute",r.left=0,r.top=0,r.width=o+"px",r.height=a+"px",n.setAttribute("data-zr-dom-id",t)),n.width=o*i,n.height=a*i,n}function Te(t){if("string"==typeof t){var e=mb.get(t);return e&&e.image}return t}function Ae(t,e,i,n,o){if(t){if("string"==typeof t){if(e&&e.__zrImageSrc===t||!i)return e;var a=mb.get(t),r={hostEl:i,cb:n,cbPayload:o};return a?!Ce(e=a.image)&&a.pending.push(r):((e=new Image).onload=e.onerror=De,mb.put(t,e.__cachedImgObj={image:e,pending:[r]}),e.src=e.__zrImageSrc=t),e}return t}return e}function De(){var t=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var e=0;exb&&(yb=0,vb={}),yb++,vb[i]=o,o}function ke(t,e,i,n,o,a,r,s){return r?Ne(t,e,i,n,o,a,r,s):Pe(t,e,i,n,o,a,s)}function Pe(t,e,i,n,o,a,r){var s=He(t,e,o,a,r),l=Le(t,e);o&&(l+=o[1]+o[3]);var u=s.outerHeight,h=new de(Oe(0,l,i),Ee(0,u,n),l,u);return h.lineHeight=s.lineHeight,h}function Ne(t,e,i,n,o,a,r,s){var l=Ze(t,{rich:r,truncate:s,font:e,textAlign:i,textPadding:o,textLineHeight:a}),u=l.outerWidth,h=l.outerHeight;return new de(Oe(0,u,i),Ee(0,h,n),u,h)}function Oe(t,e,i){return"right"===i?t-=e:"center"===i&&(t-=e/2),t}function Ee(t,e,i){return"middle"===i?t-=e/2:"bottom"===i&&(t-=e),t}function Re(t,e,i){var n=e.x,o=e.y,a=e.height,r=e.width,s=a/2,l="left",u="top";switch(t){case"left":n-=i,o+=s,l="right",u="middle";break;case"right":n+=i+r,o+=s,u="middle";break;case"top":n+=r/2,o-=i,l="center",u="bottom";break;case"bottom":n+=r/2,o+=a+i,l="center";break;case"inside":n+=r/2,o+=s,l="center",u="middle";break;case"insideLeft":n+=i,o+=s,u="middle";break;case"insideRight":n+=r-i,o+=s,l="right",u="middle";break;case"insideTop":n+=r/2,o+=i,l="center";break;case"insideBottom":n+=r/2,o+=a-i,l="center",u="bottom";break;case"insideTopLeft":n+=i,o+=i;break;case"insideTopRight":n+=r-i,o+=i,l="right";break;case"insideBottomLeft":n+=i,o+=a-i,u="bottom";break;case"insideBottomRight":n+=r-i,o+=a-i,l="right",u="bottom"}return{x:n,y:o,textAlign:l,textVerticalAlign:u}}function ze(t,e,i,n,o){if(!e)return"";var a=(t+"").split("\n");o=Be(e,i,n,o);for(var r=0,s=a.length;r=r;l++)s-=r;var u=Le(i,e);return u>s&&(i="",u=0),s=t-u,n.ellipsis=i,n.ellipsisWidth=u,n.contentWidth=s,n.containerWidth=t,n}function Ve(t,e){var i=e.containerWidth,n=e.font,o=e.contentWidth;if(!i)return"";var a=Le(t,n);if(a<=i)return t;for(var r=0;;r++){if(a<=o||r>=e.maxIterations){t+=e.ellipsis;break}var s=0===r?Ge(t,o,e.ascCharWidth,e.cnCharWidth):a>0?Math.floor(t.length*o/a):0;a=Le(t=t.substr(0,s),n)}return""===t&&(t=e.placeholder),t}function Ge(t,e,i,n){for(var o=0,a=0,r=t.length;au)t="",r=[];else if(null!=h)for(var c=Be(h-(i?i[1]+i[3]:0),e,o.ellipsis,{minChar:o.minChar,placeholder:o.placeholder}),d=0,f=r.length;do&&Ue(i,t.substring(o,a)),Ue(i,n[2],n[1]),o=_b.lastIndex}of)return{lines:[],width:0,height:0};k.textWidth=Le(k.text,_);var b=y.textWidth,S=null==b||"auto"===b;if("string"==typeof b&&"%"===b.charAt(b.length-1))k.percentWidth=b,u.push(k),b=0;else{if(S){b=k.textWidth;var M=y.textBackgroundColor,I=M&&M.image;I&&Ce(I=Te(I))&&(b=Math.max(b,I.width*w/I.height))}var T=x?x[1]+x[3]:0;b+=T;var C=null!=d?d-m:null;null!=C&&Cl&&(i*=l/(c=i+n),n*=l/c),o+a>l&&(o*=l/(c=o+a),a*=l/c),n+o>u&&(n*=u/(c=n+o),o*=u/c),i+a>u&&(i*=u/(c=i+a),a*=u/c),t.moveTo(r+i,s),t.lineTo(r+l-n,s),0!==n&&t.arc(r+l-n,s+n,n,-Math.PI/2,0),t.lineTo(r+l,s+u-o),0!==o&&t.arc(r+l-o,s+u-o,o,0,Math.PI/2),t.lineTo(r+a,s+u),0!==a&&t.arc(r+a,s+u-a,a,Math.PI/2,Math.PI),t.lineTo(r,s+i),0!==i&&t.arc(r+i,s+i,i,Math.PI,1.5*Math.PI)}function Ye(t){return qe(t),d(t.rich,qe),t}function qe(t){if(t){t.font=Xe(t);var e=t.textAlign;"middle"===e&&(e="center"),t.textAlign=null==e||Mb[e]?e:"left";var i=t.textVerticalAlign||t.textBaseline;"center"===i&&(i="middle"),t.textVerticalAlign=null==i||Ib[i]?i:"top",t.textPadding&&(t.textPadding=L(t.textPadding))}}function Ke(t,e,i,n,o,a){n.rich?Je(t,e,i,n,o,a):$e(t,e,i,n,o,a)}function $e(t,e,i,n,o,a){var r,s=ii(n),l=!1,u=e.__attrCachedBy===rb.PLAIN_TEXT;a!==sb?(a&&(r=a.style,l=!s&&u&&r),e.__attrCachedBy=s?rb.NONE:rb.PLAIN_TEXT):u&&(e.__attrCachedBy=rb.NONE);var h=n.font||Sb;l&&h===(r.font||Sb)||(e.font=h);var c=t.__computedFont;t.__styleFont!==h&&(t.__styleFont=h,c=t.__computedFont=e.font);var d=n.textPadding,f=n.textLineHeight,p=t.__textCotentBlock;p&&!t.__dirtyText||(p=t.__textCotentBlock=He(i,c,d,f,n.truncate));var g=p.outerHeight,m=p.lines,v=p.lineHeight,y=ai(g,n,o),x=y.baseX,_=y.baseY,w=y.textAlign||"left",b=y.textVerticalAlign;ti(e,n,o,x,_);var S=Ee(_,g,b),M=x,I=S;if(s||d){var T=Le(i,c);d&&(T+=d[1]+d[3]);var A=Oe(x,T,w);s&&ni(t,e,n,A,S,T,g),d&&(M=hi(x,w,d),I+=d[0])}e.textAlign=w,e.textBaseline="middle",e.globalAlpha=n.opacity||1;for(B=0;B=0&&"right"===(_=b[C]).textAlign;)ei(t,e,_,n,M,v,D,"right"),I-=_.width,D-=_.width,C--;for(A+=(a-(A-m)-(y-D)-I)/2;T<=C;)ei(t,e,_=b[T],n,M,v,A+_.width/2,"center"),A+=_.width,T++;v+=M}}function ti(t,e,i,n,o){if(i&&e.textRotation){var a=e.textOrigin;"center"===a?(n=i.width/2+i.x,o=i.height/2+i.y):a&&(n=a[0]+i.x,o=a[1]+i.y),t.translate(n,o),t.rotate(-e.textRotation),t.translate(-n,-o)}}function ei(t,e,i,n,o,a,r,s){var l=n.rich[i.styleName]||{};l.text=i.text;var u=i.textVerticalAlign,h=a+o/2;"top"===u?h=a+i.height/2:"bottom"===u&&(h=a+o-i.height/2),!i.isLineHolder&&ii(l)&&ni(t,e,l,"right"===s?r-i.width:"center"===s?r-i.width/2:r,h-i.height/2,i.width,i.height);var c=i.textPadding;c&&(r=hi(r,s,c),h-=i.height/2-c[2]-i.textHeight/2),ri(e,"shadowBlur",D(l.textShadowBlur,n.textShadowBlur,0)),ri(e,"shadowColor",l.textShadowColor||n.textShadowColor||"transparent"),ri(e,"shadowOffsetX",D(l.textShadowOffsetX,n.textShadowOffsetX,0)),ri(e,"shadowOffsetY",D(l.textShadowOffsetY,n.textShadowOffsetY,0)),ri(e,"textAlign",s),ri(e,"textBaseline","middle"),ri(e,"font",i.font||Sb);var d=si(l.textStroke||n.textStroke,p),f=li(l.textFill||n.textFill),p=A(l.textStrokeWidth,n.textStrokeWidth);d&&(ri(e,"lineWidth",p),ri(e,"strokeStyle",d),e.strokeText(i.text,r,h)),f&&(ri(e,"fillStyle",f),e.fillText(i.text,r,h))}function ii(t){return!!(t.textBackgroundColor||t.textBorderWidth&&t.textBorderColor)}function ni(t,e,i,n,o,a,r){var s=i.textBackgroundColor,l=i.textBorderWidth,u=i.textBorderColor,h=_(s);if(ri(e,"shadowBlur",i.textBoxShadowBlur||0),ri(e,"shadowColor",i.textBoxShadowColor||"transparent"),ri(e,"shadowOffsetX",i.textBoxShadowOffsetX||0),ri(e,"shadowOffsetY",i.textBoxShadowOffsetY||0),h||l&&u){e.beginPath();var c=i.textBorderRadius;c?je(e,{x:n,y:o,width:a,height:r,r:c}):e.rect(n,o,a,r),e.closePath()}if(h)if(ri(e,"fillStyle",s),null!=i.fillOpacity){f=e.globalAlpha;e.globalAlpha=i.fillOpacity*i.opacity,e.fill(),e.globalAlpha=f}else e.fill();else if(w(s)){var d=s.image;(d=Ae(d,null,t,oi,s))&&Ce(d)&&e.drawImage(d,n,o,a,r)}if(l&&u)if(ri(e,"lineWidth",l),ri(e,"strokeStyle",u),null!=i.strokeOpacity){var f=e.globalAlpha;e.globalAlpha=i.strokeOpacity*i.opacity,e.stroke(),e.globalAlpha=f}else e.stroke()}function oi(t,e){e.image=t}function ai(t,e,i){var n=e.x||0,o=e.y||0,a=e.textAlign,r=e.textVerticalAlign;if(i){var s=e.textPosition;if(s instanceof Array)n=i.x+ui(s[0],i.width),o=i.y+ui(s[1],i.height);else{var l=Re(s,i,e.textDistance);n=l.x,o=l.y,a=a||l.textAlign,r=r||l.textVerticalAlign}var u=e.textOffset;u&&(n+=u[0],o+=u[1])}return{baseX:n,baseY:o,textAlign:a,textVerticalAlign:r}}function ri(t,e,i){return t[e]=ab(t,e,i),t[e]}function si(t,e){return null==t||e<=0||"transparent"===t||"none"===t?null:t.image||t.colorStops?"#000":t}function li(t){return null==t||"none"===t?null:t.image||t.colorStops?"#000":t}function ui(t,e){return"string"==typeof t?t.lastIndexOf("%")>=0?parseFloat(t)/100*e:parseFloat(t):t}function hi(t,e,i){return"right"===e?t-i[1]:"center"===e?t+i[3]/2-i[1]/2:t+i[3]}function ci(t,e){return null!=t&&(t||e.textBackgroundColor||e.textBorderWidth&&e.textBorderColor||e.textPadding)}function di(t){t=t||{},Kw.call(this,t);for(var e in t)t.hasOwnProperty(e)&&"style"!==e&&(this[e]=t[e]);this.style=new ub(t.style,this),this._rect=null,this.__clipPaths=[]}function fi(t){di.call(this,t)}function pi(t){return parseInt(t,10)}function gi(t){return!!t&&(!!t.__builtin__||"function"==typeof t.resize&&"function"==typeof t.refresh)}function mi(t,e,i){return Cb.copy(t.getBoundingRect()),t.transform&&Cb.applyTransform(t.transform),Lb.width=e,Lb.height=i,!Cb.intersect(Lb)}function vi(t,e){if(t===e)return!1;if(!t||!e||t.length!==e.length)return!0;for(var i=0;i=i.length&&i.push({option:t})}}),i}function Ni(t){var e=R();Zb(t,function(t,i){var n=t.exist;n&&e.set(n.id,t)}),Zb(t,function(t,i){var n=t.option;k(!n||null==n.id||!e.get(n.id)||e.get(n.id)===t,"id duplicates: "+(n&&n.id)),n&&null!=n.id&&e.set(n.id,t),!t.keyInfo&&(t.keyInfo={})}),Zb(t,function(t,i){var n=t.exist,o=t.option,a=t.keyInfo;if(Ub(o)){if(a.name=null!=o.name?o.name+"":n?n.name:jb+i,n)a.id=n.id;else if(null!=o.id)a.id=o.id+"";else{var r=0;do{a.id="\0"+a.name+"\0"+r++}while(e.get(a.id))}e.set(a.id,t)}})}function Oi(t){var e=t.name;return!(!e||!e.indexOf(jb))}function Ei(t){return Ub(t)&&t.id&&0===(t.id+"").indexOf("\0_ec_\0")}function Ri(t,e){function i(t,e,i){for(var n=0,o=t.length;n-rS&&trS||t<-rS}function tn(t,e,i,n,o){var a=1-o;return a*a*(a*t+3*o*e)+o*o*(o*n+3*a*i)}function en(t,e,i,n,o){var a=1-o;return 3*(((e-t)*a+2*(i-e)*o)*a+(n-i)*o*o)}function nn(t,e,i,n,o,a){var r=n+3*(e-i)-t,s=3*(i-2*e+t),l=3*(e-t),u=t-o,h=s*s-3*r*l,c=s*l-9*r*u,d=l*l-3*s*u,f=0;if(Ji(h)&&Ji(c))Ji(s)?a[0]=0:(M=-l/s)>=0&&M<=1&&(a[f++]=M);else{var p=c*c-4*h*d;if(Ji(p)){var g=c/h,m=-g/2;(M=-s/r+g)>=0&&M<=1&&(a[f++]=M),m>=0&&m<=1&&(a[f++]=m)}else if(p>0){var v=aS(p),y=h*s+1.5*r*(-c+v),x=h*s+1.5*r*(-c-v);(M=(-s-((y=y<0?-oS(-y,uS):oS(y,uS))+(x=x<0?-oS(-x,uS):oS(x,uS))))/(3*r))>=0&&M<=1&&(a[f++]=M)}else{var _=(2*h*s-3*r*c)/(2*aS(h*h*h)),w=Math.acos(_)/3,b=aS(h),S=Math.cos(w),M=(-s-2*b*S)/(3*r),m=(-s+b*(S+lS*Math.sin(w)))/(3*r),I=(-s+b*(S-lS*Math.sin(w)))/(3*r);M>=0&&M<=1&&(a[f++]=M),m>=0&&m<=1&&(a[f++]=m),I>=0&&I<=1&&(a[f++]=I)}}return f}function on(t,e,i,n,o){var a=6*i-12*e+6*t,r=9*e+3*n-3*t-9*i,s=3*e-3*t,l=0;if(Ji(r))Qi(a)&&(c=-s/a)>=0&&c<=1&&(o[l++]=c);else{var u=a*a-4*r*s;if(Ji(u))o[0]=-a/(2*r);else if(u>0){var h=aS(u),c=(-a+h)/(2*r),d=(-a-h)/(2*r);c>=0&&c<=1&&(o[l++]=c),d>=0&&d<=1&&(o[l++]=d)}}return l}function an(t,e,i,n,o,a){var r=(e-t)*o+t,s=(i-e)*o+e,l=(n-i)*o+i,u=(s-r)*o+r,h=(l-s)*o+s,c=(h-u)*o+u;a[0]=t,a[1]=r,a[2]=u,a[3]=c,a[4]=c,a[5]=h,a[6]=l,a[7]=n}function rn(t,e,i,n,o,a,r,s,l,u,h){var c,d,f,p,g,m=.005,v=1/0;hS[0]=l,hS[1]=u;for(var y=0;y<1;y+=.05)cS[0]=tn(t,i,o,r,y),cS[1]=tn(e,n,a,s,y),(p=hw(hS,cS))=0&&p=0&&c<=1&&(o[l++]=c);else{var u=r*r-4*a*s;if(Ji(u))(c=-r/(2*a))>=0&&c<=1&&(o[l++]=c);else if(u>0){var h=aS(u),c=(-r+h)/(2*a),d=(-r-h)/(2*a);c>=0&&c<=1&&(o[l++]=c),d>=0&&d<=1&&(o[l++]=d)}}return l}function hn(t,e,i){var n=t+i-2*e;return 0===n?.5:(t-e)/n}function cn(t,e,i,n,o){var a=(e-t)*n+t,r=(i-e)*n+e,s=(r-a)*n+a;o[0]=t,o[1]=a,o[2]=s,o[3]=s,o[4]=r,o[5]=i}function dn(t,e,i,n,o,a,r,s,l){var u,h=.005,c=1/0;hS[0]=r,hS[1]=s;for(var d=0;d<1;d+=.05)cS[0]=sn(t,i,o,d),cS[1]=sn(e,n,a,d),(m=hw(hS,cS))=0&&m1e-4)return s[0]=t-i,s[1]=e-n,l[0]=t+i,void(l[1]=e+n);if(yS[0]=mS(o)*i+t,yS[1]=gS(o)*n+e,xS[0]=mS(a)*i+t,xS[1]=gS(a)*n+e,u(s,yS,xS),h(l,yS,xS),(o%=vS)<0&&(o+=vS),(a%=vS)<0&&(a+=vS),o>a&&!r?a+=vS:oo&&(_S[0]=mS(f)*i+t,_S[1]=gS(f)*n+e,u(s,_S,s),h(l,_S,l))}function yn(t,e,i,n,o,a,r){if(0===o)return!1;var s=o,l=0,u=t;if(r>e+s&&r>n+s||rt+s&&a>i+s||ae+c&&h>n+c&&h>a+c&&h>s+c||ht+c&&u>i+c&&u>o+c&&u>r+c||ue+u&&l>n+u&&l>a+u||lt+u&&s>i+u&&s>o+u||si||h+uo&&(o+=zS);var d=Math.atan2(l,s);return d<0&&(d+=zS),d>=n&&d<=o||d+zS>=n&&d+zS<=o}function Sn(t,e,i,n,o,a){if(a>e&&a>n||ao?r:0}function Mn(t,e){return Math.abs(t-e)e&&u>n&&u>a&&u>s||u1&&In(),c=tn(e,n,a,s,WS[0]),p>1&&(d=tn(e,n,a,s,WS[1]))),2===p?me&&s>n&&s>a||s=0&&u<=1){for(var h=0,c=sn(e,n,a,u),d=0;di||s<-i)return 0;u=Math.sqrt(i*i-s*s);FS[0]=-u,FS[1]=u;var l=Math.abs(n-o);if(l<1e-4)return 0;if(l%VS<1e-4){n=0,o=VS;p=a?1:-1;return r>=FS[0]+t&&r<=FS[1]+t?p:0}if(a){var u=n;n=wn(o),o=wn(u)}else n=wn(n),o=wn(o);n>o&&(o+=VS);for(var h=0,c=0;c<2;c++){var d=FS[c];if(d+t>r){var f=Math.atan2(s,d),p=a?1:-1;f<0&&(f=VS+f),(f>=n&&f<=o||f+VS>=n&&f+VS<=o)&&(f>Math.PI/2&&f<1.5*Math.PI&&(p=-p),h+=p)}}return h}function Cn(t,e,i,n,o){for(var a=0,r=0,s=0,l=0,u=0,h=0;h1&&(i||(a+=Sn(r,s,l,u,n,o))),1===h&&(l=r=t[h],u=s=t[h+1]),c){case BS.M:r=l=t[h++],s=u=t[h++];break;case BS.L:if(i){if(yn(r,s,t[h],t[h+1],e,n,o))return!0}else a+=Sn(r,s,t[h],t[h+1],n,o)||0;r=t[h++],s=t[h++];break;case BS.C:if(i){if(xn(r,s,t[h++],t[h++],t[h++],t[h++],t[h],t[h+1],e,n,o))return!0}else a+=Tn(r,s,t[h++],t[h++],t[h++],t[h++],t[h],t[h+1],n,o)||0;r=t[h++],s=t[h++];break;case BS.Q:if(i){if(_n(r,s,t[h++],t[h++],t[h],t[h+1],e,n,o))return!0}else a+=An(r,s,t[h++],t[h++],t[h],t[h+1],n,o)||0;r=t[h++],s=t[h++];break;case BS.A:var d=t[h++],f=t[h++],p=t[h++],g=t[h++],m=t[h++],v=t[h++];h+=1;var y=1-t[h++],x=Math.cos(m)*p+d,_=Math.sin(m)*g+f;h>1?a+=Sn(r,s,x,_,n,o):(l=x,u=_);var w=(n-d)*g/p+d;if(i){if(bn(d,f,g,m,m+v,y,e,w,o))return!0}else a+=Dn(d,f,g,m,m+v,y,w,o);r=Math.cos(m+v)*p+d,s=Math.sin(m+v)*g+f;break;case BS.R:l=r=t[h++],u=s=t[h++];var x=l+t[h++],_=u+t[h++];if(i){if(yn(l,u,x,u,e,n,o)||yn(x,u,x,_,e,n,o)||yn(x,_,l,_,e,n,o)||yn(l,_,l,u,e,n,o))return!0}else a+=Sn(x,u,x,_,n,o),a+=Sn(l,_,l,u,n,o);break;case BS.Z:if(i){if(yn(r,s,l,u,e,n,o))return!0}else a+=Sn(r,s,l,u,n,o);r=l,s=u}}return i||Mn(s,u)||(a+=Sn(r,s,l,u,n,o)||0),0!==a}function Ln(t,e,i){return Cn(t,0,!1,e,i)}function kn(t,e,i,n){return Cn(t,e,!0,i,n)}function Pn(t){di.call(this,t),this.path=null}function Nn(t,e,i,n,o,a,r,s,l,u,h){var c=l*(tM/180),d=QS(c)*(t-i)/2+JS(c)*(e-n)/2,f=-1*JS(c)*(t-i)/2+QS(c)*(e-n)/2,p=d*d/(r*r)+f*f/(s*s);p>1&&(r*=$S(p),s*=$S(p));var g=(o===a?-1:1)*$S((r*r*(s*s)-r*r*(f*f)-s*s*(d*d))/(r*r*(f*f)+s*s*(d*d)))||0,m=g*r*f/s,v=g*-s*d/r,y=(t+i)/2+QS(c)*m-JS(c)*v,x=(e+n)/2+JS(c)*m+QS(c)*v,_=nM([1,0],[(d-m)/r,(f-v)/s]),w=[(d-m)/r,(f-v)/s],b=[(-1*d-m)/r,(-1*f-v)/s],S=nM(w,b);iM(w,b)<=-1&&(S=tM),iM(w,b)>=1&&(S=0),0===a&&S>0&&(S-=2*tM),1===a&&S<0&&(S+=2*tM),h.addData(u,y,x,r,s,_,S,c,a)}function On(t){if(!t)return new ES;for(var e,i=0,n=0,o=i,a=n,r=new ES,s=ES.CMD,l=t.match(oM),u=0;u=2){if(o&&"spline"!==o){var a=fM(n,o,i,e.smoothConstraint);t.moveTo(n[0][0],n[0][1]);for(var r=n.length,s=0;s<(i?r:r-1);s++){var l=a[2*s],u=a[2*s+1],h=n[(s+1)%r];t.bezierCurveTo(l[0],l[1],u[0],u[1],h[0],h[1])}}else{"spline"===o&&(n=dM(n,i)),t.moveTo(n[0][0],n[0][1]);for(var s=1,c=n.length;s=0)?(i={textFill:null,textStroke:t.textStroke,textStrokeWidth:t.textStrokeWidth},t.textFill="#fff",null==t.textStroke&&(t.textStroke=a,null==t.textStrokeWidth&&(t.textStrokeWidth=2))):null!=a&&(i={textFill:null},t.textFill=a),i&&(t.insideRollback=i)}}function bo(t){var e=t.insideRollback;e&&(t.textFill=e.textFill,t.textStroke=e.textStroke,t.textStrokeWidth=e.textStrokeWidth,t.insideRollback=null)}function So(t,e){var i=e||e.getModel("textStyle");return P([t.fontStyle||i&&i.getShallow("fontStyle")||"",t.fontWeight||i&&i.getShallow("fontWeight")||"",(t.fontSize||i&&i.getShallow("fontSize")||12)+"px",t.fontFamily||i&&i.getShallow("fontFamily")||"sans-serif"].join(" "))}function Mo(t,e,i,n,o,a){if("function"==typeof o&&(a=o,o=null),n&&n.isAnimationEnabled()){var r=t?"Update":"",s=n.getShallow("animationDuration"+r),l=n.getShallow("animationEasing"+r),u=n.getShallow("animationDelay"+r);"function"==typeof u&&(u=u(o,n.getAnimationDelayParams?n.getAnimationDelayParams(e,o):null)),"function"==typeof s&&(s=s(o)),s>0?e.animateTo(i,s,u||0,l,a,!!a):(e.stopAnimation(),e.attr(i),a&&a())}else e.stopAnimation(),e.attr(i),a&&a()}function Io(t,e,i,n,o){Mo(!0,t,e,i,n,o)}function To(t,e,i,n,o){Mo(!1,t,e,i,n,o)}function Ao(t,e){for(var i=_t([]);t&&t!==e;)bt(i,t.getLocalTransform(),i),t=t.parent;return i}function Do(t,e,i){return e&&!c(e)&&(e=Tw.getLocalTransform(e)),i&&(e=Tt([],e)),Q([],t,e)}function Co(t,e,i){var n=0===e[4]||0===e[5]||0===e[0]?1:Math.abs(2*e[4]/e[0]),o=0===e[4]||0===e[5]||0===e[2]?1:Math.abs(2*e[4]/e[2]),a=["left"===t?-n:"right"===t?n:0,"top"===t?-o:"bottom"===t?o:0];return a=Do(a,e,i),Math.abs(a[0])>Math.abs(a[1])?a[0]>0?"right":"left":a[1]>0?"bottom":"top"}function Lo(t,e,i,n){function o(t){var e={position:F(t.position),rotation:t.rotation};return t.shape&&(e.shape=a({},t.shape)),e}if(t&&e){var r=function(t){var e={};return t.traverse(function(t){!t.isGroup&&t.anid&&(e[t.anid]=t)}),e}(t);e.traverse(function(t){if(!t.isGroup&&t.anid){var e=r[t.anid];if(e){var n=o(t);t.attr(o(e)),Io(t,n,i,t.dataIndex)}}})}}function ko(t,e){return f(t,function(t){var i=t[0];i=LM(i,e.x),i=kM(i,e.x+e.width);var n=t[1];return n=LM(n,e.y),n=kM(n,e.y+e.height),[i,n]})}function Po(t,e,i){var n=(e=a({rectHover:!0},e)).style={strokeNoScale:!0};if(i=i||{x:-1,y:-1,width:2,height:2},t)return 0===t.indexOf("image://")?(n.image=t.slice(8),r(n,i),new fi(e)):Xn(t.replace("path://",""),e,i,"center")}function No(t,e,i){this.parentModel=e,this.ecModel=i,this.option=t}function Oo(t,e,i){for(var n=0;n0){if(t<=e[0])return i[0];if(t>=e[1])return i[1]}else{if(t>=e[0])return i[0];if(t<=e[1])return i[1]}else{if(t===e[0])return i[0];if(t===e[1])return i[1]}return(t-e[0])/o*a+i[0]}function Vo(t,e){switch(t){case"center":case"middle":t="50%";break;case"left":case"top":t="0%";break;case"right":case"bottom":t="100%"}return"string"==typeof t?zo(t).match(/%$/)?parseFloat(t)/100*e:parseFloat(t):null==t?NaN:+t}function Go(t,e,i){return null==e&&(e=10),e=Math.min(Math.max(0,e),20),t=(+t).toFixed(e),i?t:+t}function Fo(t){return t.sort(function(t,e){return t-e}),t}function Wo(t){if(t=+t,isNaN(t))return 0;for(var e=1,i=0;Math.round(t*e)/e!==t;)e*=10,i++;return i}function Ho(t){var e=t.toString(),i=e.indexOf("e");if(i>0){var n=+e.slice(i+1);return n<0?-n:0}var o=e.indexOf(".");return o<0?0:e.length-1-o}function Zo(t,e){var i=Math.log,n=Math.LN10,o=Math.floor(i(t[1]-t[0])/n),a=Math.round(i(Math.abs(e[1]-e[0]))/n),r=Math.min(Math.max(-o+a,0),20);return isFinite(r)?r:20}function Uo(t,e,i){if(!t[e])return 0;var n=p(t,function(t,e){return t+(isNaN(e)?0:e)},0);if(0===n)return 0;for(var o=Math.pow(10,i),a=f(t,function(t){return(isNaN(t)?0:t)/n*o*100}),r=100*o,s=f(a,function(t){return Math.floor(t)}),l=p(s,function(t,e){return t+e},0),u=f(a,function(t,e){return t-s[e]});lh&&(h=u[d],c=d);++s[c],u[c]=0,++l}return s[e]/o}function Xo(t){var e=2*Math.PI;return(t%e+e)%e}function jo(t){return t>-UM&&t=-20?+t.toFixed(n<0?-n:0):t}function Jo(t){function e(t,i,n){return t.interval[n]=0}function ta(t){return isNaN(t)?"-":(t=(t+"").split("."))[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(t.length>1?"."+t[1]:"")}function ea(t,e){return t=(t||"").toLowerCase().replace(/-(.)/g,function(t,e){return e.toUpperCase()}),e&&t&&(t=t.charAt(0).toUpperCase()+t.slice(1)),t}function ia(t){return null==t?"":(t+"").replace(KM,function(t,e){return $M[e]})}function na(t,e,i){y(e)||(e=[e]);var n=e.length;if(!n)return"";for(var o=e[0].$vars||[],a=0;a':'':{renderMode:o,content:"{marker"+a+"|} ",style:{color:i}}:""}function ra(t,e){return t+="","0000".substr(0,e-t.length)+t}function sa(t,e,i){"week"!==t&&"month"!==t&&"quarter"!==t&&"half-year"!==t&&"year"!==t||(t="MM-dd\nyyyy");var n=Yo(e),o=i?"UTC":"",a=n["get"+o+"FullYear"](),r=n["get"+o+"Month"]()+1,s=n["get"+o+"Date"](),l=n["get"+o+"Hours"](),u=n["get"+o+"Minutes"](),h=n["get"+o+"Seconds"](),c=n["get"+o+"Milliseconds"]();return t=t.replace("MM",ra(r,2)).replace("M",r).replace("yyyy",a).replace("yy",a%100).replace("dd",ra(s,2)).replace("d",s).replace("hh",ra(l,2)).replace("h",l).replace("mm",ra(u,2)).replace("m",u).replace("ss",ra(h,2)).replace("s",h).replace("SSS",ra(c,3))}function la(t){return t?t.charAt(0).toUpperCase()+t.substr(1):t}function ua(t,e,i,n,o){var a=0,r=0;null==n&&(n=1/0),null==o&&(o=1/0);var s=0;e.eachChild(function(l,u){var h,c,d=l.position,f=l.getBoundingRect(),p=e.childAt(u+1),g=p&&p.getBoundingRect();if("horizontal"===t){var m=f.width+(g?-g.x+f.x:0);(h=a+m)>n||l.newline?(a=0,h=m,r+=s+i,s=f.height):s=Math.max(s,f.height)}else{var v=f.height+(g?-g.y+f.y:0);(c=r+v)>o||l.newline?(a+=s+i,r=0,c=v,s=f.width):s=Math.max(s,f.width)}l.newline||(d[0]=a,d[1]=r,"horizontal"===t?a=h+i:r=c+i)})}function ha(t,e,i){var n=e.width,o=e.height,a=Vo(t.x,n),r=Vo(t.y,o),s=Vo(t.x2,n),l=Vo(t.y2,o);return(isNaN(a)||isNaN(parseFloat(t.x)))&&(a=0),(isNaN(s)||isNaN(parseFloat(t.x2)))&&(s=n),(isNaN(r)||isNaN(parseFloat(t.y)))&&(r=0),(isNaN(l)||isNaN(parseFloat(t.y2)))&&(l=o),i=qM(i||0),{width:Math.max(s-a-i[1]-i[3],0),height:Math.max(l-r-i[0]-i[2],0)}}function ca(t,e,i){i=qM(i||0);var n=e.width,o=e.height,a=Vo(t.left,n),r=Vo(t.top,o),s=Vo(t.right,n),l=Vo(t.bottom,o),u=Vo(t.width,n),h=Vo(t.height,o),c=i[2]+i[0],d=i[1]+i[3],f=t.aspect;switch(isNaN(u)&&(u=n-s-d-a),isNaN(h)&&(h=o-l-c-r),null!=f&&(isNaN(u)&&isNaN(h)&&(f>n/o?u=.8*n:h=.8*o),isNaN(u)&&(u=f*h),isNaN(h)&&(h=u/f)),isNaN(a)&&(a=n-s-u-d),isNaN(r)&&(r=o-l-h-c),t.left||t.right){case"center":a=n/2-u/2-i[3];break;case"right":a=n-u-d}switch(t.top||t.bottom){case"middle":case"center":r=o/2-h/2-i[0];break;case"bottom":r=o-h-c}a=a||0,r=r||0,isNaN(u)&&(u=n-d-a-(s||0)),isNaN(h)&&(h=o-c-r-(l||0));var p=new de(a+i[3],r+i[0],u,h);return p.margin=i,p}function da(t,e,i,n,o){var a=!o||!o.hv||o.hv[0],s=!o||!o.hv||o.hv[1],l=o&&o.boundingMode||"all";if(a||s){var u;if("raw"===l)u="group"===t.type?new de(0,0,+e.width||0,+e.height||0):t.getBoundingRect();else if(u=t.getBoundingRect(),t.needLocalTransform()){var h=t.getLocalTransform();(u=u.clone()).applyTransform(h)}e=ca(r({width:u.width,height:u.height},e),i,n);var c=t.position,d=a?e.x-u.x:0,f=s?e.y-u.y:0;t.attr("position","raw"===l?[d,f]:[c[0]+d,c[1]+f])}}function fa(t,e){return null!=t[oI[e][0]]||null!=t[oI[e][1]]&&null!=t[oI[e][2]]}function pa(t,e,i){function n(i,n){var r={},l=0,u={},h=0;if(iI(i,function(e){u[e]=t[e]}),iI(i,function(t){o(e,t)&&(r[t]=u[t]=e[t]),a(r,t)&&l++,a(u,t)&&h++}),s[n])return a(e,i[1])?u[i[2]]=null:a(e,i[2])&&(u[i[1]]=null),u;if(2!==h&&l){if(l>=2)return r;for(var c=0;ce)return t[n];return t[i-1]}function ya(t){var e=t.get("coordinateSystem"),i={coordSysName:e,coordSysDims:[],axisMap:R(),categoryAxisMap:R()},n=fI[e];if(n)return n(t,i,i.axisMap,i.categoryAxisMap),i}function xa(t){return"category"===t.get("type")}function _a(t){this.fromDataset=t.fromDataset,this.data=t.data||(t.sourceFormat===vI?{}:[]),this.sourceFormat=t.sourceFormat||yI,this.seriesLayoutBy=t.seriesLayoutBy||_I,this.dimensionsDefine=t.dimensionsDefine,this.encodeDefine=t.encodeDefine&&R(t.encodeDefine),this.startIndex=t.startIndex||0,this.dimensionsDetectCount=t.dimensionsDetectCount}function wa(t){var e=t.option.source,i=yI;if(S(e))i=xI;else if(y(e)){0===e.length&&(i=gI);for(var n=0,o=e.length;n=e:"max"===i?t<=e:t===e}function Xa(t,e){return t.join(",")===e.join(",")}function ja(t,e){AI(e=e||{},function(e,i){if(null!=e){var n=t[i];if(lI.hasClass(i)){e=Di(e);var o=Pi(n=Di(n),e);t[i]=CI(o,function(t){return t.option&&t.exist?LI(t.exist,t.option,!0):t.exist||t.option})}else t[i]=LI(n,e,!0)}})}function Ya(t){var e=t&&t.itemStyle;if(e)for(var i=0,o=OI.length;i=0;p--){var g=t[p];if(s||(d=g.data.rawIndexOf(g.stackedByDimension,c)),d>=0){var m=g.data.getByRawIndex(g.stackResultDimension,d);if(h>=0&&m>0||h<=0&&m<0){h+=m,f=m;break}}}return n[0]=h,n[1]=f,n});r.hostModel.setData(l),e.data=l})}function rr(t,e){_a.isInstance(t)||(t=_a.seriesDataToSource(t)),this._source=t;var i=this._data=t.data,n=t.sourceFormat;n===xI&&(this._offset=0,this._dimSize=e,this._data=i),a(this,GI[n===gI?n+"_"+t.seriesLayoutBy:n])}function sr(){return this._data.length}function lr(t){return this._data[t]}function ur(t){for(var e=0;ee.outputData.count()&&e.model.getRawData().cloneShallow(e.outputData)}function Mr(t,e){d(t.CHANGABLE_METHODS,function(i){t.wrapMethod(i,v(Ir,e))})}function Ir(t){var e=Tr(t);e&&e.setOutputEnd(this.count())}function Tr(t){var e=(t.ecModel||{}).scheduler,i=e&&e.getPipeline(t.uid);if(i){var n=i.currentTask;if(n){var o=n.agentStubMap;o&&(n=o.get(t.uid))}return n}}function Ar(){this.group=new tb,this.uid=Ro("viewChart"),this.renderTask=gr({plan:Lr,reset:kr}),this.renderTask.context={view:this}}function Dr(t,e){if(t&&(t.trigger(e),"group"===t.type))for(var i=0;i=0?n():c=setTimeout(n,-a),u=o};return d.clear=function(){c&&(clearTimeout(c),c=null)},d.debounceNextCall=function(t){l=t},d}function Nr(t,e,i,n){var o=t[e];if(o){var a=o[iT]||o,r=o[oT];if(o[nT]!==i||r!==n){if(null==i||!n)return t[e]=a;(o=t[e]=Pr(a,i,"debounce"===n))[iT]=a,o[oT]=n,o[nT]=i}return o}}function Or(t,e){var i=t[e];i&&i[iT]&&(t[e]=i[iT])}function Er(t,e,i,n){this.ecInstance=t,this.api=e,this.unfinished;var i=this._dataProcessorHandlers=i.slice(),n=this._visualHandlers=n.slice();this._allHandlers=i.concat(n),this._stageTaskMap=R()}function Rr(t,e,i,n,o){function a(t,e){return t.setDirty&&(!t.dirtyMap||t.dirtyMap.get(e.__pipeline.id))}o=o||{};var r;d(e,function(e,s){if(!o.visualType||o.visualType===e.visualType){var l=t._stageTaskMap.get(e.uid),u=l.seriesTaskMap,h=l.overallTask;if(h){var c,d=h.agentStubMap;d.each(function(t){a(o,t)&&(t.dirty(),c=!0)}),c&&h.dirty(),hT(h,n);var f=t.getPerformArgs(h,o.block);d.each(function(t){t.perform(f)}),r|=h.perform(f)}else u&&u.each(function(s,l){a(o,s)&&s.dirty();var u=t.getPerformArgs(s,o.block);u.skip=!e.performRawSeries&&i.isSeriesFiltered(s.context.model),hT(s,n),r|=s.perform(u)})}}),t.unfinished|=r}function zr(t,e,i,n,o){function a(i){var a=i.uid,s=r.get(a)||r.set(a,gr({plan:Hr,reset:Zr,count:Xr}));s.context={model:i,ecModel:n,api:o,useClearVisual:e.isVisual&&!e.isLayout,plan:e.plan,reset:e.reset,scheduler:t},jr(t,i,s)}var r=i.seriesTaskMap||(i.seriesTaskMap=R()),s=e.seriesType,l=e.getTargetSeries;e.createOnAllSeries?n.eachRawSeries(a):s?n.eachRawSeriesByType(s,a):l&&l(n,o).each(a);var u=t._pipelineMap;r.each(function(t,e){u.get(e)||(t.dispose(),r.removeKey(e))})}function Br(t,e,i,n,o){function a(e){var i=e.uid,n=s.get(i);n||(n=s.set(i,gr({reset:Gr,onDirty:Wr})),r.dirty()),n.context={model:e,overallProgress:h,modifyOutputEnd:c},n.agent=r,n.__block=h,jr(t,e,n)}var r=i.overallTask=i.overallTask||gr({reset:Vr});r.context={ecModel:n,api:o,overallReset:e.overallReset,scheduler:t};var s=r.agentStubMap=r.agentStubMap||R(),l=e.seriesType,u=e.getTargetSeries,h=!0,c=e.modifyOutputEnd;l?n.eachRawSeriesByType(l,a):u?u(n,o).each(a):(h=!1,d(n.getSeries(),a));var f=t._pipelineMap;s.each(function(t,e){f.get(e)||(t.dispose(),r.dirty(),s.removeKey(e))})}function Vr(t){t.overallReset(t.ecModel,t.api,t.payload)}function Gr(t,e){return t.overallProgress&&Fr}function Fr(){this.agent.dirty(),this.getDownstream().dirty()}function Wr(){this.agent&&this.agent.dirty()}function Hr(t){return t.plan&&t.plan(t.model,t.ecModel,t.api,t.payload)}function Zr(t){t.useClearVisual&&t.data.clearAllVisual();var e=t.resetDefines=Di(t.reset(t.model,t.ecModel,t.api,t.payload));return e.length>1?f(e,function(t,e){return Ur(e)}):cT}function Ur(t){return function(e,i){var n=i.data,o=i.resetDefines[t];if(o&&o.dataEach)for(var a=e.start;a0?parseInt(n,10)/100:n?parseFloat(n):0;var o=i.getAttribute("stop-color")||"#000000";e.addColorStop(n,o)}i=i.nextSibling}}function Qr(t,e){t&&t.__inheritedStyle&&(e.__inheritedStyle||(e.__inheritedStyle={}),r(e.__inheritedStyle,t.__inheritedStyle))}function ts(t){for(var e=P(t).split(_T),i=[],n=0;n0;a-=2){var r=o[a],s=o[a-1];switch(n=n||xt(),s){case"translate":r=P(r).split(_T),St(n,n,[parseFloat(r[0]),parseFloat(r[1]||0)]);break;case"scale":r=P(r).split(_T),It(n,n,[parseFloat(r[0]),parseFloat(r[1]||r[0])]);break;case"rotate":r=P(r).split(_T),Mt(n,n,parseFloat(r[0]));break;case"skew":r=P(r).split(_T),console.warn("Skew transform is not supported yet");break;case"matrix":r=P(r).split(_T);n[0]=parseFloat(r[0]),n[1]=parseFloat(r[1]),n[2]=parseFloat(r[2]),n[3]=parseFloat(r[3]),n[4]=parseFloat(r[4]),n[5]=parseFloat(r[5])}}e.setLocalTransform(n)}}function os(t){var e=t.getAttribute("style"),i={};if(!e)return i;var n={};TT.lastIndex=0;for(var o;null!=(o=TT.exec(e));)n[o[1]]=o[2];for(var a in ST)ST.hasOwnProperty(a)&&null!=n[a]&&(i[ST[a]]=n[a]);return i}function as(t,e,i){var n=e/t.width,o=i/t.height,a=Math.min(n,o);return{scale:[a,a],position:[-(t.x+t.width/2)*a+e/2,-(t.y+t.height/2)*a+i/2]}}function rs(t,e){return(new $r).parse(t,e)}function ss(t){return function(e,i,n){e=e&&e.toLowerCase(),fw.prototype[t].call(this,e,i,n)}}function ls(){fw.call(this)}function us(t,e,n){function o(t,e){return t.__prio-e.__prio}n=n||{},"string"==typeof e&&(e=JT[e]),this.id,this.group,this._dom=t;var a=this._zr=Ii(t,{renderer:n.renderer||"canvas",devicePixelRatio:n.devicePixelRatio,width:n.width,height:n.height});this._throttledZrFlush=Pr(m(a.flush,a),17),(e=i(e))&&BI(e,!0),this._theme=e,this._chartsViews=[],this._chartsMap={},this._componentsViews=[],this._componentsMap={},this._coordSysMgr=new Fa;var r=this._api=As(this);_e($T,o),_e(YT,o),this._scheduler=new Er(this,r,YT,$T),fw.call(this,this._ecEventProcessor=new Ds),this._messageCenter=new ls,this._initEvents(),this.resize=m(this.resize,this),this._pendingActions=[],a.animation.on("frame",this._onframe,this),vs(a,this),N(this)}function hs(t,e,i){var n,o=this._model,a=this._coordSysMgr.getCoordinateSystems();e=Vi(o,e);for(var r=0;re.get("hoverLayerThreshold")&&!U_.node&&i.traverse(function(t){t.isGroup||(t.useHoverLayer=!0)})}function Is(t,e){var i=t.get("blendMode")||null;e.group.traverse(function(t){t.isGroup||t.style.blend!==i&&t.setStyle("blend",i),t.eachPendingDisplayable&&t.eachPendingDisplayable(function(t){t.setStyle("blend",i)})})}function Ts(t,e){var i=t.get("z"),n=t.get("zlevel");e.group.traverse(function(t){"group"!==t.type&&(null!=i&&(t.z=i),null!=n&&(t.zlevel=n))})}function As(t){var e=t._coordSysMgr;return a(new Ga(t),{getCoordinateSystems:m(e.getCoordinateSystems,e),getComponentByElement:function(e){for(;e;){var i=e.__ecComponentInfo;if(null!=i)return t._model.getComponent(i.mainType,i.index);e=e.parent}}})}function Ds(){this.eventInfo}function Cs(t){function e(t,e){for(var n=0;n65535?dA:pA}function Js(t){var e=t.constructor;return e===Array?t.slice():new e(t)}function Qs(t,e){d(gA.concat(e.__wrappedMethods||[]),function(i){e.hasOwnProperty(i)&&(t[i]=e[i])}),t.__wrappedMethods=e.__wrappedMethods,d(mA,function(n){t[n]=i(e[n])}),t._calculationInfo=a(e._calculationInfo)}function tl(t,e,i,n,o){var a=cA[e.type],r=n-1,s=e.name,l=t[s][r];if(l&&l.length=0?this._indices[t]:-1}function al(t,e){var i=t._idList[e];return null==i&&(i=il(t,t._idDimIdx,e)),null==i&&(i=hA+e),i}function rl(t){return y(t)||(t=[t]),t}function sl(t,e){var i=t.dimensions,n=new vA(f(i,t.getDimensionInfo,t),t.hostModel);Qs(n,t);for(var o=n._storage={},a=t._storage,r=0;r=0?(o[s]=ll(a[s]),n._rawExtent[s]=ul(),n._extent[s]=null):o[s]=a[s])}return n}function ll(t){for(var e=new Array(t.length),i=0;in&&(r=o.interval=n);var s=o.intervalPrecision=Ml(r);return Tl(o.niceTickExtent=[MA(Math.ceil(t[0]/r)*r,s),MA(Math.floor(t[1]/r)*r,s)],t),o}function Ml(t){return Ho(t)+2}function Il(t,e,i){t[e]=Math.max(Math.min(t[e],i[1]),i[0])}function Tl(t,e){!isFinite(t[0])&&(t[0]=e[0]),!isFinite(t[1])&&(t[1]=e[1]),Il(t,0,e),Il(t,1,e),t[0]>t[1]&&(t[0]=t[1])}function Al(t,e,i,n){var o=[];if(!t)return o;e[0]1e4)return[];return e[1]>(o.length?o[o.length-1]:i[1])&&o.push(e[1]),o}function Dl(t){return t.get("stack")||AA+t.seriesIndex}function Cl(t){return t.dim+t.index}function Ll(t){var e=[],i=t.axis;if("category"===i.type){for(var n=i.getBandWidth(),o=0;o=0?"p":"n",b=m;p&&(o[r][_]||(o[r][_]={p:m,n:m}),b=o[r][_][w]);var S,M,I,T;if(g)S=b,M=(A=i.dataToPoint([x,_]))[1]+l,I=A[0]-m,T=u,Math.abs(I)a[1]?(n=a[1],o=a[0]):(n=a[0],o=a[1]);var r=e.toGlobalCoord(e.dataToCoord(0));return ro&&(r=o),r}function Vl(t,e){return VA(t,BA(e))}function Gl(t,e){var i,n,o,a=t.type,r=e.getMin(),s=e.getMax(),l=null!=r,u=null!=s,h=t.getExtent();"ordinal"===a?i=e.getCategories().length:(y(n=e.get("boundaryGap"))||(n=[n||0,n||0]),"boolean"==typeof n[0]&&(n=[0,0]),n[0]=Vo(n[0],1),n[1]=Vo(n[1],1),o=h[1]-h[0]||Math.abs(h[0])),null==r&&(r="ordinal"===a?i?0:NaN:h[0]-n[0]*o),null==s&&(s="ordinal"===a?i?i-1:NaN:h[1]+n[1]*o),"dataMin"===r?r=h[0]:"function"==typeof r&&(r=r({min:h[0],max:h[1]})),"dataMax"===s?s=h[1]:"function"==typeof s&&(s=s({min:h[0],max:h[1]})),(null==r||!isFinite(r))&&(r=NaN),(null==s||!isFinite(s))&&(s=NaN),t.setBlank(I(r)||I(s)||"ordinal"===a&&!t.getOrdinalMeta().categories.length),e.getNeedCrossZero()&&(r>0&&s>0&&!l&&(r=0),r<0&&s<0&&!u&&(s=0));var c=e.ecModel;if(c&&"time"===a){var f,p=kl("bar",c);if(d(p,function(t){f|=t.getBaseAxis()===e.axis}),f){var g=Pl(p),m=Fl(r,s,e,g);r=m.min,s=m.max}}return[r,s]}function Fl(t,e,i,n){var o=i.axis.getExtent(),a=o[1]-o[0],r=Ol(n,i.axis);if(void 0===r)return{min:t,max:e};var s=1/0;d(r,function(t){s=Math.min(t.offset,s)});var l=-1/0;d(r,function(t){l=Math.max(t.offset+t.width,l)}),s=Math.abs(s),l=Math.abs(l);var u=s+l,h=e-t,c=h/(1-(s+l)/a)-h;return e+=c*(l/u),t-=c*(s/u),{min:t,max:e}}function Wl(t,e){var i=Gl(t,e),n=null!=e.getMin(),o=null!=e.getMax(),a=e.get("splitNumber");"log"===t.type&&(t.base=e.get("logBase"));var r=t.type;t.setExtent(i[0],i[1]),t.niceExtent({splitNumber:a,fixMin:n,fixMax:o,minInterval:"interval"===r||"time"===r?e.get("minInterval"):null,maxInterval:"interval"===r||"time"===r?e.get("maxInterval"):null});var s=e.get("interval");null!=s&&t.setInterval&&t.setInterval(s)}function Hl(t,e){if(e=e||t.get("type"))switch(e){case"category":return new SA(t.getOrdinalMeta?t.getOrdinalMeta():t.getCategories(),[1/0,-1/0]);case"value":return new TA;default:return(xl.getClass(e)||TA).create(t)}}function Zl(t){var e=t.scale.getExtent(),i=e[0],n=e[1];return!(i>0&&n>0||i<0&&n<0)}function Ul(t){var e=t.getLabelModel().get("formatter"),i="category"===t.type?t.scale.getExtent()[0]:null;return"string"==typeof e?e=function(e){return function(i){return i=t.scale.getLabel(i),e.replace("{value}",null!=i?i:"")}}(e):"function"==typeof e?function(n,o){return null!=i&&(o=n-i),e(Xl(t,n),o)}:function(e){return t.scale.getLabel(e)}}function Xl(t,e){return"category"===t.type?t.scale.getLabel(e):e}function jl(t){var e=t.model,i=t.scale;if(e.get("axisLabel.show")&&!i.isBlank()){var n,o,a="category"===t.type,r=i.getExtent();o=a?i.count():(n=i.getTicks()).length;var s,l=t.getLabelModel(),u=Ul(t),h=1;o>40&&(h=Math.ceil(o/40));for(var c=0;c>1^-(1&s),l=l>>1^-(1&l),o=s+=o,a=l+=a,n.push([s/i,l/i])}return n}function ou(t){return"category"===t.type?ru(t):uu(t)}function au(t,e){return"category"===t.type?lu(t,e):{ticks:t.scale.getTicks()}}function ru(t){var e=t.getLabelModel(),i=su(t,e);return!e.get("show")||t.scale.isBlank()?{labels:[],labelCategoryInterval:i.labelCategoryInterval}:i}function su(t,e){var i=hu(t,"labels"),n=ql(e),o=cu(i,n);if(o)return o;var a,r;return a=x(n)?vu(t,n):mu(t,r="auto"===n?fu(t):n),du(i,n,{labels:a,labelCategoryInterval:r})}function lu(t,e){var i=hu(t,"ticks"),n=ql(e),o=cu(i,n);if(o)return o;var a,r;if(e.get("show")&&!t.scale.isBlank()||(a=[]),x(n))a=vu(t,n,!0);else if("auto"===n){var s=su(t,t.getLabelModel());r=s.labelCategoryInterval,a=f(s.labels,function(t){return t.tickValue})}else a=mu(t,r=n,!0);return du(i,n,{ticks:a,tickCategoryInterval:r})}function uu(t){var e=t.scale.getTicks(),i=Ul(t);return{labels:f(e,function(e,n){return{formattedLabel:i(e,n),rawLabel:t.scale.getLabel(e),tickValue:e}})}}function hu(t,e){return nD(t)[e]||(nD(t)[e]=[])}function cu(t,e){for(var i=0;i40&&(s=Math.max(1,Math.floor(r/40)));for(var l=a[0],u=t.dataToCoord(l+1)-t.dataToCoord(l),h=Math.abs(u*Math.cos(n)),c=Math.abs(u*Math.sin(n)),d=0,f=0;l<=a[1];l+=s){var p=0,g=0,m=ke(i(l),e.font,"center","top");p=1.3*m.width,g=1.3*m.height,d=Math.max(d,p,7),f=Math.max(f,g,7)}var v=d/h,y=f/c;isNaN(v)&&(v=1/0),isNaN(y)&&(y=1/0);var x=Math.max(0,Math.floor(Math.min(v,y))),_=nD(t.model),w=_.lastAutoInterval,b=_.lastTickCount;return null!=w&&null!=b&&Math.abs(w-x)<=1&&Math.abs(b-r)<=1&&w>x?x=w:(_.lastTickCount=r,_.lastAutoInterval=x),x}function gu(t){var e=t.getLabelModel();return{axisRotate:t.getRotate?t.getRotate():t.isHorizontal&&!t.isHorizontal()?90:0,labelRotate:e.get("rotate")||0,font:e.getFont()}}function mu(t,e,i){function n(t){l.push(i?t:{formattedLabel:o(t),rawLabel:a.getLabel(t),tickValue:t})}var o=Ul(t),a=t.scale,r=a.getExtent(),s=t.getLabelModel(),l=[],u=Math.max((e||0)+1,1),h=r[0],c=a.count();0!==h&&u>1&&c/u>2&&(h=Math.round(Math.ceil(h/u)*u));var d=Kl(t),f=s.get("showMinLabel")||d,p=s.get("showMaxLabel")||d;f&&h!==r[0]&&n(r[0]);for(var g=h;g<=r[1];g+=u)n(g);return p&&g!==r[1]&&n(r[1]),l}function vu(t,e,i){var n=t.scale,o=Ul(t),a=[];return d(n.getTicks(),function(t){var r=n.getLabel(t);e(t,r)&&a.push(i?t:{formattedLabel:o(t),rawLabel:r,tickValue:t})}),a}function yu(t,e){var i=(t[1]-t[0])/e/2;t[0]+=i,t[1]-=i}function xu(t,e,i,n,o){function a(t,e){return h?t>e:t0&&(t.coord-=u/(2*(e+1)))}),s={coord:e[r-1].coord+u},e.push(s)}var h=l[0]>l[1];a(e[0].coord,l[0])&&(o?e[0].coord=l[0]:e.shift()),o&&a(l[0],e[0].coord)&&e.unshift({coord:l[0]}),a(l[1],s.coord)&&(o?s.coord=l[1]:e.pop()),o&&a(s.coord,l[1])&&e.push({coord:l[1]})}}function _u(t,e){var i=t.mapDimension("defaultedLabel",!0),n=i.length;if(1===n)return fr(t,e,i[0]);if(n){for(var o=[],a=0;a0?i=n[0]:n[1]<0&&(i=n[1]),i}function Ou(t,e,i,n){var o=NaN;t.stacked&&(o=i.get(i.getCalculationInfo("stackedOverDimension"),n)),isNaN(o)&&(o=t.valueStart);var a=t.baseDataOffset,r=[];return r[a]=i.get(t.baseDim,n),r[1-a]=o,e.dataToPoint(r)}function Eu(t,e){var i=[];return e.diff(t).add(function(t){i.push({cmd:"+",idx:t})}).update(function(t,e){i.push({cmd:"=",idx:e,idx1:t})}).remove(function(t){i.push({cmd:"-",idx:t})}).execute(),i}function Ru(t){return isNaN(t[0])||isNaN(t[1])}function zu(t,e,i,n,o,a,r,s,l,u,h){return"none"!==u&&u?Bu.apply(this,arguments):Vu.apply(this,arguments)}function Bu(t,e,i,n,o,a,r,s,l,u,h){for(var c=0,d=i,f=0;f=o||d<0)break;if(Ru(p)){if(h){d+=a;continue}break}if(d===i)t[a>0?"moveTo":"lineTo"](p[0],p[1]);else if(l>0){var g=e[c],m="y"===u?1:0,v=(p[m]-g[m])*l;_D(bD,g),bD[m]=g[m]+v,_D(SD,p),SD[m]=p[m]-v,t.bezierCurveTo(bD[0],bD[1],SD[0],SD[1],p[0],p[1])}else t.lineTo(p[0],p[1]);c=d,d+=a}return f}function Vu(t,e,i,n,o,a,r,s,l,u,h){for(var c=0,d=i,f=0;f=o||d<0)break;if(Ru(p)){if(h){d+=a;continue}break}if(d===i)t[a>0?"moveTo":"lineTo"](p[0],p[1]),_D(bD,p);else if(l>0){var g=d+a,m=e[g];if(h)for(;m&&Ru(e[g]);)m=e[g+=a];var v=.5,y=e[c];if(!(m=e[g])||Ru(m))_D(SD,p);else{Ru(m)&&!h&&(m=p),U(wD,m,y);var x,_;if("x"===u||"y"===u){var w="x"===u?0:1;x=Math.abs(p[w]-y[w]),_=Math.abs(p[w]-m[w])}else x=uw(p,y),_=uw(p,m);xD(SD,p,wD,-l*(1-(v=_/(_+x))))}vD(bD,bD,s),yD(bD,bD,r),vD(SD,SD,s),yD(SD,SD,r),t.bezierCurveTo(bD[0],bD[1],SD[0],SD[1],p[0],p[1]),xD(bD,p,wD,l*v)}else t.lineTo(p[0],p[1]);c=d,d+=a}return f}function Gu(t,e){var i=[1/0,1/0],n=[-1/0,-1/0];if(e)for(var o=0;on[0]&&(n[0]=a[0]),a[1]>n[1]&&(n[1]=a[1])}return{min:e?i:n,max:e?n:i}}function Fu(t,e){if(t.length===e.length){for(var i=0;ie[0]?1:-1;e[0]+=n*i,e[1]-=n*i}return e}function Zu(t,e,i){if(!i.valueDim)return[];for(var n=[],o=0,a=e.count();oa[1]&&a.reverse();var r=o.getExtent(),s=Math.PI/180;i&&(a[0]-=.5,a[1]+=.5);var l=new hM({shape:{cx:Go(t.cx,1),cy:Go(t.cy,1),r0:Go(a[0],1),r:Go(a[1],1),startAngle:-r[0]*s,endAngle:-r[1]*s,clockwise:o.inverse}});return e&&(l.shape.endAngle=-r[0]*s,To(l,{shape:{endAngle:-r[1]*s}},n)),l}function ju(t,e,i,n){return"polar"===t.type?Xu(t,e,i,n):Uu(t,e,i,n)}function Yu(t,e,i){for(var n=e.getBaseAxis(),o="x"===n.dim||"radius"===n.dim?0:1,a=[],r=0;r=0;a--){var r=i[a].dimension,s=t.dimensions[r],l=t.getDimensionInfo(s);if("x"===(n=l&&l.coordDim)||"y"===n){o=i[a];break}}if(o){var u=e.getAxis(n),h=f(o.stops,function(t){return{coord:u.toGlobalCoord(u.dataToCoord(t.value)),color:t.color}}),c=h.length,p=o.outerColors.slice();c&&h[0].coord>h[c-1].coord&&(h.reverse(),p.reverse());var g=h[0].coord-10,m=h[c-1].coord+10,v=m-g;if(v<.001)return"transparent";d(h,function(t){t.offset=(t.coord-g)/v}),h.push({offset:c?h[c-1].offset:.5,color:p[1]||"transparent"}),h.unshift({offset:c?h[0].offset:.5,color:p[0]||"transparent"});var y=new TM(0,0,0,0,h,!0);return y[n]=g,y[n+"2"]=m,y}}}function Ku(t,e,i){var n=t.get("showAllSymbol"),o="auto"===n;if(!n||o){var a=i.getAxesByScale("ordinal")[0];if(a&&(!o||!$u(a,e))){var r=e.mapDimension(a.dim),s={};return d(a.getViewLabels(),function(t){s[t.tickValue]=1}),function(t){return!s.hasOwnProperty(e.get(r,t))}}}}function $u(t,e){var i=t.getExtent(),n=Math.abs(i[1]-i[0])/t.scale.count();isNaN(n)&&(n=0);for(var o=e.count(),a=Math.max(1,Math.round(o/5)),r=0;rn)return!1;return!0}function Ju(t){return this._axes[t]}function Qu(t){LD.call(this,t)}function th(t,e){return e.type||(e.data?"category":"value")}function eh(t,e,i){return t.getCoordSysModel()===e}function ih(t,e,i){this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this._initCartesian(t,e,i),this.model=t}function nh(t,e,i,n){function o(t){return t.dim+"_"+t.index}i.getAxesOnZeroOf=function(){return a?[a]:[]};var a,r=t[e],s=i.model,l=s.get("axisLine.onZero"),u=s.get("axisLine.onZeroAxisIndex");if(l){if(null!=u)oh(r[u])&&(a=r[u]);else for(var h in r)if(r.hasOwnProperty(h)&&oh(r[h])&&!n[o(r[h])]){a=r[h];break}a&&(n[o(a)]=!0)}}function oh(t){return t&&"category"!==t.type&&"time"!==t.type&&Zl(t)}function ah(t,e){var i=t.getExtent(),n=i[0]+i[1];t.toGlobalCoord="x"===t.dim?function(t){return t+e}:function(t){return n-t+e},t.toLocalCoord="x"===t.dim?function(t){return t-e}:function(t){return n-t+e}}function rh(t,e){return f(VD,function(e){return t.getReferringComponents(e)[0]})}function sh(t){return"cartesian2d"===t.get("coordinateSystem")}function lh(t){var e={componentType:t.mainType,componentIndex:t.componentIndex};return e[t.mainType+"Index"]=t.componentIndex,e}function uh(t,e,i,n){var o,a,r=Xo(i-t.rotation),s=n[0]>n[1],l="start"===e&&!s||"start"!==e&&s;return jo(r-GD/2)?(a=l?"bottom":"top",o="center"):jo(r-1.5*GD)?(a=l?"top":"bottom",o="center"):(a="middle",o=r<1.5*GD&&r>GD/2?l?"left":"right":l?"right":"left"),{rotation:r,textAlign:o,textVerticalAlign:a}}function hh(t){var e=t.get("tooltip");return t.get("silent")||!(t.get("triggerEvent")||e&&e.show)}function ch(t,e,i){if(!Kl(t.axis)){var n=t.get("axisLabel.showMinLabel"),o=t.get("axisLabel.showMaxLabel");e=e||[],i=i||[];var a=e[0],r=e[1],s=e[e.length-1],l=e[e.length-2],u=i[0],h=i[1],c=i[i.length-1],d=i[i.length-2];!1===n?(dh(a),dh(u)):fh(a,r)&&(n?(dh(r),dh(h)):(dh(a),dh(u))),!1===o?(dh(s),dh(c)):fh(l,s)&&(o?(dh(l),dh(d)):(dh(s),dh(c)))}}function dh(t){t&&(t.ignore=!0)}function fh(t,e,i){var n=t&&t.getBoundingRect().clone(),o=e&&e.getBoundingRect().clone();if(n&&o){var a=_t([]);return Mt(a,a,-t.rotation),n.applyTransform(bt([],a,t.getLocalTransform())),o.applyTransform(bt([],a,e.getLocalTransform())),n.intersect(o)}}function ph(t){return"middle"===t||"center"===t}function gh(t,e,i){var n=e.axis;if(e.get("axisTick.show")&&!n.scale.isBlank()){for(var o=e.getModel("axisTick"),a=o.getModel("lineStyle"),s=o.get("length"),l=n.getTicksCoords(),u=[],h=[],c=t._transform,d=[],f=0;f=0||t===e}function Sh(t){var e=Mh(t);if(e){var i=e.axisPointerModel,n=e.axis.scale,o=i.option,a=i.get("status"),r=i.get("value");null!=r&&(r=n.parse(r));var s=Th(i);null==a&&(o.status=s?"show":"hide");var l=n.getExtent().slice();l[0]>l[1]&&l.reverse(),(null==r||r>l[1])&&(r=l[1]),r0?"bottom":"top":o.width>0?"left":"right";l||kh(t.style,d,n,u,a,i,p),fo(t,d)}function Rh(t,e){var i=t.get(tC)||0;return Math.min(i,Math.abs(e.width),Math.abs(e.height))}function zh(t,e,i){var n=t.getData(),o=[],a=n.getLayout("valueAxisHorizontal")?1:0;o[1-a]=n.getLayout("valueAxisStart");var r=new nC({shape:{points:n.getLayout("largePoints")},incremental:!!i,__startPoint:o,__valueIdx:a});e.add(r),Bh(r,t,n)}function Bh(t,e,i){var n=i.getVisual("borderColor")||i.getVisual("color"),o=e.getModel("itemStyle").getItemStyle(["color","borderColor"]);t.useStyle(o),t.style.fill=null,t.style.stroke=n,t.style.lineWidth=i.getLayout("barWidth")}function Vh(t,e,i,n){var o=e.getData(),a=this.dataIndex,r=o.getName(a),s=e.get("selectedOffset");n.dispatchAction({type:"pieToggleSelect",from:t,name:r,seriesId:e.id}),o.each(function(t){Gh(o.getItemGraphicEl(t),o.getItemLayout(t),e.isSelected(o.getName(t)),s,i)})}function Gh(t,e,i,n,o){var a=(e.startAngle+e.endAngle)/2,r=Math.cos(a),s=Math.sin(a),l=i?n:0,u=[r*l,s*l];o?t.animate().when(200,{position:u}).start("bounceOut"):t.attr("position",u)}function Fh(t,e){function i(){a.ignore=a.hoverIgnore,r.ignore=r.hoverIgnore}function n(){a.ignore=a.normalIgnore,r.ignore=r.normalIgnore}tb.call(this);var o=new hM({z2:2}),a=new gM,r=new rM;this.add(o),this.add(a),this.add(r),this.updateData(t,e,!0),this.on("emphasis",i).on("normal",n).on("mouseover",i).on("mouseout",n)}function Wh(t,e,i,n,o,a,r){function s(e,i){for(var n=e;n>=0&&(t[n].y-=i,!(n>0&&t[n].y>t[n-1].y+t[n-1].height));n--);}function l(t,e,i,n,o,a){for(var r=e?Number.MAX_VALUE:0,s=0,l=t.length;s=r&&(d=r-10),!e&&d<=r&&(d=r+10),t[s].x=i+d*a,r=d}}t.sort(function(t,e){return t.y-e.y});for(var u,h=0,c=t.length,d=[],f=[],p=0;pe&&a+1t[a].y+t[a].height)return void s(a,n/2);s(i-1,n/2)}(p,c,-u),h=t[p].y+t[p].height;r-h<0&&s(c-1,h-r);for(p=0;p=i?f.push(t[p]):d.push(t[p]);l(d,!1,e,i,n,o),l(f,!0,e,i,n,o)}function Hh(t,e,i,n,o,a){for(var r=[],s=[],l=0;l3?1.4:o>1?1.2:1.1;hc(this,"zoom","zoomOnMouseWheel",t,{scale:n>0?s:1/s,originX:a,originY:r})}if(i){var l=Math.abs(n);hc(this,"scrollMove","moveOnMouseWheel",t,{scrollDelta:(n>0?1:-1)*(l>3?.4:l>1?.15:.05),originX:a,originY:r})}}}function uc(t){ic(this._zr,"globalPan")||hc(this,"zoom",null,t,{scale:t.pinchScale>1?1.1:1/1.1,originX:t.pinchX,originY:t.pinchY})}function hc(t,e,i,n,o){t.pointerChecker&&t.pointerChecker(n,o.originX,o.originY)&&(mw(n.event),cc(t,e,i,n,o))}function cc(t,e,i,n,o){o.isAvailableBehavior=m(dc,null,i,n),t.trigger(e,o)}function dc(t,e,i){var n=i[t];return!t||n&&(!_(n)||e.event[n+"Key"])}function fc(t,e,i){var n=t.target,o=n.position;o[0]+=e,o[1]+=i,n.dirty()}function pc(t,e,i,n){var o=t.target,a=t.zoomLimit,r=o.position,s=o.scale,l=t.zoom=t.zoom||1;if(l*=e,a){var u=a.min||0,h=a.max||1/0;l=Math.max(Math.min(h,l),u)}var c=l/t.zoom;t.zoom=l,r[0]-=(i-r[0])*(c-1),r[1]-=(n-r[1])*(c-1),s[0]*=c,s[1]*=c,o.dirty()}function gc(t,e,i){var n=e.getComponentByElement(t.topTarget),o=n&&n.coordinateSystem;return n&&n!==i&&!RC[n.mainType]&&o&&o.model!==i}function mc(t,e){var i=t.getItemStyle(),n=t.get("areaColor");return null!=n&&(i.fill=n),i}function vc(t,e,i,n,o){i.off("click"),i.off("mousedown"),e.get("selectedMode")&&(i.on("mousedown",function(){t._mouseDownFlag=!0}),i.on("click",function(a){if(t._mouseDownFlag){t._mouseDownFlag=!1;for(var r=a.target;!r.__regions;)r=r.parent;if(r){var s={type:("geo"===e.mainType?"geo":"map")+"ToggleSelect",batch:f(r.__regions,function(t){return{name:t.name,from:o.uid}})};s[e.mainType+"Id"]=e.id,n.dispatchAction(s),yc(e,i)}}}))}function yc(t,e){e.eachChild(function(e){d(e.__regions,function(i){e.trigger(t.isSelected(i.name)?"emphasis":"normal")})})}function xc(t,e){var i=new tb;this.uid=Ro("ec_map_draw"),this._controller=new oc(t.getZr()),this._controllerHost={target:e?i:null},this.group=i,this._updateGroup=e,this._mouseDownFlag,this._mapName,this._initialized,i.add(this._regionsGroup=new tb),i.add(this._backgroundGroup=new tb)}function _c(t){var e=this[zC];e&&e.recordVersion===this[BC]&&wc(e,t)}function wc(t,e){var i=t.circle,n=t.labelModel,o=t.hoverLabelModel,a=t.emphasisText,r=t.normalText;e?(i.style.extendFrom(mo({},o,{text:o.get("show")?a:null},{isRectText:!0,useInsideStyle:!1},!0)),i.__mapOriginalZ2=i.z2,i.z2+=NM):(mo(i.style,n,{text:n.get("show")?r:null,textPosition:n.getShallow("position")||"bottom"},{isRectText:!0,useInsideStyle:!1}),i.dirty(!1),null!=i.__mapOriginalZ2&&(i.z2=i.__mapOriginalZ2,i.__mapOriginalZ2=null))}function bc(t,e,i){var n=t.getZoom(),o=t.getCenter(),a=e.zoom,r=t.dataToPoint(o);if(null!=e.dx&&null!=e.dy){r[0]-=e.dx,r[1]-=e.dy;o=t.pointToData(r);t.setCenter(o)}if(null!=a){if(i){var s=i.min||0,l=i.max||1/0;a=Math.max(Math.min(n*a,l),s)/n}t.scale[0]*=a,t.scale[1]*=a;var u=t.position,h=(e.originX-u[0])*(a-1),c=(e.originY-u[1])*(a-1);u[0]-=h,u[1]-=c,t.updateTransform();o=t.pointToData(r);t.setCenter(o),t.setZoom(a*n)}return{center:t.getCenter(),zoom:t.getZoom()}}function Sc(){Tw.call(this)}function Mc(t){this.name=t,this.zoomLimit,Tw.call(this),this._roamTransformable=new Sc,this._rawTransformable=new Sc,this._center,this._zoom}function Ic(t,e,i,n){var o=i.seriesModel,a=o?o.coordinateSystem:null;return a===this?a[t](n):null}function Tc(t,e,i,n){Mc.call(this,t),this.map=e;var o=OC.load(e,i);this._nameCoordMap=o.nameCoordMap,this._regionsMap=o.regionsMap,this._invertLongitute=null==n||n,this.regions=o.regions,this._rect=o.boundingRect}function Ac(t,e,i,n){var o=i.geoModel,a=i.seriesModel,r=o?o.coordinateSystem:a?a.coordinateSystem||(a.getReferringComponents("geo")[0]||{}).coordinateSystem:null;return r===this?r[t](n):null}function Dc(t,e){var i=t.get("boundingCoords");if(null!=i){var n=i[0],o=i[1];isNaN(n[0])||isNaN(n[1])||isNaN(o[0])||isNaN(o[1])||this.setBoundingRect(n[0],n[1],o[0]-n[0],o[1]-n[1])}var a,r=this.getBoundingRect(),s=t.get("layoutCenter"),l=t.get("layoutSize"),u=e.getWidth(),h=e.getHeight(),c=r.width/r.height*this.aspectScale,d=!1;s&&l&&(s=[Vo(s[0],u),Vo(s[1],h)],l=Vo(l,Math.min(u,h)),isNaN(s[0])||isNaN(s[1])||isNaN(l)||(d=!0));if(d){var f={};c>1?(f.width=l,f.height=l/c):(f.height=l,f.width=l*c),f.y=s[1]-f.height/2,f.x=s[0]-f.width/2}else(a=t.getBoxLayoutParams()).aspect=c,f=ca(a,{width:u,height:h});this.setViewRect(f.x,f.y,f.width,f.height),this.setCenter(t.get("center")),this.setZoom(t.get("zoom"))}function Cc(t,e){d(e.get("geoCoord"),function(e,i){t.addGeoCoord(i,e)})}function Lc(t,e){var i={};return d(t,function(t){t.each(t.mapDimension("value"),function(e,n){var o="ec-"+t.getName(n);i[o]=i[o]||[],isNaN(e)||i[o].push(e)})}),t[0].map(t[0].mapDimension("value"),function(n,o){for(var a="ec-"+t[0].getName(o),r=0,s=1/0,l=-1/0,u=i[a].length,h=0;h=0;o--){var a=i[o];a.hierNode={defaultAncestor:null,ancestor:a,prelim:0,modifier:0,change:0,shift:0,i:o,thread:null},n.push(a)}}function Wc(t,e){var i=t.isExpand?t.children:[],n=t.parentNode.children,o=t.hierNode.i?n[t.hierNode.i-1]:null;if(i.length){jc(t);var a=(i[0].hierNode.prelim+i[i.length-1].hierNode.prelim)/2;o?(t.hierNode.prelim=o.hierNode.prelim+e(t,o),t.hierNode.modifier=t.hierNode.prelim-a):t.hierNode.prelim=a}else o&&(t.hierNode.prelim=o.hierNode.prelim+e(t,o));t.parentNode.hierNode.defaultAncestor=Yc(t,o,t.parentNode.hierNode.defaultAncestor||n[0],e)}function Hc(t){var e=t.hierNode.prelim+t.parentNode.hierNode.modifier;t.setLayout({x:e},!0),t.hierNode.modifier+=t.parentNode.hierNode.modifier}function Zc(t){return arguments.length?t:Qc}function Uc(t,e){var i={};return t-=Math.PI/2,i.x=e*Math.cos(t),i.y=e*Math.sin(t),i}function Xc(t,e){return ca(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function jc(t){for(var e=t.children,i=e.length,n=0,o=0;--i>=0;){var a=e[i];a.hierNode.prelim+=n,a.hierNode.modifier+=n,o+=a.hierNode.change,n+=a.hierNode.shift+o}}function Yc(t,e,i,n){if(e){for(var o=t,a=t,r=a.parentNode.children[0],s=e,l=o.hierNode.modifier,u=a.hierNode.modifier,h=r.hierNode.modifier,c=s.hierNode.modifier;s=qc(s),a=Kc(a),s&&a;){o=qc(o),r=Kc(r),o.hierNode.ancestor=t;var d=s.hierNode.prelim+c-a.hierNode.prelim-u+n(s,a);d>0&&(Jc($c(s,t,i),t,d),u+=d,l+=d),c+=s.hierNode.modifier,u+=a.hierNode.modifier,l+=o.hierNode.modifier,h+=r.hierNode.modifier}s&&!qc(o)&&(o.hierNode.thread=s,o.hierNode.modifier+=c-l),a&&!Kc(r)&&(r.hierNode.thread=a,r.hierNode.modifier+=u-h,i=t)}return i}function qc(t){var e=t.children;return e.length&&t.isExpand?e[e.length-1]:t.hierNode.thread}function Kc(t){var e=t.children;return e.length&&t.isExpand?e[0]:t.hierNode.thread}function $c(t,e,i){return t.hierNode.ancestor.parentNode===e.parentNode?t.hierNode.ancestor:i}function Jc(t,e,i){var n=i/(e.hierNode.i-t.hierNode.i);e.hierNode.change-=n,e.hierNode.shift+=i,e.hierNode.modifier+=i,e.hierNode.prelim+=i,t.hierNode.change+=n}function Qc(t,e){return t.parentNode===e.parentNode?1:2}function td(t,e){var i=t.getItemLayout(e);return i&&!isNaN(i.x)&&!isNaN(i.y)&&"none"!==t.getItemVisual(e,"symbol")}function ed(t,e,i){return i.itemModel=e,i.itemStyle=e.getModel("itemStyle").getItemStyle(),i.hoverItemStyle=e.getModel("emphasis.itemStyle").getItemStyle(),i.lineStyle=e.getModel("lineStyle").getLineStyle(),i.labelModel=e.getModel("label"),i.hoverLabelModel=e.getModel("emphasis.label"),!1===t.isExpand&&0!==t.children.length?i.symbolInnerColor=i.itemStyle.fill:i.symbolInnerColor="#fff",i}function id(t,e,i,n,o,a){var s=!i,l=t.tree.getNodeByDataIndex(e),a=ed(l,l.getModel(),a),u=t.tree.root,h=l.parentNode===u?l:l.parentNode||l,c=t.getItemGraphicEl(h.dataIndex),d=h.getLayout(),f=c?{x:c.position[0],y:c.position[1],rawX:c.__radialOldRawX,rawY:c.__radialOldRawY}:d,p=l.getLayout();s?(i=new wu(t,e,a)).attr("position",[f.x,f.y]):i.updateData(t,e,a),i.__radialOldRawX=i.__radialRawX,i.__radialOldRawY=i.__radialRawY,i.__radialRawX=p.rawX,i.__radialRawY=p.rawY,n.add(i),t.setItemGraphicEl(e,i),Io(i,{position:[p.x,p.y]},o);var g=i.getSymbolPath();if("radial"===a.layout){var m,v,y=u.children[0],x=y.getLayout(),_=y.children.length;if(p.x===x.x&&!0===l.isExpand){var w={};w.x=(y.children[0].getLayout().x+y.children[_-1].getLayout().x)/2,w.y=(y.children[0].getLayout().y+y.children[_-1].getLayout().y)/2,(m=Math.atan2(w.y-x.y,w.x-x.x))<0&&(m=2*Math.PI+m),(v=w.xx.x)||(m-=Math.PI);var b=v?"left":"right";g.setStyle({textPosition:b,textRotation:-m,textOrigin:"center",verticalAlign:"middle"})}if(l.parentNode&&l.parentNode!==u){var S=i.__edge;S||(S=i.__edge=new bM({shape:od(a,f,f),style:r({opacity:0,strokeNoScale:!0},a.lineStyle)})),Io(S,{shape:od(a,d,p),style:{opacity:1}},o),n.add(S)}}function nd(t,e,i,n,o,a){for(var r,s=t.tree.getNodeByDataIndex(e),l=t.tree.root,a=ed(s,s.getModel(),a),u=s.parentNode===l?s:s.parentNode||s;null==(r=u.getLayout());)u=u.parentNode===l?u:u.parentNode||u;Io(i,{position:[r.x+1,r.y+1]},o,function(){n.remove(i),t.setItemGraphicEl(e,null)}),i.fadeOut(null,{keepLabel:!0});var h=i.__edge;h&&Io(h,{shape:od(a,r,r),style:{opacity:0}},o,function(){n.remove(h)})}function od(t,e,i){var n,o,a,r,s,l,u,h,c=t.orient;if("radial"===t.layout){s=e.rawX,u=e.rawY,l=i.rawX,h=i.rawY;var d=Uc(s,u),f=Uc(s,u+(h-u)*t.curvature),p=Uc(l,h+(u-h)*t.curvature),g=Uc(l,h);return{x1:d.x,y1:d.y,x2:g.x,y2:g.y,cpx1:f.x,cpy1:f.y,cpx2:p.x,cpy2:p.y}}return s=e.x,u=e.y,l=i.x,h=i.y,"LR"!==c&&"RL"!==c||(n=s+(l-s)*t.curvature,o=u,a=l+(s-l)*t.curvature,r=h),"TB"!==c&&"BT"!==c||(n=s,o=u+(h-u)*t.curvature,a=l,r=h+(u-h)*t.curvature),{x1:s,y1:u,x2:l,y2:h,cpx1:n,cpy1:o,cpx2:a,cpy2:r}}function ad(t,e,i){for(var n,o=[t],a=[];n=o.pop();)if(a.push(n),n.isExpand){var r=n.children;if(r.length)for(var s=0;s=0;a--)n.push(o[a])}}function sd(t,e){var i=Xc(t,e);t.layoutInfo=i;var n=t.get("layout"),o=0,a=0,r=null;"radial"===n?(o=2*Math.PI,a=Math.min(i.height,i.width)/2,r=Zc(function(t,e){return(t.parentNode===e.parentNode?1:2)/t.depth})):(o=i.width,a=i.height,r=Zc());var s=t.getData().tree.root,l=s.children[0];if(l){Fc(s),ad(l,Wc,r),s.hierNode.modifier=-l.hierNode.prelim,rd(l,Hc);var u=l,h=l,c=l;rd(l,function(t){var e=t.getLayout().x;eh.getLayout().x&&(h=t),t.depth>c.depth&&(c=t)});var d=u===h?1:r(u,h)/2,f=d-u.getLayout().x,p=0,g=0,m=0,v=0;if("radial"===n)p=o/(h.getLayout().x+d+f),g=a/(c.depth-1||1),rd(l,function(t){m=(t.getLayout().x+f)*p,v=(t.depth-1)*g;var e=Uc(m,v);t.setLayout({x:e.x,y:e.y,rawX:m,rawY:v},!0)});else{var y=t.getOrient();"RL"===y||"LR"===y?(g=a/(h.getLayout().x+d+f),p=o/(c.depth-1||1),rd(l,function(t){v=(t.getLayout().x+f)*g,m="LR"===y?(t.depth-1)*p:o-(t.depth-1)*p,t.setLayout({x:m,y:v},!0)})):"TB"!==y&&"BT"!==y||(p=o/(h.getLayout().x+d+f),g=a/(c.depth-1||1),rd(l,function(t){m=(t.getLayout().x+f)*p,v="TB"===y?(t.depth-1)*g:a-(t.depth-1)*g,t.setLayout({x:m,y:v},!0)}))}}}function ld(t,e,i){if(t&&l(e,t.type)>=0){var n=i.getData().tree.root,o=t.targetNode;if("string"==typeof o&&(o=n.getNodeById(o)),o&&n.contains(o))return{node:o};var a=t.targetNodeId;if(null!=a&&(o=n.getNodeById(a)))return{node:o}}}function ud(t){for(var e=[];t;)(t=t.parentNode)&&e.push(t);return e.reverse()}function hd(t,e){return l(ud(t),e)>=0}function cd(t,e){for(var i=[];t;){var n=t.dataIndex;i.push({name:t.name,dataIndex:n,value:e.getRawValue(n)}),t=t.parentNode}return i.reverse(),i}function dd(t){var e=0;d(t.children,function(t){dd(t);var i=t.value;y(i)&&(i=i[0]),e+=i});var i=t.value;y(i)&&(i=i[0]),(null==i||isNaN(i))&&(i=e),i<0&&(i=0),y(t.value)?t.value[0]=i:t.value=i}function fd(t,e){var i=e.get("color");if(i){var n;return d(t=t||[],function(t){var e=new No(t),i=e.get("color");(e.get("itemStyle.color")||i&&"none"!==i)&&(n=!0)}),n||((t[0]||(t[0]={})).color=i.slice()),t}}function pd(t){this.group=new tb,t.add(this.group)}function gd(t,e,i,n,o,a){var r=[[o?t:t-UC,e],[t+i,e],[t+i,e+n],[o?t:t-UC,e+n]];return!a&&r.splice(2,0,[t+i+UC,e+n/2]),!o&&r.push([t,e+n/2]),r}function md(t,e,i){t.eventData={componentType:"series",componentSubType:"treemap",componentIndex:e.componentIndex,seriesIndex:e.componentIndex,seriesName:e.name,seriesType:"treemap",selfType:"breadcrumb",nodeData:{dataIndex:i&&i.dataIndex,name:i&&i.name},treePathInfo:i&&cd(i,e)}}function vd(){var t,e=[],i={};return{add:function(t,n,o,a,r){return _(a)&&(r=a,a=0),!i[t.id]&&(i[t.id]=1,e.push({el:t,target:n,time:o,delay:a,easing:r}),!0)},done:function(e){return t=e,this},start:function(){for(var n=e.length,o=0,a=e.length;o=0;a--)null==i[a]&&(delete n[e[a]],e.pop())}function bd(t,e){var i=t.visual,n=[];w(i)?sL(i,function(t){n.push(t)}):null!=i&&n.push(i);var o={color:1,symbol:1};e||1!==n.length||o.hasOwnProperty(t.type)||(n[1]=n[0]),Ld(t,n)}function Sd(t){return{applyVisual:function(e,i,n){e=this.mapValueToVisual(e),n("color",t(i("color"),e))},_doMap:Dd([0,1])}}function Md(t){var e=this.option.visual;return e[Math.round(Bo(t,[0,1],[0,e.length-1],!0))]||{}}function Id(t){return function(e,i,n){n(t,this.mapValueToVisual(e))}}function Td(t){var e=this.option.visual;return e[this.option.loop&&t!==uL?t%e.length:t]}function Ad(){return this.option.visual[0]}function Dd(t){return{linear:function(e){return Bo(e,t,this.option.visual,!0)},category:Td,piecewise:function(e,i){var n=Cd.call(this,i);return null==n&&(n=Bo(e,t,this.option.visual,!0)),n},fixed:Ad}}function Cd(t){var e=this.option,i=e.pieceList;if(e.hasSpecialVisual){var n=i[hL.findPieceIndex(t,i)];if(n&&n.visual)return n.visual[this.type]}}function Ld(t,e){return t.visual=e,"color"===t.type&&(t.parsedVisual=f(e,function(t){return Gt(t)})),e}function kd(t,e,i){return t?e<=i:e=o.length||t===o[t.depth])&&Pd(t,Vd(r,h,t,e,g,a),i,n,o,a)})}else l=Od(h),t.setVisual("color",l)}}function Nd(t,e,i,n){var o=a({},e);return d(["color","colorAlpha","colorSaturation"],function(a){var r=t.get(a,!0);null==r&&i&&(r=i[a]),null==r&&(r=e[a]),null==r&&(r=n.get(a)),null!=r&&(o[a]=r)}),o}function Od(t){var e=Rd(t,"color");if(e){var i=Rd(t,"colorAlpha"),n=Rd(t,"colorSaturation");return n&&(e=jt(e,null,null,n)),i&&(e=Yt(e,i)),e}}function Ed(t,e){return null!=e?jt(e,null,null,t):null}function Rd(t,e){var i=t[e];if(null!=i&&"none"!==i)return i}function zd(t,e,i,n,o,a){if(a&&a.length){var r=Bd(e,"color")||null!=o.color&&"none"!==o.color&&(Bd(e,"colorAlpha")||Bd(e,"colorSaturation"));if(r){var s=e.get("visualMin"),l=e.get("visualMax"),u=i.dataExtent.slice();null!=s&&su[1]&&(u[1]=l);var h=e.get("colorMappingBy"),c={type:r.name,dataExtent:u,visual:r.range};"color"!==c.type||"index"!==h&&"id"!==h?c.mappingMethod="linear":(c.mappingMethod="category",c.loop=!0);var d=new hL(c);return d.__drColorMappingBy=h,d}}}function Bd(t,e){var i=t.get(e);return fL(i)&&i.length?{name:e,range:i}:null}function Vd(t,e,i,n,o,r){var s=a({},e);if(o){var l=o.type,u="color"===l&&o.__drColorMappingBy,h="index"===u?n:"id"===u?r.mapIdToIndex(i.getId()):i.getValue(t.get("visualDimension"));s[l]=o.mapValueToVisual(h)}return s}function Gd(t,e,i,n){var o,a;if(!t.isRemoved()){var r=t.getLayout();o=r.width,a=r.height;var s=(f=t.getModel()).get(_L),l=f.get(wL)/2,u=Kd(f),h=Math.max(s,u),c=s-l,d=h-l,f=t.getModel();t.setLayout({borderWidth:s,upperHeight:h,upperLabelHeight:u},!0);var p=(o=mL(o-2*c,0))*(a=mL(a-c-d,0)),g=Fd(t,f,p,e,i,n);if(g.length){var m={x:c,y:d,width:o,height:a},v=vL(o,a),y=1/0,x=[];x.area=0;for(var _=0,w=g.length;_=0;l--){var u=o["asc"===n?r-l-1:l].getValue();u/i*es[1]&&(s[1]=e)})}else s=[NaN,NaN];return{sum:n,dataExtent:s}}function Ud(t,e,i){for(var n,o=0,a=1/0,r=0,s=t.length;ro&&(o=n));var l=t.area*t.area,u=e*e*i;return l?mL(u*o/l,l/(u*a)):1/0}function Xd(t,e,i,n,o){var a=e===i.width?0:1,r=1-a,s=["x","y"],l=["width","height"],u=i[s[a]],h=e?t.area/e:0;(o||h>i[l[r]])&&(h=i[l[r]]);for(var c=0,d=t.length;cXM&&(u=XM),a=s}u=0?n+=u:n-=u:p>=0?n-=u:n+=u}return n}function pf(t,e){return t.getVisual("opacity")||t.getModel().get(e)}function gf(t,e,i){var n=t.getGraphicEl(),o=pf(t,e);null!=i&&(null==o&&(o=1),o*=i),n.downplay&&n.downplay(),n.traverse(function(t){if("group"!==t.type){var e=t.lineLabelOriginalOpacity;null!=e&&null==i||(e=o),t.setStyle("opacity",e)}})}function mf(t,e){var i=pf(t,e),n=t.getGraphicEl();n.highlight&&n.highlight(),n.traverse(function(t){"group"!==t.type&&t.setStyle("opacity",i)})}function vf(t){return t instanceof Array||(t=[t,t]),t}function yf(t){var e=t.coordinateSystem;if(!e||"view"===e.type){var i=t.getGraph();i.eachNode(function(t){var e=t.getModel();t.setLayout([+e.get("x"),+e.get("y")])}),xf(i)}}function xf(t){t.eachEdge(function(t){var e=t.getModel().get("lineStyle.curveness")||0,i=F(t.node1.getLayout()),n=F(t.node2.getLayout()),o=[i,n];+e&&o.push([(i[0]+n[0])/2-(i[1]-n[1])*e,(i[1]+n[1])/2-(n[0]-i[0])*e]),t.setLayout(o)})}function _f(t){var e=t.coordinateSystem;if(!e||"view"===e.type){var i=e.getBoundingRect(),n=t.getData(),o=n.graph,a=0,r=n.getSum("value"),s=2*Math.PI/(r||n.count()),l=i.width/2+i.x,u=i.height/2+i.y,h=Math.min(i.width,i.height)/2;o.eachNode(function(t){var e=t.getValue("value");a+=s*(r?e:1)/2,t.setLayout([h*Math.cos(a)+l,h*Math.sin(a)+u]),a+=s*(r?e:1)/2}),n.setLayout({cx:l,cy:u}),o.eachEdge(function(t){var e,i=t.getModel().get("lineStyle.curveness")||0,n=F(t.node1.getLayout()),o=F(t.node2.getLayout()),a=(n[0]+o[0])/2,r=(n[1]+o[1])/2;+i&&(e=[l*(i*=3)+a*(1-i),u*i+r*(1-i)]),t.setLayout([n,o,e])})}}function wf(t,e,i){for(var n=i.rect,o=n.width,a=n.height,r=[n.x+o/2,n.y+a/2],s=null==i.gravity?.1:i.gravity,l=0;l0?-1:i<0?1:e?-1:1}}function Pf(t,e){return Math.min(e[1],Math.max(e[0],t))}function Nf(t,e,i){this._axesMap=R(),this._axesLayout={},this.dimensions=t.dimensions,this._rect,this._model=t,this._init(t,e,i)}function Of(t,e){return ek(ik(t,e[0]),e[1])}function Ef(t,e){var i=e.layoutLength/(e.axisCount-1);return{position:i*t,axisNameAvailableWidth:i,axisLabelShow:!0}}function Rf(t,e){var i,n,o=e.layoutLength,a=e.axisExpandWidth,r=e.axisCount,s=e.axisCollapseWidth,l=e.winInnerIndices,u=s,h=!1;return tmk}function $f(t){var e=t.length-1;return e<0&&(e=0),[t[0],t[e]]}function Jf(t,e,i,n){var o=new tb;return o.add(new yM({name:"main",style:ip(i),silent:!0,draggable:!0,cursor:"move",drift:uk(t,e,o,"nswe"),ondragend:uk(qf,e,{isEnd:!0})})),hk(n,function(i){o.add(new yM({name:i,style:{opacity:0},draggable:!0,silent:!0,invisible:!0,drift:uk(t,e,o,i),ondragend:uk(qf,e,{isEnd:!0})}))}),o}function Qf(t,e,i,n){var o=n.brushStyle.lineWidth||0,a=fk(o,vk),r=i[0][0],s=i[1][0],l=r-o/2,u=s-o/2,h=i[0][1],c=i[1][1],d=h-a+o/2,f=c-a+o/2,p=h-r,g=c-s,m=p+o,v=g+o;ep(t,e,"main",r,s,p,g),n.transformable&&(ep(t,e,"w",l,u,a,v),ep(t,e,"e",d,u,a,v),ep(t,e,"n",l,u,m,a),ep(t,e,"s",l,f,m,a),ep(t,e,"nw",l,u,a,a),ep(t,e,"ne",d,u,a,a),ep(t,e,"sw",l,f,a,a),ep(t,e,"se",d,f,a,a))}function tp(t,e){var i=e.__brushOption,n=i.transformable,o=e.childAt(0);o.useStyle(ip(i)),o.attr({silent:!n,cursor:n?"move":"default"}),hk(["w","e","n","s","se","sw","ne","nw"],function(i){var o=e.childOfName(i),a=ap(t,i);o&&o.attr({silent:!n,invisible:!n,cursor:n?_k[a]+"-resize":null})})}function ep(t,e,i,n,o,a,r){var s=e.childOfName(i);s&&s.setShape(hp(up(t,e,[[n,o],[n+a,o+r]])))}function ip(t){return r({strokeNoScale:!0},t.brushStyle)}function np(t,e,i,n){var o=[dk(t,i),dk(e,n)],a=[fk(t,i),fk(e,n)];return[[o[0],a[0]],[o[1],a[1]]]}function op(t){return Ao(t.group)}function ap(t,e){if(e.length>1)return("e"===(n=[ap(t,(e=e.split(""))[0]),ap(t,e[1])])[0]||"w"===n[0])&&n.reverse(),n.join("");var i={left:"w",right:"e",top:"n",bottom:"s"},n=Co({w:"left",e:"right",n:"top",s:"bottom"}[e],op(t));return i[n]}function rp(t,e,i,n,o,a,r,s){var l=n.__brushOption,u=t(l.range),h=lp(i,a,r);hk(o.split(""),function(t){var e=xk[t];u[e[0]][e[1]]+=h[e[0]]}),l.range=e(np(u[0][0],u[1][0],u[0][1],u[1][1])),Zf(i,n),qf(i,{isEnd:!1})}function sp(t,e,i,n,o){var a=e.__brushOption.range,r=lp(t,i,n);hk(a,function(t){t[0]+=r[0],t[1]+=r[1]}),Zf(t,e),qf(t,{isEnd:!1})}function lp(t,e,i){var n=t.group,o=n.transformCoordToLocal(e,i),a=n.transformCoordToLocal(0,0);return[o[0]-a[0],o[1]-a[1]]}function up(t,e,n){var o=jf(t,e);return o&&!0!==o?o.clipPath(n,t._transform):i(n)}function hp(t){var e=dk(t[0][0],t[1][0]),i=dk(t[0][1],t[1][1]);return{x:e,y:i,width:fk(t[0][0],t[1][0])-e,height:fk(t[0][1],t[1][1])-i}}function cp(t,e,i){if(t._brushType){var n=t._zr,o=t._covers,a=Xf(t,e,i);if(!t._dragging)for(var r=0;r0;a--)Yp(s,l*=.99,r),jp(s,o,i,n,r),tg(s,l,r),jp(s,o,i,n,r)}function Up(t,e){var i=[],n="vertical"===e?"y":"x",o=Zi(t,function(t){return t.getLayout()[n]});return o.keys.sort(function(t,e){return t-e}),d(o.keys,function(t){i.push(o.buckets.get(t))}),i}function Xp(t,e,i,n,o,a,r){var s=[];d(e,function(t){var e=t.length,i=0,l=0;d(t,function(t){i+=t.getLayout().value}),l="vertical"===r?(o-(e-1)*a)/i:(n-(e-1)*a)/i,s.push(l)}),s.sort(function(t,e){return t-e});var l=s[0];d(e,function(t){d(t,function(t,e){var i=t.getLayout().value*l;"vertical"===r?(t.setLayout({x:e},!0),t.setLayout({dx:i},!0)):(t.setLayout({y:e},!0),t.setLayout({dy:i},!0))})}),d(i,function(t){var e=+t.getValue()*l;t.setLayout({dy:e},!0)})}function jp(t,e,i,n,o){d(t,function(t){var a,r,s,l=0,u=t.length;if("vertical"===o){var h;for(t.sort(function(t,e){return t.getLayout().x-e.getLayout().x}),s=0;s0&&(h=a.getLayout().x+r,a.setLayout({x:h},!0)),l=a.getLayout().x+a.getLayout().dx+e;if((r=l-e-n)>0)for(h=a.getLayout().x-r,a.setLayout({x:h},!0),l=h,s=u-2;s>=0;--s)(r=(a=t[s]).getLayout().x+a.getLayout().dx+e-l)>0&&(h=a.getLayout().x-r,a.setLayout({x:h},!0)),l=a.getLayout().x}else{var c;for(t.sort(function(t,e){return t.getLayout().y-e.getLayout().y}),s=0;s0&&(c=a.getLayout().y+r,a.setLayout({y:c},!0)),l=a.getLayout().y+a.getLayout().dy+e;if((r=l-e-i)>0)for(c=a.getLayout().y-r,a.setLayout({y:c},!0),l=c,s=u-2;s>=0;--s)(r=(a=t[s]).getLayout().y+a.getLayout().dy+e-l)>0&&(c=a.getLayout().y-r,a.setLayout({y:c},!0)),l=a.getLayout().y}})}function Yp(t,e,i){d(t.slice().reverse(),function(t){d(t,function(t){if(t.outEdges.length){var n=Qp(t.outEdges,qp,i)/Qp(t.outEdges,Jp,i);if("vertical"===i){var o=t.getLayout().x+(n-$p(t,i))*e;t.setLayout({x:o},!0)}else{var a=t.getLayout().y+(n-$p(t,i))*e;t.setLayout({y:a},!0)}}})})}function qp(t,e){return $p(t.node2,e)*t.getValue()}function Kp(t,e){return $p(t.node1,e)*t.getValue()}function $p(t,e){return"vertical"===e?t.getLayout().x+t.getLayout().dx/2:t.getLayout().y+t.getLayout().dy/2}function Jp(t){return t.getValue()}function Qp(t,e,i){for(var n=0,o=t.length,a=-1;++a0?"P":"N",a=n.getVisual("borderColor"+o)||n.getVisual("color"+o),r=i.getModel(Gk).getItemStyle(Wk);e.useStyle(r),e.style.fill=null,e.style.stroke=a}function fg(t,e,i,n,o){return i>n?-1:i0?t.get(o,e-1)<=n?1:-1:1}function pg(t,e){var i,n=t.getBaseAxis(),o="category"===n.type?n.getBandWidth():(i=n.getExtent(),Math.abs(i[1]-i[0])/e.count()),a=Vo(A(t.get("barMaxWidth"),o),o),r=Vo(A(t.get("barMinWidth"),1),o),s=t.get("barWidth");return null!=s?Vo(s,o):Math.max(Math.min(o/2,a),r)}function gg(t){return y(t)||(t=[+t,+t]),t}function mg(t,e){t.eachChild(function(t){t.attr({z:e.z,zlevel:e.zlevel,style:{stroke:"stroke"===e.brushType?e.color:null,fill:"fill"===e.brushType?e.color:null}})})}function vg(t,e){tb.call(this);var i=new wu(t,e),n=new tb;this.add(i),this.add(n),n.beforeUpdate=function(){this.attr(i.getScale())},this.updateData(t,e)}function yg(t){var e=t.data;e&&e[0]&&e[0][0]&&e[0][0].coord&&(t.data=f(e,function(t){var e={coords:[t[0].coord,t[1].coord]};return t[0].name&&(e.fromName=t[0].name),t[1].name&&(e.toName=t[1].name),o([e,t[0],t[1]])}))}function xg(t,e,i){tb.call(this),this.add(this.createLine(t,e,i)),this._updateEffectSymbol(t,e)}function _g(t,e,i){tb.call(this),this._createPolyline(t,e,i)}function wg(t,e,i){xg.call(this,t,e,i),this._lastFrame=0,this._lastFramePercent=0}function bg(){this.group=new tb}function Sg(t){return t instanceof Array||(t=[t,t]),t}function Mg(){var t=iw();this.canvas=t,this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={}}function Ig(t,e,i){var n=t[1]-t[0],o=(e=f(e,function(e){return{interval:[(e.interval[0]-t[0])/n,(e.interval[1]-t[0])/n]}})).length,a=0;return function(t){for(n=a;n=0;n--){var r=e[n].interval;if(r[0]<=t&&t<=r[1]){a=n;break}}return n>=0&&n=e[0]&&t<=e[1]}}function Ag(t){var e=t.dimensions;return"lng"===e[0]&&"lat"===e[1]}function Dg(t,e,i,n){var o=t.getItemLayout(e),a=i.get("symbolRepeat"),r=i.get("symbolClip"),s=i.get("symbolPosition")||"start",l=(i.get("symbolRotate")||0)*Math.PI/180||0,u=i.get("symbolPatternSize")||2,h=i.isAnimationEnabled(),c={dataIndex:e,layout:o,itemModel:i,symbolType:t.getItemVisual(e,"symbol")||"circle",color:t.getItemVisual(e,"color"),symbolClip:r,symbolRepeat:a,symbolRepeatDirection:i.get("symbolRepeatDirection"),symbolPatternSize:u,rotation:l,animationModel:h?i:null,hoverAnimation:h&&i.get("hoverAnimation"),z2:i.getShallow("z",!0)||0};Cg(i,a,o,n,c),kg(t,e,o,a,r,c.boundingLength,c.pxSign,u,n,c),Pg(i,c.symbolScale,l,n,c);var d=c.symbolSize,f=i.get("symbolOffset");return y(f)&&(f=[Vo(f[0],d[0]),Vo(f[1],d[1])]),Ng(i,d,o,a,r,f,s,c.valueLineWidth,c.boundingLength,c.repeatCutLength,n,c),c}function Cg(t,e,i,n,o){var a,r=n.valueDim,s=t.get("symbolBoundingData"),l=n.coordSys.getOtherAxis(n.coordSys.getBaseAxis()),u=l.toGlobalCoord(l.dataToCoord(0)),h=1-+(i[r.wh]<=0);if(y(s)){var c=[Lg(l,s[0])-u,Lg(l,s[1])-u];c[1]0?1:a<0?-1:0}function Lg(t,e){return t.toGlobalCoord(t.dataToCoord(t.scale.parse(e)))}function kg(t,e,i,n,o,a,r,s,l,u){var h=l.valueDim,c=l.categoryDim,d=Math.abs(i[c.wh]),f=t.getItemVisual(e,"symbolSize");y(f)?f=f.slice():(null==f&&(f="100%"),f=[f,f]),f[c.index]=Vo(f[c.index],d),f[h.index]=Vo(f[h.index],n?d:Math.abs(a)),u.symbolSize=f,(u.symbolScale=[f[0]/s,f[1]/s])[h.index]*=(l.isHorizontal?-1:1)*r}function Pg(t,e,i,n,o){var a=t.get(cP)||0;a&&(fP.attr({scale:e.slice(),rotation:i}),fP.updateTransform(),a/=fP.getLineScale(),a*=e[n.valueDim.index]),o.valueLineWidth=a}function Ng(t,e,i,n,o,r,s,l,u,h,c,d){var f=c.categoryDim,p=c.valueDim,g=d.pxSign,m=Math.max(e[p.index]+l,0),v=m;if(n){var y=Math.abs(u),x=T(t.get("symbolMargin"),"15%")+"",_=!1;x.lastIndexOf("!")===x.length-1&&(_=!0,x=x.slice(0,x.length-1)),x=Vo(x,e[p.index]);var w=Math.max(m+2*x,0),b=_?0:2*x,S=Qo(n),M=S?n:Kg((y+b)/w);w=m+2*(x=(y-M*m)/2/(_?M:M-1)),b=_?0:2*x,S||"fixed"===n||(M=h?Kg((Math.abs(h)+b)/w):0),v=M*w-b,d.repeatTimes=M,d.symbolMargin=x}var I=g*(v/2),A=d.pathPosition=[];A[f.index]=i[f.wh]/2,A[p.index]="start"===s?I:"end"===s?u-I:u/2,r&&(A[0]+=r[0],A[1]+=r[1]);var D=d.bundlePosition=[];D[f.index]=i[f.xy],D[p.index]=i[p.xy];var C=d.barRectShape=a({},i);C[p.wh]=g*Math.max(Math.abs(i[p.wh]),Math.abs(A[p.index]+I)),C[f.wh]=i[f.wh];var L=d.clipShape={};L[f.xy]=-i[f.xy],L[f.wh]=c.ecSize[f.wh],L[p.xy]=0,L[p.wh]=i[p.wh]}function Og(t){var e=t.symbolPatternSize,i=Jl(t.symbolType,-e/2,-e/2,e,e,t.color);return i.attr({culling:!0}),"image"!==i.type&&i.setStyle({strokeNoScale:!0}),i}function Eg(t,e,i,n){function o(t){var e=l.slice(),n=i.pxSign,o=t;return("start"===i.symbolRepeatDirection?n>0:n<0)&&(o=h-1-t),e[u.index]=d*(o-h/2+.5)+l[u.index],{position:e,scale:i.symbolScale.slice(),rotation:i.rotation}}var a=t.__pictorialBundle,r=i.symbolSize,s=i.valueLineWidth,l=i.pathPosition,u=e.valueDim,h=i.repeatTimes||0,c=0,d=r[e.valueDim.index]+s+2*i.symbolMargin;for(jg(t,function(t){t.__pictorialAnimationIndex=c,t.__pictorialRepeatTimes=h,c0)],d=t.__pictorialBarRect;kh(d.style,h,a,n,e.seriesModel,o,c),fo(d,h)}function Kg(t){var e=Math.round(t);return Math.abs(t-e)<1e-4?e:Math.ceil(t)}function $g(t,e,i){this.dimension="single",this.dimensions=["single"],this._axis=null,this._rect,this._init(t,e,i),this.model=t}function Jg(t,e){e=e||{};var i=t.coordinateSystem,n=t.axis,o={},a=n.position,r=n.orient,s=i.getRect(),l=[s.x,s.x+s.width,s.y,s.y+s.height],u={horizontal:{top:l[2],bottom:l[3]},vertical:{left:l[0],right:l[1]}};o.position=["vertical"===r?u.vertical[a]:l[0],"horizontal"===r?u.horizontal[a]:l[3]];var h={horizontal:0,vertical:1};o.rotation=Math.PI/2*h[r];var c={top:-1,bottom:1,right:1,left:-1};o.labelDirection=o.tickDirection=o.nameDirection=c[a],t.get("axisTick.inside")&&(o.tickDirection=-o.tickDirection),T(e.labelInside,t.get("axisLabel.inside"))&&(o.labelDirection=-o.labelDirection);var d=e.rotate;return null==d&&(d=t.get("axisLabel.rotate")),o.labelRotation="top"===a?-d:d,o.z2=1,o}function Qg(t,e,i,n,o){var r=t.axis;if(!r.scale.isBlank()&&r.containData(e))if(t.involveSeries){var s=tm(e,t),l=s.payloadBatch,u=s.snapToValue;l[0]&&null==o.seriesIndex&&a(o,l[0]),!n&&t.snap&&r.containData(u)&&null!=u&&(e=u),i.showPointer(t,e,l,o),i.showTooltip(t,s,u)}else i.showPointer(t,e)}function tm(t,e){var i=e.axis,n=i.dim,o=t,a=[],r=Number.MAX_VALUE,s=-1;return _P(e.seriesModels,function(e,l){var u,h,c=e.getData().mapDimension(n,!0);if(e.getAxisTooltipData){var d=e.getAxisTooltipData(c,t,i);h=d.dataIndices,u=d.nestestValue}else{if(!(h=e.getData().indicesOfNearest(c[0],t,"category"===i.type?.5:null)).length)return;u=e.getData().get(c[0],h[0])}if(null!=u&&isFinite(u)){var f=t-u,p=Math.abs(f);p<=r&&((p=0&&s<0)&&(r=p,s=f,o=u,a.length=0),_P(h,function(t){a.push({seriesIndex:e.seriesIndex,dataIndexInside:t,dataIndex:e.getData().getRawIndex(t)})}))}}),{payloadBatch:a,snapToValue:o}}function em(t,e,i,n){t[e.key]={value:i,payloadBatch:n}}function im(t,e,i,n){var o=i.payloadBatch,a=e.axis,r=a.model,s=e.axisPointerModel;if(e.triggerTooltip&&o.length){var l=e.coordSys.model,u=Ah(l),h=t.map[u];h||(h=t.map[u]={coordSysId:l.id,coordSysIndex:l.componentIndex,coordSysType:l.type,coordSysMainType:l.mainType,dataByAxis:[]},t.list.push(h)),h.dataByAxis.push({axisDim:a.dim,axisIndex:r.componentIndex,axisType:r.type,axisId:r.id,value:n,valueLabelOpt:{precision:s.get("label.precision"),formatter:s.get("label.formatter")},seriesDataIndices:o.slice()})}}function nm(t,e,i){var n=i.axesInfo=[];_P(e,function(e,i){var o=e.axisPointerModel.option,a=t[i];a?(!e.useHandle&&(o.status="show"),o.value=a.value,o.seriesDataIndices=(a.payloadBatch||[]).slice()):!e.useHandle&&(o.status="hide"),"show"===o.status&&n.push({axisDim:e.axis.dim,axisIndex:e.axis.model.componentIndex,value:o.value})})}function om(t,e,i,n){if(!lm(e)&&t.list.length){var o=((t.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};n({type:"showTip",escapeConnect:!0,x:e[0],y:e[1],tooltipOption:i.tooltipOption,position:i.position,dataIndexInside:o.dataIndexInside,dataIndex:o.dataIndex,seriesIndex:o.seriesIndex,dataByCoordSys:t.list})}else n({type:"hideTip"})}function am(t,e,i){var n=i.getZr(),o=bP(n).axisPointerLastHighlights||{},a=bP(n).axisPointerLastHighlights={};_P(t,function(t,e){var i=t.axisPointerModel.option;"show"===i.status&&_P(i.seriesDataIndices,function(t){var e=t.seriesIndex+" | "+t.dataIndex;a[e]=t})});var r=[],s=[];d(o,function(t,e){!a[e]&&s.push(t)}),d(a,function(t,e){!o[e]&&r.push(t)}),s.length&&i.dispatchAction({type:"downplay",escapeConnect:!0,batch:s}),r.length&&i.dispatchAction({type:"highlight",escapeConnect:!0,batch:r})}function rm(t,e){for(var i=0;i<(t||[]).length;i++){var n=t[i];if(e.axis.dim===n.axisDim&&e.axis.model.componentIndex===n.axisIndex)return n}}function sm(t){var e=t.axis.model,i={},n=i.axisDim=t.axis.dim;return i.axisIndex=i[n+"AxisIndex"]=e.componentIndex,i.axisName=i[n+"AxisName"]=e.name,i.axisId=i[n+"AxisId"]=e.id,i}function lm(t){return!t||null==t[0]||isNaN(t[0])||null==t[1]||isNaN(t[1])}function um(t,e,i){if(!U_.node){var n=e.getZr();SP(n).records||(SP(n).records={}),hm(n,e),(SP(n).records[t]||(SP(n).records[t]={})).handler=i}}function hm(t,e){function i(i,n){t.on(i,function(i){var o=pm(e);MP(SP(t).records,function(t){t&&n(t,i,o.dispatchAction)}),cm(o.pendings,e)})}SP(t).initialized||(SP(t).initialized=!0,i("click",v(fm,"click")),i("mousemove",v(fm,"mousemove")),i("globalout",dm))}function cm(t,e){var i,n=t.showTip.length,o=t.hideTip.length;n?i=t.showTip[n-1]:o&&(i=t.hideTip[o-1]),i&&(i.dispatchAction=null,e.dispatchAction(i))}function dm(t,e,i){t.handler("leave",null,i)}function fm(t,e,i,n){e.handler(t,i,n)}function pm(t){var e={showTip:[],hideTip:[]},i=function(n){var o=e[n.type];o?o.push(n):(n.dispatchAction=i,t.dispatchAction(n))};return{dispatchAction:i,pendings:e}}function gm(t,e){if(!U_.node){var i=e.getZr();(SP(i).records||{})[t]&&(SP(i).records[t]=null)}}function mm(){}function vm(t,e,i,n){ym(TP(i).lastProp,n)||(TP(i).lastProp=n,e?Io(i,n,t):(i.stopAnimation(),i.attr(n)))}function ym(t,e){if(w(t)&&w(e)){var i=!0;return d(e,function(e,n){i=i&&ym(t[n],e)}),!!i}return t===e}function xm(t,e){t[e.get("label.show")?"show":"hide"]()}function _m(t){return{position:t.position.slice(),rotation:t.rotation||0}}function wm(t,e,i){var n=e.get("z"),o=e.get("zlevel");t&&t.traverse(function(t){"group"!==t.type&&(null!=n&&(t.z=n),null!=o&&(t.zlevel=o),t.silent=i)})}function bm(t){var e,i=t.get("type"),n=t.getModel(i+"Style");return"line"===i?(e=n.getLineStyle()).fill=null:"shadow"===i&&((e=n.getAreaStyle()).stroke=null),e}function Sm(t,e,i,n,o){var a=Im(i.get("value"),e.axis,e.ecModel,i.get("seriesDataIndices"),{precision:i.get("label.precision"),formatter:i.get("label.formatter")}),r=i.getModel("label"),s=qM(r.get("padding")||0),l=r.getFont(),u=ke(a,l),h=o.position,c=u.width+s[1]+s[3],d=u.height+s[0]+s[2],f=o.align;"right"===f&&(h[0]-=c),"center"===f&&(h[0]-=c/2);var p=o.verticalAlign;"bottom"===p&&(h[1]-=d),"middle"===p&&(h[1]-=d/2),Mm(h,c,d,n);var g=r.get("backgroundColor");g&&"auto"!==g||(g=e.get("axisLine.lineStyle.color")),t.label={shape:{x:0,y:0,width:c,height:d,r:r.get("borderRadius")},position:h.slice(),style:{text:a,textFont:l,textFill:r.getTextColor(),textPosition:"inside",fill:g,stroke:r.get("borderColor")||"transparent",lineWidth:r.get("borderWidth")||0,shadowBlur:r.get("shadowBlur"),shadowColor:r.get("shadowColor"),shadowOffsetX:r.get("shadowOffsetX"),shadowOffsetY:r.get("shadowOffsetY")},z2:10}}function Mm(t,e,i,n){var o=n.getWidth(),a=n.getHeight();t[0]=Math.min(t[0]+e,o)-e,t[1]=Math.min(t[1]+i,a)-i,t[0]=Math.max(t[0],0),t[1]=Math.max(t[1],0)}function Im(t,e,i,n,o){t=e.scale.parse(t);var a=e.scale.getLabel(t,{precision:o.precision}),r=o.formatter;if(r){var s={value:Xl(e,t),seriesData:[]};d(n,function(t){var e=i.getSeriesByIndex(t.seriesIndex),n=t.dataIndexInside,o=e&&e.getDataParams(n);o&&s.seriesData.push(o)}),_(r)?a=r.replace("{value}",a):x(r)&&(a=r(s))}return a}function Tm(t,e,i){var n=xt();return Mt(n,n,i.rotation),St(n,n,i.position),Do([t.dataToCoord(e),(i.labelOffset||0)+(i.labelDirection||1)*(i.labelMargin||0)],n)}function Am(t,e,i,n,o,a){var r=FD.innerTextLayout(i.rotation,0,i.labelDirection);i.labelMargin=o.get("label.margin"),Sm(e,n,o,a,{position:Tm(n.axis,t,i),align:r.textAlign,verticalAlign:r.textVerticalAlign})}function Dm(t,e,i){return i=i||0,{x1:t[i],y1:t[1-i],x2:e[i],y2:e[1-i]}}function Cm(t,e,i){return i=i||0,{x:t[i],y:t[1-i],width:e[i],height:e[1-i]}}function Lm(t,e,i,n,o,a){return{cx:t,cy:e,r0:i,r:n,startAngle:o,endAngle:a,clockwise:!0}}function km(t,e){var i={};return i[e.dim+"AxisIndex"]=e.index,t.getCartesian(i)}function Pm(t){return"x"===t.dim?0:1}function Nm(t){return t.isHorizontal()?0:1}function Om(t,e){var i=t.getRect();return[i[kP[e]],i[kP[e]]+i[PP[e]]]}function Em(t,e,i){var n=new yM({shape:{x:t.x-10,y:t.y-10,width:0,height:t.height+20}});return To(n,{shape:{width:t.width+20,height:t.height+20}},e,i),n}function Rm(t,e,i){if(t.count())for(var n,o=e.coordinateSystem,a=e.getLayerSeries(),r=t.mapDimension("single"),s=t.mapDimension("value"),l=f(a,function(e){return f(e.indices,function(e){var i=o.dataToPoint(t.get(r,e));return i[1]=t.get(s,e),i})}),u=zm(l),h=u.y0,c=i/u.max,d=a.length,p=a[0].indices.length,g=0;ga&&(a=u),n.push(u)}for(var h=0;ha&&(a=d)}return r.y0=o,r.max=a,r}function Bm(t){var e=0;d(t.children,function(t){Bm(t);var i=t.value;y(i)&&(i=i[0]),e+=i});var i=t.value;y(i)&&(i=i[0]),(null==i||isNaN(i))&&(i=e),i<0&&(i=0),y(t.value)?t.value[0]=i:t.value=i}function Vm(t,e,i){function n(){r.ignore=r.hoverIgnore}function o(){r.ignore=r.normalIgnore}tb.call(this);var a=new hM({z2:zP});a.seriesIndex=e.seriesIndex;var r=new rM({z2:BP,silent:t.getModel("label").get("silent")});this.add(a),this.add(r),this.updateData(!0,t,"normal",e,i),this.on("emphasis",n).on("normal",o).on("mouseover",n).on("mouseout",o)}function Gm(t,e,i){var n=t.getVisual("color"),o=t.getVisual("visualMeta");o&&0!==o.length||(n=null);var a=t.getModel("itemStyle").get("color");if(a)return a;if(n)return n;if(0===t.depth)return i.option.color[0];var r=i.option.color.length;return a=i.option.color[Fm(t)%r]}function Fm(t){for(var e=t;e.depth>1;)e=e.parentNode;return l(t.getAncestors()[0].children,e)}function Wm(t,e,i){return i!==RP.NONE&&(i===RP.SELF?t===e:i===RP.ANCESTOR?t===e||t.isAncestorOf(e):t===e||t.isDescendantOf(e))}function Hm(t,e,i){e.getData().setItemVisual(t.dataIndex,"color",i)}function Zm(t,e){var i=t.children||[];t.children=Um(i,e),i.length&&d(t.children,function(t){Zm(t,e)})}function Um(t,e){if("function"==typeof e)return t.sort(e);var i="asc"===e;return t.sort(function(t,e){var n=(t.getValue()-e.getValue())*(i?1:-1);return 0===n?(t.dataIndex-e.dataIndex)*(i?-1:1):n})}function Xm(t,e){return e=e||[0,0],f(["x","y"],function(i,n){var o=this.getAxis(i),a=e[n],r=t[n]/2;return"category"===o.type?o.getBandWidth():Math.abs(o.dataToCoord(a-r)-o.dataToCoord(a+r))},this)}function jm(t,e){return e=e||[0,0],f([0,1],function(i){var n=e[i],o=t[i]/2,a=[],r=[];return a[i]=n-o,r[i]=n+o,a[1-i]=r[1-i]=e[1-i],Math.abs(this.dataToPoint(a)[i]-this.dataToPoint(r)[i])},this)}function Ym(t,e){var i=this.getAxis(),n=e instanceof Array?e[0]:e,o=(t instanceof Array?t[0]:t)/2;return"category"===i.type?i.getBandWidth():Math.abs(i.dataToCoord(n-o)-i.dataToCoord(n+o))}function qm(t,e){return f(["Radius","Angle"],function(i,n){var o=this["get"+i+"Axis"](),a=e[n],r=t[n]/2,s="dataTo"+i,l="category"===o.type?o.getBandWidth():Math.abs(o[s](a-r)-o[s](a+r));return"Angle"===i&&(l=l*Math.PI/180),l},this)}function Km(t){var e,i=t.type;if("path"===i){var n=t.shape,o=null!=n.width&&null!=n.height?{x:n.x||0,y:n.y||0,width:n.width,height:n.height}:null,a=lv(n);(e=Xn(a,null,o,n.layout||"center")).__customPathData=a}else"image"===i?(e=new fi({})).__customImagePath=t.style.image:"text"===i?(e=new rM({})).__customText=t.style.text:e=new(0,zM[i.charAt(0).toUpperCase()+i.slice(1)]);return e.__customGraphicType=i,e.name=t.name,e}function $m(t,e,n,o,a,r,s){var l={},u=n.style||{};if(n.shape&&(l.shape=i(n.shape)),n.position&&(l.position=n.position.slice()),n.scale&&(l.scale=n.scale.slice()),n.origin&&(l.origin=n.origin.slice()),n.rotation&&(l.rotation=n.rotation),"image"===t.type&&n.style){h=l.style={};d(["x","y","width","height"],function(e){Jm(e,h,u,t.style,r)})}if("text"===t.type&&n.style){var h=l.style={};d(["x","y"],function(e){Jm(e,h,u,t.style,r)}),!u.hasOwnProperty("textFill")&&u.fill&&(u.textFill=u.fill),!u.hasOwnProperty("textStroke")&&u.stroke&&(u.textStroke=u.stroke)}if("group"!==t.type&&(t.useStyle(u),r)){t.style.opacity=0;var c=u.opacity;null==c&&(c=1),To(t,{style:{opacity:c}},o,e)}r?t.attr(l):Io(t,l,o,e),n.hasOwnProperty("z2")&&t.attr("z2",n.z2||0),n.hasOwnProperty("silent")&&t.attr("silent",n.silent),n.hasOwnProperty("invisible")&&t.attr("invisible",n.invisible),n.hasOwnProperty("ignore")&&t.attr("ignore",n.ignore),n.hasOwnProperty("info")&&t.attr("info",n.info);var f=n.styleEmphasis,p=!1===f;t.__cusHasEmphStl&&null==f||!t.__cusHasEmphStl&&p||(ro(t,f),t.__cusHasEmphStl=!p),s&&po(t,!p)}function Jm(t,e,i,n,o){null==i[t]||o||(e[t]=i[t],i[t]=n[t])}function Qm(t,e,i,n){function o(t){null==t&&(t=h),v&&(c=e.getItemModel(t),d=c.getModel(UP),f=c.getModel(XP),p=e.getItemVisual(t,"color"),v=!1)}var s=t.get("renderItem"),l=t.coordinateSystem,u={};l&&(u=l.prepareCustoms?l.prepareCustoms():YP[l.type](l));var h,c,d,f,p,g=r({getWidth:n.getWidth,getHeight:n.getHeight,getZr:n.getZr,getDevicePixelRatio:n.getDevicePixelRatio,value:function(t,i){return null==i&&(i=h),e.get(e.getDimension(t||0),i)},style:function(i,n){null==n&&(n=h),o(n);var r=c.getModel(HP).getItemStyle();null!=p&&(r.fill=p);var s=e.getItemVisual(n,"opacity");return null!=s&&(r.opacity=s),mo(r,d,null,{autoColor:p,isRectText:!0}),r.text=d.getShallow("show")?A(t.getFormattedLabel(n,"normal"),_u(e,n)):null,i&&a(r,i),r},styleEmphasis:function(i,n){null==n&&(n=h),o(n);var r=c.getModel(ZP).getItemStyle();return mo(r,f,null,{isRectText:!0},!0),r.text=f.getShallow("show")?D(t.getFormattedLabel(n,"emphasis"),t.getFormattedLabel(n,"normal"),_u(e,n)):null,i&&a(r,i),r},visual:function(t,i){return null==i&&(i=h),e.getItemVisual(i,t)},barLayout:function(t){if(l.getBaseAxis)return Ll(r({axis:l.getBaseAxis()},t),n)},currentSeriesIndices:function(){return i.getCurrentSeriesIndices()},font:function(t){return So(t,i)}},u.api||{}),m={context:{},seriesId:t.id,seriesName:t.name,seriesIndex:t.seriesIndex,coordSys:u.coordSys,dataInsideLength:e.count(),encode:tv(t.getData())},v=!0;return function(t,i){return h=t,v=!0,s&&s(r({dataIndexInside:t,dataIndex:e.getRawIndex(t),actionType:i?i.type:null},m),g)}}function tv(t){var e={};return d(t.dimensions,function(i,n){var o=t.getDimensionInfo(i);if(!o.isExtraCoord){var a=o.coordDim;(e[a]=e[a]||[])[o.coordDimIndex]=n}}),e}function ev(t,e,i,n,o,a){return(t=iv(t,e,i,n,o,a,!0))&&a.setItemGraphicEl(e,t),t}function iv(t,e,i,n,o,a,r){var s=!i,l=(i=i||{}).type,u=i.shape,h=i.style;if(t&&(s||null!=l&&l!==t.__customGraphicType||"path"===l&&uv(u)&&lv(u)!==t.__customPathData||"image"===l&&hv(h,"image")&&h.image!==t.__customImagePath||"text"===l&&hv(u,"text")&&h.text!==t.__customText)&&(o.remove(t),t=null),!s){var c=!t;return!t&&(t=Km(i)),$m(t,e,i,n,a,c,r),"group"===l&&nv(t,e,i,n,a),o.add(t),t}}function nv(t,e,i,n,o){var a=i.children,r=a?a.length:0,s=i.$mergeChildren,l="byName"===s||i.diffChildrenByName,u=!1===s;if(r||l||u)if(l)ov({oldChildren:t.children()||[],newChildren:a||[],dataIndex:e,animatableModel:n,group:t,data:o});else{u&&t.removeAll();for(var h=0;hn?t-=l+a:t+=a),null!=r&&(e+u+r>o?e-=u+r:e+=r),[t,e]}function Ov(t,e,i,n,o){var a=i.getOuterSize(),r=a.width,s=a.height;return t=Math.min(t+r,n)-r,e=Math.min(e+s,o)-s,t=Math.max(t,0),e=Math.max(e,0),[t,e]}function Ev(t,e,i){var n=i[0],o=i[1],a=0,r=0,s=e.width,l=e.height;switch(t){case"inside":a=e.x+s/2-n/2,r=e.y+l/2-o/2;break;case"top":a=e.x+s/2-n/2,r=e.y-o-5;break;case"bottom":a=e.x+s/2-n/2,r=e.y+l+5;break;case"left":a=e.x-n-5,r=e.y+l/2-o/2;break;case"right":a=e.x+s+5,r=e.y+l/2-o/2}return[a,r]}function Rv(t){return"center"===t||"middle"===t}function zv(t){return t.get("stack")||"__ec_stack_"+t.seriesIndex}function Bv(t){return t.dim}function Vv(t,e){var i={};d(t,function(t,e){var n=t.getData(),o=t.coordinateSystem.getBaseAxis(),a=o.getExtent(),r="category"===o.type?o.getBandWidth():Math.abs(a[1]-a[0])/n.count(),s=i[Bv(o)]||{bandWidth:r,remainedWidth:r,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},l=s.stacks;i[Bv(o)]=s;var u=zv(t);l[u]||s.autoWidthCount++,l[u]=l[u]||{width:0,maxWidth:0};var h=Vo(t.get("barWidth"),r),c=Vo(t.get("barMaxWidth"),r),d=t.get("barGap"),f=t.get("barCategoryGap");h&&!l[u].width&&(h=Math.min(s.remainedWidth,h),l[u].width=h,s.remainedWidth-=h),c&&(l[u].maxWidth=c),null!=d&&(s.gap=d),null!=f&&(s.categoryGap=f)});var n={};return d(i,function(t,e){n[e]={};var i=t.stacks,o=t.bandWidth,a=Vo(t.categoryGap,o),r=Vo(t.gap,1),s=t.remainedWidth,l=t.autoWidthCount,u=(s-a)/(l+(l-1)*r);u=Math.max(u,0),d(i,function(t,e){var i=t.maxWidth;i&&ie[0]&&(e=e.slice().reverse());var n=t.coordToPoint([e[0],i]),o=t.coordToPoint([e[1],i]);return{x1:n[0],y1:n[1],x2:o[0],y2:o[1]}}function jv(t){return t.getRadiusAxis().inverse?0:1}function Yv(t){var e=t[0],i=t[t.length-1];e&&i&&Math.abs(Math.abs(e.coord-i.coord)-360)<1e-4&&t.pop()}function qv(t,e,i){return{position:[t.cx,t.cy],rotation:i/180*Math.PI,labelDirection:-1,tickDirection:-1,nameDirection:1,labelRotate:e.getModel("axisLabel").get("rotate"),z2:1}}function Kv(t,e,i,n,o){var a=e.axis,r=a.dataToCoord(t),s=n.getAngleAxis().getExtent()[0];s=s/180*Math.PI;var l,u,h,c=n.getRadiusAxis().getExtent();if("radius"===a.dim){var d=xt();Mt(d,d,s),St(d,d,[n.cx,n.cy]),l=Do([r,-o],d);var f=e.getModel("axisLabel").get("rotate")||0,p=FD.innerTextLayout(s,f*Math.PI/180,-1);u=p.textAlign,h=p.textVerticalAlign}else{var g=c[1];l=n.coordToPoint([g+o,r]);var m=n.cx,v=n.cy;u=Math.abs(l[0]-m)/g<.3?"center":l[0]>m?"left":"right",h=Math.abs(l[1]-v)/g<.3?"middle":l[1]>v?"top":"bottom"}return{position:l,align:u,verticalAlign:h}}function $v(t,e){e.update="updateView",Es(e,function(e,i){var n={};return i.eachComponent({mainType:"geo",query:e},function(i){i[t](e.name),d(i.coordinateSystem.regions,function(t){n[t.name]=i.isSelected(t.name)||!1})}),{selected:n,name:e.name}})}function Jv(t){var e={};d(t,function(t){e[t]=1}),t.length=0,d(e,function(e,i){t.push(i)})}function Qv(t){if(t)for(var e in t)if(t.hasOwnProperty(e))return!0}function ty(t,e,n){function o(){var t=function(){};return t.prototype.__hidden=t.prototype,new t}var a={};return MN(e,function(e){var r=a[e]=o();MN(t[e],function(t,o){if(hL.isValidType(o)){var a={type:o,visual:t};n&&n(a,e),r[o]=new hL(a),"opacity"===o&&((a=i(a)).type="colorAlpha",r.__hidden.__alphaForOpacity=new hL(a))}})}),a}function ey(t,e,n){var o;d(n,function(t){e.hasOwnProperty(t)&&Qv(e[t])&&(o=!0)}),o&&d(n,function(n){e.hasOwnProperty(n)&&Qv(e[n])?t[n]=i(e[n]):delete t[n]})}function iy(t,e,i,n,o,a){function r(t){return i.getItemVisual(h,t)}function s(t,e){i.setItemVisual(h,t,e)}function l(t,l){h=null==a?t:l;var c=i.getRawDataItem(h);if(!c||!1!==c.visualMap)for(var d=n.call(o,t),f=e[d],p=u[d],g=0,m=p.length;g1)return!1;var h=uy(i-t,o-t,n-e,a-e)/l;return!(h<0||h>1)}function ly(t){return t<=1e-6&&t>=-1e-6}function uy(t,e,i,n){return t*n-e*i}function hy(t,e,i){var n=this._targetInfoList=[],o={},a=dy(e,t);TN(PN,function(t,e){(!i||!i.include||AN(i.include,e)>=0)&&t(a,n,o)})}function cy(t){return t[0]>t[1]&&t.reverse(),t}function dy(t,e){return Vi(t,e,{includeMainTypes:LN})}function fy(t,e,i,n){var o=i.getAxis(["x","y"][t]),a=cy(f([0,1],function(t){return e?o.coordToData(o.toLocalCoord(n[t])):o.toGlobalCoord(o.dataToCoord(n[t]))})),r=[];return r[t]=a,r[1-t]=[NaN,NaN],{values:a,xyMinMax:r}}function py(t,e,i,n){return[e[0]-n[t]*i[0],e[1]-n[t]*i[1]]}function gy(t,e){var i=my(t),n=my(e),o=[i[0]/n[0],i[1]/n[1]];return isNaN(o[0])&&(o[0]=1),isNaN(o[1])&&(o[1]=1),o}function my(t){return t?[t[0][1]-t[0][0],t[1][1]-t[1][0]]:[NaN,NaN]}function vy(t,e,i,n,o){if(o){var a=t.getZr();a[VN]||(a[BN]||(a[BN]=yy),Nr(a,BN,i,e)(t,n))}}function yy(t,e){if(!t.isDisposed()){var i=t.getZr();i[VN]=!0,t.dispatchAction({type:"brushSelect",batch:e}),i[VN]=!1}}function xy(t,e,i,n){for(var o=0,a=e.length;o=0}function Ny(t,e,i){function n(t,e){return l(e.nodes,t)>=0}function o(t,n){var o=!1;return e(function(e){d(i(t,e)||[],function(t){n.records[e.name][t]&&(o=!0)})}),o}function a(t,n){n.nodes.push(t),e(function(e){d(i(t,e)||[],function(t){n.records[e.name][t]=!0})})}return function(i){var r={nodes:[],records:{}};if(e(function(t){r.records[t.name]={}}),!i)return r;a(i,r);var s;do{s=!1,t(function(t){!n(t,r)&&o(t,r)&&(a(t,r),s=!0)})}while(s);return r}}function Oy(t,e,i){var n=[1/0,-1/0];return $N(i,function(t){var i=t.getData();i&&$N(i.mapDimension(e,!0),function(t){var e=i.getApproximateExtent(t);e[0]n[1]&&(n[1]=e[1])})}),n[1]0?0:NaN);var r=i.getMax(!0);return null!=r&&"dataMax"!==r&&"function"!=typeof r?e[1]=r:o&&(e[1]=a>0?a-1:NaN),i.get("scale",!0)||(e[0]>0&&(e[0]=0),e[1]<0&&(e[1]=0)),e}function Ry(t,e){var i=t.getAxisModel(),n=t._percentWindow,o=t._valueWindow;if(n){var a=Zo(o,[0,500]);a=Math.min(a,20);var r=e||0===n[0]&&100===n[1];i.setRange(r?null:+o[0].toFixed(a),r?null:+o[1].toFixed(a))}}function zy(t){var e=t._minMaxSpan={},i=t._dataZoomModel;$N(["min","max"],function(n){e[n+"Span"]=i.get(n+"Span");var o=i.get(n+"ValueSpan");if(null!=o&&(e[n+"ValueSpan"]=o,null!=(o=t.getAxisModel().axis.scale.parse(o)))){var a=t._dataExtent;e[n+"Span"]=Bo(a[0]+o,a,[0,100],!0)}})}function By(t){var e={};return tO(["start","end","startValue","endValue","throttle"],function(i){t.hasOwnProperty(i)&&(e[i]=t[i])}),e}function Vy(t,e){var i=t._rangePropMode,n=t.get("rangeMode");tO([["start","startValue"],["end","endValue"]],function(t,o){var a=null!=e[t[0]],r=null!=e[t[1]];a&&!r?i[o]="percent":!a&&r?i[o]="value":n?i[o]=n[o]:a&&(i[o]="percent")})}function Gy(t){return{x:"y",y:"x",radius:"angle",angle:"radius"}[t]}function Fy(t){return"vertical"===t?"ns-resize":"ew-resize"}function Wy(t,e){var i=Uy(t),n=e.dataZoomId,o=e.coordId;d(i,function(t,i){var a=t.dataZoomInfos;a[n]&&l(e.allCoordIds,o)<0&&(delete a[n],t.count--)}),jy(i);var a=i[o];a||((a=i[o]={coordId:o,dataZoomInfos:{},count:0}).controller=Xy(t,a),a.dispatchAction=v(Yy,t)),!a.dataZoomInfos[n]&&a.count++,a.dataZoomInfos[n]=e;var r=qy(a.dataZoomInfos);a.controller.enable(r.controlType,r.opt),a.controller.setPointerChecker(e.containsPoint),Nr(a,"dispatchAction",e.dataZoomModel.get("throttle",!0),"fixRate")}function Hy(t,e){var i=Uy(t);d(i,function(t){t.controller.dispose();var i=t.dataZoomInfos;i[e]&&(delete i[e],t.count--)}),jy(i)}function Zy(t){return t.type+"\0_"+t.id}function Uy(t){var e=t.getZr();return e[fO]||(e[fO]={})}function Xy(t,e){var i=new oc(t.getZr());return d(["pan","zoom","scrollMove"],function(t){i.on(t,function(i){var n=[];d(e.dataZoomInfos,function(o){if(i.isAvailableBehavior(o.dataZoomModel.option)){var a=(o.getRange||{})[t],r=a&&a(e.controller,i);!o.dataZoomModel.get("disabled",!0)&&r&&n.push({dataZoomId:o.dataZoomId,start:r[0],end:r[1]})}}),n.length&&e.dispatchAction(n)})}),i}function jy(t){d(t,function(e,i){e.count||(e.controller.dispose(),delete t[i])})}function Yy(t,e){t.dispatchAction({type:"dataZoom",batch:e})}function qy(t){var e,i={type_true:2,type_move:1,type_false:0,type_undefined:-1},n=!0;return d(t,function(t){var o=t.dataZoomModel,a=!o.get("disabled",!0)&&(!o.get("zoomLock",!0)||"move");i["type_"+a]>i["type_"+e]&&(e=a),n&=o.get("preventDefaultMouseMove",!0)}),{controlType:e,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!n}}}function Ky(t){return function(e,i,n,o){var a=this._range,r=a.slice(),s=e.axisModels[0];if(s){var l=t(r,s,e,i,n,o);return QL(l,r,[0,100],"all"),this._range=r,a[0]!==r[0]||a[1]!==r[1]?r:void 0}}}function $y(t,e){return t&&t.hasOwnProperty&&t.hasOwnProperty(e)}function Jy(t,e,i,n){for(var o=e.targetVisuals[n],a=hL.prepareVisualTypes(o),r={color:t.getData().getVisual("color")},s=0,l=a.length;s=0&&(r[a]=+r[a].toFixed(h)),r}function fx(t,e){var n=t.getData(),o=t.coordinateSystem;if(e&&!cx(e)&&!y(e.coord)&&o){var a=o.dimensions,r=px(e,n,o,t);if((e=i(e)).type&&YO[e.type]&&r.baseAxis&&r.valueAxis){var s=XO(a,r.baseAxis.dim),l=XO(a,r.valueAxis.dim);e.coord=YO[e.type](n,r.baseDataDim,r.valueDataDim,s,l),e.value=e.coord[l]}else{for(var u=[null!=e.xAxis?e.xAxis:e.radiusAxis,null!=e.yAxis?e.yAxis:e.angleAxis],h=0;h<2;h++)YO[u[h]]&&(u[h]=yx(n,n.mapDimension(a[h]),u[h]));e.coord=u}}return e}function px(t,e,i,n){var o={};return null!=t.valueIndex||null!=t.valueDim?(o.valueDataDim=null!=t.valueIndex?e.getDimension(t.valueIndex):t.valueDim,o.valueAxis=i.getAxis(gx(n,o.valueDataDim)),o.baseAxis=i.getOtherAxis(o.valueAxis),o.baseDataDim=e.mapDimension(o.baseAxis.dim)):(o.baseAxis=n.getBaseAxis(),o.valueAxis=i.getOtherAxis(o.baseAxis),o.baseDataDim=e.mapDimension(o.baseAxis.dim),o.valueDataDim=e.mapDimension(o.valueAxis.dim)),o}function gx(t,e){var i=t.getData(),n=i.dimensions;e=i.getDimension(e);for(var o=0;o=0)return!0}function Yx(t){for(var e=t.split(/\n+/g),i=[],n=f(Xx(e.shift()).split(pE),function(t){return{name:t,data:[]}}),o=0;o=0&&!i[o][n];o--);if(o<0){var a=t.queryComponents({mainType:"dataZoom",subType:"select",id:n})[0];if(a){var r=a.getPercentRange();i[0][n]={dataZoomId:n,start:r[0],end:r[1]}}}}),i.push(e)}function t_(t){var e=n_(t),i=e[e.length-1];e.length>1&&e.pop();var n={};return gE(i,function(t,i){for(var o=e.length-1;o>=0;o--)if(t=e[o][i]){n[i]=t;break}}),n}function e_(t){t[mE]=null}function i_(t){return n_(t).length}function n_(t){var e=t[mE];return e||(e=t[mE]=[{}]),e}function o_(t,e,i){(this._brushController=new zf(i.getZr())).on("brush",m(this._onBrush,this)).mount(),this._isZoomActive}function a_(t){var e={};return d(["xAxisIndex","yAxisIndex"],function(i){e[i]=t[i],null==e[i]&&(e[i]="all"),(!1===e[i]||"none"===e[i])&&(e[i]=[])}),e}function r_(t,e){t.setIconStatus("back",i_(e)>1?"emphasis":"normal")}function s_(t,e,i,n,o){var a=i._isZoomActive;n&&"takeGlobalCursor"===n.type&&(a="dataZoomSelect"===n.key&&n.dataZoomSelectActive),i._isZoomActive=a,t.setIconStatus("zoom",a?"emphasis":"normal");var r=new hy(a_(t.option),e,{include:["grid"]});i._brushController.setPanels(r.makePanelOpts(o,function(t){return t.xAxisDeclared&&!t.yAxisDeclared?"lineX":!t.xAxisDeclared&&t.yAxisDeclared?"lineY":"rect"})).enableBrush(!!a&&{brushType:"auto",brushStyle:{lineWidth:0,fill:"rgba(0,0,0,0.2)"}})}function l_(t){this.model=t}function u_(t){return SE(t)}function h_(){if(!TE&&AE){TE=!0;var t=AE.styleSheets;t.length<31?AE.createStyleSheet().addRule(".zrvml","behavior:url(#default#VML)"):t[0].addRule(".zrvml","behavior:url(#default#VML)")}}function c_(t){return parseInt(t,10)}function d_(t,e){h_(),this.root=t,this.storage=e;var i=document.createElement("div"),n=document.createElement("div");i.style.cssText="display:inline-block;overflow:hidden;position:relative;width:300px;height:150px;",n.style.cssText="position:absolute;left:0;top:0;",t.appendChild(i),this._vmlRoot=n,this._vmlViewport=i,this.resize();var o=e.delFromStorage,a=e.addToStorage;e.delFromStorage=function(t){o.call(e,t),t&&t.onRemove&&t.onRemove(n)},e.addToStorage=function(t){t.onAdd&&t.onAdd(n),a.call(e,t)},this._firstPaint=!0}function f_(t){return function(){Yw('In IE8.0 VML mode painter not support method "'+t+'"')}}function p_(t){return document.createElementNS(sR,t)}function g_(t){return cR(1e4*t)/1e4}function m_(t){return t-vR}function v_(t,e){var i=e?t.textFill:t.fill;return null!=i&&i!==hR}function y_(t,e){var i=e?t.textStroke:t.stroke;return null!=i&&i!==hR}function x_(t,e){e&&__(t,"transform","matrix("+uR.call(e,",")+")")}function __(t,e,i){(!i||"linear"!==i.type&&"radial"!==i.type)&&t.setAttribute(e,i)}function w_(t,e,i){t.setAttributeNS("http://www.w3.org/1999/xlink",e,i)}function b_(t,e,i,n){if(v_(e,i)){var o=i?e.textFill:e.fill;o="transparent"===o?hR:o,"none"!==t.getAttribute("clip-path")&&o===hR&&(o="rgba(0, 0, 0, 0.002)"),__(t,"fill",o),__(t,"fill-opacity",null!=e.fillOpacity?e.fillOpacity*e.opacity:e.opacity)}else __(t,"fill",hR);if(y_(e,i)){var a=i?e.textStroke:e.stroke;__(t,"stroke",a="transparent"===a?hR:a),__(t,"stroke-width",(i?e.textStrokeWidth:e.lineWidth)/(!i&&e.strokeNoScale?n.getLineScale():1)),__(t,"paint-order",i?"stroke":"fill"),__(t,"stroke-opacity",null!=e.strokeOpacity?e.strokeOpacity:e.opacity),e.lineDash?(__(t,"stroke-dasharray",e.lineDash.join(",")),__(t,"stroke-dashoffset",cR(e.lineDashOffset||0))):__(t,"stroke-dasharray",""),e.lineCap&&__(t,"stroke-linecap",e.lineCap),e.lineJoin&&__(t,"stroke-linejoin",e.lineJoin),e.miterLimit&&__(t,"stroke-miterlimit",e.miterLimit)}else __(t,"stroke",hR)}function S_(t){for(var e=[],i=t.data,n=t.len(),o=0;o=gR||!m_(g)&&(d>-pR&&d<0||d>pR)==!!p;var y=g_(s+u*fR(c)),x=g_(l+h*dR(c));m&&(d=p?gR-1e-4:1e-4-gR,v=!0,9===o&&e.push("M",y,x));var _=g_(s+u*fR(c+d)),w=g_(l+h*dR(c+d));e.push("A",g_(u),g_(h),cR(f*mR),+v,+p,_,w);break;case lR.Z:a="Z";break;case lR.R:var _=g_(i[o++]),w=g_(i[o++]),b=g_(i[o++]),S=g_(i[o++]);e.push("M",_,w,"L",_+b,w,"L",_+b,w+S,"L",_,w+S,"L",_,w)}a&&e.push(a);for(var M=0;M=11),domSupported:"undefined"!=typeof document}}(navigator.userAgent),X_={"[object Function]":1,"[object RegExp]":1,"[object Date]":1,"[object Error]":1,"[object CanvasGradient]":1,"[object CanvasPattern]":1,"[object Image]":1,"[object Canvas]":1},j_={"[object Int8Array]":1,"[object Uint8Array]":1,"[object Uint8ClampedArray]":1,"[object Int16Array]":1,"[object Uint16Array]":1,"[object Int32Array]":1,"[object Uint32Array]":1,"[object Float32Array]":1,"[object Float64Array]":1},Y_=Object.prototype.toString,q_=Array.prototype,K_=q_.forEach,$_=q_.filter,J_=q_.slice,Q_=q_.map,tw=q_.reduce,ew={},iw=function(){return ew.createCanvas()};ew.createCanvas=function(){return document.createElement("canvas")};var nw,ow="__ec_primitive__";E.prototype={constructor:E,get:function(t){return this.data.hasOwnProperty(t)?this.data[t]:null},set:function(t,e){return this.data[t]=e},each:function(t,e){void 0!==e&&(t=m(t,e));for(var i in this.data)this.data.hasOwnProperty(i)&&t(this.data[i],i)},removeKey:function(t){delete this.data[t]}};var aw=(Object.freeze||Object)({$override:e,clone:i,merge:n,mergeAll:o,extend:a,defaults:r,createCanvas:iw,getContext:s,indexOf:l,inherits:u,mixin:h,isArrayLike:c,each:d,map:f,reduce:p,filter:g,find:function(t,e,i){if(t&&e)for(var n=0,o=t.length;n3&&(n=dw.call(n,1));for(var a=e.length,r=0;r4&&(n=dw.call(n,1,n.length-1));for(var a=n[n.length-1],r=e.length,s=0;s1&&n&&n.length>1){var a=ft(n)/ft(o);!isFinite(a)&&(a=1),e.pinchScale=a;var r=pt(n);return e.pinchX=r[0],e.pinchY=r[1],{type:"pinch",target:t[0].target,event:e}}}}},xw="silent";vt.prototype.dispose=function(){};var _w=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],ww=function(t,e,i,n){fw.call(this),this.storage=t,this.painter=e,this.painterRoot=n,i=i||new vt,this.proxy=null,this._hovered={},this._lastTouchMoment,this._lastX,this._lastY,this._gestureMgr,it.call(this),this.setHandlerProxy(i)};ww.prototype={constructor:ww,setHandlerProxy:function(t){this.proxy&&this.proxy.dispose(),t&&(d(_w,function(e){t.on&&t.on(e,this[e],this)},this),t.handler=this),this.proxy=t},mousemove:function(t){var e=t.zrX,i=t.zrY,n=this._hovered,o=n.target;o&&!o.__zr&&(o=(n=this.findHover(n.x,n.y)).target);var a=this._hovered=this.findHover(e,i),r=a.target,s=this.proxy;s.setCursor&&s.setCursor(r?r.cursor:"default"),o&&r!==o&&this.dispatchToElement(n,"mouseout",t),this.dispatchToElement(a,"mousemove",t),r&&r!==o&&this.dispatchToElement(a,"mouseover",t)},mouseout:function(t){this.dispatchToElement(this._hovered,"mouseout",t);var e,i=t.toElement||t.relatedTarget;do{i=i&&i.parentNode}while(i&&9!==i.nodeType&&!(e=i===this.painterRoot));!e&&this.trigger("globalout",{event:t})},resize:function(t){this._hovered={}},dispatch:function(t,e){var i=this[t];i&&i.call(this,e)},dispose:function(){this.proxy.dispose(),this.storage=this.proxy=this.painter=null},setCursorStyle:function(t){var e=this.proxy;e.setCursor&&e.setCursor(t)},dispatchToElement:function(t,e,i){var n=(t=t||{}).target;if(!n||!n.silent){for(var o="on"+e,a=gt(e,t,i);n&&(n[o]&&(a.cancelBubble=n[o].call(n,a)),n.trigger(e,a),n=n.parent,!a.cancelBubble););a.cancelBubble||(this.trigger(e,a),this.painter&&this.painter.eachOtherLayer(function(t){"function"==typeof t[o]&&t[o].call(t,a),t.trigger&&t.trigger(e,a)}))}},findHover:function(t,e,i){for(var n=this.storage.getDisplayList(),o={x:t,y:e},a=n.length-1;a>=0;a--){var r;if(n[a]!==i&&!n[a].ignore&&(r=yt(n[a],t,e))&&(!o.topTarget&&(o.topTarget=n[a]),r!==xw)){o.target=n[a];break}}return o},processGesture:function(t,e){this._gestureMgr||(this._gestureMgr=new vw);var i=this._gestureMgr;"start"===e&&i.clear();var n=i.recognize(t,this.findHover(t.zrX,t.zrY,null).target,this.proxy.dom);if("end"===e&&i.clear(),n){var o=n.type;t.gestureEvent=o,this.dispatchToElement({target:n.target},o,n.event)}}},d(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(t){ww.prototype[t]=function(e){var i=this.findHover(e.zrX,e.zrY),n=i.target;if("mousedown"===t)this._downEl=n,this._downPoint=[e.zrX,e.zrY],this._upEl=n;else if("mouseup"===t)this._upEl=n;else if("click"===t){if(this._downEl!==this._upEl||!this._downPoint||uw(this._downPoint,[e.zrX,e.zrY])>4)return;this._downPoint=null}this.dispatchToElement(i,t,e)}}),h(ww,fw),h(ww,it);var bw="undefined"==typeof Float32Array?Array:Float32Array,Sw=(Object.freeze||Object)({create:xt,identity:_t,copy:wt,mul:bt,translate:St,rotate:Mt,scale:It,invert:Tt,clone:At}),Mw=_t,Iw=5e-5,Tw=function(t){(t=t||{}).position||(this.position=[0,0]),null==t.rotation&&(this.rotation=0),t.scale||(this.scale=[1,1]),this.origin=this.origin||null},Aw=Tw.prototype;Aw.transform=null,Aw.needLocalTransform=function(){return Dt(this.rotation)||Dt(this.position[0])||Dt(this.position[1])||Dt(this.scale[0]-1)||Dt(this.scale[1]-1)};var Dw=[];Aw.updateTransform=function(){var t=this.parent,e=t&&t.transform,i=this.needLocalTransform(),n=this.transform;if(i||e){n=n||xt(),i?this.getLocalTransform(n):Mw(n),e&&(i?bt(n,t.transform,n):wt(n,t.transform)),this.transform=n;var o=this.globalScaleRatio;if(null!=o&&1!==o){this.getGlobalScale(Dw);var a=Dw[0]<0?-1:1,r=Dw[1]<0?-1:1,s=((Dw[0]-a)*o+a)/Dw[0]||0,l=((Dw[1]-r)*o+r)/Dw[1]||0;n[0]*=s,n[1]*=s,n[2]*=l,n[3]*=l}this.invTransform=this.invTransform||xt(),Tt(this.invTransform,n)}else n&&Mw(n)},Aw.getLocalTransform=function(t){return Tw.getLocalTransform(this,t)},Aw.setTransform=function(t){var e=this.transform,i=t.dpr||1;e?t.setTransform(i*e[0],i*e[1],i*e[2],i*e[3],i*e[4],i*e[5]):t.setTransform(i,0,0,i,0,0)},Aw.restoreTransform=function(t){var e=t.dpr||1;t.setTransform(e,0,0,e,0,0)};var Cw=[],Lw=xt();Aw.setLocalTransform=function(t){if(t){var e=t[0]*t[0]+t[1]*t[1],i=t[2]*t[2]+t[3]*t[3],n=this.position,o=this.scale;Dt(e-1)&&(e=Math.sqrt(e)),Dt(i-1)&&(i=Math.sqrt(i)),t[0]<0&&(e=-e),t[3]<0&&(i=-i),n[0]=t[4],n[1]=t[5],o[0]=e,o[1]=i,this.rotation=Math.atan2(-t[1]/i,t[0]/e)}},Aw.decomposeTransform=function(){if(this.transform){var t=this.parent,e=this.transform;t&&t.transform&&(bt(Cw,t.invTransform,e),e=Cw);var i=this.origin;i&&(i[0]||i[1])&&(Lw[4]=i[0],Lw[5]=i[1],bt(Cw,e,Lw),Cw[4]-=i[0],Cw[5]-=i[1],e=Cw),this.setLocalTransform(e)}},Aw.getGlobalScale=function(t){var e=this.transform;return t=t||[],e?(t[0]=Math.sqrt(e[0]*e[0]+e[1]*e[1]),t[1]=Math.sqrt(e[2]*e[2]+e[3]*e[3]),e[0]<0&&(t[0]=-t[0]),e[3]<0&&(t[1]=-t[1]),t):(t[0]=1,t[1]=1,t)},Aw.transformCoordToLocal=function(t,e){var i=[t,e],n=this.invTransform;return n&&Q(i,i,n),i},Aw.transformCoordToGlobal=function(t,e){var i=[t,e],n=this.transform;return n&&Q(i,i,n),i},Tw.getLocalTransform=function(t,e){Mw(e=e||[]);var i=t.origin,n=t.scale||[1,1],o=t.rotation||0,a=t.position||[0,0];return i&&(e[4]-=i[0],e[5]-=i[1]),It(e,e,n),o&&Mt(e,e,o),i&&(e[4]+=i[0],e[5]+=i[1]),e[4]+=a[0],e[5]+=a[1],e};var kw={linear:function(t){return t},quadraticIn:function(t){return t*t},quadraticOut:function(t){return t*(2-t)},quadraticInOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)},cubicIn:function(t){return t*t*t},cubicOut:function(t){return--t*t*t+1},cubicInOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},quarticIn:function(t){return t*t*t*t},quarticOut:function(t){return 1- --t*t*t*t},quarticInOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},quinticIn:function(t){return t*t*t*t*t},quinticOut:function(t){return--t*t*t*t*t+1},quinticInOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},sinusoidalIn:function(t){return 1-Math.cos(t*Math.PI/2)},sinusoidalOut:function(t){return Math.sin(t*Math.PI/2)},sinusoidalInOut:function(t){return.5*(1-Math.cos(Math.PI*t))},exponentialIn:function(t){return 0===t?0:Math.pow(1024,t-1)},exponentialOut:function(t){return 1===t?1:1-Math.pow(2,-10*t)},exponentialInOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))},circularIn:function(t){return 1-Math.sqrt(1-t*t)},circularOut:function(t){return Math.sqrt(1- --t*t)},circularInOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},elasticIn:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},elasticOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},elasticInOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)},backIn:function(t){var e=1.70158;return t*t*((e+1)*t-e)},backOut:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},backInOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)},bounceIn:function(t){return 1-kw.bounceOut(1-t)},bounceOut:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},bounceInOut:function(t){return t<.5?.5*kw.bounceIn(2*t):.5*kw.bounceOut(2*t-1)+.5}};Ct.prototype={constructor:Ct,step:function(t,e){if(this._initialized||(this._startTime=t+this._delay,this._initialized=!0),this._paused)this._pausedTime+=e;else{var i=(t-this._startTime-this._pausedTime)/this._life;if(!(i<0)){i=Math.min(i,1);var n=this.easing,o="string"==typeof n?kw[n]:n,a="function"==typeof o?o(i):i;return this.fire("frame",a),1===i?this.loop?(this.restart(t),"restart"):(this._needsRemove=!0,"destroy"):null}}},restart:function(t){var e=(t-this._startTime-this._pausedTime)%this._life;this._startTime=t-e+this.gap,this._pausedTime=0,this._needsRemove=!1},fire:function(t,e){this[t="on"+t]&&this[t](this._target,e)},pause:function(){this._paused=!0},resume:function(){this._paused=!1}};var Pw=function(){this.head=null,this.tail=null,this._len=0},Nw=Pw.prototype;Nw.insert=function(t){var e=new Ow(t);return this.insertEntry(e),e},Nw.insertEntry=function(t){this.head?(this.tail.next=t,t.prev=this.tail,t.next=null,this.tail=t):this.head=this.tail=t,this._len++},Nw.remove=function(t){var e=t.prev,i=t.next;e?e.next=i:this.head=i,i?i.prev=e:this.tail=e,t.next=t.prev=null,this._len--},Nw.len=function(){return this._len},Nw.clear=function(){this.head=this.tail=null,this._len=0};var Ow=function(t){this.value=t,this.next,this.prev},Ew=function(t){this._list=new Pw,this._map={},this._maxSize=t||10,this._lastRemovedEntry=null},Rw=Ew.prototype;Rw.put=function(t,e){var i=this._list,n=this._map,o=null;if(null==n[t]){var a=i.len(),r=this._lastRemovedEntry;if(a>=this._maxSize&&a>0){var s=i.head;i.remove(s),delete n[s.key],o=s.value,this._lastRemovedEntry=s}r?r.value=e:r=new Ow(e),r.key=t,i.insertEntry(r),n[t]=r}return o},Rw.get=function(t){var e=this._map[t],i=this._list;if(null!=e)return e!==i.tail&&(i.remove(e),i.insertEntry(e)),e.value},Rw.clear=function(){this._list.clear(),this._map={}};var zw={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]},Bw=new Ew(20),Vw=null,Gw=Ut,Fw=Xt,Ww=(Object.freeze||Object)({parse:Gt,lift:Ht,toHex:Zt,fastLerp:Ut,fastMapToColor:Gw,lerp:Xt,mapToColor:Fw,modifyHSL:jt,modifyAlpha:Yt,stringify:qt}),Hw=Array.prototype.slice,Zw=function(t,e,i,n){this._tracks={},this._target=t,this._loop=e||!1,this._getter=i||Kt,this._setter=n||$t,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};Zw.prototype={when:function(t,e){var i=this._tracks;for(var n in e)if(e.hasOwnProperty(n)){if(!i[n]){i[n]=[];var o=this._getter(this._target,n);if(null==o)continue;0!==t&&i[n].push({time:0,value:ae(o)})}i[n].push({time:t,value:e[n]})}return this},during:function(t){return this._onframeList.push(t),this},pause:function(){for(var t=0;t=i.x&&t<=i.x+i.width&&e>=i.y&&e<=i.y+i.height},clone:function(){return new de(this.x,this.y,this.width,this.height)},copy:function(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}},de.create=function(t){return new de(t.x,t.y,t.width,t.height)};var tb=function(t){t=t||{},Kw.call(this,t);for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);this._children=[],this.__storage=null,this.__dirty=!0};tb.prototype={constructor:tb,isGroup:!0,type:"group",silent:!1,children:function(){return this._children.slice()},childAt:function(t){return this._children[t]},childOfName:function(t){for(var e=this._children,i=0;i=0&&(i.splice(n,0,t),this._doAdd(t))}return this},_doAdd:function(t){t.parent&&t.parent.remove(t),t.parent=this;var e=this.__storage,i=this.__zr;e&&e!==t.__storage&&(e.addToStorage(t),t instanceof tb&&t.addChildrenToStorage(e)),i&&i.refresh()},remove:function(t){var e=this.__zr,i=this.__storage,n=this._children,o=l(n,t);return o<0?this:(n.splice(o,1),t.parent=null,i&&(i.delFromStorage(t),t instanceof tb&&t.delChildrenFromStorage(i)),e&&e.refresh(),this)},removeAll:function(){var t,e,i=this._children,n=this.__storage;for(e=0;e=0&&(this.delFromStorage(t),this._roots.splice(o,1),t instanceof tb&&t.delChildrenFromStorage(this))}},addToStorage:function(t){return t&&(t.__storage=this,t.dirty(!1)),this},delFromStorage:function(t){return t&&(t.__storage=null),this},dispose:function(){this._renderList=this._roots=null},displayableSortFunc:we};var ob={shadowBlur:1,shadowOffsetX:1,shadowOffsetY:1,textShadowBlur:1,textShadowOffsetX:1,textShadowOffsetY:1,textBoxShadowBlur:1,textBoxShadowOffsetX:1,textBoxShadowOffsetY:1},ab=function(t,e,i){return ob.hasOwnProperty(e)?i*=t.dpr:i},rb={NONE:0,STYLE_BIND:1,PLAIN_TEXT:2},sb=9,lb=[["shadowBlur",0],["shadowOffsetX",0],["shadowOffsetY",0],["shadowColor","#000"],["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]],ub=function(t){this.extendFrom(t,!1)};ub.prototype={constructor:ub,fill:"#000",stroke:null,opacity:1,fillOpacity:null,strokeOpacity:null,lineDash:null,lineDashOffset:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,lineWidth:1,strokeNoScale:!1,text:null,font:null,textFont:null,fontStyle:null,fontWeight:null,fontSize:null,fontFamily:null,textTag:null,textFill:"#000",textStroke:null,textWidth:null,textHeight:null,textStrokeWidth:0,textLineHeight:null,textPosition:"inside",textRect:null,textOffset:null,textAlign:null,textVerticalAlign:null,textDistance:5,textShadowColor:"transparent",textShadowBlur:0,textShadowOffsetX:0,textShadowOffsetY:0,textBoxShadowColor:"transparent",textBoxShadowBlur:0,textBoxShadowOffsetX:0,textBoxShadowOffsetY:0,transformText:!1,textRotation:0,textOrigin:null,textBackgroundColor:null,textBorderColor:null,textBorderWidth:0,textBorderRadius:0,textPadding:null,rich:null,truncate:null,blend:null,bind:function(t,e,i){var n=this,o=i&&i.style,a=!o||t.__attrCachedBy!==rb.STYLE_BIND;t.__attrCachedBy=rb.STYLE_BIND;for(var r=0;r0},extendFrom:function(t,e){if(t)for(var i in t)!t.hasOwnProperty(i)||!0!==e&&(!1===e?this.hasOwnProperty(i):null==t[i])||(this[i]=t[i])},set:function(t,e){"string"==typeof t?this[t]=e:this.extendFrom(t,!0)},clone:function(){var t=new this.constructor;return t.extendFrom(this,!0),t},getGradient:function(t,e,i){for(var n=("radial"===e.type?Se:be)(t,e,i),o=e.colorStops,a=0;a=0&&i.splice(n,1),t.__hoverMir=null},clearHover:function(t){for(var e=this._hoverElements,i=0;i15)break}s.__drawIndex=m,s.__drawIndex0&&t>n[0]){for(r=0;rt);r++);a=i[n[r]]}if(n.splice(r+1,0,t),i[t]=e,!e.virtual)if(a){var l=a.dom;l.nextSibling?s.insertBefore(e.dom,l.nextSibling):s.appendChild(e.dom)}else s.firstChild?s.insertBefore(e.dom,s.firstChild):s.appendChild(e.dom)}else Yw("Layer of zlevel "+t+" is not valid")},eachLayer:function(t,e){var i,n,o=this._zlevelList;for(n=0;n0?.01:0),this._needsManuallyCompositing),a.__builtin__||Yw("ZLevel "+s+" has been used by unkown layer "+a.id),a!==i&&(a.__used=!0,a.__startIndex!==o&&(a.__dirty=!0),a.__startIndex=o,a.incremental?a.__drawIndex=-1:a.__drawIndex=o,e(o),i=a),r.__dirty&&(a.__dirty=!0,a.incremental&&a.__drawIndex<0&&(a.__drawIndex=o))}e(o),this.eachBuiltinLayer(function(t,e){!t.__used&&t.getElementCount()>0&&(t.__dirty=!0,t.__startIndex=t.__endIndex=t.__drawIndex=0),t.__dirty&&t.__drawIndex<0&&(t.__drawIndex=t.__startIndex)})},clear:function(){return this.eachBuiltinLayer(this._clearLayer),this},_clearLayer:function(t){t.clear()},setBackgroundColor:function(t){this._backgroundColor=t},configLayer:function(t,e){if(e){var i=this._layerConfig;i[t]?n(i[t],e,!0):i[t]=e;for(var o=0;o=0&&this._clips.splice(e,1)},removeAnimator:function(t){for(var e=t.getClips(),i=0;i=0||n&&l(n,r)<0)){var s=e.getShallow(r);null!=s&&(o[t[a][0]]=s)}}return o}},tS=Qb([["lineWidth","width"],["stroke","color"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),eS={getLineStyle:function(t){var e=tS(this,t),i=this.getLineDash(e.lineWidth);return i&&(e.lineDash=i),e},getLineDash:function(t){null==t&&(t=1);var e=this.get("type"),i=Math.max(t,2),n=4*t;return"solid"===e||null==e?null:"dashed"===e?[n,n]:[i,i]}},iS=Qb([["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]]),nS={getAreaStyle:function(t,e){return iS(this,t,e)}},oS=Math.pow,aS=Math.sqrt,rS=1e-8,sS=1e-4,lS=aS(3),uS=1/3,hS=V(),cS=V(),dS=V(),fS=Math.min,pS=Math.max,gS=Math.sin,mS=Math.cos,vS=2*Math.PI,yS=V(),xS=V(),_S=V(),wS=[],bS=[],SS={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},MS=[],IS=[],TS=[],AS=[],DS=Math.min,CS=Math.max,LS=Math.cos,kS=Math.sin,PS=Math.sqrt,NS=Math.abs,OS="undefined"!=typeof Float32Array,ES=function(t){this._saveData=!t,this._saveData&&(this.data=[]),this._ctx=null};ES.prototype={constructor:ES,_xi:0,_yi:0,_x0:0,_y0:0,_ux:0,_uy:0,_len:0,_lineDash:null,_dashOffset:0,_dashIdx:0,_dashSum:0,setScale:function(t,e){this._ux=NS(1/Xw/t)||0,this._uy=NS(1/Xw/e)||0},getContext:function(){return this._ctx},beginPath:function(t){return this._ctx=t,t&&t.beginPath(),t&&(this.dpr=t.dpr),this._saveData&&(this._len=0),this._lineDash&&(this._lineDash=null,this._dashOffset=0),this},moveTo:function(t,e){return this.addData(SS.M,t,e),this._ctx&&this._ctx.moveTo(t,e),this._x0=t,this._y0=e,this._xi=t,this._yi=e,this},lineTo:function(t,e){var i=NS(t-this._xi)>this._ux||NS(e-this._yi)>this._uy||this._len<5;return this.addData(SS.L,t,e),this._ctx&&i&&(this._needsDash()?this._dashedLineTo(t,e):this._ctx.lineTo(t,e)),i&&(this._xi=t,this._yi=e),this},bezierCurveTo:function(t,e,i,n,o,a){return this.addData(SS.C,t,e,i,n,o,a),this._ctx&&(this._needsDash()?this._dashedBezierTo(t,e,i,n,o,a):this._ctx.bezierCurveTo(t,e,i,n,o,a)),this._xi=o,this._yi=a,this},quadraticCurveTo:function(t,e,i,n){return this.addData(SS.Q,t,e,i,n),this._ctx&&(this._needsDash()?this._dashedQuadraticTo(t,e,i,n):this._ctx.quadraticCurveTo(t,e,i,n)),this._xi=i,this._yi=n,this},arc:function(t,e,i,n,o,a){return this.addData(SS.A,t,e,i,i,n,o-n,0,a?0:1),this._ctx&&this._ctx.arc(t,e,i,n,o,a),this._xi=LS(o)*i+t,this._yi=kS(o)*i+e,this},arcTo:function(t,e,i,n,o){return this._ctx&&this._ctx.arcTo(t,e,i,n,o),this},rect:function(t,e,i,n){return this._ctx&&this._ctx.rect(t,e,i,n),this.addData(SS.R,t,e,i,n),this},closePath:function(){this.addData(SS.Z);var t=this._ctx,e=this._x0,i=this._y0;return t&&(this._needsDash()&&this._dashedLineTo(e,i),t.closePath()),this._xi=e,this._yi=i,this},fill:function(t){t&&t.fill(),this.toStatic()},stroke:function(t){t&&t.stroke(),this.toStatic()},setLineDash:function(t){if(t instanceof Array){this._lineDash=t,this._dashIdx=0;for(var e=0,i=0;ie.length&&(this._expandData(),e=this.data);for(var i=0;i0&&f<=t||h<0&&f>=t||0===h&&(c>0&&p<=e||c<0&&p>=e);)f+=h*(i=r[n=this._dashIdx]),p+=c*i,this._dashIdx=(n+1)%g,h>0&&fl||c>0&&pu||s[n%2?"moveTo":"lineTo"](h>=0?DS(f,t):CS(f,t),c>=0?DS(p,e):CS(p,e));h=f-t,c=p-e,this._dashOffset=-PS(h*h+c*c)},_dashedBezierTo:function(t,e,i,n,o,a){var r,s,l,u,h,c=this._dashSum,d=this._dashOffset,f=this._lineDash,p=this._ctx,g=this._xi,m=this._yi,v=tn,y=0,x=this._dashIdx,_=f.length,w=0;for(d<0&&(d=c+d),d%=c,r=0;r<1;r+=.1)s=v(g,t,i,o,r+.1)-v(g,t,i,o,r),l=v(m,e,n,a,r+.1)-v(m,e,n,a,r),y+=PS(s*s+l*l);for(;x<_&&!((w+=f[x])>d);x++);for(r=(w-d)/y;r<=1;)u=v(g,t,i,o,r),h=v(m,e,n,a,r),x%2?p.moveTo(u,h):p.lineTo(u,h),r+=f[x]/y,x=(x+1)%_;x%2!=0&&p.lineTo(o,a),s=o-u,l=a-h,this._dashOffset=-PS(s*s+l*l)},_dashedQuadraticTo:function(t,e,i,n){var o=i,a=n;i=(i+2*t)/3,n=(n+2*e)/3,t=(this._xi+2*t)/3,e=(this._yi+2*e)/3,this._dashedBezierTo(t,e,i,n,o,a)},toStatic:function(){var t=this.data;t instanceof Array&&(t.length=this._len,OS&&(this.data=new Float32Array(t)))},getBoundingRect:function(){MS[0]=MS[1]=TS[0]=TS[1]=Number.MAX_VALUE,IS[0]=IS[1]=AS[0]=AS[1]=-Number.MAX_VALUE;for(var t=this.data,e=0,i=0,n=0,o=0,a=0;al||NS(r-o)>u||c===h-1)&&(t.lineTo(a,r),n=a,o=r);break;case SS.C:t.bezierCurveTo(s[c++],s[c++],s[c++],s[c++],s[c++],s[c++]),n=s[c-2],o=s[c-1];break;case SS.Q:t.quadraticCurveTo(s[c++],s[c++],s[c++],s[c++]),n=s[c-2],o=s[c-1];break;case SS.A:var f=s[c++],p=s[c++],g=s[c++],m=s[c++],v=s[c++],y=s[c++],x=s[c++],_=s[c++],w=g>m?g:m,b=g>m?1:g/m,S=g>m?m/g:1,M=v+y;Math.abs(g-m)>.001?(t.translate(f,p),t.rotate(x),t.scale(b,S),t.arc(0,0,w,v,M,1-_),t.scale(1/b,1/S),t.rotate(-x),t.translate(-f,-p)):t.arc(f,p,w,v,M,1-_),1===c&&(e=LS(v)*g+f,i=kS(v)*m+p),n=LS(M)*g+f,o=kS(M)*m+p;break;case SS.R:e=n=s[c],i=o=s[c+1],t.rect(s[c++],s[c++],s[c++],s[c++]);break;case SS.Z:t.closePath(),n=e,o=i}}}},ES.CMD=SS;var RS=2*Math.PI,zS=2*Math.PI,BS=ES.CMD,VS=2*Math.PI,GS=1e-4,FS=[-1,-1,-1],WS=[-1,-1],HS=fb.prototype.getCanvasPattern,ZS=Math.abs,US=new ES(!0);Pn.prototype={constructor:Pn,type:"path",__dirtyPath:!0,strokeContainThreshold:5,subPixelOptimize:!1,brush:function(t,e){var i=this.style,n=this.path||US,o=i.hasStroke(),a=i.hasFill(),r=i.fill,s=i.stroke,l=a&&!!r.colorStops,u=o&&!!s.colorStops,h=a&&!!r.image,c=o&&!!s.image;if(i.bind(t,this,e),this.setTransform(t),this.__dirty){var d;l&&(d=d||this.getBoundingRect(),this._fillGradient=i.getGradient(t,r,d)),u&&(d=d||this.getBoundingRect(),this._strokeGradient=i.getGradient(t,s,d))}l?t.fillStyle=this._fillGradient:h&&(t.fillStyle=HS.call(r,t)),u?t.strokeStyle=this._strokeGradient:c&&(t.strokeStyle=HS.call(s,t));var f=i.lineDash,p=i.lineDashOffset,g=!!t.setLineDash,m=this.getGlobalScale();if(n.setScale(m[0],m[1]),this.__dirtyPath||f&&!g&&o?(n.beginPath(t),f&&!g&&(n.setLineDash(f),n.setLineDashOffset(p)),this.buildPath(n,this.shape,!1),this.path&&(this.__dirtyPath=!1)):(t.beginPath(),this.path.rebuildPath(t)),a)if(null!=i.fillOpacity){v=t.globalAlpha;t.globalAlpha=i.fillOpacity*i.opacity,n.fill(t),t.globalAlpha=v}else n.fill(t);if(f&&g&&(t.setLineDash(f),t.lineDashOffset=p),o)if(null!=i.strokeOpacity){var v=t.globalAlpha;t.globalAlpha=i.strokeOpacity*i.opacity,n.stroke(t),t.globalAlpha=v}else n.stroke(t);f&&g&&t.setLineDash([]),null!=i.text&&(this.restoreTransform(t),this.drawRectText(t,this.getBoundingRect()))},buildPath:function(t,e,i){},createPathProxy:function(){this.path=new ES},getBoundingRect:function(){var t=this._rect,e=this.style,i=!t;if(i){var n=this.path;n||(n=this.path=new ES),this.__dirtyPath&&(n.beginPath(),this.buildPath(n,this.shape,!1)),t=n.getBoundingRect()}if(this._rect=t,e.hasStroke()){var o=this._rectWithStroke||(this._rectWithStroke=t.clone());if(this.__dirty||i){o.copy(t);var a=e.lineWidth,r=e.strokeNoScale?this.getLineScale():1;e.hasFill()||(a=Math.max(a,this.strokeContainThreshold||4)),r>1e-10&&(o.width+=a/r,o.height+=a/r,o.x-=a/r/2,o.y-=a/r/2)}return o}return t},contain:function(t,e){var i=this.transformCoordToLocal(t,e),n=this.getBoundingRect(),o=this.style;if(t=i[0],e=i[1],n.contain(t,e)){var a=this.path.data;if(o.hasStroke()){var r=o.lineWidth,s=o.strokeNoScale?this.getLineScale():1;if(s>1e-10&&(o.hasFill()||(r=Math.max(r,this.strokeContainThreshold)),kn(a,r/s,t,e)))return!0}if(o.hasFill())return Ln(a,t,e)}return!1},dirty:function(t){null==t&&(t=!0),t&&(this.__dirtyPath=t,this._rect=null),this.__dirty=this.__dirtyText=!0,this.__zr&&this.__zr.refresh(),this.__clipTarget&&this.__clipTarget.dirty()},animateShape:function(t){return this.animate("shape",t)},attrKV:function(t,e){"shape"===t?(this.setShape(e),this.__dirtyPath=!0,this._rect=null):di.prototype.attrKV.call(this,t,e)},setShape:function(t,e){var i=this.shape;if(i){if(w(t))for(var n in t)t.hasOwnProperty(n)&&(i[n]=t[n]);else i[t]=e;this.dirty(!0)}return this},getLineScale:function(){var t=this.transform;return t&&ZS(t[0]-1)>1e-10&&ZS(t[3]-1)>1e-10?Math.sqrt(ZS(t[0]*t[3]-t[2]*t[1])):1}},Pn.extend=function(t){var e=function(e){Pn.call(this,e),t.style&&this.style.extendFrom(t.style,!1);var i=t.shape;if(i){this.shape=this.shape||{};var n=this.shape;for(var o in i)!n.hasOwnProperty(o)&&i.hasOwnProperty(o)&&(n[o]=i[o])}t.init&&t.init.call(this,e)};u(e,Pn);for(var i in t)"style"!==i&&"shape"!==i&&(e.prototype[i]=t[i]);return e},u(Pn,di);var XS=ES.CMD,jS=[[],[],[]],YS=Math.sqrt,qS=Math.atan2,KS=function(t,e){var i,n,o,a,r,s,l=t.data,u=XS.M,h=XS.C,c=XS.L,d=XS.R,f=XS.A,p=XS.Q;for(o=0,a=0;o=11?function(){var e,i=this.__clipPaths,n=this.style;if(i)for(var o=0;oi-2?i-1:c+1],u=t[c>i-3?i-1:c+2]);var p=d*d,g=d*p;n.push([Bn(s[0],f[0],l[0],u[0],d,p,g),Bn(s[1],f[1],l[1],u[1],d,p,g)])}return n},fM=function(t,e,i,n){var o,a,r,s,l=[],u=[],h=[],c=[];if(n){r=[1/0,1/0],s=[-1/0,-1/0];for(var d=0,f=t.length;d=i&&a>=o)return{x:i,y:o,width:n-i,height:a-o}},createIcon:Po,Group:tb,Image:fi,Text:rM,Circle:sM,Sector:hM,Ring:cM,Polygon:pM,Polyline:gM,Rect:yM,Line:_M,BezierCurve:bM,Arc:SM,IncrementalDisplayable:Zn,CompoundPath:MM,LinearGradient:TM,RadialGradient:AM,BoundingRect:de}),BM=["textStyle","color"],VM={getTextColor:function(t){var e=this.ecModel;return this.getShallow("color")||(!t&&e?e.get(BM):null)},getFont:function(){return So({fontStyle:this.getShallow("fontStyle"),fontWeight:this.getShallow("fontWeight"),fontSize:this.getShallow("fontSize"),fontFamily:this.getShallow("fontFamily")},this.ecModel)},getTextRect:function(t){return ke(t,this.getFont(),this.getShallow("align"),this.getShallow("verticalAlign")||this.getShallow("baseline"),this.getShallow("padding"),this.getShallow("lineHeight"),this.getShallow("rich"),this.getShallow("truncateText"))}},GM=Qb([["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"],["textPosition"],["textAlign"]]),FM={getItemStyle:function(t,e){var i=GM(this,t,e),n=this.getBorderLineDash();return n&&(i.lineDash=n),i},getBorderLineDash:function(){var t=this.get("borderType");return"solid"===t||null==t?null:"dashed"===t?[5,5]:[1,1]}},WM=h,HM=Bi();No.prototype={constructor:No,init:null,mergeOption:function(t){n(this.option,t,!0)},get:function(t,e){return null==t?this.option:Oo(this.option,this.parsePath(t),!e&&Eo(this,t))},getShallow:function(t,e){var i=this.option,n=null==i?i:i[t],o=!e&&Eo(this,t);return null==n&&o&&(n=o.getShallow(t)),n},getModel:function(t,e){var i,n=null==t?this.option:Oo(this.option,t=this.parsePath(t));return e=e||(i=Eo(this,t))&&i.getModel(t),new No(n,e,this.ecModel)},isEmpty:function(){return null==this.option},restoreData:function(){},clone:function(){return new(0,this.constructor)(i(this.option))},setReadOnly:function(t){},parsePath:function(t){return"string"==typeof t&&(t=t.split(".")),t},customizeGetParent:function(t){HM(this).getParent=t},isAnimationEnabled:function(){if(!U_.node){if(null!=this.option.animation)return!!this.option.animation;if(this.parentModel)return this.parentModel.isAnimationEnabled()}}},ji(No),Yi(No),WM(No,eS),WM(No,nS),WM(No,VM),WM(No,FM);var ZM=0,UM=1e-4,XM=9007199254740991,jM=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d\d)(?::(\d\d)(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/,YM=(Object.freeze||Object)({linearMap:Bo,parsePercent:Vo,round:Go,asc:Fo,getPrecision:Wo,getPrecisionSafe:Ho,getPixelPrecision:Zo,getPercentWithPrecision:Uo,MAX_SAFE_INTEGER:XM,remRadian:Xo,isRadianAroundZero:jo,parseDate:Yo,quantity:qo,nice:$o,quantile:function(t,e){var i=(t.length-1)*e+1,n=Math.floor(i),o=+t[n-1],a=i-n;return a?o+a*(t[n]-o):o},reformIntervals:Jo,isNumeric:Qo}),qM=L,KM=/([&<>"'])/g,$M={"&":"&","<":"<",">":">",'"':""","'":"'"},JM=["a","b","c","d","e","f","g"],QM=function(t,e){return"{"+t+(null==e?"":e)+"}"},tI=ze,eI=(Object.freeze||Object)({addCommas:ta,toCamelCase:ea,normalizeCssArray:qM,encodeHTML:ia,formatTpl:na,formatTplSimple:oa,getTooltipMarker:aa,formatTime:sa,capitalFirst:la,truncateText:tI,getTextBoundingRect:function(t){return ke(t.text,t.font,t.textAlign,t.textVerticalAlign,t.textPadding,t.textLineHeight,t.rich,t.truncate)},getTextRect:function(t,e,i,n,o,a,r,s){return ke(t,e,i,n,o,s,a,r)}}),iI=d,nI=["left","right","top","bottom","width","height"],oI=[["width","left","right"],["height","top","bottom"]],aI=ua,rI=(v(ua,"vertical"),v(ua,"horizontal"),{getBoxLayoutParams:function(){return{left:this.get("left"),top:this.get("top"),right:this.get("right"),bottom:this.get("bottom"),width:this.get("width"),height:this.get("height")}}}),sI=Bi(),lI=No.extend({type:"component",id:"",name:"",mainType:"",subType:"",componentIndex:0,defaultOption:null,ecModel:null,dependentModels:[],uid:null,layoutMode:null,$constructor:function(t,e,i,n){No.call(this,t,e,i,n),this.uid=Ro("ec_cpt_model")},init:function(t,e,i,n){this.mergeDefaultAndTheme(t,i)},mergeDefaultAndTheme:function(t,e){var i=this.layoutMode,o=i?ga(t):{};n(t,e.getTheme().get(this.mainType)),n(t,this.getDefaultOption()),i&&pa(t,o,i)},mergeOption:function(t,e){n(this.option,t,!0);var i=this.layoutMode;i&&pa(this.option,t,i)},optionUpdated:function(t,e){},getDefaultOption:function(){var t=sI(this);if(!t.defaultOption){for(var e=[],i=this.constructor;i;){var o=i.prototype.defaultOption;o&&e.push(o),i=i.superClass}for(var a={},r=e.length-1;r>=0;r--)a=n(a,e[r],!0);t.defaultOption=a}return t.defaultOption},getReferringComponents:function(t){return this.ecModel.queryComponents({mainType:t,index:this.get(t+"Index",!0),id:this.get(t+"Id",!0)})}});$i(lI,{registerWhenExtend:!0}),function(t){var e={};t.registerSubTypeDefaulter=function(t,i){t=Ui(t),e[t.main]=i},t.determineSubType=function(i,n){var o=n.type;if(!o){var a=Ui(i).main;t.hasSubTypes(i)&&e[a]&&(o=e[a](n))}return o}}(lI),function(t,e){function i(t){var i={},a=[];return d(t,function(r){var s=n(i,r),u=o(s.originalDeps=e(r),t);s.entryCount=u.length,0===s.entryCount&&a.push(r),d(u,function(t){l(s.predecessor,t)<0&&s.predecessor.push(t);var e=n(i,t);l(e.successor,t)<0&&e.successor.push(r)})}),{graph:i,noEntryList:a}}function n(t,e){return t[e]||(t[e]={predecessor:[],successor:[]}),t[e]}function o(t,e){var i=[];return d(t,function(t){l(e,t)>=0&&i.push(t)}),i}t.topologicalTravel=function(t,e,n,o){function a(t){s[t].entryCount--,0===s[t].entryCount&&l.push(t)}if(t.length){var r=i(e),s=r.graph,l=r.noEntryList,u={};for(d(t,function(t){u[t]=!0});l.length;){var h=l.pop(),c=s[h],f=!!u[h];f&&(n.call(o,h,c.originalDeps.slice()),delete u[h]),d(c.successor,f?function(t){u[t]=!0,a(t)}:a)}d(u,function(){throw new Error("Circle dependency may exists")})}}}(lI,function(t){var e=[];return d(lI.getClassesByMainType(t),function(t){e=e.concat(t.prototype.dependencies||[])}),e=f(e,function(t){return Ui(t).main}),"dataset"!==t&&l(e,"dataset")<=0&&e.unshift("dataset"),e}),h(lI,rI);var uI="";"undefined"!=typeof navigator&&(uI=navigator.platform||"");var hI={color:["#c23531","#2f4554","#61a0a8","#d48265","#91c7ae","#749f83","#ca8622","#bda29a","#6e7074","#546570","#c4ccd3"],gradientColor:["#f6efa6","#d88273","#bf444c"],textStyle:{fontFamily:uI.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,animation:"auto",animationDuration:1e3,animationDurationUpdate:300,animationEasing:"exponentialOut",animationEasingUpdate:"cubicOut",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3,useUTC:!1},cI=Bi(),dI={clearColorPalette:function(){cI(this).colorIdx=0,cI(this).colorNameMap={}},getColorFromPalette:function(t,e,i){var n=cI(e=e||this),o=n.colorIdx||0,a=n.colorNameMap=n.colorNameMap||{};if(a.hasOwnProperty(t))return a[t];var r=Di(this.get("color",!0)),s=this.get("colorLayer",!0),l=null!=i&&s?va(s,i):r;if((l=l||r)&&l.length){var u=l[o];return t&&(a[t]=u),n.colorIdx=(o+1)%l.length,u}}},fI={cartesian2d:function(t,e,i,n){var o=t.getReferringComponents("xAxis")[0],a=t.getReferringComponents("yAxis")[0];e.coordSysDims=["x","y"],i.set("x",o),i.set("y",a),xa(o)&&(n.set("x",o),e.firstCategoryDimIndex=0),xa(a)&&(n.set("y",a),e.firstCategoryDimIndex=1)},singleAxis:function(t,e,i,n){var o=t.getReferringComponents("singleAxis")[0];e.coordSysDims=["single"],i.set("single",o),xa(o)&&(n.set("single",o),e.firstCategoryDimIndex=0)},polar:function(t,e,i,n){var o=t.getReferringComponents("polar")[0],a=o.findAxisModel("radiusAxis"),r=o.findAxisModel("angleAxis");e.coordSysDims=["radius","angle"],i.set("radius",a),i.set("angle",r),xa(a)&&(n.set("radius",a),e.firstCategoryDimIndex=0),xa(r)&&(n.set("angle",r),e.firstCategoryDimIndex=1)},geo:function(t,e,i,n){e.coordSysDims=["lng","lat"]},parallel:function(t,e,i,n){var o=t.ecModel,a=o.getComponent("parallel",t.get("parallelIndex")),r=e.coordSysDims=a.dimensions.slice();d(a.parallelAxisIndex,function(t,a){var s=o.getComponent("parallelAxis",t),l=r[a];i.set(l,s),xa(s)&&null==e.firstCategoryDimIndex&&(n.set(l,s),e.firstCategoryDimIndex=a)})}},pI="original",gI="arrayRows",mI="objectRows",vI="keyedColumns",yI="unknown",xI="typedArray",_I="column",wI="row";_a.seriesDataToSource=function(t){return new _a({data:t,sourceFormat:S(t)?xI:pI,fromDataset:!1})},Yi(_a);var bI=Bi(),SI="\0_ec_inner",MI=No.extend({init:function(t,e,i,n){i=i||{},this.option=null,this._theme=new No(i),this._optionManager=n},setOption:function(t,e){k(!(SI in t),"please use chart.getOption()"),this._optionManager.setOption(t,e),this.resetOption(null)},resetOption:function(t){var e=!1,i=this._optionManager;if(!t||"recreate"===t){var n=i.mountOption("recreate"===t);this.option&&"recreate"!==t?(this.restoreData(),this.mergeOption(n)):Ea.call(this,n),e=!0}if("timeline"!==t&&"media"!==t||this.restoreData(),!t||"recreate"===t||"timeline"===t){var o=i.getTimelineOption(this);o&&(this.mergeOption(o),e=!0)}if(!t||"recreate"===t||"media"===t){var a=i.getMediaOption(this,this._api);a.length&&d(a,function(t){this.mergeOption(t,e=!0)},this)}return e},mergeOption:function(t){var e=this.option,o=this._componentsMap,r=[];Sa(this),d(t,function(t,o){null!=t&&(lI.hasClass(o)?o&&r.push(o):e[o]=null==e[o]?i(t):n(e[o],t,!0))}),lI.topologicalTravel(r,lI.getAllClassMainTypes(),function(i,n){var r=Di(t[i]),s=Pi(o.get(i),r);Ni(s),d(s,function(t,e){var n=t.option;w(n)&&(t.keyInfo.mainType=i,t.keyInfo.subType=za(i,n,t.exist))});var l=Ra(o,n);e[i]=[],o.set(i,[]),d(s,function(t,n){var r=t.exist,s=t.option;if(k(w(s)||r,"Empty component definition"),s){var u=lI.getClass(i,t.keyInfo.subType,!0);if(r&&r instanceof u)r.name=t.keyInfo.name,r.mergeOption(s,this),r.optionUpdated(s,!1);else{var h=a({dependentModels:l,componentIndex:n},t.keyInfo);a(r=new u(s,this,this,h),h),r.init(s,this,this,h),r.optionUpdated(null,!0)}}else r.mergeOption({},this),r.optionUpdated({},!1);o.get(i)[n]=r,e[i][n]=r.option},this),"series"===i&&Ba(this,o.get("series"))},this),this._seriesIndicesMap=R(this._seriesIndices=this._seriesIndices||[])},getOption:function(){var t=i(this.option);return d(t,function(e,i){if(lI.hasClass(i)){for(var n=(e=Di(e)).length-1;n>=0;n--)Ei(e[n])&&e.splice(n,1);t[i]=e}}),delete t[SI],t},getTheme:function(){return this._theme},getComponent:function(t,e){var i=this._componentsMap.get(t);if(i)return i[e||0]},queryComponents:function(t){var e=t.mainType;if(!e)return[];var i=t.index,n=t.id,o=t.name,a=this._componentsMap.get(e);if(!a||!a.length)return[];var r;if(null!=i)y(i)||(i=[i]),r=g(f(i,function(t){return a[t]}),function(t){return!!t});else if(null!=n){var s=y(n);r=g(a,function(t){return s&&l(n,t.id)>=0||!s&&t.id===n})}else if(null!=o){var u=y(o);r=g(a,function(t){return u&&l(o,t.name)>=0||!u&&t.name===o})}else r=a.slice();return Va(r,t)},findComponents:function(t){var e=t.query,i=t.mainType,n=function(t){var e=i+"Index",n=i+"Id",o=i+"Name";return!t||null==t[e]&&null==t[n]&&null==t[o]?null:{mainType:i,index:t[e],id:t[n],name:t[o]}}(e);return function(e){return t.filter?g(e,t.filter):e}(Va(n?this.queryComponents(n):this._componentsMap.get(i),t))},eachComponent:function(t,e,i){var n=this._componentsMap;"function"==typeof t?(i=e,e=t,n.each(function(t,n){d(t,function(t,o){e.call(i,n,t,o)})})):_(t)?d(n.get(t),e,i):w(t)&&d(this.findComponents(t),e,i)},getSeriesByName:function(t){return g(this._componentsMap.get("series"),function(e){return e.name===t})},getSeriesByIndex:function(t){return this._componentsMap.get("series")[t]},getSeriesByType:function(t){return g(this._componentsMap.get("series"),function(e){return e.subType===t})},getSeries:function(){return this._componentsMap.get("series").slice()},getSeriesCount:function(){return this._componentsMap.get("series").length},eachSeries:function(t,e){d(this._seriesIndices,function(i){var n=this._componentsMap.get("series")[i];t.call(e,n,i)},this)},eachRawSeries:function(t,e){d(this._componentsMap.get("series"),t,e)},eachSeriesByType:function(t,e,i){d(this._seriesIndices,function(n){var o=this._componentsMap.get("series")[n];o.subType===t&&e.call(i,o,n)},this)},eachRawSeriesByType:function(t,e,i){return d(this.getSeriesByType(t),e,i)},isSeriesFiltered:function(t){return null==this._seriesIndicesMap.get(t.componentIndex)},getCurrentSeriesIndices:function(){return(this._seriesIndices||[]).slice()},filterSeries:function(t,e){Ba(this,g(this._componentsMap.get("series"),t,e))},restoreData:function(t){var e=this._componentsMap;Ba(this,e.get("series"));var i=[];e.each(function(t,e){i.push(e)}),lI.topologicalTravel(i,lI.getAllClassMainTypes(),function(i,n){d(e.get(i),function(e){("series"!==i||!Na(e,t))&&e.restoreData()})})}});h(MI,dI);var II=["getDom","getZr","getWidth","getHeight","getDevicePixelRatio","dispatchAction","isDisposed","on","off","getDataURL","getConnectedDataURL","getModel","getOption","getViewOfComponentModel","getViewOfSeriesModel"],TI={};Fa.prototype={constructor:Fa,create:function(t,e){var i=[];d(TI,function(n,o){var a=n.create(t,e);i=i.concat(a||[])}),this._coordinateSystems=i},update:function(t,e){d(this._coordinateSystems,function(i){i.update&&i.update(t,e)})},getCoordinateSystems:function(){return this._coordinateSystems.slice()}},Fa.register=function(t,e){TI[t]=e},Fa.get=function(t){return TI[t]};var AI=d,DI=i,CI=f,LI=n,kI=/^(min|max)?(.+)$/;Wa.prototype={constructor:Wa,setOption:function(t,e){t&&d(Di(t.series),function(t){t&&t.data&&S(t.data)&&N(t.data)}),t=DI(t,!0);var i=this._optionBackup,n=Ha.call(this,t,e,!i);this._newBaseOption=n.baseOption,i?(ja(i.baseOption,n.baseOption),n.timelineOptions.length&&(i.timelineOptions=n.timelineOptions),n.mediaList.length&&(i.mediaList=n.mediaList),n.mediaDefault&&(i.mediaDefault=n.mediaDefault)):this._optionBackup=n},mountOption:function(t){var e=this._optionBackup;return this._timelineOptions=CI(e.timelineOptions,DI),this._mediaList=CI(e.mediaList,DI),this._mediaDefault=DI(e.mediaDefault),this._currentMediaIndices=[],DI(t?e.baseOption:this._newBaseOption)},getTimelineOption:function(t){var e,i=this._timelineOptions;if(i.length){var n=t.getComponent("timeline");n&&(e=DI(i[n.getCurrentIndex()],!0))}return e},getMediaOption:function(t){var e=this._api.getWidth(),i=this._api.getHeight(),n=this._mediaList,o=this._mediaDefault,a=[],r=[];if(!n.length&&!o)return r;for(var s=0,l=n.length;s=1)&&(t=1),t}var i=this._upstream,n=t&&t.skip;if(this._dirty&&i){var o=this.context;o.data=o.outputData=i.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this);var a;this._plan&&!n&&(a=this._plan(this.context));var r=e(this._modBy),s=this._modDataCount||0,l=e(t&&t.modBy),u=t&&t.modDataCount||0;r===l&&s===u||(a="reset");var h;(this._dirty||"reset"===a)&&(this._dirty=!1,h=yr(this,n)),this._modBy=l,this._modDataCount=u;var c=t&&t.step;if(this._dueEnd=i?i._outputDueEnd:this._count?this._count(this.context):1/0,this._progress){var d=this._dueIndex,f=Math.min(null!=c?this._dueIndex+c:1/0,this._dueEnd);if(!n&&(h||d=i?null:t1&&a>0?e:t}};return s}();UI.dirty=function(){this._dirty=!0,this._onDirty&&this._onDirty(this.context)},UI.unfinished=function(){return this._progress&&this._dueIndex":"\n",s="richText"===n,l={},u=0,h=this.getData(),c=h.mapDimension("defaultedTooltip",!0),f=c.length,g=this.getRawValue(t),m=y(g),v=h.getItemVisual(t,"color");w(v)&&v.colorStops&&(v=(v.colorStops[0]||{}).color),v=v||"transparent";var x=(f>1||m&&!f?function(i){function o(t,i){var o=h.getDimensionInfo(i);if(o&&!1!==o.otherDims.tooltip){var c=o.type,d="sub"+a.seriesIndex+"at"+u,p=aa({color:v,type:"subItem",renderMode:n,markerId:d}),g="string"==typeof p?p:p.content,m=(r?g+ia(o.displayName||"-")+": ":"")+ia("ordinal"===c?t+"":"time"===c?e?"":sa("yyyy/MM/dd hh:mm:ss",t):ta(t));m&&f.push(m),s&&(l[d]=v,++u)}}var r=p(i,function(t,e,i){var n=h.getDimensionInfo(i);return t|=n&&!1!==n.tooltip&&null!=n.displayName},0),f=[];c.length?d(c,function(e){o(fr(h,t,e),e)}):d(i,o);var g=r?s?"\n":"
    ":"",m=g+f.join(g||", ");return{renderMode:n,content:m,style:l}}(g):o(f?fr(h,t,c[0]):m?g[0]:g)).content,_=a.seriesIndex+"at"+u,b=aa({color:v,type:"item",renderMode:n,markerId:_});l[_]=v,++u;var S=h.getName(t),M=this.name;Oi(this)||(M=""),M=M?ia(M)+(e?": ":r):"";var I="string"==typeof b?b:b.content;return{html:e?I+M+x:M+I+(S?ia(S)+": "+x:x),markers:l}},isAnimationEnabled:function(){if(U_.node)return!1;var t=this.getShallow("animation");return t&&this.getData().count()>this.getShallow("animationThreshold")&&(t=!1),t},restoreData:function(){this.dataTask.dirty()},getColorFromPalette:function(t,e,i){var n=this.ecModel,o=dI.getColorFromPalette.call(this,t,e,i);return o||(o=n.getColorFromPalette(t,e,i)),o},coordDimToDataDim:function(t){return this.getRawData().mapDimension(t,!0)},getProgressive:function(){return this.get("progressive")},getProgressiveThreshold:function(){return this.get("progressiveThreshold")},getAxisTooltipData:null,getTooltipPosition:null,pipeTask:null,preventIncremental:null,pipelineContext:null});h(YI,ZI),h(YI,dI);var qI=function(){this.group=new tb,this.uid=Ro("viewComponent")};qI.prototype={constructor:qI,init:function(t,e){},render:function(t,e,i,n){},dispose:function(){},filterForExposedEvent:null};var KI=qI.prototype;KI.updateView=KI.updateLayout=KI.updateVisual=function(t,e,i,n){},ji(qI),$i(qI,{registerWhenExtend:!0});var $I=function(){var t=Bi();return function(e){var i=t(e),n=e.pipelineContext,o=i.large,a=i.progressiveRender,r=i.large=n.large,s=i.progressiveRender=n.progressiveRender;return!!(o^r||a^s)&&"reset"}},JI=Bi(),QI=$I();Ar.prototype={type:"chart",init:function(t,e){},render:function(t,e,i,n){},highlight:function(t,e,i,n){Cr(t.getData(),n,"emphasis")},downplay:function(t,e,i,n){Cr(t.getData(),n,"normal")},remove:function(t,e){this.group.removeAll()},dispose:function(){},incrementalPrepareRender:null,incrementalRender:null,updateTransform:null,filterForExposedEvent:null};var tT=Ar.prototype;tT.updateView=tT.updateLayout=tT.updateVisual=function(t,e,i,n){this.render(t,e,i,n)},ji(Ar),$i(Ar,{registerWhenExtend:!0}),Ar.markUpdateMethod=function(t,e){JI(t).updateMethod=e};var eT={incrementalPrepareRender:{progress:function(t,e){e.view.incrementalRender(t,e.model,e.ecModel,e.api,e.payload)}},render:{forceFirstProgress:!0,progress:function(t,e){e.view.render(e.model,e.ecModel,e.api,e.payload)}}},iT="\0__throttleOriginMethod",nT="\0__throttleRate",oT="\0__throttleType",aT={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){var i=t.getData(),n=(t.visualColorAccessPath||"itemStyle.color").split("."),o=t.get(n)||t.getColorFromPalette(t.name,null,e.getSeriesCount());if(i.setVisual("color",o),!e.isSeriesFiltered(t)){"function"!=typeof o||o instanceof IM||i.each(function(e){i.setItemVisual(e,"color",o(t.getDataParams(e)))});return{dataEach:i.hasItemOption?function(t,e){var i=t.getItemModel(e).get(n,!0);null!=i&&t.setItemVisual(e,"color",i)}:null}}}},rT={toolbox:{brush:{title:{rect:"矩形选择",polygon:"圈选",lineX:"横向选择",lineY:"纵向选择",keep:"保持选择",clear:"清除选择"}},dataView:{title:"数据视图",lang:["数据视图","关闭","刷新"]},dataZoom:{title:{zoom:"区域缩放",back:"区域缩放还原"}},magicType:{title:{line:"切换为折线图",bar:"切换为柱状图",stack:"切换为堆叠",tiled:"切换为平铺"}},restore:{title:"还原"},saveAsImage:{title:"保存为图片",lang:["右键另存为图片"]}},series:{typeNames:{pie:"饼图",bar:"柱状图",line:"折线图",scatter:"散点图",effectScatter:"涟漪散点图",radar:"雷达图",tree:"树图",treemap:"矩形树图",boxplot:"箱型图",candlestick:"K线图",k:"K线图",heatmap:"热力图",map:"地图",parallel:"平行坐标图",lines:"线图",graph:"关系图",sankey:"桑基图",funnel:"漏斗图",gauge:"仪表盘图",pictorialBar:"象形柱图",themeRiver:"主题河流图",sunburst:"旭日图"}},aria:{general:{withTitle:"这是一个关于“{title}”的图表。",withoutTitle:"这是一个图表,"},series:{single:{prefix:"",withName:"图表类型是{seriesType},表示{seriesName}。",withoutName:"图表类型是{seriesType}。"},multiple:{prefix:"它由{seriesCount}个图表系列组成。",withName:"第{seriesId}个系列是一个表示{seriesName}的{seriesType},",withoutName:"第{seriesId}个系列是一个{seriesType},",separator:{middle:";",end:"。"}}},data:{allData:"其数据是——",partialData:"其中,前{displayCnt}项是——",withName:"{name}的数据是{value}",withoutName:"{value}",separator:{middle:",",end:""}}}},sT=function(t,e){function i(t,e){if("string"!=typeof t)return t;var i=t;return d(e,function(t,e){i=i.replace(new RegExp("\\{\\s*"+e+"\\s*\\}","g"),t)}),i}function n(t){var e=a.get(t);if(null==e){for(var i=t.split("."),n=rT.aria,o=0;o1?"series.multiple.prefix":"series.single.prefix"),{seriesCount:r}),e.eachSeries(function(t,e){if(e1?"multiple":"single")+".";a=i(a=n(s?u+"withName":u+"withoutName"),{seriesId:t.seriesIndex,seriesName:t.get("name"),seriesType:o(t.subType)});var c=t.getData();window.data=c,c.count()>l?a+=i(n("data.partialData"),{displayCnt:l}):a+=n("data.allData");for(var d=[],p=0;pi.blockIndex?i.step:null,a=n&&n.modDataCount;return{step:o,modBy:null!=a?Math.ceil(a/o):null,modDataCount:a}}},uT.getPipeline=function(t){return this._pipelineMap.get(t)},uT.updateStreamModes=function(t,e){var i=this._pipelineMap.get(t.uid),n=t.getData().count(),o=i.progressiveEnabled&&e.incrementalPrepareRender&&n>=i.threshold,a=t.get("large")&&n>=t.get("largeThreshold"),r="mod"===t.get("progressiveChunkMode")?n:null;t.pipelineContext=i.context={progressiveRender:o,modDataCount:r,large:a}},uT.restorePipelines=function(t){var e=this,i=e._pipelineMap=R();t.eachSeries(function(t){var n=t.getProgressive(),o=t.uid;i.set(o,{id:o,head:null,tail:null,threshold:t.getProgressiveThreshold(),progressiveEnabled:n&&!(t.preventIncremental&&t.preventIncremental()),blockIndex:-1,step:Math.round(n||700),count:0}),jr(e,t,t.dataTask)})},uT.prepareStageTasks=function(){var t=this._stageTaskMap,e=this.ecInstance.getModel(),i=this.api;d(this._allHandlers,function(n){var o=t.get(n.uid)||t.set(n.uid,[]);n.reset&&zr(this,n,o,e,i),n.overallReset&&Br(this,n,o,e,i)},this)},uT.prepareView=function(t,e,i,n){var o=t.renderTask,a=o.context;a.model=e,a.ecModel=i,a.api=n,o.__block=!t.incrementalPrepareRender,jr(this,e,o)},uT.performDataProcessorTasks=function(t,e){Rr(this,this._dataProcessorHandlers,t,e,{block:!0})},uT.performVisualTasks=function(t,e,i){Rr(this,this._visualHandlers,t,e,i)},uT.performSeriesTasks=function(t){var e;t.eachSeries(function(t){e|=t.dataTask.perform()}),this.unfinished|=e},uT.plan=function(){this._pipelineMap.each(function(t){var e=t.tail;do{if(e.__block){t.blockIndex=e.__idxInPipeline;break}e=e.getUpstream()}while(e)})};var hT=uT.updatePayload=function(t,e){"remain"!==e&&(t.context.payload=e)},cT=Ur(0);Er.wrapStageHandler=function(t,e){return x(t)&&(t={overallReset:t,seriesType:Yr(t)}),t.uid=Ro("stageHandler"),e&&(t.visualType=e),t};var dT,fT={},pT={};qr(fT,MI),qr(pT,Ga),fT.eachSeriesByType=fT.eachRawSeriesByType=function(t){dT=t},fT.eachComponent=function(t){"series"===t.mainType&&t.subType&&(dT=t.subType)};var gT=["#37A2DA","#32C5E9","#67E0E3","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#E062AE","#E690D1","#e7bcf3","#9d96f5","#8378EA","#96BFFF"],mT={color:gT,colorLayer:[["#37A2DA","#ffd85c","#fd7b5f"],["#37A2DA","#67E0E3","#FFDB5C","#ff9f7f","#E062AE","#9d96f5"],["#37A2DA","#32C5E9","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#e7bcf3","#8378EA","#96BFFF"],gT]},vT=["#dd6b66","#759aa0","#e69d87","#8dc1a9","#ea7e53","#eedd78","#73a373","#73b9bc","#7289ab","#91ca8c","#f49f42"],yT={color:vT,backgroundColor:"#333",tooltip:{axisPointer:{lineStyle:{color:"#eee"},crossStyle:{color:"#eee"}}},legend:{textStyle:{color:"#eee"}},textStyle:{color:"#eee"},title:{textStyle:{color:"#eee"}},toolbox:{iconStyle:{normal:{borderColor:"#eee"}}},dataZoom:{textStyle:{color:"#eee"}},visualMap:{textStyle:{color:"#eee"}},timeline:{lineStyle:{color:"#eee"},itemStyle:{normal:{color:vT[1]}},label:{normal:{textStyle:{color:"#eee"}}},controlStyle:{normal:{color:"#eee",borderColor:"#eee"}}},timeAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},logAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},valueAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},categoryAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},line:{symbol:"circle"},graph:{color:vT},gauge:{title:{textStyle:{color:"#eee"}}},candlestick:{itemStyle:{normal:{color:"#FD1050",color0:"#0CF49B",borderColor:"#FD1050",borderColor0:"#0CF49B"}}}};yT.categoryAxis.splitLine.show=!1,lI.extend({type:"dataset",defaultOption:{seriesLayoutBy:_I,sourceHeader:null,dimensions:null,source:null},optionUpdated:function(){wa(this)}}),qI.extend({type:"dataset"});var xT=Pn.extend({type:"ellipse",shape:{cx:0,cy:0,rx:0,ry:0},buildPath:function(t,e){var i=.5522848,n=e.cx,o=e.cy,a=e.rx,r=e.ry,s=a*i,l=r*i;t.moveTo(n-a,o),t.bezierCurveTo(n-a,o-l,n-s,o-r,n,o-r),t.bezierCurveTo(n+s,o-r,n+a,o-l,n+a,o),t.bezierCurveTo(n+a,o+l,n+s,o+r,n,o+r),t.bezierCurveTo(n-s,o+r,n-a,o+l,n-a,o),t.closePath()}}),_T=/[\s,]+/;$r.prototype.parse=function(t,e){e=e||{};var i=Kr(t);if(!i)throw new Error("Illegal svg");var n=new tb;this._root=n;var o=i.getAttribute("viewBox")||"",a=parseFloat(i.getAttribute("width")||e.width),r=parseFloat(i.getAttribute("height")||e.height);isNaN(a)&&(a=null),isNaN(r)&&(r=null),es(i,n,null,!0);for(var s=i.firstChild;s;)this._parseNode(s,n),s=s.nextSibling;var l,u;if(o){var h=P(o).split(_T);h.length>=4&&(l={x:parseFloat(h[0]||0),y:parseFloat(h[1]||0),width:parseFloat(h[2]),height:parseFloat(h[3])})}if(l&&null!=a&&null!=r&&(u=as(l,a,r),!e.ignoreViewBox)){var c=n;(n=new tb).add(c),c.scale=u.scale.slice(),c.position=u.position.slice()}return e.ignoreRootClip||null==a||null==r||n.setClipPath(new yM({shape:{x:0,y:0,width:a,height:r}})),{root:n,width:a,height:r,viewBoxRect:l,viewBoxTransform:u}},$r.prototype._parseNode=function(t,e){var i=t.nodeName.toLowerCase();"defs"===i?this._isDefine=!0:"text"===i&&(this._isText=!0);var n;if(this._isDefine){if(r=bT[i]){var o=r.call(this,t),a=t.getAttribute("id");a&&(this._defs[a]=o)}}else{var r=wT[i];r&&(n=r.call(this,t,e),e.add(n))}for(var s=t.firstChild;s;)1===s.nodeType&&this._parseNode(s,n),3===s.nodeType&&this._isText&&this._parseText(s,n),s=s.nextSibling;"defs"===i?this._isDefine=!1:"text"===i&&(this._isText=!1)},$r.prototype._parseText=function(t,e){if(1===t.nodeType){var i=t.getAttribute("dx")||0,n=t.getAttribute("dy")||0;this._textX+=parseFloat(i),this._textY+=parseFloat(n)}var o=new rM({style:{text:t.textContent,transformText:!0},position:[this._textX||0,this._textY||0]});Qr(e,o),es(t,o,this._defs);var a=o.style.fontSize;a&&a<9&&(o.style.fontSize=9,o.scale=o.scale||[1,1],o.scale[0]*=a/9,o.scale[1]*=a/9);var r=o.getBoundingRect();return this._textX+=r.width,e.add(o),o};var wT={g:function(t,e){var i=new tb;return Qr(e,i),es(t,i,this._defs),i},rect:function(t,e){var i=new yM;return Qr(e,i),es(t,i,this._defs),i.setShape({x:parseFloat(t.getAttribute("x")||0),y:parseFloat(t.getAttribute("y")||0),width:parseFloat(t.getAttribute("width")||0),height:parseFloat(t.getAttribute("height")||0)}),i},circle:function(t,e){var i=new sM;return Qr(e,i),es(t,i,this._defs),i.setShape({cx:parseFloat(t.getAttribute("cx")||0),cy:parseFloat(t.getAttribute("cy")||0),r:parseFloat(t.getAttribute("r")||0)}),i},line:function(t,e){var i=new _M;return Qr(e,i),es(t,i,this._defs),i.setShape({x1:parseFloat(t.getAttribute("x1")||0),y1:parseFloat(t.getAttribute("y1")||0),x2:parseFloat(t.getAttribute("x2")||0),y2:parseFloat(t.getAttribute("y2")||0)}),i},ellipse:function(t,e){var i=new xT;return Qr(e,i),es(t,i,this._defs),i.setShape({cx:parseFloat(t.getAttribute("cx")||0),cy:parseFloat(t.getAttribute("cy")||0),rx:parseFloat(t.getAttribute("rx")||0),ry:parseFloat(t.getAttribute("ry")||0)}),i},polygon:function(t,e){var i=t.getAttribute("points");i&&(i=ts(i));var n=new pM({shape:{points:i||[]}});return Qr(e,n),es(t,n,this._defs),n},polyline:function(t,e){var i=new Pn;Qr(e,i),es(t,i,this._defs);var n=t.getAttribute("points");return n&&(n=ts(n)),new gM({shape:{points:n||[]}})},image:function(t,e){var i=new fi;return Qr(e,i),es(t,i,this._defs),i.setStyle({image:t.getAttribute("xlink:href"),x:t.getAttribute("x"),y:t.getAttribute("y"),width:t.getAttribute("width"),height:t.getAttribute("height")}),i},text:function(t,e){var i=t.getAttribute("x")||0,n=t.getAttribute("y")||0,o=t.getAttribute("dx")||0,a=t.getAttribute("dy")||0;this._textX=parseFloat(i)+parseFloat(o),this._textY=parseFloat(n)+parseFloat(a);var r=new tb;return Qr(e,r),es(t,r,this._defs),r},tspan:function(t,e){var i=t.getAttribute("x"),n=t.getAttribute("y");null!=i&&(this._textX=parseFloat(i)),null!=n&&(this._textY=parseFloat(n));var o=t.getAttribute("dx")||0,a=t.getAttribute("dy")||0,r=new tb;return Qr(e,r),es(t,r,this._defs),this._textX+=o,this._textY+=a,r},path:function(t,e){var i=Rn(t.getAttribute("d")||"");return Qr(e,i),es(t,i,this._defs),i}},bT={lineargradient:function(t){var e=parseInt(t.getAttribute("x1")||0,10),i=parseInt(t.getAttribute("y1")||0,10),n=parseInt(t.getAttribute("x2")||10,10),o=parseInt(t.getAttribute("y2")||0,10),a=new TM(e,i,n,o);return Jr(t,a),a},radialgradient:function(t){}},ST={fill:"fill",stroke:"stroke","stroke-width":"lineWidth",opacity:"opacity","fill-opacity":"fillOpacity","stroke-opacity":"strokeOpacity","stroke-dasharray":"lineDash","stroke-dashoffset":"lineDashOffset","stroke-linecap":"lineCap","stroke-linejoin":"lineJoin","stroke-miterlimit":"miterLimit","font-family":"fontFamily","font-size":"fontSize","font-style":"fontStyle","font-weight":"fontWeight","text-align":"textAlign","alignment-baseline":"textBaseline"},MT=/url\(\s*#(.*?)\)/,IT=/(translate|scale|rotate|skewX|skewY|matrix)\(([\-\s0-9\.e,]*)\)/g,TT=/([^\s:;]+)\s*:\s*([^:;]+)/g,AT=R(),DT={registerMap:function(t,e,i){var n;return y(e)?n=e:e.svg?n=[{type:"svg",source:e.svg,specialAreas:e.specialAreas}]:(e.geoJson&&!e.features&&(i=e.specialAreas,e=e.geoJson),n=[{type:"geoJSON",source:e,specialAreas:i}]),d(n,function(t){var e=t.type;"geoJson"===e&&(e=t.type="geoJSON"),(0,CT[e])(t)}),AT.set(t,n)},retrieveMap:function(t){return AT.get(t)}},CT={geoJSON:function(t){var e=t.source;t.geoJSON=_(e)?"undefined"!=typeof JSON&&JSON.parse?JSON.parse(e):new Function("return ("+e+");")():e},svg:function(t){t.svgXML=Kr(t.source)}},LT=k,kT=d,PT=x,NT=w,OT=lI.parseClassType,ET={zrender:"4.0.6"},RT=1e3,zT=1e3,BT=3e3,VT={PROCESSOR:{FILTER:RT,STATISTIC:5e3},VISUAL:{LAYOUT:zT,GLOBAL:2e3,CHART:BT,COMPONENT:4e3,BRUSH:5e3}},GT="__flagInMainProcess",FT="__optionUpdated",WT=/^[a-zA-Z0-9_]+$/;ls.prototype.on=ss("on"),ls.prototype.off=ss("off"),ls.prototype.one=ss("one"),h(ls,fw);var HT=us.prototype;HT._onframe=function(){if(!this._disposed){var t=this._scheduler;if(this[FT]){var e=this[FT].silent;this[GT]=!0,cs(this),ZT.update.call(this),this[GT]=!1,this[FT]=!1,gs.call(this,e),ms.call(this,e)}else if(t.unfinished){var i=1,n=this._model;this._api;t.unfinished=!1;do{var o=+new Date;t.performSeriesTasks(n),t.performDataProcessorTasks(n),fs(this,n),t.performVisualTasks(n),bs(this,this._model,0,"remain"),i-=+new Date-o}while(i>0&&t.unfinished);t.unfinished||this._zr.flush()}}},HT.getDom=function(){return this._dom},HT.getZr=function(){return this._zr},HT.setOption=function(t,e,i){var n;if(NT(e)&&(i=e.lazyUpdate,n=e.silent,e=e.notMerge),this[GT]=!0,!this._model||e){var o=new Wa(this._api),a=this._theme,r=this._model=new MI(null,null,a,o);r.scheduler=this._scheduler,r.init(null,null,a,o)}this._model.setOption(t,qT),i?(this[FT]={silent:n},this[GT]=!1):(cs(this),ZT.update.call(this),this._zr.flush(),this[FT]=!1,this[GT]=!1,gs.call(this,n),ms.call(this,n))},HT.setTheme=function(){console.error("ECharts#setTheme() is DEPRECATED in ECharts 3.0")},HT.getModel=function(){return this._model},HT.getOption=function(){return this._model&&this._model.getOption()},HT.getWidth=function(){return this._zr.getWidth()},HT.getHeight=function(){return this._zr.getHeight()},HT.getDevicePixelRatio=function(){return this._zr.painter.dpr||window.devicePixelRatio||1},HT.getRenderedCanvas=function(t){if(U_.canvasSupported)return(t=t||{}).pixelRatio=t.pixelRatio||1,t.backgroundColor=t.backgroundColor||this._model.get("backgroundColor"),this._zr.painter.getRenderedCanvas(t)},HT.getSvgDataUrl=function(){if(U_.svgSupported){var t=this._zr;return d(t.storage.getDisplayList(),function(t){t.stopAnimation(!0)}),t.painter.pathToDataUrl()}},HT.getDataURL=function(t){var e=(t=t||{}).excludeComponents,i=this._model,n=[],o=this;kT(e,function(t){i.eachComponent({mainType:t},function(t){var e=o._componentsMap[t.__viewId];e.group.ignore||(n.push(e),e.group.ignore=!0)})});var a="svg"===this._zr.painter.getType()?this.getSvgDataUrl():this.getRenderedCanvas(t).toDataURL("image/"+(t&&t.type||"png"));return kT(n,function(t){t.group.ignore=!1}),a},HT.getConnectedDataURL=function(t){if(U_.canvasSupported){var e=this.group,n=Math.min,o=Math.max;if(eA[e]){var a=1/0,r=1/0,s=-1/0,l=-1/0,u=[],h=t&&t.pixelRatio||1;d(tA,function(h,c){if(h.group===e){var d=h.getRenderedCanvas(i(t)),f=h.getDom().getBoundingClientRect();a=n(f.left,a),r=n(f.top,r),s=o(f.right,s),l=o(f.bottom,l),u.push({dom:d,left:f.left,top:f.top})}});var c=(s*=h)-(a*=h),f=(l*=h)-(r*=h),p=iw();p.width=c,p.height=f;var g=Ii(p);return kT(u,function(t){var e=new fi({style:{x:t.left*h-a,y:t.top*h-r,image:t.dom}});g.add(e)}),g.refreshImmediately(),p.toDataURL("image/"+(t&&t.type||"png"))}return this.getDataURL(t)}},HT.convertToPixel=v(hs,"convertToPixel"),HT.convertFromPixel=v(hs,"convertFromPixel"),HT.containPixel=function(t,e){var i;return t=Vi(this._model,t),d(t,function(t,n){n.indexOf("Models")>=0&&d(t,function(t){var o=t.coordinateSystem;if(o&&o.containPoint)i|=!!o.containPoint(e);else if("seriesModels"===n){var a=this._chartsMap[t.__viewId];a&&a.containPoint&&(i|=a.containPoint(e,t))}},this)},this),!!i},HT.getVisual=function(t,e){var i=(t=Vi(this._model,t,{defaultMainType:"series"})).seriesModel.getData(),n=t.hasOwnProperty("dataIndexInside")?t.dataIndexInside:t.hasOwnProperty("dataIndex")?i.indexOfRawIndex(t.dataIndex):null;return null!=n?i.getItemVisual(n,e):i.getVisual(e)},HT.getViewOfComponentModel=function(t){return this._componentsMap[t.__viewId]},HT.getViewOfSeriesModel=function(t){return this._chartsMap[t.__viewId]};var ZT={prepareAndUpdate:function(t){cs(this),ZT.update.call(this,t)},update:function(t){var e=this._model,i=this._api,n=this._zr,o=this._coordSysMgr,a=this._scheduler;if(e){a.restoreData(e,t),a.performSeriesTasks(e),o.create(e,i),a.performDataProcessorTasks(e,t),fs(this,e),o.update(e,i),xs(e),a.performVisualTasks(e,t),_s(this,e,i,t);var r=e.get("backgroundColor")||"transparent";if(U_.canvasSupported)n.setBackgroundColor(r);else{var s=Gt(r);r=qt(s,"rgb"),0===s[3]&&(r="transparent")}Ss(e,i)}},updateTransform:function(t){var e=this._model,i=this,n=this._api;if(e){var o=[];e.eachComponent(function(a,r){var s=i.getViewOfComponentModel(r);if(s&&s.__alive)if(s.updateTransform){var l=s.updateTransform(r,e,n,t);l&&l.update&&o.push(s)}else o.push(s)});var a=R();e.eachSeries(function(o){var r=i._chartsMap[o.__viewId];if(r.updateTransform){var s=r.updateTransform(o,e,n,t);s&&s.update&&a.set(o.uid,1)}else a.set(o.uid,1)}),xs(e),this._scheduler.performVisualTasks(e,t,{setDirty:!0,dirtyMap:a}),bs(i,e,0,t,a),Ss(e,this._api)}},updateView:function(t){var e=this._model;e&&(Ar.markUpdateMethod(t,"updateView"),xs(e),this._scheduler.performVisualTasks(e,t,{setDirty:!0}),_s(this,this._model,this._api,t),Ss(e,this._api))},updateVisual:function(t){ZT.update.call(this,t)},updateLayout:function(t){ZT.update.call(this,t)}};HT.resize=function(t){this._zr.resize(t);var e=this._model;if(this._loadingFX&&this._loadingFX.resize(),e){var i=e.resetOption("media"),n=t&&t.silent;this[GT]=!0,i&&cs(this),ZT.update.call(this),this[GT]=!1,gs.call(this,n),ms.call(this,n)}},HT.showLoading=function(t,e){if(NT(t)&&(e=t,t=""),t=t||"default",this.hideLoading(),QT[t]){var i=QT[t](this._api,e),n=this._zr;this._loadingFX=i,n.add(i)}},HT.hideLoading=function(){this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null},HT.makeActionFromEvent=function(t){var e=a({},t);return e.type=jT[t.type],e},HT.dispatchAction=function(t,e){NT(e)||(e={silent:!!e}),XT[t.type]&&this._model&&(this[GT]?this._pendingActions.push(t):(ps.call(this,t,e.silent),e.flush?this._zr.flush(!0):!1!==e.flush&&U_.browser.weChat&&this._throttledZrFlush(),gs.call(this,e.silent),ms.call(this,e.silent)))},HT.appendData=function(t){var e=t.seriesIndex;this.getModel().getSeriesByIndex(e).appendData(t),this._scheduler.unfinished=!0},HT.on=ss("on"),HT.off=ss("off"),HT.one=ss("one");var UT=["click","dblclick","mouseover","mouseout","mousemove","mousedown","mouseup","globalout","contextmenu"];HT._initEvents=function(){kT(UT,function(t){var e=function(e){var i,n=this.getModel(),o=e.target;if("globalout"===t)i={};else if(o&&null!=o.dataIndex){var r=o.dataModel||n.getSeriesByIndex(o.seriesIndex);i=r&&r.getDataParams(o.dataIndex,o.dataType,o)||{}}else o&&o.eventData&&(i=a({},o.eventData));if(i){var s=i.componentType,l=i.componentIndex;"markLine"!==s&&"markPoint"!==s&&"markArea"!==s||(s="series",l=i.seriesIndex);var u=s&&null!=l&&n.getComponent(s,l),h=u&&this["series"===u.mainType?"_chartsMap":"_componentsMap"][u.__viewId];i.event=e,i.type=t,this._ecEventProcessor.eventInfo={targetEl:o,packedEvent:i,model:u,view:h},this.trigger(t,i)}};e.zrEventfulCallAtLast=!0,this._zr.on(t,e,this)},this),kT(jT,function(t,e){this._messageCenter.on(e,function(t){this.trigger(e,t)},this)},this)},HT.isDisposed=function(){return this._disposed},HT.clear=function(){this.setOption({series:[]},!0)},HT.dispose=function(){if(!this._disposed){this._disposed=!0,Fi(this.getDom(),oA,"");var t=this._api,e=this._model;kT(this._componentsViews,function(i){i.dispose(e,t)}),kT(this._chartsViews,function(i){i.dispose(e,t)}),this._zr.dispose(),delete tA[this.id]}},h(us,fw),Ds.prototype={constructor:Ds,normalizeQuery:function(t){var e={},i={},n={};if(_(t)){var o=OT(t);e.mainType=o.main||null,e.subType=o.sub||null}else{var a=["Index","Name","Id"],r={name:1,dataIndex:1,dataType:1};d(t,function(t,o){for(var s=!1,l=0;l0&&h===o.length-u.length){var c=o.slice(0,h);"data"!==c&&(e.mainType=c,e[u.toLowerCase()]=t,s=!0)}}r.hasOwnProperty(o)&&(i[o]=t,s=!0),s||(n[o]=t)})}return{cptQuery:e,dataQuery:i,otherQuery:n}},filter:function(t,e,i){function n(t,e,i,n){return null==t[i]||e[n||i]===t[i]}var o=this.eventInfo;if(!o)return!0;var a=o.targetEl,r=o.packedEvent,s=o.model,l=o.view;if(!s||!l)return!0;var u=e.cptQuery,h=e.dataQuery;return n(u,s,"mainType")&&n(u,s,"subType")&&n(u,s,"index","componentIndex")&&n(u,s,"name")&&n(u,s,"id")&&n(h,r,"name")&&n(h,r,"dataIndex")&&n(h,r,"dataType")&&(!l.filterForExposedEvent||l.filterForExposedEvent(t,e.otherQuery,a,r))},afterTrigger:function(){this.eventInfo=null}};var XT={},jT={},YT=[],qT=[],KT=[],$T=[],JT={},QT={},tA={},eA={},iA=new Date-0,nA=new Date-0,oA="_echarts_instance_",aA=Ls;Bs(2e3,aT),Ns(BI),Os(5e3,function(t){var e=R();t.eachSeries(function(t){var i=t.get("stack");if(i){var n=e.get(i)||e.set(i,[]),o=t.getData(),a={stackResultDimension:o.getCalculationInfo("stackResultDimension"),stackedOverDimension:o.getCalculationInfo("stackedOverDimension"),stackedDimension:o.getCalculationInfo("stackedDimension"),stackedByDimension:o.getCalculationInfo("stackedByDimension"),isStackedByIndex:o.getCalculationInfo("isStackedByIndex"),data:o,seriesModel:t};if(!a.stackedDimension||!a.isStackedByIndex&&!a.stackedByDimension)return;n.length&&o.setCalculationInfo("stackedOnSeries",n[n.length-1].seriesModel),n.push(a)}}),e.each(ar)}),Gs("default",function(t,e){r(e=e||{},{text:"loading",color:"#c23531",textColor:"#000",maskColor:"rgba(255, 255, 255, 0.8)",zlevel:0});var i=new yM({style:{fill:e.maskColor},zlevel:e.zlevel,z:1e4}),n=new SM({shape:{startAngle:-lT/2,endAngle:-lT/2+.1,r:10},style:{stroke:e.color,lineCap:"round",lineWidth:5},zlevel:e.zlevel,z:10001}),o=new yM({style:{fill:"none",text:e.text,textPosition:"right",textDistance:10,textFill:e.textColor},zlevel:e.zlevel,z:10001});n.animateShape(!0).when(1e3,{endAngle:3*lT/2}).start("circularInOut"),n.animateShape(!0).when(1e3,{startAngle:3*lT/2}).delay(300).start("circularInOut");var a=new tb;return a.add(n),a.add(o),a.add(i),a.resize=function(){var e=t.getWidth()/2,a=t.getHeight()/2;n.setShape({cx:e,cy:a});var r=n.shape.r;o.setShape({x:e-r,y:a-r,width:2*r,height:2*r}),i.setShape({x:0,y:0,width:t.getWidth(),height:t.getHeight()})},a.resize(),a}),Es({type:"highlight",event:"highlight",update:"highlight"},B),Es({type:"downplay",event:"downplay",update:"downplay"},B),Ps("light",mT),Ps("dark",yT);var rA={};Xs.prototype={constructor:Xs,add:function(t){return this._add=t,this},update:function(t){return this._update=t,this},remove:function(t){return this._remove=t,this},execute:function(){var t=this._old,e=this._new,i={},n=[],o=[];for(js(t,{},n,"_oldKeyGetter",this),js(e,i,o,"_newKeyGetter",this),a=0;ax[1]&&(x[1]=y)}e&&(this._nameList[d]=e[f])}this._rawCount=this._count=l,this._extent={},el(this)},yA._initDataFromProvider=function(t,e){if(!(t>=e)){for(var i,n=this._chunkSize,o=this._rawData,a=this._storage,r=this.dimensions,s=r.length,l=this._dimensionInfos,u=this._nameList,h=this._idList,c=this._rawExtent,d=this._nameRepeatCount={},f=this._chunkCount,p=0;pM[1]&&(M[1]=S)}if(!o.pure){var I=u[v];if(m&&null==I)if(null!=m.name)u[v]=I=m.name;else if(null!=i){var T=r[i],A=a[T][y];if(A){I=A[x];var D=l[T].ordinalMeta;D&&D.categories.length&&(I=D.categories[I])}}var C=null==m?null:m.id;null==C&&null!=I&&(d[I]=d[I]||0,C=I,d[I]>0&&(C+="__ec__"+d[I]),d[I]++),null!=C&&(h[v]=C)}}!o.persistent&&o.clean&&o.clean(),this._rawCount=this._count=e,this._extent={},el(this)}},yA.count=function(){return this._count},yA.getIndices=function(){var t=this._indices;if(t){var e=t.constructor,i=this._count;if(e===Array){n=new e(i);for(o=0;o=0&&e=0&&ea&&(a=s)}return i=[o,a],this._extent[t]=i,i},yA.getApproximateExtent=function(t){return t=this.getDimension(t),this._approximateExtent[t]||this.getDataExtent(t)},yA.setApproximateExtent=function(t,e){e=this.getDimension(e),this._approximateExtent[e]=t.slice()},yA.getCalculationInfo=function(t){return this._calculationInfo[t]},yA.setCalculationInfo=function(t,e){lA(t)?a(this._calculationInfo,t):this._calculationInfo[t]=e},yA.getSum=function(t){var e=0;if(this._storage[t])for(var i=0,n=this.count();i=this._rawCount||t<0)return-1;var e=this._indices,i=e[t];if(null!=i&&it))return a;o=a-1}}return-1},yA.indicesOfNearest=function(t,e,i){var n=[];if(!this._storage[t])return n;null==i&&(i=1/0);for(var o=Number.MAX_VALUE,a=-1,r=0,s=this.count();r=0&&a<0)&&(o=u,a=l,n.length=0),n.push(r))}return n},yA.getRawIndex=nl,yA.getRawDataItem=function(t){if(this._rawData.persistent)return this._rawData.getItem(this.getRawIndex(t));for(var e=[],i=0;i=l&&w<=u||isNaN(w))&&(a[r++]=c),c++;h=!0}else if(2===n){for(var d=this._storage[s],v=this._storage[e[1]],y=t[e[1]][0],x=t[e[1]][1],f=0;f=l&&w<=u||isNaN(w))&&(b>=y&&b<=x||isNaN(b))&&(a[r++]=c),c++}h=!0}}if(!h)if(1===n)for(m=0;m=l&&w<=u||isNaN(w))&&(a[r++]=M)}else for(m=0;mt[I][1])&&(S=!1)}S&&(a[r++]=this.getRawIndex(m))}return rb[1]&&(b[1]=w)}}}return o},yA.downSample=function(t,e,i,n){for(var o=sl(this,[t]),a=o._storage,r=[],s=Math.floor(1/e),l=a[t],u=this.count(),h=this._chunkSize,c=o._rawExtent[t],d=new($s(this))(u),f=0,p=0;pu-p&&(s=u-p,r.length=s);for(var g=0;gc[1]&&(c[1]=x),d[f++]=_}return o._count=f,o._indices=d,o.getRawIndex=ol,o},yA.getItemModel=function(t){var e=this.hostModel;return new No(this.getRawDataItem(t),e,e&&e.ecModel)},yA.diff=function(t){var e=this;return new Xs(t?t.getIndices():[],this.getIndices(),function(e){return al(t,e)},function(t){return al(e,t)})},yA.getVisual=function(t){var e=this._visual;return e&&e[t]},yA.setVisual=function(t,e){if(lA(t))for(var i in t)t.hasOwnProperty(i)&&this.setVisual(i,t[i]);else this._visual=this._visual||{},this._visual[t]=e},yA.setLayout=function(t,e){if(lA(t))for(var i in t)t.hasOwnProperty(i)&&this.setLayout(i,t[i]);else this._layout[t]=e},yA.getLayout=function(t){return this._layout[t]},yA.getItemLayout=function(t){return this._itemLayouts[t]},yA.setItemLayout=function(t,e,i){this._itemLayouts[t]=i?a(this._itemLayouts[t]||{},e):e},yA.clearItemLayouts=function(){this._itemLayouts.length=0},yA.getItemVisual=function(t,e,i){var n=this._itemVisuals[t],o=n&&n[e];return null!=o||i?o:this.getVisual(e)},yA.setItemVisual=function(t,e,i){var n=this._itemVisuals[t]||{},o=this.hasItemVisual;if(this._itemVisuals[t]=n,lA(e))for(var a in e)e.hasOwnProperty(a)&&(n[a]=e[a],o[a]=!0);else n[e]=i,o[e]=!0},yA.clearAllVisual=function(){this._visual={},this._itemVisuals=[],this.hasItemVisual={}};var xA=function(t){t.seriesIndex=this.seriesIndex,t.dataIndex=this.dataIndex,t.dataType=this.dataType};yA.setItemGraphicEl=function(t,e){var i=this.hostModel;e&&(e.dataIndex=t,e.dataType=this.dataType,e.seriesIndex=i&&i.seriesIndex,"group"===e.type&&e.traverse(xA,e)),this._graphicEls[t]=e},yA.getItemGraphicEl=function(t){return this._graphicEls[t]},yA.eachItemGraphicEl=function(t,e){d(this._graphicEls,function(i,n){i&&t&&t.call(e,i,n)})},yA.cloneShallow=function(t){if(!t){var e=f(this.dimensions,this.getDimensionInfo,this);t=new vA(e,this.hostModel)}if(t._storage=this._storage,Qs(t,this),this._indices){var i=this._indices.constructor;t._indices=new i(this._indices)}else t._indices=null;return t.getRawIndex=t._indices?ol:nl,t},yA.wrapMethod=function(t,e){var i=this[t];"function"==typeof i&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(t),this[t]=function(){var t=i.apply(this,arguments);return e.apply(this,[t].concat(C(arguments)))})},yA.TRANSFERABLE_METHODS=["cloneShallow","downSample","map"],yA.CHANGABLE_METHODS=["filterSelf","selectRange"];var _A=function(t,e){return e=e||{},hl(e.coordDimensions||[],t,{dimsDef:e.dimensionsDefine||t.dimensionsDefine,encodeDef:e.encodeDefine||t.encodeDefine,dimCount:e.dimensionsCount,generateCoord:e.generateCoord,generateCoordCount:e.generateCoordCount})};xl.prototype.parse=function(t){return t},xl.prototype.getSetting=function(t){return this._setting[t]},xl.prototype.contain=function(t){var e=this._extent;return t>=e[0]&&t<=e[1]},xl.prototype.normalize=function(t){var e=this._extent;return e[1]===e[0]?.5:(t-e[0])/(e[1]-e[0])},xl.prototype.scale=function(t){var e=this._extent;return t*(e[1]-e[0])+e[0]},xl.prototype.unionExtent=function(t){var e=this._extent;t[0]e[1]&&(e[1]=t[1])},xl.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},xl.prototype.getExtent=function(){return this._extent.slice()},xl.prototype.setExtent=function(t,e){var i=this._extent;isNaN(t)||(i[0]=t),isNaN(e)||(i[1]=e)},xl.prototype.isBlank=function(){return this._isBlank},xl.prototype.setBlank=function(t){this._isBlank=t},xl.prototype.getLabel=null,ji(xl),$i(xl,{registerWhenExtend:!0}),_l.createByAxisModel=function(t){var e=t.option,i=e.data,n=i&&f(i,bl);return new _l({categories:n,needCollect:!n,deduplication:!1!==e.dedplication})};var wA=_l.prototype;wA.getOrdinal=function(t){return wl(this).get(t)},wA.parseAndCollect=function(t){var e,i=this._needCollect;if("string"!=typeof t&&!i)return t;if(i&&!this._deduplication)return e=this.categories.length,this.categories[e]=t,e;var n=wl(this);return null==(e=n.get(t))&&(i?(e=this.categories.length,this.categories[e]=t,n.set(t,e)):e=NaN),e};var bA=xl.prototype,SA=xl.extend({type:"ordinal",init:function(t,e){t&&!y(t)||(t=new _l({categories:t})),this._ordinalMeta=t,this._extent=e||[0,t.categories.length-1]},parse:function(t){return"string"==typeof t?this._ordinalMeta.getOrdinal(t):Math.round(t)},contain:function(t){return t=this.parse(t),bA.contain.call(this,t)&&null!=this._ordinalMeta.categories[t]},normalize:function(t){return bA.normalize.call(this,this.parse(t))},scale:function(t){return Math.round(bA.scale.call(this,t))},getTicks:function(){for(var t=[],e=this._extent,i=e[0];i<=e[1];)t.push(i),i++;return t},getLabel:function(t){if(!this.isBlank())return this._ordinalMeta.categories[t]},count:function(){return this._extent[1]-this._extent[0]+1},unionExtentFromData:function(t,e){this.unionExtent(t.getApproximateExtent(e))},getOrdinalMeta:function(){return this._ordinalMeta},niceTicks:B,niceExtent:B});SA.create=function(){return new SA};var MA=Go,IA=Go,TA=xl.extend({type:"interval",_interval:0,_intervalPrecision:2,setExtent:function(t,e){var i=this._extent;isNaN(t)||(i[0]=parseFloat(t)),isNaN(e)||(i[1]=parseFloat(e))},unionExtent:function(t){var e=this._extent;t[0]e[1]&&(e[1]=t[1]),TA.prototype.setExtent.call(this,e[0],e[1])},getInterval:function(){return this._interval},setInterval:function(t){this._interval=t,this._niceExtent=this._extent.slice(),this._intervalPrecision=Ml(t)},getTicks:function(){return Al(this._interval,this._extent,this._niceExtent,this._intervalPrecision)},getLabel:function(t,e){if(null==t)return"";var i=e&&e.precision;return null==i?i=Ho(t)||0:"auto"===i&&(i=this._intervalPrecision),t=IA(t,i,!0),ta(t)},niceTicks:function(t,e,i){t=t||5;var n=this._extent,o=n[1]-n[0];if(isFinite(o)){o<0&&(o=-o,n.reverse());var a=Sl(n,t,e,i);this._intervalPrecision=a.intervalPrecision,this._interval=a.interval,this._niceExtent=a.niceTickExtent}},niceExtent:function(t){var e=this._extent;if(e[0]===e[1])if(0!==e[0]){var i=e[0];t.fixMax?e[0]-=i/2:(e[1]+=i/2,e[0]-=i/2)}else e[1]=1;var n=e[1]-e[0];isFinite(n)||(e[0]=0,e[1]=1),this.niceTicks(t.splitNumber,t.minInterval,t.maxInterval);var o=this._interval;t.fixMin||(e[0]=IA(Math.floor(e[0]/o)*o)),t.fixMax||(e[1]=IA(Math.ceil(e[1]/o)*o))}});TA.create=function(){return new TA};var AA="__ec_stack_",DA="undefined"!=typeof Float32Array?Float32Array:Array,CA={seriesType:"bar",plan:$I(),reset:function(t){if(Rl(t)&&zl(t)){var e=t.getData(),i=t.coordinateSystem,n=i.getBaseAxis(),o=i.getOtherAxis(n),a=e.mapDimension(o.dim),r=e.mapDimension(n.dim),s=o.isHorizontal(),l=s?0:1,u=Ol(Pl([t]),n,t).width;return u>.5||(u=.5),{progress:function(t,e){for(var n,h=new DA(2*t.count),c=[],d=[],f=0;null!=(n=t.next());)d[l]=e.get(a,n),d[1-l]=e.get(r,n),c=i.dataToPoint(d,null,c),h[f++]=c[0],h[f++]=c[1];e.setLayout({largePoints:h,barWidth:u,valueAxisStart:Bl(0,o),valueAxisHorizontal:s})}}}}},LA=TA.prototype,kA=Math.ceil,PA=Math.floor,NA=function(t,e,i,n){for(;i>>1;t[o][1]i&&(a=i);var r=EA.length,s=NA(EA,a,0,r),l=EA[Math.min(s,r-1)],u=l[1];"year"===l[0]&&(u*=$o(o/u/t,!0));var h=this.getSetting("useUTC")?0:60*new Date(+n[0]||+n[1]).getTimezoneOffset()*1e3,c=[Math.round(kA((n[0]-h)/u)*u+h),Math.round(PA((n[1]-h)/u)*u+h)];Tl(c,n),this._stepLvl=l,this._interval=u,this._niceExtent=c},parse:function(t){return+Yo(t)}});d(["contain","normalize"],function(t){OA.prototype[t]=function(e){return LA[t].call(this,this.parse(e))}});var EA=[["hh:mm:ss",1e3],["hh:mm:ss",5e3],["hh:mm:ss",1e4],["hh:mm:ss",15e3],["hh:mm:ss",3e4],["hh:mm\nMM-dd",6e4],["hh:mm\nMM-dd",3e5],["hh:mm\nMM-dd",6e5],["hh:mm\nMM-dd",9e5],["hh:mm\nMM-dd",18e5],["hh:mm\nMM-dd",36e5],["hh:mm\nMM-dd",72e5],["hh:mm\nMM-dd",216e5],["hh:mm\nMM-dd",432e5],["MM-dd\nyyyy",864e5],["MM-dd\nyyyy",1728e5],["MM-dd\nyyyy",2592e5],["MM-dd\nyyyy",3456e5],["MM-dd\nyyyy",432e6],["MM-dd\nyyyy",5184e5],["week",6048e5],["MM-dd\nyyyy",864e6],["week",12096e5],["week",18144e5],["month",26784e5],["week",36288e5],["month",53568e5],["week",6048e6],["quarter",8208e6],["month",107136e5],["month",13392e6],["half-year",16416e6],["month",214272e5],["month",26784e6],["year",32832e6]];OA.create=function(t){return new OA({useUTC:t.ecModel.get("useUTC")})};var RA=xl.prototype,zA=TA.prototype,BA=Ho,VA=Go,GA=Math.floor,FA=Math.ceil,WA=Math.pow,HA=Math.log,ZA=xl.extend({type:"log",base:10,$constructor:function(){xl.apply(this,arguments),this._originalScale=new TA},getTicks:function(){var t=this._originalScale,e=this._extent,i=t.getExtent();return f(zA.getTicks.call(this),function(n){var o=Go(WA(this.base,n));return o=n===e[0]&&t.__fixMin?Vl(o,i[0]):o,o=n===e[1]&&t.__fixMax?Vl(o,i[1]):o},this)},getLabel:zA.getLabel,scale:function(t){return t=RA.scale.call(this,t),WA(this.base,t)},setExtent:function(t,e){var i=this.base;t=HA(t)/HA(i),e=HA(e)/HA(i),zA.setExtent.call(this,t,e)},getExtent:function(){var t=this.base,e=RA.getExtent.call(this);e[0]=WA(t,e[0]),e[1]=WA(t,e[1]);var i=this._originalScale,n=i.getExtent();return i.__fixMin&&(e[0]=Vl(e[0],n[0])),i.__fixMax&&(e[1]=Vl(e[1],n[1])),e},unionExtent:function(t){this._originalScale.unionExtent(t);var e=this.base;t[0]=HA(t[0])/HA(e),t[1]=HA(t[1])/HA(e),RA.unionExtent.call(this,t)},unionExtentFromData:function(t,e){this.unionExtent(t.getApproximateExtent(e))},niceTicks:function(t){t=t||10;var e=this._extent,i=e[1]-e[0];if(!(i===1/0||i<=0)){var n=qo(i);for(t/i*n<=.5&&(n*=10);!isNaN(n)&&Math.abs(n)<1&&Math.abs(n)>0;)n*=10;var o=[Go(FA(e[0]/n)*n),Go(GA(e[1]/n)*n)];this._interval=n,this._niceExtent=o}},niceExtent:function(t){zA.niceExtent.call(this,t);var e=this._originalScale;e.__fixMin=t.fixMin,e.__fixMax=t.fixMax}});d(["contain","normalize"],function(t){ZA.prototype[t]=function(e){return e=HA(e)/HA(this.base),RA[t].call(this,e)}}),ZA.create=function(){return new ZA};var UA={getMin:function(t){var e=this.option,i=t||null==e.rangeStart?e.min:e.rangeStart;return this.axis&&null!=i&&"dataMin"!==i&&"function"!=typeof i&&!I(i)&&(i=this.axis.scale.parse(i)),i},getMax:function(t){var e=this.option,i=t||null==e.rangeEnd?e.max:e.rangeEnd;return this.axis&&null!=i&&"dataMax"!==i&&"function"!=typeof i&&!I(i)&&(i=this.axis.scale.parse(i)),i},getNeedCrossZero:function(){var t=this.option;return null==t.rangeStart&&null==t.rangeEnd&&!t.scale},getCoordSysModel:B,setRange:function(t,e){this.option.rangeStart=t,this.option.rangeEnd=e},resetRange:function(){this.option.rangeStart=this.option.rangeEnd=null}},XA=Un({type:"triangle",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var i=e.cx,n=e.cy,o=e.width/2,a=e.height/2;t.moveTo(i,n-a),t.lineTo(i+o,n+a),t.lineTo(i-o,n+a),t.closePath()}}),jA=Un({type:"diamond",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var i=e.cx,n=e.cy,o=e.width/2,a=e.height/2;t.moveTo(i,n-a),t.lineTo(i+o,n),t.lineTo(i,n+a),t.lineTo(i-o,n),t.closePath()}}),YA=Un({type:"pin",shape:{x:0,y:0,width:0,height:0},buildPath:function(t,e){var i=e.x,n=e.y,o=e.width/5*3,a=Math.max(o,e.height),r=o/2,s=r*r/(a-r),l=n-a+r+s,u=Math.asin(s/r),h=Math.cos(u)*r,c=Math.sin(u),d=Math.cos(u),f=.6*r,p=.7*r;t.moveTo(i-h,l+s),t.arc(i,l,r,Math.PI-u,2*Math.PI+u),t.bezierCurveTo(i+h-c*f,l+s+d*f,i,n-p,i,n),t.bezierCurveTo(i,n-p,i-h+c*f,l+s+d*f,i-h,l+s),t.closePath()}}),qA=Un({type:"arrow",shape:{x:0,y:0,width:0,height:0},buildPath:function(t,e){var i=e.height,n=e.width,o=e.x,a=e.y,r=n/3*2;t.moveTo(o,a),t.lineTo(o+r,a+i),t.lineTo(o,a+i/4*3),t.lineTo(o-r,a+i),t.lineTo(o,a),t.closePath()}}),KA={line:function(t,e,i,n,o){o.x1=t,o.y1=e+n/2,o.x2=t+i,o.y2=e+n/2},rect:function(t,e,i,n,o){o.x=t,o.y=e,o.width=i,o.height=n},roundRect:function(t,e,i,n,o){o.x=t,o.y=e,o.width=i,o.height=n,o.r=Math.min(i,n)/4},square:function(t,e,i,n,o){var a=Math.min(i,n);o.x=t,o.y=e,o.width=a,o.height=a},circle:function(t,e,i,n,o){o.cx=t+i/2,o.cy=e+n/2,o.r=Math.min(i,n)/2},diamond:function(t,e,i,n,o){o.cx=t+i/2,o.cy=e+n/2,o.width=i,o.height=n},pin:function(t,e,i,n,o){o.x=t+i/2,o.y=e+n/2,o.width=i,o.height=n},arrow:function(t,e,i,n,o){o.x=t+i/2,o.y=e+n/2,o.width=i,o.height=n},triangle:function(t,e,i,n,o){o.cx=t+i/2,o.cy=e+n/2,o.width=i,o.height=n}},$A={};d({line:_M,rect:yM,roundRect:yM,square:yM,circle:sM,diamond:jA,pin:YA,arrow:qA,triangle:XA},function(t,e){$A[e]=new t});var JA=Un({type:"symbol",shape:{symbolType:"",x:0,y:0,width:0,height:0},beforeBrush:function(){var t=this.style;"pin"===this.shape.symbolType&&"inside"===t.textPosition&&(t.textPosition=["50%","40%"],t.textAlign="center",t.textVerticalAlign="middle")},buildPath:function(t,e,i){var n=e.symbolType,o=$A[n];"none"!==e.symbolType&&(o||(o=$A[n="rect"]),KA[n](e.x,e.y,e.width,e.height,o.shape),o.buildPath(t,o.shape,i))}}),QA={isDimensionStacked:pl,enableDataStack:fl,getStackedDimension:gl},tD=(Object.freeze||Object)({createList:function(t){return ml(t.getSource(),t)},getLayoutRect:ca,dataStack:QA,createScale:function(t,e){var i=e;No.isInstance(e)||h(i=new No(e),UA);var n=Hl(i);return n.setExtent(t[0],t[1]),Wl(n,i),n},mixinAxisModelCommonMethods:function(t){h(t,UA)},completeDimensions:hl,createDimensions:_A,createSymbol:Jl}),eD=1e-8;eu.prototype={constructor:eu,properties:null,getBoundingRect:function(){var t=this._rect;if(t)return t;for(var e=Number.MAX_VALUE,i=[e,e],n=[-e,-e],o=[],a=[],r=this.geometries,s=0;s0}),function(t){var e=t.properties,i=t.geometry,n=i.coordinates,o=[];"Polygon"===i.type&&o.push({type:"polygon",exterior:n[0],interiors:n.slice(1)}),"MultiPolygon"===i.type&&d(n,function(t){t[0]&&o.push({type:"polygon",exterior:t[0],interiors:t.slice(1)})});var a=new eu(e.name,o,e.cp);return a.properties=e,a})},nD=Bi(),oD=[0,1],aD=function(t,e,i){this.dim=t,this.scale=e,this._extent=i||[0,0],this.inverse=!1,this.onBand=!1};aD.prototype={constructor:aD,contain:function(t){var e=this._extent,i=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return t>=i&&t<=n},containData:function(t){return this.contain(this.dataToCoord(t))},getExtent:function(){return this._extent.slice()},getPixelPrecision:function(t){return Zo(t||this.scale.getExtent(),this._extent)},setExtent:function(t,e){var i=this._extent;i[0]=t,i[1]=e},dataToCoord:function(t,e){var i=this._extent,n=this.scale;return t=n.normalize(t),this.onBand&&"ordinal"===n.type&&yu(i=i.slice(),n.count()),Bo(t,oD,i,e)},coordToData:function(t,e){var i=this._extent,n=this.scale;this.onBand&&"ordinal"===n.type&&yu(i=i.slice(),n.count());var o=Bo(t,i,oD,e);return this.scale.scale(o)},pointToData:function(t,e){},getTicksCoords:function(t){var e=(t=t||{}).tickModel||this.getTickModel(),i=au(this,e),n=f(i.ticks,function(t){return{coord:this.dataToCoord(t),tickValue:t}},this),o=e.get("alignWithLabel");return xu(this,n,i.tickCategoryInterval,o,t.clamp),n},getViewLabels:function(){return ou(this).labels},getLabelModel:function(){return this.model.getModel("axisLabel")},getTickModel:function(){return this.model.getModel("axisTick")},getBandWidth:function(){var t=this._extent,e=this.scale.getExtent(),i=e[1]-e[0]+(this.onBand?1:0);0===i&&(i=1);var n=Math.abs(t[1]-t[0]);return Math.abs(n)/i},isHorizontal:null,getRotate:null,calculateCategoryInterval:function(){return pu(this)}};var rD=iD,sD={};d(["map","each","filter","indexOf","inherits","reduce","filter","bind","curry","isArray","isString","isObject","isFunction","extend","defaults","clone","merge"],function(t){sD[t]=aw[t]});var lD={};d(["extendShape","extendPath","makePath","makeImage","mergePath","resizePath","createIcon","setHoverStyle","setLabelStyle","setTextStyle","setText","getFont","updateProps","initProps","getTransform","clipPointsByRect","clipRectByRect","Group","Image","Text","Circle","Sector","Ring","Polygon","Polyline","Rect","Line","BezierCurve","Arc","IncrementalDisplayable","CompoundPath","LinearGradient","RadialGradient","BoundingRect"],function(t){lD[t]=zM[t]}),YI.extend({type:"series.line",dependencies:["grid","polar"],getInitialData:function(t,e){return ml(this.getSource(),this)},defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,clipOverflow:!0,label:{position:"top"},lineStyle:{width:2,type:"solid"},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0}});var uD=wu.prototype,hD=wu.getSymbolSize=function(t,e){var i=t.getItemVisual(e,"symbolSize");return i instanceof Array?i.slice():[+i,+i]};uD._createSymbol=function(t,e,i,n,o){this.removeAll();var a=Jl(t,-1,-1,2,2,e.getItemVisual(i,"color"),o);a.attr({z2:100,culling:!0,scale:bu(n)}),a.drift=Su,this._symbolType=t,this.add(a)},uD.stopSymbolAnimation=function(t){this.childAt(0).stopAnimation(t)},uD.getSymbolPath=function(){return this.childAt(0)},uD.getScale=function(){return this.childAt(0).scale},uD.highlight=function(){this.childAt(0).trigger("emphasis")},uD.downplay=function(){this.childAt(0).trigger("normal")},uD.setZ=function(t,e){var i=this.childAt(0);i.zlevel=t,i.z=e},uD.setDraggable=function(t){var e=this.childAt(0);e.draggable=t,e.cursor=t?"move":"pointer"},uD.updateData=function(t,e,i){this.silent=!1;var n=t.getItemVisual(e,"symbol")||"circle",o=t.hostModel,a=hD(t,e),r=n!==this._symbolType;if(r){var s=t.getItemVisual(e,"symbolKeepAspect");this._createSymbol(n,t,e,a,s)}else(l=this.childAt(0)).silent=!1,Io(l,{scale:bu(a)},o,e);if(this._updateCommon(t,e,a,i),r){var l=this.childAt(0),u=i&&i.fadeIn,h={scale:l.scale.slice()};u&&(h.style={opacity:l.style.opacity}),l.scale=[0,0],u&&(l.style.opacity=0),To(l,h,o,e)}this._seriesModel=o};var cD=["itemStyle"],dD=["emphasis","itemStyle"],fD=["label"],pD=["emphasis","label"];uD._updateCommon=function(t,e,i,n){var o=this.childAt(0),r=t.hostModel,s=t.getItemVisual(e,"color");"image"!==o.type&&o.useStyle({strokeNoScale:!0});var l=n&&n.itemStyle,u=n&&n.hoverItemStyle,h=n&&n.symbolRotate,c=n&&n.symbolOffset,d=n&&n.labelModel,f=n&&n.hoverLabelModel,p=n&&n.hoverAnimation,g=n&&n.cursorStyle;if(!n||t.hasItemOption){var m=n&&n.itemModel?n.itemModel:t.getItemModel(e);l=m.getModel(cD).getItemStyle(["color"]),u=m.getModel(dD).getItemStyle(),h=m.getShallow("symbolRotate"),c=m.getShallow("symbolOffset"),d=m.getModel(fD),f=m.getModel(pD),p=m.getShallow("hoverAnimation"),g=m.getShallow("cursor")}else u=a({},u);var v=o.style;o.attr("rotation",(h||0)*Math.PI/180||0),c&&o.attr("position",[Vo(c[0],i[0]),Vo(c[1],i[1])]),g&&o.attr("cursor",g),o.setColor(s,n&&n.symbolInnerColor),o.setStyle(l);var y=t.getItemVisual(e,"opacity");null!=y&&(v.opacity=y);var x=t.getItemVisual(e,"liftZ"),_=o.__z2Origin;null!=x?null==_&&(o.__z2Origin=o.z2,o.z2+=x):null!=_&&(o.z2=_,o.__z2Origin=null);var w=n&&n.useNameLabel;go(v,u,d,f,{labelFetcher:r,labelDataIndex:e,defaultText:function(e,i){return w?t.getName(e):_u(t,e)},isRectText:!0,autoColor:s}),o.off("mouseover").off("mouseout").off("emphasis").off("normal"),o.hoverStyle=u,fo(o),o.__symbolOriginalScale=bu(i),p&&r.isAnimationEnabled()&&o.on("mouseover",Mu).on("mouseout",Iu).on("emphasis",Tu).on("normal",Au)},uD.fadeOut=function(t,e){var i=this.childAt(0);this.silent=i.silent=!0,!(e&&e.keepLabel)&&(i.style.text=null),Io(i,{style:{opacity:0},scale:[0,0]},this._seriesModel,this.dataIndex,t)},u(wu,tb);var gD=Du.prototype;gD.updateData=function(t,e){e=Lu(e);var i=this.group,n=t.hostModel,o=this._data,a=this._symbolCtor,r=ku(t);o||i.removeAll(),t.diff(o).add(function(n){var o=t.getItemLayout(n);if(Cu(t,o,n,e)){var s=new a(t,n,r);s.attr("position",o),t.setItemGraphicEl(n,s),i.add(s)}}).update(function(s,l){var u=o.getItemGraphicEl(l),h=t.getItemLayout(s);Cu(t,h,s,e)?(u?(u.updateData(t,s,r),Io(u,{position:h},n)):(u=new a(t,s)).attr("position",h),i.add(u),t.setItemGraphicEl(s,u)):i.remove(u)}).remove(function(t){var e=o.getItemGraphicEl(t);e&&e.fadeOut(function(){i.remove(e)})}).execute(),this._data=t},gD.isPersistent=function(){return!0},gD.updateLayout=function(){var t=this._data;t&&t.eachItemGraphicEl(function(e,i){var n=t.getItemLayout(i);e.attr("position",n)})},gD.incrementalPrepareUpdate=function(t){this._seriesScope=ku(t),this._data=null,this.group.removeAll()},gD.incrementalUpdate=function(t,e,i){i=Lu(i);for(var n=t.start;n0&&Ru(i[o-1]);o--);for(;n0&&Ru(i[a-1]);a--);for(;o=0){var r=o.getItemGraphicEl(a);if(!r){var s=o.getItemLayout(a);if(!s)return;(r=new wu(o,a)).position=s,r.setZ(t.get("zlevel"),t.get("z")),r.ignore=isNaN(s[0])||isNaN(s[1]),r.__temp=!0,o.setItemGraphicEl(a,r),r.stopSymbolAnimation(!0),this.group.add(r)}r.highlight()}else Ar.prototype.highlight.call(this,t,e,i,n)},downplay:function(t,e,i,n){var o=t.getData(),a=zi(o,n);if(null!=a&&a>=0){var r=o.getItemGraphicEl(a);r&&(r.__temp?(o.setItemGraphicEl(a,null),this.group.remove(r)):r.downplay())}else Ar.prototype.downplay.call(this,t,e,i,n)},_newPolyline:function(t){var e=this._polyline;return e&&this._lineGroup.remove(e),e=new MD({shape:{points:t},silent:!0,z2:10}),this._lineGroup.add(e),this._polyline=e,e},_newPolygon:function(t,e){var i=this._polygon;return i&&this._lineGroup.remove(i),i=new ID({shape:{points:t,stackedOnPoints:e},silent:!0}),this._lineGroup.add(i),this._polygon=i,i},_updateAnimation:function(t,e,i,n,o,a){var r=this._polyline,s=this._polygon,l=t.hostModel,u=mD(this._data,t,this._stackedOnPoints,e,this._coordSys,i,this._valueOrigin,a),h=u.current,c=u.stackedOnCurrent,d=u.next,f=u.stackedOnNext;o&&(h=Yu(u.current,i,o),c=Yu(u.stackedOnCurrent,i,o),d=Yu(u.next,i,o),f=Yu(u.stackedOnNext,i,o)),r.shape.__points=u.current,r.shape.points=h,Io(r,{shape:{points:d}},l),s&&(s.setShape({points:h,stackedOnPoints:c}),Io(s,{shape:{points:d,stackedOnPoints:f}},l));for(var p=[],g=u.status,m=0;me&&(e=t[i]);return isFinite(e)?e:NaN},min:function(t){for(var e=1/0,i=0;ie[1]&&e.reverse(),e},getOtherAxis:function(){this.grid.getOtherAxis()},pointToData:function(t,e){return this.coordToData(this.toLocalCoord(t["x"===this.dim?0:1]),e)},toLocalCoord:null,toGlobalCoord:null},u(kD,aD);var PD={show:!0,zlevel:0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#333",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,lineStyle:{color:["#ccc"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.3)","rgba(200,200,200,0.3)"]}}},ND={};ND.categoryAxis=n({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},PD),ND.valueAxis=n({boundaryGap:[0,0],splitNumber:5},PD),ND.timeAxis=r({scale:!0,min:"dataMin",max:"dataMax"},ND.valueAxis),ND.logAxis=r({scale:!0,logBase:10},ND.valueAxis);var OD=["value","category","time","log"],ED=function(t,e,i,a){d(OD,function(r){e.extend({type:t+"Axis."+r,mergeDefaultAndTheme:function(e,o){var a=this.layoutMode,s=a?ga(e):{};n(e,o.getTheme().get(r+"Axis")),n(e,this.getDefaultOption()),e.type=i(t,e),a&&pa(e,s,a)},optionUpdated:function(){"category"===this.option.type&&(this.__ordinalMeta=_l.createByAxisModel(this))},getCategories:function(t){var e=this.option;if("category"===e.type)return t?e.data:this.__ordinalMeta.categories},getOrdinalMeta:function(){return this.__ordinalMeta},defaultOption:o([{},ND[r+"Axis"],a],!0)})}),lI.registerSubTypeDefaulter(t+"Axis",v(i,t))},RD=lI.extend({type:"cartesian2dAxis",axis:null,init:function(){RD.superApply(this,"init",arguments),this.resetRange()},mergeOption:function(){RD.superApply(this,"mergeOption",arguments),this.resetRange()},restoreData:function(){RD.superApply(this,"restoreData",arguments),this.resetRange()},getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"grid",index:this.option.gridIndex,id:this.option.gridId})[0]}});n(RD.prototype,UA);var zD={offset:0};ED("x",RD,th,zD),ED("y",RD,th,zD),lI.extend({type:"grid",dependencies:["xAxis","yAxis"],layoutMode:"box",coordinateSystem:null,defaultOption:{show:!1,zlevel:0,z:0,left:"10%",top:60,right:"10%",bottom:60,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"}});var BD=ih.prototype;BD.type="grid",BD.axisPointerEnabled=!0,BD.getRect=function(){return this._rect},BD.update=function(t,e){var i=this._axesMap;this._updateScale(t,this.model),d(i.x,function(t){Wl(t.scale,t.model)}),d(i.y,function(t){Wl(t.scale,t.model)});var n={};d(i.x,function(t){nh(i,"y",t,n)}),d(i.y,function(t){nh(i,"x",t,n)}),this.resize(this.model,e)},BD.resize=function(t,e,i){function n(){d(a,function(t){var e=t.isHorizontal(),i=e?[0,o.width]:[0,o.height],n=t.inverse?1:0;t.setExtent(i[n],i[1-n]),ah(t,e?o.x:o.y)})}var o=ca(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()});this._rect=o;var a=this._axesList;n(),!i&&t.get("containLabel")&&(d(a,function(t){if(!t.model.get("axisLabel.inside")){var e=jl(t);if(e){var i=t.isHorizontal()?"height":"width",n=t.model.get("axisLabel.margin");o[i]-=e[i]+n,"top"===t.position?o.y+=e.height+n:"left"===t.position&&(o.x+=e.width+n)}}}),n())},BD.getAxis=function(t,e){var i=this._axesMap[t];if(null!=i){if(null==e)for(var n in i)if(i.hasOwnProperty(n))return i[n];return i[e]}},BD.getAxes=function(){return this._axesList.slice()},BD.getCartesian=function(t,e){if(null!=t&&null!=e){var i="x"+t+"y"+e;return this._coordsMap[i]}w(t)&&(e=t.yAxisIndex,t=t.xAxisIndex);for(var n=0,o=this._coordsList;nu[1]?-1:1,c=["start"===o?u[0]-h*l:"end"===o?u[1]+h*l:(u[0]+u[1])/2,ph(o)?t.labelOffset+r*l:0],d=e.get("nameRotate");null!=d&&(d=d*GD/180);var f;ph(o)?n=HD(t.rotation,null!=d?d:t.rotation,r):(n=uh(t,o,d||0,u),null!=(f=t.axisNameAvailableWidth)&&(f=Math.abs(f/Math.sin(n.rotation)),!isFinite(f)&&(f=null)));var p=s.getFont(),g=e.get("nameTruncate",!0)||{},m=g.ellipsis,v=T(t.nameTruncateMaxWidth,g.maxWidth,f),y=null!=m&&null!=v?tI(i,v,p,m,{minChar:2,placeholder:g.placeholder}):i,x=e.get("tooltip",!0),_=e.mainType,w={componentType:_,name:i,$vars:["name"]};w[_+"Index"]=e.componentIndex;var b=new rM({anid:"name",__fullText:i,__truncatedText:y,position:c,rotation:n.rotation,silent:hh(e),z2:1,tooltip:x&&x.show?a({content:i,formatter:function(){return i},formatterParams:w},x):null});mo(b.style,s,{text:y,textFont:p,textFill:s.getTextColor()||e.get("axisLine.lineStyle.color"),textAlign:n.textAlign,textVerticalAlign:n.textVerticalAlign}),e.get("triggerEvent")&&(b.eventData=lh(e),b.eventData.targetType="axisName",b.eventData.name=i),this._dumbGroup.add(b),b.updateTransform(),this.group.add(b),b.decomposeTransform()}}},HD=FD.innerTextLayout=function(t,e,i){var n,o,a=Xo(e-t);return jo(a)?(o=i>0?"top":"bottom",n="center"):jo(a-GD)?(o=i>0?"bottom":"top",n="center"):(o="middle",n=a>0&&a0?"right":"left":i>0?"left":"right"),{rotation:a,textAlign:n,textVerticalAlign:o}},ZD=d,UD=v,XD=Ws({type:"axis",_axisPointer:null,axisPointerClass:null,render:function(t,e,i,n){this.axisPointerClass&&Sh(t),XD.superApply(this,"render",arguments),Dh(this,t,0,i,0,!0)},updateAxisPointer:function(t,e,i,n,o){Dh(this,t,0,i,0,!1)},remove:function(t,e){var i=this._axisPointer;i&&i.remove(e),XD.superApply(this,"remove",arguments)},dispose:function(t,e){Ch(this,e),XD.superApply(this,"dispose",arguments)}}),jD=[];XD.registerAxisPointerClass=function(t,e){jD[t]=e},XD.getAxisPointerClass=function(t){return t&&jD[t]};var YD=["axisLine","axisTickLabel","axisName"],qD=["splitArea","splitLine"],KD=XD.extend({type:"cartesianAxis",axisPointerClass:"CartesianAxisPointer",render:function(t,e,i,n){this.group.removeAll();var o=this._axisGroup;if(this._axisGroup=new tb,this.group.add(this._axisGroup),t.get("show")){var a=t.getCoordSysModel(),r=Lh(a,t),s=new FD(t,r);d(YD,s.add,s),this._axisGroup.add(s.getGroup()),d(qD,function(e){t.get(e+".show")&&this["_"+e](t,a)},this),Lo(o,this._axisGroup,t),KD.superCall(this,"render",t,e,i,n)}},remove:function(){this._splitAreaColors=null},_splitLine:function(t,e){var i=t.axis;if(!i.scale.isBlank()){var n=t.getModel("splitLine"),o=n.getModel("lineStyle"),a=o.get("color");a=y(a)?a:[a];for(var s=e.coordinateSystem.getRect(),l=i.isHorizontal(),u=0,h=i.getTicksCoords({tickModel:n}),c=[],d=[],f=o.getLineStyle(),p=0;p1){var c;"string"==typeof o?c=DD[o]:"function"==typeof o&&(c=o),c&&t.setData(n.downSample(n.mapDimension(s.dim),1/h,c,CD))}}}}}("line"));var $D=YI.extend({type:"series.__base_bar__",getInitialData:function(t,e){return ml(this.getSource(),this)},getMarkerPosition:function(t){var e=this.coordinateSystem;if(e){var i=e.dataToPoint(e.clampData(t)),n=this.getData(),o=n.getLayout("offset"),a=n.getLayout("size");return i[e.getBaseAxis().isHorizontal()?0:1]+=o+a/2,i}return[NaN,NaN]},defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3e3,progressiveChunkMode:"mod",itemStyle:{},emphasis:{}}});$D.extend({type:"series.bar",dependencies:["grid","polar"],brushSelector:"rect",getProgressive:function(){return!!this.get("large")&&this.get("progressive")},getProgressiveThreshold:function(){var t=this.get("progressiveThreshold"),e=this.get("largeThreshold");return e>t&&(t=e),t}});var JD=Qb([["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["stroke","barBorderColor"],["lineWidth","barBorderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),QD={getBarItemStyle:function(t){var e=JD(this,t);if(this.getBorderLineDash){var i=this.getBorderLineDash();i&&(e.lineDash=i)}return e}},tC=["itemStyle","barBorderWidth"];a(No.prototype,QD),Zs({type:"bar",render:function(t,e,i){this._updateDrawMode(t);var n=t.get("coordinateSystem");return"cartesian2d"!==n&&"polar"!==n||(this._isLargeDraw?this._renderLarge(t,e,i):this._renderNormal(t,e,i)),this.group},incrementalPrepareRender:function(t,e,i){this._clear(),this._updateDrawMode(t)},incrementalRender:function(t,e,i,n){this._incrementalRenderLarge(t,e)},_updateDrawMode:function(t){var e=t.pipelineContext.large;(null==this._isLargeDraw||e^this._isLargeDraw)&&(this._isLargeDraw=e,this._clear())},_renderNormal:function(t,e,i){var n,o=this.group,a=t.getData(),r=this._data,s=t.coordinateSystem,l=s.getBaseAxis();"cartesian2d"===s.type?n=l.isHorizontal():"polar"===s.type&&(n="angle"===l.dim);var u=t.isAnimationEnabled()?t:null;a.diff(r).add(function(e){if(a.hasValue(e)){var i=a.getItemModel(e),r=iC[s.type](a,e,i),l=eC[s.type](a,e,i,r,n,u);a.setItemGraphicEl(e,l),o.add(l),Eh(l,a,e,i,r,t,n,"polar"===s.type)}}).update(function(e,i){var l=r.getItemGraphicEl(i);if(a.hasValue(e)){var h=a.getItemModel(e),c=iC[s.type](a,e,h);l?Io(l,{shape:c},u,e):l=eC[s.type](a,e,h,c,n,u,!0),a.setItemGraphicEl(e,l),o.add(l),Eh(l,a,e,h,c,t,n,"polar"===s.type)}else o.remove(l)}).remove(function(t){var e=r.getItemGraphicEl(t);"cartesian2d"===s.type?e&&Nh(t,u,e):e&&Oh(t,u,e)}).execute(),this._data=a},_renderLarge:function(t,e,i){this._clear(),zh(t,this.group)},_incrementalRenderLarge:function(t,e){zh(e,this.group,!0)},dispose:B,remove:function(t){this._clear(t)},_clear:function(t){var e=this.group,i=this._data;t&&t.get("animation")&&i&&!this._isLargeDraw?i.eachItemGraphicEl(function(e){"sector"===e.type?Oh(e.dataIndex,t,e):Nh(e.dataIndex,t,e)}):e.removeAll(),this._data=null}});var eC={cartesian2d:function(t,e,i,n,o,r,s){var l=new yM({shape:a({},n)});if(r){var u=l.shape,h=o?"height":"width",c={};u[h]=0,c[h]=n[h],zM[s?"updateProps":"initProps"](l,{shape:c},r,e)}return l},polar:function(t,e,i,n,o,a,s){var l=n.startAngle0?1:-1,r=n.height>0?1:-1;return{x:n.x+a*o/2,y:n.y+r*o/2,width:n.width-a*o,height:n.height-r*o}},polar:function(t,e,i){var n=t.getItemLayout(e);return{cx:n.cx,cy:n.cy,r0:n.r0,r:n.r,startAngle:n.startAngle,endAngle:n.endAngle}}},nC=Pn.extend({type:"largeBar",shape:{points:[]},buildPath:function(t,e){for(var i=e.points,n=this.__startPoint,o=this.__valueIdx,a=0;a0&&"scale"!==u){var d=o.getItemLayout(0),f=Math.max(i.getWidth(),i.getHeight())/2,p=m(r.removeClipPath,r);r.setClipPath(this._createClipPath(d.cx,d.cy,f,d.startAngle,d.clockwise,p,t))}else r.removeClipPath();this._data=o}},dispose:function(){},_createClipPath:function(t,e,i,n,o,a,r){var s=new hM({shape:{cx:t,cy:e,r0:0,r:i,startAngle:n,endAngle:n,clockwise:o}});return To(s,{shape:{endAngle:n+(o?1:-1)*Math.PI*2}},r,a),s},containPoint:function(t,e){var i=e.getData().getItemLayout(0);if(i){var n=t[0]-i.cx,o=t[1]-i.cy,a=Math.sqrt(n*n+o*o);return a<=i.r&&a>=i.r0}}});var lC=function(t,e){d(e,function(e){e.update="updateView",Es(e,function(i,n){var o={};return n.eachComponent({mainType:"series",subType:t,query:i},function(t){t[e.method]&&t[e.method](i.name,i.dataIndex);var n=t.getData();n.each(function(e){var i=n.getName(e);o[i]=t.isSelected(i)||!1})}),{name:i.name,selected:o}})})},uC=function(t){return{getTargetSeries:function(e){var i={},n=R();return e.eachSeriesByType(t,function(t){t.__paletteScope=i,n.set(t.uid,t)}),n},reset:function(t,e){var i=t.getRawData(),n={},o=t.getData();o.each(function(t){var e=o.getRawIndex(t);n[e]=t}),i.each(function(e){var a=n[e],r=null!=a&&o.getItemVisual(a,"color",!0);if(r)i.setItemVisual(e,"color",r);else{var s=i.getItemModel(e).get("itemStyle.color")||t.getColorFromPalette(i.getName(e)||e+"",t.__paletteScope,i.count());i.setItemVisual(e,"color",s),null!=a&&o.setItemVisual(a,"color",s)}})}}},hC=function(t,e,i,n){var o,a,r=t.getData(),s=[],l=!1;r.each(function(i){var n,u,h,c,d=r.getItemLayout(i),f=r.getItemModel(i),p=f.getModel("label"),g=p.get("position")||f.get("emphasis.label.position"),m=f.getModel("labelLine"),v=m.get("length"),y=m.get("length2"),x=(d.startAngle+d.endAngle)/2,_=Math.cos(x),w=Math.sin(x);o=d.cx,a=d.cy;var b="inside"===g||"inner"===g;if("center"===g)n=d.cx,u=d.cy,c="center";else{var S=(b?(d.r+d.r0)/2*_:d.r*_)+o,M=(b?(d.r+d.r0)/2*w:d.r*w)+a;if(n=S+3*_,u=M+3*w,!b){var I=S+_*(v+e-d.r),T=M+w*(v+e-d.r),A=I+(_<0?-1:1)*y,D=T;n=A+(_<0?-5:5),u=D,h=[[S,M],[I,T],[A,D]]}c=b?"center":_>0?"left":"right"}var C=p.getFont(),L=p.get("rotate")?_<0?-x+Math.PI:-x:0,k=ke(t.getFormattedLabel(i,"normal")||r.getName(i),C,c,"top");l=!!L,d.label={x:n,y:u,position:g,height:k.height,len:v,len2:y,linePoints:h,textAlign:c,verticalAlign:"middle",rotation:L,inside:b},b||s.push(d.label)}),!l&&t.get("avoidLabelOverlap")&&Hh(s,o,a,e,i,n)},cC=2*Math.PI,dC=Math.PI/180,fC=function(t){return{seriesType:t,reset:function(t,e){var i=e.findComponents({mainType:"legend"});if(i&&i.length){var n=t.getData();n.filterSelf(function(t){for(var e=n.getName(t),o=0;o=0;s--){var l=2*s,u=n[l]-a/2,h=n[l+1]-r/2;if(t>=u&&e>=h&&t<=u+a&&e<=h+r)return s}return-1}}),gC=Uh.prototype;gC.isPersistent=function(){return!this._incremental},gC.updateData=function(t){this.group.removeAll();var e=new pC({rectHover:!0,cursor:"default"});e.setShape({points:t.getLayout("symbolPoints")}),this._setCommon(e,t),this.group.add(e),this._incremental=null},gC.updateLayout=function(t){if(!this._incremental){var e=t.getLayout("symbolPoints");this.group.eachChild(function(t){if(null!=t.startIndex){var i=2*(t.endIndex-t.startIndex),n=4*t.startIndex*2;e=new Float32Array(e.buffer,n,i)}t.setShape("points",e)})}},gC.incrementalPrepareUpdate=function(t){this.group.removeAll(),this._clearIncremental(),t.count()>2e6?(this._incremental||(this._incremental=new Zn({silent:!0})),this.group.add(this._incremental)):this._incremental=null},gC.incrementalUpdate=function(t,e){var i;this._incremental?(i=new pC,this._incremental.addDisplayable(i,!0)):((i=new pC({rectHover:!0,cursor:"default",startIndex:t.start,endIndex:t.end})).incremental=!0,this.group.add(i)),i.setShape({points:e.getLayout("symbolPoints")}),this._setCommon(i,e,!!this._incremental)},gC._setCommon=function(t,e,i){var n=e.hostModel,o=e.getVisual("symbolSize");t.setShape("size",o instanceof Array?o:[o,o]),t.symbolProxy=Jl(e.getVisual("symbol"),0,0,0,0),t.setColor=t.symbolProxy.setColor;var a=t.shape.size[0]<4;t.useStyle(n.getModel("itemStyle").getItemStyle(a?["color","shadowBlur","shadowColor"]:["color"]));var r=e.getVisual("color");r&&t.setColor(r),i||(t.seriesIndex=n.seriesIndex,t.on("mousemove",function(e){t.dataIndex=null;var i=t.findDataIndex(e.offsetX,e.offsetY);i>=0&&(t.dataIndex=i+(t.startIndex||0))}))},gC.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},gC._clearIncremental=function(){var t=this._incremental;t&&t.clearDisplaybles()},Zs({type:"scatter",render:function(t,e,i){var n=t.getData();this._updateSymbolDraw(n,t).updateData(n),this._finished=!0},incrementalPrepareRender:function(t,e,i){var n=t.getData();this._updateSymbolDraw(n,t).incrementalPrepareUpdate(n),this._finished=!1},incrementalRender:function(t,e,i){this._symbolDraw.incrementalUpdate(t,e.getData()),this._finished=t.end===e.getData().count()},updateTransform:function(t,e,i){var n=t.getData();if(this.group.dirty(),!this._finished||n.count()>1e4||!this._symbolDraw.isPersistent())return{update:!0};var o=AD().reset(t);o.progress&&o.progress({start:0,end:n.count()},n),this._symbolDraw.updateLayout(n)},_updateSymbolDraw:function(t,e){var i=this._symbolDraw,n=e.pipelineContext.large;return i&&n===this._isLargeDraw||(i&&i.remove(),i=this._symbolDraw=n?new Uh:new Du,this._isLargeDraw=n,this.group.removeAll()),this.group.add(i.group),i},remove:function(t,e){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},dispose:function(){}}),Bs(TD("scatter","circle")),zs(AD("scatter")),u(Xh,aD),jh.prototype.getIndicatorAxes=function(){return this._indicatorAxes},jh.prototype.dataToPoint=function(t,e){var i=this._indicatorAxes[e];return this.coordToPoint(i.dataToCoord(t),e)},jh.prototype.coordToPoint=function(t,e){var i=this._indicatorAxes[e].angle;return[this.cx+t*Math.cos(i),this.cy-t*Math.sin(i)]},jh.prototype.pointToData=function(t){var e=t[0]-this.cx,i=t[1]-this.cy,n=Math.sqrt(e*e+i*i);e/=n,i/=n;for(var o,a=Math.atan2(-i,e),r=1/0,s=-1,l=0;ln[0]&&isFinite(c)&&isFinite(n[0]))}else{r.getTicks().length-1>a&&(u=i(u));var d=Math.round((n[0]+n[1])/2/u)*u,f=Math.round(a/2);r.setExtent(Go(d-f*u),Go(d+(a-f)*u)),r.setInterval(u)}})},jh.dimensions=[],jh.create=function(t,e){var i=[];return t.eachComponent("radar",function(n){var o=new jh(n,t,e);i.push(o),n.coordinateSystem=o}),t.eachSeriesByType("radar",function(t){"radar"===t.get("coordinateSystem")&&(t.coordinateSystem=i[t.get("radarIndex")||0])}),i},Fa.register("radar",jh);var mC=ND.valueAxis,vC=(Fs({type:"radar",optionUpdated:function(){var t=this.get("boundaryGap"),e=this.get("splitNumber"),o=this.get("scale"),s=this.get("axisLine"),l=this.get("axisTick"),u=this.get("axisLabel"),h=this.get("name"),c=this.get("name.show"),d=this.get("name.formatter"),p=this.get("nameGap"),g=this.get("triggerEvent"),m=f(this.get("indicator")||[],function(f){null!=f.max&&f.max>0&&!f.min?f.min=0:null!=f.min&&f.min<0&&!f.max&&(f.max=0);var m=h;if(null!=f.color&&(m=r({color:f.color},h)),f=n(i(f),{boundaryGap:t,splitNumber:e,scale:o,axisLine:s,axisTick:l,axisLabel:u,name:f.text,nameLocation:"end",nameGap:p,nameTextStyle:m,triggerEvent:g},!1),c||(f.name=""),"string"==typeof d){var v=f.name;f.name=d.replace("{value}",null!=v?v:"")}else"function"==typeof d&&(f.name=d(f.name,f));var y=a(new No(f,null,this.ecModel),UA);return y.mainType="radar",y.componentIndex=this.componentIndex,y},this);this.getIndicatorModels=function(){return m}},defaultOption:{zlevel:0,z:0,center:["50%","50%"],radius:"75%",startAngle:90,name:{show:!0},boundaryGap:[0,0],splitNumber:5,nameGap:15,scale:!1,shape:"polygon",axisLine:n({lineStyle:{color:"#bbb"}},mC.axisLine),axisLabel:Yh(mC.axisLabel,!1),axisTick:Yh(mC.axisTick,!1),splitLine:Yh(mC.splitLine,!0),splitArea:Yh(mC.splitArea,!0),indicator:[]}}),["axisLine","axisTickLabel","axisName"]);Ws({type:"radar",render:function(t,e,i){this.group.removeAll(),this._buildAxes(t),this._buildSplitLineAndArea(t)},_buildAxes:function(t){var e=t.coordinateSystem;d(f(e.getIndicatorAxes(),function(t){return new FD(t.model,{position:[e.cx,e.cy],rotation:t.angle,labelDirection:-1,tickDirection:-1,nameDirection:1})}),function(t){d(vC,t.add,t),this.group.add(t.getGroup())},this)},_buildSplitLineAndArea:function(t){function e(t,e,i){var n=i%e.length;return t[n]=t[n]||[],n}var i=t.coordinateSystem,n=i.getIndicatorAxes();if(n.length){var o=t.get("shape"),a=t.getModel("splitLine"),s=t.getModel("splitArea"),l=a.getModel("lineStyle"),u=s.getModel("areaStyle"),h=a.get("show"),c=s.get("show"),p=l.get("color"),g=u.get("color");p=y(p)?p:[p],g=y(g)?g:[g];var m=[],v=[];if("circle"===o)for(var x=n[0].getTicksCoords(),_=i.cx,w=i.cy,b=0;b"+f(i,function(i,n){var o=e.get(e.mapDimension(i.dim),t);return ia(i.name+" : "+o)}).join("
    ")},defaultOption:{zlevel:0,z:2,coordinateSystem:"radar",legendHoverLink:!0,radarIndex:0,lineStyle:{width:2,type:"solid"},label:{position:"top"},symbol:"emptyCircle",symbolSize:4}});Zs({type:"radar",render:function(t,e,n){function o(t,e){var i=t.getItemVisual(e,"symbol")||"circle",n=t.getItemVisual(e,"color");if("none"!==i){var o=qh(t.getItemVisual(e,"symbolSize")),a=Jl(i,-1,-1,2,2,n);return a.attr({style:{strokeNoScale:!0},z2:100,scale:[o[0]/2,o[1]/2]}),a}}function a(e,i,n,a,r,s){n.removeAll();for(var l=0;l"+ia(n+" : "+i)},getTooltipPosition:function(t){if(null!=t){var e=this.getData().getName(t),i=this.coordinateSystem,n=i.getRegion(e);return n&&i.dataToPoint(n.center)}},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},defaultOption:{zlevel:0,z:2,coordinateSystem:"geo",map:"",left:"center",top:"center",aspectScale:.75,showLegendSymbol:!0,dataRangeHoverLink:!0,boundingCoords:null,center:null,zoom:1,scaleLimit:null,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",areaColor:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{areaColor:"rgba(255,215,0,0.8)"}}}}),aC);var EC="\0_ec_interaction_mutex";Es({type:"takeGlobalCursor",event:"globalCursorTaken",update:"update"},function(){}),h(oc,fw);var RC={axisPointer:1,tooltip:1,brush:1};xc.prototype={constructor:xc,draw:function(t,e,i,n,o){var a="geo"===t.mainType,r=t.getData&&t.getData();a&&e.eachComponent({mainType:"series",subType:"map"},function(e){r||e.getHostGeoModel()!==t||(r=e.getData())});var s=t.coordinateSystem;this._updateBackground(s);var l=this._regionsGroup,u=this.group,h=s.scale,c={position:s.position,scale:h};!l.childAt(0)||o?u.attr(c):Io(u,c,t),l.removeAll();var f=["itemStyle"],p=["emphasis","itemStyle"],g=["label"],m=["emphasis","label"],v=R();d(s.regions,function(e){var i=v.get(e.name)||v.set(e.name,new tb),n=new MM({shape:{paths:[]}});i.add(n);var o,s=(C=t.getRegionModel(e.name)||t).getModel(f),u=C.getModel(p),c=mc(s),y=mc(u),x=C.getModel(g),_=C.getModel(m);if(r){o=r.indexOfName(e.name);var w=r.getItemVisual(o,"color",!0);w&&(c.fill=w)}d(e.geometries,function(t){if("polygon"===t.type){n.shape.paths.push(new pM({shape:{points:t.exterior}}));for(var e=0;e<(t.interiors?t.interiors.length:0);e++)n.shape.paths.push(new pM({shape:{points:t.interiors[e]}}))}}),n.setStyle(c),n.style.strokeNoScale=!0,n.culling=!0;var b=x.get("show"),S=_.get("show"),M=r&&isNaN(r.get(r.mapDimension("value"),o)),I=r&&r.getItemLayout(o);if(a||M&&(b||S)||I&&I.showLabel){var T,A=a?e.name:o;(!r||o>=0)&&(T=t);var D=new rM({position:e.center.slice(),scale:[1/h[0],1/h[1]],z2:10,silent:!0});go(D.style,D.hoverStyle={},x,_,{labelFetcher:T,labelDataIndex:A,defaultText:e.name,useInsideStyle:!1},{textAlign:"center",textVerticalAlign:"middle"}),i.add(D)}if(r)r.setItemGraphicEl(o,i);else{var C=t.getRegionModel(e.name);n.eventData={componentType:"geo",componentIndex:t.componentIndex,geoIndex:t.componentIndex,name:e.name,region:C&&C.option||{}}}(i.__regions||(i.__regions=[])).push(e),fo(i,y,{hoverSilentOnTouch:!!t.get("selectedMode")}),l.add(i)}),this._updateController(t,e,i),vc(this,t,l,i,n),yc(t,l)},remove:function(){this._regionsGroup.removeAll(),this._backgroundGroup.removeAll(),this._controller.dispose(),this._mapName&&OC.removeGraphic(this._mapName,this.uid),this._mapName=null,this._controllerHost={}},_updateBackground:function(t){var e=t.map;this._mapName!==e&&d(OC.makeGraphic(e,this.uid),function(t){this._backgroundGroup.add(t)},this),this._mapName=e},_updateController:function(t,e,i){function n(){var e={type:"geoRoam",componentType:l};return e[l+"Id"]=t.id,e}var o=t.coordinateSystem,r=this._controller,s=this._controllerHost;s.zoomLimit=t.get("scaleLimit"),s.zoom=o.getZoom(),r.enable(t.get("roam")||!1);var l=t.mainType;r.off("pan").on("pan",function(t){this._mouseDownFlag=!1,fc(s,t.dx,t.dy),i.dispatchAction(a(n(),{dx:t.dx,dy:t.dy}))},this),r.off("zoom").on("zoom",function(t){if(this._mouseDownFlag=!1,pc(s,t.scale,t.originX,t.originY),i.dispatchAction(a(n(),{zoom:t.scale,originX:t.originX,originY:t.originY})),this._updateGroup){var e=this.group.scale;this._regionsGroup.traverse(function(t){"text"===t.type&&t.attr("scale",[1/e[0],1/e[1]])})}},this),r.setPointerChecker(function(e,n,a){return o.getViewRectAfterRoam().contain(n,a)&&!gc(e,i,t)})}};var zC="__seriesMapHighDown",BC="__seriesMapCallKey";Zs({type:"map",render:function(t,e,i,n){if(!n||"mapToggleSelect"!==n.type||n.from!==this.uid){var o=this.group;if(o.removeAll(),!t.getHostGeoModel()){if(n&&"geoRoam"===n.type&&"series"===n.componentType&&n.seriesId===t.id)(a=this._mapDraw)&&o.add(a.group);else if(t.needsDrawMap){var a=this._mapDraw||new xc(i,!0);o.add(a.group),a.draw(t,e,i,this,n),this._mapDraw=a}else this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null;t.get("showLegendSymbol")&&e.getComponent("legend")&&this._renderSymbols(t,e,i)}}},remove:function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null,this.group.removeAll()},dispose:function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null},_renderSymbols:function(t,e,i){var n=t.originalData,o=this.group;n.each(n.mapDimension("value"),function(e,i){if(!isNaN(e)){var r=n.getItemLayout(i);if(r&&r.point){var s=r.point,l=r.offset,u=new sM({style:{fill:t.getData().getVisual("color")},shape:{cx:s[0]+9*l,cy:s[1],r:3},silent:!0,z2:8+(l?0:NM+1)});if(!l){var h=t.mainSeries.getData(),c=n.getName(i),d=h.indexOfName(c),f=n.getItemModel(i),p=f.getModel("label"),g=f.getModel("emphasis.label"),m=h.getItemGraphicEl(d),y=A(t.getFormattedLabel(d,"normal"),c),x=A(t.getFormattedLabel(d,"emphasis"),y),_=m[zC],w=Math.random();if(!_){_=m[zC]={};var b=v(_c,!0),S=v(_c,!1);m.on("mouseover",b).on("mouseout",S).on("emphasis",b).on("normal",S)}m[BC]=w,a(_,{recordVersion:w,circle:u,labelModel:p,hoverLabelModel:g,emphasisText:x,normalText:y}),wc(_,!1)}o.add(u)}}})}}),Es({type:"geoRoam",event:"geoRoam",update:"updateTransform"},function(t,e){var i=t.componentType||"series";e.eachComponent({mainType:i,query:t},function(e){var n=e.coordinateSystem;if("geo"===n.type){var o=bc(n,t,e.get("scaleLimit"));e.setCenter&&e.setCenter(o.center),e.setZoom&&e.setZoom(o.zoom),"series"===i&&d(e.seriesGroup,function(t){t.setCenter(o.center),t.setZoom(o.zoom)})}})});var VC=Q;h(Sc,Tw),Mc.prototype={constructor:Mc,type:"view",dimensions:["x","y"],setBoundingRect:function(t,e,i,n){return this._rect=new de(t,e,i,n),this._rect},getBoundingRect:function(){return this._rect},setViewRect:function(t,e,i,n){this.transformTo(t,e,i,n),this._viewRect=new de(t,e,i,n)},transformTo:function(t,e,i,n){var o=this.getBoundingRect(),a=this._rawTransformable;a.transform=o.calculateTransform(new de(t,e,i,n)),a.decomposeTransform(),this._updateTransform()},setCenter:function(t){t&&(this._center=t,this._updateCenterAndZoom())},setZoom:function(t){t=t||1;var e=this.zoomLimit;e&&(null!=e.max&&(t=Math.min(e.max,t)),null!=e.min&&(t=Math.max(e.min,t))),this._zoom=t,this._updateCenterAndZoom()},getDefaultCenter:function(){var t=this.getBoundingRect();return[t.x+t.width/2,t.y+t.height/2]},getCenter:function(){return this._center||this.getDefaultCenter()},getZoom:function(){return this._zoom||1},getRoamTransform:function(){return this._roamTransformable.getLocalTransform()},_updateCenterAndZoom:function(){var t=this._rawTransformable.getLocalTransform(),e=this._roamTransformable,i=this.getDefaultCenter(),n=this.getCenter(),o=this.getZoom();n=Q([],n,t),i=Q([],i,t),e.origin=n,e.position=[i[0]-n[0],i[1]-n[1]],e.scale=[o,o],this._updateTransform()},_updateTransform:function(){var t=this._roamTransformable,e=this._rawTransformable;e.parent=t,t.updateTransform(),e.updateTransform(),wt(this.transform||(this.transform=[]),e.transform||xt()),this._rawTransform=e.getLocalTransform(),this.invTransform=this.invTransform||[],Tt(this.invTransform,this.transform),this.decomposeTransform()},getViewRect:function(){return this._viewRect},getViewRectAfterRoam:function(){var t=this.getBoundingRect().clone();return t.applyTransform(this.transform),t},dataToPoint:function(t,e,i){var n=e?this._rawTransform:this.transform;return i=i||[],n?VC(i,t,n):G(i,t)},pointToData:function(t){var e=this.invTransform;return e?VC([],t,e):[t[0],t[1]]},convertToPixel:v(Ic,"dataToPoint"),convertFromPixel:v(Ic,"pointToData"),containPoint:function(t){return this.getViewRectAfterRoam().contain(t[0],t[1])}},h(Mc,Tw),Tc.prototype={constructor:Tc,type:"geo",dimensions:["lng","lat"],containCoord:function(t){for(var e=this.regions,i=0;ie&&(e=n.height)}this.height=e+1},getNodeById:function(t){if(this.getId()===t)return this;for(var e=0,i=this.children,n=i.length;e=0&&this.hostTree.data.setItemLayout(this.dataIndex,t,e)},getLayout:function(){return this.hostTree.data.getItemLayout(this.dataIndex)},getModel:function(t){if(!(this.dataIndex<0)){var e,i=this.hostTree,n=i.data.getItemModel(this.dataIndex),o=this.getLevelModel();return o||0!==this.children.length&&(0===this.children.length||!1!==this.isExpand)||(e=this.getLeavesModel()),n.getModel(t,(o||e||i.hostModel).getModel(t))}},getLevelModel:function(){return(this.hostTree.levelModels||[])[this.depth]},getLeavesModel:function(){return this.hostTree.leavesModel},setVisual:function(t,e){this.dataIndex>=0&&this.hostTree.data.setItemVisual(this.dataIndex,t,e)},getVisual:function(t,e){return this.hostTree.data.getItemVisual(this.dataIndex,t,e)},getRawIndex:function(){return this.hostTree.data.getRawIndex(this.dataIndex)},getId:function(){return this.hostTree.data.getId(this.dataIndex)},isAncestorOf:function(t){for(var e=t.parentNode;e;){if(e===this)return!0;e=e.parentNode}return!1},isDescendantOf:function(t){return t!==this&&t.isAncestorOf(this)}},Vc.prototype={constructor:Vc,type:"tree",eachNode:function(t,e,i){this.root.eachNode(t,e,i)},getNodeByDataIndex:function(t){var e=this.data.getRawIndex(t);return this._nodes[e]},getNodeByName:function(t){return this.root.getNodeByName(t)},update:function(){for(var t=this.data,e=this._nodes,i=0,n=e.length;ia&&(a=t.depth)});var r=t.expandAndCollapse&&t.initialTreeDepth>=0?t.initialTreeDepth:a;return o.root.eachNode("preorder",function(t){var e=t.hostTree.data.getRawDataItem(t.dataIndex);t.isExpand=e&&null!=e.collapsed?!e.collapsed:t.depth<=r}),o.data},getOrient:function(){var t=this.get("orient");return"horizontal"===t?t="LR":"vertical"===t&&(t="TB"),t},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},formatTooltip:function(t){for(var e=this.getData().tree,i=e.root.children[0],n=e.getNodeByDataIndex(t),o=n.getValue(),a=n.name;n&&n!==i;)a=n.parentNode.name+"."+a,n=n.parentNode;return ia(a+(isNaN(o)||null==o?"":" : "+o))},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",left:"12%",top:"12%",right:"12%",bottom:"12%",layout:"orthogonal",roam:!1,nodeScaleRatio:.4,center:null,zoom:1,orient:"LR",symbol:"emptyCircle",symbolSize:7,expandAndCollapse:!0,initialTreeDepth:2,lineStyle:{color:"#ccc",width:1.5,curveness:.5},itemStyle:{color:"lightsteelblue",borderColor:"#c23531",borderWidth:1.5},label:{show:!0,color:"#555"},leaves:{label:{show:!0}},animationEasing:"linear",animationDuration:700,animationDurationUpdate:1e3}}),Zs({type:"tree",init:function(t,e){this._oldTree,this._mainGroup=new tb,this._controller=new oc(e.getZr()),this._controllerHost={target:this.group},this.group.add(this._mainGroup)},render:function(t,e,i,n){var o=t.getData(),a=t.layoutInfo,r=this._mainGroup,s=t.get("layout");"radial"===s?r.attr("position",[a.x+a.width/2,a.y+a.height/2]):r.attr("position",[a.x,a.y]),this._updateViewCoordSys(t),this._updateController(t,e,i);var l=this._data,u={expandAndCollapse:t.get("expandAndCollapse"),layout:s,orient:t.getOrient(),curvature:t.get("lineStyle.curveness"),symbolRotate:t.get("symbolRotate"),symbolOffset:t.get("symbolOffset"),hoverAnimation:t.get("hoverAnimation"),useNameLabel:!0,fadeIn:!0};o.diff(l).add(function(e){td(o,e)&&id(o,e,null,r,t,u)}).update(function(e,i){var n=l.getItemGraphicEl(i);td(o,e)?id(o,e,n,r,t,u):n&&nd(l,i,n,r,t,u)}).remove(function(e){var i=l.getItemGraphicEl(e);i&&nd(l,e,i,r,t,u)}).execute(),this._nodeScaleRatio=t.get("nodeScaleRatio"),this._updateNodeAndLinkScale(t),!0===u.expandAndCollapse&&o.eachItemGraphicEl(function(e,n){e.off("click").on("click",function(){i.dispatchAction({type:"treeExpandAndCollapse",seriesId:t.id,dataIndex:n})})}),this._data=o},_updateViewCoordSys:function(t){var e=t.getData(),i=[];e.each(function(t){var n=e.getItemLayout(t);!n||isNaN(n.x)||isNaN(n.y)||i.push([+n.x,+n.y])});var n=[],o=[];fn(i,n,o),o[0]-n[0]==0&&(o[0]+=1,n[0]-=1),o[1]-n[1]==0&&(o[1]+=1,n[1]-=1);var a=t.coordinateSystem=new Mc;a.zoomLimit=t.get("scaleLimit"),a.setBoundingRect(n[0],n[1],o[0]-n[0],o[1]-n[1]),a.setCenter(t.get("center")),a.setZoom(t.get("zoom")),this.group.attr({position:a.position,scale:a.scale}),this._viewCoordSys=a},_updateController:function(t,e,i){var n=this._controller,o=this._controllerHost,a=this.group;n.setPointerChecker(function(e,n,o){var r=a.getBoundingRect();return r.applyTransform(a.transform),r.contain(n,o)&&!gc(e,i,t)}),n.enable(t.get("roam")),o.zoomLimit=t.get("scaleLimit"),o.zoom=t.coordinateSystem.getZoom(),n.off("pan").off("zoom").on("pan",function(e){fc(o,e.dx,e.dy),i.dispatchAction({seriesId:t.id,type:"treeRoam",dx:e.dx,dy:e.dy})},this).on("zoom",function(e){pc(o,e.scale,e.originX,e.originY),i.dispatchAction({seriesId:t.id,type:"treeRoam",zoom:e.scale,originX:e.originX,originY:e.originY}),this._updateNodeAndLinkScale(t)},this)},_updateNodeAndLinkScale:function(t){var e=t.getData(),i=this._getNodeGlobalScale(t),n=[i,i];e.eachItemGraphicEl(function(t,e){t.attr("scale",n)})},_getNodeGlobalScale:function(t){var e=t.coordinateSystem;if("view"!==e.type)return 1;var i=this._nodeScaleRatio,n=e.scale,o=n&&n[0]||1;return((e.getZoom()-1)*i+1)/o},dispose:function(){this._controller&&this._controller.dispose(),this._controllerHost={}},remove:function(){this._mainGroup.removeAll(),this._data=null}}),Es({type:"treeExpandAndCollapse",event:"treeExpandAndCollapse",update:"update"},function(t,e){e.eachComponent({mainType:"series",subType:"tree",query:t},function(e){var i=t.dataIndex,n=e.getData().tree.getNodeByDataIndex(i);n.isExpand=!n.isExpand})}),Es({type:"treeRoam",event:"treeRoam",update:"none"},function(t,e){e.eachComponent({mainType:"series",subType:"tree",query:t},function(e){var i=bc(e.coordinateSystem,t);e.setCenter&&e.setCenter(i.center),e.setZoom&&e.setZoom(i.zoom)})});Bs(TD("tree","circle")),zs(function(t,e){t.eachSeriesByType("tree",function(t){sd(t,e)})}),YI.extend({type:"series.treemap",layoutMode:"box",dependencies:["grid","polar"],_viewRoot:null,defaultOption:{progressive:0,hoverLayerThreshold:1/0,left:"center",top:"middle",right:null,bottom:null,width:"80%",height:"80%",sort:!0,clipWindow:"origin",squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:"▶",zoomToNodeRatio:.1024,roam:!0,nodeClick:"zoomToNode",animation:!0,animationDurationUpdate:900,animationEasing:"quinticInOut",breadcrumb:{show:!0,height:22,left:"center",top:"bottom",emptyItemWidth:25,itemStyle:{color:"rgba(0,0,0,0.7)",borderColor:"rgba(255,255,255,0.7)",borderWidth:1,shadowColor:"rgba(150,150,150,1)",shadowBlur:3,shadowOffsetX:0,shadowOffsetY:0,textStyle:{color:"#fff"}},emphasis:{textStyle:{}}},label:{show:!0,distance:0,padding:5,position:"inside",color:"#fff",ellipsis:!0},upperLabel:{show:!1,position:[0,"50%"],height:20,color:"#fff",ellipsis:!0,verticalAlign:"middle"},itemStyle:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:"#fff",borderColorSaturation:null},emphasis:{upperLabel:{show:!0,position:[0,"50%"],color:"#fff",ellipsis:!0,verticalAlign:"middle"}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:"index",visibleMin:10,childrenVisibleMin:null,levels:[]},getInitialData:function(t,e){var i={name:t.name,children:t.data};dd(i);var n=t.levels||[];n=t.levels=fd(n,e);var o={};return o.levels=n,Vc.createTree(i,this,o).data},optionUpdated:function(){this.resetViewRoot()},formatTooltip:function(t){var e=this.getData(),i=this.getRawValue(t),n=ta(y(i)?i[0]:i);return ia(e.getName(t)+": "+n)},getDataParams:function(t){var e=YI.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(t);return e.treePathInfo=cd(i,this),e},setLayoutInfo:function(t){this.layoutInfo=this.layoutInfo||{},a(this.layoutInfo,t)},mapIdToIndex:function(t){var e=this._idIndexMap;e||(e=this._idIndexMap=R(),this._idIndexMapCount=0);var i=e.get(t);return null==i&&e.set(t,i=this._idIndexMapCount++),i},getViewRoot:function(){return this._viewRoot},resetViewRoot:function(t){t?this._viewRoot=t:t=this._viewRoot;var e=this.getRawData().tree.root;t&&(t===e||e.contains(t))||(this._viewRoot=e)}});var UC=5;pd.prototype={constructor:pd,render:function(t,e,i,n){var o=t.getModel("breadcrumb"),a=this.group;if(a.removeAll(),o.get("show")&&i){var r=o.getModel("itemStyle"),s=r.getModel("textStyle"),l={pos:{left:o.get("left"),right:o.get("right"),top:o.get("top"),bottom:o.get("bottom")},box:{width:e.getWidth(),height:e.getHeight()},emptyItemWidth:o.get("emptyItemWidth"),totalWidth:0,renderList:[]};this._prepare(i,l,s),this._renderContent(t,l,r,s,n),da(a,l.pos,l.box)}},_prepare:function(t,e,i){for(var n=t;n;n=n.parentNode){var o=n.getModel().get("name"),a=i.getTextRect(o),r=Math.max(a.width+16,e.emptyItemWidth);e.totalWidth+=r+8,e.renderList.push({node:n,text:o,width:r})}},_renderContent:function(t,e,i,n,o){for(var a=0,s=e.emptyItemWidth,l=t.get("breadcrumb.height"),u=ha(e.pos,e.box),h=e.totalWidth,c=e.renderList,d=c.length-1;d>=0;d--){var f=c[d],p=f.node,g=f.width,m=f.text;h>u.width&&(h-=g-s,g=s,m=null);var y=new pM({shape:{points:gd(a,0,g,l,d===c.length-1,0===d)},style:r(i.getItemStyle(),{lineJoin:"bevel",text:m,textFill:n.getTextColor(),textFont:n.getFont()}),z:10,onclick:v(o,p)});this.group.add(y),md(y,t,p),a+=g+8}},remove:function(){this.group.removeAll()}};var XC=m,jC=tb,YC=yM,qC=d,KC=["label"],$C=["emphasis","label"],JC=["upperLabel"],QC=["emphasis","upperLabel"],tL=10,eL=1,iL=2,nL=Qb([["fill","color"],["stroke","strokeColor"],["lineWidth","strokeWidth"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),oL=function(t){var e=nL(t);return e.stroke=e.fill=e.lineWidth=null,e};Zs({type:"treemap",init:function(t,e){this._containerGroup,this._storage={nodeGroup:[],background:[],content:[]},this._oldTree,this._breadcrumb,this._controller,this._state="ready"},render:function(t,e,i,n){if(!(l(e.findComponents({mainType:"series",subType:"treemap",query:n}),t)<0)){this.seriesModel=t,this.api=i,this.ecModel=e;var o=ld(n,["treemapZoomToNode","treemapRootToNode"],t),a=n&&n.type,r=t.layoutInfo,s=!this._oldTree,u=this._storage,h="treemapRootToNode"===a&&o&&u?{rootNodeGroup:u.nodeGroup[o.node.getRawIndex()],direction:n.direction}:null,c=this._giveContainerGroup(r),d=this._doRender(c,t,h);s||a&&"treemapZoomToNode"!==a&&"treemapRootToNode"!==a?d.renderFinally():this._doAnimation(c,d,t,h),this._resetController(i),this._renderBreadcrumb(t,i,o)}},_giveContainerGroup:function(t){var e=this._containerGroup;return e||(e=this._containerGroup=new jC,this._initEvents(e),this.group.add(e)),e.attr("position",[t.x,t.y]),e},_doRender:function(t,e,i){function n(t,e,i,o,a){function r(t){return t.getId()}function s(r,s){var l=null!=r?t[r]:null,u=null!=s?e[s]:null,c=h(l,u,i,a);c&&n(l&&l.viewChildren||[],u&&u.viewChildren||[],c,o,a+1)}o?(e=t,qC(t,function(t,e){!t.isRemoved()&&s(e,e)})):new Xs(e,t,r,r).add(s).update(s).remove(v(s,null)).execute()}var o=e.getData().tree,a=this._oldTree,r={nodeGroup:[],background:[],content:[]},s={nodeGroup:[],background:[],content:[]},l=this._storage,u=[],h=v(yd,e,s,l,i,r,u);n(o.root?[o.root]:[],a&&a.root?[a.root]:[],t,o===a||!a,0);var c=function(t){var e={nodeGroup:[],background:[],content:[]};return t&&qC(t,function(t,i){var n=e[i];qC(t,function(t){t&&(n.push(t),t.__tmWillDelete=1)})}),e}(l);return this._oldTree=o,this._storage=s,{lastsForAnimation:r,willDeleteEls:c,renderFinally:function(){qC(c,function(t){qC(t,function(t){t.parent&&t.parent.remove(t)})}),qC(u,function(t){t.invisible=!0,t.dirty()})}}},_doAnimation:function(t,e,i,n){if(i.get("animation")){var o=i.get("animationDurationUpdate"),r=i.get("animationEasing"),s=vd();qC(e.willDeleteEls,function(t,e){qC(t,function(t,i){if(!t.invisible){var a,l=t.parent;if(n&&"drillDown"===n.direction)a=l===n.rootNodeGroup?{shape:{x:0,y:0,width:l.__tmNodeWidth,height:l.__tmNodeHeight},style:{opacity:0}}:{style:{opacity:0}};else{var u=0,h=0;l.__tmWillDelete||(u=l.__tmNodeWidth/2,h=l.__tmNodeHeight/2),a="nodeGroup"===e?{position:[u,h],style:{opacity:0}}:{shape:{x:u,y:h,width:0,height:0},style:{opacity:0}}}a&&s.add(t,a,o,r)}})}),qC(this._storage,function(t,i){qC(t,function(t,n){var l=e.lastsForAnimation[i][n],u={};l&&("nodeGroup"===i?l.old&&(u.position=t.position.slice(),t.attr("position",l.old)):(l.old&&(u.shape=a({},t.shape),t.setShape(l.old)),l.fadein?(t.setStyle("opacity",0),u.style={opacity:1}):1!==t.style.opacity&&(u.style={opacity:1})),s.add(t,u,o,r))})},this),this._state="animating",s.done(XC(function(){this._state="ready",e.renderFinally()},this)).start()}},_resetController:function(t){var e=this._controller;e||((e=this._controller=new oc(t.getZr())).enable(this.seriesModel.get("roam")),e.on("pan",XC(this._onPan,this)),e.on("zoom",XC(this._onZoom,this)));var i=new de(0,0,t.getWidth(),t.getHeight());e.setPointerChecker(function(t,e,n){return i.contain(e,n)})},_clearController:function(){var t=this._controller;t&&(t.dispose(),t=null)},_onPan:function(t){if("animating"!==this._state&&(Math.abs(t.dx)>3||Math.abs(t.dy)>3)){var e=this.seriesModel.getData().tree.root;if(!e)return;var i=e.getLayout();if(!i)return;this.api.dispatchAction({type:"treemapMove",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:i.x+t.dx,y:i.y+t.dy,width:i.width,height:i.height}})}},_onZoom:function(t){var e=t.originX,i=t.originY;if("animating"!==this._state){var n=this.seriesModel.getData().tree.root;if(!n)return;var o=n.getLayout();if(!o)return;var a=new de(o.x,o.y,o.width,o.height),r=this.seriesModel.layoutInfo;e-=r.x,i-=r.y;var s=xt();St(s,s,[-e,-i]),It(s,s,[t.scale,t.scale]),St(s,s,[e,i]),a.applyTransform(s),this.api.dispatchAction({type:"treemapRender",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:a.x,y:a.y,width:a.width,height:a.height}})}},_initEvents:function(t){t.on("click",function(t){if("ready"===this._state){var e=this.seriesModel.get("nodeClick",!0);if(e){var i=this.findTarget(t.offsetX,t.offsetY);if(i){var n=i.node;if(n.getLayout().isLeafRoot)this._rootToNode(i);else if("zoomToNode"===e)this._zoomToNode(i);else if("link"===e){var o=n.hostTree.data.getItemModel(n.dataIndex),a=o.get("link",!0),r=o.get("target",!0)||"blank";a&&window.open(a,r)}}}}},this)},_renderBreadcrumb:function(t,e,i){i||(i=null!=t.get("leafDepth",!0)?{node:t.getViewRoot()}:this.findTarget(e.getWidth()/2,e.getHeight()/2))||(i={node:t.getData().tree.root}),(this._breadcrumb||(this._breadcrumb=new pd(this.group))).render(t,e,i.node,XC(function(e){"animating"!==this._state&&(hd(t.getViewRoot(),e)?this._rootToNode({node:e}):this._zoomToNode({node:e}))},this))},remove:function(){this._clearController(),this._containerGroup&&this._containerGroup.removeAll(),this._storage={nodeGroup:[],background:[],content:[]},this._state="ready",this._breadcrumb&&this._breadcrumb.remove()},dispose:function(){this._clearController()},_zoomToNode:function(t){this.api.dispatchAction({type:"treemapZoomToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},_rootToNode:function(t){this.api.dispatchAction({type:"treemapRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},findTarget:function(t,e){var i;return this.seriesModel.getViewRoot().eachNode({attr:"viewChildren",order:"preorder"},function(n){var o=this._storage.background[n.getRawIndex()];if(o){var a=o.transformCoordToLocal(t,e),r=o.shape;if(!(r.x<=a[0]&&a[0]<=r.x+r.width&&r.y<=a[1]&&a[1]<=r.y+r.height))return!1;i={node:n,offsetX:a[0],offsetY:a[1]}}},this),i}});for(var aL=["treemapZoomToNode","treemapRender","treemapMove"],rL=0;rL=0&&t.call(e,i[o],o)},TL.eachEdge=function(t,e){for(var i=this.edges,n=i.length,o=0;o=0&&i[o].node1.dataIndex>=0&&i[o].node2.dataIndex>=0&&t.call(e,i[o],o)},TL.breadthFirstTraverse=function(t,e,i,n){if(Jd.isInstance(e)||(e=this._nodesMap[$d(e)]),e){for(var o="out"===i?"outEdges":"in"===i?"inEdges":"edges",a=0;a=0&&i.node2.dataIndex>=0});for(var o=0,a=n.length;o=0&&this[t][e].setItemVisual(this.dataIndex,i,n)},getVisual:function(i,n){return this[t][e].getItemVisual(this.dataIndex,i,n)},setLayout:function(i,n){this.dataIndex>=0&&this[t][e].setItemLayout(this.dataIndex,i,n)},getLayout:function(){return this[t][e].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[t][e].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[t][e].getRawIndex(this.dataIndex)}}};h(Jd,AL("hostGraph","data")),h(Qd,AL("hostGraph","edgeData")),IL.Node=Jd,IL.Edge=Qd,Yi(Jd),Yi(Qd);var DL=function(t,e,i,n,o){for(var a=new IL(n),r=0;r "+f)),h++)}var p,g=i.get("coordinateSystem");if("cartesian2d"===g||"polar"===g)p=ml(t,i);else{var m=Fa.get(g),v=m&&"view"!==m.type?m.dimensions||[]:[];l(v,"value")<0&&v.concat(["value"]);var y=_A(t,{coordDimensions:v});(p=new vA(y,i)).initData(t)}var x=new vA(["value"],i);return x.initData(u,s),o&&o(p,x),kc({mainData:p,struct:a,structAttr:"graph",datas:{node:p,edge:x},datasAttr:{node:"data",edge:"edgeData"}}),a.update(),a},CL=Hs({type:"series.graph",init:function(t){CL.superApply(this,"init",arguments),this.legendDataProvider=function(){return this._categoriesData},this.fillDataTextStyle(t.edges||t.links),this._updateCategoriesData()},mergeOption:function(t){CL.superApply(this,"mergeOption",arguments),this.fillDataTextStyle(t.edges||t.links),this._updateCategoriesData()},mergeDefaultAndTheme:function(t){CL.superApply(this,"mergeDefaultAndTheme",arguments),Ci(t,["edgeLabel"],["show"])},getInitialData:function(t,e){var i=t.edges||t.links||[],n=t.data||t.nodes||[],o=this;if(n&&i)return DL(n,i,this,!0,function(t,i){function n(t){return(t=this.parsePath(t))&&"label"===t[0]?r:t&&"emphasis"===t[0]&&"label"===t[1]?l:this.parentModel}t.wrapMethod("getItemModel",function(t){var e=o._categoriesModels[t.getShallow("category")];return e&&(e.parentModel=t.parentModel,t.parentModel=e),t});var a=o.getModel("edgeLabel"),r=new No({label:a.option},a.parentModel,e),s=o.getModel("emphasis.edgeLabel"),l=new No({emphasis:{label:s.option}},s.parentModel,e);i.wrapMethod("getItemModel",function(t){return t.customizeGetParent(n),t})}).data},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},getCategoriesData:function(){return this._categoriesData},formatTooltip:function(t,e,i){if("edge"===i){var n=this.getData(),o=this.getDataParams(t,i),a=n.graph.getEdgeByIndex(t),r=n.getName(a.node1.dataIndex),s=n.getName(a.node2.dataIndex),l=[];return null!=r&&l.push(r),null!=s&&l.push(s),l=ia(l.join(" > ")),o.value&&(l+=" : "+ia(o.value)),l}return CL.superApply(this,"formatTooltip",arguments)},_updateCategoriesData:function(){var t=f(this.option.categories||[],function(t){return null!=t.value?t:a({value:0},t)}),e=new vA(["value"],this);e.initData(t),this._categoriesData=e,this._categoriesModels=e.mapArray(function(t){return e.getItemModel(t,!0)})},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},isAnimationEnabled:function(){return CL.superCall(this,"isAnimationEnabled")&&!("force"===this.get("layout")&&this.get("force.layoutAnimation"))},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",legendHoverLink:!0,hoverAnimation:!0,layout:null,focusNodeAdjacency:!1,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,edgeLength:30,layoutAnimation:!0},left:"center",top:"center",symbol:"circle",symbolSize:10,edgeSymbol:["none","none"],edgeSymbolSize:10,edgeLabel:{position:"middle"},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{show:!1,formatter:"{b}"},itemStyle:{},lineStyle:{color:"#aaa",width:1,curveness:0,opacity:.5},emphasis:{label:{show:!0}}}}),LL=_M.prototype,kL=bM.prototype,PL=Un({type:"ec-line",style:{stroke:"#000",fill:null},shape:{x1:0,y1:0,x2:0,y2:0,percent:1,cpx1:null,cpy1:null},buildPath:function(t,e){(tf(e)?LL:kL).buildPath(t,e)},pointAt:function(t){return tf(this.shape)?LL.pointAt.call(this,t):kL.pointAt.call(this,t)},tangentAt:function(t){var e=this.shape,i=tf(e)?[e.x2-e.x1,e.y2-e.y1]:kL.tangentAt.call(this,t);return q(i,i)}}),NL=["fromSymbol","toSymbol"],OL=rf.prototype;OL.beforeUpdate=function(){var t=this,e=t.childOfName("fromSymbol"),i=t.childOfName("toSymbol"),n=t.childOfName("label");if(e||i||!n.ignore){for(var o=1,a=this.parent;a;)a.scale&&(o/=a.scale[0]),a=a.parent;var r=t.childOfName("line");if(this.__dirty||r.__dirty){var s=r.shape.percent,l=r.pointAt(0),u=r.pointAt(s),h=U([],u,l);if(q(h,h),e&&(e.attr("position",l),c=r.tangentAt(0),e.attr("rotation",Math.PI/2-Math.atan2(c[1],c[0])),e.attr("scale",[o*s,o*s])),i){i.attr("position",u);var c=r.tangentAt(1);i.attr("rotation",-Math.PI/2-Math.atan2(c[1],c[0])),i.attr("scale",[o*s,o*s])}if(!n.ignore){n.attr("position",u);var d,f,p,g=5*o;if("end"===n.__position)d=[h[0]*g+u[0],h[1]*g+u[1]],f=h[0]>.8?"left":h[0]<-.8?"right":"center",p=h[1]>.8?"top":h[1]<-.8?"bottom":"middle";else if("middle"===n.__position){var m=s/2,v=[(c=r.tangentAt(m))[1],-c[0]],y=r.pointAt(m);v[1]>0&&(v[0]=-v[0],v[1]=-v[1]),d=[y[0]+v[0]*g,y[1]+v[1]*g],f="center",p="bottom";var x=-Math.atan2(c[1],c[0]);u[0].8?"right":h[0]<-.8?"left":"center",p=h[1]>.8?"bottom":h[1]<-.8?"top":"middle";n.attr({style:{textVerticalAlign:n.__verticalAlign||p,textAlign:n.__textAlign||f},position:d,scale:[o,o]})}}}},OL._createLine=function(t,e,i){var n=t.hostModel,o=of(t.getItemLayout(e));o.shape.percent=0,To(o,{shape:{percent:1}},n,e),this.add(o);var a=new rM({name:"label",lineLabelOriginalOpacity:1});this.add(a),d(NL,function(i){var n=nf(i,t,e);this.add(n),this[ef(i)]=t.getItemVisual(e,i)},this),this._updateCommonStl(t,e,i)},OL.updateData=function(t,e,i){var n=t.hostModel,o=this.childOfName("line"),a=t.getItemLayout(e),r={shape:{}};af(r.shape,a),Io(o,r,n,e),d(NL,function(i){var n=t.getItemVisual(e,i),o=ef(i);if(this[o]!==n){this.remove(this.childOfName(i));var a=nf(i,t,e);this.add(a)}this[o]=n},this),this._updateCommonStl(t,e,i)},OL._updateCommonStl=function(t,e,i){var n=t.hostModel,o=this.childOfName("line"),a=i&&i.lineStyle,s=i&&i.hoverLineStyle,l=i&&i.labelModel,u=i&&i.hoverLabelModel;if(!i||t.hasItemOption){var h=t.getItemModel(e);a=h.getModel("lineStyle").getLineStyle(),s=h.getModel("emphasis.lineStyle").getLineStyle(),l=h.getModel("label"),u=h.getModel("emphasis.label")}var c=t.getItemVisual(e,"color"),f=D(t.getItemVisual(e,"opacity"),a.opacity,1);o.useStyle(r({strokeNoScale:!0,fill:"none",stroke:c,opacity:f},a)),o.hoverStyle=s,d(NL,function(t){var e=this.childOfName(t);e&&(e.setColor(c),e.setStyle({opacity:f}))},this);var p,g,m=l.getShallow("show"),v=u.getShallow("show"),y=this.childOfName("label");if((m||v)&&(p=c||"#000",null==(g=n.getFormattedLabel(e,"normal",t.dataType)))){var x=n.getRawValue(e);g=null==x?t.getName(e):isFinite(x)?Go(x):x}var _=m?g:null,w=v?A(n.getFormattedLabel(e,"emphasis",t.dataType),g):null,b=y.style;null==_&&null==w||(mo(y.style,l,{text:_},{autoColor:p}),y.__textAlign=b.textAlign,y.__verticalAlign=b.textVerticalAlign,y.__position=l.get("position")||"middle"),y.hoverStyle=null!=w?{text:w,textFill:u.getTextColor(!0),fontStyle:u.getShallow("fontStyle"),fontWeight:u.getShallow("fontWeight"),fontSize:u.getShallow("fontSize"),fontFamily:u.getShallow("fontFamily")}:{text:null},y.ignore=!m&&!v,fo(this)},OL.highlight=function(){this.trigger("emphasis")},OL.downplay=function(){this.trigger("normal")},OL.updateLayout=function(t,e){this.setLinePoints(t.getItemLayout(e))},OL.setLinePoints=function(t){var e=this.childOfName("line");af(e.shape,t),e.dirty()},u(rf,tb);var EL=sf.prototype;EL.isPersistent=function(){return!0},EL.updateData=function(t){var e=this,i=e.group,n=e._lineData;e._lineData=t,n||i.removeAll();var o=hf(t);t.diff(n).add(function(i){lf(e,t,i,o)}).update(function(i,a){uf(e,n,t,a,i,o)}).remove(function(t){i.remove(n.getItemGraphicEl(t))}).execute()},EL.updateLayout=function(){var t=this._lineData;t&&t.eachItemGraphicEl(function(e,i){e.updateLayout(t,i)},this)},EL.incrementalPrepareUpdate=function(t){this._seriesScope=hf(t),this._lineData=null,this.group.removeAll()},EL.incrementalUpdate=function(t,e){for(var i=t.start;i=o/3?1:2),l=e.y-n(r)*a*(a>=o/3?1:2);r=e.angle-Math.PI/2,t.moveTo(s,l),t.lineTo(e.x+i(r)*a,e.y+n(r)*a),t.lineTo(e.x+i(e.angle)*o,e.y+n(e.angle)*o),t.lineTo(e.x-i(r)*a,e.y-n(r)*a),t.lineTo(s,l)}}),YL=2*Math.PI,qL=(Ar.extend({type:"gauge",render:function(t,e,i){this.group.removeAll();var n=t.get("axisLine.lineStyle.color"),o=Sf(t,i);this._renderMain(t,e,i,n,o)},dispose:function(){},_renderMain:function(t,e,i,n,o){for(var a=this.group,r=t.getModel("axisLine").getModel("lineStyle"),s=t.get("clockwise"),l=-t.get("startAngle")/180*Math.PI,u=-t.get("endAngle")/180*Math.PI,h=(u-l)%YL,c=l,d=r.get("width"),f=0;f=t&&(0===e?0:n[e-1][0]).4?"bottom":"middle",textAlign:A<-.4?"left":A>.4?"right":"center"},{autoColor:P}),silent:!0}))}if(g.get("show")&&T!==v){for(var N=0;N<=y;N++){var A=Math.cos(w),D=Math.sin(w),O=new _M({shape:{x1:A*c+u,y1:D*c+h,x2:A*(c-_)+u,y2:D*(c-_)+h},silent:!0,style:I});"auto"===I.stroke&&O.setStyle({stroke:n((T+N/y)/v)}),l.add(O),w+=S}w-=S}else w+=b}},_renderPointer:function(t,e,i,n,o,a,r,s){var l=this.group,u=this._data;if(t.get("pointer.show")){var h=[+t.get("min"),+t.get("max")],c=[a,r],d=t.getData(),f=d.mapDimension("value");d.diff(u).add(function(e){var i=new jL({shape:{angle:a}});To(i,{shape:{angle:Bo(d.get(f,e),h,c,!0)}},t),l.add(i),d.setItemGraphicEl(e,i)}).update(function(e,i){var n=u.getItemGraphicEl(i);Io(n,{shape:{angle:Bo(d.get(f,e),h,c,!0)}},t),l.add(n),d.setItemGraphicEl(e,n)}).remove(function(t){var e=u.getItemGraphicEl(t);l.remove(e)}).execute(),d.eachItemGraphicEl(function(t,e){var i=d.getItemModel(e),a=i.getModel("pointer");t.setShape({x:o.cx,y:o.cy,width:Vo(a.get("width"),o.r),r:Vo(a.get("length"),o.r)}),t.useStyle(i.getModel("itemStyle").getItemStyle()),"auto"===t.style.fill&&t.setStyle("fill",n(Bo(d.get(f,e),h,[0,1],!0))),fo(t,i.getModel("emphasis.itemStyle").getItemStyle())}),this._data=d}else u&&u.eachItemGraphicEl(function(t){l.remove(t)})},_renderTitle:function(t,e,i,n,o){var a=t.getData(),r=a.mapDimension("value"),s=t.getModel("title");if(s.get("show")){var l=s.get("offsetCenter"),u=o.cx+Vo(l[0],o.r),h=o.cy+Vo(l[1],o.r),c=+t.get("min"),d=+t.get("max"),f=n(Bo(t.getData().get(r,0),[c,d],[0,1],!0));this.group.add(new rM({silent:!0,style:mo({},s,{x:u,y:h,text:a.getName(0),textAlign:"center",textVerticalAlign:"middle"},{autoColor:f,forceRich:!0})}))}},_renderDetail:function(t,e,i,n,o){var a=t.getModel("detail"),r=+t.get("min"),s=+t.get("max");if(a.get("show")){var l=a.get("offsetCenter"),u=o.cx+Vo(l[0],o.r),h=o.cy+Vo(l[1],o.r),c=Vo(a.get("width"),o.r),d=Vo(a.get("height"),o.r),f=t.getData(),p=f.get(f.mapDimension("value"),0),g=n(Bo(p,[r,s],[0,1],!0));this.group.add(new rM({silent:!0,style:mo({},a,{x:u,y:h,text:Mf(p,a.get("formatter")),textWidth:isNaN(c)?null:c,textHeight:isNaN(d)?null:d,textAlign:"center",textVerticalAlign:"middle"},{autoColor:g,forceRich:!0})}))}}}),Hs({type:"series.funnel",init:function(t){qL.superApply(this,"init",arguments),this.legendDataProvider=function(){return this.getRawData()},this._defaultLabelLine(t)},getInitialData:function(t,e){return oC(this,["value"])},_defaultLabelLine:function(t){Ci(t,"labelLine",["show"]);var e=t.labelLine,i=t.emphasis.labelLine;e.show=e.show&&t.label.show,i.show=i.show&&t.emphasis.label.show},getDataParams:function(t){var e=this.getData(),i=qL.superCall(this,"getDataParams",t),n=e.mapDimension("value"),o=e.getSum(n);return i.percent=o?+(e.get(n,t)/o*100).toFixed(2):0,i.$vars.push("percent"),i},defaultOption:{zlevel:0,z:2,legendHoverLink:!0,left:80,top:60,right:80,bottom:60,minSize:"0%",maxSize:"100%",sort:"descending",gap:0,funnelAlign:"center",label:{show:!0,position:"outer"},labelLine:{show:!0,length:20,lineStyle:{width:1,type:"solid"}},itemStyle:{borderColor:"#fff",borderWidth:1},emphasis:{label:{show:!0}}}})),KL=If.prototype,$L=["itemStyle","opacity"];KL.updateData=function(t,e,i){var n=this.childAt(0),o=t.hostModel,a=t.getItemModel(e),s=t.getItemLayout(e),l=t.getItemModel(e).get($L);l=null==l?1:l,n.useStyle({}),i?(n.setShape({points:s.points}),n.setStyle({opacity:0}),To(n,{style:{opacity:l}},o,e)):Io(n,{style:{opacity:l},shape:{points:s.points}},o,e);var u=a.getModel("itemStyle"),h=t.getItemVisual(e,"color");n.setStyle(r({lineJoin:"round",fill:h},u.getItemStyle(["opacity"]))),n.hoverStyle=u.getModel("emphasis").getItemStyle(),this._updateLabel(t,e),fo(this)},KL._updateLabel=function(t,e){var i=this.childAt(1),n=this.childAt(2),o=t.hostModel,a=t.getItemModel(e),r=t.getItemLayout(e).label,s=t.getItemVisual(e,"color");Io(i,{shape:{points:r.linePoints||r.linePoints}},o,e),Io(n,{style:{x:r.x,y:r.y}},o,e),n.attr({rotation:r.rotation,origin:[r.x,r.y],z2:10});var l=a.getModel("label"),u=a.getModel("emphasis.label"),h=a.getModel("labelLine"),c=a.getModel("emphasis.labelLine"),s=t.getItemVisual(e,"color");go(n.style,n.hoverStyle={},l,u,{labelFetcher:t.hostModel,labelDataIndex:e,defaultText:t.getName(e),autoColor:s,useInsideStyle:!!r.inside},{textAlign:r.textAlign,textVerticalAlign:r.verticalAlign}),n.ignore=n.normalIgnore=!l.get("show"),n.hoverIgnore=!u.get("show"),i.ignore=i.normalIgnore=!h.get("show"),i.hoverIgnore=!c.get("show"),i.setStyle({stroke:s}),i.setStyle(h.getModel("lineStyle").getLineStyle()),i.hoverStyle=c.getModel("lineStyle").getLineStyle()},u(If,tb);Ar.extend({type:"funnel",render:function(t,e,i){var n=t.getData(),o=this._data,a=this.group;n.diff(o).add(function(t){var e=new If(n,t);n.setItemGraphicEl(t,e),a.add(e)}).update(function(t,e){var i=o.getItemGraphicEl(e);i.updateData(n,t),a.add(i),n.setItemGraphicEl(t,i)}).remove(function(t){var e=o.getItemGraphicEl(t);a.remove(e)}).execute(),this._data=n},remove:function(){this.group.removeAll(),this._data=null},dispose:function(){}});Bs(uC("funnel")),zs(function(t,e,i){t.eachSeriesByType("funnel",function(t){var i=t.getData(),n=i.mapDimension("value"),o=t.get("sort"),a=Tf(t,e),r=Af(i,o),s=[Vo(t.get("minSize"),a.width),Vo(t.get("maxSize"),a.width)],l=i.getDataExtent(n),u=t.get("min"),h=t.get("max");null==u&&(u=Math.min(l[0],0)),null==h&&(h=l[1]);var c=t.get("funnelAlign"),d=t.get("gap"),f=(a.height-d*(i.count()-1))/i.count(),p=a.y,g=function(t,e){var o,r=Bo(i.get(n,t)||0,[u,h],s,!0);switch(c){case"left":o=a.x;break;case"center":o=a.x+(a.width-r)/2;break;case"right":o=a.x+a.width-r}return[[o,e],[o+r,e]]};"ascending"===o&&(f=-f,d=-d,p+=a.height,r=r.reverse());for(var m=0;ma&&(e[1-n]=e[n]+h.sign*a),e},tk=d,ek=Math.min,ik=Math.max,nk=Math.floor,ok=Math.ceil,ak=Go,rk=Math.PI;Nf.prototype={type:"parallel",constructor:Nf,_init:function(t,e,i){var n=t.dimensions,o=t.parallelAxisIndex;tk(n,function(t,i){var n=o[i],a=e.getComponent("parallelAxis",n),r=this._axesMap.set(t,new JL(t,Hl(a),[0,0],a.get("type"),n)),s="category"===r.type;r.onBand=s&&a.get("boundaryGap"),r.inverse=a.get("inverse"),a.axis=r,r.model=a,r.coordinateSystem=a.coordinateSystem=this},this)},update:function(t,e){this._updateAxesFromSeries(this._model,t)},containPoint:function(t){var e=this._makeLayoutInfo(),i=e.axisBase,n=e.layoutBase,o=e.pixelDimIndex,a=t[1-o],r=t[o];return a>=i&&a<=i+e.axisLength&&r>=n&&r<=n+e.layoutLength},getModel:function(){return this._model},_updateAxesFromSeries:function(t,e){e.eachSeries(function(i){if(t.contains(i,e)){var n=i.getData();tk(this.dimensions,function(t){var e=this._axesMap.get(t);e.scale.unionExtentFromData(n,n.mapDimension(t)),Wl(e.scale,e.model)},this)}},this)},resize:function(t,e){this._rect=ca(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()}),this._layoutAxes()},getRect:function(){return this._rect},_makeLayoutInfo:function(){var t,e=this._model,i=this._rect,n=["x","y"],o=["width","height"],a=e.get("layout"),r="horizontal"===a?0:1,s=i[o[r]],l=[0,s],u=this.dimensions.length,h=Of(e.get("axisExpandWidth"),l),c=Of(e.get("axisExpandCount")||0,[0,u]),d=e.get("axisExpandable")&&u>3&&u>c&&c>1&&h>0&&s>0,f=e.get("axisExpandWindow");f?(t=Of(f[1]-f[0],l),f[1]=f[0]+t):(t=Of(h*(c-1),l),(f=[h*(e.get("axisExpandCenter")||nk(u/2))-t/2])[1]=f[0]+t);var p=(s-t)/(u-c);p<3&&(p=0);var g=[nk(ak(f[0]/h,1))+1,ok(ak(f[1]/h,1))-1],m=p/h*f[0];return{layout:a,pixelDimIndex:r,layoutBase:i[n[r]],layoutLength:s,axisBase:i[n[1-r]],axisLength:i[o[1-r]],axisExpandable:d,axisExpandWidth:h,axisCollapseWidth:p,axisExpandWindow:f,axisCount:u,winInnerIndices:g,axisExpandWindow0Pos:m}},_layoutAxes:function(){var t=this._rect,e=this._axesMap,i=this.dimensions,n=this._makeLayoutInfo(),o=n.layout;e.each(function(t){var e=[0,n.axisLength],i=t.inverse?1:0;t.setExtent(e[i],e[1-i])}),tk(i,function(e,i){var a=(n.axisExpandable?Rf:Ef)(i,n),r={horizontal:{x:a.position,y:n.axisLength},vertical:{x:0,y:a.position}},s={horizontal:rk/2,vertical:0},l=[r[o].x+t.x,r[o].y+t.y],u=s[o],h=xt();Mt(h,h,u),St(h,h,l),this._axesLayout[e]={position:l,rotation:u,transform:h,axisNameAvailableWidth:a.axisNameAvailableWidth,axisLabelShow:a.axisLabelShow,nameTruncateMaxWidth:a.nameTruncateMaxWidth,tickDirection:1,labelDirection:1}},this)},getAxis:function(t){return this._axesMap.get(t)},dataToPoint:function(t,e){return this.axisCoordToPoint(this._axesMap.get(e).dataToCoord(t),e)},eachActiveState:function(t,e,i,n){null==i&&(i=0),null==n&&(n=t.count());var o=this._axesMap,a=this.dimensions,r=[],s=[];d(a,function(e){r.push(t.mapDimension(e)),s.push(o.get(e).model)});for(var l=this.hasAxisBrushed(),u=i;uo*(1-h[0])?(l="jump",r=s-o*(1-h[2])):(r=s-o*h[1])>=0&&(r=s-o*(1-h[1]))<=0&&(r=0),(r*=e.axisExpandWidth/u)?QL(r,n,a,"all"):l="none";else{o=n[1]-n[0];(n=[ik(0,a[1]*s/o-o/2)])[1]=ek(a[1],n[0]+o),n[0]=n[1]-o}return{axisExpandWindow:n,behavior:l}}},Fa.register("parallel",{create:function(t,e){var i=[];return t.eachComponent("parallel",function(n,o){var a=new Nf(n,t,e);a.name="parallel_"+o,a.resize(n,e),n.coordinateSystem=a,a.model=n,i.push(a)}),t.eachSeries(function(e){if("parallel"===e.get("coordinateSystem")){var i=t.queryComponents({mainType:"parallel",index:e.get("parallelIndex"),id:e.get("parallelId")})[0];e.coordinateSystem=i.coordinateSystem}}),i}});var sk=lI.extend({type:"baseParallelAxis",axis:null,activeIntervals:[],getAreaSelectStyle:function(){return Qb([["fill","color"],["lineWidth","borderWidth"],["stroke","borderColor"],["width","width"],["opacity","opacity"]])(this.getModel("areaSelectStyle"))},setActiveIntervals:function(t){var e=this.activeIntervals=i(t);if(e)for(var n=e.length-1;n>=0;n--)Fo(e[n])},getActiveState:function(t){var e=this.activeIntervals;if(!e.length)return"normal";if(null==t||isNaN(t))return"inactive";if(1===e.length){var i=e[0];if(i[0]<=t&&t<=i[1])return"active"}else for(var n=0,o=e.length;n5)return;var n=this._model.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX,t.offsetY]);"none"!==n.behavior&&this._dispatchExpand({axisExpandWindow:n.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(t){if(!this._mouseDownPoint&&Ip(this,"mousemove")){var e=this._model,i=e.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX,t.offsetY]),n=i.behavior;"jump"===n&&this._throttledDispatchExpand.debounceNextCall(e.get("axisExpandDebounce")),this._throttledDispatchExpand("none"===n?null:{axisExpandWindow:i.axisExpandWindow,animation:"jump"===n&&null})}}};Ns(function(t){Cf(t),Lf(t)}),YI.extend({type:"series.parallel",dependencies:["parallel"],visualColorAccessPath:"lineStyle.color",getInitialData:function(t,e){var i=this.getSource();return Tp(i,this),ml(i,this)},getRawIndicesByActiveState:function(t){var e=this.coordinateSystem,i=this.getData(),n=[];return e.eachActiveState(i,function(e,o){t===e&&n.push(i.getRawIndex(o))}),n},defaultOption:{zlevel:0,z:2,coordinateSystem:"parallel",parallelIndex:0,label:{show:!1},inactiveOpacity:.05,activeOpacity:1,lineStyle:{width:1,opacity:.45,type:"solid"},emphasis:{label:{show:!1}},progressive:500,smooth:!1,animationEasing:"linear"}});var Dk=.3,Ck=(Ar.extend({type:"parallel",init:function(){this._dataGroup=new tb,this.group.add(this._dataGroup),this._data,this._initialized},render:function(t,e,i,n){var o=this._dataGroup,a=t.getData(),r=this._data,s=t.coordinateSystem,l=s.dimensions,u=kp(t);if(a.diff(r).add(function(t){Pp(Lp(a,o,t,l,s),a,t,u)}).update(function(e,i){var o=r.getItemGraphicEl(i),h=Cp(a,e,l,s);a.setItemGraphicEl(e,o),Io(o,{shape:{points:h}},n&&!1===n.animation?null:t,e),Pp(o,a,e,u)}).remove(function(t){var e=r.getItemGraphicEl(t);o.remove(e)}).execute(),!this._initialized){this._initialized=!0;var h=Dp(s,t,function(){setTimeout(function(){o.removeClipPath()})});o.setClipPath(h)}this._data=a},incrementalPrepareRender:function(t,e,i){this._initialized=!0,this._data=null,this._dataGroup.removeAll()},incrementalRender:function(t,e,i){for(var n=e.getData(),o=e.coordinateSystem,a=o.dimensions,r=kp(e),s=t.start;sn&&(n=e)}),d(e,function(e){var o=new hL({type:"color",mappingMethod:"linear",dataExtent:[i,n],visual:t.get("color")}).mapValueToVisual(e.getLayout().value);e.setVisual("color",o);var a=e.getModel().get("itemStyle.color");null!=a&&e.setVisual("color",a)})}})});var Ok={_baseAxisDim:null,getInitialData:function(t,e){var i,n,o=e.getComponent("xAxis",this.get("xAxisIndex")),a=e.getComponent("yAxis",this.get("yAxisIndex")),r=o.get("type"),s=a.get("type");"category"===r?(t.layout="horizontal",i=o.getOrdinalMeta(),n=!0):"category"===s?(t.layout="vertical",i=a.getOrdinalMeta(),n=!0):t.layout=t.layout||"horizontal";var l=["x","y"],u="horizontal"===t.layout?0:1,h=this._baseAxisDim=l[u],c=l[1-u],f=[o,a],p=f[u].get("type"),g=f[1-u].get("type"),m=t.data;if(m&&n){var v=[];d(m,function(t,e){var i;t.value&&y(t.value)?(i=t.value.slice(),t.value.unshift(e)):y(t)?(i=t.slice(),t.unshift(e)):i=t,v.push(i)}),t.data=v}var x=this.defaultValueDimensions;return oC(this,{coordDimensions:[{name:h,type:qs(p),ordinalMeta:i,otherDims:{tooltip:!1,itemName:0},dimsDef:["base"]},{name:c,type:qs(g),dimsDef:x.slice()}],dimensionsCount:x.length+1})},getBaseAxis:function(){var t=this._baseAxisDim;return this.ecModel.getComponent(t+"Axis",this.get(t+"AxisIndex")).axis}};h(YI.extend({type:"series.boxplot",dependencies:["xAxis","yAxis","grid"],defaultValueDimensions:[{name:"min",defaultTooltip:!0},{name:"Q1",defaultTooltip:!0},{name:"median",defaultTooltip:!0},{name:"Q3",defaultTooltip:!0},{name:"max",defaultTooltip:!0}],dimensions:null,defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,layout:null,boxWidth:[7,50],itemStyle:{color:"#fff",borderWidth:1},emphasis:{itemStyle:{borderWidth:2,shadowBlur:5,shadowOffsetX:2,shadowOffsetY:2,shadowColor:"rgba(0,0,0,0.4)"}},animationEasing:"elasticOut",animationDuration:800}}),Ok,!0);var Ek=["itemStyle"],Rk=["emphasis","itemStyle"],zk=(Ar.extend({type:"boxplot",render:function(t,e,i){var n=t.getData(),o=this.group,a=this._data;this._data||o.removeAll();var r="horizontal"===t.get("layout")?1:0;n.diff(a).add(function(t){if(n.hasValue(t)){var e=ig(n.getItemLayout(t),n,t,r,!0);n.setItemGraphicEl(t,e),o.add(e)}}).update(function(t,e){var i=a.getItemGraphicEl(e);if(n.hasValue(t)){var s=n.getItemLayout(t);i?ng(s,i,n,t):i=ig(s,n,t,r),o.add(i),n.setItemGraphicEl(t,i)}else o.remove(i)}).remove(function(t){var e=a.getItemGraphicEl(t);e&&o.remove(e)}).execute(),this._data=n},remove:function(t){var e=this.group,i=this._data;this._data=null,i&&i.eachItemGraphicEl(function(t){t&&e.remove(t)})},dispose:B}),Pn.extend({type:"boxplotBoxPath",shape:{},buildPath:function(t,e){var i=e.points,n=0;for(t.moveTo(i[n][0],i[n][1]),n++;n<4;n++)t.lineTo(i[n][0],i[n][1]);for(t.closePath();n0?jk:Yk)}function n(t,e){return e.get(t>0?Uk:Xk)}var o=t.getData(),a=t.pipelineContext.large;if(o.setVisual({legendSymbol:"roundRect",colorP:i(1,t),colorN:i(-1,t),borderColorP:n(1,t),borderColorN:n(-1,t)}),!e.isSeriesFiltered(t))return!a&&{progress:function(t,e){for(var o;null!=(o=t.next());){var a=e.getItemModel(o),r=e.getItemLayout(o).sign;e.setItemVisual(o,{color:i(r,a),borderColor:n(r,a)})}}}}},Kk="undefined"!=typeof Float32Array?Float32Array:Array,$k={seriesType:"candlestick",plan:$I(),reset:function(t){var e=t.coordinateSystem,i=t.getData(),n=pg(t,i),o=0,a=1,r=["x","y"],s=i.mapDimension(r[o]),l=i.mapDimension(r[a],!0),u=l[0],h=l[1],c=l[2],d=l[3];if(i.setLayout({candleWidth:n,isSimpleBox:n<=1.3}),!(null==s||l.length<4))return{progress:t.pipelineContext.large?function(t,i){for(var n,r,l=new Kk(5*t.count),f=0,p=[],g=[];null!=(r=t.next());){var m=i.get(s,r),v=i.get(u,r),y=i.get(h,r),x=i.get(c,r),_=i.get(d,r);isNaN(m)||isNaN(x)||isNaN(_)?(l[f++]=NaN,f+=4):(l[f++]=fg(i,r,v,y,h),p[o]=m,p[a]=x,n=e.dataToPoint(p,null,g),l[f++]=n?n[0]:NaN,l[f++]=n?n[1]:NaN,p[a]=_,n=e.dataToPoint(p,null,g),l[f++]=n?n[1]:NaN)}i.setLayout("largePoints",l)}:function(t,i){function r(t,i){var n=[];return n[o]=i,n[a]=t,isNaN(i)||isNaN(t)?[NaN,NaN]:e.dataToPoint(n)}function l(t,e,i){var a=e.slice(),r=e.slice();a[o]=Jn(a[o]+n/2,1,!1),r[o]=Jn(r[o]-n/2,1,!0),i?t.push(a,r):t.push(r,a)}function f(t){return t[o]=Jn(t[o],1),t}for(var p;null!=(p=t.next());){var g=i.get(s,p),m=i.get(u,p),v=i.get(h,p),y=i.get(c,p),x=i.get(d,p),_=Math.min(m,v),w=Math.max(m,v),b=r(_,g),S=r(w,g),M=r(y,g),I=r(x,g),T=[];l(T,S,0),l(T,b,1),T.push(f(I),f(S),f(M),f(b)),i.setItemLayout(p,{sign:fg(i,p,m,v,h),initBaseline:m>v?S[a]:b[a],ends:T,brushRect:function(t,e,i){var s=r(t,i),l=r(e,i);return s[o]-=n/2,l[o]-=n/2,{x:s[0],y:s[1],width:a?n:l[0]-s[0],height:a?l[1]-s[1]:n}}(y,x,g)})}}}}};Ns(function(t){t&&y(t.series)&&d(t.series,function(t){w(t)&&"k"===t.type&&(t.type="candlestick")})}),Bs(qk),zs($k),YI.extend({type:"series.effectScatter",dependencies:["grid","polar"],getInitialData:function(t,e){return ml(this.getSource(),this)},brushSelector:"point",defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,effectType:"ripple",progressive:0,showEffectOn:"render",rippleEffect:{period:4,scale:2.5,brushType:"fill"},symbolSize:10}});var Jk=vg.prototype;Jk.stopEffectAnimation=function(){this.childAt(1).removeAll()},Jk.startEffectAnimation=function(t){for(var e=t.symbolType,i=t.color,n=this.childAt(1),o=0;o<3;o++){var a=Jl(e,-1,-1,2,2,i);a.attr({style:{strokeNoScale:!0},z2:99,silent:!0,scale:[.5,.5]});var r=-o/3*t.period+t.effectOffset;a.animate("",!0).when(t.period,{scale:[t.rippleScale/2,t.rippleScale/2]}).delay(r).start(),a.animateStyle(!0).when(t.period,{opacity:0}).delay(r).start(),n.add(a)}mg(n,t)},Jk.updateEffectAnimation=function(t){for(var e=this._effectCfg,i=this.childAt(1),n=["symbolType","period","rippleScale"],o=0;o "))},preventIncremental:function(){return!!this.get("effect.show")},getProgressive:function(){var t=this.option.progressive;return null==t?this.option.large?1e4:this.get("progressive"):t},getProgressiveThreshold:function(){var t=this.option.progressiveThreshold;return null==t?this.option.large?2e4:this.get("progressiveThreshold"):t},defaultOption:{coordinateSystem:"geo",zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,xAxisIndex:0,yAxisIndex:0,symbol:["none","none"],symbolSize:[10,10],geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:"circle",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2e3,polyline:!1,label:{show:!1,position:"end"},lineStyle:{opacity:.5}}}),iP=xg.prototype;iP.createLine=function(t,e,i){return new rf(t,e,i)},iP._updateEffectSymbol=function(t,e){var i=t.getItemModel(e).getModel("effect"),n=i.get("symbolSize"),o=i.get("symbol");y(n)||(n=[n,n]);var a=i.get("color")||t.getItemVisual(e,"color"),r=this.childAt(1);this._symbolType!==o&&(this.remove(r),(r=Jl(o,-.5,-.5,1,1,a)).z2=100,r.culling=!0,this.add(r)),r&&(r.setStyle("shadowColor",a),r.setStyle(i.getItemStyle(["color"])),r.attr("scale",n),r.setColor(a),r.attr("scale",n),this._symbolType=o,this._updateEffectAnimation(t,i,e))},iP._updateEffectAnimation=function(t,e,i){var n=this.childAt(1);if(n){var o=this,a=t.getItemLayout(i),r=1e3*e.get("period"),s=e.get("loop"),l=e.get("constantSpeed"),u=T(e.get("delay"),function(e){return e/t.count()*r/3}),h="function"==typeof u;if(n.ignore=!0,this.updateAnimationPoints(n,a),l>0&&(r=this.getLineLength(n)/l*1e3),r!==this._period||s!==this._loop){n.stopAnimation();var c=u;h&&(c=u(i)),n.__t>0&&(c=-r*n.__t),n.__t=0;var d=n.animate("",s).when(r,{__t:1}).delay(c).during(function(){o.updateSymbolPosition(n)});s||d.done(function(){o.remove(n)}),d.start()}this._period=r,this._loop=s}},iP.getLineLength=function(t){return uw(t.__p1,t.__cp1)+uw(t.__cp1,t.__p2)},iP.updateAnimationPoints=function(t,e){t.__p1=e[0],t.__p2=e[1],t.__cp1=e[2]||[(e[0][0]+e[1][0])/2,(e[0][1]+e[1][1])/2]},iP.updateData=function(t,e,i){this.childAt(0).updateData(t,e,i),this._updateEffectSymbol(t,e)},iP.updateSymbolPosition=function(t){var e=t.__p1,i=t.__p2,n=t.__cp1,o=t.__t,a=t.position,r=sn,s=ln;a[0]=r(e[0],n[0],i[0],o),a[1]=r(e[1],n[1],i[1],o);var l=s(e[0],n[0],i[0],o),u=s(e[1],n[1],i[1],o);t.rotation=-Math.atan2(u,l)-Math.PI/2,t.ignore=!1},iP.updateLayout=function(t,e){this.childAt(0).updateLayout(t,e);var i=t.getItemModel(e).getModel("effect");this._updateEffectAnimation(t,i,e)},u(xg,tb);var nP=_g.prototype;nP._createPolyline=function(t,e,i){var n=t.getItemLayout(e),o=new gM({shape:{points:n}});this.add(o),this._updateCommonStl(t,e,i)},nP.updateData=function(t,e,i){var n=t.hostModel;Io(this.childAt(0),{shape:{points:t.getItemLayout(e)}},n,e),this._updateCommonStl(t,e,i)},nP._updateCommonStl=function(t,e,i){var n=this.childAt(0),o=t.getItemModel(e),a=t.getItemVisual(e,"color"),s=i&&i.lineStyle,l=i&&i.hoverLineStyle;i&&!t.hasItemOption||(s=o.getModel("lineStyle").getLineStyle(),l=o.getModel("emphasis.lineStyle").getLineStyle()),n.useStyle(r({strokeNoScale:!0,fill:"none",stroke:a},s)),n.hoverStyle=l,fo(this)},nP.updateLayout=function(t,e){this.childAt(0).setShape("points",t.getItemLayout(e))},u(_g,tb);var oP=wg.prototype;oP.createLine=function(t,e,i){return new _g(t,e,i)},oP.updateAnimationPoints=function(t,e){this._points=e;for(var i=[0],n=0,o=1;o=0&&!(n[r]<=e);r--);r=Math.min(r,o-2)}else{for(var r=a;re);r++);r=Math.min(r-1,o-2)}J(t.position,i[r],i[r+1],(e-n[r])/(n[r+1]-n[r]));var s=i[r+1][0]-i[r][0],l=i[r+1][1]-i[r][1];t.rotation=-Math.atan2(l,s)-Math.PI/2,this._lastFrame=r,this._lastFramePercent=e,t.ignore=!1}},u(wg,xg);var aP=Un({shape:{polyline:!1,curveness:0,segs:[]},buildPath:function(t,e){var i=e.segs,n=e.curveness;if(e.polyline)for(r=0;r0){t.moveTo(i[r++],i[r++]);for(var a=1;a0){var c=(s+u)/2-(l-h)*n,d=(l+h)/2-(u-s)*n;t.quadraticCurveTo(c,d,u,h)}else t.lineTo(u,h)}},findDataIndex:function(t,e){var i=this.shape,n=i.segs,o=i.curveness;if(i.polyline)for(var a=0,r=0;r0)for(var l=n[r++],u=n[r++],h=1;h0){if(_n(l,u,(l+c)/2-(u-d)*o,(u+d)/2-(c-l)*o,c,d))return a}else if(yn(l,u,c,d))return a;a++}return-1}}),rP=bg.prototype;rP.isPersistent=function(){return!this._incremental},rP.updateData=function(t){this.group.removeAll();var e=new aP({rectHover:!0,cursor:"default"});e.setShape({segs:t.getLayout("linesPoints")}),this._setCommon(e,t),this.group.add(e),this._incremental=null},rP.incrementalPrepareUpdate=function(t){this.group.removeAll(),this._clearIncremental(),t.count()>5e5?(this._incremental||(this._incremental=new Zn({silent:!0})),this.group.add(this._incremental)):this._incremental=null},rP.incrementalUpdate=function(t,e){var i=new aP;i.setShape({segs:e.getLayout("linesPoints")}),this._setCommon(i,e,!!this._incremental),this._incremental?this._incremental.addDisplayable(i,!0):(i.rectHover=!0,i.cursor="default",i.__startIndex=t.start,this.group.add(i))},rP.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},rP._setCommon=function(t,e,i){var n=e.hostModel;t.setShape({polyline:n.get("polyline"),curveness:n.get("lineStyle.curveness")}),t.useStyle(n.getModel("lineStyle").getLineStyle()),t.style.strokeNoScale=!0;var o=e.getVisual("color");o&&t.setStyle("stroke",o),t.setStyle("fill"),i||(t.seriesIndex=n.seriesIndex,t.on("mousemove",function(e){t.dataIndex=null;var i=t.findDataIndex(e.offsetX,e.offsetY);i>0&&(t.dataIndex=i+t.__startIndex)}))},rP._clearIncremental=function(){var t=this._incremental;t&&t.clearDisplaybles()};var sP={seriesType:"lines",plan:$I(),reset:function(t){var e=t.coordinateSystem,i=t.get("polyline"),n=t.pipelineContext.large;return{progress:function(o,a){var r=[];if(n){var s,l=o.end-o.start;if(i){for(var u=0,h=o.start;h0){var I=a(v)?s:l;v>0&&(v=v*S+b),x[_++]=I[M],x[_++]=I[M+1],x[_++]=I[M+2],x[_++]=I[M+3]*v*256}else _+=4}return c.putImageData(y,0,0),h},_getBrush:function(){var t=this._brushCanvas||(this._brushCanvas=iw()),e=this.pointSize+this.blurSize,i=2*e;t.width=i,t.height=i;var n=t.getContext("2d");return n.clearRect(0,0,i,i),n.shadowOffsetX=i,n.shadowBlur=this.blurSize,n.shadowColor="#000",n.beginPath(),n.arc(-e,e,this.pointSize,0,2*Math.PI,!0),n.closePath(),n.fill(),t},_getGradient:function(t,e,i){for(var n=this._gradientPixels,o=n[i]||(n[i]=new Uint8ClampedArray(1024)),a=[0,0,0,0],r=0,s=0;s<256;s++)e[i](s/255,!0,a),o[r++]=a[0],o[r++]=a[1],o[r++]=a[2],o[r++]=a[3];return o}},Zs({type:"heatmap",render:function(t,e,i){var n;e.eachComponent("visualMap",function(e){e.eachTargetSeries(function(i){i===t&&(n=e)})}),this.group.removeAll(),this._incrementalDisplayable=null;var o=t.coordinateSystem;"cartesian2d"===o.type||"calendar"===o.type?this._renderOnCartesianAndCalendar(t,i,0,t.getData().count()):Ag(o)&&this._renderOnGeo(o,t,n,i)},incrementalPrepareRender:function(t,e,i){this.group.removeAll()},incrementalRender:function(t,e,i,n){e.coordinateSystem&&this._renderOnCartesianAndCalendar(e,n,t.start,t.end,!0)},_renderOnCartesianAndCalendar:function(t,e,i,n,o){var r,s,l=t.coordinateSystem;if("cartesian2d"===l.type){var u=l.getAxis("x"),h=l.getAxis("y");r=u.getBandWidth(),s=h.getBandWidth()}for(var c=this.group,d=t.getData(),f=t.getModel("itemStyle").getItemStyle(["color"]),p=t.getModel("emphasis.itemStyle").getItemStyle(),g=t.getModel("label"),m=t.getModel("emphasis.label"),v=l.type,y="cartesian2d"===v?[d.mapDimension("x"),d.mapDimension("y"),d.mapDimension("value")]:[d.mapDimension("time"),d.mapDimension("value")],x=i;x=e.y&&t[1]<=e.y+e.height:i.contain(i.toLocalCoord(t[1]))&&t[0]>=e.y&&t[0]<=e.y+e.height},pointToData:function(t){var e=this.getAxis();return[e.coordToData(e.toLocalCoord(t["horizontal"===e.orient?0:1]))]},dataToPoint:function(t){var e=this.getAxis(),i=this.getRect(),n=[],o="horizontal"===e.orient?0:1;return t instanceof Array&&(t=t[0]),n[o]=e.toGlobalCoord(e.dataToCoord(+t)),n[1-o]=0===o?i.y+i.height/2:i.x+i.width/2,n}},Fa.register("single",{create:function(t,e){var i=[];return t.eachComponent("singleAxis",function(n,o){var a=new $g(n,t,e);a.name="single_"+o,a.resize(n,e),n.coordinateSystem=a,i.push(a)}),t.eachSeries(function(e){if("singleAxis"===e.get("coordinateSystem")){var i=t.queryComponents({mainType:"singleAxis",index:e.get("singleAxisIndex"),id:e.get("singleAxisId")})[0];e.coordinateSystem=i&&i.coordinateSystem}}),i},dimensions:$g.prototype.dimensions});var gP=["axisLine","axisTickLabel","axisName"],mP=XD.extend({type:"singleAxis",axisPointerClass:"SingleAxisPointer",render:function(t,e,i,n){var o=this.group;o.removeAll();var a=Jg(t),r=new FD(t,a);d(gP,r.add,r),o.add(r.getGroup()),t.get("splitLine.show")&&this._splitLine(t),mP.superCall(this,"render",t,e,i,n)},_splitLine:function(t){var e=t.axis;if(!e.scale.isBlank()){var i=t.getModel("splitLine"),n=i.getModel("lineStyle"),o=n.get("width"),a=n.get("color");a=a instanceof Array?a:[a];for(var r=t.coordinateSystem.getRect(),s=e.isHorizontal(),l=[],u=0,h=e.getTicksCoords({tickModel:i}),c=[],d=[],f=0;f=0)&&i({type:"updateAxisPointer",currTrigger:t,x:e&&e.offsetX,y:e&&e.offsetY})})},remove:function(t,e){gm(e.getZr(),"axisPointer"),IP.superApply(this._model,"remove",arguments)},dispose:function(t,e){gm("axisPointer",e),IP.superApply(this._model,"dispose",arguments)}}),TP=Bi(),AP=i,DP=m;(mm.prototype={_group:null,_lastGraphicKey:null,_handle:null,_dragging:!1,_lastValue:null,_lastStatus:null,_payloadInfo:null,animationThreshold:15,render:function(t,e,i,n){var o=e.get("value"),a=e.get("status");if(this._axisModel=t,this._axisPointerModel=e,this._api=i,n||this._lastValue!==o||this._lastStatus!==a){this._lastValue=o,this._lastStatus=a;var r=this._group,s=this._handle;if(!a||"hide"===a)return r&&r.hide(),void(s&&s.hide());r&&r.show(),s&&s.show();var l={};this.makeElOption(l,o,t,e,i);var u=l.graphicKey;u!==this._lastGraphicKey&&this.clear(i),this._lastGraphicKey=u;var h=this._moveAnimation=this.determineAnimation(t,e);if(r){var c=v(vm,e,h);this.updatePointerEl(r,l,c,e),this.updateLabelEl(r,l,c,e)}else r=this._group=new tb,this.createPointerEl(r,l,t,e),this.createLabelEl(r,l,t,e),i.getZr().add(r);wm(r,e,!0),this._renderHandle(o)}},remove:function(t){this.clear(t)},dispose:function(t){this.clear(t)},determineAnimation:function(t,e){var i=e.get("animation"),n=t.axis,o="category"===n.type,a=e.get("snap");if(!a&&!o)return!1;if("auto"===i||null==i){var r=this.animationThreshold;if(o&&n.getBandWidth()>r)return!0;if(a){var s=Mh(t).seriesDataCount,l=n.getExtent();return Math.abs(l[0]-l[1])/s>r}return!1}return!0===i},makeElOption:function(t,e,i,n,o){},createPointerEl:function(t,e,i,n){var o=e.pointer;if(o){var a=TP(t).pointerEl=new zM[o.type](AP(e.pointer));t.add(a)}},createLabelEl:function(t,e,i,n){if(e.label){var o=TP(t).labelEl=new yM(AP(e.label));t.add(o),xm(o,n)}},updatePointerEl:function(t,e,i){var n=TP(t).pointerEl;n&&(n.setStyle(e.pointer.style),i(n,{shape:e.pointer.shape}))},updateLabelEl:function(t,e,i,n){var o=TP(t).labelEl;o&&(o.setStyle(e.label.style),i(o,{shape:e.label.shape,position:e.label.position}),xm(o,n))},_renderHandle:function(t){if(!this._dragging&&this.updateHandleTransform){var e=this._axisPointerModel,i=this._api.getZr(),n=this._handle,o=e.getModel("handle"),a=e.get("status");if(!o.get("show")||!a||"hide"===a)return n&&i.remove(n),void(this._handle=null);var r;this._handle||(r=!0,n=this._handle=Po(o.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(t){mw(t.event)},onmousedown:DP(this._onHandleDragMove,this,0,0),drift:DP(this._onHandleDragMove,this),ondragend:DP(this._onHandleDragEnd,this)}),i.add(n)),wm(n,e,!1);var s=["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"];n.setStyle(o.getItemStyle(null,s));var l=o.get("size");y(l)||(l=[l,l]),n.attr("scale",[l[0]/2,l[1]/2]),Nr(this,"_doDispatchAxisPointer",o.get("throttle")||0,"fixRate"),this._moveHandleToValue(t,r)}},_moveHandleToValue:function(t,e){vm(this._axisPointerModel,!e&&this._moveAnimation,this._handle,_m(this.getHandleTransform(t,this._axisModel,this._axisPointerModel)))},_onHandleDragMove:function(t,e){var i=this._handle;if(i){this._dragging=!0;var n=this.updateHandleTransform(_m(i),[t,e],this._axisModel,this._axisPointerModel);this._payloadInfo=n,i.stopAnimation(),i.attr(_m(n)),TP(i).lastProp=null,this._doDispatchAxisPointer()}},_doDispatchAxisPointer:function(){if(this._handle){var t=this._payloadInfo,e=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:t.cursorPoint[0],y:t.cursorPoint[1],tooltipOption:t.tooltipOption,axesInfo:[{axisDim:e.axis.dim,axisIndex:e.componentIndex}]})}},_onHandleDragEnd:function(t){if(this._dragging=!1,this._handle){var e=this._axisPointerModel.get("value");this._moveHandleToValue(e),this._api.dispatchAction({type:"hideTip"})}},getHandleTransform:null,updateHandleTransform:null,clear:function(t){this._lastValue=null,this._lastStatus=null;var e=t.getZr(),i=this._group,n=this._handle;e&&i&&(this._lastGraphicKey=null,i&&e.remove(i),n&&e.remove(n),this._group=null,this._handle=null,this._payloadInfo=null)},doClear:function(){},buildLabel:function(t,e,i){return i=i||0,{x:t[i],y:t[1-i],width:e[i],height:e[1-i]}}}).constructor=mm,ji(mm);var CP=mm.extend({makeElOption:function(t,e,i,n,o){var a=i.axis,r=a.grid,s=n.get("type"),l=km(r,a).getOtherAxis(a).getGlobalExtent(),u=a.toGlobalCoord(a.dataToCoord(e,!0));if(s&&"none"!==s){var h=bm(n),c=LP[s](a,u,l,h);c.style=h,t.graphicKey=c.type,t.pointer=c}Am(e,t,Lh(r.model,i),i,n,o)},getHandleTransform:function(t,e,i){var n=Lh(e.axis.grid.model,e,{labelInside:!1});return n.labelMargin=i.get("handle.margin"),{position:Tm(e.axis,t,n),rotation:n.rotation+(n.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(t,e,i,n){var o=i.axis,a=o.grid,r=o.getGlobalExtent(!0),s=km(a,o).getOtherAxis(o).getGlobalExtent(),l="x"===o.dim?0:1,u=t.position;u[l]+=e[l],u[l]=Math.min(r[1],u[l]),u[l]=Math.max(r[0],u[l]);var h=(s[1]+s[0])/2,c=[h,h];c[l]=u[l];var d=[{verticalAlign:"middle"},{align:"center"}];return{position:u,rotation:t.rotation,cursorPoint:c,tooltipOption:d[l]}}}),LP={line:function(t,e,i,n){var o=Dm([e,i[0]],[e,i[1]],Pm(t));return Kn({shape:o,style:n}),{type:"Line",shape:o}},shadow:function(t,e,i,n){var o=Math.max(1,t.getBandWidth()),a=i[1]-i[0];return{type:"Rect",shape:Cm([e-o/2,i[0]],[o,a],Pm(t))}}};XD.registerAxisPointerClass("CartesianAxisPointer",CP),Ns(function(t){if(t){(!t.axisPointer||0===t.axisPointer.length)&&(t.axisPointer={});var e=t.axisPointer.link;e&&!y(e)&&(t.axisPointer.link=[e])}}),Os(VT.PROCESSOR.STATISTIC,function(t,e){t.getComponent("axisPointer").coordSysAxesInfo=vh(t,e)}),Es({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},function(t,e,i){var n=t.currTrigger,o=[t.x,t.y],a=t,r=t.dispatchAction||m(i.dispatchAction,i),s=e.getComponent("axisPointer").coordSysAxesInfo;if(s){lm(o)&&(o=xP({seriesIndex:a.seriesIndex,dataIndex:a.dataIndex},e).point);var l=lm(o),u=a.axesInfo,h=s.axesInfo,c="leave"===n||lm(o),d={},f={},p={list:[],map:{}},g={showPointer:wP(em,f),showTooltip:wP(im,p)};_P(s.coordSysMap,function(t,e){var i=l||t.containPoint(o);_P(s.coordSysAxesInfo[e],function(t,e){var n=t.axis,a=rm(u,t);if(!c&&i&&(!u||a)){var r=a&&a.value;null!=r||l||(r=n.pointToData(o)),null!=r&&Qg(t,r,g,!1,d)}})});var v={};return _P(h,function(t,e){var i=t.linkGroup;i&&!f[e]&&_P(i.axesInfo,function(e,n){var o=f[n];if(e!==t&&o){var a=o.value;i.mapper&&(a=t.axis.scale.parse(i.mapper(a,sm(e),sm(t)))),v[t.key]=a}})}),_P(v,function(t,e){Qg(h[e],t,g,!0,d)}),nm(f,h,d),om(p,o,t,r),am(h,0,i),d}});var kP=["x","y"],PP=["width","height"],NP=mm.extend({makeElOption:function(t,e,i,n,o){var a=i.axis,r=a.coordinateSystem,s=Om(r,1-Nm(a)),l=r.dataToPoint(e)[0],u=n.get("type");if(u&&"none"!==u){var h=bm(n),c=OP[u](a,l,s,h);c.style=h,t.graphicKey=c.type,t.pointer=c}Am(e,t,Jg(i),i,n,o)},getHandleTransform:function(t,e,i){var n=Jg(e,{labelInside:!1});return n.labelMargin=i.get("handle.margin"),{position:Tm(e.axis,t,n),rotation:n.rotation+(n.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(t,e,i,n){var o=i.axis,a=o.coordinateSystem,r=Nm(o),s=Om(a,r),l=t.position;l[r]+=e[r],l[r]=Math.min(s[1],l[r]),l[r]=Math.max(s[0],l[r]);var u=Om(a,1-r),h=(u[1]+u[0])/2,c=[h,h];return c[r]=l[r],{position:l,rotation:t.rotation,cursorPoint:c,tooltipOption:{verticalAlign:"middle"}}}}),OP={line:function(t,e,i,n){var o=Dm([e,i[0]],[e,i[1]],Nm(t));return Kn({shape:o,style:n}),{type:"Line",shape:o}},shadow:function(t,e,i,n){var o=t.getBandWidth(),a=i[1]-i[0];return{type:"Rect",shape:Cm([e-o/2,i[0]],[o,a],Nm(t))}}};XD.registerAxisPointerClass("SingleAxisPointer",NP),Ws({type:"single"});var EP=YI.extend({type:"series.themeRiver",dependencies:["singleAxis"],nameMap:null,init:function(t){EP.superApply(this,"init",arguments),this.legendDataProvider=function(){return this.getRawData()}},fixData:function(t){var e=t.length,i=[];Zi(t,function(t){return t[2]}).buckets.each(function(t,e){i.push({name:e,dataList:t})});for(var n=i.length,o=-1,a=-1,r=0;ro&&(o=s,a=r)}for(var l=0;lMath.PI/2?"right":"left"):x&&"center"!==x?"left"===x?(f=u.r0+y,p>Math.PI/2&&(x="right")):"right"===x&&(f=u.r-y,p>Math.PI/2&&(x="left")):(f=(u.r+u.r0)/2,x="center"),d.attr("style",{text:l,textAlign:x,textVerticalAlign:n("verticalAlign")||"middle",opacity:n("opacity")});var _=f*g+u.cx,w=f*m+u.cy;d.attr("position",[_,w]);var b=n("rotate"),S=0;"radial"===b?(S=-p)<-Math.PI/2&&(S+=Math.PI):"tangential"===b?(S=Math.PI/2-p)>Math.PI/2?S-=Math.PI:S<-Math.PI/2&&(S+=Math.PI):"number"==typeof b&&(S=b*Math.PI/180),d.attr("rotation",S)},VP._initEvents=function(t,e,i,n){t.off("mouseover").off("mouseout").off("emphasis").off("normal");var o=this,a=function(){o.onEmphasis(n)},r=function(){o.onNormal()};i.isAnimationEnabled()&&t.on("mouseover",a).on("mouseout",r).on("emphasis",a).on("normal",r).on("downplay",function(){o.onDownplay()}).on("highlight",function(){o.onHighlight()})},u(Vm,tb);Ar.extend({type:"sunburst",init:function(){},render:function(t,e,i,n){function o(i,n){if(c||!i||i.getValue()||(i=null),i!==l&&n!==l)if(n&&n.piece)i?(n.piece.updateData(!1,i,"normal",t,e),s.setItemGraphicEl(i.dataIndex,n.piece)):a(n);else if(i){var o=new Vm(i,t,e);h.add(o),s.setItemGraphicEl(i.dataIndex,o)}}function a(t){t&&t.piece&&(h.remove(t.piece),t.piece=null)}var r=this;this.seriesModel=t,this.api=i,this.ecModel=e;var s=t.getData(),l=s.tree.root,u=t.getViewRoot(),h=this.group,c=t.get("renderLabelForZeroData"),d=[];u.eachNode(function(t){d.push(t)});var f=this._oldChildren||[];if(function(t,e){function i(t){return t.getId()}function n(i,n){o(null==i?null:t[i],null==n?null:e[n])}0===t.length&&0===e.length||new Xs(e,t,i,i).add(n).update(n).remove(v(n,null)).execute()}(d,f),function(i,n){if(n.depth>0){r.virtualPiece?r.virtualPiece.updateData(!1,i,"normal",t,e):(r.virtualPiece=new Vm(i,t,e),h.add(r.virtualPiece)),n.piece._onclickEvent&&n.piece.off("click",n.piece._onclickEvent);var o=function(t){r._rootToNode(n.parentNode)};n.piece._onclickEvent=o,r.virtualPiece.on("click",o)}else r.virtualPiece&&(h.remove(r.virtualPiece),r.virtualPiece=null)}(l,u),n&&n.highlight&&n.highlight.piece){var p=t.getShallow("highlightPolicy");n.highlight.piece.onEmphasis(p)}else if(n&&n.unhighlight){var g=this.virtualPiece;!g&&l.children.length&&(g=l.children[0].piece),g&&g.onNormal()}this._initEvents(),this._oldChildren=d},dispose:function(){},_initEvents:function(){var t=this,e=function(e){var i=!1;t.seriesModel.getViewRoot().eachNode(function(n){if(!i&&n.piece&&n.piece.childAt(0)===e.target){var o=n.getModel().get("nodeClick");if("rootToNode"===o)t._rootToNode(n);else if("link"===o){var a=n.getModel(),r=a.get("link");if(r){var s=a.get("target",!0)||"_blank";window.open(r,s)}}i=!0}})};this.group._onclickEvent&&this.group.off("click",this.group._onclickEvent),this.group.on("click",e),this.group._onclickEvent=e},_rootToNode:function(t){t!==this.seriesModel.getViewRoot()&&this.api.dispatchAction({type:"sunburstRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t})},containPoint:function(t,e){var i=e.getData().getItemLayout(0);if(i){var n=t[0]-i.cx,o=t[1]-i.cy,a=Math.sqrt(n*n+o*o);return a<=i.r&&a>=i.r0}}});var GP="sunburstRootToNode";Es({type:GP,update:"updateView"},function(t,e){e.eachComponent({mainType:"series",subType:"sunburst",query:t},function(e,i){var n=ld(t,[GP],e);if(n){var o=e.getViewRoot();o&&(t.direction=hd(o,n.node)?"rollUp":"drillDown"),e.resetViewRoot(n.node)}})});var FP="sunburstHighlight";Es({type:FP,update:"updateView"},function(t,e){e.eachComponent({mainType:"series",subType:"sunburst",query:t},function(e,i){var n=ld(t,[FP],e);n&&(t.highlight=n.node)})});Es({type:"sunburstUnhighlight",update:"updateView"},function(t,e){e.eachComponent({mainType:"series",subType:"sunburst",query:t},function(e,i){t.unhighlight=!0})});var WP=Math.PI/180;Bs(v(uC,"sunburst")),zs(v(function(t,e,i,n){e.eachSeriesByType(t,function(t){var e=t.get("center"),n=t.get("radius");y(n)||(n=[0,n]),y(e)||(e=[e,e]);var o=i.getWidth(),a=i.getHeight(),r=Math.min(o,a),s=Vo(e[0],o),l=Vo(e[1],a),u=Vo(n[0],r/2),h=Vo(n[1],r/2),c=-t.get("startAngle")*WP,f=t.get("minAngle")*WP,p=t.getData().tree.root,g=t.getViewRoot(),m=g.depth,v=t.get("sort");null!=v&&Zm(g,v);var x=0;d(g.children,function(t){!isNaN(t.getValue())&&x++});var _=g.getValue(),w=Math.PI/(_||x)*2,b=g.depth>0,S=g.height-(b?-1:1),M=(h-u)/(S||1),I=t.get("clockwise"),T=t.get("stillShowZeroSum"),A=I?1:-1,D=function(t,e){if(t){var i=e;if(t!==p){var n=t.getValue(),o=0===_&&T?w:n*w;on[1]&&n.reverse(),{coordSys:{type:"polar",cx:t.cx,cy:t.cy,r:n[1],r0:n[0]},api:{coord:m(function(n){var o=e.dataToRadius(n[0]),a=i.dataToAngle(n[1]),r=t.coordToPoint([o,a]);return r.push(o,a*Math.PI/180),r}),size:m(qm,t)}}},calendar:function(t){var e=t.getRect(),i=t.getRangeInfo();return{coordSys:{type:"calendar",x:e.x,y:e.y,width:e.width,height:e.height,cellWidth:t.getCellWidth(),cellHeight:t.getCellHeight(),rangeInfo:{start:i.start,end:i.end,weeks:i.weeks,dayCount:i.allDay}},api:{coord:function(e,i){return t.dataToPoint(e,i)}}}}};YI.extend({type:"series.custom",dependencies:["grid","polar","geo","singleAxis","calendar"],defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,useTransform:!0},getInitialData:function(t,e){return ml(this.getSource(),this)},getDataParams:function(t,e,i){var n=YI.prototype.getDataParams.apply(this,arguments);return i&&(n.info=i.info),n}}),Ar.extend({type:"custom",_data:null,render:function(t,e,i,n){var o=this._data,a=t.getData(),r=this.group,s=Qm(t,a,e,i);a.diff(o).add(function(e){ev(null,e,s(e,n),t,r,a)}).update(function(e,i){ev(o.getItemGraphicEl(i),e,s(e,n),t,r,a)}).remove(function(t){var e=o.getItemGraphicEl(t);e&&r.remove(e)}).execute(),this._data=a},incrementalPrepareRender:function(t,e,i){this.group.removeAll(),this._data=null},incrementalRender:function(t,e,i,n,o){for(var a=e.getData(),r=Qm(e,a,i,n),s=t.start;s=0;l--)null==o[l]?o.splice(l,1):delete o[l].$action},_flatten:function(t,e,i){d(t,function(t){if(t){i&&(t.parentOption=i),e.push(t);var n=t.children;"group"===t.type&&n&&this._flatten(n,e,t),delete t.children}},this)},useElOptionsToUpdate:function(){var t=this._elOptionsToUpdate;return this._elOptionsToUpdate=null,t}});Ws({type:"graphic",init:function(t,e){this._elMap=R(),this._lastGraphicModel},render:function(t,e,i){t!==this._lastGraphicModel&&this._clear(),this._lastGraphicModel=t,this._updateElements(t),this._relocate(t,i)},_updateElements:function(t){var e=t.useElOptionsToUpdate();if(e){var i=this._elMap,n=this.group;d(e,function(e){var o=e.$action,a=e.id,r=i.get(a),s=e.parentId,l=null!=s?i.get(s):n,u=e.style;"text"===e.type&&u&&(e.hv&&e.hv[1]&&(u.textVerticalAlign=u.textBaseline=null),!u.hasOwnProperty("textFill")&&u.fill&&(u.textFill=u.fill),!u.hasOwnProperty("textStroke")&&u.stroke&&(u.textStroke=u.stroke));var h=fv(e);o&&"merge"!==o?"replace"===o?(dv(r,i),cv(a,l,h,i)):"remove"===o&&dv(r,i):r?r.attr(h):cv(a,l,h,i);var c=i.get(a);c&&(c.__ecGraphicWidth=e.width,c.__ecGraphicHeight=e.height,yv(c,t))})}},_relocate:function(t,e){for(var i=t.option.elements,n=this.group,o=this._elMap,a=i.length-1;a>=0;a--){var r=i[a],s=o.get(r.id);if(s){var l=s.parent;da(s,r,l===n?{width:e.getWidth(),height:e.getHeight()}:{width:l.__ecGraphicWidth||0,height:l.__ecGraphicHeight||0},null,{hv:r.hv,boundingMode:r.bounding})}}},_clear:function(){var t=this._elMap;t.each(function(e){dv(e,t)}),this._elMap=R()},dispose:function(){this._clear()}});var KP=Fs({type:"legend.plain",dependencies:["series"],layoutMode:{type:"box",ignoreSize:!0},init:function(t,e,i){this.mergeDefaultAndTheme(t,i),t.selected=t.selected||{}},mergeOption:function(t){KP.superCall(this,"mergeOption",t)},optionUpdated:function(){this._updateData(this.ecModel);var t=this._data;if(t[0]&&"single"===this.get("selectedMode")){for(var e=!1,i=0;i=0},defaultOption:{zlevel:0,z:4,show:!0,orient:"horizontal",left:"center",top:0,align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,inactiveColor:"#ccc",textStyle:{color:"#333"},selectedMode:!0,tooltip:{show:!1}}});Es("legendToggleSelect","legendselectchanged",v(xv,"toggleSelected")),Es("legendSelect","legendselected",v(xv,"select")),Es("legendUnSelect","legendunselected",v(xv,"unSelect"));var $P=v,JP=d,QP=tb,tN=Ws({type:"legend.plain",newlineDisabled:!1,init:function(){this.group.add(this._contentGroup=new QP),this._backgroundEl,this._isFirstRender=!0},getContentGroup:function(){return this._contentGroup},render:function(t,e,i){var n=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),t.get("show",!0)){var o=t.get("align");o&&"auto"!==o||(o="right"===t.get("left")&&"vertical"===t.get("orient")?"right":"left"),this.renderInner(o,t,e,i);var a=t.getBoxLayoutParams(),s={width:i.getWidth(),height:i.getHeight()},l=t.get("padding"),u=ca(a,s,l),h=this.layoutInner(t,o,u,n),c=ca(r({width:h.width,height:h.height},a),s,l);this.group.attr("position",[c.x-h.x,c.y-h.y]),this.group.add(this._backgroundEl=wv(h,t))}},resetInner:function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl)},renderInner:function(t,e,i,n){var o=this.getContentGroup(),a=R(),r=e.get("selectedMode"),s=[];i.eachRawSeries(function(t){!t.get("legendHoverLink")&&s.push(t.id)}),JP(e.getData(),function(l,u){var h=l.get("name");if(this.newlineDisabled||""!==h&&"\n"!==h){var c=i.getSeriesByName(h)[0];if(!a.get(h))if(c){var d=c.getData(),f=d.getVisual("color");"function"==typeof f&&(f=f(c.getDataParams(0)));var p=d.getVisual("legendSymbol")||"roundRect",g=d.getVisual("symbol");this._createItem(h,u,l,e,p,g,t,f,r).on("click",$P(bv,h,n)).on("mouseover",$P(Sv,c.name,null,n,s)).on("mouseout",$P(Mv,c.name,null,n,s)),a.set(h,!0)}else i.eachRawSeries(function(i){if(!a.get(h)&&i.legendDataProvider){var o=i.legendDataProvider(),c=o.indexOfName(h);if(c<0)return;var d=o.getItemVisual(c,"color");this._createItem(h,u,l,e,"roundRect",null,t,d,r).on("click",$P(bv,h,n)).on("mouseover",$P(Sv,null,h,n,s)).on("mouseout",$P(Mv,null,h,n,s)),a.set(h,!0)}},this)}else o.add(new QP({newline:!0}))},this)},_createItem:function(t,e,i,n,o,r,s,l,u){var h=n.get("itemWidth"),c=n.get("itemHeight"),d=n.get("inactiveColor"),f=n.get("symbolKeepAspect"),p=n.isSelected(t),g=new QP,m=i.getModel("textStyle"),v=i.get("icon"),y=i.getModel("tooltip"),x=y.parentModel;if(o=v||o,g.add(Jl(o,0,0,h,c,p?l:d,null==f||f)),!v&&r&&(r!==o||"none"===r)){var _=.8*c;"none"===r&&(r="circle"),g.add(Jl(r,(h-_)/2,(c-_)/2,_,_,p?l:d,null==f||f))}var w="left"===s?h+5:-5,b=s,S=n.get("formatter"),M=t;"string"==typeof S&&S?M=S.replace("{name}",null!=t?t:""):"function"==typeof S&&(M=S(t)),g.add(new rM({style:mo({},m,{text:M,x:w,y:c/2,textFill:p?m.getTextColor():d,textAlign:b,textVerticalAlign:"middle"})}));var I=new yM({shape:g.getBoundingRect(),invisible:!0,tooltip:y.get("show")?a({content:t,formatter:x.get("formatter",!0)||function(){return t},formatterParams:{componentType:"legend",legendIndex:n.componentIndex,name:t,$vars:["name"]}},y.option):null});return g.add(I),g.eachChild(function(t){t.silent=!0}),I.silent=!u,this.getContentGroup().add(g),fo(g),g.__legendDataIndex=e,g},layoutInner:function(t,e,i){var n=this.getContentGroup();aI(t.get("orient"),n,t.get("itemGap"),i.width,i.height);var o=n.getBoundingRect();return n.attr("position",[-o.x,-o.y]),this.group.getBoundingRect()},remove:function(){this.getContentGroup().removeAll(),this._isFirstRender=!0}});Os(function(t){var e=t.findComponents({mainType:"legend"});e&&e.length&&t.filterSeries(function(t){for(var i=0;ii[l],p=[-c.x,-c.y];n||(p[s]=o.position[s]);var g=[0,0],m=[-d.x,-d.y],v=A(t.get("pageButtonGap",!0),t.get("itemGap",!0));f&&("end"===t.get("pageButtonPosition",!0)?m[s]+=i[l]-d[l]:g[s]+=d[l]+v),m[1-s]+=c[u]/2-d[u]/2,o.attr("position",p),a.attr("position",g),r.attr("position",m);var y=this.group.getBoundingRect();if((y={x:0,y:0})[l]=f?i[l]:c[l],y[u]=Math.max(c[u],d[u]),y[h]=Math.min(0,d[h]+m[1-s]),a.__rectSize=i[l],f){var x={x:0,y:0};x[l]=Math.max(i[l]-d[l]-v,0),x[u]=y[u],a.setClipPath(new yM({shape:x})),a.__rectSize=x[l]}else r.eachChild(function(t){t.attr({invisible:!0,silent:!0})});var _=this._getPageInfo(t);return null!=_.pageIndex&&Io(o,{position:_.contentPosition},!!f&&t),this._updatePageInfoView(t,_),y},_pageGo:function(t,e,i){var n=this._getPageInfo(e)[t];null!=n&&i.dispatchAction({type:"legendScroll",scrollDataIndex:n,legendId:e.id})},_updatePageInfoView:function(t,e){var i=this._controllerGroup;d(["pagePrev","pageNext"],function(n){var o=null!=e[n+"DataIndex"],a=i.childOfName(n);a&&(a.setStyle("fill",o?t.get("pageIconColor",!0):t.get("pageIconInactiveColor",!0)),a.cursor=o?"pointer":"default")});var n=i.childOfName("pageText"),o=t.get("pageFormatter"),a=e.pageIndex,r=null!=a?a+1:0,s=e.pageCount;n&&o&&n.setStyle("text",_(o)?o.replace("{current}",r).replace("{total}",s):o({current:r,total:s}))},_getPageInfo:function(t){function e(t){if(t){var e=t.getBoundingRect(),i=e[l]+t.position[r];return{s:i,e:i+e[s],i:t.__legendDataIndex}}}function i(t,e){return t.e>=e&&t.s<=e+a}var n=t.get("scrollDataIndex",!0),o=this.getContentGroup(),a=this._containerGroup.__rectSize,r=t.getOrient().index,s=nN[r],l=oN[r],u=this._findTargetItemIndex(n),h=o.children(),c=h[u],d=h.length,f=d?1:0,p={contentPosition:o.position.slice(),pageCount:f,pageIndex:f-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!c)return p;var g=e(c);p.contentPosition[r]=-g.s;for(var m=u+1,v=g,y=g,x=null;m<=d;++m)(!(x=e(h[m]))&&y.e>v.s+a||x&&!i(x,v.s))&&(v=y.i>v.i?y:x)&&(null==p.pageNextDataIndex&&(p.pageNextDataIndex=v.i),++p.pageCount),y=x;for(var m=u-1,v=g,y=g,x=null;m>=-1;--m)(x=e(h[m]))&&i(y,x.s)||!(v.i=0;){var r=o.indexOf("|}"),s=o.substr(a+"{marker".length,r-a-"{marker".length);s.indexOf("sub")>-1?n["marker"+s]={textWidth:4,textHeight:4,textBorderRadius:2,textBackgroundColor:e[s],textOffset:[3,0]}:n["marker"+s]={textWidth:10,textHeight:10,textBorderRadius:5,textBackgroundColor:e[s]},a=(o=o.substr(r+1)).indexOf("{marker")}this.el=new rM({style:{rich:n,text:t,textLineHeight:20,textBackgroundColor:i.get("backgroundColor"),textBorderRadius:i.get("borderRadius"),textFill:i.get("textStyle.color"),textPadding:i.get("padding")},z:i.get("z")}),this._zr.add(this.el);var l=this;this.el.on("mouseover",function(){l._enterable&&(clearTimeout(l._hideTimeout),l._show=!0),l._inContent=!0}),this.el.on("mouseout",function(){l._enterable&&l._show&&l.hideLater(l._hideDelay),l._inContent=!1})},setEnterable:function(t){this._enterable=t},getSize:function(){var t=this.el.getBoundingRect();return[t.width,t.height]},moveTo:function(t,e){this.el&&this.el.attr("position",[t,e])},hide:function(){this.el?this.el.hide():true,this._show=!1},hideLater:function(t){!this._show||this._inContent&&this._enterable||(t?(this._hideDelay=t,this._show=!1,this._hideTimeout=setTimeout(m(this.hide,this),t)):this.hide())},isShow:function(){return this._show},getOuterSize:function(){return this.getSize()}};var uN=m,hN=d,cN=Vo,dN=new yM({shape:{x:-1,y:-1,width:2,height:2}});Ws({type:"tooltip",init:function(t,e){if(!U_.node){var i=t.getComponent("tooltip").get("renderMode");this._renderMode=Hi(i);var n;"html"===this._renderMode?(n=new Cv(e.getDom(),e),this._newLine="
    "):(n=new Lv(e),this._newLine="\n"),this._tooltipContent=n}},render:function(t,e,i){if(!U_.node){this.group.removeAll(),this._tooltipModel=t,this._ecModel=e,this._api=i,this._lastDataByCoordSys=null,this._alwaysShowContent=t.get("alwaysShowContent");var n=this._tooltipContent;n.update(),n.setEnterable(t.get("enterable")),this._initGlobalListener(),this._keepShow()}},_initGlobalListener:function(){var t=this._tooltipModel.get("triggerOn");um("itemTooltip",this._api,uN(function(e,i,n){"none"!==t&&(t.indexOf(e)>=0?this._tryShow(i,n):"leave"===e&&this._hide(n))},this))},_keepShow:function(){var t=this._tooltipModel,e=this._ecModel,i=this._api;if(null!=this._lastX&&null!=this._lastY&&"none"!==t.get("triggerOn")){var n=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){n.manuallyShowTip(t,e,i,{x:n._lastX,y:n._lastY})})}},manuallyShowTip:function(t,e,i,n){if(n.from!==this.uid&&!U_.node){var o=Pv(n,i);this._ticket="";var a=n.dataByCoordSys;if(n.tooltip&&null!=n.x&&null!=n.y){var r=dN;r.position=[n.x,n.y],r.update(),r.tooltip=n.tooltip,this._tryShow({offsetX:n.x,offsetY:n.y,target:r},o)}else if(a)this._tryShow({offsetX:n.x,offsetY:n.y,position:n.position,event:{},dataByCoordSys:n.dataByCoordSys,tooltipOption:n.tooltipOption},o);else if(null!=n.seriesIndex){if(this._manuallyAxisShowTip(t,e,i,n))return;var s=xP(n,e),l=s.point[0],u=s.point[1];null!=l&&null!=u&&this._tryShow({offsetX:l,offsetY:u,position:n.position,target:s.el,event:{}},o)}else null!=n.x&&null!=n.y&&(i.dispatchAction({type:"updateAxisPointer",x:n.x,y:n.y}),this._tryShow({offsetX:n.x,offsetY:n.y,position:n.position,target:i.getZr().findHover(n.x,n.y).target,event:{}},o))}},manuallyHideTip:function(t,e,i,n){var o=this._tooltipContent;!this._alwaysShowContent&&this._tooltipModel&&o.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=null,n.from!==this.uid&&this._hide(Pv(n,i))},_manuallyAxisShowTip:function(t,e,i,n){var o=n.seriesIndex,a=n.dataIndex,r=e.getComponent("axisPointer").coordSysAxesInfo;if(null!=o&&null!=a&&null!=r){var s=e.getSeriesByIndex(o);if(s&&"axis"===(t=kv([s.getData().getItemModel(a),s,(s.coordinateSystem||{}).model,t])).get("trigger"))return i.dispatchAction({type:"updateAxisPointer",seriesIndex:o,dataIndex:a,position:n.position}),!0}},_tryShow:function(t,e){var i=t.target;if(this._tooltipModel){this._lastX=t.offsetX,this._lastY=t.offsetY;var n=t.dataByCoordSys;n&&n.length?this._showAxisTooltip(n,t):i&&null!=i.dataIndex?(this._lastDataByCoordSys=null,this._showSeriesItemTooltip(t,i,e)):i&&i.tooltip?(this._lastDataByCoordSys=null,this._showComponentItemTooltip(t,i,e)):(this._lastDataByCoordSys=null,this._hide(e))}},_showOrMove:function(t,e){var i=t.get("showDelay");e=m(e,this),clearTimeout(this._showTimout),i>0?this._showTimout=setTimeout(e,i):e()},_showAxisTooltip:function(t,e){var i=this._ecModel,o=this._tooltipModel,a=[e.offsetX,e.offsetY],r=[],s=[],l=kv([e.tooltipOption,o]),u=this._renderMode,h=this._newLine,c={};hN(t,function(t){hN(t.dataByAxis,function(t){var e=i.getComponent(t.axisDim+"Axis",t.axisIndex),o=t.value,a=[];if(e&&null!=o){var l=Im(o,e.axis,i,t.seriesDataIndices,t.valueLabelOpt);d(t.seriesDataIndices,function(r){var h=i.getSeriesByIndex(r.seriesIndex),d=r.dataIndexInside,f=h&&h.getDataParams(d);if(f.axisDim=t.axisDim,f.axisIndex=t.axisIndex,f.axisType=t.axisType,f.axisId=t.axisId,f.axisValue=Xl(e.axis,o),f.axisValueLabel=l,f){s.push(f);var p,g=h.formatTooltip(d,!0,null,u);if(w(g)){p=g.html;var m=g.markers;n(c,m)}else p=g;a.push(p)}});var f=l;"html"!==u?r.push(a.join(h)):r.push((f?ia(f)+h:"")+a.join(h))}})},this),r.reverse(),r=r.join(this._newLine+this._newLine);var f=e.position;this._showOrMove(l,function(){this._updateContentNotChangedOnAxis(t)?this._updatePosition(l,f,a[0],a[1],this._tooltipContent,s):this._showTooltipContent(l,r,s,Math.random(),a[0],a[1],f,void 0,c)})},_showSeriesItemTooltip:function(t,e,i){var n=this._ecModel,o=e.seriesIndex,a=n.getSeriesByIndex(o),r=e.dataModel||a,s=e.dataIndex,l=e.dataType,u=r.getData(),h=kv([u.getItemModel(s),r,a&&(a.coordinateSystem||{}).model,this._tooltipModel]),c=h.get("trigger");if(null==c||"item"===c){var d,f,p=r.getDataParams(s,l),g=r.formatTooltip(s,!1,l,this._renderMode);w(g)?(d=g.html,f=g.markers):(d=g,f=null);var m="item_"+r.name+"_"+s;this._showOrMove(h,function(){this._showTooltipContent(h,d,p,m,t.offsetX,t.offsetY,t.position,t.target,f)}),i({type:"showTip",dataIndexInside:s,dataIndex:u.getRawIndex(s),seriesIndex:o,from:this.uid})}},_showComponentItemTooltip:function(t,e,i){var n=e.tooltip;if("string"==typeof n){var o=n;n={content:o,formatter:o}}var a=new No(n,this._tooltipModel,this._ecModel),r=a.get("content"),s=Math.random();this._showOrMove(a,function(){this._showTooltipContent(a,r,a.get("formatterParams")||{},s,t.offsetX,t.offsetY,t.position,e)}),i({type:"showTip",from:this.uid})},_showTooltipContent:function(t,e,i,n,o,a,r,s,l){if(this._ticket="",t.get("showContent")&&t.get("show")){var u=this._tooltipContent,h=t.get("formatter");r=r||t.get("position");var c=e;if(h&&"string"==typeof h)c=na(h,i,!0);else if("function"==typeof h){var d=uN(function(e,n){e===this._ticket&&(u.setContent(n,l,t),this._updatePosition(t,r,o,a,u,i,s))},this);this._ticket=n,c=h(i,n,d)}u.setContent(c,l,t),u.show(t),this._updatePosition(t,r,o,a,u,i,s)}},_updatePosition:function(t,e,i,n,o,a,r){var s=this._api.getWidth(),l=this._api.getHeight();e=e||t.get("position");var u=o.getSize(),h=t.get("align"),c=t.get("verticalAlign"),d=r&&r.getBoundingRect().clone();if(r&&d.applyTransform(r.transform),"function"==typeof e&&(e=e([i,n],a,o.el,d,{viewSize:[s,l],contentSize:u.slice()})),y(e))i=cN(e[0],s),n=cN(e[1],l);else if(w(e)){e.width=u[0],e.height=u[1];var f=ca(e,{width:s,height:l});i=f.x,n=f.y,h=null,c=null}else"string"==typeof e&&r?(i=(p=Ev(e,d,u))[0],n=p[1]):(i=(p=Nv(i,n,o,s,l,h?null:20,c?null:20))[0],n=p[1]);if(h&&(i-=Rv(h)?u[0]/2:"right"===h?u[0]:0),c&&(n-=Rv(c)?u[1]/2:"bottom"===c?u[1]:0),t.get("confine")){var p=Ov(i,n,o,s,l);i=p[0],n=p[1]}o.moveTo(i,n)},_updateContentNotChangedOnAxis:function(t){var e=this._lastDataByCoordSys,i=!!e&&e.length===t.length;return i&&hN(e,function(e,n){var o=e.dataByAxis||{},a=(t[n]||{}).dataByAxis||[];(i&=o.length===a.length)&&hN(o,function(t,e){var n=a[e]||{},o=t.seriesDataIndices||[],r=n.seriesDataIndices||[];(i&=t.value===n.value&&t.axisType===n.axisType&&t.axisId===n.axisId&&o.length===r.length)&&hN(o,function(t,e){var n=r[e];i&=t.seriesIndex===n.seriesIndex&&t.dataIndex===n.dataIndex})})}),this._lastDataByCoordSys=t,!!i},_hide:function(t){this._lastDataByCoordSys=null,t({type:"hideTip",from:this.uid})},dispose:function(t,e){U_.node||(this._tooltipContent.hide(),gm("itemTooltip",e))}}),Es({type:"showTip",event:"showTip",update:"tooltip:manuallyShowTip"},function(){}),Es({type:"hideTip",event:"hideTip",update:"tooltip:manuallyHideTip"},function(){}),Gv.prototype={constructor:Gv,pointToData:function(t,e){return this.polar.pointToData(t,e)["radius"===this.dim?0:1]},dataToRadius:aD.prototype.dataToCoord,radiusToData:aD.prototype.coordToData},u(Gv,aD);var fN=Bi();Fv.prototype={constructor:Fv,pointToData:function(t,e){return this.polar.pointToData(t,e)["radius"===this.dim?0:1]},dataToAngle:aD.prototype.dataToCoord,angleToData:aD.prototype.coordToData,calculateCategoryInterval:function(){var t=this,e=t.getLabelModel(),i=t.scale,n=i.getExtent(),o=i.count();if(n[1]-n[0]<1)return 0;var a=n[0],r=t.dataToCoord(a+1)-t.dataToCoord(a),s=Math.abs(r),l=ke(a,e.getFont(),"center","top"),u=Math.max(l.height,7)/s;isNaN(u)&&(u=1/0);var h=Math.max(0,Math.floor(u)),c=fN(t.model),d=c.lastAutoInterval,f=c.lastTickCount;return null!=d&&null!=f&&Math.abs(d-h)<=1&&Math.abs(f-o)<=1&&d>h?h=d:(c.lastTickCount=o,c.lastAutoInterval=h),h}},u(Fv,aD);var pN=function(t){this.name=t||"",this.cx=0,this.cy=0,this._radiusAxis=new Gv,this._angleAxis=new Fv,this._radiusAxis.polar=this._angleAxis.polar=this};pN.prototype={type:"polar",axisPointerEnabled:!0,constructor:pN,dimensions:["radius","angle"],model:null,containPoint:function(t){var e=this.pointToCoord(t);return this._radiusAxis.contain(e[0])&&this._angleAxis.contain(e[1])},containData:function(t){return this._radiusAxis.containData(t[0])&&this._angleAxis.containData(t[1])},getAxis:function(t){return this["_"+t+"Axis"]},getAxes:function(){return[this._radiusAxis,this._angleAxis]},getAxesByScale:function(t){var e=[],i=this._angleAxis,n=this._radiusAxis;return i.scale.type===t&&e.push(i),n.scale.type===t&&e.push(n),e},getAngleAxis:function(){return this._angleAxis},getRadiusAxis:function(){return this._radiusAxis},getOtherAxis:function(t){var e=this._angleAxis;return t===e?this._radiusAxis:e},getBaseAxis:function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAngleAxis()},getTooltipAxes:function(t){var e=null!=t&&"auto"!==t?this.getAxis(t):this.getBaseAxis();return{baseAxes:[e],otherAxes:[this.getOtherAxis(e)]}},dataToPoint:function(t,e){return this.coordToPoint([this._radiusAxis.dataToRadius(t[0],e),this._angleAxis.dataToAngle(t[1],e)])},pointToData:function(t,e){var i=this.pointToCoord(t);return[this._radiusAxis.radiusToData(i[0],e),this._angleAxis.angleToData(i[1],e)]},pointToCoord:function(t){var e=t[0]-this.cx,i=t[1]-this.cy,n=this.getAngleAxis(),o=n.getExtent(),a=Math.min(o[0],o[1]),r=Math.max(o[0],o[1]);n.inverse?a=r-360:r=a+360;var s=Math.sqrt(e*e+i*i);e/=s,i/=s;for(var l=Math.atan2(-i,e)/Math.PI*180,u=lr;)l+=360*u;return[s,l]},coordToPoint:function(t){var e=t[0],i=t[1]/180*Math.PI;return[Math.cos(i)*e+this.cx,-Math.sin(i)*e+this.cy]}};var gN=lI.extend({type:"polarAxis",axis:null,getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"polar",index:this.option.polarIndex,id:this.option.polarId})[0]}});n(gN.prototype,UA);var mN={angle:{startAngle:90,clockwise:!0,splitNumber:12,axisLabel:{rotate:!1}},radius:{splitNumber:5}};ED("angle",gN,Wv,mN.angle),ED("radius",gN,Wv,mN.radius),Fs({type:"polar",dependencies:["polarAxis","angleAxis"],coordinateSystem:null,findAxisModel:function(t){var e;return this.ecModel.eachComponent(t,function(t){t.getCoordSysModel()===this&&(e=t)},this),e},defaultOption:{zlevel:0,z:0,center:["50%","50%"],radius:"80%"}});var vN={dimensions:pN.prototype.dimensions,create:function(t,e){var i=[];return t.eachComponent("polar",function(t,n){var o=new pN(n);o.update=Zv;var a=o.getRadiusAxis(),r=o.getAngleAxis(),s=t.findAxisModel("radiusAxis"),l=t.findAxisModel("angleAxis");Uv(a,s),Uv(r,l),Hv(o,t,e),i.push(o),t.coordinateSystem=o,o.model=t}),t.eachSeries(function(e){if("polar"===e.get("coordinateSystem")){var i=t.queryComponents({mainType:"polar",index:e.get("polarIndex"),id:e.get("polarId")})[0];e.coordinateSystem=i.coordinateSystem}}),i}};Fa.register("polar",vN);var yN=["axisLine","axisLabel","axisTick","splitLine","splitArea"];XD.extend({type:"angleAxis",axisPointerClass:"PolarAxisPointer",render:function(t,e){if(this.group.removeAll(),t.get("show")){var n=t.axis,o=n.polar,a=o.getRadiusAxis().getExtent(),r=n.getTicksCoords(),s=f(n.getViewLabels(),function(t){return(t=i(t)).coord=n.dataToCoord(t.tickValue),t});Yv(s),Yv(r),d(yN,function(e){!t.get(e+".show")||n.scale.isBlank()&&"axisLine"!==e||this["_"+e](t,o,r,a,s)},this)}},_axisLine:function(t,e,i,n){var o=t.getModel("axisLine.lineStyle"),a=new sM({shape:{cx:e.cx,cy:e.cy,r:n[jv(e)]},style:o.getLineStyle(),z2:1,silent:!0});a.style.fill=null,this.group.add(a)},_axisTick:function(t,e,i,n){var o=t.getModel("axisTick"),a=(o.get("inside")?-1:1)*o.get("length"),s=n[jv(e)],l=f(i,function(t){return new _M({shape:Xv(e,[s,s+a],t.coord)})});this.group.add(OM(l,{style:r(o.getModel("lineStyle").getLineStyle(),{stroke:t.get("axisLine.lineStyle.color")})}))},_axisLabel:function(t,e,i,n,o){var a=t.getCategories(!0),r=t.getModel("axisLabel"),s=r.get("margin");d(o,function(i,o){var l=r,u=i.tickValue,h=n[jv(e)],c=e.coordToPoint([h+s,i.coord]),d=e.cx,f=e.cy,p=Math.abs(c[0]-d)/h<.3?"center":c[0]>d?"left":"right",g=Math.abs(c[1]-f)/h<.3?"middle":c[1]>f?"top":"bottom";a&&a[u]&&a[u].textStyle&&(l=new No(a[u].textStyle,r,r.ecModel));var m=new rM({silent:!0});this.group.add(m),mo(m.style,l,{x:c[0],y:c[1],textFill:l.getTextColor()||t.get("axisLine.lineStyle.color"),text:i.formattedLabel,textAlign:p,textVerticalAlign:g})},this)},_splitLine:function(t,e,i,n){var o=t.getModel("splitLine").getModel("lineStyle"),a=o.get("color"),s=0;a=a instanceof Array?a:[a];for(var l=[],u=0;u=0?"p":"n",M=y;v&&(n[r][b]||(n[r][b]={p:y,n:y}),M=n[r][b][S]);var I,T,A,D;if("radius"===h.dim){var C=h.dataToRadius(w)-y,L=a.dataToAngle(b);Math.abs(C)=0},kN.findTargetInfo=function(t,e){for(var i=this._targetInfoList,n=dy(e,t),o=0;o=0||AN(n,t.getAxis("y").model)>=0)&&a.push(t)}),e.push({panelId:"grid--"+t.id,gridModel:t,coordSysModel:t,coordSys:a[0],coordSyses:a,getPanelRect:ON.grid,xAxisDeclared:r[t.id],yAxisDeclared:s[t.id]})}))},geo:function(t,e){TN(t.geoModels,function(t){var i=t.coordinateSystem;e.push({panelId:"geo--"+t.id,geoModel:t,coordSysModel:t,coordSys:i,coordSyses:[i],getPanelRect:ON.geo})})}},NN=[function(t,e){var i=t.xAxisModel,n=t.yAxisModel,o=t.gridModel;return!o&&i&&(o=i.axis.grid.model),!o&&n&&(o=n.axis.grid.model),o&&o===e.gridModel},function(t,e){var i=t.geoModel;return i&&i===e.geoModel}],ON={grid:function(){return this.coordSys.grid.getRect().clone()},geo:function(){var t=this.coordSys,e=t.getBoundingRect().clone();return e.applyTransform(Ao(t)),e}},EN={lineX:DN(fy,0),lineY:DN(fy,1),rect:function(t,e,i){var n=e[CN[t]]([i[0][0],i[1][0]]),o=e[CN[t]]([i[0][1],i[1][1]]),a=[cy([n[0],o[0]]),cy([n[1],o[1]])];return{values:a,xyMinMax:a}},polygon:function(t,e,i){var n=[[1/0,-1/0],[1/0,-1/0]];return{values:f(i,function(i){var o=e[CN[t]](i);return n[0][0]=Math.min(n[0][0],o[0]),n[1][0]=Math.min(n[1][0],o[1]),n[0][1]=Math.max(n[0][1],o[0]),n[1][1]=Math.max(n[1][1],o[1]),o}),xyMinMax:n}}},RN={lineX:DN(py,0),lineY:DN(py,1),rect:function(t,e,i){return[[t[0][0]-i[0]*e[0][0],t[0][1]-i[0]*e[0][1]],[t[1][0]-i[1]*e[1][0],t[1][1]-i[1]*e[1][1]]]},polygon:function(t,e,i){return f(t,function(t,n){return[t[0]-i[0]*e[n][0],t[1]-i[1]*e[n][1]]})}},zN=["inBrush","outOfBrush"],BN="__ecBrushSelect",VN="__ecInBrushSelectEvent",GN=VT.VISUAL.BRUSH;zs(GN,function(t,e,i){t.eachComponent({mainType:"brush"},function(e){i&&"takeGlobalCursor"===i.type&&e.setBrushOption("brush"===i.key?i.brushOption:{brushType:!1}),(e.brushTargetManager=new hy(e.option,t)).setInputRanges(e.areas,t)})}),Bs(GN,function(t,e,n){var o,a,s=[];t.eachComponent({mainType:"brush"},function(e,n){function l(t){return"all"===m||v[t]}function u(t){return!!t.length}function h(t,e){var i=t.coordinateSystem;w|=i.hasAxisBrushed(),l(e)&&i.eachActiveState(t.getData(),function(t,e){"active"===t&&(x[e]=1)})}function c(i,n,o){var a=_y(i);if(a&&!wy(e,n)&&(d(b,function(n){a[n.brushType]&&e.brushTargetManager.controlSeries(n,i,t)&&o.push(n),w|=u(o)}),l(n)&&u(o))){var r=i.getData();r.each(function(t){xy(a,o,r,t)&&(x[t]=1)})}}var p={brushId:e.id,brushIndex:n,brushName:e.name,areas:i(e.areas),selected:[]};s.push(p);var g=e.option,m=g.brushLink,v=[],x=[],_=[],w=0;n||(o=g.throttleType,a=g.throttleDelay);var b=f(e.areas,function(t){return by(r({boundingRect:FN[t.brushType](t)},t))}),S=ty(e.option,zN,function(t){t.mappingMethod="fixed"});y(m)&&d(m,function(t){v[t]=1}),t.eachSeries(function(t,e){var i=_[e]=[];"parallel"===t.subType?h(t,e):c(t,e,i)}),t.eachSeries(function(t,e){var i={seriesId:t.id,seriesIndex:e,seriesName:t.name,dataIndex:[]};p.selected.push(i);var n=_y(t),o=_[e],a=t.getData(),r=l(e)?function(t){return x[t]?(i.dataIndex.push(a.getRawIndex(t)),"inBrush"):"outOfBrush"}:function(t){return xy(n,o,a,t)?(i.dataIndex.push(a.getRawIndex(t)),"inBrush"):"outOfBrush"};(l(e)?w:u(o))&&iy(zN,S,a,r)})}),vy(e,o,a,s,n)});var FN={lineX:B,lineY:B,rect:function(t){return Sy(t.range)},polygon:function(t){for(var e,i=t.range,n=0,o=i.length;ne[0][1]&&(e[0][1]=a[0]),a[1]e[1][1]&&(e[1][1]=a[1])}return e&&Sy(e)}},WN=["#ddd"];Fs({type:"brush",dependencies:["geo","grid","xAxis","yAxis","parallel","series"],defaultOption:{toolbox:null,brushLink:null,seriesIndex:"all",geoIndex:null,xAxisIndex:null,yAxisIndex:null,brushType:"rect",brushMode:"single",transformable:!0,brushStyle:{borderWidth:1,color:"rgba(120,140,180,0.3)",borderColor:"rgba(120,140,180,0.8)"},throttleType:"fixRate",throttleDelay:0,removeOnClick:!0,z:1e4},areas:[],brushType:null,brushOption:{},coordInfoList:[],optionUpdated:function(t,e){var i=this.option;!e&&ey(i,t,["inBrush","outOfBrush"]);var n=i.inBrush=i.inBrush||{};i.outOfBrush=i.outOfBrush||{color:WN},n.hasOwnProperty("liftZ")||(n.liftZ=5)},setAreas:function(t){t&&(this.areas=f(t,function(t){return My(this.option,t)},this))},setBrushOption:function(t){this.brushOption=My(this.option,t),this.brushType=this.brushOption.brushType}});Ws({type:"brush",init:function(t,e){this.ecModel=t,this.api=e,this.model,(this._brushController=new zf(e.getZr())).on("brush",m(this._onBrush,this)).mount()},render:function(t){return this.model=t,Iy.apply(this,arguments)},updateTransform:Iy,updateView:Iy,dispose:function(){this._brushController.dispose()},_onBrush:function(t,e){var n=this.model.id;this.model.brushTargetManager.setOutputRanges(t,this.ecModel),(!e.isEnd||e.removeOnClick)&&this.api.dispatchAction({type:"brush",brushId:n,areas:i(t),$from:n})}}),Es({type:"brush",event:"brush"},function(t,e){e.eachComponent({mainType:"brush",query:t},function(e){e.setAreas(t.areas)})}),Es({type:"brushSelect",event:"brushSelected",update:"none"},function(){});var HN={},ZN=rT.toolbox.brush;Dy.defaultOption={show:!0,type:["rect","polygon","lineX","lineY","keep","clear"],icon:{rect:"M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13",polygon:"M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2",lineX:"M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4",lineY:"M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4",keep:"M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z",clear:"M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2"},title:i(ZN.title)};var UN=Dy.prototype;UN.render=UN.updateView=function(t,e,i){var n,o,a;e.eachComponent({mainType:"brush"},function(t){n=t.brushType,o=t.brushOption.brushMode||"single",a|=t.areas.length}),this._brushType=n,this._brushMode=o,d(t.get("type",!0),function(e){t.setIconStatus(e,("keep"===e?"multiple"===o:"clear"===e?a:e===n)?"emphasis":"normal")})},UN.getIcons=function(){var t=this.model,e=t.get("icon",!0),i={};return d(t.get("type",!0),function(t){e[t]&&(i[t]=e[t])}),i},UN.onclick=function(t,e,i){var n=this._brushType,o=this._brushMode;"clear"===i?(e.dispatchAction({type:"axisAreaSelect",intervals:[]}),e.dispatchAction({type:"brush",command:"clear",areas:[]})):e.dispatchAction({type:"takeGlobalCursor",key:"brush",brushOption:{brushType:"keep"===i?n:n!==i&&i,brushMode:"keep"===i?"multiple"===o?"single":"multiple":o}})},Ty("brush",Dy),Ns(function(t,e){var i=t&&t.brush;if(y(i)||(i=i?[i]:[]),i.length){var n=[];d(i,function(t){var e=t.hasOwnProperty("toolbox")?t.toolbox:[];e instanceof Array&&(n=n.concat(e))});var o=t&&t.toolbox;y(o)&&(o=o[0]),o||(o={feature:{}},t.toolbox=[o]);var a=o.feature||(o.feature={}),r=a.brush||(a.brush={}),s=r.type||(r.type=[]);s.push.apply(s,n),Jv(s),e&&!s.length&&s.push.apply(s,SN)}});Cy.prototype={constructor:Cy,type:"calendar",dimensions:["time","value"],getDimensionsInfo:function(){return[{name:"time",type:"time"},"value"]},getRangeInfo:function(){return this._rangeInfo},getModel:function(){return this._model},getRect:function(){return this._rect},getCellWidth:function(){return this._sw},getCellHeight:function(){return this._sh},getOrient:function(){return this._orient},getFirstDayOfWeek:function(){return this._firstDayOfWeek},getDateInfo:function(t){var e=(t=Yo(t)).getFullYear(),i=t.getMonth()+1;i=i<10?"0"+i:i;var n=t.getDate();n=n<10?"0"+n:n;var o=t.getDay();return o=Math.abs((o+7-this.getFirstDayOfWeek())%7),{y:e,m:i,d:n,day:o,time:t.getTime(),formatedDate:e+"-"+i+"-"+n,date:t}},getNextNDay:function(t,e){return 0===(e=e||0)?this.getDateInfo(t):((t=new Date(this.getDateInfo(t).time)).setDate(t.getDate()+e),this.getDateInfo(t))},update:function(t,e){function i(t,e){return null!=t[e]&&"auto"!==t[e]}this._firstDayOfWeek=+this._model.getModel("dayLabel").get("firstDay"),this._orient=this._model.get("orient"),this._lineWidth=this._model.getModel("itemStyle").getItemStyle().lineWidth||0,this._rangeInfo=this._getRangeInfo(this._initRangeOption());var n=this._rangeInfo.weeks||1,o=["width","height"],a=this._model.get("cellSize").slice(),r=this._model.getBoxLayoutParams(),s="horizontal"===this._orient?[n,7]:[7,n];d([0,1],function(t){i(a,t)&&(r[o[t]]=a[t]*s[t])});var l={width:e.getWidth(),height:e.getHeight()},u=this._rect=ca(r,l);d([0,1],function(t){i(a,t)||(a[t]=u[o[t]]/s[t])}),this._sw=a[0],this._sh=a[1]},dataToPoint:function(t,e){y(t)&&(t=t[0]),null==e&&(e=!0);var i=this.getDateInfo(t),n=this._rangeInfo,o=i.formatedDate;if(e&&!(i.time>=n.start.time&&i.timea.end.time&&t.reverse(),t},_getRangeInfo:function(t){var e;(t=[this.getDateInfo(t[0]),this.getDateInfo(t[1])])[0].time>t[1].time&&(e=!0,t.reverse());var i=Math.floor(t[1].time/864e5)-Math.floor(t[0].time/864e5)+1,n=new Date(t[0].time),o=n.getDate(),a=t[1].date.getDate();if(n.setDate(o+i-1),n.getDate()!==a)for(var r=n.getTime()-t[1].time>0?1:-1;n.getDate()!==a&&(n.getTime()-t[1].time)*r>0;)i-=r,n.setDate(o+i-1);var s=Math.floor((i+t[0].day+6)/7),l=e?1-s:s-1;return e&&t.reverse(),{range:[t[0].formatedDate,t[1].formatedDate],start:t[0],end:t[1],allDay:i,weeks:s,nthWeek:l,fweek:t[0].day,lweek:t[1].day}},_getDateByWeeksAndDay:function(t,e,i){var n=this._getRangeInfo(i);if(t>n.weeks||0===t&&en.lweek)return!1;var o=7*(t-1)-n.fweek+e,a=new Date(n.start.time);return a.setDate(n.start.d+o),this.getDateInfo(a)}},Cy.dimensions=Cy.prototype.dimensions,Cy.getDimensionsInfo=Cy.prototype.getDimensionsInfo,Cy.create=function(t,e){var i=[];return t.eachComponent("calendar",function(n){var o=new Cy(n,t,e);i.push(o),n.coordinateSystem=o}),t.eachSeries(function(t){"calendar"===t.get("coordinateSystem")&&(t.coordinateSystem=i[t.get("calendarIndex")||0])}),i},Fa.register("calendar",Cy);var XN=lI.extend({type:"calendar",coordinateSystem:null,defaultOption:{zlevel:0,z:2,left:80,top:60,cellSize:20,orient:"horizontal",splitLine:{show:!0,lineStyle:{color:"#000",width:1,type:"solid"}},itemStyle:{color:"#fff",borderWidth:1,borderColor:"#ccc"},dayLabel:{show:!0,firstDay:0,position:"start",margin:"50%",nameMap:"en",color:"#000"},monthLabel:{show:!0,position:"start",margin:5,align:"center",nameMap:"en",formatter:null,color:"#000"},yearLabel:{show:!0,position:null,margin:30,formatter:null,color:"#ccc",fontFamily:"sans-serif",fontWeight:"bolder",fontSize:20}},init:function(t,e,i,n){var o=ga(t);XN.superApply(this,"init",arguments),ky(t,o)},mergeOption:function(t,e){XN.superApply(this,"mergeOption",arguments),ky(this.option,t)}}),jN={EN:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],CN:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},YN={EN:["S","M","T","W","T","F","S"],CN:["日","一","二","三","四","五","六"]};Ws({type:"calendar",_tlpoints:null,_blpoints:null,_firstDayOfMonth:null,_firstDayPoints:null,render:function(t,e,i){var n=this.group;n.removeAll();var o=t.coordinateSystem,a=o.getRangeInfo(),r=o.getOrient();this._renderDayRect(t,a,n),this._renderLines(t,a,r,n),this._renderYearText(t,a,r,n),this._renderMonthText(t,r,n),this._renderWeekText(t,a,r,n)},_renderDayRect:function(t,e,i){for(var n=t.coordinateSystem,o=t.getModel("itemStyle").getItemStyle(),a=n.getCellWidth(),r=n.getCellHeight(),s=e.start.time;s<=e.end.time;s=n.getNextNDay(s,1).time){var l=n.dataToRect([s],!1).tl,u=new yM({shape:{x:l[0],y:l[1],width:a,height:r},cursor:"default",style:o});i.add(u)}},_renderLines:function(t,e,i,n){function o(e){a._firstDayOfMonth.push(r.getDateInfo(e)),a._firstDayPoints.push(r.dataToRect([e],!1).tl);var o=a._getLinePointsOfOneWeek(t,e,i);a._tlpoints.push(o[0]),a._blpoints.push(o[o.length-1]),l&&a._drawSplitline(o,s,n)}var a=this,r=t.coordinateSystem,s=t.getModel("splitLine.lineStyle").getLineStyle(),l=t.get("splitLine.show"),u=s.lineWidth;this._tlpoints=[],this._blpoints=[],this._firstDayOfMonth=[],this._firstDayPoints=[];for(var h=e.start,c=0;h.time<=e.end.time;c++){o(h.formatedDate),0===c&&(h=r.getDateInfo(e.start.y+"-"+e.start.m));var d=h.date;d.setMonth(d.getMonth()+1),h=r.getDateInfo(d)}o(r.getNextNDay(e.end.time,1).formatedDate),l&&this._drawSplitline(a._getEdgesPoints(a._tlpoints,u,i),s,n),l&&this._drawSplitline(a._getEdgesPoints(a._blpoints,u,i),s,n)},_getEdgesPoints:function(t,e,i){var n=[t[0].slice(),t[t.length-1].slice()],o="horizontal"===i?0:1;return n[0][o]=n[0][o]-e/2,n[1][o]=n[1][o]+e/2,n},_drawSplitline:function(t,e,i){var n=new gM({z2:20,shape:{points:t},style:e});i.add(n)},_getLinePointsOfOneWeek:function(t,e,i){var n=t.coordinateSystem;e=n.getDateInfo(e);for(var o=[],a=0;a<7;a++){var r=n.getNextNDay(e.time,a),s=n.dataToRect([r.time],!1);o[2*r.day]=s.tl,o[2*r.day+1]=s["horizontal"===i?"bl":"tr"]}return o},_formatterLabel:function(t,e){return"string"==typeof t&&t?oa(t,e):"function"==typeof t?t(e):e.nameMap},_yearTextPositionControl:function(t,e,i,n,o){e=e.slice();var a=["center","bottom"];"bottom"===n?(e[1]+=o,a=["center","top"]):"left"===n?e[0]-=o:"right"===n?(e[0]+=o,a=["center","top"]):e[1]-=o;var r=0;return"left"!==n&&"right"!==n||(r=Math.PI/2),{rotation:r,position:e,style:{textAlign:a[0],textVerticalAlign:a[1]}}},_renderYearText:function(t,e,i,n){var o=t.getModel("yearLabel");if(o.get("show")){var a=o.get("margin"),r=o.get("position");r||(r="horizontal"!==i?"top":"left");var s=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],l=(s[0][0]+s[1][0])/2,u=(s[0][1]+s[1][1])/2,h="horizontal"===i?0:1,c={top:[l,s[h][1]],bottom:[l,s[1-h][1]],left:[s[1-h][0],u],right:[s[h][0],u]},d=e.start.y;+e.end.y>+e.start.y&&(d=d+"-"+e.end.y);var f=o.get("formatter"),p={start:e.start.y,end:e.end.y,nameMap:d},g=this._formatterLabel(f,p),m=new rM({z2:30});mo(m.style,o,{text:g}),m.attr(this._yearTextPositionControl(m,c[r],i,r,a)),n.add(m)}},_monthTextPositionControl:function(t,e,i,n,o){var a="left",r="top",s=t[0],l=t[1];return"horizontal"===i?(l+=o,e&&(a="center"),"start"===n&&(r="bottom")):(s+=o,e&&(r="middle"),"start"===n&&(a="right")),{x:s,y:l,textAlign:a,textVerticalAlign:r}},_renderMonthText:function(t,e,i){var n=t.getModel("monthLabel");if(n.get("show")){var o=n.get("nameMap"),r=n.get("margin"),s=n.get("position"),l=n.get("align"),u=[this._tlpoints,this._blpoints];_(o)&&(o=jN[o.toUpperCase()]||[]);var h="start"===s?0:1,c="horizontal"===e?0:1;r="start"===s?-r:r;for(var d="center"===l,f=0;f=r[0]&&t<=r[1]}if(t===this._dataZoomModel){var n=this._dimName,o=this.getTargetSeriesModels(),a=t.get("filterMode"),r=this._valueWindow;"none"!==a&&$N(o,function(t){var e=t.getData(),o=e.mapDimension(n,!0);o.length&&("weakFilter"===a?e.filterSelf(function(t){for(var i,n,a,s=0;sr[1];if(u&&!h&&!c)return!0;u&&(a=!0),h&&(i=!0),c&&(n=!0)}return a&&i&&n}):$N(o,function(n){if("empty"===a)t.setData(e.map(n,function(t){return i(t)?t:NaN}));else{var o={};o[n]=r,e.selectRange(o)}}),$N(o,function(t){e.setApproximateExtent(r,t)}))})}}};var tO=d,eO=KN,iO=Fs({type:"dataZoom",dependencies:["xAxis","yAxis","zAxis","radiusAxis","angleAxis","singleAxis","series"],defaultOption:{zlevel:0,z:4,orient:null,xAxisIndex:null,yAxisIndex:null,filterMode:"filter",throttle:null,start:0,end:100,startValue:null,endValue:null,minSpan:null,maxSpan:null,minValueSpan:null,maxValueSpan:null,rangeMode:null},init:function(t,e,i){this._dataIntervalByAxis={},this._dataInfo={},this._axisProxies={},this.textStyleModel,this._autoThrottle=!0,this._rangePropMode=["percent","percent"];var n=By(t);this.mergeDefaultAndTheme(t,i),this.doInit(n)},mergeOption:function(t){var e=By(t);n(this.option,t,!0),this.doInit(e)},doInit:function(t){var e=this.option;U_.canvasSupported||(e.realtime=!1),this._setDefaultThrottle(t),Vy(this,t),tO([["start","startValue"],["end","endValue"]],function(t,i){"value"===this._rangePropMode[i]&&(e[t[0]]=null)},this),this.textStyleModel=this.getModel("textStyle"),this._resetTarget(),this._giveAxisProxies()},_giveAxisProxies:function(){var t=this._axisProxies;this.eachTargetAxis(function(e,i,n,o){var a=this.dependentModels[e.axis][i],r=a.__dzAxisProxy||(a.__dzAxisProxy=new QN(e.name,i,this,o));t[e.name+"_"+i]=r},this)},_resetTarget:function(){var t=this.option,e=this._judgeAutoMode();eO(function(e){var i=e.axisIndex;t[i]=Di(t[i])},this),"axisIndex"===e?this._autoSetAxisIndex():"orient"===e&&this._autoSetOrient()},_judgeAutoMode:function(){var t=this.option,e=!1;eO(function(i){null!=t[i.axisIndex]&&(e=!0)},this);var i=t.orient;return null==i&&e?"orient":e?void 0:(null==i&&(t.orient="horizontal"),"axisIndex")},_autoSetAxisIndex:function(){var t=!0,e=this.get("orient",!0),i=this.option,n=this.dependentModels;if(t){var o="vertical"===e?"y":"x";n[o+"Axis"].length?(i[o+"AxisIndex"]=[0],t=!1):tO(n.singleAxis,function(n){t&&n.get("orient",!0)===e&&(i.singleAxisIndex=[n.componentIndex],t=!1)})}t&&eO(function(e){if(t){var n=[],o=this.dependentModels[e.axis];if(o.length&&!n.length)for(var a=0,r=o.length;a0?100:20}},getFirstTargetAxisModel:function(){var t;return eO(function(e){if(null==t){var i=this.get(e.axisIndex);i.length&&(t=this.dependentModels[e.axis][i[0]])}},this),t},eachTargetAxis:function(t,e){var i=this.ecModel;eO(function(n){tO(this.get(n.axisIndex),function(o){t.call(e,n,o,this,i)},this)},this)},getAxisProxy:function(t,e){return this._axisProxies[t+"_"+e]},getAxisModel:function(t,e){var i=this.getAxisProxy(t,e);return i&&i.getAxisModel()},setRawRange:function(t,e){var i=this.option;tO([["start","startValue"],["end","endValue"]],function(e){null==t[e[0]]&&null==t[e[1]]||(i[e[0]]=t[e[0]],i[e[1]]=t[e[1]])},this),!e&&Vy(this,t)},getPercentRange:function(){var t=this.findRepresentativeAxisProxy();if(t)return t.getDataPercentWindow()},getValueRange:function(t,e){if(null!=t||null!=e)return this.getAxisProxy(t,e).getDataValueWindow();var i=this.findRepresentativeAxisProxy();return i?i.getDataValueWindow():void 0},findRepresentativeAxisProxy:function(t){if(t)return t.__dzAxisProxy;var e=this._axisProxies;for(var i in e)if(e.hasOwnProperty(i)&&e[i].hostedBy(this))return e[i];for(var i in e)if(e.hasOwnProperty(i)&&!e[i].hostedBy(this))return e[i]},getRangePropMode:function(){return this._rangePropMode.slice()}}),nO=qI.extend({type:"dataZoom",render:function(t,e,i,n){this.dataZoomModel=t,this.ecModel=e,this.api=i},getTargetCoordInfo:function(){function t(t,e,i,n){for(var o,a=0;a0&&e%g)p+=f;else{var i=null==t||isNaN(t)||""===t,n=i?0:aO(t,a,u,!0);i&&!l&&e?(c.push([c[c.length-1][0],0]),d.push([d[d.length-1][0],0])):!i&&l&&(c.push([p,0]),d.push([p,0])),c.push([p,n]),d.push([p,n]),p+=f,l=i}});var m=this.dataZoomModel;this._displayables.barGroup.add(new pM({shape:{points:c},style:r({fill:m.get("dataBackgroundColor")},m.getModel("dataBackground.areaStyle").getAreaStyle()),silent:!0,z2:-20})),this._displayables.barGroup.add(new gM({shape:{points:d},style:m.getModel("dataBackground.lineStyle").getLineStyle(),silent:!0,z2:-19}))}}},_prepareDataShadowInfo:function(){var t=this.dataZoomModel,e=t.get("showDataShadow");if(!1!==e){var i,n=this.ecModel;return t.eachTargetAxis(function(o,a){d(t.getAxisProxy(o.name,a).getTargetSeriesModels(),function(t){if(!(i||!0!==e&&l(cO,t.get("type"))<0)){var r,s=n.getComponent(o.axis,a).axis,u=Gy(o.name),h=t.coordinateSystem;null!=u&&h.getOtherAxis&&(r=h.getOtherAxis(s).inverse),u=t.getData().mapDimension(u),i={thisAxis:s,series:t,thisDim:o.name,otherDim:u,otherAxisInverse:r}}},this)},this),i}},_renderHandle:function(){var t=this._displayables,e=t.handles=[],i=t.handleLabels=[],n=this._displayables.barGroup,o=this._size,a=this.dataZoomModel;n.add(t.filler=new oO({draggable:!0,cursor:Fy(this._orient),drift:sO(this._onDragMove,this,"all"),onmousemove:function(t){mw(t.event)},ondragstart:sO(this._showDataInfo,this,!0),ondragend:sO(this._onDragEnd,this),onmouseover:sO(this._showDataInfo,this,!0),onmouseout:sO(this._showDataInfo,this,!1),style:{fill:a.get("fillerColor"),textPosition:"inside"}})),n.add(new oO($n({silent:!0,shape:{x:0,y:0,width:o[0],height:o[1]},style:{stroke:a.get("dataBackgroundColor")||a.get("borderColor"),lineWidth:1,fill:"rgba(0,0,0,0)"}}))),lO([0,1],function(t){var o=Po(a.get("handleIcon"),{cursor:Fy(this._orient),draggable:!0,drift:sO(this._onDragMove,this,t),onmousemove:function(t){mw(t.event)},ondragend:sO(this._onDragEnd,this),onmouseover:sO(this._showDataInfo,this,!0),onmouseout:sO(this._showDataInfo,this,!1)},{x:-1,y:0,width:2,height:2}),r=o.getBoundingRect();this._handleHeight=Vo(a.get("handleSize"),this._size[1]),this._handleWidth=r.width/r.height*this._handleHeight,o.setStyle(a.getModel("handleStyle").getItemStyle());var s=a.get("handleColor");null!=s&&(o.style.fill=s),n.add(e[t]=o);var l=a.textStyleModel;this.group.add(i[t]=new rM({silent:!0,invisible:!0,style:{x:0,y:0,text:"",textVerticalAlign:"middle",textAlign:"center",textFill:l.getTextColor(),textFont:l.getFont()},z2:10}))},this)},_resetInterval:function(){var t=this._range=this.dataZoomModel.getPercentRange(),e=this._getViewExtent();this._handleEnds=[aO(t[0],[0,100],e,!0),aO(t[1],[0,100],e,!0)]},_updateInterval:function(t,e){var i=this.dataZoomModel,n=this._handleEnds,o=this._getViewExtent(),a=i.findRepresentativeAxisProxy().getMinMaxSpan(),r=[0,100];QL(e,n,o,i.get("zoomLock")?"all":t,null!=a.minSpan?aO(a.minSpan,r,o,!0):null,null!=a.maxSpan?aO(a.maxSpan,r,o,!0):null);var s=this._range,l=this._range=rO([aO(n[0],o,r,!0),aO(n[1],o,r,!0)]);return!s||s[0]!==l[0]||s[1]!==l[1]},_updateView:function(t){var e=this._displayables,i=this._handleEnds,n=rO(i.slice()),o=this._size;lO([0,1],function(t){var n=e.handles[t],a=this._handleHeight;n.attr({scale:[a/2,a/2],position:[i[t],o[1]/2-a/2]})},this),e.filler.setShape({x:n[0],y:0,width:n[1]-n[0],height:o[1]}),this._updateDataInfo(t)},_updateDataInfo:function(t){function e(t){var e=Ao(n.handles[t].parent,this.group),i=Co(0===t?"right":"left",e),s=this._handleWidth/2+hO,l=Do([c[t]+(0===t?-s:s),this._size[1]/2],e);o[t].setStyle({x:l[0],y:l[1],textVerticalAlign:a===uO?"middle":i,textAlign:a===uO?i:"center",text:r[t]})}var i=this.dataZoomModel,n=this._displayables,o=n.handleLabels,a=this._orient,r=["",""];if(i.get("showDetail")){var s=i.findRepresentativeAxisProxy();if(s){var l=s.getAxisModel().axis,u=this._range,h=t?s.calculateDataWindow({start:u[0],end:u[1]}).valueWindow:s.getDataValueWindow();r=[this._formatLabel(h[0],l),this._formatLabel(h[1],l)]}}var c=rO(this._handleEnds.slice());e.call(this,0),e.call(this,1)},_formatLabel:function(t,e){var i=this.dataZoomModel,n=i.get("labelFormatter"),o=i.get("labelPrecision");null!=o&&"auto"!==o||(o=e.getPixelPrecision());var a=null==t||isNaN(t)?"":"category"===e.type||"time"===e.type?e.scale.getLabel(Math.round(t)):t.toFixed(Math.min(o,20));return x(n)?n(t,a):_(n)?n.replace("{value}",a):a},_showDataInfo:function(t){t=this._dragging||t;var e=this._displayables.handleLabels;e[0].attr("invisible",!t),e[1].attr("invisible",!t)},_onDragMove:function(t,e,i){this._dragging=!0;var n=Do([e,i],this._displayables.barGroup.getLocalTransform(),!0),o=this._updateInterval(t,n[0]),a=this.dataZoomModel.get("realtime");this._updateView(!a),o&&a&&this._dispatchZoomAction()},_onDragEnd:function(){this._dragging=!1,this._showDataInfo(!1),!this.dataZoomModel.get("realtime")&&this._dispatchZoomAction()},_onClickPanelClick:function(t){var e=this._size,i=this._displayables.barGroup.transformCoordToLocal(t.offsetX,t.offsetY);if(!(i[0]<0||i[0]>e[0]||i[1]<0||i[1]>e[1])){var n=this._handleEnds,o=(n[0]+n[1])/2,a=this._updateInterval("all",i[0]-o);this._updateView(),a&&this._dispatchZoomAction()}},_dispatchZoomAction:function(){var t=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,start:t[0],end:t[1]})},_findCoordRect:function(){var t;if(lO(this.getTargetCoordInfo(),function(e){if(!t&&e.length){var i=e[0].model.coordinateSystem;t=i.getRect&&i.getRect()}}),!t){var e=this.api.getWidth(),i=this.api.getHeight();t={x:.2*e,y:.2*i,width:.6*e,height:.6*i}}return t}});iO.extend({type:"dataZoom.inside",defaultOption:{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}});var fO="\0_ec_dataZoom_roams",pO=m,gO=nO.extend({type:"dataZoom.inside",init:function(t,e){this._range},render:function(t,e,i,n){gO.superApply(this,"render",arguments),this._range=t.getPercentRange(),d(this.getTargetCoordInfo(),function(e,n){var o=f(e,function(t){return Zy(t.model)});d(e,function(e){var a=e.model,r={};d(["pan","zoom","scrollMove"],function(t){r[t]=pO(mO[t],this,e,n)},this),Wy(i,{coordId:Zy(a),allCoordIds:o,containsPoint:function(t,e,i){return a.coordinateSystem.containPoint([e,i])},dataZoomId:t.id,dataZoomModel:t,getRange:r})},this)},this)},dispose:function(){Hy(this.api,this.dataZoomModel.id),gO.superApply(this,"dispose",arguments),this._range=null}}),mO={zoom:function(t,e,i,n){var o=this._range,a=o.slice(),r=t.axisModels[0];if(r){var s=vO[e](null,[n.originX,n.originY],r,i,t),l=(s.signal>0?s.pixelStart+s.pixelLength-s.pixel:s.pixel-s.pixelStart)/s.pixelLength*(a[1]-a[0])+a[0],u=Math.max(1/n.scale,0);a[0]=(a[0]-l)*u+l,a[1]=(a[1]-l)*u+l;var h=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();return QL(0,a,[0,100],0,h.minSpan,h.maxSpan),this._range=a,o[0]!==a[0]||o[1]!==a[1]?a:void 0}},pan:Ky(function(t,e,i,n,o,a){var r=vO[n]([a.oldX,a.oldY],[a.newX,a.newY],e,o,i);return r.signal*(t[1]-t[0])*r.pixel/r.pixelLength}),scrollMove:Ky(function(t,e,i,n,o,a){return vO[n]([0,0],[a.scrollDelta,a.scrollDelta],e,o,i).signal*(t[1]-t[0])*a.scrollDelta})},vO={grid:function(t,e,i,n,o){var a=i.axis,r={},s=o.model.coordinateSystem.getRect();return t=t||[0,0],"x"===a.dim?(r.pixel=e[0]-t[0],r.pixelLength=s.width,r.pixelStart=s.x,r.signal=a.inverse?1:-1):(r.pixel=e[1]-t[1],r.pixelLength=s.height,r.pixelStart=s.y,r.signal=a.inverse?-1:1),r},polar:function(t,e,i,n,o){var a=i.axis,r={},s=o.model.coordinateSystem,l=s.getRadiusAxis().getExtent(),u=s.getAngleAxis().getExtent();return t=t?s.pointToCoord(t):[0,0],e=s.pointToCoord(e),"radiusAxis"===i.mainType?(r.pixel=e[0]-t[0],r.pixelLength=l[1]-l[0],r.pixelStart=l[0],r.signal=a.inverse?1:-1):(r.pixel=e[1]-t[1],r.pixelLength=u[1]-u[0],r.pixelStart=u[0],r.signal=a.inverse?-1:1),r},singleAxis:function(t,e,i,n,o){var a=i.axis,r=o.model.coordinateSystem.getRect(),s={};return t=t||[0,0],"horizontal"===a.orient?(s.pixel=e[0]-t[0],s.pixelLength=r.width,s.pixelStart=r.x,s.signal=a.inverse?1:-1):(s.pixel=e[1]-t[1],s.pixelLength=r.height,s.pixelStart=r.y,s.signal=a.inverse?-1:1),s}};Os({getTargetSeries:function(t){var e=R();return t.eachComponent("dataZoom",function(t){t.eachTargetAxis(function(t,i,n){d(n.getAxisProxy(t.name,i).getTargetSeriesModels(),function(t){e.set(t.uid,t)})})}),e},modifyOutputEnd:!0,overallReset:function(t,e){t.eachComponent("dataZoom",function(t){t.eachTargetAxis(function(t,i,n){n.getAxisProxy(t.name,i).reset(n,e)}),t.eachTargetAxis(function(t,i,n){n.getAxisProxy(t.name,i).filterData(n,e)})}),t.eachComponent("dataZoom",function(t){var e=t.findRepresentativeAxisProxy(),i=e.getDataPercentWindow(),n=e.getDataValueWindow();t.setRawRange({start:i[0],end:i[1],startValue:n[0],endValue:n[1]},!0)})}}),Es("dataZoom",function(t,e){var i=Ny(m(e.eachComponent,e,"dataZoom"),KN,function(t,e){return t.get(e.axisIndex)}),n=[];e.eachComponent({mainType:"dataZoom",query:t},function(t,e){n.push.apply(n,i(t).nodes)}),d(n,function(e,i){e.setRawRange({start:t.start,end:t.end,startValue:t.startValue,endValue:t.endValue})})});var yO=d,xO=function(t){var e=t&&t.visualMap;y(e)||(e=e?[e]:[]),yO(e,function(t){if(t){$y(t,"splitList")&&!$y(t,"pieces")&&(t.pieces=t.splitList,delete t.splitList);var e=t.pieces;e&&y(e)&&yO(e,function(t){w(t)&&($y(t,"start")&&!$y(t,"min")&&(t.min=t.start),$y(t,"end")&&!$y(t,"max")&&(t.max=t.end))})}})};lI.registerSubTypeDefaulter("visualMap",function(t){return t.categories||(t.pieces?t.pieces.length>0:t.splitNumber>0)&&!t.calculable?"piecewise":"continuous"});var _O=VT.VISUAL.COMPONENT;Bs(_O,{createOnAllSeries:!0,reset:function(t,e){var i=[];return e.eachComponent("visualMap",function(e){var n=t.pipelineContext;!e.isTargetSeries(t)||n&&n.large||i.push(ny(e.stateList,e.targetVisuals,m(e.getValueState,e),e.getDataDimension(t.getData())))}),i}}),Bs(_O,{createOnAllSeries:!0,reset:function(t,e){var i=t.getData(),n=[];e.eachComponent("visualMap",function(e){if(e.isTargetSeries(t)){var o=e.getVisualMeta(m(Jy,null,t,e))||{stops:[],outerColors:[]},a=e.getDataDimension(i),r=i.getDimensionInfo(a);null!=r&&(o.dimension=r.index,n.push(o))}}),t.getData().setVisual("visualMeta",n)}});var wO={get:function(t,e,n){var o=i((bO[t]||{})[e]);return n&&y(o)?o[o.length-1]:o}},bO={color:{active:["#006edd","#e0ffff"],inactive:["rgba(0,0,0,0)"]},colorHue:{active:[0,360],inactive:[0,0]},colorSaturation:{active:[.3,1],inactive:[0,0]},colorLightness:{active:[.9,.5],inactive:[0,0]},colorAlpha:{active:[.3,1],inactive:[0,0]},opacity:{active:[.3,1],inactive:[0,0]},symbol:{active:["circle","roundRect","diamond"],inactive:["none"]},symbolSize:{active:[10,50],inactive:[0,0]}},SO=hL.mapVisual,MO=hL.eachVisual,IO=y,TO=d,AO=Fo,DO=Bo,CO=B,LO=Fs({type:"visualMap",dependencies:["series"],stateList:["inRange","outOfRange"],replacableOptionKeys:["inRange","outOfRange","target","controller","color"],dataBound:[-1/0,1/0],layoutMode:{type:"box",ignoreSize:!0},defaultOption:{show:!0,zlevel:0,z:4,seriesIndex:"all",min:0,max:200,dimension:null,inRange:null,outOfRange:null,left:0,right:null,top:null,bottom:0,itemWidth:null,itemHeight:null,inverse:!1,orient:"vertical",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",contentColor:"#5793f3",inactiveColor:"#aaa",borderWidth:0,padding:5,textGap:10,precision:0,color:null,formatter:null,text:null,textStyle:{color:"#333"}},init:function(t,e,i){this._dataExtent,this.targetVisuals={},this.controllerVisuals={},this.textStyleModel,this.itemSize,this.mergeDefaultAndTheme(t,i)},optionUpdated:function(t,e){var i=this.option;U_.canvasSupported||(i.realtime=!1),!e&&ey(i,t,this.replacableOptionKeys),this.textStyleModel=this.getModel("textStyle"),this.resetItemSize(),this.completeVisualOption()},resetVisual:function(t){var e=this.stateList;t=m(t,this),this.controllerVisuals=ty(this.option.controller,e,t),this.targetVisuals=ty(this.option.target,e,t)},getTargetSeriesIndices:function(){var t=this.option.seriesIndex,e=[];return null==t||"all"===t?this.ecModel.eachSeries(function(t,i){e.push(i)}):e=Di(t),e},eachTargetSeries:function(t,e){d(this.getTargetSeriesIndices(),function(i){t.call(e,this.ecModel.getSeriesByIndex(i))},this)},isTargetSeries:function(t){var e=!1;return this.eachTargetSeries(function(i){i===t&&(e=!0)}),e},formatValueText:function(t,e,i){function n(t){return t===l[0]?"min":t===l[1]?"max":(+t).toFixed(Math.min(s,20))}var o,a,r=this.option,s=r.precision,l=this.dataBound,u=r.formatter;return i=i||["<",">"],y(t)&&(t=t.slice(),o=!0),a=e?t:o?[n(t[0]),n(t[1])]:n(t),_(u)?u.replace("{value}",o?a[0]:a).replace("{value2}",o?a[1]:a):x(u)?o?u(t[0],t[1]):u(t):o?t[0]===l[0]?i[0]+" "+a[1]:t[1]===l[1]?i[1]+" "+a[0]:a[0]+" - "+a[1]:a},resetExtent:function(){var t=this.option,e=AO([t.min,t.max]);this._dataExtent=e},getDataDimension:function(t){var e=this.option.dimension,i=t.dimensions;if(null!=e||i.length){if(null!=e)return t.getDimension(e);for(var n=t.dimensions,o=n.length-1;o>=0;o--){var a=n[o];if(!t.getDimensionInfo(a).isCalculationCoord)return a}}},getExtent:function(){return this._dataExtent.slice()},completeVisualOption:function(){function t(t){IO(o.color)&&!t.inRange&&(t.inRange={color:o.color.slice().reverse()}),t.inRange=t.inRange||{color:e.get("gradientColor")},TO(this.stateList,function(e){var i=t[e];if(_(i)){var n=wO.get(i,"active",l);n?(t[e]={},t[e][i]=n):delete t[e]}},this)}var e=this.ecModel,o=this.option,a={inRange:o.inRange,outOfRange:o.outOfRange},r=o.target||(o.target={}),s=o.controller||(o.controller={});n(r,a),n(s,a);var l=this.isCategory();t.call(this,r),t.call(this,s),function(t,e,i){var n=t[e],o=t[i];n&&!o&&(o=t[i]={},TO(n,function(t,e){if(hL.isValidType(e)){var i=wO.get(e,"inactive",l);null!=i&&(o[e]=i,"color"!==e||o.hasOwnProperty("opacity")||o.hasOwnProperty("colorAlpha")||(o.opacity=[0,0]))}}))}.call(this,r,"inRange","outOfRange"),function(t){var e=(t.inRange||{}).symbol||(t.outOfRange||{}).symbol,n=(t.inRange||{}).symbolSize||(t.outOfRange||{}).symbolSize,o=this.get("inactiveColor");TO(this.stateList,function(a){var r=this.itemSize,s=t[a];s||(s=t[a]={color:l?o:[o]}),null==s.symbol&&(s.symbol=e&&i(e)||(l?"roundRect":["roundRect"])),null==s.symbolSize&&(s.symbolSize=n&&i(n)||(l?r[0]:[r[0],r[0]])),s.symbol=SO(s.symbol,function(t){return"none"===t||"square"===t?"roundRect":t});var u=s.symbolSize;if(null!=u){var h=-1/0;MO(u,function(t){t>h&&(h=t)}),s.symbolSize=SO(u,function(t){return DO(t,[0,h],[0,r[0]],!0)})}},this)}.call(this,s)},resetItemSize:function(){this.itemSize=[parseFloat(this.get("itemWidth")),parseFloat(this.get("itemHeight"))]},isCategory:function(){return!!this.option.categories},setSelected:CO,getValueState:CO,getVisualMeta:CO}),kO=[20,140],PO=LO.extend({type:"visualMap.continuous",defaultOption:{align:"auto",calculable:!1,range:null,realtime:!0,itemHeight:null,itemWidth:null,hoverLink:!0,hoverLinkDataSize:null,hoverLinkOnHandle:null},optionUpdated:function(t,e){PO.superApply(this,"optionUpdated",arguments),this.resetExtent(),this.resetVisual(function(t){t.mappingMethod="linear",t.dataExtent=this.getExtent()}),this._resetRange()},resetItemSize:function(){PO.superApply(this,"resetItemSize",arguments);var t=this.itemSize;"horizontal"===this._orient&&t.reverse(),(null==t[0]||isNaN(t[0]))&&(t[0]=kO[0]),(null==t[1]||isNaN(t[1]))&&(t[1]=kO[1])},_resetRange:function(){var t=this.getExtent(),e=this.option.range;!e||e.auto?(t.auto=1,this.option.range=t):y(e)&&(e[0]>e[1]&&e.reverse(),e[0]=Math.max(e[0],t[0]),e[1]=Math.min(e[1],t[1]))},completeVisualOption:function(){LO.prototype.completeVisualOption.apply(this,arguments),d(this.stateList,function(t){var e=this.option.controller[t].symbolSize;e&&e[0]!==e[1]&&(e[0]=0)},this)},setSelected:function(t){this.option.range=t.slice(),this._resetRange()},getSelected:function(){var t=this.getExtent(),e=Fo((this.get("range")||[]).slice());return e[0]>t[1]&&(e[0]=t[1]),e[1]>t[1]&&(e[1]=t[1]),e[0]=i[1]||t<=e[1])?"inRange":"outOfRange"},findTargetDataIndices:function(t){var e=[];return this.eachTargetSeries(function(i){var n=[],o=i.getData();o.each(this.getDataDimension(o),function(e,i){t[0]<=e&&e<=t[1]&&n.push(i)},this),e.push({seriesId:i.id,dataIndex:n})},this),e},getVisualMeta:function(t){function e(e,i){o.push({value:e,color:t(e,i)})}for(var i=Qy(0,0,this.getExtent()),n=Qy(0,0,this.option.range.slice()),o=[],a=0,r=0,s=n.length,l=i.length;rt[1])break;i.push({color:this.getControllerVisual(a,"color",e),offset:o/100})}return i.push({color:this.getControllerVisual(t[1],"color",e),offset:1}),i},_createBarPoints:function(t,e){var i=this.visualMapModel.itemSize;return[[i[0]-e[0],t[0]],[i[0],t[0]],[i[0],t[1]],[i[0]-e[1],t[1]]]},_createBarGroup:function(t){var e=this._orient,i=this.visualMapModel.get("inverse");return new tb("horizontal"!==e||i?"horizontal"===e&&i?{scale:"bottom"===t?[-1,1]:[1,1],rotation:-Math.PI/2}:"vertical"!==e||i?{scale:"left"===t?[1,1]:[-1,1]}:{scale:"left"===t?[1,-1]:[-1,-1]}:{scale:"bottom"===t?[1,1]:[-1,1],rotation:Math.PI/2})},_updateHandle:function(t,e){if(this._useHandle){var i=this._shapes,n=this.visualMapModel,o=i.handleThumbs,a=i.handleLabels;EO([0,1],function(r){var s=o[r];s.setStyle("fill",e.handlesColor[r]),s.position[1]=t[r];var l=Do(i.handleLabelPoints[r],Ao(s,this.group));a[r].setStyle({x:l[0],y:l[1],text:n.formatValueText(this._dataInterval[r]),textVerticalAlign:"middle",textAlign:this._applyTransform("horizontal"===this._orient?0===r?"bottom":"top":"left",i.barGroup)})},this)}},_showIndicator:function(t,e,i,n){var o=this.visualMapModel,a=o.getExtent(),r=o.itemSize,s=[0,r[1]],l=OO(t,a,s,!0),u=this._shapes,h=u.indicator;if(h){h.position[1]=l,h.attr("invisible",!1),h.setShape("points",ox(!!i,n,l,r[1]));var c={convertOpacityToAlpha:!0},d=this.getControllerVisual(t,"color",c);h.setStyle("fill",d);var f=Do(u.indicatorLabelPoint,Ao(h,this.group)),p=u.indicatorLabel;p.attr("invisible",!1);var g=this._applyTransform("left",u.barGroup),m=this._orient;p.setStyle({text:(i||"")+o.formatValueText(e),textVerticalAlign:"horizontal"===m?g:"middle",textAlign:"horizontal"===m?"center":g,x:f[0],y:f[1]})}},_enableHoverLinkToSeries:function(){var t=this;this._shapes.barGroup.on("mousemove",function(e){if(t._hovering=!0,!t._dragging){var i=t.visualMapModel.itemSize,n=t._applyTransform([e.offsetX,e.offsetY],t._shapes.barGroup,!0,!0);n[1]=RO(zO(0,n[1]),i[1]),t._doHoverLinkToSeries(n[1],0<=n[0]&&n[0]<=i[0])}}).on("mouseout",function(){t._hovering=!1,!t._dragging&&t._clearHoverLinkToSeries()})},_enableHoverLinkFromSeries:function(){var t=this.api.getZr();this.visualMapModel.option.hoverLink?(t.on("mouseover",this._hoverLinkFromSeriesMouseOver,this),t.on("mouseout",this._hideIndicator,this)):this._clearHoverLinkFromSeries()},_doHoverLinkToSeries:function(t,e){var i=this.visualMapModel,n=i.itemSize;if(i.option.hoverLink){var o=[0,n[1]],a=i.getExtent();t=RO(zO(o[0],t),o[1]);var r=ax(i,a,o),s=[t-r,t+r],l=OO(t,o,a,!0),u=[OO(s[0],o,a,!0),OO(s[1],o,a,!0)];s[0]o[1]&&(u[1]=1/0),e&&(u[0]===-1/0?this._showIndicator(l,u[1],"< ",r):u[1]===1/0?this._showIndicator(l,u[0],"> ",r):this._showIndicator(l,l,"≈ ",r));var h=this._hoverLinkDataIndices,c=[];(e||rx(i))&&(c=this._hoverLinkDataIndices=i.findTargetDataIndices(u));var d=Ri(h,c);this._dispatchHighDown("downplay",ex(d[0])),this._dispatchHighDown("highlight",ex(d[1]))}},_hoverLinkFromSeriesMouseOver:function(t){var e=t.target,i=this.visualMapModel;if(e&&null!=e.dataIndex){var n=this.ecModel.getSeriesByIndex(e.seriesIndex);if(i.isTargetSeries(n)){var o=n.getData(e.dataType),a=o.get(i.getDataDimension(o),e.dataIndex,!0);isNaN(a)||this._showIndicator(a,a)}}},_hideIndicator:function(){var t=this._shapes;t.indicator&&t.indicator.attr("invisible",!0),t.indicatorLabel&&t.indicatorLabel.attr("invisible",!0)},_clearHoverLinkToSeries:function(){this._hideIndicator();var t=this._hoverLinkDataIndices;this._dispatchHighDown("downplay",ex(t)),t.length=0},_clearHoverLinkFromSeries:function(){this._hideIndicator();var t=this.api.getZr();t.off("mouseover",this._hoverLinkFromSeriesMouseOver),t.off("mouseout",this._hideIndicator)},_applyTransform:function(t,e,i,n){var o=Ao(e,n?null:this.group);return zM[y(t)?"applyTransform":"transformDirection"](t,o,i)},_dispatchHighDown:function(t,e){e&&e.length&&this.api.dispatchAction({type:t,batch:e})},dispose:function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()},remove:function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()}});Es({type:"selectDataRange",event:"dataRangeSelected",update:"update"},function(t,e){e.eachComponent({mainType:"visualMap",query:t},function(e){e.setSelected(t.selected)})}),Ns(xO);var FO=LO.extend({type:"visualMap.piecewise",defaultOption:{selected:null,minOpen:!1,maxOpen:!1,align:"auto",itemWidth:20,itemHeight:14,itemSymbol:"roundRect",pieceList:null,categories:null,splitNumber:5,selectedMode:"multiple",itemGap:10,hoverLink:!0,showLabel:null},optionUpdated:function(t,e){FO.superApply(this,"optionUpdated",arguments),this._pieceList=[],this.resetExtent();var n=this._mode=this._determineMode();WO[this._mode].call(this),this._resetSelected(t,e);var o=this.option.categories;this.resetVisual(function(t,e){"categories"===n?(t.mappingMethod="category",t.categories=i(o)):(t.dataExtent=this.getExtent(),t.mappingMethod="piecewise",t.pieceList=f(this._pieceList,function(t){var t=i(t);return"inRange"!==e&&(t.visual=null),t}))})},completeVisualOption:function(){function t(t,e,i){return t&&t[e]&&(w(t[e])?t[e].hasOwnProperty(i):t[e]===i)}var e=this.option,i={},n=hL.listVisualTypes(),o=this.isCategory();d(e.pieces,function(t){d(n,function(e){t.hasOwnProperty(e)&&(i[e]=1)})}),d(i,function(i,n){var a=0;d(this.stateList,function(i){a|=t(e,i,n)||t(e.target,i,n)},this),!a&&d(this.stateList,function(t){(e[t]||(e[t]={}))[n]=wO.get(n,"inRange"===t?"active":"inactive",o)})},this),LO.prototype.completeVisualOption.apply(this,arguments)},_resetSelected:function(t,e){var i=this.option,n=this._pieceList,o=(e?i:t).selected||{};if(i.selected=o,d(n,function(t,e){var i=this.getSelectedMapKey(t);o.hasOwnProperty(i)||(o[i]=!0)},this),"single"===i.selectedMode){var a=!1;d(n,function(t,e){var i=this.getSelectedMapKey(t);o[i]&&(a?o[i]=!1:a=!0)},this)}},getSelectedMapKey:function(t){return"categories"===this._mode?t.value+"":t.index+""},getPieceList:function(){return this._pieceList},_determineMode:function(){var t=this.option;return t.pieces&&t.pieces.length>0?"pieces":this.option.categories?"categories":"splitNumber"},setSelected:function(t){this.option.selected=i(t)},getValueState:function(t){var e=hL.findPieceIndex(t,this._pieceList);return null!=e&&this.option.selected[this.getSelectedMapKey(this._pieceList[e])]?"inRange":"outOfRange"},findTargetDataIndices:function(t){var e=[];return this.eachTargetSeries(function(i){var n=[],o=i.getData();o.each(this.getDataDimension(o),function(e,i){hL.findPieceIndex(e,this._pieceList)===t&&n.push(i)},this),e.push({seriesId:i.id,dataIndex:n})},this),e},getRepresentValue:function(t){var e;if(this.isCategory())e=t.value;else if(null!=t.value)e=t.value;else{var i=t.interval||[];e=i[0]===-1/0&&i[1]===1/0?0:(i[0]+i[1])/2}return e},getVisualMeta:function(t){function e(e,a){var r=o.getRepresentValue({interval:e});a||(a=o.getValueState(r));var s=t(r,a);e[0]===-1/0?n[0]=s:e[1]===1/0?n[1]=s:i.push({value:e[0],color:s},{value:e[1],color:s})}if(!this.isCategory()){var i=[],n=[],o=this,a=this._pieceList.slice();if(a.length){var r=a[0].interval[0];r!==-1/0&&a.unshift({interval:[-1/0,r]}),(r=a[a.length-1].interval[1])!==1/0&&a.push({interval:[r,1/0]})}else a.push({interval:[-1/0,1/0]});var s=-1/0;return d(a,function(t){var i=t.interval;i&&(i[0]>s&&e([s,i[0]],"outOfRange"),e(i.slice()),s=i[1])},this),{stops:i,outerColors:n}}}}),WO={splitNumber:function(){var t=this.option,e=this._pieceList,i=Math.min(t.precision,20),n=this.getExtent(),o=t.splitNumber;o=Math.max(parseInt(o,10),1),t.splitNumber=o;for(var a=(n[1]-n[0])/o;+a.toFixed(i)!==a&&i<5;)i++;t.precision=i,a=+a.toFixed(i);var r=0;t.minOpen&&e.push({index:r++,interval:[-1/0,n[0]],close:[0,0]});for(var s=n[0],l=r+o;r","≥"][e[0]]];t.text=t.text||this.formatValueText(null!=t.value?t.value:t.interval,!1,i)},this)}};NO.extend({type:"visualMap.piecewise",doRender:function(){var t=this.group;t.removeAll();var e=this.visualMapModel,i=e.get("textGap"),n=e.textStyleModel,o=n.getFont(),a=n.getTextColor(),r=this._getItemAlign(),s=e.itemSize,l=this._getViewData(),u=l.endsText,h=T(e.get("showLabel",!0),!u);u&&this._renderEndsText(t,u[0],s,h,r),d(l.viewPieceList,function(n){var l=n.piece,u=new tb;u.onclick=m(this._onItemClick,this,l),this._enableHoverLink(u,n.indexInModelPieceList);var c=e.getRepresentValue(l);if(this._createItemSymbol(u,c,[0,0,s[0],s[1]]),h){var d=this.visualMapModel.getValueState(c);u.add(new rM({style:{x:"right"===r?-i:s[0]+i,y:s[1]/2,text:l.text,textVerticalAlign:"middle",textAlign:r,textFont:o,textFill:a,opacity:"outOfRange"===d?.5:1}}))}t.add(u)},this),u&&this._renderEndsText(t,u[1],s,h,r),aI(e.get("orient"),t,e.get("itemGap")),this.renderBackground(t),this.positionGroup(t)},_enableHoverLink:function(t,e){function i(t){var i=this.visualMapModel;i.option.hoverLink&&this.api.dispatchAction({type:t,batch:ex(i.findTargetDataIndices(e))})}t.on("mouseover",m(i,this,"highlight")).on("mouseout",m(i,this,"downplay"))},_getItemAlign:function(){var t=this.visualMapModel,e=t.option;if("vertical"===e.orient)return tx(t,this.api,t.itemSize);var i=e.align;return i&&"auto"!==i||(i="left"),i},_renderEndsText:function(t,e,i,n,o){if(e){var a=new tb,r=this.visualMapModel.textStyleModel;a.add(new rM({style:{x:n?"right"===o?i[0]:0:i[0]/2,y:i[1]/2,textVerticalAlign:"middle",textAlign:n?o:"center",text:e,textFont:r.getFont(),textFill:r.getTextColor()}})),t.add(a)}},_getViewData:function(){var t=this.visualMapModel,e=f(t.getPieceList(),function(t,e){return{piece:t,indexInModelPieceList:e}}),i=t.get("text"),n=t.get("orient"),o=t.get("inverse");return("horizontal"===n?o:!o)?e.reverse():i&&(i=i.slice().reverse()),{viewPieceList:e,endsText:i}},_createItemSymbol:function(t,e,i){t.add(Jl(this.getControllerVisual(e,"symbol"),i[0],i[1],i[2],i[3],this.getControllerVisual(e,"color")))},_onItemClick:function(t){var e=this.visualMapModel,n=e.option,o=i(n.selected),a=e.getSelectedMapKey(t);"single"===n.selectedMode?(o[a]=!0,d(o,function(t,e){o[e]=e===a})):o[a]=!o[a],this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:o})}});Ns(xO);var HO=ta,ZO=ia,UO=Fs({type:"marker",dependencies:["series","grid","polar","geo"],init:function(t,e,i,n){this.mergeDefaultAndTheme(t,i),this.mergeOption(t,i,n.createdBySelf,!0)},isAnimationEnabled:function(){if(U_.node)return!1;var t=this.__hostSeries;return this.getShallow("animation")&&t&&t.isAnimationEnabled()},mergeOption:function(t,e,i,n){var o=this.constructor,r=this.mainType+"Model";i||e.eachSeries(function(t){var i=t.get(this.mainType,!0),s=t[r];i&&i.data?(s?s.mergeOption(i,e,!0):(n&&ux(i),d(i.data,function(t){t instanceof Array?(ux(t[0]),ux(t[1])):ux(t)}),a(s=new o(i,this,e),{mainType:this.mainType,seriesIndex:t.seriesIndex,name:t.name,createdBySelf:!0}),s.__hostSeries=t),t[r]=s):t[r]=null},this)},formatTooltip:function(t){var e=this.getData(),i=this.getRawValue(t),n=y(i)?f(i,HO).join(", "):HO(i),o=e.getName(t),a=ZO(this.name);return(null!=i||o)&&(a+="
    "),o&&(a+=ZO(o),null!=i&&(a+=" : ")),null!=i&&(a+=ZO(n)),a},getData:function(){return this._data},setData:function(t){this._data=t}});h(UO,ZI),UO.extend({type:"markPoint",defaultOption:{zlevel:0,z:5,symbol:"pin",symbolSize:50,tooltip:{trigger:"item"},label:{show:!0,position:"inside"},itemStyle:{borderWidth:2},emphasis:{label:{show:!0}}}});var XO=l,jO=v,YO={min:jO(dx,"min"),max:jO(dx,"max"),average:jO(dx,"average")},qO=Ws({type:"marker",init:function(){this.markerGroupMap=R()},render:function(t,e,i){var n=this.markerGroupMap;n.each(function(t){t.__keep=!1});var o=this.type+"Model";e.eachSeries(function(t){var n=t[o];n&&this.renderSeries(t,n,e,i)},this),n.each(function(t){!t.__keep&&this.group.remove(t.group)},this)},renderSeries:function(){}});qO.extend({type:"markPoint",updateTransform:function(t,e,i){e.eachSeries(function(t){var e=t.markPointModel;e&&(xx(e.getData(),t,i),this.markerGroupMap.get(t.id).updateLayout(e))},this)},renderSeries:function(t,e,i,n){var o=t.coordinateSystem,a=t.id,r=t.getData(),s=this.markerGroupMap,l=s.get(a)||s.set(a,new Du),u=_x(o,t,e);e.setData(u),xx(e.getData(),t,n),u.each(function(t){var i=u.getItemModel(t),n=i.getShallow("symbolSize");"function"==typeof n&&(n=n(e.getRawValue(t),e.getDataParams(t))),u.setItemVisual(t,{symbolSize:n,color:i.get("itemStyle.color")||r.getVisual("color"),symbol:i.getShallow("symbol")})}),l.updateData(u),this.group.add(l.group),u.eachItemGraphicEl(function(t){t.traverse(function(t){t.dataModel=e})}),l.__keep=!0,l.group.silent=e.get("silent")||t.get("silent")}}),Ns(function(t){t.markPoint=t.markPoint||{}}),UO.extend({type:"markLine",defaultOption:{zlevel:0,z:5,symbol:["circle","arrow"],symbolSize:[8,16],precision:2,tooltip:{trigger:"item"},label:{show:!0,position:"end"},lineStyle:{type:"dashed"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:"linear"}});var KO=function(t,e,o,r){var s=t.getData(),l=r.type;if(!y(r)&&("min"===l||"max"===l||"average"===l||"median"===l||null!=r.xAxis||null!=r.yAxis)){var u,h;if(null!=r.yAxis||null!=r.xAxis)u=null!=r.yAxis?"y":"x",e.getAxis(u),h=T(r.yAxis,r.xAxis);else{var c=px(r,s,e,t);u=c.valueDataDim,c.valueAxis,h=yx(s,u,l)}var d="x"===u?0:1,f=1-d,p=i(r),g={};p.type=null,p.coord=[],g.coord=[],p.coord[f]=-1/0,g.coord[f]=1/0;var m=o.get("precision");m>=0&&"number"==typeof h&&(h=+h.toFixed(Math.min(m,20))),p.coord[d]=g.coord[d]=h,r=[p,g,{type:l,valueIndex:r.valueIndex,value:h}]}return r=[fx(t,r[0]),fx(t,r[1]),a({},r[2])],r[2].type=r[2].type||"",n(r[2],r[0]),n(r[2],r[1]),r};qO.extend({type:"markLine",updateTransform:function(t,e,i){e.eachSeries(function(t){var e=t.markLineModel;if(e){var n=e.getData(),o=e.__from,a=e.__to;o.each(function(e){Ix(o,e,!0,t,i),Ix(a,e,!1,t,i)}),n.each(function(t){n.setItemLayout(t,[o.getItemLayout(t),a.getItemLayout(t)])}),this.markerGroupMap.get(t.id).updateLayout()}},this)},renderSeries:function(t,e,i,n){function o(e,i,o){var a=e.getItemModel(i);Ix(e,i,o,t,n),e.setItemVisual(i,{symbolSize:a.get("symbolSize")||g[o?0:1],symbol:a.get("symbol",!0)||p[o?0:1],color:a.get("itemStyle.color")||s.getVisual("color")})}var a=t.coordinateSystem,r=t.id,s=t.getData(),l=this.markerGroupMap,u=l.get(r)||l.set(r,new sf);this.group.add(u.group);var h=Tx(a,t,e),c=h.from,d=h.to,f=h.line;e.__from=c,e.__to=d,e.setData(f);var p=e.get("symbol"),g=e.get("symbolSize");y(p)||(p=[p,p]),"number"==typeof g&&(g=[g,g]),h.from.each(function(t){o(c,t,!0),o(d,t,!1)}),f.each(function(t){var e=f.getItemModel(t).get("lineStyle.color");f.setItemVisual(t,{color:e||c.getItemVisual(t,"color")}),f.setItemLayout(t,[c.getItemLayout(t),d.getItemLayout(t)]),f.setItemVisual(t,{fromSymbolSize:c.getItemVisual(t,"symbolSize"),fromSymbol:c.getItemVisual(t,"symbol"),toSymbolSize:d.getItemVisual(t,"symbolSize"),toSymbol:d.getItemVisual(t,"symbol")})}),u.updateData(f),h.line.eachItemGraphicEl(function(t,i){t.traverse(function(t){t.dataModel=e})}),u.__keep=!0,u.group.silent=e.get("silent")||t.get("silent")}}),Ns(function(t){t.markLine=t.markLine||{}}),UO.extend({type:"markArea",defaultOption:{zlevel:0,z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}}});var $O=function(t,e,i,n){var a=fx(t,n[0]),r=fx(t,n[1]),s=T,l=a.coord,u=r.coord;l[0]=s(l[0],-1/0),l[1]=s(l[1],-1/0),u[0]=s(u[0],1/0),u[1]=s(u[1],1/0);var h=o([{},a,r]);return h.coord=[a.coord,r.coord],h.x0=a.x,h.y0=a.y,h.x1=r.x,h.y1=r.y,h},JO=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]];qO.extend({type:"markArea",updateTransform:function(t,e,i){e.eachSeries(function(t){var e=t.markAreaModel;if(e){var n=e.getData();n.each(function(e){var o=f(JO,function(o){return Lx(n,e,o,t,i)});n.setItemLayout(e,o),n.getItemGraphicEl(e).setShape("points",o)})}},this)},renderSeries:function(t,e,i,n){var o=t.coordinateSystem,a=t.id,s=t.getData(),l=this.markerGroupMap,u=l.get(a)||l.set(a,{group:new tb});this.group.add(u.group),u.__keep=!0;var h=kx(o,t,e);e.setData(h),h.each(function(e){h.setItemLayout(e,f(JO,function(i){return Lx(h,e,i,t,n)})),h.setItemVisual(e,{color:s.getVisual("color")})}),h.diff(u.__data).add(function(t){var e=new pM({shape:{points:h.getItemLayout(t)}});h.setItemGraphicEl(t,e),u.group.add(e)}).update(function(t,i){var n=u.__data.getItemGraphicEl(i);Io(n,{shape:{points:h.getItemLayout(t)}},e,t),u.group.add(n),h.setItemGraphicEl(t,n)}).remove(function(t){var e=u.__data.getItemGraphicEl(t);u.group.remove(e)}).execute(),h.eachItemGraphicEl(function(t,i){var n=h.getItemModel(i),o=n.getModel("label"),a=n.getModel("emphasis.label"),s=h.getItemVisual(i,"color");t.useStyle(r(n.getModel("itemStyle").getItemStyle(),{fill:Yt(s,.4),stroke:s})),t.hoverStyle=n.getModel("emphasis.itemStyle").getItemStyle(),go(t.style,t.hoverStyle,o,a,{labelFetcher:e,labelDataIndex:i,defaultText:h.getName(i)||"",isRectText:!0,autoColor:s}),fo(t,{}),t.dataModel=e}),u.__data=h,u.group.silent=e.get("silent")||t.get("silent")}}),Ns(function(t){t.markArea=t.markArea||{}});lI.registerSubTypeDefaulter("timeline",function(){return"slider"}),Es({type:"timelineChange",event:"timelineChanged",update:"prepareAndUpdate"},function(t,e){var i=e.getComponent("timeline");return i&&null!=t.currentIndex&&(i.setCurrentIndex(t.currentIndex),!i.get("loop",!0)&&i.isIndexMax()&&i.setPlayState(!1)),e.resetOption("timeline"),r({currentIndex:i.option.currentIndex},t)}),Es({type:"timelinePlayChange",event:"timelinePlayChanged",update:"update"},function(t,e){var i=e.getComponent("timeline");i&&null!=t.playState&&i.setPlayState(t.playState)});var QO=lI.extend({type:"timeline",layoutMode:"box",defaultOption:{zlevel:0,z:4,show:!0,axisType:"time",realtime:!0,left:"20%",top:null,right:"20%",bottom:0,width:null,height:40,padding:5,controlPosition:"left",autoPlay:!1,rewind:!1,loop:!0,playInterval:2e3,currentIndex:0,itemStyle:{},label:{color:"#000"},data:[]},init:function(t,e,i){this._data,this._names,this.mergeDefaultAndTheme(t,i),this._initData()},mergeOption:function(t){QO.superApply(this,"mergeOption",arguments),this._initData()},setCurrentIndex:function(t){null==t&&(t=this.option.currentIndex);var e=this._data.count();this.option.loop?t=(t%e+e)%e:(t>=e&&(t=e-1),t<0&&(t=0)),this.option.currentIndex=t},getCurrentIndex:function(){return this.option.currentIndex},isIndexMax:function(){return this.getCurrentIndex()>=this._data.count()-1},setPlayState:function(t){this.option.autoPlay=!!t},getPlayState:function(){return!!this.option.autoPlay},_initData:function(){var t=this.option,e=t.data||[],n=t.axisType,o=this._names=[];if("category"===n){var a=[];d(e,function(t,e){var n,r=Li(t);w(t)?(n=i(t)).value=e:n=e,a.push(n),_(r)||null!=r&&!isNaN(r)||(r=""),o.push(r+"")}),e=a}var r={category:"ordinal",time:"time"}[n]||"number";(this._data=new vA([{name:"value",type:r}],this)).initData(e,o)},getData:function(){return this._data},getCategories:function(){if("category"===this.get("axisType"))return this._names.slice()}});h(QO.extend({type:"timeline.slider",defaultOption:{backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,orient:"horizontal",inverse:!1,tooltip:{trigger:"item"},symbol:"emptyCircle",symbolSize:10,lineStyle:{show:!0,width:2,color:"#304654"},label:{position:"auto",show:!0,interval:"auto",rotate:0,color:"#304654"},itemStyle:{color:"#304654",borderWidth:1},checkpointStyle:{symbol:"circle",symbolSize:13,color:"#c23531",borderWidth:5,borderColor:"rgba(194,53,49, 0.5)",animation:!0,animationDuration:300,animationEasing:"quinticInOut"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:22,itemGap:12,position:"left",playIcon:"path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z",stopIcon:"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z",nextIcon:"path://M18.6,50.8l22.5-22.5c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.7L18.7,4.4c-0.1-0.1-0.2-0.3-0.2-0.5 c0-0.4,0.3-0.8,0.8-0.8c0.2,0,0.5,0.1,0.6,0.3l23.5,23.5l0,0c0.2,0.2,0.3,0.4,0.3,0.7c0,0.3-0.1,0.5-0.3,0.7l-0.1,0.1L19.7,52 c-0.1,0.1-0.3,0.2-0.5,0.2c-0.4,0-0.8-0.3-0.8-0.8C18.4,51.2,18.5,51,18.6,50.8z",prevIcon:"path://M43,52.8L20.4,30.3c-0.2-0.2-0.3-0.4-0.3-0.7c0-0.3,0.1-0.5,0.3-0.7L42.9,6.4c0.1-0.1,0.2-0.3,0.2-0.5 c0-0.4-0.3-0.8-0.8-0.8c-0.2,0-0.5,0.1-0.6,0.3L18.3,28.8l0,0c-0.2,0.2-0.3,0.4-0.3,0.7c0,0.3,0.1,0.5,0.3,0.7l0.1,0.1L41.9,54 c0.1,0.1,0.3,0.2,0.5,0.2c0.4,0,0.8-0.3,0.8-0.8C43.2,53.2,43.1,53,43,52.8z",color:"#304654",borderColor:"#304654",borderWidth:1},emphasis:{label:{show:!0,color:"#c23531"},itemStyle:{color:"#c23531"},controlStyle:{color:"#c23531",borderColor:"#c23531",borderWidth:2}},data:[]}}),ZI);var tE=qI.extend({type:"timeline"}),eE=function(t,e,i,n){aD.call(this,t,e,i),this.type=n||"value",this.model=null};eE.prototype={constructor:eE,getLabelModel:function(){return this.model.getModel("label")},isHorizontal:function(){return"horizontal"===this.model.get("orient")}},u(eE,aD);var iE=m,nE=d,oE=Math.PI;tE.extend({type:"timeline.slider",init:function(t,e){this.api=e,this._axis,this._viewRect,this._timer,this._currentPointer,this._mainGroup,this._labelGroup},render:function(t,e,i,n){if(this.model=t,this.api=i,this.ecModel=e,this.group.removeAll(),t.get("show",!0)){var o=this._layout(t,i),a=this._createGroup("mainGroup"),r=this._createGroup("labelGroup"),s=this._axis=this._createAxis(o,t);t.formatTooltip=function(t){return ia(s.scale.getLabel(t))},nE(["AxisLine","AxisTick","Control","CurrentPointer"],function(e){this["_render"+e](o,a,s,t)},this),this._renderAxisLabel(o,r,s,t),this._position(o,t)}this._doPlayStop()},remove:function(){this._clearTimer(),this.group.removeAll()},dispose:function(){this._clearTimer()},_layout:function(t,e){var i=t.get("label.position"),n=t.get("orient"),o=Ex(t,e);null==i||"auto"===i?i="horizontal"===n?o.y+o.height/2=0||"+"===i?"left":"right"},r={horizontal:i>=0||"+"===i?"top":"bottom",vertical:"middle"},s={horizontal:0,vertical:oE/2},l="vertical"===n?o.height:o.width,u=t.getModel("controlStyle"),h=u.get("show",!0),c=h?u.get("itemSize"):0,d=h?u.get("itemGap"):0,f=c+d,p=t.get("label.rotate")||0;p=p*oE/180;var g,m,v,y,x=u.get("position",!0),_=h&&u.get("showPlayBtn",!0),w=h&&u.get("showPrevBtn",!0),b=h&&u.get("showNextBtn",!0),S=0,M=l;return"left"===x||"bottom"===x?(_&&(g=[0,0],S+=f),w&&(m=[S,0],S+=f),b&&(v=[M-c,0],M-=f)):(_&&(g=[M-c,0],M-=f),w&&(m=[0,0],S+=f),b&&(v=[M-c,0],M-=f)),y=[S,M],t.get("inverse")&&y.reverse(),{viewRect:o,mainLength:l,orient:n,rotation:s[n],labelRotation:p,labelPosOpt:i,labelAlign:t.get("label.align")||a[n],labelBaseline:t.get("label.verticalAlign")||t.get("label.baseline")||r[n],playPosition:g,prevBtnPosition:m,nextBtnPosition:v,axisExtent:y,controlSize:c,controlGap:d}},_position:function(t,e){function i(t){var e=t.position;t.origin=[c[0][0]-e[0],c[1][0]-e[1]]}function n(t){return[[t.x,t.x+t.width],[t.y,t.y+t.height]]}function o(t,e,i,n,o){t[n]+=i[n][o]-e[n][o]}var a=this._mainGroup,r=this._labelGroup,s=t.viewRect;if("vertical"===t.orient){var l=xt(),u=s.x,h=s.y+s.height;St(l,l,[-u,-h]),Mt(l,l,-oE/2),St(l,l,[u,h]),(s=s.clone()).applyTransform(l)}var c=n(s),d=n(a.getBoundingRect()),f=n(r.getBoundingRect()),p=a.position,g=r.position;g[0]=p[0]=c[0][0];var m=t.labelPosOpt;if(isNaN(m))o(p,d,c,1,v="+"===m?0:1),o(g,f,c,1,1-v);else{var v=m>=0?0:1;o(p,d,c,1,v),g[1]=p[1]+m}a.attr("position",p),r.attr("position",g),a.rotation=r.rotation=t.rotation,i(a),i(r)},_createAxis:function(t,e){var i=e.getData(),n=e.get("axisType"),o=Hl(e,n);o.getTicks=function(){return i.mapArray(["value"],function(t){return t})};var a=i.getDataExtent("value");o.setExtent(a[0],a[1]),o.niceTicks();var r=new eE("value",o,t.axisExtent,n);return r.model=e,r},_createGroup:function(t){var e=this["_"+t]=new tb;return this.group.add(e),e},_renderAxisLine:function(t,e,i,n){var o=i.getExtent();n.get("lineStyle.show")&&e.add(new _M({shape:{x1:o[0],y1:0,x2:o[1],y2:0},style:a({lineCap:"round"},n.getModel("lineStyle").getLineStyle()),silent:!0,z2:1}))},_renderAxisTick:function(t,e,i,n){var o=n.getData(),a=i.scale.getTicks();nE(a,function(t){var a=i.dataToCoord(t),r=o.getItemModel(t),s=r.getModel("itemStyle"),l=r.getModel("emphasis.itemStyle"),u={position:[a,0],onclick:iE(this._changeTimeline,this,t)},h=zx(r,s,e,u);fo(h,l.getItemStyle()),r.get("tooltip")?(h.dataIndex=t,h.dataModel=n):h.dataIndex=h.dataModel=null},this)},_renderAxisLabel:function(t,e,i,n){if(i.getLabelModel().get("show")){var o=n.getData(),a=i.getViewLabels();nE(a,function(n){var a=n.tickValue,r=o.getItemModel(a),s=r.getModel("label"),l=r.getModel("emphasis.label"),u=i.dataToCoord(n.tickValue),h=new rM({position:[u,0],rotation:t.labelRotation-t.rotation,onclick:iE(this._changeTimeline,this,a),silent:!1});mo(h.style,s,{text:n.formattedLabel,textAlign:t.labelAlign,textVerticalAlign:t.labelBaseline}),e.add(h),fo(h,mo({},l))},this)}},_renderControl:function(t,e,i,n){function o(t,i,o,h){if(t){var c=Rx(n,i,u,{position:t,origin:[a/2,0],rotation:h?-r:0,rectHover:!0,style:s,onclick:o});e.add(c),fo(c,l)}}var a=t.controlSize,r=t.rotation,s=n.getModel("controlStyle").getItemStyle(),l=n.getModel("emphasis.controlStyle").getItemStyle(),u=[0,-a/2,a,a],h=n.getPlayState(),c=n.get("inverse",!0);o(t.nextBtnPosition,"controlStyle.nextIcon",iE(this._changeTimeline,this,c?"-":"+")),o(t.prevBtnPosition,"controlStyle.prevIcon",iE(this._changeTimeline,this,c?"+":"-")),o(t.playPosition,"controlStyle."+(h?"stopIcon":"playIcon"),iE(this._handlePlayClick,this,!h),!0)},_renderCurrentPointer:function(t,e,i,n){var o=n.getData(),a=n.getCurrentIndex(),r=o.getItemModel(a).getModel("checkpointStyle"),s=this,l={onCreate:function(t){t.draggable=!0,t.drift=iE(s._handlePointerDrag,s),t.ondragend=iE(s._handlePointerDragend,s),Bx(t,a,i,n,!0)},onUpdate:function(t){Bx(t,a,i,n)}};this._currentPointer=zx(r,r,this._mainGroup,{},this._currentPointer,l)},_handlePlayClick:function(t){this._clearTimer(),this.api.dispatchAction({type:"timelinePlayChange",playState:t,from:this.uid})},_handlePointerDrag:function(t,e,i){this._clearTimer(),this._pointerChangeTimeline([i.offsetX,i.offsetY])},_handlePointerDragend:function(t){this._pointerChangeTimeline([t.offsetX,t.offsetY],!0)},_pointerChangeTimeline:function(t,e){var i=this._toAxisCoord(t)[0],n=Fo(this._axis.getExtent().slice());i>n[1]&&(i=n[1]),ii.getHeight()&&(n.textPosition="top",l=!0);var u=l?-5-o.height:s+8;a+o.width/2>i.getWidth()?(n.textPosition=["100%",u],n.textAlign="right"):a-o.width/2<0&&(n.textPosition=[0,u],n.textAlign="left")}})}},updateView:function(t,e,i,n){d(this._features,function(t){t.updateView&&t.updateView(t.model,e,i,n)})},remove:function(t,e){d(this._features,function(i){i.remove&&i.remove(t,e)}),this.group.removeAll()},dispose:function(t,e){d(this._features,function(i){i.dispose&&i.dispose(t,e)})}});var rE=rT.toolbox.saveAsImage;Gx.defaultOption={show:!0,icon:"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",title:rE.title,type:"png",name:"",excludeComponents:["toolbox"],pixelRatio:1,lang:rE.lang.slice()},Gx.prototype.unusable=!U_.canvasSupported,Gx.prototype.onclick=function(t,e){var i=this.model,n=i.get("name")||t.get("title.0.text")||"echarts",o=document.createElement("a"),a=i.get("type",!0)||"png";o.download=n+"."+a,o.target="_blank";var r=e.getConnectedDataURL({type:a,backgroundColor:i.get("backgroundColor",!0)||t.get("backgroundColor")||"#fff",excludeComponents:i.get("excludeComponents"),pixelRatio:i.get("pixelRatio")});if(o.href=r,"function"!=typeof MouseEvent||U_.browser.ie||U_.browser.edge)if(window.navigator.msSaveOrOpenBlob){for(var s=atob(r.split(",")[1]),l=s.length,u=new Uint8Array(l);l--;)u[l]=s.charCodeAt(l);var h=new Blob([u]);window.navigator.msSaveOrOpenBlob(h,n+"."+a)}else{var c=i.get("lang"),d='';window.open().document.write(d)}else{var f=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!1});o.dispatchEvent(f)}},Ty("saveAsImage",Gx);var sE=rT.toolbox.magicType;Fx.defaultOption={show:!0,type:[],icon:{line:"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",bar:"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",stack:"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z",tiled:"M2.3,2.2h22.8V25H2.3V2.2z M35,2.2h22.8V25H35V2.2zM2.3,35h22.8v22.8H2.3V35z M35,35h22.8v22.8H35V35z"},title:i(sE.title),option:{},seriesIndex:{}};var lE=Fx.prototype;lE.getIcons=function(){var t=this.model,e=t.get("icon"),i={};return d(t.get("type"),function(t){e[t]&&(i[t]=e[t])}),i};var uE={line:function(t,e,i,o){if("bar"===t)return n({id:e,type:"line",data:i.get("data"),stack:i.get("stack"),markPoint:i.get("markPoint"),markLine:i.get("markLine")},o.get("option.line")||{},!0)},bar:function(t,e,i,o){if("line"===t)return n({id:e,type:"bar",data:i.get("data"),stack:i.get("stack"),markPoint:i.get("markPoint"),markLine:i.get("markLine")},o.get("option.bar")||{},!0)},stack:function(t,e,i,o){if("line"===t||"bar"===t)return n({id:e,stack:"__ec_magicType_stack__"},o.get("option.stack")||{},!0)},tiled:function(t,e,i,o){if("line"===t||"bar"===t)return n({id:e,stack:""},o.get("option.tiled")||{},!0)}},hE=[["line","bar"],["stack","tiled"]];lE.onclick=function(t,e,i){var n=this.model,o=n.get("seriesIndex."+i);if(uE[i]){var a={series:[]};d(hE,function(t){l(t,i)>=0&&d(t,function(t){n.setIconStatus(t,"normal")})}),n.setIconStatus(i,"emphasis"),t.eachComponent({mainType:"series",query:null==o?null:{seriesIndex:o}},function(e){var o=e.subType,s=e.id,l=uE[i](o,s,e,n);l&&(r(l,e.option),a.series.push(l));var u=e.coordinateSystem;if(u&&"cartesian2d"===u.type&&("line"===i||"bar"===i)){var h=u.getAxesByScale("ordinal")[0];if(h){var c=h.dim+"Axis",d=t.queryComponents({mainType:c,index:e.get(name+"Index"),id:e.get(name+"Id")})[0].componentIndex;a[c]=a[c]||[];for(var f=0;f<=d;f++)a[c][d]=a[c][d]||{};a[c][d].boundaryGap="bar"===i}}}),e.dispatchAction({type:"changeMagicType",currentType:i,newOption:a})}},Es({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},function(t,e){e.mergeOption(t.newOption)}),Ty("magicType",Fx);var cE=rT.toolbox.dataView,dE=new Array(60).join("-"),fE="\t",pE=new RegExp("["+fE+"]+","g");$x.defaultOption={show:!0,readOnly:!1,optionToContent:null,contentToOption:null,icon:"M17.5,17.3H33 M17.5,17.3H33 M45.4,29.5h-28 M11.5,2v56H51V14.8L38.4,2H11.5z M38.4,2.2v12.7H51 M45.4,41.7h-28",title:i(cE.title),lang:i(cE.lang),backgroundColor:"#fff",textColor:"#000",textareaColor:"#fff",textareaBorderColor:"#333",buttonColor:"#c23531",buttonTextColor:"#fff"},$x.prototype.onclick=function(t,e){function i(){n.removeChild(a),x._dom=null}var n=e.getDom(),o=this.model;this._dom&&n.removeChild(this._dom);var a=document.createElement("div");a.style.cssText="position:absolute;left:5px;top:5px;bottom:5px;right:5px;",a.style.backgroundColor=o.get("backgroundColor")||"#fff";var r=document.createElement("h4"),s=o.get("lang")||[];r.innerHTML=s[0]||o.get("title"),r.style.cssText="margin: 10px 20px;",r.style.color=o.get("textColor");var l=document.createElement("div"),u=document.createElement("textarea");l.style.cssText="display:block;width:100%;overflow:auto;";var h=o.get("optionToContent"),c=o.get("contentToOption"),d=Ux(t);if("function"==typeof h){var f=h(e.getOption());"string"==typeof f?l.innerHTML=f:M(f)&&l.appendChild(f)}else l.appendChild(u),u.readOnly=o.get("readOnly"),u.style.cssText="width:100%;height:100%;font-family:monospace;font-size:14px;line-height:1.6rem;",u.style.color=o.get("textColor"),u.style.borderColor=o.get("textareaBorderColor"),u.style.backgroundColor=o.get("textareaColor"),u.value=d.value;var p=d.meta,g=document.createElement("div");g.style.cssText="position:absolute;bottom:0;left:0;right:0;";var m="float:right;margin-right:20px;border:none;cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px",v=document.createElement("div"),y=document.createElement("div");m+=";background-color:"+o.get("buttonColor"),m+=";color:"+o.get("buttonTextColor");var x=this;ht(v,"click",i),ht(y,"click",function(){var t;try{t="function"==typeof c?c(l,e.getOption()):Kx(u.value,p)}catch(t){throw i(),new Error("Data view format error "+t)}t&&e.dispatchAction({type:"changeDataView",newOption:t}),i()}),v.innerHTML=s[1],y.innerHTML=s[2],y.style.cssText=m,v.style.cssText=m,!o.get("readOnly")&&g.appendChild(y),g.appendChild(v),ht(u,"keydown",function(t){if(9===(t.keyCode||t.which)){var e=this.value,i=this.selectionStart,n=this.selectionEnd;this.value=e.substring(0,i)+fE+e.substring(n),this.selectionStart=this.selectionEnd=i+1,mw(t)}}),a.appendChild(r),a.appendChild(l),a.appendChild(g),l.style.height=n.clientHeight-80+"px",n.appendChild(a),this._dom=a},$x.prototype.remove=function(t,e){this._dom&&e.getDom().removeChild(this._dom)},$x.prototype.dispose=function(t,e){this.remove(t,e)},Ty("dataView",$x),Es({type:"changeDataView",event:"dataViewChanged",update:"prepareAndUpdate"},function(t,e){var i=[];d(t.newOption.series,function(t){var n=e.getSeriesByName(t.name)[0];if(n){var o=n.get("data");i.push({name:t.name,data:Jx(t.data,o)})}else i.push(a({type:"scatter"},t))}),e.mergeOption(r({series:i},t.newOption))});var gE=d,mE="\0_ec_hist_store";iO.extend({type:"dataZoom.select"}),nO.extend({type:"dataZoom.select"});var vE=rT.toolbox.dataZoom,yE=d,xE="\0_ec_\0toolbox-dataZoom_";o_.defaultOption={show:!0,icon:{zoom:"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",back:"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"},title:i(vE.title)};var _E=o_.prototype;_E.render=function(t,e,i,n){this.model=t,this.ecModel=e,this.api=i,s_(t,e,this,n,i),r_(t,e)},_E.onclick=function(t,e,i){wE[i].call(this)},_E.remove=function(t,e){this._brushController.unmount()},_E.dispose=function(t,e){this._brushController.dispose()};var wE={zoom:function(){var t=!this._isZoomActive;this.api.dispatchAction({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:t})},back:function(){this._dispatchZoomAction(t_(this.ecModel))}};_E._onBrush=function(t,e){function i(t,e,i){var r=e.getAxis(t),s=r.model,l=n(t,s,a),u=l.findRepresentativeAxisProxy(s).getMinMaxSpan();null==u.minValueSpan&&null==u.maxValueSpan||(i=QL(0,i.slice(),r.scale.getExtent(),0,u.minValueSpan,u.maxValueSpan)),l&&(o[l.id]={dataZoomId:l.id,startValue:i[0],endValue:i[1]})}function n(t,e,i){var n;return i.eachComponent({mainType:"dataZoom",subType:"select"},function(i){i.getAxisModel(t,e.componentIndex)&&(n=i)}),n}if(e.isEnd&&t.length){var o={},a=this.ecModel;this._brushController.updateCovers([]),new hy(a_(this.model.option),a,{include:["grid"]}).matchOutputRanges(t,a,function(t,e,n){if("cartesian2d"===n.type){var o=t.brushType;"rect"===o?(i("x",n,e[0]),i("y",n,e[1])):i({lineX:"x",lineY:"y"}[o],n,e)}}),Qx(a,o),this._dispatchZoomAction(o)}},_E._dispatchZoomAction=function(t){var e=[];yE(t,function(t,n){e.push(i(t))}),e.length&&this.api.dispatchAction({type:"dataZoom",from:this.uid,batch:e})},Ty("dataZoom",o_),Ns(function(t){function e(t,e){if(e){var o=t+"Index",a=e[o];null==a||"all"===a||y(a)||(a=!1===a||"none"===a?[]:[a]),i(t,function(e,i){if(null==a||"all"===a||-1!==l(a,i)){var r={type:"select",$fromToolbox:!0,id:xE+t+i};r[o]=i,n.push(r)}})}}function i(e,i){var n=t[e];y(n)||(n=n?[n]:[]),yE(n,i)}if(t){var n=t.dataZoom||(t.dataZoom=[]);y(n)||(t.dataZoom=n=[n]);var o=t.toolbox;if(o&&(y(o)&&(o=o[0]),o&&o.feature)){var a=o.feature.dataZoom;e("xAxis",a),e("yAxis",a)}}});var bE=rT.toolbox.restore;l_.defaultOption={show:!0,icon:"M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5",title:bE.title},l_.prototype.onclick=function(t,e,i){e_(t),e.dispatchAction({type:"restore",from:this.uid})},Ty("restore",l_),Es({type:"restore",event:"restore",update:"prepareAndUpdate"},function(t,e){e.resetOption("recreate")});var SE,ME="urn:schemas-microsoft-com:vml",IE="undefined"==typeof window?null:window,TE=!1,AE=IE&&IE.document;if(AE&&!U_.canvasSupported)try{!AE.namespaces.zrvml&&AE.namespaces.add("zrvml",ME),SE=function(t){return AE.createElement("')}}catch(t){SE=function(t){return AE.createElement("<"+t+' xmlns="'+ME+'" class="zrvml">')}}var DE=ES.CMD,CE=Math.round,LE=Math.sqrt,kE=Math.abs,PE=Math.cos,NE=Math.sin,OE=Math.max;if(!U_.canvasSupported){var EE=21600,RE=EE/2,zE=function(t){t.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px;",t.coordsize=EE+","+EE,t.coordorigin="0,0"},BE=function(t){return String(t).replace(/&/g,"&").replace(/"/g,""")},VE=function(t,e,i){return"rgb("+[t,e,i].join(",")+")"},GE=function(t,e){e&&t&&e.parentNode!==t&&t.appendChild(e)},FE=function(t,e){e&&t&&e.parentNode===t&&t.removeChild(e)},WE=function(t,e,i){return 1e5*(parseFloat(t)||0)+1e3*(parseFloat(e)||0)+i},HE=function(t,e){return"string"==typeof t?t.lastIndexOf("%")>=0?parseFloat(t)/100*e:parseFloat(t):t},ZE=function(t,e,i){var n=Gt(e);i=+i,isNaN(i)&&(i=1),n&&(t.color=VE(n[0],n[1],n[2]),t.opacity=i*n[3])},UE=function(t){var e=Gt(t);return[VE(e[0],e[1],e[2]),e[3]]},XE=function(t,e,i){var n=e.fill;if(null!=n)if(n instanceof IM){var o,a=0,r=[0,0],s=0,l=1,u=i.getBoundingRect(),h=u.width,c=u.height;if("linear"===n.type){o="gradient";var d=i.transform,f=[n.x*h,n.y*c],p=[n.x2*h,n.y2*c];d&&(Q(f,f,d),Q(p,p,d));var g=p[0]-f[0],m=p[1]-f[1];(a=180*Math.atan2(g,m)/Math.PI)<0&&(a+=360),a<1e-6&&(a=0)}else{o="gradientradial";var f=[n.x*h,n.y*c],d=i.transform,v=i.scale,y=h,x=c;r=[(f[0]-u.x)/y,(f[1]-u.y)/x],d&&Q(f,f,d),y/=v[0]*EE,x/=v[1]*EE;var _=OE(y,x);s=0/_,l=2*n.r/_-s}var w=n.colorStops.slice();w.sort(function(t,e){return t.offset-e.offset});for(var b=w.length,S=[],M=[],I=0;I=2){var D=S[0][0],C=S[1][0],L=S[0][1]*e.opacity,k=S[1][1]*e.opacity;t.type=o,t.method="none",t.focus="100%",t.angle=a,t.color=D,t.color2=C,t.colors=M.join(","),t.opacity=k,t.opacity2=L}"radial"===o&&(t.focusposition=r.join(","))}else ZE(t,n,e.opacity)},jE=function(t,e){null!=e.lineDash&&(t.dashstyle=e.lineDash.join(" ")),null==e.stroke||e.stroke instanceof IM||ZE(t,e.stroke,e.opacity)},YE=function(t,e,i,n){var o="fill"===e,a=t.getElementsByTagName(e)[0];null!=i[e]&&"none"!==i[e]&&(o||!o&&i.lineWidth)?(t[o?"filled":"stroked"]="true",i[e]instanceof IM&&FE(t,a),a||(a=u_(e)),o?XE(a,i,n):jE(a,i),GE(t,a)):(t[o?"filled":"stroked"]="false",FE(t,a))},qE=[[],[],[]],KE=function(t,e){var i,n,o,a,r,s,l=DE.M,u=DE.C,h=DE.L,c=DE.A,d=DE.Q,f=[],p=t.data,g=t.len();for(a=0;a.01?N&&(O+=.0125):Math.abs(E-D)<1e-4?N&&OA?x-=.0125:x+=.0125:N&&ED?y+=.0125:y-=.0125),f.push(R,CE(((A-C)*M+b)*EE-RE),",",CE(((D-L)*I+S)*EE-RE),",",CE(((A+C)*M+b)*EE-RE),",",CE(((D+L)*I+S)*EE-RE),",",CE((O*M+b)*EE-RE),",",CE((E*I+S)*EE-RE),",",CE((y*M+b)*EE-RE),",",CE((x*I+S)*EE-RE)),r=y,s=x;break;case DE.R:var z=qE[0],B=qE[1];z[0]=p[a++],z[1]=p[a++],B[0]=z[0]+p[a++],B[1]=z[1]+p[a++],e&&(Q(z,z,e),Q(B,B,e)),z[0]=CE(z[0]*EE-RE),B[0]=CE(B[0]*EE-RE),z[1]=CE(z[1]*EE-RE),B[1]=CE(B[1]*EE-RE),f.push(" m ",z[0],",",z[1]," l ",B[0],",",z[1]," l ",B[0],",",B[1]," l ",z[0],",",B[1]);break;case DE.Z:f.push(" x ")}if(i>0){f.push(n);for(var V=0;V100&&(tR=0,QE={});var i,n=eR.style;try{n.font=t,i=n.fontFamily.split(",")[0]}catch(t){}e={style:n.fontStyle||"normal",variant:n.fontVariant||"normal",weight:n.fontWeight||"normal",size:0|parseFloat(n.fontSize||12),family:i||"Microsoft YaHei"},QE[t]=e,tR++}return e};!function(t,e){bb[t]=e}("measureText",function(t,e){var i=AE;JE||((JE=i.createElement("div")).style.cssText="position:absolute;top:-20000px;left:0;padding:0;margin:0;border:none;white-space:pre;",AE.body.appendChild(JE));try{JE.style.font=e}catch(t){}return JE.innerHTML="",JE.appendChild(i.createTextNode(t)),{width:JE.offsetWidth}});for(var nR=new de,oR=[Db,di,fi,Pn,rM],aR=0;aR=o&&u+1>=a){for(var h=[],c=0;c=o&&c+1>=a)return T_(0,s.components);l[i]=s}else l[i]=void 0}r++}();if(d)return d}},pushComponent:function(t,e,i){var n=t[t.length-1];n&&n.added===e&&n.removed===i?t[t.length-1]={count:n.count+1,added:e,removed:i}:t.push({count:1,added:e,removed:i})},extractCommon:function(t,e,i,n){for(var o=e.length,a=i.length,r=t.newPos,s=r-n,l=0;r+1=0;--n)if(e[n]===t)return!0;return!1}),i):null:i[0]},D_.prototype.update=function(t,e){if(t){var i=this.getDefs(!1);if(t[this._domName]&&i.contains(t[this._domName]))"function"==typeof e&&e(t);else{var n=this.add(t);n&&(t[this._domName]=n)}}},D_.prototype.addDom=function(t){this.getDefs(!0).appendChild(t)},D_.prototype.removeDom=function(t){var e=this.getDefs(!1);e&&t[this._domName]&&(e.removeChild(t[this._domName]),t[this._domName]=null)},D_.prototype.getDoms=function(){var t=this.getDefs(!1);if(!t)return[];var e=[];return d(this._tagNames,function(i){var n=t.getElementsByTagName(i);e=e.concat([].slice.call(n))}),e},D_.prototype.markAllUnused=function(){var t=this;d(this.getDoms(),function(e){e[t._markLabel]="0"})},D_.prototype.markUsed=function(t){t&&(t[this._markLabel]="1")},D_.prototype.removeUnused=function(){var t=this.getDefs(!1);if(t){var e=this;d(this.getDoms(),function(i){"1"!==i[e._markLabel]&&t.removeChild(i)})}},D_.prototype.getSvgProxy=function(t){return t instanceof Pn?yR:t instanceof fi?xR:t instanceof rM?_R:yR},D_.prototype.getTextSvgElement=function(t){return t.__textSvgEl},D_.prototype.getSvgElement=function(t){return t.__svgEl},u(C_,D_),C_.prototype.addWithoutUpdate=function(t,e){if(e&&e.style){var i=this;d(["fill","stroke"],function(n){if(e.style[n]&&("linear"===e.style[n].type||"radial"===e.style[n].type)){var o,a=e.style[n],r=i.getDefs(!0);a._dom?(o=a._dom,r.contains(a._dom)||i.addDom(o)):o=i.add(a),i.markUsed(e);var s=o.getAttribute("id");t.setAttribute(n,"url(#"+s+")")}})}},C_.prototype.add=function(t){var e;if("linear"===t.type)e=this.createElement("linearGradient");else{if("radial"!==t.type)return Yw("Illegal gradient type."),null;e=this.createElement("radialGradient")}return t.id=t.id||this.nextId++,e.setAttribute("id","zr"+this._zrId+"-gradient-"+t.id),this.updateDom(t,e),this.addDom(e),e},C_.prototype.update=function(t){var e=this;D_.prototype.update.call(this,t,function(){var i=t.type,n=t._dom.tagName;"linear"===i&&"linearGradient"===n||"radial"===i&&"radialGradient"===n?e.updateDom(t,t._dom):(e.removeDom(t),e.add(t))})},C_.prototype.updateDom=function(t,e){if("linear"===t.type)e.setAttribute("x1",t.x),e.setAttribute("y1",t.y),e.setAttribute("x2",t.x2),e.setAttribute("y2",t.y2);else{if("radial"!==t.type)return void Yw("Illegal gradient type.");e.setAttribute("cx",t.x),e.setAttribute("cy",t.y),e.setAttribute("r",t.r)}t.global?e.setAttribute("gradientUnits","userSpaceOnUse"):e.setAttribute("gradientUnits","objectBoundingBox"),e.innerHTML="";for(var i=t.colorStops,n=0,o=i.length;n0){var n,o,a=this.getDefs(!0),r=e[0],s=i?"_textDom":"_dom";r[s]?(o=r[s].getAttribute("id"),n=r[s],a.contains(n)||a.appendChild(n)):(o="zr"+this._zrId+"-clip-"+this.nextId,++this.nextId,(n=this.createElement("clipPath")).setAttribute("id",o),a.appendChild(n),r[s]=n);var l=this.getSvgProxy(r);if(r.transform&&r.parent.invTransform&&!i){var u=Array.prototype.slice.call(r.transform);bt(r.transform,r.parent.invTransform,r.transform),l.brush(r),r.transform=u}else l.brush(r);var h=this.getSvgElement(r);n.innerHTML="",n.appendChild(h.cloneNode()),t.setAttribute("clip-path","url(#"+o+")"),e.length>1&&this.updateDom(n,e.slice(1),i)}else t&&t.setAttribute("clip-path","none")},L_.prototype.markUsed=function(t){var e=this;t.__clipPaths&&t.__clipPaths.length>0&&d(t.__clipPaths,function(t){t._dom&&D_.prototype.markUsed.call(e,t._dom),t._textDom&&D_.prototype.markUsed.call(e,t._textDom)})},u(k_,D_),k_.prototype.addWithoutUpdate=function(t,e){if(e&&P_(e.style)){var i,n=e.style;n._shadowDom?(i=n._shadowDom,this.getDefs(!0).contains(n._shadowDom)||this.addDom(i)):i=this.add(e),this.markUsed(e);var o=i.getAttribute("id");t.style.filter="url(#"+o+")"}},k_.prototype.add=function(t){var e=this.createElement("filter"),i=t.style;return i._shadowDomId=i._shadowDomId||this.nextId++,e.setAttribute("id","zr"+this._zrId+"-shadow-"+i._shadowDomId),this.updateDom(t,e),this.addDom(e),e},k_.prototype.update=function(t,e){var i=e.style;if(P_(i)){var n=this;D_.prototype.update.call(this,e,function(t){n.updateDom(e,t._shadowDom)})}else this.remove(t,i)},k_.prototype.remove=function(t,e){null!=e._shadowDomId&&(this.removeDom(e),t.style.filter="")},k_.prototype.updateDom=function(t,e){var i=e.getElementsByTagName("feDropShadow");i=0===i.length?this.createElement("feDropShadow"):i[0];var n,o,a,r,s=t.style,l=t.scale?t.scale[0]||1:1,u=t.scale?t.scale[1]||1:1;if(s.shadowBlur||s.shadowOffsetX||s.shadowOffsetY)n=s.shadowOffsetX||0,o=s.shadowOffsetY||0,a=s.shadowBlur,r=s.shadowColor;else{if(!s.textShadowBlur)return void this.removeDom(e,s);n=s.textShadowOffsetX||0,o=s.textShadowOffsetY||0,a=s.textShadowBlur,r=s.textShadowColor}i.setAttribute("dx",n/l),i.setAttribute("dy",o/u),i.setAttribute("flood-color",r);var h=a/2/l+" "+a/2/u;i.setAttribute("stdDeviation",h),e.setAttribute("x","-100%"),e.setAttribute("y","-100%"),e.setAttribute("width",Math.ceil(a/2*200)+"%"),e.setAttribute("height",Math.ceil(a/2*200)+"%"),e.appendChild(i),s._shadowDom=e},k_.prototype.markUsed=function(t){var e=t.style;e&&e._shadowDom&&D_.prototype.markUsed.call(this,e._shadowDom)};var IR=function(t,e,i,n){this.root=t,this.storage=e,this._opts=i=a({},i||{});var o=p_("svg");o.setAttribute("xmlns","http://www.w3.org/2000/svg"),o.setAttribute("version","1.1"),o.setAttribute("baseProfile","full"),o.style.cssText="user-select:none;position:absolute;left:0;top:0;",this.gradientManager=new C_(n,o),this.clipPathManager=new L_(n,o),this.shadowManager=new k_(n,o);var r=document.createElement("div");r.style.cssText="overflow:hidden;position:relative",this._svgRoot=o,this._viewport=r,t.appendChild(r),r.appendChild(o),this.resize(i.width,i.height),this._visibleList=[]};IR.prototype={constructor:IR,getType:function(){return"svg"},getViewportRoot:function(){return this._viewport},getViewportRootOffset:function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},refresh:function(){var t=this.storage.getDisplayList(!0);this._paintList(t)},setBackgroundColor:function(t){this._viewport.style.background=t},_paintList:function(t){this.gradientManager.markAllUnused(),this.clipPathManager.markAllUnused(),this.shadowManager.markAllUnused();var e,i=this._svgRoot,n=this._visibleList,o=t.length,a=[];for(e=0;e=0;--n)if(e[n]===t)return!0;return!1}),i):null:i[0]},resize:function(t,e){var i=this._viewport;i.style.display="none";var n=this._opts;if(null!=t&&(n.width=t),null!=e&&(n.height=e),t=this._getSize(0),e=this._getSize(1),i.style.display="",this._width!==t||this._height!==e){this._width=t,this._height=e;var o=i.style;o.width=t+"px",o.height=e+"px";var a=this._svgRoot;a.setAttribute("width",t),a.setAttribute("height",e)}},getWidth:function(){return this._width},getHeight:function(){return this._height},_getSize:function(t){var e=this._opts,i=["width","height"][t],n=["clientWidth","clientHeight"][t],o=["paddingLeft","paddingTop"][t],a=["paddingRight","paddingBottom"][t];if(null!=e[i]&&"auto"!==e[i])return parseFloat(e[i]);var r=this.root,s=document.defaultView.getComputedStyle(r);return(r[n]||N_(s[i])||N_(r.style[i]))-(N_(s[o])||0)-(N_(s[a])||0)|0},dispose:function(){this.root.innerHTML="",this._svgRoot=this._viewport=this.storage=null},clear:function(){this._viewport&&this.root.removeChild(this._viewport)},pathToDataUrl:function(){return this.refresh(),"data:image/svg+xml;charset=UTF-8,"+this._svgRoot.outerHTML}},d(["getLayer","insertLayer","eachLayer","eachBuiltinLayer","eachOtherLayer","getLayers","modLayer","delLayer","clearLayer","toDataURL","pathToImage"],function(t){IR.prototype[t]=F_(t)}),Ti("svg",IR),t.version="4.2.1",t.dependencies=ET,t.PRIORITY=VT,t.init=function(t,e,i){var n=ks(t);if(n)return n;var o=new us(t,e,i);return o.id="ec_"+iA++,tA[o.id]=o,Fi(t,oA,o.id),Cs(o),o},t.connect=function(t){if(y(t)){var e=t;t=null,kT(e,function(e){null!=e.group&&(t=e.group)}),t=t||"g_"+nA++,kT(e,function(e){e.group=t})}return eA[t]=!0,t},t.disConnect=Ls,t.disconnect=aA,t.dispose=function(t){"string"==typeof t?t=tA[t]:t instanceof us||(t=ks(t)),t instanceof us&&!t.isDisposed()&&t.dispose()},t.getInstanceByDom=ks,t.getInstanceById=function(t){return tA[t]},t.registerTheme=Ps,t.registerPreprocessor=Ns,t.registerProcessor=Os,t.registerPostUpdate=function(t){KT.push(t)},t.registerAction=Es,t.registerCoordinateSystem=Rs,t.getCoordinateSystemDimensions=function(t){var e=Fa.get(t);if(e)return e.getDimensionsInfo?e.getDimensionsInfo():e.dimensions.slice()},t.registerLayout=zs,t.registerVisual=Bs,t.registerLoading=Gs,t.extendComponentModel=Fs,t.extendComponentView=Ws,t.extendSeriesModel=Hs,t.extendChartView=Zs,t.setCanvasCreator=function(t){e("createCanvas",t)},t.registerMap=function(t,e,i){DT.registerMap(t,e,i)},t.getMap=function(t){var e=DT.retrieveMap(t);return e&&e[0]&&{geoJson:e[0].geoJSON,specialAreas:e[0].specialAreas}},t.dataTool=rA,t.zrender=Hb,t.number=YM,t.format=eI,t.throttle=Pr,t.helper=tD,t.matrix=Sw,t.vector=cw,t.color=Ww,t.parseGeoJSON=iD,t.parseGeoJson=rD,t.util=sD,t.graphic=lD,t.List=vA,t.Model=No,t.Axis=aD,t.env=U_}); \ No newline at end of file diff --git a/uni_modules/qiun-data-charts/static/h5/echarts.min.js b/uni_modules/qiun-data-charts/static/h5/echarts.min.js new file mode 100644 index 0000000..5396a03 --- /dev/null +++ b/uni_modules/qiun-data-charts/static/h5/echarts.min.js @@ -0,0 +1,23 @@ + +/* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +* 版本为4.2.1,修改一处源码:this.el.hide() 改为 this.el?this.el.hide():true +*/ + + +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(t.echarts={})}(this,function(t){"use strict";function e(t,e){"createCanvas"===t&&(nw=null),ew[t]=e}function i(t){if(null==t||"object"!=typeof t)return t;var e=t,n=Y_.call(t);if("[object Array]"===n){if(!O(t)){e=[];for(var o=0,a=t.length;o=0){var o="touchend"!==n?e.targetTouches[0]:e.changedTouches[0];o&&st(t,o,e,i)}else st(t,e,e,i),e.zrDelta=e.wheelDelta?e.wheelDelta/120:-(e.detail||0)/3;var a=e.button;return null==e.which&&void 0!==a&&gw.test(e.type)&&(e.which=1&a?1:2&a?3:4&a?2:0),e}function ht(t,e,i){pw?t.addEventListener(e,i):t.attachEvent("on"+e,i)}function ct(t,e,i){pw?t.removeEventListener(e,i):t.detachEvent("on"+e,i)}function dt(t){return 2===t.which||3===t.which}function ft(t){var e=t[1][0]-t[0][0],i=t[1][1]-t[0][1];return Math.sqrt(e*e+i*i)}function pt(t){return[(t[0][0]+t[1][0])/2,(t[0][1]+t[1][1])/2]}function gt(t,e,i){return{type:t,event:i,target:e.target,topTarget:e.topTarget,cancelBubble:!1,offsetX:i.zrX,offsetY:i.zrY,gestureEvent:i.gestureEvent,pinchX:i.pinchX,pinchY:i.pinchY,pinchScale:i.pinchScale,wheelDelta:i.zrDelta,zrByTouch:i.zrByTouch,which:i.which,stop:mt}}function mt(t){mw(this.event)}function vt(){}function yt(t,e,i){if(t[t.rectHover?"rectContain":"contain"](e,i)){for(var n,o=t;o;){if(o.clipPath&&!o.clipPath.contain(e,i))return!1;o.silent&&(n=!0),o=o.parent}return!n||xw}return!1}function xt(){var t=new bw(6);return _t(t),t}function _t(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t}function wt(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t}function bt(t,e,i){var n=e[0]*i[0]+e[2]*i[1],o=e[1]*i[0]+e[3]*i[1],a=e[0]*i[2]+e[2]*i[3],r=e[1]*i[2]+e[3]*i[3],s=e[0]*i[4]+e[2]*i[5]+e[4],l=e[1]*i[4]+e[3]*i[5]+e[5];return t[0]=n,t[1]=o,t[2]=a,t[3]=r,t[4]=s,t[5]=l,t}function St(t,e,i){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4]+i[0],t[5]=e[5]+i[1],t}function Mt(t,e,i){var n=e[0],o=e[2],a=e[4],r=e[1],s=e[3],l=e[5],u=Math.sin(i),h=Math.cos(i);return t[0]=n*h+r*u,t[1]=-n*u+r*h,t[2]=o*h+s*u,t[3]=-o*u+h*s,t[4]=h*a+u*l,t[5]=h*l-u*a,t}function It(t,e,i){var n=i[0],o=i[1];return t[0]=e[0]*n,t[1]=e[1]*o,t[2]=e[2]*n,t[3]=e[3]*o,t[4]=e[4]*n,t[5]=e[5]*o,t}function Tt(t,e){var i=e[0],n=e[2],o=e[4],a=e[1],r=e[3],s=e[5],l=i*r-a*n;return l?(l=1/l,t[0]=r*l,t[1]=-a*l,t[2]=-n*l,t[3]=i*l,t[4]=(n*s-r*o)*l,t[5]=(a*o-i*s)*l,t):null}function At(t){var e=xt();return wt(e,t),e}function Dt(t){return t>Iw||t<-Iw}function Ct(t){this._target=t.target,this._life=t.life||1e3,this._delay=t.delay||0,this._initialized=!1,this.loop=null!=t.loop&&t.loop,this.gap=t.gap||0,this.easing=t.easing||"Linear",this.onframe=t.onframe,this.ondestroy=t.ondestroy,this.onrestart=t.onrestart,this._pausedTime=0,this._paused=!1}function Lt(t){return(t=Math.round(t))<0?0:t>255?255:t}function kt(t){return(t=Math.round(t))<0?0:t>360?360:t}function Pt(t){return t<0?0:t>1?1:t}function Nt(t){return Lt(t.length&&"%"===t.charAt(t.length-1)?parseFloat(t)/100*255:parseInt(t,10))}function Ot(t){return Pt(t.length&&"%"===t.charAt(t.length-1)?parseFloat(t)/100:parseFloat(t))}function Et(t,e,i){return i<0?i+=1:i>1&&(i-=1),6*i<1?t+(e-t)*i*6:2*i<1?e:3*i<2?t+(e-t)*(2/3-i)*6:t}function Rt(t,e,i){return t+(e-t)*i}function zt(t,e,i,n,o){return t[0]=e,t[1]=i,t[2]=n,t[3]=o,t}function Bt(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function Vt(t,e){Vw&&Bt(Vw,e),Vw=Bw.put(t,Vw||e.slice())}function Gt(t,e){if(t){e=e||[];var i=Bw.get(t);if(i)return Bt(e,i);var n=(t+="").replace(/ /g,"").toLowerCase();if(n in zw)return Bt(e,zw[n]),Vt(t,e),e;if("#"!==n.charAt(0)){var o=n.indexOf("("),a=n.indexOf(")");if(-1!==o&&a+1===n.length){var r=n.substr(0,o),s=n.substr(o+1,a-(o+1)).split(","),l=1;switch(r){case"rgba":if(4!==s.length)return void zt(e,0,0,0,1);l=Ot(s.pop());case"rgb":return 3!==s.length?void zt(e,0,0,0,1):(zt(e,Nt(s[0]),Nt(s[1]),Nt(s[2]),l),Vt(t,e),e);case"hsla":return 4!==s.length?void zt(e,0,0,0,1):(s[3]=Ot(s[3]),Ft(s,e),Vt(t,e),e);case"hsl":return 3!==s.length?void zt(e,0,0,0,1):(Ft(s,e),Vt(t,e),e);default:return}}zt(e,0,0,0,1)}else{if(4===n.length)return(u=parseInt(n.substr(1),16))>=0&&u<=4095?(zt(e,(3840&u)>>4|(3840&u)>>8,240&u|(240&u)>>4,15&u|(15&u)<<4,1),Vt(t,e),e):void zt(e,0,0,0,1);if(7===n.length){var u=parseInt(n.substr(1),16);return u>=0&&u<=16777215?(zt(e,(16711680&u)>>16,(65280&u)>>8,255&u,1),Vt(t,e),e):void zt(e,0,0,0,1)}}}}function Ft(t,e){var i=(parseFloat(t[0])%360+360)%360/360,n=Ot(t[1]),o=Ot(t[2]),a=o<=.5?o*(n+1):o+n-o*n,r=2*o-a;return e=e||[],zt(e,Lt(255*Et(r,a,i+1/3)),Lt(255*Et(r,a,i)),Lt(255*Et(r,a,i-1/3)),1),4===t.length&&(e[3]=t[3]),e}function Wt(t){if(t){var e,i,n=t[0]/255,o=t[1]/255,a=t[2]/255,r=Math.min(n,o,a),s=Math.max(n,o,a),l=s-r,u=(s+r)/2;if(0===l)e=0,i=0;else{i=u<.5?l/(s+r):l/(2-s-r);var h=((s-n)/6+l/2)/l,c=((s-o)/6+l/2)/l,d=((s-a)/6+l/2)/l;n===s?e=d-c:o===s?e=1/3+h-d:a===s&&(e=2/3+c-h),e<0&&(e+=1),e>1&&(e-=1)}var f=[360*e,i,u];return null!=t[3]&&f.push(t[3]),f}}function Ht(t,e){var i=Gt(t);if(i){for(var n=0;n<3;n++)i[n]=e<0?i[n]*(1-e)|0:(255-i[n])*e+i[n]|0,i[n]>255?i[n]=255:t[n]<0&&(i[n]=0);return qt(i,4===i.length?"rgba":"rgb")}}function Zt(t){var e=Gt(t);if(e)return((1<<24)+(e[0]<<16)+(e[1]<<8)+ +e[2]).toString(16).slice(1)}function Ut(t,e,i){if(e&&e.length&&t>=0&&t<=1){i=i||[];var n=t*(e.length-1),o=Math.floor(n),a=Math.ceil(n),r=e[o],s=e[a],l=n-o;return i[0]=Lt(Rt(r[0],s[0],l)),i[1]=Lt(Rt(r[1],s[1],l)),i[2]=Lt(Rt(r[2],s[2],l)),i[3]=Pt(Rt(r[3],s[3],l)),i}}function Xt(t,e,i){if(e&&e.length&&t>=0&&t<=1){var n=t*(e.length-1),o=Math.floor(n),a=Math.ceil(n),r=Gt(e[o]),s=Gt(e[a]),l=n-o,u=qt([Lt(Rt(r[0],s[0],l)),Lt(Rt(r[1],s[1],l)),Lt(Rt(r[2],s[2],l)),Pt(Rt(r[3],s[3],l))],"rgba");return i?{color:u,leftIndex:o,rightIndex:a,value:n}:u}}function jt(t,e,i,n){if(t=Gt(t))return t=Wt(t),null!=e&&(t[0]=kt(e)),null!=i&&(t[1]=Ot(i)),null!=n&&(t[2]=Ot(n)),qt(Ft(t),"rgba")}function Yt(t,e){if((t=Gt(t))&&null!=e)return t[3]=Pt(e),qt(t,"rgba")}function qt(t,e){if(t&&t.length){var i=t[0]+","+t[1]+","+t[2];return"rgba"!==e&&"hsva"!==e&&"hsla"!==e||(i+=","+t[3]),e+"("+i+")"}}function Kt(t,e){return t[e]}function $t(t,e,i){t[e]=i}function Jt(t,e,i){return(e-t)*i+t}function Qt(t,e,i){return i>.5?e:t}function te(t,e,i,n,o){var a=t.length;if(1===o)for(s=0;so)t.length=o;else for(r=n;r=0&&!(m[i]<=e);i--);i=Math.min(i,u-2)}else{for(i=L;ie);i++);i=Math.min(i-1,u-2)}L=i,k=e;var n=m[i+1]-m[i];if(0!==n)if(I=(e-m[i])/n,l)if(A=v[i],T=v[0===i?i:i-1],D=v[i>u-2?u-1:i+1],C=v[i>u-3?u-1:i+2],d)ne(T,A,D,C,I,I*I,I*I*I,r(t,o),g);else{if(f)a=ne(T,A,D,C,I,I*I,I*I*I,P,1),a=re(P);else{if(p)return Qt(A,D,I);a=oe(T,A,D,C,I,I*I,I*I*I)}s(t,o,a)}else if(d)te(v[i],v[i+1],I,r(t,o),g);else{var a;if(f)te(v[i],v[i+1],I,P,1),a=re(P);else{if(p)return Qt(v[i],v[i+1],I);a=Jt(v[i],v[i+1],I)}s(t,o,a)}},ondestroy:i});return e&&"spline"!==e&&(N.easing=e),N}}}function ue(t,e,i,n,o,a,r,s){_(n)?(a=o,o=n,n=0):x(o)?(a=o,o="linear",n=0):x(n)?(a=n,n=0):x(i)?(a=i,i=500):i||(i=500),t.stopAnimation(),he(t,"",t,e,i,n,s);var l=t.animators.slice(),u=l.length;u||a&&a();for(var h=0;h0&&t.animate(e,!1).when(null==o?500:o,s).delay(a||0)}function ce(t,e,i,n){if(e){var o={};o[e]={},o[e][i]=n,t.attr(o)}else t.attr(i,n)}function de(t,e,i,n){i<0&&(t+=i,i=-i),n<0&&(e+=n,n=-n),this.x=t,this.y=e,this.width=i,this.height=n}function fe(t){for(var e=0;t>=eb;)e|=1&t,t>>=1;return t+e}function pe(t,e,i,n){var o=e+1;if(o===i)return 1;if(n(t[o++],t[e])<0){for(;o=0;)o++;return o-e}function ge(t,e,i){for(i--;e>>1])<0?l=a:s=a+1;var u=n-s;switch(u){case 3:t[s+3]=t[s+2];case 2:t[s+2]=t[s+1];case 1:t[s+1]=t[s];break;default:for(;u>0;)t[s+u]=t[s+u-1],u--}t[s]=r}}function ve(t,e,i,n,o,a){var r=0,s=0,l=1;if(a(t,e[i+o])>0){for(s=n-o;l0;)r=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),r+=o,l+=o}else{for(s=o+1;ls&&(l=s);var u=r;r=o-l,l=o-u}for(r++;r>>1);a(t,e[i+h])>0?r=h+1:l=h}return l}function ye(t,e,i,n,o,a){var r=0,s=0,l=1;if(a(t,e[i+o])<0){for(s=o+1;ls&&(l=s);var u=r;r=o-l,l=o-u}else{for(s=n-o;l=0;)r=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),r+=o,l+=o}for(r++;r>>1);a(t,e[i+h])<0?l=h:r=h+1}return l}function xe(t,e){function i(i){var s=a[i],u=r[i],h=a[i+1],c=r[i+1];r[i]=u+c,i===l-3&&(a[i+1]=a[i+2],r[i+1]=r[i+2]),l--;var d=ye(t[h],t,s,u,0,e);s+=d,0!==(u-=d)&&0!==(c=ve(t[s+u-1],t,h,c,c-1,e))&&(u<=c?n(s,u,h,c):o(s,u,h,c))}function n(i,n,o,a){var r=0;for(r=0;r=ib||f>=ib);if(p)break;g<0&&(g=0),g+=2}if((s=g)<1&&(s=1),1===n){for(r=0;r=0;r--)t[f+r]=t[d+r];if(0===n){v=!0;break}}if(t[c--]=u[h--],1==--a){v=!0;break}if(0!=(m=a-ve(t[l],u,0,a,a-1,e))){for(a-=m,f=(c-=m)+1,d=(h-=m)+1,r=0;r=ib||m>=ib);if(v)break;p<0&&(p=0),p+=2}if((s=p)<1&&(s=1),1===a){for(f=(c-=n)+1,d=(l-=n)+1,r=n-1;r>=0;r--)t[f+r]=t[d+r];t[c]=u[h]}else{if(0===a)throw new Error;for(d=c-(a-1),r=0;r=0;r--)t[f+r]=t[d+r];t[c]=u[h]}else for(d=c-(a-1),r=0;r1;){var t=l-2;if(t>=1&&r[t-1]<=r[t]+r[t+1]||t>=2&&r[t-2]<=r[t]+r[t-1])r[t-1]r[t+1])break;i(t)}},this.forceMergeRuns=function(){for(;l>1;){var t=l-2;t>0&&r[t-1]s&&(l=s),me(t,i,i+l,i+a,e),a=l}r.pushRun(i,a),r.mergeRuns(),o-=a,i+=a}while(0!==o);r.forceMergeRuns()}}function we(t,e){return t.zlevel===e.zlevel?t.z===e.z?t.z2-e.z2:t.z-e.z:t.zlevel-e.zlevel}function be(t,e,i){var n=null==e.x?0:e.x,o=null==e.x2?1:e.x2,a=null==e.y?0:e.y,r=null==e.y2?0:e.y2;return e.global||(n=n*i.width+i.x,o=o*i.width+i.x,a=a*i.height+i.y,r=r*i.height+i.y),n=isNaN(n)?0:n,o=isNaN(o)?1:o,a=isNaN(a)?0:a,r=isNaN(r)?0:r,t.createLinearGradient(n,a,o,r)}function Se(t,e,i){var n=i.width,o=i.height,a=Math.min(n,o),r=null==e.x?.5:e.x,s=null==e.y?.5:e.y,l=null==e.r?.5:e.r;return e.global||(r=r*n+i.x,s=s*o+i.y,l*=a),t.createRadialGradient(r,s,0,r,s,l)}function Me(){return!1}function Ie(t,e,i){var n=iw(),o=e.getWidth(),a=e.getHeight(),r=n.style;return r&&(r.position="absolute",r.left=0,r.top=0,r.width=o+"px",r.height=a+"px",n.setAttribute("data-zr-dom-id",t)),n.width=o*i,n.height=a*i,n}function Te(t){if("string"==typeof t){var e=mb.get(t);return e&&e.image}return t}function Ae(t,e,i,n,o){if(t){if("string"==typeof t){if(e&&e.__zrImageSrc===t||!i)return e;var a=mb.get(t),r={hostEl:i,cb:n,cbPayload:o};return a?!Ce(e=a.image)&&a.pending.push(r):((e=new Image).onload=e.onerror=De,mb.put(t,e.__cachedImgObj={image:e,pending:[r]}),e.src=e.__zrImageSrc=t),e}return t}return e}function De(){var t=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var e=0;exb&&(yb=0,vb={}),yb++,vb[i]=o,o}function ke(t,e,i,n,o,a,r,s){return r?Ne(t,e,i,n,o,a,r,s):Pe(t,e,i,n,o,a,s)}function Pe(t,e,i,n,o,a,r){var s=He(t,e,o,a,r),l=Le(t,e);o&&(l+=o[1]+o[3]);var u=s.outerHeight,h=new de(Oe(0,l,i),Ee(0,u,n),l,u);return h.lineHeight=s.lineHeight,h}function Ne(t,e,i,n,o,a,r,s){var l=Ze(t,{rich:r,truncate:s,font:e,textAlign:i,textPadding:o,textLineHeight:a}),u=l.outerWidth,h=l.outerHeight;return new de(Oe(0,u,i),Ee(0,h,n),u,h)}function Oe(t,e,i){return"right"===i?t-=e:"center"===i&&(t-=e/2),t}function Ee(t,e,i){return"middle"===i?t-=e/2:"bottom"===i&&(t-=e),t}function Re(t,e,i){var n=e.x,o=e.y,a=e.height,r=e.width,s=a/2,l="left",u="top";switch(t){case"left":n-=i,o+=s,l="right",u="middle";break;case"right":n+=i+r,o+=s,u="middle";break;case"top":n+=r/2,o-=i,l="center",u="bottom";break;case"bottom":n+=r/2,o+=a+i,l="center";break;case"inside":n+=r/2,o+=s,l="center",u="middle";break;case"insideLeft":n+=i,o+=s,u="middle";break;case"insideRight":n+=r-i,o+=s,l="right",u="middle";break;case"insideTop":n+=r/2,o+=i,l="center";break;case"insideBottom":n+=r/2,o+=a-i,l="center",u="bottom";break;case"insideTopLeft":n+=i,o+=i;break;case"insideTopRight":n+=r-i,o+=i,l="right";break;case"insideBottomLeft":n+=i,o+=a-i,u="bottom";break;case"insideBottomRight":n+=r-i,o+=a-i,l="right",u="bottom"}return{x:n,y:o,textAlign:l,textVerticalAlign:u}}function ze(t,e,i,n,o){if(!e)return"";var a=(t+"").split("\n");o=Be(e,i,n,o);for(var r=0,s=a.length;r=r;l++)s-=r;var u=Le(i,e);return u>s&&(i="",u=0),s=t-u,n.ellipsis=i,n.ellipsisWidth=u,n.contentWidth=s,n.containerWidth=t,n}function Ve(t,e){var i=e.containerWidth,n=e.font,o=e.contentWidth;if(!i)return"";var a=Le(t,n);if(a<=i)return t;for(var r=0;;r++){if(a<=o||r>=e.maxIterations){t+=e.ellipsis;break}var s=0===r?Ge(t,o,e.ascCharWidth,e.cnCharWidth):a>0?Math.floor(t.length*o/a):0;a=Le(t=t.substr(0,s),n)}return""===t&&(t=e.placeholder),t}function Ge(t,e,i,n){for(var o=0,a=0,r=t.length;au)t="",r=[];else if(null!=h)for(var c=Be(h-(i?i[1]+i[3]:0),e,o.ellipsis,{minChar:o.minChar,placeholder:o.placeholder}),d=0,f=r.length;do&&Ue(i,t.substring(o,a)),Ue(i,n[2],n[1]),o=_b.lastIndex}of)return{lines:[],width:0,height:0};k.textWidth=Le(k.text,_);var b=y.textWidth,S=null==b||"auto"===b;if("string"==typeof b&&"%"===b.charAt(b.length-1))k.percentWidth=b,u.push(k),b=0;else{if(S){b=k.textWidth;var M=y.textBackgroundColor,I=M&&M.image;I&&Ce(I=Te(I))&&(b=Math.max(b,I.width*w/I.height))}var T=x?x[1]+x[3]:0;b+=T;var C=null!=d?d-m:null;null!=C&&Cl&&(i*=l/(c=i+n),n*=l/c),o+a>l&&(o*=l/(c=o+a),a*=l/c),n+o>u&&(n*=u/(c=n+o),o*=u/c),i+a>u&&(i*=u/(c=i+a),a*=u/c),t.moveTo(r+i,s),t.lineTo(r+l-n,s),0!==n&&t.arc(r+l-n,s+n,n,-Math.PI/2,0),t.lineTo(r+l,s+u-o),0!==o&&t.arc(r+l-o,s+u-o,o,0,Math.PI/2),t.lineTo(r+a,s+u),0!==a&&t.arc(r+a,s+u-a,a,Math.PI/2,Math.PI),t.lineTo(r,s+i),0!==i&&t.arc(r+i,s+i,i,Math.PI,1.5*Math.PI)}function Ye(t){return qe(t),d(t.rich,qe),t}function qe(t){if(t){t.font=Xe(t);var e=t.textAlign;"middle"===e&&(e="center"),t.textAlign=null==e||Mb[e]?e:"left";var i=t.textVerticalAlign||t.textBaseline;"center"===i&&(i="middle"),t.textVerticalAlign=null==i||Ib[i]?i:"top",t.textPadding&&(t.textPadding=L(t.textPadding))}}function Ke(t,e,i,n,o,a){n.rich?Je(t,e,i,n,o,a):$e(t,e,i,n,o,a)}function $e(t,e,i,n,o,a){var r,s=ii(n),l=!1,u=e.__attrCachedBy===rb.PLAIN_TEXT;a!==sb?(a&&(r=a.style,l=!s&&u&&r),e.__attrCachedBy=s?rb.NONE:rb.PLAIN_TEXT):u&&(e.__attrCachedBy=rb.NONE);var h=n.font||Sb;l&&h===(r.font||Sb)||(e.font=h);var c=t.__computedFont;t.__styleFont!==h&&(t.__styleFont=h,c=t.__computedFont=e.font);var d=n.textPadding,f=n.textLineHeight,p=t.__textCotentBlock;p&&!t.__dirtyText||(p=t.__textCotentBlock=He(i,c,d,f,n.truncate));var g=p.outerHeight,m=p.lines,v=p.lineHeight,y=ai(g,n,o),x=y.baseX,_=y.baseY,w=y.textAlign||"left",b=y.textVerticalAlign;ti(e,n,o,x,_);var S=Ee(_,g,b),M=x,I=S;if(s||d){var T=Le(i,c);d&&(T+=d[1]+d[3]);var A=Oe(x,T,w);s&&ni(t,e,n,A,S,T,g),d&&(M=hi(x,w,d),I+=d[0])}e.textAlign=w,e.textBaseline="middle",e.globalAlpha=n.opacity||1;for(B=0;B=0&&"right"===(_=b[C]).textAlign;)ei(t,e,_,n,M,v,D,"right"),I-=_.width,D-=_.width,C--;for(A+=(a-(A-m)-(y-D)-I)/2;T<=C;)ei(t,e,_=b[T],n,M,v,A+_.width/2,"center"),A+=_.width,T++;v+=M}}function ti(t,e,i,n,o){if(i&&e.textRotation){var a=e.textOrigin;"center"===a?(n=i.width/2+i.x,o=i.height/2+i.y):a&&(n=a[0]+i.x,o=a[1]+i.y),t.translate(n,o),t.rotate(-e.textRotation),t.translate(-n,-o)}}function ei(t,e,i,n,o,a,r,s){var l=n.rich[i.styleName]||{};l.text=i.text;var u=i.textVerticalAlign,h=a+o/2;"top"===u?h=a+i.height/2:"bottom"===u&&(h=a+o-i.height/2),!i.isLineHolder&&ii(l)&&ni(t,e,l,"right"===s?r-i.width:"center"===s?r-i.width/2:r,h-i.height/2,i.width,i.height);var c=i.textPadding;c&&(r=hi(r,s,c),h-=i.height/2-c[2]-i.textHeight/2),ri(e,"shadowBlur",D(l.textShadowBlur,n.textShadowBlur,0)),ri(e,"shadowColor",l.textShadowColor||n.textShadowColor||"transparent"),ri(e,"shadowOffsetX",D(l.textShadowOffsetX,n.textShadowOffsetX,0)),ri(e,"shadowOffsetY",D(l.textShadowOffsetY,n.textShadowOffsetY,0)),ri(e,"textAlign",s),ri(e,"textBaseline","middle"),ri(e,"font",i.font||Sb);var d=si(l.textStroke||n.textStroke,p),f=li(l.textFill||n.textFill),p=A(l.textStrokeWidth,n.textStrokeWidth);d&&(ri(e,"lineWidth",p),ri(e,"strokeStyle",d),e.strokeText(i.text,r,h)),f&&(ri(e,"fillStyle",f),e.fillText(i.text,r,h))}function ii(t){return!!(t.textBackgroundColor||t.textBorderWidth&&t.textBorderColor)}function ni(t,e,i,n,o,a,r){var s=i.textBackgroundColor,l=i.textBorderWidth,u=i.textBorderColor,h=_(s);if(ri(e,"shadowBlur",i.textBoxShadowBlur||0),ri(e,"shadowColor",i.textBoxShadowColor||"transparent"),ri(e,"shadowOffsetX",i.textBoxShadowOffsetX||0),ri(e,"shadowOffsetY",i.textBoxShadowOffsetY||0),h||l&&u){e.beginPath();var c=i.textBorderRadius;c?je(e,{x:n,y:o,width:a,height:r,r:c}):e.rect(n,o,a,r),e.closePath()}if(h)if(ri(e,"fillStyle",s),null!=i.fillOpacity){f=e.globalAlpha;e.globalAlpha=i.fillOpacity*i.opacity,e.fill(),e.globalAlpha=f}else e.fill();else if(w(s)){var d=s.image;(d=Ae(d,null,t,oi,s))&&Ce(d)&&e.drawImage(d,n,o,a,r)}if(l&&u)if(ri(e,"lineWidth",l),ri(e,"strokeStyle",u),null!=i.strokeOpacity){var f=e.globalAlpha;e.globalAlpha=i.strokeOpacity*i.opacity,e.stroke(),e.globalAlpha=f}else e.stroke()}function oi(t,e){e.image=t}function ai(t,e,i){var n=e.x||0,o=e.y||0,a=e.textAlign,r=e.textVerticalAlign;if(i){var s=e.textPosition;if(s instanceof Array)n=i.x+ui(s[0],i.width),o=i.y+ui(s[1],i.height);else{var l=Re(s,i,e.textDistance);n=l.x,o=l.y,a=a||l.textAlign,r=r||l.textVerticalAlign}var u=e.textOffset;u&&(n+=u[0],o+=u[1])}return{baseX:n,baseY:o,textAlign:a,textVerticalAlign:r}}function ri(t,e,i){return t[e]=ab(t,e,i),t[e]}function si(t,e){return null==t||e<=0||"transparent"===t||"none"===t?null:t.image||t.colorStops?"#000":t}function li(t){return null==t||"none"===t?null:t.image||t.colorStops?"#000":t}function ui(t,e){return"string"==typeof t?t.lastIndexOf("%")>=0?parseFloat(t)/100*e:parseFloat(t):t}function hi(t,e,i){return"right"===e?t-i[1]:"center"===e?t+i[3]/2-i[1]/2:t+i[3]}function ci(t,e){return null!=t&&(t||e.textBackgroundColor||e.textBorderWidth&&e.textBorderColor||e.textPadding)}function di(t){t=t||{},Kw.call(this,t);for(var e in t)t.hasOwnProperty(e)&&"style"!==e&&(this[e]=t[e]);this.style=new ub(t.style,this),this._rect=null,this.__clipPaths=[]}function fi(t){di.call(this,t)}function pi(t){return parseInt(t,10)}function gi(t){return!!t&&(!!t.__builtin__||"function"==typeof t.resize&&"function"==typeof t.refresh)}function mi(t,e,i){return Cb.copy(t.getBoundingRect()),t.transform&&Cb.applyTransform(t.transform),Lb.width=e,Lb.height=i,!Cb.intersect(Lb)}function vi(t,e){if(t===e)return!1;if(!t||!e||t.length!==e.length)return!0;for(var i=0;i=i.length&&i.push({option:t})}}),i}function Ni(t){var e=R();Zb(t,function(t,i){var n=t.exist;n&&e.set(n.id,t)}),Zb(t,function(t,i){var n=t.option;k(!n||null==n.id||!e.get(n.id)||e.get(n.id)===t,"id duplicates: "+(n&&n.id)),n&&null!=n.id&&e.set(n.id,t),!t.keyInfo&&(t.keyInfo={})}),Zb(t,function(t,i){var n=t.exist,o=t.option,a=t.keyInfo;if(Ub(o)){if(a.name=null!=o.name?o.name+"":n?n.name:jb+i,n)a.id=n.id;else if(null!=o.id)a.id=o.id+"";else{var r=0;do{a.id="\0"+a.name+"\0"+r++}while(e.get(a.id))}e.set(a.id,t)}})}function Oi(t){var e=t.name;return!(!e||!e.indexOf(jb))}function Ei(t){return Ub(t)&&t.id&&0===(t.id+"").indexOf("\0_ec_\0")}function Ri(t,e){function i(t,e,i){for(var n=0,o=t.length;n-rS&&trS||t<-rS}function tn(t,e,i,n,o){var a=1-o;return a*a*(a*t+3*o*e)+o*o*(o*n+3*a*i)}function en(t,e,i,n,o){var a=1-o;return 3*(((e-t)*a+2*(i-e)*o)*a+(n-i)*o*o)}function nn(t,e,i,n,o,a){var r=n+3*(e-i)-t,s=3*(i-2*e+t),l=3*(e-t),u=t-o,h=s*s-3*r*l,c=s*l-9*r*u,d=l*l-3*s*u,f=0;if(Ji(h)&&Ji(c))Ji(s)?a[0]=0:(M=-l/s)>=0&&M<=1&&(a[f++]=M);else{var p=c*c-4*h*d;if(Ji(p)){var g=c/h,m=-g/2;(M=-s/r+g)>=0&&M<=1&&(a[f++]=M),m>=0&&m<=1&&(a[f++]=m)}else if(p>0){var v=aS(p),y=h*s+1.5*r*(-c+v),x=h*s+1.5*r*(-c-v);(M=(-s-((y=y<0?-oS(-y,uS):oS(y,uS))+(x=x<0?-oS(-x,uS):oS(x,uS))))/(3*r))>=0&&M<=1&&(a[f++]=M)}else{var _=(2*h*s-3*r*c)/(2*aS(h*h*h)),w=Math.acos(_)/3,b=aS(h),S=Math.cos(w),M=(-s-2*b*S)/(3*r),m=(-s+b*(S+lS*Math.sin(w)))/(3*r),I=(-s+b*(S-lS*Math.sin(w)))/(3*r);M>=0&&M<=1&&(a[f++]=M),m>=0&&m<=1&&(a[f++]=m),I>=0&&I<=1&&(a[f++]=I)}}return f}function on(t,e,i,n,o){var a=6*i-12*e+6*t,r=9*e+3*n-3*t-9*i,s=3*e-3*t,l=0;if(Ji(r))Qi(a)&&(c=-s/a)>=0&&c<=1&&(o[l++]=c);else{var u=a*a-4*r*s;if(Ji(u))o[0]=-a/(2*r);else if(u>0){var h=aS(u),c=(-a+h)/(2*r),d=(-a-h)/(2*r);c>=0&&c<=1&&(o[l++]=c),d>=0&&d<=1&&(o[l++]=d)}}return l}function an(t,e,i,n,o,a){var r=(e-t)*o+t,s=(i-e)*o+e,l=(n-i)*o+i,u=(s-r)*o+r,h=(l-s)*o+s,c=(h-u)*o+u;a[0]=t,a[1]=r,a[2]=u,a[3]=c,a[4]=c,a[5]=h,a[6]=l,a[7]=n}function rn(t,e,i,n,o,a,r,s,l,u,h){var c,d,f,p,g,m=.005,v=1/0;hS[0]=l,hS[1]=u;for(var y=0;y<1;y+=.05)cS[0]=tn(t,i,o,r,y),cS[1]=tn(e,n,a,s,y),(p=hw(hS,cS))=0&&p=0&&c<=1&&(o[l++]=c);else{var u=r*r-4*a*s;if(Ji(u))(c=-r/(2*a))>=0&&c<=1&&(o[l++]=c);else if(u>0){var h=aS(u),c=(-r+h)/(2*a),d=(-r-h)/(2*a);c>=0&&c<=1&&(o[l++]=c),d>=0&&d<=1&&(o[l++]=d)}}return l}function hn(t,e,i){var n=t+i-2*e;return 0===n?.5:(t-e)/n}function cn(t,e,i,n,o){var a=(e-t)*n+t,r=(i-e)*n+e,s=(r-a)*n+a;o[0]=t,o[1]=a,o[2]=s,o[3]=s,o[4]=r,o[5]=i}function dn(t,e,i,n,o,a,r,s,l){var u,h=.005,c=1/0;hS[0]=r,hS[1]=s;for(var d=0;d<1;d+=.05)cS[0]=sn(t,i,o,d),cS[1]=sn(e,n,a,d),(m=hw(hS,cS))=0&&m1e-4)return s[0]=t-i,s[1]=e-n,l[0]=t+i,void(l[1]=e+n);if(yS[0]=mS(o)*i+t,yS[1]=gS(o)*n+e,xS[0]=mS(a)*i+t,xS[1]=gS(a)*n+e,u(s,yS,xS),h(l,yS,xS),(o%=vS)<0&&(o+=vS),(a%=vS)<0&&(a+=vS),o>a&&!r?a+=vS:oo&&(_S[0]=mS(f)*i+t,_S[1]=gS(f)*n+e,u(s,_S,s),h(l,_S,l))}function yn(t,e,i,n,o,a,r){if(0===o)return!1;var s=o,l=0,u=t;if(r>e+s&&r>n+s||rt+s&&a>i+s||ae+c&&h>n+c&&h>a+c&&h>s+c||ht+c&&u>i+c&&u>o+c&&u>r+c||ue+u&&l>n+u&&l>a+u||lt+u&&s>i+u&&s>o+u||si||h+uo&&(o+=zS);var d=Math.atan2(l,s);return d<0&&(d+=zS),d>=n&&d<=o||d+zS>=n&&d+zS<=o}function Sn(t,e,i,n,o,a){if(a>e&&a>n||ao?r:0}function Mn(t,e){return Math.abs(t-e)e&&u>n&&u>a&&u>s||u1&&In(),c=tn(e,n,a,s,WS[0]),p>1&&(d=tn(e,n,a,s,WS[1]))),2===p?me&&s>n&&s>a||s=0&&u<=1){for(var h=0,c=sn(e,n,a,u),d=0;di||s<-i)return 0;u=Math.sqrt(i*i-s*s);FS[0]=-u,FS[1]=u;var l=Math.abs(n-o);if(l<1e-4)return 0;if(l%VS<1e-4){n=0,o=VS;p=a?1:-1;return r>=FS[0]+t&&r<=FS[1]+t?p:0}if(a){var u=n;n=wn(o),o=wn(u)}else n=wn(n),o=wn(o);n>o&&(o+=VS);for(var h=0,c=0;c<2;c++){var d=FS[c];if(d+t>r){var f=Math.atan2(s,d),p=a?1:-1;f<0&&(f=VS+f),(f>=n&&f<=o||f+VS>=n&&f+VS<=o)&&(f>Math.PI/2&&f<1.5*Math.PI&&(p=-p),h+=p)}}return h}function Cn(t,e,i,n,o){for(var a=0,r=0,s=0,l=0,u=0,h=0;h1&&(i||(a+=Sn(r,s,l,u,n,o))),1===h&&(l=r=t[h],u=s=t[h+1]),c){case BS.M:r=l=t[h++],s=u=t[h++];break;case BS.L:if(i){if(yn(r,s,t[h],t[h+1],e,n,o))return!0}else a+=Sn(r,s,t[h],t[h+1],n,o)||0;r=t[h++],s=t[h++];break;case BS.C:if(i){if(xn(r,s,t[h++],t[h++],t[h++],t[h++],t[h],t[h+1],e,n,o))return!0}else a+=Tn(r,s,t[h++],t[h++],t[h++],t[h++],t[h],t[h+1],n,o)||0;r=t[h++],s=t[h++];break;case BS.Q:if(i){if(_n(r,s,t[h++],t[h++],t[h],t[h+1],e,n,o))return!0}else a+=An(r,s,t[h++],t[h++],t[h],t[h+1],n,o)||0;r=t[h++],s=t[h++];break;case BS.A:var d=t[h++],f=t[h++],p=t[h++],g=t[h++],m=t[h++],v=t[h++];h+=1;var y=1-t[h++],x=Math.cos(m)*p+d,_=Math.sin(m)*g+f;h>1?a+=Sn(r,s,x,_,n,o):(l=x,u=_);var w=(n-d)*g/p+d;if(i){if(bn(d,f,g,m,m+v,y,e,w,o))return!0}else a+=Dn(d,f,g,m,m+v,y,w,o);r=Math.cos(m+v)*p+d,s=Math.sin(m+v)*g+f;break;case BS.R:l=r=t[h++],u=s=t[h++];var x=l+t[h++],_=u+t[h++];if(i){if(yn(l,u,x,u,e,n,o)||yn(x,u,x,_,e,n,o)||yn(x,_,l,_,e,n,o)||yn(l,_,l,u,e,n,o))return!0}else a+=Sn(x,u,x,_,n,o),a+=Sn(l,_,l,u,n,o);break;case BS.Z:if(i){if(yn(r,s,l,u,e,n,o))return!0}else a+=Sn(r,s,l,u,n,o);r=l,s=u}}return i||Mn(s,u)||(a+=Sn(r,s,l,u,n,o)||0),0!==a}function Ln(t,e,i){return Cn(t,0,!1,e,i)}function kn(t,e,i,n){return Cn(t,e,!0,i,n)}function Pn(t){di.call(this,t),this.path=null}function Nn(t,e,i,n,o,a,r,s,l,u,h){var c=l*(tM/180),d=QS(c)*(t-i)/2+JS(c)*(e-n)/2,f=-1*JS(c)*(t-i)/2+QS(c)*(e-n)/2,p=d*d/(r*r)+f*f/(s*s);p>1&&(r*=$S(p),s*=$S(p));var g=(o===a?-1:1)*$S((r*r*(s*s)-r*r*(f*f)-s*s*(d*d))/(r*r*(f*f)+s*s*(d*d)))||0,m=g*r*f/s,v=g*-s*d/r,y=(t+i)/2+QS(c)*m-JS(c)*v,x=(e+n)/2+JS(c)*m+QS(c)*v,_=nM([1,0],[(d-m)/r,(f-v)/s]),w=[(d-m)/r,(f-v)/s],b=[(-1*d-m)/r,(-1*f-v)/s],S=nM(w,b);iM(w,b)<=-1&&(S=tM),iM(w,b)>=1&&(S=0),0===a&&S>0&&(S-=2*tM),1===a&&S<0&&(S+=2*tM),h.addData(u,y,x,r,s,_,S,c,a)}function On(t){if(!t)return new ES;for(var e,i=0,n=0,o=i,a=n,r=new ES,s=ES.CMD,l=t.match(oM),u=0;u=2){if(o&&"spline"!==o){var a=fM(n,o,i,e.smoothConstraint);t.moveTo(n[0][0],n[0][1]);for(var r=n.length,s=0;s<(i?r:r-1);s++){var l=a[2*s],u=a[2*s+1],h=n[(s+1)%r];t.bezierCurveTo(l[0],l[1],u[0],u[1],h[0],h[1])}}else{"spline"===o&&(n=dM(n,i)),t.moveTo(n[0][0],n[0][1]);for(var s=1,c=n.length;s=0)?(i={textFill:null,textStroke:t.textStroke,textStrokeWidth:t.textStrokeWidth},t.textFill="#fff",null==t.textStroke&&(t.textStroke=a,null==t.textStrokeWidth&&(t.textStrokeWidth=2))):null!=a&&(i={textFill:null},t.textFill=a),i&&(t.insideRollback=i)}}function bo(t){var e=t.insideRollback;e&&(t.textFill=e.textFill,t.textStroke=e.textStroke,t.textStrokeWidth=e.textStrokeWidth,t.insideRollback=null)}function So(t,e){var i=e||e.getModel("textStyle");return P([t.fontStyle||i&&i.getShallow("fontStyle")||"",t.fontWeight||i&&i.getShallow("fontWeight")||"",(t.fontSize||i&&i.getShallow("fontSize")||12)+"px",t.fontFamily||i&&i.getShallow("fontFamily")||"sans-serif"].join(" "))}function Mo(t,e,i,n,o,a){if("function"==typeof o&&(a=o,o=null),n&&n.isAnimationEnabled()){var r=t?"Update":"",s=n.getShallow("animationDuration"+r),l=n.getShallow("animationEasing"+r),u=n.getShallow("animationDelay"+r);"function"==typeof u&&(u=u(o,n.getAnimationDelayParams?n.getAnimationDelayParams(e,o):null)),"function"==typeof s&&(s=s(o)),s>0?e.animateTo(i,s,u||0,l,a,!!a):(e.stopAnimation(),e.attr(i),a&&a())}else e.stopAnimation(),e.attr(i),a&&a()}function Io(t,e,i,n,o){Mo(!0,t,e,i,n,o)}function To(t,e,i,n,o){Mo(!1,t,e,i,n,o)}function Ao(t,e){for(var i=_t([]);t&&t!==e;)bt(i,t.getLocalTransform(),i),t=t.parent;return i}function Do(t,e,i){return e&&!c(e)&&(e=Tw.getLocalTransform(e)),i&&(e=Tt([],e)),Q([],t,e)}function Co(t,e,i){var n=0===e[4]||0===e[5]||0===e[0]?1:Math.abs(2*e[4]/e[0]),o=0===e[4]||0===e[5]||0===e[2]?1:Math.abs(2*e[4]/e[2]),a=["left"===t?-n:"right"===t?n:0,"top"===t?-o:"bottom"===t?o:0];return a=Do(a,e,i),Math.abs(a[0])>Math.abs(a[1])?a[0]>0?"right":"left":a[1]>0?"bottom":"top"}function Lo(t,e,i,n){function o(t){var e={position:F(t.position),rotation:t.rotation};return t.shape&&(e.shape=a({},t.shape)),e}if(t&&e){var r=function(t){var e={};return t.traverse(function(t){!t.isGroup&&t.anid&&(e[t.anid]=t)}),e}(t);e.traverse(function(t){if(!t.isGroup&&t.anid){var e=r[t.anid];if(e){var n=o(t);t.attr(o(e)),Io(t,n,i,t.dataIndex)}}})}}function ko(t,e){return f(t,function(t){var i=t[0];i=LM(i,e.x),i=kM(i,e.x+e.width);var n=t[1];return n=LM(n,e.y),n=kM(n,e.y+e.height),[i,n]})}function Po(t,e,i){var n=(e=a({rectHover:!0},e)).style={strokeNoScale:!0};if(i=i||{x:-1,y:-1,width:2,height:2},t)return 0===t.indexOf("image://")?(n.image=t.slice(8),r(n,i),new fi(e)):Xn(t.replace("path://",""),e,i,"center")}function No(t,e,i){this.parentModel=e,this.ecModel=i,this.option=t}function Oo(t,e,i){for(var n=0;n0){if(t<=e[0])return i[0];if(t>=e[1])return i[1]}else{if(t>=e[0])return i[0];if(t<=e[1])return i[1]}else{if(t===e[0])return i[0];if(t===e[1])return i[1]}return(t-e[0])/o*a+i[0]}function Vo(t,e){switch(t){case"center":case"middle":t="50%";break;case"left":case"top":t="0%";break;case"right":case"bottom":t="100%"}return"string"==typeof t?zo(t).match(/%$/)?parseFloat(t)/100*e:parseFloat(t):null==t?NaN:+t}function Go(t,e,i){return null==e&&(e=10),e=Math.min(Math.max(0,e),20),t=(+t).toFixed(e),i?t:+t}function Fo(t){return t.sort(function(t,e){return t-e}),t}function Wo(t){if(t=+t,isNaN(t))return 0;for(var e=1,i=0;Math.round(t*e)/e!==t;)e*=10,i++;return i}function Ho(t){var e=t.toString(),i=e.indexOf("e");if(i>0){var n=+e.slice(i+1);return n<0?-n:0}var o=e.indexOf(".");return o<0?0:e.length-1-o}function Zo(t,e){var i=Math.log,n=Math.LN10,o=Math.floor(i(t[1]-t[0])/n),a=Math.round(i(Math.abs(e[1]-e[0]))/n),r=Math.min(Math.max(-o+a,0),20);return isFinite(r)?r:20}function Uo(t,e,i){if(!t[e])return 0;var n=p(t,function(t,e){return t+(isNaN(e)?0:e)},0);if(0===n)return 0;for(var o=Math.pow(10,i),a=f(t,function(t){return(isNaN(t)?0:t)/n*o*100}),r=100*o,s=f(a,function(t){return Math.floor(t)}),l=p(s,function(t,e){return t+e},0),u=f(a,function(t,e){return t-s[e]});lh&&(h=u[d],c=d);++s[c],u[c]=0,++l}return s[e]/o}function Xo(t){var e=2*Math.PI;return(t%e+e)%e}function jo(t){return t>-UM&&t=-20?+t.toFixed(n<0?-n:0):t}function Jo(t){function e(t,i,n){return t.interval[n]=0}function ta(t){return isNaN(t)?"-":(t=(t+"").split("."))[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(t.length>1?"."+t[1]:"")}function ea(t,e){return t=(t||"").toLowerCase().replace(/-(.)/g,function(t,e){return e.toUpperCase()}),e&&t&&(t=t.charAt(0).toUpperCase()+t.slice(1)),t}function ia(t){return null==t?"":(t+"").replace(KM,function(t,e){return $M[e]})}function na(t,e,i){y(e)||(e=[e]);var n=e.length;if(!n)return"";for(var o=e[0].$vars||[],a=0;a':'':{renderMode:o,content:"{marker"+a+"|} ",style:{color:i}}:""}function ra(t,e){return t+="","0000".substr(0,e-t.length)+t}function sa(t,e,i){"week"!==t&&"month"!==t&&"quarter"!==t&&"half-year"!==t&&"year"!==t||(t="MM-dd\nyyyy");var n=Yo(e),o=i?"UTC":"",a=n["get"+o+"FullYear"](),r=n["get"+o+"Month"]()+1,s=n["get"+o+"Date"](),l=n["get"+o+"Hours"](),u=n["get"+o+"Minutes"](),h=n["get"+o+"Seconds"](),c=n["get"+o+"Milliseconds"]();return t=t.replace("MM",ra(r,2)).replace("M",r).replace("yyyy",a).replace("yy",a%100).replace("dd",ra(s,2)).replace("d",s).replace("hh",ra(l,2)).replace("h",l).replace("mm",ra(u,2)).replace("m",u).replace("ss",ra(h,2)).replace("s",h).replace("SSS",ra(c,3))}function la(t){return t?t.charAt(0).toUpperCase()+t.substr(1):t}function ua(t,e,i,n,o){var a=0,r=0;null==n&&(n=1/0),null==o&&(o=1/0);var s=0;e.eachChild(function(l,u){var h,c,d=l.position,f=l.getBoundingRect(),p=e.childAt(u+1),g=p&&p.getBoundingRect();if("horizontal"===t){var m=f.width+(g?-g.x+f.x:0);(h=a+m)>n||l.newline?(a=0,h=m,r+=s+i,s=f.height):s=Math.max(s,f.height)}else{var v=f.height+(g?-g.y+f.y:0);(c=r+v)>o||l.newline?(a+=s+i,r=0,c=v,s=f.width):s=Math.max(s,f.width)}l.newline||(d[0]=a,d[1]=r,"horizontal"===t?a=h+i:r=c+i)})}function ha(t,e,i){var n=e.width,o=e.height,a=Vo(t.x,n),r=Vo(t.y,o),s=Vo(t.x2,n),l=Vo(t.y2,o);return(isNaN(a)||isNaN(parseFloat(t.x)))&&(a=0),(isNaN(s)||isNaN(parseFloat(t.x2)))&&(s=n),(isNaN(r)||isNaN(parseFloat(t.y)))&&(r=0),(isNaN(l)||isNaN(parseFloat(t.y2)))&&(l=o),i=qM(i||0),{width:Math.max(s-a-i[1]-i[3],0),height:Math.max(l-r-i[0]-i[2],0)}}function ca(t,e,i){i=qM(i||0);var n=e.width,o=e.height,a=Vo(t.left,n),r=Vo(t.top,o),s=Vo(t.right,n),l=Vo(t.bottom,o),u=Vo(t.width,n),h=Vo(t.height,o),c=i[2]+i[0],d=i[1]+i[3],f=t.aspect;switch(isNaN(u)&&(u=n-s-d-a),isNaN(h)&&(h=o-l-c-r),null!=f&&(isNaN(u)&&isNaN(h)&&(f>n/o?u=.8*n:h=.8*o),isNaN(u)&&(u=f*h),isNaN(h)&&(h=u/f)),isNaN(a)&&(a=n-s-u-d),isNaN(r)&&(r=o-l-h-c),t.left||t.right){case"center":a=n/2-u/2-i[3];break;case"right":a=n-u-d}switch(t.top||t.bottom){case"middle":case"center":r=o/2-h/2-i[0];break;case"bottom":r=o-h-c}a=a||0,r=r||0,isNaN(u)&&(u=n-d-a-(s||0)),isNaN(h)&&(h=o-c-r-(l||0));var p=new de(a+i[3],r+i[0],u,h);return p.margin=i,p}function da(t,e,i,n,o){var a=!o||!o.hv||o.hv[0],s=!o||!o.hv||o.hv[1],l=o&&o.boundingMode||"all";if(a||s){var u;if("raw"===l)u="group"===t.type?new de(0,0,+e.width||0,+e.height||0):t.getBoundingRect();else if(u=t.getBoundingRect(),t.needLocalTransform()){var h=t.getLocalTransform();(u=u.clone()).applyTransform(h)}e=ca(r({width:u.width,height:u.height},e),i,n);var c=t.position,d=a?e.x-u.x:0,f=s?e.y-u.y:0;t.attr("position","raw"===l?[d,f]:[c[0]+d,c[1]+f])}}function fa(t,e){return null!=t[oI[e][0]]||null!=t[oI[e][1]]&&null!=t[oI[e][2]]}function pa(t,e,i){function n(i,n){var r={},l=0,u={},h=0;if(iI(i,function(e){u[e]=t[e]}),iI(i,function(t){o(e,t)&&(r[t]=u[t]=e[t]),a(r,t)&&l++,a(u,t)&&h++}),s[n])return a(e,i[1])?u[i[2]]=null:a(e,i[2])&&(u[i[1]]=null),u;if(2!==h&&l){if(l>=2)return r;for(var c=0;ce)return t[n];return t[i-1]}function ya(t){var e=t.get("coordinateSystem"),i={coordSysName:e,coordSysDims:[],axisMap:R(),categoryAxisMap:R()},n=fI[e];if(n)return n(t,i,i.axisMap,i.categoryAxisMap),i}function xa(t){return"category"===t.get("type")}function _a(t){this.fromDataset=t.fromDataset,this.data=t.data||(t.sourceFormat===vI?{}:[]),this.sourceFormat=t.sourceFormat||yI,this.seriesLayoutBy=t.seriesLayoutBy||_I,this.dimensionsDefine=t.dimensionsDefine,this.encodeDefine=t.encodeDefine&&R(t.encodeDefine),this.startIndex=t.startIndex||0,this.dimensionsDetectCount=t.dimensionsDetectCount}function wa(t){var e=t.option.source,i=yI;if(S(e))i=xI;else if(y(e)){0===e.length&&(i=gI);for(var n=0,o=e.length;n=e:"max"===i?t<=e:t===e}function Xa(t,e){return t.join(",")===e.join(",")}function ja(t,e){AI(e=e||{},function(e,i){if(null!=e){var n=t[i];if(lI.hasClass(i)){e=Di(e);var o=Pi(n=Di(n),e);t[i]=CI(o,function(t){return t.option&&t.exist?LI(t.exist,t.option,!0):t.exist||t.option})}else t[i]=LI(n,e,!0)}})}function Ya(t){var e=t&&t.itemStyle;if(e)for(var i=0,o=OI.length;i=0;p--){var g=t[p];if(s||(d=g.data.rawIndexOf(g.stackedByDimension,c)),d>=0){var m=g.data.getByRawIndex(g.stackResultDimension,d);if(h>=0&&m>0||h<=0&&m<0){h+=m,f=m;break}}}return n[0]=h,n[1]=f,n});r.hostModel.setData(l),e.data=l})}function rr(t,e){_a.isInstance(t)||(t=_a.seriesDataToSource(t)),this._source=t;var i=this._data=t.data,n=t.sourceFormat;n===xI&&(this._offset=0,this._dimSize=e,this._data=i),a(this,GI[n===gI?n+"_"+t.seriesLayoutBy:n])}function sr(){return this._data.length}function lr(t){return this._data[t]}function ur(t){for(var e=0;ee.outputData.count()&&e.model.getRawData().cloneShallow(e.outputData)}function Mr(t,e){d(t.CHANGABLE_METHODS,function(i){t.wrapMethod(i,v(Ir,e))})}function Ir(t){var e=Tr(t);e&&e.setOutputEnd(this.count())}function Tr(t){var e=(t.ecModel||{}).scheduler,i=e&&e.getPipeline(t.uid);if(i){var n=i.currentTask;if(n){var o=n.agentStubMap;o&&(n=o.get(t.uid))}return n}}function Ar(){this.group=new tb,this.uid=Ro("viewChart"),this.renderTask=gr({plan:Lr,reset:kr}),this.renderTask.context={view:this}}function Dr(t,e){if(t&&(t.trigger(e),"group"===t.type))for(var i=0;i=0?n():c=setTimeout(n,-a),u=o};return d.clear=function(){c&&(clearTimeout(c),c=null)},d.debounceNextCall=function(t){l=t},d}function Nr(t,e,i,n){var o=t[e];if(o){var a=o[iT]||o,r=o[oT];if(o[nT]!==i||r!==n){if(null==i||!n)return t[e]=a;(o=t[e]=Pr(a,i,"debounce"===n))[iT]=a,o[oT]=n,o[nT]=i}return o}}function Or(t,e){var i=t[e];i&&i[iT]&&(t[e]=i[iT])}function Er(t,e,i,n){this.ecInstance=t,this.api=e,this.unfinished;var i=this._dataProcessorHandlers=i.slice(),n=this._visualHandlers=n.slice();this._allHandlers=i.concat(n),this._stageTaskMap=R()}function Rr(t,e,i,n,o){function a(t,e){return t.setDirty&&(!t.dirtyMap||t.dirtyMap.get(e.__pipeline.id))}o=o||{};var r;d(e,function(e,s){if(!o.visualType||o.visualType===e.visualType){var l=t._stageTaskMap.get(e.uid),u=l.seriesTaskMap,h=l.overallTask;if(h){var c,d=h.agentStubMap;d.each(function(t){a(o,t)&&(t.dirty(),c=!0)}),c&&h.dirty(),hT(h,n);var f=t.getPerformArgs(h,o.block);d.each(function(t){t.perform(f)}),r|=h.perform(f)}else u&&u.each(function(s,l){a(o,s)&&s.dirty();var u=t.getPerformArgs(s,o.block);u.skip=!e.performRawSeries&&i.isSeriesFiltered(s.context.model),hT(s,n),r|=s.perform(u)})}}),t.unfinished|=r}function zr(t,e,i,n,o){function a(i){var a=i.uid,s=r.get(a)||r.set(a,gr({plan:Hr,reset:Zr,count:Xr}));s.context={model:i,ecModel:n,api:o,useClearVisual:e.isVisual&&!e.isLayout,plan:e.plan,reset:e.reset,scheduler:t},jr(t,i,s)}var r=i.seriesTaskMap||(i.seriesTaskMap=R()),s=e.seriesType,l=e.getTargetSeries;e.createOnAllSeries?n.eachRawSeries(a):s?n.eachRawSeriesByType(s,a):l&&l(n,o).each(a);var u=t._pipelineMap;r.each(function(t,e){u.get(e)||(t.dispose(),r.removeKey(e))})}function Br(t,e,i,n,o){function a(e){var i=e.uid,n=s.get(i);n||(n=s.set(i,gr({reset:Gr,onDirty:Wr})),r.dirty()),n.context={model:e,overallProgress:h,modifyOutputEnd:c},n.agent=r,n.__block=h,jr(t,e,n)}var r=i.overallTask=i.overallTask||gr({reset:Vr});r.context={ecModel:n,api:o,overallReset:e.overallReset,scheduler:t};var s=r.agentStubMap=r.agentStubMap||R(),l=e.seriesType,u=e.getTargetSeries,h=!0,c=e.modifyOutputEnd;l?n.eachRawSeriesByType(l,a):u?u(n,o).each(a):(h=!1,d(n.getSeries(),a));var f=t._pipelineMap;s.each(function(t,e){f.get(e)||(t.dispose(),r.dirty(),s.removeKey(e))})}function Vr(t){t.overallReset(t.ecModel,t.api,t.payload)}function Gr(t,e){return t.overallProgress&&Fr}function Fr(){this.agent.dirty(),this.getDownstream().dirty()}function Wr(){this.agent&&this.agent.dirty()}function Hr(t){return t.plan&&t.plan(t.model,t.ecModel,t.api,t.payload)}function Zr(t){t.useClearVisual&&t.data.clearAllVisual();var e=t.resetDefines=Di(t.reset(t.model,t.ecModel,t.api,t.payload));return e.length>1?f(e,function(t,e){return Ur(e)}):cT}function Ur(t){return function(e,i){var n=i.data,o=i.resetDefines[t];if(o&&o.dataEach)for(var a=e.start;a0?parseInt(n,10)/100:n?parseFloat(n):0;var o=i.getAttribute("stop-color")||"#000000";e.addColorStop(n,o)}i=i.nextSibling}}function Qr(t,e){t&&t.__inheritedStyle&&(e.__inheritedStyle||(e.__inheritedStyle={}),r(e.__inheritedStyle,t.__inheritedStyle))}function ts(t){for(var e=P(t).split(_T),i=[],n=0;n0;a-=2){var r=o[a],s=o[a-1];switch(n=n||xt(),s){case"translate":r=P(r).split(_T),St(n,n,[parseFloat(r[0]),parseFloat(r[1]||0)]);break;case"scale":r=P(r).split(_T),It(n,n,[parseFloat(r[0]),parseFloat(r[1]||r[0])]);break;case"rotate":r=P(r).split(_T),Mt(n,n,parseFloat(r[0]));break;case"skew":r=P(r).split(_T),console.warn("Skew transform is not supported yet");break;case"matrix":r=P(r).split(_T);n[0]=parseFloat(r[0]),n[1]=parseFloat(r[1]),n[2]=parseFloat(r[2]),n[3]=parseFloat(r[3]),n[4]=parseFloat(r[4]),n[5]=parseFloat(r[5])}}e.setLocalTransform(n)}}function os(t){var e=t.getAttribute("style"),i={};if(!e)return i;var n={};TT.lastIndex=0;for(var o;null!=(o=TT.exec(e));)n[o[1]]=o[2];for(var a in ST)ST.hasOwnProperty(a)&&null!=n[a]&&(i[ST[a]]=n[a]);return i}function as(t,e,i){var n=e/t.width,o=i/t.height,a=Math.min(n,o);return{scale:[a,a],position:[-(t.x+t.width/2)*a+e/2,-(t.y+t.height/2)*a+i/2]}}function rs(t,e){return(new $r).parse(t,e)}function ss(t){return function(e,i,n){e=e&&e.toLowerCase(),fw.prototype[t].call(this,e,i,n)}}function ls(){fw.call(this)}function us(t,e,n){function o(t,e){return t.__prio-e.__prio}n=n||{},"string"==typeof e&&(e=JT[e]),this.id,this.group,this._dom=t;var a=this._zr=Ii(t,{renderer:n.renderer||"canvas",devicePixelRatio:n.devicePixelRatio,width:n.width,height:n.height});this._throttledZrFlush=Pr(m(a.flush,a),17),(e=i(e))&&BI(e,!0),this._theme=e,this._chartsViews=[],this._chartsMap={},this._componentsViews=[],this._componentsMap={},this._coordSysMgr=new Fa;var r=this._api=As(this);_e($T,o),_e(YT,o),this._scheduler=new Er(this,r,YT,$T),fw.call(this,this._ecEventProcessor=new Ds),this._messageCenter=new ls,this._initEvents(),this.resize=m(this.resize,this),this._pendingActions=[],a.animation.on("frame",this._onframe,this),vs(a,this),N(this)}function hs(t,e,i){var n,o=this._model,a=this._coordSysMgr.getCoordinateSystems();e=Vi(o,e);for(var r=0;re.get("hoverLayerThreshold")&&!U_.node&&i.traverse(function(t){t.isGroup||(t.useHoverLayer=!0)})}function Is(t,e){var i=t.get("blendMode")||null;e.group.traverse(function(t){t.isGroup||t.style.blend!==i&&t.setStyle("blend",i),t.eachPendingDisplayable&&t.eachPendingDisplayable(function(t){t.setStyle("blend",i)})})}function Ts(t,e){var i=t.get("z"),n=t.get("zlevel");e.group.traverse(function(t){"group"!==t.type&&(null!=i&&(t.z=i),null!=n&&(t.zlevel=n))})}function As(t){var e=t._coordSysMgr;return a(new Ga(t),{getCoordinateSystems:m(e.getCoordinateSystems,e),getComponentByElement:function(e){for(;e;){var i=e.__ecComponentInfo;if(null!=i)return t._model.getComponent(i.mainType,i.index);e=e.parent}}})}function Ds(){this.eventInfo}function Cs(t){function e(t,e){for(var n=0;n65535?dA:pA}function Js(t){var e=t.constructor;return e===Array?t.slice():new e(t)}function Qs(t,e){d(gA.concat(e.__wrappedMethods||[]),function(i){e.hasOwnProperty(i)&&(t[i]=e[i])}),t.__wrappedMethods=e.__wrappedMethods,d(mA,function(n){t[n]=i(e[n])}),t._calculationInfo=a(e._calculationInfo)}function tl(t,e,i,n,o){var a=cA[e.type],r=n-1,s=e.name,l=t[s][r];if(l&&l.length=0?this._indices[t]:-1}function al(t,e){var i=t._idList[e];return null==i&&(i=il(t,t._idDimIdx,e)),null==i&&(i=hA+e),i}function rl(t){return y(t)||(t=[t]),t}function sl(t,e){var i=t.dimensions,n=new vA(f(i,t.getDimensionInfo,t),t.hostModel);Qs(n,t);for(var o=n._storage={},a=t._storage,r=0;r=0?(o[s]=ll(a[s]),n._rawExtent[s]=ul(),n._extent[s]=null):o[s]=a[s])}return n}function ll(t){for(var e=new Array(t.length),i=0;in&&(r=o.interval=n);var s=o.intervalPrecision=Ml(r);return Tl(o.niceTickExtent=[MA(Math.ceil(t[0]/r)*r,s),MA(Math.floor(t[1]/r)*r,s)],t),o}function Ml(t){return Ho(t)+2}function Il(t,e,i){t[e]=Math.max(Math.min(t[e],i[1]),i[0])}function Tl(t,e){!isFinite(t[0])&&(t[0]=e[0]),!isFinite(t[1])&&(t[1]=e[1]),Il(t,0,e),Il(t,1,e),t[0]>t[1]&&(t[0]=t[1])}function Al(t,e,i,n){var o=[];if(!t)return o;e[0]1e4)return[];return e[1]>(o.length?o[o.length-1]:i[1])&&o.push(e[1]),o}function Dl(t){return t.get("stack")||AA+t.seriesIndex}function Cl(t){return t.dim+t.index}function Ll(t){var e=[],i=t.axis;if("category"===i.type){for(var n=i.getBandWidth(),o=0;o=0?"p":"n",b=m;p&&(o[r][_]||(o[r][_]={p:m,n:m}),b=o[r][_][w]);var S,M,I,T;if(g)S=b,M=(A=i.dataToPoint([x,_]))[1]+l,I=A[0]-m,T=u,Math.abs(I)a[1]?(n=a[1],o=a[0]):(n=a[0],o=a[1]);var r=e.toGlobalCoord(e.dataToCoord(0));return ro&&(r=o),r}function Vl(t,e){return VA(t,BA(e))}function Gl(t,e){var i,n,o,a=t.type,r=e.getMin(),s=e.getMax(),l=null!=r,u=null!=s,h=t.getExtent();"ordinal"===a?i=e.getCategories().length:(y(n=e.get("boundaryGap"))||(n=[n||0,n||0]),"boolean"==typeof n[0]&&(n=[0,0]),n[0]=Vo(n[0],1),n[1]=Vo(n[1],1),o=h[1]-h[0]||Math.abs(h[0])),null==r&&(r="ordinal"===a?i?0:NaN:h[0]-n[0]*o),null==s&&(s="ordinal"===a?i?i-1:NaN:h[1]+n[1]*o),"dataMin"===r?r=h[0]:"function"==typeof r&&(r=r({min:h[0],max:h[1]})),"dataMax"===s?s=h[1]:"function"==typeof s&&(s=s({min:h[0],max:h[1]})),(null==r||!isFinite(r))&&(r=NaN),(null==s||!isFinite(s))&&(s=NaN),t.setBlank(I(r)||I(s)||"ordinal"===a&&!t.getOrdinalMeta().categories.length),e.getNeedCrossZero()&&(r>0&&s>0&&!l&&(r=0),r<0&&s<0&&!u&&(s=0));var c=e.ecModel;if(c&&"time"===a){var f,p=kl("bar",c);if(d(p,function(t){f|=t.getBaseAxis()===e.axis}),f){var g=Pl(p),m=Fl(r,s,e,g);r=m.min,s=m.max}}return[r,s]}function Fl(t,e,i,n){var o=i.axis.getExtent(),a=o[1]-o[0],r=Ol(n,i.axis);if(void 0===r)return{min:t,max:e};var s=1/0;d(r,function(t){s=Math.min(t.offset,s)});var l=-1/0;d(r,function(t){l=Math.max(t.offset+t.width,l)}),s=Math.abs(s),l=Math.abs(l);var u=s+l,h=e-t,c=h/(1-(s+l)/a)-h;return e+=c*(l/u),t-=c*(s/u),{min:t,max:e}}function Wl(t,e){var i=Gl(t,e),n=null!=e.getMin(),o=null!=e.getMax(),a=e.get("splitNumber");"log"===t.type&&(t.base=e.get("logBase"));var r=t.type;t.setExtent(i[0],i[1]),t.niceExtent({splitNumber:a,fixMin:n,fixMax:o,minInterval:"interval"===r||"time"===r?e.get("minInterval"):null,maxInterval:"interval"===r||"time"===r?e.get("maxInterval"):null});var s=e.get("interval");null!=s&&t.setInterval&&t.setInterval(s)}function Hl(t,e){if(e=e||t.get("type"))switch(e){case"category":return new SA(t.getOrdinalMeta?t.getOrdinalMeta():t.getCategories(),[1/0,-1/0]);case"value":return new TA;default:return(xl.getClass(e)||TA).create(t)}}function Zl(t){var e=t.scale.getExtent(),i=e[0],n=e[1];return!(i>0&&n>0||i<0&&n<0)}function Ul(t){var e=t.getLabelModel().get("formatter"),i="category"===t.type?t.scale.getExtent()[0]:null;return"string"==typeof e?e=function(e){return function(i){return i=t.scale.getLabel(i),e.replace("{value}",null!=i?i:"")}}(e):"function"==typeof e?function(n,o){return null!=i&&(o=n-i),e(Xl(t,n),o)}:function(e){return t.scale.getLabel(e)}}function Xl(t,e){return"category"===t.type?t.scale.getLabel(e):e}function jl(t){var e=t.model,i=t.scale;if(e.get("axisLabel.show")&&!i.isBlank()){var n,o,a="category"===t.type,r=i.getExtent();o=a?i.count():(n=i.getTicks()).length;var s,l=t.getLabelModel(),u=Ul(t),h=1;o>40&&(h=Math.ceil(o/40));for(var c=0;c>1^-(1&s),l=l>>1^-(1&l),o=s+=o,a=l+=a,n.push([s/i,l/i])}return n}function ou(t){return"category"===t.type?ru(t):uu(t)}function au(t,e){return"category"===t.type?lu(t,e):{ticks:t.scale.getTicks()}}function ru(t){var e=t.getLabelModel(),i=su(t,e);return!e.get("show")||t.scale.isBlank()?{labels:[],labelCategoryInterval:i.labelCategoryInterval}:i}function su(t,e){var i=hu(t,"labels"),n=ql(e),o=cu(i,n);if(o)return o;var a,r;return a=x(n)?vu(t,n):mu(t,r="auto"===n?fu(t):n),du(i,n,{labels:a,labelCategoryInterval:r})}function lu(t,e){var i=hu(t,"ticks"),n=ql(e),o=cu(i,n);if(o)return o;var a,r;if(e.get("show")&&!t.scale.isBlank()||(a=[]),x(n))a=vu(t,n,!0);else if("auto"===n){var s=su(t,t.getLabelModel());r=s.labelCategoryInterval,a=f(s.labels,function(t){return t.tickValue})}else a=mu(t,r=n,!0);return du(i,n,{ticks:a,tickCategoryInterval:r})}function uu(t){var e=t.scale.getTicks(),i=Ul(t);return{labels:f(e,function(e,n){return{formattedLabel:i(e,n),rawLabel:t.scale.getLabel(e),tickValue:e}})}}function hu(t,e){return nD(t)[e]||(nD(t)[e]=[])}function cu(t,e){for(var i=0;i40&&(s=Math.max(1,Math.floor(r/40)));for(var l=a[0],u=t.dataToCoord(l+1)-t.dataToCoord(l),h=Math.abs(u*Math.cos(n)),c=Math.abs(u*Math.sin(n)),d=0,f=0;l<=a[1];l+=s){var p=0,g=0,m=ke(i(l),e.font,"center","top");p=1.3*m.width,g=1.3*m.height,d=Math.max(d,p,7),f=Math.max(f,g,7)}var v=d/h,y=f/c;isNaN(v)&&(v=1/0),isNaN(y)&&(y=1/0);var x=Math.max(0,Math.floor(Math.min(v,y))),_=nD(t.model),w=_.lastAutoInterval,b=_.lastTickCount;return null!=w&&null!=b&&Math.abs(w-x)<=1&&Math.abs(b-r)<=1&&w>x?x=w:(_.lastTickCount=r,_.lastAutoInterval=x),x}function gu(t){var e=t.getLabelModel();return{axisRotate:t.getRotate?t.getRotate():t.isHorizontal&&!t.isHorizontal()?90:0,labelRotate:e.get("rotate")||0,font:e.getFont()}}function mu(t,e,i){function n(t){l.push(i?t:{formattedLabel:o(t),rawLabel:a.getLabel(t),tickValue:t})}var o=Ul(t),a=t.scale,r=a.getExtent(),s=t.getLabelModel(),l=[],u=Math.max((e||0)+1,1),h=r[0],c=a.count();0!==h&&u>1&&c/u>2&&(h=Math.round(Math.ceil(h/u)*u));var d=Kl(t),f=s.get("showMinLabel")||d,p=s.get("showMaxLabel")||d;f&&h!==r[0]&&n(r[0]);for(var g=h;g<=r[1];g+=u)n(g);return p&&g!==r[1]&&n(r[1]),l}function vu(t,e,i){var n=t.scale,o=Ul(t),a=[];return d(n.getTicks(),function(t){var r=n.getLabel(t);e(t,r)&&a.push(i?t:{formattedLabel:o(t),rawLabel:r,tickValue:t})}),a}function yu(t,e){var i=(t[1]-t[0])/e/2;t[0]+=i,t[1]-=i}function xu(t,e,i,n,o){function a(t,e){return h?t>e:t0&&(t.coord-=u/(2*(e+1)))}),s={coord:e[r-1].coord+u},e.push(s)}var h=l[0]>l[1];a(e[0].coord,l[0])&&(o?e[0].coord=l[0]:e.shift()),o&&a(l[0],e[0].coord)&&e.unshift({coord:l[0]}),a(l[1],s.coord)&&(o?s.coord=l[1]:e.pop()),o&&a(s.coord,l[1])&&e.push({coord:l[1]})}}function _u(t,e){var i=t.mapDimension("defaultedLabel",!0),n=i.length;if(1===n)return fr(t,e,i[0]);if(n){for(var o=[],a=0;a0?i=n[0]:n[1]<0&&(i=n[1]),i}function Ou(t,e,i,n){var o=NaN;t.stacked&&(o=i.get(i.getCalculationInfo("stackedOverDimension"),n)),isNaN(o)&&(o=t.valueStart);var a=t.baseDataOffset,r=[];return r[a]=i.get(t.baseDim,n),r[1-a]=o,e.dataToPoint(r)}function Eu(t,e){var i=[];return e.diff(t).add(function(t){i.push({cmd:"+",idx:t})}).update(function(t,e){i.push({cmd:"=",idx:e,idx1:t})}).remove(function(t){i.push({cmd:"-",idx:t})}).execute(),i}function Ru(t){return isNaN(t[0])||isNaN(t[1])}function zu(t,e,i,n,o,a,r,s,l,u,h){return"none"!==u&&u?Bu.apply(this,arguments):Vu.apply(this,arguments)}function Bu(t,e,i,n,o,a,r,s,l,u,h){for(var c=0,d=i,f=0;f=o||d<0)break;if(Ru(p)){if(h){d+=a;continue}break}if(d===i)t[a>0?"moveTo":"lineTo"](p[0],p[1]);else if(l>0){var g=e[c],m="y"===u?1:0,v=(p[m]-g[m])*l;_D(bD,g),bD[m]=g[m]+v,_D(SD,p),SD[m]=p[m]-v,t.bezierCurveTo(bD[0],bD[1],SD[0],SD[1],p[0],p[1])}else t.lineTo(p[0],p[1]);c=d,d+=a}return f}function Vu(t,e,i,n,o,a,r,s,l,u,h){for(var c=0,d=i,f=0;f=o||d<0)break;if(Ru(p)){if(h){d+=a;continue}break}if(d===i)t[a>0?"moveTo":"lineTo"](p[0],p[1]),_D(bD,p);else if(l>0){var g=d+a,m=e[g];if(h)for(;m&&Ru(e[g]);)m=e[g+=a];var v=.5,y=e[c];if(!(m=e[g])||Ru(m))_D(SD,p);else{Ru(m)&&!h&&(m=p),U(wD,m,y);var x,_;if("x"===u||"y"===u){var w="x"===u?0:1;x=Math.abs(p[w]-y[w]),_=Math.abs(p[w]-m[w])}else x=uw(p,y),_=uw(p,m);xD(SD,p,wD,-l*(1-(v=_/(_+x))))}vD(bD,bD,s),yD(bD,bD,r),vD(SD,SD,s),yD(SD,SD,r),t.bezierCurveTo(bD[0],bD[1],SD[0],SD[1],p[0],p[1]),xD(bD,p,wD,l*v)}else t.lineTo(p[0],p[1]);c=d,d+=a}return f}function Gu(t,e){var i=[1/0,1/0],n=[-1/0,-1/0];if(e)for(var o=0;on[0]&&(n[0]=a[0]),a[1]>n[1]&&(n[1]=a[1])}return{min:e?i:n,max:e?n:i}}function Fu(t,e){if(t.length===e.length){for(var i=0;ie[0]?1:-1;e[0]+=n*i,e[1]-=n*i}return e}function Zu(t,e,i){if(!i.valueDim)return[];for(var n=[],o=0,a=e.count();oa[1]&&a.reverse();var r=o.getExtent(),s=Math.PI/180;i&&(a[0]-=.5,a[1]+=.5);var l=new hM({shape:{cx:Go(t.cx,1),cy:Go(t.cy,1),r0:Go(a[0],1),r:Go(a[1],1),startAngle:-r[0]*s,endAngle:-r[1]*s,clockwise:o.inverse}});return e&&(l.shape.endAngle=-r[0]*s,To(l,{shape:{endAngle:-r[1]*s}},n)),l}function ju(t,e,i,n){return"polar"===t.type?Xu(t,e,i,n):Uu(t,e,i,n)}function Yu(t,e,i){for(var n=e.getBaseAxis(),o="x"===n.dim||"radius"===n.dim?0:1,a=[],r=0;r=0;a--){var r=i[a].dimension,s=t.dimensions[r],l=t.getDimensionInfo(s);if("x"===(n=l&&l.coordDim)||"y"===n){o=i[a];break}}if(o){var u=e.getAxis(n),h=f(o.stops,function(t){return{coord:u.toGlobalCoord(u.dataToCoord(t.value)),color:t.color}}),c=h.length,p=o.outerColors.slice();c&&h[0].coord>h[c-1].coord&&(h.reverse(),p.reverse());var g=h[0].coord-10,m=h[c-1].coord+10,v=m-g;if(v<.001)return"transparent";d(h,function(t){t.offset=(t.coord-g)/v}),h.push({offset:c?h[c-1].offset:.5,color:p[1]||"transparent"}),h.unshift({offset:c?h[0].offset:.5,color:p[0]||"transparent"});var y=new TM(0,0,0,0,h,!0);return y[n]=g,y[n+"2"]=m,y}}}function Ku(t,e,i){var n=t.get("showAllSymbol"),o="auto"===n;if(!n||o){var a=i.getAxesByScale("ordinal")[0];if(a&&(!o||!$u(a,e))){var r=e.mapDimension(a.dim),s={};return d(a.getViewLabels(),function(t){s[t.tickValue]=1}),function(t){return!s.hasOwnProperty(e.get(r,t))}}}}function $u(t,e){var i=t.getExtent(),n=Math.abs(i[1]-i[0])/t.scale.count();isNaN(n)&&(n=0);for(var o=e.count(),a=Math.max(1,Math.round(o/5)),r=0;rn)return!1;return!0}function Ju(t){return this._axes[t]}function Qu(t){LD.call(this,t)}function th(t,e){return e.type||(e.data?"category":"value")}function eh(t,e,i){return t.getCoordSysModel()===e}function ih(t,e,i){this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this._initCartesian(t,e,i),this.model=t}function nh(t,e,i,n){function o(t){return t.dim+"_"+t.index}i.getAxesOnZeroOf=function(){return a?[a]:[]};var a,r=t[e],s=i.model,l=s.get("axisLine.onZero"),u=s.get("axisLine.onZeroAxisIndex");if(l){if(null!=u)oh(r[u])&&(a=r[u]);else for(var h in r)if(r.hasOwnProperty(h)&&oh(r[h])&&!n[o(r[h])]){a=r[h];break}a&&(n[o(a)]=!0)}}function oh(t){return t&&"category"!==t.type&&"time"!==t.type&&Zl(t)}function ah(t,e){var i=t.getExtent(),n=i[0]+i[1];t.toGlobalCoord="x"===t.dim?function(t){return t+e}:function(t){return n-t+e},t.toLocalCoord="x"===t.dim?function(t){return t-e}:function(t){return n-t+e}}function rh(t,e){return f(VD,function(e){return t.getReferringComponents(e)[0]})}function sh(t){return"cartesian2d"===t.get("coordinateSystem")}function lh(t){var e={componentType:t.mainType,componentIndex:t.componentIndex};return e[t.mainType+"Index"]=t.componentIndex,e}function uh(t,e,i,n){var o,a,r=Xo(i-t.rotation),s=n[0]>n[1],l="start"===e&&!s||"start"!==e&&s;return jo(r-GD/2)?(a=l?"bottom":"top",o="center"):jo(r-1.5*GD)?(a=l?"top":"bottom",o="center"):(a="middle",o=r<1.5*GD&&r>GD/2?l?"left":"right":l?"right":"left"),{rotation:r,textAlign:o,textVerticalAlign:a}}function hh(t){var e=t.get("tooltip");return t.get("silent")||!(t.get("triggerEvent")||e&&e.show)}function ch(t,e,i){if(!Kl(t.axis)){var n=t.get("axisLabel.showMinLabel"),o=t.get("axisLabel.showMaxLabel");e=e||[],i=i||[];var a=e[0],r=e[1],s=e[e.length-1],l=e[e.length-2],u=i[0],h=i[1],c=i[i.length-1],d=i[i.length-2];!1===n?(dh(a),dh(u)):fh(a,r)&&(n?(dh(r),dh(h)):(dh(a),dh(u))),!1===o?(dh(s),dh(c)):fh(l,s)&&(o?(dh(l),dh(d)):(dh(s),dh(c)))}}function dh(t){t&&(t.ignore=!0)}function fh(t,e,i){var n=t&&t.getBoundingRect().clone(),o=e&&e.getBoundingRect().clone();if(n&&o){var a=_t([]);return Mt(a,a,-t.rotation),n.applyTransform(bt([],a,t.getLocalTransform())),o.applyTransform(bt([],a,e.getLocalTransform())),n.intersect(o)}}function ph(t){return"middle"===t||"center"===t}function gh(t,e,i){var n=e.axis;if(e.get("axisTick.show")&&!n.scale.isBlank()){for(var o=e.getModel("axisTick"),a=o.getModel("lineStyle"),s=o.get("length"),l=n.getTicksCoords(),u=[],h=[],c=t._transform,d=[],f=0;f=0||t===e}function Sh(t){var e=Mh(t);if(e){var i=e.axisPointerModel,n=e.axis.scale,o=i.option,a=i.get("status"),r=i.get("value");null!=r&&(r=n.parse(r));var s=Th(i);null==a&&(o.status=s?"show":"hide");var l=n.getExtent().slice();l[0]>l[1]&&l.reverse(),(null==r||r>l[1])&&(r=l[1]),r0?"bottom":"top":o.width>0?"left":"right";l||kh(t.style,d,n,u,a,i,p),fo(t,d)}function Rh(t,e){var i=t.get(tC)||0;return Math.min(i,Math.abs(e.width),Math.abs(e.height))}function zh(t,e,i){var n=t.getData(),o=[],a=n.getLayout("valueAxisHorizontal")?1:0;o[1-a]=n.getLayout("valueAxisStart");var r=new nC({shape:{points:n.getLayout("largePoints")},incremental:!!i,__startPoint:o,__valueIdx:a});e.add(r),Bh(r,t,n)}function Bh(t,e,i){var n=i.getVisual("borderColor")||i.getVisual("color"),o=e.getModel("itemStyle").getItemStyle(["color","borderColor"]);t.useStyle(o),t.style.fill=null,t.style.stroke=n,t.style.lineWidth=i.getLayout("barWidth")}function Vh(t,e,i,n){var o=e.getData(),a=this.dataIndex,r=o.getName(a),s=e.get("selectedOffset");n.dispatchAction({type:"pieToggleSelect",from:t,name:r,seriesId:e.id}),o.each(function(t){Gh(o.getItemGraphicEl(t),o.getItemLayout(t),e.isSelected(o.getName(t)),s,i)})}function Gh(t,e,i,n,o){var a=(e.startAngle+e.endAngle)/2,r=Math.cos(a),s=Math.sin(a),l=i?n:0,u=[r*l,s*l];o?t.animate().when(200,{position:u}).start("bounceOut"):t.attr("position",u)}function Fh(t,e){function i(){a.ignore=a.hoverIgnore,r.ignore=r.hoverIgnore}function n(){a.ignore=a.normalIgnore,r.ignore=r.normalIgnore}tb.call(this);var o=new hM({z2:2}),a=new gM,r=new rM;this.add(o),this.add(a),this.add(r),this.updateData(t,e,!0),this.on("emphasis",i).on("normal",n).on("mouseover",i).on("mouseout",n)}function Wh(t,e,i,n,o,a,r){function s(e,i){for(var n=e;n>=0&&(t[n].y-=i,!(n>0&&t[n].y>t[n-1].y+t[n-1].height));n--);}function l(t,e,i,n,o,a){for(var r=e?Number.MAX_VALUE:0,s=0,l=t.length;s=r&&(d=r-10),!e&&d<=r&&(d=r+10),t[s].x=i+d*a,r=d}}t.sort(function(t,e){return t.y-e.y});for(var u,h=0,c=t.length,d=[],f=[],p=0;pe&&a+1t[a].y+t[a].height)return void s(a,n/2);s(i-1,n/2)}(p,c,-u),h=t[p].y+t[p].height;r-h<0&&s(c-1,h-r);for(p=0;p=i?f.push(t[p]):d.push(t[p]);l(d,!1,e,i,n,o),l(f,!0,e,i,n,o)}function Hh(t,e,i,n,o,a){for(var r=[],s=[],l=0;l3?1.4:o>1?1.2:1.1;hc(this,"zoom","zoomOnMouseWheel",t,{scale:n>0?s:1/s,originX:a,originY:r})}if(i){var l=Math.abs(n);hc(this,"scrollMove","moveOnMouseWheel",t,{scrollDelta:(n>0?1:-1)*(l>3?.4:l>1?.15:.05),originX:a,originY:r})}}}function uc(t){ic(this._zr,"globalPan")||hc(this,"zoom",null,t,{scale:t.pinchScale>1?1.1:1/1.1,originX:t.pinchX,originY:t.pinchY})}function hc(t,e,i,n,o){t.pointerChecker&&t.pointerChecker(n,o.originX,o.originY)&&(mw(n.event),cc(t,e,i,n,o))}function cc(t,e,i,n,o){o.isAvailableBehavior=m(dc,null,i,n),t.trigger(e,o)}function dc(t,e,i){var n=i[t];return!t||n&&(!_(n)||e.event[n+"Key"])}function fc(t,e,i){var n=t.target,o=n.position;o[0]+=e,o[1]+=i,n.dirty()}function pc(t,e,i,n){var o=t.target,a=t.zoomLimit,r=o.position,s=o.scale,l=t.zoom=t.zoom||1;if(l*=e,a){var u=a.min||0,h=a.max||1/0;l=Math.max(Math.min(h,l),u)}var c=l/t.zoom;t.zoom=l,r[0]-=(i-r[0])*(c-1),r[1]-=(n-r[1])*(c-1),s[0]*=c,s[1]*=c,o.dirty()}function gc(t,e,i){var n=e.getComponentByElement(t.topTarget),o=n&&n.coordinateSystem;return n&&n!==i&&!RC[n.mainType]&&o&&o.model!==i}function mc(t,e){var i=t.getItemStyle(),n=t.get("areaColor");return null!=n&&(i.fill=n),i}function vc(t,e,i,n,o){i.off("click"),i.off("mousedown"),e.get("selectedMode")&&(i.on("mousedown",function(){t._mouseDownFlag=!0}),i.on("click",function(a){if(t._mouseDownFlag){t._mouseDownFlag=!1;for(var r=a.target;!r.__regions;)r=r.parent;if(r){var s={type:("geo"===e.mainType?"geo":"map")+"ToggleSelect",batch:f(r.__regions,function(t){return{name:t.name,from:o.uid}})};s[e.mainType+"Id"]=e.id,n.dispatchAction(s),yc(e,i)}}}))}function yc(t,e){e.eachChild(function(e){d(e.__regions,function(i){e.trigger(t.isSelected(i.name)?"emphasis":"normal")})})}function xc(t,e){var i=new tb;this.uid=Ro("ec_map_draw"),this._controller=new oc(t.getZr()),this._controllerHost={target:e?i:null},this.group=i,this._updateGroup=e,this._mouseDownFlag,this._mapName,this._initialized,i.add(this._regionsGroup=new tb),i.add(this._backgroundGroup=new tb)}function _c(t){var e=this[zC];e&&e.recordVersion===this[BC]&&wc(e,t)}function wc(t,e){var i=t.circle,n=t.labelModel,o=t.hoverLabelModel,a=t.emphasisText,r=t.normalText;e?(i.style.extendFrom(mo({},o,{text:o.get("show")?a:null},{isRectText:!0,useInsideStyle:!1},!0)),i.__mapOriginalZ2=i.z2,i.z2+=NM):(mo(i.style,n,{text:n.get("show")?r:null,textPosition:n.getShallow("position")||"bottom"},{isRectText:!0,useInsideStyle:!1}),i.dirty(!1),null!=i.__mapOriginalZ2&&(i.z2=i.__mapOriginalZ2,i.__mapOriginalZ2=null))}function bc(t,e,i){var n=t.getZoom(),o=t.getCenter(),a=e.zoom,r=t.dataToPoint(o);if(null!=e.dx&&null!=e.dy){r[0]-=e.dx,r[1]-=e.dy;o=t.pointToData(r);t.setCenter(o)}if(null!=a){if(i){var s=i.min||0,l=i.max||1/0;a=Math.max(Math.min(n*a,l),s)/n}t.scale[0]*=a,t.scale[1]*=a;var u=t.position,h=(e.originX-u[0])*(a-1),c=(e.originY-u[1])*(a-1);u[0]-=h,u[1]-=c,t.updateTransform();o=t.pointToData(r);t.setCenter(o),t.setZoom(a*n)}return{center:t.getCenter(),zoom:t.getZoom()}}function Sc(){Tw.call(this)}function Mc(t){this.name=t,this.zoomLimit,Tw.call(this),this._roamTransformable=new Sc,this._rawTransformable=new Sc,this._center,this._zoom}function Ic(t,e,i,n){var o=i.seriesModel,a=o?o.coordinateSystem:null;return a===this?a[t](n):null}function Tc(t,e,i,n){Mc.call(this,t),this.map=e;var o=OC.load(e,i);this._nameCoordMap=o.nameCoordMap,this._regionsMap=o.regionsMap,this._invertLongitute=null==n||n,this.regions=o.regions,this._rect=o.boundingRect}function Ac(t,e,i,n){var o=i.geoModel,a=i.seriesModel,r=o?o.coordinateSystem:a?a.coordinateSystem||(a.getReferringComponents("geo")[0]||{}).coordinateSystem:null;return r===this?r[t](n):null}function Dc(t,e){var i=t.get("boundingCoords");if(null!=i){var n=i[0],o=i[1];isNaN(n[0])||isNaN(n[1])||isNaN(o[0])||isNaN(o[1])||this.setBoundingRect(n[0],n[1],o[0]-n[0],o[1]-n[1])}var a,r=this.getBoundingRect(),s=t.get("layoutCenter"),l=t.get("layoutSize"),u=e.getWidth(),h=e.getHeight(),c=r.width/r.height*this.aspectScale,d=!1;s&&l&&(s=[Vo(s[0],u),Vo(s[1],h)],l=Vo(l,Math.min(u,h)),isNaN(s[0])||isNaN(s[1])||isNaN(l)||(d=!0));if(d){var f={};c>1?(f.width=l,f.height=l/c):(f.height=l,f.width=l*c),f.y=s[1]-f.height/2,f.x=s[0]-f.width/2}else(a=t.getBoxLayoutParams()).aspect=c,f=ca(a,{width:u,height:h});this.setViewRect(f.x,f.y,f.width,f.height),this.setCenter(t.get("center")),this.setZoom(t.get("zoom"))}function Cc(t,e){d(e.get("geoCoord"),function(e,i){t.addGeoCoord(i,e)})}function Lc(t,e){var i={};return d(t,function(t){t.each(t.mapDimension("value"),function(e,n){var o="ec-"+t.getName(n);i[o]=i[o]||[],isNaN(e)||i[o].push(e)})}),t[0].map(t[0].mapDimension("value"),function(n,o){for(var a="ec-"+t[0].getName(o),r=0,s=1/0,l=-1/0,u=i[a].length,h=0;h=0;o--){var a=i[o];a.hierNode={defaultAncestor:null,ancestor:a,prelim:0,modifier:0,change:0,shift:0,i:o,thread:null},n.push(a)}}function Wc(t,e){var i=t.isExpand?t.children:[],n=t.parentNode.children,o=t.hierNode.i?n[t.hierNode.i-1]:null;if(i.length){jc(t);var a=(i[0].hierNode.prelim+i[i.length-1].hierNode.prelim)/2;o?(t.hierNode.prelim=o.hierNode.prelim+e(t,o),t.hierNode.modifier=t.hierNode.prelim-a):t.hierNode.prelim=a}else o&&(t.hierNode.prelim=o.hierNode.prelim+e(t,o));t.parentNode.hierNode.defaultAncestor=Yc(t,o,t.parentNode.hierNode.defaultAncestor||n[0],e)}function Hc(t){var e=t.hierNode.prelim+t.parentNode.hierNode.modifier;t.setLayout({x:e},!0),t.hierNode.modifier+=t.parentNode.hierNode.modifier}function Zc(t){return arguments.length?t:Qc}function Uc(t,e){var i={};return t-=Math.PI/2,i.x=e*Math.cos(t),i.y=e*Math.sin(t),i}function Xc(t,e){return ca(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function jc(t){for(var e=t.children,i=e.length,n=0,o=0;--i>=0;){var a=e[i];a.hierNode.prelim+=n,a.hierNode.modifier+=n,o+=a.hierNode.change,n+=a.hierNode.shift+o}}function Yc(t,e,i,n){if(e){for(var o=t,a=t,r=a.parentNode.children[0],s=e,l=o.hierNode.modifier,u=a.hierNode.modifier,h=r.hierNode.modifier,c=s.hierNode.modifier;s=qc(s),a=Kc(a),s&&a;){o=qc(o),r=Kc(r),o.hierNode.ancestor=t;var d=s.hierNode.prelim+c-a.hierNode.prelim-u+n(s,a);d>0&&(Jc($c(s,t,i),t,d),u+=d,l+=d),c+=s.hierNode.modifier,u+=a.hierNode.modifier,l+=o.hierNode.modifier,h+=r.hierNode.modifier}s&&!qc(o)&&(o.hierNode.thread=s,o.hierNode.modifier+=c-l),a&&!Kc(r)&&(r.hierNode.thread=a,r.hierNode.modifier+=u-h,i=t)}return i}function qc(t){var e=t.children;return e.length&&t.isExpand?e[e.length-1]:t.hierNode.thread}function Kc(t){var e=t.children;return e.length&&t.isExpand?e[0]:t.hierNode.thread}function $c(t,e,i){return t.hierNode.ancestor.parentNode===e.parentNode?t.hierNode.ancestor:i}function Jc(t,e,i){var n=i/(e.hierNode.i-t.hierNode.i);e.hierNode.change-=n,e.hierNode.shift+=i,e.hierNode.modifier+=i,e.hierNode.prelim+=i,t.hierNode.change+=n}function Qc(t,e){return t.parentNode===e.parentNode?1:2}function td(t,e){var i=t.getItemLayout(e);return i&&!isNaN(i.x)&&!isNaN(i.y)&&"none"!==t.getItemVisual(e,"symbol")}function ed(t,e,i){return i.itemModel=e,i.itemStyle=e.getModel("itemStyle").getItemStyle(),i.hoverItemStyle=e.getModel("emphasis.itemStyle").getItemStyle(),i.lineStyle=e.getModel("lineStyle").getLineStyle(),i.labelModel=e.getModel("label"),i.hoverLabelModel=e.getModel("emphasis.label"),!1===t.isExpand&&0!==t.children.length?i.symbolInnerColor=i.itemStyle.fill:i.symbolInnerColor="#fff",i}function id(t,e,i,n,o,a){var s=!i,l=t.tree.getNodeByDataIndex(e),a=ed(l,l.getModel(),a),u=t.tree.root,h=l.parentNode===u?l:l.parentNode||l,c=t.getItemGraphicEl(h.dataIndex),d=h.getLayout(),f=c?{x:c.position[0],y:c.position[1],rawX:c.__radialOldRawX,rawY:c.__radialOldRawY}:d,p=l.getLayout();s?(i=new wu(t,e,a)).attr("position",[f.x,f.y]):i.updateData(t,e,a),i.__radialOldRawX=i.__radialRawX,i.__radialOldRawY=i.__radialRawY,i.__radialRawX=p.rawX,i.__radialRawY=p.rawY,n.add(i),t.setItemGraphicEl(e,i),Io(i,{position:[p.x,p.y]},o);var g=i.getSymbolPath();if("radial"===a.layout){var m,v,y=u.children[0],x=y.getLayout(),_=y.children.length;if(p.x===x.x&&!0===l.isExpand){var w={};w.x=(y.children[0].getLayout().x+y.children[_-1].getLayout().x)/2,w.y=(y.children[0].getLayout().y+y.children[_-1].getLayout().y)/2,(m=Math.atan2(w.y-x.y,w.x-x.x))<0&&(m=2*Math.PI+m),(v=w.xx.x)||(m-=Math.PI);var b=v?"left":"right";g.setStyle({textPosition:b,textRotation:-m,textOrigin:"center",verticalAlign:"middle"})}if(l.parentNode&&l.parentNode!==u){var S=i.__edge;S||(S=i.__edge=new bM({shape:od(a,f,f),style:r({opacity:0,strokeNoScale:!0},a.lineStyle)})),Io(S,{shape:od(a,d,p),style:{opacity:1}},o),n.add(S)}}function nd(t,e,i,n,o,a){for(var r,s=t.tree.getNodeByDataIndex(e),l=t.tree.root,a=ed(s,s.getModel(),a),u=s.parentNode===l?s:s.parentNode||s;null==(r=u.getLayout());)u=u.parentNode===l?u:u.parentNode||u;Io(i,{position:[r.x+1,r.y+1]},o,function(){n.remove(i),t.setItemGraphicEl(e,null)}),i.fadeOut(null,{keepLabel:!0});var h=i.__edge;h&&Io(h,{shape:od(a,r,r),style:{opacity:0}},o,function(){n.remove(h)})}function od(t,e,i){var n,o,a,r,s,l,u,h,c=t.orient;if("radial"===t.layout){s=e.rawX,u=e.rawY,l=i.rawX,h=i.rawY;var d=Uc(s,u),f=Uc(s,u+(h-u)*t.curvature),p=Uc(l,h+(u-h)*t.curvature),g=Uc(l,h);return{x1:d.x,y1:d.y,x2:g.x,y2:g.y,cpx1:f.x,cpy1:f.y,cpx2:p.x,cpy2:p.y}}return s=e.x,u=e.y,l=i.x,h=i.y,"LR"!==c&&"RL"!==c||(n=s+(l-s)*t.curvature,o=u,a=l+(s-l)*t.curvature,r=h),"TB"!==c&&"BT"!==c||(n=s,o=u+(h-u)*t.curvature,a=l,r=h+(u-h)*t.curvature),{x1:s,y1:u,x2:l,y2:h,cpx1:n,cpy1:o,cpx2:a,cpy2:r}}function ad(t,e,i){for(var n,o=[t],a=[];n=o.pop();)if(a.push(n),n.isExpand){var r=n.children;if(r.length)for(var s=0;s=0;a--)n.push(o[a])}}function sd(t,e){var i=Xc(t,e);t.layoutInfo=i;var n=t.get("layout"),o=0,a=0,r=null;"radial"===n?(o=2*Math.PI,a=Math.min(i.height,i.width)/2,r=Zc(function(t,e){return(t.parentNode===e.parentNode?1:2)/t.depth})):(o=i.width,a=i.height,r=Zc());var s=t.getData().tree.root,l=s.children[0];if(l){Fc(s),ad(l,Wc,r),s.hierNode.modifier=-l.hierNode.prelim,rd(l,Hc);var u=l,h=l,c=l;rd(l,function(t){var e=t.getLayout().x;eh.getLayout().x&&(h=t),t.depth>c.depth&&(c=t)});var d=u===h?1:r(u,h)/2,f=d-u.getLayout().x,p=0,g=0,m=0,v=0;if("radial"===n)p=o/(h.getLayout().x+d+f),g=a/(c.depth-1||1),rd(l,function(t){m=(t.getLayout().x+f)*p,v=(t.depth-1)*g;var e=Uc(m,v);t.setLayout({x:e.x,y:e.y,rawX:m,rawY:v},!0)});else{var y=t.getOrient();"RL"===y||"LR"===y?(g=a/(h.getLayout().x+d+f),p=o/(c.depth-1||1),rd(l,function(t){v=(t.getLayout().x+f)*g,m="LR"===y?(t.depth-1)*p:o-(t.depth-1)*p,t.setLayout({x:m,y:v},!0)})):"TB"!==y&&"BT"!==y||(p=o/(h.getLayout().x+d+f),g=a/(c.depth-1||1),rd(l,function(t){m=(t.getLayout().x+f)*p,v="TB"===y?(t.depth-1)*g:a-(t.depth-1)*g,t.setLayout({x:m,y:v},!0)}))}}}function ld(t,e,i){if(t&&l(e,t.type)>=0){var n=i.getData().tree.root,o=t.targetNode;if("string"==typeof o&&(o=n.getNodeById(o)),o&&n.contains(o))return{node:o};var a=t.targetNodeId;if(null!=a&&(o=n.getNodeById(a)))return{node:o}}}function ud(t){for(var e=[];t;)(t=t.parentNode)&&e.push(t);return e.reverse()}function hd(t,e){return l(ud(t),e)>=0}function cd(t,e){for(var i=[];t;){var n=t.dataIndex;i.push({name:t.name,dataIndex:n,value:e.getRawValue(n)}),t=t.parentNode}return i.reverse(),i}function dd(t){var e=0;d(t.children,function(t){dd(t);var i=t.value;y(i)&&(i=i[0]),e+=i});var i=t.value;y(i)&&(i=i[0]),(null==i||isNaN(i))&&(i=e),i<0&&(i=0),y(t.value)?t.value[0]=i:t.value=i}function fd(t,e){var i=e.get("color");if(i){var n;return d(t=t||[],function(t){var e=new No(t),i=e.get("color");(e.get("itemStyle.color")||i&&"none"!==i)&&(n=!0)}),n||((t[0]||(t[0]={})).color=i.slice()),t}}function pd(t){this.group=new tb,t.add(this.group)}function gd(t,e,i,n,o,a){var r=[[o?t:t-UC,e],[t+i,e],[t+i,e+n],[o?t:t-UC,e+n]];return!a&&r.splice(2,0,[t+i+UC,e+n/2]),!o&&r.push([t,e+n/2]),r}function md(t,e,i){t.eventData={componentType:"series",componentSubType:"treemap",componentIndex:e.componentIndex,seriesIndex:e.componentIndex,seriesName:e.name,seriesType:"treemap",selfType:"breadcrumb",nodeData:{dataIndex:i&&i.dataIndex,name:i&&i.name},treePathInfo:i&&cd(i,e)}}function vd(){var t,e=[],i={};return{add:function(t,n,o,a,r){return _(a)&&(r=a,a=0),!i[t.id]&&(i[t.id]=1,e.push({el:t,target:n,time:o,delay:a,easing:r}),!0)},done:function(e){return t=e,this},start:function(){for(var n=e.length,o=0,a=e.length;o=0;a--)null==i[a]&&(delete n[e[a]],e.pop())}function bd(t,e){var i=t.visual,n=[];w(i)?sL(i,function(t){n.push(t)}):null!=i&&n.push(i);var o={color:1,symbol:1};e||1!==n.length||o.hasOwnProperty(t.type)||(n[1]=n[0]),Ld(t,n)}function Sd(t){return{applyVisual:function(e,i,n){e=this.mapValueToVisual(e),n("color",t(i("color"),e))},_doMap:Dd([0,1])}}function Md(t){var e=this.option.visual;return e[Math.round(Bo(t,[0,1],[0,e.length-1],!0))]||{}}function Id(t){return function(e,i,n){n(t,this.mapValueToVisual(e))}}function Td(t){var e=this.option.visual;return e[this.option.loop&&t!==uL?t%e.length:t]}function Ad(){return this.option.visual[0]}function Dd(t){return{linear:function(e){return Bo(e,t,this.option.visual,!0)},category:Td,piecewise:function(e,i){var n=Cd.call(this,i);return null==n&&(n=Bo(e,t,this.option.visual,!0)),n},fixed:Ad}}function Cd(t){var e=this.option,i=e.pieceList;if(e.hasSpecialVisual){var n=i[hL.findPieceIndex(t,i)];if(n&&n.visual)return n.visual[this.type]}}function Ld(t,e){return t.visual=e,"color"===t.type&&(t.parsedVisual=f(e,function(t){return Gt(t)})),e}function kd(t,e,i){return t?e<=i:e=o.length||t===o[t.depth])&&Pd(t,Vd(r,h,t,e,g,a),i,n,o,a)})}else l=Od(h),t.setVisual("color",l)}}function Nd(t,e,i,n){var o=a({},e);return d(["color","colorAlpha","colorSaturation"],function(a){var r=t.get(a,!0);null==r&&i&&(r=i[a]),null==r&&(r=e[a]),null==r&&(r=n.get(a)),null!=r&&(o[a]=r)}),o}function Od(t){var e=Rd(t,"color");if(e){var i=Rd(t,"colorAlpha"),n=Rd(t,"colorSaturation");return n&&(e=jt(e,null,null,n)),i&&(e=Yt(e,i)),e}}function Ed(t,e){return null!=e?jt(e,null,null,t):null}function Rd(t,e){var i=t[e];if(null!=i&&"none"!==i)return i}function zd(t,e,i,n,o,a){if(a&&a.length){var r=Bd(e,"color")||null!=o.color&&"none"!==o.color&&(Bd(e,"colorAlpha")||Bd(e,"colorSaturation"));if(r){var s=e.get("visualMin"),l=e.get("visualMax"),u=i.dataExtent.slice();null!=s&&su[1]&&(u[1]=l);var h=e.get("colorMappingBy"),c={type:r.name,dataExtent:u,visual:r.range};"color"!==c.type||"index"!==h&&"id"!==h?c.mappingMethod="linear":(c.mappingMethod="category",c.loop=!0);var d=new hL(c);return d.__drColorMappingBy=h,d}}}function Bd(t,e){var i=t.get(e);return fL(i)&&i.length?{name:e,range:i}:null}function Vd(t,e,i,n,o,r){var s=a({},e);if(o){var l=o.type,u="color"===l&&o.__drColorMappingBy,h="index"===u?n:"id"===u?r.mapIdToIndex(i.getId()):i.getValue(t.get("visualDimension"));s[l]=o.mapValueToVisual(h)}return s}function Gd(t,e,i,n){var o,a;if(!t.isRemoved()){var r=t.getLayout();o=r.width,a=r.height;var s=(f=t.getModel()).get(_L),l=f.get(wL)/2,u=Kd(f),h=Math.max(s,u),c=s-l,d=h-l,f=t.getModel();t.setLayout({borderWidth:s,upperHeight:h,upperLabelHeight:u},!0);var p=(o=mL(o-2*c,0))*(a=mL(a-c-d,0)),g=Fd(t,f,p,e,i,n);if(g.length){var m={x:c,y:d,width:o,height:a},v=vL(o,a),y=1/0,x=[];x.area=0;for(var _=0,w=g.length;_=0;l--){var u=o["asc"===n?r-l-1:l].getValue();u/i*es[1]&&(s[1]=e)})}else s=[NaN,NaN];return{sum:n,dataExtent:s}}function Ud(t,e,i){for(var n,o=0,a=1/0,r=0,s=t.length;ro&&(o=n));var l=t.area*t.area,u=e*e*i;return l?mL(u*o/l,l/(u*a)):1/0}function Xd(t,e,i,n,o){var a=e===i.width?0:1,r=1-a,s=["x","y"],l=["width","height"],u=i[s[a]],h=e?t.area/e:0;(o||h>i[l[r]])&&(h=i[l[r]]);for(var c=0,d=t.length;cXM&&(u=XM),a=s}u=0?n+=u:n-=u:p>=0?n-=u:n+=u}return n}function pf(t,e){return t.getVisual("opacity")||t.getModel().get(e)}function gf(t,e,i){var n=t.getGraphicEl(),o=pf(t,e);null!=i&&(null==o&&(o=1),o*=i),n.downplay&&n.downplay(),n.traverse(function(t){if("group"!==t.type){var e=t.lineLabelOriginalOpacity;null!=e&&null==i||(e=o),t.setStyle("opacity",e)}})}function mf(t,e){var i=pf(t,e),n=t.getGraphicEl();n.highlight&&n.highlight(),n.traverse(function(t){"group"!==t.type&&t.setStyle("opacity",i)})}function vf(t){return t instanceof Array||(t=[t,t]),t}function yf(t){var e=t.coordinateSystem;if(!e||"view"===e.type){var i=t.getGraph();i.eachNode(function(t){var e=t.getModel();t.setLayout([+e.get("x"),+e.get("y")])}),xf(i)}}function xf(t){t.eachEdge(function(t){var e=t.getModel().get("lineStyle.curveness")||0,i=F(t.node1.getLayout()),n=F(t.node2.getLayout()),o=[i,n];+e&&o.push([(i[0]+n[0])/2-(i[1]-n[1])*e,(i[1]+n[1])/2-(n[0]-i[0])*e]),t.setLayout(o)})}function _f(t){var e=t.coordinateSystem;if(!e||"view"===e.type){var i=e.getBoundingRect(),n=t.getData(),o=n.graph,a=0,r=n.getSum("value"),s=2*Math.PI/(r||n.count()),l=i.width/2+i.x,u=i.height/2+i.y,h=Math.min(i.width,i.height)/2;o.eachNode(function(t){var e=t.getValue("value");a+=s*(r?e:1)/2,t.setLayout([h*Math.cos(a)+l,h*Math.sin(a)+u]),a+=s*(r?e:1)/2}),n.setLayout({cx:l,cy:u}),o.eachEdge(function(t){var e,i=t.getModel().get("lineStyle.curveness")||0,n=F(t.node1.getLayout()),o=F(t.node2.getLayout()),a=(n[0]+o[0])/2,r=(n[1]+o[1])/2;+i&&(e=[l*(i*=3)+a*(1-i),u*i+r*(1-i)]),t.setLayout([n,o,e])})}}function wf(t,e,i){for(var n=i.rect,o=n.width,a=n.height,r=[n.x+o/2,n.y+a/2],s=null==i.gravity?.1:i.gravity,l=0;l0?-1:i<0?1:e?-1:1}}function Pf(t,e){return Math.min(e[1],Math.max(e[0],t))}function Nf(t,e,i){this._axesMap=R(),this._axesLayout={},this.dimensions=t.dimensions,this._rect,this._model=t,this._init(t,e,i)}function Of(t,e){return ek(ik(t,e[0]),e[1])}function Ef(t,e){var i=e.layoutLength/(e.axisCount-1);return{position:i*t,axisNameAvailableWidth:i,axisLabelShow:!0}}function Rf(t,e){var i,n,o=e.layoutLength,a=e.axisExpandWidth,r=e.axisCount,s=e.axisCollapseWidth,l=e.winInnerIndices,u=s,h=!1;return tmk}function $f(t){var e=t.length-1;return e<0&&(e=0),[t[0],t[e]]}function Jf(t,e,i,n){var o=new tb;return o.add(new yM({name:"main",style:ip(i),silent:!0,draggable:!0,cursor:"move",drift:uk(t,e,o,"nswe"),ondragend:uk(qf,e,{isEnd:!0})})),hk(n,function(i){o.add(new yM({name:i,style:{opacity:0},draggable:!0,silent:!0,invisible:!0,drift:uk(t,e,o,i),ondragend:uk(qf,e,{isEnd:!0})}))}),o}function Qf(t,e,i,n){var o=n.brushStyle.lineWidth||0,a=fk(o,vk),r=i[0][0],s=i[1][0],l=r-o/2,u=s-o/2,h=i[0][1],c=i[1][1],d=h-a+o/2,f=c-a+o/2,p=h-r,g=c-s,m=p+o,v=g+o;ep(t,e,"main",r,s,p,g),n.transformable&&(ep(t,e,"w",l,u,a,v),ep(t,e,"e",d,u,a,v),ep(t,e,"n",l,u,m,a),ep(t,e,"s",l,f,m,a),ep(t,e,"nw",l,u,a,a),ep(t,e,"ne",d,u,a,a),ep(t,e,"sw",l,f,a,a),ep(t,e,"se",d,f,a,a))}function tp(t,e){var i=e.__brushOption,n=i.transformable,o=e.childAt(0);o.useStyle(ip(i)),o.attr({silent:!n,cursor:n?"move":"default"}),hk(["w","e","n","s","se","sw","ne","nw"],function(i){var o=e.childOfName(i),a=ap(t,i);o&&o.attr({silent:!n,invisible:!n,cursor:n?_k[a]+"-resize":null})})}function ep(t,e,i,n,o,a,r){var s=e.childOfName(i);s&&s.setShape(hp(up(t,e,[[n,o],[n+a,o+r]])))}function ip(t){return r({strokeNoScale:!0},t.brushStyle)}function np(t,e,i,n){var o=[dk(t,i),dk(e,n)],a=[fk(t,i),fk(e,n)];return[[o[0],a[0]],[o[1],a[1]]]}function op(t){return Ao(t.group)}function ap(t,e){if(e.length>1)return("e"===(n=[ap(t,(e=e.split(""))[0]),ap(t,e[1])])[0]||"w"===n[0])&&n.reverse(),n.join("");var i={left:"w",right:"e",top:"n",bottom:"s"},n=Co({w:"left",e:"right",n:"top",s:"bottom"}[e],op(t));return i[n]}function rp(t,e,i,n,o,a,r,s){var l=n.__brushOption,u=t(l.range),h=lp(i,a,r);hk(o.split(""),function(t){var e=xk[t];u[e[0]][e[1]]+=h[e[0]]}),l.range=e(np(u[0][0],u[1][0],u[0][1],u[1][1])),Zf(i,n),qf(i,{isEnd:!1})}function sp(t,e,i,n,o){var a=e.__brushOption.range,r=lp(t,i,n);hk(a,function(t){t[0]+=r[0],t[1]+=r[1]}),Zf(t,e),qf(t,{isEnd:!1})}function lp(t,e,i){var n=t.group,o=n.transformCoordToLocal(e,i),a=n.transformCoordToLocal(0,0);return[o[0]-a[0],o[1]-a[1]]}function up(t,e,n){var o=jf(t,e);return o&&!0!==o?o.clipPath(n,t._transform):i(n)}function hp(t){var e=dk(t[0][0],t[1][0]),i=dk(t[0][1],t[1][1]);return{x:e,y:i,width:fk(t[0][0],t[1][0])-e,height:fk(t[0][1],t[1][1])-i}}function cp(t,e,i){if(t._brushType){var n=t._zr,o=t._covers,a=Xf(t,e,i);if(!t._dragging)for(var r=0;r0;a--)Yp(s,l*=.99,r),jp(s,o,i,n,r),tg(s,l,r),jp(s,o,i,n,r)}function Up(t,e){var i=[],n="vertical"===e?"y":"x",o=Zi(t,function(t){return t.getLayout()[n]});return o.keys.sort(function(t,e){return t-e}),d(o.keys,function(t){i.push(o.buckets.get(t))}),i}function Xp(t,e,i,n,o,a,r){var s=[];d(e,function(t){var e=t.length,i=0,l=0;d(t,function(t){i+=t.getLayout().value}),l="vertical"===r?(o-(e-1)*a)/i:(n-(e-1)*a)/i,s.push(l)}),s.sort(function(t,e){return t-e});var l=s[0];d(e,function(t){d(t,function(t,e){var i=t.getLayout().value*l;"vertical"===r?(t.setLayout({x:e},!0),t.setLayout({dx:i},!0)):(t.setLayout({y:e},!0),t.setLayout({dy:i},!0))})}),d(i,function(t){var e=+t.getValue()*l;t.setLayout({dy:e},!0)})}function jp(t,e,i,n,o){d(t,function(t){var a,r,s,l=0,u=t.length;if("vertical"===o){var h;for(t.sort(function(t,e){return t.getLayout().x-e.getLayout().x}),s=0;s0&&(h=a.getLayout().x+r,a.setLayout({x:h},!0)),l=a.getLayout().x+a.getLayout().dx+e;if((r=l-e-n)>0)for(h=a.getLayout().x-r,a.setLayout({x:h},!0),l=h,s=u-2;s>=0;--s)(r=(a=t[s]).getLayout().x+a.getLayout().dx+e-l)>0&&(h=a.getLayout().x-r,a.setLayout({x:h},!0)),l=a.getLayout().x}else{var c;for(t.sort(function(t,e){return t.getLayout().y-e.getLayout().y}),s=0;s0&&(c=a.getLayout().y+r,a.setLayout({y:c},!0)),l=a.getLayout().y+a.getLayout().dy+e;if((r=l-e-i)>0)for(c=a.getLayout().y-r,a.setLayout({y:c},!0),l=c,s=u-2;s>=0;--s)(r=(a=t[s]).getLayout().y+a.getLayout().dy+e-l)>0&&(c=a.getLayout().y-r,a.setLayout({y:c},!0)),l=a.getLayout().y}})}function Yp(t,e,i){d(t.slice().reverse(),function(t){d(t,function(t){if(t.outEdges.length){var n=Qp(t.outEdges,qp,i)/Qp(t.outEdges,Jp,i);if("vertical"===i){var o=t.getLayout().x+(n-$p(t,i))*e;t.setLayout({x:o},!0)}else{var a=t.getLayout().y+(n-$p(t,i))*e;t.setLayout({y:a},!0)}}})})}function qp(t,e){return $p(t.node2,e)*t.getValue()}function Kp(t,e){return $p(t.node1,e)*t.getValue()}function $p(t,e){return"vertical"===e?t.getLayout().x+t.getLayout().dx/2:t.getLayout().y+t.getLayout().dy/2}function Jp(t){return t.getValue()}function Qp(t,e,i){for(var n=0,o=t.length,a=-1;++a0?"P":"N",a=n.getVisual("borderColor"+o)||n.getVisual("color"+o),r=i.getModel(Gk).getItemStyle(Wk);e.useStyle(r),e.style.fill=null,e.style.stroke=a}function fg(t,e,i,n,o){return i>n?-1:i0?t.get(o,e-1)<=n?1:-1:1}function pg(t,e){var i,n=t.getBaseAxis(),o="category"===n.type?n.getBandWidth():(i=n.getExtent(),Math.abs(i[1]-i[0])/e.count()),a=Vo(A(t.get("barMaxWidth"),o),o),r=Vo(A(t.get("barMinWidth"),1),o),s=t.get("barWidth");return null!=s?Vo(s,o):Math.max(Math.min(o/2,a),r)}function gg(t){return y(t)||(t=[+t,+t]),t}function mg(t,e){t.eachChild(function(t){t.attr({z:e.z,zlevel:e.zlevel,style:{stroke:"stroke"===e.brushType?e.color:null,fill:"fill"===e.brushType?e.color:null}})})}function vg(t,e){tb.call(this);var i=new wu(t,e),n=new tb;this.add(i),this.add(n),n.beforeUpdate=function(){this.attr(i.getScale())},this.updateData(t,e)}function yg(t){var e=t.data;e&&e[0]&&e[0][0]&&e[0][0].coord&&(t.data=f(e,function(t){var e={coords:[t[0].coord,t[1].coord]};return t[0].name&&(e.fromName=t[0].name),t[1].name&&(e.toName=t[1].name),o([e,t[0],t[1]])}))}function xg(t,e,i){tb.call(this),this.add(this.createLine(t,e,i)),this._updateEffectSymbol(t,e)}function _g(t,e,i){tb.call(this),this._createPolyline(t,e,i)}function wg(t,e,i){xg.call(this,t,e,i),this._lastFrame=0,this._lastFramePercent=0}function bg(){this.group=new tb}function Sg(t){return t instanceof Array||(t=[t,t]),t}function Mg(){var t=iw();this.canvas=t,this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={}}function Ig(t,e,i){var n=t[1]-t[0],o=(e=f(e,function(e){return{interval:[(e.interval[0]-t[0])/n,(e.interval[1]-t[0])/n]}})).length,a=0;return function(t){for(n=a;n=0;n--){var r=e[n].interval;if(r[0]<=t&&t<=r[1]){a=n;break}}return n>=0&&n=e[0]&&t<=e[1]}}function Ag(t){var e=t.dimensions;return"lng"===e[0]&&"lat"===e[1]}function Dg(t,e,i,n){var o=t.getItemLayout(e),a=i.get("symbolRepeat"),r=i.get("symbolClip"),s=i.get("symbolPosition")||"start",l=(i.get("symbolRotate")||0)*Math.PI/180||0,u=i.get("symbolPatternSize")||2,h=i.isAnimationEnabled(),c={dataIndex:e,layout:o,itemModel:i,symbolType:t.getItemVisual(e,"symbol")||"circle",color:t.getItemVisual(e,"color"),symbolClip:r,symbolRepeat:a,symbolRepeatDirection:i.get("symbolRepeatDirection"),symbolPatternSize:u,rotation:l,animationModel:h?i:null,hoverAnimation:h&&i.get("hoverAnimation"),z2:i.getShallow("z",!0)||0};Cg(i,a,o,n,c),kg(t,e,o,a,r,c.boundingLength,c.pxSign,u,n,c),Pg(i,c.symbolScale,l,n,c);var d=c.symbolSize,f=i.get("symbolOffset");return y(f)&&(f=[Vo(f[0],d[0]),Vo(f[1],d[1])]),Ng(i,d,o,a,r,f,s,c.valueLineWidth,c.boundingLength,c.repeatCutLength,n,c),c}function Cg(t,e,i,n,o){var a,r=n.valueDim,s=t.get("symbolBoundingData"),l=n.coordSys.getOtherAxis(n.coordSys.getBaseAxis()),u=l.toGlobalCoord(l.dataToCoord(0)),h=1-+(i[r.wh]<=0);if(y(s)){var c=[Lg(l,s[0])-u,Lg(l,s[1])-u];c[1]0?1:a<0?-1:0}function Lg(t,e){return t.toGlobalCoord(t.dataToCoord(t.scale.parse(e)))}function kg(t,e,i,n,o,a,r,s,l,u){var h=l.valueDim,c=l.categoryDim,d=Math.abs(i[c.wh]),f=t.getItemVisual(e,"symbolSize");y(f)?f=f.slice():(null==f&&(f="100%"),f=[f,f]),f[c.index]=Vo(f[c.index],d),f[h.index]=Vo(f[h.index],n?d:Math.abs(a)),u.symbolSize=f,(u.symbolScale=[f[0]/s,f[1]/s])[h.index]*=(l.isHorizontal?-1:1)*r}function Pg(t,e,i,n,o){var a=t.get(cP)||0;a&&(fP.attr({scale:e.slice(),rotation:i}),fP.updateTransform(),a/=fP.getLineScale(),a*=e[n.valueDim.index]),o.valueLineWidth=a}function Ng(t,e,i,n,o,r,s,l,u,h,c,d){var f=c.categoryDim,p=c.valueDim,g=d.pxSign,m=Math.max(e[p.index]+l,0),v=m;if(n){var y=Math.abs(u),x=T(t.get("symbolMargin"),"15%")+"",_=!1;x.lastIndexOf("!")===x.length-1&&(_=!0,x=x.slice(0,x.length-1)),x=Vo(x,e[p.index]);var w=Math.max(m+2*x,0),b=_?0:2*x,S=Qo(n),M=S?n:Kg((y+b)/w);w=m+2*(x=(y-M*m)/2/(_?M:M-1)),b=_?0:2*x,S||"fixed"===n||(M=h?Kg((Math.abs(h)+b)/w):0),v=M*w-b,d.repeatTimes=M,d.symbolMargin=x}var I=g*(v/2),A=d.pathPosition=[];A[f.index]=i[f.wh]/2,A[p.index]="start"===s?I:"end"===s?u-I:u/2,r&&(A[0]+=r[0],A[1]+=r[1]);var D=d.bundlePosition=[];D[f.index]=i[f.xy],D[p.index]=i[p.xy];var C=d.barRectShape=a({},i);C[p.wh]=g*Math.max(Math.abs(i[p.wh]),Math.abs(A[p.index]+I)),C[f.wh]=i[f.wh];var L=d.clipShape={};L[f.xy]=-i[f.xy],L[f.wh]=c.ecSize[f.wh],L[p.xy]=0,L[p.wh]=i[p.wh]}function Og(t){var e=t.symbolPatternSize,i=Jl(t.symbolType,-e/2,-e/2,e,e,t.color);return i.attr({culling:!0}),"image"!==i.type&&i.setStyle({strokeNoScale:!0}),i}function Eg(t,e,i,n){function o(t){var e=l.slice(),n=i.pxSign,o=t;return("start"===i.symbolRepeatDirection?n>0:n<0)&&(o=h-1-t),e[u.index]=d*(o-h/2+.5)+l[u.index],{position:e,scale:i.symbolScale.slice(),rotation:i.rotation}}var a=t.__pictorialBundle,r=i.symbolSize,s=i.valueLineWidth,l=i.pathPosition,u=e.valueDim,h=i.repeatTimes||0,c=0,d=r[e.valueDim.index]+s+2*i.symbolMargin;for(jg(t,function(t){t.__pictorialAnimationIndex=c,t.__pictorialRepeatTimes=h,c0)],d=t.__pictorialBarRect;kh(d.style,h,a,n,e.seriesModel,o,c),fo(d,h)}function Kg(t){var e=Math.round(t);return Math.abs(t-e)<1e-4?e:Math.ceil(t)}function $g(t,e,i){this.dimension="single",this.dimensions=["single"],this._axis=null,this._rect,this._init(t,e,i),this.model=t}function Jg(t,e){e=e||{};var i=t.coordinateSystem,n=t.axis,o={},a=n.position,r=n.orient,s=i.getRect(),l=[s.x,s.x+s.width,s.y,s.y+s.height],u={horizontal:{top:l[2],bottom:l[3]},vertical:{left:l[0],right:l[1]}};o.position=["vertical"===r?u.vertical[a]:l[0],"horizontal"===r?u.horizontal[a]:l[3]];var h={horizontal:0,vertical:1};o.rotation=Math.PI/2*h[r];var c={top:-1,bottom:1,right:1,left:-1};o.labelDirection=o.tickDirection=o.nameDirection=c[a],t.get("axisTick.inside")&&(o.tickDirection=-o.tickDirection),T(e.labelInside,t.get("axisLabel.inside"))&&(o.labelDirection=-o.labelDirection);var d=e.rotate;return null==d&&(d=t.get("axisLabel.rotate")),o.labelRotation="top"===a?-d:d,o.z2=1,o}function Qg(t,e,i,n,o){var r=t.axis;if(!r.scale.isBlank()&&r.containData(e))if(t.involveSeries){var s=tm(e,t),l=s.payloadBatch,u=s.snapToValue;l[0]&&null==o.seriesIndex&&a(o,l[0]),!n&&t.snap&&r.containData(u)&&null!=u&&(e=u),i.showPointer(t,e,l,o),i.showTooltip(t,s,u)}else i.showPointer(t,e)}function tm(t,e){var i=e.axis,n=i.dim,o=t,a=[],r=Number.MAX_VALUE,s=-1;return _P(e.seriesModels,function(e,l){var u,h,c=e.getData().mapDimension(n,!0);if(e.getAxisTooltipData){var d=e.getAxisTooltipData(c,t,i);h=d.dataIndices,u=d.nestestValue}else{if(!(h=e.getData().indicesOfNearest(c[0],t,"category"===i.type?.5:null)).length)return;u=e.getData().get(c[0],h[0])}if(null!=u&&isFinite(u)){var f=t-u,p=Math.abs(f);p<=r&&((p=0&&s<0)&&(r=p,s=f,o=u,a.length=0),_P(h,function(t){a.push({seriesIndex:e.seriesIndex,dataIndexInside:t,dataIndex:e.getData().getRawIndex(t)})}))}}),{payloadBatch:a,snapToValue:o}}function em(t,e,i,n){t[e.key]={value:i,payloadBatch:n}}function im(t,e,i,n){var o=i.payloadBatch,a=e.axis,r=a.model,s=e.axisPointerModel;if(e.triggerTooltip&&o.length){var l=e.coordSys.model,u=Ah(l),h=t.map[u];h||(h=t.map[u]={coordSysId:l.id,coordSysIndex:l.componentIndex,coordSysType:l.type,coordSysMainType:l.mainType,dataByAxis:[]},t.list.push(h)),h.dataByAxis.push({axisDim:a.dim,axisIndex:r.componentIndex,axisType:r.type,axisId:r.id,value:n,valueLabelOpt:{precision:s.get("label.precision"),formatter:s.get("label.formatter")},seriesDataIndices:o.slice()})}}function nm(t,e,i){var n=i.axesInfo=[];_P(e,function(e,i){var o=e.axisPointerModel.option,a=t[i];a?(!e.useHandle&&(o.status="show"),o.value=a.value,o.seriesDataIndices=(a.payloadBatch||[]).slice()):!e.useHandle&&(o.status="hide"),"show"===o.status&&n.push({axisDim:e.axis.dim,axisIndex:e.axis.model.componentIndex,value:o.value})})}function om(t,e,i,n){if(!lm(e)&&t.list.length){var o=((t.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};n({type:"showTip",escapeConnect:!0,x:e[0],y:e[1],tooltipOption:i.tooltipOption,position:i.position,dataIndexInside:o.dataIndexInside,dataIndex:o.dataIndex,seriesIndex:o.seriesIndex,dataByCoordSys:t.list})}else n({type:"hideTip"})}function am(t,e,i){var n=i.getZr(),o=bP(n).axisPointerLastHighlights||{},a=bP(n).axisPointerLastHighlights={};_P(t,function(t,e){var i=t.axisPointerModel.option;"show"===i.status&&_P(i.seriesDataIndices,function(t){var e=t.seriesIndex+" | "+t.dataIndex;a[e]=t})});var r=[],s=[];d(o,function(t,e){!a[e]&&s.push(t)}),d(a,function(t,e){!o[e]&&r.push(t)}),s.length&&i.dispatchAction({type:"downplay",escapeConnect:!0,batch:s}),r.length&&i.dispatchAction({type:"highlight",escapeConnect:!0,batch:r})}function rm(t,e){for(var i=0;i<(t||[]).length;i++){var n=t[i];if(e.axis.dim===n.axisDim&&e.axis.model.componentIndex===n.axisIndex)return n}}function sm(t){var e=t.axis.model,i={},n=i.axisDim=t.axis.dim;return i.axisIndex=i[n+"AxisIndex"]=e.componentIndex,i.axisName=i[n+"AxisName"]=e.name,i.axisId=i[n+"AxisId"]=e.id,i}function lm(t){return!t||null==t[0]||isNaN(t[0])||null==t[1]||isNaN(t[1])}function um(t,e,i){if(!U_.node){var n=e.getZr();SP(n).records||(SP(n).records={}),hm(n,e),(SP(n).records[t]||(SP(n).records[t]={})).handler=i}}function hm(t,e){function i(i,n){t.on(i,function(i){var o=pm(e);MP(SP(t).records,function(t){t&&n(t,i,o.dispatchAction)}),cm(o.pendings,e)})}SP(t).initialized||(SP(t).initialized=!0,i("click",v(fm,"click")),i("mousemove",v(fm,"mousemove")),i("globalout",dm))}function cm(t,e){var i,n=t.showTip.length,o=t.hideTip.length;n?i=t.showTip[n-1]:o&&(i=t.hideTip[o-1]),i&&(i.dispatchAction=null,e.dispatchAction(i))}function dm(t,e,i){t.handler("leave",null,i)}function fm(t,e,i,n){e.handler(t,i,n)}function pm(t){var e={showTip:[],hideTip:[]},i=function(n){var o=e[n.type];o?o.push(n):(n.dispatchAction=i,t.dispatchAction(n))};return{dispatchAction:i,pendings:e}}function gm(t,e){if(!U_.node){var i=e.getZr();(SP(i).records||{})[t]&&(SP(i).records[t]=null)}}function mm(){}function vm(t,e,i,n){ym(TP(i).lastProp,n)||(TP(i).lastProp=n,e?Io(i,n,t):(i.stopAnimation(),i.attr(n)))}function ym(t,e){if(w(t)&&w(e)){var i=!0;return d(e,function(e,n){i=i&&ym(t[n],e)}),!!i}return t===e}function xm(t,e){t[e.get("label.show")?"show":"hide"]()}function _m(t){return{position:t.position.slice(),rotation:t.rotation||0}}function wm(t,e,i){var n=e.get("z"),o=e.get("zlevel");t&&t.traverse(function(t){"group"!==t.type&&(null!=n&&(t.z=n),null!=o&&(t.zlevel=o),t.silent=i)})}function bm(t){var e,i=t.get("type"),n=t.getModel(i+"Style");return"line"===i?(e=n.getLineStyle()).fill=null:"shadow"===i&&((e=n.getAreaStyle()).stroke=null),e}function Sm(t,e,i,n,o){var a=Im(i.get("value"),e.axis,e.ecModel,i.get("seriesDataIndices"),{precision:i.get("label.precision"),formatter:i.get("label.formatter")}),r=i.getModel("label"),s=qM(r.get("padding")||0),l=r.getFont(),u=ke(a,l),h=o.position,c=u.width+s[1]+s[3],d=u.height+s[0]+s[2],f=o.align;"right"===f&&(h[0]-=c),"center"===f&&(h[0]-=c/2);var p=o.verticalAlign;"bottom"===p&&(h[1]-=d),"middle"===p&&(h[1]-=d/2),Mm(h,c,d,n);var g=r.get("backgroundColor");g&&"auto"!==g||(g=e.get("axisLine.lineStyle.color")),t.label={shape:{x:0,y:0,width:c,height:d,r:r.get("borderRadius")},position:h.slice(),style:{text:a,textFont:l,textFill:r.getTextColor(),textPosition:"inside",fill:g,stroke:r.get("borderColor")||"transparent",lineWidth:r.get("borderWidth")||0,shadowBlur:r.get("shadowBlur"),shadowColor:r.get("shadowColor"),shadowOffsetX:r.get("shadowOffsetX"),shadowOffsetY:r.get("shadowOffsetY")},z2:10}}function Mm(t,e,i,n){var o=n.getWidth(),a=n.getHeight();t[0]=Math.min(t[0]+e,o)-e,t[1]=Math.min(t[1]+i,a)-i,t[0]=Math.max(t[0],0),t[1]=Math.max(t[1],0)}function Im(t,e,i,n,o){t=e.scale.parse(t);var a=e.scale.getLabel(t,{precision:o.precision}),r=o.formatter;if(r){var s={value:Xl(e,t),seriesData:[]};d(n,function(t){var e=i.getSeriesByIndex(t.seriesIndex),n=t.dataIndexInside,o=e&&e.getDataParams(n);o&&s.seriesData.push(o)}),_(r)?a=r.replace("{value}",a):x(r)&&(a=r(s))}return a}function Tm(t,e,i){var n=xt();return Mt(n,n,i.rotation),St(n,n,i.position),Do([t.dataToCoord(e),(i.labelOffset||0)+(i.labelDirection||1)*(i.labelMargin||0)],n)}function Am(t,e,i,n,o,a){var r=FD.innerTextLayout(i.rotation,0,i.labelDirection);i.labelMargin=o.get("label.margin"),Sm(e,n,o,a,{position:Tm(n.axis,t,i),align:r.textAlign,verticalAlign:r.textVerticalAlign})}function Dm(t,e,i){return i=i||0,{x1:t[i],y1:t[1-i],x2:e[i],y2:e[1-i]}}function Cm(t,e,i){return i=i||0,{x:t[i],y:t[1-i],width:e[i],height:e[1-i]}}function Lm(t,e,i,n,o,a){return{cx:t,cy:e,r0:i,r:n,startAngle:o,endAngle:a,clockwise:!0}}function km(t,e){var i={};return i[e.dim+"AxisIndex"]=e.index,t.getCartesian(i)}function Pm(t){return"x"===t.dim?0:1}function Nm(t){return t.isHorizontal()?0:1}function Om(t,e){var i=t.getRect();return[i[kP[e]],i[kP[e]]+i[PP[e]]]}function Em(t,e,i){var n=new yM({shape:{x:t.x-10,y:t.y-10,width:0,height:t.height+20}});return To(n,{shape:{width:t.width+20,height:t.height+20}},e,i),n}function Rm(t,e,i){if(t.count())for(var n,o=e.coordinateSystem,a=e.getLayerSeries(),r=t.mapDimension("single"),s=t.mapDimension("value"),l=f(a,function(e){return f(e.indices,function(e){var i=o.dataToPoint(t.get(r,e));return i[1]=t.get(s,e),i})}),u=zm(l),h=u.y0,c=i/u.max,d=a.length,p=a[0].indices.length,g=0;ga&&(a=u),n.push(u)}for(var h=0;ha&&(a=d)}return r.y0=o,r.max=a,r}function Bm(t){var e=0;d(t.children,function(t){Bm(t);var i=t.value;y(i)&&(i=i[0]),e+=i});var i=t.value;y(i)&&(i=i[0]),(null==i||isNaN(i))&&(i=e),i<0&&(i=0),y(t.value)?t.value[0]=i:t.value=i}function Vm(t,e,i){function n(){r.ignore=r.hoverIgnore}function o(){r.ignore=r.normalIgnore}tb.call(this);var a=new hM({z2:zP});a.seriesIndex=e.seriesIndex;var r=new rM({z2:BP,silent:t.getModel("label").get("silent")});this.add(a),this.add(r),this.updateData(!0,t,"normal",e,i),this.on("emphasis",n).on("normal",o).on("mouseover",n).on("mouseout",o)}function Gm(t,e,i){var n=t.getVisual("color"),o=t.getVisual("visualMeta");o&&0!==o.length||(n=null);var a=t.getModel("itemStyle").get("color");if(a)return a;if(n)return n;if(0===t.depth)return i.option.color[0];var r=i.option.color.length;return a=i.option.color[Fm(t)%r]}function Fm(t){for(var e=t;e.depth>1;)e=e.parentNode;return l(t.getAncestors()[0].children,e)}function Wm(t,e,i){return i!==RP.NONE&&(i===RP.SELF?t===e:i===RP.ANCESTOR?t===e||t.isAncestorOf(e):t===e||t.isDescendantOf(e))}function Hm(t,e,i){e.getData().setItemVisual(t.dataIndex,"color",i)}function Zm(t,e){var i=t.children||[];t.children=Um(i,e),i.length&&d(t.children,function(t){Zm(t,e)})}function Um(t,e){if("function"==typeof e)return t.sort(e);var i="asc"===e;return t.sort(function(t,e){var n=(t.getValue()-e.getValue())*(i?1:-1);return 0===n?(t.dataIndex-e.dataIndex)*(i?-1:1):n})}function Xm(t,e){return e=e||[0,0],f(["x","y"],function(i,n){var o=this.getAxis(i),a=e[n],r=t[n]/2;return"category"===o.type?o.getBandWidth():Math.abs(o.dataToCoord(a-r)-o.dataToCoord(a+r))},this)}function jm(t,e){return e=e||[0,0],f([0,1],function(i){var n=e[i],o=t[i]/2,a=[],r=[];return a[i]=n-o,r[i]=n+o,a[1-i]=r[1-i]=e[1-i],Math.abs(this.dataToPoint(a)[i]-this.dataToPoint(r)[i])},this)}function Ym(t,e){var i=this.getAxis(),n=e instanceof Array?e[0]:e,o=(t instanceof Array?t[0]:t)/2;return"category"===i.type?i.getBandWidth():Math.abs(i.dataToCoord(n-o)-i.dataToCoord(n+o))}function qm(t,e){return f(["Radius","Angle"],function(i,n){var o=this["get"+i+"Axis"](),a=e[n],r=t[n]/2,s="dataTo"+i,l="category"===o.type?o.getBandWidth():Math.abs(o[s](a-r)-o[s](a+r));return"Angle"===i&&(l=l*Math.PI/180),l},this)}function Km(t){var e,i=t.type;if("path"===i){var n=t.shape,o=null!=n.width&&null!=n.height?{x:n.x||0,y:n.y||0,width:n.width,height:n.height}:null,a=lv(n);(e=Xn(a,null,o,n.layout||"center")).__customPathData=a}else"image"===i?(e=new fi({})).__customImagePath=t.style.image:"text"===i?(e=new rM({})).__customText=t.style.text:e=new(0,zM[i.charAt(0).toUpperCase()+i.slice(1)]);return e.__customGraphicType=i,e.name=t.name,e}function $m(t,e,n,o,a,r,s){var l={},u=n.style||{};if(n.shape&&(l.shape=i(n.shape)),n.position&&(l.position=n.position.slice()),n.scale&&(l.scale=n.scale.slice()),n.origin&&(l.origin=n.origin.slice()),n.rotation&&(l.rotation=n.rotation),"image"===t.type&&n.style){h=l.style={};d(["x","y","width","height"],function(e){Jm(e,h,u,t.style,r)})}if("text"===t.type&&n.style){var h=l.style={};d(["x","y"],function(e){Jm(e,h,u,t.style,r)}),!u.hasOwnProperty("textFill")&&u.fill&&(u.textFill=u.fill),!u.hasOwnProperty("textStroke")&&u.stroke&&(u.textStroke=u.stroke)}if("group"!==t.type&&(t.useStyle(u),r)){t.style.opacity=0;var c=u.opacity;null==c&&(c=1),To(t,{style:{opacity:c}},o,e)}r?t.attr(l):Io(t,l,o,e),n.hasOwnProperty("z2")&&t.attr("z2",n.z2||0),n.hasOwnProperty("silent")&&t.attr("silent",n.silent),n.hasOwnProperty("invisible")&&t.attr("invisible",n.invisible),n.hasOwnProperty("ignore")&&t.attr("ignore",n.ignore),n.hasOwnProperty("info")&&t.attr("info",n.info);var f=n.styleEmphasis,p=!1===f;t.__cusHasEmphStl&&null==f||!t.__cusHasEmphStl&&p||(ro(t,f),t.__cusHasEmphStl=!p),s&&po(t,!p)}function Jm(t,e,i,n,o){null==i[t]||o||(e[t]=i[t],i[t]=n[t])}function Qm(t,e,i,n){function o(t){null==t&&(t=h),v&&(c=e.getItemModel(t),d=c.getModel(UP),f=c.getModel(XP),p=e.getItemVisual(t,"color"),v=!1)}var s=t.get("renderItem"),l=t.coordinateSystem,u={};l&&(u=l.prepareCustoms?l.prepareCustoms():YP[l.type](l));var h,c,d,f,p,g=r({getWidth:n.getWidth,getHeight:n.getHeight,getZr:n.getZr,getDevicePixelRatio:n.getDevicePixelRatio,value:function(t,i){return null==i&&(i=h),e.get(e.getDimension(t||0),i)},style:function(i,n){null==n&&(n=h),o(n);var r=c.getModel(HP).getItemStyle();null!=p&&(r.fill=p);var s=e.getItemVisual(n,"opacity");return null!=s&&(r.opacity=s),mo(r,d,null,{autoColor:p,isRectText:!0}),r.text=d.getShallow("show")?A(t.getFormattedLabel(n,"normal"),_u(e,n)):null,i&&a(r,i),r},styleEmphasis:function(i,n){null==n&&(n=h),o(n);var r=c.getModel(ZP).getItemStyle();return mo(r,f,null,{isRectText:!0},!0),r.text=f.getShallow("show")?D(t.getFormattedLabel(n,"emphasis"),t.getFormattedLabel(n,"normal"),_u(e,n)):null,i&&a(r,i),r},visual:function(t,i){return null==i&&(i=h),e.getItemVisual(i,t)},barLayout:function(t){if(l.getBaseAxis)return Ll(r({axis:l.getBaseAxis()},t),n)},currentSeriesIndices:function(){return i.getCurrentSeriesIndices()},font:function(t){return So(t,i)}},u.api||{}),m={context:{},seriesId:t.id,seriesName:t.name,seriesIndex:t.seriesIndex,coordSys:u.coordSys,dataInsideLength:e.count(),encode:tv(t.getData())},v=!0;return function(t,i){return h=t,v=!0,s&&s(r({dataIndexInside:t,dataIndex:e.getRawIndex(t),actionType:i?i.type:null},m),g)}}function tv(t){var e={};return d(t.dimensions,function(i,n){var o=t.getDimensionInfo(i);if(!o.isExtraCoord){var a=o.coordDim;(e[a]=e[a]||[])[o.coordDimIndex]=n}}),e}function ev(t,e,i,n,o,a){return(t=iv(t,e,i,n,o,a,!0))&&a.setItemGraphicEl(e,t),t}function iv(t,e,i,n,o,a,r){var s=!i,l=(i=i||{}).type,u=i.shape,h=i.style;if(t&&(s||null!=l&&l!==t.__customGraphicType||"path"===l&&uv(u)&&lv(u)!==t.__customPathData||"image"===l&&hv(h,"image")&&h.image!==t.__customImagePath||"text"===l&&hv(u,"text")&&h.text!==t.__customText)&&(o.remove(t),t=null),!s){var c=!t;return!t&&(t=Km(i)),$m(t,e,i,n,a,c,r),"group"===l&&nv(t,e,i,n,a),o.add(t),t}}function nv(t,e,i,n,o){var a=i.children,r=a?a.length:0,s=i.$mergeChildren,l="byName"===s||i.diffChildrenByName,u=!1===s;if(r||l||u)if(l)ov({oldChildren:t.children()||[],newChildren:a||[],dataIndex:e,animatableModel:n,group:t,data:o});else{u&&t.removeAll();for(var h=0;hn?t-=l+a:t+=a),null!=r&&(e+u+r>o?e-=u+r:e+=r),[t,e]}function Ov(t,e,i,n,o){var a=i.getOuterSize(),r=a.width,s=a.height;return t=Math.min(t+r,n)-r,e=Math.min(e+s,o)-s,t=Math.max(t,0),e=Math.max(e,0),[t,e]}function Ev(t,e,i){var n=i[0],o=i[1],a=0,r=0,s=e.width,l=e.height;switch(t){case"inside":a=e.x+s/2-n/2,r=e.y+l/2-o/2;break;case"top":a=e.x+s/2-n/2,r=e.y-o-5;break;case"bottom":a=e.x+s/2-n/2,r=e.y+l+5;break;case"left":a=e.x-n-5,r=e.y+l/2-o/2;break;case"right":a=e.x+s+5,r=e.y+l/2-o/2}return[a,r]}function Rv(t){return"center"===t||"middle"===t}function zv(t){return t.get("stack")||"__ec_stack_"+t.seriesIndex}function Bv(t){return t.dim}function Vv(t,e){var i={};d(t,function(t,e){var n=t.getData(),o=t.coordinateSystem.getBaseAxis(),a=o.getExtent(),r="category"===o.type?o.getBandWidth():Math.abs(a[1]-a[0])/n.count(),s=i[Bv(o)]||{bandWidth:r,remainedWidth:r,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},l=s.stacks;i[Bv(o)]=s;var u=zv(t);l[u]||s.autoWidthCount++,l[u]=l[u]||{width:0,maxWidth:0};var h=Vo(t.get("barWidth"),r),c=Vo(t.get("barMaxWidth"),r),d=t.get("barGap"),f=t.get("barCategoryGap");h&&!l[u].width&&(h=Math.min(s.remainedWidth,h),l[u].width=h,s.remainedWidth-=h),c&&(l[u].maxWidth=c),null!=d&&(s.gap=d),null!=f&&(s.categoryGap=f)});var n={};return d(i,function(t,e){n[e]={};var i=t.stacks,o=t.bandWidth,a=Vo(t.categoryGap,o),r=Vo(t.gap,1),s=t.remainedWidth,l=t.autoWidthCount,u=(s-a)/(l+(l-1)*r);u=Math.max(u,0),d(i,function(t,e){var i=t.maxWidth;i&&ie[0]&&(e=e.slice().reverse());var n=t.coordToPoint([e[0],i]),o=t.coordToPoint([e[1],i]);return{x1:n[0],y1:n[1],x2:o[0],y2:o[1]}}function jv(t){return t.getRadiusAxis().inverse?0:1}function Yv(t){var e=t[0],i=t[t.length-1];e&&i&&Math.abs(Math.abs(e.coord-i.coord)-360)<1e-4&&t.pop()}function qv(t,e,i){return{position:[t.cx,t.cy],rotation:i/180*Math.PI,labelDirection:-1,tickDirection:-1,nameDirection:1,labelRotate:e.getModel("axisLabel").get("rotate"),z2:1}}function Kv(t,e,i,n,o){var a=e.axis,r=a.dataToCoord(t),s=n.getAngleAxis().getExtent()[0];s=s/180*Math.PI;var l,u,h,c=n.getRadiusAxis().getExtent();if("radius"===a.dim){var d=xt();Mt(d,d,s),St(d,d,[n.cx,n.cy]),l=Do([r,-o],d);var f=e.getModel("axisLabel").get("rotate")||0,p=FD.innerTextLayout(s,f*Math.PI/180,-1);u=p.textAlign,h=p.textVerticalAlign}else{var g=c[1];l=n.coordToPoint([g+o,r]);var m=n.cx,v=n.cy;u=Math.abs(l[0]-m)/g<.3?"center":l[0]>m?"left":"right",h=Math.abs(l[1]-v)/g<.3?"middle":l[1]>v?"top":"bottom"}return{position:l,align:u,verticalAlign:h}}function $v(t,e){e.update="updateView",Es(e,function(e,i){var n={};return i.eachComponent({mainType:"geo",query:e},function(i){i[t](e.name),d(i.coordinateSystem.regions,function(t){n[t.name]=i.isSelected(t.name)||!1})}),{selected:n,name:e.name}})}function Jv(t){var e={};d(t,function(t){e[t]=1}),t.length=0,d(e,function(e,i){t.push(i)})}function Qv(t){if(t)for(var e in t)if(t.hasOwnProperty(e))return!0}function ty(t,e,n){function o(){var t=function(){};return t.prototype.__hidden=t.prototype,new t}var a={};return MN(e,function(e){var r=a[e]=o();MN(t[e],function(t,o){if(hL.isValidType(o)){var a={type:o,visual:t};n&&n(a,e),r[o]=new hL(a),"opacity"===o&&((a=i(a)).type="colorAlpha",r.__hidden.__alphaForOpacity=new hL(a))}})}),a}function ey(t,e,n){var o;d(n,function(t){e.hasOwnProperty(t)&&Qv(e[t])&&(o=!0)}),o&&d(n,function(n){e.hasOwnProperty(n)&&Qv(e[n])?t[n]=i(e[n]):delete t[n]})}function iy(t,e,i,n,o,a){function r(t){return i.getItemVisual(h,t)}function s(t,e){i.setItemVisual(h,t,e)}function l(t,l){h=null==a?t:l;var c=i.getRawDataItem(h);if(!c||!1!==c.visualMap)for(var d=n.call(o,t),f=e[d],p=u[d],g=0,m=p.length;g1)return!1;var h=uy(i-t,o-t,n-e,a-e)/l;return!(h<0||h>1)}function ly(t){return t<=1e-6&&t>=-1e-6}function uy(t,e,i,n){return t*n-e*i}function hy(t,e,i){var n=this._targetInfoList=[],o={},a=dy(e,t);TN(PN,function(t,e){(!i||!i.include||AN(i.include,e)>=0)&&t(a,n,o)})}function cy(t){return t[0]>t[1]&&t.reverse(),t}function dy(t,e){return Vi(t,e,{includeMainTypes:LN})}function fy(t,e,i,n){var o=i.getAxis(["x","y"][t]),a=cy(f([0,1],function(t){return e?o.coordToData(o.toLocalCoord(n[t])):o.toGlobalCoord(o.dataToCoord(n[t]))})),r=[];return r[t]=a,r[1-t]=[NaN,NaN],{values:a,xyMinMax:r}}function py(t,e,i,n){return[e[0]-n[t]*i[0],e[1]-n[t]*i[1]]}function gy(t,e){var i=my(t),n=my(e),o=[i[0]/n[0],i[1]/n[1]];return isNaN(o[0])&&(o[0]=1),isNaN(o[1])&&(o[1]=1),o}function my(t){return t?[t[0][1]-t[0][0],t[1][1]-t[1][0]]:[NaN,NaN]}function vy(t,e,i,n,o){if(o){var a=t.getZr();a[VN]||(a[BN]||(a[BN]=yy),Nr(a,BN,i,e)(t,n))}}function yy(t,e){if(!t.isDisposed()){var i=t.getZr();i[VN]=!0,t.dispatchAction({type:"brushSelect",batch:e}),i[VN]=!1}}function xy(t,e,i,n){for(var o=0,a=e.length;o=0}function Ny(t,e,i){function n(t,e){return l(e.nodes,t)>=0}function o(t,n){var o=!1;return e(function(e){d(i(t,e)||[],function(t){n.records[e.name][t]&&(o=!0)})}),o}function a(t,n){n.nodes.push(t),e(function(e){d(i(t,e)||[],function(t){n.records[e.name][t]=!0})})}return function(i){var r={nodes:[],records:{}};if(e(function(t){r.records[t.name]={}}),!i)return r;a(i,r);var s;do{s=!1,t(function(t){!n(t,r)&&o(t,r)&&(a(t,r),s=!0)})}while(s);return r}}function Oy(t,e,i){var n=[1/0,-1/0];return $N(i,function(t){var i=t.getData();i&&$N(i.mapDimension(e,!0),function(t){var e=i.getApproximateExtent(t);e[0]n[1]&&(n[1]=e[1])})}),n[1]0?0:NaN);var r=i.getMax(!0);return null!=r&&"dataMax"!==r&&"function"!=typeof r?e[1]=r:o&&(e[1]=a>0?a-1:NaN),i.get("scale",!0)||(e[0]>0&&(e[0]=0),e[1]<0&&(e[1]=0)),e}function Ry(t,e){var i=t.getAxisModel(),n=t._percentWindow,o=t._valueWindow;if(n){var a=Zo(o,[0,500]);a=Math.min(a,20);var r=e||0===n[0]&&100===n[1];i.setRange(r?null:+o[0].toFixed(a),r?null:+o[1].toFixed(a))}}function zy(t){var e=t._minMaxSpan={},i=t._dataZoomModel;$N(["min","max"],function(n){e[n+"Span"]=i.get(n+"Span");var o=i.get(n+"ValueSpan");if(null!=o&&(e[n+"ValueSpan"]=o,null!=(o=t.getAxisModel().axis.scale.parse(o)))){var a=t._dataExtent;e[n+"Span"]=Bo(a[0]+o,a,[0,100],!0)}})}function By(t){var e={};return tO(["start","end","startValue","endValue","throttle"],function(i){t.hasOwnProperty(i)&&(e[i]=t[i])}),e}function Vy(t,e){var i=t._rangePropMode,n=t.get("rangeMode");tO([["start","startValue"],["end","endValue"]],function(t,o){var a=null!=e[t[0]],r=null!=e[t[1]];a&&!r?i[o]="percent":!a&&r?i[o]="value":n?i[o]=n[o]:a&&(i[o]="percent")})}function Gy(t){return{x:"y",y:"x",radius:"angle",angle:"radius"}[t]}function Fy(t){return"vertical"===t?"ns-resize":"ew-resize"}function Wy(t,e){var i=Uy(t),n=e.dataZoomId,o=e.coordId;d(i,function(t,i){var a=t.dataZoomInfos;a[n]&&l(e.allCoordIds,o)<0&&(delete a[n],t.count--)}),jy(i);var a=i[o];a||((a=i[o]={coordId:o,dataZoomInfos:{},count:0}).controller=Xy(t,a),a.dispatchAction=v(Yy,t)),!a.dataZoomInfos[n]&&a.count++,a.dataZoomInfos[n]=e;var r=qy(a.dataZoomInfos);a.controller.enable(r.controlType,r.opt),a.controller.setPointerChecker(e.containsPoint),Nr(a,"dispatchAction",e.dataZoomModel.get("throttle",!0),"fixRate")}function Hy(t,e){var i=Uy(t);d(i,function(t){t.controller.dispose();var i=t.dataZoomInfos;i[e]&&(delete i[e],t.count--)}),jy(i)}function Zy(t){return t.type+"\0_"+t.id}function Uy(t){var e=t.getZr();return e[fO]||(e[fO]={})}function Xy(t,e){var i=new oc(t.getZr());return d(["pan","zoom","scrollMove"],function(t){i.on(t,function(i){var n=[];d(e.dataZoomInfos,function(o){if(i.isAvailableBehavior(o.dataZoomModel.option)){var a=(o.getRange||{})[t],r=a&&a(e.controller,i);!o.dataZoomModel.get("disabled",!0)&&r&&n.push({dataZoomId:o.dataZoomId,start:r[0],end:r[1]})}}),n.length&&e.dispatchAction(n)})}),i}function jy(t){d(t,function(e,i){e.count||(e.controller.dispose(),delete t[i])})}function Yy(t,e){t.dispatchAction({type:"dataZoom",batch:e})}function qy(t){var e,i={type_true:2,type_move:1,type_false:0,type_undefined:-1},n=!0;return d(t,function(t){var o=t.dataZoomModel,a=!o.get("disabled",!0)&&(!o.get("zoomLock",!0)||"move");i["type_"+a]>i["type_"+e]&&(e=a),n&=o.get("preventDefaultMouseMove",!0)}),{controlType:e,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!n}}}function Ky(t){return function(e,i,n,o){var a=this._range,r=a.slice(),s=e.axisModels[0];if(s){var l=t(r,s,e,i,n,o);return QL(l,r,[0,100],"all"),this._range=r,a[0]!==r[0]||a[1]!==r[1]?r:void 0}}}function $y(t,e){return t&&t.hasOwnProperty&&t.hasOwnProperty(e)}function Jy(t,e,i,n){for(var o=e.targetVisuals[n],a=hL.prepareVisualTypes(o),r={color:t.getData().getVisual("color")},s=0,l=a.length;s=0&&(r[a]=+r[a].toFixed(h)),r}function fx(t,e){var n=t.getData(),o=t.coordinateSystem;if(e&&!cx(e)&&!y(e.coord)&&o){var a=o.dimensions,r=px(e,n,o,t);if((e=i(e)).type&&YO[e.type]&&r.baseAxis&&r.valueAxis){var s=XO(a,r.baseAxis.dim),l=XO(a,r.valueAxis.dim);e.coord=YO[e.type](n,r.baseDataDim,r.valueDataDim,s,l),e.value=e.coord[l]}else{for(var u=[null!=e.xAxis?e.xAxis:e.radiusAxis,null!=e.yAxis?e.yAxis:e.angleAxis],h=0;h<2;h++)YO[u[h]]&&(u[h]=yx(n,n.mapDimension(a[h]),u[h]));e.coord=u}}return e}function px(t,e,i,n){var o={};return null!=t.valueIndex||null!=t.valueDim?(o.valueDataDim=null!=t.valueIndex?e.getDimension(t.valueIndex):t.valueDim,o.valueAxis=i.getAxis(gx(n,o.valueDataDim)),o.baseAxis=i.getOtherAxis(o.valueAxis),o.baseDataDim=e.mapDimension(o.baseAxis.dim)):(o.baseAxis=n.getBaseAxis(),o.valueAxis=i.getOtherAxis(o.baseAxis),o.baseDataDim=e.mapDimension(o.baseAxis.dim),o.valueDataDim=e.mapDimension(o.valueAxis.dim)),o}function gx(t,e){var i=t.getData(),n=i.dimensions;e=i.getDimension(e);for(var o=0;o=0)return!0}function Yx(t){for(var e=t.split(/\n+/g),i=[],n=f(Xx(e.shift()).split(pE),function(t){return{name:t,data:[]}}),o=0;o=0&&!i[o][n];o--);if(o<0){var a=t.queryComponents({mainType:"dataZoom",subType:"select",id:n})[0];if(a){var r=a.getPercentRange();i[0][n]={dataZoomId:n,start:r[0],end:r[1]}}}}),i.push(e)}function t_(t){var e=n_(t),i=e[e.length-1];e.length>1&&e.pop();var n={};return gE(i,function(t,i){for(var o=e.length-1;o>=0;o--)if(t=e[o][i]){n[i]=t;break}}),n}function e_(t){t[mE]=null}function i_(t){return n_(t).length}function n_(t){var e=t[mE];return e||(e=t[mE]=[{}]),e}function o_(t,e,i){(this._brushController=new zf(i.getZr())).on("brush",m(this._onBrush,this)).mount(),this._isZoomActive}function a_(t){var e={};return d(["xAxisIndex","yAxisIndex"],function(i){e[i]=t[i],null==e[i]&&(e[i]="all"),(!1===e[i]||"none"===e[i])&&(e[i]=[])}),e}function r_(t,e){t.setIconStatus("back",i_(e)>1?"emphasis":"normal")}function s_(t,e,i,n,o){var a=i._isZoomActive;n&&"takeGlobalCursor"===n.type&&(a="dataZoomSelect"===n.key&&n.dataZoomSelectActive),i._isZoomActive=a,t.setIconStatus("zoom",a?"emphasis":"normal");var r=new hy(a_(t.option),e,{include:["grid"]});i._brushController.setPanels(r.makePanelOpts(o,function(t){return t.xAxisDeclared&&!t.yAxisDeclared?"lineX":!t.xAxisDeclared&&t.yAxisDeclared?"lineY":"rect"})).enableBrush(!!a&&{brushType:"auto",brushStyle:{lineWidth:0,fill:"rgba(0,0,0,0.2)"}})}function l_(t){this.model=t}function u_(t){return SE(t)}function h_(){if(!TE&&AE){TE=!0;var t=AE.styleSheets;t.length<31?AE.createStyleSheet().addRule(".zrvml","behavior:url(#default#VML)"):t[0].addRule(".zrvml","behavior:url(#default#VML)")}}function c_(t){return parseInt(t,10)}function d_(t,e){h_(),this.root=t,this.storage=e;var i=document.createElement("div"),n=document.createElement("div");i.style.cssText="display:inline-block;overflow:hidden;position:relative;width:300px;height:150px;",n.style.cssText="position:absolute;left:0;top:0;",t.appendChild(i),this._vmlRoot=n,this._vmlViewport=i,this.resize();var o=e.delFromStorage,a=e.addToStorage;e.delFromStorage=function(t){o.call(e,t),t&&t.onRemove&&t.onRemove(n)},e.addToStorage=function(t){t.onAdd&&t.onAdd(n),a.call(e,t)},this._firstPaint=!0}function f_(t){return function(){Yw('In IE8.0 VML mode painter not support method "'+t+'"')}}function p_(t){return document.createElementNS(sR,t)}function g_(t){return cR(1e4*t)/1e4}function m_(t){return t-vR}function v_(t,e){var i=e?t.textFill:t.fill;return null!=i&&i!==hR}function y_(t,e){var i=e?t.textStroke:t.stroke;return null!=i&&i!==hR}function x_(t,e){e&&__(t,"transform","matrix("+uR.call(e,",")+")")}function __(t,e,i){(!i||"linear"!==i.type&&"radial"!==i.type)&&t.setAttribute(e,i)}function w_(t,e,i){t.setAttributeNS("http://www.w3.org/1999/xlink",e,i)}function b_(t,e,i,n){if(v_(e,i)){var o=i?e.textFill:e.fill;o="transparent"===o?hR:o,"none"!==t.getAttribute("clip-path")&&o===hR&&(o="rgba(0, 0, 0, 0.002)"),__(t,"fill",o),__(t,"fill-opacity",null!=e.fillOpacity?e.fillOpacity*e.opacity:e.opacity)}else __(t,"fill",hR);if(y_(e,i)){var a=i?e.textStroke:e.stroke;__(t,"stroke",a="transparent"===a?hR:a),__(t,"stroke-width",(i?e.textStrokeWidth:e.lineWidth)/(!i&&e.strokeNoScale?n.getLineScale():1)),__(t,"paint-order",i?"stroke":"fill"),__(t,"stroke-opacity",null!=e.strokeOpacity?e.strokeOpacity:e.opacity),e.lineDash?(__(t,"stroke-dasharray",e.lineDash.join(",")),__(t,"stroke-dashoffset",cR(e.lineDashOffset||0))):__(t,"stroke-dasharray",""),e.lineCap&&__(t,"stroke-linecap",e.lineCap),e.lineJoin&&__(t,"stroke-linejoin",e.lineJoin),e.miterLimit&&__(t,"stroke-miterlimit",e.miterLimit)}else __(t,"stroke",hR)}function S_(t){for(var e=[],i=t.data,n=t.len(),o=0;o=gR||!m_(g)&&(d>-pR&&d<0||d>pR)==!!p;var y=g_(s+u*fR(c)),x=g_(l+h*dR(c));m&&(d=p?gR-1e-4:1e-4-gR,v=!0,9===o&&e.push("M",y,x));var _=g_(s+u*fR(c+d)),w=g_(l+h*dR(c+d));e.push("A",g_(u),g_(h),cR(f*mR),+v,+p,_,w);break;case lR.Z:a="Z";break;case lR.R:var _=g_(i[o++]),w=g_(i[o++]),b=g_(i[o++]),S=g_(i[o++]);e.push("M",_,w,"L",_+b,w,"L",_+b,w+S,"L",_,w+S,"L",_,w)}a&&e.push(a);for(var M=0;M=11),domSupported:"undefined"!=typeof document}}(navigator.userAgent),X_={"[object Function]":1,"[object RegExp]":1,"[object Date]":1,"[object Error]":1,"[object CanvasGradient]":1,"[object CanvasPattern]":1,"[object Image]":1,"[object Canvas]":1},j_={"[object Int8Array]":1,"[object Uint8Array]":1,"[object Uint8ClampedArray]":1,"[object Int16Array]":1,"[object Uint16Array]":1,"[object Int32Array]":1,"[object Uint32Array]":1,"[object Float32Array]":1,"[object Float64Array]":1},Y_=Object.prototype.toString,q_=Array.prototype,K_=q_.forEach,$_=q_.filter,J_=q_.slice,Q_=q_.map,tw=q_.reduce,ew={},iw=function(){return ew.createCanvas()};ew.createCanvas=function(){return document.createElement("canvas")};var nw,ow="__ec_primitive__";E.prototype={constructor:E,get:function(t){return this.data.hasOwnProperty(t)?this.data[t]:null},set:function(t,e){return this.data[t]=e},each:function(t,e){void 0!==e&&(t=m(t,e));for(var i in this.data)this.data.hasOwnProperty(i)&&t(this.data[i],i)},removeKey:function(t){delete this.data[t]}};var aw=(Object.freeze||Object)({$override:e,clone:i,merge:n,mergeAll:o,extend:a,defaults:r,createCanvas:iw,getContext:s,indexOf:l,inherits:u,mixin:h,isArrayLike:c,each:d,map:f,reduce:p,filter:g,find:function(t,e,i){if(t&&e)for(var n=0,o=t.length;n3&&(n=dw.call(n,1));for(var a=e.length,r=0;r4&&(n=dw.call(n,1,n.length-1));for(var a=n[n.length-1],r=e.length,s=0;s1&&n&&n.length>1){var a=ft(n)/ft(o);!isFinite(a)&&(a=1),e.pinchScale=a;var r=pt(n);return e.pinchX=r[0],e.pinchY=r[1],{type:"pinch",target:t[0].target,event:e}}}}},xw="silent";vt.prototype.dispose=function(){};var _w=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],ww=function(t,e,i,n){fw.call(this),this.storage=t,this.painter=e,this.painterRoot=n,i=i||new vt,this.proxy=null,this._hovered={},this._lastTouchMoment,this._lastX,this._lastY,this._gestureMgr,it.call(this),this.setHandlerProxy(i)};ww.prototype={constructor:ww,setHandlerProxy:function(t){this.proxy&&this.proxy.dispose(),t&&(d(_w,function(e){t.on&&t.on(e,this[e],this)},this),t.handler=this),this.proxy=t},mousemove:function(t){var e=t.zrX,i=t.zrY,n=this._hovered,o=n.target;o&&!o.__zr&&(o=(n=this.findHover(n.x,n.y)).target);var a=this._hovered=this.findHover(e,i),r=a.target,s=this.proxy;s.setCursor&&s.setCursor(r?r.cursor:"default"),o&&r!==o&&this.dispatchToElement(n,"mouseout",t),this.dispatchToElement(a,"mousemove",t),r&&r!==o&&this.dispatchToElement(a,"mouseover",t)},mouseout:function(t){this.dispatchToElement(this._hovered,"mouseout",t);var e,i=t.toElement||t.relatedTarget;do{i=i&&i.parentNode}while(i&&9!==i.nodeType&&!(e=i===this.painterRoot));!e&&this.trigger("globalout",{event:t})},resize:function(t){this._hovered={}},dispatch:function(t,e){var i=this[t];i&&i.call(this,e)},dispose:function(){this.proxy.dispose(),this.storage=this.proxy=this.painter=null},setCursorStyle:function(t){var e=this.proxy;e.setCursor&&e.setCursor(t)},dispatchToElement:function(t,e,i){var n=(t=t||{}).target;if(!n||!n.silent){for(var o="on"+e,a=gt(e,t,i);n&&(n[o]&&(a.cancelBubble=n[o].call(n,a)),n.trigger(e,a),n=n.parent,!a.cancelBubble););a.cancelBubble||(this.trigger(e,a),this.painter&&this.painter.eachOtherLayer(function(t){"function"==typeof t[o]&&t[o].call(t,a),t.trigger&&t.trigger(e,a)}))}},findHover:function(t,e,i){for(var n=this.storage.getDisplayList(),o={x:t,y:e},a=n.length-1;a>=0;a--){var r;if(n[a]!==i&&!n[a].ignore&&(r=yt(n[a],t,e))&&(!o.topTarget&&(o.topTarget=n[a]),r!==xw)){o.target=n[a];break}}return o},processGesture:function(t,e){this._gestureMgr||(this._gestureMgr=new vw);var i=this._gestureMgr;"start"===e&&i.clear();var n=i.recognize(t,this.findHover(t.zrX,t.zrY,null).target,this.proxy.dom);if("end"===e&&i.clear(),n){var o=n.type;t.gestureEvent=o,this.dispatchToElement({target:n.target},o,n.event)}}},d(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(t){ww.prototype[t]=function(e){var i=this.findHover(e.zrX,e.zrY),n=i.target;if("mousedown"===t)this._downEl=n,this._downPoint=[e.zrX,e.zrY],this._upEl=n;else if("mouseup"===t)this._upEl=n;else if("click"===t){if(this._downEl!==this._upEl||!this._downPoint||uw(this._downPoint,[e.zrX,e.zrY])>4)return;this._downPoint=null}this.dispatchToElement(i,t,e)}}),h(ww,fw),h(ww,it);var bw="undefined"==typeof Float32Array?Array:Float32Array,Sw=(Object.freeze||Object)({create:xt,identity:_t,copy:wt,mul:bt,translate:St,rotate:Mt,scale:It,invert:Tt,clone:At}),Mw=_t,Iw=5e-5,Tw=function(t){(t=t||{}).position||(this.position=[0,0]),null==t.rotation&&(this.rotation=0),t.scale||(this.scale=[1,1]),this.origin=this.origin||null},Aw=Tw.prototype;Aw.transform=null,Aw.needLocalTransform=function(){return Dt(this.rotation)||Dt(this.position[0])||Dt(this.position[1])||Dt(this.scale[0]-1)||Dt(this.scale[1]-1)};var Dw=[];Aw.updateTransform=function(){var t=this.parent,e=t&&t.transform,i=this.needLocalTransform(),n=this.transform;if(i||e){n=n||xt(),i?this.getLocalTransform(n):Mw(n),e&&(i?bt(n,t.transform,n):wt(n,t.transform)),this.transform=n;var o=this.globalScaleRatio;if(null!=o&&1!==o){this.getGlobalScale(Dw);var a=Dw[0]<0?-1:1,r=Dw[1]<0?-1:1,s=((Dw[0]-a)*o+a)/Dw[0]||0,l=((Dw[1]-r)*o+r)/Dw[1]||0;n[0]*=s,n[1]*=s,n[2]*=l,n[3]*=l}this.invTransform=this.invTransform||xt(),Tt(this.invTransform,n)}else n&&Mw(n)},Aw.getLocalTransform=function(t){return Tw.getLocalTransform(this,t)},Aw.setTransform=function(t){var e=this.transform,i=t.dpr||1;e?t.setTransform(i*e[0],i*e[1],i*e[2],i*e[3],i*e[4],i*e[5]):t.setTransform(i,0,0,i,0,0)},Aw.restoreTransform=function(t){var e=t.dpr||1;t.setTransform(e,0,0,e,0,0)};var Cw=[],Lw=xt();Aw.setLocalTransform=function(t){if(t){var e=t[0]*t[0]+t[1]*t[1],i=t[2]*t[2]+t[3]*t[3],n=this.position,o=this.scale;Dt(e-1)&&(e=Math.sqrt(e)),Dt(i-1)&&(i=Math.sqrt(i)),t[0]<0&&(e=-e),t[3]<0&&(i=-i),n[0]=t[4],n[1]=t[5],o[0]=e,o[1]=i,this.rotation=Math.atan2(-t[1]/i,t[0]/e)}},Aw.decomposeTransform=function(){if(this.transform){var t=this.parent,e=this.transform;t&&t.transform&&(bt(Cw,t.invTransform,e),e=Cw);var i=this.origin;i&&(i[0]||i[1])&&(Lw[4]=i[0],Lw[5]=i[1],bt(Cw,e,Lw),Cw[4]-=i[0],Cw[5]-=i[1],e=Cw),this.setLocalTransform(e)}},Aw.getGlobalScale=function(t){var e=this.transform;return t=t||[],e?(t[0]=Math.sqrt(e[0]*e[0]+e[1]*e[1]),t[1]=Math.sqrt(e[2]*e[2]+e[3]*e[3]),e[0]<0&&(t[0]=-t[0]),e[3]<0&&(t[1]=-t[1]),t):(t[0]=1,t[1]=1,t)},Aw.transformCoordToLocal=function(t,e){var i=[t,e],n=this.invTransform;return n&&Q(i,i,n),i},Aw.transformCoordToGlobal=function(t,e){var i=[t,e],n=this.transform;return n&&Q(i,i,n),i},Tw.getLocalTransform=function(t,e){Mw(e=e||[]);var i=t.origin,n=t.scale||[1,1],o=t.rotation||0,a=t.position||[0,0];return i&&(e[4]-=i[0],e[5]-=i[1]),It(e,e,n),o&&Mt(e,e,o),i&&(e[4]+=i[0],e[5]+=i[1]),e[4]+=a[0],e[5]+=a[1],e};var kw={linear:function(t){return t},quadraticIn:function(t){return t*t},quadraticOut:function(t){return t*(2-t)},quadraticInOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)},cubicIn:function(t){return t*t*t},cubicOut:function(t){return--t*t*t+1},cubicInOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},quarticIn:function(t){return t*t*t*t},quarticOut:function(t){return 1- --t*t*t*t},quarticInOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},quinticIn:function(t){return t*t*t*t*t},quinticOut:function(t){return--t*t*t*t*t+1},quinticInOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},sinusoidalIn:function(t){return 1-Math.cos(t*Math.PI/2)},sinusoidalOut:function(t){return Math.sin(t*Math.PI/2)},sinusoidalInOut:function(t){return.5*(1-Math.cos(Math.PI*t))},exponentialIn:function(t){return 0===t?0:Math.pow(1024,t-1)},exponentialOut:function(t){return 1===t?1:1-Math.pow(2,-10*t)},exponentialInOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))},circularIn:function(t){return 1-Math.sqrt(1-t*t)},circularOut:function(t){return Math.sqrt(1- --t*t)},circularInOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},elasticIn:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},elasticOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},elasticInOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)},backIn:function(t){var e=1.70158;return t*t*((e+1)*t-e)},backOut:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},backInOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)},bounceIn:function(t){return 1-kw.bounceOut(1-t)},bounceOut:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},bounceInOut:function(t){return t<.5?.5*kw.bounceIn(2*t):.5*kw.bounceOut(2*t-1)+.5}};Ct.prototype={constructor:Ct,step:function(t,e){if(this._initialized||(this._startTime=t+this._delay,this._initialized=!0),this._paused)this._pausedTime+=e;else{var i=(t-this._startTime-this._pausedTime)/this._life;if(!(i<0)){i=Math.min(i,1);var n=this.easing,o="string"==typeof n?kw[n]:n,a="function"==typeof o?o(i):i;return this.fire("frame",a),1===i?this.loop?(this.restart(t),"restart"):(this._needsRemove=!0,"destroy"):null}}},restart:function(t){var e=(t-this._startTime-this._pausedTime)%this._life;this._startTime=t-e+this.gap,this._pausedTime=0,this._needsRemove=!1},fire:function(t,e){this[t="on"+t]&&this[t](this._target,e)},pause:function(){this._paused=!0},resume:function(){this._paused=!1}};var Pw=function(){this.head=null,this.tail=null,this._len=0},Nw=Pw.prototype;Nw.insert=function(t){var e=new Ow(t);return this.insertEntry(e),e},Nw.insertEntry=function(t){this.head?(this.tail.next=t,t.prev=this.tail,t.next=null,this.tail=t):this.head=this.tail=t,this._len++},Nw.remove=function(t){var e=t.prev,i=t.next;e?e.next=i:this.head=i,i?i.prev=e:this.tail=e,t.next=t.prev=null,this._len--},Nw.len=function(){return this._len},Nw.clear=function(){this.head=this.tail=null,this._len=0};var Ow=function(t){this.value=t,this.next,this.prev},Ew=function(t){this._list=new Pw,this._map={},this._maxSize=t||10,this._lastRemovedEntry=null},Rw=Ew.prototype;Rw.put=function(t,e){var i=this._list,n=this._map,o=null;if(null==n[t]){var a=i.len(),r=this._lastRemovedEntry;if(a>=this._maxSize&&a>0){var s=i.head;i.remove(s),delete n[s.key],o=s.value,this._lastRemovedEntry=s}r?r.value=e:r=new Ow(e),r.key=t,i.insertEntry(r),n[t]=r}return o},Rw.get=function(t){var e=this._map[t],i=this._list;if(null!=e)return e!==i.tail&&(i.remove(e),i.insertEntry(e)),e.value},Rw.clear=function(){this._list.clear(),this._map={}};var zw={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]},Bw=new Ew(20),Vw=null,Gw=Ut,Fw=Xt,Ww=(Object.freeze||Object)({parse:Gt,lift:Ht,toHex:Zt,fastLerp:Ut,fastMapToColor:Gw,lerp:Xt,mapToColor:Fw,modifyHSL:jt,modifyAlpha:Yt,stringify:qt}),Hw=Array.prototype.slice,Zw=function(t,e,i,n){this._tracks={},this._target=t,this._loop=e||!1,this._getter=i||Kt,this._setter=n||$t,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};Zw.prototype={when:function(t,e){var i=this._tracks;for(var n in e)if(e.hasOwnProperty(n)){if(!i[n]){i[n]=[];var o=this._getter(this._target,n);if(null==o)continue;0!==t&&i[n].push({time:0,value:ae(o)})}i[n].push({time:t,value:e[n]})}return this},during:function(t){return this._onframeList.push(t),this},pause:function(){for(var t=0;t=i.x&&t<=i.x+i.width&&e>=i.y&&e<=i.y+i.height},clone:function(){return new de(this.x,this.y,this.width,this.height)},copy:function(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}},de.create=function(t){return new de(t.x,t.y,t.width,t.height)};var tb=function(t){t=t||{},Kw.call(this,t);for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);this._children=[],this.__storage=null,this.__dirty=!0};tb.prototype={constructor:tb,isGroup:!0,type:"group",silent:!1,children:function(){return this._children.slice()},childAt:function(t){return this._children[t]},childOfName:function(t){for(var e=this._children,i=0;i=0&&(i.splice(n,0,t),this._doAdd(t))}return this},_doAdd:function(t){t.parent&&t.parent.remove(t),t.parent=this;var e=this.__storage,i=this.__zr;e&&e!==t.__storage&&(e.addToStorage(t),t instanceof tb&&t.addChildrenToStorage(e)),i&&i.refresh()},remove:function(t){var e=this.__zr,i=this.__storage,n=this._children,o=l(n,t);return o<0?this:(n.splice(o,1),t.parent=null,i&&(i.delFromStorage(t),t instanceof tb&&t.delChildrenFromStorage(i)),e&&e.refresh(),this)},removeAll:function(){var t,e,i=this._children,n=this.__storage;for(e=0;e=0&&(this.delFromStorage(t),this._roots.splice(o,1),t instanceof tb&&t.delChildrenFromStorage(this))}},addToStorage:function(t){return t&&(t.__storage=this,t.dirty(!1)),this},delFromStorage:function(t){return t&&(t.__storage=null),this},dispose:function(){this._renderList=this._roots=null},displayableSortFunc:we};var ob={shadowBlur:1,shadowOffsetX:1,shadowOffsetY:1,textShadowBlur:1,textShadowOffsetX:1,textShadowOffsetY:1,textBoxShadowBlur:1,textBoxShadowOffsetX:1,textBoxShadowOffsetY:1},ab=function(t,e,i){return ob.hasOwnProperty(e)?i*=t.dpr:i},rb={NONE:0,STYLE_BIND:1,PLAIN_TEXT:2},sb=9,lb=[["shadowBlur",0],["shadowOffsetX",0],["shadowOffsetY",0],["shadowColor","#000"],["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]],ub=function(t){this.extendFrom(t,!1)};ub.prototype={constructor:ub,fill:"#000",stroke:null,opacity:1,fillOpacity:null,strokeOpacity:null,lineDash:null,lineDashOffset:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,lineWidth:1,strokeNoScale:!1,text:null,font:null,textFont:null,fontStyle:null,fontWeight:null,fontSize:null,fontFamily:null,textTag:null,textFill:"#000",textStroke:null,textWidth:null,textHeight:null,textStrokeWidth:0,textLineHeight:null,textPosition:"inside",textRect:null,textOffset:null,textAlign:null,textVerticalAlign:null,textDistance:5,textShadowColor:"transparent",textShadowBlur:0,textShadowOffsetX:0,textShadowOffsetY:0,textBoxShadowColor:"transparent",textBoxShadowBlur:0,textBoxShadowOffsetX:0,textBoxShadowOffsetY:0,transformText:!1,textRotation:0,textOrigin:null,textBackgroundColor:null,textBorderColor:null,textBorderWidth:0,textBorderRadius:0,textPadding:null,rich:null,truncate:null,blend:null,bind:function(t,e,i){var n=this,o=i&&i.style,a=!o||t.__attrCachedBy!==rb.STYLE_BIND;t.__attrCachedBy=rb.STYLE_BIND;for(var r=0;r0},extendFrom:function(t,e){if(t)for(var i in t)!t.hasOwnProperty(i)||!0!==e&&(!1===e?this.hasOwnProperty(i):null==t[i])||(this[i]=t[i])},set:function(t,e){"string"==typeof t?this[t]=e:this.extendFrom(t,!0)},clone:function(){var t=new this.constructor;return t.extendFrom(this,!0),t},getGradient:function(t,e,i){for(var n=("radial"===e.type?Se:be)(t,e,i),o=e.colorStops,a=0;a=0&&i.splice(n,1),t.__hoverMir=null},clearHover:function(t){for(var e=this._hoverElements,i=0;i15)break}s.__drawIndex=m,s.__drawIndex0&&t>n[0]){for(r=0;rt);r++);a=i[n[r]]}if(n.splice(r+1,0,t),i[t]=e,!e.virtual)if(a){var l=a.dom;l.nextSibling?s.insertBefore(e.dom,l.nextSibling):s.appendChild(e.dom)}else s.firstChild?s.insertBefore(e.dom,s.firstChild):s.appendChild(e.dom)}else Yw("Layer of zlevel "+t+" is not valid")},eachLayer:function(t,e){var i,n,o=this._zlevelList;for(n=0;n0?.01:0),this._needsManuallyCompositing),a.__builtin__||Yw("ZLevel "+s+" has been used by unkown layer "+a.id),a!==i&&(a.__used=!0,a.__startIndex!==o&&(a.__dirty=!0),a.__startIndex=o,a.incremental?a.__drawIndex=-1:a.__drawIndex=o,e(o),i=a),r.__dirty&&(a.__dirty=!0,a.incremental&&a.__drawIndex<0&&(a.__drawIndex=o))}e(o),this.eachBuiltinLayer(function(t,e){!t.__used&&t.getElementCount()>0&&(t.__dirty=!0,t.__startIndex=t.__endIndex=t.__drawIndex=0),t.__dirty&&t.__drawIndex<0&&(t.__drawIndex=t.__startIndex)})},clear:function(){return this.eachBuiltinLayer(this._clearLayer),this},_clearLayer:function(t){t.clear()},setBackgroundColor:function(t){this._backgroundColor=t},configLayer:function(t,e){if(e){var i=this._layerConfig;i[t]?n(i[t],e,!0):i[t]=e;for(var o=0;o=0&&this._clips.splice(e,1)},removeAnimator:function(t){for(var e=t.getClips(),i=0;i=0||n&&l(n,r)<0)){var s=e.getShallow(r);null!=s&&(o[t[a][0]]=s)}}return o}},tS=Qb([["lineWidth","width"],["stroke","color"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),eS={getLineStyle:function(t){var e=tS(this,t),i=this.getLineDash(e.lineWidth);return i&&(e.lineDash=i),e},getLineDash:function(t){null==t&&(t=1);var e=this.get("type"),i=Math.max(t,2),n=4*t;return"solid"===e||null==e?null:"dashed"===e?[n,n]:[i,i]}},iS=Qb([["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]]),nS={getAreaStyle:function(t,e){return iS(this,t,e)}},oS=Math.pow,aS=Math.sqrt,rS=1e-8,sS=1e-4,lS=aS(3),uS=1/3,hS=V(),cS=V(),dS=V(),fS=Math.min,pS=Math.max,gS=Math.sin,mS=Math.cos,vS=2*Math.PI,yS=V(),xS=V(),_S=V(),wS=[],bS=[],SS={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},MS=[],IS=[],TS=[],AS=[],DS=Math.min,CS=Math.max,LS=Math.cos,kS=Math.sin,PS=Math.sqrt,NS=Math.abs,OS="undefined"!=typeof Float32Array,ES=function(t){this._saveData=!t,this._saveData&&(this.data=[]),this._ctx=null};ES.prototype={constructor:ES,_xi:0,_yi:0,_x0:0,_y0:0,_ux:0,_uy:0,_len:0,_lineDash:null,_dashOffset:0,_dashIdx:0,_dashSum:0,setScale:function(t,e){this._ux=NS(1/Xw/t)||0,this._uy=NS(1/Xw/e)||0},getContext:function(){return this._ctx},beginPath:function(t){return this._ctx=t,t&&t.beginPath(),t&&(this.dpr=t.dpr),this._saveData&&(this._len=0),this._lineDash&&(this._lineDash=null,this._dashOffset=0),this},moveTo:function(t,e){return this.addData(SS.M,t,e),this._ctx&&this._ctx.moveTo(t,e),this._x0=t,this._y0=e,this._xi=t,this._yi=e,this},lineTo:function(t,e){var i=NS(t-this._xi)>this._ux||NS(e-this._yi)>this._uy||this._len<5;return this.addData(SS.L,t,e),this._ctx&&i&&(this._needsDash()?this._dashedLineTo(t,e):this._ctx.lineTo(t,e)),i&&(this._xi=t,this._yi=e),this},bezierCurveTo:function(t,e,i,n,o,a){return this.addData(SS.C,t,e,i,n,o,a),this._ctx&&(this._needsDash()?this._dashedBezierTo(t,e,i,n,o,a):this._ctx.bezierCurveTo(t,e,i,n,o,a)),this._xi=o,this._yi=a,this},quadraticCurveTo:function(t,e,i,n){return this.addData(SS.Q,t,e,i,n),this._ctx&&(this._needsDash()?this._dashedQuadraticTo(t,e,i,n):this._ctx.quadraticCurveTo(t,e,i,n)),this._xi=i,this._yi=n,this},arc:function(t,e,i,n,o,a){return this.addData(SS.A,t,e,i,i,n,o-n,0,a?0:1),this._ctx&&this._ctx.arc(t,e,i,n,o,a),this._xi=LS(o)*i+t,this._yi=kS(o)*i+e,this},arcTo:function(t,e,i,n,o){return this._ctx&&this._ctx.arcTo(t,e,i,n,o),this},rect:function(t,e,i,n){return this._ctx&&this._ctx.rect(t,e,i,n),this.addData(SS.R,t,e,i,n),this},closePath:function(){this.addData(SS.Z);var t=this._ctx,e=this._x0,i=this._y0;return t&&(this._needsDash()&&this._dashedLineTo(e,i),t.closePath()),this._xi=e,this._yi=i,this},fill:function(t){t&&t.fill(),this.toStatic()},stroke:function(t){t&&t.stroke(),this.toStatic()},setLineDash:function(t){if(t instanceof Array){this._lineDash=t,this._dashIdx=0;for(var e=0,i=0;ie.length&&(this._expandData(),e=this.data);for(var i=0;i0&&f<=t||h<0&&f>=t||0===h&&(c>0&&p<=e||c<0&&p>=e);)f+=h*(i=r[n=this._dashIdx]),p+=c*i,this._dashIdx=(n+1)%g,h>0&&fl||c>0&&pu||s[n%2?"moveTo":"lineTo"](h>=0?DS(f,t):CS(f,t),c>=0?DS(p,e):CS(p,e));h=f-t,c=p-e,this._dashOffset=-PS(h*h+c*c)},_dashedBezierTo:function(t,e,i,n,o,a){var r,s,l,u,h,c=this._dashSum,d=this._dashOffset,f=this._lineDash,p=this._ctx,g=this._xi,m=this._yi,v=tn,y=0,x=this._dashIdx,_=f.length,w=0;for(d<0&&(d=c+d),d%=c,r=0;r<1;r+=.1)s=v(g,t,i,o,r+.1)-v(g,t,i,o,r),l=v(m,e,n,a,r+.1)-v(m,e,n,a,r),y+=PS(s*s+l*l);for(;x<_&&!((w+=f[x])>d);x++);for(r=(w-d)/y;r<=1;)u=v(g,t,i,o,r),h=v(m,e,n,a,r),x%2?p.moveTo(u,h):p.lineTo(u,h),r+=f[x]/y,x=(x+1)%_;x%2!=0&&p.lineTo(o,a),s=o-u,l=a-h,this._dashOffset=-PS(s*s+l*l)},_dashedQuadraticTo:function(t,e,i,n){var o=i,a=n;i=(i+2*t)/3,n=(n+2*e)/3,t=(this._xi+2*t)/3,e=(this._yi+2*e)/3,this._dashedBezierTo(t,e,i,n,o,a)},toStatic:function(){var t=this.data;t instanceof Array&&(t.length=this._len,OS&&(this.data=new Float32Array(t)))},getBoundingRect:function(){MS[0]=MS[1]=TS[0]=TS[1]=Number.MAX_VALUE,IS[0]=IS[1]=AS[0]=AS[1]=-Number.MAX_VALUE;for(var t=this.data,e=0,i=0,n=0,o=0,a=0;al||NS(r-o)>u||c===h-1)&&(t.lineTo(a,r),n=a,o=r);break;case SS.C:t.bezierCurveTo(s[c++],s[c++],s[c++],s[c++],s[c++],s[c++]),n=s[c-2],o=s[c-1];break;case SS.Q:t.quadraticCurveTo(s[c++],s[c++],s[c++],s[c++]),n=s[c-2],o=s[c-1];break;case SS.A:var f=s[c++],p=s[c++],g=s[c++],m=s[c++],v=s[c++],y=s[c++],x=s[c++],_=s[c++],w=g>m?g:m,b=g>m?1:g/m,S=g>m?m/g:1,M=v+y;Math.abs(g-m)>.001?(t.translate(f,p),t.rotate(x),t.scale(b,S),t.arc(0,0,w,v,M,1-_),t.scale(1/b,1/S),t.rotate(-x),t.translate(-f,-p)):t.arc(f,p,w,v,M,1-_),1===c&&(e=LS(v)*g+f,i=kS(v)*m+p),n=LS(M)*g+f,o=kS(M)*m+p;break;case SS.R:e=n=s[c],i=o=s[c+1],t.rect(s[c++],s[c++],s[c++],s[c++]);break;case SS.Z:t.closePath(),n=e,o=i}}}},ES.CMD=SS;var RS=2*Math.PI,zS=2*Math.PI,BS=ES.CMD,VS=2*Math.PI,GS=1e-4,FS=[-1,-1,-1],WS=[-1,-1],HS=fb.prototype.getCanvasPattern,ZS=Math.abs,US=new ES(!0);Pn.prototype={constructor:Pn,type:"path",__dirtyPath:!0,strokeContainThreshold:5,subPixelOptimize:!1,brush:function(t,e){var i=this.style,n=this.path||US,o=i.hasStroke(),a=i.hasFill(),r=i.fill,s=i.stroke,l=a&&!!r.colorStops,u=o&&!!s.colorStops,h=a&&!!r.image,c=o&&!!s.image;if(i.bind(t,this,e),this.setTransform(t),this.__dirty){var d;l&&(d=d||this.getBoundingRect(),this._fillGradient=i.getGradient(t,r,d)),u&&(d=d||this.getBoundingRect(),this._strokeGradient=i.getGradient(t,s,d))}l?t.fillStyle=this._fillGradient:h&&(t.fillStyle=HS.call(r,t)),u?t.strokeStyle=this._strokeGradient:c&&(t.strokeStyle=HS.call(s,t));var f=i.lineDash,p=i.lineDashOffset,g=!!t.setLineDash,m=this.getGlobalScale();if(n.setScale(m[0],m[1]),this.__dirtyPath||f&&!g&&o?(n.beginPath(t),f&&!g&&(n.setLineDash(f),n.setLineDashOffset(p)),this.buildPath(n,this.shape,!1),this.path&&(this.__dirtyPath=!1)):(t.beginPath(),this.path.rebuildPath(t)),a)if(null!=i.fillOpacity){v=t.globalAlpha;t.globalAlpha=i.fillOpacity*i.opacity,n.fill(t),t.globalAlpha=v}else n.fill(t);if(f&&g&&(t.setLineDash(f),t.lineDashOffset=p),o)if(null!=i.strokeOpacity){var v=t.globalAlpha;t.globalAlpha=i.strokeOpacity*i.opacity,n.stroke(t),t.globalAlpha=v}else n.stroke(t);f&&g&&t.setLineDash([]),null!=i.text&&(this.restoreTransform(t),this.drawRectText(t,this.getBoundingRect()))},buildPath:function(t,e,i){},createPathProxy:function(){this.path=new ES},getBoundingRect:function(){var t=this._rect,e=this.style,i=!t;if(i){var n=this.path;n||(n=this.path=new ES),this.__dirtyPath&&(n.beginPath(),this.buildPath(n,this.shape,!1)),t=n.getBoundingRect()}if(this._rect=t,e.hasStroke()){var o=this._rectWithStroke||(this._rectWithStroke=t.clone());if(this.__dirty||i){o.copy(t);var a=e.lineWidth,r=e.strokeNoScale?this.getLineScale():1;e.hasFill()||(a=Math.max(a,this.strokeContainThreshold||4)),r>1e-10&&(o.width+=a/r,o.height+=a/r,o.x-=a/r/2,o.y-=a/r/2)}return o}return t},contain:function(t,e){var i=this.transformCoordToLocal(t,e),n=this.getBoundingRect(),o=this.style;if(t=i[0],e=i[1],n.contain(t,e)){var a=this.path.data;if(o.hasStroke()){var r=o.lineWidth,s=o.strokeNoScale?this.getLineScale():1;if(s>1e-10&&(o.hasFill()||(r=Math.max(r,this.strokeContainThreshold)),kn(a,r/s,t,e)))return!0}if(o.hasFill())return Ln(a,t,e)}return!1},dirty:function(t){null==t&&(t=!0),t&&(this.__dirtyPath=t,this._rect=null),this.__dirty=this.__dirtyText=!0,this.__zr&&this.__zr.refresh(),this.__clipTarget&&this.__clipTarget.dirty()},animateShape:function(t){return this.animate("shape",t)},attrKV:function(t,e){"shape"===t?(this.setShape(e),this.__dirtyPath=!0,this._rect=null):di.prototype.attrKV.call(this,t,e)},setShape:function(t,e){var i=this.shape;if(i){if(w(t))for(var n in t)t.hasOwnProperty(n)&&(i[n]=t[n]);else i[t]=e;this.dirty(!0)}return this},getLineScale:function(){var t=this.transform;return t&&ZS(t[0]-1)>1e-10&&ZS(t[3]-1)>1e-10?Math.sqrt(ZS(t[0]*t[3]-t[2]*t[1])):1}},Pn.extend=function(t){var e=function(e){Pn.call(this,e),t.style&&this.style.extendFrom(t.style,!1);var i=t.shape;if(i){this.shape=this.shape||{};var n=this.shape;for(var o in i)!n.hasOwnProperty(o)&&i.hasOwnProperty(o)&&(n[o]=i[o])}t.init&&t.init.call(this,e)};u(e,Pn);for(var i in t)"style"!==i&&"shape"!==i&&(e.prototype[i]=t[i]);return e},u(Pn,di);var XS=ES.CMD,jS=[[],[],[]],YS=Math.sqrt,qS=Math.atan2,KS=function(t,e){var i,n,o,a,r,s,l=t.data,u=XS.M,h=XS.C,c=XS.L,d=XS.R,f=XS.A,p=XS.Q;for(o=0,a=0;o=11?function(){var e,i=this.__clipPaths,n=this.style;if(i)for(var o=0;oi-2?i-1:c+1],u=t[c>i-3?i-1:c+2]);var p=d*d,g=d*p;n.push([Bn(s[0],f[0],l[0],u[0],d,p,g),Bn(s[1],f[1],l[1],u[1],d,p,g)])}return n},fM=function(t,e,i,n){var o,a,r,s,l=[],u=[],h=[],c=[];if(n){r=[1/0,1/0],s=[-1/0,-1/0];for(var d=0,f=t.length;d=i&&a>=o)return{x:i,y:o,width:n-i,height:a-o}},createIcon:Po,Group:tb,Image:fi,Text:rM,Circle:sM,Sector:hM,Ring:cM,Polygon:pM,Polyline:gM,Rect:yM,Line:_M,BezierCurve:bM,Arc:SM,IncrementalDisplayable:Zn,CompoundPath:MM,LinearGradient:TM,RadialGradient:AM,BoundingRect:de}),BM=["textStyle","color"],VM={getTextColor:function(t){var e=this.ecModel;return this.getShallow("color")||(!t&&e?e.get(BM):null)},getFont:function(){return So({fontStyle:this.getShallow("fontStyle"),fontWeight:this.getShallow("fontWeight"),fontSize:this.getShallow("fontSize"),fontFamily:this.getShallow("fontFamily")},this.ecModel)},getTextRect:function(t){return ke(t,this.getFont(),this.getShallow("align"),this.getShallow("verticalAlign")||this.getShallow("baseline"),this.getShallow("padding"),this.getShallow("lineHeight"),this.getShallow("rich"),this.getShallow("truncateText"))}},GM=Qb([["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"],["textPosition"],["textAlign"]]),FM={getItemStyle:function(t,e){var i=GM(this,t,e),n=this.getBorderLineDash();return n&&(i.lineDash=n),i},getBorderLineDash:function(){var t=this.get("borderType");return"solid"===t||null==t?null:"dashed"===t?[5,5]:[1,1]}},WM=h,HM=Bi();No.prototype={constructor:No,init:null,mergeOption:function(t){n(this.option,t,!0)},get:function(t,e){return null==t?this.option:Oo(this.option,this.parsePath(t),!e&&Eo(this,t))},getShallow:function(t,e){var i=this.option,n=null==i?i:i[t],o=!e&&Eo(this,t);return null==n&&o&&(n=o.getShallow(t)),n},getModel:function(t,e){var i,n=null==t?this.option:Oo(this.option,t=this.parsePath(t));return e=e||(i=Eo(this,t))&&i.getModel(t),new No(n,e,this.ecModel)},isEmpty:function(){return null==this.option},restoreData:function(){},clone:function(){return new(0,this.constructor)(i(this.option))},setReadOnly:function(t){},parsePath:function(t){return"string"==typeof t&&(t=t.split(".")),t},customizeGetParent:function(t){HM(this).getParent=t},isAnimationEnabled:function(){if(!U_.node){if(null!=this.option.animation)return!!this.option.animation;if(this.parentModel)return this.parentModel.isAnimationEnabled()}}},ji(No),Yi(No),WM(No,eS),WM(No,nS),WM(No,VM),WM(No,FM);var ZM=0,UM=1e-4,XM=9007199254740991,jM=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d\d)(?::(\d\d)(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/,YM=(Object.freeze||Object)({linearMap:Bo,parsePercent:Vo,round:Go,asc:Fo,getPrecision:Wo,getPrecisionSafe:Ho,getPixelPrecision:Zo,getPercentWithPrecision:Uo,MAX_SAFE_INTEGER:XM,remRadian:Xo,isRadianAroundZero:jo,parseDate:Yo,quantity:qo,nice:$o,quantile:function(t,e){var i=(t.length-1)*e+1,n=Math.floor(i),o=+t[n-1],a=i-n;return a?o+a*(t[n]-o):o},reformIntervals:Jo,isNumeric:Qo}),qM=L,KM=/([&<>"'])/g,$M={"&":"&","<":"<",">":">",'"':""","'":"'"},JM=["a","b","c","d","e","f","g"],QM=function(t,e){return"{"+t+(null==e?"":e)+"}"},tI=ze,eI=(Object.freeze||Object)({addCommas:ta,toCamelCase:ea,normalizeCssArray:qM,encodeHTML:ia,formatTpl:na,formatTplSimple:oa,getTooltipMarker:aa,formatTime:sa,capitalFirst:la,truncateText:tI,getTextBoundingRect:function(t){return ke(t.text,t.font,t.textAlign,t.textVerticalAlign,t.textPadding,t.textLineHeight,t.rich,t.truncate)},getTextRect:function(t,e,i,n,o,a,r,s){return ke(t,e,i,n,o,s,a,r)}}),iI=d,nI=["left","right","top","bottom","width","height"],oI=[["width","left","right"],["height","top","bottom"]],aI=ua,rI=(v(ua,"vertical"),v(ua,"horizontal"),{getBoxLayoutParams:function(){return{left:this.get("left"),top:this.get("top"),right:this.get("right"),bottom:this.get("bottom"),width:this.get("width"),height:this.get("height")}}}),sI=Bi(),lI=No.extend({type:"component",id:"",name:"",mainType:"",subType:"",componentIndex:0,defaultOption:null,ecModel:null,dependentModels:[],uid:null,layoutMode:null,$constructor:function(t,e,i,n){No.call(this,t,e,i,n),this.uid=Ro("ec_cpt_model")},init:function(t,e,i,n){this.mergeDefaultAndTheme(t,i)},mergeDefaultAndTheme:function(t,e){var i=this.layoutMode,o=i?ga(t):{};n(t,e.getTheme().get(this.mainType)),n(t,this.getDefaultOption()),i&&pa(t,o,i)},mergeOption:function(t,e){n(this.option,t,!0);var i=this.layoutMode;i&&pa(this.option,t,i)},optionUpdated:function(t,e){},getDefaultOption:function(){var t=sI(this);if(!t.defaultOption){for(var e=[],i=this.constructor;i;){var o=i.prototype.defaultOption;o&&e.push(o),i=i.superClass}for(var a={},r=e.length-1;r>=0;r--)a=n(a,e[r],!0);t.defaultOption=a}return t.defaultOption},getReferringComponents:function(t){return this.ecModel.queryComponents({mainType:t,index:this.get(t+"Index",!0),id:this.get(t+"Id",!0)})}});$i(lI,{registerWhenExtend:!0}),function(t){var e={};t.registerSubTypeDefaulter=function(t,i){t=Ui(t),e[t.main]=i},t.determineSubType=function(i,n){var o=n.type;if(!o){var a=Ui(i).main;t.hasSubTypes(i)&&e[a]&&(o=e[a](n))}return o}}(lI),function(t,e){function i(t){var i={},a=[];return d(t,function(r){var s=n(i,r),u=o(s.originalDeps=e(r),t);s.entryCount=u.length,0===s.entryCount&&a.push(r),d(u,function(t){l(s.predecessor,t)<0&&s.predecessor.push(t);var e=n(i,t);l(e.successor,t)<0&&e.successor.push(r)})}),{graph:i,noEntryList:a}}function n(t,e){return t[e]||(t[e]={predecessor:[],successor:[]}),t[e]}function o(t,e){var i=[];return d(t,function(t){l(e,t)>=0&&i.push(t)}),i}t.topologicalTravel=function(t,e,n,o){function a(t){s[t].entryCount--,0===s[t].entryCount&&l.push(t)}if(t.length){var r=i(e),s=r.graph,l=r.noEntryList,u={};for(d(t,function(t){u[t]=!0});l.length;){var h=l.pop(),c=s[h],f=!!u[h];f&&(n.call(o,h,c.originalDeps.slice()),delete u[h]),d(c.successor,f?function(t){u[t]=!0,a(t)}:a)}d(u,function(){throw new Error("Circle dependency may exists")})}}}(lI,function(t){var e=[];return d(lI.getClassesByMainType(t),function(t){e=e.concat(t.prototype.dependencies||[])}),e=f(e,function(t){return Ui(t).main}),"dataset"!==t&&l(e,"dataset")<=0&&e.unshift("dataset"),e}),h(lI,rI);var uI="";"undefined"!=typeof navigator&&(uI=navigator.platform||"");var hI={color:["#c23531","#2f4554","#61a0a8","#d48265","#91c7ae","#749f83","#ca8622","#bda29a","#6e7074","#546570","#c4ccd3"],gradientColor:["#f6efa6","#d88273","#bf444c"],textStyle:{fontFamily:uI.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,animation:"auto",animationDuration:1e3,animationDurationUpdate:300,animationEasing:"exponentialOut",animationEasingUpdate:"cubicOut",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3,useUTC:!1},cI=Bi(),dI={clearColorPalette:function(){cI(this).colorIdx=0,cI(this).colorNameMap={}},getColorFromPalette:function(t,e,i){var n=cI(e=e||this),o=n.colorIdx||0,a=n.colorNameMap=n.colorNameMap||{};if(a.hasOwnProperty(t))return a[t];var r=Di(this.get("color",!0)),s=this.get("colorLayer",!0),l=null!=i&&s?va(s,i):r;if((l=l||r)&&l.length){var u=l[o];return t&&(a[t]=u),n.colorIdx=(o+1)%l.length,u}}},fI={cartesian2d:function(t,e,i,n){var o=t.getReferringComponents("xAxis")[0],a=t.getReferringComponents("yAxis")[0];e.coordSysDims=["x","y"],i.set("x",o),i.set("y",a),xa(o)&&(n.set("x",o),e.firstCategoryDimIndex=0),xa(a)&&(n.set("y",a),e.firstCategoryDimIndex=1)},singleAxis:function(t,e,i,n){var o=t.getReferringComponents("singleAxis")[0];e.coordSysDims=["single"],i.set("single",o),xa(o)&&(n.set("single",o),e.firstCategoryDimIndex=0)},polar:function(t,e,i,n){var o=t.getReferringComponents("polar")[0],a=o.findAxisModel("radiusAxis"),r=o.findAxisModel("angleAxis");e.coordSysDims=["radius","angle"],i.set("radius",a),i.set("angle",r),xa(a)&&(n.set("radius",a),e.firstCategoryDimIndex=0),xa(r)&&(n.set("angle",r),e.firstCategoryDimIndex=1)},geo:function(t,e,i,n){e.coordSysDims=["lng","lat"]},parallel:function(t,e,i,n){var o=t.ecModel,a=o.getComponent("parallel",t.get("parallelIndex")),r=e.coordSysDims=a.dimensions.slice();d(a.parallelAxisIndex,function(t,a){var s=o.getComponent("parallelAxis",t),l=r[a];i.set(l,s),xa(s)&&null==e.firstCategoryDimIndex&&(n.set(l,s),e.firstCategoryDimIndex=a)})}},pI="original",gI="arrayRows",mI="objectRows",vI="keyedColumns",yI="unknown",xI="typedArray",_I="column",wI="row";_a.seriesDataToSource=function(t){return new _a({data:t,sourceFormat:S(t)?xI:pI,fromDataset:!1})},Yi(_a);var bI=Bi(),SI="\0_ec_inner",MI=No.extend({init:function(t,e,i,n){i=i||{},this.option=null,this._theme=new No(i),this._optionManager=n},setOption:function(t,e){k(!(SI in t),"please use chart.getOption()"),this._optionManager.setOption(t,e),this.resetOption(null)},resetOption:function(t){var e=!1,i=this._optionManager;if(!t||"recreate"===t){var n=i.mountOption("recreate"===t);this.option&&"recreate"!==t?(this.restoreData(),this.mergeOption(n)):Ea.call(this,n),e=!0}if("timeline"!==t&&"media"!==t||this.restoreData(),!t||"recreate"===t||"timeline"===t){var o=i.getTimelineOption(this);o&&(this.mergeOption(o),e=!0)}if(!t||"recreate"===t||"media"===t){var a=i.getMediaOption(this,this._api);a.length&&d(a,function(t){this.mergeOption(t,e=!0)},this)}return e},mergeOption:function(t){var e=this.option,o=this._componentsMap,r=[];Sa(this),d(t,function(t,o){null!=t&&(lI.hasClass(o)?o&&r.push(o):e[o]=null==e[o]?i(t):n(e[o],t,!0))}),lI.topologicalTravel(r,lI.getAllClassMainTypes(),function(i,n){var r=Di(t[i]),s=Pi(o.get(i),r);Ni(s),d(s,function(t,e){var n=t.option;w(n)&&(t.keyInfo.mainType=i,t.keyInfo.subType=za(i,n,t.exist))});var l=Ra(o,n);e[i]=[],o.set(i,[]),d(s,function(t,n){var r=t.exist,s=t.option;if(k(w(s)||r,"Empty component definition"),s){var u=lI.getClass(i,t.keyInfo.subType,!0);if(r&&r instanceof u)r.name=t.keyInfo.name,r.mergeOption(s,this),r.optionUpdated(s,!1);else{var h=a({dependentModels:l,componentIndex:n},t.keyInfo);a(r=new u(s,this,this,h),h),r.init(s,this,this,h),r.optionUpdated(null,!0)}}else r.mergeOption({},this),r.optionUpdated({},!1);o.get(i)[n]=r,e[i][n]=r.option},this),"series"===i&&Ba(this,o.get("series"))},this),this._seriesIndicesMap=R(this._seriesIndices=this._seriesIndices||[])},getOption:function(){var t=i(this.option);return d(t,function(e,i){if(lI.hasClass(i)){for(var n=(e=Di(e)).length-1;n>=0;n--)Ei(e[n])&&e.splice(n,1);t[i]=e}}),delete t[SI],t},getTheme:function(){return this._theme},getComponent:function(t,e){var i=this._componentsMap.get(t);if(i)return i[e||0]},queryComponents:function(t){var e=t.mainType;if(!e)return[];var i=t.index,n=t.id,o=t.name,a=this._componentsMap.get(e);if(!a||!a.length)return[];var r;if(null!=i)y(i)||(i=[i]),r=g(f(i,function(t){return a[t]}),function(t){return!!t});else if(null!=n){var s=y(n);r=g(a,function(t){return s&&l(n,t.id)>=0||!s&&t.id===n})}else if(null!=o){var u=y(o);r=g(a,function(t){return u&&l(o,t.name)>=0||!u&&t.name===o})}else r=a.slice();return Va(r,t)},findComponents:function(t){var e=t.query,i=t.mainType,n=function(t){var e=i+"Index",n=i+"Id",o=i+"Name";return!t||null==t[e]&&null==t[n]&&null==t[o]?null:{mainType:i,index:t[e],id:t[n],name:t[o]}}(e);return function(e){return t.filter?g(e,t.filter):e}(Va(n?this.queryComponents(n):this._componentsMap.get(i),t))},eachComponent:function(t,e,i){var n=this._componentsMap;"function"==typeof t?(i=e,e=t,n.each(function(t,n){d(t,function(t,o){e.call(i,n,t,o)})})):_(t)?d(n.get(t),e,i):w(t)&&d(this.findComponents(t),e,i)},getSeriesByName:function(t){return g(this._componentsMap.get("series"),function(e){return e.name===t})},getSeriesByIndex:function(t){return this._componentsMap.get("series")[t]},getSeriesByType:function(t){return g(this._componentsMap.get("series"),function(e){return e.subType===t})},getSeries:function(){return this._componentsMap.get("series").slice()},getSeriesCount:function(){return this._componentsMap.get("series").length},eachSeries:function(t,e){d(this._seriesIndices,function(i){var n=this._componentsMap.get("series")[i];t.call(e,n,i)},this)},eachRawSeries:function(t,e){d(this._componentsMap.get("series"),t,e)},eachSeriesByType:function(t,e,i){d(this._seriesIndices,function(n){var o=this._componentsMap.get("series")[n];o.subType===t&&e.call(i,o,n)},this)},eachRawSeriesByType:function(t,e,i){return d(this.getSeriesByType(t),e,i)},isSeriesFiltered:function(t){return null==this._seriesIndicesMap.get(t.componentIndex)},getCurrentSeriesIndices:function(){return(this._seriesIndices||[]).slice()},filterSeries:function(t,e){Ba(this,g(this._componentsMap.get("series"),t,e))},restoreData:function(t){var e=this._componentsMap;Ba(this,e.get("series"));var i=[];e.each(function(t,e){i.push(e)}),lI.topologicalTravel(i,lI.getAllClassMainTypes(),function(i,n){d(e.get(i),function(e){("series"!==i||!Na(e,t))&&e.restoreData()})})}});h(MI,dI);var II=["getDom","getZr","getWidth","getHeight","getDevicePixelRatio","dispatchAction","isDisposed","on","off","getDataURL","getConnectedDataURL","getModel","getOption","getViewOfComponentModel","getViewOfSeriesModel"],TI={};Fa.prototype={constructor:Fa,create:function(t,e){var i=[];d(TI,function(n,o){var a=n.create(t,e);i=i.concat(a||[])}),this._coordinateSystems=i},update:function(t,e){d(this._coordinateSystems,function(i){i.update&&i.update(t,e)})},getCoordinateSystems:function(){return this._coordinateSystems.slice()}},Fa.register=function(t,e){TI[t]=e},Fa.get=function(t){return TI[t]};var AI=d,DI=i,CI=f,LI=n,kI=/^(min|max)?(.+)$/;Wa.prototype={constructor:Wa,setOption:function(t,e){t&&d(Di(t.series),function(t){t&&t.data&&S(t.data)&&N(t.data)}),t=DI(t,!0);var i=this._optionBackup,n=Ha.call(this,t,e,!i);this._newBaseOption=n.baseOption,i?(ja(i.baseOption,n.baseOption),n.timelineOptions.length&&(i.timelineOptions=n.timelineOptions),n.mediaList.length&&(i.mediaList=n.mediaList),n.mediaDefault&&(i.mediaDefault=n.mediaDefault)):this._optionBackup=n},mountOption:function(t){var e=this._optionBackup;return this._timelineOptions=CI(e.timelineOptions,DI),this._mediaList=CI(e.mediaList,DI),this._mediaDefault=DI(e.mediaDefault),this._currentMediaIndices=[],DI(t?e.baseOption:this._newBaseOption)},getTimelineOption:function(t){var e,i=this._timelineOptions;if(i.length){var n=t.getComponent("timeline");n&&(e=DI(i[n.getCurrentIndex()],!0))}return e},getMediaOption:function(t){var e=this._api.getWidth(),i=this._api.getHeight(),n=this._mediaList,o=this._mediaDefault,a=[],r=[];if(!n.length&&!o)return r;for(var s=0,l=n.length;s=1)&&(t=1),t}var i=this._upstream,n=t&&t.skip;if(this._dirty&&i){var o=this.context;o.data=o.outputData=i.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this);var a;this._plan&&!n&&(a=this._plan(this.context));var r=e(this._modBy),s=this._modDataCount||0,l=e(t&&t.modBy),u=t&&t.modDataCount||0;r===l&&s===u||(a="reset");var h;(this._dirty||"reset"===a)&&(this._dirty=!1,h=yr(this,n)),this._modBy=l,this._modDataCount=u;var c=t&&t.step;if(this._dueEnd=i?i._outputDueEnd:this._count?this._count(this.context):1/0,this._progress){var d=this._dueIndex,f=Math.min(null!=c?this._dueIndex+c:1/0,this._dueEnd);if(!n&&(h||d=i?null:t1&&a>0?e:t}};return s}();UI.dirty=function(){this._dirty=!0,this._onDirty&&this._onDirty(this.context)},UI.unfinished=function(){return this._progress&&this._dueIndex":"\n",s="richText"===n,l={},u=0,h=this.getData(),c=h.mapDimension("defaultedTooltip",!0),f=c.length,g=this.getRawValue(t),m=y(g),v=h.getItemVisual(t,"color");w(v)&&v.colorStops&&(v=(v.colorStops[0]||{}).color),v=v||"transparent";var x=(f>1||m&&!f?function(i){function o(t,i){var o=h.getDimensionInfo(i);if(o&&!1!==o.otherDims.tooltip){var c=o.type,d="sub"+a.seriesIndex+"at"+u,p=aa({color:v,type:"subItem",renderMode:n,markerId:d}),g="string"==typeof p?p:p.content,m=(r?g+ia(o.displayName||"-")+": ":"")+ia("ordinal"===c?t+"":"time"===c?e?"":sa("yyyy/MM/dd hh:mm:ss",t):ta(t));m&&f.push(m),s&&(l[d]=v,++u)}}var r=p(i,function(t,e,i){var n=h.getDimensionInfo(i);return t|=n&&!1!==n.tooltip&&null!=n.displayName},0),f=[];c.length?d(c,function(e){o(fr(h,t,e),e)}):d(i,o);var g=r?s?"\n":"
    ":"",m=g+f.join(g||", ");return{renderMode:n,content:m,style:l}}(g):o(f?fr(h,t,c[0]):m?g[0]:g)).content,_=a.seriesIndex+"at"+u,b=aa({color:v,type:"item",renderMode:n,markerId:_});l[_]=v,++u;var S=h.getName(t),M=this.name;Oi(this)||(M=""),M=M?ia(M)+(e?": ":r):"";var I="string"==typeof b?b:b.content;return{html:e?I+M+x:M+I+(S?ia(S)+": "+x:x),markers:l}},isAnimationEnabled:function(){if(U_.node)return!1;var t=this.getShallow("animation");return t&&this.getData().count()>this.getShallow("animationThreshold")&&(t=!1),t},restoreData:function(){this.dataTask.dirty()},getColorFromPalette:function(t,e,i){var n=this.ecModel,o=dI.getColorFromPalette.call(this,t,e,i);return o||(o=n.getColorFromPalette(t,e,i)),o},coordDimToDataDim:function(t){return this.getRawData().mapDimension(t,!0)},getProgressive:function(){return this.get("progressive")},getProgressiveThreshold:function(){return this.get("progressiveThreshold")},getAxisTooltipData:null,getTooltipPosition:null,pipeTask:null,preventIncremental:null,pipelineContext:null});h(YI,ZI),h(YI,dI);var qI=function(){this.group=new tb,this.uid=Ro("viewComponent")};qI.prototype={constructor:qI,init:function(t,e){},render:function(t,e,i,n){},dispose:function(){},filterForExposedEvent:null};var KI=qI.prototype;KI.updateView=KI.updateLayout=KI.updateVisual=function(t,e,i,n){},ji(qI),$i(qI,{registerWhenExtend:!0});var $I=function(){var t=Bi();return function(e){var i=t(e),n=e.pipelineContext,o=i.large,a=i.progressiveRender,r=i.large=n.large,s=i.progressiveRender=n.progressiveRender;return!!(o^r||a^s)&&"reset"}},JI=Bi(),QI=$I();Ar.prototype={type:"chart",init:function(t,e){},render:function(t,e,i,n){},highlight:function(t,e,i,n){Cr(t.getData(),n,"emphasis")},downplay:function(t,e,i,n){Cr(t.getData(),n,"normal")},remove:function(t,e){this.group.removeAll()},dispose:function(){},incrementalPrepareRender:null,incrementalRender:null,updateTransform:null,filterForExposedEvent:null};var tT=Ar.prototype;tT.updateView=tT.updateLayout=tT.updateVisual=function(t,e,i,n){this.render(t,e,i,n)},ji(Ar),$i(Ar,{registerWhenExtend:!0}),Ar.markUpdateMethod=function(t,e){JI(t).updateMethod=e};var eT={incrementalPrepareRender:{progress:function(t,e){e.view.incrementalRender(t,e.model,e.ecModel,e.api,e.payload)}},render:{forceFirstProgress:!0,progress:function(t,e){e.view.render(e.model,e.ecModel,e.api,e.payload)}}},iT="\0__throttleOriginMethod",nT="\0__throttleRate",oT="\0__throttleType",aT={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){var i=t.getData(),n=(t.visualColorAccessPath||"itemStyle.color").split("."),o=t.get(n)||t.getColorFromPalette(t.name,null,e.getSeriesCount());if(i.setVisual("color",o),!e.isSeriesFiltered(t)){"function"!=typeof o||o instanceof IM||i.each(function(e){i.setItemVisual(e,"color",o(t.getDataParams(e)))});return{dataEach:i.hasItemOption?function(t,e){var i=t.getItemModel(e).get(n,!0);null!=i&&t.setItemVisual(e,"color",i)}:null}}}},rT={toolbox:{brush:{title:{rect:"矩形选择",polygon:"圈选",lineX:"横向选择",lineY:"纵向选择",keep:"保持选择",clear:"清除选择"}},dataView:{title:"数据视图",lang:["数据视图","关闭","刷新"]},dataZoom:{title:{zoom:"区域缩放",back:"区域缩放还原"}},magicType:{title:{line:"切换为折线图",bar:"切换为柱状图",stack:"切换为堆叠",tiled:"切换为平铺"}},restore:{title:"还原"},saveAsImage:{title:"保存为图片",lang:["右键另存为图片"]}},series:{typeNames:{pie:"饼图",bar:"柱状图",line:"折线图",scatter:"散点图",effectScatter:"涟漪散点图",radar:"雷达图",tree:"树图",treemap:"矩形树图",boxplot:"箱型图",candlestick:"K线图",k:"K线图",heatmap:"热力图",map:"地图",parallel:"平行坐标图",lines:"线图",graph:"关系图",sankey:"桑基图",funnel:"漏斗图",gauge:"仪表盘图",pictorialBar:"象形柱图",themeRiver:"主题河流图",sunburst:"旭日图"}},aria:{general:{withTitle:"这是一个关于“{title}”的图表。",withoutTitle:"这是一个图表,"},series:{single:{prefix:"",withName:"图表类型是{seriesType},表示{seriesName}。",withoutName:"图表类型是{seriesType}。"},multiple:{prefix:"它由{seriesCount}个图表系列组成。",withName:"第{seriesId}个系列是一个表示{seriesName}的{seriesType},",withoutName:"第{seriesId}个系列是一个{seriesType},",separator:{middle:";",end:"。"}}},data:{allData:"其数据是——",partialData:"其中,前{displayCnt}项是——",withName:"{name}的数据是{value}",withoutName:"{value}",separator:{middle:",",end:""}}}},sT=function(t,e){function i(t,e){if("string"!=typeof t)return t;var i=t;return d(e,function(t,e){i=i.replace(new RegExp("\\{\\s*"+e+"\\s*\\}","g"),t)}),i}function n(t){var e=a.get(t);if(null==e){for(var i=t.split("."),n=rT.aria,o=0;o1?"series.multiple.prefix":"series.single.prefix"),{seriesCount:r}),e.eachSeries(function(t,e){if(e1?"multiple":"single")+".";a=i(a=n(s?u+"withName":u+"withoutName"),{seriesId:t.seriesIndex,seriesName:t.get("name"),seriesType:o(t.subType)});var c=t.getData();window.data=c,c.count()>l?a+=i(n("data.partialData"),{displayCnt:l}):a+=n("data.allData");for(var d=[],p=0;pi.blockIndex?i.step:null,a=n&&n.modDataCount;return{step:o,modBy:null!=a?Math.ceil(a/o):null,modDataCount:a}}},uT.getPipeline=function(t){return this._pipelineMap.get(t)},uT.updateStreamModes=function(t,e){var i=this._pipelineMap.get(t.uid),n=t.getData().count(),o=i.progressiveEnabled&&e.incrementalPrepareRender&&n>=i.threshold,a=t.get("large")&&n>=t.get("largeThreshold"),r="mod"===t.get("progressiveChunkMode")?n:null;t.pipelineContext=i.context={progressiveRender:o,modDataCount:r,large:a}},uT.restorePipelines=function(t){var e=this,i=e._pipelineMap=R();t.eachSeries(function(t){var n=t.getProgressive(),o=t.uid;i.set(o,{id:o,head:null,tail:null,threshold:t.getProgressiveThreshold(),progressiveEnabled:n&&!(t.preventIncremental&&t.preventIncremental()),blockIndex:-1,step:Math.round(n||700),count:0}),jr(e,t,t.dataTask)})},uT.prepareStageTasks=function(){var t=this._stageTaskMap,e=this.ecInstance.getModel(),i=this.api;d(this._allHandlers,function(n){var o=t.get(n.uid)||t.set(n.uid,[]);n.reset&&zr(this,n,o,e,i),n.overallReset&&Br(this,n,o,e,i)},this)},uT.prepareView=function(t,e,i,n){var o=t.renderTask,a=o.context;a.model=e,a.ecModel=i,a.api=n,o.__block=!t.incrementalPrepareRender,jr(this,e,o)},uT.performDataProcessorTasks=function(t,e){Rr(this,this._dataProcessorHandlers,t,e,{block:!0})},uT.performVisualTasks=function(t,e,i){Rr(this,this._visualHandlers,t,e,i)},uT.performSeriesTasks=function(t){var e;t.eachSeries(function(t){e|=t.dataTask.perform()}),this.unfinished|=e},uT.plan=function(){this._pipelineMap.each(function(t){var e=t.tail;do{if(e.__block){t.blockIndex=e.__idxInPipeline;break}e=e.getUpstream()}while(e)})};var hT=uT.updatePayload=function(t,e){"remain"!==e&&(t.context.payload=e)},cT=Ur(0);Er.wrapStageHandler=function(t,e){return x(t)&&(t={overallReset:t,seriesType:Yr(t)}),t.uid=Ro("stageHandler"),e&&(t.visualType=e),t};var dT,fT={},pT={};qr(fT,MI),qr(pT,Ga),fT.eachSeriesByType=fT.eachRawSeriesByType=function(t){dT=t},fT.eachComponent=function(t){"series"===t.mainType&&t.subType&&(dT=t.subType)};var gT=["#37A2DA","#32C5E9","#67E0E3","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#E062AE","#E690D1","#e7bcf3","#9d96f5","#8378EA","#96BFFF"],mT={color:gT,colorLayer:[["#37A2DA","#ffd85c","#fd7b5f"],["#37A2DA","#67E0E3","#FFDB5C","#ff9f7f","#E062AE","#9d96f5"],["#37A2DA","#32C5E9","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#e7bcf3","#8378EA","#96BFFF"],gT]},vT=["#dd6b66","#759aa0","#e69d87","#8dc1a9","#ea7e53","#eedd78","#73a373","#73b9bc","#7289ab","#91ca8c","#f49f42"],yT={color:vT,backgroundColor:"#333",tooltip:{axisPointer:{lineStyle:{color:"#eee"},crossStyle:{color:"#eee"}}},legend:{textStyle:{color:"#eee"}},textStyle:{color:"#eee"},title:{textStyle:{color:"#eee"}},toolbox:{iconStyle:{normal:{borderColor:"#eee"}}},dataZoom:{textStyle:{color:"#eee"}},visualMap:{textStyle:{color:"#eee"}},timeline:{lineStyle:{color:"#eee"},itemStyle:{normal:{color:vT[1]}},label:{normal:{textStyle:{color:"#eee"}}},controlStyle:{normal:{color:"#eee",borderColor:"#eee"}}},timeAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},logAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},valueAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},categoryAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},line:{symbol:"circle"},graph:{color:vT},gauge:{title:{textStyle:{color:"#eee"}}},candlestick:{itemStyle:{normal:{color:"#FD1050",color0:"#0CF49B",borderColor:"#FD1050",borderColor0:"#0CF49B"}}}};yT.categoryAxis.splitLine.show=!1,lI.extend({type:"dataset",defaultOption:{seriesLayoutBy:_I,sourceHeader:null,dimensions:null,source:null},optionUpdated:function(){wa(this)}}),qI.extend({type:"dataset"});var xT=Pn.extend({type:"ellipse",shape:{cx:0,cy:0,rx:0,ry:0},buildPath:function(t,e){var i=.5522848,n=e.cx,o=e.cy,a=e.rx,r=e.ry,s=a*i,l=r*i;t.moveTo(n-a,o),t.bezierCurveTo(n-a,o-l,n-s,o-r,n,o-r),t.bezierCurveTo(n+s,o-r,n+a,o-l,n+a,o),t.bezierCurveTo(n+a,o+l,n+s,o+r,n,o+r),t.bezierCurveTo(n-s,o+r,n-a,o+l,n-a,o),t.closePath()}}),_T=/[\s,]+/;$r.prototype.parse=function(t,e){e=e||{};var i=Kr(t);if(!i)throw new Error("Illegal svg");var n=new tb;this._root=n;var o=i.getAttribute("viewBox")||"",a=parseFloat(i.getAttribute("width")||e.width),r=parseFloat(i.getAttribute("height")||e.height);isNaN(a)&&(a=null),isNaN(r)&&(r=null),es(i,n,null,!0);for(var s=i.firstChild;s;)this._parseNode(s,n),s=s.nextSibling;var l,u;if(o){var h=P(o).split(_T);h.length>=4&&(l={x:parseFloat(h[0]||0),y:parseFloat(h[1]||0),width:parseFloat(h[2]),height:parseFloat(h[3])})}if(l&&null!=a&&null!=r&&(u=as(l,a,r),!e.ignoreViewBox)){var c=n;(n=new tb).add(c),c.scale=u.scale.slice(),c.position=u.position.slice()}return e.ignoreRootClip||null==a||null==r||n.setClipPath(new yM({shape:{x:0,y:0,width:a,height:r}})),{root:n,width:a,height:r,viewBoxRect:l,viewBoxTransform:u}},$r.prototype._parseNode=function(t,e){var i=t.nodeName.toLowerCase();"defs"===i?this._isDefine=!0:"text"===i&&(this._isText=!0);var n;if(this._isDefine){if(r=bT[i]){var o=r.call(this,t),a=t.getAttribute("id");a&&(this._defs[a]=o)}}else{var r=wT[i];r&&(n=r.call(this,t,e),e.add(n))}for(var s=t.firstChild;s;)1===s.nodeType&&this._parseNode(s,n),3===s.nodeType&&this._isText&&this._parseText(s,n),s=s.nextSibling;"defs"===i?this._isDefine=!1:"text"===i&&(this._isText=!1)},$r.prototype._parseText=function(t,e){if(1===t.nodeType){var i=t.getAttribute("dx")||0,n=t.getAttribute("dy")||0;this._textX+=parseFloat(i),this._textY+=parseFloat(n)}var o=new rM({style:{text:t.textContent,transformText:!0},position:[this._textX||0,this._textY||0]});Qr(e,o),es(t,o,this._defs);var a=o.style.fontSize;a&&a<9&&(o.style.fontSize=9,o.scale=o.scale||[1,1],o.scale[0]*=a/9,o.scale[1]*=a/9);var r=o.getBoundingRect();return this._textX+=r.width,e.add(o),o};var wT={g:function(t,e){var i=new tb;return Qr(e,i),es(t,i,this._defs),i},rect:function(t,e){var i=new yM;return Qr(e,i),es(t,i,this._defs),i.setShape({x:parseFloat(t.getAttribute("x")||0),y:parseFloat(t.getAttribute("y")||0),width:parseFloat(t.getAttribute("width")||0),height:parseFloat(t.getAttribute("height")||0)}),i},circle:function(t,e){var i=new sM;return Qr(e,i),es(t,i,this._defs),i.setShape({cx:parseFloat(t.getAttribute("cx")||0),cy:parseFloat(t.getAttribute("cy")||0),r:parseFloat(t.getAttribute("r")||0)}),i},line:function(t,e){var i=new _M;return Qr(e,i),es(t,i,this._defs),i.setShape({x1:parseFloat(t.getAttribute("x1")||0),y1:parseFloat(t.getAttribute("y1")||0),x2:parseFloat(t.getAttribute("x2")||0),y2:parseFloat(t.getAttribute("y2")||0)}),i},ellipse:function(t,e){var i=new xT;return Qr(e,i),es(t,i,this._defs),i.setShape({cx:parseFloat(t.getAttribute("cx")||0),cy:parseFloat(t.getAttribute("cy")||0),rx:parseFloat(t.getAttribute("rx")||0),ry:parseFloat(t.getAttribute("ry")||0)}),i},polygon:function(t,e){var i=t.getAttribute("points");i&&(i=ts(i));var n=new pM({shape:{points:i||[]}});return Qr(e,n),es(t,n,this._defs),n},polyline:function(t,e){var i=new Pn;Qr(e,i),es(t,i,this._defs);var n=t.getAttribute("points");return n&&(n=ts(n)),new gM({shape:{points:n||[]}})},image:function(t,e){var i=new fi;return Qr(e,i),es(t,i,this._defs),i.setStyle({image:t.getAttribute("xlink:href"),x:t.getAttribute("x"),y:t.getAttribute("y"),width:t.getAttribute("width"),height:t.getAttribute("height")}),i},text:function(t,e){var i=t.getAttribute("x")||0,n=t.getAttribute("y")||0,o=t.getAttribute("dx")||0,a=t.getAttribute("dy")||0;this._textX=parseFloat(i)+parseFloat(o),this._textY=parseFloat(n)+parseFloat(a);var r=new tb;return Qr(e,r),es(t,r,this._defs),r},tspan:function(t,e){var i=t.getAttribute("x"),n=t.getAttribute("y");null!=i&&(this._textX=parseFloat(i)),null!=n&&(this._textY=parseFloat(n));var o=t.getAttribute("dx")||0,a=t.getAttribute("dy")||0,r=new tb;return Qr(e,r),es(t,r,this._defs),this._textX+=o,this._textY+=a,r},path:function(t,e){var i=Rn(t.getAttribute("d")||"");return Qr(e,i),es(t,i,this._defs),i}},bT={lineargradient:function(t){var e=parseInt(t.getAttribute("x1")||0,10),i=parseInt(t.getAttribute("y1")||0,10),n=parseInt(t.getAttribute("x2")||10,10),o=parseInt(t.getAttribute("y2")||0,10),a=new TM(e,i,n,o);return Jr(t,a),a},radialgradient:function(t){}},ST={fill:"fill",stroke:"stroke","stroke-width":"lineWidth",opacity:"opacity","fill-opacity":"fillOpacity","stroke-opacity":"strokeOpacity","stroke-dasharray":"lineDash","stroke-dashoffset":"lineDashOffset","stroke-linecap":"lineCap","stroke-linejoin":"lineJoin","stroke-miterlimit":"miterLimit","font-family":"fontFamily","font-size":"fontSize","font-style":"fontStyle","font-weight":"fontWeight","text-align":"textAlign","alignment-baseline":"textBaseline"},MT=/url\(\s*#(.*?)\)/,IT=/(translate|scale|rotate|skewX|skewY|matrix)\(([\-\s0-9\.e,]*)\)/g,TT=/([^\s:;]+)\s*:\s*([^:;]+)/g,AT=R(),DT={registerMap:function(t,e,i){var n;return y(e)?n=e:e.svg?n=[{type:"svg",source:e.svg,specialAreas:e.specialAreas}]:(e.geoJson&&!e.features&&(i=e.specialAreas,e=e.geoJson),n=[{type:"geoJSON",source:e,specialAreas:i}]),d(n,function(t){var e=t.type;"geoJson"===e&&(e=t.type="geoJSON"),(0,CT[e])(t)}),AT.set(t,n)},retrieveMap:function(t){return AT.get(t)}},CT={geoJSON:function(t){var e=t.source;t.geoJSON=_(e)?"undefined"!=typeof JSON&&JSON.parse?JSON.parse(e):new Function("return ("+e+");")():e},svg:function(t){t.svgXML=Kr(t.source)}},LT=k,kT=d,PT=x,NT=w,OT=lI.parseClassType,ET={zrender:"4.0.6"},RT=1e3,zT=1e3,BT=3e3,VT={PROCESSOR:{FILTER:RT,STATISTIC:5e3},VISUAL:{LAYOUT:zT,GLOBAL:2e3,CHART:BT,COMPONENT:4e3,BRUSH:5e3}},GT="__flagInMainProcess",FT="__optionUpdated",WT=/^[a-zA-Z0-9_]+$/;ls.prototype.on=ss("on"),ls.prototype.off=ss("off"),ls.prototype.one=ss("one"),h(ls,fw);var HT=us.prototype;HT._onframe=function(){if(!this._disposed){var t=this._scheduler;if(this[FT]){var e=this[FT].silent;this[GT]=!0,cs(this),ZT.update.call(this),this[GT]=!1,this[FT]=!1,gs.call(this,e),ms.call(this,e)}else if(t.unfinished){var i=1,n=this._model;this._api;t.unfinished=!1;do{var o=+new Date;t.performSeriesTasks(n),t.performDataProcessorTasks(n),fs(this,n),t.performVisualTasks(n),bs(this,this._model,0,"remain"),i-=+new Date-o}while(i>0&&t.unfinished);t.unfinished||this._zr.flush()}}},HT.getDom=function(){return this._dom},HT.getZr=function(){return this._zr},HT.setOption=function(t,e,i){var n;if(NT(e)&&(i=e.lazyUpdate,n=e.silent,e=e.notMerge),this[GT]=!0,!this._model||e){var o=new Wa(this._api),a=this._theme,r=this._model=new MI(null,null,a,o);r.scheduler=this._scheduler,r.init(null,null,a,o)}this._model.setOption(t,qT),i?(this[FT]={silent:n},this[GT]=!1):(cs(this),ZT.update.call(this),this._zr.flush(),this[FT]=!1,this[GT]=!1,gs.call(this,n),ms.call(this,n))},HT.setTheme=function(){console.error("ECharts#setTheme() is DEPRECATED in ECharts 3.0")},HT.getModel=function(){return this._model},HT.getOption=function(){return this._model&&this._model.getOption()},HT.getWidth=function(){return this._zr.getWidth()},HT.getHeight=function(){return this._zr.getHeight()},HT.getDevicePixelRatio=function(){return this._zr.painter.dpr||window.devicePixelRatio||1},HT.getRenderedCanvas=function(t){if(U_.canvasSupported)return(t=t||{}).pixelRatio=t.pixelRatio||1,t.backgroundColor=t.backgroundColor||this._model.get("backgroundColor"),this._zr.painter.getRenderedCanvas(t)},HT.getSvgDataUrl=function(){if(U_.svgSupported){var t=this._zr;return d(t.storage.getDisplayList(),function(t){t.stopAnimation(!0)}),t.painter.pathToDataUrl()}},HT.getDataURL=function(t){var e=(t=t||{}).excludeComponents,i=this._model,n=[],o=this;kT(e,function(t){i.eachComponent({mainType:t},function(t){var e=o._componentsMap[t.__viewId];e.group.ignore||(n.push(e),e.group.ignore=!0)})});var a="svg"===this._zr.painter.getType()?this.getSvgDataUrl():this.getRenderedCanvas(t).toDataURL("image/"+(t&&t.type||"png"));return kT(n,function(t){t.group.ignore=!1}),a},HT.getConnectedDataURL=function(t){if(U_.canvasSupported){var e=this.group,n=Math.min,o=Math.max;if(eA[e]){var a=1/0,r=1/0,s=-1/0,l=-1/0,u=[],h=t&&t.pixelRatio||1;d(tA,function(h,c){if(h.group===e){var d=h.getRenderedCanvas(i(t)),f=h.getDom().getBoundingClientRect();a=n(f.left,a),r=n(f.top,r),s=o(f.right,s),l=o(f.bottom,l),u.push({dom:d,left:f.left,top:f.top})}});var c=(s*=h)-(a*=h),f=(l*=h)-(r*=h),p=iw();p.width=c,p.height=f;var g=Ii(p);return kT(u,function(t){var e=new fi({style:{x:t.left*h-a,y:t.top*h-r,image:t.dom}});g.add(e)}),g.refreshImmediately(),p.toDataURL("image/"+(t&&t.type||"png"))}return this.getDataURL(t)}},HT.convertToPixel=v(hs,"convertToPixel"),HT.convertFromPixel=v(hs,"convertFromPixel"),HT.containPixel=function(t,e){var i;return t=Vi(this._model,t),d(t,function(t,n){n.indexOf("Models")>=0&&d(t,function(t){var o=t.coordinateSystem;if(o&&o.containPoint)i|=!!o.containPoint(e);else if("seriesModels"===n){var a=this._chartsMap[t.__viewId];a&&a.containPoint&&(i|=a.containPoint(e,t))}},this)},this),!!i},HT.getVisual=function(t,e){var i=(t=Vi(this._model,t,{defaultMainType:"series"})).seriesModel.getData(),n=t.hasOwnProperty("dataIndexInside")?t.dataIndexInside:t.hasOwnProperty("dataIndex")?i.indexOfRawIndex(t.dataIndex):null;return null!=n?i.getItemVisual(n,e):i.getVisual(e)},HT.getViewOfComponentModel=function(t){return this._componentsMap[t.__viewId]},HT.getViewOfSeriesModel=function(t){return this._chartsMap[t.__viewId]};var ZT={prepareAndUpdate:function(t){cs(this),ZT.update.call(this,t)},update:function(t){var e=this._model,i=this._api,n=this._zr,o=this._coordSysMgr,a=this._scheduler;if(e){a.restoreData(e,t),a.performSeriesTasks(e),o.create(e,i),a.performDataProcessorTasks(e,t),fs(this,e),o.update(e,i),xs(e),a.performVisualTasks(e,t),_s(this,e,i,t);var r=e.get("backgroundColor")||"transparent";if(U_.canvasSupported)n.setBackgroundColor(r);else{var s=Gt(r);r=qt(s,"rgb"),0===s[3]&&(r="transparent")}Ss(e,i)}},updateTransform:function(t){var e=this._model,i=this,n=this._api;if(e){var o=[];e.eachComponent(function(a,r){var s=i.getViewOfComponentModel(r);if(s&&s.__alive)if(s.updateTransform){var l=s.updateTransform(r,e,n,t);l&&l.update&&o.push(s)}else o.push(s)});var a=R();e.eachSeries(function(o){var r=i._chartsMap[o.__viewId];if(r.updateTransform){var s=r.updateTransform(o,e,n,t);s&&s.update&&a.set(o.uid,1)}else a.set(o.uid,1)}),xs(e),this._scheduler.performVisualTasks(e,t,{setDirty:!0,dirtyMap:a}),bs(i,e,0,t,a),Ss(e,this._api)}},updateView:function(t){var e=this._model;e&&(Ar.markUpdateMethod(t,"updateView"),xs(e),this._scheduler.performVisualTasks(e,t,{setDirty:!0}),_s(this,this._model,this._api,t),Ss(e,this._api))},updateVisual:function(t){ZT.update.call(this,t)},updateLayout:function(t){ZT.update.call(this,t)}};HT.resize=function(t){this._zr.resize(t);var e=this._model;if(this._loadingFX&&this._loadingFX.resize(),e){var i=e.resetOption("media"),n=t&&t.silent;this[GT]=!0,i&&cs(this),ZT.update.call(this),this[GT]=!1,gs.call(this,n),ms.call(this,n)}},HT.showLoading=function(t,e){if(NT(t)&&(e=t,t=""),t=t||"default",this.hideLoading(),QT[t]){var i=QT[t](this._api,e),n=this._zr;this._loadingFX=i,n.add(i)}},HT.hideLoading=function(){this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null},HT.makeActionFromEvent=function(t){var e=a({},t);return e.type=jT[t.type],e},HT.dispatchAction=function(t,e){NT(e)||(e={silent:!!e}),XT[t.type]&&this._model&&(this[GT]?this._pendingActions.push(t):(ps.call(this,t,e.silent),e.flush?this._zr.flush(!0):!1!==e.flush&&U_.browser.weChat&&this._throttledZrFlush(),gs.call(this,e.silent),ms.call(this,e.silent)))},HT.appendData=function(t){var e=t.seriesIndex;this.getModel().getSeriesByIndex(e).appendData(t),this._scheduler.unfinished=!0},HT.on=ss("on"),HT.off=ss("off"),HT.one=ss("one");var UT=["click","dblclick","mouseover","mouseout","mousemove","mousedown","mouseup","globalout","contextmenu"];HT._initEvents=function(){kT(UT,function(t){var e=function(e){var i,n=this.getModel(),o=e.target;if("globalout"===t)i={};else if(o&&null!=o.dataIndex){var r=o.dataModel||n.getSeriesByIndex(o.seriesIndex);i=r&&r.getDataParams(o.dataIndex,o.dataType,o)||{}}else o&&o.eventData&&(i=a({},o.eventData));if(i){var s=i.componentType,l=i.componentIndex;"markLine"!==s&&"markPoint"!==s&&"markArea"!==s||(s="series",l=i.seriesIndex);var u=s&&null!=l&&n.getComponent(s,l),h=u&&this["series"===u.mainType?"_chartsMap":"_componentsMap"][u.__viewId];i.event=e,i.type=t,this._ecEventProcessor.eventInfo={targetEl:o,packedEvent:i,model:u,view:h},this.trigger(t,i)}};e.zrEventfulCallAtLast=!0,this._zr.on(t,e,this)},this),kT(jT,function(t,e){this._messageCenter.on(e,function(t){this.trigger(e,t)},this)},this)},HT.isDisposed=function(){return this._disposed},HT.clear=function(){this.setOption({series:[]},!0)},HT.dispose=function(){if(!this._disposed){this._disposed=!0,Fi(this.getDom(),oA,"");var t=this._api,e=this._model;kT(this._componentsViews,function(i){i.dispose(e,t)}),kT(this._chartsViews,function(i){i.dispose(e,t)}),this._zr.dispose(),delete tA[this.id]}},h(us,fw),Ds.prototype={constructor:Ds,normalizeQuery:function(t){var e={},i={},n={};if(_(t)){var o=OT(t);e.mainType=o.main||null,e.subType=o.sub||null}else{var a=["Index","Name","Id"],r={name:1,dataIndex:1,dataType:1};d(t,function(t,o){for(var s=!1,l=0;l0&&h===o.length-u.length){var c=o.slice(0,h);"data"!==c&&(e.mainType=c,e[u.toLowerCase()]=t,s=!0)}}r.hasOwnProperty(o)&&(i[o]=t,s=!0),s||(n[o]=t)})}return{cptQuery:e,dataQuery:i,otherQuery:n}},filter:function(t,e,i){function n(t,e,i,n){return null==t[i]||e[n||i]===t[i]}var o=this.eventInfo;if(!o)return!0;var a=o.targetEl,r=o.packedEvent,s=o.model,l=o.view;if(!s||!l)return!0;var u=e.cptQuery,h=e.dataQuery;return n(u,s,"mainType")&&n(u,s,"subType")&&n(u,s,"index","componentIndex")&&n(u,s,"name")&&n(u,s,"id")&&n(h,r,"name")&&n(h,r,"dataIndex")&&n(h,r,"dataType")&&(!l.filterForExposedEvent||l.filterForExposedEvent(t,e.otherQuery,a,r))},afterTrigger:function(){this.eventInfo=null}};var XT={},jT={},YT=[],qT=[],KT=[],$T=[],JT={},QT={},tA={},eA={},iA=new Date-0,nA=new Date-0,oA="_echarts_instance_",aA=Ls;Bs(2e3,aT),Ns(BI),Os(5e3,function(t){var e=R();t.eachSeries(function(t){var i=t.get("stack");if(i){var n=e.get(i)||e.set(i,[]),o=t.getData(),a={stackResultDimension:o.getCalculationInfo("stackResultDimension"),stackedOverDimension:o.getCalculationInfo("stackedOverDimension"),stackedDimension:o.getCalculationInfo("stackedDimension"),stackedByDimension:o.getCalculationInfo("stackedByDimension"),isStackedByIndex:o.getCalculationInfo("isStackedByIndex"),data:o,seriesModel:t};if(!a.stackedDimension||!a.isStackedByIndex&&!a.stackedByDimension)return;n.length&&o.setCalculationInfo("stackedOnSeries",n[n.length-1].seriesModel),n.push(a)}}),e.each(ar)}),Gs("default",function(t,e){r(e=e||{},{text:"loading",color:"#c23531",textColor:"#000",maskColor:"rgba(255, 255, 255, 0.8)",zlevel:0});var i=new yM({style:{fill:e.maskColor},zlevel:e.zlevel,z:1e4}),n=new SM({shape:{startAngle:-lT/2,endAngle:-lT/2+.1,r:10},style:{stroke:e.color,lineCap:"round",lineWidth:5},zlevel:e.zlevel,z:10001}),o=new yM({style:{fill:"none",text:e.text,textPosition:"right",textDistance:10,textFill:e.textColor},zlevel:e.zlevel,z:10001});n.animateShape(!0).when(1e3,{endAngle:3*lT/2}).start("circularInOut"),n.animateShape(!0).when(1e3,{startAngle:3*lT/2}).delay(300).start("circularInOut");var a=new tb;return a.add(n),a.add(o),a.add(i),a.resize=function(){var e=t.getWidth()/2,a=t.getHeight()/2;n.setShape({cx:e,cy:a});var r=n.shape.r;o.setShape({x:e-r,y:a-r,width:2*r,height:2*r}),i.setShape({x:0,y:0,width:t.getWidth(),height:t.getHeight()})},a.resize(),a}),Es({type:"highlight",event:"highlight",update:"highlight"},B),Es({type:"downplay",event:"downplay",update:"downplay"},B),Ps("light",mT),Ps("dark",yT);var rA={};Xs.prototype={constructor:Xs,add:function(t){return this._add=t,this},update:function(t){return this._update=t,this},remove:function(t){return this._remove=t,this},execute:function(){var t=this._old,e=this._new,i={},n=[],o=[];for(js(t,{},n,"_oldKeyGetter",this),js(e,i,o,"_newKeyGetter",this),a=0;ax[1]&&(x[1]=y)}e&&(this._nameList[d]=e[f])}this._rawCount=this._count=l,this._extent={},el(this)},yA._initDataFromProvider=function(t,e){if(!(t>=e)){for(var i,n=this._chunkSize,o=this._rawData,a=this._storage,r=this.dimensions,s=r.length,l=this._dimensionInfos,u=this._nameList,h=this._idList,c=this._rawExtent,d=this._nameRepeatCount={},f=this._chunkCount,p=0;pM[1]&&(M[1]=S)}if(!o.pure){var I=u[v];if(m&&null==I)if(null!=m.name)u[v]=I=m.name;else if(null!=i){var T=r[i],A=a[T][y];if(A){I=A[x];var D=l[T].ordinalMeta;D&&D.categories.length&&(I=D.categories[I])}}var C=null==m?null:m.id;null==C&&null!=I&&(d[I]=d[I]||0,C=I,d[I]>0&&(C+="__ec__"+d[I]),d[I]++),null!=C&&(h[v]=C)}}!o.persistent&&o.clean&&o.clean(),this._rawCount=this._count=e,this._extent={},el(this)}},yA.count=function(){return this._count},yA.getIndices=function(){var t=this._indices;if(t){var e=t.constructor,i=this._count;if(e===Array){n=new e(i);for(o=0;o=0&&e=0&&ea&&(a=s)}return i=[o,a],this._extent[t]=i,i},yA.getApproximateExtent=function(t){return t=this.getDimension(t),this._approximateExtent[t]||this.getDataExtent(t)},yA.setApproximateExtent=function(t,e){e=this.getDimension(e),this._approximateExtent[e]=t.slice()},yA.getCalculationInfo=function(t){return this._calculationInfo[t]},yA.setCalculationInfo=function(t,e){lA(t)?a(this._calculationInfo,t):this._calculationInfo[t]=e},yA.getSum=function(t){var e=0;if(this._storage[t])for(var i=0,n=this.count();i=this._rawCount||t<0)return-1;var e=this._indices,i=e[t];if(null!=i&&it))return a;o=a-1}}return-1},yA.indicesOfNearest=function(t,e,i){var n=[];if(!this._storage[t])return n;null==i&&(i=1/0);for(var o=Number.MAX_VALUE,a=-1,r=0,s=this.count();r=0&&a<0)&&(o=u,a=l,n.length=0),n.push(r))}return n},yA.getRawIndex=nl,yA.getRawDataItem=function(t){if(this._rawData.persistent)return this._rawData.getItem(this.getRawIndex(t));for(var e=[],i=0;i=l&&w<=u||isNaN(w))&&(a[r++]=c),c++;h=!0}else if(2===n){for(var d=this._storage[s],v=this._storage[e[1]],y=t[e[1]][0],x=t[e[1]][1],f=0;f=l&&w<=u||isNaN(w))&&(b>=y&&b<=x||isNaN(b))&&(a[r++]=c),c++}h=!0}}if(!h)if(1===n)for(m=0;m=l&&w<=u||isNaN(w))&&(a[r++]=M)}else for(m=0;mt[I][1])&&(S=!1)}S&&(a[r++]=this.getRawIndex(m))}return rb[1]&&(b[1]=w)}}}return o},yA.downSample=function(t,e,i,n){for(var o=sl(this,[t]),a=o._storage,r=[],s=Math.floor(1/e),l=a[t],u=this.count(),h=this._chunkSize,c=o._rawExtent[t],d=new($s(this))(u),f=0,p=0;pu-p&&(s=u-p,r.length=s);for(var g=0;gc[1]&&(c[1]=x),d[f++]=_}return o._count=f,o._indices=d,o.getRawIndex=ol,o},yA.getItemModel=function(t){var e=this.hostModel;return new No(this.getRawDataItem(t),e,e&&e.ecModel)},yA.diff=function(t){var e=this;return new Xs(t?t.getIndices():[],this.getIndices(),function(e){return al(t,e)},function(t){return al(e,t)})},yA.getVisual=function(t){var e=this._visual;return e&&e[t]},yA.setVisual=function(t,e){if(lA(t))for(var i in t)t.hasOwnProperty(i)&&this.setVisual(i,t[i]);else this._visual=this._visual||{},this._visual[t]=e},yA.setLayout=function(t,e){if(lA(t))for(var i in t)t.hasOwnProperty(i)&&this.setLayout(i,t[i]);else this._layout[t]=e},yA.getLayout=function(t){return this._layout[t]},yA.getItemLayout=function(t){return this._itemLayouts[t]},yA.setItemLayout=function(t,e,i){this._itemLayouts[t]=i?a(this._itemLayouts[t]||{},e):e},yA.clearItemLayouts=function(){this._itemLayouts.length=0},yA.getItemVisual=function(t,e,i){var n=this._itemVisuals[t],o=n&&n[e];return null!=o||i?o:this.getVisual(e)},yA.setItemVisual=function(t,e,i){var n=this._itemVisuals[t]||{},o=this.hasItemVisual;if(this._itemVisuals[t]=n,lA(e))for(var a in e)e.hasOwnProperty(a)&&(n[a]=e[a],o[a]=!0);else n[e]=i,o[e]=!0},yA.clearAllVisual=function(){this._visual={},this._itemVisuals=[],this.hasItemVisual={}};var xA=function(t){t.seriesIndex=this.seriesIndex,t.dataIndex=this.dataIndex,t.dataType=this.dataType};yA.setItemGraphicEl=function(t,e){var i=this.hostModel;e&&(e.dataIndex=t,e.dataType=this.dataType,e.seriesIndex=i&&i.seriesIndex,"group"===e.type&&e.traverse(xA,e)),this._graphicEls[t]=e},yA.getItemGraphicEl=function(t){return this._graphicEls[t]},yA.eachItemGraphicEl=function(t,e){d(this._graphicEls,function(i,n){i&&t&&t.call(e,i,n)})},yA.cloneShallow=function(t){if(!t){var e=f(this.dimensions,this.getDimensionInfo,this);t=new vA(e,this.hostModel)}if(t._storage=this._storage,Qs(t,this),this._indices){var i=this._indices.constructor;t._indices=new i(this._indices)}else t._indices=null;return t.getRawIndex=t._indices?ol:nl,t},yA.wrapMethod=function(t,e){var i=this[t];"function"==typeof i&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(t),this[t]=function(){var t=i.apply(this,arguments);return e.apply(this,[t].concat(C(arguments)))})},yA.TRANSFERABLE_METHODS=["cloneShallow","downSample","map"],yA.CHANGABLE_METHODS=["filterSelf","selectRange"];var _A=function(t,e){return e=e||{},hl(e.coordDimensions||[],t,{dimsDef:e.dimensionsDefine||t.dimensionsDefine,encodeDef:e.encodeDefine||t.encodeDefine,dimCount:e.dimensionsCount,generateCoord:e.generateCoord,generateCoordCount:e.generateCoordCount})};xl.prototype.parse=function(t){return t},xl.prototype.getSetting=function(t){return this._setting[t]},xl.prototype.contain=function(t){var e=this._extent;return t>=e[0]&&t<=e[1]},xl.prototype.normalize=function(t){var e=this._extent;return e[1]===e[0]?.5:(t-e[0])/(e[1]-e[0])},xl.prototype.scale=function(t){var e=this._extent;return t*(e[1]-e[0])+e[0]},xl.prototype.unionExtent=function(t){var e=this._extent;t[0]e[1]&&(e[1]=t[1])},xl.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},xl.prototype.getExtent=function(){return this._extent.slice()},xl.prototype.setExtent=function(t,e){var i=this._extent;isNaN(t)||(i[0]=t),isNaN(e)||(i[1]=e)},xl.prototype.isBlank=function(){return this._isBlank},xl.prototype.setBlank=function(t){this._isBlank=t},xl.prototype.getLabel=null,ji(xl),$i(xl,{registerWhenExtend:!0}),_l.createByAxisModel=function(t){var e=t.option,i=e.data,n=i&&f(i,bl);return new _l({categories:n,needCollect:!n,deduplication:!1!==e.dedplication})};var wA=_l.prototype;wA.getOrdinal=function(t){return wl(this).get(t)},wA.parseAndCollect=function(t){var e,i=this._needCollect;if("string"!=typeof t&&!i)return t;if(i&&!this._deduplication)return e=this.categories.length,this.categories[e]=t,e;var n=wl(this);return null==(e=n.get(t))&&(i?(e=this.categories.length,this.categories[e]=t,n.set(t,e)):e=NaN),e};var bA=xl.prototype,SA=xl.extend({type:"ordinal",init:function(t,e){t&&!y(t)||(t=new _l({categories:t})),this._ordinalMeta=t,this._extent=e||[0,t.categories.length-1]},parse:function(t){return"string"==typeof t?this._ordinalMeta.getOrdinal(t):Math.round(t)},contain:function(t){return t=this.parse(t),bA.contain.call(this,t)&&null!=this._ordinalMeta.categories[t]},normalize:function(t){return bA.normalize.call(this,this.parse(t))},scale:function(t){return Math.round(bA.scale.call(this,t))},getTicks:function(){for(var t=[],e=this._extent,i=e[0];i<=e[1];)t.push(i),i++;return t},getLabel:function(t){if(!this.isBlank())return this._ordinalMeta.categories[t]},count:function(){return this._extent[1]-this._extent[0]+1},unionExtentFromData:function(t,e){this.unionExtent(t.getApproximateExtent(e))},getOrdinalMeta:function(){return this._ordinalMeta},niceTicks:B,niceExtent:B});SA.create=function(){return new SA};var MA=Go,IA=Go,TA=xl.extend({type:"interval",_interval:0,_intervalPrecision:2,setExtent:function(t,e){var i=this._extent;isNaN(t)||(i[0]=parseFloat(t)),isNaN(e)||(i[1]=parseFloat(e))},unionExtent:function(t){var e=this._extent;t[0]e[1]&&(e[1]=t[1]),TA.prototype.setExtent.call(this,e[0],e[1])},getInterval:function(){return this._interval},setInterval:function(t){this._interval=t,this._niceExtent=this._extent.slice(),this._intervalPrecision=Ml(t)},getTicks:function(){return Al(this._interval,this._extent,this._niceExtent,this._intervalPrecision)},getLabel:function(t,e){if(null==t)return"";var i=e&&e.precision;return null==i?i=Ho(t)||0:"auto"===i&&(i=this._intervalPrecision),t=IA(t,i,!0),ta(t)},niceTicks:function(t,e,i){t=t||5;var n=this._extent,o=n[1]-n[0];if(isFinite(o)){o<0&&(o=-o,n.reverse());var a=Sl(n,t,e,i);this._intervalPrecision=a.intervalPrecision,this._interval=a.interval,this._niceExtent=a.niceTickExtent}},niceExtent:function(t){var e=this._extent;if(e[0]===e[1])if(0!==e[0]){var i=e[0];t.fixMax?e[0]-=i/2:(e[1]+=i/2,e[0]-=i/2)}else e[1]=1;var n=e[1]-e[0];isFinite(n)||(e[0]=0,e[1]=1),this.niceTicks(t.splitNumber,t.minInterval,t.maxInterval);var o=this._interval;t.fixMin||(e[0]=IA(Math.floor(e[0]/o)*o)),t.fixMax||(e[1]=IA(Math.ceil(e[1]/o)*o))}});TA.create=function(){return new TA};var AA="__ec_stack_",DA="undefined"!=typeof Float32Array?Float32Array:Array,CA={seriesType:"bar",plan:$I(),reset:function(t){if(Rl(t)&&zl(t)){var e=t.getData(),i=t.coordinateSystem,n=i.getBaseAxis(),o=i.getOtherAxis(n),a=e.mapDimension(o.dim),r=e.mapDimension(n.dim),s=o.isHorizontal(),l=s?0:1,u=Ol(Pl([t]),n,t).width;return u>.5||(u=.5),{progress:function(t,e){for(var n,h=new DA(2*t.count),c=[],d=[],f=0;null!=(n=t.next());)d[l]=e.get(a,n),d[1-l]=e.get(r,n),c=i.dataToPoint(d,null,c),h[f++]=c[0],h[f++]=c[1];e.setLayout({largePoints:h,barWidth:u,valueAxisStart:Bl(0,o),valueAxisHorizontal:s})}}}}},LA=TA.prototype,kA=Math.ceil,PA=Math.floor,NA=function(t,e,i,n){for(;i>>1;t[o][1]i&&(a=i);var r=EA.length,s=NA(EA,a,0,r),l=EA[Math.min(s,r-1)],u=l[1];"year"===l[0]&&(u*=$o(o/u/t,!0));var h=this.getSetting("useUTC")?0:60*new Date(+n[0]||+n[1]).getTimezoneOffset()*1e3,c=[Math.round(kA((n[0]-h)/u)*u+h),Math.round(PA((n[1]-h)/u)*u+h)];Tl(c,n),this._stepLvl=l,this._interval=u,this._niceExtent=c},parse:function(t){return+Yo(t)}});d(["contain","normalize"],function(t){OA.prototype[t]=function(e){return LA[t].call(this,this.parse(e))}});var EA=[["hh:mm:ss",1e3],["hh:mm:ss",5e3],["hh:mm:ss",1e4],["hh:mm:ss",15e3],["hh:mm:ss",3e4],["hh:mm\nMM-dd",6e4],["hh:mm\nMM-dd",3e5],["hh:mm\nMM-dd",6e5],["hh:mm\nMM-dd",9e5],["hh:mm\nMM-dd",18e5],["hh:mm\nMM-dd",36e5],["hh:mm\nMM-dd",72e5],["hh:mm\nMM-dd",216e5],["hh:mm\nMM-dd",432e5],["MM-dd\nyyyy",864e5],["MM-dd\nyyyy",1728e5],["MM-dd\nyyyy",2592e5],["MM-dd\nyyyy",3456e5],["MM-dd\nyyyy",432e6],["MM-dd\nyyyy",5184e5],["week",6048e5],["MM-dd\nyyyy",864e6],["week",12096e5],["week",18144e5],["month",26784e5],["week",36288e5],["month",53568e5],["week",6048e6],["quarter",8208e6],["month",107136e5],["month",13392e6],["half-year",16416e6],["month",214272e5],["month",26784e6],["year",32832e6]];OA.create=function(t){return new OA({useUTC:t.ecModel.get("useUTC")})};var RA=xl.prototype,zA=TA.prototype,BA=Ho,VA=Go,GA=Math.floor,FA=Math.ceil,WA=Math.pow,HA=Math.log,ZA=xl.extend({type:"log",base:10,$constructor:function(){xl.apply(this,arguments),this._originalScale=new TA},getTicks:function(){var t=this._originalScale,e=this._extent,i=t.getExtent();return f(zA.getTicks.call(this),function(n){var o=Go(WA(this.base,n));return o=n===e[0]&&t.__fixMin?Vl(o,i[0]):o,o=n===e[1]&&t.__fixMax?Vl(o,i[1]):o},this)},getLabel:zA.getLabel,scale:function(t){return t=RA.scale.call(this,t),WA(this.base,t)},setExtent:function(t,e){var i=this.base;t=HA(t)/HA(i),e=HA(e)/HA(i),zA.setExtent.call(this,t,e)},getExtent:function(){var t=this.base,e=RA.getExtent.call(this);e[0]=WA(t,e[0]),e[1]=WA(t,e[1]);var i=this._originalScale,n=i.getExtent();return i.__fixMin&&(e[0]=Vl(e[0],n[0])),i.__fixMax&&(e[1]=Vl(e[1],n[1])),e},unionExtent:function(t){this._originalScale.unionExtent(t);var e=this.base;t[0]=HA(t[0])/HA(e),t[1]=HA(t[1])/HA(e),RA.unionExtent.call(this,t)},unionExtentFromData:function(t,e){this.unionExtent(t.getApproximateExtent(e))},niceTicks:function(t){t=t||10;var e=this._extent,i=e[1]-e[0];if(!(i===1/0||i<=0)){var n=qo(i);for(t/i*n<=.5&&(n*=10);!isNaN(n)&&Math.abs(n)<1&&Math.abs(n)>0;)n*=10;var o=[Go(FA(e[0]/n)*n),Go(GA(e[1]/n)*n)];this._interval=n,this._niceExtent=o}},niceExtent:function(t){zA.niceExtent.call(this,t);var e=this._originalScale;e.__fixMin=t.fixMin,e.__fixMax=t.fixMax}});d(["contain","normalize"],function(t){ZA.prototype[t]=function(e){return e=HA(e)/HA(this.base),RA[t].call(this,e)}}),ZA.create=function(){return new ZA};var UA={getMin:function(t){var e=this.option,i=t||null==e.rangeStart?e.min:e.rangeStart;return this.axis&&null!=i&&"dataMin"!==i&&"function"!=typeof i&&!I(i)&&(i=this.axis.scale.parse(i)),i},getMax:function(t){var e=this.option,i=t||null==e.rangeEnd?e.max:e.rangeEnd;return this.axis&&null!=i&&"dataMax"!==i&&"function"!=typeof i&&!I(i)&&(i=this.axis.scale.parse(i)),i},getNeedCrossZero:function(){var t=this.option;return null==t.rangeStart&&null==t.rangeEnd&&!t.scale},getCoordSysModel:B,setRange:function(t,e){this.option.rangeStart=t,this.option.rangeEnd=e},resetRange:function(){this.option.rangeStart=this.option.rangeEnd=null}},XA=Un({type:"triangle",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var i=e.cx,n=e.cy,o=e.width/2,a=e.height/2;t.moveTo(i,n-a),t.lineTo(i+o,n+a),t.lineTo(i-o,n+a),t.closePath()}}),jA=Un({type:"diamond",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var i=e.cx,n=e.cy,o=e.width/2,a=e.height/2;t.moveTo(i,n-a),t.lineTo(i+o,n),t.lineTo(i,n+a),t.lineTo(i-o,n),t.closePath()}}),YA=Un({type:"pin",shape:{x:0,y:0,width:0,height:0},buildPath:function(t,e){var i=e.x,n=e.y,o=e.width/5*3,a=Math.max(o,e.height),r=o/2,s=r*r/(a-r),l=n-a+r+s,u=Math.asin(s/r),h=Math.cos(u)*r,c=Math.sin(u),d=Math.cos(u),f=.6*r,p=.7*r;t.moveTo(i-h,l+s),t.arc(i,l,r,Math.PI-u,2*Math.PI+u),t.bezierCurveTo(i+h-c*f,l+s+d*f,i,n-p,i,n),t.bezierCurveTo(i,n-p,i-h+c*f,l+s+d*f,i-h,l+s),t.closePath()}}),qA=Un({type:"arrow",shape:{x:0,y:0,width:0,height:0},buildPath:function(t,e){var i=e.height,n=e.width,o=e.x,a=e.y,r=n/3*2;t.moveTo(o,a),t.lineTo(o+r,a+i),t.lineTo(o,a+i/4*3),t.lineTo(o-r,a+i),t.lineTo(o,a),t.closePath()}}),KA={line:function(t,e,i,n,o){o.x1=t,o.y1=e+n/2,o.x2=t+i,o.y2=e+n/2},rect:function(t,e,i,n,o){o.x=t,o.y=e,o.width=i,o.height=n},roundRect:function(t,e,i,n,o){o.x=t,o.y=e,o.width=i,o.height=n,o.r=Math.min(i,n)/4},square:function(t,e,i,n,o){var a=Math.min(i,n);o.x=t,o.y=e,o.width=a,o.height=a},circle:function(t,e,i,n,o){o.cx=t+i/2,o.cy=e+n/2,o.r=Math.min(i,n)/2},diamond:function(t,e,i,n,o){o.cx=t+i/2,o.cy=e+n/2,o.width=i,o.height=n},pin:function(t,e,i,n,o){o.x=t+i/2,o.y=e+n/2,o.width=i,o.height=n},arrow:function(t,e,i,n,o){o.x=t+i/2,o.y=e+n/2,o.width=i,o.height=n},triangle:function(t,e,i,n,o){o.cx=t+i/2,o.cy=e+n/2,o.width=i,o.height=n}},$A={};d({line:_M,rect:yM,roundRect:yM,square:yM,circle:sM,diamond:jA,pin:YA,arrow:qA,triangle:XA},function(t,e){$A[e]=new t});var JA=Un({type:"symbol",shape:{symbolType:"",x:0,y:0,width:0,height:0},beforeBrush:function(){var t=this.style;"pin"===this.shape.symbolType&&"inside"===t.textPosition&&(t.textPosition=["50%","40%"],t.textAlign="center",t.textVerticalAlign="middle")},buildPath:function(t,e,i){var n=e.symbolType,o=$A[n];"none"!==e.symbolType&&(o||(o=$A[n="rect"]),KA[n](e.x,e.y,e.width,e.height,o.shape),o.buildPath(t,o.shape,i))}}),QA={isDimensionStacked:pl,enableDataStack:fl,getStackedDimension:gl},tD=(Object.freeze||Object)({createList:function(t){return ml(t.getSource(),t)},getLayoutRect:ca,dataStack:QA,createScale:function(t,e){var i=e;No.isInstance(e)||h(i=new No(e),UA);var n=Hl(i);return n.setExtent(t[0],t[1]),Wl(n,i),n},mixinAxisModelCommonMethods:function(t){h(t,UA)},completeDimensions:hl,createDimensions:_A,createSymbol:Jl}),eD=1e-8;eu.prototype={constructor:eu,properties:null,getBoundingRect:function(){var t=this._rect;if(t)return t;for(var e=Number.MAX_VALUE,i=[e,e],n=[-e,-e],o=[],a=[],r=this.geometries,s=0;s0}),function(t){var e=t.properties,i=t.geometry,n=i.coordinates,o=[];"Polygon"===i.type&&o.push({type:"polygon",exterior:n[0],interiors:n.slice(1)}),"MultiPolygon"===i.type&&d(n,function(t){t[0]&&o.push({type:"polygon",exterior:t[0],interiors:t.slice(1)})});var a=new eu(e.name,o,e.cp);return a.properties=e,a})},nD=Bi(),oD=[0,1],aD=function(t,e,i){this.dim=t,this.scale=e,this._extent=i||[0,0],this.inverse=!1,this.onBand=!1};aD.prototype={constructor:aD,contain:function(t){var e=this._extent,i=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return t>=i&&t<=n},containData:function(t){return this.contain(this.dataToCoord(t))},getExtent:function(){return this._extent.slice()},getPixelPrecision:function(t){return Zo(t||this.scale.getExtent(),this._extent)},setExtent:function(t,e){var i=this._extent;i[0]=t,i[1]=e},dataToCoord:function(t,e){var i=this._extent,n=this.scale;return t=n.normalize(t),this.onBand&&"ordinal"===n.type&&yu(i=i.slice(),n.count()),Bo(t,oD,i,e)},coordToData:function(t,e){var i=this._extent,n=this.scale;this.onBand&&"ordinal"===n.type&&yu(i=i.slice(),n.count());var o=Bo(t,i,oD,e);return this.scale.scale(o)},pointToData:function(t,e){},getTicksCoords:function(t){var e=(t=t||{}).tickModel||this.getTickModel(),i=au(this,e),n=f(i.ticks,function(t){return{coord:this.dataToCoord(t),tickValue:t}},this),o=e.get("alignWithLabel");return xu(this,n,i.tickCategoryInterval,o,t.clamp),n},getViewLabels:function(){return ou(this).labels},getLabelModel:function(){return this.model.getModel("axisLabel")},getTickModel:function(){return this.model.getModel("axisTick")},getBandWidth:function(){var t=this._extent,e=this.scale.getExtent(),i=e[1]-e[0]+(this.onBand?1:0);0===i&&(i=1);var n=Math.abs(t[1]-t[0]);return Math.abs(n)/i},isHorizontal:null,getRotate:null,calculateCategoryInterval:function(){return pu(this)}};var rD=iD,sD={};d(["map","each","filter","indexOf","inherits","reduce","filter","bind","curry","isArray","isString","isObject","isFunction","extend","defaults","clone","merge"],function(t){sD[t]=aw[t]});var lD={};d(["extendShape","extendPath","makePath","makeImage","mergePath","resizePath","createIcon","setHoverStyle","setLabelStyle","setTextStyle","setText","getFont","updateProps","initProps","getTransform","clipPointsByRect","clipRectByRect","Group","Image","Text","Circle","Sector","Ring","Polygon","Polyline","Rect","Line","BezierCurve","Arc","IncrementalDisplayable","CompoundPath","LinearGradient","RadialGradient","BoundingRect"],function(t){lD[t]=zM[t]}),YI.extend({type:"series.line",dependencies:["grid","polar"],getInitialData:function(t,e){return ml(this.getSource(),this)},defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,clipOverflow:!0,label:{position:"top"},lineStyle:{width:2,type:"solid"},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0}});var uD=wu.prototype,hD=wu.getSymbolSize=function(t,e){var i=t.getItemVisual(e,"symbolSize");return i instanceof Array?i.slice():[+i,+i]};uD._createSymbol=function(t,e,i,n,o){this.removeAll();var a=Jl(t,-1,-1,2,2,e.getItemVisual(i,"color"),o);a.attr({z2:100,culling:!0,scale:bu(n)}),a.drift=Su,this._symbolType=t,this.add(a)},uD.stopSymbolAnimation=function(t){this.childAt(0).stopAnimation(t)},uD.getSymbolPath=function(){return this.childAt(0)},uD.getScale=function(){return this.childAt(0).scale},uD.highlight=function(){this.childAt(0).trigger("emphasis")},uD.downplay=function(){this.childAt(0).trigger("normal")},uD.setZ=function(t,e){var i=this.childAt(0);i.zlevel=t,i.z=e},uD.setDraggable=function(t){var e=this.childAt(0);e.draggable=t,e.cursor=t?"move":"pointer"},uD.updateData=function(t,e,i){this.silent=!1;var n=t.getItemVisual(e,"symbol")||"circle",o=t.hostModel,a=hD(t,e),r=n!==this._symbolType;if(r){var s=t.getItemVisual(e,"symbolKeepAspect");this._createSymbol(n,t,e,a,s)}else(l=this.childAt(0)).silent=!1,Io(l,{scale:bu(a)},o,e);if(this._updateCommon(t,e,a,i),r){var l=this.childAt(0),u=i&&i.fadeIn,h={scale:l.scale.slice()};u&&(h.style={opacity:l.style.opacity}),l.scale=[0,0],u&&(l.style.opacity=0),To(l,h,o,e)}this._seriesModel=o};var cD=["itemStyle"],dD=["emphasis","itemStyle"],fD=["label"],pD=["emphasis","label"];uD._updateCommon=function(t,e,i,n){var o=this.childAt(0),r=t.hostModel,s=t.getItemVisual(e,"color");"image"!==o.type&&o.useStyle({strokeNoScale:!0});var l=n&&n.itemStyle,u=n&&n.hoverItemStyle,h=n&&n.symbolRotate,c=n&&n.symbolOffset,d=n&&n.labelModel,f=n&&n.hoverLabelModel,p=n&&n.hoverAnimation,g=n&&n.cursorStyle;if(!n||t.hasItemOption){var m=n&&n.itemModel?n.itemModel:t.getItemModel(e);l=m.getModel(cD).getItemStyle(["color"]),u=m.getModel(dD).getItemStyle(),h=m.getShallow("symbolRotate"),c=m.getShallow("symbolOffset"),d=m.getModel(fD),f=m.getModel(pD),p=m.getShallow("hoverAnimation"),g=m.getShallow("cursor")}else u=a({},u);var v=o.style;o.attr("rotation",(h||0)*Math.PI/180||0),c&&o.attr("position",[Vo(c[0],i[0]),Vo(c[1],i[1])]),g&&o.attr("cursor",g),o.setColor(s,n&&n.symbolInnerColor),o.setStyle(l);var y=t.getItemVisual(e,"opacity");null!=y&&(v.opacity=y);var x=t.getItemVisual(e,"liftZ"),_=o.__z2Origin;null!=x?null==_&&(o.__z2Origin=o.z2,o.z2+=x):null!=_&&(o.z2=_,o.__z2Origin=null);var w=n&&n.useNameLabel;go(v,u,d,f,{labelFetcher:r,labelDataIndex:e,defaultText:function(e,i){return w?t.getName(e):_u(t,e)},isRectText:!0,autoColor:s}),o.off("mouseover").off("mouseout").off("emphasis").off("normal"),o.hoverStyle=u,fo(o),o.__symbolOriginalScale=bu(i),p&&r.isAnimationEnabled()&&o.on("mouseover",Mu).on("mouseout",Iu).on("emphasis",Tu).on("normal",Au)},uD.fadeOut=function(t,e){var i=this.childAt(0);this.silent=i.silent=!0,!(e&&e.keepLabel)&&(i.style.text=null),Io(i,{style:{opacity:0},scale:[0,0]},this._seriesModel,this.dataIndex,t)},u(wu,tb);var gD=Du.prototype;gD.updateData=function(t,e){e=Lu(e);var i=this.group,n=t.hostModel,o=this._data,a=this._symbolCtor,r=ku(t);o||i.removeAll(),t.diff(o).add(function(n){var o=t.getItemLayout(n);if(Cu(t,o,n,e)){var s=new a(t,n,r);s.attr("position",o),t.setItemGraphicEl(n,s),i.add(s)}}).update(function(s,l){var u=o.getItemGraphicEl(l),h=t.getItemLayout(s);Cu(t,h,s,e)?(u?(u.updateData(t,s,r),Io(u,{position:h},n)):(u=new a(t,s)).attr("position",h),i.add(u),t.setItemGraphicEl(s,u)):i.remove(u)}).remove(function(t){var e=o.getItemGraphicEl(t);e&&e.fadeOut(function(){i.remove(e)})}).execute(),this._data=t},gD.isPersistent=function(){return!0},gD.updateLayout=function(){var t=this._data;t&&t.eachItemGraphicEl(function(e,i){var n=t.getItemLayout(i);e.attr("position",n)})},gD.incrementalPrepareUpdate=function(t){this._seriesScope=ku(t),this._data=null,this.group.removeAll()},gD.incrementalUpdate=function(t,e,i){i=Lu(i);for(var n=t.start;n0&&Ru(i[o-1]);o--);for(;n0&&Ru(i[a-1]);a--);for(;o=0){var r=o.getItemGraphicEl(a);if(!r){var s=o.getItemLayout(a);if(!s)return;(r=new wu(o,a)).position=s,r.setZ(t.get("zlevel"),t.get("z")),r.ignore=isNaN(s[0])||isNaN(s[1]),r.__temp=!0,o.setItemGraphicEl(a,r),r.stopSymbolAnimation(!0),this.group.add(r)}r.highlight()}else Ar.prototype.highlight.call(this,t,e,i,n)},downplay:function(t,e,i,n){var o=t.getData(),a=zi(o,n);if(null!=a&&a>=0){var r=o.getItemGraphicEl(a);r&&(r.__temp?(o.setItemGraphicEl(a,null),this.group.remove(r)):r.downplay())}else Ar.prototype.downplay.call(this,t,e,i,n)},_newPolyline:function(t){var e=this._polyline;return e&&this._lineGroup.remove(e),e=new MD({shape:{points:t},silent:!0,z2:10}),this._lineGroup.add(e),this._polyline=e,e},_newPolygon:function(t,e){var i=this._polygon;return i&&this._lineGroup.remove(i),i=new ID({shape:{points:t,stackedOnPoints:e},silent:!0}),this._lineGroup.add(i),this._polygon=i,i},_updateAnimation:function(t,e,i,n,o,a){var r=this._polyline,s=this._polygon,l=t.hostModel,u=mD(this._data,t,this._stackedOnPoints,e,this._coordSys,i,this._valueOrigin,a),h=u.current,c=u.stackedOnCurrent,d=u.next,f=u.stackedOnNext;o&&(h=Yu(u.current,i,o),c=Yu(u.stackedOnCurrent,i,o),d=Yu(u.next,i,o),f=Yu(u.stackedOnNext,i,o)),r.shape.__points=u.current,r.shape.points=h,Io(r,{shape:{points:d}},l),s&&(s.setShape({points:h,stackedOnPoints:c}),Io(s,{shape:{points:d,stackedOnPoints:f}},l));for(var p=[],g=u.status,m=0;me&&(e=t[i]);return isFinite(e)?e:NaN},min:function(t){for(var e=1/0,i=0;ie[1]&&e.reverse(),e},getOtherAxis:function(){this.grid.getOtherAxis()},pointToData:function(t,e){return this.coordToData(this.toLocalCoord(t["x"===this.dim?0:1]),e)},toLocalCoord:null,toGlobalCoord:null},u(kD,aD);var PD={show:!0,zlevel:0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#333",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,lineStyle:{color:["#ccc"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.3)","rgba(200,200,200,0.3)"]}}},ND={};ND.categoryAxis=n({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},PD),ND.valueAxis=n({boundaryGap:[0,0],splitNumber:5},PD),ND.timeAxis=r({scale:!0,min:"dataMin",max:"dataMax"},ND.valueAxis),ND.logAxis=r({scale:!0,logBase:10},ND.valueAxis);var OD=["value","category","time","log"],ED=function(t,e,i,a){d(OD,function(r){e.extend({type:t+"Axis."+r,mergeDefaultAndTheme:function(e,o){var a=this.layoutMode,s=a?ga(e):{};n(e,o.getTheme().get(r+"Axis")),n(e,this.getDefaultOption()),e.type=i(t,e),a&&pa(e,s,a)},optionUpdated:function(){"category"===this.option.type&&(this.__ordinalMeta=_l.createByAxisModel(this))},getCategories:function(t){var e=this.option;if("category"===e.type)return t?e.data:this.__ordinalMeta.categories},getOrdinalMeta:function(){return this.__ordinalMeta},defaultOption:o([{},ND[r+"Axis"],a],!0)})}),lI.registerSubTypeDefaulter(t+"Axis",v(i,t))},RD=lI.extend({type:"cartesian2dAxis",axis:null,init:function(){RD.superApply(this,"init",arguments),this.resetRange()},mergeOption:function(){RD.superApply(this,"mergeOption",arguments),this.resetRange()},restoreData:function(){RD.superApply(this,"restoreData",arguments),this.resetRange()},getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"grid",index:this.option.gridIndex,id:this.option.gridId})[0]}});n(RD.prototype,UA);var zD={offset:0};ED("x",RD,th,zD),ED("y",RD,th,zD),lI.extend({type:"grid",dependencies:["xAxis","yAxis"],layoutMode:"box",coordinateSystem:null,defaultOption:{show:!1,zlevel:0,z:0,left:"10%",top:60,right:"10%",bottom:60,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"}});var BD=ih.prototype;BD.type="grid",BD.axisPointerEnabled=!0,BD.getRect=function(){return this._rect},BD.update=function(t,e){var i=this._axesMap;this._updateScale(t,this.model),d(i.x,function(t){Wl(t.scale,t.model)}),d(i.y,function(t){Wl(t.scale,t.model)});var n={};d(i.x,function(t){nh(i,"y",t,n)}),d(i.y,function(t){nh(i,"x",t,n)}),this.resize(this.model,e)},BD.resize=function(t,e,i){function n(){d(a,function(t){var e=t.isHorizontal(),i=e?[0,o.width]:[0,o.height],n=t.inverse?1:0;t.setExtent(i[n],i[1-n]),ah(t,e?o.x:o.y)})}var o=ca(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()});this._rect=o;var a=this._axesList;n(),!i&&t.get("containLabel")&&(d(a,function(t){if(!t.model.get("axisLabel.inside")){var e=jl(t);if(e){var i=t.isHorizontal()?"height":"width",n=t.model.get("axisLabel.margin");o[i]-=e[i]+n,"top"===t.position?o.y+=e.height+n:"left"===t.position&&(o.x+=e.width+n)}}}),n())},BD.getAxis=function(t,e){var i=this._axesMap[t];if(null!=i){if(null==e)for(var n in i)if(i.hasOwnProperty(n))return i[n];return i[e]}},BD.getAxes=function(){return this._axesList.slice()},BD.getCartesian=function(t,e){if(null!=t&&null!=e){var i="x"+t+"y"+e;return this._coordsMap[i]}w(t)&&(e=t.yAxisIndex,t=t.xAxisIndex);for(var n=0,o=this._coordsList;nu[1]?-1:1,c=["start"===o?u[0]-h*l:"end"===o?u[1]+h*l:(u[0]+u[1])/2,ph(o)?t.labelOffset+r*l:0],d=e.get("nameRotate");null!=d&&(d=d*GD/180);var f;ph(o)?n=HD(t.rotation,null!=d?d:t.rotation,r):(n=uh(t,o,d||0,u),null!=(f=t.axisNameAvailableWidth)&&(f=Math.abs(f/Math.sin(n.rotation)),!isFinite(f)&&(f=null)));var p=s.getFont(),g=e.get("nameTruncate",!0)||{},m=g.ellipsis,v=T(t.nameTruncateMaxWidth,g.maxWidth,f),y=null!=m&&null!=v?tI(i,v,p,m,{minChar:2,placeholder:g.placeholder}):i,x=e.get("tooltip",!0),_=e.mainType,w={componentType:_,name:i,$vars:["name"]};w[_+"Index"]=e.componentIndex;var b=new rM({anid:"name",__fullText:i,__truncatedText:y,position:c,rotation:n.rotation,silent:hh(e),z2:1,tooltip:x&&x.show?a({content:i,formatter:function(){return i},formatterParams:w},x):null});mo(b.style,s,{text:y,textFont:p,textFill:s.getTextColor()||e.get("axisLine.lineStyle.color"),textAlign:n.textAlign,textVerticalAlign:n.textVerticalAlign}),e.get("triggerEvent")&&(b.eventData=lh(e),b.eventData.targetType="axisName",b.eventData.name=i),this._dumbGroup.add(b),b.updateTransform(),this.group.add(b),b.decomposeTransform()}}},HD=FD.innerTextLayout=function(t,e,i){var n,o,a=Xo(e-t);return jo(a)?(o=i>0?"top":"bottom",n="center"):jo(a-GD)?(o=i>0?"bottom":"top",n="center"):(o="middle",n=a>0&&a0?"right":"left":i>0?"left":"right"),{rotation:a,textAlign:n,textVerticalAlign:o}},ZD=d,UD=v,XD=Ws({type:"axis",_axisPointer:null,axisPointerClass:null,render:function(t,e,i,n){this.axisPointerClass&&Sh(t),XD.superApply(this,"render",arguments),Dh(this,t,0,i,0,!0)},updateAxisPointer:function(t,e,i,n,o){Dh(this,t,0,i,0,!1)},remove:function(t,e){var i=this._axisPointer;i&&i.remove(e),XD.superApply(this,"remove",arguments)},dispose:function(t,e){Ch(this,e),XD.superApply(this,"dispose",arguments)}}),jD=[];XD.registerAxisPointerClass=function(t,e){jD[t]=e},XD.getAxisPointerClass=function(t){return t&&jD[t]};var YD=["axisLine","axisTickLabel","axisName"],qD=["splitArea","splitLine"],KD=XD.extend({type:"cartesianAxis",axisPointerClass:"CartesianAxisPointer",render:function(t,e,i,n){this.group.removeAll();var o=this._axisGroup;if(this._axisGroup=new tb,this.group.add(this._axisGroup),t.get("show")){var a=t.getCoordSysModel(),r=Lh(a,t),s=new FD(t,r);d(YD,s.add,s),this._axisGroup.add(s.getGroup()),d(qD,function(e){t.get(e+".show")&&this["_"+e](t,a)},this),Lo(o,this._axisGroup,t),KD.superCall(this,"render",t,e,i,n)}},remove:function(){this._splitAreaColors=null},_splitLine:function(t,e){var i=t.axis;if(!i.scale.isBlank()){var n=t.getModel("splitLine"),o=n.getModel("lineStyle"),a=o.get("color");a=y(a)?a:[a];for(var s=e.coordinateSystem.getRect(),l=i.isHorizontal(),u=0,h=i.getTicksCoords({tickModel:n}),c=[],d=[],f=o.getLineStyle(),p=0;p1){var c;"string"==typeof o?c=DD[o]:"function"==typeof o&&(c=o),c&&t.setData(n.downSample(n.mapDimension(s.dim),1/h,c,CD))}}}}}("line"));var $D=YI.extend({type:"series.__base_bar__",getInitialData:function(t,e){return ml(this.getSource(),this)},getMarkerPosition:function(t){var e=this.coordinateSystem;if(e){var i=e.dataToPoint(e.clampData(t)),n=this.getData(),o=n.getLayout("offset"),a=n.getLayout("size");return i[e.getBaseAxis().isHorizontal()?0:1]+=o+a/2,i}return[NaN,NaN]},defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3e3,progressiveChunkMode:"mod",itemStyle:{},emphasis:{}}});$D.extend({type:"series.bar",dependencies:["grid","polar"],brushSelector:"rect",getProgressive:function(){return!!this.get("large")&&this.get("progressive")},getProgressiveThreshold:function(){var t=this.get("progressiveThreshold"),e=this.get("largeThreshold");return e>t&&(t=e),t}});var JD=Qb([["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["stroke","barBorderColor"],["lineWidth","barBorderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),QD={getBarItemStyle:function(t){var e=JD(this,t);if(this.getBorderLineDash){var i=this.getBorderLineDash();i&&(e.lineDash=i)}return e}},tC=["itemStyle","barBorderWidth"];a(No.prototype,QD),Zs({type:"bar",render:function(t,e,i){this._updateDrawMode(t);var n=t.get("coordinateSystem");return"cartesian2d"!==n&&"polar"!==n||(this._isLargeDraw?this._renderLarge(t,e,i):this._renderNormal(t,e,i)),this.group},incrementalPrepareRender:function(t,e,i){this._clear(),this._updateDrawMode(t)},incrementalRender:function(t,e,i,n){this._incrementalRenderLarge(t,e)},_updateDrawMode:function(t){var e=t.pipelineContext.large;(null==this._isLargeDraw||e^this._isLargeDraw)&&(this._isLargeDraw=e,this._clear())},_renderNormal:function(t,e,i){var n,o=this.group,a=t.getData(),r=this._data,s=t.coordinateSystem,l=s.getBaseAxis();"cartesian2d"===s.type?n=l.isHorizontal():"polar"===s.type&&(n="angle"===l.dim);var u=t.isAnimationEnabled()?t:null;a.diff(r).add(function(e){if(a.hasValue(e)){var i=a.getItemModel(e),r=iC[s.type](a,e,i),l=eC[s.type](a,e,i,r,n,u);a.setItemGraphicEl(e,l),o.add(l),Eh(l,a,e,i,r,t,n,"polar"===s.type)}}).update(function(e,i){var l=r.getItemGraphicEl(i);if(a.hasValue(e)){var h=a.getItemModel(e),c=iC[s.type](a,e,h);l?Io(l,{shape:c},u,e):l=eC[s.type](a,e,h,c,n,u,!0),a.setItemGraphicEl(e,l),o.add(l),Eh(l,a,e,h,c,t,n,"polar"===s.type)}else o.remove(l)}).remove(function(t){var e=r.getItemGraphicEl(t);"cartesian2d"===s.type?e&&Nh(t,u,e):e&&Oh(t,u,e)}).execute(),this._data=a},_renderLarge:function(t,e,i){this._clear(),zh(t,this.group)},_incrementalRenderLarge:function(t,e){zh(e,this.group,!0)},dispose:B,remove:function(t){this._clear(t)},_clear:function(t){var e=this.group,i=this._data;t&&t.get("animation")&&i&&!this._isLargeDraw?i.eachItemGraphicEl(function(e){"sector"===e.type?Oh(e.dataIndex,t,e):Nh(e.dataIndex,t,e)}):e.removeAll(),this._data=null}});var eC={cartesian2d:function(t,e,i,n,o,r,s){var l=new yM({shape:a({},n)});if(r){var u=l.shape,h=o?"height":"width",c={};u[h]=0,c[h]=n[h],zM[s?"updateProps":"initProps"](l,{shape:c},r,e)}return l},polar:function(t,e,i,n,o,a,s){var l=n.startAngle0?1:-1,r=n.height>0?1:-1;return{x:n.x+a*o/2,y:n.y+r*o/2,width:n.width-a*o,height:n.height-r*o}},polar:function(t,e,i){var n=t.getItemLayout(e);return{cx:n.cx,cy:n.cy,r0:n.r0,r:n.r,startAngle:n.startAngle,endAngle:n.endAngle}}},nC=Pn.extend({type:"largeBar",shape:{points:[]},buildPath:function(t,e){for(var i=e.points,n=this.__startPoint,o=this.__valueIdx,a=0;a0&&"scale"!==u){var d=o.getItemLayout(0),f=Math.max(i.getWidth(),i.getHeight())/2,p=m(r.removeClipPath,r);r.setClipPath(this._createClipPath(d.cx,d.cy,f,d.startAngle,d.clockwise,p,t))}else r.removeClipPath();this._data=o}},dispose:function(){},_createClipPath:function(t,e,i,n,o,a,r){var s=new hM({shape:{cx:t,cy:e,r0:0,r:i,startAngle:n,endAngle:n,clockwise:o}});return To(s,{shape:{endAngle:n+(o?1:-1)*Math.PI*2}},r,a),s},containPoint:function(t,e){var i=e.getData().getItemLayout(0);if(i){var n=t[0]-i.cx,o=t[1]-i.cy,a=Math.sqrt(n*n+o*o);return a<=i.r&&a>=i.r0}}});var lC=function(t,e){d(e,function(e){e.update="updateView",Es(e,function(i,n){var o={};return n.eachComponent({mainType:"series",subType:t,query:i},function(t){t[e.method]&&t[e.method](i.name,i.dataIndex);var n=t.getData();n.each(function(e){var i=n.getName(e);o[i]=t.isSelected(i)||!1})}),{name:i.name,selected:o}})})},uC=function(t){return{getTargetSeries:function(e){var i={},n=R();return e.eachSeriesByType(t,function(t){t.__paletteScope=i,n.set(t.uid,t)}),n},reset:function(t,e){var i=t.getRawData(),n={},o=t.getData();o.each(function(t){var e=o.getRawIndex(t);n[e]=t}),i.each(function(e){var a=n[e],r=null!=a&&o.getItemVisual(a,"color",!0);if(r)i.setItemVisual(e,"color",r);else{var s=i.getItemModel(e).get("itemStyle.color")||t.getColorFromPalette(i.getName(e)||e+"",t.__paletteScope,i.count());i.setItemVisual(e,"color",s),null!=a&&o.setItemVisual(a,"color",s)}})}}},hC=function(t,e,i,n){var o,a,r=t.getData(),s=[],l=!1;r.each(function(i){var n,u,h,c,d=r.getItemLayout(i),f=r.getItemModel(i),p=f.getModel("label"),g=p.get("position")||f.get("emphasis.label.position"),m=f.getModel("labelLine"),v=m.get("length"),y=m.get("length2"),x=(d.startAngle+d.endAngle)/2,_=Math.cos(x),w=Math.sin(x);o=d.cx,a=d.cy;var b="inside"===g||"inner"===g;if("center"===g)n=d.cx,u=d.cy,c="center";else{var S=(b?(d.r+d.r0)/2*_:d.r*_)+o,M=(b?(d.r+d.r0)/2*w:d.r*w)+a;if(n=S+3*_,u=M+3*w,!b){var I=S+_*(v+e-d.r),T=M+w*(v+e-d.r),A=I+(_<0?-1:1)*y,D=T;n=A+(_<0?-5:5),u=D,h=[[S,M],[I,T],[A,D]]}c=b?"center":_>0?"left":"right"}var C=p.getFont(),L=p.get("rotate")?_<0?-x+Math.PI:-x:0,k=ke(t.getFormattedLabel(i,"normal")||r.getName(i),C,c,"top");l=!!L,d.label={x:n,y:u,position:g,height:k.height,len:v,len2:y,linePoints:h,textAlign:c,verticalAlign:"middle",rotation:L,inside:b},b||s.push(d.label)}),!l&&t.get("avoidLabelOverlap")&&Hh(s,o,a,e,i,n)},cC=2*Math.PI,dC=Math.PI/180,fC=function(t){return{seriesType:t,reset:function(t,e){var i=e.findComponents({mainType:"legend"});if(i&&i.length){var n=t.getData();n.filterSelf(function(t){for(var e=n.getName(t),o=0;o=0;s--){var l=2*s,u=n[l]-a/2,h=n[l+1]-r/2;if(t>=u&&e>=h&&t<=u+a&&e<=h+r)return s}return-1}}),gC=Uh.prototype;gC.isPersistent=function(){return!this._incremental},gC.updateData=function(t){this.group.removeAll();var e=new pC({rectHover:!0,cursor:"default"});e.setShape({points:t.getLayout("symbolPoints")}),this._setCommon(e,t),this.group.add(e),this._incremental=null},gC.updateLayout=function(t){if(!this._incremental){var e=t.getLayout("symbolPoints");this.group.eachChild(function(t){if(null!=t.startIndex){var i=2*(t.endIndex-t.startIndex),n=4*t.startIndex*2;e=new Float32Array(e.buffer,n,i)}t.setShape("points",e)})}},gC.incrementalPrepareUpdate=function(t){this.group.removeAll(),this._clearIncremental(),t.count()>2e6?(this._incremental||(this._incremental=new Zn({silent:!0})),this.group.add(this._incremental)):this._incremental=null},gC.incrementalUpdate=function(t,e){var i;this._incremental?(i=new pC,this._incremental.addDisplayable(i,!0)):((i=new pC({rectHover:!0,cursor:"default",startIndex:t.start,endIndex:t.end})).incremental=!0,this.group.add(i)),i.setShape({points:e.getLayout("symbolPoints")}),this._setCommon(i,e,!!this._incremental)},gC._setCommon=function(t,e,i){var n=e.hostModel,o=e.getVisual("symbolSize");t.setShape("size",o instanceof Array?o:[o,o]),t.symbolProxy=Jl(e.getVisual("symbol"),0,0,0,0),t.setColor=t.symbolProxy.setColor;var a=t.shape.size[0]<4;t.useStyle(n.getModel("itemStyle").getItemStyle(a?["color","shadowBlur","shadowColor"]:["color"]));var r=e.getVisual("color");r&&t.setColor(r),i||(t.seriesIndex=n.seriesIndex,t.on("mousemove",function(e){t.dataIndex=null;var i=t.findDataIndex(e.offsetX,e.offsetY);i>=0&&(t.dataIndex=i+(t.startIndex||0))}))},gC.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},gC._clearIncremental=function(){var t=this._incremental;t&&t.clearDisplaybles()},Zs({type:"scatter",render:function(t,e,i){var n=t.getData();this._updateSymbolDraw(n,t).updateData(n),this._finished=!0},incrementalPrepareRender:function(t,e,i){var n=t.getData();this._updateSymbolDraw(n,t).incrementalPrepareUpdate(n),this._finished=!1},incrementalRender:function(t,e,i){this._symbolDraw.incrementalUpdate(t,e.getData()),this._finished=t.end===e.getData().count()},updateTransform:function(t,e,i){var n=t.getData();if(this.group.dirty(),!this._finished||n.count()>1e4||!this._symbolDraw.isPersistent())return{update:!0};var o=AD().reset(t);o.progress&&o.progress({start:0,end:n.count()},n),this._symbolDraw.updateLayout(n)},_updateSymbolDraw:function(t,e){var i=this._symbolDraw,n=e.pipelineContext.large;return i&&n===this._isLargeDraw||(i&&i.remove(),i=this._symbolDraw=n?new Uh:new Du,this._isLargeDraw=n,this.group.removeAll()),this.group.add(i.group),i},remove:function(t,e){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},dispose:function(){}}),Bs(TD("scatter","circle")),zs(AD("scatter")),u(Xh,aD),jh.prototype.getIndicatorAxes=function(){return this._indicatorAxes},jh.prototype.dataToPoint=function(t,e){var i=this._indicatorAxes[e];return this.coordToPoint(i.dataToCoord(t),e)},jh.prototype.coordToPoint=function(t,e){var i=this._indicatorAxes[e].angle;return[this.cx+t*Math.cos(i),this.cy-t*Math.sin(i)]},jh.prototype.pointToData=function(t){var e=t[0]-this.cx,i=t[1]-this.cy,n=Math.sqrt(e*e+i*i);e/=n,i/=n;for(var o,a=Math.atan2(-i,e),r=1/0,s=-1,l=0;ln[0]&&isFinite(c)&&isFinite(n[0]))}else{r.getTicks().length-1>a&&(u=i(u));var d=Math.round((n[0]+n[1])/2/u)*u,f=Math.round(a/2);r.setExtent(Go(d-f*u),Go(d+(a-f)*u)),r.setInterval(u)}})},jh.dimensions=[],jh.create=function(t,e){var i=[];return t.eachComponent("radar",function(n){var o=new jh(n,t,e);i.push(o),n.coordinateSystem=o}),t.eachSeriesByType("radar",function(t){"radar"===t.get("coordinateSystem")&&(t.coordinateSystem=i[t.get("radarIndex")||0])}),i},Fa.register("radar",jh);var mC=ND.valueAxis,vC=(Fs({type:"radar",optionUpdated:function(){var t=this.get("boundaryGap"),e=this.get("splitNumber"),o=this.get("scale"),s=this.get("axisLine"),l=this.get("axisTick"),u=this.get("axisLabel"),h=this.get("name"),c=this.get("name.show"),d=this.get("name.formatter"),p=this.get("nameGap"),g=this.get("triggerEvent"),m=f(this.get("indicator")||[],function(f){null!=f.max&&f.max>0&&!f.min?f.min=0:null!=f.min&&f.min<0&&!f.max&&(f.max=0);var m=h;if(null!=f.color&&(m=r({color:f.color},h)),f=n(i(f),{boundaryGap:t,splitNumber:e,scale:o,axisLine:s,axisTick:l,axisLabel:u,name:f.text,nameLocation:"end",nameGap:p,nameTextStyle:m,triggerEvent:g},!1),c||(f.name=""),"string"==typeof d){var v=f.name;f.name=d.replace("{value}",null!=v?v:"")}else"function"==typeof d&&(f.name=d(f.name,f));var y=a(new No(f,null,this.ecModel),UA);return y.mainType="radar",y.componentIndex=this.componentIndex,y},this);this.getIndicatorModels=function(){return m}},defaultOption:{zlevel:0,z:0,center:["50%","50%"],radius:"75%",startAngle:90,name:{show:!0},boundaryGap:[0,0],splitNumber:5,nameGap:15,scale:!1,shape:"polygon",axisLine:n({lineStyle:{color:"#bbb"}},mC.axisLine),axisLabel:Yh(mC.axisLabel,!1),axisTick:Yh(mC.axisTick,!1),splitLine:Yh(mC.splitLine,!0),splitArea:Yh(mC.splitArea,!0),indicator:[]}}),["axisLine","axisTickLabel","axisName"]);Ws({type:"radar",render:function(t,e,i){this.group.removeAll(),this._buildAxes(t),this._buildSplitLineAndArea(t)},_buildAxes:function(t){var e=t.coordinateSystem;d(f(e.getIndicatorAxes(),function(t){return new FD(t.model,{position:[e.cx,e.cy],rotation:t.angle,labelDirection:-1,tickDirection:-1,nameDirection:1})}),function(t){d(vC,t.add,t),this.group.add(t.getGroup())},this)},_buildSplitLineAndArea:function(t){function e(t,e,i){var n=i%e.length;return t[n]=t[n]||[],n}var i=t.coordinateSystem,n=i.getIndicatorAxes();if(n.length){var o=t.get("shape"),a=t.getModel("splitLine"),s=t.getModel("splitArea"),l=a.getModel("lineStyle"),u=s.getModel("areaStyle"),h=a.get("show"),c=s.get("show"),p=l.get("color"),g=u.get("color");p=y(p)?p:[p],g=y(g)?g:[g];var m=[],v=[];if("circle"===o)for(var x=n[0].getTicksCoords(),_=i.cx,w=i.cy,b=0;b"+f(i,function(i,n){var o=e.get(e.mapDimension(i.dim),t);return ia(i.name+" : "+o)}).join("
    ")},defaultOption:{zlevel:0,z:2,coordinateSystem:"radar",legendHoverLink:!0,radarIndex:0,lineStyle:{width:2,type:"solid"},label:{position:"top"},symbol:"emptyCircle",symbolSize:4}});Zs({type:"radar",render:function(t,e,n){function o(t,e){var i=t.getItemVisual(e,"symbol")||"circle",n=t.getItemVisual(e,"color");if("none"!==i){var o=qh(t.getItemVisual(e,"symbolSize")),a=Jl(i,-1,-1,2,2,n);return a.attr({style:{strokeNoScale:!0},z2:100,scale:[o[0]/2,o[1]/2]}),a}}function a(e,i,n,a,r,s){n.removeAll();for(var l=0;l"+ia(n+" : "+i)},getTooltipPosition:function(t){if(null!=t){var e=this.getData().getName(t),i=this.coordinateSystem,n=i.getRegion(e);return n&&i.dataToPoint(n.center)}},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},defaultOption:{zlevel:0,z:2,coordinateSystem:"geo",map:"",left:"center",top:"center",aspectScale:.75,showLegendSymbol:!0,dataRangeHoverLink:!0,boundingCoords:null,center:null,zoom:1,scaleLimit:null,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",areaColor:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{areaColor:"rgba(255,215,0,0.8)"}}}}),aC);var EC="\0_ec_interaction_mutex";Es({type:"takeGlobalCursor",event:"globalCursorTaken",update:"update"},function(){}),h(oc,fw);var RC={axisPointer:1,tooltip:1,brush:1};xc.prototype={constructor:xc,draw:function(t,e,i,n,o){var a="geo"===t.mainType,r=t.getData&&t.getData();a&&e.eachComponent({mainType:"series",subType:"map"},function(e){r||e.getHostGeoModel()!==t||(r=e.getData())});var s=t.coordinateSystem;this._updateBackground(s);var l=this._regionsGroup,u=this.group,h=s.scale,c={position:s.position,scale:h};!l.childAt(0)||o?u.attr(c):Io(u,c,t),l.removeAll();var f=["itemStyle"],p=["emphasis","itemStyle"],g=["label"],m=["emphasis","label"],v=R();d(s.regions,function(e){var i=v.get(e.name)||v.set(e.name,new tb),n=new MM({shape:{paths:[]}});i.add(n);var o,s=(C=t.getRegionModel(e.name)||t).getModel(f),u=C.getModel(p),c=mc(s),y=mc(u),x=C.getModel(g),_=C.getModel(m);if(r){o=r.indexOfName(e.name);var w=r.getItemVisual(o,"color",!0);w&&(c.fill=w)}d(e.geometries,function(t){if("polygon"===t.type){n.shape.paths.push(new pM({shape:{points:t.exterior}}));for(var e=0;e<(t.interiors?t.interiors.length:0);e++)n.shape.paths.push(new pM({shape:{points:t.interiors[e]}}))}}),n.setStyle(c),n.style.strokeNoScale=!0,n.culling=!0;var b=x.get("show"),S=_.get("show"),M=r&&isNaN(r.get(r.mapDimension("value"),o)),I=r&&r.getItemLayout(o);if(a||M&&(b||S)||I&&I.showLabel){var T,A=a?e.name:o;(!r||o>=0)&&(T=t);var D=new rM({position:e.center.slice(),scale:[1/h[0],1/h[1]],z2:10,silent:!0});go(D.style,D.hoverStyle={},x,_,{labelFetcher:T,labelDataIndex:A,defaultText:e.name,useInsideStyle:!1},{textAlign:"center",textVerticalAlign:"middle"}),i.add(D)}if(r)r.setItemGraphicEl(o,i);else{var C=t.getRegionModel(e.name);n.eventData={componentType:"geo",componentIndex:t.componentIndex,geoIndex:t.componentIndex,name:e.name,region:C&&C.option||{}}}(i.__regions||(i.__regions=[])).push(e),fo(i,y,{hoverSilentOnTouch:!!t.get("selectedMode")}),l.add(i)}),this._updateController(t,e,i),vc(this,t,l,i,n),yc(t,l)},remove:function(){this._regionsGroup.removeAll(),this._backgroundGroup.removeAll(),this._controller.dispose(),this._mapName&&OC.removeGraphic(this._mapName,this.uid),this._mapName=null,this._controllerHost={}},_updateBackground:function(t){var e=t.map;this._mapName!==e&&d(OC.makeGraphic(e,this.uid),function(t){this._backgroundGroup.add(t)},this),this._mapName=e},_updateController:function(t,e,i){function n(){var e={type:"geoRoam",componentType:l};return e[l+"Id"]=t.id,e}var o=t.coordinateSystem,r=this._controller,s=this._controllerHost;s.zoomLimit=t.get("scaleLimit"),s.zoom=o.getZoom(),r.enable(t.get("roam")||!1);var l=t.mainType;r.off("pan").on("pan",function(t){this._mouseDownFlag=!1,fc(s,t.dx,t.dy),i.dispatchAction(a(n(),{dx:t.dx,dy:t.dy}))},this),r.off("zoom").on("zoom",function(t){if(this._mouseDownFlag=!1,pc(s,t.scale,t.originX,t.originY),i.dispatchAction(a(n(),{zoom:t.scale,originX:t.originX,originY:t.originY})),this._updateGroup){var e=this.group.scale;this._regionsGroup.traverse(function(t){"text"===t.type&&t.attr("scale",[1/e[0],1/e[1]])})}},this),r.setPointerChecker(function(e,n,a){return o.getViewRectAfterRoam().contain(n,a)&&!gc(e,i,t)})}};var zC="__seriesMapHighDown",BC="__seriesMapCallKey";Zs({type:"map",render:function(t,e,i,n){if(!n||"mapToggleSelect"!==n.type||n.from!==this.uid){var o=this.group;if(o.removeAll(),!t.getHostGeoModel()){if(n&&"geoRoam"===n.type&&"series"===n.componentType&&n.seriesId===t.id)(a=this._mapDraw)&&o.add(a.group);else if(t.needsDrawMap){var a=this._mapDraw||new xc(i,!0);o.add(a.group),a.draw(t,e,i,this,n),this._mapDraw=a}else this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null;t.get("showLegendSymbol")&&e.getComponent("legend")&&this._renderSymbols(t,e,i)}}},remove:function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null,this.group.removeAll()},dispose:function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null},_renderSymbols:function(t,e,i){var n=t.originalData,o=this.group;n.each(n.mapDimension("value"),function(e,i){if(!isNaN(e)){var r=n.getItemLayout(i);if(r&&r.point){var s=r.point,l=r.offset,u=new sM({style:{fill:t.getData().getVisual("color")},shape:{cx:s[0]+9*l,cy:s[1],r:3},silent:!0,z2:8+(l?0:NM+1)});if(!l){var h=t.mainSeries.getData(),c=n.getName(i),d=h.indexOfName(c),f=n.getItemModel(i),p=f.getModel("label"),g=f.getModel("emphasis.label"),m=h.getItemGraphicEl(d),y=A(t.getFormattedLabel(d,"normal"),c),x=A(t.getFormattedLabel(d,"emphasis"),y),_=m[zC],w=Math.random();if(!_){_=m[zC]={};var b=v(_c,!0),S=v(_c,!1);m.on("mouseover",b).on("mouseout",S).on("emphasis",b).on("normal",S)}m[BC]=w,a(_,{recordVersion:w,circle:u,labelModel:p,hoverLabelModel:g,emphasisText:x,normalText:y}),wc(_,!1)}o.add(u)}}})}}),Es({type:"geoRoam",event:"geoRoam",update:"updateTransform"},function(t,e){var i=t.componentType||"series";e.eachComponent({mainType:i,query:t},function(e){var n=e.coordinateSystem;if("geo"===n.type){var o=bc(n,t,e.get("scaleLimit"));e.setCenter&&e.setCenter(o.center),e.setZoom&&e.setZoom(o.zoom),"series"===i&&d(e.seriesGroup,function(t){t.setCenter(o.center),t.setZoom(o.zoom)})}})});var VC=Q;h(Sc,Tw),Mc.prototype={constructor:Mc,type:"view",dimensions:["x","y"],setBoundingRect:function(t,e,i,n){return this._rect=new de(t,e,i,n),this._rect},getBoundingRect:function(){return this._rect},setViewRect:function(t,e,i,n){this.transformTo(t,e,i,n),this._viewRect=new de(t,e,i,n)},transformTo:function(t,e,i,n){var o=this.getBoundingRect(),a=this._rawTransformable;a.transform=o.calculateTransform(new de(t,e,i,n)),a.decomposeTransform(),this._updateTransform()},setCenter:function(t){t&&(this._center=t,this._updateCenterAndZoom())},setZoom:function(t){t=t||1;var e=this.zoomLimit;e&&(null!=e.max&&(t=Math.min(e.max,t)),null!=e.min&&(t=Math.max(e.min,t))),this._zoom=t,this._updateCenterAndZoom()},getDefaultCenter:function(){var t=this.getBoundingRect();return[t.x+t.width/2,t.y+t.height/2]},getCenter:function(){return this._center||this.getDefaultCenter()},getZoom:function(){return this._zoom||1},getRoamTransform:function(){return this._roamTransformable.getLocalTransform()},_updateCenterAndZoom:function(){var t=this._rawTransformable.getLocalTransform(),e=this._roamTransformable,i=this.getDefaultCenter(),n=this.getCenter(),o=this.getZoom();n=Q([],n,t),i=Q([],i,t),e.origin=n,e.position=[i[0]-n[0],i[1]-n[1]],e.scale=[o,o],this._updateTransform()},_updateTransform:function(){var t=this._roamTransformable,e=this._rawTransformable;e.parent=t,t.updateTransform(),e.updateTransform(),wt(this.transform||(this.transform=[]),e.transform||xt()),this._rawTransform=e.getLocalTransform(),this.invTransform=this.invTransform||[],Tt(this.invTransform,this.transform),this.decomposeTransform()},getViewRect:function(){return this._viewRect},getViewRectAfterRoam:function(){var t=this.getBoundingRect().clone();return t.applyTransform(this.transform),t},dataToPoint:function(t,e,i){var n=e?this._rawTransform:this.transform;return i=i||[],n?VC(i,t,n):G(i,t)},pointToData:function(t){var e=this.invTransform;return e?VC([],t,e):[t[0],t[1]]},convertToPixel:v(Ic,"dataToPoint"),convertFromPixel:v(Ic,"pointToData"),containPoint:function(t){return this.getViewRectAfterRoam().contain(t[0],t[1])}},h(Mc,Tw),Tc.prototype={constructor:Tc,type:"geo",dimensions:["lng","lat"],containCoord:function(t){for(var e=this.regions,i=0;ie&&(e=n.height)}this.height=e+1},getNodeById:function(t){if(this.getId()===t)return this;for(var e=0,i=this.children,n=i.length;e=0&&this.hostTree.data.setItemLayout(this.dataIndex,t,e)},getLayout:function(){return this.hostTree.data.getItemLayout(this.dataIndex)},getModel:function(t){if(!(this.dataIndex<0)){var e,i=this.hostTree,n=i.data.getItemModel(this.dataIndex),o=this.getLevelModel();return o||0!==this.children.length&&(0===this.children.length||!1!==this.isExpand)||(e=this.getLeavesModel()),n.getModel(t,(o||e||i.hostModel).getModel(t))}},getLevelModel:function(){return(this.hostTree.levelModels||[])[this.depth]},getLeavesModel:function(){return this.hostTree.leavesModel},setVisual:function(t,e){this.dataIndex>=0&&this.hostTree.data.setItemVisual(this.dataIndex,t,e)},getVisual:function(t,e){return this.hostTree.data.getItemVisual(this.dataIndex,t,e)},getRawIndex:function(){return this.hostTree.data.getRawIndex(this.dataIndex)},getId:function(){return this.hostTree.data.getId(this.dataIndex)},isAncestorOf:function(t){for(var e=t.parentNode;e;){if(e===this)return!0;e=e.parentNode}return!1},isDescendantOf:function(t){return t!==this&&t.isAncestorOf(this)}},Vc.prototype={constructor:Vc,type:"tree",eachNode:function(t,e,i){this.root.eachNode(t,e,i)},getNodeByDataIndex:function(t){var e=this.data.getRawIndex(t);return this._nodes[e]},getNodeByName:function(t){return this.root.getNodeByName(t)},update:function(){for(var t=this.data,e=this._nodes,i=0,n=e.length;ia&&(a=t.depth)});var r=t.expandAndCollapse&&t.initialTreeDepth>=0?t.initialTreeDepth:a;return o.root.eachNode("preorder",function(t){var e=t.hostTree.data.getRawDataItem(t.dataIndex);t.isExpand=e&&null!=e.collapsed?!e.collapsed:t.depth<=r}),o.data},getOrient:function(){var t=this.get("orient");return"horizontal"===t?t="LR":"vertical"===t&&(t="TB"),t},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},formatTooltip:function(t){for(var e=this.getData().tree,i=e.root.children[0],n=e.getNodeByDataIndex(t),o=n.getValue(),a=n.name;n&&n!==i;)a=n.parentNode.name+"."+a,n=n.parentNode;return ia(a+(isNaN(o)||null==o?"":" : "+o))},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",left:"12%",top:"12%",right:"12%",bottom:"12%",layout:"orthogonal",roam:!1,nodeScaleRatio:.4,center:null,zoom:1,orient:"LR",symbol:"emptyCircle",symbolSize:7,expandAndCollapse:!0,initialTreeDepth:2,lineStyle:{color:"#ccc",width:1.5,curveness:.5},itemStyle:{color:"lightsteelblue",borderColor:"#c23531",borderWidth:1.5},label:{show:!0,color:"#555"},leaves:{label:{show:!0}},animationEasing:"linear",animationDuration:700,animationDurationUpdate:1e3}}),Zs({type:"tree",init:function(t,e){this._oldTree,this._mainGroup=new tb,this._controller=new oc(e.getZr()),this._controllerHost={target:this.group},this.group.add(this._mainGroup)},render:function(t,e,i,n){var o=t.getData(),a=t.layoutInfo,r=this._mainGroup,s=t.get("layout");"radial"===s?r.attr("position",[a.x+a.width/2,a.y+a.height/2]):r.attr("position",[a.x,a.y]),this._updateViewCoordSys(t),this._updateController(t,e,i);var l=this._data,u={expandAndCollapse:t.get("expandAndCollapse"),layout:s,orient:t.getOrient(),curvature:t.get("lineStyle.curveness"),symbolRotate:t.get("symbolRotate"),symbolOffset:t.get("symbolOffset"),hoverAnimation:t.get("hoverAnimation"),useNameLabel:!0,fadeIn:!0};o.diff(l).add(function(e){td(o,e)&&id(o,e,null,r,t,u)}).update(function(e,i){var n=l.getItemGraphicEl(i);td(o,e)?id(o,e,n,r,t,u):n&&nd(l,i,n,r,t,u)}).remove(function(e){var i=l.getItemGraphicEl(e);i&&nd(l,e,i,r,t,u)}).execute(),this._nodeScaleRatio=t.get("nodeScaleRatio"),this._updateNodeAndLinkScale(t),!0===u.expandAndCollapse&&o.eachItemGraphicEl(function(e,n){e.off("click").on("click",function(){i.dispatchAction({type:"treeExpandAndCollapse",seriesId:t.id,dataIndex:n})})}),this._data=o},_updateViewCoordSys:function(t){var e=t.getData(),i=[];e.each(function(t){var n=e.getItemLayout(t);!n||isNaN(n.x)||isNaN(n.y)||i.push([+n.x,+n.y])});var n=[],o=[];fn(i,n,o),o[0]-n[0]==0&&(o[0]+=1,n[0]-=1),o[1]-n[1]==0&&(o[1]+=1,n[1]-=1);var a=t.coordinateSystem=new Mc;a.zoomLimit=t.get("scaleLimit"),a.setBoundingRect(n[0],n[1],o[0]-n[0],o[1]-n[1]),a.setCenter(t.get("center")),a.setZoom(t.get("zoom")),this.group.attr({position:a.position,scale:a.scale}),this._viewCoordSys=a},_updateController:function(t,e,i){var n=this._controller,o=this._controllerHost,a=this.group;n.setPointerChecker(function(e,n,o){var r=a.getBoundingRect();return r.applyTransform(a.transform),r.contain(n,o)&&!gc(e,i,t)}),n.enable(t.get("roam")),o.zoomLimit=t.get("scaleLimit"),o.zoom=t.coordinateSystem.getZoom(),n.off("pan").off("zoom").on("pan",function(e){fc(o,e.dx,e.dy),i.dispatchAction({seriesId:t.id,type:"treeRoam",dx:e.dx,dy:e.dy})},this).on("zoom",function(e){pc(o,e.scale,e.originX,e.originY),i.dispatchAction({seriesId:t.id,type:"treeRoam",zoom:e.scale,originX:e.originX,originY:e.originY}),this._updateNodeAndLinkScale(t)},this)},_updateNodeAndLinkScale:function(t){var e=t.getData(),i=this._getNodeGlobalScale(t),n=[i,i];e.eachItemGraphicEl(function(t,e){t.attr("scale",n)})},_getNodeGlobalScale:function(t){var e=t.coordinateSystem;if("view"!==e.type)return 1;var i=this._nodeScaleRatio,n=e.scale,o=n&&n[0]||1;return((e.getZoom()-1)*i+1)/o},dispose:function(){this._controller&&this._controller.dispose(),this._controllerHost={}},remove:function(){this._mainGroup.removeAll(),this._data=null}}),Es({type:"treeExpandAndCollapse",event:"treeExpandAndCollapse",update:"update"},function(t,e){e.eachComponent({mainType:"series",subType:"tree",query:t},function(e){var i=t.dataIndex,n=e.getData().tree.getNodeByDataIndex(i);n.isExpand=!n.isExpand})}),Es({type:"treeRoam",event:"treeRoam",update:"none"},function(t,e){e.eachComponent({mainType:"series",subType:"tree",query:t},function(e){var i=bc(e.coordinateSystem,t);e.setCenter&&e.setCenter(i.center),e.setZoom&&e.setZoom(i.zoom)})});Bs(TD("tree","circle")),zs(function(t,e){t.eachSeriesByType("tree",function(t){sd(t,e)})}),YI.extend({type:"series.treemap",layoutMode:"box",dependencies:["grid","polar"],_viewRoot:null,defaultOption:{progressive:0,hoverLayerThreshold:1/0,left:"center",top:"middle",right:null,bottom:null,width:"80%",height:"80%",sort:!0,clipWindow:"origin",squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:"▶",zoomToNodeRatio:.1024,roam:!0,nodeClick:"zoomToNode",animation:!0,animationDurationUpdate:900,animationEasing:"quinticInOut",breadcrumb:{show:!0,height:22,left:"center",top:"bottom",emptyItemWidth:25,itemStyle:{color:"rgba(0,0,0,0.7)",borderColor:"rgba(255,255,255,0.7)",borderWidth:1,shadowColor:"rgba(150,150,150,1)",shadowBlur:3,shadowOffsetX:0,shadowOffsetY:0,textStyle:{color:"#fff"}},emphasis:{textStyle:{}}},label:{show:!0,distance:0,padding:5,position:"inside",color:"#fff",ellipsis:!0},upperLabel:{show:!1,position:[0,"50%"],height:20,color:"#fff",ellipsis:!0,verticalAlign:"middle"},itemStyle:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:"#fff",borderColorSaturation:null},emphasis:{upperLabel:{show:!0,position:[0,"50%"],color:"#fff",ellipsis:!0,verticalAlign:"middle"}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:"index",visibleMin:10,childrenVisibleMin:null,levels:[]},getInitialData:function(t,e){var i={name:t.name,children:t.data};dd(i);var n=t.levels||[];n=t.levels=fd(n,e);var o={};return o.levels=n,Vc.createTree(i,this,o).data},optionUpdated:function(){this.resetViewRoot()},formatTooltip:function(t){var e=this.getData(),i=this.getRawValue(t),n=ta(y(i)?i[0]:i);return ia(e.getName(t)+": "+n)},getDataParams:function(t){var e=YI.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(t);return e.treePathInfo=cd(i,this),e},setLayoutInfo:function(t){this.layoutInfo=this.layoutInfo||{},a(this.layoutInfo,t)},mapIdToIndex:function(t){var e=this._idIndexMap;e||(e=this._idIndexMap=R(),this._idIndexMapCount=0);var i=e.get(t);return null==i&&e.set(t,i=this._idIndexMapCount++),i},getViewRoot:function(){return this._viewRoot},resetViewRoot:function(t){t?this._viewRoot=t:t=this._viewRoot;var e=this.getRawData().tree.root;t&&(t===e||e.contains(t))||(this._viewRoot=e)}});var UC=5;pd.prototype={constructor:pd,render:function(t,e,i,n){var o=t.getModel("breadcrumb"),a=this.group;if(a.removeAll(),o.get("show")&&i){var r=o.getModel("itemStyle"),s=r.getModel("textStyle"),l={pos:{left:o.get("left"),right:o.get("right"),top:o.get("top"),bottom:o.get("bottom")},box:{width:e.getWidth(),height:e.getHeight()},emptyItemWidth:o.get("emptyItemWidth"),totalWidth:0,renderList:[]};this._prepare(i,l,s),this._renderContent(t,l,r,s,n),da(a,l.pos,l.box)}},_prepare:function(t,e,i){for(var n=t;n;n=n.parentNode){var o=n.getModel().get("name"),a=i.getTextRect(o),r=Math.max(a.width+16,e.emptyItemWidth);e.totalWidth+=r+8,e.renderList.push({node:n,text:o,width:r})}},_renderContent:function(t,e,i,n,o){for(var a=0,s=e.emptyItemWidth,l=t.get("breadcrumb.height"),u=ha(e.pos,e.box),h=e.totalWidth,c=e.renderList,d=c.length-1;d>=0;d--){var f=c[d],p=f.node,g=f.width,m=f.text;h>u.width&&(h-=g-s,g=s,m=null);var y=new pM({shape:{points:gd(a,0,g,l,d===c.length-1,0===d)},style:r(i.getItemStyle(),{lineJoin:"bevel",text:m,textFill:n.getTextColor(),textFont:n.getFont()}),z:10,onclick:v(o,p)});this.group.add(y),md(y,t,p),a+=g+8}},remove:function(){this.group.removeAll()}};var XC=m,jC=tb,YC=yM,qC=d,KC=["label"],$C=["emphasis","label"],JC=["upperLabel"],QC=["emphasis","upperLabel"],tL=10,eL=1,iL=2,nL=Qb([["fill","color"],["stroke","strokeColor"],["lineWidth","strokeWidth"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),oL=function(t){var e=nL(t);return e.stroke=e.fill=e.lineWidth=null,e};Zs({type:"treemap",init:function(t,e){this._containerGroup,this._storage={nodeGroup:[],background:[],content:[]},this._oldTree,this._breadcrumb,this._controller,this._state="ready"},render:function(t,e,i,n){if(!(l(e.findComponents({mainType:"series",subType:"treemap",query:n}),t)<0)){this.seriesModel=t,this.api=i,this.ecModel=e;var o=ld(n,["treemapZoomToNode","treemapRootToNode"],t),a=n&&n.type,r=t.layoutInfo,s=!this._oldTree,u=this._storage,h="treemapRootToNode"===a&&o&&u?{rootNodeGroup:u.nodeGroup[o.node.getRawIndex()],direction:n.direction}:null,c=this._giveContainerGroup(r),d=this._doRender(c,t,h);s||a&&"treemapZoomToNode"!==a&&"treemapRootToNode"!==a?d.renderFinally():this._doAnimation(c,d,t,h),this._resetController(i),this._renderBreadcrumb(t,i,o)}},_giveContainerGroup:function(t){var e=this._containerGroup;return e||(e=this._containerGroup=new jC,this._initEvents(e),this.group.add(e)),e.attr("position",[t.x,t.y]),e},_doRender:function(t,e,i){function n(t,e,i,o,a){function r(t){return t.getId()}function s(r,s){var l=null!=r?t[r]:null,u=null!=s?e[s]:null,c=h(l,u,i,a);c&&n(l&&l.viewChildren||[],u&&u.viewChildren||[],c,o,a+1)}o?(e=t,qC(t,function(t,e){!t.isRemoved()&&s(e,e)})):new Xs(e,t,r,r).add(s).update(s).remove(v(s,null)).execute()}var o=e.getData().tree,a=this._oldTree,r={nodeGroup:[],background:[],content:[]},s={nodeGroup:[],background:[],content:[]},l=this._storage,u=[],h=v(yd,e,s,l,i,r,u);n(o.root?[o.root]:[],a&&a.root?[a.root]:[],t,o===a||!a,0);var c=function(t){var e={nodeGroup:[],background:[],content:[]};return t&&qC(t,function(t,i){var n=e[i];qC(t,function(t){t&&(n.push(t),t.__tmWillDelete=1)})}),e}(l);return this._oldTree=o,this._storage=s,{lastsForAnimation:r,willDeleteEls:c,renderFinally:function(){qC(c,function(t){qC(t,function(t){t.parent&&t.parent.remove(t)})}),qC(u,function(t){t.invisible=!0,t.dirty()})}}},_doAnimation:function(t,e,i,n){if(i.get("animation")){var o=i.get("animationDurationUpdate"),r=i.get("animationEasing"),s=vd();qC(e.willDeleteEls,function(t,e){qC(t,function(t,i){if(!t.invisible){var a,l=t.parent;if(n&&"drillDown"===n.direction)a=l===n.rootNodeGroup?{shape:{x:0,y:0,width:l.__tmNodeWidth,height:l.__tmNodeHeight},style:{opacity:0}}:{style:{opacity:0}};else{var u=0,h=0;l.__tmWillDelete||(u=l.__tmNodeWidth/2,h=l.__tmNodeHeight/2),a="nodeGroup"===e?{position:[u,h],style:{opacity:0}}:{shape:{x:u,y:h,width:0,height:0},style:{opacity:0}}}a&&s.add(t,a,o,r)}})}),qC(this._storage,function(t,i){qC(t,function(t,n){var l=e.lastsForAnimation[i][n],u={};l&&("nodeGroup"===i?l.old&&(u.position=t.position.slice(),t.attr("position",l.old)):(l.old&&(u.shape=a({},t.shape),t.setShape(l.old)),l.fadein?(t.setStyle("opacity",0),u.style={opacity:1}):1!==t.style.opacity&&(u.style={opacity:1})),s.add(t,u,o,r))})},this),this._state="animating",s.done(XC(function(){this._state="ready",e.renderFinally()},this)).start()}},_resetController:function(t){var e=this._controller;e||((e=this._controller=new oc(t.getZr())).enable(this.seriesModel.get("roam")),e.on("pan",XC(this._onPan,this)),e.on("zoom",XC(this._onZoom,this)));var i=new de(0,0,t.getWidth(),t.getHeight());e.setPointerChecker(function(t,e,n){return i.contain(e,n)})},_clearController:function(){var t=this._controller;t&&(t.dispose(),t=null)},_onPan:function(t){if("animating"!==this._state&&(Math.abs(t.dx)>3||Math.abs(t.dy)>3)){var e=this.seriesModel.getData().tree.root;if(!e)return;var i=e.getLayout();if(!i)return;this.api.dispatchAction({type:"treemapMove",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:i.x+t.dx,y:i.y+t.dy,width:i.width,height:i.height}})}},_onZoom:function(t){var e=t.originX,i=t.originY;if("animating"!==this._state){var n=this.seriesModel.getData().tree.root;if(!n)return;var o=n.getLayout();if(!o)return;var a=new de(o.x,o.y,o.width,o.height),r=this.seriesModel.layoutInfo;e-=r.x,i-=r.y;var s=xt();St(s,s,[-e,-i]),It(s,s,[t.scale,t.scale]),St(s,s,[e,i]),a.applyTransform(s),this.api.dispatchAction({type:"treemapRender",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:a.x,y:a.y,width:a.width,height:a.height}})}},_initEvents:function(t){t.on("click",function(t){if("ready"===this._state){var e=this.seriesModel.get("nodeClick",!0);if(e){var i=this.findTarget(t.offsetX,t.offsetY);if(i){var n=i.node;if(n.getLayout().isLeafRoot)this._rootToNode(i);else if("zoomToNode"===e)this._zoomToNode(i);else if("link"===e){var o=n.hostTree.data.getItemModel(n.dataIndex),a=o.get("link",!0),r=o.get("target",!0)||"blank";a&&window.open(a,r)}}}}},this)},_renderBreadcrumb:function(t,e,i){i||(i=null!=t.get("leafDepth",!0)?{node:t.getViewRoot()}:this.findTarget(e.getWidth()/2,e.getHeight()/2))||(i={node:t.getData().tree.root}),(this._breadcrumb||(this._breadcrumb=new pd(this.group))).render(t,e,i.node,XC(function(e){"animating"!==this._state&&(hd(t.getViewRoot(),e)?this._rootToNode({node:e}):this._zoomToNode({node:e}))},this))},remove:function(){this._clearController(),this._containerGroup&&this._containerGroup.removeAll(),this._storage={nodeGroup:[],background:[],content:[]},this._state="ready",this._breadcrumb&&this._breadcrumb.remove()},dispose:function(){this._clearController()},_zoomToNode:function(t){this.api.dispatchAction({type:"treemapZoomToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},_rootToNode:function(t){this.api.dispatchAction({type:"treemapRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},findTarget:function(t,e){var i;return this.seriesModel.getViewRoot().eachNode({attr:"viewChildren",order:"preorder"},function(n){var o=this._storage.background[n.getRawIndex()];if(o){var a=o.transformCoordToLocal(t,e),r=o.shape;if(!(r.x<=a[0]&&a[0]<=r.x+r.width&&r.y<=a[1]&&a[1]<=r.y+r.height))return!1;i={node:n,offsetX:a[0],offsetY:a[1]}}},this),i}});for(var aL=["treemapZoomToNode","treemapRender","treemapMove"],rL=0;rL=0&&t.call(e,i[o],o)},TL.eachEdge=function(t,e){for(var i=this.edges,n=i.length,o=0;o=0&&i[o].node1.dataIndex>=0&&i[o].node2.dataIndex>=0&&t.call(e,i[o],o)},TL.breadthFirstTraverse=function(t,e,i,n){if(Jd.isInstance(e)||(e=this._nodesMap[$d(e)]),e){for(var o="out"===i?"outEdges":"in"===i?"inEdges":"edges",a=0;a=0&&i.node2.dataIndex>=0});for(var o=0,a=n.length;o=0&&this[t][e].setItemVisual(this.dataIndex,i,n)},getVisual:function(i,n){return this[t][e].getItemVisual(this.dataIndex,i,n)},setLayout:function(i,n){this.dataIndex>=0&&this[t][e].setItemLayout(this.dataIndex,i,n)},getLayout:function(){return this[t][e].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[t][e].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[t][e].getRawIndex(this.dataIndex)}}};h(Jd,AL("hostGraph","data")),h(Qd,AL("hostGraph","edgeData")),IL.Node=Jd,IL.Edge=Qd,Yi(Jd),Yi(Qd);var DL=function(t,e,i,n,o){for(var a=new IL(n),r=0;r "+f)),h++)}var p,g=i.get("coordinateSystem");if("cartesian2d"===g||"polar"===g)p=ml(t,i);else{var m=Fa.get(g),v=m&&"view"!==m.type?m.dimensions||[]:[];l(v,"value")<0&&v.concat(["value"]);var y=_A(t,{coordDimensions:v});(p=new vA(y,i)).initData(t)}var x=new vA(["value"],i);return x.initData(u,s),o&&o(p,x),kc({mainData:p,struct:a,structAttr:"graph",datas:{node:p,edge:x},datasAttr:{node:"data",edge:"edgeData"}}),a.update(),a},CL=Hs({type:"series.graph",init:function(t){CL.superApply(this,"init",arguments),this.legendDataProvider=function(){return this._categoriesData},this.fillDataTextStyle(t.edges||t.links),this._updateCategoriesData()},mergeOption:function(t){CL.superApply(this,"mergeOption",arguments),this.fillDataTextStyle(t.edges||t.links),this._updateCategoriesData()},mergeDefaultAndTheme:function(t){CL.superApply(this,"mergeDefaultAndTheme",arguments),Ci(t,["edgeLabel"],["show"])},getInitialData:function(t,e){var i=t.edges||t.links||[],n=t.data||t.nodes||[],o=this;if(n&&i)return DL(n,i,this,!0,function(t,i){function n(t){return(t=this.parsePath(t))&&"label"===t[0]?r:t&&"emphasis"===t[0]&&"label"===t[1]?l:this.parentModel}t.wrapMethod("getItemModel",function(t){var e=o._categoriesModels[t.getShallow("category")];return e&&(e.parentModel=t.parentModel,t.parentModel=e),t});var a=o.getModel("edgeLabel"),r=new No({label:a.option},a.parentModel,e),s=o.getModel("emphasis.edgeLabel"),l=new No({emphasis:{label:s.option}},s.parentModel,e);i.wrapMethod("getItemModel",function(t){return t.customizeGetParent(n),t})}).data},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},getCategoriesData:function(){return this._categoriesData},formatTooltip:function(t,e,i){if("edge"===i){var n=this.getData(),o=this.getDataParams(t,i),a=n.graph.getEdgeByIndex(t),r=n.getName(a.node1.dataIndex),s=n.getName(a.node2.dataIndex),l=[];return null!=r&&l.push(r),null!=s&&l.push(s),l=ia(l.join(" > ")),o.value&&(l+=" : "+ia(o.value)),l}return CL.superApply(this,"formatTooltip",arguments)},_updateCategoriesData:function(){var t=f(this.option.categories||[],function(t){return null!=t.value?t:a({value:0},t)}),e=new vA(["value"],this);e.initData(t),this._categoriesData=e,this._categoriesModels=e.mapArray(function(t){return e.getItemModel(t,!0)})},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},isAnimationEnabled:function(){return CL.superCall(this,"isAnimationEnabled")&&!("force"===this.get("layout")&&this.get("force.layoutAnimation"))},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",legendHoverLink:!0,hoverAnimation:!0,layout:null,focusNodeAdjacency:!1,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,edgeLength:30,layoutAnimation:!0},left:"center",top:"center",symbol:"circle",symbolSize:10,edgeSymbol:["none","none"],edgeSymbolSize:10,edgeLabel:{position:"middle"},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{show:!1,formatter:"{b}"},itemStyle:{},lineStyle:{color:"#aaa",width:1,curveness:0,opacity:.5},emphasis:{label:{show:!0}}}}),LL=_M.prototype,kL=bM.prototype,PL=Un({type:"ec-line",style:{stroke:"#000",fill:null},shape:{x1:0,y1:0,x2:0,y2:0,percent:1,cpx1:null,cpy1:null},buildPath:function(t,e){(tf(e)?LL:kL).buildPath(t,e)},pointAt:function(t){return tf(this.shape)?LL.pointAt.call(this,t):kL.pointAt.call(this,t)},tangentAt:function(t){var e=this.shape,i=tf(e)?[e.x2-e.x1,e.y2-e.y1]:kL.tangentAt.call(this,t);return q(i,i)}}),NL=["fromSymbol","toSymbol"],OL=rf.prototype;OL.beforeUpdate=function(){var t=this,e=t.childOfName("fromSymbol"),i=t.childOfName("toSymbol"),n=t.childOfName("label");if(e||i||!n.ignore){for(var o=1,a=this.parent;a;)a.scale&&(o/=a.scale[0]),a=a.parent;var r=t.childOfName("line");if(this.__dirty||r.__dirty){var s=r.shape.percent,l=r.pointAt(0),u=r.pointAt(s),h=U([],u,l);if(q(h,h),e&&(e.attr("position",l),c=r.tangentAt(0),e.attr("rotation",Math.PI/2-Math.atan2(c[1],c[0])),e.attr("scale",[o*s,o*s])),i){i.attr("position",u);var c=r.tangentAt(1);i.attr("rotation",-Math.PI/2-Math.atan2(c[1],c[0])),i.attr("scale",[o*s,o*s])}if(!n.ignore){n.attr("position",u);var d,f,p,g=5*o;if("end"===n.__position)d=[h[0]*g+u[0],h[1]*g+u[1]],f=h[0]>.8?"left":h[0]<-.8?"right":"center",p=h[1]>.8?"top":h[1]<-.8?"bottom":"middle";else if("middle"===n.__position){var m=s/2,v=[(c=r.tangentAt(m))[1],-c[0]],y=r.pointAt(m);v[1]>0&&(v[0]=-v[0],v[1]=-v[1]),d=[y[0]+v[0]*g,y[1]+v[1]*g],f="center",p="bottom";var x=-Math.atan2(c[1],c[0]);u[0].8?"right":h[0]<-.8?"left":"center",p=h[1]>.8?"bottom":h[1]<-.8?"top":"middle";n.attr({style:{textVerticalAlign:n.__verticalAlign||p,textAlign:n.__textAlign||f},position:d,scale:[o,o]})}}}},OL._createLine=function(t,e,i){var n=t.hostModel,o=of(t.getItemLayout(e));o.shape.percent=0,To(o,{shape:{percent:1}},n,e),this.add(o);var a=new rM({name:"label",lineLabelOriginalOpacity:1});this.add(a),d(NL,function(i){var n=nf(i,t,e);this.add(n),this[ef(i)]=t.getItemVisual(e,i)},this),this._updateCommonStl(t,e,i)},OL.updateData=function(t,e,i){var n=t.hostModel,o=this.childOfName("line"),a=t.getItemLayout(e),r={shape:{}};af(r.shape,a),Io(o,r,n,e),d(NL,function(i){var n=t.getItemVisual(e,i),o=ef(i);if(this[o]!==n){this.remove(this.childOfName(i));var a=nf(i,t,e);this.add(a)}this[o]=n},this),this._updateCommonStl(t,e,i)},OL._updateCommonStl=function(t,e,i){var n=t.hostModel,o=this.childOfName("line"),a=i&&i.lineStyle,s=i&&i.hoverLineStyle,l=i&&i.labelModel,u=i&&i.hoverLabelModel;if(!i||t.hasItemOption){var h=t.getItemModel(e);a=h.getModel("lineStyle").getLineStyle(),s=h.getModel("emphasis.lineStyle").getLineStyle(),l=h.getModel("label"),u=h.getModel("emphasis.label")}var c=t.getItemVisual(e,"color"),f=D(t.getItemVisual(e,"opacity"),a.opacity,1);o.useStyle(r({strokeNoScale:!0,fill:"none",stroke:c,opacity:f},a)),o.hoverStyle=s,d(NL,function(t){var e=this.childOfName(t);e&&(e.setColor(c),e.setStyle({opacity:f}))},this);var p,g,m=l.getShallow("show"),v=u.getShallow("show"),y=this.childOfName("label");if((m||v)&&(p=c||"#000",null==(g=n.getFormattedLabel(e,"normal",t.dataType)))){var x=n.getRawValue(e);g=null==x?t.getName(e):isFinite(x)?Go(x):x}var _=m?g:null,w=v?A(n.getFormattedLabel(e,"emphasis",t.dataType),g):null,b=y.style;null==_&&null==w||(mo(y.style,l,{text:_},{autoColor:p}),y.__textAlign=b.textAlign,y.__verticalAlign=b.textVerticalAlign,y.__position=l.get("position")||"middle"),y.hoverStyle=null!=w?{text:w,textFill:u.getTextColor(!0),fontStyle:u.getShallow("fontStyle"),fontWeight:u.getShallow("fontWeight"),fontSize:u.getShallow("fontSize"),fontFamily:u.getShallow("fontFamily")}:{text:null},y.ignore=!m&&!v,fo(this)},OL.highlight=function(){this.trigger("emphasis")},OL.downplay=function(){this.trigger("normal")},OL.updateLayout=function(t,e){this.setLinePoints(t.getItemLayout(e))},OL.setLinePoints=function(t){var e=this.childOfName("line");af(e.shape,t),e.dirty()},u(rf,tb);var EL=sf.prototype;EL.isPersistent=function(){return!0},EL.updateData=function(t){var e=this,i=e.group,n=e._lineData;e._lineData=t,n||i.removeAll();var o=hf(t);t.diff(n).add(function(i){lf(e,t,i,o)}).update(function(i,a){uf(e,n,t,a,i,o)}).remove(function(t){i.remove(n.getItemGraphicEl(t))}).execute()},EL.updateLayout=function(){var t=this._lineData;t&&t.eachItemGraphicEl(function(e,i){e.updateLayout(t,i)},this)},EL.incrementalPrepareUpdate=function(t){this._seriesScope=hf(t),this._lineData=null,this.group.removeAll()},EL.incrementalUpdate=function(t,e){for(var i=t.start;i=o/3?1:2),l=e.y-n(r)*a*(a>=o/3?1:2);r=e.angle-Math.PI/2,t.moveTo(s,l),t.lineTo(e.x+i(r)*a,e.y+n(r)*a),t.lineTo(e.x+i(e.angle)*o,e.y+n(e.angle)*o),t.lineTo(e.x-i(r)*a,e.y-n(r)*a),t.lineTo(s,l)}}),YL=2*Math.PI,qL=(Ar.extend({type:"gauge",render:function(t,e,i){this.group.removeAll();var n=t.get("axisLine.lineStyle.color"),o=Sf(t,i);this._renderMain(t,e,i,n,o)},dispose:function(){},_renderMain:function(t,e,i,n,o){for(var a=this.group,r=t.getModel("axisLine").getModel("lineStyle"),s=t.get("clockwise"),l=-t.get("startAngle")/180*Math.PI,u=-t.get("endAngle")/180*Math.PI,h=(u-l)%YL,c=l,d=r.get("width"),f=0;f=t&&(0===e?0:n[e-1][0]).4?"bottom":"middle",textAlign:A<-.4?"left":A>.4?"right":"center"},{autoColor:P}),silent:!0}))}if(g.get("show")&&T!==v){for(var N=0;N<=y;N++){var A=Math.cos(w),D=Math.sin(w),O=new _M({shape:{x1:A*c+u,y1:D*c+h,x2:A*(c-_)+u,y2:D*(c-_)+h},silent:!0,style:I});"auto"===I.stroke&&O.setStyle({stroke:n((T+N/y)/v)}),l.add(O),w+=S}w-=S}else w+=b}},_renderPointer:function(t,e,i,n,o,a,r,s){var l=this.group,u=this._data;if(t.get("pointer.show")){var h=[+t.get("min"),+t.get("max")],c=[a,r],d=t.getData(),f=d.mapDimension("value");d.diff(u).add(function(e){var i=new jL({shape:{angle:a}});To(i,{shape:{angle:Bo(d.get(f,e),h,c,!0)}},t),l.add(i),d.setItemGraphicEl(e,i)}).update(function(e,i){var n=u.getItemGraphicEl(i);Io(n,{shape:{angle:Bo(d.get(f,e),h,c,!0)}},t),l.add(n),d.setItemGraphicEl(e,n)}).remove(function(t){var e=u.getItemGraphicEl(t);l.remove(e)}).execute(),d.eachItemGraphicEl(function(t,e){var i=d.getItemModel(e),a=i.getModel("pointer");t.setShape({x:o.cx,y:o.cy,width:Vo(a.get("width"),o.r),r:Vo(a.get("length"),o.r)}),t.useStyle(i.getModel("itemStyle").getItemStyle()),"auto"===t.style.fill&&t.setStyle("fill",n(Bo(d.get(f,e),h,[0,1],!0))),fo(t,i.getModel("emphasis.itemStyle").getItemStyle())}),this._data=d}else u&&u.eachItemGraphicEl(function(t){l.remove(t)})},_renderTitle:function(t,e,i,n,o){var a=t.getData(),r=a.mapDimension("value"),s=t.getModel("title");if(s.get("show")){var l=s.get("offsetCenter"),u=o.cx+Vo(l[0],o.r),h=o.cy+Vo(l[1],o.r),c=+t.get("min"),d=+t.get("max"),f=n(Bo(t.getData().get(r,0),[c,d],[0,1],!0));this.group.add(new rM({silent:!0,style:mo({},s,{x:u,y:h,text:a.getName(0),textAlign:"center",textVerticalAlign:"middle"},{autoColor:f,forceRich:!0})}))}},_renderDetail:function(t,e,i,n,o){var a=t.getModel("detail"),r=+t.get("min"),s=+t.get("max");if(a.get("show")){var l=a.get("offsetCenter"),u=o.cx+Vo(l[0],o.r),h=o.cy+Vo(l[1],o.r),c=Vo(a.get("width"),o.r),d=Vo(a.get("height"),o.r),f=t.getData(),p=f.get(f.mapDimension("value"),0),g=n(Bo(p,[r,s],[0,1],!0));this.group.add(new rM({silent:!0,style:mo({},a,{x:u,y:h,text:Mf(p,a.get("formatter")),textWidth:isNaN(c)?null:c,textHeight:isNaN(d)?null:d,textAlign:"center",textVerticalAlign:"middle"},{autoColor:g,forceRich:!0})}))}}}),Hs({type:"series.funnel",init:function(t){qL.superApply(this,"init",arguments),this.legendDataProvider=function(){return this.getRawData()},this._defaultLabelLine(t)},getInitialData:function(t,e){return oC(this,["value"])},_defaultLabelLine:function(t){Ci(t,"labelLine",["show"]);var e=t.labelLine,i=t.emphasis.labelLine;e.show=e.show&&t.label.show,i.show=i.show&&t.emphasis.label.show},getDataParams:function(t){var e=this.getData(),i=qL.superCall(this,"getDataParams",t),n=e.mapDimension("value"),o=e.getSum(n);return i.percent=o?+(e.get(n,t)/o*100).toFixed(2):0,i.$vars.push("percent"),i},defaultOption:{zlevel:0,z:2,legendHoverLink:!0,left:80,top:60,right:80,bottom:60,minSize:"0%",maxSize:"100%",sort:"descending",gap:0,funnelAlign:"center",label:{show:!0,position:"outer"},labelLine:{show:!0,length:20,lineStyle:{width:1,type:"solid"}},itemStyle:{borderColor:"#fff",borderWidth:1},emphasis:{label:{show:!0}}}})),KL=If.prototype,$L=["itemStyle","opacity"];KL.updateData=function(t,e,i){var n=this.childAt(0),o=t.hostModel,a=t.getItemModel(e),s=t.getItemLayout(e),l=t.getItemModel(e).get($L);l=null==l?1:l,n.useStyle({}),i?(n.setShape({points:s.points}),n.setStyle({opacity:0}),To(n,{style:{opacity:l}},o,e)):Io(n,{style:{opacity:l},shape:{points:s.points}},o,e);var u=a.getModel("itemStyle"),h=t.getItemVisual(e,"color");n.setStyle(r({lineJoin:"round",fill:h},u.getItemStyle(["opacity"]))),n.hoverStyle=u.getModel("emphasis").getItemStyle(),this._updateLabel(t,e),fo(this)},KL._updateLabel=function(t,e){var i=this.childAt(1),n=this.childAt(2),o=t.hostModel,a=t.getItemModel(e),r=t.getItemLayout(e).label,s=t.getItemVisual(e,"color");Io(i,{shape:{points:r.linePoints||r.linePoints}},o,e),Io(n,{style:{x:r.x,y:r.y}},o,e),n.attr({rotation:r.rotation,origin:[r.x,r.y],z2:10});var l=a.getModel("label"),u=a.getModel("emphasis.label"),h=a.getModel("labelLine"),c=a.getModel("emphasis.labelLine"),s=t.getItemVisual(e,"color");go(n.style,n.hoverStyle={},l,u,{labelFetcher:t.hostModel,labelDataIndex:e,defaultText:t.getName(e),autoColor:s,useInsideStyle:!!r.inside},{textAlign:r.textAlign,textVerticalAlign:r.verticalAlign}),n.ignore=n.normalIgnore=!l.get("show"),n.hoverIgnore=!u.get("show"),i.ignore=i.normalIgnore=!h.get("show"),i.hoverIgnore=!c.get("show"),i.setStyle({stroke:s}),i.setStyle(h.getModel("lineStyle").getLineStyle()),i.hoverStyle=c.getModel("lineStyle").getLineStyle()},u(If,tb);Ar.extend({type:"funnel",render:function(t,e,i){var n=t.getData(),o=this._data,a=this.group;n.diff(o).add(function(t){var e=new If(n,t);n.setItemGraphicEl(t,e),a.add(e)}).update(function(t,e){var i=o.getItemGraphicEl(e);i.updateData(n,t),a.add(i),n.setItemGraphicEl(t,i)}).remove(function(t){var e=o.getItemGraphicEl(t);a.remove(e)}).execute(),this._data=n},remove:function(){this.group.removeAll(),this._data=null},dispose:function(){}});Bs(uC("funnel")),zs(function(t,e,i){t.eachSeriesByType("funnel",function(t){var i=t.getData(),n=i.mapDimension("value"),o=t.get("sort"),a=Tf(t,e),r=Af(i,o),s=[Vo(t.get("minSize"),a.width),Vo(t.get("maxSize"),a.width)],l=i.getDataExtent(n),u=t.get("min"),h=t.get("max");null==u&&(u=Math.min(l[0],0)),null==h&&(h=l[1]);var c=t.get("funnelAlign"),d=t.get("gap"),f=(a.height-d*(i.count()-1))/i.count(),p=a.y,g=function(t,e){var o,r=Bo(i.get(n,t)||0,[u,h],s,!0);switch(c){case"left":o=a.x;break;case"center":o=a.x+(a.width-r)/2;break;case"right":o=a.x+a.width-r}return[[o,e],[o+r,e]]};"ascending"===o&&(f=-f,d=-d,p+=a.height,r=r.reverse());for(var m=0;ma&&(e[1-n]=e[n]+h.sign*a),e},tk=d,ek=Math.min,ik=Math.max,nk=Math.floor,ok=Math.ceil,ak=Go,rk=Math.PI;Nf.prototype={type:"parallel",constructor:Nf,_init:function(t,e,i){var n=t.dimensions,o=t.parallelAxisIndex;tk(n,function(t,i){var n=o[i],a=e.getComponent("parallelAxis",n),r=this._axesMap.set(t,new JL(t,Hl(a),[0,0],a.get("type"),n)),s="category"===r.type;r.onBand=s&&a.get("boundaryGap"),r.inverse=a.get("inverse"),a.axis=r,r.model=a,r.coordinateSystem=a.coordinateSystem=this},this)},update:function(t,e){this._updateAxesFromSeries(this._model,t)},containPoint:function(t){var e=this._makeLayoutInfo(),i=e.axisBase,n=e.layoutBase,o=e.pixelDimIndex,a=t[1-o],r=t[o];return a>=i&&a<=i+e.axisLength&&r>=n&&r<=n+e.layoutLength},getModel:function(){return this._model},_updateAxesFromSeries:function(t,e){e.eachSeries(function(i){if(t.contains(i,e)){var n=i.getData();tk(this.dimensions,function(t){var e=this._axesMap.get(t);e.scale.unionExtentFromData(n,n.mapDimension(t)),Wl(e.scale,e.model)},this)}},this)},resize:function(t,e){this._rect=ca(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()}),this._layoutAxes()},getRect:function(){return this._rect},_makeLayoutInfo:function(){var t,e=this._model,i=this._rect,n=["x","y"],o=["width","height"],a=e.get("layout"),r="horizontal"===a?0:1,s=i[o[r]],l=[0,s],u=this.dimensions.length,h=Of(e.get("axisExpandWidth"),l),c=Of(e.get("axisExpandCount")||0,[0,u]),d=e.get("axisExpandable")&&u>3&&u>c&&c>1&&h>0&&s>0,f=e.get("axisExpandWindow");f?(t=Of(f[1]-f[0],l),f[1]=f[0]+t):(t=Of(h*(c-1),l),(f=[h*(e.get("axisExpandCenter")||nk(u/2))-t/2])[1]=f[0]+t);var p=(s-t)/(u-c);p<3&&(p=0);var g=[nk(ak(f[0]/h,1))+1,ok(ak(f[1]/h,1))-1],m=p/h*f[0];return{layout:a,pixelDimIndex:r,layoutBase:i[n[r]],layoutLength:s,axisBase:i[n[1-r]],axisLength:i[o[1-r]],axisExpandable:d,axisExpandWidth:h,axisCollapseWidth:p,axisExpandWindow:f,axisCount:u,winInnerIndices:g,axisExpandWindow0Pos:m}},_layoutAxes:function(){var t=this._rect,e=this._axesMap,i=this.dimensions,n=this._makeLayoutInfo(),o=n.layout;e.each(function(t){var e=[0,n.axisLength],i=t.inverse?1:0;t.setExtent(e[i],e[1-i])}),tk(i,function(e,i){var a=(n.axisExpandable?Rf:Ef)(i,n),r={horizontal:{x:a.position,y:n.axisLength},vertical:{x:0,y:a.position}},s={horizontal:rk/2,vertical:0},l=[r[o].x+t.x,r[o].y+t.y],u=s[o],h=xt();Mt(h,h,u),St(h,h,l),this._axesLayout[e]={position:l,rotation:u,transform:h,axisNameAvailableWidth:a.axisNameAvailableWidth,axisLabelShow:a.axisLabelShow,nameTruncateMaxWidth:a.nameTruncateMaxWidth,tickDirection:1,labelDirection:1}},this)},getAxis:function(t){return this._axesMap.get(t)},dataToPoint:function(t,e){return this.axisCoordToPoint(this._axesMap.get(e).dataToCoord(t),e)},eachActiveState:function(t,e,i,n){null==i&&(i=0),null==n&&(n=t.count());var o=this._axesMap,a=this.dimensions,r=[],s=[];d(a,function(e){r.push(t.mapDimension(e)),s.push(o.get(e).model)});for(var l=this.hasAxisBrushed(),u=i;uo*(1-h[0])?(l="jump",r=s-o*(1-h[2])):(r=s-o*h[1])>=0&&(r=s-o*(1-h[1]))<=0&&(r=0),(r*=e.axisExpandWidth/u)?QL(r,n,a,"all"):l="none";else{o=n[1]-n[0];(n=[ik(0,a[1]*s/o-o/2)])[1]=ek(a[1],n[0]+o),n[0]=n[1]-o}return{axisExpandWindow:n,behavior:l}}},Fa.register("parallel",{create:function(t,e){var i=[];return t.eachComponent("parallel",function(n,o){var a=new Nf(n,t,e);a.name="parallel_"+o,a.resize(n,e),n.coordinateSystem=a,a.model=n,i.push(a)}),t.eachSeries(function(e){if("parallel"===e.get("coordinateSystem")){var i=t.queryComponents({mainType:"parallel",index:e.get("parallelIndex"),id:e.get("parallelId")})[0];e.coordinateSystem=i.coordinateSystem}}),i}});var sk=lI.extend({type:"baseParallelAxis",axis:null,activeIntervals:[],getAreaSelectStyle:function(){return Qb([["fill","color"],["lineWidth","borderWidth"],["stroke","borderColor"],["width","width"],["opacity","opacity"]])(this.getModel("areaSelectStyle"))},setActiveIntervals:function(t){var e=this.activeIntervals=i(t);if(e)for(var n=e.length-1;n>=0;n--)Fo(e[n])},getActiveState:function(t){var e=this.activeIntervals;if(!e.length)return"normal";if(null==t||isNaN(t))return"inactive";if(1===e.length){var i=e[0];if(i[0]<=t&&t<=i[1])return"active"}else for(var n=0,o=e.length;n5)return;var n=this._model.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX,t.offsetY]);"none"!==n.behavior&&this._dispatchExpand({axisExpandWindow:n.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(t){if(!this._mouseDownPoint&&Ip(this,"mousemove")){var e=this._model,i=e.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX,t.offsetY]),n=i.behavior;"jump"===n&&this._throttledDispatchExpand.debounceNextCall(e.get("axisExpandDebounce")),this._throttledDispatchExpand("none"===n?null:{axisExpandWindow:i.axisExpandWindow,animation:"jump"===n&&null})}}};Ns(function(t){Cf(t),Lf(t)}),YI.extend({type:"series.parallel",dependencies:["parallel"],visualColorAccessPath:"lineStyle.color",getInitialData:function(t,e){var i=this.getSource();return Tp(i,this),ml(i,this)},getRawIndicesByActiveState:function(t){var e=this.coordinateSystem,i=this.getData(),n=[];return e.eachActiveState(i,function(e,o){t===e&&n.push(i.getRawIndex(o))}),n},defaultOption:{zlevel:0,z:2,coordinateSystem:"parallel",parallelIndex:0,label:{show:!1},inactiveOpacity:.05,activeOpacity:1,lineStyle:{width:1,opacity:.45,type:"solid"},emphasis:{label:{show:!1}},progressive:500,smooth:!1,animationEasing:"linear"}});var Dk=.3,Ck=(Ar.extend({type:"parallel",init:function(){this._dataGroup=new tb,this.group.add(this._dataGroup),this._data,this._initialized},render:function(t,e,i,n){var o=this._dataGroup,a=t.getData(),r=this._data,s=t.coordinateSystem,l=s.dimensions,u=kp(t);if(a.diff(r).add(function(t){Pp(Lp(a,o,t,l,s),a,t,u)}).update(function(e,i){var o=r.getItemGraphicEl(i),h=Cp(a,e,l,s);a.setItemGraphicEl(e,o),Io(o,{shape:{points:h}},n&&!1===n.animation?null:t,e),Pp(o,a,e,u)}).remove(function(t){var e=r.getItemGraphicEl(t);o.remove(e)}).execute(),!this._initialized){this._initialized=!0;var h=Dp(s,t,function(){setTimeout(function(){o.removeClipPath()})});o.setClipPath(h)}this._data=a},incrementalPrepareRender:function(t,e,i){this._initialized=!0,this._data=null,this._dataGroup.removeAll()},incrementalRender:function(t,e,i){for(var n=e.getData(),o=e.coordinateSystem,a=o.dimensions,r=kp(e),s=t.start;sn&&(n=e)}),d(e,function(e){var o=new hL({type:"color",mappingMethod:"linear",dataExtent:[i,n],visual:t.get("color")}).mapValueToVisual(e.getLayout().value);e.setVisual("color",o);var a=e.getModel().get("itemStyle.color");null!=a&&e.setVisual("color",a)})}})});var Ok={_baseAxisDim:null,getInitialData:function(t,e){var i,n,o=e.getComponent("xAxis",this.get("xAxisIndex")),a=e.getComponent("yAxis",this.get("yAxisIndex")),r=o.get("type"),s=a.get("type");"category"===r?(t.layout="horizontal",i=o.getOrdinalMeta(),n=!0):"category"===s?(t.layout="vertical",i=a.getOrdinalMeta(),n=!0):t.layout=t.layout||"horizontal";var l=["x","y"],u="horizontal"===t.layout?0:1,h=this._baseAxisDim=l[u],c=l[1-u],f=[o,a],p=f[u].get("type"),g=f[1-u].get("type"),m=t.data;if(m&&n){var v=[];d(m,function(t,e){var i;t.value&&y(t.value)?(i=t.value.slice(),t.value.unshift(e)):y(t)?(i=t.slice(),t.unshift(e)):i=t,v.push(i)}),t.data=v}var x=this.defaultValueDimensions;return oC(this,{coordDimensions:[{name:h,type:qs(p),ordinalMeta:i,otherDims:{tooltip:!1,itemName:0},dimsDef:["base"]},{name:c,type:qs(g),dimsDef:x.slice()}],dimensionsCount:x.length+1})},getBaseAxis:function(){var t=this._baseAxisDim;return this.ecModel.getComponent(t+"Axis",this.get(t+"AxisIndex")).axis}};h(YI.extend({type:"series.boxplot",dependencies:["xAxis","yAxis","grid"],defaultValueDimensions:[{name:"min",defaultTooltip:!0},{name:"Q1",defaultTooltip:!0},{name:"median",defaultTooltip:!0},{name:"Q3",defaultTooltip:!0},{name:"max",defaultTooltip:!0}],dimensions:null,defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,layout:null,boxWidth:[7,50],itemStyle:{color:"#fff",borderWidth:1},emphasis:{itemStyle:{borderWidth:2,shadowBlur:5,shadowOffsetX:2,shadowOffsetY:2,shadowColor:"rgba(0,0,0,0.4)"}},animationEasing:"elasticOut",animationDuration:800}}),Ok,!0);var Ek=["itemStyle"],Rk=["emphasis","itemStyle"],zk=(Ar.extend({type:"boxplot",render:function(t,e,i){var n=t.getData(),o=this.group,a=this._data;this._data||o.removeAll();var r="horizontal"===t.get("layout")?1:0;n.diff(a).add(function(t){if(n.hasValue(t)){var e=ig(n.getItemLayout(t),n,t,r,!0);n.setItemGraphicEl(t,e),o.add(e)}}).update(function(t,e){var i=a.getItemGraphicEl(e);if(n.hasValue(t)){var s=n.getItemLayout(t);i?ng(s,i,n,t):i=ig(s,n,t,r),o.add(i),n.setItemGraphicEl(t,i)}else o.remove(i)}).remove(function(t){var e=a.getItemGraphicEl(t);e&&o.remove(e)}).execute(),this._data=n},remove:function(t){var e=this.group,i=this._data;this._data=null,i&&i.eachItemGraphicEl(function(t){t&&e.remove(t)})},dispose:B}),Pn.extend({type:"boxplotBoxPath",shape:{},buildPath:function(t,e){var i=e.points,n=0;for(t.moveTo(i[n][0],i[n][1]),n++;n<4;n++)t.lineTo(i[n][0],i[n][1]);for(t.closePath();n0?jk:Yk)}function n(t,e){return e.get(t>0?Uk:Xk)}var o=t.getData(),a=t.pipelineContext.large;if(o.setVisual({legendSymbol:"roundRect",colorP:i(1,t),colorN:i(-1,t),borderColorP:n(1,t),borderColorN:n(-1,t)}),!e.isSeriesFiltered(t))return!a&&{progress:function(t,e){for(var o;null!=(o=t.next());){var a=e.getItemModel(o),r=e.getItemLayout(o).sign;e.setItemVisual(o,{color:i(r,a),borderColor:n(r,a)})}}}}},Kk="undefined"!=typeof Float32Array?Float32Array:Array,$k={seriesType:"candlestick",plan:$I(),reset:function(t){var e=t.coordinateSystem,i=t.getData(),n=pg(t,i),o=0,a=1,r=["x","y"],s=i.mapDimension(r[o]),l=i.mapDimension(r[a],!0),u=l[0],h=l[1],c=l[2],d=l[3];if(i.setLayout({candleWidth:n,isSimpleBox:n<=1.3}),!(null==s||l.length<4))return{progress:t.pipelineContext.large?function(t,i){for(var n,r,l=new Kk(5*t.count),f=0,p=[],g=[];null!=(r=t.next());){var m=i.get(s,r),v=i.get(u,r),y=i.get(h,r),x=i.get(c,r),_=i.get(d,r);isNaN(m)||isNaN(x)||isNaN(_)?(l[f++]=NaN,f+=4):(l[f++]=fg(i,r,v,y,h),p[o]=m,p[a]=x,n=e.dataToPoint(p,null,g),l[f++]=n?n[0]:NaN,l[f++]=n?n[1]:NaN,p[a]=_,n=e.dataToPoint(p,null,g),l[f++]=n?n[1]:NaN)}i.setLayout("largePoints",l)}:function(t,i){function r(t,i){var n=[];return n[o]=i,n[a]=t,isNaN(i)||isNaN(t)?[NaN,NaN]:e.dataToPoint(n)}function l(t,e,i){var a=e.slice(),r=e.slice();a[o]=Jn(a[o]+n/2,1,!1),r[o]=Jn(r[o]-n/2,1,!0),i?t.push(a,r):t.push(r,a)}function f(t){return t[o]=Jn(t[o],1),t}for(var p;null!=(p=t.next());){var g=i.get(s,p),m=i.get(u,p),v=i.get(h,p),y=i.get(c,p),x=i.get(d,p),_=Math.min(m,v),w=Math.max(m,v),b=r(_,g),S=r(w,g),M=r(y,g),I=r(x,g),T=[];l(T,S,0),l(T,b,1),T.push(f(I),f(S),f(M),f(b)),i.setItemLayout(p,{sign:fg(i,p,m,v,h),initBaseline:m>v?S[a]:b[a],ends:T,brushRect:function(t,e,i){var s=r(t,i),l=r(e,i);return s[o]-=n/2,l[o]-=n/2,{x:s[0],y:s[1],width:a?n:l[0]-s[0],height:a?l[1]-s[1]:n}}(y,x,g)})}}}}};Ns(function(t){t&&y(t.series)&&d(t.series,function(t){w(t)&&"k"===t.type&&(t.type="candlestick")})}),Bs(qk),zs($k),YI.extend({type:"series.effectScatter",dependencies:["grid","polar"],getInitialData:function(t,e){return ml(this.getSource(),this)},brushSelector:"point",defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,effectType:"ripple",progressive:0,showEffectOn:"render",rippleEffect:{period:4,scale:2.5,brushType:"fill"},symbolSize:10}});var Jk=vg.prototype;Jk.stopEffectAnimation=function(){this.childAt(1).removeAll()},Jk.startEffectAnimation=function(t){for(var e=t.symbolType,i=t.color,n=this.childAt(1),o=0;o<3;o++){var a=Jl(e,-1,-1,2,2,i);a.attr({style:{strokeNoScale:!0},z2:99,silent:!0,scale:[.5,.5]});var r=-o/3*t.period+t.effectOffset;a.animate("",!0).when(t.period,{scale:[t.rippleScale/2,t.rippleScale/2]}).delay(r).start(),a.animateStyle(!0).when(t.period,{opacity:0}).delay(r).start(),n.add(a)}mg(n,t)},Jk.updateEffectAnimation=function(t){for(var e=this._effectCfg,i=this.childAt(1),n=["symbolType","period","rippleScale"],o=0;o "))},preventIncremental:function(){return!!this.get("effect.show")},getProgressive:function(){var t=this.option.progressive;return null==t?this.option.large?1e4:this.get("progressive"):t},getProgressiveThreshold:function(){var t=this.option.progressiveThreshold;return null==t?this.option.large?2e4:this.get("progressiveThreshold"):t},defaultOption:{coordinateSystem:"geo",zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,xAxisIndex:0,yAxisIndex:0,symbol:["none","none"],symbolSize:[10,10],geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:"circle",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2e3,polyline:!1,label:{show:!1,position:"end"},lineStyle:{opacity:.5}}}),iP=xg.prototype;iP.createLine=function(t,e,i){return new rf(t,e,i)},iP._updateEffectSymbol=function(t,e){var i=t.getItemModel(e).getModel("effect"),n=i.get("symbolSize"),o=i.get("symbol");y(n)||(n=[n,n]);var a=i.get("color")||t.getItemVisual(e,"color"),r=this.childAt(1);this._symbolType!==o&&(this.remove(r),(r=Jl(o,-.5,-.5,1,1,a)).z2=100,r.culling=!0,this.add(r)),r&&(r.setStyle("shadowColor",a),r.setStyle(i.getItemStyle(["color"])),r.attr("scale",n),r.setColor(a),r.attr("scale",n),this._symbolType=o,this._updateEffectAnimation(t,i,e))},iP._updateEffectAnimation=function(t,e,i){var n=this.childAt(1);if(n){var o=this,a=t.getItemLayout(i),r=1e3*e.get("period"),s=e.get("loop"),l=e.get("constantSpeed"),u=T(e.get("delay"),function(e){return e/t.count()*r/3}),h="function"==typeof u;if(n.ignore=!0,this.updateAnimationPoints(n,a),l>0&&(r=this.getLineLength(n)/l*1e3),r!==this._period||s!==this._loop){n.stopAnimation();var c=u;h&&(c=u(i)),n.__t>0&&(c=-r*n.__t),n.__t=0;var d=n.animate("",s).when(r,{__t:1}).delay(c).during(function(){o.updateSymbolPosition(n)});s||d.done(function(){o.remove(n)}),d.start()}this._period=r,this._loop=s}},iP.getLineLength=function(t){return uw(t.__p1,t.__cp1)+uw(t.__cp1,t.__p2)},iP.updateAnimationPoints=function(t,e){t.__p1=e[0],t.__p2=e[1],t.__cp1=e[2]||[(e[0][0]+e[1][0])/2,(e[0][1]+e[1][1])/2]},iP.updateData=function(t,e,i){this.childAt(0).updateData(t,e,i),this._updateEffectSymbol(t,e)},iP.updateSymbolPosition=function(t){var e=t.__p1,i=t.__p2,n=t.__cp1,o=t.__t,a=t.position,r=sn,s=ln;a[0]=r(e[0],n[0],i[0],o),a[1]=r(e[1],n[1],i[1],o);var l=s(e[0],n[0],i[0],o),u=s(e[1],n[1],i[1],o);t.rotation=-Math.atan2(u,l)-Math.PI/2,t.ignore=!1},iP.updateLayout=function(t,e){this.childAt(0).updateLayout(t,e);var i=t.getItemModel(e).getModel("effect");this._updateEffectAnimation(t,i,e)},u(xg,tb);var nP=_g.prototype;nP._createPolyline=function(t,e,i){var n=t.getItemLayout(e),o=new gM({shape:{points:n}});this.add(o),this._updateCommonStl(t,e,i)},nP.updateData=function(t,e,i){var n=t.hostModel;Io(this.childAt(0),{shape:{points:t.getItemLayout(e)}},n,e),this._updateCommonStl(t,e,i)},nP._updateCommonStl=function(t,e,i){var n=this.childAt(0),o=t.getItemModel(e),a=t.getItemVisual(e,"color"),s=i&&i.lineStyle,l=i&&i.hoverLineStyle;i&&!t.hasItemOption||(s=o.getModel("lineStyle").getLineStyle(),l=o.getModel("emphasis.lineStyle").getLineStyle()),n.useStyle(r({strokeNoScale:!0,fill:"none",stroke:a},s)),n.hoverStyle=l,fo(this)},nP.updateLayout=function(t,e){this.childAt(0).setShape("points",t.getItemLayout(e))},u(_g,tb);var oP=wg.prototype;oP.createLine=function(t,e,i){return new _g(t,e,i)},oP.updateAnimationPoints=function(t,e){this._points=e;for(var i=[0],n=0,o=1;o=0&&!(n[r]<=e);r--);r=Math.min(r,o-2)}else{for(var r=a;re);r++);r=Math.min(r-1,o-2)}J(t.position,i[r],i[r+1],(e-n[r])/(n[r+1]-n[r]));var s=i[r+1][0]-i[r][0],l=i[r+1][1]-i[r][1];t.rotation=-Math.atan2(l,s)-Math.PI/2,this._lastFrame=r,this._lastFramePercent=e,t.ignore=!1}},u(wg,xg);var aP=Un({shape:{polyline:!1,curveness:0,segs:[]},buildPath:function(t,e){var i=e.segs,n=e.curveness;if(e.polyline)for(r=0;r0){t.moveTo(i[r++],i[r++]);for(var a=1;a0){var c=(s+u)/2-(l-h)*n,d=(l+h)/2-(u-s)*n;t.quadraticCurveTo(c,d,u,h)}else t.lineTo(u,h)}},findDataIndex:function(t,e){var i=this.shape,n=i.segs,o=i.curveness;if(i.polyline)for(var a=0,r=0;r0)for(var l=n[r++],u=n[r++],h=1;h0){if(_n(l,u,(l+c)/2-(u-d)*o,(u+d)/2-(c-l)*o,c,d))return a}else if(yn(l,u,c,d))return a;a++}return-1}}),rP=bg.prototype;rP.isPersistent=function(){return!this._incremental},rP.updateData=function(t){this.group.removeAll();var e=new aP({rectHover:!0,cursor:"default"});e.setShape({segs:t.getLayout("linesPoints")}),this._setCommon(e,t),this.group.add(e),this._incremental=null},rP.incrementalPrepareUpdate=function(t){this.group.removeAll(),this._clearIncremental(),t.count()>5e5?(this._incremental||(this._incremental=new Zn({silent:!0})),this.group.add(this._incremental)):this._incremental=null},rP.incrementalUpdate=function(t,e){var i=new aP;i.setShape({segs:e.getLayout("linesPoints")}),this._setCommon(i,e,!!this._incremental),this._incremental?this._incremental.addDisplayable(i,!0):(i.rectHover=!0,i.cursor="default",i.__startIndex=t.start,this.group.add(i))},rP.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},rP._setCommon=function(t,e,i){var n=e.hostModel;t.setShape({polyline:n.get("polyline"),curveness:n.get("lineStyle.curveness")}),t.useStyle(n.getModel("lineStyle").getLineStyle()),t.style.strokeNoScale=!0;var o=e.getVisual("color");o&&t.setStyle("stroke",o),t.setStyle("fill"),i||(t.seriesIndex=n.seriesIndex,t.on("mousemove",function(e){t.dataIndex=null;var i=t.findDataIndex(e.offsetX,e.offsetY);i>0&&(t.dataIndex=i+t.__startIndex)}))},rP._clearIncremental=function(){var t=this._incremental;t&&t.clearDisplaybles()};var sP={seriesType:"lines",plan:$I(),reset:function(t){var e=t.coordinateSystem,i=t.get("polyline"),n=t.pipelineContext.large;return{progress:function(o,a){var r=[];if(n){var s,l=o.end-o.start;if(i){for(var u=0,h=o.start;h0){var I=a(v)?s:l;v>0&&(v=v*S+b),x[_++]=I[M],x[_++]=I[M+1],x[_++]=I[M+2],x[_++]=I[M+3]*v*256}else _+=4}return c.putImageData(y,0,0),h},_getBrush:function(){var t=this._brushCanvas||(this._brushCanvas=iw()),e=this.pointSize+this.blurSize,i=2*e;t.width=i,t.height=i;var n=t.getContext("2d");return n.clearRect(0,0,i,i),n.shadowOffsetX=i,n.shadowBlur=this.blurSize,n.shadowColor="#000",n.beginPath(),n.arc(-e,e,this.pointSize,0,2*Math.PI,!0),n.closePath(),n.fill(),t},_getGradient:function(t,e,i){for(var n=this._gradientPixels,o=n[i]||(n[i]=new Uint8ClampedArray(1024)),a=[0,0,0,0],r=0,s=0;s<256;s++)e[i](s/255,!0,a),o[r++]=a[0],o[r++]=a[1],o[r++]=a[2],o[r++]=a[3];return o}},Zs({type:"heatmap",render:function(t,e,i){var n;e.eachComponent("visualMap",function(e){e.eachTargetSeries(function(i){i===t&&(n=e)})}),this.group.removeAll(),this._incrementalDisplayable=null;var o=t.coordinateSystem;"cartesian2d"===o.type||"calendar"===o.type?this._renderOnCartesianAndCalendar(t,i,0,t.getData().count()):Ag(o)&&this._renderOnGeo(o,t,n,i)},incrementalPrepareRender:function(t,e,i){this.group.removeAll()},incrementalRender:function(t,e,i,n){e.coordinateSystem&&this._renderOnCartesianAndCalendar(e,n,t.start,t.end,!0)},_renderOnCartesianAndCalendar:function(t,e,i,n,o){var r,s,l=t.coordinateSystem;if("cartesian2d"===l.type){var u=l.getAxis("x"),h=l.getAxis("y");r=u.getBandWidth(),s=h.getBandWidth()}for(var c=this.group,d=t.getData(),f=t.getModel("itemStyle").getItemStyle(["color"]),p=t.getModel("emphasis.itemStyle").getItemStyle(),g=t.getModel("label"),m=t.getModel("emphasis.label"),v=l.type,y="cartesian2d"===v?[d.mapDimension("x"),d.mapDimension("y"),d.mapDimension("value")]:[d.mapDimension("time"),d.mapDimension("value")],x=i;x=e.y&&t[1]<=e.y+e.height:i.contain(i.toLocalCoord(t[1]))&&t[0]>=e.y&&t[0]<=e.y+e.height},pointToData:function(t){var e=this.getAxis();return[e.coordToData(e.toLocalCoord(t["horizontal"===e.orient?0:1]))]},dataToPoint:function(t){var e=this.getAxis(),i=this.getRect(),n=[],o="horizontal"===e.orient?0:1;return t instanceof Array&&(t=t[0]),n[o]=e.toGlobalCoord(e.dataToCoord(+t)),n[1-o]=0===o?i.y+i.height/2:i.x+i.width/2,n}},Fa.register("single",{create:function(t,e){var i=[];return t.eachComponent("singleAxis",function(n,o){var a=new $g(n,t,e);a.name="single_"+o,a.resize(n,e),n.coordinateSystem=a,i.push(a)}),t.eachSeries(function(e){if("singleAxis"===e.get("coordinateSystem")){var i=t.queryComponents({mainType:"singleAxis",index:e.get("singleAxisIndex"),id:e.get("singleAxisId")})[0];e.coordinateSystem=i&&i.coordinateSystem}}),i},dimensions:$g.prototype.dimensions});var gP=["axisLine","axisTickLabel","axisName"],mP=XD.extend({type:"singleAxis",axisPointerClass:"SingleAxisPointer",render:function(t,e,i,n){var o=this.group;o.removeAll();var a=Jg(t),r=new FD(t,a);d(gP,r.add,r),o.add(r.getGroup()),t.get("splitLine.show")&&this._splitLine(t),mP.superCall(this,"render",t,e,i,n)},_splitLine:function(t){var e=t.axis;if(!e.scale.isBlank()){var i=t.getModel("splitLine"),n=i.getModel("lineStyle"),o=n.get("width"),a=n.get("color");a=a instanceof Array?a:[a];for(var r=t.coordinateSystem.getRect(),s=e.isHorizontal(),l=[],u=0,h=e.getTicksCoords({tickModel:i}),c=[],d=[],f=0;f=0)&&i({type:"updateAxisPointer",currTrigger:t,x:e&&e.offsetX,y:e&&e.offsetY})})},remove:function(t,e){gm(e.getZr(),"axisPointer"),IP.superApply(this._model,"remove",arguments)},dispose:function(t,e){gm("axisPointer",e),IP.superApply(this._model,"dispose",arguments)}}),TP=Bi(),AP=i,DP=m;(mm.prototype={_group:null,_lastGraphicKey:null,_handle:null,_dragging:!1,_lastValue:null,_lastStatus:null,_payloadInfo:null,animationThreshold:15,render:function(t,e,i,n){var o=e.get("value"),a=e.get("status");if(this._axisModel=t,this._axisPointerModel=e,this._api=i,n||this._lastValue!==o||this._lastStatus!==a){this._lastValue=o,this._lastStatus=a;var r=this._group,s=this._handle;if(!a||"hide"===a)return r&&r.hide(),void(s&&s.hide());r&&r.show(),s&&s.show();var l={};this.makeElOption(l,o,t,e,i);var u=l.graphicKey;u!==this._lastGraphicKey&&this.clear(i),this._lastGraphicKey=u;var h=this._moveAnimation=this.determineAnimation(t,e);if(r){var c=v(vm,e,h);this.updatePointerEl(r,l,c,e),this.updateLabelEl(r,l,c,e)}else r=this._group=new tb,this.createPointerEl(r,l,t,e),this.createLabelEl(r,l,t,e),i.getZr().add(r);wm(r,e,!0),this._renderHandle(o)}},remove:function(t){this.clear(t)},dispose:function(t){this.clear(t)},determineAnimation:function(t,e){var i=e.get("animation"),n=t.axis,o="category"===n.type,a=e.get("snap");if(!a&&!o)return!1;if("auto"===i||null==i){var r=this.animationThreshold;if(o&&n.getBandWidth()>r)return!0;if(a){var s=Mh(t).seriesDataCount,l=n.getExtent();return Math.abs(l[0]-l[1])/s>r}return!1}return!0===i},makeElOption:function(t,e,i,n,o){},createPointerEl:function(t,e,i,n){var o=e.pointer;if(o){var a=TP(t).pointerEl=new zM[o.type](AP(e.pointer));t.add(a)}},createLabelEl:function(t,e,i,n){if(e.label){var o=TP(t).labelEl=new yM(AP(e.label));t.add(o),xm(o,n)}},updatePointerEl:function(t,e,i){var n=TP(t).pointerEl;n&&(n.setStyle(e.pointer.style),i(n,{shape:e.pointer.shape}))},updateLabelEl:function(t,e,i,n){var o=TP(t).labelEl;o&&(o.setStyle(e.label.style),i(o,{shape:e.label.shape,position:e.label.position}),xm(o,n))},_renderHandle:function(t){if(!this._dragging&&this.updateHandleTransform){var e=this._axisPointerModel,i=this._api.getZr(),n=this._handle,o=e.getModel("handle"),a=e.get("status");if(!o.get("show")||!a||"hide"===a)return n&&i.remove(n),void(this._handle=null);var r;this._handle||(r=!0,n=this._handle=Po(o.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(t){mw(t.event)},onmousedown:DP(this._onHandleDragMove,this,0,0),drift:DP(this._onHandleDragMove,this),ondragend:DP(this._onHandleDragEnd,this)}),i.add(n)),wm(n,e,!1);var s=["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"];n.setStyle(o.getItemStyle(null,s));var l=o.get("size");y(l)||(l=[l,l]),n.attr("scale",[l[0]/2,l[1]/2]),Nr(this,"_doDispatchAxisPointer",o.get("throttle")||0,"fixRate"),this._moveHandleToValue(t,r)}},_moveHandleToValue:function(t,e){vm(this._axisPointerModel,!e&&this._moveAnimation,this._handle,_m(this.getHandleTransform(t,this._axisModel,this._axisPointerModel)))},_onHandleDragMove:function(t,e){var i=this._handle;if(i){this._dragging=!0;var n=this.updateHandleTransform(_m(i),[t,e],this._axisModel,this._axisPointerModel);this._payloadInfo=n,i.stopAnimation(),i.attr(_m(n)),TP(i).lastProp=null,this._doDispatchAxisPointer()}},_doDispatchAxisPointer:function(){if(this._handle){var t=this._payloadInfo,e=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:t.cursorPoint[0],y:t.cursorPoint[1],tooltipOption:t.tooltipOption,axesInfo:[{axisDim:e.axis.dim,axisIndex:e.componentIndex}]})}},_onHandleDragEnd:function(t){if(this._dragging=!1,this._handle){var e=this._axisPointerModel.get("value");this._moveHandleToValue(e),this._api.dispatchAction({type:"hideTip"})}},getHandleTransform:null,updateHandleTransform:null,clear:function(t){this._lastValue=null,this._lastStatus=null;var e=t.getZr(),i=this._group,n=this._handle;e&&i&&(this._lastGraphicKey=null,i&&e.remove(i),n&&e.remove(n),this._group=null,this._handle=null,this._payloadInfo=null)},doClear:function(){},buildLabel:function(t,e,i){return i=i||0,{x:t[i],y:t[1-i],width:e[i],height:e[1-i]}}}).constructor=mm,ji(mm);var CP=mm.extend({makeElOption:function(t,e,i,n,o){var a=i.axis,r=a.grid,s=n.get("type"),l=km(r,a).getOtherAxis(a).getGlobalExtent(),u=a.toGlobalCoord(a.dataToCoord(e,!0));if(s&&"none"!==s){var h=bm(n),c=LP[s](a,u,l,h);c.style=h,t.graphicKey=c.type,t.pointer=c}Am(e,t,Lh(r.model,i),i,n,o)},getHandleTransform:function(t,e,i){var n=Lh(e.axis.grid.model,e,{labelInside:!1});return n.labelMargin=i.get("handle.margin"),{position:Tm(e.axis,t,n),rotation:n.rotation+(n.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(t,e,i,n){var o=i.axis,a=o.grid,r=o.getGlobalExtent(!0),s=km(a,o).getOtherAxis(o).getGlobalExtent(),l="x"===o.dim?0:1,u=t.position;u[l]+=e[l],u[l]=Math.min(r[1],u[l]),u[l]=Math.max(r[0],u[l]);var h=(s[1]+s[0])/2,c=[h,h];c[l]=u[l];var d=[{verticalAlign:"middle"},{align:"center"}];return{position:u,rotation:t.rotation,cursorPoint:c,tooltipOption:d[l]}}}),LP={line:function(t,e,i,n){var o=Dm([e,i[0]],[e,i[1]],Pm(t));return Kn({shape:o,style:n}),{type:"Line",shape:o}},shadow:function(t,e,i,n){var o=Math.max(1,t.getBandWidth()),a=i[1]-i[0];return{type:"Rect",shape:Cm([e-o/2,i[0]],[o,a],Pm(t))}}};XD.registerAxisPointerClass("CartesianAxisPointer",CP),Ns(function(t){if(t){(!t.axisPointer||0===t.axisPointer.length)&&(t.axisPointer={});var e=t.axisPointer.link;e&&!y(e)&&(t.axisPointer.link=[e])}}),Os(VT.PROCESSOR.STATISTIC,function(t,e){t.getComponent("axisPointer").coordSysAxesInfo=vh(t,e)}),Es({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},function(t,e,i){var n=t.currTrigger,o=[t.x,t.y],a=t,r=t.dispatchAction||m(i.dispatchAction,i),s=e.getComponent("axisPointer").coordSysAxesInfo;if(s){lm(o)&&(o=xP({seriesIndex:a.seriesIndex,dataIndex:a.dataIndex},e).point);var l=lm(o),u=a.axesInfo,h=s.axesInfo,c="leave"===n||lm(o),d={},f={},p={list:[],map:{}},g={showPointer:wP(em,f),showTooltip:wP(im,p)};_P(s.coordSysMap,function(t,e){var i=l||t.containPoint(o);_P(s.coordSysAxesInfo[e],function(t,e){var n=t.axis,a=rm(u,t);if(!c&&i&&(!u||a)){var r=a&&a.value;null!=r||l||(r=n.pointToData(o)),null!=r&&Qg(t,r,g,!1,d)}})});var v={};return _P(h,function(t,e){var i=t.linkGroup;i&&!f[e]&&_P(i.axesInfo,function(e,n){var o=f[n];if(e!==t&&o){var a=o.value;i.mapper&&(a=t.axis.scale.parse(i.mapper(a,sm(e),sm(t)))),v[t.key]=a}})}),_P(v,function(t,e){Qg(h[e],t,g,!0,d)}),nm(f,h,d),om(p,o,t,r),am(h,0,i),d}});var kP=["x","y"],PP=["width","height"],NP=mm.extend({makeElOption:function(t,e,i,n,o){var a=i.axis,r=a.coordinateSystem,s=Om(r,1-Nm(a)),l=r.dataToPoint(e)[0],u=n.get("type");if(u&&"none"!==u){var h=bm(n),c=OP[u](a,l,s,h);c.style=h,t.graphicKey=c.type,t.pointer=c}Am(e,t,Jg(i),i,n,o)},getHandleTransform:function(t,e,i){var n=Jg(e,{labelInside:!1});return n.labelMargin=i.get("handle.margin"),{position:Tm(e.axis,t,n),rotation:n.rotation+(n.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(t,e,i,n){var o=i.axis,a=o.coordinateSystem,r=Nm(o),s=Om(a,r),l=t.position;l[r]+=e[r],l[r]=Math.min(s[1],l[r]),l[r]=Math.max(s[0],l[r]);var u=Om(a,1-r),h=(u[1]+u[0])/2,c=[h,h];return c[r]=l[r],{position:l,rotation:t.rotation,cursorPoint:c,tooltipOption:{verticalAlign:"middle"}}}}),OP={line:function(t,e,i,n){var o=Dm([e,i[0]],[e,i[1]],Nm(t));return Kn({shape:o,style:n}),{type:"Line",shape:o}},shadow:function(t,e,i,n){var o=t.getBandWidth(),a=i[1]-i[0];return{type:"Rect",shape:Cm([e-o/2,i[0]],[o,a],Nm(t))}}};XD.registerAxisPointerClass("SingleAxisPointer",NP),Ws({type:"single"});var EP=YI.extend({type:"series.themeRiver",dependencies:["singleAxis"],nameMap:null,init:function(t){EP.superApply(this,"init",arguments),this.legendDataProvider=function(){return this.getRawData()}},fixData:function(t){var e=t.length,i=[];Zi(t,function(t){return t[2]}).buckets.each(function(t,e){i.push({name:e,dataList:t})});for(var n=i.length,o=-1,a=-1,r=0;ro&&(o=s,a=r)}for(var l=0;lMath.PI/2?"right":"left"):x&&"center"!==x?"left"===x?(f=u.r0+y,p>Math.PI/2&&(x="right")):"right"===x&&(f=u.r-y,p>Math.PI/2&&(x="left")):(f=(u.r+u.r0)/2,x="center"),d.attr("style",{text:l,textAlign:x,textVerticalAlign:n("verticalAlign")||"middle",opacity:n("opacity")});var _=f*g+u.cx,w=f*m+u.cy;d.attr("position",[_,w]);var b=n("rotate"),S=0;"radial"===b?(S=-p)<-Math.PI/2&&(S+=Math.PI):"tangential"===b?(S=Math.PI/2-p)>Math.PI/2?S-=Math.PI:S<-Math.PI/2&&(S+=Math.PI):"number"==typeof b&&(S=b*Math.PI/180),d.attr("rotation",S)},VP._initEvents=function(t,e,i,n){t.off("mouseover").off("mouseout").off("emphasis").off("normal");var o=this,a=function(){o.onEmphasis(n)},r=function(){o.onNormal()};i.isAnimationEnabled()&&t.on("mouseover",a).on("mouseout",r).on("emphasis",a).on("normal",r).on("downplay",function(){o.onDownplay()}).on("highlight",function(){o.onHighlight()})},u(Vm,tb);Ar.extend({type:"sunburst",init:function(){},render:function(t,e,i,n){function o(i,n){if(c||!i||i.getValue()||(i=null),i!==l&&n!==l)if(n&&n.piece)i?(n.piece.updateData(!1,i,"normal",t,e),s.setItemGraphicEl(i.dataIndex,n.piece)):a(n);else if(i){var o=new Vm(i,t,e);h.add(o),s.setItemGraphicEl(i.dataIndex,o)}}function a(t){t&&t.piece&&(h.remove(t.piece),t.piece=null)}var r=this;this.seriesModel=t,this.api=i,this.ecModel=e;var s=t.getData(),l=s.tree.root,u=t.getViewRoot(),h=this.group,c=t.get("renderLabelForZeroData"),d=[];u.eachNode(function(t){d.push(t)});var f=this._oldChildren||[];if(function(t,e){function i(t){return t.getId()}function n(i,n){o(null==i?null:t[i],null==n?null:e[n])}0===t.length&&0===e.length||new Xs(e,t,i,i).add(n).update(n).remove(v(n,null)).execute()}(d,f),function(i,n){if(n.depth>0){r.virtualPiece?r.virtualPiece.updateData(!1,i,"normal",t,e):(r.virtualPiece=new Vm(i,t,e),h.add(r.virtualPiece)),n.piece._onclickEvent&&n.piece.off("click",n.piece._onclickEvent);var o=function(t){r._rootToNode(n.parentNode)};n.piece._onclickEvent=o,r.virtualPiece.on("click",o)}else r.virtualPiece&&(h.remove(r.virtualPiece),r.virtualPiece=null)}(l,u),n&&n.highlight&&n.highlight.piece){var p=t.getShallow("highlightPolicy");n.highlight.piece.onEmphasis(p)}else if(n&&n.unhighlight){var g=this.virtualPiece;!g&&l.children.length&&(g=l.children[0].piece),g&&g.onNormal()}this._initEvents(),this._oldChildren=d},dispose:function(){},_initEvents:function(){var t=this,e=function(e){var i=!1;t.seriesModel.getViewRoot().eachNode(function(n){if(!i&&n.piece&&n.piece.childAt(0)===e.target){var o=n.getModel().get("nodeClick");if("rootToNode"===o)t._rootToNode(n);else if("link"===o){var a=n.getModel(),r=a.get("link");if(r){var s=a.get("target",!0)||"_blank";window.open(r,s)}}i=!0}})};this.group._onclickEvent&&this.group.off("click",this.group._onclickEvent),this.group.on("click",e),this.group._onclickEvent=e},_rootToNode:function(t){t!==this.seriesModel.getViewRoot()&&this.api.dispatchAction({type:"sunburstRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t})},containPoint:function(t,e){var i=e.getData().getItemLayout(0);if(i){var n=t[0]-i.cx,o=t[1]-i.cy,a=Math.sqrt(n*n+o*o);return a<=i.r&&a>=i.r0}}});var GP="sunburstRootToNode";Es({type:GP,update:"updateView"},function(t,e){e.eachComponent({mainType:"series",subType:"sunburst",query:t},function(e,i){var n=ld(t,[GP],e);if(n){var o=e.getViewRoot();o&&(t.direction=hd(o,n.node)?"rollUp":"drillDown"),e.resetViewRoot(n.node)}})});var FP="sunburstHighlight";Es({type:FP,update:"updateView"},function(t,e){e.eachComponent({mainType:"series",subType:"sunburst",query:t},function(e,i){var n=ld(t,[FP],e);n&&(t.highlight=n.node)})});Es({type:"sunburstUnhighlight",update:"updateView"},function(t,e){e.eachComponent({mainType:"series",subType:"sunburst",query:t},function(e,i){t.unhighlight=!0})});var WP=Math.PI/180;Bs(v(uC,"sunburst")),zs(v(function(t,e,i,n){e.eachSeriesByType(t,function(t){var e=t.get("center"),n=t.get("radius");y(n)||(n=[0,n]),y(e)||(e=[e,e]);var o=i.getWidth(),a=i.getHeight(),r=Math.min(o,a),s=Vo(e[0],o),l=Vo(e[1],a),u=Vo(n[0],r/2),h=Vo(n[1],r/2),c=-t.get("startAngle")*WP,f=t.get("minAngle")*WP,p=t.getData().tree.root,g=t.getViewRoot(),m=g.depth,v=t.get("sort");null!=v&&Zm(g,v);var x=0;d(g.children,function(t){!isNaN(t.getValue())&&x++});var _=g.getValue(),w=Math.PI/(_||x)*2,b=g.depth>0,S=g.height-(b?-1:1),M=(h-u)/(S||1),I=t.get("clockwise"),T=t.get("stillShowZeroSum"),A=I?1:-1,D=function(t,e){if(t){var i=e;if(t!==p){var n=t.getValue(),o=0===_&&T?w:n*w;on[1]&&n.reverse(),{coordSys:{type:"polar",cx:t.cx,cy:t.cy,r:n[1],r0:n[0]},api:{coord:m(function(n){var o=e.dataToRadius(n[0]),a=i.dataToAngle(n[1]),r=t.coordToPoint([o,a]);return r.push(o,a*Math.PI/180),r}),size:m(qm,t)}}},calendar:function(t){var e=t.getRect(),i=t.getRangeInfo();return{coordSys:{type:"calendar",x:e.x,y:e.y,width:e.width,height:e.height,cellWidth:t.getCellWidth(),cellHeight:t.getCellHeight(),rangeInfo:{start:i.start,end:i.end,weeks:i.weeks,dayCount:i.allDay}},api:{coord:function(e,i){return t.dataToPoint(e,i)}}}}};YI.extend({type:"series.custom",dependencies:["grid","polar","geo","singleAxis","calendar"],defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,useTransform:!0},getInitialData:function(t,e){return ml(this.getSource(),this)},getDataParams:function(t,e,i){var n=YI.prototype.getDataParams.apply(this,arguments);return i&&(n.info=i.info),n}}),Ar.extend({type:"custom",_data:null,render:function(t,e,i,n){var o=this._data,a=t.getData(),r=this.group,s=Qm(t,a,e,i);a.diff(o).add(function(e){ev(null,e,s(e,n),t,r,a)}).update(function(e,i){ev(o.getItemGraphicEl(i),e,s(e,n),t,r,a)}).remove(function(t){var e=o.getItemGraphicEl(t);e&&r.remove(e)}).execute(),this._data=a},incrementalPrepareRender:function(t,e,i){this.group.removeAll(),this._data=null},incrementalRender:function(t,e,i,n,o){for(var a=e.getData(),r=Qm(e,a,i,n),s=t.start;s=0;l--)null==o[l]?o.splice(l,1):delete o[l].$action},_flatten:function(t,e,i){d(t,function(t){if(t){i&&(t.parentOption=i),e.push(t);var n=t.children;"group"===t.type&&n&&this._flatten(n,e,t),delete t.children}},this)},useElOptionsToUpdate:function(){var t=this._elOptionsToUpdate;return this._elOptionsToUpdate=null,t}});Ws({type:"graphic",init:function(t,e){this._elMap=R(),this._lastGraphicModel},render:function(t,e,i){t!==this._lastGraphicModel&&this._clear(),this._lastGraphicModel=t,this._updateElements(t),this._relocate(t,i)},_updateElements:function(t){var e=t.useElOptionsToUpdate();if(e){var i=this._elMap,n=this.group;d(e,function(e){var o=e.$action,a=e.id,r=i.get(a),s=e.parentId,l=null!=s?i.get(s):n,u=e.style;"text"===e.type&&u&&(e.hv&&e.hv[1]&&(u.textVerticalAlign=u.textBaseline=null),!u.hasOwnProperty("textFill")&&u.fill&&(u.textFill=u.fill),!u.hasOwnProperty("textStroke")&&u.stroke&&(u.textStroke=u.stroke));var h=fv(e);o&&"merge"!==o?"replace"===o?(dv(r,i),cv(a,l,h,i)):"remove"===o&&dv(r,i):r?r.attr(h):cv(a,l,h,i);var c=i.get(a);c&&(c.__ecGraphicWidth=e.width,c.__ecGraphicHeight=e.height,yv(c,t))})}},_relocate:function(t,e){for(var i=t.option.elements,n=this.group,o=this._elMap,a=i.length-1;a>=0;a--){var r=i[a],s=o.get(r.id);if(s){var l=s.parent;da(s,r,l===n?{width:e.getWidth(),height:e.getHeight()}:{width:l.__ecGraphicWidth||0,height:l.__ecGraphicHeight||0},null,{hv:r.hv,boundingMode:r.bounding})}}},_clear:function(){var t=this._elMap;t.each(function(e){dv(e,t)}),this._elMap=R()},dispose:function(){this._clear()}});var KP=Fs({type:"legend.plain",dependencies:["series"],layoutMode:{type:"box",ignoreSize:!0},init:function(t,e,i){this.mergeDefaultAndTheme(t,i),t.selected=t.selected||{}},mergeOption:function(t){KP.superCall(this,"mergeOption",t)},optionUpdated:function(){this._updateData(this.ecModel);var t=this._data;if(t[0]&&"single"===this.get("selectedMode")){for(var e=!1,i=0;i=0},defaultOption:{zlevel:0,z:4,show:!0,orient:"horizontal",left:"center",top:0,align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,inactiveColor:"#ccc",textStyle:{color:"#333"},selectedMode:!0,tooltip:{show:!1}}});Es("legendToggleSelect","legendselectchanged",v(xv,"toggleSelected")),Es("legendSelect","legendselected",v(xv,"select")),Es("legendUnSelect","legendunselected",v(xv,"unSelect"));var $P=v,JP=d,QP=tb,tN=Ws({type:"legend.plain",newlineDisabled:!1,init:function(){this.group.add(this._contentGroup=new QP),this._backgroundEl,this._isFirstRender=!0},getContentGroup:function(){return this._contentGroup},render:function(t,e,i){var n=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),t.get("show",!0)){var o=t.get("align");o&&"auto"!==o||(o="right"===t.get("left")&&"vertical"===t.get("orient")?"right":"left"),this.renderInner(o,t,e,i);var a=t.getBoxLayoutParams(),s={width:i.getWidth(),height:i.getHeight()},l=t.get("padding"),u=ca(a,s,l),h=this.layoutInner(t,o,u,n),c=ca(r({width:h.width,height:h.height},a),s,l);this.group.attr("position",[c.x-h.x,c.y-h.y]),this.group.add(this._backgroundEl=wv(h,t))}},resetInner:function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl)},renderInner:function(t,e,i,n){var o=this.getContentGroup(),a=R(),r=e.get("selectedMode"),s=[];i.eachRawSeries(function(t){!t.get("legendHoverLink")&&s.push(t.id)}),JP(e.getData(),function(l,u){var h=l.get("name");if(this.newlineDisabled||""!==h&&"\n"!==h){var c=i.getSeriesByName(h)[0];if(!a.get(h))if(c){var d=c.getData(),f=d.getVisual("color");"function"==typeof f&&(f=f(c.getDataParams(0)));var p=d.getVisual("legendSymbol")||"roundRect",g=d.getVisual("symbol");this._createItem(h,u,l,e,p,g,t,f,r).on("click",$P(bv,h,n)).on("mouseover",$P(Sv,c.name,null,n,s)).on("mouseout",$P(Mv,c.name,null,n,s)),a.set(h,!0)}else i.eachRawSeries(function(i){if(!a.get(h)&&i.legendDataProvider){var o=i.legendDataProvider(),c=o.indexOfName(h);if(c<0)return;var d=o.getItemVisual(c,"color");this._createItem(h,u,l,e,"roundRect",null,t,d,r).on("click",$P(bv,h,n)).on("mouseover",$P(Sv,null,h,n,s)).on("mouseout",$P(Mv,null,h,n,s)),a.set(h,!0)}},this)}else o.add(new QP({newline:!0}))},this)},_createItem:function(t,e,i,n,o,r,s,l,u){var h=n.get("itemWidth"),c=n.get("itemHeight"),d=n.get("inactiveColor"),f=n.get("symbolKeepAspect"),p=n.isSelected(t),g=new QP,m=i.getModel("textStyle"),v=i.get("icon"),y=i.getModel("tooltip"),x=y.parentModel;if(o=v||o,g.add(Jl(o,0,0,h,c,p?l:d,null==f||f)),!v&&r&&(r!==o||"none"===r)){var _=.8*c;"none"===r&&(r="circle"),g.add(Jl(r,(h-_)/2,(c-_)/2,_,_,p?l:d,null==f||f))}var w="left"===s?h+5:-5,b=s,S=n.get("formatter"),M=t;"string"==typeof S&&S?M=S.replace("{name}",null!=t?t:""):"function"==typeof S&&(M=S(t)),g.add(new rM({style:mo({},m,{text:M,x:w,y:c/2,textFill:p?m.getTextColor():d,textAlign:b,textVerticalAlign:"middle"})}));var I=new yM({shape:g.getBoundingRect(),invisible:!0,tooltip:y.get("show")?a({content:t,formatter:x.get("formatter",!0)||function(){return t},formatterParams:{componentType:"legend",legendIndex:n.componentIndex,name:t,$vars:["name"]}},y.option):null});return g.add(I),g.eachChild(function(t){t.silent=!0}),I.silent=!u,this.getContentGroup().add(g),fo(g),g.__legendDataIndex=e,g},layoutInner:function(t,e,i){var n=this.getContentGroup();aI(t.get("orient"),n,t.get("itemGap"),i.width,i.height);var o=n.getBoundingRect();return n.attr("position",[-o.x,-o.y]),this.group.getBoundingRect()},remove:function(){this.getContentGroup().removeAll(),this._isFirstRender=!0}});Os(function(t){var e=t.findComponents({mainType:"legend"});e&&e.length&&t.filterSeries(function(t){for(var i=0;ii[l],p=[-c.x,-c.y];n||(p[s]=o.position[s]);var g=[0,0],m=[-d.x,-d.y],v=A(t.get("pageButtonGap",!0),t.get("itemGap",!0));f&&("end"===t.get("pageButtonPosition",!0)?m[s]+=i[l]-d[l]:g[s]+=d[l]+v),m[1-s]+=c[u]/2-d[u]/2,o.attr("position",p),a.attr("position",g),r.attr("position",m);var y=this.group.getBoundingRect();if((y={x:0,y:0})[l]=f?i[l]:c[l],y[u]=Math.max(c[u],d[u]),y[h]=Math.min(0,d[h]+m[1-s]),a.__rectSize=i[l],f){var x={x:0,y:0};x[l]=Math.max(i[l]-d[l]-v,0),x[u]=y[u],a.setClipPath(new yM({shape:x})),a.__rectSize=x[l]}else r.eachChild(function(t){t.attr({invisible:!0,silent:!0})});var _=this._getPageInfo(t);return null!=_.pageIndex&&Io(o,{position:_.contentPosition},!!f&&t),this._updatePageInfoView(t,_),y},_pageGo:function(t,e,i){var n=this._getPageInfo(e)[t];null!=n&&i.dispatchAction({type:"legendScroll",scrollDataIndex:n,legendId:e.id})},_updatePageInfoView:function(t,e){var i=this._controllerGroup;d(["pagePrev","pageNext"],function(n){var o=null!=e[n+"DataIndex"],a=i.childOfName(n);a&&(a.setStyle("fill",o?t.get("pageIconColor",!0):t.get("pageIconInactiveColor",!0)),a.cursor=o?"pointer":"default")});var n=i.childOfName("pageText"),o=t.get("pageFormatter"),a=e.pageIndex,r=null!=a?a+1:0,s=e.pageCount;n&&o&&n.setStyle("text",_(o)?o.replace("{current}",r).replace("{total}",s):o({current:r,total:s}))},_getPageInfo:function(t){function e(t){if(t){var e=t.getBoundingRect(),i=e[l]+t.position[r];return{s:i,e:i+e[s],i:t.__legendDataIndex}}}function i(t,e){return t.e>=e&&t.s<=e+a}var n=t.get("scrollDataIndex",!0),o=this.getContentGroup(),a=this._containerGroup.__rectSize,r=t.getOrient().index,s=nN[r],l=oN[r],u=this._findTargetItemIndex(n),h=o.children(),c=h[u],d=h.length,f=d?1:0,p={contentPosition:o.position.slice(),pageCount:f,pageIndex:f-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!c)return p;var g=e(c);p.contentPosition[r]=-g.s;for(var m=u+1,v=g,y=g,x=null;m<=d;++m)(!(x=e(h[m]))&&y.e>v.s+a||x&&!i(x,v.s))&&(v=y.i>v.i?y:x)&&(null==p.pageNextDataIndex&&(p.pageNextDataIndex=v.i),++p.pageCount),y=x;for(var m=u-1,v=g,y=g,x=null;m>=-1;--m)(x=e(h[m]))&&i(y,x.s)||!(v.i=0;){var r=o.indexOf("|}"),s=o.substr(a+"{marker".length,r-a-"{marker".length);s.indexOf("sub")>-1?n["marker"+s]={textWidth:4,textHeight:4,textBorderRadius:2,textBackgroundColor:e[s],textOffset:[3,0]}:n["marker"+s]={textWidth:10,textHeight:10,textBorderRadius:5,textBackgroundColor:e[s]},a=(o=o.substr(r+1)).indexOf("{marker")}this.el=new rM({style:{rich:n,text:t,textLineHeight:20,textBackgroundColor:i.get("backgroundColor"),textBorderRadius:i.get("borderRadius"),textFill:i.get("textStyle.color"),textPadding:i.get("padding")},z:i.get("z")}),this._zr.add(this.el);var l=this;this.el.on("mouseover",function(){l._enterable&&(clearTimeout(l._hideTimeout),l._show=!0),l._inContent=!0}),this.el.on("mouseout",function(){l._enterable&&l._show&&l.hideLater(l._hideDelay),l._inContent=!1})},setEnterable:function(t){this._enterable=t},getSize:function(){var t=this.el.getBoundingRect();return[t.width,t.height]},moveTo:function(t,e){this.el&&this.el.attr("position",[t,e])},hide:function(){this.el?this.el.hide():true,this._show=!1},hideLater:function(t){!this._show||this._inContent&&this._enterable||(t?(this._hideDelay=t,this._show=!1,this._hideTimeout=setTimeout(m(this.hide,this),t)):this.hide())},isShow:function(){return this._show},getOuterSize:function(){return this.getSize()}};var uN=m,hN=d,cN=Vo,dN=new yM({shape:{x:-1,y:-1,width:2,height:2}});Ws({type:"tooltip",init:function(t,e){if(!U_.node){var i=t.getComponent("tooltip").get("renderMode");this._renderMode=Hi(i);var n;"html"===this._renderMode?(n=new Cv(e.getDom(),e),this._newLine="
    "):(n=new Lv(e),this._newLine="\n"),this._tooltipContent=n}},render:function(t,e,i){if(!U_.node){this.group.removeAll(),this._tooltipModel=t,this._ecModel=e,this._api=i,this._lastDataByCoordSys=null,this._alwaysShowContent=t.get("alwaysShowContent");var n=this._tooltipContent;n.update(),n.setEnterable(t.get("enterable")),this._initGlobalListener(),this._keepShow()}},_initGlobalListener:function(){var t=this._tooltipModel.get("triggerOn");um("itemTooltip",this._api,uN(function(e,i,n){"none"!==t&&(t.indexOf(e)>=0?this._tryShow(i,n):"leave"===e&&this._hide(n))},this))},_keepShow:function(){var t=this._tooltipModel,e=this._ecModel,i=this._api;if(null!=this._lastX&&null!=this._lastY&&"none"!==t.get("triggerOn")){var n=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){n.manuallyShowTip(t,e,i,{x:n._lastX,y:n._lastY})})}},manuallyShowTip:function(t,e,i,n){if(n.from!==this.uid&&!U_.node){var o=Pv(n,i);this._ticket="";var a=n.dataByCoordSys;if(n.tooltip&&null!=n.x&&null!=n.y){var r=dN;r.position=[n.x,n.y],r.update(),r.tooltip=n.tooltip,this._tryShow({offsetX:n.x,offsetY:n.y,target:r},o)}else if(a)this._tryShow({offsetX:n.x,offsetY:n.y,position:n.position,event:{},dataByCoordSys:n.dataByCoordSys,tooltipOption:n.tooltipOption},o);else if(null!=n.seriesIndex){if(this._manuallyAxisShowTip(t,e,i,n))return;var s=xP(n,e),l=s.point[0],u=s.point[1];null!=l&&null!=u&&this._tryShow({offsetX:l,offsetY:u,position:n.position,target:s.el,event:{}},o)}else null!=n.x&&null!=n.y&&(i.dispatchAction({type:"updateAxisPointer",x:n.x,y:n.y}),this._tryShow({offsetX:n.x,offsetY:n.y,position:n.position,target:i.getZr().findHover(n.x,n.y).target,event:{}},o))}},manuallyHideTip:function(t,e,i,n){var o=this._tooltipContent;!this._alwaysShowContent&&this._tooltipModel&&o.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=null,n.from!==this.uid&&this._hide(Pv(n,i))},_manuallyAxisShowTip:function(t,e,i,n){var o=n.seriesIndex,a=n.dataIndex,r=e.getComponent("axisPointer").coordSysAxesInfo;if(null!=o&&null!=a&&null!=r){var s=e.getSeriesByIndex(o);if(s&&"axis"===(t=kv([s.getData().getItemModel(a),s,(s.coordinateSystem||{}).model,t])).get("trigger"))return i.dispatchAction({type:"updateAxisPointer",seriesIndex:o,dataIndex:a,position:n.position}),!0}},_tryShow:function(t,e){var i=t.target;if(this._tooltipModel){this._lastX=t.offsetX,this._lastY=t.offsetY;var n=t.dataByCoordSys;n&&n.length?this._showAxisTooltip(n,t):i&&null!=i.dataIndex?(this._lastDataByCoordSys=null,this._showSeriesItemTooltip(t,i,e)):i&&i.tooltip?(this._lastDataByCoordSys=null,this._showComponentItemTooltip(t,i,e)):(this._lastDataByCoordSys=null,this._hide(e))}},_showOrMove:function(t,e){var i=t.get("showDelay");e=m(e,this),clearTimeout(this._showTimout),i>0?this._showTimout=setTimeout(e,i):e()},_showAxisTooltip:function(t,e){var i=this._ecModel,o=this._tooltipModel,a=[e.offsetX,e.offsetY],r=[],s=[],l=kv([e.tooltipOption,o]),u=this._renderMode,h=this._newLine,c={};hN(t,function(t){hN(t.dataByAxis,function(t){var e=i.getComponent(t.axisDim+"Axis",t.axisIndex),o=t.value,a=[];if(e&&null!=o){var l=Im(o,e.axis,i,t.seriesDataIndices,t.valueLabelOpt);d(t.seriesDataIndices,function(r){var h=i.getSeriesByIndex(r.seriesIndex),d=r.dataIndexInside,f=h&&h.getDataParams(d);if(f.axisDim=t.axisDim,f.axisIndex=t.axisIndex,f.axisType=t.axisType,f.axisId=t.axisId,f.axisValue=Xl(e.axis,o),f.axisValueLabel=l,f){s.push(f);var p,g=h.formatTooltip(d,!0,null,u);if(w(g)){p=g.html;var m=g.markers;n(c,m)}else p=g;a.push(p)}});var f=l;"html"!==u?r.push(a.join(h)):r.push((f?ia(f)+h:"")+a.join(h))}})},this),r.reverse(),r=r.join(this._newLine+this._newLine);var f=e.position;this._showOrMove(l,function(){this._updateContentNotChangedOnAxis(t)?this._updatePosition(l,f,a[0],a[1],this._tooltipContent,s):this._showTooltipContent(l,r,s,Math.random(),a[0],a[1],f,void 0,c)})},_showSeriesItemTooltip:function(t,e,i){var n=this._ecModel,o=e.seriesIndex,a=n.getSeriesByIndex(o),r=e.dataModel||a,s=e.dataIndex,l=e.dataType,u=r.getData(),h=kv([u.getItemModel(s),r,a&&(a.coordinateSystem||{}).model,this._tooltipModel]),c=h.get("trigger");if(null==c||"item"===c){var d,f,p=r.getDataParams(s,l),g=r.formatTooltip(s,!1,l,this._renderMode);w(g)?(d=g.html,f=g.markers):(d=g,f=null);var m="item_"+r.name+"_"+s;this._showOrMove(h,function(){this._showTooltipContent(h,d,p,m,t.offsetX,t.offsetY,t.position,t.target,f)}),i({type:"showTip",dataIndexInside:s,dataIndex:u.getRawIndex(s),seriesIndex:o,from:this.uid})}},_showComponentItemTooltip:function(t,e,i){var n=e.tooltip;if("string"==typeof n){var o=n;n={content:o,formatter:o}}var a=new No(n,this._tooltipModel,this._ecModel),r=a.get("content"),s=Math.random();this._showOrMove(a,function(){this._showTooltipContent(a,r,a.get("formatterParams")||{},s,t.offsetX,t.offsetY,t.position,e)}),i({type:"showTip",from:this.uid})},_showTooltipContent:function(t,e,i,n,o,a,r,s,l){if(this._ticket="",t.get("showContent")&&t.get("show")){var u=this._tooltipContent,h=t.get("formatter");r=r||t.get("position");var c=e;if(h&&"string"==typeof h)c=na(h,i,!0);else if("function"==typeof h){var d=uN(function(e,n){e===this._ticket&&(u.setContent(n,l,t),this._updatePosition(t,r,o,a,u,i,s))},this);this._ticket=n,c=h(i,n,d)}u.setContent(c,l,t),u.show(t),this._updatePosition(t,r,o,a,u,i,s)}},_updatePosition:function(t,e,i,n,o,a,r){var s=this._api.getWidth(),l=this._api.getHeight();e=e||t.get("position");var u=o.getSize(),h=t.get("align"),c=t.get("verticalAlign"),d=r&&r.getBoundingRect().clone();if(r&&d.applyTransform(r.transform),"function"==typeof e&&(e=e([i,n],a,o.el,d,{viewSize:[s,l],contentSize:u.slice()})),y(e))i=cN(e[0],s),n=cN(e[1],l);else if(w(e)){e.width=u[0],e.height=u[1];var f=ca(e,{width:s,height:l});i=f.x,n=f.y,h=null,c=null}else"string"==typeof e&&r?(i=(p=Ev(e,d,u))[0],n=p[1]):(i=(p=Nv(i,n,o,s,l,h?null:20,c?null:20))[0],n=p[1]);if(h&&(i-=Rv(h)?u[0]/2:"right"===h?u[0]:0),c&&(n-=Rv(c)?u[1]/2:"bottom"===c?u[1]:0),t.get("confine")){var p=Ov(i,n,o,s,l);i=p[0],n=p[1]}o.moveTo(i,n)},_updateContentNotChangedOnAxis:function(t){var e=this._lastDataByCoordSys,i=!!e&&e.length===t.length;return i&&hN(e,function(e,n){var o=e.dataByAxis||{},a=(t[n]||{}).dataByAxis||[];(i&=o.length===a.length)&&hN(o,function(t,e){var n=a[e]||{},o=t.seriesDataIndices||[],r=n.seriesDataIndices||[];(i&=t.value===n.value&&t.axisType===n.axisType&&t.axisId===n.axisId&&o.length===r.length)&&hN(o,function(t,e){var n=r[e];i&=t.seriesIndex===n.seriesIndex&&t.dataIndex===n.dataIndex})})}),this._lastDataByCoordSys=t,!!i},_hide:function(t){this._lastDataByCoordSys=null,t({type:"hideTip",from:this.uid})},dispose:function(t,e){U_.node||(this._tooltipContent.hide(),gm("itemTooltip",e))}}),Es({type:"showTip",event:"showTip",update:"tooltip:manuallyShowTip"},function(){}),Es({type:"hideTip",event:"hideTip",update:"tooltip:manuallyHideTip"},function(){}),Gv.prototype={constructor:Gv,pointToData:function(t,e){return this.polar.pointToData(t,e)["radius"===this.dim?0:1]},dataToRadius:aD.prototype.dataToCoord,radiusToData:aD.prototype.coordToData},u(Gv,aD);var fN=Bi();Fv.prototype={constructor:Fv,pointToData:function(t,e){return this.polar.pointToData(t,e)["radius"===this.dim?0:1]},dataToAngle:aD.prototype.dataToCoord,angleToData:aD.prototype.coordToData,calculateCategoryInterval:function(){var t=this,e=t.getLabelModel(),i=t.scale,n=i.getExtent(),o=i.count();if(n[1]-n[0]<1)return 0;var a=n[0],r=t.dataToCoord(a+1)-t.dataToCoord(a),s=Math.abs(r),l=ke(a,e.getFont(),"center","top"),u=Math.max(l.height,7)/s;isNaN(u)&&(u=1/0);var h=Math.max(0,Math.floor(u)),c=fN(t.model),d=c.lastAutoInterval,f=c.lastTickCount;return null!=d&&null!=f&&Math.abs(d-h)<=1&&Math.abs(f-o)<=1&&d>h?h=d:(c.lastTickCount=o,c.lastAutoInterval=h),h}},u(Fv,aD);var pN=function(t){this.name=t||"",this.cx=0,this.cy=0,this._radiusAxis=new Gv,this._angleAxis=new Fv,this._radiusAxis.polar=this._angleAxis.polar=this};pN.prototype={type:"polar",axisPointerEnabled:!0,constructor:pN,dimensions:["radius","angle"],model:null,containPoint:function(t){var e=this.pointToCoord(t);return this._radiusAxis.contain(e[0])&&this._angleAxis.contain(e[1])},containData:function(t){return this._radiusAxis.containData(t[0])&&this._angleAxis.containData(t[1])},getAxis:function(t){return this["_"+t+"Axis"]},getAxes:function(){return[this._radiusAxis,this._angleAxis]},getAxesByScale:function(t){var e=[],i=this._angleAxis,n=this._radiusAxis;return i.scale.type===t&&e.push(i),n.scale.type===t&&e.push(n),e},getAngleAxis:function(){return this._angleAxis},getRadiusAxis:function(){return this._radiusAxis},getOtherAxis:function(t){var e=this._angleAxis;return t===e?this._radiusAxis:e},getBaseAxis:function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAngleAxis()},getTooltipAxes:function(t){var e=null!=t&&"auto"!==t?this.getAxis(t):this.getBaseAxis();return{baseAxes:[e],otherAxes:[this.getOtherAxis(e)]}},dataToPoint:function(t,e){return this.coordToPoint([this._radiusAxis.dataToRadius(t[0],e),this._angleAxis.dataToAngle(t[1],e)])},pointToData:function(t,e){var i=this.pointToCoord(t);return[this._radiusAxis.radiusToData(i[0],e),this._angleAxis.angleToData(i[1],e)]},pointToCoord:function(t){var e=t[0]-this.cx,i=t[1]-this.cy,n=this.getAngleAxis(),o=n.getExtent(),a=Math.min(o[0],o[1]),r=Math.max(o[0],o[1]);n.inverse?a=r-360:r=a+360;var s=Math.sqrt(e*e+i*i);e/=s,i/=s;for(var l=Math.atan2(-i,e)/Math.PI*180,u=lr;)l+=360*u;return[s,l]},coordToPoint:function(t){var e=t[0],i=t[1]/180*Math.PI;return[Math.cos(i)*e+this.cx,-Math.sin(i)*e+this.cy]}};var gN=lI.extend({type:"polarAxis",axis:null,getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"polar",index:this.option.polarIndex,id:this.option.polarId})[0]}});n(gN.prototype,UA);var mN={angle:{startAngle:90,clockwise:!0,splitNumber:12,axisLabel:{rotate:!1}},radius:{splitNumber:5}};ED("angle",gN,Wv,mN.angle),ED("radius",gN,Wv,mN.radius),Fs({type:"polar",dependencies:["polarAxis","angleAxis"],coordinateSystem:null,findAxisModel:function(t){var e;return this.ecModel.eachComponent(t,function(t){t.getCoordSysModel()===this&&(e=t)},this),e},defaultOption:{zlevel:0,z:0,center:["50%","50%"],radius:"80%"}});var vN={dimensions:pN.prototype.dimensions,create:function(t,e){var i=[];return t.eachComponent("polar",function(t,n){var o=new pN(n);o.update=Zv;var a=o.getRadiusAxis(),r=o.getAngleAxis(),s=t.findAxisModel("radiusAxis"),l=t.findAxisModel("angleAxis");Uv(a,s),Uv(r,l),Hv(o,t,e),i.push(o),t.coordinateSystem=o,o.model=t}),t.eachSeries(function(e){if("polar"===e.get("coordinateSystem")){var i=t.queryComponents({mainType:"polar",index:e.get("polarIndex"),id:e.get("polarId")})[0];e.coordinateSystem=i.coordinateSystem}}),i}};Fa.register("polar",vN);var yN=["axisLine","axisLabel","axisTick","splitLine","splitArea"];XD.extend({type:"angleAxis",axisPointerClass:"PolarAxisPointer",render:function(t,e){if(this.group.removeAll(),t.get("show")){var n=t.axis,o=n.polar,a=o.getRadiusAxis().getExtent(),r=n.getTicksCoords(),s=f(n.getViewLabels(),function(t){return(t=i(t)).coord=n.dataToCoord(t.tickValue),t});Yv(s),Yv(r),d(yN,function(e){!t.get(e+".show")||n.scale.isBlank()&&"axisLine"!==e||this["_"+e](t,o,r,a,s)},this)}},_axisLine:function(t,e,i,n){var o=t.getModel("axisLine.lineStyle"),a=new sM({shape:{cx:e.cx,cy:e.cy,r:n[jv(e)]},style:o.getLineStyle(),z2:1,silent:!0});a.style.fill=null,this.group.add(a)},_axisTick:function(t,e,i,n){var o=t.getModel("axisTick"),a=(o.get("inside")?-1:1)*o.get("length"),s=n[jv(e)],l=f(i,function(t){return new _M({shape:Xv(e,[s,s+a],t.coord)})});this.group.add(OM(l,{style:r(o.getModel("lineStyle").getLineStyle(),{stroke:t.get("axisLine.lineStyle.color")})}))},_axisLabel:function(t,e,i,n,o){var a=t.getCategories(!0),r=t.getModel("axisLabel"),s=r.get("margin");d(o,function(i,o){var l=r,u=i.tickValue,h=n[jv(e)],c=e.coordToPoint([h+s,i.coord]),d=e.cx,f=e.cy,p=Math.abs(c[0]-d)/h<.3?"center":c[0]>d?"left":"right",g=Math.abs(c[1]-f)/h<.3?"middle":c[1]>f?"top":"bottom";a&&a[u]&&a[u].textStyle&&(l=new No(a[u].textStyle,r,r.ecModel));var m=new rM({silent:!0});this.group.add(m),mo(m.style,l,{x:c[0],y:c[1],textFill:l.getTextColor()||t.get("axisLine.lineStyle.color"),text:i.formattedLabel,textAlign:p,textVerticalAlign:g})},this)},_splitLine:function(t,e,i,n){var o=t.getModel("splitLine").getModel("lineStyle"),a=o.get("color"),s=0;a=a instanceof Array?a:[a];for(var l=[],u=0;u=0?"p":"n",M=y;v&&(n[r][b]||(n[r][b]={p:y,n:y}),M=n[r][b][S]);var I,T,A,D;if("radius"===h.dim){var C=h.dataToRadius(w)-y,L=a.dataToAngle(b);Math.abs(C)=0},kN.findTargetInfo=function(t,e){for(var i=this._targetInfoList,n=dy(e,t),o=0;o=0||AN(n,t.getAxis("y").model)>=0)&&a.push(t)}),e.push({panelId:"grid--"+t.id,gridModel:t,coordSysModel:t,coordSys:a[0],coordSyses:a,getPanelRect:ON.grid,xAxisDeclared:r[t.id],yAxisDeclared:s[t.id]})}))},geo:function(t,e){TN(t.geoModels,function(t){var i=t.coordinateSystem;e.push({panelId:"geo--"+t.id,geoModel:t,coordSysModel:t,coordSys:i,coordSyses:[i],getPanelRect:ON.geo})})}},NN=[function(t,e){var i=t.xAxisModel,n=t.yAxisModel,o=t.gridModel;return!o&&i&&(o=i.axis.grid.model),!o&&n&&(o=n.axis.grid.model),o&&o===e.gridModel},function(t,e){var i=t.geoModel;return i&&i===e.geoModel}],ON={grid:function(){return this.coordSys.grid.getRect().clone()},geo:function(){var t=this.coordSys,e=t.getBoundingRect().clone();return e.applyTransform(Ao(t)),e}},EN={lineX:DN(fy,0),lineY:DN(fy,1),rect:function(t,e,i){var n=e[CN[t]]([i[0][0],i[1][0]]),o=e[CN[t]]([i[0][1],i[1][1]]),a=[cy([n[0],o[0]]),cy([n[1],o[1]])];return{values:a,xyMinMax:a}},polygon:function(t,e,i){var n=[[1/0,-1/0],[1/0,-1/0]];return{values:f(i,function(i){var o=e[CN[t]](i);return n[0][0]=Math.min(n[0][0],o[0]),n[1][0]=Math.min(n[1][0],o[1]),n[0][1]=Math.max(n[0][1],o[0]),n[1][1]=Math.max(n[1][1],o[1]),o}),xyMinMax:n}}},RN={lineX:DN(py,0),lineY:DN(py,1),rect:function(t,e,i){return[[t[0][0]-i[0]*e[0][0],t[0][1]-i[0]*e[0][1]],[t[1][0]-i[1]*e[1][0],t[1][1]-i[1]*e[1][1]]]},polygon:function(t,e,i){return f(t,function(t,n){return[t[0]-i[0]*e[n][0],t[1]-i[1]*e[n][1]]})}},zN=["inBrush","outOfBrush"],BN="__ecBrushSelect",VN="__ecInBrushSelectEvent",GN=VT.VISUAL.BRUSH;zs(GN,function(t,e,i){t.eachComponent({mainType:"brush"},function(e){i&&"takeGlobalCursor"===i.type&&e.setBrushOption("brush"===i.key?i.brushOption:{brushType:!1}),(e.brushTargetManager=new hy(e.option,t)).setInputRanges(e.areas,t)})}),Bs(GN,function(t,e,n){var o,a,s=[];t.eachComponent({mainType:"brush"},function(e,n){function l(t){return"all"===m||v[t]}function u(t){return!!t.length}function h(t,e){var i=t.coordinateSystem;w|=i.hasAxisBrushed(),l(e)&&i.eachActiveState(t.getData(),function(t,e){"active"===t&&(x[e]=1)})}function c(i,n,o){var a=_y(i);if(a&&!wy(e,n)&&(d(b,function(n){a[n.brushType]&&e.brushTargetManager.controlSeries(n,i,t)&&o.push(n),w|=u(o)}),l(n)&&u(o))){var r=i.getData();r.each(function(t){xy(a,o,r,t)&&(x[t]=1)})}}var p={brushId:e.id,brushIndex:n,brushName:e.name,areas:i(e.areas),selected:[]};s.push(p);var g=e.option,m=g.brushLink,v=[],x=[],_=[],w=0;n||(o=g.throttleType,a=g.throttleDelay);var b=f(e.areas,function(t){return by(r({boundingRect:FN[t.brushType](t)},t))}),S=ty(e.option,zN,function(t){t.mappingMethod="fixed"});y(m)&&d(m,function(t){v[t]=1}),t.eachSeries(function(t,e){var i=_[e]=[];"parallel"===t.subType?h(t,e):c(t,e,i)}),t.eachSeries(function(t,e){var i={seriesId:t.id,seriesIndex:e,seriesName:t.name,dataIndex:[]};p.selected.push(i);var n=_y(t),o=_[e],a=t.getData(),r=l(e)?function(t){return x[t]?(i.dataIndex.push(a.getRawIndex(t)),"inBrush"):"outOfBrush"}:function(t){return xy(n,o,a,t)?(i.dataIndex.push(a.getRawIndex(t)),"inBrush"):"outOfBrush"};(l(e)?w:u(o))&&iy(zN,S,a,r)})}),vy(e,o,a,s,n)});var FN={lineX:B,lineY:B,rect:function(t){return Sy(t.range)},polygon:function(t){for(var e,i=t.range,n=0,o=i.length;ne[0][1]&&(e[0][1]=a[0]),a[1]e[1][1]&&(e[1][1]=a[1])}return e&&Sy(e)}},WN=["#ddd"];Fs({type:"brush",dependencies:["geo","grid","xAxis","yAxis","parallel","series"],defaultOption:{toolbox:null,brushLink:null,seriesIndex:"all",geoIndex:null,xAxisIndex:null,yAxisIndex:null,brushType:"rect",brushMode:"single",transformable:!0,brushStyle:{borderWidth:1,color:"rgba(120,140,180,0.3)",borderColor:"rgba(120,140,180,0.8)"},throttleType:"fixRate",throttleDelay:0,removeOnClick:!0,z:1e4},areas:[],brushType:null,brushOption:{},coordInfoList:[],optionUpdated:function(t,e){var i=this.option;!e&&ey(i,t,["inBrush","outOfBrush"]);var n=i.inBrush=i.inBrush||{};i.outOfBrush=i.outOfBrush||{color:WN},n.hasOwnProperty("liftZ")||(n.liftZ=5)},setAreas:function(t){t&&(this.areas=f(t,function(t){return My(this.option,t)},this))},setBrushOption:function(t){this.brushOption=My(this.option,t),this.brushType=this.brushOption.brushType}});Ws({type:"brush",init:function(t,e){this.ecModel=t,this.api=e,this.model,(this._brushController=new zf(e.getZr())).on("brush",m(this._onBrush,this)).mount()},render:function(t){return this.model=t,Iy.apply(this,arguments)},updateTransform:Iy,updateView:Iy,dispose:function(){this._brushController.dispose()},_onBrush:function(t,e){var n=this.model.id;this.model.brushTargetManager.setOutputRanges(t,this.ecModel),(!e.isEnd||e.removeOnClick)&&this.api.dispatchAction({type:"brush",brushId:n,areas:i(t),$from:n})}}),Es({type:"brush",event:"brush"},function(t,e){e.eachComponent({mainType:"brush",query:t},function(e){e.setAreas(t.areas)})}),Es({type:"brushSelect",event:"brushSelected",update:"none"},function(){});var HN={},ZN=rT.toolbox.brush;Dy.defaultOption={show:!0,type:["rect","polygon","lineX","lineY","keep","clear"],icon:{rect:"M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13",polygon:"M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2",lineX:"M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4",lineY:"M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4",keep:"M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z",clear:"M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2"},title:i(ZN.title)};var UN=Dy.prototype;UN.render=UN.updateView=function(t,e,i){var n,o,a;e.eachComponent({mainType:"brush"},function(t){n=t.brushType,o=t.brushOption.brushMode||"single",a|=t.areas.length}),this._brushType=n,this._brushMode=o,d(t.get("type",!0),function(e){t.setIconStatus(e,("keep"===e?"multiple"===o:"clear"===e?a:e===n)?"emphasis":"normal")})},UN.getIcons=function(){var t=this.model,e=t.get("icon",!0),i={};return d(t.get("type",!0),function(t){e[t]&&(i[t]=e[t])}),i},UN.onclick=function(t,e,i){var n=this._brushType,o=this._brushMode;"clear"===i?(e.dispatchAction({type:"axisAreaSelect",intervals:[]}),e.dispatchAction({type:"brush",command:"clear",areas:[]})):e.dispatchAction({type:"takeGlobalCursor",key:"brush",brushOption:{brushType:"keep"===i?n:n!==i&&i,brushMode:"keep"===i?"multiple"===o?"single":"multiple":o}})},Ty("brush",Dy),Ns(function(t,e){var i=t&&t.brush;if(y(i)||(i=i?[i]:[]),i.length){var n=[];d(i,function(t){var e=t.hasOwnProperty("toolbox")?t.toolbox:[];e instanceof Array&&(n=n.concat(e))});var o=t&&t.toolbox;y(o)&&(o=o[0]),o||(o={feature:{}},t.toolbox=[o]);var a=o.feature||(o.feature={}),r=a.brush||(a.brush={}),s=r.type||(r.type=[]);s.push.apply(s,n),Jv(s),e&&!s.length&&s.push.apply(s,SN)}});Cy.prototype={constructor:Cy,type:"calendar",dimensions:["time","value"],getDimensionsInfo:function(){return[{name:"time",type:"time"},"value"]},getRangeInfo:function(){return this._rangeInfo},getModel:function(){return this._model},getRect:function(){return this._rect},getCellWidth:function(){return this._sw},getCellHeight:function(){return this._sh},getOrient:function(){return this._orient},getFirstDayOfWeek:function(){return this._firstDayOfWeek},getDateInfo:function(t){var e=(t=Yo(t)).getFullYear(),i=t.getMonth()+1;i=i<10?"0"+i:i;var n=t.getDate();n=n<10?"0"+n:n;var o=t.getDay();return o=Math.abs((o+7-this.getFirstDayOfWeek())%7),{y:e,m:i,d:n,day:o,time:t.getTime(),formatedDate:e+"-"+i+"-"+n,date:t}},getNextNDay:function(t,e){return 0===(e=e||0)?this.getDateInfo(t):((t=new Date(this.getDateInfo(t).time)).setDate(t.getDate()+e),this.getDateInfo(t))},update:function(t,e){function i(t,e){return null!=t[e]&&"auto"!==t[e]}this._firstDayOfWeek=+this._model.getModel("dayLabel").get("firstDay"),this._orient=this._model.get("orient"),this._lineWidth=this._model.getModel("itemStyle").getItemStyle().lineWidth||0,this._rangeInfo=this._getRangeInfo(this._initRangeOption());var n=this._rangeInfo.weeks||1,o=["width","height"],a=this._model.get("cellSize").slice(),r=this._model.getBoxLayoutParams(),s="horizontal"===this._orient?[n,7]:[7,n];d([0,1],function(t){i(a,t)&&(r[o[t]]=a[t]*s[t])});var l={width:e.getWidth(),height:e.getHeight()},u=this._rect=ca(r,l);d([0,1],function(t){i(a,t)||(a[t]=u[o[t]]/s[t])}),this._sw=a[0],this._sh=a[1]},dataToPoint:function(t,e){y(t)&&(t=t[0]),null==e&&(e=!0);var i=this.getDateInfo(t),n=this._rangeInfo,o=i.formatedDate;if(e&&!(i.time>=n.start.time&&i.timea.end.time&&t.reverse(),t},_getRangeInfo:function(t){var e;(t=[this.getDateInfo(t[0]),this.getDateInfo(t[1])])[0].time>t[1].time&&(e=!0,t.reverse());var i=Math.floor(t[1].time/864e5)-Math.floor(t[0].time/864e5)+1,n=new Date(t[0].time),o=n.getDate(),a=t[1].date.getDate();if(n.setDate(o+i-1),n.getDate()!==a)for(var r=n.getTime()-t[1].time>0?1:-1;n.getDate()!==a&&(n.getTime()-t[1].time)*r>0;)i-=r,n.setDate(o+i-1);var s=Math.floor((i+t[0].day+6)/7),l=e?1-s:s-1;return e&&t.reverse(),{range:[t[0].formatedDate,t[1].formatedDate],start:t[0],end:t[1],allDay:i,weeks:s,nthWeek:l,fweek:t[0].day,lweek:t[1].day}},_getDateByWeeksAndDay:function(t,e,i){var n=this._getRangeInfo(i);if(t>n.weeks||0===t&&en.lweek)return!1;var o=7*(t-1)-n.fweek+e,a=new Date(n.start.time);return a.setDate(n.start.d+o),this.getDateInfo(a)}},Cy.dimensions=Cy.prototype.dimensions,Cy.getDimensionsInfo=Cy.prototype.getDimensionsInfo,Cy.create=function(t,e){var i=[];return t.eachComponent("calendar",function(n){var o=new Cy(n,t,e);i.push(o),n.coordinateSystem=o}),t.eachSeries(function(t){"calendar"===t.get("coordinateSystem")&&(t.coordinateSystem=i[t.get("calendarIndex")||0])}),i},Fa.register("calendar",Cy);var XN=lI.extend({type:"calendar",coordinateSystem:null,defaultOption:{zlevel:0,z:2,left:80,top:60,cellSize:20,orient:"horizontal",splitLine:{show:!0,lineStyle:{color:"#000",width:1,type:"solid"}},itemStyle:{color:"#fff",borderWidth:1,borderColor:"#ccc"},dayLabel:{show:!0,firstDay:0,position:"start",margin:"50%",nameMap:"en",color:"#000"},monthLabel:{show:!0,position:"start",margin:5,align:"center",nameMap:"en",formatter:null,color:"#000"},yearLabel:{show:!0,position:null,margin:30,formatter:null,color:"#ccc",fontFamily:"sans-serif",fontWeight:"bolder",fontSize:20}},init:function(t,e,i,n){var o=ga(t);XN.superApply(this,"init",arguments),ky(t,o)},mergeOption:function(t,e){XN.superApply(this,"mergeOption",arguments),ky(this.option,t)}}),jN={EN:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],CN:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},YN={EN:["S","M","T","W","T","F","S"],CN:["日","一","二","三","四","五","六"]};Ws({type:"calendar",_tlpoints:null,_blpoints:null,_firstDayOfMonth:null,_firstDayPoints:null,render:function(t,e,i){var n=this.group;n.removeAll();var o=t.coordinateSystem,a=o.getRangeInfo(),r=o.getOrient();this._renderDayRect(t,a,n),this._renderLines(t,a,r,n),this._renderYearText(t,a,r,n),this._renderMonthText(t,r,n),this._renderWeekText(t,a,r,n)},_renderDayRect:function(t,e,i){for(var n=t.coordinateSystem,o=t.getModel("itemStyle").getItemStyle(),a=n.getCellWidth(),r=n.getCellHeight(),s=e.start.time;s<=e.end.time;s=n.getNextNDay(s,1).time){var l=n.dataToRect([s],!1).tl,u=new yM({shape:{x:l[0],y:l[1],width:a,height:r},cursor:"default",style:o});i.add(u)}},_renderLines:function(t,e,i,n){function o(e){a._firstDayOfMonth.push(r.getDateInfo(e)),a._firstDayPoints.push(r.dataToRect([e],!1).tl);var o=a._getLinePointsOfOneWeek(t,e,i);a._tlpoints.push(o[0]),a._blpoints.push(o[o.length-1]),l&&a._drawSplitline(o,s,n)}var a=this,r=t.coordinateSystem,s=t.getModel("splitLine.lineStyle").getLineStyle(),l=t.get("splitLine.show"),u=s.lineWidth;this._tlpoints=[],this._blpoints=[],this._firstDayOfMonth=[],this._firstDayPoints=[];for(var h=e.start,c=0;h.time<=e.end.time;c++){o(h.formatedDate),0===c&&(h=r.getDateInfo(e.start.y+"-"+e.start.m));var d=h.date;d.setMonth(d.getMonth()+1),h=r.getDateInfo(d)}o(r.getNextNDay(e.end.time,1).formatedDate),l&&this._drawSplitline(a._getEdgesPoints(a._tlpoints,u,i),s,n),l&&this._drawSplitline(a._getEdgesPoints(a._blpoints,u,i),s,n)},_getEdgesPoints:function(t,e,i){var n=[t[0].slice(),t[t.length-1].slice()],o="horizontal"===i?0:1;return n[0][o]=n[0][o]-e/2,n[1][o]=n[1][o]+e/2,n},_drawSplitline:function(t,e,i){var n=new gM({z2:20,shape:{points:t},style:e});i.add(n)},_getLinePointsOfOneWeek:function(t,e,i){var n=t.coordinateSystem;e=n.getDateInfo(e);for(var o=[],a=0;a<7;a++){var r=n.getNextNDay(e.time,a),s=n.dataToRect([r.time],!1);o[2*r.day]=s.tl,o[2*r.day+1]=s["horizontal"===i?"bl":"tr"]}return o},_formatterLabel:function(t,e){return"string"==typeof t&&t?oa(t,e):"function"==typeof t?t(e):e.nameMap},_yearTextPositionControl:function(t,e,i,n,o){e=e.slice();var a=["center","bottom"];"bottom"===n?(e[1]+=o,a=["center","top"]):"left"===n?e[0]-=o:"right"===n?(e[0]+=o,a=["center","top"]):e[1]-=o;var r=0;return"left"!==n&&"right"!==n||(r=Math.PI/2),{rotation:r,position:e,style:{textAlign:a[0],textVerticalAlign:a[1]}}},_renderYearText:function(t,e,i,n){var o=t.getModel("yearLabel");if(o.get("show")){var a=o.get("margin"),r=o.get("position");r||(r="horizontal"!==i?"top":"left");var s=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],l=(s[0][0]+s[1][0])/2,u=(s[0][1]+s[1][1])/2,h="horizontal"===i?0:1,c={top:[l,s[h][1]],bottom:[l,s[1-h][1]],left:[s[1-h][0],u],right:[s[h][0],u]},d=e.start.y;+e.end.y>+e.start.y&&(d=d+"-"+e.end.y);var f=o.get("formatter"),p={start:e.start.y,end:e.end.y,nameMap:d},g=this._formatterLabel(f,p),m=new rM({z2:30});mo(m.style,o,{text:g}),m.attr(this._yearTextPositionControl(m,c[r],i,r,a)),n.add(m)}},_monthTextPositionControl:function(t,e,i,n,o){var a="left",r="top",s=t[0],l=t[1];return"horizontal"===i?(l+=o,e&&(a="center"),"start"===n&&(r="bottom")):(s+=o,e&&(r="middle"),"start"===n&&(a="right")),{x:s,y:l,textAlign:a,textVerticalAlign:r}},_renderMonthText:function(t,e,i){var n=t.getModel("monthLabel");if(n.get("show")){var o=n.get("nameMap"),r=n.get("margin"),s=n.get("position"),l=n.get("align"),u=[this._tlpoints,this._blpoints];_(o)&&(o=jN[o.toUpperCase()]||[]);var h="start"===s?0:1,c="horizontal"===e?0:1;r="start"===s?-r:r;for(var d="center"===l,f=0;f=r[0]&&t<=r[1]}if(t===this._dataZoomModel){var n=this._dimName,o=this.getTargetSeriesModels(),a=t.get("filterMode"),r=this._valueWindow;"none"!==a&&$N(o,function(t){var e=t.getData(),o=e.mapDimension(n,!0);o.length&&("weakFilter"===a?e.filterSelf(function(t){for(var i,n,a,s=0;sr[1];if(u&&!h&&!c)return!0;u&&(a=!0),h&&(i=!0),c&&(n=!0)}return a&&i&&n}):$N(o,function(n){if("empty"===a)t.setData(e.map(n,function(t){return i(t)?t:NaN}));else{var o={};o[n]=r,e.selectRange(o)}}),$N(o,function(t){e.setApproximateExtent(r,t)}))})}}};var tO=d,eO=KN,iO=Fs({type:"dataZoom",dependencies:["xAxis","yAxis","zAxis","radiusAxis","angleAxis","singleAxis","series"],defaultOption:{zlevel:0,z:4,orient:null,xAxisIndex:null,yAxisIndex:null,filterMode:"filter",throttle:null,start:0,end:100,startValue:null,endValue:null,minSpan:null,maxSpan:null,minValueSpan:null,maxValueSpan:null,rangeMode:null},init:function(t,e,i){this._dataIntervalByAxis={},this._dataInfo={},this._axisProxies={},this.textStyleModel,this._autoThrottle=!0,this._rangePropMode=["percent","percent"];var n=By(t);this.mergeDefaultAndTheme(t,i),this.doInit(n)},mergeOption:function(t){var e=By(t);n(this.option,t,!0),this.doInit(e)},doInit:function(t){var e=this.option;U_.canvasSupported||(e.realtime=!1),this._setDefaultThrottle(t),Vy(this,t),tO([["start","startValue"],["end","endValue"]],function(t,i){"value"===this._rangePropMode[i]&&(e[t[0]]=null)},this),this.textStyleModel=this.getModel("textStyle"),this._resetTarget(),this._giveAxisProxies()},_giveAxisProxies:function(){var t=this._axisProxies;this.eachTargetAxis(function(e,i,n,o){var a=this.dependentModels[e.axis][i],r=a.__dzAxisProxy||(a.__dzAxisProxy=new QN(e.name,i,this,o));t[e.name+"_"+i]=r},this)},_resetTarget:function(){var t=this.option,e=this._judgeAutoMode();eO(function(e){var i=e.axisIndex;t[i]=Di(t[i])},this),"axisIndex"===e?this._autoSetAxisIndex():"orient"===e&&this._autoSetOrient()},_judgeAutoMode:function(){var t=this.option,e=!1;eO(function(i){null!=t[i.axisIndex]&&(e=!0)},this);var i=t.orient;return null==i&&e?"orient":e?void 0:(null==i&&(t.orient="horizontal"),"axisIndex")},_autoSetAxisIndex:function(){var t=!0,e=this.get("orient",!0),i=this.option,n=this.dependentModels;if(t){var o="vertical"===e?"y":"x";n[o+"Axis"].length?(i[o+"AxisIndex"]=[0],t=!1):tO(n.singleAxis,function(n){t&&n.get("orient",!0)===e&&(i.singleAxisIndex=[n.componentIndex],t=!1)})}t&&eO(function(e){if(t){var n=[],o=this.dependentModels[e.axis];if(o.length&&!n.length)for(var a=0,r=o.length;a0?100:20}},getFirstTargetAxisModel:function(){var t;return eO(function(e){if(null==t){var i=this.get(e.axisIndex);i.length&&(t=this.dependentModels[e.axis][i[0]])}},this),t},eachTargetAxis:function(t,e){var i=this.ecModel;eO(function(n){tO(this.get(n.axisIndex),function(o){t.call(e,n,o,this,i)},this)},this)},getAxisProxy:function(t,e){return this._axisProxies[t+"_"+e]},getAxisModel:function(t,e){var i=this.getAxisProxy(t,e);return i&&i.getAxisModel()},setRawRange:function(t,e){var i=this.option;tO([["start","startValue"],["end","endValue"]],function(e){null==t[e[0]]&&null==t[e[1]]||(i[e[0]]=t[e[0]],i[e[1]]=t[e[1]])},this),!e&&Vy(this,t)},getPercentRange:function(){var t=this.findRepresentativeAxisProxy();if(t)return t.getDataPercentWindow()},getValueRange:function(t,e){if(null!=t||null!=e)return this.getAxisProxy(t,e).getDataValueWindow();var i=this.findRepresentativeAxisProxy();return i?i.getDataValueWindow():void 0},findRepresentativeAxisProxy:function(t){if(t)return t.__dzAxisProxy;var e=this._axisProxies;for(var i in e)if(e.hasOwnProperty(i)&&e[i].hostedBy(this))return e[i];for(var i in e)if(e.hasOwnProperty(i)&&!e[i].hostedBy(this))return e[i]},getRangePropMode:function(){return this._rangePropMode.slice()}}),nO=qI.extend({type:"dataZoom",render:function(t,e,i,n){this.dataZoomModel=t,this.ecModel=e,this.api=i},getTargetCoordInfo:function(){function t(t,e,i,n){for(var o,a=0;a0&&e%g)p+=f;else{var i=null==t||isNaN(t)||""===t,n=i?0:aO(t,a,u,!0);i&&!l&&e?(c.push([c[c.length-1][0],0]),d.push([d[d.length-1][0],0])):!i&&l&&(c.push([p,0]),d.push([p,0])),c.push([p,n]),d.push([p,n]),p+=f,l=i}});var m=this.dataZoomModel;this._displayables.barGroup.add(new pM({shape:{points:c},style:r({fill:m.get("dataBackgroundColor")},m.getModel("dataBackground.areaStyle").getAreaStyle()),silent:!0,z2:-20})),this._displayables.barGroup.add(new gM({shape:{points:d},style:m.getModel("dataBackground.lineStyle").getLineStyle(),silent:!0,z2:-19}))}}},_prepareDataShadowInfo:function(){var t=this.dataZoomModel,e=t.get("showDataShadow");if(!1!==e){var i,n=this.ecModel;return t.eachTargetAxis(function(o,a){d(t.getAxisProxy(o.name,a).getTargetSeriesModels(),function(t){if(!(i||!0!==e&&l(cO,t.get("type"))<0)){var r,s=n.getComponent(o.axis,a).axis,u=Gy(o.name),h=t.coordinateSystem;null!=u&&h.getOtherAxis&&(r=h.getOtherAxis(s).inverse),u=t.getData().mapDimension(u),i={thisAxis:s,series:t,thisDim:o.name,otherDim:u,otherAxisInverse:r}}},this)},this),i}},_renderHandle:function(){var t=this._displayables,e=t.handles=[],i=t.handleLabels=[],n=this._displayables.barGroup,o=this._size,a=this.dataZoomModel;n.add(t.filler=new oO({draggable:!0,cursor:Fy(this._orient),drift:sO(this._onDragMove,this,"all"),onmousemove:function(t){mw(t.event)},ondragstart:sO(this._showDataInfo,this,!0),ondragend:sO(this._onDragEnd,this),onmouseover:sO(this._showDataInfo,this,!0),onmouseout:sO(this._showDataInfo,this,!1),style:{fill:a.get("fillerColor"),textPosition:"inside"}})),n.add(new oO($n({silent:!0,shape:{x:0,y:0,width:o[0],height:o[1]},style:{stroke:a.get("dataBackgroundColor")||a.get("borderColor"),lineWidth:1,fill:"rgba(0,0,0,0)"}}))),lO([0,1],function(t){var o=Po(a.get("handleIcon"),{cursor:Fy(this._orient),draggable:!0,drift:sO(this._onDragMove,this,t),onmousemove:function(t){mw(t.event)},ondragend:sO(this._onDragEnd,this),onmouseover:sO(this._showDataInfo,this,!0),onmouseout:sO(this._showDataInfo,this,!1)},{x:-1,y:0,width:2,height:2}),r=o.getBoundingRect();this._handleHeight=Vo(a.get("handleSize"),this._size[1]),this._handleWidth=r.width/r.height*this._handleHeight,o.setStyle(a.getModel("handleStyle").getItemStyle());var s=a.get("handleColor");null!=s&&(o.style.fill=s),n.add(e[t]=o);var l=a.textStyleModel;this.group.add(i[t]=new rM({silent:!0,invisible:!0,style:{x:0,y:0,text:"",textVerticalAlign:"middle",textAlign:"center",textFill:l.getTextColor(),textFont:l.getFont()},z2:10}))},this)},_resetInterval:function(){var t=this._range=this.dataZoomModel.getPercentRange(),e=this._getViewExtent();this._handleEnds=[aO(t[0],[0,100],e,!0),aO(t[1],[0,100],e,!0)]},_updateInterval:function(t,e){var i=this.dataZoomModel,n=this._handleEnds,o=this._getViewExtent(),a=i.findRepresentativeAxisProxy().getMinMaxSpan(),r=[0,100];QL(e,n,o,i.get("zoomLock")?"all":t,null!=a.minSpan?aO(a.minSpan,r,o,!0):null,null!=a.maxSpan?aO(a.maxSpan,r,o,!0):null);var s=this._range,l=this._range=rO([aO(n[0],o,r,!0),aO(n[1],o,r,!0)]);return!s||s[0]!==l[0]||s[1]!==l[1]},_updateView:function(t){var e=this._displayables,i=this._handleEnds,n=rO(i.slice()),o=this._size;lO([0,1],function(t){var n=e.handles[t],a=this._handleHeight;n.attr({scale:[a/2,a/2],position:[i[t],o[1]/2-a/2]})},this),e.filler.setShape({x:n[0],y:0,width:n[1]-n[0],height:o[1]}),this._updateDataInfo(t)},_updateDataInfo:function(t){function e(t){var e=Ao(n.handles[t].parent,this.group),i=Co(0===t?"right":"left",e),s=this._handleWidth/2+hO,l=Do([c[t]+(0===t?-s:s),this._size[1]/2],e);o[t].setStyle({x:l[0],y:l[1],textVerticalAlign:a===uO?"middle":i,textAlign:a===uO?i:"center",text:r[t]})}var i=this.dataZoomModel,n=this._displayables,o=n.handleLabels,a=this._orient,r=["",""];if(i.get("showDetail")){var s=i.findRepresentativeAxisProxy();if(s){var l=s.getAxisModel().axis,u=this._range,h=t?s.calculateDataWindow({start:u[0],end:u[1]}).valueWindow:s.getDataValueWindow();r=[this._formatLabel(h[0],l),this._formatLabel(h[1],l)]}}var c=rO(this._handleEnds.slice());e.call(this,0),e.call(this,1)},_formatLabel:function(t,e){var i=this.dataZoomModel,n=i.get("labelFormatter"),o=i.get("labelPrecision");null!=o&&"auto"!==o||(o=e.getPixelPrecision());var a=null==t||isNaN(t)?"":"category"===e.type||"time"===e.type?e.scale.getLabel(Math.round(t)):t.toFixed(Math.min(o,20));return x(n)?n(t,a):_(n)?n.replace("{value}",a):a},_showDataInfo:function(t){t=this._dragging||t;var e=this._displayables.handleLabels;e[0].attr("invisible",!t),e[1].attr("invisible",!t)},_onDragMove:function(t,e,i){this._dragging=!0;var n=Do([e,i],this._displayables.barGroup.getLocalTransform(),!0),o=this._updateInterval(t,n[0]),a=this.dataZoomModel.get("realtime");this._updateView(!a),o&&a&&this._dispatchZoomAction()},_onDragEnd:function(){this._dragging=!1,this._showDataInfo(!1),!this.dataZoomModel.get("realtime")&&this._dispatchZoomAction()},_onClickPanelClick:function(t){var e=this._size,i=this._displayables.barGroup.transformCoordToLocal(t.offsetX,t.offsetY);if(!(i[0]<0||i[0]>e[0]||i[1]<0||i[1]>e[1])){var n=this._handleEnds,o=(n[0]+n[1])/2,a=this._updateInterval("all",i[0]-o);this._updateView(),a&&this._dispatchZoomAction()}},_dispatchZoomAction:function(){var t=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,start:t[0],end:t[1]})},_findCoordRect:function(){var t;if(lO(this.getTargetCoordInfo(),function(e){if(!t&&e.length){var i=e[0].model.coordinateSystem;t=i.getRect&&i.getRect()}}),!t){var e=this.api.getWidth(),i=this.api.getHeight();t={x:.2*e,y:.2*i,width:.6*e,height:.6*i}}return t}});iO.extend({type:"dataZoom.inside",defaultOption:{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}});var fO="\0_ec_dataZoom_roams",pO=m,gO=nO.extend({type:"dataZoom.inside",init:function(t,e){this._range},render:function(t,e,i,n){gO.superApply(this,"render",arguments),this._range=t.getPercentRange(),d(this.getTargetCoordInfo(),function(e,n){var o=f(e,function(t){return Zy(t.model)});d(e,function(e){var a=e.model,r={};d(["pan","zoom","scrollMove"],function(t){r[t]=pO(mO[t],this,e,n)},this),Wy(i,{coordId:Zy(a),allCoordIds:o,containsPoint:function(t,e,i){return a.coordinateSystem.containPoint([e,i])},dataZoomId:t.id,dataZoomModel:t,getRange:r})},this)},this)},dispose:function(){Hy(this.api,this.dataZoomModel.id),gO.superApply(this,"dispose",arguments),this._range=null}}),mO={zoom:function(t,e,i,n){var o=this._range,a=o.slice(),r=t.axisModels[0];if(r){var s=vO[e](null,[n.originX,n.originY],r,i,t),l=(s.signal>0?s.pixelStart+s.pixelLength-s.pixel:s.pixel-s.pixelStart)/s.pixelLength*(a[1]-a[0])+a[0],u=Math.max(1/n.scale,0);a[0]=(a[0]-l)*u+l,a[1]=(a[1]-l)*u+l;var h=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();return QL(0,a,[0,100],0,h.minSpan,h.maxSpan),this._range=a,o[0]!==a[0]||o[1]!==a[1]?a:void 0}},pan:Ky(function(t,e,i,n,o,a){var r=vO[n]([a.oldX,a.oldY],[a.newX,a.newY],e,o,i);return r.signal*(t[1]-t[0])*r.pixel/r.pixelLength}),scrollMove:Ky(function(t,e,i,n,o,a){return vO[n]([0,0],[a.scrollDelta,a.scrollDelta],e,o,i).signal*(t[1]-t[0])*a.scrollDelta})},vO={grid:function(t,e,i,n,o){var a=i.axis,r={},s=o.model.coordinateSystem.getRect();return t=t||[0,0],"x"===a.dim?(r.pixel=e[0]-t[0],r.pixelLength=s.width,r.pixelStart=s.x,r.signal=a.inverse?1:-1):(r.pixel=e[1]-t[1],r.pixelLength=s.height,r.pixelStart=s.y,r.signal=a.inverse?-1:1),r},polar:function(t,e,i,n,o){var a=i.axis,r={},s=o.model.coordinateSystem,l=s.getRadiusAxis().getExtent(),u=s.getAngleAxis().getExtent();return t=t?s.pointToCoord(t):[0,0],e=s.pointToCoord(e),"radiusAxis"===i.mainType?(r.pixel=e[0]-t[0],r.pixelLength=l[1]-l[0],r.pixelStart=l[0],r.signal=a.inverse?1:-1):(r.pixel=e[1]-t[1],r.pixelLength=u[1]-u[0],r.pixelStart=u[0],r.signal=a.inverse?-1:1),r},singleAxis:function(t,e,i,n,o){var a=i.axis,r=o.model.coordinateSystem.getRect(),s={};return t=t||[0,0],"horizontal"===a.orient?(s.pixel=e[0]-t[0],s.pixelLength=r.width,s.pixelStart=r.x,s.signal=a.inverse?1:-1):(s.pixel=e[1]-t[1],s.pixelLength=r.height,s.pixelStart=r.y,s.signal=a.inverse?-1:1),s}};Os({getTargetSeries:function(t){var e=R();return t.eachComponent("dataZoom",function(t){t.eachTargetAxis(function(t,i,n){d(n.getAxisProxy(t.name,i).getTargetSeriesModels(),function(t){e.set(t.uid,t)})})}),e},modifyOutputEnd:!0,overallReset:function(t,e){t.eachComponent("dataZoom",function(t){t.eachTargetAxis(function(t,i,n){n.getAxisProxy(t.name,i).reset(n,e)}),t.eachTargetAxis(function(t,i,n){n.getAxisProxy(t.name,i).filterData(n,e)})}),t.eachComponent("dataZoom",function(t){var e=t.findRepresentativeAxisProxy(),i=e.getDataPercentWindow(),n=e.getDataValueWindow();t.setRawRange({start:i[0],end:i[1],startValue:n[0],endValue:n[1]},!0)})}}),Es("dataZoom",function(t,e){var i=Ny(m(e.eachComponent,e,"dataZoom"),KN,function(t,e){return t.get(e.axisIndex)}),n=[];e.eachComponent({mainType:"dataZoom",query:t},function(t,e){n.push.apply(n,i(t).nodes)}),d(n,function(e,i){e.setRawRange({start:t.start,end:t.end,startValue:t.startValue,endValue:t.endValue})})});var yO=d,xO=function(t){var e=t&&t.visualMap;y(e)||(e=e?[e]:[]),yO(e,function(t){if(t){$y(t,"splitList")&&!$y(t,"pieces")&&(t.pieces=t.splitList,delete t.splitList);var e=t.pieces;e&&y(e)&&yO(e,function(t){w(t)&&($y(t,"start")&&!$y(t,"min")&&(t.min=t.start),$y(t,"end")&&!$y(t,"max")&&(t.max=t.end))})}})};lI.registerSubTypeDefaulter("visualMap",function(t){return t.categories||(t.pieces?t.pieces.length>0:t.splitNumber>0)&&!t.calculable?"piecewise":"continuous"});var _O=VT.VISUAL.COMPONENT;Bs(_O,{createOnAllSeries:!0,reset:function(t,e){var i=[];return e.eachComponent("visualMap",function(e){var n=t.pipelineContext;!e.isTargetSeries(t)||n&&n.large||i.push(ny(e.stateList,e.targetVisuals,m(e.getValueState,e),e.getDataDimension(t.getData())))}),i}}),Bs(_O,{createOnAllSeries:!0,reset:function(t,e){var i=t.getData(),n=[];e.eachComponent("visualMap",function(e){if(e.isTargetSeries(t)){var o=e.getVisualMeta(m(Jy,null,t,e))||{stops:[],outerColors:[]},a=e.getDataDimension(i),r=i.getDimensionInfo(a);null!=r&&(o.dimension=r.index,n.push(o))}}),t.getData().setVisual("visualMeta",n)}});var wO={get:function(t,e,n){var o=i((bO[t]||{})[e]);return n&&y(o)?o[o.length-1]:o}},bO={color:{active:["#006edd","#e0ffff"],inactive:["rgba(0,0,0,0)"]},colorHue:{active:[0,360],inactive:[0,0]},colorSaturation:{active:[.3,1],inactive:[0,0]},colorLightness:{active:[.9,.5],inactive:[0,0]},colorAlpha:{active:[.3,1],inactive:[0,0]},opacity:{active:[.3,1],inactive:[0,0]},symbol:{active:["circle","roundRect","diamond"],inactive:["none"]},symbolSize:{active:[10,50],inactive:[0,0]}},SO=hL.mapVisual,MO=hL.eachVisual,IO=y,TO=d,AO=Fo,DO=Bo,CO=B,LO=Fs({type:"visualMap",dependencies:["series"],stateList:["inRange","outOfRange"],replacableOptionKeys:["inRange","outOfRange","target","controller","color"],dataBound:[-1/0,1/0],layoutMode:{type:"box",ignoreSize:!0},defaultOption:{show:!0,zlevel:0,z:4,seriesIndex:"all",min:0,max:200,dimension:null,inRange:null,outOfRange:null,left:0,right:null,top:null,bottom:0,itemWidth:null,itemHeight:null,inverse:!1,orient:"vertical",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",contentColor:"#5793f3",inactiveColor:"#aaa",borderWidth:0,padding:5,textGap:10,precision:0,color:null,formatter:null,text:null,textStyle:{color:"#333"}},init:function(t,e,i){this._dataExtent,this.targetVisuals={},this.controllerVisuals={},this.textStyleModel,this.itemSize,this.mergeDefaultAndTheme(t,i)},optionUpdated:function(t,e){var i=this.option;U_.canvasSupported||(i.realtime=!1),!e&&ey(i,t,this.replacableOptionKeys),this.textStyleModel=this.getModel("textStyle"),this.resetItemSize(),this.completeVisualOption()},resetVisual:function(t){var e=this.stateList;t=m(t,this),this.controllerVisuals=ty(this.option.controller,e,t),this.targetVisuals=ty(this.option.target,e,t)},getTargetSeriesIndices:function(){var t=this.option.seriesIndex,e=[];return null==t||"all"===t?this.ecModel.eachSeries(function(t,i){e.push(i)}):e=Di(t),e},eachTargetSeries:function(t,e){d(this.getTargetSeriesIndices(),function(i){t.call(e,this.ecModel.getSeriesByIndex(i))},this)},isTargetSeries:function(t){var e=!1;return this.eachTargetSeries(function(i){i===t&&(e=!0)}),e},formatValueText:function(t,e,i){function n(t){return t===l[0]?"min":t===l[1]?"max":(+t).toFixed(Math.min(s,20))}var o,a,r=this.option,s=r.precision,l=this.dataBound,u=r.formatter;return i=i||["<",">"],y(t)&&(t=t.slice(),o=!0),a=e?t:o?[n(t[0]),n(t[1])]:n(t),_(u)?u.replace("{value}",o?a[0]:a).replace("{value2}",o?a[1]:a):x(u)?o?u(t[0],t[1]):u(t):o?t[0]===l[0]?i[0]+" "+a[1]:t[1]===l[1]?i[1]+" "+a[0]:a[0]+" - "+a[1]:a},resetExtent:function(){var t=this.option,e=AO([t.min,t.max]);this._dataExtent=e},getDataDimension:function(t){var e=this.option.dimension,i=t.dimensions;if(null!=e||i.length){if(null!=e)return t.getDimension(e);for(var n=t.dimensions,o=n.length-1;o>=0;o--){var a=n[o];if(!t.getDimensionInfo(a).isCalculationCoord)return a}}},getExtent:function(){return this._dataExtent.slice()},completeVisualOption:function(){function t(t){IO(o.color)&&!t.inRange&&(t.inRange={color:o.color.slice().reverse()}),t.inRange=t.inRange||{color:e.get("gradientColor")},TO(this.stateList,function(e){var i=t[e];if(_(i)){var n=wO.get(i,"active",l);n?(t[e]={},t[e][i]=n):delete t[e]}},this)}var e=this.ecModel,o=this.option,a={inRange:o.inRange,outOfRange:o.outOfRange},r=o.target||(o.target={}),s=o.controller||(o.controller={});n(r,a),n(s,a);var l=this.isCategory();t.call(this,r),t.call(this,s),function(t,e,i){var n=t[e],o=t[i];n&&!o&&(o=t[i]={},TO(n,function(t,e){if(hL.isValidType(e)){var i=wO.get(e,"inactive",l);null!=i&&(o[e]=i,"color"!==e||o.hasOwnProperty("opacity")||o.hasOwnProperty("colorAlpha")||(o.opacity=[0,0]))}}))}.call(this,r,"inRange","outOfRange"),function(t){var e=(t.inRange||{}).symbol||(t.outOfRange||{}).symbol,n=(t.inRange||{}).symbolSize||(t.outOfRange||{}).symbolSize,o=this.get("inactiveColor");TO(this.stateList,function(a){var r=this.itemSize,s=t[a];s||(s=t[a]={color:l?o:[o]}),null==s.symbol&&(s.symbol=e&&i(e)||(l?"roundRect":["roundRect"])),null==s.symbolSize&&(s.symbolSize=n&&i(n)||(l?r[0]:[r[0],r[0]])),s.symbol=SO(s.symbol,function(t){return"none"===t||"square"===t?"roundRect":t});var u=s.symbolSize;if(null!=u){var h=-1/0;MO(u,function(t){t>h&&(h=t)}),s.symbolSize=SO(u,function(t){return DO(t,[0,h],[0,r[0]],!0)})}},this)}.call(this,s)},resetItemSize:function(){this.itemSize=[parseFloat(this.get("itemWidth")),parseFloat(this.get("itemHeight"))]},isCategory:function(){return!!this.option.categories},setSelected:CO,getValueState:CO,getVisualMeta:CO}),kO=[20,140],PO=LO.extend({type:"visualMap.continuous",defaultOption:{align:"auto",calculable:!1,range:null,realtime:!0,itemHeight:null,itemWidth:null,hoverLink:!0,hoverLinkDataSize:null,hoverLinkOnHandle:null},optionUpdated:function(t,e){PO.superApply(this,"optionUpdated",arguments),this.resetExtent(),this.resetVisual(function(t){t.mappingMethod="linear",t.dataExtent=this.getExtent()}),this._resetRange()},resetItemSize:function(){PO.superApply(this,"resetItemSize",arguments);var t=this.itemSize;"horizontal"===this._orient&&t.reverse(),(null==t[0]||isNaN(t[0]))&&(t[0]=kO[0]),(null==t[1]||isNaN(t[1]))&&(t[1]=kO[1])},_resetRange:function(){var t=this.getExtent(),e=this.option.range;!e||e.auto?(t.auto=1,this.option.range=t):y(e)&&(e[0]>e[1]&&e.reverse(),e[0]=Math.max(e[0],t[0]),e[1]=Math.min(e[1],t[1]))},completeVisualOption:function(){LO.prototype.completeVisualOption.apply(this,arguments),d(this.stateList,function(t){var e=this.option.controller[t].symbolSize;e&&e[0]!==e[1]&&(e[0]=0)},this)},setSelected:function(t){this.option.range=t.slice(),this._resetRange()},getSelected:function(){var t=this.getExtent(),e=Fo((this.get("range")||[]).slice());return e[0]>t[1]&&(e[0]=t[1]),e[1]>t[1]&&(e[1]=t[1]),e[0]=i[1]||t<=e[1])?"inRange":"outOfRange"},findTargetDataIndices:function(t){var e=[];return this.eachTargetSeries(function(i){var n=[],o=i.getData();o.each(this.getDataDimension(o),function(e,i){t[0]<=e&&e<=t[1]&&n.push(i)},this),e.push({seriesId:i.id,dataIndex:n})},this),e},getVisualMeta:function(t){function e(e,i){o.push({value:e,color:t(e,i)})}for(var i=Qy(0,0,this.getExtent()),n=Qy(0,0,this.option.range.slice()),o=[],a=0,r=0,s=n.length,l=i.length;rt[1])break;i.push({color:this.getControllerVisual(a,"color",e),offset:o/100})}return i.push({color:this.getControllerVisual(t[1],"color",e),offset:1}),i},_createBarPoints:function(t,e){var i=this.visualMapModel.itemSize;return[[i[0]-e[0],t[0]],[i[0],t[0]],[i[0],t[1]],[i[0]-e[1],t[1]]]},_createBarGroup:function(t){var e=this._orient,i=this.visualMapModel.get("inverse");return new tb("horizontal"!==e||i?"horizontal"===e&&i?{scale:"bottom"===t?[-1,1]:[1,1],rotation:-Math.PI/2}:"vertical"!==e||i?{scale:"left"===t?[1,1]:[-1,1]}:{scale:"left"===t?[1,-1]:[-1,-1]}:{scale:"bottom"===t?[1,1]:[-1,1],rotation:Math.PI/2})},_updateHandle:function(t,e){if(this._useHandle){var i=this._shapes,n=this.visualMapModel,o=i.handleThumbs,a=i.handleLabels;EO([0,1],function(r){var s=o[r];s.setStyle("fill",e.handlesColor[r]),s.position[1]=t[r];var l=Do(i.handleLabelPoints[r],Ao(s,this.group));a[r].setStyle({x:l[0],y:l[1],text:n.formatValueText(this._dataInterval[r]),textVerticalAlign:"middle",textAlign:this._applyTransform("horizontal"===this._orient?0===r?"bottom":"top":"left",i.barGroup)})},this)}},_showIndicator:function(t,e,i,n){var o=this.visualMapModel,a=o.getExtent(),r=o.itemSize,s=[0,r[1]],l=OO(t,a,s,!0),u=this._shapes,h=u.indicator;if(h){h.position[1]=l,h.attr("invisible",!1),h.setShape("points",ox(!!i,n,l,r[1]));var c={convertOpacityToAlpha:!0},d=this.getControllerVisual(t,"color",c);h.setStyle("fill",d);var f=Do(u.indicatorLabelPoint,Ao(h,this.group)),p=u.indicatorLabel;p.attr("invisible",!1);var g=this._applyTransform("left",u.barGroup),m=this._orient;p.setStyle({text:(i||"")+o.formatValueText(e),textVerticalAlign:"horizontal"===m?g:"middle",textAlign:"horizontal"===m?"center":g,x:f[0],y:f[1]})}},_enableHoverLinkToSeries:function(){var t=this;this._shapes.barGroup.on("mousemove",function(e){if(t._hovering=!0,!t._dragging){var i=t.visualMapModel.itemSize,n=t._applyTransform([e.offsetX,e.offsetY],t._shapes.barGroup,!0,!0);n[1]=RO(zO(0,n[1]),i[1]),t._doHoverLinkToSeries(n[1],0<=n[0]&&n[0]<=i[0])}}).on("mouseout",function(){t._hovering=!1,!t._dragging&&t._clearHoverLinkToSeries()})},_enableHoverLinkFromSeries:function(){var t=this.api.getZr();this.visualMapModel.option.hoverLink?(t.on("mouseover",this._hoverLinkFromSeriesMouseOver,this),t.on("mouseout",this._hideIndicator,this)):this._clearHoverLinkFromSeries()},_doHoverLinkToSeries:function(t,e){var i=this.visualMapModel,n=i.itemSize;if(i.option.hoverLink){var o=[0,n[1]],a=i.getExtent();t=RO(zO(o[0],t),o[1]);var r=ax(i,a,o),s=[t-r,t+r],l=OO(t,o,a,!0),u=[OO(s[0],o,a,!0),OO(s[1],o,a,!0)];s[0]o[1]&&(u[1]=1/0),e&&(u[0]===-1/0?this._showIndicator(l,u[1],"< ",r):u[1]===1/0?this._showIndicator(l,u[0],"> ",r):this._showIndicator(l,l,"≈ ",r));var h=this._hoverLinkDataIndices,c=[];(e||rx(i))&&(c=this._hoverLinkDataIndices=i.findTargetDataIndices(u));var d=Ri(h,c);this._dispatchHighDown("downplay",ex(d[0])),this._dispatchHighDown("highlight",ex(d[1]))}},_hoverLinkFromSeriesMouseOver:function(t){var e=t.target,i=this.visualMapModel;if(e&&null!=e.dataIndex){var n=this.ecModel.getSeriesByIndex(e.seriesIndex);if(i.isTargetSeries(n)){var o=n.getData(e.dataType),a=o.get(i.getDataDimension(o),e.dataIndex,!0);isNaN(a)||this._showIndicator(a,a)}}},_hideIndicator:function(){var t=this._shapes;t.indicator&&t.indicator.attr("invisible",!0),t.indicatorLabel&&t.indicatorLabel.attr("invisible",!0)},_clearHoverLinkToSeries:function(){this._hideIndicator();var t=this._hoverLinkDataIndices;this._dispatchHighDown("downplay",ex(t)),t.length=0},_clearHoverLinkFromSeries:function(){this._hideIndicator();var t=this.api.getZr();t.off("mouseover",this._hoverLinkFromSeriesMouseOver),t.off("mouseout",this._hideIndicator)},_applyTransform:function(t,e,i,n){var o=Ao(e,n?null:this.group);return zM[y(t)?"applyTransform":"transformDirection"](t,o,i)},_dispatchHighDown:function(t,e){e&&e.length&&this.api.dispatchAction({type:t,batch:e})},dispose:function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()},remove:function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()}});Es({type:"selectDataRange",event:"dataRangeSelected",update:"update"},function(t,e){e.eachComponent({mainType:"visualMap",query:t},function(e){e.setSelected(t.selected)})}),Ns(xO);var FO=LO.extend({type:"visualMap.piecewise",defaultOption:{selected:null,minOpen:!1,maxOpen:!1,align:"auto",itemWidth:20,itemHeight:14,itemSymbol:"roundRect",pieceList:null,categories:null,splitNumber:5,selectedMode:"multiple",itemGap:10,hoverLink:!0,showLabel:null},optionUpdated:function(t,e){FO.superApply(this,"optionUpdated",arguments),this._pieceList=[],this.resetExtent();var n=this._mode=this._determineMode();WO[this._mode].call(this),this._resetSelected(t,e);var o=this.option.categories;this.resetVisual(function(t,e){"categories"===n?(t.mappingMethod="category",t.categories=i(o)):(t.dataExtent=this.getExtent(),t.mappingMethod="piecewise",t.pieceList=f(this._pieceList,function(t){var t=i(t);return"inRange"!==e&&(t.visual=null),t}))})},completeVisualOption:function(){function t(t,e,i){return t&&t[e]&&(w(t[e])?t[e].hasOwnProperty(i):t[e]===i)}var e=this.option,i={},n=hL.listVisualTypes(),o=this.isCategory();d(e.pieces,function(t){d(n,function(e){t.hasOwnProperty(e)&&(i[e]=1)})}),d(i,function(i,n){var a=0;d(this.stateList,function(i){a|=t(e,i,n)||t(e.target,i,n)},this),!a&&d(this.stateList,function(t){(e[t]||(e[t]={}))[n]=wO.get(n,"inRange"===t?"active":"inactive",o)})},this),LO.prototype.completeVisualOption.apply(this,arguments)},_resetSelected:function(t,e){var i=this.option,n=this._pieceList,o=(e?i:t).selected||{};if(i.selected=o,d(n,function(t,e){var i=this.getSelectedMapKey(t);o.hasOwnProperty(i)||(o[i]=!0)},this),"single"===i.selectedMode){var a=!1;d(n,function(t,e){var i=this.getSelectedMapKey(t);o[i]&&(a?o[i]=!1:a=!0)},this)}},getSelectedMapKey:function(t){return"categories"===this._mode?t.value+"":t.index+""},getPieceList:function(){return this._pieceList},_determineMode:function(){var t=this.option;return t.pieces&&t.pieces.length>0?"pieces":this.option.categories?"categories":"splitNumber"},setSelected:function(t){this.option.selected=i(t)},getValueState:function(t){var e=hL.findPieceIndex(t,this._pieceList);return null!=e&&this.option.selected[this.getSelectedMapKey(this._pieceList[e])]?"inRange":"outOfRange"},findTargetDataIndices:function(t){var e=[];return this.eachTargetSeries(function(i){var n=[],o=i.getData();o.each(this.getDataDimension(o),function(e,i){hL.findPieceIndex(e,this._pieceList)===t&&n.push(i)},this),e.push({seriesId:i.id,dataIndex:n})},this),e},getRepresentValue:function(t){var e;if(this.isCategory())e=t.value;else if(null!=t.value)e=t.value;else{var i=t.interval||[];e=i[0]===-1/0&&i[1]===1/0?0:(i[0]+i[1])/2}return e},getVisualMeta:function(t){function e(e,a){var r=o.getRepresentValue({interval:e});a||(a=o.getValueState(r));var s=t(r,a);e[0]===-1/0?n[0]=s:e[1]===1/0?n[1]=s:i.push({value:e[0],color:s},{value:e[1],color:s})}if(!this.isCategory()){var i=[],n=[],o=this,a=this._pieceList.slice();if(a.length){var r=a[0].interval[0];r!==-1/0&&a.unshift({interval:[-1/0,r]}),(r=a[a.length-1].interval[1])!==1/0&&a.push({interval:[r,1/0]})}else a.push({interval:[-1/0,1/0]});var s=-1/0;return d(a,function(t){var i=t.interval;i&&(i[0]>s&&e([s,i[0]],"outOfRange"),e(i.slice()),s=i[1])},this),{stops:i,outerColors:n}}}}),WO={splitNumber:function(){var t=this.option,e=this._pieceList,i=Math.min(t.precision,20),n=this.getExtent(),o=t.splitNumber;o=Math.max(parseInt(o,10),1),t.splitNumber=o;for(var a=(n[1]-n[0])/o;+a.toFixed(i)!==a&&i<5;)i++;t.precision=i,a=+a.toFixed(i);var r=0;t.minOpen&&e.push({index:r++,interval:[-1/0,n[0]],close:[0,0]});for(var s=n[0],l=r+o;r","≥"][e[0]]];t.text=t.text||this.formatValueText(null!=t.value?t.value:t.interval,!1,i)},this)}};NO.extend({type:"visualMap.piecewise",doRender:function(){var t=this.group;t.removeAll();var e=this.visualMapModel,i=e.get("textGap"),n=e.textStyleModel,o=n.getFont(),a=n.getTextColor(),r=this._getItemAlign(),s=e.itemSize,l=this._getViewData(),u=l.endsText,h=T(e.get("showLabel",!0),!u);u&&this._renderEndsText(t,u[0],s,h,r),d(l.viewPieceList,function(n){var l=n.piece,u=new tb;u.onclick=m(this._onItemClick,this,l),this._enableHoverLink(u,n.indexInModelPieceList);var c=e.getRepresentValue(l);if(this._createItemSymbol(u,c,[0,0,s[0],s[1]]),h){var d=this.visualMapModel.getValueState(c);u.add(new rM({style:{x:"right"===r?-i:s[0]+i,y:s[1]/2,text:l.text,textVerticalAlign:"middle",textAlign:r,textFont:o,textFill:a,opacity:"outOfRange"===d?.5:1}}))}t.add(u)},this),u&&this._renderEndsText(t,u[1],s,h,r),aI(e.get("orient"),t,e.get("itemGap")),this.renderBackground(t),this.positionGroup(t)},_enableHoverLink:function(t,e){function i(t){var i=this.visualMapModel;i.option.hoverLink&&this.api.dispatchAction({type:t,batch:ex(i.findTargetDataIndices(e))})}t.on("mouseover",m(i,this,"highlight")).on("mouseout",m(i,this,"downplay"))},_getItemAlign:function(){var t=this.visualMapModel,e=t.option;if("vertical"===e.orient)return tx(t,this.api,t.itemSize);var i=e.align;return i&&"auto"!==i||(i="left"),i},_renderEndsText:function(t,e,i,n,o){if(e){var a=new tb,r=this.visualMapModel.textStyleModel;a.add(new rM({style:{x:n?"right"===o?i[0]:0:i[0]/2,y:i[1]/2,textVerticalAlign:"middle",textAlign:n?o:"center",text:e,textFont:r.getFont(),textFill:r.getTextColor()}})),t.add(a)}},_getViewData:function(){var t=this.visualMapModel,e=f(t.getPieceList(),function(t,e){return{piece:t,indexInModelPieceList:e}}),i=t.get("text"),n=t.get("orient"),o=t.get("inverse");return("horizontal"===n?o:!o)?e.reverse():i&&(i=i.slice().reverse()),{viewPieceList:e,endsText:i}},_createItemSymbol:function(t,e,i){t.add(Jl(this.getControllerVisual(e,"symbol"),i[0],i[1],i[2],i[3],this.getControllerVisual(e,"color")))},_onItemClick:function(t){var e=this.visualMapModel,n=e.option,o=i(n.selected),a=e.getSelectedMapKey(t);"single"===n.selectedMode?(o[a]=!0,d(o,function(t,e){o[e]=e===a})):o[a]=!o[a],this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:o})}});Ns(xO);var HO=ta,ZO=ia,UO=Fs({type:"marker",dependencies:["series","grid","polar","geo"],init:function(t,e,i,n){this.mergeDefaultAndTheme(t,i),this.mergeOption(t,i,n.createdBySelf,!0)},isAnimationEnabled:function(){if(U_.node)return!1;var t=this.__hostSeries;return this.getShallow("animation")&&t&&t.isAnimationEnabled()},mergeOption:function(t,e,i,n){var o=this.constructor,r=this.mainType+"Model";i||e.eachSeries(function(t){var i=t.get(this.mainType,!0),s=t[r];i&&i.data?(s?s.mergeOption(i,e,!0):(n&&ux(i),d(i.data,function(t){t instanceof Array?(ux(t[0]),ux(t[1])):ux(t)}),a(s=new o(i,this,e),{mainType:this.mainType,seriesIndex:t.seriesIndex,name:t.name,createdBySelf:!0}),s.__hostSeries=t),t[r]=s):t[r]=null},this)},formatTooltip:function(t){var e=this.getData(),i=this.getRawValue(t),n=y(i)?f(i,HO).join(", "):HO(i),o=e.getName(t),a=ZO(this.name);return(null!=i||o)&&(a+="
    "),o&&(a+=ZO(o),null!=i&&(a+=" : ")),null!=i&&(a+=ZO(n)),a},getData:function(){return this._data},setData:function(t){this._data=t}});h(UO,ZI),UO.extend({type:"markPoint",defaultOption:{zlevel:0,z:5,symbol:"pin",symbolSize:50,tooltip:{trigger:"item"},label:{show:!0,position:"inside"},itemStyle:{borderWidth:2},emphasis:{label:{show:!0}}}});var XO=l,jO=v,YO={min:jO(dx,"min"),max:jO(dx,"max"),average:jO(dx,"average")},qO=Ws({type:"marker",init:function(){this.markerGroupMap=R()},render:function(t,e,i){var n=this.markerGroupMap;n.each(function(t){t.__keep=!1});var o=this.type+"Model";e.eachSeries(function(t){var n=t[o];n&&this.renderSeries(t,n,e,i)},this),n.each(function(t){!t.__keep&&this.group.remove(t.group)},this)},renderSeries:function(){}});qO.extend({type:"markPoint",updateTransform:function(t,e,i){e.eachSeries(function(t){var e=t.markPointModel;e&&(xx(e.getData(),t,i),this.markerGroupMap.get(t.id).updateLayout(e))},this)},renderSeries:function(t,e,i,n){var o=t.coordinateSystem,a=t.id,r=t.getData(),s=this.markerGroupMap,l=s.get(a)||s.set(a,new Du),u=_x(o,t,e);e.setData(u),xx(e.getData(),t,n),u.each(function(t){var i=u.getItemModel(t),n=i.getShallow("symbolSize");"function"==typeof n&&(n=n(e.getRawValue(t),e.getDataParams(t))),u.setItemVisual(t,{symbolSize:n,color:i.get("itemStyle.color")||r.getVisual("color"),symbol:i.getShallow("symbol")})}),l.updateData(u),this.group.add(l.group),u.eachItemGraphicEl(function(t){t.traverse(function(t){t.dataModel=e})}),l.__keep=!0,l.group.silent=e.get("silent")||t.get("silent")}}),Ns(function(t){t.markPoint=t.markPoint||{}}),UO.extend({type:"markLine",defaultOption:{zlevel:0,z:5,symbol:["circle","arrow"],symbolSize:[8,16],precision:2,tooltip:{trigger:"item"},label:{show:!0,position:"end"},lineStyle:{type:"dashed"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:"linear"}});var KO=function(t,e,o,r){var s=t.getData(),l=r.type;if(!y(r)&&("min"===l||"max"===l||"average"===l||"median"===l||null!=r.xAxis||null!=r.yAxis)){var u,h;if(null!=r.yAxis||null!=r.xAxis)u=null!=r.yAxis?"y":"x",e.getAxis(u),h=T(r.yAxis,r.xAxis);else{var c=px(r,s,e,t);u=c.valueDataDim,c.valueAxis,h=yx(s,u,l)}var d="x"===u?0:1,f=1-d,p=i(r),g={};p.type=null,p.coord=[],g.coord=[],p.coord[f]=-1/0,g.coord[f]=1/0;var m=o.get("precision");m>=0&&"number"==typeof h&&(h=+h.toFixed(Math.min(m,20))),p.coord[d]=g.coord[d]=h,r=[p,g,{type:l,valueIndex:r.valueIndex,value:h}]}return r=[fx(t,r[0]),fx(t,r[1]),a({},r[2])],r[2].type=r[2].type||"",n(r[2],r[0]),n(r[2],r[1]),r};qO.extend({type:"markLine",updateTransform:function(t,e,i){e.eachSeries(function(t){var e=t.markLineModel;if(e){var n=e.getData(),o=e.__from,a=e.__to;o.each(function(e){Ix(o,e,!0,t,i),Ix(a,e,!1,t,i)}),n.each(function(t){n.setItemLayout(t,[o.getItemLayout(t),a.getItemLayout(t)])}),this.markerGroupMap.get(t.id).updateLayout()}},this)},renderSeries:function(t,e,i,n){function o(e,i,o){var a=e.getItemModel(i);Ix(e,i,o,t,n),e.setItemVisual(i,{symbolSize:a.get("symbolSize")||g[o?0:1],symbol:a.get("symbol",!0)||p[o?0:1],color:a.get("itemStyle.color")||s.getVisual("color")})}var a=t.coordinateSystem,r=t.id,s=t.getData(),l=this.markerGroupMap,u=l.get(r)||l.set(r,new sf);this.group.add(u.group);var h=Tx(a,t,e),c=h.from,d=h.to,f=h.line;e.__from=c,e.__to=d,e.setData(f);var p=e.get("symbol"),g=e.get("symbolSize");y(p)||(p=[p,p]),"number"==typeof g&&(g=[g,g]),h.from.each(function(t){o(c,t,!0),o(d,t,!1)}),f.each(function(t){var e=f.getItemModel(t).get("lineStyle.color");f.setItemVisual(t,{color:e||c.getItemVisual(t,"color")}),f.setItemLayout(t,[c.getItemLayout(t),d.getItemLayout(t)]),f.setItemVisual(t,{fromSymbolSize:c.getItemVisual(t,"symbolSize"),fromSymbol:c.getItemVisual(t,"symbol"),toSymbolSize:d.getItemVisual(t,"symbolSize"),toSymbol:d.getItemVisual(t,"symbol")})}),u.updateData(f),h.line.eachItemGraphicEl(function(t,i){t.traverse(function(t){t.dataModel=e})}),u.__keep=!0,u.group.silent=e.get("silent")||t.get("silent")}}),Ns(function(t){t.markLine=t.markLine||{}}),UO.extend({type:"markArea",defaultOption:{zlevel:0,z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}}});var $O=function(t,e,i,n){var a=fx(t,n[0]),r=fx(t,n[1]),s=T,l=a.coord,u=r.coord;l[0]=s(l[0],-1/0),l[1]=s(l[1],-1/0),u[0]=s(u[0],1/0),u[1]=s(u[1],1/0);var h=o([{},a,r]);return h.coord=[a.coord,r.coord],h.x0=a.x,h.y0=a.y,h.x1=r.x,h.y1=r.y,h},JO=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]];qO.extend({type:"markArea",updateTransform:function(t,e,i){e.eachSeries(function(t){var e=t.markAreaModel;if(e){var n=e.getData();n.each(function(e){var o=f(JO,function(o){return Lx(n,e,o,t,i)});n.setItemLayout(e,o),n.getItemGraphicEl(e).setShape("points",o)})}},this)},renderSeries:function(t,e,i,n){var o=t.coordinateSystem,a=t.id,s=t.getData(),l=this.markerGroupMap,u=l.get(a)||l.set(a,{group:new tb});this.group.add(u.group),u.__keep=!0;var h=kx(o,t,e);e.setData(h),h.each(function(e){h.setItemLayout(e,f(JO,function(i){return Lx(h,e,i,t,n)})),h.setItemVisual(e,{color:s.getVisual("color")})}),h.diff(u.__data).add(function(t){var e=new pM({shape:{points:h.getItemLayout(t)}});h.setItemGraphicEl(t,e),u.group.add(e)}).update(function(t,i){var n=u.__data.getItemGraphicEl(i);Io(n,{shape:{points:h.getItemLayout(t)}},e,t),u.group.add(n),h.setItemGraphicEl(t,n)}).remove(function(t){var e=u.__data.getItemGraphicEl(t);u.group.remove(e)}).execute(),h.eachItemGraphicEl(function(t,i){var n=h.getItemModel(i),o=n.getModel("label"),a=n.getModel("emphasis.label"),s=h.getItemVisual(i,"color");t.useStyle(r(n.getModel("itemStyle").getItemStyle(),{fill:Yt(s,.4),stroke:s})),t.hoverStyle=n.getModel("emphasis.itemStyle").getItemStyle(),go(t.style,t.hoverStyle,o,a,{labelFetcher:e,labelDataIndex:i,defaultText:h.getName(i)||"",isRectText:!0,autoColor:s}),fo(t,{}),t.dataModel=e}),u.__data=h,u.group.silent=e.get("silent")||t.get("silent")}}),Ns(function(t){t.markArea=t.markArea||{}});lI.registerSubTypeDefaulter("timeline",function(){return"slider"}),Es({type:"timelineChange",event:"timelineChanged",update:"prepareAndUpdate"},function(t,e){var i=e.getComponent("timeline");return i&&null!=t.currentIndex&&(i.setCurrentIndex(t.currentIndex),!i.get("loop",!0)&&i.isIndexMax()&&i.setPlayState(!1)),e.resetOption("timeline"),r({currentIndex:i.option.currentIndex},t)}),Es({type:"timelinePlayChange",event:"timelinePlayChanged",update:"update"},function(t,e){var i=e.getComponent("timeline");i&&null!=t.playState&&i.setPlayState(t.playState)});var QO=lI.extend({type:"timeline",layoutMode:"box",defaultOption:{zlevel:0,z:4,show:!0,axisType:"time",realtime:!0,left:"20%",top:null,right:"20%",bottom:0,width:null,height:40,padding:5,controlPosition:"left",autoPlay:!1,rewind:!1,loop:!0,playInterval:2e3,currentIndex:0,itemStyle:{},label:{color:"#000"},data:[]},init:function(t,e,i){this._data,this._names,this.mergeDefaultAndTheme(t,i),this._initData()},mergeOption:function(t){QO.superApply(this,"mergeOption",arguments),this._initData()},setCurrentIndex:function(t){null==t&&(t=this.option.currentIndex);var e=this._data.count();this.option.loop?t=(t%e+e)%e:(t>=e&&(t=e-1),t<0&&(t=0)),this.option.currentIndex=t},getCurrentIndex:function(){return this.option.currentIndex},isIndexMax:function(){return this.getCurrentIndex()>=this._data.count()-1},setPlayState:function(t){this.option.autoPlay=!!t},getPlayState:function(){return!!this.option.autoPlay},_initData:function(){var t=this.option,e=t.data||[],n=t.axisType,o=this._names=[];if("category"===n){var a=[];d(e,function(t,e){var n,r=Li(t);w(t)?(n=i(t)).value=e:n=e,a.push(n),_(r)||null!=r&&!isNaN(r)||(r=""),o.push(r+"")}),e=a}var r={category:"ordinal",time:"time"}[n]||"number";(this._data=new vA([{name:"value",type:r}],this)).initData(e,o)},getData:function(){return this._data},getCategories:function(){if("category"===this.get("axisType"))return this._names.slice()}});h(QO.extend({type:"timeline.slider",defaultOption:{backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,orient:"horizontal",inverse:!1,tooltip:{trigger:"item"},symbol:"emptyCircle",symbolSize:10,lineStyle:{show:!0,width:2,color:"#304654"},label:{position:"auto",show:!0,interval:"auto",rotate:0,color:"#304654"},itemStyle:{color:"#304654",borderWidth:1},checkpointStyle:{symbol:"circle",symbolSize:13,color:"#c23531",borderWidth:5,borderColor:"rgba(194,53,49, 0.5)",animation:!0,animationDuration:300,animationEasing:"quinticInOut"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:22,itemGap:12,position:"left",playIcon:"path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z",stopIcon:"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z",nextIcon:"path://M18.6,50.8l22.5-22.5c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.7L18.7,4.4c-0.1-0.1-0.2-0.3-0.2-0.5 c0-0.4,0.3-0.8,0.8-0.8c0.2,0,0.5,0.1,0.6,0.3l23.5,23.5l0,0c0.2,0.2,0.3,0.4,0.3,0.7c0,0.3-0.1,0.5-0.3,0.7l-0.1,0.1L19.7,52 c-0.1,0.1-0.3,0.2-0.5,0.2c-0.4,0-0.8-0.3-0.8-0.8C18.4,51.2,18.5,51,18.6,50.8z",prevIcon:"path://M43,52.8L20.4,30.3c-0.2-0.2-0.3-0.4-0.3-0.7c0-0.3,0.1-0.5,0.3-0.7L42.9,6.4c0.1-0.1,0.2-0.3,0.2-0.5 c0-0.4-0.3-0.8-0.8-0.8c-0.2,0-0.5,0.1-0.6,0.3L18.3,28.8l0,0c-0.2,0.2-0.3,0.4-0.3,0.7c0,0.3,0.1,0.5,0.3,0.7l0.1,0.1L41.9,54 c0.1,0.1,0.3,0.2,0.5,0.2c0.4,0,0.8-0.3,0.8-0.8C43.2,53.2,43.1,53,43,52.8z",color:"#304654",borderColor:"#304654",borderWidth:1},emphasis:{label:{show:!0,color:"#c23531"},itemStyle:{color:"#c23531"},controlStyle:{color:"#c23531",borderColor:"#c23531",borderWidth:2}},data:[]}}),ZI);var tE=qI.extend({type:"timeline"}),eE=function(t,e,i,n){aD.call(this,t,e,i),this.type=n||"value",this.model=null};eE.prototype={constructor:eE,getLabelModel:function(){return this.model.getModel("label")},isHorizontal:function(){return"horizontal"===this.model.get("orient")}},u(eE,aD);var iE=m,nE=d,oE=Math.PI;tE.extend({type:"timeline.slider",init:function(t,e){this.api=e,this._axis,this._viewRect,this._timer,this._currentPointer,this._mainGroup,this._labelGroup},render:function(t,e,i,n){if(this.model=t,this.api=i,this.ecModel=e,this.group.removeAll(),t.get("show",!0)){var o=this._layout(t,i),a=this._createGroup("mainGroup"),r=this._createGroup("labelGroup"),s=this._axis=this._createAxis(o,t);t.formatTooltip=function(t){return ia(s.scale.getLabel(t))},nE(["AxisLine","AxisTick","Control","CurrentPointer"],function(e){this["_render"+e](o,a,s,t)},this),this._renderAxisLabel(o,r,s,t),this._position(o,t)}this._doPlayStop()},remove:function(){this._clearTimer(),this.group.removeAll()},dispose:function(){this._clearTimer()},_layout:function(t,e){var i=t.get("label.position"),n=t.get("orient"),o=Ex(t,e);null==i||"auto"===i?i="horizontal"===n?o.y+o.height/2=0||"+"===i?"left":"right"},r={horizontal:i>=0||"+"===i?"top":"bottom",vertical:"middle"},s={horizontal:0,vertical:oE/2},l="vertical"===n?o.height:o.width,u=t.getModel("controlStyle"),h=u.get("show",!0),c=h?u.get("itemSize"):0,d=h?u.get("itemGap"):0,f=c+d,p=t.get("label.rotate")||0;p=p*oE/180;var g,m,v,y,x=u.get("position",!0),_=h&&u.get("showPlayBtn",!0),w=h&&u.get("showPrevBtn",!0),b=h&&u.get("showNextBtn",!0),S=0,M=l;return"left"===x||"bottom"===x?(_&&(g=[0,0],S+=f),w&&(m=[S,0],S+=f),b&&(v=[M-c,0],M-=f)):(_&&(g=[M-c,0],M-=f),w&&(m=[0,0],S+=f),b&&(v=[M-c,0],M-=f)),y=[S,M],t.get("inverse")&&y.reverse(),{viewRect:o,mainLength:l,orient:n,rotation:s[n],labelRotation:p,labelPosOpt:i,labelAlign:t.get("label.align")||a[n],labelBaseline:t.get("label.verticalAlign")||t.get("label.baseline")||r[n],playPosition:g,prevBtnPosition:m,nextBtnPosition:v,axisExtent:y,controlSize:c,controlGap:d}},_position:function(t,e){function i(t){var e=t.position;t.origin=[c[0][0]-e[0],c[1][0]-e[1]]}function n(t){return[[t.x,t.x+t.width],[t.y,t.y+t.height]]}function o(t,e,i,n,o){t[n]+=i[n][o]-e[n][o]}var a=this._mainGroup,r=this._labelGroup,s=t.viewRect;if("vertical"===t.orient){var l=xt(),u=s.x,h=s.y+s.height;St(l,l,[-u,-h]),Mt(l,l,-oE/2),St(l,l,[u,h]),(s=s.clone()).applyTransform(l)}var c=n(s),d=n(a.getBoundingRect()),f=n(r.getBoundingRect()),p=a.position,g=r.position;g[0]=p[0]=c[0][0];var m=t.labelPosOpt;if(isNaN(m))o(p,d,c,1,v="+"===m?0:1),o(g,f,c,1,1-v);else{var v=m>=0?0:1;o(p,d,c,1,v),g[1]=p[1]+m}a.attr("position",p),r.attr("position",g),a.rotation=r.rotation=t.rotation,i(a),i(r)},_createAxis:function(t,e){var i=e.getData(),n=e.get("axisType"),o=Hl(e,n);o.getTicks=function(){return i.mapArray(["value"],function(t){return t})};var a=i.getDataExtent("value");o.setExtent(a[0],a[1]),o.niceTicks();var r=new eE("value",o,t.axisExtent,n);return r.model=e,r},_createGroup:function(t){var e=this["_"+t]=new tb;return this.group.add(e),e},_renderAxisLine:function(t,e,i,n){var o=i.getExtent();n.get("lineStyle.show")&&e.add(new _M({shape:{x1:o[0],y1:0,x2:o[1],y2:0},style:a({lineCap:"round"},n.getModel("lineStyle").getLineStyle()),silent:!0,z2:1}))},_renderAxisTick:function(t,e,i,n){var o=n.getData(),a=i.scale.getTicks();nE(a,function(t){var a=i.dataToCoord(t),r=o.getItemModel(t),s=r.getModel("itemStyle"),l=r.getModel("emphasis.itemStyle"),u={position:[a,0],onclick:iE(this._changeTimeline,this,t)},h=zx(r,s,e,u);fo(h,l.getItemStyle()),r.get("tooltip")?(h.dataIndex=t,h.dataModel=n):h.dataIndex=h.dataModel=null},this)},_renderAxisLabel:function(t,e,i,n){if(i.getLabelModel().get("show")){var o=n.getData(),a=i.getViewLabels();nE(a,function(n){var a=n.tickValue,r=o.getItemModel(a),s=r.getModel("label"),l=r.getModel("emphasis.label"),u=i.dataToCoord(n.tickValue),h=new rM({position:[u,0],rotation:t.labelRotation-t.rotation,onclick:iE(this._changeTimeline,this,a),silent:!1});mo(h.style,s,{text:n.formattedLabel,textAlign:t.labelAlign,textVerticalAlign:t.labelBaseline}),e.add(h),fo(h,mo({},l))},this)}},_renderControl:function(t,e,i,n){function o(t,i,o,h){if(t){var c=Rx(n,i,u,{position:t,origin:[a/2,0],rotation:h?-r:0,rectHover:!0,style:s,onclick:o});e.add(c),fo(c,l)}}var a=t.controlSize,r=t.rotation,s=n.getModel("controlStyle").getItemStyle(),l=n.getModel("emphasis.controlStyle").getItemStyle(),u=[0,-a/2,a,a],h=n.getPlayState(),c=n.get("inverse",!0);o(t.nextBtnPosition,"controlStyle.nextIcon",iE(this._changeTimeline,this,c?"-":"+")),o(t.prevBtnPosition,"controlStyle.prevIcon",iE(this._changeTimeline,this,c?"+":"-")),o(t.playPosition,"controlStyle."+(h?"stopIcon":"playIcon"),iE(this._handlePlayClick,this,!h),!0)},_renderCurrentPointer:function(t,e,i,n){var o=n.getData(),a=n.getCurrentIndex(),r=o.getItemModel(a).getModel("checkpointStyle"),s=this,l={onCreate:function(t){t.draggable=!0,t.drift=iE(s._handlePointerDrag,s),t.ondragend=iE(s._handlePointerDragend,s),Bx(t,a,i,n,!0)},onUpdate:function(t){Bx(t,a,i,n)}};this._currentPointer=zx(r,r,this._mainGroup,{},this._currentPointer,l)},_handlePlayClick:function(t){this._clearTimer(),this.api.dispatchAction({type:"timelinePlayChange",playState:t,from:this.uid})},_handlePointerDrag:function(t,e,i){this._clearTimer(),this._pointerChangeTimeline([i.offsetX,i.offsetY])},_handlePointerDragend:function(t){this._pointerChangeTimeline([t.offsetX,t.offsetY],!0)},_pointerChangeTimeline:function(t,e){var i=this._toAxisCoord(t)[0],n=Fo(this._axis.getExtent().slice());i>n[1]&&(i=n[1]),ii.getHeight()&&(n.textPosition="top",l=!0);var u=l?-5-o.height:s+8;a+o.width/2>i.getWidth()?(n.textPosition=["100%",u],n.textAlign="right"):a-o.width/2<0&&(n.textPosition=[0,u],n.textAlign="left")}})}},updateView:function(t,e,i,n){d(this._features,function(t){t.updateView&&t.updateView(t.model,e,i,n)})},remove:function(t,e){d(this._features,function(i){i.remove&&i.remove(t,e)}),this.group.removeAll()},dispose:function(t,e){d(this._features,function(i){i.dispose&&i.dispose(t,e)})}});var rE=rT.toolbox.saveAsImage;Gx.defaultOption={show:!0,icon:"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",title:rE.title,type:"png",name:"",excludeComponents:["toolbox"],pixelRatio:1,lang:rE.lang.slice()},Gx.prototype.unusable=!U_.canvasSupported,Gx.prototype.onclick=function(t,e){var i=this.model,n=i.get("name")||t.get("title.0.text")||"echarts",o=document.createElement("a"),a=i.get("type",!0)||"png";o.download=n+"."+a,o.target="_blank";var r=e.getConnectedDataURL({type:a,backgroundColor:i.get("backgroundColor",!0)||t.get("backgroundColor")||"#fff",excludeComponents:i.get("excludeComponents"),pixelRatio:i.get("pixelRatio")});if(o.href=r,"function"!=typeof MouseEvent||U_.browser.ie||U_.browser.edge)if(window.navigator.msSaveOrOpenBlob){for(var s=atob(r.split(",")[1]),l=s.length,u=new Uint8Array(l);l--;)u[l]=s.charCodeAt(l);var h=new Blob([u]);window.navigator.msSaveOrOpenBlob(h,n+"."+a)}else{var c=i.get("lang"),d='';window.open().document.write(d)}else{var f=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!1});o.dispatchEvent(f)}},Ty("saveAsImage",Gx);var sE=rT.toolbox.magicType;Fx.defaultOption={show:!0,type:[],icon:{line:"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",bar:"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",stack:"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z",tiled:"M2.3,2.2h22.8V25H2.3V2.2z M35,2.2h22.8V25H35V2.2zM2.3,35h22.8v22.8H2.3V35z M35,35h22.8v22.8H35V35z"},title:i(sE.title),option:{},seriesIndex:{}};var lE=Fx.prototype;lE.getIcons=function(){var t=this.model,e=t.get("icon"),i={};return d(t.get("type"),function(t){e[t]&&(i[t]=e[t])}),i};var uE={line:function(t,e,i,o){if("bar"===t)return n({id:e,type:"line",data:i.get("data"),stack:i.get("stack"),markPoint:i.get("markPoint"),markLine:i.get("markLine")},o.get("option.line")||{},!0)},bar:function(t,e,i,o){if("line"===t)return n({id:e,type:"bar",data:i.get("data"),stack:i.get("stack"),markPoint:i.get("markPoint"),markLine:i.get("markLine")},o.get("option.bar")||{},!0)},stack:function(t,e,i,o){if("line"===t||"bar"===t)return n({id:e,stack:"__ec_magicType_stack__"},o.get("option.stack")||{},!0)},tiled:function(t,e,i,o){if("line"===t||"bar"===t)return n({id:e,stack:""},o.get("option.tiled")||{},!0)}},hE=[["line","bar"],["stack","tiled"]];lE.onclick=function(t,e,i){var n=this.model,o=n.get("seriesIndex."+i);if(uE[i]){var a={series:[]};d(hE,function(t){l(t,i)>=0&&d(t,function(t){n.setIconStatus(t,"normal")})}),n.setIconStatus(i,"emphasis"),t.eachComponent({mainType:"series",query:null==o?null:{seriesIndex:o}},function(e){var o=e.subType,s=e.id,l=uE[i](o,s,e,n);l&&(r(l,e.option),a.series.push(l));var u=e.coordinateSystem;if(u&&"cartesian2d"===u.type&&("line"===i||"bar"===i)){var h=u.getAxesByScale("ordinal")[0];if(h){var c=h.dim+"Axis",d=t.queryComponents({mainType:c,index:e.get(name+"Index"),id:e.get(name+"Id")})[0].componentIndex;a[c]=a[c]||[];for(var f=0;f<=d;f++)a[c][d]=a[c][d]||{};a[c][d].boundaryGap="bar"===i}}}),e.dispatchAction({type:"changeMagicType",currentType:i,newOption:a})}},Es({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},function(t,e){e.mergeOption(t.newOption)}),Ty("magicType",Fx);var cE=rT.toolbox.dataView,dE=new Array(60).join("-"),fE="\t",pE=new RegExp("["+fE+"]+","g");$x.defaultOption={show:!0,readOnly:!1,optionToContent:null,contentToOption:null,icon:"M17.5,17.3H33 M17.5,17.3H33 M45.4,29.5h-28 M11.5,2v56H51V14.8L38.4,2H11.5z M38.4,2.2v12.7H51 M45.4,41.7h-28",title:i(cE.title),lang:i(cE.lang),backgroundColor:"#fff",textColor:"#000",textareaColor:"#fff",textareaBorderColor:"#333",buttonColor:"#c23531",buttonTextColor:"#fff"},$x.prototype.onclick=function(t,e){function i(){n.removeChild(a),x._dom=null}var n=e.getDom(),o=this.model;this._dom&&n.removeChild(this._dom);var a=document.createElement("div");a.style.cssText="position:absolute;left:5px;top:5px;bottom:5px;right:5px;",a.style.backgroundColor=o.get("backgroundColor")||"#fff";var r=document.createElement("h4"),s=o.get("lang")||[];r.innerHTML=s[0]||o.get("title"),r.style.cssText="margin: 10px 20px;",r.style.color=o.get("textColor");var l=document.createElement("div"),u=document.createElement("textarea");l.style.cssText="display:block;width:100%;overflow:auto;";var h=o.get("optionToContent"),c=o.get("contentToOption"),d=Ux(t);if("function"==typeof h){var f=h(e.getOption());"string"==typeof f?l.innerHTML=f:M(f)&&l.appendChild(f)}else l.appendChild(u),u.readOnly=o.get("readOnly"),u.style.cssText="width:100%;height:100%;font-family:monospace;font-size:14px;line-height:1.6rem;",u.style.color=o.get("textColor"),u.style.borderColor=o.get("textareaBorderColor"),u.style.backgroundColor=o.get("textareaColor"),u.value=d.value;var p=d.meta,g=document.createElement("div");g.style.cssText="position:absolute;bottom:0;left:0;right:0;";var m="float:right;margin-right:20px;border:none;cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px",v=document.createElement("div"),y=document.createElement("div");m+=";background-color:"+o.get("buttonColor"),m+=";color:"+o.get("buttonTextColor");var x=this;ht(v,"click",i),ht(y,"click",function(){var t;try{t="function"==typeof c?c(l,e.getOption()):Kx(u.value,p)}catch(t){throw i(),new Error("Data view format error "+t)}t&&e.dispatchAction({type:"changeDataView",newOption:t}),i()}),v.innerHTML=s[1],y.innerHTML=s[2],y.style.cssText=m,v.style.cssText=m,!o.get("readOnly")&&g.appendChild(y),g.appendChild(v),ht(u,"keydown",function(t){if(9===(t.keyCode||t.which)){var e=this.value,i=this.selectionStart,n=this.selectionEnd;this.value=e.substring(0,i)+fE+e.substring(n),this.selectionStart=this.selectionEnd=i+1,mw(t)}}),a.appendChild(r),a.appendChild(l),a.appendChild(g),l.style.height=n.clientHeight-80+"px",n.appendChild(a),this._dom=a},$x.prototype.remove=function(t,e){this._dom&&e.getDom().removeChild(this._dom)},$x.prototype.dispose=function(t,e){this.remove(t,e)},Ty("dataView",$x),Es({type:"changeDataView",event:"dataViewChanged",update:"prepareAndUpdate"},function(t,e){var i=[];d(t.newOption.series,function(t){var n=e.getSeriesByName(t.name)[0];if(n){var o=n.get("data");i.push({name:t.name,data:Jx(t.data,o)})}else i.push(a({type:"scatter"},t))}),e.mergeOption(r({series:i},t.newOption))});var gE=d,mE="\0_ec_hist_store";iO.extend({type:"dataZoom.select"}),nO.extend({type:"dataZoom.select"});var vE=rT.toolbox.dataZoom,yE=d,xE="\0_ec_\0toolbox-dataZoom_";o_.defaultOption={show:!0,icon:{zoom:"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",back:"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"},title:i(vE.title)};var _E=o_.prototype;_E.render=function(t,e,i,n){this.model=t,this.ecModel=e,this.api=i,s_(t,e,this,n,i),r_(t,e)},_E.onclick=function(t,e,i){wE[i].call(this)},_E.remove=function(t,e){this._brushController.unmount()},_E.dispose=function(t,e){this._brushController.dispose()};var wE={zoom:function(){var t=!this._isZoomActive;this.api.dispatchAction({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:t})},back:function(){this._dispatchZoomAction(t_(this.ecModel))}};_E._onBrush=function(t,e){function i(t,e,i){var r=e.getAxis(t),s=r.model,l=n(t,s,a),u=l.findRepresentativeAxisProxy(s).getMinMaxSpan();null==u.minValueSpan&&null==u.maxValueSpan||(i=QL(0,i.slice(),r.scale.getExtent(),0,u.minValueSpan,u.maxValueSpan)),l&&(o[l.id]={dataZoomId:l.id,startValue:i[0],endValue:i[1]})}function n(t,e,i){var n;return i.eachComponent({mainType:"dataZoom",subType:"select"},function(i){i.getAxisModel(t,e.componentIndex)&&(n=i)}),n}if(e.isEnd&&t.length){var o={},a=this.ecModel;this._brushController.updateCovers([]),new hy(a_(this.model.option),a,{include:["grid"]}).matchOutputRanges(t,a,function(t,e,n){if("cartesian2d"===n.type){var o=t.brushType;"rect"===o?(i("x",n,e[0]),i("y",n,e[1])):i({lineX:"x",lineY:"y"}[o],n,e)}}),Qx(a,o),this._dispatchZoomAction(o)}},_E._dispatchZoomAction=function(t){var e=[];yE(t,function(t,n){e.push(i(t))}),e.length&&this.api.dispatchAction({type:"dataZoom",from:this.uid,batch:e})},Ty("dataZoom",o_),Ns(function(t){function e(t,e){if(e){var o=t+"Index",a=e[o];null==a||"all"===a||y(a)||(a=!1===a||"none"===a?[]:[a]),i(t,function(e,i){if(null==a||"all"===a||-1!==l(a,i)){var r={type:"select",$fromToolbox:!0,id:xE+t+i};r[o]=i,n.push(r)}})}}function i(e,i){var n=t[e];y(n)||(n=n?[n]:[]),yE(n,i)}if(t){var n=t.dataZoom||(t.dataZoom=[]);y(n)||(t.dataZoom=n=[n]);var o=t.toolbox;if(o&&(y(o)&&(o=o[0]),o&&o.feature)){var a=o.feature.dataZoom;e("xAxis",a),e("yAxis",a)}}});var bE=rT.toolbox.restore;l_.defaultOption={show:!0,icon:"M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5",title:bE.title},l_.prototype.onclick=function(t,e,i){e_(t),e.dispatchAction({type:"restore",from:this.uid})},Ty("restore",l_),Es({type:"restore",event:"restore",update:"prepareAndUpdate"},function(t,e){e.resetOption("recreate")});var SE,ME="urn:schemas-microsoft-com:vml",IE="undefined"==typeof window?null:window,TE=!1,AE=IE&&IE.document;if(AE&&!U_.canvasSupported)try{!AE.namespaces.zrvml&&AE.namespaces.add("zrvml",ME),SE=function(t){return AE.createElement("')}}catch(t){SE=function(t){return AE.createElement("<"+t+' xmlns="'+ME+'" class="zrvml">')}}var DE=ES.CMD,CE=Math.round,LE=Math.sqrt,kE=Math.abs,PE=Math.cos,NE=Math.sin,OE=Math.max;if(!U_.canvasSupported){var EE=21600,RE=EE/2,zE=function(t){t.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px;",t.coordsize=EE+","+EE,t.coordorigin="0,0"},BE=function(t){return String(t).replace(/&/g,"&").replace(/"/g,""")},VE=function(t,e,i){return"rgb("+[t,e,i].join(",")+")"},GE=function(t,e){e&&t&&e.parentNode!==t&&t.appendChild(e)},FE=function(t,e){e&&t&&e.parentNode===t&&t.removeChild(e)},WE=function(t,e,i){return 1e5*(parseFloat(t)||0)+1e3*(parseFloat(e)||0)+i},HE=function(t,e){return"string"==typeof t?t.lastIndexOf("%")>=0?parseFloat(t)/100*e:parseFloat(t):t},ZE=function(t,e,i){var n=Gt(e);i=+i,isNaN(i)&&(i=1),n&&(t.color=VE(n[0],n[1],n[2]),t.opacity=i*n[3])},UE=function(t){var e=Gt(t);return[VE(e[0],e[1],e[2]),e[3]]},XE=function(t,e,i){var n=e.fill;if(null!=n)if(n instanceof IM){var o,a=0,r=[0,0],s=0,l=1,u=i.getBoundingRect(),h=u.width,c=u.height;if("linear"===n.type){o="gradient";var d=i.transform,f=[n.x*h,n.y*c],p=[n.x2*h,n.y2*c];d&&(Q(f,f,d),Q(p,p,d));var g=p[0]-f[0],m=p[1]-f[1];(a=180*Math.atan2(g,m)/Math.PI)<0&&(a+=360),a<1e-6&&(a=0)}else{o="gradientradial";var f=[n.x*h,n.y*c],d=i.transform,v=i.scale,y=h,x=c;r=[(f[0]-u.x)/y,(f[1]-u.y)/x],d&&Q(f,f,d),y/=v[0]*EE,x/=v[1]*EE;var _=OE(y,x);s=0/_,l=2*n.r/_-s}var w=n.colorStops.slice();w.sort(function(t,e){return t.offset-e.offset});for(var b=w.length,S=[],M=[],I=0;I=2){var D=S[0][0],C=S[1][0],L=S[0][1]*e.opacity,k=S[1][1]*e.opacity;t.type=o,t.method="none",t.focus="100%",t.angle=a,t.color=D,t.color2=C,t.colors=M.join(","),t.opacity=k,t.opacity2=L}"radial"===o&&(t.focusposition=r.join(","))}else ZE(t,n,e.opacity)},jE=function(t,e){null!=e.lineDash&&(t.dashstyle=e.lineDash.join(" ")),null==e.stroke||e.stroke instanceof IM||ZE(t,e.stroke,e.opacity)},YE=function(t,e,i,n){var o="fill"===e,a=t.getElementsByTagName(e)[0];null!=i[e]&&"none"!==i[e]&&(o||!o&&i.lineWidth)?(t[o?"filled":"stroked"]="true",i[e]instanceof IM&&FE(t,a),a||(a=u_(e)),o?XE(a,i,n):jE(a,i),GE(t,a)):(t[o?"filled":"stroked"]="false",FE(t,a))},qE=[[],[],[]],KE=function(t,e){var i,n,o,a,r,s,l=DE.M,u=DE.C,h=DE.L,c=DE.A,d=DE.Q,f=[],p=t.data,g=t.len();for(a=0;a.01?N&&(O+=.0125):Math.abs(E-D)<1e-4?N&&OA?x-=.0125:x+=.0125:N&&ED?y+=.0125:y-=.0125),f.push(R,CE(((A-C)*M+b)*EE-RE),",",CE(((D-L)*I+S)*EE-RE),",",CE(((A+C)*M+b)*EE-RE),",",CE(((D+L)*I+S)*EE-RE),",",CE((O*M+b)*EE-RE),",",CE((E*I+S)*EE-RE),",",CE((y*M+b)*EE-RE),",",CE((x*I+S)*EE-RE)),r=y,s=x;break;case DE.R:var z=qE[0],B=qE[1];z[0]=p[a++],z[1]=p[a++],B[0]=z[0]+p[a++],B[1]=z[1]+p[a++],e&&(Q(z,z,e),Q(B,B,e)),z[0]=CE(z[0]*EE-RE),B[0]=CE(B[0]*EE-RE),z[1]=CE(z[1]*EE-RE),B[1]=CE(B[1]*EE-RE),f.push(" m ",z[0],",",z[1]," l ",B[0],",",z[1]," l ",B[0],",",B[1]," l ",z[0],",",B[1]);break;case DE.Z:f.push(" x ")}if(i>0){f.push(n);for(var V=0;V100&&(tR=0,QE={});var i,n=eR.style;try{n.font=t,i=n.fontFamily.split(",")[0]}catch(t){}e={style:n.fontStyle||"normal",variant:n.fontVariant||"normal",weight:n.fontWeight||"normal",size:0|parseFloat(n.fontSize||12),family:i||"Microsoft YaHei"},QE[t]=e,tR++}return e};!function(t,e){bb[t]=e}("measureText",function(t,e){var i=AE;JE||((JE=i.createElement("div")).style.cssText="position:absolute;top:-20000px;left:0;padding:0;margin:0;border:none;white-space:pre;",AE.body.appendChild(JE));try{JE.style.font=e}catch(t){}return JE.innerHTML="",JE.appendChild(i.createTextNode(t)),{width:JE.offsetWidth}});for(var nR=new de,oR=[Db,di,fi,Pn,rM],aR=0;aR=o&&u+1>=a){for(var h=[],c=0;c=o&&c+1>=a)return T_(0,s.components);l[i]=s}else l[i]=void 0}r++}();if(d)return d}},pushComponent:function(t,e,i){var n=t[t.length-1];n&&n.added===e&&n.removed===i?t[t.length-1]={count:n.count+1,added:e,removed:i}:t.push({count:1,added:e,removed:i})},extractCommon:function(t,e,i,n){for(var o=e.length,a=i.length,r=t.newPos,s=r-n,l=0;r+1=0;--n)if(e[n]===t)return!0;return!1}),i):null:i[0]},D_.prototype.update=function(t,e){if(t){var i=this.getDefs(!1);if(t[this._domName]&&i.contains(t[this._domName]))"function"==typeof e&&e(t);else{var n=this.add(t);n&&(t[this._domName]=n)}}},D_.prototype.addDom=function(t){this.getDefs(!0).appendChild(t)},D_.prototype.removeDom=function(t){var e=this.getDefs(!1);e&&t[this._domName]&&(e.removeChild(t[this._domName]),t[this._domName]=null)},D_.prototype.getDoms=function(){var t=this.getDefs(!1);if(!t)return[];var e=[];return d(this._tagNames,function(i){var n=t.getElementsByTagName(i);e=e.concat([].slice.call(n))}),e},D_.prototype.markAllUnused=function(){var t=this;d(this.getDoms(),function(e){e[t._markLabel]="0"})},D_.prototype.markUsed=function(t){t&&(t[this._markLabel]="1")},D_.prototype.removeUnused=function(){var t=this.getDefs(!1);if(t){var e=this;d(this.getDoms(),function(i){"1"!==i[e._markLabel]&&t.removeChild(i)})}},D_.prototype.getSvgProxy=function(t){return t instanceof Pn?yR:t instanceof fi?xR:t instanceof rM?_R:yR},D_.prototype.getTextSvgElement=function(t){return t.__textSvgEl},D_.prototype.getSvgElement=function(t){return t.__svgEl},u(C_,D_),C_.prototype.addWithoutUpdate=function(t,e){if(e&&e.style){var i=this;d(["fill","stroke"],function(n){if(e.style[n]&&("linear"===e.style[n].type||"radial"===e.style[n].type)){var o,a=e.style[n],r=i.getDefs(!0);a._dom?(o=a._dom,r.contains(a._dom)||i.addDom(o)):o=i.add(a),i.markUsed(e);var s=o.getAttribute("id");t.setAttribute(n,"url(#"+s+")")}})}},C_.prototype.add=function(t){var e;if("linear"===t.type)e=this.createElement("linearGradient");else{if("radial"!==t.type)return Yw("Illegal gradient type."),null;e=this.createElement("radialGradient")}return t.id=t.id||this.nextId++,e.setAttribute("id","zr"+this._zrId+"-gradient-"+t.id),this.updateDom(t,e),this.addDom(e),e},C_.prototype.update=function(t){var e=this;D_.prototype.update.call(this,t,function(){var i=t.type,n=t._dom.tagName;"linear"===i&&"linearGradient"===n||"radial"===i&&"radialGradient"===n?e.updateDom(t,t._dom):(e.removeDom(t),e.add(t))})},C_.prototype.updateDom=function(t,e){if("linear"===t.type)e.setAttribute("x1",t.x),e.setAttribute("y1",t.y),e.setAttribute("x2",t.x2),e.setAttribute("y2",t.y2);else{if("radial"!==t.type)return void Yw("Illegal gradient type.");e.setAttribute("cx",t.x),e.setAttribute("cy",t.y),e.setAttribute("r",t.r)}t.global?e.setAttribute("gradientUnits","userSpaceOnUse"):e.setAttribute("gradientUnits","objectBoundingBox"),e.innerHTML="";for(var i=t.colorStops,n=0,o=i.length;n0){var n,o,a=this.getDefs(!0),r=e[0],s=i?"_textDom":"_dom";r[s]?(o=r[s].getAttribute("id"),n=r[s],a.contains(n)||a.appendChild(n)):(o="zr"+this._zrId+"-clip-"+this.nextId,++this.nextId,(n=this.createElement("clipPath")).setAttribute("id",o),a.appendChild(n),r[s]=n);var l=this.getSvgProxy(r);if(r.transform&&r.parent.invTransform&&!i){var u=Array.prototype.slice.call(r.transform);bt(r.transform,r.parent.invTransform,r.transform),l.brush(r),r.transform=u}else l.brush(r);var h=this.getSvgElement(r);n.innerHTML="",n.appendChild(h.cloneNode()),t.setAttribute("clip-path","url(#"+o+")"),e.length>1&&this.updateDom(n,e.slice(1),i)}else t&&t.setAttribute("clip-path","none")},L_.prototype.markUsed=function(t){var e=this;t.__clipPaths&&t.__clipPaths.length>0&&d(t.__clipPaths,function(t){t._dom&&D_.prototype.markUsed.call(e,t._dom),t._textDom&&D_.prototype.markUsed.call(e,t._textDom)})},u(k_,D_),k_.prototype.addWithoutUpdate=function(t,e){if(e&&P_(e.style)){var i,n=e.style;n._shadowDom?(i=n._shadowDom,this.getDefs(!0).contains(n._shadowDom)||this.addDom(i)):i=this.add(e),this.markUsed(e);var o=i.getAttribute("id");t.style.filter="url(#"+o+")"}},k_.prototype.add=function(t){var e=this.createElement("filter"),i=t.style;return i._shadowDomId=i._shadowDomId||this.nextId++,e.setAttribute("id","zr"+this._zrId+"-shadow-"+i._shadowDomId),this.updateDom(t,e),this.addDom(e),e},k_.prototype.update=function(t,e){var i=e.style;if(P_(i)){var n=this;D_.prototype.update.call(this,e,function(t){n.updateDom(e,t._shadowDom)})}else this.remove(t,i)},k_.prototype.remove=function(t,e){null!=e._shadowDomId&&(this.removeDom(e),t.style.filter="")},k_.prototype.updateDom=function(t,e){var i=e.getElementsByTagName("feDropShadow");i=0===i.length?this.createElement("feDropShadow"):i[0];var n,o,a,r,s=t.style,l=t.scale?t.scale[0]||1:1,u=t.scale?t.scale[1]||1:1;if(s.shadowBlur||s.shadowOffsetX||s.shadowOffsetY)n=s.shadowOffsetX||0,o=s.shadowOffsetY||0,a=s.shadowBlur,r=s.shadowColor;else{if(!s.textShadowBlur)return void this.removeDom(e,s);n=s.textShadowOffsetX||0,o=s.textShadowOffsetY||0,a=s.textShadowBlur,r=s.textShadowColor}i.setAttribute("dx",n/l),i.setAttribute("dy",o/u),i.setAttribute("flood-color",r);var h=a/2/l+" "+a/2/u;i.setAttribute("stdDeviation",h),e.setAttribute("x","-100%"),e.setAttribute("y","-100%"),e.setAttribute("width",Math.ceil(a/2*200)+"%"),e.setAttribute("height",Math.ceil(a/2*200)+"%"),e.appendChild(i),s._shadowDom=e},k_.prototype.markUsed=function(t){var e=t.style;e&&e._shadowDom&&D_.prototype.markUsed.call(this,e._shadowDom)};var IR=function(t,e,i,n){this.root=t,this.storage=e,this._opts=i=a({},i||{});var o=p_("svg");o.setAttribute("xmlns","http://www.w3.org/2000/svg"),o.setAttribute("version","1.1"),o.setAttribute("baseProfile","full"),o.style.cssText="user-select:none;position:absolute;left:0;top:0;",this.gradientManager=new C_(n,o),this.clipPathManager=new L_(n,o),this.shadowManager=new k_(n,o);var r=document.createElement("div");r.style.cssText="overflow:hidden;position:relative",this._svgRoot=o,this._viewport=r,t.appendChild(r),r.appendChild(o),this.resize(i.width,i.height),this._visibleList=[]};IR.prototype={constructor:IR,getType:function(){return"svg"},getViewportRoot:function(){return this._viewport},getViewportRootOffset:function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},refresh:function(){var t=this.storage.getDisplayList(!0);this._paintList(t)},setBackgroundColor:function(t){this._viewport.style.background=t},_paintList:function(t){this.gradientManager.markAllUnused(),this.clipPathManager.markAllUnused(),this.shadowManager.markAllUnused();var e,i=this._svgRoot,n=this._visibleList,o=t.length,a=[];for(e=0;e=0;--n)if(e[n]===t)return!0;return!1}),i):null:i[0]},resize:function(t,e){var i=this._viewport;i.style.display="none";var n=this._opts;if(null!=t&&(n.width=t),null!=e&&(n.height=e),t=this._getSize(0),e=this._getSize(1),i.style.display="",this._width!==t||this._height!==e){this._width=t,this._height=e;var o=i.style;o.width=t+"px",o.height=e+"px";var a=this._svgRoot;a.setAttribute("width",t),a.setAttribute("height",e)}},getWidth:function(){return this._width},getHeight:function(){return this._height},_getSize:function(t){var e=this._opts,i=["width","height"][t],n=["clientWidth","clientHeight"][t],o=["paddingLeft","paddingTop"][t],a=["paddingRight","paddingBottom"][t];if(null!=e[i]&&"auto"!==e[i])return parseFloat(e[i]);var r=this.root,s=document.defaultView.getComputedStyle(r);return(r[n]||N_(s[i])||N_(r.style[i]))-(N_(s[o])||0)-(N_(s[a])||0)|0},dispose:function(){this.root.innerHTML="",this._svgRoot=this._viewport=this.storage=null},clear:function(){this._viewport&&this.root.removeChild(this._viewport)},pathToDataUrl:function(){return this.refresh(),"data:image/svg+xml;charset=UTF-8,"+this._svgRoot.outerHTML}},d(["getLayer","insertLayer","eachLayer","eachBuiltinLayer","eachOtherLayer","getLayers","modLayer","delLayer","clearLayer","toDataURL","pathToImage"],function(t){IR.prototype[t]=F_(t)}),Ti("svg",IR),t.version="4.2.1",t.dependencies=ET,t.PRIORITY=VT,t.init=function(t,e,i){var n=ks(t);if(n)return n;var o=new us(t,e,i);return o.id="ec_"+iA++,tA[o.id]=o,Fi(t,oA,o.id),Cs(o),o},t.connect=function(t){if(y(t)){var e=t;t=null,kT(e,function(e){null!=e.group&&(t=e.group)}),t=t||"g_"+nA++,kT(e,function(e){e.group=t})}return eA[t]=!0,t},t.disConnect=Ls,t.disconnect=aA,t.dispose=function(t){"string"==typeof t?t=tA[t]:t instanceof us||(t=ks(t)),t instanceof us&&!t.isDisposed()&&t.dispose()},t.getInstanceByDom=ks,t.getInstanceById=function(t){return tA[t]},t.registerTheme=Ps,t.registerPreprocessor=Ns,t.registerProcessor=Os,t.registerPostUpdate=function(t){KT.push(t)},t.registerAction=Es,t.registerCoordinateSystem=Rs,t.getCoordinateSystemDimensions=function(t){var e=Fa.get(t);if(e)return e.getDimensionsInfo?e.getDimensionsInfo():e.dimensions.slice()},t.registerLayout=zs,t.registerVisual=Bs,t.registerLoading=Gs,t.extendComponentModel=Fs,t.extendComponentView=Ws,t.extendSeriesModel=Hs,t.extendChartView=Zs,t.setCanvasCreator=function(t){e("createCanvas",t)},t.registerMap=function(t,e,i){DT.registerMap(t,e,i)},t.getMap=function(t){var e=DT.retrieveMap(t);return e&&e[0]&&{geoJson:e[0].geoJSON,specialAreas:e[0].specialAreas}},t.dataTool=rA,t.zrender=Hb,t.number=YM,t.format=eI,t.throttle=Pr,t.helper=tD,t.matrix=Sw,t.vector=cw,t.color=Ww,t.parseGeoJSON=iD,t.parseGeoJson=rD,t.util=sD,t.graphic=lD,t.List=vA,t.Model=No,t.Axis=aD,t.env=U_}); \ No newline at end of file diff --git a/uni_modules/uni-badge/changelog.md b/uni_modules/uni-badge/changelog.md new file mode 100644 index 0000000..e352c60 --- /dev/null +++ b/uni_modules/uni-badge/changelog.md @@ -0,0 +1,33 @@ +## 1.2.2(2023-01-28) +- 修复 运行/打包 控制台警告问题 +## 1.2.1(2022-09-05) +- 修复 当 text 超过 max-num 时,badge 的宽度计算是根据 text 的长度计算,更改为 css 计算实际展示宽度,详见:[https://ask.dcloud.net.cn/question/150473](https://ask.dcloud.net.cn/question/150473) +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-badge](https://uniapp.dcloud.io/component/uniui/uni-badge) +## 1.1.7(2021-11-08) +- 优化 升级ui +- 修改 size 属性默认值调整为 small +- 修改 type 属性,默认值调整为 error,info 替换 default +## 1.1.6(2021-09-22) +- 修复 在字节小程序上样式不生效的 bug +## 1.1.5(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.1.4(2021-07-29) +- 修复 去掉 nvue 不支持css 的 align-self 属性,nvue 下不暂支持 absolute 属性 +## 1.1.3(2021-06-24) +- 优化 示例项目 +## 1.1.1(2021-05-12) +- 新增 组件示例地址 +## 1.1.0(2021-05-12) +- 新增 uni-badge 的 absolute 属性,支持定位 +- 新增 uni-badge 的 offset 属性,支持定位偏移 +- 新增 uni-badge 的 is-dot 属性,支持仅显示有一个小点 +- 新增 uni-badge 的 max-num 属性,支持自定义封顶的数字值,超过 99 显示99+ +- 优化 uni-badge 属性 custom-style, 支持以对象形式自定义样式 +## 1.0.7(2021-05-07) +- 修复 uni-badge 在 App 端,数字小于10时不是圆形的bug +- 修复 uni-badge 在父元素不是 flex 布局时,宽度缩小的bug +- 新增 uni-badge 属性 custom-style, 支持自定义样式 +## 1.0.6(2021-02-04) +- 调整为uni_modules目录规范 diff --git a/uni_modules/uni-badge/components/uni-badge/uni-badge.vue b/uni_modules/uni-badge/components/uni-badge/uni-badge.vue new file mode 100644 index 0000000..956354b --- /dev/null +++ b/uni_modules/uni-badge/components/uni-badge/uni-badge.vue @@ -0,0 +1,268 @@ + + + + + diff --git a/uni_modules/uni-badge/package.json b/uni_modules/uni-badge/package.json new file mode 100644 index 0000000..b0bac93 --- /dev/null +++ b/uni_modules/uni-badge/package.json @@ -0,0 +1,85 @@ +{ + "id": "uni-badge", + "displayName": "uni-badge 数字角标", + "version": "1.2.2", + "description": "数字角标(徽章)组件,在元素周围展示消息提醒,一般用于列表、九宫格、按钮等地方。", + "keywords": [ + "", + "badge", + "uni-ui", + "uniui", + "数字角标", + "徽章" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "y", + "联盟": "y" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-badge/readme.md b/uni_modules/uni-badge/readme.md new file mode 100644 index 0000000..bdf175d --- /dev/null +++ b/uni_modules/uni-badge/readme.md @@ -0,0 +1,10 @@ +## Badge 数字角标 +> **组件名:uni-badge** +> 代码块: `uBadge` + +数字角标一般和其它控件(列表、9宫格等)配合使用,用于进行数量提示,默认为实心灰色背景, + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-badge) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/uni_modules/uni-breadcrumb/changelog.md b/uni_modules/uni-breadcrumb/changelog.md new file mode 100644 index 0000000..209e5c5 --- /dev/null +++ b/uni_modules/uni-breadcrumb/changelog.md @@ -0,0 +1,6 @@ +## 0.1.2(2022-06-08) +- 修复 微信小程序 separator 不显示的Bug +## 0.1.1(2022-06-02) +- 新增 支持 uni.scss 修改颜色 +## 0.1.0(2022-04-21) +- 初始化 diff --git a/uni_modules/uni-breadcrumb/components/uni-breadcrumb-item/uni-breadcrumb-item.vue b/uni_modules/uni-breadcrumb/components/uni-breadcrumb-item/uni-breadcrumb-item.vue new file mode 100644 index 0000000..b9edbd6 --- /dev/null +++ b/uni_modules/uni-breadcrumb/components/uni-breadcrumb-item/uni-breadcrumb-item.vue @@ -0,0 +1,121 @@ + + + diff --git a/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue b/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue new file mode 100644 index 0000000..94493a2 --- /dev/null +++ b/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue @@ -0,0 +1,41 @@ + + + diff --git a/uni_modules/uni-breadcrumb/package.json b/uni_modules/uni-breadcrumb/package.json new file mode 100644 index 0000000..0a04e50 --- /dev/null +++ b/uni_modules/uni-breadcrumb/package.json @@ -0,0 +1,88 @@ +{ + "id": "uni-breadcrumb", + "displayName": "uni-breadcrumb 面包屑", + "version": "0.1.2", + "description": "Breadcrumb 面包屑", + "keywords": [ + "uni-breadcrumb", + "breadcrumb", + "uni-ui", + "面包屑导航", + "面包屑" +], + "repository": "", + "engines": { + "HBuilderX": "^3.1.0" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "" + }, + "uni_modules": { + "dependencies": [], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "Vue": { + "vue2": "y", + "vue3": "y" + }, + "App": { + "app-vue": "y", + "app-nvue": "n" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "u", + "百度": "u", + "字节跳动": "u", + "QQ": "u", + "京东": "u" + }, + "快应用": { + "华为": "u", + "联盟": "u" + } + } + } + } +} diff --git a/uni_modules/uni-breadcrumb/readme.md b/uni_modules/uni-breadcrumb/readme.md new file mode 100644 index 0000000..6976b8d --- /dev/null +++ b/uni_modules/uni-breadcrumb/readme.md @@ -0,0 +1,66 @@ + +## breadcrumb 面包屑导航 +> **组件名:uni-breadcrumb** +> 代码块: `ubreadcrumb` + +显示当前页面的路径,快速返回之前的任意页面。 + +### 安装方式 + +本组件符合[easycom](https://uniapp.dcloud.io/collocation/pages?id=easycom)规范,`HBuilderX 2.5.5`起,只需将本组件导入项目,在页面`template`中即可直接使用,无需在页面中`import`和注册`components`。 + +如需通过`npm`方式使用`uni-ui`组件,另见文档:[https://ext.dcloud.net.cn/plugin?id=55](https://ext.dcloud.net.cn/plugin?id=55) + +### 基本用法 + +在 ``template`` 中使用组件 + +```html + + {{route.name}} + +``` + +```js +export default { + name: "uni-stat-breadcrumb", + data() { + return { + routes: [{ + to: '/A', + name: 'A页面' + }, { + to: '/B', + name: 'B页面' + }, { + to: '/C', + name: 'C页面' + }] + }; + } + } +``` + + +## API + +### Breadcrumb Props + +|属性名 |类型 |默认值 |说明 | +|:-: |:-: |:-: |:-: | +|separator |String |斜杠'/' |分隔符 | +|separatorClass |String | |图标分隔符 class | + +### Breadcrumb Item Props + +|属性名 |类型 |默认值 |说明 | +|:-: |:-: |:-: |:-: | +|to |String | |路由跳转页面路径 | +|replace|Boolean | |在使用 to 进行路由跳转时,启用 replace 将不会向 history 添加新记录(仅 h5 支持) | + + + + +## 组件示例 + +点击查看:[https://hellouniapp.dcloud.net.cn/pages/extUI/breadcrumb/breadcrumb](https://hellouniapp.dcloud.net.cn/pages/extUI/breadcrumb/breadcrumb) \ No newline at end of file diff --git a/uni_modules/uni-calendar/changelog.md b/uni_modules/uni-calendar/changelog.md new file mode 100644 index 0000000..f291eec --- /dev/null +++ b/uni_modules/uni-calendar/changelog.md @@ -0,0 +1,26 @@ +## 1.4.10(2023-04-10) +- 修复 某些情况 monthSwitch 未触发的Bug +## 1.4.9(2023-02-02) +- 修复 某些情况切换月份错误的Bug +## 1.4.8(2023-01-30) +- 修复 某些情况切换月份错误的Bug [详情](https://ask.dcloud.net.cn/question/161964) +## 1.4.7(2022-09-16) +- 优化 支持使用 uni-scss 控制主题色 +## 1.4.6(2022-09-08) +- 修复 表头年月切换,导致改变当前日期为选择月1号,且未触发change事件的Bug +## 1.4.5(2022-02-25) +- 修复 条件编译 nvue 不支持的 css 样式的Bug +## 1.4.4(2022-02-25) +- 修复 条件编译 nvue 不支持的 css 样式的Bug +## 1.4.3(2021-09-22) +- 修复 startDate、 endDate 属性失效的Bug +## 1.4.2(2021-08-24) +- 新增 支持国际化 +## 1.4.1(2021-08-05) +- 修复 弹出层被 tabbar 遮盖的Bug +## 1.4.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.3.16(2021-05-12) +- 新增 组件示例地址 +## 1.3.15(2021-02-04) +- 调整为uni_modules目录规范 diff --git a/uni_modules/uni-calendar/components/uni-calendar/calendar.js b/uni_modules/uni-calendar/components/uni-calendar/calendar.js new file mode 100644 index 0000000..b8d7d6f --- /dev/null +++ b/uni_modules/uni-calendar/components/uni-calendar/calendar.js @@ -0,0 +1,546 @@ +/** +* @1900-2100区间内的公历、农历互转 +* @charset UTF-8 +* @github https://github.com/jjonline/calendar.js +* @Author Jea杨(JJonline@JJonline.Cn) +* @Time 2014-7-21 +* @Time 2016-8-13 Fixed 2033hex、Attribution Annals +* @Time 2016-9-25 Fixed lunar LeapMonth Param Bug +* @Time 2017-7-24 Fixed use getTerm Func Param Error.use solar year,NOT lunar year +* @Version 1.0.3 +* @公历转农历:calendar.solar2lunar(1987,11,01); //[you can ignore params of prefix 0] +* @农历转公历:calendar.lunar2solar(1987,09,10); //[you can ignore params of prefix 0] +*/ +/* eslint-disable */ +var calendar = { + + /** + * 农历1900-2100的润大小信息表 + * @Array Of Property + * @return Hex + */ + lunarInfo: [0x04bd8, 0x04ae0, 0x0a570, 0x054d5, 0x0d260, 0x0d950, 0x16554, 0x056a0, 0x09ad0, 0x055d2, // 1900-1909 + 0x04ae0, 0x0a5b6, 0x0a4d0, 0x0d250, 0x1d255, 0x0b540, 0x0d6a0, 0x0ada2, 0x095b0, 0x14977, // 1910-1919 + 0x04970, 0x0a4b0, 0x0b4b5, 0x06a50, 0x06d40, 0x1ab54, 0x02b60, 0x09570, 0x052f2, 0x04970, // 1920-1929 + 0x06566, 0x0d4a0, 0x0ea50, 0x06e95, 0x05ad0, 0x02b60, 0x186e3, 0x092e0, 0x1c8d7, 0x0c950, // 1930-1939 + 0x0d4a0, 0x1d8a6, 0x0b550, 0x056a0, 0x1a5b4, 0x025d0, 0x092d0, 0x0d2b2, 0x0a950, 0x0b557, // 1940-1949 + 0x06ca0, 0x0b550, 0x15355, 0x04da0, 0x0a5b0, 0x14573, 0x052b0, 0x0a9a8, 0x0e950, 0x06aa0, // 1950-1959 + 0x0aea6, 0x0ab50, 0x04b60, 0x0aae4, 0x0a570, 0x05260, 0x0f263, 0x0d950, 0x05b57, 0x056a0, // 1960-1969 + 0x096d0, 0x04dd5, 0x04ad0, 0x0a4d0, 0x0d4d4, 0x0d250, 0x0d558, 0x0b540, 0x0b6a0, 0x195a6, // 1970-1979 + 0x095b0, 0x049b0, 0x0a974, 0x0a4b0, 0x0b27a, 0x06a50, 0x06d40, 0x0af46, 0x0ab60, 0x09570, // 1980-1989 + 0x04af5, 0x04970, 0x064b0, 0x074a3, 0x0ea50, 0x06b58, 0x05ac0, 0x0ab60, 0x096d5, 0x092e0, // 1990-1999 + 0x0c960, 0x0d954, 0x0d4a0, 0x0da50, 0x07552, 0x056a0, 0x0abb7, 0x025d0, 0x092d0, 0x0cab5, // 2000-2009 + 0x0a950, 0x0b4a0, 0x0baa4, 0x0ad50, 0x055d9, 0x04ba0, 0x0a5b0, 0x15176, 0x052b0, 0x0a930, // 2010-2019 + 0x07954, 0x06aa0, 0x0ad50, 0x05b52, 0x04b60, 0x0a6e6, 0x0a4e0, 0x0d260, 0x0ea65, 0x0d530, // 2020-2029 + 0x05aa0, 0x076a3, 0x096d0, 0x04afb, 0x04ad0, 0x0a4d0, 0x1d0b6, 0x0d250, 0x0d520, 0x0dd45, // 2030-2039 + 0x0b5a0, 0x056d0, 0x055b2, 0x049b0, 0x0a577, 0x0a4b0, 0x0aa50, 0x1b255, 0x06d20, 0x0ada0, // 2040-2049 + /** Add By JJonline@JJonline.Cn**/ + 0x14b63, 0x09370, 0x049f8, 0x04970, 0x064b0, 0x168a6, 0x0ea50, 0x06b20, 0x1a6c4, 0x0aae0, // 2050-2059 + 0x0a2e0, 0x0d2e3, 0x0c960, 0x0d557, 0x0d4a0, 0x0da50, 0x05d55, 0x056a0, 0x0a6d0, 0x055d4, // 2060-2069 + 0x052d0, 0x0a9b8, 0x0a950, 0x0b4a0, 0x0b6a6, 0x0ad50, 0x055a0, 0x0aba4, 0x0a5b0, 0x052b0, // 2070-2079 + 0x0b273, 0x06930, 0x07337, 0x06aa0, 0x0ad50, 0x14b55, 0x04b60, 0x0a570, 0x054e4, 0x0d160, // 2080-2089 + 0x0e968, 0x0d520, 0x0daa0, 0x16aa6, 0x056d0, 0x04ae0, 0x0a9d4, 0x0a2d0, 0x0d150, 0x0f252, // 2090-2099 + 0x0d520], // 2100 + + /** + * 公历每个月份的天数普通表 + * @Array Of Property + * @return Number + */ + solarMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], + + /** + * 天干地支之天干速查表 + * @Array Of Property trans["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"] + * @return Cn string + */ + Gan: ['\u7532', '\u4e59', '\u4e19', '\u4e01', '\u620a', '\u5df1', '\u5e9a', '\u8f9b', '\u58ec', '\u7678'], + + /** + * 天干地支之地支速查表 + * @Array Of Property + * @trans["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"] + * @return Cn string + */ + Zhi: ['\u5b50', '\u4e11', '\u5bc5', '\u536f', '\u8fb0', '\u5df3', '\u5348', '\u672a', '\u7533', '\u9149', '\u620c', '\u4ea5'], + + /** + * 天干地支之地支速查表<=>生肖 + * @Array Of Property + * @trans["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"] + * @return Cn string + */ + Animals: ['\u9f20', '\u725b', '\u864e', '\u5154', '\u9f99', '\u86c7', '\u9a6c', '\u7f8a', '\u7334', '\u9e21', '\u72d7', '\u732a'], + + /** + * 24节气速查表 + * @Array Of Property + * @trans["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"] + * @return Cn string + */ + solarTerm: ['\u5c0f\u5bd2', '\u5927\u5bd2', '\u7acb\u6625', '\u96e8\u6c34', '\u60ca\u86f0', '\u6625\u5206', '\u6e05\u660e', '\u8c37\u96e8', '\u7acb\u590f', '\u5c0f\u6ee1', '\u8292\u79cd', '\u590f\u81f3', '\u5c0f\u6691', '\u5927\u6691', '\u7acb\u79cb', '\u5904\u6691', '\u767d\u9732', '\u79cb\u5206', '\u5bd2\u9732', '\u971c\u964d', '\u7acb\u51ac', '\u5c0f\u96ea', '\u5927\u96ea', '\u51ac\u81f3'], + + /** + * 1900-2100各年的24节气日期速查表 + * @Array Of Property + * @return 0x string For splice + */ + sTermInfo: ['9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f', + '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', + '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f', + 'b027097bd097c36b0b6fc9274c91aa', '9778397bd19801ec9210c965cc920e', '97b6b97bd19801ec95f8c965cc920f', + '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd197c36c9210c9274c91aa', + '97b6b97bd19801ec95f8c965cc920e', '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2', + '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec95f8c965cc920e', '97bcf97c3598082c95f8e1cfcc920f', + '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e', + '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', + '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', + '97bcf97c359801ec95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd097bd07f595b0b6fc920fb0722', + '9778397bd097c36b0b6fc9210c8dc2', '9778397bd19801ec9210c9274c920e', '97b6b97bd19801ec95f8c965cc920f', + '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e', + '97b6b97bd19801ec95f8c965cc920f', '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', + '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bd07f1487f595b0b0bc920fb0722', + '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', + '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f531b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', + '97bcf7f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', + '9778397bd097c36b0b6fc9210c91aa', '97b6b97bd197c36c9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e', + '97b6b7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', + '9778397bd097c36b0b70c9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9274c91aa', + '97b6b7f0e47f531b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', + '9778397bd097c36b0b6fc9210c91aa', '97b6b7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '977837f0e37f149b0723b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c35b0b6fc9210c8dc2', + '977837f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc9210c8dc2', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '977837f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', + '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd', + '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', + '977837f0e37f14998082b0723b06bd', '7f07e7f0e37f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f595b0b0bb0b6fb0722', '7f0e37f0e37f14898082b0723b02d5', + '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f531b0b0bb0b6fb0722', + '7f0e37f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e37f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35', + '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f149b0723b0787b0721', + '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0723b06bd', + '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e37f0e366aa89801eb072297c35', + '7ec967f0e37f14998082b0723b06bd', '7f07e7f0e37f14998083b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', + '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14898082b0723b02d5', '7f07e7f0e37f14998082b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66aa89801e9808297c35', '665f67f0e37f14898082b0723b02d5', + '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66a449801e9808297c35', + '665f67f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', + '7f0e36665b66a449801e9808297c35', '665f67f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721', '7f0e26665b66a449801e9808297c35', '665f67f0e37f1489801eb072297c35', + '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722'], + + /** + * 数字转中文速查表 + * @Array Of Property + * @trans ['日','一','二','三','四','五','六','七','八','九','十'] + * @return Cn string + */ + nStr1: ['\u65e5', '\u4e00', '\u4e8c', '\u4e09', '\u56db', '\u4e94', '\u516d', '\u4e03', '\u516b', '\u4e5d', '\u5341'], + + /** + * 日期转农历称呼速查表 + * @Array Of Property + * @trans ['初','十','廿','卅'] + * @return Cn string + */ + nStr2: ['\u521d', '\u5341', '\u5eff', '\u5345'], + + /** + * 月份转农历称呼速查表 + * @Array Of Property + * @trans ['正','一','二','三','四','五','六','七','八','九','十','冬','腊'] + * @return Cn string + */ + nStr3: ['\u6b63', '\u4e8c', '\u4e09', '\u56db', '\u4e94', '\u516d', '\u4e03', '\u516b', '\u4e5d', '\u5341', '\u51ac', '\u814a'], + + /** + * 返回农历y年一整年的总天数 + * @param lunar Year + * @return Number + * @eg:var count = calendar.lYearDays(1987) ;//count=387 + */ + lYearDays: function (y) { + var i; var sum = 348 + for (i = 0x8000; i > 0x8; i >>= 1) { sum += (this.lunarInfo[y - 1900] & i) ? 1 : 0 } + return (sum + this.leapDays(y)) + }, + + /** + * 返回农历y年闰月是哪个月;若y年没有闰月 则返回0 + * @param lunar Year + * @return Number (0-12) + * @eg:var leapMonth = calendar.leapMonth(1987) ;//leapMonth=6 + */ + leapMonth: function (y) { // 闰字编码 \u95f0 + return (this.lunarInfo[y - 1900] & 0xf) + }, + + /** + * 返回农历y年闰月的天数 若该年没有闰月则返回0 + * @param lunar Year + * @return Number (0、29、30) + * @eg:var leapMonthDay = calendar.leapDays(1987) ;//leapMonthDay=29 + */ + leapDays: function (y) { + if (this.leapMonth(y)) { + return ((this.lunarInfo[y - 1900] & 0x10000) ? 30 : 29) + } + return (0) + }, + + /** + * 返回农历y年m月(非闰月)的总天数,计算m为闰月时的天数请使用leapDays方法 + * @param lunar Year + * @return Number (-1、29、30) + * @eg:var MonthDay = calendar.monthDays(1987,9) ;//MonthDay=29 + */ + monthDays: function (y, m) { + if (m > 12 || m < 1) { return -1 }// 月份参数从1至12,参数错误返回-1 + return ((this.lunarInfo[y - 1900] & (0x10000 >> m)) ? 30 : 29) + }, + + /** + * 返回公历(!)y年m月的天数 + * @param solar Year + * @return Number (-1、28、29、30、31) + * @eg:var solarMonthDay = calendar.leapDays(1987) ;//solarMonthDay=30 + */ + solarDays: function (y, m) { + if (m > 12 || m < 1) { return -1 } // 若参数错误 返回-1 + var ms = m - 1 + if (ms == 1) { // 2月份的闰平规律测算后确认返回28或29 + return (((y % 4 == 0) && (y % 100 != 0) || (y % 400 == 0)) ? 29 : 28) + } else { + return (this.solarMonth[ms]) + } + }, + + /** + * 农历年份转换为干支纪年 + * @param lYear 农历年的年份数 + * @return Cn string + */ + toGanZhiYear: function (lYear) { + var ganKey = (lYear - 3) % 10 + var zhiKey = (lYear - 3) % 12 + if (ganKey == 0) ganKey = 10// 如果余数为0则为最后一个天干 + if (zhiKey == 0) zhiKey = 12// 如果余数为0则为最后一个地支 + return this.Gan[ganKey - 1] + this.Zhi[zhiKey - 1] + }, + + /** + * 公历月、日判断所属星座 + * @param cMonth [description] + * @param cDay [description] + * @return Cn string + */ + toAstro: function (cMonth, cDay) { + var s = '\u9b54\u7faf\u6c34\u74f6\u53cc\u9c7c\u767d\u7f8a\u91d1\u725b\u53cc\u5b50\u5de8\u87f9\u72ee\u5b50\u5904\u5973\u5929\u79e4\u5929\u874e\u5c04\u624b\u9b54\u7faf' + var arr = [20, 19, 21, 21, 21, 22, 23, 23, 23, 23, 22, 22] + return s.substr(cMonth * 2 - (cDay < arr[cMonth - 1] ? 2 : 0), 2) + '\u5ea7'// 座 + }, + + /** + * 传入offset偏移量返回干支 + * @param offset 相对甲子的偏移量 + * @return Cn string + */ + toGanZhi: function (offset) { + return this.Gan[offset % 10] + this.Zhi[offset % 12] + }, + + /** + * 传入公历(!)y年获得该年第n个节气的公历日期 + * @param y公历年(1900-2100);n二十四节气中的第几个节气(1~24);从n=1(小寒)算起 + * @return day Number + * @eg:var _24 = calendar.getTerm(1987,3) ;//_24=4;意即1987年2月4日立春 + */ + getTerm: function (y, n) { + if (y < 1900 || y > 2100) { return -1 } + if (n < 1 || n > 24) { return -1 } + var _table = this.sTermInfo[y - 1900] + var _info = [ + parseInt('0x' + _table.substr(0, 5)).toString(), + parseInt('0x' + _table.substr(5, 5)).toString(), + parseInt('0x' + _table.substr(10, 5)).toString(), + parseInt('0x' + _table.substr(15, 5)).toString(), + parseInt('0x' + _table.substr(20, 5)).toString(), + parseInt('0x' + _table.substr(25, 5)).toString() + ] + var _calday = [ + _info[0].substr(0, 1), + _info[0].substr(1, 2), + _info[0].substr(3, 1), + _info[0].substr(4, 2), + + _info[1].substr(0, 1), + _info[1].substr(1, 2), + _info[1].substr(3, 1), + _info[1].substr(4, 2), + + _info[2].substr(0, 1), + _info[2].substr(1, 2), + _info[2].substr(3, 1), + _info[2].substr(4, 2), + + _info[3].substr(0, 1), + _info[3].substr(1, 2), + _info[3].substr(3, 1), + _info[3].substr(4, 2), + + _info[4].substr(0, 1), + _info[4].substr(1, 2), + _info[4].substr(3, 1), + _info[4].substr(4, 2), + + _info[5].substr(0, 1), + _info[5].substr(1, 2), + _info[5].substr(3, 1), + _info[5].substr(4, 2) + ] + return parseInt(_calday[n - 1]) + }, + + /** + * 传入农历数字月份返回汉语通俗表示法 + * @param lunar month + * @return Cn string + * @eg:var cnMonth = calendar.toChinaMonth(12) ;//cnMonth='腊月' + */ + toChinaMonth: function (m) { // 月 => \u6708 + if (m > 12 || m < 1) { return -1 } // 若参数错误 返回-1 + var s = this.nStr3[m - 1] + s += '\u6708'// 加上月字 + return s + }, + + /** + * 传入农历日期数字返回汉字表示法 + * @param lunar day + * @return Cn string + * @eg:var cnDay = calendar.toChinaDay(21) ;//cnMonth='廿一' + */ + toChinaDay: function (d) { // 日 => \u65e5 + var s + switch (d) { + case 10: + s = '\u521d\u5341'; break + case 20: + s = '\u4e8c\u5341'; break + break + case 30: + s = '\u4e09\u5341'; break + break + default : + s = this.nStr2[Math.floor(d / 10)] + s += this.nStr1[d % 10] + } + return (s) + }, + + /** + * 年份转生肖[!仅能大致转换] => 精确划分生肖分界线是“立春” + * @param y year + * @return Cn string + * @eg:var animal = calendar.getAnimal(1987) ;//animal='兔' + */ + getAnimal: function (y) { + return this.Animals[(y - 4) % 12] + }, + + /** + * 传入阳历年月日获得详细的公历、农历object信息 <=>JSON + * @param y solar year + * @param m solar month + * @param d solar day + * @return JSON object + * @eg:console.log(calendar.solar2lunar(1987,11,01)); + */ + solar2lunar: function (y, m, d) { // 参数区间1900.1.31~2100.12.31 + // 年份限定、上限 + if (y < 1900 || y > 2100) { + return -1// undefined转换为数字变为NaN + } + // 公历传参最下限 + if (y == 1900 && m == 1 && d < 31) { + return -1 + } + // 未传参 获得当天 + if (!y) { + var objDate = new Date() + } else { + var objDate = new Date(y, parseInt(m) - 1, d) + } + var i; var leap = 0; var temp = 0 + // 修正ymd参数 + var y = objDate.getFullYear() + var m = objDate.getMonth() + 1 + var d = objDate.getDate() + var offset = (Date.UTC(objDate.getFullYear(), objDate.getMonth(), objDate.getDate()) - Date.UTC(1900, 0, 31)) / 86400000 + for (i = 1900; i < 2101 && offset > 0; i++) { + temp = this.lYearDays(i) + offset -= temp + } + if (offset < 0) { + offset += temp; i-- + } + + // 是否今天 + var isTodayObj = new Date() + var isToday = false + if (isTodayObj.getFullYear() == y && isTodayObj.getMonth() + 1 == m && isTodayObj.getDate() == d) { + isToday = true + } + // 星期几 + var nWeek = objDate.getDay() + var cWeek = this.nStr1[nWeek] + // 数字表示周几顺应天朝周一开始的惯例 + if (nWeek == 0) { + nWeek = 7 + } + // 农历年 + var year = i + var leap = this.leapMonth(i) // 闰哪个月 + var isLeap = false + + // 效验闰月 + for (i = 1; i < 13 && offset > 0; i++) { + // 闰月 + if (leap > 0 && i == (leap + 1) && isLeap == false) { + --i + isLeap = true; temp = this.leapDays(year) // 计算农历闰月天数 + } else { + temp = this.monthDays(year, i)// 计算农历普通月天数 + } + // 解除闰月 + if (isLeap == true && i == (leap + 1)) { isLeap = false } + offset -= temp + } + // 闰月导致数组下标重叠取反 + if (offset == 0 && leap > 0 && i == leap + 1) { + if (isLeap) { + isLeap = false + } else { + isLeap = true; --i + } + } + if (offset < 0) { + offset += temp; --i + } + // 农历月 + var month = i + // 农历日 + var day = offset + 1 + // 天干地支处理 + var sm = m - 1 + var gzY = this.toGanZhiYear(year) + + // 当月的两个节气 + // bugfix-2017-7-24 11:03:38 use lunar Year Param `y` Not `year` + var firstNode = this.getTerm(y, (m * 2 - 1))// 返回当月「节」为几日开始 + var secondNode = this.getTerm(y, (m * 2))// 返回当月「节」为几日开始 + + // 依据12节气修正干支月 + var gzM = this.toGanZhi((y - 1900) * 12 + m + 11) + if (d >= firstNode) { + gzM = this.toGanZhi((y - 1900) * 12 + m + 12) + } + + // 传入的日期的节气与否 + var isTerm = false + var Term = null + if (firstNode == d) { + isTerm = true + Term = this.solarTerm[m * 2 - 2] + } + if (secondNode == d) { + isTerm = true + Term = this.solarTerm[m * 2 - 1] + } + // 日柱 当月一日与 1900/1/1 相差天数 + var dayCyclical = Date.UTC(y, sm, 1, 0, 0, 0, 0) / 86400000 + 25567 + 10 + var gzD = this.toGanZhi(dayCyclical + d - 1) + // 该日期所属的星座 + var astro = this.toAstro(m, d) + + return { 'lYear': year, 'lMonth': month, 'lDay': day, 'Animal': this.getAnimal(year), 'IMonthCn': (isLeap ? '\u95f0' : '') + this.toChinaMonth(month), 'IDayCn': this.toChinaDay(day), 'cYear': y, 'cMonth': m, 'cDay': d, 'gzYear': gzY, 'gzMonth': gzM, 'gzDay': gzD, 'isToday': isToday, 'isLeap': isLeap, 'nWeek': nWeek, 'ncWeek': '\u661f\u671f' + cWeek, 'isTerm': isTerm, 'Term': Term, 'astro': astro } + }, + + /** + * 传入农历年月日以及传入的月份是否闰月获得详细的公历、农历object信息 <=>JSON + * @param y lunar year + * @param m lunar month + * @param d lunar day + * @param isLeapMonth lunar month is leap or not.[如果是农历闰月第四个参数赋值true即可] + * @return JSON object + * @eg:console.log(calendar.lunar2solar(1987,9,10)); + */ + lunar2solar: function (y, m, d, isLeapMonth) { // 参数区间1900.1.31~2100.12.1 + var isLeapMonth = !!isLeapMonth + var leapOffset = 0 + var leapMonth = this.leapMonth(y) + var leapDay = this.leapDays(y) + if (isLeapMonth && (leapMonth != m)) { return -1 }// 传参要求计算该闰月公历 但该年得出的闰月与传参的月份并不同 + if (y == 2100 && m == 12 && d > 1 || y == 1900 && m == 1 && d < 31) { return -1 }// 超出了最大极限值 + var day = this.monthDays(y, m) + var _day = day + // bugFix 2016-9-25 + // if month is leap, _day use leapDays method + if (isLeapMonth) { + _day = this.leapDays(y, m) + } + if (y < 1900 || y > 2100 || d > _day) { return -1 }// 参数合法性效验 + + // 计算农历的时间差 + var offset = 0 + for (var i = 1900; i < y; i++) { + offset += this.lYearDays(i) + } + var leap = 0; var isAdd = false + for (var i = 1; i < m; i++) { + leap = this.leapMonth(y) + if (!isAdd) { // 处理闰月 + if (leap <= i && leap > 0) { + offset += this.leapDays(y); isAdd = true + } + } + offset += this.monthDays(y, i) + } + // 转换闰月农历 需补充该年闰月的前一个月的时差 + if (isLeapMonth) { offset += day } + // 1900年农历正月一日的公历时间为1900年1月30日0时0分0秒(该时间也是本农历的最开始起始点) + var stmap = Date.UTC(1900, 1, 30, 0, 0, 0) + var calObj = new Date((offset + d - 31) * 86400000 + stmap) + var cY = calObj.getUTCFullYear() + var cM = calObj.getUTCMonth() + 1 + var cD = calObj.getUTCDate() + + return this.solar2lunar(cY, cM, cD) + } +} + +export default calendar diff --git a/uni_modules/uni-calendar/components/uni-calendar/i18n/en.json b/uni_modules/uni-calendar/components/uni-calendar/i18n/en.json new file mode 100644 index 0000000..fcbd13c --- /dev/null +++ b/uni_modules/uni-calendar/components/uni-calendar/i18n/en.json @@ -0,0 +1,12 @@ +{ + "uni-calender.ok": "ok", + "uni-calender.cancel": "cancel", + "uni-calender.today": "today", + "uni-calender.MON": "MON", + "uni-calender.TUE": "TUE", + "uni-calender.WED": "WED", + "uni-calender.THU": "THU", + "uni-calender.FRI": "FRI", + "uni-calender.SAT": "SAT", + "uni-calender.SUN": "SUN" +} diff --git a/uni_modules/uni-calendar/components/uni-calendar/i18n/index.js b/uni_modules/uni-calendar/components/uni-calendar/i18n/index.js new file mode 100644 index 0000000..de7509c --- /dev/null +++ b/uni_modules/uni-calendar/components/uni-calendar/i18n/index.js @@ -0,0 +1,8 @@ +import en from './en.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hans.json b/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hans.json new file mode 100644 index 0000000..1ca43de --- /dev/null +++ b/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hans.json @@ -0,0 +1,12 @@ +{ + "uni-calender.ok": "确定", + "uni-calender.cancel": "取消", + "uni-calender.today": "今日", + "uni-calender.SUN": "日", + "uni-calender.MON": "一", + "uni-calender.TUE": "二", + "uni-calender.WED": "三", + "uni-calender.THU": "四", + "uni-calender.FRI": "五", + "uni-calender.SAT": "六" +} diff --git a/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hant.json b/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hant.json new file mode 100644 index 0000000..e0fe33b --- /dev/null +++ b/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hant.json @@ -0,0 +1,12 @@ +{ + "uni-calender.ok": "確定", + "uni-calender.cancel": "取消", + "uni-calender.today": "今日", + "uni-calender.SUN": "日", + "uni-calender.MON": "一", + "uni-calender.TUE": "二", + "uni-calender.WED": "三", + "uni-calender.THU": "四", + "uni-calender.FRI": "五", + "uni-calender.SAT": "六" +} diff --git a/uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item.vue b/uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item.vue new file mode 100644 index 0000000..a54135e --- /dev/null +++ b/uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/uni_modules/uni-calendar/components/uni-calendar/uni-calendar.vue b/uni_modules/uni-calendar/components/uni-calendar/uni-calendar.vue new file mode 100644 index 0000000..17c958d --- /dev/null +++ b/uni_modules/uni-calendar/components/uni-calendar/uni-calendar.vue @@ -0,0 +1,566 @@ + + + + + diff --git a/uni_modules/uni-calendar/components/uni-calendar/util.js b/uni_modules/uni-calendar/components/uni-calendar/util.js new file mode 100644 index 0000000..5ec8a92 --- /dev/null +++ b/uni_modules/uni-calendar/components/uni-calendar/util.js @@ -0,0 +1,360 @@ +import CALENDAR from './calendar.js' + +class Calendar { + constructor({ + date, + selected, + startDate, + endDate, + range + } = {}) { + // 当前日期 + this.date = this.getDate(new Date()) // 当前初入日期 + // 打点信息 + this.selected = selected || []; + // 范围开始 + this.startDate = startDate + // 范围结束 + this.endDate = endDate + this.range = range + // 多选状态 + this.cleanMultipleStatus() + // 每周日期 + this.weeks = {} + // this._getWeek(this.date.fullDate) + } + /** + * 设置日期 + * @param {Object} date + */ + setDate(date) { + this.selectDate = this.getDate(date) + this._getWeek(this.selectDate.fullDate) + } + + /** + * 清理多选状态 + */ + cleanMultipleStatus() { + this.multipleStatus = { + before: '', + after: '', + data: [] + } + } + + /** + * 重置开始日期 + */ + resetSatrtDate(startDate) { + // 范围开始 + this.startDate = startDate + + } + + /** + * 重置结束日期 + */ + resetEndDate(endDate) { + // 范围结束 + this.endDate = endDate + } + + /** + * 获取任意时间 + */ + getDate(date, AddDayCount = 0, str = 'day') { + if (!date) { + date = new Date() + } + if (typeof date !== 'object') { + date = date.replace(/-/g, '/') + } + const dd = new Date(date) + switch (str) { + case 'day': + dd.setDate(dd.getDate() + AddDayCount) // 获取AddDayCount天后的日期 + break + case 'month': + if (dd.getDate() === 31 && AddDayCount>0) { + dd.setDate(dd.getDate() + AddDayCount) + } else { + const preMonth = dd.getMonth() + dd.setMonth(preMonth + AddDayCount) // 获取AddDayCount天后的日期 + const nextMonth = dd.getMonth() + // 处理 pre 切换月份目标月份为2月没有当前日(30 31) 切换错误问题 + if(AddDayCount<0 && preMonth!==0 && nextMonth-preMonth>AddDayCount){ + dd.setMonth(nextMonth+(nextMonth-preMonth+AddDayCount)) + } + // 处理 next 切换月份目标月份为2月没有当前日(30 31) 切换错误问题 + if(AddDayCount>0 && nextMonth-preMonth>AddDayCount){ + dd.setMonth(nextMonth-(nextMonth-preMonth-AddDayCount)) + } + } + break + case 'year': + dd.setFullYear(dd.getFullYear() + AddDayCount) // 获取AddDayCount天后的日期 + break + } + const y = dd.getFullYear() + const m = dd.getMonth() + 1 < 10 ? '0' + (dd.getMonth() + 1) : dd.getMonth() + 1 // 获取当前月份的日期,不足10补0 + const d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate() // 获取当前几号,不足10补0 + return { + fullDate: y + '-' + m + '-' + d, + year: y, + month: m, + date: d, + day: dd.getDay() + } + } + + + /** + * 获取上月剩余天数 + */ + _getLastMonthDays(firstDay, full) { + let dateArr = [] + for (let i = firstDay; i > 0; i--) { + const beforeDate = new Date(full.year, full.month - 1, -i + 1).getDate() + dateArr.push({ + date: beforeDate, + month: full.month - 1, + lunar: this.getlunar(full.year, full.month - 1, beforeDate), + disable: true + }) + } + return dateArr + } + /** + * 获取本月天数 + */ + _currentMonthDys(dateData, full) { + let dateArr = [] + let fullDate = this.date.fullDate + for (let i = 1; i <= dateData; i++) { + let nowDate = full.year + '-' + (full.month < 10 ? + full.month : full.month) + '-' + (i < 10 ? + '0' + i : i) + // 是否今天 + let isDay = fullDate === nowDate + // 获取打点信息 + let info = this.selected && this.selected.find((item) => { + if (this.dateEqual(nowDate, item.date)) { + return item + } + }) + + // 日期禁用 + let disableBefore = true + let disableAfter = true + if (this.startDate) { + // let dateCompBefore = this.dateCompare(this.startDate, fullDate) + // disableBefore = this.dateCompare(dateCompBefore ? this.startDate : fullDate, nowDate) + disableBefore = this.dateCompare(this.startDate, nowDate) + } + + if (this.endDate) { + // let dateCompAfter = this.dateCompare(fullDate, this.endDate) + // disableAfter = this.dateCompare(nowDate, dateCompAfter ? this.endDate : fullDate) + disableAfter = this.dateCompare(nowDate, this.endDate) + } + let multiples = this.multipleStatus.data + let checked = false + let multiplesStatus = -1 + if (this.range) { + if (multiples) { + multiplesStatus = multiples.findIndex((item) => { + return this.dateEqual(item, nowDate) + }) + } + if (multiplesStatus !== -1) { + checked = true + } + } + let data = { + fullDate: nowDate, + year: full.year, + date: i, + multiple: this.range ? checked : false, + beforeMultiple: this.dateEqual(this.multipleStatus.before, nowDate), + afterMultiple: this.dateEqual(this.multipleStatus.after, nowDate), + month: full.month, + lunar: this.getlunar(full.year, full.month, i), + disable: !(disableBefore && disableAfter), + isDay + } + if (info) { + data.extraInfo = info + } + + dateArr.push(data) + } + return dateArr + } + /** + * 获取下月天数 + */ + _getNextMonthDays(surplus, full) { + let dateArr = [] + for (let i = 1; i < surplus + 1; i++) { + dateArr.push({ + date: i, + month: Number(full.month) + 1, + lunar: this.getlunar(full.year, Number(full.month) + 1, i), + disable: true + }) + } + return dateArr + } + + /** + * 获取当前日期详情 + * @param {Object} date + */ + getInfo(date) { + if (!date) { + date = new Date() + } + const dateInfo = this.canlender.find(item => item.fullDate === this.getDate(date).fullDate) + return dateInfo + } + + /** + * 比较时间大小 + */ + dateCompare(startDate, endDate) { + // 计算截止时间 + startDate = new Date(startDate.replace('-', '/').replace('-', '/')) + // 计算详细项的截止时间 + endDate = new Date(endDate.replace('-', '/').replace('-', '/')) + if (startDate <= endDate) { + return true + } else { + return false + } + } + + /** + * 比较时间是否相等 + */ + dateEqual(before, after) { + // 计算截止时间 + before = new Date(before.replace('-', '/').replace('-', '/')) + // 计算详细项的截止时间 + after = new Date(after.replace('-', '/').replace('-', '/')) + if (before.getTime() - after.getTime() === 0) { + return true + } else { + return false + } + } + + + /** + * 获取日期范围内所有日期 + * @param {Object} begin + * @param {Object} end + */ + geDateAll(begin, end) { + var arr = [] + var ab = begin.split('-') + var ae = end.split('-') + var db = new Date() + db.setFullYear(ab[0], ab[1] - 1, ab[2]) + var de = new Date() + de.setFullYear(ae[0], ae[1] - 1, ae[2]) + var unixDb = db.getTime() - 24 * 60 * 60 * 1000 + var unixDe = de.getTime() - 24 * 60 * 60 * 1000 + for (var k = unixDb; k <= unixDe;) { + k = k + 24 * 60 * 60 * 1000 + arr.push(this.getDate(new Date(parseInt(k))).fullDate) + } + return arr + } + /** + * 计算阴历日期显示 + */ + getlunar(year, month, date) { + return CALENDAR.solar2lunar(year, month, date) + } + /** + * 设置打点 + */ + setSelectInfo(data, value) { + this.selected = value + this._getWeek(data) + } + + /** + * 获取多选状态 + */ + setMultiple(fullDate) { + let { + before, + after + } = this.multipleStatus + + if (!this.range) return + if (before && after) { + this.multipleStatus.before = '' + this.multipleStatus.after = '' + this.multipleStatus.data = [] + } else { + if (!before) { + this.multipleStatus.before = fullDate + } else { + this.multipleStatus.after = fullDate + if (this.dateCompare(this.multipleStatus.before, this.multipleStatus.after)) { + this.multipleStatus.data = this.geDateAll(this.multipleStatus.before, this.multipleStatus.after); + } else { + this.multipleStatus.data = this.geDateAll(this.multipleStatus.after, this.multipleStatus.before); + } + } + } + this._getWeek(fullDate) + } + + /** + * 获取每周数据 + * @param {Object} dateData + */ + _getWeek(dateData) { + const { + year, + month + } = this.getDate(dateData) + let firstDay = new Date(year, month - 1, 1).getDay() + let currentDay = new Date(year, month, 0).getDate() + let dates = { + lastMonthDays: this._getLastMonthDays(firstDay, this.getDate(dateData)), // 上个月末尾几天 + currentMonthDys: this._currentMonthDys(currentDay, this.getDate(dateData)), // 本月天数 + nextMonthDays: [], // 下个月开始几天 + weeks: [] + } + let canlender = [] + const surplus = 42 - (dates.lastMonthDays.length + dates.currentMonthDys.length) + dates.nextMonthDays = this._getNextMonthDays(surplus, this.getDate(dateData)) + canlender = canlender.concat(dates.lastMonthDays, dates.currentMonthDys, dates.nextMonthDays) + let weeks = {} + // 拼接数组 上个月开始几天 + 本月天数+ 下个月开始几天 + for (let i = 0; i < canlender.length; i++) { + if (i % 7 === 0) { + weeks[parseInt(i / 7)] = new Array(7) + } + weeks[parseInt(i / 7)][i % 7] = canlender[i] + } + this.canlender = canlender + this.weeks = weeks + } + + //静态方法 + // static init(date) { + // if (!this.instance) { + // this.instance = new Calendar(date); + // } + // return this.instance; + // } +} + + +export default Calendar diff --git a/uni_modules/uni-calendar/package.json b/uni_modules/uni-calendar/package.json new file mode 100644 index 0000000..fad841f --- /dev/null +++ b/uni_modules/uni-calendar/package.json @@ -0,0 +1,85 @@ +{ + "id": "uni-calendar", + "displayName": "uni-calendar 日历", + "version": "1.4.10", + "description": "日历组件", + "keywords": [ + "uni-ui", + "uniui", + "日历", + "", + "打卡", + "日历选择" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-calendar/readme.md b/uni_modules/uni-calendar/readme.md new file mode 100644 index 0000000..4e1748c --- /dev/null +++ b/uni_modules/uni-calendar/readme.md @@ -0,0 +1,103 @@ + + +## Calendar 日历 +> **组件名:uni-calendar** +> 代码块: `uCalendar` + + +日历组件 + +> **注意事项** +> 为了避免错误使用,给大家带来不好的开发体验,请在使用组件前仔细阅读下面的注意事项,可以帮你避免一些错误。 +> - 本组件农历转换使用的js是 [@1900-2100区间内的公历、农历互转](https://github.com/jjonline/calendar.js) +> - 仅支持自定义组件模式 +> - `date`属性传入的应该是一个 String ,如: 2019-06-27 ,而不是 new Date() +> - 通过 `insert` 属性来确定当前的事件是 @change 还是 @confirm 。理应合并为一个事件,但是为了区分模式,现使用两个事件,这里需要注意 +> - 弹窗模式下无法阻止后面的元素滚动,如有需要阻止,请在弹窗弹出后,手动设置滚动元素为不可滚动 + + +### 安装方式 + +本组件符合[easycom](https://uniapp.dcloud.io/collocation/pages?id=easycom)规范,`HBuilderX 2.5.5`起,只需将本组件导入项目,在页面`template`中即可直接使用,无需在页面中`import`和注册`components`。 + +如需通过`npm`方式使用`uni-ui`组件,另见文档:[https://ext.dcloud.net.cn/plugin?id=55](https://ext.dcloud.net.cn/plugin?id=55) + +### 基本用法 + +在 ``template`` 中使用组件 + +```html + + + +``` + +### 通过方法打开日历 + +需要设置 `insert` 为 `false` + +```html + + + + +``` + +```javascript + +export default { + data() { + return {}; + }, + methods: { + open(){ + this.$refs.calendar.open(); + }, + confirm(e) { + console.log(e); + } + } +}; + +``` + + +## API + +### Calendar Props + +| 属性名 | 类型 | 默认值| 说明 | +| - | - | - | - | +| date | String |- | 自定义当前时间,默认为今天 | +| lunar | Boolean | false | 显示农历 | +| startDate | String |- | 日期选择范围-开始日期 | +| endDate | String |- | 日期选择范围-结束日期 | +| range | Boolean | false | 范围选择 | +| insert | Boolean | false | 插入模式,可选值,ture:插入模式;false:弹窗模式;默认为插入模式 | +|clearDate |Boolean |true |弹窗模式是否清空上次选择内容 | +| selected | Array |- | 打点,期待格式[{date: '2019-06-27', info: '签到', data: { custom: '自定义信息', name: '自定义消息头',xxx:xxx... }}] | +|showMonth | Boolean | true | 是否显示月份为背景 | + +### Calendar Events + +| 事件名 | 说明 |返回值| +| - | - | - | +| open | 弹出日历组件,`insert :false` 时生效|- | + + + + + +## 组件示例 + +点击查看:[https://hellouniapp.dcloud.net.cn/pages/extUI/calendar/calendar](https://hellouniapp.dcloud.net.cn/pages/extUI/calendar/calendar) diff --git a/uni_modules/uni-card/changelog.md b/uni_modules/uni-card/changelog.md new file mode 100644 index 0000000..c3cd8c4 --- /dev/null +++ b/uni_modules/uni-card/changelog.md @@ -0,0 +1,26 @@ +## 1.3.1(2021-12-20) +- 修复 在vue页面下略缩图显示不正常的bug +## 1.3.0(2021-11-19) +- 重构插槽的用法 ,header 替换为 title +- 新增 actions 插槽 +- 新增 cover 封面图属性和插槽 +- 新增 padding 内容默认内边距离 +- 新增 margin 卡片默认外边距离 +- 新增 spacing 卡片默认内边距 +- 新增 shadow 卡片阴影属性 +- 取消 mode 属性,可使用组合插槽代替 +- 取消 note 属性 ,使用actions插槽代替 +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-card](https://uniapp.dcloud.io/component/uniui/uni-card) +## 1.2.1(2021-07-30) +- 优化 vue3下事件警告的问题 +## 1.2.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.1.8(2021-07-01) +- 优化 图文卡片无图片加载时,提供占位图标 +- 新增 header 插槽,自定义卡片头部( 图文卡片 mode="style" 时,不支持) +- 修复 thumbnail 不存在仍然占位的 bug +## 1.1.7(2021-05-12) +- 新增 组件示例地址 +## 1.1.6(2021-02-04) +- 调整为uni_modules目录规范 diff --git a/uni_modules/uni-card/components/uni-card/uni-card.vue b/uni_modules/uni-card/components/uni-card/uni-card.vue new file mode 100644 index 0000000..88d8342 --- /dev/null +++ b/uni_modules/uni-card/components/uni-card/uni-card.vue @@ -0,0 +1,272 @@ + + + + + diff --git a/uni_modules/uni-card/package.json b/uni_modules/uni-card/package.json new file mode 100644 index 0000000..f16224d --- /dev/null +++ b/uni_modules/uni-card/package.json @@ -0,0 +1,90 @@ +{ + "id": "uni-card", + "displayName": "uni-card 卡片", + "version": "1.3.1", + "description": "Card 组件,提供常见的卡片样式。", + "keywords": [ + "uni-ui", + "uniui", + "card", + "", + "卡片" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [ + "uni-icons", + "uni-scss" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/uni_modules/uni-card/readme.md b/uni_modules/uni-card/readme.md new file mode 100644 index 0000000..7434e71 --- /dev/null +++ b/uni_modules/uni-card/readme.md @@ -0,0 +1,12 @@ + + +## Card 卡片 +> **组件名:uni-card** +> 代码块: `uCard` + +卡片视图组件。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-card) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/uni_modules/uni-collapse/changelog.md b/uni_modules/uni-collapse/changelog.md new file mode 100644 index 0000000..292e4c7 --- /dev/null +++ b/uni_modules/uni-collapse/changelog.md @@ -0,0 +1,36 @@ +## 1.4.3(2022-01-25) +- 修复 初始化的时候 ,open 属性失效的bug +## 1.4.2(2022-01-21) +- 修复 微信小程序resize后组件收起的bug +## 1.4.1(2021-11-22) +- 修复 vue3中个别scss变量无法找到的问题 +## 1.4.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-collapse](https://uniapp.dcloud.io/component/uniui/uni-collapse) +## 1.3.3(2021-08-17) +- 优化 show-arrow 属性默认为true +## 1.3.2(2021-08-17) +- 新增 show-arrow 属性,控制是否显示右侧箭头 +## 1.3.1(2021-07-30) +- 优化 vue3下小程序事件警告的问题 +## 1.3.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.2.2(2021-07-21) +- 修复 由1.2.0版本引起的 change 事件返回 undefined 的Bug +## 1.2.1(2021-07-21) +- 优化 组件示例 +## 1.2.0(2021-07-21) +- 新增 组件折叠动画 +- 新增 value\v-model 属性 ,动态修改面板折叠状态 +- 新增 title 插槽 ,可定义面板标题 +- 新增 border 属性 ,显示隐藏面板内容分隔线 +- 新增 title-border 属性 ,显示隐藏面板标题分隔线 +- 修复 resize 方法失效的Bug +- 修复 change 事件返回参数不正确的Bug +- 优化 H5、App 平台自动更具内容更新高度,无需调用 reszie() 方法 +## 1.1.7(2021-05-12) +- 新增 组件示例地址 +## 1.1.6(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 +## 1.1.5(2021-02-05) +- 调整为uni_modules目录规范 \ No newline at end of file diff --git a/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.vue b/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.vue new file mode 100644 index 0000000..d62a6a7 --- /dev/null +++ b/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.vue @@ -0,0 +1,402 @@ + + + + + diff --git a/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.vue b/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.vue new file mode 100644 index 0000000..384c39a --- /dev/null +++ b/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.vue @@ -0,0 +1,147 @@ + + + diff --git a/uni_modules/uni-collapse/package.json b/uni_modules/uni-collapse/package.json new file mode 100644 index 0000000..65349cf --- /dev/null +++ b/uni_modules/uni-collapse/package.json @@ -0,0 +1,89 @@ +{ + "id": "uni-collapse", + "displayName": "uni-collapse 折叠面板", + "version": "1.4.3", + "description": "Collapse 组件,可以折叠 / 展开的内容区域。", + "keywords": [ + "uni-ui", + "折叠", + "折叠面板", + "手风琴" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/uni_modules/uni-collapse/readme.md b/uni_modules/uni-collapse/readme.md new file mode 100644 index 0000000..bc758eb --- /dev/null +++ b/uni_modules/uni-collapse/readme.md @@ -0,0 +1,12 @@ + + +## Collapse 折叠面板 +> **组件名:uni-collapse** +> 代码块: `uCollapse` +> 关联组件:`uni-collapse-item`、`uni-icons`。 + + +折叠面板用来折叠/显示过长的内容或者是列表。通常是在多内容分类项使用,折叠不重要的内容,显示重要内容。点击可以展开折叠部分。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-collapse) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/uni_modules/uni-combox/changelog.md b/uni_modules/uni-combox/changelog.md new file mode 100644 index 0000000..23c2748 --- /dev/null +++ b/uni_modules/uni-combox/changelog.md @@ -0,0 +1,15 @@ +## 1.0.1(2021-11-23) +- 优化 label、label-width 属性 +## 1.0.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-combox](https://uniapp.dcloud.io/component/uniui/uni-combox) +## 0.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 0.0.6(2021-05-12) +- 新增 组件示例地址 +## 0.0.5(2021-04-21) +- 优化 添加依赖 uni-icons, 导入后自动下载依赖 +## 0.0.4(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 +## 0.0.3(2021-02-04) +- 调整为uni_modules目录规范 diff --git a/uni_modules/uni-combox/components/uni-combox/uni-combox.vue b/uni_modules/uni-combox/components/uni-combox/uni-combox.vue new file mode 100644 index 0000000..83454e5 --- /dev/null +++ b/uni_modules/uni-combox/components/uni-combox/uni-combox.vue @@ -0,0 +1,294 @@ + + + + + diff --git a/uni_modules/uni-combox/package.json b/uni_modules/uni-combox/package.json new file mode 100644 index 0000000..4a05c3f --- /dev/null +++ b/uni_modules/uni-combox/package.json @@ -0,0 +1,90 @@ +{ + "id": "uni-combox", + "displayName": "uni-combox 组合框", + "version": "1.0.1", + "description": "可以选择也可以输入的表单项 ", + "keywords": [ + "uni-ui", + "uniui", + "combox", + "组合框", + "select" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "n" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-combox/readme.md b/uni_modules/uni-combox/readme.md new file mode 100644 index 0000000..ffa2cc8 --- /dev/null +++ b/uni_modules/uni-combox/readme.md @@ -0,0 +1,11 @@ + + +## Combox 组合框 +> **组件名:uni-combox** +> 代码块: `uCombox` + + +组合框组件。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-combox) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/uni_modules/uni-countdown/changelog.md b/uni_modules/uni-countdown/changelog.md new file mode 100644 index 0000000..f25beef --- /dev/null +++ b/uni_modules/uni-countdown/changelog.md @@ -0,0 +1,24 @@ +## 1.2.2(2022-01-19) +- 修复 在微信小程序中样式不生效的bug +## 1.2.1(2022-01-18) +- 新增 update 方法 ,在动态更新时间后,刷新组件 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-countdown](https://uniapp.dcloud.io/component/uniui/uni-countdown) +## 1.1.3(2021-10-18) +- 重构 +- 新增 font-size 支持自定义字体大小 +## 1.1.2(2021-08-24) +- 新增 支持国际化 +## 1.1.1(2021-07-30) +- 优化 vue3下小程序事件警告的问题 +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.5(2021-06-18) +- 修复 uni-countdown 重复赋值跳两秒的 bug +## 1.0.4(2021-05-12) +- 新增 组件示例地址 +## 1.0.3(2021-05-08) +- 修复 uni-countdown 不能控制倒计时的 bug +## 1.0.2(2021-02-04) +- 调整为uni_modules目录规范 diff --git a/uni_modules/uni-countdown/components/uni-countdown/i18n/en.json b/uni_modules/uni-countdown/components/uni-countdown/i18n/en.json new file mode 100644 index 0000000..06309cb --- /dev/null +++ b/uni_modules/uni-countdown/components/uni-countdown/i18n/en.json @@ -0,0 +1,6 @@ +{ + "uni-countdown.day": "day", + "uni-countdown.h": "h", + "uni-countdown.m": "m", + "uni-countdown.s": "s" +} diff --git a/uni_modules/uni-countdown/components/uni-countdown/i18n/index.js b/uni_modules/uni-countdown/components/uni-countdown/i18n/index.js new file mode 100644 index 0000000..de7509c --- /dev/null +++ b/uni_modules/uni-countdown/components/uni-countdown/i18n/index.js @@ -0,0 +1,8 @@ +import en from './en.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hans.json b/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hans.json new file mode 100644 index 0000000..358cdd1 --- /dev/null +++ b/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hans.json @@ -0,0 +1,6 @@ +{ + "uni-countdown.day": "天", + "uni-countdown.h": "时", + "uni-countdown.m": "分", + "uni-countdown.s": "秒" +} diff --git a/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hant.json b/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hant.json new file mode 100644 index 0000000..e5a63de --- /dev/null +++ b/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hant.json @@ -0,0 +1,6 @@ +{ + "uni-countdown.day": "天", + "uni-countdown.h": "時", + "uni-countdown.m": "分", + "uni-countdown.s": "秒" +} diff --git a/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.vue b/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.vue new file mode 100644 index 0000000..65a1216 --- /dev/null +++ b/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.vue @@ -0,0 +1,267 @@ + + + diff --git a/uni_modules/uni-countdown/package.json b/uni_modules/uni-countdown/package.json new file mode 100644 index 0000000..70e99ee --- /dev/null +++ b/uni_modules/uni-countdown/package.json @@ -0,0 +1,86 @@ +{ + "id": "uni-countdown", + "displayName": "uni-countdown 倒计时", + "version": "1.2.2", + "description": "CountDown 倒计时组件", + "keywords": [ + "uni-ui", + "uniui", + "countdown", + "倒计时" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-countdown/readme.md b/uni_modules/uni-countdown/readme.md new file mode 100644 index 0000000..4bcb1aa --- /dev/null +++ b/uni_modules/uni-countdown/readme.md @@ -0,0 +1,10 @@ + + +## CountDown 倒计时 +> **组件名:uni-countdown** +> 代码块: `uCountDown` + +倒计时组件。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-countdown) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/uni_modules/uni-data-checkbox/changelog.md b/uni_modules/uni-data-checkbox/changelog.md new file mode 100644 index 0000000..c7a468a --- /dev/null +++ b/uni_modules/uni-data-checkbox/changelog.md @@ -0,0 +1,45 @@ +## 1.0.3(2022-09-16) +- 可以使用 uni-scss 控制主题色 +## 1.0.2(2022-06-30) +- 优化 在 uni-forms 中的依赖注入方式 +## 1.0.1(2022-02-07) +- 修复 multiple 为 true 时,v-model 的值为 null 报错的 bug +## 1.0.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-data-checkbox](https://uniapp.dcloud.io/component/uniui/uni-data-checkbox) +## 0.2.5(2021-08-23) +- 修复 在uni-forms中 modelValue 中不存在当前字段,当前字段必填写也不参与校验的问题 +## 0.2.4(2021-08-17) +- 修复 单选 list 模式下 ,icon 为 left 时,选中图标不显示的问题 +## 0.2.3(2021-08-11) +- 修复 在 uni-forms 中重置表单,错误信息无法清除的问题 +## 0.2.2(2021-07-30) +- 优化 在uni-forms组件,与label不对齐的问题 +## 0.2.1(2021-07-27) +- 修复 单选默认值为0不能选中的Bug +## 0.2.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 0.1.11(2021-07-06) +- 优化 删除无用日志 +## 0.1.10(2021-07-05) +- 修复 由 0.1.9 引起的非 nvue 端图标不显示的问题 +## 0.1.9(2021-07-05) +- 修复 nvue 黑框样式问题 +## 0.1.8(2021-06-28) +- 修复 selectedTextColor 属性不生效的Bug +## 0.1.7(2021-06-02) +- 新增 map 属性,可以方便映射text/value属性 +## 0.1.6(2021-05-26) +- 修复 不关联服务空间的情况下组件报错的Bug +## 0.1.5(2021-05-12) +- 新增 组件示例地址 +## 0.1.4(2021-04-09) +- 修复 nvue 下无法选中的问题 +## 0.1.3(2021-03-22) +- 新增 disabled属性 +## 0.1.2(2021-02-24) +- 优化 默认颜色显示 +## 0.1.1(2021-02-24) +- 新增 支持nvue +## 0.1.0(2021-02-18) +- “暂无数据”显示居中 diff --git a/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.vue b/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.vue new file mode 100644 index 0000000..3c75d9f --- /dev/null +++ b/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.vue @@ -0,0 +1,821 @@ + + + + + diff --git a/uni_modules/uni-data-checkbox/package.json b/uni_modules/uni-data-checkbox/package.json new file mode 100644 index 0000000..113c350 --- /dev/null +++ b/uni_modules/uni-data-checkbox/package.json @@ -0,0 +1,84 @@ +{ + "id": "uni-data-checkbox", + "displayName": "uni-data-checkbox 数据选择器", + "version": "1.0.3", + "description": "通过数据驱动的单选框和复选框", + "keywords": [ + "uni-ui", + "checkbox", + "单选", + "多选", + "单选多选" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "^3.1.1" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-load-more","uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/uni_modules/uni-data-checkbox/readme.md b/uni_modules/uni-data-checkbox/readme.md new file mode 100644 index 0000000..6eb253d --- /dev/null +++ b/uni_modules/uni-data-checkbox/readme.md @@ -0,0 +1,18 @@ + + +## DataCheckbox 数据驱动的单选复选框 +> **组件名:uni-data-checkbox** +> 代码块: `uDataCheckbox` + + +本组件是基于uni-app基础组件checkbox的封装。本组件要解决问题包括: + +1. 数据绑定型组件:给本组件绑定一个data,会自动渲染一组候选内容。再以往,开发者需要编写不少代码实现类似功能 +2. 自动的表单校验:组件绑定了data,且符合[uni-forms](https://ext.dcloud.net.cn/plugin?id=2773)组件的表单校验规范,搭配使用会自动实现表单校验 +3. 本组件合并了单选多选 +4. 本组件有若干风格选择,如普通的单选多选框、并列button风格、tag风格。开发者可以快速选择需要的风格。但作为一个封装组件,样式代码虽然不用自己写了,却会牺牲一定的样式自定义性 + +在uniCloud开发中,`DB Schema`中配置了enum枚举等类型后,在web控制台的[自动生成表单](https://uniapp.dcloud.io/uniCloud/schema?id=autocode)功能中,会自动生成``uni-data-checkbox``组件并绑定好data + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-data-checkbox) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/uni_modules/uni-data-picker/changelog.md b/uni_modules/uni-data-picker/changelog.md new file mode 100644 index 0000000..1dd79f7 --- /dev/null +++ b/uni_modules/uni-data-picker/changelog.md @@ -0,0 +1,75 @@ +## 1.1.2(2023-04-11) +- 修复 更改 modelValue 报错的 bug +- 修复 v-for 未使用 key 值控制台 warning +## 1.1.1(2023-02-21) +- 修复代码合并时引发 value 属性为空时不渲染数据的问题 +## 1.1.0(2023-02-15) +- 修复 localdata 不支持动态更新的bug +## 1.0.9(2023-02-15) +- 修复 localdata 不支持动态更新的bug +## 1.0.8(2022-09-16) +- 可以使用 uni-scss 控制主题色 +## 1.0.7(2022-07-06) +- 优化 pc端图标位置不正确的问题 +## 1.0.6(2022-07-05) +- 优化 显示样式 +## 1.0.5(2022-07-04) +- 修复 uni-data-picker 在 uni-forms-item 中宽度不正确的bug +## 1.0.4(2022-04-19) +- 修复 字节小程序 本地数据无法选择下一级的Bug +## 1.0.3(2022-02-25) +- 修复 nvue 不支持的 v-show 的 bug +## 1.0.2(2022-02-25) +- 修复 条件编译 nvue 不支持的 css 样式 +## 1.0.1(2021-11-23) +- 修复 由上个版本引发的map、v-model等属性不生效的bug +## 1.0.0(2021-11-19) +- 优化 组件 UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-data-picker](https://uniapp.dcloud.io/component/uniui/uni-data-picker) +## 0.4.9(2021-10-28) +- 修复 VUE2 v-model 概率无效的 bug +## 0.4.8(2021-10-27) +- 修复 v-model 概率无效的 bug +## 0.4.7(2021-10-25) +- 新增 属性 spaceInfo 服务空间配置 HBuilderX 3.2.11+ +- 修复 树型 uniCloud 数据类型为 int 时报错的 bug +## 0.4.6(2021-10-19) +- 修复 非 VUE3 v-model 为 0 时无法选中的 bug +## 0.4.5(2021-09-26) +- 新增 清除已选项的功能(通过 clearIcon 属性配置是否显示按钮),同时提供 clear 方法以供调用,二者等效 +- 修复 readonly 为 true 时报错的 bug +## 0.4.4(2021-09-26) +- 修复 上一版本造成的 map 属性失效的 bug +- 新增 ellipsis 属性,支持配置 tab 选项长度过长时是否自动省略 +## 0.4.3(2021-09-24) +- 修复 某些情况下级联未触发的 bug +## 0.4.2(2021-09-23) +- 新增 提供 show 和 hide 方法,开发者可以通过 ref 调用 +- 新增 选项内容过长自动添加省略号 +## 0.4.1(2021-09-15) +- 新增 map 属性 字段映射,将 text/value 映射到数据中的其他字段 +## 0.4.0(2021-07-13) +- 组件兼容 vue3,如何创建 vue3 项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 0.3.5(2021-06-04) +- 修复 无法加载云端数据的问题 +## 0.3.4(2021-05-28) +- 修复 v-model 无效问题 +- 修复 loaddata 为空数据组时加载时间过长问题 +- 修复 上个版本引出的本地数据无法选择带有 children 的 2 级节点 +## 0.3.3(2021-05-12) +- 新增 组件示例地址 +## 0.3.2(2021-04-22) +- 修复 非树形数据有 where 属性查询报错的问题 +## 0.3.1(2021-04-15) +- 修复 本地数据概率无法回显时问题 +## 0.3.0(2021-04-07) +- 新增 支持云端非树形表结构数据 +- 修复 根节点 parent_field 字段等于 null 时选择界面错乱问题 +## 0.2.0(2021-03-15) +- 修复 nodeclick、popupopened、popupclosed 事件无法触发的问题 +## 0.1.9(2021-03-09) +- 修复 微信小程序某些情况下无法选择的问题 +## 0.1.8(2021-02-05) +- 优化 部分样式在 nvue 上的兼容表现 +## 0.1.7(2021-02-05) +- 调整为 uni_modules 目录规范 diff --git a/uni_modules/uni-data-picker/components/uni-data-picker/keypress.js b/uni_modules/uni-data-picker/components/uni-data-picker/keypress.js new file mode 100644 index 0000000..6ef26a2 --- /dev/null +++ b/uni_modules/uni-data-picker/components/uni-data-picker/keypress.js @@ -0,0 +1,45 @@ +// #ifdef H5 +export default { + name: 'Keypress', + props: { + disable: { + type: Boolean, + default: false + } + }, + mounted () { + const keyNames = { + esc: ['Esc', 'Escape'], + tab: 'Tab', + enter: 'Enter', + space: [' ', 'Spacebar'], + up: ['Up', 'ArrowUp'], + left: ['Left', 'ArrowLeft'], + right: ['Right', 'ArrowRight'], + down: ['Down', 'ArrowDown'], + delete: ['Backspace', 'Delete', 'Del'] + } + const listener = ($event) => { + if (this.disable) { + return + } + const keyName = Object.keys(keyNames).find(key => { + const keyName = $event.key + const value = keyNames[key] + return value === keyName || (Array.isArray(value) && value.includes(keyName)) + }) + if (keyName) { + // 避免和其他按键事件冲突 + setTimeout(() => { + this.$emit(keyName, {}) + }, 0) + } + } + document.addEventListener('keyup', listener) + this.$once('hook:beforeDestroy', () => { + document.removeEventListener('keyup', listener) + }) + }, + render: () => {} +} +// #endif diff --git a/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue b/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue new file mode 100644 index 0000000..179a4e0 --- /dev/null +++ b/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue @@ -0,0 +1,551 @@ + + + + + diff --git a/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.js b/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.js new file mode 100644 index 0000000..cfae22a --- /dev/null +++ b/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.js @@ -0,0 +1,622 @@ +export default { + props: { + localdata: { + type: [Array, Object], + default () { + return [] + } + }, + spaceInfo: { + type: Object, + default () { + return {} + } + }, + collection: { + type: String, + default: '' + }, + action: { + type: String, + default: '' + }, + field: { + type: String, + default: '' + }, + orderby: { + type: String, + default: '' + }, + where: { + type: [String, Object], + default: '' + }, + pageData: { + type: String, + default: 'add' + }, + pageCurrent: { + type: Number, + default: 1 + }, + pageSize: { + type: Number, + default: 500 + }, + getcount: { + type: [Boolean, String], + default: false + }, + getone: { + type: [Boolean, String], + default: false + }, + gettree: { + type: [Boolean, String], + default: false + }, + manual: { + type: Boolean, + default: false + }, + value: { + type: [Array, String, Number], + default () { + return [] + } + }, + modelValue: { + type: [Array, String, Number], + default () { + return [] + } + }, + preload: { + type: Boolean, + default: false + }, + stepSearh: { + type: Boolean, + default: true + }, + selfField: { + type: String, + default: '' + }, + parentField: { + type: String, + default: '' + }, + multiple: { + type: Boolean, + default: false + }, + map: { + type: Object, + default () { + return { + text: "text", + value: "value" + } + } + } + }, + data() { + return { + loading: false, + errorMessage: '', + loadMore: { + contentdown: '', + contentrefresh: '', + contentnomore: '' + }, + dataList: [], + selected: [], + selectedIndex: 0, + page: { + current: this.pageCurrent, + size: this.pageSize, + count: 0 + } + } + }, + computed: { + isLocalData() { + return !this.collection.length; + }, + isCloudData() { + return this.collection.length > 0; + }, + isCloudDataList() { + return (this.isCloudData && (!this.parentField && !this.selfField)); + }, + isCloudDataTree() { + return (this.isCloudData && this.parentField && this.selfField); + }, + dataValue() { + let isModelValue = Array.isArray(this.modelValue) ? (this.modelValue.length > 0) : (this.modelValue !== null || + this.modelValue !== undefined); + return isModelValue ? this.modelValue : this.value; + }, + hasValue() { + if (typeof this.dataValue === 'number') { + return true + } + return (this.dataValue != null) && (this.dataValue.length > 0) + } + }, + created() { + this.$watch(() => { + var al = []; + ['pageCurrent', + 'pageSize', + 'spaceInfo', + 'value', + 'modelValue', + 'localdata', + 'collection', + 'action', + 'field', + 'orderby', + 'where', + 'getont', + 'getcount', + 'gettree' + ].forEach(key => { + al.push(this[key]) + }); + return al + }, (newValue, oldValue) => { + let needReset = false + for (let i = 2; i < newValue.length; i++) { + if (newValue[i] != oldValue[i]) { + needReset = true + break + } + } + if (newValue[0] != oldValue[0]) { + this.page.current = this.pageCurrent + } + this.page.size = this.pageSize + + this.onPropsChange() + }) + this._treeData = [] + }, + methods: { + onPropsChange() { + this._treeData = []; + }, + + // 填充 pickview 数据 + async loadData() { + if (this.isLocalData) { + this.loadLocalData(); + } else if (this.isCloudDataList) { + this.loadCloudDataList(); + } else if (this.isCloudDataTree) { + this.loadCloudDataTree(); + } + }, + + // 加载本地数据 + async loadLocalData() { + this._treeData = []; + this._extractTree(this.localdata, this._treeData); + + let inputValue = this.dataValue; + if (inputValue === undefined) { + return; + } + + if (Array.isArray(inputValue)) { + inputValue = inputValue[inputValue.length - 1]; + if (typeof inputValue === 'object' && inputValue[this.map.value]) { + inputValue = inputValue[this.map.value]; + } + } + + this.selected = this._findNodePath(inputValue, this.localdata); + }, + + // 加载 Cloud 数据 (单列) + async loadCloudDataList() { + if (this.loading) { + return; + } + this.loading = true; + + try { + let response = await this.getCommand(); + let responseData = response.result.data; + + this._treeData = responseData; + + this._updateBindData(); + this._updateSelected(); + + this.onDataChange(); + } catch (e) { + this.errorMessage = e; + } finally { + this.loading = false; + } + }, + + // 加载 Cloud 数据 (树形) + async loadCloudDataTree() { + if (this.loading) { + return; + } + this.loading = true; + + try { + let commandOptions = { + field: this._cloudDataPostField(), + where: this._cloudDataTreeWhere() + }; + if (this.gettree) { + commandOptions.startwith = `${this.selfField}=='${this.dataValue}'`; + } + + let response = await this.getCommand(commandOptions); + let responseData = response.result.data; + + this._treeData = responseData; + this._updateBindData(); + this._updateSelected(); + + this.onDataChange(); + } catch (e) { + this.errorMessage = e; + } finally { + this.loading = false; + } + }, + + // 加载 Cloud 数据 (节点) + async loadCloudDataNode(callback) { + if (this.loading) { + return; + } + this.loading = true; + + try { + let commandOptions = { + field: this._cloudDataPostField(), + where: this._cloudDataNodeWhere() + }; + + let response = await this.getCommand(commandOptions); + let responseData = response.result.data; + + callback(responseData); + } catch (e) { + this.errorMessage = e; + } finally { + this.loading = false; + } + }, + + // 回显 Cloud 数据 + getCloudDataValue() { + if (this.isCloudDataList) { + return this.getCloudDataListValue(); + } + + if (this.isCloudDataTree) { + return this.getCloudDataTreeValue(); + } + }, + + // 回显 Cloud 数据 (单列) + getCloudDataListValue() { + // 根据 field's as value标识匹配 where 条件 + let where = []; + let whereField = this._getForeignKeyByField(); + if (whereField) { + where.push(`${whereField} == '${this.dataValue}'`) + } + + where = where.join(' || '); + + if (this.where) { + where = `(${this.where}) && (${where})` + } + + return this.getCommand({ + field: this._cloudDataPostField(), + where + }).then((res) => { + this.selected = res.result.data; + return res.result.data; + }); + }, + + // 回显 Cloud 数据 (树形) + getCloudDataTreeValue() { + return this.getCommand({ + field: this._cloudDataPostField(), + getTreePath: { + startWith: `${this.selfField}=='${this.dataValue}'` + } + }).then((res) => { + let treePath = []; + this._extractTreePath(res.result.data, treePath); + this.selected = treePath; + return treePath; + }); + }, + + getCommand(options = {}) { + /* eslint-disable no-undef */ + let db = uniCloud.database(this.spaceInfo) + + const action = options.action || this.action + if (action) { + db = db.action(action) + } + + const collection = options.collection || this.collection + db = db.collection(collection) + + const where = options.where || this.where + if (!(!where || !Object.keys(where).length)) { + db = db.where(where) + } + + const field = options.field || this.field + if (field) { + db = db.field(field) + } + + const orderby = options.orderby || this.orderby + if (orderby) { + db = db.orderBy(orderby) + } + + const current = options.pageCurrent !== undefined ? options.pageCurrent : this.page.current + const size = options.pageSize !== undefined ? options.pageSize : this.page.size + const getCount = options.getcount !== undefined ? options.getcount : this.getcount + const getTree = options.gettree !== undefined ? options.gettree : this.gettree + + const getOptions = { + getCount, + getTree + } + if (options.getTreePath) { + getOptions.getTreePath = options.getTreePath + } + + db = db.skip(size * (current - 1)).limit(size).get(getOptions) + + return db + }, + + _cloudDataPostField() { + let fields = [this.field]; + if (this.parentField) { + fields.push(`${this.parentField} as parent_value`); + } + return fields.join(','); + }, + + _cloudDataTreeWhere() { + let result = [] + let selected = this.selected + let parentField = this.parentField + if (parentField) { + result.push(`${parentField} == null || ${parentField} == ""`) + } + if (selected.length) { + for (var i = 0; i < selected.length - 1; i++) { + result.push(`${parentField} == '${selected[i].value}'`) + } + } + + let where = [] + if (this.where) { + where.push(`(${this.where})`) + } + + if (result.length) { + where.push(`(${result.join(' || ')})`) + } + + return where.join(' && ') + }, + + _cloudDataNodeWhere() { + let where = [] + let selected = this.selected; + if (selected.length) { + where.push(`${this.parentField} == '${selected[selected.length - 1].value}'`); + } + + where = where.join(' || '); + + if (this.where) { + return `(${this.where}) && (${where})` + } + + return where + }, + + _getWhereByForeignKey() { + let result = [] + let whereField = this._getForeignKeyByField(); + if (whereField) { + result.push(`${whereField} == '${this.dataValue}'`) + } + + if (this.where) { + return `(${this.where}) && (${result.join(' || ')})` + } + + return result.join(' || ') + }, + + _getForeignKeyByField() { + let fields = this.field.split(','); + let whereField = null; + for (let i = 0; i < fields.length; i++) { + const items = fields[i].split('as'); + if (items.length < 2) { + continue; + } + if (items[1].trim() === 'value') { + whereField = items[0].trim(); + break; + } + } + return whereField; + }, + + _updateBindData(node) { + const { + dataList, + hasNodes + } = this._filterData(this._treeData, this.selected) + + let isleaf = this._stepSearh === false && !hasNodes + + if (node) { + node.isleaf = isleaf + } + + this.dataList = dataList + this.selectedIndex = dataList.length - 1 + + if (!isleaf && this.selected.length < dataList.length) { + this.selected.push({ + value: null, + text: "请选择" + }) + } + + return { + isleaf, + hasNodes + } + }, + + _updateSelected() { + let dl = this.dataList + let sl = this.selected + let textField = this.map.text + let valueField = this.map.value + for (let i = 0; i < sl.length; i++) { + let value = sl[i].value + let dl2 = dl[i] + for (let j = 0; j < dl2.length; j++) { + let item2 = dl2[j] + if (item2[valueField] === value) { + sl[i].text = item2[textField] + break + } + } + } + }, + + _filterData(data, paths) { + let dataList = [] + let hasNodes = true + + dataList.push(data.filter((item) => { + return (item.parent_value === null || item.parent_value === undefined || item.parent_value === '') + })) + for (let i = 0; i < paths.length; i++) { + let value = paths[i].value + let nodes = data.filter((item) => { + return item.parent_value === value + }) + + if (nodes.length) { + dataList.push(nodes) + } else { + hasNodes = false + } + } + + return { + dataList, + hasNodes + } + }, + + _extractTree(nodes, result, parent_value) { + let list = result || [] + let valueField = this.map.value + for (let i = 0; i < nodes.length; i++) { + let node = nodes[i] + + let child = {} + for (let key in node) { + if (key !== 'children') { + child[key] = node[key] + } + } + if (parent_value !== null && parent_value !== undefined && parent_value !== '') { + child.parent_value = parent_value + } + result.push(child) + + let children = node.children + if (children) { + this._extractTree(children, result, node[valueField]) + } + } + }, + + _extractTreePath(nodes, result) { + let list = result || [] + for (let i = 0; i < nodes.length; i++) { + let node = nodes[i] + + let child = {} + for (let key in node) { + if (key !== 'children') { + child[key] = node[key] + } + } + result.push(child) + + let children = node.children + if (children) { + this._extractTreePath(children, result) + } + } + }, + + _findNodePath(key, nodes, path = []) { + let textField = this.map.text + let valueField = this.map.value + for (let i = 0; i < nodes.length; i++) { + let node = nodes[i] + let children = node.children + let text = node[textField] + let value = node[valueField] + + path.push({ + value, + text + }) + + if (value === key) { + return path + } + + if (children) { + const p = this._findNodePath(key, children, path) + if (p.length) { + return p + } + } + + path.pop() + } + return [] + } + } +} diff --git a/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.vue b/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.vue new file mode 100644 index 0000000..6ebced9 --- /dev/null +++ b/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.vue @@ -0,0 +1,323 @@ + + + + + diff --git a/uni_modules/uni-data-picker/package.json b/uni_modules/uni-data-picker/package.json new file mode 100644 index 0000000..038f9ce --- /dev/null +++ b/uni_modules/uni-data-picker/package.json @@ -0,0 +1,90 @@ +{ + "id": "uni-data-picker", + "displayName": "uni-data-picker 数据驱动的picker选择器", + "version": "1.1.2", + "description": "单列、多列级联选择器,常用于省市区城市选择、公司部门选择、多级分类等场景", + "keywords": [ + "uni-ui", + "uniui", + "picker", + "级联", + "省市区", + "" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [ + "uni-load-more", + "uni-icons", + "uni-scss" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "u" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y", + "京东": "u" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-data-picker/readme.md b/uni_modules/uni-data-picker/readme.md new file mode 100644 index 0000000..6cda224 --- /dev/null +++ b/uni_modules/uni-data-picker/readme.md @@ -0,0 +1,22 @@ +## DataPicker 级联选择 +> **组件名:uni-data-picker** +> 代码块: `uDataPicker` +> 关联组件:`uni-data-pickerview`、`uni-load-more`。 + + +`` 是一个选择类[datacom组件](https://uniapp.dcloud.net.cn/component/datacom)。 + +支持单列、和多列级联选择。列数没有限制,如果屏幕显示不全,顶部tab区域会左右滚动。 + +候选数据支持一次性加载完毕,也支持懒加载,比如示例图中,选择了“北京”后,动态加载北京的区县数据。 + +`` 组件尤其适用于地址选择、分类选择等选择类。 + +`` 支持本地数据、云端静态数据(json),uniCloud云数据库数据。 + +`` 可以通过JQL直连uniCloud云数据库,配套[DB Schema](https://uniapp.dcloud.net.cn/uniCloud/schema),可在schema2code中自动生成前端页面,还支持服务器端校验。 + +在uniCloud数据表中新建表“uni-id-address”和“opendb-city-china”,这2个表的schema自带foreignKey关联。在“uni-id-address”表的表结构页面使用schema2code生成前端页面,会自动生成地址管理的维护页面,自动从“opendb-city-china”表包含的中国所有省市区信息里选择地址。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-data-picker) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/uni_modules/uni-data-select/changelog.md b/uni_modules/uni-data-select/changelog.md new file mode 100644 index 0000000..eb3d1ce --- /dev/null +++ b/uni_modules/uni-data-select/changelog.md @@ -0,0 +1,35 @@ +## 1.0.6(2023-04-12) +- 修复 微信小程序点击时会改变背景颜色的 bug +## 1.0.5(2023-02-03) +- 修复 禁用时会显示清空按钮 +## 1.0.4(2023-02-02) +- 优化 查询条件短期内多次变更只查询最后一次变更后的结果 +- 调整 内部缓存键名调整为 uni-data-select-lastSelectedValue +## 1.0.3(2023-01-16) +- 修复 不关联服务空间报错的问题 +## 1.0.2(2023-01-14) +- 新增 属性 `format` 可用于格式化显示选项内容 +## 1.0.1(2022-12-06) +- 修复 当where变化时,数据不会自动更新的问题 +## 0.1.9(2022-09-05) +- 修复 微信小程序下拉框出现后选择会点击到蒙板后面的输入框 +## 0.1.8(2022-08-29) +- 修复 点击的位置不准确 +## 0.1.7(2022-08-12) +- 新增 支持 disabled 属性 +## 0.1.6(2022-07-06) +- 修复 pc端宽度异常的bug +## 0.1.5 +- 修复 pc端宽度异常的bug +## 0.1.4(2022-07-05) +- 优化 显示样式 +## 0.1.3(2022-06-02) +- 修复 localdata 赋值不生效的 bug +- 新增 支持 uni.scss 修改颜色 +- 新增 支持选项禁用(数据选项设置 disabled: true 即禁用) +## 0.1.2(2022-05-08) +- 修复 当 value 为 0 时选择不生效的 bug +## 0.1.1(2022-05-07) +- 新增 记住上次的选项(仅 collection 存在时有效) +## 0.1.0(2022-04-22) +- 初始化 diff --git a/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue b/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue new file mode 100644 index 0000000..9b32348 --- /dev/null +++ b/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue @@ -0,0 +1,517 @@ + + + + + diff --git a/uni_modules/uni-data-select/package.json b/uni_modules/uni-data-select/package.json new file mode 100644 index 0000000..0187429 --- /dev/null +++ b/uni_modules/uni-data-select/package.json @@ -0,0 +1,85 @@ +{ + "id": "uni-data-select", + "displayName": "uni-data-select 下拉框选择器", + "version": "1.0.6", + "description": "通过数据驱动的下拉框选择器", + "keywords": [ + "uni-ui", + "select", + "uni-data-select", + "下拉框", + "下拉选" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "^3.1.1" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-load-more"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "u", + "app-nvue": "n" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "u", + "百度": "u", + "字节跳动": "u", + "QQ": "u", + "京东": "u" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/uni_modules/uni-data-select/readme.md b/uni_modules/uni-data-select/readme.md new file mode 100644 index 0000000..eb58de3 --- /dev/null +++ b/uni_modules/uni-data-select/readme.md @@ -0,0 +1,8 @@ +## DataSelect 下拉框选择器 +> **组件名:uni-data-select** +> 代码块: `uDataSelect` + +当选项过多时,使用下拉菜单展示并选择内容 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-data-select) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 diff --git a/uni_modules/uni-dateformat/changelog.md b/uni_modules/uni-dateformat/changelog.md new file mode 100644 index 0000000..d551d7b --- /dev/null +++ b/uni_modules/uni-dateformat/changelog.md @@ -0,0 +1,10 @@ +## 1.0.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-dateformat](https://uniapp.dcloud.io/component/uniui/uni-dateformat) +## 0.0.5(2021-07-08) +- 调整 默认时间不再是当前时间,而是显示'-'字符 +## 0.0.4(2021-05-12) +- 新增 组件示例地址 +## 0.0.3(2021-02-04) +- 调整为uni_modules目录规范 +- 修复 iOS 平台日期格式化出错的问题 diff --git a/uni_modules/uni-dateformat/components/uni-dateformat/date-format.js b/uni_modules/uni-dateformat/components/uni-dateformat/date-format.js new file mode 100644 index 0000000..e00d559 --- /dev/null +++ b/uni_modules/uni-dateformat/components/uni-dateformat/date-format.js @@ -0,0 +1,200 @@ +// yyyy-MM-dd hh:mm:ss.SSS 所有支持的类型 +function pad(str, length = 2) { + str += '' + while (str.length < length) { + str = '0' + str + } + return str.slice(-length) +} + +const parser = { + yyyy: (dateObj) => { + return pad(dateObj.year, 4) + }, + yy: (dateObj) => { + return pad(dateObj.year) + }, + MM: (dateObj) => { + return pad(dateObj.month) + }, + M: (dateObj) => { + return dateObj.month + }, + dd: (dateObj) => { + return pad(dateObj.day) + }, + d: (dateObj) => { + return dateObj.day + }, + hh: (dateObj) => { + return pad(dateObj.hour) + }, + h: (dateObj) => { + return dateObj.hour + }, + mm: (dateObj) => { + return pad(dateObj.minute) + }, + m: (dateObj) => { + return dateObj.minute + }, + ss: (dateObj) => { + return pad(dateObj.second) + }, + s: (dateObj) => { + return dateObj.second + }, + SSS: (dateObj) => { + return pad(dateObj.millisecond, 3) + }, + S: (dateObj) => { + return dateObj.millisecond + }, +} + +// 这都n年了iOS依然不认识2020-12-12,需要转换为2020/12/12 +function getDate(time) { + if (time instanceof Date) { + return time + } + switch (typeof time) { + case 'string': + { + // 2020-12-12T12:12:12.000Z、2020-12-12T12:12:12.000 + if (time.indexOf('T') > -1) { + return new Date(time) + } + return new Date(time.replace(/-/g, '/')) + } + default: + return new Date(time) + } +} + +export function formatDate(date, format = 'yyyy/MM/dd hh:mm:ss') { + if (!date && date !== 0) { + return '' + } + date = getDate(date) + const dateObj = { + year: date.getFullYear(), + month: date.getMonth() + 1, + day: date.getDate(), + hour: date.getHours(), + minute: date.getMinutes(), + second: date.getSeconds(), + millisecond: date.getMilliseconds() + } + const tokenRegExp = /yyyy|yy|MM|M|dd|d|hh|h|mm|m|ss|s|SSS|SS|S/ + let flag = true + let result = format + while (flag) { + flag = false + result = result.replace(tokenRegExp, function(matched) { + flag = true + return parser[matched](dateObj) + }) + } + return result +} + +export function friendlyDate(time, { + locale = 'zh', + threshold = [60000, 3600000], + format = 'yyyy/MM/dd hh:mm:ss' +}) { + if (time === '-') { + return time + } + if (!time && time !== 0) { + return '' + } + const localeText = { + zh: { + year: '年', + month: '月', + day: '天', + hour: '小时', + minute: '分钟', + second: '秒', + ago: '前', + later: '后', + justNow: '刚刚', + soon: '马上', + template: '{num}{unit}{suffix}' + }, + en: { + year: 'year', + month: 'month', + day: 'day', + hour: 'hour', + minute: 'minute', + second: 'second', + ago: 'ago', + later: 'later', + justNow: 'just now', + soon: 'soon', + template: '{num} {unit} {suffix}' + } + } + const text = localeText[locale] || localeText.zh + let date = getDate(time) + let ms = date.getTime() - Date.now() + let absMs = Math.abs(ms) + if (absMs < threshold[0]) { + return ms < 0 ? text.justNow : text.soon + } + if (absMs >= threshold[1]) { + return formatDate(date, format) + } + let num + let unit + let suffix = text.later + if (ms < 0) { + suffix = text.ago + ms = -ms + } + const seconds = Math.floor((ms) / 1000) + const minutes = Math.floor(seconds / 60) + const hours = Math.floor(minutes / 60) + const days = Math.floor(hours / 24) + const months = Math.floor(days / 30) + const years = Math.floor(months / 12) + switch (true) { + case years > 0: + num = years + unit = text.year + break + case months > 0: + num = months + unit = text.month + break + case days > 0: + num = days + unit = text.day + break + case hours > 0: + num = hours + unit = text.hour + break + case minutes > 0: + num = minutes + unit = text.minute + break + default: + num = seconds + unit = text.second + break + } + + if (locale === 'en') { + if (num === 1) { + num = 'a' + } else { + unit += 's' + } + } + + return text.template.replace(/{\s*num\s*}/g, num + '').replace(/{\s*unit\s*}/g, unit).replace(/{\s*suffix\s*}/g, + suffix) +} diff --git a/uni_modules/uni-dateformat/components/uni-dateformat/uni-dateformat.vue b/uni_modules/uni-dateformat/components/uni-dateformat/uni-dateformat.vue new file mode 100644 index 0000000..c5ed030 --- /dev/null +++ b/uni_modules/uni-dateformat/components/uni-dateformat/uni-dateformat.vue @@ -0,0 +1,88 @@ + + + + + diff --git a/uni_modules/uni-dateformat/package.json b/uni_modules/uni-dateformat/package.json new file mode 100644 index 0000000..786a670 --- /dev/null +++ b/uni_modules/uni-dateformat/package.json @@ -0,0 +1,88 @@ +{ + "id": "uni-dateformat", + "displayName": "uni-dateformat 日期格式化", + "version": "1.0.0", + "description": "日期格式化组件,可以将日期格式化为1分钟前、刚刚等形式", + "keywords": [ + "uni-ui", + "uniui", + "日期格式化", + "时间格式化", + "格式化时间", + "" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "y", + "联盟": "y" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-dateformat/readme.md b/uni_modules/uni-dateformat/readme.md new file mode 100644 index 0000000..37ddb6e --- /dev/null +++ b/uni_modules/uni-dateformat/readme.md @@ -0,0 +1,11 @@ + + +### DateFormat 日期格式化 +> **组件名:uni-dateformat** +> 代码块: `uDateformat` + + +日期格式化组件。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-dateformat) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/uni_modules/uni-datetime-picker/changelog.md b/uni_modules/uni-datetime-picker/changelog.md new file mode 100644 index 0000000..1f1a554 --- /dev/null +++ b/uni_modules/uni-datetime-picker/changelog.md @@ -0,0 +1,133 @@ +## 2.2.22(2023-03-30) +- 修复 日历 picker 修改年月后,自动选中当月1日 [详情](https://ask.dcloud.net.cn/question/165937) +- 修复 小程序端 低版本 ios NaN [详情](https://ask.dcloud.net.cn/question/162979) +## 2.2.21(2023-02-20) +- 修复 firefox 浏览器显示区域点击无法拉起日历弹框的Bug [详情](https://ask.dcloud.net.cn/question/163362) +## 2.2.20(2023-02-17) +- 优化 值为空依然选中当天问题 +- 优化 提供 default-value 属性支持配置选择器打开时默认显示的时间 +- 优化 非范围选择未选择日期时间,点击确认按钮选中当前日期时间 +- 优化 字节小程序日期时间范围选择,底部日期换行问题 +## 2.2.19(2023-02-09) +- 修复 2.2.18 引起范围选择配置 end 选择无效的Bug [详情](https://github.com/dcloudio/uni-ui/issues/686) +## 2.2.18(2023-02-08) +- 修复 移动端范围选择change事件触发异常的Bug [详情](https://github.com/dcloudio/uni-ui/issues/684) +- 优化 PC端输入日期格式错误时返回当前日期时间 +- 优化 PC端输入日期时间超出 start、end 限制的Bug +- 优化 移动端日期时间范围用法时间展示不完整问题 +## 2.2.17(2023-02-04) +- 修复 小程序端绑定 Date 类型报错的Bug [详情](https://github.com/dcloudio/uni-ui/issues/679) +- 修复 vue3 time-picker 无法显示绑定时分秒的Bug +## 2.2.16(2023-02-02) +- 修复 字节小程序报错的Bug +## 2.2.15(2023-02-02) +- 修复 某些情况切换月份错误的Bug +## 2.2.14(2023-01-30) +- 修复 某些情况切换月份错误的Bug [详情](https://ask.dcloud.net.cn/question/162033) +## 2.2.13(2023-01-10) +- 修复 多次加载组件造成内存占用的Bug +## 2.2.12(2022-12-01) +- 修复 vue3 下 i18n 国际化初始值不正确的Bug +## 2.2.11(2022-09-19) +- 修复 支付宝小程序样式错乱的Bug [详情](https://github.com/dcloudio/uni-app/issues/3861) +## 2.2.10(2022-09-19) +- 修复 反向选择日期范围,日期显示异常的Bug [详情](https://ask.dcloud.net.cn/question/153401?item_id=212892&rf=false) +## 2.2.9(2022-09-16) +- 可以使用 uni-scss 控制主题色 +## 2.2.8(2022-09-08) +- 修复 close事件无效的Bug +## 2.2.7(2022-09-05) +- 修复 移动端 maskClick 无效的Bug [详情](https://ask.dcloud.net.cn/question/140824) +## 2.2.6(2022-06-30) +- 优化 组件样式,调整了组件图标大小、高度、颜色等,与uni-ui风格保持一致 +## 2.2.5(2022-06-24) +- 修复 日历顶部年月及底部确认未国际化的Bug +## 2.2.4(2022-03-31) +- 修复 Vue3 下动态赋值,单选类型未响应的Bug +## 2.2.3(2022-03-28) +- 修复 Vue3 下动态赋值未响应的Bug +## 2.2.2(2021-12-10) +- 修复 clear-icon 属性在小程序平台不生效的Bug +## 2.2.1(2021-12-10) +- 修复 日期范围选在小程序平台,必须多点击一次才能取消选中状态的Bug +## 2.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源 [详情](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移 [https://uniapp.dcloud.io/component/uniui/uni-datetime-picker](https://uniapp.dcloud.io/component/uniui/uni-datetime-picker) +## 2.1.5(2021-11-09) +- 新增 提供组件设计资源,组件样式调整 +## 2.1.4(2021-09-10) +- 修复 hide-second 在移动端的Bug +- 修复 单选赋默认值时,赋值日期未高亮的Bug +- 修复 赋默认值时,移动端未正确显示时间的Bug +## 2.1.3(2021-09-09) +- 新增 hide-second 属性,支持只使用时分,隐藏秒 +## 2.1.2(2021-09-03) +- 优化 取消选中时(范围选)直接开始下一次选择, 避免多点一次 +- 优化 移动端支持清除按钮,同时支持通过 ref 调用组件的 clear 方法 +- 优化 调整字号大小,美化日历界面 +- 修复 因国际化导致的 placeholder 失效的Bug +## 2.1.1(2021-08-24) +- 新增 支持国际化 +- 优化 范围选择器在 pc 端过宽的问题 +## 2.1.0(2021-08-09) +- 新增 适配 vue3 +## 2.0.19(2021-08-09) +- 新增 支持作为 uni-forms 子组件相关功能 +- 修复 在 uni-forms 中使用时,选择时间报 NAN 错误的Bug +## 2.0.18(2021-08-05) +- 修复 type 属性动态赋值无效的Bug +- 修复 ‘确认’按钮被 tabbar 遮盖 bug +- 修复 组件未赋值时范围选左、右日历相同的Bug +## 2.0.17(2021-08-04) +- 修复 范围选未正确显示当前值的Bug +- 修复 h5 平台(移动端)报错 'cale' of undefined 的Bug +## 2.0.16(2021-07-21) +- 新增 return-type 属性支持返回 date 日期对象 +## 2.0.15(2021-07-14) +- 修复 单选日期类型,初始赋值后不在当前日历的Bug +- 新增 clearIcon 属性,显示框的清空按钮可配置显示隐藏(仅 pc 有效) +- 优化 移动端移除显示框的清空按钮,无实际用途 +## 2.0.14(2021-07-14) +- 修复 组件赋值为空,界面未更新的Bug +- 修复 start 和 end 不能动态赋值的Bug +- 修复 范围选类型,用户选择后再次选择右侧日历(结束日期)显示不正确的Bug +## 2.0.13(2021-07-08) +- 修复 范围选择不能动态赋值的Bug +## 2.0.12(2021-07-08) +- 修复 范围选择的初始时间在一个月内时,造成无法选择的bug +## 2.0.11(2021-07-08) +- 优化 弹出层在超出视窗边缘定位不准确的问题 +## 2.0.10(2021-07-08) +- 修复 范围起始点样式的背景色与今日样式的字体前景色融合,导致日期字体看不清的Bug +- 优化 弹出层在超出视窗边缘被遮盖的问题 +## 2.0.9(2021-07-07) +- 新增 maskClick 事件 +- 修复 特殊情况日历 rpx 布局错误的Bug,rpx -> px +- 修复 范围选择时清空返回值不合理的bug,['', ''] -> [] +## 2.0.8(2021-07-07) +- 新增 日期时间显示框支持插槽 +## 2.0.7(2021-07-01) +- 优化 添加 uni-icons 依赖 +## 2.0.6(2021-05-22) +- 修复 图标在小程序上不显示的Bug +- 优化 重命名引用组件,避免潜在组件命名冲突 +## 2.0.5(2021-05-20) +- 优化 代码目录扁平化 +## 2.0.4(2021-05-12) +- 新增 组件示例地址 +## 2.0.3(2021-05-10) +- 修复 ios 下不识别 '-' 日期格式的Bug +- 优化 pc 下弹出层添加边框和阴影 +## 2.0.2(2021-05-08) +- 修复 在 admin 中获取弹出层定位错误的bug +## 2.0.1(2021-05-08) +- 修复 type 属性向下兼容,默认值从 date 变更为 datetime +## 2.0.0(2021-04-30) +- 支持日历形式的日期+时间的范围选择 + > 注意:此版本不向后兼容,不再支持单独时间选择(type=time)及相关的 hide-second 属性(时间选可使用内置组件 picker) +## 1.0.6(2021-03-18) +- 新增 hide-second 属性,时间支持仅选择时、分 +- 修复 选择跟显示的日期不一样的Bug +- 修复 chang事件触发2次的Bug +- 修复 分、秒 end 范围错误的Bug +- 优化 更好的 nvue 适配 diff --git a/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.vue b/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.vue new file mode 100644 index 0000000..dba9887 --- /dev/null +++ b/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.vue @@ -0,0 +1,177 @@ + + + + + diff --git a/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue b/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue new file mode 100644 index 0000000..3418f49 --- /dev/null +++ b/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue @@ -0,0 +1,928 @@ + + + + + diff --git a/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/en.json b/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/en.json new file mode 100644 index 0000000..024f22f --- /dev/null +++ b/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/en.json @@ -0,0 +1,22 @@ +{ + "uni-datetime-picker.selectDate": "select date", + "uni-datetime-picker.selectTime": "select time", + "uni-datetime-picker.selectDateTime": "select date and time", + "uni-datetime-picker.startDate": "start date", + "uni-datetime-picker.endDate": "end date", + "uni-datetime-picker.startTime": "start time", + "uni-datetime-picker.endTime": "end time", + "uni-datetime-picker.ok": "ok", + "uni-datetime-picker.clear": "clear", + "uni-datetime-picker.cancel": "cancel", + "uni-datetime-picker.year": "-", + "uni-datetime-picker.month": "", + "uni-calender.MON": "MON", + "uni-calender.TUE": "TUE", + "uni-calender.WED": "WED", + "uni-calender.THU": "THU", + "uni-calender.FRI": "FRI", + "uni-calender.SAT": "SAT", + "uni-calender.SUN": "SUN", + "uni-calender.confirm": "confirm" +} diff --git a/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js b/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js new file mode 100644 index 0000000..de7509c --- /dev/null +++ b/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js @@ -0,0 +1,8 @@ +import en from './en.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hans.json b/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hans.json new file mode 100644 index 0000000..d2df5e7 --- /dev/null +++ b/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hans.json @@ -0,0 +1,22 @@ +{ + "uni-datetime-picker.selectDate": "选择日期", + "uni-datetime-picker.selectTime": "选择时间", + "uni-datetime-picker.selectDateTime": "选择日期时间", + "uni-datetime-picker.startDate": "开始日期", + "uni-datetime-picker.endDate": "结束日期", + "uni-datetime-picker.startTime": "开始时间", + "uni-datetime-picker.endTime": "结束时间", + "uni-datetime-picker.ok": "确定", + "uni-datetime-picker.clear": "清除", + "uni-datetime-picker.cancel": "取消", + "uni-datetime-picker.year": "年", + "uni-datetime-picker.month": "月", + "uni-calender.SUN": "日", + "uni-calender.MON": "一", + "uni-calender.TUE": "二", + "uni-calender.WED": "三", + "uni-calender.THU": "四", + "uni-calender.FRI": "五", + "uni-calender.SAT": "六", + "uni-calender.confirm": "确认" +} \ No newline at end of file diff --git a/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hant.json b/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hant.json new file mode 100644 index 0000000..d23fa3c --- /dev/null +++ b/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hant.json @@ -0,0 +1,22 @@ +{ + "uni-datetime-picker.selectDate": "選擇日期", + "uni-datetime-picker.selectTime": "選擇時間", + "uni-datetime-picker.selectDateTime": "選擇日期時間", + "uni-datetime-picker.startDate": "開始日期", + "uni-datetime-picker.endDate": "結束日期", + "uni-datetime-picker.startTime": "開始时间", + "uni-datetime-picker.endTime": "結束时间", + "uni-datetime-picker.ok": "確定", + "uni-datetime-picker.clear": "清除", + "uni-datetime-picker.cancel": "取消", + "uni-datetime-picker.year": "年", + "uni-datetime-picker.month": "月", + "uni-calender.SUN": "日", + "uni-calender.MON": "一", + "uni-calender.TUE": "二", + "uni-calender.WED": "三", + "uni-calender.THU": "四", + "uni-calender.FRI": "五", + "uni-calender.SAT": "六", + "uni-calender.confirm": "確認" +} \ No newline at end of file diff --git a/uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.vue b/uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.vue new file mode 100644 index 0000000..81a042a --- /dev/null +++ b/uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.vue @@ -0,0 +1,934 @@ + + + + + diff --git a/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue b/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue new file mode 100644 index 0000000..bd96488 --- /dev/null +++ b/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue @@ -0,0 +1,1026 @@ + + + + diff --git a/uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js b/uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js new file mode 100644 index 0000000..7dc34c4 --- /dev/null +++ b/uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js @@ -0,0 +1,403 @@ +class Calendar { + constructor({ + selected, + startDate, + endDate, + range, + } = {}) { + // 当前日期 + this.date = this.getDateObj(new Date()) // 当前初入日期 + // 打点信息 + this.selected = selected || []; + // 起始时间 + this.startDate = startDate + // 终止时间 + this.endDate = endDate + // 是否范围选择 + this.range = range + // 多选状态 + this.cleanMultipleStatus() + // 每周日期 + this.weeks = {} + this.lastHover = false + } + /** + * 设置日期 + * @param {Object} date + */ + setDate(date) { + const selectDate = this.getDateObj(date) + this.getWeeks(selectDate.fullDate) + } + + /** + * 清理多选状态 + */ + cleanMultipleStatus() { + this.multipleStatus = { + before: '', + after: '', + data: [] + } + } + + setStartDate(startDate) { + this.startDate = startDate + } + + setEndDate(endDate) { + this.endDate = endDate + } + + getPreMonthObj(date){ + date = fixIosDateFormat(date) + date = new Date(date) + + const oldMonth = date.getMonth() + date.setMonth(oldMonth - 1) + const newMonth = date.getMonth() + if(oldMonth !== 0 && newMonth - oldMonth === 0){ + date.setMonth(newMonth - 1) + } + return this.getDateObj(date) + } + getNextMonthObj(date){ + date = fixIosDateFormat(date) + date = new Date(date) + + const oldMonth = date.getMonth() + date.setMonth(oldMonth + 1) + const newMonth = date.getMonth() + if(newMonth - oldMonth > 1){ + date.setMonth(newMonth - 1) + } + return this.getDateObj(date) + } + + /** + * 获取指定格式Date对象 + */ + getDateObj(date) { + date = fixIosDateFormat(date) + date = new Date(date) + + return { + fullDate: getDate(date), + year: date.getFullYear(), + month: addZero(date.getMonth() + 1), + date: addZero(date.getDate()), + day: date.getDay() + } + } + + /** + * 获取上一个月日期集合 + */ + getPreMonthDays(amount, dateObj) { + const result = [] + for (let i = amount - 1; i >= 0; i--) { + const month = dateObj.month - 1 + result.push({ + date: new Date(dateObj.year, month, -i).getDate(), + month, + disable: true + }) + } + return result + } + /** + * 获取本月日期集合 + */ + getCurrentMonthDays(amount, dateObj) { + const result = [] + const fullDate = this.date.fullDate + for (let i = 1; i <= amount; i++) { + const currentDate = `${dateObj.year}-${dateObj.month}-${addZero(i)}` + const isToday = fullDate === currentDate + // 获取打点信息 + const info = this.selected && this.selected.find((item) => { + if (this.dateEqual(currentDate, item.date)) { + return item + } + }) + + // 日期禁用 + let disableBefore = true + let disableAfter = true + if (this.startDate) { + disableBefore = dateCompare(this.startDate, currentDate) + } + + if (this.endDate) { + disableAfter = dateCompare(currentDate, this.endDate) + } + + let multiples = this.multipleStatus.data + let multiplesStatus = -1 + if (this.range && multiples) { + multiplesStatus = multiples.findIndex((item) => { + return this.dateEqual(item, currentDate) + }) + } + const checked = multiplesStatus !== -1 + + result.push({ + fullDate: currentDate, + year: dateObj.year, + date: i, + multiple: this.range ? checked : false, + beforeMultiple: this.isLogicBefore(currentDate, this.multipleStatus.before, this.multipleStatus.after), + afterMultiple: this.isLogicAfter(currentDate, this.multipleStatus.before, this.multipleStatus.after), + month: dateObj.month, + disable: (this.startDate && !dateCompare(this.startDate, currentDate)) || (this.endDate && !dateCompare(currentDate,this.endDate)), + isToday, + userChecked: false, + extraInfo: info + }) + } + return result + } + /** + * 获取下一个月日期集合 + */ + _getNextMonthDays(amount, dateObj) { + const result = [] + const month = dateObj.month + 1 + for (let i = 1; i <= amount; i++) { + result.push({ + date: i, + month, + disable: true + }) + } + return result + } + + /** + * 获取当前日期详情 + * @param {Object} date + */ + getInfo(date) { + if (!date) { + date = new Date() + } + + return this.calendar.find(item => item.fullDate === this.getDateObj(date).fullDate) + } + + /** + * 比较时间是否相等 + */ + dateEqual(before, after) { + before = new Date(fixIosDateFormat(before)) + after = new Date(fixIosDateFormat(after)) + return before.valueOf() === after.valueOf() + } + + /** + * 比较真实起始日期 + */ + + isLogicBefore(currentDate, before, after) { + let logicBefore = before + if (before && after) { + logicBefore = dateCompare(before, after) ? before : after + } + return this.dateEqual(logicBefore, currentDate) + } + + isLogicAfter(currentDate, before, after) { + let logicAfter = after + if (before && after) { + logicAfter = dateCompare(before, after) ? after : before + } + return this.dateEqual(logicAfter, currentDate) + } + + /** + * 获取日期范围内所有日期 + * @param {Object} begin + * @param {Object} end + */ + geDateAll(begin, end) { + var arr = [] + var ab = begin.split('-') + var ae = end.split('-') + var db = new Date() + db.setFullYear(ab[0], ab[1] - 1, ab[2]) + var de = new Date() + de.setFullYear(ae[0], ae[1] - 1, ae[2]) + var unixDb = db.getTime() - 24 * 60 * 60 * 1000 + var unixDe = de.getTime() - 24 * 60 * 60 * 1000 + for (var k = unixDb; k <= unixDe;) { + k = k + 24 * 60 * 60 * 1000 + arr.push(this.getDateObj(new Date(parseInt(k))).fullDate) + } + return arr + } + + /** + * 获取多选状态 + */ + setMultiple(fullDate) { + if (!this.range) return + + let { + before, + after + } = this.multipleStatus + if (before && after) { + if (!this.lastHover) { + this.lastHover = true + return + } + this.multipleStatus.before = fullDate + this.multipleStatus.after = '' + this.multipleStatus.data = [] + this.multipleStatus.fulldate = '' + this.lastHover = false + } else { + if (!before) { + this.multipleStatus.before = fullDate + this.lastHover = false + } else { + this.multipleStatus.after = fullDate + if (dateCompare(this.multipleStatus.before, this.multipleStatus.after)) { + this.multipleStatus.data = this.geDateAll(this.multipleStatus.before, this.multipleStatus + .after); + } else { + this.multipleStatus.data = this.geDateAll(this.multipleStatus.after, this.multipleStatus + .before); + } + this.lastHover = true + } + } + this.getWeeks(fullDate) + } + + /** + * 鼠标 hover 更新多选状态 + */ + setHoverMultiple(fullDate) { + if (!this.range || this.lastHover) return + + const { before } = this.multipleStatus + + if (!before) { + this.multipleStatus.before = fullDate + } else { + this.multipleStatus.after = fullDate + if (dateCompare(this.multipleStatus.before, this.multipleStatus.after)) { + this.multipleStatus.data = this.geDateAll(this.multipleStatus.before, this.multipleStatus.after); + } else { + this.multipleStatus.data = this.geDateAll(this.multipleStatus.after, this.multipleStatus.before); + } + } + this.getWeeks(fullDate) + } + + /** + * 更新默认值多选状态 + */ + setDefaultMultiple(before, after) { + this.multipleStatus.before = before + this.multipleStatus.after = after + if (before && after) { + if (dateCompare(before, after)) { + this.multipleStatus.data = this.geDateAll(before, after); + this.getWeeks(after) + } else { + this.multipleStatus.data = this.geDateAll(after, before); + this.getWeeks(before) + } + } + } + + /** + * 获取每周数据 + * @param {Object} dateData + */ + getWeeks(dateData) { + const { + year, + month, + } = this.getDateObj(dateData) + + const preMonthDayAmount = new Date(year, month - 1, 1).getDay() + const preMonthDays = this.getPreMonthDays(preMonthDayAmount, this.getDateObj(dateData)) + + const currentMonthDayAmount = new Date(year, month, 0).getDate() + const currentMonthDays = this.getCurrentMonthDays(currentMonthDayAmount, this.getDateObj(dateData)) + + const nextMonthDayAmount = 42 - preMonthDayAmount - currentMonthDayAmount + const nextMonthDays = this._getNextMonthDays(nextMonthDayAmount, this.getDateObj(dateData)) + + const calendarDays = [...preMonthDays, ...currentMonthDays, ...nextMonthDays] + + const weeks = new Array(6) + for (let i = 0; i < calendarDays.length; i++) { + const index = Math.floor(i / 7) + if(!weeks[index]){ + weeks[index] = new Array(7) + } + weeks[index][i % 7] = calendarDays[i] + } + + this.calendar = calendarDays + this.weeks = weeks + } +} + +function getDateTime(date, hideSecond){ + return `${getDate(date)} ${getTime(date, hideSecond)}` +} + +function getDate(date) { + date = fixIosDateFormat(date) + date = new Date(date) + const year = date.getFullYear() + const month = date.getMonth()+1 + const day = date.getDate() + return `${year}-${addZero(month)}-${addZero(day)}` +} + +function getTime(date, hideSecond){ + date = fixIosDateFormat(date) + date = new Date(date) + const hour = date.getHours() + const minute = date.getMinutes() + const second = date.getSeconds() + return hideSecond ? `${addZero(hour)}:${addZero(minute)}` : `${addZero(hour)}:${addZero(minute)}:${addZero(second)}` +} + +function addZero(num) { + if(num < 10){ + num = `0${num}` + } + return num +} + +function getDefaultSecond(hideSecond) { + return hideSecond ? '00:00' : '00:00:00' +} + +function dateCompare(startDate, endDate) { + startDate = new Date(fixIosDateFormat(startDate)) + endDate = new Date(fixIosDateFormat(endDate)) + return startDate <= endDate +} + +function checkDate(date){ + const dateReg = /((19|20)\d{2})(-|\/)\d{1,2}(-|\/)\d{1,2}/g + return date.match(dateReg) +} + +const dateTimeReg = /^\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])( [0-5][0-9]:[0-5][0-9]:[0-5][0-9])?$/ +function fixIosDateFormat(value) { + if (typeof value === 'string' && dateTimeReg.test(value)) { + value = value.replace(/-/g, '/') + } + return value +} + +export {Calendar, getDateTime, getDate, getTime, addZero, getDefaultSecond, dateCompare, checkDate, fixIosDateFormat} \ No newline at end of file diff --git a/uni_modules/uni-datetime-picker/package.json b/uni_modules/uni-datetime-picker/package.json new file mode 100644 index 0000000..8abed63 --- /dev/null +++ b/uni_modules/uni-datetime-picker/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-datetime-picker", + "displayName": "uni-datetime-picker 日期选择器", + "version": "2.2.22", + "description": "uni-datetime-picker 日期时间选择器,支持日历,支持范围选择", + "keywords": [ + "uni-datetime-picker", + "uni-ui", + "uniui", + "日期时间选择器", + "日期时间" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "n" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/uni_modules/uni-datetime-picker/readme.md b/uni_modules/uni-datetime-picker/readme.md new file mode 100644 index 0000000..162fbef --- /dev/null +++ b/uni_modules/uni-datetime-picker/readme.md @@ -0,0 +1,21 @@ + + +> `重要通知:组件升级更新 2.0.0 后,支持日期+时间范围选择,组件 ui 将使用日历选择日期,ui 变化较大,同时支持 PC 和 移动端。此版本不向后兼容,不再支持单独的时间选择(type=time)及相关的 hide-second 属性(时间选可使用内置组件 picker)。若仍需使用旧版本,可在插件市场下载*非uni_modules版本*,旧版本将不再维护` + +## DatetimePicker 时间选择器 + +> **组件名:uni-datetime-picker** +> 代码块: `uDatetimePicker` + + +该组件的优势是,支持**时间戳**输入和输出(起始时间、终止时间也支持时间戳),可**同时选择**日期和时间。 + +若只是需要单独选择日期和时间,不需要时间戳输入和输出,可使用原生的 picker 组件。 + +**_点击 picker 默认值规则:_** + +- 若设置初始值 value, 会显示在 picker 显示框中 +- 若无初始值 value,则初始值 value 为当前本地时间 Date.now(), 但不会显示在 picker 显示框中 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-datetime-picker) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/uni_modules/uni-drawer/changelog.md b/uni_modules/uni-drawer/changelog.md new file mode 100644 index 0000000..6d2488c --- /dev/null +++ b/uni_modules/uni-drawer/changelog.md @@ -0,0 +1,13 @@ +## 1.2.1(2021-11-22) +- 修复 vue3中个别scss变量无法找到的问题 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-drawer](https://uniapp.dcloud.io/component/uniui/uni-drawer) +## 1.1.1(2021-07-30) +- 优化 vue3下事件警告的问题 +## 1.1.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.7(2021-05-12) +- 新增 组件示例地址 +## 1.0.6(2021-02-04) +- 调整为uni_modules目录规范 diff --git a/uni_modules/uni-drawer/components/uni-drawer/keypress.js b/uni_modules/uni-drawer/components/uni-drawer/keypress.js new file mode 100644 index 0000000..62dda46 --- /dev/null +++ b/uni_modules/uni-drawer/components/uni-drawer/keypress.js @@ -0,0 +1,45 @@ +// #ifdef H5 +export default { + name: 'Keypress', + props: { + disable: { + type: Boolean, + default: false + } + }, + mounted () { + const keyNames = { + esc: ['Esc', 'Escape'], + tab: 'Tab', + enter: 'Enter', + space: [' ', 'Spacebar'], + up: ['Up', 'ArrowUp'], + left: ['Left', 'ArrowLeft'], + right: ['Right', 'ArrowRight'], + down: ['Down', 'ArrowDown'], + delete: ['Backspace', 'Delete', 'Del'] + } + const listener = ($event) => { + if (this.disable) { + return + } + const keyName = Object.keys(keyNames).find(key => { + const keyName = $event.key + const value = keyNames[key] + return value === keyName || (Array.isArray(value) && value.includes(keyName)) + }) + if (keyName) { + // 避免和其他按键事件冲突 + setTimeout(() => { + this.$emit(keyName, {}) + }, 0) + } + } + document.addEventListener('keyup', listener) + // this.$once('hook:beforeDestroy', () => { + // document.removeEventListener('keyup', listener) + // }) + }, + render: () => {} +} +// #endif diff --git a/uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue b/uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue new file mode 100644 index 0000000..82331a8 --- /dev/null +++ b/uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue @@ -0,0 +1,183 @@ + + + + + diff --git a/uni_modules/uni-drawer/package.json b/uni_modules/uni-drawer/package.json new file mode 100644 index 0000000..dd056e4 --- /dev/null +++ b/uni_modules/uni-drawer/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-drawer", + "displayName": "uni-drawer 抽屉", + "version": "1.2.1", + "description": "抽屉式导航,用于展示侧滑菜单,侧滑导航。", + "keywords": [ + "uni-ui", + "uniui", + "drawer", + "抽屉", + "侧滑导航" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-drawer/readme.md b/uni_modules/uni-drawer/readme.md new file mode 100644 index 0000000..dcf6e6b --- /dev/null +++ b/uni_modules/uni-drawer/readme.md @@ -0,0 +1,10 @@ + + +## Drawer 抽屉 +> **组件名:uni-drawer** +> 代码块: `uDrawer` + +抽屉侧滑菜单。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-drawer) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/uni_modules/uni-easyinput/changelog.md b/uni_modules/uni-easyinput/changelog.md new file mode 100644 index 0000000..765401a --- /dev/null +++ b/uni_modules/uni-easyinput/changelog.md @@ -0,0 +1,97 @@ +## 1.1.9(2023-04-11) +- 修复 vue3 下 keyboardheightchange 事件报错的bug +## 1.1.8(2023-03-29) +- 优化 trim 属性默认值 +## 1.1.7(2023-03-29) +- 新增 cursor-spacing 属性 +## 1.1.6(2023-01-28) +- 新增 keyboardheightchange 事件,可监听键盘高度变化 +## 1.1.5(2022-11-29) +- 优化 主题样式 +## 1.1.4(2022-10-27) +- 修复 props 中背景颜色无默认值的bug +## 1.1.0(2022-06-30) + +- 新增 在 uni-forms 1.4.0 中使用可以在 blur 时校验内容 +- 新增 clear 事件,点击右侧叉号图标触发 +- 新增 change 事件 ,仅在输入框失去焦点或用户按下回车时触发 +- 优化 组件样式,组件获取焦点时高亮显示,图标颜色调整等 + +## 1.0.5(2022-06-07) + +- 优化 clearable 显示策略 + +## 1.0.4(2022-06-07) + +- 优化 clearable 显示策略 + +## 1.0.3(2022-05-20) + +- 修复 关闭图标某些情况下无法取消的 bug + +## 1.0.2(2022-04-12) + +- 修复 默认值不生效的 bug + +## 1.0.1(2022-04-02) + +- 修复 value 不能为 0 的 bug + +## 1.0.0(2021-11-19) + +- 优化 组件 UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-easyinput](https://uniapp.dcloud.io/component/uniui/uni-easyinput) + +## 0.1.4(2021-08-20) + +- 修复 在 uni-forms 的动态表单中默认值校验不通过的 bug + +## 0.1.3(2021-08-11) + +- 修复 在 uni-forms 中重置表单,错误信息无法清除的问题 + +## 0.1.2(2021-07-30) + +- 优化 vue3 下事件警告的问题 + +## 0.1.1 + +- 优化 errorMessage 属性支持 Boolean 类型 + +## 0.1.0(2021-07-13) + +- 组件兼容 vue3,如何创建 vue3 项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) + +## 0.0.16(2021-06-29) + +- 修复 confirmType 属性(仅 type="text" 生效)导致多行文本框无法换行的 bug + +## 0.0.15(2021-06-21) + +- 修复 passwordIcon 属性拼写错误的 bug + +## 0.0.14(2021-06-18) + +- 新增 passwordIcon 属性,当 type=password 时是否显示小眼睛图标 +- 修复 confirmType 属性不生效的问题 + +## 0.0.13(2021-06-04) + +- 修复 disabled 状态可清出内容的 bug + +## 0.0.12(2021-05-12) + +- 新增 组件示例地址 + +## 0.0.11(2021-05-07) + +- 修复 input-border 属性不生效的问题 + +## 0.0.10(2021-04-30) + +- 修复 ios 遮挡文字、显示一半的问题 + +## 0.0.9(2021-02-05) + +- 调整为 uni_modules 目录规范 +- 优化 兼容 nvue 页面 diff --git a/uni_modules/uni-easyinput/components/uni-easyinput/common.js b/uni_modules/uni-easyinput/components/uni-easyinput/common.js new file mode 100644 index 0000000..df9abe1 --- /dev/null +++ b/uni_modules/uni-easyinput/components/uni-easyinput/common.js @@ -0,0 +1,56 @@ +/** + * @desc 函数防抖 + * @param func 目标函数 + * @param wait 延迟执行毫秒数 + * @param immediate true - 立即执行, false - 延迟执行 + */ +export const debounce = function(func, wait = 1000, immediate = true) { + let timer; + console.log(1); + return function() { + console.log(123); + let context = this, + args = arguments; + if (timer) clearTimeout(timer); + if (immediate) { + let callNow = !timer; + timer = setTimeout(() => { + timer = null; + }, wait); + if (callNow) func.apply(context, args); + } else { + timer = setTimeout(() => { + func.apply(context, args); + }, wait) + } + } +} +/** + * @desc 函数节流 + * @param func 函数 + * @param wait 延迟执行毫秒数 + * @param type 1 使用表时间戳,在时间段开始的时候触发 2 使用表定时器,在时间段结束的时候触发 + */ +export const throttle = (func, wait = 1000, type = 1) => { + let previous = 0; + let timeout; + return function() { + let context = this; + let args = arguments; + if (type === 1) { + let now = Date.now(); + + if (now - previous > wait) { + func.apply(context, args); + previous = now; + } + } else if (type === 2) { + if (!timeout) { + timeout = setTimeout(() => { + timeout = null; + func.apply(context, args) + }, wait) + } + } + } +} diff --git a/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue b/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue new file mode 100644 index 0000000..2c7993a --- /dev/null +++ b/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue @@ -0,0 +1,657 @@ + + + + + diff --git a/uni_modules/uni-easyinput/package.json b/uni_modules/uni-easyinput/package.json new file mode 100644 index 0000000..bd128e1 --- /dev/null +++ b/uni_modules/uni-easyinput/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-easyinput", + "displayName": "uni-easyinput 增强输入框", + "version": "1.1.9", + "description": "Easyinput 组件是对原生input组件的增强", + "keywords": [ + "uni-ui", + "uniui", + "input", + "uni-easyinput", + "输入框" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-easyinput/readme.md b/uni_modules/uni-easyinput/readme.md new file mode 100644 index 0000000..f1faf8f --- /dev/null +++ b/uni_modules/uni-easyinput/readme.md @@ -0,0 +1,11 @@ + + +### Easyinput 增强输入框 +> **组件名:uni-easyinput** +> 代码块: `uEasyinput` + + +easyinput 组件是对原生input组件的增强 ,是专门为配合表单组件[uni-forms](https://ext.dcloud.net.cn/plugin?id=2773)而设计的,easyinput 内置了边框,图标等,同时包含 input 所有功能 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-easyinput) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/uni_modules/uni-fab/changelog.md b/uni_modules/uni-fab/changelog.md new file mode 100644 index 0000000..9bd4729 --- /dev/null +++ b/uni_modules/uni-fab/changelog.md @@ -0,0 +1,23 @@ +## 1.2.5(2023-03-29) +- 新增 pattern.icon 属性,可自定义图标 +## 1.2.4(2022-09-07) +小程序端由于 style 使用了对象导致报错,[详情](https://ask.dcloud.net.cn/question/152790?item_id=211778&rf=false) +## 1.2.3(2022-09-05) +- 修复 nvue 环境下,具有 tabBar 时,fab 组件下部位置无法正常获取 --window-bottom 的bug,详见:[https://ask.dcloud.net.cn/question/110638?notification_id=826310](https://ask.dcloud.net.cn/question/110638?notification_id=826310) +## 1.2.2(2021-12-29) +- 更新 组件依赖 +## 1.2.1(2021-11-19) +- 修复 阴影颜色不正确的bug +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-fab](https://uniapp.dcloud.io/component/uniui/uni-fab) +## 1.1.1(2021-11-09) +- 新增 提供组件设计资源,组件样式调整 +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.7(2021-05-12) +- 新增 组件示例地址 +## 1.0.6(2021-02-05) +- 调整为uni_modules目录规范 +- 优化 按钮背景色调整 +- 优化 兼容pc端 diff --git a/uni_modules/uni-fab/components/uni-fab/uni-fab.vue b/uni_modules/uni-fab/components/uni-fab/uni-fab.vue new file mode 100644 index 0000000..dfa65c1 --- /dev/null +++ b/uni_modules/uni-fab/components/uni-fab/uni-fab.vue @@ -0,0 +1,491 @@ + + + + + diff --git a/uni_modules/uni-fab/package.json b/uni_modules/uni-fab/package.json new file mode 100644 index 0000000..18c0810 --- /dev/null +++ b/uni_modules/uni-fab/package.json @@ -0,0 +1,84 @@ +{ + "id": "uni-fab", + "displayName": "uni-fab 悬浮按钮", + "version": "1.2.5", + "description": "悬浮按钮 fab button ,点击可展开一个图标按钮菜单。", + "keywords": [ + "uni-ui", + "uniui", + "按钮", + "悬浮按钮", + "fab" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-scss","uni-icons"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/uni_modules/uni-fab/readme.md b/uni_modules/uni-fab/readme.md new file mode 100644 index 0000000..9a444e8 --- /dev/null +++ b/uni_modules/uni-fab/readme.md @@ -0,0 +1,9 @@ +## Fab 悬浮按钮 +> **组件名:uni-fab** +> 代码块: `uFab` + + +点击可展开一个图形按钮菜单 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-fab) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/uni_modules/uni-fav/changelog.md b/uni_modules/uni-fav/changelog.md new file mode 100644 index 0000000..d8a08d4 --- /dev/null +++ b/uni_modules/uni-fav/changelog.md @@ -0,0 +1,19 @@ +## 1.2.1(2022-05-30) +- 新增 stat 属性 ,是否开启uni统计功能 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-fav](https://uniapp.dcloud.io/component/uniui/uni-fav) +## 1.1.1(2021-08-24) +- 新增 支持国际化 +## 1.1.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.6(2021-05-12) +- 新增 组件示例地址 +## 1.0.5(2021-04-21) +- 优化 添加依赖 uni-icons, 导入后自动下载依赖 +## 1.0.4(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 +## 1.0.3(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 +## 1.0.2(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/uni_modules/uni-fav/components/uni-fav/i18n/en.json b/uni_modules/uni-fav/components/uni-fav/i18n/en.json new file mode 100644 index 0000000..9a0759e --- /dev/null +++ b/uni_modules/uni-fav/components/uni-fav/i18n/en.json @@ -0,0 +1,4 @@ +{ + "uni-fav.collect": "collect", + "uni-fav.collected": "collected" +} diff --git a/uni_modules/uni-fav/components/uni-fav/i18n/index.js b/uni_modules/uni-fav/components/uni-fav/i18n/index.js new file mode 100644 index 0000000..de7509c --- /dev/null +++ b/uni_modules/uni-fav/components/uni-fav/i18n/index.js @@ -0,0 +1,8 @@ +import en from './en.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hans.json b/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hans.json new file mode 100644 index 0000000..67c89bf --- /dev/null +++ b/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hans.json @@ -0,0 +1,4 @@ +{ + "uni-fav.collect": "收藏", + "uni-fav.collected": "已收藏" +} diff --git a/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hant.json b/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hant.json new file mode 100644 index 0000000..67c89bf --- /dev/null +++ b/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hant.json @@ -0,0 +1,4 @@ +{ + "uni-fav.collect": "收藏", + "uni-fav.collected": "已收藏" +} diff --git a/uni_modules/uni-fav/components/uni-fav/uni-fav.vue b/uni_modules/uni-fav/components/uni-fav/uni-fav.vue new file mode 100644 index 0000000..d2c58df --- /dev/null +++ b/uni_modules/uni-fav/components/uni-fav/uni-fav.vue @@ -0,0 +1,161 @@ + + + + + diff --git a/uni_modules/uni-fav/package.json b/uni_modules/uni-fav/package.json new file mode 100644 index 0000000..cc14697 --- /dev/null +++ b/uni_modules/uni-fav/package.json @@ -0,0 +1,89 @@ +{ + "id": "uni-fav", + "displayName": "uni-fav 收藏按钮", + "version": "1.2.1", + "description": " Fav 收藏组件,可自定义颜色、大小。", + "keywords": [ + "fav", + "uni-ui", + "uniui", + "收藏" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/uni_modules/uni-fav/readme.md b/uni_modules/uni-fav/readme.md new file mode 100644 index 0000000..4de125d --- /dev/null +++ b/uni_modules/uni-fav/readme.md @@ -0,0 +1,10 @@ + + +## Fav 收藏按钮 +> **组件名:uni-fav** +> 代码块: `uFav` + +用于收藏功能,可点击切换选中、不选中的状态。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-fav) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/uni_modules/uni-file-picker/changelog.md b/uni_modules/uni-file-picker/changelog.md new file mode 100644 index 0000000..b8230e9 --- /dev/null +++ b/uni_modules/uni-file-picker/changelog.md @@ -0,0 +1,67 @@ +## 1.0.4(2023-03-29) +- 修复 手动上传删除一个文件后不能再上传的bug +## 1.0.3(2022-12-19) +- 新增 sourceType 属性, 可以自定义图片和视频选择的来源 +## 1.0.2(2022-07-04) +- 修复 在uni-forms下样式不生效的bug +## 1.0.1(2021-11-23) +- 修复 参数为对象的情况下,url在某些情况显示错误的bug +## 1.0.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-file-picker](https://uniapp.dcloud.io/component/uniui/uni-file-picker) +## 0.2.16(2021-11-08) +- 修复 传入空对象 ,显示错误的Bug +## 0.2.15(2021-08-30) +- 修复 return-type="object" 时且存在v-model时,无法删除文件的Bug +## 0.2.14(2021-08-23) +- 新增 参数中返回 fileID 字段 +## 0.2.13(2021-08-23) +- 修复 腾讯云传入fileID 不能回显的bug +- 修复 选择图片后,不能放大的问题 +## 0.2.12(2021-08-17) +- 修复 由于 0.2.11 版本引起的不能回显图片的Bug +## 0.2.11(2021-08-16) +- 新增 clearFiles(index) 方法,可以手动删除指定文件 +- 修复 v-model 值设为 null 报错的Bug +## 0.2.10(2021-08-13) +- 修复 return-type="object" 时,无法删除文件的Bug +## 0.2.9(2021-08-03) +- 修复 auto-upload 属性失效的Bug +## 0.2.8(2021-07-31) +- 修复 fileExtname属性不指定值报错的Bug +## 0.2.7(2021-07-31) +- 修复 在某种场景下图片不回显的Bug +## 0.2.6(2021-07-30) +- 修复 return-type为object下,返回值不正确的Bug +## 0.2.5(2021-07-30) +- 修复(重要) H5 平台下如果和uni-forms组件一同使用导致页面卡死的问题 +## 0.2.3(2021-07-28) +- 优化 调整示例代码 +## 0.2.2(2021-07-27) +- 修复 vue3 下赋值错误的Bug +- 优化 h5平台下上传文件导致页面卡死的问题 +## 0.2.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 0.1.1(2021-07-02) +- 修复 sourceType 缺少默认值导致 ios 无法选择文件 +## 0.1.0(2021-06-30) +- 优化 解耦与uniCloud的强绑定关系 ,如不绑定服务空间,默认autoUpload为false且不可更改 +## 0.0.11(2021-06-30) +- 修复 由 0.0.10 版本引发的 returnType 属性失效的问题 +## 0.0.10(2021-06-29) +- 优化 文件上传后进度条消失时机 +## 0.0.9(2021-06-29) +- 修复 在uni-forms 中,删除文件 ,获取的值不对的Bug +## 0.0.8(2021-06-15) +- 修复 删除文件时无法触发 v-model 的Bug +## 0.0.7(2021-05-12) +- 新增 组件示例地址 +## 0.0.6(2021-04-09) +- 修复 选择的文件非 file-extname 字段指定的扩展名报错的Bug +## 0.0.5(2021-04-09) +- 优化 更新组件示例 +## 0.0.4(2021-04-09) +- 优化 file-extname 字段支持字符串写法,多个扩展名需要用逗号分隔 +## 0.0.3(2021-02-05) +- 调整为uni_modules目录规范 +- 修复 微信小程序不指定 fileExtname 属性选择失败的Bug diff --git a/uni_modules/uni-file-picker/components/uni-file-picker/choose-and-upload-file.js b/uni_modules/uni-file-picker/components/uni-file-picker/choose-and-upload-file.js new file mode 100644 index 0000000..aff0864 --- /dev/null +++ b/uni_modules/uni-file-picker/components/uni-file-picker/choose-and-upload-file.js @@ -0,0 +1,224 @@ +'use strict'; + +const ERR_MSG_OK = 'chooseAndUploadFile:ok'; +const ERR_MSG_FAIL = 'chooseAndUploadFile:fail'; + +function chooseImage(opts) { + const { + count, + sizeType = ['original', 'compressed'], + sourceType, + extension + } = opts + return new Promise((resolve, reject) => { + uni.chooseImage({ + count, + sizeType, + sourceType, + extension, + success(res) { + resolve(normalizeChooseAndUploadFileRes(res, 'image')); + }, + fail(res) { + reject({ + errMsg: res.errMsg.replace('chooseImage:fail', ERR_MSG_FAIL), + }); + }, + }); + }); +} + +function chooseVideo(opts) { + const { + camera, + compressed, + maxDuration, + sourceType, + extension + } = opts; + return new Promise((resolve, reject) => { + uni.chooseVideo({ + camera, + compressed, + maxDuration, + sourceType, + extension, + success(res) { + const { + tempFilePath, + duration, + size, + height, + width + } = res; + resolve(normalizeChooseAndUploadFileRes({ + errMsg: 'chooseVideo:ok', + tempFilePaths: [tempFilePath], + tempFiles: [ + { + name: (res.tempFile && res.tempFile.name) || '', + path: tempFilePath, + size, + type: (res.tempFile && res.tempFile.type) || '', + width, + height, + duration, + fileType: 'video', + cloudPath: '', + }, ], + }, 'video')); + }, + fail(res) { + reject({ + errMsg: res.errMsg.replace('chooseVideo:fail', ERR_MSG_FAIL), + }); + }, + }); + }); +} + +function chooseAll(opts) { + const { + count, + extension + } = opts; + return new Promise((resolve, reject) => { + let chooseFile = uni.chooseFile; + if (typeof wx !== 'undefined' && + typeof wx.chooseMessageFile === 'function') { + chooseFile = wx.chooseMessageFile; + } + if (typeof chooseFile !== 'function') { + return reject({ + errMsg: ERR_MSG_FAIL + ' 请指定 type 类型,该平台仅支持选择 image 或 video。', + }); + } + chooseFile({ + type: 'all', + count, + extension, + success(res) { + resolve(normalizeChooseAndUploadFileRes(res)); + }, + fail(res) { + reject({ + errMsg: res.errMsg.replace('chooseFile:fail', ERR_MSG_FAIL), + }); + }, + }); + }); +} + +function normalizeChooseAndUploadFileRes(res, fileType) { + res.tempFiles.forEach((item, index) => { + if (!item.name) { + item.name = item.path.substring(item.path.lastIndexOf('/') + 1); + } + if (fileType) { + item.fileType = fileType; + } + item.cloudPath = + Date.now() + '_' + index + item.name.substring(item.name.lastIndexOf('.')); + }); + if (!res.tempFilePaths) { + res.tempFilePaths = res.tempFiles.map((file) => file.path); + } + return res; +} + +function uploadCloudFiles(files, max = 5, onUploadProgress) { + files = JSON.parse(JSON.stringify(files)) + const len = files.length + let count = 0 + let self = this + return new Promise(resolve => { + while (count < max) { + next() + } + + function next() { + let cur = count++ + if (cur >= len) { + !files.find(item => !item.url && !item.errMsg) && resolve(files) + return + } + const fileItem = files[cur] + const index = self.files.findIndex(v => v.uuid === fileItem.uuid) + fileItem.url = '' + delete fileItem.errMsg + + uniCloud + .uploadFile({ + filePath: fileItem.path, + cloudPath: fileItem.cloudPath, + fileType: fileItem.fileType, + onUploadProgress: res => { + res.index = index + onUploadProgress && onUploadProgress(res) + } + }) + .then(res => { + fileItem.url = res.fileID + fileItem.index = index + if (cur < len) { + next() + } + }) + .catch(res => { + fileItem.errMsg = res.errMsg || res.message + fileItem.index = index + if (cur < len) { + next() + } + }) + } + }) +} + + + + + +function uploadFiles(choosePromise, { + onChooseFile, + onUploadProgress +}) { + return choosePromise + .then((res) => { + if (onChooseFile) { + const customChooseRes = onChooseFile(res); + if (typeof customChooseRes !== 'undefined') { + return Promise.resolve(customChooseRes).then((chooseRes) => typeof chooseRes === 'undefined' ? + res : chooseRes); + } + } + return res; + }) + .then((res) => { + if (res === false) { + return { + errMsg: ERR_MSG_OK, + tempFilePaths: [], + tempFiles: [], + }; + } + return res + }) +} + +function chooseAndUploadFile(opts = { + type: 'all' +}) { + if (opts.type === 'image') { + return uploadFiles(chooseImage(opts), opts); + } + else if (opts.type === 'video') { + return uploadFiles(chooseVideo(opts), opts); + } + return uploadFiles(chooseAll(opts), opts); +} + +export { + chooseAndUploadFile, + uploadCloudFiles +}; diff --git a/uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.vue b/uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.vue new file mode 100644 index 0000000..370441d --- /dev/null +++ b/uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.vue @@ -0,0 +1,667 @@ + + + + + diff --git a/uni_modules/uni-file-picker/components/uni-file-picker/upload-file.vue b/uni_modules/uni-file-picker/components/uni-file-picker/upload-file.vue new file mode 100644 index 0000000..625d92e --- /dev/null +++ b/uni_modules/uni-file-picker/components/uni-file-picker/upload-file.vue @@ -0,0 +1,325 @@ + + + + + diff --git a/uni_modules/uni-file-picker/components/uni-file-picker/upload-image.vue b/uni_modules/uni-file-picker/components/uni-file-picker/upload-image.vue new file mode 100644 index 0000000..2a29bc2 --- /dev/null +++ b/uni_modules/uni-file-picker/components/uni-file-picker/upload-image.vue @@ -0,0 +1,292 @@ + + + + + diff --git a/uni_modules/uni-file-picker/components/uni-file-picker/utils.js b/uni_modules/uni-file-picker/components/uni-file-picker/utils.js new file mode 100644 index 0000000..60aaa3e --- /dev/null +++ b/uni_modules/uni-file-picker/components/uni-file-picker/utils.js @@ -0,0 +1,109 @@ +/** + * 获取文件名和后缀 + * @param {String} name + */ +export const get_file_ext = (name) => { + const last_len = name.lastIndexOf('.') + const len = name.length + return { + name: name.substring(0, last_len), + ext: name.substring(last_len + 1, len) + } +} + +/** + * 获取扩展名 + * @param {Array} fileExtname + */ +export const get_extname = (fileExtname) => { + if (!Array.isArray(fileExtname)) { + let extname = fileExtname.replace(/(\[|\])/g, '') + return extname.split(',') + } else { + return fileExtname + } + return [] +} + +/** + * 获取文件和检测是否可选 + */ +export const get_files_and_is_max = (res, _extname) => { + let filePaths = [] + let files = [] + if(!_extname || _extname.length === 0){ + return { + filePaths, + files + } + } + res.tempFiles.forEach(v => { + let fileFullName = get_file_ext(v.name) + const extname = fileFullName.ext.toLowerCase() + if (_extname.indexOf(extname) !== -1) { + files.push(v) + filePaths.push(v.path) + } + }) + if (files.length !== res.tempFiles.length) { + uni.showToast({ + title: `当前选择了${res.tempFiles.length}个文件 ,${res.tempFiles.length - files.length} 个文件格式不正确`, + icon: 'none', + duration: 5000 + }) + } + + return { + filePaths, + files + } +} + + +/** + * 获取图片信息 + * @param {Object} filepath + */ +export const get_file_info = (filepath) => { + return new Promise((resolve, reject) => { + uni.getImageInfo({ + src: filepath, + success(res) { + resolve(res) + }, + fail(err) { + reject(err) + } + }) + }) +} +/** + * 获取封装数据 + */ +export const get_file_data = async (files, type = 'image') => { + // 最终需要上传数据库的数据 + let fileFullName = get_file_ext(files.name) + const extname = fileFullName.ext.toLowerCase() + let filedata = { + name: files.name, + uuid: files.uuid, + extname: extname || '', + cloudPath: files.cloudPath, + fileType: files.fileType, + url: files.path || files.path, + size: files.size, //单位是字节 + image: {}, + path: files.path, + video: {} + } + if (type === 'image') { + const imageinfo = await get_file_info(files.path) + delete filedata.video + filedata.image.width = imageinfo.width + filedata.image.height = imageinfo.height + filedata.image.location = imageinfo.path + } else { + delete filedata.image + } + return filedata +} diff --git a/uni_modules/uni-file-picker/package.json b/uni_modules/uni-file-picker/package.json new file mode 100644 index 0000000..35c926c --- /dev/null +++ b/uni_modules/uni-file-picker/package.json @@ -0,0 +1,83 @@ +{ + "id": "uni-file-picker", + "displayName": "uni-file-picker 文件选择上传", + "version": "1.0.4", + "description": "文件选择上传组件,可以选择图片、视频等任意文件并上传到当前绑定的服务空间", + "keywords": [ + "uni-ui", + "uniui", + "图片上传", + "文件上传" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "n" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/uni_modules/uni-file-picker/readme.md b/uni_modules/uni-file-picker/readme.md new file mode 100644 index 0000000..c8399a5 --- /dev/null +++ b/uni_modules/uni-file-picker/readme.md @@ -0,0 +1,11 @@ + +## FilePicker 文件选择上传 + +> **组件名:uni-file-picker** +> 代码块: `uFilePicker` + + +文件选择上传组件,可以选择图片、视频等任意文件并上传到当前绑定的服务空间 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-file-picker) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/uni_modules/uni-forms/changelog.md b/uni_modules/uni-forms/changelog.md new file mode 100644 index 0000000..8218df5 --- /dev/null +++ b/uni_modules/uni-forms/changelog.md @@ -0,0 +1,92 @@ +## 1.4.9(2023-02-10) +- 修复 required 参数无法动态绑定 +## 1.4.8(2022-08-23) +- 优化 根据 rules 自动添加 required 的问题 +## 1.4.7(2022-08-22) +- 修复 item 未设置 require 属性,rules 设置 require 后,星号也显示的 bug,详见:[https://ask.dcloud.net.cn/question/151540](https://ask.dcloud.net.cn/question/151540) +## 1.4.6(2022-07-13) +- 修复 model 需要校验的值没有声明对应字段时,导致第一次不触发校验的bug +## 1.4.5(2022-07-05) +- 新增 更多表单示例 +- 优化 子表单组件过期提示的问题 +- 优化 子表单组件uni-datetime-picker、uni-data-select、uni-data-picker的显示样式 +## 1.4.4(2022-07-04) +- 更新 删除组件日志 +## 1.4.3(2022-07-04) +- 修复 由 1.4.0 引发的 label 插槽不生效的bug +## 1.4.2(2022-07-04) +- 修复 子组件找不到 setValue 报错的bug +## 1.4.1(2022-07-04) +- 修复 uni-data-picker 在 uni-forms-item 中报错的bug +- 修复 uni-data-picker 在 uni-forms-item 中宽度不正确的bug +## 1.4.0(2022-06-30) +- 【重要】组件逻辑重构,部分用法用旧版本不兼容,请注意兼容问题 +- 【重要】组件使用 Provide/Inject 方式注入依赖,提供了自定义表单组件调用 uni-forms 校验表单的能力 +- 新增 model 属性,等同于原 value/modelValue 属性,旧属性即将废弃 +- 新增 validateTrigger 属性的 blur 值,仅 uni-easyinput 生效 +- 新增 onFieldChange 方法,可以对子表单进行校验,可替代binddata方法 +- 新增 子表单的 setRules 方法,配合自定义校验函数使用 +- 新增 uni-forms-item 的 setRules 方法,配置动态表单使用可动态更新校验规则 +- 优化 动态表单校验方式,废弃拼接name的方式 +## 1.3.3(2022-06-22) +- 修复 表单校验顺序无序问题 +## 1.3.2(2021-12-09) +- +## 1.3.1(2021-11-19) +- 修复 label 插槽不生效的bug +## 1.3.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-forms](https://uniapp.dcloud.io/component/uniui/uni-forms) +## 1.2.7(2021-08-13) +- 修复 没有添加校验规则的字段依然报错的Bug +## 1.2.6(2021-08-11) +- 修复 重置表单错误信息无法清除的问题 +## 1.2.5(2021-08-11) +- 优化 组件文档 +## 1.2.4(2021-08-11) +- 修复 表单验证只生效一次的问题 +## 1.2.3(2021-07-30) +- 优化 vue3下事件警告的问题 +## 1.2.2(2021-07-26) +- 修复 vue2 下条件编译导致destroyed生命周期失效的Bug +- 修复 1.2.1 引起的示例在小程序平台报错的Bug +## 1.2.1(2021-07-22) +- 修复 动态校验表单,默认值为空的情况下校验失效的Bug +- 修复 不指定name属性时,运行报错的Bug +- 优化 label默认宽度从65调整至70,使required为true且四字时不换行 +- 优化 组件示例,新增动态校验示例代码 +- 优化 组件文档,使用方式更清晰 +## 1.2.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.1.2(2021-06-25) +- 修复 pattern 属性在微信小程序平台无效的问题 +## 1.1.1(2021-06-22) +- 修复 validate-trigger属性为submit且err-show-type属性为toast时不能弹出的Bug +## 1.1.0(2021-06-22) +- 修复 只写setRules方法而导致校验不生效的Bug +- 修复 由上个办法引发的错误提示文字错位的Bug +## 1.0.48(2021-06-21) +- 修复 不设置 label 属性 ,无法设置label插槽的问题 +## 1.0.47(2021-06-21) +- 修复 不设置label属性,label-width属性不生效的bug +- 修复 setRules 方法与rules属性冲突的问题 +## 1.0.46(2021-06-04) +- 修复 动态删减数据导致报错的问题 +## 1.0.45(2021-06-04) +- 新增 modelValue 属性 ,value 即将废弃 +## 1.0.44(2021-06-02) +- 新增 uni-forms-item 可以设置单独的 rules +- 新增 validate 事件增加 keepitem 参数,可以选择那些字段不过滤 +- 优化 submit 事件重命名为 validate +## 1.0.43(2021-05-12) +- 新增 组件示例地址 +## 1.0.42(2021-04-30) +- 修复 自定义检验器失效的问题 +## 1.0.41(2021-03-05) +- 更新 校验器 +- 修复 表单规则设置类型为 number 的情况下,值为0校验失败的Bug +## 1.0.40(2021-03-04) +- 修复 动态显示uni-forms-item的情况下,submit 方法获取值错误的Bug +## 1.0.39(2021-02-05) +- 调整为uni_modules目录规范 +- 修复 校验器传入 int 等类型 ,返回String类型的Bug diff --git a/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue b/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue new file mode 100644 index 0000000..91fe351 --- /dev/null +++ b/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue @@ -0,0 +1,627 @@ + + + + + diff --git a/uni_modules/uni-forms/components/uni-forms/uni-forms.vue b/uni_modules/uni-forms/components/uni-forms/uni-forms.vue new file mode 100644 index 0000000..ed2f6d9 --- /dev/null +++ b/uni_modules/uni-forms/components/uni-forms/uni-forms.vue @@ -0,0 +1,397 @@ + + + + + diff --git a/uni_modules/uni-forms/components/uni-forms/utils.js b/uni_modules/uni-forms/components/uni-forms/utils.js new file mode 100644 index 0000000..6da2421 --- /dev/null +++ b/uni_modules/uni-forms/components/uni-forms/utils.js @@ -0,0 +1,293 @@ +/** + * 简单处理对象拷贝 + * @param {Obejct} 被拷贝对象 + * @@return {Object} 拷贝对象 + */ +export const deepCopy = (val) => { + return JSON.parse(JSON.stringify(val)) +} +/** + * 过滤数字类型 + * @param {String} format 数字类型 + * @@return {Boolean} 返回是否为数字类型 + */ +export const typeFilter = (format) => { + return format === 'int' || format === 'double' || format === 'number' || format === 'timestamp'; +} + +/** + * 把 value 转换成指定的类型,用于处理初始值,原因是初始值需要入库不能为 undefined + * @param {String} key 字段名 + * @param {any} value 字段值 + * @param {Object} rules 表单校验规则 + */ +export const getValue = (key, value, rules) => { + const isRuleNumType = rules.find(val => val.format && typeFilter(val.format)); + const isRuleBoolType = rules.find(val => (val.format && val.format === 'boolean') || val.format === 'bool'); + // 输入类型为 number + if (!!isRuleNumType) { + if (!value && value !== 0) { + value = null + } else { + value = isNumber(Number(value)) ? Number(value) : value + } + } + + // 输入类型为 boolean + if (!!isRuleBoolType) { + value = isBoolean(value) ? value : false + } + + return value; +} + +/** + * 获取表单数据 + * @param {String|Array} name 真实名称,需要使用 realName 获取 + * @param {Object} data 原始数据 + * @param {any} value 需要设置的值 + */ +export const setDataValue = (field, formdata, value) => { + formdata[field] = value + return value || '' +} + +/** + * 获取表单数据 + * @param {String|Array} field 真实名称,需要使用 realName 获取 + * @param {Object} data 原始数据 + */ +export const getDataValue = (field, data) => { + return objGet(data, field) +} + +/** + * 获取表单类型 + * @param {String|Array} field 真实名称,需要使用 realName 获取 + */ +export const getDataValueType = (field, data) => { + const value = getDataValue(field, data) + return { + type: type(value), + value + } +} + +/** + * 获取表单可用的真实name + * @param {String|Array} name 表单name + * @@return {String} 表单可用的真实name + */ +export const realName = (name, data = {}) => { + const base_name = _basePath(name) + if (typeof base_name === 'object' && Array.isArray(base_name) && base_name.length > 1) { + const realname = base_name.reduce((a, b) => a += `#${b}`, '_formdata_') + return realname + } + return base_name[0] || name +} + +/** + * 判断是否表单可用的真实name + * @param {String|Array} name 表单name + * @@return {String} 表单可用的真实name + */ +export const isRealName = (name) => { + const reg = /^_formdata_#*/ + return reg.test(name) +} + +/** + * 获取表单数据的原始格式 + * @@return {Object|Array} object 需要解析的数据 + */ +export const rawData = (object = {}, name) => { + let newData = JSON.parse(JSON.stringify(object)) + let formData = {} + for(let i in newData){ + let path = name2arr(i) + objSet(formData,path,newData[i]) + } + return formData +} + +/** + * 真实name还原为 array + * @param {*} name + */ +export const name2arr = (name) => { + let field = name.replace('_formdata_#', '') + field = field.split('#').map(v => (isNumber(v) ? Number(v) : v)) + return field +} + +/** + * 对象中设置值 + * @param {Object|Array} object 源数据 + * @param {String| Array} path 'a.b.c' 或 ['a',0,'b','c'] + * @param {String} value 需要设置的值 + */ +export const objSet = (object, path, value) => { + if (typeof object !== 'object') return object; + _basePath(path).reduce((o, k, i, _) => { + if (i === _.length - 1) { + // 若遍历结束直接赋值 + o[k] = value + return null + } else if (k in o) { + // 若存在对应路径,则返回找到的对象,进行下一次遍历 + return o[k] + } else { + // 若不存在对应路径,则创建对应对象,若下一路径是数字,新对象赋值为空数组,否则赋值为空对象 + o[k] = /^[0-9]{1,}$/.test(_[i + 1]) ? [] : {} + return o[k] + } + }, object) + // 返回object + return object; +} + +// 处理 path, path有三种形式:'a[0].b.c'、'a.0.b.c' 和 ['a','0','b','c'],需要统一处理成数组,便于后续使用 +function _basePath(path) { + // 若是数组,则直接返回 + if (Array.isArray(path)) return path + // 若有 '[',']',则替换成将 '[' 替换成 '.',去掉 ']' + return path.replace(/\[/g, '.').replace(/\]/g, '').split('.') +} + +/** + * 从对象中获取值 + * @param {Object|Array} object 源数据 + * @param {String| Array} path 'a.b.c' 或 ['a',0,'b','c'] + * @param {String} defaultVal 如果无法从调用链中获取值的默认值 + */ +export const objGet = (object, path, defaultVal = 'undefined') => { + // 先将path处理成统一格式 + let newPath = _basePath(path) + // 递归处理,返回最后结果 + let val = newPath.reduce((o, k) => { + return (o || {})[k] + }, object); + return !val || val !== undefined ? val : defaultVal +} + + +/** + * 是否为 number 类型 + * @param {any} num 需要判断的值 + * @return {Boolean} 是否为 number + */ +export const isNumber = (num) => { + return !isNaN(Number(num)) +} + +/** + * 是否为 boolean 类型 + * @param {any} bool 需要判断的值 + * @return {Boolean} 是否为 boolean + */ +export const isBoolean = (bool) => { + return (typeof bool === 'boolean') +} +/** + * 是否有必填字段 + * @param {Object} rules 规则 + * @return {Boolean} 是否有必填字段 + */ +export const isRequiredField = (rules) => { + let isNoField = false; + for (let i = 0; i < rules.length; i++) { + const ruleData = rules[i]; + if (ruleData.required) { + isNoField = true; + break; + } + } + return isNoField; +} + + +/** + * 获取数据类型 + * @param {Any} obj 需要获取数据类型的值 + */ +export const type = (obj) => { + var class2type = {}; + + // 生成class2type映射 + "Boolean Number String Function Array Date RegExp Object Error".split(" ").map(function(item, index) { + class2type["[object " + item + "]"] = item.toLowerCase(); + }) + if (obj == null) { + return obj + ""; + } + return typeof obj === "object" || typeof obj === "function" ? + class2type[Object.prototype.toString.call(obj)] || "object" : + typeof obj; +} + +/** + * 判断两个值是否相等 + * @param {any} a 值 + * @param {any} b 值 + * @return {Boolean} 是否相等 + */ +export const isEqual = (a, b) => { + //如果a和b本来就全等 + if (a === b) { + //判断是否为0和-0 + return a !== 0 || 1 / a === 1 / b; + } + //判断是否为null和undefined + if (a == null || b == null) { + return a === b; + } + //接下来判断a和b的数据类型 + var classNameA = toString.call(a), + classNameB = toString.call(b); + //如果数据类型不相等,则返回false + if (classNameA !== classNameB) { + return false; + } + //如果数据类型相等,再根据不同数据类型分别判断 + switch (classNameA) { + case '[object RegExp]': + case '[object String]': + //进行字符串转换比较 + return '' + a === '' + b; + case '[object Number]': + //进行数字转换比较,判断是否为NaN + if (+a !== +a) { + return +b !== +b; + } + //判断是否为0或-0 + return +a === 0 ? 1 / +a === 1 / b : +a === +b; + case '[object Date]': + case '[object Boolean]': + return +a === +b; + } + //如果是对象类型 + if (classNameA == '[object Object]') { + //获取a和b的属性长度 + var propsA = Object.getOwnPropertyNames(a), + propsB = Object.getOwnPropertyNames(b); + if (propsA.length != propsB.length) { + return false; + } + for (var i = 0; i < propsA.length; i++) { + var propName = propsA[i]; + //如果对应属性对应值不相等,则返回false + if (a[propName] !== b[propName]) { + return false; + } + } + return true; + } + //如果是数组类型 + if (classNameA == '[object Array]') { + if (a.toString() == b.toString()) { + return true; + } + return false; + } +} diff --git a/uni_modules/uni-forms/components/uni-forms/validate.js b/uni_modules/uni-forms/components/uni-forms/validate.js new file mode 100644 index 0000000..1834c6c --- /dev/null +++ b/uni_modules/uni-forms/components/uni-forms/validate.js @@ -0,0 +1,486 @@ +var pattern = { + email: /^\S+?@\S+?\.\S+?$/, + idcard: /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/, + url: new RegExp( + "^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$", + 'i') +}; + +const FORMAT_MAPPING = { + "int": 'integer', + "bool": 'boolean', + "double": 'number', + "long": 'number', + "password": 'string' + // "fileurls": 'array' +} + +function formatMessage(args, resources = '') { + var defaultMessage = ['label'] + defaultMessage.forEach((item) => { + if (args[item] === undefined) { + args[item] = '' + } + }) + + let str = resources + for (let key in args) { + let reg = new RegExp('{' + key + '}') + str = str.replace(reg, args[key]) + } + return str +} + +function isEmptyValue(value, type) { + if (value === undefined || value === null) { + return true; + } + + if (typeof value === 'string' && !value) { + return true; + } + + if (Array.isArray(value) && !value.length) { + return true; + } + + if (type === 'object' && !Object.keys(value).length) { + return true; + } + + return false; +} + +const types = { + integer(value) { + return types.number(value) && parseInt(value, 10) === value; + }, + string(value) { + return typeof value === 'string'; + }, + number(value) { + if (isNaN(value)) { + return false; + } + return typeof value === 'number'; + }, + "boolean": function(value) { + return typeof value === 'boolean'; + }, + "float": function(value) { + return types.number(value) && !types.integer(value); + }, + array(value) { + return Array.isArray(value); + }, + object(value) { + return typeof value === 'object' && !types.array(value); + }, + date(value) { + return value instanceof Date; + }, + timestamp(value) { + if (!this.integer(value) || Math.abs(value).toString().length > 16) { + return false + } + return true; + }, + file(value) { + return typeof value.url === 'string'; + }, + email(value) { + return typeof value === 'string' && !!value.match(pattern.email) && value.length < 255; + }, + url(value) { + return typeof value === 'string' && !!value.match(pattern.url); + }, + pattern(reg, value) { + try { + return new RegExp(reg).test(value); + } catch (e) { + return false; + } + }, + method(value) { + return typeof value === 'function'; + }, + idcard(value) { + return typeof value === 'string' && !!value.match(pattern.idcard); + }, + 'url-https'(value) { + return this.url(value) && value.startsWith('https://'); + }, + 'url-scheme'(value) { + return value.startsWith('://'); + }, + 'url-web'(value) { + return false; + } +} + +class RuleValidator { + + constructor(message) { + this._message = message + } + + async validateRule(fieldKey, fieldValue, value, data, allData) { + var result = null + + let rules = fieldValue.rules + + let hasRequired = rules.findIndex((item) => { + return item.required + }) + if (hasRequired < 0) { + if (value === null || value === undefined) { + return result + } + if (typeof value === 'string' && !value.length) { + return result + } + } + + var message = this._message + + if (rules === undefined) { + return message['default'] + } + + for (var i = 0; i < rules.length; i++) { + let rule = rules[i] + let vt = this._getValidateType(rule) + + Object.assign(rule, { + label: fieldValue.label || `["${fieldKey}"]` + }) + + if (RuleValidatorHelper[vt]) { + result = RuleValidatorHelper[vt](rule, value, message) + if (result != null) { + break + } + } + + if (rule.validateExpr) { + let now = Date.now() + let resultExpr = rule.validateExpr(value, allData, now) + if (resultExpr === false) { + result = this._getMessage(rule, rule.errorMessage || this._message['default']) + break + } + } + + if (rule.validateFunction) { + result = await this.validateFunction(rule, value, data, allData, vt) + if (result !== null) { + break + } + } + } + + if (result !== null) { + result = message.TAG + result + } + + return result + } + + async validateFunction(rule, value, data, allData, vt) { + let result = null + try { + let callbackMessage = null + const res = await rule.validateFunction(rule, value, allData || data, (message) => { + callbackMessage = message + }) + if (callbackMessage || (typeof res === 'string' && res) || res === false) { + result = this._getMessage(rule, callbackMessage || res, vt) + } + } catch (e) { + result = this._getMessage(rule, e.message, vt) + } + return result + } + + _getMessage(rule, message, vt) { + return formatMessage(rule, message || rule.errorMessage || this._message[vt] || message['default']) + } + + _getValidateType(rule) { + var result = '' + if (rule.required) { + result = 'required' + } else if (rule.format) { + result = 'format' + } else if (rule.arrayType) { + result = 'arrayTypeFormat' + } else if (rule.range) { + result = 'range' + } else if (rule.maximum !== undefined || rule.minimum !== undefined) { + result = 'rangeNumber' + } else if (rule.maxLength !== undefined || rule.minLength !== undefined) { + result = 'rangeLength' + } else if (rule.pattern) { + result = 'pattern' + } else if (rule.validateFunction) { + result = 'validateFunction' + } + return result + } +} + +const RuleValidatorHelper = { + required(rule, value, message) { + if (rule.required && isEmptyValue(value, rule.format || typeof value)) { + return formatMessage(rule, rule.errorMessage || message.required); + } + + return null + }, + + range(rule, value, message) { + const { + range, + errorMessage + } = rule; + + let list = new Array(range.length); + for (let i = 0; i < range.length; i++) { + const item = range[i]; + if (types.object(item) && item.value !== undefined) { + list[i] = item.value; + } else { + list[i] = item; + } + } + + let result = false + if (Array.isArray(value)) { + result = (new Set(value.concat(list)).size === list.length); + } else { + if (list.indexOf(value) > -1) { + result = true; + } + } + + if (!result) { + return formatMessage(rule, errorMessage || message['enum']); + } + + return null + }, + + rangeNumber(rule, value, message) { + if (!types.number(value)) { + return formatMessage(rule, rule.errorMessage || message.pattern.mismatch); + } + + let { + minimum, + maximum, + exclusiveMinimum, + exclusiveMaximum + } = rule; + let min = exclusiveMinimum ? value <= minimum : value < minimum; + let max = exclusiveMaximum ? value >= maximum : value > maximum; + + if (minimum !== undefined && min) { + return formatMessage(rule, rule.errorMessage || message['number'][exclusiveMinimum ? + 'exclusiveMinimum' : 'minimum' + ]) + } else if (maximum !== undefined && max) { + return formatMessage(rule, rule.errorMessage || message['number'][exclusiveMaximum ? + 'exclusiveMaximum' : 'maximum' + ]) + } else if (minimum !== undefined && maximum !== undefined && (min || max)) { + return formatMessage(rule, rule.errorMessage || message['number'].range) + } + + return null + }, + + rangeLength(rule, value, message) { + if (!types.string(value) && !types.array(value)) { + return formatMessage(rule, rule.errorMessage || message.pattern.mismatch); + } + + let min = rule.minLength; + let max = rule.maxLength; + let val = value.length; + + if (min !== undefined && val < min) { + return formatMessage(rule, rule.errorMessage || message['length'].minLength) + } else if (max !== undefined && val > max) { + return formatMessage(rule, rule.errorMessage || message['length'].maxLength) + } else if (min !== undefined && max !== undefined && (val < min || val > max)) { + return formatMessage(rule, rule.errorMessage || message['length'].range) + } + + return null + }, + + pattern(rule, value, message) { + if (!types['pattern'](rule.pattern, value)) { + return formatMessage(rule, rule.errorMessage || message.pattern.mismatch); + } + + return null + }, + + format(rule, value, message) { + var customTypes = Object.keys(types); + var format = FORMAT_MAPPING[rule.format] ? FORMAT_MAPPING[rule.format] : (rule.format || rule.arrayType); + + if (customTypes.indexOf(format) > -1) { + if (!types[format](value)) { + return formatMessage(rule, rule.errorMessage || message.typeError); + } + } + + return null + }, + + arrayTypeFormat(rule, value, message) { + if (!Array.isArray(value)) { + return formatMessage(rule, rule.errorMessage || message.typeError); + } + + for (let i = 0; i < value.length; i++) { + const element = value[i]; + let formatResult = this.format(rule, element, message) + if (formatResult !== null) { + return formatResult + } + } + + return null + } +} + +class SchemaValidator extends RuleValidator { + + constructor(schema, options) { + super(SchemaValidator.message); + + this._schema = schema + this._options = options || null + } + + updateSchema(schema) { + this._schema = schema + } + + async validate(data, allData) { + let result = this._checkFieldInSchema(data) + if (!result) { + result = await this.invokeValidate(data, false, allData) + } + return result.length ? result[0] : null + } + + async validateAll(data, allData) { + let result = this._checkFieldInSchema(data) + if (!result) { + result = await this.invokeValidate(data, true, allData) + } + return result + } + + async validateUpdate(data, allData) { + let result = this._checkFieldInSchema(data) + if (!result) { + result = await this.invokeValidateUpdate(data, false, allData) + } + return result.length ? result[0] : null + } + + async invokeValidate(data, all, allData) { + let result = [] + let schema = this._schema + for (let key in schema) { + let value = schema[key] + let errorMessage = await this.validateRule(key, value, data[key], data, allData) + if (errorMessage != null) { + result.push({ + key, + errorMessage + }) + if (!all) break + } + } + return result + } + + async invokeValidateUpdate(data, all, allData) { + let result = [] + for (let key in data) { + let errorMessage = await this.validateRule(key, this._schema[key], data[key], data, allData) + if (errorMessage != null) { + result.push({ + key, + errorMessage + }) + if (!all) break + } + } + return result + } + + _checkFieldInSchema(data) { + var keys = Object.keys(data) + var keys2 = Object.keys(this._schema) + if (new Set(keys.concat(keys2)).size === keys2.length) { + return '' + } + + var noExistFields = keys.filter((key) => { + return keys2.indexOf(key) < 0; + }) + var errorMessage = formatMessage({ + field: JSON.stringify(noExistFields) + }, SchemaValidator.message.TAG + SchemaValidator.message['defaultInvalid']) + return [{ + key: 'invalid', + errorMessage + }] + } +} + +function Message() { + return { + TAG: "", + default: '验证错误', + defaultInvalid: '提交的字段{field}在数据库中并不存在', + validateFunction: '验证无效', + required: '{label}必填', + 'enum': '{label}超出范围', + timestamp: '{label}格式无效', + whitespace: '{label}不能为空', + typeError: '{label}类型无效', + date: { + format: '{label}日期{value}格式无效', + parse: '{label}日期无法解析,{value}无效', + invalid: '{label}日期{value}无效' + }, + length: { + minLength: '{label}长度不能少于{minLength}', + maxLength: '{label}长度不能超过{maxLength}', + range: '{label}必须介于{minLength}和{maxLength}之间' + }, + number: { + minimum: '{label}不能小于{minimum}', + maximum: '{label}不能大于{maximum}', + exclusiveMinimum: '{label}不能小于等于{minimum}', + exclusiveMaximum: '{label}不能大于等于{maximum}', + range: '{label}必须介于{minimum}and{maximum}之间' + }, + pattern: { + mismatch: '{label}格式不匹配' + } + }; +} + + +SchemaValidator.message = new Message(); + +export default SchemaValidator diff --git a/uni_modules/uni-forms/package.json b/uni_modules/uni-forms/package.json new file mode 100644 index 0000000..1925611 --- /dev/null +++ b/uni_modules/uni-forms/package.json @@ -0,0 +1,88 @@ +{ + "id": "uni-forms", + "displayName": "uni-forms 表单", + "version": "1.4.9", + "description": "由输入框、选择器、单选框、多选框等控件组成,用以收集、校验、提交数据", + "keywords": [ + "uni-ui", + "表单", + "校验", + "表单校验", + "表单验证" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y", + "京东": "u" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/uni_modules/uni-forms/readme.md b/uni_modules/uni-forms/readme.md new file mode 100644 index 0000000..63d5a04 --- /dev/null +++ b/uni_modules/uni-forms/readme.md @@ -0,0 +1,23 @@ + + +## Forms 表单 + +> **组件名:uni-forms** +> 代码块: `uForms`、`uni-forms-item` +> 关联组件:`uni-forms-item`、`uni-easyinput`、`uni-data-checkbox`、`uni-group`。 + + +uni-app的内置组件已经有了 `
    `组件,用于提交表单内容。 + +然而几乎每个表单都需要做表单验证,为了方便做表单验证,减少重复开发,`uni ui` 又基于 ``组件封装了 ``组件,内置了表单验证功能。 + +`` 提供了 `rules`属性来描述校验规则、``子组件来包裹具体的表单项,以及给原生或三方组件提供了 `binddata()` 来设置表单值。 + +每个要校验的表单项,不管input还是checkbox,都必须放在``组件中,且一个``组件只能放置一个表单项。 + +``组件内部预留了显示error message的区域,默认是在表单项的底部。 + +另外,``组件下面的各个表单项,可以通过``包裹为不同的分组。同一``下的不同表单项目将聚拢在一起,同其他group保持垂直间距。``仅影响视觉效果。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-forms) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/uni_modules/uni-goods-nav/changelog.md b/uni_modules/uni-goods-nav/changelog.md new file mode 100644 index 0000000..c6264c6 --- /dev/null +++ b/uni_modules/uni-goods-nav/changelog.md @@ -0,0 +1,18 @@ +## 1.2.1(2022-05-30) +- 新增 stat属性,是否开启uni统计功能 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-goods-nav](https://uniapp.dcloud.io/component/uniui/uni-goods-nav) +## 1.1.1(2021-08-24) +- 新增 支持国际化 +## 1.1.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.7(2021-05-12) +- 新增 组件示例地址 +## 1.0.6(2021-04-21) +- 优化 添加依赖 uni-icons, 导入后自动下载依赖 +## 1.0.5(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 + +## 1.0.4(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/en.json b/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/en.json new file mode 100644 index 0000000..dcdba41 --- /dev/null +++ b/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/en.json @@ -0,0 +1,6 @@ +{ + "uni-goods-nav.options.shop": "shop", + "uni-goods-nav.options.cart": "cart", + "uni-goods-nav.buttonGroup.addToCart": "add to cart", + "uni-goods-nav.buttonGroup.buyNow": "buy now" +} diff --git a/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/index.js b/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/index.js new file mode 100644 index 0000000..de7509c --- /dev/null +++ b/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/index.js @@ -0,0 +1,8 @@ +import en from './en.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hans.json b/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hans.json new file mode 100644 index 0000000..48ee344 --- /dev/null +++ b/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hans.json @@ -0,0 +1,6 @@ +{ + "uni-goods-nav.options.shop": "店铺", + "uni-goods-nav.options.cart": "购物车", + "uni-goods-nav.buttonGroup.addToCart": "加入购物车", + "uni-goods-nav.buttonGroup.buyNow": "立即购买" +} diff --git a/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hant.json b/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hant.json new file mode 100644 index 0000000..d0a0255 --- /dev/null +++ b/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hant.json @@ -0,0 +1,6 @@ +{ + "uni-goods-nav.options.shop": "店鋪", + "uni-goods-nav.options.cart": "購物車", + "uni-goods-nav.buttonGroup.addToCart": "加入購物車", + "uni-goods-nav.buttonGroup.buyNow": "立即購買" +} diff --git a/uni_modules/uni-goods-nav/components/uni-goods-nav/uni-goods-nav.vue b/uni_modules/uni-goods-nav/components/uni-goods-nav/uni-goods-nav.vue new file mode 100644 index 0000000..8a16b17 --- /dev/null +++ b/uni_modules/uni-goods-nav/components/uni-goods-nav/uni-goods-nav.vue @@ -0,0 +1,229 @@ + + + + + diff --git a/uni_modules/uni-goods-nav/package.json b/uni_modules/uni-goods-nav/package.json new file mode 100644 index 0000000..636e45e --- /dev/null +++ b/uni_modules/uni-goods-nav/package.json @@ -0,0 +1,88 @@ +{ + "id": "uni-goods-nav", + "displayName": "uni-goods-nav 商品导航", + "version": "1.2.1", + "description": "商品导航组件主要用于电商类应用底部导航,可自定义加入购物车,购买等操作", + "keywords": [ + "uni-ui", + "uniui", + "商品导航" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/uni_modules/uni-goods-nav/readme.md b/uni_modules/uni-goods-nav/readme.md new file mode 100644 index 0000000..07df93f --- /dev/null +++ b/uni_modules/uni-goods-nav/readme.md @@ -0,0 +1,10 @@ + + +## GoodsNav 商品导航 +> **组件名:uni-goods-nav** +> 代码块: `uGoodsNav` + +商品加入购物车,立即购买等。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-goods-nav) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/uni_modules/uni-grid/changelog.md b/uni_modules/uni-grid/changelog.md new file mode 100644 index 0000000..d301166 --- /dev/null +++ b/uni_modules/uni-grid/changelog.md @@ -0,0 +1,13 @@ +## 1.4.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-grid](https://uniapp.dcloud.io/component/uniui/uni-grid) +## 1.3.2(2021-11-09) +- 新增 提供组件设计资源,组件样式调整 +## 1.3.1(2021-07-30) +- 优化 vue3下事件警告的问题 +## 1.3.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.2.4(2021-05-12) +- 新增 组件示例地址 +## 1.2.3(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/uni_modules/uni-grid/components/uni-grid-item/uni-grid-item.vue b/uni_modules/uni-grid/components/uni-grid-item/uni-grid-item.vue new file mode 100644 index 0000000..20fd54e --- /dev/null +++ b/uni_modules/uni-grid/components/uni-grid-item/uni-grid-item.vue @@ -0,0 +1,127 @@ + + + + + diff --git a/uni_modules/uni-grid/components/uni-grid/uni-grid.vue b/uni_modules/uni-grid/components/uni-grid/uni-grid.vue new file mode 100644 index 0000000..96a412f --- /dev/null +++ b/uni_modules/uni-grid/components/uni-grid/uni-grid.vue @@ -0,0 +1,142 @@ + + + + + diff --git a/uni_modules/uni-grid/package.json b/uni_modules/uni-grid/package.json new file mode 100644 index 0000000..ccb2c91 --- /dev/null +++ b/uni_modules/uni-grid/package.json @@ -0,0 +1,86 @@ +{ + "id": "uni-grid", + "displayName": "uni-grid 宫格", + "version": "1.4.0", + "description": "Grid 宫格组件,提供移动端常见的宫格布局,如九宫格。", + "keywords": [ + "uni-ui", + "uniui", + "九宫格", + "表格" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss","uni-icons"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/uni_modules/uni-grid/readme.md b/uni_modules/uni-grid/readme.md new file mode 100644 index 0000000..0aa44cc --- /dev/null +++ b/uni_modules/uni-grid/readme.md @@ -0,0 +1,11 @@ + + +## Grid 宫格 +> **组件名:uni-grid** +> 代码块: `uGrid` + + +宫格组件。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-grid) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/uni_modules/uni-group/changelog.md b/uni_modules/uni-group/changelog.md new file mode 100644 index 0000000..a7024fd --- /dev/null +++ b/uni_modules/uni-group/changelog.md @@ -0,0 +1,16 @@ +## 1.2.2(2022-05-30) +- 新增 stat属性,是否开启uni统计功能 +## 1.2.1(2021-11-22) +- 修复 vue3中某些scss变量无法找到的问题 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-group](https://uniapp.dcloud.io/component/uniui/uni-group) +## 1.1.7(2021-11-08) +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +- 优化 组件文档 +## 1.0.3(2021-05-12) +- 新增 组件示例地址 +## 1.0.2(2021-02-05) +- 调整为uni_modules目录规范 +- 优化 兼容 nvue 页面 diff --git a/uni_modules/uni-group/components/uni-group/uni-group.vue b/uni_modules/uni-group/components/uni-group/uni-group.vue new file mode 100644 index 0000000..3425ecd --- /dev/null +++ b/uni_modules/uni-group/components/uni-group/uni-group.vue @@ -0,0 +1,134 @@ + + + + diff --git a/uni_modules/uni-group/package.json b/uni_modules/uni-group/package.json new file mode 100644 index 0000000..ea00a08 --- /dev/null +++ b/uni_modules/uni-group/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-group", + "displayName": "uni-group 分组", + "version": "1.2.2", + "description": "分组组件可用于将组件用于分组,添加间隔,以产生明显的区块", + "keywords": [ + "uni-ui", + "uniui", + "group", + "分组", + "" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-group/readme.md b/uni_modules/uni-group/readme.md new file mode 100644 index 0000000..bae67f4 --- /dev/null +++ b/uni_modules/uni-group/readme.md @@ -0,0 +1,9 @@ + +## Group 分组 +> **组件名:uni-group** +> 代码块: `uGroup` + +分组组件可用于将组件分组,添加间隔,以产生明显的区块。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-group) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/uni_modules/uni-icons/changelog.md b/uni_modules/uni-icons/changelog.md new file mode 100644 index 0000000..6449885 --- /dev/null +++ b/uni_modules/uni-icons/changelog.md @@ -0,0 +1,22 @@ +## 1.3.5(2022-01-24) +- 优化 size 属性可以传入不带单位的字符串数值 +## 1.3.4(2022-01-24) +- 优化 size 支持其他单位 +## 1.3.3(2022-01-17) +- 修复 nvue 有些图标不显示的bug,兼容老版本图标 +## 1.3.2(2021-12-01) +- 优化 示例可复制图标名称 +## 1.3.1(2021-11-23) +- 优化 兼容旧组件 type 值 +## 1.3.0(2021-11-19) +- 新增 更多图标 +- 优化 自定义图标使用方式 +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-icons](https://uniapp.dcloud.io/component/uniui/uni-icons) +## 1.1.7(2021-11-08) +## 1.2.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.1.5(2021-05-12) +- 新增 组件示例地址 +## 1.1.4(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/uni_modules/uni-icons/components/uni-icons/icons.js b/uni_modules/uni-icons/components/uni-icons/icons.js new file mode 100644 index 0000000..7889936 --- /dev/null +++ b/uni_modules/uni-icons/components/uni-icons/icons.js @@ -0,0 +1,1169 @@ +export default { + "id": "2852637", + "name": "uniui图标库", + "font_family": "uniicons", + "css_prefix_text": "uniui-", + "description": "", + "glyphs": [ + { + "icon_id": "25027049", + "name": "yanse", + "font_class": "color", + "unicode": "e6cf", + "unicode_decimal": 59087 + }, + { + "icon_id": "25027048", + "name": "wallet", + "font_class": "wallet", + "unicode": "e6b1", + "unicode_decimal": 59057 + }, + { + "icon_id": "25015720", + "name": "settings-filled", + "font_class": "settings-filled", + "unicode": "e6ce", + "unicode_decimal": 59086 + }, + { + "icon_id": "25015434", + "name": "shimingrenzheng-filled", + "font_class": "auth-filled", + "unicode": "e6cc", + "unicode_decimal": 59084 + }, + { + "icon_id": "24934246", + "name": "shop-filled", + "font_class": "shop-filled", + "unicode": "e6cd", + "unicode_decimal": 59085 + }, + { + "icon_id": "24934159", + "name": "staff-filled-01", + "font_class": "staff-filled", + "unicode": "e6cb", + "unicode_decimal": 59083 + }, + { + "icon_id": "24932461", + "name": "VIP-filled", + "font_class": "vip-filled", + "unicode": "e6c6", + "unicode_decimal": 59078 + }, + { + "icon_id": "24932462", + "name": "plus_circle_fill", + "font_class": "plus-filled", + "unicode": "e6c7", + "unicode_decimal": 59079 + }, + { + "icon_id": "24932463", + "name": "folder_add-filled", + "font_class": "folder-add-filled", + "unicode": "e6c8", + "unicode_decimal": 59080 + }, + { + "icon_id": "24932464", + "name": "yanse-filled", + "font_class": "color-filled", + "unicode": "e6c9", + "unicode_decimal": 59081 + }, + { + "icon_id": "24932465", + "name": "tune-filled", + "font_class": "tune-filled", + "unicode": "e6ca", + "unicode_decimal": 59082 + }, + { + "icon_id": "24932455", + "name": "a-rilidaka-filled", + "font_class": "calendar-filled", + "unicode": "e6c0", + "unicode_decimal": 59072 + }, + { + "icon_id": "24932456", + "name": "notification-filled", + "font_class": "notification-filled", + "unicode": "e6c1", + "unicode_decimal": 59073 + }, + { + "icon_id": "24932457", + "name": "wallet-filled", + "font_class": "wallet-filled", + "unicode": "e6c2", + "unicode_decimal": 59074 + }, + { + "icon_id": "24932458", + "name": "paihangbang-filled", + "font_class": "medal-filled", + "unicode": "e6c3", + "unicode_decimal": 59075 + }, + { + "icon_id": "24932459", + "name": "gift-filled", + "font_class": "gift-filled", + "unicode": "e6c4", + "unicode_decimal": 59076 + }, + { + "icon_id": "24932460", + "name": "fire-filled", + "font_class": "fire-filled", + "unicode": "e6c5", + "unicode_decimal": 59077 + }, + { + "icon_id": "24928001", + "name": "refreshempty", + "font_class": "refreshempty", + "unicode": "e6bf", + "unicode_decimal": 59071 + }, + { + "icon_id": "24926853", + "name": "location-ellipse", + "font_class": "location-filled", + "unicode": "e6af", + "unicode_decimal": 59055 + }, + { + "icon_id": "24926735", + "name": "person-filled", + "font_class": "person-filled", + "unicode": "e69d", + "unicode_decimal": 59037 + }, + { + "icon_id": "24926703", + "name": "personadd-filled", + "font_class": "personadd-filled", + "unicode": "e698", + "unicode_decimal": 59032 + }, + { + "icon_id": "24923351", + "name": "back", + "font_class": "back", + "unicode": "e6b9", + "unicode_decimal": 59065 + }, + { + "icon_id": "24923352", + "name": "forward", + "font_class": "forward", + "unicode": "e6ba", + "unicode_decimal": 59066 + }, + { + "icon_id": "24923353", + "name": "arrowthinright", + "font_class": "arrow-right", + "unicode": "e6bb", + "unicode_decimal": 59067 + }, + { + "icon_id": "24923353", + "name": "arrowthinright", + "font_class": "arrowthinright", + "unicode": "e6bb", + "unicode_decimal": 59067 + }, + { + "icon_id": "24923354", + "name": "arrowthinleft", + "font_class": "arrow-left", + "unicode": "e6bc", + "unicode_decimal": 59068 + }, + { + "icon_id": "24923354", + "name": "arrowthinleft", + "font_class": "arrowthinleft", + "unicode": "e6bc", + "unicode_decimal": 59068 + }, + { + "icon_id": "24923355", + "name": "arrowthinup", + "font_class": "arrow-up", + "unicode": "e6bd", + "unicode_decimal": 59069 + }, + { + "icon_id": "24923355", + "name": "arrowthinup", + "font_class": "arrowthinup", + "unicode": "e6bd", + "unicode_decimal": 59069 + }, + { + "icon_id": "24923356", + "name": "arrowthindown", + "font_class": "arrow-down", + "unicode": "e6be", + "unicode_decimal": 59070 + },{ + "icon_id": "24923356", + "name": "arrowthindown", + "font_class": "arrowthindown", + "unicode": "e6be", + "unicode_decimal": 59070 + }, + { + "icon_id": "24923349", + "name": "arrowdown", + "font_class": "bottom", + "unicode": "e6b8", + "unicode_decimal": 59064 + },{ + "icon_id": "24923349", + "name": "arrowdown", + "font_class": "arrowdown", + "unicode": "e6b8", + "unicode_decimal": 59064 + }, + { + "icon_id": "24923346", + "name": "arrowright", + "font_class": "right", + "unicode": "e6b5", + "unicode_decimal": 59061 + }, + { + "icon_id": "24923346", + "name": "arrowright", + "font_class": "arrowright", + "unicode": "e6b5", + "unicode_decimal": 59061 + }, + { + "icon_id": "24923347", + "name": "arrowup", + "font_class": "top", + "unicode": "e6b6", + "unicode_decimal": 59062 + }, + { + "icon_id": "24923347", + "name": "arrowup", + "font_class": "arrowup", + "unicode": "e6b6", + "unicode_decimal": 59062 + }, + { + "icon_id": "24923348", + "name": "arrowleft", + "font_class": "left", + "unicode": "e6b7", + "unicode_decimal": 59063 + }, + { + "icon_id": "24923348", + "name": "arrowleft", + "font_class": "arrowleft", + "unicode": "e6b7", + "unicode_decimal": 59063 + }, + { + "icon_id": "24923334", + "name": "eye", + "font_class": "eye", + "unicode": "e651", + "unicode_decimal": 58961 + }, + { + "icon_id": "24923335", + "name": "eye-filled", + "font_class": "eye-filled", + "unicode": "e66a", + "unicode_decimal": 58986 + }, + { + "icon_id": "24923336", + "name": "eye-slash", + "font_class": "eye-slash", + "unicode": "e6b3", + "unicode_decimal": 59059 + }, + { + "icon_id": "24923337", + "name": "eye-slash-filled", + "font_class": "eye-slash-filled", + "unicode": "e6b4", + "unicode_decimal": 59060 + }, + { + "icon_id": "24923305", + "name": "info-filled", + "font_class": "info-filled", + "unicode": "e649", + "unicode_decimal": 58953 + }, + { + "icon_id": "24923299", + "name": "reload-01", + "font_class": "reload", + "unicode": "e6b2", + "unicode_decimal": 59058 + }, + { + "icon_id": "24923195", + "name": "mic_slash_fill", + "font_class": "micoff-filled", + "unicode": "e6b0", + "unicode_decimal": 59056 + }, + { + "icon_id": "24923165", + "name": "map-pin-ellipse", + "font_class": "map-pin-ellipse", + "unicode": "e6ac", + "unicode_decimal": 59052 + }, + { + "icon_id": "24923166", + "name": "map-pin", + "font_class": "map-pin", + "unicode": "e6ad", + "unicode_decimal": 59053 + }, + { + "icon_id": "24923167", + "name": "location", + "font_class": "location", + "unicode": "e6ae", + "unicode_decimal": 59054 + }, + { + "icon_id": "24923064", + "name": "starhalf", + "font_class": "starhalf", + "unicode": "e683", + "unicode_decimal": 59011 + }, + { + "icon_id": "24923065", + "name": "star", + "font_class": "star", + "unicode": "e688", + "unicode_decimal": 59016 + }, + { + "icon_id": "24923066", + "name": "star-filled", + "font_class": "star-filled", + "unicode": "e68f", + "unicode_decimal": 59023 + }, + { + "icon_id": "24899646", + "name": "a-rilidaka", + "font_class": "calendar", + "unicode": "e6a0", + "unicode_decimal": 59040 + }, + { + "icon_id": "24899647", + "name": "fire", + "font_class": "fire", + "unicode": "e6a1", + "unicode_decimal": 59041 + }, + { + "icon_id": "24899648", + "name": "paihangbang", + "font_class": "medal", + "unicode": "e6a2", + "unicode_decimal": 59042 + }, + { + "icon_id": "24899649", + "name": "font", + "font_class": "font", + "unicode": "e6a3", + "unicode_decimal": 59043 + }, + { + "icon_id": "24899650", + "name": "gift", + "font_class": "gift", + "unicode": "e6a4", + "unicode_decimal": 59044 + }, + { + "icon_id": "24899651", + "name": "link", + "font_class": "link", + "unicode": "e6a5", + "unicode_decimal": 59045 + }, + { + "icon_id": "24899652", + "name": "notification", + "font_class": "notification", + "unicode": "e6a6", + "unicode_decimal": 59046 + }, + { + "icon_id": "24899653", + "name": "staff", + "font_class": "staff", + "unicode": "e6a7", + "unicode_decimal": 59047 + }, + { + "icon_id": "24899654", + "name": "VIP", + "font_class": "vip", + "unicode": "e6a8", + "unicode_decimal": 59048 + }, + { + "icon_id": "24899655", + "name": "folder_add", + "font_class": "folder-add", + "unicode": "e6a9", + "unicode_decimal": 59049 + }, + { + "icon_id": "24899656", + "name": "tune", + "font_class": "tune", + "unicode": "e6aa", + "unicode_decimal": 59050 + }, + { + "icon_id": "24899657", + "name": "shimingrenzheng", + "font_class": "auth", + "unicode": "e6ab", + "unicode_decimal": 59051 + }, + { + "icon_id": "24899565", + "name": "person", + "font_class": "person", + "unicode": "e699", + "unicode_decimal": 59033 + }, + { + "icon_id": "24899566", + "name": "email-filled", + "font_class": "email-filled", + "unicode": "e69a", + "unicode_decimal": 59034 + }, + { + "icon_id": "24899567", + "name": "phone-filled", + "font_class": "phone-filled", + "unicode": "e69b", + "unicode_decimal": 59035 + }, + { + "icon_id": "24899568", + "name": "phone", + "font_class": "phone", + "unicode": "e69c", + "unicode_decimal": 59036 + }, + { + "icon_id": "24899570", + "name": "email", + "font_class": "email", + "unicode": "e69e", + "unicode_decimal": 59038 + }, + { + "icon_id": "24899571", + "name": "personadd", + "font_class": "personadd", + "unicode": "e69f", + "unicode_decimal": 59039 + }, + { + "icon_id": "24899558", + "name": "chatboxes-filled", + "font_class": "chatboxes-filled", + "unicode": "e692", + "unicode_decimal": 59026 + }, + { + "icon_id": "24899559", + "name": "contact", + "font_class": "contact", + "unicode": "e693", + "unicode_decimal": 59027 + }, + { + "icon_id": "24899560", + "name": "chatbubble-filled", + "font_class": "chatbubble-filled", + "unicode": "e694", + "unicode_decimal": 59028 + }, + { + "icon_id": "24899561", + "name": "contact-filled", + "font_class": "contact-filled", + "unicode": "e695", + "unicode_decimal": 59029 + }, + { + "icon_id": "24899562", + "name": "chatboxes", + "font_class": "chatboxes", + "unicode": "e696", + "unicode_decimal": 59030 + }, + { + "icon_id": "24899563", + "name": "chatbubble", + "font_class": "chatbubble", + "unicode": "e697", + "unicode_decimal": 59031 + }, + { + "icon_id": "24881290", + "name": "upload-filled", + "font_class": "upload-filled", + "unicode": "e68e", + "unicode_decimal": 59022 + }, + { + "icon_id": "24881292", + "name": "upload", + "font_class": "upload", + "unicode": "e690", + "unicode_decimal": 59024 + }, + { + "icon_id": "24881293", + "name": "weixin", + "font_class": "weixin", + "unicode": "e691", + "unicode_decimal": 59025 + }, + { + "icon_id": "24881274", + "name": "compose", + "font_class": "compose", + "unicode": "e67f", + "unicode_decimal": 59007 + }, + { + "icon_id": "24881275", + "name": "qq", + "font_class": "qq", + "unicode": "e680", + "unicode_decimal": 59008 + }, + { + "icon_id": "24881276", + "name": "download-filled", + "font_class": "download-filled", + "unicode": "e681", + "unicode_decimal": 59009 + }, + { + "icon_id": "24881277", + "name": "pengyouquan", + "font_class": "pyq", + "unicode": "e682", + "unicode_decimal": 59010 + }, + { + "icon_id": "24881279", + "name": "sound", + "font_class": "sound", + "unicode": "e684", + "unicode_decimal": 59012 + }, + { + "icon_id": "24881280", + "name": "trash-filled", + "font_class": "trash-filled", + "unicode": "e685", + "unicode_decimal": 59013 + }, + { + "icon_id": "24881281", + "name": "sound-filled", + "font_class": "sound-filled", + "unicode": "e686", + "unicode_decimal": 59014 + }, + { + "icon_id": "24881282", + "name": "trash", + "font_class": "trash", + "unicode": "e687", + "unicode_decimal": 59015 + }, + { + "icon_id": "24881284", + "name": "videocam-filled", + "font_class": "videocam-filled", + "unicode": "e689", + "unicode_decimal": 59017 + }, + { + "icon_id": "24881285", + "name": "spinner-cycle", + "font_class": "spinner-cycle", + "unicode": "e68a", + "unicode_decimal": 59018 + }, + { + "icon_id": "24881286", + "name": "weibo", + "font_class": "weibo", + "unicode": "e68b", + "unicode_decimal": 59019 + }, + { + "icon_id": "24881288", + "name": "videocam", + "font_class": "videocam", + "unicode": "e68c", + "unicode_decimal": 59020 + }, + { + "icon_id": "24881289", + "name": "download", + "font_class": "download", + "unicode": "e68d", + "unicode_decimal": 59021 + }, + { + "icon_id": "24879601", + "name": "help", + "font_class": "help", + "unicode": "e679", + "unicode_decimal": 59001 + }, + { + "icon_id": "24879602", + "name": "navigate-filled", + "font_class": "navigate-filled", + "unicode": "e67a", + "unicode_decimal": 59002 + }, + { + "icon_id": "24879603", + "name": "plusempty", + "font_class": "plusempty", + "unicode": "e67b", + "unicode_decimal": 59003 + }, + { + "icon_id": "24879604", + "name": "smallcircle", + "font_class": "smallcircle", + "unicode": "e67c", + "unicode_decimal": 59004 + }, + { + "icon_id": "24879605", + "name": "minus-filled", + "font_class": "minus-filled", + "unicode": "e67d", + "unicode_decimal": 59005 + }, + { + "icon_id": "24879606", + "name": "micoff", + "font_class": "micoff", + "unicode": "e67e", + "unicode_decimal": 59006 + }, + { + "icon_id": "24879588", + "name": "closeempty", + "font_class": "closeempty", + "unicode": "e66c", + "unicode_decimal": 58988 + }, + { + "icon_id": "24879589", + "name": "clear", + "font_class": "clear", + "unicode": "e66d", + "unicode_decimal": 58989 + }, + { + "icon_id": "24879590", + "name": "navigate", + "font_class": "navigate", + "unicode": "e66e", + "unicode_decimal": 58990 + }, + { + "icon_id": "24879591", + "name": "minus", + "font_class": "minus", + "unicode": "e66f", + "unicode_decimal": 58991 + }, + { + "icon_id": "24879592", + "name": "image", + "font_class": "image", + "unicode": "e670", + "unicode_decimal": 58992 + }, + { + "icon_id": "24879593", + "name": "mic", + "font_class": "mic", + "unicode": "e671", + "unicode_decimal": 58993 + }, + { + "icon_id": "24879594", + "name": "paperplane", + "font_class": "paperplane", + "unicode": "e672", + "unicode_decimal": 58994 + }, + { + "icon_id": "24879595", + "name": "close", + "font_class": "close", + "unicode": "e673", + "unicode_decimal": 58995 + }, + { + "icon_id": "24879596", + "name": "help-filled", + "font_class": "help-filled", + "unicode": "e674", + "unicode_decimal": 58996 + }, + { + "icon_id": "24879597", + "name": "plus-filled", + "font_class": "paperplane-filled", + "unicode": "e675", + "unicode_decimal": 58997 + }, + { + "icon_id": "24879598", + "name": "plus", + "font_class": "plus", + "unicode": "e676", + "unicode_decimal": 58998 + }, + { + "icon_id": "24879599", + "name": "mic-filled", + "font_class": "mic-filled", + "unicode": "e677", + "unicode_decimal": 58999 + }, + { + "icon_id": "24879600", + "name": "image-filled", + "font_class": "image-filled", + "unicode": "e678", + "unicode_decimal": 59000 + }, + { + "icon_id": "24855900", + "name": "locked-filled", + "font_class": "locked-filled", + "unicode": "e668", + "unicode_decimal": 58984 + }, + { + "icon_id": "24855901", + "name": "info", + "font_class": "info", + "unicode": "e669", + "unicode_decimal": 58985 + }, + { + "icon_id": "24855903", + "name": "locked", + "font_class": "locked", + "unicode": "e66b", + "unicode_decimal": 58987 + }, + { + "icon_id": "24855884", + "name": "camera-filled", + "font_class": "camera-filled", + "unicode": "e658", + "unicode_decimal": 58968 + }, + { + "icon_id": "24855885", + "name": "chat-filled", + "font_class": "chat-filled", + "unicode": "e659", + "unicode_decimal": 58969 + }, + { + "icon_id": "24855886", + "name": "camera", + "font_class": "camera", + "unicode": "e65a", + "unicode_decimal": 58970 + }, + { + "icon_id": "24855887", + "name": "circle", + "font_class": "circle", + "unicode": "e65b", + "unicode_decimal": 58971 + }, + { + "icon_id": "24855888", + "name": "checkmarkempty", + "font_class": "checkmarkempty", + "unicode": "e65c", + "unicode_decimal": 58972 + }, + { + "icon_id": "24855889", + "name": "chat", + "font_class": "chat", + "unicode": "e65d", + "unicode_decimal": 58973 + }, + { + "icon_id": "24855890", + "name": "circle-filled", + "font_class": "circle-filled", + "unicode": "e65e", + "unicode_decimal": 58974 + }, + { + "icon_id": "24855891", + "name": "flag", + "font_class": "flag", + "unicode": "e65f", + "unicode_decimal": 58975 + }, + { + "icon_id": "24855892", + "name": "flag-filled", + "font_class": "flag-filled", + "unicode": "e660", + "unicode_decimal": 58976 + }, + { + "icon_id": "24855893", + "name": "gear-filled", + "font_class": "gear-filled", + "unicode": "e661", + "unicode_decimal": 58977 + }, + { + "icon_id": "24855894", + "name": "home", + "font_class": "home", + "unicode": "e662", + "unicode_decimal": 58978 + }, + { + "icon_id": "24855895", + "name": "home-filled", + "font_class": "home-filled", + "unicode": "e663", + "unicode_decimal": 58979 + }, + { + "icon_id": "24855896", + "name": "gear", + "font_class": "gear", + "unicode": "e664", + "unicode_decimal": 58980 + }, + { + "icon_id": "24855897", + "name": "smallcircle-filled", + "font_class": "smallcircle-filled", + "unicode": "e665", + "unicode_decimal": 58981 + }, + { + "icon_id": "24855898", + "name": "map-filled", + "font_class": "map-filled", + "unicode": "e666", + "unicode_decimal": 58982 + }, + { + "icon_id": "24855899", + "name": "map", + "font_class": "map", + "unicode": "e667", + "unicode_decimal": 58983 + }, + { + "icon_id": "24855825", + "name": "refresh-filled", + "font_class": "refresh-filled", + "unicode": "e656", + "unicode_decimal": 58966 + }, + { + "icon_id": "24855826", + "name": "refresh", + "font_class": "refresh", + "unicode": "e657", + "unicode_decimal": 58967 + }, + { + "icon_id": "24855808", + "name": "cloud-upload", + "font_class": "cloud-upload", + "unicode": "e645", + "unicode_decimal": 58949 + }, + { + "icon_id": "24855809", + "name": "cloud-download-filled", + "font_class": "cloud-download-filled", + "unicode": "e646", + "unicode_decimal": 58950 + }, + { + "icon_id": "24855810", + "name": "cloud-download", + "font_class": "cloud-download", + "unicode": "e647", + "unicode_decimal": 58951 + }, + { + "icon_id": "24855811", + "name": "cloud-upload-filled", + "font_class": "cloud-upload-filled", + "unicode": "e648", + "unicode_decimal": 58952 + }, + { + "icon_id": "24855813", + "name": "redo", + "font_class": "redo", + "unicode": "e64a", + "unicode_decimal": 58954 + }, + { + "icon_id": "24855814", + "name": "images-filled", + "font_class": "images-filled", + "unicode": "e64b", + "unicode_decimal": 58955 + }, + { + "icon_id": "24855815", + "name": "undo-filled", + "font_class": "undo-filled", + "unicode": "e64c", + "unicode_decimal": 58956 + }, + { + "icon_id": "24855816", + "name": "more", + "font_class": "more", + "unicode": "e64d", + "unicode_decimal": 58957 + }, + { + "icon_id": "24855817", + "name": "more-filled", + "font_class": "more-filled", + "unicode": "e64e", + "unicode_decimal": 58958 + }, + { + "icon_id": "24855818", + "name": "undo", + "font_class": "undo", + "unicode": "e64f", + "unicode_decimal": 58959 + }, + { + "icon_id": "24855819", + "name": "images", + "font_class": "images", + "unicode": "e650", + "unicode_decimal": 58960 + }, + { + "icon_id": "24855821", + "name": "paperclip", + "font_class": "paperclip", + "unicode": "e652", + "unicode_decimal": 58962 + }, + { + "icon_id": "24855822", + "name": "settings", + "font_class": "settings", + "unicode": "e653", + "unicode_decimal": 58963 + }, + { + "icon_id": "24855823", + "name": "search", + "font_class": "search", + "unicode": "e654", + "unicode_decimal": 58964 + }, + { + "icon_id": "24855824", + "name": "redo-filled", + "font_class": "redo-filled", + "unicode": "e655", + "unicode_decimal": 58965 + }, + { + "icon_id": "24841702", + "name": "list", + "font_class": "list", + "unicode": "e644", + "unicode_decimal": 58948 + }, + { + "icon_id": "24841489", + "name": "mail-open-filled", + "font_class": "mail-open-filled", + "unicode": "e63a", + "unicode_decimal": 58938 + }, + { + "icon_id": "24841491", + "name": "hand-thumbsdown-filled", + "font_class": "hand-down-filled", + "unicode": "e63c", + "unicode_decimal": 58940 + }, + { + "icon_id": "24841492", + "name": "hand-thumbsdown", + "font_class": "hand-down", + "unicode": "e63d", + "unicode_decimal": 58941 + }, + { + "icon_id": "24841493", + "name": "hand-thumbsup-filled", + "font_class": "hand-up-filled", + "unicode": "e63e", + "unicode_decimal": 58942 + }, + { + "icon_id": "24841494", + "name": "hand-thumbsup", + "font_class": "hand-up", + "unicode": "e63f", + "unicode_decimal": 58943 + }, + { + "icon_id": "24841496", + "name": "heart-filled", + "font_class": "heart-filled", + "unicode": "e641", + "unicode_decimal": 58945 + }, + { + "icon_id": "24841498", + "name": "mail-open", + "font_class": "mail-open", + "unicode": "e643", + "unicode_decimal": 58947 + }, + { + "icon_id": "24841488", + "name": "heart", + "font_class": "heart", + "unicode": "e639", + "unicode_decimal": 58937 + }, + { + "icon_id": "24839963", + "name": "loop", + "font_class": "loop", + "unicode": "e633", + "unicode_decimal": 58931 + }, + { + "icon_id": "24839866", + "name": "pulldown", + "font_class": "pulldown", + "unicode": "e632", + "unicode_decimal": 58930 + }, + { + "icon_id": "24813798", + "name": "scan", + "font_class": "scan", + "unicode": "e62a", + "unicode_decimal": 58922 + }, + { + "icon_id": "24813786", + "name": "bars", + "font_class": "bars", + "unicode": "e627", + "unicode_decimal": 58919 + }, + { + "icon_id": "24813788", + "name": "cart-filled", + "font_class": "cart-filled", + "unicode": "e629", + "unicode_decimal": 58921 + }, + { + "icon_id": "24813790", + "name": "checkbox", + "font_class": "checkbox", + "unicode": "e62b", + "unicode_decimal": 58923 + }, + { + "icon_id": "24813791", + "name": "checkbox-filled", + "font_class": "checkbox-filled", + "unicode": "e62c", + "unicode_decimal": 58924 + }, + { + "icon_id": "24813794", + "name": "shop", + "font_class": "shop", + "unicode": "e62f", + "unicode_decimal": 58927 + }, + { + "icon_id": "24813795", + "name": "headphones", + "font_class": "headphones", + "unicode": "e630", + "unicode_decimal": 58928 + }, + { + "icon_id": "24813796", + "name": "cart", + "font_class": "cart", + "unicode": "e631", + "unicode_decimal": 58929 + } + ] +} diff --git a/uni_modules/uni-icons/components/uni-icons/uni-icons.vue b/uni_modules/uni-icons/components/uni-icons/uni-icons.vue new file mode 100644 index 0000000..86e7444 --- /dev/null +++ b/uni_modules/uni-icons/components/uni-icons/uni-icons.vue @@ -0,0 +1,96 @@ + + + + + diff --git a/uni_modules/uni-icons/components/uni-icons/uniicons.css b/uni_modules/uni-icons/components/uni-icons/uniicons.css new file mode 100644 index 0000000..2f56eab --- /dev/null +++ b/uni_modules/uni-icons/components/uni-icons/uniicons.css @@ -0,0 +1,663 @@ +.uniui-color:before { + content: "\e6cf"; +} + +.uniui-wallet:before { + content: "\e6b1"; +} + +.uniui-settings-filled:before { + content: "\e6ce"; +} + +.uniui-auth-filled:before { + content: "\e6cc"; +} + +.uniui-shop-filled:before { + content: "\e6cd"; +} + +.uniui-staff-filled:before { + content: "\e6cb"; +} + +.uniui-vip-filled:before { + content: "\e6c6"; +} + +.uniui-plus-filled:before { + content: "\e6c7"; +} + +.uniui-folder-add-filled:before { + content: "\e6c8"; +} + +.uniui-color-filled:before { + content: "\e6c9"; +} + +.uniui-tune-filled:before { + content: "\e6ca"; +} + +.uniui-calendar-filled:before { + content: "\e6c0"; +} + +.uniui-notification-filled:before { + content: "\e6c1"; +} + +.uniui-wallet-filled:before { + content: "\e6c2"; +} + +.uniui-medal-filled:before { + content: "\e6c3"; +} + +.uniui-gift-filled:before { + content: "\e6c4"; +} + +.uniui-fire-filled:before { + content: "\e6c5"; +} + +.uniui-refreshempty:before { + content: "\e6bf"; +} + +.uniui-location-filled:before { + content: "\e6af"; +} + +.uniui-person-filled:before { + content: "\e69d"; +} + +.uniui-personadd-filled:before { + content: "\e698"; +} + +.uniui-back:before { + content: "\e6b9"; +} + +.uniui-forward:before { + content: "\e6ba"; +} + +.uniui-arrow-right:before { + content: "\e6bb"; +} + +.uniui-arrowthinright:before { + content: "\e6bb"; +} + +.uniui-arrow-left:before { + content: "\e6bc"; +} + +.uniui-arrowthinleft:before { + content: "\e6bc"; +} + +.uniui-arrow-up:before { + content: "\e6bd"; +} + +.uniui-arrowthinup:before { + content: "\e6bd"; +} + +.uniui-arrow-down:before { + content: "\e6be"; +} + +.uniui-arrowthindown:before { + content: "\e6be"; +} + +.uniui-bottom:before { + content: "\e6b8"; +} + +.uniui-arrowdown:before { + content: "\e6b8"; +} + +.uniui-right:before { + content: "\e6b5"; +} + +.uniui-arrowright:before { + content: "\e6b5"; +} + +.uniui-top:before { + content: "\e6b6"; +} + +.uniui-arrowup:before { + content: "\e6b6"; +} + +.uniui-left:before { + content: "\e6b7"; +} + +.uniui-arrowleft:before { + content: "\e6b7"; +} + +.uniui-eye:before { + content: "\e651"; +} + +.uniui-eye-filled:before { + content: "\e66a"; +} + +.uniui-eye-slash:before { + content: "\e6b3"; +} + +.uniui-eye-slash-filled:before { + content: "\e6b4"; +} + +.uniui-info-filled:before { + content: "\e649"; +} + +.uniui-reload:before { + content: "\e6b2"; +} + +.uniui-micoff-filled:before { + content: "\e6b0"; +} + +.uniui-map-pin-ellipse:before { + content: "\e6ac"; +} + +.uniui-map-pin:before { + content: "\e6ad"; +} + +.uniui-location:before { + content: "\e6ae"; +} + +.uniui-starhalf:before { + content: "\e683"; +} + +.uniui-star:before { + content: "\e688"; +} + +.uniui-star-filled:before { + content: "\e68f"; +} + +.uniui-calendar:before { + content: "\e6a0"; +} + +.uniui-fire:before { + content: "\e6a1"; +} + +.uniui-medal:before { + content: "\e6a2"; +} + +.uniui-font:before { + content: "\e6a3"; +} + +.uniui-gift:before { + content: "\e6a4"; +} + +.uniui-link:before { + content: "\e6a5"; +} + +.uniui-notification:before { + content: "\e6a6"; +} + +.uniui-staff:before { + content: "\e6a7"; +} + +.uniui-vip:before { + content: "\e6a8"; +} + +.uniui-folder-add:before { + content: "\e6a9"; +} + +.uniui-tune:before { + content: "\e6aa"; +} + +.uniui-auth:before { + content: "\e6ab"; +} + +.uniui-person:before { + content: "\e699"; +} + +.uniui-email-filled:before { + content: "\e69a"; +} + +.uniui-phone-filled:before { + content: "\e69b"; +} + +.uniui-phone:before { + content: "\e69c"; +} + +.uniui-email:before { + content: "\e69e"; +} + +.uniui-personadd:before { + content: "\e69f"; +} + +.uniui-chatboxes-filled:before { + content: "\e692"; +} + +.uniui-contact:before { + content: "\e693"; +} + +.uniui-chatbubble-filled:before { + content: "\e694"; +} + +.uniui-contact-filled:before { + content: "\e695"; +} + +.uniui-chatboxes:before { + content: "\e696"; +} + +.uniui-chatbubble:before { + content: "\e697"; +} + +.uniui-upload-filled:before { + content: "\e68e"; +} + +.uniui-upload:before { + content: "\e690"; +} + +.uniui-weixin:before { + content: "\e691"; +} + +.uniui-compose:before { + content: "\e67f"; +} + +.uniui-qq:before { + content: "\e680"; +} + +.uniui-download-filled:before { + content: "\e681"; +} + +.uniui-pyq:before { + content: "\e682"; +} + +.uniui-sound:before { + content: "\e684"; +} + +.uniui-trash-filled:before { + content: "\e685"; +} + +.uniui-sound-filled:before { + content: "\e686"; +} + +.uniui-trash:before { + content: "\e687"; +} + +.uniui-videocam-filled:before { + content: "\e689"; +} + +.uniui-spinner-cycle:before { + content: "\e68a"; +} + +.uniui-weibo:before { + content: "\e68b"; +} + +.uniui-videocam:before { + content: "\e68c"; +} + +.uniui-download:before { + content: "\e68d"; +} + +.uniui-help:before { + content: "\e679"; +} + +.uniui-navigate-filled:before { + content: "\e67a"; +} + +.uniui-plusempty:before { + content: "\e67b"; +} + +.uniui-smallcircle:before { + content: "\e67c"; +} + +.uniui-minus-filled:before { + content: "\e67d"; +} + +.uniui-micoff:before { + content: "\e67e"; +} + +.uniui-closeempty:before { + content: "\e66c"; +} + +.uniui-clear:before { + content: "\e66d"; +} + +.uniui-navigate:before { + content: "\e66e"; +} + +.uniui-minus:before { + content: "\e66f"; +} + +.uniui-image:before { + content: "\e670"; +} + +.uniui-mic:before { + content: "\e671"; +} + +.uniui-paperplane:before { + content: "\e672"; +} + +.uniui-close:before { + content: "\e673"; +} + +.uniui-help-filled:before { + content: "\e674"; +} + +.uniui-paperplane-filled:before { + content: "\e675"; +} + +.uniui-plus:before { + content: "\e676"; +} + +.uniui-mic-filled:before { + content: "\e677"; +} + +.uniui-image-filled:before { + content: "\e678"; +} + +.uniui-locked-filled:before { + content: "\e668"; +} + +.uniui-info:before { + content: "\e669"; +} + +.uniui-locked:before { + content: "\e66b"; +} + +.uniui-camera-filled:before { + content: "\e658"; +} + +.uniui-chat-filled:before { + content: "\e659"; +} + +.uniui-camera:before { + content: "\e65a"; +} + +.uniui-circle:before { + content: "\e65b"; +} + +.uniui-checkmarkempty:before { + content: "\e65c"; +} + +.uniui-chat:before { + content: "\e65d"; +} + +.uniui-circle-filled:before { + content: "\e65e"; +} + +.uniui-flag:before { + content: "\e65f"; +} + +.uniui-flag-filled:before { + content: "\e660"; +} + +.uniui-gear-filled:before { + content: "\e661"; +} + +.uniui-home:before { + content: "\e662"; +} + +.uniui-home-filled:before { + content: "\e663"; +} + +.uniui-gear:before { + content: "\e664"; +} + +.uniui-smallcircle-filled:before { + content: "\e665"; +} + +.uniui-map-filled:before { + content: "\e666"; +} + +.uniui-map:before { + content: "\e667"; +} + +.uniui-refresh-filled:before { + content: "\e656"; +} + +.uniui-refresh:before { + content: "\e657"; +} + +.uniui-cloud-upload:before { + content: "\e645"; +} + +.uniui-cloud-download-filled:before { + content: "\e646"; +} + +.uniui-cloud-download:before { + content: "\e647"; +} + +.uniui-cloud-upload-filled:before { + content: "\e648"; +} + +.uniui-redo:before { + content: "\e64a"; +} + +.uniui-images-filled:before { + content: "\e64b"; +} + +.uniui-undo-filled:before { + content: "\e64c"; +} + +.uniui-more:before { + content: "\e64d"; +} + +.uniui-more-filled:before { + content: "\e64e"; +} + +.uniui-undo:before { + content: "\e64f"; +} + +.uniui-images:before { + content: "\e650"; +} + +.uniui-paperclip:before { + content: "\e652"; +} + +.uniui-settings:before { + content: "\e653"; +} + +.uniui-search:before { + content: "\e654"; +} + +.uniui-redo-filled:before { + content: "\e655"; +} + +.uniui-list:before { + content: "\e644"; +} + +.uniui-mail-open-filled:before { + content: "\e63a"; +} + +.uniui-hand-down-filled:before { + content: "\e63c"; +} + +.uniui-hand-down:before { + content: "\e63d"; +} + +.uniui-hand-up-filled:before { + content: "\e63e"; +} + +.uniui-hand-up:before { + content: "\e63f"; +} + +.uniui-heart-filled:before { + content: "\e641"; +} + +.uniui-mail-open:before { + content: "\e643"; +} + +.uniui-heart:before { + content: "\e639"; +} + +.uniui-loop:before { + content: "\e633"; +} + +.uniui-pulldown:before { + content: "\e632"; +} + +.uniui-scan:before { + content: "\e62a"; +} + +.uniui-bars:before { + content: "\e627"; +} + +.uniui-cart-filled:before { + content: "\e629"; +} + +.uniui-checkbox:before { + content: "\e62b"; +} + +.uniui-checkbox-filled:before { + content: "\e62c"; +} + +.uniui-shop:before { + content: "\e62f"; +} + +.uniui-headphones:before { + content: "\e630"; +} + +.uniui-cart:before { + content: "\e631"; +} diff --git a/uni_modules/uni-icons/components/uni-icons/uniicons.ttf b/uni_modules/uni-icons/components/uni-icons/uniicons.ttf new file mode 100644 index 0000000000000000000000000000000000000000..835f33bc9411461b8b9046b3fec742e921d6ce3a GIT binary patch literal 35760 zcmeFacbp?vl{Q?rN>WLsSXIigCAC7gI!S6tox^m`be^1}CwPJ>yxZ{uSzi{WC_=LI+*Wx!<-H!v})21fuKMZQ#fB2Fs zuEGwU_ZyDmuR3&e_s&PS@Be}0T=(JF$l;w=9Als0-iQ4lE^0cm^YDeWhnK#G<4!$@ z>-QZydhsP6Kl0Pv9Cw|EbP-?YO$@C;`+ zuKnR1zxV)MXnddfv56Dn_-W<%#_jZ^d%1f!hyI(6O8C!lXY}93nl=3f9^gzbYS03Jm0vJ;T)Z1IKntfUtypB#zx`e6wG3 zC5AhB&Me^QdH${3yL1otSUp#NN^cKN_yKnkm%XqxczWUgrT^Oo|6lL`SPy&+DZ_DX z1{?B^82rf|!cpSXHhg1*;kZecHy+MI*MqCu>g9T0eYieaf9edzAC9!tJL|pm0UQ~l zBQN;JaG!_sb8)VT%i=%By_I_#_ZIFh?(N(=xVtf?-^|^~y@`7RcMEqbcN=#*_eSmx z?)BVjxU0EqFm9T;Q`~9pTJAdTdhWH{>+qBtxEr~fxSP3Gb60T(xkKDx?g)33JH{R7 zPH-1465x0fg%5CGeb33>TxSiZCZa24wyO7(&Q z>$wfwMs5?gnVaOMxM^;NYvpFSIc_<(f-7(s&u0CxL#u8VbF$klItIryQ@x|5W z48lm`>dOtnnB(dz48rK+>MISxIOOW948n-y>Z=XH*yQSK48kbo>T3axcUVKK~8Y>od!W-aP?gVL3VKU-3CF5aP>U~L7s5+3k`x~;p%%0f{fwn z`wW7#;p+Phg52Ti2MmG);_4R}1X;w@scs-hC9Y0&13^AJNK#+l4o$3aH zH00`3HxT3^SEssxAR)Or)eQt$$+z7tkWDxWPSHIIBXb!IaW`m$ZxcXZRf;QpmZ#4*d zg{!~KAZQq_ewRVeHC+Ae20`m^^>-Kq{lnGoHVB%CtKVY~bP`v;*C1#ou700E&{JIf zeuJQ~xcWN{g6`t#?=lEljH|!fAm}r${tpI0vvKtY41$j1>hCcK+K#I~Xb|)sSAVZT z(12Y1eFi}na`pEc1g*%`|Ir}mN3Q+>gPp}tAE%avLosrF^GJG z`bQ0dZsqD9GYDFitAE@e=v%J-34@?{x%wv!f)3{DpE3yAn5#cz5cD!v|Fl8S&|Lj9 z20>SI_0JjvtVjlpxwFpV+N5QQ~$g{(D+>a3kE^= zbM-G81S^26f5{-&16=*f2Ej7m>R&MkHUd}wszKz<)E_qpb^}-cnn7g6)t@j3wggxI zxp1QBm2=klxXa|a&TVx+;Qp=WwVt{>D}O~9QXW)O>O0h5db_-@^8Ud$^pPT-1=NS-v_4k2r|_kM*0!vaW9xyNll~`AaKH zuPQxR4wv6t{%QC2?wh**v$DGKU?rS_5?F|crGafkiL7dNk-%Y_E4VmkSn6>Hb;SUukEx3l0# zej=BS$yT%Av8Uc*J`xpdRw>aQ5n{34Scli{%@0hjo|#!%t;CXMOO1~vM@By$$wu(0 z7+*JsbCF0c%-{dHFL+pQI~s3&zjaOf89{d%!`6o3fsCO(`6

    PqiNa$~E4XJ#a8s%?nsx`&SiQ7Wz{CE9c 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 literal 0 HcmV?d00001 diff --git a/uni_modules/uni-icons/package.json b/uni_modules/uni-icons/package.json new file mode 100644 index 0000000..d1c4e77 --- /dev/null +++ b/uni_modules/uni-icons/package.json @@ -0,0 +1,86 @@ +{ + "id": "uni-icons", + "displayName": "uni-icons 图标", + "version": "1.3.5", + "description": "图标组件,用于展示移动端常见的图标,可自定义颜色、大小。", + "keywords": [ + "uni-ui", + "uniui", + "icon", + "图标" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "^3.2.14" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-icons/readme.md b/uni_modules/uni-icons/readme.md new file mode 100644 index 0000000..86234ba --- /dev/null +++ b/uni_modules/uni-icons/readme.md @@ -0,0 +1,8 @@ +## Icons 图标 +> **组件名:uni-icons** +> 代码块: `uIcons` + +用于展示 icons 图标 。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-icons) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 diff --git a/uni_modules/uni-indexed-list/changelog.md b/uni_modules/uni-indexed-list/changelog.md new file mode 100644 index 0000000..08fa71c --- /dev/null +++ b/uni_modules/uni-indexed-list/changelog.md @@ -0,0 +1,17 @@ +## 1.2.1(2021-11-22) +- 修复 vue3中某些scss变量无法找到的问题 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-indexed-list](https://uniapp.dcloud.io/component/uniui/uni-indexed-list) +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.11(2021-05-12) +- 新增 组件示例地址 +## 1.0.10(2021-04-21) +- 优化 添加依赖 uni-icons, 导入后自动下载依赖 +## 1.0.9(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 + +## 1.0.8(2021-02-05) +- 调整为uni_modules目录规范 +- 新增 支持 PC 端 diff --git a/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list-item.vue b/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list-item.vue new file mode 100644 index 0000000..2f13bae --- /dev/null +++ b/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list-item.vue @@ -0,0 +1,144 @@ + + + + + diff --git a/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list.vue b/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list.vue new file mode 100644 index 0000000..35e168c --- /dev/null +++ b/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list.vue @@ -0,0 +1,367 @@ + + + diff --git a/uni_modules/uni-indexed-list/package.json b/uni_modules/uni-indexed-list/package.json new file mode 100644 index 0000000..125c0e7 --- /dev/null +++ b/uni_modules/uni-indexed-list/package.json @@ -0,0 +1,89 @@ +{ + "id": "uni-indexed-list", + "displayName": "uni-indexed-list 索引列表", + "version": "1.2.1", + "description": "索引列表组件,右侧带索引的列表,方便快速定位到具体内容,通常用于城市/机场选择等场景", + "keywords": [ + "uni-ui", + "索引列表", + "索引", + "列表" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/uni_modules/uni-indexed-list/readme.md b/uni_modules/uni-indexed-list/readme.md new file mode 100644 index 0000000..44ad84b --- /dev/null +++ b/uni_modules/uni-indexed-list/readme.md @@ -0,0 +1,11 @@ + + +## IndexedList 索引列表 +> **组件名:uni-indexed-list** +> 代码块: `uIndexedList` + + +用于展示索引列表。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-indexed-list) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 diff --git a/uni_modules/uni-link/changelog.md b/uni_modules/uni-link/changelog.md new file mode 100644 index 0000000..2cfbf59 --- /dev/null +++ b/uni_modules/uni-link/changelog.md @@ -0,0 +1,17 @@ +## 1.0.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-link](https://uniapp.dcloud.io/component/uniui/uni-link) +## 1.1.7(2021-11-08) +## 0.0.7(2021-09-03) +- 修复 在 nvue 下不显示的 bug +## 0.0.6(2021-07-30) +- 新增 支持自定义插槽 +## 0.0.5(2021-06-21) +- 新增 download 属性,H5平台下载文件名 +## 0.0.4(2021-05-12) +- 新增 组件示例地址 +## 0.0.3(2021-03-09) +- 新增 href 属性支持 tel:|mailto: + +## 0.0.2(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/uni_modules/uni-link/components/uni-link/uni-link.vue b/uni_modules/uni-link/components/uni-link/uni-link.vue new file mode 100644 index 0000000..27c5468 --- /dev/null +++ b/uni_modules/uni-link/components/uni-link/uni-link.vue @@ -0,0 +1,128 @@ + + + + + diff --git a/uni_modules/uni-link/package.json b/uni_modules/uni-link/package.json new file mode 100644 index 0000000..77b1986 --- /dev/null +++ b/uni_modules/uni-link/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-link", + "displayName": "uni-link 超链接", + "version": "1.0.0", + "description": "uni-link是一个外部网页超链接组件,在小程序内复制url,在app内打开外部浏览器,在h5端打", + "keywords": [ + "uni-ui", + "uniui", + "link", + "超链接", + "" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "y", + "联盟": "y" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-link/readme.md b/uni_modules/uni-link/readme.md new file mode 100644 index 0000000..7f09e94 --- /dev/null +++ b/uni_modules/uni-link/readme.md @@ -0,0 +1,11 @@ + + +## Link 链接 +> **组件名:uni-link** +> 代码块: `uLink` + + +uni-link是一个外部网页超链接组件,在小程序内复制url,在app内打开外部浏览器,在h5端打开新网页。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-link) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/uni_modules/uni-list/changelog.md b/uni_modules/uni-list/changelog.md new file mode 100644 index 0000000..8254a18 --- /dev/null +++ b/uni_modules/uni-list/changelog.md @@ -0,0 +1,46 @@ +## 1.2.14(2023-04-14) +- 优化 uni-list-chat 具名插槽`header` 非app端套一层元素,方便使用时通过外层元素定位实现样式修改 +## 1.2.13(2023-03-03) +- uni-list-chat 新增 支持具名插槽`header` +## 1.2.12(2023-02-01) +- 新增 列表图标新增 customPrefix 属性 ,用法 [详见](https://uniapp.dcloud.net.cn/component/uniui/uni-icons.html#icons-props) +## 1.2.11(2023-01-31) +- 修复 无反馈效果呈现的bug +## 1.2.9(2022-11-22) +- 修复 uni-list-chat 在vue3下跳转报错的bug +## 1.2.8(2022-11-21) +- 修复 uni-list-chat avatar属性 值为本地路径时错误的问题 +## 1.2.7(2022-11-21) +- 修复 uni-list-chat avatar属性 在腾讯云版uniCloud下错误的问题 +## 1.2.6(2022-11-18) +- 修复 uni-list-chat note属性 支持:“草稿”字样功能 文本少1位的问题 +## 1.2.5(2022-11-15) +- 修复 uni-list-item 的 customStyle 属性 padding值在 H5端 无效的bug +## 1.2.4(2022-11-15) +- 修复 uni-list-item 的 customStyle 属性 padding值在nvue(vue2)下无效的bug +## 1.2.3(2022-11-14) +- uni-list-chat 新增 avatar 支持 fileId +## 1.2.2(2022-11-11) +- uni-list 新增属性 render-reverse 详情参考:[https://uniapp.dcloud.net.cn/component/list.html](https://uniapp.dcloud.net.cn/component/list.html) +- uni-list-chat note属性 支持:“草稿”字样 加红显示 详情参考uni-im:[https://ext.dcloud.net.cn/plugin?name=uni-im](https://ext.dcloud.net.cn/plugin?name=uni-im) +- uni-list-item 新增属性 customStyle 支持设置padding、backgroundColor +## 1.2.1(2022-03-30) +- 删除无用文件 +## 1.2.0(2021-11-23) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-list](https://uniapp.dcloud.io/component/uniui/uni-list) +## 1.1.3(2021-08-30) +- 修复 在vue3中to属性在发行应用的时候报错的bug +## 1.1.2(2021-07-30) +- 优化 vue3下事件警告的问题 +## 1.1.1(2021-07-21) +- 修复 与其他组件嵌套使用时,点击失效的Bug +## 1.1.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.17(2021-05-12) +- 新增 组件示例地址 +## 1.0.16(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 +## 1.0.15(2021-02-05) +- 调整为uni_modules目录规范 +- 修复 uni-list-chat 角标显示不正常的问题 diff --git a/uni_modules/uni-list/components/uni-list-ad/uni-list-ad.vue b/uni_modules/uni-list/components/uni-list-ad/uni-list-ad.vue new file mode 100644 index 0000000..b9349c2 --- /dev/null +++ b/uni_modules/uni-list/components/uni-list-ad/uni-list-ad.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.scss b/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.scss new file mode 100644 index 0000000..311f8d9 --- /dev/null +++ b/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.scss @@ -0,0 +1,58 @@ +/** + * 这里是 uni-list 组件内置的常用样式变量 + * 如果需要覆盖样式,这里提供了基本的组件样式变量,您可以尝试修改这里的变量,去完成样式替换,而不用去修改源码 + * + */ + +// 背景色 +$background-color : #fff; +// 分割线颜色 +$divide-line-color : #e5e5e5; + +// 默认头像大小,如需要修改此值,注意同步修改 js 中的值 const avatarWidth = xx ,目前只支持方形头像 +// nvue 页面不支持修改头像大小 +$avatar-width : 45px ; + +// 头像边框 +$avatar-border-radius: 5px; +$avatar-border-color: #eee; +$avatar-border-width: 1px; + +// 标题文字样式 +$title-size : 16px; +$title-color : #3b4144; +$title-weight : normal; + +// 描述文字样式 +$note-size : 12px; +$note-color : #999; +$note-weight : normal; + +// 右侧额外内容默认样式 +$right-text-size : 12px; +$right-text-color : #999; +$right-text-weight : normal; + +// 角标样式 +// nvue 页面不支持修改圆点位置以及大小 +// 角标在左侧时,角标的位置,默认为 0 ,负数左/下移动,正数右/上移动 +$badge-left: 0px; +$badge-top: 0px; + +// 显示圆点时,圆点大小 +$dot-width: 10px; +$dot-height: 10px; + +// 显示角标时,角标大小和字体大小 +$badge-size : 18px; +$badge-font : 12px; +// 显示角标时,角标前景色 +$badge-color : #fff; +// 显示角标时,角标背景色 +$badge-background-color : #ff5a5f; +// 显示角标时,角标左右间距 +$badge-space : 6px; + +// 状态样式 +// 选中颜色 +$hover : #f5f5f5; diff --git a/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.vue b/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.vue new file mode 100644 index 0000000..d49fd7c --- /dev/null +++ b/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.vue @@ -0,0 +1,593 @@ + + + + + diff --git a/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue b/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue new file mode 100644 index 0000000..a274ac8 --- /dev/null +++ b/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue @@ -0,0 +1,534 @@ + + + + + \ No newline at end of file diff --git a/uni_modules/uni-list/components/uni-list/uni-list.vue b/uni_modules/uni-list/components/uni-list/uni-list.vue new file mode 100644 index 0000000..6ef5972 --- /dev/null +++ b/uni_modules/uni-list/components/uni-list/uni-list.vue @@ -0,0 +1,123 @@ + + + + diff --git a/uni_modules/uni-list/components/uni-list/uni-refresh.vue b/uni_modules/uni-list/components/uni-list/uni-refresh.vue new file mode 100644 index 0000000..3b4c5a2 --- /dev/null +++ b/uni_modules/uni-list/components/uni-list/uni-refresh.vue @@ -0,0 +1,65 @@ + + + + + diff --git a/uni_modules/uni-list/components/uni-list/uni-refresh.wxs b/uni_modules/uni-list/components/uni-list/uni-refresh.wxs new file mode 100644 index 0000000..818a6b7 --- /dev/null +++ b/uni_modules/uni-list/components/uni-list/uni-refresh.wxs @@ -0,0 +1,87 @@ +var pullDown = { + threshold: 95, + maxHeight: 200, + callRefresh: 'onrefresh', + callPullingDown: 'onpullingdown', + refreshSelector: '.uni-refresh' +}; + +function ready(newValue, oldValue, ownerInstance, instance) { + var state = instance.getState() + state.canPullDown = newValue; + // console.log(newValue); +} + +function touchStart(e, instance) { + var state = instance.getState(); + state.refreshInstance = instance.selectComponent(pullDown.refreshSelector); + state.canPullDown = (state.refreshInstance != null && state.refreshInstance != undefined); + if (!state.canPullDown) { + return + } + + // console.log("touchStart"); + + state.height = 0; + state.touchStartY = e.touches[0].pageY || e.changedTouches[0].pageY; + state.refreshInstance.setStyle({ + 'height': 0 + }); + state.refreshInstance.callMethod("onchange", true); +} + +function touchMove(e, ownerInstance) { + var instance = e.instance; + var state = instance.getState(); + if (!state.canPullDown) { + return + } + + var oldHeight = state.height; + var endY = e.touches[0].pageY || e.changedTouches[0].pageY; + var height = endY - state.touchStartY; + if (height > pullDown.maxHeight) { + return; + } + + var refreshInstance = state.refreshInstance; + refreshInstance.setStyle({ + 'height': height + 'px' + }); + + height = height < pullDown.maxHeight ? height : pullDown.maxHeight; + state.height = height; + refreshInstance.callMethod(pullDown.callPullingDown, { + height: height + }); +} + +function touchEnd(e, ownerInstance) { + var state = e.instance.getState(); + if (!state.canPullDown) { + return + } + + state.refreshInstance.callMethod("onchange", false); + + var refreshInstance = state.refreshInstance; + if (state.height > pullDown.threshold) { + refreshInstance.callMethod(pullDown.callRefresh); + return; + } + + refreshInstance.setStyle({ + 'height': 0 + }); +} + +function propObserver(newValue, oldValue, instance) { + pullDown = newValue; +} + +module.exports = { + touchmove: touchMove, + touchstart: touchStart, + touchend: touchEnd, + propObserver: propObserver +} diff --git a/uni_modules/uni-list/package.json b/uni_modules/uni-list/package.json new file mode 100644 index 0000000..8350efc --- /dev/null +++ b/uni_modules/uni-list/package.json @@ -0,0 +1,88 @@ +{ + "id": "uni-list", + "displayName": "uni-list 列表", + "version": "1.2.14", + "description": "List 组件 ,帮助使用者快速构建列表。", + "keywords": [ + "", + "uni-ui", + "uniui", + "列表", + "", + "list" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [ + "uni-badge", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-list/readme.md b/uni_modules/uni-list/readme.md new file mode 100644 index 0000000..32c2865 --- /dev/null +++ b/uni_modules/uni-list/readme.md @@ -0,0 +1,346 @@ +## List 列表 +> **组件名:uni-list** +> 代码块: `uList`、`uListItem` +> 关联组件:`uni-list-item`、`uni-badge`、`uni-icons`、`uni-list-chat`、`uni-list-ad` + + +List 列表组件,包含基本列表样式、可扩展插槽机制、长列表性能优化、多端兼容。 + +在vue页面里,它默认使用页面级滚动。在app-nvue页面里,它默认使用原生list组件滚动。这样的长列表,在滚动出屏幕外后,系统会回收不可见区域的渲染内存资源,不会造成滚动越长手机越卡的问题。 + +uni-list组件是父容器,里面的核心是uni-list-item子组件,它代表列表中的一个可重复行,子组件可以无限循环。 + +uni-list-item有很多风格,uni-list-item组件通过内置的属性,满足一些常用的场景。当内置属性不满足需求时,可以通过扩展插槽来自定义列表内容。 + +内置属性可以覆盖的场景包括:导航列表、设置列表、小图标列表、通信录列表、聊天记录列表。 + +涉及很多大图或丰富内容的列表,比如类今日头条的新闻列表、类淘宝的电商列表,需要通过扩展插槽实现。 + +下文均有样例给出。 + +uni-list不包含下拉刷新和上拉翻页。上拉翻页另见组件:[uni-load-more](https://ext.dcloud.net.cn/plugin?id=29) + + +### 安装方式 + +本组件符合[easycom](https://uniapp.dcloud.io/collocation/pages?id=easycom)规范,`HBuilderX 2.5.5`起,只需将本组件导入项目,在页面`template`中即可直接使用,无需在页面中`import`和注册`components`。 + +如需通过`npm`方式使用`uni-ui`组件,另见文档:[https://ext.dcloud.net.cn/plugin?id=55](https://ext.dcloud.net.cn/plugin?id=55) + +> **注意事项** +> 为了避免错误使用,给大家带来不好的开发体验,请在使用组件前仔细阅读下面的注意事项,可以帮你避免一些错误。 +> - 组件需要依赖 `sass` 插件 ,请自行手动安装 +> - 组件内部依赖 `'uni-icons'` 、`uni-badge` 组件 +> - `uni-list` 和 `uni-list-item` 需要配套使用,暂不支持单独使用 `uni-list-item` +> - 只有开启点击反馈后,会有点击选中效果 +> - 使用插槽时,可以完全自定义内容 +> - note 、rightText 属性暂时没做限制,不支持文字溢出隐藏,使用时应该控制长度显示或通过默认插槽自行扩展 +> - 支付宝小程序平台需要在支付宝小程序开发者工具里开启 component2 编译模式,开启方式: 详情 --> 项目配置 --> 启用 component2 编译 +> - 如果需要修改 `switch`、`badge` 样式,请使用插槽自定义 +> - 在 `HBuilderX` 低版本中,可能会出现组件显示 `undefined` 的问题,请升级最新的 `HBuilderX` 或者 `cli` +> - 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + +### 基本用法 + +- 设置 `title` 属性,可以显示列表标题 +- 设置 `disabled` 属性,可以禁用当前项 + +```html + + + + + +``` + +### 多行内容显示 + +- 设置 `note` 属性 ,可以在第二行显示描述文本信息 + +```html + + + + + +``` + +### 右侧显示角标、switch + +- 设置 `show-badge` 属性 ,可以显示角标内容 +- 设置 `show-switch` 属性,可以显示 switch 开关 + +```html + + + + + +``` + +### 左侧显示略缩图、图标 + +- 设置 `thumb` 属性 ,可以在列表左侧显示略缩图 +- 设置 `show-extra-icon` 属性,并指定 `extra-icon` 可以在左侧显示图标 + +```html + + + + +``` + +### 开启点击反馈和右侧箭头 +- 设置 `clickable` 为 `true` ,则表示这是一个可点击的列表,会默认给一个点击效果,并可以监听 `click` 事件 +- 设置 `link` 属性,会自动开启点击反馈,并给列表右侧添加一个箭头 +- 设置 `to` 属性,可以跳转页面,`link` 的值表示跳转方式,如果不指定,默认为 `navigateTo` + +```html + + + + + + + +``` + + +### 聊天列表示例 +- 设置 `clickable` 为 `true` ,则表示这是一个可点击的列表,会默认给一个点击效果,并可以监听 `click` 事件 +- 设置 `link` 属性,会自动开启点击反馈,`link` 的值表示跳转方式,如果不指定,默认为 `navigateTo` +- 设置 `to` 属性,可以跳转页面 +- `time` 属性,通常会设置成时间显示,但是这个属性不仅仅可以设置时间,你可以传入任何文本,注意文本长度可能会影响显示 +- `avatar` 和 `avatarList` 属性同时只会有一个生效,同时设置的话,`avatarList` 属性的长度大于1 ,`avatar` 属性将失效 +- 可以通过默认插槽自定义列表右侧内容 + +```html + + + + + + + + + + + + + + + + + 刚刚 + + + + + + + +``` + +```javascript + +export default { + components: {}, + data() { + return { + avatarList: [{ + url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/460d46d0-4fcc-11eb-8ff1-d5dcf8779628.png' + }, { + url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/460d46d0-4fcc-11eb-8ff1-d5dcf8779628.png' + }, { + url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/460d46d0-4fcc-11eb-8ff1-d5dcf8779628.png' + }] + } + } +} + +``` + + +```css + +.chat-custom-right { + flex: 1; + /* #ifndef APP-NVUE */ + display: flex; + /* #endif */ + flex-direction: column; + justify-content: space-between; + align-items: flex-end; +} + +.chat-custom-text { + font-size: 12px; + color: #999; +} + +``` + +## API + +### List Props + +属性名 |类型 |默认值 | 说明 +:-: |:-: |:-: | :-: +border |Boolean |true | 是否显示边框 + + +### ListItem Props + +属性名 |类型 |默认值 | 说明 +:-: |:-: |:-: | :-: +title |String |- | 标题 +note |String |- | 描述 +ellipsis |Number |0 | title 是否溢出隐藏,可选值,0:默认; 1:显示一行; 2:显示两行;【nvue 暂不支持】 +thumb |String |- | 左侧缩略图,若thumb有值,则不会显示扩展图标 +thumbSize |String |medium | 略缩图尺寸,可选值,lg:大图; medium:一般; sm:小图; +showBadge |Boolean |false | 是否显示数字角标 +badgeText |String |- | 数字角标内容 +badgeType |String |- | 数字角标类型,参考[uni-icons](https://ext.dcloud.net.cn/plugin?id=21) +badgeStyle |Object |- | 数字角标样式,使用uni-badge的custom-style参数 +rightText |String |- | 右侧文字内容 +disabled |Boolean |false | 是否禁用 +showArrow |Boolean |true | 是否显示箭头图标 +link |String |navigateTo | 新页面跳转方式,可选值见下表 +to |String |- | 新页面跳转地址,如填写此属性,click 会返回页面是否跳转成功 +clickable |Boolean |false | 是否开启点击反馈 +showSwitch |Boolean |false | 是否显示Switch +switchChecked |Boolean |false | Switch是否被选中 +showExtraIcon |Boolean |false | 左侧是否显示扩展图标 +extraIcon |Object |- | 扩展图标参数,格式为 ``{color: '#4cd964',size: '22',type: 'spinner'}``,参考 [uni-icons](https://ext.dcloud.net.cn/plugin?id=28) +direction | String |row | 排版方向,可选值,row:水平排列; column:垂直排列; 3个插槽是水平排还是垂直排,也受此属性控制 + + +#### Link Options + +属性名 | 说明 +:-: | :-: +navigateTo | 同 uni.navigateTo() +redirectTo | 同 uni.reLaunch() +reLaunch | 同 uni.reLaunch() +switchTab | 同 uni.switchTab() + +### ListItem Events + +事件称名 |说明 |返回参数 +:-: |:-: |:-: +click |点击 uniListItem 触发事件,需开启点击反馈 |- +switchChange |点击切换 Switch 时触发,需显示 switch |e={value:checked} + + + +### ListItem Slots + +名称 | 说明 +:-: | :-: +header | 左/上内容插槽,可完全自定义默认显示 +body | 中间内容插槽,可完全自定义中间内容 +footer | 右/下内容插槽,可完全自定义右侧内容 + + +> **通过插槽扩展** +> 需要注意的是当使用插槽时,内置样式将会失效,只保留排版样式,此时的样式需要开发者自己实现 +> 如果 `uni-list-item` 组件内置属性样式无法满足需求,可以使用插槽来自定义uni-list-item里的内容。 +> uni-list-item提供了3个可扩展的插槽:`header`、`body`、`footer` +> - 当 `direction` 属性为 `row` 时表示水平排列,此时 `header` 表示列表的左边部分,`body` 表示列表的中间部分,`footer` 表示列表的右边部分 +> - 当 `direction` 属性为 `column` 时表示垂直排列,此时 `header` 表示列表的上边部分,`body` 表示列表的中间部分,`footer` 表示列表的下边部分 +> 开发者可以只用1个插槽,也可以3个一起使用。在插槽中可自主编写view标签,实现自己所需的效果。 + + +**示例** + +```html + + + + + + + + + 自定义插槽 + + + + +``` + + + + + +### ListItemChat Props + +属性名 |类型 |默认值 | 说明 +:-: |:-: |:-: | :-: +title |String |- | 标题 +note |String |- | 描述 +clickable |Boolean |false | 是否开启点击反馈 +badgeText |String |- | 数字角标内容,设置为 `dot` 将显示圆点 +badgePositon |String |right | 角标位置 +link |String |navigateTo | 是否展示右侧箭头并开启点击反馈,可选值见下表 +clickable |Boolean |false | 是否开启点击反馈 +to |String |- | 跳转页面地址,如填写此属性,click 会返回页面是否跳转成功 +time |String |- | 右侧时间显示 +avatarCircle |Boolean |false | 是否显示圆形头像 +avatar |String |- | 头像地址,avatarCircle 不填时生效 +avatarList |Array |- | 头像组,格式为 [{url:''}] + +#### Link Options + +属性名 | 说明 +:-: | :-: +navigateTo | 同 uni.navigateTo() +redirectTo | 同 uni.reLaunch() +reLaunch | 同 uni.reLaunch() +switchTab | 同 uni.switchTab() + +### ListItemChat Slots + +名称 | 说明 +:- | :- +default | 自定义列表右侧内容(包括时间和角标显示) + +### ListItemChat Events +事件称名 | 说明 | 返回参数 +:-: | :-: | :-: +@click | 点击 uniListChat 触发事件 | {data:{}} ,如有 to 属性,会返回页面跳转信息 + + + + + + +## 基于uni-list扩展的页面模板 + +通过扩展插槽,可实现多种常见样式的列表 + +**新闻列表类** + +1. 云端一体混合布局:[https://ext.dcloud.net.cn/plugin?id=2546](https://ext.dcloud.net.cn/plugin?id=2546) +2. 云端一体垂直布局,大图模式:[https://ext.dcloud.net.cn/plugin?id=2583](https://ext.dcloud.net.cn/plugin?id=2583) +3. 云端一体垂直布局,多行图文混排:[https://ext.dcloud.net.cn/plugin?id=2584](https://ext.dcloud.net.cn/plugin?id=2584) +4. 云端一体垂直布局,多图模式:[https://ext.dcloud.net.cn/plugin?id=2585](https://ext.dcloud.net.cn/plugin?id=2585) +5. 云端一体水平布局,左图右文:[https://ext.dcloud.net.cn/plugin?id=2586](https://ext.dcloud.net.cn/plugin?id=2586) +6. 云端一体水平布局,左文右图:[https://ext.dcloud.net.cn/plugin?id=2587](https://ext.dcloud.net.cn/plugin?id=2587) +7. 云端一体垂直布局,无图模式,主标题+副标题:[https://ext.dcloud.net.cn/plugin?id=2588](https://ext.dcloud.net.cn/plugin?id=2588) + +**商品列表类** + +1. 云端一体列表/宫格视图互切:[https://ext.dcloud.net.cn/plugin?id=2651](https://ext.dcloud.net.cn/plugin?id=2651) +2. 云端一体列表(宫格模式):[https://ext.dcloud.net.cn/plugin?id=2671](https://ext.dcloud.net.cn/plugin?id=2671) +3. 云端一体列表(列表模式):[https://ext.dcloud.net.cn/plugin?id=2672](https://ext.dcloud.net.cn/plugin?id=2672) + +## 组件示例 + +点击查看:[https://hellouniapp.dcloud.net.cn/pages/extUI/list/list](https://hellouniapp.dcloud.net.cn/pages/extUI/list/list) \ No newline at end of file diff --git a/uni_modules/uni-load-more/changelog.md b/uni_modules/uni-load-more/changelog.md new file mode 100644 index 0000000..8f03f1d --- /dev/null +++ b/uni_modules/uni-load-more/changelog.md @@ -0,0 +1,19 @@ +## 1.3.3(2022-01-20) +- 新增 showText属性 ,是否显示文本 +## 1.3.2(2022-01-19) +- 修复 nvue 平台下不显示文本的bug +## 1.3.1(2022-01-19) +- 修复 微信小程序平台样式选择器报警告的问题 +## 1.3.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-load-more](https://uniapp.dcloud.io/component/uniui/uni-load-more) +## 1.2.1(2021-08-24) +- 新增 支持国际化 +## 1.2.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.1.8(2021-05-12) +- 新增 组件示例地址 +## 1.1.7(2021-03-30) +- 修复 uni-load-more 在首页使用时,h5 平台报 'uni is not defined' 的 bug +## 1.1.6(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json b/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json new file mode 100644 index 0000000..a4f14a5 --- /dev/null +++ b/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json @@ -0,0 +1,5 @@ +{ + "uni-load-more.contentdown": "Pull up to show more", + "uni-load-more.contentrefresh": "loading...", + "uni-load-more.contentnomore": "No more data" +} diff --git a/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js b/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js new file mode 100644 index 0000000..de7509c --- /dev/null +++ b/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js @@ -0,0 +1,8 @@ +import en from './en.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json b/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json new file mode 100644 index 0000000..f15d510 --- /dev/null +++ b/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json @@ -0,0 +1,5 @@ +{ + "uni-load-more.contentdown": "上拉显示更多", + "uni-load-more.contentrefresh": "正在加载...", + "uni-load-more.contentnomore": "没有更多数据了" +} diff --git a/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json b/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json new file mode 100644 index 0000000..a255c6d --- /dev/null +++ b/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json @@ -0,0 +1,5 @@ +{ + "uni-load-more.contentdown": "上拉顯示更多", + "uni-load-more.contentrefresh": "正在加載...", + "uni-load-more.contentnomore": "沒有更多數據了" +} diff --git a/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue b/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue new file mode 100644 index 0000000..e5eff4d --- /dev/null +++ b/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue @@ -0,0 +1,399 @@ + + + + + diff --git a/uni_modules/uni-load-more/package.json b/uni_modules/uni-load-more/package.json new file mode 100644 index 0000000..2fa6f04 --- /dev/null +++ b/uni_modules/uni-load-more/package.json @@ -0,0 +1,86 @@ +{ + "id": "uni-load-more", + "displayName": "uni-load-more 加载更多", + "version": "1.3.3", + "description": "LoadMore 组件,常用在列表里面,做滚动加载使用。", + "keywords": [ + "uni-ui", + "uniui", + "加载更多", + "load-more" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-load-more/readme.md b/uni_modules/uni-load-more/readme.md new file mode 100644 index 0000000..54dc1fa --- /dev/null +++ b/uni_modules/uni-load-more/readme.md @@ -0,0 +1,14 @@ + + +### LoadMore 加载更多 +> **组件名:uni-load-more** +> 代码块: `uLoadMore` + + +用于列表中,做滚动加载使用,展示 loading 的各种状态。 + + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-load-more) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/uni_modules/uni-nav-bar/changelog.md b/uni_modules/uni-nav-bar/changelog.md new file mode 100644 index 0000000..0f9a2f1 --- /dev/null +++ b/uni_modules/uni-nav-bar/changelog.md @@ -0,0 +1,51 @@ +## 1.3.11(2023-03-29) +- 修复 自定义状态栏高度闪动BUG +## 1.3.10(2023-03-29) +- 修复 暗黑模式下边线颜色错误的bug +## 1.3.9(2022-10-13) +- 修复 条件编译错误的bug +## 1.3.8(2022-10-12) +- 修复 nvue 环境 fixed 为 true 的情况下,无法置顶的 bug +## 1.3.7(2022-08-11) +- 修复 nvue 环境下 fixed 为 true 的情况下,无法置顶的 bug +## 1.3.6(2022-06-30) +- 修复 组件示例中插槽用法无法显示内容的bug +## 1.3.5(2022-05-24) +- 新增 stat 属性 ,可开启统计title 上报 ,仅使用了title 属性且项目开启了uni统计生效 +## 1.3.4(2022-01-24) +- 更新 组件示例 +## 1.3.3(2022-01-24) +- 新增 left-width/right-width属性 ,可修改左右两侧的宽度 +## 1.3.2(2022-01-18) +- 修复 在vue下,标题不垂直居中的bug +## 1.3.1(2022-01-18) +- 修复 height 属性类型错误 +## 1.3.0(2022-01-18) +- 新增 height 属性,可修改组件高度 +- 新增 dark 属性可可开启暗黑模式 +- 优化 标题字数过多显示省略号 +- 优化 插槽,插入内容可完全覆盖 +## 1.2.1(2022-01-10) +- 修复 color 属性不生效的bug +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-nav-bar](https://uniapp.dcloud.io/component/uniui/uni-nav-bar) +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.11(2021-05-12) +- 新增 组件示例地址 +## 1.0.10(2021-04-30) +- 修复 在nvue下fixed为true,宽度不能撑满的Bug +## 1.0.9(2021-04-21) +- 优化 添加依赖 uni-icons, 导入后自动下载依赖 +## 1.0.8(2021-04-14) +- uni-ui 修复 uni-nav-bar 当 fixed 属性为 true 时铺不满屏幕的 bug + +## 1.0.7(2021-02-25) +- 修复 easycom 下,找不到 uni-status-bar 的bug + +## 1.0.6(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 + +## 1.0.5(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue b/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue new file mode 100644 index 0000000..c890860 --- /dev/null +++ b/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue @@ -0,0 +1,357 @@ + + + + + diff --git a/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-status-bar.vue b/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-status-bar.vue new file mode 100644 index 0000000..4ac73ae --- /dev/null +++ b/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-status-bar.vue @@ -0,0 +1,24 @@ + + + + + diff --git a/uni_modules/uni-nav-bar/package.json b/uni_modules/uni-nav-bar/package.json new file mode 100644 index 0000000..240ae95 --- /dev/null +++ b/uni_modules/uni-nav-bar/package.json @@ -0,0 +1,86 @@ +{ + "id": "uni-nav-bar", + "displayName": "uni-nav-bar 自定义导航栏", + "version": "1.3.11", + "description": "自定义导航栏组件,主要用于头部导航。", + "keywords": [ + "uni-ui", + "导航", + "导航栏", + "自定义导航栏" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-nav-bar/readme.md b/uni_modules/uni-nav-bar/readme.md new file mode 100644 index 0000000..3934b32 --- /dev/null +++ b/uni_modules/uni-nav-bar/readme.md @@ -0,0 +1,15 @@ + + +## NavBar 导航栏 +> **组件名:uni-nav-bar** +> 代码块: `uNavBar` + +导航栏组件,主要用于头部导航。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-nav-bar) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + + + + diff --git a/uni_modules/uni-notice-bar/changelog.md b/uni_modules/uni-notice-bar/changelog.md new file mode 100644 index 0000000..d526811 --- /dev/null +++ b/uni_modules/uni-notice-bar/changelog.md @@ -0,0 +1,18 @@ +## 1.2.1(2022-09-05) +- 新增 属性 fontSize,可修改文字大小。 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-notice-bar](https://uniapp.dcloud.io/component/uniui/uni-notice-bar) +## 1.1.1(2021-11-09) +- 新增 提供组件设计资源,组件样式调整 +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.9(2021-05-12) +- 新增 组件示例地址 +## 1.0.8(2021-04-21) +- 优化 添加依赖 uni-icons, 导入后自动下载依赖 +## 1.0.7(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 + +## 1.0.6(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.vue b/uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.vue new file mode 100644 index 0000000..98d4720 --- /dev/null +++ b/uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.vue @@ -0,0 +1,426 @@ + + + + + diff --git a/uni_modules/uni-notice-bar/package.json b/uni_modules/uni-notice-bar/package.json new file mode 100644 index 0000000..8d9b13c --- /dev/null +++ b/uni_modules/uni-notice-bar/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-notice-bar", + "displayName": "uni-notice-bar 通告栏", + "version": "1.2.1", + "description": "NoticeBar 通告栏组件,常用于展示公告信息,可设为滚动公告", + "keywords": [ + "uni-ui", + "uniui", + "通告栏", + "公告", + "跑马灯" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/uni_modules/uni-notice-bar/readme.md b/uni_modules/uni-notice-bar/readme.md new file mode 100644 index 0000000..fb2ede2 --- /dev/null +++ b/uni_modules/uni-notice-bar/readme.md @@ -0,0 +1,13 @@ + + +## NoticeBar 通告栏 +> **组件名:uni-notice-bar** +> 代码块: `uNoticeBar` + + +通告栏组件 。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-notice-bar) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/uni_modules/uni-number-box/changelog.md b/uni_modules/uni-number-box/changelog.md new file mode 100644 index 0000000..5925c32 --- /dev/null +++ b/uni_modules/uni-number-box/changelog.md @@ -0,0 +1,25 @@ +## 1.2.1(2021-11-22) +- 修复 vue3中某些scss变量无法找到的问题 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-number-box](https://uniapp.dcloud.io/component/uniui/uni-number-box) +## 1.1.2(2021-11-09) +- 新增 提供组件设计资源,组件样式调整 +## 1.1.1(2021-07-30) +- 优化 vue3下事件警告的问题 +## 1.1.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.7(2021-05-12) +- 新增 组件示例地址 +## 1.0.6(2021-04-20) +- 修复 uni-number-box 浮点数运算不精确的 bug +- 修复 uni-number-box change 事件触发不正确的 bug +- 新增 uni-number-box v-model 双向绑定 +## 1.0.5(2021-02-05) +- 调整为uni_modules目录规范 + +## 1.0.7(2021-02-05) +- 调整为uni_modules目录规范 +- 新增 支持 v-model +- 新增 支持 focus、blur 事件 +- 新增 支持 PC 端 diff --git a/uni_modules/uni-number-box/components/uni-number-box/uni-number-box.vue b/uni_modules/uni-number-box/components/uni-number-box/uni-number-box.vue new file mode 100644 index 0000000..e91c032 --- /dev/null +++ b/uni_modules/uni-number-box/components/uni-number-box/uni-number-box.vue @@ -0,0 +1,221 @@ + + + diff --git a/uni_modules/uni-number-box/package.json b/uni_modules/uni-number-box/package.json new file mode 100644 index 0000000..ad82336 --- /dev/null +++ b/uni_modules/uni-number-box/package.json @@ -0,0 +1,85 @@ +{ + "id": "uni-number-box", + "displayName": "uni-number-box 数字输入框", + "version": "1.2.1", + "description": "NumberBox 带加减按钮的数字输入框组件,用户可以控制每次点击增加的数值,支持小数。", + "keywords": [ + "uni-ui", + "uniui", + "数字输入框" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-number-box/readme.md b/uni_modules/uni-number-box/readme.md new file mode 100644 index 0000000..affc56f --- /dev/null +++ b/uni_modules/uni-number-box/readme.md @@ -0,0 +1,13 @@ + + +## NumberBox 数字输入框 +> **组件名:uni-number-box** +> 代码块: `uNumberBox` + + +带加减按钮的数字输入框。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-number-box) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/uni_modules/uni-pagination/changelog.md b/uni_modules/uni-pagination/changelog.md new file mode 100644 index 0000000..2e94adc --- /dev/null +++ b/uni_modules/uni-pagination/changelog.md @@ -0,0 +1,27 @@ +## 1.2.4(2022-09-19) +- 修复,未对主题色设置默认色,导致未引入 uni-scss 变量文件报错。 +- 修复,未对移动端当前页文字做主题色适配。 +## 1.2.3(2022-09-15) +- 修复未使用 uni-scss 主题色的 bug。 +## 1.2.2(2022-07-06) +- 修复 es 语言 i18n 错误 +## 1.2.1(2021-11-22) +- 修复 vue3中某些scss变量无法找到的问题 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-pagination](https://uniapp.dcloud.io/component/uniui/uni-pagination) +## 1.1.2(2021-10-08) +- 修复 current 、value 属性未监听,导致高亮样式失效的 bug +## 1.1.1(2021-08-20) +- 新增 支持国际化 +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.7(2021-05-12) +- 新增 组件示例地址 +## 1.0.6(2021-04-12) +- 新增 PC 和 移动端适配不同的 ui +## 1.0.5(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 + +## 1.0.4(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/uni_modules/uni-pagination/components/uni-pagination/i18n/en.json b/uni_modules/uni-pagination/components/uni-pagination/i18n/en.json new file mode 100644 index 0000000..d6e2897 --- /dev/null +++ b/uni_modules/uni-pagination/components/uni-pagination/i18n/en.json @@ -0,0 +1,5 @@ +{ + "uni-pagination.prevText": "prev", + "uni-pagination.nextText": "next", + "uni-pagination.piecePerPage": "piece/page" +} diff --git a/uni_modules/uni-pagination/components/uni-pagination/i18n/es.json b/uni_modules/uni-pagination/components/uni-pagination/i18n/es.json new file mode 100644 index 0000000..604a113 --- /dev/null +++ b/uni_modules/uni-pagination/components/uni-pagination/i18n/es.json @@ -0,0 +1,5 @@ +{ + "uni-pagination.prevText": "anterior", + "uni-pagination.nextText": "prxima", + "uni-pagination.piecePerPage": "Artculo/Pgina" +} diff --git a/uni_modules/uni-pagination/components/uni-pagination/i18n/fr.json b/uni_modules/uni-pagination/components/uni-pagination/i18n/fr.json new file mode 100644 index 0000000..a7a0c77 --- /dev/null +++ b/uni_modules/uni-pagination/components/uni-pagination/i18n/fr.json @@ -0,0 +1,5 @@ +{ + "uni-pagination.prevText": "précédente", + "uni-pagination.nextText": "suivante", + "uni-pagination.piecePerPage": "Articles/Pages" +} diff --git a/uni_modules/uni-pagination/components/uni-pagination/i18n/index.js b/uni_modules/uni-pagination/components/uni-pagination/i18n/index.js new file mode 100644 index 0000000..2469dd0 --- /dev/null +++ b/uni_modules/uni-pagination/components/uni-pagination/i18n/index.js @@ -0,0 +1,12 @@ +import en from './en.json' +import es from './es.json' +import fr from './fr.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + es, + fr, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hans.json b/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hans.json new file mode 100644 index 0000000..782bbe4 --- /dev/null +++ b/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hans.json @@ -0,0 +1,5 @@ +{ + "uni-pagination.prevText": "上一页", + "uni-pagination.nextText": "下一页", + "uni-pagination.piecePerPage": "条/页" +} diff --git a/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hant.json b/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hant.json new file mode 100644 index 0000000..180fddb --- /dev/null +++ b/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hant.json @@ -0,0 +1,5 @@ +{ + "uni-pagination.prevText": "上一頁", + "uni-pagination.nextText": "下一頁", + "uni-pagination.piecePerPage": "條/頁" +} diff --git a/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue b/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue new file mode 100644 index 0000000..5305b5f --- /dev/null +++ b/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue @@ -0,0 +1,465 @@ + + + + + diff --git a/uni_modules/uni-pagination/package.json b/uni_modules/uni-pagination/package.json new file mode 100644 index 0000000..862d5ab --- /dev/null +++ b/uni_modules/uni-pagination/package.json @@ -0,0 +1,83 @@ +{ + "id": "uni-pagination", + "displayName": "uni-pagination 分页器", + "version": "1.2.4", + "description": "Pagination 分页器组件,用于展示页码、请求数据等。", + "keywords": [ + "uni-ui", + "uniui", + "分页器", + "页码" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-scss","uni-icons"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-pagination/readme.md b/uni_modules/uni-pagination/readme.md new file mode 100644 index 0000000..97ea1d6 --- /dev/null +++ b/uni_modules/uni-pagination/readme.md @@ -0,0 +1,11 @@ + + +## Pagination 分页器 +> **组件名:uni-pagination** +> 代码块: `uPagination` + + +分页器组件,用于展示页码、请求数据等。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-pagination) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 diff --git a/uni_modules/uni-popup/changelog.md b/uni_modules/uni-popup/changelog.md new file mode 100644 index 0000000..bc59f07 --- /dev/null +++ b/uni_modules/uni-popup/changelog.md @@ -0,0 +1,68 @@ +## 1.8.3(2023-04-17) +- 修复 uni-popup 重复打开时的 bug +## 1.8.2(2023-02-02) +- uni-popup-dialog 组件新增 inputType 属性 +## 1.8.1(2022-12-01) +- 修复 nvue 下 v-show 报错 +## 1.8.0(2022-11-29) +- 优化 主题样式 +## 1.7.9(2022-04-02) +- 修复 弹出层内部无法滚动的bug +## 1.7.8(2022-03-28) +- 修复 小程序中高度错误的bug +## 1.7.7(2022-03-17) +- 修复 快速调用open出现问题的Bug +## 1.7.6(2022-02-14) +- 修复 safeArea 属性不能设置为false的bug +## 1.7.5(2022-01-19) +- 修复 isMaskClick 失效的bug +## 1.7.4(2022-01-19) +- 新增 cancelText \ confirmText 属性 ,可自定义文本 +- 新增 maskBackgroundColor 属性 ,可以修改蒙版颜色 +- 优化 maskClick属性 更新为 isMaskClick ,解决微信小程序警告的问题 +## 1.7.3(2022-01-13) +- 修复 设置 safeArea 属性不生效的bug +## 1.7.2(2021-11-26) +- 优化 组件示例 +## 1.7.1(2021-11-26) +- 修复 vuedoc 文字错误 +## 1.7.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-popup](https://uniapp.dcloud.io/component/uniui/uni-popup) +## 1.6.2(2021-08-24) +- 新增 支持国际化 +## 1.6.1(2021-07-30) +- 优化 vue3下事件警告的问题 +## 1.6.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.5.0(2021-06-23) +- 新增 mask-click 遮罩层点击事件 +## 1.4.5(2021-06-22) +- 修复 nvue 平台中间弹出后,点击内容,再点击遮罩无法关闭的Bug +## 1.4.4(2021-06-18) +- 修复 H5平台中间弹出后,点击内容,再点击遮罩无法关闭的Bug +## 1.4.3(2021-06-08) +- 修复 错误的 watch 字段 +- 修复 safeArea 属性不生效的问题 +- 修复 点击内容,再点击遮罩无法关闭的Bug +## 1.4.2(2021-05-12) +- 新增 组件示例地址 +## 1.4.1(2021-04-29) +- 修复 组件内放置 input 、textarea 组件,无法聚焦的问题 +## 1.4.0 (2021-04-29) +- 新增 type 属性的 left\right 值,支持左右弹出 +- 新增 open(String:type) 方法参数 ,可以省略 type 属性 ,直接传入类型打开指定弹窗 +- 新增 backgroundColor 属性,可定义主窗口背景色,默认不显示背景色 +- 新增 safeArea 属性,是否适配底部安全区 +- 修复 App\h5\微信小程序底部安全区占位不对的Bug +- 修复 App 端弹出等待的Bug +- 优化 提升低配设备性能,优化动画卡顿问题 +- 优化 更简单的组件自定义方式 +## 1.2.9(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 +## 1.2.8(2021-02-05) +- 调整为uni_modules目录规范 +## 1.2.7(2021-02-05) +- 调整为uni_modules目录规范 +- 新增 支持 PC 端 +- 新增 uni-popup-message 、uni-popup-dialog扩展组件支持 PC 端 diff --git a/uni_modules/uni-popup/components/uni-popup-dialog/keypress.js b/uni_modules/uni-popup/components/uni-popup-dialog/keypress.js new file mode 100644 index 0000000..6ef26a2 --- /dev/null +++ b/uni_modules/uni-popup/components/uni-popup-dialog/keypress.js @@ -0,0 +1,45 @@ +// #ifdef H5 +export default { + name: 'Keypress', + props: { + disable: { + type: Boolean, + default: false + } + }, + mounted () { + const keyNames = { + esc: ['Esc', 'Escape'], + tab: 'Tab', + enter: 'Enter', + space: [' ', 'Spacebar'], + up: ['Up', 'ArrowUp'], + left: ['Left', 'ArrowLeft'], + right: ['Right', 'ArrowRight'], + down: ['Down', 'ArrowDown'], + delete: ['Backspace', 'Delete', 'Del'] + } + const listener = ($event) => { + if (this.disable) { + return + } + const keyName = Object.keys(keyNames).find(key => { + const keyName = $event.key + const value = keyNames[key] + return value === keyName || (Array.isArray(value) && value.includes(keyName)) + }) + if (keyName) { + // 避免和其他按键事件冲突 + setTimeout(() => { + this.$emit(keyName, {}) + }, 0) + } + } + document.addEventListener('keyup', listener) + this.$once('hook:beforeDestroy', () => { + document.removeEventListener('keyup', listener) + }) + }, + render: () => {} +} +// #endif diff --git a/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue b/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue new file mode 100644 index 0000000..b5eee79 --- /dev/null +++ b/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue @@ -0,0 +1,275 @@ + + + + + diff --git a/uni_modules/uni-popup/components/uni-popup-message/uni-popup-message.vue b/uni_modules/uni-popup/components/uni-popup-message/uni-popup-message.vue new file mode 100644 index 0000000..91370a8 --- /dev/null +++ b/uni_modules/uni-popup/components/uni-popup-message/uni-popup-message.vue @@ -0,0 +1,143 @@ + + + + diff --git a/uni_modules/uni-popup/components/uni-popup-share/uni-popup-share.vue b/uni_modules/uni-popup/components/uni-popup-share/uni-popup-share.vue new file mode 100644 index 0000000..5be7624 --- /dev/null +++ b/uni_modules/uni-popup/components/uni-popup-share/uni-popup-share.vue @@ -0,0 +1,187 @@ + + + + diff --git a/uni_modules/uni-popup/components/uni-popup/i18n/en.json b/uni_modules/uni-popup/components/uni-popup/i18n/en.json new file mode 100644 index 0000000..7f1bd06 --- /dev/null +++ b/uni_modules/uni-popup/components/uni-popup/i18n/en.json @@ -0,0 +1,7 @@ +{ + "uni-popup.cancel": "cancel", + "uni-popup.ok": "ok", + "uni-popup.placeholder": "pleace enter", + "uni-popup.title": "Hint", + "uni-popup.shareTitle": "Share to" +} diff --git a/uni_modules/uni-popup/components/uni-popup/i18n/index.js b/uni_modules/uni-popup/components/uni-popup/i18n/index.js new file mode 100644 index 0000000..de7509c --- /dev/null +++ b/uni_modules/uni-popup/components/uni-popup/i18n/index.js @@ -0,0 +1,8 @@ +import en from './en.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hans.json b/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hans.json new file mode 100644 index 0000000..5e3003c --- /dev/null +++ b/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hans.json @@ -0,0 +1,7 @@ +{ + "uni-popup.cancel": "取消", + "uni-popup.ok": "确定", + "uni-popup.placeholder": "请输入", + "uni-popup.title": "提示", + "uni-popup.shareTitle": "分享到" +} diff --git a/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hant.json b/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hant.json new file mode 100644 index 0000000..13e39eb --- /dev/null +++ b/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hant.json @@ -0,0 +1,7 @@ +{ + "uni-popup.cancel": "取消", + "uni-popup.ok": "確定", + "uni-popup.placeholder": "請輸入", + "uni-popup.title": "提示", + "uni-popup.shareTitle": "分享到" +} diff --git a/uni_modules/uni-popup/components/uni-popup/keypress.js b/uni_modules/uni-popup/components/uni-popup/keypress.js new file mode 100644 index 0000000..62dda46 --- /dev/null +++ b/uni_modules/uni-popup/components/uni-popup/keypress.js @@ -0,0 +1,45 @@ +// #ifdef H5 +export default { + name: 'Keypress', + props: { + disable: { + type: Boolean, + default: false + } + }, + mounted () { + const keyNames = { + esc: ['Esc', 'Escape'], + tab: 'Tab', + enter: 'Enter', + space: [' ', 'Spacebar'], + up: ['Up', 'ArrowUp'], + left: ['Left', 'ArrowLeft'], + right: ['Right', 'ArrowRight'], + down: ['Down', 'ArrowDown'], + delete: ['Backspace', 'Delete', 'Del'] + } + const listener = ($event) => { + if (this.disable) { + return + } + const keyName = Object.keys(keyNames).find(key => { + const keyName = $event.key + const value = keyNames[key] + return value === keyName || (Array.isArray(value) && value.includes(keyName)) + }) + if (keyName) { + // 避免和其他按键事件冲突 + setTimeout(() => { + this.$emit(keyName, {}) + }, 0) + } + } + document.addEventListener('keyup', listener) + // this.$once('hook:beforeDestroy', () => { + // document.removeEventListener('keyup', listener) + // }) + }, + render: () => {} +} +// #endif diff --git a/uni_modules/uni-popup/components/uni-popup/popup.js b/uni_modules/uni-popup/components/uni-popup/popup.js new file mode 100644 index 0000000..c4e5781 --- /dev/null +++ b/uni_modules/uni-popup/components/uni-popup/popup.js @@ -0,0 +1,26 @@ + +export default { + data() { + return { + + } + }, + created(){ + this.popup = this.getParent() + }, + methods:{ + /** + * 获取父元素实例 + */ + getParent(name = 'uniPopup') { + let parent = this.$parent; + let parentName = parent.$options.name; + while (parentName !== name) { + parent = parent.$parent; + if (!parent) return false + parentName = parent.$options.name; + } + return parent; + }, + } +} diff --git a/uni_modules/uni-popup/components/uni-popup/uni-popup.vue b/uni_modules/uni-popup/components/uni-popup/uni-popup.vue new file mode 100644 index 0000000..54afee2 --- /dev/null +++ b/uni_modules/uni-popup/components/uni-popup/uni-popup.vue @@ -0,0 +1,473 @@ + + + + diff --git a/uni_modules/uni-popup/package.json b/uni_modules/uni-popup/package.json new file mode 100644 index 0000000..f40556b --- /dev/null +++ b/uni_modules/uni-popup/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-popup", + "displayName": "uni-popup 弹出层", + "version": "1.8.3", + "description": " Popup 组件,提供常用的弹层", + "keywords": [ + "uni-ui", + "弹出层", + "弹窗", + "popup", + "弹框" + ], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-transition" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/uni_modules/uni-popup/readme.md b/uni_modules/uni-popup/readme.md new file mode 100644 index 0000000..fdad4b3 --- /dev/null +++ b/uni_modules/uni-popup/readme.md @@ -0,0 +1,17 @@ + + +## Popup 弹出层 +> **组件名:uni-popup** +> 代码块: `uPopup` +> 关联组件:`uni-transition` + + +弹出层组件,在应用中弹出一个消息提示窗口、提示框等 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-popup) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + + + + diff --git a/uni_modules/uni-rate/changelog.md b/uni_modules/uni-rate/changelog.md new file mode 100644 index 0000000..8a98a61 --- /dev/null +++ b/uni_modules/uni-rate/changelog.md @@ -0,0 +1,25 @@ +## 1.3.1(2022-02-25) +- 修复 条件判断 `NaN` 错误的 bug +## 1.3.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-rate](https://uniapp.dcloud.io/component/uniui/uni-rate) +## 1.2.2(2021-09-10) +- 优化 默认值修改为 0 颗星 +## 1.2.1(2021-07-30) +- 优化 vue3下事件警告的问题 +## 1.2.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.1.2(2021-05-12) +- 新增 组件示例地址 +## 1.1.1(2021-04-21) +- 修复 布局变化后 uni-rate 星星计算不准确的 bug +- 优化 添加依赖 uni-icons, 导入 uni-rate 自动下载依赖 +## 1.1.0(2021-04-16) +- 修复 uni-rate 属性 margin 值为 string 组件失效的 bug + +## 1.0.9(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 + +## 1.0.8(2021-02-05) +- 调整为uni_modules目录规范 +- 支持 pc 端 diff --git a/uni_modules/uni-rate/components/uni-rate/uni-rate.vue b/uni_modules/uni-rate/components/uni-rate/uni-rate.vue new file mode 100644 index 0000000..9802dfc --- /dev/null +++ b/uni_modules/uni-rate/components/uni-rate/uni-rate.vue @@ -0,0 +1,365 @@ + + + + + diff --git a/uni_modules/uni-rate/package.json b/uni_modules/uni-rate/package.json new file mode 100644 index 0000000..64e8e33 --- /dev/null +++ b/uni_modules/uni-rate/package.json @@ -0,0 +1,88 @@ +{ + "id": "uni-rate", + "displayName": "uni-rate 评分", + "version": "1.3.1", + "description": "Rate 评分组件,可自定义评分星星图标的大小、间隔、评分数。", + "keywords": [ + "uni-ui", + "uniui", + "评分" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/uni_modules/uni-rate/readme.md b/uni_modules/uni-rate/readme.md new file mode 100644 index 0000000..eae7b5c --- /dev/null +++ b/uni_modules/uni-rate/readme.md @@ -0,0 +1,12 @@ + + +## Rate 评分 +> **组件名:uni-rate** +> 代码块: `uRate` +> 关联组件:`uni-icons` + + +评分组件,多用于购买商品后,对商品进行评价等场景 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-rate) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/uni_modules/uni-row/changelog.md b/uni_modules/uni-row/changelog.md new file mode 100644 index 0000000..5b465bc --- /dev/null +++ b/uni_modules/uni-row/changelog.md @@ -0,0 +1,10 @@ +## 1.0.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-row](https://uniapp.dcloud.io/component/uniui/uni-row) +## 0.1.0(2021-07-13) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 0.0.4(2021-05-12) +- 新增 组件示例地址 +## 0.0.3(2021-02-05) +- 调整为uni_modules目录规范 +- 新增uni-row组件 diff --git a/uni_modules/uni-row/components/uni-col/uni-col.vue b/uni_modules/uni-row/components/uni-col/uni-col.vue new file mode 100644 index 0000000..d5f3728 --- /dev/null +++ b/uni_modules/uni-row/components/uni-col/uni-col.vue @@ -0,0 +1,317 @@ + + + + + diff --git a/uni_modules/uni-row/components/uni-row/uni-row.vue b/uni_modules/uni-row/components/uni-row/uni-row.vue new file mode 100644 index 0000000..c7d9370 --- /dev/null +++ b/uni_modules/uni-row/components/uni-row/uni-row.vue @@ -0,0 +1,190 @@ + + + + + diff --git a/uni_modules/uni-row/package.json b/uni_modules/uni-row/package.json new file mode 100644 index 0000000..3f52fa6 --- /dev/null +++ b/uni_modules/uni-row/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-row", + "displayName": "uni-row 布局-行", + "version": "1.0.0", + "description": "流式栅格系统,随着屏幕或视口分为 24 份,可以迅速简便地创建布局。", + "keywords": [ + "uni-ui", + "uniui", + "栅格", + "布局", + "layout" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "u" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-row/readme.md b/uni_modules/uni-row/readme.md new file mode 100644 index 0000000..3c9c8b9 --- /dev/null +++ b/uni_modules/uni-row/readme.md @@ -0,0 +1,10 @@ +## Layout 布局 + +> **组件名 uni-row、uni-col** +> 代码块: `uRow`、`uCol` + + +流式栅格系统,随着屏幕或视口分为 24 份,可以迅速简便地创建布局。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-row) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/uni_modules/uni-scss/changelog.md b/uni_modules/uni-scss/changelog.md new file mode 100644 index 0000000..b863bb0 --- /dev/null +++ b/uni_modules/uni-scss/changelog.md @@ -0,0 +1,8 @@ +## 1.0.3(2022-01-21) +- 优化 组件示例 +## 1.0.2(2021-11-22) +- 修复 / 符号在 vue 不同版本兼容问题引起的报错问题 +## 1.0.1(2021-11-22) +- 修复 vue3中scss语法兼容问题 +## 1.0.0(2021-11-18) +- init diff --git a/uni_modules/uni-scss/index.scss b/uni_modules/uni-scss/index.scss new file mode 100644 index 0000000..1744a5f --- /dev/null +++ b/uni_modules/uni-scss/index.scss @@ -0,0 +1 @@ +@import './styles/index.scss'; diff --git a/uni_modules/uni-scss/package.json b/uni_modules/uni-scss/package.json new file mode 100644 index 0000000..7cc0ccb --- /dev/null +++ b/uni_modules/uni-scss/package.json @@ -0,0 +1,82 @@ +{ + "id": "uni-scss", + "displayName": "uni-scss 辅助样式", + "version": "1.0.3", + "description": "uni-sass是uni-ui提供的一套全局样式 ,通过一些简单的类名和sass变量,实现简单的页面布局操作,比如颜色、边距、圆角等。", + "keywords": [ + "uni-scss", + "uni-ui", + "辅助样式" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "^3.1.0" + }, + "dcloudext": { + "category": [ + "JS SDK", + "通用 SDK" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "u" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "n", + "联盟": "n" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/uni_modules/uni-scss/readme.md b/uni_modules/uni-scss/readme.md new file mode 100644 index 0000000..b7d1c25 --- /dev/null +++ b/uni_modules/uni-scss/readme.md @@ -0,0 +1,4 @@ +`uni-sass` 是 `uni-ui`提供的一套全局样式 ,通过一些简单的类名和`sass`变量,实现简单的页面布局操作,比如颜色、边距、圆角等。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-sass) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/uni_modules/uni-scss/styles/index.scss b/uni_modules/uni-scss/styles/index.scss new file mode 100644 index 0000000..ffac4fe --- /dev/null +++ b/uni_modules/uni-scss/styles/index.scss @@ -0,0 +1,7 @@ +@import './setting/_variables.scss'; +@import './setting/_border.scss'; +@import './setting/_color.scss'; +@import './setting/_space.scss'; +@import './setting/_radius.scss'; +@import './setting/_text.scss'; +@import './setting/_styles.scss'; diff --git a/uni_modules/uni-scss/styles/setting/_border.scss b/uni_modules/uni-scss/styles/setting/_border.scss new file mode 100644 index 0000000..12a11c3 --- /dev/null +++ b/uni_modules/uni-scss/styles/setting/_border.scss @@ -0,0 +1,3 @@ +.uni-border { + border: 1px $uni-border-1 solid; +} \ No newline at end of file diff --git a/uni_modules/uni-scss/styles/setting/_color.scss b/uni_modules/uni-scss/styles/setting/_color.scss new file mode 100644 index 0000000..1ededd9 --- /dev/null +++ b/uni_modules/uni-scss/styles/setting/_color.scss @@ -0,0 +1,66 @@ + +// TODO 暂时不需要 class ,需要用户使用变量实现 ,如果使用类名其实并不推荐 +// @mixin get-styles($k,$c) { +// @if $k == size or $k == weight{ +// font-#{$k}:#{$c} +// }@else{ +// #{$k}:#{$c} +// } +// } +$uni-ui-color:( + // 主色 + primary: $uni-primary, + primary-disable: $uni-primary-disable, + primary-light: $uni-primary-light, + // 辅助色 + success: $uni-success, + success-disable: $uni-success-disable, + success-light: $uni-success-light, + warning: $uni-warning, + warning-disable: $uni-warning-disable, + warning-light: $uni-warning-light, + error: $uni-error, + error-disable: $uni-error-disable, + error-light: $uni-error-light, + info: $uni-info, + info-disable: $uni-info-disable, + info-light: $uni-info-light, + // 中性色 + main-color: $uni-main-color, + base-color: $uni-base-color, + secondary-color: $uni-secondary-color, + extra-color: $uni-extra-color, + // 背景色 + bg-color: $uni-bg-color, + // 边框颜色 + border-1: $uni-border-1, + border-2: $uni-border-2, + border-3: $uni-border-3, + border-4: $uni-border-4, + // 黑色 + black:$uni-black, + // 白色 + white:$uni-white, + // 透明 + transparent:$uni-transparent +) !default; +@each $key, $child in $uni-ui-color { + .uni-#{"" + $key} { + color: $child; + } + .uni-#{"" + $key}-bg { + background-color: $child; + } +} +.uni-shadow-sm { + box-shadow: $uni-shadow-sm; +} +.uni-shadow-base { + box-shadow: $uni-shadow-base; +} +.uni-shadow-lg { + box-shadow: $uni-shadow-lg; +} +.uni-mask { + background-color:$uni-mask; +} diff --git a/uni_modules/uni-scss/styles/setting/_radius.scss b/uni_modules/uni-scss/styles/setting/_radius.scss new file mode 100644 index 0000000..9a0428b --- /dev/null +++ b/uni_modules/uni-scss/styles/setting/_radius.scss @@ -0,0 +1,55 @@ +@mixin radius($r,$d:null ,$important: false){ + $radius-value:map-get($uni-radius, $r) if($important, !important, null); + // Key exists within the $uni-radius variable + @if (map-has-key($uni-radius, $r) and $d){ + @if $d == t { + border-top-left-radius:$radius-value; + border-top-right-radius:$radius-value; + }@else if $d == r { + border-top-right-radius:$radius-value; + border-bottom-right-radius:$radius-value; + }@else if $d == b { + border-bottom-left-radius:$radius-value; + border-bottom-right-radius:$radius-value; + }@else if $d == l { + border-top-left-radius:$radius-value; + border-bottom-left-radius:$radius-value; + }@else if $d == tl { + border-top-left-radius:$radius-value; + }@else if $d == tr { + border-top-right-radius:$radius-value; + }@else if $d == br { + border-bottom-right-radius:$radius-value; + }@else if $d == bl { + border-bottom-left-radius:$radius-value; + } + }@else{ + border-radius:$radius-value; + } +} + +@each $key, $child in $uni-radius { + @if($key){ + .uni-radius-#{"" + $key} { + @include radius($key) + } + }@else{ + .uni-radius { + @include radius($key) + } + } +} + +@each $direction in t, r, b, l,tl, tr, br, bl { + @each $key, $child in $uni-radius { + @if($key){ + .uni-radius-#{"" + $direction}-#{"" + $key} { + @include radius($key,$direction,false) + } + }@else{ + .uni-radius-#{$direction} { + @include radius($key,$direction,false) + } + } + } +} diff --git a/uni_modules/uni-scss/styles/setting/_space.scss b/uni_modules/uni-scss/styles/setting/_space.scss new file mode 100644 index 0000000..3c89528 --- /dev/null +++ b/uni_modules/uni-scss/styles/setting/_space.scss @@ -0,0 +1,56 @@ + +@mixin fn($space,$direction,$size,$n) { + @if $n { + #{$space}-#{$direction}: #{$size*$uni-space-root}px + } @else { + #{$space}-#{$direction}: #{-$size*$uni-space-root}px + } +} +@mixin get-styles($direction,$i,$space,$n){ + @if $direction == t { + @include fn($space, top,$i,$n); + } + @if $direction == r { + @include fn($space, right,$i,$n); + } + @if $direction == b { + @include fn($space, bottom,$i,$n); + } + @if $direction == l { + @include fn($space, left,$i,$n); + } + @if $direction == x { + @include fn($space, left,$i,$n); + @include fn($space, right,$i,$n); + } + @if $direction == y { + @include fn($space, top,$i,$n); + @include fn($space, bottom,$i,$n); + } + @if $direction == a { + @if $n { + #{$space}:#{$i*$uni-space-root}px; + } @else { + #{$space}:#{-$i*$uni-space-root}px; + } + } +} + +@each $orientation in m,p { + $space: margin; + @if $orientation == m { + $space: margin; + } @else { + $space: padding; + } + @for $i from 0 through 16 { + @each $direction in t, r, b, l, x, y, a { + .uni-#{$orientation}#{$direction}-#{$i} { + @include get-styles($direction,$i,$space,true); + } + .uni-#{$orientation}#{$direction}-n#{$i} { + @include get-styles($direction,$i,$space,false); + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-scss/styles/setting/_styles.scss b/uni_modules/uni-scss/styles/setting/_styles.scss new file mode 100644 index 0000000..689afec --- /dev/null +++ b/uni_modules/uni-scss/styles/setting/_styles.scss @@ -0,0 +1,167 @@ +/* #ifndef APP-NVUE */ + +$-color-white:#fff; +$-color-black:#000; +@mixin base-style($color) { + color: #fff; + background-color: $color; + border-color: mix($-color-black, $color, 8%); + &:not([hover-class]):active { + background: mix($-color-black, $color, 10%); + border-color: mix($-color-black, $color, 20%); + color: $-color-white; + outline: none; + } +} +@mixin is-color($color) { + @include base-style($color); + &[loading] { + @include base-style($color); + &::before { + margin-right:5px; + } + } + &[disabled] { + &, + &[loading], + &:not([hover-class]):active { + color: $-color-white; + border-color: mix(darken($color,10%), $-color-white); + background-color: mix($color, $-color-white); + } + } + +} +@mixin base-plain-style($color) { + color:$color; + background-color: mix($-color-white, $color, 90%); + border-color: mix($-color-white, $color, 70%); + &:not([hover-class]):active { + background: mix($-color-white, $color, 80%); + color: $color; + outline: none; + border-color: mix($-color-white, $color, 50%); + } +} +@mixin is-plain($color){ + &[plain] { + @include base-plain-style($color); + &[loading] { + @include base-plain-style($color); + &::before { + margin-right:5px; + } + } + &[disabled] { + &, + &:active { + color: mix($-color-white, $color, 40%); + background-color: mix($-color-white, $color, 90%); + border-color: mix($-color-white, $color, 80%); + } + } + } +} + + +.uni-btn { + margin: 5px; + color: #393939; + border:1px solid #ccc; + font-size: 16px; + font-weight: 200; + background-color: #F9F9F9; + // TODO 暂时处理边框隐藏一边的问题 + overflow: visible; + &::after{ + border: none; + } + + &:not([type]),&[type=default] { + color: #999; + &[loading] { + background: none; + &::before { + margin-right:5px; + } + } + + + + &[disabled]{ + color: mix($-color-white, #999, 60%); + &, + &[loading], + &:active { + color: mix($-color-white, #999, 60%); + background-color: mix($-color-white,$-color-black , 98%); + border-color: mix($-color-white, #999, 85%); + } + } + + &[plain] { + color: #999; + background: none; + border-color: $uni-border-1; + &:not([hover-class]):active { + background: none; + color: mix($-color-white, $-color-black, 80%); + border-color: mix($-color-white, $-color-black, 90%); + outline: none; + } + &[disabled]{ + &, + &[loading], + &:active { + background: none; + color: mix($-color-white, #999, 60%); + border-color: mix($-color-white, #999, 85%); + } + } + } + } + + &:not([hover-class]):active { + color: mix($-color-white, $-color-black, 50%); + } + + &[size=mini] { + font-size: 16px; + font-weight: 200; + border-radius: 8px; + } + + + + &.uni-btn-small { + font-size: 14px; + } + &.uni-btn-mini { + font-size: 12px; + } + + &.uni-btn-radius { + border-radius: 999px; + } + &[type=primary] { + @include is-color($uni-primary); + @include is-plain($uni-primary) + } + &[type=success] { + @include is-color($uni-success); + @include is-plain($uni-success) + } + &[type=error] { + @include is-color($uni-error); + @include is-plain($uni-error) + } + &[type=warning] { + @include is-color($uni-warning); + @include is-plain($uni-warning) + } + &[type=info] { + @include is-color($uni-info); + @include is-plain($uni-info) + } +} +/* #endif */ diff --git a/uni_modules/uni-scss/styles/setting/_text.scss b/uni_modules/uni-scss/styles/setting/_text.scss new file mode 100644 index 0000000..a34d08f --- /dev/null +++ b/uni_modules/uni-scss/styles/setting/_text.scss @@ -0,0 +1,24 @@ +@mixin get-styles($k,$c) { + @if $k == size or $k == weight{ + font-#{$k}:#{$c} + }@else{ + #{$k}:#{$c} + } +} + +@each $key, $child in $uni-headings { + /* #ifndef APP-NVUE */ + .uni-#{$key} { + @each $k, $c in $child { + @include get-styles($k,$c) + } + } + /* #endif */ + /* #ifdef APP-NVUE */ + .container .uni-#{$key} { + @each $k, $c in $child { + @include get-styles($k,$c) + } + } + /* #endif */ +} diff --git a/uni_modules/uni-scss/styles/setting/_variables.scss b/uni_modules/uni-scss/styles/setting/_variables.scss new file mode 100644 index 0000000..557d3d7 --- /dev/null +++ b/uni_modules/uni-scss/styles/setting/_variables.scss @@ -0,0 +1,146 @@ +// @use "sass:math"; +@import '../tools/functions.scss'; +// 间距基础倍数 +$uni-space-root: 2 !default; +// 边框半径默认值 +$uni-radius-root:5px !default; +$uni-radius: () !default; +// 边框半径断点 +$uni-radius: map-deep-merge( + ( + 0: 0, + // TODO 当前版本暂时不支持 sm 属性 + // 'sm': math.div($uni-radius-root, 2), + null: $uni-radius-root, + 'lg': $uni-radius-root * 2, + 'xl': $uni-radius-root * 6, + 'pill': 9999px, + 'circle': 50% + ), + $uni-radius +); +// 字体家族 +$body-font-family: 'Roboto', sans-serif !default; +// 文本 +$heading-font-family: $body-font-family !default; +$uni-headings: () !default; +$letterSpacing: -0.01562em; +$uni-headings: map-deep-merge( + ( + 'h1': ( + size: 32px, + weight: 300, + line-height: 50px, + // letter-spacing:-0.01562em + ), + 'h2': ( + size: 28px, + weight: 300, + line-height: 40px, + // letter-spacing: -0.00833em + ), + 'h3': ( + size: 24px, + weight: 400, + line-height: 32px, + // letter-spacing: normal + ), + 'h4': ( + size: 20px, + weight: 400, + line-height: 30px, + // letter-spacing: 0.00735em + ), + 'h5': ( + size: 16px, + weight: 400, + line-height: 24px, + // letter-spacing: normal + ), + 'h6': ( + size: 14px, + weight: 500, + line-height: 18px, + // letter-spacing: 0.0125em + ), + 'subtitle': ( + size: 12px, + weight: 400, + line-height: 20px, + // letter-spacing: 0.00937em + ), + 'body': ( + font-size: 14px, + font-weight: 400, + line-height: 22px, + // letter-spacing: 0.03125em + ), + 'caption': ( + 'size': 12px, + 'weight': 400, + 'line-height': 20px, + // 'letter-spacing': 0.03333em, + // 'text-transform': false + ) + ), + $uni-headings +); + + + +// 主色 +$uni-primary: #2979ff !default; +$uni-primary-disable:lighten($uni-primary,20%) !default; +$uni-primary-light: lighten($uni-primary,25%) !default; + +// 辅助色 +// 除了主色外的场景色,需要在不同的场景中使用(例如危险色表示危险的操作)。 +$uni-success: #18bc37 !default; +$uni-success-disable:lighten($uni-success,20%) !default; +$uni-success-light: lighten($uni-success,25%) !default; + +$uni-warning: #f3a73f !default; +$uni-warning-disable:lighten($uni-warning,20%) !default; +$uni-warning-light: lighten($uni-warning,25%) !default; + +$uni-error: #e43d33 !default; +$uni-error-disable:lighten($uni-error,20%) !default; +$uni-error-light: lighten($uni-error,25%) !default; + +$uni-info: #8f939c !default; +$uni-info-disable:lighten($uni-info,20%) !default; +$uni-info-light: lighten($uni-info,25%) !default; + +// 中性色 +// 中性色用于文本、背景和边框颜色。通过运用不同的中性色,来表现层次结构。 +$uni-main-color: #3a3a3a !default; // 主要文字 +$uni-base-color: #6a6a6a !default; // 常规文字 +$uni-secondary-color: #909399 !default; // 次要文字 +$uni-extra-color: #c7c7c7 !default; // 辅助说明 + +// 边框颜色 +$uni-border-1: #F0F0F0 !default; +$uni-border-2: #EDEDED !default; +$uni-border-3: #DCDCDC !default; +$uni-border-4: #B9B9B9 !default; + +// 常规色 +$uni-black: #000000 !default; +$uni-white: #ffffff !default; +$uni-transparent: rgba($color: #000000, $alpha: 0) !default; + +// 背景色 +$uni-bg-color: #f7f7f7 !default; + +/* 水平间距 */ +$uni-spacing-sm: 8px !default; +$uni-spacing-base: 15px !default; +$uni-spacing-lg: 30px !default; + +// 阴影 +$uni-shadow-sm:0 0 5px rgba($color: #d8d8d8, $alpha: 0.5) !default; +$uni-shadow-base:0 1px 8px 1px rgba($color: #a5a5a5, $alpha: 0.2) !default; +$uni-shadow-lg:0px 1px 10px 2px rgba($color: #a5a4a4, $alpha: 0.5) !default; + +// 蒙版 +$uni-mask: rgba($color: #000000, $alpha: 0.4) !default; diff --git a/uni_modules/uni-scss/styles/tools/functions.scss b/uni_modules/uni-scss/styles/tools/functions.scss new file mode 100644 index 0000000..ac6f63e --- /dev/null +++ b/uni_modules/uni-scss/styles/tools/functions.scss @@ -0,0 +1,19 @@ +// 合并 map +@function map-deep-merge($parent-map, $child-map){ + $result: $parent-map; + @each $key, $child in $child-map { + $parent-has-key: map-has-key($result, $key); + $parent-value: map-get($result, $key); + $parent-type: type-of($parent-value); + $child-type: type-of($child); + $parent-is-map: $parent-type == map; + $child-is-map: $child-type == map; + + @if (not $parent-has-key) or ($parent-type != $child-type) or (not ($parent-is-map and $child-is-map)){ + $result: map-merge($result, ( $key: $child )); + }@else { + $result: map-merge($result, ( $key: map-deep-merge($parent-value, $child) )); + } + } + @return $result; +}; diff --git a/uni_modules/uni-scss/theme.scss b/uni_modules/uni-scss/theme.scss new file mode 100644 index 0000000..80ee62f --- /dev/null +++ b/uni_modules/uni-scss/theme.scss @@ -0,0 +1,31 @@ +// 间距基础倍数 +$uni-space-root: 2; +// 边框半径默认值 +$uni-radius-root:5px; +// 主色 +$uni-primary: #2979ff; +// 辅助色 +$uni-success: #4cd964; +// 警告色 +$uni-warning: #f0ad4e; +// 错误色 +$uni-error: #dd524d; +// 描述色 +$uni-info: #909399; +// 中性色 +$uni-main-color: #303133; +$uni-base-color: #606266; +$uni-secondary-color: #909399; +$uni-extra-color: #C0C4CC; +// 背景色 +$uni-bg-color: #f5f5f5; +// 边框颜色 +$uni-border-1: #DCDFE6; +$uni-border-2: #E4E7ED; +$uni-border-3: #EBEEF5; +$uni-border-4: #F2F6FC; + +// 常规色 +$uni-black: #000000; +$uni-white: #ffffff; +$uni-transparent: rgba($color: #000000, $alpha: 0); diff --git a/uni_modules/uni-scss/variables.scss b/uni_modules/uni-scss/variables.scss new file mode 100644 index 0000000..1c062d4 --- /dev/null +++ b/uni_modules/uni-scss/variables.scss @@ -0,0 +1,62 @@ +@import './styles/setting/_variables.scss'; +// 间距基础倍数 +$uni-space-root: 2; +// 边框半径默认值 +$uni-radius-root:5px; + +// 主色 +$uni-primary: #2979ff; +$uni-primary-disable:mix(#fff,$uni-primary,50%); +$uni-primary-light: mix(#fff,$uni-primary,80%); + +// 辅助色 +// 除了主色外的场景色,需要在不同的场景中使用(例如危险色表示危险的操作)。 +$uni-success: #18bc37; +$uni-success-disable:mix(#fff,$uni-success,50%); +$uni-success-light: mix(#fff,$uni-success,80%); + +$uni-warning: #f3a73f; +$uni-warning-disable:mix(#fff,$uni-warning,50%); +$uni-warning-light: mix(#fff,$uni-warning,80%); + +$uni-error: #e43d33; +$uni-error-disable:mix(#fff,$uni-error,50%); +$uni-error-light: mix(#fff,$uni-error,80%); + +$uni-info: #8f939c; +$uni-info-disable:mix(#fff,$uni-info,50%); +$uni-info-light: mix(#fff,$uni-info,80%); + +// 中性色 +// 中性色用于文本、背景和边框颜色。通过运用不同的中性色,来表现层次结构。 +$uni-main-color: #3a3a3a; // 主要文字 +$uni-base-color: #6a6a6a; // 常规文字 +$uni-secondary-color: #909399; // 次要文字 +$uni-extra-color: #c7c7c7; // 辅助说明 + +// 边框颜色 +$uni-border-1: #F0F0F0; +$uni-border-2: #EDEDED; +$uni-border-3: #DCDCDC; +$uni-border-4: #B9B9B9; + +// 常规色 +$uni-black: #000000; +$uni-white: #ffffff; +$uni-transparent: rgba($color: #000000, $alpha: 0); + +// 背景色 +$uni-bg-color: #f7f7f7; + +/* 水平间距 */ +$uni-spacing-sm: 8px; +$uni-spacing-base: 15px; +$uni-spacing-lg: 30px; + +// 阴影 +$uni-shadow-sm:0 0 5px rgba($color: #d8d8d8, $alpha: 0.5); +$uni-shadow-base:0 1px 8px 1px rgba($color: #a5a5a5, $alpha: 0.2); +$uni-shadow-lg:0px 1px 10px 2px rgba($color: #a5a4a4, $alpha: 0.5); + +// 蒙版 +$uni-mask: rgba($color: #000000, $alpha: 0.4); diff --git a/uni_modules/uni-search-bar/changelog.md b/uni_modules/uni-search-bar/changelog.md new file mode 100644 index 0000000..b41fdd3 --- /dev/null +++ b/uni_modules/uni-search-bar/changelog.md @@ -0,0 +1,33 @@ +## 1.2.3(2022-05-24) +- 新增 readonly 属性,组件只读 +## 1.2.2(2022-05-06) +- 修复 vue3 input 事件不生效的bug +## 1.2.1(2022-05-06) +- 修复 多余代码导致的bug +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-search-bar](https://uniapp.dcloud.io/component/uniui/uni-search-bar) +## 1.1.2(2021-08-30) +- 修复 value 属性与 modelValue 属性不兼容的Bug +## 1.1.1(2021-08-24) +- 新增 支持国际化 +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.9(2021-05-12) +- 新增 项目示例地址 +## 1.0.8(2021-04-21) +- 优化 添加依赖 uni-icons, 导入后自动下载依赖 +## 1.0.7(2021-04-15) +- uni-ui 新增 uni-search-bar 的 focus 事件 + +## 1.0.6(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 + +## 1.0.5(2021-02-05) +- 调整为uni_modules目录规范 +- 新增 支持双向绑定 +- 更改 input 事件的返回值,e={value:Number} --> e=value +- 新增 支持图标插槽 +- 新增 支持 clear、blur 事件 +- 新增 支持 focus 属性 +- 去掉组件背景色 diff --git a/uni_modules/uni-search-bar/components/uni-search-bar/i18n/en.json b/uni_modules/uni-search-bar/components/uni-search-bar/i18n/en.json new file mode 100644 index 0000000..dd083a5 --- /dev/null +++ b/uni_modules/uni-search-bar/components/uni-search-bar/i18n/en.json @@ -0,0 +1,4 @@ +{ + "uni-search-bar.cancel": "cancel", + "uni-search-bar.placeholder": "Search enter content" +} \ No newline at end of file diff --git a/uni_modules/uni-search-bar/components/uni-search-bar/i18n/index.js b/uni_modules/uni-search-bar/components/uni-search-bar/i18n/index.js new file mode 100644 index 0000000..de7509c --- /dev/null +++ b/uni_modules/uni-search-bar/components/uni-search-bar/i18n/index.js @@ -0,0 +1,8 @@ +import en from './en.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hans.json b/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hans.json new file mode 100644 index 0000000..d4e5c12 --- /dev/null +++ b/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hans.json @@ -0,0 +1,4 @@ +{ + "uni-search-bar.cancel": "cancel", + "uni-search-bar.placeholder": "请输入搜索内容" +} diff --git a/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hant.json b/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hant.json new file mode 100644 index 0000000..318b6ef --- /dev/null +++ b/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hant.json @@ -0,0 +1,4 @@ +{ + "uni-search-bar.cancel": "cancel", + "uni-search-bar.placeholder": "請輸入搜索內容" +} diff --git a/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar.vue b/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar.vue new file mode 100644 index 0000000..5a518a8 --- /dev/null +++ b/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar.vue @@ -0,0 +1,298 @@ + + + + + diff --git a/uni_modules/uni-search-bar/package.json b/uni_modules/uni-search-bar/package.json new file mode 100644 index 0000000..9352c57 --- /dev/null +++ b/uni_modules/uni-search-bar/package.json @@ -0,0 +1,89 @@ +{ + "id": "uni-search-bar", + "displayName": "uni-search-bar 搜索栏", + "version": "1.2.3", + "description": "搜索栏组件,通常用于搜索商品、文章等", + "keywords": [ + "uni-ui", + "uniui", + "搜索框", + "搜索栏" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-search-bar/readme.md b/uni_modules/uni-search-bar/readme.md new file mode 100644 index 0000000..253092f --- /dev/null +++ b/uni_modules/uni-search-bar/readme.md @@ -0,0 +1,14 @@ + + +## SearchBar 搜索栏 + +> **组件名:uni-search-bar** +> 代码块: `uSearchBar` + + +搜索栏组件 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-search-bar) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/uni_modules/uni-section/changelog.md b/uni_modules/uni-section/changelog.md new file mode 100644 index 0000000..738f2b3 --- /dev/null +++ b/uni_modules/uni-section/changelog.md @@ -0,0 +1,2 @@ +## 0.0.1(2022-07-22) +- 初始化 diff --git a/uni_modules/uni-section/components/uni-section/uni-section.vue b/uni_modules/uni-section/components/uni-section/uni-section.vue new file mode 100644 index 0000000..9a52e0b --- /dev/null +++ b/uni_modules/uni-section/components/uni-section/uni-section.vue @@ -0,0 +1,167 @@ + + + + diff --git a/uni_modules/uni-section/package.json b/uni_modules/uni-section/package.json new file mode 100644 index 0000000..0a31fb5 --- /dev/null +++ b/uni_modules/uni-section/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-section", + "displayName": "uni-section 标题栏", + "version": "0.0.1", + "description": "标题栏组件", + "keywords": [ + "uni-ui", + "uniui", + "标题栏" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [ + "uni-scss" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-section/readme.md b/uni_modules/uni-section/readme.md new file mode 100644 index 0000000..d47faab --- /dev/null +++ b/uni_modules/uni-section/readme.md @@ -0,0 +1,8 @@ +## Section 标题栏 +> **组件名:uni-section** +> 代码块: `uSection` + +uni-section 组件主要用于文章、列表详情等标题展示 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-section) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 diff --git a/uni_modules/uni-segmented-control/changelog.md b/uni_modules/uni-segmented-control/changelog.md new file mode 100644 index 0000000..a44385d --- /dev/null +++ b/uni_modules/uni-segmented-control/changelog.md @@ -0,0 +1,9 @@ +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-segmented-control](https://uniapp.dcloud.io/component/uniui/uni-segmented-control) +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.5(2021-05-12) +- 新增 项目示例地址 +## 1.0.4(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.vue b/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.vue new file mode 100644 index 0000000..e8bb3e5 --- /dev/null +++ b/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.vue @@ -0,0 +1,145 @@ + + + + + diff --git a/uni_modules/uni-segmented-control/package.json b/uni_modules/uni-segmented-control/package.json new file mode 100644 index 0000000..6cae41d --- /dev/null +++ b/uni_modules/uni-segmented-control/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-segmented-control", + "displayName": "uni-segmented-control 分段器", + "version": "1.2.0", + "description": "分段器由至少 2 个分段控件组成,用作不同视图的显示", + "keywords": [ + "uni-ui", + "uniui", + "分段器", + "segement", + "顶部选择" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-segmented-control/readme.md b/uni_modules/uni-segmented-control/readme.md new file mode 100644 index 0000000..3527b03 --- /dev/null +++ b/uni_modules/uni-segmented-control/readme.md @@ -0,0 +1,13 @@ + + +## SegmentedControl 分段器 +> **组件名:uni-segmented-control** +> 代码块: `uSegmentedControl` + + +用作不同视图的显示 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-segmented-control) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/uni_modules/uni-steps/changelog.md b/uni_modules/uni-steps/changelog.md new file mode 100644 index 0000000..cb9d367 --- /dev/null +++ b/uni_modules/uni-steps/changelog.md @@ -0,0 +1,16 @@ +## 1.1.1(2021-11-22) +- 修复 vue3中某些scss变量无法找到的问题 +## 1.1.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-steps](https://uniapp.dcloud.io/component/uniui/uni-steps) +## 1.0.8(2021-05-12) +- 新增 项目示例地址 +## 1.0.7(2021-05-06) +- 修复 uni-steps 横向布局时,多行文字高度不合理的 bug +## 1.0.6(2021-04-21) +- 优化 添加依赖 uni-icons, 导入后自动下载依赖 +## 1.0.5(2021-02-05) +- 优化 组件引用关系,通过uni_modules引用组件 + +## 1.0.4(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/uni_modules/uni-steps/components/uni-steps/uni-steps.vue b/uni_modules/uni-steps/components/uni-steps/uni-steps.vue new file mode 100644 index 0000000..a6c8f28 --- /dev/null +++ b/uni_modules/uni-steps/components/uni-steps/uni-steps.vue @@ -0,0 +1,269 @@ + + + + + diff --git a/uni_modules/uni-steps/package.json b/uni_modules/uni-steps/package.json new file mode 100644 index 0000000..c687b40 --- /dev/null +++ b/uni_modules/uni-steps/package.json @@ -0,0 +1,89 @@ +{ + "id": "uni-steps", + "displayName": "uni-steps 步骤条", + "version": "1.1.1", + "description": "步骤条组件,提供横向和纵向两种布局格式。", + "keywords": [ + "uni-ui", + "uniui", + "步骤条", + "时间轴" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [ + "uni-scss", + "uni-icons" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-steps/readme.md b/uni_modules/uni-steps/readme.md new file mode 100644 index 0000000..da7a4bf --- /dev/null +++ b/uni_modules/uni-steps/readme.md @@ -0,0 +1,13 @@ + + +## Steps 步骤条 +> **组件名:uni-steps** +> 代码块: `uSteps` + + +步骤条,常用于显示进度 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-steps) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/uni_modules/uni-swipe-action/changelog.md b/uni_modules/uni-swipe-action/changelog.md new file mode 100644 index 0000000..c916427 --- /dev/null +++ b/uni_modules/uni-swipe-action/changelog.md @@ -0,0 +1,43 @@ +## 1.3.8(2023-04-13) +- 修复`uni-swipe-action`和`uni-swipe-action-item`不同时使用导致 closeOther 方法报错的 bug +## 1.3.7(2022-06-06) +- 修复 vue3 下使用组件不能正常运行的Bug +## 1.3.6(2022-05-31) +- 修复 h5端点击click触发两次的Bug +## 1.3.5(2022-05-23) +- 修复 isPC 找不到的Bug +## 1.3.4(2022-05-19) +- 修复 在 nvue 下 disabled 失效的bug +## 1.3.3(2022-03-31) +- 修复 按钮字体大小不能设置的bug +## 1.3.2(2022-03-16) +- 修复 h5和app端下报el错误的bug +## 1.3.1(2022-03-07) +- 修复 HBuilderX 1.4.X 版本中,h5和app端下报错的bug +## 1.3.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-swipe-action](https://uniapp.dcloud.io/component/uniui/uni-swipe-action) +## 1.2.4(2021-08-20) +- 优化 close-all 方法 +## 1.2.3(2021-08-20) +- 新增 close-all 方法,关闭所有已打开的组件 +## 1.2.2(2021-08-17) +- 新增 resize() 方法,在非微信小程序、h5、app-vue端出现不能滑动的问题的时候,重置组件 +- 修复 app 端偶尔出现类似 Page[x][-x,xx;-x,xx,x,x-x] 的问题 +- 优化 微信小程序、h5、app-vue 滑动逻辑,避免出现动态新增组件后不能滑动的问题 +## 1.2.1(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +- 修复 跨页面修改组件数据 ,导致不能滑动的问题 +## 1.1.10(2021-06-17) +- 修复 按钮点击执行两次的bug +## 1.1.9(2021-05-12) +- 新增 项目示例地址 +## 1.1.8(2021-03-26) +- 修复 微信小程序 nv_navigator is not defined 报错的bug +## 1.1.7(2021-02-05) +- 调整为uni_modules目录规范 +- 新增 左侧滑动 +- 新增 插槽使用方式 +- 新增 threshold 属性,可以控制滑动缺省值 +- 优化 长列表滚动性能 +- 修复 滚动页面时触发组件滑动的Bug diff --git a/uni_modules/uni-swipe-action/components/uni-swipe-action-item/bindingx.js b/uni_modules/uni-swipe-action/components/uni-swipe-action-item/bindingx.js new file mode 100644 index 0000000..707e432 --- /dev/null +++ b/uni_modules/uni-swipe-action/components/uni-swipe-action-item/bindingx.js @@ -0,0 +1,302 @@ +let bindIngXMixins = {} + +// #ifdef APP-NVUE +const BindingX = uni.requireNativePlugin('bindingx'); +const dom = uni.requireNativePlugin('dom'); +const animation = uni.requireNativePlugin('animation'); + +bindIngXMixins = { + data() { + return {} + }, + + watch: { + show(newVal) { + if (this.autoClose) return + if (this.stop) return + this.stop = true + if (newVal) { + this.open(newVal) + } else { + this.close() + } + }, + leftOptions() { + this.getSelectorQuery() + this.init() + }, + rightOptions(newVal) { + this.init() + } + }, + created() { + this.swipeaction = this.getSwipeAction() + if (this.swipeaction && Array.isArray(this.swipeaction.children)) { + this.swipeaction.children.push(this) + } + }, + mounted() { + this.box = this.getEl(this.$refs['selector-box--hock']) + this.selector = this.getEl(this.$refs['selector-content--hock']); + this.leftButton = this.getEl(this.$refs['selector-left-button--hock']); + this.rightButton = this.getEl(this.$refs['selector-right-button--hock']); + this.init() + }, + // beforeDestroy() { + // this.swipeaction.children.forEach((item, index) => { + // if (item === this) { + // this.swipeaction.children.splice(index, 1) + // } + // }) + // }, + methods: { + init() { + this.$nextTick(() => { + this.x = 0 + this.button = { + show: false + } + setTimeout(() => { + this.getSelectorQuery() + }, 200) + }) + }, + onClick(index, item, position) { + this.$emit('click', { + content: item, + index, + position + }) + }, + touchstart(e) { + // fix by mehaotian 禁止滑动 + if (this.disabled) return + // 每次只触发一次,避免多次监听造成闪烁 + if (this.stop) return + this.stop = true + if (this.autoClose && this.swipeaction) { + this.swipeaction.closeOther(this) + } + + const leftWidth = this.button.left.width + const rightWidth = this.button.right.width + let expression = this.range(this.x, -rightWidth, leftWidth) + let leftExpression = this.range(this.x - leftWidth, -leftWidth, 0) + let rightExpression = this.range(this.x + rightWidth, 0, rightWidth) + + this.eventpan = BindingX.bind({ + anchor: this.box, + eventType: 'pan', + props: [{ + element: this.selector, + property: 'transform.translateX', + expression + }, { + element: this.leftButton, + property: 'transform.translateX', + expression: leftExpression + }, { + element: this.rightButton, + property: 'transform.translateX', + expression: rightExpression + }, ] + }, (e) => { + // nope + if (e.state === 'end') { + this.x = e.deltaX + this.x; + this.isclick = true + this.bindTiming(e.deltaX) + } + }); + }, + touchend(e) { + if (this.isopen !== 'none' && !this.isclick) { + this.open('none') + } + }, + bindTiming(x) { + const left = this.x + const leftWidth = this.button.left.width + const rightWidth = this.button.right.width + const threshold = this.threshold + if (!this.isopen || this.isopen === 'none') { + if (left > threshold) { + this.open('left') + } else if (left < -threshold) { + this.open('right') + } else { + this.open('none') + } + } else { + if ((x > -leftWidth && x < 0) || x > rightWidth) { + if ((x > -threshold && x < 0) || (x - rightWidth > threshold)) { + this.open('left') + } else { + this.open('none') + } + } else { + if ((x < threshold && x > 0) || (x + leftWidth < -threshold)) { + this.open('right') + } else { + this.open('none') + } + } + } + }, + + /** + * 移动范围 + * @param {Object} num + * @param {Object} mix + * @param {Object} max + */ + range(num, mix, max) { + return `min(max(x+${num}, ${mix}), ${max})` + }, + + /** + * 开启swipe + */ + open(type) { + this.animation(type) + }, + + /** + * 关闭swipe + */ + close() { + this.animation('none') + }, + + /** + * 开启关闭动画 + * @param {Object} type + */ + animation(type) { + const time = 300 + const leftWidth = this.button.left.width + const rightWidth = this.button.right.width + if (this.eventpan && this.eventpan.token) { + BindingX.unbind({ + token: this.eventpan.token, + eventType: 'pan' + }) + } + + switch (type) { + case 'left': + Promise.all([ + this.move(this.selector, leftWidth), + this.move(this.leftButton, 0), + this.move(this.rightButton, rightWidth * 2) + ]).then(() => { + this.setEmit(leftWidth, type) + }) + break + case 'right': + Promise.all([ + this.move(this.selector, -rightWidth), + this.move(this.leftButton, -leftWidth * 2), + this.move(this.rightButton, 0) + ]).then(() => { + this.setEmit(-rightWidth, type) + }) + break + default: + Promise.all([ + this.move(this.selector, 0), + this.move(this.leftButton, -leftWidth), + this.move(this.rightButton, rightWidth) + ]).then(() => { + this.setEmit(0, type) + }) + + } + }, + setEmit(x, type) { + const leftWidth = this.button.left.width + const rightWidth = this.button.right.width + this.isopen = this.isopen || 'none' + this.stop = false + this.isclick = false + // 只有状态不一致才会返回结果 + if (this.isopen !== type && this.x !== x) { + if (type === 'left' && leftWidth > 0) { + this.$emit('change', 'left') + } + if (type === 'right' && rightWidth > 0) { + this.$emit('change', 'right') + } + if (type === 'none') { + this.$emit('change', 'none') + } + } + this.x = x + this.isopen = type + }, + move(ref, value) { + return new Promise((resolve, reject) => { + animation.transition(ref, { + styles: { + transform: `translateX(${value})`, + }, + duration: 150, //ms + timingFunction: 'linear', + needLayout: false, + delay: 0 //ms + }, function(res) { + resolve(res) + }) + }) + + }, + + /** + * 获取ref + * @param {Object} el + */ + getEl(el) { + return el.ref + }, + /** + * 获取节点信息 + */ + getSelectorQuery() { + Promise.all([ + this.getDom('left'), + this.getDom('right'), + ]).then((data) => { + let show = 'none' + if (this.autoClose) { + show = 'none' + } else { + show = this.show + } + + if (show === 'none') { + // this.close() + } else { + this.open(show) + } + + }) + + }, + getDom(str) { + return new Promise((resolve, reject) => { + dom.getComponentRect(this.$refs[`selector-${str}-button--hock`], (data) => { + if (data) { + this.button[str] = data.size + resolve(data) + } else { + reject() + } + }) + }) + } + } +} + +// #endif + +export default bindIngXMixins diff --git a/uni_modules/uni-swipe-action/components/uni-swipe-action-item/isPC.js b/uni_modules/uni-swipe-action/components/uni-swipe-action-item/isPC.js new file mode 100644 index 0000000..917cb48 --- /dev/null +++ b/uni_modules/uni-swipe-action/components/uni-swipe-action-item/isPC.js @@ -0,0 +1,12 @@ +export function isPC() { + var userAgentInfo = navigator.userAgent; + var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"]; + var flag = true; + for (let v = 0; v < Agents.length - 1; v++) { + if (userAgentInfo.indexOf(Agents[v]) > 0) { + flag = false; + break; + } + } + return flag; +} diff --git a/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpalipay.js b/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpalipay.js new file mode 100644 index 0000000..35c796b --- /dev/null +++ b/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpalipay.js @@ -0,0 +1,195 @@ +export default { + data() { + return { + x: 0, + transition: false, + width: 0, + viewWidth: 0, + swipeShow: 0 + } + }, + watch: { + show(newVal) { + if (this.autoClose) return + if (newVal && newVal !== 'none') { + this.transition = true + this.open(newVal) + } else { + this.close() + } + } + }, + created() { + this.swipeaction = this.getSwipeAction() + if (this.swipeaction && Array.isArray(this.swipeaction.children)) { + this.swipeaction.children.push(this) + } + }, + mounted() { + this.isopen = false + setTimeout(() => { + this.getQuerySelect() + }, 50) + }, + methods: { + appTouchStart(e) { + const { + clientX + } = e.changedTouches[0] + this.clientX = clientX + this.timestamp = new Date().getTime() + }, + appTouchEnd(e, index, item, position) { + const { + clientX + } = e.changedTouches[0] + // fixed by xxxx 模拟点击事件,解决 ios 13 点击区域错位的问题 + let diff = Math.abs(this.clientX - clientX) + let time = (new Date().getTime()) - this.timestamp + if (diff < 40 && time < 300) { + this.$emit('click', { + content: item, + index, + position + }) + } + }, + /** + * 移动触发 + * @param {Object} e + */ + onChange(e) { + this.moveX = e.detail.x + this.isclose = false + }, + touchstart(e) { + this.transition = false + this.isclose = true + if (this.autoClose && this.swipeaction) { + this.swipeaction.closeOther(this) + } + }, + touchmove(e) {}, + touchend(e) { + // 0的位置什么都不执行 + if (this.isclose && this.isopen === 'none') return + if (this.isclose && this.isopen !== 'none') { + this.transition = true + this.close() + } else { + this.move(this.moveX + this.leftWidth) + } + }, + + /** + * 移动 + * @param {Object} moveX + */ + move(moveX) { + // 打开关闭的处理逻辑不太一样 + this.transition = true + // 未打开状态 + if (!this.isopen || this.isopen === 'none') { + if (moveX > this.threshold) { + this.open('left') + } else if (moveX < -this.threshold) { + this.open('right') + } else { + this.close() + } + } else { + if (moveX < 0 && moveX < this.rightWidth) { + const rightX = this.rightWidth + moveX + if (rightX < this.threshold) { + this.open('right') + } else { + this.close() + } + } else if (moveX > 0 && moveX < this.leftWidth) { + const leftX = this.leftWidth - moveX + if (leftX < this.threshold) { + this.open('left') + } else { + this.close() + } + } + + } + + }, + + /** + * 打开 + */ + open(type) { + this.x = this.moveX + this.animation(type) + }, + + /** + * 关闭 + */ + close() { + this.x = this.moveX + // TODO 解决 x 值不更新的问题,所以会多触发一次 nextTick ,待优化 + this.$nextTick(() => { + this.x = -this.leftWidth + if (this.isopen !== 'none') { + this.$emit('change', 'none') + } + this.isopen = 'none' + }) + }, + + /** + * 执行结束动画 + * @param {Object} type + */ + animation(type) { + this.$nextTick(() => { + if (type === 'left') { + this.x = 0 + } else { + this.x = -this.rightWidth - this.leftWidth + } + + if (this.isopen !== type) { + this.$emit('change', type) + } + this.isopen = type + }) + + }, + getSlide(x) {}, + getQuerySelect() { + const query = uni.createSelectorQuery().in(this); + query.selectAll('.movable-view--hock').boundingClientRect(data => { + this.leftWidth = data[1].width + this.rightWidth = data[2].width + this.width = data[0].width + this.viewWidth = this.width + this.rightWidth + this.leftWidth + if (this.leftWidth === 0) { + // TODO 疑似bug ,初始化的时候如果x 是0,会导致移动位置错误,所以让元素超出一点 + this.x = -0.1 + } else { + this.x = -this.leftWidth + } + this.moveX = this.x + this.$nextTick(() => { + this.swipeShow = 1 + }) + + if (!this.buttonWidth) { + this.disabledView = true + } + + if (this.autoClose) return + if (this.show !== 'none') { + this.transition = true + this.open(this.shows) + } + }).exec(); + + } + } +} diff --git a/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpother.js b/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpother.js new file mode 100644 index 0000000..d389bce --- /dev/null +++ b/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpother.js @@ -0,0 +1,260 @@ +let otherMixins = {} + +// #ifndef APP-PLUS|| MP-WEIXIN || H5 +const MIN_DISTANCE = 10; +otherMixins = { + data() { + // TODO 随机生生元素ID,解决百度小程序获取同一个元素位置信息的bug + const elClass = `Uni_${Math.ceil(Math.random() * 10e5).toString(36)}` + return { + uniShow: false, + left: 0, + buttonShow: 'none', + ani: false, + moveLeft: '', + elClass + } + }, + watch: { + show(newVal) { + if (this.autoClose) return + this.openState(newVal) + }, + left() { + this.moveLeft = `translateX(${this.left}px)` + }, + buttonShow(newVal) { + if (this.autoClose) return + this.openState(newVal) + }, + leftOptions() { + this.init() + }, + rightOptions() { + this.init() + } + }, + mounted() { + this.swipeaction = this.getSwipeAction() + if (this.swipeaction && Array.isArray(this.swipeaction.children)) { + this.swipeaction.children.push(this) + } + this.init() + }, + methods: { + init() { + clearTimeout(this.timer) + this.timer = setTimeout(() => { + this.getSelectorQuery() + }, 100) + // 移动距离 + this.left = 0 + this.x = 0 + }, + + closeSwipe(e) { + if (this.autoClose && this.swipeaction) { + this.swipeaction.closeOther(this) + } + }, + appTouchStart(e) { + const { + clientX + } = e.changedTouches[0] + this.clientX = clientX + this.timestamp = new Date().getTime() + }, + appTouchEnd(e, index, item, position) { + const { + clientX + } = e.changedTouches[0] + // fixed by xxxx 模拟点击事件,解决 ios 13 点击区域错位的问题 + let diff = Math.abs(this.clientX - clientX) + let time = (new Date().getTime()) - this.timestamp + if (diff < 40 && time < 300) { + this.$emit('click', { + content: item, + index, + position + }) + } + }, + touchstart(e) { + if (this.disabled) return + this.ani = false + this.x = this.left || 0 + this.stopTouchStart(e) + this.autoClose && this.closeSwipe() + }, + touchmove(e) { + if (this.disabled) return + // 是否可以滑动页面 + this.stopTouchMove(e); + if (this.direction !== 'horizontal') { + return; + } + this.move(this.x + this.deltaX) + return false + }, + touchend() { + if (this.disabled) return + this.moveDirection(this.left) + }, + /** + * 设置移动距离 + * @param {Object} value + */ + move(value) { + value = value || 0 + const leftWidth = this.leftWidth + const rightWidth = this.rightWidth + // 获取可滑动范围 + this.left = this.range(value, -rightWidth, leftWidth); + }, + + /** + * 获取范围 + * @param {Object} num + * @param {Object} min + * @param {Object} max + */ + range(num, min, max) { + return Math.min(Math.max(num, min), max); + }, + /** + * 移动方向判断 + * @param {Object} left + * @param {Object} value + */ + moveDirection(left) { + const threshold = this.threshold + const isopen = this.isopen || 'none' + const leftWidth = this.leftWidth + const rightWidth = this.rightWidth + if (this.deltaX === 0) { + this.openState('none') + return + } + if ((isopen === 'none' && rightWidth > 0 && -left > threshold) || (isopen !== 'none' && rightWidth > + 0 && rightWidth + + left < threshold)) { + // right + this.openState('right') + } else if ((isopen === 'none' && leftWidth > 0 && left > threshold) || (isopen !== 'none' && leftWidth > + 0 && + leftWidth - left < threshold)) { + // left + this.openState('left') + } else { + // default + this.openState('none') + } + }, + + /** + * 开启状态 + * @param {Boolean} type + */ + openState(type) { + const leftWidth = this.leftWidth + const rightWidth = this.rightWidth + let left = '' + this.isopen = this.isopen ? this.isopen : 'none' + switch (type) { + case "left": + left = leftWidth + break + case "right": + left = -rightWidth + break + default: + left = 0 + } + + + if (this.isopen !== type) { + this.throttle = true + this.$emit('change', type) + } + + this.isopen = type + // 添加动画类 + this.ani = true + this.$nextTick(() => { + this.move(left) + }) + // 设置最终移动位置,理论上只要进入到这个函数,肯定是要打开的 + }, + close() { + this.openState('none') + }, + getDirection(x, y) { + if (x > y && x > MIN_DISTANCE) { + return 'horizontal'; + } + if (y > x && y > MIN_DISTANCE) { + return 'vertical'; + } + return ''; + }, + + /** + * 重置滑动状态 + * @param {Object} event + */ + resetTouchStatus() { + this.direction = ''; + this.deltaX = 0; + this.deltaY = 0; + this.offsetX = 0; + this.offsetY = 0; + }, + + /** + * 设置滑动开始位置 + * @param {Object} event + */ + stopTouchStart(event) { + this.resetTouchStatus(); + const touch = event.touches[0]; + this.startX = touch.clientX; + this.startY = touch.clientY; + }, + + /** + * 滑动中,是否禁止打开 + * @param {Object} event + */ + stopTouchMove(event) { + const touch = event.touches[0]; + this.deltaX = touch.clientX - this.startX; + this.deltaY = touch.clientY - this.startY; + this.offsetX = Math.abs(this.deltaX); + this.offsetY = Math.abs(this.deltaY); + this.direction = this.direction || this.getDirection(this.offsetX, this.offsetY); + }, + + getSelectorQuery() { + const views = uni.createSelectorQuery().in(this) + views + .selectAll('.' + this.elClass) + .boundingClientRect(data => { + if (data.length === 0) return + let show = 'none' + if (this.autoClose) { + show = 'none' + } else { + show = this.show + } + this.leftWidth = data[0].width || 0 + this.rightWidth = data[1].width || 0 + this.buttonShow = show + }) + .exec() + } + } +} + +// #endif + +export default otherMixins diff --git a/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpwxs.js b/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpwxs.js new file mode 100644 index 0000000..08de1c9 --- /dev/null +++ b/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpwxs.js @@ -0,0 +1,84 @@ +let mpMixins = {} +let is_pc = null +// #ifdef H5 +import { + isPC +} from "./isPC" +is_pc = isPC() +// #endif +// #ifdef APP-VUE|| MP-WEIXIN || H5 + +mpMixins = { + data() { + return { + is_show: 'none' + } + }, + watch: { + show(newVal) { + this.is_show = this.show + } + }, + created() { + this.swipeaction = this.getSwipeAction() + if (this.swipeaction && Array.isArray(this.swipeaction.children)) { + this.swipeaction.children.push(this) + } + }, + mounted() { + this.is_show = this.show + }, + methods: { + // wxs 中调用 + closeSwipe(e) { + if (this.autoClose && this.swipeaction) { + this.swipeaction.closeOther(this) + } + }, + + change(e) { + this.$emit('change', e.open) + if (this.is_show !== e.open) { + this.is_show = e.open + } + }, + + appTouchStart(e) { + if (is_pc) return + const { + clientX + } = e.changedTouches[0] + this.clientX = clientX + this.timestamp = new Date().getTime() + }, + appTouchEnd(e, index, item, position) { + if (is_pc) return + const { + clientX + } = e.changedTouches[0] + // fixed by xxxx 模拟点击事件,解决 ios 13 点击区域错位的问题 + let diff = Math.abs(this.clientX - clientX) + let time = (new Date().getTime()) - this.timestamp + if (diff < 40 && time < 300) { + this.$emit('click', { + content: item, + index, + position + }) + } + }, + onClickForPC(index, item, position) { + if (!is_pc) return + // #ifdef H5 + this.$emit('click', { + content: item, + index, + position + }) + // #endif + } + } +} + +// #endif +export default mpMixins diff --git a/uni_modules/uni-swipe-action/components/uni-swipe-action-item/render.js b/uni_modules/uni-swipe-action/components/uni-swipe-action-item/render.js new file mode 100644 index 0000000..78f0ec6 --- /dev/null +++ b/uni_modules/uni-swipe-action/components/uni-swipe-action-item/render.js @@ -0,0 +1,270 @@ +const MIN_DISTANCE = 10; +export default { + showWatch(newVal, oldVal, ownerInstance, instance, self) { + var state = self.state + var $el = ownerInstance.$el || ownerInstance.$vm && ownerInstance.$vm.$el + if (!$el) return + this.getDom(instance, ownerInstance, self) + if (newVal && newVal !== 'none') { + this.openState(newVal, instance, ownerInstance, self) + return + } + + if (state.left) { + this.openState('none', instance, ownerInstance, self) + } + this.resetTouchStatus(instance, self) + }, + + /** + * 开始触摸操作 + * @param {Object} e + * @param {Object} ins + */ + touchstart(e, ownerInstance, self) { + let instance = e.instance; + let disabled = instance.getDataset().disabled + let state = self.state; + this.getDom(instance, ownerInstance, self) + // fix by mehaotian, TODO 兼容 app-vue 获取dataset为字符串 , h5 获取 为 undefined 的问题,待框架修复 + disabled = this.getDisabledType(disabled) + if (disabled) return + // 开始触摸时移除动画类 + instance.requestAnimationFrame(function() { + instance.removeClass('ani'); + ownerInstance.callMethod('closeSwipe'); + }) + + // 记录上次的位置 + state.x = state.left || 0 + // 计算滑动开始位置 + this.stopTouchStart(e, ownerInstance, self) + }, + + /** + * 开始滑动操作 + * @param {Object} e + * @param {Object} ownerInstance + */ + touchmove(e, ownerInstance, self) { + let instance = e.instance; + // 删除之后已经那不到实例了 + if (!instance) return; + let disabled = instance.getDataset().disabled + let state = self.state + // fix by mehaotian, TODO 兼容 app-vue 获取dataset为字符串 , h5 获取 为 undefined 的问题,待框架修复 + disabled = this.getDisabledType(disabled) + if (disabled) return + // 是否可以滑动页面 + this.stopTouchMove(e, self); + if (state.direction !== 'horizontal') { + return; + } + if (e.preventDefault) { + // 阻止页面滚动 + e.preventDefault() + } + let x = state.x + state.deltaX + this.move(x, instance, ownerInstance, self) + }, + + /** + * 结束触摸操作 + * @param {Object} e + * @param {Object} ownerInstance + */ + touchend(e, ownerInstance, self) { + let instance = e.instance; + let disabled = instance.getDataset().disabled + let state = self.state + // fix by mehaotian, TODO 兼容 app-vue 获取dataset为字符串 , h5 获取 为 undefined 的问题,待框架修复 + disabled = this.getDisabledType(disabled) + + if (disabled) return + // 滑动过程中触摸结束,通过阙值判断是开启还是关闭 + // fixed by mehaotian 定时器解决点击按钮,touchend 触发比 click 事件时机早的问题 ,主要是 ios13 + this.moveDirection(state.left, instance, ownerInstance, self) + + }, + + /** + * 设置移动距离 + * @param {Object} value + * @param {Object} instance + * @param {Object} ownerInstance + */ + move(value, instance, ownerInstance, self) { + value = value || 0 + let state = self.state + let leftWidth = state.leftWidth + let rightWidth = state.rightWidth + // 获取可滑动范围 + state.left = this.range(value, -rightWidth, leftWidth); + instance.requestAnimationFrame(function() { + instance.setStyle({ + transform: 'translateX(' + state.left + 'px)', + '-webkit-transform': 'translateX(' + state.left + 'px)' + }) + }) + + }, + + /** + * 获取元素信息 + * @param {Object} instance + * @param {Object} ownerInstance + */ + getDom(instance, ownerInstance, self) { + var state = self.state + var $el = ownerInstance.$el || ownerInstance.$vm && ownerInstance.$vm.$el + var leftDom = $el.querySelector('.button-group--left') + var rightDom = $el.querySelector('.button-group--right') + + state.leftWidth = leftDom.offsetWidth || 0 + state.rightWidth = rightDom.offsetWidth || 0 + state.threshold = instance.getDataset().threshold + }, + + getDisabledType(value) { + return (typeof(value) === 'string' ? JSON.parse(value) : value) || false; + }, + + /** + * 获取范围 + * @param {Object} num + * @param {Object} min + * @param {Object} max + */ + range(num, min, max) { + return Math.min(Math.max(num, min), max); + }, + + + /** + * 移动方向判断 + * @param {Object} left + * @param {Object} value + * @param {Object} ownerInstance + * @param {Object} ins + */ + moveDirection(left, ins, ownerInstance, self) { + var state = self.state + var threshold = state.threshold + var position = state.position + var isopen = state.isopen || 'none' + var leftWidth = state.leftWidth + var rightWidth = state.rightWidth + if (state.deltaX === 0) { + this.openState('none', ins, ownerInstance, self) + return + } + if ((isopen === 'none' && rightWidth > 0 && -left > threshold) || (isopen !== 'none' && rightWidth > 0 && + rightWidth + + left < threshold)) { + // right + this.openState('right', ins, ownerInstance, self) + } else if ((isopen === 'none' && leftWidth > 0 && left > threshold) || (isopen !== 'none' && leftWidth > 0 && + leftWidth - left < threshold)) { + // left + this.openState('left', ins, ownerInstance, self) + } else { + // default + this.openState('none', ins, ownerInstance, self) + } + }, + + + /** + * 开启状态 + * @param {Boolean} type + * @param {Object} ins + * @param {Object} ownerInstance + */ + openState(type, ins, ownerInstance, self) { + let state = self.state + let leftWidth = state.leftWidth + let rightWidth = state.rightWidth + let left = '' + state.isopen = state.isopen ? state.isopen : 'none' + switch (type) { + case "left": + left = leftWidth + break + case "right": + left = -rightWidth + break + default: + left = 0 + } + + // && !state.throttle + + if (state.isopen !== type) { + state.throttle = true + ownerInstance.callMethod('change', { + open: type + }) + + } + + state.isopen = type + // 添加动画类 + ins.requestAnimationFrame(() => { + ins.addClass('ani'); + this.move(left, ins, ownerInstance, self) + }) + }, + + + getDirection(x, y) { + if (x > y && x > MIN_DISTANCE) { + return 'horizontal'; + } + if (y > x && y > MIN_DISTANCE) { + return 'vertical'; + } + return ''; + }, + + /** + * 重置滑动状态 + * @param {Object} event + */ + resetTouchStatus(instance, self) { + let state = self.state; + state.direction = ''; + state.deltaX = 0; + state.deltaY = 0; + state.offsetX = 0; + state.offsetY = 0; + }, + + /** + * 设置滑动开始位置 + * @param {Object} event + */ + stopTouchStart(event, ownerInstance, self) { + let instance = event.instance; + let state = self.state + this.resetTouchStatus(instance, self); + var touch = event.touches[0]; + state.startX = touch.clientX; + state.startY = touch.clientY; + }, + + /** + * 滑动中,是否禁止打开 + * @param {Object} event + */ + stopTouchMove(event, self) { + let instance = event.instance; + let state = self.state; + let touch = event.touches[0]; + + state.deltaX = touch.clientX - state.startX; + state.deltaY = touch.clientY - state.startY; + state.offsetY = Math.abs(state.deltaY); + state.offsetX = Math.abs(state.deltaX); + state.direction = state.direction || this.getDirection(state.offsetX, state.offsetY); + } +} diff --git a/uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item.vue b/uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item.vue new file mode 100644 index 0000000..d79c297 --- /dev/null +++ b/uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item.vue @@ -0,0 +1,347 @@ + + + + + + diff --git a/uni_modules/uni-swipe-action/components/uni-swipe-action-item/wx.wxs b/uni_modules/uni-swipe-action/components/uni-swipe-action-item/wx.wxs new file mode 100644 index 0000000..b394244 --- /dev/null +++ b/uni_modules/uni-swipe-action/components/uni-swipe-action-item/wx.wxs @@ -0,0 +1,341 @@ +var MIN_DISTANCE = 10; + +/** + * 判断当前是否为H5、app-vue + */ +var IS_HTML5 = false +if (typeof window === 'object') IS_HTML5 = true + +/** + * 监听页面内值的变化,主要用于动态开关swipe-action + * @param {Object} newValue + * @param {Object} oldValue + * @param {Object} ownerInstance + * @param {Object} instance + */ +function showWatch(newVal, oldVal, ownerInstance, instance) { + var state = instance.getState() + getDom(instance, ownerInstance) + if (newVal && newVal !== 'none') { + openState(newVal, instance, ownerInstance) + return + } + + if (state.left) { + openState('none', instance, ownerInstance) + } + resetTouchStatus(instance) +} + +/** + * 开始触摸操作 + * @param {Object} e + * @param {Object} ins + */ +function touchstart(e, ownerInstance) { + var instance = e.instance; + var disabled = instance.getDataset().disabled + var state = instance.getState(); + getDom(instance, ownerInstance) + // fix by mehaotian, TODO 兼容 app-vue 获取dataset为字符串 , h5 获取 为 undefined 的问题,待框架修复 + disabled = (typeof(disabled) === 'string' ? JSON.parse(disabled) : disabled) || false; + if (disabled) return + // 开始触摸时移除动画类 + instance.requestAnimationFrame(function() { + instance.removeClass('ani'); + ownerInstance.callMethod('closeSwipe'); + }) + + // 记录上次的位置 + state.x = state.left || 0 + // 计算滑动开始位置 + stopTouchStart(e, ownerInstance) +} + +/** + * 开始滑动操作 + * @param {Object} e + * @param {Object} ownerInstance + */ +function touchmove(e, ownerInstance) { + var instance = e.instance; + var disabled = instance.getDataset().disabled + var state = instance.getState() + // fix by mehaotian, TODO 兼容 app-vue 获取dataset为字符串 , h5 获取 为 undefined 的问题,待框架修复 + disabled = (typeof(disabled) === 'string' ? JSON.parse(disabled) : disabled) || false; + if (disabled) return + // 是否可以滑动页面 + stopTouchMove(e); + if (state.direction !== 'horizontal') { + return; + } + + if (e.preventDefault) { + // 阻止页面滚动 + e.preventDefault() + } + + move(state.x + state.deltaX, instance, ownerInstance) +} + +/** + * 结束触摸操作 + * @param {Object} e + * @param {Object} ownerInstance + */ +function touchend(e, ownerInstance) { + var instance = e.instance; + var disabled = instance.getDataset().disabled + var state = instance.getState() + // fix by mehaotian, TODO 兼容 app-vue 获取dataset为字符串 , h5 获取 为 undefined 的问题,待框架修复 + disabled = (typeof(disabled) === 'string' ? JSON.parse(disabled) : disabled) || false; + + if (disabled) return + // 滑动过程中触摸结束,通过阙值判断是开启还是关闭 + // fixed by mehaotian 定时器解决点击按钮,touchend 触发比 click 事件时机早的问题 ,主要是 ios13 + moveDirection(state.left, instance, ownerInstance) + +} + +/** + * 设置移动距离 + * @param {Object} value + * @param {Object} instance + * @param {Object} ownerInstance + */ +function move(value, instance, ownerInstance) { + value = value || 0 + var state = instance.getState() + var leftWidth = state.leftWidth + var rightWidth = state.rightWidth + // 获取可滑动范围 + state.left = range(value, -rightWidth, leftWidth); + instance.requestAnimationFrame(function() { + instance.setStyle({ + transform: 'translateX(' + state.left + 'px)', + '-webkit-transform': 'translateX(' + state.left + 'px)' + }) + }) + +} + +/** + * 获取元素信息 + * @param {Object} instance + * @param {Object} ownerInstance + */ +function getDom(instance, ownerInstance) { + var state = instance.getState() + var leftDom = ownerInstance.selectComponent('.button-group--left') + var rightDom = ownerInstance.selectComponent('.button-group--right') + var leftStyles = { + width: 0 + } + var rightStyles = { + width: 0 + } + leftStyles = leftDom.getBoundingClientRect() + rightStyles = rightDom.getBoundingClientRect() + + state.leftWidth = leftStyles.width || 0 + state.rightWidth = rightStyles.width || 0 + state.threshold = instance.getDataset().threshold +} + +/** + * 获取范围 + * @param {Object} num + * @param {Object} min + * @param {Object} max + */ +function range(num, min, max) { + return Math.min(Math.max(num, min), max); +} + + +/** + * 移动方向判断 + * @param {Object} left + * @param {Object} value + * @param {Object} ownerInstance + * @param {Object} ins + */ +function moveDirection(left, ins, ownerInstance) { + var state = ins.getState() + var threshold = state.threshold + var position = state.position + var isopen = state.isopen || 'none' + var leftWidth = state.leftWidth + var rightWidth = state.rightWidth + if (state.deltaX === 0) { + openState('none', ins, ownerInstance) + return + } + if ((isopen === 'none' && rightWidth > 0 && -left > threshold) || (isopen !== 'none' && rightWidth > 0 && + rightWidth + + left < threshold)) { + // right + openState('right', ins, ownerInstance) + } else if ((isopen === 'none' && leftWidth > 0 && left > threshold) || (isopen !== 'none' && leftWidth > 0 && + leftWidth - left < threshold)) { + // left + openState('left', ins, ownerInstance) + } else { + // default + openState('none', ins, ownerInstance) + } +} + + +/** + * 开启状态 + * @param {Boolean} type + * @param {Object} ins + * @param {Object} ownerInstance + */ +function openState(type, ins, ownerInstance) { + var state = ins.getState() + var leftWidth = state.leftWidth + var rightWidth = state.rightWidth + var left = '' + state.isopen = state.isopen ? state.isopen : 'none' + switch (type) { + case "left": + left = leftWidth + break + case "right": + left = -rightWidth + break + default: + left = 0 + } + + // && !state.throttle + + if (state.isopen !== type) { + state.throttle = true + ownerInstance.callMethod('change', { + open: type + }) + + } + + state.isopen = type + // 添加动画类 + ins.requestAnimationFrame(function() { + ins.addClass('ani'); + move(left, ins, ownerInstance) + }) + // 设置最终移动位置,理论上只要进入到这个函数,肯定是要打开的 +} + + +function getDirection(x, y) { + if (x > y && x > MIN_DISTANCE) { + return 'horizontal'; + } + if (y > x && y > MIN_DISTANCE) { + return 'vertical'; + } + return ''; +} + +/** + * 重置滑动状态 + * @param {Object} event + */ +function resetTouchStatus(instance) { + var state = instance.getState(); + state.direction = ''; + state.deltaX = 0; + state.deltaY = 0; + state.offsetX = 0; + state.offsetY = 0; +} + +/** + * 设置滑动开始位置 + * @param {Object} event + */ +function stopTouchStart(event) { + var instance = event.instance; + var state = instance.getState(); + resetTouchStatus(instance); + var touch = event.touches[0]; + if (IS_HTML5 && isPC()) { + touch = event; + } + state.startX = touch.clientX; + state.startY = touch.clientY; +} + +/** + * 滑动中,是否禁止打开 + * @param {Object} event + */ +function stopTouchMove(event) { + var instance = event.instance; + var state = instance.getState(); + var touch = event.touches[0]; + if (IS_HTML5 && isPC()) { + touch = event; + } + state.deltaX = touch.clientX - state.startX; + state.deltaY = touch.clientY - state.startY; + state.offsetY = Math.abs(state.deltaY); + state.offsetX = Math.abs(state.deltaX); + state.direction = state.direction || getDirection(state.offsetX, state.offsetY); +} + +function isPC() { + var userAgentInfo = navigator.userAgent; + var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"]; + var flag = true; + for (var v = 0; v < Agents.length - 1; v++) { + if (userAgentInfo.indexOf(Agents[v]) > 0) { + flag = false; + break; + } + } + return flag; +} + +var movable = false + +function mousedown(e, ins) { + if (!IS_HTML5) return + if (!isPC()) return + touchstart(e, ins) + movable = true +} + +function mousemove(e, ins) { + if (!IS_HTML5) return + if (!isPC()) return + if (!movable) return + touchmove(e, ins) +} + +function mouseup(e, ins) { + if (!IS_HTML5) return + if (!isPC()) return + touchend(e, ins) + movable = false +} + +function mouseleave(e, ins) { + if (!IS_HTML5) return + if (!isPC()) return + movable = false +} + +module.exports = { + showWatch: showWatch, + touchstart: touchstart, + touchmove: touchmove, + touchend: touchend, + mousedown: mousedown, + mousemove: mousemove, + mouseup: mouseup, + mouseleave: mouseleave +} diff --git a/uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action.vue b/uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action.vue new file mode 100644 index 0000000..4971782 --- /dev/null +++ b/uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action.vue @@ -0,0 +1,60 @@ + + + + + diff --git a/uni_modules/uni-swipe-action/package.json b/uni_modules/uni-swipe-action/package.json new file mode 100644 index 0000000..47651a6 --- /dev/null +++ b/uni_modules/uni-swipe-action/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-swipe-action", + "displayName": "uni-swipe-action 滑动操作", + "version": "1.3.8", + "description": "SwipeAction 滑动操作操作组件", + "keywords": [ + "", + "uni-ui", + "uniui", + "滑动删除", + "侧滑删除" + ], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "y", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/uni_modules/uni-swipe-action/readme.md b/uni_modules/uni-swipe-action/readme.md new file mode 100644 index 0000000..93a5cac --- /dev/null +++ b/uni_modules/uni-swipe-action/readme.md @@ -0,0 +1,11 @@ + + +## SwipeAction 滑动操作 +> **组件名:uni-swipe-action** +> 代码块: `uSwipeAction`、`uSwipeActionItem` + + +通过滑动触发选项的容器 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-swipe-action) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/uni_modules/uni-swiper-dot/changelog.md b/uni_modules/uni-swiper-dot/changelog.md new file mode 100644 index 0000000..85cf54d --- /dev/null +++ b/uni_modules/uni-swiper-dot/changelog.md @@ -0,0 +1,12 @@ +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-swiper-dot](https://uniapp.dcloud.io/component/uniui/uni-swiper-dot) +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.6(2021-05-12) +- 新增 示例地址 +- 修复 示例项目缺少组件的Bug +## 1.0.5(2021-02-05) +- 调整为uni_modules目录规范 +- 新增 clickItem 事件,支持指示点控制轮播 +- 新增 支持 pc 可用 diff --git a/uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot.vue b/uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot.vue new file mode 100644 index 0000000..46eb8c1 --- /dev/null +++ b/uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot.vue @@ -0,0 +1,218 @@ + + + + + diff --git a/uni_modules/uni-swiper-dot/package.json b/uni_modules/uni-swiper-dot/package.json new file mode 100644 index 0000000..f2dd8d2 --- /dev/null +++ b/uni_modules/uni-swiper-dot/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-swiper-dot", + "displayName": "uni-swiper-dot 轮播图指示点", + "version": "1.2.0", + "description": "自定义轮播图指示点组件", + "keywords": [ + "uni-ui", + "uniui", + "轮播图指示点", + "dot", + "swiper" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-swiper-dot/readme.md b/uni_modules/uni-swiper-dot/readme.md new file mode 100644 index 0000000..7d397e2 --- /dev/null +++ b/uni_modules/uni-swiper-dot/readme.md @@ -0,0 +1,11 @@ + + +## SwiperDot 轮播图指示点 +> **组件名:uni-swiper-dot** +> 代码块: `uSwiperDot` + + +自定义轮播图指示点 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-swiper-dot) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/uni_modules/uni-table/changelog.md b/uni_modules/uni-table/changelog.md new file mode 100644 index 0000000..9f87c67 --- /dev/null +++ b/uni_modules/uni-table/changelog.md @@ -0,0 +1,27 @@ +## 1.2.3(2023-03-28) +- 修复 在vue3模式下可能会出现错误的问题 +## 1.2.2(2022-11-29) +- 优化 主题样式 +## 1.2.1(2022-06-06) +- 修复 微信小程序存在无使用组件的问题 +## 1.2.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-table](https://uniapp.dcloud.io/component/uniui/uni-table) +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.7(2021-07-08) +- 新增 uni-th 支持 date 日期筛选范围 +## 1.0.6(2021-07-05) +- 新增 uni-th 支持 range 筛选范围 +## 1.0.5(2021-06-28) +- 新增 uni-th 筛选功能 +## 1.0.4(2021-05-12) +- 新增 示例地址 +- 修复 示例项目缺少组件的Bug +## 1.0.3(2021-04-16) +- 新增 sortable 属性,是否开启单列排序 +- 优化 表格多选逻辑 +## 1.0.2(2021-03-22) +- uni-tr 添加 disabled 属性,用于 type=selection 时,设置某行是否可由全选按钮控制 +## 1.0.1(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/uni_modules/uni-table/components/uni-table/uni-table.vue b/uni_modules/uni-table/components/uni-table/uni-table.vue new file mode 100644 index 0000000..21d9527 --- /dev/null +++ b/uni_modules/uni-table/components/uni-table/uni-table.vue @@ -0,0 +1,455 @@ + + + + + diff --git a/uni_modules/uni-table/components/uni-tbody/uni-tbody.vue b/uni_modules/uni-table/components/uni-tbody/uni-tbody.vue new file mode 100644 index 0000000..fbe1bdc --- /dev/null +++ b/uni_modules/uni-table/components/uni-tbody/uni-tbody.vue @@ -0,0 +1,29 @@ + + + + + diff --git a/uni_modules/uni-table/components/uni-td/uni-td.vue b/uni_modules/uni-table/components/uni-td/uni-td.vue new file mode 100644 index 0000000..9ce93e9 --- /dev/null +++ b/uni_modules/uni-table/components/uni-td/uni-td.vue @@ -0,0 +1,90 @@ + + + + + diff --git a/uni_modules/uni-table/components/uni-th/filter-dropdown.vue b/uni_modules/uni-table/components/uni-th/filter-dropdown.vue new file mode 100644 index 0000000..df22a71 --- /dev/null +++ b/uni_modules/uni-table/components/uni-th/filter-dropdown.vue @@ -0,0 +1,511 @@ + + + + + diff --git a/uni_modules/uni-table/components/uni-th/uni-th.vue b/uni_modules/uni-table/components/uni-th/uni-th.vue new file mode 100644 index 0000000..14889dd --- /dev/null +++ b/uni_modules/uni-table/components/uni-th/uni-th.vue @@ -0,0 +1,285 @@ + + + + + diff --git a/uni_modules/uni-table/components/uni-thead/uni-thead.vue b/uni_modules/uni-table/components/uni-thead/uni-thead.vue new file mode 100644 index 0000000..0dd18cd --- /dev/null +++ b/uni_modules/uni-table/components/uni-thead/uni-thead.vue @@ -0,0 +1,129 @@ + + + + + diff --git a/uni_modules/uni-table/components/uni-tr/table-checkbox.vue b/uni_modules/uni-table/components/uni-tr/table-checkbox.vue new file mode 100644 index 0000000..1089187 --- /dev/null +++ b/uni_modules/uni-table/components/uni-tr/table-checkbox.vue @@ -0,0 +1,179 @@ + + + + + diff --git a/uni_modules/uni-table/components/uni-tr/uni-tr.vue b/uni_modules/uni-table/components/uni-tr/uni-tr.vue new file mode 100644 index 0000000..f9b9671 --- /dev/null +++ b/uni_modules/uni-table/components/uni-tr/uni-tr.vue @@ -0,0 +1,171 @@ + + + + + diff --git a/uni_modules/uni-table/i18n/en.json b/uni_modules/uni-table/i18n/en.json new file mode 100644 index 0000000..e32023c --- /dev/null +++ b/uni_modules/uni-table/i18n/en.json @@ -0,0 +1,9 @@ +{ + "filter-dropdown.reset": "Reset", + "filter-dropdown.search": "Search", + "filter-dropdown.submit": "Submit", + "filter-dropdown.filter": "Filter", + "filter-dropdown.gt": "Greater or equal to", + "filter-dropdown.lt": "Less than or equal to", + "filter-dropdown.date": "Date" +} diff --git a/uni_modules/uni-table/i18n/es.json b/uni_modules/uni-table/i18n/es.json new file mode 100644 index 0000000..9afd04b --- /dev/null +++ b/uni_modules/uni-table/i18n/es.json @@ -0,0 +1,9 @@ +{ + "filter-dropdown.reset": "Reiniciar", + "filter-dropdown.search": "Búsqueda", + "filter-dropdown.submit": "Entregar", + "filter-dropdown.filter": "Filtrar", + "filter-dropdown.gt": "Mayor o igual a", + "filter-dropdown.lt": "Menos que o igual a", + "filter-dropdown.date": "Fecha" +} diff --git a/uni_modules/uni-table/i18n/fr.json b/uni_modules/uni-table/i18n/fr.json new file mode 100644 index 0000000..b006237 --- /dev/null +++ b/uni_modules/uni-table/i18n/fr.json @@ -0,0 +1,9 @@ +{ + "filter-dropdown.reset": "Réinitialiser", + "filter-dropdown.search": "Chercher", + "filter-dropdown.submit": "Soumettre", + "filter-dropdown.filter": "Filtre", + "filter-dropdown.gt": "Supérieur ou égal à", + "filter-dropdown.lt": "Inférieur ou égal à", + "filter-dropdown.date": "Date" +} diff --git a/uni_modules/uni-table/i18n/index.js b/uni_modules/uni-table/i18n/index.js new file mode 100644 index 0000000..2469dd0 --- /dev/null +++ b/uni_modules/uni-table/i18n/index.js @@ -0,0 +1,12 @@ +import en from './en.json' +import es from './es.json' +import fr from './fr.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + es, + fr, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/uni_modules/uni-table/i18n/zh-Hans.json b/uni_modules/uni-table/i18n/zh-Hans.json new file mode 100644 index 0000000..862af17 --- /dev/null +++ b/uni_modules/uni-table/i18n/zh-Hans.json @@ -0,0 +1,9 @@ +{ + "filter-dropdown.reset": "重置", + "filter-dropdown.search": "搜索", + "filter-dropdown.submit": "确定", + "filter-dropdown.filter": "筛选", + "filter-dropdown.gt": "大于等于", + "filter-dropdown.lt": "小于等于", + "filter-dropdown.date": "日期范围" +} diff --git a/uni_modules/uni-table/i18n/zh-Hant.json b/uni_modules/uni-table/i18n/zh-Hant.json new file mode 100644 index 0000000..64f8061 --- /dev/null +++ b/uni_modules/uni-table/i18n/zh-Hant.json @@ -0,0 +1,9 @@ +{ + "filter-dropdown.reset": "重置", + "filter-dropdown.search": "搜索", + "filter-dropdown.submit": "確定", + "filter-dropdown.filter": "篩選", + "filter-dropdown.gt": "大於等於", + "filter-dropdown.lt": "小於等於", + "filter-dropdown.date": "日期範圍" +} diff --git a/uni_modules/uni-table/package.json b/uni_modules/uni-table/package.json new file mode 100644 index 0000000..7c2f91c --- /dev/null +++ b/uni_modules/uni-table/package.json @@ -0,0 +1,83 @@ +{ + "id": "uni-table", + "displayName": "uni-table 表格", + "version": "1.2.3", + "description": "表格组件,多用于展示多条结构类似的数据,如", + "keywords": [ + "uni-ui", + "uniui", + "table", + "表格" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-scss","uni-datetime-picker"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "n" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "n", + "QQ": "y" + }, + "快应用": { + "华为": "n", + "联盟": "n" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-table/readme.md b/uni_modules/uni-table/readme.md new file mode 100644 index 0000000..bb08c79 --- /dev/null +++ b/uni_modules/uni-table/readme.md @@ -0,0 +1,13 @@ + + +## Table 表单 +> 组件名:``uni-table``,代码块: `uTable`。 + +用于展示多条结构类似的数据 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-table) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + + + diff --git a/uni_modules/uni-tag/changelog.md b/uni_modules/uni-tag/changelog.md new file mode 100644 index 0000000..c0c5839 --- /dev/null +++ b/uni_modules/uni-tag/changelog.md @@ -0,0 +1,21 @@ +## 2.1.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-tag](https://uniapp.dcloud.io/component/uniui/uni-tag) +## 2.0.0(2021-11-09) +- 新增 提供组件设计资源,组件样式调整 +- 移除 插槽 +- 移除 type 属性的 royal 选项 +## 1.1.1(2021-08-11) +- type 不是 default 时,size 为 small 字体大小显示不正确 +## 1.1.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.0.7(2021-06-18) +- 修复 uni-tag 在字节跳动小程序上 css 类名编译错误的 bug +## 1.0.6(2021-06-04) +- 修复 未定义 sass 变量 "$uni-color-royal" 的bug +## 1.0.5(2021-05-10) +- 修复 royal 类型无效的bug +- 修复 uni-tag 宽度不自适应的bug +- 新增 uni-tag 支持属性 custom-style 自定义样式 +## 1.0.4(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/uni_modules/uni-tag/components/uni-tag/uni-tag.vue b/uni_modules/uni-tag/components/uni-tag/uni-tag.vue new file mode 100644 index 0000000..6378a0b --- /dev/null +++ b/uni_modules/uni-tag/components/uni-tag/uni-tag.vue @@ -0,0 +1,252 @@ + + + + + diff --git a/uni_modules/uni-tag/package.json b/uni_modules/uni-tag/package.json new file mode 100644 index 0000000..1878088 --- /dev/null +++ b/uni_modules/uni-tag/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-tag", + "displayName": "uni-tag 标签", + "version": "2.1.0", + "description": "Tag 组件,用于展示1个或多个文字标签,可点击切换选中、不选中的状态。", + "keywords": [ + "uni-ui", + "uniui", + "", + "tag", + "标签" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-tag/readme.md b/uni_modules/uni-tag/readme.md new file mode 100644 index 0000000..6e78ff5 --- /dev/null +++ b/uni_modules/uni-tag/readme.md @@ -0,0 +1,13 @@ + + +## Tag 标签 +> **组件名:uni-tag** +> 代码块: `uTag` + + +用于展示1个或多个文字标签,可点击切换选中、不选中的状态 。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-tag) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + diff --git a/uni_modules/uni-test/changelog.md b/uni_modules/uni-test/changelog.md new file mode 100644 index 0000000..2f3b102 --- /dev/null +++ b/uni_modules/uni-test/changelog.md @@ -0,0 +1,39 @@ +## 2.0.13(2021-11-18) +邱 +## 2.0.12(2021-11-18) +123123 +## 2.0.11(2021-11-18) +0000 +## 2.0.10(2021-11-18) +111234 +## 2.0.9(2021-11-18) +3333 +## 2.0.8(2021-11-18) +=== +## 2.0.7(2021-11-18) +111 +## 2.0.6(2021-05-26) +- test +## 0.0.37(2021-03-23) +- uni-forms 更新 校验器 +- uni-forms 修复 表单规则设置类型为 number 的情况下,值为0校验失败的Bug + + +## 0.0.36(2021-03-23) +- uni-forms 更新 校验器 +- uni-forms 修复 表单规则设置类型为 number 的情况下,值为0校验失败的Bug + + +## 0.0.35(2021-03-23) +- uni-forms 更新 校验器 +- uni-forms 修复 表单规则设置类型为 number 的情况下,值为0校验失败的Bug + + +## 0.0.34(2021-03-23) +- 测试新同步插件 +## 0.0.33(2021-03-09) +- test +## 0.0.32(2021-02-24) +- 更新 read 2 +## 0.0.31(2021-02-24) +- 同步 readme.md diff --git a/uni_modules/uni-test/components/uni-test/uni-test.vue b/uni_modules/uni-test/components/uni-test/uni-test.vue new file mode 100644 index 0000000..9ea8aaf --- /dev/null +++ b/uni_modules/uni-test/components/uni-test/uni-test.vue @@ -0,0 +1,26 @@ + + + + + diff --git a/uni_modules/uni-test/package.json b/uni_modules/uni-test/package.json new file mode 100644 index 0000000..9a3c4c4 --- /dev/null +++ b/uni_modules/uni-test/package.json @@ -0,0 +1,83 @@ +{ + "id": "uni-test", + "displayName": "Test 测试插件", + "version": "2.0.13", + "description": "测试插件 ", + "keywords": [ + "test" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "^3.1.3" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "y", + "联盟": "y" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/uni_modules/uni-test/readme.md b/uni_modules/uni-test/readme.md new file mode 100644 index 0000000..ddb24c6 --- /dev/null +++ b/uni_modules/uni-test/readme.md @@ -0,0 +1,10 @@ + + +## DataCheckbox 数据驱动的单选复选框 +> **组件名:uni-data-checkbox** +> 代码块: `uDataCheckbox` + + +本组件是基于uni-app基础组件checkbox的封装。本组件要解决问题包括: + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-card) \ No newline at end of file diff --git a/uni_modules/uni-title/changelog.md b/uni_modules/uni-title/changelog.md new file mode 100644 index 0000000..7626216 --- /dev/null +++ b/uni_modules/uni-title/changelog.md @@ -0,0 +1,10 @@ +## 1.1.1(2022-05-19) +- 修改组件描述 +## 1.1.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-title](https://uniapp.dcloud.io/component/uniui/uni-title) +## 1.0.2(2021-05-12) +- 新增 示例地址 +- 修复 示例项目缺少组件的Bug +## 1.0.1(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/uni_modules/uni-title/components/uni-title/uni-title.vue b/uni_modules/uni-title/components/uni-title/uni-title.vue new file mode 100644 index 0000000..bf4f926 --- /dev/null +++ b/uni_modules/uni-title/components/uni-title/uni-title.vue @@ -0,0 +1,171 @@ + + + + + diff --git a/uni_modules/uni-title/package.json b/uni_modules/uni-title/package.json new file mode 100644 index 0000000..2249f5a --- /dev/null +++ b/uni_modules/uni-title/package.json @@ -0,0 +1,88 @@ +{ + "id": "uni-title", + "displayName": "uni-title 章节标题", + "version": "1.1.1", + "description": "章节标题,通常用于记录页面标题,使用当前组件,uni-app 如果开启统计,将会自动统计页面标题", + "keywords": [ + "uni-ui", + "uniui", + "标题", + "章节", + "章节标题", + "" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-title/readme.md b/uni_modules/uni-title/readme.md new file mode 100644 index 0000000..0e60b1b --- /dev/null +++ b/uni_modules/uni-title/readme.md @@ -0,0 +1,14 @@ + + +## Title 标题 +> **组件名:uni-title** +> 代码块: `uTitle` + + +章节标题,通常用于记录页面标题,使用当前组件,uni-app 如果开启统计,将会自动统计页面标题 。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-title) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 + + + diff --git a/uni_modules/uni-tooltip/changelog.md b/uni_modules/uni-tooltip/changelog.md new file mode 100644 index 0000000..00f1572 --- /dev/null +++ b/uni_modules/uni-tooltip/changelog.md @@ -0,0 +1,10 @@ +## 0.2.1(2022-05-09) +- 修复 content 为空时仍然弹出的bug +## 0.2.0(2022-05-07) +**注意:破坏性更新** +- 更新 text 属性变更为 content +- 更新 移除 width 属性 +## 0.1.1(2022-04-27) +- 修复 组件根 text 嵌套组件 warning +## 0.1.0(2022-04-21) +- 初始化 diff --git a/uni_modules/uni-tooltip/components/uni-tooltip/uni-tooltip.vue b/uni_modules/uni-tooltip/components/uni-tooltip/uni-tooltip.vue new file mode 100644 index 0000000..ffbb6fa --- /dev/null +++ b/uni_modules/uni-tooltip/components/uni-tooltip/uni-tooltip.vue @@ -0,0 +1,68 @@ + + + + + + diff --git a/uni_modules/uni-tooltip/package.json b/uni_modules/uni-tooltip/package.json new file mode 100644 index 0000000..e88ecf8 --- /dev/null +++ b/uni_modules/uni-tooltip/package.json @@ -0,0 +1,88 @@ +{ + "id": "uni-tooltip", + "displayName": "uni-tooltip 提示文字", + "version": "0.2.1", + "description": "Tooltip 提示文字", + "keywords": [ + "uni-tooltip", + "uni-ui", + "tooltip", + "tip", + "文字提示" + ], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无 ", + "data": "无", + "permissions": "无" + }, + "npmurl": "" + }, + "uni_modules": { + "dependencies": [], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "Vue": { + "vue2": "y", + "vue3": "y" + }, + "App": { + "app-vue": "y", + "app-nvue": "u" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "u", + "百度": "u", + "字节跳动": "u", + "QQ": "u", + "京东": "u" + }, + "快应用": { + "华为": "u", + "联盟": "u" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-tooltip/readme.md b/uni_modules/uni-tooltip/readme.md new file mode 100644 index 0000000..faafa2e --- /dev/null +++ b/uni_modules/uni-tooltip/readme.md @@ -0,0 +1,8 @@ +## Badge 数字角标 +> **组件名:uni-tooltip** +> 代码块: `uTooltip` + +数字角标一般和其它控件(列表、9宫格等)配合使用,用于进行数量提示,默认为实心灰色背景, + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-tooltip) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 diff --git a/uni_modules/uni-transition/changelog.md b/uni_modules/uni-transition/changelog.md new file mode 100644 index 0000000..b1a824b --- /dev/null +++ b/uni_modules/uni-transition/changelog.md @@ -0,0 +1,20 @@ +## 1.3.1(2021-11-23) +- 修复 init 方法初始化问题 +## 1.3.0(2021-11-19) +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-transition](https://uniapp.dcloud.io/component/uniui/uni-transition) +## 1.2.1(2021-09-27) +- 修复 init 方法不生效的 Bug +## 1.2.0(2021-07-30) +- 组件兼容 vue3,如何创建 vue3 项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.1.1(2021-05-12) +- 新增 示例地址 +- 修复 示例项目缺少组件的 Bug +## 1.1.0(2021-04-22) +- 新增 通过方法自定义动画 +- 新增 custom-class 非 NVUE 平台支持自定义 class 定制样式 +- 优化 动画触发逻辑,使动画更流畅 +- 优化 支持单独的动画类型 +- 优化 文档示例 +## 1.0.2(2021-02-05) +- 调整为 uni_modules 目录规范 diff --git a/uni_modules/uni-transition/components/uni-transition/createAnimation.js b/uni_modules/uni-transition/components/uni-transition/createAnimation.js new file mode 100644 index 0000000..8f89b18 --- /dev/null +++ b/uni_modules/uni-transition/components/uni-transition/createAnimation.js @@ -0,0 +1,131 @@ +// const defaultOption = { +// duration: 300, +// timingFunction: 'linear', +// delay: 0, +// transformOrigin: '50% 50% 0' +// } +// #ifdef APP-NVUE +const nvueAnimation = uni.requireNativePlugin('animation') +// #endif +class MPAnimation { + constructor(options, _this) { + this.options = options + // 在iOS10+QQ小程序平台下,传给原生的对象一定是个普通对象而不是Proxy对象,否则会报parameter should be Object instead of ProxyObject的错误 + this.animation = uni.createAnimation({ + ...options + }) + this.currentStepAnimates = {} + this.next = 0 + this.$ = _this + + } + + _nvuePushAnimates(type, args) { + let aniObj = this.currentStepAnimates[this.next] + let styles = {} + if (!aniObj) { + styles = { + styles: {}, + config: {} + } + } else { + styles = aniObj + } + if (animateTypes1.includes(type)) { + if (!styles.styles.transform) { + styles.styles.transform = '' + } + let unit = '' + if(type === 'rotate'){ + unit = 'deg' + } + styles.styles.transform += `${type}(${args+unit}) ` + } else { + styles.styles[type] = `${args}` + } + this.currentStepAnimates[this.next] = styles + } + _animateRun(styles = {}, config = {}) { + let ref = this.$.$refs['ani'].ref + if (!ref) return + return new Promise((resolve, reject) => { + nvueAnimation.transition(ref, { + styles, + ...config + }, res => { + resolve() + }) + }) + } + + _nvueNextAnimate(animates, step = 0, fn) { + let obj = animates[step] + if (obj) { + let { + styles, + config + } = obj + this._animateRun(styles, config).then(() => { + step += 1 + this._nvueNextAnimate(animates, step, fn) + }) + } else { + this.currentStepAnimates = {} + typeof fn === 'function' && fn() + this.isEnd = true + } + } + + step(config = {}) { + // #ifndef APP-NVUE + this.animation.step(config) + // #endif + // #ifdef APP-NVUE + this.currentStepAnimates[this.next].config = Object.assign({}, this.options, config) + this.currentStepAnimates[this.next].styles.transformOrigin = this.currentStepAnimates[this.next].config.transformOrigin + this.next++ + // #endif + return this + } + + run(fn) { + // #ifndef APP-NVUE + this.$.animationData = this.animation.export() + this.$.timer = setTimeout(() => { + typeof fn === 'function' && fn() + }, this.$.durationTime) + // #endif + // #ifdef APP-NVUE + this.isEnd = false + let ref = this.$.$refs['ani'] && this.$.$refs['ani'].ref + if(!ref) return + this._nvueNextAnimate(this.currentStepAnimates, 0, fn) + this.next = 0 + // #endif + } +} + + +const animateTypes1 = ['matrix', 'matrix3d', 'rotate', 'rotate3d', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scale3d', + 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'translate', 'translate3d', 'translateX', 'translateY', + 'translateZ' +] +const animateTypes2 = ['opacity', 'backgroundColor'] +const animateTypes3 = ['width', 'height', 'left', 'right', 'top', 'bottom'] +animateTypes1.concat(animateTypes2, animateTypes3).forEach(type => { + MPAnimation.prototype[type] = function(...args) { + // #ifndef APP-NVUE + this.animation[type](...args) + // #endif + // #ifdef APP-NVUE + this._nvuePushAnimates(type, args) + // #endif + return this + } +}) + +export function createAnimation(option, _this) { + if(!_this) return + clearTimeout(_this.timer) + return new MPAnimation(option, _this) +} diff --git a/uni_modules/uni-transition/components/uni-transition/uni-transition.vue b/uni_modules/uni-transition/components/uni-transition/uni-transition.vue new file mode 100644 index 0000000..a2bf104 --- /dev/null +++ b/uni_modules/uni-transition/components/uni-transition/uni-transition.vue @@ -0,0 +1,281 @@ + + + + + diff --git a/uni_modules/uni-transition/package.json b/uni_modules/uni-transition/package.json new file mode 100644 index 0000000..d15fdf0 --- /dev/null +++ b/uni_modules/uni-transition/package.json @@ -0,0 +1,87 @@ +{ + "id": "uni-transition", + "displayName": "uni-transition 过渡动画", + "version": "1.3.1", + "description": "元素的简单过渡动画", + "keywords": [ + "uni-ui", + "uniui", + "动画", + "过渡", + "过渡动画" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-transition/readme.md b/uni_modules/uni-transition/readme.md new file mode 100644 index 0000000..2f8a77e --- /dev/null +++ b/uni_modules/uni-transition/readme.md @@ -0,0 +1,11 @@ + + +## Transition 过渡动画 +> **组件名:uni-transition** +> 代码块: `uTransition` + + +元素过渡动画 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-transition) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/uni_modules/uni-ui/changelog.md b/uni_modules/uni-ui/changelog.md new file mode 100644 index 0000000..61b26d0 --- /dev/null +++ b/uni_modules/uni-ui/changelog.md @@ -0,0 +1,541 @@ +## 1.4.27(2023-04-23) +- uni-calendar 修复 某些情况 monthSwitch 未触发的Bug +- uni-calendar 修复 某些情况切换月份错误的Bug +- uni-data-picker 修复 更改 modelValue 报错的 bug +- uni-data-picker 修复 v-for 未使用 key 值控制台 warning +- uni-data-picker 修复代码合并时引发 value 属性为空时不渲染数据的问题 +- uni-data-picker 修复 localdata 不支持动态更新的bug +- uni-data-select 修复 微信小程序点击时会改变背景颜色的 bug +- uni-data-select 修复 禁用时会显示清空按钮 +- uni-data-select 优化 查询条件短期内多次变更只查询最后一次变更后的结果 +- uni-data-select 调整 内部缓存键名调整为 uni-data-select-lastSelectedValue +- uni-datetime-picker 修复 日历 picker 修改年月后,自动选中当月1日 [详情](https://ask.dcloud.net.cn/question/165937) +- uni-datetime-picker 修复 小程序端 低版本 ios NaN [详情](https://ask.dcloud.net.cn/question/162979) +- uni-datetime-picker 修复 firefox 浏览器显示区域点击无法拉起日历弹框的Bug [详情](https://ask.dcloud.net.cn/question/163362) +- uni-datetime-picker 优化 值为空依然选中当天问题 +- uni-datetime-picker 优化 提供 default-value 属性支持配置选择器打开时默认显示的时间 +- uni-datetime-picker 优化 非范围选择未选择日期时间,点击确认按钮选中当前日期时间 +- uni-datetime-picker 优化 字节小程序日期时间范围选择,底部日期换行问题 +- uni-datetime-picker 修复 2.2.18 引起范围选择配置 end 选择无效的Bug [详情](https://github.com/dcloudio/uni-ui/issues/686) +- uni-datetime-picker 修复 移动端范围选择change事件触发异常的Bug [详情](https://github.com/dcloudio/uni-ui/issues/684) +- uni-datetime-picker 优化 PC端输入日期格式错误时返回当前日期时间 +- uni-datetime-picker 优化 PC端输入日期时间超出 start、end 限制的Bug +- uni-datetime-picker 优化 移动端日期时间范围用法时间展示不完整问题 +- uni-datetime-picker 修复 小程序端绑定 Date 类型报错的Bug [详情](https://github.com/dcloudio/uni-ui/issues/679) +- uni-datetime-picker 修复 vue3 time-picker 无法显示绑定时分秒的Bug +- uni-datetime-picker 修复 字节小程序报错的Bug +- uni-datetime-picker 修复 某些情况切换月份错误的Bug +- uni-easyinput 修复 vue3 下 keyboardheightchange 事件报错的bug +- uni-easyinput 优化 trim 属性默认值 +- uni-easyinput 新增 cursor-spacing 属性 +- uni-fab 新增 pattern.icon 属性,可自定义图标 +- uni-file-picker 修复 手动上传删除一个文件后不能再上传的bug +- uni-forms 修复 required 参数无法动态绑定 +- uni-list 优化 uni-list-chat 具名插槽`header` 非app端套一层元素,方便使用时通过外层元素定位实现样式修改 +- uni-list uni-list-chat 新增 支持具名插槽`header` +- uni-list 新增 列表图标新增 customPrefix 属性 ,用法 [详见](https://uniapp.dcloud.net.cn/component/uniui/uni-icons.html#icons-props) +- uni-nav-bar 修复 自定义状态栏高度闪动BUG +- uni-nav-bar 修复 暗黑模式下边线颜色错误的bug +- uni-popup 修复 uni-popup 重复打开时的 bug +- uni-popup uni-popup-dialog 组件新增 inputType 属性 +- uni-swipe-action 修复`uni-swipe-action`和`uni-swipe-action-item`不同时使用导致 closeOther 方法报错的 bug +- uni-table 修复 在vue3模式下可能会出现错误的问题 +## 1.4.26(2023-01-31) +- uni-badge 修复 运行/打包 控制台警告问题 +- uni-calendar 修复 某些情况切换月份错误问题 +- uni-data-select 修复 不关联服务空间报错的问题 +- uni-data-select 新增 属性 `format` 可用于格式化显示选项内容 +- uni-datetime-picker 修复 某些情况切换月份错误问题 +- uni-easyinput 新增 keyboardheightchange 事件,可监听键盘高度变化 +- uni-list 修复 无反馈效果呈现的bug +## 1.4.25(2023-01-11) +- uni-file-picker 新增 sourceType 属性, 可以自定义图片和视频选择的来源 +## 1.4.24(2023-01-11) +- uni-data-select 修复 当where变化时,数据不会自动更新的问题 +- uni-datetime-picker 修复 多次加载组件造成内存占用的 bug +- uni-datetime-picker 修复 vue3 下 i18n 国际化初始值不正确的 bug +- uni-easyinput 修复 props 中背景颜色无默认值的bug +- uni-list 修复 uni-list-chat 在vue3下跳转报错的bug +- uni-list 修复 uni-list-chat avatar属性 值为本地路径时错误的问题 +- uni-list 修复 uni-list-chat avatar属性 在腾讯云版uniCloud下错误的问题 +- uni-list 修复 uni-list-chat note属性 支持:“草稿”字样功能 文本少1位的问题 +- uni-list 修复 uni-list-item 的 customStyle 属性 padding值在 H5端 无效的bug +- uni-list 修复 uni-list-item 的 customStyle 属性 padding值在nvue(vue2)下无效的bug +- uni-list uni-list-chat 新增 avatar 支持 fileId +- uni-list uni-list 新增属性 render-reverse 详情参考:[https://uniapp.dcloud.net.cn/component/list.html](https://uniapp.dcloud.net.cn/component/list.html) +- uni-list uni-list-chat note属性 支持:“草稿”字样 加红显示 详情参考uni-im:[https://ext.dcloud.net.cn/plugin?name=uni-im](https://ext.dcloud.net.cn/plugin?name=uni-im) +- uni-list uni-list-item 新增属性 customStyle 支持设置padding、backgroundColor +- uni-popup 修复 nvue 下 v-show 报错 +## 1.4.23(2022-10-25) +- uni-datetime-picker 修复,支付宝小程序样式错乱,[详情](https://github.com/dcloudio/uni-app/issues/3861) + +- uni-nav-bar 修复 条件编译错误的bug +- uni-nav-bar 修复 nvue 环境 fixed 为 true 的情况下,无法置顶的 bug +## 1.4.22(2022-09-19) +- 优化 部分组件适配 uni-scss 主题色 +- uni-badge 修复 当 text 超过 max-num 时,badge 的宽度计算是根据 text 的长度计算,更改为 css 计算实际展示宽度,详见:[https://ask.dcloud.net.cn/question/150473](https://ask.dcloud.net.cn/question/150473) +- uni-calendar 修复 表头年月切换,导致改变当前日期为选择月1号,且未触发change事件 +- uni-data-select 修复 微信小程序下拉框出现后选择会点击到蒙板后面的输入框 +- uni-data-select 修复 点击的位置不准确 +- uni-data-select 新增 支持 disabled 属性 +- uni-datetime-picker 修复,反向选择日期范围,日期显示异常,[详情](https://ask.dcloud.net.cn/question/153401?item_id=212892&rf=false) +- uni-datetime-picker 修复 close事件无效的 bug +- uni-datetime-picker 修复 移动端 maskClick 无效的 bug,详见:[https://ask.dcloud.net.cn/question/140824?item_id=209458&rf=false](https://ask.dcloud.net.cn/question/140824?item_id=209458&rf=false) +- uni-fab 修复 小程序端由于 style 使用了对象导致报错,[详情](https://ask.dcloud.net.cn/question/152790?item_id=211778&rf=false) +- uni-fab 修复 nvue 环境下,具有 tabBar 时,fab 组件下部位置无法正常获取 --window-bottom 的bug,详见:[https://ask.dcloud.net.cn/question/110638?notification_id=826310](https://ask.dcloud.net.cn/question/110638?notification_id=826310) +- uni-forms 优化 根据 rules 自动添加 required 的问题 +- uni-forms 修复 item 未设置 require 属性,rules 设置 require 后,星号也显示的 bug,详见:[https://ask.dcloud.net.cn/question/151540](https://ask.dcloud.net.cn/question/151540) +- uni-nav-bar 修复 nvue 环境下 fixed 为 true 的情况下,无法置顶的 bug +- uni-notice-bar 新增 属性 fontSize,可修改文字大小。 +- uni-pagination 修复,未对主题色设置默认色,导致未引入 uni-scss 变量文件报错。 +- uni-pagination 修复,未对移动端当前页文字做主题色适配。 +- uni-pagination 修复 es 语言 i18n 错误 +## 1.4.21(2022-09-19) +- 修复,安装时未导入 uni-data-select 和 uni-tooltip 的问题。 +## 1.4.20(2022-07-25) +- uni-section 新增组件 +- uni-forms 修复 model 需要校验的值没有声明对应字段时,导致第一次不触发校验的bug + +## 1.4.19(2022-07-07) +- uni-data-picker 优化 pc端图标位置不正确的问题 +- uni-data-select 修复 pc端宽度异常的bug +## 1.4.18(2022-07-06) +- uni-forms 【重要】组件逻辑重构,部分用法旧版本不兼容,请注意兼容问题 +- uni-forms 【重要】组件使用 Provide/Inject 方式注入依赖,提供了自定义表单组件调用 uni-forms 校验表单的能力 +- uni-forms 新增 更多表单示例 +- uni-forms 新增 model 属性,等同于原 value/modelValue 属性,旧属性即将废弃 +- uni-forms 新增 validateTrigger 属性的 blur 值,仅 uni-easyinput 生效 +- uni-forms 新增 onFieldChange 方法,可以对子表单进行校验,可替代binddata方法 +- uni-forms 新增 子表单的 setRules 方法,配合自定义校验函数使用 +- uni-forms 新增 uni-forms-item 的 setRules 方法,配置动态表单使用可动态更新校验规则 +- uni-forms 修复 由 1.4.0 引发的 label 插槽不生效的bug +- uni-forms 修复 子组件找不到 setValue 报错的bug +- uni-forms 修复 uni-data-picker 在 uni-forms-item 中报错的bug +- uni-forms 修复 uni-data-picker 在 uni-forms-item 中宽度不正确的bug +- uni-forms 修复 表单校验顺序无序问题 +- uni-forms 优化 子表单组件uni-datetime-picker、uni-data-select、uni-data-picker的显示样式 +- uni-forms 优化 动态表单校验方式,废弃拼接name的方式 +- uni-breadcrumb 修复 微信小程序 separator 不显示问题 +- uni-data-checkbox 优化 在 uni-forms 中的依赖注入方式 +- uni-data-picker 修复 uni-data-picker 在 uni-forms-item 中宽度不正确的bug +- uni-data-picker 优化 显示样式 +- uni-data-select 优化 显示样式 +- uni-datetime-picker 修复 日历顶部年月及底部确认未国际化 bug +- uni-datetime-picker 优化 组件样式,调整了组件图标大小、高度、颜色等,与uni-ui风格保持一致 +- uni-easyinput 新增 在 uni-forms 1.4.0 中使用可以在 blur 时校验内容 +- uni-easyinput 新增 clear 事件,点击右侧叉号图标触发 +- uni-easyinput 新增 change 事件 ,仅在输入框失去焦点或用户按下回车时触发 +- uni-easyinput 优化 组件样式,组件获取焦点时高亮显示,图标颜色调整等 +- uni-easyinput 优化 clearable 显示策略 +- uni-file-picker 修复 在uni-forms下样式不生效的bug +- uni-nav-bar 修复 组件示例中插槽用法无法显示内容的bug +- uni-swipe-action 修复 vue3 下使用组件不能正常运行的Bug +- uni-swipe-action 修复 h5端点击click触发两次的Bug +- uni-table 修复 微信小程序存在无使用组件的问题 +## 1.4.17(2022-06-30) +- 支持 ios 安全区 +## 1.4.16(2022-06-06) +- uni-breadcrumb 新增 支持 uni.scss 修改颜色 +- uni-data-select 修复 localdata 赋值不生效的 bug +- uni-data-select 新增 支持选项禁用(数据选项设置 disabled: true 即禁用) +- uni-data-select 修复 当 value 为 0 时选择不生效的 bug +- uni-easyinput 修复 关闭图标某些情况下无法取消的bug +- uni-fav 新增 stat 属性 ,是否开启uni统计功能 +- uni-goods-nav 新增 stat属性,是否开启uni统计功能 +- uni-group 新增 stat属性,是否开启uni统计功能 +- uni-nav-bar 新增 stat 属性 ,可开启统计 title 上报 ,仅使用了title 属性且项目开启了uni统计生效 +- uni-search-bar 新增 readonly 属性,组件只读 +- uni-swipe-action 修复 isPC 找不到的Bug +- uni-swipe-action 修复 在 nvue 下 disabled 失效的bug +- uni-tooltip 修复 content 为空时仍然弹出的bug +## 1.4.15(2022-05-07) +- uni-data-picker 修复 字节小程序 本地数据无法选择下一级的Bug +- uni-data-select 新增 记住上次的选项(仅 collection 存在时有效) +- uni-search-bar 修复 vue3 input 事件不生效的bug +- uni-search-bar 修复 多余代码导致的bug +- uni-tooltip 更新 text 属性变更为 content +- uni-tooltip 更新 移除 width 属性 +- uni-tooltip 修复 组件根 text 嵌套组件 warning +## 1.4.14(2022-04-18) +- uni-datetime-picker 修复 Vue3 下动态赋值,单选类型未响应的 bug +- uni-easyinput 修复 默认值不生效的bug +## 1.4.13(2022-04-02) +- uni-calendar 修复 条件编译 nvue 不支持的 css 样式 +- uni-calendar 修复 startDate、 endDate 属性失效的 bug +- uni-data-picker 修复 nvue 不支持的 v-show 的 bug +- uni-data-picker 修复 条件编译 nvue 不支持的 css 样式 +- uni-datetime-picker 修复 Vue3 下动态赋值未响应的 bug +- uni-easyinput 修复 value不能为0的bug +- uni-popup 修复 弹出层内部无法滚动的bug +- uni-popup 修复 小程序中高度错误的bug +- uni-popup 修复 快速调用open出现问题的Bug +- uni-rate 修复 条件判断 `NaN` 错误的 bug +- uni-swipe-action 修复 按钮字体大小不能设置的bug +- uni-swipe-action 修复 h5和app端下报el错误的bug +- uni-swipe-action 修复 HBuilderX 1.4.X 版本中,h5和app端下报错的bug +## 1.4.12(2022-02-19) +- uni-collapse 修复 初始化的时候 ,open 属性失效的bug +- uni-data-checkbox 修复 multiple 为 true 时,v-model 的值为 null 报错的 bug +- uni-icons 优化 size 属性可以传入不带单位的字符串数值 +- uni-icons 优化 size 支持其他单位 +- uni-nav-bar 新增 left-width/right-width属性 ,可修改左右两侧的宽度 +- uni-popup 修复 safeArea 属性不能设置为false的bug +## 1.4.11(2022-01-21) +- uni-collapse 修复 微信小程序resize后组件收起的bug +- uni-countdown 修复 在微信小程序中样式不生效的bug +- uni-countdown 新增 update 方法 ,在动态更新时间后,刷新组件 +- uni-load-more 新增 showText属性 ,是否显示文本 +- uni-load-more 修复 nvue 平台下不显示文本的bug +- uni-load-more 修复 微信小程序平台样式选择器报警告的问题 +- uni-nav-bar 修复 在vue下,标题不垂直居中的bug +- uni-nav-bar 修复 height 属性类型错误 +- uni-nav-bar 新增 height 属性,可修改组件高度 +- uni-nav-bar 新增 dark 属性可可开启暗黑模式 +- uni-nav-bar 优化 标题字数过多显示省略号 +- uni-nav-bar 优化 插槽,插入内容可完全覆盖 +- uni-popup 修复 isMaskClick 失效的bug +- uni-popup 新增 cancelText \ confirmText 属性 ,可自定义文本 +- uni-popup 新增 maskBackgroundColor 属性 ,可以修改蒙版颜色 +- uni-popup 优化 maskClick属性 更新为 isMaskClick ,解决微信小程序警告的问题 + +## 1.4.10(2022-01-17) +- uni-card 修复 在vue页面下略缩图显示不正常的bug +- uni-datetime-picker 修复 clear-icon 属性在小程序平台不生效的 bug +- uni-datetime-picker 修复 日期范围选在小程序平台,必须多点击一次才能取消选中状态的 bug +- uni-fab 更新 组件依赖 +- +- uni-icons 修复 nvue 有些图标不显示的bug,兼容老版本图标 +- uni-icons 优化 示例可复制图标名称 +- uni-nav-bar 修复 color 属性不生效的bug +- uni-popup 修复 设置 safeArea 属性不生效的bug +- uni-popup 优化 组件示例 +- uni-popup 修复 vuedoc 文字错误 +## 1.4.9(2021-11-23) +- uni-ui 修复 vue3中某些scss变量无法找到的问题 +- uni-combox 优化 label、label-width 属性 +- uni-data-picker 修复 由上个版本引发的map、v-model等属性不生效的bug +- uni-file-picker 修复 参数为对象的情况下,url在某些情况显示错误的bug +- uni-icons 优化 兼容旧组件 type 值 +- uni-list 修复 在vue3中to属性在发行应用的时候报错的bug +- uni-scss 修复 vue3中scss语法兼容问题 +- uni-transition 修复 init 方法初始化问题 +## 1.4.8(2021-11-19) +- uni-fab 修复 阴影颜色不正确的bug +## 1.4.7(2021-11-19) +- uni-ui 新增 支持国际化 +- uni-ui 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- uni-ui 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-ui](https://uniapp.dcloud.io/component/uniui/uni-ui) +- uni-badge 修改 size 属性默认值调整为 small +- uni-badge 修改 type 属性,默认值调整为 error,info 替换 default +- uni-badge 修复 在字节小程序上样式不生效的 bug +- uni-calendar 修复 弹出层被 tabbar 遮盖 bug +- uni-card 重构插槽的用法 ,header 替换为 title +- uni-card 新增 actions 插槽 +- uni-card 新增 cover 封面图属性和插槽 +- uni-card 新增 padding 内容默认内边距离 +- uni-card 新增 margin 卡片默认外边距离 +- uni-card 新增 spacing 卡片默认内边距 +- uni-card 新增 shadow 卡片阴影属性 +- uni-card 取消 mode 属性,可使用组合插槽代替 +- uni-card 取消 note 属性 ,使用actions插槽代替 +- uni-collapse 优化 show-arrow 属性默认为true +- uni-collapse 新增 show-arrow 属性,控制是否显示右侧箭头 +- uni-countdown 新增 font-size 支持自定义字体大小 +- uni-data-checkbox 修复 在uni-forms中 modelValue 中不存在当前字段,当前字段必填写也不参与校验的问题 +- uni-data-checkbox 修复 单选 list 模式下 ,icon 为 left 时,选中图标不显示的问题 +- uni-data-checkbox 修复 在 uni-forms 中重置表单,错误信息无法清除的问题 +- uni-dateformat 优化 默认时间不再是当前时间,而是显示'-'字符 +- uni-datetime-picker 修复 hide-second 在移动端的 bug +- uni-datetime-picker 修复 单选赋默认值时,赋值日期未高亮的 bug +- uni-datetime-picker 修复 赋默认值时,移动端未正确显示时间的 bug +- uni-datetime-picker 新增 hide-second 属性,支持只使用时分,隐藏秒 +- uni-datetime-picker 优化 取消选中时(范围选)直接开始下一次选择, 避免多点一次 +- uni-datetime-picker 优化 移动端支持清除按钮,同时支持通过 ref 调用组件的 clear 方法 +- uni-datetime-picker 优化 调整字号大小,美化日历界面 +- uni-datetime-picker 优化 范围选择器在 pc 端过宽的问题 +- uni-datetime-picker 新增 支持作为 uni-forms 子组件相关功能 +- uni-datetime-picker 修复 在 uni-forms 中使用时,选择时间报 NAN 错误的 bug +- uni-datetime-picker 修复 type 属性动态赋值无效的 bug +- uni-datetime-picker 修复 ‘确认’按钮被 tabbar 遮盖 bug +- uni-datetime-picker 修复 组件未赋值时范围选左、右日历相同的 bug +- uni-datetime-picker 修复 范围选未正确显示当前值的 bug +- uni-datetime-picker 修复 h5 平台(移动端)报错 'cale' of undefined 的 bug +- uni-easyinput 修复 在 uni-forms 的动态表单中默认值校验不通过的 bug +- uni-easyinput 修复 在 uni-forms 中重置表单,错误信息无法清除的问题 +- uni-file-picker 新增 参数中返回 fileID 字段 +- uni-file-picker 修复 腾讯云传入fileID 不能回显的bug +- uni-file-picker 修复 选择图片后,不能放大的问题 +- uni-file-picker 修复 由于 0.2.11 版本引起的不能回显图片的Bug +- uni-file-picker 新增 clearFiles(index) 方法,可以手动删除指定文件 +- uni-file-picker 修复 v-model 值设为 null 报错的Bug +- uni-file-picker 修复 return-type="object" 时,无法删除文件的Bug +- uni-file-picker 修复 auto-upload 属性失效的Bug +- uni-forms 修复 label 插槽不生效的bug +- uni-forms 修复 没有添加校验规则的字段依然报错的Bug +- uni-forms 修复 重置表单错误信息无法清除的问题 +- uni-forms 修复 表单验证只生效一次的问题 +- uni-icons 新增 更多图标 +- uni-icons 优化 自定义图标使用方式 +- uni-link 修复 在 nvue 下不显示的 bug +- uni-pagination 修复 current 、value 属性未监听,导致高亮样式失效的 bug +- uni-rate 优化 默认值修改为 0 颗星 +- uni-search-bar 修复 value 属性与 modelValue 属性不兼容的Bug +- uni-swipe-action 新增 close-all 方法,关闭所有已打开的组件 +- uni-swipe-action 新增 resize() 方法,在非微信小程序、h5、app-vue端出现不能滑动的问题的时候,重置组件 +- uni-swipe-action 修复 app 端偶尔出现类似 Page[x][-x,xx;-x,xx,x,x-x] 的问题 +- uni-swipe-action 优化 微信小程序、h5、app-vue 滑动逻辑,避免出现动态新增组件后不能滑动的问题 +- uni-tag 新增 提供组件设计资源,组件样式调整 +- uni-tag 移除 插槽 +- uni-tag 移除 type 属性的 royal 选项 +- uni-tag type 不是 default 时,size 为 small 字体大小显示不正确 +## 1.4.2(2021-08-20) +- 新增 uni-ui 组件支持国际化 i18n +- uni-collapse 优化 show-arrow 属性默认为true +- uni-collapse 新增 show-arrow 属性,控制是否显示右侧箭头 +- uni-data-checkbox 修复 单选 list 模式下 ,icon 为 left 时,选中图标不显示的问题 +- uni-easyinput 修复 在 uni-forms 的动态表单中默认值校验不通过的 bug +- uni-file-picker 修复 由于 0.2.11 版本引起的不能回显图片的Bug +- uni-file-picker 新增 clearFiles(index) 方法,可以手动删除指定文件 +- uni-file-picker 修复 v-model 值设为 null 报错的Bug +- uni-swipe-action 新增 close-all 方法,关闭所有已打开的组件 +- uni-swipe-action 新增 resize() 方法,在非微信小程序、h5、app-vue端出现不能滑动的问题的时候,重置组件 +- uni-swipe-action 修复 app 端偶尔出现类似 Page[x][-x,xx;-x,xx,x,x-x] 的问题 +- uni-swipe-action 优化 微信小程序、h5、app-vue 滑动逻辑,避免出现动态新增组件后不能滑动的问题 +## 1.4.0(2021-08-13) +- uni-calendar 修复 弹出层被 tabbar 遮盖 bug +- uni-data-checkbox 修复 在 uni-forms 中重置表单,错误信息无法清除的问题 +- uni-dateformat 调整 默认时间不再是当前时间,而是显示'-'字符 +- uni-datetime-picker 新增 适配 vue3 +- uni-datetime-picker 新增 支持作为 uni-forms 子组件相关功能 +- uni-datetime-picker 修复 在 uni-forms 中使用时,选择时间报 NAN 错误的 bug +- uni-datetime-picker 修复 type 属性动态赋值无效的 bug +- uni-datetime-picker 修复 ‘确认’按钮被 tabbar 遮盖 bug +- uni-datetime-picker 修复 组件未赋值时范围选左、右日历相同的 bug +- uni-datetime-picker 修复 范围选未正确显示当前值的 bug +- uni-datetime-picker 修复 h5 平台(移动端)报错 'cale' of undefined 的 bug +- uni-easyinput 修复 在 uni-forms 中重置表单,错误信息无法清除的问题 +- uni-file-picker 修复 return-type="object" 时,无法删除文件的Bug +- uni-file-picker 修复 auto-upload 属性失效的Bug +- uni-forms 修复 没有添加校验规则的字段依然报错的Bug +- uni-forms 修复 重置表单错误信息无法清除的问题 +- uni-forms 优化 组件文档 +- uni-forms 修复 表单验证只生效一次的问题 +- uni-tag type 不是 default 时,size 为 small 字体大小显示不正确 +## 1.3.9(2021-08-02) +- uni-datetime-picker 新增 return-type 属性支持返回 date 日期对象 +- uni-file-picker 修复 fileExtname属性不指定值报错的Bug +- uni-file-picker 修复 在某种场景下图片不回显的Bug +- uni-link 支持自定义插槽 +## 1.3.8(2021-07-31) +- uni-ui 组件兼容 vue3 +- uni-collapse 修复 由1.2.0版本引起的 change 事件返回 undefined 的Bug +- uni-collapse 优化 组件示例 +- uni-collapse 新增 组件折叠动画 +- uni-collapse 新增 value\v-model 属性 ,动态修改面板折叠状态 +- uni-collapse 新增 title 插槽 ,可定义面板标题 +- uni-collapse 新增 border 属性 ,显示隐藏面板内容分隔线 +- uni-collapse 新增 title-border 属性 ,显示隐藏面板标题分隔线 +- uni-collapse 修复 resize 方法失效的Bug +- uni-collapse 修复 change 事件返回参数不正确的Bug +- uni-collapse 优化 H5、App 平台自动更具内容更新高度,无需调用 reszie() 方法 +- uni-data-checkbox 优化 在uni-forms组件,与label不对齐的问题 +- uni-data-checkbox 修复 单选默认值为0不能选中的Bug +- uni-easyinput 优化 errorMessage 属性支持 Boolean 类型 +- uni-file-picker 修复 return-type为object下,返回值不正确的Bug +- uni-file-picker 修复(重要) H5 平台下如果和uni-forms组件一同使用导致页面卡死的问题 +- uni-file-picker 优化 h5平台下上传文件导致页面卡死的问题 +- uni-forms 修复 vue2 下条件编译导致destroyed生命周期失效的Bug +- uni-forms 修复 1.2.1 引起的示例在小程序平台报错的Bug +- uni-forms 修复 动态校验表单,默认值为空的情况下校验失效的Bug +- uni-forms 修复 不指定name属性时,运行报错的Bug +- uni-forms 优化 label默认宽度从65调整至70,使required为true且四字时不换行 +- uni-forms 优化 组件示例,新增动态校验示例代码 +- uni-forms 优化 组件文档,使用方式更清晰 +- uni-list 修复 与其他组件嵌套使用时,点击失效的Bug +- uni-swipe-action 修复 跨页面修改组件数据 ,导致不能滑动的问题 +## 1.3.7(2021-07-16) +- uni-ui 兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +- uni-datetime-picker 修复 单选日期类型,初始赋值后不在当前日历的 bug +- uni-datetime-picker 新增 clearIcon 属性,显示框的清空按钮可配置显示隐藏(仅 pc 有效) +- uni-datetime-picker 优化 移动端移除显示框的清空按钮,无实际用途 +- uni-datetime-picker 修复 组件赋值为空,界面未更新的 bug +- uni-datetime-picker 修复 start 和 end 不能动态赋值的 bug +- uni-datetime-picker 修复 范围选类型,用户选择后再次选择右侧日历(结束日期)显示不正确的 bug +## 1.3.6(2021-07-09) +- uni-data-checkbox 优化 删除无用日志 +- uni-data-checkbox 修复 由 0.1.9 引起的非 nvue 端图标不显示的问题 +- uni-data-checkbox 修复 nvue 黑框样式问题 +- uni-datetime-picker 修复 范围选择不能动态赋值的 bug +- uni-datetime-picker 修复 范围选择的初始时间在一个月内时,造成无法选择的bug +- uni-datetime-picker 优化 弹出层在超出视窗边缘定位不准确的问题 +- uni-datetime-picker 修复 范围起始点样式的背景色与今日样式的字体前景色融合,导致日期字体看不清的 bug +- uni-datetime-picker 优化 弹出层在超出视窗边缘被遮盖的问题 +- uni-datetime-picker 新增 maskClick 事件 +- uni-datetime-picker 修复 特殊情况日历 rpx 布局错误的 bug,rpx -> px +- uni-datetime-picker 修复 范围选择时清空返回值不合理的bug,['', ''] -> [] +- uni-datetime-picker 新增 日期时间显示框支持插槽 +- uni-file-picker 修复 sourceType 缺少默认值导致 ios 无法选择文件 +- uni-file-picker 优化 解耦与uniCloud的强绑定关系 ,如不绑定服务空间,默认autoUpload为false且不可更改 +- uni-table 新增 uni-th 支持 date 日期筛选范围 +- uni-table 新增 uni-th 支持 range 筛选范围 +- uni-table 新增 uni-th 筛选功能 +## 1.3.5(2021-07-02) +- uni-card 优化 图文卡片无图片加载时,提供占位图标 +- uni-card 新增 header 插槽,自定义卡片头部( 图文卡片 mode="style" 时,不支持) +- uni-card 修复 thumbnail 不存在仍然占位的 bug +- uni-data-checkbox 修复 selectedTextColor 属性不生效的Bug +- uni-datetime-picker 优化 添加 uni-icons 依赖 +- uni-easyinput 修复 confirmType 属性(仅 type="text" 生效)导致多行文本框无法换行的 bug +- uni-file-picker 修复 由 0.0.10 版本引发的 returnType 属性失效的问题 +- uni-file-picker 优化 文件上传后进度条消失时机 +- uni-file-picker 修复 在uni-forms 中,删除文件 ,获取的值不对的Bug +- uni-forms 修复 pattern 属性在微信小程序平台无效的问题 +## 1.3.4(2021-06-25) +- uni-badge 优化 示例项目 +- uni-countdown 修复 uni-countdown 重复赋值跳两秒的 bug +- uni-easyinput 修复 passwordIcon 属性拼写错误的 bug +- uni-forms 修复 validate-trigger属性为submit且err-show-type属性为toast时不能弹出的Bug +- uni-forms 修复 只写setRules方法而导致校验不生效的Bug +- uni-forms 修复 由上个办法引发的错误提示文字错位的Bug +- uni-forms 修复 不设置 label 属性 ,无法设置label插槽的问题 +- uni-forms 修复 不设置label属性,label-width属性不生效的bug +- uni-forms 修复 setRules 方法与rules属性冲突的问题 +- uni-link 新增 download 属性,H5平台下载文件名 +- uni-popup 新增 mask-click 遮罩层点击事件 +- uni-popup 修复 nvue 平台中间弹出后,点击内容,再点击遮罩无法关闭的Bug +- uni-tag 修复 uni-tag 在字节跳动小程序上 css 类名编译错误的 bug +## 1.3.3(2021-06-18) +- uni-easyinput 新增 passwordIcon 属性,当type=password时是否显示小眼睛图标 +- uni-easyinput 修复 confirmType 属性不生效的问题 +- uni-easyinput 修复 disabled 状态可清出内容的 bug +- uni-file-picker 修复 删除文件时无法触发 v-model 的Bug +- uni-popup 修复 H5平台中间弹出后,点击内容,再点击遮罩无法关闭的Bug +- uni-popup 修复 错误的 watch 字段 +- uni-popup 修复 safeArea 属性不生效的问题 +- uni-popup 修复 点击内容,再点击遮罩无法关闭的Bug +## 1.3.2(2021-06-04) +- uni-data-checkbox 新增 map 属性,可以方便映射text/value属性 +- uni-data-checkbox 修复 不关联服务空间的情况下组件报错的Bug +- uni-data-picker 修复 上个版本引出的本地数据无法选择带有children的2级节点 +- uni-forms 修复 动态删减数据导致报错的问题 +- uni-forms 新增 modelValue 属性 ,value 即将废弃 +- uni-forms 新增 uni-forms-item 可以设置单独的 rules +- uni-forms 新增 validate 事件增加 keepitem 参数,可以选择那些字段不过滤 +- uni-forms 优化 submit 事件重命名为 validate +- uni-data-picker 修复 无法加载云端数据的问题 +- uni-data-picker 修复 v-model无效问题 +- uni-data-picker 修复 loaddata 为空数据组时加载时间过长问题 +- uni-datetime-picker 修复 图标在小程序上不显示的 bug +- uni-datetime-picker 优化 重命名引用组件,避免潜在组件命名冲突 +- uni-datetime-picker 优化 代码目录扁平化 +- uni-tag 修复 未定义 sass 变量 "$uni-color-royal" 的bug +## 1.3.1(2021-05-14) +- uni-badge 新增 uni-badge 的 absolute 属性,支持定位 +- uni-badge 新增 uni-badge 的 offset 属性,支持定位偏移 +- uni-badge 新增 uni-badge 的 is-dot 属性,支持仅显示有一个小点 +- uni-badge 新增 uni-badge 的 max-num 属性,支持自定义封顶的数字值,超过 99 显示99+ +- uni-badge 优化 uni-badge 属性 custom-style, 支持以对象形式自定义样式 +- uni-badge 修复 uni-badge 在 App 端,数字小于10时不是圆形的bug +- uni-badge 修复 uni-badge 在父元素不是 flex 布局时,宽度缩小的bug +- uni-badge 新增 uni-badge 属性 custom-style, 支持自定义样式 +- uni-datetime-picker 修复 ios 下不识别 '-' 日期格式的 bug +- uni-datetime-picker 优化 pc 下弹出层添加边框和阴影 +- uni-datetime-picker 修复 在 admin 中获取弹出层定位错误的bug +- uni-datetime-picker 修复 type 属性向下兼容,默认值从 date 变更为 datetime +- uni-datetime-picker 支持日历形式的日期+时间的范围选择 +- uni-steps 修复 uni-steps 横向布局时,多行文字高度不合理的 bug +- uni-countdown 修复 uni-countdown 不能控制倒计时的 bug +- uni-tag 修复 royal 类型无效的bug +- uni-tag 修复 uni-tag 宽度不自适应的bug +- uni-tag 新增 uni-tag 支持属性 custom-style 自定义样式 +- uni-link 新增 href 属性支持 tel:|mailto: +- uni-popup 修复 组件内放置 input 、textarea 组件,无法聚焦的问题 +- uni-popup 新增 type 属性的 left\right 值,支持左右弹出 +- uni-popup 新增 open(String:type) 方法参数 ,可以省略 type 属性 ,直接传入类型打开指定弹窗 +- uni-popup 新增 backgroundColor 属性,可定义主窗口背景色,默认不显示背景色 +- uni-popup 新增 safeArea 属性,是否适配底部安全区 +- uni-popup 修复 App\h5\微信小程序底部安全区占位不对的Bug +- uni-popup 修复 App 端弹出等待的Bug +- uni-popup 优化 提升低配设备性能,优化动画卡顿问题 +- uni-popup 优化 更简单的组件自定义方式 +- uni-table 修复 示例项目缺少组件的Bug +- uni-forms 修复 自定义检验器失效的问题 +- uni-title 修复 示例项目缺少组件的Bug +- uni-transition 修复 示例项目缺少组件的Bug +- uni-swiper-dot 修复 示例项目缺少组件的Bug +- uni-ui 新增 组件示例地址 +## 1.3.0(2021-04-23) +- uni-combox 优化 添加依赖 uni-icons, 导入后自动下载依赖 +- uni-data-picker 修复 非树形数据有 where 属性查询报错的问题 +- uni-fav 优化 添加依赖 uni-icons, 导入后自动下载依赖 +- uni-goods-nav 优化 添加依赖 uni-icons, 导入后自动下载依赖 +- uni-nav-bar 优化 添加依赖 uni-icons, 导入后自动下载依赖 +- uni-notice-bar 优化 添加依赖 uni-icons, 导入后自动下载依赖 +- uni-number-box 修复 uni-number-box 浮点数运算不精确的 bug +- uni-number-box 修复 uni-number-box change 事件触发不正确的 bug +- uni-number-box 新增 uni-number-box v-model 双向绑定 +- uni-rate 修复 布局变化后 uni-rate 星星计算不准确的 bug +- uni-rate 优化 添加依赖 uni-icons, 导入 uni-rate 自动下载依赖 +- uni-search-bar 优化 添加依赖 uni-icons, 导入后自动下载依赖 +- uni-steps 优化 添加依赖 uni-icons, 导入后自动下载依赖 +- uni-transition 新增 通过方法自定义动画 +- uni-transition 新增 custom-class 非 NVUE 平台支持自定义 class 定制样式 +- uni-transition 优化 动画触发逻辑,使动画更流畅 +- uni-transition 优化 支持单独的动画类型 +- uni-transition 优化 文档示例 +## 1.2.13(2021-04-16) +- uni-ui 新增 uni-data-picker 支持云端非树形表结构数据 +- uni-ui 修复 uni-data-checkbox nvue 下无法选中的问题 +- uni-ui 修复 uni-data-picker 根节点 parent_field 字段等于null时选择界面错乱问题 +- uni-ui 修复 uni-file-picker 选择的文件非 file-extname 字段指定的扩展名报错的Bug +- uni-ui 修复 uni-swipe-action 报错 nv_navigator is not defined 的bug +- uni-ui 修复 uni-load-more 在首页使用时,h5 平台报 'uni is not defined' 的 bug +- uni-ui 优化 uni-file-picker file-extname 字段支持字符串写法,多个扩展名需要用逗号分隔 +- uni-ui 优化 uni-pagination PC 和 移动端适配不同的 ui +- uni-ui 更新 uni-file-picker 组件示例 +- uni-ui 修复 uni-nav-bar 当 fixed 属性为 true 时铺不满屏幕的 bug +- uni-ui 新增 uni-search-bar 的 focus 事件 +- uni-ui 修复 uni-rate 属性 margin 值为 string 组件失效的 bug +- uni-data-picker 修复 本地数据概率无法回显时问题 +- uni-table 新增 sortable 属性,是否开启单列排序 +- uni-table 优化 表格多选逻辑 +## 1.2.12(2021-03-23) +- uni-ui 新增 uni-datetime-picker 的 hide-second 属性、border 属性; +- uni-ui 修复 uni-datetime-picker 选择跟显示的日期不一样的 bug, +- uni-ui 修复 uni-datetime-picker change事件触发2次的 bug +- uni-ui 修复 uni-datetime-picker 分、秒 end 范围错误的 bug +- uni-ui 新增 uni-tr selectable 属性,用于 type=selection 时,设置某行是否可由全选按钮控制 +- uni-ui 新增 uni-data-checkbox 新增 disabled属性,支持nvue +- uni-ui 优化 uni-data-checkbox 无选项时提示“暂无数据” +- uni-ui 优化 uni-data-checkbox 默认颜色显示 +- uni-ui 新增 uni-link href 属性支持 tel:|mailto: +- uni-ui 新增 uni-table 示例demo +- uni-ui 修复 uni-data-picker 微信小程序某些情况下无法选择的问题,事件无法触发的问题 +- uni-ui 修复 uni-nav-bar easycom 下,找不到 uni-status-bar 的bug +- uni-ui 修复 uni-easyinput 示例在 qq 小程序上的bug +- uni-ui 修复 uni-forms 动态显示uni-forms-item的情况下,submit 方法获取值错误的Bug +- uni-ui 调整 cli 项目 建议使用 easycom 方式引用组件,如使用按需引用,需手动维护组件内部引用 + +## 1.2.11(2021-02-24) +- 调整为uni_modules目录规范 +- uni-data-picker 新增 数据驱动的picker选择器 +- uni-file-picker 新增 文件选择上传 +- uni-row 新增 栅格系统 +- uni-data-checkbox 优化 支持 nvue +- uni-forms 修复 偶发性获取表单值错误的Bug +- uni-forms 修复 校验 uni-data-picker value 为 0 时,返回值错误的Bug +- uni-forms 修复 uni-forms-item 组件隐藏时依然触发校验的bug +- uni-forms 优化 实时校验 +- uni-forms 优化 兼容nvue页面 +- uni-easyinput 优化 兼容nvue页面 +- uni-group 优化 兼容nvue页面 +- uni-popup 优化 组件适配 PC +- uni-fab 优化 适配 PC +- uni-swiper-dot 优化 适配 PC +- uni-rate 优化 适配 PC +- uni-notice-bar 优化 适配 PC +- uni-indexed-list 优化 适配 PC +- uni-combox 优化 适配 PC +- uni-transition 优化 适配 PC +- uni-nav-bar 优化 适配 PC +- uni-swipe-action 优化 适配 PC diff --git a/uni_modules/uni-ui/components/uni-ui/uni-ui.vue b/uni_modules/uni-ui/components/uni-ui/uni-ui.vue new file mode 100644 index 0000000..0970892 --- /dev/null +++ b/uni_modules/uni-ui/components/uni-ui/uni-ui.vue @@ -0,0 +1,7 @@ + + + diff --git a/uni_modules/uni-ui/package.json b/uni_modules/uni-ui/package.json new file mode 100644 index 0000000..857ed51 --- /dev/null +++ b/uni_modules/uni-ui/package.json @@ -0,0 +1,129 @@ +{ + "id": "uni-ui", + "displayName": "uni-ui", + "version": "1.4.27", + "description": "uni-ui 是基于uni-app的、全端兼容的、高性能UI框架", + "keywords": [ + "uni-ui", + "uniui", + "UI组件库", + "ui框架", + "ui库" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "^3.2.10" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": [ + "uni-badge", + "uni-calendar", + "uni-card", + "uni-collapse", + "uni-combox", + "uni-countdown", + "uni-data-checkbox", + "uni-data-picker", + "uni-data-select", + "uni-dateformat", + "uni-datetime-picker", + "uni-drawer", + "uni-easyinput", + "uni-fab", + "uni-fav", + "uni-file-picker", + "uni-forms", + "uni-goods-nav", + "uni-grid", + "uni-group", + "uni-icons", + "uni-indexed-list", + "uni-link", + "uni-list", + "uni-load-more", + "uni-nav-bar", + "uni-notice-bar", + "uni-number-box", + "uni-pagination", + "uni-popup", + "uni-rate", + "uni-row", + "uni-search-bar", + "uni-section", + "uni-segmented-control", + "uni-steps", + "uni-swipe-action", + "uni-swiper-dot", + "uni-table", + "uni-tag", + "uni-title", + "uni-tooltip", + "uni-transition" + ], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y", + "京东": "u" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-ui/readme.md b/uni_modules/uni-ui/readme.md new file mode 100644 index 0000000..23f8456 --- /dev/null +++ b/uni_modules/uni-ui/readme.md @@ -0,0 +1,247 @@ +> 当前插件不包含示例页面 ,如需示例请在 HBuiderX 中新建 `hello uni-app > 扩展组件` 中查看 +> +> 代码示例地址 :[https://ext.dcloud.net.cn/plugin?id=4941](https://ext.dcloud.net.cn/plugin?id=4941) +> +> 组件演示地址:[https://hellouniapp.dcloud.net.cn](https://hellouniapp.dcloud.net.cn/pages/extUI/badge/badge) +> +> 组件文档地址:[https://uniapp.dcloud.io/component/uniui/uni-ui](https://uniapp.dcloud.io/component/uniui/uni-ui) + +# uni-ui 介绍 + +## uni-ui产品特点 + +### 1. 高性能 + +目前为止,在小程序和混合app领域,暂时还没有比 `uni-ui` 更高性能的框架。 +- 自动差量更新数据 + +虽然uni-app支持小程序自定义组件,所有小程序的ui库都可以用。但小程序自定义组件的ui库都需要使用setData手动更新数据,在大数据量时、或高频更新数据时,很容易产生性能问题。 + +而 `uni-ui` 属于vue组件,uni-app引擎底层自动diff更新数据。当然其实插件市场里众多vue组件都具备这个特点。 +- 优化逻辑层和视图层通讯折损 + +非H5,不管是小程序还是App,不管是app的webview渲染还是原生渲染,全都是逻辑层和视图层分离的。这里就有一个逻辑层和视图层通讯的折损问题。 +比如在视图层拖动一个可跟手的组件,由于通讯的损耗,用js监听很难做到实时跟手。 + +这时就需要使用css动画以及平台底层提供的wxs、bindingx等技术。不过这些技术都比较复杂,所以 `uni-ui` 里做了封装,在需要跟手式操作的ui组件,比如swiperaction列表项左滑菜单,就在底层使用了这些技术,实现了高性能的交互体验 +- 背景停止 + +很多ui组件是会一直动的,比如轮播图、跑马灯。即便这个窗体被新窗体挡住,它在背景层仍然在消耗着硬件资源。在Android的webview版本为chrome66以上,背景操作ui会引发很严重的性能问题,造成前台界面明显卡顿。 + +而 `uni-ui` 的组件,会自动判断自己的显示状态,在组件不再可见时,不会再消耗硬件资源。 + +### 2. 全端 + + `uni-ui` 的组件都是多端自适应的,底层会抹平很多小程序平台的差异或bug。 + +比如导航栏navbar组件,会自动处理不同端的状态栏。 +比如swiperaction组件,在app和微信小程序上会使用交互体验更好的wxs技术,但在不支持wxs的其他小程序端会使用js模拟类似效果。 + + `uni-ui` 还支持nvue原生渲染,[详见](https://github.com/dcloudio/uni-ui/tree/nvue-uni-ui) + +未来 `uni-ui` 还会支持pc等大屏设备。 + +### 3. 与uni统计自动集成实现免打点 + +uni统计是优秀的多端统计平台,见[tongji.dcloud.net.cn](https://tongji.dcloud.net.cn)。 + +除了一张报表看全端,它的另一个重要特点是免打点。 +比如使用 `uni-ui` 的navbar标题栏、收藏、购物车等组件,均可实现自动打点,统计页面标题等各种行为数据。 +当然你也可以关闭uni统计,这不是强制的。 + +### 4. 主题扩展 + + `uni-ui` 支持[uni.scss](https://uniapp.dcloud.io/collocation/uni-scss),可以方便的切换App的风格。 + +ui是一种需求非常发散的产品,DCloud官方也无意用 `uni-ui` 压制第三方ui插件的空间,但官方有义务在性能和多端方面提供一个开源的标杆给大家。 + +我们欢迎更多优秀的ui组件出现,也欢迎更多人贡献 `uni-ui` 的主题风格,满足更多用户的需求。 + + +## 快速开始 + +uni-ui支持 HBuilderX直接新建项目模板、npm安装和单独导入个别组件等多种使用方式 + +### 在HBuilderX 新建uni-app项目的模板中,选择uni-ui模板 +![HBuilderX内创建uni-ui项目](https://img.cdn.aliyun.dcloud.net.cn/uni-app/doc/create-uni-ui-project.jpg) + +由于uni-app独特的[easycom](https://uniapp.dcloud.io/collocation/pages?id=easycom)技术,可以免引用、注册,直接使用各种符合规则的vue组件。 + +在代码区键入`u`,拉出各种内置或uni-ui的组件列表,选择其中一个,即可使用该组件。 + +光标放在组件名称上,按F1,可以查阅组件的文档。 + +![uni-ui代码块](https://img.cdn.aliyun.dcloud.net.cn/uni-app/doc/uni-ui-snippet.jpg) + +### 通过 uni_modules 单独安装组件 +如果你没有创建uni-ui项目模板,也可以在你的工程里,通过 uni_modules 单独安装需要的某个组件。下表为uni-ui的扩展组件清单,点击每个组件在详情页面可以导入组件到项目下,导入后直接使用即可,无需import和注册。 + +|组件名|组件说明| +|---|---| +|uni-badge|[数字角标](https://ext.dcloud.net.cn/plugin?name=uni-badge)| +|uni-calendar|[日历](https://ext.dcloud.net.cn/plugin?name=uni-calendar)| +|uni-card|[卡片](https://ext.dcloud.net.cn/plugin?name=uni-card)| +|uni-collapse|[折叠面板](https://ext.dcloud.net.cn/plugin?name=uni-collapse)| +|uni-combox|[组合框](https://ext.dcloud.net.cn/plugin?name=uni-combox)| +|uni-countdown|[倒计时](https://ext.dcloud.net.cn/plugin?name=uni-countdown)| +|uni-data-checkbox|[数据选择器](https://ext.dcloud.net.cn/plugin?name=uni-data-checkbox)| +|uni-data-picker|[数据驱动的picker选择器](https://ext.dcloud.net.cn/plugin?name=uni-data-picker)| +|uni-dateformat|[日期格式化](https://ext.dcloud.net.cn/plugin?name=uni-dateformat)| +|uni-datetime-picker|[日期选择器](https://ext.dcloud.net.cn/plugin?name=uni-datetime-picker)| +|uni-drawer|[抽屉](https://ext.dcloud.net.cn/plugin?name=uni-drawer)| +|uni-easyinput|[增强输入框](https://ext.dcloud.net.cn/plugin?name=uni-easyinput)| +|uni-fab|[悬浮按钮](https://ext.dcloud.net.cn/plugin?name=uni-fab)| +|uni-fav|[收藏按钮](https://ext.dcloud.net.cn/plugin?name=uni-fav)| +|uni-file-picker|[文件选择上传](https://ext.dcloud.net.cn/plugin?name=uni-file-picker)| +|uni-forms|[表单](https://ext.dcloud.net.cn/plugin?name=uni-forms)| +|uni-goods-nav|[商品导航](https://ext.dcloud.net.cn/plugin?name=uni-goods-nav)| +|uni-grid|[宫格](https://ext.dcloud.net.cn/plugin?name=uni-grid)| +|uni-group|[分组](https://ext.dcloud.net.cn/plugin?name=uni-group)| +|uni-icons|[图标](https://ext.dcloud.net.cn/plugin?name=uni-icons)| +|uni-indexed-list|[索引列表](https://ext.dcloud.net.cn/plugin?name=uni-indexed-list)| +|uni-link|[超链接](https://ext.dcloud.net.cn/plugin?name=uni-link)| +|uni-list|[列表](https://ext.dcloud.net.cn/plugin?name=uni-list)| +|uni-load-more|[加载更多](https://ext.dcloud.net.cn/plugin?name=uni-load-more)| +|uni-nav-bar|[自定义导航栏](https://ext.dcloud.net.cn/plugin?name=uni-nav-bar)| +|uni-notice-bar|[通告栏](https://ext.dcloud.net.cn/plugin?name=uni-notice-bar)| +|uni-number-box|[数字输入框](https://ext.dcloud.net.cn/plugin?name=uni-number-box)| +|uni-pagination|[分页器](https://ext.dcloud.net.cn/plugin?name=uni-pagination)| +|uni-popup|[弹出层](https://ext.dcloud.net.cn/plugin?name=uni-popup)| +|uni-rate|[评分](https://ext.dcloud.net.cn/plugin?name=uni-rate)| +|uni-row|[布局-行](https://ext.dcloud.net.cn/plugin?name=uni-row)| +|uni-search-bar|[搜索栏](https://ext.dcloud.net.cn/plugin?name=uni-search-bar)| +|uni-segmented-control|[分段器](https://ext.dcloud.net.cn/plugin?name=uni-segmented-control)| +|uni-steps|[步骤条](https://ext.dcloud.net.cn/plugin?name=uni-steps)| +|uni-swipe-action|[滑动操作](https://ext.dcloud.net.cn/plugin?name=uni-swipe-action)| +|uni-swiper-dot|[轮播图指示点](https://ext.dcloud.net.cn/plugin?name=uni-swiper-dot)| +|uni-table|[表格](https://ext.dcloud.net.cn/plugin?name=uni-table)| +|uni-tag|[标签](https://ext.dcloud.net.cn/plugin?name=uni-tag)| +|uni-title|[章节标题](https://ext.dcloud.net.cn/plugin?name=uni-title)| +|uni-transition|[过渡动画](https://ext.dcloud.net.cn/plugin?name=uni-transition)| + + +使用 `uni_modules` 方式安装组件库,可以直接通过插件市场导入,通过右键菜单快速更新组件,不需要引用、注册,直接在页面中使用 `uni-ui` 组件。[点击安装 uni-ui 组件库](https://ext.dcloud.net.cn/plugin?id=55) + +**注意:下载最新的组件目前仅支持 uni_modules ,非 uni_modules 版本最高支持到组件的1.2.10版本** + +如不能升级到 `uni_modules` 版本,可以使用 `uni_modules` 安装好对应组件,将组件拷贝到对应目录。 + +例如需更新 `uni-list`和`uni-badge` ,将 `uni_modules>uni-list>components`和`uni_modules>uni-badege>components`下所有目录拷贝到如下目录即可: + + +**目录示例** + +```json +┌─components 组件目录 +│ ├─uni-list list 列表目录 +│ │ └─uni-list.vue list 组件文件 +│ ├─uni-list-item list-item 列表目录 +│ │ └─uni-list-item.vue list 组件文件 +│ ├─uni-badge badge 角标目录 +│ │ └─uni-badge.vue badge 组件文件 +│ └─ //.... 更多组件文件 +├─pages 业务页面文件存放的目录 +│ ├─index +│ │ └─index.vue index示例页面 +├─main.js Vue初始化入口文件 +├─App.vue 应用配置,用来配置App全局样式以及监听 应用生命周期 +├─manifest.json 配置应用名称、appid、logo、版本等打包信息,详见 +└─pages.json 配置页 + +``` + +### 通过 `uni_modules` 导入全部组件 +如果想一次把所有uni-ui组件导入到项目中,只需要导入一个 `uni-ui` 组件即可 [点击去导入](https://ext.dcloud.net.cn/plugin?id=55)。 + +如果没有自动导入其他组件,可以在 uni-ui 组件目录上右键选择 `安装三方插件依赖` 即可。 + + + +### npm安装 +在 `vue-cli` 项目中可以使用 `npm` 安装 `uni-ui` 库 ,或者直接在 `HBuilderX` 项目中使用 `npm` 。 + +> **注意** +> cli 项目默认是不编译 `node_modules` 下的组件的,导致条件编译等功能失效 ,导致组件异常 +> 需要在根目录创建 `vue.config.js` 文件 ,增加 `@dcloudio/uni-ui` 包的编译即可正常 +> ```javascript +> // vue.config.js +> module.exports = { +> transpileDependencies:['@dcloudio/uni-ui'] +> } +> ``` + + + +**准备 sass** + +`vue-cli` 项目请先安装 sass 及 sass-loader,如在 HBuliderX 中使用,可跳过此步。 + +- 安装 sass +``` + npm i sass -D 或 yarn add sass -D +``` + +- 安装 sass-loader +``` +npm i sass-loader@10.1.1 -D 或 yarn add sass-loader@10.1.1 -D +``` + +> 如果 `node` 版本小于 16 ,sass-loader 请使用低于 @11.0.0 的版本,[sass-loader@11.0.0 不支持 vue@2.6.12 ](https://stackoverflow.com/questions/66082397/typeerror-this-getoptions-is-not-a-function) +> 如果 `node` 版本大于 16 , `sass-loader` 建议使用 `v8.x` 版本 + +**安装 uni-ui** + +``` +npm i @dcloudio/uni-ui 或 yarn add @dcloudio/uni-ui +``` + + + +**配置easycom** + +使用 `npm` 安装好 `uni-ui` 之后,需要配置 `easycom` 规则,让 `npm` 安装的组件支持 `easycom` + +打开项目根目录下的 `pages.json` 并添加 `easycom` 节点: + +```javascript +// pages.json +{ + "easycom": { + "autoscan": true, + "custom": { + // uni-ui 规则如下配置 + "^uni-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue" + } + }, + + // 其他内容 + pages:[ + // ... + ] +} + +``` + +在 ``template`` 中使用组件: + +```html + + + +``` + + **注意** + - uni-ui 现在只推荐使用 `easycom` ,如自己引用组件,可能会出现组件找不到的问题 + - 使用 npm 安装的组件,默认情况下 babel-loader 会忽略所有 node_modules 中的文件 ,导致条件编译失效,需要通过配置 `vue.config.js` 解决: + ```javascript + // 在根目录创建 vue.config.js 文件,并配置如下 + module.exports = { + transpileDependencies: ['@dcloudio/uni-ui'] + } + ``` + - uni-ui 是uni-app内置组件的扩展。注意与web开发不同,uni-ui不包括基础组件,它是基础组件的补充。web开发中有的开发者习惯用一个ui库完成所有开发,但在uni-app体系中,推荐开发者首先使用性能更高的基础组件,然后按需引入必要的扩展组件。 + - `uni-ui` 不支持使用 `Vue.use()` 的方式安装 + + +### 贡献代码 +在使用 `uni-ui` 中,如遇到无法解决的问题,请提 [Issues](https://github.com/dcloudio/uni-ui/issues) 给我们,假如您有更好的点子或更好的实现方式,也欢迎给我们提交 [PR](https://github.com/dcloudio/uni-ui/pulls) \ No newline at end of file diff --git a/uni_modules/uview-ui/LICENSE b/uni_modules/uview-ui/LICENSE new file mode 100644 index 0000000..4db40ef --- /dev/null +++ b/uni_modules/uview-ui/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 www.uviewui.com + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/uni_modules/uview-ui/README.md b/uni_modules/uview-ui/README.md new file mode 100644 index 0000000..c78ff47 --- /dev/null +++ b/uni_modules/uview-ui/README.md @@ -0,0 +1,66 @@ +

    + logo +

    +

    uView 2.0

    +

    多平台快速开发的UI框架

    + +[![stars](https://img.shields.io/github/stars/umicro/uView2.0?style=flat-square&logo=GitHub)](https://github.com/umicro/uView2.0) +[![forks](https://img.shields.io/github/forks/umicro/uView2.0?style=flat-square&logo=GitHub)](https://github.com/umicro/uView2.0) +[![issues](https://img.shields.io/github/issues/umicro/uView2.0?style=flat-square&logo=GitHub)](https://github.com/umicro/uView2.0/issues) +[![Website](https://img.shields.io/badge/uView-up-blue?style=flat-square)](https://uviewui.com) +[![release](https://img.shields.io/github/v/release/umicro/uView2.0?style=flat-square)](https://gitee.com/umicro/uView2.0/releases) +[![license](https://img.shields.io/github/license/umicro/uView2.0?style=flat-square)](https://en.wikipedia.org/wiki/MIT_License) + +## 说明 + +uView UI,是[uni-app](https://uniapp.dcloud.io/)全面兼容nvue的uni-app生态框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水 + +## [官方文档:https://uviewui.com](https://uviewui.com) + + +## 预览 + +您可以通过**微信**扫码,查看最佳的演示效果。 +
    +
    + + + +## 链接 + +- [官方文档](https://www.uviewui.com/) +- [更新日志](https://www.uviewui.com/components/changelog.html) +- [升级指南](https://www.uviewui.com/components/changeGuide.html) +- [关于我们](https://www.uviewui.com/cooperation/about.html) + +## 交流反馈 + +欢迎加入我们的QQ群交流反馈:[点此跳转](https://www.uviewui.com/components/addQQGroup.html) + +## 关于PR + +> 我们非常乐意接受各位的优质PR,但在此之前我希望您了解uView2.0是一个需要兼容多个平台的(小程序、h5、ios app、android app)包括nvue页面、vue页面。 +> 所以希望在您修复bug并提交之前尽可能的去这些平台测试一下兼容性。最好能携带测试截图以方便审核。非常感谢! + +## 安装 + +#### **uni-app插件市场链接** —— [https://ext.dcloud.net.cn/plugin?id=1593](https://ext.dcloud.net.cn/plugin?id=1593) + +请通过[官网安装文档](https://www.uviewui.com/components/install.html)了解更详细的内容 + +## 快速上手 + +请通过[快速上手](https://uviewui.com/components/quickstart.html)了解更详细的内容 + +## 使用方法 +配置easycom规则后,自动按需引入,无需`import`组件,直接引用即可。 + +```html + +``` + +## 版权信息 +uView遵循[MIT](https://en.wikipedia.org/wiki/MIT_License)开源协议,意味着您无需支付任何费用,也无需授权,即可将uView应用到您的产品中。 + diff --git a/uni_modules/uview-ui/changelog.md b/uni_modules/uview-ui/changelog.md new file mode 100644 index 0000000..16fb337 --- /dev/null +++ b/uni_modules/uview-ui/changelog.md @@ -0,0 +1,374 @@ +## 2.0.37(2024-03-17) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复表单校验`trigger`触发器参数无效问题 +2. 修复`u-input`组件的`password`属性在动态切换为`false`时失效的问题 +3. 添加微信小程序用户同意隐私协议事件回调 +4. 修复支付宝小程序picker样式问题 +5. `u-modal`添加`duration`字段控制动画过度时间 +6. 修复`picker` `lastIndex`异常导致的`column`异常问题 +7. `tabs`增加长按事件支持 +8. 修复`u-avatar` `square`属性在小程序`open-data`下无效问题 +9. 其他一些修复 +## 2.0.36(2023-03-27) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 重构`deepClone` & `deepMerge`方法 +2. 其他优化 +## 2.0.34(2022-09-24) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. `u-input`、`u-textarea`增加`ignoreCompositionEvent`属性 +2. 修复`route`方法调用可能报错的问题 +3. 修复`u-no-network`组件`z-index`无效的问题 +4. 修复`textarea`组件在h5上confirmType=""报错的问题 +5. `u-rate`适配`nvue` +6. 优化验证手机号码的正则表达式(根据工信部发布的《电信网编号计划(2017年版)》进行修改。) +7. `form-item`添加`labelPosition`属性 +8. `u-calendar`修复`maxDate`设置为当前日期,并且当前时间大于08:00时无法显示日期列表的问题 (#724) +9. `u-radio`增加一个默认插槽用于自定义修改label内容 (#680) +10. 修复`timeFormat`函数在safari重的兼容性问题 (#664) +## 2.0.33(2022-06-17) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复`loadmore`组件`lineColor`类型错误问题 +2. 修复`u-parse`组件`imgtap`、`linktap`不生效问题 +## 2.0.32(2022-06-16) +# uView2.0重磅发布,利剑出鞘,一统江湖 +1. `u-loadmore`新增自定义颜色、虚/实线 +2. 修复`u-swiper-action`组件部分平台不能上下滑动的问题 +3. 修复`u-list`回弹问题 +4. 修复`notice-bar`组件动画在低端安卓机可能会抖动的问题 +5. `u-loading-page`添加控制图标大小的属性`iconSize` +6. 修复`u-tooltip`组件`color`参数不生效的问题 +7. 修复`u--input`组件使用`blur`事件输出为`undefined`的bug +8. `u-code-input`组件新增键盘弹起时,是否自动上推页面参数`adjustPosition` +9. 修复`image`组件`load`事件无回调对象问题 +10. 修复`button`组件`loadingSize`设置无效问题 +10. 其他修复 +## 2.0.31(2022-04-19) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复`upload`在`vue`页面上传成功后没有成功标志的问题 +2. 解决演示项目中微信小程序模拟上传图片一直出于上传中问题 +3. 修复`u-code-input`组件在`nvue`页面编译到`app`平台上光标异常问题(`app`去除此功能) +4. 修复`actionSheet`组件标题关闭按钮点击事件名称错误的问题 +5. 其他修复 +## 2.0.30(2022-04-04) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. `u-rate`增加`readonly`属性 +2. `tabs`滑块支持设置背景图片 +3. 修复`u-subsection` `mode`为`subsection`时,滑块样式不正确的问题 +4. `u-code-input`添加光标效果动画 +5. 修复`popup`的`open`事件不触发 +6. 修复`u-flex-column`无效的问题 +7. 修复`u-datetime-picker`索引在特定场合异常问题 +8. 修复`u-datetime-picker`最小时间字符串模板错误问题 +9. `u-swiper`添加`m3u8`验证 +10. `u-swiper`修改判断image和video逻辑 +11. 修复`swiper`无法使用本地图片问题,增加`type`参数 +12. 修复`u-row-notice`格式错误问题 +13. 修复`u-switch`组件当`unit`为`rpx`时,`nodeStyle`消失的问题 +14. 修复`datetime-picker`组件`showToolbar`与`visibleItemCount`属性无效的问题 +15. 修复`upload`组件条件编译位置判断错误,导致`previewImage`属性设置为`false`时,整个组件都会被隐藏的问题 +16. 修复`u-checkbox-group`设置`shape`属性无效的问题 +17. 修复`u-upload`的`capture`传入字符串的时候不生效的问题 +18. 修复`u-action-sheet`组件,关闭事件逻辑错误的问题 +19. 修复`u-list`触顶事件的触发错误的问题 +20. 修复`u-text`只有手机号可拨打的问题 +21. 修复`u-textarea`不能换行的问题 +22. 其他修复 +## 2.0.29(2022-03-13) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复`u--text`组件设置`decoration`属性未生效的问题 +2. 修复`u-datetime-picker`使用`formatter`后返回值不正确 +3. 修复`u-datetime-picker` `intercept` 可能为undefined +4. 修复已设置单位 uni..config.unit = 'rpx'时,线型指示器 `transform` 的位置翻倍,导致指示器超出宽度 +5. 修复mixin中bem方法生成的类名在支付宝和字节小程序中失效 +6. 修复默认值传值为空的时候,打开`u-datetime-picker`报错,不能选中第一列时间的bug +7. 修复`u-datetime-picker`使用`formatter`后返回值不正确 +8. 修复`u-image`组件`loading`无效果的问题 +9. 修复`config.unit`属性设为`rpx`时,导航栏占用高度不足导致塌陷的问题 +10. 修复`u-datetime-picker`组件`itemHeight`无效问题 +11. 其他修复 +## 2.0.28(2022-02-22) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. search组件新增searchIconSize属性 +2. 兼容Safari/Webkit中传入时间格式如2022-02-17 12:00:56 +3. 修复text value.js 判断日期出format错误问题 +4. priceFormat格式化金额出现精度错误 +5. priceFormat在部分情况下出现精度损失问题 +6. 优化表单rules提示 +7. 修复avatar组件src为空时,展示状态不对 +8. 其他修复 +## 2.0.27(2022-01-28) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1.样式修复 +## 2.0.26(2022-01-28) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1.样式修复 +## 2.0.25(2022-01-27) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复text组件mode=price时,可能会导致精度错误的问题 +2. 添加$u.setConfig()方法,可设置uView内置的config, props, zIndex, color属性,详见:[修改uView内置配置方案](https://uviewui.com/components/setting.html#%E9%BB%98%E8%AE%A4%E5%8D%95%E4%BD%8D%E9%85%8D%E7%BD%AE) +3. 优化form组件在errorType=toast时,如果输入错误页面会有抖动的问题 +4. 修复$u.addUnit()对配置默认单位可能无效的问题 +## 2.0.24(2022-01-25) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复swiper在current指定非0时缩放有误 +2. 修复u-icon添加stop属性的时候报错 +3. 优化遗留的通过正则判断rpx单位的问题 +4. 优化Layout布局 vue使用gutter时,会超出固定区域 +5. 优化search组件高度单位问题(rpx -> px) +6. 修复u-image slot 加载和错误的图片失去了高度 +7. 修复u-index-list中footer插槽与header插槽存在性判断错误 +8. 修复部分机型下u-popup关闭时会闪烁 +9. 修复u-image在nvue-app下失去宽高 +10. 修复u-popup运行报错 +11. 修复u-tooltip报错 +12. 修复box-sizing在app下的警告 +13. 修复u-navbar在小程序中报运行时错误 +14. 其他修复 +## 2.0.23(2022-01-24) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复image组件在hx3.3.9的nvue下可能会显示异常的问题 +2. 修复col组件gutter参数带rpx单位处理不正确的问题 +3. 修复text组件单行时无法显示省略号的问题 +4. navbar添加titleStyle参数 +5. 升级到hx3.3.9可消除nvue下控制台样式警告的问题 +## 2.0.22(2022-01-19) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. $u.page()方法优化,避免在特殊场景可能报错的问题 +2. picker组件添加immediateChange参数 +3. 新增$u.pages()方法 +## 2.0.21(2022-01-19) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 优化:form组件在用户设置rules的时候提示用户model必传 +2. 优化遗留的通过正则判断rpx单位的问题 +3. 修复微信小程序环境中tabbar组件开启safeAreaInsetBottom属性后,placeholder高度填充不正确 +4. 修复swiper在current指定非0时缩放有误 +5. 修复u-icon添加stop属性的时候报错 +6. 修复upload组件在accept=all的时候没有作用 +7. 修复在text组件mode为phone时call属性无效的问题 +8. 处理u-form clearValidate方法 +9. 其他修复 +## 2.0.20(2022-01-14) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复calendar默认会选择一个日期,如果直接点确定的话,无法取到值的问题 +2. 修复Slider缺少disabled props 还有注释 +3. 修复u-notice-bar点击事件无法拿到index索引值的问题 +4. 修复u-collapse-item在vue文件下,app端自定义插槽不生效的问题 +5. 优化头像为空时显示默认头像 +6. 修复图片地址赋值后判断加载状态为完成问题 +7. 修复日历滚动到默认日期月份区域 +8. search组件暴露点击左边icon事件 +9. 修复u-form clearValidate方法不生效 +10. upload h5端增加返回文件参数(文件的name参数) +11. 处理upload选择文件后url为blob类型无法预览的问题 +12. u-code-input 修复输入框没有往左移出一半屏幕 +13. 修复Upload上传 disabled为true时,控制台报hoverClass类型错误 +14. 临时处理ios app下grid点击坍塌问题 +15. 其他修复 +## 2.0.19(2021-12-29) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 优化微信小程序包体积可在微信中预览,请升级HbuilderX3.3.4,同时在“运行->运行到小程序模拟器”中勾选“运行时是否压缩代码” +2. 优化微信小程序setData性能,处理某些方法如$u.route()无法在模板中使用的问题 +3. navbar添加autoBack参数 +4. 允许avatar组件的事件冒泡 +5. 修复cell组件报错问题 +6. 其他修复 +## 2.0.18(2021-12-28) +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复app端编译报错问题 +2. 重新处理微信小程序端setData过大的性能问题 +3. 修复边框问题 +4. 修复最大最小月份不大于0则没有数据出现的问题 +5. 修复SwipeAction微信小程序端无法上下滑动问题 +6. 修复input的placeholder在小程序端默认显示为true问题 +7. 修复divider组件click事件无效问题 +8. 修复u-code-input maxlength 属性值为 String 类型时显示异常 +9. 修复当 grid只有 1到2时 在小程序端algin设置无效的问题 +10. 处理form-item的label为top时,取消错误提示的左边距 +11. 其他修复 +## 2.0.17(2021-12-26) +## uView正在参与开源中国的“年度最佳项目”评选,之前投过票的现在也可以投票,恳请同学们投一票,[点此帮助uView](https://www.oschina.net/project/top_cn_2021/?id=583) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 解决HBuilderX3.3.3.20211225版本导致的样式问题 +2. calendar日历添加monthNum参数 +3. navbar添加center slot +## 2.0.16(2021-12-25) +## uView正在参与开源中国的“年度最佳项目”评选,之前投过票的现在也可以投票,恳请同学们投一票,[点此帮助uView](https://www.oschina.net/project/top_cn_2021/?id=583) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 解决微信小程序setData性能问题 +2. 修复count-down组件change事件不触发问题 +## 2.0.15(2021-12-21) +## uView正在参与开源中国的“年度最佳项目”评选,之前投过票的现在也可以投票,恳请同学们投一票,[点此帮助uView](https://www.oschina.net/project/top_cn_2021/?id=583) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复Cell单元格titleWidth无效 +2. 修复cheakbox组件ischecked不更新 +3. 修复keyboard是否显示"."按键默认值问题 +4. 修复number-keyboard是否显示键盘的"."符号问题 +5. 修复Input输入框 readonly无效 +6. 修复u-avatar 导致打包app、H5时候报错问题 +7. 修复Upload上传deletable无效 +8. 修复upload当设置maxSize时无效的问题 +9. 修复tabs lineWidth传入带单位的字符串的时候偏移量计算错误问题 +10. 修复rate组件在有padding的view内,显示的星星位置和可触摸区域不匹配,无法正常选中星星 +## 2.0.13(2021-12-14) +## [点击加群交流反馈:364463526](https://jq.qq.com/?_chanwv=1027&k=mCxS3TGY) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复配置默认单位为rpx可能会导致自定义导航栏高度异常的问题 +## 2.0.12(2021-12-14) +## [点击加群交流反馈:364463526](https://jq.qq.com/?_chanwv=1027&k=mCxS3TGY) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复tabs组件在vue环境下划线消失的问题 +2. 修复upload组件在安卓小程序无法选择视频的问题 +3. 添加uni.$u.config.unit配置,用于配置参数默认单位,详见:[默认单位配置](https://www.uviewui.com/components/setting.html#%E9%BB%98%E8%AE%A4%E5%8D%95%E4%BD%8D%E9%85%8D%E7%BD%AE) +4. 修复textarea组件在没绑定v-model时,字符统计不生效问题 +5. 修复nvue下控制是否出现滚动条失效问题 +## 2.0.11(2021-12-13) +## [点击加群交流反馈:364463526](https://jq.qq.com/?_chanwv=1027&k=mCxS3TGY) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. text组件align参数无效的问题 +2. subsection组件添加keyName参数 +3. upload组件无法判断[Object file]类型的问题 +4. 处理notify层级过低问题 +5. codeInput组件添加disabledDot参数 +6. 处理actionSheet组件round参数无效的问题 +7. calendar组件添加round参数用于控制圆角值 +8. 处理swipeAction组件在vue环境下默认被打开的问题 +9. button组件的throttleTime节流参数无效的问题 +10. 解决u-notify手动关闭方法close()无效的问题 +11. input组件readonly不生效问题 +12. tag组件type参数为info不生效问题 +## 2.0.10(2021-12-08) +## [点击加群交流反馈:364463526](https://jq.qq.com/?_chanwv=1027&k=mCxS3TGY) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复button sendMessagePath属性不生效 +2. 修复DatetimePicker选择器title无效 +3. 修复u-toast设置loading=true不生效 +4. 修复u-text金额模式传0报错 +5. 修复u-toast组件的icon属性配置不生效 +6. button的icon在特殊场景下的颜色优化 +7. IndexList优化,增加# +## 2.0.9(2021-12-01) +## [点击加群交流反馈:232041042](https://jq.qq.com/?_wv=1027&k=KnbeceDU) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 优化swiper的height支持100%值(仅vue有效),修复嵌入视频时click事件无法触发的问题 +2. 优化tabs组件对list值为空的判断,或者动态变化list时重新计算相关尺寸的问题 +3. 优化datetime-picker组件逻辑,让其后续打开的默认值为上一次的选中值,需要通过v-model绑定值才有效 +4. 修复upload内嵌在其他组件中,选择图片可能不会换行的问题 +## 2.0.8(2021-12-01) +## [点击加群交流反馈:232041042](https://jq.qq.com/?_wv=1027&k=KnbeceDU) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复toast的position参数无效问题 +2. 处理input在ios nvue上无法获得焦点的问题 +3. avatar-group组件添加extraValue参数,让剩余展示数量可手动控制 +4. tabs组件添加keyName参数用于配置从对象中读取的键名 +5. 处理text组件名字脱敏默认配置无效的问题 +6. 处理picker组件item文本太长换行问题 +## 2.0.7(2021-11-30) +## [点击加群交流反馈:232041042](https://jq.qq.com/?_wv=1027&k=KnbeceDU) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 修复radio和checkbox动态改变v-model无效的问题。 +2. 优化form规则validator在微信小程序用法 +3. 修复backtop组件mode参数在微信小程序无效的问题 +4. 处理Album的previewFullImage属性无效的问题 +5. 处理u-datetime-picker组件mode='time'在选择改变时间时,控制台报错的问题 +## 2.0.6(2021-11-27) +## [点击加群交流反馈:232041042](https://jq.qq.com/?_wv=1027&k=KnbeceDU) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. 处理tag组件在vue下边框无效的问题。 +2. 处理popup组件圆角参数可能无效的问题。 +3. 处理tabs组件lineColor参数可能无效的问题。 +4. propgress组件在值很小时,显示异常的问题。 +## 2.0.5(2021-11-25) +## [点击加群交流反馈:232041042](https://jq.qq.com/?_wv=1027&k=KnbeceDU) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. calendar在vue下显示异常问题。 +2. form组件labelPosition和errorType参数无效的问题 +3. input组件inputAlign无效的问题 +4. 其他一些修复 +## 2.0.4(2021-11-23) +## [点击加群交流反馈:232041042](https://jq.qq.com/?_wv=1027&k=KnbeceDU) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +0. input组件缺失@confirm事件,以及subfix和prefix无效问题 +1. component.scss文件样式在vue下干扰全局布局问题 +2. 修复subsection在vue环境下表现异常的问题 +3. tag组件的bgColor等参数无效的问题 +4. upload组件不换行的问题 +5. 其他的一些修复处理 +## 2.0.3(2021-11-16) +## [点击加群交流反馈:1129077272](https://jq.qq.com/?_wv=1027&k=KnbeceDU) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. uView2.0已实现全面兼容nvue +2. uView2.0对1.x进行了架构重构,细节和性能都有极大提升 +3. 目前uView2.0为公测阶段,相关细节可能会有变动 +4. 我们写了一份与1.x的对比指南,详见[对比1.x](https://www.uviewui.com/components/diff1.x.html) +5. 处理modal的confirm回调事件拼写错误问题 +6. 处理input组件@input事件参数错误问题 +7. 其他一些修复 +## 2.0.2(2021-11-16) +## [点击加群交流反馈:1129077272](https://jq.qq.com/?_wv=1027&k=KnbeceDU) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. uView2.0已实现全面兼容nvue +2. uView2.0对1.x进行了架构重构,细节和性能都有极大提升 +3. 目前uView2.0为公测阶段,相关细节可能会有变动 +4. 我们写了一份与1.x的对比指南,详见[对比1.x](https://www.uviewui.com/components/diff1.x.html) +5. 修复input组件formatter参数缺失问题 +6. 优化loading-icon组件的scss写法问题,防止不兼容新版本scss +## 2.0.0(2020-11-15) +## [点击加群交流反馈:1129077272](https://jq.qq.com/?_wv=1027&k=KnbeceDU) + +# uView2.0重磅发布,利剑出鞘,一统江湖 + +1. uView2.0已实现全面兼容nvue +2. uView2.0对1.x进行了架构重构,细节和性能都有极大提升 +3. 目前uView2.0为公测阶段,相关细节可能会有变动 +4. 我们写了一份与1.x的对比指南,详见[对比1.x](https://www.uviewui.com/components/diff1.x.html) +5. 修复input组件formatter参数缺失问题 + + diff --git a/uni_modules/uview-ui/components/u--form/u--form.vue b/uni_modules/uview-ui/components/u--form/u--form.vue new file mode 100644 index 0000000..d534ece --- /dev/null +++ b/uni_modules/uview-ui/components/u--form/u--form.vue @@ -0,0 +1,78 @@ + + + diff --git a/uni_modules/uview-ui/components/u--image/u--image.vue b/uni_modules/uview-ui/components/u--image/u--image.vue new file mode 100644 index 0000000..21b7ab1 --- /dev/null +++ b/uni_modules/uview-ui/components/u--image/u--image.vue @@ -0,0 +1,47 @@ + + + \ No newline at end of file diff --git a/uni_modules/uview-ui/components/u--input/u--input.vue b/uni_modules/uview-ui/components/u--input/u--input.vue new file mode 100644 index 0000000..1e58b01 --- /dev/null +++ b/uni_modules/uview-ui/components/u--input/u--input.vue @@ -0,0 +1,73 @@ + + + \ No newline at end of file diff --git a/uni_modules/uview-ui/components/u--text/u--text.vue b/uni_modules/uview-ui/components/u--text/u--text.vue new file mode 100644 index 0000000..44ee52a --- /dev/null +++ b/uni_modules/uview-ui/components/u--text/u--text.vue @@ -0,0 +1,44 @@ + + + diff --git a/uni_modules/uview-ui/components/u--textarea/u--textarea.vue b/uni_modules/uview-ui/components/u--textarea/u--textarea.vue new file mode 100644 index 0000000..f4df0b9 --- /dev/null +++ b/uni_modules/uview-ui/components/u--textarea/u--textarea.vue @@ -0,0 +1,48 @@ + + + diff --git a/uni_modules/uview-ui/components/u-action-sheet/props.js b/uni_modules/uview-ui/components/u-action-sheet/props.js new file mode 100644 index 0000000..e96e04f --- /dev/null +++ b/uni_modules/uview-ui/components/u-action-sheet/props.js @@ -0,0 +1,54 @@ +export default { + props: { + // 操作菜单是否展示 (默认false) + show: { + type: Boolean, + default: uni.$u.props.actionSheet.show + }, + // 标题 + title: { + type: String, + default: uni.$u.props.actionSheet.title + }, + // 选项上方的描述信息 + description: { + type: String, + default: uni.$u.props.actionSheet.description + }, + // 数据 + actions: { + type: Array, + default: uni.$u.props.actionSheet.actions + }, + // 取消按钮的文字,不为空时显示按钮 + cancelText: { + type: String, + default: uni.$u.props.actionSheet.cancelText + }, + // 点击某个菜单项时是否关闭弹窗 + closeOnClickAction: { + type: Boolean, + default: uni.$u.props.actionSheet.closeOnClickAction + }, + // 处理底部安全区(默认true) + safeAreaInsetBottom: { + type: Boolean, + default: uni.$u.props.actionSheet.safeAreaInsetBottom + }, + // 小程序的打开方式 + openType: { + type: String, + default: uni.$u.props.actionSheet.openType + }, + // 点击遮罩是否允许关闭 (默认true) + closeOnClickOverlay: { + type: Boolean, + default: uni.$u.props.actionSheet.closeOnClickOverlay + }, + // 圆角值 + round: { + type: [Boolean, String, Number], + default: uni.$u.props.actionSheet.round + } + } +} diff --git a/uni_modules/uview-ui/components/u-action-sheet/u-action-sheet.vue b/uni_modules/uview-ui/components/u-action-sheet/u-action-sheet.vue new file mode 100644 index 0000000..26d5d8d --- /dev/null +++ b/uni_modules/uview-ui/components/u-action-sheet/u-action-sheet.vue @@ -0,0 +1,278 @@ + + + + + + diff --git a/uni_modules/uview-ui/components/u-album/props.js b/uni_modules/uview-ui/components/u-album/props.js new file mode 100644 index 0000000..75cdb37 --- /dev/null +++ b/uni_modules/uview-ui/components/u-album/props.js @@ -0,0 +1,59 @@ +export default { + props: { + // 图片地址,Array|Array形式 + urls: { + type: Array, + default: uni.$u.props.album.urls + }, + // 指定从数组的对象元素中读取哪个属性作为图片地址 + keyName: { + type: String, + default: uni.$u.props.album.keyName + }, + // 单图时,图片长边的长度 + singleSize: { + type: [String, Number], + default: uni.$u.props.album.singleSize + }, + // 多图时,图片边长 + multipleSize: { + type: [String, Number], + default: uni.$u.props.album.multipleSize + }, + // 多图时,图片水平和垂直之间的间隔 + space: { + type: [String, Number], + default: uni.$u.props.album.space + }, + // 单图时,图片缩放裁剪的模式 + singleMode: { + type: String, + default: uni.$u.props.album.singleMode + }, + // 多图时,图片缩放裁剪的模式 + multipleMode: { + type: String, + default: uni.$u.props.album.multipleMode + }, + // 最多展示的图片数量,超出时最后一个位置将会显示剩余图片数量 + maxCount: { + type: [String, Number], + default: uni.$u.props.album.maxCount + }, + // 是否可以预览图片 + previewFullImage: { + type: Boolean, + default: uni.$u.props.album.previewFullImage + }, + // 每行展示图片数量,如设置,singleSize和multipleSize将会无效 + rowCount: { + type: [String, Number], + default: uni.$u.props.album.rowCount + }, + // 超出maxCount时是否显示查看更多的提示 + showMore: { + type: Boolean, + default: uni.$u.props.album.showMore + } + } +} diff --git a/uni_modules/uview-ui/components/u-album/u-album.vue b/uni_modules/uview-ui/components/u-album/u-album.vue new file mode 100644 index 0000000..687e2d5 --- /dev/null +++ b/uni_modules/uview-ui/components/u-album/u-album.vue @@ -0,0 +1,259 @@ + + + + + \ No newline at end of file diff --git a/uni_modules/uview-ui/components/u-alert/props.js b/uni_modules/uview-ui/components/u-alert/props.js new file mode 100644 index 0000000..4297e2c --- /dev/null +++ b/uni_modules/uview-ui/components/u-alert/props.js @@ -0,0 +1,44 @@ +export default { + props: { + // 显示文字 + title: { + type: String, + default: uni.$u.props.alert.title + }, + // 主题,success/warning/info/error + type: { + type: String, + default: uni.$u.props.alert.type + }, + // 辅助性文字 + description: { + type: String, + default: uni.$u.props.alert.description + }, + // 是否可关闭 + closable: { + type: Boolean, + default: uni.$u.props.alert.closable + }, + // 是否显示图标 + showIcon: { + type: Boolean, + default: uni.$u.props.alert.showIcon + }, + // 浅或深色调,light-浅色,dark-深色 + effect: { + type: String, + default: uni.$u.props.alert.effect + }, + // 文字是否居中 + center: { + type: Boolean, + default: uni.$u.props.alert.center + }, + // 字体大小 + fontSize: { + type: [String, Number], + default: uni.$u.props.alert.fontSize + } + } +} diff --git a/uni_modules/uview-ui/components/u-alert/u-alert.vue b/uni_modules/uview-ui/components/u-alert/u-alert.vue new file mode 100644 index 0000000..81f7d43 --- /dev/null +++ b/uni_modules/uview-ui/components/u-alert/u-alert.vue @@ -0,0 +1,243 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-avatar-group/props.js b/uni_modules/uview-ui/components/u-avatar-group/props.js new file mode 100644 index 0000000..58b42ac --- /dev/null +++ b/uni_modules/uview-ui/components/u-avatar-group/props.js @@ -0,0 +1,52 @@ +export default { + props: { + // 头像图片组 + urls: { + type: Array, + default: uni.$u.props.avatarGroup.urls + }, + // 最多展示的头像数量 + maxCount: { + type: [String, Number], + default: uni.$u.props.avatarGroup.maxCount + }, + // 头像形状 + shape: { + type: String, + default: uni.$u.props.avatarGroup.shape + }, + // 图片裁剪模式 + mode: { + type: String, + default: uni.$u.props.avatarGroup.mode + }, + // 超出maxCount时是否显示查看更多的提示 + showMore: { + type: Boolean, + default: uni.$u.props.avatarGroup.showMore + }, + // 头像大小 + size: { + type: [String, Number], + default: uni.$u.props.avatarGroup.size + }, + // 指定从数组的对象元素中读取哪个属性作为图片地址 + keyName: { + type: String, + default: uni.$u.props.avatarGroup.keyName + }, + // 头像之间的遮挡比例 + gap: { + type: [String, Number], + validator(value) { + return value >= 0 && value <= 1 + }, + default: uni.$u.props.avatarGroup.gap + }, + // 需额外显示的值 + extraValue: { + type: [Number, String], + default: uni.$u.props.avatarGroup.extraValue + } + } +} diff --git a/uni_modules/uview-ui/components/u-avatar-group/u-avatar-group.vue b/uni_modules/uview-ui/components/u-avatar-group/u-avatar-group.vue new file mode 100644 index 0000000..7e996d7 --- /dev/null +++ b/uni_modules/uview-ui/components/u-avatar-group/u-avatar-group.vue @@ -0,0 +1,103 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-avatar/props.js b/uni_modules/uview-ui/components/u-avatar/props.js new file mode 100644 index 0000000..34ca0f2 --- /dev/null +++ b/uni_modules/uview-ui/components/u-avatar/props.js @@ -0,0 +1,78 @@ +export default { + props: { + // 头像图片路径(不能为相对路径) + src: { + type: String, + default: uni.$u.props.avatar.src + }, + // 头像形状,circle-圆形,square-方形 + shape: { + type: String, + default: uni.$u.props.avatar.shape + }, + // 头像尺寸 + size: { + type: [String, Number], + default: uni.$u.props.avatar.size + }, + // 裁剪模式 + mode: { + type: String, + default: uni.$u.props.avatar.mode + }, + // 显示的文字 + text: { + type: String, + default: uni.$u.props.avatar.text + }, + // 背景色 + bgColor: { + type: String, + default: uni.$u.props.avatar.bgColor + }, + // 文字颜色 + color: { + type: String, + default: uni.$u.props.avatar.color + }, + // 文字大小 + fontSize: { + type: [String, Number], + default: uni.$u.props.avatar.fontSize + }, + // 显示的图标 + icon: { + type: String, + default: uni.$u.props.avatar.icon + }, + // 显示小程序头像,只对百度,微信,QQ小程序有效 + mpAvatar: { + type: Boolean, + default: uni.$u.props.avatar.mpAvatar + }, + // 是否使用随机背景色 + randomBgColor: { + type: Boolean, + default: uni.$u.props.avatar.randomBgColor + }, + // 加载失败的默认头像(组件有内置默认图片) + defaultUrl: { + type: String, + default: uni.$u.props.avatar.defaultUrl + }, + // 如果配置了randomBgColor为true,且配置了此值,则从默认的背景色数组中取出对应索引的颜色值,取值0-19之间 + colorIndex: { + type: [String, Number], + // 校验参数规则,索引在0-19之间 + validator(n) { + return uni.$u.test.range(n, [0, 19]) || n === '' + }, + default: uni.$u.props.avatar.colorIndex + }, + // 组件标识符 + name: { + type: String, + default: uni.$u.props.avatar.name + } + } +} diff --git a/uni_modules/uview-ui/components/u-avatar/u-avatar.vue b/uni_modules/uview-ui/components/u-avatar/u-avatar.vue new file mode 100644 index 0000000..d38d8a6 --- /dev/null +++ b/uni_modules/uview-ui/components/u-avatar/u-avatar.vue @@ -0,0 +1,173 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-back-top/props.js b/uni_modules/uview-ui/components/u-back-top/props.js new file mode 100644 index 0000000..6c702c2 --- /dev/null +++ b/uni_modules/uview-ui/components/u-back-top/props.js @@ -0,0 +1,54 @@ +export default { + props: { + // 返回顶部的形状,circle-圆形,square-方形 + mode: { + type: String, + default: uni.$u.props.backtop.mode + }, + // 自定义图标 + icon: { + type: String, + default: uni.$u.props.backtop.icon + }, + // 提示文字 + text: { + type: String, + default: uni.$u.props.backtop.text + }, + // 返回顶部滚动时间 + duration: { + type: [String, Number], + default: uni.$u.props.backtop.duration + }, + // 滚动距离 + scrollTop: { + type: [String, Number], + default: uni.$u.props.backtop.scrollTop + }, + // 距离顶部多少距离显示,单位px + top: { + type: [String, Number], + default: uni.$u.props.backtop.top + }, + // 返回顶部按钮到底部的距离,单位px + bottom: { + type: [String, Number], + default: uni.$u.props.backtop.bottom + }, + // 返回顶部按钮到右边的距离,单位px + right: { + type: [String, Number], + default: uni.$u.props.backtop.right + }, + // 层级 + zIndex: { + type: [String, Number], + default: uni.$u.props.backtop.zIndex + }, + // 图标的样式,对象形式 + iconStyle: { + type: Object, + default: uni.$u.props.backtop.iconStyle + } + } +} diff --git a/uni_modules/uview-ui/components/u-back-top/u-back-top.vue b/uni_modules/uview-ui/components/u-back-top/u-back-top.vue new file mode 100644 index 0000000..2d07566 --- /dev/null +++ b/uni_modules/uview-ui/components/u-back-top/u-back-top.vue @@ -0,0 +1,129 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-badge/props.js b/uni_modules/uview-ui/components/u-badge/props.js new file mode 100644 index 0000000..74c032c --- /dev/null +++ b/uni_modules/uview-ui/components/u-badge/props.js @@ -0,0 +1,72 @@ +export default { + props: { + // 是否显示圆点 + isDot: { + type: Boolean, + default: uni.$u.props.badge.isDot + }, + // 显示的内容 + value: { + type: [Number, String], + default: uni.$u.props.badge.value + }, + // 是否显示 + show: { + type: Boolean, + default: uni.$u.props.badge.show + }, + // 最大值,超过最大值会显示 '{max}+' + max: { + type: [Number, String], + default: uni.$u.props.badge.max + }, + // 主题类型,error|warning|success|primary + type: { + type: String, + default: uni.$u.props.badge.type + }, + // 当数值为 0 时,是否展示 Badge + showZero: { + type: Boolean, + default: uni.$u.props.badge.showZero + }, + // 背景颜色,优先级比type高,如设置,type参数会失效 + bgColor: { + type: [String, null], + default: uni.$u.props.badge.bgColor + }, + // 字体颜色 + color: { + type: [String, null], + default: uni.$u.props.badge.color + }, + // 徽标形状,circle-四角均为圆角,horn-左下角为直角 + shape: { + type: String, + default: uni.$u.props.badge.shape + }, + // 设置数字的显示方式,overflow|ellipsis|limit + // overflow会根据max字段判断,超出显示`${max}+` + // ellipsis会根据max判断,超出显示`${max}...` + // limit会依据1000作为判断条件,超出1000,显示`${value/1000}K`,比如2.2k、3.34w,最多保留2位小数 + numberType: { + type: String, + default: uni.$u.props.badge.numberType + }, + // 设置badge的位置偏移,格式为 [x, y],也即设置的为top和right的值,absolute为true时有效 + offset: { + type: Array, + default: uni.$u.props.badge.offset + }, + // 是否反转背景和字体颜色 + inverted: { + type: Boolean, + default: uni.$u.props.badge.inverted + }, + // 是否绝对定位 + absolute: { + type: Boolean, + default: uni.$u.props.badge.absolute + } + } +} diff --git a/uni_modules/uview-ui/components/u-badge/u-badge.vue b/uni_modules/uview-ui/components/u-badge/u-badge.vue new file mode 100644 index 0000000..53cfc81 --- /dev/null +++ b/uni_modules/uview-ui/components/u-badge/u-badge.vue @@ -0,0 +1,171 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-button/nvue.scss b/uni_modules/uview-ui/components/u-button/nvue.scss new file mode 100644 index 0000000..490db7d --- /dev/null +++ b/uni_modules/uview-ui/components/u-button/nvue.scss @@ -0,0 +1,46 @@ +$u-button-active-opacity:0.75 !default; +$u-button-loading-text-margin-left:4px !default; +$u-button-text-color: #FFFFFF !default; +$u-button-text-plain-error-color:$u-error !default; +$u-button-text-plain-warning-color:$u-warning !default; +$u-button-text-plain-success-color:$u-success !default; +$u-button-text-plain-info-color:$u-info !default; +$u-button-text-plain-primary-color:$u-primary !default; +.u-button { + &--active { + opacity: $u-button-active-opacity; + } + + &--active--plain { + background-color: rgb(217, 217, 217); + } + + &__loading-text { + margin-left:$u-button-loading-text-margin-left; + } + + &__text, + &__loading-text { + color:$u-button-text-color; + } + + &__text--plain--error { + color:$u-button-text-plain-error-color; + } + + &__text--plain--warning { + color:$u-button-text-plain-warning-color; + } + + &__text--plain--success{ + color:$u-button-text-plain-success-color; + } + + &__text--plain--info { + color:$u-button-text-plain-info-color; + } + + &__text--plain--primary { + color:$u-button-text-plain-primary-color; + } +} \ No newline at end of file diff --git a/uni_modules/uview-ui/components/u-button/props.js b/uni_modules/uview-ui/components/u-button/props.js new file mode 100644 index 0000000..07fd844 --- /dev/null +++ b/uni_modules/uview-ui/components/u-button/props.js @@ -0,0 +1,161 @@ +/* + * @Author : LQ + * @Description : + * @version : 1.0 + * @Date : 2021-08-16 10:04:04 + * @LastAuthor : LQ + * @lastTime : 2021-08-16 10:04:24 + * @FilePath : /u-view2.0/uview-ui/components/u-button/props.js + */ +export default { + props: { + // 是否细边框 + hairline: { + type: Boolean, + default: uni.$u.props.button.hairline + }, + // 按钮的预置样式,info,primary,error,warning,success + type: { + type: String, + default: uni.$u.props.button.type + }, + // 按钮尺寸,large,normal,small,mini + size: { + type: String, + default: uni.$u.props.button.size + }, + // 按钮形状,circle(两边为半圆),square(带圆角) + shape: { + type: String, + default: uni.$u.props.button.shape + }, + // 按钮是否镂空 + plain: { + type: Boolean, + default: uni.$u.props.button.plain + }, + // 是否禁止状态 + disabled: { + type: Boolean, + default: uni.$u.props.button.disabled + }, + // 是否加载中 + loading: { + type: Boolean, + default: uni.$u.props.button.loading + }, + // 加载中提示文字 + loadingText: { + type: [String, Number], + default: uni.$u.props.button.loadingText + }, + // 加载状态图标类型 + loadingMode: { + type: String, + default: uni.$u.props.button.loadingMode + }, + // 加载图标大小 + loadingSize: { + type: [String, Number], + default: uni.$u.props.button.loadingSize + }, + // 开放能力,具体请看uniapp稳定关于button组件部分说明 + // https://uniapp.dcloud.io/component/button + openType: { + type: String, + default: uni.$u.props.button.openType + }, + // 用于 组件,点击分别会触发 组件的 submit/reset 事件 + // 取值为submit(提交表单),reset(重置表单) + formType: { + type: String, + default: uni.$u.props.button.formType + }, + // 打开 APP 时,向 APP 传递的参数,open-type=launchApp时有效 + // 只微信小程序、QQ小程序有效 + appParameter: { + type: String, + default: uni.$u.props.button.appParameter + }, + // 指定是否阻止本节点的祖先节点出现点击态,微信小程序有效 + hoverStopPropagation: { + type: Boolean, + default: uni.$u.props.button.hoverStopPropagation + }, + // 指定返回用户信息的语言,zh_CN 简体中文,zh_TW 繁体中文,en 英文。只微信小程序有效 + lang: { + type: String, + default: uni.$u.props.button.lang + }, + // 会话来源,open-type="contact"时有效。只微信小程序有效 + sessionFrom: { + type: String, + default: uni.$u.props.button.sessionFrom + }, + // 会话内消息卡片标题,open-type="contact"时有效 + // 默认当前标题,只微信小程序有效 + sendMessageTitle: { + type: String, + default: uni.$u.props.button.sendMessageTitle + }, + // 会话内消息卡片点击跳转小程序路径,open-type="contact"时有效 + // 默认当前分享路径,只微信小程序有效 + sendMessagePath: { + type: String, + default: uni.$u.props.button.sendMessagePath + }, + // 会话内消息卡片图片,open-type="contact"时有效 + // 默认当前页面截图,只微信小程序有效 + sendMessageImg: { + type: String, + default: uni.$u.props.button.sendMessageImg + }, + // 是否显示会话内消息卡片,设置此参数为 true,用户进入客服会话会在右下角显示"可能要发送的小程序"提示, + // 用户点击后可以快速发送小程序消息,open-type="contact"时有效 + showMessageCard: { + type: Boolean, + default: uni.$u.props.button.showMessageCard + }, + // 额外传参参数,用于小程序的data-xxx属性,通过target.dataset.name获取 + dataName: { + type: String, + default: uni.$u.props.button.dataName + }, + // 节流,一定时间内只能触发一次 + throttleTime: { + type: [String, Number], + default: uni.$u.props.button.throttleTime + }, + // 按住后多久出现点击态,单位毫秒 + hoverStartTime: { + type: [String, Number], + default: uni.$u.props.button.hoverStartTime + }, + // 手指松开后点击态保留时间,单位毫秒 + hoverStayTime: { + type: [String, Number], + default: uni.$u.props.button.hoverStayTime + }, + // 按钮文字,之所以通过props传入,是因为slot传入的话 + // nvue中无法控制文字的样式 + text: { + type: [String, Number], + default: uni.$u.props.button.text + }, + // 按钮图标 + icon: { + type: String, + default: uni.$u.props.button.icon + }, + // 按钮图标 + iconColor: { + type: String, + default: uni.$u.props.button.icon + }, + // 按钮颜色,支持传入linear-gradient渐变色 + color: { + type: String, + default: uni.$u.props.button.color + } + } +} diff --git a/uni_modules/uview-ui/components/u-button/u-button.vue b/uni_modules/uview-ui/components/u-button/u-button.vue new file mode 100644 index 0000000..d60f73e --- /dev/null +++ b/uni_modules/uview-ui/components/u-button/u-button.vue @@ -0,0 +1,495 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-button/vue.scss b/uni_modules/uview-ui/components/u-button/vue.scss new file mode 100644 index 0000000..32019b2 --- /dev/null +++ b/uni_modules/uview-ui/components/u-button/vue.scss @@ -0,0 +1,80 @@ +// nvue下hover-class无效 +$u-button-before-top:50% !default; +$u-button-before-left:50% !default; +$u-button-before-width:100% !default; +$u-button-before-height:100% !default; +$u-button-before-transform:translate(-50%, -50%) !default; +$u-button-before-opacity:0 !default; +$u-button-before-background-color:#000 !default; +$u-button-before-border-color:#000 !default; +$u-button-active-before-opacity:.15 !default; +$u-button-icon-margin-left:4px !default; +$u-button-plain-u-button-info-color:$u-info; +$u-button-plain-u-button-success-color:$u-success; +$u-button-plain-u-button-error-color:$u-error; +$u-button-plain-u-button-warning-color:$u-error; + +.u-button { + width: 100%; + + &__text { + white-space: nowrap; + line-height: 1; + } + + &:before { + position: absolute; + top:$u-button-before-top; + left:$u-button-before-left; + width:$u-button-before-width; + height:$u-button-before-height; + border: inherit; + border-radius: inherit; + transform:$u-button-before-transform; + opacity:$u-button-before-opacity; + content: " "; + background-color:$u-button-before-background-color; + border-color:$u-button-before-border-color; + } + + &--active { + &:before { + opacity: .15 + } + } + + &__icon+&__text:not(:empty), + &__loading-text { + margin-left:$u-button-icon-margin-left; + } + + &--plain { + &.u-button--primary { + color: $u-primary; + } + } + + &--plain { + &.u-button--info { + color:$u-button-plain-u-button-info-color; + } + } + + &--plain { + &.u-button--success { + color:$u-button-plain-u-button-success-color; + } + } + + &--plain { + &.u-button--error { + color:$u-button-plain-u-button-error-color; + } + } + + &--plain { + &.u-button--warning { + color:$u-button-plain-u-button-warning-color; + } + } +} diff --git a/uni_modules/uview-ui/components/u-calendar/header.vue b/uni_modules/uview-ui/components/u-calendar/header.vue new file mode 100644 index 0000000..dc4f7d0 --- /dev/null +++ b/uni_modules/uview-ui/components/u-calendar/header.vue @@ -0,0 +1,99 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-calendar/month.vue b/uni_modules/uview-ui/components/u-calendar/month.vue new file mode 100644 index 0000000..c20937f --- /dev/null +++ b/uni_modules/uview-ui/components/u-calendar/month.vue @@ -0,0 +1,579 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-calendar/props.js b/uni_modules/uview-ui/components/u-calendar/props.js new file mode 100644 index 0000000..2ad7bc7 --- /dev/null +++ b/uni_modules/uview-ui/components/u-calendar/props.js @@ -0,0 +1,144 @@ +export default { + props: { + // 日历顶部标题 + title: { + type: String, + default: uni.$u.props.calendar.title + }, + // 是否显示标题 + showTitle: { + type: Boolean, + default: uni.$u.props.calendar.showTitle + }, + // 是否显示副标题 + showSubtitle: { + type: Boolean, + default: uni.$u.props.calendar.showSubtitle + }, + // 日期类型选择,single-选择单个日期,multiple-可以选择多个日期,range-选择日期范围 + mode: { + type: String, + default: uni.$u.props.calendar.mode + }, + // mode=range时,第一个日期底部的提示文字 + startText: { + type: String, + default: uni.$u.props.calendar.startText + }, + // mode=range时,最后一个日期底部的提示文字 + endText: { + type: String, + default: uni.$u.props.calendar.endText + }, + // 自定义列表 + customList: { + type: Array, + default: uni.$u.props.calendar.customList + }, + // 主题色,对底部按钮和选中日期有效 + color: { + type: String, + default: uni.$u.props.calendar.color + }, + // 最小的可选日期 + minDate: { + type: [String, Number], + default: uni.$u.props.calendar.minDate + }, + // 最大可选日期 + maxDate: { + type: [String, Number], + default: uni.$u.props.calendar.maxDate + }, + // 默认选中的日期,mode为multiple或range是必须为数组格式 + defaultDate: { + type: [Array, String, Date, null], + default: uni.$u.props.calendar.defaultDate + }, + // mode=multiple时,最多可选多少个日期 + maxCount: { + type: [String, Number], + default: uni.$u.props.calendar.maxCount + }, + // 日期行高 + rowHeight: { + type: [String, Number], + default: uni.$u.props.calendar.rowHeight + }, + // 日期格式化函数 + formatter: { + type: [Function, null], + default: uni.$u.props.calendar.formatter + }, + // 是否显示农历 + showLunar: { + type: Boolean, + default: uni.$u.props.calendar.showLunar + }, + // 是否显示月份背景色 + showMark: { + type: Boolean, + default: uni.$u.props.calendar.showMark + }, + // 确定按钮的文字 + confirmText: { + type: String, + default: uni.$u.props.calendar.confirmText + }, + // 确认按钮处于禁用状态时的文字 + confirmDisabledText: { + type: String, + default: uni.$u.props.calendar.confirmDisabledText + }, + // 是否显示日历弹窗 + show: { + type: Boolean, + default: uni.$u.props.calendar.show + }, + // 是否允许点击遮罩关闭日历 + closeOnClickOverlay: { + type: Boolean, + default: uni.$u.props.calendar.closeOnClickOverlay + }, + // 是否为只读状态,只读状态下禁止选择日期 + readonly: { + type: Boolean, + default: uni.$u.props.calendar.readonly + }, + // 是否展示确认按钮 + showConfirm: { + type: Boolean, + default: uni.$u.props.calendar.showConfirm + }, + // 日期区间最多可选天数,默认无限制,mode = range时有效 + maxRange: { + type: [Number, String], + default: uni.$u.props.calendar.maxRange + }, + // 范围选择超过最多可选天数时的提示文案,mode = range时有效 + rangePrompt: { + type: String, + default: uni.$u.props.calendar.rangePrompt + }, + // 范围选择超过最多可选天数时,是否展示提示文案,mode = range时有效 + showRangePrompt: { + type: Boolean, + default: uni.$u.props.calendar.showRangePrompt + }, + // 是否允许日期范围的起止时间为同一天,mode = range时有效 + allowSameDay: { + type: Boolean, + default: uni.$u.props.calendar.allowSameDay + }, + // 圆角值 + round: { + type: [Boolean, String, Number], + default: uni.$u.props.calendar.round + }, + // 最多展示月份数量 + monthNum: { + type: [Number, String], + default: 3 + } + } +} diff --git a/uni_modules/uview-ui/components/u-calendar/u-calendar.vue b/uni_modules/uview-ui/components/u-calendar/u-calendar.vue new file mode 100644 index 0000000..511f993 --- /dev/null +++ b/uni_modules/uview-ui/components/u-calendar/u-calendar.vue @@ -0,0 +1,384 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-calendar/util.js b/uni_modules/uview-ui/components/u-calendar/util.js new file mode 100644 index 0000000..ca4736b --- /dev/null +++ b/uni_modules/uview-ui/components/u-calendar/util.js @@ -0,0 +1,85 @@ +export default { + methods: { + // 设置月份数据 + setMonth() { + // 月初是周几 + const day = dayjs(this.date).date(1).day() + const start = day == 0 ? 6 : day - 1 + + // 本月天数 + const days = dayjs(this.date).endOf('month').format('D') + + // 上个月天数 + const prevDays = dayjs(this.date).endOf('month').subtract(1, 'month').format('D') + + // 日期数据 + const arr = [] + // 清空表格 + this.month = [] + + // 添加上月数据 + arr.push( + ...new Array(start).fill(1).map((e, i) => { + const day = prevDays - start + i + 1 + + return { + value: day, + disabled: true, + date: dayjs(this.date).subtract(1, 'month').date(day).format('YYYY-MM-DD') + } + }) + ) + + // 添加本月数据 + arr.push( + ...new Array(days - 0).fill(1).map((e, i) => { + const day = i + 1 + + return { + value: day, + date: dayjs(this.date).date(day).format('YYYY-MM-DD') + } + }) + ) + + // 添加下个月 + arr.push( + ...new Array(42 - days - start).fill(1).map((e, i) => { + const day = i + 1 + + return { + value: day, + disabled: true, + date: dayjs(this.date).add(1, 'month').date(day).format('YYYY-MM-DD') + } + }) + ) + + // 分割数组 + for (let n = 0; n < arr.length; n += 7) { + this.month.push( + arr.slice(n, n + 7).map((e, i) => { + e.index = i + n + + // 自定义信息 + const custom = this.customList.find((c) => c.date == e.date) + + // 农历 + if (this.lunar) { + const { + IDayCn, + IMonthCn + } = this.getLunar(e.date) + e.lunar = IDayCn == '初一' ? IMonthCn : IDayCn + } + + return { + ...e, + ...custom + } + }) + ) + } + } + } +} diff --git a/uni_modules/uview-ui/components/u-car-keyboard/props.js b/uni_modules/uview-ui/components/u-car-keyboard/props.js new file mode 100644 index 0000000..3553647 --- /dev/null +++ b/uni_modules/uview-ui/components/u-car-keyboard/props.js @@ -0,0 +1,14 @@ +export default { + props: { + // 是否打乱键盘按键的顺序 + random: { + type: Boolean, + default: false + }, + // 输入一个中文后,是否自动切换到英文 + autoChange: { + type: Boolean, + default: false + } + } +} diff --git a/uni_modules/uview-ui/components/u-car-keyboard/u-car-keyboard.vue b/uni_modules/uview-ui/components/u-car-keyboard/u-car-keyboard.vue new file mode 100644 index 0000000..51175b5 --- /dev/null +++ b/uni_modules/uview-ui/components/u-car-keyboard/u-car-keyboard.vue @@ -0,0 +1,311 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-cell-group/props.js b/uni_modules/uview-ui/components/u-cell-group/props.js new file mode 100644 index 0000000..350ef40 --- /dev/null +++ b/uni_modules/uview-ui/components/u-cell-group/props.js @@ -0,0 +1,14 @@ +export default { + props: { + // 分组标题 + title: { + type: String, + default: uni.$u.props.cellGroup.title + }, + // 是否显示外边框 + border: { + type: Boolean, + default: uni.$u.props.cellGroup.border + } + } +} diff --git a/uni_modules/uview-ui/components/u-cell-group/u-cell-group.vue b/uni_modules/uview-ui/components/u-cell-group/u-cell-group.vue new file mode 100644 index 0000000..a9508c0 --- /dev/null +++ b/uni_modules/uview-ui/components/u-cell-group/u-cell-group.vue @@ -0,0 +1,61 @@ + + + + + + diff --git a/uni_modules/uview-ui/components/u-cell/props.js b/uni_modules/uview-ui/components/u-cell/props.js new file mode 100644 index 0000000..da03330 --- /dev/null +++ b/uni_modules/uview-ui/components/u-cell/props.js @@ -0,0 +1,110 @@ +export default { + props: { + // 标题 + title: { + type: [String, Number], + default: uni.$u.props.cell.title + }, + // 标题下方的描述信息 + label: { + type: [String, Number], + default: uni.$u.props.cell.label + }, + // 右侧的内容 + value: { + type: [String, Number], + default: uni.$u.props.cell.value + }, + // 左侧图标名称,或者图片链接(本地文件建议使用绝对地址) + icon: { + type: String, + default: uni.$u.props.cell.icon + }, + // 是否禁用cell + disabled: { + type: Boolean, + default: uni.$u.props.cell.disabled + }, + // 是否显示下边框 + border: { + type: Boolean, + default: uni.$u.props.cell.border + }, + // 内容是否垂直居中(主要是针对右侧的value部分) + center: { + type: Boolean, + default: uni.$u.props.cell.center + }, + // 点击后跳转的URL地址 + url: { + type: String, + default: uni.$u.props.cell.url + }, + // 链接跳转的方式,内部使用的是uView封装的route方法,可能会进行拦截操作 + linkType: { + type: String, + default: uni.$u.props.cell.linkType + }, + // 是否开启点击反馈(表现为点击时加上灰色背景) + clickable: { + type: Boolean, + default: uni.$u.props.cell.clickable + }, + // 是否展示右侧箭头并开启点击反馈 + isLink: { + type: Boolean, + default: uni.$u.props.cell.isLink + }, + // 是否显示表单状态下的必填星号(此组件可能会内嵌入input组件) + required: { + type: Boolean, + default: uni.$u.props.cell.required + }, + // 右侧的图标箭头 + rightIcon: { + type: String, + default: uni.$u.props.cell.rightIcon + }, + // 右侧箭头的方向,可选值为:left,up,down + arrowDirection: { + type: String, + default: uni.$u.props.cell.arrowDirection + }, + // 左侧图标样式 + iconStyle: { + type: [Object, String], + default: () => { + return uni.$u.props.cell.iconStyle + } + }, + // 右侧箭头图标的样式 + rightIconStyle: { + type: [Object, String], + default: () => { + return uni.$u.props.cell.rightIconStyle + } + }, + // 标题的样式 + titleStyle: { + type: [Object, String], + default: () => { + return uni.$u.props.cell.titleStyle + } + }, + // 单位元的大小,可选值为large + size: { + type: String, + default: uni.$u.props.cell.size + }, + // 点击cell是否阻止事件传播 + stop: { + type: Boolean, + default: uni.$u.props.cell.stop + }, + // 标识符,cell被点击时返回 + name: { + type: [Number, String], + default: uni.$u.props.cell.name + } + } +} diff --git a/uni_modules/uview-ui/components/u-cell/u-cell.vue b/uni_modules/uview-ui/components/u-cell/u-cell.vue new file mode 100644 index 0000000..b099c90 --- /dev/null +++ b/uni_modules/uview-ui/components/u-cell/u-cell.vue @@ -0,0 +1,229 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-checkbox-group/props.js b/uni_modules/uview-ui/components/u-checkbox-group/props.js new file mode 100644 index 0000000..2f818a1 --- /dev/null +++ b/uni_modules/uview-ui/components/u-checkbox-group/props.js @@ -0,0 +1,82 @@ +export default { + props: { + // 标识符 + name: { + type: String, + default: uni.$u.props.checkboxGroup.name + }, + // 绑定的值 + value: { + type: Array, + default: uni.$u.props.checkboxGroup.value + }, + // 形状,circle-圆形,square-方形 + shape: { + type: String, + default: uni.$u.props.checkboxGroup.shape + }, + // 是否禁用全部checkbox + disabled: { + type: Boolean, + default: uni.$u.props.checkboxGroup.disabled + }, + + // 选中状态下的颜色,如设置此值,将会覆盖parent的activeColor值 + activeColor: { + type: String, + default: uni.$u.props.checkboxGroup.activeColor + }, + // 未选中的颜色 + inactiveColor: { + type: String, + default: uni.$u.props.checkboxGroup.inactiveColor + }, + + // 整个组件的尺寸,默认px + size: { + type: [String, Number], + default: uni.$u.props.checkboxGroup.size + }, + // 布局方式,row-横向,column-纵向 + placement: { + type: String, + default: uni.$u.props.checkboxGroup.placement + }, + // label的字体大小,px单位 + labelSize: { + type: [String, Number], + default: uni.$u.props.checkboxGroup.labelSize + }, + // label的字体颜色 + labelColor: { + type: [String], + default: uni.$u.props.checkboxGroup.labelColor + }, + // 是否禁止点击文本操作 + labelDisabled: { + type: Boolean, + default: uni.$u.props.checkboxGroup.labelDisabled + }, + // 图标颜色 + iconColor: { + type: String, + default: uni.$u.props.checkboxGroup.iconColor + }, + // 图标的大小,单位px + iconSize: { + type: [String, Number], + default: uni.$u.props.checkboxGroup.iconSize + }, + // 勾选图标的对齐方式,left-左边,right-右边 + iconPlacement: { + type: String, + default: uni.$u.props.checkboxGroup.iconPlacement + }, + // 竖向配列时,是否显示下划线 + borderBottom: { + type: Boolean, + default: uni.$u.props.checkboxGroup.borderBottom + } + + } +} diff --git a/uni_modules/uview-ui/components/u-checkbox-group/u-checkbox-group.vue b/uni_modules/uview-ui/components/u-checkbox-group/u-checkbox-group.vue new file mode 100644 index 0000000..7a6b4fa --- /dev/null +++ b/uni_modules/uview-ui/components/u-checkbox-group/u-checkbox-group.vue @@ -0,0 +1,103 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-checkbox/props.js b/uni_modules/uview-ui/components/u-checkbox/props.js new file mode 100644 index 0000000..93f4fd9 --- /dev/null +++ b/uni_modules/uview-ui/components/u-checkbox/props.js @@ -0,0 +1,69 @@ +export default { + props: { + // checkbox的名称 + name: { + type: [String, Number, Boolean], + default: uni.$u.props.checkbox.name + }, + // 形状,square为方形,circle为圆型 + shape: { + type: String, + default: uni.$u.props.checkbox.shape + }, + // 整体的大小 + size: { + type: [String, Number], + default: uni.$u.props.checkbox.size + }, + // 是否默认选中 + checked: { + type: Boolean, + default: uni.$u.props.checkbox.checked + }, + // 是否禁用 + disabled: { + type: [String, Boolean], + default: uni.$u.props.checkbox.disabled + }, + // 选中状态下的颜色,如设置此值,将会覆盖parent的activeColor值 + activeColor: { + type: String, + default: uni.$u.props.checkbox.activeColor + }, + // 未选中的颜色 + inactiveColor: { + type: String, + default: uni.$u.props.checkbox.inactiveColor + }, + // 图标的大小,单位px + iconSize: { + type: [String, Number], + default: uni.$u.props.checkbox.iconSize + }, + // 图标颜色 + iconColor: { + type: String, + default: uni.$u.props.checkbox.iconColor + }, + // label提示文字,因为nvue下,直接slot进来的文字,由于特殊的结构,无法修改样式 + label: { + type: [String, Number], + default: uni.$u.props.checkbox.label + }, + // label的字体大小,px单位 + labelSize: { + type: [String, Number], + default: uni.$u.props.checkbox.labelSize + }, + // label的颜色 + labelColor: { + type: String, + default: uni.$u.props.checkbox.labelColor + }, + // 是否禁止点击提示语选中复选框 + labelDisabled: { + type: [String, Boolean], + default: uni.$u.props.checkbox.labelDisabled + } + } +} diff --git a/uni_modules/uview-ui/components/u-checkbox/u-checkbox.vue b/uni_modules/uview-ui/components/u-checkbox/u-checkbox.vue new file mode 100644 index 0000000..6429cca --- /dev/null +++ b/uni_modules/uview-ui/components/u-checkbox/u-checkbox.vue @@ -0,0 +1,344 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-circle-progress/props.js b/uni_modules/uview-ui/components/u-circle-progress/props.js new file mode 100644 index 0000000..d776cfb --- /dev/null +++ b/uni_modules/uview-ui/components/u-circle-progress/props.js @@ -0,0 +1,8 @@ +export default { + props: { + percentage: { + type: [String, Number], + default: uni.$u.props.circleProgress.percentage + } + } +} diff --git a/uni_modules/uview-ui/components/u-circle-progress/u-circle-progress.vue b/uni_modules/uview-ui/components/u-circle-progress/u-circle-progress.vue new file mode 100644 index 0000000..d1ee286 --- /dev/null +++ b/uni_modules/uview-ui/components/u-circle-progress/u-circle-progress.vue @@ -0,0 +1,198 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-code-input/props.js b/uni_modules/uview-ui/components/u-code-input/props.js new file mode 100644 index 0000000..0f016ee --- /dev/null +++ b/uni_modules/uview-ui/components/u-code-input/props.js @@ -0,0 +1,79 @@ +export default { + props: { + // 键盘弹起时,是否自动上推页面 + adjustPosition: { + type: Boolean, + default: uni.$u.props.codeInput.adjustPosition + }, + // 最大输入长度 + maxlength: { + type: [String, Number], + default: uni.$u.props.codeInput.maxlength + }, + // 是否用圆点填充 + dot: { + type: Boolean, + default: uni.$u.props.codeInput.dot + }, + // 显示模式,box-盒子模式,line-底部横线模式 + mode: { + type: String, + default: uni.$u.props.codeInput.mode + }, + // 是否细边框 + hairline: { + type: Boolean, + default: uni.$u.props.codeInput.hairline + }, + // 字符间的距离 + space: { + type: [String, Number], + default: uni.$u.props.codeInput.space + }, + // 预置值 + value: { + type: [String, Number], + default: uni.$u.props.codeInput.value + }, + // 是否自动获取焦点 + focus: { + type: Boolean, + default: uni.$u.props.codeInput.focus + }, + // 字体是否加粗 + bold: { + type: Boolean, + default: uni.$u.props.codeInput.bold + }, + // 字体颜色 + color: { + type: String, + default: uni.$u.props.codeInput.color + }, + // 字体大小 + fontSize: { + type: [String, Number], + default: uni.$u.props.codeInput.fontSize + }, + // 输入框的大小,宽等于高 + size: { + type: [String, Number], + default: uni.$u.props.codeInput.size + }, + // 是否隐藏原生键盘,如果想用自定义键盘的话,需设置此参数为true + disabledKeyboard: { + type: Boolean, + default: uni.$u.props.codeInput.disabledKeyboard + }, + // 边框和线条颜色 + borderColor: { + type: String, + default: uni.$u.props.codeInput.borderColor + }, + // 是否禁止输入"."符号 + disabledDot: { + type: Boolean, + default: uni.$u.props.codeInput.disabledDot + } + } +} diff --git a/uni_modules/uview-ui/components/u-code-input/u-code-input.vue b/uni_modules/uview-ui/components/u-code-input/u-code-input.vue new file mode 100644 index 0000000..96241cf --- /dev/null +++ b/uni_modules/uview-ui/components/u-code-input/u-code-input.vue @@ -0,0 +1,252 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-code/props.js b/uni_modules/uview-ui/components/u-code/props.js new file mode 100644 index 0000000..eaf80d0 --- /dev/null +++ b/uni_modules/uview-ui/components/u-code/props.js @@ -0,0 +1,34 @@ +export default { + props: { + // 倒计时总秒数 + seconds: { + type: [String, Number], + default: uni.$u.props.code.seconds + }, + // 尚未开始时提示 + startText: { + type: String, + default: uni.$u.props.code.startText + }, + // 正在倒计时中的提示 + changeText: { + type: String, + default: uni.$u.props.code.changeText + }, + // 倒计时结束时的提示 + endText: { + type: String, + default: uni.$u.props.code.endText + }, + // 是否在H5刷新或各端返回再进入时继续倒计时 + keepRunning: { + type: Boolean, + default: uni.$u.props.code.keepRunning + }, + // 为了区分多个页面,或者一个页面多个倒计时组件本地存储的继续倒计时变了 + uniqueKey: { + type: String, + default: uni.$u.props.code.uniqueKey + } + } +} diff --git a/uni_modules/uview-ui/components/u-code/u-code.vue b/uni_modules/uview-ui/components/u-code/u-code.vue new file mode 100644 index 0000000..f79a09a --- /dev/null +++ b/uni_modules/uview-ui/components/u-code/u-code.vue @@ -0,0 +1,129 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-col/props.js b/uni_modules/uview-ui/components/u-col/props.js new file mode 100644 index 0000000..0622251 --- /dev/null +++ b/uni_modules/uview-ui/components/u-col/props.js @@ -0,0 +1,29 @@ +export default { + props: { + // 占父容器宽度的多少等分,总分为12份 + span: { + type: [String, Number], + default: uni.$u.props.col.span + }, + // 指定栅格左侧的间隔数(总12栏) + offset: { + type: [String, Number], + default: uni.$u.props.col.offset + }, + // 水平排列方式,可选值为`start`(或`flex-start`)、`end`(或`flex-end`)、`center`、`around`(或`space-around`)、`between`(或`space-between`) + justify: { + type: String, + default: uni.$u.props.col.justify + }, + // 垂直对齐方式,可选值为top、center、bottom、stretch + align: { + type: String, + default: uni.$u.props.col.align + }, + // 文字对齐方式 + textAlign: { + type: String, + default: uni.$u.props.col.textAlign + } + } +} diff --git a/uni_modules/uview-ui/components/u-col/u-col.vue b/uni_modules/uview-ui/components/u-col/u-col.vue new file mode 100644 index 0000000..8be1517 --- /dev/null +++ b/uni_modules/uview-ui/components/u-col/u-col.vue @@ -0,0 +1,162 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-collapse-item/props.js b/uni_modules/uview-ui/components/u-collapse-item/props.js new file mode 100644 index 0000000..bd5749b --- /dev/null +++ b/uni_modules/uview-ui/components/u-collapse-item/props.js @@ -0,0 +1,59 @@ +export default { + props: { + // 标题 + title: { + type: String, + default: uni.$u.props.collapseItem.title + }, + // 标题右侧内容 + value: { + type: String, + default: uni.$u.props.collapseItem.value + }, + // 标题下方的描述信息 + label: { + type: String, + default: uni.$u.props.collapseItem.label + }, + // 是否禁用折叠面板 + disabled: { + type: Boolean, + default: uni.$u.props.collapseItem.disabled + }, + // 是否展示右侧箭头并开启点击反馈 + isLink: { + type: Boolean, + default: uni.$u.props.collapseItem.isLink + }, + // 是否开启点击反馈 + clickable: { + type: Boolean, + default: uni.$u.props.collapseItem.clickable + }, + // 是否显示内边框 + border: { + type: Boolean, + default: uni.$u.props.collapseItem.border + }, + // 标题的对齐方式 + align: { + type: String, + default: uni.$u.props.collapseItem.align + }, + // 唯一标识符 + name: { + type: [String, Number], + default: uni.$u.props.collapseItem.name + }, + // 标题左侧图片,可为绝对路径的图片或内置图标 + icon: { + type: String, + default: uni.$u.props.collapseItem.icon + }, + // 面板展开收起的过渡时间,单位ms + duration: { + type: Number, + default: uni.$u.props.collapseItem.duration + } + } +} diff --git a/uni_modules/uview-ui/components/u-collapse-item/u-collapse-item.vue b/uni_modules/uview-ui/components/u-collapse-item/u-collapse-item.vue new file mode 100644 index 0000000..0e1b703 --- /dev/null +++ b/uni_modules/uview-ui/components/u-collapse-item/u-collapse-item.vue @@ -0,0 +1,225 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-collapse/props.js b/uni_modules/uview-ui/components/u-collapse/props.js new file mode 100644 index 0000000..7ee6d31 --- /dev/null +++ b/uni_modules/uview-ui/components/u-collapse/props.js @@ -0,0 +1,19 @@ +export default { + props: { + // 当前展开面板的name,非手风琴模式:[],手风琴模式:string | number + value: { + type: [String, Number, Array, null], + default: uni.$u.props.collapse.value + }, + // 是否手风琴模式 + accordion: { + type: Boolean, + default: uni.$u.props.collapse.accordion + }, + // 是否显示外边框 + border: { + type: Boolean, + default: uni.$u.props.collapse.border + } + } +} diff --git a/uni_modules/uview-ui/components/u-collapse/u-collapse.vue b/uni_modules/uview-ui/components/u-collapse/u-collapse.vue new file mode 100644 index 0000000..fc188a2 --- /dev/null +++ b/uni_modules/uview-ui/components/u-collapse/u-collapse.vue @@ -0,0 +1,90 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-column-notice/props.js b/uni_modules/uview-ui/components/u-column-notice/props.js new file mode 100644 index 0000000..4809154 --- /dev/null +++ b/uni_modules/uview-ui/components/u-column-notice/props.js @@ -0,0 +1,55 @@ +export default { + props: { + // 显示的内容,字符串 + text: { + type: [Array], + default: uni.$u.props.columnNotice.text + }, + // 是否显示左侧的音量图标 + icon: { + type: String, + default: uni.$u.props.columnNotice.icon + }, + // 通告模式,link-显示右箭头,closable-显示右侧关闭图标 + mode: { + type: String, + default: uni.$u.props.columnNotice.mode + }, + // 文字颜色,各图标也会使用文字颜色 + color: { + type: String, + default: uni.$u.props.columnNotice.color + }, + // 背景颜色 + bgColor: { + type: String, + default: uni.$u.props.columnNotice.bgColor + }, + // 字体大小,单位px + fontSize: { + type: [String, Number], + default: uni.$u.props.columnNotice.fontSize + }, + // 水平滚动时的滚动速度,即每秒滚动多少px(px),这有利于控制文字无论多少时,都能有一个恒定的速度 + speed: { + type: [String, Number], + default: uni.$u.props.columnNotice.speed + }, + // direction = row时,是否使用步进形式滚动 + step: { + type: Boolean, + default: uni.$u.props.columnNotice.step + }, + // 滚动一个周期的时间长,单位ms + duration: { + type: [String, Number], + default: uni.$u.props.columnNotice.duration + }, + // 是否禁止用手滑动切换 + // 目前HX2.6.11,只支持App 2.5.5+、H5 2.5.5+、支付宝小程序、字节跳动小程序 + disableTouch: { + type: Boolean, + default: uni.$u.props.columnNotice.disableTouch + } + } +} diff --git a/uni_modules/uview-ui/components/u-column-notice/u-column-notice.vue b/uni_modules/uview-ui/components/u-column-notice/u-column-notice.vue new file mode 100644 index 0000000..fc39532 --- /dev/null +++ b/uni_modules/uview-ui/components/u-column-notice/u-column-notice.vue @@ -0,0 +1,160 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-count-down/props.js b/uni_modules/uview-ui/components/u-count-down/props.js new file mode 100644 index 0000000..d62f025 --- /dev/null +++ b/uni_modules/uview-ui/components/u-count-down/props.js @@ -0,0 +1,24 @@ +export default { + props: { + // 倒计时时长,单位ms + time: { + type: [String, Number], + default: uni.$u.props.countDown.time + }, + // 时间格式,DD-日,HH-时,mm-分,ss-秒,SSS-毫秒 + format: { + type: String, + default: uni.$u.props.countDown.format + }, + // 是否自动开始倒计时 + autoStart: { + type: Boolean, + default: uni.$u.props.countDown.autoStart + }, + // 是否展示毫秒倒计时 + millisecond: { + type: Boolean, + default: uni.$u.props.countDown.millisecond + } + } +} diff --git a/uni_modules/uview-ui/components/u-count-down/u-count-down.vue b/uni_modules/uview-ui/components/u-count-down/u-count-down.vue new file mode 100644 index 0000000..b5e85a6 --- /dev/null +++ b/uni_modules/uview-ui/components/u-count-down/u-count-down.vue @@ -0,0 +1,163 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-count-down/utils.js b/uni_modules/uview-ui/components/u-count-down/utils.js new file mode 100644 index 0000000..8c75005 --- /dev/null +++ b/uni_modules/uview-ui/components/u-count-down/utils.js @@ -0,0 +1,62 @@ +// 补0,如1 -> 01 +function padZero(num, targetLength = 2) { + let str = `${num}` + while (str.length < targetLength) { + str = `0${str}` + } + return str +} +const SECOND = 1000 +const MINUTE = 60 * SECOND +const HOUR = 60 * MINUTE +const DAY = 24 * HOUR +export function parseTimeData(time) { + const days = Math.floor(time / DAY) + const hours = Math.floor((time % DAY) / HOUR) + const minutes = Math.floor((time % HOUR) / MINUTE) + const seconds = Math.floor((time % MINUTE) / SECOND) + const milliseconds = Math.floor(time % SECOND) + return { + days, + hours, + minutes, + seconds, + milliseconds + } +} +export function parseFormat(format, timeData) { + let { + days, + hours, + minutes, + seconds, + milliseconds + } = timeData + // 如果格式化字符串中不存在DD(天),则将天的时间转为小时中去 + if (format.indexOf('DD') === -1) { + hours += days * 24 + } else { + // 对天补0 + format = format.replace('DD', padZero(days)) + } + // 其他同理于DD的格式化处理方式 + if (format.indexOf('HH') === -1) { + minutes += hours * 60 + } else { + format = format.replace('HH', padZero(hours)) + } + if (format.indexOf('mm') === -1) { + seconds += minutes * 60 + } else { + format = format.replace('mm', padZero(minutes)) + } + if (format.indexOf('ss') === -1) { + milliseconds += seconds * 1000 + } else { + format = format.replace('ss', padZero(seconds)) + } + return format.replace('SSS', padZero(milliseconds, 3)) +} +export function isSameSecond(time1, time2) { + return Math.floor(time1 / 1000) === Math.floor(time2 / 1000) +} diff --git a/uni_modules/uview-ui/components/u-count-to/props.js b/uni_modules/uview-ui/components/u-count-to/props.js new file mode 100644 index 0000000..86873c1 --- /dev/null +++ b/uni_modules/uview-ui/components/u-count-to/props.js @@ -0,0 +1,59 @@ +export default { + props: { + // 开始的数值,默认从0增长到某一个数 + startVal: { + type: [String, Number], + default: uni.$u.props.countTo.startVal + }, + // 要滚动的目标数值,必须 + endVal: { + type: [String, Number], + default: uni.$u.props.countTo.endVal + }, + // 滚动到目标数值的动画持续时间,单位为毫秒(ms) + duration: { + type: [String, Number], + default: uni.$u.props.countTo.duration + }, + // 设置数值后是否自动开始滚动 + autoplay: { + type: Boolean, + default: uni.$u.props.countTo.autoplay + }, + // 要显示的小数位数 + decimals: { + type: [String, Number], + default: uni.$u.props.countTo.decimals + }, + // 是否在即将到达目标数值的时候,使用缓慢滚动的效果 + useEasing: { + type: Boolean, + default: uni.$u.props.countTo.useEasing + }, + // 十进制分割 + decimal: { + type: [String, Number], + default: uni.$u.props.countTo.decimal + }, + // 字体颜色 + color: { + type: String, + default: uni.$u.props.countTo.color + }, + // 字体大小 + fontSize: { + type: [String, Number], + default: uni.$u.props.countTo.fontSize + }, + // 是否加粗字体 + bold: { + type: Boolean, + default: uni.$u.props.countTo.bold + }, + // 千位分隔符,类似金额的分割(¥23,321.05中的",") + separator: { + type: String, + default: uni.$u.props.countTo.separator + } + } +} diff --git a/uni_modules/uview-ui/components/u-count-to/u-count-to.vue b/uni_modules/uview-ui/components/u-count-to/u-count-to.vue new file mode 100644 index 0000000..417b732 --- /dev/null +++ b/uni_modules/uview-ui/components/u-count-to/u-count-to.vue @@ -0,0 +1,184 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-datetime-picker/props.js b/uni_modules/uview-ui/components/u-datetime-picker/props.js new file mode 100644 index 0000000..f44c0f9 --- /dev/null +++ b/uni_modules/uview-ui/components/u-datetime-picker/props.js @@ -0,0 +1,116 @@ +export default { + props: { + // 是否打开组件 + show: { + type: Boolean, + default: uni.$u.props.datetimePicker.show + }, + // 是否展示顶部的操作栏 + showToolbar: { + type: Boolean, + default: uni.$u.props.datetimePicker.showToolbar + }, + // 绑定值 + value: { + type: [String, Number], + default: uni.$u.props.datetimePicker.value + }, + // 顶部标题 + title: { + type: String, + default: uni.$u.props.datetimePicker.title + }, + // 展示格式,mode=date为日期选择,mode=time为时间选择,mode=year-month为年月选择,mode=datetime为日期时间选择 + mode: { + type: String, + default: uni.$u.props.datetimePicker.mode + }, + // 可选的最大时间 + maxDate: { + type: Number, + // 最大默认值为后10年 + default: uni.$u.props.datetimePicker.maxDate + }, + // 可选的最小时间 + minDate: { + type: Number, + // 最小默认值为前10年 + default: uni.$u.props.datetimePicker.minDate + }, + // 可选的最小小时,仅mode=time有效 + minHour: { + type: Number, + default: uni.$u.props.datetimePicker.minHour + }, + // 可选的最大小时,仅mode=time有效 + maxHour: { + type: Number, + default: uni.$u.props.datetimePicker.maxHour + }, + // 可选的最小分钟,仅mode=time有效 + minMinute: { + type: Number, + default: uni.$u.props.datetimePicker.minMinute + }, + // 可选的最大分钟,仅mode=time有效 + maxMinute: { + type: Number, + default: uni.$u.props.datetimePicker.maxMinute + }, + // 选项过滤函数 + filter: { + type: [Function, null], + default: uni.$u.props.datetimePicker.filter + }, + // 选项格式化函数 + formatter: { + type: [Function, null], + default: uni.$u.props.datetimePicker.formatter + }, + // 是否显示加载中状态 + loading: { + type: Boolean, + default: uni.$u.props.datetimePicker.loading + }, + // 各列中,单个选项的高度 + itemHeight: { + type: [String, Number], + default: uni.$u.props.datetimePicker.itemHeight + }, + // 取消按钮的文字 + cancelText: { + type: String, + default: uni.$u.props.datetimePicker.cancelText + }, + // 确认按钮的文字 + confirmText: { + type: String, + default: uni.$u.props.datetimePicker.confirmText + }, + // 取消按钮的颜色 + cancelColor: { + type: String, + default: uni.$u.props.datetimePicker.cancelColor + }, + // 确认按钮的颜色 + confirmColor: { + type: String, + default: uni.$u.props.datetimePicker.confirmColor + }, + // 每列中可见选项的数量 + visibleItemCount: { + type: [String, Number], + default: uni.$u.props.datetimePicker.visibleItemCount + }, + // 是否允许点击遮罩关闭选择器 + closeOnClickOverlay: { + type: Boolean, + default: uni.$u.props.datetimePicker.closeOnClickOverlay + }, + // 各列的默认索引 + defaultIndex: { + type: Array, + default: uni.$u.props.datetimePicker.defaultIndex + } + } +} diff --git a/uni_modules/uview-ui/components/u-datetime-picker/u-datetime-picker.vue b/uni_modules/uview-ui/components/u-datetime-picker/u-datetime-picker.vue new file mode 100644 index 0000000..18d8dcc --- /dev/null +++ b/uni_modules/uview-ui/components/u-datetime-picker/u-datetime-picker.vue @@ -0,0 +1,360 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-divider/props.js b/uni_modules/uview-ui/components/u-divider/props.js new file mode 100644 index 0000000..1fa8359 --- /dev/null +++ b/uni_modules/uview-ui/components/u-divider/props.js @@ -0,0 +1,44 @@ +export default { + props: { + // 是否虚线 + dashed: { + type: Boolean, + default: uni.$u.props.divider.dashed + }, + // 是否细线 + hairline: { + type: Boolean, + default: uni.$u.props.divider.hairline + }, + // 是否以点替代文字,优先于text字段起作用 + dot: { + type: Boolean, + default: uni.$u.props.divider.dot + }, + // 内容文本的位置,left-左边,center-中间,right-右边 + textPosition: { + type: String, + default: uni.$u.props.divider.textPosition + }, + // 文本内容 + text: { + type: [String, Number], + default: uni.$u.props.divider.text + }, + // 文本大小 + textSize: { + type: [String, Number], + default: uni.$u.props.divider.textSize + }, + // 文本颜色 + textColor: { + type: String, + default: uni.$u.props.divider.textColor + }, + // 线条颜色 + lineColor: { + type: String, + default: uni.$u.props.divider.lineColor + } + } +} diff --git a/uni_modules/uview-ui/components/u-divider/u-divider.vue b/uni_modules/uview-ui/components/u-divider/u-divider.vue new file mode 100644 index 0000000..b629da6 --- /dev/null +++ b/uni_modules/uview-ui/components/u-divider/u-divider.vue @@ -0,0 +1,116 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-dropdown-item/props.js b/uni_modules/uview-ui/components/u-dropdown-item/props.js new file mode 100644 index 0000000..501a1f0 --- /dev/null +++ b/uni_modules/uview-ui/components/u-dropdown-item/props.js @@ -0,0 +1,36 @@ +export default { + props: { + // 当前选中项的value值 + value: { + type: [Number, String, Array], + default: '' + }, + // 菜单项标题 + title: { + type: [String, Number], + default: '' + }, + // 选项数据,如果传入了默认slot,此参数无效 + options: { + type: Array, + default() { + return [] + } + }, + // 是否禁用此菜单项 + disabled: { + type: Boolean, + default: false + }, + // 下拉弹窗的高度 + height: { + type: [Number, String], + default: 'auto' + }, + // 点击遮罩是否可以收起弹窗 + closeOnClickOverlay: { + type: Boolean, + default: true + } + } +} diff --git a/uni_modules/uview-ui/components/u-dropdown-item/u-dropdown-item.vue b/uni_modules/uview-ui/components/u-dropdown-item/u-dropdown-item.vue new file mode 100644 index 0000000..f830291 --- /dev/null +++ b/uni_modules/uview-ui/components/u-dropdown-item/u-dropdown-item.vue @@ -0,0 +1,127 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-dropdown/props.js b/uni_modules/uview-ui/components/u-dropdown/props.js new file mode 100644 index 0000000..5f8465e --- /dev/null +++ b/uni_modules/uview-ui/components/u-dropdown/props.js @@ -0,0 +1,65 @@ +export default { + props: { + // 标题选中时的样式 + activeStyle: { + type: [String, Object], + default: () => ({ + color: '#2979ff', + fontSize: '14px' + }) + }, + // 标题未选中时的样式 + inactiveStyle: { + type: [String, Object], + default: () => ({ + color: '#606266', + fontSize: '14px' + }) + }, + // 点击遮罩是否关闭菜单 + closeOnClickMask: { + type: Boolean, + default: true + }, + // 点击当前激活项标题是否关闭菜单 + closeOnClickSelf: { + type: Boolean, + default: true + }, + // 过渡时间 + duration: { + type: [Number, String], + default: 300 + }, + // 标题菜单的高度 + height: { + type: [Number, String], + default: 40 + }, + // 是否显示下边框 + borderBottom: { + type: Boolean, + default: false + }, + // 标题的字体大小 + titleSize: { + type: [Number, String], + default: 14 + }, + // 下拉出来的内容部分的圆角值 + borderRadius: { + type: [Number, String], + default: 0 + }, + // 菜单右侧的icon图标 + menuIcon: { + type: String, + default: 'arrow-down' + }, + // 菜单右侧图标的大小 + menuIconSize: { + type: [Number, String], + default: 14 + } + } +} diff --git a/uni_modules/uview-ui/components/u-dropdown/u-dropdown.vue b/uni_modules/uview-ui/components/u-dropdown/u-dropdown.vue new file mode 100644 index 0000000..f830291 --- /dev/null +++ b/uni_modules/uview-ui/components/u-dropdown/u-dropdown.vue @@ -0,0 +1,127 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-empty/props.js b/uni_modules/uview-ui/components/u-empty/props.js new file mode 100644 index 0000000..78662f8 --- /dev/null +++ b/uni_modules/uview-ui/components/u-empty/props.js @@ -0,0 +1,59 @@ +export default { + props: { + // 内置图标名称,或图片路径,建议绝对路径 + icon: { + type: String, + default: uni.$u.props.empty.icon + }, + // 提示文字 + text: { + type: String, + default: uni.$u.props.empty.text + }, + // 文字颜色 + textColor: { + type: String, + default: uni.$u.props.empty.textColor + }, + // 文字大小 + textSize: { + type: [String, Number], + default: uni.$u.props.empty.textSize + }, + // 图标的颜色 + iconColor: { + type: String, + default: uni.$u.props.empty.iconColor + }, + // 图标的大小 + iconSize: { + type: [String, Number], + default: uni.$u.props.empty.iconSize + }, + // 选择预置的图标类型 + mode: { + type: String, + default: uni.$u.props.empty.mode + }, + // 图标宽度,单位px + width: { + type: [String, Number], + default: uni.$u.props.empty.width + }, + // 图标高度,单位px + height: { + type: [String, Number], + default: uni.$u.props.empty.height + }, + // 是否显示组件 + show: { + type: Boolean, + default: uni.$u.props.empty.show + }, + // 组件距离上一个元素之间的距离,默认px单位 + marginTop: { + type: [String, Number], + default: uni.$u.props.empty.marginTop + } + } +} diff --git a/uni_modules/uview-ui/components/u-empty/u-empty.vue b/uni_modules/uview-ui/components/u-empty/u-empty.vue new file mode 100644 index 0000000..03d6a27 --- /dev/null +++ b/uni_modules/uview-ui/components/u-empty/u-empty.vue @@ -0,0 +1,128 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-form-item/props.js b/uni_modules/uview-ui/components/u-form-item/props.js new file mode 100644 index 0000000..7b16655 --- /dev/null +++ b/uni_modules/uview-ui/components/u-form-item/props.js @@ -0,0 +1,48 @@ +export default { + props: { + // input的label提示语 + label: { + type: String, + default: uni.$u.props.formItem.label + }, + // 绑定的值 + prop: { + type: String, + default: uni.$u.props.formItem.prop + }, + // 是否显示表单域的下划线边框 + borderBottom: { + type: [String, Boolean], + default: uni.$u.props.formItem.borderBottom + }, + // label的位置,left-左边,top-上边 + labelPosition: { + type: String, + default: uni.$u.props.formItem.labelPosition + }, + // label的宽度,单位px + labelWidth: { + type: [String, Number], + default: uni.$u.props.formItem.labelWidth + }, + // 右侧图标 + rightIcon: { + type: String, + default: uni.$u.props.formItem.rightIcon + }, + // 左侧图标 + leftIcon: { + type: String, + default: uni.$u.props.formItem.leftIcon + }, + // 是否显示左边的必填星号,只作显示用,具体校验必填的逻辑,请在rules中配置 + required: { + type: Boolean, + default: uni.$u.props.formItem.required + }, + leftIconStyle: { + type: [String, Object], + default: uni.$u.props.formItem.leftIconStyle, + } + } +} diff --git a/uni_modules/uview-ui/components/u-form-item/u-form-item.vue b/uni_modules/uview-ui/components/u-form-item/u-form-item.vue new file mode 100644 index 0000000..6aa8d69 --- /dev/null +++ b/uni_modules/uview-ui/components/u-form-item/u-form-item.vue @@ -0,0 +1,235 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-form/props.js b/uni_modules/uview-ui/components/u-form/props.js new file mode 100644 index 0000000..f2a629c --- /dev/null +++ b/uni_modules/uview-ui/components/u-form/props.js @@ -0,0 +1,45 @@ +export default { + props: { + // 当前form的需要验证字段的集合 + model: { + type: Object, + default: uni.$u.props.form.model + }, + // 验证规则 + rules: { + type: [Object, Function, Array], + default: uni.$u.props.form.rules + }, + // 有错误时的提示方式,message-提示信息,toast-进行toast提示 + // border-bottom-下边框呈现红色,none-无提示 + errorType: { + type: String, + default: uni.$u.props.form.errorType + }, + // 是否显示表单域的下划线边框 + borderBottom: { + type: Boolean, + default: uni.$u.props.form.borderBottom + }, + // label的位置,left-左边,top-上边 + labelPosition: { + type: String, + default: uni.$u.props.form.labelPosition + }, + // label的宽度,单位px + labelWidth: { + type: [String, Number], + default: uni.$u.props.form.labelWidth + }, + // lable字体的对齐方式 + labelAlign: { + type: String, + default: uni.$u.props.form.labelAlign + }, + // lable的样式,对象形式 + labelStyle: { + type: Object, + default: uni.$u.props.form.labelStyle + } + } +} diff --git a/uni_modules/uview-ui/components/u-form/u-form.vue b/uni_modules/uview-ui/components/u-form/u-form.vue new file mode 100644 index 0000000..fe2dde2 --- /dev/null +++ b/uni_modules/uview-ui/components/u-form/u-form.vue @@ -0,0 +1,214 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-gap/props.js b/uni_modules/uview-ui/components/u-gap/props.js new file mode 100644 index 0000000..89953e3 --- /dev/null +++ b/uni_modules/uview-ui/components/u-gap/props.js @@ -0,0 +1,24 @@ +export default { + props: { + // 背景颜色(默认transparent) + bgColor: { + type: String, + default: uni.$u.props.gap.bgColor + }, + // 分割槽高度,单位px(默认30) + height: { + type: [String, Number], + default: uni.$u.props.gap.height + }, + // 与上一个组件的距离 + marginTop: { + type: [String, Number], + default: uni.$u.props.gap.marginTop + }, + // 与下一个组件的距离 + marginBottom: { + type: [String, Number], + default: uni.$u.props.gap.marginBottom + } + } +} diff --git a/uni_modules/uview-ui/components/u-gap/u-gap.vue b/uni_modules/uview-ui/components/u-gap/u-gap.vue new file mode 100644 index 0000000..e4429f0 --- /dev/null +++ b/uni_modules/uview-ui/components/u-gap/u-gap.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-grid-item/props.js b/uni_modules/uview-ui/components/u-grid-item/props.js new file mode 100644 index 0000000..06c3c66 --- /dev/null +++ b/uni_modules/uview-ui/components/u-grid-item/props.js @@ -0,0 +1,14 @@ +export default { + props: { + // 宫格的name + name: { + type: [String, Number, null], + default: uni.$u.props.gridItem.name + }, + // 背景颜色 + bgColor: { + type: String, + default: uni.$u.props.gridItem.bgColor + } + } +} diff --git a/uni_modules/uview-ui/components/u-grid-item/u-grid-item.vue b/uni_modules/uview-ui/components/u-grid-item/u-grid-item.vue new file mode 100644 index 0000000..fc0c7cf --- /dev/null +++ b/uni_modules/uview-ui/components/u-grid-item/u-grid-item.vue @@ -0,0 +1,209 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-grid/props.js b/uni_modules/uview-ui/components/u-grid/props.js new file mode 100644 index 0000000..87b0f6a --- /dev/null +++ b/uni_modules/uview-ui/components/u-grid/props.js @@ -0,0 +1,19 @@ +export default { + props: { + // 分成几列 + col: { + type: [String, Number], + default: uni.$u.props.grid.col + }, + // 是否显示边框 + border: { + type: Boolean, + default: uni.$u.props.grid.border + }, + // 宫格对齐方式,表现为数量少的时候,靠左,居中,还是靠右 + align: { + type: String, + default: uni.$u.props.grid.align + } + } +} diff --git a/uni_modules/uview-ui/components/u-grid/u-grid.vue b/uni_modules/uview-ui/components/u-grid/u-grid.vue new file mode 100644 index 0000000..b43cc27 --- /dev/null +++ b/uni_modules/uview-ui/components/u-grid/u-grid.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-icon/icons.js b/uni_modules/uview-ui/components/u-icon/icons.js new file mode 100644 index 0000000..f4d0fe2 --- /dev/null +++ b/uni_modules/uview-ui/components/u-icon/icons.js @@ -0,0 +1,214 @@ +export default { + 'uicon-level': '\ue693', + 'uicon-column-line': '\ue68e', + 'uicon-checkbox-mark': '\ue807', + 'uicon-folder': '\ue7f5', + 'uicon-movie': '\ue7f6', + 'uicon-star-fill': '\ue669', + 'uicon-star': '\ue65f', + 'uicon-phone-fill': '\ue64f', + 'uicon-phone': '\ue622', + 'uicon-apple-fill': '\ue881', + 'uicon-chrome-circle-fill': '\ue885', + 'uicon-backspace': '\ue67b', + 'uicon-attach': '\ue632', + 'uicon-cut': '\ue948', + 'uicon-empty-car': '\ue602', + 'uicon-empty-coupon': '\ue682', + 'uicon-empty-address': '\ue646', + 'uicon-empty-favor': '\ue67c', + 'uicon-empty-permission': '\ue686', + 'uicon-empty-news': '\ue687', + 'uicon-empty-search': '\ue664', + 'uicon-github-circle-fill': '\ue887', + 'uicon-rmb': '\ue608', + 'uicon-person-delete-fill': '\ue66a', + 'uicon-reload': '\ue788', + 'uicon-order': '\ue68f', + 'uicon-server-man': '\ue6bc', + 'uicon-search': '\ue62a', + 'uicon-fingerprint': '\ue955', + 'uicon-more-dot-fill': '\ue630', + 'uicon-scan': '\ue662', + 'uicon-share-square': '\ue60b', + 'uicon-map': '\ue61d', + 'uicon-map-fill': '\ue64e', + 'uicon-tags': '\ue629', + 'uicon-tags-fill': '\ue651', + 'uicon-bookmark-fill': '\ue63b', + 'uicon-bookmark': '\ue60a', + 'uicon-eye': '\ue613', + 'uicon-eye-fill': '\ue641', + 'uicon-mic': '\ue64a', + 'uicon-mic-off': '\ue649', + 'uicon-calendar': '\ue66e', + 'uicon-calendar-fill': '\ue634', + 'uicon-trash': '\ue623', + 'uicon-trash-fill': '\ue658', + 'uicon-play-left': '\ue66d', + 'uicon-play-right': '\ue610', + 'uicon-minus': '\ue618', + 'uicon-plus': '\ue62d', + 'uicon-info': '\ue653', + 'uicon-info-circle': '\ue7d2', + 'uicon-info-circle-fill': '\ue64b', + 'uicon-question': '\ue715', + 'uicon-error': '\ue6d3', + 'uicon-close': '\ue685', + 'uicon-checkmark': '\ue6a8', + 'uicon-android-circle-fill': '\ue67e', + 'uicon-android-fill': '\ue67d', + 'uicon-ie': '\ue87b', + 'uicon-IE-circle-fill': '\ue889', + 'uicon-google': '\ue87a', + 'uicon-google-circle-fill': '\ue88a', + 'uicon-setting-fill': '\ue872', + 'uicon-setting': '\ue61f', + 'uicon-minus-square-fill': '\ue855', + 'uicon-plus-square-fill': '\ue856', + 'uicon-heart': '\ue7df', + 'uicon-heart-fill': '\ue851', + 'uicon-camera': '\ue7d7', + 'uicon-camera-fill': '\ue870', + 'uicon-more-circle': '\ue63e', + 'uicon-more-circle-fill': '\ue645', + 'uicon-chat': '\ue620', + 'uicon-chat-fill': '\ue61e', + 'uicon-bag-fill': '\ue617', + 'uicon-bag': '\ue619', + 'uicon-error-circle-fill': '\ue62c', + 'uicon-error-circle': '\ue624', + 'uicon-close-circle': '\ue63f', + 'uicon-close-circle-fill': '\ue637', + 'uicon-checkmark-circle': '\ue63d', + 'uicon-checkmark-circle-fill': '\ue635', + 'uicon-question-circle-fill': '\ue666', + 'uicon-question-circle': '\ue625', + 'uicon-share': '\ue631', + 'uicon-share-fill': '\ue65e', + 'uicon-shopping-cart': '\ue621', + 'uicon-shopping-cart-fill': '\ue65d', + 'uicon-bell': '\ue609', + 'uicon-bell-fill': '\ue640', + 'uicon-list': '\ue650', + 'uicon-list-dot': '\ue616', + 'uicon-zhihu': '\ue6ba', + 'uicon-zhihu-circle-fill': '\ue709', + 'uicon-zhifubao': '\ue6b9', + 'uicon-zhifubao-circle-fill': '\ue6b8', + 'uicon-weixin-circle-fill': '\ue6b1', + 'uicon-weixin-fill': '\ue6b2', + 'uicon-twitter-circle-fill': '\ue6ab', + 'uicon-twitter': '\ue6aa', + 'uicon-taobao-circle-fill': '\ue6a7', + 'uicon-taobao': '\ue6a6', + 'uicon-weibo-circle-fill': '\ue6a5', + 'uicon-weibo': '\ue6a4', + 'uicon-qq-fill': '\ue6a1', + 'uicon-qq-circle-fill': '\ue6a0', + 'uicon-moments-circel-fill': '\ue69a', + 'uicon-moments': '\ue69b', + 'uicon-qzone': '\ue695', + 'uicon-qzone-circle-fill': '\ue696', + 'uicon-baidu-circle-fill': '\ue680', + 'uicon-baidu': '\ue681', + 'uicon-facebook-circle-fill': '\ue68a', + 'uicon-facebook': '\ue689', + 'uicon-car': '\ue60c', + 'uicon-car-fill': '\ue636', + 'uicon-warning-fill': '\ue64d', + 'uicon-warning': '\ue694', + 'uicon-clock-fill': '\ue638', + 'uicon-clock': '\ue60f', + 'uicon-edit-pen': '\ue612', + 'uicon-edit-pen-fill': '\ue66b', + 'uicon-email': '\ue611', + 'uicon-email-fill': '\ue642', + 'uicon-minus-circle': '\ue61b', + 'uicon-minus-circle-fill': '\ue652', + 'uicon-plus-circle': '\ue62e', + 'uicon-plus-circle-fill': '\ue661', + 'uicon-file-text': '\ue663', + 'uicon-file-text-fill': '\ue665', + 'uicon-pushpin': '\ue7e3', + 'uicon-pushpin-fill': '\ue86e', + 'uicon-grid': '\ue673', + 'uicon-grid-fill': '\ue678', + 'uicon-play-circle': '\ue647', + 'uicon-play-circle-fill': '\ue655', + 'uicon-pause-circle-fill': '\ue654', + 'uicon-pause': '\ue8fa', + 'uicon-pause-circle': '\ue643', + 'uicon-eye-off': '\ue648', + 'uicon-eye-off-outline': '\ue62b', + 'uicon-gift-fill': '\ue65c', + 'uicon-gift': '\ue65b', + 'uicon-rmb-circle-fill': '\ue657', + 'uicon-rmb-circle': '\ue677', + 'uicon-kefu-ermai': '\ue656', + 'uicon-server-fill': '\ue751', + 'uicon-coupon-fill': '\ue8c4', + 'uicon-coupon': '\ue8ae', + 'uicon-integral': '\ue704', + 'uicon-integral-fill': '\ue703', + 'uicon-home-fill': '\ue964', + 'uicon-home': '\ue965', + 'uicon-hourglass-half-fill': '\ue966', + 'uicon-hourglass': '\ue967', + 'uicon-account': '\ue628', + 'uicon-plus-people-fill': '\ue626', + 'uicon-minus-people-fill': '\ue615', + 'uicon-account-fill': '\ue614', + 'uicon-thumb-down-fill': '\ue726', + 'uicon-thumb-down': '\ue727', + 'uicon-thumb-up': '\ue733', + 'uicon-thumb-up-fill': '\ue72f', + 'uicon-lock-fill': '\ue979', + 'uicon-lock-open': '\ue973', + 'uicon-lock-opened-fill': '\ue974', + 'uicon-lock': '\ue97a', + 'uicon-red-packet-fill': '\ue690', + 'uicon-photo-fill': '\ue98b', + 'uicon-photo': '\ue98d', + 'uicon-volume-off-fill': '\ue659', + 'uicon-volume-off': '\ue644', + 'uicon-volume-fill': '\ue670', + 'uicon-volume': '\ue633', + 'uicon-red-packet': '\ue691', + 'uicon-download': '\ue63c', + 'uicon-arrow-up-fill': '\ue6b0', + 'uicon-arrow-down-fill': '\ue600', + 'uicon-play-left-fill': '\ue675', + 'uicon-play-right-fill': '\ue676', + 'uicon-rewind-left-fill': '\ue679', + 'uicon-rewind-right-fill': '\ue67a', + 'uicon-arrow-downward': '\ue604', + 'uicon-arrow-leftward': '\ue601', + 'uicon-arrow-rightward': '\ue603', + 'uicon-arrow-upward': '\ue607', + 'uicon-arrow-down': '\ue60d', + 'uicon-arrow-right': '\ue605', + 'uicon-arrow-left': '\ue60e', + 'uicon-arrow-up': '\ue606', + 'uicon-skip-back-left': '\ue674', + 'uicon-skip-forward-right': '\ue672', + 'uicon-rewind-right': '\ue66f', + 'uicon-rewind-left': '\ue671', + 'uicon-arrow-right-double': '\ue68d', + 'uicon-arrow-left-double': '\ue68c', + 'uicon-wifi-off': '\ue668', + 'uicon-wifi': '\ue667', + 'uicon-empty-data': '\ue62f', + 'uicon-empty-history': '\ue684', + 'uicon-empty-list': '\ue68b', + 'uicon-empty-page': '\ue627', + 'uicon-empty-order': '\ue639', + 'uicon-man': '\ue697', + 'uicon-woman': '\ue69c', + 'uicon-man-add': '\ue61c', + 'uicon-man-add-fill': '\ue64c', + 'uicon-man-delete': '\ue61a', + 'uicon-man-delete-fill': '\ue66a', + 'uicon-zh': '\ue70a', + 'uicon-en': '\ue692' +} diff --git a/uni_modules/uview-ui/components/u-icon/props.js b/uni_modules/uview-ui/components/u-icon/props.js new file mode 100644 index 0000000..71845b7 --- /dev/null +++ b/uni_modules/uview-ui/components/u-icon/props.js @@ -0,0 +1,89 @@ +export default { + props: { + // 图标类名 + name: { + type: String, + default: uni.$u.props.icon.name + }, + // 图标颜色,可接受主题色 + color: { + type: String, + default: uni.$u.props.icon.color + }, + // 字体大小,单位px + size: { + type: [String, Number], + default: uni.$u.props.icon.size + }, + // 是否显示粗体 + bold: { + type: Boolean, + default: uni.$u.props.icon.bold + }, + // 点击图标的时候传递事件出去的index(用于区分点击了哪一个) + index: { + type: [String, Number], + default: uni.$u.props.icon.index + }, + // 触摸图标时的类名 + hoverClass: { + type: String, + default: uni.$u.props.icon.hoverClass + }, + // 自定义扩展前缀,方便用户扩展自己的图标库 + customPrefix: { + type: String, + default: uni.$u.props.icon.customPrefix + }, + // 图标右边或者下面的文字 + label: { + type: [String, Number], + default: uni.$u.props.icon.label + }, + // label的位置,只能右边或者下边 + labelPos: { + type: String, + default: uni.$u.props.icon.labelPos + }, + // label的大小 + labelSize: { + type: [String, Number], + default: uni.$u.props.icon.labelSize + }, + // label的颜色 + labelColor: { + type: String, + default: uni.$u.props.icon.labelColor + }, + // label与图标的距离 + space: { + type: [String, Number], + default: uni.$u.props.icon.space + }, + // 图片的mode + imgMode: { + type: String, + default: uni.$u.props.icon.imgMode + }, + // 用于显示图片小图标时,图片的宽度 + width: { + type: [String, Number], + default: uni.$u.props.icon.width + }, + // 用于显示图片小图标时,图片的高度 + height: { + type: [String, Number], + default: uni.$u.props.icon.height + }, + // 用于解决某些情况下,让图标垂直居中的用途 + top: { + type: [String, Number], + default: uni.$u.props.icon.top + }, + // 是否阻止事件传播 + stop: { + type: Boolean, + default: uni.$u.props.icon.stop + } + } +} diff --git a/uni_modules/uview-ui/components/u-icon/u-icon.vue b/uni_modules/uview-ui/components/u-icon/u-icon.vue new file mode 100644 index 0000000..9340328 --- /dev/null +++ b/uni_modules/uview-ui/components/u-icon/u-icon.vue @@ -0,0 +1,234 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-image/props.js b/uni_modules/uview-ui/components/u-image/props.js new file mode 100644 index 0000000..2eabb74 --- /dev/null +++ b/uni_modules/uview-ui/components/u-image/props.js @@ -0,0 +1,84 @@ +export default { + props: { + // 图片地址 + src: { + type: String, + default: uni.$u.props.image.src + }, + // 裁剪模式 + mode: { + type: String, + default: uni.$u.props.image.mode + }, + // 宽度,单位任意 + width: { + type: [String, Number], + default: uni.$u.props.image.width + }, + // 高度,单位任意 + height: { + type: [String, Number], + default: uni.$u.props.image.height + }, + // 图片形状,circle-圆形,square-方形 + shape: { + type: String, + default: uni.$u.props.image.shape + }, + // 圆角,单位任意 + radius: { + type: [String, Number], + default: uni.$u.props.image.radius + }, + // 是否懒加载,微信小程序、App、百度小程序、字节跳动小程序 + lazyLoad: { + type: Boolean, + default: uni.$u.props.image.lazyLoad + }, + // 开启长按图片显示识别微信小程序码菜单 + showMenuByLongpress: { + type: Boolean, + default: uni.$u.props.image.showMenuByLongpress + }, + // 加载中的图标,或者小图片 + loadingIcon: { + type: String, + default: uni.$u.props.image.loadingIcon + }, + // 加载失败的图标,或者小图片 + errorIcon: { + type: String, + default: uni.$u.props.image.errorIcon + }, + // 是否显示加载中的图标或者自定义的slot + showLoading: { + type: Boolean, + default: uni.$u.props.image.showLoading + }, + // 是否显示加载错误的图标或者自定义的slot + showError: { + type: Boolean, + default: uni.$u.props.image.showError + }, + // 是否需要淡入效果 + fade: { + type: Boolean, + default: uni.$u.props.image.fade + }, + // 只支持网络资源,只对微信小程序有效 + webp: { + type: Boolean, + default: uni.$u.props.image.webp + }, + // 过渡时间,单位ms + duration: { + type: [String, Number], + default: uni.$u.props.image.duration + }, + // 背景颜色,用于深色页面加载图片时,为了和背景色融合 + bgColor: { + type: String, + default: uni.$u.props.image.bgColor + } + } +} diff --git a/uni_modules/uview-ui/components/u-image/u-image.vue b/uni_modules/uview-ui/components/u-image/u-image.vue new file mode 100644 index 0000000..473e35b --- /dev/null +++ b/uni_modules/uview-ui/components/u-image/u-image.vue @@ -0,0 +1,232 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-index-anchor/props.js b/uni_modules/uview-ui/components/u-index-anchor/props.js new file mode 100644 index 0000000..6d8b59a --- /dev/null +++ b/uni_modules/uview-ui/components/u-index-anchor/props.js @@ -0,0 +1,29 @@ +export default { + props: { + // 列表锚点文本内容 + text: { + type: [String, Number], + default: uni.$u.props.indexAnchor.text + }, + // 列表锚点文字颜色 + color: { + type: String, + default: uni.$u.props.indexAnchor.color + }, + // 列表锚点文字大小,单位默认px + size: { + type: [String, Number], + default: uni.$u.props.indexAnchor.size + }, + // 列表锚点背景颜色 + bgColor: { + type: String, + default: uni.$u.props.indexAnchor.bgColor + }, + // 列表锚点高度,单位默认px + height: { + type: [String, Number], + default: uni.$u.props.indexAnchor.height + } + } +} diff --git a/uni_modules/uview-ui/components/u-index-anchor/u-index-anchor.vue b/uni_modules/uview-ui/components/u-index-anchor/u-index-anchor.vue new file mode 100644 index 0000000..b95ddef --- /dev/null +++ b/uni_modules/uview-ui/components/u-index-anchor/u-index-anchor.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-index-item/props.js b/uni_modules/uview-ui/components/u-index-item/props.js new file mode 100644 index 0000000..7c11331 --- /dev/null +++ b/uni_modules/uview-ui/components/u-index-item/props.js @@ -0,0 +1,5 @@ +export default { + props: { + + } +} diff --git a/uni_modules/uview-ui/components/u-index-item/u-index-item.vue b/uni_modules/uview-ui/components/u-index-item/u-index-item.vue new file mode 100644 index 0000000..0bc7fb3 --- /dev/null +++ b/uni_modules/uview-ui/components/u-index-item/u-index-item.vue @@ -0,0 +1,87 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-index-list/props.js b/uni_modules/uview-ui/components/u-index-list/props.js new file mode 100644 index 0000000..354d459 --- /dev/null +++ b/uni_modules/uview-ui/components/u-index-list/props.js @@ -0,0 +1,29 @@ +export default { + props: { + // 右边锚点非激活的颜色 + inactiveColor: { + type: String, + default: uni.$u.props.indexList.inactiveColor + }, + // 右边锚点激活的颜色 + activeColor: { + type: String, + default: uni.$u.props.indexList.activeColor + }, + // 索引字符列表,数组形式 + indexList: { + type: Array, + default: uni.$u.props.indexList.indexList + }, + // 是否开启锚点自动吸顶 + sticky: { + type: Boolean, + default: uni.$u.props.indexList.sticky + }, + // 自定义导航栏的高度 + customNavHeight: { + type: [String, Number], + default: uni.$u.props.indexList.customNavHeight + } + } +} diff --git a/uni_modules/uview-ui/components/u-index-list/u-index-list.vue b/uni_modules/uview-ui/components/u-index-list/u-index-list.vue new file mode 100644 index 0000000..d712618 --- /dev/null +++ b/uni_modules/uview-ui/components/u-index-list/u-index-list.vue @@ -0,0 +1,440 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-input/props.js b/uni_modules/uview-ui/components/u-input/props.js new file mode 100644 index 0000000..2c50870 --- /dev/null +++ b/uni_modules/uview-ui/components/u-input/props.js @@ -0,0 +1,187 @@ +export default { + props: { + // 输入的值 + value: { + type: [String, Number], + default: uni.$u.props.input.value + }, + // 输入框类型 + // number-数字输入键盘,app-vue下可以输入浮点数,app-nvue和小程序平台下只能输入整数 + // idcard-身份证输入键盘,微信、支付宝、百度、QQ小程序 + // digit-带小数点的数字键盘,App的nvue页面、微信、支付宝、百度、头条、QQ小程序 + // text-文本输入键盘 + type: { + type: String, + default: uni.$u.props.input.type + }, + // 如果 textarea 是在一个 position:fixed 的区域,需要显示指定属性 fixed 为 true, + // 兼容性:微信小程序、百度小程序、字节跳动小程序、QQ小程序 + fixed: { + type: Boolean, + default: uni.$u.props.input.fixed + }, + // 是否禁用输入框 + disabled: { + type: Boolean, + default: uni.$u.props.input.disabled + }, + // 禁用状态时的背景色 + disabledColor: { + type: String, + default: uni.$u.props.input.disabledColor + }, + // 是否显示清除控件 + clearable: { + type: Boolean, + default: uni.$u.props.input.clearable + }, + // 是否密码类型 + password: { + type: Boolean, + default: uni.$u.props.input.password + }, + // 最大输入长度,设置为 -1 的时候不限制最大长度 + maxlength: { + type: [String, Number], + default: uni.$u.props.input.maxlength + }, + // 输入框为空时的占位符 + placeholder: { + type: String, + default: uni.$u.props.input.placeholder + }, + // 指定placeholder的样式类,注意页面或组件的style中写了scoped时,需要在类名前写/deep/ + placeholderClass: { + type: String, + default: uni.$u.props.input.placeholderClass + }, + // 指定placeholder的样式 + placeholderStyle: { + type: [String, Object], + default: uni.$u.props.input.placeholderStyle + }, + // 是否显示输入字数统计,只在 type ="text"或type ="textarea"时有效 + showWordLimit: { + type: Boolean, + default: uni.$u.props.input.showWordLimit + }, + // 设置右下角按钮的文字,有效值:send|search|next|go|done,兼容性详见uni-app文档 + // https://uniapp.dcloud.io/component/input + // https://uniapp.dcloud.io/component/textarea + confirmType: { + type: String, + default: uni.$u.props.input.confirmType + }, + // 点击键盘右下角按钮时是否保持键盘不收起,H5无效 + confirmHold: { + type: Boolean, + default: uni.$u.props.input.confirmHold + }, + // focus时,点击页面的时候不收起键盘,微信小程序有效 + holdKeyboard: { + type: Boolean, + default: uni.$u.props.input.holdKeyboard + }, + // 自动获取焦点 + // 在 H5 平台能否聚焦以及软键盘是否跟随弹出,取决于当前浏览器本身的实现。nvue 页面不支持,需使用组件的 focus()、blur() 方法控制焦点 + focus: { + type: Boolean, + default: uni.$u.props.input.focus + }, + // 键盘收起时,是否自动失去焦点,目前仅App3.0.0+有效 + autoBlur: { + type: Boolean, + default: uni.$u.props.input.autoBlur + }, + // 是否去掉 iOS 下的默认内边距,仅微信小程序,且type=textarea时有效 + disableDefaultPadding: { + type: Boolean, + default: uni.$u.props.input.disableDefaultPadding + }, + // 指定focus时光标的位置 + cursor: { + type: [String, Number], + default: uni.$u.props.input.cursor + }, + // 输入框聚焦时底部与键盘的距离 + cursorSpacing: { + type: [String, Number], + default: uni.$u.props.input.cursorSpacing + }, + // 光标起始位置,自动聚集时有效,需与selection-end搭配使用 + selectionStart: { + type: [String, Number], + default: uni.$u.props.input.selectionStart + }, + // 光标结束位置,自动聚集时有效,需与selection-start搭配使用 + selectionEnd: { + type: [String, Number], + default: uni.$u.props.input.selectionEnd + }, + // 键盘弹起时,是否自动上推页面 + adjustPosition: { + type: Boolean, + default: uni.$u.props.input.adjustPosition + }, + // 输入框内容对齐方式,可选值为:left|center|right + inputAlign: { + type: String, + default: uni.$u.props.input.inputAlign + }, + // 输入框字体的大小 + fontSize: { + type: [String, Number], + default: uni.$u.props.input.fontSize + }, + // 输入框字体颜色 + color: { + type: String, + default: uni.$u.props.input.color + }, + // 输入框前置图标 + prefixIcon: { + type: String, + default: uni.$u.props.input.prefixIcon + }, + // 前置图标样式,对象或字符串 + prefixIconStyle: { + type: [String, Object], + default: uni.$u.props.input.prefixIconStyle + }, + // 输入框后置图标 + suffixIcon: { + type: String, + default: uni.$u.props.input.suffixIcon + }, + // 后置图标样式,对象或字符串 + suffixIconStyle: { + type: [String, Object], + default: uni.$u.props.input.suffixIconStyle + }, + // 边框类型,surround-四周边框,bottom-底部边框,none-无边框 + border: { + type: String, + default: uni.$u.props.input.border + }, + // 是否只读,与disabled不同之处在于disabled会置灰组件,而readonly则不会 + readonly: { + type: Boolean, + default: uni.$u.props.input.readonly + }, + // 输入框形状,circle-圆形,square-方形 + shape: { + type: String, + default: uni.$u.props.input.shape + }, + // 用于处理或者过滤输入框内容的方法 + formatter: { + type: [Function, null], + default: uni.$u.props.input.formatter + }, + // 是否忽略组件内对文本合成系统事件的处理 + ignoreCompositionEvent: { + type: Boolean, + default: true + } + } +} diff --git a/uni_modules/uview-ui/components/u-input/u-input.vue b/uni_modules/uview-ui/components/u-input/u-input.vue new file mode 100644 index 0000000..4c83757 --- /dev/null +++ b/uni_modules/uview-ui/components/u-input/u-input.vue @@ -0,0 +1,354 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-keyboard/props.js b/uni_modules/uview-ui/components/u-keyboard/props.js new file mode 100644 index 0000000..cfdb00a --- /dev/null +++ b/uni_modules/uview-ui/components/u-keyboard/props.js @@ -0,0 +1,84 @@ +export default { + props: { + // 键盘的类型,number-数字键盘,card-身份证键盘,car-车牌号键盘 + mode: { + type: String, + default: uni.$u.props.keyboard.mode + }, + // 是否显示键盘的"."符号 + dotDisabled: { + type: Boolean, + default: uni.$u.props.keyboard.dotDisabled + }, + // 是否显示顶部工具条 + tooltip: { + type: Boolean, + default: uni.$u.props.keyboard.tooltip + }, + // 是否显示工具条中间的提示 + showTips: { + type: Boolean, + default: uni.$u.props.keyboard.showTips + }, + // 工具条中间的提示文字 + tips: { + type: String, + default: uni.$u.props.keyboard.tips + }, + // 是否显示工具条左边的"取消"按钮 + showCancel: { + type: Boolean, + default: uni.$u.props.keyboard.showCancel + }, + // 是否显示工具条右边的"完成"按钮 + showConfirm: { + type: Boolean, + default: uni.$u.props.keyboard.showConfirm + }, + // 是否打乱键盘按键的顺序 + random: { + type: Boolean, + default: uni.$u.props.keyboard.random + }, + // 是否开启底部安全区适配,开启的话,会在iPhoneX机型底部添加一定的内边距 + safeAreaInsetBottom: { + type: Boolean, + default: uni.$u.props.keyboard.safeAreaInsetBottom + }, + // 是否允许通过点击遮罩关闭键盘 + closeOnClickOverlay: { + type: Boolean, + default: uni.$u.props.keyboard.closeOnClickOverlay + }, + // 控制键盘的弹出与收起 + show: { + type: Boolean, + default: uni.$u.props.keyboard.show + }, + // 是否显示遮罩,某些时候数字键盘时,用户希望看到自己的数值,所以可能不想要遮罩 + overlay: { + type: Boolean, + default: uni.$u.props.keyboard.overlay + }, + // z-index值 + zIndex: { + type: [String, Number], + default: uni.$u.props.keyboard.zIndex + }, + // 取消按钮的文字 + cancelText: { + type: String, + default: uni.$u.props.keyboard.cancelText + }, + // 确认按钮的文字 + confirmText: { + type: String, + default: uni.$u.props.keyboard.confirmText + }, + // 输入一个中文后,是否自动切换到英文 + autoChange: { + type: Boolean, + default: uni.$u.props.keyboard.autoChange + } + } +} diff --git a/uni_modules/uview-ui/components/u-keyboard/u-keyboard.vue b/uni_modules/uview-ui/components/u-keyboard/u-keyboard.vue new file mode 100644 index 0000000..14228cb --- /dev/null +++ b/uni_modules/uview-ui/components/u-keyboard/u-keyboard.vue @@ -0,0 +1,164 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-line-progress/props.js b/uni_modules/uview-ui/components/u-line-progress/props.js new file mode 100644 index 0000000..a4210bd --- /dev/null +++ b/uni_modules/uview-ui/components/u-line-progress/props.js @@ -0,0 +1,28 @@ +export default { + props: { + // 激活部分的颜色 + activeColor: { + type: String, + default: uni.$u.props.lineProgress.activeColor + }, + inactiveColor: { + type: String, + default: uni.$u.props.lineProgress.color + }, + // 进度百分比,数值 + percentage: { + type: [String, Number], + default: uni.$u.props.lineProgress.inactiveColor + }, + // 是否在进度条内部显示百分比的值 + showText: { + type: Boolean, + default: uni.$u.props.lineProgress.showText + }, + // 进度条的高度,单位px + height: { + type: [String, Number], + default: uni.$u.props.lineProgress.height + } + } +} diff --git a/uni_modules/uview-ui/components/u-line-progress/u-line-progress.vue b/uni_modules/uview-ui/components/u-line-progress/u-line-progress.vue new file mode 100644 index 0000000..4e27931 --- /dev/null +++ b/uni_modules/uview-ui/components/u-line-progress/u-line-progress.vue @@ -0,0 +1,144 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-line/props.js b/uni_modules/uview-ui/components/u-line/props.js new file mode 100644 index 0000000..2308cc3 --- /dev/null +++ b/uni_modules/uview-ui/components/u-line/props.js @@ -0,0 +1,33 @@ +export default { + props: { + color: { + type: String, + default: uni.$u.props.line.color + }, + // 长度,竖向时表现为高度,横向时表现为长度,可以为百分比,带px单位的值等 + length: { + type: [String, Number], + default: uni.$u.props.line.length + }, + // 线条方向,col-竖向,row-横向 + direction: { + type: String, + default: uni.$u.props.line.direction + }, + // 是否显示细边框 + hairline: { + type: Boolean, + default: uni.$u.props.line.hairline + }, + // 线条与上下左右元素的间距,字符串形式,如"30px"、"20px 30px" + margin: { + type: [String, Number], + default: uni.$u.props.line.margin + }, + // 是否虚线,true-虚线,false-实线 + dashed: { + type: Boolean, + default: uni.$u.props.line.dashed + } + } +} diff --git a/uni_modules/uview-ui/components/u-line/u-line.vue b/uni_modules/uview-ui/components/u-line/u-line.vue new file mode 100644 index 0000000..e0a6d92 --- /dev/null +++ b/uni_modules/uview-ui/components/u-line/u-line.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-link/props.js b/uni_modules/uview-ui/components/u-link/props.js new file mode 100644 index 0000000..d39353f --- /dev/null +++ b/uni_modules/uview-ui/components/u-link/props.js @@ -0,0 +1,39 @@ +export default { + props: { + // 文字颜色 + color: { + type: String, + default: uni.$u.props.link.color + }, + // 字体大小,单位px + fontSize: { + type: [String, Number], + default: uni.$u.props.link.fontSize + }, + // 是否显示下划线 + underLine: { + type: Boolean, + default: uni.$u.props.link.underLine + }, + // 要跳转的链接 + href: { + type: String, + default: uni.$u.props.link.href + }, + // 小程序中复制到粘贴板的提示语 + mpTips: { + type: String, + default: uni.$u.props.link.mpTips + }, + // 下划线颜色 + lineColor: { + type: String, + default: uni.$u.props.link.lineColor + }, + // 超链接的问题,不使用slot形式传入,是因为nvue下无法修改颜色 + text: { + type: String, + default: uni.$u.props.link.text + } + } +} diff --git a/uni_modules/uview-ui/components/u-link/u-link.vue b/uni_modules/uview-ui/components/u-link/u-link.vue new file mode 100644 index 0000000..c6802a5 --- /dev/null +++ b/uni_modules/uview-ui/components/u-link/u-link.vue @@ -0,0 +1,83 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-list-item/props.js b/uni_modules/uview-ui/components/u-list-item/props.js new file mode 100644 index 0000000..58ddc49 --- /dev/null +++ b/uni_modules/uview-ui/components/u-list-item/props.js @@ -0,0 +1,9 @@ +export default { + props: { + // 用于滚动到指定item + anchor: { + type: [String, Number], + default: uni.$u.props.listItem.anchor + } + } +} diff --git a/uni_modules/uview-ui/components/u-list-item/u-list-item.vue b/uni_modules/uview-ui/components/u-list-item/u-list-item.vue new file mode 100644 index 0000000..1a25db6 --- /dev/null +++ b/uni_modules/uview-ui/components/u-list-item/u-list-item.vue @@ -0,0 +1,116 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-list/props.js b/uni_modules/uview-ui/components/u-list/props.js new file mode 100644 index 0000000..25406f4 --- /dev/null +++ b/uni_modules/uview-ui/components/u-list/props.js @@ -0,0 +1,76 @@ +export default { + props: { + // 控制是否出现滚动条,仅nvue有效 + showScrollbar: { + type: Boolean, + default: uni.$u.props.list.showScrollbar + }, + // 距底部多少时触发scrolltolower事件 + lowerThreshold: { + type: [String, Number], + default: uni.$u.props.list.lowerThreshold + }, + // 距顶部多少时触发scrolltoupper事件,非nvue有效 + upperThreshold: { + type: [String, Number], + default: uni.$u.props.list.upperThreshold + }, + // 设置竖向滚动条位置 + scrollTop: { + type: [String, Number], + default: uni.$u.props.list.scrollTop + }, + // 控制 onscroll 事件触发的频率,仅nvue有效 + offsetAccuracy: { + type: [String, Number], + default: uni.$u.props.list.offsetAccuracy + }, + // 启用 flexbox 布局。开启后,当前节点声明了display: flex就会成为flex container,并作用于其孩子节点,仅微信小程序有效 + enableFlex: { + type: Boolean, + default: uni.$u.props.list.enableFlex + }, + // 是否按分页模式显示List,默认值false + pagingEnabled: { + type: Boolean, + default: uni.$u.props.list.pagingEnabled + }, + // 是否允许List滚动 + scrollable: { + type: Boolean, + default: uni.$u.props.list.scrollable + }, + // 值应为某子元素id(id不能以数字开头) + scrollIntoView: { + type: String, + default: uni.$u.props.list.scrollIntoView + }, + // 在设置滚动条位置时使用动画过渡 + scrollWithAnimation: { + type: Boolean, + default: uni.$u.props.list.scrollWithAnimation + }, + // iOS点击顶部状态栏、安卓双击标题栏时,滚动条返回顶部,只对微信小程序有效 + enableBackToTop: { + type: Boolean, + default: uni.$u.props.list.enableBackToTop + }, + // 列表的高度 + height: { + type: [String, Number], + default: uni.$u.props.list.height + }, + // 列表宽度 + width: { + type: [String, Number], + default: uni.$u.props.list.width + }, + // 列表前后预渲染的屏数,1代表一个屏幕的高度,1.5代表1个半屏幕高度 + preLoadScreen: { + type: [String, Number], + default: uni.$u.props.list.preLoadScreen + } + // vue下,是否开启虚拟列表 + + } +} diff --git a/uni_modules/uview-ui/components/u-list/u-list.vue b/uni_modules/uview-ui/components/u-list/u-list.vue new file mode 100644 index 0000000..4447cab --- /dev/null +++ b/uni_modules/uview-ui/components/u-list/u-list.vue @@ -0,0 +1,157 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-loading-icon/props.js b/uni_modules/uview-ui/components/u-loading-icon/props.js new file mode 100644 index 0000000..c35524e --- /dev/null +++ b/uni_modules/uview-ui/components/u-loading-icon/props.js @@ -0,0 +1,59 @@ +export default { + props: { + // 是否显示组件 + show: { + type: Boolean, + default: uni.$u.props.loadingIcon.show + }, + // 颜色 + color: { + type: String, + default: uni.$u.props.loadingIcon.color + }, + // 提示文字颜色 + textColor: { + type: String, + default: uni.$u.props.loadingIcon.textColor + }, + // 文字和图标是否垂直排列 + vertical: { + type: Boolean, + default: uni.$u.props.loadingIcon.vertical + }, + // 模式选择,circle-圆形,spinner-花朵形,semicircle-半圆形 + mode: { + type: String, + default: uni.$u.props.loadingIcon.mode + }, + // 图标大小,单位默认px + size: { + type: [String, Number], + default: uni.$u.props.loadingIcon.size + }, + // 文字大小 + textSize: { + type: [String, Number], + default: uni.$u.props.loadingIcon.textSize + }, + // 文字内容 + text: { + type: [String, Number], + default: uni.$u.props.loadingIcon.text + }, + // 动画模式 + timingFunction: { + type: String, + default: uni.$u.props.loadingIcon.timingFunction + }, + // 动画执行周期时间 + duration: { + type: [String, Number], + default: uni.$u.props.loadingIcon.duration + }, + // mode=circle时的暗边颜色 + inactiveColor: { + type: String, + default: uni.$u.props.loadingIcon.inactiveColor + } + } +} diff --git a/uni_modules/uview-ui/components/u-loading-icon/u-loading-icon.vue b/uni_modules/uview-ui/components/u-loading-icon/u-loading-icon.vue new file mode 100644 index 0000000..2ede5c3 --- /dev/null +++ b/uni_modules/uview-ui/components/u-loading-icon/u-loading-icon.vue @@ -0,0 +1,343 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-loading-page/props.js b/uni_modules/uview-ui/components/u-loading-page/props.js new file mode 100644 index 0000000..e239b61 --- /dev/null +++ b/uni_modules/uview-ui/components/u-loading-page/props.js @@ -0,0 +1,49 @@ +export default { + props: { + // 提示内容 + loadingText: { + type: [String, Number], + default: uni.$u.props.loadingPage.loadingText + }, + // 文字上方用于替换loading动画的图片 + image: { + type: String, + default: uni.$u.props.loadingPage.image + }, + // 加载动画的模式,circle-圆形,spinner-花朵形,semicircle-半圆形 + loadingMode: { + type: String, + default: uni.$u.props.loadingPage.loadingMode + }, + // 是否加载中 + loading: { + type: Boolean, + default: uni.$u.props.loadingPage.loading + }, + // 背景色 + bgColor: { + type: String, + default: uni.$u.props.loadingPage.bgColor + }, + // 文字颜色 + color: { + type: String, + default: uni.$u.props.loadingPage.color + }, + // 文字大小 + fontSize: { + type: [String, Number], + default: uni.$u.props.loadingPage.fontSize + }, + // 图标大小 + iconSize: { + type: [String, Number], + default: uni.$u.props.loadingPage.fontSize + }, + // 加载中图标的颜色,只能rgb或者十六进制颜色值 + loadingColor: { + type: String, + default: uni.$u.props.loadingPage.loadingColor + } + } +} diff --git a/uni_modules/uview-ui/components/u-loading-page/u-loading-page.vue b/uni_modules/uview-ui/components/u-loading-page/u-loading-page.vue new file mode 100644 index 0000000..03a78ad --- /dev/null +++ b/uni_modules/uview-ui/components/u-loading-page/u-loading-page.vue @@ -0,0 +1,115 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-loadmore/props.js b/uni_modules/uview-ui/components/u-loadmore/props.js new file mode 100644 index 0000000..1e67d89 --- /dev/null +++ b/uni_modules/uview-ui/components/u-loadmore/props.js @@ -0,0 +1,94 @@ +export default { + props: { + // 组件状态,loadmore-加载前的状态,loading-加载中的状态,nomore-没有更多的状态 + status: { + type: String, + default: uni.$u.props.loadmore.status + }, + // 组件背景色 + bgColor: { + type: String, + default: uni.$u.props.loadmore.bgColor + }, + // 是否显示加载中的图标 + icon: { + type: Boolean, + default: uni.$u.props.loadmore.icon + }, + // 字体大小 + fontSize: { + type: [String, Number], + default: uni.$u.props.loadmore.fontSize + }, + // 图标大小 + iconSize: { + type: [String, Number], + default: uni.$u.props.loadmore.iconSize + }, + // 字体颜色 + color: { + type: String, + default: uni.$u.props.loadmore.color + }, + // 加载中状态的图标,spinner-花朵状图标,circle-圆圈状,semicircle-半圆 + loadingIcon: { + type: String, + default: uni.$u.props.loadmore.loadingIcon + }, + // 加载前的提示语 + loadmoreText: { + type: String, + default: uni.$u.props.loadmore.loadmoreText + }, + // 加载中提示语 + loadingText: { + type: String, + default: uni.$u.props.loadmore.loadingText + }, + // 没有更多的提示语 + nomoreText: { + type: String, + default: uni.$u.props.loadmore.nomoreText + }, + // 在“没有更多”状态下,是否显示粗点 + isDot: { + type: Boolean, + default: uni.$u.props.loadmore.isDot + }, + // 加载中图标的颜色 + iconColor: { + type: String, + default: uni.$u.props.loadmore.iconColor + }, + // 上边距 + marginTop: { + type: [String, Number], + default: uni.$u.props.loadmore.marginTop + }, + // 下边距 + marginBottom: { + type: [String, Number], + default: uni.$u.props.loadmore.marginBottom + }, + // 高度,单位px + height: { + type: [String, Number], + default: uni.$u.props.loadmore.height + }, + // 是否显示左边分割线 + line: { + type: Boolean, + default: uni.$u.props.loadmore.line + }, + // 线条颜色 + lineColor: { + type: String, + default: uni.$u.props.loadmore.lineColor + }, + // 是否虚线,true-虚线,false-实线 + dashed: { + type: Boolean, + default: uni.$u.props.loadmore.dashed + } + } +} diff --git a/uni_modules/uview-ui/components/u-loadmore/u-loadmore.vue b/uni_modules/uview-ui/components/u-loadmore/u-loadmore.vue new file mode 100644 index 0000000..73c79fe --- /dev/null +++ b/uni_modules/uview-ui/components/u-loadmore/u-loadmore.vue @@ -0,0 +1,150 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-modal/props.js b/uni_modules/uview-ui/components/u-modal/props.js new file mode 100644 index 0000000..94b3078 --- /dev/null +++ b/uni_modules/uview-ui/components/u-modal/props.js @@ -0,0 +1,89 @@ +export default { + props: { + // 是否展示modal + show: { + type: Boolean, + default: uni.$u.props.modal.show + }, + // 标题 + title: { + type: [String], + default: uni.$u.props.modal.title + }, + // 弹窗内容 + content: { + type: String, + default: uni.$u.props.modal.content + }, + // 确认文案 + confirmText: { + type: String, + default: uni.$u.props.modal.confirmText + }, + // 取消文案 + cancelText: { + type: String, + default: uni.$u.props.modal.cancelText + }, + // 是否显示确认按钮 + showConfirmButton: { + type: Boolean, + default: uni.$u.props.modal.showConfirmButton + }, + // 是否显示取消按钮 + showCancelButton: { + type: Boolean, + default: uni.$u.props.modal.showCancelButton + }, + // 确认按钮颜色 + confirmColor: { + type: String, + default: uni.$u.props.modal.confirmColor + }, + // 取消文字颜色 + cancelColor: { + type: String, + default: uni.$u.props.modal.cancelColor + }, + // 对调确认和取消的位置 + buttonReverse: { + type: Boolean, + default: uni.$u.props.modal.buttonReverse + }, + // 是否开启缩放效果 + zoom: { + type: Boolean, + default: uni.$u.props.modal.zoom + }, + // 是否异步关闭,只对确定按钮有效 + asyncClose: { + type: Boolean, + default: uni.$u.props.modal.asyncClose + }, + // 是否允许点击遮罩关闭modal + closeOnClickOverlay: { + type: Boolean, + default: uni.$u.props.modal.closeOnClickOverlay + }, + // 给一个负的margin-top,往上偏移,避免和键盘重合的情况 + negativeTop: { + type: [String, Number], + default: uni.$u.props.modal.negativeTop + }, + // modal宽度,不支持百分比,可以数值,px,rpx单位 + width: { + type: [String, Number], + default: uni.$u.props.modal.width + }, + // 确认按钮的样式,circle-圆形,square-方形,如设置,将不会显示取消按钮 + confirmButtonShape: { + type: String, + default: uni.$u.props.modal.confirmButtonShape + }, + // 弹窗动画过度时间 + duration:{ + type:String | Number, + default: uni.$u.props.modal.duration + } + } +} diff --git a/uni_modules/uview-ui/components/u-modal/u-modal.vue b/uni_modules/uview-ui/components/u-modal/u-modal.vue new file mode 100644 index 0000000..72e1ed2 --- /dev/null +++ b/uni_modules/uview-ui/components/u-modal/u-modal.vue @@ -0,0 +1,228 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-navbar/props.js b/uni_modules/uview-ui/components/u-navbar/props.js new file mode 100644 index 0000000..5398de2 --- /dev/null +++ b/uni_modules/uview-ui/components/u-navbar/props.js @@ -0,0 +1,84 @@ +export default { + props: { + // 是否开启顶部安全区适配 + safeAreaInsetTop: { + type: Boolean, + default: uni.$u.props.navbar.safeAreaInsetTop + }, + // 固定在顶部时,是否生成一个等高元素,以防止塌陷 + placeholder: { + type: Boolean, + default: uni.$u.props.navbar.placeholder + }, + // 是否固定在顶部 + fixed: { + type: Boolean, + default: uni.$u.props.navbar.fixed + }, + // 是否显示下边框 + border: { + type: Boolean, + default: uni.$u.props.navbar.border + }, + // 左边的图标 + leftIcon: { + type: String, + default: uni.$u.props.navbar.leftIcon + }, + // 左边的提示文字 + leftText: { + type: String, + default: uni.$u.props.navbar.leftText + }, + // 左右的提示文字 + rightText: { + type: String, + default: uni.$u.props.navbar.rightText + }, + // 右边的图标 + rightIcon: { + type: String, + default: uni.$u.props.navbar.rightIcon + }, + // 标题 + title: { + type: [String, Number], + default: uni.$u.props.navbar.title + }, + // 背景颜色 + bgColor: { + type: String, + default: uni.$u.props.navbar.bgColor + }, + // 标题的宽度 + titleWidth: { + type: [String, Number], + default: uni.$u.props.navbar.titleWidth + }, + // 导航栏高度 + height: { + type: [String, Number], + default: uni.$u.props.navbar.height + }, + // 左侧返回图标的大小 + leftIconSize: { + type: [String, Number], + default: uni.$u.props.navbar.leftIconSize + }, + // 左侧返回图标的颜色 + leftIconColor: { + type: String, + default: uni.$u.props.navbar.leftIconColor + }, + // 点击左侧区域(返回图标),是否自动返回上一页 + autoBack: { + type: Boolean, + default: uni.$u.props.navbar.autoBack + }, + // 标题的样式,对象或字符串 + titleStyle: { + type: [String, Object], + default: uni.$u.props.navbar.titleStyle + } + } +} diff --git a/uni_modules/uview-ui/components/u-navbar/u-navbar.vue b/uni_modules/uview-ui/components/u-navbar/u-navbar.vue new file mode 100644 index 0000000..2b206b7 --- /dev/null +++ b/uni_modules/uview-ui/components/u-navbar/u-navbar.vue @@ -0,0 +1,186 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-no-network/props.js b/uni_modules/uview-ui/components/u-no-network/props.js new file mode 100644 index 0000000..9f3af62 --- /dev/null +++ b/uni_modules/uview-ui/components/u-no-network/props.js @@ -0,0 +1,19 @@ +export default { + props: { + // 页面文字提示 + tips: { + type: String, + default: uni.$u.props.noNetwork.tips + }, + // 一个z-index值,用于设置没有网络这个组件的层次,因为页面可能会有其他定位的元素层级过高,导致此组件被覆盖 + zIndex: { + type: [String, Number], + default: uni.$u.props.noNetwork.zIndex + }, + // image 没有网络的图片提示 + image: { + type: String, + default: uni.$u.props.noNetwork.image + } + } +} diff --git a/uni_modules/uview-ui/components/u-no-network/u-no-network.vue b/uni_modules/uview-ui/components/u-no-network/u-no-network.vue new file mode 100644 index 0000000..9710729 --- /dev/null +++ b/uni_modules/uview-ui/components/u-no-network/u-no-network.vue @@ -0,0 +1,220 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-notice-bar/props.js b/uni_modules/uview-ui/components/u-notice-bar/props.js new file mode 100644 index 0000000..7040c29 --- /dev/null +++ b/uni_modules/uview-ui/components/u-notice-bar/props.js @@ -0,0 +1,70 @@ +export default { + props: { + // 显示的内容,数组 + text: { + type: [Array, String], + default: uni.$u.props.noticeBar.text + }, + // 通告滚动模式,row-横向滚动,column-竖向滚动 + direction: { + type: String, + default: uni.$u.props.noticeBar.direction + }, + // direction = row时,是否使用步进形式滚动 + step: { + type: Boolean, + default: uni.$u.props.noticeBar.step + }, + // 是否显示左侧的音量图标 + icon: { + type: String, + default: uni.$u.props.noticeBar.icon + }, + // 通告模式,link-显示右箭头,closable-显示右侧关闭图标 + mode: { + type: String, + default: uni.$u.props.noticeBar.mode + }, + // 文字颜色,各图标也会使用文字颜色 + color: { + type: String, + default: uni.$u.props.noticeBar.color + }, + // 背景颜色 + bgColor: { + type: String, + default: uni.$u.props.noticeBar.bgColor + }, + // 水平滚动时的滚动速度,即每秒滚动多少px(px),这有利于控制文字无论多少时,都能有一个恒定的速度 + speed: { + type: [String, Number], + default: uni.$u.props.noticeBar.speed + }, + // 字体大小 + fontSize: { + type: [String, Number], + default: uni.$u.props.noticeBar.fontSize + }, + // 滚动一个周期的时间长,单位ms + duration: { + type: [String, Number], + default: uni.$u.props.noticeBar.duration + }, + // 是否禁止用手滑动切换 + // 目前HX2.6.11,只支持App 2.5.5+、H5 2.5.5+、支付宝小程序、字节跳动小程序 + disableTouch: { + type: Boolean, + default: uni.$u.props.noticeBar.disableTouch + }, + // 跳转的页面路径 + url: { + type: String, + default: uni.$u.props.noticeBar.url + }, + // 页面跳转的类型 + linkType: { + type: String, + default: uni.$u.props.noticeBar.linkType + } + } +} diff --git a/uni_modules/uview-ui/components/u-notice-bar/u-notice-bar.vue b/uni_modules/uview-ui/components/u-notice-bar/u-notice-bar.vue new file mode 100644 index 0000000..a06eb39 --- /dev/null +++ b/uni_modules/uview-ui/components/u-notice-bar/u-notice-bar.vue @@ -0,0 +1,101 @@ + + + + diff --git a/uni_modules/uview-ui/components/u-notify/props.js b/uni_modules/uview-ui/components/u-notify/props.js new file mode 100644 index 0000000..57a9d71 --- /dev/null +++ b/uni_modules/uview-ui/components/u-notify/props.js @@ -0,0 +1,49 @@ +export default { + props: { + // 到顶部的距离 + top: { + type: [String, Number], + default: uni.$u.props.notify.top + }, + // 是否展示组件 + // show: { + // type: Boolean, + // default: uni.$u.props.notify.show + // }, + // type主题,primary,success,warning,error + type: { + type: String, + default: uni.$u.props.notify.type + }, + // 字体颜色 + color: { + type: String, + default: uni.$u.props.notify.color + }, + // 背景颜色 + bgColor: { + type: String, + default: uni.$u.props.notify.bgColor + }, + // 展示的文字内容 + message: { + type: String, + default: uni.$u.props.notify.message + }, + // 展示时长,为0时不消失,单位ms + duration: { + type: [String, Number], + default: uni.$u.props.notify.duration + }, + // 字体大小 + fontSize: { + type: [String, Number], + default: uni.$u.props.notify.fontSize + }, + // 是否留出顶部安全距离(状态栏高度) + safeAreaInsetTop: { + type: Boolean, + default: uni.$u.props.notify.safeAreaInsetTop + } + } +} diff --git a/uni_modules/uview-ui/components/u-notify/u-notify.vue b/uni_modules/uview-ui/components/u-notify/u-notify.vue new file mode 100644 index 0000000..30adb72 --- /dev/null +++ b/uni_modules/uview-ui/components/u-notify/u-notify.vue @@ -0,0 +1,211 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-number-box/props.js b/uni_modules/uview-ui/components/u-number-box/props.js new file mode 100644 index 0000000..fb0fa94 --- /dev/null +++ b/uni_modules/uview-ui/components/u-number-box/props.js @@ -0,0 +1,109 @@ +export default { + props: { + // 步进器标识符,在change回调返回 + name: { + type: [String, Number], + default: uni.$u.props.numberBox.name + }, + // 用于双向绑定的值,初始化时设置设为默认min值(最小值) + value: { + type: [String, Number], + default: uni.$u.props.numberBox.value + }, + // 最小值 + min: { + type: [String, Number], + default: uni.$u.props.numberBox.min + }, + // 最大值 + max: { + type: [String, Number], + default: uni.$u.props.numberBox.max + }, + // 加减的步长,可为小数 + step: { + type: [String, Number], + default: uni.$u.props.numberBox.step + }, + // 是否只允许输入整数 + integer: { + type: Boolean, + default: uni.$u.props.numberBox.integer + }, + // 是否禁用,包括输入框,加减按钮 + disabled: { + type: Boolean, + default: uni.$u.props.numberBox.disabled + }, + // 是否禁用输入框 + disabledInput: { + type: Boolean, + default: uni.$u.props.numberBox.disabledInput + }, + // 是否开启异步变更,开启后需要手动控制输入值 + asyncChange: { + type: Boolean, + default: uni.$u.props.numberBox.asyncChange + }, + // 输入框宽度,单位为px + inputWidth: { + type: [String, Number], + default: uni.$u.props.numberBox.inputWidth + }, + // 是否显示减少按钮 + showMinus: { + type: Boolean, + default: uni.$u.props.numberBox.showMinus + }, + // 是否显示增加按钮 + showPlus: { + type: Boolean, + default: uni.$u.props.numberBox.showPlus + }, + // 显示的小数位数 + decimalLength: { + type: [String, Number, null], + default: uni.$u.props.numberBox.decimalLength + }, + // 是否开启长按加减手势 + longPress: { + type: Boolean, + default: uni.$u.props.numberBox.longPress + }, + // 输入框文字和加减按钮图标的颜色 + color: { + type: String, + default: uni.$u.props.numberBox.color + }, + // 按钮大小,宽高等于此值,单位px,输入框高度和此值保持一致 + buttonSize: { + type: [String, Number], + default: uni.$u.props.numberBox.buttonSize + }, + // 输入框和按钮的背景颜色 + bgColor: { + type: String, + default: uni.$u.props.numberBox.bgColor + }, + // 指定光标于键盘的距离,避免键盘遮挡输入框,单位px + cursorSpacing: { + type: [String, Number], + default: uni.$u.props.numberBox.cursorSpacing + }, + // 是否禁用增加按钮 + disablePlus: { + type: Boolean, + default: uni.$u.props.numberBox.disablePlus + }, + // 是否禁用减少按钮 + disableMinus: { + type: Boolean, + default: uni.$u.props.numberBox.disableMinus + }, + // 加减按钮图标的样式 + iconStyle: { + type: [Object, String], + default: uni.$u.props.numberBox.iconStyle + } + } +} diff --git a/uni_modules/uview-ui/components/u-number-box/u-number-box.vue b/uni_modules/uview-ui/components/u-number-box/u-number-box.vue new file mode 100644 index 0000000..69211c5 --- /dev/null +++ b/uni_modules/uview-ui/components/u-number-box/u-number-box.vue @@ -0,0 +1,416 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-number-keyboard/props.js b/uni_modules/uview-ui/components/u-number-keyboard/props.js new file mode 100644 index 0000000..5e3bf55 --- /dev/null +++ b/uni_modules/uview-ui/components/u-number-keyboard/props.js @@ -0,0 +1,19 @@ +export default { + props: { + // 键盘的类型,number-数字键盘,card-身份证键盘 + mode: { + type: String, + default: uni.$u.props.numberKeyboard.value + }, + // 是否显示键盘的"."符号 + dotDisabled: { + type: Boolean, + default: uni.$u.props.numberKeyboard.dotDisabled + }, + // 是否打乱键盘按键的顺序 + random: { + type: Boolean, + default: uni.$u.props.numberKeyboard.random + } + } +} diff --git a/uni_modules/uview-ui/components/u-number-keyboard/u-number-keyboard.vue b/uni_modules/uview-ui/components/u-number-keyboard/u-number-keyboard.vue new file mode 100644 index 0000000..4f505c6 --- /dev/null +++ b/uni_modules/uview-ui/components/u-number-keyboard/u-number-keyboard.vue @@ -0,0 +1,196 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-overlay/props.js b/uni_modules/uview-ui/components/u-overlay/props.js new file mode 100644 index 0000000..e6974df --- /dev/null +++ b/uni_modules/uview-ui/components/u-overlay/props.js @@ -0,0 +1,24 @@ +export default { + props: { + // 是否显示遮罩 + show: { + type: Boolean, + default: uni.$u.props.overlay.show + }, + // 层级z-index + zIndex: { + type: [String, Number], + default: uni.$u.props.overlay.zIndex + }, + // 遮罩的过渡时间,单位为ms + duration: { + type: [String, Number], + default: uni.$u.props.overlay.duration + }, + // 不透明度值,当做rgba的第四个参数 + opacity: { + type: [String, Number], + default: uni.$u.props.overlay.opacity + } + } +} diff --git a/uni_modules/uview-ui/components/u-overlay/u-overlay.vue b/uni_modules/uview-ui/components/u-overlay/u-overlay.vue new file mode 100644 index 0000000..92de4e9 --- /dev/null +++ b/uni_modules/uview-ui/components/u-overlay/u-overlay.vue @@ -0,0 +1,68 @@ + + + + + diff --git a/uni_modules/uview-ui/components/u-parse/node/node.vue b/uni_modules/uview-ui/components/u-parse/node/node.vue new file mode 100644 index 0000000..73e30fd --- /dev/null +++ b/uni_modules/uview-ui/components/u-parse/node/node.vue @@ -0,0 +1,499 @@ +