suyiScreen/node_modules/.cache/vue-loader/064c47f546c0b67b4164608ebf5...

1 line
34 KiB
JSON

{"remainingRequest":"C:\\hjmWeb\\suyiScreen\\suyiScreen\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\hjmWeb\\suyiScreen\\suyiScreen\\node_modules\\@jiaminghi\\data-view\\lib\\components\\flylineChartEnhanced\\src\\main.vue?vue&type=script&lang=js&","dependencies":[{"path":"C:\\hjmWeb\\suyiScreen\\suyiScreen\\node_modules\\@jiaminghi\\data-view\\lib\\components\\flylineChartEnhanced\\src\\main.vue","mtime":1670640065291},{"path":"C:\\hjmWeb\\suyiScreen\\suyiScreen\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1670640066936},{"path":"C:\\hjmWeb\\suyiScreen\\suyiScreen\\node_modules\\babel-loader\\lib\\index.js","mtime":1670640065986},{"path":"C:\\hjmWeb\\suyiScreen\\suyiScreen\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1670640066936},{"path":"C:\\hjmWeb\\suyiScreen\\suyiScreen\\node_modules\\vue-loader\\lib\\index.js","mtime":1670640074287}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tICdAamlhbWluZ2hpL2NoYXJ0cy9saWIvdXRpbC9pbmRleCcNCg0KaW1wb3J0IHsgZGVlcENsb25lIH0gZnJvbSAnQGppYW1pbmdoaS9jLXJlbmRlci9saWIvcGx1Z2luL3V0aWwnDQoNCmltcG9ydCB7IHJhbmRvbUV4dGVuZCwgZ2V0UG9pbnREaXN0YW5jZSB9IGZyb20gJy4uLy4uLy4uL3V0aWwvaW5kZXgnDQoNCmltcG9ydCBhdXRvUmVzaXplIGZyb20gJy4uLy4uLy4uL21peGluL2F1dG9SZXNpemUnDQoNCmV4cG9ydCBkZWZhdWx0IHsNCiAgbmFtZTogJ0R2Rmx5bGluZUNoYXJ0RW5oYW5jZWQnLA0KICBtaXhpbnM6IFthdXRvUmVzaXplXSwNCiAgcHJvcHM6IHsNCiAgICBjb25maWc6IHsNCiAgICAgIHR5cGU6IE9iamVjdCwNCiAgICAgIGRlZmF1bHQ6ICgpID0+ICh7fSkNCiAgICB9LA0KICAgIGRldjogew0KICAgICAgdHlwZTogQm9vbGVhbiwNCiAgICAgIGRlZmF1bHQ6IGZhbHNlDQogICAgfQ0KICB9LA0KICBkYXRhICgpIHsNCiAgICBjb25zdCB0aW1lc3RhbXAgPSBEYXRlLm5vdygpDQogICAgcmV0dXJuIHsNCiAgICAgIHJlZjogJ2R2LWZseWxpbmUtY2hhcnQtZW5oYW5jZWQnLA0KICAgICAgdW5pcXVlOiBNYXRoLnJhbmRvbSgpLA0KICAgICAgZmx5bGluZUdyYWRpZW50SWQ6IGBmbHlsaW5lLWdyYWRpZW50LWlkLSR7dGltZXN0YW1wfWAsDQogICAgICBoYWxvR3JhZGllbnRJZDogYGhhbG8tZ3JhZGllbnQtaWQtJHt0aW1lc3RhbXB9YCwNCiAgICAgIC8qKg0KICAgICAgICogQGRlc2NyaXB0aW9uIFR5cGUgRGVjbGFyYXRpb24NCiAgICAgICAqIA0KICAgICAgICogaW50ZXJmYWNlIEhhbG8gew0KICAgICAgICogICAgc2hvdz86IGJvb2xlYW4NCiAgICAgICAqICAgIGR1cmF0aW9uPzogW251bWJlciwgbnVtYmVyXQ0KICAgICAgICogICAgY29sb3I/OiBzdHJpbmcNCiAgICAgICAqICAgIHJhZGl1cz86IG51bWJlcg0KICAgICAgICogfQ0KICAgICAgICogDQogICAgICAgKiBpbnRlcmZhY2UgVGV4dCB7DQogICAgICAgKiAgICBzaG93PzogYm9vbGVhbg0KICAgICAgICogICAgb2Zmc2V0PzogW251bWJlciwgbnVtYmVyXQ0KICAgICAgICogICAgY29sb3I/OiBzdHJpbmcNCiAgICAgICAqICAgIGZvbnRTaXplPzogbnVtYmVyDQogICAgICAgKiB9DQogICAgICAgKiANCiAgICAgICAqIGludGVyZmFjZSBJY29uIHsNCiAgICAgICAqICAgIHNob3c/OiBib29sZWFuDQogICAgICAgKiAgICBzcmM/OiBzdHJpbmcNCiAgICAgICAqICAgIHdpZHRoPzogbnVtYmVyDQogICAgICAgKiAgICBoZWlnaHQ/OiBudW1iZXINCiAgICAgICAqIH0NCiAgICAgICAqIA0KICAgICAgICogaW50ZXJmYWNlIFBvaW50IHsNCiAgICAgICAqICAgIG5hbWU6IHN0cmluZw0KICAgICAgICogICAgY29vcmRpbmF0ZTogW251bWJlciwgbnVtYmVyXQ0KICAgICAgICogICAgaGFsbz86IEhhbG8NCiAgICAgICAqICAgIHRleHQ/OiBUZXh0DQogICAgICAgKiAgICBpY29uPzogSWNvbg0KICAgICAgICogfQ0KICAgICAgICogDQogICAgICAgKiBpbnRlcmZhY2UgTGluZSB7DQogICAgICAgKiAgICB3aWR0aD86IG51bWJlcg0KICAgICAgICogICAgY29sb3I/OiBzdHJpbmcNCiAgICAgICAqICAgIG9yYml0Q29sb3I/OiBzdHJpbmcNCiAgICAgICAqICAgIGR1cmF0aW9uPzogW251bWJlciwgbnVtYmVyXQ0KICAgICAgICogICAgcmFkaXVzPzogc3RyaW5nDQogICAgICAgKiB9DQogICAgICAgKiANCiAgICAgICAqIGludGVyZmFjZSBGbHlsaW5lIGV4dGVuZHMgTGluZSB7DQogICAgICAgKiAgICBzb3VyY2U6IHN0cmluZw0KICAgICAgICogICAgdGFyZ2V0OiBzdHJpbmcNCiAgICAgICAqIH0NCiAgICAgICAqIA0KICAgICAgICogaW50ZXJmYWNlIEZseWxpbmVXaXRoUGF0aCBleHRlbmRzIEZseWxpbmUgew0KICAgICAgICogICAgZDogc3RyaW5nDQogICAgICAgKiAgICBwYXRoOiBbW251bWJlciwgbnVtYmVyXSwgW251bWJlciwgbnVtYmVyXSwgW251bWJlciwgbnVtYmVyXV0NCiAgICAgICAqICAgIGtleTogc3RyaW5nDQogICAgICAgKiB9DQogICAgICAgKi8NCiAgICAgIGRlZmF1bHRDb25maWc6IHsNCiAgICAgICAgLyoqDQogICAgICAgICAqIEBkZXNjcmlwdGlvbiBGbHlsaW5lIGNoYXJ0IHBvaW50cw0KICAgICAgICAgKiBAdHlwZSB7UG9pbnRbXX0NCiAgICAgICAgICogQGRlZmF1bHQgcG9pbnRzID0gW10NCiAgICAgICAgICovDQogICAgICAgIHBvaW50czogW10sDQogICAgICAgIC8qKg0KICAgICAgICAgKiBAZGVzY3JpcHRpb24gTGluZXMNCiAgICAgICAgICogQHR5cGUge0ZseWxpbmVbXX0NCiAgICAgICAgICogQGRlZmF1bHQgbGluZXMgPSBbXQ0KICAgICAgICAgKi8NCiAgICAgICAgbGluZXM6IFtdLA0KICAgICAgICAvKioNCiAgICAgICAgICogQGRlc2NyaXB0aW9uIEdsb2JhbCBoYWxvIGNvbmZpZ3VyYXRpb24NCiAgICAgICAgICogQHR5cGUge0hhbG99DQogICAgICAgICAqLw0KICAgICAgICBoYWxvOiB7DQogICAgICAgICAgLyoqDQogICAgICAgICAgICogQGRlc2NyaXB0aW9uIFdoZXRoZXIgdG8gc2hvdyBoYWxvDQogICAgICAgICAgICogQHR5cGUge0Jvb2xlYW59DQogICAgICAgICAgICogQGRlZmF1bHQgc2hvdyA9IGZhbHNlDQogICAgICAgICAgICovDQogICAgICAgICAgc2hvdzogZmFsc2UsDQogICAgICAgICAgLyoqDQogICAgICAgICAgICogQGRlc2NyaXB0aW9uIEhhbG8gYW5pbWF0aW9uIGR1cmF0aW9uICgxcyA9IDEwKQ0KICAgICAgICAgICAqIEB0eXBlIHtbbnVtYmVyLCBudW1iZXJdfQ0KICAgICAgICAgICAqLw0KICAgICAgICAgIGR1cmF0aW9uOiBbMjAsIDMwXSwNCiAgICAgICAgICAvKioNCiAgICAgICAgICAgKiBAZGVzY3JpcHRpb24gSGFsbyBjb2xvcg0KICAgICAgICAgICAqIEB0eXBlIHtTdHJpbmd9DQogICAgICAgICAgICogQGRlZmF1bHQgY29sb3IgPSAnI2ZiNzI5MycNCiAgICAgICAgICAgKi8NCiAgICAgICAgICBjb2xvcjogJyNmYjcyOTMnLA0KICAgICAgICAgIC8qKg0KICAgICAgICAgICAqIEBkZXNjcmlwdGlvbiBIYWxvIHJhZGl1cw0KICAgICAgICAgICAqIEB0eXBlIHtOdW1iZXJ9DQogICAgICAgICAgICogQGRlZmF1bHQgcmFkaXVzID0gMTIwDQogICAgICAgICAgICovDQogICAgICAgICAgcmFkaXVzOiAxMjANCiAgICAgICAgfSwNCiAgICAgICAgLyoqDQogICAgICAgICAqIEBkZXNjcmlwdGlvbiBHbG9iYWwgdGV4dCBjb25maWd1cmF0aW9uDQogICAgICAgICAqIEB0eXBlIHtUZXh0fQ0KICAgICAgICAgKi8NCiAgICAgICAgdGV4dDogew0KICAgICAgICAgIC8qKg0KICAgICAgICAgICAqIEBkZXNjcmlwdGlvbiBXaGV0aGVyIHRvIHNob3cgdGV4dA0KICAgICAgICAgICAqIEB0eXBlIHtCb29sZWFufQ0KICAgICAgICAgICAqIEBkZWZhdWx0IHNob3cgPSBmYWxzZQ0KICAgICAgICAgICAqLw0KICAgICAgICAgIHNob3c6IGZhbHNlLA0KICAgICAgICAgIC8qKg0KICAgICAgICAgICAqIEBkZXNjcmlwdGlvbiBUZXh0IG9mZnNldA0KICAgICAgICAgICAqIEB0eXBlIHtbbnVtYmVyLCBudW1iZXJdfQ0KICAgICAgICAgICAqIEBkZWZhdWx0IG9mZnNldCA9IFswLCAxNV0NCiAgICAgICAgICAgKi8NCiAgICAgICAgICBvZmZzZXQ6IFswLCAxNV0sDQogICAgICAgICAgLyoqDQogICAgICAgICAgICogQGRlc2NyaXB0aW9uIFRleHQgY29sb3INCiAgICAgICAgICAgKiBAdHlwZSB7U3RyaW5nfQ0KICAgICAgICAgICAqIEBkZWZhdWx0IGNvbG9yID0gJyNmZmRiNWMnDQogICAgICAgICAgICovDQogICAgICAgICAgY29sb3I6ICcjZmZkYjVjJywNCiAgICAgICAgICAvKioNCiAgICAgICAgICAgKiBAZGVzY3JpcHRpb24gVGV4dCBmb250IHNpemUNCiAgICAgICAgICAgKiBAdHlwZSB7TnVtYmVyfQ0KICAgICAgICAgICAqIEBkZWZhdWx0IGZvbnRTaXplID0gMTINCiAgICAgICAgICAgKi8NCiAgICAgICAgICBmb250U2l6ZTogMTINCiAgICAgICAgfSwNCiAgICAgICAgLyoqDQogICAgICAgICAqIEBkZXNjcmlwdGlvbiBHbG9iYWwgaWNvbiBjb25maWd1cmF0aW9uDQogICAgICAgICAqIEB0eXBlIHtJY29ufQ0KICAgICAgICAgKi8NCiAgICAgICAgaWNvbjogew0KICAgICAgICAgIC8qKg0KICAgICAgICAgICAqIEBkZXNjcmlwdGlvbiBXaGV0aGVyIHRvIHNob3cgaWNvbg0KICAgICAgICAgICAqIEB0eXBlIHtCb29sZWFufQ0KICAgICAgICAgICAqIEBkZWZhdWx0IHNob3cgPSBmYWxzZQ0KICAgICAgICAgICAqLw0KICAgICAgICAgIHNob3c6IGZhbHNlLA0KICAgICAgICAgIC8qKg0KICAgICAgICAgICAqIEBkZXNjcmlwdGlvbiBJY29uIHNyYw0KICAgICAgICAgICAqIEB0eXBlIHtTdHJpbmd9DQogICAgICAgICAgICogQGRlZmF1bHQgc3JjID0gJycNCiAgICAgICAgICAgKi8NCiAgICAgICAgICBzcmM6ICcnLA0KICAgICAgICAgIC8qKg0KICAgICAgICAgICAqIEBkZXNjcmlwdGlvbiBJY29uIHdpZHRoDQogICAgICAgICAgICogQHR5cGUge051bWJlcn0NCiAgICAgICAgICAgKiBAZGVmYXVsdCB3aWR0aCA9IDE1DQogICAgICAgICAgICovDQogICAgICAgICAgd2lkdGg6IDE1LA0KICAgICAgICAgIC8qKg0KICAgICAgICAgICAqIEBkZXNjcmlwdGlvbiBJY29uIGhlaWdodA0KICAgICAgICAgICAqIEB0eXBlIHtOdW1iZXJ9DQogICAgICAgICAgICogQGRlZmF1bHQgd2lkdGggPSAxNQ0KICAgICAgICAgICAqLw0KICAgICAgICAgIGhlaWdodDogMTUNCiAgICAgICAgfSwNCiAgICAgICAgLyoqDQogICAgICAgICAqIEBkZXNjcmlwdGlvbiBHbG9iYWwgbGluZSBjb25maWd1cmF0aW9uDQogICAgICAgICAqIEB0eXBlIHtMaW5lfQ0KICAgICAgICAgKi8NCiAgICAgICAgbGluZTogew0KICAgICAgICAgIC8qKg0KICAgICAgICAgICAqIEBkZXNjcmlwdGlvbiBMaW5lIHdpZHRoDQogICAgICAgICAgICogQHR5cGUge051bWJlcn0NCiAgICAgICAgICAgKiBAZGVmYXVsdCB3aWR0aCA9IDENCiAgICAgICAgICAgKi8NCiAgICAgICAgICB3aWR0aDogMSwNCiAgICAgICAgICAvKioNCiAgICAgICAgICAgKiBAZGVzY3JpcHRpb24gRmx5bGluZSBjb2xvcg0KICAgICAgICAgICAqIEB0eXBlIHtTdHJpbmd9DQogICAgICAgICAgICogQGRlZmF1bHQgY29sb3IgPSAnI2ZmZGU5MycNCiAgICAgICAgICAgKi8NCiAgICAgICAgICBjb2xvcjogJyNmZmRlOTMnLA0KICAgICAgICAgIC8qKg0KICAgICAgICAgICAqIEBkZXNjcmlwdGlvbiBPcmJpdCBjb2xvcg0KICAgICAgICAgICAqIEB0eXBlIHtTdHJpbmd9DQogICAgICAgICAgICogQGRlZmF1bHQgb3JiaXRDb2xvciA9ICdyZ2JhKDEwMywgMjI0LCAyMjcsIC4yKScNCiAgICAgICAgICAgKi8NCiAgICAgICAgICBvcmJpdENvbG9yOiAncmdiYSgxMDMsIDIyNCwgMjI3LCAuMiknLA0KICAgICAgICAgIC8qKg0KICAgICAgICAgICAqIEBkZXNjcmlwdGlvbiBGbHlsaW5lIGFuaW1hdGlvbiBkdXJhdGlvbg0KICAgICAgICAgICAqIEB0eXBlIHtbbnVtYmVyLCBudW1iZXJdfQ0KICAgICAgICAgICAqIEBkZWZhdWx0IGR1cmF0aW9uID0gWzIwLCAzMF0NCiAgICAgICAgICAgKi8NCiAgICAgICAgICBkdXJhdGlvbjogWzIwLCAzMF0sDQogICAgICAgICAgLyoqDQogICAgICAgICAgICogQGRlc2NyaXB0aW9uIEZseWxpbmUgcmFkaXVzDQogICAgICAgICAgICogQHR5cGUge051bWJlcn0NCiAgICAgICAgICAgKiBAZGVmYXVsdCByYWRpdXMgPSAxMDANCiAgICAgICAgICAgKi8NCiAgICAgICAgICByYWRpdXM6IDEwMA0KICAgICAgICB9LA0KICAgICAgICAvKioNCiAgICAgICAgICogQGRlc2NyaXB0aW9uIEJhY2sgZ3JvdW5kIGltYWdlIHVybA0KICAgICAgICAgKiBAdHlwZSB7U3RyaW5nfQ0KICAgICAgICAgKiBAZGVmYXVsdCBiZ0ltZ1NyYyA9ICcnDQogICAgICAgICAqLw0KICAgICAgICBiZ0ltZ1NyYzogJycsDQogICAgICAgIC8qKg0KICAgICAgICAgKiBAZGVzY3JpcHRpb24gSyB2YWx1ZQ0KICAgICAgICAgKiBAdHlwZSB7TnVtYmVyfQ0KICAgICAgICAgKiBAZGVmYXVsdCBrID0gLTAuNQ0KICAgICAgICAgKiBAZXhhbXBsZSBrID0gLTEgfiAxDQogICAgICAgICAqLw0KICAgICAgICBrOiAtMC41LA0KICAgICAgICAvKioNCiAgICAgICAgICogQGRlc2NyaXB0aW9uIEZseWxpbmUgY3VydmF0dXJlDQogICAgICAgICAqIEB0eXBlIHtOdW1iZXJ9DQogICAgICAgICAqIEBkZWZhdWx0IGN1cnZhdHVyZSA9IDUNCiAgICAgICAgICovDQogICAgICAgIGN1cnZhdHVyZTogNSwNCiAgICAgICAgLyoqDQogICAgICAgICAqIEBkZXNjcmlwdGlvbiBSZWxhdGl2ZSBwb2ludHMgcG9zaXRpb24NCiAgICAgICAgICogQHR5cGUge0Jvb2xlYW59DQogICAgICAgICAqIEBkZWZhdWx0IHJlbGF0aXZlID0gdHJ1ZQ0KICAgICAgICAgKi8NCiAgICAgICAgcmVsYXRpdmU6IHRydWUNCiAgICAgIH0sDQogICAgICAvKioNCiAgICAgICAqIEBkZXNjcmlwdGlvbiBGbHkgbGluZSBkYXRhDQogICAgICAgKiBAdHlwZSB7Rmx5bGluZVdpdGhQYXRoW119DQogICAgICAgKiBAZGVmYXVsdCBmbHlsaW5lcyA9IFtdDQogICAgICAgKi8NCiAgICAgIGZseWxpbmVzOiBbXSwNCiAgICAgIC8qKg0KICAgICAgICogQGRlc2NyaXB0aW9uIEZseSBsaW5lIGxlbmd0aHMNCiAgICAgICAqIEB0eXBlIHtOdW1iZXJbXX0NCiAgICAgICAqIEBkZWZhdWx0IGZseWxpbmVMZW5ndGhzID0gW10NCiAgICAgICAqLw0KICAgICAgZmx5bGluZUxlbmd0aHM6IFtdLA0KICAgICAgLyoqDQogICAgICAgKiBAZGVzY3JpcHRpb24gRmx5IGxpbmUgcG9pbnRzDQogICAgICAgKiBAZGVmYXVsdCBmbHlsaW5lUG9pbnRzID0gW10NCiAgICAgICAqLw0KICAgICAgZmx5bGluZVBvaW50czogW10sDQoNCiAgICAgIG1lcmdlZENvbmZpZzogbnVsbA0KICAgIH0NCiAgfSwNCiAgd2F0Y2g6IHsNCiAgICBjb25maWcgKCkgew0KICAgICAgY29uc3QgeyBjYWxjRGF0YSB9ID0gdGhpcw0KDQogICAgICBjYWxjRGF0YSgpDQogICAgfQ0KICB9LA0KICBtZXRob2RzOiB7DQogICAgYWZ0ZXJBdXRvUmVzaXplTWl4aW5Jbml0ICgpIHsNCiAgICAgIGNvbnN0IHsgY2FsY0RhdGEgfSA9IHRoaXMNCg0KICAgICAgY2FsY0RhdGEoKQ0KICAgIH0sDQogICAgb25SZXNpemUgKCkgew0KICAgICAgY29uc3QgeyBjYWxjRGF0YSB9ID0gdGhpcw0KDQogICAgICBjYWxjRGF0YSgpDQogICAgfSwNCiAgICBhc3luYyBjYWxjRGF0YSAoKSB7DQogICAgICBjb25zdCB7IG1lcmdlQ29uZmlnLCBjYWxjZmx5bGluZVBvaW50cywgY2FsY0xpbmVQYXRocyB9ID0gdGhpcw0KDQogICAgICBtZXJnZUNvbmZpZygpDQoNCiAgICAgIGNhbGNmbHlsaW5lUG9pbnRzKCkNCg0KICAgICAgY2FsY0xpbmVQYXRocygpDQoNCiAgICAgIGNvbnN0IHsgY2FsY0xpbmVMZW5ndGhzIH0gPSB0aGlzDQoNCiAgICAgIGF3YWl0IGNhbGNMaW5lTGVuZ3RocygpDQogICAgfSwNCiAgICBtZXJnZUNvbmZpZyAoKSB7DQogICAgICBsZXQgeyBjb25maWcsIGRlZmF1bHRDb25maWcgfSA9IHRoaXMNCg0KICAgICAgY29uc3QgbWVyZ2VkQ29uZmlnID0gZGVlcE1lcmdlKGRlZXBDbG9uZShkZWZhdWx0Q29uZmlnLCB0cnVlKSwgY29uZmlnIHx8IHt9KQ0KDQogICAgICBjb25zdCB7IHBvaW50cywgbGluZXMsIGhhbG8sIHRleHQsIGljb24sIGxpbmUgfSA9IG1lcmdlZENvbmZpZw0KDQogICAgICBtZXJnZWRDb25maWcucG9pbnRzID0gcG9pbnRzLm1hcChpdGVtID0+IHsNCiAgICAgICAgaXRlbS5oYWxvID0gZGVlcE1lcmdlKGRlZXBDbG9uZShoYWxvLCB0cnVlKSwgaXRlbS5oYWxvIHx8IHt9KQ0KICAgICAgICBpdGVtLnRleHQgPSBkZWVwTWVyZ2UoZGVlcENsb25lKHRleHQsIHRydWUpLCBpdGVtLnRleHQgfHwge30pDQogICAgICAgIGl0ZW0uaWNvbiA9IGRlZXBNZXJnZShkZWVwQ2xvbmUoaWNvbiwgdHJ1ZSksIGl0ZW0uaWNvbiB8fCB7fSkNCg0KICAgICAgICByZXR1cm4gaXRlbQ0KICAgICAgfSkNCg0KICAgICAgbWVyZ2VkQ29uZmlnLmxpbmVzID0gbGluZXMubWFwKGl0ZW0gPT4gew0KICAgICAgICByZXR1cm4gZGVlcE1lcmdlKGRlZXBDbG9uZShsaW5lLCB0cnVlKSwgaXRlbSkNCiAgICAgIH0pDQoNCiAgICAgIHRoaXMubWVyZ2VkQ29uZmlnID0gbWVyZ2VkQ29uZmlnDQogICAgfSwNCiAgICBjYWxjZmx5bGluZVBvaW50cyAoKSB7DQogICAgICBjb25zdCB7IG1lcmdlZENvbmZpZywgd2lkdGgsIGhlaWdodCB9ID0gdGhpcw0KDQogICAgICBjb25zdCB7IHJlbGF0aXZlLCBwb2ludHMgfSA9IG1lcmdlZENvbmZpZw0KDQogICAgICB0aGlzLmZseWxpbmVQb2ludHMgPSBwb2ludHMubWFwKChpdGVtLCBpKSA9PiB7DQogICAgICAgIGNvbnN0IHsgY29vcmRpbmF0ZTogW3gsIHldLCBoYWxvLCBpY29uLCB0ZXh0IH0gPSBpdGVtDQoNCiAgICAgICAgaWYgKHJlbGF0aXZlKSBpdGVtLmNvb3JkaW5hdGUgPSBbeCAqIHdpZHRoLCB5ICogaGVpZ2h0XQ0KDQogICAgICAgIGl0ZW0uaGFsby50aW1lID0gcmFuZG9tRXh0ZW5kKC4uLmhhbG8uZHVyYXRpb24pIC8gMTANCg0KICAgICAgICBjb25zdCB7IHdpZHRoOiBpdywgaGVpZ2h0OiBpaCB9ID0gaWNvbg0KICAgICAgICBpdGVtLmljb24ueCA9IGl0ZW0uY29vcmRpbmF0ZVswXSAtIGl3IC8gMg0KICAgICAgICBpdGVtLmljb24ueSA9IGl0ZW0uY29vcmRpbmF0ZVsxXSAtIGloIC8gMg0KDQogICAgICAgIGNvbnN0IFtveCwgb3ldID0gdGV4dC5vZmZzZXQNCiAgICAgICAgaXRlbS50ZXh0LnggPSBpdGVtLmNvb3JkaW5hdGVbMF0gKyBveA0KICAgICAgICBpdGVtLnRleHQueSA9IGl0ZW0uY29vcmRpbmF0ZVsxXSArIG95DQoNCiAgICAgICAgaXRlbS5rZXkgPSBgJHtpdGVtLmNvb3JkaW5hdGUudG9TdHJpbmcoKX0ke2l9YA0KDQogICAgICAgIHJldHVybiBpdGVtDQogICAgICB9KQ0KICAgIH0sDQogICAgY2FsY0xpbmVQYXRocyAoKSB7DQogICAgICBjb25zdCB7IGdldFBhdGgsIG1lcmdlZENvbmZpZyB9ID0gdGhpcw0KDQogICAgICBjb25zdCB7IHBvaW50cywgbGluZXMgfSA9IG1lcmdlZENvbmZpZw0KDQogICAgICB0aGlzLmZseWxpbmVzID0gbGluZXMubWFwKGl0ZW0gPT4gew0KICAgICAgICBjb25zdCB7IHNvdXJjZSwgdGFyZ2V0LCBkdXJhdGlvbiB9ID0gaXRlbQ0KDQogICAgICAgIGNvbnN0IHNvdXJjZVBvaW50ID0gcG9pbnRzLmZpbmQoKHsgbmFtZSB9KSA9PiBuYW1lID09PSBzb3VyY2UpLmNvb3JkaW5hdGUNCiAgICAgICAgY29uc3QgdGFyZ2V0UG9pbnQgPSBwb2ludHMuZmluZCgoeyBuYW1lIH0pID0+IG5hbWUgPT09IHRhcmdldCkuY29vcmRpbmF0ZQ0KDQogICAgICAgIGNvbnN0IHBhdGggPSBnZXRQYXRoKHNvdXJjZVBvaW50LCB0YXJnZXRQb2ludCkubWFwKGl0ZW0gPT4gaXRlbS5tYXAodiA9PiBwYXJzZUZsb2F0KHYudG9GaXhlZCgxMCkpKSkNCiAgICAgICAgY29uc3QgZCA9IGBNJHtwYXRoWzBdLnRvU3RyaW5nKCl9IFEke3BhdGhbMV0udG9TdHJpbmcoKX0gJHtwYXRoWzJdLnRvU3RyaW5nKCl9YA0KICAgICAgICBjb25zdCBrZXkgPSBgcGF0aCR7cGF0aC50b1N0cmluZygpfWANCiAgICAgICAgY29uc3QgdGltZSA9IHJhbmRvbUV4dGVuZCguLi5kdXJhdGlvbikgLyAxMA0KDQogICAgICAgIHJldHVybiB7IC4uLml0ZW0sIHBhdGgsIGtleSwgZCwgdGltZSB9DQogICAgICB9KQ0KICAgIH0sDQogICAgZ2V0UGF0aCAoc3RhcnQsIGVuZCkgew0KICAgICAgY29uc3QgeyBnZXRDb250cm9sUG9pbnQgfSA9IHRoaXMNCg0KICAgICAgY29uc3QgY29udHJvbFBvaW50ID0gZ2V0Q29udHJvbFBvaW50KHN0YXJ0LCBlbmQpDQoNCiAgICAgIHJldHVybiBbc3RhcnQsIGNvbnRyb2xQb2ludCwgZW5kXQ0KICAgIH0sDQogICAgZ2V0Q29udHJvbFBvaW50IChbc3gsIHN5XSwgW2V4LCBleV0pIHsNCiAgICAgIGNvbnN0IHsgZ2V0S0xpbmVQb2ludEJ5eCwgbWVyZ2VkQ29uZmlnIH0gPSB0aGlzDQoNCiAgICAgIGNvbnN0IHsgY3VydmF0dXJlLCBrIH0gPSBtZXJnZWRDb25maWcNCg0KICAgICAgY29uc3QgW214LCBteV0gPSBbKHN4ICsgZXgpIC8gMiwgKHN5ICsgZXkpIC8gMl0NCg0KICAgICAgY29uc3QgZGlzdGFuY2UgPSBnZXRQb2ludERpc3RhbmNlKFtzeCwgc3ldLCBbZXgsIGV5XSkNCg0KICAgICAgY29uc3QgdGFyZ2V0TGVuZ3RoID0gZGlzdGFuY2UgLyBjdXJ2YXR1cmUNCiAgICAgIGNvbnN0IGRpc0RpdmVkID0gdGFyZ2V0TGVuZ3RoIC8gMg0KDQogICAgICBsZXQgW2R4LCBkeV0gPSBbbXgsIG15XQ0KDQogICAgICBkbyB7DQogICAgICAgIGR4ICs9IGRpc0RpdmVkDQogICAgICAgIGR5ID0gZ2V0S0xpbmVQb2ludEJ5eChrLCBbbXgsIG15XSwgZHgpWzFdDQogICAgICB9IHdoaWxlIChnZXRQb2ludERpc3RhbmNlKFtteCwgbXldLCBbZHgsIGR5XSkgPCB0YXJnZXRMZW5ndGgpDQoNCiAgICAgIHJldHVybiBbZHgsIGR5XQ0KICAgIH0sDQogICAgZ2V0S0xpbmVQb2ludEJ5eCAoaywgW2x4LCBseV0sIHgpIHsNCiAgICAgIGNvbnN0IHkgPSBseSAtIGsgKiBseCArIGsgKiB4DQoNCiAgICAgIHJldHVybiBbeCwgeV0NCiAgICB9LA0KICAgIGFzeW5jIGNhbGNMaW5lTGVuZ3RocyAoKSB7DQogICAgICBjb25zdCB7ICRuZXh0VGljaywgZmx5bGluZXMsICRyZWZzIH0gPSB0aGlzDQoNCiAgICAgIGF3YWl0ICRuZXh0VGljaygpDQoNCiAgICAgIHRoaXMuZmx5bGluZUxlbmd0aHMgPSBmbHlsaW5lcy5tYXAoKHsga2V5IH0pID0+ICRyZWZzW2tleV1bMF0uZ2V0VG90YWxMZW5ndGgoKSkNCiAgICB9LA0KICAgIGNvbnNvbGVDbGlja1BvcyAoeyBvZmZzZXRYLCBvZmZzZXRZIH0pIHsNCiAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCwgZGV2IH0gPSB0aGlzDQoNCiAgICAgIGlmICghZGV2KSByZXR1cm4NCg0KICAgICAgY29uc3QgcmVsYXRpdmVYID0gKG9mZnNldFggLyB3aWR0aCkudG9GaXhlZCgyKQ0KICAgICAgY29uc3QgcmVsYXRpdmVZID0gKG9mZnNldFkgLyBoZWlnaHQpLnRvRml4ZWQoMikNCg0KICAgICAgY29uc29sZS53YXJuKGBkdi1mbHlsaW5lLWNoYXJ0LWVuaGFuY2VkIERFVjogXG4gQ2xpY2sgUG9zaXRpb24gaXMgWyR7b2Zmc2V0WH0sICR7b2Zmc2V0WX1dIFxuIFJlbGF0aXZlIFBvc2l0aW9uIGlzIFske3JlbGF0aXZlWH0sICR7cmVsYXRpdmVZfV1gKQ0KICAgIH0NCiAgfQ0KfQ0K"},{"version":3,"sources":["main.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyJA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA","file":"main.vue","sourceRoot":"node_modules/@jiaminghi/data-view/lib/components/flylineChartEnhanced/src","sourcesContent":["<template>\r\n <div\r\n class=\"dv-flyline-chart-enhanced\"\r\n :style=\"`background-image: url(${mergedConfig ? mergedConfig.bgImgSrc : ''})`\"\r\n :ref=\"ref\"\r\n @click=\"consoleClickPos\"\r\n >\r\n <svg v-if=\"flylines.length\" :width=\"width\" :height=\"height\">\r\n <defs>\r\n <radialGradient\r\n :id=\"flylineGradientId\"\r\n cx=\"50%\" cy=\"50%\" r=\"50%\"\r\n >\r\n <stop\r\n offset=\"0%\" stop-color=\"#fff\"\r\n stop-opacity=\"1\"\r\n />\r\n <stop\r\n offset=\"100%\" stop-color=\"#fff\"\r\n stop-opacity=\"0\"\r\n />\r\n </radialGradient>\r\n\r\n <radialGradient\r\n :id=\"haloGradientId\"\r\n cx=\"50%\" cy=\"50%\" r=\"50%\"\r\n >\r\n <stop\r\n offset=\"0%\" stop-color=\"#fff\"\r\n stop-opacity=\"0\"\r\n />\r\n <stop\r\n offset=\"100%\" stop-color=\"#fff\"\r\n stop-opacity=\"1\"\r\n />\r\n </radialGradient>\r\n </defs>\r\n\r\n <!-- points -->\r\n <g v-for=\"point in flylinePoints\" :key=\"point.key + Math.random()\">\r\n <defs>\r\n <circle\r\n v-if=\"point.halo.show\"\r\n :id=\"`halo${unique}${point.key}`\"\r\n :cx=\"point.coordinate[0]\"\r\n :cy=\"point.coordinate[1]\"\r\n >\r\n <animate\r\n attributeName=\"r\"\r\n :values=\"`1;${point.halo.radius}`\"\r\n :dur=\"`${point.halo.time}s`\"\r\n repeatCount=\"indefinite\"\r\n />\r\n <animate\r\n attributeName=\"opacity\"\r\n values=\"1;0\"\r\n :dur=\"`${point.halo.time}s`\"\r\n repeatCount=\"indefinite\"\r\n />\r\n </circle>\r\n </defs>\r\n\r\n <!-- halo gradient mask -->\r\n <mask :id=\"`mask${unique}${point.key}`\">\r\n <use\r\n v-if=\"point.halo.show\"\r\n :xlink:href=\"`#halo${unique}${point.key}`\"\r\n :fill=\"`url(#${haloGradientId})`\"\r\n />\r\n </mask>\r\n\r\n <!-- point halo -->\r\n <use\r\n v-if=\"point.halo.show\"\r\n :xlink:href=\"`#halo${unique}${point.key}`\"\r\n :fill=\"point.halo.color\"\r\n :mask=\"`url(#mask${unique}${point.key})`\"\r\n />\r\n\r\n <!-- point icon -->\r\n <image\r\n v-if=\"point.icon.show\"\r\n :xlink:href=\"point.icon.src\"\r\n :width=\"point.icon.width\"\r\n :height=\"point.icon.height\"\r\n :x=\"point.icon.x\"\r\n :y=\"point.icon.y\"\r\n />\r\n\r\n <!-- point text -->\r\n <text\r\n v-if=\"point.text.show\"\r\n :style=\"`fontSize:${point.text.fontSize}px;color:${point.text.color}`\"\r\n :fill=\"point.text.color\"\r\n :x=\"point.text.x\"\r\n :y=\"point.text.y\"\r\n >\r\n {{ point.name }}\r\n </text>\r\n </g>\r\n\r\n <!-- flylines -->\r\n <g v-for=\"(line, i) in flylines\" :key=\"line.key + Math.random()\">\r\n <defs>\r\n <path\r\n :id=\"line.key\"\r\n :ref=\"line.key\"\r\n :d=\"line.d\"\r\n fill=\"transparent\"\r\n />\r\n </defs>\r\n\r\n <!-- orbit line -->\r\n <use\r\n :xlink:href=\"`#${line.key}`\"\r\n :stroke-width=\"line.width\"\r\n :stroke=\"line.orbitColor\"\r\n />\r\n\r\n <!-- fly line gradient mask -->\r\n <mask :id=\"`mask${unique}${line.key}`\">\r\n <circle cx=\"0\" cy=\"0\" :r=\"line.radius\" :fill=\"`url(#${flylineGradientId})`\">\r\n <animateMotion\r\n :dur=\"line.time\"\r\n :path=\"line.d\"\r\n rotate=\"auto\"\r\n repeatCount=\"indefinite\"\r\n />\r\n </circle>\r\n </mask>\r\n\r\n <!-- fly line -->\r\n <use\r\n v-if=\"flylineLengths[i]\"\r\n :xlink:href=\"`#${line.key}`\"\r\n :stroke-width=\"line.width\"\r\n :stroke=\"line.color\"\r\n :mask=\"`url(#mask${unique}${line.key})`\"\r\n >\r\n <animate\r\n attributeName=\"stroke-dasharray\"\r\n :from=\"`0, ${flylineLengths[i]}`\"\r\n :to=\"`${flylineLengths[i]}, 0`\"\r\n :dur=\"line.time\"\r\n repeatCount=\"indefinite\"\r\n />\r\n </use>\r\n </g>\r\n </svg>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { deepMerge } from '@jiaminghi/charts/lib/util/index'\r\n\r\nimport { deepClone } from '@jiaminghi/c-render/lib/plugin/util'\r\n\r\nimport { randomExtend, getPointDistance } from '../../../util/index'\r\n\r\nimport autoResize from '../../../mixin/autoResize'\r\n\r\nexport default {\r\n name: 'DvFlylineChartEnhanced',\r\n mixins: [autoResize],\r\n props: {\r\n config: {\r\n type: Object,\r\n default: () => ({})\r\n },\r\n dev: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n data () {\r\n const timestamp = Date.now()\r\n return {\r\n ref: 'dv-flyline-chart-enhanced',\r\n unique: Math.random(),\r\n flylineGradientId: `flyline-gradient-id-${timestamp}`,\r\n haloGradientId: `halo-gradient-id-${timestamp}`,\r\n /**\r\n * @description Type Declaration\r\n * \r\n * interface Halo {\r\n * show?: boolean\r\n * duration?: [number, number]\r\n * color?: string\r\n * radius?: number\r\n * }\r\n * \r\n * interface Text {\r\n * show?: boolean\r\n * offset?: [number, number]\r\n * color?: string\r\n * fontSize?: number\r\n * }\r\n * \r\n * interface Icon {\r\n * show?: boolean\r\n * src?: string\r\n * width?: number\r\n * height?: number\r\n * }\r\n * \r\n * interface Point {\r\n * name: string\r\n * coordinate: [number, number]\r\n * halo?: Halo\r\n * text?: Text\r\n * icon?: Icon\r\n * }\r\n * \r\n * interface Line {\r\n * width?: number\r\n * color?: string\r\n * orbitColor?: string\r\n * duration?: [number, number]\r\n * radius?: string\r\n * }\r\n * \r\n * interface Flyline extends Line {\r\n * source: string\r\n * target: string\r\n * }\r\n * \r\n * interface FlylineWithPath extends Flyline {\r\n * d: string\r\n * path: [[number, number], [number, number], [number, number]]\r\n * key: string\r\n * }\r\n */\r\n defaultConfig: {\r\n /**\r\n * @description Flyline chart points\r\n * @type {Point[]}\r\n * @default points = []\r\n */\r\n points: [],\r\n /**\r\n * @description Lines\r\n * @type {Flyline[]}\r\n * @default lines = []\r\n */\r\n lines: [],\r\n /**\r\n * @description Global halo configuration\r\n * @type {Halo}\r\n */\r\n halo: {\r\n /**\r\n * @description Whether to show halo\r\n * @type {Boolean}\r\n * @default show = false\r\n */\r\n show: false,\r\n /**\r\n * @description Halo animation duration (1s = 10)\r\n * @type {[number, number]}\r\n */\r\n duration: [20, 30],\r\n /**\r\n * @description Halo color\r\n * @type {String}\r\n * @default color = '#fb7293'\r\n */\r\n color: '#fb7293',\r\n /**\r\n * @description Halo radius\r\n * @type {Number}\r\n * @default radius = 120\r\n */\r\n radius: 120\r\n },\r\n /**\r\n * @description Global text configuration\r\n * @type {Text}\r\n */\r\n text: {\r\n /**\r\n * @description Whether to show text\r\n * @type {Boolean}\r\n * @default show = false\r\n */\r\n show: false,\r\n /**\r\n * @description Text offset\r\n * @type {[number, number]}\r\n * @default offset = [0, 15]\r\n */\r\n offset: [0, 15],\r\n /**\r\n * @description Text color\r\n * @type {String}\r\n * @default color = '#ffdb5c'\r\n */\r\n color: '#ffdb5c',\r\n /**\r\n * @description Text font size\r\n * @type {Number}\r\n * @default fontSize = 12\r\n */\r\n fontSize: 12\r\n },\r\n /**\r\n * @description Global icon configuration\r\n * @type {Icon}\r\n */\r\n icon: {\r\n /**\r\n * @description Whether to show icon\r\n * @type {Boolean}\r\n * @default show = false\r\n */\r\n show: false,\r\n /**\r\n * @description Icon src\r\n * @type {String}\r\n * @default src = ''\r\n */\r\n src: '',\r\n /**\r\n * @description Icon width\r\n * @type {Number}\r\n * @default width = 15\r\n */\r\n width: 15,\r\n /**\r\n * @description Icon height\r\n * @type {Number}\r\n * @default width = 15\r\n */\r\n height: 15\r\n },\r\n /**\r\n * @description Global line configuration\r\n * @type {Line}\r\n */\r\n line: {\r\n /**\r\n * @description Line width\r\n * @type {Number}\r\n * @default width = 1\r\n */\r\n width: 1,\r\n /**\r\n * @description Flyline color\r\n * @type {String}\r\n * @default color = '#ffde93'\r\n */\r\n color: '#ffde93',\r\n /**\r\n * @description Orbit color\r\n * @type {String}\r\n * @default orbitColor = 'rgba(103, 224, 227, .2)'\r\n */\r\n orbitColor: 'rgba(103, 224, 227, .2)',\r\n /**\r\n * @description Flyline animation duration\r\n * @type {[number, number]}\r\n * @default duration = [20, 30]\r\n */\r\n duration: [20, 30],\r\n /**\r\n * @description Flyline radius\r\n * @type {Number}\r\n * @default radius = 100\r\n */\r\n radius: 100\r\n },\r\n /**\r\n * @description Back ground image url\r\n * @type {String}\r\n * @default bgImgSrc = ''\r\n */\r\n bgImgSrc: '',\r\n /**\r\n * @description K value\r\n * @type {Number}\r\n * @default k = -0.5\r\n * @example k = -1 ~ 1\r\n */\r\n k: -0.5,\r\n /**\r\n * @description Flyline curvature\r\n * @type {Number}\r\n * @default curvature = 5\r\n */\r\n curvature: 5,\r\n /**\r\n * @description Relative points position\r\n * @type {Boolean}\r\n * @default relative = true\r\n */\r\n relative: true\r\n },\r\n /**\r\n * @description Fly line data\r\n * @type {FlylineWithPath[]}\r\n * @default flylines = []\r\n */\r\n flylines: [],\r\n /**\r\n * @description Fly line lengths\r\n * @type {Number[]}\r\n * @default flylineLengths = []\r\n */\r\n flylineLengths: [],\r\n /**\r\n * @description Fly line points\r\n * @default flylinePoints = []\r\n */\r\n flylinePoints: [],\r\n\r\n mergedConfig: null\r\n }\r\n },\r\n watch: {\r\n config () {\r\n const { calcData } = this\r\n\r\n calcData()\r\n }\r\n },\r\n methods: {\r\n afterAutoResizeMixinInit () {\r\n const { calcData } = this\r\n\r\n calcData()\r\n },\r\n onResize () {\r\n const { calcData } = this\r\n\r\n calcData()\r\n },\r\n async calcData () {\r\n const { mergeConfig, calcflylinePoints, calcLinePaths } = this\r\n\r\n mergeConfig()\r\n\r\n calcflylinePoints()\r\n\r\n calcLinePaths()\r\n\r\n const { calcLineLengths } = this\r\n\r\n await calcLineLengths()\r\n },\r\n mergeConfig () {\r\n let { config, defaultConfig } = this\r\n\r\n const mergedConfig = deepMerge(deepClone(defaultConfig, true), config || {})\r\n\r\n const { points, lines, halo, text, icon, line } = mergedConfig\r\n\r\n mergedConfig.points = points.map(item => {\r\n item.halo = deepMerge(deepClone(halo, true), item.halo || {})\r\n item.text = deepMerge(deepClone(text, true), item.text || {})\r\n item.icon = deepMerge(deepClone(icon, true), item.icon || {})\r\n\r\n return item\r\n })\r\n\r\n mergedConfig.lines = lines.map(item => {\r\n return deepMerge(deepClone(line, true), item)\r\n })\r\n\r\n this.mergedConfig = mergedConfig\r\n },\r\n calcflylinePoints () {\r\n const { mergedConfig, width, height } = this\r\n\r\n const { relative, points } = mergedConfig\r\n\r\n this.flylinePoints = points.map((item, i) => {\r\n const { coordinate: [x, y], halo, icon, text } = item\r\n\r\n if (relative) item.coordinate = [x * width, y * height]\r\n\r\n item.halo.time = randomExtend(...halo.duration) / 10\r\n\r\n const { width: iw, height: ih } = icon\r\n item.icon.x = item.coordinate[0] - iw / 2\r\n item.icon.y = item.coordinate[1] - ih / 2\r\n\r\n const [ox, oy] = text.offset\r\n item.text.x = item.coordinate[0] + ox\r\n item.text.y = item.coordinate[1] + oy\r\n\r\n item.key = `${item.coordinate.toString()}${i}`\r\n\r\n return item\r\n })\r\n },\r\n calcLinePaths () {\r\n const { getPath, mergedConfig } = this\r\n\r\n const { points, lines } = mergedConfig\r\n\r\n this.flylines = lines.map(item => {\r\n const { source, target, duration } = item\r\n\r\n const sourcePoint = points.find(({ name }) => name === source).coordinate\r\n const targetPoint = points.find(({ name }) => name === target).coordinate\r\n\r\n const path = getPath(sourcePoint, targetPoint).map(item => item.map(v => parseFloat(v.toFixed(10))))\r\n const d = `M${path[0].toString()} Q${path[1].toString()} ${path[2].toString()}`\r\n const key = `path${path.toString()}`\r\n const time = randomExtend(...duration) / 10\r\n\r\n return { ...item, path, key, d, time }\r\n })\r\n },\r\n getPath (start, end) {\r\n const { getControlPoint } = this\r\n\r\n const controlPoint = getControlPoint(start, end)\r\n\r\n return [start, controlPoint, end]\r\n },\r\n getControlPoint ([sx, sy], [ex, ey]) {\r\n const { getKLinePointByx, mergedConfig } = this\r\n\r\n const { curvature, k } = mergedConfig\r\n\r\n const [mx, my] = [(sx + ex) / 2, (sy + ey) / 2]\r\n\r\n const distance = getPointDistance([sx, sy], [ex, ey])\r\n\r\n const targetLength = distance / curvature\r\n const disDived = targetLength / 2\r\n\r\n let [dx, dy] = [mx, my]\r\n\r\n do {\r\n dx += disDived\r\n dy = getKLinePointByx(k, [mx, my], dx)[1]\r\n } while (getPointDistance([mx, my], [dx, dy]) < targetLength)\r\n\r\n return [dx, dy]\r\n },\r\n getKLinePointByx (k, [lx, ly], x) {\r\n const y = ly - k * lx + k * x\r\n\r\n return [x, y]\r\n },\r\n async calcLineLengths () {\r\n const { $nextTick, flylines, $refs } = this\r\n\r\n await $nextTick()\r\n\r\n this.flylineLengths = flylines.map(({ key }) => $refs[key][0].getTotalLength())\r\n },\r\n consoleClickPos ({ offsetX, offsetY }) {\r\n const { width, height, dev } = this\r\n\r\n if (!dev) return\r\n\r\n const relativeX = (offsetX / width).toFixed(2)\r\n const relativeY = (offsetY / height).toFixed(2)\r\n\r\n console.warn(`dv-flyline-chart-enhanced DEV: \\n Click Position is [${offsetX}, ${offsetY}] \\n Relative Position is [${relativeX}, ${relativeY}]`)\r\n }\r\n }\r\n}\r\n</script>"]}]}